Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmchdisk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmchdisk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmchdisk	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tschdisk
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmchmgr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmchmgr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmchmgr	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tschmgr
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmcrsnapshot
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmcrsnapshot	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmcrsnapshot	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tscrsnapshot
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmdefragfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmdefragfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmdefragfs	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsdefragfs
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmdelsnapshot
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmdelsnapshot	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmdelsnapshot	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsdelsnapshot
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmdf
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmdf	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmdf	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsdf
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmfsck
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmfsck	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmfsck	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsfsck
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmfsctl
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmfsctl	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmfsctl	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsfsctl
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsdisk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsdisk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsdisk	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tslsdisk
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsfs	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tslsfs
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsmgr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsmgr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsmgr	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tslsmgr
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlspolicy
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlspolicy	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlspolicy	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tslspolicy
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsquota
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsquota	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlsquota	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tslsquota
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlssnapshot
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlssnapshot	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmlssnapshot	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tslssnapshot
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmpmon
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmpmon	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmpmon	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tspmon
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmrestorefs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmrestorefs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmrestorefs	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsressnapshot
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmrestripefs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmrestripefs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmrestripefs	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsrestripefs
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmsnapdir
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmsnapdir	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmsnapdir	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tssnapdir
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmsnaplatest
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmsnaplatest	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/.links/mmsnaplatest	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tssnaplatest
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/gpfs.snap
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/gpfs.snap	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/gpfs.snap	(revision 16)
@@ -0,0 +1,2651 @@
+#!/bin/ksh
+################################################################################
+#
+# Module:  gpfs.snap
+#
+# Description:
+#   This script attempts to collect all of the data likely to be needed
+#   when reporting a GPFS-related problem.
+#
+# Syntax:
+#   gpfs.snap [-c "CmdString"] [-d OutputDirectory] [-p] [-x {1 | 2}] [-y | -z]
+#             [-a | -W NodeFilename | -w NodeName[,NodeName...] |
+#              -n NodeNumber[,NodeNumber...]]
+#
+#   -c "CmdString"        Run the command string on the specified nodes.
+#                           If -c "CmdString" is used, the data collected is
+#                           just the data for the specified command string;
+#                           the standard data collected by gpfs.snap is not
+#                           collected.  CmdString may consist of multiple
+#                           commands separated by semi-colons.
+#                           The d, p, x, y, and z flags have no effect when
+#                           -c "CmdString" is specified.
+#   -d OutputDirectory    Directory to be used for output.
+#                           The default is /tmp/gpfs.snapOut
+#   -p     Skip the problem determination sequence (applies to master only).
+#   -x 1   Check whether there is enough space but do not collect data.
+#      2   Collect data only; do not check whether there is enough space.
+#   -y     Collect snaps only from nodes specified.
+#   -z     Collect data only from this node - no "master" data.
+#
+#     Node specification options:
+#   -a               Collect data on all nodes.  This is the default.
+#                      Cannot be specified with -n, -w, or -W.
+#   -n nodeNumList   Collect data on the nodes in the list of node numbers.
+#                      Cannot be specified with -a or -W.
+#   -w nodeList      Collect data on the nodes in the list of node names.
+#                      Cannot be specified with -a or -W.
+#   -W nodeFile      Collect data on the nodes in the file.
+#                      Cannot be specified with -a, -n, or -w.
+#
+# Outputs:
+#   If -d option is specified, this output file will be stored in the
+#     user-specified directory.
+#   If -d option is not specified, the output file will be put in the
+#     /tmp/gpfs.snapOut directory.
+#   When run without the -z flag, snaps from the nodes will all be collected
+#   into a tar file named all.xxxxx.tar, where xxxxx is a timestamp.
+#   Otherwise, the file name will be gpfs.snap.node_number.xxxxxxxx.out.tar.Z
+#   (a compressed file), where xxxxxxxx is the timestamp for the time the
+#   script was run.
+#
+#   The file contains output from the following commands:
+#
+#   lsdev -C                                  ALWAYS for AIX
+#   lspv                                      ALWAYS for AIX
+#   lsattr -El for all physical disks         ALWAYS for AIX
+#   lsvg -o, lsvg -l, lsvg, ls -l /dev/VGs    ALWAYS for AIX
+#   lsfs                                      ALWAYS for AIX
+#
+# Files
+#   /etc/fstab (Linux)
+#   /etc/filesystems (AIX)
+#   /var/adm/ras/mmfs.log.*
+#   /var/mmfs/etc/*
+#   /var/mmfs/gen/*
+#   /var/mmfs/ssl/*
+#   /var/mmfs/tmp/*
+#
+# Miscellaneous commands
+#   ps -edf      ALWAYS
+#   errpt -a     ALWAYS
+#   df -k        ALWAYS
+#   lslpp -ha    ALWAYS
+#   lssrc -a     ALWAYS
+#   vmstat 5 5   ALWAYS
+#   vmstat -s    ALWAYS
+#
+# Network stuff (ALWAYS)
+#   echo $NSorder
+#   no -a
+#   netstat -m
+#   netstat -i -n
+#   netstat -rn
+#   netstat -D
+#   entstat en*
+#   tokstat tr*
+#   ifconfig (on all adapters in hats groups)
+#
+# Dependencies:
+#   The script must be run as root and requires rsh access to remote nodes.
+#
+################################################################################
+#"@(#)44   1.31.1.4   src/avs/fs/mmfs/ts/admin/gpfs.snap.sh, mmfs, avs_rgpfs24, rgpfs24s012a 4/2/07 01:34:01"
+
+starttime=$(date)
+VERSION=1.31.1.4
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="gpfs.snap.sh"
+[[ -n $DEBUGgpfssnap ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Global variables
+
+mmlsmgr=/usr/lpp/mmfs/bin/mmlsmgr
+outputDelimiter="######################################################################"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+trcFile=${tmpDir}trcFile.${mmcmd}.$$        # file replacement for trclist
+newrcFile=${tmpDir}newrcFile.${mmcmd}.$$    # file replacement for newrclist
+commaFile=${tmpDir}commaFile.${mmcmd}.$$    # file equivalent of commalist
+nodefilecFile=${tmpDir}nodefilecFile.${mmcmd}.$$  # file replacement for nodefileclist
+nodefile2=${tmpDir}nodefile2.${mmcmd}.$$    # file of reachable specified nodes
+
+LOCAL_FILES=" $trcFile $newrcFile $commaFile $nodefilecFile $nodefile2 "
+
+
+# Local functions
+
+
+function removefromlist
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGremovefromlist ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  llist=$($cat $nodefile)
+
+  $rm ${nodefile}.tmp 2>/dev/null
+  $touch ${nodefile}.tmp
+
+  k=0
+  for i in $llist
+  do
+    gotit=-1
+    for j in $1
+    do
+      if [[ $i = $j ]]
+      then
+        gotit=$k
+        break
+      fi
+    done
+    if [[ $gotit = -1 ]]
+    then
+      echo $i >> ${nodefile}.tmp
+    else
+      l=$gotit
+      ddone=0
+      while [[ $ddone = 0 ]]
+      do
+        (( m = l + 1 ))
+        if [[ -n ${hostarray[$m]} ]]
+        then
+          hostarray[$l]=${hostarray[$m]}
+          (( l = l + 1 ))
+        else
+          unset hostarray[$l]
+          ddone=1
+        fi
+      done
+    fi
+    (( k = k + 1 ))
+  done
+
+  $mv ${nodefile}.tmp ${nodefile}
+
+}  #----- end of function removefromlist -----------------------
+
+
+function checklist
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGchecklist ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  $rm $nodefile2 $tmpfile 2>/dev/null
+  $touch $nodefile2 $tmpfile
+  list=$($cat $nodefile)
+  $rm /tmp/hostfile 2>/dev/null
+  for i in $list
+  do
+    if [[ $i = $myhname ]]
+    then
+      continue
+    fi
+    bad=0
+    $ping -c1 -w5 $i >/dev/null 2>/tmp/err
+    if [[ $? = 0 ]]
+    then
+      $mmdsh -L $i K5MUTE=1 /bin/hostname >/tmp/hostname 2>/tmp/err &
+      waitforit
+      if [[ -s /tmp/hostname ]]
+      then
+        echo $i >> $tmpfile
+        thostname=$($cat /tmp/hostname | $awk '{print $2}')
+        if [[ $thostname = $myhname ]]
+        then
+          continue
+        fi
+        echo $i >> $nodefile2
+        $cat /tmp/hostname | $awk '{print $2}' >>/tmp/hostfile
+      else
+        bad="mmdsh"
+      fi
+    else
+      bad="ping"
+    fi
+    if [[ $bad != 0 ]]
+    then
+      [[ -z $cflag ]] &&  \
+        print "\nCannot collect data from $i.  $bad failed:" | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+      $cat /tmp/err | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+      already_failed="$already_failed $i"
+    fi
+  done
+  $rm /tmp/err 2>/dev/null
+
+  # Create two node files.
+  # $nodefile contains all of the reachable nodes except the master node.
+  # $nodefile2 contains all of the reachable nodes.
+  $mv $nodefile2 $nodefile 2>/dev/null
+  $mv $tmpfile $nodefile2  2>/dev/null
+  hlist=$($cat /tmp/hostfile 2>/dev/null)
+  set -f ; set -A hostarray $hlist ; set +f
+
+}  #----- end of function checklist ----------------------------
+
+
+function addtolist
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGaddtolist ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  list=$($cat $nodefile)
+  hlist=$($cat /tmp/hostfile 2>/dev/null)
+
+  j=0
+  for i in $1
+  do
+    if [[ $i = $myhname ]]
+    then
+      continue
+    fi
+    gotit=0
+    for j in $list
+    do
+      if [[ $i = $j ]]
+      then
+        gotit=1
+        break
+      fi
+    done
+    bad=0
+    if [[ $gotit != 1 ]]
+    then
+      already_got=0
+      for k in $already_failed
+      do
+        if [[ $i = $k ]]
+        then
+          already_got=1
+          break;
+        fi
+      done
+      if [[ $already_got = 1 ]]
+      then
+        continue
+      fi
+      $ping -c1 -w5 $i >/dev/null 2>/tmp/err
+      if [[ $? = 0 ]]
+      then
+        $mmdsh -L $i K5MUTE=1 /bin/hostname >/tmp/hostname 2>/tmp/err &
+        waitforit
+        if [[ -s /tmp/hostname ]]
+        then
+          gotit=0
+          j=0
+          hname=$($cat /tmp/hostname | $awk '{print $2}')
+          if [[ $hname = $myhname ]]
+          then
+            continue
+          fi
+          while [[ -n ${hostarray[$j]} ]]
+          do
+            if [[ $hname = ${hostarray[$j]} ]]
+            then
+              gotit=1
+              break
+            fi
+            (( j = j + 1 ))
+          done
+          if [[ $gotit = 0 ]]
+          then
+            hostarray[$j]=$hname
+            echo $i >> $nodefile
+          fi
+        else
+          bad="mmdsh"
+        fi
+      else
+        bad="ping"
+      fi
+      if [[ $bad != 0 ]]
+      then
+        print "\nCannot collect data from $i.  $bad failed:" | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+        $cat /tmp/err | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+        already_failed="$already_failed $i"
+      fi
+    fi
+  done
+
+  $rm /tmp/err 2>/dev/null
+
+}  #----- end of function addtolist ----------------------------
+
+
+function check_space
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGcheck_space ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  # The following extraction takes into account that the output
+  # of df is arranged differently under Linux than under AIX.
+  dfOutput=$($df -k $LOGDIR | $tail -n +2)
+  if [[ $os = "AIX" ]]
+  then
+    FREE_SPACE=$(print $dfOutput | $awk '{print $3}')
+  else
+    FREE_SPACE=$(print $dfOutput | $awk '{print $4}')
+  fi
+  FREE_SPACE=$(expr $FREE_SPACE  - 1)
+
+  # Give ourselves a .1 safety margin.
+  (( maxbytes =  max_bytes + max_bytes / 10 ))
+  (( total_bytes =  total_bytes + total_bytes / 10 ))
+
+  if [[ $total_bytes < 1000000 ]]
+  then
+    factor=30
+  else
+    if [[ $total_bytes < 2000000 ]]
+    then
+      factor=25
+    else
+      factor=20
+    fi
+  fi
+
+  # Guess how large the compressed file will be.
+  (( zipped_bytes = total_bytes * factor / 100 ))
+  (( adjusted_bytes = total_bytes + zipped_bytes ))
+  if [[ $adjusted_bytes > $maxbytes ]]
+  then
+    maxbytes=$adjusted_bytes
+  fi
+
+  if [[ $master = 1 && -s $nodefile ]]
+  then
+    (( max_zipped_bytes = zipped_bytes * 2 ))
+    # when we tar our own Z file....
+
+    notenough=$($grep "There is not enough space" $BASELOGDIR/pass1outfile | $cut -f1 -d :)
+    for ii in $notenough
+    do
+      print "Node $ii reports it does not have enough space in ${BASELOGDIR}/${logdate}\nRemoving from list\n" | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+      removefromlist $ii
+      removefromrlist $ii
+    done
+
+    for ii in $rlist
+    do
+      size=$($grep "compressed file" $BASELOGDIR/pass1outfile | $grep $ii | $awk '{print $7}')
+      if [[ -n $size ]]
+      then
+        # zipped_bytes = max at end
+        # tmp_max_zipped bytes is max at any point
+        (( zipped_bytes = zipped_bytes + size ))
+        (( tmp_max_zipped_bytes = zipped_bytes + size ))
+        if [[ $tmp_max_zipped_bytes -gt $max_zipped_bytes ]]
+        then
+          max_zipped_bytes=$tmp_max_zipped_bytes
+        fi
+      fi
+    done
+    for ii in $glist
+    do
+      size=$($grep "requires about" $BASELOGDIR/pass1outfile | $grep $ii | $awk '{print $5}')
+      if [[ -n $size ]]
+      then
+        (( zipped_bytes = zipped_bytes + size ))
+        (( tmp_max_zipped_bytes = zipped_bytes + size ))
+        if [[ $tmp_max_zipped_bytes -gt $max_zipped_bytes ]]
+        then
+          max_zipped_bytes=$tmp_max_zipped_bytes
+        fi
+      fi
+    done
+
+    if [[ "$max_zipped_bytes" -gt "$maxbytes" ]]
+    then
+      maxbytes=$max_zipped_bytes
+    fi
+  else
+    print "compressed file will be about $zipped_bytes bytes"
+  fi
+
+  total_block=$(expr $maxbytes / 1024)
+
+  echo "gpfs.snap requires about $maxbytes bytes" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+  if [[ "$total_block" -gt "$FREE_SPACE" ]]
+  then
+    echo "gpfs.snap requires about $maxbytes bytes" >> ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+    echo "There is not enough space in ${BASELOGDIR}.  Either increase\nthe filesystem size or choose a different filesystem with the -d option." | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+    $rm -r ${LOGDIR} 2>/dev/null
+    if [[ $master = 1 ]]
+    then
+      $rm -r $NODESDIR 2>/dev/null
+    fi
+    exit 1
+  fi
+
+  $rm $BASELOGDIR/pass1outfile 2>/dev/null
+
+}  #----- end of function check_space --------------------------
+
+
+function check_waiters2
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGcheck_waiters2 ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  $mkdir -p ${LOGDIR}/waiters 2>/dev/null
+
+  firstone=1
+
+  if [[ $pass = 1 ]]
+  then
+    cp ${BASELOGDIR}/*_waiters ${LOGDIR}/waiters 2>/dev/null
+    if [[ -n $aflag ]]
+    then
+      if [[ -s $rcFile ]]
+      then
+        $mmdsh -F $rcFile K5MUTE=1 $rcp ${BASELOGDIR}/\*_waiters $my_hostname:${LOGDIR}/waiters &
+        waitforit NULL 60
+        $mmdsh -F $rcFile K5MUTE=1 rm -f ${BASELOGDIR}/\*_waiters &
+        waitforit NULL 60
+      fi
+    else
+      if [[ -s $brcFile ]]
+      then
+        $mmdsh -F $brcFile K5MUTE=1 $rcp ${BASELOGDIR}/\*_waiters $my_hostname:${LOGDIR}/waiters &
+        waitforit NULL 60
+        $mmdsh -F $brcFile K5MUTE=1 rm -f ${BASELOGDIR}/\*_waiters &
+        waitforit NULL 60
+      fi
+    fi  # end of if [[ -n $aflag ]]
+    size=$(du -ks ${LOGDIR}/waiters | $cut -f1)
+    if [[ -n $size ]]
+    then
+      addit $size ${LOGDIR}/waiters
+    fi
+  else
+    list=$($ls ${LOGDIR}/waiters)
+    for i in $list
+    do
+      if [[ -s ${LOGDIR}/waiters/${i} ]]
+      then
+        tarit waiters/${i}
+      fi
+    done
+  fi  # end of if [[ $pass = 1 ]]
+
+}  #----- end of function check_waiters2 -----------------------
+
+
+function check_files2
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGcheck_files2 ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  dirlist=$($ls -d ${LOGDIR}/bad.*.files 2>/dev/null)
+
+  for i in $dirlist
+  do
+    if [[ $pass = 1 ]]
+    then
+      size=$(du -ks $i | $cut -f1)
+      addit $size $i
+    else
+      basedir=$(basename $i)
+      filelist=$($ls $i)
+      for j in $filelist
+      do
+        tarit $basedir/$j
+      done
+    fi
+  done
+
+}  #----- end of function check_files2 -------------------------
+
+
+function check_files
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGcheck_files ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  name=$(basename $1)
+
+  if [[ ! -s $2 ]]
+  then
+    return
+  fi
+
+  $mmdsh -F $2 K5MUTE=1 sum $1 > $name.outfile &
+  waitforit NULL 60
+  diffs=$($sort -uk 2,2 $name.outfile | $wc -l)
+  diffs=${diffs##*( )}
+  if [[ $diffs -gt 1 ]]
+  then
+    list=$($sort -uk 2,2 $name.outfile | $awk '{print $2}')
+    most=0
+    for i in $list
+    do
+      num=$($grep $i $name.outfile | $wc -l)
+      if [[ $num -gt $most ]]
+      then
+        mostsum=$i
+        most=$num
+      fi
+    done
+    if [[ $base = mmsdrfs ]]
+    then
+      sdrfssum="$sdrfssum $mostsum"
+    fi
+    $mkdir ${LOGDIR}/bad.${name}.files
+    badlist=$($grep -v $mostsum $name.outfile | $cut -f1 -d :)
+    goodlist=$($grep $mostsum $name.outfile | $cut -f1 -d :)
+    echo $goodlist | $grep $my_hostname >/dev/null
+    if [[ $? = 0 ]]
+    then
+      cp $1 ${LOGDIR}/bad.${name}.files/${name}.$my_hostname.good
+    else
+      goodnode=$(echo $goodlist | $awk '{print $1}')
+      $mmdsh -L $goodnode K5MUTE=1 $rcp $1 $my_hostname:${LOGDIR}/bad.${name}.files/${name}.${goodnode}.good &
+      waitforit NULL 60
+    fi
+    if [[ -n $3 ]]
+    then
+      print "\nThe following nodes $name files are different and are in the minority in $groupname $3" | $tee -a ${BASELOGDIR}/problem.${my_hostname}
+    else
+      print "\nThe following nodes $name files are different and are in the minority" | $tee -a ${BASELOGDIR}/problem.${my_hostname}
+    fi
+    echo "$badlist\n" | $tee -a ${BASELOGDIR}/problem.${my_hostname}
+    for i in $badlist
+    do
+      $mmdsh -L $i K5MUTE=1 $rcp $1 $my_hostname:${LOGDIR}/bad.${name}.files/${name}.$i.bad &
+      waitforit NULL 60
+    done
+  else
+    if [[ $name = mmsdrfs ]]
+    then
+      tsum=$($cat $name.outfile | $head -1 | $cut -f1 -d " ")
+      sdrfssum="$sdrfssum $tsum"
+    fi
+  fi  # end of if [[ $diffs -gt 1 ]]
+
+  $rm $name.outfile 2>/dev/null
+
+}  #----- end of function check_files --------------------------
+
+
+function check_waiters
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGcheck_waiters ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  # Check this cluster.
+  firstone=1
+
+  $mmdsh -F $nodefile2 "K5MUTE=1 mkdir ${BASELOGDIR} 2>/dev/null; K5MUTE=1 $mmfsadm dump waiters > ${BASELOGDIR}/$(hostname -s)_waiters" &
+  waitforit NULL 60
+  $mmdsh -F $nodefile2 "K5MUTE=1 $mmfsadm dump waiters | grep -v '===== dump waiters ====='" > longwaiters 2>/dev/null &
+  waitforit NULL 60
+
+  if [[ -s $brcFile ]]
+  then
+    $mmdsh -F $brcFile "K5MUTE=1 grep tmMsgRevoke ${BASELOGDIR}/$(hostname | cut -d. -f1)_waiters yamo" >> ${BASELOGDIR}/grepped-waiters 2>/dev/null &
+    waitforit NULL 60
+  fi
+
+  if [[ -n $bglist ]]
+  then
+    $mmdsh -L $my_hostname "K5MUTE=1 grep tmMsgRevoke ${BASELOGDIR}/\*_waiters yamo" >> ${BASELOGDIR}/grepped-waiters 2>/dev/null &
+    waitforit NULL 60
+  fi
+
+  if [[ -s ${BASELOGDIR}/grepped-waiters ]]
+  then
+    print "\nThere are waiters for tmMsgRevokes:" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+    if [[ $yflag != 1 ]]
+    then
+      print "Data will be collected from these nodes:" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+    fi
+    newlist=""
+    {
+      while read line
+      do
+        tnode=$(echo $line | $cut -f2 -d :)
+        thisnode=$(basename $tnode | $cut -f1 -d "_")
+        echo $line | $grep "tmMsgRevoke on node" >/dev/null 2>&1
+        if [[ $? = 0 ]]
+        then
+          addr=${line##*tmMsgRevoke on node}
+          print "waiter on $thisnode, tmMsgRevoke from $addr" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+          echo $newlist | $grep -w $addr >/dev/null 2>&1
+          if [[ $? != 0 ]]
+          then
+            newlist="$newlist $addr"
+          fi
+        else
+          print "waiter on $thisnode, tmMsgRevoke" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+        fi
+        echo $newlist | $grep -w $thisnode >/dev/null 2>&1
+        if [[ $? != 0 ]]
+        then
+          newlist="$newlist $thisnode"
+        fi
+      done
+      echo "" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+    } < ${BASELOGDIR}/grepped-waiters
+    if [[ $yflag != 1 && -z $aflag ]]
+    then
+      addtolist "$newlist"
+    fi
+  fi  # end of if [[ -s ${BASELOGDIR}/grepped-waiters ]]
+
+  $rm ${BASELOGDIR}/grepped-waiters 2>/dev/null
+
+  if [[ -s longwaiters ]]
+  then
+    $sort -nrk 4,4 longwaiters > ${LOGDIR}/long_waiters.sorted
+    list=$($cat ${LOGDIR}/long_waiters.sorted | $head -5 | $cut -f1 -d ":")
+    if [[ $yflag = 1 ]]
+    then
+      print "There are long waiters.  The 5 longest waiters are on the following nodes:\n$list\n" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+    else
+      print "There are long waiters.  The 5 longest waiters are on the following nodes, which will be added to the list to collect data from\n$list\n" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+      addtolist "$list"
+    fi
+  fi  # end of if [[ -s longwaiters ]]
+
+  $rm longwaiters 2>/dev/null
+
+}  #----- end of function check_waiters ------------------------
+
+
+function check_dumps
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGcheck_dumps ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  filePrefix=$1
+  maxFiles=$2
+  dumpDir=$3
+
+  internal_list=""
+
+  if [[ ! -a $dumpDir ]]
+  then
+    return
+  fi
+
+  savedir=$(pwd)
+  cd $dumpDir
+
+  numfiles=$($ls -ltr $filePrefix.*.* 2>/dev/null | $grep -v shutdown | $wc -l)
+  if [[ $numfiles -eq 0 ]]
+  then
+    cd $savedir
+    return
+  fi
+  if [[ $maxFiles -gt 0 && $numfiles -gt $maxFiles ]]
+  then
+    print "There are $numfiles $filePrefix files in $dumpDir.\nBecause these files are large I am only grabbing the latest $maxFiles.\n" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+  fi
+
+  today=$(date +%j)
+  today=${today##+(0)}
+
+  if [[ $maxFiles -lt 0 ]]
+  then
+    # A negative value indicates "collect them all".
+    $ls -ltr $filePrefix.*.* 2>/dev/null | $grep -v shutdown > $tmpfile
+  else
+    # Collect up to the specified number of files.
+    $ls -ltr $filePrefix.*.* 2>/dev/null | $grep -v shutdown | $tail -n -$maxFiles > $tmpfile
+  fi
+
+  # Create a list of files in global variable $internal_list
+  # that will later be collected after we return to the caller.
+  exec 3<&-
+  exec 3< $tmpfile
+  while read -u3 fileLine
+  do
+    month=$(echo $fileLine | $awk '{print $6}')
+    day=$(echo $fileLine   | $awk '{print $7}')
+    name=$(echo $fileLine  | $awk '{print $9}')
+    days=0
+    i=1
+    while [[ -n ${months[$i]} ]]
+    do
+      if [[ $month = ${months[$i]} ]]
+      then
+        (( days = days + day ))
+        break
+      else
+        (( days = days + ${days[$i]} ))
+        (( i = i + 1 ))
+      fi
+    done  # end of while [[ -n ${months[$i]} ]] do
+
+    if [[ $(( today - days )) -gt 14 ]]
+    then
+      print "File $name is over 2 weeks old so I am not going to collect it."  | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+    else
+      if [[ -z $internal_list ]]
+      then
+        internal_list=$name
+      else
+        internal_list="${internal_list} $name"
+      fi
+    fi  # end of if [[ $(( today - days )) -gt 14 ]]
+  done  # end of while read -u3 fileLine do
+  $rm -f $tmpfile
+
+  cd $savedir
+
+}  #----- end of function check_dumps --------------------------
+
+
+function removefromrlist
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGremovefromrlist ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  for i in $glist
+  do
+    if [[ $i != $1 ]]
+    then
+      newglist="$newglist $i"
+    fi
+  done
+  glist=$newglist
+
+  firstone=1
+  $rm -f $newrcFile
+  for i in $rlist
+  do
+    if [[ $i != $1 ]]
+    then
+      if [[ $firstone = 1 ]]
+      then
+        print -- $i > $newrcFile
+        newrlist="$i"
+        firstone=0
+      else
+        print -- $i >> $newrcFile
+        newrlist="$newrlist $i"
+      fi
+    fi
+  done
+  rlist=$newrlist
+  rcFile=$newrcFile
+
+}  #----- end of function removefromrlist ----------------------
+
+
+function check_fs
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGcheck_fs ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  echo "yamo" > ${BASELOGDIR}/yamo
+  yamosum=$($sum yamo | $cut -f1 -d " ")
+
+  $mmdsh -F $1 "K5MUTE=1 sum ${BASELOGDIR}/yamo 2>/dev/null | awk '{print \$1}'" > rsumfile &
+  waitforit
+
+  firstone=1
+  trlist=""
+  tglist=""
+  $rm -f $trcFile
+
+  g=0
+  h=0
+  for i in $2
+  do
+    thissum=$($grep -E "^$i:" rsumfile | $awk '{print $2}')
+    if [[ $thissum = $yamosum ]]
+    then
+      tglist="$tglist $i"
+      if [[ -n $3 ]]
+      then
+        ghostarray[$g]=${hostarray[$h]}
+        (( g = g + 1 ))
+      fi
+    else
+      if [[ $firstone = 1 ]]
+      then
+        print -- $i > $trcFile
+        trlist=$i
+        firstone=0
+      else
+        print -- $i >> $trcFile
+        trlist="$trlist $i"
+      fi
+    fi
+    (( h = h + 1 ))
+  done
+
+  $rm ${BASELOGDIR}/yamo 2>/dev/null
+  $rm rsumfile 2>/dev/null
+
+}  #----- end of function check_fs -----------------------------
+
+
+function get_files
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGget_files ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  cd $LOGDIR
+
+  if [[ $pass = 1 || $x_arg = 2 ]]
+  then
+    if [[ $master = 1 ]]
+    then
+      ddd=$(date +"%m %e %H %M %y")
+      emon=$(echo $ddd | $awk '{print $1}')
+      eday=$(echo $ddd | $awk '{print $2}')
+      eyr=$(echo $ddd  | $awk '{print $5}')
+      emon=${emon##0}
+      syr=$eyr; smon=$emon;
+      if [[ $eday -gt 14 ]]
+      then
+        (( sday = eday - 14 ))
+      else
+        (( diff = 14 - eday ))
+        if [[ $emon -eq 1 ]]
+        then
+          smon=12
+          (( syr = eyr - 1 ))
+          (( sday = 31 - diff ))
+        else
+          (( smon = smon - 1 ))
+          (( sday = ${days[$smon]} - diff ))
+        fi
+      fi
+    fi
+
+    if [[ $smon = $emon ]]
+    then
+      months=1
+      endday=$eday
+    else
+      months=2
+      endday=${days[$smon]}
+    fi
+
+    curmonth=1
+    cmon=$smon
+    i=${sday##0}
+    while [[ $curmonth -le $months ]]
+    do
+      if [[ $curmonth -eq 2 ]]
+      then
+        i=1
+        endday=$eday
+        cmon=$emon
+      fi
+
+      if [[ $i -lt 10 ]]
+      then
+        e=${endday##0}
+        if [[ $e -lt 10 ]]
+        then
+          ee=$e
+        else
+          ee=9
+        fi
+        if [[ -z $greplist ]]
+        then
+          greplist="${months[$cmon]}  [$i-$ee]"
+          greplistb="^${months[$cmon]} *[$i-$ee] "
+          greplist2="^${cmon}/0[$i-$ee]"
+        else
+          greplist="${greplist}|${months[$cmon]}  [$i-$ee]"
+          greplistb="${greplistb}|^${months[$cmon]} *[$i-$ee] "
+          greplist2="${greplist2}|^${cmon}/0[$i-$ee]"
+        fi
+      fi
+      ii=2
+      while [[ $ii -lt 5 ]]
+      do
+        (( jj = ii * 10 ))
+        (( kk = jj - 11 ))
+        (( ll = jj - 10 ))
+        (( mm = ii - 1 ))
+        if [[ $i -lt $jj && $endday -gt $kk ]]
+        then
+          if [[ $i -gt $kk ]]
+          then
+            (( s = i - ll ))
+          else
+            s=0
+          fi
+
+          (( e = endday - ll ))
+          if [[ $endday -ge $jj ]]
+          then
+            e=9
+          fi
+          if [[ -z $greplist ]]
+          then
+            greplist="${months[$cmon]} ${mm}[$s-$e]"
+            greplistb="^${months[$cmon]} ${mm}[$s-$e]"
+            greplist2="^${cmon}/${mm}[$s-$e]"
+          else
+            greplist="${greplist}|${months[$cmon]} ${mm}[$s-$e]"
+            greplistb="${greplistb}|^${months[$cmon]} ${mm}[$s-$e]"
+            greplist2="${greplist2}|^${cmon}/${mm}[$s-$e]"
+          fi
+        fi
+        (( ii = ii + 1 ))
+      done
+      (( curmonth = curmonth + 1 ))
+    done
+
+    if [[ $master = 1 ]]
+    then
+      if [[ -n $aflag ]]
+      then
+        $mmdsh -L $myhname -F $nodefile K5MUTE=1 "grep -E '$greplist' $rasDir/mmfs.log.[0-9]*" > mmfslogs.unsorted 2>/dev/null
+      else
+        if [[ -s $nodefile2 ]]
+        then
+          $mmdsh -F $nodefile2 K5MUTE=1 "grep -E '$greplist' $rasDir/mmfs.log.[0-9]*" > mmfslogs.unsorted 2>/dev/null
+        fi
+      fi
+      $sort -k3,5 mmfslogs.unsorted > mmfslogs.sorted 2>/dev/null
+
+      $rm mmfslogs.unsorted 2>/dev/null
+
+      if [[ $pass = 1 ]]
+      then
+        size=$($ls -l mmfslogs.sorted | $awk '{print $5}')
+        if [[ $size != 0 ]]
+        then
+          addit $size mmfslogs.sorted
+        fi
+      fi
+    fi
+  fi  # end of if [[ $pass = 1 || $x_arg = 2 ]]
+
+  if [[ $pass = 2  ]]
+  then
+    cd $BASELOGDIR
+    tarit mmfslogs.sorted
+  fi
+
+  cd $LOGDIR
+  $cat $rasDir/mmfs.log.[0-9]* > mmfs.logs.${my_hostname}
+  size=$($ls -l mmfs.logs.${my_hostname} | $awk '{print $5}')
+  if [[ $pass = 1 ]]
+  then
+    addit $size mmfs.logs.${my_hostname}
+    cd $BASELOGDIR
+  else
+    cd $BASELOGDIR
+    tarit mmfs.logs.${my_hostname}
+  fi
+
+}  #----- end of function get_files ----------------------------
+
+
+############################################################################
+#
+# Function:  Get all of the files in a specified directory.
+#
+# Input:     $1 - directory whose files are to be gotten
+#
+# Output:    Pass 1:  Calculate space for the files in the directory.
+#            Pass 2:  Add the files in the directory to the tar file.
+#
+# Returns:   0
+#
+############################################################################
+function get_files_dir  # <dirName>
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGget_files_dir ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset dirName=$1
+  typeset saveDir fileList
+
+  # Generate the list of files to get, but leave out complete.map files.
+  # Then invoke get_files_list() to get the files.
+  saveDir=$(pwd)
+  cd $dirName 2>/dev/null
+  fileList=$($ls -A 2>/dev/null | $grep -v "complete.map")
+  cd $saveDir
+  if [[ -n $fileList ]]
+  then
+    get_files_list "$dirName" "$fileList"
+  fi
+
+  return 0
+
+}  #----- end of function get_files_dir ------------------------
+
+
+############################################################################
+#
+# Function:  Get the files specified by means of a directory and a list.
+#
+# Input:     $1 - directory from which to get files
+#            $2 - list of files to be gotten from the directory
+#            $3 - (optional) name of subdir to use in the tar file
+#
+# Output:    Pass 1:  Calculate space for the specified files.
+#            Pass 2:  Add the specified files to the tar file.
+#
+# Returns:   0
+#
+############################################################################
+function get_files_list  # <dirName> <fileList> [<subdirName>]
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGget_files_list ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset dirName=$1
+  typeset fileList=$2
+  typeset subdirName=$3
+  typeset relDir tmpdir e
+
+  # Based on the value of the subdir and the input directory parameters,
+  # calculate $relDir and $dir and optionally create directory $LOGDIR/$dir.
+  if [[ -n $subdirName ]]
+  then
+    relDir=$subdirName   # use the name specified as an input
+  else
+    relDir=${dirName#/}  # remove the leading / character
+  fi
+  tmpdir=$(echo $relDir | $grep "/")
+  if [[ -n $tmpdir ]]
+  then
+    dir=${relDir%/*}
+    $mkdir -p ${LOGDIR}/$dir 2>/dev/null
+  else
+    dir=$relDir
+  fi
+
+  # Create a symlink to the passed directory.
+  ln -s $dirName ${LOGDIR}/$dir
+
+  # Loop through the list passed as the 2nd parameter
+  # and calculate the space required if this is pass 1
+  # or add the parts to the tar file if this is pass 2.
+  for e in $fileList
+  do
+    if [[ -f $dirName/$e ]]
+    then
+      if [[ $pass = 1 ]]
+      then
+        temp_bytes=$($ls -l $dirName/$e | $awk '{ print $5 }')
+        addit $temp_bytes "$dirName/$e file"
+      else
+        tarit "$relDir/$e" 1
+      fi
+    fi  # end of if [[ -f $dirName/$e ]]
+  done  # end of for e in $fileList do
+
+  # Remove the symlink created earlier.
+  $rm ${LOGDIR}/$relDir 2>/dev/null
+
+}  #----- end of function get_files_list -----------------------
+
+
+function get_always
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGget_always ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  if [[ $os = "AIX" ]]
+  then
+    doit "errpt_a" "/usr/bin/errpt -a"
+    doit "lscfg_vp" "lscfg -vp"
+    doit "lslpp_hac" "/usr/bin/lslpp -hac"
+    doit "lssrc_a" "lssrc -a"
+    doit "no_a" "no -a"
+    if [[ $gotvmstat = 1 ]]
+    then
+      doit "vmstat_s" "vmstat -s"
+    fi
+    conslog=$(lscons)
+    if [[ $conslog != +(/)dev+(/)* && -s $conslog ]]
+    then
+      doit "lscons" "cat $conslog"
+    fi
+
+  else
+    doit "dmesg" "dmesg"
+    doit "fdisk_l" "fdisk -l"
+    doit "lsmod" "lsmod"
+    doit "lspci" "lspci"
+    doit "rpm_qa" "rpm -qa"
+    doit "rpm_verify" "rpm --verify gpfs.base" 1
+    doit "rpm_verify" "rpm --verify gpfs.docs" 1
+    doit "rpm_verify" "rpm --verify gpfs.gpl" 1
+    doit "rpm_verify" "rpm --verify gpfs.msg.en_US"
+    doit "uname_a" "uname -a"
+    doit "proc_cpuinfo" "cat /proc/cpuinfo"
+    doit "proc_version" "cat /proc/version"
+    doit "site_mcr" "cat /usr/lpp/mmfs/src/config/site.mcr"
+    doit "etc_release" "$grep '[a-zA-Z]' /etc/*release"
+
+  fi  # end of if [[ $os = "AIX" ]]
+
+  doit "date" "date"
+  doit "df_k" "df -k"
+  doit "exportfs" "exportfs"
+  doit "gpfs_executables" "$ls -l /usr/lpp/mmfs/bin"
+  doit "ipcs_a" "ipcs -a"
+  doit "ls_dev" "$ls -l /dev"
+  doit "ps_edf" "ps -edf"
+  doit "uptime" "uptime"
+
+  doit "mmdevdiscover" "/usr/lpp/mmfs/bin/mmdevdiscover"
+  doit "tspreparedisk_S" "/usr/lpp/mmfs/bin/tspreparedisk -S"
+
+  if [[ $mmScriptTrace != /dev/null && -s $mmScriptTrace ]]
+  then
+    doit "mmScriptTrace" "cat $mmScriptTrace"
+  fi
+
+  return 0
+
+}  #----- end of function get_always ---------------------------
+
+
+function get_net_stuff
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGget_net_stuff ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  if [[ $os = "AIX" ]]
+  then
+    doit "netstat" "netstat -i -n" "1"
+    doit "netstat" "netstat -m" "1"
+    doit "netstat" "netstat -D" "1"
+    INTERFACES=$($lsdev -Cc if | $grep -v Defined | $cut -d " " -f1)
+    for i in $INTERFACES
+    do
+      doit "ifconfig" "ifconfig $i" 1
+      doit "odmget_CuAt" "odmget -q name=$i CuAt" 1
+      doit "lsattr" "lsattr -El $i" 1
+    done
+  else
+    INTERFACES=$(netstat -i -n | $cut -f1 -d " " | $grep -v "Kernel" | $grep -v "Iface")
+    for i in $INTERFACES
+    do
+      doit "ifconfig" "ifconfig $i" 1
+    done
+  fi  # end of if [[ $os = "AIX" ]]
+
+  doit "netstat" "netstat -i" "1"
+  doit "netstat" "netstat -r" "1"
+  doit "netstat" "netstat -rn" "1"
+  doit "netstat" "netstat -v 2>/dev/null" "1"
+  doit "netstat" "netstat -s"
+
+  if [[ $pass = 2 ]]
+  then
+    tarit "ifconfig"
+    if [[ $os = "AIX" ]]
+    then
+      tarit "lsattr"
+      tarit "odmget_CuAt"
+    fi
+  fi
+
+}  #----- end of function get_net_stuff ------------------------
+
+
+function get_lvm_stuff
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGget_lvm_stuff ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset lspvLine pdisk i VGs
+
+  if [[ $os = "AIX" ]]
+  then
+    doit "lsfs" "lsfs"
+    doit "lspv" "lspv" 1
+
+    LC_ALL=C $lspv > $lspvOutputFile
+    exec 3<&-
+    exec 3< $lspvOutputFile
+    while read -u3 lspvLine
+    do
+      set -f ; set -- $lspvLine ; set +f
+      pdisk=$1
+      doit "lspv" "lsattr -El $pdisk" "1"
+    done
+    $rm -f $lspvOutputFile
+
+    doit "lsvg" "lsvg" "1"
+    doit "lsvg" "lsvg -o" "1"
+    VGs=$($lsvg -o)
+    for i in $VGs
+    do
+      doit "lsvg" "lsvg -l $i" "1"
+      doit "getlvodm_u" "getlvodm -u $i" "1"
+    done
+
+    VGs=$($lsvg)
+    for i in $VGs
+    do
+      doit "lsvg" "$ls -l /dev/$i" "1"
+    done
+    if [[ $pass = 2 ]]
+    then
+      tarit lspv
+      tarit lsvg
+      tarit getlvodm_u
+    fi
+  fi  # end of if [[ $os = "AIX" ]]
+
+}  #----- end of function get_lvm_stuff ------------------------
+
+
+function addit
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGaddit ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  # total_bytes is total_bytes at the end
+  # max_tmp is max bytes while processing this file at one time
+  # (size of tarfile + 2 * sizeof_file)
+  # max_bytes is max bytes while processing ANY file
+
+  (( total_bytes = total_bytes + $1 ))
+  (( max_tmp = total_bytes + $1 ))
+  if (( $max_tmp > $max_bytes ))
+  then
+    max_bytes=$max_tmp
+  fi
+  if [[ $first = 1 ]]
+  then
+    echo "estimate $2 will take $1 bytes" >> ${LOGDIR}/sizes
+  else
+    echo "estimate $2 will take $1 bytes" > ${LOGDIR}/sizes
+  fi
+  first=1
+
+}  #----- end of function addit --------------------------------
+
+
+###############################################################################
+#
+# Function waitforit (wait for the most recently-started background process)
+#
+###############################################################################
+function waitforit
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGwaitforit ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  mpid=$!
+
+  if [[ -n $1 && $1 != NULL ]]
+  then
+    tmpid=$mpid
+    comm=$(echo $1 | $head -c 70)
+    $sleep 1
+    mpid=$($ps -g $mypgid -o pid=PID,args=COMM | $grep "$comm" | $grep -v grep | $tail -n -1 | $awk '{print $1}')
+
+    # In some cases commands fork themselves.  We need to make sure
+    # we have the parent process; try to find the right one.
+    words=$(echo $mpid | $wc -w)
+    words=${words##*( )}
+    if [[ $words != 1  && $words != 0 ]]
+    then
+      echo "got a multiple: $mpid  comm is $comm" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+      # if there is more than one try to get the direct descendent of
+      # gpfs.snap or the pid
+      mmpid=$($ps -f | $grep "$comm" | $grep -v grep | $grep -E "$$|$tmpid" | $awk '{print $2}')
+      if [[ -z $mmpid ]]
+      then
+        mpid=$(echo $mpid | $head -n 1)
+        mpid=$(echo $mpid | $awk '{print $1}')
+      else
+        mpid=$mmpid
+      fi
+    fi
+  fi  # end of if [[ -n $1 && $1 != NULL ]]
+
+  counter=1
+  if [[ -n $2 ]]
+  then
+    count=$2
+  else
+    count=20
+  fi
+
+  while [[ $counter -le $count && -n $mpid ]]
+  do
+    if [[ $counter -eq $count ]]
+    then
+      if [[ -n $1 && $1 != NULL ]]
+      then
+        comm=$1
+      else
+        comm=$($ps -fp $mpid -o args=ARGS | $tail -n -1)
+      fi
+      print "\nThe following command timed out!:\n$comm\n" | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+      # kill any children of the process we are about to kill
+      # (for the case where we were called with pipes in the command line)
+
+      $ps -o pid=PID,ppid=PPID | $grep $mpid | $grep -v "grep $mpid" > tmpout
+      {
+        while read line
+        do
+          pid=$(echo $line  | $awk '{print $1}')
+          ppid=$(echo $line | $awk '{print $2}')
+          # echo $line | read pid ppid
+          if [[ $ppid = $mpid ]]
+          then
+            $kill -9 $pid
+          fi
+        done
+      } < tmpout
+      $rm tmpout
+
+      echo "killing $mpid"
+      $kill -9 $mpid 2>/dev/null
+      $sleep 1
+      # special check to catch defunct children of c -c (pass 1)
+      parent=$($ps -fp $mpid | $grep defunct | $awk '{print $3}')
+      if [[ -n $parent ]]
+      then
+        parcomm=$($ps -p $parent | $tail -n -1 | $awk '{print $4}')
+        if [[ $parcomm = wc ]]
+        then
+          $kill -9 $parent 2>/dev/null
+        fi
+      fi
+      set +x
+      return 1
+    fi  # end of if [[ $counter -eq $count ]]
+    $sleep 1
+    (( counter = counter + 1 ))
+    mpid=$($ps -p $mpid | $awk '{print $1}' | $grep -v "PID")
+
+  done  # end of while [[ $counter -le $count && -n $mpid ]] do
+
+  return 0
+
+}  #----- end of function waitforit ----------------------------
+
+
+###############################################################################
+#
+# Function doit
+#
+# All arguments are optional except $2.  If you do not desire an action,
+# pass "" for the parameter, or just leave out trailing args completely.
+#
+# Arguments:
+# $1  The unique part of the name of the log file as in
+#       $LOGDIR/$1.${my_hostname}.${logdate}
+# $2  The command to be run.  stdout is redirected to the log file.
+#       stderr is redirected to both the screen and the file
+#       gpfs.snap_err.${logdate}.out in the $LOGDIR.
+#       On a non-zero return code, an error message is printed to the
+#       screen and the gpfs.snap_err.${logdate}.out file.
+# $3  "Output control" flag.
+#        If null, the output is appended to the global tar file;
+#        If 1, the output is not appended to the global tar file
+#          (the log file will be left for further data to be added to it,
+#           and a subsequent invocation with a null output control flag
+#           will cause the log file to be added to the tar file then)
+#        If 2, the output is prepended with the hostname of the node
+#          to make the output look like that produced by mmdsh,
+#          and then copied to the log file's parent directory
+#          (this option is used by the -c option for collecting
+#           output data from executing a command string).
+#
+###############################################################################
+function doit  # <logFile> <cmdToRun> <outputControl>
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGdoit ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset logFile=$1
+  typeset cmdToRun=$2
+  typeset outputControl=$3
+
+  if [[ $pass = 1 ]]
+  then
+    if [[ -n $cmdToRun ]]
+    then
+      ksh -c "PATH=$PATH $cmdToRun" 2>/dev/null | $wc -c >$YAMO &
+      if [[ $cmdToRun = "netstat -D" ]]
+      then
+        waitforit "$cmdToRun" "60"
+      else
+        waitforit "$cmdToRun"
+      fi
+      if [[ $? = 0 && -s $YAMO ]]
+      then
+        temp_bytes=$($cat $YAMO | $awk '{print $1}')
+        temp_bytes2=$(echo $cmdToRun | $wc -c)
+        tmp2_bytes=$(( temp_bytes + temp_bytes2 + 153 ))
+        addit $tmp2_bytes $cmdToRun
+      fi
+    fi
+    $rm $YAMO 2>/dev/null
+  else
+    if [[ -n $cmdToRun ]]
+    then
+      print "" >> $LOGDIR/$logFile
+      print "$outputDelimiter" >> $LOGDIR/$logFile
+      print "Output for $cmdToRun on $($hostname | $cut -d. -f1)" >>${LOGDIR}/$logFile
+      print "$outputDelimiter" >> $LOGDIR/$logFile
+      ksh -c "PATH=$PATH $cmdToRun" >>$LOGDIR/$logFile 2>${BASELOGDIR}/gpfs.snap_err.out.temp &
+      if [[ $cmdToRun = "netstat -D" ]]
+      then
+        waitforit "$cmdToRun" "60"
+      else
+        waitforit
+      fi
+
+      if [[ -s ${BASELOGDIR}/gpfs.snap_err.out.temp ]];
+      then
+        print "\nErrata from $cmdToRun:" | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+        $cat ${BASELOGDIR}/gpfs.snap_err.out.temp | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+        $rm ${BASELOGDIR}/gpfs.snap_err.out.temp 2>/dev/null
+      fi
+
+      if [[ -z $outputControl ]]
+      then
+        tarit $logFile
+      fi  # end of if [[ -z $outputControl ]]
+    fi  # end of if [[ -n $cmdToRun ]]
+  fi  # end of if [[ $pass = 1 ]]
+
+}  #----- end of function doit ---------------------------------
+
+
+############################################################################
+#
+# Function:  Append a file to the global tarfile ($tarfile)
+#            If $tarfile does not exist yet, create it.
+#
+# Input:     $1 - file to be added to (or serve as the start of) $tarfile
+#            $2 - "remove" flag (if 0, delete input file; otherwise, don't)
+#
+# Output:    $tarfile has been created or augmented
+#
+# Returns:   0
+#
+# Notes:     The caller must be in $BASELOGDIR when calling tarit.
+#            The file to be added to $tarfile must be in $LOGDIR.
+#
+############################################################################
+function tarit
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGtarit ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  if [[ -a ${SUBDIR}/$1 ]]
+  then
+    if [[ -a $tarfile ]]
+    then
+      tar -rf $tarfile ${SUBDIR}/$1
+    else
+      tar -cf $tarfile ${SUBDIR}/$1
+    fi
+    if [[ -z $2 ]]
+    then
+      $rm -r ${LOGDIR}/$1 2>/dev/null
+    fi
+  fi  # end of if [[ -a ${SUBDIR}/$1 ]]
+
+}  #----- end of function tarit --------------------------------
+
+
+function do_master_stuff
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGdo_master_stuff ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  if [[ $os = "Linux" ]]
+  then
+    line=$($head -n1 $mmsdrfsfile)
+    IFS_sv="$IFS"
+    IFS=":"
+    set -f ; set -A v -- - $line ; set +f
+    IFS="$IFS_sv"
+    addlist=${v[$PRIMARY_SERVER_Field]}
+    echo "Primary server is: ${v[$PRIMARY_SERVER_Field]}" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+    if [[ -n ${v[$BACKUP_SERVER_Field]} ]]
+    then
+      echo "Backup server is: ${v[$BACKUP_SERVER_Field]}" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+      addlist="$addlist ${v[$BACKUP_SERVER_Field]}"
+    fi
+  fi  # end of if [[ $os = "Linux" ]]
+
+  echo "\nGetting file system manager information . . .\n"
+
+  dev2list=$(getUsedDevices)
+  if [[ -n $aflag ]]
+  then
+    devlist=$dev2list
+  fi
+
+  $mmlsmgr $devlist 2>/dev/null | $grep -v "^file system" | $grep -v "^\-\-\-\-\-\-" > lsout
+
+  if [[ -s lsout ]]
+  then
+    echo "According to mmlsmgr . . ." | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+    {
+      while read line
+      do
+        if [[ -z $line ]]
+        then
+          continue
+        fi
+        fs=$(echo $line | $cut -f1 -d " ")
+        manager=$(echo $line | $cut -f2 -d "(" | $cut -f1 -d ")")
+        mannum=$(echo $line | $awk '{print $2}')
+        echo $mannum | $grep "\." >/dev/null
+        if [[ $? = 0 ]]
+        then
+          mannum=$($grep $mannum $mmsdrfsfile | $grep MEMBER_NODE | $cut -f5 -d ":")
+        fi
+        if [[ $mannum != "(none" ]]
+        then
+          nodesetID=$(findNodesetId $mmsdrfsfile $mannum)
+          name=$(getNodeInfo $REL_HOSTNAME_Field $NODE_NUMBER_Field $mannum $nodesetID $mmsdrfsfile)
+          addlist="$addlist $name"
+        else
+          name=""
+        fi
+        print "The manager of $fs is $manager ($name)" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+      done
+    } < lsout
+    skipone=1
+  else
+    print "Couldn't get filesystem manager info from daemon.  Trying log files. . ." | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+  fi  # end of if [[ -s lsout ]]
+
+  $rm lsout 2>/dev/null
+
+  echo "\nAssessing file system manager data from logs . . .\n" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+
+  list=$($ls -t $rasDir/mmfs.log.[0-9]* 2>/dev/null)
+  for fs2 in $dev2list
+  do
+    gotlast=0;gotresigned=0;gotappointed=0;
+    fs=${fs2#/dev/}
+    $rm tmplist 2>/dev/null
+    for file in $list
+    do
+      $grep -nE "Cannot mount file system|unmounted because it|as manager|last file system manager" $file | $grep -nE "$fs|last file system manager" | $sort -nrk 1,1 >> tmplist
+    done
+    if [[ -s tmplist ]]
+    then
+      {
+        while read line
+        do
+          echo $line | $grep "last file system manager" >/dev/null
+          if [[ $? = 0 ]]
+          then
+            continue
+          fi
+          echo $line | $grep -E "unmounted | Cannot mount" >/dev/null
+          if [[ $? = 0 ]]
+          then
+            read line
+          fi
+          manager=$(echo $line | $cut -f2 -d "(" | $cut -f1 -d ")")
+          mannum=$(echo $line | $cut -f1 -d "(")
+          echo $line | $grep "last file system manager" >/dev/null
+          if [[ $? = 0 ]]
+          then
+            if [[ $gotlast = 1 ]]
+            then
+              continue
+            fi
+            mannum=${mannum#*was node }
+            gotlast=1
+            message="failed as"
+            read message2
+          else
+            echo $line | $grep "resigned as" >/dev/null
+            if [[ $? = 0 ]]
+            then
+              if [[ $gotresigned = 1 ]]
+              then
+                continue
+              fi
+              mannum=${mannum#* Node }
+              gotresigned=1
+              message="resigned as"
+            else
+              if [[ $gotappointed = 2 ]]
+              then
+                continue
+              else
+                mannum=${mannum#* Node }
+                if [[ $gotappointed = 0 ]]
+                then
+                  gotappointed=1
+                  message="last appointed"
+                else
+                  gotappointed=2
+                  message="2nd last appointed"
+                fi
+              fi
+            fi
+          fi  # end of if [[ $? = 0 ]]
+          echo $mannum | $grep "\." >/dev/null
+          if [[ $? = 0 ]]
+          then
+            mannum=$($grep $mannum $mmsdrfsfile | $grep MEMBER_NODE | $cut -f5 -d ":")
+          fi
+          nodesetID=$(findNodesetId $mmsdrfsfile $mannum)
+          name=$(getNodeInfo $REL_HOSTNAME_Field $NODE_NUMBER_Field $mannum $nodesetID $mmsdrfsFile)
+          if [[ $message = "failed as" ]]
+          then
+            outfile=${BASELOGDIR}/problem.${my_hostname}
+          else
+            outfile=${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+          fi
+          print "$manager ($name) $message manager of $fs" | $tee -a $outfile
+          if [[ -n $message2 ]]
+          then
+            print "$manager ($name) $message manager of $fs" | $tee -a $outfile
+            manager=""
+          fi
+          addlist="$addlist $name"
+        done
+      } < tmplist
+      if [[ $gotlast = 1 && gotresigned = 1 && gotappointed = 2 ]]
+      then
+        break
+      fi
+    fi  # end of if [[ -s tmplist ]]
+    $rm tmplist 2>/dev/null
+  done
+
+  if [[ $yflag != 1 && $pflag != 1 ]]
+  then
+    addtolist "$addlist"
+  fi
+
+  bigtarfile=${BASELOGDIR}/all.${logdate}.tar
+  if [[ -s $nodefile ]]
+  then
+    mysum=$($sum $spath | $cut -f1 -d " ")
+    NODESDIR=${BASELOGDIR}/${logdate}
+    $mkdir $NODESDIR
+
+    node_list=$($cat $nodefile)
+    if [[ -n $node_list ]]
+    then
+      if [[ $x_arg = 1 ]]
+      then
+        print "\nWould fork gpfs.snap on nodes $node_list\n" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+      else
+        print "\nForking gpfs.snap on nodes:\n$node_list\n" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+      fi
+
+      dir=/$(echo $BASELOGDIR | $cut -f2 -d "/")
+      $mmdsh -F $nodefile "K5MUTE=1 df $dir | tail -n -1 | grep 100%" >dfout &
+      waitforit NULL 60
+      list=$($cat dfout | $cut -f1 -d :) 2>/dev/null
+      $rm dfout 2>/dev/null
+      if [[ -n $list ]]
+      then
+        print "$dir is 100% full on the following nodes:\n$list\nRemoving from list." | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+        removefromlist "$list"
+      fi
+      if [[ -s $nodefile ]]
+      then
+        $mmdsh -F $nodefile K5MUTE=1 mkdir -p ${BASELOGDIR}/${logdate} >/dev/null 2>/dev/null
+        $mmdsh -F $nodefile K5MUTE=1 sum $SNAP/gpfs.snap >sumout 2>sumerr
+        nnewlist=$($cat sumerr | $cut -f1 -d :)
+        newlist2=$($cat sumout | $grep -v "$mysum" | $cut -f1 -d :)
+        nnewlist="$nnewlist $newlist2"
+        firstone=1
+        $rm -f sumerr sumout $commaFile 2>/dev/null
+        for i in $nnewlist
+        do
+          if [[ $firstone = 1 ]]
+          then
+            commalist="$i"
+            print -- $i > $commaFile
+            firstone=0
+          else
+            commalist="$commalist,$i"
+            print -- $i >> $commaFile
+          fi
+        done
+        if [[ -s $commaFile ]]
+        then
+          print "There is an outdated or no gpfs.snap in $SNAP on the following nodes:"
+          print $commalist
+          print "\nAttempting to copy . . .\n"
+          if [[ $SNAP != "/usr/lpp/mmfs/bin" ]]
+          then
+            $mmdsh -F $commaFile K5MUTE=1 mkdir -p $SNAP 2>/dev/null
+          fi
+          $mmdsh -F $commaFile K5MUTE=1 $rcp $myhname:$spath $spath 2>tmperr
+
+          if [[ -s tmperr ]]
+          then
+            list=$($cat tmperr | $cut -f1 -d ":")
+            $cat tmperr
+            removefromlist "$list"
+            print "copy failed for the following nodes:\n$list\nRemoving them from list." | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+            $cat $nodefile
+          fi
+          $rm tmperr 2>/dev/null
+        fi
+        if [[ $x_arg != 2 ]]
+        then
+# Question:  What is the "node_args" variable for?
+          $mmdsh -F $nodefile K5MUTE=1 "$SNAP/gpfs.snap $node_args -d ${BASELOGDIR}/$(hostname | cut -d. -f1)_${logdate} -x 1 -z" >$BASELOGDIR/pass1outfile &
+        fi
+      fi
+    fi  # end of if [[ -n $node_list ]]
+  fi  # end of if [[ -s $nodefile ]]
+
+}  #----- end of function do_master_stuff ----------------------
+
+
+function printAndExit
+{
+  [[ -n $DEBUGgpfssnap || -n $DEBUGprintAndExit ]] && set -x
+
+  printErrorMsg $1 gpfs.snap $2
+  print "$USAGE"
+  exit 1
+
+}  #----- end of function printAndExit -------------------------
+
+
+function getCurrentStanzaList2  # <outputFile>
+{
+  typeset sourceFile="gpfs.snap.sh"
+  [[ -n $DEBUGgpfssnap || -n $DEBUGgetCurrentStanzaList2 ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset outfile=$1
+  typeset rc=0
+
+  $rm -f $outfile
+
+  #-------------------------------------------------------------------
+  # Generate a list of the GPFS file systems in /etc/filesystems.
+  # The output of the AIX lsfs -c command looks something like this:
+  #
+  #  #MountPoint:Device:Vfs:Nodename:Type:Size:Options:AutoMount:Acct
+  #  /gpfs/gpfsA:/dev/gpfsA:mmfs:-:mmfs:0:rw:no:no
+  #  /gpfs/gpfsB:/dev/gpfsB:mmfs:-:mmfs:0:rw:no:no
+  #-------------------------------------------------------------------
+  set +x
+  LC_ALL=C $lsfs -c -v mmfs > $outfile 2>&1
+  rc=$?
+  [[ -n $DEBUGgpfssnap || -n $DEBUGgetCurrentStanzaList2 ]] && set -x
+  if [[ $rc -ne 0 ]]
+  then
+    # Check whether this is a 'not found error'.
+    $grep -q "unknown vfs type" $outfile
+    if [[ $? = 0 ]]
+    then
+      # 'not found' is acceptable.  Reset the return code
+      # and create a file with an lsfs header-like line only.
+      rc=0
+      print -- "#MountPoint:Device:Vfs:junk" > $outfile
+    else
+      # If some other error, show the error messages.
+      $cat $outfile
+    fi
+  fi
+
+  return $rc
+
+}  #----- end of function getCurrentStanzaList2 ----------------
+
+
+
+#############################################
+#   Mainline processing   MAIN main
+#############################################
+
+args=$@
+set -A months Yam Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
+set -A days 0 31 29 31 30 31 30 31 31 30 31 30 31
+export K5MUTE=1
+GPFSDIR=/usr/lpp/mmfs/bin
+export PATH=/bin:/usr/bin:/etc:/usr/sbin:/sbin:$GPFSDIR
+
+export LANG=en_US
+export LC_MESSAGES=C
+export LC_TIME=C
+pwd=$(pwd)
+result=$(echo $0 | $grep "^"/)
+if [[ -n $result ]]
+then
+  spath=$0
+else
+  spath=${pwd}/$0
+fi
+SNAP=$(dirname $spath)
+pass=1
+total_bytes=0
+max_bytes=0
+
+BASELOGDIR=/tmp/gpfs.snapOut
+$mkdir ${BASELOGDIR} 2>/dev/null
+logdate=$(date +\%m\%d\%H\%M)
+my_hostname=$($hostname | $cut -d. -f1)
+$rm -rf ${BASELOGDIR}/gpfs.snap_err.*.out 2>/dev/null
+$rm -rf ${BASELOGDIR}/gpfs.snap_info.*.out 2>/dev/null
+$rm ${BASELOGDIR}/problem.${my_hostname} 2>/dev/null
+YAMO=/tmp/yamo
+ODMDIR=/etc/objrepos
+SPENV=0
+os=$($uname)
+if [[ -f $mmfscfg ]]
+then
+  logDir=$($awk '$1 == "logDir" {value = $2} END {print value}' $mmfscfg)
+  [[ -n $logDir ]] && rasDir="${logDir}/"
+fi
+[[ -z $rasDir ]] && rasDir=/var/adm/ras
+
+
+if [[ $os = "AIX" ]]
+then
+  alevel=$($lslpp -L bos.rte | $grep bos.rte | $awk '{print $2}')
+  sp_version=$($lslpp -Lc ssp.basic 2>/dev/null | $grep ssp.basic | $cut -f3 -d :)
+  if [[ -n $sp_version ]]
+  then
+    sp_version=${sp_version%.#}
+    SPENV=1
+    my_node_number=$(/usr/lpp/ssp/install/bin/node_number)
+    PATH=$PATH:/usr/lpp/ssp/bin:/usr/lpp/csd/bin
+  fi
+else
+  alevel=$($uname -rv)
+fi  # end of if [[ $os = "AIX" ]]
+
+myhname=$($hostname)
+if [[ -a /usr/bin/vmstat ]]
+then
+  gotvmstat=1
+fi
+
+# gpfs.snap [-c "CmdString"] [-d OutputDirectory] [-p] [-x {1 | 2}] [-y | -z]
+#           [-a | -W NodeFilename | -w NodeName[,NodeName...] |
+#            -n NodeNumber[,NodeNumber...]]
+USAGE=\
+"Usage:\n"\
+"  gpfs.snap [-c \"CmdString\"] [-d OutputDirectory] [-p] [-x {1 | 2}] [-y | -z]\n"\
+"    [ -a | -W NodeFilename | -w NodeName[,NodeName...] | -n NodeNumber[,NodeNumber...]]"
+
+master=1
+
+if [[ $arg1 = '-?' || $ARG1 = '-H' || $ARG1 = '--HELP' || $arg1 = '--' ]]
+then
+  print $USAGE
+  exit 1
+fi
+
+while getopts :ac:d:Dn:pw:W:x:yz OPT
+do
+  case $OPT in
+
+    a) [[ -n $aflag ]] && printAndExit 36 "-$OPT"
+       aflag="-$OPT"
+       all="all"
+       if [[ -n $nflag || -n $wflag || -n $Wflag ]]
+       then
+         [[ -n $nflag ]] && printErrorMsg 191 gpfs.snap "-a" "-n"
+         [[ -n $wflag ]] && printErrorMsg 191 gpfs.snap "-a" "-w"
+         [[ -n $Wflag ]] && printErrorMsg 191 gpfs.snap "-a" "-W"
+         print $USAGE
+         exit 1
+       fi
+       ;;
+
+    c) [[ -n $cflag ]] && printAndExit 36 "-$OPT"
+       cflag="-$OPT"
+       cmdString="$OPTARG"
+       ;;
+
+    d) d_argument=$OPTARG
+       $mkdir -p $d_argument 2>/dev/null &
+       waitforit
+       if [[ $? = 1 ]]
+       then
+         print -u2 "Write to $d_argument timed out.  Choose another directory or take the default (/tmp)"
+         exit 1
+       fi
+       BASELOGDIR=$d_argument
+       $rm -rf ${BASELOGDIR}/gpfs.snap_err.*.out 2>/dev/null
+       $rm -rf ${BASELOGDIR}/gpfs.snap_info.*.out 2>/dev/null
+       $rm ${BASELOGDIR}/problem.${my_hostname} 2>/dev/null
+       $mv /tmp/gpfs.snapOut/${BASELOGDIR}/gpfs.snap_err.${logdate}.out ${BASELOGDIR} 2>/dev/null
+       ;;
+
+    D) DEBUGgpfssnap=1
+       exec 2>/tmp/gpfs.snap.debug
+       set -x
+       echo "Writing debug data and redirecting stderr to /tmp/gpfs.snap.debug" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+       ;;
+
+    n) [[ -n $nflag ]] && printAndExit 36 "-$OPT"
+       nflag="-$OPT"
+       nodenums="$OPTARG"
+       if [[ -n $aflag || -n $Wflag ]]
+       then
+         [[ -n $aflag ]] && printErrorMsg 191 gpfs.snap "-n" "-a"
+         [[ -n $Wflag ]] && printErrorMsg 191 gpfs.snap "-n" "-W"
+         print $USAGE
+         exit 1
+       fi
+       ;;
+
+    p) pflag=1
+       ;;
+
+    w) [[ -n $wflag ]] && printAndExit 36 "-$OPT"
+       wflag="-$OPT"
+       nodenames="$OPTARG"
+       if [[ -n $aflag || -n Wflag ]]
+       then
+         [[ -n $aflag ]] && printErrorMsg 191 gpfs.snap "-w" "-a"
+         [[ -n $Wflag ]] && printErrorMsg 191 gpfs.snap "-w" "-W"
+         print $USAGE
+         exit 1
+       fi
+       ;;
+
+    W) [[ -n $Wflag ]] && printAndExit 36 "-$OPT"
+       Wflag="-$OPT"
+       wcoll="$OPTARG"
+       if [[ -n $aflag || -n $nflag || -n $wflag ]]
+       then
+         [[ -n $aflag ]] && printErrorMsg 191 gpfs.snap "-W" "-a"
+         [[ -n $nflag ]] && printErrorMsg 191 gpfs.snap "-W" "-n"
+         [[ -n $wflag ]] && printErrorMsg 191 gpfs.snap "-W" "-w"
+         print $USAGE
+         exit 1
+       fi
+       ;;
+
+    x) xflag=1
+       x_arg=$OPTARG
+       if [[ $x_arg != 1 ]] && [[ $x_arg != 2 ]]
+       then
+         print "Illegal argument to option x: $x_arg"
+         print "$USAGE"
+         exit 1
+       fi
+       ;;
+
+    y) yflag=1
+       if [[ $zflag = 1 ]]
+       then
+         printErrorMsg 191 gpfs.snap y z
+         print "$USAGE"
+         exit 1
+       fi
+       ;;
+
+    z) zflag=1
+       if [[ $yflag = 1 ]]
+       then
+         printErrorMsg 191 gpfs.snap y z
+         print "$USAGE"
+         exit 1
+       fi
+       master=0
+       ;;
+
+    :) printAndExit 204 $OPTARG
+       ;;
+
+    +[acdDnpwWxyz])
+       printAndExit 13 "$OPT"
+       ;;
+
+    *) printAndExit 13 $OPTARG
+       ;;
+
+  esac
+done  # end of while getopts do
+
+shift OPTIND-1
+[[ $# != 0 ]] && printAndExit 38 $1
+
+# If no node selection option was specified, default to -a.
+[[ -z $aflag && -z $nflag && -z $wflag && -z $Wflag ]] &&  \
+  aflag="-a"
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+######################################################
+# Create a file with the names of all affected nodes.
+######################################################
+$rm -f $nodefile 2>/dev/null
+$touch -f $nodefile
+
+if [[ -n $aflag ]]
+then
+  # Get a list of the nodes that belong to the cluster.
+  getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+  # If there are no nodes, issue an appropriate message and return.
+  if [[ ! -s $nodefile ]]
+  then
+    print -u2 "$mmcmd: There are no known GPFS nodes."
+    exit 1
+  fi
+elif [[ -n $Wflag ]]
+then
+  # Verify input file is readable.
+  if [[ ! -f $wcoll || ! -r $wcoll ]]
+  then
+    printErrorMsg 43 $mmcmd $wcoll
+    exit 1
+  fi
+
+  # Filter out comment lines and localhost entries.
+  $grep -v -e "localhost" -e "^#" "$wcoll" > $nodefile
+  if [[ ! -s $nodefile ]]
+  then
+    # No node names specified
+    printErrorMsg 328 $mmcmd $wcoll
+    exit 1
+  fi
+else
+  # Either no option was specified, or we have some combination of -w and -n.
+
+  # Convert the node names list into a file.
+  for i in $(print $nodenames | $tr "," " ")
+  do
+    print $i >> $nodefile
+  done
+
+  # Convert the node number list into node names
+  # and append the names to the file.
+  for i in $(print $nodenums | $tr "," " ")
+  do
+    nodeName=$(getNodeInfo  \
+      $REL_HOSTNAME_Field $NODE_NUMBER_Field $i $GLOBAL_ID $mmsdrfsFile)
+    if [[ -n $nodeName ]]
+    then
+      print $nodeName >> $nodefile
+    else
+      # Node number is not in cluster
+      printErrorMsg 352 $mmcmd $i
+    fi
+  done
+
+  # If none of the node numbers resolved correctly, give up.
+  [[ ! -s $nodefile && ( -n $nodenames || -n $nodenums ) ]] && exit 1
+
+fi  # end of if [[ -n $aflag ]]
+
+if [[ $master = 1 && -z $cflag ]]
+then
+  checklist
+  SUBDIR=${my_hostname}.master.${logdate}
+else
+  SUBDIR=${my_hostname}.${logdate}
+fi
+tarfile=${BASELOGDIR}/gpfs.snap.${SUBDIR}.out.tar
+LOGDIR=${BASELOGDIR}/${SUBDIR}
+
+if [[ -z $cflag ]]
+then
+  echo "$SNAP/gpfs.snap version $VERSION started at $starttime with args:\n$args\n" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+  echo "My process id is $$"
+fi
+
+mypgid=$($ps -p $$ -o pgid=PGID | $tail -n -1)
+
+# Check the output directory for space.
+basedir=/$(echo $BASELOGDIR | $cut -f2 -d "/")
+if [[ $os = "AIX" ]]
+then
+  $df $basedir | $tail -n -1 | $awk '{print $4}' >/tmp/yamo &
+else
+  $df $basedir | $tail -n -1 | $awk '{print $5}' >/tmp/yamo &
+fi
+waitforit "$df $basedir" 60
+if [[ $? = 1 ]]
+then
+  print -u2 "df on $basedir timed out.  Solve the problem with $basedir or specify a different directory with -d."
+  exit 1
+fi
+per=$($cat /tmp/yamo)
+if [[ $per = 100% ]]
+then
+  print -u2 "$basedir is 100% full.  Specify a different directory with -d or clear space."
+  exit 1
+fi
+$mkdir -p ${LOGDIR}
+cd $BASELOGDIR
+
+mmsdrfsfile=/var/mmfs/gen/mmsdrfs
+
+# If the node does not belong to a GPFS cluster, go away quietly.
+if [[ ! -f $mmsdrfsfile ]]
+then
+  print -u2 "The node does not belong to a GPFS cluster ($mmsdrfsfile does not exist).  Exiting."
+  return 0
+fi
+
+determineMode
+getLocalNodeData
+mygnum=$ourNodeNumber
+mygname=$ourNodeName
+
+mynodeset=$(findNodesetId $mmsdrfsfile $mygnum)
+
+if [[ $mynodeset = "%%home%%" ]]
+then
+  mynodeset2=$($grep clusterName $mmsdrfsfile | $grep %%home%% | $cut -f2 -d " " | $cut -f1 -d ":")
+else
+  mynodeset2=$mynodeset
+fi
+
+if [[ -z $mygname ]]
+then
+  $grep MEMBER_NODE $mmsdrfsfile >/tmp/mmsdrfs2.tmp
+  {
+    while read line
+    do
+      rhname=$(echo $line | $cut -f8 -d ":")
+      addr=$($ping -c1 -w5 $rhname | $head -n 1 | $cut -f2 -d "("  | $cut -f1 -d ")")
+      ilist=$(netstat -i | $awk '{print $1}' | $grep -v -E "Iface|Kernel|Name")
+      for i in $ilist
+      do
+        $ifconfig $i | $grep $addr >/dev/null
+        if [[ $? = 0 ]]
+        then
+          mynodeset=$(echo $line | $cut -f1 -d :)
+          mygname=$(echo $line | $cut -f6 -d :)
+          mygnum=$(echo $line | $cut -f5 -d :)
+          break
+        fi
+      done
+      if [[ -n $mygname ]]
+      then
+        break
+      fi
+    done
+  } < /tmp/mmsdrfs2.tmp
+  $rm /tmp/mmsdrfs2.tmp 2>/dev/null
+fi  # end of if [[ -z $mygname ]]
+
+if [[ $os = "AIX" ]]
+then
+  [[ -z $cflag ]] &&  \
+    echo "I am hostname $myhname running AIX level $alevel"  | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+  gpfs_version=$($lslpp -Lc gpfs.base 2>/dev/null | $grep gpfs.base | $cut -f3 -d :)
+  gpfs_version=${gpfs_version%.#}
+  if [[ -z $gpfs_version ]]
+  then
+    gpfs_version=$($lslpp -Lc mmfs.base.rte 2>/dev/null | $grep mmfs.base.rte | $cut -f3 -d :)
+    gpfs_version=${gpfs_version%.#}
+  fi
+fi  # end of if [[ $os = "AIX" ]]
+
+if [[ $SPENV = 1 ]]
+then
+  [[ -z $cflag ]] &&  \
+    echo "I am SP node $my_node_number running $sp_version" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+fi
+
+if [[ $os = "Linux" ]]
+then
+  [[ -z $cflag ]] &&  \
+    echo "I am $myhname running Linux level $alevel" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+  gpfs_version=$($rpm -q gpfs.base | $awk 'BEGIN{FS="-"} {print $2"-"$3}')
+fi
+
+if [[ -z $gpfs_version ]]
+then
+  print -u2 "\nGPFS does not appear to be installed on this machine."
+  $rm -r ${LOGDIR} 2>/dev/null
+  exit 1
+fi
+
+rel1=$(echo $gpfs_version | $cut -f1 -d ".")
+rel2=$(echo $gpfs_version | $cut -f2 -d ".")
+
+if [[ $rel1 -gt 2 ]] || [[ $rel1 -eq 2 && $rel2 -ge 3 ]]
+then
+  groupname="cluster"
+else
+  groupname="nodeset"
+fi
+
+[[ -z $cflag ]] &&  \
+  echo "I am gpfs node $mygname number $mygnum in $groupname $mynodeset2 running GPFS version $gpfs_version" | $tee -a ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+
+dumpdir=$($cat /var/mmfs/etc/mmfs.cfg | $grep "^dataStructureDump " | $head -1 | $awk '{print $2}')
+if [[ -z $dumpdir ]]
+then
+  dumpdir="/tmp/mmfs"
+fi
+
+# If the -c "run this command string on the nodes" option was specified,
+# just collect the data, cleanup temporary files, and exit early.
+if [[ -n $cflag ]]
+then
+  $mmdsh -F $nodefile K5MUTE=1 ksh -c \"PATH=$PATH $cmdString\" 2>/dev/null
+  $rm -r ${LOGDIR} 2>/dev/null
+  $rm -f $nodefile 2>/dev/null
+  $rm -f $LOCAL_FILES 2>/dev/null
+  $rm /tmp/hostfile 2>/dev/null
+  exit 0
+fi  # end of if [[ -n $cflag ]]
+
+# Collect data on the master node if so desired.
+if [[ $master = 1 ]]
+then
+  if [[ $pflag != 1 ]]
+  then
+    print "Checking configuration files . . ."
+    nlist2=$($cat $nodefile2)
+    check_fs $nodefile2 "$nlist2"
+    brcFile=$trcFile
+    bglist=$tglist
+
+    check_files /var/mmfs/gen/mmsdrfs $nodefile2
+
+    print "Checking for waiters . . ."
+    check_waiters
+
+    if [[ $os = "Linux" ]]
+    then
+      set +x
+      getCurrentStanzaList stanzafile
+      [[ $DEBUGgpfssnap = 1 ]] && set -x
+    else
+      getCurrentStanzaList2 stanzafile
+    fi
+    fslist=$($cat stanzafile | $cut -f2 -d :)
+    fslist=${fslist#Device}
+    $rm stanzafile 2>/dev/null
+  fi  # end of if [[ $pflag != 1 ]]
+
+  do_master_stuff
+
+  firstone=1
+  $rm -f $nodefilecFile
+  list=$($cat $nodefile)
+  for i in $list
+  do
+    if [[ $firstone = 1 ]]
+    then
+      nodefilelist=$i
+      print -- $i > $nodefilecFile
+      firstone=0
+    else
+      nodefilelist="$nodefilelist $i"
+      print -- $i >> $nodefilecFile
+    fi
+  done
+  check_fs $nodefilecFile "$nodefilelist" "$hostarray"
+  rlist=$trlist
+  rcFile=$trcFile
+  glist=$tglist
+fi  # end of if [[ $master = 1 ]]
+
+all="-1"
+check_dumps internaldump $all $dumpdir
+check_dumps trcrpt $all "/tmp/mmfs"
+
+if [[ $x_arg = 2 ]]
+then
+  pass=2
+else
+  print "\nDetermining whether there is enough space in ${BASELOGDIR} . . .\n"
+fi
+
+#export mmdshCommandsFile=${BASELOGDIR}/commandfile
+
+while [[ $pass -le 2 ]]
+do
+  print "Processing log files . . ."
+  get_files
+  if [[ $master = 1 && $pass = 2 ]]
+  then
+    if [[ -s $rcFile ]]
+    then
+      $mmdsh -F $rcFile K5MUTE=1 cat ${BASELOGDIR}/${logdate}/problem.\* 2>/dev/null | tee -a ${BASELOGDIR}/problem.${my_hostname}
+    fi
+    for i in $glist
+    do
+      $cat ${BASELOGDIR}/${logdate}/problem.$i 2>/dev/null | $tee -a ${BASELOGDIR}/problem.${my_hostname}
+    done
+# Question:  What is the "node_args" variable for?
+    $mmdsh -F $nodefile K5MUTE=1 $SNAP/gpfs.snap $node_args -d ${BASELOGDIR}/$(hostname | cut -d. -f1)_${logdate} -x 2 -z >/dev/null 2>/dev/null &
+  fi
+
+  if [[ $pass = 1 && $gotvmstat = 1 ]]
+  then
+    ksh -c "vmstat 5 5" > ${LOGDIR}/vmstat_5_5 &
+  fi
+
+  if [[ -s ${LOGDIR}/long_waiters.sorted ]]
+  then
+    if [[ $pass = 1 ]]
+    then
+      size=$($ls -l ${LOGDIR}/long_waiters.sorted | $awk '{print $5}')
+      addit $size "${LOGDIR}/long_waiters.sorted"
+    else
+      tarit long_waiters.sorted
+    fi
+  fi
+
+  if [[ $master = 1 && $pflag != 1 ]]
+  then
+    doit "dump_list" "$mmdsh -F $nodefile2 ls -l $dumpdir/internaldump\* 2>/dev/null"
+
+    print "Processing waiters . . ."
+    check_waiters2
+    print "Processing configuration files . . ."
+    check_files2
+  fi  # end of if [[ $master = 1 && $pflag != 1 ]]
+
+  print "Running mm commands . . ."
+  if [[ $master = 1 || $yflag = 1 ]]
+  then
+    doit "mmlsconfig" "/usr/lpp/mmfs/bin/mmlsconfig"
+    doit "mmlsmgr" "/usr/lpp/mmfs/bin/mmlsmgr"
+    doit "mmlsnode_a" "/usr/lpp/mmfs/bin/mmlsnode -a"
+    doit "mmgetstate_a" "/usr/lpp/mmfs/bin/mmgetstate -a"
+    doit "tsstatus" "tsstatus"
+# need full pathname for some of these for waitforit to handle properly
+    for i in $fslist
+    do
+      doit "mmdf" "/usr/lpp/mmfs/bin/mmdf $i -q" 1
+      doit "mmlsfs" "/usr/lpp/mmfs/bin/mmlsfs $i" 1
+      doit "mmlsdisk" "/usr/lpp/mmfs/bin/mmlsdisk $i -L" 1
+      doit "mmlspolicy" "/usr/lpp/mmfs/bin/mmlspolicy $i" 1
+      doit "mmlspolicy" "/usr/lpp/mmfs/bin/mmlspolicy $i -L" 1
+      doit "mmlsfileset" "/usr/lpp/mmfs/bin/mmlsfileset $i" 1
+      doit "mmlsfileset" "/usr/lpp/mmfs/bin/mmlsfileset $i -L" 1
+      doit "mmlssnapshot" "/usr/lpp/mmfs/bin/mmlssnapshot $i -d -Q" 1
+    done
+    doit "mmlscluster" "mmlscluster"
+    doit "mmlsnsd" "mmlsnsd -L" 1
+    doit "mmlsnsd" "mmlsnsd -X"
+    doit "mmremotecluster" "mmremotecluster show all"
+    doit "mmremotefs" "mmremotefs show all"
+    doit "mmauth" "mmauth show"
+  fi  # end of if [[ $master = 1 || $yflag = 1 ]]
+
+# Be careful not to dump live data that may assert or segfault.
+# We can always ask for additional data later.
+  print "Processing dumps . . ."
+  doit "mmfsadm_dump_some" "mmfsadm dump version" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump waiters" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump cfgmgr" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump tscomm" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump config" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump mutex" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump sgmgr" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump stripe" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump malloc" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump fs" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump mmap" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump nsd" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump disk" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump alloc stats" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump alloc hist" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump dealloc stats" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump allocmgr" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump allocmgr stats" 1
+  doit "mmfsadm_dump_some" "mmfsadm dump allocmgr hist"
+  print "Processing common files . . ."
+  get_always
+  print "Processing network info . . ."
+  get_net_stuff
+  print "Processing lvm info . . ."
+  get_lvm_stuff
+
+  if [[ $os = "AIX" ]]
+  then
+    console=$(/usr/sbin/lscons)
+    if [[ -f $console ]]
+    then
+      if [[ $pass = 1 ]]
+      then
+        temp_bytes=$($ls -l $console | $awk '{ print $5 }')
+        addit $temp_bytes "$console"
+      else
+        $cp $console ${LOGDIR}/console
+        tarit "console"
+      fi
+    fi
+  fi  # end of if [[ $os = "AIX" ]]
+
+  print "Processing miscellaneous files . . ."
+  get_files_list "/etc" "fstab filesystems trcfmt syslog.conf"
+  get_files_dir "/var/mmfs/etc"
+  get_files_dir "/var/mmfs/gen"
+  get_files_dir "/var/mmfs/ssl"
+  get_files_dir "/var/mmfs/ssl/stage"
+  get_files_dir "/var/mmfs/tmp"
+  get_files_list "$dumpdir" "$internal_list" internaldumps
+  savedir=$(pwd)
+  cd /var/log 2>/dev/null
+  mlist=$($ls messages* 2>/dev/null)
+  cd $savedir
+  if [[ -n $mlist ]]
+  then
+    get_files_list "/var/log" "$mlist"
+  fi
+  mlist=""
+  [[ -s /usr/lpp/mmfs/bin/mmfslinux ]] && mlist="$mlist mmfslinux"
+  [[ -s /usr/lpp/mmfs/bin/mmfs26 ]] && mlist="$mlist mmfs26"
+  [[ -s /usr/lpp/mmfs/bin/mmfs24 ]] && mlist="$mlist mmfs24"
+  [[ -s /usr/lpp/mmfs/bin/mmfs ]] && mlist="$mlist mmfs"
+  if [[ -n $mlist ]]
+  then
+    get_files_list "/usr/lpp/mmfs/bin" "$mlist"
+  fi
+
+  # Get info for whatever group services/topopology services pairs are running.
+  if [[ $SPENV = 1 && $my_node_number = 0 ]]
+  then
+    syspar=$(/usr/lpp/ssp/bin/spget_syspar -n)
+    syspar=".$syspar"
+  fi
+  if [[ $SPENV = 1 ]]
+  then
+    doit "lssrc_rvsd" "lssrc -g rvsd" 1
+    doit "lsvsd_l" "lsvsd -l"
+    if [[ -s ./${SUBDIR}/mmsdrfs2 ]]
+    then
+      if [[ $pass = 1 ]]
+      then
+        temp_bytes=$($ls -l ./${SUBDIR}/mmsdrfs2 | $awk '{ print $5 }')
+        addit $temp_bytes "mmsdrfs2"
+      else
+        tarit "mmsdrfs2"
+      fi
+    fi
+  fi  # end of if [[ $SPENV = 1 ]]
+
+  if [[ $master = 1 ]]
+  then
+    if [[ $pass = 1 ]]
+    then
+      print "Waiting for remote nodes to report space requirements . . ."
+    else
+      print "Waiting for remote nodes to collect data . . ."
+    fi
+    wait
+  fi
+
+  if [[ $pass = 1 ]]
+  then
+    if [[ $gotvmstat = 1 ]]
+    then
+      (( tmpval = $( vmstat | $wc -c ) * 5 ))
+      addit $tmpval
+    fi
+    check_space
+    print "It appears we have enough space.\n"
+
+    if [[ $x_arg = 1 ]]
+    then
+      $rm -r ${LOGDIR} 2>/dev/null
+      if [[ $master = 1 ]]
+      then
+        $rm -r $NODESDIR 2>/dev/null
+      fi
+      exit 0
+    fi
+  fi  # end of if [[ $pass = 1 ]]
+
+  if [[ $pass = 2 ]]
+  then
+    [[ $gotvmstat = 1 ]] && tarit "vmstat_5_5"
+    tarit "mmdf"
+    tarit "mmlsdisk"
+    tarit "mmlsfs"
+    tarit "mmlspolicy"
+    tarit "mmlsfileset"
+    tarit "mmlssnapshot"
+  fi  # end of if [[ $pass = 2 && $gotvmstat = 1 ]]
+
+  pass=$(expr $pass + 1)
+
+done  # end of while [[ $pass -le 2 ]] do
+
+
+if [[ -s gpfs.snap_err.${logdate}.out ]]
+then
+  $cp gpfs.snap_err.${logdate}.out ${SUBDIR}/gpfs.snap_err.${logdate}.out
+  tar -rf $tarfile ${SUBDIR}/gpfs.snap_err.${logdate}.out
+fi
+$rm gpfs.snap_err.out.temp 2>/dev/null
+
+if [[ -a problem.${my_hostname} ]]
+then
+  if [[ -s problem.${my_hostname} ]]
+  then
+    $cp problem.${my_hostname} ${SUBDIR}/problem.${my_hostname}
+    tar -rf $tarfile problem.${my_hostname}
+  else
+    $rm problem.${my_hostname} 2>/dev/null
+  fi
+fi  # end of if [[ -a problem.${my_hostname} ]]
+
+endtime=$(date)
+echo "gpfs.snap near completion at $endtime" >> ${BASELOGDIR}/gpfs.snap_info.${logdate}.out
+
+if [[ -a gpfs.snap_info.${logdate}.out ]]
+then
+  $cp gpfs.snap_info.${logdate}.out ${SUBDIR}/gpfs.snap_info.${logdate}.out
+  tar -rf $tarfile ${SUBDIR}/gpfs.snap_info.${logdate}.out
+fi
+
+if [[ -a /bin/compress ]]
+then
+  gotcompress=1
+  compress $tarfile
+  suff="Z"
+else
+  gzip $tarfile
+  suff="gz"
+fi
+
+if [[ $master = 1 ]]
+then
+  basetar=$(basename ${tarfile})
+  tar -cf $bigtarfile ${basetar}.${suff}
+  $rm ${tarfile}.${suff}
+
+  wait
+  if [[ -s $nodefile ]]
+  then
+    print "Getting snaps from remote nodes . . ."
+    if [[ -s $rcFile ]]
+    then
+      $mmdsh -F $rcFile K5MUTE=1 $rcp ${BASELOGDIR}/$(hostname | cut -d. -f1)_${logdate}/gpfs.snap.\*.out.tar.\* $myhname:${BASELOGDIR}
+    fi
+    if [[ -s rcperr ]]
+    then
+      print "The following nodes had trouble sending the snap file:" | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+      $cat rcperr | $tee -a ${BASELOGDIR}/gpfs.snap_err.${logdate}.out
+    fi
+    $rm rcperr 2>/dev/null
+    g=0
+    for i in $glist
+    do
+      short=$(echo ${ghostarray[$g]} | $cut -f1 -d .)
+      $mv ${BASELOGDIR}/${short}_${logdate}/gpfs.snap.${short}.*.out.tar.* ${BASELOGDIR}
+      $rm -r ${BASELOGDIR}/${short}_${logdate}
+      (( g = g + 1 ))
+    done
+
+    tarlist=$($ls gpfs.snap.*.out.tar.*)
+    if [[ -n $tarlist ]]
+    then
+      tar -rf $bigtarfile $tarlist
+    fi
+    $rm $tarlist 2>/dev/null
+  fi
+
+  print "###############################################################################"
+  print "Send file ${bigtarfile} to IBM Service"
+else
+  print "###############################################################################"
+  print "Send file ${tarfile}.${suff} to IBM Service"
+
+fi  # end of if [[ $master = 1 ]]
+
+# Remove temporary files.
+$rm -r ${LOGDIR} 2>/dev/null
+$rm -r ${NODESDIR} 2>/dev/null
+$rm ${BASELOGDIR}/*waiters 2>/dev/null
+$rm -f $nodefile 2>/dev/null
+$rm -f $LOCAL_FILES 2>/dev/null
+$rm /tmp/hostfile 2>/dev/null
+
+endtime=$(date)
+
+echo "gpfs.snap completed at $endtime"
+exit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/gpfsrunlevel
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/gpfsrunlevel	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/gpfsrunlevel	(revision 16)
@@ -0,0 +1,58 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+#
+#
+# gpfs - This script starts and stops the GPFS daemon.
+#
+# /etc/rc.d/init.d/gpfs
+#
+# ===== RedHat/Turbo chkconfig =====
+# chkconfig: 345 58 22
+# description: General Parallel File System
+#
+# ===== SuSE insserv =====
+### BEGIN INIT INFO
+# Provides: gpfs
+# Default-Start: 3 4 5
+# Default-Stop: 0 1 2 6
+# Required-Start: $local_fs $network
+# Required-Stop: $local_fs $network
+# X-UnitedLinux-Should-Start: sshd
+# X-UnitedLinux-Should-Stop: sshd
+# Description:  starts/stops the GPFS (General Parallel File System) daemon
+### END INIT INFO
+
+case "$1" in
+    start)
+      /usr/lpp/mmfs/bin/mmautoload >/dev/console 2>&1
+      ;;
+    stop)
+      /usr/lpp/mmfs/bin/tsstatus -1 >/dev/null 2>&1     &&
+        /usr/lpp/mmfs/bin/mmshutdown >/dev/console 2>&1
+      ;;
+    restart)
+      ;;
+    condrestart)
+      ;;
+    status)
+      ;;
+    *)
+      echo "Usage:  $0 {start|stop|restart|status|condrestart}"
+      exit 1
+esac
+
+exit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/lxtrace.sial
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/lxtrace.sial	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/lxtrace.sial	(revision 16)
@@ -0,0 +1,117 @@
+/* @(#)01       1.4  src/avs/fs/mmfs/ts/kernext/gpl-linux/lxtrace.sial, mmfs, avs_rgpfs24, rgpfs240610b 2/27/03 12:39:57 */
+
+/* lcrash sial script that determines where the lxtrace
+ * data is in the dump and outputs a helpful example of 
+ * how to retrieve it.   The user would then use 
+ * the program "dumpconv" to turn the "dump -B" output
+ * into a file that "lxtrace format" could read.
+ */
+string lxtrace_help()  { return "this is the << help >> for main"; }
+string lxtrace_opt()   { return ""; }
+string lxtrace_usage() { return ""; }
+
+/* Unfortunately I can't include these from lxtrace.h because
+ * it includes other things that sial doesn't like.
+ */
+#define LXTRACE_MAX_HW 8
+
+/* Possible states of the trace device */
+typedef enum trcdev_state_t
+{
+  trc_initialized,  /* header constructed */
+  trc_opened,       /* device opened      */
+  trc_active,       /* ready for tracing  */
+  trc_stopped       /* tracing disabled   */
+} trcdev_state_t;
+
+typedef struct trcdev_buffer_t
+{
+  char * beginP; /* first byte of the buffer */
+  char * endP;   /* last byte of the buffer */
+  char * nextP;  /* offset of next record to be read/written */
+  char * dirtyP; /* offset of next byte to be read */
+} trcdev_buffer_t;
+
+typedef struct trcdev_header_t
+{
+  int major;                /* major number of the trace device */
+  int minor;                /* minor number of the trace device */
+  int bufSize;              /* number of bytes in the trace buffers */
+  int nHooks;               /* number of trace hookids being traced */
+  int hookP[LXTRACE_MAX_HW];/* the list of hooks being traced */
+  int nOpens;               /* number of times the device is open */
+  int nWaits;               /* number of times we had to wait for the daemon */
+  int nBuffers;             /* number of buffers filled with trace data */
+  int nLost;                /* number of traces lost due to full buffer */
+  trcdev_state_t state;     /* status of the trace device */
+  trcdev_buffer_t writeBuf; /* The trace buffer being written */
+  trcdev_buffer_t readBuf;  /* The buffer being read by the daemon */
+} trcdev_header_t;
+
+#ifdef DEBUG
+#define DPRINTF(x) printf x
+#else
+#define DPRINTF(x)
+#endif
+
+int
+lxtrace()
+{
+  trcdev_header_t *headerP;
+  char *beginP;
+  char *endP;
+  int rbytes, wbytes;
+
+  printf("\n");
+  if (exists("lxthe"))
+  {
+    headerP = (trcdev_header_t *)lxthe;
+    DPRINTF(("lxthe           : 0x%08x\n", headerP));
+    DPRINTF(("writeBuf beginP : 0x%08x\n", headerP->writeBuf.beginP));
+    DPRINTF(("writeBuf nextP  : 0x%08x\n", headerP->writeBuf.nextP));
+    DPRINTF(("readBuf beginP  : 0x%08x\n", headerP->readBuf.beginP));
+    DPRINTF(("readBuf nextP   : 0x%08x\n", headerP->readBuf.nextP));
+
+    if (headerP->readBuf.nextP <= headerP->readBuf.endP)
+      endP = headerP->readBuf.nextP;
+    else
+      endP = headerP->readBuf.endP;
+
+    rbytes = endP - (char *)headerP->readBuf.beginP;
+
+    if (headerP->writeBuf.nextP <= headerP->writeBuf.endP)
+      endP = headerP->writeBuf.nextP;
+    else
+      endP = headerP->writeBuf.endP;
+
+    wbytes = endP - (char *)headerP->writeBuf.beginP;
+    
+    if (rbytes || wbytes)
+    {
+      printf("There are %d bytes of trace records in this memory image\n", 
+             rbytes + wbytes);
+      printf("Execute the following commands and specify an <outfile>.\n");
+      printf("The <outfile> can then be used as input to lxtrace format.\n");
+      printf("Note that the \"dump\" command appends data to <outfile>\n");
+      printf("so start with a empty file.\n\n");
+
+      if (rbytes)
+        printf("dump -B %x %d -w <outfile>\n", 
+               headerP->readBuf.beginP, rbytes);
+      if (wbytes)
+        printf("dump -B %x %d -w <outfile>\n", 
+               headerP->writeBuf.beginP, wbytes);
+    }
+    else
+    {
+      printf("A trace header exists in this memory image but no trace\n");
+      printf("records are present.\n");
+    }
+  }
+  else
+  {
+    printf("The \"lxthe\" symbol cannot be found in this memory image.\n");
+    printf("Did you give lcrash a /var/mmfs/tmp/complete.map?\n");
+  }
+  return 0;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmadddisk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmadddisk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmadddisk	(revision 16)
@@ -0,0 +1,781 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)14 1.128.1.3 src/avs/fs/mmfs/ts/admin/mmadddisk.sh, mmfs, avs_rgpfs24, rgpfs24s005a 7/14/06 17:46:24
+################################################################################
+#
+# Usage:
+#   mmadddisk Device {"DiskDesc[;DiskDesc...]" | -F DescFile} [-a] [-r]
+#     [-v {yes | no}] [-N {all | mount | Node[,Node...] | NodeFile | NodeClass}]
+#
+# where
+#   Device    is the file system device name
+#   DiskDesc  is the same syntax as DiskDesc of mmcrfs
+#   -r        rebalance stripe group when done
+#   -a        if -r specified, command returns before rebalancing is finished
+#   -v        make sure the disk does not belong to another file system
+#   -N        parallel restripe options:
+#               all        - use all of the nodes in the cluster
+#               mount      - use only the nodes on which the fs is mounted
+#               node list  - use only the nodes in the list
+#               node file  - use only the nodes in the file
+#               node class - use only the nodes in the class
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmadddisk.sh"
+[[ -n $DEBUG || -n $DEBUGmmadddisk ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+tsddFile=${tmpDir}tsddFile.${mmcmd}.$$     # tsadddisk format disk descriptors
+descfile=${tmpDir}descfile.${mmcmd}.$$     # temp file for descriptors
+freeDisks=${tmpDir}freeDisks.${mmcmd}.$$   # available unused disks
+
+LOCAL_FILES=" $tsddFile $descfile $freeDisks "
+
+
+# Local variables
+usageMsg=296
+noUsageMsg=0
+integer seqNo=0
+
+
+# Local functions
+
+#####################################################
+# This function is called if there is an interrupt
+# after some sdr changes are committed.
+#####################################################
+function localPosttrap
+{
+  # Restriping may not have finished.
+  [[ -n $rflag && -z $aflag ]] &&  \
+    printErrorMsg 35 $mmcmd
+
+  # Exit via the standard post trap routine.
+  posttrap
+}
+
+
+
+######################
+# Mainline processing
+######################
+
+
+######################################
+# Process the command line arguments.
+######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+
+if [[ $arg2 != "-F" ]]
+then
+  # If the second argument is not -F, it must be a disk descriptor list.
+  desclist=$arg2
+  # Ensure that semi-colon is used as a disk name separator.
+  [[ "$desclist" = *+([,${BLANKchar}${TABchar}])* ]] &&  \
+    syntaxError "badSeparator_notSemicolon" $noUsageMsg
+
+else
+  # -F specified.  The third argument must be a file name.
+  if [[ -z $arg3 ]]
+  then
+    syntaxError "missingFile" $usageMsg
+  else
+    # Verify the existence of the file and create our own copy.
+    checkUserFile $arg3 $descfile
+    [[ $? -ne 0 ]] && cleanupAndExit
+    shift
+  fi  # end of if [[ -z $arg3 ]]
+fi  # end of if [[ $arg2 != "-F" ]]
+
+# Move past the required parameters.
+shift 2
+
+# Check the validity of the flags.
+while getopts :arv:N: OPT
+do
+  case $OPT in
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag=yes
+       ;;
+
+    r) [[ -n $rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       rflag=yes
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nodeList="$OPTARG"
+       Nflag="-N $OPTARG"
+       ;;
+
+    v) [[ -n $vflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       if [[ $OPTARG = yes || $OPTARG = no ]]
+       then
+         vflag="-v $OPTARG"
+       else
+         syntaxError "YesNoValue" $noUsageMsg "-$OPT"
+       fi
+       ;;
+
+    +[arvN])
+     syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#####################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+oddState=$5
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+# Check whether some of the disks in the file system may be in an odd state.
+if [[ $oddState = yes ]]
+then
+  # Some of the disks in the file system appear to be in an odd state.
+  # Reconcile the sdrfs file with the GPFS daemon's view of the filesystem.
+  $cp $mmsdrfsFile $newsdrfs
+  reconcileSdrfsWithDaemon $deviceName $newsdrfs
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # reconcileSdrfsWithDaemon failed.
+    printErrorMsg 171 $mmcmd reconcileSdrfsWithDaemon $rc
+    # Tell the user to run mmcommon recoverfs against the file system.
+    printErrorMsg 103 $mmcmd $deviceName $deviceName
+    cleanupAndExit
+  fi
+
+  # Obtain the generation number from the version line of the new sdrfs file.
+  versionLine=$($head -1 $newsdrfs)
+  IFS=':'
+  set -f ; set -- $versionLine ; set +f
+  newGenNumber=$6
+  IFS="$IFS_sv"
+
+  # Commit the reconciled version of the sdrfs file to the server
+  # so the admin scripts and the daemon are in sync.
+  trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+  gpfsObjectInfo=$(commitChanges  \
+    $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  if [[ $? -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    # Tell the user to run mmcommon recoverfs against the filesystem.
+    printErrorMsg 190 $mmcmd $deviceName $deviceName
+    printErrorMsg 104 $mmcmd mmadddisk
+    cleanupAndExit
+  fi
+  trap posttrap HUP INT QUIT KILL
+fi  # end of if [[ $oddState = yes ]]
+
+
+#######################################################
+# If a list of nodes was specified via the -N option,
+# convert it to a verified list of daemon node names.
+#######################################################
+if [[ -n $Nflag && $nodeList != all && $nodeList != mount ]]
+then
+  createVerifiedNodefile "$nodeList" $DAEMON_NODENAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+  # Convert the output data from a file to a comma-separated list.
+  newNodeList=$(print -- $(cat $nodefile) | $sed 's/ /,/g')
+  Nflag="-N $newNodeList"
+fi  # end of if [[ -n $Nflag && $nodeList != all && $nodeList != mount ]]
+
+
+#########################################################################
+# Create a new version of the mmsdrfs file with a new generation number
+# for the final commit after the tsadddisk command has succeeded.
+# Generate a file with the reliable host names of the affected nodes.
+#########################################################################
+$rm -f $nodefile $newsdrfs $freeDisks $allQuorumNodes
+$touch $freeDisks  # Ensure the file exists even if empty.
+IFS=":"            # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+       # Increment the generation number by 1.
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+       ;;
+
+    $MEMBER_NODE )  # This line describes a node that belongs to some nodeset.
+       # Add the reliable node name to nodefile.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+       checkForErrors "writing to file $nodefile" $?
+
+       # Create a list of the quorum nodes.
+       if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+       then
+         print -- "${v[$REL_HOSTNAME_Field]}" >> $allQuorumNodes
+         checkForErrors "writing to file $allQuorumNodes" $?
+       fi
+
+       # If the node that is executing this command is part of the nodeset,
+       # designate it as a "preferred node".
+       [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+         preferredNode=${v[$REL_HOSTNAME_Field]}
+       ;;
+
+    $SG_HEADR )  # This is the header line for some file system.
+       # Check whether the filesystem has disks that are in an "odd state".
+       if [[ -n ${v[$ODD_STATE_Field]} && ${v[$ODD_STATE_Field]} != no ]]
+       then
+         # Is this filesystem a different one than the one for which
+         # this command was invoked?
+         if [[ ${v[$DEV_NAME_Field]} != $deviceName ]]
+         then
+           # The "odd state" flag is set for a different file system
+           # than our filesystem.  Add the name of the file system to a
+           # list of filesystems to be reported to the user later.
+           fsOddStateList="${fsOddStateList} ${v[$DEV_NAME_Field]}"
+         else
+           # The "odd state" flag is set for the file system
+           # for which this command was invoked.
+           :  # Allow the command to proceed, since it may succeed.
+              # We will report any failures if it does not.
+         fi
+       else
+         # Is this filesystem the one for which this command was invoked?
+         if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+         then
+           # Set the "odd state" field in case we don't succeed.
+           # We will reset it later if tsadddisk succeeds.
+           v[$ODD_STATE_Field]=mmadddisk
+         fi
+       fi
+       ;;
+
+    $SG_DISKS )  # This line describes a disk that belongs to some file system.
+       # If this disk belongs to our file system, make sure the line
+       # has a valid sequence number.  Older file systems were created
+       # without numbering the lines.  Furthermore, it is possible to add
+       # disks from a node that still runs a previous GPFS release and this
+       # could result in SG_DISKS lines without a line number.
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       then
+         seqNo=seqNo+1
+         v[$LINE_NUMBER_Field]=$seqNo
+       fi
+
+       # Collect the SG_DISKS lines for all free disks into a file.
+       # These are the disks that are available to the new file system.
+       if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+       then
+         print_newLine >> $freeDisks
+         printLine=false
+       fi
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end of "Change some of the fields . . . "
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+###########################################################
+# If a descriptor list is specified on the command line,
+# create a file with one disk descriptor per line.
+# Note:  If the input is in a file, descfile was created
+#        by the checkUserFile function.
+###########################################################
+if [[ -n $desclist ]]
+then
+  # Copy the descriptors into a temporary file.
+  $rm -f $descfile
+  IFS=";"
+  for diskDesc in $desclist
+  do
+    [[ -z $diskDesc ]] && continue
+    print -- "$diskDesc" >> $descfile
+    checkForErrors "writing to file $descfile" $?
+  done  # end for diskDesc in $desclist
+  IFS="$IFS_sv"
+fi  # end of if [[ -n $desclist ]]
+
+
+##########################################################
+# Make sure that there is at least one free disk line.
+##########################################################
+if [[ ! -s $freeDisks ]]
+then
+  # There are no available free disks.
+  printErrorMsg 470 $mmcmd $mmcmd mmcrnsd
+  cleanupAndExit
+fi
+
+
+#########################################################################
+# Process the descriptors for the new disks.  If all of the information
+# is correct, the descriptor is converted into the format recognized by
+# the tsadddisk command.
+#########################################################################
+$rm -f $tsddFile
+foundErrors=false
+exec 3<&-
+exec 3< $descfile
+while read -u3 mmDiskDesc
+do
+  # Skip empty and comment lines.
+  [[ $mmDiskDesc = *([$BLANKchar$TABchar])   ]] && continue
+  [[ $mmDiskDesc = *([$BLANKchar$TABchar])#* ]] && continue
+
+  # Parse mmDiskDesc to get the name of the disk.
+  IFS=':'
+  set -f ; set -- $mmDiskDesc ; set +f
+  diskName=$1
+  IFS="$IFS_sv"
+
+  if [[ -z $diskName ]]
+  then
+    # The disk name must be specified in the disk descriptor.
+    printErrorMsg 23 $mmcmd
+
+    # Show the bad descriptor.
+    printErrorMsg 386 $mmcmd "$mmDiskDesc"
+
+    # The command will fail, but before giving up, we will check the
+    # remainder of the descriptors to flush out as many errors as possible.
+    foundErrors=true
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+
+    # Move to the next descriptor.
+    continue
+  fi
+
+  # Locate and extract the FREE_DISK line for this disk.
+  $rm -f $tmpfile
+  seqNo=seqNo+1
+  freeDiskLine=$($awk -F: '                                                   \
+    # If the line is for our disk, assign it to freeDiskLine.                 \
+    # Do not put the line in the temp file.                                   \
+    $'$DISK_NAME_Field' == "'$diskName'"  {                                   \
+        { $'$LINE_NUMBER_Field' = "'$seqNo'" }                                \
+        { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                $21":"$22":"$23":"$24":"$25":"$26":"$27":" }                  \
+        { next }                                                              \
+     }                                                                        \
+    # If the line is for some other disk, add it to tmpfile.                  \
+    { print $0 >> "'$tmpfile'" }                                              \
+  ' $freeDisks)
+  checkForErrors awk $?
+
+  # Prepare the freeDisks file for the next iteration.
+  # It will contain all of its original lines except the line
+  # that describes the disk that is currently being processed.
+  $touch $tmpfile    # Ensure file exists even if empty.
+  $mv $tmpfile $freeDisks
+  checkForErrors "mv $tmpfile $freeDisks" $?
+
+  # If not found, issue an appropriate error message.
+  if [[ -z $freeDiskLine ]]
+  then
+    # Check whether the disk already belongs to some file system.
+    fileSystem=$(findFSforDisk "$diskName" $newsdrfs)
+    if [[ -n $fileSystem ]]
+    then
+      # The disk is already assigned to a file system.
+      # This may be because the disk was specified more than once as input,
+      # or because the disk was assigned to the file system in the past.
+      printErrorMsg 265 $mmcmd $diskName $fileSystem
+      # Show the bad descriptor.
+      printErrorMsg 386 $mmcmd "$mmDiskDesc"
+    else
+      # Print error stating disk descriptor should refer to an existing NSD.
+      printErrorMsg 415 $mmcmd "$mmDiskDesc"
+    fi
+
+    # The command will fail, but before giving up, we will check the
+    # remainder of the descriptors to flush out as many errors as possible.
+    foundErrors=true
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+
+    # Move to the next descriptor.
+    continue
+  fi  # end of if [[ -z $freeDiskLine ]]
+
+  # Check the correctness of the disk descriptor.  If everything is OK,
+  # validateAndConvertNsdDescriptor will convert the descriptor into its
+  # tsadddisk format and will create the SG_DISKS line for the new disk.
+  validateDescriptorOutput=$(validateAndConvertNsdDescriptor "$mmDiskDesc"  \
+                             $freeDiskLine $deviceName $fsHomeCluster mmadd)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # If an error was found, the validate routine issued a message.
+    # We will now print the entire descriptor to help the guy some more.
+    printErrorMsg 386 $mmcmd "$mmDiskDesc"
+
+    # The command will fail, but before giving up, we will check the remainder
+    # of the descriptors to flush out as many errors as possible.
+    foundErrors=true
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+
+    # Move to the next descriptor.
+    continue
+  fi   # end of if [[ $rc -ne 0 ]]
+
+  # If the descriptor seems to be OK, parse the output
+  # from the validateAndConvertNsdDescriptor routine.
+  set -f ; set -- $validateDescriptorOutput ; set +f
+  updatedDiskLine="$1"
+  tsDiskDesc="$2"
+  diskUsage="$3"
+
+  # Add the converted descriptor to the input for tsadddisk.
+  print -- $tsDiskDesc >> $tsddFile
+  checkForErrors "writing to file $tsddFile" $?
+
+  # Add the SG_DISKS line for the new disk to the mmsdrfs file.
+  print -- $updatedDiskLine >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+done   # end of while read -u3 mmDiskDesc
+
+# Give up if there were errors with one or more of the descriptors.
+if [[ $foundErrors = true ]]
+then
+  # Command failed.
+  printErrorMsg 389 $mmcmd
+  cleanupAndExit
+fi
+
+# If there are any SG_DISKS lines for remaining free disks,
+# put them back in the mmsdrfs file.
+if [[ -s $freeDisks ]]
+then
+  $cat $freeDisks >> $newsdrfs
+  checkForErrors "cat $freeDisks >> $newsdrfs" $?
+fi
+
+# Make a copy of the current mmsdrfs file.  It may be needed
+# to restore the mmsdrfs file if the tsadddisk command fails.
+$cp $mmsdrfsFile $oldsdrfs
+checkForErrors cp $?
+
+
+############################################################################
+# Do the "pre-commit" of the sdrfs file.  The most important changes
+# being recorded are the indication that an mmadddisk is in progress and
+# the free disks that have been changed to belong to the file system with
+# a disk status of mmadd to indicate they are being added by mmadddisk.
+############################################################################
+# Sort the new version of the mmsdrfs file.
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+checkForErrors "sorting $newsdrfs" $?
+
+trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+gpfsObjectInfo=$(commitChanges  \
+  $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We were unable to replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+trap localPosttrap HUP INT QUIT KILL
+
+
+################################
+# Invoke the tsadddisk command.
+################################
+$mmcommon onactive $preferredNode $nodefile                      \
+                   $tsddFile $NO_MOUNT_CHECK NULL $NO_LINK       \
+                   tsadddisk "$fqDeviceName -F $tsddFile $vflag"
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # tsadddisk failed.
+  printErrorMsg 104 $mmcmd tsadddisk
+
+  # Was the GPFS daemon up anywhere for tsadddisk to run?
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # tsadddisk was never attempted because the daemon was not up anywhere.
+    # Make a modified version of the original sdrfs file with the generation
+    # number in the global header incremented by 2 but no other changes.
+    $rm -f $newsdrfs
+    newGenNumber=$($awk -F:  '                                                 \
+      BEGIN { gen = 0 }                                                        \
+      # If this is the global header line, increment the gen number.           \
+      /^'$GLOBAL_ID:$VERSION_LINE:'/ {                                         \
+        { gen = $'$SDRFS_GENNUM_Field' + 2 }                                   \
+        { $'$SDRFS_GENNUM_Field' = gen }                                       \
+        { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"   \
+                $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"   \
+                $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$newsdrfs'" }  \
+        { next }                                                               \
+      }                                                                        \
+      # All other lines are printed without change.                            \
+      { print $0 >> "'$newsdrfs'" }                                            \
+      END { print gen }                                                        \
+    ' $oldsdrfs)
+    checkForErrors awk $?
+  else
+    # Since tsadddisk was attempted but failed, reconcile the
+    # sdrfs file with the GPFS daemon's view of the filesystem.
+    reconcileSdrfsWithDaemon $deviceName $newsdrfs
+    rc2=$?
+    if [[ $rc2 -ne 0 ]]
+    then
+      # reconcileSdrfsWithDaemon failed.
+      printErrorMsg 171 $mmcmd reconcileSdrfsWithDaemon $rc2
+      # Tell the user to run mmcommon recoverfs against the filesystem.
+      printErrorMsg 190 $mmcmd $deviceName $deviceName
+      cleanupAndExit $rc
+    fi
+    # Obtain the generation number from the version line of the new sdrfs file.
+    versionLine=$($head -1 $newsdrfs)
+    IFS=':'
+    set -f ; set -- $versionLine ; set +f
+    newGenNumber=$6
+    IFS="$IFS_sv"
+  fi  # end of if [[ $rc -eq $MM_DaemonDown ]]
+
+  # Commit the modified version of the sdrfs file to the server.
+  trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+  gpfsObjectInfo=$(commitChanges  \
+    $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  if [[ $? -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    # Tell the user to run mmcommon recoverfs against the filesystem.
+    printErrorMsg 190 $mmcmd $deviceName $deviceName
+  fi
+
+  # Unlock the sdr.
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+  trap localPosttrap HUP INT QUIT KILL
+
+  # Propagate the new mmsdrfs file.  This process is asynchronous.
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+  # Exit.
+  cleanupAndExit $rc
+fi
+
+
+###################################################################
+# If here, tsadddisk was successful.
+# Invoke routine to reset the "odd state" flag on the filesystem's
+# SG_HEADR line and change the SG_DISKS lines with a disk status
+# of mmadd to a regular (null) disk status.  The new mmsdrfs file
+# is then committed.  This makes the new disks visible to future
+# mm commands and to the mmcommon getEFOptions function.
+###################################################################
+# Reset the status fields of the disks we just added.
+resetDiskStatus $deviceName $newsdrfs mmadd
+checkForErrors updateDiskStatus $?
+
+# Obtain the generation number from the version line of the new sdrfs file.
+versionLine=$($head -1 $newsdrfs)
+IFS=':'
+set -f ; set -- $versionLine ; set +f
+newGenNumber=$6
+IFS="$IFS_sv"
+
+# Commit the new mmsdrfs file.
+trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+gpfsObjectInfo=$(commitChanges  \
+   $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We were unable to replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  # Tell the user to run mmcommon recoverfs against the filesystem.
+  printErrorMsg 190 $mmcmd $deviceName $deviceName
+  cleanupAndExit
+fi
+
+
+##################
+# Unlock the sdr.
+##################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap localPosttrap HUP INT QUIT KILL
+
+
+######################################################################
+# Tell the daemon to invalidate its currently-cached mount options.
+######################################################################
+$mmcommon onactive $preferredNode $allQuorumNodes  \
+                   $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+                   tsctl resetEFOptions $fqDeviceName > $errMsg 2>&1
+rc=$?
+[[ $rc = $MM_DaemonDown ]] && rc=0
+[[ $rc -ne 0 && -s $errMsg ]] && cat $errMsg 2>&1
+$rm -f $errMsg
+
+
+#################################################################
+# Propagate the new mmsdrfs file.  This process is asynchronous.
+#################################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+
+#########################################
+# Restripe the file system if requested.
+#########################################
+if [[ -n $rflag ]]
+then
+  if [[ -n $aflag ]]
+  then
+    $ln $nodefile ${nodefile}async2
+    $mmcommon onactive_async $preferredNode  \
+      ${nodefile}async2 $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+      tsrestripefs "$fqDeviceName -b $Nflag" >/dev/null 2>/dev/null &
+  else
+    # Start restriping the file system.
+    printInfoMsg 95 $device
+    $mmcommon onactive  \
+        $preferredNode $nodefile $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+        tsrestripefs "$fqDeviceName -b $Nflag"
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      # The restripe step failed.
+      printErrorMsg 104 $mmcmd tsrestripefs
+      # Warning:  File system may be unbalanced.
+      printErrorMsg 313 $mmcmd
+      cleanupAndExit
+    else
+      # Disable error message in localPosttrap.
+      rflag="r"
+      # Finished restriping.
+      printInfoMsg 99
+    fi
+  fi  # end if [[ -n $aflag ]]
+fi  # end if [[ -n $rflag ]]
+
+
+#####################################################################
+# If an "odd state" flag was encountered for any other file systems
+# in the mmsdrfs file, tell the user to issue commands to reconcile
+# the mmsdrfs file with the GPFS daemon's view of the filesystems.
+#####################################################################
+for fsname in $fsOddStateList
+do
+  # Tell the user to run mmcommon recoverfs against the file system.
+  printErrorMsg 103 $mmcmd $fsname $fsname
+done
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmaddnode
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmaddnode	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmaddnode	(revision 16)
@@ -0,0 +1,932 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)15 1.136.1.3 src/avs/fs/mmfs/ts/admin/mmaddnode.sh, mmfs, avs_rgpfs24, rgpfs24s005a 6/14/06 14:39:38
+###############################################################################
+#
+# Usage:
+#
+#   mmaddnode -N {NodeDesc[,NodeDesc...] | NodeFile}
+#
+# where:
+#
+#   -N NodeDesc,NodeDesc,...  specifies a comma-separated list of node
+#                             descriptors that detail the node interfaces
+#                             to be added to the cluster.  The nodes must not
+#                             presently belong to the cluster.
+#
+#   -N NodeFile    specifies a file of node descriptors that detail
+#                  the node interfaces to be added to the cluster.
+#                  The nodes must not presently belong to the cluster.
+#
+# Obsolete but still supported options:
+#
+#   NodeDesc,NodeDesc,...   specifies a comma-separated list of node
+#                           descriptors that detail the node interfaces
+#                           to be added to the cluster.  The nodes must not
+#                           presently belong to the cluster.
+#
+#   -n NodeFile    specifies a file of node descriptors that detail
+#                  the node interfaces to be added to the cluster.
+#                  The nodes must not presently belong to the cluster.
+#
+# Each node descriptor has the format:
+#
+#   nodeName:nodeRoles:adminNodeName:
+#
+# where
+#
+#   nodeName        is either a short or fully-qualified hostname,
+#                   or an IP address for the primary GPFS network
+#                   to be used for daemon-to-daemon communications.
+#
+#   nodeRoles       is a '-' separated list of node roles.  Unless changed
+#                   on the mmconfig or mmaddnode commands, these roles will
+#                   be associated with the node when it becomes a member of
+#                   a nodeset.
+#
+#   adminNodeName   is either a short or fully-qualified hostname, or an IP
+#                   address to be used by the admin scripts to communicate
+#                   between nodes.  This is an optional parameter; if it
+#                   is not specified, the nodeName value is used.
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmaddnode.sh"
+[[ -n $DEBUG || -n $DEBUGmmaddnode ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+allnodes=${tmpDir}allnodes.${mmcmd}.$$
+allnodenames=${tmpDir}allnodenames.${mmcmd}.$$
+goodnodes=${tmpDir}goodnodes.${mmcmd}.$$
+processedNodes=${tmpDir}processedNodes.${mmcmd}.$$
+inputNodes=${tmpDir}inputNodes.${mmcmd}.$$
+oldcfgFile=${tmpDir}oldcfgFile.${mmcmd}.$$
+diskLines=${tmpDir}diskLines.${mmcmd}.$$
+
+LOCAL_FILES=" $allnodenames $allnodes $goodnodes $processedNodes $inputNodes $oldcfgFile $diskLines "
+
+
+# Local declarations
+
+usageMsg=355
+integer nodeCount=0
+integer nodeNumber=0
+integer totalNodeCount=0
+integer quorumNodeCount=0
+integer nodesAddedToCluster=0
+integer highestNodeNumber=0
+narg=""
+lapiWindow=$noWindow      # obsolete
+switchNumber=$noSwitch    # obsolete
+quorumDefault=$nonQuorumNode
+fatalError=""
+rc=0
+typeset -l role
+typeset -l adapter_lc
+
+
+# Local routines
+
+
+#####################################################################
+#
+# Function:  Verifies that a command executed successfully.
+#            If the return code from the command is not zero,
+#            the function issues a message and sets a failure flag.
+#            It returns with the same return code that was specified
+#            on input.
+#
+# Input:     $1 - name of the command to check
+#            $2 - return code from the execution of the command
+#
+#####################################################################
+function checkForErrorsAndReturn
+{
+  typeset sourceFile="mmaddnode.sh"
+  $mmTRACE_ENTER "$*"
+  if [ $2 != "0" ]
+  then
+    fatalError=yes
+    # Unexpected error
+    printErrorMsg 171 "$mmcmd" "$1" $2
+  fi
+
+  return $2
+
+}  #------ end of function checkForErrorsAndReturn --------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+while getopts :n:N: OPT
+do
+  case $OPT in
+
+    n) # node descriptors file
+       [[ -n $narg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       narg=$OPTARG
+       argc=argc-2
+       ;;
+
+    N) # node descriptors list or file
+       [[ -n $Narg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Narg=$OPTARG
+       argc=argc-2
+       ;;
+
+    +[nN]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+
+done  # end of while getopts :n:N: OPT do
+
+# Drop the processed options from the parameter list.
+shift OPTIND-1
+
+
+# Complete the parameter checking.
+[[ -n $narg && -n $Narg ]] &&  \
+  syntaxError "invalidCombination" $usageMsg "-n" "-N"
+
+if [[ -n $Narg ]]
+then
+  # The -N parameter may be either a list or a file.  Which is it?
+  if [[ -f $Narg ]]
+  then
+    # It is a file; verify its existence and create our own copy.
+    checkUserFile $Narg $inputNodes
+    [[ $? -ne 0 ]] && cleanupAndExit
+  else
+    # It is not a file, so it must be a list.
+    # Convert the input node list into a file.
+    $rm -f $inputNodes
+    IFS=','
+    for nodeDesc in $Narg
+    do
+      print -- "$nodeDesc" >> $inputNodes
+      checkForErrors "writing to $inputNodes" $?
+    done
+    IFS="$IFS_sv"    # Restore the default IFS setting.
+  fi  # end of if [[ -f $Narg ]]
+
+elif [[ -z $narg ]]
+then
+  # If neither the -N nor the -n option is not used,
+  # a list of node names is required.
+  if [[ $argc -eq 1 ]]
+  then
+    # If there is exactly one string left,
+    # it is assumed to be the list of nodes to add.
+    arglist=$1
+  elif [[ $argc -gt 1 ]]
+  then
+    # If more than one string is left,
+    # we have a syntax error.
+    syntaxError "extraArg" $usageMsg "$2"
+  else
+    # If there are no more parameters,
+    # a required parameter is missing.
+    syntaxError "missingArgs" $usageMsg
+  fi
+
+  # Convert the input node list into a file.
+  $rm -f $inputNodes
+  IFS=','
+  for nodeDesc in $arglist
+  do
+    print -- "$nodeDesc" >> $inputNodes
+    checkForErrors "writing to $inputNodes" $?
+  done
+  IFS="$IFS_sv"    # Restore the default IFS setting.
+
+else
+  # If -n is specified, there should be no other parms.
+  [[ $argc -gt 0 ]] &&  \
+    syntaxError "extraArg" $usageMsg "$1"
+
+  # Check the node names file parameter and create our own copy.
+  checkUserFile $narg $inputNodes
+  [[ $? -ne 0 ]] && cleanupAndExit
+fi   # end of if [[ -z $narg ]]
+
+
+######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+######################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+if [[ $MMMODE != lc ]]
+then
+  # Command is not valid in the user's environment.
+  printErrorMsg 376 $mmcmd $MMMODE
+  cleanupAndExit
+fi
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+####################################################
+# Find out if disk-based quorum is in effect.
+####################################################
+diskQuorumInEffect=$(showCfgValue tiebreakerDisks)
+[[ $diskQuorumInEffect = no ]] && diskQuorumInEffect=""
+
+
+############################################################
+# Go through the current mmsdrfs file.
+# Increment the gen number and collect needed information.
+############################################################
+$rm -f $newsdrfs $allnodenames $allnodes $diskLines $oldcfgFile
+[[ -z $backupServer ]] && backupServer="_NOSECONDARY_"
+
+IFS=":"         # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+      # Increment the generation number
+      newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+      v[$SDRFS_GENNUM_Field]=$newGenNumber
+
+      # Create the overloaded clType and clusterIdAndSt parameters
+      # that will be passed to the checkNewClusterNode routine.
+      clType="${MMMODE}/${environmentType}"
+      clusterIdAndSt="${v[$CLUSTERID_Field]}:${v[$CLUSTER_SUBTYPE_Field]}"
+      ;;
+
+    $NODESET_HDR )    # This is the nodeset header line.
+      # Skip over this line.  It will be rebuilt after
+      # we have the new value for node count.
+      nodesetHdr=$sdrfsLine
+      nodeCount=${v[$NODE_COUNT_Field]}
+      lowestVersion=${v[$MIN_DAEMON_VERSION_Field]}
+      highestVersion=${v[$MAX_DAEMON_VERSION_Field]}
+      osEnvironment=${v[$OS_ENVIRONMENT_Field]}
+      [[ -z $highestVersion ]] && highestVersion=0
+      [[ -z $osEnvironment ]] && osEnvironment=$osName
+      printLine=false
+      ;;
+
+    $MEMBER_NODE )  # This line describes a node.
+      # Keep track of the highest node number assigned to a node.
+      [[ $highestNodeNumber -lt ${v[$NODE_NUMBER_Field]} ]] &&  \
+        highestNodeNumber=${v[$NODE_NUMBER_Field]}
+
+      # Add the node's admin name to the list of admin names in the cluster.
+      print -- "${v[$REL_HOSTNAME_Field]}" >> $allnodes
+      checkForErrors "writing to file $allnodes" $?
+
+      # Add the daemon node name and the admin node name to the
+      # list of all daemon and admin node names in the cluster.
+      print -- "${v[$DAEMON_NODENAME_Field]}:${v[$REL_HOSTNAME_Field]}" >> $allnodenames
+      checkForErrors "writing to file $allnodenames" $?
+
+      # Keep track of the overall number of quorum nodes.
+      # If disk quorum is in effect, collect information
+      # about the quorum nodes in the cluster.
+      if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+      then
+        (( quorumNodeCount += 1 ))
+        if [[ -n $diskQuorumInEffect ]]
+        then
+          if [[ -z $quorumNodeNames ]]
+          then
+            # This is the first node to add to the lists.
+            quorumNodeNumbers="${v[$NODE_NUMBER_Field]}"
+            quorumNodeNames="${v[$REL_HOSTNAME_Field]}"
+          else
+            if [[ ${v[$REL_HOSTNAME_Field]} = $ourNodeName ]]
+            then
+              # This is the local node; add it at the front of the lists
+              # so it will be the first quorum node used.
+              quorumNodeNumbers="${v[$NODE_NUMBER_Field]},${quorumNodeNumbers}"
+              quorumNodeNames="${v[$REL_HOSTNAME_Field]},${quorumNodeNames}"
+            else
+              # This is not the local node; add it at the end of the lists.
+              quorumNodeNumbers="${quorumNodeNumbers},${v[$NODE_NUMBER_Field]}"
+              quorumNodeNames="${quorumNodeNames},${v[$REL_HOSTNAME_Field]}"
+            fi
+          fi  # end of if [[ -z $quorumNodeNames ]]
+        fi  # end of if [[ -n $diskQuorumInEffect ]]
+      fi  # end of if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+      ;;
+
+    $SG_DISKS )  # This line describes a disk.
+      # Collect the lines that represent the quorum disks.
+      if [[ -n $diskQuorumInEffect && ${v[$PAXOS_Field]} = $PaxosDisk ]]
+      then
+        print_newLine >> $diskLines
+        checkForErrors "writing to file $diskLines" $?
+      fi  # end if [[ -n $diskQuorumInEffect && ...
+      ;;
+
+    $MMFSCFG )     # This line contains mmfs.cfg information.
+      # Extract the mmfs.cfg information.
+      # It is everything after the first 4 fields.
+      cfgLine="${v[5]}:${v[6]}:${v[7]}:${v[8]}:${v[9]}:${v[10]}:${v[11]}"
+      cfgLine="$cfgLine:${v[12]}:${v[13]}:${v[14]}:${v[15]}:${v[16]}"
+      cfgLine="$cfgLine:${v[17]}:${v[18]}:${v[19]}:${v[20]}:${v[21]}:${v[22]}"
+
+      # To preserve tabs, temporarily set IFS to new line only.
+      IFS="
+"
+      # Strip trailing colons and write the line to the file.
+      print "${cfgLine%%+(:)}" >> $oldcfgFile
+      checkForErrors "writing to file $oldcfgFile" $?
+      IFS="$IFS_sv"
+      printLine=false
+
+      # Retrieve the value of maxFeatureLevelAllowed.
+      set -f ; set -- $cfgLine ; set +f
+      attribute=$1
+      value=$2
+      [[ $attribute = maxFeatureLevelAllowed ]] &&  \
+        maxFeatureLevelAllowed=${value%%+(:)}
+      ;;
+
+    * )  # No need to look at any of the other lines.
+      ;;
+
+  esac  # end Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+# Save the highest node number found.
+nodeNumber=$highestNodeNumber
+
+
+#######################################################################
+# Generate the node information for the mmsdrfs file.
+#
+# Loop through the nodes to be added to the sdrfs file, checking
+# as we go.  When the loop is done we know which nodes can be added
+# to the sdrfs file and which ones can't.  A MEMBER_NODE line will be
+# generated for each node that can be added to the new GPFS cluster.
+#######################################################################
+# Loop through the nodes to be added.
+$rm -f $tmpsdrfs $goodnodes $processedNodes
+$touch $tmpsdrfs $goodnodes $processedNodes
+exec 3<&-
+exec 3< $inputNodes
+while read -u3 nodeDesc
+do
+  # Skip empty and comment lines
+  [[ $nodeDesc = *([$BLANKchar$TABchar])   ]] && continue
+  [[ $nodeDesc = *([$BLANKchar$TABchar])#* ]] && continue
+
+  # Keep track of the total number of nodes specified by the user.
+  totalNodeCount=$totalNodeCount+1
+
+  IFS=':'
+  set -f ; set -- $nodeDesc ; set +f
+  nodeName=$1
+  nodeRoles=$2
+  nodeName2=$3
+  IFS="$IFS_sv"
+
+  [[ $nodeName = "localhost" ]] && continue
+
+  # Process the node roles list.
+  designation=$CLIENT
+  quorumField=$quorumDefault
+  if [[ -n $nodeRoles ]]
+  then
+    IFS="-"
+    set -f ; set -- $nodeRoles ; set +f
+    IFS="$IFS_sv"
+    while [[ -n $1 ]]
+    do
+      role=$1  # Convert the node's role to lower case only.
+      case $role in
+        $CLIENT )
+          designation=$CLIENT
+          ;;
+
+        $MANAGER )
+          designation=$MANAGER
+          ;;
+
+        $QUORUM )
+          quorumField=$quorumNode
+          ;;
+
+        $NONQUORUM ) quorumField=$nonQuorumNode
+          ;;
+
+        * )
+          # Invalid node designations specified.
+          printErrorMsg 293 $mmcmd "$nodeDesc"
+          fatalError=yes
+          break 2
+          ;;
+      esac
+
+      # Move to the next field.
+      shift
+    done  # end while [[ -n $1 ]]
+  fi  # end if [[ -n $nodeRoles ]]
+
+  # Determine the value of addNodeState.
+  if [[ $quorumField = $nonQuorumNode ]]
+  then
+    addNodeState=$OLD_NODE
+  else
+    addNodeState=$NEW_NODE
+  fi
+
+  # At this point, the daemon node name could be a fully-qualified
+  # adapter port name, a short name, or an IP address.  Determine the
+  # fully-qualified hostname, the short name, and the IP address for
+  # the specified node interface.
+  hostResult=$($host $nodeName)
+  set -f ; set -- $hostResult ; set +f
+  daemonNodeName=$1
+  shortName=${1%% *|.*}    # Exclude everything after the first dot.
+  ipa=${3%%,*}             # Exclude everything after the first comma.
+  if [[ -z $ipa ]]
+  then
+    # Invalid node name specified.
+    printErrorMsg 54 $mmcmd $nodeName
+    fatalError=yes
+    break
+  fi
+
+  # At this point, if it was specified, the admin node name could be a
+  # fully-qualified adapter port name, a short name, or an IP address.
+  # Determine the fully-qualified hostname and the IP address for the
+  # specified node interface.
+  if [[ -n $nodeName2 ]]
+  then
+    # Stop here if the admin network support has not been activated yet.
+    if [[ $sdrfsFormatLevel -eq 0 ]]
+    then
+      print -u2 "$mmcmd:  The separate administration network support has not been enabled yet."
+      print -u2 "    Run \"mmchconfig release=LATEST\" to activate the new function."
+      fatalError=yes
+      break
+    fi
+
+    hostResult=$($host $nodeName2)
+    set -f ; set -- $hostResult ; set +f
+    adminNodeName=$1
+    adminShortName=${1%% *|.*}  # Exclude everything after the first dot.
+    adminIpa=${3%%,*}           # Exclude everything after the first comma.
+    if [[ -z $adminIpa ]]
+    then
+      # An invalid admin node name was specified.
+      printErrorMsg 54 $mmcmd $nodeName2
+      fatalError=yes
+      break
+    fi
+  else
+    # The user did not set a distinct admin node name, so set the
+    # admin node names to be the same as the daemon node names.
+    adminNodeName=$daemonNodeName
+    adminShortName=$shortName
+  fi
+
+  # Assign a node number to the node.
+  nodeNumber=$nodeNumber+1
+  gsNodeNumber=$nodeNumber
+  adapterType=""
+
+  # Ensure that the node interfaces do not already exist in the cluster.
+  $grep -qw $daemonNodeName $allnodenames > /dev/null 2>&1
+  if [[ $? -eq 0 ]]
+  then
+    # The node already belongs to the cluster.
+    printErrorMsg 152 $mmcmd $nodeName
+    fatalError=yes
+    break
+  fi
+  if [[ $adminNodeName != $daemonNodeName ]]
+  then
+    $grep -qw $adminNodeName $allnodenames > /dev/null 2>&1
+    if [[ $? -eq 0 ]]
+    then
+      # The node already belongs to the cluster.
+      printErrorMsg 152 $mmcmd $nodeName2
+      fatalError=yes
+      break
+    fi
+  fi
+
+  # Make sure neither node name (admin or daemon) is specified more than once.
+  $grep -qw $daemonNodeName $processedNodes > /dev/null 2>&1
+  if [[ $? -eq 0 ]]
+  then
+    # The node is specified twice.
+    printErrorMsg 347 $mmcmd $nodeName
+    fatalError=yes
+    break
+  fi
+  if [[ $adminNodeName != $daemonNodeName ]]
+  then
+    $grep -qw $adminNodeName $processedNodes > /dev/null 2>&1
+    if [[ $? -eq 0 ]]
+    then
+      # The node is specified twice.
+      printErrorMsg 347 $mmcmd $nodeName2
+      fatalError=yes
+      break
+    fi
+  fi
+
+  # If disk-based quorum is in effect, make sure that adding
+  # this node will not exceed the total limit of quorum nodes.
+  if [[ -n $diskQuorumInEffect     &&
+        $quorumNodeCount -eq 8     &&
+        $quorumField = $quorumNode ]]
+  then
+    # There are more than eight quorum nodes while tiebreaker disks are in use.
+    printErrorMsg 131 $mmcmd
+    # Adding the node to the cluster will exceed the quorum node limit.
+    printErrorMsg 134 $mmcmd $nodeName
+    fatalError=yes
+    break
+  fi
+
+  # Add the daemon and admin node names to the list of processed nodes.
+  print -- "${daemonNodeName}:${adminNodeName}" >> $processedNodes
+  checkForErrorsAndReturn "writing to file $processedNodes" $?
+  [[ $? -ne 0 ]] && break
+
+  # Build a line with the local node data for the node.  The full-blown
+  # MEMBER_NODE line will be created further down when we have all of the
+  # information that we need.
+  sdrfsLine="$nodesetId:$MEMBER_NODE::$nodeCount:$nodeNumber:$shortName:$ipa"
+  sdrfsLine="$sdrfsLine:$adminNodeName:$designation:$adapterType:$lapiWindow"
+  sdrfsLine="$sdrfsLine:$switchNumber:$addNodeState:$adapterType:$daemonNodeName"
+  sdrfsLine="$sdrfsLine:$adminShortName::::$quorumField:$gsNodeNumber:"
+
+  # Invoke the checkNewClusterNode function to ensure that
+  # the node is new and that its level of GPFS supports clusters.
+  # If it passes these tests, a skeleton sdrfs file is stored on the node.
+  printInfoMsg 416 "$(date)" $mmcmd $daemonNodeName
+  runOutput=$(run on1 $adminNodeName checkNewClusterNode  \
+     $clType $primaryServer $backupServer "$sdrfsLine"    \
+     "$rsh" "$rcp" "$clusterIdAndSt" 2> $errMsg)
+  rc=$?
+  IFS=':'
+  set -f ; set -- $runOutput ; set +f
+  IFS="$IFS_sv"
+  keyword=$1
+  nodeStatus=$2
+  adapterType=$3
+  installedDaemonVersion=$4
+  installedProductVersion=$5
+  installedOsName=$6
+
+  if [[ $rc = 0 && $nodeStatus = success && $keyword = checkNewClusterNode ]]
+  then
+    # The checkNewClusterNode call succeeded.
+    # Build the line that will represent this node in the mmsdrfs file.
+    nodeCount=$nodeCount+1
+    sdrfsLine="$nodesetId:$MEMBER_NODE::$nodeCount:$nodeNumber:$shortName"
+    sdrfsLine="$sdrfsLine:$ipa:$adminNodeName:$designation:$adapterType"
+    sdrfsLine="$sdrfsLine:$lapiWindow:$switchNumber:$addNodeState:$adapterType"
+    sdrfsLine="$sdrfsLine:$daemonNodeName:$adminShortName"
+    sdrfsLine="$sdrfsLine:$installedDaemonVersion:$installedProductVersion"
+    sdrfsLine="$sdrfsLine:$installedOsName:$quorumField:$gsNodeNumber:"
+
+    # Add the MEMBER_NODE line to the other lines
+    # that will go in the mmsdrfs file.
+    print -- "$sdrfsLine" >> $tmpsdrfs
+    checkForErrorsAndReturn "Writing to file $tmpsdrfs" $?
+    [[ $? -ne 0 ]] && break
+
+    # Add the node name to the list of successful nodes.
+    print -- "$adminNodeName" >> $goodnodes
+    checkForErrorsAndReturn "Writing to file $goodnodes" $?
+    [[ $? -ne 0 ]] && break
+    nodesAddedToCluster=$nodesAddedToCluster+1
+
+    if [[ $quorumField = $quorumNode ]]
+    then
+      (( quorumNodeCount += 1 ))
+      if [[ -n $diskQuorumInEffect ]]
+      then
+        newQuorumNodes=yes
+        if [[ -z $quorumNodeNames ]]
+        then
+          # This is the first node to add to the lists.
+          quorumNodeNumbers="${v[$NODE_NUMBER_Field]}"
+          quorumNodeNames="${v[$REL_HOSTNAME_Field]}"
+        else
+          if [[ ${v[$REL_HOSTNAME_Field]} = $ourNodeName ]]
+          then
+            # This is the local node; add it at the front of the lists
+            # so it will be the first quorum node used.
+            quorumNodeNumbers="${v[$NODE_NUMBER_Field]},${quorumNodeNumbers}"
+            quorumNodeNames="${v[$REL_HOSTNAME_Field]},${quorumNodeNames}"
+          else
+            # This is not the local node; add it at the end of the lists.
+            quorumNodeNumbers="${quorumNodeNumbers},${v[$NODE_NUMBER_Field]}"
+            quorumNodeNames="${quorumNodeNames},${v[$REL_HOSTNAME_Field]}"
+          fi
+        fi  # end of if [[ -z $quorumNodeNames ]]
+      fi  # end of if [[ -n $diskQuorumInEffect ]]
+    fi  # end of if [[ $quorumField = $quorumNode ]]
+
+    # Ensure that we will not exceed the maximum number of quorum nodes.
+    if [[ $quorumNodeCount -gt $maxQuorumNodes && -z $fatalError ]]
+    then
+      # Error:  The number of quorum nodes exceeds the maximum allowed.
+      printErrorMsg 393 $mmcmd $maxQuorumNodes
+      fatalError=yes
+      break
+    fi
+
+  else
+    # The checkNewClusterNode call failed.
+    # Not all errors are considered terminal.
+    # If an individual node fails for a known reason,
+    # we will not include it in the cluster but will
+    # continue with the rest of the nodes.
+
+    # Tell the world what went wrong.
+    if [[ $nodeStatus = not_new ]]
+    then
+      # Node already belongs to a cluster.
+      printErrorMsg 348 $mmcmd $adminNodeName
+    elif [[ $nodeStatus = not_supported ]]
+    then
+      # Wrong GPFS code level.
+      printErrorMsg 349 $mmcmd $adminNodeName
+    elif [[ $nodeStatus = ipa_alias ]]
+    then
+      # IP address aliasing is not supported.
+      printErrorMsg 476 $mmcmd $nodeName
+    elif [[ $nodeStatus = ipa_missing ]]
+    then
+      # The daemon node adapter was not found on the admin node.
+      printErrorMsg 175 $mmcmd $nodeName $nodeName2
+    elif [[ $rc = $MM_HostDown || $rc = $MM_ConnectTimeout ]]
+    then
+      # The node cannot be reached.
+      printErrorMsg 340 $mmcmd $adminNodeName
+    else
+      # Unexpected error.  Display all possible error messages.
+      [[ -s $errMsg ]] && $cat $errMsg 1>&2
+      [[ $rc -eq 0 ]] && rc=1
+      checkForErrorsAndReturn "checkNewClusterNode $adminNodeName" $rc
+      run on1 $adminNodeName removeFromCluster > /dev/null 2>&1 &
+#     break
+    fi
+
+    # Append the node name to the list of failed nodes.
+    failedNodes="$failedNodes\n\t\t$adminNodeName"
+
+    # Adjust the node number for the next iteration.
+    nodeNumber=$nodeNumber-1
+
+  fi  # end of if [[ $rc = 0 && $nodeStatus = success ]]
+
+  $rm -f $errMsg
+
+done  # end of while read -u3 nodeDesc (Loop through the nodes to be added)
+
+
+#########################################################
+# If we have no nodes to add, issue a message and quit.
+#########################################################
+if [[ ! -s $goodnodes ]]
+then
+  # Command is quitting due to no valid nodes.
+  printErrorMsg 387 $mmcmd $mmcmd
+  cleanupAndExit
+fi
+
+
+#######################################################################
+# At this point, we have successfully processed all of the new nodes.
+# Next, build the nodeset header line and add it to the mmsdrfs file.
+#######################################################################
+# Parse the old nodeset header line.
+IFS=":"
+set -f ; set -A v -- - $nodesetHdr ; set +f
+IFS="$IFS_sv"
+
+v[$NODE_COUNT_Field]=$nodeCount
+[[ $highestVersion = 0 ]] && highestVersion=""
+v[$MAX_DAEMON_VERSION_Field]=$highestVersion
+v[$OS_ENVIRONMENT_Field]=$osEnvironment
+
+# Add the nodeset header line to the mmsdrfs file.
+print_newLine >> $newsdrfs
+checkForErrors "writing to file $newsdrfs" $?
+
+
+############################################################
+# Add the lines for the new nodes to the new mmsdrfs file.
+############################################################
+$cat $tmpsdrfs >> $newsdrfs
+if [[ $? -ne 0 ]]
+then
+  printErrorMsg 171 "$mmcmd" "copying $tmpsdrfs to $newsdrfs" $?
+  fatalError=yes
+fi
+
+
+#######################################################
+# Put the cfg information back into the mmsdrfs file.
+#######################################################
+if [[ $mmfscfgModified = yes ]]
+then
+  appendCfgFile $nodesetId $tmpCfg $newsdrfs
+else
+  appendCfgFile $nodesetId $oldcfgFile $newsdrfs
+fi
+checkForErrors "appendCfgFile" $?
+mmfscfgModified=no
+
+
+#############################################
+# Sort the new version of the mmsdrfs file.
+#############################################
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+if [[ $? -ne 0 ]]
+then
+  printErrorMsg 171 "$mmcmd" "sorting $newsdrfs" $?
+  fatalError=yes
+fi
+
+
+#####################################################################
+# If disk-based quorum is in effect, and new quorum nodes are being
+# added to the cluster, the quorum disks must be reformatted.
+#####################################################################
+if [[ -n $diskQuorumInEffect && -n $newQuorumNodes && -z $fatalError ]]
+then
+  formatPaxosDisks $diskLines $quorumNodeNumbers $quorumNodeNames mmaddnode
+  if [[ $? -ne 0 ]]
+  then
+    # GPFS failed to initialize the tiebreaker disks.
+    printErrorMsg 132 $mmcmd
+    fatalError=yes
+  fi
+fi
+
+
+####################################################################
+# Issue a warning if we will exceed the maximum recommended number
+# of quorum nodes.
+####################################################################
+if [[ $quorumNodeCount -gt $maxRecQuorumNodes && -z $fatalError ]]
+then
+  # Warning:  The number of quorum nodes exceeds the recommended maximum.
+  printErrorMsg 394 $mmcmd $maxRecQuorumNodes
+fi
+
+
+############################################################
+# If anything failed, remove the skeleton sdrfs files from
+# the new nodes, issue an error message, and die.
+############################################################
+if [[ -n $fatalError ]]
+then
+  # Remove the already-installed system files.
+  printErrorMsg 351 $mmcmd
+  $ln $goodnodes ${goodnodes}async
+  $mmcommon onall_async ${goodnodes}async removeFromCluster &
+
+  # The command failed.
+  printErrorMsg 389 $mmcmd
+  cleanupAndExit
+fi
+
+
+##############################################################
+# Lock the Gpfs object to prevent the daemon from coming up
+# until all changes are successfully committed.
+##############################################################
+[[ $getCredCalled = no ]] && getCred
+setRunningCommand "$mmcmd" $primaryServer
+checkForErrors setRunningCommand $?
+gpfsLocked=yes
+
+
+##########################################################################
+# Put the new mmsdrfs file into the sdr.  This will make the newly-added
+# nodes visible to the rest of the nodes in the cluster.
+##########################################################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $HOME_CLUSTER $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We cannot replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+
+  # Remove the already-installed system files.
+  printErrorMsg 351 $mmcmd
+  $ln $goodnodes ${goodnodes}async
+  $mmcommon onall_async ${goodnodes}async removeFromCluster &
+  cleanupAndExit
+fi
+
+
+#####################################################################
+# Unlock the sdr.
+#####################################################################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+#####################################################################
+# At this point, skeleton sdrfs files have been put on the nodes
+# in the success list.  If there are any nodes in the failure list,
+# we issue a message telling the user to use the mmaddnode command
+# to add them to the sdrfs file once they become reachable.
+#####################################################################
+# Report any nodes that could not be added to the user.
+[[ -n $failedNodes ]] &&  \
+  printErrorMsg 353 $mmcmd "$failedNodes"
+
+# If not all nodes were added to the cluster,
+# tell the user how many made it through.
+[[ $nodesAddedToCluster -lt $totalNodeCount ]] &&  \
+  printErrorMsg 12 $mmcmd $nodesAddedToCluster $totalNodeCount
+
+# Issue "command was successful" message
+printErrorMsg 272 $mmcmd
+
+
+###################################################################
+# Asynchronously propagate the changes to all nodes, new and old.
+###################################################################
+$cat $goodnodes >> $allnodes
+checkForErrors "appending $goodnodes to $allnodes" $?
+propagateSdrfsFile async $allnodes $newsdrfs $newGenNumber rereadNodeList
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmapplypolicy
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmapplypolicy	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmapplypolicy	(revision 16)
@@ -0,0 +1,411 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)93 1.10 src/avs/fs/mmfs/ts/admin/mmapplypolicy.sh, mmfs, avs_rgpfs24, rgpfs240610b 2/17/06 16:50:52
+################################################################################
+#
+# Usage:
+#   mmapplypolicy {Device|Directory} [-P PolicyFile] [-I {yes|defer|test}]
+#                 [-L n] [-D yyyy-mm-dd[@hh:mm[:ss]]] [-s WorkDirectory]
+#
+# where:
+#   Device            The device name of the file system from which files
+#                     are to be deleted or migrated.
+#
+#   Directory         The fully-qualified path name of a GPFS file system
+#                     subtree form which files are to be deleted or migrated.
+#
+#   -P PolicyFilename The name of the file containing the policy rules to be
+#                     applied.  If not specified, the policy rules currently
+#                     in effect for the file system will be used.
+#
+#   -I yes|defer|test  Determines what actions mmapplypolicy will take on files:
+#
+#                      If -I yes is specified, all applicable MIGRATE and DELETE
+#                      policy rules will be executed, and the data movement
+#                      between pools is done during the execution of the
+#                      mmapplypolicy command.  This is the default action.
+#
+#                      If -I defer is specified, all applicable MIGRATE and
+#                      DELETE policy rules will be executed, but the actual
+#                      data movement between pools is deferred until the next
+#                      mmrestripefs command.
+#
+#                      If -I test is specified, all policy rules are evaluated,
+#                      but the mmapplypolicy command only displays the actions
+#                      that would be executed had -I defer or -I yes been
+#                      specified.  This option is intended for testing the
+#                      effects of particular policy rules; there is no actual
+#                      deletion of files or data movement between pools.
+#
+#   -L n             Controls the level of information displayed by the command.
+#                    n should be one of the following values:
+#                      0 - Only display serious errors.
+#                      1 - Display some information as the command executes,
+#                            but not for each file.  This is the default.
+#                      2 - Display each chosen file and the scheduled migration
+#                            or deletion action.
+#                      3 - And display each candidate file and the applicable
+#                            rule.
+#                      4 - And display each explicitly EXCLUDEd file and the
+#                            applicable rule.
+#                      5 - And display the attributes of candidate and EXCLUDEd
+#                            files.
+#                      6 - And display non-candidate files and their attributes.
+#
+#   -D yyyy-mm-dd[@hh:mm[:ss]]   Specifies the date and (UTC) time to be used
+#                      by the mmapplypolicy command when evaluating the policy
+#                      rules.  The default is the current date and time.
+#                      If only a date is specified, the time will default to
+#                      00:00:00.  
+#
+#   -s WorkDirectory  The directory to be used for temporary storage during
+#                     command processing.  The default directory is /tmp.
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmapplypolicy.sh"
+[[ -n $DEBUG || -n $DEBUGmmapplypolicy ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+tspolicyFile=${tmpDir}tspolicyFile.${mmcmd}.$$
+
+LOCAL_FILES=" $tspolicyFile "
+
+
+# Local variables
+usageMsg=457
+
+
+# Local functions
+
+
+##########################################################################
+#
+# Function:  Verifies the correctness of the input date-time string.
+#
+# Input:     $1 - input date-time string
+#
+# Output:    The verified string: yyyy-mm-dd@hh:mm:ss
+#
+# Returns:   0 - no errors encountered
+#            1 - invalid date-time string
+#
+##########################################################################
+function parseDateTime  # <dtString>
+{
+  typeset sourceFile="mmapplypolicy.sh"
+  [[ -n $DEBUG || -n $DEBUGparseDateTime ]] && set -x
+  typeset dt=$1
+
+  typeset dateTimeString
+
+  if [[ $dt = [0-9][0-9][0-9][0-9]-0[1-9]-[0-3][0-9] ]]
+  then
+    dateTimeString="${dt}@00:00:00"
+  elif [[ $dt = [0-9][0-9][0-9][0-9]-1[012]-[0-3][0-9] ]]
+  then
+    dateTimeString="${dt}@00:00:00"
+  elif [[ $dt = [0-9][0-9][0-9][0-9]-0[1-9]-[0-3][0-9]@[012][0-9]:[0-5][0-9] ]]
+  then
+    dateTimeString="${dt}:00"
+  elif [[ $dt = [0-9][0-9][0-9][0-9]-1[012]-[0-3][0-9]@[012][0-9]:[0-5][0-9] ]]
+  then
+    dateTimeString="${dt}:00"
+  elif [[ $dt = [0-9][0-9][0-9][0-9]-0[1-9]-[0-3][0-9]@[012][0-9]:[0-5][0-9]:[0-5][0-9] ]]
+  then
+    dateTimeString="$dt"
+  elif [[ $dt = [0-9][0-9][0-9][0-9]-1[012]-[0-3][0-9]@[012][0-9]:[0-5][0-9]:[0-5][0-9] ]]
+  then
+    dateTimeString="$dt"
+  else
+    # Unexpected date-time string.
+    return 1
+  fi
+
+  # Return the result.
+  print -- "$dateTimeString"
+  return 0
+
+}  #----- end of function parseDateTime ----------------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# Determine what was specified on the command line.
+if [[ $arg1 = /* && $arg1 != +(/)dev+(/)* ]]
+then
+  # If the first argument starts with a "/" but not "/dev/",
+  # it is assumed to be a fully-qualified directory name.
+  directory=$arg1
+else
+  # Otherwise, the argument is assumed to be a file system device name.
+  device=$arg1
+  deviceName=${device##+(/)dev+(/)}  # Name stripped of /dev/ prefix.
+fi  # end of if [[ $arg1 = "/"* && $arg1 != +(/)dev+(/)* ]]
+
+# Move past the required parameters.
+shift 1
+
+# Process the rest of the options.
+while getopts :D:I:L:P:s: OPT
+do
+  case $OPT in
+    D) [[ -n $Dflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Dflag="-$OPT"; Darg=$OPTARG;
+       dateTimeString=$(parseDateTime "$Darg")
+       [[ -z $dateTimeString ]] &&  \
+         syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+       ;;
+
+    I) [[ -n $Iflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Iflag="-$OPT"; Iarg=$OPTARG;
+       [[ $Iarg != yes && $Iarg != defer && $Iarg != test ]] &&  \
+         syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+       ;;
+
+    L) [[ -n $Lflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Lflag="-$OPT"; Larg=$OPTARG;
+       listingLevel=$(checkIntRange $Lflag $Larg 0 6)
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    P) [[ -n $Pflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Pflag="-$OPT"; Parg=$OPTARG;
+       policyFile="$Parg"
+       ;;
+
+    s) [[ -n $sflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       sflag="-$OPT"; sarg=$OPTARG;
+       workDirectory="$sarg"
+       ;;
+
+    +[DILPs]) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument.
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done  # end of while getopts :t: OPT do
+shift OPTIND-1
+
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# Check the policy file input parameter.
+if [[ -n $policyFile && $policyFile != DEFAULT ]]
+then
+  if [[ ! -f "$policyFile" ]]
+  then
+    # Can't read the input file.
+    printErrorMsg 43 $mmcmd "$policyFile"
+    cleanupAndExit
+  fi
+  if [[ ! -s "$policyFile" ]]
+  then
+    # Input file is empty.
+    printErrorMsg 329 $mmcmd "$policyFile"
+    cleanupAndExit
+  fi
+fi
+
+# Check the working directory input parameter.
+if [[ -n $workDirectory && $workDirectory != DEFAULT ]]
+then
+  if [[ ! -d "$workDirectory" ]]
+  then
+    # Directory does not exist.
+    printErrorMsg 574 $mmcmd "$workDirectory"
+    cleanupAndExit
+  fi
+else
+  workDirectory="/tmp"
+fi
+
+# Assign a default value for -I.
+[[ -z $Iarg ]] && Iarg=yes
+
+# Assign a listing level if the user did not specify one.
+[[ -z $listingLevel ]] && listingLevel=1
+
+
+#####################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs is up-to-date.  There is no need to lock mmsdrfs file.
+#####################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# If the target of mmapplypolicy is a directory sub-tree,
+# find the file system to which this directory belongs.
+###########################################################
+if [[ -n $directory ]]
+then
+  if [[ ! -d "$directory" ]]
+  then
+    # Directory does not exist.
+    printErrorMsg 574 $mmcmd "$directory"
+    cleanupAndExit
+  fi
+
+  device=$(findDeviceName "$directory")
+  [[ $? -ne 0 ]] && cleanupAndExit
+fi
+
+
+######################################################
+# Ensure the file system exists, that it belongs to
+# this cluster, and that it is mounted on this node.
+######################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd "$device" "$fsHomeCluster"
+  cleanupAndExit
+fi
+
+# Verify that the file system is mounted.
+mountPoint=$(findMountpoint "$fqDeviceName")
+if [[ -z $mountPoint ]]
+then
+  # The filesystem is not mounted.  Issue an error and quit.
+  printErrorMsg 563 $mmcmd "$device" "$ourNodeName"
+  cleanupAndExit
+fi
+
+
+###############################################
+# If a policy file was not specified, retrieve
+# the current policy file for the file system.
+###############################################
+if [[ -z $policyFile ]]
+then
+  # Invoke the tslspolicy command.
+  $tslspolicy "$fqDeviceName" -L >$tspolicyFile
+  rc=$(remapRC $?)
+
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    : # [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tslspolicy" $rc
+  fi  # end of if [[ $rc -eq $MM_DaemonDown ]]
+
+  if [[ $rc -ne 0 || ! -s $tspolicyFile ]]
+  then
+    # The policy file cannot be determined.
+    printErrorMsg 456 $mmcmd
+    [[ $rc -eq 0 ]] && rc=1
+    cleanupAndExit $rc
+  else
+    # The command must have worked.
+    policyFile=$tspolicyFile
+  fi  # end of if [[ $rc -ne 0 || ! -s $tspolicyFile ]]
+fi  # end of if [[ -z $policyFile ]]
+
+
+####################################################################
+# Determine the argument list for the tsmigrate command invocation.
+####################################################################
+if [[ -n $directory ]]
+then
+  argList="$directory -P $policyFile -I $Iarg -L $listingLevel -s $workDirectory"
+else
+  argList="$fqDeviceName -P $policyFile -I $Iarg -L $listingLevel -s $workDirectory"
+fi
+[[ -n $dateTimeString ]] && argList="${argList} -D $dateTimeString"
+
+
+
+##################################################
+# Invoke the tsmigrate command on the local node.
+##################################################
+$tsmigrate $argList
+rc=$(remapRC $?)
+
+if [[ $rc -eq $MM_DaemonDown ]]
+then
+  # GPFS is down on this node.
+  printErrorMsg 109 $mmcmd
+elif [[ $rc -eq $MM_QuorumWait ]]
+then
+  # GPFS is not ready for commands.
+  printErrorMsg 110 $mmcmd
+elif [[ $rc -eq $MM_ConnectionReset ]]
+then
+  # An internode connection was reset.
+  printErrorMsg 257 $mmcmd
+else
+  # Either the command worked, or it is an unexpected error.
+  : # [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tsmigrate" $rc
+fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+
+# if [[ $rc -ne 0 ]]
+# then
+#   # tsmigrate failed.
+#   printErrorMsg 104 $mmcmd tsmigrate
+#   cleanupAndExit $rc
+# fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmauth
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmauth	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmauth	(revision 16)
@@ -0,0 +1,1556 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2004,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)80 1.38.1.4 src/avs/fs/mmfs/ts/admin/mmauth.sh, mmfs, avs_rgpfs24, rgpfs24s005a 6/14/06 14:39:42
+##############################################################################
+#
+# Usage:
+#
+#   mmauth genkey  {new | commit}
+#
+#   mmauth add     remoteClusterName -k keyfile [-l cipherList]
+#
+#   mmauth update  remoteClusterName [-C newClusterName]
+#                  [-k keyfile] [-l cipherList]
+#
+#   mmauth delete {remoteClusterName | all}
+#
+#   mmauth show   [remoteClusterName | all]
+#
+#   mmauth grant  {remoteClusterName | all} -f {device | all}
+#                 [-a {rw | ro | none}] [-r {uid:gid | no}]
+#
+#   mmauth deny   {remoteClusterName | all} -f {device | all}
+#
+# where
+#
+#   remoteClusterName   is the fully-qualified name for a remote cluster that
+#                 will be allowed to mount file systems owned by this cluster.
+#
+#   -C newClusterName  is the new fully-qualified cluster name for an
+#                 already-defined cluster remoteClusterName.
+#
+#   -k keyfile    is the authentication key file generated by the mmauth
+#                 command on the remote cluster.
+#
+#   -l cipherList   is the cipher list to be used when establishing a connection
+#                 to the remote cluster.
+#
+#   -f device     is the name of the file system for which access is being
+#                 granted or denied.
+#
+#   -a {rw | ro | none}   is the type of access being granted.  Default is "rw".
+#                 Specifying "none" is the same as running mmauth deny.
+#
+#   -r {uid:gid | no}  is a root credentials remapping (root-squash) option.
+#                 The UID and GID of all processes with root credentials
+#                 from the remote cluster, will be remapped to the specified
+#                 values. The default is not to remap the root UID and GID.
+#                 Note:  The UID and GID must be specified as an unsigned
+#                        integers or as symbolic names that can be resolved
+#                        by the OS to valid UID and GID.  Specifying 'no'
+#                        (or "off" or DEFAULT) turns off the remapping.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmauth.sh"
+[[ -n $DEBUG || -n $DEBUGmmauth ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+verifiedKey=${tmpDir}verifiedKey.${mmcmd}.$$
+fsFile=${tmpDir}fsFile.${mmcmd}.$$
+tmpkey=${sslStageDir}tmpkey.${mmcmd}.$$
+
+LOCAL_FILES=" $verifiedKey $tmpkey $fsFile "
+
+
+# Local variables
+usageMsg=249
+contactNodesCount=0
+
+
+# Local functions
+
+##########################################################################
+#
+# Function:  Determine the SHA digest (fingerprint) that corresponds
+#            to the public key file for the specified cluster.
+#
+# Input:     $1 - cluster name
+#            $2 - sdrfs file to use
+#
+# Output:    The SHA digest string.
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+##########################################################################
+function getFingerprint  # <clusterName> <sdrfsFile>
+{
+  typeset sourceFile="mmauth.sh"
+  [[ -n $DEBUG || -n $DEBUGgetFingerprint ]] && set -x
+  typeset clusterName=$1
+  typeset sdrfs=$2
+
+  typeset sdrfsLine clusterNameField lineTypeField keyLine keyFingerprint
+
+  [[ ! -f $sdrfs ]] && return 1
+  $rm -f $tmpPublicKey
+
+  # Go through the current mmsdrfs file and retrieve the requested information.
+  IFS=":"
+  exec 4<&-
+  exec 4< $sdrfs
+  while read -u4 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -- $sdrfsLine ; set +f
+    clusterNameField=$1
+    lineTypeField=$2
+
+    # We are interested only in the AUTHORIZED_KEY lines for the specified cluster.
+    if [[ $clusterNameField = $clusterName && $lineTypeField = $AUTHORIZED_KEY ]]
+    then
+      # The public key information is everything past the first 4 fields.
+      shift 4
+      keyLine=$*
+      keyLine="${keyLine%%+(:)}"
+
+      # Examine the lines.  If the key was generated by the cs4b version
+      # of mmauth genkey, there will be stanza lines and the fingerprint
+      # will be included.  If the fingerprint is missing, or if this is
+      # a key generated by a cs3b version of mmauth genkey, extract the
+      # public key in a temp file.
+      if [[ $keyLine = "clusterName="*            ||
+            $keyLine = "clusterID="*              ||
+            $keyLine = "genkeyFormat="*           ||
+            $keyLine = "genkeyCompatibleFormat="* ||
+            $keyLine = "keyGenNumber="*           ||
+            $keyLine = "publicKey="               ||
+            $keyLine = "certificate="             ]]
+      then
+        :  # Skip the line.
+
+      elif [[ $keyLine = "keyDigest="* ]]
+      then
+        # Return the key fingerprint.
+        keyFingerprint="${keyLine#keyDigest=}"
+        break
+
+      else
+        # Add the line to the key file.
+        IFS=""     # Reset IFS to preserve blanks and tabs.
+        print -- "$keyLine" >> $tmpPublicKey
+        checkForErrors "writing to file $tmpPublicKey" $?
+      fi  # end of if [[ $keyLine = "clusterName="* ]]
+    fi  # end of if [[ $clusterNameField = $clusterName && ...
+
+    IFS=":" # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u4 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # If the fingerprint was not imbedded in the key stanza,
+  # determine it with the help of the openssl command.
+  if [[ -z $keyFingerprint && -s $tmpPublicKey ]]
+  then
+    keyFingerprint=$($openssl dgst -sha -hex < $tmpPublicKey)
+    checkForErrors "openssl dgst -sha -hex $tmpPublicKey" $?
+  fi
+  [[ -z $keyFingerprint ]] && keyFingerprint="(undefined)"
+
+  # Return the result.
+  print -- "$keyFingerprint"
+  return 0
+
+}  #------------ end function getFingerprint -----------------
+
+
+##########################################################################
+#
+# Function:  Determine the SHA digest (fingerprint) that corresponds
+#            to the specified public key file for the local cluster.
+#
+# Input:     $1 - key file to use
+#
+# Output:    The SHA digest string.
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+##########################################################################
+function getLocalFingerprint  # <keyFile>
+{
+  typeset sourceFile="mmauth.sh"
+  [[ -n $DEBUG || -n $DEBUGgetLocalFingerprint ]] && set -x
+  typeset keyFile=$1
+
+  typeset keyLine keyFingerprint
+
+  [[ ! -f $keyFile ]] && return 1
+  $rm -f $tmpPublicKey
+
+  # Go through the specified file and retrieve the requested information.
+  exec 4<&-
+  exec 4< $keyFile
+  while read -u4 keyLine
+  do
+    # Examine the lines.  If the key was generated by the cs4b version
+    # of mmauth genkey, there will be stanza lines and the fingerprint
+    # will be included.  If the fingerprint is missing, or if this is
+    # a key generated by a cs3b version of mmauth genkey, extract the
+    # public key in a temp file.
+    if [[ $keyLine = "clusterName="*            ||
+          $keyLine = "clusterID="*              ||
+          $keyLine = "genkeyFormat="*           ||
+          $keyLine = "genkeyCompatibleFormat="* ||
+          $keyLine = "keyGenNumber="*           ||
+          $keyLine = "publicKey="               ||
+          $keyLine = "certificate="             ]]
+    then
+      :  # Skip the line.
+
+    elif [[ $keyLine = "keyDigest="* ]]
+    then
+      # Return the key fingerprint.
+      keyFingerprint="${keyLine#keyDigest=}"
+      break
+
+    else
+      # Add the line to the key file.
+      print -- "$keyLine" >> $tmpPublicKey
+      checkForErrors "writing to file $tmpPublicKey" $?
+    fi  # end of if [[ $keyLine = "clusterName="* ]]
+  done  # end while read -u4 keyLine
+
+  # If the fingerprint was not imbedded in the key stanza,
+  # determine it with the help of the openssl command.
+  if [[ -z $keyFingerprint && -s $tmpPublicKey ]]
+  then
+    keyFingerprint=$($openssl dgst -sha -hex < $tmpPublicKey)
+    checkForErrors "openssl dgst -sha -hex $tmpPublicKey" $?
+  fi
+  [[ -z $keyFingerprint ]] && keyFingerprint="(undefined)"
+
+  # Return the result.
+  print -- "$keyFingerprint"
+  return 0
+
+}  #------------ end function getLocalFingerprint -----------------
+
+
+################################################################
+#
+# Function:  Retrieve the list of authorized file systems
+#            for a given cluster.
+#
+# Input:     $1 - cluster name
+#            $2 - sdrfs file to use
+#
+# Output:    A line for each of the file systems that
+#            the specified cluster is allowed to access.
+#            The following information is returned:
+#               deviceName (maxAccessAllowed, rootSquashInfo)
+#
+# Returns:   0 - success
+#            1 - error encountered
+#
+################################################################
+function getFileSystemList   # <clusterName> <sdrfs>
+{
+  typeset sourceFile="mmauth.sh"
+  [[ -n $DEBUG || -n $DEBUGgetFileSystemList ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset clusterName=$1
+  typeset sdrfs=$2
+
+  typeset fsList rootAllowed rootMappedTo
+
+  [[ ! -s $sdrfs ]] &&  \
+    checkForErrors "getFileSystemList: Missing or empty file $sdrfs" 1
+
+  # Initialize dictionary items.
+  rootAllowed=$(printInfoMsg 180)
+  rootMappedTo=$(printInfoMsg 181)
+
+  # Retrieve the information from the mmsdrfs file.
+  fsList=$($awk -F: '                                \
+    $'$NODESETID_Field' == "'$clusterName'" &&       \
+    $'$LINE_TYPE_Field' == "'$AUTHORIZED_FS'"    {   \
+      { printf ("%-9s (%s, ",                        \
+                 $'$DEV_NAME_Field',                 \
+                 $'$ACCESS_TYPE_Field') }            \
+      if ( $'$ROOTSQUASH_UID_Field' == "") {         \
+        { printf ("%s)", rootAllowMsg) }             \
+      } else {                                       \
+        { printf ("%s %s:%s)",                       \
+                  rootMapMsg,                        \
+                  $'$ROOTSQUASH_UID_Field',          \
+                  $'$ROOTSQUASH_GID_Field') }        \
+      }                                              \
+      # Indent the information on the next line.     \
+      { printf ("\n%-21s", " ") }                    \
+    }                                                \
+    END { print fsList }                             \
+  ' rootAllowMsg="$rootAllowed" rootMapMsg="$rootMappedTo" $sdrfs)
+  checkForErrors awk $?
+
+  # Remove the last (empty) line from the result.
+  [[ -n $fsList ]] && fsList=${fsList%?                     }
+
+  print -- "$fsList"
+  return $rc
+
+}  #------ end of function getFileSystemList -----------------
+
+
+################################################################
+#
+# Function:  Verify the specified uid:god string.  Valid values
+#            are symbolic names that can be traslated to legitimate
+#            for the system UID and GID, or unsigned integers,
+#            or one of the keywords that turn off root squashing.
+#
+# Input:     $1 - uid:gid | off | no | DEFAULT | DELETE
+#            $2 - sdrfs file to use
+#
+# Output:    uid and gid converted to unsigned integers.
+#
+# Returns:   0 - success
+#            1 - error encountered
+#
+################################################################
+function verifyRootSquashString   # <rsquashString>
+{
+  typeset sourceFile="mmauth.sh"
+  [[ -n $DEBUG || -n $DEBUGverifyRootSquashString ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset rsquashString=$1
+
+  typeset rsquashUid rsquashGid uid gid rc
+
+  # See if the string is one of the many keywords
+  # indicating no root squashing.
+  if [[ $rsquashString = off || $rsquashString = DEFAULT ||
+        $rsquashString = no  || $rsquashString = DELETE  ]]
+  then
+    print -- "DEFAULT"
+    return 0
+  fi
+
+  # Parse the input string.
+  IFS=":"
+  set -f ; set -- $rsquashString ; set +f
+  rsquashUid=$1
+  rsquashGid=$2
+  IFS="$IFS_sv"
+
+  if [[ $rsquashUid = +([0-9]) ]]
+  then
+    uid=$rsquashUid
+  elif [[ -n $rsquashUid ]]
+  then
+    uid=$($perl -e '
+      $uid = getpwnam "'$rsquashUid'";
+      if ($uid ne "") { printf "%u", $uid }
+    ')
+  else
+    uid=""
+  fi
+
+  if [[ $rsquashGid = +([0-9]) ]]
+  then
+    gid=$rsquashGid
+  elif [[ -n $rsquashGid ]]
+  then
+    gid=$($perl -e '
+      $gid = getgrnam "'$rsquashGid'";
+      if ($gid ne "") { printf "%u", $gid }
+    ')
+  else
+    gid=""
+  fi
+
+  if [[ -z $uid ]]
+  then
+    # Invalid user name.
+    printErrorMsg 172 $mmcmd $rsquashUid
+    rc=1
+  elif [[ -z $gid  ]]
+  then
+    # Invalid group name.
+    printErrorMsg 173 $mmcmd $rsquashGid
+    rc=1
+  else
+    # Everything is OK.
+    print -- "$uid $gid"
+    rc=0
+  fi
+
+  return $rc
+
+}  #------ end of function verifyRootSquashString -----------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+action=$arg1
+[[ -z $action ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+remoteClusterName=$arg2
+checkName clusterName 255 "$remoteClusterName"
+[[ $? -ne 0 ]] && cleanupAndExit
+
+# Allow "ls" to be used in place of "show".
+[[ $action = ls ]] && action=show
+
+# Allow "revoke" to be used in place of "deny".
+[[ $action = revoke ]] && action=deny
+
+# arg2 must be specified for all subcommands with the possible
+# exception of the "show" subcommand.  It is either the keyword
+# "new" or "commit" for the "genkey" subcommand, or is the name
+# of the remote cluster for the rest of the subcommands.
+if [[ -z $arg2 ]]
+then
+  if [[ $action = show ]]
+  then
+    remoteClusterName=all
+  elif [[ $action = add || $action = update || $action = delete ||
+          $action = grant || $action = deny || $action = genkey ]]
+  then
+    syntaxError "missingArgs" $usageMsg
+  else
+    syntaxError "keyword" $usageMsg "$action"
+  fi  # end if [[ $action = show ]]
+fi  # end if [[ -z $arg2 ]]
+
+# Continue with the rest of the parameters.
+if [[ $action = genkey ]]
+then
+  # The second argument must be "new" or "commit".
+  genkeyAction=$arg2
+  [[ $genkeyAction != new && $genkeyAction != commit ]] &&  \
+    syntaxError "keyword" $usageMsg "$action"
+
+  # No other arguments are expected.
+  [[ -n $arg3 ]] && syntaxError "extraArg" $usageMsg $arg3
+
+elif [[ $action = delete || $action = show ]]
+then
+  # No other arguments are expected.
+  [[ -n $arg3 ]] && syntaxError "extraArg" $usageMsg $arg3
+
+elif [[ $action = add || $action = update ]]
+then
+  shift 2    # Move past the cluster name in the parameter list.
+
+  # Process the individual arguments and the values associated with them.
+  while getopts :C:k:l: OPT
+  do
+    case $OPT in
+
+      C) [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Cflag="-$OPT"; Carg=$OPTARG;
+         newClusterName=$Carg
+         [[ $action != update ]] &&  \
+           syntaxError "invalidOption" $usageMsg "-$OPT"
+         checkName clusterName 255 "$Carg"
+         [[ $? -ne 0 ]] && cleanupAndExit
+         ;;
+
+      k) [[ -n $kflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         kflag="-$OPT"; karg=$OPTARG;
+         [[ -z $karg || $karg = DEFAULT ]] && karg=DELETE
+         keyfile=$karg
+         ;;
+
+      l) [[ -n $lflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         lflag="-$OPT"; larg=$OPTARG;
+         [[ -z $larg || $larg = DEFAULT ]] && larg=DELETE
+         # Replace any colons in the cipher list string with commas.
+         cipherList=$(print -- "$larg" | $sed 's/:/,/g')
+         ;;
+
+       +[Ckl]) # Invalid option.
+          syntaxError "invalidOption" $usageMsg $OPT
+          ;;
+
+       :) # Missing argument.
+          syntaxError "missingValue" $usageMsg $OPTARG
+          ;;
+
+       *) # Invalid option.
+          syntaxError "invalidOption" $usageMsg $OPTARG
+          ;;
+     esac
+  done
+
+  shift OPTIND-1
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+  # Ensure required parameters are specified.
+  if [[ $action = add ]]
+  then
+    [[ -z $karg ]] &&  \
+      syntaxError "missingArgs" $usageMsg
+  else  # $action = update
+    [[ -z $Carg && -z $karg && -z $larg ]] &&  \
+      syntaxError "missingArgs" $usageMsg
+  fi
+
+elif [[ $action = grant || $action = deny ]]
+then
+  shift 2    # Move past the cluster name in the parameter list.
+
+  # Process the individual arguments and the values associated with them.
+  while getopts :a:f:r: OPT
+  do
+    case $OPT in
+
+      a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         aflag="-$OPT"; aarg=$OPTARG;
+         [[ $action = deny ]] &&  \
+           syntaxError "invalidOption" $usageMsg $OPT
+         [[ $aarg = none ]] && aarg=deny
+         [[ $aarg != rw && $aarg != ro && $aarg != deny ]] &&  \
+           syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+         accessType=$aarg
+         ;;
+
+      f) [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         fflag="-$OPT"; farg=$OPTARG;
+         device=$farg
+         ;;
+
+      r) [[ -n $rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         rflag="-$OPT"; rarg=$OPTARG;
+         ;;
+
+       +[afr]) # Invalid option.
+          syntaxError "invalidOption" $usageMsg $OPT
+          ;;
+
+       :) # Missing argument.
+          syntaxError "missingValue" $usageMsg $OPTARG
+          ;;
+
+       *) # Invalid option.
+          syntaxError "invalidOption" $usageMsg $OPTARG
+          ;;
+     esac
+  done
+
+  shift OPTIND-1
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+  # Ensure required parameters are specified.
+  [[ -z $device ]] && \
+    syntaxError "missingArgs" $usageMsg
+
+  [[ -z $accessType ]] && accessType=rw
+
+  # Verify the device name.
+  deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+  fqDeviceName="/dev/$deviceName"    # fully-qualified name (with /dev/ prefix)
+  if [[ $deviceName = /* ]]
+  then
+    printErrorMsg 169 $mmcmd $device
+    cleanupAndExit
+  elif [[ $deviceName = */* ]]
+  then
+    printErrorMsg 170 $mmcmd $device
+    cleanupAndExit
+  fi
+
+  # Verify the root squash string.
+  if [[ -z $rarg ]]
+  then
+    rsquashUid=""
+    rsquashGid=""
+  else
+    rsquashString=$(verifyRootSquashString $rarg)
+    [[ $? -ne 0 ]] &&  \
+      syntaxError "invalidOption" $noUsageMsg "-r $rarg"
+
+    if [[ $rsquashString = DEFAULT ]]
+    then
+      rsquashUid=""
+      rsquashGid=""
+    else
+      # Parse the result from verifyRootSquashString.
+      set -f ; set -- $rsquashString ; set +f
+      rsquashUid=$1
+      rsquashGid=$2
+    fi  # end of if [[ $rsquashString = DEFAULT ]]
+  fi  # end of if [[ -z $rsquashString ]]
+
+  # If the specified access type is "deny" (or "none"),
+  # convert the action to "deny".
+  [[ $accessType = deny ]] && action=deny
+
+else
+  # Invalid action requested.
+  syntaxError "keyword" $usageMsg "$action"
+fi  # end if [[ $action = genkey ]]
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#######################################################################
+if [[ $action = show ]]
+then
+  trap pretrap2 HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit nolock)
+  rc=$?
+else
+  trap pretrap HUP INT QUIT KILL
+  # If action is genkey, tell gpfsInit (and related functions)
+  # to bypass the checking and rebuilding of the security files.
+  [[ $action = genkey ]] && export MMAUTH_GENKEY_RUNNING=yes
+  gpfsInitOutput=$(gpfsInit $lockId)
+  rc=$?
+  unset MMAUTH_GENKEY_RUNNING
+fi
+setGlobalVar $rc $gpfsInitOutput
+
+# Find out the default cipher list value to be used.
+if [[ $action = show ]]
+then
+  defaultCipherList=$(showCfgValue cipherList)
+fi
+
+
+#######################################################################
+# Perform any remaining parameter checking that requires knowledge of
+# the sdrfsFormatLevel level (set by gpfsInit above). Ensure the user
+# is not trying to utilize function that has not been enabled yet.
+#######################################################################
+# Ensure the key file exists and has the correct format.
+if [[ -n $keyfile && $keyfile != DELETE ]]
+then
+  verifyPublicKeyFile $keyfile $sdrfsFormatLevel $verifiedKey  \
+                      $newClusterName $remoteClusterName
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+  if [[ $sdrfsFormatLevel -eq 0 ]]
+  then
+    # Ensure that the provided key file was generated by a 2.3 version of mmauth.
+    $grep -q -e "^clusterName=" $verifiedKey >/dev/null 2>&1
+    rc=$?
+    if [[ $rc -eq 0 ]]
+    then
+      print -u2 "$mmcmd:  The specified public key file cannot be handled until you"
+      print -u2 "    run \"mmchconfig release=LATEST\" to activate the new function."
+      cleanupAndExit
+    fi
+  fi  # end of if [[ $sdrfsFormatLevel -eq 0 ]]
+fi  # end of if [[ -n $keyfile && $keyfile != DELETE ]]
+
+# Ensure the version of openssl installed on this node
+# understands the specified cipher list.
+if [[ -n $cipherList && $cipherList != DELETE ]]
+then
+  if [[ $cipherList = "AUTHONLY" ]]
+  then
+    ciphers=$($openssl ciphers "NULL-SHA")
+  elif [[ $cipherList = *"AUTHONLY"* ]]
+  then
+    print -u2 "$mmcmd:  AUTHONLY cannot be specified in conjunction with other ciphers."
+  else
+    ciphers=$($openssl ciphers rsa "$cipherList")
+  fi
+
+  if [[ $cipherList != "AUTHONLY" && $sdrfsFormatLevel -eq 0 ]]
+  then
+    print -u2 "$mmcmd:  Support for cipher lists other than AUTHONLY has not been enabled yet."
+    print -u2 "    Run \"mmchconfig release=LATEST\" to activate the new function."
+    cleanupAndExit
+  fi
+
+  if [[ -z "$ciphers" ]]
+  then
+    # The specified cipher list is not supported.
+    printErrorMsg 483 $mmcmd "$value"
+    cleanupAndExit
+  else
+    :  # The new cipher list is acceptable.
+  fi  # end of if [[ -z "$ciphers" ]]
+fi  # end of if [[ -n $cipherList && $cipherList != DELETE ]]
+
+
+#######################################################################
+#
+# Go through the mmsdrfs file and make the necessary changes.
+#
+#######################################################################
+$rm -f $newsdrfs $nodefile $allClusterNodes
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"   # Restore the default IFS settings.
+  printLine=true  # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )
+       # Increment the generation number.
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+
+       # Retrieve the current key generation numbers and other information.
+       newKeyGenNumber=${v[$NEW_KEY_Field]}
+       [[ -z $newKeyGenNumber ]] && newKeyGenNumber=0
+       committedKeyGenNumber=${v[$COMMITTED_KEY_Field]}
+       [[ -z $committedKeyGenNumber ]] && committedKeyGenNumber=0
+       secLevel=${v[$SECLEVEL_Field]}
+       [[ -z $secLevel ]] && secLevel=0
+       ourClusterName=${v[$CLUSTER_NAME_Field]}
+       ourClusterId=${v[$CLUSTERID_Field]#gpfs}
+
+       if [[ $action = genkey ]]
+       then
+         # Automatically "commit" old clusters that already have
+         # established private keys (with cs3b level of mmauth).
+         [[ $committedKeyGenNumber -eq 0 ]] &&  \
+           committedKeyGenNumber=$newKeyGenNumber
+
+         if [[ $genkeyAction = new ]]
+         then
+           # Do not allow a new key to be generated if a previously
+           # generated key has not been committed yet.
+           if [[ $committedKeyGenNumber -lt $newKeyGenNumber ]]
+           then
+             # Run: mmauth genkey commit.
+             printErrorMsg 157 $mmcmd "mmauth genkey commit"
+             cleanupAndExit
+           fi
+
+           # Increment the generation number for the new key
+           # that we are about to create.
+           (( newKeyGenNumber += 1 ))
+
+           # If this is the very first genkey request,
+           # or if the new code has not been activated yet,
+           # or if this the first genkey request after
+           # activating the new genkey file format,
+           # automatically commit the key.
+           [[ $newKeyGenNumber  -eq 1           ||
+              $sdrfsFormatLevel -eq 0           ||
+              -z ${v[$KEYFILE_FORMAT_Field]}    ||
+              ${v[$KEYFILE_FORMAT_Field]} -eq 0 ]] &&  \
+             committedKeyGenNumber=$newKeyGenNumber
+
+           # Put the key numbers in the mmsdrfs file.
+           v[$NEW_KEY_Field]=$newKeyGenNumber
+           v[$COMMITTED_KEY_Field]=$committedKeyGenNumber
+           [[ $sdrfsFormatLevel -ge 1 ]] &&  \
+             v[$KEYFILE_FORMAT_Field]=$CURRENT_KEYFILE_FORMAT
+
+         else  # genkeyAction = commit
+           # See if there is anything to commit.
+           if [[ $committedKeyGenNumber -eq $newKeyGenNumber ]]
+           then
+             if [[ $newKeyGenNumber -eq 0 ]]
+             then
+               # There is nothing to commit.
+               # Tell the user to run mmauth genkey new.
+               printErrorMsg 155 $mmcmd "mmauth genkey new"
+             else
+               # The current authentication files are already committed.
+               printErrorMsg 156 $mmcmd
+             fi
+             cleanupAndExit
+           fi
+
+           # Ensure a cipher list has been established.
+           if [[ $secLevel -eq 0 ]]
+           then
+             # You must establish a cipher list first.  Tell the user to run
+             #    mmauth update $ourClusterName -l <cipherList>
+             printErrorMsg 158 $mmcmd "mmauth update $ourClusterName -l <cipherList>"
+             cleanupAndExit
+           fi
+
+           # Things seem to be OK.  Commit the key.
+           committedKeyGenNumber=$newKeyGenNumber
+           v[$COMMITTED_KEY_Field]=$committedKeyGenNumber
+
+         fi  # end of if [[ $genkeyAction = new ]]
+       fi  # end of if [[ $action = genkey ]]
+
+       # See whether the target of the operation is the local cluster.
+       [[ $remoteClusterName = "." ]] &&  \
+         remoteClusterName=$ourClusterName
+
+       if [[ $remoteClusterName = $ourClusterName ]]
+       then
+         remoteClusterName=$HOME_CLUSTER
+         clusterFound=yes
+
+         if [[ $action = add || $action = delete ||
+               $action = grant || $action = deny ]]
+         then
+           # Operation not allowed for the local cluster.
+           printErrorMsg 294 $mmcmd
+           cleanupAndExit
+         fi
+
+         if [[ $action = update ]]
+         then
+           if [[ -n $newClusterName ]]
+           then
+             # Operation not allowed for the local cluster.
+             printErrorMsg 294 $mmcmd
+             cleanupAndExit
+           fi
+
+           if [[ -n $keyfile ]]
+           then
+             # Run "mmauth genkey" to establish a new key.
+             printErrorMsg 314 $mmcmd
+             cleanupAndExit
+           fi
+
+           if [[ -n $cipherList ]]
+           then
+             # Ensure the security level field is set correctly.
+             if [[ $cipherList = DELETE ]]
+             then
+               secLevel=0
+             else
+               if [[ $newKeyGenNumber -eq 0 ]]
+               then
+                 # Run "mmauth genkey" first.
+                 printErrorMsg 307 $mmcmd
+                 cleanupAndExit
+               fi
+               secLevel=1
+             fi  # end of if [[ $cipherList = DELETE ]]
+             v[$SECLEVEL_Field]=$secLevel
+           fi  # end of if [[ -n $cipherList ]]
+         fi  # end of if [[ $action = update ]]
+       fi  # end of if [[ $remoteClusterName = $ourClusterName ]]
+       ;;
+
+
+    $NODESET_HDR )
+       if [[ $action = update && -n $cipherList &&
+             $remoteClusterName = $HOME_CLUSTER ]]
+       then
+         # Update the cipher list for the local cluster.
+         currentCipherList=${v[$CIPHER_LIST_Field]}
+         [[ -z $currentCipherList ]] && currentCipherList=DELETE
+         if [[ $cipherList != DELETE ]]
+         then
+           v[$CIPHER_LIST_Field]=$cipherList
+         else
+           v[$CIPHER_LIST_Field]=""
+         fi
+       fi  # end of if [[ $action = update && -n $cipherList && ...
+       ;;
+
+
+    $MEMBER_NODE )
+       # Add the reliable node name to the appropriate files.
+
+       # allClusterNodes contains the names of all nodes in the cluster.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $allClusterNodes
+       checkForErrors "writing to file $allClusterNodes" $?
+
+       # nodefile contains the names of all nodes except the
+       # primary and backup servers and the node on which the
+       # command is executed (this node).
+       if [[ ${v[$REL_HOSTNAME_Field]} != $primaryServer &&
+             ${v[$REL_HOSTNAME_Field]} != $backupServer  &&
+             ${v[$REL_HOSTNAME_Field]} != $ourNodeName   ]]
+       then
+         print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+         checkForErrors "writing to file $nodefile" $?
+       fi
+
+       # If this is the line for the node that is executing
+       # this command, set the preferredNode variable.
+       [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+         preferredNode=${v[$REL_HOSTNAME_Field]}
+       ;;
+
+
+    $MMFSCFG )
+       if [[ $action = update && -n $cipherList &&
+             $remoteClusterName = $HOME_CLUSTER ]]
+       then
+         # If changing the cipher list for the local cluster, remove
+         # the line from the mmsdrfs file.  The mmfs.cfg information
+         # will be added back before committing the changes.
+         printLine=false
+
+         # Extract the mmfs.cfg information.
+         # It is everything past the first 4 fields.
+         cfgLine="${v[5]}:${v[6]}:${v[7]}:${v[8]}:${v[9]}:${v[10]}:${v[11]}"
+         cfgLine="$cfgLine:${v[12]}:${v[13]}:${v[14]}:${v[15]}:${v[16]}:${v[17]}"
+         cfgLine="$cfgLine:${v[18]}:${v[19]}:${v[20]}:${v[21]}:${v[22]}"
+
+         # To preserve tabs, temporarily set IFS to new line only.
+         IFS="
+"
+         # Strip trailing colons and write the line to the file.
+         print -- "${cfgLine%%+(:)}" >> $tmpCfg
+         checkForErrors "writing to file $tmpCfg" $?
+         IFS="$IFS_sv"  # Restore the default IFS settings.
+       fi  # end of if [[ $action = update && -n $cipherList && ...
+       ;;
+
+
+    $AUTHORIZED_CLUSTER )
+       if [[ ${v[$NODESETID_Field]} = $remoteClusterName ||
+             $remoteClusterName = all && ($action = show ||
+             $action = delete || $action = grant || $action = deny) ]]
+       then
+         clusterFound=yes
+         clusterNameList="$clusterNameList ${v[$NODESETID_Field]} "
+
+         # Processing depends on the specified action:
+         case $action in
+           add )
+              # The remote cluster is already defined.
+              printErrorMsg 316 $mmcmd $remoteClusterName
+              cleanupAndExit
+              ;;
+
+           update )
+              if [[ -n $cipherList ]]
+              then
+                if [[ $cipherList != DELETE ]]
+                then
+                  v[$CIPHER_LIST_Field]=$cipherList
+                else
+                  v[$CIPHER_LIST_Field]=""
+                fi
+              fi
+
+              [[ -n $newClusterName ]] &&  \
+                v[$NODESETID_Field]=$newClusterName
+              ;;
+
+           delete )
+              printLine=false
+              ;;
+
+           show )
+              # Display the cluster name.
+              header=$(printInfoMsg 442)
+              printf "%-20s %s\n" "$header" "${v[$NODESETID_Field]}"
+
+              # Display the cipher list.
+              header=$(printInfoMsg 443)
+              cipherList="${v[$CIPHER_LIST_Field]}"
+              if  [[ -z $cipherList ]]
+              then
+                # If there is no explicit cipher list for this cluster,
+                # we use the cipher list for the local cluster.
+                cipherList=$defaultCipherList
+                [[ -z $cipherList ]] && cipherList="(none specified)"
+              fi  # end of if  [[ -z $cipherList ]]
+              printf "%-20s %s\n" "$header" "$cipherList"
+
+              $rm -f $tmpPublicKey $fsFile
+
+              # Display the SHA digest (public key fingerprint).
+              header=$(printInfoMsg 444)
+              keyFingerprint=$(getFingerprint ${v[$NODESETID_Field]} $mmsdrfsFile)
+              printf "%-20s %s\n" "$header" "$keyFingerprint"
+
+              # Display the file systems that can be accessed by the cluster.
+              header=$(printInfoMsg 445)
+              fsAuthList=$(getFileSystemList ${v[$NODESETID_Field]} $mmsdrfsFile)
+              checkForErrors getFileSystemList $?
+              [[ -z $fsAuthList ]] && fsAuthList="(none authorized)"
+              printf "%-20s %s\n\n" "$header" "$fsAuthList"
+              ;;
+
+           grant )
+              : # noop
+              ;;
+
+           deny )
+              : # noop
+              ;;
+
+           *) checkForErrors "unexpected action $action" 1
+              ;;
+         esac  # end case $action in
+       fi  # end if [[ ${v[$NODESETID_Field]} = $remoteClusterName || ...
+       ;;
+
+
+    $AUTHORIZED_KEY )
+       if [[ ${v[$NODESETID_Field]} = $remoteClusterName ||
+             $remoteClusterName = all && ($action = show || $action = delete) ]]
+       then
+         # Processing depends on the specified action:
+         case $action in
+           add )
+              # The remote cluster is already defined.
+              printErrorMsg 316 $mmcmd $remoteClusterName
+              cleanupAndExit
+              ;;
+
+           update )
+              [[ -n $keyfile ]] && printLine=false
+
+              if [[ -n $newClusterName ]]
+              then
+                v[$NODESETID_Field]=$newClusterName
+                [[ ${v[$LINE_NUMBER_Field]} = 1 ]] &&  \
+                  v[$KEY_Field]="clusterName=$newClusterName"
+              fi
+              ;;
+
+           delete )
+              printLine=false
+              ;;
+
+           show )
+              : # noop
+              ;;
+
+           grant )
+              : # noop
+              ;;
+
+           deny )
+              : # noop
+              ;;
+
+           *) checkForErrors "unexpected action $action" 1
+              ;;
+         esac  # end case $action in
+       fi  # end if [[ ${v[$NODESETID_Field]} = $remoteClusterName || ...
+       ;;
+
+
+    $SG_HEADR )
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName || $device = all ]]
+       then
+         if [[ ${v[$NODESETID_Field]} = $HOME_CLUSTER ]]
+         then
+           # We are making changes to this file system.
+           fsFound=yes
+           fsList="$fsList ${v[$DEV_NAME_Field]} "
+         elif [[ $device != all ]]
+         then
+           # Command is not allowed for remote file systems.
+           printErrorMsg 106 $mmcmd $device ${v[$NODESETID_Field]}
+           cleanupAndExit
+         fi
+       fi  # end if [[ ${v[$DEV_NAME_Field]} = $deviceName || $device = all ]]
+       ;;
+
+
+    $AUTHORIZED_FS )
+       if [[ (${v[$NODESETID_Field]} = $remoteClusterName || $remoteClusterName = all)  &&
+             (${v[$DEV_NAME_Field]} = $deviceName || $device = all || $action = delete) ]]
+       then
+         if [[ $action = delete || $action = deny ]]
+         then
+           # Remove from the file the affected AUTHORIZED_FS lines.
+           printLine=false
+         elif [[ $action = grant ]]
+         then
+           # If changing an existing authorization, update the affected fields.
+           if [[ -n $aarg ]]
+           then
+             v[$ACCESS_TYPE_Field]=$accessType
+           fi
+           if [[ -n $rarg ]]
+           then
+             v[$ROOTSQUASH_UID_Field]=$rsquashUid
+             v[$ROOTSQUASH_GID_Field]=$rsquashGid
+           fi
+
+           # Tell the guy what exactly he is doing.
+           if [[ -z ${v[$ROOTSQUASH_UID_Field]} ]]
+           then
+             printInfoMsg 182 $mmcmd ${v[$NODESETID_Field]}  \
+                 ${v[$DEV_NAME_Field]} ${v[$ACCESS_TYPE_Field]}
+           else
+             printInfoMsg 183 $mmcmd ${v[$NODESETID_Field]}  \
+                 ${v[$DEV_NAME_Field]} ${v[$ACCESS_TYPE_Field]}  \
+                 ${v[$ROOTSQUASH_UID_Field]} ${v[$ROOTSQUASH_GID_Field]}
+           fi
+
+           # Add the name of the fs to the list of processed file systems.
+           # Note:  The trailing blank is important.
+           processedFileSystems="$processedFileSystems ${v[$NODESETID_Field]}:${v[$DEV_NAME_Field]} "
+         else
+           :  # should not get here.
+         fi  # end of if [[ $action = delete || $action = deny ]]
+       fi  # end of if [[ (${v[$NODESETID_Field]} = $remoteClusterName ...
+
+       if [[ ${v[$NODESETID_Field]} = $remoteClusterName ]]
+       then
+          [[ $action = update && -n $newClusterName ]] &&  \
+            v[$NODESETID_Field]=$newClusterName
+       fi
+       ;;
+
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end of Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 mmsdrfsFile
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+#########################################
+# Additional action-specific processing.
+#########################################
+if [[ $action = genkey ]]
+then
+  if [[ $genkeyAction = new ]]
+  then
+    # Ensure the OpenSSL code is installed.
+    if [[ ! -x $openssl ]]
+    then
+      # openssl command not found.
+      printErrorMsg 159 $mmcmd $openssl
+      cleanupAndExit
+    fi
+
+    # If the sslrandfile user exit is installed, use it to determine
+    # the value for the -rand paramter for the openssl calls.
+    if [[ -x $sslrandfile ]]
+    then
+      randFile=$($sslrandfile 2>/dev/null)
+      [[ -n $randFile ]] &&  \
+        randOpt="-rand $randFile"
+    fi
+
+    # If the multiple keys support has not been activated yet,
+    # ensure the daemon is not running anywhere.
+    if [[ $sdrfsFormatLevel -eq 0 ]]
+    then
+      printInfoMsg 339
+      verifyDaemonInactive $allClusterNodes $mmcmd
+      [[ $? -ne 0 ]] && cleanupAndExit
+      daemonInactive=yes
+    fi
+
+    # Regenerate the openssl.conf file.
+    $sed 's/= gpfsCluster/= '$ourClusterName'/' $opensslConfFile > $certConfigFile
+    checkForErrors "creating $certConfigFile" $?
+
+    # Generate the new local private key.
+    umask 077
+    $openssl genrsa $randOpt -out $tmpPrivateKey 512
+    checkForErrors "openssl genrsa $randOpt -out $tmpPrivateKey 512" $?
+
+    # If the multiple keys functionality is enabled, generate
+    # the corresponding private key and certificate files.
+    # Otherwise, stage the private key file as is.
+    if [[ $sdrfsFormatLevel -eq 0 ]]
+    then
+      $cp $tmpPrivateKey ${privateKey}$newKeyGenNumber
+      checkForErrors "cp $tmpPrivateKey ${privateKey}$newKeyGenNumber" $?
+      $mv $tmpPrivateKey $tmpkey
+      checkForErrors "mv $tmpPrivateKey $tmpkey" $?
+      fileToStage="${privateKey}$newKeyGenNumber"
+    else
+      # Generate the public key file and find its SHA digest.
+      $openssl rsa -in $tmpPrivateKey -pubout -out $tmpPublicKey
+      checkForErrors "openssl rsa -in $tmpPrivateKey -pubout -out $tmpPublicKey" $?
+      keyFingerprint=$($openssl dgst -sha -hex < $tmpPublicKey 2>/dev/null)
+
+      # Generate the certificate file.
+      $openssl req $randOpt -new -x509 -days 16427 -key $tmpPrivateKey  \
+               -out $tmpCertificate -config $certConfigFile
+      checkForErrors  \
+        "openssl req $randOpt -new -x509 -days 16427 -key $tmpPrivateKey -out $tmpCertificate -config $certConfigFile" $?
+
+      # Create the combined file with all relevant key information.
+      #
+      # The combined file consists of several (currently 6) simple stanza
+      # lines followed by several (currently 3) variable length sections.
+      # The order must be preserved.  If it becomes necessary in the future
+      # to add additional information, the following rules should be obeyed:
+      # - Any new simple stanza lines should follow the initial 6 lines
+      #   but should come before any variable length sections.
+      # - Any new variable length sections should come before the current
+      #   three sections: privateKey, publicKey and certificate.
+      #
+      print -- "clusterName=$ourClusterName" > $tmpkey
+      checkForErrors "writing to $tmpkey" $?
+      print -- "clusterID=$ourClusterId" >> $tmpkey
+      checkForErrors "writing to $tmpkey" $?
+      print -- "genkeyFormat=$CURRENT_KEYFILE_FORMAT" >> $tmpkey
+      checkForErrors "writing to $tmpkey" $?
+      print -- "genkeyCompatibleFormat=$COMPATIBLE_KEYFILE_FORMAT" >> $tmpkey
+      checkForErrors "writing to $tmpkey" $?
+      print -- "keyGenNumber=$newKeyGenNumber" >> $tmpkey
+      checkForErrors "writing to $tmpkey" $?
+      print -- "keyDigest=$keyFingerprint" >> $tmpkey
+      checkForErrors "writing to $tmpkey" $?
+      print -- "privateKey=" >> $tmpkey
+      checkForErrors "writing to $tmpkey" $?
+      $cat $tmpPrivateKey >> $tmpkey
+      checkForErrors "cat $tmpPrivateKey >> $tmpkey" $?
+      print -- "publicKey=" >> $tmpkey
+      checkForErrors "writing to $tmpkey" $?
+      $cat $tmpPublicKey >> $tmpkey
+      checkForErrors "cat $tmpPublicKey >> $tmpkey" $?
+      print -- "certificate=" >> $tmpkey
+      checkForErrors "writing to $tmpkey" $?
+      $cat $tmpCertificate >> $tmpkey
+      checkForErrors "cat $tmpCertificate >> $tmpkey" $?
+
+      # If everyting worked out OK so far, copy the new file in the ssl/stage directory.
+      fileToStage="${genkeyData}$newKeyGenNumber"
+      $cp $tmpkey $fileToStage
+      checkForErrors "cp $tmpkey $fileToStage" $?
+
+    fi  # end of if [[ $sdrfsFormatLevel -eq 0 ]]
+    umask $UMASK_sv
+
+    # Stage the newly-generated key file on the server nodes.
+    # The files will be activated after the new key generation number
+    # is committed as a result of the regular commit protocol.
+    if [[ $primaryServer != $ourNodeName ]]
+    then
+      $rcp -p $fileToStage ${primaryServer}:$fileToStage
+      checkForErrors "$rcp ${primaryServer}:$fileToStage" $?
+    fi
+
+    if [[ -n $backupServer && $backupServer != $ourNodeName ]]
+    then
+      $rcp -p $fileToStage ${backupServer}:$fileToStage
+      checkForErrors "$rcp ${backupServer}:$fileToStage" $?
+    fi
+
+  else
+    :  # There is nothing to do for genkeyAction commit at this point.
+  fi  # end of if [[ $genkeyAction = new ]]
+fi  # end of if [[ $action = genkey ]]
+
+
+if [[ $action = add ]]
+then
+  # Generate the needed information for the mmsdrfs file.
+  newLine="$remoteClusterName:$AUTHORIZED_CLUSTER:::$accessGranted::$cipherList:"
+  print -- "$newLine" >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+  # Process the -k keyfile option.
+  if [[ -n $keyfile ]]
+  then
+    appendFile $remoteClusterName $verifiedKey $AUTHORIZED_KEY $newsdrfs
+    checkForErrors  \
+        "appendFile $remoteClusterName $verifiedKey $AUTHORIZED_KEY $newsdrfs" $?
+  fi
+fi  # end of if [[ $action = add ]]
+
+
+if [[ $action = update ]]
+then
+  if [[ -z $clusterFound ]]
+  then
+    # The remote cluster is not authorized to access this cluster.
+    printErrorMsg 259 $mmcmd $remoteClusterName
+    cleanupAndExit
+  fi
+
+  # Process the -k keyfile option.
+  if [[ -n $keyfile && $keyfile != DELETE ]]
+  then
+    if [[ -n $newClusterName ]]
+    then
+      appendFile $newClusterName $verifiedKey $AUTHORIZED_KEY $newsdrfs
+      checkForErrors  \
+        "appendFile $newClusterName $verifiedKey $AUTHORIZED_KEY $newsdrfs" $?
+    else
+      appendFile $remoteClusterName $verifiedKey $AUTHORIZED_KEY $newsdrfs
+      checkForErrors  \
+        "appendFile $remoteClusterName $verifiedKey $AUTHORIZED_KEY $newsdrfs" $?
+    fi
+  fi  # end of if [[ -n $keyfile && $keyfile != DELETE ]]
+
+  # Process the -l cipherList option for the local cluster.
+  if [[ -n $cipherList && $remoteClusterName = $HOME_CLUSTER ]]
+  then
+    # If changing the cipher list for the local cluster,
+    # make changes to the mmfs.cfg file.
+    $mmfixcfg "cipherList" "$cipherList" < $tmpCfg > $newcfg 2>/dev/null
+    checkForErrors "mmfixcfg cipherList" $?
+
+    # Put the updated mmfs.cfg information back into the mmsdrfs file.
+    appendCfgFile $HOME_CLUSTER $newcfg $newsdrfs
+    checkForErrors "appendCfgFile" $?
+
+    # The daemon must be down on all nodes if we are about to switch
+    # from a non-secure to a secure environment or vice-versa.
+    if [[ $currentCipherList != $cipherList &&
+          ( $currentCipherList = DELETE || $cipherList = DELETE ) ]]
+    then
+      printInfoMsg 339
+      verifyDaemonInactive $allClusterNodes $mmcmd
+      [[ $? -ne 0 ]] && cleanupAndExit
+      daemonInactiveVerified=yes
+    fi
+  fi  # end of if [[ -n $cipherList && $remoteClusterName = $HOME_CLUSTER ]]
+fi  # end of if [[ $action = update ]]
+
+
+if [[ $action = delete ]]
+then
+  if [[ -z $clusterFound ]]
+  then
+    if [[ $remoteClusterName = all ]]
+    then
+      # There are no remote cluster authorizations.
+      printErrorMsg 258 $mmcmd
+    else
+      # The remote cluster is not authorized to access this cluster.
+      printErrorMsg 259 $mmcmd $remoteClusterName
+    fi
+    cleanupAndExit
+  fi  # end of if [[ -z $clusterFound ]]
+fi  # end of if [[ $action = delete ]]
+
+
+if [[ $action = show ]]
+then
+  # Add the information for the local cluster at the end of the output.
+  if [[ $remoteClusterName = all || $remoteClusterName = $HOME_CLUSTER ]]
+  then
+    clusterFound=yes
+
+    # Display the cluster name.
+    header=$(printInfoMsg 442)
+    printf "%-20s %s\n" "$header" "$ourClusterName (this cluster)"
+
+    # Display the cipher list.
+    header=$(printInfoMsg 443)
+    cipherList=$defaultCipherList
+    [[ -z $cipherList ]] && cipherList="(none specified)"
+    printf "%-20s %s\n" "$header" "$cipherList"
+
+
+    # Display the SHA digest for the committed public key.
+    header=$(printInfoMsg 444)
+    keyFingerprint=$(getLocalFingerprint $committedPublicKey)
+    printf "%-20s %s\n" "$header" "$keyFingerprint"
+
+    # Display the SHA digest for the uncommitted public key.
+    if [[ -s $newPublicKey ]]
+    then
+      header=$(printInfoMsg 427)
+      keyFingerprint=$(getLocalFingerprint $newPublicKey)
+      printf "%-20s %s\n" "$header" "$keyFingerprint"
+    fi
+
+    # Display the file systems that can be accessed by the cluster.
+    header=$(printInfoMsg 445)
+    fsAuthList="(all rw)"
+    printf "%-20s %s\n\n" "$header" "$fsAuthList"
+  fi  # end if [[ $remoteClusterName = all || $remoteClusterName = $HOME_CLUSTER ]]
+
+  if [[ -z $clusterFound ]]
+  then
+    # The remote cluster is not authorized to access this cluster.
+    printErrorMsg 259 $mmcmd $remoteClusterName
+    cleanupAndExit
+  fi  # end of if [[ -z $clusterFound ]]
+
+  # Nothing more to do.
+  cleanupAndExit 0
+fi  # end of if [[ $action = show ]]
+
+
+if [[ $action = grant ]]
+then
+  if [[ -z $clusterFound ]]
+  then
+    if [[ $remoteClusterName = all ]]
+    then
+      # There are no remote cluster definitions.
+      printErrorMsg 262 $mmcmd
+    else
+      # The remote cluster is not defined.
+      printErrorMsg 259 $mmcmd $remoteClusterName
+    fi
+    cleanupAndExit
+  fi  # end of if [[ -z $clusterFound ]]
+
+  if [[ -z $fsFound ]]
+  then
+    if [[ $device = all ]]
+    then
+      # No file systems were found.
+      printErrorMsg 200 $mmcmd
+    else
+      # The requested file system was not found.
+      printErrorMsg 288 $mmcmd $device
+    fi
+    cleanupAndExit
+  fi  # end of if [[ -z $fsFound ]]
+
+  # Generate the appropriate AUTHORIZED_FS lines.
+  print -- ""  # put a blank separator line
+  for fsName in $fsList
+  do
+    for remCluster in $clusterNameList
+    do
+      [[ $processedFileSystems = *" $remCluster:$fsName "* ]] && continue
+
+      newLine=$remCluster:$AUTHORIZED_FS:$fsName::$accessType:$rsquashUid:$rsquashGid:
+      print -- "$newLine" >> $newsdrfs
+      checkForErrors "writing to file $newsdrfs" $?
+      if [[ -z $rsquashUid ]]
+      then
+        printInfoMsg 182 $mmcmd $remCluster $fsName $accessType
+      else
+        printInfoMsg 183 $mmcmd $remCluster $fsName $accessType $rsquashUid $rsquashGid
+      fi
+      print -- ""  # put a blank separator line
+    done  # end of for remCluster in $clusterNameList
+  done  # end of for fsName in $fsList
+fi  # end of if [[ $action = grant ]]
+
+
+if [[ $action = deny ]]
+then
+  if [[ -z $clusterFound ]]
+  then
+    if [[ $remoteClusterName = all ]]
+    then
+      # There are no remote cluster definitions.
+      printErrorMsg 262 $mmcmd
+    else
+      # The remote cluster is not defined.
+      printErrorMsg 259 $mmcmd $remoteClusterName
+    fi
+    cleanupAndExit
+  fi  # end of if [[ -z $clusterFound ]]
+
+  if [[ -z $fsFound ]]
+  then
+    if [[ $device = all ]]
+    then
+      # No file systems were found.
+      printErrorMsg 200 $mmcmd
+    else
+      # The requested file system was not found.
+      printErrorMsg 288 $mmcmd $device
+    fi
+    cleanupAndExit
+  fi  # end of if [[ -z $fsFound ]]
+
+  # Nothing more to do.  The appropriate AUTHORIZED_FS lines have been removed.
+
+fi  # end of if [[ $action = deny ]]
+
+
+####################################################
+# Sort the new mmsdrfs file and commit the changes.
+####################################################
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+checkForErrors "sorting $newsdrfs" $?
+
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # The commit step failed; we cannot replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+##################
+# Unlock the sdr.
+##################
+freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+# Issue "command was successful" message.
+printErrorMsg 272 $mmcmd
+
+
+#####################################################
+# Asynchronously propagate the changes to all nodes.
+#####################################################
+if [[ $action = genkey && $genkeyAction = new ]]
+then
+  propagateKeyFile async $nodefile  \
+    $newsdrfs $newGenNumber $fileToStage $newKeyGenNumber
+else
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+fi
+
+if [[ $secLevel -gt 0 ]]
+then
+  # Notify all currently-running nodes to refresh their key files.
+  $mmcommon onactive $preferredNode $allClusterNodes  \
+    $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK       \
+    tsdsh $mmremote refreshAuth >$tmpfile 2>&1
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmautoload
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmautoload	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmautoload	(revision 16)
@@ -0,0 +1,210 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)01 1.57.1.1 src/avs/fs/mmfs/ts/admin/mmautoload.sh, mmfs, avs_rgpfs24, rgpfs24s001a 4/5/06 11:34:58
+#########################################################################
+#                                                                       #
+#  Usage:  mmautoload                                                   #
+#                                                                       #
+#  Called once from inittab.  Performs GPFS configuration               #
+#  initialization.  If everything goes smoothly, and the                #
+#  autoload parameter is set to yes, starts the GPFS daemon.            #
+#                                                                       #
+#########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmautoload.sh"
+[[ -n $DEBUG || -n $DEBUGmmautoload ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local variables
+
+mmfslog=${rasDir}mmfs.log.latest # daemon log (/var/adm/ras/mmfs.log.latest)
+interval=10                      # 10 6-second intervals is a message per minute
+integer waitPeriod               # wait period (in minutes)
+integer timeout
+
+
+###########################################################
+#
+#  Mainline processing
+#
+###########################################################
+
+# If the node does not appear to belong to a GPFS cluster,
+# go away quietly.
+if [[ ! -f $mmsdrfsFile ]]
+then
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+  return 0
+fi
+
+# Determine the type of cluster environment.
+determineMode
+
+# If the cluster type is not known, go away quietly.
+if [[ $MMMODE != lc && $MMMODE != single ]]
+then
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+  return 0
+fi
+
+# Put a message in the daemon log to reflect the node reboot.
+[[ -f $mmfslog ]] &&  \
+  print "\n\n$(date): Node rebooted.  Starting mmautoload..." >> $mmfslog
+
+# Force the recreation of the local system files.
+$rm -f $mmfsNodeData $mmfscfgFile ${mmfsNewKeyLevel}+([0-9])  \
+       ${mmfsCommittedKeyLevel}+([0-9]) $nsdpvol
+
+# If AIX, verify there is an mmfs entry in /etc/vfs.
+# If Linux, figure out what is the correct major number.
+checkVfsNumber
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+  return 0
+fi
+
+# Verify that the GPFS environment is properly initialized.
+# If not successful, keep trying for up to 5 minutes before giving up.
+waitPeriod=5
+timeout=1
+$rm -f $errMsg
+while true
+do
+  export MOUNT_POINT_CHECK=all
+  gpfsInitOutput=$(gpfsInit nolock 2>$errMsg)
+  rc=$?
+  unset MOUNT_POINT_CHECK
+  if [[ $rc -ne 0 || -z $gpfsInitOutput ]]
+  then
+    # gpfsInit failed but there still may be a chance
+    # for things to get fixed - we'll try again.
+    whatfor="cluster data repository"
+  else
+    # The gpfsInit call worked.
+    # Parse the result and get out of the loop.
+    setGlobalVar 0 $gpfsInitOutput
+    $rm -f $errMsg
+    break
+  fi  # end of if [[ $rc -ne 0 || -z $gpfsInitOutput ]]
+
+  # Something is not right.  Put out a message every 60 seconds.
+  timeout=timeout-1
+  if [[ $timeout -le 0 ]]
+  then
+    # Show detailed error messages if any.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    # Tell what it is that we are waiting for.
+    printErrorMsg 142 $mmcmd "$whatfor"
+    # Put the messages in the daemon log as well.
+    if [[ -f $mmfslog ]]
+    then
+      [[ -s $errMsg ]] && $cat $errMsg     >> $mmfslog
+      printErrorMsg 142 $mmcmd "$whatfor" 2>> $mmfslog
+    fi
+    $rm -f $errMsg
+
+    # Reset the counters and see if it is time to give up.
+    if [[ $waitPeriod -gt 0 ]]
+    then
+      waitPeriod=waitPeriod-1
+      timeout=$interval
+    else
+      # The problem did not clear in the last 5 minutes.
+      # Tell the guy to use mmstartup and give up.
+      print -u2 "mmautoload: The GPFS environment cannot be initialized."
+      print -u2 "mmautoload: Correct the problem and use mmstartup to start GPFS."
+      # Put the messages in the daemon log as well.
+      if [[ -f $mmfslog ]]
+      then
+        print "mmautoload: The GPFS environment cannot be initialized." >> $mmfslog
+        print "mmautoload: Correct the problem and use mmstartup to start GPFS." >> $mmfslog
+      fi
+      $rm -f $GLOBAL_FILES $LOCAL_FILES
+      return 0
+    fi  # end of if [[ $waitPeriod -gt 0 ]]
+  fi  # end of if [[ $timeout -le 0 ]]
+  $rm -f $errMsg
+
+  # Wait a while before retrying.
+  $sleep 6
+done  # end while true
+
+
+# If this is a primary or backup config server,
+# ensure the mmsdrserv daemon is running.
+if [[ $ourNodeName = $primaryServer || $ourNodeName = $backupServer ]]
+then
+  startSdrServ CURRENT 2>$errMsg
+
+  # Show detailed error messages if any.
+  if [[ -s $errMsg ]]
+  then
+    $cat $errMsg 1>&2
+    [[ -f $mmfslog ]] && $cat $errMsg >> $mmfslog
+  fi
+  $rm -f $errMsg
+fi  # end of if [[ $ourNodeName = $primaryServer || $ourNodeName = $backupServer ]]
+
+
+# Find the setting of the autoload parameter.
+autoload=$(showCfgValue autoload)
+
+
+# Go away if the autoload parameter is not set to yes.
+if [[ $autoload != yes ]]
+then
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+  return 0
+fi
+
+
+# Start GPFS.
+[[ -f $mmfslog ]] &&  \
+  print "\n$(date): mmautoload: Starting GPFS..." >> $mmfslog
+
+# Check whether we are already running.
+pid=$($ps -eo "pid args" |  \
+      $awk '/\/runmmfs/ && !/this process/ {print $1}')
+if [[ -n $pid ]]
+then
+  # GPFS is already active.
+  printInfoMsg 586 GPFS
+  [[ -f $mmfslog ]] &&  \
+    printInfoMsg 586 GPFS >> $mmfslog
+else
+  # Start the daemon.
+  # In non-Linux systems, pass the output of gpfsInit
+  # to runmmfs to avoid a second initialization call.
+  # In Linux, this is not done because the device major
+  # number is not available at this time.
+  if [[ $osName = Linux ]]
+  then
+    $daemonize -c $runmmfs
+  else
+    $daemonize -e "GPFSINIT=\"$gpfsInitOutput\"" -c $runmmfs
+  fi
+fi
+
+$rm -f $GLOBAL_FILES $LOCAL_FILES
+return 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmbackup
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmbackup	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmbackup	(revision 16)
@@ -0,0 +1,386 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2002,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)65 1.25.1.2 src/avs/fs/mmfs/ts/admin/mmbackup.sh, mmfs, avs_rgpfs24, rgpfs24s005a 6/14/06 14:39:45
+##############################################################################
+#
+# Usage:
+#
+#   mmbackup Device -n ControlFile [-t {full | incremental}] [-r IOrate]
+#                     [-s sortDir] [-T]
+#
+#     or
+#
+#   mmbackup Device -R [-r IOrate] [-s sortDir] [-T]
+#
+# where:
+#
+#   -n ControlFile         is a file containing information for controlling
+#                          the backup; this parameter is optional if mmbackup
+#                          was run previously, in which case the values from
+#                          the prior control file remain in effect if -n
+#                          is not specified
+#
+#   -r IOrate              an integer between 1 and 100 specifying how much
+#                          I/O bandwidth to allocate to the backup process
+#                          (the larger the number, the larger the allocated
+#                          bandwidth; default is 100)
+#
+#   -t full | incremental  type of backup; default is incremental
+#
+#   -R                     resume backing up files which failed to be
+#                          backed up on the previous invocation of mmbackup
+#
+#   -T                     enable tracing
+#
+#   -s sortDir             sort temporary directory name (default /tmp)
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmbackup.sh"
+[[ -n $DEBUG || -n $DEBUGmmbackup ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+tmpCtrlFile=${tmpDir}tmpCtrlFile.mmbackup.$$
+LOCAL_FILES=" $tmpCtrlFile "
+
+
+# Local variables
+
+usageMsg=458
+integer rc=0
+integer nodeCount=0
+integer n
+backupControlFile=".mmbuControl"
+
+typeset -i freeSpace
+
+
+# Local routines
+
+
+##########################################################################
+#
+# Function:  Get the amount of unused space in the specified file system.
+#
+# Input:     $1 - file system dev name or name of a file or directory
+#
+# Output:    the number of unused 1K blocks in the filesystem
+#
+# Returns:   0
+#
+##########################################################################
+function getFreeSpace  # { <fileSytem> | <fileName> }
+{
+  typeset sourceFile="mmbackup.sh"
+  [[ -n $DEBUG || -n $DEBUGgetFreeSpace ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset fileSystem=$1
+
+  typeset dfInfo
+  typeset -i freeBlocks
+
+  [[ -z $fileSystem ]] && \
+    checkForErrors "getFreeSpace: missing file system parameter" 1
+
+  # Issue the df command, requesting info in Posix format and 1K blocks.
+  LC_ALL=C $df -P -k $fileSystem > $tmpfile
+
+  # Read and discard the first line (the header).
+  exec 3<&-
+  exec 3< $tmpfile
+  $rm -f $tmpfile
+  read -u3 dfInfo
+
+  # Read and extract the desired info from the second line.
+  read -u3 dfInfo
+  set -f ; set -- $dfInfo ; set +f
+  freeBlocks=$4
+
+  # Return the result.
+  print -- "$freeBlocks"
+  return 0
+
+}  #--------- end of function getFreeSpace ------------------
+
+
+
+######################
+# Mainline processing
+######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] && \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] && \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save the file system name (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+
+while getopts :n:r:RTt:s: OPT
+do
+  case $OPT in
+
+    n) # input control file
+       [[ -n $nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nflag="-$OPT"; narg=$OPTARG;
+       [[ -n $Rflag ]] && \
+         syntaxError "invalidCombination" $usageMsg "-n" "-R"
+       ;;
+
+    r) [[ -n $rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       rflag="-$OPT"; rarg=$OPTARG;
+       # Ensure that rarg is an integer, and that its value is from 1 to 100.
+       n=$(checkIntRange $rflag $rarg 1 100)
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    s) [[ -n $sflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       sflag="-$OPT"; sarg=$OPTARG;
+       ;;
+
+    R) [[ -n $Rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Rflag="-$OPT";
+       [[ -n $nflag ]] && \
+         syntaxError "invalidCombination" $usageMsg "-n" "-R"
+       [[ -n $tflag ]] && \
+         syntaxError "invalidCombination" $usageMsg "-t" "-R"
+       ;;
+
+    t) [[ -n $tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       tflag="-$OPT"; targ=$OPTARG;
+       [[ $targ != full && $targ != incremental ]] && \
+         syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+       [[ -n $Rflag ]] && \
+         syntaxError "invalidCombination" $usageMsg "-t" "-R"
+       ;;
+
+    T) Tflag="-T";
+       ;;
+
+    +[n,r,s,R,t]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# Complete the parameter checking and set defaults.
+[[ -z $nflag && -z $Rflag ]] && \
+  syntaxError "missingArgs" $usageMsg
+
+[[ -z $rarg ]] && rarg=100
+rOption="-r $rarg"
+
+if [[ -z $targ ]]
+then
+  if [[ -z $Rflag ]]
+  then
+    tOption="-t incremental"
+  else
+    tOption=""
+  fi
+else
+  tOption="-t $targ"
+fi
+
+sOption=""
+if [[ -n $sarg ]]
+then
+  if [[ ! -d  $sarg ]]
+  then
+    # The sort temp dir does not exist.  Issue an error and quit.
+    printErrorMsg 574 $mmcmd $sarg
+    cleanupAndExit
+  fi
+  sOption="-s $sarg"
+fi
+
+
+#######################################################
+# Make sure there is a reasonable amount of free space
+# in the /var/mmfs filesystem.  This is needed so that
+# TSM can create error logs in /var/mmfs/mmbackup.
+#######################################################
+freeSpace=$(getFreeSpace $mmbackupDir)
+if [[ $freeSpace -lt 100 ]]
+then
+  # The filesystem is not mounted.  Issue an error and quit.
+  printErrorMsg 572 $mmcmd $mmbackupDir "100K"
+  cleanupAndExit
+fi
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+#######################################################
+# Make sure the file system exists, that it is part of
+# this node's cluster, and that it is mounted.
+#######################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+# Obtain the name of the file system (i.e., the mount point).
+mountPoint=$(findMountpoint $fqDeviceName)
+if [[ $mountPoint = "" ]]
+then
+  # The filesystem is not mounted.  Issue an error and quit.
+  printErrorMsg 563 $mmcmd $device $ourNodeName
+  cleanupAndExit
+fi
+
+
+##########################################################
+# Check that the control file, if specified, makes sense.
+##########################################################
+if [[ -z $narg ]]
+then
+  nOption=""
+else
+  # Verify the existence of the user specified control file
+  # and create our own copy.
+  checkUserFile $narg $tmpCtrlFile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+  # Set nOption to pass the control file to tsbackup.
+  nOption="-n $tmpCtrlFile"
+
+  # Check whether the backup clients specified in the control file
+  # belong to the cluster.
+  foundError=false
+  IFS_sv="$IFS"  # Save the IFS variable.
+  exec 3<&-
+  exec 3< $tmpCtrlFile
+  while read -u3 inputLine
+  do
+    IFS="="
+    set -f ; set -- $inputLine ; set +f
+    lineType=$1
+    lineValue=$2
+    IFS="$IFS_sv"  # Restore the IFS variable.
+    if [[ $lineType = clientName ]]
+    then
+      # Find the IP address that corresponds to this node name.
+      hostResult=$($host $lineValue)
+      set -f ; set -- $hostResult ; set +f
+      ipa=${3%%,*}           # Exclude everything after the first comma.
+      if [[ -z $ipa ]]
+      then
+        # An invalid node name was specified as a client.
+        printErrorMsg 54 $mmcmd $lineValue
+        foundError=true
+      fi
+      nodeName=$(getNodeInfo  \
+                   $REL_HOSTNAME_Field $IPA_Field $ipa $nsId $mmsdrfsFile)
+      if [[ -z $nodeName ]]
+      then
+        # The specified client node is not a member of the GPFS cluster.
+        printErrorMsg 290 $mmcmd $lineValue
+        foundError=true
+      fi
+    fi
+  done  # end while read -u3 fileName
+
+  # If an error was found, print a "command failed" message and exit.
+  if [[ $foundError = true ]]
+  then
+    printErrorMsg 389 $mmcmd
+    cleanupAndExit
+  fi
+fi
+
+
+################################################################
+# If an incremental or a resume backup was specified, make sure
+# there is a readable backup control file from a prior backup.
+################################################################
+if [[ $targ = incremental || -n $Rflag ]]
+then
+  myBackupCtrlFile="$mountPoint/$backupControlFile"
+  if [[ ! -f $myBackupCtrlFile || ! -r $myBackupCtrlFile ]]
+  then
+    # Can't find or read the backup control file from a prior backup.
+    printErrorMsg 565 $mmcmd $myBackupCtrlFile
+    cleanupAndExit
+  fi
+fi
+
+
+####################################
+# Invoke tsbackup to do the backup.
+####################################
+$tsbackup $fqDeviceName $mountPoint $nOption $rOption $tOption $Rflag $Tflag $sOption
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # The command failed.
+  printErrorMsg 389 $mmcmd
+else
+  # The command completed successfully.
+  printInfoMsg 272 $mmcmd
+fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchattr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchattr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchattr	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tschattr
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchcluster
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchcluster	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchcluster	(revision 16)
@@ -0,0 +1,1110 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)11 1.59.1.3 src/avs/fs/mmfs/ts/admin/mmchcluster.sh, mmfs, avs_rgpfs24, rgpfs24s009a 12/19/06 13:10:44
+###############################################################################
+#
+# Usage:
+#   mmchcluster {[-p PrimaryServer] [-s SecondaryServer]}
+# or
+#   mmchcluster -p LATEST
+# or
+#   mmchcluster {[-r RemoteShellCommand] [-R RemoteFileCopyCommand]}
+# or
+#   mmchcluster -C ClusterName
+# or
+#   mmchcluster -N {NodeDesc[,NodeDesc...] | NodeFile}
+#
+# where:
+#
+#   -p PrimaryServer    specifies the node to be used as the primary server
+#                       of the GPFS sdrfs data for this cluster.
+#
+#      LATEST           requests a check to be made that all currently
+#                       available nodes point to the correct primary and
+#                       backup server.
+#
+#   -s SecondaryServer  specifies the node to be used as the backup server
+#                       of the GPFS sdrfs data for this cluster (optional).
+#                       To remove a backup server, specify  -s "".
+#
+#   -r RemoteShellCommand   specifies the fully qualified pathname for
+#                       the remote shell program to be used by GPFS.
+#                       The default is /usr/bin/rsh.
+#
+#   -R RemoteFileCopyCommand  specifies the fully qualified pathname for
+#                       the remote file copy program to be used by GPFS.
+#                       The default is /usr/bin/rcp.
+#
+#   -C ClusterName      specifies a new name for the cluster.  If the name
+#                       contains dots it is assumed to be a fully qualified
+#                       domain name.  Otherwise, the domain will default
+#                       to the domain of the primary configuration server.
+#
+#   -N NodeDesc,NodeDesc,...  specifies a comma-separated list of node
+#                             descriptors that specify the admin node
+#                             interfaces to be used in the cluster.
+#                       The node descriptors have the format:
+#                         daemonNodeName:nodeRoles:adminNodeName:
+#                       The nodeRoles field is currently just a place-holder
+#                       and is ignored.
+#
+#   -N NodeFile         specifies a file of node descriptors that specify
+#                       the admin node interfaces to be used in the cluster.
+#                       The lines in the input file have the format:
+#                         daemonNodeName:nodeRoles:adminNodeName:
+#                       The nodeRoles field is currently just a place-holder
+#                       and is ignored.
+#
+# Note:  When used with the -p or -s options, this command will most
+#        likely be needed when the current primary server is not available
+#        and it will be impossible to obtain the sdr lock and protect
+#        against concurrent execution of some other mm command.
+#        Under such conditions, the user must assure that no other mm
+#        command is run until the completion of the mmchcluster command
+#        and that as many of the remaining nodes as possible are available.
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmchcluster.sh"
+[[ -n $DEBUG || -n $DEBUGmmchcluster ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+allNodes=${tmpDir}allNodes.${mmcmd}.$$
+clientNodes=${tmpDir}clientNodes.${mmcmd}.$$
+inputNodes=${tmpDir}inputNodes.${mmcmd}.$$
+processedNodes=${tmpDir}processedNodes.${mmcmd}.$$
+initErrors=${tmpDir}initErrors.${mmcmd}.$$
+# Note: Do not include initErrors in LOCAL_FILES yet; we'll do it later.
+
+LOCAL_FILES=" $allNodes $clientNodes $inputNodes $processedNodes "
+
+
+# Local declarations
+
+usageMsg=359
+newNodeNumbers=""
+backupServer=""
+rshPath=""
+rcpPath=""
+integer nodeCount
+integer n
+rc=0
+
+Cflag=""
+Nflag=""
+pflag=""
+rflag=""
+Rflag=""
+sflag=""
+Carg=""
+parg=""
+rarg=""
+Rarg=""
+sarg=""
+otherOpt=""
+
+
+# Local functions
+
+
+##########################################################################
+#
+# Function:  Specify the admin network for the GPFS cluster.
+#
+# Input:    $1 - file or list of node descriptors containing the
+#                adapter information as follows:
+#                  daemonNodeName:nodeRoles:adminNodeName:
+#
+# Returns:   0 - no errors encountered
+#            non-zero - unexpected error
+#
+##########################################################################
+function specifyAdminNetwork  # <networkInfo>
+{
+  typeset sourceFile="mmchcluster.sh"
+  [[ -n $DEBUG || -n $DEBUGspecifyAdminNetwork ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset networkInfo="$1"
+
+  typeset failedNodes sdrfsLine mmcommonOutput
+  typeset nodeLine nodeName nodeName2 nodeStatus
+# typeset nodeRoles
+  typeset hostResult nodeNumber adminNodeName adminIpa
+  typeset nodeError newPrimaryName newBackupName commitOptions
+
+  typeset rc=0
+  typeset changeMade=""
+  typeset fatalError=""
+  typeset sharedSdrservPort=""
+
+  # The input parameter may be either a list or a file.  Which is it?
+  if [[ -f $networkInfo ]]
+  then
+    # It is a file; verify its existence and create our own copy.
+    checkUserFile $networkInfo $inputNodes
+    [[ $? -ne 0 ]] && cleanupAndExit
+  else
+    # It is not a file, so it must be a list.
+    # Convert the input node list into a file.
+    $rm -f $inputNodes
+    IFS=','
+    for nodeDesc in $networkInfo
+    do
+      print -- "$nodeDesc" >> $inputNodes
+      checkForErrors "writing to $inputNodes" $?
+    done
+    IFS="$IFS_sv"    # Restore the default IFS setting.
+  fi
+
+  # Check the input data for correctness.
+  # We check all the records rather than stop on the first error.
+  $rm -f $processedNodes
+  $touch $processedNodes     # Ensure the tmp file exists even if empty.
+  IFS=":"                    # Change the field separator to ':'.
+  exec 3<&-
+  exec 3< $inputNodes
+  while read -u3 nodeLine
+  do
+    # Parse the line.
+    set -f ; set -- $nodeLine ; set +f
+    nodeName=$1
+#   nodeRoles=$2
+    nodeName2=$3
+    IFS="$IFS_sv"    # Restore the default IFS setting.
+
+    # Make sure neither node name is specified more than once.
+    $grep -qw $nodeName $processedNodes > /dev/null 2>&1
+    if [[ $? -eq 0 ]]
+    then
+      # The node name is specified twice.
+      printErrorMsg 347 $mmcmd $nodeName
+      fatalError=yes
+    fi
+
+    # Check the admin node name if it was specified.
+    if [[ -n $nodeName2 && $nodeName2 != $nodeName ]]
+    then
+      $grep -qw $nodeName2 $processedNodes > /dev/null 2>&1
+      if [[ $? -eq 0 ]]
+      then
+        # The node is specified twice.
+        printErrorMsg 347 $mmcmd $nodeName2
+        fatalError=yes
+      fi
+    fi  # end of if [[ -n $nodeName2 && $nodeName2 != $nodeName ]]
+
+    # Add the node names to the list of processed nodes.
+    print -- "${nodeName}:${nodeName2}" >> $processedNodes
+    checkForErrors "Writing to file $processedNodes" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end of while read -u3 nodeLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # Return to the caller if we encountered an error.
+  [[ -n $fatalError ]] && return 1
+
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  # Set up trap exception handling and obtain the lock.
+  trap pretrap HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit $lockId)
+  setGlobalVar $? $gpfsInitOutput
+
+  # Stop here if the admin network support has not been activated yet.
+  if [[ $sdrfsFormatLevel -eq 0 ]]
+  then
+    print -u2 "$mmcmd:  The separate administration network support has not been enabled yet."
+    print -u2 "    Run \"mmchconfig release=LATEST\" to activate the new function."
+    cleanupAndExit
+  fi
+
+  # Determine the lookup order for resolving host names.
+  [[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+  # Go through the current mmsdrfs file.  Increment the generation
+  # number and build the node name list that will be needed later.
+  # Remove all admin network related information.
+  $rm -f $newsdrfs $nodefile
+  newPrimaryName=""
+  newBackupName=""
+  IFS=":"                    # Change the field separator to ':'.
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"      # Restore the default IFS settings.
+    printLine=true     # Assume the line will be printed.
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )  # This is the global header line.
+        # Save the version line for updating later.
+        versionLine=$(print_newLine)
+        printLine=false
+        ;;
+
+      $NODESET_HDR )
+        # If the daemon and the mmsdrserv tcp ports are shared,
+        # it will be necessary to ensure that the daemon is down
+        # on the config server nodes if there names will change.
+        if [[ -z ${v[$GETOBJECT_PORT_Field]} ||
+              ${v[$TCP_PORT_Field]} = ${v[$GETOBJECT_PORT_Field]} ]]
+        then
+          sharedSdrservPort=yes
+        fi
+        ;;
+
+      $MEMBER_NODE )   # This line describes a node.
+        # Add the reliable node name to nodefile.
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+        checkForErrors "writing to file $nodefile" $?
+
+        # Reset the node error flag.
+        nodeError=""
+
+        # Obtain the data for this node from the node file.
+        nodeLine=$($awk -F: '                        \
+          $1 == "'${v[$DAEMON_NODENAME_Field]}'" ||  \
+          $1 == "'${v[$REL_HOSTNAME_Field]}'"    ||  \
+          $1 == "'${v[$NODE_NAME_Field]}'"       ||  \
+          $1 == "'${v[$ADMIN_SHORTNAME_Field]}'" ||  \
+          $1 == "'${v[$NODE_NUMBER_Field]}'"     ||  \
+          $1 == "'${v[$IPA_Field]}'" {               \
+            { print $0 }                             \
+            { exit }                                 \
+          }                                          \
+        ' $inputNodes)
+
+        if [[ -n $nodeLine ]]
+        then
+          # We found data for this node.  Parse the input.
+          IFS=":"              # Change the field separator to ':'.
+          set -f ; set -- $nodeLine ; set +f
+          nodeName=$1
+          nodeName2=$3
+          IFS="$IFS_sv"        # Restore the default IFS setting.
+
+          # Determine the daemon node name.
+          if [[ -n ${v[$DAEMON_NODENAME_Field]} ]]
+          then
+            daemonNodeName=${v[$DAEMON_NODENAME_Field]}
+          else
+            daemonNodeName=${v[$REL_HOSTNAME_Field]}
+          fi
+
+          # Did the user reset or specify the admin node name?
+          if [[ -z $nodeName2 ]]
+          then
+            # The admin node name was null, indicating "reset";
+            # set the admin node name to the daemon node name value.
+            adminNodeName=$daemonNodeName
+            adminShortName=${v[$NODE_NAME_Field]}
+
+          else
+            # The admin node name was not null, indicating "specify";
+            # Determine the IP address for the specified admin node name.
+            hostResult=$($host $nodeName2)
+            set -f ; set -- $hostResult ; set +f
+            adminNodeName=$1
+            adminShortName=${1%% *|.*} # Exclude everything after the first dot.
+            adminIpa=${3%%,*}
+
+            # Check that the admin node name has a valid IP address.
+            if [[ -z $adminIpa ]]
+            then
+              # An invalid node name was specified.
+              printErrorMsg 54 $mmcmd $nodeName2
+              fatalError=yes
+              break
+            fi
+
+            # Invoke the checkAdapter function to ensure that
+            # the specified adapter interface exists on the node.
+            mmcommonOutput=$($mmcommon on1 ${v[$REL_HOSTNAME_Field]}  \
+               checkAdapter $adminIpa 2> $errMsg)
+            rc=$?
+            set -f ; set -- $mmcommonOutput ; set +f
+            nodeStatus=$1
+            if [[ $rc != 0 || $nodeStatus != success ]]
+            then
+              # The checkAdapter call failed.
+              # We will not define a new admin node name for this node
+              # but we will continue to process the remaining nodes.
+              # Tell the world what went wrong with this node.
+              if [[ $nodeStatus = ipa_alias ]]
+              then
+                # IP address aliasing is not supported.
+                printErrorMsg 476 $mmcmd $nodeName2
+              elif [[ $nodeStatus = ipa_missing ]]
+              then
+                # The admin IP address is not known on the node.
+                printErrorMsg 154 $mmcmd $nodeName2 ${v[$REL_HOSTNAME_Field]}
+              elif [[ $rc = $MM_HostDown || $rc = $MM_ConnectTimeout ]]
+              then
+                # The node cannot be reached.
+                printErrorMsg 340 $mmcmd ${v[$REL_HOSTNAME_Field]}
+              else
+                # Unexpected error.  Display all possible error messages.
+                [[ -s $errMsg ]] && $cat $errMsg 1>&2
+                [[ $rc -eq 0 ]] && rc=1
+                checkForErrors "checkAdapter ${v[$REL_HOSTNAME_Field]}" $rc
+              fi
+
+              # Append the node name to the list of failed nodes and
+              # set a flag to indicate the node name did not check out.
+              failedNodes="${failedNodes}\n\t${nodeName}"
+              nodeError=yes
+
+            fi  # end of if [[ $rc != 0 || $nodeStatus != success ]]
+
+          fi  # end of if [[ -z $nodeName2 ]]
+
+          # Update the member line if there was no error.
+          if [[ -z $nodeError ]]
+          then
+            # Remember the new primary or backup server name for updating
+            # the version line later if this is one of those servers.
+            [[ ${v[$REL_HOSTNAME_Field]} = $primaryServer ]] &&  \
+              newPrimaryName=$adminNodeName
+            [[ ${v[$REL_HOSTNAME_Field]} = $backupServer ]]  &&  \
+              newBackupName=$adminNodeName
+
+            # Things checked out ok.  Set the node name fields.
+            v[$DAEMON_NODENAME_Field]=$daemonNodeName
+            v[$REL_HOSTNAME_Field]=$adminNodeName
+            v[$ADMIN_SHORTNAME_Field]=$adminShortName
+            changeMade=yes
+          fi
+
+          $rm -f $errMsg
+
+        fi  # end of if [[ -n $nodeLine ]]
+        ;;
+
+      * )  # We are not interested in any other lines.
+        ;;
+
+    esac  # end of case ${v[$LINE_TYPE_Field]} in
+
+    # Unless suppressed, write the line to the new mmsdrfs file.
+    if [[ $printLine = true ]]
+    then
+      print_newLine >> $newsdrfs
+      checkForErrors "writing to file $newsdrfs" $?
+    fi
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end of while read -u3
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # Go through the mmsdrfs file to update the NSD servers admin node names.
+  $rm -f $tmpsdrfs
+  IFS=":"
+  exec 3<&-
+  exec 3< $newsdrfs
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+
+    # Change some of the fields depending on the type of line.
+    case ${v[$LINE_TYPE_Field]} in
+
+      $SG_DISKS )  # This is the line for some disk.
+
+        # If this disk is an NSD with a valid PVID value,
+        # make sure the daemon nsd server names are recorded.
+        if [[ ${v[$DISK_TYPE_Field]} = nsd && -n ${v[$PVID_Field]} ]]
+        then
+          # If a server node was specified, check that it is valid and
+          # convert it to get the potentially new admin adapter name.
+          # We determine whether a server was specified by checking for an
+          # admin nsd server name, but we do not use that name for finding
+          # the node information, since the old admin node name may
+          # no longer exist as a result of the update we just did.
+          # We use the daemon node name to find the node instead,
+          # since mmchcluster -N does not change daemon node names.
+          if [[ -n ${v[$NSD_PRIMARY_NODE_Field]} ]]
+          then
+            # If no daemon node name has yet been recorded for the
+            # primary NSD server, determine and store it now.
+            server=${v[$DAEMON_NSD_PRIMARY_Field]}
+            if [[ -z $server ]]
+            then
+              server=$(checkAndConvertNodeValue  \
+                 ${v[$NSD_PRIMARY_NODE_Field]} $DAEMON_NODENAME_Field)
+              checkForErrors "checkAndConvertNodeValue" $?
+              v[$DAEMON_NSD_PRIMARY_Field]=$server
+            fi
+            # Use the primary server's daemon node name to obtain
+            # the primary server's admin node name.
+            v[$NSD_PRIMARY_NODE_Field]=$(checkAndConvertNodeValue  \
+               $server $REL_HOSTNAME_Field $newsdrfs)
+            checkForErrors "checkAndConvertNodeValue $server" $?
+          fi
+          if [[ -n ${v[$NSD_BACKUP_NODE_Field]} ]]
+          then
+            # If no daemon node name has yet been recorded for the
+            # backup NSD server, determine and store it now.
+            backup=${v[$DAEMON_NSD_BACKUP_Field]}
+            if [[ -z $backup ]]
+            then
+              backup=$(checkAndConvertNodeValue  \
+                 ${v[$NSD_BACKUP_NODE_Field]} $DAEMON_NODENAME_Field)
+              checkForErrors "checkAndConvertNodeValue" $?
+              v[$DAEMON_NSD_BACKUP_Field]=$backup
+            fi
+            # Use the backup server's daemon node name to obtain
+            # the backup server's admin node name.
+            v[$NSD_BACKUP_NODE_Field]=$(checkAndConvertNodeValue  \
+               $backup $REL_HOSTNAME_Field $newsdrfs)
+            checkForErrors "checkAndConvertNodeValue $backup" $?
+          fi
+        fi  # end of if (v[$DISK_TYPE_Field] == "nsd" && -n v[$PVID_Field])
+        ;;
+
+      * )  # We are not interested in any other lines.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the temp version of the mmsdrfs file.
+    print_newLine >> $tmpsdrfs
+    checkForErrors "writing to file $tmpsdrfs" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # If a fatal error occurred, or if no changes were made,
+  # release the lock, report any failed nodes, and return.
+  if [[ -n $fatalError || -z $changeMade ]]
+  then
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    if [[ -n $failedNodes ]]
+    then
+      # Administrative node names were not defined for nodes ...
+      printErrorMsg 174 $mmcmd $failedNodes
+    fi
+    if [[ -n $fatalError ]]
+    then
+      printErrorMsg 389 $mmcmd         # The command failed.
+    else
+      printErrorMsg 387 $mmcmd $mmcmd  # Command quitting due to no valid nodes.
+    fi
+    return 1
+  fi
+
+  # Create the updated version line and add it to the new sdrfs file.
+  # The generation number is incremented and the server names may change.
+  IFS=":"                    # Change the field separator to ':'.
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"              # Restore the default IFS setting.
+  newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+  v[$SDRFS_GENNUM_Field]=$newGenNumber
+  [[ -n $newPrimaryName ]] && v[$PRIMARY_SERVER_Field]=$newPrimaryName
+  [[ -n $newBackupName ]]  && v[$BACKUP_SERVER_Field]=$newBackupName
+  print_newLine >> $tmpsdrfs
+  checkForErrors "writing to file $tmpsdrfs" $?
+
+  # If the GPFS and mmsdrserv daemons share the same tcp port number,
+  # and the names of the primary or backup configuration servers are
+  # changing, it is necessary to ensure that the GPFS daemon is down
+  # on the server nodes and the mmsdrserv daemon is restarted.
+  # Otherwise, the server nodes will continue giving (stale) Gpfs object
+  # or return ESDR_NOT_SERVER errors.
+  if [[ -n $sharedSdrservPort && ( -n $newPrimaryName || -n $newBackupName ) ]]
+  then
+    # Get the names of the config servers.
+    print -- "${v[$PRIMARY_SERVER_Field]}\n${v[$BACKUP_SERVER_Field]}" > $tmpNodes
+    checkForErrors "writing to file $tmpNodes" $?
+
+    # Verify the daemon is down; do not lock the Gpfs object.
+    printInfoMsg 453
+    verifyDaemonInactive $tmpNodes
+    [[ $? -ne 0 ]] && return 1
+
+    commitOptions="initLocalNodeData,KILLSDRSERV"
+  else
+    commitOptions="initLocalNodeData"
+  fi  # end of if [[ -n $sharedSdrservPort ]]
+
+  # Make sure the new sdrfs file is properly sorted.
+  LC_ALL=C $SORT_MMSDRFS $tmpsdrfs -o $newsdrfs
+
+  # Put the new mmsdrfs file into the sdr.  This will make the newly-added
+  # admin nodes visible to the rest of the nodes in the cluster.
+  trap "" HUP INT QUIT KILL
+  gpfsObjectInfo=$(commitChanges $nsId $nsId  \
+     $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer $commitOptions)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    return 1
+  fi
+
+  # Unlock the sdr.
+  freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  trap posttrap HUP INT QUIT KILL
+
+  # Propagate the new mmsdrfs file to all nodes in the cluster.
+  # This process is asynchronous.
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber initLocalNodeData
+
+  # Report any nodes that did not check successfully.
+  if [[ -n $failedNodes ]]
+  then
+    # Administrative node names were not defined for nodes ...
+    printErrorMsg 174 $mmcmd $failedNodes
+  fi
+
+  return 0
+
+}  #----- end of function specifyAdminNetwork -------------------
+
+
+###################################################################
+# This function is called if there is an interrupt after the new
+# mmsdrfs file was committed on the new primary and backup servers
+# but before the change was propagated to the rest of the nodes.
+###################################################################
+function localPosttrap
+{
+  $mmTRACE_ENTER "$*"
+
+  # Tell the guy which nodes must be up and which command to run.
+  printErrorMsg 350 $mmcmd "\n\t$newPrimaryServer\t$newBackupServer"
+  printErrorMsg 344 $mmcmd "mmchcluster -p LATEST"
+  cleanupAndExit 2
+
+}  #----- end of function localPosttrap ------------------------
+
+
+
+######################
+# Mainline processing
+######################
+
+
+###################################################
+# Process the command arguments.
+###################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] && \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2  ]] && \
+  syntaxError "missingArgs" $usageMsg
+
+while getopts :C:N:p:r:R:s: OPT
+do
+  case $OPT in
+
+    C) # cluster name
+       [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Cflag="-$OPT"
+       Carg=$OPTARG
+       ;;
+
+    N) # define/replace secondary network
+       [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"
+       Narg=$OPTARG
+       ;;
+
+    p) # primary server
+       [[ -n $pflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       pflag="-$OPT"
+       parg=$OPTARG
+       otherOpt="-$OPT"
+       ;;
+
+    r) # remote shell command
+       [[ -n $rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       rflag="-$OPT"
+       rarg=$OPTARG
+       [[ $rarg = ${rarg#/} ]] && \
+         syntaxError "absolutePath_2" $noUsageMsg "-$OPT" "$rarg"
+       otherOpt="-$OPT"
+       ;;
+
+    R) # remote file copy command
+       [[ -n $Rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Rflag="-$OPT"
+       Rarg=$OPTARG
+       [[ $Rarg = ${Rarg#/} ]] && \
+         syntaxError "absolutePath_2" $noUsageMsg "-$OPT" "$Rarg"
+       otherOpt="-$OPT"
+       ;;
+
+    s) # secondary server
+       [[ -n $sflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       sflag="-$OPT"
+       sarg=$OPTARG
+       otherOpt="-$OPT"
+       ;;
+
+    +[CNprRs]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+[[ -n $sflag && $parg = LATEST ]] && \
+  syntaxError "invalidCombination" $usageMsg "-s" "-p LATEST"
+
+[[ -n $rflag && -n $pflag ]] && \
+  syntaxError "invalidCombination" $usageMsg "-r" "-p"
+
+[[ -n $rflag && -n $sflag ]] && \
+  syntaxError "invalidCombination" $usageMsg "-r" "-s"
+
+[[ -n $Rflag && -n $pflag ]] && \
+  syntaxError "invalidCombination" $usageMsg "-R" "-p"
+
+[[ -n $Rflag && -n $sflag ]] && \
+  syntaxError "invalidCombination" $usageMsg "-R" "-s"
+
+# The primary GPFS cluster configuration server cannot be removed.
+[[ -n $pflag && $parg = "" ]] && \
+  syntaxError "missingValue" $usageMsg "-p"
+
+[[ -n $Nflag && -n $otherOpt ]] && \
+  syntaxError "invalidCombination"  $usageMsg "-N" "$otherOpt"
+
+[[ -n $Cflag && -n $otherOpt ]] && \
+  syntaxError "invalidCombination" $usageMsg "-C" "$otherOpt"
+
+
+#############################################################################
+# If the request is to change a remote command, invoke the mmsetrcmd script.
+# Keep in mind that rarg and Rarg may include options for the respective
+# commands and, therefore, must always be quoted.
+#############################################################################
+if [[ -n $rflag || -n $Rflag ]]
+then
+  if [[ -z $Rflag ]]
+  then
+    $mmsetrcmd "$rflag" "$rarg"
+    rc=$?
+  elif [[ -z $rflag ]]
+  then
+    $mmsetrcmd "$Rflag" "$Rarg"
+    rc=$?
+  else
+    $mmsetrcmd "$rflag" "$rarg" "$Rflag" "$Rarg"
+    rc=$?
+  fi
+  cleanupAndExit $rc
+fi
+
+
+#############################################################
+# If the request is to specify changes to the admin network,
+# invoke the function to do the work and exit.
+#############################################################
+if [[ -n $Nflag ]]
+then
+  specifyAdminNetwork "$Narg"
+  cleanupAndExit $?
+fi
+
+
+########################################################
+# If the request is to change the cluster name,
+# invoke the mmsetrcmd script.
+########################################################
+if [[ -n $Cflag ]]
+then
+  $mmsetrcmd "$Cflag" "$Carg"
+  cleanupAndExit $?
+fi
+
+
+#################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will attempt to ensure that the local copy of the mmsdrfs
+# and the rest of the GPFS system files are up-to-date.
+# Try to get the lock but do not fail if this is not possible.
+#################################################################
+trap pretrap HUP INT QUIT KILL
+
+if [[ $parg = LATEST ]]
+then
+  # The LATEST keyword was specified.  Try to obtain the
+  # most recent mmsdrfs file (i.e., the mmsdrfs file with the
+  # highest gen number) among all the nodes in the cluster.
+  # To do that, use the local mmsdrfs file as a starting point.
+  getNodeList $REL_HOSTNAME_Field $HOME_CLUSTER $mmsdrfsFile > $allNodes
+  gpfsInitOutput=$(gpfsInitFromNonServer $allNodes $mmsdrfsFile)
+  rc=$?
+
+else
+  # The LATEST keyword was not specified.  Try to obtain
+  # the mmsdrfs file from one of the servers with locking.
+  gpfsInitOutput=$(gpfsInit $lockId 2> $initErrors)
+  rc=$?
+  LOCAL_FILES="$LOCAL_FILES $initErrors "
+  if [[ $rc -ne 0 ]]
+  then
+    # We failed to get the sdrfs file with a lock.  Check whether
+    # some other mm command currently holds the lock.  If yes, give up.
+    $grep -e "Timed out waiting for lock:  Try again later."  \
+          -e "6027-1229"  $initErrors > /dev/null 2>&1
+    ec=$?
+    if [[ $ec -eq 0 ]]
+    then
+      # Display the messages from gpfsInit.
+      $cat $initErrors | \
+         $grep -v -e "6027-1227" -e "file is locked. Retrying..." 1>&2
+      cleanupAndExit
+    fi
+
+    # We failed to get the sdrfs file with a lock.  Display any messages.
+    $cat $initErrors 1>&2
+    # Processing continues.
+    printErrorMsg 437 $mmcmd
+
+    # Now try the gpfsInit again, but this time do not ask for a lock.
+    # If there is a backup server, and if it is available,
+    # we should be able to get the latest GPFS system files from there.
+    gpfsInitOutput=$(gpfsInit nolock 2>/dev/null)
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      # We also failed to get the sdrfs file without locking.  Now try
+      # to obtain the most recent mmsdrfs file (i.e., the mmsdrfs file
+      # with the highest gen number) among all the nodes in the cluster.
+      # To do that, use the local mmsdrfs file as a starting point.
+      getNodeList $REL_HOSTNAME_Field $HOME_CLUSTER $mmsdrfsFile > $allNodes
+      gpfsInitOutput=$(gpfsInitFromNonServer $allNodes $mmsdrfsFile)
+      rc=$?
+    fi
+  fi
+fi   # end of if [[ $parg = LATEST ]]
+
+# Check whether we succeeded in obtaining the desired mmsdrfs file.
+if [[ $rc -ne 0 ]]
+then
+  # Not enough nodes are available.
+  printErrorMsg 378 $mmcmd
+  cleanupAndExit
+fi
+
+# Parse the output from the init function.
+setGlobalVar $rc $gpfsInitOutput
+
+if [[ $MMMODE = single ]]
+then
+  # Command currently not valid for cluster type single.
+  printErrorMsg 376 $mmcmd single
+  cleanupAndExit
+fi
+
+if [[ $MMMODE != lc ]]
+then
+  # Unknown GPFS nodeset type
+  printErrorMsg 338 $mmcmd $MMMODE
+  cleanupAndExit
+fi
+
+
+#######################################################
+# Determine the reliable hostnames of the new servers.
+#######################################################
+if [[ -n $pflag && $parg != LATEST ]]
+then
+  # Find the name of the primary server.
+  newPrimaryServer=$(checkAndConvertNodeValue $parg $REL_HOSTNAME_Field)
+  if [[ $? -ne 0 ]]
+  then
+    printErrorMsg 352 $mmcmd $parg
+    cleanupAndExit
+  fi
+else
+  # If -p not specified, the primary server remains the same.
+  newPrimaryServer=$primaryServer
+fi  # end of if [[ -n $parg && $parg != LATEST ]]
+
+if [[ -n $sflag ]]
+then
+  if [[ -n $sarg ]]
+  then
+    # Find the name of the secondary server.
+    newBackupServer=$(checkAndConvertNodeValue $sarg $REL_HOSTNAME_Field)
+    if [[ $? -ne 0 ]]
+    then
+      printErrorMsg 352 $mmcmd $sarg
+      cleanupAndExit
+    fi
+  else
+    # We are deleting the backup server (-s "" was specified).
+    newBackupServer=""
+  fi
+else
+  # If -s not specified, the backup server remains the same.
+  newBackupServer=$backupServer
+fi  # end of if [[ -n $sarg ]]
+
+# Cross check the two server names.
+if [[ $newBackupServer = $newPrimaryServer ]]
+then
+  # The same node was specified as primary and backup server.
+  printErrorMsg 346 $mmcmd
+  cleanupAndExit
+fi
+
+# Check whether anything needs to be done at all.
+[[ $newPrimaryServer = $primaryServer &&  \
+   $newBackupServer  = $backupServer  &&  \
+   $parg != LATEST ]] &&                  \
+  cleanupAndExit 0    # Servers are already as desired.
+
+
+#################################################################
+# Go through the current mmsdrfs file.  Increment the generation
+# number and change the server names.  Create a file with the
+# reliable hostnames of all nodes in the cluster.
+#################################################################
+$rm -f $newsdrfs $allNodes $clientNodes
+IFS=":"         # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )
+      # Increment the generation number.
+      newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+      v[$SDRFS_GENNUM_Field]=$newGenNumber
+      v[$PRIMARY_SERVER_Field]=$newPrimaryServer
+      v[$BACKUP_SERVER_Field]=$newBackupServer
+      ;;
+
+    $NODESET_HDR )
+      # If the daemon and the mmsdrserv tcp ports are shared,
+      # it will be necessary to ensure that the daemon is down
+      # on the old and new config server nodes.
+      if [[ -z ${v[$GETOBJECT_PORT_Field]} ||
+            ${v[$TCP_PORT_Field]} = ${v[$GETOBJECT_PORT_Field]} ]]
+      then
+        daemonMustBeDown=yes
+      fi
+      ;;
+
+    $MEMBER_NODE )
+      # If this is our node, save the reliable name.
+      [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+        ourNodeName=${v[$REL_HOSTNAME_Field]}
+
+      # All nodes will go in the allNodes file.
+      print -- "${v[$REL_HOSTNAME_Field]}" >> $allNodes
+      checkForErrors "writing to file $allNodes" $?
+
+      # The server nodes and the local node will
+      # not go in the clientNodes file.
+      if [[ ${v[$REL_HOSTNAME_Field]} != $newPrimaryServer &&
+            ${v[$REL_HOSTNAME_Field]} != $newBackupServer  &&
+            ${v[$REL_HOSTNAME_Field]} != $ourNodeName ]]
+      then
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $clientNodes
+        checkForErrors "writing to file $clientNodes" $?
+      fi
+      ;;
+
+    * )  # Pass all other lines without change.
+      ;;
+
+  esac  # end Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  print_newLine >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end of while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+#######################################################################
+# If the GPFS and mmsdrserv daemons share the same tcp port number,
+# it is necessary to ensure that the GPFS daemon is down on the old
+# and new configuration server nodes.  Otherwise, the old server nodes
+# will continue giving (stale) Gpfs object information, while the new
+# servers will not be able to respond to requests because the GPFS
+# daemon cannot assume mmsdrserv duties if it is already running.
+#######################################################################
+if [[ -n $daemonMustBeDown && $parg != LATEST ]]
+then
+  # Put the old and new server names in a file.
+  print -- "$primaryServer\n$backupServer\n"  \
+           "$newPrimaryServer\n$newBackupServer" > $tmpNodes
+  checkForErrors "writing to file $tmpNodes" $?
+
+  # Eliminate duplicate names.
+  $sort -u $tmpNodes -o $tmpNodes
+  checkForErrors "sort $tmpNodes" $?
+
+  # Verify the daemon is down; do not lock the Gpfs object.
+  printInfoMsg 453
+  verifyDaemonInactive $tmpNodes
+  [[ $? -ne 0 ]] && cleanupAndExit
+fi  # end of if [[ -n $daemonMustBeDown ]]
+
+
+######################################################
+# First, put the new mmsdrfs file on the two servers.
+# This must succeed no matter what.
+######################################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs  \
+   $newPrimaryServer FORCE $newBackupServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # Cannot replace file in the sdr.
+  printErrorMsg 381 $mmcmd
+
+  # The mmchcluster failed - get out.
+  # Tell the guy which nodes must be up and which command to run.
+  printErrorMsg 350 $mmcmd "\n\t$newPrimaryServer\t$newBackupServer"
+  printErrorMsg 344 $mmcmd "mmchcluster"
+  cleanupAndExit
+fi
+
+# Restore interrupts.
+trap localPosttrap HUP INT QUIT KILL
+
+
+#################################################
+# Propagate the changes to the non-server nodes.
+#################################################
+if [[ $ourNodeName != $newPrimaryServer &&
+      $ourNodeName != $newBackupServer ]]
+then
+  $cp $newsdrfs $mmsdrfsFile
+  checkForErrors "writing to file $mmsdrfsFile" $?
+fi
+
+if [[ -s $clientNodes ]]
+then
+  # Calculate the checksum of the new mmsdrfs file.
+  sumOutput=$($sum $newsdrfs)
+  checkForErrors "sum $newsdrfs" $?
+  set -f ; set -- $sumOutput ; set +f
+  newSum=$1
+
+#esjxx See if this can be replaced with pushSdr
+  # Tell all client nodes to copy the file from us.
+  $mmcommon onall $clientNodes $unreachedNodes copyRemoteFile  \
+              $ourNodeName $mmsdrfsFile $mmsdrfsFile $newSum > $tmpfile 2>&1
+  rc=$?
+
+  # Make a list of the nodes that were successfully updated.  For each
+  # such node there will be a line in tmpfile that looks like this:
+  #   nodename: copyRemoteFile:0
+  updatedNodes=$($awk -F: ' {                         \
+    if (($2 ~ "copyRemoteFile") && ($3 == "0")) {     \
+      { print $1 }                                    \
+    }                                                 \
+  } ' $tmpfile)
+  checkForErrors awk $?
+
+  # Determine the nodes that did not get the new data.
+  exec 3<&-
+  exec 3< $clientNodes
+  while read -u3 nodeName
+  do
+    for goodNode in $updatedNodes
+    do
+      [[ $nodeName = $goodNode ]] &&  \
+        break
+    done
+
+    [[ $nodeName != $goodNode ]] &&  \
+      failedNodes="${failedNodes}\n\t${nodeName}"
+  done
+
+  # If any nodes failed, put out as much information as possible.
+  if [[ -n $failedNodes ]]
+  then
+    # Collect error messages, if any, in file tmpfile2.
+    $grep -v "copyRemoteFile:" $tmpfile > $tmpfile2
+    [[ -s $tmpfile2 ]] &&  \
+      $cat $tmpfile2 1>&2
+
+    # Tell the user which nodes failed.
+    printErrorMsg 377 $mmcmd "$failedNodes"
+    # Tell the guy which nodes must be up and which command to run.
+    printErrorMsg 350 $mmcmd "\n\t$newPrimaryServer\t$newBackupServer"
+    printErrorMsg 344 $mmcmd "mmchcluster -p LATEST"
+    cleanupAndExit
+  fi   # end if [[ -n $failedNodes ]]
+
+fi  # end if [[ ! -s $clientNodes ]]
+
+
+##############################
+# Unlock the sdr.
+##############################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+# Issue "command was successful" message.
+printErrorMsg 272 $mmcmd
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchconfig
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchconfig	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchconfig	(revision 16)
@@ -0,0 +1,6385 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)17 1.231.2.15 src/avs/fs/mmfs/ts/admin/mmchconfig.sh, mmfs, avs_rgpfs24, rgpfs24s012a 4/2/07 12:58:05
+################################################################################
+#
+# Usage:  mmchconfig Attribute=value[,Attribute=value...] [-i | -I]
+#                    [-N {Node[,Node...] | NodeFile | NodeClass}]
+#
+# where
+#   -i        specifies immediate.  The change takes place immediately, not
+#             just on the next restart.  This is currently only valid with
+#             a subset of config attributes.
+#
+#   -I        specifies immediate ONLY.  The change takes place immediately
+#             and does not have any effect on the next restart.
+#             This is currently only valid with a subset of config attributes.
+#
+#   -N Node,Node,...  Specify the nodes whose states are to be changed.
+#   -N NodeFile       NodeClass may be one of several possible node classes
+#   -N NodeClass      (e.g., quorumnodes, managernodes, nsdnodes, etc.)
+#                     If none of -N, -n, or nodelist is specified, the entire
+#                     cluster is changed; otherwise, the changes are made to
+#                     the specified nodes.
+#                     Do not use -N to do an update to an omitted node as the
+#                     output is not the same as running without nodefile.
+#                     -N cannot be specified with the obsolete -n or nodelist
+#                     options.
+#
+# Obsolete but still supported options:
+#
+#    -n NodeFile  is a file containing a list of nodes.
+#                 If none of -N, -n, or nodelist is not specified,
+#                 the entire cluster is changed; otherwise, the changes
+#                 are made to the specified nodes.
+#                 Do not use -n NodeFile to do an update to an omitted node
+#                 as the output is not the same as running without -n NodeFile.
+#                 -n cannot be specified with -N or nodelist.
+#
+#    nodelist     is a list of nodes separated by commas.
+#                 If none of -N, -n, or nodelist is not specified,
+#                 the entire cluster is changed; otherwise, the changes
+#                 are made to the specified nodes.
+#                 Do not use nodelist to do an update to an omitted node
+#                 as the output is not the same as running without nodelist.
+#                 nodelist cannot be specified with -N or -n.
+#
+# Notes on attributes:
+#
+#   The attributes that can be changed are divided into two main categories:
+#     - externally-documented attributes
+#     - internal configuration parameters to be used only under the
+#       direction of IBM service
+#
+#   The externally-documented attributes are:
+#
+#     pagepool           specifies the size of the area in the shared memory
+#                        segment from which buffers are allocated for data
+#                        that is read/written from/to disk.
+#
+#     maxFilesToCache    specifies the number of recently used but closed
+#                        files which will have their inodes cached.
+#
+#     maxStatCache       number of entries to keep in the stat cache
+#                        files which will have their inodes cached.
+#
+#     dataStructureDump  specifies a directory to store dumps.  Specify
+#                        'no' to turn off the feature altogether (no dumps).
+#                        Specify 'yes' to send the dumps to /tmp/mmfs.
+#
+#     unmountOnDiskFail  controls how the daemon will respond when
+#                        a disk failure is detected.
+#
+#     dmapiEventTimeout  controls the blocking of NFS and DFS threads
+#
+#     dmapiSessionFailureTimeout  controls the blocking of file operation
+#                                 threads when there is a failure
+#
+#     dmapiMountTimeout  controls the blocking of mount operations
+#
+#     autoload           controls whether the daemon will start up
+#                        automatically when nodes boot
+#
+#     designation        dash-separated list of node roles:
+#                          client, manager, quorum.
+#
+#     uidDomain          specifies the UID/GID domain to be used.
+#
+#     automountDir       specifies the directory to be used by the Linux
+#                        automounter for GPFS file systems that have the
+#                        automount option specified.  The default directory
+#                        is /gpfs/autmountdir.  This parameter does not
+#                        apply to AIX environments.
+#
+#     tiebreakerDisks    controls whether GPFS will use a node quorum plus
+#                        tiebreaker disks algorithm in place of the regular
+#                        node-based quorum algorithm.  The tiebreaker disks
+#                        do not have to belong to any particular file system.
+#                        The disks are specified as a disk list.  If there
+#                        are more than one disk, delimit each name with a
+#                        semicolon and enclose the list in quotation marks.
+#                        If "no" is specified, GPFS reverts to the traditional
+#                        node-based quorum algorithm.  The disks must be
+#                        directly accessible from the quorum nodes.
+#
+#     maxblocksize       max data block size the file system supports
+#
+#     release            bring the configuration information for the
+#                        cluster to the latest format version.  Set the
+#                        maxFeatureLevel config parameter to the latest
+#                        release level or to the specified level.
+#
+#     allowRemoteConnections  controls whether outside nodes can connect
+#                             to nodes in this GPFS cluster.  This is a
+#                             global switch in addition to any other security
+#                             mechanism that may be established.
+#
+#     cipherList         controls whether GPFS network communication
+#                        between local nodes and remote nodes is secured.
+#                        If cipherList is not specified, or if the value
+#                        DEFAULT is specified, then GPFS will not authenticate
+#                        or check authorization for network connections.
+#                        If cipherList is specified, then it should be a valid
+#                        cipher list as documented by man ciphers(1).
+#
+#     updateDiskType     causes the disk subtype information to be reevaluated.
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmchconfig.sh"
+[[ -n $DEBUG || -n $DEBUGmmchconfig ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+chnodes=${tmpDir}chnodes.${mmcmd}.$$
+diskLines=${tmpDir}diskLines.${mmcmd}.$$
+oldcfgFile=${tmpDir}oldcfgFile.${mmcmd}.$$
+tmpcfgFile=${tmpDir}tmpcfgFile.${mmcmd}.$$
+inputNodes=${tmpDir}inputNodes.${mmcmd}.$$
+allnodes=${tmpDir}allnodes.${mmcmd}.$$
+undeterminedNodes=${tmpDir}undeterminedNodes.${mmcmd}.$$
+
+LOCAL_FILES=" $chnodes $diskLines $undeterminedNodes $tmpcfgFile  \
+              $inputNodes $allnodes $oldcfgFile "
+
+
+# Local variables
+
+usageMsg=289
+noUsageMsg=0
+integer intValue
+integer nodeCount
+integer n
+integer requiredSize
+integer keyGenNumber
+mmsdrfsModified=no
+mmfscfgModified=no
+mmfscfgChange=no
+synchronousNotify=no
+typeset -l attr_lc
+rc=0
+
+
+# Local routines
+
+
+################################################################################
+#
+# The mmchconfigCommonProcessing function extracts the mmfs.cfg information
+# into a work file, checks the command line node list, increments the mmsdrfs
+# gen number and creates needed node lists.  If any error is encountered,
+# the mmchconfig command is terminated.
+#
+# Note:  This function uses only global variables.  Watch out for side effects.
+#
+################################################################################
+function mmchconfigCommonProcessing
+{
+  typeset sourceFile="mmchconfig.sh"
+  [[ -n $DEBUG || -n $DEBUGmmchconfigCommonProcessing ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  # Execute this function only once.
+  [[ $mmchconfigInitialized = yes ]] &&  \
+    return 0
+
+  # Determine the lookup order for resolving host names.
+  [[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+  # Go through the current mmsdrfs file.  Increment the generation
+  # number and build the node name lists that will be needed later.
+  # Cross check the node list provided on the command line, if any.
+  $rm -f $newsdrfs $tmpfile $nodefile $oldcfgFile $allnodes
+  argcust=""
+  coreQuorumDefined=""
+  nodeCount=0
+  IFS=":"            # Change the field separator to ':'.
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"      # Restore the default IFS settings.
+    changeThisNode=no
+    printLine=true
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )
+        # Increment the generation number.
+        newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+        v[$SDRFS_GENNUM_Field]=$newGenNumber
+
+        ourClusterName=${v[$CLUSTER_NAME_Field]}
+        ;;
+
+      $NODESET_HDR )
+        daemonVersionInEffect=${v[$MIN_DAEMON_VERSION_Field]}
+        currentCipherList=${v[$CIPHER_LIST_Field]}
+        [[ -z $currentCipherList ]] && currentCipherList=DEFAULT
+        ;;
+
+      $MEMBER_NODE )
+        # This line represents a currently-active node.
+        nodeCount=$nodeCount+1
+
+        # Find out if any of the nodes are designated as core quorum nodes.
+        [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]] &&  \
+          coreQuorumDefined=yes
+
+        # Create a file with all nodes in the cluster.
+        # Note that this is in addition to $nodefile below.
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $allnodes
+        checkForErrors "writing to file $allnodes" $?
+
+        if [[ -z $arglist ]]
+        then
+          # If no node list or node file was provided, collect the
+          # reliable node names of all the nodes in the cluster.
+          print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+          checkForErrors "writing to file $nodefile" $?
+
+        else
+          # See if this node is one of the nodes in the command line list.
+          # The awk script checks whether the IP address in the chnodes file
+          # matches the IP address in the current MEMBER_NODE line.
+          # If yes, the changeThisNode flag will be set to 'yes'.
+          # All other lines are passed unchanged and written to a tmpfile.
+          $touch $tmpfile
+          changeThisNode=$($awk '            \
+            BEGIN { found = "false" }        \
+            $1 == "'${v[$IPA_Field]}'" {     \
+              if ( found == "false" ) {      \
+                { found = "true" }           \
+                { print "yes" }              \
+                { next }                     \
+              }                              \
+            }                                \
+            { print $0 >> "'$tmpfile'"}      \
+          ' $chnodes)
+
+          if [[ $changeThisNode = yes ]]
+          then
+            print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+            checkForErrors "writing to file $nodefile" $?
+            # Add the short name to a list of node names to be used
+            # with the mmfixcfg command.
+            [[ -z $argcust ]]  \
+               && argcust=${v[$NODE_NAME_Field]}  \
+               || argcust="$argcust,${v[$NODE_NAME_Field]}"
+          fi
+
+          # At this point, tmpfile contains all of the original lines in
+          # file chnodes, except the line that matches the current node,
+          # if there was such a line in the first place.  Make tmpfile
+          # the chnodes file for the next iteration.  In this way,
+          # if everything is OK with the user's input, the chnodes file
+          # should be empty after we are finished.
+          $mv $tmpfile $chnodes
+          checkForErrors "mv $tmpfile $chnodes" $?
+
+        fi  # end of if [[ -z $arglist ]]
+
+        # Designate this node as a "preferred node".
+        [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+          preferredNode=${v[$REL_HOSTNAME_Field]}
+        ;;
+
+      $MMFSCFG )
+        # Remove the line from the mmsdrfs file for now.  The mmfs.cfg
+        # information will be added back before committing the changes.
+        printLine=false
+
+        # Extract the mmfs.cfg information.
+        # It is everything past the first 4 fields.
+        cfgLine="${v[5]}:${v[6]}:${v[7]}:${v[8]}:${v[9]}:${v[10]}:${v[11]}"
+        cfgLine="$cfgLine:${v[12]}:${v[13]}:${v[14]}:${v[15]}:${v[16]}"
+        cfgLine="$cfgLine:${v[17]}:${v[18]}:${v[19]}:${v[20]}:${v[21]}:${v[22]}"
+
+        # To preserve tabs, temporarily set IFS to new line only.
+        IFS="
+"
+        # Strip trailing colons and write the line to the file.
+        print -- "${cfgLine%%+(:)}" >> $oldcfgFile
+        checkForErrors "writing to file $oldcfgFile" $?
+        IFS="$IFS_sv"  # Restore the default IFS settings.
+        ;;
+
+      * )  # We are not interested in any other lines.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the new mmsdrfs file.
+    if [[ $printLine = true ]]
+    then
+      print_newLine >> $newsdrfs
+      checkForErrors "writing to file $newsdrfs" $?
+    fi
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # If a node list or node file was specified on the command line
+  # and the chnodes file is not empty, either some node names
+  # were specified more than once or not all of the node names
+  # belong to the GPFS cluster.
+  if [[ -n $nodeNames && -s $chnodes ]]
+  then
+    # Get the name of the first offending node.
+    tmpLine=$($head -1 $chnodes)
+    set -f ; set -- $tmpLine ; set +f
+    nodeName=$2
+    printErrorMsg 290 $mmcmd $nodeName
+    cleanupAndExit
+  fi
+
+  # Make working copies of the mmfs.cfg file.
+  $cp $oldcfgFile $newcfg
+  checkForErrors "cp $oldcfgFile $newcfg" $?
+  $cp $oldcfgFile $tmpcfgFile
+  checkForErrors "cp $oldcfgFile $tmpcfgFile" $?
+
+  mmchconfigInitialized=yes
+
+  return 0
+
+}  #--------- end of mmchconfigCommonProcessing ----------------
+
+
+###################################################################
+#
+# Function:  Ensures that the data in the mmsdrfs file is brought
+#            up to date.  The things that take place here change
+#            from release to release.
+#
+# Input:     $1 - mmsdrfs file to update.
+#
+# Output:    An updated mmsdrfs file.
+#
+# Returns:   0 - Success.
+#            1 - Error detected; appropriate messages issued.
+#
+####################################################################
+function convertMmsdrfsFile  #  <sdrfsFile>
+{
+  typeset sourceFile="mmchconfig.sh"
+  [[ -n $DEBUG || -n $DEBUGconvertMmsdrfsFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfs=$1
+
+  typeset firstChoice secondChoice getLocalDiskNameOutput magicWord
+  typeset localDiskName rc rc1 nodeName failedDisks
+  typeset secLevel
+
+
+  # Go through the mmsdrfs file and make the needed changes.
+  $rm -f $tmpsdrfs
+  IFS=":"
+  exec 3<&-
+  exec 3< $sdrfs
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+
+    # Change some of the fields depending on the type of line.
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )
+        # Return if there is nothing to do.
+        startingSdrfsFormat=${v[$SDRFS_FORMAT_Field]}
+        [[ $startingSdrfsFormat -eq $CURRENT_SDRFS_FORMAT ]] &&  \
+          return 0
+
+        # Assume everything will work out.
+        v[$SDRFS_FORMAT_Field]=$CURRENT_SDRFS_FORMAT
+
+        # New fields since rel 2.3 (sdrfs format level 0):
+        #   NEW_KEY_Field COMMITTED_KEY_Field
+
+        [[ -z ${v[$NEW_KEY_Field]} ]] &&  \
+          v[$NEW_KEY_Field]=0
+
+        [[ -z ${v[$COMMITTED_KEY_Field]} ]] &&  \
+          v[$COMMITTED_KEY_Field]=${v[$NEW_KEY_Field]}
+
+        [[ -z ${v[$SECLEVEL_Field]} ]] &&  \
+          v[$SECLEVEL_Field]=0
+        secLevel=${v[$SECLEVEL_Field]}
+
+        [[ -z ${v[$KEYFILE_FORMAT_Field]} ]] &&  \
+          v[$KEYFILE_FORMAT_Field]=0
+        ;;
+
+     $NODESET_HDR )
+        # New fields since rel 2.3 (sdrfs format level 0):
+        #   CIPHER_LIST_Field
+        [[ $secLevel -gt 0 && -z ${v[$CIPHER_LIST_Field]} ]] &&  \
+          v[$CIPHER_LIST_Field]=AUTHONLY
+        ;;
+
+      $MEMBER_NODE )
+        # New fields since rel 2.3 (sdrfs format level 0):
+        #   DAEMON_NODENAME_Field ADMIN_SHORTNAME_Field
+
+        [[ -z ${v[$DAEMON_NODENAME_Field]} ]] &&  \
+          v[$DAEMON_NODENAME_Field]=${v[$REL_HOSTNAME_Field]}
+
+        [[ -z ${v[$ADMIN_SHORTNAME_Field]} ]] &&  \
+          v[$ADMIN_SHORTNAME_Field]=${v[$NODE_NAME_Field]}
+        ;;
+
+      $SG_MOUNT )
+        # New fields since rel 2.3 (sdrfs format level 0):
+        #   QUOTA_OPT_Field (additional filesetquota indicator)
+
+        [[ ${v[$QUOTA_OPT_Field]} != $QUOTA_DISACTIVATED ]] &&  \
+          v[$QUOTA_OPT_Field]=$QUOTA_ACTIVATED
+        ;;
+
+      $SG_DISKS )
+        # New fields since rel 2.3 (sdrfs format level 0):
+        #   STORAGE_POOL_Field DAEMON_NSD_PRIMARY_Field DAEMON_NSD_BACKUP_Field
+
+        # If storage pool is not assigned, assume the system pool.
+        [[ -z ${v[$STORAGE_POOL_Field]} ]] &&  \
+          v[$STORAGE_POOL_Field]="system"
+
+        # Fill in the missing daemon node names of NSD servers.
+        if [[ -z ${v[$DAEMON_NSD_PRIMARY_Field]} &&
+              -n ${v[$NSD_PRIMARY_NODE_Field]}   ]]
+        then
+          v[$DAEMON_NSD_PRIMARY_Field]=$(checkAndConvertNodeValue  \
+                 ${v[$NSD_PRIMARY_NODE_Field]} $DAEMON_NODENAME_Field)
+          checkForErrors "checkAndConvertNodeValue ${v[$NSD_PRIMARY_NODE_Field]}" $?
+        fi  # end of if [[ -z ${v[$DAEMON_NSD_PRIMARY_Field]} && ...
+
+        if [[ -z ${v[$DAEMON_NSD_BACKUP_Field]} &&
+              -n ${v[$NSD_BACKUP_NODE_Field]}   ]]
+        then
+          v[$DAEMON_NSD_BACKUP_Field]=$(checkAndConvertNodeValue  \
+                 ${v[$NSD_BACKUP_NODE_Field]} $DAEMON_NODENAME_Field)
+          checkForErrors "checkAndConvertNodeValue ${v[$NSD_BACKUP_NODE_Field]}" $?
+        fi  # end of if [[ -z ${v[$DAEMON_NSD_BACKUP_Field]} && ...
+
+        # Fill in the missing disk names of underlying lvs or vsds.
+        if [[ ${v[$DISK_TYPE_Field]} = nsd &&
+              (${v[$NSD_SUBTYPE_Field]} = lv ||
+               ${v[$NSD_SUBTYPE_Field]} = vsd) &&
+              -z ${v[$NSD_SUBTYPE_DISKNAME_Field]} ]]
+        then
+          # This an nsd built from an lv or a vsd but the name of
+          # the underlying lv or vsd is not recorded.
+
+          # Determine the node to ask about the nsd.
+          if [[ -z ${v[$NSD_PRIMARY_NODE_Field]} ]]
+          then
+            firstChoice=$ourNodeName
+            secondChoice=""
+          elif [[ ${v[$NSD_PRIMARY_NODE_Field]} = $ourNodeName ]]
+          then
+            firstChoice=$ourNodeName
+            secondChoice=${v[$NSD_BACKUP_NODE_Field]}
+          elif [[ ${v[$NSD_BACKUP_NODE_Field]} = $ourNodeName ]]
+          then
+            firstChoice=$ourNodeName
+            secondChoice=${v[$NSD_PRIMARY_NODE_Field]}
+          else
+            firstChoice=${v[$NSD_PRIMARY_NODE_Field]}
+            secondChoice=${v[$NSD_BACKUP_NODE_Field]}
+          fi  # end of if [[ -z ${v[$NSD_PRIMARY_NODE_Field]} ]]
+
+          # Determine the local device name.
+          if [[ $firstChoice = $ourNodeName ]]
+          then
+            getLocalDiskNameOutput=$(getLocalDiskName  \
+              ${v[$PVID_Field]} ${v[$NSD_SUBTYPE_Field]} 2>$errMsg)
+            rc=$?
+          else
+            getLocalDiskNameOutput=$($mmcommon on1 $firstChoice getLocalDiskName  \
+              ${v[$PVID_Field]} ${v[$NSD_SUBTYPE_Field]} 2>$errMsg)
+            rc=$?
+          fi
+
+          # Parse the output from the getLocalDiskName function.
+          IFS=":"
+          set -f ; set -- $getLocalDiskNameOutput ; set +f
+          magicWord=$1
+          localDiskName=$2
+          rc1=$3   # rcode from tspreparedisk -p <pvid> -t <nsdSubtype>
+          IFS="$IFS_sv"
+          nodeName=$firstChoice
+
+          if [[ $rc != 0 || $magicWord != getLocalDiskName || $rc1 -ne 0 ]]
+          then
+            # getLocalDiskName failed.  If there is a second choice, try again.
+            # Note that because of the way firstChoice and secondChoice
+            # were determined, secondChoice cannot be the local node.
+            if [[ -n $secondChoice ]]
+            then
+              getLocalDiskNameOutput=$($mmcommon on1 $secondChoice getLocalDiskName  \
+                ${v[$PVID_Field]} ${v[$NSD_SUBTYPE_Field]} 2>$errMsg)
+              rc=$?
+
+              # Parse the output from the getLocalDiskName function.
+              IFS=":"
+              set -f ; set -- $getLocalDiskNameOutput ; set +f
+              magicWord=$1
+              localDiskName=$2
+              rc1=$3   # rcode from tspreparedisk -p <pvid> -t <nsdSubtype>
+              IFS="$IFS_sv"
+              nodeName=$secondChoice
+            fi  # end of if [[ -n $secondChoice ]]
+          fi  # end of if [[ $rc != 0 || $magicWord != getLocalDiskName ...
+
+          if [[ $magicWord = getLocalDiskName ]]
+          then
+            if [[ $rc1 -eq 0 ]]
+            then
+              # Strip away the /dev/ prefix from the device name and then
+              # store the local disk name in the nsdSubtypeDiskname field.
+              localDiskName=${localDiskName##+(/)dev+(/)}
+              v[$NSD_SUBTYPE_DISKNAME_Field]=$localDiskName
+            else
+              # The disk information was not obtained.  Add the nsd to
+              # the list of failed disks, output any error info received,
+              # and issue an appropriate message.
+              failedDisks="$failedDisks\n\t${v[$DISK_NAME_Field]}"
+              [[ -s $errMsg ]] && $cat $errMsg 1>&2
+              if [[ $rc1 -eq $MM_DeviceNotFound ]]
+              then
+                printErrorMsg 187 $mmcmd $nodeName ${v[$DISK_NAME_Field]}
+              else
+                printErrorMsg 337 $mmcmd ${v[$DISK_NAME_Field]} $nodeName
+              fi
+            fi  # end of if [[ $rc1 -eq 0 ]]
+          else
+            # The disk information was not obtained.  Add the nsd to
+            # the list of failed disks, output any error info received,
+            # and issue an appropriate message.
+            failedDisks="$failedDisks\n\t${v[$DISK_NAME_Field]}"
+            [[ -s $errMsg ]] && $cat $errMsg 1>&2
+            printErrorMsg 337 $mmcmd ${v[$DISK_NAME_Field]} $nodeName
+          fi  # end of if [[ $magicWord = getLocalDiskName ]]
+          $rm -f $errMsg
+        fi  # end of if [[ ${v[$DISK_TYPE_Field]} = nsd && ...
+        ;;
+
+      $AUTHORIZED_CLUSTER )
+        # The format of the public key file changed since
+        # rel 2.3 (sdrfs format level 0).  The new information
+        # is dynamically inserted by updateMmfsEnvironment.
+        ;;
+
+      $REM_CLUSTER_KEY )
+        # The format of the public key file changed since
+        # rel 2.3 (sdrfs format level 0).  The new information
+        # is dynamically inserted by updateMmfsEnvironment.
+        ;;
+
+      * )  # We are not interested in any other lines.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the temp version of the mmsdrfs file.
+    print_newLine >> $tmpsdrfs
+    checkForErrors "writing to file $tmpsdrfs" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  if [[ -n $failedDisks ]]
+  then
+    # If we failed for any disks, tell the user which ones
+    # and instruct him to re-run the command.
+    printErrorMsg 176 $mmcmd "$failedDisks"
+    printErrorMsg 344 $mmcmd "mmchconfig release=LATEST"
+
+    # Do not change the format level if we were not able
+    # to fill in all of the missing information.
+    $rm -f $sdrfs
+    $awk -F:  '                                                                \
+      /^'$GLOBAL_ID:$VERSION_LINE:'/ {                                         \
+         # If this is the version line, update the format field.               \
+         { $'$SDRFS_FORMAT_Field' = "'$startingSdrfsFormat'" }                 \
+         { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                 $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                 $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$sdrfs'" }    \
+         { next }                                                              \
+      }                                                                        \
+      # All other lines are echoed without change.                             \
+      { print $0 >> "'$sdrfs'" }                                               \
+    ' $tmpsdrfs
+    checkForErrors awk $?
+  fi  # end of if [[ -n $failedDisks ]]
+
+  # The sdrfs file was successfuly updated.
+  # Replace the old mmsdrfs file with the new one.
+  $mv -f $tmpsdrfs $sdrfs
+  checkForErrors "mv $tmpsdrfs $sdrfs" $?
+
+  return 0
+
+}  #----- end of convertMmsdrfsFile ----------------------------
+
+
+###########################################################################
+#
+# Function:  Determines the release level of the code installed on the
+#            specified set of nodes.  Accordingly, updates the relevant
+#            MEMBER_NODE line fields.
+#
+# Input:     $1 - file with the reliable hostnames of the nodes to check
+#            $2 - mmsdrfs file to update (or just the MEMBER_NODE lines)
+#            $3 - file that will contain the names of the failed nodes
+#
+# Output:    A string with the following format:
+#            getInstalledCodeLevel:rc:status:maxDaemonVers:minDaemonVers
+#
+# Returns:   0 - At least some of the nodes were processed successfully.
+#            1 - Error detected; appropriate messages issued.
+#
+###########################################################################
+function getInstalledCodeLevel  # <nodefile> <sdrfsFile> <failedNodes>
+{
+  typeset sourceFile="mmchconfig.sh"
+  [[ -n $DEBUG || -n $DEBUGgetInstalledCodeLevel ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodefile=$1
+  typeset sdrfs=$2
+  typeset failedNodes=$3
+
+  typeset mmcommonOutput nodeName nodeNumber keyword cmdVersion
+  typeset installedDaemonVersion installedProductVersion installedOsName
+  typeset nodeSuccessfullyProcessed=""
+  typeset status="incomplete"
+  typeset maxDaemonVersion=0
+  typeset minDaemonVersion=100000
+  typeset outfile=${sdrfs}tmp$$
+  typeset rc=0
+
+  if [[ ! -s $nodefile || ! -s $sdrfs ]]
+  then
+    # Something is very wrong; there are missing input parms.
+    printErrorMsg 260 getInstalledCodeLevel "<nodefile> <sdrfsFile>"
+    rc=1
+    print -- "getInstalledCodeLevel:$rc:unexpected_failure:0:0:"
+    return $rc
+  fi
+
+  # Request the release level information for all of the nodes.
+  $mmcommon onall $nodefile $unreachedNodes mmVersion2 >$tmpfile 2>&1
+  rc=$?
+  if [[ ! -s $tmpfile ]]
+  then
+    # We didn't even get out of this box.
+    printErrorMsg 171 "getInstalledCodeLevel" "mmcommon onall $nodefile mmVersion2" $rc
+    [[ $rc -eq 0 ]] && rc=1
+    print -- "getInstalledCodeLevel:$rc:unexpected_failure:0:0:"
+    return $rc
+  fi
+
+  # Initialize the list of failed nodes.  Assume all will fail.
+  $cp $nodefile $failedNodes
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # Unexpected error from cp.
+    printErrorMsg 171 "getInstalledCodeLevel" "cp $nodefile $failedNodes" $rc
+    print -- "getInstalledCodeLevel:$rc:unexpected_failure:0:0:"
+    return $rc
+  fi
+
+  # Parse the output.  The normal output from mmremote mmVersion2
+  # starts with the keyword mmVersion2.  Any lines that do not start
+  # with this keyword are assumed to be error messages.
+  $rm -f $errMsg
+  IFS=":"
+  exec 3<&-
+  exec 3< $tmpfile
+  while read -u3 mmcommonOutput
+  do
+    set -f ; set -- $mmcommonOutput ; set +f
+    nodeName=$1
+    keyword=$2
+    cmdVersion=$3
+    nodeNumber=$4
+    installedDaemonVersion=$5
+    installedProductVersion=$6
+    installedOsName=$7
+    IFS="$IFS_sv"
+
+    if [[ $keyword != *( )mmVersion2 ]]
+    then
+      # Unexpected line, assume it is error information.
+      print -- "$mmcommonOutput" >> $errMsg
+      continue
+    fi
+
+    # Keep track of highest and lowest daemon versions found.
+    [[ $installedDaemonVersion -gt $maxDaemonVersion ]] &&  \
+      maxDaemonVersion=$installedDaemonVersion
+    [[ $installedDaemonVersion -lt $minDaemonVersion ]] &&  \
+      minDaemonVersion=$installedDaemonVersion
+
+    # Find in the mmsdrfs file the MEMBER_NODE line that corresponds
+    # to this node and update the fields accordingly.
+    processedNode=$($awk -F: '                                               \
+      $'$LINE_TYPE_Field'   == "'$MEMBER_NODE'" &&                           \
+      $'$NODE_NUMBER_Field' == "'$nodeNumber'"   {                           \
+        { $'$DAEMON_VERSION_Field'  = "'$installedDaemonVersion'" }          \
+        { $'$PRODUCT_VERSION_Field' = "'$installedProductVersion'" }         \
+        { $'$OS_NAME_Field'         = "'$installedOsName'" }                 \
+        { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":" \
+                $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":" \
+                $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$outfile'" } \
+        { print "'$nodeName'" }                                              \
+        { next }                                                             \
+      }                                                                      \
+      # All other lines are echoed without change.                           \
+      { print $0 >> "'$outfile'" }                                           \
+    ' $sdrfs)
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      # Unexpected awk error.
+      printErrorMsg 171 "getInstalledCodeLevel" "awk" $rc
+      print -- "getInstalledCodeLevel:$rc:unexpected_failure:0:0:"
+      return $rc
+    fi
+
+    # The file was updated successfully.  Replace the original file with it.
+    $mv $outfile $sdrfs
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      # Unexpected error from mv.
+      printErrorMsg 171 "getInstalledCodeLevel" "mv $outfile $sdrfs" $rc
+      print -- "getInstalledCodeLevel:$rc:unexpected_failure:0:0:"
+      return $rc
+    fi
+    $mmsync $sdrfs
+
+    # If the node was found in the sdrfs file,
+    # remove it from the failed nodes list.
+    if [[ -n $processedNode ]]
+    then
+      $grep -v -w $processedNode $failedNodes >$tmpfile2
+      $mv $tmpfile2 $failedNodes
+      rc=$?
+      if [[ $rc -ne 0 ]]
+      then
+        # Unexpected error from mv.
+        printErrorMsg 171 "getInstalledCodeLevel" "mv $tmpfile2 $failedNodes" $rc
+        print -- "getInstalledCodeLevel:$rc:unexpected_failure:0:0:"
+        return $rc
+      fi
+      nodeSuccessfullyProcessed=yes
+    fi
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end of while read -u3 mmcommonOutput
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+  # Determine the overall result.
+  if [[ -s $failedNodes ]]
+  then
+    # There is a failure.  Put out as much error information as possible.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+
+    if [[ -n $nodeSuccessfullyProcessed ]]
+    then
+      # The GPFS release level could not be determined on some of the nodes.
+      printErrorMsg 575 $mmcmd "$($cat $failedNodes | $sed "s/^/$TABchar/")"
+    else
+      # The GPFS release level could not be determined on any of the nodes.
+      printErrorMsg 576 $mmcmd
+    fi
+    # Tell the guy what to do.
+    printErrorMsg 577 $mmcmd "     mmchconfig release=LATEST [-N NodeList]"
+    rc=1
+    status="incomplete"
+
+  else
+    # Complete success; the release level was determined on all nodes.
+    rc=0
+    status="complete"
+  fi  # end if [[ -s $failedNodes ]]
+  $rm -f $errMsg
+
+  # Print out the results string and exit.
+  print -- "getInstalledCodeLevel:$rc:$status:$maxDaemonVersion:$minDaemonVersion"
+  return 0
+
+}  #----- end of function getInstalledCodeLevel ------------------
+
+
+####################################################################
+#
+#
+# Function:  Determines the release level of the installed code.
+#            If appropriate, updates the version information in
+#            the NODESET_HDR line.
+#
+# Input:    $1 - release level:  LATEST or specific daemon version
+#           $2 - file with the reliable hostnames of the nodes
+#           $3 - mmsdrfs file to use
+#
+# Output:   A string with the following format:
+#            setNodesetVersionFields:rc:status:DaemonVersion:
+#
+# Output:   Updated mmsdrfs file
+#
+# Returns:  Always zero; rc imbedded in output string.
+#
+####################################################################
+function setNodesetVersionFields # <release> <nodeFile> <sdrfsFile>
+{
+  typeset sourceFile="mmchconfig.sh"
+  [[ -n $DEBUG || -n $DEBUGsetNodesetVersionFields ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset -u releaseLevel=$1
+  typeset nodefile=$2
+  typeset sdrfs=$3
+
+  typeset lowestVersion=100000
+  typeset highestVersion=0
+  typeset osEnvironment=$osName
+  typeset daemonVersionChanged=no
+  typeset rc=0
+
+  typeset result keyword status maxDaemonVersionFound minDaemonVersionFound
+  typeset oldNodesetVersion sdrfsLine printLine nodesetHdr ec
+  typeset newDaemonVersion
+
+  ########################################################################
+  # Verify the release level information is up-to-date and that
+  # the values for the daemon version fields are set correctly.
+  #
+  # Note that if the version is being increased, because new level
+  # of code is installed on all nodes, the change can be made without
+  # requiring daemon shutdown.  But if the request is to lower the value,
+  # the daemon must be down and a node list cannot be specified.
+  # These checks have been made prior to calling this routine.
+  ########################################################################
+
+  if [[ $releaseLevel = LATEST ]]
+  then
+    # Update the DAEMON_VERSION_Field on the MEMBER_NODE node lines.
+    # Depending on how the mmchconfig command was invoked, either all
+    # of the nodes in the cluster will be affected, or just a subset.
+    result=$(getInstalledCodeLevel $nodefile $sdrfs $undeterminedNodes)
+    ec=$?
+
+    # Parse the result.
+    IFS=':'
+    set -f ; set -- $result ; set +f
+    IFS="$IFS_sv"
+    keyword=$1
+    rc=$2
+    status=$3
+    maxDaemonVersionFound=$4
+    minDaemonVersionFound=$5
+
+    if [[ $keyword != getInstalledCodeLevel ]]
+    then
+      # Unexpected error.  Show error information and return.
+      [[ -n $result ]] && print -u2 "$result"
+      printErrorMsg 171 $mmcmd  \
+        "getInstalledCodeLevel: collecting relese information" $ec
+      [[ $ec -eq 0 ]] && ec=1
+      print -- "setNodesetVersionFields:$ec:unchanged:0:"
+      return 0
+    fi
+
+    if [[ $status != complete ]]
+    then
+      # The release level could not be determined on at least some of the nodes
+      # or there was some other unexpected error.  Messages should have already
+      # been issued.
+
+      # Find out the existing version (needed for message 579 below).
+      oldNodesetVersion=$(getNodesetInfo $MIN_DAEMON_VERSION_Field $nodesetId $sdrfs)
+      [[ -z $oldNodesetVersion ]] && oldNodesetVersion=unknown
+
+      # The GPFS release level remains unchanged.
+      printErrorMsg 579 $mmcmd  \
+        $oldNodesetVersion $(releaseToProductVersion $oldNodesetVersion)
+      print -- "setNodesetVersionFields:$rc:unchanged:0:"
+      return 0
+    fi
+
+  else
+    # Convert the input release parameter to daemon version.
+    newDaemonVersion=$(releaseToDaemonVersion $releaseLevel)
+    if [[ $newDaemonVersion -eq 0 ]]
+    then
+      # Invalid value specified
+      printErrorMsg 13 "$mmcmd" "release=$releaseLevel"
+      rc=1
+      print -- "setNodesetVersionFields:$rc:unchanged:0:"
+      return 0
+    fi
+  fi  # end if [[ $releaseLevel = LATEST ]]
+
+
+  # So far things seem to have worked out OK.  See if there is
+  # a need to change the version fields in the NODESET_HDR line.
+
+  # Go through the mmsdrfs file.  Keep track of the installed daemon
+  # versions on each node.  Record the lowest version in the NODESET_HDR line.
+  $rm -f $tmpsdrfs $undeterminedNodes
+  IFS=":"
+  exec 3<&-
+  exec 3< $sdrfs
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+    printLine=true
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $NODESET_HDR )
+        # Save the line and, if appropriate, change the nodeset version field.
+        nodesetHdr="$sdrfsLine"
+        oldNodesetVersion=${v[$MIN_DAEMON_VERSION_Field]}
+        if [[ $releaseLevel = LATEST ]]
+        then
+          printLine=false
+        else
+          if [[ $newDaemonVersion -lt $oldNodesetVersion ]]
+          then
+            v[$MIN_DAEMON_VERSION_Field]=$newDaemonVersion
+            daemonVersionChanged=yes
+          fi
+        fi  # end if [[ $releaseLevel = LATEST ]]
+        ;;
+
+      $MEMBER_NODE )
+        if [[ $releaseLevel = LATEST ]]
+        then
+          # Keep track of the daemon versions.
+          [[ -z ${v[$DAEMON_VERSION_Field]} ]] &&  \
+            print -- "${v[$REL_HOSTNAME_Field]}" >> $undeterminedNodes
+          [[ ${v[$DAEMON_VERSION_Field]} -lt $lowestVersion ]] &&  \
+            lowestVersion=${v[$DAEMON_VERSION_Field]}
+          [[ ${v[$DAEMON_VERSION_Field]} -gt $highestVersion ]] &&  \
+            highestVersion=${v[$DAEMON_VERSION_Field]}
+          [[ -n ${v[$OS_NAME_Field]} && ${v[$OS_NAME_Field]} != $osEnvironment ]] &&  \
+            osEnvironment="mixed"
+        fi  # end of if [[ $releaseLevel = LATEST ]]
+        ;;
+
+      * )  # We are not interested in any other lines.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the temp version of the mmsdrfs file.
+    if [[ $printLine = true ]]
+    then
+      print_newLine >> $tmpsdrfs
+      checkForErrors "writing to file $tmpsdrfs" $?
+    fi
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # Update the version numbers in the NODESET_HDR line as needed.
+  if [[ $releaseLevel = LATEST ]]
+  then
+    # Parse the saved NODESET_HDR line.
+    IFS=':'
+    set -f ; set -A v -- - $nodesetHdr ; set +f
+    IFS="$IFS_sv"
+
+    # Update the version fields with their latest values.
+    v[$MIN_DAEMON_VERSION_Field]=$lowestVersion
+    v[$MAX_DAEMON_VERSION_Field]=$highestVersion
+    v[$OS_ENVIRONMENT_Field]=$osEnvironment
+
+    # Recreate the NODESET_HDR line and put it back.
+    nodesetHdr=$(print_newLine)
+    print -- "$nodesetHdr" >> $tmpsdrfs
+    checkForErrors "writing to file $tmpsdrfs" $?
+
+    if [[ $oldNodesetVersion -lt $lowestVersion ]]
+    then
+      daemonVersionChanged=yes
+      newDaemonVersion=$lowestVersion
+    fi
+
+    # Examine the results so far and issue additional messages as needed.
+    if [[ $lowestVersion -ne $highestVersion ]]
+    then
+      # Not all nodes are at the same level.
+      if [[ -s $undeterminedNodes ]]
+      then
+        # The GPFS release level could not be determined on some of the nodes.
+        printErrorMsg 575 $mmcmd "$($cat $undeterminedNodes | $sed "s/^/$TABchar/")"
+
+        # Tell the guy what to do.
+        printErrorMsg 577 $mmcmd "     mmchconfig release=LATEST [NodeList]"
+      else
+        # The cluster contains nodes that are at different release levels.
+        [[ -z $lowestVersion ]] && lowestVersion=unknown
+        printErrorMsg 582 $mmcmd  \
+          $lowestVersion $(releaseToProductVersion $lowestVersion)  \
+          $highestVersion  $(releaseToProductVersion $highestVersion)
+
+        # Tell the guy what to do.
+        printErrorMsg 578 $mmcmd "     mmchconfig release=LATEST [NodeList]"
+      fi
+    fi  # if [[ $lowestVersion -ne $highestVersion ]]
+
+  fi  # end if [[ $releaseLevel = LATEST ]]
+
+  # Sort and rename the updated version of the mmsdrfs file.
+  LC_ALL=C $SORT_MMSDRFS $tmpsdrfs -o $sdrfs
+  checkForErrors "sorting file $tmpsdrfs" $?
+  $mmsync $sdrfs
+
+  # Put out the final messages and return.
+  if [[ $daemonVersionChanged = yes ]]
+  then
+    [[ -z $oldNodesetVersion ]] && oldNodesetVersion=unknown
+    # The GPFS release level for the cluster will be changed.
+    printErrorMsg 581 $mmcmd  \
+      $oldNodesetVersion $(releaseToProductVersion $oldNodesetVersion)  \
+      $newDaemonVersion  $(releaseToProductVersion $newDaemonVersion)
+    print -- "setNodesetVersionFields:$rc:changed:$newDaemonVersion:"
+  elif [[ -n $oldNodesetVersion ]]
+  then
+    # The GPFS release level remains unchanged.
+    printErrorMsg 579 $mmcmd  \
+      $oldNodesetVersion $(releaseToProductVersion $oldNodesetVersion)
+    print -- "setNodesetVersionFields:$rc:unchanged:$oldNodesetVersion:"
+  else
+    # The GPFS release level cannot be determined.
+    printErrorMsg 580 $mmcmd  \
+      $initialDaemonVersion $(releaseToProductVersion $initialDaemonVersion)
+    print -- "setNodesetVersionFields:$rc:undefined:$initialDaemonVersion:"
+  fi  # end if [[ $daemonVersionChanged = yes ]]
+
+
+  return 0
+
+}  #--------- end of setNodesetVersionFields ----------------
+
+
+##########################################################################
+#
+# Function:  Set the node designation field to the specified value.
+#
+# Input:     $1 - node designations list
+#            $2 - mmsdrfs file to use
+#            $3 - file with the reliable names of the nodes to change
+#                 If not specified, all nodes in the cluster are changed.
+#
+# Output:    Updated mmsdrfs file.
+#
+# Returns:   0 - Node designation changed successfully.
+#            Any other return code indicates unexpected error.
+#
+##########################################################################
+function changeNodeDesignation # <designation> <mmsdrfsFile> [<nodeFile>]
+{
+  typeset sourceFile="mmchconfig.sh"
+  [[ -n $DEBUG || -n $DEBUGchangeNodeDesignation ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset nodeRoles=$1
+  typeset sdrfs=$2
+  typeset nodeFile=$3
+  typeset allNodeNames=$4
+
+  typeset designation=""
+  typeset quorumField=""
+  typeset quorumNodeCount=0
+  typeset newQuorumNodes=""
+  typeset oldQuorumNodes=""
+  typeset diskQuorumInEffect=""
+  typeset rc=0
+
+  typeset -l role
+  typeset changeThisNode quorumNodeNumbers quorumNodeNames
+
+  # Parse the node designations list.
+  IFS="-"
+  set -f ; set -- $nodeRoles ; set +f
+  IFS="$IFS_sv"
+  while [[ -n $1 ]]
+  do
+    role=$1  # Convert the node's role to lower case only.
+    case $role in
+
+      $CLIENT  ) designation=$CLIENT  ;;
+
+      $MANAGER ) designation=$MANAGER ;;
+
+      $QUORUM  ) quorumField=$quorumNode ;;
+
+      $NONQUORUM ) quorumField=$nonQuorumNode ;;
+
+      * ) # Invalid node designations specified.
+        printErrorMsg 293 $mmcmd "$nodeRoles"
+        cleanupAndExit
+        ;;
+    esac
+    # Move to the next field.
+    shift
+  done  # end while [[ -n $1 ]]
+
+  # If nodes are going to be defined as quorum nodes,
+  # find out whether disk-based quorum is in effect.
+  if [[ $quorumField = $quorumNode ]]
+  then
+    diskQuorumInEffect=$(showCfgValue tiebreakerDisks no $ourShortName $oldcfgFile)
+    [[ $diskQuorumInEffect = no ]] && diskQuorumInEffect=""
+  fi
+
+  # Go through the mmsdrfs file.
+  # Change the designation field on all applicable MEMBER_NODE lines.
+  $rm -f $tmpsdrfs $chnodes $diskLines
+  IFS=":"
+  exec 3<&-
+  exec 3< $sdrfs
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"
+    changeThisNode=no
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $MEMBER_NODE )
+        if [[ -z $nodeFile ]]
+        then
+          # If no argument list is provided,
+          # all MEMBER_NODE lines are changed.
+          changeThisNode=yes
+        else
+          # See if this node is one of the nodes in the command line list.
+          changeThisNode=$($awk '                    \
+             $1 == "'${v[$REL_HOSTNAME_Field]}'" {   \
+               { print "yes" }                       \
+               { exit }                              \
+             }                                       \
+          ' $nodeFile)
+        fi  # end if [[ -z $nodeFile ]]
+
+        if [[ $changeThisNode = yes ]]
+        then
+          # Handle quorum/nonquorum changes.
+          if [[ -n $quorumField ]]
+          then
+            if [[ $quorumField = $quorumNode ]]
+            then
+              # When a nonquorum node will become a quorum node,
+              # mark the node as 'new'.
+              if [[ ${v[$CORE_QUORUM_Field]} = $nonQuorumNode ]]
+              then
+                v[$ADDNODE_STATE_Field]=$NEW_NODE
+                newQuorumNodes=yes
+              fi
+            else
+              # When changing a node's designation from quorum to
+              # nonquorum, GPFS must be down on the affected nodes.
+              [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]] &&  \
+                print -- "${v[$REL_HOSTNAME_Field]}" >> $chnodes
+
+              # Clear the new node flag in case it is still set.
+              v[$ADDNODE_STATE_Field]=$OLD_NODE
+            fi  # end if [[ $quorumField = $quorumNode ]]
+
+            # Set the new value.
+            v[$CORE_QUORUM_Field]=$quorumField
+          fi  # end of if [[ -n $quorumField ]]
+
+          # Handle client/manager changes.
+          [[ -n $designation ]] &&  \
+            v[$DESIGNATION_Field]=$designation
+        fi  # end of if [[ $changeThisNode = yes ]]
+
+        if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+        then
+          (( quorumNodeCount += 1 ))
+          if [[ -z $quorumNodeNames ]]
+          then
+            # This is the first node to add to the lists.
+            quorumNodeNumbers="${v[$NODE_NUMBER_Field]}"
+            quorumNodeNames="${v[$REL_HOSTNAME_Field]}"
+          else
+            if [[ ${v[$REL_HOSTNAME_Field]} = $ourNodeName ]]
+            then
+              # This is the local node; add it at the front of the lists
+              # so it will be the first quorum node used.
+              quorumNodeNumbers="${v[$NODE_NUMBER_Field]},${quorumNodeNumbers}"
+              quorumNodeNames="${v[$REL_HOSTNAME_Field]},${quorumNodeNames}"
+            else
+              # This is not the local node; add it at the end of the lists.
+              quorumNodeNumbers="${quorumNodeNumbers},${v[$NODE_NUMBER_Field]}"
+              quorumNodeNames="${quorumNodeNames},${v[$REL_HOSTNAME_Field]}"
+            fi
+          fi  # end of if [[ -z $quorumNodeNames ]]
+          [[ ${v[$ADDNODE_STATE_Field]} = $OLD_NODE ]] &&  \
+            oldQuorumNodes=yes
+        fi  # end of if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+        ;;
+
+      $SG_DISKS )
+        # Collect the lines that represent the quorum disks.
+        if [[ -n $diskQuorumInEffect && ${v[$PAXOS_Field]} = $PaxosDisk ]]
+        then
+          print_newLine >> $diskLines
+          checkForErrors "writing to file $diskLines" $?
+        fi  # end if [[ -n $diskQuorumInEffect && ...
+        ;;
+
+      * )  # Pass all other lines without a change.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the new mmsdrfs file.
+    print_newLine >> $tmpsdrfs
+    checkForErrors "writing to file $tmpsdrfs" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # Ensure that there is at least one quorum node in the cluster.
+  if [[ $quorumNodeCount -eq 0 ]]
+  then
+    printErrorMsg 53 $mmcmd
+    cleanupAndExit
+  fi
+
+  # Perform additional processing if disk-based quorum is in effect.
+  if [[ -n $diskQuorumInEffect ]]
+  then
+    # Fail the command if there are more than eight quorum nodes.
+    if [[ $quorumNodeCount -gt 8 ]]
+    then
+      # There are more than 8 quorum nodes while tiebreaker disks are in use.
+      printErrorMsg 131 $mmcmd
+      cleanupAndExit
+    fi
+
+    # The quorum disks must be reformatted.
+    if [[ -n $newQuorumNodes ]]
+    then
+      formatPaxosDisks $diskLines $quorumNodeNumbers $quorumNodeNames mmaddnode
+      if [[ $? -ne 0 ]]
+      then
+        # GPFS failed to initialize the tiebreaker disks.
+        printErrorMsg 132 $mmcmd
+        cleanupAndExit
+      fi
+    fi
+  fi  # end of if [[ -n $diskQuorumInEffect ]]
+
+  # If, as a result of this command, all quorum nodes will end up
+  # being marked as "new", the daemon must be stopped everywhere
+  # and the addnode state field reset to "old".
+  if [[ -z $oldQuorumNodes ]]
+  then
+    # Ensure the daemon is down everywhere.
+    if [[ -z $daemonInactiveVerified ]]
+    then
+      printInfoMsg 339
+      verifyDaemonInactive $allnodes $mmcmd
+      [[ $? -ne 0 ]] && cleanupAndExit
+      daemonInactiveVerified=yes
+    fi
+
+    # Reset the addnode state of all nodes to 'old'.
+    $rm -f $tmpfile
+    $awk -F:  '                                                                \
+       # If this is a node line, clear the addnode state field.                \
+       /'^$HOME_CLUSTER:$MEMBER_NODE:'/ {                                      \
+         { $'$ADDNODE_STATE_Field' = "'$OLD_NODE'" }                           \
+         { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                 $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                 $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$tmpfile'" }  \
+          { next }                                                             \
+       }                                                                       \
+       # All other lines are echoed without change.                            \
+       { print $0 >> "'$tmpfile'" }                                            \
+       END { print gen }                                                       \
+    ' $tmpsdrfs
+    checkForErrors awk $?
+
+    # The file was updated successfully.
+    $mv $tmpfile $tmpsdrfs
+    checkForErrors "mv $tmpfile $tmpsdrfs" $?
+  fi  # end of if [[ -z $oldQuorumNodes ]]
+
+  # If needed, ensure the daemon is down on the affected nodes.
+  # Do not set the daemonInactiveVerified flag because we are
+  # dealing with only a small subset of the nodes.
+  if [[ -s $chnodes && -z $daemonInactiveVerified ]]
+  then
+    printInfoMsg 453
+    verifyDaemonInactive $chnodes $mmcmd
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi
+
+  # Everything seems to have gone OK so far.
+  # No need to sort the mmsdrfs file this time,
+  # just rename it so that the caller can find it.
+  $mv $tmpsdrfs $sdrfs
+  checkForErrors "mv $tmpsdrfs $sdrfs" $?
+
+  return 0
+
+}  #----- end of function changeNodeDesignation ------------------
+
+
+##########################################################################
+#
+# Function:  Set the add node state field to the specified value
+#
+# Input:     $1 - new state
+#            $2 - mmsdrfs file to use
+#            $3 - file with the reliable names of the nodes to change
+#                 If not specified, all nodes in the cluster are changed.
+#            $4 - file to hold the names of all nodes in the cluster
+#
+# Output:    Updated mmsdrfs file
+#
+# Returns:   0 - node state changed successfully
+#            Any other return code indicates unexpected error.
+#
+##########################################################################
+function changeAddNodeState  # <state> <sdrfsFile> [<nodeFile> <allNodeNames>]
+{
+  typeset sourceFile="mmchconfig.sh"
+  [[ -n $DEBUG || -n $DEBUGchangeAddNodeState ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset new_state=$1
+  typeset sdrfs=$2
+  typeset nodeFile=$3
+  typeset allNodeNames=$4
+
+  typeset rc=0
+  typeset changeThisNode
+
+  if [[ $new_state = "new" ]]
+  then
+    new_state=$NEW_NODE
+  elif [[ $new_state = "old" ]]
+  then
+    new_state=$OLD_NODE
+  else
+    # Unexpected error
+    printErrorMsg 171 "$mmcmd" "$1" $2
+    cleanupAndExit
+  fi
+
+  # Clear files that will be created.
+  $rm -f $tmpsdrfs
+  [[ -n $allNodeNames ]] && $rm -f $allNodeNames
+
+  # Go through the mmsdrfs file.  Increment the generation number.
+  # Change the add node state field on all applicable MEMBER_NODE lines.
+  IFS=":"           # Change the field separator to ':'.
+  exec 3<&-
+  exec 3< $sdrfs
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"
+    changeThisNode=no
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $MEMBER_NODE )
+        if [[ -z $nodeFile ]]
+        then
+          # If no argument list is provided,
+          # all MEMBER_NODE lines are changed.
+          changeThisNode=yes
+        else
+          # See if this node is one of the nodes in the command line list.
+          # The awk script checks if the name in the node file
+          # matches the reliable name in the current MEMBER_NODE line.
+          # If yes, the changeThisNode flag will be set to 'yes'.
+          changeThisNode=$($awk '                    \
+             $1 == "'${v[$REL_HOSTNAME_Field]}'" {   \
+               { print "yes" }                       \
+               { exit }                              \
+             }                                       \
+          ' $nodeFile)
+        fi  # end of if [[ -z $nodeFile ]]
+
+        [[ $changeThisNode = yes ]] &&  \
+          v[$ADDNODE_STATE_Field]=$new_state
+
+        [[ -n $allNodeNames ]] &&  \
+          print -- "${v[$REL_HOSTNAME_Field]}" >> $allNodeNames
+        ;;
+
+      * )  # Pass all other lines without a change.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the new mmsdrfs file.
+    print_newLine >> $tmpsdrfs
+    checkForErrors "writing to file $tmpsdrfs" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # Everything seems to have gone OK so far.
+  # No need to sort the mmsdrfs file this time,
+  # just rename it so that the caller can find it.
+  $mv $tmpsdrfs $sdrfs
+  checkForErrors "mv $tmpsdrfs $sdrfs" $?
+
+  $mmTRACE_EXIT rc=0
+  return 0
+
+}  #----- end of function changeAddNodeState ---------------------
+
+
+######################################################################
+#
+# Function:  Reevaluate the disk subtype field information for all
+#            disks in the cluster.
+#
+# Input:     $1 - all or file name with disk names, one per line.
+#            $2 - mmsdrfs file to use
+#
+# Output:    Updated mmsdrfs file
+#
+# Returns:   0 - disk subtypes changed successfully.
+#            Any other return code indicates unexpected error.
+#
+######################################################################
+function updateDiskType  # <all | filename> <mmsdrfsFile>
+{
+  [[ -n $DEBUG || -n $DEBUGupdateDiskType ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset disksToChange=$1
+  typeset sdrfs=$2
+
+  typeset rc=0
+  typeset disksNotUpdated=""
+  typeset noDisksChanged=yes
+  typeset diskSubtypeUpdated newDiskSubtype nodeName
+
+  # Some initializations.
+  [[ $disksToChange = yes ]] && disksToChange=all
+
+  # If file name specified, verify the file exists.
+  if [[ $disksToChange != all && ! -f $disksToChange ]]
+  then
+    # Can't read the file with disk names.
+    printErrorMsg 43 $mmcmd $disksToChange
+    cleanupAndExit
+  fi
+
+  # Define a file for extended error information.
+  errMsgLog=${rasDir}errMsgLog.${mmcmd}.$$
+
+  # Cleanup old logs that were not touched for over 10 days.
+  $find ${rasDir} -name "errMsgLog.${mmcmd}.*"  \
+      -atime +10 -mtime +10 -exec $rm -f {} \; >/dev/null 2>/dev/null
+
+  $rm -f $tmpsdrfs $errMsgLog $nodefile
+
+  # Sort the file using the line type field as a primary key.
+  $sort -t: -k 2,2 -k 1,1  $sdrfs -o $sdrfs
+
+  # Go through the mmsdrfs file.  Increment the generation number.
+  # Change the subtype field on all applicable SG_DISK lines.
+  IFS=":"
+  exec 3<&-
+  exec 3< $sdrfs
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $MEMBER_NODE )   # This line describes a node.
+        # Collect the reliable names of all nodes in the cluster.
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+        checkForErrors "writing to file $nodefile" $?
+        ;;
+
+      $SG_DISKS )
+        # Assume something will go wrong.
+        diskSubtypeUpdated=no
+        reevaluateThisDisk=no
+
+        # Determine whether we are interested in this disk.
+        if [[ $disksToChange != all ]]
+        then
+          # disksToChange is the name of a file with disk names.
+          diskName=$($grep -w ${v[$DISK_NAME_Field]} $disksToChange 2>/dev/null)
+          [[ -n $diskName ]] && reevaluateThisDisk=yes
+        else
+          reevaluateThisDisk=yes
+        fi
+
+        if [[ $reevaluateThisDisk = yes ]]
+        then
+          # Assume the disk is directly attached and known on this node.
+          # Determine its subtype.
+          newDiskSubtype=$(determineDiskSubtype  \
+                           ${v[$DISK_NAME_Field]} reevaluate 2>>$errMsgLog)
+          rc=$?
+
+          # If the disk type was successfully re-evaluated, record it
+          # in the mmsdrfs file.  Otherwise, try to find a node that can
+          # give us an answer.
+          if [[ $rc -eq 0 && -n $newDiskSubtype ]]
+          then
+            v[$DISK_SUBTYPE_Field]=$newDiskSubtype
+            diskSubtypeUpdated=yes
+          else
+            # Decide where to look for the disk.
+            # Until the above is done better, try the nodes one at a time.
+            for nodeName in $($cat $nodefile)
+            do
+              newDiskSubtype=$($mmcommon on1 $nodeName  \
+                  determineDiskSubtype ${v[$DISK_NAME_Field]} reevaluate 2>>$errMsgLog)
+              rc=$?
+              if [[ $rc -eq 0 && -n $newDiskSubtype ]]
+              then
+                v[$DISK_SUBTYPE_Field]=$newDiskSubtype
+                diskSubtypeUpdated=yes
+                break
+              fi
+            done  # end for nodeName in $($cat $nodefile)
+          fi  # end if [[ $rc -eq 0 && -n $newDiskSubtype ]]
+
+          # If we were not able to determine the new disk type,
+          # add the disk to the list of failed/unchanged disks.
+          if [[ $diskSubtypeUpdated = no ]]
+          then
+            disksNotUpdated="$disksNotUpdated\n\t${v[$DISK_NAME_Field]}"
+          else
+            noDisksChanged=no
+          fi
+        fi  # end if [[ $reevaluateThisDisk = yes ]]
+        ;;
+
+      * )  # Pass all other lines without a change.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the new mmsdrfs file.
+    print_newLine >> $tmpsdrfs
+    checkForErrors "writing to file $tmpsdrfs" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  if [[ $noDisksChanged = yes ]]
+  then
+    # We were not able to change any of the disks.
+    print -u2 "$mmcmd:  Not able to determine the disk type for any of the disks."
+  elif [[ -n $disksNotUpdated ]]
+  then
+    # Tell the user which disks failed.
+    print -u2 "$mmcmd:  Not able to determine the disk type for the following disks: $disksNotUpdated"
+    print -u2 "$mmcmd:  Reissue the command from a node that has access to the disks."
+    [[ -s $errMsgLog ]] &&  \
+      print -u2 "$mmcmd:  File $errMsgLog contains additional error information."
+  else
+    :  # All disks were successfully re-evaluated.
+  fi
+
+  [[ ! -s $errMsgLog ]] && $rm -f $errMsgLog
+
+  # Everything seems to have gone OK so far.
+  # Put the file back in the correct order and return.
+  LC_ALL=C $SORT_MMSDRFS $tmpsdrfs -o $sdrfs
+  checkForErrors sort $?
+
+  return 0
+
+}  #----- end of function updateDiskType -------------------------
+
+
+####################################################################
+#
+# Function:  Define disks for use by the disk quorum algorithm.
+#
+# Input:     $1 - comma-separated list of NSD names
+#            $2 - mmsdrfs file to use
+#
+# Output:    None.
+#
+# Returns:   0 - quorum disks defined successfully
+#            Any other return code indicates unexpected error.
+#
+####################################################################
+function setDiskQuorum # <diskNameList> <mmsdrfsFile>
+{
+  [[ -n $DEBUG || -n $DEBUGsetDiskQuorum ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset diskNameList=$1
+  typeset sdrfs=$2
+
+  typeset rc=0
+  typeset quorumNodeNumbers=""
+  typeset quorumNodeNames=""
+  typeset quorumNodeCount=0
+  typeset diskCount=0
+
+  typeset diskList sdrfsLine assignThisDisk
+  typeset diskName tempList
+
+  # Create a blank-separated list of the disk names.
+  IFS=";"
+  for diskName in $diskNameList
+  do
+    [[ -z $diskName ]] && continue
+    diskList="${diskList}${diskName}${BLANKchar}"
+    (( diskCount += 1 ))
+  done  # end for diskName in $diskNameList
+  IFS="$IFS_sv"
+
+  if [[ $diskCount -gt 3 ]]
+  then
+    print -u2 "$mmcmd: More than three disks specified."
+    return 1
+  fi
+
+  # Go through the mmsdrfs file and collect needed information.
+  $rm -f $tmpsdrfs $diskLines
+  IFS=":"
+  exec 3<&-
+  exec 3< $sdrfs
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $MEMBER_NODE )   # This line describes a node.
+        # Collect information about the quorum nodes in the cluster.
+        if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+        then
+          (( quorumNodeCount += 1 ))
+          if [[ -z $quorumNodeNames ]]
+          then
+            # This is the first node to add to the lists.
+            quorumNodeNumbers="${v[$NODE_NUMBER_Field]}"
+            quorumNodeNames="${v[$REL_HOSTNAME_Field]}"
+          else
+            if [[ ${v[$REL_HOSTNAME_Field]} = $ourNodeName ]]
+            then
+              # This is the local node; add it at the front of the lists
+              # so it will be the first quorum node used.
+              quorumNodeNumbers="${v[$NODE_NUMBER_Field]},${quorumNodeNumbers}"
+              quorumNodeNames="${v[$REL_HOSTNAME_Field]},${quorumNodeNames}"
+            else
+              # This is not the local node; add it at the end of the lists.
+              quorumNodeNumbers="${quorumNodeNumbers},${v[$NODE_NUMBER_Field]}"
+              quorumNodeNames="${quorumNodeNames},${v[$REL_HOSTNAME_Field]}"
+            fi
+          fi  # end of if [[ -z $quorumNodeNames ]]
+        fi  # end of if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+        ;;
+
+      $SG_DISKS )
+        # Determine whether we are interested in this disk.
+        tempList=""
+        assignThisDisk=no
+        for diskName in $diskList
+        do
+          if [[ ${v[$DISK_NAME_Field]} = $diskName ]]
+          then
+            # The disk represented by the current SG_DISKS line
+            # is one of the disks that we want.
+
+            if [[ $assignThisDisk = no ]]
+            then
+              # If we see this disk for the first time,
+              # mark it as a quorum (Paxos) disk.
+              assignThisDisk=yes
+
+            else
+              # We have already seen this name during the current iteration.
+              # It must be a duplicate entry in the command line list.
+              printErrorMsg 88 $mmcmd $diskName
+              return 1
+            fi  # end of if [[ $assignThisDisk = no ]]
+
+          else
+            # diskName does not match the name of the disk in the current
+            # SG_DISKS line.  Add diskName to the temporary list.
+            tempList="$tempList $diskName"
+          fi  # end of if [[ ${v[$DISK_NAME_Field]} = $diskName ]]
+        done  # end of for diskName in $diskList
+
+        # At this point we know if the current SG_DISKS line represents
+        # a disk that will be designated as a quorum disk.
+        # If yes, mark the disk accordingly and save the line for later
+        # processing.  Otherwise, clear the field; this may be an old
+        # disk that is not needed anymore.
+        if [[ $assignThisDisk = yes ]]
+        then
+          v[$PAXOS_Field]=$PaxosDisk
+          print_newLine >> $diskLines
+          checkForErrors "writing to file $diskLines" $?
+        else
+          v[$PAXOS_Field]=""
+        fi
+
+         # Initialize diskList for the next iteration.
+         diskList=$tempList
+        ;;
+
+      * )  # Pass all other lines without a change.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the new mmsdrfs file.
+    print_newLine >> $tmpsdrfs
+    checkForErrors "writing to file $tmpsdrfs" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # Replace the old sdrfs file with the new one.
+  $mv $tmpsdrfs $sdrfs
+  checkForErrors "mv $tmpsdrfs $sdrfs" $?
+
+  # Disk-based quorum is not allowed if there are more than eight quorum nodes.
+  if [[ $quorumNodeCount -gt 8 ]]
+  then
+    # There are more than 8 quorum nodes while tiebreaker disks are in use.
+    printErrorMsg 131 $mmcmd
+    return 1
+  fi
+
+  # If there are still entries left in diskList list, this means
+  # that the user specified disks that do not belong to the cluster.
+  if [[ -n $diskList ]]
+  then
+    # Disks not known to GPFS.
+    printErrorMsg 486 $mmcmd "$diskList"
+    return 1
+  fi
+
+  # Things are OK so far.  Start formatting the disks.
+  formatPaxosDisks $diskLines $quorumNodeNumbers $quorumNodeNames mmchconfig
+  if [[ $? -ne 0 ]]
+  then
+    # GPFS failed to initialize the tiebreaker disks.
+    printErrorMsg 132 $mmcmd
+    return 1
+  fi
+
+  # Everything must be OK.
+  return 0
+
+}  #----- end of function setDiskQuorum --------------------------
+
+
+#######################################################################
+#
+# Function:  Verifies that the mmfixcfg command executed successfully.
+#            If the return code from the command is not zero,
+#            the function issues a message, and exits via the
+#            cleanupAndExit routine.
+#
+# Input:     $1 - name of the parameter being changed
+#            $2 - return code from the mmfixcfg command
+#
+# Output:    None
+#
+# Returns:   0 - command finished successfully
+#            If error, no return; processing is stopped.
+#
+#######################################################################
+function checkForMmfixcfgErrors   # <argument> <rc>
+{
+  typeset sourceFile="mmchconfig.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckForMmfixcfgErrors ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  if [ $2 != "0" ]
+  then
+    # mmfixcfg error
+    printErrorMsg 79 "$mmcmd" "$1"
+    cleanupAndExit
+  fi
+
+  $mmTRACE_EXIT "rc=0"
+
+}  #----- end of function checkForMmfixcfgErrors -----------------
+
+
+
+######################
+# Mainline processing
+######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The attributes to be changed are always the first argument.
+attributeList=$arg1
+shift 1
+argc=argc-1
+
+while getopts :iIn:N: OPT
+do
+  case $OPT in
+
+    i) # immediate option
+       [[ $iarg = yes ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       immediate="-i";
+       iarg=yes
+       argc=argc-1
+       ;;
+
+    I) # immediate-only option
+       [[ $Iarg = yes ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       immediate="-I";
+       immediateOnly=yes
+       Iarg=yes
+       argc=argc-1
+       ;;
+
+    n) # node names file
+       [[ -n $narg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nflag="-$OPT"
+       narg=$OPTARG
+       argc=argc-2
+       [[ -n $Nflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $nflag $Nflag
+       ;;
+
+    N) # node names list, file, or class
+       [[ -n $Narg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"
+       Narg=$OPTARG
+       argc=argc-2
+       [[ -n $nflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $Nflag $nflag
+       ;;
+
+    +[iInN]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+
+done   # end of while getopts :iIn:N: OPT
+
+# Drop the processed options from the parameter list.
+shift OPTIND-1
+
+# Complete the parameter checking.
+if [[ -n $Narg ]]
+then
+  # Set vars to indicate that node names were specified.
+  nodeNames=$Narg
+  arglist=yes
+
+elif [[ -z $narg ]]
+then
+  # If the -n option is not used, a list of node names is allowed.
+  if [[ $argc -eq 1 ]]
+  then
+    # If there is exactly one string left,
+    # it is assumed to be a list of nodes.
+    arglist=$1
+
+    # Convert the input node list into a file.
+    $rm -f $inputNodes
+    IFS=','
+    for nodeName in $arglist
+    do
+      print -- "$nodeName" >> $inputNodes
+      checkForErrors "writing to $inputNodes" $?
+    done
+    IFS="$IFS_sv"    # Restore the default IFS settings.
+    nodeNames=$inputNodes
+    arglist=yes
+
+  elif [[ $argc -gt 1 ]]
+  then
+    # If more than one string is left, we have a syntax error.
+    syntaxError "extraArg" $usageMsg "$2"
+  else
+    # No node names were specified.
+    :  # Do nothing; the change is for all nodes.
+  fi
+
+else
+  # -n was specified, so there should be no other parms.
+  [[ $argc -gt 0 ]] &&  \
+    syntaxError "extraArg" $usageMsg "$1"
+
+  nodeNames=$narg
+  arglist=yes
+
+fi   # end of if [[ -n $Narg ]]
+
+# If a node list or node file was specified on the command line,
+# create a file containing the IP address and the original node
+# identifier of each of the nodes.
+if [[ -n $nodeNames ]]
+then
+  createVerifiedNodefile $nodeNames $IPA_Field yes $chnodes
+  [[ $? -ne 0 ]] && cleanupAndExit
+fi
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#######################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+
+########################################################################
+# Call the mmchconfigCommonProcessing local function.  It makes sure
+# that the input node list has no errors in it, and performs other
+# common for all attributes processing.  If any error is discovered,
+# the function terminates the command via the cleanupAndExit routine.
+########################################################################
+mmchconfigCommonProcessing
+
+
+###############################################
+# Start of main loop
+###############################################
+IFS=","
+for attributePair in $attributeList
+do
+  # Parse the attribute=value pair.
+  IFS="="
+  set -f ; set -- $attributePair ; set +f
+  attr=$1
+  value=$2
+  junk=$3
+  IFS="$IFS_sv"
+
+  [[ $attributePair != *=* || -n $junk ]] &&  \
+    syntaxError "invalidAttrValuePair" $usageMsg $attributePair
+
+  [[ -z $value || $value = DELETE ]] && value=DEFAULT
+
+
+  # Processing depends on the attribute type being changed.
+  ignoreNodeList=""
+  attr_lc=$attr        # Convert attr to lower case only.
+  case $attr_lc in
+
+    #-----------
+    "pagepool" )  # Documented attribute
+    #-----------
+      if [[ $value != DEFAULT ]]
+      then
+        # Verify the value is an integer.
+        # Range checking is left for the daemon.
+        intValue=$(checkIntRange pagepool $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tschpool command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tschpoolParms="$tschpoolParms -s 64M "
+        else
+          tschpoolParms="$tschpoolParms -s $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="pagepool"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "maxbufferdescs" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange maxBufferDescs $value 512 1000000)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxBufferDescs"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "maxfilestocache" )  # Documented attribute
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange maxFilesToCache $value 1 100000)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxFilesToCache"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------
+    "maxstatcache" )  # Documented attribute
+    #---------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange maxStatCache $value 0 10000000)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxStatCache"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "statcachedirpct" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange statCacheDirPct $value 0 90)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="statCacheDirPct"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------
+    "maxdiskaddrbuffs" )
+    #-------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange maxDiskAddrBuffs $value 0 1000000)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxDiskAddrBuffs"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------
+    "datastructuredump" )  # Documented attribute
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Acceptable values are 'yes', 'no' or an absolute path name.
+        if [[ $value != yes && $value != no && $value = ${value#/} ]]
+        then
+          printErrorMsg 149 $mmcmd dataStructureDump $value
+          cleanupAndExit
+        fi
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr yes "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="dataStructureDump"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------------------
+    "datastructuredumponsgpanic" )
+    #-----------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Acceptable values are 'yes', 'no' or an absolute path name.
+        if [[ $value != yes && $value != no && $value = ${value#/} ]]
+        then
+          printErrorMsg 149 $mmcmd dataStructureDumpOnSGPanic $value
+          cleanupAndExit
+        fi
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr no "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="dataStructureDumpOnSGPanic"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------
+    "envvar" )    # Documented attribute
+    #---------
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="envVar"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------
+    "uiddomain" )    # Documented attribute
+    #------------
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="uidDomain"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------
+    "automountdir" )       # Documented attribute
+    #---------------
+      if [[ $value != DEFAULT ]]
+      then
+        # The value must be an absolute path name.
+        if [[ $value = ${value#/} ]]
+        then
+          printErrorMsg 149 $mmcmd automountDir $value
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="automountDir"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------------
+    "allowremoteconnections" )
+    #-------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="allowRemoteConnections"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------------
+    "allowdummyconnections" )
+    #------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="allowDummyConnections"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------
+    "openssllibname" )
+    #-----------------
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="openssllibname"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------
+    "cipherlist" )  # Documented attribute
+    #-------------
+      [[ $value = EMPTY ]] && value=DEFAULT
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      if [[ $value != DEFAULT ]]
+      then
+        # Ensure OpenSSL is installed.
+        if [[ ! -x $openssl ]]
+        then
+          print -u2 "$mmcmd: $openssl not found."
+          print -u2 "     Ensure the OpenSSL code is properly installed."
+          cleanupAndExit
+        fi
+
+        # Replace any colons in the cipher list string with commas.
+        cipherList=$(print -- "$value" | $sed 's/:/,/g')
+
+        # Ensure the version of openssl installed on this node
+        # understands cipherList before setting it.
+        if [[ $cipherList = "AUTHONLY" ]]
+        then
+          ciphers=$($openssl ciphers "NULL-SHA")
+        elif [[ $cipherList = *"AUTHONLY"* ]]
+        then
+          print -u2 "$mmcmd:  AUTHONLY cannot be specified in conjunction with other ciphers."
+        else
+          ciphers=$($openssl ciphers rsa "$cipherList")
+        fi
+
+        if [[ $cipherList != "AUTHONLY" && $sdrfsFormatLevel -eq 0 ]]
+        then
+          print -u2 "$mmcmd:  Support for cipher lists other than AUTHONLY has not been enabled yet."
+          print -u2 "    Run \"mmchconfig release=LATEST\" to activate the new function."
+          cleanupAndExit
+        fi
+
+        if [[ -z "$ciphers" ]]
+        then
+          # The specified cipher list is not supported.
+          printErrorMsg 483 $mmcmd "$value"
+          cleanupAndExit
+        else
+          :  # The new cipher list is acceptable.
+        fi  # end of if [[ -z "$ciphers" ]]
+
+        secLevel=1
+
+      else
+        cipherList=""
+        secLevel=0
+      fi  # end of if [[ $value != DEFAULT ]]
+
+      # Make the change in the working copy of the mmsdrfs file.
+      # Return the genkey generation number.
+      keyGenNumber=$($awk -F:  '                                                  \
+         /^'$GLOBAL_ID:$VERSION_LINE:'/ {                                         \
+            # If this is the version line, update the SECLEVEL field.             \
+            { $'$SECLEVEL_Field' = "'$secLevel'" }                                \
+            { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                    $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                    $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$tmpsdrfs'" } \
+            # Return the current value of the genkey generation number.           \
+            { print $'$NEW_KEY_Field' }                                           \
+            { next }                                                              \
+         }                                                                        \
+         /^'$HOME_CLUSTER:$NODESET_HDR:'/ {                                       \
+            # If this is the header line, update the cipher list field.           \
+            { $'$CIPHER_LIST_Field' = "'$cipherList'" }                           \
+            { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                    $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                    $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$tmpsdrfs'" } \
+            { next }                                                              \
+         }                                                                        \
+         # All other lines are echoed without change.                             \
+         { print $0 >> "'$tmpsdrfs'" }                                            \
+      ' $newsdrfs)
+      checkForErrors awk $?
+
+      # Ensure that an authentication key file exists.
+      if [[ $keyGenNumber -eq 0 && $secLevel -gt 0 ]]
+      then
+        # Run "mmauth genkey" first.
+        printErrorMsg 307 $mmcmd
+        cleanupAndExit
+      fi
+
+      # The file was updated successfully.
+      $mv $tmpsdrfs $newsdrfs
+      checkForErrors "mv $tmpsdrfs $newsdrfs" $?
+      mmsdrfsModified=yes
+
+      # The daemon must be down on all nodes if the multiple keys support
+      # has not been activated yet or if we are about to switch from
+      # a non-secure to a secure environment or vice-versa.
+      if [[ $sdrfsFormatLevel -eq 0 || $currentCipherList != $value &&
+            ( $currentCipherList = DEFAULT || $value = DEFAULT ) ]]
+      then
+        if [[ -z $daemonInactiveVerified ]]
+        then
+          printInfoMsg 339
+          verifyDaemonInactive $allnodes $mmcmd
+          [[ $? -ne 0 ]] && cleanupAndExit
+          daemonInactiveVerified=yes
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="cipherList"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------
+    "maxreceiverthreads" )
+    #----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange maxReceiverThreads $value 1 128)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxReceiverThreads"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------
+    "dmapieventtimeout" )  # Documented attribute
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange dmapiEventTimeout $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 86400000 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="dmapiEventTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------------------
+    "dmapisessionfailuretimeout" )  # Documented attribute
+    #-----------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange dmapiSessionFailureTimeout $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 0 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="dmapiSessionFailureTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------
+    "dmapimounttimeout" )  # Documented attribute
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange dmapiMountTimeout $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 60 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="dmapiMountTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "tiebreakerdisks" )        # Documented attribute
+    #------------------
+      if [[ "$value" = *+([-:${BLANKchar}${TABchar}])* ]]
+      then
+        # Use semi-colon (;) to separate the disk names.
+        printErrorMsg 62 $mmcmd
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Daemon must be down when changing quorum semantics.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # If going back to regular node quorum, nothing special to do.
+      # If switching to disk-based quorum, or if changing the set
+      # of quorum disks, call the setDiskQuorum routine to
+      # prepare the disks.
+      if [[ $value != no && $value != DEFAULT ]]
+      then
+        setDiskQuorum "$value" $newsdrfs
+        rc=$?
+        if [[ $rc -ne 0 ]]
+        then
+          # Command failed.
+          printErrorMsg 389 $mmcmd
+          cleanupAndExit $rc
+        fi
+      fi  # end of if [[ $value != no && $value != DEFAULT ]]
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="tiebreakerDisks"
+      mmfscfgChange=yes
+      mmsdrfsModified=yes
+      ;;
+
+
+    #------------------
+    "minquorumnodes" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange minQuorumNodes $value 1 5)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="minQuorumNodes"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------
+    "designation" )  # Documented attribute
+    #--------------
+      # The detailed syntax check is done in function changeNodeDesignation.
+      if [[ "$value" = *+([;:${BLANKchar}${TABchar}])* ]]
+      then
+        # Use the dash character to separate multiple node designations.
+        printErrorMsg 61 $mmcmd
+        cleanupAndExit
+      fi
+      [[ $value = DEFAULT ]] && value=quorum-client
+
+      # Ensure there will be at least one quorum node in the cluster.
+      if [[ $value = *nonquorum* && -z "$arglist" ]]
+      then
+        printErrorMsg 53 $mmcmd
+        cleanupAndExit
+      fi
+
+      # Make the change in the MEMBER_NODE lines.
+      if [[ -z "$arglist" ]]
+      then
+        changeNodeDesignation "$value" $newsdrfs
+        rc=$?
+      else
+        changeNodeDesignation "$value" $newsdrfs $nodefile
+        rc=$?
+      fi
+      [[ $rc -ne 0 ]] && cleanupAndExit
+      mmsdrfsModified=yes
+      [[ $propagateOptions != *rereadNodeList* ]] &&  \
+        propagateOptions=rereadNodeList,${propagateOptions}
+      ;;
+
+
+    #-----------
+    "autoload" )   # Documented attribute
+    #-----------
+      # Check the new attribute value.
+      [[ $value = DEFAULT ]] && value=no
+      if [[ $value != yes && $value != no ]]
+      then
+        printErrorMsg 37 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="autoload"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------
+    "maxblocksize" )   # Documented attribute
+    #---------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange maxblocksize $value 16K 16M)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxblocksize"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------
+    "updatedisktype" )     # Documented attribute
+    #-----------------
+      [[ $value = DEFAULT ]] && value=all
+      if [[ $value != "all" && $value != "yes" && $value != /* ]]
+      then
+        # Incorrect value for this option.
+        printErrorMsg 153 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Reevaluate the disk type for all disks in the cluster.
+      updateDiskType $value $newsdrfs
+      rc=$?
+      [[ $rc -ne 0 ]] && cleanupAndExit
+      mmsdrfsModified=yes
+      ;;
+
+
+    #-------------
+    "pindaemon"  )
+    #-------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="pindaemon"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------------
+    "tcpport" | "tsctcpport" )
+    #-------------------------
+      # Convert attribute value into a simple integer.
+      [[ $value = DEFAULT ]] && value=$defaultTcpPort
+      intValue=$(checkIntRange tscTcpPort $value)
+      [[ $? -ne 0 ]] && cleanupAndExit
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Find and parse the NODESET_HDR line.
+      sdrfsLine=$($grep -e "^$nodesetId:$NODESET_HDR::" $newsdrfs)
+      IFS=":"
+      set -f ; set -A v -- - $sdrfsLine ; set +f
+      IFS="$IFS_sv"
+
+      # Set the new value and put the line back
+      v[$TCP_PORT_Field]=$value
+      newLine=$(print_newLine)
+      newGenNumber=$(updateSdrfsFile $newsdrfs "$nodesetId:$NODESET_HDR::" $newLine)
+      checkForErrors "updateSdrfsFile $newsdrfs" $?
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="tscTcpPort"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------------------------------
+    "gpfseventsport" | "eventsexportertcpport" )
+    #-------------------------------------------
+      if [[ $value = DEFAULT ]]
+      then
+        # The default is the value of tscTcpPort, whatever it happens to be.
+        # This is reflected by storing null in the mmsdrfs file.
+        value=""
+      else
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange eventsExporterTcpPort $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change in the working copy of the mmsdrfs file.
+      $awk -F:  '                                                                 \
+         # If this is the NODESET_HDR line, update the EVENTS_PORT_Field.         \
+         /^'$HOME_CLUSTER:$NODESET_HDR:'/ {                                       \
+            { $'$EVENTS_PORT_Field' = "'$value'" }                                \
+            { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                    $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                    $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$tmpsdrfs'" } \
+            { next }                                                              \
+         }                                                                        \
+         # All other lines are echoed without change.                             \
+         { print $0 >> "'$tmpsdrfs'" }                                            \
+      ' $newsdrfs
+      checkForErrors awk $?
+
+      # The file was updated successfully.
+      $mv $tmpsdrfs $newsdrfs
+      checkForErrors "mv $tmpsdrfs $newsdrfs" $?
+      mmsdrfsModified=yes
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      [[ -z $value ]] && value=DEFAULT
+      attr="eventsExporterTcpPort"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------------------------
+    "gpfsobjectport" | "mmgetobjdport" | \
+    "mmsdrservport" | "mmsdrservtcpport" )
+    #-------------------------------------
+      if [[ $value = DEFAULT ]]
+      then
+        # The default is the value of tscTcpPort, whatever it happens to be.
+        # This is reflected by storing null in the mmsdrfs file.  Note that
+        # zero is an acceptable value - it means that mmsdrserv should not
+        # be used at all.
+        value=""
+      else
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange mmsdrservTcpPort $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change in the working copy of the mmsdrfs file.
+      # The script will also determine if it is necessary to ensure
+      # that GPFS is not running on the config server nodes.
+      daemonMustBeDown=$($awk -F:  '                                              \
+         /^'$HOME_CLUSTER:$NODESET_HDR:'/ {                                       \
+            { daemonPort = $'$TCP_PORT_Field' }                                   \
+            { oldSdrPort = $'$GETOBJECT_PORT_Field' }                             \
+            { newSdrPort = "'$value'" }                                           \
+            # Decide if the daemon must be down.                                  \
+            if ( oldSdrPort == "" || oldSdrPort == daemonPort ||                  \
+                 newSdrPort == "" || newSdrPort == daemonPort ) {                 \
+              { print "yes" }                                                     \
+            }                                                                     \
+            # Update the GETOBJECT_PORT_Field with its new value.                 \
+            { $'$GETOBJECT_PORT_Field' = "'$value'" }                             \
+            { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                    $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                    $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$tmpsdrfs'" } \
+            { next }                                                              \
+         }                                                                        \
+         # All other lines are echoed without change.                             \
+         { print $0 >> "'$tmpsdrfs'" }                                            \
+      ' $newsdrfs)
+      checkForErrors awk $?
+
+      # The file was updated successfully.
+      $mv $tmpsdrfs $newsdrfs
+      checkForErrors "mv $tmpsdrfs $newsdrfs" $?
+      mmsdrfsModified=yes
+
+      # Since we are changing the TCP port number, the currently running
+      # mmsdrserv daemons must be killed before the new instances can be
+      # started.  This is done as part of the commit process.
+      commitOption=KILLSDRSERV
+
+      # Depending on the old and new values of the sdrserv port,
+      # it may be necessary to shutdown GPFS on the primary and
+      # backup server for the change to be accomplished.  If this
+      # is not done, the config servers may be left over returning
+      # stale information or mmsdrserv requests may fail because
+      # an already running daemon cannot take over sdrserv duties.
+      if [[ -n $daemonMustBeDown && -z $daemonInactiveVerified ]]
+      then
+        print -- "${primaryServer}\n${backupServer}" > $tmpNodes
+        checkForErrors "writing to file $tmpNodes" $?
+
+        # Verify the daemon is down; do not lock the Gpfs object.
+        printInfoMsg 453
+        verifyDaemonInactive $tmpNodes
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi  # end of if [[ -n $daemonMustBeDown ]]
+      ;;
+
+
+    #-------------------
+    "mmsdrservtimeout" )
+    #-------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange mmsdrservTimeout $value 1 3600)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="mmsdrservTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------
+    "mmsdrservworkerpool" )
+    #----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange mmsdrservWorkerPool $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="mmsdrservWorkerPool"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------
+    "priority" )
+    #-----------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange priority $value 1 99)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ $value = DEFAULT ]]
+      then
+        tsctlParms="$tsctlParms $attr 40 "
+      else
+        tsctlParms="$tsctlParms $attr $value "
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="priority"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------
+    "maxdatashippoolsize" )
+    #----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange maxDataShipPoolSize $value 32K 1M)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxDataShipPoolSize"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------
+    "dmapienable" )
+    #--------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="dmapiEnable"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------
+    "dmapiworkerthreads" )
+    #---------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange dmapiWorkerThreads $value 1 24)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="dmapiWorkerThreads"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------
+    "dmapieventbuffers" )
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange dmapiEventBuffers $value 1 128)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="dmapiEventBuffers"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------
+    "tscprimary" )
+    #-------------
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="tscPrimary"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------
+    "clustertype" )
+    #--------------
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="clusterType"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------
+    "clustername" )
+    #--------------
+      # Note:  This value should be changed via mmchcluster -C only.
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="clusterName"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------
+    "clusterid" )
+    #------------
+      # Note:  This value should not be changed.
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="clusterID"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------
+    "autosgloadbalance" )
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr no "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="autoSgLoadBalance"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------
+    "tscworkerpool" )
+    #----------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange tscWorkerPool $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="tscWorkerPool"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------
+    "socketrcvbuffersize" )
+    #----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange socketRcvBufferSize $value 0)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="socketRcvBufferSize"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------
+    "socketsndbuffersize" )
+    #----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange socketSndBufferSize $value 0)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="socketSndBufferSize"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------------
+    "writealldescreplicas" )
+    #-----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="writeAllDescReplicas"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------------
+    "waitforvsd" | "wait4rvsd" )
+    #---------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="wait4RVSD"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------
+    "usedisklease" )
+    #---------------
+      # Check the new attribute value.
+      [[ $value = DEFAULT ]] && value=yes
+      if [[ $value != yes && $value != no ]]
+      then
+        printErrorMsg 37 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate && $value = no ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # When turning off useDiskLease, the daemon must be down on all nodes.
+      if [[ $value = no && -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      [[ -n $immediate ]] &&  \
+        tsctlParms_onactive="$tsctlParms_onactive $attr $value "
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="useDiskLease"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------
+    "leaseduration" )
+    #----------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange leaseDuration $value 5 1800)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="leaseDuration"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------
+    "leaserecoverywait" )
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange leaseRecoveryWait $value 1 1800)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="leaseRecoveryWait"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "leasedmstimeout" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange leaseDMSTimeout $value 0 1800)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="leaseDMSTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------
+    "pingperiod" )
+    #------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange pingPeriod $value 1 10)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="pingPeriod"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------
+    "totalpingtimeout" )
+    #-------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange totalPingTimeout $value 1 1800)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="totalPingTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------------
+    "minmissedpingtimeout" )
+    #-----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange minMissedPingTimeout $value 1 300)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="minMissedPingTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------------
+    "maxmissedpingtimeout" )
+    #-----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange maxMissedPingTimeout $value 1 300)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxMissedPingTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------------
+    "sendtimeout" )
+    #-----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange sendTimeout $value 1 300)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="sendTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "prefetchtimeout" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange prefetchTimeout $value 2 30)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 5 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="prefetchTimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "prefetchthreads" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange prefetchThreads $value 2 550)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="prefetchThreads"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------
+    "prefetchpct" )
+    #--------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange prefetchPct $value 0 60)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="prefetchPct"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------
+    "hotlistpct" )
+    #-------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange hotlistPct $value 0 60)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="hotlistPct"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------
+    "worker1threads" )
+    #-----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange worker1Threads $value 1 550)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="worker1Threads"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------
+    "worker3threads" )
+    #-----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange worker3Threads $value 1 64)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="worker3Threads"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------
+    "maxmbps" )
+    #----------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange maxMBpS $value 1 100000)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 150 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxMBpS"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "takeovertimeout" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange takeovertimeout $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 600 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="takeovertimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------------
+    "pcttokenmgrstorageuse" )
+    #------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange pctTokenMgrStorageUse $value 1 90)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 25 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="pctTokenMgrStorageUse"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------------------------
+    "unmountondiskfail" | "panicondiskfail" )    # Documented attribute
+    #----------------------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no && $value != meta ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr no "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="unmountOnDiskFail"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------
+    "crashdump" )
+    #------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange crashdump $value 0 1)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 0 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="crashdump"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------------
+    "assertonstructureerror" )
+    #-------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr no "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="assertOnStructureError"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------
+    "trace" )
+    #--------
+      # If requested, change the trace levels on the running daemon.
+      if [[ -n $immediate && -s $nodefile ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          $mmcommon onall $nodefile $unreachedNodes  \
+                             adminCmd mmfsadm trace "all 0"
+        else
+          $mmcommon onall $nodefile $unreachedNodes  \
+                             adminCmd mmfsadm trace "$value"
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="trace"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------
+    "res" )            # Resource tracking options
+    #------
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="res"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------
+    "asyncsocketnotify"  )
+    #---------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="asyncSocketNotify"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------
+    "pinmaster" )
+    #------------
+      # value must have the following format: "stack:256K data:4096K"
+      # The range for stack is 64K to 4M
+      # The range for data is 64K to 128M
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="pinmaster"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------------
+    "maxinodedeallochistory" )
+    #-------------------------
+      # The range for maxInodeDeallocPrefetch is 0 to maxFilesToCache
+
+      # Convert attribute value into a simple integer.
+      if [[ $value != DEFAULT ]]
+      then
+        intValue=$(checkIntRange maxInodeDeallocHistory $value 1 100000)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxInodeDeallocHistory"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------------
+    "maxinodedeallocprefetch" )
+    #--------------------------
+      # The range for maxInodeDeallocPrefetch is
+      #   0 to min(maxInodeDeallocHistory, 16)
+
+      # Convert attribute value into a simple integer.
+      if [[ $value != DEFAULT ]]
+      then
+        intValue=$(checkIntRange maxInodeDeallocPrefetch $value 1 16)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 8 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxInodeDeallocPrefetch"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------
+    "mmapkprocs" )
+    #-------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange mmapKprocs $value 0 10000)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 3 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="mmapKprocs"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------------
+    "maxfcntlrangesperfile" )
+    #------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange maxFcntlRangesPerFile $value 10 200000)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 200 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxFcntlRangesPerFile"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------------------
+    "allowsynchronousfcntlretries" )
+    #-------------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr yes "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="allowSynchronousFcntlRetries"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------------
+    "retryfcntltokenthreshold" )
+    #---------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange retryFcntlTokenThreshold $value 0 1000)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 200 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="retryFcntlTokenThreshold"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------
+    "eewatchdoginterval" )
+    #---------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange eeWatchDogInterval $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 90 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="eeWatchDogInterval"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------------------
+    "eewatchdoghungthreadcutoff" )
+    #-----------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange eeWatchDogHungThreadCutoff $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 60 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="eeWatchDogHungThreadCutoff"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "watchdogtimeout" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange watchdogtimeout $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 20 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="watchdogtimeout"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------
+    "nsdbufspace" )
+    #--------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange nsdbufspace $value 10 70)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 30 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nsdbufspace"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------
+    "nsdthreadsperdisk" )
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange nsdThreadsPerDisk $value 1 128)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nsdThreadsPerDisk"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------
+    "nsdminworkerthreads" )
+    #----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange nsdMinWorkerThreads $value 1 128)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nsdMinWorkerThreads"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------
+    "nsdmaxworkerthreads" )
+    #----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange nsdMaxWorkerThreads $value 1 128)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nsdMaxWorkerThreads"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------------------------
+    "nsdservercheckingintervalformount" )
+    #------------------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange nsdServerCheckingIntervalForMount $value 1 60)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 10 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nsdServerCheckingIntervalForMount"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------------
+    "nsdserverwaitconfig" )
+    #----------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange nsdServerWaitConfig $value 0 2)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 2 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nsdServerWaitConfig"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------------------
+    "nsdserverwaittimeformount" )
+    #----------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange nsdServerWaitTimeForMount $value 0 1200)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 300 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nsdServerWaitTimeForMount"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------------------
+    "nsdserverwaittimewindowonmount" )
+    #---------------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange nsdServerWaitTimeWindowOnMount $value 1 1200)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 600 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nsdServerWaitTimeWindowOnMount"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------
+    "readreplicapolicy" )
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        if [[ $value != "local" && $value != "fastest" && $value != "default" ]]
+        then
+          # Incorrect value for this option.
+          printErrorMsg 153 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        tsctlParms="$tsctlParms $attr $value "
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="readReplicaPolicy"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------
+    "addnodestate" )
+    #---------------
+      if [[ $value != "new" && $value != "old" ]]
+      then
+        # Invalid node designation specified
+        printErrorMsg 293 $mmcmd $value
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change in the MEMBER_NODE lines.
+      if [[ -z "$arglist" ]]
+      then
+        changeAddNodeState $value $newsdrfs
+        rc=$?
+      else
+        changeAddNodeState $value $newsdrfs $nodefile $allnodes
+        rc=$?
+      fi
+      [[ $rc -ne 0 ]] && cleanupAndExit
+      mmsdrfsModified=yes
+      synchronousNotify=yes
+      [[ $propagateOptions != *rereadNodeList* ]] &&  \
+        propagateOptions=rereadNodeList,${propagateOptions}
+
+      # No other attributes can be processed after addNodeState
+      break
+      ;;
+
+
+    #----------
+    "release" )    # Documented attribute
+    #----------
+      [[ $value = DEFAULT ]] && value=LATEST
+      if [[ $value != "LATEST" && $value != "latest" ]]
+      then
+        # An invalid value was specified.
+        printErrorMsg 13 "$mmcmd" "$attributePair"
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the appropriate preliminary changes.
+      convertMmsdrfsFile $newsdrfs
+      rc=$?
+      [[ $rc -ne 0 ]] && cleanupAndExit
+      mmsdrfsModified=yes
+      ;;
+
+
+    #-------------------
+    "release_disabled" )    # Disable the code that handles release level determination.
+    #-------------------
+      [[ $value = DEFAULT ]] && value=LATEST
+      if [[ $value != "LATEST" && $value != "latest" &&
+            $value != +([0-9]).+([0-9]).+([0-9]).+([0-9]) ]]
+      then
+        n=$(checkIntRange DaemonVersion $value)
+        if [[ $? -ne 0 ]]
+        then
+          # Invalid value specified
+          printErrorMsg 13 "$mmcmd" "$attributePair"
+          cleanupAndExit
+        fi
+      fi
+
+      # -I (immediate only) option not allowed
+      if [[ $immediate = "-I" ]]
+      then
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      if [[ $value = "LATEST" || $value = "latest" ]]
+      then
+        # Make the appropriate preliminary changes.
+        convertMmsdrfsFile $newsdrfs
+        rc=$?
+        [[ $rc -ne 0 ]] && cleanupAndExit
+        mmsdrfsModified=yes
+
+      else
+        # The request is to set the version to a specific level.
+        # This requires the daemon to be stopped everywhere.
+        if [[ -n "$arglist" ]]
+        then
+          # <nodelist> cannot be used.
+          printErrorMsg 192 $mmcmd $attr
+          cleanupAndExit
+        fi
+
+        # The daemon must be down on all nodes in the cluster.
+        if [[ -z $daemonInactiveVerified ]]
+        then
+          printInfoMsg 339
+          verifyDaemonInactive $allnodes $mmcmd
+          [[ $? -ne 0 ]] && cleanupAndExit
+          daemonInactiveVerified=yes
+        fi
+      fi  # end if [[ $value = "LATEST" || $value = "latest" ]]
+
+      # Verify that the NODESET_HDR version fields are up-to-date.
+      result=$(setNodesetVersionFields $value $nodefile $newsdrfs)
+      IFS=':'
+      set -f ; set -- $result ; set +f
+      IFS="$IFS_sv"
+      rc=$2
+      status=$3
+      maxFeatureLevelAllowed=$4
+
+      # If the daemon version has changed, make the appropriate
+      # changes to mmfs.cfg.
+      if [[ $status = changed ]]
+      then
+        # If upgrading the version level, the immediate option is implied.
+        [[ $value = "LATEST" || $value = "latest" ]] &&  \
+          immediate="-i";
+
+        # If needed, set parameters for the tsctl command.
+        [[ -n $immediate ]] &&  \
+          tsctlParms_onactive="$tsctlParms_onactive $attr $value "
+
+        # Make the change to the work copy of the mmfs.cfg file.
+        value=$maxFeatureLevelAllowed
+        attr="maxFeatureLevelAllowed"
+        mmfscfgChange=yes
+        ignoreNodeList=yes
+      fi
+      ;;
+
+
+    #-------------------------
+    "maxfeaturelevelallowed" )
+    #-------------------------
+      n=$(checkIntRange maxFeatureLevelAllowed $value 0 100000)
+      [[ $? -ne 0 ]] && cleanupAndExit
+
+      # If needed, set parameters for the tsctl command.
+      [[ -n $immediate ]] &&  \
+        tsctlParms_onactive="$tsctlParms_onactive $attr $value "
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxFeatureLevelAllowed"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------------
+    "writebehindthreshhold" )
+    #------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange writebehindThreshhold $value 0 )
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 512K "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="writebehindThreshhold"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------------
+    "seqdiscardthreshhold" )
+    #-----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange seqDiscardThreshhold $value 0 )
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 1M "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="seqDiscardThreshhold"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------
+    "syncinterval" )
+    #---------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange syncInterval $value 0 3600)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          if [[ $osName = Linux ]]
+          then
+            tsctlParms="$tsctlParms $attr 30 "
+          else
+            tsctlParms="$tsctlParms $attr 70 "
+          fi
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi  # end if [[ $value = DEFAULT ]]
+      fi  # end if [[ -n $immediate ]]
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="syncInterval"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------------
+    "iohistorysize" )
+    #----------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange ioHistorySize $value 32 32768)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 512 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="ioHistorySize"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "maxfilecleaners" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange maxfilecleaners $value 0 32)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 8 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxFileCleaners"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------
+    "flusheddatatarget" )
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange flushedDataTarget $value 0 256)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 32 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="flushedDataTarget"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------
+    "flushedinodetarget" )
+    #---------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange flushedInodeTarget $value 0 256)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 32 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="flushedInodeTarget"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------
+    "sharedmemlimit" )
+    #-----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange sharedMemLimit $value 0 2047M)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="sharedMemLimit"
+      mmfscfgChange=yes
+      ;;
+
+    #-----------------
+    "tokenmemlimit" )
+    #-----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange tokenMemLimit $value 0 2047M)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="tokenMemLimit"
+      mmfscfgChange=yes
+      ;;
+
+    #-------------------------------
+    "maxbackgrounddeletionthreads" )
+    #-------------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange maxBackgroundDeletionThreads $value 0 8)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 4 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxBackgroundDeletionThreads"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------------------
+    "maxnfsdelegationtimeout" )
+    #--------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange maxNFSDelegationTimeout $value 3 3600)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 60 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxNFSDelegationTimeout"
+      mmfscfgChange=yes
+      ;;
+
+    #----------------------
+    "nfsprefetchstrategy" )
+    #----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange nfsPrefetchStrategy $value 0 10)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 0 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nfsPrefetchStrategy"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------
+    "enablenfscluster" )
+    #-----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="enableNFSCluster"
+      mmfscfgChange=yes
+      ;;
+
+    #-----------------
+    "enableuidremap" )
+    #-----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="enableUIDremap"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------
+    "enablestatuidremap" )
+    #---------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="enableStatUIDremap"
+      mmfscfgChange=yes
+      ;;
+
+    #----------------
+    "uidexpiration" )
+    #----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange uidExpiration $value)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="uidExpiration"
+      mmfscfgChange=yes
+      ;;
+
+    #---------------------
+    "maxallocpcttocache" )
+    #---------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange maxAllocPctToCache $value 0 100)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 0 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxAllocPctToCache"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------------
+    "ignorereplicaspaceonstat" )
+    #---------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr no "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="IgnoreReplicaSpaceOnStat"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------------
+    "enabletreebasedquotas" )
+    #------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # The daemon must be down on all nodes in the cluster.
+      if [[ -z $daemonInactiveVerified ]]
+      then
+        printInfoMsg 339
+        verifyDaemonInactive $allnodes $mmcmd
+        [[ $? -ne 0 ]] && cleanupAndExit
+        daemonInactiveVerified=yes
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="enableTreeBasedQuotas"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------
+    "license" )
+    #----------
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="LICENSE"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------------
+    "listenonallinterfaces"  )
+    #-------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="listenOnAllInterfaces"
+      mmfscfgChange=yes
+      ;;
+
+
+    #----------
+    "subnets" )
+    #----------
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="subnets"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------------------
+    "maxsgdesciobufsize" )   # Undocumented attribute
+    #---------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Convert attribute value into a simple integer.
+        intValue=$(checkIntRange maxSGDescIOBufSize $value 262144 2097152)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxSGDescIOBufSize"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------------
+    "distributedtokenserver" )
+    #-------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr yes "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="distributedTokenServer"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------------
+    "multitmmountthreshold" )
+    #------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange multiTMMountThreshold $value 1 4096)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 2 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="multiTMMountThreshold"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------------
+    "maxtokenservers" )
+    #------------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange maxTokenServers $value 1 256)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 128 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxTokenServers"
+      mmfscfgChange=yes
+      ;;
+
+    #----------------
+    "healthcheckinterval" )
+    #----------------
+      if [[ $value != DEFAULT ]]
+      then
+        n=$(checkIntRange healthCheckInterval $value 10 7200)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n $immediate ]]
+      then
+        # -i cannot be used.
+        printErrorMsg 375 $mmcmd $immediate $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="healthCheckInterval"
+      mmfscfgChange=yes
+      ;;
+
+    #-----------------------
+    "setctimeonattrchange" )
+    #-----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr yes "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="setCtimeOnAttrChange"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-----------------
+    "qrevokewatchthreshold" )
+    #-----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        n=$(checkIntRange qRevokeWatchThreshold $value 0 600)
+        [[ $? -ne 0 ]] && cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr 2 "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="qRevokeWatchThreshold"
+      mmfscfgChange=yes
+      ;;
+
+    #----------------------
+    "allowdeleteaclonchmod" )
+    #----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Check the new attribute value.
+        if [[ $value != yes && $value != no ]]
+        then
+          printErrorMsg 37 $mmcmd $attr
+          cleanupAndExit
+        fi
+      fi
+
+      # If needed, set parameters for the tsctl command.
+      if [[ -n $immediate ]]
+      then
+        if [[ $value = DEFAULT ]]
+        then
+          tsctlParms="$tsctlParms $attr yes "
+        else
+          tsctlParms="$tsctlParms $attr $value "
+        fi
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="allowDeleteAclOnChmod"
+      mmfscfgChange=yes
+      ;;
+
+
+    ####################################################################
+    # The following parameters are obsolete.  They can only be deleted.
+    ####################################################################
+
+    #-------------------------------------------
+    "singlenodequorum" | "usesinglenodequorum" ) # Obsolete attribute
+    #-------------------------------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="useSingleNodeQuorum"
+      mmfscfgChange=yes
+      ;;
+
+    #-------------
+    "corequorum" )        # Obsolete parameter
+    #-------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="coreQuorum"
+      mmfscfgChange=yes
+      ;;
+
+    #-------------
+    "diskquorum" )        # Obsolete parameter
+    #-------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="diskQuorum"
+      mmfscfgChange=yes
+      ;;
+
+    #----------------
+    "comm_protocol" )  # Obsolete attribute
+    #----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="comm_protocol"
+      mmfscfgChange=yes
+      mmsdrfsModified=yes
+      ;;
+
+    #-------------
+    "dynmemsize" )  # Obsolete attribute
+    #-------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="dynMemSize"
+      mmfscfgChange=yes
+      mmsdrfsModified=yes
+      ;;
+
+    #--------------
+    "maxpagepool" )  # Obsolete attribute
+    #--------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="maxpagepool"
+      mmfscfgChange=yes
+      mmsdrfsModified=yes
+      ;;
+
+    #-------------
+    "mallocsize" )  # Obsolete attribute
+    #-------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="mallocsize"
+      mmfscfgChange=yes
+      mmsdrfsModified=yes
+      ;;
+
+    #-----------------------
+    "memrebalanceinterval" )  # Obsolete attribute
+    #-----------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="memrebalanceinterval"
+      mmfscfgChange=yes
+      mmsdrfsModified=yes
+      ;;
+
+    #-------------------
+    "importancefactor" )  # Obsolete attribute
+    #-------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="importancefactor"
+      mmfscfgChange=yes
+      mmsdrfsModified=yes
+      ;;
+
+    #-----------------
+    "worker2threads" )      # Obsolete parameter
+    #-----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="worker2Threads"
+      mmfscfgChange=yes
+      ;;
+
+    #----------------
+    "usespsecurity" )          # Obsolete parameter
+    #----------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="useSPSecurity"
+      mmfscfgChange=yes
+      ;;
+
+    #--------------------
+    "useauthentication" )      # Obsolete attribute
+    #--------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="useAuthentication"
+      mmfscfgChange=yes
+      ;;
+
+    #---------------------
+    "spsecworkerthreads" )     # Obsolete parameter
+    #---------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="spsecWorkerThreads"
+      mmfscfgChange=yes
+      ;;
+
+    #---------
+    "group"  )          # Obsolete parameter
+    #---------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="group"
+      mmfscfgChange=yes
+      ;;
+
+    #------------
+    "recgroup"  )          # Obsolete parameter
+    #------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="recgroup"
+      mmfscfgChange=yes
+      ;;
+
+    #-----------
+    "nodelist" )     # Obsolete parameter
+    #-----------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nodelist"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------
+    "multinode" )     # Obsolete parameter
+    #------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="multinode"
+      mmfscfgChange=yes
+      ;;
+
+
+    #------------
+    "nodeprefs" )     # Obsolete parameter
+    #------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="nodeprefs"
+      mmfscfgChange=yes
+      ;;
+
+
+    #-------------------
+    "locktableversion" )     # Obsolete parameter
+    #-------------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="lockTableVersion"
+      mmfscfgChange=yes
+      ;;
+
+
+    #---------
+    "logdir" )     # Obsolete parameter
+    #---------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="logDir"
+      mmfscfgChange=yes
+      ;;
+
+
+    #--------------
+    "minpagepool" )     # Obsolete parameter
+    #--------------
+      if [[ $value != DEFAULT ]]
+      then
+        # Obsolete attribute.
+        printErrorMsg 19 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      if [[ -n "$arglist" ]]
+      then
+        # <nodelist> cannot be used.
+        printErrorMsg 192 $mmcmd $attr
+        cleanupAndExit
+      fi
+
+      # Make the change to the work copy of the mmfs.cfg file.
+      attr="minpagepool"
+      mmfscfgChange=yes
+      ;;
+
+
+    # End of obsolete attribute section.
+    # Add new attributes above the obsolete section.
+
+    #----
+    *   )    # unknown attribute
+    #----
+      # Warning:  unknown attribute.  The user is asked to press the enter key
+      # to bypass this argument.  If the user enters 999, we assume the guy
+      # knows what he is doing and we'll put the attribute in the mmfs.cfg file.
+      printErrorMsg 277 $mmcmd $attr
+      read response
+      [[ $response = "999" ]] && mmfscfgChange=yes
+    ;;
+
+  esac
+
+
+  ###################################################################
+  # If -I (Immediate ONLY) was specified, then do not
+  # make any change to the work copy of the mmfs.cfg file.
+  ###################################################################
+  if [[ -n $immediateOnly ]]
+  then
+    mmfscfgChange=no
+    mmsdrfsModified=no
+    mmfscfgModified=no
+    synchronousNotify=no
+  fi
+
+  ###################################################################
+  # Make the change to the work copy of the mmfs.cfg file.
+  ###################################################################
+  if [[ $mmfscfgChange = yes ]]
+  then
+    if [[ -n $ignoreNodeList ]]
+    then
+      $mmfixcfg "$attr" "$value" <$tmpcfgFile >$newcfg
+    else
+      $mmfixcfg "$attr" "$value" $argcust <$tmpcfgFile >$newcfg
+    fi
+    checkForMmfixcfgErrors "$attr" $?
+    mmfscfgModified=yes
+
+    # Get ready for the next attribute.
+    $cp $newcfg $tmpcfgFile
+    checkForErrors "cp $newcfg $tmpcfgFile" $?
+    mmfscfgChange=no
+  fi   #  end of if [[ $mmfscfgChange = yes ]]
+
+done  # end of main loop
+
+
+# Remove any back-to-back or unnecessary occurrences of [common]
+# and/or [node] headers that were created by mmfixcfg.
+$rm -f $tmpfile
+awk '                                                            \
+  BEGIN {   # Initialize state variables.                        \
+    { headerFound = 0 }                                          \
+    { oldHeader = null }                                         \
+  }                                                              \
+  # Process any [common] or [node] header lines.                 \
+  # If a header line is encountered, we save it until we         \
+  # encounter an attribute line, since we may encounter          \
+  # multiple headers before encountering an attribute.           \
+  # If a header is immediately followed by a header,             \
+  # the 1st header is dropped and the 2nd header is saved.       \
+  # If a new header is encountered and it matches the            \
+  # last header that was output, it is not printed.              \
+  # When an attribute line is encountered immediately after      \
+  # a header, the header and the attribute are printed,          \
+  # provided the header is different than the header in effect.  \
+  #                                                              \
+  /^\[/ {   # A header line was encountered.  Remember it.       \
+    { headerFound = 1 }                                          \
+    { newHeader = $0 }                                           \
+    { next }                                                     \
+  }                                                              \
+  {  # A non-header line was encountered.  Do the right thing.   \
+    if ( headerFound == 1 ) {                                    \
+      if ( newHeader != oldHeader ) {                            \
+        { print newHeader >> "'$tmpfile'" }                      \
+        { oldHeader = newHeader }                                \
+      }                                                          \
+      { print $0 >> "'$tmpfile'" }                               \
+      { headerFound = 0 }                                        \
+    } else {                                                     \
+      { print $0 >> "'$tmpfile'" }                               \
+    }                                                            \
+  }                                                              \
+  END { }                                                        \
+ ' $newcfg
+checkForErrors awk $?
+
+# Use the modified version of the file as the new config file.
+$mv $tmpfile $newcfg
+
+# See if the config file changed as a result of the awk script above.
+# Note that it is not necessary to do this if we know that the file
+# has changed as a result of changing a mmfs.cfg attribute.
+if [[ $mmfscfgModified = no ]]
+then
+  $diff $oldcfgFile $newcfg >/dev/null 2>/dev/null
+  [[ $? -eq 1 ]] && mmfscfgModified=yes
+fi
+
+
+##########################################################
+# Put the new mmfs.cfg information in the mmsdrfs file.
+##########################################################
+if [[ $mmfscfgModified = yes || $mmsdrfsModified = yes ]]
+then
+  # Add the new version of the mmfs.cfg file.  If there were no changes to
+  # parameters that reside in mmfs.cfg, newcfg is the same as oldcfgFile.
+  appendCfgFile $nodesetId $newcfg $newsdrfs
+  checkForErrors "appendCfgFile" $?
+
+  # Sort the new version of the mmsdrfs file.
+  LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+  checkForErrors sort $?
+
+  mmsdrfsModified=yes
+  mmfscfgModified=no
+fi
+
+
+##########################################################
+# Put the new mmsdrfs file into the sdr.
+# This function also updates all local system files.
+##########################################################
+trap "" HUP INT QUIT KILL
+
+if [[ $mmfscfgModified = yes || $mmsdrfsModified = yes ]]
+then
+  gpfsObjectInfo=$(commitChanges  \
+     $nodesetId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer $commitOption)
+  rc=$?
+
+else
+  # Nothing changed.  The user entered an unknown attribute
+  # and bailed out, or maybe it was an immediateOnly command.
+  rc=0
+fi
+
+if [[ $rc -ne 0 ]]
+then
+  # The commit step failed.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+else
+  # Command was successful.
+  if [[ $mmfscfgModified = yes || $mmsdrfsModified = yes ]]
+  then
+    # Generic success message
+    printErrorMsg 272 $mmcmd
+
+  elif [[ -n $immediateOnly ]]
+  then
+    : # Nothing done yet, left for immediate execution
+
+  else
+    # Nothing was changed.
+    printErrorMsg 323 $mmcmd
+    cleanupAndExit 0
+  fi
+fi
+
+# If necessary, update the rest of the nodes while still holding
+# the sdr lock.  This is needed for the changeNodeState request.
+if [[ $synchronousNotify = yes ]]
+then
+  $mmTRACE "synchronous notify starts"
+  if [[ -s $allnodes ]]
+  then
+    propagateSdrfsFile sync $allnodes $newsdrfs $newGenNumber $propagateOptions
+    rc=$?
+  elif [[ -s $nodefile ]]
+  then
+    propagateSdrfsFile sync $nodefile $newsdrfs $newGenNumber $propagateOptions
+    rc=$?
+  else
+    : # nothing to update
+  fi
+  $mmTRACE "synchronous notify ends rc=$rc"
+  checkForErrors "mmcommon propagateSdrfsFile" $rc
+fi
+
+
+###################################################################
+# Unlock the sdr
+###################################################################
+freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+###########################################################################
+# If immediate changes requested, make them.  Screen out success messages.
+###########################################################################
+if [[ -n $immediate ]]
+then
+  if [[ -n $tschpoolParms ]]
+  then
+    $mmcommon onall $nodefile $unreachedNodes  \
+                      tschpool "$tschpoolParms" > $tmpfile 2>&1
+    rc=$?
+    $cat $tmpfile 1>&2 |  \
+    $grep -v -e "6027-749" -e "Pool size changed to"
+  fi
+
+  if [[ $rc -eq 0 && -n $tsctlParms ]]
+  then
+    $mmcommon onall $nodefile $unreachedNodes  \
+                      tsctl "setCfgValue $tsctlParms"
+    rc=$?
+  fi
+
+  if [[ $rc -eq 0 && -n $tsctlParms_onactive ]]
+  then
+    $mmcommon onactive $preferredNode $nodefile                     \
+                       $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+                       tsctl "setCfgValue $tsctlParms_onactive"
+    rc=$?
+  fi
+
+  if [[ $rc -ne 0 ]]
+  then
+    # The -i step failed.
+    printErrorMsg 309 $mmcmd
+  fi
+fi  # end of if [[ -n $immediate ]]
+
+
+####################################################################
+# If not already done, propagate the changes to all affected nodes.
+####################################################################
+[[ $synchronousNotify = yes || -n $immediateOnly ]] &&  \
+  cleanupAndExit 0
+
+if [[ -s $allnodes ]]
+then
+  propagateSdrfsFile async $allnodes $newsdrfs $newGenNumber $propagateOptions
+elif [[ -s $nodefile ]]
+then
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber $propagateOptions
+else
+  :  # nothing to update
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchdisk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchdisk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchdisk	(revision 16)
@@ -0,0 +1,337 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)78 1.40 src/avs/fs/mmfs/ts/admin/mmchdisk.sh, mmfs, avs_rgpfs24, rgpfs240610b 11/11/05 09:29:00
+#########################################################################
+#
+# Usage:
+#   mmchdisk Device {resume | start} -a
+#            [-N {all | mount | Node[,Node...] | NodeFile | NodeClass}]
+# or
+#   mmchdisk Device {suspend | resume | stop | start | change}
+#            -d "DiskDesc[;DiskDesc...]"
+#            [-N {all | mount | Node[,Node...] | NodeFile | NodeClass}]
+#
+#########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmchdisk.sh"
+[[ -n $DEBUG || -n $DEBUGmmchdisk ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local variables
+
+usageMsg=287
+integer rc=0
+integer nodeCount=0
+# argList=""   # argList without quotes around disk list
+# argListQ=""  # argList with quotes around disk list
+
+
+#####################################################################
+# Process the command arguments.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # file system name (always the first parameter)
+action=$arg2     # action to be taken for the disks (always the 2nd parameter) 
+shift 2          # Drop the device name and disk state from the parameter list.
+
+# Parse the optional parameters.  Special care must be taken when creating
+# argList because the disk names in the -d option are separated by the ';'
+# character.  For invocations via mmcommon, the argument lists must be
+# enclosed in quotes.  For direct (local) invocations of tschdisk,
+# the argument lists must not have surrounding quotes.  Detailed checking
+# of supported keywords is left to tschdisk.
+while getopts :ad:N: OPT
+do
+  case $OPT in
+    a) # Change the state of all disks in the file system.
+       [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       [[ -n $dflag ]] &&  \
+         syntaxError "invalidCombination"  $usageMsg "-a" "-d"
+       aflag=yes
+       argList="$action -$OPT"
+       argListQ="$action -$OPT"
+       ;;
+
+    d) # Change the state of the specified disks.
+       [[ -n $dflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       [[ -n $aflag ]] &&  \
+         syntaxError "invalidCombination"  $usageMsg "-a" "-d"
+       diskDescList=$OPTARG
+       dflag=yes
+       [[ "$diskDescList" = *+([,${BLANKchar}${TABchar}])* ]] &&  \
+         syntaxError "badSeparator_notSemicolon" $noUsageMsg
+       argList="$action -$OPT $OPTARG "
+       argListQ="$action -$OPT \"$OPTARG\" "
+       ;;
+
+    N) # Specify the nodes on which to restripe.
+       [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nodeList="$OPTARG"
+       Nflag="-N $OPTARG"
+       ;;
+
+    :) # missing required value after an option
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[adN]) # plus flags are not allowed
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    *) # invalid option specified
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+   esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  We only lock the sdr if mmchdisk
+# was invoked with the change action.
+########################################################################
+if [[ $action = change ]]
+then
+  trap pretrap HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit $lockId)
+else
+  trap pretrap2 HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit nolock)
+fi
+setGlobalVar $? $gpfsInitOutput
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+###################################################################
+# If a keyword or a list of nodes was specified via the -N option,
+# verify the input and add it to the argList and argListQ strings.
+###################################################################
+if [[ -n $Nflag ]]
+then
+  if [[ $nodeList = all || $nodeList = mount ]]
+  then
+    # Add the keyword ("all" or "mount") to the argList and argListQ strings.
+    argList="$argList -N $nodeList "
+    argListQ="$argListQ -N \"$nodeList\" "
+  else
+    # Verify the node list and convert it to a file of daemon node names.
+    createVerifiedNodefile "$nodeList" $DAEMON_NODENAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+
+    # Convert the output data from a file to a comma-separated list.
+    newNodeList=$(print -- $(cat $nodefile) | $sed 's/ /,/g')
+
+    # Add the verified node list to the argList and argListQ strings.
+    argList="$argList -N $newNodeList "
+    argListQ="$argListQ -N \"$newNodeList\" "
+  fi  # end of if [[ $nodeList = all || $nodeList = mount ]]
+fi  # end of if [[ -n $Nflag ]]
+
+
+#######################################################################
+# If the cluster to which this node belongs is the same as the cluster
+# in which the file system resides, invoke the command directly.
+#######################################################################
+if [[ $nsId = $fsHomeCluster ]]
+then
+  ${mmcmdDir}/${links}/mmchdisk $fqDeviceName $argList 2>$errMsg
+  rc=$(remapRC $?)
+
+  # If the command completed successfully, or if there is an
+  # unacceptable error, display any error messages and get out.
+  # If the action was "change", update the mmsdrfs file before exiting.
+  if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+  then
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    if [[ $rc -eq $MM_ConnectionReset ]]
+    then
+      # An internode connection was reset.
+      printErrorMsg 257 $mmcmd
+    fi
+
+    # Update the mmsdrfs file and unlock the sdr if the action was "change".
+    if [[ $action = change ]]
+    then
+      # Reconcile the sdrfs file with the GPFS daemon's view of the filesystem.
+      $cp $mmsdrfsFile $newsdrfs
+      reconcileSdrfsWithDaemon $deviceName $newsdrfs
+      rc2=$?
+      if [[ $rc2 -ne 0 ]]
+      then
+        # reconcileSdrfsWithDaemon failed.
+        printErrorMsg 171 $mmcmd reconcileSdrfsWithDaemon $rc2
+        # Tell the user to run mmcommon recoverfs against the file system.
+        printErrorMsg 190 $mmcmd $deviceName $deviceName
+        cleanupAndExit $rc
+      fi
+
+      # Get the generation number from the version line of the new sdrfs file.
+      versionLine=$($head -1 $newsdrfs)
+      IFS=':'
+      set -f ; set -- $versionLine ; set +f
+      newGenNumber=$6
+      IFS="$IFS_sv"
+
+      # Commit the reconciled version of the sdrfs file to the server
+      # so the admin scripts and the daemon are in sync.
+      trap "" HUP INT QUIT KILL   # Disable interrupts until the commit is done.
+      gpfsObjectInfo=$(commitChanges $fsHomeCluster $nsId $gpfsObjectInfo  \
+                         $newGenNumber $newsdrfs $primaryServer)
+      if [[ $? -ne 0 ]]
+      then
+        # We were unable to replace the file in the sdr.
+        printErrorMsg 381 $mmcmd
+        # Tell the user to run mmcommon recoverfs against the filesystem.
+        printErrorMsg 190 $mmcmd $deviceName $deviceName
+      fi
+
+      # Unlock the sdr.
+      [[ $sdrLocked = yes ]] &&  \
+        freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+      sdrLocked=no
+      trap localPosttrap HUP INT QUIT KILL
+
+      # Propagate the new mmsdrfs file.  This process is asynchronous.
+      propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+    fi  # end of if [[ $action = change ]]
+
+    cleanupAndExit $rc
+
+  fi  # end of if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+
+fi  # end of if [[ $nsId = $fsHomeCluster ]]
+$rm -f $errMsg
+
+
+############################################################################
+# If the local daemon is not available, send the command to an active node.
+############################################################################
+
+# Create a file with the reliable names of the nodes
+# in the cluster to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmchdisk $fqDeviceName "$argListQ"
+rc=$?
+
+# Update the mmsdrfs file and unlock the sdr if the action was "change"
+# and the cluster state allowed the mmchdisk to be attempted.
+if [[ $action = change ]]
+then
+  if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+  then
+    # Reconcile the sdrfs file with the GPFS daemon's view of the filesystem.
+    $cp $mmsdrfsFile $newsdrfs
+    reconcileSdrfsWithDaemon $deviceName $newsdrfs
+    rc2=$?
+    if [[ $rc2 -ne 0 ]]
+    then
+      # reconcileSdrfsWithDaemon failed.
+      printErrorMsg 171 $mmcmd reconcileSdrfsWithDaemon $rc2
+      # Tell the user to run mmcommon recoverfs against the file system.
+      printErrorMsg 190 $mmcmd $deviceName $deviceName
+      cleanupAndExit $rc
+    fi
+
+    # Get the generation number from the version line of the new sdrfs file.
+    versionLine=$($head -1 $newsdrfs)
+    IFS=':'
+    set -f ; set -- $versionLine ; set +f
+    newGenNumber=$6
+    IFS="$IFS_sv"
+
+    # Commit the reconciled version of the sdrfs file to the server
+    # so the admin scripts and the daemon are in sync.
+    trap "" HUP INT QUIT KILL   # Disable interrupts until the commit is done.
+    gpfsObjectInfo=$(commitChanges $fsHomeCluster $nsId $gpfsObjectInfo  \
+                       $newGenNumber $newsdrfs $primaryServer)
+    if [[ $? -ne 0 ]]
+    then
+      # We were unable to replace the file in the sdr.
+      printErrorMsg 381 $mmcmd
+      # Tell the user to run mmcommon recoverfs against the filesystem.
+      printErrorMsg 190 $mmcmd $deviceName $deviceName
+    fi
+
+    # Unlock the sdr.
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+    trap localPosttrap HUP INT QUIT KILL
+
+    # Propagate the new mmsdrfs file.  This process is asynchronous.
+    propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+  else
+    # The cluster state did not allow mmchdisk to run.  Just unlock the sdr.
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+    trap localPosttrap HUP INT QUIT KILL
+
+  fi  # end of if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+
+fi  # end of if [[ $action = change ]]
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcheckquota
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcheckquota	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcheckquota	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tscheckquota
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchecksubsys
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchecksubsys	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchecksubsys	(revision 16)
@@ -0,0 +1,438 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)71 1.112 src/avs/fs/mmfs/ts/admin/mmchecksubsys.sh, mmfs, avs_rgpfs24, rgpfs240610b 10/28/05 01:24:23
+#######################################################################
+#
+# mmchecksubsys is called by mmfsenv.
+# This script verifies that all GPFS system files are at the latest
+# level and then waits indefinitely for the proper conditions to exist
+# for mmfs to come up.  If the conditions do not exist, a message is
+# printed every minute for a while indicating what is being waited for.
+# After so many messages, a larger time interval occurs between messages.
+# The conditions checked for depend on the execution environment.
+#
+#######################################################################
+
+
+#######################################################################
+# If this has not been done yet by the caller, determine the pathname
+# of the mm commands directory and include the global declarations.
+#######################################################################
+if [[ $commandPath != set ]]
+then
+  # Decide where to look for the commands.  The normal install directory
+  # is /usr/lpp/mmfs/bin.  This can be changed by setting the MMFSDIR
+  # environment variable to something other than /usr/lpp/mmfs.
+  # If MMFSDIR is not used, before assuming the default install directory,
+  # we will check if the mmfs binaries are in the same place where this
+  # script resides.  This is a development aid for running out of a build tree.
+  if [[ -n $MMFSDIR ]]
+  then
+    mmcmdDir="${MMFSDIR}/bin"
+  else
+    if [[ -z ${0%%/*} ]]
+    then
+      fullname="$0"
+    else
+      fullname="${PWD%/}/$0"
+    fi
+    progDir=${fullname%/*}
+
+    if [[ -f ${progDir}/mmfs ]]
+    then
+      mmcmdDir="$progDir"
+    else
+      mmcmdDir="/usr/lpp/mmfs/bin"
+    fi
+  fi
+
+  # Determine the values of mmcmdSubdir and mmcmdSuffix.
+  set -f ; set -- $(/bin/uname -a) ; set +f
+  osName=$1
+  osVersion=$4
+  if [[ -f ${mmcmdDir}/mmfs || $osName != AIX || $osVersion < 5 ]]
+  then
+    mmcmdSubdir=""
+    mmcmdSuffix=""
+
+  else
+    # We must be running on top of AIX 5.
+    # Determine whether the current kernel is 64-bit.
+    kernelMode=$(${mmcmdDir}/mmkerninfo)
+    if [[ $kernelMode = 64 ]]
+    then
+      mmcmdSubdir="aix64"
+      mmcmdSuffix="64"
+    else
+      mmcmdSubdir="aix32"
+      mmcmdSuffix=""
+    fi
+  fi
+
+  # Include global declarations and service routines.
+  . ${mmcmdDir}/mmglobfuncs
+  . ${mmcmdDir}/mmsdrfsdef
+  . ${mmcmdDir}/mmfsfuncs
+
+  commandPath=set
+
+fi # end of if [[ $commandPath != set ]]
+
+sourceFile="mmchecksubsys.sh"
+[[ -n $DEBUG || -n $DEBUGmmchecksubsys ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local variables
+
+intervala=10          # 10 6-second intervals is a message per minute.
+intervalb=50          # 50 6-second intervals is a message every 5 minutes.
+integer timeout=1
+integer longwait=5    # Do 5 short waits before starting the long ones.
+rvsd="rvsd"
+havsd="/usr/bin/ha.vsd"
+runningCmnd=""
+rshPath=""
+rcpPath=""
+
+
+# Local routines
+
+
+####################################################################
+#
+# Function:  Compare the release level of the currently-installed
+#            code against the daemon version level for the nodeset.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   0 - success
+#            1 - incompatible release
+#
+####################################################################
+function checkDaemonVersion
+{
+  typeset sourceFile="mmchecksubsys.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckDaemonVersion ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset maxFeatureLevelAllowed
+  typeset recordedProductVersion
+
+  # Determine the value of the maxFeatureLevelAllowed parameter.
+  maxFeatureLevelAllowed=$(showCfgValue maxFeatureLevelAllowed)
+
+  # Warn the user if the current release information for
+  # the node in the mmsdrfs file is not up to date.
+  recordedProductVersion=$(getNodeInfo $PRODUCT_VERSION_Field  \
+           $NODE_NUMBER_Field $ourNodeNumber $nsId $mmsdrfsFile)
+  if [[ $recordedProductVersion != $productVersion ]]
+  then
+    print -u2 "$mmcmd: The release information for this node in the GPFS configuration files is not up to date."
+    print -u2 "     Recorded Release: $recordedProductVersion  Installed Release: $productVersion."
+    print -u2 "     Use the mmchconfig release=LATEST command to update the information."
+    print -u2 "     Processing continues ..."
+  fi
+
+  # If maxFeatureLevelAllowed is not established yet, assume the lowest value.
+  if [[ -z $maxFeatureLevelAllowed ]]
+  then
+    print -u2 "$mmcmd: The GPFS release level for nodeset $nsId cannot be determined (assumed $initialDaemonVersion)."
+    printErrorMsg 344 $mmcmd "\"mmchconfig release=LATEST -C $nsId\""
+    maxFeatureLevelAllowed=$initialDaemonVersion
+  fi
+
+  # Compare the daemon release levels.
+  if [[ $compatibleDaemonVersion -gt $maxFeatureLevelAllowed ]]
+  then
+    rc=1
+    print -u2 "$mmcmd: The GPFS code installed on this node is not compatible with the"
+    print -u2 "     rest of the nodes in nodeset $nsId."
+
+  elif [[ $currentDaemonVersion -lt $maxFeatureLevelAllowed ]]
+  then
+    rc=1
+    print -u2 "$mmcmd: The GPFS code installed on this node is at a lower level than the"
+    print -u2 "     rest of the nodes in nodeset $nsId."
+    print -u2 "$mmcmd: Upgrade the node and run mmchconfig release=LATEST, or"
+    print -u2 "     shutdown GPFS on all nodes and run mmchconfig release=$currentDaemonVersion"
+
+  elif [[ $currentDaemonVersion -gt $maxFeatureLevelAllowed ]]
+  then
+    rc=0
+    print -u2 "$mmcmd: The GPFS code installed on this node is at a higher level than the"
+    print -u2 "     rest of the nodes in nodeset $nsId."
+    print -u2 "$mmcmd: Processing continues but some functionality may not be available."
+    print -u2 "$mmcmd: Upgrade the back level nodes and run mmchconfig release=LATEST"
+
+  else
+    # The node is at the right level.
+    rc=0
+  fi
+
+  return $rc
+
+}  #----------- end of function checkDaemonVersion -------------
+
+
+###########################################################
+#
+#  Mainline processing
+#
+###########################################################
+
+$rm -f $errMsg
+
+# Set up trap exception handling.
+trap pretrap2 HUP INT QUIT KILL
+
+# If not already done by mmautoload, make sure that
+# the GPFS environment is properly initialized.
+if [[ -n $GPFSINIT && $GPFSINIT != '""' ]]
+then
+  # If GPFSINIT is set in mmautoload, strip the surrounding quotes.
+  GPFSINIT=${GPFSINIT#\"}
+  gpfsInitOutput=${GPFSINIT%\"}
+else
+  # Verify the GPFS environment.
+
+  # If AIX, verify there is an mmfs entry in /etc/vfs.
+  # If Linux, figure out what is the correct major number.
+  checkVfsNumber
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    $rm -f $GLOBAL_FILES $LOCAL_FILES
+    return $rc
+  fi
+
+  # If the major number of the /dev entries is incorrect, remove
+  # one of the system files to force the environment to be rebuild.
+  [[ $currentMajorNumber -ne $neededMajorNumber ]] && \
+    $rm -f $mmfscfgFile
+
+  # Make sure that the local copies of the mmsdrfs, mmfs.cfg,
+  # and the rest of the system files are up to date.
+  export MOUNT_POINT_CHECK=all
+  gpfsInitOutput=$(gpfsInit nolock)
+  rc=$?
+  unset MOUNT_POINT_CHECK
+  if [[ -z $gpfsInitOutput || $rc -ne 0 ]]
+  then
+    # The GPFS configuration information is missing.
+    printErrorMsg 195 $mmcmd
+    $rm -f $GLOBAL_FILES $LOCAL_FILES
+    [[ $rc -eq 0 ]] && rc=1
+    return $rc
+  fi
+fi
+
+# Parse the output from the gpfsInit call.
+setGlobalVar 0 $gpfsInitOutput
+
+if [[ $MMMODE != lc && $MMMODE != single ]]
+then
+  # Unknown GPFS cluster type.
+  printErrorMsg 338 $mmcmd $MMMODE
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+  return 1
+fi
+
+# Parse the Gpfs object information.
+IFS=:
+set -f ; set -- $gpfsObjectInfo ; set +f
+runningCmnd=$3
+IFS="$IFS_sv"
+
+
+# Extract needed information from the mmsdrfs file.
+vsdDisk=false
+nonVsdDisk=false
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+  IFS="$IFS_sv"   # Restore the default IFS settings.
+
+  # Extract information from fields in various lines.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $SG_DISKS )
+      if [[ ${v[$NODESETID_Field]} != $FREE_DISK ]]
+      then
+        if [[ ${v[$NSD_SUBTYPE_Field]} = "vsd" ]]
+        then
+          vsdDisk=true
+        else
+          nonVsdDisk=true
+        fi
+      fi
+      ;;
+
+    $SG_ETCFS )
+      if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_Line &&
+            ${v[$ETCFS_TEXT_Field]}  = *automount* ]]
+      then
+        automountMounts=true
+      fi
+      ;;
+
+  esac  # end of "Extract information from fields in various lines"
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+if [[ $nonVsdDisk = false && $vsdDisk = true ]]
+then
+  # If all of the disks are VSD based, normally we will wait for rvsd.
+  # The exception is if the user explicitly set wait4RVSD to 'no'.
+  waitForVsdSubsys=$(showCfgValue wait4RVSD)
+  [[ -z $waitForVsdSubsys ]] && waitForVsdSubsys=yes
+else
+  # If there are non-VSD based disks, we will not wait for rvsd so
+  # that the mounting of the non-VSD based file system can proceed.
+  waitForVsdSubsys=no
+fi
+
+
+##################################################################
+# Ensure mmsdrserv is not running on this node unless it has to.
+##################################################################
+[[ $ourNodeName != $primaryServer && $ourNodeName != $backupServer ]] &&  \
+  killSdrServ >/dev/null 2>&1
+
+
+##############################
+# Start the automount daemon.
+##############################
+if [[ -n $automountMounts ]]
+then
+  # Determine the value of the automountDir parameter.
+  [[ $osName = Linux ]] &&  \
+    automountDir=$(showCfgValue automountDir)
+  [[ -z $automountDir ]] && automountDir=$defaultAutomountDir
+
+  # Start the automount daemon.
+  startAutomounter $automountDir
+
+fi  # end of if [[ $automountMounts = true ]]
+
+
+##############################################################
+# In a single node environment, there is nothing more to do.
+##############################################################
+if [[ $MMMODE = single ]]
+then
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+  return 0
+fi
+
+
+#######################################################
+# Make sure the code level on this node is compatible
+# with code in the rest of the nodes in the nodeset.
+#######################################################
+# checkDaemonVersion
+# rc=$?
+# if [[ $rc -ne 0 ]]
+# then
+#   $rm -f $GLOBAL_FILES $LOCAL_FILES
+#   return $rc
+# fi
+
+
+########################################################
+# Wait until all conditions for daemon startup are met.
+########################################################
+while true
+do
+  if [[ -z $gpfsObjectInfo ]]
+  then
+    # Get the latest Gpfs object via a call to gpfsInit.
+    # This will rebuild the environment if needed.
+    export MOUNT_POINT_CHECK=all
+    gpfsInitOutput=$(gpfsInit nolock 2>$errMsg)
+    rc=$?
+    unset MOUNT_POINT_CHECK
+    if [[ -z $gpfsInitOutput || $rc -ne 0 ]]
+    then
+      # The GPFS configuration information is missing.
+      printErrorMsg 195 $mmcmd 2>> $errMsg
+    else
+      # Parse the GpfsInit output.
+      setGlobalVar 0 $gpfsInitOutput
+
+      # Parse the Gpfs object information.
+      IFS=':'
+      set -f ; set -- $gpfsObjectInfo ; set +f
+      IFS="$IFS_sv"
+      runningCmnd=$3
+    fi  # end of if [[ -z $gpfsInitOutput || $rc -ne 0 ]]
+  fi  # end of if [[ -z $gpfsObjectInfo ]]
+
+  if [[ -z $gpfsObjectInfo ]]
+  then
+    whatfor="cluster data repository"
+  elif [[ -n $runningCmnd ]]
+  then
+    # An mm administration command is in progress.
+    whatfor="$runningCmnd"
+    gpfsObjectInfo=""    # Force gpfsInit to be executed again.
+
+  else
+    # If waitForVsdSubsys is set to 'yes', ensure rvsd is up and ready.
+    if [[ $waitForVsdSubsys = yes && -x $havsd && $osName = AIX &&
+          -z $(LC_ALL=C $lssrc -l -s $rvsd | $fgrep "active=1, state=idle") ]]
+    then
+      # rvsd is up but it is not ready yet.
+      whatfor="rvsd-ready"
+    else
+      # All subsystems seem to be on-line.
+      $rm -f $errMsg
+      break
+    fi  # end of if [[ $waitForVsdSubsys = yes ... ]]
+  fi  # end of if [[ -z $gpfsObjectInfo ]]
+
+  timeout=timeout-1
+  if [[ $timeout -le 0 ]]
+  then
+    # Show detailed error messages if any.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    $rm -f $errMsg
+    # Tell the user what it is that we are waiting for.
+    printErrorMsg 142 $mmcmd "$whatfor"
+    if [[ $longwait -gt 0 ]]
+    then
+       longwait=longwait-1
+       timeout=$intervala
+    else
+       timeout=$intervalb
+    fi
+  fi
+  $sleep 6
+done
+
+$rm -f $GLOBAL_FILES $LOCAL_FILES
+$mmTRACE_EXIT "$MMMODE environment verified rc=0"
+return 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchfileset
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchfileset	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchfileset	(revision 16)
@@ -0,0 +1,286 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)41 1.9.1.1 src/avs/fs/mmfs/ts/admin/mmchfileset.sh, mmfs, avs_rgpfs24, rgpfs24s007a 10/18/06 12:02:51
+################################################################################
+#
+# Usage:
+#   mmchfileset Device {FilesetName | -J JunctionPath}
+#                      {[-j NewFileSetName] [-t Comment]}
+#
+# where:
+#   Device          is the device name of the file system.
+#   FilesetName     is the fileset name.
+#   JunctionPath    is the fileset junction path name.
+#   NewFilesetName  is the new fileset name to be given to an existing fileset.
+#   Comment         is a user-provided description of the fileset.
+#                     The total length cannot exceed 255 characters.
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmchfileset.sh"
+[[ -n $DEBUG || -n $DEBUGmmchfileset ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+usageMsg=514
+
+
+# Local functions
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 3 ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+fqDeviceName="/dev/$deviceName"    # fully-qualified name (with /dev/ prefix)
+
+# The device name must be followed by a fileset name or -J and a junction path.
+if [[ $arg2 = "-J"* ]]
+then
+  junctionName=${arg2#-J}
+  if [[ -z $junctionName ]]
+  then
+    junctionName=$arg3
+    shift 3
+  else
+    shift 2
+  fi
+else
+  filesetName=$arg2
+  checkName filesetName 255 "$filesetName"
+  [[ $? -ne 0 ]] && cleanupAndExit
+  [[ $arg3 = "-J"* ]] &&  \
+    syntaxError "invalidCombination" $usageMsg "-J" "FilesetName"
+  shift 2
+fi
+
+# Process the rest of the parameters.
+while getopts :j:t: OPT
+do
+  case $OPT in
+    j) # New fileset name
+       [[ -n $jflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       jflag="-$OPT"; jarg="$OPTARG"
+       newFilesetName=$jarg
+       checkName filesetName 255 "$newFilesetName"
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    t) # New comment string
+       [[ -n $tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       tflag="-$OPT"; targ="$OPTARG"
+       userComments="$targ"
+       checkName lengthCheckOnly 255 "$userComments"
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    +[jt]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done  # end of while getopts :j:t: OPT do
+shift OPTIND-1
+
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+######################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs file is up-to-date.  There is no need to lock the file.
+######################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+#############################
+# Verify the junction name.
+#############################
+if [[ -n $junctionName ]]
+then
+  # The file system must be mounted.
+  mountPoint=$(findMountpoint $deviceName)
+  if [[ -z $mountPoint ]]
+  then
+    # File system is not mounted.
+    printErrorMsg 552 $mmcmd $device
+    cleanupAndExit
+  fi
+
+  # Find the device ID of the mounted GPFS file system.
+  gpfsDeviceID=$($perl -e '($dev) = stat "'$mountPoint'"; printf "%u", $dev;')
+
+  # Ensure the junction path name is fully qualified.
+  [[ $junctionName != /* ]] && junctionName="${PWD%/}/${junctionName}"
+  junctionName=${junctionName%%/}  # Strip any trailing slashes.
+
+  # Find the device ID and inode number of the junction.
+  # The result is a colon-separated device and inode numbers.
+  junctionDevAndIno=$($perl -e ' ($dev,$ino) = stat "'$junctionName'";
+                                 if ($dev ne "") { printf "%u:%u", $dev,$ino }')
+
+  # The junction must be within the mounted file system.
+  if [[ $gpfsDeviceID != ${junctionDevAndIno%:*} ]]
+  then
+    printErrorMsg 550 $mmcmd "$junctionName" $device
+    cleanupAndExit
+  fi
+
+  # Create the extended junction path name.
+  junctionName="-J /GPFS:${junctionDevAndIno#*:}${junctionName}"
+fi  # end of if [[ -n $junctionName ]]
+
+
+##########################################################################
+# Invoke the tschfileset command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - a junction path name is specified
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the user comment string contains blanks or tabs
+#       (the existing infrastructure cannot deal with imbedded blanks)
+#   - the fileset name (old or new) contains path name expansion triggers
+#   - this is a single node cluster
+##########################################################################
+[[ -n $newFilesetName ]] && newFilesetName="-j $newFilesetName"
+
+set -f
+if [[ -n $userComments ]]
+then
+  $tschfileset $fqDeviceName  \
+    $filesetName $junctionName $newFilesetName -t "$userComments" 2>$errMsg
+  rc=$(remapRC $?)
+else
+  $tschfileset $fqDeviceName  \
+    $filesetName $junctionName $newFilesetName 2>$errMsg
+  rc=$(remapRC $?)
+fi
+set +f
+
+if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ||
+      "$userComments"   = *+([;$BLANKchar$TABchar])*   ||
+      -n $junctionName || $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+#   [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tschfileset" $rc
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+#####################################################################
+# We come here if the local GPFS daemon is not ready for commands.
+# Find an active node and send the command there.
+#####################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+preferredNode=$ourNodeName
+
+# Try the nodes one by one until you find a node that can execute the command.
+if [[ -n $userComments ]]
+then
+  $mmcommon onactive $preferredNode $nodefile     \
+     $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+     tschfileset $fqDeviceName $filesetName $newFilesetName -t "$userComments"
+  rc=$?
+else
+  $mmcommon onactive $preferredNode $nodefile     \
+     $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+     tschfileset $fqDeviceName $filesetName $newFilesetName
+  rc=$?
+fi
+
+# if [[ $rc -ne 0 ]]
+# then
+#   # tschfileset failed.
+#   printErrorMsg 104 $mmcmd tschfileset
+#   cleanupAndExit $rc
+# fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchfs	(revision 16)
@@ -0,0 +1,951 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)18 1.109.1.5 src/avs/fs/mmfs/ts/admin/mmchfs.sh, mmfs, avs_rgpfs24, rgpfs24s006a 8/25/06 13:05:47
+################################################################################
+#
+# Usage:
+#
+#   mmchfs Device [-A {yes | no | automount}] [-D {posix | nfs4}]
+#                 [-E {yes | no}] [-F MaxNumInodes[:NumInodesToPreallocate]]
+#                 [-k {posix | nfs4 | all}] [-m DefaultMetadataReplicas]
+#                 [-o mountOptions] [-Q {yes | no}] [-r DefaultDataReplicas]
+#                 [-K {no | whenpossible | always}]
+#                 [-s {roundRobin | random | balancedRandom}]
+#                 [-S {yes | no}] [-T Mountpoint] [-V] [-z {yes | no}]
+# or
+#   mmchfs Device [-W newDeviceName]
+#
+# where
+#
+#   Device           is the device name of the file system.
+#
+#   -A {yes|no|automount}  Set the automount option.
+#
+#   -D {posix|nfs4}  Indicates whether CIFS deny write locks block NFS writes
+#                      (nfs4) or not (posix)
+#
+#   -E {yes|no}      Enable or disable exact mtime
+#
+#   -F MaxNumInodes[:NumInodesToPreallocate]
+#                    Specify the maximum number of files in the file system.
+#                    Optionally, specify how many inodes to preallocate.
+#
+#   -k {posix|nfs4|all}  Specify the ACL semantics (posix, nfs4, all)
+#
+#   -K {no|whenpossible|always} Replica allocation behavior
+#
+#   -m DefaultMetadataReplicas
+#                    is the default for the current number of replicas
+#                    for metadata.
+#
+#   -o mountOptions  is a comma-separated list of mount options.
+#
+#   -Q {yes|no}      Enable or disable the quota option.
+#
+#   -r DefaultDataReplicas
+#                    is the default for the current number of replicas for data.
+#
+#   -s StripeMethod  is the stripe method.
+#
+#   -S {yes|no}      Enable or disable (suppress) atime.
+#
+#   -T {mountpoint}  Change the mount point to the specified value.
+#
+#   -V               Change the file system to the latest format version.
+#
+#   -W newDeviceName  is the desired new name of the file system.
+#
+#   -z {yes|no}      Enable or disable DMAPI.
+#
+#
+#  Note:  The -s option is undocumented.
+#
+#  Note:  The -C option is obsolete; use mmexportfs/mmimportfs instead.
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmchfs.sh"
+[[ -n $DEBUG || -n $DEBUGmmchfs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+integer n
+usageMsg=421
+
+
+# Local functions
+
+
+###########################################################
+# This function is called if there is an interrupt after
+# mmsdrfs changes are committed but before ts changes are.
+###########################################################
+function localPosttrap
+{
+  if [[ -n $mmsdrfsParms ]]
+  then
+    # Interrupt received:  only -A, -Q, and -T changed.
+    printErrorMsg 33 $mmcmd
+  else
+    # Interrupt received:  no changes made.
+    printErrorMsg 20 $mmcmd
+  fi
+  $mmTRACE_EXIT "rc=2"
+  cleanupAndExit 2
+}
+
+
+###########################################################################
+#
+# Function:  Process the specified mount options string.
+#            Provide default values for missing options.
+#            This function is called if the -o flag is specified.
+#
+# Input:     $1 - A comma-separated list of mount options.
+#
+# Output:    Colon-separated string containing the fields:
+#              rwOption:mtimeOption:atimeOption:quotaOptions:otherOptions:
+#
+# Returns:   0 - success
+#            1 - error encountered
+#
+###########################################################################
+function parseMountOptions   # <optionsString>
+{
+  typeset sourceFile="mmchfs.sh"
+  [[ -n $DEBUG || -n $DEBUGparseMountOptions ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset optionsString=$1
+
+  typeset rc=0
+  typeset rwOption=""
+  typeset mtimeOption=""
+  typeset atimeOption=""
+  typeset quotaOptions=""
+  typeset otherOptions=""
+
+
+  # Parse the options string looking for certain options.
+  # All other options are simply passed through.
+  IFS=","
+  for option in $optionsString
+  do
+    case $option in
+
+      rw | ro | rs )
+        [[ $option = rs ]] && option=ro
+        rwOption=$option
+        ;;
+
+      atime* | noatime )
+        if [[ $option = atime || $option = "atime=1" || $option = "atime=yes" ]]
+        then
+          atimeOption=atime
+        elif [[ $option = noatime || $option = "atime=0" || $option = "atime=no" ]]
+        then
+          atimeOption=noatime
+        else
+          print -u2 "$mmcmd:  Invalid mount option specified: $option."
+          return 1
+        fi
+        ;;
+
+      mtime* | nomtime )
+        if [[ $option = mtime || $option = "mtime=1" || $option = "mtime=yes" ]]
+        then
+          mtimeOption=mtime
+        elif [[ $option = nomtime || $option = "mtime=0" || $option = "mtime=no" ]]
+        then
+          mtimeOption=nomtime
+        else
+          print -u2 "$mmcmd:  Invalid mount option specified: $option."
+          return 1
+        fi
+        ;;
+
+      syncnfs* | nosyncnfs )
+        if [[ $option = syncnfs || $option = "syncnfs=1" || $option = "syncnfs=yes" ]]
+        then
+          otherOptions="${otherOptions},syncnfs"
+        elif [[ $option = nosyncnfs || $option = "syncnfs=0" || $option = "syncnfs=no" ]]
+        then
+          otherOptions="${otherOptions},nosyncnfs"
+        else
+          print -u2 "$mmcmd:  Invalid mount option specified: $option."
+          return 1
+        fi
+        ;;
+
+      *quota* )
+        quotaOptions="${quotaOptions};$option"
+        ;;
+
+      *rootSquash* )
+        :       # Do nothing; root squash is controlled with mmauth grant.
+        ;;
+
+      * )
+        otherOptions="${otherOptions},$option"
+        ;;
+
+    esac  # end of case $option in
+  done  # end of for option in $optionsString do
+  IFS="$IFS_sv"
+
+  quotaOptions="${quotaOptions##+(;)}"   # Strip leading  semicolons, if any.
+  quotaOptions="${quotaOptions%%+(;)}"   # Strip trailing semicolons, if any.
+  otherOptions="${otherOptions##+(,)}"   # Strip leading  commas, if any.
+  otherOptions="${otherOptions%%+(,)}"   # Strip trailing commas, if any.
+
+  # Output the results and return.
+  print -- "$rwOption:$mtimeOption:$atimeOption:$quotaOptions:$otherOptions:"
+
+  $mmTRACE_EXIT "rc=$rc"
+  return $rc
+
+}  #------ end of function parseMountOptions -----------------
+
+
+
+######################
+# Mainline processing
+######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+shift 1          # Drop the device name from the parameter list.
+
+# Process the individual arguments and the values associated with them.
+while getopts :A:C:D:E:F:k:K:m:o:Q:r:s:S:T:W:z:V OPT
+do
+  case $OPT in
+
+    A) [[ -n $Aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Aflag="-$OPT"; Aarg=$OPTARG;
+       [[ $Aarg != yes && $Aarg != no && $Aarg != automount ]] &&  \
+         syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+       if [[ $Aarg = yes ]]
+       then
+         Aarg=mmfs
+       elif [[ $Aarg = no ]]
+       then
+         Aarg=false
+       else
+         :  # It must be "automount".
+       fi
+       # Add -A to the list of parameters not handled by the daemon.
+       if [[ -z $mmsdrfsParms ]]
+       then
+         mmsdrfsParms="-$OPT"
+       else
+         mmsdrfsParms="${mmsdrfsParms}, -$OPT"
+       fi
+       ;;
+
+    C) syntaxError "obsoleteOption" $usageMsg "-$OPT"
+       ;;
+
+    D) [[ -n $Dflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Dflag="-$OPT"; Darg=$OPTARG;
+       [[ $Darg != nfs4 && $Darg != posix ]] &&  \
+         syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+       # Add -D to the list of parameters handled by tschfs.
+       tschfsParms="${tschfsParms} $Dflag $Darg"
+       ;;
+
+    E) [[ -n $Eflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Eflag="-$OPT"; Earg=$OPTARG;
+       [[ $Earg != yes && $Earg != no ]] &&  \
+         syntaxError "YesNoValue" $noUsageMsg "-$OPT"
+       # Add -E to the list of parameters not handled by the daemon.
+       if [[ -z $mmsdrfsParms ]]
+       then
+         mmsdrfsParms="-$OPT"
+       else
+         mmsdrfsParms="${mmsdrfsParms}, -$OPT"
+       fi
+       if [[ $Earg = yes ]]
+       then
+         Earg="mtime"
+       else
+         Earg="nomtime"
+       fi
+       callResetEFOptions=yes
+       ;;
+
+    F) [[ -n $Fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Fflag="-$OPT"; Farg=$OPTARG;
+       ;;
+
+    k) [[ -n $kflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       kflag="-$OPT"; karg=$OPTARG;
+       [[ $karg != posix && $karg != nfs4 && $karg != all ]] &&  \
+         syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+       # Add -k to the list of parameters handled by tschfs.
+       tschfsParms="${tschfsParms} $kflag $karg"
+       ;;
+
+    K) [[ -n $Kflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Kflag="-$OPT"; Karg=$OPTARG;
+       [[ $Karg != no && $Karg != whenpossible && $Karg != always ]] &&  \
+         syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+       # Add -K to the list of parameters handled by tschfs.
+       tschfsParms="${tschfsParms} $Kflag $Karg"
+       ;;
+
+    m) [[ -n $mflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       mflag="-$OPT"; marg=$OPTARG;
+       # Ensure that marg is an integer, and that its value is 1 or 2.
+       n=$(checkIntRange $mflag $marg 1 2)
+       [[ $? -ne 0 ]] && cleanupAndExit
+       # Add -m to the list of parameters handled by tschfs.
+       tschfsParms="${tschfsParms} $mflag $marg"
+       ;;
+
+    o) [[ -n $oflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       oflag="-$OPT"; oarg=$OPTARG;
+       [[ -z $oarg ]] && oarg=DELETE
+       # Add -o to the list of parameters not handled by the daemon.
+       if [[ -z $mmsdrfsParms ]]
+       then
+         mmsdrfsParms="-$OPT"
+       else
+         mmsdrfsParms="${mmsdrfsParms}, -$OPT"
+       fi
+       callResetEFOptions=yes
+       ;;
+
+    Q) [[ -n $Qflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Qflag="-$OPT"; Qarg=$OPTARG;
+       [[ $Qarg != yes && $Qarg != no ]] &&  \
+         syntaxError "YesNoValue" $noUsageMsg "-$OPT"
+       # Add -Q to the list of parameters not handled by the daemon.
+       if [[ -z $mmsdrfsParms ]]
+       then
+         mmsdrfsParms="-$OPT"
+       else
+         mmsdrfsParms="${mmsdrfsParms}, -$OPT"
+       fi
+       if [[ $Qarg = yes ]]
+       then
+         Qarg=$QUOTA_ACTIVATED
+       else
+         Qarg=DELETE
+       fi
+       callResetEFOptions=yes
+       ;;
+
+    r) [[ -n $rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       rflag="-$OPT"; rarg=$OPTARG;
+       # Ensure that rarg is an integer, and that its value is 1 or 2.
+       n=$(checkIntRange $rflag $rarg 1 2)
+       [[ $? -ne 0 ]] && cleanupAndExit
+       # Add -r to the list of parameters handled by tschfs.
+       tschfsParms="${tschfsParms} $rflag $rarg"
+       ;;
+
+    s) [[ -n $sflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       sflag="-$OPT"; sarg=$OPTARG;
+       # Let tschfs validate the argument.
+       # Add -s to the list of parameters handled by tschfs.
+       tschfsParms="${tschfsParms} $sflag $sarg"
+       ;;
+
+    S) [[ -n $Sflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Sflag="-$OPT"; Sarg=$OPTARG;
+       [[ $Sarg != yes && $Sarg != no ]] &&  \
+         syntaxError "YesNoValue" $noUsageMsg "-$OPT"
+       # Add -S to the list of parameters not handled by the daemon.
+       if [[ -z $mmsdrfsParms ]]
+       then
+         mmsdrfsParms="-$OPT"
+       else
+         mmsdrfsParms="${mmsdrfsParms}, -$OPT"
+       fi
+       if [[ $Sarg = yes ]]
+       then
+         Sarg="noatime"
+       else
+         Sarg="atime"
+       fi
+       callResetEFOptions=yes
+       ;;
+
+    T) [[ -n $Tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Tflag="-$OPT"; Targ=$OPTARG;
+       # Ensure the pathname starts with a slash.
+       [[ $Targ = ${Targ#/} ]] &&  \
+         syntaxError "absolutePath" $noUsageMsg $Targ
+       # Add -T to the list of parameters not handled by the daemon.
+       if [[ -z $mmsdrfsParms ]]
+       then
+         mmsdrfsParms="-$OPT"
+       else
+         mmsdrfsParms="${mmsdrfsParms}, -$OPT"
+       fi
+       callResetEFOptions=yes
+       ;;
+
+    V) [[ -n $Vflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Vflag="-$OPT";
+       # Add -V to the list of parameters handled by tschfs.
+       tschfsParms="${tschfsParms} $Vflag"
+       ;;
+
+    W) # If specified, W must be the only option.
+       [[ $argc -gt 3 ]] && syntaxError "help" $usageMsg
+       Wflag="-$OPT"; Warg=$OPTARG;
+       checkName deviceName 255 "$Warg"
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    z) [[ -n $zflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       zflag="-$OPT"; zarg=$OPTARG;
+       [[ $zarg != yes && $zarg != no ]] &&  \
+         syntaxError "YesNoValue" $noUsageMsg "-$OPT"
+       # Add -z to the list of parameters handled by tschfs.
+       tschfsParms="${tschfsParms} $zflag $zarg"
+       ;;
+
+     +[ACDEFkKmoQrsSTVWz]) # Invalid option.
+        syntaxError "invalidOption" $usageMsg $OPT
+        ;;
+
+     :) # Missing argument.
+        syntaxError "missingValue" $usageMsg $OPTARG
+        ;;
+
+     *) # Invalid option.
+        syntaxError "invalidOption" $usageMsg $OPTARG
+        ;;
+   esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# Parse and process the -o value if it was specified.
+# This can result in prior values for Earg, Qarg, and Sarg
+# being overridden.
+if [[ $oarg = DEFAULT || $oarg = DELETE ]]
+then
+  # Set the default mount options; leave the quota setting alone.
+  sgRW_OPT_Value="rw"
+  Earg="mtime"
+  Sarg="atime"
+  oarg=DELETE
+elif [[ -n $oarg ]]
+then
+  # Parse the mount options and set variables to be used later.
+  parseMountOptionsOutput=$(parseMountOptions $oarg)
+  [[ $? -ne 0 ]] && cleanupAndExit
+  IFS=":"
+  set -f ; set -- $parseMountOptionsOutput ; set +f
+  [[ -n $1 ]] && sgRW_OPT_Value=$1
+  [[ -n $2 ]] && Earg=$2
+  [[ -n $3 ]] && Sarg=$3
+  [[ -n $4 ]] && Qarg=$4
+  oarg=$5
+  IFS="$IFS_sv"
+fi  # end of if [[ $oarg = DEFAULT || $oarg = DELETE ]]
+
+# Process the -F value.  Verify it is of the form NumInodes[:NumInodesToPreallocate]
+if [[ -n $Farg ]]
+then
+  IFS=":"
+  set -f ; set -- $Farg ; set +f
+  numInodes=$1
+  numInodesToPreallocate=$2
+  IFS="$IFS_sv"
+
+  [[ -z $numInodes ]] &&  \
+    syntaxError "invalidOption" $usageMsg "$Fflag $Farg"
+
+  n=$(checkIntRange $Fflag $numInodes)
+  [[ $? -ne 0 ]] && cleanupAndExit
+  Farg=$n
+
+  if [[ -n $numInodesToPreallocate && $numInodesToPreallocate != 0 ]]
+  then
+    n=$(checkIntRange $Fflag $numInodesToPreallocate)
+    [[ $? -ne 0 ]] && cleanupAndExit
+    Farg="${Farg}:$n"
+  fi
+
+  # Add -F to the list of parameters handled by tschfs.
+  tschfsParms="${tschfsParms} $Fflag $Farg"
+fi  # end of if [[ -n $Farg ]]
+
+
+###########################################################
+# If the request is to rename the file system (-W option),
+# invoke the mmmvfs script.
+###########################################################
+if [[ -n $Wflag ]]
+then
+  $mmmvfs $device $Wflag $Warg
+  cleanupAndExit $?
+fi
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#####################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+###############################################################################
+# Go through the mmsdrfs file.  If changing parameters that are kept in the file,
+# create a new version of the file.  It will have a new generation number and
+# the appropriate parameters in the SG_ETCFS and/or SG_MOUNT lines will be
+# set to their new values.  Simultaneously, create a file with the names of
+# the nodes that belong to the cluster.  This file will be used later for
+# propagating the changes to the individual nodes and for finding a node
+# on which to execute the tschfs command if needed.
+###############################################################################
+$rm -f $newsdrfs $nodefile $allQuorumNodes
+existingMountPoints=""
+IFS=":"         # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+       # Increment the generation number.
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+
+       ourClusterName=${v[$CLUSTER_NAME_Field]}
+       ;;
+
+    $NODESET_HDR )  # This is the header line for some cluster.
+       # If this is our cluster, save the release level information.
+       if [[ ${v[$NODESETID_Field]} = $fsHomeCluster ]]
+       then
+         lowestVersion=${v[$MIN_DAEMON_VERSION_Field]}
+         highestVersion=${v[$MAX_DAEMON_VERSION_Field]}
+       fi
+       ;;
+
+    $MEMBER_NODE )  # This line describes a node.
+       # Add the reliable node name to nodefile.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+       checkForErrors "writing to file $nodefile" $?
+
+       # Create a list of the quorum nodes.
+       if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+       then
+         print -- "${v[$REL_HOSTNAME_Field]}" >> $allQuorumNodes
+         checkForErrors "writing to file $allQuorumNodes" $?
+       fi
+
+       # If this is the line for the node that is executing
+       # this command, set the preferredNode variable.
+       [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+         preferredNode=${v[$REL_HOSTNAME_Field]}
+       ;;
+
+    $SG_ETCFS )  # This is an /etc/filesystem line.
+       # The processing of the SG_ETCFS lines will depend
+       # on the options that were specified on the mmchfs command.
+
+       if [[ -n $Targ && ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line ]]
+       then
+         # We are changing the mount point and this
+         # is a mount point line for some file system.
+         # If this is the mount point for our file system,
+         # set it to the new value.  Otherwise, add it to
+         # the list of existing mount points.
+         if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+         then
+           oldMountPoint=${v[$ETCFS_TEXT_Field]}
+           v[$ETCFS_TEXT_Field]=$Targ
+           fsMustNotBeMounted=yes
+           [[ $mountCheckScope != $CHECK_ALL ]] &&  \
+              mountCheckScope=$ourClusterName
+         else
+           existingMountPoints="$existingMountPoints ${v[$ETCFS_TEXT_Field]}"
+         fi
+       fi  # end if [[ -n $Targ && ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line ]]
+
+       if [[ -n $Aarg && ${v[$LINE_NUMBER_Field]} = $MOUNT_Line ]]
+       then
+         # We are changing the automount option and
+         # this is a mount line for some file system.
+
+         # See if any file system requires the system automounter.
+         [[ ${v[$ETCFS_TEXT_Field]}  = *automount* ]] &&  \
+           automountMounts=true
+
+         # If this is the mount line for our file system,
+         # set the new value for the mount option.
+         if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+         then
+           # If switching to or from automount the file system must be unmounted.
+           if [[ $Aarg = automount || ${v[$ETCFS_TEXT_Field]} = *automount* ]]
+           then
+             fsMustNotBeMounted=yes
+             [[ $mountCheckScope != $CHECK_ALL ]] &&  \
+                mountCheckScope=$ourClusterName
+           fi
+
+           # Set the new value for the mount option.
+           v[$ETCFS_TEXT_Field]="$MOUNT_Line_Prefix$Aarg"
+         fi  # end of if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       fi  # end if [[ -n $Aarg && ${v[$LINE_NUMBER_Field]} = $MOUNT_Line ]]
+       ;;
+
+    $SG_MOUNT )  # This line describes stripe group mount options.
+
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       then
+         # Change mount options for our file system.
+
+         [[ -n $Earg ]] && v[$MTIME_OPT_Field]=$Earg
+
+         if [[ -n $Qarg ]]
+         then
+           fsMustNotBeMounted=yes
+           mountCheckScope=$CHECK_ALL
+           if [[ $Qarg = DELETE ]]
+           then
+             v[$QUOTA_OPT_Field]=$QUOTA_DISACTIVATED
+           else
+             v[$QUOTA_OPT_Field]=$Qarg
+           fi
+         fi
+
+         [[ -n $Sarg ]] && v[$ATIME_OPT_Field]=$Sarg
+
+         if [[ -n $oarg ]]
+         then
+           if [[ $oarg = DELETE ]]
+           then
+             v[$OTHER_OPT_Field]=""
+           else
+             v[$OTHER_OPT_Field]=$oarg
+           fi
+         fi
+
+         [[ -n $sgRW_OPT_Value ]] && v[$RW_OPT_Field]=$sgRW_OPT_Value
+
+       fi  # end of if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+  esac  # end Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  print_newLine >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+# If the mount point was changed, make sure that the new mount point
+# is not already used by some other file system and that the file system
+# is not mounted anywhere.
+if [[ -n $Targ ]]
+then
+  for mpnt in $existingMountPoints
+  do
+    if [[ $mpnt = $Targ ]]
+    then
+      # There is already an existing filesystem using this mountpoint.
+      printErrorMsg 107 $mmcmd $Targ
+      cleanupAndExit
+    fi
+  done
+fi  # end if [[ -n $Targ ]]
+
+# If necessary, ensure that the file system is not mounted.
+if [[ -n $fsMustNotBeMounted ]]
+then
+  $mmcommon onactive $preferredNode $nodefile $NO_FILE_COPY  \
+     $fqDeviceName $mountCheckScope $NO_LINK $MOUNT_CHECK_ONLY 2>$errMsg
+  rc=$?
+  if [[ $rc -eq $MM_FsMounted ]]
+  then
+    # File system is still mounted (messages were issued by mmcommon).
+    cleanupAndExit $rc
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on all nodes that we care about.
+    rc=0
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+    cleanupAndExit $rc
+  elif [[ $rc -ne 0 ]]
+  then
+    # An unexpected error occurred during the mount check.
+    if [[ -s $errMsg ]]
+    then
+      # Show the error messages from the daemon.
+      $cat $errMsg 1>&2
+    else
+      # The mount check failed and there were no messages from the daemon.
+      printErrorMsg 171 $mmcmd "mount check for $fqDeviceName" $rc
+    fi
+    # The command was unable to determine whether the file system is mounted.
+    printErrorMsg 564 $mmcmd $fqDeviceName
+    cleanupAndExit $rc
+  fi  # end if [[ $rc -eq $MM_FsMounted ]]
+  $rm -f $errMsg
+fi  # end if [[ -n $fsMustNotBeMounted ]]
+
+# If this is the first automountable GPFS file system,
+# run the automount command on the nodes in the cluster.
+if [[ $Aarg = "automount" && -z $automountMounts ]]
+then
+  # Determine the value of the automountDir parameter.
+  automountDir=$(showCfgValue automountDir)
+  [[ -z $automountDir ]] && automountDir=$defaultAutomountDir
+
+  # Run the automount command on the nodes on which GPFS is active.
+  # On nodes that do not have GPFS running right now, this will be
+  # done by the mmchecksubsys processing when the daemon is started.
+  $mmcommon onactive $preferredNode $nodefile        \
+      $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK    \
+      tsdsh $mmremote startAutomounter $automountDir >$tmpfile 2>&1
+  rc=$?
+
+  # Ignore errors but show messages from the nodes, if any.
+  if [[ $rc -ne 0 && $rc -ne $MM_DaemonDown && -s $tmpfile ]]
+  then
+    $awk '                             \
+      # Skip the lines with rc values. \
+      $2 == "rc" { next }              \
+      # Print everything else.         \
+      { print $0 }                     \
+    ' $tmpfile
+  fi  # end of if [[ -s $tmpfile ]]
+fi  # end of if [[ $Aarg = "automount" && -z $automountMounts ]]
+
+# If changing the file system to the latest format version (-V),
+# verify that all nodes are running the same level of code.
+# if [[ -n $Vflag ]]
+# then
+#   VflagAllowed=no  # Assume the worst.
+#
+#   # First look at the current information in the mmsdrfs file.
+#   if [[ $lowestVersion -ne $highestVersion ]]
+#   then
+#     # -V requires all nodes to be at the same level.
+#     printErrorMsg 583 $mmcmd
+#     cleanupAndExit
+#   fi  # end if [[ $lowestVersion -ne $highestVersion ]]
+#
+#   # According to the mmsdrfs file, all nodes are at the same level.
+#   # Verify that this is indeed the case at least on the nodes
+#   # on which the GPFS daemon is currently running.
+#   getCodeRangeOutput=$($mmcommon onactive $preferredNode $nodefile  \
+#     $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK mmremote getCodeRange)
+#   rc=$?
+#   if [[ -z $getCodeRangeOutput || $rc -ne 0 ]]
+#   then
+#     # Something went wrong with the mmcommon call.
+#     [[ $rc -eq 0 ]] && rc=1
+#     if [[ -n $getCodeRangeOutput ]]
+#     then
+#       # If there was some output, assume it is an error message.
+#       # Filter out the standard output strings, if any.
+#       print -- "$getCodeRangeOutput" | $grep -v "getCodeRange:" 1>&2
+#     else
+#       # Otherwise, output the generic unexpected error message.
+#       printErrorMsg 171 "$mmcmd" "mmcommon onactive mmremote getCodeRange" $rc
+#     fi
+#
+#   else
+#     # The mmcommon call seems to have worked.  Parse the results.
+#     IFS=":"
+#     set -f ; set -- $getCodeRangeOutput ; set +f
+#     kword=$1
+#     rc=$2
+#     status=$3
+#     maxDaemonVersion=$4
+#     minDaemonVersion=$5
+#     IFS="$IFS_sv"
+#
+#     if [[ $kword = getCodeRange && $status = complete ]]
+#     then
+#       if [[ $minDaemonVersion = $maxDaemonVersion ]]
+#       then
+#         VflagAllowed=yes
+#       else
+#         # -V requires all nodes to be at the same level.
+#         printErrorMsg 583 $mmcmd
+#       fi
+#     else
+#       # Otherwise, output the generic unexpected error message.
+#       printErrorMsg 171 "$mmcmd" "mmcommon onactive mmremote getCodeRange" $rc
+#     fi  # end if [[ $kword = getCodeRange && $status = complete ]]
+#   fi  # end if [[ -z $getCodeRangeOutput || $rc -ne 0 ]]
+#
+#   # If we were not able to convince ourselves that it is OK
+#   # to procede with the -V call, give up.
+#   [[ $VflagAllowed = no ]] && cleanupAndExit
+#
+# fi  # end if [[ -n $Vflag ]]
+
+
+#######################################################
+# Change parameters that are kept in the mmsdrfs file.
+#######################################################
+if [[ -n $mmsdrfsParms ]]
+then
+  # Put the mmsdrfs file into the sdr.
+  trap "" HUP INT QUIT KILL
+  gpfsObjectInfo=$(commitChanges $fsHomeCluster $nsId  \
+                      $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # Cannot replace file in the sdr.
+    printErrorMsg 381 $mmcmd
+    cleanupAndExit
+  fi
+
+  # Unlock the sdr.
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+  trap localPosttrap HUP INT QUIT KILL
+
+  # If necessary, tell the daemon to invalidate its currently-cached
+  # mount options.
+  if [[ -n $callResetEFOptions ]]
+  then
+    $mmcommon onactive $preferredNode $allQuorumNodes  \
+                       $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+                       tsctl resetEFOptions $fqDeviceName > $errMsg 2>&1
+    rc=$?
+    [[ $rc = $MM_DaemonDown ]] && rc=0
+    [[ $rc -ne 0 && -s $errMsg ]] && cat $errMsg 2>&1
+    $rm -f $errMsg
+  fi
+
+  # If the mount point changed, remove the old mount point.
+  [[ -n $oldMountPoint && $Targ != $oldMountPoint ]] &&  \
+    propagateOptions="rmdir$oldMountPoint"
+
+  # Make the changes visible to the affected nodes.  Note that when
+  # changing the mount point or mount options, there is a window during
+  # which different nodes may see different mount points and/or options.
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber $propagateOptions
+
+fi  # end if [[ -n $mmsdrfsParms ]]
+
+
+############################################################
+# If changes are requested that need to be handled by GPFS,
+# run the tschfs command on an active daemon.
+############################################################
+if [[ -n $tschfsParms && $tschfsParms != +( ) ]]
+then
+  $mmcommon onactive $preferredNode $nodefile  \
+                     $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+                     tschfs $fqDeviceName $tschfsParms
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    if [[ -n $mmsdrfsParms ]]
+    then
+      # The tschfs step failed.  Some parameters changed.
+      printErrorMsg 318 $mmcmd tschfs "$mmsdrfsParms"
+    else
+      # The tschfs step failed.
+      printErrorMsg 104 $mmcmd tschfs
+    fi
+    cleanupAndExit
+  fi
+fi  # end of if [[ -n $tschfsParms && $tschfsParms != +( ) ]]
+
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig && -n $mmsdrfsParms ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+$mmTRACE_EXIT "rc=0"
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchmgr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchmgr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchmgr	(revision 16)
@@ -0,0 +1,151 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)79 1.28 src/avs/fs/mmfs/ts/admin/mmchmgr.sh, mmfs, avs_rgpfs24, rgpfs240610b 6/20/05 12:50:49
+#######################################################################
+#
+# Usage:  mmchmgr Device [ToNode]
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmchmgr.sh"
+[[ -n $DEBUG || -n $DEBUGmmchmgr ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local variables
+usageMsg=304
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+argList=$@       # Save the remainder of the argument list.
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+if [[ $MMMODE = single ]]
+then
+  # Command currently not valid for cluster type single.
+  printErrorMsg 376 $mmcmd single
+  cleanupAndExit
+fi
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+###########################################################
+# If a node was specified, make sure that it is valid
+# and convert it if necessary to a daemon node name.
+###########################################################
+if [[ -n $argList ]]
+then
+  nodeName=$(checkAndConvertNodeValue $argList $DAEMON_NODENAME_Field)
+  [[ $? -ne 0 ]] && cleanupAndExit
+  argList=$nodeName
+fi  # end of if [[ -n $argList ]]
+
+
+##########################################################
+# If the cluster to which this node belongs is the same
+# as the cluster in which the file system resides,
+# invoke the command directly.
+##########################################################
+if [[ $nsId = $fsHomeCluster ]]
+then
+  ${mmcmdDir}/${links}/mmchmgr $fqDeviceName $argList 2>$errMsg
+  rc=$(remapRC $?)
+
+  # If the command completed successfully, or if there is an
+  # unacceptable error, display any error messages and get out.
+  if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+  then
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    if [[ $rc -eq $MM_ConnectionReset ]]
+    then
+      # An internode connection was reset.
+      printErrorMsg 257 $mmcmd
+    fi
+    cleanupAndExit $rc
+  fi
+fi
+$rm -f $errMsg
+
+
+###################################################
+# If the local daemon is not available,
+# find an active node and send the command there.
+###################################################
+
+# Create a file with the reliable names that form
+# the cluster to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmchmgr $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchnsd
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchnsd	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchnsd	(revision 16)
@@ -0,0 +1,478 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2001,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)10 1.39.1.2 src/avs/fs/mmfs/ts/admin/mmchnsd.sh, mmfs, avs_rgpfs24, rgpfs24s005a 6/14/06 14:39:52
+###############################################################################
+#
+#  Usage:
+#    mmchnsd {"DiskDesc[;DiskDesc...]" | -F DescFile}
+#
+#  where
+#    DiskDesc       is a descriptor for the disk to be changed
+#    -F DescFile    specifies a file containing the disk descriptors for
+#                   the network shared disks to be changed
+#
+#  Notes:
+#         You cannot change the name of a disk.
+#
+#         Changing the failure group and disk usage is a no-op for mmchnsd.
+#         Instead, use the mmchdisk command for this purpose.
+#
+#         You must explicitly specify the desired new values
+#         for both primary and backup server even if changing
+#         only one of them.
+#
+#         The following operations are allowed:
+#
+#         - Changing the primary and/or backup server for a disk.
+#
+#         - Defining a backup server for a disk that up to this
+#           moment did not have one.
+#
+#         - Deleting the backup server for a disk.
+#
+#         - Removing the primary and backup servers for a disk,
+#           thereby converting it to a directly-attached disk.
+#
+#         - Assigning a primary and an optional backup server to
+#           a directly-attached disk.
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmchnsd.sh"
+[[ -n $DEBUG || -n $DEBUGmmchnsd ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+descfile=${tmpDir}descfile.${mmcmd}.$$
+existingDisks=${tmpDir}existingDisks.${mmcmd}.$$
+affectedFileSystems=${tmpDir}affectedFileSystems.${mmcmd}.$$
+
+LOCAL_FILES=" $descfile $existingDisks $affectedFileSystems "
+
+
+# Local variables
+usageMsg=438
+noUsageMsg=0
+hadSuccess=false
+
+
+
+######################
+# Mainline processing
+######################
+
+
+######################################
+# Process the command line arguments.
+######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+if [[ $arg1 != "-F" ]]
+then
+  # If the first argument is not -F, it must be a disk descriptor list.
+  desclist=$arg1
+  # Ensure that semi-colon is used as a disk name separator.
+  [[ "$desclist" = *+([,${BLANKchar}${TABchar}])* ]] &&  \
+    syntaxError "badSeparator_notSemicolon" $noUsageMsg
+else
+  # -F specified.  The second argument must be a file name.
+  if [[ -z $arg2 ]]
+  then
+    syntaxError "missingFile" $usageMsg
+  else
+    # Verify the existence of the file and create our own copy.
+    checkUserFile $arg2 $descfile
+    [[ $? -ne 0 ]] && cleanupAndExit
+    shift
+  fi  # end of if [[ -z $arg2 ]]
+fi  # end of if [[ $arg1 != "-F" ]]
+
+# Move past the required parameters.
+shift 1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#####################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+###########################################################
+# If a descriptor list is specified on the command line,
+# create a file with one disk descriptor per line.
+# Note: If the input is in a file, descfile was created
+#       by the checkUserFile function.
+###########################################################
+if [[ -n $desclist ]]
+then
+  # Move the descriptors into a temporary file.
+  $rm -f $descfile
+  IFS=";"
+  for diskDesc in $desclist
+  do
+    [[ -z $diskDesc ]] && continue
+    print -- "$diskDesc" >> $descfile
+    checkForErrors "writing to file $descfile" $?
+  done  # end for diskDesc in $desclist
+  IFS="$IFS_sv"
+fi  # end of if [[ -n $desclist ]]
+
+
+#########################################################################
+# Create a new version of the mmsdrfs file with a new generation number.
+# Generate a file containing the names of the nodes in the cluster.
+# Generate files containing the nodes in the different nodesets.
+#########################################################################
+$rm -f $nodefile $newsdrfs $existingDisks
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+
+  printLine=true   # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # this is the global header line
+      # Increment the generation number
+      newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+      v[$SDRFS_GENNUM_Field]=$newGenNumber
+      ;;
+
+    $MEMBER_NODE )  # this line describes a node
+       # Add the node to the file with all nodes in the cluster.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+       checkForErrors "writing to file $nodefile" $?
+       ;;
+
+    $SG_DISKS )  # this line describes a disk that belongs to some file system
+       # Generate a file with SG_DISKS lines for all disks in the cluster.
+       print -- $sdrfsLine >> $existingDisks
+       checkForErrors "writing to file $existingDisks" $?
+       printLine=false
+       ;;
+
+    * )  # Pass all other lines without a change.
+      ;;
+
+  esac  # end Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+# Give up if there are no NSDs in the cluster.
+if [[ ! -s $existingDisks ]]
+then
+  # Issue message that the requested disks are not known to GPFS.
+  printErrorMsg 481 $mmcmd
+  cleanupAndExit
+fi
+
+
+########################################################
+# Process the descriptors with the new disk attributes.
+########################################################
+foundErrors=false
+$rm -f $affectedFileSystems
+exec 3<&-
+exec 3< $descfile
+while read -u3 mmDiskDesc
+do
+  # Skip empty and comment lines.
+  [[ $mmDiskDesc = *([$BLANKchar$TABchar])   ]] && continue
+  [[ $mmDiskDesc = *([$BLANKchar$TABchar])#* ]] && continue
+
+  # Parse mmDiskDesc to get the name of the disk.
+  IFS=':'
+  set -f ; set -- $mmDiskDesc ; set +f
+  diskName=$1
+  IFS="$IFS_sv"
+
+  if [[ -z $diskName ]]
+  then
+    # The disk name must be specified in the disk descriptor.
+    printErrorMsg 23 $mmcmd
+
+    # Show the bad descriptor.
+    printErrorMsg 386 $mmcmd "$mmDiskDesc"
+
+    # The command will fail, but before giving up, we will check the
+    # remainder of the descriptors to flush out as many errors as possible.
+    foundErrors=true
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+
+    # Move to the next descriptor.
+    continue
+  fi
+
+  # Locate and extract the SG_DISK line for this disk.
+  $rm -f $tmpfile
+  currentDiskLine=$($awk -F: '                                      \
+    # If the line is for our disk, assigned it to currentDiskLine.  \
+    # Do not put the line in the temp file.                         \
+    $'$DISK_NAME_Field' == "'$diskName'" {                          \
+      { print $0 }                                                  \
+      { next }                                                      \
+    }                                                               \
+    # If the line is for some other disk, add it to tmpfile.        \
+    { print $0 >> "'$tmpfile'" }                                    \
+  ' $existingDisks)
+  checkForErrors awk $?
+
+  # Prepare the existingDisks file for the next iteration.
+  # It will contain all of its original lines except the line
+  # that describes the disk that is currently being processed.
+  $touch $tmpfile    # Ensure file exists even if empty.
+  $mv $tmpfile $existingDisks
+  checkForErrors "mv $tmpfile $existingDisks" $?
+
+  # If not found, issue an appropriate error message.
+  if [[ -z $currentDiskLine ]]
+  then
+    # Check whether the disk was processed earlier.
+    alreadyProcessed=$(getDiskInfo $DISK_NAME_Field $diskName $newsdrfs)
+    if [[ -n $alreadyProcessed ]]
+    then
+      # This disk was already processed; it must be a duplicate entry.
+      printErrorMsg 88 $mmcmd $diskName
+    else
+      # Print error stating disk descriptor should refer to an existing NSD.
+      printErrorMsg 415 $mmcmd "$mmDiskDesc"
+    fi
+
+    # The command will fail, but before giving up, we will check the
+    # remainder of the descriptors to flush out as many errors as possible.
+    foundErrors=true
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+
+    # Move to the next descriptor.
+    continue
+
+  fi  # end of if [[ -z $currentDiskLine ]]
+
+  # Find out the file system and nodeset to which this disk belongs.
+  # Parse the line.
+  IFS=":"
+  set -f ; set -A v -- - $currentDiskLine  ; set +f
+  IFS="$IFS_sv"
+  print -- "${v[$DEV_NAME_Field]}" >> $affectedFileSystems
+  checkForErrors "writing to file $affectedFileSystems" $?
+
+  # Check the correctness of the disk descriptor.  If everything is OK,
+  # validateAndConvertNsdDescriptor will create an SG_DISKS line with
+  # the new parameters for the disk.
+  validateDescriptorOutput=$(validateAndConvertNsdDescriptor "$mmDiskDesc"  \
+                    $currentDiskLine $CHANGE_NSD ${v[$NODESETID_Field]} NULL)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # If an error was found, the validate routine issued a message.
+    # We will now print the entire descriptor to help the guy some more.
+    printErrorMsg 386 $mmcmd "$mmDiskDesc"
+
+    # The command will fail, but before giving up, we will check the remainder
+    # of the descriptors to flush out as many errors as possible.
+    foundErrors=true
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+
+  else
+    # If the descriptor seems to be OK, parse the output
+    # from the validateAndConvertNsdDescriptor routine.
+    set -f ; set -- $validateDescriptorOutput ; set +f
+    updatedDiskLine="$1"
+
+#esjrm  Add tspreparedisk connectivity verification ???
+#esjrm  Do it based on the pvid (see backup server checking in mmcrnsd)
+#esjrm  Make it conditional on some input flag ( -v yes|no ??)
+#esjrm  Is this the right place ?
+
+    # Add the SG_DISKS line for the disk to the mmsdrfs file.
+    print -- $updatedDiskLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi  # end of if [[ $rc -ne 0 ]]
+done  # end of while read -u3 mmDiskDesc
+
+
+# Give up if there were errors with one or more of the descriptors.
+if [[ $foundErrors = true ]]
+then
+  # Command failed.
+  printErrorMsg 389 $mmcmd
+  cleanupAndExit
+fi
+
+
+################################################
+# Lock the gpfs object to prevent daemons
+# from starting while things are being changed.
+################################################
+[[ $getCredCalled = no ]] && getCred
+setRunningCommand "$mmcmd" $primaryServer
+checkForErrors setRunningCommand $?
+gpfsLocked=yes
+
+
+##################################################
+# Verify all affected file systems are unmounted.
+##################################################
+$sort -u -o $affectedFileSystems $affectedFileSystems
+checkForErrors "sort -u $affectedFileSystems" $?
+
+exec 3<&-
+exec 3< $affectedFileSystems
+while read -u3 fsLine
+do
+  set -f ; set -- $fsLine ; set +f
+  fsToCheck=$1
+
+  [[ $fsToCheck = $NO_DEVICE ]] && continue
+
+  # Make sure the file system is not mounted on any of the nodes.
+  $mmcommon onactive $preferredNode $nodefile  \
+     $NO_FILE_COPY $fsToCheck $CHECK_ALL $NO_LINK $MOUNT_CHECK_ONLY 2>$errMsg
+  rc=$?
+  if [[ $rc -eq $MM_FsMounted ]]
+  then
+    # File system is still mounted; messages issued by mmcommon.
+    cleanupAndExit
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on all nodes that we care about; that's just fine.
+    rc=0
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+    # The command failed.
+    printErrorMsg 389 $mmcmd
+    cleanupAndExit $rc
+  elif [[ $rc -ne 0 ]]
+  then
+    # An unexpected error occurred during the mount check.
+    if [[ -s $errMsg ]]
+    then
+      # Show the error messages from the daemon.
+      $cat $errMsg 1>&2
+    else
+      # The mount check failed and there were no messages from the daemon.
+      printErrorMsg 171 $mmcmd "mount check for $fsToCheck" $rc
+    fi
+    # The command was unable to determine whether the file system is mounted.
+    printErrorMsg 564 $mmcmd $fsToCheck
+    cleanupAndExit $rc
+  fi  # end if [[ $rc -eq $MM_FsMounted ]]
+  $rm -f $errMsg
+
+done   # end of while read -u3 fsLine
+
+
+####################################################
+# Put the unchanged disks back in the mmsdrfs file.
+####################################################
+$cat $existingDisks >> $newsdrfs
+checkForErrors "cat $existingDisks >> $newsdrfs" $?
+
+
+############################################
+# Sort the new version of the mmsdrfs file.
+############################################
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+
+
+####################################################
+# Replace the mmsdrfs file.  This makes the changes
+# to the disks visible to the rest of the world.
+####################################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $FREE_DISK $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We were unable to replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+##################
+# Unlock the sdr.
+##################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+#################################################################
+# Propagate the new mmsdrfs file.  This process is asynchronous.
+#################################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber rereadnsd
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchpolicy
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchpolicy	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmchpolicy	(revision 16)
@@ -0,0 +1,234 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)84 1.10.1.4 src/avs/fs/mmfs/ts/admin/mmchpolicy.sh, mmfs, avs_rgpfs24, rgpfs24s005a 6/14/06 14:39:55
+#############################################################################
+#
+# Usage:
+#   mmchpolicy Device PolicyFilename [-t DescriptiveName] [-I {yes|test}]
+#
+# where
+#
+#   Device            is the device name of the file system.
+#
+#   PolicyFilename    is the name of the file containing the policy rules.
+#                     If DEFAULT is specified, the current policy file is
+#                     replaced with a single default rule that assigns all
+#                     newly created files to the system storage pool.
+#
+#   DescriptiveName   is a user-provided descriptive name for the new
+#                     policy rules.  Defaults to the name of the file.
+#                     The total length cannot exceed 255 characters.
+#
+#   -I                if yes, the rules will be installed immediately.
+#                     if test, the rules will not be installed.
+#                     The default -I yes.
+#
+#############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmchpolicy.sh"
+[[ -n $DEBUG || -n $DEBUGmmchpolicy ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+tspolicyFile=${tmpDir}tspolicyFile.${mmcmd}.$$
+
+LOCAL_FILES=" $tspolicyFile "
+
+
+# Local variables
+usageMsg=361
+
+
+######################
+# Mainline processing
+######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# Save the positional parameters.
+device=$arg1
+inputPolicyFile=$arg2
+
+# Move past the required parameters.
+shift 2
+
+# Process the rest of the parameters.
+while getopts :I:t: OPT
+do
+  case $OPT in
+    I) [[ -n $Iflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Iflag="-$OPT"; Iarg=$OPTARG;
+       [[ $Iarg != yes && $Iarg != test ]] &&  \
+	   syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+       ;;
+
+    t) # Comment string.
+       [[ -n $tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       tflag="-$OPT"; targ="$OPTARG"
+       policyName="$targ"
+       checkName lengthCheckOnly 255 "$policyName"
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    +[It]) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument.
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done  # end of while getopts :t: OPT do
+shift OPTIND-1
+
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+if [[ $inputPolicyFile = DEFAULT ]]
+then
+  # If the user wants to remove the current policy,
+  # replace it with a system default.
+  print -- "/* Default system rule */" > $tspolicyFile
+  checkForErrors "writing to $tspolicyFile" $?
+  print -- "RULE 'DEFAULT' SET POOL 'system'" >> $tspolicyFile
+  checkForErrors "writing to $tspolicyFile" $?
+  policyName="DEFAULT"
+else
+  # Check the input file parameter and create our own copy.
+  checkUserFile $inputPolicyFile $tspolicyFile
+  [[ $? -ne 0 ]] && cleanupAndExit
+fi
+
+# Assign a descriptive policy name if not provided by the user.
+[[ -z $policyName ]] && policyName="${inputPolicyFile##*/}"
+
+
+#####################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs is up-to-date.  There is no need to lock mmsdrfs file.
+#####################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+# If removing the current policy and -I test is specified,
+# there is nothing else to do.
+[[ $inputPolicyFile = DEFAULT && $Iarg = test ]] &&  \
+  cleanupAndExit 0
+
+
+########################################################################
+# Invoke the tschpolicy command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the policy name string contains blanks or tabs
+#       (the existing infrastructure cannot deal with imbedded blanks)
+#   - this is a single node cluster
+########################################################################
+$tschpolicy $fqDeviceName $tspolicyFile -t "$policyName" $Iflag $Iarg 2>$errMsg
+rc=$(remapRC $?)
+
+if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ||
+      "$policyName" = *+([;$BLANKchar$TABchar])*       ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+#   [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tschpolicy" $rc
+  fi  # end of if [[ $rc -eq $MM_DaemonDown ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+#####################################################################
+# We come here if the local GPFS daemon is not ready for commands.
+# Find an active node and send the command there.
+#####################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+preferredNode=$ourNodeName
+
+# Try the nodes one by one until you find a node that can execute the command.
+$mmcommon onactive $preferredNode $nodefile     \
+   $tspolicyFile $NO_MOUNT_CHECK NULL $NO_LINK  \
+   tschpolicy "$fqDeviceName $tspolicyFile -t $policyName $Iflag $Iarg"
+rc=$?
+
+# if [[ $rc -ne 0 ]]
+# then
+#   # tschpolicy failed.
+#   printErrorMsg 104 $mmcmd tschpolicy
+#   cleanupAndExit $rc
+# fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcommon
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcommon	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcommon	(revision 16)
@@ -0,0 +1,2964 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)76 1.83.1.177 src/avs/fs/mmfs/ts/admin/mmcommon.sh, mmfs, avs_rgpfs24, rgpfs24s008a 11/8/06 12:34:03
+#############################################################################
+#
+# Usage:  mmcommon keyword <arguments>
+#
+#############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmcommon.sh"
+[[ -n $DEBUG || -n $DEBUGmmcommon ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+typeset -l kword_lc
+typeset -l arg3_lc
+integer n
+rc=0
+
+# Local functions
+
+#####################################################################
+#
+# Function:  Runs the specified command on the first active node
+#            (i.e., node on which the GPFS daemon is running)
+#            it finds in the list of nodes provided by the caller.
+#
+# Input:     $1 - name of the node to try first, or 0
+#            $2 - file with reliable node names
+#            $3 - file to copy on the remote node, or _NO_FILE_COPY_
+#            $4 - file system that cannot be mounted, or _NO_MOUNT_CHECK_
+#            $5 - scope of mount checking
+#            $6 - symbolic link indicator: _LINK_ or _NO_LINK_
+#            $7 - command to execute; must be mmremote or tsxxxxxxx
+#            $8 - argument list for the remote command
+#
+# Output:    Depends on the particular remote command
+#
+# Returns:   0 - command completed successfully
+#            return code from the remote command
+#
+#####################################################################
+function runRemoteCommand  # <preferredNode> <nodeFile> <fileToCopy>
+                           # <fsToCheck> <symLink> <scope> <command> <args>
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGrunRemoteCommand ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset preferredNode=$1
+  typeset nodeFile=$2
+  typeset fileToCopy=$3
+  typeset fsToCheck=$4
+  typeset scope=$5
+  typeset symLink=$6
+  typeset command=$7
+  typeset args=$8
+
+  typeset rc=0
+  typeset nodeName rcInfo lsrc
+
+  # If this is a single node environment, assure that
+  # the command will be executed locally.
+  [[ $MMMODE = single ]] && preferredNode=$ourNodeName
+
+  # If there is no preferred node, see if the local node is in the list.
+  [[ $preferredNode = "0" ]] &&  \
+    preferredNode=$($grep -w $ourNodeName $nodeFile)
+
+  # Try the nodes one by one until the command is executed somewhere.
+  # Always start with the local node first, if it is in the list.
+  [[ -z $preferredNode ]] && preferredNode="$BLANKchar"
+  for nodeName in $(print -- "$preferredNode" ; $grep -v -w "$preferredNode" $nodeFile)
+  do
+    # If nodeName refers to the node that we are running on,
+    # try to execute the command locally.
+    if [[ $nodeName = $ourNodeName ]]
+    then
+      runLocalCommand $fsToCheck $scope $symLink $command "$args"
+      rc=$?
+      # If this is a single node environment, there is nothing more to do.
+      [[ $MMMODE = single ]] && break
+
+      # If acceptable error (daemon not up or waiting for quorum),
+      # try to find some other node to run the command.  Otherwise,
+      # the command was executed and either succeeded or failed.
+      # Either way, pass the result to the caller.
+      if [[ $rc -eq $MM_DaemonDown || $rc -eq $MM_QuorumWait ]]
+      then
+        continue
+      else
+        return $rc
+      fi
+    fi  # end of if [[ $nodeName = $ourNodeName ]]
+
+    # Invoke mmdsh to run the command on the remote node.
+    $rm -f $tmpDir$command$$.*
+    $mmdsh -svL $nodeName $mmremote onbehalf $ourNodeName $command$$  \
+      $MMMODE $fileToCopy $fsToCheck $scope $symLink $command "$args"
+    rc=$?
+
+    #----------------------------------------------------------------------
+    #
+    # Determine the return code from the remote command.
+    #
+    # This is not an easy task because rsh and different versions of
+    # ssh treat the return codes from the remote command differently.
+    # For example, rsh does not propagate back the return code, while
+    # at least some of the ssh versions pass back the return code.
+    # This also makes it very difficult to distinguish between failures
+    # of rsh/ssh itself and failures of the remote command.
+    #
+    # Our solution is to pass back the return code by creating a special
+    # file that has the return code appended at the end of its name.
+    # If we do not see this file on our side, we will assume that mmdsh
+    # returned the return code from the remote command.  Although this is
+    # not necessarily always the case (there could have been a problem
+    # with the touch command that creates the special file) it is the best
+    # we can do under the circumstances.
+    #----------------------------------------------------------------------
+
+    # Look for the return code to be encoded in a special file name.
+    rcInfo=$($ls $tmpDir$command$$.* 2> /dev/null)
+    $rm -f $tmpDir$command$$.*
+    if [[ -n $rcInfo ]]
+    then
+      # The return code was passed back via the empty file mechanism.
+      # Extract the return code from the file name.
+      rc=${rcInfo#$tmpDir$command$$\.}
+
+      # If acceptable error (daemon not up or waiting for quorum),
+      # try to find some other node to run the command.  Otherwise,
+      # the command was executed and either succeeded or failed.
+      # Either way, pass the result to the caller.
+      if [[ $rc -eq $MM_DaemonDown || $rc -eq $MM_QuorumWait ]]
+      then
+        continue
+      else
+        return $rc
+      fi
+    fi  # end if [[ -n $rcInfo ]]
+
+    # Assume mmdsh returned the return code from the remote command.
+    if [[ $rc -eq $MM_DaemonDown     ||
+          $rc -eq $MM_QuorumWait     ||
+          $rc -eq $MM_HostDown       ||
+          $rc -eq $MM_ConnectTimeout ]]
+    then
+      # If the daemon is not up, if it is waiting for quorum, or if mmdsh
+      # could not get to the node, try another node to run the command.
+      continue
+    fi
+
+    if [[ $rc -ne 0 ]]
+    then
+      # The command failed.
+      printErrorMsg 104 "runRemoteCommand" "$nodeName: $command $args"
+    fi
+
+    # Whether the command executed successfully or not,
+    # return to the caller with the return code.
+    return $rc
+
+  done  # end for nodeName in $(print -- "$preferredNode" ; $cat $nodeFile)
+
+  if [[ $MMMODE = single       &&
+        $rc -ne $MM_DaemonDown &&
+        $rc -ne $MM_QuorumWait ]]
+  then
+    return $rc
+  fi
+
+  # If we ever get here, all nodes were tried, but the command could not be
+  # executed.  Either all nodes are down, or the daemon is down on all nodes.
+  [[ $command != $MOUNT_CHECK_ONLY ]] &&  \
+    printErrorMsg 312 $mmcmd $command
+  rc=$MM_DaemonDown
+
+  return $rc
+
+}  #----- end of function runRemoteCommand -----------------------
+
+
+#############################################################################
+#
+# Function:  Generate a list of all disk devices known to this node.
+#
+# Input:     None.
+#
+# Output:    For each device, a line is generated containing the following:
+#              device_name device_type
+#
+# Returns:   Always zero.  Errors are ignored.
+#
+#############################################################################
+function getDiskDevices  #
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetDiskDevices ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  # Get the names of all disks, vpaths, etc.
+  if [[ $osName = AIX ]]
+  then
+    LC_ALL=C $getlvodm -F 2>/dev/null |                 \
+      $awk '                                            \
+        /hdiskpower/  { print $1 " powerdisk" ; next }  \
+        /dlmfdrv/     { print $1 " dlmfdrv"   ; next }  \
+        /vpath/       { print $1 " vpath"     ; next }  \
+        /hdisk/       { print $1 " hdisk"     ; next }  \
+      '
+
+  elif [[ $osName = Linux ]]
+  then
+    $awk '                                                                 \
+      /emcpower/   { if (NF > 3 && $3 > 1) print $4 " powerdisk" ; next }  \
+      /vpath/      { if (NF > 3 && $3 > 1) print $4 " vpath"     ; next }  \
+      /[sh]d/      { if (NF > 3 && $3 > 1) print $4 " generic"   ; next }  \
+    ' /proc/partitions 2>/dev/null
+
+  else
+    print -u2  " Unknown operating system $osName "
+    cleanupAndExit
+  fi
+
+  return 0
+
+}  #----- end of function getDiskDevices ------------------------
+
+
+#############################################################################
+#
+# Function:  Generate a file correlating node numbers, IP addresses,
+#            and reliable node names for nodes in the cluster.
+#            The values are obtained from the latest mmsdrfs file.
+#
+# Input:     $1 - name of the node data file to create
+#            $2 - (optional) nodeset for which to return information.
+#                 If missing, or if GLOBAL_ID specified, return all
+#                 nodes in the cluster.
+#
+# Output:    Each record of the output file consists of the following
+#            fields (separated with a single blank character):
+#
+#              node_number ip_address adapter_type reliable_hostname  \
+#                 switch_node_number adapter_type hags_node_number
+#
+# Returns:   0 - file created successfully
+#            If an error is encountered, this function invokes the
+#            cleanupAndExit routine which terminates execution.
+#
+#############################################################################
+function getNodeDataFromSdrfs  # <fileName> [<nodesetId>]
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetNodeDataFromSdrfs ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outfile=$1
+  typeset nodesetId=$2
+
+  typeset gpfsInitOutput
+
+  [[ -z $outfile ]] &&  \
+    checkForErrors "getNodeDataFromSdrfs - Missing output file parameter" 1
+
+  # Ensure the GPFS system data is up to date.
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+
+  [[ ! -f $mmsdrfsFile ]] && return 0
+
+  # If a nodeset id is not specified, or if the global id is specified,
+  # clear the variable so that we can look at all MEMBER_NODE lines.
+  # Otherwise, prepend the '^' char to ensure a correct nodesetId match.
+  [[ $nodesetId = "." ]] && nodesetId="$nsId"
+  [[ $nodesetId = 0 ]] && return 0
+  [[ $nodesetId = $GLOBAL_ID ]] && nodesetId=""
+  [[ -n $nodesetId ]] && nodesetId="^$nodesetId"
+
+  # Generate a list with the requested node information.
+  $rm -f $outfile
+  $awk -F: '                                                 \
+    /'$nodesetId:$MEMBER_NODE:'/ {                           \
+        # If this is an older cluster, the value for the     \
+        # HAGS number may not be in the mmsdrfs file yet.    \
+        if ( $'$GS_NODE_NUMBER_Field' == "" ) {              \
+          { gsNodeNumber = $'$NODE_NUMBER_Field' }           \
+        } else {                                             \
+          { gsNodeNumber = $'$GS_NODE_NUMBER_Field' }        \
+        }                                                    \
+        # Write the information to the specified file.       \
+        { print $'$NODE_NUMBER_Field' " "                    \
+                $'$IPA_Field' " "                            \
+                $'$ADAPTER_TYPE_Field' " "                   \
+                $'$REL_HOSTNAME_Field' " "                   \
+                $'$SWITCH_NODE_NUMBER_Field' " "             \
+                $'$ADAPTER_TYPE_Field' " "                   \
+                gsNodeNumber  >> "'$outfile'" }              \
+    }                                                        \
+  ' $mmsdrfsFile
+  checkForErrors awk $?
+
+  return 0
+
+}  #----- end of function getNodeDataFromSdrfs --------------------
+
+
+#############################################################################
+#
+# Function:  Generate a node list file showing the node number, IP address,
+#            node name, and attributes (quorum/nonquorum, manager/client,
+#            new) for all nodes in the cluster.
+#            The values are obtained from the latest mmsdrfs file.
+#            Since this routine is used by the daemon to obtain node data,
+#            the node name returned is the one used by the GPFS daemons,
+#            not the one used by the admin commands, although these are
+#            usually the same.
+#
+# Input:     $1 - name of the node data file to create
+#            $2 - (optional) assume cached data is current
+#
+# Output:    Each record of the output file consists of the following
+#            fields (separated with a single blank character):
+#
+#              node_number ip_address nodename attributes...
+#
+#            where "attributes..." is a string containing a set of
+#            comma-separated attribute values.
+#
+# Returns:   0 - file created successfully
+#            If an error is encountered, this function invokes the
+#            cleanupAndExit routine which terminates execution.
+#
+#############################################################################
+function getNodeListFromSdrfs  # <fileName> [norefresh]
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetNodeListFromSdrfs ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outfile=$1
+  typeset -l refreshArg=$2
+
+  typeset gpfsInitOutput
+
+  [[ -z $outfile ]] &&  \
+    checkForErrors "getNodeListFromSdrfs - Missing output file parameter" 1
+
+  # Ensure the GPFS system data is up to date.
+  if [[ $refreshArg != "norefresh" ]]
+  then
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+  fi
+
+  [[ ! -f $mmsdrfsFile ]] &&  \
+    checkForErrors "getNodeListFromSdrfs - Missing /var/mmfs/gen/mmsdrfs" 1
+
+  # Generate a file with the requested node information.
+  $rm -f $outfile
+  $awk -F: '                                                  \
+    BEGIN { separator = "," }                                 \
+    /'$HOME_CLUSTER:$MEMBER_NODE:'/ {                         \
+      # Collect all attributes for this node.                 \
+      { attrs = $'$DESIGNATION_Field' }                       \
+      if ( $'$CORE_QUORUM_Field' == "'$quorumNode'" ) {       \
+        { attrs = attrs separator "'$QUORUM'" }               \
+      }                                                       \
+      if ( $'$ADDNODE_STATE_Field' != "" ) {                  \
+        { attrs = attrs separator $'$ADDNODE_STATE_Field' }   \
+      }                                                       \
+      if ( $'$DAEMON_NODENAME_Field' == "" ) {                \
+        { nodename = $'$REL_HOSTNAME_Field' }                 \
+      } else {                                                \
+        { nodename = $'$DAEMON_NODENAME_Field' }              \
+      }                                                       \
+      # Write the information to the specified file.          \
+      { print $'$NODE_NUMBER_Field'  " "                      \
+              $'$IPA_Field'          " "                      \
+              nodename " " attrs >> "'$outfile'" }            \
+    }                                                         \
+  ' $mmsdrfsFile
+  checkForErrors awk $?
+
+  return 0
+
+}  #----- end of function getNodeListFromSdrfs --------------------
+
+
+#######################################################################
+#
+# Function:  Generate a file with the global group names and size of
+#            all known VSDs, as well as their primary and secondary
+#            servers and recovery state.
+#
+# Input:     $1 - name of file for the VSD information
+#
+# Output:    Each record of the output file consists of the following
+#            colon-separated fields:
+#
+#   group_name:vsd_name:size:primary_node:secondary_node:recovery:vgname
+#
+# Returns:   0 - file created successfully
+#            If error is encountered, this function invokes the
+#            cleanupAndExit routine which terminates execution.
+#
+#######################################################################
+function getVSDdataSDR
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetVSDdataSDR ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset joinedFile=$1
+
+  # Get the name, size, and global group name of all VSDs.
+  $SDRGetObjects -d ':' -x  VSD_Table  \
+     global_group_name VSD_name size_in_MB >$vsdNamesFile
+  checkForErrors SDRGetObjects $?
+
+  # Sort the output.
+  $sort -t: -k 1,1 $vsdNamesFile -o $vsdNamesFile
+  checkForErrors sort $?
+
+  # Get the primary and secondary nodes for the global group names.
+  $SDRGetObjects -d ':' -x  VSD_Global_Volume_Group global_group_name  \
+    primary_node secondary_node recovery local_group_name >$volGroupFile
+  checkForErrors SDRGetObjects $?
+
+  # Sort the output.
+  $sort -t: -k 1,1 $volGroupFile -o $volGroupFile
+  checkForErrors sort $?
+
+  # Create one common file with all of the information.
+  $join -t: $vsdNamesFile $volGroupFile >$joinedFile
+  checkForErrors join $?
+
+  $rm -f $vsdNamesFile $volGroupFile
+  return 0
+
+}  #----- end of function getVSDdataSDR --------------------------
+
+
+##########################################################################
+#
+# Function:  Generate a file with the global group names and size of
+#            all known VSDs, as well as their primary and secondary
+#            servers and recovery state.
+#
+# Input:     $1 - name of file for the VSD information
+#
+# Output:    Each record of the output file consists of the following
+#            colon-separated fields:
+#
+#   group_name:vsd_name:size:primary_node:secondary_node:recovery:vgname
+#
+# Returns:   0 - file created successfully
+#            If error is encountered, this function invokes the
+#            cleanupAndExit routine which terminates execution.
+#
+##########################################################################
+function getVSDdataRPD
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetVSDdataRPD ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset joinedFile=$1
+
+  # Get the name, size, and global group name of all VSDs.
+  $lsrsrcapi -o "IBM.vsdtable::::::VSD_name::global_group_name::logical_volume_name::size_in_MB" >$vsdNamesFile
+  checkForErrors "getVSDdataRPD: lsrsrc-api -o IBM.vsdtable::::::VSD_name::global_group_name::logical_volume_name::size_in_MB" $?
+
+  # Sort the output
+  $sort -t: -k 3,3 $vsdNamesFile -o $vsdNamesFile
+  checkForErrors sort $?
+
+  # Get the primary and secondary nodes for the global group names.
+  $lsrsrcapi -o "IBM.vsdgvg::::::global_group_name::local_group_name::primary_node::secondary_node::recovery" >$volGroupFile
+  checkForErrors "getVSDdataRPD: lsrsrc-api -o IBM.vsdgvg::::::global_group_name::local_group_name::primary_node::secondary_node::recovery" $?
+
+  # Sort the output.
+  $sort -t: -k 1,1 $volGroupFile -o $volGroupFile
+  checkForErrors sort $?
+
+  # Create one common file with all of the information.
+  $join -t: -1 3 -2 1 -o 1.3,1.1,1.7,2.5,2.7,2.9,2.3 $vsdNamesFile $volGroupFile >$joinedFile
+  checkForErrors join $?
+
+  $rm -f $vsdNamesFile $volGroupFile
+  return 0
+
+}  #----- end of function getVSDdataRPD ---------------------------
+
+
+#########################################################################
+#
+# Function:  Generate a file with the node number and node name for
+#            all known VSD nodes.
+#
+# Input:     $1 - name of the file for storing the VSD node information
+#
+# Output:    Each record of the output file consists of the following
+#            colon-separated fields:
+#
+#              node_number:node_name
+#
+# Returns:   0 - file created successfully
+#            If an error is encountered, this function invokes the
+#            cleanupAndExit routine which terminates execution.
+#
+#########################################################################
+function getVsdNodeDataSDR
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetVsdNodeDataSDR ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outputFile=$1
+
+  # Get the number and name of each of the VSD nodes.
+  $SDRGetObjects -d ':' -x Node node_number reliable_hostname >$outputFile
+  checkForErrors "getVsdNodeDataSDR: SDRGetObjects" $?
+
+  # Sort the output.
+  $sort -t: -k 1,1 $outputFile -o $outputFile
+  checkForErrors sort $?
+
+  return 0
+
+}  #----- end of function getVsdNodeDataSDR ---------------------
+
+
+########################################################################
+#
+# Function:  Generate a file with the node number and node name for
+#            all known VSD nodes.
+#
+# Input:     $1 - name of the file for storing the VSD node information
+#
+# Output:    Each record of the output file consists of the following
+#            colon-separated fields:
+#
+#              node_number:node_name
+#
+# Returns:   0 - file created successfully
+#            If an error is encountered, this function invokes the
+#            cleanupAndExit routine which terminates execution.
+#
+########################################################################
+function getVsdNodeDataRPD
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetVsdNodeDataRPD ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outputFile=$1
+
+  # Get the number and name of each of the VSD nodes.
+  $lsrsrcapi -D ":" -o "IBM.vsdnode::::::VSD_nodenum::NodeNameList" |  \
+    $sed -e 's/{//g' | $sed -e 's/}//g' >$outputFile
+  checkForErrors "getVsdNodeDataRPD: lsrsrc-api -o IBM.vsdnode::::::VSD_nodenum::NodeNameList" $?
+
+  # Sort the output.
+  $sort -t: -k 1,1 $outputFile -o $outputFile
+  checkForErrors sort $?
+
+  return 0
+
+}  #----- end of function getVsdNodeDataRPD -----------------------
+
+
+###############################################################################
+#
+# Function:  Correlate GPFS node numbers with the corresponding RSCT
+#            node numbers (if any).
+#
+# Input:     None.
+#
+# Output:    For each node in the cluster that can access VSD disks,
+#            the following two fields (colon-separated, one pair per line)
+#            are displayed on stdout:
+#
+#              GPFSnodeNumber:RSCTnodeNumber
+#
+# Notes:     GPFS nodes that are not part of the RSCT peer domain are omitted.
+#
+# Returns:   0 - no errors encountered.
+#            If an error is encountered, this function invokes the
+#            cleanupAndExit routine which terminates execution.
+#
+###############################################################################
+function getVsdNodeNumbers  #
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetVsdNodeNumbers ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset gpfsNumbers=$tmpfile
+  typeset vsdNumbers=$tmpfile2
+  typeset vsdPath
+
+  # This function makes no sense on Linux.
+  [[ $osName = Linux ]] && return 1
+
+  # Processing depends on which type of VSD code (PSSP or RSCT) is in use.
+  vsdPath=$(LC_ALL=C $ls -l $vsdatalst 2>/dev/null)
+  if [[ $vsdPath = *${vsdatalstPSSP}* && -x $vsdatalstPSSP ]]
+  then
+    # Find the PSSP node numbers and map them to the GPFS nodes.
+
+    # Get the PSSP node numbers and IP addresses.
+    $SDRGetObjects -d ':' -x Adapter node_number netaddr > $adfile
+    checkForErrors "getPSSPvsdNumbers: SDRGetObjects Adapter" $?
+
+    # Add multi-link adapters information from the Aggregate_IP class.
+    # If the class does not exist, ignore the error.
+    $SDRGetObjects -d ':' -x Aggregate_IP node_number ip_address >> $adfile 2>/dev/null
+    [[ ! -s $adfile ]] &&  \
+      checkForErrors "getVsdNodeNumbers: invalid SDR Adapter data; check SDR" 1
+
+    # Sort the output based on the IP address.
+    $sort -t: -k 2,2 $adfile -o $vsdNumbers
+    checkForErrors "getPSSPvsdNumbers: sort" $?
+
+  elif [[ $vsdPath = *${vsdatalstRSCT}* && -x $vsdatalstRSCT ]]
+  then
+    # Find the RSCT peer domain node numbers and map them to the GPFS nodes.
+
+    # Create a file correlating RSCT node identifiers with IP addresses.
+    $lsrsrcapi -o  \
+       "IBM.NetworkInterface::::::NodeIDs::IPAddress::" > $adfile 2> /dev/null
+    checkForErrors "getVsdNodeNumbers:  lsrsrc-api -o IBM.NetworkInterface::::::NodeIDs::IPAddress::" $?
+    [[ ! -s $adfile ]] &&  \
+      checkForErrors "getVsdNodeNumbers: invalid IBM.NetworkInterface data; check RSCT Peer Domain" 1
+
+    # Sort the output based on the NodeID values.
+    $sort -b -k 1,1 $adfile -o $adfile
+    checkForErrors "getVsdNodeNumbers: sort" $?
+
+    # Create a file correlating RSCT node identifiers with RSCT node numbers.
+    $lsrsrcapi -o "IBM.PeerNode::::::NodeIDs::NodeList" > $rnfile 2> /dev/null
+    checkForErrors "getVsdNodeNumbers:  lsrsrc-api -o IBM.PeerNode::::::NodeIDs::NodeList " $?
+    [[ ! -s $rnfile ]] &&  \
+      checkForErrors "getVsdNodeNumbers: invalid IBM.PeerNode output; check RSCT Peer Domain" 1
+
+    # Sort the output based on the NodeID values.
+    $sort -b -k 1,1 $rnfile -o $rnfile
+    checkForErrors "getVsdNodeNumbers: sort" $?
+
+    # Create one common file correlating IP addresses with RSCT node numbers.
+    $join -1 1 -2 1 -t : -o 2.3,1.3 $adfile $rnfile > $vsdNumbers
+    checkForErrors "getVsdNodeNumbers: join" $?
+
+    # Sort the output based on the IP address.
+    $sort -t: -k 2,2 $vsdNumbers -o $vsdNumbers
+    checkForErrors "getVsdNodeNumbers: sort" $?
+
+  else
+    # VSD not installed.
+    printErrorMsg 320 "getVSDdata"
+    cleanupAndExit
+  fi  # end of if [[ $? = 0 && -x $vsdatalstPSSP ]]
+
+  # Create a file correlating GPFS node numbers with IP addresses.
+  $awk -F: '                                               \
+    /':$MEMBER_NODE:'/ {                                   \
+        { print $'$NODE_NUMBER_Field' ":" $'$IPA_Field' }  \
+    }                                                      \
+  ' $mmsdrfsFile | $sort -t: -b -k 2,2 -o $gpfsNumbers
+  checkForErrors "getVsdNodeNumbers: awk_sort" $?
+
+  # Correlate the GPFS and RSCT node numbers, sort and display them on stdout.
+  $join -1 2 -2 2 -t : -o 1.1,2.1 $gpfsNumbers $vsdNumbers | $sort -t: -k 1,1n
+
+  return 0
+
+}  #----- end of function getVsdNodeNumbers -----------------------
+
+
+#############################################################################
+#
+# Function:  get NSD data for the caller
+#
+# Input:     $1 - file system name
+#            (if $GLOBAL_ID or not specified, return data for all NSDs)
+#
+# Output:    For each NSD satisfying the input criteria, a colon-delimited
+#            line of output of the following format is printed:
+#
+#   diskName:pvid:nsdSubtype:nsdSubtypeDiskname:primaryServer:backupServer
+#
+# Note:  Since this data is for the daemon, the server node names returned
+#        are the node adapter names used by the daemon, not the admin ones.
+#
+# Returns:   0
+#
+#############################################################################
+function getNsdData  # <fsname>
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetNsdData ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset fsname=$1
+
+  typeset deviceName nsdSubtype server backup
+  typeset needToDetermineDaemonNames=no
+
+  # If a file system was passed, calculate the device name value.
+  [[ -n $fsname && $fsname != $GLOBAL_ID ]] &&  \
+    deviceName=${fsname##+(/)dev+(/)}
+
+  # Loop through the mmsdrfs file to obtain the NSD data for the caller.
+  $rm -f $tmpfile
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $SG_DISKS )  # This line describes a disk.
+        # Is this an NSD with a valid PVID value?
+        if [[ ${v[$DISK_TYPE_Field]} = nsd && -n ${v[$PVID_Field]} ]]
+        then
+          # Is this a disk in which we are interested?
+          if [[ -z $fsname || $fsname = $GLOBAL_ID  ||
+                $deviceName = ${v[$DEV_NAME_Field]} ]]
+          then
+            # Determine the nsd subtype value.
+            if [[ -z ${v[$NSD_SUBTYPE_Field]} ]]
+            then
+              nsdSubtype="generic"
+            else
+              nsdSubtype=${v[$NSD_SUBTYPE_Field]}
+            fi
+
+            # Check whether the daemon node name has been recorded for
+            # each NSD server.  If not, set a flag and exit the loop.
+            if [[ ( -n ${v[$NSD_PRIMARY_NODE_Field]} &&      \
+                    -z ${v[$DAEMON_NSD_PRIMARY_Field]} ) ||  \
+                  ( -n ${v[$NSD_BACKUP_NODE_Field]} &&       \
+                    -z ${v[$DAEMON_NSD_BACKUP_Field]} ) ]]
+            then
+              needToDetermineDaemonNames=yes
+              break
+            fi
+
+            # Output the data for this NSD.
+            print -- ${v[$DISK_NAME_Field]}:${v[$PVID_Field]}:$nsdSubtype:${v[$NSD_SUBTYPE_DISKNAME_Field]}:${v[$DAEMON_NSD_PRIMARY_Field]}:${v[$DAEMON_NSD_BACKUP_Field]} >> $tmpfile
+
+          fi  # end of if [[ -z $fsname || $fsname = $GLOBAL_ID  || ... ]]
+
+        fi  # end of if (v[$DISK_TYPE_Field] == "nsd" && -n v[$PVID_Field])
+        ;;
+
+      * )  # We are not interested in any other lines.
+        ;;
+
+    esac  # end of case ${v[$LINE_TYPE_Field]} in
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end of while read -u3 sdrfsLine do
+
+  IFS="$IFS_sv"  # Restore the default IFS setting.
+
+  # If all of the NSD servers had daemon names, we are done;
+  # output the data and return to the caller.
+  if [[ $needToDetermineDaemonNames = no ]]
+  then
+    [[ -s $tmpfile ]] && $cat $tmpfile
+    return 0
+  fi
+
+  # If we get here, at least one of the NSD servers did not have a
+  # daemon node name.  This is probably because the cluster migrated
+  # from an earlier level of GPFS in which they did not exist,
+  # and no one has issued mmchconfig release=LATEST to update the
+  # mmsdrfs file.  We can still get the NSD data, but it will require
+  # more time, since we must look at the MEMBER_NODE lines of the
+  # mmsdrfs file as well as the SG_DISKS lines.
+  # The mmsdrfs file will be updated with the daemon node names for
+  # the NSD servers when the user issues mmchconfig release=LATEST;
+  # it cannot be done in this code path.
+
+  # Go through the current mmsdrfs file to obtain the NSD data.
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $SG_DISKS )  # This line describes a disk.
+        # Is this an NSD with a valid PVID value?
+        if [[ ${v[$DISK_TYPE_Field]} = nsd && -n ${v[$PVID_Field]} ]]
+        then
+          # If a file system was passed, calculate the device name value.
+          [[ -n $fsname && $fsname != $GLOBAL_ID ]] &&  \
+            deviceName=${fsname##+(/)dev+(/)}
+
+          # Is this a disk in which we are interested?
+          if [[ -z $fsname || $fsname = $GLOBAL_ID  ||
+                $deviceName = ${v[$DEV_NAME_Field]} ]]
+          then
+            # Determine the nsd subtype value.
+            if [[ -z ${v[$NSD_SUBTYPE_Field]} ]]
+            then
+              nsdSubtype="generic"
+            else
+              nsdSubtype=${v[$NSD_SUBTYPE_Field]}
+            fi
+
+            # If a server node was specified, check that it is valid
+            # and convert it if necessary to a daemon adapter name.
+            server=${v[$NSD_PRIMARY_NODE_Field]}
+            if [[ -n $server ]]
+            then
+              server=$(checkAndConvertNodeValue $server $DAEMON_NODENAME_Field)
+            fi
+            backup=${v[$NSD_BACKUP_NODE_Field]}
+            if [[ -n $backup ]]
+            then
+              backup=$(checkAndConvertNodeValue $backup $DAEMON_NODENAME_Field)
+            fi
+
+            # Output the data for this NSD.
+            print -- ${v[$DISK_NAME_Field]}:${v[$PVID_Field]}:$nsdSubtype:${v[NSD_SUBTYPE_DISKNAME_Field]}:$server:$backup
+
+          fi  # end of if [[ -z $fsname || $fsname = $GLOBAL_ID  || ... ]]
+
+        fi  # end of if (v[$DISK_TYPE_Field] == "nsd" && -n v[$PVID_Field])
+        ;;
+
+      * )  # We are not interested in any other lines.
+        ;;
+
+    esac  # end of case ${v[$LINE_TYPE_Field]} in
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end of while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS setting.
+
+  return 0
+
+}  #----- end of function getNsdData ----------------------------
+
+
+###########################################################################
+#
+# Function:  Determine whether a given cluster is authorized
+#            to access the specified file system.
+#
+# Input:     $1 - cluster name
+#            $2 - file system device name
+#
+# Output:    accessType [rootSquash=uid:gid]
+#
+# Returns:    0           - access level determined successfully
+#             2 (ENOENT)  - cluster not defined (not allowed to connect)
+#            13 (EACCES)  - access denied
+#            19 (ENODEV)  - device not found
+#            22 (EINVAL)  - device name is not valid
+#            93 (EREMOTE) - device name is for a remote fs
+#            other unexpected errors
+#
+###########################################################################
+function checkAuth  # <clusterName> <device> [norefresh]
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckAuth ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset clusterName=$1
+  typeset device=$2
+  typeset refreshArg=$3
+
+  typeset deviceName accessType allowRemoteConnections
+  typeset accessTypeString rsquashUid rsquashGid
+  typeset rsquashOption=""
+  typeset rc=0
+
+  [[ ! -f $mmsdrfsFile ]] &&  \
+    checkForErrors "checkAuth - Missing /var/mmfs/gen/mmsdrfs" 1
+
+  # Strip away any /dev/ prefix from the device id.
+  deviceName=${device##+(/)dev+(/)}
+
+  # Verify the device name.
+  if [[ $deviceName = /* ]]
+  then
+    printErrorMsg 169 $mmcmd "$device"
+    rc=$MM_InvalidName
+    return $rc
+  elif [[ $deviceName = */* ]]
+  then
+    printErrorMsg 170 $mmcmd "$device"
+    rc=$MM_InvalidName
+    return $rc
+  fi
+
+  # Ensure the GPFS system data is up to date.
+  if [[ $refreshArg != "norefresh" ]]
+  then
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+  fi
+
+  # If the cluster does not utilize secure connections,
+  # rw access is allowed to all of its file systems.
+  allowRemoteConnections=$(showCfgValue allowRemoteConnections)
+  if [[ $allowRemoteConnections = yes ]]
+  then
+    print -- "rw"
+    return 0
+  fi
+
+  # Find out the maximum allowed access for the file system.
+  accessTypeString=$($awk -F: '                               \
+    BEGIN {                                                   \
+      # Assume the file system does not exist.                \
+      { fsNotFound = 1 }                                      \
+      # Assume "mmauth add" was not issued for the cluster.   \
+      { remoteClusterNotFound = 1 }                           \
+      # Assume file system access not allowed (EACCES).       \
+      { rc = '$MM_AccessDenied' }                             \
+    }                                                         \
+                                                              \
+    $'$LINE_TYPE_Field' == "'$VERSION_LINE'" {                \
+      # If the request is for the local cluster,              \
+      # access is granted by default to all file systems.     \
+      if ( $'$CLUSTER_NAME_Field' == "'$clusterName'" ||      \
+           "'$clusterName'" == "." ) {                        \
+        { print "rw:::" }                                     \
+        { remoteClusterNotFound = 0 }                         \
+        { fsNotFound = 0 }                                    \
+        { rc = 0 }                                            \
+        { exit }                                              \
+      }                                                       \
+    }                                                         \
+                                                              \
+    $'$NODESETID_Field' == "'$clusterName'"       &&          \
+    $'$LINE_TYPE_Field' == "'$AUTHORIZED_CLUSTER'" {          \
+      # This is the overall authorization record for          \
+      # the desired cluster (created by "mmauth add").        \
+      { remoteClusterNotFound = 0 }                           \
+    }                                                         \
+                                                              \
+    $'$LINE_TYPE_Field' == "'$SG_HEADR'"  &&                  \
+    $'$DEV_NAME_Field'  == "'$deviceName'" {                  \
+      # This is the header line for the file system.          \
+      if ( $'$FS_TYPE_Field' == "'$remotefs'" ) {             \
+        # If it is a remote file system, return an error.     \
+        { rc = '$MM_Remotefs' }                               \
+        { exit }                                              \
+      } else {                                                \
+        # Otherwise, keep looking for an AUTHORIZED_FS line.  \
+        # Note that it is OK for such a record not to exist.  \
+        # All that means is that the given cluster cannot     \
+        # access the file system.                             \
+        { fsNotFound = 0 }                                    \
+      }                                                       \
+    }                                                         \
+                                                              \
+    $'$NODESETID_Field' == "'$clusterName'"   &&              \
+    $'$LINE_TYPE_Field' == "'$AUTHORIZED_FS'" &&              \
+    $'$DEV_NAME_Field'  == "'$deviceName'"     {              \
+      # This is the auth record for the desired cluster and   \
+      # file system.  Return the max allowed level of access. \
+      { print $'$ACCESS_TYPE_Field'    ":"                    \
+              $'$ROOTSQUASH_UID_Field' ":"                    \
+              $'$ROOTSQUASH_GID_Field' ":"  }                 \
+      { rc = 0 }                                              \
+      { exit }                                                \
+    }                                                         \
+                                                              \
+    END {                                                     \
+      if ( fsNotFound ) {                                     \
+        { rc = '$MM_FsNotFound' }                             \
+      }                                                       \
+      if ( remoteClusterNotFound ) {                          \
+        { rc = '$MM_RemoteNotFound' }                         \
+      }                                                       \
+      { exit rc }                                             \
+    }                                                         \
+  ' $mmsdrfsFile)
+  rc=$?
+  if [[ $rc -ne 0 && $rc -ne $MM_AccessDenied ]]
+  then
+    if [[ $rc -eq $MM_FsNotFound ]]
+    then
+      # File system not found.
+      printErrorMsg 288 $mmcmd "$device"
+    elif [[ $rc -eq $MM_RemoteNotFound ]]
+    then
+      # The remote cluster is not authorized to access this cluster.
+      printErrorMsg 259 $mmcmd $clusterName
+    elif [[ $rc -eq $MM_Remotefs ]]
+    then
+      # Command is not allowed for remote file systems.
+      printErrorMsg 238 $mmcmd
+    else
+      # Unexpected error.
+      checkForErrors awk $rc
+    fi
+    return $rc
+  fi
+
+  # Parse the result.
+  IFS=":"
+  set -f ; set -- $accessTypeString ; set +f
+  accessType=$1
+  rsquashUid=$2
+  rsquashGid=$3
+  IFS="$IFS_sv"
+
+  [[ -n $rsquashUid ]] && rsquashOption=" rootSquash=${rsquashUid}:${rsquashGid}"
+  [[ -z $accessType ]] && accessType="none"
+
+  # Put out the result and return.
+  print -- "${accessType}${rsquashOption}"
+  return $rc
+
+}  #----- end of function checkAuth -----------------------------
+
+
+######################################################################
+#
+# Function:  Generate a /etc/filesystems type options line.
+#
+# Input:     $1 - file system device name
+#            $2 - skipMountPointCheck or doMountPointCheck
+#
+# Output:    The first line contains a comma-separated list of
+#            mount options and the names of up to 50 disks.
+#            The second line contains the mount point.
+#
+# Returns:   0 - options line generated successfully
+#            19 (ENODEV) - options line not found
+#            22 (EINVAL) - device name is not valid
+#            1 - some other unexpected error
+#
+######################################################################
+function getEFOptions  # <device> <checkMountPointOpt>
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetEFOptions ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset device=$1
+  typeset checkMountPointOpt=$2
+
+  typeset rc=0
+  typeset fsLine efOptions minorNumber nodesetId mountPoint fsType
+  typeset fsType fsHomeCluster
+
+  [[ ! -f $mmsdrfsFile ]] &&  \
+    checkForErrors "getEFOptions - Missing /var/mmfs/gen/mmsdrfs" 1
+
+  # Strip away any /dev/ prefix from the device id.
+  deviceName=${device##+(/)dev+(/)}
+
+  # Verify the device name.
+  if [[ $deviceName = /* ]]
+  then
+    printErrorMsg 169 $mmcmd "$device"
+    rc=$MM_InvalidName
+    return $rc
+  elif [[ $deviceName = */* ]]
+  then
+    printErrorMsg 170 $mmcmd "$device"
+    rc=$MM_InvalidName
+    return $rc
+  fi
+
+  # Make sure the mmsdrfs file is current.  To avoid undesired side effects,
+  # tell gpfsInit to restrict mount point checking to only the file system
+  # that is subject to the current getEFOptions call.  This is done only if
+  # the checkMountPointOpt parameter is set to "doMountPointCheck" or "yes".
+  [[ $checkMountPointOpt = "doMountPointCheck" || $checkMountPointOpt = "yes" ]] && \
+    export MOUNT_POINT_CHECK="$deviceName"
+  gpfsInit nolock >/dev/null
+  checkForErrors gpfsInit $?
+  unset MOUNT_POINT_CHECK
+
+  # The script looks for the SG_MOUNT line for the file system.
+  # It examines the individual fields and if they have a value,
+  # adds the value to the list.  The fields are comma-separated.
+  # After the mount options are processed, the script looks for
+  # SG_DISKS lines and puts out the names of the first 50 disks.
+  # Disks that are excluded from SG descr operations are skipped.
+  # At the end, if a SG_MOUNT line was found, the script returns 0.
+  # Otherwise, the return code is set to 19 (ENODEV).
+  fsLine=$($awk -F: '                                               \
+    BEGIN {                                                         \
+      { n = 0 }                                                     \
+      { mountPoint = "" }                                           \
+      { fsType     = "" }                                           \
+      { exclOption = "" }                                           \
+    }                                                               \
+                                                                    \
+    $'$LINE_TYPE_Field' == "'$SG_HEADR'"  &&                        \
+    $'$DEV_NAME_Field'  == "'$deviceName'" {                        \
+      { printf $'$NODESETID_Field' " " }                            \
+      if ( $'$DEV_MINOR_Field' != "" ) {                            \
+        { printf $'$DEV_MINOR_Field' " " }                          \
+      }                                                             \
+      else {                                                        \
+        { printf "NULL " }                                          \
+      }                                                             \
+      if ( $'$FS_TYPE_Field' == "'$remotefs'" ) {                   \
+        { fsType = "remotefs" }                                     \
+        { remoteDevName = $'$REMOTE_DEV_NAME_Field' }               \
+      }                                                             \
+      else {                                                        \
+        { fsType = "localfs" }                                      \
+      }                                                             \
+      { printf fsType " " }                                         \
+    }                                                               \
+                                                                    \
+    $'$LINE_TYPE_Field'   == "'$SG_ETCFS'"        &&                \
+    $'$DEV_NAME_Field'    == "'$deviceName'"      &&                \
+    $'$LINE_NUMBER_Field' == "'$MOUNT_POINT_Line'" {                \
+      { mountPoint = $'$ETCFS_TEXT_Field'":" }                      \
+    }                                                               \
+                                                                    \
+    $'$LINE_TYPE_Field' == "'$SG_MOUNT'"  &&                        \
+    $'$DEV_NAME_Field'  == "'$deviceName'" {                        \
+      { printf $'$RW_OPT_Field' }                                   \
+      if ( $'$MTIME_OPT_Field' != "" ) {                            \
+        { printf ","$'$MTIME_OPT_Field' }                           \
+      }                                                             \
+      if ( $'$ATIME_OPT_Field' != "" ) {                            \
+        { printf ","$'$ATIME_OPT_Field' }                           \
+      }                                                             \
+      if ( $'$OTHER_OPT_Field' != "" ) {                            \
+        { printf ","$'$OTHER_OPT_Field' }                           \
+      }                                                             \
+      if ( $'$QUOTA_OPT_Field' != "" ) {                            \
+        { printf ",quota="$'$QUOTA_OPT_Field' }                     \
+      }                                                             \
+      if ( fsType == "remotefs" ) {                                 \
+        { printf ",dev="$'$NODESETID_Field'":"remoteDevName }       \
+        { printf ",ldev='$deviceName'" }                            \
+      }                                                             \
+      { next }                                                      \
+    }                                                               \
+                                                                    \
+    $'$LINE_TYPE_Field' == "'$SG_DISKS'"  &&                        \
+    $'$DEV_NAME_Field'  == "'$deviceName'" {                        \
+      if ( $'$EXCLUDE_Field' == "'$excludedDisk'") {                \
+        { exclOption = ",exclDisks=yes" }                           \
+      }                                                             \
+      else if ( $'$DISK_STATUS_Field' == "" ||                      \
+                $'$DISK_STATUS_Field' == "ready" ) {                \
+        { diskType = $'$DISK_TYPE_Field' }                          \
+        # Map certain disk types to the default GPFS driver type.   \
+        if ( diskType == "lv" || diskType == "vsd" ) {              \
+          { diskType = "" }                                         \
+        }                                                           \
+        if ( n == 0 ) {                                             \
+          { printf ",disks="$'$DISK_NAME_Field'":"diskType }        \
+          { n = n + 1 }                                             \
+          { next }                                                  \
+        }                                                           \
+        else if ( n < 50 ) {                                        \
+          { printf ";"$'$DISK_NAME_Field'":"diskType }              \
+          { n = n + 1 }                                             \
+          { next }                                                  \
+        }                                                           \
+        else {                                                      \
+          { exit }                                                  \
+        }                                                           \
+      }                                                             \
+    }                                                               \
+                                                                    \
+    END {                                                           \
+      if ( fsType == "" ) {                                         \
+        # Filesystem not found.  Return ENODEV.                     \
+        { exit '$MM_FsNotFound' }                                   \
+      }                                                             \
+      else {                                                        \
+        if ( exclOption != "" ) {                                   \
+          { printf exclOption }                                     \
+        }                                                           \
+        # Filesystem found.  Add the mount point to the output.     \
+        { printf " " mountPoint "\n" }                              \
+        { exit  0 }                                                 \
+      }                                                             \
+    }                                                               \
+  ' $mmsdrfsFile)
+  rc=$?
+  if [[ $rc -ne 0 || -z $fsLine ]]
+  then
+    [[ $rc -eq  0 ]] && rc=1
+    if [[ $rc -eq $MM_FsNotFound ]]
+    then
+      # File system not found.
+      printErrorMsg 288 $mmcmd "$device"
+    else
+      # Unexpected error.
+      checkForErrors awk $rc
+    fi
+    return $rc
+  fi
+
+  # Parse the result.
+  set -f ; set -- $fsLine ; set +f
+  fsHomeCluster=$1
+  minorNumber=$2
+  fsType=$3
+  efOptions=$4
+  mountPoint=$5
+
+  # Exit with a message if invoked for a remote file system.
+  if [[ $fsType = remotefs ]]
+  then
+    # Command is not allowed for remote file systems.
+    printErrorMsg 106 $mmcmd "$device" $fsHomeCluster
+    return $MM_Remotefs
+  fi
+
+  # Make sure the /dev entry looks good.  Do this only if the
+  # checkMountPointOpt parameter is set to "doMountPointCheck".
+  if [[ $checkMountPointOpt = "doMountPointCheck" || $checkMountPointOpt = "yes" ]]
+  then
+    [[ $osName = Linux ]] && checkVfsNumber
+    confirmMajorMinor mount /dev/$deviceName $neededMajorNumber $minorNumber
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      # /dev entry not created by GPFS.
+      printErrorMsg 462 "$mmcmd" "/dev/$deviceName"
+      # Pretend everything is OK and let the daemon
+      # decide whether it can mount the file system.
+      rc=0
+    fi
+  fi  # end of if [[ $checkMountPointOpt = "doMountPointCheck" ]]
+
+  # Ensure the output does not overrun the daemon input buffers.
+  # If necessary, take out one or more disks from the efOptions string.
+  while [[ ${#efOptions} -gt 1023 ]]
+  do
+    efOptions="${efOptions%;*}"
+  done
+
+  # Put out the result and return.
+  print -- "$efOptions"
+  print -- "$mountPoint"
+  return $rc
+
+}  #----- end of function getEFOptions --------------------------
+
+
+#####################################################################
+#
+# Function:  Retrieve the mount point for a file system.
+#
+# Input:     $1 - file system device name
+#
+# Output:    The mount point for the file system.
+#
+# Returns:   0 - mount point generated successfully
+#            19 (ENODEV) - file system not found
+#            22 (EINVAL) - device name is not valid
+#            1 - some other unexpected error
+#
+#####################################################################
+function getMountPoint  # <device>
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgetMountPoint ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset device=$1
+  # typeset checkMountPointOpt=$2
+
+  typeset rc=0
+  typeset mountPoint deviceName
+
+  [[ ! -f $mmsdrfsFile ]] &&  \
+    checkForErrors "getMountPoint - Missing /var/mmfs/gen/mmsdrfs" 1
+
+  # Strip away any /dev/ prefix from the device id.
+  deviceName=${device##+(/)dev+(/)}
+
+  # Verify the device name.
+  if [[ $deviceName = /* ]]
+  then
+    printErrorMsg 169 $mmcmd "$device"
+    rc=$MM_InvalidName
+    return $rc
+  elif [[ $deviceName = */* ]]
+  then
+    printErrorMsg 170 $mmcmd "$device"
+    rc=$MM_InvalidName
+    return $rc
+  fi
+
+  # Note:  We will assume that at the point this function is invoked,
+  #        the /etc/filesystems information in general, and the mount
+  #        point in particular, are up-to date. Therefore, we will skip
+  #        the call to gpfsInit.  If this assumption turns out to be
+  #        inaccurate, the sections of code that deal with gpfsInit
+  #        and confirmMajorMinor will have to activated.
+
+  # Make sure the mmsdrfs file is current.  To avoid undesired side effects,
+  # tell gpfsInit to restrict mount point checking to only the file system
+  # that is subject to the current getMountPoint call.  This is done only if
+  # the checkMountPointOpt parameter is set to "doMountPointCheck" or "yes".
+  # [[ $checkMountPointOpt = "doMountPointCheck" || $checkMountPointOpt = "yes" ]] && \
+  #   export MOUNT_POINT_CHECK="$deviceName"
+  # gpfsInit nolock >/dev/null
+  # checkForErrors gpfsInit $?
+  # unset MOUNT_POINT_CHECK
+
+  # The script looks for the first SG_ETCFS line for the
+  # file system and prints the value of the mount point.
+  # If the line was found, the script returns 0.
+  # Otherwise, the return code is set to 19 (ENODEV).
+  mountPoint=$($awk -F: '                             \
+    $'$LINE_TYPE_Field'   == "'$SG_ETCFS'"        &&  \
+    $'$DEV_NAME_Field'    == "'$deviceName'"      &&  \
+    $'$LINE_NUMBER_Field' == "'$MOUNT_POINT_Line'" {  \
+      { mountPoint = $'$ETCFS_TEXT_Field'":" }        \
+      { exit }                                        \
+    }                                                 \
+    END {                                             \
+      if ( mountPoint == "" ) {                       \
+        # Filesystem not found.  Return ENODEV.       \
+        { exit '$MM_FsNotFound' }                     \
+      }                                               \
+      else {                                          \
+        # Filesystem found.  Return the mount point.  \
+        { print mountPoint }                          \
+        { exit  0 }                                   \
+      }                                               \
+    }                                                 \
+  ' $mmsdrfsFile)
+  rc=$?
+  if [[ $rc -ne 0 || -z $mountPoint ]]
+  then
+    [[ $rc -eq  0 ]] && rc=1
+    if [[ $rc -eq $MM_FsNotFound ]]
+    then
+      # File system not found.
+      printErrorMsg 288 $mmcmd "$device"
+    else
+      # Unexpected error.
+      checkForErrors awk $rc
+    fi
+    return $rc
+  fi
+
+  # Make sure the /dev entry looks good.  Do this only if the
+  # checkMountPointOpt parameter is set to "doMountPointCheck".
+  # if [[ $checkMountPointOpt = "doMountPointCheck" || $checkMountPointOpt = "yes" ]]
+  # then
+  #   [[ $osName = Linux ]] && checkVfsNumber
+  #   confirmMajorMinor mount /dev/$deviceName $neededMajorNumber $minorNumber
+  #   rc=$?
+  #   if [[ $rc -ne 0 ]]
+  #   then
+  #     # /dev entry not created by GPFS.
+  #     printErrorMsg 462 "$mmcmd" "/dev/$deviceName"
+  #     # Pretend everything is OK and let the daemon
+  #     # decide whether it can mount the file system.
+  #     rc=0
+  #   fi
+  # fi  # end of if [[ $checkMountPointOpt = "doMountPointCheck" ]]
+
+  # Put out the result and return.
+  print -- "$mountPoint"
+  return $rc
+
+}  #----- end of function getMountPoint -------------------------
+
+
+#####################################################################
+#
+# Function:  This function is called by the mmfsd daemon during
+#            initialization, before it runs recovery for any VFS
+#            mount points that may already be mounted.  The only
+#            thing that this function presently does is to invoke
+#            the /var/mmfs/etc/gpfsready user exit.
+#
+# Note:      The daemon will wait until this script returns.
+#            Do not invoke long running commands synchronously
+#            from this function.  Specifically, do not start
+#            mount commands here and do not do anything that
+#            assumes a mounted GPFS file system.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function gpfsready   #
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgpfsready ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  print "$(date): mmcommon gpfsready invoked"
+
+  #####################################################
+  # Invoke the user exit, if it is properly installed.
+  #####################################################
+  if [[ -x ${mmfscfgDir}gpfsready ]]
+  then
+    print "$(date): ${mmfscfgDir}gpfsready invoked"
+    ${mmfscfgDir}gpfsready
+  fi
+
+  return 0
+
+}  #----- end of function gpfsready -------------------------
+
+
+#####################################################################
+#
+# Function:  This function is called by the mmfsd daemon when it is
+#            up and ready for sessions.  It mounts all file systems
+#            that have to be mounted at daemon startup time and then
+#            invokes the /var/mmfs/etc/mmfsup user exit.
+#
+# Input:     $1 - IP address of this node
+#            $2 - IP address of the config manager node
+#
+# Output:    None
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function mmfsup   # <localIPaddr> <ccMgrIPaddr>
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGmmfsup ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset localIPaddr=$1
+  typeset ccMgrIPaddr=$2
+
+  typeset mountedFileSystems device mountOptions
+
+  print "$(date): mmcommon mmfsup invoked"
+
+  ##############################################################
+  # Mount all GPFS file systems for which -A yes was specified.
+  # If there are such file systems, their device names are put
+  # in file /var/mmfs/gen/automount.  The device names in this
+  # file are ordered to avoid simultaneous mounting of the same
+  # file system from all nodes in the cluster.
+  ##############################################################
+  if [[ -s $startupMountFile && ! -f $ignoreStartupMount ]]
+  then
+    # Create a list of the currently mounted file systems on this node.
+    if [[ $osName = AIX ]]
+    then
+      $mount >$tmpfile 2>/dev/null
+      mountedFileSystems=$tmpfile
+    elif [[ $osName = Linux ]]
+    then
+      mountedFileSystems=/proc/mounts
+    else
+      # Should never get here.
+      printErrorMsg 171 "$mmcmd" "mmfsup: unsupported OS $osName" 1
+      return 1
+    fi  # end of if [[ $osName = AIX ]]
+
+    # Process the list of file systems.
+    exec 3< $startupMountFile
+    while read -u3 device
+    do
+      # If file ignoreStartupMount exists for this file system,
+      # do not attempt to mount it.
+      [[ -s ${ignoreStartupMount}.${device#/dev/} ]] &&  \
+        continue
+
+      # See if there are local override mount options for this file system.
+      if [[ -s ${localMountOptions}.${device#/dev/} ]]
+      then
+        mountOptions="-o $($tail -n -1 ${localMountOptions}.${device#/dev/} 2>/dev/null)"
+      else
+        mountOptions=""
+      fi
+
+      # See if this file system is already mounted.
+      $grep -qw $device $tmpfile > /dev/null 2>&1
+      if [[ $? -ne 0 ]]
+      then
+        # The file system is not mounted.  Do it now.
+        print -- "$(date): mounting $device"
+        $mount $mountOptions $device 2>&1 | $grep -i -v "already mounted"
+        print -- "$(date): finished mounting $device"
+      fi
+    done
+  fi  # end of if [[ -s $startupMountFile ]]
+
+  #####################################################
+  # Invoke the user exit, if it is properly installed.
+  #####################################################
+  if [[ -x ${mmfscfgDir}mmfsup ]]
+  then
+    print "$(date): ${mmfscfgDir}mmfsup invoked"
+    ${mmfscfgDir}mmfsup $localIPaddr $ccMgrIPaddr
+  elif [[ -x ${mmfscfgDir}mmfsup.scr ]]
+  then
+    print "$(date): ${mmfscfgDir}mmfsup.scr invoked"
+    ${mmfscfgDir}mmfsup.scr $localIPaddr $ccMgrIPaddr
+  fi
+
+  return 0
+
+}  #----- end of function mmfsup -------------------------
+
+
+#####################################################################
+#
+# Function:  This function is called by the mmfsd daemon during
+#            normal and abnormal sutdown processing. A number of
+#            cleanup tasks are performed and then the function
+#            invokes the /var/mmfs/etc/mmfsdown user exit.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function mmfsdown   #
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGmmfsdown ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset pid status
+
+  ############################################
+  # Determine whether GPFS will be restarted.
+  ############################################
+  pid=$($ps -eo "pid args" | $awk '/\/runmmfs/ && !/this process/ {print $1}')
+  if [[ -n $pid && -f $rerunmmfsFile ]]
+  then
+    status=active
+  else
+    status=down
+  fi
+
+  print "$(date): mmcommon mmfsdown invoked.  Subsystem: mmfs  Status: $status"
+  ########################
+  # Do the cleanup tasks.
+  ########################
+  if [[ $status = active ]]
+  then
+    #---------------------------------------------
+    # The GPFS daemon died but will be restarted.
+    #---------------------------------------------
+    if [[ -n "$MMTRACE" ]]
+    then
+      # If the MMTRACE environment variable is set,
+      # stop tracing on this node.
+      $mmtrace stop
+
+      if [[ $MMTRACE = global ]]
+      then
+        # If tracing was started on all nodes, cut trace
+        # records on all of the nodes in the cluster.
+        getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+        $mmcommon onall $nodefile $unreachedNodes adminCmd mmtrace
+      fi
+    fi  # end of if [[ -n "$MMTRACE" ]]
+
+  else
+    #-----------------------------------
+    # The GPFS daemon is shutting down.
+    #-----------------------------------
+    if [[ -n "$MMTRACE" ]]
+    then
+      # If the MMTRACE environment variable is set,
+      # stop tracing on this node.
+      $mmtrace stop
+    fi
+
+    # Force unmount of all gpfs file systems.
+    printInfoMsg 426 "$(date)" $mmcmd
+    if [[ $osName = AIX ]]
+    then
+      unmountFileSystems all -f 2>/dev/null
+    elif [[ $osName = Linux ]]
+    then
+      # Note: Do not redirect stderr on Linux umount.
+      unmountFileSystems all -f
+    else
+      # Should never get here.
+      printErrorMsg 171 "$mmcmd" "mmfsdown: unsupported OS $osName" 1
+      return 1
+    fi
+
+    # Remove the respawn file since the daemon will not be restarted.
+    $rm -f $respawnlog
+
+  fi  # end of if [[ $status = active ]]
+
+  #####################################################
+  # Invoke the user exit, if it is properly installed.
+  #####################################################
+  if [[ -x ${mmfscfgDir}mmfsdown ]]
+  then
+    print "$(date): ${mmfscfgDir}mmfsdown invoked"
+    ${mmfscfgDir}mmfsdown $status
+  elif [[ -x ${mmfscfgDir}mmfsdown.scr ]]
+  then
+    print "$(date): ${mmfscfgDir}mmfsdown.scr invoked"
+    ${mmfscfgDir}mmfsdown.scr $status
+  fi
+
+  return 0
+
+}  #----- end of function mmfsdown -------------------------
+
+
+#####################################################################
+#
+# Function:  This function is called prior to unmounting a file system
+#            in response to an explicit mmumount or mmshutdown command.
+#            The function is also invoked by the mmfsd daemon during
+#            normal and abnormal shutdown processing.
+#
+# Input:     $1 - file system device name or all
+#            $2 - reason: umount or cleanup
+#
+# Output:    None
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function preunmount   # <device> <reason>
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGpreunmount ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset device=$1
+  typeset reason=$2
+
+  typeset timeout=5
+  typeset waited=0
+  typeset retrydelay=1
+  typeset pid
+
+
+  ###################################################################
+  # If the reason for the call is daemon cleanup, determine if this
+  # is a normal or abnormal shutdown.  If normal shutdown, the exit
+  # must have already been invoked by mmremote shutdownDaemon.
+  ###################################################################
+  if [[ -x ${mmfscfgDir}preunmount ]]
+  then
+    print "$(date): mmcommon preunmount invoked.  File system: $device  Reason: $reason"
+  fi
+  if [[ $reason = cleanup ]]
+  then
+    # Determine whether GPFS will be restarted.
+    pid=$($ps -eo "pid args" | $awk '/\/runmmfs/ && !/this process/ {print $1}')
+    if [[ -n $pid && -f $rerunmmfsFile ]]
+    then
+      # This is abnormal shutdown; the daemon will be restarted.
+      :  # keep going with the rest of the code.
+    else
+      # This is normal shutdown; the daemon will not be restarted.
+      # This function must have already been invoked by mmremote shutdownDaemon.
+      return 0
+    fi
+  fi  # end of if [[ $reason = cleanup ]]
+
+  #############################################################
+  # Invoke the user exit, if it is properly installed.
+  # Allow no more than 5 seconds for the user code to finish.
+  # If the user process does not return within this time,
+  # the function will return.  This is intended to prevent
+  # GPFS recovery from hanging.
+  #############################################################
+  if [[ -x ${mmfscfgDir}preunmount ]]
+  then
+    print "$(date): ${mmfscfgDir}preunmount invoked"
+    ${mmfscfgDir}preunmount $device $reason &
+    pid=$!
+
+    # Wait until the user exit finishes or the timeout expires.
+    while [[ $waited -lt $timeout ]]
+    do
+      $sleep $retrydelay
+      (( waited = waited + retrydelay ))
+
+      if ! kill -0 $pid 2>/dev/null
+      then
+        # The user process finished.
+        waited=-1
+        break
+      fi
+    done  # while [[ $waited -lt $timeout ]]
+
+    # Inform the user if the exit did not finish in the alloted time.
+    if [[ $waited -gt 0 ]]
+    then
+      print "$(date): ${mmfscfgDir}preunmount not finished after $waited seconds."
+      print "    The process is left to run in the background."
+    fi
+  fi  # end of if [[ -x ${mmfscfgDir}preunmount ]]
+
+  return 0
+
+}  #------------ end of function preunmount -------------------------
+
+
+#####################################################################
+#
+# Function:  This function is called by the mmfsd daemon during
+#            node failure recovery before any distributed locks
+#            held by failed nodes are released.  This script is
+#            invoked once for each file system on all nodes on
+#            which the file system is mounted or otherwise in use.
+#            The only thing that this function presently does is
+#            to invoke the /var/mmfs/etc/gpfsrecover user exit.
+#
+# Note:      The daemon will wait until this script returns.
+#            Do not invoke long running commands synchronously
+#            from this function.  Specifically, do not start
+#            mount commands here and do not attempt to access
+#            any GPFS files or directories.
+#
+# Input:     $1 - file system name
+#            $2 - recovery phase (always 0)
+#            $3, $4, ... - node numbers of the failed nodes.
+#
+# Output:    None
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function gpfsrecover   #
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGgpfsrecover ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset fsname=$1
+  typeset phase=$2
+  shift 2
+  typeset failedNodes=$*
+
+  print "$(date): mmcommon gpfsrecover invoked:"
+  print "    fsname=$fsname  phase=$phase  failed nodes=\"$failedNodes\""
+
+  #####################################################
+  # Invoke the user exit, if it is properly installed.
+  #####################################################
+  if [[ -x ${mmfscfgDir}gpfsrecover ]]
+  then
+    print "$(date): ${mmfscfgDir}gpfsrecover invoked"
+    ${mmfscfgDir}gpfsrecover $fsname $phase $failedNodes
+  elif [[ -x ${mmfscfgDir}gpfsrecover.scr ]]
+  then
+    print "$(date): ${mmfscfgDir}gpfsrecover.scr invoked"
+    ${mmfscfgDir}gpfsrecover.scr $fsname $phase $failedNodes
+  fi
+
+  return 0
+
+}  #----- end of function gpfsrecover -------------------------
+
+
+#####################################################################
+#
+# Function:  Reconcile the mmsdrfs file with the GPFS daemon's data
+#            for the passed filesystem.
+#
+# Input:     fsname
+#
+# Output:    The mmsdrfs file is brought into sync with the
+#            GPFS daemon's view of the passed filesystem.
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function recoverfs   # <fsname>
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGrecoverfs ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset fsname=$1
+  typeset nodeCount versionLine rc oddState
+  typeset findFSoutput fqDeviceName deviceName fsHomeCluster
+  integer newGenNumber
+
+  # Set up trap exception handling and call the gpfsInit function.
+  # It will ensure that the local copy of the mmsdrfs and the rest of the
+  # GPFS system files are up-to-date and it will also obtain the sdr lock.
+  trap pretrap HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit $lockId)
+  setGlobalVar $? $gpfsInitOutput
+
+  findFSoutput=$(findFS "$fsname" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+
+  # Exit with a message if the command was invoked for a remote file system.
+  if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Command is not allowed for remote file systems.
+    printErrorMsg 106 $mmcmd $fsname $fsHomeCluster
+    cleanupAndExit
+  fi
+
+  # Create a file with the reliable names of the nodes that belong to
+  # the nodeset to which the specified file system belongs.
+  $rm -f $nodefile
+  nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+  if [[ $nodeCount -eq 0 ]]
+  then
+    # The nodeset is empty; there is nobody to run the command.
+    printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+    cleanupAndExit
+  fi
+
+  # Copy the sdrfs file to a temporary file.
+  $cp $mmsdrfsFile $tmpsdrfs
+
+  # Reconcile the sdrfs file with the GPFS daemon's view of the filesystem.
+  oddState=$(reconcileSdrfsWithDaemon $deviceName $tmpsdrfs)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # reconcileSdrfsWithDaemon failed.
+    printErrorMsg 171 $mmcmd reconcileSdrfsWithDaemon $rc
+    cleanupAndExit
+  fi
+
+  # Obtain the generation number from the version line of the new sdrfs file.
+  versionLine=$($head -1 $tmpsdrfs)
+  IFS=':'
+  set -f ; set -- $versionLine ; set +f
+  newGenNumber=$6
+  IFS="$IFS_sv"
+
+  # Commit the new mmsdrfs file.
+  trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+  gpfsObjectInfo=$(commitChanges  \
+    $GLOBAL_ID $fsHomeCluster $gpfsObjectInfo $newGenNumber $tmpsdrfs $primaryServer)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # The commit step failed.
+    printErrorMsg 381 $mmcmd
+    # Tell the user what to do.
+    printErrorMsg 190 $mmcmd $fsname $fsname
+    cleanupAndExit
+  fi
+
+  # Unlock the sdr.
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+  sdrLocked=no
+  trap posttrap HUP INT QUIT KILL   # Enable interrupts again.
+
+  # Propagate the changes to all affected nodes.
+  propagateSdrfsFile async $nodefile $mmsdrfsFile $newGenNumber
+
+  # If installed, invoke the syncfsconfig user exit.
+  if [[ -x $syncfsconfig ]]
+  then
+     print -- "$mmcmd:  Starting $syncfsconfig ..."
+     $syncfsconfig
+     print -- "$mmcmd:  $syncfsconfig finished."
+  fi
+
+  cleanupAndExit 0
+
+}  #----- end of function recoverfs ------------------------------
+
+
+#####################################################################
+#
+# Function:  Reset the starting integer for NSD names generation.
+#            This is a service-only command.
+#
+# Input:     $1 - nsdBaseNumber
+#
+# Output:    None
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function resetNsdNumber    #  <nsdBaseNumber>
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGresetNsdNumber ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nsdBaseNumber=$1
+
+  typeset gpfsInitOutput sdrfsLine newGenNumber
+  typeset rc
+
+  #######################################################################
+  # Set up trap exception handling and call the gpfsInit function.
+  # It will ensure that the local copy of the mmsdrfs and the rest of
+  # the GPFS system files are up-to-date and will obtain the sdr lock.
+  #######################################################################
+  trap pretrap HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit $lockId)
+  setGlobalVar $? $gpfsInitOutput
+
+  ########################################################################
+  # Go through the current mmsdrfs file.  Increment the generation
+  # number and build the node name lists that will be needed later.
+  # Set HIGHEST_GPFS_DISK_NBR_Field to the specified value.
+  ########################################################################
+  $rm -f $newsdrfs $nodefile
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )  # this is the global header line
+        # Increment the generation number
+        newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+        v[$SDRFS_GENNUM_Field]=$newGenNumber
+        v[$HIGHEST_GPFS_DISK_NBR_Field]=$nsdBaseNumber
+        ;;
+
+      $MEMBER_NODE )   # this line describes a node
+        # Collect the reliable names of all nodes in the cluster.
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+        checkForErrors "writing to file $nodefile" $?
+        ;;
+
+      $SG_DISKS )  # this line describes a disk
+        print -u2 "$mmcmd: There are disks in the cluster."
+        print -u2 "$mmcmd: The base number for naming disks cannot be changed."
+        cleanupAndExit
+        ;;
+
+      * )  # We are not interested in any other lines.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the new mmsdrfs file.
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  #######################
+  # Commit the changes.
+  #######################
+  trap "" HUP INT QUIT KILL
+  gpfsObjectInfo=$(commitChanges  \
+     $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # The commit step failed
+    printErrorMsg 381 $mmcmd
+    cleanupAndExit
+  fi
+
+  ##################
+  # Unlock the sdr.
+  ##################
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+  sdrLocked=no
+  trap posttrap HUP INT QUIT KILL
+
+  ###############################################
+  # Propagate the changes to all affected nodes.
+  ###############################################
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+  cleanupAndExit 0
+
+}  #----- end of function resetNsdNumber --------------------------
+
+
+######################################################################
+#
+# Function:  Save the specified file on both the primary and backup
+#            server nodes.  Used in conjunction with tspreparedisk to
+#            create backup copy of the SG descriptor being migrated.
+#            The information is stored in /var/mmfs/tmp/mmimportfs
+#            The file name has the following format:
+#            tspreparedisk.diskDesc.<diskName>.<checksum>.<timestamp>
+#
+# Input:     $1 - file name with the following format:
+#                 /var/mmfs/tmp/tspreparedisk.diskDesc.<diskName>
+#
+# Output:    None
+#
+# Returns:   0 - no errors encountered
+#            non-zero - error encounterred
+#
+######################################################################
+function saveSGDescFile    #  <sgDescFile>
+{
+  typeset sourceFile="mmcommon.sh"
+  [[ -n $DEBUG || -n $DEBUGsaveSGDescFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sgDescFile=$1
+
+  typeset sumOutput checksum timeStamp targetName serverNode
+  typeset mvResult keyword status errorCode
+
+  if [[ $MMMODE != lc && $MMMODE != single ]]
+  then
+    # Command not supported.
+    printErrorMsg 376 "$mmcmd:saveSGDescFile" $MMMODE
+    cleanupAndExit
+  fi
+
+  # Return ENOENT if file is not there or if it is empty.
+  [[ ! -s $sgDescFile ]] &&  \
+    return 2
+
+  # Calculate the checksum for the source file.
+  sumOutput=$($sum $sgDescFile)
+  checkForErrors "sum $sgDescFile" $?
+  set -f ; set -- $sumOutput ; set +f
+  checksum=$1
+
+  # Get a current timestamp.
+  timeStamp=$($perl -e 'print time')
+
+  # Generate the name under which the file will be stored
+  # on the primary and backup configuration servers.
+  targetName=${tmpDir}mmimportfs/${sgDescFile##*/}.${checksum}.${timeStamp}
+
+  # Commit the file to the server nodes.
+  [[ -z $primaryServer ]] && determineMode
+  for serverNode in $(print -- "$primaryServer $backupServer")
+  do
+    if [[ $serverNode = $ourNodeName ]]
+    then
+      mvResult=$($mmremote mvSGDescFile  \
+                   $sgDescFile $targetName $checksum $ourNodeName)
+      rc=$?
+    else
+      mvResult=$(run onNode $serverNode mvSGDescFile  \
+                   $sgDescFile $targetName $checksum $ourNodeName)
+      rc=$?
+    fi
+
+    # Parse the result.
+    IFS=":"
+    set -f ; set -- $mvResult ; set +f
+    keyword=$1
+    status=$2
+    errorCode=$3
+    IFS="$IFS_sv"
+
+    if [[ $keyword != mvSGDescFile ]]
+    then
+      # Unexpected error from mmremote or mmdsh.
+      printErrorMsg 171 $mmcmd "mmremote mvSGDescFile" 1
+      return 1
+    fi
+
+    if [[ $status != success ]]
+    then
+      if [[ $errorCode = copyfile || $errorCode = checksum ]]
+      then
+        # Error retrieving data from client.
+        printErrorMsg 379 $mmcmd $ourNodeName $serverNode
+      else
+        # Unexpected error from mmremote or mmdsh.
+        printErrorMsg 171 $mmcmd "mmremote mvSGDescFile" 1
+      fi
+      return 1
+    fi  # end of if [[ $status != success ]]
+
+  done # for serverNode in $(print -- "$primaryServer $backupServer")
+
+
+  # Everything seems to have worked fine.
+  # Remove the source file and return.
+  $rm -f $sgDescFile
+  return 0
+
+}  #----- end of function saveSGDescFile -------------------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+kword=$arg1
+kword_lc=$arg1
+arg3_lc=$arg3
+
+if [[ -z $kword ]]
+then
+  # Missing keyword
+  printErrorMsg 133 mmcommon NULL
+  cleanupAndExit
+fi
+
+# Set up silent trap exception handling.
+trap pretrap3 HUP INT QUIT KILL
+
+# Determine the execution environment and set needed global variables.
+if [[ $arg3_lc  = checknewclusternode* ||
+      $arg3_lc  = removefromclustercr  ||
+      $kword_lc = getdiskdevices       ]]
+then
+  # If the node is not yet a member of the GPFS cluster,
+  # the functions to determine the local data do not work.
+  [[ -z $ourNodeName ]] && ourNodeName=$($hostname)
+else
+  # In all other cases, file mmsdrfs should already exist
+  # and we can use it as a starting point.
+  [[ -z $MMMODE || -z $environmentType ]] && determineMode
+  getLocalNodeData
+fi
+
+# Make sure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+# Reset the remote commands if necessary.
+[[ -n $GPFS_rshPath ]] && rsh=$GPFS_rshPath
+[[ -n $GPFS_rcpPath ]] && rcp=$GPFS_rcpPath
+
+# Perform the action requested by the keyword.
+case $kword_lc in
+
+                   #----------------------------------------
+  init)            # mmcommon init <lockid | nolock>
+                   #----------------------------------------
+    if [[ $argc -ne 2 ]]
+    then
+      operands="<lockid | nolock>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Update local system files; lock the sdr if requested.
+    gpfsInit $arg2
+    rc=$?
+    ;;
+
+                     #----------------------------------------
+  getlocalnodename)  # mmcommon getLocalNodeName
+                     #----------------------------------------
+    print -- "$ourNodeName"
+    rc=0
+    ;;
+
+                     #----------------------------------------
+  getclusternodes)   # mmcommon getClusterNodes
+                     #----------------------------------------
+    # Return the reliable hostnames of all nodes in the cluster.
+    getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile
+    rc=$?
+    ;;
+
+                         #----------------------------------------
+  getnodedatafordaemon)  # mmcommon getNodeDataForDaemon <clType>
+                         #----------------------------------------
+    # Set MMMODE from the passed cluster type parameter.
+    [[ -n $arg2 ]] && export MMMODE=$arg2
+
+    # Get the data from the mmsdrfs file.
+    getNodeDataFromSdrfs $sdrNodeFile "."
+    rc=$?
+
+    # Return the result to the caller via standard output.
+    [[ $rc -eq 0 ]] && $cat $sdrNodeFile
+    ;;
+
+               #----------------------------------------
+  getnodelist) # mmcommon getNodeList [norefresh]
+               #----------------------------------------
+    # Get the data from the mmsdrfs file.
+    getNodeListFromSdrfs $sdrNodeFile $arg2
+    rc=$?
+
+    # Return the result to the caller via standard output.
+    [[ $rc -eq 0 ]] && $cat $sdrNodeFile
+    ;;
+
+                  #------------------------
+  getdiskdevices) # mmcommon getDiskDevices
+                  #------------------------
+    # Generate a list of all disk devices known to this node.
+    getDiskDevices
+    rc=$?
+    ;;
+
+                         #---------------------------------------
+  getvsdrpdnodedata)     # mmcommon getVsdRpdNodeData <filename>
+                         #---------------------------------------
+    if [[ $argc -ne 2 ]]
+    then
+      operands="<filename>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Obtain node-related data from the peer domain.
+    getVsdRpdNodeData $arg2
+    rc=$?
+    ;;
+
+                   #----------------------------------------
+  getvsddata)      # mmcommon getVSDdata <filename>
+                   #----------------------------------------
+    if [[ $argc -ne 2 ]]
+    then
+      operands="<filename>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Call routine to extract vsd information based on
+    # which type of VSD code (PSSP or RSCT) is in use.
+    vsdPath=$(LC_ALL=C $ls -l $vsdatalst 2>/dev/null)
+    if [[ $vsdPath = *${vsdatalstRSCT}* && -x $vsdatalstRSCT ]]
+    then
+      # Extract VSD-related data from the RPD.
+      getVSDdataRPD $arg2
+      rc=$?
+    elif [[ $vsdPath = *${vsdatalstPSSP}* && -x $vsdatalstPSSP ]]
+    then
+      # Extract VSD-related data from the SDR.
+      getVSDdataSDR $arg2
+      rc=$?
+    else
+      printErrorMsg 320 "getVSDdata"
+      cleanupAndExit
+    fi
+    ;;
+
+                          #------------------------------------
+  getvsdnodedata)         # mmcommon getVsdNodeData <filename>
+                          #------------------------------------
+    if [[ $argc -ne 2 ]]
+    then
+      operands="<filename>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Call routine to extract vsd information based on
+    # which type of VSD code (PSSP or RSCT) is in use.
+    vsdPath=$(LC_ALL=C $ls -l $vsdatalst 2>/dev/null)
+    if [[ $vsdPath = *${vsdatalstRSCT}* && -x $vsdatalstRSCT ]]
+    then
+      # Extract VSD-related data from the RPD.
+      getVsdNodeDataRPD $arg2
+      rc=$?
+    elif [[ $vsdPath = *${vsdatalstPSSP}* && -x $vsdatalstPSSP ]]
+    then
+      # Extract VSD-related data from the SDR.
+      getVsdNodeDataSDR $arg2
+      rc=$?
+    else
+      printErrorMsg 320 "getVsdNodeData"
+      cleanupAndExit
+    fi
+    ;;
+
+                     #----------------------------------------
+  getvsdnodenumbers) # mmcommon getVsdNodeNumbers
+                     #----------------------------------------
+    # Create mapping of the GPFS to VSD node numbers.
+    getVsdNodeNumbers
+    rc=$?
+    ;;
+
+                   #---------------------------------------------------------
+  checkauth)       # mmcommon checkAuth <clusterName> <sgDevice> [norefresh]
+                   #---------------------------------------------------------
+    if [[ $argc -lt 3 ]]
+    then
+      operands="<clusterName> <deviceName> [norefresh]"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Check the authorization.
+    checkAuth $arg2 "$arg3" $arg4
+    rc=$?
+    ;;
+
+                   #--------------------
+  gpfsready)       # mmcommon gpfsready
+                   #--------------------
+    # Invoke the gpfsready exit.
+    gpfsready
+    rc=$?
+    ;;
+
+                   #-----------------
+  mmfsup)          # mmcommon mmfsup
+                   #-----------------
+    # Invoke the mmfsup exit.
+    mmfsup $arg2 $arg3
+    rc=$?
+    ;;
+
+                   #-------------------
+  mmfsdown)        # mmcommon mmfsdown
+                   #-------------------
+    # Invoke the mmfsdown exit.
+    mmfsdown
+    rc=$?
+    ;;
+
+                    #---------------------------------------
+  preunmount)       # mmcommon preunmount <device> <reason>
+                    #---------------------------------------
+    if [[ $argc -lt 3 ]]
+    then
+      operands="<deviceName|all> <reason>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Invoke the preunmount exit.
+    preunmount $arg2 $arg3
+    rc=$?
+    ;;
+
+                   #----------------------------------------------------
+  gpfsrecover)     # mmcommon gpfsrecover <sgDevice> <phase> <nodeList>
+                   #----------------------------------------------------
+    if [[ $argc -lt 4 ]]
+    then
+      operands="<deviceName> <pahse> <nodeNumber> [<nodeNumber> ... ]"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Shift past the positional parameters and get the node list.
+    shift 3
+    nodeList=$*
+
+    # Invoke the gpfsrecover exit.
+    gpfsrecover $arg2 $arg3 $nodeList
+    rc=$?
+    ;;
+
+                   #-------------------------------------------------------
+  getefoptions)    # mmcommon getEFOptions <sgDevice> <checkMountPointOpt>
+                   #-------------------------------------------------------
+    if [[ $argc -ne 3 ]]
+    then
+      operands="<deviceName> <checkMountPointOpt>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Generate the options line.
+    getEFOptions "$arg2" $arg3
+    rc=$?
+    ;;
+
+                   #------------------------------------
+  getmountpoint)   # mmcommon getMountPoint <sgDevice>
+                   #------------------------------------
+    if [[ $argc -ne 2 ]]
+    then
+      operands="<deviceName>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Generate the options line.
+    getMountPoint "$arg2" $arg3
+    rc=$?
+    ;;
+
+                   #------------------------------------------
+  getcontactnodes) # mmcommon getContactNodes <remoteCluster>
+                   #------------------------------------------
+    if [[ $argc -ne 2 ]]
+    then
+      operands="<remoteCluster>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # If an user exit is installed, try it first.  If we get
+    # a result, consider this to be the definitive answer.
+    contactList=""
+    if [[ -x $remoteclusternodes ]]
+    then
+      contactList=$($remoteclusternodes $arg2)
+      rc=$?
+      # Tell the daemon where does the data come from.
+      [[ -n $contactList ]] &&  \
+        contactList="${contactList},refreshMethod=1"
+    fi
+
+    # If an user exit is not activated, or if it did not return
+    # anything, look for the contact nodes in the mmsdrfs file.
+    if [[ -z $contactList ]]
+    then
+      gpfsInit nolock >/dev/null
+      checkForErrors gpfsInit $?
+      contactList=$($grep -e "^$arg2:$REM_CLUSTER:" $mmsdrfsFile |  \
+                              $GETVALUE $CONTACT_NODES_Field)
+#     # Tell the daemon where does the data come from.
+#     [[ -n $contactList ]] &&  \
+#       contactList="${contactList},refreshMethod=0"
+    fi
+
+    # Put out the result.
+    if [[ -n $contactList ]]
+    then
+      print -- "$contactList"
+      rc=0
+    else
+      [[ $rc -eq 0 ]] && rc=19  # ENODEV
+    fi
+    ;;
+
+                   #----------------------------------------
+  getfsnames)      # mmcommon getFSNames
+                   #----------------------------------------
+
+    # Return the names of the file systems in the nodeset to which
+    # this node belongs.  The environment is assumed to be up to date.
+    # All errors are ignored.
+    #
+    # Because this function is used by the daemon and can be invoked
+    # during recovery, there should be no locking and/or initializing
+    # of the GPFS environment.  Otherwise, there can be a deadlock.
+    #
+    $awk -F: '                                         \
+      BEGIN { nodesetId = "" }                         \
+      $'$LINE_TYPE_Field'   == "'$MEMBER_NODE'"   &&   \
+      $'$NODE_NUMBER_Field' == "'$ourNodeNumber'"  {   \
+        { nodesetId = $'$NODESETID_Field' }            \
+        { next }                                       \
+      }                                                \
+      $'$LINE_TYPE_Field' == "'$SG_HEADR'" &&          \
+      $'$NODESETID_Field' == nodesetId {               \
+        { print "/dev/"$'$DEV_NAME_Field' }            \
+      }                                                \
+    ' $mmsdrfsFile  2>/dev/null
+    rc=0
+    ;;
+
+                     #------------------------------------------
+  getquotaenabledfs) # mmcommon getQuotaEnabledFS [<nodesetId>]
+                     #------------------------------------------
+
+    # Make sure the mmsdrfs file is current.
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+
+    # If the nodeset is set to the global id, clear the variable
+    # so that we can look at all SG_MOUNT records in the sdrfs.
+    # Otherwise, prepend the '^' char to ensure correct match.
+    [[ -n $arg2 ]] && nsId="$arg2"
+    [[ $arg2 = $GLOBAL_ID ]] && nsId=""
+    [[ -n $nsId ]] && nsId="^$nsId"
+
+    # Put out the names of all file systems that have non-null quota options.
+    $awk -F: '                                \
+      /'$nsId:$SG_MOUNT:'/ {                  \
+        if ( $'$QUOTA_OPT_Field' != "" ) {    \
+          { print $'$DEV_NAME_Field' }        \
+        }                                     \
+      }                                       \
+    ' $mmsdrfsFile
+    checkForErrors awk $?
+    rc=0
+    ;;
+
+                     #----------------------------------------
+  getdisknames)      # mmcommon getDiskNames [<SGname>] [<nodesetId>]
+                     #----------------------------------------
+
+    # Make sure the mmsdrfs file is current.
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+
+    # Make sure that the file system name, if specified,
+    # is stripped from any /dev/ prefix.
+    deviceName=""
+    [[ -n $arg2 ]] && deviceName="${arg2##+(/)dev+(/)}:"
+
+    # If the nodeset is set to the global id, clear the variable
+    # so that we can look at all SG_DISKS records in the sdrfs.
+    # Otherwise, prepend the '^' char to ensure correct match.
+    [[ -n $arg3 ]] && nsId="$arg3"
+    [[ $arg3 = $GLOBAL_ID ]] && nsId=""
+    [[ -n $nsId ]] && nsId="^$nsId"
+
+    # Put out the names of all file system disks.
+    $awk -F: '                                                      \
+      /'$nsId:$SG_DISKS:$deviceName'/ { print $'$DISK_NAME_Field' } \
+    ' $mmsdrfsFile
+    checkForErrors awk $?
+    rc=0
+    ;;
+
+                     #----------------------------------------
+  getsgdevice)       # mmcommon getSGDevice <diskname>
+                     #----------------------------------------
+    # Make sure the mmsdrfs file is current.
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+
+    # Find the file system to which the disk belongs.
+    findFSforDisk "$arg2" $mmsdrfsFile
+    rc=0
+    ;;
+
+                     #----------------------------------------
+  recoverfs)         # mmcommon recoverfs <fsname>
+                     #----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<fsname>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Make sure the mmsdrfs file matches the GPFS daemon's data
+    # for the specified filesystem.
+    recoverfs "$arg2"
+    rc=$?
+    ;;
+
+                     #----------------------------------------
+  getnsddata)        # mmcommon getNsdData [<fsname>]
+                     #----------------------------------------
+    # Make sure the mmsdrfs file is current.
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+
+    # Retrieve the NSD data.
+    getNsdData $arg2
+    rc=0
+    ;;
+
+                     #---------------------------------------------------
+  restoremmfscfg )   # mmcommon restoreMmfscfg <nodesetId>
+                     #---------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands=" <nodesetId> "
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Retrieve the mmfs.cfg data.
+    restoreMmfscfg $arg2
+    rc=$?
+    ;;
+
+                     #---------------------------------------------------
+  resetnsdnumber )   # mmcommon resetNsdNumber <nn>
+                     #---------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands=" <nodesetId> "
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Change the starting number for NSD names.
+    resetNsdNumber $arg2
+    rc=$?
+    ;;
+
+                   #-------------------------------------------------------
+  on1 | on1long )  # mmcommon on1 <hostname> <remoteCommand> [<arg ... >]
+                   #-------------------------------------------------------
+    if [[ $argc -lt 3 ]]
+    then
+      operands="<hostname> <remoteCommand> [<arg ... >] "
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    target=$arg2
+
+    # Shift past the hostname and get the command to execute and its args.
+    shift 2
+    remoteCommand=$*
+    remoteVerb=$1
+
+    if [[ $target = $ourNodeName || $MMMODE = single ]]
+    then
+      # If we happen to be the target node, run the command locally.
+      $mmremote $remoteCommand
+      rc=$?
+
+    else
+      # Invoke mmdsh to execute command on remote system,
+      # suppressing prepending of the hostname to the output lines.
+      $rm -f $tmpDir$remoteVerb$$.*
+      $mmdsh -svL $target $mmremote onbehalf2 $ourNodeName $remoteVerb$$  \
+                  $MMMODE $NO_LINK mmremote $remoteCommand
+      rc=$?
+
+      # Determine the return code.  The goal is to pass back the return code
+      # from the mmremote command.  Because rsh and different versions of ssh
+      # handle the return code differently (e.g., rsh does not propagate
+      # it back), mmremote onbehalf creates a special file that has the
+      # return code appended at the end of its name.  If we do not see this
+      # file on our side, we assume that mmdsh returned the return code from
+      # the remote command.  Although this is not necessarily always the case
+      # (there could have been a problem with the touch command that creates
+      # the special file) it is the best we can do under the circumstances.
+      rcInfo=$($ls $tmpDir$remoteVerb$$.* 2> /dev/null)
+      $rm -f $tmpDir$remoteVerb$$.*
+      if [[ -n $rcInfo ]]
+      then
+        # The return code was passed back via the empty file mechanism.
+        # Extract the return code from the file name.
+        rc=${rcInfo#$tmpDir$remoteVerb$$\.}
+#esjx      else
+#esjx        # The special file was not found.
+#esjx        # Override the rc from mmdsh if necessary.
+#esjx        [[ $rc -eq 0 ]] && rc=1
+      fi
+    fi
+    ;;
+
+              #---------------------------------------------------
+  onall)      # mmcommon onall <relNameFile> <unreachedNodesFile>
+              #                   <remoteCommand> [<arg ... >]
+              #---------------------------------------------------
+    if [[ $argc -lt 4 ]]
+    then
+      operands="<relNameFile> <unreachedNodesFile> <remoteCommand> [<arg ... >]"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Shift past the reliable names file and the report file
+    # and get the command to execute and its args.
+    shift 3
+    remoteCommand=$*
+
+    if [[ $MMMODE = single ]]
+    then
+      # Execute the command locally.
+      $mmremote $remoteCommand
+      rc=$?
+    else
+      # Invoke mmdsh to execute command on remote systems.
+      $mmdsh -vF $arg2 -R $arg3 $mmremote $remoteCommand
+      rc=$?
+    fi
+    ;;
+
+               #----------------------------------------------------------------
+  onall_async) # mmcommon onall_async <relNameFile> <remoteCommand> [<arg ... >]
+               #----------------------------------------------------------------
+    if [[ $argc -lt 3 ]]
+    then
+      operands="<relNameFile> <remoteCommand> [<arg ... >] "
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Shift past the file name and get the command to execute and its args.
+    shift 2
+    remoteCommand=$*
+
+    if [[ $MMMODE = single ]]
+    then
+      # Execute the command locally.
+      $mmremote $remoteCommand
+      rc=$?
+    else
+      # Invoke mmdsh to execute command on remote systems.
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  $mmdsh -vF $arg2 $mmremote $remoteCommand
+      $mmdsh -vF $arg2 $mmremote $remoteCommand >/dev/null 2>&1
+      rc=$?
+    fi
+
+    # Remove the node names file.  The caller is gone by now.
+    $rm -f $arg2
+    ;;
+
+                              #----------------------------------------------
+  pushsdr | pushsdr_async )   # mmcommon pushSdr <relNameFile> <fileToCopy>
+                              #                  <checksum> [<options>]
+                              #----------------------------------------------
+    if [[ $argc -lt 4 ]]
+    then
+      operands="<relNameFile> <fileToCopy> <checksum> [<options>]"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    if [[ $kword_lc = pushsdr_async ]]
+    then
+      async_call=yes
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  print -u2 "$(date): mmcommon $kword: mmsdrfs propagation started"
+    fi
+
+    # Shift past all positional parameters and collect the command arguments.
+    shift 4
+    opt="$@"
+
+    if [[ $MMMODE = single ]]
+    then
+      # This function is a no-op for single clusters.
+      rc=0
+    else
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  $mmdsh -vF $arg2 -I $arg3 $mmremote upgradeSystemFiles $arg3 $arg4 "$opt"
+      $mmdsh -vF $arg2 -I $arg3  \
+        $mmremote upgradeSystemFiles $arg3 $arg4 "$opt" >/dev/null 2>&1
+      rc=$?
+    fi
+
+    if [[ $async_call = yes ]]
+    then
+      # Cleanup files that were left behind by the main process.
+      $rm -f $arg2 $arg3
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  print -u2 "$(date): mmcommon $kword: mmsdrfs propagation completed; mmdsh rc=$rc"
+    fi
+    ;;
+
+                              #------------------------------------------------
+  pushkey | pushkey_async )   # mmcommon pushKey <nodeFile> <sdrfsFile>
+                              #                  <sdrfsChecksum>
+                              #                  <keyFile> <keyChecksum>
+                              #                  [<options>]
+                              #------------------------------------------------
+    if [[ $argc -lt 6 ]]
+    then
+      operands="<nodeFile> <sdrfsFile> <sdrfsChecksum> <keyFile> <keyChecksum> [<options>]"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    if [[ $kword_lc = pushkey_async ]]
+    then
+      async_call=yes
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  print -u2 "$(date): mmcommon $kword: mmsdrfs propagation started"
+    fi
+
+    # Shift past all positional parameters and collect the command arguments.
+    shift 6
+    opt="$@"
+
+    if [[ $MMMODE = single ]]
+    then
+      # This function is a no-op for single clusters.
+      rc=0
+    else
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  $mmdsh -vF $arg2 -I $arg3 -I $arg5  \
+#esjdbg    $mmremote upgradeSystemFiles2 $arg3 $arg4 $arg5 $arg6 "$opt"
+      $mmdsh -vF $arg2 -I $arg3 -I $arg5  \
+        $mmremote upgradeSystemFiles2 $arg3 $arg4 $arg5 $arg6 "$opt" >/dev/null 2>&1
+      rc=$?
+    fi
+
+    if [[ $async_call = yes ]]
+    then
+      # Cleanup files that were left behind by the main process.
+      $rm -f $arg2 $arg3
+      [[ $arg5 != ${genkeyData}* ]] && $rm -f $arg5
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  print -u2 "$(date): mmcommon $kword: mmsdrfs propagation completed; mmdsh rc=$rc"
+    fi
+    ;;
+
+  onactive | onactive_async )
+             #------------------------------------------------------------------
+             # mmcommon onactive <preferredNode> <relNameFile> <fileToCopy>
+             #           <fsToCheck> <scope> <link> <remoteCommand> [<arg ... >]
+             #------------------------------------------------------------------
+    if [[ $argc -lt 8 ]]
+    then
+      operands="<preferredNode> <relNameFile> <fileToCopy>"
+      operands="$operands <fsToCheck> <scope> <link> <remoteCommand> [<arg ... >] "
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # If async call, mark the relNameFile for deletion.
+    [[ $kword_lc = onactive_async ]] && async_call=yes
+
+    # Shift past all positional parameters and collect the command arguments.
+    shift 8
+    arguments="$@"
+
+    # Find an active node and execute the command.
+    runRemoteCommand $arg2 $arg3 $arg4 $arg5 $arg6 $arg7 $arg8 "$arguments"
+    rc=$?
+
+    # Remove the file with node names.
+    [[ $async_call = yes ]] && $rm -f $arg3
+    ;;
+
+                #-------------------------------------------------------
+  linkcommand)  # mmcommon linkCommand <preferredNode> <relNameFile>
+                #                      <remoteCommand> [<arg ... >]
+                #-------------------------------------------------------
+    if [[ $argc -lt 4 ]]
+    then
+      operands="<preferredNode> <relNameFile> <remoteCommand> [<arg ... >] "
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Shift past all positional parameters and collect the command arguments.
+    shift 4
+    arguments="$@"
+
+    # Find an active node and execute the command.
+    runRemoteCommand $arg2 $arg3  \
+      $NO_FILE_COPY $NO_MOUNT_CHECK NULL $LINK $arg4 "$arguments"
+    rc=$?
+    ;;
+
+        #-------------------------------------------
+  run)  # mmcommon run <function> [arg ... ]
+        # Note:  Intended for use by SMIT mostly
+        #-------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<function> [arg ... ]"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    shift 1  # Skip past the keyword "run".
+    $@       # Execute the requested function.
+    rc=$?
+    ;;
+
+              #-------------------------------------------
+  freelocks)  # mmcommon freeLocks
+              #-------------------------------------------
+    primaryServer=$($head -1 $mmsdrfsFile | $GETVALUE $PRIMARY_SERVER_Field)
+    setRunningCommand null $primaryServer > /dev/null 2>&1
+    freeLockOnServer $primaryServer > /dev/null 2>&1
+    freeEnvLock > /dev/null 2>&1
+    ;;
+
+                      #---------------------------
+  startautomounter )  # mmcommon startAutomounter
+                      #---------------------------
+    # Make sure that the local mmfs.cfg file is up-to-date.
+    gpfsInitOutput=$(gpfsInit nolock)
+    checkForErrors gpfsInit $?
+
+    # Find out the value of the automountDir config parameter.
+    automountDir=$(showCfgValue automountDir)
+    [[ -z $automountDir ]] && automountDir=$defaultAutomountDir
+
+    # Run the OS automount command.
+    startAutomounter $automountDir
+    rc=$?
+    ;;
+
+                    #--------------------------------------
+  savesgdescfile )  # mmcommon saveSGDescFile <sgDescFile>
+                    #--------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<sgDescFile>"
+      printErrorMsg 260 mmcommon $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Store the file on the config server nodes.
+    saveSGDescFile $arg2
+    rc=$?
+    ;;
+
+                         #------------------------------------------------------
+  expirationdatacleanup) # mmcommon expirationDataCleanup <expData> <lockAction>
+                         #------------------------------------------------------
+    expirationDataCleanup $arg2 $arg3
+    rc=0
+    ;;
+
+                   #-----------------------
+  killsdrserv)     # mmcommon killSdrServ
+                   #-----------------------
+    killSdrServ
+    rc=$?
+    ;;
+
+        #----------------------------------------
+  * )   # Unknown action requested
+        #----------------------------------------
+    # Invalid keyword
+    printErrorMsg 133 mmcommon $kword
+    cleanupAndExit
+    ;;
+
+esac  # end case $kword_lc in
+
+cleanupAndExit $rc doNotUnlock
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrcluster
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrcluster	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrcluster	(revision 16)
@@ -0,0 +1,1440 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)99 1.131.1.9 src/avs/fs/mmfs/ts/admin/mmcrcluster.sh, mmfs, avs_rgpfs24, rgpfs24s012a 4/2/07 12:58:08
+###############################################################################
+#
+# Usage:
+#   mmcrcluster -N {NodeDesc[,NodeDesc...] | NodeFile}
+#               -p PrimaryServer [-s SecondaryServer]
+#               [-r remoteShellCommand] [-R remoteFileCopyCommand]
+#               [-C ClusterName] [-U DomainName] [-A] [-c ConfigFile]
+#
+# where:
+#
+#   -N NodeDesc,NodeDesc,...  specifies a comma-separated list of node
+#                             descriptors that detail the node interfaces
+#                             to be added to the cluster.  The nodes must not
+#                             presently belong to the cluster.
+#
+#   -N NodeFile         specifies a file of node descriptors that detail
+#                       the node interfaces to be added to the cluster.
+#                       The nodes must not presently belong to the cluster.
+#
+#   -p PrimaryServer    specifies the node to be used as the primary server
+#                       of the GPFS sdrfs data for this cluster
+#
+#   -s SecondaryServer  specifies the node to be used as the secondary server
+#                       of the GPFS sdrfs data for this cluster (optional)
+#
+#   -r remoteShellCommand    specifies the fully-qualified pathname for
+#                       the remote shell program to be used by GPFS.
+#                       The default is /usr/bin/rsh.
+#
+#   -R remoteFileCopyCommand  specifies the fully-qualified pathname for
+#                       the remote file copy program to be used by GPFS.
+#                       The default is /usr/bin/rcp.
+#
+#   -C ClusterName      user-specified name for the cluster.  If the name
+#                       contains dots it is assumed to be a fully-qualified
+#                       domain name.  Otherwise, the domain will default
+#                       to the domain of the primary configuration server.
+#                       If not specified, or if single dot is specified,
+#                       ClusterName will default to the fully-qualified name
+#                       of the primary config server (-p parameter).
+#
+#   -U DomainName       UID domain name
+#
+#   -A                  specifies automatic bringing up of mmfs daemons at
+#                       boot time.  Default is no autoload.
+#
+#   -c ConfigFile       file with mmfs.cfg parameters; see mmfs.cfg.sample
+#                       in /usr/lpp/mmfs/samples
+#
+#
+# Obsolete but still supported options:
+#
+#   -n NodeFile         specifies a file of node descriptors that detail the
+#                       node interfaces making up the GPFS cluster
+#
+# Each node descriptor has the format:
+#
+#   nodeName:nodeRoles:adminNodeName:
+#
+# where:
+#
+#   nodeName        is either a short or fully-qualified hostname,
+#                   or an IP address for the primary GPFS network
+#                   to be used for daemon to daemon communications
+#
+#   nodeRoles       is a '-' separated list of node roles.  Unless changed
+#                   on the mmconfig or mmaddnode commands, these roles will
+#                   be associated with the node when it becomes a member of
+#                   a nodeset.
+#
+#   adminNodeName   is either a short or fully-qualified hostname, or an IP
+#                   address to be used by the admin scripts to communicate
+#                   between nodes.  This is an optional parameter; if it
+#                   is not specified, the nodeName value is used.
+#
+# Undocumented options:
+#
+#   -t ClusterType  specifies the cluster type for this cluster
+#                   (supported values are "lc" and "single").
+#                   See note below for additional information.
+#
+#     The format of the -t parameter is ClusterType[/EnvironmentType]
+#     where "ClusterType" is the GPFS cluster type as defined above.
+#     The optional "EnvironmentType" designates the environment within
+#     which the GPFS cluster is being created.  The following table
+#     shows the allowed values.
+#
+#       ClusterType  EnvironmentType  Remarks
+#
+#          lc           lc2           true loose cluster; no RSCT
+#
+#          lc           lc            old style Linux only loose cluster;
+#                                     RSCT subsystem is controlled by GPFS;
+#                                     this combination is no longer allowed
+#
+#          single       single        single node environment
+#
+# Notes:
+#
+#   - Nodes are designated as quorum or non-quorum nodes when they
+#     are added to the cluster (mmcrcluster, mmaddnode).
+#
+#   - The quorum designation can be changed with mmchconfig.
+#
+#   - It is not allowed to change (or delete from the cluster)
+#     the last quorum node.
+#
+#   - If VSD-based disks will be used, all AIX nodes must belong to
+#     an RSCT peer domain.  VSD disks will not be visible to nodes
+#     that do not belong to the RSCT peer domain.  This rule cannot
+#     be enforced by mmcrcluster or mmaddnode.
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmcrcluster.sh"
+[[ -n $DEBUG || -n $DEBUGmmcrcluster ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+inputNodes=${tmpDir}inputNodes.${mmcmd}.$$
+processedNodes=${tmpDir}processedNodes.${mmcmd}.$$
+goodnodes=${tmpDir}goodnodes.${mmcmd}.$$
+singleNode=${tmpDir}singleNode.${mmcmd}.$$
+
+LOCAL_FILES=" $inputNodes $processedNodes $goodnodes $singleNode "
+
+
+# Local declarations
+usageMsg=343
+backupServer=""
+rshPath=""
+rcpPath=""
+nodesetId=$HOME_CLUSTER
+integer nodeNumber=0
+integer nodeCount=0
+integer totalNodeCount=0
+integer quorumNodeCount=0
+rc=0
+fatalError=""
+primaryInCluster=""
+backupInCluster=""
+lowestVersion=100000
+highestVersion=0
+osEnvironment=$osName
+commProtocol=TCP
+tcpPort=$defaultTcpPort
+newKeyGenNumber=0
+committedKeyGenNumber=0
+secLevel=0
+keyfileFormatLevel=0
+quorumDefault=$nonQuorumNode
+eventsPort=""
+mmsdrservPort=""
+lapiWindow=$noWindow       # obsolete
+switchNumber=$noSwitch     # obsolete
+
+Aarg=no
+carg=""
+Carg=""
+narg=""
+Narg=""
+parg=""
+rarg=""
+Rarg=""
+sarg=""
+Uarg=""
+typeset -l targ=""
+typeset -l role
+
+
+# Local routines
+
+
+#####################################################################
+#
+# Function:  Verifies that a command executed successfully.  If the
+#            return code from the command is not zero, the function
+#            issues a message and sets a failure flag.  It returns
+#            with the same return code that was specified on input.
+#
+# Input:     $1 - name of the command to check
+#            $2 - return code from the execution of the command
+#
+#####################################################################
+function checkForErrorsAndReturn
+{
+  if [ $2 != "0" ]
+  then
+    fatalError=yes
+    # Unexpected error
+    printErrorMsg 171 "$mmcmd" "$1" $2
+  fi
+  return $2
+
+}  #---------- end of function checkForErrorsAndReturn -----------
+
+
+########################################################################
+#
+# Function:  Verifies the user provided file with mmfs.cfg parameters
+#            and filters out all blank and comment lines.  Lines with
+#            configuration parameters that are invalid, or require
+#            additional processing, or have already been established
+#            by the mmcrcluster processing, are filtered out as well.
+#
+# Input:     $1 - name of file with the user-specified mmfs.cfg values.
+#            $2 - name of output file with verified mmfs.cfg values.
+#
+# Output:    None explicit.
+#
+# Returns:   Always zero.
+#
+########################################################################
+function processUserConfigFile  # <cfgFile> <verifiedFile>
+{
+  typeset sourceFile="mmcrcluster.sh"
+  [[ -n $DEBUG || -n $DEBUGprocessUserConfigFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset cfgFile=$1
+  typeset verifiedCfgFile=$2
+
+  typeset -l cfgParm_lc
+  typeset cfgLine cfgParm errCode parmOut
+  typeset nodeOverrideInEffect=false
+
+  # Issue a progress message (processing user config data . . . ).
+  printInfoMsg 143 "$(date)" $mmcmd $cfgFile
+
+  $rm -f $verifiedCfgFile
+  exec 4<&-
+  exec 4< $cfgFile
+  while read -u4 cfgLine
+  do
+    # Skip empty and comment lines.
+    [[ $cfgLine = *([$BLANKchar$TABchar])   ]] && continue
+    [[ $cfgLine = *([$BLANKchar$TABchar])#* ]] && continue
+
+    # Parse the input line.
+    #
+    #  Each line is expected to consist of a config parameter and
+    #  a corresponding configuration value.  If a line contains a
+    #  node name, or a list of comma separated names, enclosed in
+    #  square brackets, the line introduces a node-override section.
+    #  A node-override section is terminated by a "[common]" line.
+
+    set -f ; set -- $cfgLine ; set +f
+    cfgParm=$1
+
+    # Convert the parameter to lower case characters only.
+    cfgParm_lc="$cfgParm"
+
+    # See if this is a node-override delimiter line.
+    if [[ $cfgParm = "[common]" ]]
+    then
+      # This is the terminating line of a node-override section.
+      nodeOverrideInEffect=false
+      errCode=0
+
+    elif [[ $cfgParm = \[* ]]
+    then
+      # This is the begining of a node-override section.
+      nodeOverrideInEffect=true
+      errCode=0
+
+    else
+      # This is a line with a config paramter/value pair.
+      # Examine the parameter to see if it should be suppressed.
+
+      case $cfgParm_lc in
+
+        # The following parameters are always set by mmcrcluster.
+        autoload                )  errCode=1 ;;
+        clusterid               )  errCode=1 ;;
+        clustername             )  errCode=1 ;;
+        clustertype             )  errCode=1 ;;
+        maxfeaturelevelallowed  )  errCode=1 ;;
+        usedisklease            )  errCode=1 ;;
+        uiddomain               )  [[ -n $Uarg ]]  && errCode=1 ;;
+
+        # The following parameters must always be set with mmchconfig.
+        cipherlist              )  errCode=2 ;;
+        eventsexportertcpport   )  errCode=2 ;;
+        gpfseventsport          )  errCode=2 ;;
+        mmsdrservport           )  errCode=2 ;;
+        mmsdrservtcpport        )  errCode=2 ;;
+        tcpport                 )  errCode=2 ;;
+        tiebreakerdisk          )  errCode=2 ;;
+        tsctcpport              )  errCode=2 ;;
+
+        # The following parameters are obsolete.
+        comm_protocol           )  errCode=3 ;;
+        corequorum              )  errCode=3 ;;
+        diskquorum              )  errCode=3 ;;
+        dynmemsize              )  errCode=3 ;;
+        gpfsobjectport          )  errCode=3 ;;
+        group                   )  errCode=3 ;;
+        importancefactor        )  errCode=3 ;;
+        locktableversion        )  errCode=3 ;;
+        logdir                  )  errCode=3 ;;
+        mallocsize              )  errCode=3 ;;
+        maxpagepool             )  errCode=3 ;;
+        memrebalanceinterval    )  errCode=3 ;;
+        mmgetobjdport           )  errCode=3 ;;
+        minpagepool             )  errCode=3 ;;
+        multinode               )  errCode=3 ;;
+        nodelist                )  errCode=3 ;;
+        nodeprefs               )  errCode=3 ;;
+        recgroup                )  errCode=3 ;;
+        singlenodequorum        )  errCode=3 ;;
+        spsecworkerthreads      )  errCode=3 ;;
+        useauthentication       )  errCode=3 ;;
+        usesinglenodequorum     )  errCode=3 ;;
+        usespsecurity           )  errCode=3 ;;
+        worker2threads          )  errCode=3 ;;
+
+        # Everything else looks acceptable for now.
+        * )  errCode=0 ;;
+
+      esac  # end of case $cfgParm_lc in
+
+
+      # If no error was detected so far, see if the parameter
+      # is allowed to appear in a node-override section.
+      if [[ $errCode -eq 0 && $nodeOverrideInEffect = true ]]
+      then
+
+        case $cfgParm_lc in
+          # The following parameters cannot appear in a node-override section.
+          allowdummyconnections   )  errCode=4 ;;
+          allowremoteconnections  )  errCode=4 ;;
+          automountdir            )  errCode=4 ;;
+          distributedtokenserver  )  errCode=4 ;;
+          leasedmstimeout         )  errCode=4 ;;
+          leaseduration           )  errCode=4 ;;
+          leaserecoverywait       )  errCode=4 ;;
+          listenonallinterfaces   )  errCode=4 ;;
+          maxmissedpingtimeout    )  errCode=4 ;;
+          maxtokenservers         )  errCode=4 ;;
+          minmissedpingtimeout    )  errCode=4 ;;
+          minquorumnodes          )  errCode=4 ;;
+          multitmmountthreshold   )  errCode=4 ;;
+          pindaemon               )  errCode=4 ;;
+          pingperiod              )  errCode=4 ;;
+          res                     )  errCode=4 ;;
+          setctimeonattrchange    )  errCode=4 ;;
+          totalpingtimeout        )  errCode=4 ;;
+          tscprimary              )  errCode=4 ;;
+          uiddomain               )  errCode=4 ;;
+          writealldescreplicas    )  errCode=4 ;;
+
+          # Everything else is acceptable.
+          * )  errCode=0 ;;
+
+        esac  # end of case $cfgParm_lc in
+
+      fi  # end of if [[ -z $errCode && -n $nodeOverrideInEffect ]]
+
+    fi  # end of if [[ $cfgParm = "[common]" ]]
+
+
+    # If an error was detected, issue an appropriate message and
+    # skip the line.  Otherwise, add the line to the verified file.
+    if [[ $errCode -eq 1 ]]
+    then
+      # Parameter is set by mmcrcluster.
+      printErrorMsg 144 $mmcmd $cfgParm "$cfgLine"
+
+    elif [[ $errCode -eq 2 ]]
+    then
+      # Parameter must be set using mmchconfig.
+      printErrorMsg 145 $mmcmd $cfgParm mmchconfig "$cfgLine"
+
+    elif [[ $errCode -eq 3 ]]
+    then
+      # Parameter is obsolete.
+      printErrorMsg 146 $mmcmd $cfgParm "$cfgLine"
+
+    elif [[ $errCode -eq 4 ]]
+    then
+      # Parameter cannot appear in a node-override section.
+      printErrorMsg 147 $mmcmd $cfgParm "$cfgLine"
+
+    else
+      # The line looks OK.  Ensure the parameter is spelled correctly.
+      # Print the line to the verified file.
+      case $cfgParm_lc in
+
+        allowdeleteaclonchmod             ) parmOut=allowDeleteAclOnChmod ;;
+        allowdummyconnections             ) parmOut=allowDummyConnections ;;
+        allowremoteconnections            ) parmOut=allowRemoteConnections ;;
+        allowsynchronousfcntlretries      ) parmOut=allowSynchronousFcntlRetries ;;
+        assertonstructureerror            ) parmOut=assertOnStructureError ;;
+        asyncsocketnotify                 ) parmOut=asyncSocketNotify ;;
+        automountdir                      ) parmOut=automountDir ;;
+        autosgloadbalance                 ) parmOut=autoSgLoadBalance ;;
+        crashdump                         ) parmOut=crashdump ;;
+        datastructuredump                 ) parmOut=dataStructureDump ;;
+        datastructuredumponsgpanic        ) parmOut=dataStructureDumpOnSGPanic ;;
+        distributedtokenserver            ) parmOut=distributedTokenServer ;;
+        dmapienable                       ) parmOut=dmapiEnable ;;
+        dmapieventbuffers                 ) parmOut=dmapiEventBuffers ;;
+        dmapieventtimeout                 ) parmOut=dmapiEventTimeout ;;
+        dmapimounttimeout                 ) parmOut=dmapiMountTimeout ;;
+        dmapisessionfailuretimeout        ) parmOut=dmapiSessionFailureTimeout ;;
+        dmapiworkerthreads                ) parmOut=dmapiWorkerThreads ;;
+        eewatchdoghungthreadcutoff        ) parmOut=eeWatchDogHungThreadCutoff ;;
+        eewatchdoginterval                ) parmOut=eeWatchDogInterval ;;
+        enablenfscluster                  ) parmOut=enableNFSCluster ;;
+        enableuidremap                    ) parmOut=enableUIDremap ;;
+        enablestatuidremap                ) parmOut=enableStatUIDremap ;;
+        enabletreebasedquotas             ) parmOut=enableTreeBasedQuotas ;;
+        envvar                            ) parmOut=envVar ;;
+        flusheddatatarget                 ) parmOut=flushedDataTarget ;;
+        flushedinodetarget                ) parmOut=flushedInodeTarget ;;
+        healthcheckinterval               ) parmOut=healthCheckInterval ;;
+        hotlistpct                        ) parmOut=hotlistPct ;;
+        ignorereplicaspaceonstat          ) parmOut=IgnoreReplicaSpaceOnStat ;;
+        iohistorysize                     ) parmOut=ioHistorySize ;;
+        leasedmstimeout                   ) parmOut=leaseDMSTimeout ;;
+        leaseduration                     ) parmOut=leaseDuration ;;
+        leaserecoverywait                 ) parmOut=leaseRecoveryWait ;;
+        license                           ) parmOut=LICENSE ;;
+        listenonallinterfaces             ) parmOut=listenOnAllInterfaces ;;
+        mmapkprocs                        ) parmOut=mmapKprocs ;;
+        maxallocpcttocache                ) parmOut=maxAllocPctToCache ;;
+        maxbackgrounddeletionthreads      ) parmOut=maxBackgroundDeletionThreads ;;
+        maxblocksize                      ) parmOut=maxblocksize ;;
+        maxbufferdescs                    ) parmOut=maxBufferDescs ;;
+        maxdatashippoolsize               ) parmOut=maxDataShipPoolSize ;;
+        maxdiskaddrbuffs                  ) parmOut=maxDiskAddrBuffs ;;
+        maxfcntlrangesperfile             ) parmOut=maxFcntlRangesPerFile ;;
+        maxfilecleaners                   ) parmOut=maxFileCleaners ;;
+        maxfilestocache                   ) parmOut=maxFilesToCache ;;
+        maxinodedeallochistory            ) parmOut=maxInodeDeallocHistory ;;
+        maxinodedeallocprefetch           ) parmOut=maxInodeDeallocPrefetch ;;
+        maxmbps                           ) parmOut=maxMBpS ;;
+        maxmissedpingtimeout              ) parmOut=maxMissedPingTimeout ;;
+        maxnfsdelegationtimeout           ) parmOut=maxNFSDelegationTimeout ;;
+        maxreceiverthreads                ) parmOut=maxReceiverThreads ;;
+        maxsgdesciobufsize                ) parmOut=maxSGDescIOBufSize ;;
+        maxstatcache                      ) parmOut=maxStatCache ;;
+        maxtokenservers                   ) parmOut=maxTokenServers ;;
+        minmissedpingtimeout              ) parmOut=minMissedPingTimeout ;;
+        minquorumnodes                    ) parmOut=minQuorumNodes ;;
+        mmsdrservtimeout                  ) parmOut=mmsdrservTimeout ;;
+        mmsdrservworkerpool               ) parmOut=mmsdrservWorkerPool ;;
+        multitmmountthreshold             ) parmOut=multiTMMountThreshold ;;
+        nfsprefetchstrategy               ) parmOut=nfsPrefetchStrategy ;;
+        nsdbufspace                       ) parmOut=nsdbufspace ;;
+        nsdmaxworkerthreads               ) parmOut=nsdMaxWorkerThreads ;;
+        nsdminworkerthreads               ) parmOut=nsdMinWorkerThreads ;;
+        nsdservercheckingintervalformount ) parmOut=nsdServerCheckingIntervalForMount ;;
+        nsdserverwaitconfig               ) parmOut=nsdServerWaitConfig ;;
+        nsdserverwaittimeformount         ) parmOut=nsdServerWaitTimeForMount ;;
+        nsdserverwaittimewindowonmount    ) parmOut=nsdServerWaitTimeWindowOnMount ;;
+        nsdthreadsperdisk                 ) parmOut=nsdThreadsPerDisk ;;
+        openssllibname                    ) parmOut=openssllibname ;;
+        pagepool                          ) parmOut=pagepool ;;
+        panicondiskfail                   ) parmOut=unmountOnDiskFail ;;
+        pcttokenmgrstorageuse             ) parmOut=pctTokenMgrStorageUse ;;
+        pindaemon                         ) parmOut=pindaemon ;;
+        pingperiod                        ) parmOut=pingPeriod ;;
+        pinmaster                         ) parmOut=pinmaster ;;
+        prefetchpct                       ) parmOut=prefetchPct ;;
+        prefetchthreads                   ) parmOut=prefetchThreads ;;
+        prefetchtimeout                   ) parmOut=prefetchTimeout ;;
+        priority                          ) parmOut=priority ;;
+        readreplicapolicy                 ) parmOut=readReplicaPolicy ;;
+        res                               ) parmOut=res ;;
+        retryfcntltokenthreshold          ) parmOut=retryFcntlTokenThreshold ;;
+        seqdiscardthreshhold              ) parmOut=seqDiscardThreshhold ;;
+        setctimeonattrchange              ) parmOut=setCtimeOnAttrChange ;;
+        sharedmemlimit                    ) parmOut=sharedMemLimit ;;
+        socketrcvbuffersize               ) parmOut=socketRcvBufferSize ;;
+        socketsndbuffersize               ) parmOut=socketSndBufferSize ;;
+        statcachedirpct                   ) parmOut=statCacheDirPct ;;
+        subnets                           ) parmOut=subnets ;;
+        syncinterval                      ) parmOut=syncInterval ;;
+        takeovertimeout                   ) parmOut=takeovertimeout ;;
+        tokenmemlimit                     ) parmOut=tokenMemLimit ;;
+        totalpingtimeout                  ) parmOut=totalPingTimeout ;;
+        trace                             ) parmOut=trace ;;
+        tscprimary                        ) parmOut=tscPrimary ;;
+        tscworkerpool                     ) parmOut=tscWorkerPool ;;
+        uiddomain                         ) parmOut=uidDomain ;;
+        uidexpiration                     ) parmOut=uidExpiration ;;
+        unmountondiskfail                 ) parmOut=unmountOnDiskFail ;;
+        wait4rvsd                         ) parmOut=wait4RVSD ;;
+        waitforvsd                        ) parmOut=wait4RVSD ;;
+        watchdogtimeout                   ) parmOut=watchdogtimeout ;;
+        worker1threads                    ) parmOut=worker1Threads ;;
+        worker3threads                    ) parmOut=worker3Threads ;;
+        writealldescreplicas              ) parmOut=writeAllDescReplicas ;;
+        writebehindthreshhold             ) parmOut=writebehindThreshhold ;;
+        \[*                               ) parmOut="" ;;
+        *                                 ) parmOut="$cfgParm" ;;
+      esac  # end of case $cfgParm_lc in
+
+      # Print the line to the verified file.
+      print -- "$parmOut${cfgLine#$cfgParm}" >> $verifiedCfgFile
+      checkForErrors "writing to file $verifiedCfgFile" $?
+    fi
+
+  done  # end of while read -u4 cfgLine
+
+  return 0
+
+}  #---------- end of function processUserConfigFile -----------
+
+
+
+######################
+# Mainline processing
+######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+while getopts :Ac:C:n:N:p:r:R:s:t:U: OPT
+do
+  case $OPT in
+
+    A) # autoload option
+       [[ $Aarg = yes ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Aarg=yes
+       ;;
+
+    c) # config file name
+       [[ -n $carg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       carg=$OPTARG
+       ;;
+
+    C) # cluster name
+       [[ -n $Carg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Carg=$OPTARG
+       checkName clusterName 255 "$Carg"
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    n) # node descriptors file
+       [[ -n $narg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       narg=$OPTARG
+       ;;
+
+    N) # node descriptors list or file
+       [[ -n $Narg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Narg=$OPTARG
+       ;;
+
+    p) # primary server
+       [[ -n $parg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       parg=$OPTARG
+       ;;
+
+    r) # remote shell command
+       [[ -n $rarg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       rarg=$OPTARG
+       [[ $rarg = ${rarg#/} ]] &&  \
+         syntaxError "absolutePath_2" $noUsageMsg "-$OPT" "$rarg"
+       ;;
+
+    R) # remote file copy command
+       [[ -n $Rarg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Rarg=$OPTARG
+       [[ $Rarg = ${Rarg#/} ]] &&  \
+         syntaxError "absolutePath_2" $noUsageMsg "-$OPT" "$Rarg"
+       ;;
+
+    s) # secondary server
+       [[ -n $sarg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       sarg=$OPTARG
+       ;;
+
+    t) # cluster type
+       [[ -n $targ ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       targ=$OPTARG
+       ;;
+
+    U) # UID domain name
+       [[ -n $Uarg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Uarg=$OPTARG
+       ;;
+
+    +[AcCnNprRstU]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+
+done  # end of while getopts :Ac:C:n:N:p:r:R:s:t:U: OPT do
+
+shift OPTIND-1
+[[ $# -ne 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+[[ -z $targ ]] && targ="lc/lc2"
+
+[[ $targ != single* && ( -z $parg || ( -z $Narg && -z $narg ) ) ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+[[ -n $narg && -n $Narg ]] &&  \
+  syntaxError "invalidCombination" $usageMsg "-n" "-N"
+
+
+##############################################################
+# If the cluster type is single, simulate missing parameters.
+##############################################################
+if [[ $targ = single* ]]
+then
+  if [[ -z $Narg && -z $narg ]]
+  then
+    print -- "$($hostname)" > $singleNode
+    Narg=$singleNode
+  fi
+
+  [[ -z $parg ]] &&  \
+    parg=$($hostname)
+
+  quorumDefault=$quorumNode
+  mmsdrservPort=0
+fi
+
+
+###########################################################
+# Check the value of the mandatory cluster type parameter.
+###########################################################
+IFS='/'
+set -f ; set -- $targ ; set +f
+clusterType=$1
+environmentType=$2
+IFS="$IFS_sv"
+
+case $clusterType in
+  lc )
+    [[ -z $environmentType ]] &&  \
+      environmentType=lc2
+    [[ $environmentType != lc2 ]] &&  \
+      invalidClusterType=yes
+    ;;
+
+  single )
+    [[ -z $environmentType ]] &&  \
+      environmentType=single
+    [[ $environmentType != single ]] &&  \
+      invalidClusterType=yes
+    ;;
+
+  * )
+    invalidClusterType=yes
+    ;;
+esac
+
+if [[ $invalidClusterType = yes ]]
+then
+  # Invalid value for cluster type.
+  printErrorMsg 153 $mmcmd "-t"
+   cleanupAndExit
+fi
+
+clusterSubtype=$environmentType
+
+
+########################################################
+# Check whether the prerequisite software is installed.
+########################################################
+checkPrereqs $environmentType
+if [[ $? -ne 0 ]]
+then
+  # The prerequisite software is not installed.
+  printErrorMsg 349 $mmcmd $($hostname)
+  cleanupAndExit
+fi
+
+
+##########################################################################
+# Set global variables.  These are normally determined automatically,
+# but since a cluster does not exist yet, they need to be set explicitly.
+##########################################################################
+export MMMODE=$clusterType
+export environmentType=$environmentType
+ourNodeName=$(hostname)
+
+
+##################################################
+# Check the mandatory node descriptors parameter.
+##################################################
+if [[ -n $Narg ]]
+then
+  # The -N parameter may be either a list or a file.  Which is it?
+  if [[ -f $Narg ]]
+  then
+    # It is a file; verify its existence and create our own copy.
+    checkUserFile $Narg $inputNodes
+    [[ $? -ne 0 ]] && cleanupAndExit
+  else
+    # It is not a file, so it must be a list.
+    # Convert the input node list into a file.
+    $rm -f $inputNodes
+    IFS=','
+    for nodeDesc in $Narg
+    do
+      print -- "$nodeDesc" >> $inputNodes
+      checkForErrors "writing to $inputNodes" $?
+    done
+    IFS="$IFS_sv"    # Restore the default IFS setting.
+  fi  # end of if [[ -f $Narg ]]
+
+else
+  # Since -N was not specified, -n must have been.
+  # Check the node names file parameter and create our own copy.
+  checkUserFile $narg $inputNodes
+  [[ $? -ne 0 ]] && cleanupAndExit
+fi  # end of if [[ -n $Narg ]]
+
+# Make sure that at least one node is designated as quorum,
+# and count the number of quorum nodes.
+# If there are more than 7 quorum nodes, issue a warning;
+# If there are more than 128 quorum nodes, issue an error and quit.
+if [[ $clusterType = lc ]]
+then
+  quorumNodeCount=$($awk -F: '             \
+    BEGIN { nqnodes = 0 }                  \
+    $1 ~ /^#/ || NF <= 1 { next }          \
+    $2 ~ "quorum" && $2 !~ "nonquorum" {   \
+      { nqnodes += 1 }                     \
+    }                                      \
+    END { print nqnodes }                  \
+  ' $inputNodes)
+
+  if [[ $quorumNodeCount -eq 0 ]]
+  then
+    # At least one quorum node must be defined.
+    printErrorMsg 53 $mmcmd
+    cleanupAndExit
+  fi
+
+  if [[ $quorumNodeCount -gt $maxQuorumNodes ]]
+  then
+    # Error:  The number of quorum nodes exceeds the maximum allowed.
+    printErrorMsg 393 $mmcmd $maxQuorumNodes
+    cleanupAndExit
+  fi
+
+  if [[ $quorumNodeCount -gt $maxRecQuorumNodes ]]
+  then
+    # Warning:  The number of quorum nodes exceeds the recommended maximum.
+    printErrorMsg 394 $mmcmd $maxRecQuorumNodes
+  fi
+fi  # end of if [[ $clusterType = lc ]]
+
+
+###################################################
+# Process the optional remote commands parameters.
+###################################################
+if [[ -n $rarg ]]
+then
+  if [[ ! -x $rarg ]]
+  then
+    # Path is not an executable.
+    printErrorMsg 422 $mmcmd ${rarg%% *}
+    cleanupAndExit
+  fi
+  rshPath="$rarg"
+  rsh="$rshPath"
+  export GPFS_rshPath="$rshPath"
+else
+  rshPath="_DEFAULT_"
+fi
+
+if [[ -n $Rarg ]]
+then
+  if [[ ! -x $Rarg ]]
+  then
+    # Path is not an executable.
+    printErrorMsg 423 $mmcmd ${Rarg%% *}
+    cleanupAndExit
+  fi
+  rcpPath="$Rarg"
+  rcp="$rcpPath"
+  export GPFS_rcpPath="$rcpPath"
+else
+  rcpPath="_DEFAULT_"
+fi
+
+
+#################################################
+# Check the optional -c ConfigFile parameter.
+#################################################
+if [[ -n $carg && ( ! -f $carg || ! -r $carg ) ]]
+then
+  # Can't read the file.
+  printErrorMsg 43 $mmcmd $carg
+  cleanupAndExit
+fi
+
+
+####################################################
+# Fail the command if an sdrfs file already exists.
+# This should never happen, as mmcrcluster should
+# only be run once before the sdrfs file exists.
+####################################################
+if [[ -f $mmsdrfsFile ]]
+then
+  printErrorMsg 348 $mmcmd $($hostname)
+  cleanupAndExit
+fi
+
+
+##################################
+# Set up trap exception handling.
+##################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+#######################################################
+# Determine the lookup order for resolving host names.
+#######################################################
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+########################################
+# Process the primary server parameter.
+########################################
+# Find the name and IP address of the primary server.
+hostResult=$($host $parg)
+set -f ; set -- $hostResult ; set +f
+primaryServer=$1
+primaryIPaddr=${3%%,*}    # Exclude everything after the first comma.
+if [[ -z $primaryIPaddr ]]
+then
+  # Invalid node name specified.
+  printErrorMsg 54 $mmcmd $parg
+  cleanupAndExit
+fi
+
+
+#####################################################
+# Process the backup server parameter, if specified.
+#####################################################
+if [[ -n $sarg ]]
+then
+  # Find the name and IP address of the secondary server.
+  hostResult=$($host $sarg)
+  set -f ; set -- $hostResult ; set +f
+  backupServer=$1
+  backupIPaddr=${3%%,*}    # Exclude everything after the first comma.
+  if [[ -z $backupIPaddr ]]
+  then
+    # An invalid node name was specified.
+    printErrorMsg 54 $mmcmd $sarg
+    cleanupAndExit
+  fi
+
+  # Verify that the two servers are different.
+  if [[ $primaryServer = $backupServer ]]
+  then
+    printErrorMsg 346 $mmcmd $primaryServer
+    cleanupAndExit
+  fi
+else
+  backupServer="_NOSECONDARY_"
+fi   # end of if [[ -n $sarg ]]
+
+
+######################################
+# Process the cluster name parameter.
+######################################
+if [[ -z $Carg || $Carg = "." ]]
+then
+  clusterName=$primaryServer
+else
+  if [[ $Carg = *.* ]]
+  then
+    clusterName=$Carg
+  else
+    clusterName=${Carg}.${primaryServer#*.}
+  fi
+fi
+
+
+##########################################
+# Generate a unique cluster identifier.
+##########################################
+clusterId=$($mmcrclusterid $primaryIPaddr)
+
+# Create the overloaded clType and clusterIdAndSt parameters
+# that will be passed to the checkNewClusterNode routine.
+if [[ $clusterType = $environmentType ]]
+then
+  clType=$clusterType
+else
+  clType="${clusterType}/${environmentType}"
+fi
+clusterIdAndSt="${clusterId}:${clusterSubtype}"
+
+
+######################################################################
+# Generate the node information for the mmsdrfs file.
+#
+# Loop through the nodes to be added to the sdrfs file, checking
+# as we go.  When the loop is done we know which nodes can be added
+# to the sdrfs file, which ones can't, and whether the primary and
+# backup servers belong to the cluster.  A MEMBER_NODE line will be
+# generated for each node that can be added to the new GPFS cluster.
+######################################################################
+$rm -f $tmpsdrfs $goodnodes $processedNodes
+$touch $tmpsdrfs $goodnodes $processedNodes
+exec 3<&-
+exec 3< $inputNodes
+while read -u3 nodeDesc
+do
+  # Skip empty and comment lines.
+  [[ $nodeDesc = *([$BLANKchar$TABchar])   ]] && continue
+  [[ $nodeDesc = *([$BLANKchar$TABchar])#* ]] && continue
+
+  # Keep track of the total number of nodes specified by the user.
+  totalNodeCount=$totalNodeCount+1
+
+  # Parse the node descriptor.
+  IFS=':'
+  set -f ; set -- $nodeDesc ; set +f
+  nodeName=$1
+  nodeRoles=$2
+  nodeName2=$3
+  IFS="$IFS_sv"
+
+  # Assume default values for the node role fields.
+  designation=$CLIENT
+  quorumField=$quorumDefault
+
+  # Process the node roles list.
+  if [[ -n $nodeRoles ]]
+  then
+    IFS="-"
+    set -f ; set -- $nodeRoles ; set +f
+    IFS="$IFS_sv"
+    while [[ -n $1 ]]
+    do
+      role=$1  # Convert the node's role to lower case only.
+      case $role in
+
+        $CLIENT )
+          designation=$CLIENT
+          ;;
+
+        $MANAGER )
+          designation=$MANAGER
+          ;;
+
+        $QUORUM )
+          quorumField=$quorumNode
+          ;;
+
+        $NONQUORUM )
+          quorumField=$nonQuorumNode
+          ;;
+
+        * )  # Invalid node designations specified.
+          printErrorMsg 293 $mmcmd "$nodeDesc"
+          fatalError=yes
+          break 2
+          ;;
+      esac
+
+      # Move to the next field.
+      shift
+    done  # end while [[ -n $1 ]]
+  fi  # end if [[ -n $nodeRoles ]]
+
+  # At this point, nodeName can be any one of the following:
+  # a fully-qualified adapter port name, a short name, or an IP address.
+  # Determine the values for all three.  We will designate the fully
+  # qualified hostname as the reliable hostname for the node.
+  hostResult=$($host $nodeName)
+  set -f ; set -- $hostResult ; set +f
+  daemonNodeName=$1
+  shortName=${1%% *|.*}    # Exclude everything after the first dot.
+  ipa=${3%%,*}             # Exclude everything after the first comma.
+  if [[ -z $ipa ]]
+  then
+    # An invalid node name was specified.
+    printErrorMsg 54 $mmcmd $nodeName
+    fatalError=yes
+    break
+  fi
+
+  # At this point, if it was specified, nodeName2 could be a
+  # fully-qualified adapter port name, a short name, or an IP address.
+  # Convert it to a fully-qualified node name in case it is not one already.
+  if [[ -n $nodeName2 ]]
+  then
+    hostResult=$($host $nodeName2)
+    set -f ; set -- $hostResult ; set +f
+    adminNodeName=$1
+    adminShortName=${1%% *|.*}  # Exclude everything after the first dot.
+    adminIpa=${3%%,*}           # Exclude everything after the first comma.
+    if [[ -z $adminIpa ]]
+    then
+      # An invalid admin node name was specified.
+      printErrorMsg 54 $mmcmd $nodeName2
+      fatalError=yes
+      break
+    fi
+  else
+    # The user did not set a distinct admin node name, so set the
+    # admin node names to be the same as the daemon node names.
+    adminNodeName=$daemonNodeName
+    adminShortName=$shortName
+  fi
+
+  # Make sure neither node name (admin or daemon) is specified more than once.
+  $grep -qw $daemonNodeName $processedNodes > /dev/null 2>&1
+  if [[ $? -eq 0 ]]
+  then
+    # The node is specified twice.
+    printErrorMsg 347 $mmcmd $nodeName
+    fatalError=yes
+    break
+  fi
+  if [[ $adminNodeName != $daemonNodeName ]]
+  then
+    $grep -qw $adminNodeName $processedNodes > /dev/null 2>&1
+    if [[ $? -eq 0 ]]
+    then
+      # The node is specified twice.
+      printErrorMsg 347 $mmcmd $nodeName2
+      fatalError=yes
+      break
+    fi
+  fi
+
+  # Assign a node number to the node.
+  nodeNumber=$nodeNumber+1
+  gsNodeNumber=$nodeNumber
+  adapterType=""
+
+  if [[ $environmentType = single ]]
+  then
+    adapterType="lo"
+    if [[ $nodeNumber -gt 1 ]]
+    then
+      # Invalid node name specified.
+      printErrorMsg 54 $mmcmd $nodeName
+      fatalError=yes
+      break
+    fi
+  fi  #  end of if [[ $environmentType = single ]]
+
+  # Add the daemon and admin node names to the list of processed nodes.
+  print -- "${daemonNodeName}:${adminNodeName}" >> $processedNodes
+  checkForErrorsAndReturn "writing to file $processedNodes" $?
+
+  # Build a line with the local node data for the node.  The full-blown
+  # MEMBER_NODE line will be created further down when we have all of the
+  # information that we need.
+  sdrfsLine="$nodesetId:$MEMBER_NODE::0:$nodeNumber:$shortName:$ipa"
+  sdrfsLine="$sdrfsLine:$adminNodeName:$designation:$adapterType:$lapiWindow"
+  sdrfsLine="$sdrfsLine:$switchNumber:$OLD_NODE:$adapterType:$daemonNodeName"
+  sdrfsLine="$sdrfsLine:$adminShortName::::$quorumField:$gsNodeNumber:"
+
+  # Invoke the checkNewClusterNode function to assure that the
+  # node is new and that its level of GPFS supports clusters.
+  # If it passes these tests, a skeleton sdrfs file is stored on the node.
+  printInfoMsg 416 "$(date)" $mmcmd $daemonNodeName
+  runOutput=$(run on1 $adminNodeName checkNewClusterNode  \
+     $clType $primaryServer $backupServer "$sdrfsLine"    \
+     "$rshPath" "$rcpPath" "$clusterIdAndSt" 2> $errMsg)
+  rc=$?
+  IFS=':'
+  set -f ; set -- $runOutput ; set +f
+  IFS="$IFS_sv"
+  keyword=$1
+  nodeStatus=$2
+  adapterType=$3
+  installedDaemonVersion=$4
+  installedProductVersion=$5
+  installedOsName=$6
+
+  if [[ $rc = 0 && $nodeStatus = success && $keyword = checkNewClusterNode ]]
+  then
+    # The checkNewClusterNode call succeeded.
+    # Build the line that will represent this node in the mmsdrfs file.
+    nodeCount=$nodeCount+1
+    sdrfsLine="$nodesetId:$MEMBER_NODE::$nodeCount:$nodeNumber:$shortName:$ipa"
+    sdrfsLine="$sdrfsLine:$adminNodeName:$designation:$adapterType:$lapiWindow"
+    sdrfsLine="$sdrfsLine:$switchNumber:$OLD_NODE:$adapterType:$daemonNodeName"
+    sdrfsLine="$sdrfsLine:$adminShortName:$installedDaemonVersion:$installedProductVersion"
+    sdrfsLine="$sdrfsLine:$installedOsName:$quorumField:$gsNodeNumber:"
+
+    # Add the MEMBER_NODE line to the other lines
+    # that will go in the mmsdrfs file.
+    print -- "$sdrfsLine" >> $tmpsdrfs
+    checkForErrorsAndReturn "Writing to file $tmpsdrfs" $?
+    [[ $? -ne 0 ]] && break
+
+    # Add the node name to the list of successful nodes.
+    print -- "$adminNodeName" >> $goodnodes
+    checkForErrorsAndReturn "Writing to file $goodnodes" $?
+    [[ $? -ne 0 ]] && break
+
+    # If this node is one of the server nodes, set a flag to indicate that
+    # the server was found, and set the server name to the admin node name.
+    if [[ $adminNodeName  = $primaryServer ||
+          $daemonNodeName = $primaryServer ]]
+    then
+      primaryServer=$adminNodeName
+      primaryInCluster=yes
+    fi
+    if [[ $adminNodeName  = $backupServer ||
+          $daemonNodeName = $backupServer ]]
+    then
+      backupServer=$adminNodeName
+      backupInCluster=yes
+    fi
+
+    # Is this a quorum node?
+    [[ $quorumField != $nonQuorumNode ]] &&  \
+      quorumNodeCount=$quorumNodeCount+1
+
+    # Keep track of the daemon version and os installed.
+    [[ $installedDaemonVersion -lt $lowestVersion ]] &&  \
+      lowestVersion=$installedDaemonVersion
+    [[ $installedDaemonVersion -gt $highestVersion ]] &&  \
+      highestVersion=$installedDaemonVersion
+    [[ -n $installedOsName && $installedOsName != $osEnvironment ]] &&  \
+      osEnvironment="mixed"
+
+  else
+    # The checkNewClusterNode call failed.
+    # Not all errors are considered terminal.
+    # If an individual node fails for a known reason,
+    # we will not include it in the cluster but will
+    # continue with the rest of the nodes.
+
+    # Tell the world what went wrong.
+    if [[ $nodeStatus = not_new ]]
+    then
+      # The node already belongs to a cluster.
+      printErrorMsg 348 $mmcmd $adminNodeName
+    elif [[ $nodeStatus = not_supported ]]
+    then
+      # Wrong GPFS code level.
+      printErrorMsg 349 $mmcmd $adminNodeName
+    elif [[ $nodeStatus = ipa_alias ]]
+    then
+      # IP address aliasing is not supported.
+      printErrorMsg 476 $mmcmd $nodeName
+    elif [[ $nodeStatus = ipa_missing ]]
+    then
+      # The daemon node adapter was not found on the admin node.
+      printErrorMsg 175 $mmcmd $nodeName $nodeName2
+    elif [[ $rc = $MM_HostDown || $rc = $MM_ConnectTimeout ]]
+    then
+      # The node cannot be reached.
+      printErrorMsg 340 $mmcmd $adminNodeName
+    else
+      # Unexpected error.  Display error messages.
+      [[ -s $errMsg ]] && $cat $errMsg 1>&2
+      [[ $rc -eq 0 ]] && rc=1
+      checkForErrorsAndReturn "checkNewClusterNode $adminNodeName" $rc
+      run on1 $adminNodeName removeFromCluster > /dev/null 2>&1 &
+#     break
+    fi
+
+    # If any of the server nodes fails, give up.
+    if [[ $adminNodeName = $primaryServer || $adminNodeName = $backupServer ]]
+    then
+      fatalError=yes
+      break
+    fi
+
+    # Append the node name to the list of failed nodes.
+    failedNodes="$failedNodes\n\t\t$adminNodeName"
+
+    # Adjust the node number for the next iteration.
+    nodeNumber=$nodeNumber-1
+
+  fi  # end of if [[ $rc = 0 && $nodeStatus = success ]]
+
+  $rm -f $errMsg
+
+done  # end of while read -u3 nodeDesc (Loop through the nodes to be added)
+
+
+#####################################################
+# There is no point continuing if not even one node
+# will be added to the cluster.
+#####################################################
+if [[ $totalNodeCount -eq 0 ]]
+then
+  # The user provided input file appears to be empty.
+  # Note that we can have either -N or -n specified but not both.
+  printErrorMsg 329 $mmcmd $Narg $narg
+  cleanupAndExit
+fi
+
+if [[ ! -s $goodnodes ]]
+then
+  # The command failed.
+  printErrorMsg 389 $mmcmd
+  cleanupAndExit
+fi
+
+
+######################################################
+# If no severe errors were detected so far,
+# ensure certain other requirements are met as well.
+######################################################
+if [[ -z $fatalError ]]
+then
+  # Ensure that the server nodes are members of the cluster
+  # and were successfully initialized (checkNewClusterNode).
+  if [[ -z $primaryInCluster ]]
+  then
+    printErrorMsg 352 $mmcmd "$primaryServer"
+    fatalError=yes
+  fi
+  if [[ -z $backupInCluster && $backupServer != "_NOSECONDARY_" ]]
+  then
+    printErrorMsg 352 $mmcmd "$backupServer"
+    fatalError=yes
+  fi
+
+  # Ensure that there is at least one quorum node in the cluster.
+  if [[ $quorumNodeCount -eq 0 ]]
+  then
+    printErrorMsg 53 $mmcmd
+    fatalError=yes
+  fi
+
+  # Ensure the node on which mmcrcluster runs (this node) is
+  # going to be a member of the cluster.
+  if [[ ! -f $mmfsNodeData ]]
+  then
+    # Run the command from a node that is part of the cluster.
+    printErrorMsg 322 $mmcmd
+    fatalError=yes
+  fi
+fi  # end of if [[ -z $fatalError ]]
+
+
+#########################################################
+# If no severe errors were detected so far,
+# build the new mmsdrfs file.
+#########################################################
+if [[ -z $fatalError ]]
+then
+  #-------------------------------------------------
+  # Create a mmsdrfs file with gen number 2 since
+  # the nodes already have files with gen number 1.
+  #-------------------------------------------------
+  # Create the version line.
+  newGenNumber=2   # gen number 2, since the nodes already have gen number 1
+  [[ $backupServer = "_NOSECONDARY_" ]] && backupServer=""
+  [[ $rshPath = "_DEFAULT_" ]] && rshPath=""
+  [[ $rcpPath = "_DEFAULT_" ]] && rcpPath=""
+  timeStamp=$($perl -e 'print time')
+  sdrfsLine="$GLOBAL_ID:$VERSION_LINE::$CURRENT_SDRFS_FORMAT:$CURRENT_SDRFS_VERSION"
+  sdrfsLine="$sdrfsLine:$newGenNumber::$MMMODE:$primaryServer:$backupServer"
+  sdrfsLine="$sdrfsLine::$rshPath:$rcpPath:$clusterId:$clusterSubtype"
+  sdrfsLine="$sdrfsLine:$timeStamp:$availableField:$clusterName"
+  sdrfsLine="$sdrfsLine:$newKeyGenNumber:$secLevel:$committedKeyGenNumber"
+  sdrfsLine="$sdrfsLine:$keyfileFormatLevel:"
+  print -- "$sdrfsLine" > $newsdrfs
+
+  # Add threatening comment lines - DO NOT MESS WITH THIS FILE
+  sdrfsLine="$GLOBAL_ID:$COMMENT_LINE::1:"
+  print -- "$sdrfsLine" >> $newsdrfs
+  sdrfsLine="$GLOBAL_ID:$COMMENT_LINE::2:$warningText"
+  print -- "$sdrfsLine" >> $newsdrfs
+  sdrfsLine="$GLOBAL_ID:$COMMENT_LINE::3:"
+  print -- "$sdrfsLine" >> $newsdrfs
+
+  # Add a header line for the nodeset.
+  sdrfsLine="$nodesetId:$NODESET_HDR:::$nodeCount:$commProtocol:$cipherList"
+  sdrfsLine="$sdrfsLine:$tcpPort:$obsoleteField:$obsoleteField:$availableField"
+  sdrfsLine="$sdrfsLine:$lowestVersion:$highestVersion:$osEnvironment"
+  sdrfsLine="$sdrfsLine:$availableField:$eventsPort:$mmsdrservPort:"
+  print -- "$sdrfsLine" >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+  # Copy the lines describing the individual nodes.
+  $cat $tmpsdrfs >> $newsdrfs
+  checkForErrorsAndReturn "Writing to file $newsdrfs" $?
+
+  #--------------------------
+  # Build the mmfs.cfg file.
+  #--------------------------
+  # Start the mmfs.cfg file with the warning text.
+  print -- "#   " >  $newcfg
+  print -- "#   WARNING:   This is a machine generated file.  Do not edit!      " >> $newcfg
+  print -- "#   Use the mmchconfig command to change configuration parameters.  " >> $newcfg
+  print -- "#   " >> $newcfg
+
+  # The following parameters are always specified
+  # regardless of any value already existing in the config file.
+  print -- "clusterName $clusterName" >> $newcfg
+  print -- "clusterId $clusterId" >> $newcfg
+  print -- "clusterType $MMMODE" >> $newcfg
+  print -- "autoload $Aarg" >> $newcfg
+  [[ $MMMODE = lc ]] && print -- "useDiskLease yes" >> $newcfg
+  [[ -n $Uarg ]]     && print -- "uidDomain $Uarg"  >> $newcfg
+  [[ -z $lowestVersion ]] && lowestVersion="$initialDaemonVersion"
+  print -- "maxFeatureLevelAllowed $lowestVersion" >> $newcfg
+  checkForErrorsAndReturn "Writing to file $newcfg" $?
+
+  # If a configuration file is specified (-c option),
+  # verify its correctness and append it to our mmfs.cfg file.
+  if [[ -n $carg ]]
+  then
+    processUserConfigFile $carg $tmpCfg
+    if [[ -s $tmpCfg ]]
+    then
+      $cat $tmpCfg >> $newcfg
+      checkForErrorsAndReturn "cat $tmpCfg >> $newcfg" $?
+    fi
+  fi
+
+  #--------------------------------------------
+  # Add the mmfs.cfg data to the mmsdrfs file.
+  #--------------------------------------------
+  appendCfgFile $nodesetId $newcfg $newsdrfs
+  checkForErrorsAndReturn "appendCfgFile" $?
+
+  #--------------------------------------------
+  # Sort the new version of the mmsdrfs file.
+  #--------------------------------------------
+  LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+  checkForErrorsAndReturn "Sorting $newsdrfs" $?
+
+fi  # end of if [[ -z $fatalError ]]
+
+
+############################################################
+# If anything failed, remove the skeleton sdrfs files from
+# the non-server nodes, issue an error message, and die.
+############################################################
+if [[ -n $fatalError ]]
+then
+  # Remove already-installed system files.
+  printErrorMsg 351 $mmcmd
+  $ln $goodnodes ${goodnodes}async
+  $mmcommon onall_async ${goodnodes}async removeFromClusterCR &
+
+  # The command failed.
+  printErrorMsg 389 $mmcmd
+  cleanupAndExit
+fi
+
+
+##################################################################
+# Put the new mmsdrfs file on the primary and secondary servers.
+##################################################################
+# Set some values that are expected by commitChanges.
+getLocalNodeData
+nsId=0
+gpfsObjectInfo="0:1:"
+
+# Commit the changes.
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs  \
+   $primaryServer FORCE $backupServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We cannot replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+
+  # Remove already-installed system files.
+  printErrorMsg 351 $mmcmd
+  $ln $goodnodes ${goodnodes}async
+  $mmcommon onall_async ${goodnodes}async removeFromClusterCR &
+  cleanupAndExit
+fi
+
+# Restore interrupts.
+trap posttrap HUP INT QUIT KILL
+
+
+#######################################################################
+# At this point, skeleton sdrfs files have been put on the non-server
+# nodes in the success list and the real sdrfs file containing the
+# nodes from the cluster has been created and put on the server nodes.
+# If there are any nodes in the failure list, we issue a message
+# telling the user to use the mmaddnode command to add them to the
+# sdrfs file once they become reachable.
+#######################################################################
+# Report any nodes that could not be added.
+[[ -n $failedNodes ]] &&  \
+  printErrorMsg 353 $mmcmd "$failedNodes"
+
+# If not all of the nodes were added to the cluster,
+# tell the user how many made it through.
+[[ $nodeCount -lt $totalNodeCount ]] &&  \
+  printErrorMsg 12 $mmcmd $nodeCount $totalNodeCount
+
+# Issue "command was successful" message.
+printErrorMsg 272 $mmcmd
+
+
+#######################################################################
+# Update the mmsdrfs file on all nodes that were successfully added
+# to the GPFS cluster.  This process is asynchronous.
+#######################################################################
+propagateSdrfsFile async $goodnodes $newsdrfs $newGenNumber
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrfileset
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrfileset	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrfileset	(revision 16)
@@ -0,0 +1,219 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)42 1.6.1.1 src/avs/fs/mmfs/ts/admin/mmcrfileset.sh, mmfs, avs_rgpfs24, rgpfs24s007a 10/18/06 12:02:54
+###############################################################################
+#
+# Usage:
+#   mmcrfileset Device FilesetName [-t Comment]
+#
+# where
+#   Device            is the device name of the file system.
+#   FilesetName       is the fileset name.
+#   Comment           is a user-provided description of the fileset.
+#                       The total length cannot exceed 255 characters.
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmcrfileset.sh"
+[[ -n $DEBUG || -n $DEBUGmmcrfileset ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+usageMsg=513
+
+
+# Local functions
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2 ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+fqDeviceName="/dev/$deviceName"    # fully-qualified name (with /dev/ prefix)
+
+# The second argument is always the fileset name.
+filesetName=$arg2
+checkName filesetName 255 "$filesetName"
+[[ $? -ne 0 ]] && cleanupAndExit
+
+# Move past the positional parameters.
+shift 2
+
+# Process the rest of the parameters.
+while getopts :t: OPT
+do
+  case $OPT in
+
+    t) # Comment string.
+       [[ -n $tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       tflag="-$OPT"; targ="$OPTARG"
+       userComments="$targ"
+       checkName lengthCheckOnly 255 "$userComments"
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    +[t]) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument.
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done  # end of while getopts :t: OPT do
+shift OPTIND-1
+
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+#####################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs is up-to-date.  There is no need to lock the mmsdrfs.
+#####################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+#########################################################################
+# Invoke the tscrfileset command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the user comment string contains blanks or tabs
+#       (the existing infrastructure cannot deal with imbedded blanks)
+#   - the fileset name contains path name expansion triggers
+#   - this is a single node cluster
+#########################################################################
+if [[ -n $userComments ]]
+then
+  $tscrfileset $fqDeviceName "$filesetName" -t "$userComments" 2>$errMsg
+  rc=$(remapRC $?)
+else
+  $tscrfileset $fqDeviceName "$filesetName" 2>$errMsg
+  rc=$(remapRC $?)
+fi
+
+if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ||
+      "$userComments" = *+([;$BLANKchar$TABchar])*     ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+#   [[ $rc -ne 0 ]] && printErrorMsg 171 "$mmcmd" "tscrfileset" $rc
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+####################################################################
+# We come here if the local GPFS daemon is not ready for commands.
+# Find an active node and send the command there.
+####################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+preferredNode=$ourNodeName
+
+# Try the nodes one by one until you find a node that can execute the command.
+if [[ -n $userComments ]]
+then
+  $mmcommon onactive $preferredNode $nodefile     \
+     $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+     tscrfileset $fqDeviceName $filesetName -t "$userComments"
+  rc=$?
+else
+  $mmcommon onactive $preferredNode $nodefile     \
+     $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+     tscrfileset $fqDeviceName $filesetName
+  rc=$?
+fi
+
+# if [[ $rc -ne 0 ]]
+# then
+#   # tscrfileset failed.
+#   printErrorMsg 104 $mmcmd tscrfileset
+#   cleanupAndExit $rc
+# fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrfs	(revision 16)
@@ -0,0 +1,792 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)20 1.163.1.5 src/avs/fs/mmfs/ts/admin/mmcrfs.sh, mmfs, avs_rgpfs24, rgpfs24s007a 10/18/06 13:06:14
+################################################################################
+#
+#  Usage:
+#    mmcrfs Mountpoint Device {"DiskDesc[;DiskDesc...]" | -F DescFile}
+#           [-A {yes | no | automount}] [-D {posix | nfs4}]
+#           [-j {cluster | scatter}] [-k {posix | nfs4 | all}]
+#           [-B BlockSize] [-i InodeSize] [-I IndirectSize] [ -L LogFileSize]
+#           [-m DefaultMetadataReplicas] [-M MaxMetadataReplicas]
+#           [-n NumNodes] [-N NumInodes[:NumInodesToPreallocate]] [-Q {yes | no}]
+#           [-r DefaultDataReplicas] [-R MaxDataReplicas]
+#           [-s {roundRobin | random | balancedRandom}]
+#           [-u {yes | no}]
+#           [-v {yes | no}] [-z {yes | no}]
+#           [-E {yes | no}] [-S {yes | no}]
+#           [-K {no | whenpossible | always}]
+#
+#  where
+#    MountPoint    is the mount point directory of the new file system.
+#    Device        is the device name of the new filesystem (/dev/sg0).
+#    DiskDescList  is a list of semicolon-separated disk descriptors.
+#    DescFile      is a file containing disk descriptors, one per line.
+#
+#  See the Admin guide for detailed descriptions of the optional flags.
+#
+#  Notes:  The [-z] option will be allowed only if DMAPI is enabled.
+#          The [-i InodeSize], [-I IndirectSize], [-L LogFileSize] and
+#          [-s {roundRobin|random|balancedRandom}] options are undocumented.
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmcrfs.sh"
+[[ -n $DEBUG || -n $DEBUGmmcrfs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+descfile=${tmpDir}descfile.${mmcmd}.$$     # temp file for descriptors
+tsddFile=${tmpDir}tsddFile.${mmcmd}.$$     # disk descriptors in tscrfs format
+freeDisks=${tmpDir}freeDisks.${mmcmd}.$$   # available unused disks
+
+LOCAL_FILES=" $descfile $tsddFile $freeDisks "
+
+
+# Local variables
+usageMsg=420
+integer seqNo=0
+
+# Values for /etc/filesystems stanza lines
+sgVFS_Line_Value="mmfs"       # only acceptable value
+sgTYPE_Line_Value="mmfs"      # only acceptable value
+sgNODENAME_Line_Value="-"     # only acceptable value
+sgACCOUNT_Line_Value="false"  # only acceptable value
+sgRW_OPT_Value="rw"           # only acceptable value
+sgOTHER_OPT_Value=""
+
+# Local functions
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 3  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# Retrieve the positional parameters.
+mountPoint=$arg1
+device=$arg2
+
+# The disk descriptors were either given as the third command line argument,
+# or in a readable file given as the fourth command line argument.
+if [[ $arg3 = "-F" ]]
+then
+  # -F specified.  The fourth argument must be a file name.
+  if [[ -z $arg4 ]]
+  then
+    syntaxError "missingFile" $usageMsg
+  else
+    # Verify the existence of the file and create our own copy.
+    checkUserFile $arg4 $descfile
+    [[ $? -ne 0 ]] && cleanupAndExit
+    shift 4
+  fi  # end of if [[ -z $arg4 ]]
+else
+  desclist=$arg3
+  # Ensure that semi-colon is used as a disk name separator.
+  [[ "$desclist" = *+([,${BLANKchar}${TABchar}])* ]] &&  \
+    syntaxError "badSeparator_notSemicolon" $noUsageMsg
+  shift 3
+fi  # end of if [[ $arg3 = "-F" ]]
+
+# Save the remainder of the argument list for later processing by mmcrfsc.
+argList=$@
+
+# Check for the no-longer-valid -C <nodesetId> parameter.
+# Simultaneously, make a quick check for other invalid options.
+# The detailed checking will be done later by mmcrfsc.
+while getopts :a:A:B:c:C:D:E:f:F:G:i:I:j:k:K:l:L:m:M:n:N:Q:r:R:s:S:U:u:v:w:Z:z: OPT
+do
+  case $OPT in
+    C) # create the file system in the specified nodeset
+       syntaxError "obsoleteOption" $usageMsg "-$OPT"
+       ;;
+
+    N) # maximum number of inodes
+       [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"; Narg=$OPTARG;
+       ;;
+
+    [aABcDEfFGijIkKlLmMnNQrRsSUuvwZz]) # all other valid options
+       : # detailed checking will be done later
+       ;;
+
+    +[aABcCDEfFGijIkKlLmMnNQrRsSUvwZz]) # invalid option specified
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # missing required value after an option
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # invalid option specified
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done  # end of while getopts
+
+# Verify the device name.
+deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+fqDeviceName="/dev/$deviceName"    # fully-qualified name with /dev/ prefix
+if [[ $deviceName = /* ]]
+then
+  printErrorMsg 169 $mmcmd $device
+  cleanupAndExit
+elif [[ $deviceName = */* ]]
+then
+  printErrorMsg 170 $mmcmd $device
+  cleanupAndExit
+else
+  checkName deviceName 255 "$deviceName"
+  [[ $? -ne 0 ]] && cleanupAndExit
+fi
+
+# Verify the mount point parameter.
+checkName pathName 1023 "$mountPoint"
+[[ $? -ne 0 ]] && cleanupAndExit
+
+if [[ $mountPoint = ${mountPoint#/} ]]
+then
+  # The mountpoint must not be a relative path name.
+  printErrorMsg 148 $mmcmd $mountPoint
+  cleanupAndExit
+fi
+
+if [[ $fqDeviceName = $mountPoint ]]
+then
+  # The mount point cannot be the same as the device name.
+  printErrorMsg 305 $mmcmd $mountPoint
+  cleanupAndExit
+fi
+
+# Process the -N option (mmcrfsc is not suited for this option).
+# Verify that the value is of the form NumInodes[:NumInodesToPreallocate]
+if [[ -n $Narg ]]
+then
+  IFS=":"
+  set -f ; set -- $Narg ; set +f
+  numInodes=$1
+  numInodesToPreallocate=$2
+  IFS="$IFS_sv"
+
+  [[ -z $numInodes ]] &&  \
+    syntaxError "invalidOption" $usageMsg "$Nflag $Narg"
+
+  n=$(checkIntRange $Nflag $numInodes)
+  [[ $? -ne 0 ]] && cleanupAndExit
+  Narg=$n
+
+  if [[ -n $numInodesToPreallocate && $numInodesToPreallocate != 0 ]]
+  then
+    n=$(checkIntRange $Nflag $numInodesToPreallocate)
+    [[ $? -ne 0 ]] && cleanupAndExit
+    Narg="${Narg}:$n"
+  fi
+fi  # end of if [[ -n $Narg ]]
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#######################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+############################################################################
+# Go through the mmsdrfs file and make sure that the file system we
+# are about to create does not already exist and that the new mount
+# point is not already in use by some other file system in the nodeset.
+#
+# Simultaneously, we will create a file containing the reliable node names
+# of the nodes in the nodeset.  This file will be later used to propagate
+# the changes to /etc/filesystems.
+#
+# We will also create a file containing the names of all disks that
+# belong to some file system.  This file will be used to assure that
+# none of the new disks are already in use.
+############################################################################
+$rm -f $newsdrfs $nodefile $freeDisks
+$touch $freeDisks  # Ensure the file exists even if empty.
+IFS=":"            # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )
+       # Increment the generation number.
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+       ;;
+
+    $MEMBER_NODE )
+       # Add the reliable node name to nodefile.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+       checkForErrors "writing to file $nodefile" $?
+
+       # If this is the line for the node that is executing
+       # this command, set the preferredNode variable.
+       [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+         preferredNode=${v[$REL_HOSTNAME_Field]}
+       ;;
+
+    $SG_HEADR )
+       # Make sure that the file system that we want to create
+       # does not already exist.
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       then
+         printErrorMsg 107 $mmcmd $device
+         cleanupAndExit
+       fi
+
+       # Make a list of the used minor numbers in the nodeset.
+       existingMinorNumbers="$existingMinorNumbers ${v[$DEV_MINOR_Field]}"
+       ;;
+
+    $SG_ETCFS )
+       # Make sure that the new mount point is not already used
+       # by some other file system in the nodeset.
+       if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line &&
+             ${v[$ETCFS_TEXT_Field]}  = $mountPoint ]]
+       then
+         printErrorMsg 107 $mmcmd $mountPoint
+         cleanupAndExit
+       fi
+
+       # See if any of the existing file systems requires
+       # the system automounter.
+       if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_Line &&
+             ${v[$ETCFS_TEXT_Field]}  = *automount* ]]
+       then
+         automountMounts=true
+       fi
+       ;;
+
+    $SG_DISKS )
+       # Collect the SG_DISKS lines for all free disks into a file.
+       # These are the disks that are available to the new file system.
+       if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+       then
+         print_newLine >> $freeDisks
+         printLine=false
+       fi
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end of Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 mmsdrfsFile
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+#############################################################
+# If a descriptor list is specified on the command line,
+# create a file with one disk descriptor per line.
+# Note: If the input is in a file, descfile was created
+#       by the checkUserFile function.
+#############################################################
+if [[ -n $desclist ]]
+then
+  # Move the descriptors into a temporary file.
+  $rm -f $descfile
+  IFS=";"
+  for diskDesc in $desclist
+  do
+    [[ -z $diskDesc ]] && continue
+    print -- "$diskDesc" >> $descfile
+    checkForErrors "writing to file $descfile" $?
+  done  # end for diskDesc in $desclist
+  IFS="$IFS_sv"
+fi  # end of if [[ -n $desclist ]]
+
+
+##########################################################
+# Make sure that there is at least one free disk line.
+##########################################################
+if [[ ! -s $freeDisks ]]
+then
+  printErrorMsg 470 $mmcmd $mmcmd mmcrnsd
+  cleanupAndExit
+fi
+
+
+##########################################################
+# Process the descriptors for the new disks.  If a disk
+# is successfully validated, its descriptor is converted
+# into the format recognized by the tscrfs command.
+##########################################################
+$rm -f $tsddFile
+foundErrors=false
+fsHomeCluster=$HOME_CLUSTER
+
+exec 3<&-
+exec 3< $descfile
+while read -u3 mmDiskDesc
+do
+  # Skip empty and comment lines.
+  [[ $mmDiskDesc = *([$BLANKchar$TABchar])   ]] && continue
+  [[ $mmDiskDesc = *([$BLANKchar$TABchar])#* ]] && continue
+
+  # Parse mmDiskDesc to get the name of the disk.
+  IFS=':'
+  set -f ; set -- $mmDiskDesc ; set +f
+  diskName=$1
+  IFS="$IFS_sv"
+
+  if [[ -z $diskName ]]
+  then
+    # The disk name must be specified in the disk descriptor.
+    printErrorMsg 23 $mmcmd
+
+    # Show the bad descriptor.
+    printErrorMsg 386 $mmcmd "$mmDiskDesc"
+
+    # The command will fail, but before giving up, we will check the
+    # remainder of the descriptors to flush out as many errors as possible.
+    foundErrors=true
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+
+    # Move to the next descriptor.
+    continue
+  fi
+
+  # Locate and extract the FREE_DISK line for this disk.
+  $rm -f $tmpfile
+  seqNo=seqNo+1
+  freeDiskLine=$($awk -F: '                                                   \
+    # If the line is for our disk, assign it to freeDiskLine.                 \
+    # Do not put the line in the temp file.                                   \
+    $'$DISK_NAME_Field' == "'$diskName'"  {                                   \
+        { $'$LINE_NUMBER_Field' = "'$seqNo'" }                                \
+        { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                $21":"$22":"$23":"$24":"$25":"$26":"$27":" }                  \
+        { next }                                                              \
+     }                                                                        \
+    # If the line is for some other disk, add it to tmpfile.                  \
+    { print $0 >> "'$tmpfile'" }                                              \
+  ' $freeDisks)
+  checkForErrors awk $?
+
+  # Prepare the freeDisks file for the next iteration.
+  # It will contain all of its original lines except the line
+  # that describes the disk that is currently being processed.
+  $touch $tmpfile  # ensure file exists even if empty
+  $mv $tmpfile $freeDisks
+  checkForErrors "mv $tmpfile $freeDisks" $?
+
+  # If not found, issue an appropriate error message.
+  if [[ -z $freeDiskLine ]]
+  then
+    # Check whether the disk already belongs to some file system.
+    fileSystem=$(findFSforDisk "$diskName" $newsdrfs)
+    if [[ $fileSystem = $deviceName ]]
+    then
+      # This disk was already processed;
+      # this must be due to a duplicate entry in the input list since
+      # the file system did not exist at the start of this command.
+      printErrorMsg 88 $mmcmd $diskName
+      # Show the bad descriptor.
+      printErrorMsg 386 $mmcmd "$mmDiskDesc"
+    elif [[ -n $fileSystem ]]
+    then
+      # The disk already exists in some other file system.
+      printErrorMsg 265 $mmcmd $diskName $fileSystem
+      # Show the bad descriptor.
+      printErrorMsg 386 $mmcmd "$mmDiskDesc"
+    else
+      # Print error stating disk descriptor should refer to an existing NSD.
+      printErrorMsg 415 $mmcmd "$mmDiskDesc"
+    fi
+
+    # The command will fail, but before giving up, we will check the
+    # remainder of the descriptors to flush out as many errors as possible.
+    foundErrors=true
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+
+    # Move to the next descriptor.
+    continue
+  fi  # end of if [[ -z $freeDiskLine ]]
+
+  # Check the correctness of the disk descriptor.  If everything is OK,
+  # validateAndConvertNsdDescriptor will convert the descriptor into its
+  # tscrfs format and will create the SG_DISKS line for the new disk.
+  validateDescriptorOutput=$(validateAndConvertNsdDescriptor  \
+              "$mmDiskDesc" $freeDiskLine $deviceName $fsHomeCluster NULL)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # If an error was found, the validate routine issued a message.
+    # We will now print the entire descriptor to help the guy some more.
+    printErrorMsg 386 $mmcmd "$mmDiskDesc"
+
+    # The command will fail, but before giving up, we will check the remainder
+    # of the descriptors to flush out as many errors as possible.
+    foundErrors=true
+    [[ $sdrLocked = yes ]] &&  \
+      freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+
+    # Move to the next descriptor.
+    continue
+  fi   # end of if [[ $rc -ne 0 ]]
+
+  # If the descriptor seems to be OK, parse the output
+  # from the validateAndConvertNsdDescriptor routine.
+  set -f ; set -- $validateDescriptorOutput ; set +f
+  updatedDiskLine="$1"
+  tsDiskDesc="$2"
+  diskUsage="$3"
+
+  # Add the converted descriptor to the input for tscrfs.
+  print -- "$tsDiskDesc" >> $tsddFile
+  checkForErrors "writing to file $tsddFile" $?
+
+  # Add the SG_DISKS line for the new disk to the mmsdrfs file.
+  print -- "$updatedDiskLine" >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+  # Keep track of the overall disk usage.
+  [[ $diskUsage != metadataOnly && $diskUsage != descOnly ]] && onedata=ok
+  [[ $diskUsage != dataOnly && $diskUsage != descOnly ]]     && onemeta=ok
+
+done   # end of while read -u3 mmDiskDesc
+
+
+# Give up if there were errors with one or more of the descriptors.
+if [[ $foundErrors = true ]]
+then
+  # Command failed.
+  printErrorMsg 389 $mmcmd
+  cleanupAndExit
+fi
+
+# Were there disks to begin with?
+if [[ -z $onemeta && -z $onedata ]]
+then
+  # No disks were specified.
+  printErrorMsg 264 $mmcmd
+  cleanupAndExit
+fi
+
+# Make sure that not all of the disks are dataOnly or metadataOnly.
+if [[ -z $onemeta ]]
+then
+  # All disks are dataOnly.
+  printErrorMsg 198 $mmcmd
+  cleanupAndExit
+fi
+
+if [[ -z $onedata ]]
+then
+  # All disks are metadataOnly.
+  printErrorMsg 197 $mmcmd
+  cleanupAndExit
+fi
+
+# If there are any SG_DISKS lines for remaining free disks,
+# put them back in the mmsdrfs file.
+if [[ -s $freeDisks ]]
+then
+  $cat $freeDisks >> $newsdrfs
+  checkForErrors "cat $freeDisks >> $newsdrfs" $?
+fi
+
+
+# Before checking the rest of the parameters,
+# we need to determine the current maxblocksize in effect.
+maxblocksize=$($mmcommon onactive $preferredNode $nodefile  \
+  $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK tsctl showCfgValue maxblocksize)
+rc=$?
+if [[ -z $maxblocksize || $rc -ne 0 ]]
+then
+  [[ $rc -eq 0 ]] && rc=1
+  if [[ $rc -eq $MM_DaemonDown || $rc -eq $MM_QuorumWait ]]
+  then
+    :  # Do nothing; a message was already issued.
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  elif [[ -n $maxblocksize ]]
+  then
+    # If there was some output, assume it is an error message.
+    print -u2 $maxblocksize
+  else
+    # An unexpected error occurred during the tsctl operation.
+    printErrorMsg 171 $mmcmd "mmcommon onactive tsctl showCfgValue maxblocksize" $rc
+  fi
+  # The command failed.
+  printErrorMsg 389 $mmcmd
+  cleanupAndExit $rc
+fi
+
+# Use mmcrfsc to check the rest of the arguments.
+# Error messages will be issued by mmcrfsc.
+mmcrfscOutput=$($mmcrfsc M $maxblocksize $argList)
+rc=$?
+[[ $rc -eq 123 ]] && printErrorMsg $usageMsg $mmcmd
+[[ $rc -ne   0 ]] && cleanupAndExit
+
+# Parse the mmcrfsc output.
+set -f ; set -- $mmcrfscOutput ; set +f
+sgMOUNT_Line_Value=$1
+sgMTIME_OPT_Value=$2
+quotaOption=$3
+sgATIME_OPT_Value=$4
+shift 4
+tsArguments="$*"
+
+# If something is wrong, get out.
+[[ -z $tsArguments ]] && cleanupAndExit
+
+# Append the value of the -N NumInodes[:NumInodesToPreallocate] parameter.
+[[ -n $Narg ]] && tsArguments="$tsArguments $Nflag $Narg"
+
+# Translate the quota option into its /etc/filesystems format.
+# The other mount options, mtime and atime, are set by mmcrfsc.
+if [[ $quotaOption = enableQuota ]]
+then
+  sgQUOTA_OPT_Value=$QUOTA_ACTIVATED
+else
+  sgQUOTA_OPT_Value=$QUOTA_DISACTIVATED
+fi
+
+# Figure out what should the major number be.
+if [[ $osName = Linux ]]
+then
+  checkVfsNumber
+  devMajor=$currentMajorNumber
+fi
+[[ -z $devMajor ]] && devMajor=$defaultMajorNumber
+
+# Assign a minor number to the file system.
+# Keep trying until we get a minor number that is not used by anybody.
+rc=0
+minor=""
+while [[ -z $minor && $rc -eq 0 ]]
+do
+  # Assign a minor number to the file system.
+  devMinor=$(assignDevMinor "$existingMinorNumbers")
+  rc=$?
+  if [[ $rc -eq 0 ]]
+  then
+    # Check whether the new device number is being used by somebody.
+    inuse=$($ls -lL /dev 2>/dev/null | $grep "^${fsDeviceType}.* $devMajor, *$devMinor ")
+    if [[ -z $inuse ]]
+    then
+      # The number seems to be free.
+      minor=$devMinor
+    fi
+
+    # Add the number to the list of existing minor numbers.
+    existingMinorNumbers="$existingMinorNumbers $devMinor"
+
+  fi  # end of if [[ $rc -eq 0 ]]
+done # end of while [[ -z $minor && $rc -eq 0 ]]
+
+if [[ -z $minor ]]
+then
+  print -u2 "$mmcmd:  Cannot assign a minor number for the file system."
+  cleanupAndExit
+fi
+
+
+# If this is the first automountable GPFS file system,
+# run the automount command on the nodes in the cluster.
+if [[ $sgMOUNT_Line_Value = automount && -z $automountMounts ]]
+then
+  # Determine the value of the automountDir parameter.
+  automountDir=$(showCfgValue automountDir)
+  [[ -z $automountDir ]] && automountDir=$defaultAutomountDir
+
+  # Run the automount command on the nodes on which GPFS is active.
+  # On nodes that do not have GPFS running right now, this will be
+  # done by the mmchecksubsys processing when the daemon is started.
+  $mmcommon onactive $preferredNode $nodefile        \
+      $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK    \
+      tsdsh $mmremote startAutomounter $automountDir >$tmpfile 2>&1
+  rc=$?
+
+  # Ignore errors but show messages from the nodes, if any.
+  if [[ $rc -ne 0 && $rc -ne $MM_DaemonDown && -s $tmpfile ]]
+  then
+    $awk '                             \
+      # Skip the lines with rc values. \
+      $2 == "rc" { next }              \
+      # Print everything else.         \
+      { print $0 }                     \
+    ' $tmpfile
+  fi  # end of if [[ -s $tmpfile ]]
+fi  # end of if [[ $sgMOUNT_Line_Value = automount && -z $automountMounts ]]
+
+
+# Build the rest of the SG-related lines for the new file system.
+# Note:  In order to preserve the tab characters in the /etc/filesystems lines,
+#        we temporarily reset the value of the IFS variable to exclude the tab.
+IFS=' '
+
+newLine="$fsHomeCluster:$SG_HEADR:$deviceName::$minor::::"
+print "$newLine" >> $newsdrfs
+
+newLine="$fsHomeCluster:$SG_ETCFS:$deviceName:$MOUNT_POINT_Line:$mountPoint:"
+print "$newLine" >> $newsdrfs
+
+newLine="$fsHomeCluster:$SG_ETCFS:$deviceName:$DEV_Line"
+newLine="$newLine:$DEV_Line_Prefix$fqDeviceName"
+print "$newLine" >> $newsdrfs
+
+newLine="$fsHomeCluster:$SG_ETCFS:$deviceName:$VFS_Line"
+newLine="$newLine:$VFS_Line_Prefix$sgVFS_Line_Value"
+print "$newLine" >> $newsdrfs
+
+newLine="$fsHomeCluster:$SG_ETCFS:$deviceName:$NODENAME_Line"
+newLine="$newLine:$NODENAME_Line_Prefix$sgNODENAME_Line_Value"
+print "$newLine" >> $newsdrfs
+
+newLine="$fsHomeCluster:$SG_ETCFS:$deviceName:$MOUNT_Line"
+newLine="$newLine:$MOUNT_Line_Prefix$sgMOUNT_Line_Value"
+print "$newLine" >> $newsdrfs
+
+newLine="$fsHomeCluster:$SG_ETCFS:$deviceName:$TYPE_Line"
+newLine="$newLine:$TYPE_Line_Prefix$sgTYPE_Line_Value"
+print "$newLine" >> $newsdrfs
+
+newLine="$fsHomeCluster:$SG_ETCFS:$deviceName:$ACCOUNT_Line"
+newLine="$newLine:$ACCOUNT_Line_Prefix$sgACCOUNT_Line_Value"
+print "$newLine" >> $newsdrfs
+
+newLine="$fsHomeCluster:$SG_MOUNT:$deviceName::$sgRW_OPT_Value"
+newLine="$newLine:$sgMTIME_OPT_Value:$sgATIME_OPT_Value"
+newLine="$newLine:$sgQUOTA_OPT_Value:$sgOTHER_OPT_Value:::::::::::::"
+print "$newLine" >> $newsdrfs
+checkForErrors "writing to file $newsdrfs" $?
+
+IFS="$IFS_sv"
+
+
+# The last step in creating the new mmsdrfs file is sorting it.
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+checkForErrors "sorting $newsdrfs" $?
+
+
+#############################
+# Invoke the tscrfs command.
+#############################
+$mmcommon onactive $preferredNode $nodefile                         \
+                   $tsddFile $NO_MOUNT_CHECK NULL $NO_LINK          \
+                   tscrfs "$fqDeviceName -F $tsddFile $tsArguments"
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # tscrfs failed.
+  printErrorMsg 100 $mmcmd $device
+  cleanupAndExit $rc
+fi
+
+
+#############################################################
+# Put the mmsdrfs file into the sdr.  This will make the new
+# file system visible to nodes that have not come up yet.
+# Nodes that are currently active are handled below.
+#############################################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # The commit step failed; we cannot replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+#############################################################
+# Unlock the sdr.
+#############################################################
+freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+#########################################################################
+# Make the new file system visible to the nodes.  This includes adding
+# a stanza to /etc/filesystems, creating the character mode device,
+# and creating the mount point directory.  This process is asynchronous.
+#########################################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrnsd
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrnsd	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrnsd	(revision 16)
@@ -0,0 +1,691 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)08 1.67.1.2 src/avs/fs/mmfs/ts/admin/mmcrnsd.sh, mmfs, avs_rgpfs24, rgpfs24s005a 6/14/06 14:40:06
+###############################################################################
+#
+#  Usage:
+#    mmcrnsd -F DescFile [-v {yes | no}]
+#
+#  where
+#    -F DescFile    specifies a file containing the disk descriptors for
+#                     the network shared disks to be created
+#    -v {yes | no}  verification flag; a value of "yes" specifies that the
+#                     disks in DescFile should only be created if they have
+#                     not been previously formatted as an NSD, while a value
+#                     of "no" specifies the disks should be created regardless
+#                     of whether they have been previously formatted or not.
+#                     The default value is "yes".
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmcrnsd.sh"
+[[ -n $DEBUG || -n $DEBUGmmcrnsd ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+tdescfile=${tmpDir}tdescfile.${mmcmd}.$$    # temp file for descriptors
+
+LOCAL_FILES=" $tdescfile "
+
+
+# Local variables
+integer highestGpfsDiskNbr
+integer seqNo=0
+usageMsg=410
+noUsageMsg=0
+hadSuccess=false
+
+
+# Local functions
+
+
+
+######################
+# Mainline processing
+######################
+
+
+######################################
+# Process the command line arguments.
+######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+while getopts :F:v: OPT
+do
+  case $OPT in
+
+    F) # node names file
+       [[ -n $Farg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Farg=$OPTARG
+       if [[ ! -r $Farg ]]
+       then
+         # Cannot open the file
+         printErrorMsg 43 $mmcmd $Farg
+         cleanupAndExit
+       fi
+       ;;
+
+    v) [[ -n $vflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       if [[ $OPTARG = yes || $OPTARG = no ]]
+       then
+         vflag="$OPTARG"
+       else
+         syntaxError "YesNoValue" $noUsageMsg "-$OPT"
+       fi
+       ;;
+
+    +[Fv]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+
+done  # end while getopts :F:v: OPT
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+[[ -z $vflag ]] && vflag=yes
+
+# Verify the mandatory -F parameter.
+[[ -z $Farg ]] && syntaxError "missingArgs" $usageMsg
+descfile=$Farg
+checkUserFile $descfile $descfile
+[[ $? -ne 0 ]] && cleanupAndExit
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#####################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+
+#########################################################################
+# Create a new version of the mmsdrfs file with a new generation number.
+# Generate a file containing the names of the nodes in the cluster.
+#########################################################################
+$rm -f $nodefile $newsdrfs
+IFS=":"         # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # this is the global header line
+      # Increment the generation number and save the line for later output.
+      newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+      v[$SDRFS_GENNUM_Field]=$newGenNumber
+      versionLine_A="${v[1]}:${v[2]}:${v[3]}:${v[4]}:${v[5]}:${v[6]}"
+      versionLine_A="$versionLine_A:${v[7]}:${v[8]}:${v[9]}:${v[10]}"
+      highestGpfsDiskNbr=${v[$HIGHEST_GPFS_DISK_NBR_Field]}
+      versionLine_B="${v[12]}:${v[13]}:${v[14]}:${v[15]}:${v[16]}"
+      versionLine_B="$versionLine_B:${v[17]}:${v[18]}:${v[19]}:${v[20]}"
+      versionLine_B="$versionLine_B:${v[21]}:${v[22]}:${v[23]}:${v[24]}"
+      printLine=false
+      ;;
+
+    $MEMBER_NODE )  # this line describes a node
+       # Add the reliable node name to nodefile.
+       print -- ${v[$REL_HOSTNAME_Field]} >> $nodefile
+       checkForErrors "writing to file $nodefile" $?
+
+       [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+         preferredNode=${v[$REL_HOSTNAME_Field]}
+       ;;
+
+    * )  # Pass all other lines without a change.
+      ;;
+
+  esac  # end Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+############################################################################
+# Process the descriptors for the new disks.  Each descriptor is validated.
+# If the descriptor appears to be ok, tspreparedisk is invoked to generate
+# a unique physical id on the disk.  For each disk that is successfully
+# processed by tspreparedisk, an SG_DISKS line is added to the sdrfs file.
+############################################################################
+exec 3<&-
+exec 3< $descfile
+$rm -f $tdescfile
+while read -u3 mmDiskDesc
+do
+  # Skip empty lines and comment lines ('#' is the first non-white char).
+  if [[ $mmDiskDesc = *([$BLANKchar$TABchar])#* ||
+        $mmDiskDesc = *([$BLANKchar$TABchar])   ]]
+  then
+    # Preserve the line "as is" in the user's input file.
+    print -- "$mmDiskDesc" >> $tdescfile
+    continue
+  fi
+
+  # Append the commented-out descriptor to the temporary descriptor file.
+  # If the descriptor passes all error checking, this line will be followed
+  # by the converted descriptor with the assigned global name.
+  print -- "# $mmDiskDesc" >> $tdescfile
+  checkForErrors "writing to file $tdescfile" $?
+
+  # Parse the disk descriptor.
+  IFS=':'
+  set -f ; set -- $mmDiskDesc ; set +f
+  device=$1
+  diskName=${device##+(/)dev+(/)}    # name stripped of /dev/ prefix
+  server=$2
+  backup=$3
+  diskUsage=$4
+  failureGroup=$5
+  desiredName=$6
+  storagePool=$7
+  IFS="$IFS_sv"
+
+  # Issue an informational progress message (processing disk xyz ...).
+  printInfoMsg 251 $mmcmd $diskName
+
+  # If a server node was specified, check that it is valid
+  # and convert it if necessary to an admin adapter name.
+  if [[ -n $server ]]
+  then
+    server=$(checkAndConvertNodeValue $server $REL_HOSTNAME_Field)
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi
+  if [[ -n $backup ]]
+  then
+    backup=$(checkAndConvertNodeValue $backup $REL_HOSTNAME_Field)
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi
+
+  # Generate a template SG_DISK line for the new disk.
+  # For now, we assume that everything will check out.
+  diskSize=0
+  [[ -z $failureGroup ]] && failureGroup=-1
+  [[ -z $diskUsage ]] && diskUsage=dataAndMetadata
+  pvid=""
+  primaryNsdNode=""
+  backupNsdNode=""
+  diskType="nsd"
+
+  # Determine the name the nsd will be called.
+  if [[ -z $desiredName ]]
+  then
+    highestGpfsDiskNbr=highestGpfsDiskNbr+1
+    nsdName="gpfs${highestGpfsDiskNbr}nsd"
+    nameSource="$cmdGenerated"
+  else
+    # Check whether the desired disk name conforms to naming rules.
+    # If it does not, skip to the next disk descriptor.
+    checkName diskName 255 "$desiredName"
+    [[ $? -ne 0 ]] && continue
+
+    # Issue an error and skip to the next descriptor
+    # if the desired name begins with "gpfs".
+    if [[ $desiredName = gpfs* ]]
+    then
+      # The desired disk name begins with "gpfs".
+      printErrorMsg 505 $mmcmd $desiredName
+      continue                      # Skip to the next disk descriptor.
+    fi
+
+    # Issue an error and skip to the next descriptor
+    # if the desired name is already in use.
+    dn=$(getDiskInfo $DISK_NAME_Field $desiredName $newsdrfs)
+    rc=$?
+    if [[ $rc -ne 0 && -z $dn ]]
+    then
+      nsdName="$desiredName"
+    else
+      # The desired disk name is already in use by GPFS.
+      printErrorMsg 432 $mmcmd $desiredName
+      continue                      # Skip to the next disk descriptor.
+    fi
+    nameSource="$userSpecified"
+  fi
+
+  # Create a free disk line as a starting point for the validate routine.
+  freeDiskLine="$FREE_DISK:$SG_DISKS:$NO_DEVICE:$seqNo:$nsdName:$diskSize"
+  freeDiskLine="${freeDiskLine}:$failureGroup:$diskUsage:$pvid:$diskType"
+  freeDiskLine="${freeDiskLine}:$primaryNsdNode:$backupNsdNode::::$nameSource"
+  freeDiskLine="${freeDiskLine}::$includedDisk:"
+
+  # Check the correctness of the disk descriptor.  If everything is OK,
+  # validateAndConvertNsdDescriptor will return an updated SG_DISKS line.
+  validateDescriptorOutput=$(validateAndConvertNsdDescriptor "$mmDiskDesc"  \
+                               $freeDiskLine $NO_DEVICE $FREE_DISK NULL)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # If an error was found, the validate routine issued a message.
+    # We will now print the entire descriptor to help the guy some more.
+    printErrorMsg 386 $mmcmd "$mmDiskDesc"
+    [[ -z $desiredName ]] && highestGpfsDiskNbr=highestGpfsDiskNbr-1
+    continue                        # Skip to the next disk descriptor.
+  fi
+
+  # If the descriptor seems to be OK, parse the output
+  # from the validateAndConvertNsdDescriptor routine.
+  set -f ; set -- $validateDescriptorOutput ; set +f
+  updatedDiskLine="$1"
+
+  # Generate and write a unique pvid on sector 2 of the disk.
+  # If an NSD server is specified, invoke the function on that node.
+  # This call will also return the type of the underlying disk.
+  if [[ -z $server || $server = $ourNodeName ]]
+  then
+    invokedNode=$ourNodeName
+    createNsdOutput=$(createNsd $diskName $vflag mmcrnsd NULL)
+    rc=$?
+  else
+    invokedNode=$server
+    createNsdOutput=$(run on1 $server  \
+                      createNsd $diskName $vflag mmcrnsd NULL)
+    rc=$?
+  fi
+
+  # The output of createNsd consists of a one-word NSD subtype value,
+  # followed by the output from tspreparedisk.  Separate the two parts.
+  nsdSubtype=${createNsdOutput%% *}
+  tspreparediskOutput=${createNsdOutput#* }
+
+  # Set the value for the nsd subtype diskname if the nsd subtype
+  # is lv, vsd or file; this name is persistent across the nodes.
+  nsdSubtypeDiskname=""
+  [[ $nsdSubtype = lv || $nsdSubtype = vsd || $nsdSubtype = file ]] &&  \
+    nsdSubtypeDiskname=$diskName
+
+  # Parse the output from the tspreparedisk command.
+  IFS=":"
+  set -f ; set -- $tspreparediskOutput ; set +f
+  magicWord=$1
+  rc2=$2
+  pvid=$3
+  primaryLocalName=$4
+  status=$5
+  diskSize=$6
+  oldPvid=$8
+  IFS="$IFS_sv"
+
+  if [[ $rc  -ne 0 || $nsdSubtype = error ||
+        $rc2 -ne 0 || $magicWord != tspreparedisk ]]
+  then
+    # Try to make sense of the error.
+    if [[ $nsdSubtype = error ]]
+    then
+      : # determineNsdSubtype failed.  Messages were already issued.
+
+    elif [[ $magicWord = tspreparedisk ]]
+    then
+      # tspreparedisk was executed but was not happy about something.
+      if [[ $rc2 = 1 ]]
+      then
+        # Permission was denied for disk.
+        printErrorMsg 523 $mmcmd $device
+      elif [[ $rc2 = 2 ]]
+      then
+        # The disk was not found.
+        printErrorMsg 524 $mmcmd $device
+      elif [[ $rc2 = 5 ]]
+      then
+        # I/O error
+        printErrorMsg 525 $mmcmd $device
+      elif [[ $rc2 = $MM_DeviceNotFound ]]
+      then
+        # A return code of ENODEV was returned for the disk.
+        printErrorMsg 187 $mmcmd $invokedNode $device
+      elif [[ $rc2 = 27 ]]
+      then
+        # The disk is too large.
+        printErrorMsg 508 $mmcmd $device
+      elif [[ $rc2 = 50 ]]
+      then
+        # The disk is fenced out.
+        printErrorMsg 395 $mmcmd $invokedNode $device
+      else
+        # Show the result from tspreparedisk.
+        print -u2 "$tspreparediskOutput"
+        # Unexpected error from tspreparedisk
+        printErrorMsg 171 "$mmcmd" "tspreparedisk $diskName" $rc2
+      fi  # end if [[ $rc2 = 1 ]]
+    else
+      # Something is really wrong.  Output error information if any.
+      [[ -n $createNsdOutput ]] && print -u2 "$createNsdOutput"
+    fi  # end if [[ $nsdSubtype = error ]]
+
+    # Issue "failed while processing disk descriptor xyz" message.
+    [[ -z $server ]] && server=$ourNodeName
+    printErrorMsg 411 $mmcmd "$mmDiskDesc" $server
+
+    # We will process the rest of the descriptors to create
+    # NSDs for those that are good and to flush out as many
+    # errors with the descriptors as possible.
+    [[ -z $desiredName ]] && highestGpfsDiskNbr=highestGpfsDiskNbr-1
+    continue                        # Skip to the next disk descriptor.
+  fi  # end if [[ $rc  -ne 0 || $nsdSubtype = error ||  ...
+
+  if [[ $status = old ]]
+  then
+    # The tspreparedisk command discovered that this is an already-defined NSD.
+
+    # Find the SG_DISKS line for the disk and remove it from the mmsdrfs file.
+    # Note that it is possible that there is no SG_DISKS line for this disk.
+    # This can happen if a disk is forcefully deleted (mmdelnsd -p) from the
+    # mmsdrfs file but the pvid was not destroyed because the disk was not
+    # available, or a previous mmcrnsd could have failed after tspreparedisk
+    # successfully completed but before the information could be committed.
+    $rm -f $tmpfile
+    existingDiskLine=$($awk -F: '                                    \
+      # If the line is for our disk, assign it to existingDiskLine.  \
+      # Do not put the line in the temp file.                        \
+      /':$SG_DISKS:'/ {                                              \
+        if ($'$PVID_Field' == "'$oldPvid'") {                        \
+          { print $0 }                                               \
+          { next }                                                   \
+        }                                                            \
+      }                                                              \
+      # Write all other lines to tmpfile.                            \
+      { print $0 >> "'$tmpfile'" }                                   \
+    ' $newsdrfs)
+
+    # Prepare the newsdrfs file for the next iteration.
+    # It will contain all of its original lines except the line
+    # that describes the disk that is currently being processed.
+    $mv $tmpfile $newsdrfs
+    checkForErrors "mv $tmpfile $newsdrfs" $?
+
+    # Find the global name of the disk.
+    IFS=":"
+    set -f ; set -- $existingDiskLine ; set +f
+    IFS="$IFS_sv"
+    existingGlobalName=$5
+
+    if [[ $vflag = yes ]]
+    then
+      # The user requested existing disks to be flagged as an error.
+      printErrorMsg 412 $mmcmd "$mmDiskDesc" $existingGlobalName
+      [[ -z $desiredName ]] && highestGpfsDiskNbr=highestGpfsDiskNbr-1
+
+      # Put the old line back in the file and go to the next descriptor.
+      if [[ -n $existingDiskLine ]]
+      then
+        print -- $existingDiskLine >> $newsdrfs
+        checkForErrors "writing to file $newsdrfs" $?
+      fi
+      continue
+    fi
+
+    # The user specified that existing disks are acceptable (-v no).
+    # Was a line for the disk found in the mmsdrfs file?
+    if [[ -n $existingDiskLine ]]
+    then
+      # An SG_DISKS line for the disk was found.
+      # Did the user specify a name for the nsd?
+      if [[ -n $desiredName ]]
+      then
+        # Use the new nsd name specified by the user.
+        nsdName=$desiredName
+      else
+        # Reuse the old nsd name and un-increment the highest disk number.
+        nsdName=$existingGlobalName
+        highestGpfsDiskNbr=highestGpfsDiskNbr-1
+      fi
+    else
+      # No SG_DISKS line was found for this disk; treat the disk as new.
+      status=new
+    fi  # end of if [[ -n $existingDiskLine ]]
+
+  fi  # end of if [[ $status = old ]]
+
+  # At this point updatedDiskLine contains the SG_DISKS information
+  # for a disk which is successfully defined as an NSD by tspreparedisk.
+  IFS=":"
+  set -f ; set -A v -- - $updatedDiskLine ; set +f
+  IFS="$IFS_sv"
+
+  # Update descriptor values that might have been set by the validate function.
+  failureGroup=${v[$FAILURE_GROUP_Field]}
+  diskUsage=${v[$DISK_USAGE_Field]}
+
+  # Add the missing or updated information.
+  v[$DISK_NAME_Field]=$nsdName
+  v[$DISK_SIZE_Field]=$diskSize
+  v[$PVID_Field]=$pvid
+  v[$NSD_SUBTYPE_Field]=$nsdSubtype
+  v[$NSD_SUBTYPE_DISKNAME_Field]=$nsdSubtypeDiskname
+  updatedDiskLine=$(print_newLine)
+
+  # If a backup NSD node is specified, run the tspreparedisk command
+  # on that node to verify that the disk is properly connected.
+  if [[ -n $backup ]]
+  then
+    if [[ $nsdSubtype = vsd ]]
+    then
+      # Attempt to write to sector 2 of the disk from the backup
+      # server in order to determine whether the disk is accessible.
+      # (This will cause the backup server to be unfenced from the
+      # vsd if necessary.)
+      if [[ $backup = $ourNodeName ]]
+      then
+        invokedNode=$ourNodeName
+        createNsdOutput=$(createNsd $diskName yes mmcrnsd vsd)
+        rc=$?
+      else
+        invokedNode=$backup
+        createNsdOutput=$(run on1 $backup  \
+                          createNsd $diskName yes mmcrnsd vsd)
+        rc=$?
+      fi
+
+      # The output of createNsd consists of a one-word NSD subtype value
+      # followed by the tspreparedisk output.  Extract the tspreparedisk output.
+      tspreparediskOutput=${createNsdOutput#* }
+    else
+      if [[ $backup = $ourNodeName ]]
+      then
+        invokedNode=$ourNodeName
+        tspreparediskOutput=$($tspreparedisk -p $pvid -t $nsdSubtype)
+        rc=$?
+      else
+        invokedNode=$backup
+        tspreparediskOutput=$(run on1 $backup adminCmd  \
+                               tspreparedisk -p $pvid -t $nsdSubtype)
+        rc=$?
+      fi
+    fi
+
+    # Parse the output from the tspreparedisk command.
+    IFS=":"
+    set -f ; set -- $tspreparediskOutput ; set +f
+    magicWord=$1
+    rc2=$2
+    backupPvid=$3
+    backupLocalName=$4
+    status=$5
+    IFS="$IFS_sv"
+
+    if [[ $rc  -ne 0 || $magicWord != tspreparedisk ||
+          $rc2 -ne 0 || $pvid != $backupPvid ]]
+    then
+      # Try to make sense of the error.
+      if [[ $magicWord = tspreparedisk ]]
+      then
+        # tspreparedisk was executed but was not happy about something.
+        if [[ $rc2 = 1 ]]
+        then
+          # Permission was denied for disk.
+          printErrorMsg 523 $mmcmd $device
+        elif [[ $rc2 = 2 ]]
+        then
+          # The disk was not found.
+          printErrorMsg 524 $mmcmd $device
+        elif [[ $rc2 = 5 ]]
+        then
+          # I/O error
+          printErrorMsg 525 $mmcmd $device
+        elif [[ $rc2 = $MM_DeviceNotFound ]]
+        then
+          # A return code of ENODEV was returned for the disk.
+          printErrorMsg 187 $mmcmd $invokedNode $device
+        elif [[ $rc2 = 50 ]]
+        then
+          # The disk is fenced out.
+          printErrorMsg 395 $mmcmd $invokedNode $device
+        elif [[ $pvid != $backupPvid ]]
+        then
+          print -u2 "$mmcmd: Mismatched disk PVIDs"
+        else
+          # Show the result from tspreparedisk.
+          print -u2 "$tspreparediskOutput"
+          # Unexpected error from tspreparedisk -p
+          printErrorMsg 171 "$mmcmd"  \
+            "tspreparedisk -p $pvid -t $nsdSubtype" $rc2
+        fi  # end if [[ $rc2 = 1 ]]
+      else
+        # Something is really wrong.  Output error information if any.
+        [[ -n $tspreparediskOutput ]] && print -u2 "$tspreparediskOutput"
+      fi  # end if [[ $magicWord = tspreparedisk ]]
+
+      # Failed while processing disk descriptor
+      printErrorMsg 411 $mmcmd "$mmDiskDesc" $backup
+      [[ -z $desiredName ]] && highestGpfsDiskNbr=highestGpfsDiskNbr-1
+      continue                        # Skip to the next disk descriptor.
+    fi  # end if [[ $rc -ne 0 || $magicWord != tspreparedisk || ... ]]
+
+  fi  # end of if [[ -n $backup ]]
+
+  # At this point, the descriptor passed all checks successfully,
+  # the disk was formatted as an NSD, and updatedDiskLine contains
+  # the SG_DISKS line that needs to go in the mmsdrfs file.
+  print -- $updatedDiskLine >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+  # Append the good modified descriptor to the temporary descriptor file.
+  print -- "$nsdName:::$diskUsage:$failureGroup::$storagePool" >> $tdescfile
+  checkForErrors "writing to file $tdescfile" $?
+
+  # There is at least one good disk descriptor.
+  hadSuccess=true
+
+done  # end of while read -u3 mmDiskDesc
+
+
+# If all of the descriptors had some kind of error and not a single
+# disk was created, give up.  Messages have already been issued.
+[[ $hadSuccess != true ]] &&  \
+  cleanupAndExit
+
+
+####################################################################
+# We have now finished processing descriptors.
+# Create a new version line with an updated HIGHEST_GPFS_DISK_NBR
+# value that reflects the highest disk number currently assigned
+# and add it back to the mmsdrfs file.  Commit the changes.
+####################################################################
+newVersionLine="$versionLine_A:$highestGpfsDiskNbr:$versionLine_B"
+print -- $newVersionLine >> $newsdrfs
+checkForErrors "writing to file $newsdrfs" $?
+
+# Sort the new sdrfs file.
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+
+# Replace the mmsdrfs file.
+# This makes the new disks visible to other mm commands.
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $FREE_DISK $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We were unable to replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+##################
+# Unlock the sdr.
+##################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+#############################################################################
+# Move the updated (and any commented out) descriptors into the user's file.
+#############################################################################
+$mv $tdescfile $descfile
+checkForErrors "writing to file $descfile" $?
+
+
+#################################################################
+# Propagate the new mmsdrfs file.  This process is asynchronous.
+#################################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber rereadnsd
+
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrsnapshot
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrsnapshot	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmcrsnapshot	(revision 16)
@@ -0,0 +1,125 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2004 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)54 1.17 src/avs/fs/mmfs/ts/admin/mmcrsnapshot.sh, mmfs, avs_rgpfs24, rgpfs240610b 11/15/04 02:34:46
+#######################################################################
+#
+#  Usage:  mmcrsnapshot Device Directory
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmcrsnapshot.sh"
+[[ -n $DEBUG || -n $DEBUGmmcrsnapshot ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=371
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] && \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] && \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1   # Save the stripe group device (always the first parameter).
+shift 1        # Drop the device name from the parameter list.
+argList=$@     # Save the remainder of the argument list.
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+
+############################################################################
+# We come here if this is a local filesystem.  Invoke the command directly.
+############################################################################
+${mmcmdDir}/${links}/mmcrsnapshot $fqDeviceName $argList
+rc=$(remapRC $?)
+
+# If acceptable error (daemon not running, waiting for quorum),
+# try some other node.  Otherwise, get out; either the command worked
+# or the errors are not acceptable.
+if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+then
+  if [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  fi
+  cleanupAndExit $rc
+fi
+
+
+###################################################
+# We come here if the daemon was not up.
+# Find an active node and send the command there.
+###################################################
+
+# Create a file with the reliable names that form
+# the cluster to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmcrsnapshot $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefedquota
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefedquota	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefedquota	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsdefedquota
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefquotaoff
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefquotaoff	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefquotaoff	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsdefquotaoff
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefquotaon
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefquotaon	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefquotaon	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsdefquotaon
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefragfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefragfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdefragfs	(revision 16)
@@ -0,0 +1,130 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2004 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)80 1.26 src/avs/fs/mmfs/ts/admin/mmdefragfs.sh, mmfs, avs_rgpfs24, rgpfs240610b 11/15/04 02:34:50
+#######################################################################
+#
+#  Usage:  mmdefragfs Device [-i] [-v] [-u BlkUtilPct]
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmdefragfs.sh"
+[[ -n $DEBUG || -n $DEBUGmmdefragfs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=299
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] && \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] && \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+argList=$@       # Save the remainder of the argument list.
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+
+##########################################################
+# If the cluster to which this node belongs is the same
+# as the cluster in which the file system resides,
+# invoke the command directly.
+##########################################################
+if [[ $nsId = $fsHomeCluster ]]
+then
+  ${mmcmdDir}/${links}/mmdefragfs $fqDeviceName $argList
+  rc=$(remapRC $?)
+
+  # If the command completed successfully, or if there is an
+  # unacceptable error, display any error messages and get out.
+  if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+  then
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    if [[ $rc -eq $MM_ConnectionReset ]]
+    then
+      # An internode connection was reset.
+      printErrorMsg 257 $mmcmd
+    fi
+    cleanupAndExit $rc
+  fi
+fi
+$rm -f $errMsg
+
+
+###################################################
+# Find an active node and send the command there.
+###################################################
+
+# Create a file with the reliable names that form
+# the cluster to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The nodeset is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmdefragfs $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelacl
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelacl	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelacl	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsdelacl
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdeldisk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdeldisk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdeldisk	(revision 16)
@@ -0,0 +1,750 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)22 1.100.1.3 src/avs/fs/mmfs/ts/admin/mmdeldisk.sh, mmfs, avs_rgpfs24, rgpfs24s005a 7/14/06 17:46:27
+###############################################################################
+#
+# Usage:
+#   mmdeldisk Device {"DiskDesc[;DiskDesc]" | -F DescFile} [-a] [-c] [-p]
+#             [-r] [-N {all | mount | Node[,Node...] | NodeFile | NodeClass}]
+#
+# where
+#   Device    is the file system device name
+#
+#   DiskDesc  is a descriptor of a disk to be deleted.  Only the disk name
+#             part of the descriptor is significant.  If more than one disk
+#             is to be deleted, the list of disk names (descriptors) must
+#             be ";" separated and enclosed in double quotes.
+#
+#   -F DescFile  is a file containing disk descriptors, one per line.
+#
+#   -p        indicates that the disk(s) are permanently damaged.
+#             All references will be deleted without data migration.
+#
+#   -c        ignore IO errors while migrating data off the deleted disks
+#
+#   -r        rebalance stripe group when done
+#
+#   -a        do not wait for rebalancing to finish
+#
+#   -N        parallel restripe options:
+#               all      - use all of the nodes in the nodeset
+#               mount    - use only the nodes that have mounted the fs
+#               nodelist - use only the specified nodes
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmdeldisk.sh"
+[[ -n $DEBUG || -n $DEBUGmmdeldisk ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+descfile=${tmpDir}descfile.${mmcmd}.$$
+tempsdrfs=${tmpDir}tempsdrfs.${mmcmd}.$$
+
+LOCAL_FILES=" $descfile $tempsdrfs "
+
+
+# Local variables
+
+integer remainingDisks=0  # number of remaining disks in the file system
+usageMsg=291
+
+
+# Local functions
+
+
+#####################################################
+# This function is called if there is an interrupt
+# after some sdr changes are committed.
+#####################################################
+function localPosttrap
+{
+  # Restriping may not have finished.
+  [[ -n $rflag && -z $aflag ]] &&  \
+    printErrorMsg 35 $mmcmd
+
+  # Exit via the standard post trap routine.
+  posttrap
+}
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#####################################################
+# Process the command arguments.
+#####################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+
+# The disk descriptors were either given on the command line as the
+# 2nd argument, or should exist in a readable file as the 3rd argument.
+if [[ $arg2 = "-F" ]]
+then
+  # -F specified.  The third argument must be a file name.
+  Fflag="-F"
+  if [[ -z $arg3 ]]
+  then
+    syntaxError "missingFile" $usageMsg
+  else
+    # Verify the existence of the file and create our own copy.
+    checkUserFile $arg3 $descfile
+    [[ $? -ne 0 ]] && cleanupAndExit
+    shift 3
+  fi  # end of if [[ -z $arg3 ]]
+else
+  desclist=$arg2
+  # Ensure that semi-colon is used as a disk name separator.
+  [[ "$desclist" = *+([,${BLANKchar}${TABchar}])* ]] &&  \
+    syntaxError "badSeparator_notSemicolon" $noUsageMsg
+  shift 2
+fi
+
+# Check validity of flags.
+while getopts :acF:rpN: OPT
+do
+  case $OPT in
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag=yes
+       ;;
+
+    c) [[ -n $cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       cflag="-c"
+       ;;
+
+    F) [[ -n $Fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       checkForErrors "$mmcmd: -F option should have been processed" 1
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nodeList=$OPTARG
+       Nflag="-N $OPTARG"
+       ;;
+
+    p) [[ -n $pflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       pflag="-p"
+       ;;
+
+    r) [[ -n $rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       rflag=yes
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[acFNrp]) syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+#####################################################
+# Create a file containing the disks to be deleted.
+#####################################################
+if [[ -n $desclist ]]
+then
+  # The disks to be deleted are specified on the command line.
+  IFS=";"
+  for diskDesc in $desclist
+  do
+    # Extract the disk name and put it in the file.
+    IFS=":"
+    set -f ; set -- $diskDesc ; set +f
+    print -- "$1" >> $diskNamesFile
+    checkForErrors "writing to $diskNamesFile" $?
+    IFS=";"
+  done  # end for diskDesc in $desclist
+  IFS="$IFS_sv"
+else
+  # The disks to be deleted are specified in a file.
+  # Convert the input disk descriptors into a file of disk names.
+  exec 3< $descfile
+  while read -u3 diskDesc
+  do
+    # Skip empty and comment lines.
+    [[ $diskDesc = *([$BLANKchar$TABchar])   ]] && continue
+    [[ $diskDesc = *([$BLANKchar$TABchar])#* ]] && continue
+
+    # Extract the disk name and put it in the file.
+    IFS=":"
+    set -f ; set -- $diskDesc ; set +f
+    print -- "$1" >> $diskNamesFile
+    checkForErrors "writing to $diskNamesFile" $?
+    IFS="$IFS_sv"
+  done  # end while read -u3 diskDesc
+fi  # end of if [[ -n $desclist ]]
+
+# Is there anything to do?
+if [[ ! -s $diskNamesFile ]]
+then
+  # No disks were specified.
+  printErrorMsg 264 $mmcmd
+  cleanupAndExit
+fi
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#######################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+oddState=$5
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+# Check whether some of the disks in the file system may be in an odd state.
+if [[ $oddState = yes ]]
+then
+  # Some of the disks in the file system appear to be in an odd state.
+  # Reconcile the sdrfs file with the GPFS daemon's view of the filesystem.
+  $cp $mmsdrfsFile $newsdrfs
+  reconcileSdrfsWithDaemon $deviceName $newsdrfs
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # reconcileSdrfsWithDaemon failed.
+    printErrorMsg 171 $mmcmd reconcileSdrfsWithDaemon $rc
+    # Tell the user to run mmcommon recoverfs against the file system.
+    printErrorMsg 103 $mmcmd $deviceName $deviceName
+    cleanupAndExit
+  fi
+
+  # Obtain the generation number from the version line of the new sdrfs file.
+  versionLine=$($head -1 $newsdrfs)
+  IFS=':'
+  set -f ; set -- $versionLine ; set +f
+  newGenNumber=$6
+  IFS="$IFS_sv"
+
+  # Commit the reconciled version of the sdrfs file to the server
+  # so the admin scripts and the daemon are in sync.
+  trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+  gpfsObjectInfo=$(commitChanges  \
+    $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  if [[ $? -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    # Tell the user to run mmcommon recoverfs against the filesystem.
+    printErrorMsg 190 $mmcmd $deviceName $deviceName
+    printErrorMsg 104 $mmcmd mmdeldisk
+    cleanupAndExit
+  fi
+  trap posttrap HUP INT QUIT KILL
+fi  # end of if [[ $oddState = yes ]]
+
+
+#######################################################
+# If a list of nodes was specified via the -N option,
+# convert it to a verified list of daemon node names.
+#######################################################
+if [[ -n $Nflag && $nodeList != all && $nodeList != mount ]]
+then
+  createVerifiedNodefile "$nodeList" $DAEMON_NODENAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+  # Convert the output data from a file to a comma-separated list.
+  newNodeList=$(print -- $(cat $nodefile) | $sed 's/ /,/g')
+  Nflag="-N $newNodeList"
+fi  # end of if [[ -n $Nflag && $nodeList != all && $nodeList != mount ]]
+
+
+########################################################################
+# Create a new version of the mmsdrfs file to be committed prior
+# to the invocation of the tsdeldisk command.
+#
+# The following changes are made:
+#   - The generation number is incremented by 1.
+#   - The disk status field of all SG_DISKS lines representing disks
+#     that are to be deleted is set to mmdel to indicate the disks
+#     are being deleted.
+#   - The "odd state" flag in the SG_HEADR line for the file system
+#     is set to indicate that an mmdeldisk is in progress.
+#
+# Simultaneously, we will make sure that there are no duplicate entries
+# in the input disk name list, that all disks specified on the command
+# line indeed belong to the file system, that the file system will
+# remain with at least one disk, and that the remaining one or more
+# disks in the file system are allowed to store data and metadata.
+########################################################################
+dataUsage=""
+metadataUsage=""
+descUsage=""
+$rm -f $newsdrfs $nodefile $allQuorumNodes $diskfile
+
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"   # Restore the default IFS settings.
+  printLine=true  # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+       # Increment the generation number.
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+       ;;
+
+    $MEMBER_NODE )  # This line describes a node.
+       # Add the reliable node name to nodefile.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+       checkForErrors "writing to file $nodefile" $?
+
+       # Create a list of the quorum nodes.
+       if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+       then
+         print -- "${v[$REL_HOSTNAME_Field]}" >> $allQuorumNodes
+         checkForErrors "writing to file $allQuorumNodes" $?
+       fi
+
+       # If this is the line for the node that is executing
+       # this command, set the preferredNode variable.
+       [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+         preferredNode=${v[$REL_HOSTNAME_Field]}
+       ;;
+
+    $SG_HEADR )  # This is the header line for some file system.
+       # Check whether the filesystem has disks that are in an "odd state".
+       if [[ -n ${v[$ODD_STATE_Field]} && ${v[$ODD_STATE_Field]} != no ]]
+       then
+         # Is this filesystem a different one than the one for which
+         # this command was invoked?
+         if [[ ${v[$DEV_NAME_Field]} != $deviceName ]]
+         then
+           # The "odd state" flag is set for a different file system
+           # than our filesystem.  Add the name of the file system to a
+           # list of filesystems to be reported to the user later.
+           fsOddStateList="${fsOddStateList} ${v[$DEV_NAME_Field]}"
+         else
+           # The "odd state" flag is set for the file system
+           # for which this command was invoked.
+           :  # Allow the command to proceed, since it may succeed.
+              # We will report any failures if it does not.
+         fi
+       else
+         # Is this filesystem the one for which this command was invoked?
+         if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+         then
+           # Set the "odd state" field in case we don't succeed.
+           # We will reset it later if tsdeldisk succeeds.
+           v[$ODD_STATE_Field]=mmdeldisk
+         fi
+       fi
+       ;;
+
+    $SG_DISKS )  # This line describes some disk.
+
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       then
+         # This is an SG_DISKS line that belongs to our filesystem.
+
+         # Check whether this disk is one of the disks to be deleted.
+         grep -w ${v[$DISK_NAME_Field]} $diskNamesFile > /dev/null 2>&1
+         if [[ $? -eq 0 ]]
+         then
+           # The disk represented by the current SG_DISKS line
+           # is one of the disks that should be deleted.
+
+           # Add the disk to the file that will be passed to tsdeldisk.
+           print -- ${v[$DISK_NAME_Field]} >> $diskfile
+
+           # Set the disk status to indicate "being deleted by mmdeldisk".
+           v[$EXCLUDE_Field]=$includedDisk
+           v[$DISK_STATUS_Field]=mmdel
+
+           # Remove the disk from the file of disks to be deleted.
+           grep -vw ${v[$DISK_NAME_Field]} $diskNamesFile > $tmpfile
+
+           # Initialize the file for the next iteration.
+           $mv $tmpfile $diskNamesFile
+           checkForErrors "mv $tmpfile $diskNamesFile" $?
+
+         else
+           # This disk will remain in the file system.
+           # Set a few flags that will be needed for some checks later on.
+           # Adjust the line sequence numbers for the remaining disks.
+           remainingDisks=remainingDisks+1
+
+           # The remainingDisks value can also be used to correctly
+           # renumber the SG_DISKS lines.
+           v[$LINE_NUMBER_Field]=$remainingDisks
+
+           if [[ ${v[$DISK_USAGE_Field]} = "dataOnly" ]]
+           then
+             dataUsage=yes
+           elif [[ ${v[$DISK_USAGE_Field]} = "metadataOnly" ]]
+           then
+             metadataUsage=yes
+           elif [[ ${v[$DISK_USAGE_Field]} = "descOnly" ]]
+           then
+             descUsage=yes
+           else  # dataAndMetadata or unknown
+             dataUsage=yes
+             metadataUsage=yes
+           fi
+         fi  # end of if [[ $? -eq 0 ]]
+
+       fi  # end of if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end of "Change some of the fields . . . "
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+# If the cluster is empty, the command cannot be executed.
+if [[ ! -s $nodefile ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "empty $nodefile" 1
+  cleanupAndExit
+fi
+
+# If there are still entries left in the disk names file, this indicates
+# the user specified some disks that do not belong to the file system.
+if [[ -s $diskNamesFile ]]
+then
+  exec 3< $diskNamesFile
+  while read -u3 diskName
+  do
+    # The disk was not found in the file system.
+    printErrorMsg 315 $mmcmd $diskName $device
+  done  # end of while read -u3 diskName
+  cleanupAndExit
+fi
+
+# Make sure that at least one disk will remain in the file system.
+if [[ $remainingDisks -eq 0 ]]
+then
+  # Cannot delete all disks.
+  printErrorMsg 89 $mmcmd
+  cleanupAndExit
+fi
+
+# Sort the new version of the mmsdrfs file.
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+
+# Make a copy of the current mmsdrfs file.  It will be needed
+# to restore the system files if the tsdeldisk command fails.
+$cp $mmsdrfsFile $oldsdrfs
+checkForErrors cp $?
+
+
+############################################################################
+# Put the new mmsdrfs file in the sdr.  This will ensure the getEFOptions
+# call that tsdeldisk is going to make shortly will return a list of disks
+# that does not include any of the disks that are being deleted.  This also
+# serves as the "pre-commit" that indicates an mmdeldisk is in progress.
+############################################################################
+trap "" HUP INT QUIT KILL        # Disable until mmsdrfs update is done.
+gpfsObjectInfo=$(commitChanges  \
+   $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We were unable to replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+trap localPosttrap HUP INT QUIT KILL
+
+
+###################################################
+# If the changes went into the sdr successfully,
+# ask Tiger Shark to do the real work.
+###################################################
+# Issue "Deleting disks ..." message.
+printInfoMsg 94
+$mmcommon onactive  \
+      $preferredNode $nodefile $diskfile $NO_MOUNT_CHECK NULL $NO_LINK  \
+      tsdeldisk "$fqDeviceName -F $diskfile $cflag $pflag $Nflag"
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # tsdeldisk failed.
+  printErrorMsg 104 $mmcmd tsdeldisk
+
+  # Since tsdeldisk failed, we must restore the sdrfs file to the
+  # correct state.  To do this, we make a modified version of the
+  # old sdrfs file with the following two changes:
+  #   - The generation number in the global header is incremented by 2;
+  #   - The SG_HEADER line is changed to indicate that an mmdeldisk
+  #       command for the filesystem was in progress.
+  $rm -f $tempsdrfs
+  newGenNumber=$($awk -F:  '                                                   \
+    BEGIN { gen = 0 }                                                          \
+    # If this is the global header line, increment the gen number.             \
+    /^'$GLOBAL_ID:$VERSION_LINE:'/ {                                           \
+      { gen = $'$SDRFS_GENNUM_Field' + 2 }                                     \
+      { $'$SDRFS_GENNUM_Field' = gen }                                         \
+      { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"     \
+              $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"     \
+              $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$tempsdrfs'" }   \
+      { next }                                                                 \
+    }                                                                          \
+    # If the tsdeldisk was attempted, set an indicator on the header line      \
+    # for the fs to indicate that an mmdeldisk command was in progress.        \
+    /':$SG_HEADR:$deviceName:'/ {                                              \
+      if ( "'$rc'" != "'$MM_DaemonDown'") {                                    \
+        { $'$ODD_STATE_Field' = "'$mmcmd'" }                                   \
+        { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"   \
+                $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"   \
+                $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$tempsdrfs'" } \
+        { next }                                                               \
+      }                                                                        \
+    }                                                                          \
+    # All other lines are printed without change.                              \
+    { print $0 >> "'$tempsdrfs'" }                                             \
+    END { print gen }                                                          \
+  ' $oldsdrfs)
+  checkForErrors awk $?
+
+  # If the tsdeldisk command was attempted, reconcile this modified
+  # sdrfs file with the GPFS daemon's view of the filesystem.
+  if [[ $rc -ne $MM_DaemonDown ]]
+  then
+    reconcileSdrfsWithDaemon $deviceName $tempsdrfs
+    rc2=$?
+    if [[ $rc2 -ne 0 ]]
+    then
+      # reconcileSdrfsWithDaemon failed.
+      printErrorMsg 171 $mmcmd reconcileSdrfsWithDaemon $rc2
+      # Tell the user to run mmcommon recoverfs against the filesystem.
+      printErrorMsg 190 $mmcmd $deviceName $deviceName
+      cleanupAndExit $rc
+    fi
+  fi
+
+  # Obtain the generation number from the version line of the sdrfs file.
+  versionLine=$($head -1 $tempsdrfs)
+  IFS=':'
+  set -f ; set -- $versionLine ; set +f
+  newGenNumber=$6
+  IFS="$IFS_sv"
+
+  # Commit the modified version of the sdrfs file to the server.
+  trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+  gpfsObjectInfo=$(commitChanges $fsHomeCluster $nsId  \
+                     $gpfsObjectInfo $newGenNumber $tempsdrfs $primaryServer)
+  if [[ $? -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    # Tell the user to run mmcommon recoverfs against the filesystem.
+    printErrorMsg 190 $mmcmd $deviceName $deviceName
+  fi
+
+  # Unlock the sdr.
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+  trap localPosttrap HUP INT QUIT KILL
+
+  # Propagate the new mmsdrfs file.  This process is asynchronous.
+  propagateSdrfsFile async $nodefile $tempsdrfs $newGenNumber
+
+  # Exit.
+  cleanupAndExit $rc
+fi
+
+
+###############################################################################
+# If here, tsdeldisk was successful.
+# Invoke routine to reset the "odd state" flag on the filesystem's SG_HEADR
+# line and change the SG_DISKS lines with a disk status of mmdel to free disks
+# (or delete them in the SP case).  The new mmsdrfs file is then committed.
+###############################################################################
+# Reset the status fields of the disks we just deleted,
+# and convert them into free disks.
+resetDiskStatus $deviceName $newsdrfs mmdel
+checkForErrors updateDiskStatus $?
+
+# Obtain the generation number from the version line of the new sdrfs file.
+versionLine=$($head -1 $newsdrfs)
+IFS=':'
+set -f ; set -- $versionLine ; set +f
+newGenNumber=$6
+IFS="$IFS_sv"
+
+# Commit the final version of the sdrfs file.
+trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+gpfsObjectInfo=$(commitChanges  \
+   $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We were unable to replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  # Tell the user to run mmcommon recoverfs against the filesystem.
+  printErrorMsg 190 $mmcmd $deviceName $deviceName
+  cleanupAndExit
+fi
+
+
+#########################################
+# Unlock the sdr.
+#########################################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap localPosttrap HUP INT QUIT KILL
+
+
+######################################################################
+# Tell the daemon to invalidate its currently-cached mount options.
+######################################################################
+$mmcommon onactive $preferredNode $allQuorumNodes  \
+                   $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+                   tsctl resetEFOptions $fqDeviceName > $errMsg 2>&1
+rc=$?
+[[ $rc = $MM_DaemonDown ]] && rc=0
+[[ $rc -ne 0 && -s $errMsg ]] && cat $errMsg 2>&1
+$rm -f $errMsg
+
+
+##################################################################
+# Propagate the new mmsdrfs file.  This process is asynchronous.
+##################################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+
+#########################################
+# Restripe the file system if requested.
+#########################################
+if [[ -n $rflag ]]
+then
+  if [[ -n $aflag ]]
+  then
+    $ln $nodefile ${nodefile}async2
+    $mmcommon onactive_async $preferredNode  \
+       ${nodefile}async2 $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+       tsrestripefs "$fqDeviceName -b $Nflag" >/dev/null 2>/dev/null &
+  else
+    # Start restriping the file system.
+    printInfoMsg 95 $device
+    $mmcommon onactive  \
+        $preferredNode $nodefile $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+        tsrestripefs "$fqDeviceName -b $Nflag"
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      # The restripe step failed.
+      printErrorMsg 104 $mmcmd tsrestripefs
+      # Warning:  File system may be unbalanced.
+      printErrorMsg 313 $mmcmd
+      cleanupAndExit
+    else
+      # Disable error message in localPosttrap.
+      rflag="r"
+      # Finished restriping.
+      printInfoMsg 99
+    fi
+  fi  # end if [[ -n $aflag ]]
+fi  # end if [[ -n $rflag ]]
+
+
+#####################################################################
+# If an "odd state" flag was encountered for any other file systems
+# in the mmsdrfs file, tell the user to issue commands to reconcile
+# the mmsdrfs file with the GPFS daemon's view of the filesystems.
+#####################################################################
+for fsname in $fsOddStateList
+do
+  # Tell the user to run mmcommon recoverfs against the file system.
+  printErrorMsg 103 $mmcmd $fsname $fsname
+done
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelfileset
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelfileset	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelfileset	(revision 16)
@@ -0,0 +1,193 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)43 1.5.1.1 src/avs/fs/mmfs/ts/admin/mmdelfileset.sh, mmfs, avs_rgpfs24, rgpfs24s007a 10/18/06 12:02:58
+#########################################################################
+#
+# Usage:
+#   mmdelfileset Device FilesetName [-f]
+#
+# where:
+#   Device        is the device name of the file system.
+#   FilesetName   is the fileset name.
+#   -f            deletes the contents of the filesets and unlinks
+#                   any child filesets prior to deleting the fileset.
+#
+#########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmdelfileset.sh"
+[[ -n $DEBUG || -n $DEBUGmmdelfileset ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+usageMsg=517
+
+
+# Local functions
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+fqDeviceName="/dev/$deviceName"    # fully-qualified name (with /dev/ prefix)
+
+# The second argument is always the fileset name.
+filesetName=$arg2
+checkName filesetName 255 "$filesetName"
+[[ $? -ne 0 ]] && cleanupAndExit
+
+# Move past the positional parameters.
+shift 2
+
+# Process the rest of the parameters.
+while getopts :f OPT
+do
+  case $OPT in
+    f) # Delete the contents of the fileset.
+       [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fflag="-$OPT"
+       ;;
+    +[f]) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+    :) # Missing argument.
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+    *) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done  # end of while getopts :t OPT do
+shift OPTIND-1
+
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+######################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs file is up-to-date.  There is no need to lock the file.
+######################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+########################################################################
+# Invoke the tsdelfileset command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the fileset name contains path name expansion triggers
+#   - this is a single node cluster
+########################################################################
+$tsdelfileset $fqDeviceName "$filesetName" $fflag 2>$errMsg
+rc=$(remapRC $?)
+if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+#   [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tsdelfileset" $rc
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+#####################################################################
+# We come here if the local GPFS daemon is not ready for commands.
+# Find an active node and send the command there.
+#####################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+preferredNode=$ourNodeName
+
+# Try the nodes one by one until you find a node that can execute the command.
+$mmcommon onactive $preferredNode $nodefile     \
+   $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+   tsdelfileset "$fqDeviceName $filesetName $fflag"
+rc=$?
+
+# if [[ $rc -ne 0 ]]
+# then
+#   # tsdelfileset failed.
+#   printErrorMsg 104 $mmcmd tsdelfileset
+#   cleanupAndExit $rc
+# fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelfs	(revision 16)
@@ -0,0 +1,285 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)23 1.82 src/avs/fs/mmfs/ts/admin/mmdelfs.sh, mmfs, avs_rgpfs24, rgpfs240610b 10/25/05 14:41:42
+######################################################################
+#
+#  Usage:  mmdelfs Device [-p]
+#
+#    Device  - the device name of the filesystem to be deleted.
+#
+#    -p      - indicates that the disks are permanently damaged and
+#              that the fs information should be removed from the sdr
+#              even if tsdelfs fails.
+#
+######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmdelfs.sh"
+[[ -n $DEBUG || -n $DEBUGmmdelfs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+integer n=1
+usageMsg=292
+pflag=""
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # The first argument is always the file system name.
+shift 1          # Move past the required positional parameters.
+
+# Check validity of the flags.
+while getopts :np OPT
+do
+  case $OPT in
+    p) [[ -n $pflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       pflag=yes
+       ;;
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+    +[p]) syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#######################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+
+########################################################################
+# Create the new version of the mmsdrfs file.
+#
+# It will have a new generation number and all references
+# to the file system that is being deleted will be removed.
+#
+# Simultaneously, we will create a file with the names of the nodes
+# that belong to the cluster.  This file will be used later for
+# propagating the changes to the individual nodes.
+########################################################################
+$rm -f $newsdrfs $nodefile
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )
+       # Increment the generation number.
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+       ;;
+
+    $MEMBER_NODE )
+       # Add the reliable node name to nodefile.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+       checkForErrors "writing to file $nodefile" $?
+
+       # If this is the line for the node that is executing
+       # this command, set the preferredNode variable.
+       [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+         preferredNode=${v[$REL_HOSTNAME_Field]}
+       ;;
+
+    $SG_HEADR | $SG_ETCFS | $SG_MOUNT | $AUTHORIZED_FS )
+       # If any of the above lines belongs to the file system
+       # being deleted, remove the line from the mmsdrfs file.
+       [[ ${v[$DEV_NAME_Field]} = $deviceName ]] &&  \
+         printLine=false
+       ;;
+
+    $SG_DISKS )
+       # If this disk belongs the file system being deleted, change
+       # the SG_DISK line to indicate that the disk is now available.
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       then
+         # Reset relevant fields.
+         v[$NODESETID_Field]=$FREE_DISK
+         v[$DEV_NAME_Field]=$NO_DEVICE
+         v[$LINE_NUMBER_Field]=0
+         v[$EXCLUDE_Field]=$includedDisk
+         v[$DISK_STATUS_Field]=""
+       fi  # end if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+  esac  # end Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+# Sort the new version of the mmsdrfs file.
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+
+
+#############################################
+# Lock the gpfs object to prevent mounts
+# from taking place during the commit phase.
+#############################################
+[[ $getCredCalled = no ]] && getCred
+setRunningCommand "$mmcmd" $primaryServer
+checkForErrors setRunningCommand $?
+gpfsLocked=yes
+
+
+##############################################
+# Call tsdelfs to mark the disks as free.
+# The function will be performed only if the
+# file system is not mounted anywhere.
+##############################################
+$mmcommon onactive $preferredNode $nodefile $NO_FILE_COPY $fqDeviceName  \
+                   $CHECK_ALL $NO_LINK tsdelfs "$fqDeviceName"
+rc=$?
+
+# If the file system is still mounted, give up (msg already issued).
+[[ $rc -eq $MM_FsMounted ]] &&  \
+  cleanupAndExit
+
+if [[ $rc -ne 0 ]]
+then
+  # tsdelfs failed.  If -p is not specified, the mmdelfs command fails too.
+  # Otherwise, the tsdelfs error is ignored and the fs is removed from the sdr.
+  if [[ -z $pflag ]]
+  then
+    printErrorMsg 104 $mmcmd tsdelfs
+    cleanupAndExit
+  else
+    # Issue a warning.
+    printErrorMsg 267 $mmcmd
+  fi
+fi  # end of if [[ $rc -ne 0 ]]
+
+
+#################################################################
+# Put the mmsdrfs file back.  This deletes the file system for
+# newly-started daemons - they will not see the file system.
+#################################################################
+trap "" HUP INT QUIT KILL   # Disable until mmsdrfs update is done.
+gpfsObjectInfo=$(commitChanges  \
+   $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # Cannot replace file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+###################################################################
+# The file system was successfully deleted.  Unlock the sdr.
+###################################################################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+######################################################################
+# Propagate the changes to all affected nodes.  This will include
+# removing of the stanza for the file system from /etc/filesystems,
+# and removing the device name and mount point.
+######################################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelnode
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelnode	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelnode	(revision 16)
@@ -0,0 +1,761 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)24 1.130 src/avs/fs/mmfs/ts/admin/mmdelnode.sh, mmfs, avs_rgpfs24, rgpfs240610b 12/5/05 15:41:10
+##############################################################################
+#
+# Usage:  mmdelnode {-a | -f | -N {Node[,Node...] | NodeFile | NodeClass}}
+#
+# where:
+#
+#   -a                 specifies that all of the nodes in the cluster
+#                      are to be deleted.
+#
+#   -N Node,Node,...   Specify the nodes to be deleted from the cluster.
+#   -N NodeFile        NodeClass may be one of several possible node classes
+#   -N NodeClass       (e.g., quorumnodes, managernodes, nsdnodes, etc.)
+#                      If none of -N, -n, or nodelist is not specified,
+#                      the entire cluster is changed; otherwise, the changes
+#                      are made to the specified nodes.
+#                      -N cannot be specified with the obsolete -n options.
+#
+# Obsolete but still supported options:
+#
+#   -n Node,Node,...   is a comma-separated list of nodes to be deleted
+#                      from the cluster.
+#
+#   -n NodeFile        is a file containing the names of the nodes
+#                      to be deleted from the current GPFS cluster.
+#
+# Undocumented option:
+#
+#   -f                 remove all GPFS configuration files on the node.
+#                      This option applies only to the node on which
+#                      the mmdelnode command is issued.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmdelnode.sh"
+[[ -n $DEBUG || -n $DEBUGmmdelnode ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+allnodes=${tmpDir}allnodes.${mmcmd}.$$            # list of all cluster nodes
+delnodes=${tmpDir}delnodes.${mmcmd}.$$            # list of the nodes to delete
+oldcfgFile=${tmpDir}oldcfgFile.${mmcmd}.$$        # original mmfs.cfg file
+remnodes=${tmpDir}remnodes.${mmcmd}.$$            # list of the remaining nodes
+nodesToDelete=${tmpDir}nodesToDelete.${mmcmd}.$$  # nodes from the command line
+serverNodes=${tmpDir}serverNodes.${mmcmd}.$$      # list of NSD servernodes
+
+LOCAL_FILES=" $allnodes $nodesToDelete $delnodes $oldcfgFile $remnodes $serverNodes "
+
+
+# Local declarations
+
+usageMsg=356
+integer lineCnt
+
+# Local routines
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+##################################
+# Process the command arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+while getopts :afn:N: OPT
+do
+
+  case $OPT in
+
+    a) # Delete all of the nodes in the cluster.
+       [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag=yes
+       argc=argc-1
+       ;;
+
+    f) # Remove all config files on this node.
+       [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fflag=yes
+       argc=argc-1
+       ;;
+
+    n) # node names file
+       [[ -n $nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nflag=yes
+       narg=$OPTARG
+       argc=argc-2
+       ;;
+
+    N) # node names list, file, or class
+       [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag=yes
+       Narg=$OPTARG
+       argc=argc-2
+       ;;
+
+    +[afnN]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+
+done  # end of while getopts :afn:N: OPT do
+
+shift OPTIND-1
+
+
+[[ -n $aflag && -n $fflag ]] &&  \
+  syntaxError "invalidCombination" $usageMsg "-a" "-f"
+
+[[ -n $aflag && -n $nflag ]] &&  \
+  syntaxError "invalidCombination" $usageMsg "-a" "-n"
+
+[[ -n $aflag && -n $Nflag ]] &&  \
+  syntaxError "invalidCombination" $usageMsg "-a" "-N"
+
+[[ -n $fflag && -n $nflag ]] &&  \
+  syntaxError "invalidCombination" $usageMsg "-f" "-n"
+
+[[ -n $fflag && -n $Nflag ]] &&  \
+  syntaxError "invalidCombination" $usageMsg "-f" "-N"
+
+[[ -n $nflag && -n $Nflag ]] &&  \
+  syntaxError "invalidCombination" $usageMsg "-n" "-N"
+
+[[ $argc -gt 0 && ( -n $aflag || -n $fflag || -n $nflag ) ]] &&  \
+  syntaxError "extraArg" $usageMsg "$1"
+
+
+###################################################################
+# If -f is specified, wipe out all of the GPFS config information
+# on this node and exit.
+###################################################################
+if [[ -n $fflag ]]
+then
+  # Verify that the daemon is not running on this node.
+  tsstatusOutput=$(LC_ALL=C $tsstatus -1 2>&1)
+  print -- "$tsstatusOutput" | $grep -e 'file system daemon is running'  \
+                                     -e 'Waiting for quorum' >/dev/null
+  if [[ $? -eq 0 ]]
+  then
+    # MMFS is still active on this node.
+    printErrorMsg 63 $mmcmd "$($hostname)"
+  else
+    # Go ahead and wipe out the files.
+    removeFromCluster
+  fi
+  cleanupAndExit
+fi
+
+
+#####################################################################
+# Complete the parameter checking and create the nodesToDelete file.
+#####################################################################
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+$rm -f $nodesToDelete
+if [[ -n $aflag ]]
+then
+  :  # There is nothing we need to do if -a was specified.
+
+elif [[ -n $Nflag ]]
+then
+  # Convert the passed data into a file containing IP addresses.
+  createVerifiedNodefile $Narg $IPA_Field no $nodesToDelete
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+else
+  if [[ -n $nflag ]]
+  then
+    # Check whether the node names file parameter exists and is readable.
+    if [[ ! -f $narg || ! -r $narg ]]
+    then
+      # The node names file cannot be read.
+      printErrorMsg 43 $mmcmd $narg
+      cleanupAndExit
+    fi
+
+    # Filter out comment lines and localhost entries.
+    $grep -v -e "localhost" -e "^#" "$narg" > $tmpfile
+
+  else
+    # If neither the -a nor the -n option was used,
+    # a list of node names is required.
+    if [[ $argc -eq 1 ]]
+    then
+      # If there is exactly one string left,
+      # it is assumed to be the list of nodes to delete.
+      arglist=$1
+    elif [[ $argc -gt 1 ]]
+    then
+      # If more than one string is left,
+      # we have a syntax error.
+      syntaxError "extraArg" $usageMsg "$2"
+    else
+      # If there are no more parameters,
+      # a required parameter is missing.
+      syntaxError "missingArgs" $usageMsg
+    fi
+
+    # Convert the input node list into a file containing
+    # the nodes to delete.
+    IFS=','
+    for node in $arglist
+    do
+      IFS="$IFS_sv"    # Restore the default IFS setting.
+
+      # Append the node to the temp file.
+      print -- "$node" >> $tmpfile
+      checkForErrors "writing to file $tmpfile" $?
+
+      IFS=','          # Set the field separator for the next iteration.
+    done
+    IFS="$IFS_sv"    # Restore the default IFS setting.
+
+  fi  # end of if [[ -n $nflag ]]
+
+  # Convert any entries in the temp file into IP addresses.
+  if [[ -s $tmpfile ]]
+  then
+    createVerifiedNodefile $tmpfile $IPA_Field no $nodesToDelete
+    [[ $? -ne 0 ]] && cleanupAndExit
+  else
+    # No node names were specified.
+    printErrorMsg 328 $mmcmd $narg
+    cleanupAndExit
+  fi
+
+fi   # end of if [[ -n $aflag ]]
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#
+# Note:  We are using a variation of gpfsInit - gpfsInitGeneric,
+# which allows the command to still run on old GPFS cluster types.
+# If the cluster type is lc or single, things work as they always do.
+# But if the cluster type is sp, rpd, or hacmp, we are dealing with
+# an obsolete GPFS cluster environment.  The daemon will never be
+# allowed to start under these circumstances, nor will the bulk of
+# the mm commands be allowed to work.  The only exception are commands
+# (mmexportfs, mmdelnode) needed by the user to migrate to a supported
+# environment.  Under such conditions it is acceptable to assume that
+# the daemon is indeed not runing anywhere (i.e., there is no need to
+# run verifyDaemonInactive) and to ignore the true commit processing
+# and the rebuilding of the mmfs environment.  The idea is to allow
+# the user to run "mmexportfs all", followed by "mmdelnode -a", and
+# then create a new cluster of type lc.
+#######################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInitGeneric $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+
+#######################################################################
+# Create a new version of the mmsdrfs file.
+#######################################################################
+$rm -f $newsdrfs $allnodes $remnodes $tmpfile $delnodes $serverNodes $oldcfgFile
+lineCnt=0
+coreQuorumDefined=""
+
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+      # Increment the generation number
+      newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+      v[$SDRFS_GENNUM_Field]=$newGenNumber
+      ;;
+
+    $NODESET_HDR )    # This is the nodeset header line.
+      # The line will be rebuilt after we have the new value
+      # for node count (field 5).
+      nodesetHdr_A="${v[1]}:${v[2]}:${v[3]}:${v[4]}"
+      nodesetHdr_B="${v[6]}:${v[7]}:${v[8]}:${v[9]}:${v[10]}:${v[11]}"
+      nodesetHdr_C="${v[12]}:${v[13]}:${v[14]}:${v[15]}:${v[16]}:${v[17]}"
+      nodesetHdr_D="${v[18]}:${v[19]}:${v[20]}:${v[21]}:${v[22]}"
+      printLine=false
+      ;;
+
+    $MEMBER_NODE )  # This line describes a node.
+      # Add the node to the list of nodes presently in the cluster.
+      print -- "${v[$REL_HOSTNAME_Field]}" >> $allnodes
+      checkForErrors "writing to file $allnodes" $?
+
+      # Find out if core quorum is currently being used.
+      [[ -n ${v[$CORE_QUORUM_Field]} ]] &&  \
+        coreQuorumDefined=yes
+
+      # Determine whether this is one of the nodes to be removed.
+      # The awk script checks whether the first field in the nodesToDelete
+      # file matches the IP address of the current MEMBER_NODE line.
+      # If yes, the deleteThisNode flag will be set to 'yes'.
+      # All other lines are passed unchanged and written to a tmpfile.
+
+      # Ensure that tmpfile exists at the end, even if empty.
+      # If this isn't done, the mv command further down will fail.
+      $touch $tmpfile
+
+      if [[ -n $aflag ]]
+      then
+        deleteThisNode=yes
+      else
+        deleteThisNode=$($awk '          \
+          $1 == "'${v[$IPA_Field]}'" {   \
+            { print "yes" }              \
+            { exit }                     \
+          }                              \
+        ' $nodesToDelete)
+        checkForErrors "awk" $?
+      fi
+
+      if [[ $deleteThisNode = yes ]]
+      then
+        # This node is being deleted.
+        printLine=false
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $delnodes
+        checkForErrors "writing to file $delnodes" $?
+
+        # See if the node is one of the "interesting" nodes.
+        [[ ${v[$REL_HOSTNAME_Field]} = $primaryServer ]] &&  \
+          deletedPrimaryServer=${v[$REL_HOSTNAME_Field]}
+        [[ ${v[$REL_HOSTNAME_Field]} = $backupServer ]] &&  \
+          deletedBackupServer=${v[$REL_HOSTNAME_Field]}
+        [[ ${v[$REL_HOSTNAME_Field]} = $ourNodeName ]] &&  \
+          deletingOurNode=${v[$REL_HOSTNAME_Field]}
+
+        # Add the short name to a list of node names to be used
+        # to back out any local changes in the mmfs.cfg file.
+        [[ -z $deletedNodeNames ]]  \
+           && deletedNodeNames=${v[$NODE_NAME_Field]}  \
+           || deletedNodeNames="$deletedNodeNames,${v[$NODE_NAME_Field]}"
+
+      else
+        # This node is not being deleted.
+
+        # Adjust the line sequence number.
+        lineCnt=$lineCnt+1
+        v[$LINE_NUMBER_Field]=$lineCnt
+
+        # Add the node to the remaining nodes list.
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $remnodes
+        checkForErrors "writing to file $remnodes" $?
+
+        # Keep track of the presence of quorum nodes.
+        [[ ${v[$CORE_QUORUM_Field]} != $nonQuorumNode ]] &&  \
+          quorumNodesDefined=yes
+        [[ ${v[$CORE_QUORUM_Field]} = $quorumNode &&
+           ${v[$ADDNODE_STATE_Field]} = $OLD_NODE ]] &&  \
+          oldQuorumNodeFound=yes
+
+      fi  # end of if [[ $deleteThisNode = yes ]]
+      ;;
+
+    $SG_HEADR )    # This is the header line for some file system.
+      [[ ${v[$FS_TYPE_Field]} = $localfs ]] &&  \
+        localFileSystemsFound=yes
+      [[ ${v[$FS_TYPE_Field]} = $remotefs ]] &&  \
+        remoteFileSystemsFound=yes
+      ;;
+
+    $SG_DISKS )    # This line describes some disk.
+
+      # Collect the names of all server nodes.
+      if [[ -n ${v[$NSD_PRIMARY_NODE_Field]} ]]
+      then
+        print -- "$diskName ${v[$NSD_PRIMARY_NODE_Field]}" >> $serverNodes
+        rc=$?
+        if [[ -n ${v[$NSD_BACKUP_NODE_Field]} ]]
+        then
+          print -- "$diskName ${v[$NSD_BACKUP_NODE_Field]}" >> $serverNodes
+          rc=$?
+        fi
+        checkForErrors "writing to file $serverNodes" $rc
+      fi
+      ;;
+
+    $MMFSCFG )     # This line contains mmfs.cfg information.
+
+      # Remove the line from the mmsdrfs file for now.  The mmfs.cfg
+      # information will be added back before committing the changes.
+      printLine=false
+
+      # Extract the mmfs.cfg information.
+      # It is everything past the first 4 fields.
+      cfgLine="${v[5]}:${v[6]}:${v[7]}:${v[8]}:${v[9]}:${v[10]}:${v[11]}"
+      cfgLine="$cfgLine:${v[12]}:${v[13]}:${v[14]}:${v[15]}:${v[16]}"
+      cfgLine="$cfgLine:${v[17]}:${v[18]}:${v[19]}:${v[20]}:${v[21]}:${v[22]}:"
+
+      # To preserve tabs, temporarily set IFS to new line only.
+      IFS="
+"
+      # Strip trailing colons and write the line to the file.
+      print -- "${cfgLine%%+(:)}" >> $oldcfgFile
+      checkForErrors "writing to file $oldcfgFile" $?
+      IFS="$IFS_sv"  # Restore the default IFS settings.
+      ;;
+
+    $REM_CLUSTER )    # This line describes a remote cluster.
+      remoteClusterFound=yes
+      ;;
+
+    * )  # There is no need to look at any of the other lines.
+      ;;
+
+  esac  # end Change some of the fields
+
+  # If the line is to be kept, write it to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+########################################################
+# Issue an error if no nodes to be deleted were found.
+# (This should never happen, but check just in case.)
+########################################################
+if [[ ! -s $delnodes ]]
+then
+  # This should not happen at this point.
+  print -u2 "$mmcmd: No nodes were found for deletion."
+  cleanupAndExit
+fi
+
+
+##############################################################
+# Issue an error if the entire cluster is being destroyed but
+# there is still file system or remote cluster information.
+##############################################################
+if [[ ! -s $remnodes ]]
+then
+  # Make sure that there are no file systems left behind.
+  if [[ -n $localFileSystemsFound ]]
+  then
+    # This cluster contains filesystems.
+    printErrorMsg 310 $mmcmd
+    cleanupAndExit
+  fi
+
+  # Make sure that there are no remote cluster declarations left behind.
+  if [[ -n $remoteFileSystemsFound || -n $remoteClusterFound ]]
+  then
+    # This cluster contains remote declarations.
+    printErrorMsg 268 $mmcmd
+    cleanupAndExit
+  fi
+fi  # end of if [[ ! -s $remnodes ]]
+
+
+###################################################################
+# The daemon cannot be running on any of the nodes that will be
+# deleted.  Depending on the circumstances (see inline comments),
+# it may be necessary to stop GPFS on the remaining nodes as well.
+#
+# Note:  The verifyDaemonInactive call also gets the Gpfs object
+#        lock which will prevent the daemon from starting until
+#        the command completes.
+###################################################################
+if [[ $MMMODE = lc || $MMMODE = single ]]
+then
+  if [[ -z $coreQuorumDefined ]]
+  then
+    # If core quorum is not in effect, the daemon must be down everywhere.
+    nodesToCheck=$allnodes
+  elif [[ -s $remnodes && -z $oldQuorumNodeFound ]]
+  then
+    # If core quorum is in effect and none of the remaining quorum nodes
+    # has been accepted yet by the daemon (they are all marked new),
+    # the daemon must be stopped everywhere.
+    nodesToCheck=$allnodes
+  else
+    # In all other cases, we can delete the nodes dynamically.
+    nodesToCheck=$delnodes
+  fi
+
+  # Verifying that GPFS is stopped on all affected nodes.
+  printInfoMsg 453
+  verifyDaemonInactive $nodesToCheck $mmcmd
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+  if [[ $nodesToCheck = $allnodes ]]
+  then
+    daemonInactive=yes
+  else
+    daemonInactive=no
+  fi
+fi  # end of if [[ $MMMODE = lc || $MMMODE = single ]]
+
+
+#######################################################################
+# If the entire cluster is being deleted, start a background process
+# that will remove our files from each of the nodes and get out.
+# There is nothing to commit because everything is going away anyway.
+#######################################################################
+if [[ ! -s $remnodes ]]
+then
+  # Clean up the lock file.
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+  sdrLocked=no
+
+  # Clean up all configuration files.
+  printErrorMsg 271 $mmcmd
+  $ln $delnodes ${delnodes}async
+  $mmcommon onall_async ${delnodes}async removeFromCluster &
+
+  # The command completed successfully.
+  # We use the doNotUnlock option of cleanupAndExit because the
+  # primary server may already be gone due to the removeFromCluster
+  # we just executed, and everything is going away in any case.
+  printErrorMsg 272 $mmcmd
+  cleanupAndExit 0 doNotUnlock
+fi
+
+
+##################################################################
+# If we arrive here, at least one node remains in the cluster.
+##################################################################
+
+##################################################################
+# If this is an obsolete GPFS cluster environment, the user
+# must delete all nodes in the cluster; there is no other option.
+##################################################################
+if [[ $MMMODE != lc && $MMMODE != single ]]
+then
+  print -u2 "$mmcmd: You must delete all nodes in the current cluster and"
+  print -u2 "    move to a supported GPFS environment (cluster type lc)."
+  print -u2 "    See the GPFS Concepts, Planning, and Installation Guide for instructions."
+  cleanupAndExit
+fi
+
+
+#############################################################
+# Issue an error message and exit if an attempt was made
+# to delete the primary server or the backup server.
+#############################################################
+if [[ -n $deletedPrimaryServer || -n $deletedBackupServer ]]
+then
+  if [[ -n $deletedPrimaryServer ]]
+  then
+    server=$deletedPrimaryServer
+  else
+    server=$deletedBackupServer
+  fi
+  # Repository server nodes cannot be deleted.
+  printErrorMsg 384 $mmcmd $server
+  cleanupAndExit
+fi
+
+
+######################################################################
+# The command must be issued from a node that remains in the cluster.
+######################################################################
+if [[ -n $deletingOurNode ]]
+then
+  # Issue the command from a node in the cluster.
+  printErrorMsg 417 $mmcmd
+  cleanupAndExit
+fi
+
+
+################################################################
+# Ensure that there is at least one quorum node in the cluster.
+################################################################
+if [[ -z $quorumNodesDefined ]]
+then
+  printErrorMsg 53 $mmcmd
+  cleanupAndExit
+fi
+
+
+############################################################
+# If all quorum nodes are marked "new", the daemon will not
+# be able to start unless the addNodeState field is reset.
+############################################################
+if [[ -z $oldQuorumNodeFound ]]
+then
+  # Reset the addnode state of all nodes to 'old'.
+  $rm -f $tmpfile
+  $awk -F:  '                                                                \
+     # If this is a node line, clear the addnode state field.                \
+     /'^$HOME_CLUSTER:$MEMBER_NODE:'/ {                                      \
+       { $'$ADDNODE_STATE_Field' = "'$OLD_NODE'" }                           \
+       { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+               $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+               $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$tmpfile'" }  \
+        { next }                                                             \
+     }                                                                       \
+     # All other lines are echoed without change.                            \
+     { print $0 >> "'$tmpfile'" }                                            \
+     END { print gen }                                                       \
+  ' $newsdrfs
+  checkForErrors awk $?
+
+  # The file was updated successfully.
+  $mv $tmpfile $newsdrfs
+  checkForErrors "mv $tmpfile $newsdrfs" $?
+fi  # end of if [[ -z $oldQuorumNodeFound ]]
+
+
+###################################################
+# Verify that none of the nodes to be deleted are
+# still defined as a primary or backup NSD server.
+###################################################
+if [[ -s $serverNodes ]]
+then
+  $sort -u $serverNodes -o $serverNodes
+  exec 3<&-
+  exec 3< $delnodes
+  while read -u3 relNodeName
+  do
+    $grep -w $relNodeName $serverNodes > /dev/null 2>&1
+    if [[ $? -eq 0 ]]
+    then
+      # The node is still an NSD server for some disk.
+      printErrorMsg 433 $mmcmd $relNodeName
+      nsdServersFound=true
+    fi
+  done   # end of while read -u3 nodeLine
+  [[ -n $nsdServersFound ]] &&  \
+    cleanupAndExit
+fi   # end of if [[ -s $serverNodes ]]
+
+
+######################################################
+# Add the nodeset header line back into the mmsdrfs.
+######################################################
+outline="$nodesetHdr_A:$lineCnt:$nodesetHdr_B:$nodesetHdr_C:$nodesetHdr_D"
+print -- "$outline" >> $newsdrfs
+checkForErrors "writing to file $newsdrfs" $?
+
+
+######################################################
+# Remove from the mmfs.cfg file any parameter values
+# that are specific to the deleted nodes.
+######################################################
+if [[ -n $deletedNodeNames ]]
+then
+  $mmfixcfg $deletedNodeNames < $oldcfgFile > $newcfg
+  if [[ $? != 0 ]]
+  then
+    # Warning:  failed to remove node-specific changes to mmfs.cfg
+    printErrorMsg 311 $mmcmd
+  else
+    # mmfixcfg worked.
+    replaceMmfscfg=yes
+  fi
+fi  # if [[ -n $deletedNodeNames ]]
+
+
+###########################################################
+# Put the mmfs.cfg information back into the mmsdrfs file.
+###########################################################
+if [[ $replaceMmfscfg = yes ]]
+then
+  appendCfgFile $nodesetId $newcfg $newsdrfs
+  rc=$?
+else
+  appendCfgFile $nodesetId $oldcfgFile $newsdrfs
+  rc=$?
+fi
+checkForErrors "appendCfgFile" $rc
+
+
+############################################
+# Sort the new version of the mmsdrfs file.
+############################################
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+
+
+#########################################
+# Put the new mmsdrfs file into the sdr.
+#########################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $HOME_CLUSTER $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We were unable to replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+# Remove GPFS system files from the deleted nodes.  Ignore any errors.
+[[ -s $delnodes ]] &&  \
+  $mmcommon onall $delnodes $unreachedNodes removeFromCluster > /dev/null  2>&1
+
+
+##################
+# Unlock the sdr.
+##################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+# Indicate command was successful.
+printErrorMsg 272 $mmcmd
+
+
+##########################################################################
+# Asynchronously propagate the changes to all remaining nodes.
+##########################################################################
+propagateSdrfsFile async $remnodes $newsdrfs $newGenNumber rereadNodeList
+
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelnsd
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelnsd	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelnsd	(revision 16)
@@ -0,0 +1,694 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)09 1.54.1.2 src/avs/fs/mmfs/ts/admin/mmdelnsd.sh, mmfs, avs_rgpfs24, rgpfs24s005a 6/14/06 14:40:18
+################################################################################
+#
+# Usage:
+#   mmdelnsd {"DiskName[;DiskName...]" | -F DiskFile}
+# or
+#   mmdelnsd -p NSDid [-N Node[,Node]]
+#
+# where:
+#
+#   "DiskName[;DiskName...]"  is a ";"-separated list of NSD names.
+#
+#   DiskFile                  is the name of a file containing the names
+#                             of the NSDs to be deleted.
+#
+#   -p NSDid                  is the NSD volume id of a GPFS NSD.
+#
+#   -N Node[,Node]            is a list of nodes to which the disk is attached.
+#                             If not specified, the disk is assumed to be
+#                             directly attached to all nodes in the cluster.
+#                             Although -N is processed the same as for other
+#                             GPFS commands (i.e., you could also specify
+#                             a longer node list, a node file, or a node class),
+#                             only the first two nodes will be used.
+#
+# Note:  The second format of the command is intended primarily for use
+#        after a successful removal of the disk from the mmsdrfs file,
+#        but a failure to clear the NSD volume id of an NSD disk.
+#
+################################################################################
+
+# Include global declarations and service routines
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmdelnsd.sh"
+[[ -n $DEBUG || -n $DEBUGmmdelnsd ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+affectedNodes=${tmpDir}affectedNodes.${mmcmd}.$$
+PVIDsToDelete=${tmpDir}PVIDsToDelete.${mmcmd}.$$
+
+LOCAL_FILES=" $PVIDsToDelete $affectedNodes "
+
+
+# Local declarations
+usageMsg=413
+
+
+# Local routines
+
+###############################################################################
+#
+# Function:  Delete the NSD volume id of an NSD disk.
+#
+# Input:     pvid nsdSubtype nsdSubname primaryServer backupServer
+#
+###############################################################################
+function clearPVID  # <pvid> <nsdSubtype> <nsdSubname>
+                    #   <primaryServer> <backupServer>
+{
+  typeset sourceFile="mmdelnsd.sh"
+  [[ -n $DEBUG || -n $DEBUGclearPVID ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset pvid=$1
+  typeset nsdSubtype=$2
+  typeset nsdSubname=$3
+  typeset primaryServer=$4
+  typeset backupServer=$5
+
+  typeset firstChoice secondChoice tspreparediskOutput magicWord rc rc2 retcode
+
+  # Determine where to send the request for deleting the NSD volume id.
+  if [[ -z $primaryServer ]]
+  then
+    firstChoice=$ourNodeName
+    secondChoice=""
+  elif [[ $primaryServer = $ourNodeName ]]
+  then
+    firstChoice=$ourNodeName
+    secondChoice=$backupServer
+  elif [[ $backupServer = $ourNodeName ]]
+  then
+    firstChoice=$ourNodeName
+    secondChoice=$primaryServer
+  else
+    firstChoice=$primaryServer
+    secondChoice=$backupServer
+  fi
+
+  nsdSubnameParm="-Z $nsdSubname"
+  [[ $nsdSubname = $UNKNOWN ]] && nsdSubnameParm=""
+
+  # Clear (zero out) the NSD volume id.
+  if [[ $firstChoice = $ourNodeName ]]
+  then
+    tspreparediskOutput=$($tspreparedisk -z $pvid -t $nsdSubtype $nsdSubnameParm)
+    rc=$?
+  else
+    tspreparediskOutput=$($mmcommon on1 $firstChoice adminCmd  \
+       tspreparedisk -z $pvid -t $nsdSubtype $nsdSubnameParm)
+    rc=$?
+  fi
+
+  # Parse the output from the tspreparedisk command.
+  IFS=":"
+  set -f ; set -- $tspreparediskOutput ; set +f
+  magicWord=$1
+  rc2=$2
+  IFS="$IFS_sv"
+
+  if [[ $rc != 0 || $magicWord != tspreparedisk || $rc2 -ne 0 ]]
+  then
+    # tspreparedisk failed.  If there is a second choice, try again.
+    # Note that because of the way firstChoice and secondChoice
+    # were determined, secondChoice cannot be the local node.
+    if [[ -n $secondChoice ]]
+    then
+      tspreparediskOutput=$($mmcommon on1 $secondChoice adminCmd  \
+         tspreparedisk -z $pvid -t $nsdSubtype $nsdSubnameParm)
+      rc=$?
+      # Parse the output from the tspreparedisk command.
+      IFS=":"
+      set -f ; set -- $tspreparediskOutput ; set +f
+      magicWord=$1
+      rc2=$2
+      IFS="$IFS_sv"
+    fi
+  fi
+
+  if [[ $rc != 0 || $magicWord != tspreparedisk || $rc2 -ne 0 ]]
+  then
+    retcode=$rc2
+  else
+    retcode=0
+  fi
+
+  return $retcode
+
+}  #----- end of function clearPVID ------------------------
+
+
+
+######################
+# Mainline processing
+######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+while getopts :F:N:p: OPT
+do
+  case $OPT in
+
+    F) [[ -n $Fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Farg="$OPTARG"
+       Fflag="-F"
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nodeList="$OPTARG"
+       Nflag="-N"
+       ;;
+
+    p) [[ -n $pflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       pflag="-p"
+       pvidToDelete=$OPTARG
+       ;;
+
+    +[Np]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done
+
+# Drop the processed options from the parameter list.
+shift OPTIND-1
+
+# Complete the parameter checking.
+if [[ -z $pflag && -z $Nflag ]]
+then
+  if [[ -z $Fflag ]]
+  then
+    # The diskList form of the command syntax was used.
+    if [[ $argc -eq 1 ]]
+    then
+      # If there is exactly one string left, it is assumed
+      # to be the list of disks.
+      diskList=$1
+
+      # Ensure that semi-colon is used as a disk name separator.
+      [[ "$diskList" = *+([-:,${BLANKchar}${TABchar}])* ]] &&  \
+        syntaxError "badSeparator_notSemicolon" $noUsageMsg
+
+      # Convert the list of disks into a file.
+      $rm -f $diskNamesFile
+      IFS=';'
+      for disk in $diskList
+      do
+        print -- "$disk" >> $diskNamesFile
+        checkForErrors "writing to $diskNamesFile" $?
+      done
+      IFS="$IFS_sv"    # Restore the default IFS setting.
+
+    elif [[ $argc -gt 1 ]]
+    then
+      # More than one string is left, so we have a syntax error.
+      syntaxError "extraArg" $usageMsg "$2"
+
+    else
+      # If there are no more parameters,
+      # a required parameter is missing.
+      syntaxError "missingArgs" $usageMsg
+    fi  # end of if [[ $argc -eq 1 ]]
+
+  else
+    # The disks names are specified in a file.
+    # Check the file and create a temp copy that we can modify.
+    checkUserFile $Farg $diskNamesFile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi  # end of if [[ -z $Fflag ]]
+
+else
+  # The second form of the syntax was used.
+  # The -p flag must have been specified.
+  [[ -z $pflag ]] &&  \
+    syntaxError "missingArgs" $usageMsg
+
+  # There should be no other parms.
+  [[ $# -ne 0 ]] &&   \
+    syntaxError "extraArg" $usageMsg "$1"
+
+  # If a list of nodes was specified via the -N option,
+  # convert it to a verified list of admin node names.
+  if [[ -n $Nflag ]]
+  then
+    createVerifiedNodefile "$nodeList" $REL_HOSTNAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+
+    # Convert the output data from a file to a comma-separated list.
+    newNodeList=$(print -- $(cat $nodefile) | $sed 's/ /,/g')
+  fi  # end of if [[ -n $Nflag ]]
+fi  # end of if [[ -z $pflag && -z $Nflag ]]
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#####################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+
+####################################################
+# Determine whether disk-based quorum is in effect.
+####################################################
+diskQuorumInEffect=$(showCfgValue tiebreakerDisks)
+[[ $diskQuorumInEffect = no ]] && diskQuorumInEffect=""
+
+
+#######################################################################
+# Create a new version of the mmsdrfs file.  Increment the generation
+# number and remove the free disk lines for the disks being deleted.
+#
+# Note:  A disk cannot be deleted from the cluster if it is still
+#        listed as an active disk in some file system.
+#######################################################################
+$rm -f $newsdrfs $nodefile $PVIDsToDelete
+IFS=":"         # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+      # Increment the generation number
+      newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+      v[$SDRFS_GENNUM_Field]=$newGenNumber
+      ;;
+
+    $MEMBER_NODE )   # This line describes a node.
+      # Add the node's reliable name to the list of nodes
+      # to be notified about the sdrfs changes.
+      print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+      checkForErrors "writing to file $nodefile" $?
+      ;;
+
+    $SG_DISKS )      # This line describes some disk.
+      # Determine whether this disk is one of the disks to be deleted.
+      if [[ -z $pflag ]]  # Was the -p flag specified?
+      then
+        # We are in the "normal" disk list or disk file cases.
+        # Was this disk one of the NSDs to be deleted?
+        $grep -w ${v[$DISK_NAME_Field]} $diskNamesFile > /dev/null 2>&1
+        if [[ $? -eq 0 ]]
+        then
+          # The disk represented by the current SG_DISKS line
+          # is one of the disks that should be deleted.
+          # Check whether the disk can be removed from the mmsdrfs file.
+          if [[ ${v[$PAXOS_Field]} = $PaxosDisk && -n $diskQuorumInEffect ]]
+          then
+            # The disk is a tiebreaker disk and cannot be deleted.
+            # Issue a message but keep going; do not fail the command.
+            printErrorMsg 130 $mmcmd ${v[$DISK_NAME_Field]}
+            failedDisks=yes
+          elif [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+          then
+            # The disk will be deleted; save needed information.
+            printLine=false
+            deletedDisks=yes
+            nsdSubtype=${v[$NSD_SUBTYPE_Field]}
+            [[ $nsdSubtype = "" ]] && nsdSubtype=generic
+            nsdSubName=${v[$NSD_SUBTYPE_DISKNAME_Field]}
+            [[ $nsdSubName = "" ]] && nsdSubName=$UNKNOWN
+            print -- ${v[$DISK_NAME_Field]} ${v[$PVID_Field]}  \
+                     $nsdSubtype $nsdSubName                   \
+                     ${v[$NSD_PRIMARY_NODE_Field]}             \
+                     ${v[$NSD_BACKUP_NODE_Field]} >> $PVIDsToDelete
+            checkForErrors "writing to file $PVIDsToDelete" $?
+          else
+            # The disk still belongs to a file system.
+            # Issue a message but keep going; do not fail the command.
+            printErrorMsg 485 $mmcmd ${v[$DISK_NAME_Field]} ${v[$DEV_NAME_Field]}
+            failedDisks=yes
+          fi   # end of if [[ ${v[$PAXOS_Field]} = $PaxosDisk && ... ]]
+
+          # Remove the disk from the file of disks to be deleted.
+          grep -vw ${v[$DISK_NAME_Field]} $diskNamesFile > $tmpfile
+
+          # Initialize the file for the next iteration.
+          $mv $tmpfile $diskNamesFile
+          checkForErrors "mv $tmpfile $diskNamesFile" $?
+        fi   # end of if [[ $? -eq 0]]
+
+      else  # We come here if the -p option for specifying
+            # an NSD volume id was used.
+
+        if [[ ${v[$PVID_Field]} = $pvidToDelete ]]
+        then    # We come here if the disk represented by the current
+                # SG_DISKS line is the one that must be deleted.
+
+          if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+          then
+
+            # The disk is not in use and can therefore be deleted.
+            # Save the information needed for clearing the NSD volume id.
+            nsdSubtype=${v[$NSD_SUBTYPE_Field]}
+            [[ $nsdSubtype = "" ]] && nsdSubtype=generic
+            nsdSubName=${v[$NSD_SUBTYPE_DISKNAME_Field]}
+            [[ $nsdSubName = "" ]] && nsdSubName=$UNKNOWN
+            if [[ -n $Nflag ]]
+            then
+              # A node list was specified.
+              IFS=','
+              set -f ; set -- $newNodeList ; set +f
+              nodeName1=$1
+              nodeName2=$2
+              IFS="$IFS_sv"
+              print -- ${v[$DISK_NAME_Field]} ${v[$PVID_Field]}  \
+                       $nsdSubtype $nsdSubName                   \
+                       ${v[$NSD_PRIMARY_NODE_Field]}             \
+                       ${v[$NSD_BACKUP_NODE_Field]}              \
+                       $nodeName1 $nodeName2         >> $PVIDsToDelete
+              rc=$?
+            else
+              # A node list was not specified.
+              print -- ${v[$DISK_NAME_Field]} ${v[$PVID_Field]}  \
+                       $nsdSubtype $nsdSubName                   \
+                       ${v[$NSD_PRIMARY_NODE_Field]}             \
+                       ${v[$NSD_BACKUP_NODE_Field]}  >> $PVIDsToDelete
+              rc=$?
+            fi
+            checkForErrors "writing to file $PVIDsToDelete" $rc
+
+            # Remove the disk from the mmsdrfs file.
+            printLine=false
+            deletedDisks=yes
+
+          else
+            # The disk still belongs to a file system.
+            # Issue a message but keep going; do not fail the command.
+            printErrorMsg 485 $mmcmd ${v[$DISK_NAME_Field]} ${v[$DEV_NAME_Field]}
+            failedDisks=yes
+
+          fi   # end of if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+
+        fi   # end of if [[ ${v[$PVID_Field]} = $pvidToDelete ]]
+
+      fi   # end of if [[ -z $pflag ]]
+      ;;
+
+    * )  # There is no need to look at any of the other lines.
+      ;;
+
+  esac  # end Change some of the fields
+
+  # If the line is to be kept, write it to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+# If we are in the normal disk list or disk file case, inform the user of any
+# disks for which there were no corresponding SG_DISKS lines in the sdrfs file.
+# If disks were specified but none were found, print an error message and exit.
+if [[ -z $pflag ]]
+then
+  # We are in the "normal" disk list or disk file case.  If there are any
+  # disks to delete that we didn't find in the mmsdrfs file, tell the user.
+  if [[ -s $diskNamesFile ]]
+  then
+    # If the input file was generated by mmcrnsd, it may have comment
+    # lines that will trigger a misleading warning message.  Scan the
+    # file and remove all comment and empty lines.  In preparation for
+    # the message that will be issued shortly, insert a tab character
+    # at the begining of the non-comment lines.
+    $awk '                           \
+      BEGIN { TABchar = "	" }  \
+      $1 ~ /^#/ { next }             \
+      NF == 0   { next }             \
+      { print TABchar $0 }           \
+    ' $diskNamesFile > $tmpfile
+
+    # Issue "The following disks are not known to GPFS:" message.
+    [[ -s $tmpfile ]] &&  \
+      printErrorMsg 486 $mmcmd "$($cat $tmpfile)"
+  fi  # end of if [[ -s $diskNamesFile ]]
+
+  # If no disks will be deleted, issue an error and exit.
+  if [[ -z $deletedDisks ]]
+  then
+    # No disks were specified that could be deleted.
+    printErrorMsg 487 $mmcmd
+    cleanupAndExit
+  fi
+fi  # end of if [[ -z $pflag ]]
+
+
+############################################
+# Put the new mmsdrfs file into the sdr.
+# This deletes the disks from the cluster.
+############################################
+
+# If no disks are being deleted from the sdrfs file,
+# there is no need to commit changes.
+# This test is only needed for the -p case, since we exit above
+# if there were no changes in the regular case.
+if [[ -n $deletedDisks ]]
+then
+  trap "" HUP INT QUIT KILL
+  gpfsObjectInfo=$(commitChanges  \
+    $HOME_CLUSTER $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    cleanupAndExit
+  fi
+fi  # end of if [[ -n $deletedDisks ]]
+
+
+##################
+# Unlock the sdr.
+##################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+########################################################################
+# Handle the case where -p was specified but the NSD volume id was not
+# found in the mmsdrfs file.  In such a case we must still try to clear
+# the NSD volume id.  This is one of the main uses of the -p option.
+########################################################################
+
+# If no match was found in the sdrfs file, we must be in the -p case,
+# since we exited earlier if no match was found in the disk list or
+# disk file case.
+if [[ -z $deletedDisks ]]
+then
+  if [[ -z $failedDisks ]]
+  then
+    # If here, the NSD volume id was not found in the mmsdrfs file.
+    # Store the info needed for deleting the NSDid in the delete file.
+    if [[ -n $Nflag ]]
+    then
+      # A node list was specified.
+      IFS=','
+      set -f ; set -- $newNodeList ; set +f
+      nodeName1=$1
+      nodeName2=$2
+      IFS="$IFS_sv"
+      print -- $UNKNOWN $pvidToDelete generic $UNKNOWN  \
+               $nodeName1 $nodeName2 >> $PVIDsToDelete
+      rc=$?
+    else
+      # A node list was not specified.
+      print -- $UNKNOWN $pvidToDelete generic $UNKNOWN >> $PVIDsToDelete
+      rc=$?
+    fi
+    checkForErrors "writing to file $PVIDsToDelete" $rc
+  else
+    # If here, the NSD volume id was found in the mmsdrfs file, but an
+    # error (probably "disk still belongs to a file system") was found.
+    # Issue a message that none of the disks were deleted, and quit.
+    printErrorMsg 487 $mmcmd
+    cleanupAndExit
+  fi  # end of if [[ -z $failedDisks ]]
+fi  # end of if [[ -z $deletedDisks ]]
+
+
+#############################################################################
+# Clear (zero-out) the NSD volume id on each disk in the PVIDsToDelete file.
+#############################################################################
+
+if [[ -s $PVIDsToDelete ]]
+then
+  # Process the PVIDsToDelete file one line at a time.
+  exec 3<&-
+  exec 3< $PVIDsToDelete
+  while read -u3 diskLine
+  do
+    # Parse the line.
+    set -f ; set -- $diskLine ; set +f
+    diskName=$1
+    pvid=$2
+    nsdSubtype=$3
+    nsdSubname=$4
+    primarySvr=$5
+    backupSvr=$6
+    nodeName1=$7
+    nodeName2=$8
+
+    # Issue an informational progress message (processing disk xyz ...).
+    printInfoMsg 251 $mmcmd $diskName
+
+    # Clear the NSD volume id using one of the first two servers.
+    clearPVID $pvid $nsdSubtype $nsdSubname $primarySvr $backupSvr
+    rc=$?
+    if [[ $rc -ne 0 ]]  # if the clearPVID call failed
+    then
+
+      if [[ -z $nodeName1 ]]  # if there are no other nodes to try
+      then
+        # tspreparedisk failed and we have no other nodes to try.
+        # Tell the guy what to do.
+        if [[ $rc -eq $MM_DeviceNotFound ]]
+        then
+          # The disk with the specified NSD volume id was not found.
+          printErrorMsg 397 $mmcmd $pvid
+        elif [[ -z $primarySvr ]]
+        then
+          # Tell the user to issue "mmdelnsd -p <pvid>"
+          # to delete the disk.
+          if [[ $diskName = $UNKNOWN ]]
+          then
+            printErrorMsg 247 $mmcmd $pvid $pvid
+          else
+            printErrorMsg 488 $mmcmd $diskName $pvid
+          fi
+        else
+          # Tell the user to issue "mmdelnsd -p <pvid> -N <nodeList>"
+          # to delete the disk.
+          [[ -n $backupSvr ]] && primarySvr="${primarySvr},${backupSvr}"
+          if [[ $diskName = $UNKNOWN ]]
+          then
+            printErrorMsg 248 $mmcmd $pvid $pvid $primarySvr
+          else
+            printErrorMsg 489 $mmcmd $diskName $pvid $primarySvr
+          fi
+        fi
+
+      else
+        # Besides the servers found on the SG_DISKS line of the mmsdrfs file,
+        # the user specified other nodes via the -N option on the command.
+        # Try to clear the NSD volume id using these nodes.
+        clearPVID $pvid $nsdSubtype $nsdSubname $nodeName1 $nodeName2
+        rc=$?
+        if [[ $rc -ne 0 ]]
+        then
+          # tspreparedisk failed and we have no other nodes to try.
+          # Tell the guy what to do.
+          # The NSD volume id was not erased from the disk.
+          if [[ $rc -eq $MM_DeviceNotFound ]]
+          then
+            # The disk with the specified NSD volume id was not found.
+            printErrorMsg 397 $mmcmd $pvid
+          elif [[ -z $nodeName1 ]]
+          then
+            # Tell the user to issue "mmdelnsd -p <pvid>"
+            # to delete the disk.
+            if [[ $diskName = $UNKNOWN ]]
+            then
+              printErrorMsg 247 $mmcmd $pvid $pvid
+            else
+              printErrorMsg 488 $mmcmd $diskName $pvid
+            fi
+          else
+            # Tell the user to issue "mmdelnsd -p <pvid> -N <nodeList>"
+            # to delete the disk.
+            [[ -n $nodeName2 ]] && nodeName1="${nodeName1},${nodeName2}"
+            if [[ $diskName = $UNKNOWN ]]
+            then
+              printErrorMsg 248 $mmcmd $pvid $pvid $nodeName1
+            else
+              printErrorMsg 489 $mmcmd $diskName $pvid $nodeName1
+            fi
+          fi    # end of if [[ -z $nodeName1 ]]
+        fi    # end of if [[ $rc -ne 0 ]]
+
+      fi    # end of if [[ -z $nodeName1 ]]
+
+    fi    # end of if [[ $rc -ne 0 ]]
+
+  done  # end of while read -u3 diskLine
+
+fi   # end of if [[ -s $PVIDsToDelete ]]
+
+
+####################################################################
+# Asynchronously propagate the sdrfs file to the rest of the nodes
+# if there were any changes made.
+# Any nodes that are unreachable now will pick up the changes the
+# next time GPFS is started or some other mm command is executed.
+####################################################################
+[[ -n $deletedDisks ]] &&  \
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber rereadnsd
+
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig && -n $deletedDisks ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelsnapshot
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelsnapshot	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdelsnapshot	(revision 16)
@@ -0,0 +1,130 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)55 1.15 src/avs/fs/mmfs/ts/admin/mmdelsnapshot.sh, mmfs, avs_rgpfs24, rgpfs240610b 11/15/04 02:34:53
+#######################################################################
+#
+#  Usage:  mmdelsnapshot Device Directory
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmdelsnapshot.sh"
+[[ -n $DEBUG || -n $DEBUGmmdelsnapshot ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=372
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+argList=$@       # Save the remainder of the argument list.
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+
+##########################################################
+# If the cluster to which this node belongs is the same
+# as the cluster in which the file system resides,
+# invoke the command directly.
+##########################################################
+if [[ $nsId = $fsHomeCluster ]]
+then
+  ${mmcmdDir}/${links}/mmdelsnapshot $fqDeviceName $argList 2>$errMsg
+  rc=$(remapRC $?)
+
+  # If the command completed successfully, or if there is an
+  # unacceptable error, display any error messages and get out.
+  if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+  then
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    if [[ $rc -eq $MM_ConnectionReset ]]
+    then
+      # An internode connection was reset.
+      printErrorMsg 257 $mmcmd
+    fi
+    cleanupAndExit $rc
+  fi
+fi
+$rm -f $errMsg
+
+
+###################################################
+# Find an active node and send the command there.
+###################################################
+
+# Create a file with the reliable names that form
+# the cluster to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmdelsnapshot $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdevdiscover
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdevdiscover	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdevdiscover	(revision 16)
@@ -0,0 +1,144 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2004,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)54 1.8 src/avs/fs/mmfs/ts/admin/mmdevdiscover.sh, mmfs, avs_rgpfs24, rgpfs240610b 8/8/05 19:09:02
+##############################################################################
+#
+# This script is invoked by GPFS to discover the disk devices on the
+# local machine that will subsequently be opened for NSD volume identifier
+# mapping.  We open each of the devices listed and examine sector 2 for a
+# volume identifier that correlates to a volume identifier recorded in our
+# configuration database.  If a match is found then this machine has local
+# access to the underlying NSD device and local I/O occurs through the local
+# device interface.  This script will also invoke
+#
+#   /var/mmfs/etc/nsddevices
+#
+# if it is supplied by the user.  If the nsddevices script exits with
+# a return code of zero, then no other disk discovery is performed.
+# If nsddevices does not exist, or returns with a non-zero return
+# code, then this script performs its normal disk discovery steps.
+#
+# The output from both this script and nsddevices is a number of lines
+# with the following format:
+#
+#   deviceName deviceType
+#
+# where
+#   deviceName is a device name ("hdisk1", "sda", etc.)
+#   deviceType is a known disk types.
+#
+# Known disk types currently are:
+#
+#   powerdisk  - EMC power path disk
+#   vpath      - IBM virtual path disk
+#   dlmfdrv    - Hitachi dlm
+#   hdisk      - AIX hard disk
+#   lv         - AIX logical volume.  Historical usage only.
+#                Not allowed as a new device to mmcrnsd.
+#   generic    - Device having no unique failover or multipathing
+#                characteristic (predominantly Linux devices).
+#
+# Example:
+#
+#   hdisk1  hdisk
+#   hdisk2  hdisk
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+
+sourceFile="mmdevdiscover.sh"
+[[ -n $DEBUG || -n $DEBUGmmdevdiscover ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Change this if you want stderr to go elsewhere.
+STDERR=/dev/null
+
+
+########################################################
+# Invoke the nsddevices user exit, if it was activated.
+# If the script exits with a zero return code then we
+# use it exclusively and will not do anything more.
+# If nsddevices does not exist, or if it returns with
+# a non-zero return code, then we will perform normal
+# GPFS disk discovery.
+########################################################
+if [[ -x $nsddevices ]]
+then
+  $nsddevices
+  [[ $? -eq 0 ]] && cleanupAndExit 0
+fi
+
+
+##################################################
+# Perform the normal GPFS disk discovery process.
+##################################################
+if [[ $osName = AIX ]]
+then
+  # Get the names of Virtual Shared Disks, if any.
+  if [[ -x $lsvsd ]]
+  then
+    $lsvsd 2>$STDERR | $awk '{ if (NF > 0) print $1 " vsd" }'
+  fi
+
+  # Get all defined and available vpaths, hdisks, etc.
+  LC_ALL=C $getlvodm -F 2>$STDERR |                   \
+    $awk '                                            \
+      /hdiskpower/  { print $1 " powerdisk" ; next }  \
+      /dlmfdrv/     { print $1 " dlmfdrv"   ; next }  \
+      /vpath/       { print $1 " vpath"     ; next }  \
+      /hdisk/       { print $1 " hdisk"     ; next }  \
+    '
+
+  # Get all logical volume names.
+  # LVs are supported in older file systems only.  Not allowed as a new device.
+  LC_ALL=C $lsvg -o 2>$STDERR | LC_ALL=C $lsvg -i -l 2>$STDERR | \
+    $awk '                                  \
+      /LV NAME/ || /:/  { next }            \
+                        { print $1 " lv" }  \
+    '
+
+elif [[ $osName = Linux ]]
+then
+  # Get the names of all disks, vpaths, etc.
+  $awk '                                                                 \
+    /emcpower/   { if (NF > 3 && $3 > 1) print $4 " powerdisk" ; next }  \
+    /vpath/      { if (NF > 3 && $3 > 1) print $4 " vpath"     ; next }  \
+    /[sh]d/      { if (NF > 3 && $3 > 1) print $4 " generic"   ; next }  \
+  ' /proc/partitions 2>$STDERR
+
+else
+  print -u2  " Unknown operating system $osName "
+  cleanupAndExit
+fi
+
+# Search for the disk type of "file" in the mmsdrfs file.
+# Note:  This is used for testing during development only.
+possiblefiles=$($awk -F: '                      \
+  /':$SG_DISKS:'/ {                             \
+    if ($'$NSD_SUBTYPE_Field' == "file") {      \
+      { print $'$NSD_SUBTYPE_DISKNAME_Field' }  \
+    }                                           \
+  }                                             \
+ ' $mmsdrfsFile)
+for testfile in $possiblefiles
+do
+  [[ -f $testfile ]] && print -- "$testfile file"
+done
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdf
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdf	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdf	(revision 16)
@@ -0,0 +1,196 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)81 1.38 src/avs/fs/mmfs/ts/admin/mmdf.sh, mmfs, avs_rgpfs24, rgpfs240610b 1/23/06 01:56:50
+#######################################################################
+#
+# Usage:  mmdf Device [-d | -F | -m ] [-q] [-P PoolName]
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmdf.sh"
+[[ -n $DEBUG || -n $DEBUGmmdf ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=298
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+argList=$@       # Save the remainder of the argument list.
+
+
+###################################
+# Set up trap exception handling.
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+####################################
+# Make sure the file system exists.
+####################################
+# If the invocation is not for an explicitly-remote device, obtain the
+# needed information about the filesystem from the mmsdrfs file.
+if [[ $device != *:* ]]
+then
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+  remoteDevice=$4
+
+  # If this is a remote file system, set fqDeviceName appropriately.
+  [[ $fsHomeCluster != $HOME_CLUSTER ]] &&  \
+    fqDeviceName="$fsHomeCluster:/dev/$remoteDevice"
+else
+  fqDeviceName=$device
+  deviceName=${fqDeviceName##*:}
+  fsHomeCluster=${fqDeviceName%%:*}
+  remoteDevice=$deviceName
+fi
+
+
+########################################################################
+# Invoke the command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the file system is remote
+#   - we are not running as UID 0
+#   - this is a single node cluster
+########################################################################
+${mmcmdDir}/${links}/mmdf $fqDeviceName $argList 2>$errMsg
+rc=$(remapRC $?)
+if [[ ($rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+      $fsHomeCluster != $HOME_CLUSTER                    ||
+      $ourUid -ne 0                                      ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_FsNotFound ]]
+  then
+    if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+    then
+      # The remote cluster does not know anything about this file system.
+      printErrorMsg 108 $mmcmd $remoteDevice $fsHomeCluster
+    else
+      # Unexpected error.
+      printErrorMsg 171 $mmcmd "file system $deviceName not found" $rc
+    fi
+  elif [[ $rc -eq $MM_Remotefs && $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # The file system is not owned by the remote cluster.
+    [[ $device != *:* ]] &&  \
+      printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+    printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+  elif [[ ($rc -eq $MM_HostDown    ||
+           $rc -eq $MM_TimedOut    ||
+           $rc -eq $MM_SecurityCfg ||
+           $rc -eq $MM_AuthorizationFailed ||
+           $rc -eq $MM_UnknownCluster)    &&
+          $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Failed to connect to the remote cluster.
+    [[ $rc -eq $MM_SecurityCfg ]] &&  \
+      printErrorMsg 150 $mmcmd
+    [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+      printErrorMsg 151 $mmcmd
+    printErrorMsg 105 $mmcmd $fsHomeCluster
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    if [[ -s $errMsg ]]
+    then
+      $cat $errMsg 1>&2
+    else
+      [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tsdf $fqDeviceName" $rc
+    fi
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+#######################################################################
+# We come here if the file system is local but the local daemon is not
+# available.  Find an active node and send the command there.
+#######################################################################
+
+# Create a file with the reliable names that form
+# the cluster to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmdf $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdsh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdsh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdsh	(revision 16)
@@ -0,0 +1,1931 @@
+#!/usr/bin/perl
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)24	1.50  src/avs/fs/mmfs/ts/admin/mmdsh, mmfs, avs_rgpfs24, rgpfs240610b 2/12/06 12:34:29
+#############################################################################
+#
+# Module:  mmdsh
+#
+#CPRY
+# 5765-296 (C) Copyright IBM Corporation 1994, 2000
+# Licensed Materials - Property of IBM
+# All rights reserved.
+# US Government Users Restricted Rights -
+# Use, duplication or disclosure restricted by
+# GSA ADP Schedule Contract with IBM Corp.
+#CPRY
+#
+#############################################################################
+#
+# Description:  command for running commands on multiple nodes or
+#               network connected hosts in parallel
+#
+#   mmdsh [-isv] [-f num] [-F hostlistfile] [-L listofhosts] [-I file] [-k]
+#         [-N nodespecification] [-R reportfile] [-r] [command]
+#
+# Flags/parms:
+#
+# [-f num]    Specifies a fanout value used for concurrent execution.
+#
+# [-F hostlistfile]
+#             Runs the command on the hosts in the specified hostlistfile.
+#             The hostlistfile argument is the fully qualified name
+#             of a file that lists the names of the desired hosts,
+#             one host per line.
+#
+# [-i]        Displays the set of nodes on which the command will run
+#             before command execution.
+#
+# [-I file]   Name of the file to be copied on the remote node prior
+#             to executing the command.  The file must be in /var/mmfs/tmp.
+#             This option can be specified twice.
+#
+# [-k]        Remove files specified with the -I flag before exiting.
+#
+# [-L listofhosts]
+#             Runs the command on the specified list of hosts.
+#             The listofhosts argument is a comma-separated list of hosts.
+#
+# [-N nodespecification]
+#             Runs the command on the nodes in the given node specification.
+#             The nodespecification argument can be a comma-separated list of
+#             nodes, a node file, or a node class.  The nodes in the list or
+#             the file can be specified as long or short admin or daemon
+#             node names, node numbers, node number ranges, or IP addresses.
+#
+# [-R reportfile]
+#             Reports the list of hosts removed from the working collective
+#             when host verification (host ping) fails.  The report is written
+#             to the specified file with one host per line.  The report is
+#             generated only when combined with the '-v' flag.
+#
+# [-r]        Reports the list of hosts removed from the working collective
+#             when host verification (host ping) fails.  The report is written
+#             to standard error.  The report is generated only when combined
+#             with the '-v' flag.
+#
+# [-s]        Suppresses the prepending of the hostname string to each line
+#             of output generated by running the command on the remote host.
+#
+# [-v]        Verify that each host is reachable before adding it to the
+#             set of nodes on which the command will run.
+#
+# [command]   command to be run on the remote hosts.
+#             If the command is the reserved word "_SELECT_FROM_FILE_",
+#             then the commands to be run on the different hosts are
+#             expected to be in the file pointed to by the environment
+#             variable mmdshCommandsFile.  Each line of this file consists
+#             of hostname followed by a command string.
+#
+# Outputs:
+#   The command is executed on the specified host(s).
+#
+# Examples:
+#   mmdsh -F /nodes uname -a
+#   mmdsh -L host1,host2,host3 ls
+#   mmdsh -N quorumnodes date
+#
+#############################################################################
+
+# Obtain valid "waitpid" flags.
+use POSIX ":sys_wait_h";
+
+$MMCOMMON="/usr/lpp/mmfs/bin/mmcommon";
+$REL_HOSTNAME_Field=8;
+
+
+#----------------------------------------------------------------------------
+#
+# Function:  Correct the return value from system() and etc.
+#
+#----------------------------------------------------------------------------
+sub normalizeRC
+{
+  local ($rc);
+
+  $rc = $_[0] + 0;
+  if ($rc >= 256) { $rc = $rc / 256; }
+
+  return $rc;
+
+}  #---- end of function normalizeRC -----------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# Function:  Print a message using the message catalog facilities.
+#
+# Input:     $_[0] - message number in catalog
+#            $_[1] - message text formatting string
+#            ...   - optional message parameters (up to 5)
+#
+#----------------------------------------------------------------------------
+
+sub prtMsg
+{
+  local ($msgNum) = shift(@_);
+  local ($p1)     = shift(@_);
+  local ($p2)     = shift(@_);
+  local ($p3)     = shift(@_);
+  local ($p4)     = shift(@_);
+  local ($p5)     = shift(@_);
+
+  local ($msgTxt);
+  local ($prog);
+
+  chop($prog = `/bin/basename $0`);
+	
+  for ($msgNum) {
+
+    if    (/^13$/)
+    {
+      $msgTxt="%s:  Incorrect option: %s";
+    }
+    elsif (/^36$/)
+    {
+      $msgTxt="%s:  %s flag specified twice.";
+    }
+    elsif (/^38$/)
+    {
+      $msgTxt="%s:  Invalid extra argument: %s";
+    }
+    elsif (/^40$/)
+    {
+      $msgTxt="%s:  Invalid integer for %s: %s";
+    }
+    elsif (/^153$/)
+    {
+      $msgTxt="%s:  Invalid value for %s flag";
+    }
+    elsif (/^168$/)
+    {
+      $msgTxt="%s:  The device name %s starts with a slash, but not /dev/.";
+    }
+    elsif (/^171$/)
+    {
+      $msgTxt="%s:  Unexpected error from %s. Return code: %s";
+    }
+    elsif (/^204$/)
+    {
+      $msgTxt="%s:  Missing argument after %s flag";
+    }
+    elsif (/^206$/)
+    {
+      $msgTxt="Command %s failed with return code %s.";
+    }
+    elsif (/^362$/)
+    {
+      $msgTxt="%s:  Nodes on which the command will be run:";
+    }
+    elsif (/^363$/)
+    {
+      $msgTxt="%s:  WCOLL (working collective) environment variable not set.";
+    }
+    elsif (/^364$/)
+    {
+      $msgTxt="%s:  Cannot open file %s.  Error string was:  %s";
+    }
+    elsif (/^365$/)
+    {
+      $msgTxt="%s:  %s remote shell process had return code %s.";
+    }
+    elsif (/^366$/)
+    {
+      $msgTxt="%s:  Caught SIG %s - terminating the child processes.";
+    }
+    elsif (/^367$/)
+    {
+      $msgTxt="%s:  There are no available nodes on which to run the command.";
+    }
+    elsif (/^368$/)
+    {
+      $msgTxt="%s:  Unable to pipe.  Error string was:  %s";
+    }
+    elsif (/^369$/)
+    {
+      $msgTxt="%s:  Unable to redirect %s.  Error string was:  %s";
+    }
+    elsif (/^422$/)
+    {
+      $msgTxt="%s:  Invalid or missing remote shell command:  %s";
+    }
+    elsif (/^423$/)
+    {
+      $msgTxt="%s:  Invalid or missing remote file copy command:  %s";
+    }
+    elsif (/^573$/)
+    {
+      $msgTxt="%s:  Node %s is not available to run the command.";
+    }
+    else            # should never happen
+    {
+      $msgTxt="\n%s:  An unknown error number %s was passed to prtMsg.";
+      printf STDERR  "$msgTxt\n\n", $prog, $msgNum;
+      return;
+    }
+  }
+
+  if ($osName eq "AIX")
+  {
+    $msg=`$DSPMSG $msgNum \"$msgTxt\" \"$prog\" \"$p1\" \"$p2\" \"$p3\" \"$p4\" \"$p5\"`;
+    printf STDERR  "$msg\n";
+  }
+  else
+  {
+    printf STDERR  "$msgTxt\n", $prog, $p1, $p2, $p3, $p4, $p5;
+  }
+
+}  #---- end of function prtMsg ----------------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# read_pipes_and_wait
+#
+# Read STDOUT and STDERR on specified child rsh process pipes.
+# Display to parent's STDOUT or STDERR.  If the '-s' flag is not
+# specified, then host output is preceded by "hostname:  ".
+#
+# Output from STDERR is first written to an array, since there is
+# a limit of 32k from STDERR before it ends up hanging.
+#
+# Reap completed children to allow additional child processes to be
+# spawned for fanout maintenance.
+#
+# Parameters:
+#   final_read -- true to "read/wait" on all specified children, false
+#                 to only "read" currently available data for specified
+#                 children and reap any completed children for fanout
+#                 maintenance.
+#   hosts      -- Array of hostnames with STDOUT/STDERR pipes to query.
+#
+#----------------------------------------------------------------------------
+
+sub read_pipes_and_wait {
+
+  my $final_read = shift;
+
+  local(@hosts) = @_;
+
+  local($fno,$fh,$rin,$rout,$num_fh,$host,$err_ctr,$array_updated,$offset);
+
+  # Initialize the pipes read select vector.
+  $rin = '';
+  $num_fh = 0;
+  foreach $host (@hosts) {
+    if (($fno = fileno($r_out{$host})) ne '') {
+      vec($rin, $fno, 1) = 1;
+      $num_fh++;
+    }
+    if (($fno = fileno($r_err{$host})) ne '') {
+      vec($rin, $fno, 1) = 1;
+      $num_fh++;
+    }
+  }
+
+  $err_ctr = 0;
+  $array_updated = 0;
+
+  READWAIT: {
+
+    if ($num_fh > 0) {
+      # Wait for outstanding I/O on read pipes.
+      $nready = select($rout = $rin, undef, undef, undef);
+      if ($nready > 0) {
+        # At least one pipe has available data.
+        foreach $host (@hosts) {
+
+          # Process STDOUT I/O
+          $fh = $r_out{$host};
+          if (vec($rout, fileno($fh), 1)) {
+            $_ = <$fh>;
+            if (length($_)) {
+              if ($sflag) {
+               print STDOUT "$_";
+              }
+              else {
+               print STDOUT "$host:  $_";
+              }
+            }
+            else {
+              # EOF has been reached
+              vec($rin, fileno($fh), 1) = 0;
+              $num_fh--;
+              close($fh);
+            }
+          }
+
+          # Process STDERR I/O.
+          $fh = $r_err{$host};
+          if (vec($rout, fileno($fh), 1)) {
+            $_ = <$fh>;
+            if (length($_)) {
+              if ($sflag) {
+                $stderr_array[$err_ctr] = $_;
+              }
+              else {
+                $stderr_array[$err_ctr] = "$host:  $_";
+              }
+              $err_ctr++;
+              $array_updated = 1;
+            }
+            else {
+              # EOF has been reached
+              vec($rin, fileno($fh), 1) = 0;
+              $num_fh--;
+              close($fh);
+            }
+          }
+        }
+      }
+
+      # Reap any completed child process, in order to maintain fanout.
+      if (($child_pid = waitpid(-1, &WNOHANG)) > 0) {
+
+        # Obtain the return code and hostname for the child process.
+        $child_rc = $? >> 8;
+        foreach (keys %pid) {
+          if ($pid{$_} == $child_pid) {
+            $child_host = $_;
+            last;
+          }
+        }
+
+        # Process any outstanding STDOUT I/O for the deceased child.
+        $fh = $r_out{$child_host};
+        if (fileno($fh) != undef) {
+          do {
+            $_ = <$fh>;
+            if (length($_))
+            {
+              if ($sflag) {
+                print STDOUT "$_";
+              }
+              else {
+                print STDOUT "$child_host:  $_";
+              }
+            }
+          } while (length($_));
+
+          # EOF has been reached
+          vec($rin, fileno($fh), 1) = 0;
+          $num_fh--;
+          close($fh);
+        }
+
+        # Process any outstanding STDERR I/O for the deceased child.
+        $fh = $r_err{$child_host};
+        if (fileno($fh) != undef) {
+          do {
+            $_ = <$fh>;
+            if (length($_)) {
+              if ($sflag) {
+                $stderr_array[$err_ctr] = $_;
+              }
+              else {
+                $stderr_array[$err_ctr] = "$child_host:  $_";
+              }
+              $err_ctr++;
+              $array_updated = 1;
+            }
+          } while (length($_));
+
+          # EOF has been reached
+          vec($rin, fileno($fh), 1) = 0;
+          $num_fh--;
+          close($fh);
+        }
+
+        if ($child_rc != 0) {
+          if ($hostCount == 1) {
+            $rcode = $child_rc;   # Pass back child's rc to mmdsh caller
+          }
+          else {
+            $rcode++;
+            #print STDERR "mmdsh: $child_host rsh had exit code $child_rc\n";
+            &prtMsg(365, $child_host, $child_rc);
+          }
+          push(@goners,$child_host);
+        }
+
+        # Remove the deceased child from @hs so we don't continually try to add
+        # it to the select vector as problems may occur with sufficiently large
+        # numbers of nodes.
+        $offset = 0;
+        foreach $host (@hs) {
+          if ($host eq $child_host) {
+            splice(@hs, $offset, 1);
+            last;
+          }
+          $offset++;
+        }
+
+        # Child terminated ==> decrement fanout
+        $cur_fanout--;
+      }
+
+      if (($final_read eq true) && ($num_fh > 0) ||
+          ($cur_fanout >= $fanout)) {
+        # Final pipes data retrieval ==> Wait/retrieve until all pipes closed
+        redo READWAIT;
+      }
+    }
+  }
+
+  # Print out accumulated STDERR output.
+  if ($array_updated) {
+    for ($prt_ctr=0; $prt_ctr < $err_ctr; $prt_ctr++) {
+      print STDERR "$stderr_array[$prt_ctr]";
+    }
+  }
+
+}  #---------- end of read_pipes_and_wait routine ---------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# get_command
+#
+# Return the command from the command line or stdin.
+# Return 0 if no more to be read from command line or stdin.
+# If the command is in double quotes, add a double quote to the beginning.
+# If the command starts with '!', execute here and read in the next command.
+#
+#----------------------------------------------------------------------------
+
+sub get_command {
+
+  local($command);
+  if ($done) {
+    return(0);
+  }
+  if (@ARGV) {
+    $done = 1;
+    @dsh_ARGV = @ARGV;
+    shift(@ARGV);
+    #
+    # Save the arguments in a scalar.  The return value
+    # of this routine is assigned to a scalar variable.
+    #
+    $dsh_return = join(' ',@dsh_ARGV);
+    return($dsh_return);
+  }
+  GET_COMMAND: {
+    -t && print STDERR "mmdsh> ";
+    $command = <STDIN>;
+    if (!defined($command)  ||
+      $command =~ /^\s*$/ || $command =~ /^\s*exit\s*$/) {
+      return(0);
+    } else {
+      chop $command;
+      # Add a double-quote to the beginning of the command if the user
+      # entered the command with double-quotes.
+      if ($command =~ /^\s*"(.*)/) {
+        $command = '"' . $command;
+      }
+      if ($command =~ /^\s*!(.*)/) {
+        &do_system($1);
+        redo GET_COMMAND;
+      } else {
+        return($command) || redo GET_COMMAND;
+      }
+    }
+  }
+
+}  #---------- end of get_command routine ------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# do_system
+#
+# Issue system() call with default signal handling.
+# Return the executed command's exit code.
+#
+#----------------------------------------------------------------------------
+
+sub do_system {
+
+  local($command) = @_;
+  local(%save_sig,$rc);
+  %save_sig = %SIG;
+  grep($_ = 'DEFAULT', %SIG);
+  $rc = system("$command 2>&1") >> 8;
+  %SIG = %save_sig;
+  return($rc);
+
+}  #---------- end of do_system routine ---------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# display_help
+#
+# Display help information
+#
+#----------------------------------------------------------------------------
+
+sub display_help {
+
+  $usageMsg="
+Usage:
+
+  mmdsh [flags/parms] command
+
+Flags/parms:
+
+  -f number     fanout number to use for concurrent execution
+  -F filename   nodelist file listing nodes on which to execute command
+  -I filename   file to be staged on the remote node prior to executing
+                  command; the file must be in /var/mmfs/tmp
+  -k            remove the file specified with the -I flag before exiting
+  -L n1,n2,n3   comma-separated list of nodes on which to execute command
+  -N nodespec   node specificaton that consists of a node list, a node file,
+                  or a node class on which to execute the command
+  -s            suppress the prepending of the hostname string to each line
+                  of output generated by running the command on the remote node
+  -v            verify that nodes are reachable before adding them to the
+                  set of nodes on which to run the command
+  -i            display the set of nodes on which the command will run
+                  before command execution
+";
+  print STDERR "$usageMsg\n";
+
+}  #---------- end of display_help routine -----------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# add_wc
+#
+# Add a host to the working collective.
+#
+# Input parameter is the hostname to be added.
+#
+# Don't add a hostname if it is already in the working collective.
+#
+#----------------------------------------------------------------------------
+
+sub add_wc {
+
+   local($host) = @_;
+   local($hostname);
+
+   $host =~ s/\s//g;
+
+   # If the host is already in the working collective, return to the caller
+   #  without adding it to the collective again (avoid redundancies).
+   foreach $hostname (@wc) {
+      return if $hostname eq $host;
+   }
+
+   # If we made it this far, add the host to the working collective.
+   push(@wc,$host);
+
+}    #---------- end of add_wc routine ------------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# add_wc_parallel
+#
+# Add hosts to the working collective in parallel via fork.
+#
+# Input parameter is the opened working collective file handle.
+#
+# If -v was specified, only add a host to the working collective
+# if it is reachable via ping, or if the user said to add it
+# even though it is not reachable.
+#
+# Don't add a hostname if it is already in the working collective.
+#
+#----------------------------------------------------------------------------
+
+sub add_wc_parallel {
+
+  local($filehandle) = @_;
+  local(@hosts_seen, $child_host);
+
+  # Unlink the temporary file here.  Otherwise, it may be
+  # left behind if we run into a problem and exit early.
+  if ($hlfile) {
+    `/bin/rm -f $hlfile`;
+  }
+
+  if ($fanout) {      # set fanval from user value, environment, or default
+    $fanval = $fanout;
+  } else {
+    unless ($fanval = $ENV{'FANOUT'}) {
+      $fanval = $fanout_default;
+    }
+  }
+
+  HOST: while ($host = <$filehandle>) {
+
+    $host =~ /^\s*#/ && next;
+    $host =~ /^\s*$/ && next;
+    $host =~ /;/ && next;
+    $host =~ /\S+\s+\S+/ && next;
+    chop($host);
+
+    # Remove any leading or trailing whitespace.
+    ($host, $remainder) = split(" ", $host);
+
+    # Prevent duplicates in the working collective.  Duplicates are culled
+    # here to prevent the key collisions in the %pid hashtable, which can
+    # cause unexpected behavior.  For example, defined, but empty hostnames
+    # being added to the working collective, leading to "Unknown host"
+    # messages from the remote shell during execution attempts.
+    foreach (@hosts_seen) {
+      if ($_ eq $host) {
+        next HOST;
+      }
+    }
+    push(@hosts_seen, $host);
+
+    # Create filehandles for pipe ends.
+    $Rout{$host} = "READ_STDOUT__" . $host;
+    $Wout{$host} = "WRITE_STDOUT__" . $host;
+    $Rerr{$host} = "READ_STDERR__" . $host;
+    $Werr{$host} = "WRITE_STDERR__" . $host;
+
+    # Open pipes for this host's stdout and stderr from ping.
+    if (pipe($Rout{$host}, $Wout{$host}) < 0) {
+      #die "mmdsh: Couldn't pipe: $!\n";
+      &prtMsg(368, "\'$!\'");
+      exit(-1);
+    }
+    if (pipe($Rerr{$host}, $Werr{$host}) < 0) {
+      #die "mmdsh: Couldn't pipe: $!\n";
+      &prtMsg(368, "\'$!\'");
+      exit(-1);
+    }
+
+    # Fork a child to execute the ping to the current host to be added.
+    ADDFORK: {
+
+      if ($pid{$host} = fork) {
+
+        # parent code -
+        # close unneeded ends of pipes
+        # parent will wait for child processes if fanout limit reached
+
+        close($Wout{$host});
+        close($Werr{$host});
+
+        if (++$cur_fanout >= $fanval) {
+          &wait_for_kids_and_add_hosts(false);
+        }
+
+      } elsif (defined $pid{$host}) {
+
+        # child code -
+        # close unneeded ends of pipes
+        # redirect stdout and stderr to output pipes
+        # exec the ping command
+        # stdout/stderr will go to pipes to be read by parent
+
+        close($Rout{$host});
+        close($Rerr{$host});
+
+        # If the -v flag was specified, check whether the host can be ping'd.
+        # If the 1st ping fails, try a few more times to avoid false node down.
+        if ($verify) {
+          $pingCount = 0;
+          $pingRc = 1;
+          while ($pingRc != 0 && ++$pingCount <= $maxPingCount) {
+            `$ping -w $pingTimeout -c 1 $host 2>/dev/null`;
+            $pingRc = $? >> 8;
+            if ($pingRc > 0 && $iflag) {
+              printf STDERR "ping %s failed (%s); pingRc=%s\n", $host, $pingCount, $pingRc;
+            }
+            ++$pingTimeout;
+          }
+        }
+
+        unless (open(STDOUT, ">&$Wout{$host}")) {
+          #die "mmdsh: Cannot redirect STDOUT: $!\n";
+          &prtMsg(369, 'STDOUT', "\'$!\'");
+          exit(-1);
+        }
+        unless (open(STDERR, ">&$Werr{$host}")) {
+          #die "mmdsh: Cannot redirect STDERR: $!\n";
+          &prtMsg(369, 'STDERR', "\'$!\'");
+          exit(-1);
+        }
+
+        select(STDOUT); $| = 1;
+        select(STDERR); $| = 1;
+
+        exit($pingRc);
+
+      } else {
+
+        # Try again.  The fork must have failed due to a resource problem.
+
+        sleep 5;
+        redo ADDFORK;
+      }
+    }
+  }
+
+  # Parent continues here after forking all the children for this command.
+  # Get the results of any remaining ping's (the number of hosts in the
+  # working collective may not be a multiple of the fanout value).
+  # Get rid of any hosts that have failed, reporting all removed hosts as
+  # directed by the [-R reportfile] and [-r] flags.
+  &wait_for_kids_and_add_hosts(true);
+  if ($reportFile && ($#goners >= 0)) {
+    # Write removed hosts to specified file.  The file is not created if
+    # the goners array is empty (i.e., $#goners = -1).
+    open(REPORTFILE, ">$reportFile");
+    foreach $child_host (@goners) {
+      print REPORTFILE "$child_host\n";
+    }
+    close(REPORTFILE);
+  }
+  if ($rflag) {
+    # Write removed hosts to standard error.
+    foreach $child_host (@goners) {
+      print STDERR "$child_host\n";
+    }
+  }
+  &delete_hosts;
+  unless ($done) {
+    $cur_fanout = 0;
+    &check_wc;
+  }
+
+}  #---------- end of add_wc_parallel routine ----------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# parse
+#
+# Parse the command line.
+#
+#----------------------------------------------------------------------------
+
+sub parse {
+
+   local(@indices,@temp,$Findex,$findex,$Iindex,$Lindex,$Nindex);
+   local($fn,$wfile,$host,@hostlist,$ht,$hl,$Narg,$nodesToUse);
+
+   if ($ARGV[0] eq "-\?") {
+      &display_help;
+      exit;
+   }
+
+   while ($ARGV[0] =~ /^-/) {    # while current parm starts with "-"
+
+      if ($ARGV[0] =~ /[FfILNR](\S+)/) { # if flag is one of F, f, I, L, N, or R
+                                         # and there is no whitespace
+                                         # immediately after the flag
+         $Findex = index($ARGV[0],"F");
+         $findex = index($ARGV[0],"f");
+         $Iindex = index($ARGV[0],"I");
+         $Lindex = index($ARGV[0],"L");
+         $Nindex = index($ARGV[0],"N");
+         $Rindex = index($ARGV[0],"R");
+         @indices = ($Findex, $findex, $Iindex, $Lindex, $Nindex, $Rindex);
+
+         @indices = sort @indices;
+         @temp = @indices;
+         foreach (@temp) {            # loop moves parm pos value to indices[0]
+            $_ == -1 && shift(@indices);
+         }
+
+         if ($indices[0] == $Findex) {  # if the flag was "F"
+            if (!$fn) {
+               $fn = $1;
+               unless ($wfile = $fn) {
+                  #die "mmdsh: Missing argument\n";
+                  &prtMsg(204, "-F");
+                  &display_help;
+                  exit(-1);
+               }
+            } else {
+               #die "mmdsh:  F flag specified twice.\n";
+               &prtMsg(36, "F");
+               &display_help;
+               exit(-1);
+            }
+
+         } elsif ($indices[0] == $findex) {  # if the flag was "f"
+            if (!$fanout) {
+               $fanout = $1;
+               if ($fanout =~ /\D/) {
+                  #die "mmdsh: Incorrect argument - $fanout\n";
+                  &prtMsg(40, "-f", $fanout);
+                  &display_help;
+                  exit(-1);
+               }
+            } else {
+               #die "mmdsh:  f flag specified twice.\n";
+               &prtMsg(36, "f");
+               &display_help;
+               exit(-1);
+            }
+
+         } elsif ($indices[0] == $Iindex) {  # if the flag was "I"
+            if (!$stageFile) {
+               $stageFile = $1;
+               unless ($fileToCopy = $stageFile) {
+                  #die "mmdsh: Missing argument\n";
+                  &prtMsg(204, "-I");
+                  &display_help;
+                  exit(-1);
+               }
+            } elsif (!$stageFile2) {
+               $stageFile2 = $1;
+               unless ($fileToCopy2 = $stageFile2) {
+                  #die "mmdsh: Missing argument\n";
+                  &prtMsg(204, "-I");
+                  &display_help;
+                  exit(-1);
+               }
+            } else {
+               #die "mmdsh:  I flag specified twice.\n";
+               &prtMsg(36, "I");
+               &display_help;
+               exit(-1);
+            }
+
+         } elsif ($indices[0] == $Lindex) {  # if the flag was "L"
+            if (!$hl) {
+               $hl = $1;
+               if ($hl =~ /^,|,,|,$/) {
+                  #die "Incorrect argument - $hl\n";
+                  &prtMsg(153, "-L");
+                  &display_help;
+                  exit(-1);
+               }
+               if ($hl eq "-") {
+                  # Get names from stdin
+                  while (<STDIN>) {
+                     /^\s*#/ && next;
+                     /^\s*$/ && next;
+                     /;/ && next;
+                     /\S+ \S+/ && next;
+                     s/ //g;
+                     chop;
+                     push(@hostlist,$_);
+                  }
+               } else {
+                  @hostlist = split(/,/,$hl);
+               }
+            } else {
+               #die "mmdsh:  L flag specified twice.\n";
+               &prtMsg(36, "L");
+               &display_help;
+               exit(-1);
+            }
+
+         } elsif ($indices[0] == $Nindex) {  # if the flag was "N"
+            if (!$Narg) {
+               $Narg = $1;
+               unless ($nodesToUse = $Narg) {
+                  #die "mmdsh: Missing argument\n";
+                  &prtMsg(204, "-N");
+                  &display_help;
+                  exit(-1);
+               }
+            } else {
+               #die "mmdsh:  N flag specified twice.\n";
+               &prtMsg(36, "N");
+               &display_help;
+               exit(-1);
+            }
+
+         } elsif ($indices[0] == $Rindex) {  # if the flag was "R"
+            if (!$reportFile) {
+               unless ($reportFile = $1) {
+                  #die "mmdsh: Missing argument\n";
+                  &prtMsg(204, "-R");
+                  &display_help;
+                  exit(-1);
+               }
+            } else {
+               #die "mmdsh:  R flag specified twice.\n";
+               &prtMsg(36, "R");
+               &display_help;
+               exit(-1);
+            }
+         }
+         $ARGV[0] = substr($ARGV[0], 0, $indices[0] + 1);
+
+      } elsif ($ARGV[0] =~ /F$/) {  # otherwise, if the flag is an "F"
+                                    #  followed by whitespace
+         if (!$fn) {
+            $fn = $ARGV[1];
+            unless ($wfile = $fn) {
+               #die "mmdsh: Missing argument\n";
+               &prtMsg(204, "-F");
+               &display_help;
+               exit(-1);
+            }
+            $shiftflag++;
+         } else {
+            #die "mmdsh:  F flag specified twice.\n";
+            &prtMsg(36, "F");
+            &display_help;
+            exit(-1);
+         }
+
+      } elsif ($ARGV[0] =~ /f$/) {  # otherwise, if the flag is an "f"
+                                    #  followed by whitespace
+         if (!$fanout) {
+            $fanout = $ARGV[1];
+            unless ($fanout) {
+               #die "mmdsh: Missing argument\n";
+               &prtMsg(204, "-f");
+               &display_help;
+               exit(-1);
+            }
+            if ($fanout =~ /\D/) {
+               #die "mmdsh: Incorrect argument - $fanout\n";
+               &prtMsg(40, "-f", $fanout);
+               &display_help;
+               exit(-1);
+            }
+            $shiftflag++;
+         } else {
+            #die "mmdsh:  f flag specified twice.\n";
+            &prtMsg(36, "f");
+            &display_help;
+            exit(-1);
+         }
+
+      } elsif ($ARGV[0] =~ /I$/) {  # otherwise, if the flag is an "I"
+                                    #  followed by whitespace
+         if (!$stageFile) {
+            $stageFile = $ARGV[1];
+            unless ($fileToCopy = $stageFile) {
+               #die "mmdsh: Missing argument\n";
+               &prtMsg(204, "-I");
+               &display_help;
+               exit(-1);
+            }
+            $shiftflag++;
+         } elsif (!$stageFile2) {
+            $stageFile2 = $ARGV[1];
+            unless ($fileToCopy2 = $stageFile2) {
+               #die "mmdsh: Missing argument\n";
+               &prtMsg(204, "-I");
+               &display_help;
+               exit(-1);
+            }
+            $shiftflag++;
+         } else {
+            #die "mmdsh:  I flag specified twice.\n";
+            &prtMsg(36, "I");
+            &display_help;
+            exit(-1);
+         }
+
+      } elsif ($ARGV[0] =~ /L$/) {  # otherwise, if the flag is an "L"
+                                    #  followed by whitespace
+         if (!$hl) {
+            $hl = $ARGV[1];
+            unless ($hl) {
+              #die "mmdsh: Missing argument\n";
+               &prtMsg(204, "-L");
+               &display_help;
+               exit(-1);
+            }
+            if ($hl =~ /^,|,,|,$/) {
+               #die "Incorrect argument - $hl\n";
+               &prtMsg(153, "-L");
+               &display_help;
+               exit(-1);
+            }
+            if ($hl eq "-") {
+               while (<STDIN>) {
+                  /^\s*#/ && next;
+                  /^\s*$/ && next;
+                  /;/ && next;
+                  /\S+ \S+/ && next;
+                  s/ //g;
+                  chop;
+                  push(@hostlist,$_);
+               }
+            } else {
+               @hostlist = split(/,/,$hl);
+            }
+            $shiftflag++;
+         } else {
+            #die "mmdsh:  L flag specified twice.\n";
+            &prtMsg(36, "L");
+            &display_help;
+            exit(-1);
+         }
+
+      } elsif ($ARGV[0] =~ /N$/) {  # otherwise, if the flag is an "N"
+                                    #  followed by whitespace
+         if (!$Narg) {
+            $Narg = $ARGV[1];
+            unless ($nodesToUse = $Narg) {
+               #die "mmdsh: Missing argument\n";
+               &prtMsg(204, "-N");
+               &display_help;
+               exit(-1);
+            }
+            $shiftflag++;
+         } else {
+            #die "mmdsh:  N flag specified twice.\n";
+            &prtMsg(36, "N");
+            &display_help;
+            exit(-1);
+         }
+
+      } elsif ($ARGV[0] =~ /R$/) {  # otherwise, if the flag is an "R"
+                                    #  followed by whitespace
+         if (!$reportFile) {
+            unless ($reportFile = $ARGV[1]) {
+              #die "mmdsh: Missing argument\n";
+              &prtMsg(204, "-R");
+              &display_help;
+              exit(-1);
+            }
+            $shiftflag++;
+         } else {
+            #die "mmdsh:  R flag specified twice.\n";
+            &prtMsg(36, "R");
+            &display_help;
+            exit(-1);
+         }
+      }  # end of if ($ARGV[0] =~ /[FfILNR](\S+)/)
+
+      if (index($ARGV[0], 'i') >= $[) {   # if there is an "i" flag present
+         if (rindex($ARGV[0], 'i') == index($ARGV[0], 'i')) {
+            if ($iflag++) {
+               #die "mmdsh:  i flag specified twice.\n";
+               &prtMsg(36, "i");
+               &display_help;
+               exit(-1);
+            }
+         } else {
+            #die "mmdsh:  i flag specified twice.\n";
+            &prtMsg(36, "i");
+            &display_help;
+            exit(-1);
+         }
+      }
+
+      if (index($ARGV[0], 'k') >= $[) {   # if there is a "k" flag present
+         if (rindex($ARGV[0], 'k') == index($ARGV[0], 'k')) {
+            if ($kflag++) {
+               #die "mmdsh:  k flag specified twice.\n";
+               &prtMsg(36, "k");
+               &display_help;
+               exit(-1);
+            }
+         } else {
+            #die "mmdsh:  k flag specified twice.\n";
+            &prtMsg(36, "k");
+            &display_help;
+            exit(-1);
+         }
+      }
+
+      if (index($ARGV[0], 'r') >= $[) {   # if there is an "r" flag present
+         if (rindex($ARGV[0], 'r') == index($ARGV[0], 'r')) {
+            if ($rflag++) {
+               #die "mmdsh:  r flag specified twice.\n";
+               &prtMsg(36, "r");
+               &display_help;
+               exit(-1);
+            }
+         } else {
+            #die "mmdsh:  r flag specified twice.\n";
+            &prtMsg(36, "r");
+            &display_help;
+            exit(-1);
+         }
+      }
+
+      if (index($ARGV[0], 's') >= $[) {   # if there is an "s" flag present
+         if (rindex($ARGV[0], 's') == index($ARGV[0], 's')) {
+            if ($sflag++) {
+               #die "mmdsh:  s flag specified twice.\n";
+               &prtMsg(36, "s");
+               &display_help;
+               exit(-1);
+            }
+         } else {
+            #die "mmdsh:  s flag specified twice.\n";
+            &prtMsg(36, "s");
+            &display_help;
+            exit(-1);
+         }
+      }
+
+      if (index($ARGV[0], 'v') >= $[) {   # if there is a "v" flag present
+         if (rindex($ARGV[0], 'v') == index($ARGV[0], 'v')) {
+            if ($verify++) {
+               #die "mmdsh:  v flag specified twice.\n";
+               &prtMsg(36, "v");
+               &display_help;
+               exit(-1);
+            }
+         } else {
+            #die "mmdsh:  v flag specified twice.\n";
+            &prtMsg(36, "v");
+            &display_help;
+            exit(-1);
+         }
+      }
+
+      if ($ARGV[0] =~ /^-.*([^fFiIkLNRrsv]).*/) {  # fail if any unknown flags
+         #die "mmdsh: Incorrect option - $1\n";
+         &prtMsg(13, $1);
+         &display_help;
+         exit(-1);
+      }
+
+      if ($ARGV[0] =~ /^-$/) {                   # fail if no flag after "-"
+         #die "mmdsh: Missing option\n";
+         &prtMsg(168);
+         &display_help;
+         exit(-1);
+      }
+
+      shift(@ARGV);      # shift to next parameter
+      if ($shiftflag) {
+         shift(@ARGV);   # shift again if parameter pertains to previous flag
+         $shiftflag--;   # reset the shift flag
+      }
+   }
+
+   # Process any hosts that were specified via the -L flag.
+   if (@hostlist) {
+      $wfound++;
+      # If the -v flag was specified, call routine to
+      # only add pingable hosts; otherwise, add them all.
+      if ($verify) {
+         # Put the hosts specified by the "L" flag into a temporary file.
+         $hlfile = "/var/mmfs/tmp/hostlistFile.mmdsh.$$";
+         open(HLFILE, ">$hlfile");
+         foreach $ht (@hostlist) {
+            print HLFILE "$ht\n";
+            $hostCount++;
+            $targetHost = $ht;
+         }
+         close(HLFILE);
+
+         # Pass the created file to routine that only adds pingable hosts.
+         # The temp file is cleaned up inside the add_wc_parallel routine.
+         unless (open(HLFILE, "$hlfile")) {
+            #die "mmdsh: Cannot open hostlist file $hlfile: $!\n";
+            &prtMsg(364, $hlfile, "\'$!\'");
+            `/bin/rm -f $hlfile`;
+            exit(-1);
+         }
+         &add_wc_parallel(HLFILE);
+         close(HLFILE);
+         `/bin/rm -f $hlfile`;
+
+      } else {
+         foreach $ht (@hostlist) {  # add any hosts specified by the "L" flag
+            &add_wc($ht);
+            $hostCount++;
+            $targetHost = $ht;
+         }
+      }
+   }
+
+   # Process any hosts that were specified via the -F flag.
+   if ($wfile) {
+      $wfound++;
+      unless (open(WCFILE, $wfile)) {
+         #die "mmdsh: Cannot open working collective file $wfile: $!\n";
+         &prtMsg(364, $wfile, "\'$!\'");
+         exit(-1);
+      }
+      # If the -v flag was specified, call routine to
+      # only add pingable hosts; otherwise, add them all.
+      if ($verify) {
+         &add_wc_parallel(WCFILE);
+      } else {
+         while ($new_host = <WCFILE>) {
+            $new_host =~ /^\s*#/ && next;
+            $new_host =~ /^\s*$/ && next;
+            $new_host =~ /;/ && next;
+            $new_host =~ /\S+\s+\S+/ && next;
+            chop($new_host);
+            &add_wc($new_host);
+         }
+      }
+      close(WCFILE);
+   }
+
+   # Process any nodes that were specified via the -N flag.
+   if ($nodesToUse) {
+      # Convert the node specification into a verified file of nodes.
+      $hlfile = "/var/mmfs/tmp/hostlistFile.mmdsh.$$";
+      $cmd = "$MMCOMMON run createVerifiedNodefile $nodesToUse $REL_HOSTNAME_Field no $hlfile";
+      if ($rc = system($cmd))
+      {
+         $rc = &normalizeRC($rc);
+         &prtMsg(206, $rc);
+         `/bin/rm -f $hlfile`;
+         exit(-1);
+      }
+
+      # Process the nodes in the file that was created.
+      if ($hlfile) {
+         $wfound++;
+         unless (open(HLFILE, $hlfile)) {
+            #die "mmdsh: Cannot open node file $hlfile: $!\n";
+            &prtMsg(364, $hlfile, "\'$!\'");
+            exit(-1);
+         }
+         # If the -v flag was specified, call routine to
+         # only add pingable hosts; otherwise, add them all.
+         if ($verify) {
+            &add_wc_parallel(HLFILE);
+         } else {
+            while ($new_host = <HLFILE>) {
+               $new_host =~ /^\s*#/ && next;
+               $new_host =~ /^\s*$/ && next;
+               $new_host =~ /;/ && next;
+               $new_host =~ /\S+\s+\S+/ && next;
+               chop($new_host);
+               &add_wc($new_host);
+            }
+         }
+         close(HLFILE);
+         `/bin/rm -f $hlfile`;
+      }
+   }
+
+   # Verify the files to be staged exist and are in a subdir of /var/mmfs.
+   if ($stageFile) {
+     unless ( $fileToCopy =~ /^\/var\/mmfs\//) {
+       die "mmdsh: Files may only be copied to /var/mmfs.\n";
+     }
+     unless ( -f $fileToCopy ) {
+       #die "mmdsh: File $fileToCopy not found\n";
+       &prtMsg(364, $fileToCopy, "\'$!\'");
+       exit(-1);
+     }
+   }
+
+   if ($stageFile2) {
+     unless ( $fileToCopy2 =~ /^\/var\/mmfs\//) {
+       die "mmdsh: Files may only be copied to /var/mmfs.\n";
+     }
+     unless ( -f $fileToCopy2 ) {
+       #die "mmdsh: File $fileToCopy2 not found\n";
+       &prtMsg(364, $fileToCopy2, "\'$!\'");
+       exit(-1);
+     }
+   }
+
+}  #---------- end of parse routine ------------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# set_defaults
+#
+# Set default values for those values that have not been specified.
+# If fanout was not specified, it is set to the default fanout value.
+# If login name was not specified, it is set to that of the current user.
+#
+#----------------------------------------------------------------------------
+
+sub set_defaults {
+
+  unless ($fanout) {
+    unless ($fanout = $ENV{'FANOUT'}) {
+      $fanout = $fanout_default;
+    }
+  }
+  unless ($login) {
+    $login = (getpwuid($<))[0];
+  }
+
+}  #---------- end of set_defaults routine -----------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# readem
+#
+# Read the stdout and stderr pipes for all hosts in the current fanout.
+#
+#----------------------------------------------------------------------------
+
+sub readem {
+
+  local(@h) = @_;
+  local($host);
+  foreach $host (@h) {
+    &read_pipes_and_wait(true, $host);
+  }
+  @h = ();
+
+}  #---------- end of readem routine ---------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# display_wc
+#
+# If requested by means of the -i option, display the set of nodes
+# on which the command will be run.
+#
+#----------------------------------------------------------------------------
+
+sub display_wc {
+
+  local($i);
+  if ($iflag) {
+    #print STDOUT "Nodes on which the command will be run:\n";
+    &prtMsg(362);
+    $i = 0;
+    while ($i <= $#wc) {
+      printf STDERR "%-19.18s", $wc[$i];
+      printf STDERR "%-19.18s", $wc[$i+1];
+      printf STDERR "%-19.18s", $wc[$i+2];
+      printf STDERR "%-19.18s\n", $wc[$i+3];
+      $i = $i + 4;
+    }
+  }
+
+}  #---------- end of display_wc routine -------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# get_wc
+#
+# Determine the working collective, if not already obtained from command line.
+# Look for filename in $WCOLL containing the hostnames, one per line.
+#
+#----------------------------------------------------------------------------
+
+sub get_wc {
+
+  local($wfile,$new_host);
+  if (!@wc && !$wfound) {
+    unless ($wfile = $ENV{'WCOLL'}) {
+      #die "mmdsh: Working collective environment variable not set\n";
+      &prtMsg(363);
+      exit(-1);
+    }
+    unless (open(WCFILE, $wfile)) {
+      #die "mmdsh: Cannot open working collective file $wfile: $!\n";
+      &prtMsg(364, $wfile, "\'$!\'");
+      exit(-1);
+    }
+    if ($verify) {
+      &add_wc_parallel(WCFILE);
+    } else {
+      while ($new_host = <WCFILE>) {
+        $new_host =~ /^\s*#/ && next;
+        $new_host =~ /^\s*$/ && next;
+        $new_host =~ /;/ && next;
+        $new_host =~ /\S+\s+\S+/ && next;
+        chop($new_host);
+        &add_wc($new_host);
+      }
+    }
+    close(WCFILE);
+  }
+
+}  #---------- end of get_wc routine -----------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# set_signals
+#
+# HUP is ignored in the mmdsh parent and its exec'ed rsh children.
+#
+# STOP, CONT, and TSTP are defaulted - this means that they work on the
+# parent, but are ignored (not propagated to) the exec'ed rsh children
+# or the remote processes.
+#
+# Set the signal handler for all other signals.
+# The signals will be propagated to the exec'd children and then
+# the default action will be taken in the parent.
+#
+# rsh will propagate TERM, QUIT, and INT to the remote processes.
+#
+#----------------------------------------------------------------------------
+
+sub set_signals {
+
+  # Default STOP, CONT, TSTP signal handling
+  $SIG{'STOP'} = 'DEFAULT';
+  $SIG{'CONT'} = 'DEFAULT';
+  $SIG{'TSTP'} = 'DEFAULT';
+
+  # Propagate signals to forked kids.
+  $SIG{'TERM'} = 'infanticide';
+  $SIG{'QUIT'} = 'infanticide';
+  $SIG{'INT'}  = 'infanticide';
+  $SIG{'ABRT'} = 'infanticide';
+  $SIG{'ALRM'} = 'infanticide';
+  $SIG{'FPE'}  = 'infanticide';
+  $SIG{'ILL'}  = 'infanticide';
+  $SIG{'PIPE'} = 'infanticide';
+  $SIG{'SEGV'} = 'infanticide';
+  $SIG{'USR1'} = 'infanticide';
+  $SIG{'USR2'} = 'infanticide';
+  $SIG{'TTIN'} = 'infanticide';
+  $SIG{'TTOU'} = 'infanticide';
+  $SIG{'BUS'}  = 'infanticide';
+
+}  #---------- end of set_signals routine -----------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# wait_for_kids_and_add_hosts
+#
+# When a child dies, it must be an exit after the end of his ping.
+# If a negative return code, the ping failed.  Check whether we
+# should give up on this host and eliminate him from the collective.
+# Add the kid's host to the working collective if the ping succeeded
+# or if we were told to add him anyway.
+#
+# Parameters:
+#   wait_all -- true to "wait" on all active children, false to only "wait"
+#               for completed children (fanout maintenance).
+#
+#----------------------------------------------------------------------------
+
+sub wait_for_kids_and_add_hosts {
+
+  my $wait_all = shift;
+
+  local($child_pid, $child_rc, $child_host, $host_found, $wait_opt);
+
+  if ($wait_all eq true) {
+    # Wait for all children ==> Blocking waitpid
+    $wait_opt = 0;
+  }
+  else {
+    # Wait for completed children only ==> Non-blocking waitpid
+    $wait_opt = &WNOHANG;
+  }
+
+  # Wait for any children and process accordingly.  We will wait for at
+  # least one child for both "wait some" and "wait all" cases as the design
+  # point is to only call this routine when the fanout limit has been reached.
+  if (($child_pid = wait) != -1) {
+
+    PINGWAIT: {
+
+      # Obtain the return code and hostname for the child process.
+      $child_rc = $? >> 8;
+      foreach (keys %pid) {
+        if ($pid{$_} == $child_pid) {
+          $child_host = $_;
+          last;
+        }
+      }
+
+      # Close the pipes used for collecting data from the ping.
+      close($Rout{$child_host});
+      close($Rerr{$child_host});
+
+      # If the ping failed, assume the host is not reachable;
+      #  don't add it to the collective unless told to include it anyway.
+      if ($child_rc != 0) {
+        push(@goners,$child_host);
+      }
+      else {
+        # Host reachable --> Add to collective (duplicates previously culled).
+        push(@wc,$child_host);
+      }
+
+      # Child harvested ==> Decrement cur_fanout
+      $cur_fanout--;
+
+      # Waitpid for any child.  For "wait some" we will perform a non-blocking
+      # child wait, terminating processing if none completed.  For "wait all"
+      # we will perform a blocking wait, terminating processing if no children
+      # remain.
+
+      $child_pid = waitpid(-1, $wait_opt);
+      if ((($wait_all eq false) && ($child_pid > 0)) ||
+          (($wait_all eq true) && ($child_pid != -1)))
+      {
+        redo PINGWAIT;
+      }
+    }
+  }
+
+}  #---------- end of wait_for_kids_and_add_hosts routine --------------
+
+
+#----------------------------------------------------------------------------
+#
+# delete_hosts
+#
+# Called if any hosts don't respond.
+# Remove them from the working collective unless the -c flag was set.
+# Input is the hostnames to remove from the working collective.
+#
+#----------------------------------------------------------------------------
+
+sub delete_hosts {
+
+  local($child_host,$h,$host_count);
+
+  foreach $child_host (@goners) {
+    $host_count = 0;
+    foreach $h (@wc) {
+      if ($h eq $child_host) {
+        splice(@wc, $host_count, 1);
+      }
+      $host_count++;
+    }
+  }
+
+}  #---------- end of delete_hosts routine -----------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# infanticide
+#
+# User has signaled the mmdsh parent - propagate TERM, INT, or QUIT to children.
+# (Note - TERM, INT, and QUIT will be propagated to remote processes by rsh).
+# Signal any children with SIGTERM if signal is not one of the above.
+# Wait for children to manage output and prevent zombies.
+# Signal self after setting default signal-handling for self.
+# If still alive, exit.
+# Input is the signal type.
+#
+#----------------------------------------------------------------------------
+
+sub infanticide {
+
+  local($sig) = @_;
+  local($kid_sig);
+  #print STDERR "mmdsh: Caught SIG$sig - terminating the kids\n";
+  &prtMsg(366, $sig);
+  if ($sig ne 'QUIT' && $sig ne 'INT' && $sig ne 'TERM') {
+    $kid_sig = 'TERM';
+    $SIG{'TERM'} = 'IGNORE';
+  } else {
+    $kid_sig = $sig;
+  }
+  $SIG{$sig} = 'DEFAULT';
+  kill $kid_sig, (values %pid);
+  &read_pipes_and_wait(true, @hs);
+  kill $sig, $$;
+  exit($rcode);
+
+}       #---------- end of infanticide routine ----------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# check_wc
+#
+# Check to ensure that there are hosts in our working collective.
+#
+#----------------------------------------------------------------------------
+
+sub check_wc {
+
+  if (!@wc) {
+    if ($hostCount == 1) {
+      #print STDERR "mmdsh:  Node $targetHost is not available to run the command.";
+      &prtMsg(573, $targetHost);
+      exit(80);   # MM_HostDown
+    }
+    else {
+      #print STDERR "There are no available nodes on which to run the command."
+      &prtMsg(367);
+      exit(++$rcode);
+    }
+  }
+
+}     #---------- end of check_wc routine ---------------------------------
+
+
+#----------------------------------------------------------------------------
+#
+# Mainline program
+#
+# The program continues while there are commands to distribute to the working
+# collective via rsh.  Children are forked for each host, up to the fanout
+# limit.  Stdout and stderr are piped back from the children to the parent
+# who will display the results of the execed rsh's to the parent's stdout
+# and stderr.
+#
+#----------------------------------------------------------------------------
+
+# Determine the execution environment and initialize variables.
+chop($osName=`/bin/uname -s`);
+if ($osName eq "AIX") {
+   $grep="/usr/bin/grep";
+   $ping="/usr/sbin/ping";
+   $DSPMSG="/usr/bin/dspmsg -s 32 mmfs.cat";
+}
+elsif ($osName eq "Linux") {
+   $grep="/bin/grep";
+   $ping="/bin/ping";
+}
+else {
+   print STDERR  "mmdsh:  Unknown execution environment $osName\n";
+   exit(-1);
+}
+$pingTimeout  = 2;       # initial single ping timeout period
+$maxPingCount = 3;       # number of pings before declaring a node dead
+$fanout_default = 64;    # default fanout value
+
+# Flush output filesystem buffers after each write.
+select(STDOUT); $| = 1;
+select(STDERR); $| = 1;
+
+# Get the set environment locales.
+use locale;
+$lang=$ENV{'LANG'};
+$lcall=$ENV{'LC_ALL'};
+$lccol=$ENV{'LC_COLLATE'};
+$lctyp=$ENV{'LC_TYPE'};
+$lcmon=$ENV{'LC_MONETARY'};
+$lcnum=$ENV{'LC_NUMERIC'};
+$lctim=$ENV{'LC_TIME'};
+$lcmsg=$ENV{'LC_MESSAGES'};
+
+$mmmode=$ENV{'MMMODE'};
+$environmentType=$ENV{'environmentType'};
+$rshPath=$ENV{'GPFS_rshPath'};
+$rcpPath=$ENV{'GPFS_rcpPath'};
+$mmTrace=$ENV{'mmScriptTrace'};
+
+if ($rshPath eq "" || $rshPath eq "_DEFAULT_") {
+   $rshPath="/usr/bin/rsh";
+}
+elsif ( ! -x $rshPath) {
+#esjlrm - fix the above to strip any options
+   #die "mmdsh: Invalid or missing remote shell command: $rshPath\n";
+   &prtMsg(422, $rshPath);
+   exit(-1);
+}
+
+if ($rcpPath eq "" || $rcpPath eq "_DEFAULT_") {
+   $rcpPath="/usr/bin/rcp";
+}
+elsif ( ! -x $rcpPath) {
+#esjlrm - fix the above to strip any options
+   #die "mmdsh: Invalid or missing remote file copy command: $rcpPath\n";
+   &prtMsg(423, $rcpPath);
+   exit(-1);
+}
+
+$exportcmd = "export LANG=$lang; export LC_ALL=$lcall;  export LC_COLLATE=$lccol; export LC_TYPE=$lctyp; export LC_MONETARY=$lcmon; export LC_NUMERIC=$lcnum; export LC_TIME=$lctim; export LC_MESSAGES=$lcmsg; export MMMODE=$mmmode; export environmentType=$environmentType;  export GPFS_rshPath=$rshPath; export GPFS_rcpPath=$rcpPath; export mmScriptTrace=$mmTrace; ";
+
+
+# Set signal handling for forked (child) processes,
+#  parse the command line, and determine our working collective.
+&set_signals;
+&parse;
+&get_wc;
+&display_wc;
+&set_defaults;
+&check_wc;
+
+# Perform each command on the nodes in our working collective.
+while ($command = &get_command) {
+
+   if ($iflag) {
+     print STDERR "mmdsh: Command to run: $command\n\n";
+   }
+
+   # If the special command _SELECT_FROM_FILE_ is specified,
+   # the command to be executed by each of the nodes is given
+   # in the file specified in the mmdshCommandsFile variable.
+   if ($command eq "_SELECT_FROM_FILE_") {
+     $selectCommandFromFile++;
+     unless ($mmdshCommandsFile = $ENV{'mmdshCommandsFile'}) {
+       die "mmdsh: mmdshCommandsFile environment variable not set\n";
+     }
+     unless ( -f $mmdshCommandsFile ) {
+       #die "mmdsh: File $mmdshCommandsFile not found\n";
+       &prtMsg(364, $mmdshCommandsFile, "\'$!\'");
+       exit(-1);
+     }
+   }
+
+   # Clear out the host array and pid hash (also used in host verification)
+   undef @hs;
+   undef %pid;
+
+   # The working collective, @wc, at this point is guaranteed to contain only
+   # unique entries.  This prevents key collisions on the %pid hash table.
+   foreach $host (@wc) {
+
+      # If the special command _SELECT_FROM_FILE_ is specified,
+      # retrieve the command string to be executed by the node.
+
+      if ($selectCommandFromFile) {
+        $command = `$grep -w ^$host $mmdshCommandsFile`;
+        chop($command);
+
+        # If there is no command for this host, move on.
+        unless ($command) {
+          if ($iflag) {
+            print STDERR "mmdsh: $host: No command found.\n";
+          }
+          next;
+        }
+
+        # Remove the hostname from the command string.
+        @dsh_ARGV = split(' ',$command);
+        shift(@dsh_ARGV);
+        $command = join(' ',@dsh_ARGV);
+
+        if ($iflag) {
+          print STDERR "mmdsh: $host: $command \n";
+        }
+      }
+
+
+      # Create filehandles for pipe ends.
+      $r_out{$host} = "READ_STDOUT_" . $host;
+      $w_out{$host} = "WRITE_STDOUT_" . $host;
+      $r_err{$host} = "READ_STDERR_" . $host;
+      $w_err{$host} = "WRITE_STDERR_" . $host;
+
+      # Open pipes for this host's stdout and stderr from rsh.
+      if (pipe($r_out{$host}, $w_out{$host}) < 0) {
+         #die "mmdsh: Couldn't pipe: $!\n";
+         &prtMsg(368, "\'$!\'");
+         exit(-1);
+      }
+      if (pipe($r_err{$host}, $w_err{$host}) < 0) {
+         #die "mmdsh: Couldn't pipe: $!\n";
+         &prtMsg(368, "\'$!\'");
+         exit(-1);
+      }
+
+      # Fork a child to exec the rsh.
+      MAINFORK: {
+
+         if ($pid{$host} = fork) {
+
+            # Parent code -
+            # Close unneeded ends of pipes.
+            # Parent will wait for child processes if fanout limit reached.
+            close($w_out{$host});
+            close($w_err{$host});
+
+            push(@hs,$host);
+
+            if (++$cur_fanout >= $fanout) {
+               &read_pipes_and_wait(false, @hs);
+            }
+
+         } elsif (defined $pid{$host}) {
+
+            # Child code -
+            # Close unneeded ends of pipes.
+            # Redirect stdout and stderr to output pipes.
+            # Exec rsh.
+            # stdout/stderr will go to pipes to be read by parent.
+            close($r_out{$host});
+            close($r_err{$host});
+
+            unless (open(STDOUT, ">&$w_out{$host}")) {
+               #die "mmdsh: Cannot redirect STDOUT: $!\n";
+               &prtMsg(369, 'STDOUT', "\'$!\'");
+               exit(-1);
+            }
+            unless (open(STDERR, ">&$w_err{$host}")) {
+               #die "mmdsh: Cannot redirect STDERR: $!\n";
+               &prtMsg(369, 'STDERR', "\'$!\'");
+               exit(-1);
+            }
+
+            select(STDOUT); $| = 1;
+            select(STDERR); $| = 1;
+
+            # If the -I option is specified, copy the specified files
+            # to the remote host prior to invoking the actual command.
+            if ($stageFile) {
+              $rcpCommandString = "$rcpPath -p $fileToCopy $host:$fileToCopy";
+              if ($iflag) {
+                print STDERR "mmdsh: $rcpCommandString \n";
+              }
+              $rcpOutput = `LC_ALL=C $rcpCommandString 2>&1`;
+              $rcpRc = $? >> 8;
+
+              # If the rcopy fails, move to the next host.
+              if ($rcpRc > 0 && $rcpOutput !~ /refer to the same file/) {
+                if ($rcpOutput) {
+                  printf STDERR "%s", $rcpOutput;
+                }
+                &prtMsg(171, $rcpCommandString, $rcpRc);
+                die "mmdsh: $command will not be executed on $host.\n";
+              }
+            }
+
+            if ($stageFile2) {
+              $rcpCommandString = "$rcpPath -p $fileToCopy2 $host:$fileToCopy2";
+              if ($iflag) {
+                print STDERR "mmdsh: $rcpCommandString \n";
+              }
+              $rcpOutput = `LC_ALL=C $rcpCommandString 2>&1`;
+              $rcpRc = $? >> 8;
+
+              # If the rcopy fails, move to the next host.
+              if ($rcpRc > 0 && $rcpOutput !~ /refer to the same file/) {
+                if ($rcpOutput) {
+                  printf STDERR "%s", $rcpOutput;
+                }
+                &prtMsg(171, $rcpCommandString, $rcpRc);
+                die "mmdsh: $command will not be executed on $host.\n";
+              }
+            }
+
+            # Execute the command on the remote host.
+            if (!@dsh_ARGV) {
+               # mmdsh was invoked without specifying a command.
+               # The command to execute comes from the mmdsh prompt.
+	       if ($ENV{'DSHPATH'}) {
+                  exec ($rshPath,
+                        $host, '-n', '-l', $login,
+                        "export PATH=$ENV{'DSHPATH'};",
+                        $exportcmd, $command)                 ||
+                  die "mmdsh: rsh: $host $command: $!\n";
+	       } else {
+                  exec ($rshPath,
+                        $host, '-n', '-l', $login,
+                        $exportcmd, $command)                 ||
+                  die "mmdsh: rsh: $host $command: $!\n";
+               }
+            } else {
+               # The command to execute comes from the mmdsh command line.
+               # This is the path taken by the mm commands.
+	       if ($ENV{'DSHPATH'}) {
+                  exec ($rshPath,
+                        $host, '-n', '-l', $login,
+                        "export PATH=$ENV{'DSHPATH'};",
+                        $exportcmd, @dsh_ARGV)                ||
+                  die "mmdsh: rsh: $host @dsh_ARGV: $!\n";
+	       } else {
+                  exec ($rshPath,
+                        $host, '-n', '-l', $login,
+                        $exportcmd, @dsh_ARGV)                ||
+                  die "mmdsh: rsh: $host @dsh_ARGV: $!\n";
+               }
+	    }
+
+         } else {
+
+           # Try again.  The fork must have failed due to a resource problem.
+           if ($iflag) {
+             print STDERR "mmdsh: fork() failed; will retry in 5 seconds.\n";
+           }
+           sleep 5;
+           redo MAINFORK;
+         }
+      }
+   }
+
+   # Parent continues here after forking all the children for this command.
+   # Get the results of any remaining rsh's (the number of hosts in our
+   #  working collective may not be a multiple of the fanout value).
+   # Get rid of any hosts that have failed.
+   # Display the working collective and command.
+   &read_pipes_and_wait(true, @hs);
+   &delete_hosts;
+   unless ($done) {
+      $cur_fanout = 0;
+      &check_wc;
+      &display_wc;
+   }
+}
+
+# If requested, delete the -I files.
+if ($stageFile && $kflag) {
+  `/bin/rm -f $fileToCopy $fileToCopy2 >/dev/null 2>&1`;
+}
+
+# exit
+
+exit($rcode);       #---------- end of mainline program ----------------
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdsm
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdsm	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdsm	(revision 16)
@@ -0,0 +1,1081 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2004,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)17 1.14 src/avs/fs/mmfs/ts/admin/mmdsm.sh, mmfs, avs_rgpfs24, rgpfs240610b 7/21/05 01:45:41
+#############################################################################
+#
+# Common interface module for DSM support.
+#
+# Usage:  mmdsm <action> <arg1> <arg2> ...
+#
+# where action is one of the following:
+#
+#   dsmGetClusterType - retrieve the GPFS cluster type
+#   dsmGetNodeNumber  - retrieve the local node's GPFS node number
+#   dsmGetNodesetId   - retrieve the nodeset to which this node belongs
+#   dsmGetNodeCount   - retrieve the number of nodes in the nodeset
+#   dsmPutHsmdata     - store the HSM data for a given nodeset
+#   dsmGetHsmdata     - retrieve the HSM data for a given nodeset
+#   dsmPutHsmversion  - store the version information for the HSM data
+#   dsmGetHsmversion  - retrieve the version information for the HSM data
+#   dsmGetConfigServerState - verify both config servers are up
+#   dsmGetFileSystems       - create a list of all file systems
+#   dsmIsFileSystemLocal    - check if a file system is local or remote
+#
+# For additional information and description of arguments and
+# return codes, see the prolog of the corresponding function.
+#
+#############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmdsm.sh"
+[[ -n $DEBUG || -n $DEBUGmmdsm ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# To get mmdsm error messages, specify a file name in the dsmLog variable.
+# If this variable is not defined, all error messages will be discarded.
+[[ -z $dsmLog ]] && dsmLog="/dev/null"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+rc=0
+
+
+# Local functions
+
+
+###########################################################################
+#
+# Function:  Called if there is an interrupt before changes are committed.
+#            Removes temporary files and unlocks the sdr if necessary.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   Exits with code 2
+#
+###########################################################################
+function localPretrap
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGlocalPretrap ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset ec=0
+
+  trap "" HUP INT QUIT KILL    # Disable traps so we won't get interrupted.
+
+  [[ -z $MMMODE ]] && determineMode 2>> $dsmLog
+
+  # We come here if an interrupt was received and
+  # no changes have been made to the sdrfs file.
+  # Display any buffered error messages that might be there.
+  [[ -s $errMsg ]] && $cat $errMsg 1>&2 2>> $dsmLog
+  printErrorMsg 306 $mmcmd 2>> $dsmLog
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+
+  if [[ $gpfsLocked = yes ]]
+  then
+    setRunningCommand null $primaryServer
+    ec=$?
+    if [[ $ec -ne 0 ]]
+    then
+      printErrorMsg 171 $mmcmd "function setRunningCommand" $ec 2>> $dsmLog
+    fi
+  fi
+
+  [[ $envLocked = yes ]] &&  \
+    freeEnvLock >/dev/null 2>> $dsmLog
+  envLocked=no
+
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null 2>> $dsmLog
+  sdrLocked=no
+
+  trap - HUP INT QUIT KILL     # Restore interrupts.
+  exit 2
+
+}  #--------- end of function localPretrap ---------------------------
+
+
+###########################################################################
+#
+# Function:  Called if there is an interrupt after changes were committed.
+#            Removes temporary files and unlocks the sdr if necessary.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   Exits with code 2
+#
+###########################################################################
+function localPosttrap
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGlocalPosttrap ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset ec=0
+
+  trap "" HUP INT QUIT KILL    # Disable traps so we won't get interrupted.
+
+  [[ -z $MMMODE ]] && determineMode 2>> $dsmLog
+
+  # Interrupt received: changes not propagated.
+  # Display any buffered error messages that might be there.
+  [[ -s $errMsg ]] && $cat $errMsg 1>&2 2>> $dsmLog
+  printErrorMsg 32 $mmcmd 2>> $dsmLog
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+
+  if [[ $gpfsLocked = yes ]]
+  then
+    setRunningCommand null $primaryServer
+    ec=$?
+    if [[ $ec -ne 0 ]]
+    then
+      printErrorMsg 171 $mmcmd "function setRunningCommand" $ec 2>> $dsmLog
+    fi
+  fi
+
+  [[ $envLocked = yes ]] &&  \
+    freeEnvLock >/dev/null 2>> $dsmLog
+  envLocked=no
+
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null 2>> $dsmLog
+  sdrLocked=no
+
+  trap - HUP INT QUIT KILL     # Restore interrupts.
+  exit 2
+
+}  #--------- end of function localPosttrap ---------------------------
+
+
+##########################################################################
+#
+# Function:  Retrieve the name of the nodeset to which this node belongs.
+#
+# Input:     None.
+#
+# Output:    Nodeset identifier or zero.
+#
+# Returns:   0 - no errors encountered
+#            non-zero - unexpected error
+#
+##########################################################################
+function dsmGetNodesetId  #
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGdsmGetNodesetId ]] && set -x
+
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+
+  # Display the nodeset name.
+  print -- "$nsId"
+
+  return 0
+
+}  #------------ end function dsmGetNodesetId -----------------
+
+
+##########################################################################
+#
+# Function:  Retrieve the number of nodes in the current nodeset.
+#
+# Input:     None.
+#
+# Output:    Number of nodes.
+#
+# Returns:   0 - no errors encountered
+#            non-zero - unexpected error
+#
+##########################################################################
+function dsmGetNodeCount  #
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGdsmGetNodeCount ]] && set -x
+
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+
+  # Find out the number of nodes in the local nodeset.
+  # The result is displayed on stdout.
+  getNodesetInfo $NODE_COUNT_Field $nsId $mmsdrfsFile
+
+  return 0
+
+}  #------------ end function dsmGetNodeCount -----------------
+
+
+##########################################################################
+#
+# Function:  Append the specified file with HSM data to the mmsdrfs file.
+#
+# Input:     $1 - nodeset to which the data pertains
+#            $2 - path name of file to store in the sdr or DELETE
+#            $3 - path name of file with version information (optional)
+#            $4 - mmsdrfs file version (generation) number (optional)
+#
+# Returns:   0 - no errors encountered
+#            non-zero - unexpected error
+#
+##########################################################################
+function dsmPutHsmdata  # <nodesetId> <inputFile> [<versionFile> [<genNumber>]]
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGdsmPutHsmdata ]] && set -x
+  typeset hsmNodesetId=$1
+  typeset inputFile=$2
+  typeset versionFile=$3
+  typeset genNumber=$4
+
+  typeset gpfsInitOutput sdrfsLine printLine inLine rc
+  typeset replaceVersionInfo=''
+  typeset removeHSMdata=''
+  typeset -i lineNumber=0
+
+  [[ -z $genNumber ]] && genNumber=0
+
+  if [[ $hsmNodesetId = DELETE ]]
+  then
+    removeHSMdata=yes
+  else
+    [[ ! -f $inputFile ]] && cleanupAndExit
+    [[ -f $versionFile ]] && replaceVersionInfo=yes
+  fi
+
+  #######################################################################
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  #######################################################################
+  gpfsInitOutput=$(gpfsInit $lockId)
+  setGlobalVar $? $gpfsInitOutput
+
+  ########################################################################
+  # Go through the current mmsdrfs file.  Increment the generation
+  # number and build the node name list that will be needed later.
+  # Remove all HSMDATA lines that are currently in the file so that
+  # they can be replaced with their new version.
+  ########################################################################
+  $rm -f $newsdrfs $nodefile
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"    # Restore the default IFS settings.
+    printLine=true   # Assume the line will be printed.
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )
+        # If requested, ensure that the current version of the mmsdrfs
+        # file matches the caller's version of the data.
+        [[ $genNumber -gt 0 && $genNumber -ne ${v[$SDRFS_GENNUM_Field]} ]] &&  \
+          return 52  # ESTALE
+
+        # Increment the generation number
+        newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+        v[$SDRFS_GENNUM_Field]=$newGenNumber
+        ;;
+
+      $MEMBER_NODE )
+        # Collect the reliable names of all nodes in the cluster.
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+        checkForErrors "writing to file $nodefile" $?
+        ;;
+
+      $HSMDATA )
+        # This is a line with HSM data.
+        # Remove the line if it is for the right nodeset.
+        [[ ${v[$HSM_NODESET_Field]} = $hsmNodesetId || -n $removeHSMdata ]] && \
+          printLine=false
+        ;;
+
+      $HSMVERSION )
+        # This is a HSMVERSION line.
+        # Remove the line from the mmsdrfs file if the
+        # version information will be updated as well.
+        [[ -n $replaceVersionInfo || -n $removeHSMdata ]] &&  \
+          printLine=false
+        ;;
+
+      * )  # Not interested in any other lines.
+        ;;
+
+    esac  # end of case ${v[$LINE_TYPE_Field]} in
+
+    # Build and write the line to the new mmsdrfs file.
+    if [[ $printLine = true ]]
+    then
+      print_newLine >> $newsdrfs
+      checkForErrors "writing to file $newsdrfs" $?
+    fi
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  #########################################################
+  # Append the user-provided input file to the sdrfs file.
+  #########################################################
+  if [[ -z $removeHSMdata ]]
+  then
+    exec 3<&-
+    exec 3< $inputFile
+    IFS=""     # Reset IFS to preserve blanks and tabs.
+    while read -u3 inLine
+    do
+      lineNumber=$lineNumber+1
+      print -- "$DSM_DATA:$HSMDATA:$hsmNodesetId:$lineNumber:$inLine" >> $newsdrfs
+    done
+    checkForErrors "writing to file $newsdrfs" $?
+    IFS="$IFS_sv"
+  fi  # end of if [[ -z $removeHSMdata ]]
+
+  #########################################################
+  # If the version information needs to be updated as well,
+  # append the user-provided input file to the sdrfs file.
+  #########################################################
+  if [[ -n $replaceVersionInfo && -z $removeHSMdata ]]
+  then
+    exec 3<&-
+    exec 3< $versionFile
+    IFS=""     # Reset IFS to preserve blanks and tabs.
+    lineNumber=0
+    while read -u3 inLine
+    do
+      lineNumber=$lineNumber+1
+      print -- "$DSM_DATA:$HSMVERSION::$lineNumber:$inLine" >> $newsdrfs
+    done
+    checkForErrors "writing to file $newsdrfs" $?
+    IFS="$IFS_sv"
+  fi  # end of if [[ -n $replaceVersionInfo && -z $removeHSMdata ]]
+
+  # Sort the new version of the mmsdrfs file.
+  LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+  checkForErrors "sorting $newsdrfs" $?
+
+  ####################################################################
+  # Put the new mmsdrfs file into the sdr.  This commits the changes.
+  ####################################################################
+  trap "" HUP INT QUIT KILL
+  gpfsObjectInfo=$(commitChanges  \
+     $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # The commit step failed.
+    printErrorMsg 381 $mmcmd
+    cleanupAndExit
+  fi
+
+  ##################
+  # Unlock the sdr.
+  ##################
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+  sdrLocked=no
+  trap localPosttrap HUP INT QUIT KILL
+
+  ###############################################
+  # Propagate the changes to all affected nodes.
+  ###############################################
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+  return 0
+
+}  #------------ end function dsmPutHsmdata -----------------
+
+
+##########################################################################
+#
+# Function:  Retrieve the HSM data from the mmsdrfs file.
+#
+# Input:     $1 - nodeset to which the data pertains
+#            $2 - name of a file where to store the HSM data
+#            $3 - (optional) assume cached data is current
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#            3 - HSM data not found in the repository
+#
+##########################################################################
+function dsmGetHsmdata  # <nodesetId> <outputFile> [norefresh]
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGdsmGetHsmdata ]] && set -x
+  typeset hsmNodesetId=$1
+  typeset outputFile=$2
+  typeset -l refreshArg=$3
+
+  typeset gpfsInitOutput sdrfsLine nodesetIdField hsmNodesetField
+  typeset lineTypeField outLine
+
+  #######################################################################
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  #######################################################################
+  if [[ $refreshArg != "norefresh" ]]
+  then
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+  fi
+
+  ##############################################################################
+  # Go through the current mmsdrfs file and retrieve the requested information.
+  ##############################################################################
+  $rm -f $outputFile
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -- $sdrfsLine ; set +f
+    nodesetIdField=$1
+    lineTypeField=$2
+    hsmNodesetField=$3
+
+    # We are interested only in the HSMDATA lines for
+    # the specified HSM nodeset id.
+    if [[ $nodesetIdField = $DSM_DATA &&
+          $lineTypeField  = $HSMDATA  &&
+          $hsmNodesetField = $hsmNodesetId ]]
+    then
+      # The HSM information is everything past the first 4 fields.
+      shift 4
+      outLine=$*
+
+      # To preserve tabs, temporarily set IFS to new line only.
+      IFS="
+"
+      # Strip trailing colons and add the line to the output file.
+      print -- "${outLine%%+(:)}" >> $outputFile
+      checkForErrors "writing to file $outputFile" $?
+      IFS=":" # Change the separator back to ":" for the next iteration
+    fi
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  if [[ -s $outputFile ]]
+  then
+    return 0  # HSM data successfully retrieved.
+  else
+    return 3  # HSM data does not exist.
+  fi
+
+}  #------------ end function dsmGetHsmdata -----------------
+
+
+##########################################################################
+#
+# Function:  Append the version information for the HSM data.
+#
+# Input:     $1 - path name of file to store in the sdr
+#            $2 - mmsdrfs file version (generation) number (optional)
+#
+# Returns:   0 - no errors encountered
+#            non-zero - unexpected error
+#
+##########################################################################
+function dsmPutHsmversion  # <inputFile> [<genNumber>]
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGdsmPutHsmversion ]] && set -x
+  typeset inputFile=$1
+  typeset genNumber=$2
+
+  typeset gpfsInitOutput sdrfsLine printLine inLine rc
+  typeset -i lineNumber=0
+
+  [[ ! -f $inputFile ]] && cleanupAndExit
+  [[ -z $genNumber ]] && genNumber=0
+
+  #################################################################
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  #################################################################
+  gpfsInitOutput=$(gpfsInit $lockId)
+  setGlobalVar $? $gpfsInitOutput
+
+  #################################################################
+  # Go through the current mmsdrfs file.  Increment the generation
+  # number and build the node name list that will be needed later.
+  # Remove all HSMVERSION lines that are currently in the file
+  # so that they can be replaced with their new version.
+  #################################################################
+  $rm -f $newsdrfs $nodefile
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"    # Restore the default IFS settings.
+    printLine=true   # Assume the line will be printed.
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )
+        # If requested, ensure that the current version of the mmsdrfs
+        # file matches the caller's version of the data.
+        [[ $genNumber -gt 0 && $genNumber -ne ${v[$SDRFS_GENNUM_Field]} ]] &&  \
+          return 52  # ESTALE
+
+        # Increment the generation number
+        newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+        v[$SDRFS_GENNUM_Field]=$newGenNumber
+        ;;
+
+      $MEMBER_NODE )
+        # Collect the reliable names of all nodes in the cluster.
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+        checkForErrors "writing to file $nodefile" $?
+        ;;
+
+      $HSMVERSION )
+        # This is a HSMVERSION line.
+        # Remove the line from the mmsdrfs file.
+        printLine=false
+        ;;
+
+      * )  # Not interested in any other lines.
+        ;;
+
+    esac  # end of case ${v[$LINE_TYPE_Field]} in
+
+    # Build and write the line to the new mmsdrfs file.
+    if [[ $printLine = true ]]
+    then
+      print_newLine >> $newsdrfs
+      checkForErrors "writing to file $newsdrfs" $?
+    fi
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  #########################################################
+  # Append the user-provided input file to the sdrfs file.
+  #########################################################
+  exec 3<&-
+  exec 3< $inputFile
+  IFS=""     # Reset IFS to preserve blanks and tabs.
+  while read -u3 inLine
+  do
+    lineNumber=$lineNumber+1
+    print -- "$DSM_DATA:$HSMVERSION::$lineNumber:$inLine" >> $newsdrfs
+  done
+  checkForErrors "writing to file $newsdrfs" $?
+  IFS="$IFS_sv"
+
+  # Sort the new version of the mmsdrfs file.
+  LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+  checkForErrors "sorting $newsdrfs" $?
+
+  ####################################################################
+  # Put the new mmsdrfs file into the sdr.  This commits the changes.
+  ####################################################################
+  trap "" HUP INT QUIT KILL
+  gpfsObjectInfo=$(commitChanges  \
+     $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # The commit step failed.
+    printErrorMsg 381 $mmcmd
+    cleanupAndExit
+  fi
+
+  ##################
+  # Unlock the sdr.
+  ##################
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+  sdrLocked=no
+  trap localPosttrap HUP INT QUIT KILL
+
+  ###############################################
+  # Propagate the changes to all affected nodes.
+  ###############################################
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+  return 0
+
+}  #------------ end function dsmPutHsmversion -----------------
+
+
+##########################################################################
+#
+# Function:  Retrieve the version information for the HSM data.
+#
+# Input:     $1 - name of a file where to store the data
+#            $2 - (optional) assume cached data is current
+#
+# Output:    current version (generation) number of the mmsdrfs file.
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#            3 - data not found in the repository
+#
+##########################################################################
+function dsmGetHsmversion  # <outputFile> [norefresh]
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGdsmGetHsmversion ]] && set -x
+  typeset outputFile=$1
+  typeset -l refreshArg=$2
+
+  typeset gpfsInitOutput sdrfsLine nodesetIdField lineTypeField outLine
+  typeset genNumber
+
+  ###########################################################
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  ###########################################################
+  if [[ $refreshArg != "norefresh" ]]
+  then
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+  fi
+
+  ##############################################################################
+  # Go through the current mmsdrfs file and retrieve the requested information.
+  ##############################################################################
+  $rm -f $outputFile
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -- $sdrfsLine ; set +f
+    nodesetIdField=$1
+    lineTypeField=$2
+
+    # Get the current mmsdrfs gen number.
+    [[ $lineTypeField = $VERSION_LINE ]] && genNumber=$6
+
+    # We are interested only in the HSMVERSION lines.
+    if [[ $nodesetIdField = $DSM_DATA && $lineTypeField = $HSMVERSION ]]
+    then
+      # The HSM version information is everything past the first 4 fields.
+      shift 4
+      outLine=$*
+
+      # To preserve tabs, temporarily set IFS to new line only.
+      IFS="
+"
+      # Strip trailing colons and add the line to the output file.
+      print -- "${outLine%%+(:)}" >> $outputFile
+      checkForErrors "writing to file $outputFile" $?
+      IFS=":" # Change the separator back to ":" for the next iteration.
+    fi
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  print -- "$genNumber"
+  if [[ -s $outputFile ]]
+  then
+    return 0  # HSM version information successfully retrieved.
+  else
+    return 3  # HSM version information does not exist.
+  fi
+
+}  #------------ end function dsmGetHsmversion -----------------
+
+
+###################################################################
+#
+# Function:  Check whether both the primary and backup config
+#            servers are available.
+#
+# Input:     $1 - (optional) assume cached data is current
+#
+# Output:    getConfigServerState:<up | down>
+#
+# Returns:   0 - both config servers are available.
+#            1 - at least one of the servers does not respond,
+#                or some other unexpected error.
+#
+###################################################################
+function getConfigServerState
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGgetConfigServerState ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset -l refreshArg=$1
+
+  typeset versionLine=""
+  typeset serverState="up"
+  typeset rc=0
+  typeset primaryServer backupServer
+
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  if [[ $refreshArg != "norefresh" ]]
+  then
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+  fi
+
+  # Parse the version line of the mmsdrfs file.
+  versionLine=$($head -1 $mmsdrfsFile)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+
+  # Perform a quick sanity check.
+  [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] &&  \
+    corruptedSdrFileExit 143 "$versionLine"
+
+  # Get the config server names.
+  primaryServer=${v[$PRIMARY_SERVER_Field]}
+  backupServer=${v[$BACKUP_SERVER_Field]}
+  [[ $backupServer = "_NOSECONDARY_" ]] && backupServer=""
+
+  # Verify the primary server is reachable.
+  isNodeReachable $primaryServer
+  rc=$?
+  [[ $rc -ne 0 ]] && serverState=down
+
+  # Verify the backup server is reachable.
+  if [[ $rc -eq 0 && -n $backupServer ]]
+  then
+    isNodeReachable $backupServer
+    rc=$?
+    [[ $rc -ne 0 ]] && serverState=down
+  fi
+
+  # Generate and display the result.
+  print -- "getConfigServerState:$serverState"
+
+  return $rc
+
+}  #------ end of function getConfigServerState -------------------
+
+
+###################################################################
+#
+# Function:  Create a list of all local and remote file systems.
+#
+# Input:     $1 - name of a file where to store the result
+#            $2 - (optional) assume cached data is current
+#
+# Output:    A file with all file system device names, one per line.
+#            The names of all local file systems found in the cluster
+#            are preceded by "0:",  while the names of the remote file
+#            systems are preceded by "93:" (MM_Remotefs).
+#
+# Returns:    0 - success
+#            19 - no file systems found
+#            nn - some other unexpected error
+#
+###################################################################
+function dsmGetFileSystems # <outputFile> [<norefresh>]
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGdsmGetFileSystems ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outputFile=$1
+  typeset -l refreshArg=$2
+
+  typeset rc=0
+
+
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  if [[ $refreshArg != "norefresh" ]]
+  then
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+  fi
+
+  # Generate the requested information.
+  $rm -f $outputFile
+  $awk -F: '                                                       \
+    BEGIN { rc = '$MM_DeviceNotFound' }                            \
+    $'$LINE_TYPE_Field' == "'$SG_HEADR'"  {                        \
+      if ($'$FS_TYPE_Field' == "'$remotefs'") {                    \
+        { print "93:/dev/"$'$DEV_NAME_Field' >> "'$outputFile'" }  \
+      }                                                            \
+      else {                                                       \
+        { print "0:/dev/"$'$DEV_NAME_Field' >> "'$outputFile'" }   \
+      }                                                            \
+      { rc = 0 }                                                   \
+    }                                                              \
+    END { exit rc }                                                \
+  ' $mmsdrfsFile
+  rc=$?
+
+  return $rc
+
+}  #------ end of function dsmGetFileSystems -------------------
+
+
+###################################################################
+#
+# Function:  Check whether a given file system is local or remote.
+#
+# Input:     $1 - file system device name
+#            $2 - (optional) assume cached data is current
+#
+# Output:     0 - file system is local
+#            93 - file system is remote
+#
+# Returns:    0 - file system is local
+#            93 - file system is remote
+#            19 - file system not found
+#            nn - some other unexpected error
+#
+###################################################################
+function dsmIsFileSystemLocal   # <deviceName> [<norefresh>]
+{
+  typeset sourceFile="mmdsm.sh"
+  [[ -n $DEBUG || -n $DEBUGdsmIsFileSystemLocal ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset device=$1
+  typeset -l refreshArg=$2
+
+  typeset rc=0
+  typeset gpfsInitOutput findFSoutput fqDeviceName deviceName fsHomeCluster
+
+  # Ensure that the local copy of the mmsdrfs is up-to-date.
+  if [[ $refreshArg != "norefresh" ]]
+  then
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+  fi
+
+  # Make sure the specified file system exists and is local.
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  rc=$?
+  [[ $rc -ne 0 || -z $findFSoutput ]] && return $rc
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+
+  # Figure out the proper return information.
+  if [[ $fsHomeCluster = $HOME_CLUSTER ]]
+  then
+    print -- "0"
+    rc=0
+  else
+    print -- "$MM_Remotefs"
+    rc=$MM_Remotefs
+  fi
+
+  return $rc
+
+}  #------ end of function dsmIsFileSystemLocal -------------------
+
+
+########################
+#  Mainline processing
+########################
+
+# Set local trap routine.
+trap localPretrap HUP INT QUIT KILL
+
+[[ $dsmLog != "/dev/null" ]] &&  \
+  print -- "$(date) ENTER: mmdsm $*"  >> $dsmLog
+
+kword=$arg1
+if [[ -z $kword ]]
+then
+  # Missing keyword
+  printErrorMsg 133 $mmcmd NULL
+  cleanupAndExit
+fi
+
+# Determine the execution environment.
+[[ -z $MMMODE ]] && determineMode 2>> $dsmLog
+
+# Make sure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred 2>> $dsmLog
+
+
+# Perform the requested action.
+case $kword in
+
+                     #-------------------------
+  dsmGetClusterType) # mmdsm dsmGetClusterType
+                     #-------------------------
+    # Retrieve the GPFS cluster type.
+    print -- "$MMMODE"
+    rc=$?
+    ;;
+
+                    #------------------------
+  dsmGetNodeNumber) # mmdsm dsmGetNodeNumber
+                    #------------------------
+    # Retrieve the local node data.
+    getLocalNodeData 2>> $dsmLog
+    [[ -n $ourNodeNumber ]] && print -- "$ourNodeNumber"
+    rc=$?
+    ;;
+
+                    #------------------------
+  dsmGetNodesetId)  # mmdsm dsmGetNodesetId
+                    #------------------------
+    # Retrieve the nodeset name.
+    dsmGetNodesetId 2>> $dsmLog
+    rc=$?
+    ;;
+
+                    #------------------------
+  dsmGetNodeCount)  # mmdsm dsmGetNodeCount
+                    #------------------------
+    # Retrieve the number of nodes in the nodeset.
+    dsmGetNodeCount 2>> $dsmLog
+    rc=$?
+    ;;
+
+                  #----------------------------------------------------------
+  dsmGetHsmdata)  # mmdsm dsmGetHsmdata <nodesetId> <outputFile> [norefresh]
+                  #----------------------------------------------------------
+    if [[ $argc -lt 3 ]]
+    then
+      operands=" <nodesetId> <outputFile> [norefresh] "
+      printErrorMsg 260 $mmcmd $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Retrieve the HSM data.
+    dsmGetHsmdata "$arg2" "$arg3" "$arg4"  2>> $dsmLog
+    rc=$?
+    ;;
+
+                  #-------------------------------------------------------------
+  dsmPutHsmdata)  # mmdsm dsmPutHsmdata <nodesetId> <inputFile>
+                  #                     [<versionFile> [<mmsdrfsVersion>]]
+                  #-------------------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands=" {<nodesetId> | DELETE} <inputFile> [<versionFile> [<mmsdrfsVersion>]] "
+      printErrorMsg 260 $mmcmd $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Store the HSM data in the mmsdrfs file.
+    dsmPutHsmdata "$arg2" "$arg3" "$arg4" "$arg5"  2>> $dsmLog
+    rc=$?
+    ;;
+
+                     #-------------------------------------------------
+  dsmGetHsmversion)  # mmdsm dsmGetHsmversion <outputFile> [norefresh]
+                     #-------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands=" <outputFile> [norefresh] "
+      printErrorMsg 260 $mmcmd $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Retrieve the version information for the HSM data.
+    dsmGetHsmversion "$arg2" "$arg3"  2>> $dsmLog
+    rc=$?
+    ;;
+
+                     #-------------------------------------------------------
+  dsmPutHsmversion)  # mmdsm dsmPutHsmversion <inputFile> [<mmsdrfsVersion>]
+                     #-------------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands=" <inputFile> [<mmsdrfsVersion>] "
+      printErrorMsg 260 $mmcmd $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Store the version information for the HSM data.
+    dsmPutHsmversion "$arg2" "$arg3"  2>> $dsmLog
+    rc=$?
+    ;;
+
+                            #-------------------------------------------
+  dsmGetConfigServerState)  # mmdsm dsmGetConfigServerState [norefresh]
+                            #-------------------------------------------
+    # Confirm that both config servers are available.
+    getConfigServerState "$arg2"  2>> $dsmLog
+    rc=$?
+    ;;
+
+                      #--------------------------------------------------
+  dsmGetFileSystems)  # mmdsm dsmGetFileSystems <outputFile> [norefresh]
+                      #--------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands=" <outputFile> [norefresh] "
+      printErrorMsg 260 $mmcmd $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Retrieve the file system information.
+    dsmGetFileSystems "$arg2" "$arg3" 2>> $dsmLog
+    rc=$?
+    ;;
+
+                         #-----------------------------------------------------
+  dsmIsFileSystemLocal)  # mmdsm dsmIsFileSystemLocal <deviceName> [norefresh]
+                         #-----------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands=" <deviceName> [<norefresh>] "
+      printErrorMsg 260 $mmcmd $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Find out if a file system is local or remote.
+    dsmIsFileSystemLocal "$arg2" "$arg3"  2>> $dsmLog
+    rc=$?
+    ;;
+
+        #--------------------------
+  * )   # Unknown action requested
+        #--------------------------
+    # Invalid keyword
+    printErrorMsg 133 $mmcmd $kword
+    cleanupAndExit
+    ;;
+
+esac  # end Perform the requested action
+
+[[ $dsmLog != "/dev/null" ]] &&  \
+  print -- "$(date) EXIT (rc=$rc)" >> $dsmLog
+
+cleanupAndExit $rc 2>> $dsmLog
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdumpfilocks
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdumpfilocks	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdumpfilocks	(revision 16)
@@ -0,0 +1,126 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2002,2004 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)28 1.3 src/avs/fs/mmfs/ts/admin/mmdumpfilocks.sh, mmfs, avs_rgpfs24, rgpfs240610b 10/16/02 23:26:49
+
+sourceFile="mmdumpfilocks.sh"
+[[ -n $DEBUG || -n $DEBUGmmdumpfilocks ]] && set -x
+
+# full pathnames to dump commands
+crash=/usr/sbin/crash
+kdb=/usr/sbin/kdb
+lcrash=/sbin/lcrash
+
+if [[ $1 = '-?' || $1 = '-h' || $1 = '--help' || $1 = '--' ]]
+then
+  print -u2 "Usage:  mmdumpfilocks [dump [kernelfile]]"
+  exit 1
+fi
+
+if [[ -x $lcrash ]]
+then                               # Linux lcrash debugger
+  # All the smarts are in the sial script
+  print "load /usr/lpp/mmfs/bin/mmdumpfilocks.sial\\nmmdumpfilocks\\nquit" \
+         | $lcrash 2>/dev/null \
+         | /bin/awk '{ if (NR>3) { \
+                         print $0; \
+                       } \
+                     }'
+
+
+elif [[ -x $crash ]]
+then                               # AIX pre-rel5 crash debugger
+  # Stage 1: Select the GPFS vnodes, extract the gnode address and
+  #          pass it forward as a comment to the next stage along
+  #          with the offset of gn_filocks.  
+  # Stage 2: Extract the value of gn_filocks passing it forward
+  #          along with the gnode pointer.
+  # Stage 3: If gn_filocks is not NULL, display the gnode and use
+  #          the link command to follow the lock chain.
+  print "vnode" | $crash $1 $2 2> /dev/null \
+                | /usr/bin/awk '{ if ($5=="mmfs") { \
+                                    print "! print", "gnode", $8; \
+                                    print "calc", $8"+3C"; \
+                                  } \
+                                }' \
+                | $crash $1 $2 2> /dev/null \
+                | /usr/bin/awk '{ if ($1=="gnode") { \
+                                    print "! print", "gnode", $2; \
+                                  } else { \
+                                    print "od", $1, "1 h"; \
+                                  } \
+                                }' \
+                | $crash $1 $2 2> /dev/null \
+                | /usr/bin/awk '{ if ($1=="gnode") { \
+                                    GNODEP=$2; \
+                                  } else if ($2!="00000000") { \
+                                    print "! print GNODE"; \
+                                    print "od", GNODEP, "24"; \
+                                    print "! print FILOCKS"; \
+                                    print "link", $2" 15 14 0"; \
+                                  } \
+                                }'  \
+                | $crash $1 $2 2> /dev/null
+
+elif [[ -x $kdb ]]
+then                               # AIX rel5 kdb debugger
+  # Stage 1: Select the vnode pointers from the file output.
+  #          Note that we could start with "vnode" instead of going
+  #          through the files, but the file list can be substantially
+  #          shorter.  Also, don't start with inodes because they
+  #          can be paged out.
+  # Stage 2: Select the gnode pointers from the vnode output.
+  #          Use "sort -u" to remove duplicates caused by two files
+  #          associated with the same gnode.
+  # Stage 3: It's hard to tell GPFS gnodes from others, but most
+  #          others have symbolic gn_ops values (eg., "jfs_vops").
+  #          If gn_ops is an address only, continue looking for locks.
+  #          If gn_filocks is not NULL, display the gnode and use
+  #          the "ext" command to follow the lock chain.
+
+  print "file " | $kdb $1 $2 2> /dev/null \
+                | /usr/bin/awk '{ if ($6=="VNODE" && $5!="00000000") { \
+                                    print "vnode", $5 } \
+                                }' \
+                | $kdb $1 $2 2> /dev/null \
+                | /usr/bin/awk '{ if ($3=="v_gnode..." && $4!="00000000") { \
+                                    print "gnode", $4} \
+                                }' \
+                | /usr/bin/sort -u \
+                | $kdb $1 $2 2> /dev/null \
+                | /usr/bin/awk '{ if ($1=="GNODE............") { \
+                                    GNODEP=$2; \
+                                    getline;   \
+                                  } else if ($5=="gn_ops........") { \
+                                    VOPS=$6; \
+                                    getline;   \
+                                  } else if ($3=="gn_filocks...." && $4!="00000000" && \
+                                             VOPS !~ /[g-z]/) { \
+                                    print "! print GNODE"; \
+                                    print "dw", GNODEP" 18"; \
+                                    print "! print FILOCKS"; \
+                                    print "ext -p", $4, "38 F 10"; \
+                                  } \
+                                }' \
+                | $kdb $1 $2 2> /dev/null \
+                | /usr/bin/awk '{ if (NR>20 && $1!="(0)>") { \
+                                    print $0; \
+                                  } \
+                                }'
+
+else
+  print "Could not locate an appropriate dump viewing facility."
+fi
+exit 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdumpfilocks.sial
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdumpfilocks.sial	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdumpfilocks.sial	(revision 16)
@@ -0,0 +1,96 @@
+/* @(#)27       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/mmdumpfilocks.sial, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:25:23 */
+
+/* lcrash sial script to display file_lock structures.
+ * Loaded and executed from mmdumpfilock.sh to support
+ * the "mmfsadm dump fillocks" command.
+ */
+string mmdumpfilocks_help()  { return ""; }
+string mmdumpfilocks_opt()   { return ""; }
+string mmdumpfilocks_usage() { return ""; }
+
+typedef struct list_head_t {
+	struct list_head *next, *prev;
+} list_head_t;
+
+int
+mmdumpfilocks()
+{
+  char *fsP;
+  int ino, dev, nLocks;
+  int link_offset, block_offset;
+  list_head_t *lhP, *nextP;
+  list_head_t *bhP, *blockP;
+  struct file_lock *flP, *blP;
+
+  printf("\n");
+
+  /* file_lock_list is the anchor of all locks */
+  if (exists("file_lock_list"))
+  {
+    lhP = (list_head_t *)file_lock_list;
+    flP = (struct file_lock *)lhP->next;
+    link_offset = (int)&flP->fl_link - (int)flP;
+    block_offset = (int)&flP->fl_block - (int)flP;
+
+    nLocks = 0;
+
+    /* Loop through the fl_link.next chain (circular) */
+    while (flP != lhP) {
+
+      /* Back-up to top of file_lock */
+      flP = (struct file_lock *) ((int)flP - link_offset);
+
+      /* Only show GPFS locks */
+      fsP = flP->fl_file->f_dentry->d_sb->s_type->name;
+      if (fsP[0] == 'g' && fsP[1] == 'p' && fsP[2] == 'f' && fsP[3] == 's') { 
+
+        if (!nLocks++) {
+          /* Header line */
+          printf("file_lock  maj:min    inode      pid  type      start        end\n");
+          printf("---------- ------- -------- -------- ----- ---------- ----------\n");
+        }
+
+        /* collect inode and dev to easily identify the file */
+        ino = flP->fl_file->f_dentry->d_inode->i_ino;
+        dev = flP->fl_file->f_dentry->d_inode->i_dev;
+
+        /* display some of the lock fields. */
+        printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d\n", 
+                flP, dev>>8, dev & 0xFF, ino, flP->fl_pid, 
+                flP->fl_type==0? "READ": (flP->fl_type==1? "WRITE":"?"),
+                flP->fl_start, flP->fl_end);  
+
+        /* Follow fl_block so we can match up "reclockSleepers" */
+        bhP = (list_head_t *)(&flP->fl_block);
+        blP = (struct file_lock *)bhP->next;
+
+        /* Loop through the fl_block.next chain (circular) */
+        while (blP != bhP) {
+
+          /* Back-up to top of file_lock */
+          blP = (struct file_lock *) ((int)blP - block_offset);
+
+          /* display some of the lock fields.  One line per lock. */
+          printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d waiting\n", 
+                  blP, dev>>8, dev & 0xFF, ino, blP->fl_pid, 
+                  blP->fl_type==0? "READ": (blP->fl_type==1? "WRITE":"?"),
+                  blP->fl_start, blP->fl_end);  
+
+          /* Move to the next file_lock in the block list. */
+          blockP = (list_head_t *)(&blP->fl_block);
+          blP = (struct file_lock *)blockP->next;
+        } /* Done with the fl_block chain. */
+
+      }
+      /* Move to the next file_lock in the fl_link list and continue. */
+      nextP = (list_head_t *)(&flP->fl_link);
+      flP = (struct file_lock *)nextP->next;
+    }
+  }
+  else
+  {
+    printf("The \"file_lock_list\" symbol cannot be found in this memory image.\n");
+    printf("Did you give lcrash a /var/mmfs/tmp/complete.map?\n");
+  }
+  return 0;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdumpkthreads
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdumpkthreads	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdumpkthreads	(revision 16)
@@ -0,0 +1,110 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2001,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)20 1.6.1.2 src/avs/fs/mmfs/ts/admin/mmdumpkthreads.sh, mmfs, avs_rgpfs24, rgpfs24s007a 10/19/06 18:09:18
+##########################################################################
+#
+#  Dump information about the kernel threads.
+#
+#  Usage:  mmdumpkthreads [dump [kernelfile]]
+#
+#  where
+#    dump         is the system image file.
+#
+#    kernelfile   is a file with the kernel symbol definititions.
+#
+##########################################################################
+
+sourceFile="mmdumpkthreads.sh"
+[[ -n $DEBUG || -n $DEBUGmmdumpkthreads ]] && set -x
+
+crash=/usr/sbin/crash
+kdb=/usr/sbin/kdb
+lcrash=/sbin/lcrash
+osName=$(/bin/uname -s)
+if [[ -x $SHARKCLONEROOT/kernext/gpl-linux/kdump ]]
+then
+  kdump=$SHARKCLONEROOT/kernext/gpl-linux/kdump
+elif [[ -x /usr/lpp/mmfs/src/gpl-linux/kdump ]]
+then
+  kdump=/usr/lpp/mmfs/src/gpl-linux/kdump
+elif [[ -x /usr/lpp/mmfs/kernext/gpl-linux/kdump ]]
+then
+  kdump=/usr/lpp/mmfs/kernext/gpl-linux/kdump
+fi
+
+if [[ $1 = '-?' || $1 = '-h' || $1 = '--help' || $1 = '--' ]]
+then
+  print -u2 "Usage:  mmdumpkthreads [dump [kernelfile]]"
+  exit 1
+fi
+
+if [[ -x $lcrash ]]
+then                               # Linux lcrash debugger
+
+  print "task"  |  $lcrash                                 |      \
+    /bin/awk '                                                    \
+      /^\s*0x[a-f0-9]+/ {                                         \
+        print "task ", $1;                                        \
+        print "bt ", $1;                                          \
+      }                                                           \
+      END {                                                       \
+        print "quit";                                             \
+      }                                                           \
+    '                                                      |      \
+    $lcrash
+
+elif [[ $osName = Linux ]]
+then
+  ps axuwww
+  [[ $kdump != "" ]] && print "bta" | $kdump /var/mmfs/tmp/complete.map.latest
+elif [[ -x $crash ]]
+then                               # AIX pre-rel5 crash debugger
+
+  print "th"  |  $crash $1 $2 2>/dev/null                  |      \
+    /usr/bin/awk '                                                \
+      /^[ ]*[0-9]+ / {                                            \
+        print "th", $1;                                           \
+        print "t -k", $1;                                         \
+      }                                                           \
+    '                                                      |      \
+    $crash $1 $2 2> /dev/null
+
+else                               # AIX rel5 kdb debugger
+
+  print "th *"  |  $kdb $1 $2 2>/dev/null  |
+    /usr/bin/awk '{
+      if ($1=="SLOT") {
+        ok=1;
+        getline;
+      } else if (ok==1 && $2 != "") {
+        print "th", $2+0;
+        print "where", $2+0;
+      }
+    }'                                     |
+
+    $kdb $1 $2 2> /dev/null                |
+
+    /usr/bin/awk ' /SLOT NAME/ {
+      print ""; print $0; getline; if (NF==0) getline; print $0
+      while (getline && index($0,"> where ") <= 0) x++
+      print $0; getline
+      while (getline && index($0,"> th ") <= 0) print $0
+    }'
+
+fi
+
+exit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdynamicmap
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdynamicmap	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmdynamicmap	(revision 16)
@@ -0,0 +1,166 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2004,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)12 1.2 src/avs/fs/mmfs/ts/admin/mmdynamicmap.sh, mmfs, avs_rgpfs24, rgpfs240610b 4/4/05 10:44:21
+#########################################################################
+#
+#  Usage:  mmdynamicmap Device
+#
+#########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmdynamicmap.sh"
+[[ -n $DEBUG || -n $DEBUGmmdynamicmap ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local variables
+
+usageMsg=34
+
+######################
+# Mainline processing
+######################
+
+######################################
+# Process the command line arguments.
+######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] && \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] && \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+
+[[ $argc -gt 1  ]] && \
+  syntaxError "extraArg" $usageMsg $arg2
+
+
+# Strip away any /dev/ prefix from the device id.
+deviceName=${device##+(/)dev+(/)}
+fqDeviceName="/dev/${deviceName}"
+
+# Verify the device name.
+if [[ $deviceName != ${deviceName#*/} ]]
+then
+  if [[ $deviceName = ${deviceName#/} ]]
+  then
+    printErrorMsg 170 $mmcmd $device
+  else
+    printErrorMsg 169 $mmcmd $device
+  fi
+  rc=22  # EINVAL
+  cleanupAndExit $rc
+fi
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest
+# of the GPFS system files are up-to-date.
+#
+# Note:  To avoid undesired side effects, tell gpfsInit to restrict
+#        mount point checking only to the file system that is subject
+#        to the current invocation of the mmdynamicmap command.
+#####################################################################
+trap pretrap2 HUP INT QUIT KILL
+export MOUNT_POINT_CHECK="$deviceName"
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+unset MOUNT_POINT_CHECK
+
+
+######################################################
+# Retrieve the mount information for the file system.
+# If the device is not found, return 19 (ENODEV).
+######################################################
+efOptions=$($awk -F: '                                           \
+   BEGIN {                                                       \
+     { n = 0 }                                                   \
+     { mountPoint = "" }                                         \
+     { fsType     = "" }                                         \
+   }                                                             \
+   /':$SG_HEADR:$deviceName:'/ {                                 \
+      if ( $'$FS_TYPE_Field' == "'$remotefs'" ) {                \
+         { fsType = "remotefs" }                                 \
+         { remoteDevName = $'$REMOTE_DEV_NAME_Field' }           \
+      }                                                          \
+      else {                                                     \
+         { fsType = "localfs" }                                  \
+      }                                                          \
+   }                                                             \
+   /':$SG_MOUNT:$deviceName:'/ {                                 \
+      { printf $'$RW_OPT_Field' }                                \
+      if ( $'$MTIME_OPT_Field' != "" ) {                         \
+         { printf ","$'$MTIME_OPT_Field' }                       \
+      }                                                          \
+      if ( $'$ATIME_OPT_Field' != "" ) {                         \
+         { printf ","$'$ATIME_OPT_Field' }                       \
+      }                                                          \
+      if ( $'$OTHER_OPT_Field' != "" ) {                         \
+         { printf ","$'$OTHER_OPT_Field' }                       \
+      }                                                          \
+      if ( $'$QUOTA_OPT_Field' != "" ) {                         \
+         { printf ",quota="$'$QUOTA_OPT_Field' }                 \
+      }                                                          \
+      if ( fsType == "remotefs" ) {                              \
+         { printf ",dev="$'$NODESETID_Field'"\\:"remoteDevName } \
+         { printf ",ldev='$deviceName'" }                        \
+      }                                                          \
+      else {                                                     \
+         { printf ",dev='$deviceName'" }                         \
+      }                                                          \
+      { exit }                                                   \
+   }                                                             \
+   END {                                                         \
+      if ( fsType == "" ) {                                      \
+         # Filesystem not found - return ENODEV                  \
+         { exit '$MM_DeviceNotFound' }                           \
+      }                                                          \
+      else {                                                     \
+         # Filesystem found - finish the line.                   \
+         { printf "\n" }                                         \
+         { exit  0 }                                             \
+      }                                                          \
+   }                                                             \
+ ' $mmsdrfsFile)
+rc=$?
+if [[ $rc -ne 0 || -z $efOptions ]]
+then
+  [[ $rc -eq  0 ]] && rc=1
+  if [[ $rc -eq $MM_DeviceNotFound ]]
+  then
+    # File system not found.
+    printErrorMsg 288 $mmcmd $device
+  else
+    # Unexpected error.
+    checkForErrors awk $rc
+  fi
+  cleanupAndExit $rc
+fi
+
+
+#################################
+# Put out the result and return.
+#################################
+print -- "-fstype=gpfs,$efOptions :$fqDeviceName"
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmeditacl
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmeditacl	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmeditacl	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tseditacl
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmedquota
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmedquota	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmedquota	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsedquota
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmexectsmcmd
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmexectsmcmd	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmexectsmcmd	(revision 16)
@@ -0,0 +1,746 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2003,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)55 1.18 src/avs/fs/mmfs/ts/admin/mmexectsmcmd.sh, mmfs, avs_rgpfs24, rgpfs240610b 2/11/05 11:32:21
+##############################################################################
+#
+# This script issues TSM commands from a GPFS node that is a TSM client.
+#
+# It accepts the following arguments:
+#   1) The mount point of the pertinent file system
+#   2) The TSM operation to be performed; supported opperations are:
+#        - selective
+#        - incremental
+#        - expire
+#        - restore     (no longer used since tsrestorefile was dropped)
+#   3) A qualifier for the fourth parameter: 
+#        - filelist    This value indicates that the fourth parameter
+#                        is the value for the Tivoli filelist=<> option.
+#        - nofilelist  This value indicates that the fourth parameter
+#                        is not to be used as a Tivoli filelist parameter.
+#                        In this case, the Tivoli filelist option is not used.
+#   4) If the 3rd parameter was
+#        - filelist    then the 4th parameter is the full path name of the
+#                        file containing the filenames to be operated on.
+#        - nofilelist  then the 4th parameter is another parameter to be
+#                        passed to the Tivoli command.
+#   5) The nodename of the master tsbackup process   (used for locking) 
+#   6) The pid number of the master tsbackup process (used for locking) 
+#   7) The backup client process index               (used for file naming)
+#   8) The name of the TSM server            (checked against dsm.opt file)
+#   9) The I/O rate level (used to allow other non-backup processes to run)
+#
+# The backup client process index is used for constructing the name of
+# the file for pending (not successfully completed) transactions.
+#
+# The program returns:
+#   0 on success (i.e., all files were succesfully backed up)
+#   1 on partial success (i.e., some but not all files were backed up)
+#   2 on failure (i.e., no success at all)
+#
+##############################################################################
+
+# Include global declarations and service routines
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmexectsmcmd.sh"
+[[ -n $DEBUG || -n $DEBUGmmexectsmcmd ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+#-------------------------------------------------
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+#-------------------------------------------------
+
+#tmpCtrlFile=${tmpDir}tmpCtrlFile.mmbackup.$$
+#LOCAL_FILES=" $tmpCtrlFile "
+
+
+#------------------
+# Global variables
+#------------------
+
+dateTime=$($date +"%y%m%d_%H:%M:%S")
+
+#tsmDate=$(date '+%m/%d/%y')
+#tsmTime=$(date '+%H:%M:%S')
+
+dsmc=/usr/bin/dsmc
+
+if [[ -n $DSM_CONFIG ]]
+then
+  dsmoptfile=$DSM_CONFIG
+elif [[ $osName = AIX ]]
+then
+  dsmoptfile=/usr/tivoli/tsm/client/ba/bin/dsm.opt
+elif [[ $osName = Linux ]]
+then
+  dsmoptfile=/opt/tivoli/tsm/client/ba/bin/dsm.opt
+else
+  print -u2  " Unknown operating system $osName "
+  exit 1
+fi
+
+searchErrorString="No files matching search criteria"
+objectErrorString="No objects on server match"
+errorProcessingString="Error processing"
+
+opf=Operation_Failure
+opps=Operation_Partial_Success
+ops=Operation_Success
+
+rc_success=0
+rc_psuccess=1
+rc_fail=2
+
+tpl=".mmbuTSMPendingTransactions"
+
+lockdir="/var/mmfs/etc/mmbackuplock"
+
+pgm="mmexectsmcmd"
+
+
+#-----------------
+# local routines
+#-----------------
+
+
+#--------------------------------------------------------------
+# This function is called if there is an interrupt before
+# we have obtained a backup lock.
+#--------------------------------------------------------------
+function localTrap
+{
+  doCleanupAndExit $rc_fail
+}
+
+
+#--------------------------------------------------------------
+# This function is called if there is an interrupt after
+# we have obtained a backup lock.
+#--------------------------------------------------------------
+function localTrap2
+{
+  freeLockAndExit $rc_fail
+}
+
+
+#--------------------------------------------------------------
+# getBackupLock
+#
+# Obtain a lock before proceeding.
+#
+# Here is the mechanism by which locks are managed and used:
+#
+#   1) Begin to obtain a lock by issuing:  mkdir lockdir
+#   2) If (1) succeeds, no one else has a lock.  Finish obtaining your
+#      lock by issuing mkdirs for lockdir/masternode_masterpid and
+#      lockdir/masternode_masterpid/mylocalpid.  You now have a valid lock.
+#   3) If (1) fails, perhaps one of your local sibling processes already
+#      has created lockdir and lockdir/masternode_masterpid (as well as
+#      lockdir/masternode_masterpid/hislocalpid for his own use).  Try to
+#      obtain a lock by doing mkdir lockdir/masternode_masterpid/mylocalpid.
+#      This will fail if lockdir/masternode_masterpid does not exist and
+#      succeed if it does.  There is a small chance that there is a sibling
+#      process that is obtaining a lock and has created lockdir but has
+#      not yet created lockdir/masternode_masterpid.  This could be solved
+#      by trying the mkdir for lockdir/masternode_masterpid/mylocalpid a
+#      second time. If a mkdir for lockdir/masternode_masterpid/mylocalpid
+#      succeeds, you have a valid lock.
+#   4) If a valid lock is not obtained, exit with a msg to the user stating
+#      who has the lock, try again later, and how to free the lock if the
+#      process that had the lock no longer exists.
+#   5) If a valid lock is obtained, proceed to do the requested work.
+#   6) When the requested work is done, free your lock by doing
+#        rmdir lockdir/masternode_masterpid/mylocalpid
+#        rmdir lockdir/masternode_masterpid
+#        rmdir lockdir
+#      The latter two rmdirs will fail if any of sibling processes are still
+#      holding locks, since these directories will then not be empty.
+#      Care must be taken to always free locks before exiting.
+#
+#--------------------------------------------------------------
+function getBackupLock
+{
+  # Enable debug output.
+  typeset sourceFile="mmexectsmcmd.sh"
+  [[ -n $DEBUG || -n $DEBUGgetBackupLock ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  # Try to create the base lock directory.
+  $mkdir $lockdir > /dev/null 2>&1 
+  if [[ $? = 0 ]]
+  then
+    # The lock was not in use by anyone.  Finish creating our lock.
+    $mkdir $lockdir/$masterNode"_"$masterPid > /dev/null 2>&1
+    $mkdir $lockdir/$masterNode"_"$masterPid/$$ > /dev/null 2>&1
+    if [[ $? != 0 ]]
+    then
+      print "$opf: $sn: Unexpected error creating a lock.  Try again.  If the problem persists, contact IBM service."
+      freeLockAndExit $rc_fail
+    fi
+  else
+    # At least one other process has a lock.  Try to obtain a lock for
+    # our own use by issuing a mkdir.  If the other processes with locks
+    # were created by the same master process as our process was,
+    # the mkdir will succeed.
+    $mkdir $lockdir/$masterNode"_"$masterPid/$$ > /dev/null 2>&1
+    if [[ $? != 0 ]]
+    then
+      # Retry the mkdir just in case the first one failed due to timing.
+      $mkdir $lockdir/$masterNode"_"$masterPid/$$ > /dev/null 2>&1
+      if [[ $? != 0 ]]
+      then
+        lsOutput=$($ls $lockdir)
+
+        IFS_sv=$IFS
+        IFS="_"
+        set -f ; set -- $lsOutput ; set +f
+        lockhldrNode=$1
+        lockhldrPid=$2
+        IFS="$IFS_sv"
+
+        # We have the pid and hostname of the process holding the lock.
+        # Determine whether the process is still running.
+        if [[ $lockhldrNode = $ourNodeName ]]
+        then
+          pidCheckAll=$($mmremote pid $lockhldrPid)
+        else
+          pidCheckAll=$($mmcommon on1 $lockhldrNode pid $lockhldrPid)
+          rc=$?
+        fi
+
+        pidCheck=$(print "$pidCheckAll" | $egrep "^(died|alive)$")
+        if [[ $pidCheck != died ]]
+        then
+          $mmTRACE "$1 lock held by $lockhldrNode $lockhldrPid"
+          # The process that has the lock is still alive, or we could
+          # not determine its status.  Either way, give up.
+          if [[ $pidCheck = alive ]]
+          then
+            print "$opf: $sn:\nFailed to obtain GPFS backup lock.  Process $lockhldrPid on node $lockhldrNode has it.\nIf process $lockhldrPid is no longer running on $lockhldrNode, clear the lock\nby issuing:  \"rm -rf $lockdir\"  on all GPFS nodes.  Otherwise,\ntry the GPFS backup again when process $lockhldrPid on $lockhldrNode is done.\n"
+          else
+            print "$opf: $sn:\nFailed to obtain GPFS backup lock.  Unable to reach the holder\nof the lock, which is process $lockhldrPid on node $lockhldrNode.\nIf process $lockhldrPid is no longer running on $lockhldrNode, clear the lock\nby issuing:  \"rm -rf $lockdir\"  on all GPFS nodes.  Otherwise,\ntry the GPFS backup again when process $lockhldrPid on $lockhldrNode is done.\n"
+          fi
+          doCleanupAndExit $rc_fail
+        else
+          # The process that had the lock somehow went away without unlocking.
+          # Remove the old lock and establish a new one for the caller.
+          $rm -rf $lockdir > /dev/null 2>&1
+          $mkdir $lockdir > /dev/null 2>&1 
+          if [[ $? = 0 ]]
+          then
+            # Success!  Complete the work of establishing the lock.
+            $mkdir $lockdir/$masterNode"_"$masterPid > /dev/null 2>&1
+            $mkdir $lockdir/$masterNode"_"$masterPid/$$ > /dev/null 2>&1
+          else
+            # Failed again!  Give up.
+            print "$opf: $sn:\nFailed to obtain GPFS backup lock even after clearing the lock.\n"
+            doCleanupAndExit $rc_fail
+          fi
+        fi  # end of if [[ $pidCheck != died ]]
+      fi
+    fi
+  fi
+
+}  #------ end of function getBackupLock -----------------
+
+
+#--------------------------------------------------------------
+# freeBackupLock
+#--------------------------------------------------------------
+function freeBackupLock
+{
+  # Enable debug output.
+  typeset sourceFile="mmexectsmcmd.sh"
+  [[ -n $DEBUG || -n $DEBUGfreeBackupLock ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  $rmdir $lockdir/$masterNode"_"$masterPid/$$ > /dev/null 2>&1
+  $rmdir $lockdir/$masterNode"_"$masterPid > /dev/null 2>&1
+  $rmdir $lockdir > /dev/null 2>&1
+
+}  #------ end of function freeBackupLock ----------------
+
+
+#--------------------------------------------------------------
+#
+# freeLockAndExit
+#
+# Function:  Free the backup lock and then exit via the
+#            doCleanupAndExit routine.
+#
+# Input:     $1 - return code with which to exit
+#
+#--------------------------------------------------------------
+function freeLockAndExit
+{
+  # Enable debug output.
+  typeset sourceFile="mmexectsmcmd.sh"
+  [[ -n $DEBUG || -n $DEBUGfreeLockAndExit ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  rc=$1
+
+  freeBackupLock
+
+  doCleanupAndExit $rc
+
+}  #------ end of function freeLockAndExit ---------------
+
+
+#--------------------------------------------------------------
+#
+# doCleanupAndExit
+#
+# Function:  Perform cleanup unique to mmexectsmcmd, and then 
+#            exit via the standard cleanupAndExit routine.
+#
+# Input:     $1 - return code with which to exit
+#
+#--------------------------------------------------------------
+function doCleanupAndExit
+{
+  # Enable debug output.
+  typeset sourceFile="mmexectsmcmd.sh"
+  [[ -n $DEBUG || -n $DEBUGdoCleanupAndExit ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  rc=$1
+
+  # If the TSM log file does not exist and have a size greater than 0,
+  # remove the log directory.
+  [[ ! -s $logfile ]] && $rm -rf $logdir > /dev/null 2>&1 
+
+  cleanupAndExit $rc
+
+}  #------ end of function doCleanupAndExit ---------------
+
+
+
+#------------------------
+# Start main processing.
+#------------------------
+
+# Set local trap routine.
+trap localTrap HUP INT QUIT KILL
+
+typeset -l keyword_lc   # variable for storing keyword in lower case
+
+# Verify that the correct number of parameters were passed.
+if [[ $argc -ne 9 && $argc -ne 2 ]] 
+then
+  print "$opf: $sn: An incorrect number of parameters was passed."
+  print "Usage:\n  $pgm <FSname> <tsmOperation> <tsmOperationOption> <filelistname> <invokingNode> <invokingPid> <clientIndex> <tsmServer> <ioRateValue>"
+  doCleanupAndExit $rc_fail
+fi
+
+[[ -z $MMMODE || -z $primaryServer ]] && \
+  determineMode
+getLocalNodeData
+sn=$ourNodeName
+
+#
+# Assign the input parameters as follows:
+#
+#   arg1 - "givestatus"
+#   arg2 - number of seconds to sleep between messages
+#
+#    OR
+#
+#   arg1 - mountpoint of filesystem to be operated on
+#   arg2 - TSM command (selective, incremental, expire, or restore) 
+#   arg3 - TSM command option (filelist or nofilelist)
+#   arg4 - name of the filelist file (if arg3 was filelist)
+#            or
+#          some other TSM command parameter (if arg3 was nofilelist)
+#   arg5 - name of the invoking node (used for obtaining a backup lock)
+#   arg6 - pid of the invoking process (used for obtaining a backup lock) 
+#   arg7 - process index (used for creating directory in which, if necessary,
+#                           Tivoli will store a dsmerror.log file)
+#   arg8 - name of the TSM server (used for checking against the dsm.opt file)
+#   arg9 - I/O rate value
+#
+
+if [[ $arg1 = "givestatus" ]]
+then
+  integer nSeconds=${arg2}
+  while true
+  do
+    sleep $nSeconds
+    printInfoMsg 527 mmbackup
+  done  # end while true
+fi
+
+mountPoint=$arg1
+
+tsmCommand=$arg2
+
+tsmCommandOption=$arg3
+
+if [[ $tsmCommandOption = filelist ]]
+then
+  filelistName=$arg4
+  if [[ ! -f $filelistName || ! -r $filelistName ]]
+  then
+    # The filelist file does not exist or is not readable.
+    # Issue an error message and fail the command.
+    print "$opf: $sn: Cannot open $filelistName.  Make sure filesystem is mounted on node."
+    doCleanupAndExit $rc_fail 
+  fi
+elif [[ $tsmCommandOption = nofilelist ]]
+then
+  tsmCommandParm=$arg4
+else
+  print "$opf: $sn: Invalid parameter: $tsmCommandOption"
+  doCleanupAndExit $rc_fail 
+fi
+
+masterNode=$arg5
+
+masterPid=$arg6
+
+processIndex=$arg7
+
+tsmServer=$arg8
+
+ioRateValue=$arg9
+
+
+# Set and export the DSM_LOG environment variable to tell TSM
+# where to put any error log it generates.
+logdir=$mmbackupDir"$mountPoint"_"$dateTime"_"$processIndex"
+logfile=$logdir/dsmerror.log
+export DSM_LOG=$logdir
+
+# Create the directory for the TSM error log.
+$mkdir -p $logdir > /dev/null 2>&1
+
+# Add a slash to the end of the mount point variable for passing to TSM later.
+mountPoint=$mountPoint/
+
+# Call routine to obtain a lock before proceeding.
+# If a lock cannot be obtained, getBackupLock will exit with a failure rc.
+getBackupLock
+
+# At this point we have obtained a lock.
+# Now that we have obtained a backup lock, change the trap routine
+# to one that frees the lock before exiting.
+trap localTrap2 HUP INT QUIT KILL
+
+# Check that the TSM server passed on the command matches the one
+# specified in the /usr/tivoli/tsm/client/ba/bin/dsm.opt file.
+# If it doesn't, issue an error message and exit with a failing rc.
+grepOutput=$($grep -i servername $dsmoptfile | $grep -v '*')
+set -f ; set -- $grepOutput ; set +f
+dsmoptTSMserverKeyword=$1
+dsmoptTSMserver=$2
+
+keyword_lc=$dsmoptTSMserverKeyword    # Convert keyword to all lower case.
+if [[ $keyword_lc != servername ]]
+then
+  print "$opf: $sn: unable to find TSM server name in dsm.opt file"
+  freeLockAndExit $rc_fail
+fi
+
+if [[ $tsmServer != $dsmoptTSMserver ]]
+then 
+  print "$opf: $sn: specified TSM server does not match TSM server in dsm.opt file"
+  freeLockAndExit $rc_fail
+fi
+
+# Depending on the I/O rate value, take a breather
+# to allow other non-backup processes to run.
+# The scheme implemented here, wait a fixed number of
+# seconds controlled by the passed value, is a very
+# rough beginning.  A better scheme would be to calculate
+# the time used doing backup work, and then sleep a
+# fraction of that time based on the I/O rate value.
+# (An I/O rate value of 100 would mean don't sleep at all,
+# a value of 75 would mean sleep for 1/3 of the time
+# spent doing backup, a value of 50 would mean sleep an
+# amount of time equal to the time spent on backup,
+# and so on.)
+integer numberOfSeconds=100-${ioRateValue}
+sleep $numberOfSeconds
+
+
+# We now have obtained a backup lock, verified that the TSM server is
+# correct, and idled away some time if warranted by the I/O rate value.
+# Proceed to process Tivoli Storage Manager commands.
+
+# TSM selective or incremental command processing
+#
+if [[ $tsmCommand = selective || $tsmCommand = incremental ]]
+then
+
+  # Issue the TSM command to have the list of files backed up.
+# $dsmc $tsmCommand -filelist=$filelistName > /tmp/out1i 2> /tmp/out2i
+  $dsmc $tsmCommand -filelist=$filelistName > /dev/null 2>&1 
+  rc=$?
+   
+  # The return code only indicates whether the TSM executable ran successfully. 
+  # The TSM client returns a code greater than 0 (zero) only if TSM was
+  # unable to attempt the operations. 
+  # Only those return codes output to the error report (dsmerror.log)
+  # indicate the success or failure of specific TSM commands.
+  if [[ $rc -eq 0 ]] 
+  then
+
+    # Clear the error log.  It will be recreated
+    # by the query command to be issued next.
+    if [[ -a $logfile && -s $logfile ]]
+    then 
+      $rm -rf $logfile > /dev/null 2>&1
+      rc=$?
+      if [[ $rc -gt 0 ]]
+      then
+        print "$opf: $sn: cannot rm $logfile"
+        freeLockAndExit $rc_fail
+      fi
+    fi
+
+    # Issue the query command to determine which files were not
+    # backed up successfully.
+    #
+    # dsmc query backup -fromdate=$tsmDate -fromtime=$tsmTime 
+    #                   -filelist=$filelistName > /dev/null 2>&1
+#   $dsmc query backup -filelist=$filelistName > /tmp/out1q 2> /tmp/out2q
+    $dsmc query backup -filelist=$filelistName > /dev/null 2>&1
+    rc=$?
+
+    if [[ $rc -eq 0 ]]
+    then
+      # If we have an error log file, examine it to determine
+      # the files which were not successfully backed up.
+      if [[ -a $logfile && -s $logfile ]]
+      then
+
+        # Process the error log and construct the pending transactions file.
+        #
+        # The following is a line from the pertinent error log file:
+        # 03/13/02   10:37:48 ANS1092E No files matching search criteria 
+        # were found
+        #                         or
+        # 11/16/01   15:24:56 ANS1345E No objects on server match 
+        # '/log/michail/file_4'
+
+        # Check for matching search criteria failure.
+        pendingBackupsList="$mountPoint$tpl"_"$processIndex"
+        $grep "${searchErrorString}" $logfile > ${pendingBackupsList}
+        if [[ -a $pendingBackupsList && -s $pendingBackupsList ]]
+        then
+          print "$opf: $sn: TSM dsmc query command indicated search criteria failure (see file $logfile)."
+          $rm -rf $pendingBackupsList > /dev/null 2>&1
+          freeLockAndExit $rc_fail
+        fi
+
+        # Check for objects which do not match, i.e.,
+        # individual files which were not backed up. 
+        $grep "${objectErrorString}" $logfile |  \
+                                $cut -f2 -d\' >> ${pendingBackupsList}
+        print "$opps: $sn: TSM dsmc $tsmCommand command partially succeeded (see file $logfile)."
+        freeLockAndExit $rc_psuccess 
+      else
+        print "$ops: $sn: TSM dsmc query command did not produce any error log."
+        freeLockAndExit $rc_success
+      fi
+    else
+      print "$opf: $sn: TSM dsmc query command failed to run."
+      freeLockAndExit $rc_fail
+    fi
+  else
+    # If there is an error log file, tell the user to examine it
+    # to determine the cause of the failure.
+    if [[ -a $logfile && -s $logfile ]]
+    then
+      print "$opf: $sn: TSM dsmc $tsmCommand command failed to run (see file $logfile)."
+    else
+      print "$opf: $sn: TSM dsmc $tsmCommand command failed to run."
+    fi
+    freeLockAndExit $rc_fail
+  fi
+
+# TSM expire command processing
+#
+elif [[ $tsmCommand = expire ]]
+then
+
+  # Clear the error log.  We are only interested in the error log
+  # created from issuing the expire command.
+  if [[ -a $logfile && -s $logfile ]]
+  then
+    $rm -rf $logfile > /dev/null 2>&1
+    rc=$?
+    if [[ $rc -gt 0 ]]
+    then
+      print "$opf: $sn: cannot rm $logfile"
+      freeLockAndExit $rc_fail
+    fi
+  fi
+
+  # Issue the TSM command to have files in the file system expired.
+  if [[ $tsmCommandOption = filelist ]]
+  then
+#   $dsmc $tsmCommand -noprompt -filelist=$filelistName > /tmp/out1x 2> /tmp/out2x
+    $dsmc $tsmCommand -noprompt -filelist=$filelistName > /dev/null 2>&1
+  else 
+#   $dsmc $tsmCommand -noprompt $tsmCommandParm > /tmp/out1x 2>/tmp/out2x
+    $dsmc $tsmCommand -noprompt $tsmCommandParm > /dev/null 2>&1
+  fi
+  rc=$?
+
+  # The return code only indicates whether the TSM executable ran
+  # successfully. 
+  # The TSM client returns a code greater than 0 (zero) only if TSM was
+  # unable to attempt the operations. 
+  # Only those return codes output to the error report (dsmerror.log)
+  # indicate the success or failure of specific TSM commands.
+  if [[ $rc -eq 0 ]]
+  then
+
+    # If we have an error log file examine it to determine the files
+    # which were not successfully restored.
+    if [[ -a $logfile && -s $logfile ]]
+    then
+
+      # Process the error log and construct the transactions_pending file.
+      # Check for objects which failed to get processed (i.e expired).
+      pendingExpiresList="$mountPoint$tpl"_"$processIndex"
+      $grep "${errorProcessingString}" $logfile |  \
+                                $cut -f2 -d\' > ${pendingExpiresList}
+
+      if [[ -a $pendingExpiresList && -s $pendingExpiresList ]]
+      then
+        print "$opf: $sn: TSM dsmc query command indicated search criteria failure (see file $logfile)."
+        $rm -rf $pendingExpiresList > /dev/null 2>&1
+        freeLockAndExit $rc_fail
+      fi
+
+      # Check for objects which do not match, namely,
+      # individual files which were not restored.
+      $grep "${objectErrorString}" $logfile |  \
+                                $cut -f2 -d\' >> ${pendingExpiresList}
+      print "$opps: $sn: TSM dsmc expire command partially succeeded (see file $logfile)."
+      freeLockAndExit $rc_psuccess
+    else
+      print "$ops: $sn: TSM dsmc expire command did not produce any error log."
+      freeLockAndExit $rc_success
+    fi
+  else
+    # If there is an error log file, tell the user to examine it
+    # to determine the cause of the failure.
+    if [[ -a $logfile && -s $logfile ]]
+    then
+      print "$opf: $sn: TSM dsmc expire command failed to run (see file $logfile)."
+    else
+      print "$opf: $sn: TSM dsmc expire command failed to run."
+    fi
+    freeLockAndExit $rc_fail
+  fi
+
+# TSM restore command processing
+#
+elif [[ $tsmCommand = restore ]]
+then
+
+  # Clear the error log.  We are only interested in the error log
+  # created from issuing the restore command.
+  if [[ -a $logfile && -s $logfile ]]
+  then
+    $rm -rf $logfile > /dev/null 2>&1
+    rc=$?
+    if [[ $rc -gt 0 ]]
+    then
+      print "$opf: $sn: cannot rm $logfile"
+      freeLockAndExit $rc_fail
+    fi
+  fi
+
+  # Issue the TSM command to have the list of files restored
+  # NOTE:  We restore the files specified to the mount point of the file
+  #        system and not to the snapshot the files were backed up from.
+# $dsmc $tsmCommand -filelist=$filelistName $mountPoint > /tmp/out1r 2>/tmp/out2r
+  $dsmc $tsmCommand -filelist=$filelistName $mountPoint > /dev/null 2>&1 
+  rc=$?
+
+  # The return code only indicates whether the TSM executable ran successfully. 
+  # The TSM client returns a code greater than 0 (zero) only if TSM was
+  # unable to attempt the operations. 
+  # Only those return codes output to the error report (dsmerror.log)
+  # indicate the success or failure of specific TSM commands.
+  # NOTE:
+  #   According to TSM documentation ("Return Codes from TSM Executables
+  #   and Shell Scripts"):
+  #     TSM returns 0 even if the file is not successfully backed up, 
+  #     archived, or restored if the reason for the unsuccessful process is: 
+  #       . the client could not establish a session with the TSM server, or
+  #       . the file does not exist.
+  # WARNING:
+  #   In unit testing it was learned that if a file does not exist,
+  #   the return code on a restore operation is not zero.
+  #   The following code tries to deal with this situation 
+  #   (which situation contradicts what was stated above).
+
+  # If we have an error log file examine it to determine the files
+  # which were not successfully restored.
+  if [[ -a $logfile && -s $logfile ]]
+  then
+
+    # Process the error log and construct the transactions_pending file.
+    #
+    # The following is a line from the pertinent error log file:
+    # 04/05/02   15:41:52 ANS4007E Error processing 
+    # '/backup_tsm/.backup_snapshot/.NodeCtrl'
+    #                         or
+    # 11/16/01 15:24:56 ANS1345E No objects on server match 
+    # '/log/michail/file_4'
+
+    # Check for objects which failed to get processed (i.e., restored).
+    pendingRestoresList="$mountPoint$tpl"_"$processIndex"
+    $grep "${errorProcessingString}" $logfile  |  \
+                                   $cut -f2 -d\' > ${pendingRestoresList}
+
+    # Check for objects which do not match, i.e.,
+    # individual files which were not restored.
+    $grep "${objectErrorString}" $logfile  |  \
+                                   $cut -f2 -d\' >> ${pendingRestoresList}
+    if [[ -a $pendingRestoresList && -s $pendingRestoresList ]]
+    then
+      print "$opps: $sn: TSM dsmc restore command partially succeeded (see file $logfile)."
+      freeLockAndExit $rc_psuccess
+    else 
+      print "$opf: $sn: TSM dsmc restore command failed (see file $logfile)."
+      freeLockAndExit $rc_fail
+    fi
+  elif [[ $rc -eq 0 ]]
+  then
+    print "$ops: $sn: TSM dsmc restore command did not produce any error log."
+    freeLockAndExit $rc_success
+  else
+    print "$opf: $sn: TSM dsmc restore command failed to run."
+    freeLockAndExit $rc_fail
+  fi
+
+else
+  print "$opf: $sn: Wrong value ($tsmCommand) passed for TSM operation."
+  freeLockAndExit $rc_fail
+fi
+
+freeLockAndExit $rc_success
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmexportfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmexportfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmexportfs	(revision 16)
@@ -0,0 +1,646 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2003,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)36 1.7.5.2 src/avs/fs/mmfs/ts/admin/mmexportfs.sh, mmfs, avs_rgpfs24, rgpfs24s010a 2/22/07 03:17:55
+##############################################################################
+#
+# Usage:
+#
+#   mmexportfs {Device | all} -o ExportfsFile [-C nodesetId] [-P]
+#
+# where
+#
+#   Device        is the file system to be exported.
+#                 If "all" is specified, then all file systems in
+#                 the cluster are exported.  Free disks, if any,
+#                 are exported as well.
+#
+#   -o ExportfsFile   is the name of a file where the file system
+#                     export information is to be placed.
+#
+#
+#  Obsolete option (for use when migrating previous releases):
+#
+#   -C NodesetId  is the nodeset from which file systems are to be
+#                 exported.  This parameter is used to limit the
+#                 scope of the "all" keyword to all file systems
+#                 within a given nodeset rather than all file
+#                 systems in the cluster.
+#
+#  Undocumented option:
+#
+#   -P            Do not remove the file system information from
+#                 the current version of the mmsdrfs.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmexportfs.sh"
+[[ -n $DEBUG || -n $DEBUGmmexportfs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+# Note that the following nodesetMember declaration is the prefix for
+# the file names that will contain the member nodes of each nodeset.
+# The actual file names will be of the form $nodesetMembers.<nodesetId>
+nodesetMembers=${tmpDir}nodesetMembers.${mmcmd}.$$
+
+LOCAL_FILES=" $nodesetMembers.* "
+
+# Local variable declarations
+usageMsg=570
+oflag=""
+Pflag=""
+fsBeingExportedList=""
+
+newNodesetIdFound=no
+oldNodesetId=""
+fsMountPoint=""
+existingMountPoints=""
+existingMinorNumbers=""
+
+
+# Local functions
+
+
+####################################################################
+#
+# Function:  Based on the cluster type, guess at what the disk type
+#            for a given disk may be.
+#
+# Input:     None.
+#
+# Output:    The type of the disk:  vsd, lv, nsd, etc.
+#
+# Returns:   Always zero.
+#
+####################################################################
+function assignDiskType  #
+{
+  [[ -n $DEBUG || -n $DEBUGassignDiskType ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset diskType wait4RVSD
+
+  # Determine the value of the wait4RVSD parameter.
+  [[ $MMMODE = rpd ]] && wait4RVSD=$(showCfgValue wait4RVSD)
+
+  case $MMMODE in
+    sp)     diskType=vsd ;;
+    hacmp)  diskType=lv  ;;
+    rpd)    [[ $wait4RVSD = yes ]] && diskType=vsd || diskType=lv ;;
+    lc)     diskType=nsd ;;
+    single) diskType=disk ;;
+    *)      diskType=unknown ;;
+  esac
+
+  print -- $diskType
+  return 0
+
+}  #--------- end of function assignDiskType --------------------
+
+
+
+######################
+# Mainline processing
+######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 3 ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1   # Save stripe group device (always the first parameter).
+shift 1        # Drop the device name from the parameter list.
+
+while getopts :C:o:P OPT
+do
+  case $OPT in
+    C) # Export the file systems from the specified nodeset.
+       [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       sourceNodesetId=$OPTARG
+       Cflag=yes
+       ;;
+
+    o) # Name of the output file.
+       [[ -n $oflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fsExportData=$OPTARG
+       oflag=yes
+       ;;
+
+    P) # Leave the fs information in place.
+       [[ -n $Pflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Pflag=yes
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[CoP]) syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    *) # Invalid option specified.
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# Verify an output file is specified.
+[[ -z $oflag ]] && syntaxError "missingArgs" $usageMsg
+
+# Be careful not to inadvertently destroy some other file.
+if [[ -e $fsExportData ]]
+then
+  # The file already exists.
+  printErrorMsg 42 $mmcmd $fsExportData
+  cleanupAndExit
+fi
+
+# Temporarily add the user specified output file to the list of files
+# to be removed automatically upon exit.  We do this to assure that
+# there wil be no partial data in case of a failure.  Once the data is
+# complete, we will restore the original LOCAL_FILES value.
+LOCAL_FILES_SV="$LOCAL_FILES"
+LOCAL_FILES="$LOCAL_FILES $fsExportData"
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#
+# Note:   We are using a variation of gpfsInit - gpfsInitGeneric,
+# which allows the command to still run on old GPFS cluster types.
+# If the cluster type is lc or single, things work as they always do.
+# But if the cluster type is sp, rpd, or hacmp, we are dealing with
+# an obsolete GPFS cluster environment.  The daemon will never
+# be allowed to start under these circumstances, nor will be the bulk
+# of the mm commands allowed to work.  The only exception are commands
+# (mmexportfs, mmdelnode) needed by the user to migrate to a supported
+# environment.  Under such conditions it is acceptable to assume that
+# the daemon is indeed not runing anywhere (i.e., there is no need to
+# run verifyDaemonInactive) and to ignore the true commit processing
+# and the rebuilding of the mmfs environment.  The idea is to allow
+# the user to run "mmexportfs all", followed by "mmdelnode -a", and
+# then create a new cluster of type lc.
+#
+# Note:   If the -P option is specified, we are interested only
+# in retrieving the file system data without changing the current
+# mmsdrfs file.  There is no need to lock the mmsdrfs file because
+# it will not be changed.
+#######################################################################
+trap pretrap HUP INT QUIT KILL
+[[ -n $Pflag ]] && lockId=nolock
+gpfsInitOutput=$(gpfsInitGeneric $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+# If the current nodeset is requested,
+# use the nodeset id returned from gpfsInit.
+[[ $sourceNodesetId = "." ]] && sourceNodesetId=$nsId
+
+if [[ $sourceNodesetId = 0 ]]
+then
+  print -u2 "$mmcmd: The nodeset can not be determined.  Use the -C <nodesetId> option,"
+  print -u2 "or issue the command from a node that belongs to the desired nodeset."
+  cleanupAndExit
+fi
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+###################################################
+# Make sure that the specified file system exists.
+###################################################
+if [[ $device = all ]]
+then
+  # The scope of the keyword all depends on whether
+  # -C was specified or not.
+  if [[ -z $sourceNodesetId ]]
+  then
+    nodesetId=$GLOBAL_ID
+  else
+    nodesetId=$sourceNodesetId
+  fi
+else
+  # Obtain the information about the filesystem from the mmsdrfs file.
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  nodesetId=$3
+
+  # Exit with a message if the command was invoked for a remote file system.
+  if [[ $nodesetId != $HOME_CLUSTER ]]
+  then
+    # Command is not allowed for remote file systems.
+    printErrorMsg 106 $mmcmd $device $nodesetId
+    cleanupAndExit
+  fi
+
+  if [[ -n $sourceNodesetId && $nodesetId != $sourceNodesetId ]]
+  then
+    print -u2 "$mmcmd: File system $device does not exist in nodeset $sourceNodesetId".
+    cleanupAndExit
+  fi
+fi  # end if [[ $device = all ]]
+
+
+######################################################################
+# Create the new version of the mmsdrfs file and collect the relevant
+# information for the file systems being exported.
+######################################################################
+$rm -f $newsdrfs $fsExportData $allClusterNodes $nodesetMembers.*
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # this is the global header line
+       # If this is an sp cluster and it does not already
+       # have a cluster Id, assign it one now.
+       if [[ -z ${v[CLUSTERID_Field]} ]]
+       then
+         timeStamp=$($perl -e 'print time')
+         v[$CLUSTERID_Field]="gpfs$timeStamp"
+       fi
+
+       # Put the line into the fs export file.
+       print_newLine >> $fsExportData
+       checkForErrors "writing to file $fsExportData" $?
+
+       # Increment the generation number
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+       ;;
+
+    $NODESET_HDR )  # this is the header line for a nodeset
+       # If this is the nodeset from which we are exporting,
+       # put the line into the fs export file.
+       if [[ ${v[$NODESETID_Field]} = $nodesetId ||
+             $nodesetId = $GLOBAL_ID ]]
+       then
+         print_newLine >> $fsExportData
+         checkForErrors "writing to file $fsExportData" $?
+       fi
+       ;;
+
+    $MMFSCFG )     # this line contains mmfs.cfg information for some nodeset
+       # If this is the nodeset from which we are exporting,
+       # put the line into the fs export file.
+       if [[ ${v[$NODESETID_Field]} = $nodesetId ||
+             $nodesetId = $GLOBAL_ID ]]
+       then
+         print_newLine >> $fsExportData
+         checkForErrors "writing to file $fsExportData" $?
+       fi
+       ;;
+
+    $MEMBER_NODE )  # this line describes a node that belongs to some nodeset
+       # Create a file with the names of all nodes in the cluster.
+       # Create separate files with the names of the nodes in each nodeset.
+       if [[ ${v[DESIGNATION_Field]} != $DELETED_NODE ]]
+       then
+         print -- "${v[$REL_HOSTNAME_Field]}" >> $allClusterNodes
+         checkForErrors "writing to file $allClusterNodes" $?
+
+         print -- "${v[$REL_HOSTNAME_Field]}" >> $nodesetMembers.${v[$NODESETID_Field]}
+         checkForErrors "writing to file $nodesetMembers.${v[$NODESETID_Field]}" $?
+       fi
+       ;;
+
+    $SG_HEADR )  # this is the header line for some file system
+       # Starting the processing of a new file system.  If the file
+       # system should be exported, put the line into the fs export
+       # file and remove the line from the mmsdrfs file.
+       #
+       # Note:  Unless explicitly requested by their local name,
+       #        remote file systems are not exported.
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName || $device = all &&
+           ( $nodesetId = $GLOBAL_ID ||
+             $nodesetId = ${v[$NODESETID_Field]} ) &&
+             ${v[$FS_TYPE_Field]} = $localfs ]]
+       then
+         # This file system should be exported.
+         exportThisFileSystem=true
+
+         # Put an informational message:  processing file system ...
+         print -- ""  # put a blank separator line
+         printInfoMsg 250 $mmcmd ${v[$DEV_NAME_Field]}
+
+         # Check whether the "odd state" flag is set.
+         if [[ -n ${v[$ODD_STATE_Field]} && ${v[$ODD_STATE_Field]} != no ]]
+         then
+           # Tell the user to bring the filesystem data up to date.
+           printErrorMsg 190 $mmcmd ${v[$DEV_NAME_Field]} ${v[$DEV_NAME_Field]}
+           cleanupAndExit
+         fi
+
+         # Save the line in the fs export file.
+         print_newLine >> $fsExportData
+         checkForErrors "writing to file $fsExportData" $?
+         printLine=false
+       else
+         # This file system should not be exported.
+         exportThisFileSystem=""
+       fi  # end if [[ ${v[$DEV_NAME_Field]} = $deviceName || $device = all &&
+       ;;
+
+    $SG_ETCFS )  # this line is a stanza line for one of the filesystems
+       # If this is the first line in the stanza for a file system
+       # that is being exported, save the device name, mount point
+       # and nodeset to which the file system belongs.  All stanza
+       # lines for file systems that are being exported are put into
+       # the fs export file and removed from the mmsdrfs file.
+       if [[ -n $exportThisFileSystem ]]
+       then
+         if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line ]]
+         then
+           fsInfo="${v[$DEV_NAME_Field]}:${v[$ETCFS_TEXT_Field]}:${v[$NODESETID_Field]}"
+           fsBeingExportedList="$fsInfo $fsBeingExportedList"
+         fi
+
+         # Save the line in the fs export file.
+         print_newLine >> $fsExportData
+         checkForErrors "writing to file $fsExportData" $?
+         printLine=false
+       fi  # end if [[ -n $exportThisFileSystem ]]
+       ;;
+
+    $SG_MOUNT )
+       # If the line belongs to a file system that is being exported, put the
+       # line into the fs export file and remove the line from the mmsdrfs file.
+       if [[ -n $exportThisFileSystem ]]
+       then
+         # Save the line in the fs export file.
+         print_newLine >> $fsExportData
+         checkForErrors "writing to file $fsExportData" $?
+         printLine=false
+       fi
+       ;;
+
+    $SG_DISKS )
+       # Decide if this disk is to be exported.  If the disk belongs to some
+       # file system, the exportThisFileSystem flag already has the correct
+       # value.  If this is a free disk, it will be exported only if all file
+       # systems are being exported.  Note that the exportThisFileSystem flag
+       # is used to control the exporting of disks that are part of some file
+       # system as well as the exporting of free disks.
+       if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+       then
+         if [[ $device != all ]]
+         then
+           exportThisFileSystem=""
+         else
+           exportThisFileSystem=true
+           # If not done already, put an informational message.
+           if [[ -z $freeDiskStartMsg && -n $fsBeingExportedList ]]
+           then
+             # Put an informational message:  processing free disks ...
+             print -- ""  # put a blank separator line
+             printInfoMsg 98 $mmcmd
+             freeDiskStartMsg=issued
+           fi
+         fi  # end if [[ $device = all ]]
+       fi  # end if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+
+       # If exporting this disk, put the SG_DISKS line into the fs export
+       # file and remove it from the mmsdrfs file.
+       if [[ -n $exportThisFileSystem ]]
+       then
+         # Fail the command if the disk is excluded.
+         # The user needs to repair the file system first.
+         # The only exception is if the -P option is specified.
+         if [[ ${v[$EXCLUDE_Field]} = $excludedDisk && -z $Pflag ]]
+         then
+           print -u2 "$mmcmd: File system ${v[$DEV_NAME_Field]} contains excluded disks."
+           cleanupAndExit
+         fi
+
+         # Make sure the disk type field is set.
+         [[ -z ${v[$DISK_TYPE_Field]} || ${v[$DISK_TYPE_Field]} = unknown ]] &&  \
+            v[$DISK_TYPE_Field]=$(assignDiskType)
+
+         # Save the line in the fs export file.
+         print_newLine >> $fsExportData
+         checkForErrors "writing to file $fsExportData" $?
+         printLine=false
+       fi  # end if [[ -n $exportThisFileSystem ]]
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true || -n $Pflag ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+# Make sure that everything went OK.
+
+if [[ $device = all && -z $fsBeingExportedList ]]
+then
+  # No file systems were found.
+  printErrorMsg 200 $mmcmd
+  cleanupAndExit
+fi
+
+
+############################################
+# Sort the new version of the mmsdrfs file.
+############################################
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+checkForErrors "sorting $newsdrfs" $?
+
+
+##############################################
+# If the -P option is specified, we are done.
+##############################################
+if [[ -n $Pflag ]]
+then
+  # Remove the output file from the list of files to be deleted upon exit.
+  LOCAL_FILES="$LOCAL_FILES_SV"
+  cleanupAndExit 0
+fi
+
+
+################################################################
+# If this is an old cluster type, we managed to extract the
+# file system data.  Perform a fake commit and take an early
+# exit.  The rest of the mm infrastructure does not know how to
+# handle a real commit, plus the user is expected to tear down
+# the obsolete environment right away and create a new cluster.
+################################################################
+if [[ $MMMODE != lc && $MMMODE != single ]]
+then
+  # Perform a pseudo commit of the changes on this node only.
+  $cp $newsdrfs $mmsdrfsFile
+  $rm -f ${mmfsEnvLevel}+([0-9])
+  $touch ${mmfsEnvLevel}$newGenNumber
+
+  # Remove the output file from the list of files to be deleted upon exit.
+  LOCAL_FILES="$LOCAL_FILES_SV"
+
+  cleanupAndExit 0
+
+fi  # end if [[ $MMMODE != lc && $MMMODE != single ]]
+
+
+############################################
+# Lock the gpfs object to prevent daemons
+# from starting during the commit phase.
+############################################
+[[ $getCredCalled = no ]] && getCred
+setRunningCommand "$mmcmd" $primaryServer
+checkForErrors setRunningCommand $?
+gpfsLocked=yes
+
+
+################################################################
+# Make sure the file systems being exported are not mounted
+# and that the currently-appointed fs managers have resigned.
+################################################################
+for expFs in $(print -- "$fsBeingExportedList")
+do
+  IFS=':'
+  set -f ; set -- $expFs ; set +f
+  IFS="$IFS_sv"
+  deviceName=$1
+  fqDeviceName="/dev/$deviceName"
+  fsMountPoint=$2
+  nodesetId=$3
+
+  if [[ -z $daemonDownVerified ]]
+  then
+    preferredNode=0
+    $mmcommon onactive $preferredNode $nodesetMembers.$nodesetId        \
+                       $NO_FILE_COPY $fqDeviceName $CHECK_ALL $NO_LINK  \
+                       $MOUNT_CHECK_ONLY $RESIGN_FSMGR 2>$errMsg
+    rc=$?
+    if [[ $rc -eq $MM_FsMounted ]]
+    then
+      # The file system is still mounted; messages were issued by mmcommon.
+      cleanupAndExit
+    elif [[ $rc -eq $MM_DaemonDown ]]
+    then
+      # GPFS is down on all nodes that we care about; that's just fine.
+      rc=0
+      daemonDownVerified=yes
+    elif [[ $rc -eq $MM_ConnectionReset ]]
+    then
+      # An internode connection was reset.
+      printErrorMsg 257 $mmcmd
+      cleanupAndExit
+    elif [[ $rc -ne 0 ]]
+    then
+      # An unexpected error occurred during the mount check.
+      if [[ -s $errMsg ]]
+      then
+        # Show the error messages from the daemon.
+        $cat $errMsg 1>&2
+      else
+        # The mount check failed and there were no messages from the daemon.
+        printErrorMsg 171 $mmcmd "mount check for $fqDeviceName" $rc
+      fi
+      # The command was unable to determine whether the file system is mounted.
+      printErrorMsg 564 $mmcmd $fqDeviceName
+      cleanupAndExit
+    fi
+    $rm -f $errMsg
+  fi  # end if [[ -z $daemonDownVerified ]]
+
+  # If exporting a single file system, remove all traces
+  # of that file system from the nodes.  Ignore errors.
+  # If exporting all file systems, we will bypass this
+  # time-consuming process; the cluster will most likely
+  # be destroyed anyway.  Plus, we will propagate the
+  # changes at the end of the command like we always do.
+  [[ $device != all ]] &&  \
+    $mmcommon onall $nodesetMembers.$nodesetId $unreachedNodes  \
+                      rmfs $fqDeviceName $fsMountPoint >/dev/null 2>&1
+
+done  # end for expFs in $(print -- "$fsBeingExportedList")
+
+
+############################################################
+# Replace the mmsdrfs file in the sdr with the new version.
+############################################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # Cannot replace file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+###################################################################
+# Unlock the sdr.
+###################################################################
+freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+# Remove the output file from the list of files to be deleted upon exit.
+LOCAL_FILES="$LOCAL_FILES_SV"
+
+
+#################################################################
+# Propagate the new mmsdrfs file.  This process is asynchronous.
+#################################################################
+propagateSdrfsFile async $allClusterNodes $newsdrfs $newGenNumber
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfileid
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfileid	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfileid	(revision 16)
@@ -0,0 +1,594 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2003,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)33 1.30.1.2 src/avs/fs/mmfs/ts/admin/mmfileid.sh, mmfs, avs_rgpfs24, rgpfs24s009a 1/14/07 03:50:17
+##############################################################################
+#
+# Usage:
+#
+#   mmfileid Device
+#     {-d [NodeName]:{DiskName|DiskNum|BROKEN}:[PhysAddr1[-PhysAddr2]] | -F DescFile}
+#     [-o OutputFile] [-f NumThreads] [-t Directory]
+#
+# where
+#
+#   Nodename:   specifies a node in the GPFS node set that has access to
+#                 the specified disk
+#   DiskName:   specifies the physical volume name
+#               if no nodename, this is the GPFS diskname or disk number
+#               (mmlsdisk $fsname -i)
+#   PhysAddr1:  the disk physical sector number
+#               if no nodename, this is the GPFS logical sector; if omitted, 0
+#   PhysAddr2:  the last sector number; if omitted, same as PhysAddr1
+#
+#   If PhysAddr1 and PhysAddr2 are both 0, the entire disk is searched.
+#
+#   If BROKEN is used instead of a disk name, files that have disk addresses
+#   marked as "broken" will be found.  Broken addresses are left when a disk
+#   has been deleted, but the data could not be salvaged.
+#
+#   -F DescFile   specifies a file containing the physical volume names
+#                 and the corresponding disk physical address.
+#                 Each line of the file should have the following format:
+#      [NodeName]:{DiskName|DiskNum|BROKEN}:[PhysAddr1[-PhysAddr2]]
+#
+#   -o outFile    format: <inode number> <file name>
+#
+#   -f num        number of threads that need to be created
+#                   (used by tsfindinode utility)
+#
+#   -t tempDirName  Override by using /var/mmfs/tmp for temporary files
+#                   and sorting.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmfileid.sh"
+[[ -n $DEBUG || -n $DEBUGmmfileid ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+inputPVDesc=${tmpDir}inputPVDesc.${mmcmd}.$$  # file of pvs from the input list
+newLVDesc=${tmpDir}newLVDesc.${mmcmd}.$$      # LV list passed to tsfileid
+outFidu=${tmpDir}outFidu.${mmcmd}.$$          # tsfileid output goes here
+localLspvList=${tmpDir}lspvList.${mmcmd}.$$   # local lspv output list
+inInodeList=${tmpDir}inInodeList.${mmcmd}.$$  # input to the tsfindinode cmd
+
+LOCAL_FILES=" $inputPVDesc $newLVDesc $outFidu $localLspvList $inInodeList"
+
+# Local variables
+
+usageMsg=560                   # mmfileid usage message
+integer rc=0                   # return code default to success
+integer numThreads=16          # default is 16 threads
+
+newLVList=""
+pvDescFile=""
+inodeDesc=""
+specialInode=""
+fiduDevicename=NULL
+
+dflag=""                       # indicator that -d was specified
+diskPVList=""                  # arguments following the -d argument
+Farg=""                        # DescFile following -F
+Fflag=""                       # indicator that -F was specified
+fflag=""                       # indicator that -f was specified
+oflag=""                       # indicator that -o was specified
+tflag=""                       # indicator that -t was specified
+
+# Local routines
+
+
+##############################################################################
+#
+# Preprocessor function
+#
+# mmfileidPreprocess scans each line in the DescFile and tokenizes the line.
+#
+# 1. Find PVID for hdisk.  If error, stop processing.
+# 2. Get gpfsDiskName.  If error, stop processing.
+# 3. Convert ranges.  If error, stop processing.
+# 4. Echo new values to $newLVDescFile. (Format:  gpfsDiskName:lvnum1-lvnum2)
+#
+##############################################################################
+function mmfileidPreprocess
+{
+  typeset sourceFile="mmfileid.sh"
+  [[ -n $DEBUG || -n $DEBUGmmfileidPreprocess ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset addr1 addr2 pvRange pvDesc lvRange hostResult
+  typeset diskName=""
+  typeset gpfsDiskName=""
+  typeset nodeName=""
+  typeset nodeset1=""
+  typeset nodeset2=""
+  typeset pvID=""
+  typeset relNodeName=""
+  integer lineNumber=0
+  typeset ec=0
+
+  # Loop through the physical volume descriptors file.
+  exec 3<&-
+  exec 3< $pvDescFile
+  while read -u3 pvDesc
+  do
+    IFS=':'
+    set -f ; set -- $pvDesc ; set +f
+    nodeName=$1
+    diskName=$2
+    pvRange=$3
+    IFS='-'
+    set -f ; set -- $pvRange ; set +f
+    addr1=$1
+    addr2=$2
+    IFS="$IFS_sv"
+
+    lineNumber=lineNumber+1
+
+    # Skip empty and comment lines.
+    [[ $pvDesc = *([$BLANKchar$TABchar])   ]] && continue
+    [[ $pvDesc = *([$BLANKchar$TABchar])#* ]] && continue
+
+    # Make sure the input arguments are all defined.
+    [[ -z $addr1 ]] && addr1=-1
+    [[ -z $addr2 ]] && addr2=$addr1
+    if [[ -z $diskName ]]
+    then
+      if [[ -n $Fflag ]]
+      then
+        printErrorMsg 567 $mmcmd $lineNumber $pvDescFile
+        print -u2 "  $pvDesc"
+        syntaxError "incorrectSyntax" 0 "[NodeName]:{DiskName|DiskNum|BROKEN}:[PhysAddr1[-PhysAddr2]]"
+      else
+        printErrorMsg 560 $mmcmd
+        cleanupAndExit 1
+      fi
+    fi
+
+    # Check for address range correctness.
+    if [[ $addr1 -gt $addr2 ]]
+    then
+      if [[ -n $Fflag ]]
+      then
+        printErrorMsg 567 $mmcmd $lineNumber $pvDescFile
+        print -u2 "  $pvDesc"
+      fi
+      syntaxError "incorrectRange" 0 $addr1 $addr2
+    fi
+
+    if [[ -z $nodeName ]]
+    then
+      gpfsDiskName=$diskName
+      if [[ $addr1 = -1 && $addr2 = -1 ]]
+      then
+        lvRange="0-0"
+      else
+        lvRange="$addr1-$addr2"
+      fi
+    else
+      # Find the reliable hostname for specified node.
+      relNodeName=$(checkAndConvertNodeValue $nodeName $REL_HOSTNAME_Field)
+      [[ $? -ne 0 ]] && cleanupAndExit
+
+      # Get our nodeset id.
+      nodeset1=$(getNodeInfo $NODESETID_Field $REL_HOSTNAME_Field $relNodeName $GLOBAL_ID $mmsdrfsFile)
+      if [[ -z $nodeset1 ]]
+      then
+        printErrorMsg 282 $mmcmd $relNodeName
+        cleanupAndExit 1
+      fi
+
+      # Get the GPFS disk name.
+      if [[ $relNodeName = $ourNodeName ]]
+      then
+        gpfsDiskName=$(getGpfsDiskName $diskName 2>$errMsg)
+      else
+        gpfsDiskName=$($mmcommon on1 $relNodeName getGpfsDiskName $diskName 2>$errMsg)
+      fi
+      ec=$?
+      if [[ $ec -ne 0 || -z $gpfsDiskName ]]
+      then
+        # We were unable to acquire the pvid.
+        [[ -s $errMsg ]] && $cat $errMsg 1>&2
+        printErrorMsg 585 $mmcmd $diskName $relNodeName
+        $rm -f $errMsg
+        cleanupAndExit $ec
+      fi
+
+      $rm -f $errMsg
+
+      nodeset2=$(getDiskInfo $NODESETID_Field $gpfsDiskName $mmsdrfsFile)
+
+      # Check whether the node and diskName belong to the same GPFS nodeset.
+      if [[ $nodeset1 != $nodeset2 ]]
+      then
+        print -u2 "$mmcmd: Disk $diskName and node $relNodeName do not belong to the same nodeset."
+        cleanupAndExit 1
+      fi
+
+      # Invoke tsaddrmap on the specified node to convert
+      # the physical disk address to a logical disk address.
+      if [[ $relNodeName = $ourNodeName ]]
+      then
+        lvRange=$($tsaddrmap $diskName -p1 $addr1 -p2 $addr2 2>$errMsg)
+      else
+        lvRange=$($mmcommon on1 $relNodeName adminCmd tsaddrmap $diskName -p1 $addr1 -p2 $addr2 2>$errMsg)
+      fi
+      ec=$?
+      if [[ $ec -ne 0 || -z $lvRange ]]
+      then
+        # Range error.  Show any tsaddrmap errors and issue an error message.
+        [[ -s $errMsg ]] && $cat $errMsg 1>&2
+        printErrorMsg 587 $mmcmd $diskName $relNodeName
+        $rm -f $errMsg
+        cleanupAndExit $ec
+      fi
+      $rm -f $errMsg
+    fi  # end of if [[ -z $nodeName ]]
+
+    # Add the converted data that needs to be passed to the tsfileid command.
+    print -- "${gpfsDiskName}:${lvRange}" >> $newLVDesc
+
+  done  # end of while read -u3 pvDesc do
+
+  return 0
+
+}  # ----- end of function mmfileidPreprocess ---------------------
+
+
+##############################################################################
+#
+# Function:  mmfileidPostprocess
+#
+# This function merges the tsfileid output with the tsfindinode output.
+#
+# Format of tsfileid output:     {inodeNumber address snapshotId}
+# Format of tsfindinode output:  {inodeNumber fileName}
+# Format after post processing:  {inodeNumber address snapshotId fileName}
+#
+# Note:  Ideally, it would have been better for tsfindinode to do this.
+#
+##############################################################################
+function mmfileidPostprocess
+{
+  typeset sourceFile="mmfileid.sh"
+  [[ -n $DEBUG || -n $DEBUGmmfileidPostprocess ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  integer indexCnt=0
+  integer i=0
+  typeset inode inodeName lvAddress tsInode snapId
+  typeset inodeLine inodeArrayData
+  set -f ; set -A inodeArray ; set +f
+
+  # Reuse the localLspvList file.
+  $tsfindinode -i $inInodeList $fiduDevicename -t $numThreads > $localLspvList
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    $cat $inInodeList $localLspvList
+    cleanupAndExit $rc
+  fi
+
+  sortdir="/tmp"
+  [[ -n $tflag ]] && sortdir=$tmpdir
+  $sort -T $sortdir -b -k 1,1n $localLspvList -o $localLspvList
+  rc=$?
+  [[ $rc = 0 ]] && $sort -T $sortdir -b -k 1,1n $inInodeList -o $inInodeList && rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    $cat $inInodeList $localLspvList
+    printErrorMsg 171 "$mmcmd" "sort" $rc
+    cleanupAndExit $rc
+  fi
+
+  $join -1 1 -2 1 $inInodeList $localLspvList
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    $cat $inInodeList $localLspvList
+    printErrorMsg 171 "$mmcmd" "mmfileidPostprocess: join " $rc
+    cleanupAndExit $rc
+  fi
+
+  return 0
+
+}  # ----- end of function mmfileidPostprocess ---------------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+##############################################################################
+# Process the input arguments.
+##############################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1
+
+while getopts :d:F:f:o:t: OPT
+do
+
+  case $OPT in
+    d) # Only one disk address needs to be searched.
+       [[ -n $dflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       [[ -n $Fflag ]] &&  \
+         syntaxError "invalidCombination"  $usageMsg "-d" "-F"
+       diskPVList=$OPTARG
+       dflag=yes
+       ;;
+
+    F) # DescFile file
+       [[ -n $Fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       [[ -n $dflag ]] &&  \
+          syntaxError "invalidCombination"  $usageMsg "-d" "-F"
+       Farg=$OPTARG
+       Fflag=yes
+       ;;
+
+    o) # output filename
+       [[ -n $oflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       outFname=$OPTARG
+       oflag=yes
+       ;;
+
+    f) # number of threads to be spawned
+       [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       numThreads=$(checkIntRange "-f" $OPTARG 1)
+       [[ $? -ne 0 ]] && cleanupAndExit
+       fflag=yes
+       ;;
+
+    t) # temp working dir name
+       [[ -n $tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       tmpDir=${OPTARG}/
+       tflag=yes
+       # Reset local work files.
+       inputPVDesc=${tmpDir}inputPVDesc.${mmcmd}.$$  # file of physical volumes
+                                                     #   from the input list
+       newLVDesc=${tmpDir}newLVDesc.${mmcmd}.$$    # LV list passed to tsfileid
+       outFidu=${tmpDir}outFidu.${mmcmd}.$$        # tsfileid output goes here
+       localLspvList=${tmpDir}lspvList.${mmcmd}.$$   # local lspv output list
+       inInodeList=${tmpDir}inInodeList.${mmcmd}.$$  # input to the tsfindinode cmd
+       LOCAL_FILES=" $inputPVDesc $newLVDesc $outFidu $localLspvList $inInodeList"
+
+       ;;
+
+    +[dFoft]) # invalid option specified
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # missing required value after an option
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # invalid option specified
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+
+done
+
+shift OPTIND-1   # Drop the processed options from the parameter list.
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+# Finish the parameter checking.
+
+#####################################################################
+# If -d was specified, create a file that contains the physical
+# disk address information of the specified nodes.  If the -F option
+# was used, just use its operand as the file for disk addresses.
+#####################################################################
+if [[ -n $dflag ]]
+then
+  # Add the physical volume descriptor to the descriptor file.
+  print -- $diskPVList > $inputPVDesc
+  checkForErrors "writing to file $inputPVDesc" $?
+  pvDescFile=$inputPVDesc
+fi
+
+if [[ -n $Fflag ]]
+then
+  # The -f option was specified.  Check whether the file exists.
+  if [[ ! -f $Farg || ! -r $Farg ]]
+  then
+    # Can't read the input disk address file.
+    printErrorMsg 43 $mmcmd $Farg
+    cleanupAndExit
+  fi
+
+  # Check that the physical volume descriptors file is not empty.
+  if [[ ! -s $Farg ]]
+  then
+    # The descriptors file is empty.
+    printErrorMsg 561 $mmcmd $Farg
+    cleanupAndExit
+  fi
+  pvDescFile=$Farg
+fi
+
+
+######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+######################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+[[ -z $ourNodeName ]] && getLocalNodeData    # sanity check
+
+
+############################################################
+# Make sure the specified file system exists and is local.
+############################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+# mmfileid requires that the device be mounted on the node on which
+# mmfileid is executed.  If this is not true, tsfindinode will fail.
+if [[ $osName = Linux ]]; then
+  fiduDevicename=$($awk '{if ($1 == fs) print $2}' fs="/dev/$deviceName" $etcFilesystems)
+else
+  fiduDevicename=$($lsfs -c "/dev/$deviceName" 2>/dev/null | $tail -n +2 | $awk -F: '{print $1}')
+fi
+
+# Check whether the filesystem is locally mounted.
+# This is required or the later invocation of tsfindinode will not work.
+$tsfindinode -i 1 $fiduDevicename > /dev/null 2>&1
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  printErrorMsg 563 $mmcmd $deviceName $ourNodeName
+  cleanupAndExit 1
+fi
+
+# Create a file containing the local output of the lspv command.
+if [[ $osName = AIX ]]
+then
+  $(LC_ALL=C $lspv > $localLspvList)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    cleanupAndExit $rc
+  fi
+else   # Use the output of the mmlsnsd command in the non-AIX case.
+  $mmlsnsd -f $deviceName -m > $localLspvList
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    cleanupAndExit $rc
+  fi
+fi
+
+
+
+# Pre-process the input.
+mmfileidPreprocess
+
+
+#################################################
+# If the file system is in a different nodeset,
+# or the local daemon is not available, find an
+# active node and send the command there.
+#################################################
+
+# Create a file with the reliable names that form
+# the cluster to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is no node to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+preferredNode=0
+$mmcommon onactive $preferredNode $nodefile                  \
+                   $newLVDesc $NO_MOUNT_CHECK NULL $NO_LINK  \
+                   tsfileid $fqDeviceName -F $newLVDesc > $outFidu
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  cleanupAndExit $rc
+fi
+
+
+#######################################################################
+# Check whether the output from tsfileid is empty.  If so, it means
+# that tsfileid returned successfully (rc already checked above)
+# but could not find any disk addresses that matched the input.
+#######################################################################
+if [[ ! -s $outFidu ]]
+then
+  # tsfileid did not find any addresses that matched the input.
+  printErrorMsg 562 $mmcmd $outFidu
+  cleanupAndExit $rc
+fi
+
+# If oflag is true, then create an empty output filename.
+[[ -n $oflag ]] && $rm -f $outFname
+
+
+#####################################################################
+# Look for special inodes (line starts with "Address").
+# tsfindinode cannot understand these special inode comments.
+# Convert the inode numbers returned by tsfileid to file names.
+#####################################################################
+# If an output file name was specified, redirect stdout to the file.
+[[ -n $oflag ]] && exec 1>> $outFname
+
+exec 3<&-
+exec 3< $outFidu
+while read -u3 inodeDesc
+do
+  set -f ; set -- $inodeDesc ; set +f
+  specialInode=$1
+
+  # Don't put lines for special inodes (i.e., those that start with
+  # "Address") into the file that will be passed to tsfindinode.
+  if [[ $specialInode = "Address" ]]
+  then
+    print $inodeDesc
+  else
+    print $inodeDesc >> $inInodeList
+  fi
+done
+
+# Call mmfileidPostprocess only if the inInodeList file is not empty.
+if [[ ! -s $inInodeList ]]
+then
+  rc=$?
+  cleanupAndExit $rc
+fi
+
+mmfileidPostprocess
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsck
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsck	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsck	(revision 16)
@@ -0,0 +1,177 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)82 1.30.1.2 src/avs/fs/mmfs/ts/admin/mmfsck.sh, mmfs, avs_rgpfs24, rgpfs24s010a 2/12/07 10:38:18
+#########################################################################
+#
+# Usage:
+#   mmfsck Device [-n | -y] [-s | -v | -V] [-c | -o] [-t Directory]
+#            [-N {all | mount | Node[,Node...] | NodeFile | NodeClass}]
+#
+#########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmfsck.sh"
+[[ -n $DEBUG || -n $DEBUGmmfsck ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local variables
+usageMsg=300
+integer rc=0
+integer nodeCount=0
+
+
+######################
+# Mainline processing
+######################
+
+#####################################################################
+# Process the command arguments.
+# Note that we do not use getopts to check the syntax.  tsfsck has some
+# unorthodox debugging options that cannot be handled with getopts.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+
+while [[ -n $1 ]]
+do
+  if [[ $1 = "-N"* ]]
+  then
+    # Intercept the -N parameter.
+    [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-N"
+    Nflag="-N"
+    if [[ $1 = "-N" ]]
+    then
+      [[ -z $2 ]] && syntaxError "missingValue" $noUsageMsg "-N"
+      Narg="$2"
+      nodeList="$2"
+      shift
+    else
+      Narg=${1#-N}
+      nodeList=${1#-N}
+    fi
+  else
+    # Pass all other parameters to the tsfsck command.
+    argList="$argList $1"
+  fi  # end of if [[ $token = "-N"* ]]
+
+  # Move to the next token
+  [[ -n $1 ]] && shift
+
+done  # end of while [[ -n $token ]]
+
+
+#####################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs is up-to-date.  There is no need to lock mmsdrfs file.
+#####################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+#######################################################
+# If a list of nodes was specified via the -N option,
+# convert it to a verified list of daemon node names.
+#######################################################
+if [[ -n $Nflag ]]
+then
+  if [[ $nodeList = all || $nodeList = mount ]]
+  then
+    # Add the keyword ("all" or "mount") to the argList string.
+    argList="$argList -N $nodeList "
+  else
+    # Verify the node list and convert it to a file of daemon node names.
+    createVerifiedNodefile "$nodeList" $DAEMON_NODENAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+
+    # Convert the output data from a file to a comma-separated list.
+    newNodeList=$(print -- $(cat $nodefile) | $sed 's/ /,/g')
+
+    # Add the verified node list to the argList string.
+    argList="$argList -N $newNodeList "
+  fi  # end of if [[ $nodeList = all || $nodeList = mount ]]
+fi  # end of if [[ -n $Nflag ]]
+
+
+##################################################
+# First try to run the command on the local node.
+##################################################
+${mmcmdDir}/${links}/mmfsck $fqDeviceName $argList
+rc=$(remapRC $?)
+
+# If acceptable error (daemon not running, waiting for quorum),
+# try some other node.  Otherwise, get out; the command either
+# worked or the errors are not acceptable.
+if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait || $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  fi
+  cleanupAndExit $rc
+fi
+
+
+############################################################################
+# If the local daemon is not available, send the command to an active node.
+############################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile $nodefile)
+[[ $nodeCount = 0 ]] &&  \
+  checkForErrors "$mmcmd: No nodes found in the cluster." 1
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmfsck $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsctl
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsctl	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsctl	(revision 16)
@@ -0,0 +1,1061 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2004,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)76 1.2.3.2 src/avs/fs/mmfs/ts/admin/mmfsctl.sh, mmfs, avs_rgpfs24, rgpfs24s005a 6/14/06 14:40:21
+################################################################################
+#
+# Usage:
+#
+#   mmfsctl Device {suspend | resume}
+#     or
+#   mmfsctl Device {exclude | include}
+#                  {-d DiskList | -F DiskFile | -G FailureGroup}
+#     or
+#   mmfsctl Device syncFSconfig
+#                  {-n RemoteNodes | -C RemoteCluster} [-S SpecFile]
+#
+# where
+#
+#   Device            The device name of the affected GPFS file system.
+#
+#   suspend           Suspend the execution of all new I/O requests coming
+#                     from user applications, flush all pending requests
+#                     on all nodes, bring the file system to a consistent
+#                     state on disk.
+#
+#   resume            Resume normal processing of I/O requests on all nodes.
+#
+#   exclude           Exclude the specified disks when determining the
+#                     most recent file system control data structures.
+#                     This has the effect of overriding the normal GPFS
+#                     quorum requirements for on-disk file system data
+#                     and stops the disks from participating into normal
+#                     file systems operations.
+#
+#   include           Restore the specified disks for normal file system
+#                     operations.
+#
+#   -d DiskList       The names of the disks to be excluded or included.
+#                     If there is more than one disk, delimit each name with
+#                     a semicolon (;) and enclose the list in quotation marks.
+#
+#   -F DiskFile       A file that contains, one per line, the names of the
+#                     disks to be excluded or included.
+#
+#   -G FailureGroup   Exclude or include all disks that belong to the
+#                     specified failure group.
+#
+#   syncFSconfig      Synchronize the file system configuration information
+#                     in a remote cluster with the file system information
+#                     in the local cluster.
+#
+#   -C RemoteCluster  The name of the remote cluster where the file system
+#                     information is to be imported.  The cluster must
+#                     already be registered with the mmremotecluster command.
+#
+#   -n RemoteNodes    The path name to a file containing, one per line,
+#                     hostnames or IP addresses of nodes that belong to
+#                     the remote cluster.
+#
+#   -S SpecFile       The path name to a file with the NSD server designations
+#                     in the remote cluster for all affected disks.  The file
+#                     format is the same as for the -S parameter of mmimportfs.
+#                     Note that SpecFile refers to a file in the remote cluster
+#                     and must exist on all nodes in the contact node list.
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmfsctl.sh"
+[[ -n $DEBUG || -n $DEBUGmmfsctl ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+tmpDiskFile=${tmpDir}tmpDiskFile.${mmcmd}.$$
+
+LOCAL_FILES=" $tmpDiskFile "
+
+
+# Local variables
+usageMsg=484
+typeset -l action
+
+
+# Local functions
+
+
+#####################################################################
+#
+# Function:  Depending on the specified action, either suspend
+#            or resume I/O activity for a given file system.
+#
+# Input:     $1 - file system device name
+#            $2 - action:  suspend, suspendandflush, or resume
+#
+# Output:    None.
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function fsSuspendOrResume   # <device> <action>
+{
+  typeset sourceFile="mmfsctl.sh"
+  [[ -n $DEBUG || -n $DEBUGfsSuspendOrResume ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset device=$1
+  typeset action=$2
+
+  typeset gpfsInitOutput findFSoutput fqDeviceName fsHomeCluster
+  typeset nodeCount preferredNode
+  typeset rc=0
+
+  [[ $action = suspend ]] && action=suspendandflush
+
+
+  #####################################################################
+  # Set up trap exception handling and ensure that the local copy of
+  # the mmsdrfs is up-to-date.  There is no need to lock mmsdrfs file.
+  #####################################################################
+  trap pretrap2 HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+
+
+  ###########################################################
+  # Make sure the specified file system exists and is local.
+  ###########################################################
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  fsHomeCluster=$3
+
+  # Exit with a message if the command was invoked for a remote file system.
+  if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Command is not allowed for remote file systems.
+    printErrorMsg 106 $mmcmd $device $fsHomeCluster
+    cleanupAndExit 1
+  fi
+
+
+  ##################################################
+  # First try to run the command on the local node.
+  ##################################################
+  ${mmcmdDir}/${links}/mmfsctl $fqDeviceName $action
+  rc=$(remapRC $?)
+
+  # If acceptable error (daemon not running, waiting for quorum),
+  # try some other node.  Otherwise, get out; the command either
+  # worked or the errors are not acceptable.
+  [[ $rc -ne $MM_DaemonDown &&
+     $rc -ne $MM_QuorumWait ||
+     $MMMODE = single       ]] &&  \
+    return $rc
+
+
+  ############################################################################
+  # If the local daemon is not available, send the command to an active node.
+  ############################################################################
+
+  # Create a file with the reliable names of the nodes in the cluster.
+  nodeCount=$(getNodeFile $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile $nodefile)
+  [[ $nodeCount = 0 ]] &&  \
+    checkForErrors "$mmcmd:  No nodes found in the cluster." 1
+
+  # Try the nodes one by one until you find a node that can execute the command.
+  preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+  $mmcommon linkCommand $preferredNode $nodefile mmfsctl $fqDeviceName $action
+  rc=$?
+
+  return $rc
+
+}  #-------- end of function fsSuspendOrResume ----------------------
+
+
+#####################################################################
+#
+# Function:  Mark the specified disks as excluded from stripe
+#            group descriptor operations.
+#
+# Input:     None explicit.  This function uses the global variables
+#            device, diskList, diskFile, and failureGroup.
+#
+# Output:    None.
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function fsExcludeDisks  # (parms passed via global variables)
+{
+  typeset sourceFile="mmfsctl.sh"
+  [[ -n $DEBUG || -n $DEBUGfsExcludeDisks ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset gpfsInitOutput findFSoutput fqDeviceName fsHomeCluster deviceName
+  typeset diskName disksToExclude sdrfsLine preferredNode tempList
+  typeset excludeThisDisk
+  typeset includedDisksFound=""
+  typeset rc=0
+
+
+  #############################################################
+  # Create a blank-separated list of the disks to be excluded.
+  #############################################################
+  if [[ -n $diskList ]]
+  then
+    # The input is specified in the form of a list of disk names.
+    IFS=';'
+    for diskName in $diskList
+    do
+      disksToExclude="${disksToExclude}${diskName}${BLANKchar}"
+    done
+    IFS="$IFS_sv"
+    disksToExclude="${disksToExclude% }"
+
+  elif [[ -n $diskFile ]]
+  then
+    # The disks are specified in a file.
+    exec 3< $diskFile
+    while read -u3 diskName
+    do
+      # Skip empty and comment lines.
+      [[ $diskName = *([$BLANKchar$TABchar])   ]] && continue
+      [[ $diskName = *([$BLANKchar$TABchar])#* ]] && continue
+
+      # Put the disk name in the list.
+      disksToExclude="${disksToExclude}${diskName}${BLANKchar}"
+    done  # end while read -u3 diskDesc
+    disksToExclude="${disksToExclude% }"
+
+  elif [[ -n $failureGroup ]]
+  then
+    : # The input must be a failure group; nothing to do for now.
+
+  else
+    # Something is very wrong.
+    checkForErrors "fsExcludeDisks: Missing input parameters" 1
+  fi  # end if [[ -n $diskList ]]
+
+  # Is there anything to do?
+  if [[ -z $disksToExclude && -z $failureGroup ]]
+  then
+    # No disks were specified.
+    printErrorMsg 264 $mmcmd
+    cleanupAndExit
+  fi
+
+
+  #######################################################################
+  # Set up trap exception handling and call the gpfsInit function.
+  # It will ensure that the local copy of the mmsdrfs and the rest of
+  # the GPFS system files are up-to-date and will obtain the sdr lock.
+  #######################################################################
+  trap pretrap HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit $lockId)
+  setGlobalVar $? $gpfsInitOutput
+
+  # Determine the lookup order for resolving host names.
+  [[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+  ###########################################################
+  # Make sure the specified file system exists and is local.
+  ###########################################################
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+
+  # Exit with a message if the command was invoked for a remote file system.
+  if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Command is not allowed for remote file systems.
+    printErrorMsg 106 $mmcmd $device $fsHomeCluster
+    cleanupAndExit 1
+  fi
+
+
+  ##############################################
+  # Create the new version of the mmsdrfs file.
+  ##############################################
+  $rm -f $newsdrfs $nodefile
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"   # Restore the default IFS settings.
+
+    # Change some of the fields depending on the type of line.
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )  # This is the global header line.
+        # Increment the generation number.
+        newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+        v[$SDRFS_GENNUM_Field]=$newGenNumber
+        ;;
+
+      $MEMBER_NODE )
+        # Add the reliable node name to nodefile.
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+        checkForErrors "writing to file $nodefile" $?
+
+        # If this is the line for the node that is executing
+        # this command, set the preferredNode variable.
+        [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+          preferredNode=${v[$REL_HOSTNAME_Field]}
+        ;;
+
+      $SG_DISKS )
+
+        if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+        then
+          # This is an SG_DISKS line that belongs to our filesystem.
+          # See if this disk is one of the disks to be excluded.
+          if [[ -n $failureGroup ]]
+          then
+            # Disks are to be excluded based on failure group.
+            [[ ${v[$FAILURE_GROUP_Field]} = $failureGroup ]] &&  \
+              v[$EXCLUDE_Field]=$excludedDisk
+
+          else
+            # The disks to be excluded are specified in the disksToExclude list.
+            tempList=""
+            excludeThisDisk=no
+            for diskName in $disksToExclude
+            do
+              if [[ $diskName = ${v[$DISK_NAME_Field]} ]]
+              then
+                # The disk represented by the current SG_DISKS line
+                # is one of the disks that must be excluded.
+                if [[ $excludeThisDisk = no ]]
+                then
+                  # Mark the disk as excluded.
+                  v[$EXCLUDE_Field]=$excludedDisk
+                  excludeThisDisk=yes
+                else
+                  # We have already seen this name during the current iteration.
+                  # It must be a duplicate entry in the command line list.
+                  printErrorMsg 88 $mmcmd $diskName
+                  cleanupAndExit
+                fi  # end of if [[ $excludeThisDisk = no ]]
+
+              else
+                # diskName does not match the name of the disk in the current
+                # SG_DISKS line.  Add diskName to the temporary list.
+                tempList="$tempList $diskName"
+              fi  # end of if [[ $diskName = ${v[$DISK_NAME_Field]} ]]
+            done  # end of for diskName in $disksToExclude
+
+            # If this disk will be excluded, its name does not appear in
+            # tempList.  In other words, tempList contains only the names of
+            # the disks that are to be excluded but for which the corresponding
+            # SG_LINES have not been encountered yet.  Initialize the list
+            # for the next iteration.
+            disksToExclude=$tempList
+
+          fi  # end of if [[ -n $failureGroup ]]
+
+          # Keep an overall track of the EXCLUDE field to prevent
+          # marking all disks as excluded.
+          [[ ${v[$EXCLUDE_Field]} = $includedDisk ]] &&
+            includedDisksFound=yes
+
+        fi  # end of if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+        ;;
+
+      * )  # Pass all other lines without a change.
+        ;;
+
+    esac  # end of "Change some of the fields . . . "
+
+    # Build and write the line to the new mmsdrfs file.
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # If there are still entries left in the disksToExclude list, this means
+  # that the user-specified disks that do not belong to the file system.
+  if [[ -n $disksToExclude ]]
+  then
+    for diskName in $disksToExclude
+    do
+      printErrorMsg 315 $mmcmd $diskName $device
+    done
+    cleanupAndExit
+  fi
+
+  # Make sure that at least one disk will remain included.
+  if [[ -z $includedDisksFound ]]
+  then
+    # All of the disks cannot be excluded.
+    print -u2 "$mmcmd: You cannot exclude all of the disks in a file system."
+    cleanupAndExit
+  fi
+
+  # Make sure the file system is not mounted on any of the nodes.
+  $mmcommon onactive $preferredNode $nodefile  \
+     $NO_FILE_COPY $fqDeviceName $CHECK_ALL $NO_LINK $MOUNT_CHECK_ONLY 2>$errMsg
+  rc=$?
+  if [[ $rc -eq $MM_FsMounted ]]
+  then
+    # The file system is still mounted; messages were issued by mmcommon.
+    cleanupAndExit
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on all nodes that we care about; that's just fine.
+    rc=0
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+    cleanupAndExit $rc
+  elif [[ $rc -ne 0 ]]
+  then
+    # An unexpected error occurred during the mount check.
+    if [[ -s $errMsg ]]
+    then
+      # Show the error messages from the daemon.
+      $cat $errMsg 1>&2
+    else
+      # The mount check failed and there were no messages from the daemon.
+      printErrorMsg 171 $mmcmd "mount check for $fqDeviceName" $rc
+    fi
+    # The command was unable to determine whether the file system is mounted.
+    printErrorMsg 564 $mmcmd $fqDeviceName
+    # The command failed.
+    printErrorMsg 389 $mmcmd
+    cleanupAndExit $rc
+  fi
+  $rm -f $errMsg
+
+
+  ###############################
+  # Commit the new mmsdrfs file.
+  ###############################
+  trap "" HUP INT QUIT KILL
+  gpfsObjectInfo=$(commitChanges  \
+     $nodesetId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    cleanupAndExit
+  fi
+
+
+  ##################
+  # Unlock the sdr.
+  ##################
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+  trap localPosttrap HUP INT QUIT KILL
+
+
+  ##################################################################
+  # Propagate the new mmsdrfs file.  This process is asynchronous.
+  ##################################################################
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+  return $rc
+
+}  #-------- end of function fsExcludeDisks ----------------------
+
+
+#####################################################################
+#
+# Function:  Mark the specified disks as included for stripe group
+#            descriptor operations.
+#
+# Input:     None explicit.  This function uses the global variables
+#            device, diskList, diskFile, and failureGroup.
+#
+# Output:    None.
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+#####################################################################
+function fsIncludeDisks  # (parms passed via global variables)
+{
+  typeset sourceFile="mmfsctl.sh"
+  [[ -n $DEBUG || -n $DEBUGfsIncludeDisks ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset gpfsInitOutput findFSoutput fqDeviceName fsHomeCluster deviceName
+  typeset diskName disksToInclude sdrfsLine preferredNode tempList
+  typeset includeThisDisk
+  typeset rc=0
+
+  tsDiskFile=${tmpDir}tsDiskFile.${mmcmd}.$$
+  LOCAL_FILES="$LOCAL_FILES $tsDiskFile"
+
+
+  #############################################################
+  # Create a blank-separated list of the disks to be included.
+  #############################################################
+  if [[ -n $diskList ]]
+  then
+    # The input is specified in the form of a list of disk names.
+    IFS=';'
+    for diskName in $diskList
+    do
+      disksToInclude="${disksToInclude}${diskName}${BLANKchar}"
+    done
+    IFS="$IFS_sv"
+    disksToInclude="${disksToInclude% }"
+
+  elif [[ -n $diskFile ]]
+  then
+    # The disks are specified in a file.
+    exec 3< $diskFile
+    while read -u3 diskName
+    do
+      # Skip empty and comment lines.
+      [[ $diskName = *([$BLANKchar$TABchar])   ]] && continue
+      [[ $diskName = *([$BLANKchar$TABchar])#* ]] && continue
+
+      # Put the disk name in the list.
+      disksToInclude="${disksToInclude}${diskName}${BLANKchar}"
+    done  # end while read -u3 diskDesc
+    disksToInclude="${disksToInclude% }"
+
+  elif [[ -n $failureGroup ]]
+  then
+    : # The input must be a failure group; nothing to do for now.
+
+  else
+    # Something is very wrong.
+    checkForErrors "fsIncludeDisks: Missing input parameters" 1
+  fi  # end if [[ -n $diskList ]]
+
+  # Is there anything to do?
+  if [[ -z $disksToInclude && -z $failureGroup ]]
+  then
+    # No disks were specified.
+    printErrorMsg 264 $mmcmd
+    cleanupAndExit
+  fi
+
+
+  #######################################################################
+  # Set up trap exception handling and call the gpfsInit function.
+  # It will ensure that the local copy of the mmsdrfs and the rest of
+  # the GPFS system files are up-to-date and will obtain the sdr lock.
+  #######################################################################
+  trap pretrap HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit $lockId)
+  setGlobalVar $? $gpfsInitOutput
+
+  # Determine the lookup order for resolving host names.
+  [[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+  ###########################################################
+  # Make sure the specified file system exists and is local.
+  ###########################################################
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+
+  # Exit with a message if the command was invoked for a remote file system.
+  if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Command is not allowed for remote file systems.
+    printErrorMsg 106 $mmcmd $device $fsHomeCluster
+    cleanupAndExit 1
+  fi
+
+
+  ##############################################
+  # Create the new version of the mmsdrfs file.
+  ##############################################
+  $rm -f $newsdrfs $nodefile $tsDiskFile
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"   # Restore the default IFS settings.
+
+    # Change some of the fields depending on the type of line.
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )  # This is the global header line.
+        # Increment the generation number.
+        newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+        v[$SDRFS_GENNUM_Field]=$newGenNumber
+        ;;
+
+      $MEMBER_NODE )
+        # Add the reliable node name to nodefile.
+        print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+        checkForErrors "writing to file $nodefile" $?
+
+        # If this is the line for the node that is executing
+        # this command, set the preferredNode variable.
+        [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+          preferredNode=${v[$REL_HOSTNAME_Field]}
+        ;;
+
+      $SG_DISKS )
+
+        if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+        then
+          # This is an SG_DISKS line that belongs to our filesystem.
+          # See if this disk is one of the disks to be included.
+          if [[ -n $failureGroup ]]
+          then
+            # Disks are to be included based on failure group.
+            if [[ ${v[$FAILURE_GROUP_Field]} = $failureGroup ]]
+            then
+              # Mark the disk as included.
+              v[$EXCLUDE_Field]=$includedDisk
+
+              # Add the disk to the list of disks for tsfsctl.
+              print -- "${v[$DISK_NAME_Field]}" >> $tsDiskFile
+              checkForErrors "writing to file $tsDiskFile" $?
+            fi  # end if [[ ${v[$FAILURE_GROUP_Field]} = $failureGroup ]]
+
+          else
+            # The disks to be included are specified in the disksToInclude list.
+            tempList=""
+            includeThisDisk=no
+            for diskName in $disksToInclude
+            do
+              if [[ $diskName = ${v[$DISK_NAME_Field]} ]]
+              then
+                # The disk represented by the current SG_DISKS line
+                # is one of the disks that must be included.
+                if [[ $includeThisDisk = no ]]
+                then
+                  # Mark the disk as included.
+                  v[$EXCLUDE_Field]=$includedDisk
+                  includeThisDisk=yes
+
+                  # Add the disk to the list of disks for tsfsctl.
+                  print -- "${v[$DISK_NAME_Field]}" >> $tsDiskFile
+                  checkForErrors "writing to file $tsDiskFile" $?
+                else
+                  # We have already seen this name during the current iteration.
+                  # It must be a duplicate entry in the command line list.
+                  printErrorMsg 88 $mmcmd $diskName
+                  cleanupAndExit
+                fi  # end of if [[ $includeThisDisk = no ]]
+
+              else
+                # diskName does not match the name of the disk in the current
+                # SG_DISKS line.  Add diskName to the temporary list.
+                tempList="$tempList $diskName"
+              fi  # end of if [[ $diskName = ${v[$DISK_NAME_Field]} ]]
+            done  # end of for diskName in $disksToInclude
+
+            # If this disk will be included, its name does not appear in
+            # tempList.  In other words, tempList contains only the names of
+            # the disks that are to be included but for which the corresponding
+            # SG_LINES have not been encountered yet.  Initialize the list
+            # for the next iteration.
+            disksToInclude=$tempList
+
+          fi  # end of if [[ -n $failureGroup ]]
+
+        fi  # end of if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+        ;;
+
+      * )  # Pass all other lines without a change.
+        ;;
+
+    esac  # end of "Change some of the fields . . . "
+
+    # Build and write the line to the new mmsdrfs file.
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # If there are still entries left in the disksToInclude list, this means
+  # that the user-specified disks that do not belong to the file system.
+  if [[ -n $disksToInclude ]]
+  then
+    for diskName in $disksToInclude
+    do
+      printErrorMsg 315 $mmcmd $diskName $device
+    done
+    cleanupAndExit
+  fi
+
+
+  ##############################
+  # Invoke the tsfsctl command.
+  ##############################
+  $mmcommon onactive $preferredNode $nodefile                       \
+                     $tsDiskFile $NO_MOUNT_CHECK NULL $NO_LINK      \
+                     tsfsctl "$fqDeviceName include -F $tsDiskFile"
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # tsfsctl failed.
+    printErrorMsg 104 "$mmcmd" "tsfsctl include"
+    cleanupAndExit $rc
+  fi
+
+
+  ###############################
+  # Commit the new mmsdrfs file.
+  ###############################
+  trap "" HUP INT QUIT KILL
+  gpfsObjectInfo=$(commitChanges  \
+     $nodesetId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    cleanupAndExit
+  fi
+
+
+  ##################
+  # Unlock the sdr.
+  ##################
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+  trap localPosttrap HUP INT QUIT KILL
+
+
+  ##################################################################
+  # Propagate the new mmsdrfs file.  This process is asynchronous.
+  ##################################################################
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+  return $rc
+
+}  #-------- end of function fsIncludeDisks ----------------------
+
+
+###########################################################################
+#
+# Function:  Synchronize the file system configuration information
+#            in the target cluster with the file system config data
+#            in the local cluster.
+#
+# Input:     None explicit.  This function uses the global variables
+#            remoteNodes, remoteCluster, and Sflag.
+#
+# Output:    None.
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+###########################################################################
+function syncFSconfig  # (parms passed via global variables)
+{
+  typeset sourceFile="mmfsctl.sh"
+  [[ -n $DEBUG || -n $DEBUGsyncFSconfig ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset contactNodes nodeName
+  typeset rc=0
+  typeset activeNodeFound=""
+
+  fsExportData=${tmpDir}fsExportData.${mmcmd}.$$
+  LOCAL_FILES="$LOCAL_FILES $fsExportData"
+
+  # Determine where to send the data.
+  if [[ -n $remoteCluster ]]
+  then
+    # If a cluster name was specified, get the contact nodes
+    # from the mmsdrfs file.
+    contactNodes=$($mmcommon getContactNodes $remoteCluster)
+    $rm -f $nodefile
+    IFS=","
+    for nodeName in $contactNodes
+    do
+      [[ $nodeName != tcpPort* ]] &&  \
+        print -- "$nodeName" >> $nodefile
+    done
+    IFS="$IFS_sv"  # Restore the default IFS settings.
+
+    if [[ ! -s $nodefile ]]
+    then
+      # No contact nodes were provided for the cluster.
+      printErrorMsg 177 $mmcmd $remoteCluster
+      cleanupAndExit
+    fi
+  else
+    : # The contact nodes are in $nodefile (created by checkUserFile).
+  fi  # end if [[ -n $remoteCluster ]]
+
+  # Extract the requested file system information from the local cluster.
+  # Collect the output in a file and show it only if there is an error.
+# printInfoMsg xyz $mmcmd
+  print -u2 "$mmcmd:  Exporting file system information from the source cluster . . ."
+  $mmexportfs $device -o $fsExportData -P
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    printErrorMsg 389 "$mmcmd: mmexportfs"
+    cleanupAndExit
+  fi
+
+  # Import the file system information into the remote cluster.
+  # Collect the output in a file and show it only if there is an error.
+  exec 3<&-
+  exec 3< $nodefile
+  while read -u3 nodeName
+  do
+    isNodeReachable $nodeName
+    [[ $? -ne 0 ]] && continue
+
+    activeNodeFound=yes
+#   printInfoMsg wxy $mmcmd
+    print -u2 "$mmcmd:  Importing file system information into the target cluster on node $nodeName . . ."
+    $mmdsh -svL $nodeName -I $fsExportData  \
+       "$mmimportfs $device -i $fsExportData $Sflag -R ; $rm -f $fsExportData"
+    rc=$?
+    [[ $rc -eq 0 ]] && break
+  done  # end of while read -u3 nodeName do
+
+  # Did we fail to run mmimportfs succesfully anywhere?
+  if [[ $rc -ne 0 ]]
+  then
+    # The command failed.  Examine prior error messages.
+    printErrorMsg 389 "syncFSconfig: mmimportfs"
+    cleanupAndExit
+  fi
+
+  if [[ -z $activeNodeFound ]]
+  then
+    if [[ -n $remoteCluster ]]
+    then
+      # None of the contact nodes in the cluster can be reached.
+      printErrorMsg 178 $mmcmd $remoteCluster
+    else
+      print -u2 "$mmcmd:  None of the nodes in the peer cluster can be reached."
+    fi
+    cleanupAndExit
+  fi
+
+  return $rc
+
+}  #------ end of function syncFSconfig ---------------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+######################################
+# Process the command line arguments.
+######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+# Process the positional parameters.
+device=$arg1
+kword=$arg2
+action=$arg2   # action keyword in lower case only
+
+[[ -z $action ]] && syntaxError "missingArgs" $usageMsg
+shift 2    # Move past the fs name and action parameters.
+
+
+# Process the rest of the parameters.
+if [[ $action = suspend || $action = suspendandflush || $action = resume ]]
+then
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+elif [[ $action = exclude || $action = include ]]
+then
+  while getopts :d:F:G: OPT
+  do
+    case $OPT in
+
+      d) [[ -n $dflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         dflag="-$OPT"
+         [[ -n $Fflag || -n $Gflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg $dflag $Fflag $Gflag
+         diskList="$OPTARG"
+         ;;
+
+      F) [[ -n $Fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Fflag="-$OPT"
+         [[ -n $dflag || -n $Gflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg $dflag $Fflag $Gflag
+         Farg="$OPTARG"
+         ;;
+
+      G) [[ -n $Gflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Gflag="-$OPT"
+         [[ -n $dflag || -n $Fflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg $dflag $Fflag $Gflag
+         failureGroup=$(checkIntRange "-G" "$OPTARG")
+         [[ $? -ne 0 ]] && cleanupAndExit
+         ;;
+
+       +[dfG]) # Invalid option.
+          syntaxError "invalidOption" $usageMsg $OPT
+          ;;
+
+       :) # Missing argument.
+          syntaxError "missingValue" $usageMsg $OPTARG
+          ;;
+
+       *) # Invalid option.
+          syntaxError "invalidOption" $usageMsg $OPTARG
+          ;;
+     esac
+  done
+  shift OPTIND-1
+
+  [[ -z $dflag && -z $Fflag && -z $Gflag ]] &&  \
+    syntaxError "missingArgs" $usageMsg
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+  # If -F was specified, ensure the disk names file exists and is not empty.
+  if [[ -n $Fflag ]]
+  then
+    checkUserFile $Farg $tmpDiskFile
+    [[ $? -ne 0 ]] && cleanupAndExit
+    diskFile=$tmpDiskFile
+  fi  # end of if [[ -n $Fflag ]]
+
+elif [[ $action = syncfsconfig ]]
+then
+  while getopts :C:n:S: OPT
+  do
+    case $OPT in
+      C) # Name of the target cluster.
+         [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         remoteCluster=$OPTARG
+         Cflag=yes
+         ;;
+
+      n) # Name of contact nodes file.
+         [[ -n $nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         narg=$OPTARG
+         nflag=yes
+         ;;
+
+      S) # Name of disk specifications file.
+         [[ -n $Sflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Sflag="-S $OPTARG"
+         ;;
+
+      :) syntaxError "missingValue" $usageMsg $OPTARG
+         ;;
+
+      +[CnS]) syntaxError "invalidOption" $usageMsg $OPT
+         ;;
+
+      *) # Invalid option specified.
+         syntaxError "invalidOption" $usageMsg $OPTARG
+         ;;
+    esac
+  done
+  shift OPTIND-1
+
+  [[ -n $Cflag && -n $nflag ]] &&  \
+    syntaxError "invalidCombination"  $usageMsg "-C" "-n"
+  [[ -z $Cflag && -z $nflag ]] &&  \
+    syntaxError "missingArgs" $usageMsg
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+  # If -n was specified, ensure the contact nodes file exist and is not empty.
+  # This will also copy the names into $nodefile (needed by function syncfsconfig).
+  if [[ -n $nflag ]]
+  then
+    checkUserFile $narg $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi  # end of if [[ -n $nflag ]]
+
+else
+  syntaxError "keyword" $usageMsg $kword
+
+fi  # end if [[ $action = suspend || $action = suspendandflush || $action = resume ]]
+
+
+##################################################
+# Invoke the appropriate function to do the work.
+##################################################
+
+case $action in
+  suspend | suspendandflush | resume )
+    fsSuspendOrResume $device $action
+    rc=$?
+    ;;
+
+  exclude )
+    fsExcludeDisks  # Parms are passed via global variables.
+    rc=$?
+    ;;
+
+  include )
+    fsIncludeDisks  # Parms are passed via global variables.
+    rc=$?
+    ;;
+
+  syncfsconfig )
+    syncFSconfig    # Parms are passed via global variables.
+    rc=$?
+    ;;
+
+  *) syntaxError "keyword" $usageMsg $kword
+    ;;
+esac  # end case $action in
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsenv
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsenv	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsenv	(revision 16)
@@ -0,0 +1,191 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)10 1.28 src/avs/fs/mmfs/ts/admin/mmfsenv.sh, mmfs, avs_rgpfs24, rgpfs240610b 10/26/05 19:20:30
+#######################################################################
+#
+# mmfsenv is used to establish the environment and to load
+# the kernel extensions for GPFS and its support programs.
+#
+#  Usage:
+#    mmfsenv [-r | -u]  [other_options]
+#
+#  where
+#    -r             unload the current extensions first.
+#    -u             unload the kernel extensions and exit.
+#    other_options  all other options are passed through to
+#                   the load and unload routines.
+#
+#######################################################################
+#
+# This script assumes that the GPFS daemon is running in the context
+# of the mm command environment and performs a series of checks to
+# assure that this environment is correct and that all other needed
+# subsystems are present and operational.  If this behavior is not
+# desired, because GPFS is running in a single node or controlled
+# test environment, set the environment variable MMFSBYPASSCFG.
+#
+#######################################################################
+
+# Save the command line options before doing anything else.
+opts=$@
+
+#######################################################################
+# If this has not been done yet by the caller, determine the pathname
+# of the mm commands directory and include the global declarations.
+#######################################################################
+if [[ $commandPath != set ]]
+then
+  # Decide where to look for the commands.  The normal install directory
+  # is /usr/lpp/mmfs/bin.  This can be changed by setting the MMFSDIR
+  # environment variable to something other than /usr/lpp/mmfs.
+  # If MMFSDIR is not used, before assuming the default install directory,
+  # we will check if the mmfs binaries are in the same place where this
+  # script resides.  This is a development aid for running out of a build tree.
+  if [[ -n $MMFSDIR ]]
+  then
+    mmcmdDir="${MMFSDIR}/bin"
+  else
+    if [[ -z ${0%%/*} ]]
+    then
+      fullname="$0"
+    else
+      fullname="${PWD%/}/$0"
+    fi
+    progDir=${fullname%/*}
+
+    if [[ -f ${progDir}/mmfs ]]
+    then
+      mmcmdDir="$progDir"
+    else
+      mmcmdDir="/usr/lpp/mmfs/bin"
+    fi
+  fi
+
+  # Determine the values of mmcmdSubdir and mmcmdSuffix.
+  set -f ; set -- $(/bin/uname -a) ; set +f
+  osName=$1
+  osVersion=$4
+  set --
+  if [[ -f ${mmcmdDir}/mmfs || $osName != AIX || $osVersion < 5 ]]
+  then
+    mmcmdSubdir=""
+    mmcmdSuffix=""
+
+  else
+    # Must be running on top of AIX 5.
+    # Determine whether the current kernel is 64-bit.
+    kernelMode=$(${mmcmdDir}/mmkerninfo)
+    if [[ $kernelMode = 64 ]]
+    then
+      mmcmdSubdir="aix64"
+      mmcmdSuffix="64"
+    else
+      mmcmdSubdir="aix32"
+      mmcmdSuffix=""
+    fi
+  fi
+
+  # Include global declarations and service routines.
+  . ${mmcmdDir}/mmglobfuncs
+  . ${mmcmdDir}/mmsdrfsdef
+  . ${mmcmdDir}/mmfsfuncs
+
+  commandPath=set
+
+fi  # end of if [[ $commandPath != set ]]
+
+sourceFile="mmfsenv.sh"
+[[ -n $DEBUG || -n $DEBUGmmfsenv ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Set up trap exception handling.
+trap pretrap2 HUP INT QUIT KILL
+
+# Separate -r and -u from the rest of the options.
+myopt=""
+extopt=""
+for opt in $opts
+do
+  if [[ $opt = "-r" || $opt = "-u" ]]
+  then
+    myopt=$opt
+  else
+    extopt="$extopt $opt"
+  fi
+done
+
+# If Linux, make sure the extension is reloaded.
+[[ $osName = Linux && -z $myopt ]] && myopt="-r"
+
+# Add the GPFS command directory to the path.
+PATH="$PATH:$mmcmdDir:"
+
+# If requested, unload the kernel extensions.
+if [[ $myopt = "-r" || $myopt = "-u" ]]
+then
+  # If Linux, first try to unmount left over file systems.
+  [[ $osName = Linux ]] && $umount -a -t gpfs
+
+  # Unload the extensions.
+  unloadKernelExt $myopt
+  rc=$?
+
+  # If Linux, try to bring the daemon up even if the unloadKernExt failed.
+  if [[ $osName = Linux && $rc -ne 0 ]]
+  then
+    if [[ $myopt = "-u" ]]
+    then
+      rc=$MM_KExtFailure
+    else
+      rc=0
+    fi
+  fi
+
+  # If nothing else to do, or if an unrecoverable error, get out.
+  if [[ $myopt = "-u" || $rc -ne 0 ]]
+  then
+    $mmTRACE_EXIT "rc=$rc after unloadKernelExt "
+    return $rc
+  fi
+fi
+
+# Load the mmfs extension.
+loadKernelExt $extopt
+rc=$?
+[[ $osName = Linux && $rc -ne 0 ]] && rc=$MM_KExtFailure
+if [[ $rc -ne 0 ]]
+then
+  $mmTRACE_EXIT "rc=$rc loadKernelExt failure"
+  return $rc
+fi
+
+# If MMFSBYPASSCFG is set, do not do configuration initialization.
+# This is used when running without the mm commands and repository services.
+if [[ -n $MMFSBYPASSCFG ]]
+then
+  $mmTRACE_EXIT "rc=0 mmchecksubsys bypassed"
+  return 0
+fi
+
+# Verify and update the mmfs environment.
+. $mmchecksubsys
+rc=$?
+sourceFile="mmfsenv.sh"  # Restore value after in-line call to mmchecksubsys.
+
+$rm -f $GLOBAL_FILES $LOCAL_FILES
+$mmTRACE_EXIT "rc=$rc"
+return $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsfuncs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsfuncs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsfuncs	(revision 16)
@@ -0,0 +1,1707 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)83 1.109.1.2 src/avs/fs/mmfs/ts/admin/mmfsfuncs.sh, mmfs, avs_rgpfs24, rgpfs24s012a 3/29/07 13:07:03
+######################################################################
+
+
+######################################################################
+#  Pull in operating system dependent functions and declarations.
+######################################################################
+[[ -e ${mmcmdDir}/mmfsfuncs.$osName ]] &&  \
+  . ${mmcmdDir}/mmfsfuncs.$osName
+
+
+##################################################################
+#
+# Function:  Given a disk name, find the file system to which
+#            the disk belongs.
+#
+# Input:     $1 - Name of disk
+#            $2 - Name of mmsdrfs file
+#
+# Output:    $1 - File system name
+#
+# Returns:   0 - file system found
+#            1 - file system not found
+#
+##################################################################
+function findFSforDisk  #  <diskName>  <sdrfs>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGfindFSforDisk ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset diskName=$1
+  typeset sdrfs=$2
+  typeset rc fsName
+
+  # The awk script looks at all SG_DISKS lines.
+  # If the disk name field matches the value in $diskName,
+  # we have located the line that we are looking for.
+  # Print the file system device name and stop.
+  fsName=$($awk -F: '                              \
+    /':$SG_DISKS:'/ {                              \
+      if ($'$DISK_NAME_Field' == "'$diskName'" &&  \
+          $'$DEV_NAME_Field' != "'$NO_DEVICE'") {  \
+        { print $'$DEV_NAME_Field' }               \
+        { exit 0 }                                 \
+      }                                            \
+    }                                              \
+  ' $sdrfs)
+  checkForErrors awk $?
+
+  if [[ -n $fsName ]]
+  then
+    print -- $fsName
+    return 0
+  else
+    return 1
+  fi
+
+}  #----- end of function findFSforDisk ------------------
+
+
+##################################################################
+#
+# Function:  Given a disk name, find the corresponding SG_DISKS
+#            line and return the value of the specified field.
+#
+# Input:     $1 - field whose value should be returned
+#            $2 - name of disk for which info is sought
+#            $3 - name of mmsdrfs file to search
+#
+# Output:    $1 - value of the requested field
+#
+# Returns:   0 - disk found and requested value returned
+#            1 - disk not found
+#
+##################################################################
+function getDiskInfo  #  <returnField> <diskName> <sdrfs>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGgetDiskInfo ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset returnField=$1
+  typeset diskName=$2
+  typeset sdrfs=$3
+  typeset rc result
+
+  # The awk script looks at SG_DISKS lines.
+  # If the diskname field matches the value in $diskName,
+  # we have located the line that we are looking for.
+  # Print the value of the requested field and stop.
+  result=$($awk -F: '                              \
+    /':$SG_DISKS:'/ {                              \
+      if ($'$DISK_NAME_Field' == "'$diskName'") {  \
+        { print $'$returnField' }                  \
+        { exit 0 }                                 \
+      }                                            \
+    }                                              \
+  ' $sdrfs)
+  checkForErrors awk $?
+
+  if [[ -n $result ]]
+  then
+    print -- $result
+    return 0
+  else
+    return 1
+  fi
+
+}  #----- end of function getDiskInfo --------------------
+
+
+############################################################################
+#
+# Function:  Given an mm disk descriptor and its corresponding free
+#            SG_DISKS line, this routine validates the parameters,
+#            converts the descriptor to ts format, and generates
+#            an updated SG_DISKS line.
+#
+# Input:     $1 - disk descriptor in mm format
+#            $2 - the current (free) SG_DISKS line for the disk
+#            $3 - file system to which the disk will be assigned
+#                   or $NO_DEVICE if invoked from mmcrnsd
+#                   or $CHANGE_NSD if invoked from mmchnsd
+#            $4 - nodeset to which the file system belongs
+#                   or $FREE_DISK if invoked from mmcrnsd
+#            $5 - status string with which to update DISK_STATUS_Field
+#                   when a match is found; NULL if no value
+#            $6 - (optional) Default disk usage if usage is not
+#                   specified in the mm disk descriptor.
+#                   "oldDiskUsage" is used when replacing a disk.
+#
+# Output:    $1 - updated SG_DISKS line for the disk
+#            $2 - Disk descriptor in TS format
+#            $3 - Disk usage
+#
+# Returns:   0 - valid descriptor
+#            1 - invalid descriptor
+#
+############################################################################
+function validateAndConvertNsdDescriptor  # <mmDiskDesc> <freeDiskLine>
+                                          # <fs> <nodesetId> <statusString>
+                                          # [<defaultUsage>]
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGvalidateAndConvertNsdDescriptor ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset mmDiskDesc=$1
+  typeset freeDiskLine=$2
+  typeset deviceName=$3
+  typeset nodesetId=$4
+  typeset statusString=$5
+  typeset defaultUsage=$6
+
+  typeset updatedDiskLine diskName diskUsage failureGroup ipa storagePool
+  typeset primaryNsdAdminNode newPrimaryNsdAdminNode
+  typeset primaryNsdDaemonNode newPrimaryNsdDaemonNode
+  typeset backupNsdAdminNode newBackupNsdAdminNode
+  typeset backupNsdDaemonNode newBackupNsdDaemonNode
+  typeset -i primaryNodeNumber defaultFailureGroup
+
+  typeset driverType="nsd"
+  typeset sectorSize=""
+  typeset hasMetaData=1
+  typeset hasData=1
+  typeset addingDiskToFS=""
+  typeset replacingDisk=""
+
+  [[ $statusString = NULL ]] && statusString=""
+  [[ $defaultUsage = oldDiskUsage ]] && replacingDisk=yes
+
+  ######################################################################
+  # Parse the mm descriptor and the current SG_DISKS line for the disk.
+  ######################################################################
+  IFS=":"
+  set -f ; set -- $mmDiskDesc ; set +f
+  diskName=${1#+(/)dev+(/)}       # name stripped of /dev/ prefix
+  newPrimaryNsdAdminNode=$2
+  newBackupNsdAdminNode=$3
+  diskUsage=$4
+  failureGroup=$5
+  storagePool=$7
+
+  set -f ; set -A v -- - $freeDiskLine ; set +f
+  IFS="$IFS_sv"
+
+  #################################################################
+  # Determine who the caller is.  The logic depends on whether
+  # we are creating a new disk (mmcrnsd), adding an already
+  # existing disk to a file system (mmcrfs, mmadddisk, mmrpldisk)
+  # or changing some of the disk attributes (mmchnsd).
+  #################################################################
+  if [[ $deviceName = $NO_DEVICE ]]
+  then
+    # Creating a new disk.  Verify that the disk name is specified.
+    deviceName=""
+    if [[ -z $diskName ]]
+    then
+      # The disk name must be specified in the disk descriptor.
+      printErrorMsg 23 $mmcmd
+      return 1
+    fi
+  elif [[ $deviceName = $CHANGE_NSD ]]
+  then
+    # The caller is mmchnsd or mmimportfs.
+    # The disk may or may not belong to a file system.
+    deviceName=${v[$DEV_NAME_Field]}
+    [[ $deviceName = $NO_DEVICE ]] && deviceName=""
+  else
+    # The caller is mmcrfs, mmadddisk, or mmrpldisk.
+    # The file system is known.
+    addingDiskToFS=yes
+  fi
+
+  #######################################################
+  # Verify the diskUsage parameter and set the ts flags.
+  #######################################################
+  [[ -z $defaultUsage ]] && defaultUsage=dataAndMetadata
+
+  [[ -z $diskUsage ]] && diskUsage=$defaultUsage
+
+  if [[ $diskUsage = dataAndMetadata ]]
+  then
+    :  # There is nothing to do; use default values.
+  elif [[ $diskUsage = metadataOnly ]]
+  then
+    hasData=0
+  elif [[ $diskUsage = dataOnly ]]
+  then
+    hasMetaData=0
+  elif [[ $diskUsage = descOnly ]]
+  then
+    hasData=0
+    hasMetaData=0
+  elif [[ $diskUsage = oldDiskUsage ]]
+  then
+    hasData=""
+    hasMetaData=""
+    diskUsage=${v[$DISK_USAGE_Field]}
+  else
+    # The disk usage parameter is invalid.
+    printErrorMsg 24 $mmcmd
+    return 1
+  fi
+
+  #######################################################
+  # Verify the NSD server node values.
+  #######################################################
+
+  # If a server node was specified, make sure that it is valid
+  # and convert it if necessary to an admin node adapter name.
+  if [[ -n $newPrimaryNsdAdminNode ]]
+  then
+    newPrimaryNsdAdminNode=$(checkAndConvertNodeValue  \
+      $newPrimaryNsdAdminNode $REL_HOSTNAME_Field)
+    [[ $? -ne 0 ]] && return 1
+    newPrimaryNsdDaemonNode=$(checkAndConvertNodeValue  \
+      $newPrimaryNsdAdminNode $DAEMON_NODENAME_Field)
+    [[ $? -ne 0 ]] && return 1
+  fi
+  if [[ -n $newBackupNsdAdminNode ]]
+  then
+    newBackupNsdAdminNode=$(checkAndConvertNodeValue  \
+      $newBackupNsdAdminNode $REL_HOSTNAME_Field)
+    [[ $? -ne 0 ]] && return 1
+    newBackupNsdDaemonNode=$(checkAndConvertNodeValue  \
+      $newBackupNsdAdminNode $DAEMON_NODENAME_Field)
+    [[ $? -ne 0 ]] && return 1
+  fi
+
+  # Are we adding disks to a file system?
+  if [[ -n $addingDiskToFS ]]
+  then
+    # If adding an existing disk to some file system,
+    # the descriptor cannot have NSD server nodes that
+    # are different than the ones already defined.
+    # Note:  Under normal circumstances, the server fields
+    #        in the disk descriptor should be null.
+    primaryNsdAdminNode=${v[$NSD_PRIMARY_NODE_Field]}
+    primaryNsdDaemonNode=${v[$DAEMON_NSD_PRIMARY_Field]}
+    backupNsdAdminNode=${v[$NSD_BACKUP_NODE_Field]}
+    backupNsdDaemonNode=${v[$DAEMON_NSD_BACKUP_Field]}
+
+    if [[ -n $newPrimaryNsdAdminNode &&  \
+          $newPrimaryNsdAdminNode != $primaryNsdAdminNode ]]
+    then
+      # The server node in the disk descriptor is not valid.
+      printErrorMsg 201 $mmcmd $newPrimaryNsdAdminNode
+      return 1
+    fi
+    if [[ -n $newBackupNsdAdminNode &&  \
+          $newBackupNsdAdminNode != $backupNsdAdminNode ]]
+    then
+      # The server node in the disk descriptor is not valid.
+      printErrorMsg 201 $mmcmd $newBackupNsdAdminNode
+      return 1
+    fi
+  else
+    # If creating a new disk or changing an existing one,
+    # accept the server node values from the descriptor.
+    primaryNsdAdminNode=$newPrimaryNsdAdminNode
+    primaryNsdDaemonNode=$newPrimaryNsdDaemonNode
+    backupNsdAdminNode=$newBackupNsdAdminNode
+    backupNsdDaemonNode=$newBackupNsdDaemonNode
+
+    if [[ -n $backupNsdAdminNode && -z $primaryNsdAdminNode ]]
+    then
+      # The primary NSD node is not specified.
+      printErrorMsg 491 $mmcmd $diskName
+      return 1
+    fi
+  fi  # end of if [[ -n $addingDiskToFS ]]
+
+  # If a primary NSD node was specified, find its node number
+  # in order to compute the default failure group value.
+  if [[ -n $primaryNsdAdminNode ]]
+  then
+    if [[ $backupNsdAdminNode = $primaryNsdAdminNode ]]
+    then
+      # The primary and backup NSD servers must be different nodes.
+      printErrorMsg 492 $mmcmd
+      return 1
+    fi
+
+    primaryNodeNumber=$(checkAndConvertNodeValue $primaryNsdAdminNode $NODE_NUMBER_Field)
+    [[ $? -ne 0 ]] && return 1
+
+    # The default failure group is the primary server number + 4000.
+    defaultFailureGroup=$primaryNodeNumber+4000
+  fi  # end of if [[ -n $primaryNsdAdminNode ]]
+
+  ##############################
+  # Failure group verification
+  ##############################
+  if [[ -n $replacingDisk ]]
+  then
+    : # Let tsrpldisk handle the failure group.
+
+  elif [[ -n $failureGroup ]]
+  then
+    # Validate the user-supplied value.
+    if [[ $failureGroup != ?(-)+([0-9]) ]]
+    then
+      # Invalid integer
+      printErrorMsg 199 $mmcmd $failureGroup
+      return 1
+    fi
+
+    if [[ $failureGroup -ge -1 && $failureGroup -le 4000 ||
+          -n $primaryNsdAdminNode && $failureGroup -eq $defaultFailureGroup ]]
+    then
+      : # The user-specified failure group looks reasonable.
+    else
+      # Invalid failure group range.
+      printErrorMsg 30 $mmcmd
+      return 1
+    fi
+
+  elif [[ -n $primaryNsdAdminNode ]]
+  then
+    # Set the failure group to the server node number + 4000.
+    failureGroup=$defaultFailureGroup
+
+  else
+    # If all else fails, go with negative one.
+    failureGroup="-1"
+  fi  # end of if [[ -n $replacingDisk ]]
+
+  #############################
+  # Storage pool verification
+  #############################
+  # Check the storage pool name if one was specified.
+  if [[ -n $storagePool && $storagePool != "system" ]]
+  then
+    # Check whether the disk is to be used for metadata.
+    if [[ $hasMetaData = 1 || $diskUsage = descOnly ]]
+    then
+      # The disk usage is not compatible with the storage pool. 
+      printErrorMsg 239 $mmcmd $diskUsage $storagePool
+      return 1
+    fi
+
+    # Check whether the storage pool name conforms to naming rules.
+    # If it does not, issue an error message and exit with a non-zero rc.
+    checkName poolName 255 "$storagePool"
+    [[ $? -ne 0 ]] && return 1
+  fi
+
+  ##############################################################
+  # Everything seems to be OK.  Generate the output and return.
+  ##############################################################
+  # Build the ts version of the descriptor.
+  tsDiskDesc="$diskName:$driverType:$sectorSize:$failureGroup:"
+  tsDiskDesc="${tsDiskDesc}$hasMetaData:$hasData:$storagePool"
+
+  # Update fields in the SG_DISKS line as necessary.
+  [[ -z $deviceName ]] && deviceName=$NO_DEVICE
+  v[$NODESETID_Field]=$nodesetId
+  v[$DEV_NAME_Field]=$deviceName
+  v[$FAILURE_GROUP_Field]=$failureGroup
+  v[$DISK_USAGE_Field]=$diskUsage
+  v[$DISK_TYPE_Field]=$driverType
+  v[$DISK_STATUS_Field]=$statusString
+  v[$NSD_PRIMARY_NODE_Field]=$primaryNsdAdminNode
+  v[$NSD_BACKUP_NODE_Field]=$backupNsdAdminNode
+  v[$DAEMON_NSD_PRIMARY_Field]=$primaryNsdDaemonNode
+  v[$DAEMON_NSD_BACKUP_Field]=$backupNsdDaemonNode
+  v[$STORAGE_POOL_Field]=$storagePool
+  updatedDiskLine=$(print_newLine)
+
+  # Print the results.
+  print -- "$updatedDiskLine $tsDiskDesc $diskUsage"
+
+  return 0
+
+}  #----- end of function validateAndConvertNsdDescriptor ---------
+
+
+########################################################################
+#
+# Function:  Invoke tspreparedisk to generate an unique identifier
+#            and record it on the disk.  If invoked by mmimportfs,
+#            move the sg descriptor to sector 8 if necessary.
+#
+# Input:     $1 - name of the underlying disk to use
+#            $2 - value of verification flag (-v option of mmcrnsd)
+#            $3 - invoking command
+#            $4 - nsd subtype
+#                   (if "NULL" is passed, createNsd will determine it)
+#
+# Output:    NSD disk type followed by the output from tspreparedisk
+#
+# Returns:   0 - success
+#            non-zero - unexpected error
+#
+########################################################################
+function createNsd  # <diskName> <vflag> <invokingCommand> <nsdSubtype>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGcreateNsd ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset diskName=$1
+  typeset vflag=$2
+  typeset invokingCommand=$3
+  typeset nsdSubtype=$4
+
+  typeset device tscmdParms tspreparediskOutput
+  typeset unfenceAttempted=""
+  typeset rc=0
+  typeset ec=0
+
+  if [[ $nsdSubtype = NULL ]]
+  then
+    # Determine the type of the underlying disk.
+    nsdSubtype=$(determineNsdSubtype $diskName)
+    rc=$?
+    if [[ $rc -ne 0 || -z $nsdSubtype ]]
+    then
+      # Print result and return.
+      print error tspreparedisk:0:0:0:0:3901:0:0
+      [[ $rc -eq 0 ]] && rc=1
+      return $rc
+    fi
+  fi  # end of if [[ $nsdSubtype = NULL ]]
+
+  # Ensure the sg descriptor starts in sector 8.
+  if [[ $invokingCommand = mmimportfs ]]
+  then
+    tspreparediskOutput=$($tspreparedisk -m $diskName 2>$errMsg)
+    rc=$?
+
+    # If we fail because this is a fenced-out VSD,
+    # unfence the disk and retry the tspreparedisk.
+    if [[ $rc -eq 50 && $nsdSubtype = vsd ]]
+    then
+      $rm -f $errMsg
+      unfenceVSDdisk $diskName
+      ec=$?
+      unfenceAttempted=yes
+      if [[ $ec -eq 0 ]]
+      then
+        tspreparediskOutput=$($tspreparedisk -m $diskName 2>$errMsg)
+        rc=$?
+      fi
+    fi  # end of if [[ $rc -eq 50 && $nsdSubtype = vsd ]]
+
+    # Check the result from the tspreparedisk command.
+    if [[ $rc -ne 0 || -z $tspreparediskOutput ]]
+    then
+      # Print result and return.
+      [[ -s $errMsg ]] && $cat $errMsg 1>&2
+      $rm -f $errMsg
+      print error tspreparedisk:$rc:0:0:0:3902:0:0
+      [[ $rc -eq 0 ]] && rc=1
+      return $rc
+    fi
+    $rm -f $errMsg
+  fi  # end of if [[ $invokingCommand = mmimportfs ]]
+
+  # Construct the fully-qualified device name.
+  # Note that this is required for the -n and -N options
+  # of tspreparedisk, but not for the -m option.
+  if [[ $diskName = /* ]]
+  then
+    device=$diskName
+  elif [[ $osName = AIX ]]
+  then
+    device=/dev/r$diskName
+  else
+    device=/dev/$diskName
+  fi
+
+  # Determine the parameters to specify on the tspreparedisk command.
+  # If the -v flag on the mmcrnsd command was set to yes, do not
+  # overwrite an existing pvid.  Otherwise, unconditionally generate
+  # a new pvid.
+  if [[ $vflag = yes ]]
+  then
+    tscmdParms="-n $device -t $nsdSubtype"
+  else
+    tscmdParms="-N $device -t $nsdSubtype"
+  fi
+
+  # Invoke tspreparedisk to generate and write a unique pvid on the disk.
+  tspreparediskOutput=$($tspreparedisk $tscmdParms)
+  rc=$?
+
+  # If there is failure because this is a fenced-out VSD,
+  # unfence the disk and retry the tspreparedisk.
+  if [[ $rc -eq 50 && $nsdSubtype = vsd && -z $unfenceAttempted ]]
+  then
+    unfenceVSDdisk $diskName
+    ec=$?
+    if [[ $ec -eq 0 ]]
+    then
+      tspreparediskOutput=$($tspreparedisk $tscmdParms)
+      rc=$?
+    fi
+  fi  # end of if [[ $rc -eq 50 && $nsdSubtype = vsd && -z $unfenceAttempted ]]
+
+  # Output the NSD subtype and the result from tspreparedisk.
+  print $nsdSubtype $tspreparediskOutput
+  return $rc
+
+}  #----- end of function createNsd ----------------------
+
+
+##############################################################################
+#
+# Function:  Invoke tspreparedisk to configure disks for use as quorum disks.
+#
+# Input:     $1 - file with the SG_DISK lines for the disks
+#            $2 - comma-separated list of quorum node numbers
+#            $3 - comma-separated list of quorum node names
+#            $4 - invoking command
+#
+# Output:    None
+#
+# Returns:   0 - success
+#            non-zero - unexpected error
+#
+##############################################################################
+function formatPaxosDisks  # <diskLines> <quorumNodeNumbers>
+                           # <quorumNodeNames> <invokingCommand>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGformatPaxosDisks ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset diskLines=$1
+  typeset quorumNodeNumbers=$2
+  typeset quorumNodeNames=$3
+  typeset invokingCommand=$4
+
+  typeset rc=0
+  typeset formatPaxosDisks_rc=0
+  typeset wOpt=""
+  typeset sdrfsLine diskName pvid nsdSubtype fOpt rc2
+  typeset magicWord fsName nodeName invokedNode result
+
+  [[ $invokingCommand = mmaddnode ]] && wOpt="-w"
+
+  # Read the SG_DISK lines and process the disks one by one.
+  $rm -f $errMsg
+  IFS=":"
+  exec 3<&-
+  exec 3< $diskLines
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+    diskName=${v[$DISK_NAME_Field]}
+    pvid=${v[$PVID_Field]}
+    nsdSubtype=${v[$NSD_SUBTYPE_Field]}
+
+    if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+    then
+      fOpt=""
+    else
+      fOpt="-f"
+    fi
+
+    # Loop through the list of nodes, invoking the tspreparedisk command
+    # to format the disk.  We continue looping until we succeed on some node.
+    IFS=","
+    for nodeName in $quorumNodeNames
+    do
+      IFS="$IFS_sv"
+      if [[ $nodeName = $ourNodeName ]]
+      then
+        # Execute the command locally.
+        result=$($mmremote adminCmd tspreparedisk  \
+                    -p $pvid -t $nsdSubtype -q $quorumNodeNumbers $fOpt $wOpt)
+        rc=$?
+        invokedNode=$ourNodeName
+        tspreparediskOutput="$result"
+      else
+        # Check whether the node can be reached.
+        isNodeReachable $nodeName
+        if [[ $? -eq 0 ]]
+        then
+          # Invoke mmdsh to execute the command on the node.
+          result=$($mmdsh -vL $nodeName $mmremote adminCmd tspreparedisk  \
+                      -p $pvid -t $nsdSubtype -q $quorumNodeNumbers $fOpt $wOpt)
+          rc=$?
+          invokedNode=${result%%: *}
+          tspreparediskOutput=${result#* }
+          tspreparediskOutput=${tspreparediskOutput## }
+        else
+          rc=$MM_HostDown
+        fi  # end of if [[ $? -eq 0 ]]
+      fi  # end of if [[ $nodeName = $ourNodeName ]]
+
+      # Parse the result from tspreparedisk.
+      IFS=":"
+      set -f ; set -- $tspreparediskOutput ; set +f
+      magicWord=$1
+      rc2=$2
+      IFS="$IFS_sv"
+
+      # Issue an appropriate message if the node was unable
+      # to execute tspreparedisk successfully.
+      if [[ $rc -ne 0 || $magicWord != tspreparedisk || $rc2 -ne 0 ]]
+      then
+        # Something went wrong with this disk.
+        # Try to make sense of the error.
+        if [[ $rc -eq $MM_HostDown ]]
+        then
+          # The node is not reachable.
+          printErrorMsg 340 $mmcmd $nodeName 2>> $errMsg
+        elif [[ $magicWord = tspreparedisk ]]
+        then
+          # tspreparedisk executed but it was not happy about something.
+          if [[ $rc2 = 1 ]]       # E_PERM
+          then
+            # Permission was denied for disk.
+            printErrorMsg 523 "$invokedNode: $mmcmd" "$diskName" 2>> $errMsg
+          elif [[ $rc2 = 2 ]]     # E_NOENT
+          then
+            # The disk was not found.
+            printErrorMsg 524 "$invokedNode: $mmcmd" "$diskName" 2>> $errMsg
+          elif [[ $rc2 = 5 ]]     # E_IO
+          then
+            # I/O error
+            printErrorMsg 525 "$invokedNode: $mmcmd" "$diskName" 2>> $errMsg
+          elif [[ $rc2 = 19 ]]    # E_NODEV
+          then
+            # A return code of ENODEV was returned for the disk.
+            printErrorMsg 187 $mmcmd $invokedNode "$diskName" 2>> $errMsg
+          elif [[ $rc2 = 50 ]]    # E_NOCONNECT
+          then
+            # The disk is fenced out.
+            printErrorMsg 395 $mmcmd $invokedNode "$diskName" 2>> $errMsg
+          elif [[ $rc2 = 214 ]]   # E_VALIDATE
+          then
+            # Disk validation error.
+            printErrorMsg 539 "$invokedNode: $mmcmd" "$diskName" $rc2 2>>$errMsg
+          elif [[ $rc2 = 221 ]]   # E_BALSPACE
+          then
+            # There is no space in the descriptor for the paxos sectors.
+            printErrorMsg 531 "$invokedNode: $mmcmd" "$diskName" 2>> $errMsg
+          elif [[ $rc2 = 236 ]]   # E_FORMAT_INCOMPAT
+          then
+            # The disk belongs to a back level file system or
+            # it is not in ready state.
+            fsName=$(findFSforDisk "$diskName" $mmsdrfsFile)
+            printErrorMsg 528 "$invokedNode: $mmcmd" "$diskName" $fsName 2>> $errMsg
+          else
+            # Show the result from tspreparedisk.
+            print -u2 "$tspreparediskOutput" 2>> $errMsg
+            # There was an unexpected error from tspreparedisk.
+            printErrorMsg 171 "$invokedNode: $mmcmd"  \
+              "tspreparedisk -p $pvid -t $nsdSubtype -q $quorumNodeNumbers $fOpt $wOpt" $rc2 2>> $errMsg
+          fi  # end of if [[ $rc2 = 1 ]]
+        else
+          # Something is really wrong.  Output error information if any.
+          [[ -n $result ]] && print -u2 "$nodeName: $result" 2>> $errMsg
+        fi  # end of if [[ $magicWord = tspreparedisk ]]
+      fi  # end of if [[ $rc -ne 0 || $magicWord != tspreparedisk || $rc2 -ne 0 ]]
+
+      # Exit the loop if tspreparedisk succeeded.
+      [[ $rc -eq 0 && $magicWord = tspreparedisk && $rc2 -eq 0 ]] && break
+
+      IFS=","  # Change the field separator back to "," for the next iteration.
+    done  # end of for nodeName in $quorumNodeNames
+    IFS="$IFS_sv"
+
+    # If no node was able to run tspreparedisk successfully,
+    # show all of the error messages and set a failure return code.
+    if [[ $rc -ne 0 || $magicWord != tspreparedisk || $rc2 -ne 0 ]]
+    then
+      $cat $errMsg 1>&2
+      # Failed while processing the disk.
+      printErrorMsg 529 $mmcmd "$diskName"
+      formatPaxosDisks_rc=1
+    fi  # end of if [[ $rc -ne 0 || $magicWord != tspreparedisk || $rc2 -ne 0 ]]
+
+    # Reset things needed for the next iteration.
+    $rm -f $errMsg
+    IFS=":"
+
+  done  # end of while read -u3 sdrfsLine
+  IFS="$IFS_sv"
+
+  return $formatPaxosDisks_rc
+
+}  #----- end of function formatPaxosDisks --------------------
+
+
+############################################################################
+#
+# Function:  Send nsd data obtained from the tspreparedisk -s command
+#            (and other sources) for all nsds on this node to stdout.
+#
+# Input:     X flag (optional; if set, it specifies that eXtra information
+#              should be returned in the remarks field)
+#
+# Output:    colon-separated nsd information from the "tspreparedisk -s"
+#              command (and other sources if the X flag was specified)
+#
+# Returns:   0 - success
+#
+############################################################################
+function getLocalNsdData   # [<Xflag>]
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGgetLocalNsdData ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset Xflag=$1
+  typeset tspreparediskLine nsid deviceName localDevice deviceType vgname
+  typeset vsdDataNeeded=yes
+
+  # Obtain the output of the tspreparedisk -s command.
+  $tspreparedisk -s > $tsOutputFile 2> $errMsg
+
+  # Read and process the output.
+  exec 4<&-
+  exec 4< $tsOutputFile
+  while read -u4 tspreparediskLine
+  do
+    # Parse the tspreparedisk output line.
+    set -f ; set -- $tspreparediskLine ; set +f
+    nsid=$1
+    localDevice=$2
+    deviceType=$3
+
+    # If this is an AIX environment, replace the /dev/r prefix with /dev/.
+    if [[ $osName = AIX && $localDevice = +(/)dev+(/)r* ]]
+    then
+      deviceName=${localDevice##+(/)dev+(/)r}
+      localDevice=/dev/$deviceName
+    fi
+
+    if [[ -z $Xflag ]]
+    then
+      # Here if -m or -M was specified.
+      # If this is not an error line, print the data.
+      [[ $nsid != tspreparedisk* ]] &&  \
+        print "getLocalNsdData:$nsid:$localDevice:$deviceType::" >> $nsdDataFile
+    else
+      # Here if -X was specified.
+      # Obtain information for the remarks field for certain types of disks.
+      remarks=""
+      if [[ $osName = AIX ]]
+      then
+        if [[ $deviceType = vsd ]]
+        then
+          # Obtain VSD information for the remarks field.
+          if [[ $vsdDataNeeded = yes ]]
+          then
+            getVsdRpdNodeData $tmpNodes
+            LC_ALL=C $lsvsd -l > $vsdNamesFile 2>/dev/null
+            LC_ALL=C $vsdatalst -v > $diskfile  2>/dev/null
+            LC_ALL=C $vsdatalst -g > $volGroupFile 2>/dev/null
+            $touch $tmpNodes $vsdNamesFile $diskfile $volGroupFile
+            vsdDataNeeded=no
+          fi
+          remarks=$(obtainVsdInfo $deviceName $tmpNodes $vsdNamesFile $diskfile $volGroupFile)
+        elif [[ $deviceType = lv ]]
+        then
+          # Obtain logical volume information for the remarks field.
+          vgname=$(LC_ALL=C $lslv -L $deviceName 2>/dev/null | $awk '/VOLUME GROUP:/ {print $6}')
+          [[ -z vgname ]] && vgname=unknown
+          remarks="lv=$deviceName,vg=$vgname"
+        fi  # end of if [[ $deviceType = vsd ]]
+      fi  # end of if [[ $osName = AIX ]]
+
+      # If this is not an error line, print the data.
+      [[ $nsid != tspreparedisk* ]] &&  \
+        print "getLocalNsdData:$nsid:$localDevice:$deviceType:$remarks:" >> $nsdDataFile
+    fi    # end of if [[ -z $Xflag ]]
+  done  # end of while read -u4 tspreparediskLine
+
+  # Send the colon-separated output and any error messages to stdout.
+  $touch $nsdDataFile    # Make sure the file exists even if empty.
+  cat $nsdDataFile $errMsg
+  return 0
+
+}  #----- end of function getLocalNsdData ---------------------
+
+
+####################################################################
+#
+# Function:  Find out the local device name for the disk with
+#            the specified pvid.
+#
+# Input:     $1 - pvid of the disk being looked up
+#            $2 - nsd subtype of the disk being looked up
+#
+# Output:    A line with the following ':' separated fields:
+#            - magic word 'getLocalDiskName'
+#            - local disk name
+#            - return code from tspreparedisk -p
+#            - always 0 (used to be return code from tsnsdreset -q)
+#
+# Returns:   0 - success
+#            1 - unexpected error
+#
+####################################################################
+function getLocalDiskName  # <pvid> <nsdSubtype>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGgetLocalDiskName ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset pvid=$1
+  typeset nsdSubtype=$2
+
+  typeset tspreparediskOutput magicWord pvid
+  typeset localDiskName=""
+  typeset rc=0
+  typeset rc1=0
+  typeset rc2=0
+
+  # Use the nsd commands to determine the local device name.
+
+  # Find out the local device name.
+  tspreparediskOutput=$($tspreparedisk -p $pvid -t $nsdSubtype 2>$errMsg2)
+  rc=$?
+
+  # Parse the output from the tspreparedisk command.
+  IFS=":"
+  set -f ; set -- $tspreparediskOutput ; set +f
+  magicWord=$1
+  rc1=$2
+  pvid=$3
+  localDiskName=$4
+  IFS="$IFS_sv"
+
+  if [[ $magicWord != tspreparedisk ]]
+  then
+    # Unexpected error.  Print error messages and give up.
+    [[ -s $errMsg2 ]] && $cat $errMsg2 1>&2
+    $rm -f $errMsg2
+    [[ $rc -eq 0 ]] && rc=1
+    printErrorMsg 171  \
+      "getLocalDiskName" "tspreparedisk -p $pvid -t $nsdSubtype" $rc
+    return 1
+  fi
+  $rm -f $errMsg2
+
+  # If this is an AIX environment, replace the /dev/r prefix with /dev/.
+  if [[ $osName = AIX && $localDiskName = +(/)dev+(/)r* ]]
+  then
+    localDiskName=${localDiskName##+(/)dev+(/)r}
+    localDiskName=/dev/$localDiskName
+  fi
+
+  if [[ $rc -eq 0 && -n $localDiskName ]]
+  then
+    # tspreparedisk worked and we have a good answer.
+    print -- "getLocalDiskName:$localDiskName:$rc1:$rc2"
+    return 0
+  fi
+
+  if [[ $MMMODE = single ]]
+  then
+    # If in single mode, there is nothing more to try; give up.
+    print -- "getLocalDiskName:$UNRESOLVED:$rc1:$rc2"
+    return 0
+  fi
+
+  # If we are here, tspreparedisk failed to find out the local disk name.
+  # There may be many reasons for this, one of which is that the disk is
+  # being reserved by some other node and we cannot verify the pvid.
+  # Assuming this is the case, we will look at the nsd map file and will
+  # attempt to determine the mapping from there keeping in mind that the
+  # answer is not 100% guaranteed to be correct anymore.
+
+  # Search the nsd map file for an entry with our pvid.
+  if [[ -s $nsdmap ]]
+  then
+    localDiskName=$($awk ' {   \
+      if ($1 == "'$pvid'") {   \
+        { print $2 }           \
+        { exit 0 }             \
+      }                        \
+    } ' $nsdmap)
+    checkForErrors "awk $nsdmap" $?
+  fi  # end of if [[ -s $nsdmap ]]
+
+  # If no matching pvid found in the hints file, give up.
+  if [[ -z $localDiskName ]]
+  then
+    print -- "getLocalDiskName:$UNRESOLVED:$rc1:$rc2"
+    return 0
+  fi
+
+  # tspreparedisk should have been able to verify the pvid;
+  # most likely this is a different disk.
+  print -- "getLocalDiskName:$UNRESOLVED:$rc1:$rc2"
+
+  return 0
+
+}  #----- end of function getLocalDiskName ---------------
+
+
+#############################################################
+#
+# Function:  Select an unused device minor number.
+#
+# Input:     $1 - list of currently-assigned minor numbers.
+#
+# Output:    A minor number for the /dev entry.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+#############################################################
+function assignDevMinor  # <existingMinorNumbers>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGassignDevMinor ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset existingMinorNumbers="$1"
+
+  typeset x devMinor
+  typeset rc=0
+
+  # Set the initial devMinor number.  The first 50 numbers
+  # are reserved for existing file systems that do not play
+  # by the new rules yet.
+  devMinor=$((minMinorNumber + 50))
+
+  # Keep looping until we either find an unused minor number,
+  # or we run out of numbers.
+  while ((devMinor <= maxMinorNumber))
+  do
+    # Scan the currently-assigned minor numbers.
+    for x in $existingMinorNumbers
+    do
+      # If the number that we want is already in use,
+      # get out of the for loop.
+      [[ $x = $devMinor ]] && break
+    done
+
+    # If the number that we want is free, we are done.
+    [[ $x != $devMinor ]] && break
+
+    # No luck so far, try the next number.
+    devMinor=$((devMinor + 1))
+
+  done # end of while ((devMinor <= maxMinorNumber))
+
+  # If the number is out of range, return null and let
+  # mmfsmknod worry about it.  This should never happen
+  # since we do not support more than 32 file systems.
+  if [[ $devMinor -gt $maxMinorNumber ]]
+  then
+    rc=1
+    devMinor=""
+  fi
+
+  # Return the result.
+  print -- $devMinor
+  return $rc
+
+}  #----- end of function assignDevMinor -----------------
+
+
+#############################################################
+#
+# Function:  Find the disk info (pvid, vgname, lvname) that
+#            corresponds to the raw disk name.
+#
+# Input:     $1 - raw disk name (eg: hdisk7, sda2).
+#
+# Output:    The disk information:  pvid, vgname, lvname.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+#############################################################
+function getRawDiskInfo  # <rawDiskName>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGgetRawDiskInfo ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset rawDiskName=$1
+
+  typeset pvid vgname lvname lspvOutput
+  integer rc=0
+
+  # Find out the disks pvid and local volume group.
+  lspvOutput=$($lspv | $grep -w $rawDiskName)
+  rc=$?
+  set -f ; set -- $lspvOutput ; set +f
+  pvid=$2
+  vgname=$3
+  if [[ $rc -ne 0 || -z $pvid || -z $vgname ]]
+  then
+    printErrorMsg 232 $mmcmd $rawDiskName lspv
+    return $rc
+  fi
+
+  if [[ $vgname != None && $vgname != gpfs ]]
+  then
+    # Determine the name of the logical volume that corresponds to this
+    # volume group.  If there is more than one lv ...?
+    lvname=$(LC_ALL=C $lsvg -l $vgname 2>/dev/null | $grep mmfs | $awk '{ print $1 }')
+    rc=$?
+    if [[ $rc -ne 0 || -z $lvname ]]
+    then
+      printErrorMsg 104 "$mmcmd" "lsvg -l $vgname"
+      return 1
+    fi
+  else
+    # We come here if vgname = None or vgname = gpfs (the latter being
+    # indicative of an old, no-longer-used nsd for which mmdelnsd was not run).
+    # Tell the user no disks were found.
+    printErrorMsg 418 $mmcmd
+    return 1
+  fi
+
+  print -- $pvid $vgname $lvname
+  return 0
+
+}  #----- end of function getRawDiskInfo -----------------
+
+
+#############################################################
+#
+# Function:  Find the VSD name corresponding to the vgname.
+#
+# Input:     $1 - vg name
+#
+# Output:    The VSD name.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+#############################################################
+function getVSDName  # <vgname>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGgetVSDName ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset vgname=$1
+
+  typeset vsdname gvg
+  integer rc=0
+
+  gvg=$($vsdatalst -g | $awk '{ if ($2 == "'"$vgname"'") print $1 }')
+  if [[ -z $gvg ]]
+  then
+    printErrorMsg 232 $mmcmd $vgname "vsdatalst -g"
+    print -- ""
+    return 1
+  else
+    vsdname=$($vsdatalst -v |  \
+                $awk '{if ($3 == "'"$gvg"'") print $1}')
+    rc=$?
+    if [[ $rc -ne 0 || -z $vsdname ]]
+    then
+      printErrorMsg 232 $mmcmd $vgname "vsdatalst -v"
+      print -- ""
+      return 1
+    fi
+  fi
+
+ print -- $vsdname
+ return 0
+
+}  #----- end of function getVSDName ---------------------
+
+
+#############################################################
+#
+# Function:  Find the NSD disk name.
+#
+# Input:     $1 - rawdisk, lv, or vsdname
+#
+# Output:    the NSD disk name
+#
+# Returns:   zero if successful, non-zero otherwise
+#
+#############################################################
+function getNSDName  # <rawName>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGgetNSDName ]] && set -x
+  $mmTRACE_ENTER "$*"
+  rawName=$1
+  typeset rc=0
+
+  typeset gpfsDiskName tspreparediskOutput pvid
+
+  if [[ $osName = AIX ]]
+  then
+    rawName="r$rawName"
+  fi
+
+  tspreparediskOutput=$($tspreparedisk -s | $grep -w "/dev/$rawName")
+  rc=$?
+
+  # Parse the output from the tspreparedisk command.
+  IF=":"
+  set -f ; set -- $tspreparediskOutput ; set +f
+  pvid=$1
+  [[ $rc -ne 0 || -z $pvid ]] && return 1
+
+  # Search for the nsd disk name in the mmsdrfs file.
+  gpfsDiskName=$($awk -F: '                \
+    /':$SG_DISKS:'/ {                      \
+      if ($'$PVID_Field' == "'$pvid'") {   \
+        { print $'$DISK_NAME_Field' }      \
+        { exit 0 }                         \
+      }                                    \
+    }
+  ' $mmsdrfsFile)
+
+  checkForErrors awk $?
+  if [[ -n $gpfsDiskName ]]
+  then
+    print -- $gpfsDiskName
+    return 0
+  else
+    return 1
+  fi
+
+}  #----- end of function getNSDName ---------------------
+
+
+###############################################################
+#
+# Function:  Find the GPFS disk name given the raw disk name.
+#
+# Input:     $1 - raw disk name (eg: hdisk, sda)
+#
+# Output:    the GPFS disk name
+#
+# Returns:   zero if successful, non-zero otherwise
+#
+###############################################################
+function getGpfsDiskName   #  <rawDiskName>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGgetGpfsDiskName ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset rawDiskName=$1
+
+  typeset rawDiskInfo pvid vgname lvname vsdname gpfsDiskName
+
+  # Check the GPFS cluster type.
+  [[ -z $MMMODE ]] && determineMode
+
+  # Call routine to obtain the name of the NSD.
+  gpfsDiskName=$(getNSDName $rawDiskName)
+
+  # If the NSD was not found and this is a Linux node,
+  # return with a failure rc; there is nothing more we can do.
+  [[ -z $gpfsDiskName && $osName = Linux ]] && return 1
+
+  # Did we get the name of the NSD?
+  if [[ -z $gpfsDiskName ]]
+  then
+    # We did not get the name of the NSD.
+    # Check whether this is an AIX logical volume.
+    rawDiskInfo=$(getRawDiskInfo $rawDiskName)
+    set -f ; set -- $rawDiskInfo ; set +f
+    pvid=$1
+    vgname=$2
+    lvname=$3
+
+    # If we did not find an lv, return with a failing rc;
+    # the disk is not known.
+    [[ -z $lvname ]] && return 1
+
+    # Check for an NSD name corresponding to the lv.
+    gpfsDiskName=$(getNSDName $lvname)
+    if [[ -z $gpfsDiskName ]]
+    then
+      # If still no NSD was found, check whether this is a VSD.
+      vsdname=$(getVSDName $vgname)
+      if [[ -n $vsdname ]]
+      then
+        # Check for an NSD name corresponding to the vsd.
+        gpfsDiskName=$(getNSDName $vsdname)
+        [[ -z $gpfsDiskName ]] && return 1
+      else
+        # We did not find the NSD.  Return with a failing rc.
+        return 1
+      fi
+    fi
+  fi  # end of if [[ -z $gpfsDiskName ]]
+
+  # Output the GPFS disk name and return.
+  print -- $gpfsDiskName
+  return 0
+
+}  #----- end of function getGpfsDiskName -----------------------
+
+
+###########################################################################
+#
+# Function:  Reset (i.e., set to the null string) the status field
+#            of SG_DISKS lines for the specified filesystem if their
+#            disk status value matches the passed status string,
+#            thus causing the disk to be reported to the GPFS daemon
+#            by future invocations of the getEFOptions routine.
+#
+#            This routine is called after a ts disk command has completed
+#            successfully.
+#
+# Input:     $1 - file system name
+#            $2 - passed sdrfs file
+#            $3 - 1st status string used to identify SG_DISK lines
+#                   whose disk status fields need to be reset;
+#                   the only acceptable values are "mmadd" and "mmdel"
+#            $4 - optional 2nd status string used to identify SG_DISK
+#                   lines whose disk status fields need to be reset;
+#                   if specified, the only acceptable value is "mmdel";
+#                   this option is used by mmrpldisk which does both
+#                   an add and a delete
+#
+# Output:    The sdrfs file has been updated (the DISK_STATUS field
+#              of any SG_DISKS line for the specified filesystem is
+#              reset if the disk status matches the passed values)
+#
+# Returns:   0 - the passed sdrfs file was successfully updated
+#
+###########################################################################
+function resetDiskStatus  # <fsname> <sdrfsFile> <status1> [<status2>]
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGresetDiskStatus ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset fsname=$1
+  typeset sdrfsFile=$2
+  typeset status1=$3
+  typeset status2=$4
+
+  typeset oddState
+  typeset outfile=${sdrfs}tmp
+
+  $rm -f $outfile
+
+  oddState=$($awk -F:  '                                                          \
+    BEGIN {                                                                       \
+      { oddstate = "no" }                                                         \
+      { c = ":" }                                                                 \
+    }                                                                             \
+    # If this is the global header line, increment the gen number.                \
+    /^'$GLOBAL_ID:$VERSION_LINE:'/ {                                              \
+      { $'$SDRFS_GENNUM_Field' = $'$SDRFS_GENNUM_Field' + 1 }                     \
+      { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"        \
+              $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"        \
+              $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$outfile'" }        \
+      { next }                                                                    \
+    }                                                                             \
+    # Save the SG_HEADR line for the specified filesystem as two                  \
+    # strings - the parts before and after ODD_STATE_Field ($6).                  \
+    /':$SG_HEADR:$fsname:'/ {                                                     \
+      { sgh1 =  $1 c $2 c  $3 c  $4 c  $5 }                                       \
+      { sgh2 =  $7 c $8 c  $9 c $10 c $11 c $12 c $13 c $14 c $15 c $16 c $17 c } \
+      { sgh2 = sgh2 $18 c $19 c $20 c $21 c $22 c $23 c $24 c $25 c $26 c $27 c } \
+      { next }                                                                    \
+    }                                                                             \
+    # Check for SG_DISKS lines for the specified filesystem.                      \
+    /':$SG_DISKS:$fsname:'/ {                                                     \
+      # Does the disk status value match the first passed value?                  \
+      if ( $'$DISK_STATUS_Field' == "'$status1'" ) {                              \
+        # The disk status value matches.  Process the line.                       \
+        if ( "'$status1'" == "mmadd" ) {                                          \
+          # For mmadd, we simply reset the disk status field.                     \
+          { $'$DISK_STATUS_Field' = "" }                                          \
+          { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"    \
+                  $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"    \
+                  $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$outfile'" }    \
+        } else {                                                                  \
+          if ( "'$status1'" == "mmdel" ) {                                        \
+            # For mmdel, we change the disk into a free disk                      \
+            # and reset the disk status field.                                    \
+            { $'$NODESETID_Field' = "'$FREE_DISK'" }                              \
+            { $'$DEV_NAME_Field' = "'$NO_DEVICE'" }                               \
+            { $'$LINE_NUMBER_Field' = "0" }                                       \
+            { $'$DISK_STATUS_Field' = "" }                                        \
+            { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                    $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                    $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$outfile'" }  \
+          }                                                                       \
+        }                                                                         \
+        { next }                                                                  \
+      } else {                                                                    \
+        # Does the disk status value match a second passed value of mmdel?        \
+        if ( "'$status2'" == "mmdel" && $'$DISK_STATUS_Field' == "'$status2'" ) { \
+          # The disk status value matches and is mmdel.                           \
+          # We change the disk into a free disk and reset the status field.       \
+          { $'$NODESETID_Field' = "'$FREE_DISK'" }                                \
+          { $'$DEV_NAME_Field' = "'$NO_DEVICE'" }                                 \
+          { $'$LINE_NUMBER_Field' = "0" }                                         \
+          { $'$DISK_STATUS_Field' = "" }                                          \
+          { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"    \
+                  $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"    \
+                  $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$outfile'" }    \
+          { next }                                                                \
+        } else {                                                                  \
+          # The disk status value does not match anything.                        \
+          # Echo the line as is and check whether the disk is in an odd state.    \
+          { print $0 >> "'$outfile'" }                                            \
+          if ( $'$DISK_STATUS_Field' != "" &&                                     \
+               $'$DISK_STATUS_Field' != "ready" ) {                               \
+            { oddstate = "yes" }                                                  \
+          }                                                                       \
+          { next }                                                                \
+        }                                                                         \
+      }                                                                           \
+    }                                                                             \
+    # All other lines are echoed without change.                                  \
+    { print $0 >> "'$outfile'" }                                                  \
+    END {                                                                         \
+      { print sgh1 ":" oddstate ":" sgh2 >> "'$outfile'" }                        \
+    }                                                                             \
+  ' $sdrfsFile)
+  checkForErrors awk $?
+
+  # Print a message for the user if any disks are in an odd state.
+  [[ $oddState = yes ]] && printErrorMsg 103 $mmcmd $fsname $fsname
+
+  # Sort the updated version of the sdrfs file.
+  LC_ALL=C $SORT_MMSDRFS $outfile -o $outfile
+  checkForErrors "sorting $outfile" $?
+
+  # The file was updated successfully.  Copy it to the input file.
+  $mv $outfile $sdrfsFile
+  checkForErrors "resetDiskStatus:  mv $outfile $sdrfsFile " $?
+
+  return 0
+
+}  #----- end of function resetDiskStatus -----------------------
+
+
+##########################################################################
+#
+# Function:  Compare the daemon's list of disks for the file system
+#            with that contained in the passed sdrfs file.
+#            If they disagree, change the sdrfs file to agree
+#            with the information returned by the daemon.
+#            If any of the disks of the file system are in an
+#            "odd state", the "odd state" flag is set to "yes"
+#            in the SG_HEADR line for the file system (otherwise
+#            it is set to "no").
+#
+# Input:     $1 - file system name
+#            $2 - passed sdrfs file
+#
+# Output:    The SG_DISKS lines in the sdrfs file for the specified
+#              file system now agree with the daemon's view of the disks.
+#
+# Returns:   0 - the passed sdrfs file now agrees with the daemon
+#                  for the disks in the specified file system
+#            Any other return code indicates an unexpected error.
+#
+##########################################################################
+function reconcileSdrfsWithDaemon  # <fsname> <sdrfsFile>
+{
+  typeset sourceFile="mmfsfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGreconcileSdrfsWithDaemon ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset fsname=$1
+  typeset sdrfsFile=$2
+
+  typeset mmlsdiskLine sdrfsLine nodesetId diskName sgh1 sgh2
+  typeset failureGroup holdsMetadata holdsData diskStatus
+  typeset oddState="no"
+  typeset rc=0
+  integer nodeCount=0
+  integer seqNo=0
+
+  # Print message:  "Verifying file system configuration information ..."
+  printInfoMsg 473
+
+  # Determine the nodeset to which this filesystem belongs.
+  nodesetId=$($awk -F: '                           \
+    /':$SG_HEADR:'/ {                              \
+      if ( $'$DEV_NAME_Field' == "'$fsname'" ) {   \
+        {print $'$NODESETID_Field'}                \
+        { exit 0 }                                 \
+      }                                            \
+    }                                              \
+  ' $sdrfsFile)
+  checkForErrors awk $?
+
+  # Obtain the daemon's list of disks for the filesystem.
+  # If the nodeset to which this node belongs is the same as the nodeset
+  # in which the file system resides, invoke the command directly.
+  if [[ $nsId = $nodesetId ]]
+  then
+    ${mmcmdDir}/${links}/mmlsdisk $fsname >$tmpfile2 2>$errMsg
+    rc=$(remapRC $?)
+
+    # If the command failed in a way that a remote invocation will not
+    # make a difference, display any error messages and get out.
+    if [[ $rc -ne $MM_DaemonDown &&
+          $rc -ne $MM_QuorumWait &&
+          $rc -ne 0              ]]
+    then
+      [[ -s $errMsg ]] && $cat $errMsg 1>&2
+      $rm -f $errMsg
+      if [[ $rc -eq $MM_ConnectionReset ]]
+      then
+        # An internode connection was reset.
+        printErrorMsg 257 $mmcmd
+      fi
+      return $rc
+    fi
+  else
+    # Set rc to a non-zero value so we will try the mmlsdisk cmd remotely.
+    rc=$MM_DaemonDown
+  fi
+  $rm -f $errMsg
+
+  # If the mmlsdisk call has not succeeded yet,
+  # issue the mmlsdisk command on a remote node.
+  if [[ $rc -ne 0 ]]
+  then
+    # Create a file with the reliable names that form
+    # the nodeset to which the file system belongs.
+    nodeCount=$(getNodeFile $REL_HOSTNAME_Field $nodesetId $sdrfsFile $nodefile)
+    if [[ $nodeCount -eq 0 ]]
+    then
+      # The nodeset is empty; there is nobody to run the command.
+      printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+      return 1
+    fi
+
+    # Try the nodes one by one until a node is able to execute the command.
+    preferredNode=0   # We have no idea where to go first; let mmcommon decide.
+    $mmcommon linkCommand $preferredNode $nodefile  \
+                                mmlsdisk $fsname >$tmpfile2 2>$errMsg
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      [[ -s $errMsg ]] && $cat $errMsg 1>&2
+      $rm -f $errMsg
+      if [[ $rc -eq $MM_ConnectionReset ]]
+      then
+        # An internode connection was reset.
+        printErrorMsg 257 $mmcmd
+      fi
+      return $rc
+    fi
+  fi
+  $rm -f $errMsg
+
+  # Remove the header lines from the mmlsdisk output.
+  $tail -n +4 $tmpfile2 > $tmpfile
+  checkForErrors "tail -n +4 $tmpfile2 $tmpfile" $?
+
+  # One more sanity check before we proceed.
+  if [[ ! -s $tmpfile ]]
+  then
+    printErrorMsg 171 reconcileSdrfsWithDaemon "tslsdisk - missing disk information" 1
+    return 1
+  fi
+
+
+  ##########################################################################
+  # Go through the passed sdrfs file.  Increment the generation number.
+  # Make any needed changes to SG_DISKS lines for the specified filesystem.
+  ##########################################################################
+  # Delete the temporary file that will be created.
+  $rm -f $sdrfs
+
+  IFS=":"           # Change the field separator to ':'.
+  exec 3<&-
+  exec 3< $sdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"
+    printLine=true
+
+    # Selectively alter some of the fields in the line.
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )  # This is the global header line.
+        # Increment the generation number
+        newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+        v[$SDRFS_GENNUM_Field]=$newGenNumber
+        ;;
+
+      $SG_HEADR )  # This is the header line for some file system.
+        # If this is the header for the specified file system,
+        # save the line's contents into two strings that will be used
+        # later in creating the SG_HEADR line.  We can't create the
+        # line now because we don't know how to set the "odd state"
+        # field for the file system yet.
+        if [[ ${v[$DEV_NAME_Field]} = $fsname ]]
+        then
+          printLine=false
+          sgh1=${v[1]}:${v[2]}:${v[3]}:${v[4]}:${v[5]}
+          sgh2=${v[7]}:${v[8]}:${v[9]}:${v[10]}:${v[11]}:${v[12]}:${v[13]}
+          sgh2=$sgh2:${v[14]}:${v[15]}:${v[16]}:${v[17]}:${v[18]}:${v[19]}
+          sgh2=$sgh2:${v[20]}:${v[21]}:${v[22]}:${v[23]}:${v[24]}
+        fi
+        ;;
+
+      $SG_DISKS )  # This line describes a disk.
+        # If this disk belongs to the file system or is a free disk,
+        # make the SG_DISKS line agree with the daemon's data about the disk.
+        if [[ ${v[$DEV_NAME_Field]} = $fsname  ||
+              ${v[$NODESETID_Field]} = $FREE_DISK ]]
+        then
+          # Locate the line for this disk in the mmlsdisk output file.
+          $rm -f $tmpfile2
+          mmlsdiskLine=$($awk '                                           \
+            # If the line is for our disk, output it to $mmlsdiskLine     \
+            # but do not append it to tmpfile2.                           \
+            $1 == "'${v[$DISK_NAME_Field]}'" {                            \
+              { print $0 }                                                \
+              { next }                                                    \
+            }                                                             \
+            # If the line is for some other disk, append it to tmpfile2.  \
+            { print $0 >> "'$tmpfile2'" }                                 \
+          ' $tmpfile)
+          checkForErrors awk $?
+
+          # Prepare the mmlsdisk output file for the next iteration.
+          # It will contain all of its prior lines except the line
+          # for the disk that is currently being processed.
+          $touch $tmpfile2   # Make sure the file exists even if empty.
+          $mv $tmpfile2 $tmpfile
+          checkForErrors "mv $tmpfile2 $tmpfile" $?
+
+          if [[ -z $mmlsdiskLine ]]
+          then
+            # The daemon doesn't know about this disk.
+            # If the SG_DISKS line indicates the disk belongs to the
+            # filesystem, change the SG_DISKS line into a free disk line.
+            if [[ ${v[$DEV_NAME_Field]} = $fsname ]]
+            then
+              v[$NODESETID_Field]=$FREE_DISK
+              v[$DEV_NAME_Field]=$NO_DEVICE
+              v[$LINE_NUMBER_Field]=0
+              v[$EXCLUDE_Field]=$includedDisk
+              v[$DISK_STATUS_Field]=""
+            fi
+          else
+            # The daemon says this disk is part of the filesystem.
+            # Update the SG_DISKS line fields with the data from
+            # mmlsdisk so that it is current.
+            set -f ; set -- $mmlsdiskLine ; set +f
+            failureGroup=$4
+            holdsMetadata=$5
+            holdsData=$6
+            diskStatus=$7
+            v[$FAILURE_GROUP_Field]=$failureGroup
+            if [[ $holdsData = yes ]]
+            then
+              if [[ $holdsMetadata = yes ]]
+              then
+                v[$DISK_USAGE_Field]=dataAndMetadata
+              else
+                v[$DISK_USAGE_Field]=dataOnly
+              fi
+            else
+              if [[ $holdsMetadata = yes ]]
+              then
+                v[$DISK_USAGE_Field]=metadataOnly
+              else
+                v[$DISK_USAGE_Field]=descOnly
+              fi
+            fi
+            [[ $diskStatus = allocmap* ||
+               $diskStatus = being*    ||
+               $diskStatus = removing* ]] && diskStatus=$diskStatus$8
+            v[$DISK_STATUS_Field]=$diskStatus
+            [[ $diskStatus != ready && $diskStatus != "" ]] && oddState="yes"
+
+            # If the disk is listed as a free disk, change the SG_DISKS
+            # line to indicate that the disk is part of the filesystem.
+            if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+            then
+              v[$NODESETID_Field]=$nodesetId
+              v[$DEV_NAME_Field]=$fsname
+            fi
+
+            # Update the sequence number.
+            seqNo=seqNo+1
+            v[$LINE_NUMBER_Field]=$seqNo
+          fi  # end of if [[ -z $mmlsdiskLine ]]
+        fi  # end of if [[ disk belongs to filesystem or disk is a free disk ]]
+        ;;
+
+      * )  # Pass all lines for other nodesets without a change.
+        ;;
+
+    esac  # end Change some of the fields
+
+    # Build and write the line to the new sdrfs file.
+    if [[ $printLine = true ]]
+    then
+      print_newLine >> $sdrfs
+      checkForErrors "writing to file $sdrfs" $?
+    fi
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # Issue informational error messages for any active disks
+  # reported by the daemon but not found in the sdrfs file.
+  if [[ -s $tmpfile ]]
+  then
+    $rm -f $tmpfile2
+    exec 3<&-
+    exec 3< $tmpfile
+    while read -u3 mmlsdiskLine
+    do
+      # Parse the line.
+      set -f ; set -- $mmlsdiskLine ; set +f
+      diskStatus=$7
+      if [[ $diskStatus = "ready" ]]
+      then
+        print -- $mmlsdiskLine >> $tmpfile2
+      else
+        oddState=yes  # Set flag to let caller know he has odd-state disks.
+      fi
+    done  # end of while read -u3 mmlsdiskLine
+    if [[ -s $tmpfile2 ]]
+    then
+      # Active disks are missing from the GPFS configuration data.
+      printErrorMsg 102 $mmcmd
+      $cat $tmpfile2 1>&2
+      return 1
+    fi
+  fi  # end of if [[ -s $tmpfile ]]
+
+  # Create/store the SG_HEADER line for the file system in the sdrfs file,
+  # using the odd state flag that was set if any of the disks in the
+  # file system were in an odd state.
+  print -- "$sgh1:$oddState:$sgh2" >> $sdrfs
+  checkForErrors "writing to file $sdrfs" $?
+
+  # Print a message for the user if any disks are in an odd state.
+  [[ $oddState = yes ]] && printErrorMsg 266 $mmcmd $fsname
+
+  # Sort the reconciled version of the mmsdrfs file.
+  LC_ALL=C $SORT_MMSDRFS $sdrfs -o $sdrfs
+  checkForErrors "sorting $sdrfs" $?
+
+  # Everything seems to have gone ok so far.
+  # Rename the file so that the caller can find it.
+  $mv $sdrfs $sdrfsFile
+  checkForErrors "mv $sdrfs $sdrfsFile" $?
+
+  # Return to the caller.
+  return 0
+
+}  #----- end of function reconcileSdrfsWithDaemon --------------
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsfuncs.Linux
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsfuncs.Linux	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsfuncs.Linux	(revision 16)
@@ -0,0 +1,888 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)12 1.18.6.4 src/avs/fs/mmfs/ts/admin/mmfsfuncs.Linux.sh, mmfs, avs_rgpfs24, rgpfs24s007a 10/24/06 10:23:08 
+######################################################################
+#
+#  This file contains declarations and functions that are unique
+#  to the Linux operating system environment.
+#
+######################################################################
+
+
+###################################################################
+#
+# Function:  wrapper function for invoking insmod
+#
+# Input:     $1 module to load
+#            $@ -d generate load map in /var/mmfs/tmp/<module>.map
+#               or options to be given to insmod
+#
+# Returns:   0 success
+#            1 failure
+#
+###################################################################
+function InsModWrapper  #  <moduleName> <insmod_options> ..
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGInsModWrapper ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  # First argument is module name and insmod parameters.
+  # The remaining arguments are insmod options.
+  typeset module="$1"
+  shift
+  typeset opts="$@"
+
+  typeset name iopts opt debug loadcmd
+
+
+  # Strip off insmod parameters to get module name.
+  name="${module%% *}"
+  name="${name%%[0-9][0-9]}"
+
+  # Check whether the module is loaded already.
+  $lsmod | $grep -qwe ^${name##*/}
+  if [[ $? = 0 ]]
+  then
+    # Informational:  The module is already loaded.
+    printErrorMsg 140 $mmcmd ${name##*/}
+    return 0
+  fi
+
+  # The "-d" option means that we should generate a load map in /var/mmfs/tmp.
+  iopts=""
+  for opt in $opts
+  do
+    # Linux 2.5 and later do not have /proc/ksyms and insmod -m/-f.
+    [[ -z $version24 && ($opt = "-d" || $opt = "-f") ]] &&  \
+      continue
+
+    if [[ "$opt" = "-d" ]]
+    then
+      # The -m options tells insmod to generate a map.
+      # Currently "insmod -m" is broken on x86_64 w/ RHEL, so skip x86_64 here.
+      if [[ $($uname -m) != 'x86_64' ]]
+      then
+        iopts="$iopts -m"
+
+        # Write load map to /var/mmfs/tmp/<module>.map
+        module="$module > /var/mmfs/tmp/${name##*/}.map"
+        debug=1
+      fi
+    else
+      iopts="$iopts $opt"
+    fi
+  done
+
+  # Load the module.
+  loadcmd="$insmod $iopts $module"
+  eval $loadcmd
+  return $?
+
+}  #---------- end of function InsModWrapper ---------------
+
+
+###########################################################
+#
+# Function:  wrapper function for invoking rmmod
+#
+# Input:     $1 module to unload
+#
+# Returns:   return code from rmmod
+#
+###########################################################
+function RmModWrapper  # <moduleName>
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGRmModWrapper ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset module="$1"
+
+  # Check whether the module is loaded.
+  $lsmod | $grep -qwe ^${module##*/}
+  [[ $? = 1 ]] && return 0
+
+  # Unload the module.
+  print -- "Unloading module $module"
+  $rmmod $module
+  return $?
+
+}  #---------- end of function RmModWrapper ---------------
+
+
+#####################################################################
+#
+# Function:  Determine kernel configuration and perform
+#            some verification of the mmfslinux module.
+#
+# Inout:     none
+#
+# Output:    'mmfslinux' or '' (empty string when module is missing)
+#
+# Returns:   0 - success
+#            1 - failure
+#
+#####################################################################
+function verifyModule
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGverifyModule ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset kMODULE
+
+  # If mmfslinux exists, use it.  Otherwise, return an error.
+  if [[ -s $mmcmdDir/mmfslinux ]]
+  then
+    kMODULE="mmfslinux"
+  else
+    kMODULE=""
+    # Error:  The mmfslinux kernel extension does not exist.
+    printErrorMsg 135 $mmcmd $mmcmdDir/mmfslinux
+    return 1
+  fi
+
+  # kMODULE is valid and ready to be loaded.
+  print -- "$kMODULE"
+  return 0
+
+}  #---------- end of function verifyModule ---------------
+
+
+###################################################################
+#
+# Function:  Unmount the specified file system(s).
+#
+# Input:     $1 - list of device names or all
+#            $2 - (optional) force unmount option (-f)
+#
+# Output:    None
+#
+# Returns:   Always zero.
+#
+###################################################################
+function unmountFileSystems  #  <fsList> [-f]
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGunmountFileSystems ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset fsList=$1
+  typeset forceOption=$2
+
+  typeset mountPoint deviceName
+
+
+  # Verify the force option.
+  [[ $forceOption != "-f" ]] && forceOption=""
+
+  # Unmount the requested file system(s).
+  #   Important! Do not try to capture, pipe or redirect
+  #   in any way stderr from the umount command on Linux.
+  #   See Defect 439182 for details.
+  if [[ $fsList = all ]]
+  then
+    # The request is to unmount all GPFS file systems.
+    $umount $forceOption -a -t gpfs
+
+    # Make sure we do not have any stale mounts.
+    $awk '$3 == "gpfs" { print $2 }' /proc/mounts |  \
+    while read mountPoint
+    do
+      $umount $forceOption $mountPoint
+    done
+
+  else
+    # The request is to unmount one or more GPFS file systems.
+    IFS=','
+    for deviceName in $fsList
+    do
+      IFS="$IFS_sv"
+
+      # Find out the mount point where the file system is mounted.
+      mountPoint=$(findMountpoint $deviceName)
+
+      # If the file system is mounted, unmount it.
+      [[ -n $mountPoint ]] &&   \
+        $umount $forceOption $mountPoint
+
+      # Move to the next file system.
+      IFS=','
+    done  # end of for deviceName in $fsList
+    IFS="$IFS_sv"
+  fi  # end of if [[ $deviceName = all ]]
+
+  return 0
+
+}  #------ end of function unmountFileSystems ------------------
+
+
+###################################################################
+#
+# Function:  Unmount the GPFS file system currently mounted
+#            at the specified mount point.
+#
+# Input:     $1 - mount point
+#            $2 - (optional) force unmount option (-f)
+#
+# Output:    None
+#
+# Returns:   Always zero.
+#
+###################################################################
+function unmountMountpoint  #  <mountPoint> [-f]
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGunmountMountpoint ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset mountPoint=$1
+  typeset forceOption=$2
+
+  typeset fqDeviceName
+
+
+  # Verify the force option.
+  [[ $forceOption != "-f" ]] && forceOption=""
+
+  # See if there is a GPFS file system currently mounted
+  # at the specidfied mount point.
+  fqDeviceName=$($awk '                                 \
+    $2 == "'$mountPoint'" && $3 == "gpfs" { print $1 }  \
+  ' /proc/mounts)
+
+  # If the file system is mounted, unmount it.
+  #   Important! Do not try to capture, pipe or redirect
+  #   in any way stderr from the umount command on Linux.
+  #   See Defect 439182 for details.
+  [[ -n $fqDeviceName ]] &&   \
+    $umount $forceOption $mountPoint
+
+  return 0
+
+}  #------ end of function unmountMountpoint ------------------
+
+
+#####################################################################
+#
+# Function:  Unload GPFS kernel extensions.
+#            Always try to unload all extensions,
+#            even if there is an intermediate failure.
+#
+# Returns:   0 - success
+#            1 - failure:  at least one extension cannot be unloaded
+#
+#####################################################################
+function unloadKernelExt
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGunloadKernelExt ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset rc=0
+  typeset force="-f"
+  typeset kMODULE gpl_module ibm_module trc_module
+  typeset trc_device ss_device pid usecount kdump_device expected_mod_count
+
+  [[ $@ = "-r" ]] && force=""
+
+  print -- "Unloading modules from $mmcmdDir"
+
+  # Determine the kernel configuration so the appropriately
+  # configured mmfslinux module may be unloaded.
+  kMODULE=$(verifyModule)
+  if [[ $? -ne 0 || -z $kMODULE ]]
+  then
+    # Error:  Unable to verify kernel/module configuration.
+    printErrorMsg 136 $mmcmd
+    return 1
+  fi
+
+  # Initialize module names and insmod parameters.
+  gpl_module="$kMODULE"
+  trc_module="tracedev"
+  ibm_module="mmfs"
+
+  if [[ -n $version24 ]]
+  then
+    ibm_module="mmfs24"
+  fi
+
+  if [[ -n $version24 ]]
+  then
+    expected_mod_count=0
+  else
+    expected_mod_count=1
+  fi
+
+  # Initialize device names.
+  trc_device="trace"
+  ss_device="ss"
+  kdump_device="kdump"
+
+  # Make sure the daemon isn't running anymore.
+  cmdout=$($ps -eo "pid args" | $awk '$2 ~ /mmfsd/ && !/this process/ {print $1}')
+  if [[ -n $cmdout ]]
+  then
+    # Error:  The GPFS daemon is still running.
+    printErrorMsg 137 $mmcmd
+    return 1
+  fi
+
+  # Make sure we don't have any mounts just laying around.
+  unmountFileSystems all $force
+
+  # Before unloading the $ibm_module,
+  # make sure the $gpl_module can be unloaded as well.
+  usecount=$($lsmod | $grep -w -e ^$gpl_module | $awk '{print $3}')
+  if [[ -n $usecount && $usecount -ne $expected_mod_count && $usecount -ne 0 ]]
+  then
+    # Error:  Module $gpl_module is still in use.
+    printErrorMsg 138 $mmcmd $gpl_module
+    rc=1
+  fi
+
+  # Invoke rmmod with all arguments we got.
+  RmModWrapper $ibm_module "$@"
+  if [[ $? -ne 0 ]]
+  then
+    # Error unloading module $ibm_module.
+    printErrorMsg 139 $mmcmd $ibm_module
+    rc=1
+  fi
+
+  RmModWrapper $gpl_module "$@"
+  if [[ $? -ne 0 ]]
+  then
+    # Error unloading module $gpl_module.
+    printErrorMsg 139 $mmcmd $gpl_module
+    rc=1
+  else
+    $rm -f /dev/${ss_device}0 /dev/${ss_device}
+  fi
+
+  RmModWrapper $trc_module "$@"
+  if [[ $? -ne 0 ]]
+  then
+    # Error unloading module $trc_module.
+    printErrorMsg 139 $mmcmd $trc_module
+    rc=1
+  else
+    # ${trc_module} is the device name also
+    $rm -f /dev/${trc_device}0 /dev/${trc_module} /dev/${kdump_device}0
+  fi
+
+  return $rc
+
+}  #---------- end of function unloadKernelExt ---------------
+
+
+###########################################################
+#
+# Function:  load GPFS kernel extensions
+#
+# Input:     -d - generate load map in /var/mmfs/tmp
+#            $@ - options to give to insmod
+#
+# Returns:   0 - success
+#            1 - failure
+#
+###########################################################
+function loadKernelExt
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGloadKernelExt ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset opts="$@"
+
+  typeset opt kMODULE gpl_module ibm_module trc_module trc_device ss_device kdump_device
+  typeset debug sysmap major gdbfile module name mapfile textaddr
+
+  debug=0
+  for opt in $opts
+  do
+    [[ $opt = "-d" ]] && debug=1
+  done
+
+  # Specifically turn on debugging.
+  # We need everything we can get for debugging on linux.
+  if [[ $debug = 0 ]]
+  then
+    debug=1
+    opts="$opts -d"
+  fi
+
+  print -- "Loading modules from $mmcmdDir"
+
+  # Determine the kernel configuration so the appropriately-configured
+  # mmfslinux module may be loaded.
+
+  kMODULE=$(verifyModule)
+  if [[ $? -ne 0 || -z $kMODULE ]]
+  then
+    # Error:  Unable to verify kernel/module configuration.
+    printErrorMsg 136 $mmcmd
+    return 1
+  fi
+
+  # Initialize module names and insmod parameters.
+  gpl_module="$kMODULE prog_path=$mmcmdDir"
+  trc_module="tracedev"
+  if [[ -n $version24 ]]
+  then
+    ibm_module="mmfs24"
+  else
+    ibm_module="mmfs26"
+  fi
+
+  # Initialize device names.
+  trc_device="trace"
+  ss_device="ss"
+  kdump_device="kdump"
+
+  # Invoke insmod with all arguments we got.
+  InsModWrapper "$mmcmdDir/$trc_module" "$opts"
+  if [[ $? -ne 0 ]]
+  then
+    unloadKernelExt
+    return 1
+  fi
+
+  # Load gpl module without forcing insmod.
+  InsModWrapper "$mmcmdDir/$gpl_module" "$opts"
+  if [[ $? -ne 0 ]]
+  then
+    unloadKernelExt
+    return 1
+  fi
+
+  InsModWrapper "$mmcmdDir/$ibm_module" "$opts"
+  if [[ $? -ne 0 ]]
+  then
+    unloadKernelExt
+    return 1
+  fi
+
+  # Show what we loaded.
+  $lsmod | $grep -w -e ^Module -e ^${trc_module%% *} \
+                    -e ^${gpl_module%% *} -e ^${ibm_module%% *}
+
+  MAPDIR=/var/mmfs/tmp
+  if [[ $debug = 1 ]] && [[ -r $MAPDIR ]]
+  then
+    # Build one symbol map for kernel and modules and sort it.
+    MMFSLINUX_MAP=$MAPDIR/$kMODULE.map
+    COMPLETE_MAP=$MAPDIR/complete.map
+    TRCDEV_MAP=$MAPDIR/$trc_module.map
+    MMFS_MAP=$MAPDIR/$ibm_module.map
+    SORT_MAP=$MAPDIR/sort.map
+    KSYMS_MAP=$MAPDIR/ksyms.map
+    if [[ -n $version24 ]]
+    then
+      KALLSYMS_MAP=""
+    else
+      KALLSYMS_MAP=/proc/kallsyms
+    fi
+
+    #------------------------------------------------------
+    # Clean out tmp files not accessed in the last 3 days.
+    #------------------------------------------------------
+    SAVEPWD="$PWD"
+    print -- "Removing old $MAPDIR files:"
+    if cd "$MAPDIR"
+    then
+       $find . -type f -atime +3 -exec $rm {} \; -print
+    fi
+    cd "$SAVEPWD"
+
+    #------------------------------
+    # Find or create a system map.
+    #------------------------------
+    SYSTEM_MAP=""
+    activeKernel=$($uname -r 2>/dev/null)
+    if [[ -r /boot/System.map ]]
+    then
+      SYSTEM_MAP="/boot/System.map"
+    elif [[ -r /usr/src/linux/System.map ]]
+    then
+      SYSTEM_MAP="/usr/src/linux/System.map"
+    elif [[ -r /boot/System.map-$activeKernel ]]
+    then
+      SYSTEM_MAP="/boot/System.map-$activeKernel"
+    else
+      # Not the same thing but perhaps useful
+      print -- "Couldn't find System.map.  Using /proc/ksyms."
+      SYSTEM_MAP=$KSYMS_MAP
+      $cat /proc/ksyms | $awk '{print $1" ? "$2}' > $SYSTEM_MAP
+    fi
+
+    #----------------------------------------------------
+    # Strip and sort other maps into appropriate format.
+    #----------------------------------------------------
+    $cat $MMFSLINUX_MAP $TRCDEV_MAP $MMFS_MAP 2>/dev/null | \
+      $awk '/ [TtDdRr] / {print $0}' | $sort -o $SORT_MAP
+
+    #-----------------------------------------------------
+    # Create a complete.map and latest/previous symlinks.
+    #-----------------------------------------------------
+    SUFFIX="$($date +%Y.%m.%d.%H.%M.%S).$($hostname -s)"
+    $cat $KALLSYMS_MAP $SYSTEM_MAP $SORT_MAP > "${COMPLETE_MAP}.${SUFFIX}"
+
+    if [[ -L "${COMPLETE_MAP}.previous" ]]
+    then
+      previous=$($ls -l "${COMPLETE_MAP}.previous")
+      previous=${previous##*-\> }
+      $rm -f $previous
+    fi
+
+    [[ -r "${COMPLETE_MAP}.previous" ]] && $rm -f "${COMPLETE_MAP}.previous"
+
+    if [[ -L "${COMPLETE_MAP}.latest" ]]
+    then
+        $mv -f "${COMPLETE_MAP}.latest" "${COMPLETE_MAP}.previous"
+    fi
+
+    [[ -r "${COMPLETE_MAP}.latest" ]] && $rm -f "${COMPLETE_MAP}.latest"
+
+    $ln -sf $(basename "${COMPLETE_MAP}.${SUFFIX}") "${COMPLETE_MAP}.latest"
+
+    # Re-initialize syslogd so it can load GPFS module symbols.
+    [[ -s /var/run/syslogd.pid ]] && \
+      $kill -s SIGHUP $($cat /var/run/syslogd.pid)
+
+    #-----------------------------------------------------------------------
+    # Generate a gdb script in /var/mmfs/tmp that will load module symbols.
+    #-----------------------------------------------------------------------
+    GDBFILE="$MAPDIR/loadsyms"
+    $rm -f $GDBFILE
+
+    for module in "$mmcmdDir/$trc_module" "$mmcmdDir/$gpl_module" \
+                  "$mmcmdDir/$ibm_module"
+    do
+      name="${module%% *}"
+      mapfile="$MAPDIR/${name##*/}.map"
+      if [[ -s $mapfile ]]
+      then
+        textaddr=$($awk '/^.text / { print $3 }' $mapfile)
+        $awk 'BEGIN { printf "add-symbol-file '"$name 0x$textaddr"'" }
+             /^Sections:/,/^$/ \
+             {
+               if (substr($1,1,1) == "." &&
+                   $1 != ".this" &&
+                   $1 != ".text" &&
+                   $1 != ".kmodtab" &&
+                   $1 != ".kstrtab" &&
+                   $1 !~ "^.gnu.linkonce.")
+               {
+                 sect = $1
+                 addr = $3
+
+                 # If section name is too long, it gets concatenated
+                 # with the address field, so fix that.
+                 if (NF == 3 && length(sect) > 15)
+                 {
+                   sect = substr(sect, 1, length(sect) - 8)
+                   addr = $2
+                 }
+                 printf " -s %s 0x%s", sect, addr
+               }
+             }
+           END { print "" }' $mapfile >> $GDBFILE
+      fi
+    done
+
+    $rm -f $SORT_MAP $MMFSLINUX_MAP $MMFS_MAP $TRCDEV_MAP $KSYMS_MAP
+  fi
+
+  # Get the major number of the ss_device from /proc/devices.
+  # Remove stale ss_device node and replace it.
+  major=$($awk ' $2=="'$ss_device'" {print $1} ' /proc/devices)
+  if [[ -n "$major" ]]
+  then
+    $rm -f /dev/${ss_device}0
+
+    # Normal user must be able to open device in read
+    # mode so ioctl() will work.
+    umask 013
+    $mknod /dev/${ss_device}0 c $major 0
+    umask $UMASK_sv
+  fi
+
+  # Get the major number of the trc_device from /proc/devices.
+  # Remove stale trc_device node and replace it.
+  major=$($awk ' $2=="'$trc_device'" {print $1} ' /proc/devices)
+  if [[ -n "$major" ]]
+  then
+    $rm -f /dev/${trc_device}0
+
+    umask 077
+    $mknod /dev/${trc_device}0 c $major 0
+    umask $UMASK_sv
+  fi
+
+  # Get the major number of the kdump_device from /proc/devices.
+  # Remove stale kdump_device node and replace it.
+  major=$($awk ' $2=="'$kdump_device'" {print $1} ' /proc/devices)
+  if [[ -n "$major" ]]
+  then
+    $rm -f /dev/${kdump_device}0
+
+    umask 077
+    $mknod /dev/${kdump_device}0 c $major 0
+    umask $UMASK_sv
+  fi
+
+  return 0
+
+}  #---------- end of function loadKernelExt ---------------
+
+
+###################################################################
+#
+# Function:  Determine the mount point at which a file system
+#            is currently mounted.
+#
+# Input:     $1 - file system device name
+#
+# Output:    Mount point or null (if not mounted).
+#
+# Returns:   Always zero.
+#
+###################################################################
+function findMountpoint  # <deviceName>
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGfindMountpoint ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset device=$1
+
+  typeset deviceName fqDeviceName
+
+  # Verify the device name.
+  deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+  fqDeviceName="/dev/$deviceName"    # fully-qualified name with /dev/ prefix
+
+  # See if the file system is mounted.
+  mountPoint=$($awk '                                     \
+    $1 == "'$fqDeviceName'" && $3 == "gpfs" { print $2 }  \
+  ' /proc/mounts)
+
+  # Print the output and return.
+  print -- "$mountPoint"
+  return 0
+
+}  # ---- end of function findMountpoint --------------------
+
+
+###################################################################
+#
+# Function:  Given a path name, find the GPFS file system to which
+#            the object (file, directory, etc.) belongs.
+#
+# Input:     $1 - fully-qualified path name
+#
+# Output:    GPFS file system device name or null.
+#
+# Returns:   0            - device name determined
+#            19 (ENODEV)  - device not found
+#            22 (EINVAL)  - input path name is not valid
+#            other unexpected errors
+#
+###################################################################
+function findDeviceName  # <pathName>
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGfindDeviceName ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset pathName=$1
+
+  typeset deviceID objectDeviceID fqDeviceName mountInfo vfsType
+
+  # Find the device ID of the specified directory.
+  objectDeviceID=$($perl -e '($dev) = stat "'$pathName'"; printf "%u", $dev;')
+  if [[ -z $objectDeviceID ]]
+  then
+    # Failed to stat the directory.
+    printErrorMsg 454 $mmcmd $pathName
+    return $MM_InvalidName
+  fi
+
+  # Go down the list of monted file systems.  If the vfs type is gpfs,
+  # find the device ID and see if it matches the device ID of our object.
+  exec 5<&-
+  exec 5< /proc/mounts
+  while read -u5 mountInfo
+  do
+    # Parse the line.
+    set -f ; set -- $mountInfo ; set +f
+    fqDeviceName=$1
+    mountPoint=$2
+    vfsType=$3
+
+    # Skip the line if this is not a GPFS file system.
+    [[ $vfsType != "gpfs" ]] && continue
+
+    # Find the device ID for the mount point.
+    deviceID=$($perl -e '($dev) = stat "'$mountPoint'"; printf "%u", $dev;')
+
+    # If this is the file system that we are looking for,
+    # print the device name and return.
+    if [[ $deviceID = $objectDeviceID ]]
+    then
+      print -- "$fqDeviceName"
+      return 0
+    fi
+
+  done  # end while read -u3 mountInfo
+
+  # If we get here, the object does not belong to a GPFS file system.
+  printErrorMsg 455 $mmcmd $pathName
+  return $MM_DeviceNotFound
+
+}  # ---- end of function findDeviceName --------------------
+
+
+#####################################################################
+#
+# Function:  Unfence the specified disks on the local node.
+#            Clear any PR registrations.
+#
+# Input:     $1 - file with disks to unfence
+#
+# Output:    A line with the following ':' separated fields:
+#            - magic word 'unfenceDisks'
+#            - function return code
+#            - status
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+#####################################################################
+function unfenceDisks  # <diskName>
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGunfenceDisks ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset disksToUnfence=$1
+
+  # This function is a no-op in Linux.
+  print -- "unfenceDisks:0:success:"
+  return 0
+
+}  #---- end of function unfenceDisks ----------------
+
+
+#####################################################################
+#
+# Function:  Unfence the specified disk on the local node.
+#
+# Input:     $1 - name of the disk to unfence.
+#
+# Output:    None.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+#####################################################################
+function unfenceVSDdisk  # <diskName>
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGunfenceVSDdisk ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset diskName=$1
+
+  # This function is a no-op in Linux.
+  return 0
+
+}  #---- end of function unfenceVSDdisk ----------------
+
+
+####################################################################
+#
+# Function:  Determine the NSD subtype, i.e., the type of the disk
+#            used to create the NSD.
+#
+# Input:     name of the disk whose NSD subtype must be determined
+#
+# Output:    the NSD subtype for the disk;  possible values are:
+#              vpath, powerdisk, generic or file.
+#
+# Returns:   0 - success
+#            1 - error detected
+#
+####################################################################
+function determineNsdSubtype  # <diskName>
+{
+  typeset sourceFile="mmfsfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGdetermineNsdSubtype ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset diskName=$1
+
+  typeset nsdSubtype
+  typeset rc=0
+
+  # Invoke the nsddevices user exit if it was activated.
+  # If that script is not activated, or if it does not find
+  # the disk, proceed with the normal GPFS disk discovery.
+  if [[ -x $nsddevices ]]
+  then
+    nsdSubtype=$($nsddevices | $awk ' $1 == "'$diskName'" { print $2 } ')
+    if [[ -n $nsdSubtype ]]
+    then
+      # Return the device type from the nsdddevices function.
+      print $nsdSubtype
+      return 0
+    fi
+  fi
+
+  # We come here if we could not obtain the device type
+  # from nsddevices.  Determine how the disk should be
+  # reported (vpath, EMC powerpath, generic, or file).
+  if [[ $diskName = vpath* ]]
+  then
+    nsdSubtype="vpath"
+  elif [[ $diskName = emcpower* ]]
+  then
+    nsdSubtype="powerdisk"
+  elif [[ $diskName = /* ]]
+  then
+    nsdSubtype="file"
+  else
+    nsdSubtype="generic"
+  fi
+
+  # Verify that the device exists.
+  if [[ $nsdSubtype = file ]]
+  then
+    if [[ ! -f $diskName ]]
+    then
+      # Error:  disk not found.
+      printErrorMsg 524 $mmcmd $diskName
+      return 1
+    fi
+  else
+    $grep -w $diskName /proc/partitions > /dev/null 2>&1
+    if [[ $? -ne 0 ]]
+    then
+      # Error:  disk not found in /proc/partitions.
+      printErrorMsg 141 $mmcmd $diskName
+      return 1
+    fi
+  fi
+
+  # Output the NSD subtype and return.
+  print $nsdSubtype
+  return $rc
+
+}  #---- end of function determineNsdSubtype -------------
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsmnthelp
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsmnthelp	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsmnthelp	(revision 16)
@@ -0,0 +1,18 @@
+#! /bin/ksh
+#
+# This is the mmfs mount helper.
+
+# Find out if the current kernel is 64-bit.
+osVersion=$(/bin/uname -v)
+kernelMode="32"
+[[ $osVersion -ge 5 ]] && kernelMode=$(/usr/lpp/mmfs/bin/mmkerninfo)
+
+if [[ $kernelMode = 64 && -x /usr/lpp/mmfs/bin/mmfsmount64 ]]
+then
+  cmd=/usr/lpp/mmfs/bin/mmfsmount64
+else
+  cmd=/usr/lpp/mmfs/bin/mmfsmount
+fi
+
+# Invoke the real mount helper
+$cmd "$@"
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsmod.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsmod.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmfsmod.c	(revision 16)
@@ -0,0 +1,57 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+static char sccsid[] = "@(#)45	1.6  src/avs/fs/mmfs/ts/kernext/gpl-linux/mmfsmod.c, mmfs, avs_rgpfs24, rgpfs24s008a 11/17/06 10:15:03";
+
+/* A file shipped with the portability layer that is
+ * compiled and linked with the mmfs module (non portability
+ * layer).   Used so that struct module can be included and 
+ * compiled according to the customer's kernel configuration.
+ * The mmfs module is not dependent on anything else in the 
+ * kernel except for this struct module silliness.
+ */
+
+#if LINUX_KERNEL_VERSION >= 2050000
+
+/* mmfs module initialization for 2.6 */
+#define KBUILD_MODNAME mmfs
+
+#include <modpost.c>
+
+#ifdef MODULE
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION ("GPFS Kernel Module");
+MODULE_AUTHOR ("IBM <gpfs@us.ibm.com>");
+/* MODULE_INFO(supported, "supported"); */
+#endif
+
+#endif /* LINUX_KERNEL_VERSION */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmgetacl
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmgetacl	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmgetacl	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsgetacl
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmgetstate
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmgetstate	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmgetstate	(revision 16)
@@ -0,0 +1,572 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2001,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)40 1.21 src/avs/fs/mmfs/ts/admin/mmgetstate.sh, mmfs, avs_rgpfs24, rgpfs240610b 12/13/05 01:47:25
+################################################################################
+#
+# Determine the state of the GPFS daemon:  down, arbitrating (initializing),
+# active, etc.  Optionally, display the quorum value, the number of nodes up,
+# and other daemon-related information.
+#
+# Usage:
+#
+#   mmgetstate [-L] [-s] [-v]
+#              [-a | -N {Node[,Node...] | NodeFile | NodeClass}]
+#
+# where:
+#
+#   -L            Display detailed information including quorum value,
+#                 number of nodes up, total number of nodes, etc.
+#
+#   -s            Display summary information: number of local and remote nodes
+#                 that have joined in the cluster, number of quorum nodes, etc.
+#
+#   -v            Display intermediate error messages.
+#
+#   -a            Check all nodes in the GPFS cluster.
+#
+#   -N Node,Node,...  Specify the nodes whose state is desired.
+#   -N NodeFile       NodeClass may be one of several possible node classes
+#   -N NodeClass      (e.g., quorumnodes, managernodes, nsdnodes, etc.)
+#
+#
+# If not explicitly specified otherwise, only the local node is checked.
+#
+#
+# The state of a node can be one of the following:
+#
+#   "arbitrating"   Node is trying to form a quorum with other available
+#                   nodes or trying to acquire the disk fence if single-node
+#                   quorum semantics are in effect.
+#
+#   "active"        GPFS is active and ready for normal operation.
+#
+#   "down"          The GPFS daemon is not running on the node.
+#
+#   "unknown"       Unknown state or error condition.
+#
+# When the state is "down" or "unknown" the values for quorum and nodes up
+# are shown as zero.
+#
+#
+# Obsolete options:
+#
+#   -C NodesetId  Check all nodes in the specified nodeset.
+#                 Assumed to be the same as -a.
+#
+#   -W NodeFile   Check all nodes whose reliable hostnames
+#                 are listed one per line in NodeFilename.
+#                 Cannot be specified with -a, -N, -w, or -n.
+#
+#   -w nodenames  Check all nodes whose reliable hostnames
+#                 are in the comma-separated nodenames list.
+#                 Cannot be specified with -a, -N or -W.
+#                 If both -w and -n are specified, the lists are combined.
+#
+#   -n nodenums   Check all nodes whose node numbers are
+#                 in the comma-separated nodenums list.
+#                 Cannot be specified with -a, -N, or -W.
+#                 If both -w and -n are specified, the lists are combined.
+#
+#   -k            Suppress headers and display the output in colon-separated
+#                 fields format.  Implies -L.  The output has the following
+#                 format:
+#   gpfs:nodeNumber:nodeName:quorumValue:nodesUp:totalNodes:state:remarks
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmgetstate.sh"
+[[ -n $DEBUG || -n $DEBUGmmgetstate ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local variables
+
+usageMsg=449
+typeset -i nodes=0
+rc=0
+underline="----------------------------------------------------------"
+underline="${underline}----------------------------------------------"
+
+
+# Local functions
+
+
+######################################################################
+#
+# Function:  Scan the errMsg file and display on stderr all messages
+#            that have originated from the specified node.
+#
+# Input:     $1 - name of the originating node
+#
+# Output:    Error messages (if any).
+#
+# Returns:   Always zero.
+#
+######################################################################
+function showErrorMessages  # <nodeName>
+{
+  typeset sourceFile="mmgetstate.sh"
+  [[ -n $DEBUG || -n $DEBUGshowErrorMessages ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodeName=$1
+  typeset errLine
+
+  [[ ! -s $errMsg ]] && return 0
+
+  [[ -n $nodeName ]] && nodeName="${nodeName}:"
+
+  $rm -f $errMsg2
+  exec 5<&-
+  exec 5< $errMsg
+  while read -u5 errLine
+  do
+    set -f ; set -- $errLine ; set +f
+    currentName=$1
+
+    # If the line came from the node that we are interested in
+    # and there is a message, print it out.
+    if [[ $currentName = $nodeName ]]
+    then
+      [[ -n $2 ]] && print -u2 "$errLine"
+      continue
+    fi
+
+    # Save the other lines for later processing.
+    print -- "$errLine" >> $errMsg2
+
+  done  # end of while read -u5 errLine
+
+  # Prepare the file for the next iteration.
+  $mv $errMsg2 $errMsg
+
+  return 0
+
+}  #----- end of function showErrorMessages  ----------------
+
+
+######################################################################
+#
+# Function:  Display the result from tsctl clusterNodeInfo issued
+#            on a node that has joined the cluster.  Note that the
+#            tsctl command will work even before the node has joined
+#            the cluster but all counters will return zero.
+#
+# Input:     None.
+#
+# Output:    Summary information from tsctl clusterNodeInfo.
+#
+# Returns:   0 - no errors encountered.
+#            1 - unexpected error or none of the nodes have joined
+#                the cluster yet.
+#
+######################################################################
+function showSummaryCounters  #
+{
+  typeset sourceFile="mmgetstate.sh"
+  [[ -n $DEBUG || -n $DEBUGshowSummaryCounters ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset nodeName
+  typeset rc=0
+
+
+  #-----------------------------------------------------------------------------
+  # The tsctl clusterNodeInfo command must be issued on a node that has joined
+  # the cluster.  If it is issued on a node on which GPFS has started, but has
+  # not joined the cluster yet, the command will work but all counters will be
+  # set to zero.  Note that mmcommon onactive can not be used here because it
+  # bypasses nodes that are waiting for quorum while the tsctl clusterNodeInfo
+  # command will work on such nodes.
+  #-----------------------------------------------------------------------------
+
+  # If the -a option was specified, we already have a file
+  # with the reliable names of the nodes in the cluster.
+  # Otherwise, create the file now.
+  [[ -z $aflag ]] &&  \
+    getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+  # Try the nodes one by one until the command is executed somewhere.
+  # Always start with the local node first.
+  for nodeName in $(print -- "$ourNodeName" ; $grep -v -w "$ourNodeName" $nodefile)
+  do
+    run on1 $nodeName adminCmd tsctl clusterNodeInfo > $tmpfile 2> $errMsg2
+    rc=$(remapRC $?)
+
+    # If acceptable error (daemon down, node has not joined, etc.),
+    # try to find some other node to run the command.  Otherwise,
+    # the command was executed and either succeeded or failed.
+    if [[ $rc -eq $MM_DaemonDown || $rc -eq $MM_NotJoined || $rc -eq $MM_QuorumWait ]]
+    then
+      continue
+    else
+      break
+    fi
+  done  # end of for nodeName in ...
+
+  # Display header "Summary information:"
+  header=$(printInfoMsg 405)
+  printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+
+  # Examine the result from the tsctl call.
+  if [[ $rc -eq 0 ]]
+  then
+    # Things must have worked.  Show the results.
+    $cat $tmpfile
+    print -- ""   # Output a blank separator line.
+
+  elif [[ $rc -eq $MM_DaemonDown || $rc -eq $MM_NotJoined || $rc -eq $MM_QuorumWait ]]
+  then
+    # Either all nodes are down, or the daemon is down on all nodes,
+    # or none of the nodes have joined the cluster.
+    printErrorMsg 354 $mmcmd
+
+  else 
+    # Unexpected error.
+    [[ -s $errMsg2 ]] && $cat $errMsg2 1>&2
+    printErrorMsg 171 "$mmcmd" "tsctl clusterNodeInfo on node $nodeName" $rc
+  fi  # end of if [[ $rc -eq 0 ]]
+
+  $rm -f $errMsg2
+  return $rc
+
+}  #----- end of function showSummaryCounters  ----------------
+
+
+#######################
+# Mainline processing
+#######################
+
+##################################
+# Process each of the arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+while getopts :aC:kLn:N:svw:W: OPT
+do
+  case $OPT in
+
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag="-$OPT"
+       all="all"
+       [[ -n $Cflag || -n $Wflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $aflag $Cflag $Wflag $wflag $nflag $Nflag
+       ;;
+
+    C) # syntaxError "obsoleteOption" $usageMsg "-$OPT"
+       [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Cflag="-$OPT"
+       nodesetId="$OPTARG"
+       [[ -n $aflag || -n $Wflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Cflag $aflag $Wflag $wflag $nflag $Nflag
+       ;;
+
+    k) [[ -n $kflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       kflag="-$OPT"
+       ;;
+
+    L) [[ -n $Lflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Lflag="-$OPT"
+       ;;
+
+    n) [[ -n $nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nflag="-$OPT"
+       nodenums="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $nflag $Cflag $Wflag $aflag $Nflag
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $nflag || -n $wflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Nflag $Cflag $Wflag $aflag $nflag $wflag
+       ;;
+
+    s) [[ -n $sflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       sflag="-$OPT"
+       ;;
+
+    v) [[ -n $vflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       vflag="-$OPT"
+       ;;
+
+    w) [[ -n $wflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       wflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $wflag $Cflag $Wflag $aflag $Nflag
+       ;;
+
+    W) [[ -n $Wflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Wflag="-$OPT"
+       Wcoll="$OPTARG"
+       [[ -n $Cflag || -n $aflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Wflag $Cflag $aflag $wflag $nflag $Nflag
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[aCkLnNsvwW])
+       syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done  # end of while getopts :aC:kLn:N:vw:W: OPT do
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# -k implies -L as well.
+[[ -n $kflag ]] && Lflag="-L"
+
+# Rather than fail, convert the obsolete -C option to -a.
+[[ -n $Cflag ]] && aflag="-a"
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+#######################################################
+# Create a file containing all of the specified nodes.
+#######################################################
+if [[ -n $aflag ]]
+then
+  # Get a list of the nodes.
+  getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+elif [[ -n $Nflag ]]
+then
+  # Convert the passed data into a file containing admin node names.
+  createVerifiedNodefile $nodenames $REL_HOSTNAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+elif [[ -n $Wflag ]]
+then
+  # Verify the input file is readable.
+  if [[ ! -f $Wcoll || ! -r $Wcoll ]]
+  then
+    printErrorMsg 43 $mmcmd $Wcoll
+    cleanupAndExit
+  fi
+
+  # Filter out comment lines and localhost entries.
+  $grep -v -e "localhost" -e "^#" "$Wcoll" > $tmpfile
+
+  # Convert any entries in the node file into admin node names.
+  if [[ -s $tmpfile ]]
+  then
+    createVerifiedNodefile $tmpfile $REL_HOSTNAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  else
+    # No node names were specified.
+    printErrorMsg 328 $mmcmd $Wcoll
+    cleanupAndExit
+  fi
+
+else
+  # Either no option was specified, or we have some combination of -w and -n.
+
+  # Convert the node names list (if any) into a file.
+  $rm -f $tmpfile
+  if [[ -n $nodenames ]]
+  then
+    for i in $(print $nodenames | $tr "," " ")
+    do
+      print -- "$i" >> $tmpfile
+    done
+  fi
+
+  # Append the node number list (if any) to the node file.
+  if [[ -n $nodenums ]]
+  then
+    for i in $(print $nodenums | $tr "," " ")
+    do
+      print -- "$i" >> $tmpfile
+    done
+  fi
+
+  # Convert the entries in the node file into admin node names.
+  if [[ -s $tmpfile ]]
+  then
+    createVerifiedNodefile $tmpfile $REL_HOSTNAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi
+
+fi  # end of if [[ -n $aflag ]]
+
+
+# Ensure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+
+################################
+# Get the quorum state.
+################################
+$rm -f $tmpfile $tmpfile2 $errMsg
+if [[ ! -s $nodefile ]]
+then
+  # This is a request to query the local node only.
+  mmremoteOutput=$($mmremote mmGetState $Lflag 2>$errMsg)
+  rc=$?
+  [[ -n $mmremoteOutput ]] &&  \
+    print "${ourNodeName}: ${mmremoteOutput}" > $tmpfile
+else
+  # This is a request to query other nodes as well.
+  $mmcommon onall $nodefile $unreachedNodes mmGetState $Lflag > $tmpfile2 2>&1
+  rc=$?
+
+  # Split the results into two files:  the first will contain only
+  # the lines with the GPFS state information.  The second file
+  # will contain all error messages.
+  $grep    "mmGetState:" $tmpfile2 > $tmpfile
+  $grep -v "mmGetState:" $tmpfile2 > $errMsg
+
+  # Sort the results based on nodesetId and node number.
+  $sort -t: -k 3,3 -k 4,4n $tmpfile -o $tmpfile
+fi  # end of if [[ ! -s $nodefile ]]
+
+if [[ ! -s $tmpfile ]]
+then
+  # We didn't get anything back.  Give up.
+  [[ $rc -eq 0 ]] && rc=1
+  [[ -s $errMsg ]] && cat $errMsg 1>&2
+  # Command failed.
+  printErrorMsg 389 $mmcmd
+  cleanupAndExit
+fi
+
+
+################################
+# Display the results.
+################################
+
+# Print the appropriate header line.
+# This depends on the specified formatting option.
+if [[ -z $kflag ]]
+then
+  if [[ -n $Lflag ]]
+  then
+    # "Node number  Node name  Quorum  Nodes up  Total nodes  GPFS state  Remarks"
+    header=$(printInfoMsg 496)
+    printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+
+  else
+    # "Node number  Node name  GPFS state"
+    header=$(printInfoMsg 497)
+    printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+  fi
+fi  # end of if [[ -z $kflag ]]
+
+# Process the output from the mmGetState call.
+IFS=":"
+exec 3<&-
+exec 3< $tmpfile
+while read -u3 inLine
+do
+  # Parse the line.
+  set -f ; set -- $inLine ; set +f
+  nodeName=$1
+  magicWord=${2# }
+  nodeset=$3
+  nodeNumber=$4
+  shortName=$5
+  quorum=$6
+  nodesUp=$7
+  nodesTotal=$8
+  state=$9
+  quorumDesignation=${10}
+  IFS="$IFS_sv"
+
+  # Set the remarks field based upon the quorum designation value.
+  if [[ $quorumDesignation = $quorumNode ]]
+  then
+    remarks=$(printInfoMsg 431)  # "quorum node"
+  else
+    remarks=""
+  fi
+
+  # If verbose output requested, show relevent error messages.
+  [[ -n $vflag ]] && showErrorMessages $nodeName
+
+  # Print the desired information.
+  if [[ -n $kflag ]]
+  then
+    # Colon-separated output was requested.
+    print "gpfs:$nodeNumber:$shortName:$quorum:$nodesUp:$nodesTotal:$state:$remarks"
+
+  elif [[ -n $Lflag ]]
+  then
+    # Extended information was requested.
+    printf "%8s %4s %-16s %3s %8s %10s %5s %-7s %3s %s\n"  \
+           "$nodeNumber" "$BLANKchar" "$shortName" "$quorum" "$nodesUp"  \
+           "$nodesTotal" "$BLANKchar" "$state" "$BLANKchar" "$remarks"
+
+  else
+    # Default information was requested.
+    printf "%8s %4s %-16s %s\n"  \
+           "$nodeNumber" "$BLANKchar" "$shortName" "$state"
+  fi
+
+ IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 diskLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+# If verbose output requested, and there are still undisplayed errors,
+# show them to the user now.
+[[ -s $errMsg && -n $vflag ]] &&  \
+  $cat $errMsg  1>&2
+
+# If summary statistics were requested, get them from the daemon.
+if [[ -n $sflag ]]
+then
+  showSummaryCounters
+  rc=$?
+fi
+
+# If any nodes could not be reached, tell the user which ones.
+if [[ -s $unreachedNodes ]]
+then
+  # The following nodes could not be reached: . . .
+  printErrorMsg 270 $mmcmd
+  $cat $unreachedNodes 1>&2
+fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmglobfuncs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmglobfuncs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmglobfuncs	(revision 16)
@@ -0,0 +1,4715 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)84 1.473.1.23 src/avs/fs/mmfs/ts/admin/mmglobfuncs.sh, mmfs, avs_rgpfs24, rgpfs24s012a 4/18/07 15:05:42
+#####################################################################
+#
+#  This file contains declarations and functions that are
+#  common to most of the commands.  All mm commands must
+#  read this dot script before they do anything else.
+#
+#  If a command needs additional dot scripts, they must
+#  be read after this one.
+#
+#####################################################################
+
+sourceFile="mmglobfuncs.sh"
+PS4='${0##*/}:${sourceFile}[$LINENO]> '
+[[ -n $DEBUGmmglobfuncs ]] && set -x
+
+#-----------------------------------------------------------
+# Determine the operating system name.
+#-----------------------------------------------------------
+osName=$(/bin/uname -s)
+
+
+#-----------------------------------------------------------
+# Set environment and save input arguments.
+#-----------------------------------------------------------
+unset ENV
+umask 022
+UMASK_sv=022
+export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/lpp/mmfs/bin"
+export PERL_BADLANG=0
+integer argc=$#
+cmdline=$*
+mmcmd=${0##*/}
+if [[ $mmcmd = mmremote && "$1" = mmrpc* ]]
+then
+  mmrpc="$1"
+  shift 1
+fi
+arg1="$1"
+arg2="$2"
+arg3="$3"
+arg4="$4"
+arg5="$5"
+arg6="$6"
+arg7="$7"
+arg8="$8"
+arg9="$9"
+
+
+#-----------------------------------------------------------
+# Global variables and constants
+#-----------------------------------------------------------
+primaryServer=""                # primary server for cluster sdr files
+backupServer=""                 # backup server for cluster sdr files
+mmmode=""                       # mm mode (cluster type)
+environmentType=""              # environment type
+gpfsObjectInfo=""               # GPFS object info
+sdrLocked=no                    # If yes, the sdr is locked.
+gpfsLocked=no                   # If yes, the Gpfs object is locked.
+envLocked=no                    # If yes, the local env update lock is held.
+lockId=$$                       # identifier for sdr locking
+getCredCalled=no                # If yes, the getCred function was executed.
+new_krb5=""                     # newly-obtained DCE credentials
+old_krb5="$KRB5CCNAME"          # DCE credentials prior to entering this script
+new_KRBTKFILE="/tmp/tktmmfs$$"  # Kerberos ticket file for the command
+old_KRBTKFILE="$KRBTKFILE"      # Kerberos file prior to entering this script
+nodesetId=""                    # the nodeset to which the command applies
+nsId=""                         # the nodeset to which this node belongs
+preferredNode=0                 # the first node to try when shipping command
+noUsageMsg=0                    # suppress the usage statement
+integer newGenNumber=0          # generation number for the mmsdrfs file
+integer sdrGenNumber=0          # most recent mmsdrfs generation number
+integer sdrGenTimestamp=0       # timestamp of the mmsdrfs generation number
+sdrfsFormatLevel=0              # the format level of the mmsdrfs file
+IFS_sv="$IFS"                   # value of the IFS environment variable
+ourNodeNumber=""                # the node number of this node
+ourNodeName=""                  # the reliable node name of this node
+ourShortName=""                 # the unqualified node name of this node
+ourUid=$(/usr/bin/id -u)        # the uid of the process invoking the command
+
+BLANKchar=" "
+TABchar="	"
+NO_MOUNT_CHECK="_NO_MOUNT_CHECK_"
+MOUNT_CHECK_ONLY="_MOUNT_CHECK_ONLY_"
+CHECK_ALL="_CHECK_ALL_"
+RESIGN_FSMGR="_RESIGN_FSMGR_"
+NO_FILE_COPY="_NO_FILE_COPY_"
+LINK="_LINK_"
+NO_LINK="_NO_LINK_"
+UNKNOWN="_UNKNOWN_"
+UNRESOLVED="-"
+
+
+#-----------------------------------------------------------
+# Return codes and constants for internal mm command use.
+#-----------------------------------------------------------
+# mm command unique values:
+MM_Version3=3              # node runs version 2.3 or later
+MM_IncompatibleCode=188    # installed GPFS code is not compatible
+MM_FsMounted=189           # file system mounted somewhere
+MM_KExtFailure=190         # kernel extension load/unload failure
+
+# Values based on the AIX errno.h constants:
+MM_RemoteNotFound=2        # remote cluster not found (ENOENT)
+MM_QuorumWait=11           # daemon waits for quorum (EAGAIN)
+MM_AccessDenied=13         # access denied (EACCES)
+MM_NotJoined=16            # node has not joined the cluster (EBUSY)
+MM_FsExists=17             # device already exists (EEXIST)
+MM_FsNotFound=19           # device does not exist (ENODEV)
+MM_DeviceNotFound=19       # device does not exist (ENODEV)
+MM_InvalidName=22          # invalid (device) name (EINVAL)
+MM_DaemonDown=50           # daemon not running (ENOCONNECT)
+MM_UnknownCluster=70       # unknown cluster (ENETUNREACH)
+MM_ConnectionReset=73      # connection reset (ECONNRESET)
+MM_TimedOut=78             # connection timed out (ETIMEDOUT)
+MM_HostDown=80             # host is down (EHOSTDOWN)
+MM_Remotefs=93             # remote file system (EREMOTE)
+
+# Values based on GPFS ShErrno.h constants modulo 256:
+MM_ConnectTimeout=107      # connection timeout or error (E_NOTCONN)
+MM_SecurityCfg=208         # failed to load security keys (E_SECURITY_CFG mod 256)
+MM_AuthorizationFailed=214 # authorization failed (E_AUTHORIZATION_FAILED mod 256)
+
+
+#-----------------------------------------------------------
+# Well-known directories
+#-----------------------------------------------------------
+# Set the directory with the mm commands.
+if [[ -n $MMFSDIR ]]
+then
+  mmcmdDir="${MMFSDIR}/bin"
+elif [[ -z $mmcmdDir ]]
+then
+  mmcmdDir="/usr/lpp/mmfs/bin"
+else
+  : # mmcmdDir must have been set by the caller
+fi
+
+tscmdDir="$mmcmdDir"                           # directory with ts commands
+mmdataDir="/usr/lpp/mmfs/data/"                # directory for various mm data files
+mmsdrfsDir="/var/mmfs/gen/"                    # directory for various mm system files
+mmfscfgDir="/var/mmfs/etc/"                    # directory for mmfs config files
+tmpDir="/var/mmfs/tmp/"                        # directory for temporary files
+mmbackupDir="/var/mmfs/mmbackup"               # directory for use by mmbackup
+lockdir="/var/mmfs/etc/mmlock"                 # common lock directory
+mmfsEnvLockDir="/var/mmfs/gen/mmfsEnvLockDir"  # local mmfsEnv lock directory
+links=".links"                                 # directory with links to ts commands
+rasDir="/var/adm/ras/"                         # directory for daemon log files
+sslDir="/var/mmfs/ssl/"                        # directory for cluster security files
+sslStageDir="/var/mmfs/ssl/stage/"             # directory for cluster security files
+defaultAutomountDir="/gpfs/automountdir"       # default directory for automounts
+
+# Keep the following two items in sync with globcfg.C
+mmpmonDir="/var/mmfs/mmpmon/"                  # directory for use by mmpmon
+mmpmonSocket="mmpmonSocket"                    # name of mmpmon named socket
+
+# The env lock location can be altered with an environment variable.
+[[ -n $mmfsEnvLockLocation ]] &&  \
+   mmfsEnvLockDir="$mmfsEnvLockLocation/mmfsEnvLockDir"
+
+# If the user is not root, relocate files used by
+# mmls commands to /tmp instead of /var/mmfs/tmp.
+[[ $ourUid -ne 0 ]] && tmpDir="/tmp/"
+
+#-----------------------------------------------------------
+# Well-known file names
+#-----------------------------------------------------------
+if [[ $ourUid -eq 0 ]]
+then
+  MULTIPLE_KEYS_5="${mmsdrfsDir}MULTIPLE_KEYS_5"          #esjxx ifdef file
+# mkdir -p $mmsdrfsDir ; touch $MULTIPLE_KEYS_5           #esjxx ifdef file
+fi
+
+ignoreStartupMount=${mmfscfgDir}ignoreStartupMount # node-override for -A yes mounting
+localMountOptions=${mmfscfgDir}localMountOptions   # node-specific mount options;
+                                                   #  the suffix is the file system name
+mmfscfgFile=${mmfscfgDir}mmfs.cfg              # mmfs.cfg file used by the daemon
+mmfscfg=${mmfscfgDir}mmfs.cfg                  # mmfs.cfg file used by the daemon
+haslock=${lockdir}/haslock                     # pid and node of command that has lock
+hasEnvLock=${mmfsEnvLockDir}/hasEnvLock        # pid of cmd that has the mmfsEnv lock
+mmsdrfsFile=${mmsdrfsDir}mmsdrfs               # cached copy of the mmsdrfs file
+mmsdrfsTmp=${mmsdrfsDir}mmsdrfs.tmp            # uncommitted copy of the mmsdrfs file
+mmsdrfsPrev=${mmsdrfsDir}mmsdrfs.prev          # previous version of the mmsdrfs file
+uncommitted=${mmsdrfsDir}uncommitted           # empty file signifying commit in progress
+mmfsNodeData=${mmsdrfsDir}mmfsNodeData         # local node data (hostname, ipa, etc.)
+mmfsEnvLevel=${mmsdrfsDir}mmfsEnvLevel         # the suffix is equal to the gen number
+                                               # of the local mmsdrfs file
+mmfsVfsNumber=${mmsdrfsDir}mmfsVfsNumber       # the suffix is equal to the major number
+                                               # assigned to /dev entries on this node
+exclDiskFile=${mmsdrfsDir}exclDiskFile         # the suffix is equal to the file system
+                                               # device name to which the disks belong
+mmsdrfsGen=${tmpDir}mmsdrfsGen                 # the suffix is the file's gen number
+mmauthKeyGen=${sslStageDir}mmauthKeyGen        # mmauth genkey file (format 1)
+                                               #   the suffix is the key gen number
+genkeyData=${sslStageDir}genkeyData            # mmauth genkey file (format 2)
+                                               #   the suffix is the key gen number
+mmfsNewKeyLevel=${mmsdrfsDir}mmfsNewKeyLevel   # the suffix is equal to the gen number
+                                               # of the uncommitted private key file
+mmfsCommittedKeyLevel=${mmsdrfsDir}mmfsCommittedKeyLevel # the suffix is the gen number
+                                               # of the committed private key file
+newPrivateKey=${sslDir}id_rsa_new              # uncommitted private key file
+committedPrivateKey=${sslDir}id_rsa_committed  # committed private key file
+newPublicKey=${sslDir}id_rsa_new.pub           # uncommitted public key file
+committedPublicKey=${sslDir}id_rsa_committed.pub # committed public key file
+newCertificate=${sslDir}id_rsa_new.cert        # uncommitted self-signed certificate
+committedCertificate=${sslDir}id_rsa_committed.cert # committed self-signed certificate
+publicKey=${sslDir}id_rsa.pub                  # link to the current public key
+privateKey=${sslDir}id_rsa                     # private key file for the local cluster
+                                               #   the suffix is the key gen number
+
+mmSdrLockExp=${mmsdrfsDir}mmSdrLockExp         # contains gen number and exp. timestamp
+nsdmap=${mmsdrfsDir}nsdmap                     # local disk name to pvid hints file
+nsdpvol=${mmsdrfsDir}nsdpvol                   # local disk name to nsd name file
+mmDirectMap=${mmsdrfsDir}mmDirectMap           # list of automountable file systems
+startupMountFile=${mmsdrfsDir}automountFile    # fs to mount at startup time
+automountFile=${mmsdrfsDir}automountFile       # fs to mount at startup time
+authorizedKeys=${sslDir}authorized_keys        # list of autorized keys
+knownCluster=${sslDir}known_cluster            # public key file for a remote cluster;
+                                               #   the suffix is the cluster name.
+authorizedCertificates=${sslDir}authorized_certificates # list of autorized certificates
+knownCertificate=${sslDir}known_certificate    # certificate file for a remote cluster;
+                                               #   the suffix is the cluster name.
+certConfigFile=${sslDir}openssl.conf           # options for openssl certificate
+opensslConfFile=${mmdataDir}openssl.conf       # template for openssl certificate
+rerunmmfsFile=${mmsdrfsDir}rerunmmfsFile       # file telling runmmfs to respawn mmfsd
+respawnlog=${mmsdrfsDir}runmmfs.respawnlog     # controls the rate of mmfsd respawn
+respawnlog2=${mmsdrfsDir}runmmfs.respawnlog.$$ # controls the rate of mmfsd respawn
+mmpmonNamedSocketFile=${mmpmonDir}${mmpmonSocket} # mmpmon named socket
+mmsdrservPid=${mmsdrfsDir}mmsdrservPid         # contains pid of the mmsdrserv process
+
+# To get error messages from mmsdrserv, specify a file name in the mmsdrservLog
+# variable.  If this variable is not defined, all error msgs will be discarded.
+#mmsdrservLog=${tmpDir}mmsdrservLog            # log records from the mmsdrserv daemon
+[[ -z $mmsdrservLog ]] && mmsdrservLog="/dev/null"
+
+
+#-----------------------------------------------------------
+# Global working files
+#-----------------------------------------------------------
+adfile=${tmpDir}adapterFile.${mmcmd}.$$         # list of all node adapters
+rnfile=${tmpDir}relNamesFile.${mmcmd}.$$        # list of all reliable hostnames
+lslvOutput=${tmpDir}lslvOutput.${mmcmd}.$$      # lslv output
+sdrNodeFile=${tmpDir}sdrNodeFile.${mmcmd}.$$    # node-related information
+vsdNamesFile=${tmpDir}vsdNamesFile.${mmcmd}.$$  # list of all VSDs
+volGroupFile=${tmpDir}volGroupFile.${mmcmd}.$$  # list of all global volume groups
+allClusterNodes=${tmpDir}allClusterNodes.${mmcmd}.$$  # list of nodes in the cluster
+allQuorumNodes=${tmpDir}allQuorumNodes.${mmcmd}.$$    # list of all quorum nodes
+nodefile=${tmpDir}nodefile.${mmcmd}.$$          # list of nodes in the cluster
+diskfile=${tmpDir}diskfile.${mmcmd}.$$          # list of disks in the cluster
+newsdrfs=${tmpDir}newsdrfs.${mmcmd}.$$          # new version of mmsdrfs file
+tmpsdrfs=${tmpDir}tmpsdrfs.${mmcmd}.$$          # temp file for building the mmsdrfs
+mmsdrfsShadow=${mmsdrfsFile}.$$                 # temp copy of the sdr version of mmsdrfs
+sdrfs=${tmpDir}sdrfs.${mmcmd}.$$                # local copy of the mmsdrfs file
+oldsdrfs=${tmpDir}oldsdrfs.${mmcmd}.$$          # local copy of the mmsdrfs file
+stanza=${tmpDir}stanza.${mmcmd}.$$              # /etc/filesystems stanza
+oldstanza=${tmpDir}oldstanza.${mmcmd}.$$        # old version of /etc/filesystems stanza
+newstanza=${tmpDir}newstanza.${mmcmd}.$$        # new version of /etc/filesystems stanza
+newcfg=${tmpDir}newcfg.${mmcmd}.$$              # new version of mmfs.cfg file
+remainingFs=${tmpDir}remainingFs.${mmcmd}.$$    # remaining file systems info
+tmpfile=${tmpDir}tmpfile.${mmcmd}.$$            # temp file for misc use
+tmpfile2=${tmpDir}tmpfile2.${mmcmd}.$$          # second temp file for misc use
+tmpCfg=${tmpDir}tmpCfg.${mmcmd}.$$              # temp mmfs.cfg file
+tmpNodes=${tmpDir}tmpNodes.${mmcmd}.$$          # temp file with node names
+tmpDirectMap=${mmsdrfsDir}tmpDirectMap          # list of automountable file systems
+tmpPublicKey=${sslStageDir}tmpPublicKey.${mmcmd}.$$      # temp public key file
+tmpPrivateKey=${sslStageDir}tmpPrivateKey.${mmcmd}.$$    # temp private key file
+tmpCertificate=${sslStageDir}tmpCertificate.${mmcmd}.$$  # temp certificate file
+localAuthKeys=${tmpDir}localAuthKeys.${mmcmd}.$$         # local public keys
+localCertificates=${tmpDir}localCertificates.${mmcmd}.$$ # local certificates
+tmpAuthKeys=${tmpDir}tmpAuthKeys.${mmcmd}.$$             # temp authorized keys file
+tmpKnownCluster="${tmpDir}knownCluster.$$_"              # temp known cluster key file
+                                                         #  (suffix is the cluster name)
+tmpAuthCertificates=${tmpDir}tmpAuthCertificates.${mmcmd}.$$ # authorized certificates
+tmpKnownCertificate="${tmpDir}knownCertificate.$$_"      # temp known certificate file
+                                                         #  (suffix is the cluster name)
+unreachedNodes=${tmpDir}unreachedNodes.${mmcmd}.$$       # unreached nodes file
+sgDiskLines=${tmpDir}sgDiskLines.${mmcmd}.$$             # disk lines file
+diskNamesFile=${tmpDir}diskNamesFile.${mmcmd}.$$         # disk names file
+nsdDataFile=${tmpDir}nsdDataFile.${mmcmd}.$$             # NSD data file
+lqueryvgResult=${tmpDir}lqueryvgResult.${mmcmd}.$$       # lqueryvg output file
+lspvOutputFile=${tmpDir}lspvOutputFile.${mmcmd}.$$       # lspv output file
+tsOutputFile=${tmpDir}tsOutputFile.${mmcmd}.$$  # output file for a ts command
+errMsg=${tmpDir}errMsg.${mmcmd}.$$              # temp file for error messages
+                                                #  (erase as soon as not needed)
+errMsg2=${tmpDir}errMsg2.${mmcmd}.$$            # temp file for error messages
+                                                #  (erase as soon as not needed)
+
+
+GLOBAL_FILES=" $adfile $rnfile $sdrNodeFile $sdrfs $newsdrfs $volGroupFile  \
+               $tmpfile $tmpfile2 $tmpsdrfs $vsdNamesFile $diskfile  \
+               $oldstanza $stanza $newstanza $newcfg $tmpCfg $tmpNodes  \
+               $oldsdrfs $nodefile $sgDiskLines $diskNamesFile $nsdDataFile \
+               $errMsg $errMsg2 $mmsdrfsShadow $lslvOutput $unreachedNodes  \
+               $remainingFs $allClusterNodes $allQuorumNodes $lqueryvgResult  \
+               $tmpAuthKeys ${tmpKnownCluster}* $tmpDirectMap $tmpPrivateKey \
+               $tmpPublicKey $tsOutputFile $lspvOutputFile \
+               $tmpCertificate $localCertificates  \
+               $localAuthKeys $tmpAuthCertificates ${tmpKnownCertificate}* "
+
+
+#-----------------------------------------------------------
+# Full path names for GPFS commands
+#-----------------------------------------------------------
+daemonize=${mmcmdDir}/daemonize
+lxtrace=${mmcmdDir}/lxtrace
+mmchconfig=${mmcmdDir}/mmchconfig
+mmchecksubsys=${mmcmdDir}/mmchecksubsys
+mmclearfence=${mmcmdDir}/mmclearfence
+mmcommon=${mmcmdDir}/mmcommon
+mmcrclusterid=${mmcmdDir}/mmcrclusterid
+mmcrfsc=${mmcmdDir}/mmcrfsc
+mmdf=${mmcmdDir}/mmdf
+mmdsh=${mmcmdDir}/mmdsh
+mmdspmsg=${mmcmdDir}/mmdspmsg
+mmdynamicmap=${mmcmdDir}/mmdynamicmap
+mmexectsmcmd=${mmcmdDir}/mmexectsmcmd
+mmexportfs=${mmcmdDir}/mmexportfs
+mmfixcfg=${mmcmdDir}/mmfixcfg
+mmfsadm=${mmcmdDir}/mmfsadm
+mmfsenv=${mmcmdDir}/mmfsenv
+mmfskxgetwpid=${mmcmdDir}/mmfskxgetwpid
+mmfskxload=${mmcmdDir}/mmfskxload
+mmfskxunload=${mmcmdDir}/mmfskxunload
+mmfsmknod=${mmcmdDir}/mmfsmknod
+mmimportfs=${mmcmdDir}/mmimportfs
+mmkerninfo=${mmcmdDir}/mmkerninfo
+mmlsnsd=${mmcmdDir}/mmlsnsd
+mmmvfs=${mmcmdDir}/mmmvfs
+mmremote=${mmcmdDir}/mmremote
+mmsdrcli=${mmcmdDir}/mmsdrcli
+mmsdrserv=${mmcmdDir}/mmsdrserv
+mmsetrcmd=${mmcmdDir}/mmsetrcmd
+mmssaclearfence=${mmcmdDir}/mmssaclearfence
+mmstartup=${mmcmdDir}/mmstartup
+mmsync=${mmcmdDir}/mmsync
+mmtrace=${mmcmdDir}/mmtrace
+runmmfs=${mmcmdDir}/runmmfs
+tsadddisk=${tscmdDir}/tsadddisk
+tsauth=${tscmdDir}/tsauth
+tsaddrmap=${tscmdDir}/tsaddrmap
+tsbackup=${tscmdDir}/tsbackup
+tschfileset=${tscmdDir}/tschfileset
+tschfs=${tscmdDir}/tschfs
+tschmgr=${tscmdDir}/tschmgr
+tschpolicy=${tscmdDir}/tschpolicy
+tschpool=${tscmdDir}/tschpool
+tscrefresh=${tscmdDir}/tscrefresh
+tscrfileset=${tscmdDir}/tscrfileset
+tscrfs=${tscmdDir}/tscrfs
+tsctl=${tscmdDir}/tsctl
+tsctlfs=${tscmdDir}/tsctlfs
+tsdeldisk=${tscmdDir}/tsdeldisk
+tsdelfileset=${tscmdDir}/tsdelfileset
+tsdelfs=${tscmdDir}/tsdelfs
+tsdsh=${tscmdDir}/tsdsh
+tsfileid=${tscmdDir}/tsfileid
+tsfindinode=${tscmdDir}/tsfindinode
+tslinkfileset=${tscmdDir}/tslinkfileset
+tslsfs=${tscmdDir}/tslsfs
+tslsfileset=${tscmdDir}/tslsfileset
+tslspolicy=${tscmdDir}/tslspolicy
+tsmigrate=${tscmdDir}/tsmigrate
+tsnsdaccess=${tscmdDir}/tsnsdaccess
+tsremount=${tscmdDir}/tsremount
+tsrestripefs=${tscmdDir}/tsrestripefs
+tsstatus=${tscmdDir}/tsstatus
+tsprclear=${tscmdDir}/tsprclear
+tspreparedisk=${tscmdDir}/tspreparedisk
+tsunlinkfileset=${tscmdDir}/tsunlinkfileset
+nss_setmap=${tscmdDir}/nss_setmap
+
+
+#-----------------------------------------------------------
+# User exits
+#-----------------------------------------------------------
+mmsdrbackup=${mmfscfgDir}mmsdrbackup
+nsddevices=${mmfscfgDir}nsddevices
+remoteclusternodes=${mmfscfgDir}remoteclusternodes
+sslrandfile=${mmfscfgDir}sslrandfile
+syncfsconfig=${mmfscfgDir}syncfsconfig
+
+
+#-----------------------------------------------------------
+# RSCT peer domain commands
+#-----------------------------------------------------------
+export CT_MANAGEMENT_SCOPE=2
+lsclcfg=/usr/bin/lsclcfg
+lsnodeid=/usr/sbin/rsct/bin/lsnodeid
+lsrsrcapi=/usr/bin/lsrsrc-api
+
+
+#-----------------------------------------------------------
+# Full path names for the GPFS daemon and kernel extension.
+# The mmcmdSubdir and mmcmdSuffix components, if they are to
+# have non-null values, must be set by the invoking module.
+#-----------------------------------------------------------
+mmfs=${mmcmdDir}/${mmcmdSubdir}/mmfs${mmcmdSuffix}
+mmfsd=${mmcmdDir}/${mmcmdSubdir}/mmfsd${mmcmdSuffix}
+
+
+#-----------------------------------------------------------
+# Global declarations for parsing the mmsdrfs file
+#-----------------------------------------------------------
+# Line type identifiers and other constants.
+VERSION_LINE='00_VERSION_LINE'
+COMMENT_LINE='03_COMMENT'
+NODESET_HDR='10_NODESET_HDR'
+MEMBER_NODE='20_MEMBER_NODE'
+SG_HEADR='30_SG_HEADR'
+SG_ETCFS='40_SG_ETCFS'
+SG_MOUNT='50_SG_MOUNT'
+SG_DISKS='60_SG_DISKS'
+MMFSCFG='70_MMFSCFG'
+REM_CLUSTER='80_REM_CLUSTER'
+REM_CLUSTER_KEY='82_REM_CLUSTER_KEY'
+AUTHORIZED_CLUSTER='90_AUTHORIZED_CLUSTER'
+AUTHORIZED_KEY='92_AUTHORIZED_KEY'
+AUTHORIZED_FS='94_AUTHORIZED_FS'
+HSMDATA='910_HSMDATA'
+HSMVERSION='920_HSMVERSION'
+
+CURRENT_SDRFS_FORMAT=1
+CURRENT_SDRFS_VERSION=3
+CURRENT_KEYFILE_FORMAT=2
+COMPATIBLE_KEYFILE_FORMAT=2
+GLOBAL_ID='%%9999%%'
+FREE_DISK='~%BBBB%%'
+DSM_DATA='~%DSM%%'
+NO_DEVICE='~/~'
+CHANGE_NSD='~/changeNsd/~'
+HOME_CLUSTER="%%home%%"
+availableField=""
+obsoleteField=""
+FREE_NODE='~%AAAA%%'            # obsolete
+HA_SERVICES='~%HAS%%'           # obsolete
+HA_CLUSTER_NAME='gpfs'          # obsolete
+PRIMARY_NETWORK='gpfs'          # obsolete
+SECONDARY_NETWORK='gpfs2'       # obsolete
+
+# Global field definitions.
+NODESETID_Field=1
+LINE_TYPE_Field=2
+DEV_NAME_Field=3
+LINE_NUMBER_Field=4
+
+# Definitions for the VERSION_LINE.
+SDRFS_FORMAT_Field=4
+SDRFS_VERSION_Field=5
+SDRFS_GENNUM_Field=6
+RUNNING_CMD_Field=7
+CLUSTER_TYPE_Field=8
+PRIMARY_SERVER_Field=9
+BACKUP_SERVER_Field=10
+HIGHEST_GPFS_DISK_NBR_Field=11
+RSH_PATH_Field=12
+RCP_PATH_Field=13
+CLUSTERID_Field=14
+CLUSTER_SUBTYPE_Field=15
+GENNUM_TSTAMP_Field=16
+GETOBJECT_PORT_Field=17         # obsolete
+CLUSTER_NAME_Field=18
+NEW_KEY_Field=19
+SECLEVEL_Field=20
+COMMITTED_KEY_Field=21
+KEYFILE_FORMAT_Field=22
+initialDiskNumber=1000
+
+# Definitions for COMMENT lines.
+COMMENT_TEXT_Field=5
+warningText="   This is a machine generated file.  Do not edit!        "
+
+# Definitions for NODESET_HDR lines.
+NODE_COUNT_Field=5
+COMM_PROTOCOL_Field=6
+CIPHER_LIST_Field=7
+TCP_PORT_Field=8
+# obsolete_Field=9           # old CONVERSION_STATE_Field
+# obsolete_Field=10          # old EVENTS_PORT_Field
+# available_Field=11
+MIN_DAEMON_VERSION_Field=12  # same as the maxFeatureLevel
+MAX_DAEMON_VERSION_Field=13
+OS_ENVIRONMENT_Field=14
+# available_Field=15
+EVENTS_PORT_Field=16
+GETOBJECT_PORT_Field=17
+defaultTcpPort=1191
+
+# Definitions for MEMBER_NODE lines.
+NODE_NUMBER_Field=5
+NODE_NAME_Field=6
+IPA_Field=7
+REL_HOSTNAME_Field=8
+DESIGNATION_Field=9
+LAPI_ADAPTER_Field=10        # obsolete
+LAPI_WINDOW_Field=11         # obsolete
+SWITCH_NODE_NUMBER_Field=12  # obsolete
+ADDNODE_STATE_Field=13
+ADAPTER_TYPE_Field=14
+DAEMON_NODENAME_Field=15
+ADMIN_SHORTNAME_Field=16
+DAEMON_VERSION_Field=17
+PRODUCT_VERSION_Field=18
+OS_NAME_Field=19
+CORE_QUORUM_Field=20
+GS_NODE_NUMBER_Field=21      # obsolete
+noWindow="-1"
+noSwitch="-1"
+noNumber=0
+DELETED_NODE="deleted"       # obsolete
+QUORUM="quorum"
+NONQUORUM="nonquorum"
+MANAGER="manager"
+CLIENT="client"
+NEW_NODE="new"
+OLD_NODE=""
+quorumNode="Q"
+nonQuorumNode="N"
+maxQuorumNodes=128
+maxRecQuorumNodes=7
+
+# Definitions for SG_HEADR lines.
+DEV_MINOR_Field=5
+ODD_STATE_Field=6
+FS_TYPE_Field=7
+REMOTE_DEV_NAME_Field=8
+remotefs="R"
+localfs=""
+
+# Definitions for SG_ETCFS lines.
+ETCFS_TEXT_Field=5
+MOUNT_POINT_Line=1
+DEV_Line=2
+VFS_Line=3
+NODENAME_Line=4
+MOUNT_Line=5
+TYPE_Line=6
+ACCOUNT_Line=7
+OPTIONS_Line=8
+DEV_Line_Prefix="	dev		= "
+VFS_Line_Prefix="	vfs		= "
+NODENAME_Line_Prefix="	nodename	= "
+MOUNT_Line_Prefix="	mount		= "
+TYPE_Line_Prefix="	type		= "
+ACCOUNT_Line_Prefix="	account		= "
+OPTIONS_Line_Prefix="	options		= "
+
+# Definitions for SG_MOUNT lines.
+RW_OPT_Field=5
+MTIME_OPT_Field=6
+ATIME_OPT_Field=7
+QUOTA_OPT_Field=8
+OTHER_OPT_Field=9
+QUOTA_ACTIVATED="userquota;groupquota;filesetquota"
+QUOTA_DISACTIVATED=""
+
+# Definitions for SG_DISKS lines.
+DISK_NAME_Field=5
+DISK_SIZE_Field=6
+FAILURE_GROUP_Field=7
+DISK_USAGE_Field=8
+PVID_Field=9
+DISK_TYPE_Field=10         # disk type of the disk (e.g., vsd, lv, nsd-direct)
+NSD_PRIMARY_NODE_Field=11
+NSD_BACKUP_NODE_Field=12
+DISK_SUBTYPE_Field=13      # ssa, pr, other; used for fencing
+VPATH_FLAG_Field=14        # vpath or notvpath; used when deleting or importing
+                           #   disks; SDD utilities may or may not be needed
+NSD_SUBTYPE_Field=15       # disk type of the disk underlying the nsd
+                           #   (e.g., vsd, lv, hdisk, vpath, generic)
+NAME_SOURCE_Field=16       # disk name source (user-specified or cmd-generated)
+NSD_SUBTYPE_DISKNAME_Field=17  #  disk name of the disk underlying the nsd
+EXCLUDE_Field=18
+PAXOS_Field=19
+DISK_STATUS_Field=20
+AIX_PVID_Field=21          # PVID of the underlying AIX disk (if applicable).
+STORAGE_POOL_Field=22
+DAEMON_NSD_PRIMARY_Field=23
+DAEMON_NSD_BACKUP_Field=24
+userSpecified="user"
+cmdGenerated="cmd"
+excludedDisk="excl"
+includedDisk=""
+PaxosDisk="quorumDisk"
+
+# Definitions for MMFSCFG lines.
+#
+# Since mmfs.cfg values can contain the ':' character,
+# everything past the first four fields, except trailing
+# null fields, is considered to be mmfs.cfg text.
+
+# Definitions for REM_CLUSTER lines.
+CONTACT_NODES_Field=5
+
+# Definitions for REM_CLUSTER_KEY lines.
+# Definitions for AUTHORIZED_KEY lines.
+KEY_Field=5
+
+# Definitions for AUTHORIZED_CLUSTER lines.
+GRANT_Field=5
+# available_Field=6
+CIPHER_LIST_Field=7
+accessGranted="all"
+accessDenied=""
+
+# Definitions for AUTHORIZED_FS lines.
+ACCESS_TYPE_Field=5
+ROOTSQUASH_UID_Field=6
+ROOTSQUASH_GID_Field=7
+
+# Definitions for HSMDATA and HSMVERSION lines.
+HSM_NODESET_Field=3
+# Since these lines can contain the ':' character,
+# everything past the first four fields, except trailing
+# null fields, is considered to be free format text.
+
+
+#-----------------------------------------------------------------------
+#
+# Set up the internal mm trace facility.
+#
+# Tracing is controlled through the mmScriptTrace environment variable.
+#
+# - If the variable is not set, tracing is disabled.
+#
+# - If the variable is set, and its value starts with a slash,
+#   it is assumed to be the full path name for the file which
+#   is to contain the trace results.  Otherwise, the trace results
+#   are send to file /tmp/mmfs/mmScriptTrace.
+#
+# Examples:
+#
+#   $mmTRACE_ENTER "$*"
+#
+#   $mmTRACE "lock held by $lockHolderHostname $lockHolderPid"
+#
+#   $mmTRACE_EXIT "rc=$rc"
+#
+#-----------------------------------------------------------------------
+if [[ -z $mmScriptTrace || $mmScriptTrace = "/dev/null" ]]
+then
+  mmTRACE_ENTER=_mmTRACE_ENTER_disabled
+  mmTRACE_EXIT=_mmTRACE_EXIT_disabled
+  mmTRACE=_mmTRACE_disabled
+  mmScriptTrace="/dev/null"
+else
+  mmTRACE_ENTER=_mmTRACE_ENTER_enabled
+  mmTRACE_EXIT=_mmTRACE_EXIT_enabled
+  mmTRACE=_mmTRACE_enabled
+  [[ $mmScriptTrace != /* ]] && \
+    mmScriptTrace=/tmp/mmfs/mmScriptTrace
+fi
+
+
+#-----------------------------------------------------------
+# Set release information.
+#-----------------------------------------------------------
+. /usr/lpp/mmfs/bin/mmprodname
+sourceFile="mmglobfuncs.sh"
+
+
+#------------------------------------------------------------------
+#  Pull in operating system dependent declarations and functions.
+#------------------------------------------------------------------
+[[ -e ${mmcmdDir}/mmglobfuncs.$osName ]] && \
+  . ${mmcmdDir}/mmglobfuncs.$osName
+sourceFile="mmglobfuncs.sh"
+
+
+#------------------------------------------------------------------
+# Check whether site changed the mmfs.log location.
+#------------------------------------------------------------------
+if [[ -f $mmfscfg ]]
+then
+  logDir=$($awk '$1 == "logDir" {value = $2} END {print value}' $mmfscfg)
+  [[ -n $logDir ]] && rasDir="${logDir}/"
+fi
+
+
+#------------------------------------------------------------------
+# Make sure required directories exist.
+#------------------------------------------------------------------
+if [[ $ourUid -eq 0 ]]
+then
+  $mkdir -p $mmsdrfsDir $mmfscfgDir $tmpDir $rasDir $mmbackupDir
+  $mkdir -m 0700 -p $sslDir $sslStageDir $mmpmonDir
+fi
+
+
+#-----------------------------------------------------------
+# Frequently-used functions
+#-----------------------------------------------------------
+
+
+#######################################################################
+#
+# Internal tracing functions.  All of the functions interpret the
+# argument list with which they are invoked as being the trace record.
+#
+#######################################################################
+
+_mmTRACE_ENTER_enabled()
+{
+  typeset timestamp=$($perl -e 'print time')
+  printf  "%7s  %7s  %16s  %-14s  %-6s  %s\n" \
+           $$ $PPID $timestamp $mmcmd  "enter" "${0##*/}: $*" >> $mmScriptTrace
+}
+
+_mmTRACE_EXIT_enabled()
+{
+  typeset timestamp=$($perl -e 'print time')
+  printf  "%7s  %7s  %16s  %-14s  %-6s  %s\n" \
+           $$ $PPID $timestamp $mmcmd  "EXIT " "${0##*/}: $*" >> $mmScriptTrace
+}
+
+_mmTRACE_enabled()
+{
+  typeset timestamp=$($perl -e 'print time')
+  printf  "%7s  %7s  %16s  %-14s  %-6s  %s\n" \
+           $$ $PPID $timestamp $mmcmd  " " "${0##*/}: $*" >> $mmScriptTrace
+}
+
+_mmTRACE_ENTER_disabled()
+{
+   return 0
+}
+
+_mmTRACE_EXIT_disabled()
+{
+   return 0
+}
+
+_mmTRACE_disabled()
+{
+   return 0
+}
+
+
+####################################################################
+#
+# Function:  Prints the specified message to stdout
+#
+# Input:     $1 - number of the message to print
+#            $2, $3, ... - arguments to pass to dspmsg
+#
+####################################################################
+function printInfoMsg  # <msgNo> [ <arg> ... ]
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGprintInfoMsg ]] && set -x
+  msgNo=$1
+  typeset msgSet
+  typeset printTimeStamp=no
+
+  # Based on the message number, find the message text.
+  case $msgNo in
+
+    12  ) msgTxt=\
+"%s: %s nodes added to the cluster out of %s nodes specified."
+    ;;
+
+    94  ) msgTxt=\
+"Deleting disks ..."
+    ;;
+
+    95  ) msgTxt=\
+"Restriping %s ..."
+    ;;
+
+    96  ) msgTxt=\
+"Replacing %s ..."
+    ;;
+
+    98  ) msgTxt=\
+"%s: Processing disks that do not belong to any file system ..."
+    ;;
+
+    99  ) msgTxt=\
+"Done"
+    ;;
+
+    143 ) msgTxt=\
+"%s: %s: Processing user configuration file %s"
+    ;;
+
+    179 ) msgTxt=\
+"flag value          description\n"\
+"---- -------------- -----------------------------------------------------"
+    ;;
+
+    180 ) msgTxt=\
+"root allowed"
+    ;;
+
+    181 ) msgTxt=\
+"root remapped to"
+    ;;
+
+    182 ) msgTxt=\
+"%s: Granting cluster %s access to file system %s:\n"\
+"        access type %s; root credentials will not be remapped."
+    ;;
+
+    183 ) msgTxt=\
+"%s: Granting cluster %s access to file system %s:\n"\
+"        access type %s; root credentials will be remapped to %s:%s."
+    ;;
+
+    231 ) msgTxt=\
+"%s: %s already belongs to volume group %s.\n"
+    ;;
+
+    241 ) msgTxt=\
+"%s: %s: Starting force unmount of GPFS file systems"
+    ;;
+
+    242 ) msgTxt=\
+"%s: %s: Unmount not finished after %s seconds.  Waiting %s more seconds"
+    ;;
+
+    243 ) msgTxt=\
+"%s: %s: Unmount not finished after %s seconds"
+    ;;
+
+    244 ) msgTxt=\
+"%s: %s: Shutting down GPFS daemons"
+    ;;
+
+    245 ) msgTxt=\
+"%s: %s: Finished"
+    ;;
+
+    250 ) msgTxt=\
+"%s: Processing file system %s ..."
+    ;;
+
+    251 ) msgTxt=\
+"%s: Processing disk %s"
+    ;;
+
+    272 ) msgTxt=\
+"%s: Command successfully completed"
+    ;;
+
+    331 ) msgTxt=\
+"Automatic mount option"
+    ;;
+
+    332 ) msgTxt=\
+"Exact mtime default mount option"
+    ;;
+
+    333 ) msgTxt=\
+"Suppress atime default mount option"
+    ;;
+
+    339 ) msgTxt=\
+"Verifying GPFS is stopped on all nodes ..."
+    ;;
+
+    373 ) msgTxt=\
+"%s: %s: Mounting file systems ..."
+    ;;
+
+    392 ) msgTxt=\
+"%s: %s: Starting GPFS ..."
+    ;;
+
+    400 ) msgTxt=\
+"GPFS cluster information"
+    ;;
+
+    401 ) msgTxt=\
+"GPFS cluster configuration servers:"
+    ;;
+
+    402 ) msgTxt=\
+"  Primary server:    %s"
+    ;;
+
+    403 ) msgTxt=\
+"  Secondary server:  %s"
+    ;;
+
+    404 ) msgTxt=\
+" Node  Daemon node name            IP address       Admin node name             Designation    "
+    ;;
+
+    405 ) msgTxt=\
+" Summary information "
+    ;;
+
+    406 ) msgTxt=\
+"File system attributes for %s:"
+    ;;
+
+    407 ) msgTxt=\
+"Configuration data for cluster %s:"
+    ;;
+
+    408 ) msgTxt=\
+"File systems in cluster %s:"
+    ;;
+
+    409 ) msgTxt=\
+"(none)"
+    ;;
+
+    414 ) msgTxt=\
+"quorum-manager"
+    ;;
+
+    416 ) msgTxt=\
+"%s: %s: Processing node %s"
+    ;;
+
+    426 ) msgTxt=\
+"%s: %s: Unmounting file systems ..."
+    ;;
+
+    427 ) msgTxt=\
+"SHA digest (new):"
+    ;;
+
+    430 ) msgTxt=\
+"  GPFS cluster name:         %s"
+    ;;
+
+    431 ) msgTxt=\
+"quorum node"
+    ;;
+
+    434 ) msgTxt=\
+"  GPFS cluster id:           %s"
+    ;;
+
+    435 ) msgTxt=\
+"  Remote shell command:      %s"
+    ;;
+
+    436 ) msgTxt=\
+"  Remote file copy command:  %s"
+    ;;
+
+    442 ) msgTxt=\
+"Cluster name:"
+    ;;
+
+    443 ) msgTxt=\
+"Cipher list:"
+    ;;
+
+    444 ) msgTxt=\
+"SHA digest:"
+    ;;
+
+    445 ) msgTxt=\
+"File system access:"
+    ;;
+
+    446 ) msgTxt=\
+"Contact nodes:"
+    ;;
+
+    447 ) msgTxt=\
+"File systems:"
+    ;;
+
+    451 ) msgTxt=\
+"  GPFS UID domain:           %s"
+    ;;
+
+    453 ) msgTxt=\
+"Verifying GPFS is stopped on all affected nodes ..."
+    ;;
+
+    473 ) msgTxt=\
+"Verifying file system configuration information ..."
+    ;;
+
+    475 ) msgTxt=\
+"quorum"
+    ;;
+
+    477 ) msgTxt=\
+"File system %s %s is mounted on %s nodes in cluster %s:"
+    ;;
+
+    478 ) msgTxt=\
+"File system %s is mounted on %s nodes in cluster %s:"
+    ;;
+
+    479 ) msgTxt=\
+"File system %s %s is mounted on %s nodes in cluster %s."
+    ;;
+
+    480 ) msgTxt=\
+"File system %s is mounted on %s nodes in cluster %s."
+    ;;
+
+    482 ) msgTxt=\
+"manager"
+    ;;
+
+    490 ) msgTxt=\
+"Local Name  Remote Name  Cluster name           Mount Point          Mount Options    Automount"
+    ;;
+
+    496 ) msgTxt=\
+" Node number  Node name       Quorum  Nodes up  Total nodes  GPFS state  Remarks    "
+    ;;
+
+    497 ) msgTxt=\
+" Node number  Node name        GPFS state "
+    ;;
+
+    501 ) msgTxt=\
+" File system   Disk name    NSD volume ID      Primary node             Backup node          "
+    ;;
+
+    502 ) msgTxt=\
+" Disk name    NSD volume ID      Device         Node name                Remarks       "
+    ;;
+
+    503 ) msgTxt=\
+" File system   Disk name    Primary node             Backup node           "
+    ;;
+
+    506 ) msgTxt=\
+"Disk name     IO performed on node     Device             Availability"
+    ;;
+
+    512 ) msgTxt=\
+" Disk name    NSD volume ID      Device         Devtype  Node name                Remarks          "
+    ;;
+
+    519 ) msgTxt=\
+"Additional mount options"
+    ;;
+
+    521 ) msgTxt=\
+"File system %s %s is mounted on %s nodes:"
+    ;;
+
+    522 ) msgTxt=\
+"File system %s is mounted on %s nodes:"
+    ;;
+
+    527 ) msgTxt=\
+"%s still running . . .\n"
+          printTimeStamp=yes
+    ;;
+
+    541 ) msgTxt=\
+"File system %s %s is not mounted."
+    ;;
+
+    542 ) msgTxt=\
+"File system %s %s is not mounted on any remote cluster nodes."
+    ;;
+
+    543 ) msgTxt=\
+"File system %s %s is not mounted on any node in cluster %s."
+    ;;
+
+    544 ) msgTxt=\
+"File system %s is not mounted."
+    ;;
+
+    545 ) msgTxt=\
+"File system %s is not mounted on any remote cluster nodes."
+    ;;
+
+    546 ) msgTxt=\
+"File system %s is not mounted on any node in cluster %s."
+    ;;
+
+    553 ) msgTxt=\
+"File system %s %s is mounted on %s nodes."
+    ;;
+
+    554 ) msgTxt=\
+"File system %s is mounted on %s nodes."
+    ;;
+
+    559 ) msgTxt=\
+"Default mount point"
+    ;;
+
+    586 ) msgTxt=\
+"The %s subsystem is already active."
+    ;;
+
+    # Message numbers above 1000 are in message set 60 (ts/fencing/fencing.msg).
+
+    1018 ) msgTxt=\
+"The disk specification must be in one of these formats:\n"\
+"   -l logicalVolumeName        (e.g., '-l lv00')\n"\
+"   -v volumeGroupName          (e.g., '-v vg00')\n"\
+"   -h physicalDiskName         (e.g., '-h hdisk0')\n"\
+"   -p physicalVolumeIdentifier (e.g., '-p 0003366423ba4d39')\n"
+    ;;
+
+    1019 ) msgTxt=\
+"Usage:  %s <disk specification>\n"
+    ;;
+
+    1020 ) msgTxt=\
+"Usage:  %s <disk specification> <node id list>"
+    ;;
+
+    1021 ) msgTxt=\
+"Usage:  %s <disk specification> <node id>"
+    ;;
+
+    1022 ) msgTxt=\
+"Usage:  %s <disk specification> <fence id>"
+    ;;
+
+    1023 ) msgTxt=\
+"The node id list is a blank-separated list of one or more node ids."
+    ;;
+
+    *   )  # unknown message, ignore it.
+      return 0
+    ;;
+
+  esac
+
+  # Message numbers below 1000 are in message set 32 (ts/admin/admin.msg).
+  # Message numbers above 1000 are in message set 60 (ts/fencing/fencing.msg).
+  if [[ $msgNo -lt 1000 ]]
+  then
+    msgSet=32
+  else
+    msgSet=60
+  fi
+
+  if [[ $osName = AIX ]]
+  then
+    # Print the message - extra arguments are ignored.
+    if [[ $printTimeStamp = yes ]]
+    then
+      print -- "$(date) $($dspmsg -s $msgSet mmfs.cat \
+        $msgNo "$msgTxt" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9")"
+    else
+      print -- "$($dspmsg -s $msgSet mmfs.cat \
+        $msgNo "$msgTxt" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9")"
+    fi
+
+  elif [[ $osName = Linux ]]
+  then
+    # Print the message - extra arguments are ignored.
+    if [[ $printTimeStamp = yes ]]
+    then
+      print -- "$(date) $($mmdspmsg -s $msgSet mmfs.cat \
+        $msgNo "$msgTxt" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9")"
+    else
+      print -- "$($mmdspmsg -s $msgSet mmfs.cat \
+        $msgNo "$msgTxt" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9")"
+    fi
+  else
+    checkForErrors "Unknown operating system $osName" 1
+  fi
+
+}  #----- end of function printInfoMsg ---------------------------
+
+
+####################################################################
+#
+# Function:  Prints the specified message to stderr
+#
+# Input:     $1 - number of the message to print
+#            $2, $3, ... - arguments to pass to dspmsg
+#
+####################################################################
+function printErrorMsg  # <msgNo> [ <arg> ... ]
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGprintErrorMsg ]] && set -x
+  msgNo=$1
+  typeset msgSet
+  typeset printTimeStamp=no
+
+  # Based on the message number, find the message text
+  case $msgNo in
+
+    13  ) msgTxt=\
+"%s: Incorrect option: %s"
+    ;;
+
+    19  ) msgTxt=\
+"%s: Obsolete option: %s"
+    ;;
+
+    20  ) msgTxt=\
+"%s: Interrupt received: No changes made."
+    ;;
+
+    23  ) msgTxt=\
+"%s: Disk name must be specified in disk descriptor."
+    ;;
+
+    24  ) msgTxt=\
+"%s: Disk usage must be dataOnly, metadataOnly, descOnly, or dataAndMetadata."
+    ;;
+
+    30  ) msgTxt=\
+"%s: User specified failure group must be in the range from -1 to 4000."
+    ;;
+
+    32  ) msgTxt=\
+"%s: Interrupt received: changes not propagated."
+    ;;
+
+    33  ) msgTxt=\
+"%s: Interrupt received. Only -A, -Q, and -T were changed."
+    ;;
+
+    34  ) msgTxt=\
+"Usage:  %s Device"
+    ;;
+
+    35  ) msgTxt=\
+"%s: Restriping may not have finished."
+    ;;
+
+    36  ) msgTxt=\
+"%s: %s option specified twice."
+    ;;
+
+    37  ) msgTxt=\
+"%s: %s value must be yes or no."
+    ;;
+
+    38  ) msgTxt=\
+"%s: Incorrect extra argument: %s"
+    ;;
+
+    39 ) msgTxt=\
+"Usage: %s QueryType ItemList [Scope [norefresh]]"
+    ;;
+
+    40  ) msgTxt=\
+"%s: Incorrect integer for %s: %s"
+    ;;
+
+    41  ) msgTxt=\
+"%s: No disk descriptor file specified"
+    ;;
+
+    42  ) msgTxt=\
+"%s: File %s already exists."
+    ;;
+
+    43  ) msgTxt=\
+"%s: Cannot open %s"
+    ;;
+
+    44  ) msgTxt=\
+"%s: Incompatible cluster types.  You cannot move file systems that were\n"\
+"created by GPFS cluster type %s into GPFS cluster type %s."
+    ;;
+
+    45  ) msgTxt=\
+"%s: %s must be greater than 0: %s"
+    ;;
+
+    47  ) msgTxt=\
+"%s: Error converting %s into an NSD."
+    ;;
+
+    48  ) msgTxt=\
+"%s: File system %s already exists in the cluster.\n"\
+"    Use mmchfs -W to assign a new device name for the existing file system."
+    ;;
+
+    49  ) msgTxt=\
+"%s: %s is defined to have mount point %s.\n"\
+"    There is already such a mount point in the cluster.\n"\
+"    Use mmchfs -T to assign a new mount point to the existing file system."
+    ;;
+
+    50  ) msgTxt=\
+"%s: Error encountered while importing disk %s."
+    ;;
+
+    51  ) msgTxt=\
+"%s: Disk %s already exists in the cluster."
+    ;;
+
+    53  ) msgTxt=\
+"%s: At least one node in the cluster must be defined as a quorum node."
+    ;;
+
+    54  ) msgTxt=\
+"%s: Incorrect node %s specified for command."
+    ;;
+
+    61  ) msgTxt=\
+"%s: Use the dash character (-) to separate multiple node designations."
+    ;;
+
+    62  ) msgTxt=\
+"%s: Use the semi-colon character (;) to separate the disk names."
+    ;;
+
+    63  ) msgTxt=\
+"%s: GPFS is still active on %s"
+    ;;
+
+    78  ) msgTxt=\
+"%s: %s must be from %s to %s: %s"
+    ;;
+
+    79  ) msgTxt=\
+"%s: mmfixcfg failed while changing %s"
+    ;;
+
+    88  ) msgTxt=\
+"%s: Duplicate disk specified: %s"
+    ;;
+
+    89  ) msgTxt=\
+"%s: You cannot delete all disks"
+    ;;
+
+    97  ) msgTxt=\
+"%s: %s must be greater than %s: %s"
+    ;;
+
+    100 ) msgTxt=\
+"%s: tscrfs failed.  Cannot create %s"
+    ;;
+
+    101 ) msgTxt=\
+"%s: Disk %s does not belong to file system %s."
+    ;;
+
+    102 ) msgTxt=\
+"%s: Active disks are missing from the GPFS configuration data:"
+    ;;
+
+    103 ) msgTxt=\
+"%s: Attention: File system %s may have some disks\n"\
+"that are in a non-ready state.  Issue the command:\n"\
+"  mmcommon recoverfs %s"
+    ;;
+
+    104 ) msgTxt=\
+"%s: %s failed."
+    ;;
+
+    105 ) msgTxt=\
+"%s: Failed to connect to remote cluster %s"
+    ;;
+
+    106 ) msgTxt=\
+"%s: File system %s belongs to cluster %s.\n"\
+"    Command is not allowed for remote file systems."
+    ;;
+
+    107 ) msgTxt=\
+"%s: There is already an existing file system using %s"
+    ;;
+
+    108 ) msgTxt=\
+"%s: File system %s not found in cluster %s"
+    ;;
+
+    109 ) msgTxt=\
+"%s: GPFS is down on this node."
+    ;;
+
+    110 ) msgTxt=\
+"%s: GPFS is not ready to handle commands yet."
+    ;;
+
+    111 ) msgTxt=\
+"%s: %s refers to file system %s in cluster %s"
+    ;;
+
+    112 ) msgTxt=\
+"%s: File system %s does not belong to cluster %s"
+    ;;
+
+    113 ) msgTxt=\
+"%s: %s failed. Error code %s."
+    ;;
+
+    127 ) msgTxt=\
+"%s: The main GPFS cluster configuration file is locked.  Retrying..."
+    ;;
+
+    128 ) msgTxt=\
+"%s: Lock creation successful."
+    ;;
+
+    129 ) msgTxt=\
+"%s: Timed out waiting for lock.  Try again later."
+    ;;
+
+    130 ) msgTxt=\
+"%s: Disk %s is a tiebreaker disk and cannot be deleted."
+    ;;
+
+    131 ) msgTxt=\
+"%s: GPFS detected more than eight quorum nodes while\n"\
+"node quorum with tiebreaker disks is in use."
+    ;;
+
+    132 ) msgTxt=\
+"%s: GPFS failed to initialize the tiebreaker disks."
+    ;;
+
+    133 ) msgTxt=\
+"%s: Incorrect keyword: %s"
+    ;;
+
+    134 ) msgTxt=\
+"%s: Adding node %s to the cluster will exceed\n"\
+"the quorum node limit."
+    ;;
+
+    135 ) msgTxt=\
+"%s: The %s kernel extension does not exist."
+    ;;
+
+    136 ) msgTxt=\
+"%s: Unable to verify kernel/module configuration."
+    ;;
+
+    137 ) msgTxt=\
+"%s: The GPFS daemon is still running; use the mmshutdown command."
+    ;;
+
+    138 ) msgTxt=\
+"%s: Module %s is still in use.\n"\
+"Unmount all GPFS file systems and issue the command:\n"\
+"  mmfsadm cleanup"
+    ;;
+
+    139 ) msgTxt=\
+"%s: Error unloading module %s."
+    ;;
+
+    140 ) msgTxt=\
+"%s: Module %s is already loaded."
+    ;;
+
+    141 ) msgTxt=\
+"%s: %s was not found in /proc/partitions."
+    ;;
+
+    142 ) msgTxt=\
+"%s: GPFS is waiting for %s"
+          printTimeStamp=yes
+    ;;
+
+    144 ) msgTxt=\
+"%s: \"%s\" is set by the mmcrcluster processing.\n"\
+"    Line in error: %s\n"\
+"    The line is ignored; processing continues."
+    ;;
+
+    145 ) msgTxt=\
+"%s: \"%s\" must be set with the %s command.\n"\
+"    Line in error: %s\n"\
+"    The line is ignored; processing continues."
+    ;;
+
+    146 ) msgTxt=\
+"%s: \"%s\" is an obsolete parameter.\n"\
+"    Line in error: %s\n"\
+"    The line is ignored; processing continues."
+    ;;
+
+    147 ) msgTxt=\
+"%s: \"%s\" cannot appear in a node-override section.\n"\
+"    Line in error: %s\n"\
+"    The line is ignored; processing continues."
+    ;;
+
+    148 ) msgTxt=\
+"%s: Mount point can not be a relative path name: %s"
+    ;;
+
+    149 ) msgTxt=\
+"%s: %s can not be a relative path name: %s"
+    ;;
+
+    150 ) msgTxt=\
+"%s: Key file is not valid."
+    ;;
+
+    151 ) msgTxt=\
+"%s: Key file mismatch."
+    ;;
+
+    152 ) msgTxt=\
+"%s: Node %s already belongs to the GPFS cluster."
+    ;;
+
+    153 ) msgTxt=\
+"%s: Incorrect value for %s option"
+    ;;
+
+    154 ) msgTxt=\
+"%s: Adapter port name %s is not known on node %s."
+    ;;
+
+    155 ) msgTxt=\
+"%s: There is nothing to commit.  You must first run:\n    %s"
+    ;;
+
+    156 ) msgTxt=\
+"%s: The current authentication files are already committed."
+    ;;
+
+    157 ) msgTxt=\
+"%s: There are uncommitted authentication files.  You must first run:\n    %s"
+    ;;
+
+    158 ) msgTxt=\
+"%s: You must establish a cipher list first.  Run:\n    %s"
+    ;;
+
+    159 ) msgTxt=\
+"%s: %s not found.  Ensure the OpenSSL code is properly installed."
+    ;;
+
+    160 ) msgTxt=\
+"%s: For the logical volume specification \"-l %s\" to be valid\n"\
+"%s must be the only logical volume in the volume group.\n"\
+"However, volume group %s contains the following logical volumes:"
+    ;;
+
+    161 ) msgTxt=\
+"%s: %s is not a valid logical volume."
+    ;;
+
+    162 ) msgTxt=\
+"%s: %s is not a valid volume group name."
+    ;;
+
+    163 ) msgTxt=\
+"%s: For the hdisk specification \"-h %s\" to be valid\n"\
+"%s must be the only disk in the volume group.\n"\
+"However, volume group %s contains the following disks:"
+    ;;
+
+    164 ) msgTxt=\
+"%s: %s is not a valid physical volume name."
+    ;;
+
+    165 ) msgTxt=\
+"%s: %s is not a valid physical volume id."
+    ;;
+
+    166 ) msgTxt=\
+"Usage:  %s <disk specification>\n"
+    ;;
+
+    167 ) msgTxt=\
+"The disk specification must be in one of these formats:\n"\
+"   -l logicalVolumeName        (e.g., '-l lv00')\n"\
+"   -v volumeGroupName          (e.g., '-v vg00')\n"\
+"   -h physicalDiskName         (e.g., '-h hdisk0')\n"\
+"   -p physicalVolumeIdentifier (e.g., '-p 0003366423ba4d39')\n"
+    ;;
+
+    168 ) msgTxt=\
+"%s: Missing arguments"
+    ;;
+
+    169 ) msgTxt=\
+"%s: The device name %s starts with a slash, but not /dev/."
+    ;;
+
+    170 ) msgTxt=\
+"%s: The device name %s contains a slash, but not as its first character."
+    ;;
+
+    171 ) msgTxt=\
+"%s: Unexpected error from %s.  Return code: %s"
+    ;;
+
+    172 ) msgTxt=\
+"%s: Unknown user name %s"
+    ;;
+
+    173 ) msgTxt=\
+"%s: Unknown group name %s"
+    ;;
+
+    174 ) msgTxt=\
+"%s: The administrative adapter port name was not defined\n"\
+"for nodes:\n\t %s\n"\
+"Correct the problems and run mmchcluster -N again."
+    ;;
+
+    175 ) msgTxt=\
+"%s: Daemon node adapter %s was not found on admin node %s."
+    ;;
+
+    176 ) msgTxt=\
+"%s: Command failed for disks: %s"
+    ;;
+
+    177 ) msgTxt=\
+"%s: No contact nodes were provided for cluster %s"
+    ;;
+
+    178 ) msgTxt=\
+"%s: None of the contact nodes in cluster %s can be reached."
+    ;;
+
+    184 ) msgTxt=\
+"Usage: %s [-a | -n NodeName]"
+    ;;
+
+    185 ) msgTxt=\
+"Usage: %s Device [-W NewDeviceName]"
+    ;;
+
+    186 ) msgTxt=\
+"Usage: %s [-d IntegerDelayValue] [-i CommandFile] [-p]\n"\
+"        [-r IntegerRepeatValue] [-s] [-t IntegerTimeoutValue]"
+    ;;
+
+    187 ) msgTxt=\
+"%s: Node %s returned ENODEV for disk %s."
+    ;;
+
+    188 ) msgTxt=\
+"%s: Remote cluster %s was not found."
+    ;;
+
+    189 ) msgTxt=\
+"%s: Name %s is not allowed.\n"\
+"It contains the following invalid special character:  %s"
+    ;;
+
+    190 ) msgTxt=\
+"%s: GPFS configuration data for file system %s\n"\
+"may not be in agreement with the on-disk data for the file system.\n"\
+"Issue the command:\n"\
+"  mmcommon recoverfs %s"
+    ;;
+
+    191 ) msgTxt=\
+"%s: Options %s and %s cannot be specified at the same time."
+    ;;
+
+    192 ) msgTxt=\
+"%s: <nodelist> cannot be used with attribute %s"
+    ;;
+
+    193 ) msgTxt=\
+"%s: There are no remote file systems."
+    ;;
+
+    194 ) msgTxt=\
+"%s: Remote file system %s is not defined."
+    ;;
+
+    195 ) msgTxt=\
+"%s: The GPFS configuration information is incorrect or not available."
+    ;;
+
+    196 ) msgTxt=\
+"%s: Device name cannot be 'all'."
+    ;;
+
+    197 ) msgTxt=\
+"%s: Each device specifies metadataOnly for disk usage.\n"\
+"This file system could not store data."
+    ;;
+
+    198 ) msgTxt=\
+"%s: Each device specifies dataOnly for disk usage.\n"\
+"This file system could not store metadata."
+    ;;
+
+    199 ) msgTxt=\
+"%s: Incorrect integer %s specified for failure group."
+    ;;
+
+    200 ) msgTxt=\
+"%s: No file systems were found."
+    ;;
+
+    201 ) msgTxt=\
+"%s: Incorrect server node %s in disk descriptor."
+    ;;
+
+    202 ) msgTxt=\
+"%s: %s is the name of the local cluster."
+    ;;
+
+    204 ) msgTxt=\
+"%s: Missing argument after %s option"
+    ;;
+
+    229 ) msgTxt=\
+"Usage: %s [-CIVOSPDH] [-c] [-u] [-d disk] [-g volumeGroup]\n"\
+"        [-l logicalVolume] [-G globalVolumeGroup] [-L globalLogicalVolume]\n"\
+"        [-p physicalVolumeID ]\n"
+    ;;
+
+    230 ) msgTxt=\
+"%s: %s is already in volume group %s and cannot be added to %s.\n"
+    ;;
+
+    232 ) msgTxt=\
+"%s: Cannot find %s with %s.\n"
+    ;;
+
+    233 ) msgTxt=\
+"%s: %s requires a value.\n"
+    ;;
+
+    234 ) msgTxt=\
+"%s: Incorrect option: %s\n"
+    ;;
+
+    235 ) msgTxt=\
+"%s: Interrupt received.\n"
+    ;;
+
+    236 ) msgTxt=\
+"%s: Volume group %s cannot be imported on node\n"\
+"%s because the disk with physical volume ID %s\n"\
+"cannot be found."
+    ;;
+
+    237 ) msgTxt=\
+"%s: Failed to obtain DCE credentials; dsrvtgt %s command rc=%s. Continuing."
+    ;;
+
+    238 ) msgTxt=\
+"%s: Command is not allowed for remote file systems."
+    ;;
+
+    239 ) msgTxt=\
+"%s: Disk usage %s is incompatible with storage pool %s."
+    ;;
+
+    240 ) msgTxt=\
+"%s: File %s not found.  Recover the file or run mmauth genkey."
+    ;;
+
+    246 ) msgTxt=\
+"Usage:\n"\
+"  %s [-t UnmountTimeout]\n"\
+"             [-a | -N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    247 ) msgTxt=\
+"%s: Disk with NSD volume id %s no longer\n"\
+"          exists in the GPFS cluster configuration data but the NSD volume id\n"\
+"          was not erased from the disk.  To remove the NSD volume id, issue\n"\
+"             mmdelnsd -p %s"
+    ;;
+
+    248 ) msgTxt=\
+"%s: Disk with NSD volume id %s no longer\n"\
+"          exists in the GPFS cluster configuration data but the NSD volume id\n"\
+"          was not erased from the disk.  To remove the NSD volume id, issue\n"\
+"             mmdelnsd -p %s -N %s"
+    ;;
+
+    249 ) msgTxt=\
+"Usage:\n"\
+"   %s genkey {new | commit}\n"\
+"      or\n"\
+"   %s add    RemoteClusterName -k KeyFile [-l CipherList]\n"\
+"      or\n"\
+"   %s update RemoteClusterName {[-C NewClusterName] [-k KeyFile] [-l CipherList]}\n"\
+"      or\n"\
+"   %s delete {RemoteClusterName | all}\n"\
+"      or\n"\
+"   %s grant  {RemoteClusterName | all} -f {Device | all} [-a {rw | ro}] [-r {uid:gid | no}]\n"\
+"      or\n"\
+"   %s deny   {RemoteClusterName | all} -f {Device | all}\n"\
+"      or\n"\
+"   %s show   [RemoteClusterName | all]\n"
+    ;;
+
+    252 ) msgTxt=\
+"%s: %s is not a remote file system known to GPFS."
+    ;;
+
+    257 ) msgTxt=\
+"%s: An internode connection between GPFS nodes was disrupted."
+    ;;
+
+    258 ) msgTxt=\
+"%s: No clusters are authorized to access this cluster."
+    ;;
+
+    259 ) msgTxt=\
+"%s: Cluster %s is not authorized to access this cluster."
+    ;;
+
+    260 ) msgTxt=\
+"Usage: %s %s %s"
+    ;;
+
+    261 ) msgTxt=\
+"%s: Attention: There are no available valid VFS type values for mmfs in /etc/vfs."
+    ;;
+
+    262 ) msgTxt=\
+"%s: There are no remote cluster definitions."
+    ;;
+
+    263 ) msgTxt=\
+"%s: Remote cluster %s is not defined."
+    ;;
+
+    264 ) msgTxt=\
+"%s: No disks specified"
+    ;;
+
+    265 ) msgTxt=\
+"%s: Disk %s already belongs to file system %s."
+    ;;
+
+    266 ) msgTxt=\
+"%s: File system %s has some disks that are in a non-ready state."
+    ;;
+
+    267 ) msgTxt=\
+"%s: Attention: Not all disks were marked as available."
+    ;;
+
+    268 ) msgTxt=\
+"%s: This GPFS cluster contains declarations for remote file systems and clusters.\n"\
+"    You cannot delete the last node."
+    ;;
+
+    270 ) msgTxt=\
+"%s: The following nodes could not be reached:\n"
+    ;;
+
+    271 ) msgTxt=\
+"%s: Propagating the cluster configuration data to all\n"\
+"  affected nodes.  This is an asynchronous process."
+    ;;
+
+    272 ) msgTxt=\
+"%s: Command successfully completed"
+    ;;
+
+    273 ) msgTxt=\
+"%s: There is no file system information in input file %s."
+    ;;
+
+    274 ) msgTxt=\
+"%s: File system %s was not found in input file %s."
+    ;;
+
+    275 ) msgTxt=\
+"%s: The following file systems were not imported:%s"
+    ;;
+
+    277 ) msgTxt=\
+"%s: Attention: Unknown attribute specified: %s.  Press the ENTER key to continue."
+    ;;
+
+    278 ) msgTxt=\
+"%s: Incorrect record found in the mmsdrfs file (code %s):"
+    ;;
+
+    279 ) msgTxt=\
+"%s: There is no file system with mount point %s."
+    ;;
+
+    280 ) msgTxt=\
+"%s: File system %s is already mounted at %s."
+    ;;
+
+    281 ) msgTxt=\
+"%s: Mount point cannot be specified when mounting all file systems."
+    ;;
+
+    282 ) msgTxt=\
+"%s: This node does not belong to a GPFS cluster."
+    ;;
+
+    283 ) msgTxt=\
+"%s:  There is no record for this node in file %s.\n"\
+"  Either the node is not part of the cluster, or the file is for a different cluster,\n"\
+"  or not all of the node's adapter interfaces have been activated yet."
+    ;;
+
+    284 ) msgTxt=\
+"Usage:\n"\
+"  %s [-p NodeName] [-F mmsdrfsFile] [-R RemoteFileCopyCommand]"
+    ;;
+
+    285 ) msgTxt=\
+"%s:  Node %s successfully restored."
+    ;;
+
+    286 ) msgTxt=\
+"%s: Unexpected value for Gpfs object: %s"
+    ;;
+
+    287 ) msgTxt=\
+"Usage:\n"\
+"  %s Device {resume | start} -a\n"\
+"             [-N {Node[,Node...] | NodeFile | NodeClass}]\n"\
+"    or\n"\
+"  %s Device {suspend | resume | stop | start | change}\n"\
+"             -d \"DiskDesc[;DiskDesc...]\"\n"\
+"             [-N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    288 ) msgTxt=\
+"%s: File system %s is not known to the GPFS cluster."
+    ;;
+
+    289 ) msgTxt=\
+"Usage:\n"\
+"  %s Attribute=value[,Attribute=value...] [-i | -I]\n"\
+"               [-N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    290 ) msgTxt=\
+"%s: Node %s does not belong to the GPFS cluster,\n"\
+"  or is represented multiple times on the command line."
+    ;;
+
+    291 ) msgTxt=\
+"Usage:\n"\
+"  %s Device {\"DiskDesc[;DiskDesc...]\" | -F DescFile} [-a] [-c]\n"\
+"            [-r] [-N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    292 ) msgTxt=\
+"Usage: %s Device [-p]"
+    ;;
+
+    293 ) msgTxt=\
+"%s: Invalid node designation specified: %s"
+    ;;
+
+    294 ) msgTxt=\
+"%s: Operation not allowed for the local cluster."
+    ;;
+
+    295 ) msgTxt=\
+"Usage:\n"\
+"  %s Device DiskName {DiskDesc | -F DescFile} [-v {yes | no}]\n"\
+"                   [-N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    296 ) msgTxt=\
+"Usage:\n"\
+"  %s Device {\"DiskDesc[;DiskDesc...]\" | -F DescFile} [-a] [-r]\n"\
+"    [-v {yes | no}] [-N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    298 ) msgTxt=\
+"Usage: %s Device [-d | -F | -m] [-P PoolName] [-q]"
+    ;;
+
+    299 ) msgTxt=\
+"Usage: %s Device [-i] [-u BlkUtilPct] [-v]"
+    ;;
+
+    300 ) msgTxt=\
+"Usage:\n"\
+"  %s Device [-n | -y] [-v | -V] [-c | -o] [-t Directory]\n"\
+"    [-N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    301 ) msgTxt=\
+"Usage:\n"\
+"   %s Device [-d \"DiskName[;DiskName...]\"] [-e] [-L]\n"\
+"      or\n"\
+"   %s Device [-d \"DiskName[;DiskName...]\"] {-m | -M}"
+    ;;
+
+    302 ) msgTxt=\
+"Usage:\n"\
+"  %s Device {-m | -r | -b | -p | -R} [-P PoolName]\n"\
+"    [-N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    303 ) msgTxt=\
+"Usage: %s [Device[ Device...]] | [-C ClusterName]"
+    ;;
+
+    304 ) msgTxt=\
+"Usage: %s Device [Node]"
+    ;;
+
+    305 ) msgTxt=\
+"%s: Mount point and device name cannot be equal: %s"
+    ;;
+
+    306 ) msgTxt=\
+"%s: Interrupt received."
+    ;;
+
+    307 ) msgTxt=\
+"%s: You must first generate an authentication key file. Run:\n"\
+"   mmauth genkey new"
+    ;;
+
+    309 ) msgTxt=\
+"%s: The -i option failed. Changes will take effect after GPFS is restarted."
+    ;;
+
+    310 ) msgTxt=\
+"%s: This GPFS cluster contains file systems. You cannot delete the last node."
+    ;;
+
+    311 ) msgTxt=\
+"%s: Attention: Failed to remove node-specific changes."
+    ;;
+
+    312 ) msgTxt=\
+"%s: %s command cannot be executed.  Either none of the\n"\
+"  nodes in the cluster are reachable, or GPFS is down on all of the nodes."
+    ;;
+
+    313 ) msgTxt=\
+"%s: Attention: The file system may no longer be properly balanced"
+    ;;
+
+    314 ) msgTxt=\
+"%s: To change the authentication key for the local cluster, run:\n"\
+"   mmauth genkey"
+    ;;
+
+    315 ) msgTxt=\
+"%s: %s not found in file system %s"
+    ;;
+
+    316 ) msgTxt=\
+"%s: Remote cluster %s is already defined."
+    ;;
+
+    317 ) msgTxt=\
+"%s: File system %s from cluster %s is already defined."
+    ;;
+
+    318 ) msgTxt=\
+"%s: %s command failed.  Only %s changed."
+    ;;
+
+    319 ) msgTxt=\
+" The volume group %s exists, but partition\n"\
+"information cannot be determined.  Perhaps it needs to be varied on?\n"
+    ;;
+
+    321 ) msgTxt=\
+"%s: %s does not exist or failed; automount mounting may not work."
+    ;;
+
+    322 ) msgTxt=\
+"%s: The command must run on a node that is part of the cluster."
+    ;;
+
+    323 ) msgTxt=\
+"%s: Command completed: No changes made"
+    ;;
+
+    324 ) msgTxt=\
+"%s: Permission failure.  The command requires root authority to execute."
+    ;;
+
+    328 ) msgTxt=\
+"%s: File %s does not contain node names."
+    ;;
+
+    329 ) msgTxt=\
+"%s: File %s does not contain data."
+    ;;
+
+    330 ) msgTxt=\
+"%s: Failed to obtain Kerberos credentials; ksrvtgt %s command rc=%s. Continuing."
+    ;;
+
+    334 ) msgTxt=\
+"Usage:\n"\
+"   %s {Device | all} [-a] [-A] [-B] [-d] [-D] [-E] [-f] [-F] [-i]\n"\
+"                         [-I] [-j] [-k] [-K] [-m] [-M] [-n] [-o] [-P]\n"\
+"                         [-Q] [-r] [-R] [-s] [-S] [-T] [-u] [-V] [-z]\n"
+    ;;
+
+    337 ) msgTxt=\
+"%s:  Unable to determine the local device name for disk %s on node %s."
+    ;;
+
+    338 ) msgTxt=\
+"%s:  Unknown GPFS execution environment %s"
+    ;;
+
+    340 ) msgTxt=\
+"%s:  %s cannot be reached."
+    ;;
+
+    341 ) msgTxt=\
+"%s:  Attention:  Unable to retrieve GPFS cluster files from node %s"
+    ;;
+
+    342 ) msgTxt=\
+"%s:  Unable to retrieve GPFS cluster files from node %s"
+    ;;
+
+    343 ) msgTxt=\
+"Usage:\n"\
+"  %s -N {NodeDesc[,NodeDesc...] | NodeFile}\n"\
+"              -p PrimaryServer [-s SecondaryServer]\n"\
+"              [-r RemoteShellCommand] [-R RemoteFileCopyCommand]\n"\
+"              [-C ClusterName] [-U DomainName] [-A] [-c ConfigFile]"
+    ;;
+
+    344 ) msgTxt=\
+"%s:  Run the %s command until successful."
+    ;;
+
+    345 ) msgTxt=\
+"%s: No nodes were found that matched the input specification."
+    ;;
+
+    346 ) msgTxt=\
+"%s:  The same node was specified for both the primary and the secondary server."
+    ;;
+
+    347 ) msgTxt=\
+"%s:  Node %s is specified more than once."
+    ;;
+
+    348 ) msgTxt=\
+"%s:  Node %s was not added to the cluster.\n"\
+"   The node appears to already belong to a GPFS cluster."
+    ;;
+
+    349 ) msgTxt=\
+"%s:  The level of GPFS on node %s does not support the requested action."
+    ;;
+
+    350 ) msgTxt=\
+"%s:  Make sure that the following nodes are available: %s"
+    ;;
+
+    351 ) msgTxt=\
+"%s:  Removing GPFS cluster files from the nodes in the cluster . . . "
+    ;;
+
+    352 ) msgTxt=\
+"%s:  %s is not a member of this cluster."
+    ;;
+
+    353 ) msgTxt=\
+"%s:  The following nodes could not be added to the GPFS cluster:%s\n"\
+"   Correct the problems and use the mmaddnode command to add these nodes\n"\
+"   to the cluster."
+    ;;
+
+    354 ) msgTxt=\
+"%s:  Information cannot be displayed.  Either none of the\n"\
+"  nodes in the cluster are reachable, or GPFS is down on all of the nodes."
+    ;;
+
+    355 ) msgTxt=\
+"Usage:\n"\
+"  %s -N {NodeDesc[,NodeDesc...] | NodeFile}"
+    ;;
+
+    356 ) msgTxt=\
+"Usage:\n"\
+"  %s {-a | -N {Node[,Node...] | NodeFile | NodeClass}}"
+    ;;
+
+    357 ) msgTxt=\
+"Usage:  %s "
+    ;;
+
+    358 ) msgTxt=\
+"Usage:  %s Device [-L]"
+    ;;
+
+    359 ) msgTxt=\
+"Usage:  %s {[-p PrimaryServer] [-s SecondaryServer]}\n"\
+"           or\n"\
+"         %s -p LATEST\n"\
+"           or\n"\
+"         %s {[-r RemoteShellCommand] [-R RemoteFileCopyCommand]}\n"\
+"           or\n"\
+"         %s -C ClusterName\n"\
+"           or\n"\
+"         %s -N {NodeDesc[,NodeDesc...] | NodeFile}"
+    ;;
+
+    360 ) msgTxt=\
+"%s: Disk %s is the only disk in file system %s.\n"\
+"You cannot replace a disk when it is the only remaining disk in the file system."
+    ;;
+
+    361 ) msgTxt=\
+"Usage:  %s Device PolicyFilename [-t DescriptiveName] [-I {yes|test}]"
+    ;;
+
+    367 ) msgTxt=\
+"%s: There are no available nodes on which to run the command."
+    ;;
+
+    370 ) msgTxt=\
+"Usage:  %s"
+    ;;
+
+    371 ) msgTxt=\
+"Usage:  %s Device Directory"
+    ;;
+
+    372 ) msgTxt=\
+"Usage:  %s Device Directory"
+    ;;
+
+    374 ) msgTxt=\
+"Usage:\n"\
+"  %s [-f] [-a | -N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    375 ) msgTxt=\
+"%s:  %s cannot be used with attribute %s"
+    ;;
+
+    376 ) msgTxt=\
+"%s:  Command is not supported in the %s environment."
+    ;;
+
+    377 ) msgTxt=\
+"%s:  Command failed on nodes: %s"
+    ;;
+
+    378 ) msgTxt=\
+"%s:  Cannot determine basic environment information.\n"\
+"   Not enough nodes are available."
+    ;;
+
+    379 ) msgTxt=\
+"%s:  Error retrieving data from %s to %s."
+    ;;
+
+    380 ) msgTxt=\
+"%s:  The GPFS cluster data on %s is back level."
+    ;;
+
+    381 ) msgTxt=\
+"%s:  The commit process failed."
+    ;;
+
+    382 ) msgTxt=\
+"%s:  The GPFS cluster configuration data on %s\n"\
+"is different from the data on %s."
+    ;;
+
+    383 ) msgTxt=\
+"%s:  Failed to create a backup copy of the GPFS cluster data on %s."
+    ;;
+
+    384 ) msgTxt=\
+"%s: GPFS cluster configuration server node %s cannot be removed."
+    ;;
+
+    385 ) msgTxt=\
+"Usage:\n"\
+"   %s add Device -f RemoteDevice -C RemoteClusterName\n"\
+"                 -T Mountpoint [-o MountOptions] [-A {yes | no | automount}]\n"\
+"      or\n"\
+"   %s update Device [-f RemoteDevice] [-C RemoteClusterName]\n"\
+"                [-T Mountpoint] [-o MountOptions] [-A {yes | no | automount}]\n"\
+"      or\n"\
+"   %s delete {Device | all | -C RemoteClusterName}\n"\
+"      or\n"\
+"   %s show   [Device | all | -C RemoteClusterName]\n"
+    ;;
+
+    386 ) msgTxt=\
+"%s:  Error found while checking disk descriptor %s"
+    ;;
+
+    387 ) msgTxt=\
+"%s: %s quitting.  None of the specified nodes are valid."
+    ;;
+
+    388 ) msgTxt=\
+"Usage:\n"\
+"   %s add RemoteClusterName -k KeyFile -n ContactNodes\n"\
+"      or\n"\
+"   %s update RemoteClusterName {[-C NewClusterName] [-k KeyFile] [-n ContactNodes]}\n"\
+"      or\n"\
+"   %s delete {RemoteClusterName | all}\n"\
+"      or\n"\
+"   %s show [RemoteClusterName | all]\n"
+    ;;
+
+    389 ) msgTxt=\
+"%s: Command failed.  Examine previous error messages to determine cause."
+    ;;
+
+    390 ) msgTxt=\
+"Usage:\n"\
+"  %s {Device | DefaultMountPoint | all | all_local | all_remote} [-o MountOptions]\n"\
+"          [-a | -N {Node[,Node...] | NodeFile | NodeClass}]\n"\
+"      or\n"\
+"  %s Device MountPoint [-o MountOptions]\n"\
+"          [-a | -N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    391 ) msgTxt=\
+"Usage:\n"\
+"  %s [-a | -N {Node[,Node...] | NodeFile | NodeClass}]\n"\
+"            [-E EnvVar=value...]"
+    ;;
+
+    393 ) msgTxt=\
+"%s: The number of quorum nodes exceeds the maximum (%s) allowed."
+    ;;
+
+    394 ) msgTxt=\
+"%s: Warning: The number of quorum nodes exceeds the suggested maximum (%s)."
+    ;;
+
+    395 ) msgTxt=\
+"%s: Node %s is fenced out from disk %s."
+    ;;
+
+    396 ) msgTxt=\
+"Usage:\n"\
+"  %s {Device | MountPoint | all | all_local | all_remote} [-f]\n"\
+"           [-a | -N {Node[,Node...] | NodeFile | NodeClass}]\n"\
+"      or\n"\
+"  %s Device -f -C {all_remote | ClusterName} [-N Node[,Node...]]"
+    ;;
+
+    397 ) msgTxt=\
+"%s: Unable to find disk with NSD volume id %s."
+    ;;
+
+    398 ) msgTxt=\
+"%s: GPFS was unable to obtain a lock from node %s."
+    ;;
+
+    399 ) msgTxt=\
+"%s: Remount failed for file system %s. Error code %s."
+    ;;
+
+    410 ) msgTxt=\
+"Usage:  %s -F DescFile [-v {yes | no}]\n"
+    ;;
+
+    411 ) msgTxt=\
+"%s:  Failed while processing disk descriptor %s on node %s."
+    ;;
+
+    412 ) msgTxt=\
+"%s:  Disk descriptor %s refers to an existing NSD %s"
+    ;;
+
+    413 ) msgTxt=\
+"Usage:\n"\
+"   %s {\"DiskName[;DiskName...]\" | -F DiskFile}\n"\
+"      or\n"\
+"   %s -p NSDId [-N Node[,Node]]"
+    ;;
+
+    415 ) msgTxt=\
+"%s:  Disk descriptor %s should refer to an existing NSD.\n"\
+"Use mmcrnsd to create the NSD."
+    ;;
+
+    417 ) msgTxt=\
+"%s: Issue the command from a node that remains in the cluster."
+    ;;
+
+    418 ) msgTxt=\
+"%s: No disks were found."
+    ;;
+
+    419 ) msgTxt=\
+"Usage:  %s Device Directory [-c]"
+    ;;
+
+    420 ) msgTxt=\
+"Usage:\n"\
+"   %s Mountpoint Device {\"DiskDesc[;DiskDesc...]\" | -F DescFile}\n"\
+"          [-A {yes | no | automount}] [-B BlockSize] [-D {posix | nfs4}]\n"\
+"          [-E {yes | no}] [-j {cluster | scatter}]\n"\
+"          [-k {posix | nfs4 | all}] [-K {no | whenpossible | always}]\n"\
+"          [-m DefaultMetadataReplicas] [-M MaxMetadataReplicas]\n"\
+"          [-n NumNodes] [-N NumInodes[:NumInodesToPreallocate]] [-Q {yes | no}]\n"\
+"          [-r DefaultDataReplicas] [-R MaxDataReplicas]\n"\
+"          [-S {yes | no}] [-v {yes | no}] [-z {yes | no}]\n"
+    ;;
+
+    421 ) msgTxt=\
+"Usage:\n"\
+"   %s Device [-A {yes | no | automount}] [-D {posix | nfs4}] [-E {yes | no}]\n"\
+"                 [-F MaxNumInodes[:NumInodesToPreallocate]]\n"\
+"                 [-k {posix | nfs4 | all}] [-K {no | whenpossible | always}]\n"\
+"                 [-m DefaultMetadataReplicas] [-o MountOptions]\n"\
+"                 [-Q {yes | no}] [-r DefaultDataReplicas] [-S {yes | no}]\n"\
+"                 [-T Mountpoint] [-V] [-z {yes | no}]\n"\
+"      or\n"\
+"   %s Device [-W NewDeviceName]"
+    ;;
+
+    422 ) msgTxt=\
+"%s:  Incorrect or missing remote shell command:  %s"
+    ;;
+
+    423 ) msgTxt=\
+"%s:  Incorrect or missing remote file copy command:  %s"
+    ;;
+
+    424 ) msgTxt=\
+"%s:  %s %s parameter must be an absolute pathname."
+    ;;
+
+    425 ) msgTxt=\
+"Usage:\n"\
+"   %s {[-r RemoteShellCommand] [-R RemoteFileCopyCommand]} [-f]\n"\
+"      or\n"\
+"   %s -C ClusterName"
+    ;;
+
+    428 ) msgTxt=\
+"Usage:\n"\
+"   %s [-a | -F | -f Device | -d \"DiskName[;DiskName...]\"]\n"\
+"           [-L | -m | -M | -X] [-v]"
+    ;;
+
+    429 ) msgTxt=\
+"%s: Disk %s is of an unknown type."
+    ;;
+
+    432 ) msgTxt=\
+"%s: Disk name %s is already registered for use by GPFS."
+    ;;
+
+    433 ) msgTxt=\
+"%s:  Node %s is being used as a primary or backup NSD server."
+    ;;
+
+    437 ) msgTxt=\
+"%s:  Processing continues without lock protection."
+    ;;
+
+    438 ) msgTxt=\
+"Usage:  %s {\"DiskDesc[;DiskDesc...]\" | -F DescFile}\n"
+    ;;
+
+    439 ) msgTxt=\
+"Usage: %s Device [-d] [-Q]"
+    ;;
+
+    440 ) msgTxt=\
+"%s: Command was unable to obtain the lock for the GPFS system data.\n"\
+"    Unable to reach the holder of the lock %s.\n"\
+"    Check the preceding messages, if any.  Follow the procedure outlined\n"\
+"    in the GPFS Problem Determination Guide."
+    ;;
+
+    441 ) msgTxt=\
+"vpath disk %s is not recognized as an IBM SDD device.\n"
+    ;;
+
+    448 ) msgTxt=\
+"Usage:  %s "
+    ;;
+
+    449 ) msgTxt=\
+"Usage:\n"\
+"  %s [-L] [-s] [-v] [-a | -N {Node[,Node...] | NodeFile | NodeClass}]"
+    ;;
+
+    450 ) msgTxt=\
+"%s: Disk %s belongs to vpath %s.\n"
+    ;;
+
+    452 ) msgTxt=\
+"Usage:\n"\
+"  %s [-u User | -g Group | -j Fileset] [-v | -q] [-e]\n"\
+"              [-C ClusterName] [Device1 Device2 ...]\n"\
+"    or\n"\
+"  %s -d {-u | -g | -j} [-C ClusterName] [Device1 Device2 ...]\n"
+    ;;
+
+    454 ) msgTxt=\
+"%s: Failed to stat %s."
+    ;;
+
+    455 ) msgTxt=\
+"%s: %s is not a GPFS file system object."
+    ;;
+
+    456 ) msgTxt=\
+"%s: The policy file cannot be determined."
+    ;;
+
+    457 ) msgTxt=\
+"Usage:\n"\
+"   %s {Device|Directory} [-P PolicyFile] [-I {yes|defer|test}]\n"\
+"                 [-L n] [-D yyyy-mm-dd[@hh:mm[:ss]]] [-s WorkDirectory]\n"
+    ;;
+
+    458 ) msgTxt=\
+"Usage:\n"\
+"   %s Device -n ControlFile [-t {full | incremental}] [-s SortDir]\n"\
+"      or\n"\
+"   %s Device -R [-s SortDir]\n"
+    ;;
+
+    459 ) msgTxt=\
+"Usage:  %s Device {\"FileName[,FileName...]\" | -f FileNameFile}\n"
+    ;;
+
+    460 ) msgTxt=\
+"%s:  \"%s\" must be a absolute path name."
+    ;;
+
+    461 ) msgTxt=\
+"%s: Device with major/minor numbers %s and %s already exists."
+    ;;
+
+    462 ) msgTxt=\
+"%s:  %s was not created by GPFS or could not be refreshed."
+    ;;
+
+    469 ) msgTxt=\
+"%s:  The %s option is not allowed for remote file systems."
+    ;;
+
+    470 ) msgTxt=\
+"%s:  There are no available free disks.\n"\
+"Disks must be prepared prior to invoking %s.\n"\
+"Define the disks using the %s command."
+    ;;
+
+    472 ) msgTxt=\
+"%s:  File system %s belongs to cluster %s.\n"\
+"    The %s option is not allowed for remote file systems."
+    ;;
+
+    474 ) msgTxt=\
+"%s:  %s not active on nodes: %s"
+    ;;
+
+    476 ) msgTxt=\
+"%s: IP aliasing is not supported (%s).  Specify the main device."
+    ;;
+
+    481 ) msgTxt=\
+"%s: The requested disks are not known to GPFS."
+    ;;
+
+    483 ) msgTxt=\
+"%s:  %s is not a valid cipher list."
+    ;;
+
+    484 ) msgTxt=\
+"Usage:\n"\
+"   %s Device {suspend | resume}\n"\
+"      or\n"\
+"   %s Device {exclude | include}\n"\
+"                  {-d \"DiskName[;DiskName...]\" | -F DiskFile | -G FailureGroup}\n"\
+"      or\n"\
+"   %s Device syncFSconfig\n"\
+"                  {-n RemoteNodesFile | -C RemoteCluster} [-S SpecFile]\n"
+    ;;
+
+    485 ) msgTxt=\
+"%s: Disk %s belongs to file system %s."
+    ;;
+
+    486 ) msgTxt=\
+"%s: The following disks are not known to GPFS:\n%s"
+    ;;
+
+    487 ) msgTxt=\
+"%s: No disks were specified that could be deleted."
+    ;;
+
+    488 ) msgTxt=\
+"%s: Disk %s has been removed from the GPFS cluster\n"\
+"          configuration data but the NSD volume id was not erased from\n"\
+"          the disk.  To remove the NSD volume id, issue\n"\
+"             mmdelnsd -p %s"
+    ;;
+
+    489 ) msgTxt=\
+"%s:  Disk %s has been removed from the GPFS cluster data\n"\
+"          configuration data but the NSD volume id was not erased from\n"\
+"          the disk.  To remove the NSD volume id, issue\n"\
+"             mmdelnsd -p %s -N %s"
+    ;;
+
+    491 ) msgTxt=\
+"%s: Disk %s is not assigned a primary NSD server node."
+    ;;
+
+    492 ) msgTxt=\
+"%s: The primary and backup NSD servers must be different nodes."
+    ;;
+
+    498 ) msgTxt=\
+"%s: Cannot handle multiple interfaces for host %s."
+    ;;
+
+    499 ) msgTxt=\
+"%s: Unexpected output from the 'host -t a %s' command:"
+    ;;
+
+    500 ) msgTxt=\
+"%s: Host %s not found."
+    ;;
+
+    505 ) msgTxt=\
+"%s: Disk name %s is not allowed.\n"\
+"Names beginning with gpfs are reserved for use by GPFS."
+    ;;
+
+    507 ) msgTxt=\
+"%s: File %s not found.\n"\
+"   Recover the file, or generate and commit a new key using mmauth genkey."
+    ;;
+
+    508 ) msgTxt=\
+"%s: Disk %s is too large."
+    ;;
+
+    509 ) msgTxt=\
+"%s: Unexpected error obtaining the local environment update lock."
+    ;;
+
+    510 ) msgTxt=\
+"%s: Local update lock is busy."
+    ;;
+
+    511 ) msgTxt=\
+"%s: Failed to obtain the local environment update lock."
+    ;;
+
+    513 ) msgTxt=\
+"Usage:\n"\
+"   %s Device FilesetName [-t Comment]\n"
+    ;;
+
+    514 ) msgTxt=\
+"Usage:\n"\
+"   %s Device {FilesetName | -J JunctionPath}\n"\
+"                      {[-j NewFileSetName] [-t Comment]}\n"
+    ;;
+
+    515 ) msgTxt=\
+"Usage:\n"\
+"   %s Device FilesetName [-J JunctionPath]\n"
+    ;;
+
+    516 ) msgTxt=\
+"Usage:\n"\
+"   %s Device {FilesetName | -J JunctionPath} [-f]\n"
+    ;;
+
+    517 ) msgTxt=\
+"Usage:\n"\
+"   %s Device FilesetName [-f]\n"
+    ;;
+
+    518 ) msgTxt=\
+"Usage:\n"\
+"   %s Device\n"\
+"         [[Fileset[,Fileset...]] [-J Junction[,Junction...]] | -F FileName]\n"\
+"         [-L] [-d] [-i]\n"
+    ;;
+
+    520 ) msgTxt=\
+"%s: %s: Volume group %s has been varied on."
+    ;;
+
+    523 ) msgTxt=\
+"%s: Permission denied for disk %s"
+    ;;
+
+    524 ) msgTxt=\
+"%s: Disk %s was not found."
+    ;;
+
+    525 ) msgTxt=\
+"%s: I/O error on %s"
+    ;;
+
+    526 ) msgTxt=\
+"%s: %s is not a valid logical volume."
+    ;;
+
+    528 ) msgTxt=\
+"%s: Disk %s belongs to back-level file system %s\n"\
+"    or the state of the disk is not ready.\n"\
+"    Use mmchfs -V to convert the file system to the latest format.\n"\
+"    Use mmchdisk to change the state of a disk."
+    ;;
+
+    529 ) msgTxt=\
+"%s: Failed while processing disk %s"
+    ;;
+
+    530 ) msgTxt=\
+"%s: Device %s already exists on node %s"
+    ;;
+
+    531 ) msgTxt=\
+"%s: Disk %s has no space for the quorum data structures.\n"\
+"    Specify a different disk as tiebreaker disk."
+    ;;
+
+    532 ) msgTxt=\
+"%s: Disk %s (pvid %s) is not known on node %s"
+    ;;
+
+    533 ) msgTxt=\
+"%s: Import of volume group %s on node %s failed."
+    ;;
+
+    534 ) msgTxt=\
+"%s: Volume group %s is not known on node %s."
+    ;;
+
+    535 ) msgTxt=\
+"%s: %s: Unable to varyon volume group %s."
+    ;;
+
+    536 ) msgTxt=\
+"%s: None of the quorum nodes can be reached."
+    ;;
+
+    537 ) msgTxt=\
+"%s: The descriptor file contains more than one descriptor."
+    ;;
+
+    538 ) msgTxt=\
+"%s: The descriptor file contains no descriptor."
+    ;;
+
+    539 ) msgTxt=\
+"%s: Failed validating disk %s. Error code %s."
+    ;;
+
+    540 ) msgTxt=\
+"Usage:\n"\
+"   %s {Device | all | all_local | all_remote} [-L]\n"\
+"                [-C {all | all_remote | ClusterName[,ClusterName...]}]"
+    ;;
+
+    547 ) msgTxt=\
+"%s: Skipping disk %s on node %s."
+    ;;
+
+    548 ) msgTxt=\
+"%s: Name %s is not allowed.\n"\
+"It is longer than the maximum allowable length (%s)."
+    ;;
+
+    549 ) msgTxt=\
+"%s: mmfskxload:  The format of the GPFS kernel extension\n"\
+"is not correct for this version of AIX."
+    ;;
+
+    550 ) msgTxt=\
+"%s: %s does not resolve to a directory in %s.\n"\
+"    The junction must be within the specified file system."
+    ;;
+
+    551 ) msgTxt=\
+"%s: Name %s is not allowed."
+    ;;
+
+    552 ) msgTxt=\
+"%s: File system %s is not mounted."
+    ;;
+
+    555 ) msgTxt=\
+"Usage: %s Device [-q | -d | -s SnapLatestName]"
+    ;;
+
+    556 ) msgTxt=\
+"Usage: %s Device [-n | -f]"
+    ;;
+
+    558 ) msgTxt=\
+"%s: Vpath disk %s has an underlying hdisk that already belongs to a volume group."
+    ;;
+
+    560 ) msgTxt=\
+"Usage:\n"\
+"  %s Device\n"\
+"   {-d [NodeName]:{DiskName|DiskNum|BROKEN}:[PhysAddr1[PhysAddr2]] | -F DescFile}\n"\
+"   [-o OutputFile] [-f NumThreads] [-t Directory]"
+    ;;
+
+    561 ) msgTxt=\
+"%s: File %s either does not exist or has an incorrect format."
+    ;;
+
+    562 ) msgTxt=\
+"%s: did not find any match with the input disk address."
+    ;;
+
+    563 ) msgTxt=\
+"%s: Device %s is not mounted on node %s."
+    ;;
+
+    564 ) msgTxt=\
+"%s: Command was unable to determine whether file system %s is mounted."
+    ;;
+
+    565 ) msgTxt=\
+"%s: Backup control file %s from a previous backup does not exist."
+    ;;
+
+    566 ) msgTxt=\
+"Usage:\n"\
+"   %s Device {[-r | -a] [-s SnapDirName]} \n"\
+"      or\n"\
+"   %s Device [-q]"
+    ;;
+
+    567 ) msgTxt=\
+"%s: Line %d of file %s is incorrect:"
+    ;;
+
+    568 ) msgTxt=\
+"%s: Syntax error. The correct syntax is:\n  %s"
+    ;;
+
+    569 ) msgTxt=\
+"%s: Incorrect range %s-%s specified."
+    ;;
+
+    570 ) msgTxt=\
+"Usage:  %s {Device | all} -o ExportfsFile"
+    ;;
+
+    571 ) msgTxt=\
+"Usage:\n"\
+"   %s {Device | all} -i ImportfsFile [-S ChangeSpecFile]"
+    ;;
+
+    572 ) msgTxt=\
+"%s: Insufficient free space in %s (%s minimum required)."
+    ;;
+
+    574 ) msgTxt=\
+"%s: Directory %s does not exist."
+    ;;
+
+    575 ) msgTxt=\
+"%s: The GPFS release level could not be determined on nodes:\n%s"
+    ;;
+
+    576 ) msgTxt=\
+"%s: The GPFS release level could not be determined on any of the nodes."
+    ;;
+
+    577 ) msgTxt=\
+"%s: Ensure the nodes are available and run:\n%s"
+    ;;
+
+    578 ) msgTxt=\
+"%s: Upgrade the lower release level nodes and run:\n%s"
+    ;;
+
+    579 ) msgTxt=\
+"%s: The GPFS release level in effect for the cluster remains unchanged.\n"\
+"     Old level: %s (Release %s)"
+    ;;
+
+    580 ) msgTxt=\
+"%s: The GPFS release level in effect for the cluster cannot be determined.\n"\
+"     Assumed: %s (Release %s)"
+    ;;
+
+    581 ) msgTxt=\
+"%s: The GPFS release level in effect for the cluster will be changed.\n"\
+"     Old level: %s (Release %s)   New level: %s (Release %s)"
+    ;;
+
+    582 ) msgTxt=\
+"%s: The cluster contains nodes that are at different GPFS release levels.\n"\
+"     Lowest level: %s (Release %s)  Highest level: %s (Release %s)"
+    ;;
+
+    583 ) msgTxt=\
+"%s: -V option requires all nodes in the cluster to be at the same GPFS release level."
+    ;;
+
+    585 ) msgTxt=\
+"%s: Not able to associate %s on node %s with any known GPFS disk."
+    ;;
+
+    587 ) msgTxt=\
+"%s: Unable to resolve address range for disk %s on node %s."
+    ;;
+
+
+    # Message numbers above 1000 are in message set 60 (ts/fencing/fencing.msg).
+
+    1000 ) msgTxt=\
+"%s: Could not clear fencing for disk %s."
+    ;;
+
+    1001 ) msgTxt=\
+"%s: tspreemptabort of disk %s for nodes %s failed."
+    ;;
+
+    1002 ) msgTxt=\
+"%s: Disk %s of type %s is not supported for fencing."
+    ;;
+
+    1003 ) msgTxt=\
+"%s: Unable to fence in node %s for disk %s."
+    ;;
+
+    1004 ) msgTxt=\
+"%s: None of the specified nodes belong to this GPFS cluster."
+    ;;
+
+    1005 ) msgTxt=\
+"%s: A node cannot fence itself in."
+    ;;
+
+    1006 ) msgTxt=\
+"%s: varyonLocalVolume:  tsprregister was unable to unfence disk %s."
+    ;;
+
+    1007 ) msgTxt=\
+"%s: Unable to display fencing for disk %s."
+    ;;
+
+    1008 ) msgTxt=\
+"%s: For the logical volume specification \"-l %s\" to be valid\n"\
+"%s must be the only logical volume in the volume group.\n"\
+"However, volume group %s contains logical volumes."
+    ;;
+
+    1009 ) msgTxt=\
+"%s: %s is not a valid logical volume."
+    ;;
+
+    1010 ) msgTxt=\
+"%s: %s is not a valid volume group name."
+    ;;
+
+    1011 ) msgTxt=\
+"%s: For the hdisk specification \"-h %s\" to be valid\n"\
+"%s must be the only disk in the volume group.\n"\
+"However, volume group %s contains disks"
+    ;;
+
+    1012 ) msgTxt=\
+"%s: %s is not a valid physical volume name."
+    ;;
+
+    1013 ) msgTxt=\
+"%s: %s is not a valid physical volume id."
+    ;;
+
+    1014 ) msgTxt=\
+"%s: Node %s does not have access to disk %s."
+    ;;
+
+    1015 ) msgTxt=\
+"%s: Node %s does not hold a reservation for disk %s."
+    ;;
+
+    1016 ) msgTxt=\
+"%s: SSA fencing support is not present on this node."
+    ;;
+
+    1017 ) msgTxt=\
+"%s: Node ID %s is not a valid SSA node ID.\n"\
+"SSA node IDs must be a number in the range of 1 to 128."
+    ;;
+
+    1024 ) msgTxt=\
+"%s: The SSA node id is not set."
+    ;;
+
+    1025 ) msgTxt=\
+"%s: Unable to retrieve the SSA node id."
+    ;;
+
+    1026 ) msgTxt=\
+"%s: Unable to set fencing for disk %s."
+    ;;
+
+    1027 ) msgTxt=\
+"%s: Unable to clear PR reservations for disk %s."
+    ;;
+
+    *   )  # unknown message, ignore it.
+      return 0
+    ;;
+
+  esac
+
+  # Message numbers below 1000 are in message set 32 (ts/admin/admin.msg).
+  # Message numbers above 1000 are in message set 60 (ts/fencing/fencing.msg).
+  if [[ $msgNo -lt 1000 ]]
+  then
+    msgSet=32
+  else
+    msgSet=60
+  fi
+
+  if [[ $osName = AIX ]]
+  then
+    # Print the message - extra arguments are ignored.
+    if [[ $printTimeStamp = yes ]]
+    then
+      print -u2 -- "$(date) $($dspmsg -s $msgSet mmfs.cat \
+        $msgNo "$msgTxt" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9")"
+    else
+      print -u2 -- "$($dspmsg -s $msgSet mmfs.cat \
+        $msgNo "$msgTxt" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9")"
+    fi
+
+  elif [[ $osName = Linux ]]
+  then
+    # Print the message - extra arguments are ignored.
+    if [[ $printTimeStamp = yes ]]
+    then
+      print -u2 -- "$(date) $($mmdspmsg -s $msgSet mmfs.cat \
+        $msgNo "$msgTxt" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9")"
+    else
+      print -u2 -- "$($mmdspmsg -s $msgSet mmfs.cat \
+        $msgNo "$msgTxt" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9")"
+    fi
+  else
+    checkForErrors "Unknown operating system $osName" 1
+  fi
+
+}  #----- end of function printErrorMsg --------------------------
+
+
+##########################################################################
+#
+# Function:  Prints a syntax-related message, optionally followed
+#            by usage message, and terminates the command
+#
+# Input:     $1 - indicator for the type of error
+#            $2 - number of the usage message to issue;
+#                 if 0, usage message is not printed
+#            $3, $4, etc. - substitute parameters for the message
+#
+# Output:    Syntax-related message
+#
+# Returns:   No return.  The function invokes the cleanupAndExit routine.
+#
+# Note:      The usage message is assumed to have only one substitute
+#            parameter, the command name.  The command name is allowed
+#            to appear more than once in the usage statement.
+#
+##########################################################################
+function syntaxError  # <reason> <usageMsg> [<sub1> [<sub2>...]]
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGsyntaxError ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset reason=$1
+  typeset usageMsg=$2
+  typeset sub1="$3"
+  typeset sub2="$4"
+  typeset sub3="$5"
+  typeset sub4="$6"
+  typeset sub5="$7"
+
+  # Print the appropriate message.
+  case "$reason"
+  in
+    "multiple")        # Parameter specified more than once.
+       printErrorMsg 36 "$mmcmd" "$sub1"
+       ;;
+
+    "missingArgs")     # Missing arguments.
+       printErrorMsg 168 "$mmcmd"
+       ;;
+
+    "missingValue")    # Missing required value after flag.
+       printErrorMsg 204 "$mmcmd" "$sub1"
+       ;;
+
+    "missingFile")     # Missing disk descriptor file.
+       printErrorMsg 41 "$mmcmd"
+       ;;
+
+    "extraArg")        # Unexpected extra argument.
+       printErrorMsg 38 "$mmcmd" "$sub1"
+       ;;
+
+    "invalidOption")   # Incorrect option.
+       printErrorMsg 13 "$mmcmd" "$sub1"
+       ;;
+
+    "invalidCombination")  # Invalid combination of options.
+       printErrorMsg 191 "$mmcmd" "$sub1" "$sub2"
+       ;;
+
+    "YesNoValue")      # Invalid yes|no parameter.
+       printErrorMsg 37 "$mmcmd" "$sub1"
+       ;;
+
+    "keyword")         # Invalid keyword specified.
+       printErrorMsg 133 "$mmcmd" "$sub1"
+       ;;
+
+    "invalidInt")      # Invalid parameter - must be an integer.
+       printErrorMsg 40 "$mmcmd" "$sub1" "$sub2"
+       ;;
+
+    "cannotOpenFile")  # unable to open file.
+       printErrorMsg 43 "$mmcmd" "$sub1"
+       ;;
+
+    "negativeInt" )    # Invalid parameter - must be positive integer.
+       printErrorMsg 45 "$mmcmd" "$sub1" "$sub2"
+       ;;
+
+    "invalidRange")    # Invalid range.
+       printErrorMsg 78 "$mmcmd" "$sub1" "$sub2" "$sub3" "$sub4"
+       ;;
+
+    "absolutePath")    # Parameter must be an absolute path name.
+       printErrorMsg 148 "$mmcmd" "$sub1"
+       ;;
+
+    "absolutePath_2")  # Parameter must be an absolute path name.
+       printErrorMsg 424 "$mmcmd" "$sub1" "$sub2"
+       ;;
+
+    "device1")         # Device name starts with a slash, but not /dev/.
+       printErrorMsg 169 "$mmcmd" "$sub1"
+       ;;
+
+    "device2")         # Device name contains a slash, but not in column 1.
+       printErrorMsg 170 "$mmcmd" "$sub1"
+       ;;
+
+    "invalidAttrValuePair")  # Invalid attribute on mmchconfig.
+       : # No special message, usage will be printed shortly.
+       ;;
+
+    "incorrectSyntax")  # Incorrect syntax.
+       printErrorMsg 568 "$mmcmd" "$sub1"
+       ;;
+
+    "incorrectRange")  # Incorrect range.
+       printErrorMsg 569 "$mmcmd" "$sub1" "$sub2"
+       ;;
+
+    "obsoleteOption")  # Invalid (old) option specified.
+       printErrorMsg 19 "$mmcmd" "$sub1"
+       ;;
+
+    "badSeparator_notSemicolon")  # Must use semi-colon as a separator.
+       printErrorMsg 62 "$mmcmd"
+       ;;
+
+    "badSeparator_notDash")       # Must use dash as a separator.
+       printErrorMsg 61 "$mmcmd"
+       ;;
+
+    "help")            # Show the usage message only.
+       : # Usage will be printed shortly.
+       ;;
+
+    *)                 # unexpected code
+       : # do nothing
+       ;;
+
+  esac  # end of case "$reason"
+
+  # If necessary, print the usage statement.
+  if [[ $usageMsg -ne 0 ]]
+  then
+    # Some usage messages put out the command name more than once.
+    if [[ $usageMsg = 287 || $usageMsg = 301 || $usageMsg = 374 ||
+          $usageMsg = 390 || $usageMsg = 413 || $usageMsg = 421 ||
+          $usageMsg = 425 || $usageMsg = 452 || $usageMsg = 458 ||
+          $usageMsg = 566 ]]
+    then
+      printErrorMsg $usageMsg "$mmcmd" "$mmcmd"
+
+    elif [[ $usageMsg = 484 ]]
+    then
+      printErrorMsg $usageMsg "$mmcmd" "$mmcmd" "$mmcmd"
+
+    elif [[ $usageMsg = 385 || $usageMsg = 388 ]]
+    then
+      printErrorMsg $usageMsg "$mmcmd" "$mmcmd" "$mmcmd" "$mmcmd"
+
+    elif [[ $usageMsg = 359 ]]
+    then
+      printErrorMsg $usageMsg "$mmcmd" "$mmcmd" "$mmcmd" "$mmcmd" "$mmcmd"
+
+    elif [[ $usageMsg = 249 ]]
+    then
+      printErrorMsg $usageMsg "$mmcmd" "$mmcmd" "$mmcmd" "$mmcmd" "$mmcmd" "$mmcmd" "$mmcmd"
+
+    else
+      printErrorMsg $usageMsg "$mmcmd"
+    fi  # end of if [[ $usageMsg = 287 || ...
+  fi  # end of if [[ $usageMsg -ne 0 ]]
+
+  cleanupAndExit
+
+}  #----- end of function syntaxError ----------------------------
+
+
+###########################################################################
+#
+# Function:  Called if there is an interrupt before changes are committed.
+#            Removes temporary files and unlocks the sdr if necessary.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   Exits with code 2
+#
+###########################################################################
+function pretrap
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGpretrap ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset ec=0
+
+  trap "" HUP INT QUIT KILL    # Disable traps so we won't get interrupted.
+
+  [[ -z $MMMODE ]] && determineMode
+
+  # We come here if an interrupt was received and
+  # no changes have been made to the sdrfs file.
+  # Display any buffered error messages that might be there.
+  [[ -s $errMsg ]] && $cat $errMsg 1>&2
+  printErrorMsg 20 $mmcmd
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+
+  if [[ $gpfsLocked = yes ]]
+  then
+    setRunningCommand null $primaryServer
+    ec=$?
+    if [[ $ec -ne 0 ]]
+    then
+      printErrorMsg 171 $mmcmd "function setRunningCommand" $ec
+    fi
+  fi
+
+  [[ $envLocked = yes ]] && \
+    freeEnvLock >/dev/null
+  envLocked=no
+
+  [[ $sdrLocked = yes ]] && \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+
+  trap - HUP INT QUIT KILL     # Restore interrupts.
+  exit 2
+
+}  #----- end of function pretrap --------------------------------
+
+
+####################################################################
+#
+# Function:  Called if there is an interrupt to a command that
+#            does not change system files.  Removes temporary files
+#            and unlocks the sdr if necessary.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   Exits with code 2
+#
+####################################################################
+function pretrap2
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGpretrap2 ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  trap "" HUP INT QUIT KILL    # Disable traps so we can finish this.
+
+  [[ -z $MMMODE ]] && determineMode
+
+  # Interrupt received.
+  # Display any buffered error messages that might be there.
+  [[ -s $errMsg ]] && $cat $errMsg 1>&2
+  printErrorMsg 306 $mmcmd
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+
+  [[ $envLocked = yes ]] && \
+    freeEnvLock >/dev/null
+  envLocked=no
+
+  [[ $sdrLocked = yes ]] && \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+
+  trap - HUP INT QUIT KILL     # Restore interrupts.
+  exit 2
+
+}  #----- end of function pretrap2 -------------------------------
+
+
+########################################################################
+#
+# Function:  Called if there is an interrupt to a command that
+#            does not change system files.  Removes temporary files
+#            and unlocks the sdr if necessary.
+#
+#            This silent trap routine is used by mmcommon and mmremote.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   Exits with code 2
+#
+########################################################################
+function pretrap3
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGpretrap3 ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  trap "" HUP INT QUIT KILL    # Disable traps so we can finish this.
+
+  [[ -z $MMMODE ]] && determineMode
+
+  # Interrupt received.
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+
+  [[ $envLocked = yes ]] && \
+    freeEnvLock >/dev/null
+  envLocked=no
+
+  [[ $sdrLocked = yes ]] && \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+
+  trap - HUP INT QUIT KILL     # Restore interrupts.
+  exit 2
+
+}  #----- end of function pretrap3 -------------------------------
+
+
+###########################################################################
+#
+# Function:  Called if there is an interrupt after changes were committed.
+#            Removes temporary files and unlocks the sdr if necessary.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   Exits with code 2
+#
+###########################################################################
+function posttrap
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGposttrap ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset ec=0
+
+  trap "" HUP INT QUIT KILL    # Disable traps so we can finish this.
+
+  [[ -z $MMMODE ]] && determineMode
+
+  # Interrupt received: changes not propagated.
+  # Display any buffered error messages that might be there.
+  [[ -s $errMsg ]] && $cat $errMsg 1>&2
+  printErrorMsg 32 $mmcmd
+  $rm -f $GLOBAL_FILES $LOCAL_FILES
+
+  if [[ $gpfsLocked = yes ]]
+  then
+    setRunningCommand null $primaryServer
+    ec=$?
+    if [[ $ec -ne 0 ]]
+    then
+      printErrorMsg 171 $mmcmd "function setRunningCommand" $ec
+    fi
+  fi
+
+  [[ $envLocked = yes ]] && \
+    freeEnvLock >/dev/null
+  envLocked=no
+
+  [[ $sdrLocked = yes ]] && \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+
+  trap - HUP INT QUIT KILL     # Restore interrupts.
+  exit 2
+
+}  #----- end of function posttrap -------------------------------
+
+
+####################################################################
+#
+# Function:  This function must be called before a command exits,
+#            either because of an unrecoverable error, or because
+#            processing is completed.  The caller must issue all
+#            error messages prior to calling this function.
+#
+#            This function does not return to its caller.
+#
+# Input:     $1 (optional) return code value to be used
+#            $2 (optional) indicator not to unlock the sdr
+#
+# Output:    None
+#
+# Returns:   Default exit code is 1 unless a different value
+#            is passed as a first parameter.
+#
+####################################################################
+function cleanupAndExit  #  [ <rc> ]  [ doNotUnlock ]
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGcleanupAndExit ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset doNotUnlock=$2
+  typeset rc=1
+  typeset ec=0
+
+  [[ -n $1 ]] && rc=$1
+
+  trap "" HUP INT QUIT KILL    # Disable traps so we can finish this.
+
+  if [[ $gpfsLocked = yes && -z $doNotUnlock ]]
+  then
+    setRunningCommand null $primaryServer
+    ec=$?
+    if [[ $ec -ne 0 ]]
+    then
+      printErrorMsg 171 $mmcmd "function setRunningCommand" $ec
+    fi
+  fi
+
+  if [[ $envLocked = yes && -z $doNotUnlock ]]
+  then
+    freeEnvLock > /dev/null
+    envLocked=no
+  fi
+
+  if [[ $sdrLocked = yes && -z $doNotUnlock ]]
+  then
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+    sdrLocked=no
+  fi
+
+  [[ $getCredCalled = yes ]] &&  \
+    freeCred
+
+  $rm -f $GLOBAL_FILES $LOCAL_FILES >/dev/null 2>&1
+
+  $mmTRACE_EXIT "rc=$rc"
+  exit $rc
+
+}  #----- end of function cleanupAndExit -------------------------
+
+
+####################################################################
+#
+# Function:  Verifies that a command executed successfully.
+#            If the return code from the command is not zero,
+#            the function issues a message, performs cleanup,
+#            and stops processing.
+#
+# Input:     $1 - name of the command to check
+#            $2 - return code from the execution of the command
+#
+# Output:    None
+#
+# Returns:   0 - command finished successfully
+#            If error, no return; processing is stopped.
+#
+####################################################################
+function checkForErrors  # <command> <rc>
+{
+  if [ $2 != "0" ]
+  then
+    # Unexpected error
+    printErrorMsg 171 "$mmcmd" "$1" $2
+    cleanupAndExit
+  fi
+
+}  #----- end of function checkForErrors -------------------------
+
+
+####################################################################
+#
+# Function:  Issue message 278 (corrupted mmsdrfs file).
+#            Invoke cleanupAndExit to terminate the command.
+#
+# Input:     $1 - point of failure code
+#            $2 - (optional) mmsdrfs line in error
+#
+# Output:    Message 278, followed by the line in error.
+#
+# Returns:   No return
+#
+####################################################################
+function corruptedSdrFileExit  # <errCode> [ <lineInError> ]
+{
+  typeset errCode=$1
+  typeset lineInError=$2
+
+  printErrorMsg 278 $mmcmd  $errCode
+  [[ -n $lineInError ]] && \
+    print -u2 "$lineInError"
+  cleanupAndExit $errCode
+
+}  #----- end of function corruptedSdrFileExit -------------------
+
+
+#####################################################################
+#
+# Function:  Verifies that the value of an attribute is an integer.
+#            If the value ends with a suffix k, K, m, M, g or G, it is
+#            converted to a simple integer.  If min and max values
+#            are specified, the function verifies that the attribute
+#            value is within that range.
+#
+# Input:     $1 - attribute name (needed for messages)
+#            $2 - attribute value
+#            $3 - minimum allowed value (optional)
+#            $4 - maximum allowed value (optional)
+#
+# Output:    The converted attribute value
+#
+# Returns:   0 - Attribute value is legitimate
+#            1 - (via cleanupAndExit) Attribute value is not valid
+#
+#####################################################################
+function checkIntRange  # <attr> <value> [<min> <max>]
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckIntRange ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset attribute=$1
+  typeset attrValue=$2
+  typeset minValue=$3
+  typeset maxValue=$4
+
+  typeset -l value=$attrValue
+  typeset -l low=$minValue
+  typeset -l high=$maxValue
+  typeset rc=0
+  typeset -i result min max
+
+  # Verify that the input value is an integer.
+  # Convert if value has a k, K, m, M, g or G suffix.
+  if [[ $value = k || $value = m || $value = g ]]
+  then
+    rc=1
+  elif [[ $value != ${value%g} ]]
+  then
+    [[ -z ${value%%*([0-9])g} ]] && result=${value%g}*1073741824 || rc=1
+  elif [[ $value != ${value%m} ]]
+  then
+    [[ -z ${value%%*([0-9])m} ]] && result=${value%m}*1048576 || rc=1
+  elif [[ $value != ${value%k} ]]
+  then
+    [[ -z ${value%%*([0-9])k} ]] && result=${value%k}*1024 || rc=1
+  else
+    [[ -z ${value%%*([0-9])} ]] && result=$value || rc=1
+  fi
+
+  if [[ $rc -ne 0 ]]
+  then
+    # Invalid integer
+    printErrorMsg 40 $mmcmd "$attribute" "$attrValue"
+    cleanupAndExit
+  fi
+
+  # If range checking required, account for any k, K, m, or M suffixes.
+  if [[ -n $minValue ]]
+  then
+    # Account for any k, K, m, or M suffixes in minValue or maxValue.
+    # Since these are not user input, there should be no errors.
+    if [[ $low != ${low%m} ]]
+    then
+      [[ -z ${low%%*([0-9])m} ]] && min=${low%m}*1048576 || rc=1
+    elif [[ $low != ${low%k} ]]
+    then
+      [[ -z ${low%%*([0-9])k} ]] && min=${low%k}*1024 || rc=1
+    else
+      [[ -z ${low%%*([0-9])} ]] && min=$low || rc=1
+    fi
+    checkForErrors checkIntRange_min $rc
+  fi  # end if [[ -n $minValue ]]
+
+  if [[ -n $maxValue ]]
+  then
+    if [[ $high != ${high%m} ]]
+    then
+      [[ -z ${high%%*([0-9])m} ]] && max=${high%m}*1048576 || rc=1
+    elif [[ $high != ${high%k} ]]
+    then
+      [[ -z ${high%%*([0-9])k} ]] && max=${high%k}*1024 || rc=1
+    else
+      [[ -z ${high%%*([0-9])} ]] && max=$high || rc=1
+    fi
+    checkForErrors checkIntRange_max $rc
+  fi  # end if [[ -n $maxValue ]]
+
+  # Ensure that value is within the specified range.
+  if [[ -n $maxValue ]]
+  then
+    # Make sure that value is within the specified range.
+    if [[ $result -lt $min || $result -gt $max ]]
+    then
+      # Value is out of range.
+      printErrorMsg 78 $mmcmd "$attribute" "$minValue" "$maxValue" "$attrValue"
+      cleanupAndExit
+    fi
+  elif [[ -n $minValue ]]
+  then
+    # Make sure that value is greater than the minimum required.
+    if [[ $result -lt $min ]]
+    then
+      # Value is out of range.
+      printErrorMsg 97 $mmcmd "$attribute" "$minValue" "$attrValue"
+      cleanupAndExit
+    fi
+  else
+    : # nothing to do.
+  fi  # end if [[ -n $maxValue ]]
+
+  # Everything looks OK, return the result.
+  print -- "$result"
+  return 0
+
+}  #----- end of function checkIntRange --------------------------
+
+
+###############################################################################
+#
+# Function:  Check that a name does not violate any of the naming rules
+#            about length or prohibited characters.
+#
+# Input:     nameType   - type of name being checked
+#            maxLength  - maximum length of the name
+#            name       - name to be checked
+#
+# Output:    none
+#
+# Returns:   0 if the name is ok; non-zero otherwise
+#
+###############################################################################
+function checkName  # <nameType> <maxLength> <name>
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckName ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset nameType=$1
+  typeset maxLength=$2
+  typeset name="$3"
+
+  typeset length
+  typeset bannedFromAllNames=',:; 	"'  # includes blank and a tab char
+  typeset bannedFromDeviceNames=']/?$&*()'
+  typeset bannedFromDiskNames='].<>{}/\?`~!@#$%^&*()+=\\-'
+  typeset rc=0
+
+  # Return with success if the passed name is null.
+  [[ -z $name ]] && return 0
+
+  # Return with a non-zero return code if the name is too long.
+  length=${#name}
+  if [[ length -gt maxLength ]]
+  then
+    # The name is too long.
+    printErrorMsg 548 $mmcmd '"'"$name"'"' $maxLength
+    return 1
+  fi
+
+  # If only checking the length of the string, we are done.
+  [[ $nameType = lengthCheckOnly ]] && return 0
+
+  # Check if any of the common banned characters are present in the name;
+  # the single-quote character must be tested for explicitly.
+  [[ "$name" = *+([${bannedFromAllNames}])* || "$name" = *"'"* ]] && rc=1
+
+  # Additional, name-specific checking.
+  case $nameType in
+    poolName | junctionName | filesetName )
+        [[ "$name" = *+([${bannedFromDeviceNames}])* || "$name" = *"["* ]] &&  \
+          rc=1
+        ;;
+
+    deviceName )
+        [[ "${name##+(/)dev+(/)}" = *+([${bannedFromDeviceNames}])* || "$name" = *"["* ]] &&  \
+          rc=1
+        ;;
+
+    diskName )
+        [[ "$name" = *+([${bannedFromDiskNames}])* || "$name" = *"["* ]] &&  \
+          rc=1
+        ;;
+
+    * )  : # The name must be OK.
+        ;;
+  esac  # end of case $nameType in
+
+  # If a banned character was found, issue an appropriate message.
+  if [[ $rc -ne 0 ]]
+  then
+    case $name in
+      *\[* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '['  ;;
+      *\]* )  printErrorMsg 189 $mmcmd '"'"$name"'"' ']'  ;;
+      *\.* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '.'  ;;
+      *\<* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '<'  ;;
+      *\>* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '>'  ;;
+      *\{* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '{'  ;;
+      *\}* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '}'  ;;
+      *\/* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '/'  ;;
+      *\?* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '?'  ;;
+      *\`* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '`'  ;;
+      *\~* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '~'  ;;
+      *\!* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '!'  ;;
+      *\@* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '@'  ;;
+      *\#* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '#'  ;;
+      *\$* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '$'  ;;
+      *\%* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '%'  ;;
+      *\^* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '^'  ;;
+      *\&* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '&'  ;;
+      *\** )  printErrorMsg 189 $mmcmd '"'"$name"'"' '*'  ;;
+      *\(* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '('  ;;
+      *\)* )  printErrorMsg 189 $mmcmd '"'"$name"'"' ')'  ;;
+      *\+* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '+'  ;;
+      *\-* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '-'  ;;
+      *\=* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '='  ;;
+      *\,* )  printErrorMsg 189 $mmcmd '"'"$name"'"' ','  ;;
+      *\:* )  printErrorMsg 189 $mmcmd '"'"$name"'"' ':'  ;;
+      *\;* )  printErrorMsg 189 $mmcmd '"'"$name"'"' ';'  ;;
+      *\"* )  printErrorMsg 189 $mmcmd '"'"$name"'"' "\"" ;;
+      *\'* )  printErrorMsg 189 $mmcmd '"'"$name"'"' "'"  ;;
+      *\\* )  printErrorMsg 189 $mmcmd '"'"$name"'"' '\'  ;;
+      *\ * )  printErrorMsg 189 $mmcmd '"'"$name"'"' 'blank character' ;;
+      *\	* )  printErrorMsg 189 $mmcmd '"'"$name"'"' 'tab character' ;;
+    esac  # end of case $name in
+  fi  # end of if [[ $rc -ne 0 ]]
+
+  return $rc
+
+}  #----- end of function checkName ------------------------------
+
+
+#########################################################################
+#
+# Function:  Verify that the user-supplied input file exists and
+#            is not empty.  Rewrite the file to ensure there are
+#            no carriage-return characters and that it contains
+#            a newline character at the end of the file.
+#
+# Input:     $1 - name of the user-supplied input file
+#            $2 - name of the file to create
+#
+# Output:    None explicit.
+#
+# Returns:   0  - file is ok and successfully rewritten
+#            non-zero - file does not exist, empty or unexpected error
+#
+#########################################################################
+function checkUserFile  # <inputFilename> <newFile>
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckUserFile ]] && set -x
+  typeset inputFile=$1
+  typeset newFile=$2
+
+  typeset operands
+
+  # Verify input parameters.
+  if [[ $# -lt 2 ]]
+  then
+    operands="<inputFilename> <newFile>"
+    printErrorMsg 260 checkIntRange "$operands"
+    cleanupAndExit
+  fi
+
+  # Ensure the file exists and is not empty.
+  if [[ ! -r $inputFile ]]
+  then
+    # We cannot open the file.
+    printErrorMsg 43 $mmcmd $inputFile
+    return 1
+  fi
+  if [[ ! -s $inputFile ]]
+  then
+    # File is empty.
+    printErrorMsg 329 $mmcmd $inputFile
+    return 1
+  fi
+
+  # Remove any carriage-return chareacters.
+  # If the source and target file names are identical,
+  # create a local working copy first.
+  if [[ $inputFile = $newFile ]]
+  then
+    $cp $inputFile $tmpfile
+    checkForErrors "checkUserFile: cp $inputFile $tmpfile" $?
+    LC_ALL=C $tr -d "\r" < $tmpfile > $newFile
+    checkForErrors "checkUserFile: tr -d <$tmpfile >$newFile" $?
+    $rm -f $tmpfile
+  else
+    LC_ALL=C $tr -d "\r" < $inputFile > $newFile
+    checkForErrors "checkUserFile: tr -d <$inputFile >$newFile" $?
+  fi
+
+  # If necessary, add a newline character at the end of the file.
+  if [[ $(LC_ALL=C $tail -c 1 $newFile) != $(printf "\n") ]]
+  then
+    printf "\n" >> $newFile
+    checkForErrors "writing to file $newFile" $?
+  fi
+
+  return 0
+
+}  #----- end of function checkUserFile ------------------
+
+
+#############################################################################
+#
+# Function:  Determine what mode we are in (lc, single, ... ) and initialize
+#            some global variables (primaryServer, backupServer, ... ).
+#
+# Input:     none
+#
+# Output:    The MMMODE environment variable is set to reflect mode.
+#            The primaryServer and backupServer global variables are set.
+#            The remote shell and file copy commands are reset to the user
+#            specified path names.
+#
+# Returns:   0 in all cases
+#
+#############################################################################
+function determineMode
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGdetermineMode ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset versionLine=""
+  typeset mmmode rshPath rcpPath
+
+  if [[ -f $mmsdrfsFile ]]
+  then
+    # If the mmsdrfs file exists, parse the file's version line.
+    versionLine=$($head -1 $mmsdrfsFile)
+    IFS=':'
+    set -f ; set -- $versionLine ; set +f
+    IFS="$IFS_sv"
+
+    # Perform a quick sanity check.
+    [[ $2 != 00_VERSION_LINE ]] &&  \
+      corruptedSdrFileExit 127 "$versionLine"
+
+    # Retrieve the cluster type and other values.
+    mmmode=$8
+    primaryServer=$9
+    backupServer=${10}
+    rshPath=${12}
+    rcpPath=${13}
+    if [[ -n $rshPath && $rshPath != "_DEFAULT_" ]]
+    then
+      rsh="$rshPath"
+      export GPFS_rshPath="$rshPath"
+    fi
+    if [[ -n $rcpPath && $rcpPath != "_DEFAULT_" ]]
+    then
+      rcp="$rcpPath"
+      export GPFS_rcpPath="$rcpPath"
+    fi
+    environmentType=${15}
+    [[ -z $environmentType ]] && environmentType=$mmmode
+    [[ $mmmode != $environmentType && $environmentType != lc2 ]] && \
+      environmentType="rpd"
+
+  else
+    # Otherwise, we have no idea what to do.
+    mmmode=""
+    environmentType=""
+    # Unknown GPFS execution environment
+    printErrorMsg 338 $mmcmd $mmmode
+    cleanupAndExit
+
+  fi  #  end if [[ -f $mmsdrfsFile ]]
+
+  # Make the environment variables globally available.
+  export MMMODE=$mmmode
+  export environmentType=$environmentType
+
+  return 0
+
+}  #----- end of function determineMode --------------------------
+
+
+#############################################################################
+#
+# Function:  Determine the value of the specified mmfs.cfg parameter.
+#
+# Input:     $1 - mmfs.cfg parameter name.
+#            The rest of the parameters are optional.
+#            $2 - check daemon indicator.  If the value is "yes" or
+#                 "checkDaemon", the function will first make a tsctl
+#                 call to determine the value from the running daemon.
+#                 The default is not to check the daemon.
+#            $3 - short node name. Default is $ourShortName.
+#            $4 - mmfs.cfg file to use. Default is /var/mmfs/etc/mmfs.cfg.
+#
+# Output:    The value of the mmfs.cfg parameter or null.
+#
+# Returns:   0 - worked
+#            1 - unexpected error
+#
+# Examples:  autoload=$(showCfgValue autoload)
+#            pagepool=$(showCfgValue pagepool checkDaemon $shortName $mmfscfg)
+#
+#############################################################################
+function showCfgValue  # <parmName> [<checkDaemon> [<nodeName> [<cfgFile>]]]
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGshowCfgValue ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset parm=$1
+  typeset checkDaemon=$2
+  typeset node=$3
+  typeset cfgFile=$4
+
+  typeset parmValue rc
+
+  # Set default values.
+  [[ $checkDaemon != yes && $checkDaemon != checkDaemon ]] && checkDaemon=""
+  [[ -z $node ]] && node=$ourShortName
+  [[ -z $cfgFile ]] && cfgFile=$mmfscfgFile
+  [[ ! -f $cfgFile ]] && return 1
+
+  # If we need to determine the value of the parameter from the currently
+  # running GPFS daemon, use the tsctl showCfgValue command.  If this fails,
+  # for whatever reason, determine the value from the specified config file.
+  # Note that boolean type parameters have different representation in the
+  # daemon than in the mmfs.cfg file.  It is the callers responsibility to
+  # do the necessary translation.
+  if [[ -n $checkDaemon && $node = $ourShortName ]]
+  then
+    parmValue=$($tsctl showCfgValue $parm 2>/dev/null)
+    rc=$?
+    if [[ -n $parmValue && $rc -eq 0 ]]
+    then
+      print -- "$parmValue"
+      return 0
+    fi
+  fi  # end of if [[ -n $checkDaemon ]]
+
+  # Find the setting of the parameter from the specified config file.
+  parmValue=$($awk '                                     \
+    BEGIN { doNotIgnoreValue = 1 }                       \
+    # If this is the end of a node-override section,     \
+    # set the flag to accept parameter values.           \
+    $1 == "[common]" {                                   \
+      { doNotIgnoreValue = 1 }                           \
+      { next }                                           \
+    }                                                    \
+    # If this is the start of a node-override section,   \
+    # see if this section applies to our node.           \
+    # If yes, we will not ignore subsequent parameters.  \
+    # If not, subsequent parameters will be ignored.     \
+    /^\[.*]/ || /^[       ]*\[.*]/ {                     \
+      if ($1 == "['$node']" || $1 ~ /\['$node',/ ||      \
+          $1 ~  /,'$node']/ || $1 ~ /,'$node',/)  {      \
+        { doNotIgnoreValue = 1 }                         \
+      } else {                                           \
+        { doNotIgnoreValue = 0 }                         \
+      }                                                  \
+      { next }                                           \
+    }                                                    \
+    # If this line contains our parameter, save its      \
+    # value, provided it is applicable to our node.      \
+    $1 == "'$parm'" && doNotIgnoreValue {                \
+      { parmValue = $2 }                                 \
+    }                                                    \
+    END { print parmValue }                              \
+  ' $cfgFile)
+  checkForErrors awk $?
+
+  print -- "$parmValue"
+  return 0
+
+}  #----- end of function showCfgValue ---------------------------
+
+
+##############################################################################
+#
+# Function:  Given a device name or a mount point, this routine
+#            returns information about the file system.
+#
+# Input:     $1 - file system device name or mount point.
+#            $2 - name of mmsdrfs file
+#            $3 - (optional) keyword indicating whether device or
+#                 mount point is used.  The default is deviceName.
+#            $4 - (optional) suppress messages flag
+#
+# Output:    $1 - fully-qualified device name (/dev/...)
+#            $2 - short device name (no /dev/ prefix)
+#            $3 - cluster where the file system is defined
+#            $4 - name of the remote device (no /dev/ prefix)
+#            $5 - "odd state" flag indicating whether disks may be in
+#                   an odd state (this can happen when a disk command
+#                   did not complete normally); "yes" indicates there
+#                   may be disks in an odd state, "no" indicates no
+#            $6 - default mount point for the file system
+#            $7 - default options string for the mount command
+#
+# Returns:   0 - file system found
+#           19 - file system not found (ENODEV)
+#           nn - some other unexpected error
+#
+##############################################################################
+function findFS  # <device> <sdrfs> [{deviceName|mountPoint} [<suppressMsg>]]
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGfindFS ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset inputValue=$1
+  typeset sdrfs=$2
+  typeset inputType=$3
+  typeset suppressMsg=$4
+
+  typeset rc=0
+  typeset device deviceName fqDeviceName cluster result remoteDevice
+  typeset oddState defaultOptions defaultMountPoint
+
+  # Determine what type of search this is going to be:
+  # by device name or by mount point.
+  if [[ $inputType != mountPoint ]]
+  then
+    # Find the file system using its device name.
+    inputType=deviceName
+    device=$inputValue
+    deviceName=${device##+(/)dev+(/)}
+
+    # Verify the device name.
+    if [[ $deviceName = /* ]]
+    then
+      # Name starts with a slash, but not /dev/.
+      [[ -z $suppressMsg ]] && printErrorMsg 169 $mmcmd "$device"
+      return 1
+    elif [[ $deviceName = */* ]]
+    then
+      # Name contains a slash.
+      [[ -z $suppressMsg ]] && printErrorMsg 170 $mmcmd "$device"
+      return 1
+    else
+      : # The device name seems to be OK.
+    fi
+  else
+    # Find the file system using its mount point.
+    mountPoint=$inputValue
+
+    # Verify the mount point.
+    if [[ $mountPoint != /* ]]
+    then
+      # Mount point can not be a relative path name.
+      [[ -z $suppressMsg ]] && printErrorMsg 148 $mmcmd "$mountPoint"
+      return 1
+    fi
+  fi  # end of if [[ $inputType != mountpoint ]]
+
+  # Retrieve the needed information for the file system.
+  result=$($awk -F: '                                                         \
+    BEGIN {                                                                   \
+      # Assume the file system does not exist.                                \
+      { fsFound = 0 }                                                         \
+    }                                                                         \
+                                                                              \
+    $'$LINE_TYPE_Field' == "'$SG_HEADR'" {                                    \
+      # Starting a new file system.  Save some values in case                 \
+      # this turns out to be the fs that we are looking for.                  \
+      if ( $'$REMOTE_DEV_NAME_Field' != "" ) {                                \
+        { remoteDevName = $'$REMOTE_DEV_NAME_Field' }                         \
+      } else {                                                                \
+        { remoteDevName = $'$DEV_NAME_Field' }                                \
+      }                                                                       \
+      if ( $'$ODD_STATE_Field' == "" || $'$ODD_STATE_Field' == "no" ) {       \
+        { oddStateField = "no" }                                              \
+      } else {                                                                \
+        { oddStateField = "yes" }                                             \
+      }                                                                       \
+      { fsType        = $'$FS_TYPE_Field' }                                   \
+      { deviceName    = "" }                                                  \
+      { next }                                                                \
+    }                                                                         \
+                                                                              \
+    $'$LINE_TYPE_Field'   == "'$SG_ETCFS'"         &&                         \
+    $'$LINE_NUMBER_Field' == "'$MOUNT_POINT_Line'"  {                         \
+      # This line contains both the device name and the mount point.          \
+      # Match one of the two fields based on the type of search.              \
+      if ( search == "deviceName" && $'$DEV_NAME_Field'   == "'$deviceName'" ||   \
+           search == "mountPoint" && $'$ETCFS_TEXT_Field' == "'$mountPoint'" ) {  \
+        { homeCluster = $'$NODESETID_Field' }                                 \
+        { deviceName  = $'$DEV_NAME_Field' }                                  \
+        { mountPoint  = $'$ETCFS_TEXT_Field' }                                \
+        { fsFound     = 1 }                                                   \
+      }                                                                       \
+      { next }                                                                \
+    }                                                                         \
+                                                                              \
+    $'$LINE_TYPE_Field' == "'$SG_MOUNT'"  &&                                  \
+    $'$DEV_NAME_Field'  == deviceName      {                                  \
+      { options = $'$RW_OPT_Field' }                                          \
+      if ( $'$MTIME_OPT_Field' != "" ) {                                      \
+        { options = options ","$'$MTIME_OPT_Field' }                          \
+      }                                                                       \
+      if ( $'$ATIME_OPT_Field' != "" ) {                                      \
+        { options = options ","$'$ATIME_OPT_Field' }                          \
+      }                                                                       \
+      if ( $'$OTHER_OPT_Field' != "" ) {                                      \
+        { options = options ","$'$OTHER_OPT_Field' }                          \
+      }                                                                       \
+      if ( $'$QUOTA_OPT_Field' != "" ) {                                      \
+        { options = options ",quota="$'$QUOTA_OPT_Field' }                    \
+      }                                                                       \
+      if ( fsType == "'$remotefs'" ) {                                        \
+        { options = options ",dev="homeCluster":"remoteDevName }              \
+        { options = options ",ldev="deviceName }                              \
+      } else {                                                                \
+        { options = options ",dev="deviceName }                               \
+      }                                                                       \
+      { exit }                                                                \
+    }                                                                         \
+                                                                              \
+    END {                                                                     \
+      # If the file system was found, print the result.                       \
+      if ( fsFound ) {                                                        \
+        { print homeCluster   " "                                             \
+                deviceName    " "                                             \
+                remoteDevName " "                                             \
+                oddStateField " "                                             \
+                mountPoint    " "                                             \
+                options         }                                             \
+      }                                                                       \
+    }                                                                         \
+  ' search=$inputType $sdrfs)
+  checkForErrors awk $?
+
+  # If nothing was found, print "not found" message (if not suppressed)
+  # and return.
+  if [[ -z $result ]]
+  then
+    if [[ -z $suppressMsg ]]
+    then
+      if [[ $inputType = mountPoint ]]
+      then
+        # There is no file system with the specified mount point.
+        printErrorMsg 279 $mmcmd "$mountPoint"
+      else
+        # There is no file system with the specified device name.
+        printErrorMsg 288 $mmcmd "$device"
+      fi
+    fi
+    return $MM_FsNotFound
+  fi  # end of if [[ -z $result ]]
+
+  # If we are here, the file system exists;
+  # parse the results of the awk.
+  set -f ; set -- $result ; set +f
+  cluster=$1
+  deviceName=$2
+  remoteDevice=$3
+  oddState=$4
+  defaultMountPoint=$5
+  defaultOptions=$6
+
+  fqDeviceName="/dev/$deviceName"
+
+  # Output the data.
+  print -- $fqDeviceName $deviceName $cluster $remoteDevice \
+           $oddState $defaultMountPoint $defaultOptions
+  return 0
+
+}  #----- end of function findFS ---------------------------------
+
+
+############################################################################
+#
+# Function:  Determine which nodes have the specified file systems mounted.
+#
+# Input:     $1 - file system to check or:  all, all_local, or all_remote
+#            $2 - scope of mount checking (list of cluster names)
+#            $3 - show output for individual nodes: yes, no, unformatted
+#            $4 - (optional) assume cached data is current
+#
+# Output:    lists of nodes that have the specified file systems mounted
+#
+# Returns:   0 - command completed successfully
+#            non-zero - error encountered
+#
+############################################################################
+function lsmount   # <fsToShow> <scope> <showNodes> [norefresh]
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGlsmount ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset fsToShow="$1"
+  typeset scope="$2"
+  typeset showNodes="$3"
+  typeset -l refreshArg=$4
+
+  typeset rc=0
+  typeset oneCluster=false
+  typeset hdrlineStripClusterName=no
+  typeset nodelineStripClusterName=yes
+  typeset fsToCheck fqDeviceName localDevName deviceName
+  typeset fsList homeCluster headerMsg clusterName Coption
+  typeset hdrLine linePrefix localCluster
+  integer numNodes 
+
+  # If more than one file system is requested or the file system name
+  # is not fully-qualified, ensure the local environment is up-to-date
+  # and generate a list of the file systems.
+
+  # Process the file system parameter.
+  if [[ $fsToShow = all  ||  $fsToShow = all_local ||
+        $fsToShow = all_remote || $fsToShow != *:* ]]
+  then
+    # Either more than one file system is requested,
+    # or the file system name is not fully-qualified.
+
+    # Ensure the local environment is up-to-date.
+    if [[ $refreshArg != "norefresh" ]]
+    then
+      gpfsInitOutput=$(gpfsInit nolock)
+      setGlobalVar $? $gpfsInitOutput
+    fi
+
+    # Generate a list of the fully-qualified file system names.
+    fsList=$($awk -F: '                                  \
+      $'$LINE_TYPE_Field' == "'$SG_HEADR'" {             \
+        if ( $'$DEV_NAME_Field' == "'$fsToShow'" ) {     \
+          # This is the file system that we want.        \
+          # See if the fs is local or remote.            \
+          if ( $'$FS_TYPE_Field' == "'$remotefs'" ) {    \
+            { printf $'$NODESETID_Field' ":"             \
+                     $'$REMOTE_DEV_NAME_Field' ":"       \
+                     $'$DEV_NAME_Field' }                \
+          } else {                                       \
+            { printf ":" $'$DEV_NAME_Field' ":" }        \
+          }                                              \
+          # Nothing else to do.                          \
+          { exit  0 }                                    \
+        } else if ( "'$fsToShow'" == "all" ) {           \
+          # We want all file systems, local and remote.  \
+          if ( $'$FS_TYPE_Field' == "'$remotefs'" ) {    \
+            { printf $'$NODESETID_Field' ":"             \
+                     $'$REMOTE_DEV_NAME_Field' ":"       \
+                     $'$DEV_NAME_Field' "," }            \
+          } else {                                       \
+            { printf ":" $'$DEV_NAME_Field' ":," }       \
+          }                                              \
+                                                         \
+        } else if ( "'$fsToShow'" == "all_local" ) {     \
+          # We want all local file systems.              \
+          if ( $'$FS_TYPE_Field' == "'$remotefs'" ) {    \
+            { next }                                     \
+          } else {                                       \
+            { printf ":" $'$DEV_NAME_Field' ":," }       \
+          }                                              \
+                                                         \
+        } else if ( "'$fsToShow'" == "all_remote" ) {    \
+          # We want all remote file systems.             \
+          if ( $'$FS_TYPE_Field' == "'$remotefs'" ) {    \
+            { printf $'$NODESETID_Field' ":"             \
+                     $'$REMOTE_DEV_NAME_Field' ":"       \
+                     $'$DEV_NAME_Field' "," }            \
+          } else {                                       \
+            { next }                                     \
+          }                                              \
+        } else {                                         \
+          { next }                                       \
+        }                                                \
+      }                                                  \
+      END { printf "\n" }                                \
+    ' $mmsdrfsFile)
+    checkForErrors awk $?
+
+    # Strip trailing commas, if any.
+    fsList=${fsList%%,}
+
+  else
+    # Only one file system was specified using its fully-qualified name.
+    fsList=$fsToShow
+  fi  # end of if [[ $fsToShow = all || $fsToShow = all_local ...
+
+  # Return if no file systems were found.
+  if [[ -z $fsList ]]
+  then
+    if [[ $fsToShow = all || $fsToShow = all_local ]]
+    then
+      # No file systems were found in the cluster.
+      printErrorMsg 200 $mmcmd
+    elif [[ $fsToShow = all_remote ]]
+    then
+      # There are no remote file systems.
+      printErrorMsg 193 $mmcmd
+    else
+      # The specified file system was not found.
+      printErrorMsg 288 $mmcmd "$fsToShow"
+    fi  # end of if [[ $fsToShow = all || $fsToShow = all_local ]]
+
+    # Give up.
+    return $MM_FsNotFound
+  fi # #end of if [[ -z $fsList ]]
+
+  # If the user did not specify the -C parameter on mmlsmount,
+  # see if this cluster has knowledge of other clusters or if it
+  # has granted access to its file systems to remote clusters.
+  # If neither is true, suppress the cluster name in the output.
+  if [[ $scope = NULL ]]
+  then
+    oneCluster=$($awk -F: '                               \
+      $'$LINE_TYPE_Field' == "'$AUTHORIZED_CLUSTER'" ||   \
+      $'$LINE_TYPE_Field' == "'$REM_CLUSTER'"         {   \
+        { print "false" }                                 \
+        { exit }                                          \
+      }                                                   \
+      END { print "true" }                                \
+    ' $mmsdrfsFile)
+    checkForErrors awk $?
+  fi  # end of if [[ $scope = NULL ]]
+
+  if [[ $showNodes = unformatted ]]
+  then
+    # Generate and print the header line.
+    hdrLine="mmlsmount::HEADER:version:reserved:reserved"
+    hdrLine="${hdrLine}:localDevName:realDevName:owningCluster"
+    hdrLine="${hdrLine}:totalNodes:nodeIP:nodeName:clusterName"
+    print -- "${hdrLine}:"
+
+    # Generate the prefix for the data lines.
+    linePrefix="mmlsmount::0:1::"
+
+    # Find our cluster name (needed for the unformatted output).
+    localCluster=$($head -1 $mmsdrfsFile | $GETVALUE $CLUSTER_NAME_Field)
+  fi  # end of if [[ $showNodes = yes ]]
+
+  # Process the list of file systems.
+  IFS=','
+  for fsToCheck in $fsList
+  do
+    # Parse the information for the file system to be checked.
+    IFS=':'
+    set -f ; set -- $fsToCheck ; set +f
+    homeCluster=$1
+    deviceName=$2
+    localDevName=$3
+
+    if [[ -z $homeCluster || $homeCluster = $HOME_CLUSTER ]]
+    then
+      fqDeviceName="$deviceName"
+    else
+      fqDeviceName="${homeCluster}:${deviceName}"
+    fi
+
+    # Process the mount check scope parameter.
+    IFS=','
+    for clusterName in $scope
+    do
+      IFS="$IFS_sv"
+
+      # Determine the value for the -C option on tsstatus.
+      if [[ $clusterName = all || $clusterName = NULL || $clusterName = $CHECK_ALL ]]
+      then
+        Coption=""
+      else
+        [[ $clusterName = "."  || $clusterName = all_local ]] &&  \
+          clusterName=$($head -1 $mmsdrfsFile | $GETVALUE $CLUSTER_NAME_Field)
+        Coption="-C $clusterName"
+      fi
+
+      # Determine whether to strip the cluster name from the header line
+      # or from the node lines for each of the possible scenarios.
+      # The normal case is to have the cluster name on the header line
+      # and not on the node lines, but the behavior is different if the
+      # -C was not specified or if a value of all or all_remote was given.
+      # If -C was not specified and there is only one cluster, we will not
+      # output cluster names.  If all or all_remote was specified for -C,
+      # we will not output cluster names on the header line, but we will
+      # show cluster names on the node lines.
+      if [[ $clusterName = NULL && $oneCluster = true ]]
+      then
+        hdrlineStripClusterName=yes
+        nodelineStripClusterName=yes
+      elif [[ $clusterName = NULL       ||
+              $clusterName = all        ||
+              $clusterName = all_remote ]]
+      then
+        hdrlineStripClusterName=yes
+        nodelineStripClusterName=no
+      else
+        hdrlineStripClusterName=no
+        nodelineStripClusterName=yes
+      fi
+
+      # Determine whether anybody has the file system mounted.
+      LC_ALL=C $tsstatus -m $fqDeviceName $Coption >$tmpfile 2>$errMsg
+      rc=$(remapRC $?)
+      if [[ $rc -eq 0 ]]
+      then
+        # The file system is mounted on at least one of the nodes that
+        # we care about.  The list of node names is returned by tsstatus.
+        #
+        #   Note that the tsstatus output comes from the stripe group
+        #   manager node which always resides in the cluster that owns
+        #   the file system.  In the case of remote file systems, the
+        #   manager node has no knowledge about the local name for the
+        #   file system.  Therefore, we have to intercept the tsstatus
+        #   output and replace the header line with one that is more
+        #   meaningful for the local cluster.  To keep the code simple,
+        #   we do this for both local and remote file systems.
+        #
+        if [[ -s $tmpfile ]]
+        then
+          # Determine the number of nodes that have the file system mounted.
+          # We subtract 2 because tsstatus produces a blank line and a header.
+          numNodes=$($awk 'END { print NR - 2 }' $tmpfile)
+
+          # Generate the output for this file system.
+          if [[ $showNodes = yes ]]
+          then
+            # We come here if a list of the nodes should be shown.
+            # Construct a message to be used in place of the first line
+            # in the tsstatus output.  If checking a remote file system,
+            # the local device name can be passed as a command argument.
+            if [[ $hdrlineStripClusterName = yes ]]
+            then
+              if [[ -n $localDevName ]]
+              then
+                headerMsg=$(printInfoMsg 521  \
+                  "$localDevName" "($fqDeviceName)" "$numNodes")
+              else
+                headerMsg=$(printInfoMsg 522 "$fqDeviceName" "$numNodes")
+              fi
+            else
+              if [[ -n $localDevName ]]
+              then
+                headerMsg=$(printInfoMsg 477  \
+                  "$localDevName" "($fqDeviceName)" "$numNodes" "$clusterName")
+              else
+                headerMsg=$(printInfoMsg 478  \
+                  "$fqDeviceName" "$numNodes" "$clusterName")
+              fi
+            fi
+
+            # Filter the result from the tsstatus command and replace
+            # the header line with our own version.
+            $awk '                                                          \
+              /File system/ && /is managed by node/ && /and mounted on:/ {  \
+                { print "'"$headerMsg"'" }                                  \
+                { next }                                                    \
+              }                                                             \
+              { if (stripClusterName == "yes") {                            \
+                  { printf ("  %-15s %s \n", $1, $2) }                      \
+                } else {                                                    \
+                  { print $0 }                                              \
+                }                                                           \
+              }                                                             \
+            ' stripClusterName="$nodelineStripClusterName" $tmpfile
+
+          elif [[ $showNodes = unformatted ]]
+          then
+            # We come here if the information should be presented in
+            # colon separated fields (mmlsmount -Y).
+            [[ -z $localDevName ]] && localDevName="$deviceName"
+            [[ -z $homeCluster  ]] && homeCluster="$localCluster"
+            $awk '                                                           \
+              NR > 2 { print "'$linePrefix':'$localDevName':'$deviceName':"  \
+                             "'$homeCluster':'$numNodes':"$1":"$2":"$3":" }  \
+            ' $tmpfile
+
+          else
+            # We come here if a list of the nodes is not desired.
+            # Construct the summary message to be used in place of
+            # the tsstatus output.  If checking a remote file system,
+            # the local device name can be passed as a command argument.
+            if [[ $hdrlineStripClusterName = yes ]]
+            then
+              if [[ -n $localDevName ]]
+              then
+                printInfoMsg 553 "$localDevName" "($fqDeviceName)" "$numNodes"
+              else
+                printInfoMsg 554 "$fqDeviceName" "$numNodes"
+              fi
+            else
+              if [[ -n $localDevName ]]
+              then
+                printInfoMsg 479  \
+                  "$localDevName" "($fqDeviceName)" "$numNodes" "$clusterName"
+              else
+                printInfoMsg 480 "$fqDeviceName" "$numNodes" "$clusterName"
+              fi
+            fi
+          fi
+        else
+          # tstatus -m returned no data.  This should not be the case here.
+          # Show error output, if any, and return.
+          [[ -s $errMsg ]] && $cat $errMsg 1>&2
+          $rm -f $errMsg
+
+          # Unexpected error.
+          printErrorMsg 171 $mmcmd "function lsmount - no tsstatus output" 1
+          return 1
+        fi  # end of if [[ -s $tmpfile ]]
+
+      elif [[ $rc -eq 2 ]]
+      then
+        # The file system is not mounted on any of the nodes that
+        # we are interested in.  That's OK, just put out a message.
+        rc=0
+        if [[ $showNodes = unformatted ]]
+        then
+          # We come here if the information should be presented in
+          # colon separated fields (mmlsmount -Y).
+          [[ -z $localDevName ]] && localDevName="$deviceName"
+          [[ -z $homeCluster  ]] && homeCluster="$localCluster"
+          print -- "${linePrefix}:${localDevName}:${deviceName}:${homeCluster}:0::::"
+        elif [[ -n $localDevName ]]
+        then
+          if [[ -z $Coption ]]
+          then
+            # The file system is not mounted.
+            printInfoMsg 541 "$localDevName" "($fqDeviceName)"
+          else
+            if [[ $clusterName = all_remote ]]
+            then
+              # The file system is not mounted in any remote cluster.
+              printInfoMsg 542 "$localDevName" "($fqDeviceName)"
+            else
+              # The file system is not mounted in the specified cluster.
+              printInfoMsg 543 "$localDevName" "($fqDeviceName)" "$clusterName"
+            fi
+          fi
+        else
+          if [[ -z $Coption ]]
+          then
+            # The file system is not mounted.
+            printInfoMsg 544 "$fqDeviceName"
+          else
+            if [[ $clusterName = all_remote ]]
+            then
+              # The file system is not mounted in any remote cluster.
+              printInfoMsg 545 "$fqDeviceName"
+            else
+              # The file system is not mounted in the specified cluster.
+              printInfoMsg 546 "$fqDeviceName" "$clusterName"
+            fi
+          fi
+        fi  # end of if [[ -n $localDevName ]]
+
+      elif [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+      then
+        # Unexpected error.  Show error output, if any, and continue looping.
+        if [[ -s $errMsg ]]
+        then
+          $cat $errMsg 1>&2
+        else
+          [[ $rc -ne 0 ]] &&  \
+            printErrorMsg 113 "$mmcmd" "tsstatus -m $fqDeviceName $Coption" $rc
+        fi
+        $rm -f $errMsg
+        # Command was unable to determine whether the file system is mounted.
+        if [[ -n $localDevName ]]
+        then
+	  printErrorMsg 564 $mmcmd "$localDevName"
+	else
+	  printErrorMsg 564 $mmcmd "$fqDeviceName"
+	fi
+
+      else
+        # GPFS is not ready on this node (rc is MM_DaemonDown or MM_QuorumWait).
+        # Return quietly.
+        $rm -f $errMsg
+        return $rc
+      fi  # end of if [[ $rc -eq 0 ]]
+
+      # We were able to successfully determine whether the file
+      # system is mounted on any node in the current cluster.
+      # Move to the next cluster in the list.
+      $rm -f $errMsg
+      IFS=','
+    done  # end of for clusterName in $scope
+
+    # Move to the next file system.
+    IFS=','
+  done  # end of for fsTocheck in $fsList
+  IFS="$IFS_sv"
+
+
+  # Return to the caller.
+  return $rc
+
+}  #----- end of function lsmount --------------------------------
+
+
+#############################################################################
+#
+# Function:  Determine if a remote node can be reached.
+#
+# Input:     $1 - node name (may be null)
+#            Note:  Do not add more input parameters.
+#                   This function can be called w/o input.
+#
+# Output:    None
+#
+# Returns:   0 - node can be reached
+#            1 - node can not be reached
+#
+#############################################################################
+function isNodeReachable  # <nodeName>
+{
+  typeset sourceFile="mmglobfuncs.sh"
+  [[ -n $DEBUG || -n $DEBUGisNodeReachable ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodeName=$1
+
+  typeset maxPingCount=3
+  typeset -i pingTimeout=4
+  typeset -i pingCount=0
+  typeset pingRc=1
+
+  while [[ $pingRc -ne 0 && $pingCount -lt $maxPingCount ]]
+  do
+    (( pingCount += 1 ))
+    (( pingTimeout += 1 ))
+    $ping -w $pingTimeout -c 1 $nodeName >/dev/null 2>/dev/null
+    pingRc=$?
+#   [[ $pingRc -ne 0 ]] && \
+#     print -u2 "$mmcmd: ping $nodeName failed ($pingCount); pingRc=$pingRc"
+  done
+
+  return $pingRc
+
+}  #----- end of function isNodeReachable ------------------------
+
+
+####################################################################
+#
+# Function:  Exec the specified command with the given argv[0]
+#
+# Input:     $1 - command path
+#            $2 - argv[0]
+#            $3, $4, ... - arguments to pass to the command
+#
+# Output:    depends on the executed command
+#
+# Returns:   No return if the exec call succeded.
+#
+####################################################################
+function mmexecl  # <cmdpath> <argv0> [ <arg> ... ]
+{
+  # First, we attempt to execute the given command with naked exec,
+  # without involving the shell.  A successful exec never returns.
+  # If it does return, it means it failed, in which case we attempt
+  # to execute the program again, this time using sh, to produce an
+  # error message and an appropriate return code.
+  $perl -e "{\
+    \$arg0=\$ARGV[0]; \
+    shift; \
+    exec \$arg0 @ARGV; \
+    exec \"sh -c \$arg0\"; \
+  }" "$@"
+
+  return $?
+
+}  #----- end of function mmexecl --------------------------------
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmglobfuncs.Linux
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmglobfuncs.Linux	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmglobfuncs.Linux	(revision 16)
@@ -0,0 +1,449 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)14 1.44.1.1 src/avs/fs/mmfs/ts/admin/mmglobfuncs.Linux.sh, mmfs, avs_rgpfs24, rgpfs24s007a 9/20/06 11:22:24
+#############################################################
+#
+#  This file contains declarations and functions that are
+#  unique to the Linux operating system environment.
+#
+#############################################################
+
+sourceFile="mmglobfuncs.Linux.sh"
+[[ -n $DEBUGmmglobfuncsLinux ]] && set -x
+
+#-----------------------------------------------------------
+# Constants and global variables for internal mm command use.
+#-----------------------------------------------------------
+fsDeviceType='b'
+defaultMajorNumber=239
+minMinorNumber=100
+maxMinorNumber=255
+currentMajorNumber=$defaultMajorNumber
+neededMajorNumber=$defaultMajorNumber
+
+# Find out if this is 2.4 or earlier version.
+[[ $(/bin/uname -r) = 2.[0-4].* ]] && version24=yes || version24=""
+
+
+#-----------------------------------------------------------
+# Return codes and constants for internal mm command use.
+#-----------------------------------------------------------
+MM_Remotefs2=66         # remote file system (EREMOTE)
+MM_UnknownCluster2=101  # unknown cluster (ENETUNREACH)
+MM_ConnAborted=103      # connection aborted (ECONNABORTED)
+MM_ConnectionReset2=104 # connection reset (ECONNRESET)
+MM_TimedOut2=110        # connection timed out (ETIMEDOUT)
+MM_HostDown2=112        # host is down (EHOSTDOWN)
+MM_DaemonDown2=127      # daemon not running (second value)
+
+
+#-----------------------------------------------------------
+# Full path names for Linux system commands
+#-----------------------------------------------------------
+automount=/usr/sbin/automount
+awk=/bin/awk
+cat=/bin/cat
+chmod=/bin/chmod
+chown=/bin/chown
+cp=/bin/cp
+cut=cut          # /bin/cut or /usr/bin/cut depending on the RH release
+date=/bin/date
+dd=/bin/dd
+df=/bin/df
+diff=/usr/bin/diff
+egrep=/bin/egrep
+find=/usr/bin/find
+fgrep=/bin/fgrep
+grep=/bin/grep
+head=/usr/bin/head
+# host=/usr/bin/host
+host="host_aixformat"  # internal function to convert the host output
+hostname=/bin/hostname
+id=/usr/bin/id
+ifconfig=/sbin/ifconfig
+insmod=/sbin/insmod
+join=/usr/bin/join
+kill=/bin/kill
+locale=/usr/bin/locale
+ln=/bin/ln
+ls=/bin/ls
+lsmod=/sbin/lsmod
+lssrc=/usr/bin/lssrc
+mkdir=/bin/mkdir
+mknod=/bin/mknod
+mount=/bin/mount
+mv=/bin/mv
+nm=/usr/bin/nm
+openssl=/usr/bin/openssl
+perl=/usr/bin/perl
+ping=/bin/ping
+ps=/bin/ps
+rcp=/usr/bin/rcp
+rm=/bin/rm
+rmdir=/bin/rmdir
+rmmod=/sbin/rmmod
+rpm=/bin/rpm
+rsh=/usr/bin/rsh
+sed=/bin/sed
+sleep=/bin/sleep
+sort=/bin/sort
+srcmstr=/sbin/srcmstr
+startsrc=/usr/bin/startsrc
+stopsrc=/usr/bin/stopsrc
+sum=/usr/bin/sum
+sync=/bin/sync
+tail=/usr/bin/tail
+tee=/usr/bin/tee
+touch=/bin/touch
+tr=/usr/bin/tr
+umount=/bin/umount
+uname=/bin/uname
+unmount=/bin/umount   # synonym for umount
+wc=/usr/bin/wc
+
+
+#-----------------------------------------------------------
+# Well-known file names
+#-----------------------------------------------------------
+etcFilesystems="/etc/fstab"    # Filesystem stanzas used by the mount command
+etcHosts="/etc/hosts"          # Local host name resolution file
+etcHostConf="/etc/host.conf"   # Resolver configuration file
+auto_master="/etc/auto_master" # master input for the automount daemon
+autoMaster="/etc/auto.master"  # master input for the automount daemon
+
+
+#-------------------------------
+# Commands with common options
+#-------------------------------
+
+# Command to extract a specific field from a line.
+#   Example: print -- $line | $GETVALUE $NODE_NAME_Field
+GETVALUE="$cut -d: -f "
+
+# Command to sort the mmsdrfs file prior to storing it.
+#   Example: LC_ALL=C $SORT_MMSDRFS $sdrfs -o $sdrfs
+# The sorting is based on the following keys:
+# - the primary key is the nodeset id
+# - the secondary key is the stripe group id
+# - the next key is the line type
+# - the last key is the line number
+# The sorting is based on the ASCII collating sequence,
+# except for the fourth field, which is sorted in
+# arithmetic order.
+SORT_MMSDRFS="$sort -t: -k 1,1 -k 3,3 -k 2,2 -k 4,4n "
+
+
+#-------------------------------
+# Frequently used functions
+#-------------------------------
+
+
+####################################################################
+#
+# Function:  In the Linux environment, function host_aixformat
+#            looks up a name using both /etc/hosts and the Linux
+#            host command.  This function determines the order
+#            in which the name is resolved.
+#
+# Input:     None.
+#
+# Output:    "hosts" - check first the /etc/hosts file.
+#            "bind"  - start with the host command.
+#
+# Returns:   Always zero.
+#
+####################################################################
+function setHostResolveOrder
+{
+  typeset sourceFile="mmglobfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGsetHostResolveOrder ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset order
+
+  # Find out the host lookup order.  Our rules are:
+  # If 'hosts' is specified first on the order line in /etc/host.conf,
+  # search for the name in /etc/hosts before issuing the host command.
+  # Otherwise, start with the host command.
+  if [[ -f $etcHostConf ]]
+  then
+    order=$($awk '                                        \
+      BEGIN { order = "bind" }                            \
+      $1 == "order" && $2 ~ /^hosts/ { order = "hosts" }  \
+      END { print order }                                 \
+    ' $etcHostConf 2>/dev/null)
+  else
+    order=bind
+  fi
+
+  print $order
+  return 0
+
+}  #-------------- end of function setHostResolveOrder ------------------
+
+
+####################################################################
+#
+# Function:  Issues the Linux host command and converts the output
+#            to make it look as if it came from an AIX host command.
+#            If the host command does not resolve the name, try
+#            looking up the name in the local /etc/hosts file.
+#
+# Input:     $1 - hostname or IP address
+#
+# Output:    A line similar to the following:
+#               esj.austin.ibm.com is 9.53.145.122
+#
+# Returns:   0 - hostname resolved
+#            non-zero - name not resolved
+#
+####################################################################
+function host_aixformat  # <hostname|ipa>
+{
+  typeset sourceFile="mmglobfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGhost_aixformat ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset inValue=$1
+
+  typeset nameResolved=no
+  typeset etcHostsChecked=no
+  typeset hostOutput=${tmpDir}hostOutput.${mmcmd}.$$
+  typeset hostErrMsg=${tmpDir}hostErrMsg.${mmcmd}.$$
+  typeset rc awkRc hostResult
+
+  [[ -z $inValue ]] && return 1
+
+  # If still not known, determine the lookup order.
+  [[ -z $resolveOrder ]] && \
+    resolveOrder=$(setHostResolveOrder)
+
+  # If it is OK to do so, see if the host name appears in /etc/hosts.
+  if [[ $resolveOrder = hosts && -f $etcHosts ]]
+  then
+    $awk '                                           \
+       BEGIN { entriesFound = 0 }                    \
+       # Skip comment, empty and short lines.        \
+       $1 ~ /^#/ || NF <= 1  { next }                \
+       # Compare the inValue to each of the fields.  \
+       { for ( i = 1;  i <= NF; i++ ) {              \
+           if ( $i == "'$inValue'" ) {               \
+             { print $2 " is " $1 }                  \
+             { entriesFound += 1 }                   \
+             { next }                                \
+           }                                         \
+           # Ignore in-line comments.                \
+           if ( $i ~ /^#/ ) {                        \
+             { break }                               \
+           }                                         \
+         }                                           \
+         { next }                                    \
+       }                                             \
+       END {                                         \
+         if ( entriesFound == 1 ) { exit 0 }         \
+         if ( entriesFound == 0 ) { exit 1 }         \
+         { exit 2 }                                  \
+       }                                             \
+    ' $etcHosts
+    awkRc=$?
+
+    if [[ $awkRc -eq 0 ]]
+    then
+      # Name successfully resolved using /etc/hosts.
+      nameResolved=yes
+      rc=0
+    elif [[ $awkRc -eq 2 ]]
+    then
+      # There is more than one matching entry in /etc/hosts.
+      # Give up - multiple names are not allowed.
+      printErrorMsg 498 $mmcmd "$inValue ($etcHosts)"
+      return 1
+    else
+      # Name not found in /etc/hosts but keep going.
+      etcHostsChecked=yes
+      rc=1
+    fi  # end of if [[ $awkRc -eq 0 ]]
+  fi  # end of if [[ $resolveOrder = hosts ]]
+
+
+  # If the name is not resolved yet (because it is not in /etc/hosts
+  # or because we have to start with the host command), try to resolve
+  # the name using the Linux host command.
+  if [[ $nameResolved = no ]]
+  then
+    # The output of the host command, and as a result the way we parse it,
+    # depends on whether the input parameter is a hostname or an IP address.
+    if [[ $inValue = +([0-9]).+([0-9]).+([0-9]).+([0-9])?(.) ]]
+    then
+      # We start with an IP address.  The host command output looks like this:
+      #   122.145.53.9.IN-ADDR.ARPA domain name pointer esj.austin.ibm.com
+      hostResult=$(LC_ALL=C /usr/bin/host -t a $inValue 2>$hostErrMsg)
+      rc=$?
+      if [[ $rc -eq 0 ]]
+      then
+        set -f ; set -- $hostResult ; set +f
+        if [[ -z $5 || -n $6 || $3 = not && $4 = found* ]]
+        then
+          # Something is wrong.  Collect error information to be later
+          # displayed to the user if the name cannot be resolved.
+          # Note: Linux sends the 'not found' message to stdout and returns 0.
+          #       This forces us to do the funny test for $3 and $4 above.
+
+          # Unexpected output from the host command.
+          printErrorMsg 499 $mmcmd $inValue 2> $hostErrMsg
+          /usr/bin/host -t a $inValue >>$hostErrMsg 2>&1
+          rc=1
+        else
+          # Things seem to have worked.
+          print -- "${5%.} is $inValue"
+          nameResolved=yes
+        fi
+      fi
+
+    else
+      # We start with a hostname.  The host command output looks like this:
+      #   esj.austin.ibm.com has address 9.53.145.122
+      # It is possible to have nickname line and more than one address line.
+      LC_ALL=C /usr/bin/host -t a $inValue >$hostOutput 2>$hostErrMsg
+      rc=$?
+      if [[ $rc -eq 0 ]]
+      then
+        # Strip any nickname lines and eliminate duplicates
+        hostResult=$($cat $hostOutput | $grep ' has address ' | $sort -u)
+        set -f ; set -- $hostResult ; set +f
+        if [[ -z $4 || -n $5 || $3 = not && $4 = found* ]]
+        then
+          # Something is wrong.  Collect error information to be later
+          # displayed to the user if the name cannot be resolved.
+          # Note: Linux sends the 'not found' message to stdout and returns 0.
+          #       This forces us to do the funny test for $3 and $4 above.
+
+          # Unexpected output from the host command.
+          printErrorMsg 499 $mmcmd $inValue 2> $hostErrMsg
+          /usr/bin/host -t a $inValue >>$hostErrMsg 2>&1
+
+          # Cannot handle multiple interfaces for host $inValue
+          [[ -n $5 ]] && printErrorMsg 498 $mmcmd "$inValue"
+          rc=1
+        else
+          # Things seem to have worked.
+          print -- "${1%.} is $4"
+          nameResolved=yes
+        fi
+      fi
+    fi  # end of if [[ $inValue = +([0-9]).+([0-9]).+([0-9]).+([0-9]) ]]
+  fi  # end of if [[ $nameResolved = no ]]
+
+
+  # If the name is still not resolved, and we haven't tried it yet,
+  # try resolving the name by looking up /etc/hosts.
+  if [[ $nameResolved = no ]]
+  then
+    if [[ $etcHostsChecked = no ]]
+    then
+      $awk '                                           \
+         BEGIN { entriesFound = 0 }                    \
+         # Skip comment, empty and short lines.        \
+         $1 ~ /^#/ || NF <= 1  { next }                \
+         # Compare the inValue to each of the fields.  \
+         { for ( i = 1;  i <= NF; i++ ) {              \
+             if ( $i == "'$inValue'" ) {               \
+               { print $2 " is " $1 }                  \
+               { entriesFound += 1 }                   \
+               { next }                                \
+             }                                         \
+             # Ignore in-line comments.                \
+             if ( $i ~ /^#/ ) {                        \
+               { break }                               \
+             }                                         \
+           }                                           \
+           { next }                                    \
+         }                                             \
+         END {                                         \
+           if ( entriesFound == 1 ) { exit 0 }         \
+           if ( entriesFound == 0 ) { exit 1 }         \
+           { exit 2 }                                  \
+         }                                             \
+      ' $etcHosts
+      awkRc=$?
+    fi  # end of if [[ $etcHostsChecked = no ]]
+
+    if [[ $awkRc -eq 0 ]]
+    then
+      # Name successfully resolved using /etc/hosts.
+      rc=0
+    elif [[ $awkRc -eq 2 ]]
+    then
+      # There is more than one matching entry in /etc/hosts.
+      printErrorMsg 498 $mmcmd "$inValue ($etcHosts)"
+    elif [[ -s $hostErrMsg ]]
+    then
+      # Name not found in /etc/hosts. Show the error information
+      # from the Linux host command above.
+      $cat $hostErrMsg 1>&2
+    else
+      # Name not found in /etc/hosts and there is no other error information.
+      printErrorMsg 500 $mmcmd $inValue
+    fi  # end of if [[ $awkRc -eq 0 ]]
+  fi  # end of if [[ $nameResolved = no ]]
+
+  $rm -f $hostOutput $hostErrMsg
+  return $rc
+
+}  #-------------- end of function host_aixformat ------------------
+
+
+##################################################################
+#
+# Function:  Remap ts return codes to OS-independent values.
+#
+# Input:     $1 - the return code to be mapped.
+#
+# Output:    the remapped input return code
+#
+# Returns:   always zero
+#
+# Example:
+#   tstatus -m fsname
+#   rc=$(remapRC $?)
+#
+##################################################################
+function remapRC  # <returnCode>
+{
+  typeset sourceFile="mmglobfuncs.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGremapRC ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset rcIn=$1
+  typeset rcOut
+
+  case $rcIn in
+
+    $MM_DaemonDown2      )  rcOut=$MM_DaemonDown ;;
+    $MM_HostDown2        )  rcOut=$MM_HostDown ;;
+    $MM_TimedOut2        )  rcOut=$MM_TimedOut ;;
+    $MM_Remotefs2        )  rcOut=$MM_Remotefs ;;
+    $MM_UnknownCluster2  )  rcOut=$MM_UnknownCluster ;;
+    $MM_ConnectionReset2 )  rcOut=$MM_ConnectionReset ;;
+    $MM_ConnAborted      )  rcOut=$MM_DaemonDown ;;
+
+    *                    )  rcOut=$rcIn ;;
+
+  esac  # end of case $rcIn in
+
+  # Return the new value.
+  print -- "$rcOut"
+  return 0
+
+}  #------- end of function remapRC --------------------
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmimportfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmimportfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmimportfs	(revision 16)
@@ -0,0 +1,1666 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2003,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)37 1.45.1.2 src/avs/fs/mmfs/ts/admin/mmimportfs.sh, mmfs, avs_rgpfs24, rgpfs24s002a 4/21/06 14:48:31
+##############################################################################
+#
+# Usage:
+#   mmimportfs {Device|all} -i ImportfsFile [-S ChangeSpecFile] [-R]
+#
+# where
+#   Device        is the file system to be imported.
+#                 If Device is "all", then all file systems in
+#                 the input file are imported.  Free disks, if any,
+#                 are imported as well.
+#                 Note:  To request a file system with the name "all",
+#                        specify "/dev/all" to distinguish from the
+#                        keyword "all" (import all file systems).
+#
+#   -i ImportfsFile   is the name of a file with the file system
+#                     information.  It must be created by mmexportfs.
+#
+#   -S ChangeSpecFile  a file containing a detailed description of changes
+#                 to be made to the file systems during the import step.
+#
+# Undocumented option:
+#
+#   -R            remove the specified file system from the mmsdrfs file
+#                 and replace it with the data from the import file.
+#                 If 'all' is specified, all file system and free disk
+#                 information that may currently exist is removed from
+#                 the mmsdrfs file and is replaced with the data from
+#                 the import file.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmimportfs.sh"
+[[ -n $DEBUG || -n $DEBUGmmimportfs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+existingDisks=${tmpDir}existingDisks.${mmcmd}.$$
+recoveryFiles=${tmpDir}recoveryFiles.${mmcmd}.$$
+importedFreeDisks=${tmpDir}importedFreeDisks.${mmcmd}.$$
+resetFreeDisks=${tmpDir}resetFreeDisks.${mmcmd}.$$
+disksToUnfence=${tmpDir}disksToUnfence.${mmcmd}.$$
+aixNodes=${tmpDir}aixNodes.${mmcmd}.$$
+
+# The following declarations are the prefixes for the file names
+# that will contain information relevant to a specific file system.
+# The actual file names consist of the prefix followed by a device name.
+importFile=${tmpDir}importFile.${mmcmd}.$$
+resetNSDs=${tmpDir}resetNSDs.${mmcmd}.$$
+resetLVs=${tmpDir}resetLVs.${mmcmd}.$$
+
+LOCAL_FILES=" $existingDisks $recoveryFiles $importedFreeDisks $resetFreeDisks \
+              $aixNodes $disksToUnfence $importFile.* $resetNSDs.* $resetLVs.* "
+
+# Local variable declarations
+usageMsg=571
+iflag=""
+Cflag=""
+Sflag=""
+
+existingMountPoints=""
+maxDiskNumber=0
+
+# Local functions:
+
+
+##############################################################################
+#
+# Function:  Given the source and target cluster types, determine whether
+#            the present version of mmimportfs can import the file system.
+#
+#            Note:  Not all possible cluster type combinations are supported.
+#                   In some cases, simplifying assumptions are made.
+#
+# Input:     $1 - source cluster type
+#            $2 - target cluster type
+#
+# Output:    None
+#
+# Returns:   0 - the two cluster types are compatible.
+#            1 - the two cluster types are not compatible.
+#
+##############################################################################
+function checkClusterCompatibility  # <source> <target>
+{
+  sourceFile="mmimportfs.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckClusterCompatibility ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset source=$1
+  typeset target=$2
+
+  typeset rc
+
+  case $source in
+    lc )
+      [[ $target = lc     ]] && rc=0
+      [[ $target = single ]] && rc=0
+      ;;
+
+    sp )
+      [[ $target = lc     ]] && rc=0
+      [[ $target = single ]] && rc=0
+      ;;
+
+    rpd )
+      [[ $target = lc     ]] && rc=0
+      [[ $target = single ]] && rc=0
+      ;;
+
+    hacmp )
+      [[ $target = lc     ]] && rc=0
+      [[ $target = single ]] && rc=0
+      ;;
+
+    single )
+      [[ $target = lc     ]] && rc=0
+      [[ $target = single ]] && rc=0
+      ;;
+
+     * )
+      # Unknown source cluster type.
+      rc=1
+      ;;
+  esac
+
+  return $rc
+
+}  #----- end of function checkClusterCompatibility ----------------
+
+
+###########################################################################
+#
+# Function:  See if there are any disks that will need to be recovered
+#            because of a previous failure of mmimportfs.
+#
+# Input:     $1 - source cluster type
+#            $2 - output file name
+#
+# Output:    File containing the disk names that may have failed a previous
+#            tspreparedisk -m call.  Each line has the following format:
+#              <diskName> <checksum> <timestamp> <server> <fullPathName>
+#
+# Returns:   0 - no errors
+#            1 - error encountered
+#
+###########################################################################
+function getDiskRecoveryInformation  # <source> <outputFile>
+{
+  sourceFile="mmimportfs.sh"
+  [[ -n $DEBUG || -n $DEBUGgetDiskRecoveryInformation ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset source=$1
+  typeset outputFile=$2
+
+  typeset server
+
+  $rm -f $outputFile
+
+  # If we are not creating NSDs, there is nothing to worry about.
+  [[ $source = lc || $source = single ]] &&  \
+    return 0
+
+  # Create a list of all disk recovery files created by tspreparedisk.
+  # Such files, if any, will be stored in /var/mmfs/tmp/mmimportfs on
+  # the primary and backup server configuration nodes.  The file names
+  # have the following format:
+  #   tspreparedisk.diskDesc.<diskName>.<checksum>.<timestamp>
+  #
+  # Put the results in a file with the following format:
+  #   <diskName> <checksum> <timestamp> <server> <fullPathName>
+  #
+  for server in $(print -- $primaryServer $backupServer)
+  do
+    run onNode $server lsSGDescFile 2>/dev/null |  \
+      $awk -F. '
+        { print $3" "$4" "$5" '${server}' "$0 }
+      ' >> $outputFile
+  done
+
+  # Sort the result so that if there is more than one recovery file
+  # for any given disk, the most recent version appears first.
+  $sort -k 1,1 -k 3,3nr -o $outputFile $outputFile
+  checkForErrors "sort $outputFile" $?
+
+  return 0
+
+}  #----- end of function getDiskRecoveryInformation ---------------
+
+
+#########################################################################
+#
+# Function:  Restore the disk and SG descriptors of the specified disk.
+#
+# Input:     $1 - diskName
+#            $2 - file created by function getDiskRecoveryInformation
+#
+# Output:    None.
+#
+# Returns:   0 - no errors
+#            1 - error encountered
+#
+#########################################################################
+function recoverOldSGdescriptor  # <diskName> <recoveryInfoFile>
+{
+  sourceFile="mmimportfs.sh"
+  [[ -n $DEBUG || -n $DEBUGrecoverOldSGdescriptor ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset diskName=$1
+  typeset recoveryInfoFile=$2
+
+  typeset recoveryInfo checksum serverNode fqName sumOutput newSum
+  typeset rc=0
+
+  # See if there is a recovery file for this disk.
+  recoveryInfo=$($grep -w $diskName $recoveryInfoFile)
+
+  # Return if there is nothing to do.
+  [[ -z $recoveryInfo ]] &&  \
+    return 0
+
+  print -u2 -- "$mmcmd: Recovering SG descriptor area of disk $diskName"
+
+  # Parse the information from the recoveryInfoFile.
+  set -f ; set -- $recoveryInfo ; set +f
+  checksum=$2
+  serverNode=$4
+  fqName=$5
+
+  # Retrieve the file if it isn't already on our node.
+  if [[ ! -e $fqName ]]
+  then
+    # Ensure the target directory for rcp exists.
+    $mkdir -p ${fqName%/*}
+
+    # Copy the file from the server node.
+    $rcp ${serverNode}:${fqName} $fqName
+    checkForErrors "rcp ${serverNode}:${fqName}" $?
+
+    # Verify the checksum.
+    sumOutput=$($sum $fqName)
+    rc=$?
+    set -f ; set -- $sumOutput ; set +f
+    newSum=$1
+    if [[ $checksum != $newSum ]]
+    then
+      printErrorMsg 379 $mmcmd $serverNode $ourNodeName
+      return 1
+    fi
+  fi  # end of if [[ ! -e $fqName ]]
+
+  # Restore the disk and SG descriptors of the disk.
+  $dd if=$fqName of=/dev/$diskName seek=1 2>$errMsg
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    $rm -f $errMsg
+    print -u2 "$mmcmd: dd if=$fqName of=/dev/$diskName seek=1 failed with rc $rc."
+    print -u2 "$mmcmd: Error recovering disk $diskName from a previous failure."
+    return $rc
+  fi
+  $rm -f $errMsg
+
+  print -u2 -- "$mmcmd: Disk $diskName successfully recovered."
+
+  # At this point the disk was successfully restored.
+  # Remove all SG descriptor files for this disk and return.
+  $rm -f ${fqName%/*}/tspreparedisk.diskDesc.${diskName}.*
+  for server in $(print -- $primaryServer $backupServer)
+  do
+    run onNode $server rmSGDescFile $diskName
+  done
+
+  return 0
+
+}  #----- end of function recoverOldSGdescriptor -------------------
+
+
+############################################################################
+#
+# Function:  Import a disk into cluster type single.  Depending on the
+#            source cluster types, this may also involve the conversion
+#            of the disk into an NSD.
+#
+#            Note:  The disk is assumed to be accessible on the local node.
+#
+# Input:     $1 - source cluster type
+#            $2 - current SG_DISKS line for the disk
+#            $3 - target nodesetId
+#
+# Output:    $1 - result: error, success.
+#            $2 - updated SG_DISKS line.
+#
+# Returns:   0 - everything worked OK
+#            1 - error encountered
+#
+############################################################################
+function importDisk_single  # <source> <diskLine> <targetNodeset>
+{
+  sourceFile="mmimportfs.sh"
+  [[ -n $DEBUG || -n $DEBUGimportDisk_single ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset sourceCluster=$1
+  typeset currentDiskLine=$2
+  typeset targetNodesetId=$3
+
+  typeset rc=0
+  typeset result="success"
+  typeset invokingCommand="mmimportfs"
+  typeset updatedDiskLine createNsdOutput tspreparediskOutput
+  typeset diskName magicWord rc2 pvid nsdSubtype nsdSubtypeDiskname
+
+  # Parse the current SG_DISKS line for the disk.
+  IFS=":"
+  set -f ; set -A v -- - $currentDiskLine ; set +f
+  IFS="$IFS_sv"
+  diskName=${v[$DISK_NAME_Field]}
+  [[ -z ${v[$NSD_SUBTYPE_Field]} ]] &&  \
+    v[$NSD_SUBTYPE_Field]="generic"
+  nsdSubtype=${v[$NSD_SUBTYPE_Field]}
+  aixPvidValue=${v[$PVID_Field]}
+  [[ ${v[$NODESETID_Field]} = $FREE_DISK ]] &&  \
+    invokingCommand="mmimportfs_freeDisk"
+  [[ ${v[$NODESETID_Field]} != $FREE_DISK ]] &&  \
+    v[$NODESETID_Field]=$targetNodesetId
+
+  if [[ $sourceCluster != lc && $sourceCluster != single ]]
+  then
+    # The source cluster type is sp, rpd, or hacmp.
+    # In all of these cases we may have to import
+    # the underlying logical volumes and, if applicable,
+    # recreate the VSDs.
+
+    # For now, we assume that the disks are already in place.
+
+    # See if this disk needs to be recovered from a previous
+    # partial SG descriptor migration.
+    if [[ -s $recoveryFiles ]]
+    then
+      recoverOldSGdescriptor $diskName $recoveryFiles
+      rc=$?
+      if [[ $rc -ne 0 ]]
+      then
+        print -- "error"
+        return $rc
+      fi
+    fi
+
+    # Convert the disk into an NSD.
+    createNsdOutput=$(createNsd $diskName no $invokingCommand NULL)
+    rc=$?
+
+    # The output of createNsd consists of a one-word NSD subtype value,
+    # followed by the output from tspreparedisk.  Separate the two parts.
+    nsdSubtype=${createNsdOutput%% *}
+    tspreparediskOutput=${createNsdOutput#* }
+
+    # Set the value for the nsd subtype diskname if the nsd subtype
+    # is lv or vsd.
+    nsdSubtypeDiskname=""
+    [[ $nsdSubtype = lv || $nsdSubtype = vsd ]] && nsdSubtypeDiskname=$diskName
+
+    # Parse the output from the tspreparedisk command.
+    IFS=":"
+    set -f ; set -- $tspreparediskOutput ; set +f
+    magicWord=$1
+    rc2=$2
+    pvid=$3
+    IFS="$IFS_sv"
+
+    if [[ $rc  -ne 0 || $nsdSubtype = error ||
+          $rc2 -ne 0 || $magicWord != tspreparedisk ]]
+    then
+      # Try to make sense of the error.
+      if [[ $nsdSubtype = error ]]
+      then
+        : # determineNsdSubtype failed.  Messages were already issued.
+
+      elif [[ $magicWord = tspreparedisk ]]
+      then
+        # tspreparedisk was executed but was not happy about something.
+        if [[ $rc2 = 1 ]]       # E_PERM
+        then
+          # Permission was denied for disk.
+          printErrorMsg 523 $mmcmd "/dev/$diskName"
+        elif [[ $rc2 = 2 ]]     # E_NOENT
+        then
+          # The disk was not found.
+          printErrorMsg 524 $mmcmd "/dev/$diskName"
+        elif [[ $rc2 = 5 ]]     # E_IO
+        then
+          # I/O error
+          printErrorMsg 525 $mmcmd "/dev/$diskName"
+        elif [[ $rc2 = $MM_DeviceNotFound ]]    # E_NODEV
+        then
+          # A return code of ENODEV was returned for the disk.
+          printErrorMsg 187 $mmcmd $ourNodeName "/dev/$diskName"
+        elif [[ $rc2 = 27 ]]    # E_FBIG
+        then
+          # The disk is too large.
+          printErrorMsg 508 $mmcmd "/dev/$diskName"
+        elif [[ $rc2 = 50 ]]    # E_NOCONNECT
+        then
+          # The disk is fenced out.
+          printErrorMsg 395 $mmcmd $ourNodeName "/dev/$diskName"
+        else
+          # Show the result from tspreparedisk.
+          print -u2 "$tspreparediskOutput"
+          # Unexpected error from tspreparedisk
+          printErrorMsg 171 "$mmcmd" "tspreparedisk $diskName" $rc2
+        fi  # end if [[ $rc2 = 1 ]]
+      else
+        # Something is really wrong.  Output error information if any.
+        [[ -n $createNsdOutput ]] && print -u2 "$createNsdOutput"
+      fi  # end if [[ $nsdSubtype = error ]]
+
+      # We failed to create an NSD from this disk.
+      printErrorMsg 47 $mmcmd $diskName
+      result="error"
+      rc=1
+
+    else
+      # At this point the disk was successfully defined as an NSD.
+      # Add the missing or updated information.
+      v[$PVID_Field]=$pvid
+      v[$NSD_SUBTYPE_Field]=$nsdSubtype
+      v[$NSD_SUBTYPE_DISKNAME_Field]=$nsdSubtypeDiskname
+      if [[ $nsdSubtype = lv ]]
+      then
+        v[$AIX_PVID_Field]=$aixPvidValue
+      else
+        v[$AIX_PVID_Field]=""
+      fi
+
+      # Remove any leftover files from tspreparedisk -m.
+      $rm -f ${fqName%/*}/tspreparedisk.diskDesc.${diskName}.*
+    fi  # end if [[ $rc  -ne 0 || $nsdSubtype = error ||  ...
+  fi  # end of if [[ $sourceCluster != lc && $sourceCluster != single ]]
+
+  # Ensure certain fields in the SG_DISKS line have
+  # appropriate values for cluster type single.
+  v[$NSD_PRIMARY_NODE_Field]=""
+  v[$NSD_BACKUP_NODE_Field]=""
+  v[$DAEMON_NSD_PRIMARY_Field]=""
+  v[$DAEMON_NSD_BACKUP_Field]=""
+  v[$DISK_TYPE_Field]="disk"
+  updatedDiskLine=$(print_newLine)
+
+  # Return to the caller the updated SG_DISKS line.
+  print -- "$result" "$updatedDiskLine"
+  return $rc
+
+}  #----- end of function importDisk_single ------------------------
+
+
+###########################################################################
+#
+# Function:  Import a disk into an lc cluster.  Depending on the source
+#            cluster types, this may involve one or more of the following
+#            operations to make the disk usable in the new cluster:
+#            import the base logical volume, make/redefine a VSD,
+#            make an NSD out of the disk, verify NSD servers belong
+#            to the right nodeset, etc.
+#
+# Input:     $1 - source cluster type
+#            $2 - current SG_DISKS line for the disk
+#            $3 - target nodesetId
+#            $4 - (optional) disk descriptor spec file
+#
+# Output:    $1 - result; error, success, successServersRemoved.
+#            $2 - updated SG_DISKS line.
+#
+# Returns:   0 - everything worked OK
+#            1 - error encountered
+#
+###########################################################################
+function importDisk_lc  # <source> <diskLine> <targetNodeset> [<specFile>]
+{
+  sourceFile="mmimportfs.sh"
+  [[ -n $DEBUG || -n $DEBUGimportDisk_lc ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset sourceCluster=$1
+  typeset currentDiskLine=$2
+  typeset targetNodesetId=$3
+  typeset specFile=$4
+
+  typeset rc=0
+  typeset diskDesc=""
+  typeset result="success"
+  typeset invokingCommand="mmimportfs"
+  typeset diskName server backup nodesetId validateDescriptorOutput
+  typeset updatedDiskLine createNsdOutput tspreparediskOutput
+  typeset magicWord rc2 pvid nsdSubtype nsdSubtypeDiskname invokedNode
+
+  # Parse the current SG_DISKS line for the disk.
+  IFS=":"
+  set -f ; set -A v -- - $currentDiskLine ; set +f
+  IFS="$IFS_sv"
+  diskName=${v[$DISK_NAME_Field]}
+  nsdSubtype=${v[$NSD_SUBTYPE_Field]}
+  aixPvidValue=${v[$PVID_Field]}
+  [[ -z $nsdSubtype ]] && nsdSubtype="generic"
+  [[ ${v[$NODESETID_Field]} = $FREE_DISK ]] &&  \
+    invokingCommand="mmimportfs_freeDisk"
+  [[ ${v[$NODESETID_Field]} != $FREE_DISK ]] &&  \
+    v[$NODESETID_Field]=$targetNodesetId
+  nodesetId=${v[$NODESETID_Field]}
+
+  # If a change file is specified (-S option),
+  # see if it contains a descriptor for this disk.
+  [[ -s $specFile ]] &&  \
+    diskDesc=$($grep -e "[$BLANKchar$TABchar]$diskName:"   \
+                     -e "^$diskName:" $specFile 2>/dev/null)
+
+  if [[ -n $diskDesc ]]
+  then
+    # If a disk descriptor was specified,
+    # parse it to get the server names.
+    IFS=':'
+    set -f ; set -- $diskDesc ; set +f
+    server=$2
+    backup=$3
+    IFS="$IFS_sv"  # Restore the default IFS setting.
+
+    # If a primary server was specified, make sure that it is valid
+    # and convert it if necessary to an admin adapter name, since it
+    # may be needed for the subsequent createNsd call.
+    # We don't bother to check the backup server here, since it will
+    # be checked later by the validateAndConvertNsdDescriptor routine.
+    if [[ -n $server ]]
+    then
+      server=$(checkAndConvertNodeValue $server $REL_HOSTNAME_Field)
+      [[ $? -ne 0 ]] && cleanupAndExit
+    fi
+#   if [[ -n $backup ]]
+#   then
+#     backup=$(checkAndConvertNodeValue $backup $REL_HOSTNAME_Field)
+#     [[ $? -ne 0 ]] && cleanupAndExit
+#   fi
+
+  else
+    # Otherwise, use the current NSD server names, if any.
+    if [[ $sourceCluster = lc ]]
+    then
+      server=${v[$NSD_PRIMARY_NODE_Field]}
+      backup=${v[$NSD_BACKUP_NODE_Field]}
+    else
+      server=""
+      backup=""
+    fi
+  fi  # end of if [[ -n $diskDesc ]]
+
+  if [[ $sourceCluster != lc && $sourceCluster != single ]]
+  then
+    # The source cluster type is sp, rpd, or hacmp.
+    # In all of these cases we may have to import
+    # the underlying logical volumes and, if applicable,
+    # recreate the VSDs.
+
+    :  # For now, we assume that the disks are already in place.
+
+  fi  # end of if [[ $sourceCluster != lc && $sourceCluster != single ]]
+
+  # If the user did not specify a new disk descriptor,
+  # generate one from the current SG_DISKS line.
+  [[ -z $diskDesc ]] &&  \
+    diskDesc="$diskName:$server:$backup:"
+
+  # If NSD server names were not specified by the user,
+  # or cannot be reasonably defaulted by us, the user
+  # will have to use mmchnsd to assign NSD servers.
+  [[ -z $server ]] &&  \
+    result=successServersRemoved
+
+  # Verify the correctness of the NSD server nodes.
+  validateDescriptorOutput=$(validateAndConvertNsdDescriptor "$diskDesc"  \
+                   $currentDiskLine $CHANGE_NSD $nodesetId NULL oldDiskUsage)
+  rc=$?
+  if [[ $rc -eq 0 ]]
+  then
+    # If there are no problems, parse the result to get the new SG_DISKS line.
+    set -f ; set -- $validateDescriptorOutput ; set +f
+    updatedDiskLine="$1"
+
+    # Parse the line that was returned by the validate function
+    # to pick up fields that may have been changed.
+    IFS=":"
+    set -f ; set -A v -- - $updatedDiskLine ; set +f
+    IFS="$IFS_sv"
+
+  else
+    # Remove the NSD servers.  The user will have to run mmchnsd.
+    v[$NSD_PRIMARY_NODE_Field]=""
+    v[$NSD_BACKUP_NODE_Field]=""
+    v[$DAEMON_NSD_PRIMARY_Field]=""
+    v[$DAEMON_NSD_BACKUP_Field]=""
+    result=successServersRemoved
+    rc=0
+  fi
+
+  # Convert the disk into an NSD.
+  if [[ $sourceCluster != lc && $sourceCluster != single ]]
+  then
+    # See if this disk needs to be recovered from a previous
+    # partial SG descriptor migration.
+    if [[ -s $recoveryFiles ]]
+    then
+      recoverOldSGdescriptor $diskName $recoveryFiles
+      rc=$?
+      if [[ $rc -ne 0 ]]
+      then
+        print -- "error"
+        return $rc
+      fi
+    fi
+
+    # Generate and write an unique NSD volume id on sector 2 of the disk.
+    # If an NSD server is specified, invoke the function on that node.
+    # This rule does not apply when the underlying disk is a VSD.
+    # For VSDs we should have access to the disk from the local node.
+    if [[ $sourceCluster = sp || -z $server || $server = $ourNodeName ]]
+    then
+      invokedNode=$ourNodeName
+      createNsdOutput=$(createNsd $diskName no $invokingCommand NULL)
+      rc=$?
+    else
+      invokedNode=$server
+      createNsdOutput=$(run on1 $server  \
+                        createNsd $diskName no $invokingCommand NULL)
+      rc=$?
+    fi
+
+    # The output of createNsd consists of a one-word NSD subtype value,
+    # followed by the output from tspreparedisk.  Separate the two parts.
+    nsdSubtype=${createNsdOutput%% *}
+    tspreparediskOutput=${createNsdOutput#* }
+
+    # Set the value for the nsd subtype diskname if the nsd subtype
+    # is lv, vsd or file; this name is persistent across the nodes.
+    nsdSubtypeDiskname=""
+    [[ $nsdSubtype = lv || $nsdSubtype = vsd || $nsdSubtype = file ]] &&  \
+      nsdSubtypeDiskname=$diskName
+
+    # Parse the output from the tspreparedisk command.
+    IFS=":"
+    set -f ; set -- $tspreparediskOutput ; set +f
+    magicWord=$1
+    rc2=$2
+    pvid=$3
+    IFS="$IFS_sv"
+
+    if [[ $rc  -ne 0 || $nsdSubtype = error ||
+          $rc2 -ne 0 || $magicWord != tspreparedisk ]]
+    then
+      # Try to make sense of the error.
+      if [[ $nsdSubtype = error ]]
+      then
+        :  # determineNsdSubtype failed.  Messages were already issued.
+
+      elif [[ $magicWord = tspreparedisk ]]
+      then
+        # tspreparedisk was executed but was not happy about something.
+        if [[ $rc2 = 1 ]]       # E_PERM
+        then
+          # Permission was denied for disk.
+          printErrorMsg 523 $mmcmd "/dev/$diskName"
+        elif [[ $rc2 = 2 ]]     # E_NOENT
+        then
+          # The disk was not found.
+          printErrorMsg 524 $mmcmd "/dev/$diskName"
+        elif [[ $rc2 = 5 ]]     # E_IO
+        then
+          # I/O error
+          printErrorMsg 525 $mmcmd "/dev/$diskName"
+        elif [[ $rc2 = $MM_DeviceNotFound ]]    # E_NODEV
+        then
+          # A return code of ENODEV was returned for the disk.
+          printErrorMsg 187 $mmcmd $invokedNode "/dev/$diskName"
+        elif [[ $rc2 = 27 ]]    # E_FBIG
+        then
+          # The disk is too large.
+          printErrorMsg 508 $mmcmd "/dev/$diskName"
+        elif [[ $rc2 = 50 ]]    # E_NOCONNECT
+        then
+          # The disk is fenced out.
+          printErrorMsg 395 $mmcmd $invokedNode "/dev/$diskName"
+        else
+          # Show the result from tspreparedisk.
+          print -u2 "$tspreparediskOutput"
+          # Unexpected error from tspreparedisk.
+          printErrorMsg 171 "$mmcmd" "tspreparedisk $diskName" $rc2
+        fi  # end if [[ $rc2 = 1 ]]
+      else
+        # Something is really wrong.  Output error information if any.
+        [[ -n $createNsdOutput ]] && print -u2 "$createNsdOutput"
+      fi  # end if [[ $nsdSubtype = error ]]
+
+      # We failed to create an NSD from this disk.
+      printErrorMsg 47 $mmcmd $diskName
+      result="error"
+      rc=1
+
+    else
+      # At this point the disk was successfully defined as an NSD.
+      # Add missing or updated information.
+      v[$PVID_Field]=$pvid
+      v[$NSD_SUBTYPE_DISKNAME_Field]=$nsdSubtypeDiskname
+      if [[ $nsdSubtype = lv ]]
+      then
+        v[$AIX_PVID_Field]=$aixPvidValue
+      else
+        v[$AIX_PVID_Field]=""
+      fi
+
+      # Remove any leftover files from tspreparedisk -m.
+      $rm -f ${fqName%/*}/tspreparedisk.diskDesc.${diskName}.*
+      for server in $(print -- $primaryServer $backupServer)
+      do
+        run onNode $server rmSGDescFile $diskName
+      done
+    fi  # end if [[ $rc  -ne 0 || $nsdSubtype = error || ... ]]
+
+  fi  # end of if [[ $sourceCluster != lc && $sourceCluster != single ]]
+
+  # Add the remaining missing or updated information and rebuild the line.
+  v[$DISK_TYPE_Field]=nsd
+  v[$NSD_SUBTYPE_Field]=$nsdSubtype
+  updatedDiskLine=$(print_newLine)
+
+  # Return to the caller the updated SG_DISKS line.
+  print -- "$result" "$updatedDiskLine"
+  return $rc
+
+}  #----- end of function importDisk_lc ----------------------------
+
+
+###########################################################################
+#
+# Function:  Unfence logical volumes and remove PR registrations.
+#
+# Input:     $1 - file with the nodes on which to unfence
+#            $2 - SG_DISKS lines for the disks to unfence
+#
+# Output:    None
+#
+# Returns:   0 - everything worked OK
+#            1 - error encountered
+#
+###########################################################################
+function unfenceLogicalVolumes  # <nodeFile> <diskFile>
+{
+  sourceFile="mmimportfs.sh"
+  [[ -n $DEBUG || -n $DEBUGunfenceLogicalVolumes ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset nodefile=$1
+  typeset diskLines=$2
+
+  typeset rc=0
+  typeset unfenceDisksOutput outputLine nodeName magicWord rc2
+  typeset failedNode errorFound
+
+  # Give up if any of the input files is empty.
+  [[ ! -s $nodefile || ! -s $diskLines ]] &&  \
+    return 0
+
+  $rm -f $tmpfile
+
+  # Exclude the local host from the list of nodes.
+  $grep -v -w $ourNodeName $nodefile > ${nodefile}tmp
+
+  # If there are remote nodes left in the file,
+  # unfence the disks on those nodes.
+  if [[ -s ${nodefile}tmp ]]
+  then
+    print -- "$mmcmd:  Attempting to unfence the disks.  This may take a while ... "
+
+    # Create a copy of the file to propagate.
+    $cp $diskLines ${diskLines}tmp
+    checkForErrors "cp $diskLines ${diskLines}tmp" $?
+
+    # Perform the tasks on all remote nodes.
+    $mmdsh -f 10 -vF ${nodefile}tmp -I ${diskLines}tmp  \
+       $mmremote unfenceDisks ${diskLines}tmp >$tmpfile 2>&1
+    rc=$?
+  fi
+
+  # Unfence the disks on the local node.
+  # Append the result to the output from the remote nodes.
+  if [[ $osName = AIX ]]
+  then
+    unfenceDisksOutput=$(unfenceDisks $diskLines)
+    rc=$?
+
+    # Append the output to the output from the remote nodes
+    # so that we can process the overall result.
+    print -- "$ourNodeName: $unfenceDisksOutput" >>$tmpfile
+  fi
+
+  # Ignore the results and declare a success.  If we were not
+  # successful on some node, the mount will fail and the user
+  # will have to run mmremote unfenceDisks or fix the disks
+  # by himself.  Our problem is that we do not have a good
+  # way to tell whether the unfence process should work on
+  # any given node or not.  And we most definitely do not
+  # want to fail the mmimportfs command for such a reason.
+  $rm -f ${nodefile}tmp ${diskLines}tmp
+  return 0
+
+}  #----- end of function unfenceLogicalVolumes --------------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 3 ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1   # Save the stripe group device (always the first parameter).
+shift 1        # Drop the device name from the parameter list.
+
+while getopts :C:i:RS: OPT
+do
+  case $OPT in
+    C) syntaxError "obsoleteOption" $usageMsg "-$OPT"
+       ;;
+
+    i) # name of input file
+       [[ -n $iflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fsImportData=$OPTARG
+       ;;
+
+    R) # replace existing file systems.
+       [[ -n $Rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Rflag=yes
+       ;;
+
+    S) # file with change specifications.
+       [[ -n $Sflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Sflag=yes
+       changeSpecFile=$OPTARG
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[CiRS]) syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    *) # invalid option specified
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# Check the input file parameters.
+if [[ ! -f $fsImportData || ! -r $fsImportData ]]
+then
+  # Can't read the input file.
+  printErrorMsg 43 $mmcmd $fsImportData
+  cleanupAndExit
+fi
+if [[ ! -s $fsImportData ]]
+then
+  # Input file is empty.
+  printErrorMsg 329 $mmcmd $fsImportData
+  cleanupAndExit
+fi
+
+if [[ -n $Sflag && ( ! -f $changeSpecFile || ! -r $changeSpecFile ) ]]
+then
+  # Can't read the input file.
+  printErrorMsg 43 $mmcmd $changeSpecFile
+  cleanupAndExit
+fi
+if [[ -n $Sflag && ! -s $changeSpecFile ]]
+then
+  # Input file is empty.
+  printErrorMsg 329 $mmcmd $changeSpecFile
+  cleanupAndExit
+fi
+
+# Process the input device name parameter.
+[[ $device = all ]] && importAll=true
+deviceName=${device#/dev+(/)}   # Strip /dev from the device name.
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#####################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+targetNodesetId=$nsId
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+######################################################################
+# Create a new version of the mmsdrfs file that will receive the data
+# and collect information for the existing file systems, disks, etc.
+# If the -R option is specified, remove the affected lines from the
+# mmsdrfs file.
+######################################################################
+$rm -f $newsdrfs $existingDisks $allClusterNodes $aixNodes
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+  IFS="$IFS_sv"
+  printLine=true
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+       # Increment the generation number.
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+
+       targetCluster=${v[$CLUSTER_TYPE_Field]}
+       if [[ $MMMODE = lc ]]
+       then
+         [[ ${v[$HIGHEST_GPFS_DISK_NBR_Field]} -lt $initialDiskNumber ]] &&  \
+           v[$HIGHEST_GPFS_DISK_NBR_Field]=$initialDiskNumber
+         prevMaxDiskNumber=${v[$HIGHEST_GPFS_DISK_NBR_Field]}
+       fi
+       ;;
+
+    $MEMBER_NODE )  # This line describes a node that belongs to some nodeset.
+       # Create a file with the names of all nodes in the cluster.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $allClusterNodes
+       checkForErrors "writing to file $allClusterNodes" $?
+
+       # Create separate files with the names of the AIX nodes.
+       if [[ ${v[$OS_NAME_Field]} = "AIX" ]]
+       then
+         print -- "${v[$REL_HOSTNAME_Field]}" >> $aixNodes
+         checkForErrors "writing to file $aixNodes" $?
+       fi
+       ;;
+
+    $SG_HEADR )  # This is the header line for some file system.
+       # We are starting the processing of a new file system.  If the file
+       # system should be replaced, remove the line from the mmsdrfs file.
+       if [[ (${v[$DEV_NAME_Field]} = $deviceName || $device = all) &&
+              -n $Rflag && ${v[$FS_TYPE_Field]} = $localfs ]]
+       then
+         # This file system should be replaced.
+         replaceThisFileSystem=true
+         printLine=false
+
+       else
+         replaceThisFileSystem=""
+
+         # Create a list of the already assigned minor numbers.
+         existingMinorNumbers="$existingMinorNumbers ${v[$DEV_MINOR_Field]}"
+
+         # If this file systems belongs to the nodeset on which we
+         # are running, remember its name.  It will be needed shortly
+         # to figure out the value of the GPFS device major number.
+         [[ ${v[$NODESETID_Field]} = $nsId ]] &&  \
+           fqDeviceName="/dev/${v[$DEV_NAME_Field]}"
+       fi  # end if [[ (${v[$DEV_NAME_Field]} = $deviceName || $device = all) ...
+       ;;
+
+    $SG_ETCFS )  # This line is a stanza line for one of the filesystems.
+       if [[ -n $replaceThisFileSystem ]]
+       then
+         printLine=false
+       else
+         # If this is the first line in the stanza,
+         # save the device name and mount point.
+         if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line ]]
+         then
+           fsInfo="${v[$DEV_NAME_Field]}:${v[$ETCFS_TEXT_Field]}:${v[$NODESETID_Field]}"
+           existingFsInfo="$fsInfo $existingFsInfo"
+
+           # Note:  the trailing blanks in the following lists are important.
+           existingFileSystems="$existingFileSystems ${v[$DEV_NAME_Field]} "
+           existingMountPoints="$existingMountPoints ${v[$ETCFS_TEXT_Field]} "
+         fi
+       fi  # end if [[ -n $replaceThisFileSystem ]]
+       ;;
+
+    $SG_MOUNT )
+       [[ -n $replaceThisFileSystem ]] &&  \
+         printLine=false
+       ;;
+
+    $SG_DISKS )  # This line describes a disk.
+       # Decide if this disk is to be replaced.  If the disk belongs to some
+       # file system, the replaceThisFileSystem flag already has the correct
+       # value.  If this is a free disk, it will be replaced only if all file
+       # systems are being replaced.  Note that the replaceThisFileSystem flag
+       # is used to control the replacing of disks that are part of some file
+       # system as well as the replacing of free disks.
+       if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+       then
+         if [[ $device != all ]]
+         then
+           replaceThisFileSystem=""
+         else
+           replaceThisFileSystem=true
+         fi
+       fi  # end if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+
+       if [[ -n $replaceThisFileSystem ]]
+       then
+         printLine=false
+       else
+         # Create a file with the names of all existing disks.
+         # It doesn't matter if the disks are free or not.
+         print -- "${v[$DISK_NAME_Field]}" >> $existingDisks
+         checkForErrors "writing to file $existingDisks" $?
+
+         # Keep track of the highest NSD number assigned to a disk.
+         if [[ ${v[$DISK_NAME_Field]} = gpfs+([0-9])nsd ]]
+         then
+           nsdName=${v[$DISK_NAME_Field]}
+           nsdNumber=${nsdName#gpfs}
+           nsdNumber=${nsdNumber%nsd}
+           [[ $nsdNumber -gt $maxDiskNumber ]] && maxDiskNumber=$nsdNumber
+         fi
+       fi  # end if [[ -n $replaceThisFileSystem ]]
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+###########################################################################
+# Figure out what should the GPFS file systems device major number be.
+###########################################################################
+if [[ $osName = Linux && -n $fqDeviceName ]]
+then
+  devMajor=$(LC_ALL=C $ls -l $fqDeviceName 2>/dev/null | $awk ' { print $5 } ')
+  devMajor=${devMajor%,*}
+fi
+[[ -z $devMajor ]] && devMajor=$defaultMajorNumber
+
+
+###########################################################################
+# If the source is hacmp or LV based rpd cluster, make an attempt
+# to remove any PR settings and unfence the disks on all nodes in
+# the new cluster.  This processing is by necessity time consuming.
+#
+# Notes:  The main loop is further down.  This is preliminary processing
+#         and a necessary evil.  Some of the error checking is duplicated
+#         here to allow us to get out faster if there is an obvious error.
+###########################################################################
+$rm -f $disksToUnfence $resetLVs.*
+IFS=":"
+exec 3<&-
+exec 3< $fsImportData
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+       sourceCluster=${v[$CLUSTER_TYPE_Field]}
+       [[ -z $sourceCluster ]] && sourceCluster=sp
+       checkClusterCompatibility $sourceCluster $targetCluster
+       rc=$?
+       if [[ $rc -ne 0 ]]
+       then
+         # Incompatible cluster types.
+         printErrorMsg 44 $mmcmd $sourceCluster $targetCluster
+         cleanupAndExit
+       fi
+       getDiskRecoveryInformation $sourceCluster $recoveryFiles
+
+       # Skip the preliminary processing if LVs are not possible.
+       [[ $sourceCluster != rpd && $sourceCluster != hacmp ]] &&  \
+         break
+
+       # Skip the preliminary processing if -R is specified.
+       [[ -n $Rflag ]] &&  \
+         break
+       ;;
+
+    $SG_HEADR )  # This is the header line for some file system.
+       # Starting the processing of a new file system.
+       # See if the file system should be imported.
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName || -n $importAll ]]
+       then
+         importThisFileSystem=true
+       else
+         importThisFileSystem=""
+       fi
+
+       # Verify that the target cluster does not already
+       # have a file system with the same name.
+       if [[ -n $importThisFileSystem &&
+             $existingFileSystems = *" ${v[$DEV_NAME_Field]} "* ]]
+       then
+         importThisFileSystem=""
+       fi
+       ;;
+
+    $SG_ETCFS )  # This line is a stanza line for one of the file systems.
+       # If this is the first line in the stanza for a file system
+       # being imported, verify that the mount point does not already
+       # exist in the target cluster.
+       if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line &&
+             -n $importThisFileSystem &&
+             $existingMountPoints = *" ${v[$ETCFS_TEXT_Field]} "* ]]
+       then
+         importThisFileSystem=""
+       fi
+       ;;
+
+    $SG_DISKS )  # This line describes a disk.
+       # Create the device suffix to be used for temp files.
+       if [[ ${v[$DEV_NAME_Field]} = $NO_DEVICE ]]
+       then
+         # Avoid any name collision by using ":", a prohibited character.
+         suffix=_FREEDISK:_
+       else
+         suffix=${v[$DEV_NAME_Field]}
+       fi
+
+       # Decide if this disk is to be imported.  If the disk belongs to some
+       # file system, the importThisFileSystem flag already has the correct
+       # value.  If this is a free disk, it will be imported only if all file
+       # systems are being imported.  Note that the importThisFileSystem flag
+       # is used to control the importing of disks that are part of some file
+       # system as well as the importing of free disks.
+       if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+       then
+         if [[ -z $importAll ]]
+         then
+           importThisFileSystem=""
+         else
+           importThisFileSystem=true
+         fi
+       fi
+
+       # If this disk belongs to a file system being imported, verify that
+       # there are no name conflicts.  If there is a name conflict with a
+       # disk that is part of a file system, that file system is dropped.
+       # If the conflict is with a free disk, only that disk is dropped.
+       if [[ -n $importThisFileSystem ]]
+       then
+         # Check the name.
+         conflictingDisk=$($grep -w ${v[$DISK_NAME_Field]} $existingDisks 2>/dev/null)
+         if [[ -n $conflictingDisk ]]
+         then
+           # There is already a disk with the same name.
+           if [[ ${v[$DEV_NAME_Field]} != $NO_DEVICE ]]
+           then
+             $rm -f $resetLVs.$suffix
+           fi
+           importThisFileSystem=""
+         fi  # end if [[ -n $conflictingDisk ]]
+       fi  # end of if [[ -n $importThisFileSystem ]]
+
+       # If this is a PR-capable logical volume,
+       # add the line to the disks to be unfenced.
+       if [[ -n $importThisFileSystem      &&
+             ${v[$DISK_TYPE_Field]} = "lv" &&
+             ${v[$DISK_SUBTYPE_Field]} != "other" ]]
+       then
+         print -- ${sdrfsLine} >> $resetLVs.$suffix
+         checkForErrors "writing to file $resetLVs.$suffix" $?
+       fi
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end of case ${v[$LINE_TYPE_Field]} in
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+# Combine all resetLVs files.
+for fs in $($ls $resetLVs.* 2>/dev/null)
+do
+  $cat $fs >> $disksToUnfence
+  checkForErrors "writing to file $disksToUnfence" $?
+done
+
+# If there are disks to unfence, do it now.
+if [[ -s $disksToUnfence ]]
+then
+  unfenceLogicalVolumes $aixNodes $disksToUnfence
+  rc=$?
+fi
+
+
+###########################################################################
+# Go through the input file with the exportfs information and extract
+# in separate files the information for each individual file system
+# that is to be imported.  Verify that there are no name conflicts and
+# adjust the target nodeset id if necessary.
+###########################################################################
+$rm -f $importFile.* $resetNSDs.* $importedFreeDisks $resetFreeDisks
+IFS=":"
+exec 3<&-
+exec 3< $fsImportData
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  case ${v[$LINE_TYPE_Field]} in
+
+ # The version line has been processed in the preliminary pass.
+ #  $VERSION_LINE )  # This is the global header line.
+ #     sourceCluster=${v[$CLUSTER_TYPE_Field]}
+ #     checkClusterCompatibility $sourceCluster $targetCluster
+ #     rc=$?
+ #     if [[ $rc -ne 0 ]]
+ #     then
+ #       # Incompatible cluster types.
+ #       printErrorMsg 44 $mmcmd $sourceCluster $targetCluster
+ #       cleanupAndExit
+ #     fi
+ #     getDiskRecoveryInformation $sourceCluster $recoveryFiles
+ #     ;;
+
+    $SG_HEADR )  # This is the header line for some file system.
+       # Starting the processing of a new file system.
+       # See if the file system should be imported.
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName || -n $importAll ]]
+       then
+         # This file system should be imported.
+         importThisFileSystem=true
+         if [[ -n $importAll ]]
+         then
+           someFsFound=true
+         else
+           specifiedFsFound=true
+         fi
+         # Put an informational message:  processing file system ...
+         print -- ""  # Output a blank separator line.
+         printInfoMsg 250 $mmcmd ${v[$DEV_NAME_Field]}
+       else
+         # This file system should not be imported.
+         importThisFileSystem=""
+       fi # end of if [[ ${v[$DEV_NAME_Field]} = $deviceName || -n $importAll ]]
+
+       # Verify that the target cluster does not already
+       # have a file system with the same name.
+       if [[ -n $importThisFileSystem &&
+             $existingFileSystems = *" ${v[$DEV_NAME_Field]} "* ]]
+       then
+         # There is already a file system with the same name.
+         printErrorMsg 48 $mmcmd ${v[$DEV_NAME_Field]}
+         failedFileSystems="${failedFileSystems}\n\t${v[$DEV_NAME_Field]}"
+         importThisFileSystem=""
+       fi
+
+       # If the file system will be imported and there are no problems so far,
+       # start building temporary files with the file system information.
+       if [[ -n $importThisFileSystem ]]
+       then
+         # First, figure out what the device minor number should be.
+         # Keep trying until we get an unused minor number.  If this
+         # does not work, we'll leave the device minor field null
+         # hoping that mmfsmknod will take care of things later on.
+         rc=0
+         newDevMinor=""
+         while [[ -z $newDevMinor && rc -eq 0 ]]
+         do
+           # Assign a minor number to the file system.
+           devMinor=$(assignDevMinor "$existingMinorNumbers")
+           rc=$?
+           if [[ $rc -eq 0 ]]
+           then
+             # See if the new device number is not being used by somebody on
+             # the local node.  This is a crude check but better than nothing.
+             # Going and checking all nodes in the nodeset is too expensive.
+             inuse=$($ls -lL /dev 2>/dev/null |  \
+                   $grep "^${fsDeviceType}.* $devMajor, *$devMinor ")
+
+             # The number seems to be free, use it.
+             [[ -z $inuse ]] && newDevMinor=$devMinor
+
+             # Add the number to the list of existing number.
+             existingMinorNumbers="$existingMinorNumbers $devMinor"
+
+           fi  # end of if [[ $rc -eq 0 ]]
+         done # end of while [[ -z $newDevMinor && rc -eq 0 ]]
+
+         # Change some of the fields as needed and put the line out.
+         v[$NODESETID_Field]=$targetNodesetId
+         v[$DEV_MINOR_Field]=$devMinor
+         print_newLine >> $importFile.${v[$DEV_NAME_Field]}
+         checkForErrors "writing to file $importFile.${v[$DEV_NAME_Field]}" $?
+       fi
+       ;;
+
+    $SG_ETCFS )  # This line is a stanza line for one of the file systems.
+       # If this is the first line in the stanza for a file system
+       # being imported, verify that the mount point does not already
+       # exist in the target cluster.
+       if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line &&
+             -n $importThisFileSystem &&
+             $existingMountPoints = *" ${v[$ETCFS_TEXT_Field]} "* ]]
+       then
+         # There is already a file system with the same mount point.
+         # Tell the guy to use mmchfs -T to change the existing mount point.
+         printErrorMsg 49 $mmcmd ${v[$DEV_NAME_Field]} ${v[$ETCFS_TEXT_Field]}
+         failedFileSystems="${failedFileSystems}\n\t${v[$DEV_NAME_Field]}"
+         $rm -f $importFile.${v[$DEV_NAME_Field]} $resetNSDs.${v[$DEV_NAME_Field]}
+         importThisFileSystem=""
+       fi
+
+       # If the file system will be imported and there are no problems so far,
+       # add the lines to the temporary files with the file system information.
+       if [[ -n $importThisFileSystem ]]
+       then
+         v[$NODESETID_Field]=$targetNodesetId
+         print_newLine >> $importFile.${v[$DEV_NAME_Field]}
+         checkForErrors "writing to file $importFile.${v[$DEV_NAME_Field]}" $?
+       fi
+       ;;
+
+    $SG_MOUNT )  # This line has the mount options.
+       # If the file system will be imported and there are no problems so far,
+       # add the line to the temporary file with the file system information.
+       if [[ -n $importThisFileSystem ]]
+       then
+         v[$NODESETID_Field]=$targetNodesetId
+         print_newLine >> $importFile.${v[$DEV_NAME_Field]}
+         checkForErrors "writing to file $importFile.${v[$DEV_NAME_Field]}" $?
+       fi
+       ;;
+
+    $SG_DISKS )  # This line describes a disk.
+       # Decide if this disk is to be imported.  If the disk belongs to some
+       # file system, the importThisFileSystem flag already has the correct
+       # value.  If this is a free disk, it will be imported only if all file
+       # systems are being imported.  Note that the importThisFileSystem flag
+       # is used to control the importing of disks that are part of some file
+       # system as well as the importing of free disks.
+       if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+       then
+         if [[ -z $importAll ]]
+         then
+           importThisFileSystem=""
+         else
+           importThisFileSystem=true
+           # If not done already, put an informational message.
+           if [[ -z $freeDiskStartMsg ]]
+           then
+             # Put an informational message:  processing free disks ...
+             print -- ""  # Output a blank separator line.
+             printInfoMsg 98 $mmcmd
+             freeDiskStartMsg=issued
+           fi
+         fi  # end if [[ -z $importAll ]]
+       fi  # end if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+
+       # If this disk belongs to a file system being imported, verify that
+       # there are no name conflicts.  If there is a name conflict with a
+       # disk that is part of a file system, that file system is dropped.
+       # If the conflict is with a free disk, only that disk is dropped.
+       if [[ -n $importThisFileSystem ]]
+       then
+         # Put an informational message:  processing disk ...
+         printInfoMsg 251 $mmcmd ${v[$DISK_NAME_Field]}
+         # Check the name.
+         conflictingDisk=$($grep -w ${v[$DISK_NAME_Field]} $existingDisks 2>/dev/null)
+         if [[ -n $conflictingDisk ]]
+         then
+           # There is already a disk with the same name.
+           printErrorMsg 51 $mmcmd ${v[$DISK_NAME_Field]}
+           if [[ ${v[$DEV_NAME_Field]} != $NO_DEVICE ]]
+           then
+             failedFileSystems="${failedFileSystems}\n\t${v[$DEV_NAME_Field]}"
+             $rm -f $importFile.${v[$DEV_NAME_Field]} $resetNSDs.${v[$DEV_NAME_Field]}
+           fi
+           importThisFileSystem=""
+         fi  # end if [[ -n $conflictingDisk ]]
+       fi  # end of if [[ -n $importThisFileSystem ]]
+
+       # If the file system will be imported and there are no problems so far,
+       # add the lines to the temporary files with the file system information.
+       if [[ -n $importThisFileSystem ]]
+       then
+         # Ensure the disk is of the correct type for the cluster.
+         importDiskOutput=$(importDisk_$targetCluster  \
+              $sourceCluster $sdrfsLine $targetNodesetId $changeSpecFile)
+         rc=$?
+
+         # The output of importDisk consists of a one word overall result,
+         # followed by the updated SG_DISKS line.  Separate the two parts.
+         importDiskResult=${importDiskOutput%% *}
+         newDiskLine="${importDiskOutput#* }"
+         if [[ $importDiskResult = success* ]]
+         then
+           if [[ ${v[$DEV_NAME_Field]} = $NO_DEVICE ]]
+           then
+             print -- ${newDiskLine} >> $importedFreeDisks
+             checkForErrors "writing to file $importedFreeDisks" $?
+           else
+             print -- ${newDiskLine} >> $importFile.${v[$DEV_NAME_Field]}
+             checkForErrors "writing to file $importFile.${v[$DEV_NAME_Field]}" $?
+           fi
+
+           if [[ $importDiskResult = successServersRemoved ]]
+           then
+             if [[ ${v[$DEV_NAME_Field]} = $NO_DEVICE ]]
+             then
+               print -- "\t${v[$DISK_NAME_Field]}" >> $resetFreeDisks
+               checkForErrors "writing to file $resetFreeDisks" $?
+             else
+               print -- "\t${v[$DISK_NAME_Field]}" >> $resetNSDs.${v[$DEV_NAME_Field]}
+               checkForErrors "writing to file $resetNSDs.${v[$DEV_NAME_Field]}" $?
+             fi
+           fi  # end if [[ $importDiskResult = successServersRemoved ]]
+
+           # Keep track of the highest NSD number assigned to a disk.
+           if [[ ${v[$DISK_NAME_Field]} = gpfs+([0-9])nsd ]]
+           then
+             nsdName=${v[$DISK_NAME_Field]}
+             nsdNumber=${nsdName#gpfs}
+             nsdNumber=${nsdNumber%nsd}
+             [[ $nsdNumber -gt $maxDiskNumber ]] && maxDiskNumber=$nsdNumber
+           fi
+
+         else
+           # There is a problem with this disk;
+           # free disk errors are reported but ignored.
+           printErrorMsg 50 $mmcmd ${v[$DISK_NAME_Field]}
+           if [[ ${v[$DEV_NAME_Field]} != $NO_DEVICE ]]
+           then
+             failedFileSystems="${failedFileSystems}\n\t${v[$DEV_NAME_Field]}"
+             $rm -f $importFile.${v[$DEV_NAME_Field]} $resetNSDs.${v[$DEV_NAME_Field]}
+             importThisFileSystem=""
+           fi
+         fi  # end of if [[ $importDiskResult = success* ]]
+       fi  # end of if [[ -n $importThisFileSystem ]]
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end of case ${v[$LINE_TYPE_Field]} in
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+###################################################################
+# Add to the new mmsdrfs file the information for all file systems
+# that have not encountered any problems so far.
+###################################################################
+for fs in $($ls $importFile.* 2>/dev/null)
+do
+  $cat $fs >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+  fsToImport="$fsToImport\n\t${fs#$importFile.}"
+done
+
+# Add the imported free disks, if any.
+if [[ -s $importedFreeDisks ]]
+then
+  $cat $importedFreeDisks >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+fi
+
+# If nothing was imported, there is no sense continuing.
+if [[ -z $fsToImport && ! -s $importedFreeDisks ]]
+then
+  # There is nothing to do.  Issue appropriate messages.
+  if [[ -n $importAll && -z $someFsFound ]]
+  then
+    # There is no file system information in the input file.
+    printErrorMsg 273 $mmcmd $fsImportData
+  elif [[ -z $importAll && -z $specifiedFsFound ]]
+  then
+    # The file system was not found in the input file.
+    printErrorMsg 274 $mmcmd $device $fsImportData
+  else
+    :  # nothing here for now
+  fi
+
+  # Tell the user which file systems had problems.
+  if [[ -n $failedFileSystems ]]
+  then
+    # Report the file systems that were not imported.
+    print -- ""   # Output a blank separator line.
+    printErrorMsg 275 $mmcmd "$failedFileSystems"
+  fi
+
+  # The command failed.
+  printErrorMsg 389 $mmcmd
+  cleanupAndExit
+fi
+
+
+########################################################
+# Update the HIGHEST_GPFS_DISK_NBR_Field if necessary.
+########################################################
+$rm -f $tmpfile   # Make sure there is nothing in the file.
+if [[ $maxDiskNumber -gt $prevMaxDiskNumber && $MMMODE = lc ]]
+then
+  $awk -F:  '                                                                 \
+     # If this is the global header line, change the max NSD number.          \
+     /^'$GLOBAL_ID:$VERSION_LINE:'/ {                                         \
+        { $'$HIGHEST_GPFS_DISK_NBR_Field' = "'$maxDiskNumber'" }              \
+        { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$tmpfile'" }  \
+        { next }                                                              \
+     }                                                                        \
+     # All other lines are echoed without change.                             \
+     { print $0 >> "'$tmpfile'" }                                             \
+  ' $newsdrfs
+  checkForErrors awk $?
+
+  # The file was updated successfully.
+  $mv $tmpfile $newsdrfs
+  checkForErrors "mv $outfile $newsdrfs" $?
+fi
+
+
+############################################
+# Sort the new version of the mmsdrfs file.
+############################################
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+checkForErrors "sorting $newsdrfs" $?
+
+
+############################################################
+# Replace the mmsdrfs file in the sdr with the new version.
+############################################################
+print -- ""   # Output a blank separator line.
+print -- "$mmcmd: Committing the changes ..."
+
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # Cannot replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+###################################################################
+# Unlock the sdr.
+###################################################################
+freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+######################################################################
+# Issue messages summarizing the results and what remains to be done.
+######################################################################
+print -- ""   # Output a blank separator line.
+# Tell the user which file systems were successfully imported.
+[[ -n $fsToImport ]] &&  \
+  print -u2 "$mmcmd: The following file systems were successfully imported: $fsToImport"
+
+# Tell the user which disks may need new server nodes.
+for fs in $($ls $resetNSDs.* 2>/dev/null)
+do
+  print -u2 "$mmcmd: The NSD servers for the following disks from file system ${fs#$resetNSDs.} were reset or not defined:"
+  $cat $fs 1>&2
+  mmchnsdMessageNeeded=true
+done
+# Add the imported free disks, if any.
+if [[ -s $resetFreeDisks ]]
+then
+  print -u2 "$mmcmd: The NSD servers for the following free disks were reset or not defined:"
+  $cat $resetFreeDisks 1>&2
+  mmchnsdMessageNeeded=true
+fi
+[[ -n $mmchnsdMessageNeeded ]] &&  \
+  print -u2 "$mmcmd: Use the mmchnsd command to assign NSD servers as needed."
+
+# Tell the user which file systems were not imported.
+[[ -n $failedFileSystems ]] &&  \
+  print -u2 "$mmcmd: The following file systems were not imported: $failedFileSystems"
+
+
+#################################################################
+# Propagate the new mmsdrfs file.  This process is asynchronous.
+#################################################################
+propagateSdrfsFile async $allClusterNodes $newsdrfs $newGenNumber rereadnsd
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlinkfileset
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlinkfileset	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlinkfileset	(revision 16)
@@ -0,0 +1,224 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)44 1.8 src/avs/fs/mmfs/ts/admin/mmlinkfileset.sh, mmfs, avs_rgpfs24, rgpfs240610b 1/23/06 01:56:54
+###############################################################################
+#
+# Usage:
+#   mmlinkfileset Device FilesetName [-J JunctionPath]
+#
+# where:
+#   Device            is the device name of the file system.
+#
+#   FilesetName       is the fileset name.
+#
+#   JunctionPath      is the fileset junction path name.
+#                     If not specified, it defaults to $PWD/FilesetName
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmlinkfileset.sh"
+[[ -n $DEBUG || -n $DEBUGmmlinkfileset ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+usageMsg=515
+
+
+# Local functions
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2 ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+fqDeviceName="/dev/$deviceName"    # fully-qualified name (with /dev/ prefix)
+
+# The second argument is always the fileset name.
+filesetName=$arg2
+
+# Move past the positional parameters.
+shift 2
+
+# Process the rest of the parameters.
+while getopts :J: OPT
+do
+  case $OPT in
+    J) # New junction name
+       [[ -n $Jflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Jflag="-$OPT"; Jarg="$OPTARG"
+       junctionName=$Jarg
+       ;;
+
+    +[J]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done  # end of while getopts :J: OPT do
+shift OPTIND-1
+
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# If not specified, default the junction name to the fileset name.
+[[ -z $junctionName ]] && junctionName="$filesetName"
+
+
+######################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs file is up-to-date.  There is no need to lock the file.
+######################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+# The file system must be mounted.
+mountPoint=$(findMountpoint $deviceName)
+if [[ -z $mountPoint ]]
+then
+  # File system is not mounted.
+  printErrorMsg 552 $mmcmd $device
+  cleanupAndExit
+fi
+
+# Find the device ID of the mounted GPFS file system.
+gpfsDeviceID=$($perl -e '($dev) = stat "'$mountPoint'"; printf "%u", $dev;')
+
+
+#############################
+# Verify the junction name.
+#############################
+# Ensure the junction path name is fully qualified.
+[[ $junctionName != /* ]] && junctionName="${PWD%/}/${junctionName}"
+junctionName=${junctionName%%/}  # Strip any trailing slashes.
+
+checkName lengthCheckOnly 1023 "$junctionName"
+[[ $? -ne 0 ]] && cleanupAndExit
+
+# Find the last component of the junction name and its parent directory.
+junctionBaseName=${junctionName##*/}
+junctionParentDir=${junctionName%/*}
+
+checkName junctionName 255 "$junctionBaseName"
+[[ $? -ne 0 ]] && cleanupAndExit
+
+if [[ $junctionBaseName = '.' || $junctionBaseName = '..' ]]
+then
+  # Name is not allowed.
+  printErrorMsg 551 $mmcmd "$junctionName"
+  cleanupAndExit
+fi
+
+# Find the device ID and inode number of the new junction's parent directory.
+# The result is a colon-separated device and inode numbers.
+junctionDevAndIno=$($perl -e ' ($dev,$ino) = stat "'$junctionParentDir'";
+                               if ($dev ne "") { printf "%u:%u", $dev,$ino }')
+
+# The new junction must be created within the mounted file system.
+if [[ $gpfsDeviceID != ${junctionDevAndIno%:*} ]]
+then
+  printErrorMsg 550 $mmcmd "$junctionName" $device
+  cleanupAndExit
+fi
+
+# Create the extended junction path name.
+junctionName="/GPFS:${junctionDevAndIno#*:}${junctionName}"
+
+
+####################################
+# Invoke the tslinkfileset command.
+####################################
+$tslinkfileset $fqDeviceName "$filesetName" -J "$junctionName"
+rc=$(remapRC $?)
+
+if [[ $rc -eq $MM_DaemonDown ]]
+then
+  # GPFS is down on this node.
+  printErrorMsg 109 $mmcmd
+elif [[ $rc -eq $MM_QuorumWait ]]
+then
+  # GPFS is not ready for commands.
+  printErrorMsg 110 $mmcmd
+elif [[ $rc -eq $MM_ConnectionReset ]]
+then
+  # An internode connection was reset.
+  printErrorMsg 257 $mmcmd
+else
+  # Either the command worked, or it is an unexpected error.
+  : # [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tslinkfileset" $rc
+fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+
+# if [[ $rc -ne 0 ]]
+# then
+#   # tslinkfileset failed.
+#   printErrorMsg 104 $mmcmd tslinkfileset
+#   cleanupAndExit $rc
+# fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsattr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsattr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsattr	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tslsattr
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlscluster
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlscluster	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlscluster	(revision 16)
@@ -0,0 +1,192 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)33 1.35 src/avs/fs/mmfs/ts/admin/mmlscluster.sh, mmfs, avs_rgpfs24, rgpfs240610b 8/11/05 01:46:29
+##########################################################################
+#
+#  List data for the nodes that belong to a GPFS cluster.
+#
+#  Usage:  mmlscluster
+#
+##########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmlscluster.sh"
+[[ -n $DEBUG || -n $DEBUGmmlscluster ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+# Local variables
+usageMsg=357
+firstFreenode=yes
+
+underline="----------------------------------------------------------"
+underline="${underline}----------------------------------------------"
+dblunderline="======================================================="
+dblunderline="${dblunderline}========================================"
+
+
+#############################
+# Check the input arguments.
+#############################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -ge 1 ]] &&  \
+  syntaxError "extraArg"  $usageMsg "$arg1"
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest
+# of the GPFS system files are up-to-date.  No need to lock the sdr.
+#######################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+##################################################################
+# Determine the value of the uidDomain parameter.  We do this
+# separately because the value is not kept in the version line
+# while we want to display it early in the mmlscluster output.
+##################################################################
+uidDomain=$(showCfgValue uidDomain)
+
+
+##################################################################
+# Prepare the mmsdrfs file.  This involves an additional sorting
+# to assure that the node numbers come out in numerical order.
+##################################################################
+LC_ALL=C $sort -t: -k 1,1 -k 3,3 -k 2,2 -k 5,5n -k 4,4n $mmsdrfsFile -o $tmpsdrfs
+checkForErrors sort $?
+
+
+################################
+# Display the principal header.
+################################
+header=$(printInfoMsg 400)
+printf "\n%s\n%.${#header}s\n" "$header" "$dblunderline"
+
+
+###############################################
+# Display the information in the mmsdrfs file.
+###############################################
+IFS=":"
+exec 3<&-
+exec 3< $tmpsdrfs
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+  IFS="$IFS_sv"
+
+  # Display information from some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )
+      # Ensure we have the correct paths for the remote commands.
+      [[ -z ${v[$RSH_PATH_Field]} || ${v[$RSH_PATH_Field]} = "_DEFAULT_" ]] && \
+        v[$RSH_PATH_Field]=$rsh
+      [[ -z ${v[$RCP_PATH_Field]} || ${v[$RCP_PATH_Field]} = "_DEFAULT_" ]] && \
+        v[$RCP_PATH_Field]=$rcp
+
+      # Display the GPFS cluster type and id.
+      printInfoMsg 430 ${v[$CLUSTER_NAME_Field]}
+      printInfoMsg 434 ${v[$CLUSTERID_Field]}
+
+      # Display the UID domain value.
+      [[ -z $uidDomain ]] && uidDomain=${v[$CLUSTER_NAME_Field]}
+      printInfoMsg 451 $uidDomain
+
+      # If this is not a single node cluster,
+      # display remote command paths, network information, etc.
+      if [[ $environmentType != single ]]
+      then
+        # Display the remote commands in effect.
+        printInfoMsg 435 ${v[$RSH_PATH_Field]}
+        printInfoMsg 436 ${v[$RCP_PATH_Field]}
+
+        # Display the primary and secondary servers.
+        header=$(printInfoMsg 401)
+        printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+        printInfoMsg 402 ${v[$PRIMARY_SERVER_Field]}
+        [[ -z ${v[$BACKUP_SERVER_Field]} || ${v[$BACKUP_SERVER_Field]} = "_NOSECONDARY_" ]] &&  \
+          v[$BACKUP_SERVER_Field]=$(printInfoMsg 409)
+        printInfoMsg 403 ${v[$BACKUP_SERVER_Field]}
+      fi  # end if [[ $environmentType != single ]]
+
+      # Display the header line for the node information.
+      # " Node  Daemon node name   IP address  Admin node name  Designation"
+      header=$(printInfoMsg 404)
+      printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+      ;;
+
+    $MEMBER_NODE )
+
+      if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+      then
+        if [[ ${v[$DESIGNATION_Field]} = $MANAGER ]]
+        then
+          nodeRole=$(printInfoMsg 414)  # "quorum-manager"
+        else
+          nodeRole=$(printInfoMsg 475)  # "quorum"
+        fi
+      else
+        if [[ ${v[$DESIGNATION_Field]} = $MANAGER ]]
+        then
+          nodeRole=$(printInfoMsg 482)  # "manager"
+        else
+          nodeRole=""
+        fi
+      fi
+
+      if [[ -n ${v[$DAEMON_NODENAME_Field]} ]]
+      then
+        daemonNodeName=${v[$DAEMON_NODENAME_Field]}
+      else
+        daemonNodeName=${v[$REL_HOSTNAME_Field]}
+      fi
+ 
+      printf "%4s %1s %-27s %-16s %-27s %s\n"  \
+             "${v[$NODE_NUMBER_Field]}" "$BLANKchar" "$daemonNodeName"  \
+             "${v[$IPA_Field]}" "${v[$REL_HOSTNAME_Field]}" "$nodeRole"
+      ;;
+
+    * )  # No need to look at any of the other lines.
+      ;;
+
+  esac  # end of Display information from some of the fields
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end of while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+######################
+# Cleanup and return.
+######################
+print ""                   # Add a blank line for nicer formatting.
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsconfig
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsconfig	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsconfig	(revision 16)
@@ -0,0 +1,549 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)46 1.13.1.1 src/avs/fs/mmfs/ts/admin/mmlsconfig.sh, mmfs, avs_rgpfs24, rgpfs24s011a 3/28/07 19:15:23
+##########################################################################
+#
+#  List the GPFS configuration data for the cluster.
+#
+#  Usage:  mmlsconfig [Attribute[,Attribute...] [-Y]
+#
+##########################################################################
+
+# Include global declarations and service routines
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmlsconfig.sh"
+[[ -n $DEBUG || -n $DEBUGmmlsconfig ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+# Local variables
+usageMsg=370
+underline="----------------------------------------------------------"
+underline="${underline}----------------------------------------------"
+
+typeset -l cfgParm_lc
+
+# Local routines
+
+#############################################################################
+#
+# Function:  Determine the value of the specified mmfs.cfg parameter.
+#
+# Input:     $1 - mmfs.cfg parameter name.
+#            $2 - default value
+#            $3 - mmfs.cfg file to use.
+#            $4 - line prefix string (implies colon separated output)
+#
+# Output:    The value of the mmfs.cfg parameter.  Multiple lines are possible
+#            if there are node overrides.
+#
+# Returns:   0 - worked
+#            1 - unexpected error
+#
+#############################################################################
+function listCfgValue  # <parmName> <default> <cfgFile> [<prefix>]
+{
+  typeset sourceFile="mmlsconfig.sh"
+  [[ -n $DEBUG || -n $DEBUGlistCfgValue ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset parm=$1
+  typeset defaultValue=$2
+  typeset cfgFile=$3
+  typeset linePrefix=$4
+
+  typeset separatorChar=" "
+
+  # Verify input parameters.
+  if [[ $# -lt 3 ]]
+  then
+    operands="<parmName> <default> <cfgFile> [<prefix>]"
+    printErrorMsg 260 listCfgValue "$operands"
+    cleanupAndExit
+  fi
+
+  [[ -n $linePrefix ]] && separatorChar=":"
+
+  # Find the setting of the parameter from the specified config file.
+  $awk -v parm="$parm" -v defaultValue="$defaultValue" \
+       -v sep="$separatorChar" -v prefix="$linePrefix" '
+    BEGIN {
+      { globalScope = 1 }
+      { nodeList = "" }
+      { n = 0 }
+      { value[0] = defaultValue }
+      { nodes[0] = "" }
+    }
+
+    # If this is the end of a node-override section,
+    # set the flag to accept parameter values.
+    $1 == "[common]" {
+      { globalScope = 1 }
+      { next }
+    }
+
+    # If this is the start of a node-override section,
+    # save the node list.
+    /^\[.*]/ || /^[     ]*\[.*]/ {
+      { globalScope = 0 }
+      nodeList = $1
+      if (prefix) {
+        # Remove the brackets.
+        sub("\\[","",nodeList)
+        sub("]","",nodeList)
+      }
+      { next }
+    }
+
+    # If this is a declaration for our parameter, save the value.
+    $1 == parm {
+      if (globalScope) {
+        { nodeList = "" }
+        { n = 0 }
+      }
+      else {
+        { n++ }
+      }
+      # Add code to save the entire line minus $1
+      { value[n] = $2 }
+      { nodes[n] = nodeList }
+    }
+
+    END {
+      # Print the result.
+      for (i=0; i<=n; i++) {
+        print prefix parm sep value[i] sep nodes[i] sep
+      }
+    }
+  ' $cfgFile
+  checkForErrors awk $?
+
+  return 0
+
+}  #----- end of function listCfgValue ---------------------------
+
+
+#############################
+# Check the input arguments.
+#############################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+if [[ $arg1 = '-Y' ]]
+then
+  Yopt=true
+  parmList="$arg2"
+  [[ -n $arg3 ]] && syntaxError "extraArg"  $usageMsg "$arg3"
+else
+  parmList="$arg1"
+  [[ $arg2 = '-Y' ]] && Yopt=true
+  if [[ $arg2 = '-Y' ]]
+  then
+    Yopt=true
+    [[ -n $arg3 ]] && syntaxError "extraArg"  $usageMsg "$arg3"
+  else
+    [[ -n $arg2 ]] && syntaxError "extraArg"  $usageMsg "$arg2"
+  fi
+fi  # end of if [[ $arg1 = '-Y' ]]
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest
+# of the GPFS system files are up-to-date.  No need to lock the sdr.
+#######################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+#################################################################
+# Loop through the mmsdrfs file and collect needed information.
+#################################################################
+$rm -f $tmpfile
+IFS=":"         # Change the field separator to ':'
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )
+       # Extract the cluster name.
+       clusterName=${v[$CLUSTER_NAME_Field]}
+       ;;
+
+    $SG_HEADR )
+       # Collect the names of all local file systems.
+       if [[ ${v[$NODESETID_Field]} = $HOME_CLUSTER ]]
+       then
+         print -- "/dev/${v[$DEV_NAME_Field]}" >> $tmpfile
+         checkForErrors "writing to file $tmpfile" $?
+       fi
+       ;;
+
+    * )  # No need to look at any of the other lines
+      ;;
+
+  esac  # end case ${v[$LINE_TYPE_Field]} in
+
+  IFS=":"  # Change the separator back to ":" for the next iteration
+
+done  # end while read -u3
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+# The config information is in the file mmfscfgFile.
+# If the traditional default output is desired, display
+# the content skipping comment and empty lines.
+if [[ -z $parmList && -z $Yopt ]]
+then
+  header=$(printInfoMsg 407 $clusterName)
+  printf "%s\n%.${#header}s\n" "$header" "$underline"
+
+  $egrep -v -e "^([$BLANKchar$TABchar])*#"  \
+            -e "^([$BLANKchar$TABchar])*$" $mmfscfgFile
+
+  # Display the names of the locally owned file systems.
+  header=$(printInfoMsg 408 $clusterName)
+  printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+  if [[ -s $tmpfile ]]
+  then
+    $cat $tmpfile
+  else
+    # There are no file systems
+    printInfoMsg 409
+  fi
+
+  cleanupAndExit 0
+fi  # end of if [[ -z $parmList && -z $separatorChar ]]
+
+
+# If we are here, either specific paramters were requested
+# and/or colon separated output is desired.
+if [[ -n $Yopt ]]
+then
+  # Generate and print the header line.
+  hdrLine="mmlsconfig::HEADER:version:reserved:reserved"
+  hdrLine="${hdrLine}:configParameter:value:nodeList"
+  print -- "${hdrLine}:"
+
+  # Generate the prefix for the data lines.
+  linePrefix="mmlsconfig::0:1:::"
+fi  # end of if [[ -n $Yopt ]]
+
+# If no specific parameters were requested, show all
+# offciallly supported and documented paramters.
+if [[ -z $parmList || $parmList = all ]]
+then
+  parmList="autoload,automountDir,cipherList,clusterId,clusterName"
+  parmList="${parmList},dataStructureDump,distributedTokenServer"
+  parmList="${parmList},dmapiEventTimeout,dmapiMountTimeout,dmapiSessionFailureTimeout"
+  parmList="${parmList},maxblocksize,maxFilesToCache,maxMBpS,maxStatCache"
+  parmList="${parmList},nsdServerWaitTimeForMount,nsdServerWaitTimeWindowOnMount"
+  parmList="${parmList},pagepool,prefetchThreads,subnets,uidDomain"
+  parmList="${parmList},unmountOnDiskFail,worker1Threads"
+fi  # end of if [[ -z $parmList ]]
+
+
+IFS=","
+for cfgParm in $parmList
+do
+  IFS="$IFS_sv"
+  cfgParm_lc=$cfgParm
+
+  case $cfgParm_lc in
+    autoload )
+      defaultValue="no"; cfgParm=autoload ;;
+    allowdummyconnections )
+      defaultValue="no"; cfgParm=allowDummyConnections ;;
+    allowremoteconnections )
+      defaultValue="no"; cfgParm=allowRemoteConnections ;;
+    allowsynchronousfcntlretries )
+      defaultValue="yes"; cfgParm=allowSynchronousFcntlRetries ;;
+    assertonstructureerror )
+      defaultValue="no"; cfgParm=assertOnStructureError ;;
+    asyncsocketnotify )
+      defaultValue="no"; cfgParm=asyncSocketNotify ;;
+    automountdir )
+      defaultValue="/gpfs/automountdir"; cfgParm=automountDir ;;
+    autosgloadbalance )
+      defaultValue="no"; cfgParm=autoSgLoadBalance ;;
+    cipherlist )
+      defaultValue="(undefined)"; cfgParm=cipherList ;;
+    clusterid )
+      defaultValue="(undefined)"; cfgParm=clusterId ;;
+    clustername )
+      defaultValue="(undefined)"; cfgParm=clusterName ;;
+    crashdump )
+      defaultValue="0"; cfgParm=crashdump ;;
+    datastructuredump )
+      defaultValue="yes"; cfgParm=dataStructureDump ;;
+    datastructuredumponsgpanic )
+      defaultValue="no"; cfgParm=dataStructureDumpOnSGPanic ;;
+    distributedtokenserver )
+      defaultValue="yes"; cfgParm=distributedTokenServer ;;
+    dmapienable )
+      defaultValue="yes"; cfgParm=dmapiEnable ;;
+    dmapieventbuffers )
+      defaultValue="64"; cfgParm=dmapiEventBuffers ;;
+    dmapieventtimeout )
+      defaultValue="86400000"; cfgParm=dmapiEventTimeout ;;
+    dmapimounttimeout )
+      defaultValue="60"; cfgParm=dmapiMountTimeout ;;
+    dmapisessionfailuretimeout )
+      defaultValue="0"; cfgParm=dmapiSessionFailureTimeout ;;
+    dmapiworkerthreads )
+      defaultValue="12"; cfgParm=dmapiWorkerThreads ;;
+    eewatchdoghungthreadcutoff )
+      defaultValue="60"; cfgParm=eeWatchDogHungThreadCutoff ;;
+    eewatchdoginterval )
+      defaultValue="90"; cfgParm=eeWatchDogInterval ;;
+    enableuidremap )
+      defaultValue="no"; cfgParm=enableUIDremap ;;
+    enablestatuidremap )
+      defaultValue="no"; cfgParm=enableStatUIDremap ;;
+    enabletreebasedquotas )
+      defaultValue="no"; cfgParm=enableTreeBasedQuotas ;;
+    envvar )
+      defaultValue="(undefined)"; cfgParm=envVar ;;
+    flusheddatatarget )
+      defaultValue="32"; cfgParm=flushedDataTarget ;;
+    flushedinodetarget )
+      defaultValue="32"; cfgParm=flushedInodeTarget ;;
+    healthcheckinterval )
+      defaultValue="0"; cfgParm=healthCheckInterval ;;
+    hotlistpct )
+      defaultValue="10"; cfgParm=hotlistPct ;;
+    ignorereplicaspaceonstat )
+      defaultValue="no"; cfgParm=IgnoreReplicaSpaceOnStat ;;
+    iohistorysize )
+      defaultValue="512"; cfgParm=ioHistorySize ;;
+    leasedmstimeout )
+      defaultValue="2/3 leaseDuration"; cfgParm=leaseDMSTimeout ;;
+    leaseduration )
+      defaultValue="35"; cfgParm=leaseDuration ;;
+    leaserecoverywait )
+      defaultValue="35"; cfgParm=leaseRecoveryWait ;;
+    license )
+      defaultValue="(undefined)"; cfgParm=LICENSE ;;
+    listenonallinterfaces )
+      defaultValue="yes"; cfgParm=listenOnAllInterfaces ;;
+    maxallocpcttocache )
+      defaultValue="0"; cfgParm=maxAllocPctToCache ;;
+    maxbackgrounddeletionthreads )
+      defaultValue="4"; cfgParm=maxBackgroundDeletionThreads ;;
+    maxblocksize )
+      defaultValue="1M"; cfgParm=maxblocksize ;;
+    maxbufferdescs )
+      defaultValue="-1"; cfgParm=maxBufferDescs ;;
+    maxdatashippoolsize )
+      defaultValue="266240"; cfgParm=maxDataShipPoolSize ;;
+    maxdiskaddrbuffs )
+      defaultValue="-1"; cfgParm=maxDiskAddrBuffs ;;
+    maxfcntlrangesperfile )
+      defaultValue="200"; cfgParm=maxFcntlRangesPerFile ;;
+    maxfilecleaners )
+      defaultValue="8"; cfgParm=maxFileCleaners ;;
+    maxfilestocache )
+      defaultValue="1000"; cfgParm=maxFilesToCache ;;
+    maxinodedeallochistory )
+      defaultValue="50"; cfgParm=maxInodeDeallocHistory ;;
+    maxinodedeallocprefetch )
+      defaultValue="8"; cfgParm=maxInodeDeallocPrefetch ;;
+    maxmbps )
+      defaultValue="150"; cfgParm=maxMBpS ;;
+    maxmissedpingtimeout )
+      defaultValue="60"; cfgParm=maxMissedPingTimeout ;;
+    maxnfsdelegationtimeout )
+      defaultValue="60"; cfgParm=maxNFSDelegationTimeout ;;
+    maxreceiverthreads )
+      defaultValue="16"; cfgParm=maxReceiverThreads ;;
+    maxsgdesciobufsize )
+      defaultValue="262144"; cfgParm=maxSGDescIOBufSize ;;
+    maxstatcache )
+      defaultValue="4*maxFilesToCache"; cfgParm=maxStatCache ;;
+    maxtokenservers )
+      defaultValue="128"; cfgParm=maxTokenServers ;;
+    minmissedpingtimeout )
+      defaultValue="8"; cfgParm=minMissedPingTimeout ;;
+    minquorumnodes )
+      defaultValue="1"; cfgParm=minQuorumNodes ;;
+    mmapkprocs )
+      defaultValue="3"; cfgParm=mmapKprocs ;;
+    mmsdrservtimeout )
+      defaultValue="10"; cfgParm=mmsdrservTimeout ;;
+    mmsdrservworkerpool )
+      defaultValue="10"; cfgParm=mmsdrservWorkerPool ;;
+    multitmmountthreshold )
+      defaultValue="2"; cfgParm=multiTMMountThreshold ;;
+    nfsprefetchstrategy )
+      defaultValue="0"; cfgParm=nfsPrefetchStrategy ;;
+    nsdbufspace )
+      defaultValue="30"; cfgParm=nsdbufspace ;;
+    nsdinlinewritemax )
+      defaultValue="1024"; cfgParm=nsdInlineWriteMax ;;
+    nsdmaxworkerthreads )
+      defaultValue="32"; cfgParm=nsdMaxWorkerThreads ;;
+    nsdminworkerthreads )
+      defaultValue="8"; cfgParm=nsdMinWorkerThreads ;;
+    nsdservercheckingintervalformount )
+      defaultValue="10"; cfgParm=nsdServerCheckingIntervalForMount ;;
+    nsdserverwaitconfig )
+      defaultValue="2"; cfgParm=nsdServerWaitConfig ;;
+    nsdserverwaittimeformount )
+      defaultValue="300"; cfgParm=nsdServerWaitTimeForMount ;;
+    nsdserverwaittimewindowonmount )
+      defaultValue="600"; cfgParm=nsdServerWaitTimeWindowOnMount ;;
+    nsdthreadsperdisk )
+      defaultValue="3"; cfgParm=nsdThreadsPerDisk ;;
+    opensslenginename )
+      defaultValue="(undefined)"; cfgParm=opensslEngineName ;;
+    openssllibname )
+      defaultValue="(undefined)"; cfgParm=openssllibname ;;
+    pagepool )
+      defaultValue="64M"; cfgParm=pagepool ;;
+    panicondiskfail )
+      defaultValue="no"; cfgParm=unmountOnDiskFail ;;
+    pcttokenmgrstorageuse )
+      defaultValue="25"; cfgParm=pctTokenMgrStorageUse ;;
+    pindaemon )
+      defaultValue="no"; cfgParm=pindaemon ;;
+    pingperiod )
+      defaultValue="2"; cfgParm=pingPeriod ;;
+    pinmaster )
+      defaultValue="stack 256K data 4096K"; cfgParm=pinmaster ;;
+    prefetchpct )
+      defaultValue="20"; cfgParm=prefetchPct ;;
+    prefetchthreads )
+      defaultValue="72"; cfgParm=prefetchThreads ;;
+    prefetchtimeout )
+      defaultValue="5"; cfgParm=prefetchTimeout ;;
+    priority )
+      defaultValue="40"; cfgParm=priority ;;
+    readreplicapolicy )
+      defaultValue="default"; cfgParm=readReplicaPolicy ;;
+    res )
+      defaultValue="(undefined)"; cfgParm=res ;;
+    retryfcntltokenthreshold )
+      defaultValue="3"; cfgParm=retryFcntlTokenThreshold ;;
+    seqdiscardthreshhold )
+      defaultValue="1M"; cfgParm=seqDiscardThreshhold ;;
+    setctimeonattrchange )
+      defaultValue="yes"; cfgParm=setCtimeOnAttrChange ;;
+    sharedmemlimit )
+      defaultValue="0"; cfgParm=sharedMemLimit ;;
+    socketrcvbuffersize )
+      defaultValue="0"; cfgParm=socketRcvBufferSize ;;
+    socketsndbuffersize )
+      defaultValue="0"; cfgParm=socketSndBufferSize ;;
+    statcachedirpct )
+      defaultValue="10"; cfgParm=statCacheDirPct ;;
+    statmaxattrage )
+      defaultValue="0"; cfgParm=statMaxAttrAge ;;
+    subnets )
+      defaultValue="(undefined)"; cfgParm=subnets ;;
+    syncinterval )
+      defaultValue="70"; cfgParm=syncInterval ;;
+    takeovertimeout )
+      defaultValue="600"; cfgParm=takeovertimeout ;;
+    tokenmemlimit )
+      defaultValue="256M"; cfgParm=tokenMemLimit ;;
+    totalpingtimeout )
+      defaultValue="120"; cfgParm=totalPingTimeout ;;
+    trace )
+      defaultValue="all 0"; cfgParm=trace ;;
+    tracebuffersizeforaix )
+      defaultValue="(undefined)"; cfgParm=traceBufferSizeForAIX ;;
+    tracedevbuffersize )
+      defaultValue="(undefined)"; cfgParm=tracedevBufferSize ;;
+    tracegendump )
+      defaultValue="(undefined)"; cfgParm=traceGenDump ;;
+    tracegensubdir )
+      defaultValue="(undefined)"; cfgParm=traceGenSubDir ;;
+    tracefilesize )
+      defaultValue="(undefined)"; cfgParm=traceFileSize ;;
+    tracelogquiet )
+      defaultValue="(undefined)"; cfgParm=traceLogQuiet ;;
+    tracerecycle )
+      defaultValue="(undefined)"; cfgParm=traceRecycle ;;
+    tscprimary )
+      defaultValue="255.255.255.255"; cfgParm=tscPrimary ;;
+    tscworkerpool )
+      defaultValue="10"; cfgParm=tscWorkerPool ;;
+    udaplrdma )
+      defaultValue="disable"; cfgParm=udaplRdma ;;
+    udaplports )
+      defaultValue="(undefined)"; cfgParm=udaplPorts ;;
+    udaplrdmaspernode )
+      defaultValue="(undefined)"; cfgParm=udaplRdmasPerNode ;;
+    udaplrdmasperconnection )
+      defaultValue="(undefined)"; cfgParm=udaplRdmasPerConnection ;;
+    udaplrdmaminbytes )
+      defaultValue="16384"; cfgParm=udaplRdmasMinBytes ;;
+    verbsrdma )
+      defaultValue="disable"; cfgParm=verbsRdma ;;
+    verbsports )
+      defaultValue="(undefined)"; cfgParm=verbsPorts ;;
+    verbsrdmaspernode )
+      defaultValue="(undefined)"; cfgParm=verbsRdmasPerNode ;;
+    verbsrdmasperconnection )
+      defaultValue="(undefined)"; cfgParm=verbsRdmasPerConnection ;;
+    verbsrdmaminbytes )
+      defaultValue="16384"; cfgParm=verbsRdmasMinBytes ;;
+    uiddomain )
+      defaultValue="(undefined)"; cfgParm=uidDomain ;;
+    uidexpiration )
+      defaultValue="36000"; cfgParm=uidExpiration ;;
+    unmountondiskfail )
+      defaultValue="no"; cfgParm=unmountOnDiskFail ;;
+    wait4rvsd )
+      defaultValue="no"; cfgParm=wait4RVSD ;;
+    waitforvsd )
+      defaultValue="no"; cfgParm=wait4RVSD ;;
+    watchdogtimeout )
+      defaultValue="20"; cfgParm=watchdogtimeout ;;
+    worker1threads )
+      defaultValue="48"; cfgParm=worker1Threads ;;
+    worker3threads )
+      defaultValue="8"; cfgParm=worker3Threads ;;
+    writealldescreplicas )
+      defaultValue="no"; cfgParm=writeAllDescReplicas ;;
+    writebehindthreshhold )
+      defaultValue="512K"; cfgParm=writebehindThreshhold ;;
+    * )
+      defaultValue="(undefined)"; cfgParm="$cfgParm" ;;
+
+  esac  # end of case $cfgParm_lc in
+
+  # Invoke the function to retrieve and display the data.
+  listCfgValue "$cfgParm" "$defaultValue" $mmfscfgFile $linePrefix
+
+done  # end of for cfgParm in $parmList
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsdisk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsdisk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsdisk	(revision 16)
@@ -0,0 +1,596 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)85 1.46 src/avs/fs/mmfs/ts/admin/mmlsdisk.sh, mmfs, avs_rgpfs24, rgpfs240610b 10/6/05 10:56:32
+#########################################################################
+#
+# Usage:
+#
+#   mmlsdisk Device [-d "DiskName[;DiskName]"] [-e] [-L]
+#
+#   mmlsdisk Device [-d "DiskName[;DiskName]"] {-m | -M}
+#
+# where
+#
+#   -e    Display all of the disks that do not have an availability
+#         of up and a status of ready.
+#
+#   -L    Display an extended list of the disk parameters, including
+#         the disk id field and the remarks field.  The remarks column
+#         shows the current file system descriptor quorum assignments,
+#         and displays the excluded disks.
+#
+#   -m    Display whether I/O requests to the disk are satisfied on
+#         the local node or via an NSD server.  The scope of this
+#         option is the node on which the mmlsdisk command is issued.
+#
+#   -M    Display whether I/O requests to the disk are satisfied on
+#         the local node or via an NSD server.  If the I/O is done
+#         via an NSD server, show the NSD server name and the actual
+#         underlying disk name on that server node.
+#         Caution:  This is a slow operation!
+#
+#
+# Undocumented options:
+#
+#   -i    Display the disk id values for each of the disks.
+#
+#########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmlsdisk.sh"
+[[ -n $DEBUG || -n $DEBUGmmlsdisk ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+tsnsdaccessResult=${tmpDir}tsnsdaccessResult.${mmcmd}.$$
+
+LOCAL_FILES=" $tsnsdaccessResult "
+
+
+# Local variables
+
+usageMsg=301
+integer rc=0
+integer nodeCount=0
+argList=""   # argList without quotes around disk list
+argListQ=""  # argList with quotes around disk list
+# underline="----------------------------------------------------------"
+# underline="${underline}----------------------------------------------"
+underline="------------  -----------------------  -----------------  ------------"
+
+
+# Local functions
+
+
+###########################################################################
+#
+# Function:  Show whether disk I/O takes place on this node or
+#            over an NSD server.  If requested, try to determine
+#            the actual disk names to which the I/O is directed.
+#
+#            Notes:
+#
+#            - The file system must be mounted on this node.
+#              The scope of the command is the current node only.
+#
+#            - If the file system is owned by some other cluster,
+#              the underlying disk names cannot be determined;
+#              we cannot run commands on nodes that do not belong
+#              to this cluster.
+#
+# Input:     $1 - device name as provided by the user
+#            $2 - fully qualified file system device name
+#            $3 - file system home cluster name
+#            $4 - disk name mapping indicator:  yes or no
+#            $5 - disk name list (optional); if not specified,
+#                 all disks in the file system are assumed
+#
+# Output:    Formatted disk access information
+#
+# Returns:   0 - no errors encountered
+#            19 (ENODEV) - options line not found
+#            22 (EINVAL) - device name is not valid
+#            1 - some other unexpected error
+#
+###########################################################################
+function displayDiskAccessInfo  # device fqDeviceName fsHomeCluster
+                                #   Moption [diskList]
+{
+  typeset sourceFile="mmlsdisk.sh"
+  [[ -n $DEBUG || -n $DEBUGdisplayDiskAccessInfo ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset device=$1
+  typeset fqDeviceName=$2
+  typeset fsHomeCluster=$3
+  typeset Moption=$4
+  typeset diskList="$5"
+
+  typeset rc=0
+  typeset displayAll=""
+
+  typeset disksToDisplay diskName diskLine tsnsdaccessLine
+  typeset magicWord nodeIPaddr localDiskName nodeName
+  typeset hostResult availability nodeBelongsToTheCluster
+  typeset diskInfo nsdId nsdSubtype getLocalDiskNameOutput
+
+  [[ $Moption != M ]] && Moption=""
+
+  # If disk list is specified, replace the ';' with blanks.
+  if [[ -n $diskList ]]
+  then
+    disksToDisplay=$(print -- "$diskList" | $sed 's/;/ /g')
+  else
+    displayAll=yes
+  fi
+
+  # Call tsnsdaccess to get the information for all disks in the file system.
+  $tsnsdaccess $fqDeviceName > $tsnsdaccessResult 2> $errMsg
+  rc=$(remapRC $?)
+
+  # Issue an appropriate message if tsnsdaccess failed.
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_FsNotFound || $rc -eq $MM_RemoteNotFound ]]
+  then
+    # The file system is not mounted on this node.
+    printErrorMsg 563 $mmcmd $device $ourNodeName
+  elif [[ $rc -eq $MM_Remotefs && $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # The file system is not owned by the remote cluster.
+    [[ $device != *:* ]] &&  \
+      printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+    printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+  elif [[ ($rc -eq $MM_HostDown    ||
+           $rc -eq $MM_TimedOut    ||
+           $rc -eq $MM_SecurityCfg ||
+           $rc -eq $MM_AuthorizationFailed ||
+           $rc -eq $MM_UnknownCluster)    &&
+          $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Failed to connect to the remote cluster.
+    [[ $rc -eq $MM_SecurityCfg ]] &&  \
+      printErrorMsg 150 $mmcmd
+    [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+      printErrorMsg 151 $mmcmd
+    printErrorMsg 105 $mmcmd $fsHomeCluster
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  elif [[ $rc -ne 0 ]]
+  then
+    # tsnsdaccess failed.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    printErrorMsg 104 "$mmcmd" "tsnsdaccess $fqDeviceName"
+  else
+    :  # The command must have worked.
+  fi  # end of if [[ $rc -eq $MM_DaemonDown ]]
+  $rm -f $errMsg
+
+  # Give up if tsnsdaccess failed.
+  [[ $rc -ne 0 ]] &&  \
+    return $rc
+
+  # Extract from the tsnsdaccess output the information for the disks
+  # that we are interested in.  Store the result in a separate file.
+  if [[ -n $displayAll ]]
+  then
+    $grep -e "tsnsdaccess:" -e "tsnsdaccess64:" $tsnsdaccessResult > $tmpfile
+  else
+    $rm -rf $tmpfile
+    for diskName in $disksToDisplay
+    do
+      diskLine=$($grep -e "tsnsdaccess:$diskName:" -e "tsnsdaccess64:$diskName:" $tsnsdaccessResult)
+      if [[ -z $diskLine ]]
+      then
+        printErrorMsg 315 $mmcmd $diskName $device
+        return 1
+      else
+        print -- "$diskLine" >> $tmpfile
+        checkForErrors "writing to file $tmpfile" $?
+      fi
+    done  # end for diskName in $disksToDisplay
+  fi  # end of if [[ -n $displayAll ]]
+
+  if [[ ! -s $tmpfile ]]
+  then
+    # Unexpected error.  This should not happen at this point.
+    print -u2 "$mmcmd:  There is no disk information to display."
+    return 1
+  fi
+
+  # Print the header line:
+  #   "Disk name   IO performed on node   Device   Availability"
+  header=$(printInfoMsg 506)
+  printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+
+  # Process the information from the tsnsdaccess call and print the results.
+  exec 3<&-
+  exec 3< $tmpfile
+  while read -u3 tsnsdaccessLine
+  do
+    # Parse the line.
+    IFS=":"
+    set -f ; set -- $tsnsdaccessLine ; set +f
+    IFS="$IFS_sv"
+    magicWord=$1
+    diskName=$2
+    localDiskName=$3
+    nodeIPaddr=$4
+    nsdSubtype=$5
+    nsdId=$6
+
+    # Determine the node name, local device name, and availability values.
+    if [[ $localDiskName = "unused" ]]
+    then
+      # The disk is not being used on any of the nodes.  The only
+      # thing that we know is that (most likely) the disk is down.
+      availability="down"
+      nodeName=$UNRESOLVED
+      localDiskName=$UNRESOLVED
+
+    elif [[ $localDiskName = "unknown" ]]
+    then
+      # The disk is active but not on this node.  The IP address refers
+      # to the NSD server for the disk.  That server may or may not be
+      # part of our cluster.  If it is not, we will attempt to get its
+      # name using the host command.
+      availability="up"
+
+      nodeName=$(getNodeInfo  \
+        $REL_HOSTNAME_Field $IPA_Field $nodeIPaddr $HOME_CLUSTER $mmsdrfsFile)
+
+      if [[ -n $nodeName ]]
+      then
+        nodeBelongsToTheCluster=yes
+      else
+        hostResult=$($host $nodeIPaddr 2>/dev/null)
+        set -f ; set -- $hostResult ; set +f
+        nodeName=$1
+        nodeBelongsToTheCluster=""
+      fi
+      [[ -z $nodeName ]] && nodeName=$nodeIPaddr
+
+      if [[ -n $Moption && -n $nodeBelongsToTheCluster ]]
+      then
+        # -M is specified and the NSD server is a member of the cluster.
+        # Find the local device name for the disk on the NSD server node.
+        getLocalDiskNameOutput=$($mmcommon on1 $nodeName  \
+             getLocalDiskName $nsdId $nsdSubtype 2>$errMsg)
+        rc=$?
+
+        # Parse the output from the getLocalDiskName function.
+        IFS=":"
+        set -f ; set -- $getLocalDiskNameOutput ; set +f
+        magicWord=$1
+        localDiskName=$2
+        IFS="$IFS_sv"
+
+        if [[ -z $localDiskName || $magicWord != getLocalDiskName ]]
+        then
+          localDiskName=$UNRESOLVED
+        fi
+        $rm -f $errMsg
+
+      else
+        # -M is not specified, or the NSD server is not a member
+        # of our cluster;  we do not know the name of the disk.
+        localDiskName=$UNRESOLVED
+
+      fi  # end of if [[ -n $Moption && -n $nodeBelongsToTheCluster ]]
+
+    else
+      # The I/O takes place on the local node.
+      availability="up"
+      nodeName="localhost"
+
+      # If this is an AIX environment, replace the /dev/r prefix with /dev/.
+      if [[ $osName = AIX && $localDiskName = +(/)dev+(/)r* ]]
+      then
+        localDiskName=${localDiskName##+(/)dev+(/)r}
+        localDiskName=/dev/$localDiskName
+      fi
+
+    fi  # end of if [[ $localDiskName = "unused" ]]
+
+    # Put out the results.
+    printf "%-13s %-24s %-18s %s\n" \
+           "$diskName" "$nodeName" "$localDiskName" "$availability"
+
+  done  # end of while read -u3 tsnsdaccessLine
+
+  return $rc
+
+}  #----- end of function displayDiskAccessInfo  ----------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#####################################################################
+# Process the command arguments.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+
+# Parse the optional parameters.  Since the disk names in the -d option
+# are separated with ';', special care must be taken when creating argList.
+# For invocations via mmcommon, the disk list must be enclosed in quotes.
+# For direct (local) invocations of tslsdisk, the disk list must not have
+# surrounding quotes.
+if [[ $argc -gt 1 ]]
+then
+  while getopts :eiLmMd: OPT
+  do
+    case $OPT in
+      e) # Display all disks that are not up and ready.
+         [[ -n $eflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         eflag="-$OPT"
+         [[ -n $mflag || -n $Mflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg $eflag $mflag $Mflag
+         argList="$argList -$OPT"
+         argListQ="$argListQ -$OPT"
+         ;;
+
+      i) # Display disk ids.
+         [[ -n $iflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         iflag="-$OPT"
+         [[ -n $mflag || -n $Mflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg $iflag $mflag $Mflag
+         argList="$argList -$OPT"
+         argListQ="$argListQ -$OPT"
+         ;;
+
+      d) # Display information for the specified disks.
+         [[ -n $dflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         diskList="$OPTARG"
+         dflag="-$OPT"
+         [[ "$diskList" = *+([-:,${BLANKchar}${TABchar}])* ]] &&  \
+           syntaxError "badSeparator_notSemicolon" $noUsageMsg
+         argList="$argList -$OPT $OPTARG "
+         argListQ="$argListQ -$OPT \"$OPTARG\" "
+         ;;
+
+      L) # Display disk ids and other information.
+         [[ -n $Lflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Lflag="-$OPT"
+         [[ -n $mflag || -n $Mflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg $Lflag $mflag $Mflag
+         argList="$argList -$OPT"
+         argListQ="$argListQ -$OPT"
+         ;;
+
+      m) # Display disk I/O path (localhost vs. NSD server).
+         [[ -n $mflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         mflag="-$OPT"
+         Moption="$OPT"
+         [[ -n $Mflag || -n $eflag || -n $iflag || -n $Lflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg $mflag $Mflag $eflag $iflag $Lflag
+         ;;
+
+      M) # Display disk I/O path (localhost vs. NSD server) and hdisk name.
+         [[ -n $Mflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Mflag="-$OPT"
+         Moption="$OPT"
+         [[ -n $mflag || -n $eflag || -n $iflag || -n $Lflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg $Mflag $mflag $eflag $iflag $Lflag
+         ;;
+
+      +[eidLmM]) # invalid option specified
+         syntaxError "invalidOption" $usageMsg $OPT
+         ;;
+
+      :) # missing required value after an option
+         syntaxError "missingValue" $usageMsg $OPTARG
+         ;;
+
+      *) # invalid option specified
+         syntaxError "invalidOption" $usageMsg $OPTARG
+         ;;
+     esac
+  done  # end of while getopts :eiLmMd: OPT
+  shift OPTIND-1
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+fi  # end of if [[ $argc -gt 1 ]]
+
+
+###################################
+# Set up trap exception handling.
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+
+elif [[ -n $Mflag ]]
+then
+  # This option requires root authority.
+  printErrorMsg 324 $mmcmd
+  cleanupAndExit
+fi  # end of if [[ $ourUid -eq 0 ]]
+
+
+####################################
+# Make sure the file system exists.
+####################################
+
+# If the invocation is not for an explicitly-remote device, obtain the
+# needed information about the filesystem from the mmsdrfs file.
+if [[ $device != *:* ]]
+then
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+  remoteDevice=$4
+
+  # If this is a remote file system, set fqDeviceName appropriately.
+  [[ $fsHomeCluster != $HOME_CLUSTER ]] &&  \
+    fqDeviceName="$fsHomeCluster:/dev/$remoteDevice"
+else
+  fqDeviceName=$device
+  deviceName=${fqDeviceName##*:}
+  fsHomeCluster=${fqDeviceName%%:*}
+  remoteDevice=$deviceName
+fi  # end of if [[ $device != *:* ]]
+
+
+############################################
+# Process the -m and -M options separately.
+############################################
+if [[ -n $mflag || -n $Mflag ]]
+then
+  displayDiskAccessInfo $device $fqDeviceName $fsHomeCluster $Moption "$diskList"
+  cleanupAndExit $?
+fi  # end of if [[ -n $mflag || -n $Mflag ]]
+
+
+########################################################################
+# Invoke the command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the file system is remote
+#   - we are not running as UID 0
+#   - this is a single node cluster
+########################################################################
+${mmcmdDir}/${links}/mmlsdisk $fqDeviceName $argList 2>$errMsg
+rc=$(remapRC $?)
+if [[ ($rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+      $fsHomeCluster != $HOME_CLUSTER                    ||
+      $ourUid -ne 0                                      ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_FsNotFound ]]
+  then
+    if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+    then
+      # The remote cluster does not know anything about this file system.
+      printErrorMsg 108 $mmcmd $remoteDevice $fsHomeCluster
+    else
+      # Unexpected error.
+      printErrorMsg 171 $mmcmd "file system $deviceName not found" $rc
+    fi
+  elif [[ ($rc -eq $MM_HostDown    ||
+           $rc -eq $MM_TimedOut    ||
+           $rc -eq $MM_SecurityCfg ||
+           $rc -eq $MM_AuthorizationFailed ||
+           $rc -eq $MM_UnknownCluster)    &&
+          $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Failed to connect to the remote cluster.
+    [[ $rc -eq $MM_SecurityCfg ]] &&  \
+      printErrorMsg 150 $mmcmd
+    [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+      printErrorMsg 151 $mmcmd
+    printErrorMsg 105 $mmcmd $fsHomeCluster
+  elif [[ $rc -eq $MM_Remotefs && $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # The file system is not owned by the remote cluster.
+    [[ $device != *:* ]] &&  \
+      printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+    printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    if [[ -s $errMsg ]]
+    then
+      # Show the error messages from the daemon.
+      $cat $errMsg 1>&2
+    elif [[ $rc -ne 0 ]]
+    then
+      # tslsdisk failed.
+      printErrorMsg 104 "$mmcmd" "tslsdisk $fqDeviceName"
+    else
+      :  # The command must have worked.
+    fi  # end of if [[ -s $errMsg ]]
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+#########################################################################
+# We come here if the command was invoked for a local file system but
+# the local daemon is not available; send the command to an active node.
+#########################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile  \
+    mmlsdisk $fqDeviceName "$argListQ"
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsfileset
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsfileset	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsfileset	(revision 16)
@@ -0,0 +1,400 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)45 1.9.1.2 src/avs/fs/mmfs/ts/admin/mmlsfileset.sh, mmfs, avs_rgpfs24, rgpfs24s005a 6/14/06 14:40:28
+################################################################################
+#
+# Usage:
+#   mmlsfileset Device [[FilesetNameList] [-J JunctionPathList]] | -F FileName]
+#                       [-L] [-d] [-i]
+#
+# where:
+#   Device            is the device name of the file system.
+#
+#   FilesetNameList   is a comma-separated list of fileset names.
+#
+#   JunctionPathList  is a comma-separated list of junction path names.
+#
+#   FileName          is the name of a file containing either fileset
+#                     names or junction path names.  Each line must contain
+#                     a single entry.  All junction path names must be fully
+#                     qualified path names.
+#
+#   -L                display extended information (fileset id, parent, etc.)
+#
+#   -d                display the number of blocks in use.
+#
+#   -i                display the number of i-nodes in use.
+#
+# Undocumented option:
+#   -s                display a list of snapshots for this fileset.
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmlsfileset.sh"
+[[ -n $DEBUG || -n $DEBUGmmlsfileset ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+filesetFile=${tmpDir}filesetFile.${mmcmd}.$$
+
+LOCAL_FILES=" $filesetFile "
+
+
+# Local variables
+usageMsg=518
+
+
+# Local functions
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1 ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+fqDeviceName="/dev/$deviceName"    # fully-qualified name (with /dev/ prefix)
+
+# The device name may be followed by a fileset name list
+# and a -J junction name list, or -F and a file name.
+if [[ -n $arg2 && $arg2 != "-"* ]]
+then
+  # A fileset list was specified which may or
+  # may not be followed by a junction list.
+  filesetNameList=$arg2
+  if [[ $arg3 = "-J"* ]]
+  then
+    # The fileset list is followed by a junction list.
+    junctionPathList=${arg3#-J}
+    if [[ -z $junctionPathList ]]
+    then
+      [[ $argc -lt 4  ]] && syntaxError "missingArgs" $usageMsg
+      junctionPathList=$arg4
+      shift 4
+    else
+      shift 3
+    fi
+  else
+    # The fileset list is not followed by a junction list.
+    shift 2
+  fi
+
+elif [[ $arg2 = "-J"* ]]
+then
+  # Only a junction list is specified.
+  junctionPathList=${arg2#-J}
+  if [[ -z $junctionPathList ]]
+  then
+    [[ $argc -lt 3  ]] && syntaxError "missingArgs" $usageMsg
+    junctionPathList=$arg3
+    shift 3
+  else
+    shift 2
+  fi
+
+elif [[ $arg2 = "-F"* ]]
+then
+  # A file name is specified; fileset and/or junction lists are not allowed.
+  userFilesetFile=${arg2#-F}
+  if [[ -z $userFilesetFile ]]
+  then
+    [[ $argc -lt 3  ]] && syntaxError "missingArgs" $usageMsg
+    userFilesetFile=$arg3
+    shift 3
+  else
+    shift 2
+  fi
+
+else
+  # No file name and no fileset and/or junction lists are specified.
+  shift 1
+fi
+
+
+# Process the rest of the parameters.
+while getopts :diLs OPT
+do
+  case $OPT in
+    d) # Display number of blocks in use.
+       [[ -n $dflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       dflag="-$OPT"
+       ;;
+
+    i) # Display number of inodes in use.
+       [[ -n $iflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       iflag="-$OPT"
+       ;;
+
+    L) # Display extended information.
+       [[ -n $Lflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Lflag="-$OPT"
+       ;;
+
+    s) # Display the snapshots of the fileset.
+       [[ -n $sflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       sflag="-$OPT"
+       ;;
+
+    +[diLs]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done  # end of while getopts :diLs OPT do
+shift OPTIND-1
+
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+# If a fileset list was specified, parse it and
+# put the names in a file.
+$rm -f $filesetFile
+if [[ -n $filesetNameList ]]
+then
+  IFS=','
+  set -f
+  for filesetName in $filesetNameList
+  do
+    print -- "$filesetName" >> $filesetFile
+    checkForErrors "writing to $filesetFile" $?
+  done
+  set +f
+  IFS="$IFS_sv"
+fi  # end of if [[ -n $filesetNameList ]]
+
+# If a junction list was specified, parse it and
+# put the fully-qualified path names in a file.
+if [[ -n $junctionPathList ]]
+then
+  IFS=','
+  set -f
+  for junctionName in $junctionPathList
+  do
+    [[ $junctionName != /* ]] && junctionName="${PWD%/}/${junctionName}"
+    print -- "$junctionName" >> $filesetFile
+    checkForErrors "writing to $filesetFile" $?
+  done
+  set +f
+  IFS="$IFS_sv"
+  junctionsSpecified=yes
+fi  # end of if [[ -n $junctionPathList ]]
+
+# If a file was specified, ensure the file exists and create our own copy.
+if [[ -n $userFilesetFile ]]
+then
+  checkUserFile $userFilesetFile $filesetFile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+  # See if this file contains junction path names.
+  $grep -q "^/" $filesetFile > /dev/null 2>&1
+  [[ $? -eq 0 ]] && junctionsSpecified=yes
+fi  # end of if [[ -n $userFilesetFile ]]
+
+
+#####################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs is up-to-date.  There is no need to lock the mmsdrfs.
+#####################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # The command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+#############################
+# Verify the junction names.
+#############################
+if [[ -n $junctionsSpecified ]]
+then
+  # The file system must be mounted.
+  mountPoint=$(findMountpoint $deviceName)
+  if [[ -z $mountPoint ]]
+  then
+    # The file system is not mounted.
+    printErrorMsg 552 $mmcmd $device
+    cleanupAndExit
+  fi
+
+  # Find the device ID of the mounted GPFS file system.
+  gpfsDeviceID=$($perl -e '($dev) = stat "'$mountPoint'"; printf "%u", $dev;')
+
+  # Scan the entries in the file.  If a junction path name is found,
+  # ensure the junction is within the mounted file system.
+  exec 3< $filesetFile
+  while read -u3 name
+  do
+    # Skip empty lines.
+    [[ $name = *([$BLANKchar$TABchar]) ]] && continue
+
+    if [[ $name = /* ]]
+    then
+      # This is a junction path name.
+
+      # Find the device ID and inode number of the junction.
+      # The result is a colon-separated device and inode numbers.
+      junctionDevAndIno=$($perl -e ' ($dev,$ino) = stat "'$name'";
+                                     if ($dev ne "") { printf "%u:%u", $dev,$ino }')
+
+      # The junction must be within the mounted file system.
+      if [[ $gpfsDeviceID != ${junctionDevAndIno%:*} ]]
+      then
+        printErrorMsg 550 $mmcmd $name $device
+        fatalError=yes
+      else
+        # Things look OK.  Create the extended junction path name.
+        name="/GPFS:${junctionDevAndIno#*:}${name}"
+      fi
+    fi  # end of if [[ $name = /* ]]
+
+    # Put the verified name in a temp file.
+    print -- "$name" >> $tmpfile
+    checkForErrors "writing to $tmpfile" $?
+
+  done  # end while read -u3 name
+
+  # Give up if there are errors.
+  [[ -n $fatalError ]] && cleanupAndExit
+
+  $mv $tmpfile $filesetFile
+  checkForErrors "mv $tmpfile $filesetFile" $?
+fi  # end of if [[ -n $junctionsSpecified ]]
+
+
+########################################################################
+# Invoke the tslsfileset command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - a junction path name is specified
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - this is a single node cluster
+########################################################################
+if [[ -s $filesetFile ]]
+then
+  $tslsfileset $fqDeviceName -F $filesetFile $Lflag $dflag $iflag $sflag 2>$errMsg
+  rc=$(remapRC $?)
+else
+  $tslsfileset $fqDeviceName $Lflag $dflag $iflag $sflag 2>$errMsg
+  rc=$(remapRC $?)
+fi
+
+if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ||
+      -n $junctionsSpecified || $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+#   [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tslsfileset" $rc
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+####################################################################
+# We come here if the local GPFS daemon is not ready for commands.
+# Find an active node and send the command there.
+####################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+preferredNode=$ourNodeName
+
+# Try the nodes one by one until you find a node that can execute the command.
+
+##################################
+# Invoke the tslsfileset command.
+##################################
+if [[ -s $filesetFile ]]
+then
+  $mmcommon onactive $preferredNode $nodefile    \
+     $filesetFile $NO_MOUNT_CHECK NULL $NO_LINK  \
+     tslsfileset "$fqDeviceName -F $filesetFile $Lflag $dflag $iflag $sflag"
+  rc=$?
+else
+  $mmcommon onactive $preferredNode $nodefile     \
+     $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+     tslsfileset "$fqDeviceName $Lflag $dflag $iflag $sflag"
+  rc=$?
+fi  # end of if [[ -s $filesetFile ]]
+
+# if [[ $rc -ne 0 ]]
+# then
+#   # tslsfileset failed.
+#   printErrorMsg 104 $mmcmd tslsfileset
+#   cleanupAndExit $rc
+# fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsfs	(revision 16)
@@ -0,0 +1,421 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1998,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)00 1.72 src/avs/fs/mmfs/ts/admin/mmlsfs.sh, mmfs, avs_rgpfs24, rgpfs24s003a 5/18/06 18:48:16
+###############################################################################
+#
+#  List the attributes of a file system.
+#
+#  Usage:
+#    mmlsfs Device [-a] [-A] [-B] [-d] [-D] [-E] [-f] [-F] [-i] [-I] [-j] [-k] [-K]
+#                  [-m] [-M] [-n] [-o] [-P] [-Q] [-r] [-R] [-s] [-S] [-T] [-u] [-V]
+#                  [-z]
+#
+#  If Device is "all", then the command displays information for
+#  all file systems in the cluster.
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmlsfs.sh"
+[[ -n $DEBUG || -n $DEBUGmmlsfs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+if [[ $ourUid -eq 0 ]]
+then
+  fsToDisplay=${tmpDir}fsToDisplay.${mmcmd}.$$   # file systems to list
+else
+  fsToDisplay=/tmp/fsToDisplay.${mmcmd}.$$       # use /tmp if not root
+fi
+
+LOCAL_FILES=" $fsToDisplay "
+
+
+# Local variables
+integer rc=0
+integer nodeCount=0
+usageMsg=334
+call_tslsfs=no
+underline="==================================================================="
+underline="${underline}======================================================="
+
+
+# Local routines
+
+###############################################################
+#
+# Function:  Return all GPFS file system devices.
+#
+# Input:     None
+#
+# Output:    For each file system, print:
+#              - the fully-qualified device name
+#              - the short local device name
+#              - the home cluster name
+#              - the remote device name if remote,
+#                  otherwise repeat the local device name
+#
+###############################################################
+function getAllFileSystems
+{
+  typeset sourceFile="mmlsfs.sh"
+  [[ -n $DEBUG || -n $DEBUGgetAllFileSystems ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  $awk -F: '                                    \
+    /':$SG_HEADR:'/ {                           \
+      if ($'$REMOTE_DEV_NAME_Field' == "") {    \
+        { print "/dev/"$'$DEV_NAME_Field' " "   \
+                $'$DEV_NAME_Field'        " "   \
+                $'$NODESETID_Field'       " "   \
+                $'$DEV_NAME_Field' }            \
+      } else {                                  \
+        { print "/dev/"$'$DEV_NAME_Field' " "   \
+                $'$DEV_NAME_Field'        " "   \
+                $'$NODESETID_Field'       " "   \
+                $'$REMOTE_DEV_NAME_Field' }     \
+      }                                         \
+    }                                           \
+  ' $mmsdrfsFile
+  checkForErrors awk $?
+  return 0
+
+}  #------ end of function getAllFileSystems ----------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+##################################
+# Process the command arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save the stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+
+
+# The option flags can be divided into two categories:
+# options handled by the daemon, and non-daemon options.
+# If no options are specified, the command displays all options.
+if [[ $argc -eq 1 ]]
+then
+  call_tslsfs=yes
+  nonDaemonFlags="-A -o -T"
+else
+  while getopts :aABdDEfFiIjkKmMnoPQrRsSTuVz OPT
+  do
+    case $OPT in
+      A) # display the automount option
+         nonDaemonFlags="$nonDaemonFlags -$OPT"
+         ;;
+      o) # display the additional mount options
+         nonDaemonFlags="$nonDaemonFlags -$OPT"
+         ;;
+      T) # display the additional mount options
+         nonDaemonFlags="$nonDaemonFlags -$OPT"
+         ;;
+      [aBdDEfFkKiIjmMnPQrRsSVuz])  # Some other valid option was specified.
+         call_tslsfs=yes
+         daemonFlags="$daemonFlags -$OPT"
+         ;;
+      +[aABdDEfFiIjkKmMnoPQrRsSTVuz])
+         syntaxError "invalidOption" $usageMsg $OPT
+         ;;
+      *) # invalid option specified
+         syntaxError "invalidOption" $usageMsg $OPTARG
+         ;;
+    esac
+  done
+  shift OPTIND-1
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+fi
+
+
+###################################
+# Set up trap exception handling.
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+#########################################################################
+# If device is the keyword all, create a list of all known file systems.
+# Otherwise, ensure the specified file system exists.
+#########################################################################
+if [[ $device = all ]]
+then
+  getAllFileSystems > $fsToDisplay
+  if [[ ! -s $fsToDisplay ]]
+  then
+    # No file systems were found.
+    printErrorMsg 200 $mmcmd
+    cleanupAndExit
+  fi
+  displayName=yes
+else
+  # If the invocation is not for an explicitly-remote device, obtain the
+  # needed information about the filesystem from the mmsdrfs file.
+  if [[ $device != *:* ]]
+  then
+    findFSoutput=$(findFS "$device" $mmsdrfsFile)
+    [[ -z $findFSoutput ]] && cleanupAndExit
+    print -- $findFSoutput > $fsToDisplay
+    displayName=no
+  else
+    IFS=":"            # Change the field separator to ':'.
+    set -f ; set -- $device ; set +f
+    IFS="$IFS_sv"      # Restore the default IFS settings.
+    fsHomeCluster=$1
+    remoteDevice=$2
+    deviceName=${remoteDevice##+(/)dev+(/)}  # name stripped of /dev/ prefix
+    fqDeviceName="/dev/$deviceName"    # fully-qualified name with /dev/ prefix
+    print -- "$fqDeviceName $deviceName $fsHomeCluster $remoteDevice" > $fsToDisplay
+  fi
+fi
+
+
+######################################################
+# Process the individual file systems one at a time.
+######################################################
+exec 3<&-
+exec 3< $fsToDisplay
+while read -u3 inLine
+do
+  rc=0
+  set -f ; set -- $inLine ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+  remoteDevice=$4
+
+  # If this is a remote file system, set fqDeviceName appropriately.
+  [[ $fsHomeCluster != $HOME_CLUSTER ]] &&  \
+    fqDeviceName="$fsHomeCluster:/dev/$remoteDevice"
+
+  ###################################################
+  # If more than one file system, display its name.
+  ###################################################
+  if [[ $displayName = yes ]]
+  then
+    header=$(printInfoMsg 406 $fqDeviceName)
+    printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+  fi
+
+  ##################################################################
+  # Call tslsfs to handle all options other than -A and -o.
+  ##################################################################
+  if [[ $call_tslsfs = yes ]]
+  then
+
+    # Invoke the command on the local node.
+    ${mmcmdDir}/${links}/mmlsfs $fqDeviceName $daemonFlags 2>$errMsg
+    rc=$(remapRC $?)
+
+    # If we get an unacceptable error, or if the file system is remote,
+    # display any error messages and move to the next file system.
+    if [[ ($rc -ne 0 && $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+          $fsHomeCluster != $HOME_CLUSTER ||
+          $ourUid -ne 0  || $MMMODE = single ]]
+    then
+      if [[ $rc -eq $MM_FsNotFound ]]
+      then
+        if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+        then
+          # The remote cluster does not know anything about this file system.
+          printErrorMsg 108 $mmcmd $remoteDevice $fsHomeCluster
+        else
+          # Unexpected error.
+          printErrorMsg 171 $mmcmd "file system $deviceName not found" $rc
+        fi
+      elif [[ $rc -eq $MM_Remotefs && $fsHomeCluster != $HOME_CLUSTER ]]
+      then
+        # The file system is not owned by the remote cluster.
+        [[ $device != *:* && $device != all ]] &&  \
+          printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+        printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+      elif [[ ($rc -eq $MM_HostDown    ||
+               $rc -eq $MM_TimedOut    ||
+               $rc -eq $MM_SecurityCfg ||
+               $rc -eq $MM_AuthorizationFailed ||
+               $rc -eq $MM_UnknownCluster)    &&
+              $fsHomeCluster != $HOME_CLUSTER ]]
+      then
+        # Failed to connect to the remote cluster.
+        [[ $rc -eq $MM_SecurityCfg ]] &&  \
+          printErrorMsg 150 $mmcmd
+        [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+          printErrorMsg 151 $mmcmd
+        printErrorMsg 105 $mmcmd $fsHomeCluster
+      elif [[ $rc -eq $MM_DaemonDown ]]
+      then
+        # GPFS is down on this node.
+        printErrorMsg 109 $mmcmd
+      elif [[ $rc -eq $MM_QuorumWait ]]
+      then
+        # GPFS is not ready for commands.
+        printErrorMsg 110 $mmcmd
+      elif [[ $rc -eq $MM_ConnectionReset ]]
+      then
+        # An internode connection was reset.
+        printErrorMsg 257 $mmcmd
+      else
+        # Either the command worked, or it is an unexpected error.
+        [[ -s $errMsg ]] && $cat $errMsg 1>&2
+      fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+      $rm -f $errMsg
+
+      # If we failed for some reason, move to the next file system.
+      [[ $rc -ne 0 ]] && continue
+
+    fi  # end of if [[ ($rc -ne 0 && $rc -ne $MM_DaemonDown && ... ]]
+    $rm -f $errMsg
+
+    #------------------------------------------------------------
+    # If we come here, either (1) the mmlsfs command succeeded
+    # or (2) the mmlsfs command failed for a local file system
+    # when the local daemon is down or is waiting for quorum.
+    #
+    # If (1), the command succeeded, skip the rest of this if
+    # statement and continue processing the non-daemon flags.
+    #
+    # If (2), the command failed, try running it on some other
+    # node.  Note that we will never get here with a non-zero
+    # return code if we do not have root priviledges, or if this
+    # is not a local file system, or if cluster type is single.
+    #------------------------------------------------------------
+
+    if [[ $rc -ne 0 ]]
+    then
+      # The command failed due to daemon down or lack of quorum.
+      # Find an active node and send the command there.
+
+      # Create a file with the reliable names that form the local cluster
+      # to which the file system belongs.
+      nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+      if [[ $nodeCount -eq 0 ]]
+      then
+        # The local cluster is empty; there is nobody to run the command.
+        printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+        continue
+      fi
+
+      # Try the nodes one by one until you find a node
+      # that can execute the command.
+      preferredNode=0     # No idea where to go first; let mmcommon decide.
+      $mmcommon linkCommand  \
+        $preferredNode $nodefile mmlsfs $fqDeviceName $daemonFlags
+      rc=$?
+      if [[ $rc -eq $MM_ConnectionReset ]]
+      then
+        # An internode connection was reset.
+        printErrorMsg 257 $mmcmd
+      fi
+
+      # If we failed for some reason, move to the next file system.
+      [[ $rc -ne 0 ]] && continue
+
+    fi  # end of if [[ $rc -ne 0 ]]
+  fi  # end of if [[ $call_tslsfs = yes ]]
+
+  # If no non-daemon options requested, we are done.
+  [[ -z $nonDaemonFlags ]] && continue
+
+  # If tslsfs was not invoked, print the header for the mmlsfs output.
+  [[ $call_tslsfs = no ]] && printInfoMsg 179
+
+  # Get the values for the requested non-daemon options from the mmsdrfs file.
+  for flag in $(print -- $nonDaemonFlags)
+  do
+    case $flag in
+
+      -A ) # Find the value of the automount option.
+         mountOpt=$($grep -e  \
+           "$fsHomeCluster:$SG_ETCFS:$deviceName:$MOUNT_Line:" $mmsdrfsFile |  \
+           $GETVALUE $ETCFS_TEXT_Field)
+         set -f ; set -- $mountOpt ; set +f
+         automountOption=$3
+         if [[ $automountOption = mmfs ]]
+         then
+           flagValue=yes
+         elif [[ $automountOption = false ]]
+         then
+           flagValue=no
+         else
+           # must be "automount"
+           flagValue=$automountOption
+         fi
+         printf " %s  %-14s " $flag $flagValue
+         printInfoMsg 331   # "Automatic mount option"
+         ;;
+
+      -o ) # Find the additional mount options, if any.
+         otherOptions=$($grep -e  \
+           "$fsHomeCluster:$SG_MOUNT:$deviceName:" $mmsdrfsFile |  \
+           $GETVALUE $OTHER_OPT_Field)
+         [[ $otherOptions = "" ]] && \
+           otherOptions="none"
+
+         printf " %s  %-14s " $flag $otherOptions
+         printInfoMsg 519   # "Additional mount options"
+         ;;
+
+      -T ) # Find the mount point pathname.
+         mountPoint=$($grep -e  \
+           "$fsHomeCluster:$SG_ETCFS:$deviceName:$MOUNT_POINT_Line:" $mmsdrfsFile |  \
+           $GETVALUE $ETCFS_TEXT_Field)
+         printf " %s  %-14s " $flag $mountPoint
+         printInfoMsg 559   # "Default mount point"
+         ;;
+
+      * )  # Unknown flag; this should never happen.
+        printErrorMsg 13 "$mmcmd" $flag
+        checkForErrors "bad nonDaemonFlags value" 1
+        ;;
+    esac
+  done   # end of for flag in $(print -- $nonDaemonFlags)
+
+done  # end of while read -u3 inLine
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsmgr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsmgr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsmgr	(revision 16)
@@ -0,0 +1,271 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)86 1.42.1.1 src/avs/fs/mmfs/ts/admin/mmlsmgr.sh, mmfs, avs_rgpfs24, rgpfs24s002a 4/27/06 19:20:03
+#######################################################################
+#
+# Usage:  mmlsmgr [Device[ Device...]] | [-C ClusterName]
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmlsmgr.sh"
+[[ -n $DEBUG || -n $DEBUGmmlsmgr ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local variables
+usageMsg=303
+integer rc=0
+integer nodeCount=0
+deviceList=""
+
+
+##################################
+# Process the command arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+# We were handed either a blank-separated list of devices,
+# or a cluster name specified via the -C flag.  If -C is
+# specified, there may or may not be white space separating
+# the -C from the cluster name.
+if [[ $arg1 = "-C"* ]]
+then
+  COpt="-C"
+  clusterName=${arg1#-C}
+  if [[ -z $clusterName ]]
+  then
+    clusterName=$arg2
+    [[ -n $arg3 ]] && syntaxError "extraArg" $usageMsg $arg3
+  else
+    [[ -n $arg2 ]] && syntaxError "extraArg" $usageMsg $arg2
+  fi
+  [[ -z $clusterName ]] && syntaxError "missingValue" $usageMsg "-C"
+else
+  deviceList=$@
+fi
+
+
+###################################
+# Set up trap exception handling.
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+################################################################
+# The user can invoke the mmlsmgr command specifying either
+# a list of file systems, or a cluster name, or nothing at all.
+# If a list of file system names was given, the file systems
+# do not necessarily belong to the same cluster.
+# If a cluster name was given, information for all of the file
+# systems in this cluster is displayed.  If no input parameter
+# is specified, then information is displayed for all file
+# systems that belong to the same cluster as the node on which
+# the mmlsmgr command was issued.
+################################################################
+deviceList2=""
+if [[ -n $deviceList ]]
+then
+  # The user provided a list of file system names.
+  # Process the file systems one at a time.
+  # Loop through the device list and replace any remote file systems
+  # with the string "remoteClusterName:remoteFsName".
+  set -f
+  for device in $deviceList
+  do
+    set +f
+
+    # If the invocation is not for an explicitly-remote device, obtain
+    # the needed information about the filesystem from the mmsdrfs file.
+    if [[ $device != *:* ]]
+    then
+      findFSoutput=$(findFS "$device" $mmsdrfsFile)
+      [[ -z $findFSoutput ]] && continue
+
+      # Parse the output from the findFS function.
+      set -f ; set -- $findFSoutput ; set +f
+      fqDeviceName=$1
+      deviceName=$2
+      fsHomeCluster=$3
+      remoteDevice=$4
+
+      # If this is a remote file system, set fqDeviceName appropriately.
+      if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+      then
+        fqDeviceName="$fsHomeCluster:/dev/$remoteDevice"
+        remoteFsSpecified=yes
+        [[ -n $remoteCluster && $fsHomeCluster != $remoteCluster ]] &&  \
+          multipleClustersInvolved=yes
+        remoteCluster=$fsHomeCluster
+      fi
+    else
+      fqDeviceName=$device
+      deviceName=${fqDeviceName##*:}
+      fsHomeCluster=${fqDeviceName%%:*}
+      remoteDevice=$deviceName
+      remoteFsSpecified=yes
+      [[ -n $remoteCluster && $fsHomeCluster != $remoteCluster ]] &&  \
+        multipleClustersInvolved=yes
+      remoteCluster=$fsHomeCluster
+    fi
+
+    # If more than one file system was requested, suppress error
+    # messages that deal with individual file systems.
+    # Such errors will go into the "unexpected" category.
+    [[ -n $deviceList2 ]] && multipleDevicesInvolved=yes
+
+    # Append the fully-qualified name to the list of fs names.
+    deviceList2="$deviceList2 $fqDeviceName"
+  done
+  set +f
+
+elif [[ -n $COpt ]]
+then
+  # The user provided a cluster name.
+  deviceList2=$clusterName":"
+  fsHomeCluster=$clusterName
+  remoteFsSpecified=yes
+
+else
+  # The user did not specify any parameters.  Since deviceList2
+  # is already set to the null string, tslsmgr will return
+  # information for the filesystems in the local cluster.
+  :  # Do nothing; everything is ready to call tslsmgr.
+fi  # end of if [[ -n $deviceList ]]
+
+
+########################################################################
+# Invoke the command on the local node if devices were found.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - one of the file systems is remote
+#   - we are not running as UID 0
+#   - this is a single node cluster
+########################################################################
+[[ -n $deviceList && -z $deviceList2 ]] && cleanupAndExit
+${mmcmdDir}/${links}/mmlsmgr $deviceList2 2>$errMsg
+rc=$(remapRC $?)
+if [[ ($rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+      $remoteFsSpecified = yes                           ||
+      $ourUid -ne 0                                      ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_FsNotFound && -z $multipleDevicesInvolved ]]
+  then
+    if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+    then
+      # The remote cluster does not know anything about this file system.
+      printErrorMsg 108 $mmcmd $remoteDevice $fsHomeCluster
+    else
+      # Unexpected error.
+      printErrorMsg 171 $mmcmd "file system $deviceName not found" $rc
+    fi
+  elif [[ $rc -eq $MM_Remotefs            &&
+          $fsHomeCluster != $HOME_CLUSTER &&
+          -z $multipleDevicesInvolved     ]]
+  then
+    # The file system is not owned by the remote cluster.
+    [[ $device != *:* ]] &&  \
+      printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+    printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+  elif [[ ($rc -eq $MM_HostDown    ||
+           $rc -eq $MM_TimedOut    ||
+           $rc -eq $MM_SecurityCfg ||
+           $rc -eq $MM_AuthorizationFailed ||
+           $rc -eq $MM_UnknownCluster)    &&
+          $fsHomeCluster != $HOME_CLUSTER &&
+          -z $multipleClustersInvolved    ]]
+  then
+    # Failed to connect to the remote cluster.
+    [[ $rc -eq $MM_SecurityCfg ]] &&  \
+      printErrorMsg 150 $mmcmd
+    [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+      printErrorMsg 151 $mmcmd
+    printErrorMsg 105 $mmcmd $fsHomeCluster
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    if [[ -s $errMsg ]]
+    then
+      # Show the error messages from the daemon.
+      $cat $errMsg 1>&2
+    elif [[ $rc -ne 0 ]]
+    then
+      # tslsmgr failed.
+      printErrorMsg 104 "$mmcmd" "tslsmgr $deviceList2"
+    else
+      :  # The command must have worked.
+    fi
+  fi  # end of if [[ $rc -eq $MM_FsNotFound && -z $multipleDevicesInvolved ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+#########################################################################
+# We come here if the command was invoked for a local file system but
+# the local daemon is not available; send the command to an active node.
+#########################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmlsmgr $deviceList2
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsmount
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsmount	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsmount	(revision 16)
@@ -0,0 +1,272 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)41 1.4.1.2 src/avs/fs/mmfs/ts/admin/mmlsmount.sh, mmfs, avs_rgpfs24, rgpfs24s011a 3/28/07 19:15:31
+##############################################################################
+#
+#  Display how many nodes have a given GPFS file system mounted,
+#  and optionally list the nodes that have the file system mounted.
+#
+#  Usage:
+#
+#    mmlsmount {Device | all | all_local | all_remote} [-L]
+#              [-C {all | all_remote | ClusterName[,ClusterName...]}]
+#
+#  where:
+#
+#    Device | all | all_local | all_remote
+#       specifies the device(s) for which mount information is sought.
+#       all denotes "all file systems known to this cluster".
+#       all_local denotes "all file systems owned by this cluster".
+#       all_remote denotes "all file systems not owned by this cluster".
+#
+#    -C {all | all_remote | ClusterName[,ClusterName...]}
+#       specifies the clusters for which mount information is requested.
+#       If one or more ClusterName is specified, only the names of nodes
+#       that belong to these clusters and have the file system mounted
+#       will be displayed.  The dot character (".") can be used in place
+#       of the cluster name to denote the local cluster.
+#
+#       -C all_remote denotes all clusters other than the one from which
+#       the command is ussued (this cluster).
+#
+#       -C all refers to all clusters, local and remote, that can have
+#       the file system mounted.  -C all is the default.
+#
+#    -L specifies "list the nodes that have the device(s) mounted".
+#
+#  Note:
+#    If invoked by a non-root user, the command is executed on the local
+#    node "as-is".  In particular, the local configuration information may
+#    not be up-to-date.  There is no attempt to find an active GPFS daemon
+#    on another node.  Non-root users are not allowed to invoke commands on
+#    other nodes.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmlsmount.sh"
+[[ -n $DEBUG || -n $DEBUGmmlsmount ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+
+usageMsg=540
+rc=0
+Lflag=""
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+##################################
+# Process each of the arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1                       # Save the file system device name.
+deviceName=${device##+(/)dev+(/)}  # Name stripped of /dev/ prefix.
+shift 1                            # Drop the name from the parameter list.
+
+while getopts :C:LY OPT
+do
+  case $OPT in
+
+    C) [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Cflag="-$OPT"
+       clusterList="$OPTARG"
+       ;;
+
+    L) [[ -n $Lflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Lflag=yes
+       ;;
+
+    Y) [[ -n $Yflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Yflag=yes
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[CLY])
+       syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+[[ -z $clusterList ]] && clusterList=NULL
+
+[[ -z $Lflag ]] && Lflag=no
+[[ -n $Yflag ]] && Lflag=unformatted
+
+
+###################################
+# Set up trap exception handling.
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+###########################################################################
+# If device is one of the keywords (all, all_local, or all_remote), do not
+# do anything right now.  The list of file systems will be created by the
+# lsmount function.  Otherwise, ensure the specified file system exists
+# and create the fully-qualified name for the lsmount call.
+###########################################################################
+if [[ $device != all && $device != all_local && $device != all_remote ]]
+then
+  if [[ $device = *:* ]]
+  then
+    # If this is an explicit invocation for a remote file system,
+    # find out the home cluster and the local and remote device
+    # names for the file system.
+    IFS=":"
+    set -f ; set -- $device ; set +f
+    IFS="$IFS_sv"
+    fsHomeCluster=$1
+    remoteDevice=$2
+    localDevice=$($awk -F: '                                 \
+      $'$NODESETID_Field'       == "'$fsHomeCluster'"  &&    \
+      $'$LINE_TYPE_Field'       == "'$SG_HEADR'"       &&    \
+      $'$REMOTE_DEV_NAME_Field' == "'$remoteDevice'"   {     \
+        { print $'$DEV_NAME_Field' }                         \
+        { exit }                                             \
+      }                                                      \
+    ' $mmsdrfsFile)
+    checkForErrors awk $?
+
+    # Create the fully-qualified name for the lsmount call.
+    fsToShow="${fsHomeCluster}:${remoteDevice}:${localDevice}"
+
+  else
+    # If this a simple device name for a local or remote file system,
+    # find the needed information about the file system.
+    findFSoutput=$(findFS "$deviceName" $mmsdrfsFile)
+    [[ -z $findFSoutput ]] && cleanupAndExit
+
+    set -f ; set -- $findFSoutput ; set +f
+    localDevice=$2
+    fsHomeCluster=$3
+    remoteDevice=$4
+
+    # Create the fully-qualified name for the lsmount call.
+    if [[ $fsHomeCluster = $HOME_CLUSTER ]]
+    then
+      fsToShow=":${localDevice}:"
+    else
+      fsToShow="${fsHomeCluster}:${remoteDevice}:${localDevice}"
+    fi
+  fi  # end of if [[ $device = *:* ]]
+
+else
+  # Just pass the keyword to the lsmount function.
+  fsToShow=$device
+fi  # end of if [[ $device != all && $device != all_local ...
+
+
+################################################################
+# First, try to run the lsmount function on the local node.
+#
+# Note:  The lsmount invocation must be done in a subshell,
+#        by enclosing it in parens.  If this is not done,
+#        there will be left over work files in /var/mmfs/tmp.
+################################################################
+(lsmount "$fsToShow" "$clusterList" $Lflag norefresh 2>$errMsg2)
+rc=$?
+if [[ ($rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+      $ourUid -ne 0                                      ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  elif [[ $rc -ne 0 ]]
+  then
+    # Something else went wrong.
+    # Show error messages, if any.
+    [[ -s $errMsg2 ]] && $cat $errMsg2 1>&2
+  else
+    :  # The command must have worked.
+  fi  # end of if [[ $rc -eq $MM_DaemonDown ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg2
+
+
+########################################################################
+# If GPFS is down on the local node, find a node with an active daemon.
+########################################################################
+# Create a file containing all of the nodes in the cluster.
+getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+# Ensure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+# Find out who has the file systems mounted.
+$mmcommon onactive $ourNodeName $nodefile        \
+    $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+    mmremote lsmount "$fsToShow" "$clusterList" $Lflag
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsnode
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsnode	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsnode	(revision 16)
@@ -0,0 +1,222 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1998,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)01 1.38 src/avs/fs/mmfs/ts/admin/mmlsnode.sh, mmfs, avs_rgpfs24, rgpfs240610b 10/3/05 11:59:22
+##########################################################################
+#
+#  List the names of the nodes that belong to a GPFS nodeset.
+#
+#  Usage:  mmlsnode { -C nodesetId | -a | -n nodename }
+#
+#  where
+#    nodesetId  is the name of the nodeset whose nodes are to be listed
+#    -C   display the names of the nodes that belong to nodesetId
+#    -a   display the names of all nodes in all GPFS nodesets
+#    -n   display the names of the nodes that belong to the same nodeset
+#         as nodename
+#
+##########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmlsnode.sh"
+[[ -n $DEBUG || -n $DEBUGmmlsnode ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+# Local variables
+nodesetId=$GLOBAL_ID
+allOpt=""
+nOpt=""
+COpt=""
+nodeName=""
+usageMsg=184
+
+
+################################
+# Check the input arguments.
+################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] && \
+  syntaxError "help" $usageMsg
+
+while getopts :an:C: OPT
+do
+  case $OPT in
+
+    a) # display all nodesets in the sdr
+       [[ -n $allOpt ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       allOpt="-a"
+       [[ -n $nOpt ]] && \
+         syntaxError "invalidCombination" $usageMsg "-a" "-n"
+       [[ -n $COpt ]] && \
+         syntaxError "invalidCombination" $usageMsg "-a" "-C"
+       ;;
+
+    n) # display the nodes in the nodeset of the specified node
+       [[ -n $nOpt ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nOpt="-n"
+       nodeName=$OPTARG
+       [[ -n $allOpt ]] && \
+         syntaxError "invalidCombination" $usageMsg "-a" "-n"
+       [[ -n $COpt ]] && \
+         syntaxError "invalidCombination" $usageMsg "-C" "-n"
+       ;;
+
+    C) # display the nodes for the specified nodeset
+       [[ -n $COpt ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       COpt="-C"
+       nodesetId=$OPTARG
+       [[ -n $allOpt ]] && \
+         syntaxError "invalidCombination" $usageMsg "-a" "-C"
+       [[ -n $nOpt ]] && \
+         syntaxError "invalidCombination" $usageMsg "-C" "-n"
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[aCn]) syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done
+
+shift OPTIND-1
+[[ $# -ne 0 ]] && syntaxError "extraArg" $usageMsg $1
+[[ $argc -eq 0 ]] && allOpt="-a"   # assume -a if nothing else is specified
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date.  There is no need to lock
+# the sdr.
+#######################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+# If the nodeset id was not explicitly specified,
+# use the default nodeset returned from gpfsInit.
+[[ $nodesetId = "." ]] && \
+  nodesetId=$nsId
+
+if [[ $nodesetId = 0 ]]
+then
+  print -u2 "$mmcmd: The nodeset can not be determined.  Use the -C <nodesetId> option,"
+  print -u2 "or issue the command from a node that belongs to the desired nodeset."
+  cleanupAndExit
+fi
+
+
+########################################################################
+# If -n was specified, find the name of the nodeset that contains
+# the specified node.  To do this reliably, we first convert the name
+# into a node number.
+########################################################################
+if [[ -n $nOpt ]]
+then
+
+  # Find the IP address that corresponds to this node name.
+  hostResult=$($host $nodeName)
+  set -f ; set -- $hostResult ; set +f
+  ipa=${3%%,*}          # Exclude everything after the first comma.
+  if [[ -z $ipa ]]
+  then
+    # Invalid node name specified
+    printErrorMsg 54 $mmcmd $nodeName
+    cleanupAndExit
+  fi
+
+  # Find the nodeset to which this node number belongs.
+  nodesetId=$($awk -F: '                 \
+    /':$MEMBER_NODE:'/ {                 \
+      if ($'$IPA_Field' == "'$ipa'") {   \
+        { print $'$NODESETID_Field' }    \
+        { exit }                         \
+      }                                  \
+    }                                    \
+  ' $mmsdrfsFile)
+  rc=$?
+  if [[ $rc != 0 || -z $nodesetId ]]
+  then
+    if [[ $rc != 0 ]]
+    then
+      print -u2 "$mmcmd: A node name that is not valid was found in the mmsdrfs file."
+    else
+      print -u2 "$mmcmd: Node $nodeName does not belong to the GPFS cluster."
+    fi
+    cleanupAndExit
+  fi
+
+fi    #end of if [[ -n $nOpt ]]
+
+
+########################################################################
+# Create a list of the nodesets that will be displayed.
+# If the user requested a specific nodeset, or if the -n option
+# was specified, the list will consist of a single nodeset id.
+# If the user specified -a, then the value of $nodesetId is set
+# to the global id, and the call to getNodesetInfo will return
+# the names of all nodesets.
+########################################################################
+nodesetList=$(getNodesetInfo $NODESETID_Field $nodesetId $mmsdrfsFile)
+if [[ -z $nodesetList ]]
+then
+  if [[ $nodesetId = $GLOBAL_ID ]]
+  then
+    print -u2 "$mmcmd: There are no known GPFS nodesets."
+  else
+    print -u2 "$mmcmd: GPFS nodeset $nodesetId does not exist."
+  fi
+  cleanupAndExit
+fi
+
+clusterName=$($head -1 $mmsdrfsFile | $GETVALUE $CLUSTER_NAME_Field)
+
+#########################################################
+# Print out the node names for each nodeset in the list.
+#########################################################
+# Put out the header line.
+print -- "GPFS nodeset    Node list"
+print -- "-------------   -------------------------------------------------------"
+
+for nodesetId in $nodesetList
+do
+  nodeList=$(getNodeList $NODE_NAME_Field $nodesetId $mmsdrfsFile)
+  [[ $nodesetId = $HOME_CLUSTER ]] && nodesetId="${clusterName%%.*}"
+  printf "%2s %-8s %4s" "$BLANKchar" "$nodesetId" "$BLANKchar"
+  for nodeName in $nodeList
+  do
+    printf "%s " $nodeName
+  done
+  printf "\n"
+done
+
+
+#######################
+# Cleanup and return.
+#######################
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsnsd
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsnsd	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsnsd	(revision 16)
@@ -0,0 +1,697 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)16 1.43.1.1 src/avs/fs/mmfs/ts/admin/mmlsnsd.sh, mmfs, avs_rgpfs24, rgpfs24s008a 11/22/06 15:43:42
+#############################################################################
+#
+#  List information for the disks that belong to a GPFS cluster.
+#
+#  Usage:
+#
+#     mmlsnsd [ -a | -F | -f Device | -d "DiskName[;DiskName]" ]
+#             [ -L | -m | -M | -X ] [-v]
+#
+#  where
+#
+#     -a          list all disks.  This is the default.
+#
+#     -F          list all disks that do not belong to any file system.
+#
+#     -f Device   list all disks that belong to file system Device.
+#
+#     -d "DiskName[;DiskName]"  list the disks in the specified list
+#                 of ";"-separated disk names.
+#
+#     -L          display longer disk information.
+#
+#     -m          display the disk device name on the local node,
+#                 or, if applicable, the disk device names on the
+#                 primary and backup server nodes.
+#
+#     -M          display the disk device names on all nodes to which
+#                 the disk is attached.  Caution:  This is a slow operation!
+#
+#     -v          display additional error information where available.
+#
+#     -X          display eXtended disk information.
+#
+#############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmlsnsd.sh"
+[[ -n $DEBUG || -n $DEBUGmmlsnsd ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+disksToShow=${tmpDir}disksToShow.${mmcmd}.$$
+collectedDiskData=${tmpDir}collectedDiskData.${mmcmd}.$$
+
+LOCAL_FILES=" $disksToShow $collectedDiskData "
+
+# Local variables
+usageMsg=428
+headerPrinted=no
+underline="----------------------------------------------------------"
+underline="${underline}----------------------------------------------"
+underline="${underline}----------------------------------------------"
+
+
+# Local functions
+
+
+##########################################################################
+#
+# Display local nsd data for the desired disks.
+# This function prints the local device name on all nodes
+# for all disks that were specified by the user.
+#
+# Input:  $1  - file containing disk data collected from the nodes
+#         $2  - file containing disk data from the mmsdrfs file
+#         $3  - file containing a list of nodes to check
+#
+##########################################################################
+function showLocalDeviceInfo  # <diskDataFile> <sdrfsDiskData> <nodefile>
+{
+  typeset sourceFile="mmlsnsd.sh"
+  [[ -n $DEBUG || -n $DEBUGshowLocalDeviceInfo ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset diskDataFile=$1
+  typeset sdrfsDiskData=$2
+  typeset nodeFile=$3
+
+  typeset diskLine diskFoundOnNode diskFoundOnPrimary diskFoundOnBackup
+  typeset nodeName globalName pvid localDiskName diskdataLine
+  typeset primaryServer backupServer nsdSubtype remarks xRemarks
+
+  # If this is a single node cluster, prepend the node name
+  # to the front of each record in the diskDataFile, since
+  # mmcommon onall does not use mmdsh for single node clusters.
+  if [[ $MMMODE = single ]]
+  then
+    $sed "s/^/$ourNodeName: /" $diskDataFile > $tmpfile2
+    $mv $tmpfile2 $diskDataFile
+    checkForErrors "mv $tmpfile2 $diskDataFile" $?
+  fi  # end of if [[ $MMMODE = single ]]
+
+  # Separate the valid nsd data into one file, and any error messages
+  # into another.  The error messages (if any) will be displayed later.
+  $grep    getLocalNsdData $diskDataFile > $tmpfile
+  $grep -v getLocalNsdData $diskDataFile > $errMsg
+
+  # Sort the collected nsd data by the NSD id (pvid).
+  $sort -t : -k 3,3 $tmpfile -o $tmpfile2
+  checkForErrors "$mmcmd: sort of tmpfile" $?
+
+  # Sort the disk data from the mmsdrfs file based on the NSD id (pvid).
+  $sort -t : -k 2,2 $sdrfsDiskData -o $sdrfsDiskData
+  checkForErrors "$mmcmd: sort of sdrfsDiskData" $?
+
+  # Join the file containing the nsd data collected from the nodes
+  # with the file containing the mmsdrfs data for the desired nsds;
+  # the join is performed based on the NSD id (pvid) value.
+  # The lines in the resulting file have the following fields:
+  #   nodeName:diskName:pvid:localDiskName:primaryServer:backupServer:localNsdSubtype:nsdSubtype
+  $join -1 2 -2 3 -t: -o 2.1,1.1,1.2,2.4,1.3,1.4,2.5,2.6 $sdrfsDiskData $tmpfile2 > $tmpfile
+  checkForErrors "$mmcmd: join" $?
+  $touch $tmpfile       # Make sure the file exists, even if it is empty.
+
+  # Sort the disk data file by disk name and the node file
+  # by node name to ensure the output of the nested loops
+  # below is in the order most easily read by the user.
+  $sort -t : -k 1,1 $sdrfsDiskData -o $sdrfsDiskData
+  checkForErrors "$mmcmd: second sort of sdrfsDiskData" $?
+  $sort -t : -k 1,1 $nodefile -o $nodefile
+  checkForErrors "$mmcmd: sort of nodefile" $?
+
+  # Loop through the disks from the mmsdrfs file to print their data.
+  IFS=":"               # Change the field separator to ':'.
+  exec 3<&-
+  exec 3< $sdrfsDiskData
+  while read -u3 diskLine
+  do
+    # Parse the line.
+    set -f ; set -- $diskLine ; set +f
+    globalName=$1
+    pvid=$2
+    primaryServer=$3
+    backupServer=$4
+    nsdSubtype=$5
+    IFS="$IFS_sv"       # Restore the default IFS settings.
+
+    diskFoundOnPrimary=false
+    diskFoundOnBackup=false
+
+    # Get the lines from the joined file that match this disk.
+    # The awk script takes into account that tspreparedisk treats
+    # hdisk and generic as equivalent, and either nsd subtype could
+    # be present if the cluster has both AIX and Linux nodes or the
+    # filesystem was imported from one OS environment to the other.
+    $rm -f $tmpfile2
+    $awk -F: '                                           \
+      $3=="'$pvid'" &&                                   \
+      ( $7=="'$nsdSubtype'"                         ||   \
+        ($7=="hdisk" && "'$nsdSubtype'"=="generic") ||   \
+        ($7=="generic" && "'$nsdSubtype'"=="hdisk") )    \
+        {print $1":"$4":"$7":"$8 >> "'$tmpfile2'"}       \
+    ' $tmpfile
+    checkForErrors awk $?
+
+    # Process the lines that were found.
+    if [[ -s $tmpfile2 ]]
+    then
+      # Print a line of output for each line extracted from the joined file.
+      # For -M we report all nodes, while for -m and -X, we only report
+      # the node running the command and any server nodes.
+      IFS=":"               # Change the field separator to ':'.
+      exec 4<&-
+      exec 4< $tmpfile2
+      while read -u4 diskdataLine
+      do
+        # Parse the line.
+        set -f ; set -- $diskdataLine ; set +f
+        nodeName=$1
+        localDiskName=$2
+        devType=$3
+        extendedRemarks=$4
+        IFS="$IFS_sv"       # Restore the default IFS settings.
+
+        if [[ -n $Mflag ||
+            ( (-n $mflag || -n $Xflag) && ($nodeName = $ourNodeName   ||
+                                           $nodeName = $primaryServer ||
+                                           $nodeName = $backupServer   ) ) ]]
+        then
+          # Set the remarks field appropriately.
+          if [[ $nodeName = $primaryServer ]]
+          then
+            diskFoundOnPrimary=true
+            remarks="primary node"
+          elif [[ $nodeName = $backupServer ]]
+          then
+            diskFoundOnBackup=true
+            remarks="backup node"
+          else
+            remarks="directly attached"
+          fi  # end of if [[ $nodeName = $primaryServer ]]
+
+          # Append extended remarks if there are any.
+          [[ -n $extendedRemarks ]] &&
+            remarks="$remarks,$extendedRemarks"
+
+          # Print the line of output.
+          if [[ -n $Xflag ]]
+          then
+            printf " %-12s %-18s %-14s %-8s %-24s %s\n" "$globalName"  \
+              "$pvid" "$localDiskName" "$devType" "$nodeName" "$remarks"
+          else
+            printf " %-12s %-18s %-14s %-24s %s\n" "$globalName"  \
+              "$pvid" "$localDiskName" "$nodeName" "$remarks"
+          fi
+        fi  # end of if [[ -n $Mflag || ...
+
+        IFS=":"  # Change the separator back to ":" for the next iteration.
+
+      done  # end of while read -u4 diskdataLine
+
+    fi  # end of if [[ -s $tmpfile2 ]]
+
+    # Check whether the disk is missing anywhere and report it if it is.
+    if [[ -z $primaryServer ]]
+    then
+      # Report this directly-attached disk as missing on nodes on which
+      # it was not found.  For -M we report all nodes, while for -m and -X,
+      # we only report the node running the command.
+      exec 4<&-
+      exec 4< $nodefile
+      while read -u4 nodeName
+      do
+        if [[ -n $Mflag ||
+              ( (-n $mflag || -n $Xflag) && $nodeName = $ourNodeName ) ]]
+        then
+          # Check whether the disk was found on this node.
+          # The awk script takes into account that tspreparedisk treats
+          # hdisk and generic as equivalent, and either nsd subtype could
+          # be present if the cluster has both AIX and Linux nodes or the
+          # filesystem was imported from one OS environment to the other.
+          diskFoundOnNode=$($awk -F: '                         \
+            BEGIN { foundFlag = "false" }                      \
+            $1 == "'$nodeName'" && $3 == "'$pvid'" &&          \
+            ( $7=="'$nsdSubtype'"                         ||   \
+              ($7=="hdisk" && "'$nsdSubtype'"=="generic") ||   \
+              ($7=="generic" && "'$nsdSubtype'"=="hdisk") ) {  \
+              { foundFlag = "true" }                           \
+              { exit }                                         \
+            }                                                  \
+            END { print foundFlag }                            \
+          ' $tmpfile)
+          checkForErrors "awk $tmpfile" $?
+          if [[ $diskFoundOnNode = false ]]
+          then
+            localDiskName=$UNRESOLVED
+            remarks="(not found) directly attached"
+            if [[ -n $Xflag ]]
+            then
+              devType=$UNRESOLVED
+              printf " %-12s %-18s %-14s %-8s %-24s %s\n" "$globalName"  \
+                "$pvid" "$localDiskName" "$devType" "$nodeName" "$remarks"
+            else
+              printf " %-12s %-18s %-14s %-24s %s\n" "$globalName"  \
+                 "$pvid" "$localDiskName" "$nodeName" "$remarks"
+            fi
+          fi  # end of if [[ $diskFoundOnNode = false ]]
+        fi  # end of if [[ -n $Mflag || ( (-n $mflag || -n $Xflag) && ...
+      done  # end of while read -u4 nodeName
+    else
+      # Output a line for the primary or backup server
+      # if either was specified but was not found.
+      if [[ -n $primaryServer && $diskFoundOnPrimary = false ]]
+      then
+        localDiskName=$UNRESOLVED
+        nodeName=$primaryServer
+        remarks="(not found) primary node"
+        if [[ -n $Xflag ]]
+        then
+          devType=$UNRESOLVED
+          printf " %-12s %-18s %-14s %-8s %-24s %s\n" "$globalName"  \
+            "$pvid" "$localDiskName" "$devType" "$nodeName" "$remarks"
+        else
+          printf " %-12s %-18s %-14s %-24s %s\n" "$globalName"  \
+             "$pvid" "$localDiskName" "$nodeName" "$remarks"
+        fi
+      fi  # end of if [[ -n $primaryServer && $diskFoundOnPrimary = false ]]
+      if [[ -n $backupServer && $diskFoundOnBackup = false ]]
+      then
+        localDiskName=$UNRESOLVED
+        nodeName=$backupServer
+        remarks="(not found) backup node"
+        if [[ -n $Xflag ]]
+        then
+          devType=$UNRESOLVED
+          printf " %-12s %-18s %-14s %-8s %-24s %s\n" "$globalName"  \
+            "$pvid" "$localDiskName" "$devType" "$nodeName" "$remarks"
+        else
+          printf " %-12s %-18s %-14s %-24s %s\n" "$globalName"  \
+             "$pvid" "$localDiskName" "$nodeName" "$remarks"
+        fi
+      fi  # end of if [[ -n $backupServer && $diskFoundOnBackup = false ]]
+    fi  # end of if [[ -z $primaryServer ]]
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end of while read -u3 diskLine do
+
+  # If -v was specified, display any error messages
+  # that were produced on the remote nodes.
+  [[ -n $verboseOutput ]] && $cat $errMsg
+  $rm -f $errMsg
+
+  return 0
+
+}  #----- end of function showLocalDeviceInfo ------------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+while getopts :ad:Ff:LMmvX OPT
+do
+  case $OPT in
+
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag="-$OPT"
+       [[ -n $dflag || -n $Fflag || -n $fflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $aflag $dflag $Fflag $fflag
+       ;;
+
+    d) [[ -n $dflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       dflag="-$OPT"
+       [[ -n $aflag || -n $Fflag || -n $fflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $dflag $aflag $Fflag $fflag
+       darg="$OPTARG"
+       [[ "$OPTARG" = *+([-:,${BLANKchar}${TABchar}])* ]] &&  \
+         syntaxError "badSeparator_notSemicolon" $noUsageMsg
+       disksToDisplay=$(print -- "$OPTARG" | $sed 's/;/ /g')
+       ;;
+
+    F) [[ -n $Fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Fflag="-$OPT"
+       [[ -n $aflag || -n $dflag || -n $fflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $Fflag $aflag $dflag $fflag
+       ;;
+
+    f) [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fflag="-$OPT"
+       [[ -n $aflag || -n $dflag || -n $Fflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $fflag $aflag $dflag $Fflag
+       farg="$OPTARG"
+       ;;
+
+    L) [[ -n $Lflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Lflag="-$OPT"
+       [[ -n $Mflag || -n $mflag || -n $Xflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $Lflag $Mflag $mflag $Xflag
+       ;;
+
+    M) [[ -n $Mflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Mflag="-$OPT"
+       [[ -n $Lflag || -n $mflag || -n $Xflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $Mflag $Lflag $mflag $Xflag
+       ;;
+
+    m) [[ -n $mflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       mflag="-$OPT"
+       [[ -n $Lflag || -n $Mflag || -n $Xflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $mflag $Lflag $Mflag $Xflag
+       ;;
+
+    v) [[ -n $vflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       vflag="-$OPT"
+       verboseOutput=yes
+       ;;
+
+    X) [[ -n $Xflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Xflag="-$OPT"
+       [[ -n $Lflag || -n $Mflag || -n $mflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $Xflag $Lflag $Mflag $mflag
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[adFfLMmvX])
+       syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done  # end of while getopts :ad:Ff:LMmv OPT
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# If no disk selection option was specified, default to -a.
+[[ -z $aflag && -z $dflag && -z $Fflag && -z $fflag ]] &&  \
+  aflag="-a"
+
+
+######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest
+# of the GPFS system files are up-to-date.  No need to lock the sdr.
+######################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+# In single mode environment -M does not make much sense.
+if [[ -n $Mflag && $MMMODE = single ]]
+then
+  Mflag=""
+  mflag="-m"
+fi
+
+
+#################################################################
+# If a particular file system is requested, make sure it exists.
+#################################################################
+if [[ -n $farg ]]
+then
+  findFSoutput=$(findFS "$farg" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  # fqfsDeviceName=$1
+  fsDeviceName=$2
+  fsHomeCluster=$3
+
+  # Exit with a message if the command was invoked for a remote file system.
+  if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Command is not allowed for remote file systems.
+    printErrorMsg 106 $mmcmd $farg $fsHomeCluster
+    cleanupAndExit 1
+  fi
+fi   # end of if [[ -n $farg ]]
+
+
+###############################
+# Select the disks to display.
+###############################
+$rm -f $disksToShow $nodefile $diskNamesFile
+IFS=":"         # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+  IFS="$IFS_sv"
+  printLine=false      # assume line is not needed
+
+  if [[ ${v[$LINE_TYPE_Field]} = $SG_DISKS ]]
+  then
+    # This line describes a disk.  If it matches our selection
+    # criteria, add the line to disksToShow.  Otherwise, skip the line.
+    if [[ -n $aflag ]]
+    then
+      printLine=true
+    elif [[ -n $Fflag && ${v[$NODESETID_Field]} = $FREE_DISK ]]
+    then
+      printLine=true
+    elif [[ -n $fflag && ${v[$DEV_NAME_Field]} = $fsDeviceName ]]
+    then
+      printLine=true
+    elif [[ -n $dflag ]]
+    then
+      # See if this disk is one of the disks to be displayed.
+      tempList=""
+      displayThisDisk=no
+      for diskName in $disksToDisplay
+      do
+        if [[ ${v[$DISK_NAME_Field]} = $diskName ]]
+        then
+          # The disk represented by the current SG_DISKS line
+          # is one of the disks that we want to display.
+          if [[ $displayThisDisk = no ]]
+          then
+            # We are seeing this disk for the first time.
+            printLine=true
+            displayThisDisk=yes
+          else
+            # We have already seen this name during the current iteration.
+            # It must be a duplicate entry in the command line list.
+            : # ignore the duplicate - do not fail the command.
+          fi
+        else
+          # diskName does not match the name of the disk in the current
+          # SG_DISKS line.  Add diskName to the temporary list.
+          tempList="$tempList $diskName"
+        fi  # end of if [[ ${v[$DISK_NAME_Field]} = $diskName ]]
+      done  # for diskName in $disksToDisplay
+
+      # If this disk will be displayed, its name does not appear in tempList.
+      # In other words, tempList contains only the names of the disks that
+      # are to be displayed but for which the corresponding SG_LINES have not
+      # been encountered yet.
+
+      # Initialize the disksToDisplay list for the next iteration.
+      disksToDisplay=$tempList
+
+    else
+      # This is an SG_DISKS line that does not match our selection criteria.
+      : # skip this line
+    fi  # end of if [[ -n $aflag ]]
+
+    if [[ $printLine = true ]]
+    then
+      print_newLine >> $disksToShow
+      checkForErrors "writing to file $disksToShow" $?
+
+      # If -m or -X was specified and the disk has primary or backup servers,
+      # add the servers to the list of nodes to collect data from.
+      if [[ -n $mflag || -n $Xflag ]]
+      then
+        [[ -n ${v[$NSD_PRIMARY_NODE_Field]} ]] &&  \
+          print ${v[$NSD_PRIMARY_NODE_Field]} >> $nodefile
+        [[ -n ${v[$NSD_BACKUP_NODE_Field]} ]]  &&  \
+          print ${v[$NSD_BACKUP_NODE_Field]}  >> $nodefile
+      fi
+
+      # If -m, -M, or -X was specified, add data for the disk
+      # to a file that will be used later.
+      [[ -n $mflag || -n $Mflag || -n $Xflag ]] &&  \
+        print ${v[$DISK_NAME_Field]}:${v[$PVID_Field]}:${v[$NSD_PRIMARY_NODE_Field]}:${v[$NSD_BACKUP_NODE_Field]}:${v[$NSD_SUBTYPE_Field]} >> $diskNamesFile
+    fi  # end of if [[ $printLine = true ]]
+
+  elif [[ ${v[$LINE_TYPE_Field]} = $MEMBER_NODE && -n $Mflag ]]
+  then
+     # Generate a list of all nodes in the cluster.
+     print ${v[$REL_HOSTNAME_Field]} >> $nodefile
+
+  else
+    # This is not a line that we care about.
+    :  # Skip this line.
+  fi  # end of if [[ ${v[$LINE_TYPE_Field]} = $SG_DISKS ]]
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+# If there are no disks matching the selection criteria,
+# put out a message and give up.
+if [[ ! -s $disksToShow ]]
+then
+  # No disks were found.
+  printErrorMsg 418 $mmcmd
+  cleanupAndExit 0
+fi
+
+# If -d option was used and there are still entries in the
+# disksToDisplay list, tell the user that not all disks were found.
+if [[ -n $disksToDisplay ]]
+then
+  # Some disks were not found.
+  for diskName in $disksToDisplay
+  do
+    printErrorMsg 524 $mmcmd $diskName
+  done
+fi
+
+# Finish creating the node file if -m or -X was specified.
+if [[ -n $mflag || -n $Xflag ]]
+then
+  # Add the node running the command to the list of nodes to check.
+  print $ourNodeName >> $nodefile
+
+  # Sort the file for uniqueness so that we do not have any
+  # nodes listed more than once.
+  $sort -u $nodefile -o $nodefile
+fi
+
+# Print the appropriate header line.
+# This depends on the specified formatting option.
+if [[ -n $Lflag ]]
+then
+  # header "File system  Disk name  NSD volumeID  Primary node  Backup node"
+  header=$(printInfoMsg 501)
+  printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+
+elif [[ -n $Mflag || -n $mflag || -n $Xflag ]]
+then
+  if [[ -n $Xflag ]]
+  then
+    # header "Disk name   NSD volumeID   Device   Devtype   Node name   Remarks"
+    header=$(printInfoMsg 512)
+  else
+    # header "Disk name   NSD volumeID   Device   Node name   Remarks"
+    header=$(printInfoMsg 502)
+  fi
+  printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+
+  # Obtain the local nsd data from the nodes.
+  $mmcommon onall $nodefile $unreachedNodes getLocalNsdData $Xflag >$collectedDiskData 2>&1
+
+else
+  # header "File system   Disk name   Primary node   Backup node"
+  header=$(printInfoMsg 503)
+  printf "\n%s\n%.${#header}s\n" "$header" "$underline"
+fi  # end of if [[ -n $Lflag ]]
+
+# If -m, -M, or -X was specified, sort the disk data file and call routine
+# to print the output for the desired disks on all of the pertinent nodes.
+if [[ -n $mflag || -n $Mflag || -n $Xflag ]]
+then
+  # Invoke routine to display the disk data from the nodes.
+  showLocalDeviceInfo $collectedDiskData $diskNamesFile $nodefile
+
+else
+  # For options other than -m, -M, or -X, loop through the selected
+  # disks one by one and print the desired information.
+  IFS=":"
+  exec 3<&-
+  exec 3< $disksToShow
+  while read -u3 diskLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $diskLine ; set +f
+    IFS="$IFS_sv"
+
+    # Check whether this is a free disk.
+    [[ ${v[$NODESETID_Field]} = $FREE_DISK ]] &&  \
+      v[$DEV_NAME_Field]="(free disk)"
+
+    if [[ -n $Lflag ]]
+    then                          # Extended disk information requested.
+      # If no primary node, indicate the disk is directly-attached.
+      [[ -z ${v[$NSD_PRIMARY_NODE_Field]} ]] &&  \
+        v[$NSD_PRIMARY_NODE_Field]="(directly attached)"
+
+      # Print the line of output for the disk.
+      printf " %-13s %-12s %-18s %-24s %s\n"  \
+          "${v[$DEV_NAME_Field]}" "${v[$DISK_NAME_Field]}" "${v[$PVID_Field]}" \
+          "${v[$NSD_PRIMARY_NODE_Field]}" "${v[$NSD_BACKUP_NODE_Field]}"
+
+    else                          # Default disk information requested.
+      # If no primary node, indicate the disk is directly-attached.
+      [[ -z ${v[$NSD_PRIMARY_NODE_Field]} ]] &&  \
+        v[$NSD_PRIMARY_NODE_Field]="(directly attached)"
+
+      # Print the line of output for the disk.
+      printf " %-13s %-12s %-24s %s\n"  \
+             "${v[$DEV_NAME_Field]}" "${v[$DISK_NAME_Field]}"  \
+             "${v[$NSD_PRIMARY_NODE_Field]}" "${v[$NSD_BACKUP_NODE_Field]}"
+    fi  # end of if [[ -n $Lflag ]]
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 diskLine
+
+fi  # end of if [[ -n $Mflag ]]
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+# Add a blank line for nicer formatting.
+print ""
+
+# If any nodes could not be reached, tell the user which ones.
+if [[ -s $unreachedNodes ]]
+then
+  # The following nodes could not be reached: . . .
+  printErrorMsg 270 $mmcmd
+  $cat $unreachedNodes 1>&2
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlspolicy
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlspolicy	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlspolicy	(revision 16)
@@ -0,0 +1,185 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)85 1.3 src/avs/fs/mmfs/ts/admin/mmlspolicy.sh, mmfs, avs_rgpfs24, rgpfs240610b 1/23/06 01:57:02
+#######################################################################
+#
+# Usage:  mmlspolicy Device [-L]
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmlspolicy.sh"
+[[ -n $DEBUG || -n $DEBUGmmlspolicy ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=358
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+argList=$@       # Save the remainder of the argument list.
+
+
+###################################
+# Set up trap exception handling.
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+####################################
+# Make sure the file system exists.
+####################################
+# If the invocation is not for an explicitly-remote device, obtain the
+# needed information about the filesystem from the mmsdrfs file.
+if [[ $device != *:* ]]
+then
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+  remoteDevice=$4
+
+  # If this is a remote file system, set fqDeviceName appropriately.
+  [[ $fsHomeCluster != $HOME_CLUSTER ]] &&  \
+    fqDeviceName="$fsHomeCluster:/dev/$remoteDevice"
+else
+  fqDeviceName=$device
+  deviceName=${fqDeviceName##*:}
+  fsHomeCluster=${fqDeviceName%%:*}
+  remoteDevice=$deviceName
+fi
+
+
+########################################################################
+# Invoke the command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the file system is remote
+#   - we are not running as UID 0
+#   - this is a single node cluster
+########################################################################
+${mmcmdDir}/${links}/mmlspolicy $fqDeviceName $argList 2>$errMsg
+rc=$(remapRC $?)
+if [[ ($rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+      $fsHomeCluster != $HOME_CLUSTER                    ||
+      $ourUid -ne 0                                      ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_FsNotFound ]]
+  then
+    if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+    then
+      # The remote cluster does not know anything about this file system.
+      printErrorMsg 108 $mmcmd $remoteDevice $fsHomeCluster
+    else
+      # Unexpected error.
+      printErrorMsg 171 $mmcmd "file system $deviceName not found" $rc
+    fi
+  elif [[ $rc -eq $MM_Remotefs && $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # The file system is not owned by the remote cluster.
+    [[ $device != *:* ]] &&  \
+      printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+    printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+  elif [[ ($rc -eq $MM_HostDown    ||
+           $rc -eq $MM_TimedOut    ||
+           $rc -eq $MM_SecurityCfg ||
+           $rc -eq $MM_AuthorizationFailed ||
+           $rc -eq $MM_UnknownCluster)    &&
+          $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Failed to connect to the remote cluster.
+    [[ $rc -eq $MM_SecurityCfg ]] &&  \
+      printErrorMsg 150 $mmcmd
+    [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+      printErrorMsg 151 $mmcmd
+    printErrorMsg 105 $mmcmd $fsHomeCluster
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+#   [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tslspolicy $fqDeviceName" $rc
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+#######################################################################
+# We come here if the file system is local but the local daemon is not
+# available.  Find an active node and send the command there.
+#######################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+preferredNode=$ourNodeName
+
+# Try the nodes one by one until you find a node that can execute the command.
+$mmcommon linkCommand $preferredNode $nodefile mmlspolicy $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsquota
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsquota	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlsquota	(revision 16)
@@ -0,0 +1,386 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2004,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)84 1.11.1.1 src/avs/fs/mmfs/ts/admin/mmlsquota.sh, mmfs, avs_rgpfs24, rgpfs24s002a 4/27/06 19:20:07
+########################################################################
+#
+# Usage:
+#   mmlsquota [-u User | -g Group | -j Fileset] [-v | -q] [-e]
+#                [-C ClusterName] [Device1 Device2 ...]
+#     or
+#   mmlsquota -d {-u | -g | -j} [-C ClusterName] [Device1 Device2 ...]
+#
+########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmlsquota.sh"
+[[ -n $DEBUG || -n $DEBUGmmlsquota ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local variables
+usageMsg=452
+integer rc=0
+integer nodeCount=0
+deviceList=""
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+string1=""
+Cstring=""
+if [[ $arg1 = '-d' ]]
+then
+  # We come here to handle the -d form of the command.
+  while getopts :C:dgju OPT
+  do
+    case $OPT in
+
+      C) # Specify a cluster name.
+         if [[ $OPTARG = *:* ]]
+         then
+           print -u2 "Disregarding the C operand because it contains a colon."
+         else
+           Cstring="$Cstring $OPTARG"
+           COpt="-C"
+         fi
+         ;;
+
+      d) string1="-d "
+         dOpt="-d"
+         ;;
+
+      g) [[ -n $jOpt ]] && syntaxError "invalidCombination" $usageMsg "-j" "-g"
+         [[ -n $uOpt ]] && syntaxError "invalidCombination" $usageMsg "-u" "-g"
+         gOpt="-g"
+         string1="$string1 -g"
+         ;;
+
+      j) [[ -n $gOpt ]] && syntaxError "invalidCombination" $usageMsg "-g" "-j"
+         [[ -n $uOpt ]] && syntaxError "invalidCombination" $usageMsg "-u" "-j"
+         jOpt="-j"
+         string1="$string1 -j"
+         ;;
+
+      u) [[ -n $gOpt ]] && syntaxError "invalidCombination" $usageMsg "-g" "-u"
+         [[ -n $jOpt ]] && syntaxError "invalidCombination" $usageMsg "-j" "-u"
+         uOpt="-u"
+         string1="$string1 -u"
+         ;;
+
+      :) syntaxError "missingValue" $usageMsg $OPTARG
+         ;;
+
+      +[dgju]) syntaxError "invalidOption" $usageMsg "$OPT"
+         ;;
+
+      *) syntaxError "invalidOption" $usageMsg $OPTARG
+         ;;
+
+    esac
+  done  # end of while getopts :C:dgju OPT do
+
+  # In this form, one of -g, -j, and -u are mandatory.
+  [[ -z $gOpt && -z $jOpt && -z $uOpt ]] && syntaxError "missingArgs" $usageMsg
+
+else
+  # We come here to handle the non-"-d" form of the command.
+  while getopts :C:eg:j:qu:v OPT
+  do
+    case $OPT in
+
+      C) # Specify a cluster name.
+         if [[ $OPTARG = *:* ]]
+         then
+           print -u2 "Disregarding the C operand because it contains a colon."
+         else
+           Cstring="$Cstring $OPTARG"
+           COpt="-C"
+         fi
+         ;;
+
+      e) string1="$string1 -e"
+         eOpt="-e"
+         ;;
+
+      g) # Specify a group.
+         [[ -n $gOpt ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         string1="$string1 -g $OPTARG"
+         gOpt="-g"
+         [[ -n $jOpt ]] && syntaxError "invalidCombination" $usageMsg "-j" "-g"
+         [[ -n $uOpt ]] && syntaxError "invalidCombination" $usageMsg "-u" "-g"
+         ;;
+
+      j) # Specify a fileset.
+         [[ -n $jOpt ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         string1="$string1 -j $OPTARG"
+         jOpt="-j"
+         [[ -n $gOpt ]] && syntaxError "invalidCombination" $usageMsg "-g" "-j"
+         [[ -n $uOpt ]] && syntaxError "invalidCombination" $usageMsg "-u" "-j"
+         ;;
+
+      q) [[ -n $vOpt ]] && syntaxError "invalidCombination" $usageMsg "-v" "-q"
+         string1="$string1 -q"
+         qOpt="-q"
+         ;;
+
+      u) # Specify a user.
+         [[ -n $uOpt ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         string1="$string1 -u $OPTARG"
+         uOpt="-u"
+         [[ -n $gOpt ]] && syntaxError "invalidCombination" $usageMsg "-g" "-u"
+         [[ -n $jOpt ]] && syntaxError "invalidCombination" $usageMsg "-j" "-u"
+         ;;
+
+      v) [[ -n $qOpt ]] && syntaxError "invalidCombination" $usageMsg "-q" "-v"
+         vOpt="-v"
+         string1="$string1 -v"
+         ;;
+
+      :) syntaxError "missingValue" $usageMsg $OPTARG
+         ;;
+
+      +[egjquv]) syntaxError "invalidOption" $usageMsg "$OPT"
+         ;;
+
+      *) syntaxError "invalidOption" $usageMsg $OPTARG
+         ;;
+
+    esac
+  done  # end of while getopts :C:eg:j:qu:v OPT do
+fi  # end of if [[ $arg1 = '-d' ]]
+
+shift OPTIND-1
+
+# Whatever is left is the blank-separated list of devices.
+deviceList=$@
+
+
+##################################
+# Set up trap exception handling.
+##################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+###############################################
+# Process any -C operands that were specified.
+###############################################
+deviceList2=""
+for cname in $Cstring
+do
+  # Set the remote file system flag.
+  remoteFsSpecified=yes
+
+  # Generate a list of the devices GPFS knows for the specified cluster.
+  # The awk script looks for SG_HEADR lines for the specified cluster.
+  # For each such line, clusterName:fsName is added to deviceList2.
+  dlist=$($awk -F: '                                                  \
+    /^'$cname:$SG_HEADR:'/ {                                          \
+      { print $'$NODESETID_Field' ":" $'$REMOTE_DEV_NAME_Field' " "}  \
+    }                                                                 \
+  ' $mmsdrfsFile)
+  checkForErrors awk $?
+
+  if [[ -z $dlist ]]
+  then
+    print -u2 "No remote file systems for cluster $cname were found."
+  else
+    deviceList2="$deviceList2 $dlist"
+    [[ -n $remoteCluster && $cname != $remoteCluster ]] &&  \
+      multipleClustersInvolved=yes
+    remoteCluster=$cname
+  fi
+done  # end of for cname in $Cstring do
+
+
+###################################################################
+# Process any file systems that were specified one at a time.
+# Loop through the device list and replace any remote file systems
+# with the string "remoteClusterName:remoteFsName".
+###################################################################
+set -f
+for device in $deviceList
+do
+  set +f
+
+  # If the invocation is not for an explicitly-remote device, obtain the
+  # needed information about the filesystem from the mmsdrfs file.
+  if [[ $device != *:* ]]
+  then
+    findFSoutput=$(findFS "$device" $mmsdrfsFile)
+    [[ -z $findFSoutput ]] && continue
+
+    # Parse the output from the findFS function.
+    set -f ; set -- $findFSoutput ; set +f
+    fqDeviceName=$1
+    deviceName=$2
+    fsHomeCluster=$3
+    remoteDevice=$4
+
+    # If this is a remote file system, set fqDeviceName appropriately.
+    if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+    then
+      fqDeviceName="$fsHomeCluster:/dev/$remoteDevice"
+      remoteFsSpecified=yes
+      [[ -n $remoteCluster && $fsHomeCluster != $remoteCluster ]] &&  \
+        multipleClustersInvolved=yes
+      remoteCluster=$fsHomeCluster
+    fi
+  else
+    fqDeviceName=$device
+    deviceName=${fqDeviceName##*:}
+    fsHomeCluster=${fqDeviceName%%:*}
+    remoteDevice=$deviceName
+    remoteFsSpecified=yes
+    [[ -n $remoteCluster && $fsHomeCluster != $remoteCluster ]] &&  \
+      multipleClustersInvolved=yes
+    remoteCluster=$fsHomeCluster
+  fi
+
+  # If more than one file system requested, suppress error
+  # messages that deal with individual file systems.
+  # Such errors will go into the "unexpected" category.
+  [[ -n $deviceList2 ]] && multipleDevicesInvolved=yes
+
+  # Append the fully-qualified name to the list of fs names.
+  deviceList2="$deviceList2 $fqDeviceName"
+done  # end of for device in $deviceList do
+set +f
+
+
+########################################################################
+# Invoke the command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - one of the file systems is remote
+#   - we are not running as UID 0
+#   - this is a single node cluster
+########################################################################
+${mmcmdDir}/${links}/mmlsquota $string1 $deviceList2 2>$errMsg
+rc=$(remapRC $?)
+if [[ ($rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+      $remoteFsSpecified = yes                           ||
+      $ourUid -ne 0                                      ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_FsNotFound && -z $multipleDevicesInvolved ]]
+  then
+    if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+    then
+      # The remote cluster does not know anything about this file system.
+      printErrorMsg 108 $mmcmd $remoteDevice $fsHomeCluster
+    else
+      # Unexpected error.
+      printErrorMsg 171 $mmcmd "file system $deviceName not found" $rc
+    fi
+  elif [[ $rc -eq $MM_Remotefs            &&
+          $fsHomeCluster != $HOME_CLUSTER &&
+          -z $multipleDevicesInvolved     ]]
+  then
+    # The file system is not owned by the remote cluster.
+    [[ $device != *:* ]] &&  \
+      printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+    printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+  elif [[ ($rc -eq $MM_HostDown            ||
+           $rc -eq $MM_TimedOut            ||
+           $rc -eq $MM_SecurityCfg         ||
+           $rc -eq $MM_AuthorizationFailed ||
+           $rc -eq $MM_UnknownCluster)        &&
+           $fsHomeCluster != $HOME_CLUSTER    &&
+           -z $multipleClustersInvolved       ]]
+  then
+    # Failed to connect to the remote cluster.
+    [[ $rc -eq $MM_SecurityCfg ]] &&  \
+      printErrorMsg 150 $mmcmd
+    [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+      printErrorMsg 151 $mmcmd
+    printErrorMsg 105 $mmcmd $fsHomeCluster
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    if [[ -s $errMsg ]]
+    then
+      # Show the error messages from the daemon.
+      $cat $errMsg 1>&2
+    elif [[ $rc -ne 0 ]]
+    then
+      # tslsquota failed; there was no message from the daemon.
+      printErrorMsg 104 "$mmcmd" "tslsquota $string1 $deviceList2"
+    else
+      :  # The command must have worked.
+    fi
+  fi  # end of if [[ $rc -eq $MM_FsNotFound && -z $multipleDevicesInvolved ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown  && ...
+$rm -f $errMsg
+
+
+################################################################
+# We come here if the command was invoked but the local daemon
+# is not available; send the command to an active node.
+################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmlsquota $string1 $deviceList2
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlssnapshot
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlssnapshot	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmlssnapshot	(revision 16)
@@ -0,0 +1,225 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2001,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)60 1.17 src/avs/fs/mmfs/ts/admin/mmlssnapshot.sh, mmfs, avs_rgpfs24, rgpfs240610b 3/22/05 13:20:42
+#######################################################################
+#
+#  Usage:  mmlssnapshot Device [-d] [-Q]
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmlssnapshot.sh"
+[[ -n $DEBUG || -n $DEBUGmmlssnapshot ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=439
+integer rc=0
+integer nodeCount=0
+daemonFlags=""
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+
+if [[ $argc -eq 1 ]]
+then
+  daemonFlags=""
+else
+  while getopts :dQ OPT
+  do
+    case $OPT in
+      d) # Display the block counts.
+         daemonFlags="$daemonFlags -$OPT"
+         ;;
+      Q) # Display the quota status.
+         daemonFlags="$daemonFlags -$OPT"
+         ;;
+      *) # An invalid option was specified.
+         syntaxError "invalidOption" $usageMsg $OPTARG
+         ;;
+    esac
+  done
+  shift OPTIND-1
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+fi
+
+
+###################################
+# Set up trap exception handling.
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+####################################
+# Make sure the file system exists.
+####################################
+
+# If the invocation is not for an explicitly-remote device, obtain the
+# needed information about the filesystem from the mmsdrfs file.
+if [[ $device != *:* ]]
+then
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+  remoteDevice=$4
+
+  # If this is a remote file system, set fqDeviceName appropriately.
+  [[ $fsHomeCluster != $HOME_CLUSTER ]] &&  \
+    fqDeviceName="$fsHomeCluster:/dev/$remoteDevice"
+else
+  fqDeviceName=$device
+  deviceName=${fqDeviceName##*:}
+  fsHomeCluster=${fqDeviceName%%:*}
+  remoteDevice=$deviceName
+fi
+
+
+########################################################################
+# Invoke the command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the file system is remote
+#   - we are not running as UID 0
+#   - this is a single node cluster
+########################################################################
+${mmcmdDir}/${links}/mmlssnapshot $fqDeviceName $daemonFlags 2>$errMsg
+rc=$(remapRC $?)
+if [[ ($rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+      $fsHomeCluster != $HOME_CLUSTER                    ||
+      $ourUid -ne 0                                      ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_FsNotFound ]]
+  then
+    if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+    then
+      # The remote cluster does not know anything about this file system.
+      printErrorMsg 108 $mmcmd $remoteDevice $fsHomeCluster
+    else
+      # Unexpected error.
+      printErrorMsg 171 $mmcmd "file system $deviceName not found" $rc
+    fi
+  elif [[ $rc -eq $MM_Remotefs && $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # The file system is not owned by the remote cluster.
+    [[ $device != *:* ]] &&  \
+      printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+    printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+  elif [[ ($rc -eq $MM_HostDown    ||
+           $rc -eq $MM_TimedOut    ||
+           $rc -eq $MM_SecurityCfg ||
+           $rc -eq $MM_AuthorizationFailed ||
+           $rc -eq $MM_UnknownCluster)    &&
+          $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Failed to connect to the remote cluster.
+    [[ $rc -eq $MM_SecurityCfg ]] &&  \
+      printErrorMsg 150 $mmcmd
+    [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+      printErrorMsg 151 $mmcmd
+    printErrorMsg 105 $mmcmd $fsHomeCluster
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    if [[ -s $errMsg ]]
+    then
+      # Show the error messages from the daemon.
+      $cat $errMsg 1>&2
+    elif [[ $rc -ne 0 ]]
+    then
+      # tslssnapshot failed.
+      printErrorMsg 104 "$mmcmd" "tslssnapshot $fqDeviceName"
+    else
+      :  # The command must have worked.
+    fi
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown  && ...
+$rm -f $errMsg
+
+
+#########################################################################
+# We come here if the command was invoked for a local file system but
+# the local daemon is not available; send the command to an active node.
+#########################################################################
+
+# Create a file with the reliable names that form the cluster
+# to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile  \
+    mmlssnapshot $fqDeviceName $daemonFlags
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmmount
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmmount	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmmount	(revision 16)
@@ -0,0 +1,279 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)21 1.10.1.3 src/avs/fs/mmfs/ts/admin/mmmount.sh, mmfs, avs_rgpfs24, rgpfs24s007a 10/5/06 17:58:00
+##############################################################################
+#
+#  Mount GPFS file systems on one or more nodes in the cluster.
+#
+#  Usage:
+#    mmmount {Device | DefaultMountPoint | all} [-o MountOptions]
+#            [-a | -N {Node[,Node...] | NodeFile | NodeClass}]
+#  or
+#    mmmount Device MountPoint [-o MountOptions]
+#            [-a | -N {Node[,Node...] | NodeFile | NodeClass}]
+#
+#  where:
+#    -a                Mount the file systems on all nodes in the cluster.
+#
+#    -N Node,Node,...  Specify the nodes on which the mount is to take place.
+#    -N NodeFile       NodeClass may be one of several possible node classes
+#    -N NodeClass      (e.g., quorumnodes, managernodes, nsdnodes, etc.)
+#
+#    -o MountOptions   is a comma-separated list of mount options.
+#
+#  If not explicitly-specified otherwise, the file systems are mounted on
+#  the local node only.
+#
+#
+# Undocumented option:
+#
+#   -y                 Suppress internal remounting.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmmount.sh"
+[[ -n $DEBUG || -n $DEBUGmmmount ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local variables
+
+usageMsg=390
+rc=0
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+##################################
+# Process each of the arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# Figure out what was specified on the command line.
+if [[ $arg1 = /* && $arg1 != +(/)dev+(/)* ]]
+then
+  # If the first argument starts with a "/" but not "/dev/",
+  # it is assumed to be a fully-qualified mount point.
+  defaultMountPoint=$arg1
+  shift 1
+
+else
+  # Otherwise, the argument is assumed to be the device name
+  # of a file system (or one of the "all" the keywords).
+  device=$arg1
+  shift 1
+
+  # If a device name was specified, the second argument may be
+  # the fully-qualified path name of a mount point to use.
+  if [[ -n $arg2 ]]
+  then
+    if [[ $arg2 = -* ]]
+    then
+      : # This must be an option; we'll handle it later.
+    elif [[ $arg1 = all || $arg1 = all_local || $arg1 = all_remote ]]
+    then
+      # Mount point cannot be specified when mounting all file systems.
+      printErrorMsg 281 $mmcmd
+      syntaxError "help" $usageMsg
+    elif [[ $arg2 != /* ]]
+    then
+      # The mount point must be a fully-qualified path name.
+      syntaxError "absolutePath" $noUsageMsg "$arg2"
+    else
+      # The second argument must be a mount pount.
+      newMountPoint=$arg2
+      shift 1
+    fi  # end of if [[ $arg2 = -* ]]
+  fi  # end of if [[ -n $arg2 ]]
+fi  # end of if [[ $arg1 = "/"* && $arg1 != +(/)dev+(/)* ]]
+
+# Process the rest of the options.
+while getopts :aN:o:y OPT
+do
+  case $OPT in
+
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag="-$OPT"
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"
+       nodenames="$OPTARG"
+       ;;
+
+    o) [[ -n $oflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       oflag="-$OPT"
+       mountOptions="$OPTARG"
+       ;;
+
+    y) [[ -n $yflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       yflag="doNotRemount"
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[aNoy])
+       syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+[[ -z $mountOptions  ]] && mountOptions=DEFAULT
+[[ -z $newMountPoint ]] && newMountPoint=DEFAULT
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+#######################################################
+# Create a file containing all of the specified nodes.
+#######################################################
+if [[ -n $aflag ]]
+then
+  # Get a list of the nodes.
+  getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+elif [[ -n $Nflag ]]
+then
+  # Convert the passed data into a file containing admin node names.
+  createVerifiedNodefile "$nodenames" $REL_HOSTNAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+else
+  : # Nothing to do.  Only the local node is affected.
+fi  # end of if [[ -n $aflag ]]
+
+
+#################################
+# Verify the file system exists.
+#################################
+if [[ $device = all || $device = all_local || $device = all_remote ]]
+then
+  # Ensure there is at least one file systems to mount.
+  $awk -F: '                                                                 \
+    BEGIN { rc = '$MM_FsNotFound' }                                          \
+    $'$LINE_TYPE_Field' == "'$SG_HEADR'" {                                   \
+      if ( device == "all"                                               ||  \
+           device == "all_local"  && $'$FS_TYPE_Field' == "'$localfs'"   ||  \
+           device == "all_remote" && $'$FS_TYPE_Field' == "'$remotefs'" ) {  \
+        { rc = 0 }                                                           \
+        { exit }                                                             \
+      }                                                                      \
+    }                                                                        \
+  END { exit rc }                                                            \
+  ' device=$device $mmsdrfsFile
+  rc=$?
+
+  if [[ $rc = $MM_FsNotFound ]]
+  then
+    # No file systems were found in the cluster.
+    if [[ $device = all || $device = all_local ]]
+    then
+      printErrorMsg 200 $mmcmd
+    else
+      printErrorMsg 193 $mmcmd
+    fi
+    cleanupAndExit $rc
+  else
+    # Check for unexpected errors
+    checkForErrors awk $rc
+  fi  # end of if [[ $rc = $MM_FsNotFound ]]
+
+  deviceName=$device
+  defaultOptions=DEFAULT
+
+else
+  # Look for the file system either by device name or by mount point.
+  if [[ -n $device ]]
+  then
+    findFSoutput=$(findFS "$device" $mmsdrfsFile device)
+  else
+    findFSoutput=$(findFS "$defaultMountPoint" $mmsdrfsFile mountPoint)
+  fi
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+  defaultMountPoint=$6
+  defaultOptions=$7
+fi  # end of if [[ $device = all || ...
+
+# Ensure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+
+#################################################
+# Mount the file systems on the specified nodes.
+#################################################
+
+# Mounting file systems ...
+printInfoMsg 373 "$(date)" $mmcmd
+
+if [[ ! -s $nodefile ]]
+then
+  # The request is to mount file systems on the local node only.
+  $mmremote mountFileSystems  \
+     $deviceName "$newMountPoint" "$defaultOptions" "$mountOptions" $yflag
+  rc=$?
+else
+  # The request is to mount file systems on a number of nodes.
+  # Note:  The two option strings may contain a semi-colon
+  #        and must be double-quoted.
+  $mmcommon onall $nodefile $unreachedNodes mountFileSystems  \
+     $deviceName "$newMountPoint" "\"$defaultOptions\"" "\"$mountOptions\"" $yflag
+  rc=$?
+fi
+
+# If any nodes could not be reached, tell the user which ones.
+if [[ -s $unreachedNodes ]]
+then
+  # The following nodes could not be reached: . . .
+  printErrorMsg 270 $mmcmd
+  $cat $unreachedNodes 1>&2
+fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmmvfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmmvfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmmvfs	(revision 16)
@@ -0,0 +1,320 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1998,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)02 1.64 src/avs/fs/mmfs/ts/admin/mmmvfs.sh, mmfs, avs_rgpfs24, rgpfs24s001a 3/30/06 14:59:15
+##############################################################################
+#
+# Usage:
+#   mmmvfs Device -W newDeviceName
+#
+# where
+#   Device            is the file system to be renamed.
+#   -W newDeviceName  is the new name for the file system.
+#
+##############################################################################
+
+# Include global declarations and service routines
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmmvfs.sh"
+[[ -n $DEBUG || -n $DEBUGmmmvfs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+oldNodes=${tmpDir}oldNodes.${mmcmd}.$$
+newNodes=${tmpDir}newNodes.${mmcmd}.$$
+oldcfgFile=${tmpDir}oldcfgFile.${mmcmd}.$$
+
+LOCAL_FILES=" $oldNodes $newNodes $oldcfgFile "
+
+# Local variable declarations
+usageMsg=185
+newNodesetIdFound=no
+oldNodesetId=""
+fsMountPoint=""
+existingMountPoints=""
+existingMinorNumbers=""
+newVSDfound=""
+newDiskLeaseRequired=""
+newLVfound=""
+existingLVfound=""
+existingVSDfound=""
+existingDiskLeaseRequired=""
+preferredNode=0
+
+
+# Local functions
+
+
+
+#######################
+# Mainline processing.
+#######################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] && \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2 ]] && \
+  syntaxError "missingArgs" $usageMsg
+
+[[ $argc -gt 3 ]] && syntaxError "help" $usageMsg
+
+device=$arg1   # Save the file system device (always the first parameter).
+shift 1        # Drop the device name from the parameter list.
+
+while getopts :W: OPT
+do
+  case $OPT in
+
+    W) # Rename the file system to the specified name.
+       newFsName=$OPTARG
+       ;;
+
+    +[W]) syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # invalid option specified
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+#####################################################################
+# Verify the correctness of the input new device name parameter.
+# The correctness of the existing device name is checked in findFS.
+#####################################################################
+newDeviceName=${newFsName##+(/)dev+(/)}  # name stripped of /dev/ prefix
+newfqDeviceName="/dev/$newDeviceName"    # name with /dev/ prefix
+if [[ $newDeviceName != ${newDeviceName#*/} ]]
+then
+  if [[ $newDeviceName = ${newDeviceName#/} ]]
+  then
+    printErrorMsg 170 $mmcmd $newFsName
+  else
+    # Name starts with a slash, but not /dev/.
+    printErrorMsg 169 $mmcmd $newFsName
+  fi
+  cleanupAndExit
+fi
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#####################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+
+##############################################
+# Create the new version of the mmsdrfs file.
+##############################################
+$rm -f $newsdrfs $nodefile $allQuorumNodes
+IFS=":"         # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"   # Restore the default IFS settings.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+       # Increment the generation number.
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+       ;;
+
+    $MEMBER_NODE )  # This line describes a node.
+       # Add the reliable node name to nodefile.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+       checkForErrors "writing to file $nodefile" $?
+
+       # Create a list of the quorum nodes.
+       if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+       then
+         print -- "${v[$REL_HOSTNAME_Field]}" >> $allQuorumNodes
+         checkForErrors "writing to file $allQuorumNodes" $?
+       fi
+
+       # If the node that is executing this command is part of the nodeset,
+       # designate it as a "preferred node"
+       [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] && \
+         preferredNode=${v[$REL_HOSTNAME_Field]}
+       ;;
+
+    $SG_HEADR )  # This is a fs header line.
+       # Make sure that the new file system name does not already exist.
+       if [[ ${v[$DEV_NAME_Field]} = $newDeviceName ]]
+       then
+         printErrorMsg 107 $mmcmd $newFsName
+         cleanupAndExit
+       fi
+       # If the line is for our file system, replace the
+       # existing file system name with the new one.
+       [[ ${v[$DEV_NAME_Field]} = $deviceName ]] && \
+         v[$DEV_NAME_Field]=$newDeviceName
+       ;;
+
+    $SG_MOUNT | $SG_DISKS | $AUTHORIZED_FS )
+       # If the line is for our file system, replace the
+       # existing file system name with the new one.
+       [[ ${v[$DEV_NAME_Field]} = $deviceName ]] && \
+         v[$DEV_NAME_Field]=$newDeviceName
+       ;;
+
+    $SG_ETCFS )  # This is an /etc/filesystem line.
+       # If the line is for our file system, replace the
+       # existing file system name with the new one.
+       # If it is the line for the device name, change the
+       # device name to reflect the new device name as well.
+       if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       then
+         v[$DEV_NAME_Field]=$newDeviceName
+         if [[ ${v[$LINE_NUMBER_Field]} = $DEV_Line ]]
+         then
+           v[$ETCFS_TEXT_Field]="$DEV_Line_Prefix$newfqDeviceName"
+         fi
+       fi
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  print_newLine >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+####################################################################
+# Invoke tschfs with the -W parameter to rename the file system.
+# This call, if successful, schedules the fs name change.
+# The change is committed or rolled back depending on what name
+# is used on the next file system request.  This in turn will
+# depend on whether the mmsdrfs changes are successfully committed.
+####################################################################
+$mmcommon onactive $preferredNode $nodefile \
+                   $NO_FILE_COPY $fqDeviceName $CHECK_ALL $NO_LINK \
+                   tschfs $fqDeviceName -W $newDeviceName
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # The tschfs step failed.
+  printErrorMsg 104 $mmcmd tschfs
+  cleanupAndExit
+fi
+
+
+############################################################
+# Replace the mmsdrfs file in the sdr with the new version.
+############################################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges \
+   $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # Cannot replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+######################################################################
+# Finalize the stripe group descriptor changes (see comments above)
+# by making a simple mmlsfs call to force the daemon to open the
+# file system.  The -r option on mmlsfs is an arbitrary choice.
+######################################################################
+$mmcommon linkCommand  \
+  $preferredNode $nodefile mmlsfs $newfqDeviceName -r > /dev/null 2>&1
+
+
+###################
+# Unlock the sdr.
+###################
+freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+#########################################################
+# Propagate the changes to all the nodes in the cluster.
+#########################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmpmon
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmpmon	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmpmon	(revision 16)
@@ -0,0 +1,134 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2004,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)85 1.4.1.5 src/avs/fs/mmfs/ts/admin/mmpmon.sh, mmfs, avs_rgpfs24, rgpfs240610b 6/16/05 01:55:25
+#######################################################################
+#
+# Usage:  mmpmon [-d integerDelayValue] [-i fileName] [-p] 
+#                [-r integerRunValue] [-s] [-t timeout_in_sec]
+#
+#######################################################################
+
+# Include global declarations and service routines
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmpmon.sh"
+[[ -n $DEBUG || -n $DEBUGmmpmon ]] && set -x
+$mmTRACE_ENTER "$*"
+
+###################################
+# Set up trap exception handling.
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+# Local variables
+
+usageMsg=186
+noUsageMsg=0
+integer rc=0
+integer delayValue=1000  # default value for delay (1000 ms)
+integer runValue=1       # default value for run
+parsable="0"             # default to human-readable output.
+emitPrompts="1"          # default value for no explicit file name.
+fileName=""
+timeout_in_sec=60
+
+##################################
+# Get the correct socket name.
+##################################
+useThisNamedSocket=$mmpmonNamedSocketFile
+
+##################################
+# Process the command arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] && \
+  syntaxError "help" $usageMsg
+
+# Parse the optional parameters.
+while getopts :d:i:psr:t: OPT
+do
+  case $OPT in
+    d) delayValue=$(checkIntRange "-d" $OPTARG 500 8000000)
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    i) [[ -n $fileName ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       emitPrompts="0"
+       fileName=$OPTARG
+       if [[ ! -r $fileName ]]
+       then
+         # Cannot open the file
+         printErrorMsg 43 $mmcmd $fileName
+         cleanupAndExit
+       fi
+       ;;
+ 
+    p) parsable="1"
+       ;;
+
+    r) runValue=$(checkIntRange "-r" $OPTARG 0 8000000)
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    s) emitPrompts="0"
+       ;;
+
+    t) timeout_in_sec=$(checkIntRange "-t" $OPTARG 1 8000000)
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    +[diprst]) # invalid option specified
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # missing required value after an option
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # invalid option specified
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+if [[ -n $DEBUG || -n $DEBUGmmpmon ]]
+then
+  debugOption="1"
+else
+  debugOption="0"
+fi
+
+###################################
+# Invoke the tspmon command.
+###################################
+if [[ -n $fileName ]]
+then
+  ${mmcmdDir}/${links}/mmpmon \
+    $delayValue $parsable $runValue $debugOption $emitPrompts  \
+    $timeout_in_sec $useThisNamedSocket < $fileName
+  rc=$?
+else
+  ${mmcmdDir}/${links}/mmpmon \
+    $delayValue $parsable $runValue $debugOption $emitPrompts  \
+    $timeout_in_sec $useThisNamedSocket
+  rc=$?
+fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmprodname
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmprodname	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmprodname	(revision 16)
@@ -0,0 +1,232 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)90 1.10.1.11 src/avs/fs/mmfs/ts/admin/mmprodname.sh, mmfs, avs_rgpfs24, rgpfs24s012a 4/6/07 16:11:47
+#############################################################
+#
+#  This file contains external product-related information.
+#  It must be kept in sync with the corresponding packaging
+#  files and the GPFS daemon counterpart prodname.h file.
+#
+#############################################################
+sourceFile="mmprodname.sh"
+[[ -n $DEBUGprodname ]] && set -x
+
+
+# Set product release information.
+# Must match the information in src/packages/gpfs/base/Makefile
+# and src/packages/gpfs/base/gpfs.base.spec.
+productVersion="3.1.0.12"
+compatibleProductVersion="3.1.0.0"
+initialProductVersion="3.1.0.0"    # first multi-release enabled version
+
+# Set version numbers for communication between daemons.
+# Must match the values in ts/classes/basic/prodname.h.
+currentDaemonVersion=913           # CURRENT_DAEMON_VERSION_NO
+compatibleDaemonVersion=901        # COMPATIBLE_DAEMON_VERSION_NO
+initialDaemonVersion=901           # first multi-release enabled version
+
+
+####################################################################
+#
+# Function:  Converts the input value to the corresponding
+#            daemon version as per prodname.h (e.g. 700).
+#
+# Input:     $1 - release version string or daemon version
+#
+# Output:    daemon version (0 if unknown)
+#
+# Returns:   always 0
+#
+####################################################################
+function releaseToDaemonVersion  # <releaseVersion>
+{
+  typeset sourceFile="mmprodname.sh"
+  [[ -n $DEBUG || -n $DEBUGreleaseToDaemonVersion ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset inValue=$1
+  typeset result=0
+
+
+  if [[ $inValue = 9[0-9][0-9] || $inValue = 8[0-9][0-9] || $inValue = 70[0-1] ]]
+  then
+    result=$inValue
+
+  else
+    case $inValue
+    in
+      2.2.0.[0-4])  result=700 ;;
+      2.2.1.[0-9])  result=700 ;;
+      2.2.1.1[0-3]) result=701 ;;
+
+      2.3.0.0)      result=804 ;;
+      2.3.0.1)      result=805 ;;
+      2.3.0.2)      result=806 ;;
+      2.3.0.3)      result=808 ;;
+      2.3.0.4)      result=809 ;;
+      2.3.0.5)      result=810 ;;
+      2.3.0.6)      result=811 ;;
+      2.3.0.7)      result=812 ;;
+      2.3.0.8)      result=813 ;;
+      2.3.0.9)      result=814 ;;
+      2.3.0.10)     result=815 ;;
+      2.3.0.11)     result=816 ;;
+      2.3.0.12)     result=817 ;;
+      2.3.0.13)     result=818 ;;
+      2.3.0.14)     result=819 ;;
+      2.3.0.15)     result=820 ;;
+      2.3.0.16)     result=821 ;;
+      2.3.0.17)     result=822 ;;
+      2.3.0.18)     result=823 ;;
+      2.3.0.19)     result=824 ;;
+      2.3.0.20)     result=825 ;;
+      2.3.0.21)     result=826 ;;
+      2.3.0.22)     result=827 ;;
+
+      3.1.0.0)      result=901 ;;
+      3.1.0.1)      result=902 ;;
+      3.1.0.2)      result=903 ;;
+      3.1.0.3)      result=904 ;;
+      3.1.0.4)      result=905 ;;
+      3.1.0.5)      result=906 ;;
+      3.1.0.6)      result=907 ;;
+      3.1.0.7)      result=908 ;;
+      3.1.0.8)      result=909 ;;
+      3.1.0.9)      result=910 ;;
+      3.1.0.10)     result=911 ;;
+      3.1.0.11)     result=912 ;;
+      3.1.0.12)     result=913 ;;
+
+      * )           result=0   ;;
+
+    esac  # end of case $inValue
+  fi  #end of if [[ $inValue = 9[0-9][0-9] || $inValue = 8[0-9][0-9] || $inValue = 70[0-1] ]]
+
+  print -- "$result"
+  return 0
+
+}  #------- end of function releaseToDaemonVersion --------------
+
+
+####################################################################
+#
+# Function:  Converts the input value to the corresponding
+#            product version string (e.g. 2.2.0.0).
+#
+# Input:     $1 - daemon version or release string
+#
+# Output:    release version or "unknown"
+#
+# Returns:   always 0
+#
+####################################################################
+function releaseToProductVersion  # <daemonVersion>
+{
+  typeset sourceFile="mmprodname.sh"
+  [[ -n $DEBUG || -n $DEBUGreleaseToProductVersion ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset inValue=$1
+  typeset result="unknown"
+
+
+  if [[ $inValue = [23].[1234].[01].+([0-9]) ]]
+  then
+    result=$inValue
+
+  else
+    case $inValue
+    in
+      700)  result="2.2.0.0" ;;
+      701)  result="2.2.1.10" ;;
+
+      800)  result="2.3.0.0" ;;
+      804)  result="2.3.0.0" ;;
+      805)  result="2.3.0.1" ;;
+      806)  result="2.3.0.2" ;;
+      808)  result="2.3.0.3" ;;
+      809)  result="2.3.0.4" ;;
+      810)  result="2.3.0.5" ;;
+      811)  result="2.3.0.6" ;;
+      812)  result="2.3.0.7" ;;
+      813)  result="2.3.0.8" ;;
+      814)  result="2.3.0.9" ;;
+      815)  result="2.3.0.10" ;;
+      816)  result="2.3.0.11" ;;
+      817)  result="2.3.0.12" ;;
+      818)  result="2.3.0.13" ;;
+      819)  result="2.3.0.14" ;;
+      820)  result="2.3.0.15" ;;
+      821)  result="2.3.0.16" ;;
+      822)  result="2.3.0.17" ;;
+      823)  result="2.3.0.18" ;;
+      824)  result="2.3.0.19" ;;
+      825)  result="2.3.0.20" ;;
+      826)  result="2.3.0.21" ;;
+      827)  result="2.3.0.22" ;;
+
+
+      900)  result="3.1.0.0" ;;
+      901)  result="3.1.0.0" ;;
+      902)  result="3.1.0.1" ;;
+      903)  result="3.1.0.2" ;;
+      904)  result="3.1.0.3" ;;
+      905)  result="3.1.0.4" ;;
+      906)  result="3.1.0.5" ;;
+      907)  result="3.1.0.6" ;;
+      908)  result="3.1.0.7" ;;
+      909)  result="3.1.0.8" ;;
+      910)  result="3.1.0.9" ;;
+      911)  result="3.1.0.10" ;;
+      912)  result="3.1.0.11" ;;
+      913)  result="3.1.0.12" ;;
+
+      *  )  result="unknown" ;;
+
+    esac  # end of case $inValue
+  fi  # end of if [[ $inValue = [23].[1234].[01].+([0-9]) ]]
+
+  print -- "$result"
+  return 0
+
+}  #------ end of function releaseToProductVersion ---------------
+
+
+############################################################################
+#
+# Function:  Converts the input values to the corresponding
+#            product version strings (e.g. 2.2.0.0)
+#
+# Input:     $* - a sequence of daemon version(s) or release string(s)
+#
+# Output:    release version(s) or "unknown"(s)
+#
+# Returns:   always 0
+#
+############################################################################
+function releaseToProductVersionMult  # <daemonVersion> <daemonVersion> ...
+{
+  [[ -n $DEBUG || -n $DEBUGreleaseToProductVersionMult ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset inValueList=$*
+  typeset inValue
+
+  for inValue in $inValueList
+  do
+     releaseToProductVersion $inValue
+  done
+  return 0
+
+}  #------ end of function releaseToProductVersionMult ------------
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmputacl
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmputacl	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmputacl	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsputacl
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmquotaoff
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmquotaoff	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmquotaoff	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsquotaoff
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmquotaon
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmquotaon	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmquotaon	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsquotaon
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrcp
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrcp	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrcp	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/mmrcmd
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrefresh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrefresh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrefresh	(revision 16)
@@ -0,0 +1,294 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)71 1.27 src/avs/fs/mmfs/ts/admin/mmrefresh.sh, mmfs, avs_rgpfs24, rgpfs240610b 6/27/05 03:02:52
+##############################################################################
+#
+#  Ensure that the GPFS system files on the specified nodes are at the most
+#  recent level.  If the -f (force) option is specified, rebuild the files
+#  even if they appear to be at the latest level.
+#
+#  Usage:
+#
+#    mmrefresh [-f] [-a | -N {Node[,Node...] | NodeFile | NodeClass}]
+#
+#  where:
+#
+#    -f            Rebuild the GPFS system files even if they appear
+#                  to be at the most current level.
+#
+#    -a            Check all nodes in the GPFS cluster.
+#
+#    -N Node,Node,...  Specify the nodes whose state is desired.
+#    -N NodeFile       NodeClass may be one of several possible node classes
+#    -N NodeClass      (e.g., quorumnodes, managernodes, nsdnodes, etc.)
+#
+#
+#  If not explicitly specified otherwise, only the local node is checked.
+#
+#
+#  Obsolete options:
+#
+#   -C NodesetId  Check all nodes in the specified nodeset.
+#                 Assumed to be the same as -a.
+#
+#   -W NodeFile   Check all nodes whose reliable hostnames
+#                 are listed one per line in NodeFilename.
+#                 Cannot be specified with -a, -N, -w, or -n.
+#
+#   -w nodenames  Check all nodes whose reliable hostnames
+#                 are in the comma-separated nodenames list.
+#                 Cannot be specified with -a, -N or -W.
+#                 If both -w and -n are specified, the lists are combined.
+#
+#   -n nodenums   Check all nodes whose node numbers are
+#                 in the comma-separated nodenums list.
+#                 Cannot be specified with -a, -N, or -W.
+#                 If both -w and -n are specified, the lists are combined.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmrefresh.sh"
+[[ -n $DEBUG || -n $DEBUGmmrefresh ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local variables
+
+usageMsg=374
+typeset -i nodes=0
+rc=0
+nodenames=""
+nodenums=""
+Wcoll=""
+fflag=""
+aflag=""
+Cflag=""
+nflag=""
+Nflag=""
+Wflag=""
+wflag=""
+integer nodeCount=0
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+##################################
+# Process each of the arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+while getopts :aC:fn:N:w:W: OPT
+do
+  case $OPT in
+
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag="-$OPT"
+       all="all"
+       [[ -n $Cflag || -n $Wflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $aflag $Cflag $Wflag $wflag $nflag $Nflag
+       ;;
+
+    C) # syntaxError "obsoleteOption" $usageMsg "-$OPT"
+       [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Cflag="-$OPT"
+       nodesetId="$OPTARG"
+       [[ -n $aflag || -n $Wflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Cflag $aflag $Wflag $wflag $nflag $Nflag
+       ;;
+
+    f) [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fflag="-$OPT"
+       ;;
+
+    n) [[ -n $nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nflag="-$OPT"
+       nodenums="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $nflag $Cflag $Wflag $aflag $Nflag
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $nflag || -n $wflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Nflag $Cflag $Wflag $aflag $nflag $wflag
+       ;;
+
+    w) [[ -n $wflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       wflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $wflag $Cflag $Wflag $aflag $Nflag
+       ;;
+
+    W) [[ -n $Wflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Wflag="-$OPT"
+       Wcoll="$OPTARG"
+       [[ -n $Cflag || -n $aflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Wflag $Cflag $aflag $wflag $nflag $Nflag
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[aCfnNwW])
+       syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done  # end of while getopts :aC:fn:N:w:W: OPT do
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# Rather than fail, convert the obsolete -C option to -a.
+[[ -n $Cflag ]] && aflag="-a"
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+#######################################################
+# Create a file containing all of the specified nodes.
+#######################################################
+if [[ -n $aflag ]]
+then
+  # Get a list of the nodes.
+  getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+elif [[ -n $Nflag ]]
+then
+  # Convert the passed data into a file containing admin node names.
+  createVerifiedNodefile $nodenames $REL_HOSTNAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+elif [[ -n $Wflag ]]
+then
+  # Verify the input file is readable.
+  if [[ ! -f $Wcoll || ! -r $Wcoll ]]
+  then
+    printErrorMsg 43 $mmcmd $Wcoll
+    cleanupAndExit
+  fi
+
+  # Filter out comment lines and localhost entries.
+  $grep -v -e "localhost" -e "^#" "$Wcoll" > $tmpfile
+
+  # Convert any entries in the node file into admin node names.
+  if [[ -s $tmpfile ]]
+  then
+    createVerifiedNodefile $tmpfile $REL_HOSTNAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  else
+    # No node names were specified.
+    printErrorMsg 328 $mmcmd $Wcoll
+    cleanupAndExit
+  fi
+
+else
+  # Either no option was specified, or we have some combination of -w and -n.
+
+  # Convert the node names list (if any) into a file.
+  $rm -f $tmpfile
+  if [[ -n $nodenames ]]
+  then
+    for i in $(print $nodenames | $tr "," " ")
+    do
+      print -- "$i" >> $tmpfile
+    done
+  fi
+
+  # Append the node number list (if any) to the node file.
+  if [[ -n $nodenums ]]
+  then
+    for i in $(print $nodenums | $tr "," " ")
+    do
+      print -- "$i" >> $tmpfile
+    done
+  fi
+
+  # Convert the entries in the node file into admin node names.
+  if [[ -s $tmpfile ]]
+  then
+    createVerifiedNodefile $tmpfile $REL_HOSTNAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi
+
+fi  # end of if [[ -n $aflag ]]
+
+
+# Ensure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+
+##########################
+# Refresh the GPFS nodes.
+##########################
+if [[ ! -s $nodefile ]]
+then
+  # This is a request to refresh only the local node.
+  # Unless -f is specified, this is already done by gpfsInit above.
+  if [[ -n $fflag ]]
+  then
+    $mmremote cfg $fflag
+    rc=$?
+  else
+    : # There is nothing else to do.  If there is a need for
+      # additional processing that is not handled by gpfsInint,
+      # invoke the appropriate function.
+  fi
+else
+  # This is a request to refresh other nodes as well.
+  $mmcommon onall $nodefile $unreachedNodes cfg $fflag
+  rc=$?
+fi  # end of if [[ ! -s $nodefile ]]
+
+# If any nodes could not be reached, tell the user which ones.
+if [[ -s $unreachedNodes ]]
+then
+  # The following nodes could not be reached: . . .
+  printErrorMsg 270 $mmcmd
+  $cat $unreachedNodes 1>&2
+fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmremote
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmremote	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmremote	(revision 16)
@@ -0,0 +1,2630 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)29 1.290.1.9 src/avs/fs/mmfs/ts/admin/mmremote.sh, mmfs, avs_rgpfs24, rgpfs24s008a 11/25/06 00:29:43
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmremote.sh"
+[[ -n $DEBUG || -n $DEBUGmmremote ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+typeset -l kword_lc
+typeset -l arg3_lc
+rc=0
+
+
+# Local functions
+
+####################################################################
+#
+# Function:  Take a snapshot of the currently-running trace.
+#
+# Input:     $1 - action to perform
+#
+# Output:    None
+#
+# Returns:   0
+#
+####################################################################
+function traceSnapshot
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGtraceSnapshot ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset action=$1
+  typeset tracePid
+
+  if [[ -z $(print -- " off on offon log " | $fgrep " $action ") ]]
+  then
+    # Invalid value for flag
+    printErrorMsg 153 $mmcmd tsnap
+    return 1
+  fi
+
+  if [[ $action != off ]]
+  then
+    $mmfsadm showtrace >/dev/null
+    if [[ $? -eq 0 ]]
+    then
+      $mmfsadm trace all 9
+      $mmfsadm trace tm 2 thread 1 mutex 1 vnode 1 ksvfs 1 klockl 0
+      $mmfsadm trace io 3 pgalloc 1 mb 1 lock 2 dfs 2 fsck 3
+    fi
+  fi
+
+  tracePid=$($ps -eo "pid args" | $awk '/trace / && !/this process/ {print $1}')
+  if [[ ($action = off || $action = offon) && -n $tracePid ]]
+  then
+    $trcstop
+    $mv /var/adm/ras/trcfile  /var/adm/ras/trcfile.$(date +"%H.%M.%S")
+  fi
+
+  if [[ $action = offon || $action = on ]]
+  then
+    $trace -a -l -L 12000000 -T 4000000 -j 306,307,308,309  \
+       -o /var/adm/ras/trcfile >/dev/null 2>&1 &
+  fi
+
+  date=$(date +"%y%m%d")
+  $mkdir -p /log/$date 2>/dev/null
+
+  for trcname in $($ls /var/adm/ras | $grep trcfile.)
+  do
+    time=$(print -- $trcname | $awk -F. '{print $2}')
+    $cp -p /var/adm/ras/trcfile.$time  \
+        /log/$date/trcfile.$date.$time."$($hostname -s)"
+    $rm -f /var/adm/ras/trcfile.$time
+  done
+
+  return 0
+
+}  #------ end of function traceSnapshot -------------------
+
+
+###############################################################################
+#
+# Function:  Send the local mmsdrfs file to the node that is requesting it.
+#            Do this only if the client's generation number is smaller than
+#            the generation number of the mmsdrfs file on this node.
+#            If requested, get the lock.
+#
+# Input:     $1 - generation number of the sdr file on the client
+#            $2 - name of client requesting the file
+#            $3 - name to use on the client for the retrieved file
+#            $4 - lockId or nolock
+#
+# Output:    gpfsObject or 'fail'.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+###############################################################################
+function sendClusterSDRFiles  # <clientGenNumber> <client> <fileName> <lockId>
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGsendClusterSDRFiles ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset clientGenNumber=$1
+  typeset client=$2
+  typeset fileName=$3
+  typeset lockId=$4
+
+  typeset rc=0
+  typeset lockObtained=""
+  typeset lockResult gpfsObjectInfo serverGenNumber junk
+  typeset pid getObjectPort
+
+  # Get the lock if requested
+  if [[ $lockId != nolock ]]
+  then
+    lockResult=$(getLock $lockId)
+
+    # Look at the result from the lock request.
+    # If it is more than one word, we assume it is an error message.
+    set -f ; set -- $lockResult ; set +f
+    gpfsObjectInfo=$1
+    junk=$2
+    if [[ -z $gpfsObjectInfo || -n $junk ]]
+    then
+      # If unexpected output, give up
+      [[ -n $junk ]] &&  \
+        print -u2 "$lockResult"
+      return 1
+    fi
+    if [[ $lockResult = fail ]]
+    then
+      print -- "fail"
+      return 1
+    else
+      lockObtained=yes
+    fi
+  fi
+
+  # If we are here, either the caller did not need the lock or the lock
+  # was successfully obtained.  Make sure the caller has the latest data.
+
+  # Get the server's generation number.
+  gpfsObjectInfo=$(getGpfsObject)
+  rc=$?
+  IFS=':'
+  set -f ; set -- $gpfsObjectInfo ; set +f
+  IFS="$IFS_sv"
+  serverGenNumber=$2
+  if [[ $rc -ne 0 || -z $serverGenNumber ]]
+  then
+    # Unexpected value for the Gpfs object
+    [[ $rc -eq 0 ]] &&  \
+      printErrorMsg 286 sendClusterSDRFiles $gpfsObjectInfo
+    [[ $lockObtained = yes ]] &&  \
+      freeLock 0 > /dev/null
+    print -- "fail"
+    return 1
+  fi
+
+  # If the client's local generation number is smaller than
+  # the one we have here, copy our version to the client.
+  if [[ $clientGenNumber -lt $serverGenNumber ]]
+  then
+    $rcp $mmsdrfsFile ${client}:${fileName}
+    rc=$?
+  fi
+
+  # If everything is OK so far, return the Gpfs object.
+  if [[ $rc -eq 0 ]]
+  then
+    print -- "$gpfsObjectInfo"
+  else
+    [[ $lockObtained = yes ]] &&  \
+      freeLock 0 > /dev/null
+    print -- "fail"
+  fi
+  return $rc
+
+}  #------ end of function sendClusterSDRFiles ------------
+
+
+############################################################################
+#
+# Function:  Determine whether this node is new to GPFS and whether the
+#            GPFS code on this node can support clustering.  If it can,
+#            create a skeleton version of the sdrfs file that reflects
+#            the passed key attributes and a generation number of 1.
+#
+# Input:     cltype         - cluster and environment type (e.g., "lc/lc2")
+#            primaryServer  - primary server
+#            backupServer   - secondary server or _NOSECONDARY_
+#            localNodeData  - hostname, node number, etc. for the node
+#            rshPath        - remote shell command or _DEFAULT_
+#            rcpPath        - remote file copy command or _DEFAULT_
+#            clusterIdAndSt - cluster id and cluster subtype
+#
+# Output:    A colon-separated list of the following fields:
+#              keyword         - checkNewClusterNode
+#              status          - success, not_new, etc.
+#              adapter type    - e.g., eth0
+#              daemon version  - e.g., 800
+#              product version - e.g., 2.3.0.0
+#              OS name         - AIX or Linux
+#
+#            Note:  The adapter type and subsequent fields have meaningful
+#                   information only if status is "success".
+#
+# Returns:   zero if success, non-zero otherwise
+#
+############################################################################
+function checkNewClusterNode  # <cltype> <primaryServer> <backupServer>
+                              # <localNodeData> <rshPath> <rcpPath>
+                              # <clusterIdAndSt>
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckNewClusterNode ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset cltype=$1
+  typeset primary=$2
+  typeset secondary=$3
+  typeset localNodeData=$4
+  typeset rshPath=$5
+  typeset rcpPath=$6
+  typeset clusterIdAndSt=$7
+
+  typeset clusterType environmentType result hostResult
+  typeset initialSystemFiles sdrfsLine nodeNumber ipa adminNodeName adminIpa
+  typeset clusterId clusterSubtype adapterType nodeStatus
+
+  typeset newGenNumber=1
+  typeset rc=0
+
+  initialSystemFiles="$mmsdrfsFile ${mmfsEnvLevel}$newGenNumber $mmfsNodeData"
+  [[ $secondary = "_NOSECONDARY_" ]] && secondary=""
+  [[ $rshPath = "_DEFAULT_" ]] && rshPath=""
+  [[ $rcpPath = "_DEFAULT_" ]] && rcpPath=""
+  export GPFS_rshPath="$rshPath"
+  export GPFS_rcpPath="$rcpPath"
+
+  # Check that no sdrfs file exists on this node;
+  # report "not new" if an sdrfs file already exists.
+  if [[ -f $mmsdrfsFile ]]
+  then
+    print -- "checkNewClusterNode:not_new:"
+    return 1
+  fi
+
+  # Parse the overloaded input parameters.
+  IFS='/'
+  set -f ; set -- $cltype ; set +f
+  IFS="$IFS_sv"
+  clusterType=$1
+  environmentType=$2
+  [[ -z $environmentType ]] && environmentType=$clusterType
+
+  IFS=':'
+  set -f ; set -- $clusterIdAndSt ; set +f
+  IFS="$IFS_sv"
+  clusterId=$1
+  clusterSubtype=$2
+  [[ -z $clusterSubtype ]] && clusterSubtype=$environmentType
+
+  # Check whether the prerequisite software for the specified
+  # cluster type is installed.
+  checkPrereqs $environmentType
+  if [[ $? -ne 0 ]]
+  then
+    print -- "checkNewClusterNode:not_supported:"
+    return 1
+  fi
+
+  # Create a skeleton sdrfs file on this node.
+  $mkdir -p $mmsdrfsDir
+  sdrfsLine="$GLOBAL_ID:$VERSION_LINE::$CURRENT_SDRFS_FORMAT:$CURRENT_SDRFS_VERSION"
+  sdrfsLine="$sdrfsLine:$newGenNumber::$clusterType:$primary:$secondary"
+  sdrfsLine="$sdrfsLine::$rshPath:$rcpPath:$clusterId:$clusterSubtype:"
+  print -- "$sdrfsLine" > $mmsdrfsFile
+
+  # Add threatening comment lines:  DO NOT MESS WITH THIS FILE!
+  sdrfsLine="$GLOBAL_ID:$COMMENT_LINE::1:"
+  print -- "$sdrfsLine" >> $mmsdrfsFile
+  sdrfsLine="$GLOBAL_ID:$COMMENT_LINE::2:$warningText"
+  print -- "$sdrfsLine" >> $mmsdrfsFile
+  sdrfsLine="$GLOBAL_ID:$COMMENT_LINE::3:"
+  print -- "$sdrfsLine" >> $mmsdrfsFile
+
+  # Add the local node information.
+  print -- "$localNodeData" >> $mmsdrfsFile
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    printErrorMsg 171 "checkNewClusterNode" "writing to file $mmsdrfsFile" $rc
+    print -- "checkNewClusterNode:unexpected_error:"
+    $rm -f $initialSystemFiles
+    return 1
+  fi
+
+  # Create a file with the MEMBER_NODE line for this node.
+  # It will be used later to quickly determine the node's
+  # node number, reliable hostname, and other information.
+  print -- "$localNodeData" > $mmfsNodeData
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    printErrorMsg 171 "checkNewClusterNode" "writing to file $mmfsNodeData" $rc
+    print -- "checkNewClusterNode:unexpected_error:"
+    $rm -f $initialSystemFiles
+    return 1
+  fi
+
+  # Remember the current level of the system files.
+  $touch ${mmfsEnvLevel}$newGenNumber
+
+  # Flush the important files to disk.
+  $mmsync $mmsdrfsFile $mmfsNodeData ${mmfsEnvLevel}$newGenNumber
+
+  # Retrieve needed information from the local node data.
+  IFS=':'
+  set -f ; set -A v -- - $localNodeData ; set +f
+  IFS="$IFS_sv"
+  nodeNumber=${v[$NODE_NUMBER_Field]}
+  ipa=${v[$IPA_Field]}
+  adapterType=${v[$ADAPTER_TYPE_Field]}
+  adminNodeName=${v[$REL_HOSTNAME_Field]}
+  daemonNodeName=${v[$DAEMON_NODENAME_Field]}
+
+  if [[ -z $adapterType ]]
+  then
+    # Get the node's adapter information.
+    $ifconfig -a > $adfile
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      printErrorMsg 171 "checkNewClusterNode" "ifconfig -a" $rc
+      print -- "checkNewClusterNode:unexpected_error:"
+      $rm -f $initialSystemFiles
+      return 1
+    fi
+
+    # Find the adapter type for the primary GPFS network.
+    # The assumptions are that the ifconfig output is organized in stanzas.
+    # Each stanza begins with the adapter type starting in column 1.
+    # All other lines are indented by at least one space or tab character.
+    if [[ $osName = Linux ]]
+    then
+      adapterType=$($awk '                                     \
+        $0 !~ /^[ 	]/      { adapterType = $1 }           \
+        / addr:'$ipa' /         { print adapterType ; exit }   \
+      ' $adfile)
+      rc=$?
+    elif [[ $osName = AIX ]]
+    then
+      adapterType=$($awk '                                     \
+        $0 !~ /^[ 	]/      { adapterType = $1 }           \
+        /[ 	]inet '$ipa' /  { print adapterType ; exit }   \
+      ' $adfile)
+      rc=$?
+      adapterType=${adapterType%:}
+    else
+      # Should never get here.
+      printErrorMsg 171 "checkNewClusterNode" "unsupported OS $osName" 1
+      print -- "checkNewClusterNode:unexpected_error:"
+      $rm -f $initialSystemFiles
+      return 1
+    fi
+    if [[ $rc -ne 0 ]]
+    then
+      printErrorMsg 171 "checkNewClusterNode" "awk" $rc
+      print -- "checkNewClusterNode:unexpected_error:"
+      $rm -f $initialSystemFiles
+      return 1
+    fi
+
+    # Verify that the adapter exists.
+    if [[ -z $adapterType ]]
+    then
+      # Print error type and return.
+      printErrorMsg 154 $mmcmd $ipa $adminNodeName
+      print -- "checkNewClusterNode:ipa_missing"
+      $rm -f $initialSystemFiles
+      return 1
+    fi
+
+    # If this is an IP alias, use the name of the main device.
+    adapterType=${adapterType%%:*}
+
+    # Add the new information to the local node data.
+    v[$ADAPTER_TYPE_Field]=$adapterType
+    localNodeData=$(print_newLine)
+    print -- "$localNodeData" > $mmfsNodeData
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      printErrorMsg 171 "checkNewClusterNode" "writing to file $mmfsNodeData" $rc
+      print -- "checkNewClusterNode:unexpected_error:"
+      $rm -f $initialSystemFiles
+      return 1
+    fi
+  fi  # end of if [[ -z $adapterType ]]
+
+
+  # Check that the admin interface name is valid
+  # if it is different than the one we just checked.
+  if [[ $adminNodeName != $daemonNodeName ]]
+  then
+    # Determine the IP address for the specified admin node name.
+    hostResult=$($host $adminNodeName)
+    set -f ; set -- $hostResult ; set +f
+    adminIpa=${3%%,*}
+
+    # Check that the admin node name has a valid IP address.
+    if [[ -z $adminIpa ]]
+    then
+      # An invalid node name was specified.
+      printErrorMsg 54 $mmcmd $adminNodeName
+      $rm -f $initialSystemFiles
+      return 1
+    fi
+
+    # Find the adapter type for the admin network.
+    # The assumptions are that the ifconfig output is organized in stanzas.
+    # Each stanza begins with the adapter type starting in column 1.
+    # All other lines are indented by at least one space or tab character.
+    if [[ $osName = Linux ]]
+    then
+      adapterType=$($awk '                                          \
+        $0 !~ /^[ 	]/           { adapterType = $1 }           \
+        / addr:'$adminIpa' /         { print adapterType ; exit }   \
+      ' $adfile)
+      rc=$?
+    elif [[ $osName = AIX ]]
+    then
+      adapterType=$($awk '                                          \
+        $0 !~ /^[ 	]/           { adapterType = $1 }           \
+        /[ 	]inet '$adminIpa' /  { print adapterType ; exit }   \
+      ' $adfile)
+      rc=$?
+      adapterType=${adapterType%:}
+    else
+      # Should never get here.
+      printErrorMsg 171 "checkNewClusterNode" "unsupported OS $osName" 1
+      print -- "checkNewClusterNode:unexpected_error:"
+      $rm -f $initialSystemFiles
+      return 1
+    fi
+
+    if [[ $rc -ne 0 ]]
+    then
+      printErrorMsg 171 "checkNewClusterNode" "awk" $rc
+      print -- "checkNewClusterNode:unexpected_error:"
+      $rm -f $initialSystemFiles
+      return 1
+    fi
+
+    # Verify that the adapter exists.
+    if [[ -z $adapterType ]]
+    then
+      # Print error type and return.
+      printErrorMsg 154 $mmcmd $adminIpa $adminNodeName
+      print -- "checkNewClusterNode:ipa_missing"
+      $rm -f $initialSystemFiles
+      return 1
+    fi
+
+    # If this is an IP alias, use the name of the main device.
+    adapterType=${adapterType%%:*}
+
+  fi  # end of if [[ $adminNodeName != $daemonNodeName ]]
+
+  # Report success and return to caller.
+  result="checkNewClusterNode:success:$adapterType:$currentDaemonVersion"
+  result="$result:$productVersion:$osName:"
+  print -- "$result"
+  return 0
+
+}  #------ end of function checkNewClusterNode --------------
+
+
+############################################################################
+#
+# Function:  Verify that the specified adapter exists.
+#
+# Input:     IP address of the adapter to check
+#
+# Output:    The word "success" or a keyword representing the type
+#            of failure: "unexpected_error", "ipa_missing", etc.
+#
+# Returns:   zero if success, non-zero otherwise
+#
+############################################################################
+function checkAdapter  # <ipa>
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckAdapter ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset ipa=$1
+
+  typeset adapterType=""
+  typeset rc=0
+
+  # Get the node's adapter information.
+  $ifconfig -a > $adfile
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    printErrorMsg 171 "checkAdapter" "ifconfig -a" $rc
+    print -- "unexpected_error"
+    return 1
+  fi
+
+  # Find the adapter type from the ifconfig output.
+  # The assumptions are that the output is organized in stanzas.
+  # Each stanza begins with the adapter type starting in column 1.
+  # All other lines are indented by at least one space or tab character.
+  if [[ $osName = Linux ]]
+  then
+    adapterType=$($awk '                                      \
+      $0 !~ /^[ 	]/      { adapterType = $1 }          \
+      / addr:'$ipa' /           { print adapterType ; exit }  \
+    ' $adfile)
+    rc=$?
+  elif [[ $osName = AIX ]]
+  then
+    adapterType=$($awk '                                      \
+      $0 !~ /^[ 	]/      { adapterType = $1 }          \
+      /[ 	]inet '$ipa' /  { print adapterType ; exit }  \
+    ' $adfile)
+    rc=$?
+    adapterType=${adapterType%:}
+  else
+    # Should never get here.
+    printErrorMsg 171 "checkAdapter" "unsupported OS $osName" 1
+    print -- "unexpected_error"
+    return 1
+  fi
+  if [[ $rc -ne 0 ]]
+  then
+    printErrorMsg 171 "checkAdapter" "awk" $rc
+    print -- "unexpected_error"
+    return 1
+  fi
+
+  # Verify that the adapter exists.
+  if [[ -z $adapterType ]]
+  then
+    # Print error type and return.
+    print -- "ipa_missing"
+    return 1
+  fi
+
+  # Report success and return to caller.
+  print -- "success"
+  return 0
+
+}  #------ end of function checkAdapter ---------------------
+
+
+################################################################
+#
+# Function:  Run an administration command.
+#
+# Input:     Command name and arguments
+#
+# Output:    Depends on the command
+#
+# Returns:   127  Command not supported
+#            Return code from the command
+#
+################################################################
+function runCommand  #  <adminCommand> [<arguments>]
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGrunCommand ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset adminCmd=${1##*/} # get the basename part of <adminCommand>
+  typeset arguments="$2"
+
+  typeset rc=0
+
+
+  # Verify the command belongs to the set of allowed commands.
+  case $adminCmd in
+
+    "cat"           ) adminCmd=$cat                 ;;
+    "head"          ) adminCmd=$head                ;;
+    "lspv"          ) adminCmd=$lspv                ;;
+    "lssrc"         ) adminCmd=$lssrc               ;;
+    "lsvsd"         ) adminCmd=$lsvsd               ;;
+    "mmfsadm"       ) adminCmd=$mmfsadm             ;;
+    "mmtrace"       ) adminCmd=$mmtrace             ;;
+    "mount"         ) adminCmd=$mount               ;;
+    "removevsd"     ) adminCmd="$removevsd -f -v "  ;;
+    "touch"         ) adminCmd=$touch               ;;
+    "tsaddrmap"     ) adminCmd=$tsaddrmap           ;;
+    "tsctl"         ) adminCmd=$tsctl               ;;
+    "tspreparedisk" ) adminCmd=$tspreparedisk       ;;
+    "umount"        ) adminCmd=$umount              ;;
+    "unmount"       ) adminCmd=$unmount             ;;
+     *              ) return 127                    ;; # invalid command
+  esac
+
+  # Run the command and propagate back the return code.
+  $adminCmd $arguments
+  rc=$?
+
+  [[ $adminCmd = ts* || $adminCmd = mm* ]] &&  \
+    rc=$(remapRC $?)
+
+  return $rc
+
+}  #------ end of function runCommand -------------------
+
+
+##############################################################################
+#
+# Function:  Determine the state of the GPFS daemon and other node info.
+#
+# Input:     $1 - (optional) Extended output (-L option)
+#
+# Output:
+#   mmGetState:nsId:nodeNum:name:tsQuorum:up:total:state:quorumDesignation:
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+##############################################################################
+function mmGetState  #  [-L]
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGmmGetState ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset extendedOutput=$1
+
+  typeset tsctlOutput=""
+  typeset rc tsQuorum nodesUp totalNodes daemonState quorumDesignation result
+  typeset gpfsInitOutput
+
+
+  if [[ -n $extendedOutput ]]
+  then
+    # Extended output is requested.
+    # Make sure that the local copies of the mmsdrfs, mmfs.cfg,
+    # and the rest of the system files are up to date.
+    gpfsInitOutput=$(gpfsInit nolock)
+    setGlobalVar $? $gpfsInitOutput
+
+    # Determine the total nodes value and whether or not this is a quorum node.
+    totalAndType=$($awk -F: '                                \
+      BEGIN {                                                \
+        { total = 0 }                                        \
+        { type = "" }                                        \
+      }                                                      \
+      /':$NODESET_HDR:'/ {                                   \
+        if ( $'$NODESETID_Field' == "'$nsId'" ) {            \
+          { total = $'$NODE_COUNT_Field' }                   \
+        }                                                    \
+      }                                                      \
+      /':$MEMBER_NODE:'/ {                                   \
+        if ( $'$REL_HOSTNAME_Field' == "'$ourNodeName'" ) {  \
+          { type = $'$CORE_QUORUM_Field' }                   \
+          { exit }                                           \
+        }                                                    \
+      }                                                      \
+      END { print total ":" type }                           \
+    ' $mmsdrfsFile)
+    checkForErrors awk $?
+
+    IFS=':'
+    set -f ; set -- $totalAndType ; set +f
+    totalNodes=$1
+    quorumDesignation=$2
+    IFS="$IFS_sv"
+
+  else
+    # Regular output is requested.  Return fake values
+    # for quorum designation and total nodes.
+    totalNodes=0
+    quorumDesignation=unknown
+  fi  # end of if [[ -n $extendedOutput ]]
+
+
+  # Determine the quorum state of the daemon.
+  tsctlOutput=$(LC_ALL=C $tsctl quorumState 2>$errMsg)
+  rc=$(remapRC $?)
+
+  # Interpret the results from the tsctl command.
+  if [[ -z $tsctlOutput ]]
+  then
+    # The command failed.  Filter out "Failed to connect" messages.
+    # Show any other error messages that might be there.
+    $grep -v -e "6027-665" -e "Failed to connect to file system daemon" $errMsg >$errMsg2
+    [[ -s $errMsg2 ]] && $cat $errMsg2 1>&2
+
+    # Provide default values to be returned to the caller.
+    tsQuorum=0
+    nodesUp=0
+
+    if [[ $rc -eq $MM_DaemonDown ]]
+    then
+      daemonState="down"
+    else
+      daemonState="unknown"
+    fi
+
+  else
+    # The tsctl command seemed to work.  Parse the output.
+    # We intentionally override the totalNodes value found prior to
+    # the tsctl call because the daemon value may include remote nodes
+    # not reflected in the value we obtained from the sdrfs file.
+    IFS=':'
+    set -f ; set -- $tsctlOutput ; set +f
+    tsQuorum=$1
+    nodesUp=$2
+    totalNodes=$3
+    daemonState=$4
+    IFS="$IFS_sv"
+
+    # Remap the daemon status strings.
+    case $daemonState in
+      "Initial" )  daemonState="arbitrating" ;;
+      "Active"  )  daemonState="active" ;;
+      *         )  : ;;                      # Unknown string; leave it as is.
+    esac
+  fi  # end of if [[ -z $tsctlOutput ]]
+
+  # Build and print the result string.
+  result="mmGetState:$nsId:$ourNodeNumber:$ourShortName:$tsQuorum"
+  result="${result}:$nodesUp:$totalNodes:$daemonState:$quorumDesignation:"
+  print -- "$result"
+
+  return 0
+
+}  #------ end of function mmGetState -------------------
+
+
+###################################################################
+#
+# Function:  Determine the state of the specified subsystem.
+#
+# Input:     $1 - subsystem name
+#
+# Output:    mmgetSubsysState:<nodeName>:<subsystemState>:
+#
+# Returns:   Always zero.
+#
+###################################################################
+function getSubsysState  # <subsystem>
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGgetSubsysState ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset subsys=$1
+
+  typeset subsysState=""
+
+  # Determine whether the subsystem is active.
+  if [[ $subsys = rvsd ]]
+  then
+    subsysState=$(LC_ALL=C $lssrc -ls  $subsys | $grep 'active=1, state=idle' 2>/dev/null)
+    [[ -n $subsysState ]] && subsysState=active
+
+  elif [[ $subsys = mmfs ]]
+  then
+    $ps -e | $grep -w mmfsd >/dev/null 2>&1
+    rc=$?
+    if [[ $rc -eq 0 ]]
+    then
+      print -- "active"
+    else
+      print -- "inactive"
+    fi
+
+  else
+    subsysState=$(LC_ALL=C $lssrc -s $subsys |  \
+      $awk '
+        BEGIN { state = "inactive" }
+        $1 == "'$subsys'"  { if ( $NF == "active" ) { state = "active" } }
+        END { print state }
+      ')
+  fi  # end if [[ $subsys = rvsd ]]
+
+  [[ -z $subsysState ]] && subsysState=down
+
+  # Build and print the result string.
+  result="mmgetSubsysState:$ourNodeName:$subsysState:"
+  print -- "$result"
+
+  return 0
+
+}  #------ end of function getSubsysState -------------------
+
+
+###########################################################################
+#
+# Function:  Verifies that the RVSD subsystem is active on all nodes
+#            on which the GPFS daemon is running and then sets the
+#            wait4RVSD parameter to yes.
+#
+# Input:     none
+#
+# Output:    none
+#
+# Returns:   0 - RVSD operational on all nodes
+#            1 - Error detected, or RVSD inactive on one or more nodes
+#
+###########################################################################
+function setWait4RVSD  #
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGsetWait4RVSD ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset subsysStateLine kword nodeName rvsdState failedNodes junk
+  typeset errorFound=""
+  typeset rc=0
+
+  ##################################################################
+  # Use tsdsh to find the state of RVSD on all active GPFS nodes.
+  ##################################################################
+  $tsdsh $mmremote getSubsysState rvsd >$tmpfile 2>&1
+  rc=$(remapRC $?)
+
+  if [[ ! -s $tmpfile ]]
+  then
+    # If there is no output at all, something is very wrong.
+    [[ $rc -eq 0 ]] && rc=1
+    checkForErrors "setWait4RVSD" $rc
+  else
+    # If we have output, ignore the rc from tsdsh.
+    rc=0
+  fi
+
+  # Parse the output from the RVSD active test.
+  $rm -f $errMsg
+  exec 3<&-
+  exec 3< $tmpfile
+  while read -u3 subsysStateLine
+  do
+    IFS=':'
+    set -f ; set -- $subsysStateLine ; set +f
+    IFS="$IFS_sv"
+    junk=$1
+    kword=$2
+    nodeName=$3
+    rvsdState=$4
+
+    if [[ $kword = ?( )mmgetSubsysState ]]
+    then
+      [[ $rvsdState != active ]] &&  \
+        failedNodes="$failedNodes\n\t$nodeName"
+    elif [[ -n $subsysStateLine ]]
+    then
+      # Unexpected output - must be an error.
+      # Collect the lines in a separate file for later.
+      print -- "$subsysStateLine" >> $errMsg
+      checkForErrors "writing to file $errMsg" $?
+    else
+      :  # do nothing
+    fi  # end of if [[ $kword = mmgetSubsysState ]]
+  done  # end of while read -u3 subsysStateLine
+
+  if [[ -n $failedNodes ]]
+  then
+    # RVSD is not yet ready on at least one node.
+    printErrorMsg 474 $mmcmd RVSD "$failedNodes"
+    rc=1
+  fi
+
+  if [[ -s $errMsg ]]
+  then
+    # Show the unexpected errors.
+    $cat $errMsg  1>&2
+    rc=1
+  fi
+  $rm -f $errMsg
+
+  # If things look OK so far, change the value of the wait4RVSD parameter.
+  if [[ $rc -eq 0 ]]
+  then
+    $tsctl setCfgValue wait4RVSD yes
+    rc=$(remapRC $?)
+    if [[ $rc -ne 0 ]]
+    then
+      # The tsctl command failed.
+      printErrorMsg 104 "$mmcmd" "tsctl setCfgValue wait4RVSD yes"
+    fi
+  fi
+
+  return $rc
+
+}  #------ end of function setWait4RVSD ------------------
+
+
+###########################################################################
+#
+# Function:  Determines the range of GPFS release levels on the
+#            nodes on which the daemon is currently running.
+#
+# Input:     None
+#
+# Output:    A string with the following format:
+#            getCodeRange:rc:status:maxDaemonVers:minDaemonVers
+#
+# Returns:   0 - Success
+#            1 - Error detected
+#
+###########################################################################
+function getCodeRange  # <nodefile> <sdrfsFile> <failedNodes>
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $getCodeRange ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset mmVersion2output nodeName nodeNumber kword cmdVersion
+  typeset installedDaemonVersion installedProductVersion installedOsName
+  typeset maxDaemonVersion=0
+  typeset minDaemonVersion=100000
+  typeset rc=0
+
+  # Request the release level information for all of the nodes.
+  $tsdsh $mmremote mmVersion2 >$tmpfile 2>&1
+  rc=$(remapRC $?)
+
+  if [[ ! -s $tmpfile ]]
+  then
+    # If there is no output at all, something is very wrong.
+    [[ $rc -eq 0 ]] && rc=1
+    print -- "getCodeRange:$rc:unexpected_failure:0:0:"
+    printErrorMsg 171 $mmcmd "tsdsh mmremote mmVersion2" $rc
+    return $rc
+  else
+    # If we have output, ignore the rc from tsdsh.
+    rc=0
+  fi
+
+  # Parse the output from  mmremote mmVersion2.
+  $rm -f $errMsg
+  IFS=":"
+  exec 3<&-
+  exec 3< $tmpfile
+  while read -u3 mmVersion2output
+  do
+    IFS=':'
+    set -f ; set -- $mmVersion2output ; set +f
+    nodeName=$1
+    kword=$2
+    cmdVersion=$3
+    nodeNumber=$4
+    installedDaemonVersion=$5
+    installedProductVersion=$6
+    installedOsName=$7
+    IFS="$IFS_sv"
+
+    if [[ $kword != *( )mmVersion2 ]]
+    then
+      # Unexpected output; it must be an error.
+      # Collect the lines in a separate file for later.
+      print -- "$mmVersion2output" >> $errMsg
+      checkForErrors "writing to file $errMsg" $?
+      continue
+    fi
+
+    # Keep track of highest and lowest daemon versions found.
+    [[ $installedDaemonVersion -gt $maxDaemonVersion ]] &&  \
+      maxDaemonVersion=$installedDaemonVersion
+    [[ $installedDaemonVersion -lt $minDaemonVersion ]] &&  \
+      minDaemonVersion=$installedDaemonVersion
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+  done  # end of while read -u3 mmVersion2output
+  IFS="$IFS_sv"
+
+  # Print out the results string and exit.
+  if [[ $maxDaemonVersion -eq 0 ]]
+  then
+    # We did not get back any release level information.
+    # The output must have been only error messages.
+    [[ $rc -eq 0 ]] && rc=1
+    $cat $errMsg  1>&2
+    print -- "getCodeRange:$rc:unexpected_failure:0:0:"
+  else
+    # Everything looks good.
+    rc=0
+    print -- "getCodeRange:$rc:complete:$maxDaemonVersion:$minDaemonVersion:"
+  fi
+
+  $rm -f $errMsg
+  return $rc
+
+}  #------ end of function getCodeRange ------------------
+
+
+#####################################################################
+#
+# Function:  Ensure local system configuration files are up-to-date.
+#
+# Input:     $1   -f rebuild all files
+#
+# Output:    None
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+#####################################################################
+function refreshSysconfig  #  [-f]
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGrefreshSysconfig ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset option=$1
+
+  typeset gpfsInitOutput
+  typeset rc=0
+
+  # If the -f option was specified, force mmfsNodeData
+  # and the rest of the GPFS files to be rebuilt.
+  if [[ $option = "-f" ]]
+  then
+    $rm -f $mmfscfgFile $mmfsNodeData $nsdpvol ${mmfsEnvLevel}+([0-9])  \
+           ${mmfsNewKeyLevel}+([0-9]) ${mmfsCommittedKeyLevel}+([0-9])
+    getLocalNodeData
+  fi
+
+  # Verify there is an mmfs entry in /etc/vfs.
+  checkVfsNumber
+  rc=$?
+  [[ $rc -ne 0 ]] &&  \
+    return $rc
+
+  # Make sure that the local copies of the mmsdrfs, mmfs.cfg,
+  # and the rest of the system files are up-to-date.
+  gpfsInitOutput=$(gpfsInit nolock)
+  rc=$?
+  [[ $rc -ne 0 ]] && printErrorMsg 171 "$mmcmd" "gpfsInit" $rc
+  setGlobalVar $rc $gpfsInitOutput
+
+  return $rc
+
+}  #------ end of function refreshSysconfig -------------------
+
+
+###################################################################
+#
+# Function:  Tell the daemon to reread the authorized_keys list.
+#
+# Input:     None.
+#
+# Output:    None.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+###################################################################
+function refreshAuth
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGrefreshAuth ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset gpfsInitOutput=""
+
+  # Retrieve the latest mmsdrfs file and rebuild the environment.
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $rc $gpfsInitOutput
+
+  # Tell the daemon to reread the authorized_keys list.
+  $tsauth
+
+  return 0
+
+}  #------ end of function refreshAuth -------------------
+
+
+###################################################################
+#
+# Function:  Determine the generation number of a sdrfs file.
+#
+# Input:     $1 - (optional) sdrfs file.  If not specified,
+#                 /var/mmfs/gen/mmsdrfs is assumed.
+#
+# Output:    <genNumber>:<timeStamp>
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+###################################################################
+function getGenNumber
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGgetGenNumber ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfs=$1
+  typeset versionLine=""
+
+  # If file not specified, use /var/mmfs/gen/mmsdrfs.
+  [[ -z $sdrfs ]] && sdrfs=$mmsdrfsFile
+
+  # Parse the version line of the mmsdrfs file.
+  versionLine=$($head -1 $sdrfs)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+
+  # Perform a quick sanity check.
+  [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] &&  \
+    corruptedSdrFileExit 137 "$versionLine"
+
+  # Make sure the time stamp field has a value.
+  [[ -z ${v[$GENNUM_TSTAMP_Field]} ]] &&  \
+    v[$GENNUM_TSTAMP_Field]=0
+
+  # Generate and display the result.
+  print "${v[$SDRFS_GENNUM_Field]}:${v[$GENNUM_TSTAMP_Field]}:${v[$PRIMARY_SERVER_Field]}"
+
+  return 0
+
+}  #------ end of function getGenNumber -------------------
+
+
+###################################################################
+#
+# Function:  Move and rename the specified file.
+#            Verify its checksum.
+#
+# Input:     $1 - source file name
+#            $2 - target file name
+#            $3 - expected checksum
+#            $4 - source host name
+#
+# Output:    None
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+###################################################################
+function mvSGDescFile  #  <source> <target> <checksum> <sourceNode>
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGmvSGDescFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset source=$1
+  typeset target=$2
+  typeset checksum=$3
+  typeset sourceNodeName=$4
+
+  typeset sumOutput newSum
+  typeset rc=0
+
+  # Make sure the target directory exists.
+  $mkdir -p ${target%/*}
+
+  # Retrieve the file.
+  if [[ $sourceNodeName = $ourNodeName ]]
+  then
+    $cp $source $target
+    rc=$?
+  else
+    $rcp ${sourceNodeName}:$source $target
+    rc=$?
+  fi
+
+  if [[ $rc -ne 0 ]]
+  then
+    print -- "mvSGDescFile:error:copyfile:"
+    return 1
+  fi
+
+  $mmsync $target
+
+  # Verify the checksum.
+  sumOutput=$($sum $target)
+  checkForErrors "sum $target" $?
+  set -f ; set -- $sumOutput ; set +f
+  newSum=$1
+  if [[ $checksum -ne $newSum ]]
+  then
+    print -- "mvSGDescFile:error:checksum:"
+    return 1
+  fi
+
+  print -- "mvSGDescFile:success::"
+  return 0
+
+}  #------ end of function mvSGDescFile -------------------
+
+
+###################################################################
+#
+# Function:  Mount the specified file system(s).
+#
+# Input:     $1 - file system device name or all, all_local, or all_remote
+#            $2 - mount point or DEFAULT
+#            $3 - default mount options
+#            $4 - new mount options or DEFAULT
+#            $5 - do not remount indicator (optional)
+#
+# Output:    None
+#
+# Returns:    0 - mount command issued
+#             non-zero - unexpected error
+#
+###################################################################
+function mountFileSystems  #  <device> <mountPoint> <defaultOptions> <newOptions>
+{
+  typeset sourceFile="mmremote.sh"
+  [[ -n $DEBUG || -n $DEBUGmountFileSystems ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset deviceName=$1
+  typeset mountPoint=$2
+  typeset defaultOptions=$3
+  typeset newOptions=$4
+  typeset doNotRemount=$5
+
+  typeset nodeIndex=0
+  typeset ourNodeIndex=0
+  typeset fsNumber=0
+  typeset n=0
+  typeset rc=0
+
+  typeset gpfsInitOutput fsType fsName tsstatusOutput mountedFileSystems
+  typeset mountDeviceList mountDeviceList_A mountDeviceList_B vfsType
+  typeset nodeOptions mountAllRequested
+
+
+  # Ensure the GPFS system data is up to date.
+  # Note:  To avoid undesired side effects, tell gpfsInit to restrict mount
+  #        point checking only to the file system(s) that we care about.
+  export MOUNT_POINT_CHECK="$deviceName"
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+  unset MOUNT_POINT_CHECK
+
+  # See if there are additional mount options to specify.
+  if [[ $newOptions = DEFAULT ]]
+  then
+    newOptions=""
+  else
+    newOptions="-o $newOptions"
+  fi
+
+  if [[ $deviceName = all || $deviceName = all_local || $deviceName = all_remote ]]
+  then
+    mountPoint=""
+    mountAllRequested=yes
+  fi
+
+  # Process the mount point parameter.  Its value will also determine
+  # whether it will be necessary to explicitly specify on the mount command
+  # the vfs type and options string or if it is OK to let the mount
+  # command figure out those things on its own.
+  [[ $mountPoint = DEFAULT ]] && mountPoint=""
+  if [[ -n $mountPoint ]]
+  then
+    defaultOptions="-o $defaultOptions"
+    if [[ $osName = AIX ]]
+    then
+      vfsType="-v mmfs"
+    elif [[ $osName = Linux ]]
+    then
+      vfsType="-t gpfs"
+    else
+      # Should never get here.
+      printErrorMsg 171 "mountFileSystems" "unsupported OS $osName" 1
+      return 1
+    fi  # end of if [[ $osName = AIX ]]
+  else
+    defaultOptions=""
+  fi  # end of if [[ -n $mountPoint ]]
+
+  # Go through the local mmsdrfs file and create
+  # a list of the file systems to be mounted.
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+
+    # Change some of the fields depending on the type of line.
+    case ${v[$LINE_TYPE_Field]} in
+
+      $MEMBER_NODE )
+         # Determine the index of this node relative
+         # to the rest of the nodes in the cluster.
+         [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+           ourNodeIndex=$nodeIndex
+         (( nodeIndex += 1 ))
+         ;;
+
+      $SG_HEADR )
+         # See if we want to mount this file system.
+         if [[ ${v[$DEV_NAME_Field]} = $deviceName || $deviceName = all     ||
+               $deviceName = all_local  && ${v[$FS_TYPE_Field]} = $localfs  ||
+               $deviceName = all_remote && ${v[$FS_TYPE_Field]} = $remotefs ]]
+         then
+           mountDeviceList="$mountDeviceList /dev/${v[$DEV_NAME_Field]}"
+           (( fsNumber += 1 ))
+         fi
+         ;;
+
+      * )  # Not interested in any other lines.
+         ;;
+
+    esac  # end of Change some of the fields
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 mmsdrfsFile
+  IFS="$IFS_sv"
+
+  # Ensure the requested file systems were found.
+  # This should always be the case at this point.
+  if [[ $fsNumber -eq 0 ]]
+  then
+    if [[ $deviceName = all || $deviceName = all_local ]]
+    then
+      # No file systems found in the cluster.
+      printErrorMsg 200 $mmcmd
+    elif [[ $deviceName = all_remote ]]
+    then
+      # No remote file systems found in the cluster.
+      printErrorMsg 193 $mmcmd
+    else
+      # The requested file system was not found.
+      printErrorMsg 288 $mmcmd $deviceName
+    fi
+
+    # Give up; nothing more to do.
+    return $MM_FsNotFound
+  fi  # end of if [[ $fsNumber -eq 0 ]]
+
+  # If more than one file system will be mounted, order the list
+  # based on the index of the local node within the cluster.
+  # This is done to avoid the simultaneous mounting of the same
+  # file system from all of the nodes in the cluster.
+  if [[ $fsNumber -gt 1 ]]
+  then
+    # Calculate our node's index in the file system list.
+    (( ourNodeIndex = ourNodeIndex % fsNumber ))
+
+    # Break the list of file systems into two parts
+    # based on the above calculated index.
+    for fsName in $mountDeviceList
+    do
+      if [[ $n -ge $ourNodeIndex ]]
+      then
+        mountDeviceList_A="$mountDeviceList_A $fsName"
+      else
+        mountDeviceList_B="$mountDeviceList_B $fsName"
+      fi
+      (( n += 1 ))
+    done  # end of for fsName in $mountDeviceList
+
+    # Combine the two parts of the mount list.
+    mountDeviceList="$mountDeviceList_A $mountDeviceList_B"
+  fi  # end of if [[ $fsNumber -gt 1 ]]
+
+  # Create a list of the currently mounted file systems on this node.
+  if [[ $osName = AIX ]]
+  then
+    $mount >$tmpfile 2>/dev/null
+    mountedFileSystems=$tmpfile
+  elif [[ $osName = Linux ]]
+  then
+    mountedFileSystems=/proc/mounts
+  else
+    # Should never get here.
+    printErrorMsg 171 "mountFileSystems" "unsupported OS $osName" 1
+    return 1
+  fi  # end of if [[ $osName = AIX ]]
+
+  # Ensure the local GPFS daemon is accepting commands.
+  tsstatusOutput=$(LC_ALL=C $tsstatus -1 2>&1)
+  print -- "$tsstatusOutput" | $grep -qe 'file system daemon is running' >/dev/null 2>&1
+  if [[ $? -ne 0 ]]
+  then
+    # GPFS daemon is not ready for commands yet.
+    printErrorMsg 110 $mmcmd
+    return $MM_DaemonDown
+  fi
+
+  # Mount the file systems.
+  for fsName in $mountDeviceList
+  do
+    # See if this file system is already mounted.
+    $grep -qw $fsName $mountedFileSystems > /dev/null 2>&1
+    if [[ $? -eq 0 ]]
+    then
+      # The file system appears to be already mounted.  Verify that
+      # everythig is OK by doing an internal remount if the stat on
+      # mount point returns with a non-zero errno.
+      activeMountPoint=$(findMountpoint $fsName)
+      $perl -e ' $! = 0; stat "'$activeMountPoint'"; exit $!;'
+      rc=$?
+      if [[ $rc -ne 0 && -z $doNotRemount ]]
+      then
+        $tsremount ${fsName#/dev/}
+        rc=$?
+        if [[ $rc -ne 0 ]]
+        then
+          # The remount attempt failed.
+          printErrorMsg 399 $mmcmd $fsName $rc
+          [[ -n $mountAllRequested ]] && rc=0
+        fi
+      fi  # end of if [[ $rc -ne 0 && -z $doNotRemount ]]
+
+      # If a specific mount point has been requested, see if it matches
+      # the currently active mount point for the file system.
+      if [[ -n $mountPoint ]]
+      then
+        [[ $mountPoint != $activeMountPoint ]] &&  \
+          printErrorMsg 280 $mmcmd $fsName $activeMountPoint
+      fi
+
+      # There is nothing more to do for this file system.
+      continue
+    fi  # end of if [[ $? -eq 0 ]]
+
+    # See if there are local override mount options for this file system.
+    if [[ -s ${localMountOptions}.${fsName#/dev/} ]]
+    then
+      nodeOptions="-o $($tail -n -1 ${localMountOptions}.${fsName#/dev/} 2>/dev/null)"
+    else
+      nodeOptions=""
+    fi
+
+    # Mount the file system.  If the overall request is to mount a single
+    # file system, show all messages from the mount command.  If the request
+    # is to mount all GPFS file systems, hide the "already mounted" messages.
+    if [[ -n $mountAllRequested ]]
+    then
+      $mount $vfsType $defaultOptions $nodeOptions $newOptions $fsName $mountPoint 2>&1 |  \
+        $grep -i -v "already mounted"
+      rc=0  # ignore errors
+    else
+      $mount $vfsType $defaultOptions $nodeOptions $newOptions $fsName $mountPoint
+      rc=$?
+    fi
+  done  # end of for fsName in $mountDeviceList
+
+  return $rc
+
+}  #------ end of function mountFileSystems -------------------
+
+
+###########################################################
+#
+#  Mainline processing
+#
+###########################################################
+kword=$arg1
+kword_lc=$arg1
+arg3_lc=$arg3
+
+
+if [[ -z $kword ]]
+then
+  # Missing keyword
+  printErrorMsg 133 mmremote NULL
+  cleanupAndExit
+fi
+
+# Set up silent trap exception handling.
+trap pretrap3 HUP INT QUIT KILL
+
+# Parse the caller's version information.  If missing,
+# assume the request comes from a 3.1 compatible node.
+[[ -z $mmrpc ]] && mmrpc="mmrpc:1:1:901:"
+IFS=':'
+set -f ; set -- $mmrpc ; set +f
+rpcVersion=$2
+rpcMinVersion=$3
+daemonVersion=$4
+IFS="$IFS_sv"
+
+# Determine the execution environment and set needed global variables.
+if [[ $kword_lc = checknewclusternode ]]
+then
+  # The request is for a function that runs prior to the node becoming
+  # a member of the GPFS cluster.  Use the function arguments to set
+  # some global variables.
+  if [[ -z $MMMODE ]]
+  then
+    IFS='/'
+    set -f ; set -- $arg2 ; set +f
+    export MMMODE=$1
+    IFS="$IFS_sv"
+  fi
+  [[ -z $primaryServer ]] &&  \
+    primaryServer=$arg3
+elif [[ $arg3_lc = checknewclusternode* ||
+        $arg3_lc = removefromclustercr  ]]
+then
+  # If the node is not yet a member of the GPFS cluster,
+  # the functions to determine the local data do not work.
+  [[ -z $ourNodeName ]] && ourNodeName=$($hostname)
+  [[ -z $MMMODE ]] && export MMMODE=$arg4
+else
+  # In all other cases, file mmsdrfs should already exist
+  # and we can use it as a starting point.
+  [[ -z $MMMODE || -z $environmentType || -z $primaryServer ]] &&  \
+    determineMode
+  getLocalNodeData
+fi
+
+# Restore the original positional parameters.
+set -f ; set -- $cmdline ; set +f
+
+# Initialize the local version information string.
+rpcMinSupported=1
+rpcMaxSupported=1
+localVersionInfo="$MM_Version3:$ourNodeNumber:$currentDaemonVersion:$productVersion"
+localVersionInfo="${localVersionInfo}:$osName:$rpcMinSupported:$rpcMaxSupported"
+
+# Ensure we know how to interpret the request.
+if [[ $rpcMinVersion -gt $rpcMaxSupported ]]
+then
+  # The caller is running incompatible GPFS version.
+  # Tell him what our capabilities are and let him decide what to do.
+  print -u2 "mmremote:incompatibleGPFScode:$ourNodeName:$localVersionInfo:"
+  cleanupAndExit $MM_IncompatibleCode
+fi
+
+# Make sure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+# Reset the remote commands if necessary.
+[[ -n $GPFS_rshPath ]] && rsh=$GPFS_rshPath
+[[ -n $GPFS_rcpPath ]] && rcp=$GPFS_rcpPath
+
+# Depending on the keyword, perform the requested action.
+case $kword_lc in
+
+                   #----------------------------------------
+  mmversion )      # mmremote mmVersion  [<fileset>]
+                   #----------------------------------------
+    # Determine whether the daemon is running.
+    tsstatusOutput=$(LC_ALL=C $tsstatus -1 2>&1)
+    print -- "$tsstatusOutput" | $grep -e 'file system daemon is running' >/dev/null
+    if [[ $? -eq 0 ]]
+    then
+      daemonStatus=active
+    else
+      print -- "$tsstatusOutput" | $grep -e 'Waiting for quorum' >/dev/null
+      if [[ $? -eq 0 ]]
+      then
+        daemonStatus=waitingForQuorum
+      else
+        daemonStatus=down
+      fi
+    fi
+
+    # Get the level of the installed fileset.
+    # If not specified by the caller, look for mmfs.gpfs.rte.
+    if [[ -n $arg2 ]]
+    then
+      fileset=$arg2
+    else
+      fileset="mmfs.gpfs.rte"
+    fi
+
+    # The output of the lslpp -c -Lq command has the following format:
+    # #Package Name:Fileset:Level:State:PTF Id:Fix State:Type:Description:
+    lslppOutput=$(LC_ALL=C $lslpp -c -Lq $fileset 2>/dev/null)
+    IFS=':'
+    set -f ; set -- $lslppOutput ; set +f
+    package=$1
+    fileset=$2
+    level=$3
+    IFS="$IFS_sv"
+    [[ $package != mmfs* ]] && level=""
+
+    # Return the string 'mmVersion', the version of the commands (2), the level
+    # of the currently-installed fileset, and the status of the daemon.
+    print -- "mmVersion:$MM_Version3:$level:$daemonStatus"
+    rc=0
+    ;;
+
+                   #---------------------
+  mmversion2 )     # mmremote mmVersion2
+                   #---------------------
+    # Return the keyword 'mmVersion2', the version of the commands (2),
+    # the level of the currently-installed fileset (must match prod.h),
+    # the OS name, and the fileset or rpm release string identifier for
+    # the current level of the code.
+    print -- "mmVersion2:$localVersionInfo"
+    rc=0
+    ;;
+
+                   #--------------------------------------------------
+  unlock )         # mmremote unlock [<nodeNumber>] [<lockServer>]
+                   #--------------------------------------------------
+    # Find our node number.
+    if [[ -z $arg2 ]]
+    then
+      nodeNumber=$ourNodeNumber
+    else
+      nodeNumber=$arg2
+    fi
+
+    # Find the lock server.
+    if [[ -z $arg3 ]]
+    then
+      lockServer=$primaryServer
+    else
+      lockServer=$arg3
+    fi
+
+    # Release the lock.
+    freeLock $nodeNumber $lockServer
+    rc=0
+    ;;
+
+                    #------------------------------------------------------
+  copyremotefile )  # mmremote copyRemoteFile <remoteNode> <remoteFile>
+                    #                               <localFile> <checksum>
+                    #------------------------------------------------------
+    if [[ $argc -lt 5 ]]
+    then
+      operands=" <remoteNode> <remoteFile> <localFile> <checksum>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    copyRemoteFileOutput=$(copyRemoteFile "$arg2" "$arg3" "$arg4" "$arg5")
+    rc=$?
+    print -- "$copyRemoteFileOutput"
+    ;;
+
+                           #-------------------------------------------------
+  committoprimaryserver )  # mmremote commitToPrimaryServer <newsdrfs> <sum>
+                           #            <genNumber> <client> <primaryServer>
+                           #            <commitOption> <backupServer>
+                           #-------------------------------------------------
+    if [[ $argc -lt 7 ]]
+    then
+      operands=" <newsdrfs> <checksum> <genNumber> <client> <primaryServer>"
+      operands=$operands" <commitOption> <backupServer>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Check required system files.
+    commitToPrimaryServer "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8"
+    rc=$?
+    ;;
+
+                          #----------------------------------------
+                          # mmremote vfs
+  vfs | checkvfsnumber )  # mmremote checkVfsNumber
+                          #----------------------------------------
+    # Verify there is an mmfs entry in /etc/vfs.
+    checkVfsNumber
+    rc=$?
+    ;;
+
+                    #----------------------------------------
+  fs )              # mmremote fs [optionalTasks]
+                    #----------------------------------------
+    # Verify there is an mmfs entry in /etc/vfs.
+    checkVfsNumber
+    rc=$?
+    [[ $rc -ne 0 ]] && cleanupAndExit $rc
+
+    # Make sure that the local copies of the mmsdrfs, mmfs.cfg,
+    # and the rest of the system files are up-to-date.
+    gpfsInitOutput=$(gpfsInit nolock)
+    checkForErrors gpfsInit $?
+
+    # Perform additional tasks as per the propagate options parameter.
+    [[ -n $arg2 ]] && handlePropagateOptions $arg2
+
+    rc=0
+    ;;
+
+                    #----------------------------------------
+  cfg )             # mmremote cfg [-f]
+                    #----------------------------------------
+    # Ensure local config data is up-to-date.
+    refreshSysconfig $arg2
+    rc=$?
+    ;;
+
+
+                        #----------------------------------------------------
+  upgradesystemfiles )  # mmremote upgradeSystemFiles <sdrfsFile> <checksum>
+                        #                             [<optionalTasks>]
+                        #----------------------------------------------------
+    if [[ $argc -lt 3 ]]
+    then
+      operands="<sdrfsFile> <checksum> [<optionalTasks>]"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    upgradeSystemFiles $arg2 $arg3 NULL 0
+    rc=$?
+
+    # Perform additional tasks as per the propagate options parameter.
+    [[ -n $arg4 ]] && handlePropagateOptions $arg4
+    ;;
+
+
+                        #----------------------------------------------------
+  upgradesystemfiles2 ) # mmremote upgradeSystemFiles2 <sdrfsFile> <checksum>
+                        #                              <keyFile> <checksum2>
+                        #----------------------------------------------------
+    if [[ $argc -lt 5 ]]
+    then
+      operands="<sdrfsFile> <checksum> <keyFile> <checksum2>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    upgradeSystemFiles $arg2 $arg3 $arg4 $arg5
+    rc=$?
+    ;;
+
+
+                      #---------------------------------------------
+  updategpfsobject )  # mmremote updateGpfsObject <chng1> [<chng2>]
+                      #---------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<change1> [<change2>] - Specify at least one change"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    updateGpfsObject "$arg2" "$arg3"
+    rc=$?
+    ;;
+
+                           #----------------------------------------
+  getgpfsobjectfromfile )  # mmremote getGpfsObjectFromFile
+                           #----------------------------------------
+
+    # Retrieve the information.
+    gpfsObjectInfo=$(getGpfsObjectFromFile)
+    rc=$?
+
+    print -- "$gpfsObjectInfo"
+    ;;
+
+                         #------------------------------------------------
+  sendclustersdrfiles )  # mmremote sendClusterSDRFiles <clientGenNumber>
+                         #    <client> <fileName> <lockId>
+                         #------------------------------------------------
+    if [[ $argc -lt 5 ]]
+    then
+      operands="<generationNumber> <client> <fileName> <lockId>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    sendClusterSDRFiles "$arg2" "$arg3" "$arg4" "$arg5"
+    rc=$?
+    ;;
+
+                  #-------------------------------------------------------------
+  createshadow )  # mmremote createShadow <oldGenNumber> <newSum> <commitOption>
+                  #-------------------------------------------------------------
+    if [[ $argc -lt 4 ]]
+    then
+      operands="<oldGenNumber> <newSum> <commitOption>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    createShadow "$arg2" "$arg3" "$arg4"
+    rc=$?
+    ;;
+
+                       #--------------------------------------------------
+  removeuncommitted )  # mmremote removeUncommitted <genNumber> <version>
+                       #--------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<genNumber> <version>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    $rm -f $uncommitted.$arg3  ${mmsdrfsPrev}.$arg2
+    rc=$?
+    ;;
+
+                                              #----------------------------
+  removefromcluster | removefromclustercr )   # mmremote removeFromCluster
+                                              #----------------------------
+    # Remove (almost) all traces.
+    removeFromCluster
+    rc=0
+    ;;
+
+                   #-------------------------------------------
+  rmfs )           # mmremote rmfs <fqDeviceName> <mountPoint>
+                   #-------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<fqDeviceName> <mountPoint>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Remove the file system stanza from /etc/filesystems.
+    # Remove the device and mount point.  Ignore errors.
+    removeStanza  $arg2 >/dev/null 2>&1
+    removeMountPoint $arg2 $arg3 0 >/dev/null 2>&1
+
+    rc=0
+    ;;
+
+                   #----------------------------------------
+  pid )            # mmremote pid <pid>
+                   #----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<pid>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # See if the specified process still exists.
+    $ps "$arg2" >/dev/null 2>/dev/null
+    rc=$?
+    if [[ $rc -eq 0 ]]
+    then
+      print -- "alive"
+    else
+      print -- "died"
+    fi
+
+    rc=0
+    ;;
+
+                   #----------------------------------------
+  active )         # mmremote active
+                   #----------------------------------------
+    $ps -e | $grep mmfsd >/dev/null 2>&1
+    rc=$?
+    if [[ $rc -eq 0 ]]
+    then
+      print -- "active"
+    else
+      print -- "down"
+    fi
+
+    rc=0
+    ;;
+
+                   #----------------------------------------
+  quorum )         # mmremote quorum <quorumValue>
+                   #----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<quorumValue>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Set the node quorum to the specified value.
+    $mmfsadm quorum $arg2
+    rc=$?
+    ;;
+
+                   #-----------------------------------------
+  tschpool )       # mmremote tschpool <tschpool_arguments>
+                   #-----------------------------------------
+    if [[ $argc -lt 3 ]]
+    then
+      operands="<tschpool_arguments>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Collect the input parameters and invoke the command.
+    shift 1
+    commandArguments=$*
+
+    $tschpool $commandArguments
+    rc=$(remapRC $?)
+    ;;
+
+                   #----------------------------------------
+  tsctl )          # mmremote tsctl <tsctl_arguments>
+                   #----------------------------------------
+    if [[ $argc -lt 3 ]]
+    then
+      operands="<tsctl_arguments>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Collect the input parameters and invoke the command.
+    shift 1
+    commandArguments=$*
+
+    $tsctl $commandArguments
+    rc=$(remapRC $?)
+    ;;
+
+                   #----------------------------------------
+  tsnap )          # mmremote tsnap <action>
+                   #----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<action>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Take a trace snapshot.
+    traceSnapshot $arg2
+    rc=$?
+    ;;
+
+                         #------------------------------------------------------
+  checknewclusternode )  # mmremote checkNewClusterNode <clusterType> <primary>
+                         #          <secondary | _NOSECONDARY_> <localNodeData>
+                         #          <rshPath | _DEFAULT_> <rcpPath | _DEFAULT_>
+                         #          <clusterId>
+                         #------------------------------------------------------
+    if [[ $argc -lt 8 ]]
+    then
+      operands="<clusterType> <primaryServer> <secondaryServer | _NOSECONDARY_> "
+      operands=${operands}"<localNodeData> <rshPath | _DEFAULT_> <rcpPath | _DEFAULT_> "
+      operands=${operands}"<clusterId> "
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine whether the node is new and supports clusters.
+    checkNewClusterNode "$arg2" "$arg3" "$arg4" "$arg5" "$arg6" "$arg7" "$arg8"
+    rc=$?
+    ;;
+
+                   #-----------------------------
+  checkadapter )   # mmremote checkAdapter <ipa>
+                   #-----------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<ipa>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Verify the adapter exists.
+    checkAdapter $arg2
+    rc=0
+    ;;
+
+                   #-----------------------------------------------
+  admincmd )       # mmremote adminCmd <adminCommand> [<arg ... >]
+                   #-----------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<adminCommand> [<arg ... >]"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Get the command name and collect its arguments.
+    adminCommand=$2
+    shift 2
+    argList=$@
+
+    # Run the requested command.
+    runCommand $adminCommand "$argList"
+    rc=$?
+    ;;
+
+                   #---------------------------------------
+  exectsmcommand ) # mmremote execTSMcommand [<arg ... >]
+                   #---------------------------------------
+    if [[ $argc -lt 10 ]]
+    then
+      operands="<execTSMcommand> [<arg ... >]"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Shift the command's arguments to remove the execTSMcommand verb.
+    shift 1
+    argList=$@
+
+    # Run the requested command.
+    $mmexectsmcmd $argList
+    rc=$?
+    ;;
+
+                   #----------------------------------------------------
+  startsubsys )    # mmremote startSubsys [-e <expTime>] [-E <envData>]
+                   #            [-f] [-t <tracefile>] [-T <traceOpt>]
+                   #----------------------------------------------------
+    # Parse the optional parameters.
+    shift 1
+    while getopts :e:E:fT:t: OPT
+    do
+      case $OPT in
+        e) expirationData="$OPTARG"  ;;
+        E) envString=${envString}" $OPTARG " ;;
+        f) argString='-a "-f"' ;;
+        t) envString=${envString}" mmScriptTrace=$OPTARG " ;;
+        T) envString=${envString}" MMTRACE=$OPTARG " ;;
+        *) printErrorMsg 13 "$mmcmd" $OPTARG ;;
+      esac
+    done
+
+    # Process the expirationData parameter.
+    if [[ -n $expirationData && ! -s mmSdrLockExp ]]
+    then
+      # Create a file with the sdr expiration data.
+      print -- "$expirationData" > $mmSdrLockExp
+
+      # Start the background process that will remove the file.
+      $mmcommon expirationDataCleanup $expirationData doNotUnlock >/dev/null 2>&1 &
+    fi
+
+    # Check whether GPFS is running.
+    pid=$($ps -eo "pid args" |  \
+          $awk '/\/runmmfs/ && !/this process/ {print $1}')
+    if [[ -n $pid ]]
+    then
+      # GPFS has already been started.
+      printInfoMsg 586 GPFS
+    else
+      # Start GPFS.
+      if [[ -n ${envString} ]]
+      then
+        $daemonize -e "$envString" -c $runmmfs $argString
+      else
+        $daemonize -c $runmmfs $argString
+      fi
+    fi  # end if [[ -n $pid ]]
+    ;;
+
+                      #------------------------------------------
+  startautomounter )  # mmremote startAutomounter <automountDir>
+                      #------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<automountDir>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Run the OS automount command.
+    startAutomounter $arg2
+    rc=$?
+    ;;
+
+                      #-----------------------------------------------
+  getlocaldiskname )  # mmremote getLocalDiskName <pvid> <nsdSubtype>
+                      #-----------------------------------------------
+    if [[ $argc -lt 3 ]]
+    then
+      operands="<pvid> <nsdSubtype>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine the physical disk with the specified pvid and nsdSubtype.
+    getLocalDiskName $arg2 $arg3
+
+    rc=0
+    ;;
+
+                        #--------------------------------------
+  getlocaldisknamevg )  # mmremote getLocalDiskNameVG <vgname>
+                        #--------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<vgname>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine the physical disk with the specified volume group name.
+    getLocalDiskNameVG $arg2
+    rc=0
+    ;;
+
+                      #----------------------------------------
+  findpvid )          # mmremote findPvid <lvname>
+                      #----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<lvname>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine the pvid of the disk with the specified lvname.
+    findPvid $arg2
+    rc=$?
+    ;;
+
+                      #----------------------------------------
+  findvgpvid )        # mmremote findVgPvid <vgname>
+                      #----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<vgname>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine the pvid of the disk with the specified vgname.
+    findVgPvid $arg2
+    rc=$?
+    ;;
+
+                      #----------------------------------------
+  findhdiskpvid )     # mmremote findHdiskPvid <hdisk_name>
+                      #----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<hdisk name>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine the pvid of the specified physical disk.
+    findHdiskPvid $arg2
+    rc=$?
+    ;;
+
+                    #----------------------------------------
+  mmgetstate )      # mmremote mmGetState
+                    #----------------------------------------
+    # Determine the quorum state.
+    mmGetState $arg2
+    rc=$?
+    ;;
+
+                    #----------------------------------------
+  getsubsysstate )  # mmremote getSubsysState <subsystem>
+                    #----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<subsystem>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine the state of the specified subsystem.
+    getSubsysState $arg2
+    rc=$?
+    ;;
+
+                    #----------------------------------------
+  killsdrserv )     # mmremote killSdrServ
+                    #----------------------------------------
+    # Kill the currently-running mmsdrserv daemon.
+    killSdrServ
+    rc=$?
+    ;;
+
+                    #----------------------------------------
+  startsdrserv )    # mmremote startSdrServ <sdrservPort>
+                    #----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<sdrservPort>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # If this is a server node, start the mmsdrserv daemon.
+    if [[ $ourNodeName = $primaryServer || $ourNodeName = $backupServer ]]
+    then
+      startSdrServ $arg2
+      rc=$?
+    else
+      rc=132  # ESDR_NOT_SERVER  "Node is not a server"
+    fi
+    ;;
+
+                    #----------------------------------------
+  setwait4rvsd )    # mmremote setWait4RVSD
+                    #----------------------------------------
+    # Set the wait4RVSD parm across the currently-active GPFS nodes.
+    setWait4RVSD
+    rc=$?
+    ;;
+
+                    #----------------------------------------
+  refreshauth )     # mmremote refreshAuth
+                    #----------------------------------------
+    # Refresh the auth key files.
+    refreshAuth
+    rc=$?
+    ;;
+
+                    #----------------------------------------
+  getcoderange )    # mmremote getCodeRange
+                    #----------------------------------------
+    # Determines the range of GPFS release levels on the
+    # nodes on which the daemon is currently running.
+    getCodeRange
+    rc=$?
+    ;;
+
+                   #----------------------------------------
+  postmount )      # mmremote postMount
+                   #----------------------------------------
+    # Perform post-mount processing.  Currently, this is a no-op.
+    rc=0
+    ;;
+
+                   #----------------------------------------
+  getgennumber )   # mmremote getGenNumber  [<filename>]
+                   #----------------------------------------
+    # Retrieve the generation number of the specified sdrfs file.
+    getGenNumber $arg2
+    rc=$?
+    ;;
+
+                   #----------------------------------------
+  rmdeventry )     # mmremote rmDevEntry <deviceNameList>
+                   #----------------------------------------
+    # Get the list of devices to delete.
+    shift 1
+    deviceNameList=$@
+
+    # Loop through the list and delete the /dev entries.
+    for devName in $deviceNameList
+    do
+      removeMountPoint $devName _NO_MOUNT_POINT_DELETE_ 0
+    done
+    ;;
+
+                         #------------------------------------------------------
+  determinedisksubtype ) # mmremote determineDiskSubtype <lvname> [<reevaluate>]
+                         #------------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<lvname> [<reevaluate>]"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine the disk type.
+    determineDiskSubtype $arg2 $arg3
+    rc=$?
+    ;;
+
+                         #-----------------------------------------
+  determinensdsubtype )  # mmremote determineNsdSubtype <diskName>
+                         #-----------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<diskName>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine the disk type.
+    determineNsdSubtype $arg2
+    rc=$?
+    ;;
+
+                         #------------------------------------
+  getlocalnsddata )      # mmremote getLocalNsdData [<Xflag>]
+                         #------------------------------------
+    # Send the colon-delimited local nsd data from tspreparedisk -s
+    # back to the requestor via stdout.
+    getLocalNsdData $arg2
+    rc=0
+    ;;
+
+                         #---------------------------------------
+  creatensd )            # mmremote createNsd <diskName> <vflag>
+                         #        <invokingCommand> <nsdSubtype>
+                         #---------------------------------------
+    if [[ $argc -lt 5 ]]
+    then
+      operands="<diskName> <vflag> <invokingCommand> <nsdSubtype>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Make an NSD out of the disk.
+    createNsd $arg2 $arg3 $arg4 $arg5
+    rc=$?
+    ;;
+
+                  #----------------------------------------------------
+  mvsgdescfile )  # mmremote mvSGDescFile <sourceFile> <targetFile>
+                  #                       <checksum> <sourceNode>
+                  #----------------------------------------------------
+    if [[ $argc -lt 5 ]]
+    then
+      operands="<sourceFile> <targetFile> <checksum> <sourceNode>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Move the specified file and verify its checksum.
+    mvSGDescFile $arg2 $arg3 $arg4 $arg5
+    rc=$?
+    ;;
+
+                  #----------------------------------------------------
+  lssgdescfile )  # mmremote lsSGDescFile
+                  #----------------------------------------------------
+    # Return a list of all disk descriptor recovery files.
+    [[ -d ${tmpDir}mmimportfs ]] &&  \
+      $ls -1 ${tmpDir}mmimportfs/tspreparedisk.diskDesc.* 2>/dev/null
+    rc=0
+    ;;
+
+                  #----------------------------------------------------
+  rmsgdescfile )  # mmremote rmSGDescFile <diskName>
+                  #----------------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<diskName>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Remove all disk descriptor recovery files for the specified disk.
+    $rm -f ${tmpDir}mmimportfs/tspreparedisk.diskDesc.${arg2}.*
+    rc=0
+    ;;
+
+                      #-------------------------------------------
+  getgpfsdiskname )   # mmremote getGpfsDiskName <rawDiskName>
+                      #-------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<rawDiskName>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Determine the GPFS disk name of the specified physical disk.
+    gpfsDiskName=$(getGpfsDiskName $arg2)
+    rc=$?
+    print -- "$gpfsDiskName"
+    ;;
+
+                      #-------------------------------------------
+  unfencedisks )      # mmremote unfenceDisks <diskFile>
+                      #-------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<diskNameFile> | <diskNameList>"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Unfence the specified disks and clear the PR registrations.
+    unfenceDisksOutput=$(unfenceDisks $arg2)
+    rc=$?
+    print -- "$unfenceDisksOutput"
+
+    # If this is invoked by mmimportfs, cleanup the input file.
+    # Otherwise, leave the file alone.  The decision is based on
+    # the input file's name.
+    [[ $arg2 = ${tmpDir}disksToUnfence.mmimportfs.*tmp ]] &&  \
+      $rm -f $arg2
+    ;;
+
+                        #--------------------------------------------------
+  mountfilesystems )    # mmremote mountFileSystems <device> <mountPoint>
+                        #     <defaultOptions> <newOptions> [doNotRemount]
+                        #--------------------------------------------------
+    if [[ $argc -lt 5 ]]
+    then
+      operands="<device> {<mountPoint>|DEFAULT} <defaultOptions>"
+      operands="${operands} {<newOptions>|DEFAULT} [doNotRemount]"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Mount the specified file systems.
+    mountFileSystems $arg2 "$arg3" "$arg4" "$arg5" $arg6
+    rc=$?
+    ;;
+
+                        #---------------------------------------------
+  unmountfilesystems )  # mmremote unmountFileSystems <device> [-f]
+                        #---------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<device> [-f]"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Invoke the preunmount user exit.
+    [[ -x ${mmfscfgDir}preunmount ]] &&  \
+      $mmcommon preunmount $arg2 umount
+
+    # Unmount the specified file systems.
+    unmountFileSystems $arg2 "$arg3"
+    rc=$?
+    ;;
+
+                        #----------------------------------------------
+  unmountmountpoint )   # mmremote unmountMountpoint <mountPoint> [-f]
+                        #----------------------------------------------
+    if [[ $argc -lt 2 ]]
+    then
+      operands="<mountPoint> [-f]"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Unmount the specified file systems.
+    unmountMountpoint $arg2 "$arg3"
+    rc=$?
+    ;;
+
+             #-------------------------------------------------------------
+  lsmount )  # mmremote lsmount <fsToShow> <scope> <showNodes> [norefresh]
+             #-------------------------------------------------------------
+    if [[ $argc -lt 4 ]]
+    then
+      operands="<fsToShow> <scope> <showNodes> [norefresh]"
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Find out who has the file systems mounted.
+    lsmount "$arg2" "$arg3" $arg4 $arg5
+    rc=$?
+    ;;
+
+                       #---------------------------------
+  shutdowndaemon )     # mmremote shutdownDaemon
+                       #---------------------------------
+    # Remove the rerunmmfsFile file.
+    # If not done, runmmfs will restart mmfsd.
+    $rm -f $rerunmmfsFile
+
+    # Shut down the GPFS daemon.
+    $mmfsadm shutdown 2>&1 | $grep -v -e "mmfs daemon not running"
+    $sleep 3
+
+    # Kill the runmmfs and mmfsenv processes if they are still running.
+    # This would be the case if we were in a backoff respawn
+    # or the daemon was never started in the first place.
+    pidNumbers=$($ps -eo "pid args" |  \
+        $awk '( /\/runmmfs/ || /\/mmfsenv/ ) && !/this process/ {print $1}')
+    [[ -n $pidNumbers ]] && $kill -s KILL $pidNumbers
+    $rm -f "${respawnlog}".*
+
+    # If this is a server node, start the mmsdrserv daemon.
+    [[ $ourNodeName = $primaryServer || $ourNodeName = $backupServer ]] &&  \
+      startSdrServ CURRENT >> $mmsdrservLog 2>&1
+
+    # Unload the kernel extensions (in Linux only).
+    [[ $osName = Linux ]] && $mmfsenv -u
+
+    # Always return OK.
+    rc=0
+    ;;
+
+                      #---------------------------------
+  cleanupdaemon )     # mmremote cleanupDaemon
+                      #---------------------------------
+    # If this file is present, GPFS will be respawned.
+    $rm -f $rerunmmfsFile >/dev/null 2>&1
+
+    # Shut down the daemon.
+    $mmfsadm cleanup 2>&1 | $grep -v -e "mmfs daemon not running"
+    $sleep 3
+
+    # If this is a server node, start the mmsdrserv daemon.
+    [[ $ourNodeName = $primaryServer || $ourNodeName = $backupServer ]] &&  \
+      startSdrServ CURRENT >> $mmsdrservLog 2>&1
+
+    # Unload the kernel extensions.
+    [[ $osName = Linux ]] && $mmfsenv -u
+
+    # Always return OK.
+    rc=0
+    ;;
+
+
+             #------------------------------------------------------------------
+  onbehalf)  # mmremote onbehalf <reqNode> <rcFilename> <mmmode> <fileToCopy>
+             #        <fsToCheck> <scope> <link> <remoteCommand> [<arg ... >]
+             #------------------------------------------------------------------
+    if [[ $argc -lt 9 ]]
+    then
+      operands="<requestingNode> <rcFilename> <mmmode> <fileToCopy>"
+      operands="$operands <fsToCheck> <scope> <link> <remoteCommand> [<arg ... >] "
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Shift past all positional parameters and collect the command arguments.
+    shift 9
+    arguments="$@"
+
+    # Setup the environment.
+    export MMMODE=$arg4
+
+    # If there is a file to copy, get it.
+    fileCopied=no
+    if [[ $arg5 != $NO_FILE_COPY ]]
+    then
+      rcpResult=$(LC_ALL=C $rcp ${arg2}:${arg5} $arg5 2>&1)
+      rc=$?
+      if [[ $rc -eq 0 ]]
+      then
+        fileCopied=yes
+      else
+        # If there was no need to copy the file, that's fine.
+        print -- "$rcpResult" | $grep -e "refer to the same file" >/dev/null
+        if [[ $? -ne 0 ]]
+        then
+          # Show the error from the rcp command and issue a message
+          # that the rcp command failed.
+          print -u2 "$rcpResult"
+          printErrorMsg 171 $mmcmd "$rcp ${arg2}:${arg5} $arg5" $rc
+        else
+          fileCopied=yes
+          rc=0
+        fi
+      fi  # end of if [[ $rc -eq 0 ]]
+    fi  # end of if [[ $arg5 != $NO_FILE_COPY ]]
+
+    # If the copy worked, execute the command and return the return code.
+    # The return code is reported by creating a temporary file in a scratch
+    # directory on the caller's machine.  This temporary "return code" file
+    # has the return code as the trailing part of its name.  It is the
+    # caller's responsibility to look for this file to get the return code.
+    # This mechanism is used because rsh does not return return codes.
+    if [[ $rc -eq 0 ]]
+    then
+      runLocalCommand $arg6 $arg7 $arg8 $arg9 $arguments
+      rc=$?
+      rshResult=$($rsh $arg2 $mmremote adminCmd touch ${tmpDir}${arg3}.${rc} 2>&1)
+      ec=$?
+      if [[ $ec -ne 0 ]]
+      then
+        # Show the error from the rsh command and issue a message
+        # that the rsh command failed.
+        print -u2 $rshResult
+        printErrorMsg 171 $mmcmd  \
+          "$rsh ${arg2} mmremote adminCmd touch ${tmpDir}${arg3}.${rc}" $ec
+      fi
+
+      # Remove the input file if it was not created on this node.
+      [[ $fileCopied = yes && $arg2 != $ourNodeName ]] && $rm -f $arg5
+    fi  # end of if [[ $rc -eq 0 ]]
+    ;;
+
+              #-----------------------------------------------------------
+  onbehalf2)  # mmremote onbehalf2 <reqNode> <rcFilename> <mmmode> <link>
+              #                    <remoteCommand> [<arg ... >]
+              #-----------------------------------------------------------
+    if [[ $argc -lt 6 ]]
+    then
+      operands="<requestingNode> <rcFilename> <mmmode> <link>"
+      operands="$operands <remoteCommand> [<arg ... >] "
+      printErrorMsg 260 mmremote $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Shift past all positional parameters and collect the command arguments.
+    shift 6
+    arguments="$@"
+
+    # Setup the environment.
+    export MMMODE=$arg4
+
+    # Execute the command and return the return code.
+    # The return code is reported by creating a temporary file in a scratch
+    # directory on the caller's machine.  This temporary "return code" file
+    # has the return code as the trailing part of its name.  It is the
+    # caller's responsibility to look for this file to get the return code.
+    # This mechanism is used because rsh does not return return codes.
+    runLocalCommand2 $arg5 $arg6 $arguments
+    rc=$?
+    rshResult=$($rsh $arg2 $mmremote adminCmd touch ${tmpDir}${arg3}.${rc} 2>&1)
+    ec=$?
+    if [[ $ec -ne 0 ]]
+    then
+      # Show the error from the rsh command and issue a message
+      # that the rsh command failed.
+      print -u2 -- $rshResult
+      printErrorMsg 171 $mmcmd  \
+        "$rsh ${arg2} mmremote adminCmd touch ${tmpDir}${arg3}.${rc}" $ec
+    fi
+    ;;
+
+                   #----------------------------------------
+  * )              # Unknown action requested
+                   #----------------------------------------
+    # Invalid keyword. The caller is running incompatible GPFS version.
+    # Tell him what our capabilities are and let him decide what to do.
+    printErrorMsg 133 mmremote $kword
+    print -u2 "mmremote:incompatibleGPFScode:$ourNodeName:$localVersionInfo:"
+    cleanupAndExit $MM_IncompatibleCode
+    ;;
+
+esac  # end first case $kword_lc in
+
+cleanupAndExit $rc doNotUnlock
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmremotecluster
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmremotecluster	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmremotecluster	(revision 16)
@@ -0,0 +1,940 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2004,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)78 1.55 src/avs/fs/mmfs/ts/admin/mmremotecluster.sh, mmfs, avs_rgpfs24, rgpfs24s012a 5/2/07 15:29:27
+################################################################################
+#
+# Usage:
+#   mmremotecluster add remoteClusterName [-k keyfile] [-n contactNodes]
+#
+#   mmremotecluster update remoteClusterName [-C newClusterName]
+#                          [-k keyfile] [-n contactNodes]
+#
+#   mmremotecluster delete {remoteClusterName | all}
+#
+#   mmremotecluster show   [remoteClusterName | all]
+#
+# where
+#
+#   remoteClusterName  is the fully-qualified name for a remote cluster that
+#                      owns file systems that nodes from this cluster intend
+#                      to mount.
+#
+#   -C newClusterName  is the new fully-qualified cluster name for an
+#                      already-defined cluster remoteClusterName.
+#
+#   -k keyfile         is the authentication key file generated by the mmauth
+#                      command on the remote cluster.
+#
+#   -n contactNodes    provides contact information for the remote cluster.
+#                      The contactNodes parameter has the following format:
+#
+#                        [tcpPort=NNNN,]node1[,node2 ...]
+#
+#                      where
+#
+#                        tcpPort=NNNN  is the TCP port number to be used by the
+#                                  GPFS daemon.  If not specified, GPFS will
+#                                  use the default TCP port number 1191.
+#
+#                        node1[,node2 ...]  is a list of nodes that belong to
+#                                  the remote cluster.  The nodes can be
+#                                  identified through their host names or
+#                                  IP addresses.  If contactNodes are not
+#                                  specified, the user must enable
+#                                  /var/mmfs/etc/remoteclusternodes.
+#
+################################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmremotecluster.sh"
+[[ -n $DEBUG || -n $DEBUGmmremotecluster ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+mountCheckList=${tmpDir}mountCheckList.${mmcmd}.$$
+verifiedKey=${tmpDir}verifiedKey.${mmcmd}.$$
+tmpPublicKey=${tmpDir}tmpPublicKey.${mmcmd}.$$
+
+LOCAL_FILES=" $mountCheckList $verifiedKey $tmpPublicKey "
+
+# Local variables
+usageMsg=388
+contactNodesCount=0
+
+
+# Local functions
+
+##########################################################################
+#
+# Function:  Determine the SHA digest (fingerprint) that corresponds
+#            to the public key file for the specified cluster.
+#
+# Input:     $1 - cluster name
+#            $2 - sdrfs file to use
+#
+# Output:    The SHA digest string.
+#
+# Returns:   0 - no errors encountered
+#            1 - unexpected error
+#
+##########################################################################
+function getFingerprint  # <clusterName> <sdrfsFile>
+{
+  typeset sourceFile="mmremotecluster.sh"
+  [[ -n $DEBUG || -n $DEBUGgetFingerprint ]] && set -x
+  typeset clusterName=$1
+  typeset sdrfs=$2
+
+  typeset sdrfsLine clusterNameField lineTypeField keyLine keyFingerprint
+
+  [[ ! -f $sdrfs ]] && return 1
+  $rm -f $tmpPublicKey
+
+  # Go through the current mmsdrfs file and retrieve the requested information.
+  IFS=":"
+  exec 4<&-
+  exec 4< $sdrfs
+  while read -u4 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -- $sdrfsLine ; set +f
+    clusterNameField=$1
+    lineTypeField=$2
+
+    # We are interested only in the REM_CLUSTER_KEY lines for the specified cluster.
+    if [[ $clusterNameField = $clusterName && $lineTypeField = $REM_CLUSTER_KEY ]]
+    then
+      # The public key information is everything past the first 4 fields.
+      shift 4
+      keyLine=$*
+      keyLine="${keyLine%%+(:)}"
+
+      # Examine the lines.  If the key was generated by the cs4b version
+      # of mmauth genkey, there will be stanza lines and the fingerprint
+      # will be included.  If the fingerprint is missing, or if this is
+      # a key generated by a cs3b version of mmauth genkey, extract the
+      # public key in a temp file.
+      if [[ $keyLine = "clusterName="*            ||
+            $keyLine = "clusterID="*              ||
+            $keyLine = "genkeyFormat="*           ||
+            $keyLine = "genkeyCompatibleFormat="* ||
+            $keyLine = "keyGenNumber="*           ||
+            $keyLine = "publicKey="               ||
+            $keyLine = "certificate="             ]]
+      then
+        :  # Skip the line.
+
+      elif [[ $keyLine = "keyDigest="* ]]
+      then
+        # Return the key fingerprint.
+        keyFingerprint="${keyLine#keyDigest=}"
+        break
+
+      else
+        # Add the line to the key file.
+        IFS=""     # Reset IFS to preserve blanks and tabs.
+        print -- "$keyLine" >> $tmpPublicKey
+        checkForErrors "writing to file $tmpPublicKey" $?
+      fi  # end of if [[ $keyLine = "clusterName="* ]]
+    fi  # end of if [[ $clusterNameField = $clusterName && ...
+
+    IFS=":" # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u4 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # If the fingerprint was not imbedded in the key stanza,
+  # determine it with the help of the openssl command.
+  if [[ -z $keyFingerprint && -s $tmpPublicKey ]]
+  then
+    keyFingerprint=$($openssl dgst -sha -hex < $tmpPublicKey)
+    checkForErrors "openssl dgst -sha -hex $tmpPublicKey" $?
+  fi
+  [[ -z $keyFingerprint ]] && keyFingerprint="(undefined)"
+
+  # Return the result.
+  print -- "$keyFingerprint"
+  return 0
+
+}  #------------ end function getFingerprint -----------------
+
+
+################################################################
+#
+# Function:  Create a list with the names of the file
+#            systems in a given cluster.
+#
+# Input:     $1 - cluster name
+#            $2 - sdrfs file to use
+#
+# Output:    A line with the local and remote file system names
+#            for all file systems in the requested cluster.
+#            The names have the following format:
+#               localFSname (remoteFSname) ...
+#
+# Returns:   0 - success
+#            1 - error encountered
+#
+################################################################
+function getFileSystemList   # <clusterName> <sdrfs>
+{
+  typeset sourceFile="mmremotecluster.sh"
+  [[ -n $DEBUG || -n $DEBUGgetFileSystemList ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset clusterName=$1
+  typeset sdrfs=$2
+
+  [[ ! -s $sdrfs ]] &&  \
+    checkForErrors "getFileSystemList: Missing or empty file $sdrfs" 1
+
+  $awk -F: '                                           \
+    $'$NODESETID_Field' == "'$clusterName'" &&         \
+    $'$LINE_TYPE_Field' == "'$SG_HEADR'"    {          \
+      if ( $'$FS_TYPE_Field' == "'$remotefs'" ) {      \
+        { fsList = fsList $'$DEV_NAME_Field' " ("      \
+                   $'$REMOTE_DEV_NAME_Field' ")  " }   \
+      }                                                \
+      else {                                           \
+        { fsList = fsList $'$DEV_NAME_Field' "  " }    \
+      }                                                \
+    }                                                  \
+    END { print fsList }                               \
+  ' $sdrfs
+  checkForErrors awk $?
+
+  $mmTRACE_EXIT "rc=$rc"
+  return $rc
+
+}  #------ end of function getFileSystemList -----------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+action=$arg1
+[[ -z $action ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+remoteClusterName=$arg2
+checkName clusterName 255 "$remoteClusterName"
+[[ $? -ne 0 ]] && cleanupAndExit
+
+# Allow "ls" to be used in place of "show".
+[[ $action = ls ]] && action=show
+
+# remoteClusterName must be specified for all actions.
+# The only exception is the "show" subcommand where "all"
+# will be assumed if remoteClusterName is omitted.
+if [[ -z $remoteClusterName ]]
+then
+  if [[ $action = show ]]
+  then
+    remoteClusterName=all
+  elif [[ $action = add || $action = update || $action = delete ]]
+  then
+    syntaxError "missingArgs" $usageMsg
+  else
+    syntaxError "keyword" $usageMsg "$action"
+  fi
+fi  # end of if [[ -z $remoteClusterName ]]
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+# Continue with the rest of the parameters.
+if [[ $action = show || $action = delete ]]
+then
+  # No other arguments are expected.
+  [[ -n $arg3 ]] && syntaxError "extraArg" $usageMsg $arg3
+
+elif [[ $action = add || $action = update ]]
+then
+  shift 2    # Move past the cluster name in the parameter list.
+
+  # Process the individual arguments and the values associated with them.
+  while getopts :C:k:n: OPT
+  do
+    case $OPT in
+
+      C) [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Cflag="-$OPT"; Carg=$OPTARG;
+         [[ $action != update ]] &&  \
+           syntaxError "invalidOption" $usageMsg "-$OPT"
+         checkName clusterName 255 "$Carg"
+         [[ $? -ne 0 ]] && cleanupAndExit
+         ;;
+
+      k) [[ -n $kflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         kflag="-$OPT"; karg=$OPTARG;
+         [[ -z $karg ]] && karg=DELETE
+         ;;
+
+      n) [[ -n $nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         nflag="-$OPT"; narg=$OPTARG;
+         [[ -z $narg ]] && narg=DELETE
+         ;;
+
+       +[Ckn) # Invalid option.
+          syntaxError "invalidOption" $usageMsg $OPT
+          ;;
+
+       :) # Missing argument.
+          syntaxError "missingValue" $usageMsg $OPTARG
+          ;;
+
+       *) # Invalid option.
+          syntaxError "invalidOption" $usageMsg $OPTARG
+          ;;
+    esac
+  done
+
+  shift OPTIND-1
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+  # Initialize local variables.
+  contactNodes=$narg
+  newClusterName=$Carg
+  keyfile=$karg
+
+  # Check the list of contact nodes.
+  if [[ -n $contactNodes &&
+        $contactNodes != DELETE && ! -x $remoteclusternodes ]]
+  then
+    # Parse the list and verify that the names can be resolved.
+    IFS=","
+    for nodeName in $contactNodes
+    do
+      IFS="$IFS_sv"
+
+      # Skip over the tcpPort information.
+      [[ $nodeName = tcpPort=+([0-9]) ]] && continue
+
+      # Verify the name is resolvable.
+      hostResult=$($host $nodeName)
+      set -f ; set -- $hostResult ; set +f
+      ipa=${3%%,*}   # Exclude everything after the first comma.
+      if [[ -z $ipa ]]
+      then
+        # Invalid node name specified.
+        printErrorMsg 54 $mmcmd $nodeName
+        cleanupAndExit
+      fi
+      (( contactNodesCount += 1 ))
+      IFS=","
+    done  # end of for nodeName in $contactNodes
+    IFS="$IFS_sv"
+  fi  # end of if [[ -n $contactNodes ]]
+
+else
+  # Invalid action requested.
+  syntaxError "keyword" $usageMsg "$action"
+fi  # end of if [[ $action = show || $action = delete ]]
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#####################################################################
+if [[ $action = show ]]
+then
+  trap pretrap2 HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit nolock)
+  rc=$?
+else
+  trap pretrap HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit $lockId)
+  rc=$?
+fi
+setGlobalVar $rc $gpfsInitOutput
+
+
+#######################################################################
+# Perform any remaining parameter checking that requires knowledge of
+# the sdrfsFormatLevel level (set by gpfsInit above).  Ensure the user
+# is not trying to utilize function that has not been enabled yet.
+#######################################################################
+# Ensure the key file exists and has the correct format.
+if [[ -n $keyfile && $keyfile != DELETE ]]
+then
+  verifyPublicKeyFile $keyfile $sdrfsFormatLevel $verifiedKey  \
+                      $newClusterName $remoteClusterName
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+  if [[ $sdrfsFormatLevel -eq 0 ]]
+  then
+    # Ensure that the provided key file was generated by a 2.3 version of mmauth.
+    $grep -q -e "^clusterName=" $verifiedKey >/dev/null 2>&1
+    rc=$?
+    if [[ $rc -eq 0 ]]
+    then
+      print -u2 "$mmcmd:  The specified public key file cannot be handled until you"
+      print -u2 "    run \"mmchconfig release=LATEST\" to activate the new function."
+      cleanupAndExit
+    fi
+  fi  # end of if [[ $sdrfsFormatLevel -eq 0 ]]
+fi  # end of if [[ -n $keyfile && $keyfile != DELETE ]]
+
+
+#############################################################################
+#
+# Go through the mmsdrfs file.
+#
+# If action is "add", ensure that we can safely add the new remote cluster.
+#
+# If action is "update", make the needed changes to the mmsdrfs file.
+#
+# If action is "delete", remove the appropriate lines from the mmsdrfs file.
+#
+# If action is "show", extract and display the relevant information.
+#
+#############################################################################
+$rm -f $newsdrfs $nodefile $mountCheckList
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"   # Restore the default IFS settings.
+  printLine=true  # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )
+      # Increment the generation number.
+      newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+      v[$SDRFS_GENNUM_Field]=$newGenNumber
+
+      ourClusterName=${v[$CLUSTER_NAME_Field]}
+
+      if [[ $ourClusterName = $remoteClusterName && $action = add ||
+            $ourClusterName = $newClusterName && $action = update ]]
+      then
+        # The cluster name is the name of the local cluster.
+        printErrorMsg 202 $mmcmd $ourClusterName
+        cleanupAndExit
+      fi
+      ;;
+
+    $MEMBER_NODE )
+      # Add the reliable node name to nodefile.
+      print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+      checkForErrors "writing to file $nodefile" $?
+
+      # If this is the line for the node that is executing
+      # this command, set the preferredNode variable.
+      [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+        preferredNode=${v[$REL_HOSTNAME_Field]}
+      ;;
+
+    $REM_CLUSTER )
+      if [[ ${v[$NODESETID_Field]} = $remoteClusterName ||
+            $remoteClusterName = all && ($action = show || $action = delete) ]]
+      then
+        clusterFound=yes
+        # Processing depends on the specified action:
+        case $action in
+          add )
+            # The remote cluster is already defined.
+            printErrorMsg 316 $mmcmd $remoteClusterName
+            cleanupAndExit
+            ;;
+
+          update )
+            [[ -n $newClusterName ]] &&  \
+              v[$NODESETID_Field]=$newClusterName
+            [[ -n $contactNodes ]] &&  \
+              v[$CONTACT_NODES_Field]=$contactNodes
+            [[ $contactNodes = DELETE ]] &&  \
+              v[$CONTACT_NODES_Field]=""
+            ;;
+
+          delete )
+            printLine=false
+            ;;
+
+          show )
+            # Display the cluster name.
+            header=$(printInfoMsg 442)
+            printf "%-16s %s\n" "$header" "${v[$NODESETID_Field]}"
+
+            # Display the contact nodes.
+            header=$(printInfoMsg 446)
+            contactNodes=""
+            if [[ -x $remoteclusternodes ]]
+            then
+              contactNodes=$($remoteclusternodes ${v[$NODESETID_Field]})
+              [[ -n $contactNodes ]] &&  \
+                contactNodes="$contactNodes  (from $remoteclusternodes)"
+            fi
+            if  [[ -z $contactNodes ]]
+            then
+              contactNodes="${v[$CONTACT_NODES_Field]}"
+              [[ -z $contactNodes ]] &&  \
+                contactNodes="(none specified)"
+            fi
+            printf "%-16s %s\n" "$header" "$contactNodes"
+
+            # Display the SHA digest (public key fingerprint).
+            header=$(printInfoMsg 444)
+            keyFingerprint=$(getFingerprint ${v[$NODESETID_Field]} $mmsdrfsFile)
+            printf "%-16s %s\n" "$header" "$keyFingerprint"
+
+            # Display the file system names.
+            header=$(printInfoMsg 447)
+            fsList=$(getFileSystemList ${v[$NODESETID_Field]} $mmsdrfsFile)
+            checkForErrors getFileSystemList $?
+            [[ -z $fsList ]] && fsList="(none defined)"
+            printf "%-16s %s\n\n" "$header" "$fsList"
+            ;;
+
+          *) checkForErrors "unexpected action $action" 1
+            ;;
+
+        esac  # end of case $action in
+      fi  # end of if [[ ${v[$NODESETID_Field]} = $remoteClusterName ]]
+      ;;
+
+    $REM_CLUSTER_KEY )
+      if [[ ${v[$NODESETID_Field]} = $remoteClusterName ||
+            $remoteClusterName = all && ($action = show || $action = delete) ]]
+      then
+        # Processing depends on the specified action:
+        case $action in
+          add )
+            # The remote cluster is already defined.
+            printErrorMsg 316 $mmcmd $remoteClusterName
+            cleanupAndExit
+            ;;
+
+          update )
+            [[ -n $keyfile ]] &&  \
+              printLine=false
+
+            if [[ -n $newClusterName ]]
+            then
+              v[$NODESETID_Field]=$newClusterName
+              [[ ${v[$LINE_NUMBER_Field]} = 1 ]] &&  \
+                v[$KEY_Field]="clusterName=$newClusterName"
+            fi
+            ;;
+
+          delete )
+            printLine=false
+            ;;
+
+          show )
+            :  # There is nothing to do for now.
+            ;;
+
+          *) checkForErrors "unexpected action $action" 1
+            ;;
+        esac  # end of case $action in
+      fi  # end of if [[ ${v[$NODESETID_Field]} = $remoteClusterName ]]
+      ;;
+
+    $SG_HEADR )
+      if [[ ${v[$NODESETID_Field]} != $HOME_CLUSTER &&
+            ($remoteClusterName = ${v[$NODESETID_Field]} ||
+             $remoteClusterName = "all") ]]
+      then
+        remoteFSfound=yes
+        # Processing depends on the specified action:
+        case $action in
+          add )
+            corruptedSdrFileExit 145 "$sdrfsLine"
+            cleanupAndExit
+            ;;
+
+          update )
+            if [[ -n $newClusterName || -n $keyfile ]]
+            then
+              # Generate the fully-qualified name for the file system.
+              # Put it, together with the local device name, on the list
+              # of file systems that should not be mounted.
+              fsFullName="${v[$NODESETID_Field]}:${v[$REMOTE_DEV_NAME_Field]}"
+              print -- "$fsFullName ${v[$DEV_NAME_Field]}" >> $mountCheckList
+              checkForErrors "writing to file $mountCheckList" $?
+
+              [[ -n $newClusterName ]] &&  \
+                v[$NODESETID_Field]=$newClusterName
+            fi
+            ;;
+
+          delete )
+            # Generate the fully-qualified name for the file system.
+            # Put it, together with the local device name, on the list
+            # of file systems that should not be mounted.
+            fsFullName="${v[$NODESETID_Field]}:${v[$REMOTE_DEV_NAME_Field]}"
+            print -- "$fsFullName ${v[$DEV_NAME_Field]}" >> $mountCheckList
+            checkForErrors "writing to file $mountCheckList" $?
+
+            printLine=false
+            ;;
+
+          show )
+            :  # There is nothing to do for now.
+            ;;
+
+          *) checkForErrors "unexpected action $action" 1
+            ;;
+
+        esac  # end of case $action in
+      fi  # end of if [[ ${v[$NODESETID_Field]} = $remoteClusterName ]]
+      ;;
+
+    $SG_ETCFS )
+      if [[ ${v[$NODESETID_Field]} != $HOME_CLUSTER &&
+            ($remoteClusterName = ${v[$NODESETID_Field]} ||
+             $remoteClusterName = "all") ]]
+      then
+        # Processing depends on the specified action:
+        case $action in
+          add )
+            corruptedSdrFileExit 146 "$sdrfsLine"
+            cleanupAndExit
+            ;;
+
+          update )
+            [[ -n $newClusterName ]] &&  \
+              v[$NODESETID_Field]=$newClusterName
+            ;;
+
+          delete )
+            printLine=false
+            ;;
+
+          show )
+            :  # There is nothing to do for now.
+            ;;
+
+          *) checkForErrors "unexpected action $action" 1
+            ;;
+
+        esac  # end of case $action in
+      fi  # end of if [[ ${v[$NODESETID_Field]} = $remoteClusterName ]]
+      ;;
+
+    $SG_MOUNT )
+      if [[ ${v[$NODESETID_Field]} != $HOME_CLUSTER &&
+            ($remoteClusterName = ${v[$NODESETID_Field]} ||
+             $remoteClusterName = "all") ]]
+      then
+        # Processing depends on the specified action:
+        case $action in
+          add )
+            corruptedSdrFileExit 147 "$sdrfsLine"
+            cleanupAndExit
+            ;;
+
+          update )
+            [[ -n $newClusterName ]] &&  \
+              v[$NODESETID_Field]=$newClusterName
+            ;;
+
+          delete )
+            printLine=false
+            ;;
+
+          show )
+            :  # There is nothing to do for now.
+            ;;
+
+          *) checkForErrors "unexpected action $action" 1
+            ;;
+
+        esac  # end of case $action in
+      fi  # end of if [[ ${v[$NODESETID_Field]} = $remoteClusterName ]]
+      ;;
+
+    * ) : # Pass all other lines without a change.
+      ;;
+
+  esac  # end of Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end of while read -u3 mmsdrfsFile
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+if [[ -z $clusterFound && $action != add ]]
+then
+  if [[ $remoteClusterName = all && ($action = show || $action = delete) ]]
+  then
+    # There are no remote cluster definitions.
+    printErrorMsg 262 $mmcmd
+  else
+    # The remote cluster is not defined.
+    printErrorMsg 263 $mmcmd $remoteClusterName
+  fi
+  cleanupAndExit
+fi  # end of if [[ -z $clusterFound ]]
+
+
+#########################################
+# Additional action-specific processing.
+#########################################
+
+if [[ $action = add ]]
+then
+  # Generate the needed information for the mmsdrfs file.
+
+  if [[ $contactNodesCount -eq 0 && ! -x $remoteclusternodes ]]
+  then
+    # No contact nodes were provided for the cluster.
+    printErrorMsg 177 $mmcmd $remoteClusterName
+    cleanupAndExit
+  fi
+
+  # Add the information for the remote cluster to the mmsdrfs file.
+  newLine="$remoteClusterName:$REM_CLUSTER:::$contactNodes:"
+  print -- "$newLine" >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+  # Process the -k keyfile option.
+  if [[ -n $keyfile ]]
+  then
+    # Add the key to the mmsdrfs file.
+    appendFile $remoteClusterName $verifiedKey $REM_CLUSTER_KEY $newsdrfs
+    checkForErrors  \
+       "appendFile $remoteClusterName $verifiedKey $REM_CLUSTER_KEY $newsdrfs" $?
+    refreshAuthNeeded=yes
+  fi  # end of if [[ -n $keyfile ]]
+fi  # end of if [[ $action = add ]]
+
+
+if [[ $action = update ]]
+then
+  if [[ -z $newClusterName && -z $contactNodes && -z $keyfile ]]
+  then
+    # No changes were made.
+    printErrorMsg 323 $mmcmd
+    cleanupAndExit
+  fi
+
+  # Update the cluster name if changed.
+  [[ -n $newClusterName ]] && remoteClusterName=$newClusterName
+
+  # Process the -n contactNodes option.
+  if [[ -n $contactNodes ]]
+  then
+    if [[ $contactNodes != DELETE  &&
+          $contactNodesCount -eq 0 &&
+          ! -x $remoteclusternodes ]]
+    then
+      # No contact nodes were provided for the cluster.
+      printErrorMsg 177 $mmcmd $remoteClusterName
+      cleanupAndExit
+    fi
+    propagateOptions="rereadContactNodes${remoteClusterName},${propagateOptions}"
+  fi  # end of if [[ -n $contactNodes ]]
+
+  # Process the -k keyfile option.
+  if [[ -n $keyfile ]]
+  then
+    if [[ $keyfile != DELETE ]]
+    then
+      # Add the key to the mmsdrfs file.
+      appendFile $remoteClusterName $verifiedKey $REM_CLUSTER_KEY $newsdrfs
+      checkForErrors  \
+         "appendFile $remoteClusterName $verifiedKey $REM_CLUSTER_KEY $newsdrfs" $?
+    fi  # end of if [[ $keyfile != DELETE ]]
+    refreshAuthNeeded=yes
+  fi  # end of if [[ -n $keyfile ]]
+fi  # end of if [[ $action = update ]]
+
+
+# if [[ $action = delete ]]
+# then
+#   : # Add additional processing if needed.
+# fi
+
+
+if [[ $action = show ]]
+then
+  # There is nothing more to do.
+  cleanupAndExit 0
+fi
+
+
+############################################
+# Sort the new version of the mmsdrfs file.
+############################################
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+checkForErrors "sorting $newsdrfs" $?
+
+
+############################################
+# Lock the gpfs object to prevent daemons
+# from starting during the commit phase.
+############################################
+[[ $getCredCalled = no ]] && getCred
+setRunningCommand "$mmcmd" $primaryServer
+checkForErrors setRunningCommand $?
+gpfsLocked=yes
+
+
+################################################################
+# Make sure that file systems that should not be mounted
+# are indeed not mounted.  Note that the scope of the mount
+# restriction is our own cluster only.  It is OK for the file
+# systems to be mounted elsewhere.
+################################################################
+if [[ -s $mountCheckList ]]
+then
+  exec 3<&-
+  exec 3< $mountCheckList
+  while read -u3 mountCheckLine
+  do
+    # Parse the line.
+    set -f ; set -- $mountCheckLine ; set +f
+    fsFullName=$1
+    localDevName=$2
+
+    # Keep going if this file system belongs to a cluster that
+    # already has been determined to be down or unreachable.
+    [[ $skipList = *" ${fsFullName%%:*} "* ]] && continue
+
+    $mmcommon onactive $preferredNode $nodefile $NO_FILE_COPY   \
+       $fsFullName $ourClusterName $NO_LINK $MOUNT_CHECK_ONLY ldev=$localDevName 2>$errMsg
+    rc=$?
+    if [[ $rc -eq $MM_FsMounted ]]
+    then
+      # The file system is still mounted (messages were issued by mmcommon).
+      cleanupAndExit
+    elif [[ $rc -eq $MM_FsNotFound || $rc -eq $MM_Remotefs ]]
+    then
+      # The file system was not found, so it cannot be mounted.
+      rc=0
+    elif [[ $rc -eq $MM_HostDown ||
+            $rc -eq $MM_TimedOut ||
+            $rc -eq $MM_UnknownCluster ||
+            $rc -eq $MM_SecurityCfg ||
+            $rc -eq $MM_AuthorizationFailed ]]
+    then
+      # We failed to connect to the remote cluster.
+      rc=0
+      if [[ $remoteClusterName = all ]]
+      then
+        # We are dealing with more than one remote cluster.
+        # Do not try to contact this cluster any more.
+        # Note:  The trailing blank is important!
+        skipList="${skipList} ${fsFullName%%:*} "
+      else
+        # There is only one remote cluster, and we could not connect to it.
+        # Exit the loop since none of its file systems can be mounted.
+        break
+      fi
+    elif [[ $rc -eq $MM_DaemonDown ]]
+    then
+      # GPFS is down on all nodes in the local cluster.
+      # There are no mounted file systems, so exit the loop.
+      rc=0
+      break
+    elif [[ $rc -eq $MM_ConnectionReset ]]
+    then
+      # An internode connection was reset.
+      printErrorMsg 257 $mmcmd
+      cleanupAndExit
+    elif [[ $rc -ne 0 ]]
+    then
+      if [[ -s $errMsg ]]
+      then
+        # Show the error messages from the daemon.
+        $cat $errMsg 1>&2
+      else
+        # The mount check failed and there were no messages from the daemon.
+        printErrorMsg 104 $mmcmd "mmcommon onactive $fsFullName MOUNT_CHECK"
+      fi
+      # The command was unable to determine whether the file system is mounted.
+      printErrorMsg 564 $mmcmd $localDevName
+      cleanupAndExit
+    fi  # end of if [[ $rc -eq $MM_FsMounted ]]
+    $rm -f $errMsg
+  done  # end of while read -u3 mountCheckLine
+  $rm -f $errMsg
+fi  # end of if [[ -s $mountCheckList ]]
+
+
+############################################################
+# Replace the mmsdrfs file in the sdr with the new version.
+############################################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # The commit step failed; we cannot replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+##################
+# Unlock the sdr.
+##################
+freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+# Issue "command was successful" message.
+printErrorMsg 272 $mmcmd
+
+
+#####################################################
+# Asynchronously propagate the changes to all nodes.
+#####################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber $propagateOptions
+
+if [[ -n $refreshAuthNeeded ]]
+then
+  # Notify all currently-running nodes to refresh their key files.
+  $mmcommon onactive $preferredNode $nodefile    \
+    $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+    tsdsh $mmremote refreshAuth >$tmpfile 2>&1
+fi
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmremotefs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmremotefs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmremotefs	(revision 16)
@@ -0,0 +1,1125 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2004,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)46 1.55.1.2 src/avs/fs/mmfs/ts/admin/mmremotefs.sh, mmfs, avs_rgpfs24, rgpfs24s012a 5/2/07 15:29:30
+###############################################################################
+#
+#  Usage:
+#
+#    mmremotefs add device -f remoteDevice -C remoteClusterName
+#                     -T mountPoint [-o mountOptions] [-A yes|no|automount]
+#
+#    mmremotefs update device [-f remoteDevice] [-C remoteClusterName]
+#                    [-T mountPoint] [-o mountOptions] [-A yes|no|automount]
+#
+#    mmremotefs delete {device | all | -C remoteClusterName}
+#
+#    mmremotefs show   [device | all | -C remoteClusterName]
+#
+#  where
+#
+#    device        is the local name for the remote file system.
+#                  This name must be unique within the local cluster.
+#                  The actual name of the file system within its home cluster
+#                  may or may not be the same.  See the -f parameter.
+#
+#    -f remoteDevice   is the actual device name for the remote file system
+#                      within the file system's home cluster.
+#
+#    -C remoteClusterName   is the fully-qualified name for the remote
+#                           cluster that owns the file system.
+#
+#    -T mountPoint     is the mount point directory of the file system.
+#
+#    -o mountOptions   is a comma-separated list of mount options.
+#                      The default set of options is:  rw,nomtime,atime
+#
+#    -A yes|no|automount  controls the automount option.  If yes is specified,
+#                      the file system is mounted automatically when the GPFS
+#                      daemon is started.  If no is specified, the file system
+#                      can be mounted only with an explicit mount command.
+#                      If automount is specified, the mounting of the file
+#                      system is controlled by the system automount daemon.
+#                      The default setting is no.
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmremotefs.sh"
+[[ -n $DEBUG || -n $DEBUGmmremotefs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+mountCheckList=${tmpDir}mountCheckList.${mmcmd}.$$
+
+LOCAL_FILES=" $mountCheckList "
+
+
+# Local variables
+usageMsg=385
+contactNodesCount=0
+
+
+# Local functions
+
+
+###########################################################################
+#
+# Function:  Process the specified mount options string.
+#            Provide default values for missing options.
+#
+# Input:     $1 - A comma-separated list of mount options.
+#
+# Output:    Colon-separated string containing the fields:
+#              rwOption:mtimeOption:atimeOption:quotaOptions:otherOptions:
+#
+# Returns:   0 - success
+#            1 - error encountered
+#
+###########################################################################
+function parseMountOptions   # <optionsString>
+{
+  typeset sourceFile="mmremotefs.sh"
+  [[ -n $DEBUG || -n $DEBUGparseMountOptions ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset optionsString=$1
+
+  typeset rc=0
+  typeset rwOption="rw"
+  typeset mtimeOption=""
+  typeset atimeOption=""
+  typeset quotaOptions=""
+  typeset otherOptions=""
+
+  # Clear the string if DELETE or DEFAULT is specified.
+  [[ $optionsString = DEFAULT || $optionsString = DELETE ]] &&  \
+    optionsString=""
+
+  # Parse the options string looking for certain options.
+  # All other options are simply passed through.
+  IFS=","
+  for option in $optionsString
+  do
+    case $option in
+
+      rw | ro | rs )
+        [[ $option = rs ]] && option=ro
+        rwOption=$option
+        ;;
+
+      atime* | noatime )
+        if [[ $option = atime || $option = "atime=1" || $option = "atime=yes" ]]
+        then
+          atimeOption=atime
+        elif [[ $option = noatime || $option = "atime=0" || $option = "atime=no" ]]
+        then
+          atimeOption=noatime
+        else
+          print -u2 "$mmcmd:  Invalid mount option specified: $option."
+          return 1
+        fi
+        ;;
+
+      mtime* | nomtime )
+        if [[ $option = mtime || $option = "mtime=1" || $option = "mtime=yes" ]]
+        then
+          mtimeOption=mtime
+        elif [[ $option = nomtime || $option = "mtime=0" || $option = "mtime=no" ]]
+        then
+          mtimeOption=nomtime
+        else
+          print -u2 "$mmcmd:  Invalid mount option specified: $option."
+          return 1
+        fi
+        ;;
+
+      syncnfs* | nosyncnfs )
+        if [[ $option = syncnfs || $option = "syncnfs=1" || $option = "syncnfs=yes" ]]
+        then
+          otherOptions="${otherOptions},syncnfs"
+        elif [[ $option = nosyncnfs || $option = "syncnfs=0" || $option = "syncnfs=no" ]]
+        then
+          otherOptions="${otherOptions},nosyncnfs"
+        else
+          print -u2 "$mmcmd:  Invalid mount option specified: $option."
+          return 1
+        fi
+        ;;
+
+      *quota* )
+        :       # Do nothing; quotas should be controlled with mmchfs -Q.
+        ;;
+
+      *rootSquash* )
+        :       # Do nothing; root squash is controlled with mmauth grant.
+        ;;
+
+      * )
+        otherOptions="${otherOptions},$option"
+        ;;
+
+    esac  # end of case $option in
+  done  # end of for option in $optionsString do
+  IFS="$IFS_sv"
+
+  otherOptions="${otherOptions##+(,)}"   # Strip leading  commas, if any.
+  otherOptions="${otherOptions%%+(,)}"   # Strip trailing commas, if any.
+
+  # Put out the results and return.
+  print -- "$rwOption:$mtimeOption:$atimeOption:$quotaOptions:$otherOptions"
+
+  $mmTRACE_EXIT "rc=$rc"
+  return $rc
+
+}  #------ end of function parseMountOptions -----------------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+action=$arg1
+
+[[ -z $action ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# Allow "ls" to be used in place of "show".
+[[ $action = ls ]] && action=show
+
+# Process the positional parameters.
+case $action in
+  add )
+    [[ $argc -lt 5 ]] && syntaxError "missingArgs" $usageMsg
+    device=$arg2
+    ;;
+
+  update )
+    [[ $argc -lt 3 ]] && syntaxError "missingArgs" $usageMsg
+    device=$arg2
+    ;;
+
+  delete )
+    [[ $argc -lt 2 ]] && syntaxError "missingArgs" $usageMsg
+    if [[ $arg2 = "-C"* ]]
+    then
+      remoteClusterName=${arg2#-C}
+      if [[ -z $remoteClusterName ]]
+      then
+        remoteClusterName=$arg3
+        [[ -n $arg4 ]] && syntaxError "extraArg" $usageMsg $arg4
+      else
+        [[ -n $arg3 ]] && syntaxError "extraArg" $usageMsg $arg3
+      fi
+      [[ -z $remoteClusterName ]] && syntaxError "missingValue" $usageMsg "-C"
+    else
+      device=$arg2
+      [[ -n $arg3 ]] && syntaxError "extraArg" $usageMsg $arg3
+    fi
+    ;;
+
+  show )
+    if [[ -z $arg2 ]]
+    then
+      device=all
+    elif [[ $arg2 = "-C"* ]]
+    then
+      remoteClusterName=${arg2#-C}
+      if [[ -z $remoteClusterName ]]
+      then
+        remoteClusterName=$arg3
+        [[ -n $arg4 ]] && syntaxError "extraArg" $usageMsg $arg4
+      else
+        [[ -n $arg3 ]] && syntaxError "extraArg" $usageMsg $arg3
+      fi
+      [[ -z $remoteClusterName ]] && syntaxError "missingValue" $usageMsg "-C"
+    else
+      device=$arg2
+      [[ -n $arg3 ]] && syntaxError "extraArg" $usageMsg $arg3
+    fi
+    ;;
+
+  *) # Invalid action specified.
+    syntaxError "keyword" $usageMsg $action
+    ;;
+esac
+
+
+# Verify the device name.
+deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+fqDeviceName="/dev/$deviceName"    # fully-qualified name (with /dev/ prefix)
+if [[ $deviceName = /* ]]
+then
+  printErrorMsg 169 $mmcmd $device
+  cleanupAndExit
+elif [[ $deviceName = */* ]]
+then
+  printErrorMsg 170 $mmcmd $device
+  cleanupAndExit
+else
+  checkName deviceName 255 "$deviceName"
+  [[ $? -ne 0 ]] && cleanupAndExit
+fi
+
+# If action is "add" or "update", there are more options to process.
+if [[ $action = add || $action = update ]]
+then
+  shift 2    # Move past the fs name in the parameter list.
+
+  # Process the individual arguments and the values associated with them.
+  while getopts :A:C:f:k:n:o:T: OPT
+  do
+    case $OPT in
+
+      A) [[ -n $Aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Aflag="-$OPT"; Aarg=$OPTARG;
+         [[ $Aarg != yes && $Aarg != no && $Aarg != automount ]] &&  \
+           syntaxError "invalidOption" $usageMsg "-$OPT $OPTARG"
+         if [[ $Aarg = yes ]]
+         then
+           Aarg=mmfs
+         elif [[ $Aarg = no ]]
+         then
+           Aarg=false
+         else
+           :  # It must be "automount".
+         fi
+         ;;
+
+      C) [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Cflag="-$OPT"; Carg=$OPTARG;
+         ;;
+
+      f) [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         fflag="-$OPT"; farg=$OPTARG;
+         ;;
+
+      o) [[ -n $oflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         oflag="-$OPT"; oarg=$OPTARG;
+         [[ -z $oarg ]] && oarg=DEFAULT
+         ;;
+
+      T) [[ -n $Tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         Tflag="-$OPT"; Targ=$OPTARG;
+         checkName pathName 1023 "$Targ"
+         [[ $? -ne 0 ]] && cleanupAndExit
+         # Ensure the pathname starts with a slash.
+         [[ $Targ = ${Targ#/} ]] &&  \
+           syntaxError "absolutePath" $noUsageMsg $Targ
+         ;;
+
+      +[ACfknoT)  # Invalid option.
+         syntaxError "invalidOption" $usageMsg $OPT
+         ;;
+
+      :) # Missing argument.
+         syntaxError "missingValue" $usageMsg $OPTARG
+         ;;
+
+      *) # Invalid option.
+         syntaxError "invalidOption" $usageMsg $OPTARG
+         ;;
+    esac
+  done
+
+  shift OPTIND-1
+  [[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+  # Verify input parameters and assign default values as needed.
+  if [[ $action = add ]]
+  then
+    [[ -z $Carg ]] && syntaxError "missingArgs" $usageMsg
+    [[ -z $Targ ]] && syntaxError "missingArgs" $usageMsg
+    [[ -z $farg ]] && syntaxError "missingArgs" $usageMsg
+    [[ -z $Aarg ]] && Aarg=false
+    if [[ $device = all ]]
+    then
+      # The device name cannot be "all".
+      printErrorMsg 196 $mmcmd
+      cleanupAndExit
+    fi
+  else  # action = update
+    if [[ -z $Aarg && -z $Carg && -z $farg && -z $oarg && -z $Targ ]]
+    then
+      # No changes made.
+      printErrorMsg 323 $mmcmd
+      cleanupAndExit
+    fi
+  fi  # end of if [[ $action = add ]]
+
+  # Initialize local variables.
+  remoteDevice=${farg##+(/)dev+(/)}  # name stripped of /dev/ prefix
+  if [[ $remoteDevice = /* ]]
+  then
+    printErrorMsg 169 $mmcmd "$farg"
+    cleanupAndExit
+  elif [[ $remoteDevice = */* ]]
+  then
+    printErrorMsg 170 $mmcmd "$farg"
+    cleanupAndExit
+  else
+    checkName deviceName 255 "$remoteDevice"
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi
+  remoteClusterName=$Carg
+  mountPoint=$Targ
+  automountValue=$Aarg
+  mountOptions=$oarg
+
+  # Determine the values for the /etc/filesystems stanza lines.
+  sgVFS_Line_Value="mmfs"
+  sgTYPE_Line_Value="mmfs"
+  sgNODENAME_Line_Value="-"
+  sgACCOUNT_Line_Value="false"
+  sgMOUNT_Line_Value=$automountValue
+
+  # Parse the mount options.
+  parseMountOptionsOutput=$(parseMountOptions $mountOptions)
+  IFS=":"
+  set -f ; set -- $parseMountOptionsOutput ; set +f
+  sgRW_OPT_Value=$1
+  sgMTIME_OPT_Value=$2
+  sgATIME_OPT_Value=$3
+  sgQUOTA_OPT_Value=$4
+  sgOTHER_OPT_Value=$5
+  IFS="$IFS_sv"
+
+  # The mount point cannot be the same as the device name.
+  if [[ $fqDeviceName = $mountPoint ]]
+  then
+    printErrorMsg 305 $mmcmd $mountPoint
+    cleanupAndExit
+  fi
+fi  # end of if [[ $action = add || $action = update ]]
+
+
+#####################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#####################################################################
+if [[ $action = show ]]
+then
+  trap pretrap2 HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit nolock)
+  rc=$?
+else
+  trap pretrap HUP INT QUIT KILL
+  gpfsInitOutput=$(gpfsInit $lockId)
+  rc=$?
+fi
+setGlobalVar $rc $gpfsInitOutput
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+#############################################################################
+#
+# Go through the mmsdrfs file.
+#
+# If action is "add", extract needed information to ensure that we can
+# safely add the new remote file system.
+#
+# If action is "update", make the needed changes to the mmsdrfs file.
+#
+# If action is "delete", remove the appropriate lines from the mmsdrfs file.
+#
+# If action is "show", extract and display the relevant information.
+#
+#############################################################################
+$rm -f $newsdrfs $nodefile $mountCheckList
+deleteThisFileSystem=no
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"   # Restore the default IFS settings.
+  printLine=true  # Assume the line will be printed.
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )
+      # Increment the generation number.
+      newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+      v[$SDRFS_GENNUM_Field]=$newGenNumber
+
+      ourClusterName=${v[$CLUSTER_NAME_Field]}
+      ;;
+
+    $MEMBER_NODE )
+      # Add the reliable node name to nodefile.
+      print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+      checkForErrors "writing to file $nodefile" $?
+
+      # If this is the line for the node that is executing
+      # this command, set the preferredNode variable.
+      [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+        preferredNode=${v[$REL_HOSTNAME_Field]}
+      ;;
+
+    $SG_HEADR )
+      # Processing depends on the specified action:
+      case $action in
+        add )
+          # Make sure that the file system that we want to create
+          # does not already exist.
+          if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+          then
+            printErrorMsg 107 $mmcmd $device
+            cleanupAndExit
+          fi
+          if [[ ${v[$REMOTE_DEV_NAME_Field]} = $remoteDevice &&
+                 ${v[$NODESETID_Field]} = $remoteClusterName ]]
+          then
+            # The file system on the remote cluster is already defined.
+            printErrorMsg 317 $mmcmd $remoteDevice $remoteClusterName
+            cleanupAndExit
+          fi
+
+          # Make a list of the used minor numbers.
+          existingMinorNumbers="$existingMinorNumbers ${v[$DEV_MINOR_Field]}"
+          ;;
+
+        update )
+          if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+          then
+            # We are making changes to this remote file system.
+            fsFound=yes
+
+            # Generate the fully-qualified name for the file system.
+            fsFullName="${v[$NODESETID_Field]}:${v[$REMOTE_DEV_NAME_Field]}"
+
+            # Verify that this is indeed a remote file system.
+            if [[ ${v[$FS_TYPE_Field]} != $remotefs ]]
+            then
+              # The file system is not a remote file system known to GPFS.
+              printErrorMsg 252 $mmcmd $device
+              cleanupAndExit
+            fi
+
+            if [[ -n $remoteDevice ]]
+            then
+              # We are changing the actual name of the file system.
+              v[$REMOTE_DEV_NAME_Field]=$remoteDevice
+              fsMustNotBeMounted=yes
+            fi
+
+            if [[ -n $remoteClusterName ]]
+            then
+              # We are changing the home cluster name.
+              v[$NODESETID_Field]=$remoteClusterName
+              fsMustNotBeMounted=yes
+            fi
+          fi  # end of if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+          ;;
+
+        delete )
+          if [[ (${v[$DEV_NAME_Field]} = $deviceName || $device = all ||
+                 ${v[$NODESETID_Field]} = $remoteClusterName) &&
+                 ${v[$FS_TYPE_Field]} = $remotefs ]]
+          then
+            # This file system is going away.
+            deleteThisFileSystem=yes
+            fsFound=yes
+
+            # Generate the fully-qualified name for the file system.
+            # Put it, together with the local device name, on the list
+            # of file systems that should not be mounted.
+            fsFullName="${v[$NODESETID_Field]}:${v[$REMOTE_DEV_NAME_Field]}"
+            print -- "$fsFullName $deviceName" >> $mountCheckList
+            checkForErrors "writing to file $mountCheckList" $?
+
+          else
+            # This file system will remain in place.
+            deleteThisFileSystem=""
+            if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+            then
+              # The file system is not a remote file system known to GPFS.
+              printErrorMsg 252 $mmcmd $device
+              cleanupAndExit
+            fi
+          fi  # end of if [[ (${v[$DEV_NAME_Field]} = $deviceName ... ]]
+
+          [[ -n $deleteThisFileSystem ]] &&  \
+            printLine=false
+          ;;
+
+        show )
+          if [[ (${v[$DEV_NAME_Field]}  = $deviceName || $device = all ||
+                 ${v[$NODESETID_Field]} = $remoteClusterName) &&
+                 ${v[$FS_TYPE_Field]} = $remotefs ]]
+          then
+            fsFound=yes
+            displayThisFileSystem=yes
+            if [[ -z $headerOut ]]
+            then
+              # Output the header line.
+              header=$(printInfoMsg 490)
+              printf "%s\n" "$header"
+              headerOut=yes
+            fi
+
+            # Start outputting the individual fields.
+            printf "%-11s %-12s %-22s" "${v[$DEV_NAME_Field]}"  \
+                   "${v[$REMOTE_DEV_NAME_Field]}" "${v[$NODESETID_Field]}"
+          else
+            displayThisFileSystem=""
+            if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+            then
+              # The file system is not a remote file system known to GPFS.
+              printErrorMsg 252 $mmcmd $device
+              cleanupAndExit
+            fi
+          fi  # end of if [[ (${v[$DEV_NAME_Field]}  = $deviceName ...
+          ;;
+
+        *) checkForErrors "unexpected action $action" 1
+          ;;
+      esac  # end case $action in
+      ;;
+
+    $SG_ETCFS )
+      # Processing depends on the specified action:
+      case $action in
+        add )
+          # Make sure that the new mount point is not already used
+          # by some other file system in the nodeset.
+          if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line &&
+                ${v[$ETCFS_TEXT_Field]}  = $mountPoint ]]
+          then
+            printErrorMsg 107 $mmcmd $mountPoint
+            cleanupAndExit
+          fi
+
+          # See if any of the existing file systems requires
+          # the system automounter.
+          if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_Line &&
+                ${v[$ETCFS_TEXT_Field]}  = *automount* ]]
+          then
+            automountMounts=yes
+          fi
+          ;;
+
+        update )
+          if [[ -n $mountPoint ]]
+          then
+            # We are changing the mount point.
+            if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line ]]
+            then
+              # This is a mount point line for some file system.
+              # If this is the mount point for our file system,
+              # set it to the new value.  Otherwise, add it to
+              # the list of existing mount points.
+              if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+              then
+                oldMountPoint=${v[$ETCFS_TEXT_Field]}
+                v[$ETCFS_TEXT_Field]=$mountPoint
+                fsMustNotBeMounted=yes
+              else
+                existingMountPoints="$existingMountPoints ${v[$ETCFS_TEXT_Field]}"
+              fi
+            fi
+          fi  # end of if [[ -n $mountPoint ]]
+
+          if [[ -n $automountValue ]]
+          then
+            # We are changing the automount option.
+            if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_Line ]]
+            then
+              # This is a mount line for some file system, i.e.,
+              # the ' mount = ... ' line in etc/filesystems.
+
+              # See if any file system requires the system automounter.
+              [[ ${v[$ETCFS_TEXT_Field]}  = *automount* ]] &&  \
+                automountMounts=yes
+
+              # If this is the mount line for our file system,
+              # set the new value for the mount option.
+              if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+              then
+                # If switching to or from automount,
+                # the file system must be unmounted.
+                [[ $automountValue = automount ||
+                   ${v[$ETCFS_TEXT_Field]} = *automount* ]] &&  \
+                  fsMustNotBeMounted=yes
+
+                # Set the new value for the mount option.
+                v[$ETCFS_TEXT_Field]="$MOUNT_Line_Prefix$automountValue"
+              fi  # end of if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+
+            fi  # end of if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_Line ]]
+          fi  # end of if [[ -n $automountValue ]]
+
+          if [[ -n $remoteClusterName && ${v[$DEV_NAME_Field]} = $deviceName ]]
+          then
+            # We are changing the home cluster name.
+            v[$NODESETID_Field]=$remoteClusterName
+          fi
+          ;;
+
+        delete )
+          [[ -n $deleteThisFileSystem ]] &&  \
+            printLine=false
+          ;;
+
+        show )
+          if [[ -n $displayThisFileSystem ]]
+          then
+            # Output the mount point.
+            [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line ]] &&  \
+              printf " %-20s" "${v[$ETCFS_TEXT_Field]}"
+
+            # Determine the automount value.  It will be displayed last.
+            if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_Line ]]
+            then
+              automountSetting=${v[$ETCFS_TEXT_Field]#$MOUNT_Line_Prefix}
+              if [[ $automountSetting = mmfs ]]
+              then
+                automountSetting=yes
+              elif [[ $automountSetting = false ]]
+              then
+                automountSetting=no
+              else
+                :  # Leave the value as is.
+              fi
+            fi  # end of if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_Line ]]
+          fi  # end of if [[ -n $displayThisFileSystem ]]
+          ;;
+
+        *) checkForErrors "unexpected action $action" 1
+          ;;
+
+      esac  # end case $action in
+      ;;
+
+    $SG_MOUNT )
+      # Processing depends on the specified action:
+      case $action in
+        add )
+          :  # There is nothing to do.
+          ;;
+
+        update )
+          if [[ -n $mountOptions && ${v[$DEV_NAME_Field]} = $deviceName ]]
+          then
+            # We are changing the mount options for this remote file system.
+            v[$RW_OPT_Field]=$sgRW_OPT_Value
+            v[$MTIME_OPT_Field]=$sgMTIME_OPT_Value
+            v[$ATIME_OPT_Field]=$sgATIME_OPT_Value
+            v[$QUOTA_OPT_Field]=$sgQUOTA_OPT_Value
+            v[$OTHER_OPT_Field]=$sgOTHER_OPT_Value
+          fi
+
+          if [[ -n $remoteClusterName && ${v[$DEV_NAME_Field]} = $deviceName ]]
+          then
+            # We are changing the home cluster name.
+            v[$NODESETID_Field]=$remoteClusterName
+          fi
+          ;;
+
+        delete )
+          [[ -n $deleteThisFileSystem ]] &&  \
+            printLine=false
+          ;;
+
+        show )
+          if [[ -n $displayThisFileSystem ]]
+          then
+            # Generate the mount options string.
+            optionsString="${v[$RW_OPT_Field]}"
+            [[ -n ${v[$MTIME_OPT_Field]} ]] &&  \
+              optionsString="${optionsString},${v[$MTIME_OPT_Field]}"
+            [[ -n ${v[$ATIME_OPT_Field]} ]] &&  \
+              optionsString="${optionsString},${v[$ATIME_OPT_Field]}"
+            [[ -n ${v[$OTHER_OPT_Field]} ]] &&  \
+              optionsString="${optionsString},${v[$OTHER_OPT_Field]}"
+            [[ -n ${v[$QUOTA_OPT_Field]} ]] &&  \
+              optionsString="${optionsString},quota=${v[$QUOTA_OPT_Field]}"
+
+            # Put out the last two values and finish the line.
+            printf " %-16s %s\n" "$optionsString" "$automountSetting"
+          fi  # end of if [[ -n $displayThisFileSystem ]]
+          ;;
+
+        *) checkForErrors "unexpected action $action" 1
+          ;;
+
+      esac  # end case $action in
+      ;;
+
+    $REM_CLUSTER )
+      [[ ${v[$NODESETID_Field]} = $remoteClusterName ]] &&  \
+        remoteClusterFound=yes
+      ;;
+
+    * )  # Pass all other lines without a change.
+      ;;
+
+  esac  # end of Change some of the fields
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 mmsdrfsFile
+
+IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+if [[ -z $fsFound && $action != add ]]
+then
+  if [[ (-z $device || $device = all) && ($action = show || $action = delete) ]]
+  then
+    # There are no remote file systems.
+    printErrorMsg 193 $mmcmd
+  else
+    # Remote file system not found.
+    printErrorMsg 194 $mmcmd $device
+  fi
+  cleanupAndExit
+fi  # end of if [[ -z $clusterFound ]]
+
+
+#########################################
+# Additional action-specific processing.
+#########################################
+
+###############################
+# If action is "show", return.
+###############################
+if [[ $action = show ]]
+then
+  # Return; we are done.
+  cleanupAndExit $rc
+fi  # end of if [[ $action = show ]]
+
+
+#######################################################
+# If action is "update", perform final error checking.
+#######################################################
+if [[ $action = update ]]
+then
+  # If the mount point for a file system is being changed,
+  # ensure that the new mount point is not already in use.
+  if [[ -n $mountPoint ]]
+  then
+    for mpnt in $existingMountPoints
+    do
+      if [[ $mpnt = $mountPoint ]]
+      then
+        # There is already an existing filesystem using this mountpoint.
+        printErrorMsg 107 $mmcmd $mountPoint
+        cleanupAndExit
+      fi
+    done
+  fi  # end of if [[ -n $mountPoint ]]
+
+  # If the home cluster for a file system is being changed,
+  # ensure that the new cluster is already defined.
+  if [[ -n $remoteClusterName && -z $remoteClusterFound ]]
+  then
+    # The remote cluster is not defined.
+    printErrorMsg 263 $mmcmd $remoteClusterName
+    cleanupAndExit
+  fi
+
+  # If appropriate, put the file system on the list
+  # of file systems that should not be mounted.
+  if [[ -n $fsMustNotBeMounted ]]
+  then
+    print -- "$fsFullName $deviceName" >> $mountCheckList
+    checkForErrors "writing to file $mountCheckList" $?
+  fi
+fi  # end of if [[ $action = update ]]
+
+
+#############################################################################
+# If action is "add",  generate the needed information for the mmsdrfs file.
+#############################################################################
+if [[ $action = add ]]
+then
+  # Ensure the remote cluster that we need is already defined.
+  if [[ -z $remoteClusterFound ]]
+  then
+    # The remote cluster was not found.
+    printErrorMsg 188 $mmcmd $remoteClusterName
+    cleanupAndExit
+  fi  # end of if [[ -z $remoteClusterFound ]]
+
+  # Determine what the major number should be.
+  if [[ $osName = Linux ]]
+  then
+    checkVfsNumber
+    devMajor=$currentMajorNumber
+  fi
+  [[ -z $devMajor ]] && devMajor=$defaultMajorNumber
+
+  # Assign a minor number to the file system.
+  # Keep trying until we get a minor number that is not used by anybody.
+  rc=0
+  minor=""
+  while [[ -z $minor && $rc -eq 0 ]]
+  do
+    # Assign a minor number to the file system.
+    devMinor=$(assignDevMinor "$existingMinorNumbers")
+    rc=$?
+    if [[ $rc -eq 0 ]]
+    then
+      # Check whether the new device number is being used by somebody.
+      inuse=$($ls -lL /dev 2>/dev/null | $grep "^${fsDeviceType}.* $devMajor, *$devMinor ")
+      if [[ -z $inuse ]]
+      then
+        # The number seems to be free.
+        minor=$devMinor
+      fi
+
+      # Add the number to the list of existing minor numbers.
+      existingMinorNumbers="$existingMinorNumbers $devMinor"
+
+    fi  # end of if [[ $rc -eq 0 ]]
+  done  # end of while [[ -z $minor && $rc -eq 0 ]]
+
+  if [[ -z $minor ]]
+  then
+    print -u2 "$mmcmd:  Cannot assign a minor number for the file system."
+    cleanupAndExit
+  fi
+
+  # Build the SG-related lines for the new file system.
+  # Note: In order to preserve the tab characters in the /etc/filesystems lines,
+  #       we temporarily reset the value of the IFS variable to exclude the tab.
+  IFS=' '
+
+  newLine="$remoteClusterName:$SG_HEADR:$deviceName::$minor::$remotefs:$remoteDevice"
+  print -- "$newLine" >> $newsdrfs
+
+  newLine="$remoteClusterName:$SG_ETCFS:$deviceName:$MOUNT_POINT_Line:$mountPoint:"
+  print -- "$newLine" >> $newsdrfs
+
+  newLine="$remoteClusterName:$SG_ETCFS:$deviceName:$DEV_Line"
+  newLine="$newLine:$DEV_Line_Prefix$fqDeviceName"
+  print -- "$newLine" >> $newsdrfs
+
+  newLine="$remoteClusterName:$SG_ETCFS:$deviceName:$VFS_Line"
+  newLine="$newLine:$VFS_Line_Prefix$sgVFS_Line_Value"
+  print -- "$newLine" >> $newsdrfs
+
+  newLine="$remoteClusterName:$SG_ETCFS:$deviceName:$NODENAME_Line"
+  newLine="$newLine:$NODENAME_Line_Prefix$sgNODENAME_Line_Value"
+  print -- "$newLine" >> $newsdrfs
+
+  newLine="$remoteClusterName:$SG_ETCFS:$deviceName:$MOUNT_Line"
+  newLine="$newLine:$MOUNT_Line_Prefix$sgMOUNT_Line_Value"
+  print -- "$newLine" >> $newsdrfs
+
+  newLine="$remoteClusterName:$SG_ETCFS:$deviceName:$TYPE_Line"
+  newLine="$newLine:$TYPE_Line_Prefix$sgTYPE_Line_Value"
+  print -- "$newLine" >> $newsdrfs
+
+  newLine="$remoteClusterName:$SG_ETCFS:$deviceName:$ACCOUNT_Line"
+  newLine="$newLine:$ACCOUNT_Line_Prefix$sgACCOUNT_Line_Value"
+  print -- "$newLine" >> $newsdrfs
+
+  newLine="$remoteClusterName:$SG_MOUNT:$deviceName::$sgRW_OPT_Value"
+  newLine="$newLine:$sgMTIME_OPT_Value:$sgATIME_OPT_Value"
+  newLine="$newLine:$sgQUOTA_OPT_Value:$sgOTHER_OPT_Value:"
+  print -- "$newLine" >> $newsdrfs
+  checkForErrors "writing to file $newsdrfs" $?
+
+  IFS="$IFS_sv"
+
+fi  # end of if [[ $action = add ]]
+
+
+#########################################################
+# If this is the first automountable GPFS file system,
+# run the automount command on the nodes in the cluster.
+#########################################################
+if [[ $automountValue = "automount" && -z $automountMounts ]]
+then
+  # Determine the value of the automountDir parameter.
+  automountDir=$(showCfgValue automountDir)
+  [[ -z $automountDir ]] && automountDir=$defaultAutomountDir
+
+  # Run the automount command on the nodes on which GPFS is active.
+  # On nodes that do not have GPFS running right now, this will be
+  # done by the mmchecksubsys processing when the daemon is started.
+  $mmcommon onactive $preferredNode $nodefile        \
+      $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK    \
+      tsdsh $mmremote startAutomounter $automountDir >$tmpfile 2>&1
+  rc=$?
+
+  # Ignore errors but show messages from the nodes, if any.
+  if [[ $rc -ne 0 && $rc -ne $MM_DaemonDown && -s $tmpfile ]]
+  then
+    $awk '                             \
+      # Skip the lines with rc values. \
+      $2 == "rc" { next }              \
+      # Print everything else.         \
+      { print $0 }                     \
+    ' $tmpfile
+  fi  # end of if [[ -s $tmpfile ]]
+fi  # end of if [[ $automountValue = "automount" && -z $automountMounts ]]
+
+
+############################################
+# Sort the new version of the mmsdrfs file.
+############################################
+LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+checkForErrors "sorting $newsdrfs" $?
+
+
+###################################################
+# Lock the gpfs object to prevent any GPFS daemons
+# from starting during the commit phase.
+###################################################
+[[ $getCredCalled = no ]] && getCred
+setRunningCommand "$mmcmd" $primaryServer
+checkForErrors setRunningCommand $?
+gpfsLocked=yes
+
+
+################################################################
+# Make sure that file systems that should not be mounted
+# are indeed not mounted.  Note that the scope of the mount
+# restriction is our own cluster only.  It is OK for the file
+# systems to be mounted elsewhere.
+################################################################
+if [[ -s $mountCheckList ]]
+then
+  exec 3<&-
+  exec 3< $mountCheckList
+  while read -u3 mountCheckLine
+  do
+    # Parse the line.
+    set -f ; set -- $mountCheckLine ; set +f
+    fsFullName=$1
+    localDevName=$2
+
+    $mmcommon onactive $preferredNode $nodefile $NO_FILE_COPY   \
+       $fsFullName $ourClusterName $NO_LINK $MOUNT_CHECK_ONLY ldev=$localDevName 2>$errMsg
+    rc=$?
+    if [[ $rc -eq $MM_FsMounted ]]
+    then
+      # The file system is still mounted (messages were issued by mmcommon).
+      $rm -f $errMsg
+      cleanupAndExit
+    elif [[ $rc -eq $MM_FsNotFound || $rc -eq $MM_Remotefs ]]
+    then
+      # The file system was not found, so it cannot be mounted.
+      rc=0
+    elif [[ $rc -eq $MM_HostDown ||
+            $rc -eq $MM_TimedOut ||
+            $rc -eq $MM_UnknownCluster ||
+            $rc -eq $MM_SecurityCfg ||
+            $rc -eq $MM_AuthorizationFailed ]]
+    then
+      # We failed to connect to the remote cluster.
+      rc=0
+      if [[ $device != all ]]
+      then
+        # There is only one remote cluster, and we could not connect to it.
+        # Exit the loop since none of its file systems can be mounted.
+        break
+      fi
+    elif [[ $rc -eq $MM_DaemonDown ]]
+    then
+      # GPFS is down on all nodes in the local cluster.
+      # There are no mounted file systems, so exit the loop.
+      rc=0
+      break
+    elif [[ $rc -eq $MM_ConnectionReset ]]
+    then
+      # An internode connection was reset.
+      printErrorMsg 257 $mmcmd
+    elif [[ $rc -ne 0 ]]
+    then
+      if [[ -s $errMsg ]]
+      then
+        # Show the error messages from the daemon.
+        $cat $errMsg 1>&2
+      else
+        # The mount check failed and there were no messages from the daemon.
+        printErrorMsg 171 $mmcmd "mount check for $fsFullName" $rc
+      fi
+      # The command was unable to determine whether the file system is mounted.
+      printErrorMsg 564 $mmcmd $localDevName
+      cleanupAndExit
+    fi  # end of if [[ $rc -eq $MM_FsMounted ]]
+    $rm -f $errMsg
+  done  # end of while read -u3 mountCheckLine
+  $rm -f $errMsg
+fi  # end of if [[ -s $mountCheckList ]]
+
+
+############################################################
+# Replace the mmsdrfs file in the sdr with the new version.
+############################################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges  \
+   $nsId $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # The commit step failed; we cannot replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+#############################################################
+# Unlock the sdr.
+#############################################################
+freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+#########################################################################
+# Make the new file system visible to the nodes.  This includes adding
+# a stanza to /etc/filesystems and creating the mount point directory.
+# If the mount point changed, remove the old mount point.
+# This process is asynchronous.
+#########################################################################
+[[ -n $oldMountPoint && $mountPoint != $oldMountPoint ]] &&  \
+  propagateOptions="rmdir$oldMountPoint"
+
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber $propagateOptions
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrepquota
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrepquota	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrepquota	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsrepquota
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrestorefs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrestorefs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrestorefs	(revision 16)
@@ -0,0 +1,129 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2001,2004 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)73 1.13 src/avs/fs/mmfs/ts/admin/mmrestorefs.sh, mmfs, avs_rgpfs24, rgpfs240610b 11/15/04 02:35:50
+#######################################################################
+#
+#  Usage:  mmrestorefs Device Directory
+#
+#######################################################################
+
+# Include global declarations and service routines
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmrestorefs.sh"
+[[ -n $DEBUG || -n $DEBUGmmrestorefs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=419
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+argList=$@       # Save the remainder of the argument list.
+
+
+#####################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs is up-to-date.  There is no need to lock mmsdrfs file.
+#####################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+
+##########################################################
+# If the cluster to which this node belongs is the same
+# as the cluster in which the file system resides,
+# invoke the command directly.
+##########################################################
+if [[ $nsId = $fsHomeCluster ]]
+then
+  ${mmcmdDir}/${links}/mmrestorefs $fqDeviceName $argList 2>$errMsg
+  rc=$(remapRC $?)
+
+  # If the command completed successfully, or if there is an
+  # unacceptable error, display any error messages and get out.
+  if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+  then
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    if [[ $rc -eq $MM_ConnectionReset ]]
+    then
+      # An internode connection was reset.
+      printErrorMsg 257 $mmcmd
+    fi
+    cleanupAndExit $rc
+  fi
+fi
+$rm -f $errMsg
+
+
+############################################################################
+# If the local daemon is not available, send the command to an active node.
+############################################################################
+
+# Create a file with the reliable names that form the
+# cluster to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmrestorefs $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrestripefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrestripefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrestripefile	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/tsrestripefile
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrestripefs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrestripefs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrestripefs	(revision 16)
@@ -0,0 +1,262 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)87 1.33.1.2 src/avs/fs/mmfs/ts/admin/mmrestripefs.sh, mmfs, avs_rgpfs24, rgpfs24s008a 11/20/06 19:31:37
+###########################################################################
+#
+# Usage:
+#
+# mmrestripefs Device {-m | -r | -b | -p | -R} [-P PoolName]
+#              [-N {all | mount | Node[,Node...] | NodeFile | NodeClass}]
+#
+###########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmrestripefs.sh"
+[[ -n $DEBUG || -n $DEBUGmmrestripefs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=302
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save the file system name (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+
+# Parse the optional parameters.
+while getopts :bmrRN:pP: OPT
+do
+   case $OPT in
+      b) # Restripe all files.
+         [[ -n $bflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         [[ -n $mflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-b" "-m"
+         [[ -n $pflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-b" "-p"
+         [[ -n $rflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-b" "-r"
+         [[ -n $Rflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg "-b" "-R"
+         bflag=yes
+         argList="$argList -$OPT "
+         ;;
+
+      m) # Migrate critical data.
+         [[ -n $mflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         [[ -n $bflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-b" "-m"
+         [[ -n $pflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-m" "-p"
+         [[ -n $rflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-m" "-r"
+         [[ -n $Rflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg "-m" "-R"
+         mflag=yes
+         argList="$argList -$OPT "
+         ;;
+
+      p) # Restore storage pool placement.
+         [[ -n $pflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         [[ -n $bflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-b" "-p"
+         [[ -n $mflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-m" "-p"
+         [[ -n $rflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-p" "-r"
+         [[ -n $Rflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg "-p" "-R"
+         pflag=yes
+         argList="$argList -$OPT "
+         ;;
+
+      r) # Restore replication.
+         [[ -n $rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         [[ -n $mflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-m" "-r"
+         [[ -n $bflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-b" "-r"
+         [[ -n $pflag ]] &&  \
+           syntaxError "invalidCombination"  $usageMsg "-p" "-r"
+         [[ -n $Rflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg "-R" "-r"
+         rflag=yes
+         argList="$argList -$OPT "
+         ;;
+
+      R) # Restore replication to system defaults.
+         [[ -n $Rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         [[ -n $mflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg "-m" "-R"
+         [[ -n $bflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg "-b" "-R"
+         [[ -n $pflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg "-p" "-R"
+         [[ -n $rflag ]] &&  \
+           syntaxError "invalidCombination" $usageMsg "-r" "-R"
+         Rflag=yes
+         argList="$argList -$OPT "
+         ;;
+
+      N) # Change the state of the specified disks.
+         [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         nodeList="$OPTARG"
+         Nflag=yes
+         ;;
+
+      P) # Change the state of the specified disks.
+         [[ -n $Pflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+         poolName="$OPTARG"
+         Pflag=yes
+         argList="$argList -$OPT $OPTARG "
+         ;;
+
+      :) # missing required value after an option
+         syntaxError "missingValue" $usageMsg $OPTARG
+         ;;
+
+     +[bmrNpP]) # plus flags are not allowed
+         syntaxError "invalidOption" $usageMsg $OPT
+         ;;
+
+      *) # invalid option specified
+         syntaxError "invalidOption" $usageMsg $OPTARG
+         ;;
+   esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+[[ -z $bflag && -z $mflag && -z $rflag && -z $pflag && -z $Rflag ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+
+#####################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs is up-to-date.  There is no need to lock mmsdrfs file.
+#####################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+###################################################################
+# If a keyword or a list of nodes was specified via the -N option,
+# verify the input and add it to the argList and argListQ strings.
+###################################################################
+if [[ -n $Nflag ]]
+then
+  if [[ $nodeList = all || $nodeList = mount ]]
+  then
+    # Add the keyword ("all" or "mount") to the argList string.
+    argList="$argList -N $nodeList "
+  else
+    # Verify the node list and convert it to a file of daemon node names.
+    createVerifiedNodefile "$nodeList" $DAEMON_NODENAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+
+    # Convert the output data from a file to a comma-separated list.
+    newNodeList=$(print -- $(cat $nodefile) | $sed 's/ /,/g')
+
+    # Add the verified node list to the argList string.
+    argList="$argList -N $newNodeList "
+  fi  # end of if [[ $nodeList = all || $nodeList = mount ]]
+fi  # end of if [[ -n $Nflag ]]
+
+
+#######################################################################
+# If the cluster to which this node belongs is the same as the cluster
+# in which the file system resides, invoke the command directly.
+#######################################################################
+if [[ $nsId = $fsHomeCluster ]]
+then
+  ${mmcmdDir}/${links}/mmrestripefs $fqDeviceName $argList 2>$errMsg
+  rc=$(remapRC $?)
+
+  # If the command completed successfully, or if there is an
+  # unacceptable error, display any error messages and get out.
+  if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+  then
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    if [[ $rc -eq $MM_ConnectionReset ]]
+    then
+      # An internode connection was reset.
+      printErrorMsg 257 $mmcmd
+    fi
+    cleanupAndExit $rc
+  fi
+fi
+$rm -f $errMsg
+
+
+############################################################################
+# If the local daemon is not available, send the command to an active node.
+############################################################################
+
+# Create a file with the reliable names of the nodes
+# in the cluster to which the file system belongs.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmrestripefs $fqDeviceName "$argList"
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrpldisk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrpldisk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrpldisk	(revision 16)
@@ -0,0 +1,678 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1997,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)30 1.103.3.4 src/avs/fs/mmfs/ts/admin/mmrpldisk.sh, mmfs, avs_rgpfs24, rgpfs24s010a 2/15/07 03:27:20
+#############################################################################
+#
+# Usage:
+#   mmrpldisk Device DiskName {DiskDesc | -F DescFile} [-v {yes | no}]
+#             [-N {all | mount | Node[,Node...] | NodeFile | NodeClass}]
+#
+# where
+#   Device     is the file system device name
+#   DiskName   is the name of the disk to replace ($olddisk)
+#   DiskDesc   is a single disk descriptor
+#   -v         make sure the disk does not belong to another file system
+#   -N         parallel restripe options:
+#                all        - use all of the nodes in the cluster
+#                mount      - use only the nodes on which the fs is mounted
+#                node list  - use only the nodes in the list
+#                node file  - use only the nodes in the file
+#                node class - use only the nodes in the class
+#
+#############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmrpldisk.sh"
+[[ -n $DEBUG || -n $DEBUGmmrpldisk ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+descfile=${tmpDir}descfile.${mmcmd}.$$
+tempsdrfs=${tmpDir}tempsdrfs.${mmcmd}.$$
+
+LOCAL_FILES=" $descfile $tempsdrfs "
+
+
+# Local variables
+usageMsg=295
+
+
+# Local functions
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 3  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+
+# The second argument is always the name of the disk to be replaced.
+olddisk=$arg2
+
+if [[ $arg3 != "-F" ]]
+then
+  # If the third argument is not -F, it must be
+  # a disk descriptor for the new disk.
+  mmDiskDesc=$arg3
+  shift 3
+else
+  # -F was specified.  The fourth argument must be a file name
+  # containing a single disk descriptor for the new disk.
+  if [[ -z $arg4 ]]
+  then
+    syntaxError "missingFile" $usageMsg
+  else
+    # Verify the existence of the file and create our own copy.
+    checkUserFile $arg4 $descfile
+    [[ $? -ne 0 ]] && cleanupAndExit
+    shift 4
+  fi  # end of if [[ -z $arg4 ]]
+
+  # Get the descriptor from the file.
+  # We will get only the first non-comment and non-white
+  # space only line.  Everything else will be ignored.
+  exec 3<&-
+  exec 3< $descfile
+  while read -u3 inputLine
+  do
+    # Skip empty and comment lines.
+    [[ $inputLine = *([$BLANKchar$TABchar])   ]] && continue
+    [[ $inputLine = *([$BLANKchar$TABchar])#* ]] && continue
+
+    # Assume this line contains a descriptor.
+    if [[ -z $mmDiskDesc ]]
+    then
+      mmDiskDesc=$inputLine
+    else
+      # The descriptor file contains more than one descriptor.
+      printErrorMsg 537 $mmcmd
+      cleanupAndExit
+    fi
+  done  # end of while read -u3 inputLine
+
+  if [[ -z $mmDiskDesc ]]
+  then
+    # The descriptor file contains no descriptor.
+    printErrorMsg 538 $mmcmd
+    cleanupAndExit
+  fi
+fi  # end of if [[ $arg3 != "-F" ]]
+
+
+# Parse the optional parameters.
+while getopts :v:N:  OPT
+do
+  case $OPT in
+    v) [[ -n $vflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       if [[ $OPTARG = yes || $OPTARG = no ]]
+       then
+         vflag="-v $OPTARG"
+       else
+         syntaxError "YesNoValue" $noUsageMsg "-$OPT"
+       fi
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nodeList="$OPTARG"
+       Nflag="-N $OPTARG"
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[vN)
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+#######################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+setGlobalVar $? $gpfsInitOutput
+
+# Determine the lookup order for resolving host names.
+[[ $osName != AIX ]] && resolveOrder=$(setHostResolveOrder)
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+oddState=$5
+
+# Exit with a message if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+# Check whether some of the disks in the file system may be in an odd state.
+if [[ $oddState = yes ]]
+then
+  # Some of the disks in the file system appear to be in an odd state.
+  # Reconcile the sdrfs file with the GPFS daemon's view of the filesystem.
+  $cp $mmsdrfsFile $newsdrfs
+  reconcileSdrfsWithDaemon $deviceName $newsdrfs
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # reconcileSdrfsWithDaemon failed.
+    printErrorMsg 171 $mmcmd reconcileSdrfsWithDaemon $rc
+    # Tell the user to run mmcommon recoverfs against the file system.
+    printErrorMsg 103 $mmcmd $deviceName $deviceName
+    cleanupAndExit
+  fi
+
+  # Obtain the generation number from the version line of the new sdrfs file.
+  versionLine=$($head -1 $newsdrfs)
+  IFS=':'
+  set -f ; set -- $versionLine ; set +f
+  newGenNumber=$6
+  IFS="$IFS_sv"
+
+  # Commit the reconciled version of the sdrfs file to the server
+  # so the admin scripts and the daemon are in sync.
+  trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+  gpfsObjectInfo=$(commitChanges  \
+    $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  if [[ $? -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    # Tell the user to run mmcommon recoverfs against the filesystem.
+    printErrorMsg 190 $mmcmd $deviceName $deviceName
+    printErrorMsg 104 $mmcmd mmrpldisk
+    cleanupAndExit
+  fi
+  trap posttrap HUP INT QUIT KILL
+fi  # end of if [[ $oddState = yes ]]
+
+
+#######################################################
+# If a list of nodes was specified via the -N option,
+# convert it to a verified list of daemon node names.
+#######################################################
+if [[ -n $Nflag && $nodeList != all && $nodeList != mount ]]
+then
+  createVerifiedNodefile "$nodeList" $DAEMON_NODENAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+  # Convert the output data from a file to a comma-separated list.
+  newNodeList=$(print -- $(cat $nodefile) | $sed 's/ /,/g')
+  Nflag="-N $newNodeList"
+fi  # end of if [[ -n $Nflag && $nodeList != all && $nodeList != mount ]]
+
+
+##################################################
+# Obtain the disk name from the disk descriptor.
+##################################################
+IFS=":"
+set -f ; set -- $mmDiskDesc ; set +f
+diskName=$1
+IFS="$IFS_sv"
+
+if [[ -z $diskName ]]
+then
+  # Disk name must be specified in the disk descriptor.
+  printErrorMsg 23 $mmcmd
+  cleanupAndExit
+fi
+
+
+########################################################################
+# Create the new version of the mmsdrfs file.
+#
+# It will have a new generation number and the SG_DISKS lines
+# for the involved disks will have new values.
+#
+# Simultaneously, we will make sure that the new disk does not already
+# belong to some other file system, and we will create a list of the
+# nodes in the cluster.
+########################################################################
+$rm -f $newsdrfs $nodefile $allQuorumNodes
+IFS=":"
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+
+  IFS="$IFS_sv"    # Restore the default IFS settings.
+  printLine=true   # Assume the line will be printed.
+
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )  # This is the global header line.
+       # Increment the generation number.
+       newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+       v[$SDRFS_GENNUM_Field]=$newGenNumber
+       ;;
+
+    $MEMBER_NODE )  # This line describes a node.
+       # Add the reliable node name to nodefile.
+       print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+       checkForErrors "writing to file $nodefile" $?
+
+       # Create a list of the quorum nodes.
+       if [[ ${v[$CORE_QUORUM_Field]} = $quorumNode ]]
+       then
+         print -- "${v[$REL_HOSTNAME_Field]}" >> $allQuorumNodes
+         checkForErrors "writing to file $allQuorumNodes" $?
+       fi
+
+       # If this is the line for the node that is executing
+       # this command, set the preferredNode variable.
+       [[ ${v[$NODE_NUMBER_Field]} = $ourNodeNumber ]] &&  \
+         preferredNode=${v[$REL_HOSTNAME_Field]}
+       ;;
+
+    $SG_HEADR )  # This is the header line for some file system.
+       # Check whether the filesystem has disks that are in an "odd state".
+       if [[ -n ${v[$ODD_STATE_Field]} && ${v[$ODD_STATE_Field]} != no ]]
+       then
+         # Is this filesystem a different one than the one for which
+         # this command was invoked?
+         if [[ ${v[$DEV_NAME_Field]} != $deviceName ]]
+         then
+           # The "odd state" flag is set for a different file system
+           # than our filesystem.  Add the name of the file system to a
+           # list of filesystems to be reported to the user later.
+           fsOddStateList="${fsOddStateList} ${v[$DEV_NAME_Field]}"
+         else
+           # The "odd state" flag is set for the file system
+           # for which this command was invoked.
+           :  # Allow the command to proceed, since it may succeed.
+              # We will report any failures if it does not.
+         fi
+       else
+         # Is this filesystem the one for which this command was invoked?
+         if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+         then
+           # Set the "odd state" field in case we don't succeed.
+           # We will reset it later if tsrpldisk succeeds.
+           v[$ODD_STATE_Field]=mmrpldisk
+         fi
+       fi
+       ;;
+
+    $SG_DISKS )  # This line describes a disk.
+       # If this is the line for the new disk (the replacement disk),
+       # make sure that it is either a free disk or a replacement disk
+       # from a prior mmrpldisk that did not complete.
+       if [[ ${v[$DISK_NAME_Field]} = $diskName ]]
+       then
+         # Is the disk a free disk or a replacement disk from a
+         # prior mmrpldisk that did not complete?
+         if [[ ${v[$NODESETID_Field]} = $FREE_DISK ||
+               ( ${v[$DEV_NAME_Field]} = $device  &&
+                 ${v[$DISK_STATUS_Field]} = "replacement" ) ]]
+         then
+           # We found the intended replacement disk.
+           # Create a copy of the line in $sgdiskLine with a sequence
+           # number equal to that of the disk being replaced; this will
+           # be passed to the validateAndConvertNsdDescriptor routine.
+           # Suppress printing of the line now, since we will use the
+           # updated line produced by the validate routine.
+           v[$LINE_NUMBER_Field]=$seqNo
+           sgdiskLine=$(print_newLine)
+           printLine=false
+         else
+           # The disk already exists in another file system.
+           # Issue an error and quit.
+           printErrorMsg 265 $mmcmd $diskName ${v[$DEV_NAME_Field]}
+           cleanupAndExit
+         fi  # end of if [[ ${v[$NODESETID_Field]} = $FREE_DISK ]]
+
+       # If this is the line for the old disk (the disk being replaced),
+       # make sure that it belongs to the specified file system and
+       # change the disk status to indicate the disk should be deleted
+       # (converted to a free disk) if tsrpldisk succeeds.
+       elif [[ ${v[$DISK_NAME_Field]} = $olddisk ]]
+       then
+         if [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+         then
+           v[$EXCLUDE_Field]=$includedDisk
+           v[$DISK_STATUS_Field]="mmdel"
+           oldDiskFound=yes
+           seqNo=${v[$LINE_NUMBER_Field]}
+         else
+           # The disk being replaced is not part of the specified file system.
+           # Issue an error and quit.
+           printErrorMsg 101 $mmcmd $olddisk $device
+           cleanupAndExit
+         fi
+
+       # If this line is for some other disk in the same file system,
+       # set a flag to indicate that this is not a single disk file system.
+       elif [[ ${v[$DEV_NAME_Field]} = $deviceName ]]
+       then
+         singleDiskFileSystem=no
+
+       fi  # end of if [[ ${v[$DISK_NAME_Field]} = $diskName ]]
+       ;;
+
+    * )  # Pass all other lines without a change.
+       ;;
+
+  esac  # end of "Change some of the fields . . . "
+
+  # Build and write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"    # Restore the default IFS settings.
+
+
+if [[ -z $oldDiskFound ]]
+then
+  # The disk to be replaced was not found to belong to the file system.
+  printErrorMsg 315 $mmcmd $olddisk $device
+  cleanupAndExit
+fi
+
+if [[ -z $sgdiskLine ]]
+then
+  # We did not find the replacement disk.
+  # The disk descriptor should refer to an existing NSD.
+  printErrorMsg 415 $mmcmd "$mmDiskDesc"
+  cleanupAndExit
+fi
+
+
+##############################################################################
+# Process the descriptor for the replacement disk.
+# If all of the information is correct, the descriptor is converted into
+# the format recognized by the tsrpldisk command.  Specifying oldDiskUsage
+# will cause the validate routine to not set the hasData and hasMetadata
+# flags in the ts descriptor.  As a result, the replacement disk will inherit
+# the usage properties from the disk being replaced.  If the user specified
+# diskUsage in the mm descriptor, the oldDiskUsage parameter has no effect.
+##############################################################################
+validateDescriptorOutput=$(validateAndConvertNsdDescriptor "$mmDiskDesc"  \
+                  $sgdiskLine $deviceName $fsHomeCluster mmadd oldDiskUsage)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # If an error was found, the validate routine issued a message.
+  # We will now print the entire descriptor to help the guy some more.
+  printErrorMsg 386 $mmcmd "$mmDiskDesc"
+  cleanupAndExit
+fi
+
+# If the descriptor seems to be OK, parse the output
+# from the validateAndConvertNsdDescriptor routine.
+set -f ; set -- $validateDescriptorOutput ; set +f
+updatedDiskLine="$1"
+tsDiskDesc="$2"
+
+# Add the SG_DISKS line for the replacement disk to the mmsdrfs file.
+print -- $updatedDiskLine >> $newsdrfs
+checkForErrors "writing to file $newsdrfs" $?
+
+# Make a copy of the current mmsdrfs file.  It may be needed
+# to restore the mmsdrfs file if the tsrpldisk command fails.
+$cp $mmsdrfsFile $oldsdrfs
+checkForErrors cp $?
+
+
+#############################################################################
+# Put the new mmsdrfs file in the sdr.  This will allow the getEFOptions
+# call that tsrpldisk is going to make shortly to return a list of disks
+# that does not include the disk that is being replaced.  This commit also
+# serves as the "pre-commit" that indicates an mmrpldisk is in progress.
+# The commit is done only if there is more than one disk in the file system.
+#############################################################################
+trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+if [[ $singleDiskFileSystem = no ]]
+then
+  # Make sure the file is properly sorted.
+  LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+
+  gpfsObjectInfo=$(commitChanges $fsHomeCluster $nsId  \
+                     $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    cleanupAndExit
+  fi
+else
+  # You cannot use mmrpldisk to replace the only disk in a file system.
+  printErrorMsg 360 $mmcmd $olddisk $device
+  cleanupAndExit
+fi
+trap posttrap HUP INT QUIT KILL
+
+
+################################
+# Invoke the tsrpldisk command.
+################################
+# Issue "Replacing disk . . ." message.
+printInfoMsg 96 $olddisk
+
+$mmcommon onactive  \
+    $preferredNode $nodefile $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+    tsrpldisk "$fqDeviceName -d $olddisk -n $tsDiskDesc $vflag $Nflag"
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # tsrpldisk failed.
+  printErrorMsg 104 $mmcmd tsrpldisk
+
+  # Was the GPFS daemon up anywhere for tsrpldisk to run?
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # tsrpldisk was never attempted because the daemon was not up anywhere.
+    # Make a modified version of the original sdrfs file with the generation
+    # number in the global header incremented by 2 but no other changes.
+    $rm -f $newsdrfs
+    newGenNumber=$($awk -F:  '                                                 \
+      BEGIN { gen = 0 }                                                        \
+      # If this is the global header line, increment the gen number.           \
+      /^'$GLOBAL_ID:$VERSION_LINE:'/ {                                         \
+        { gen = $'$SDRFS_GENNUM_Field' + 2 }                                   \
+        { $'$SDRFS_GENNUM_Field' = gen }                                       \
+        { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"   \
+                $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"   \
+                $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$newsdrfs'" }  \
+        { next }                                                               \
+      }                                                                        \
+      # All other lines are printed without change.                            \
+      { print $0 >> "'$newsdrfs'" }                                            \
+      END { print gen }                                                        \
+    ' $oldsdrfs)
+    checkForErrors awk $?
+  else
+    # Since tsrpldisk was attempted but failed, reconcile the
+    # sdrfs file with the GPFS daemon's view of the filesystem.
+    reconcileSdrfsWithDaemon $deviceName $newsdrfs
+    rc2=$?
+    if [[ $rc2 -ne 0 ]]
+    then
+      # reconcileSdrfsWithDaemon failed.
+      printErrorMsg 171 $mmcmd reconcileSdrfsWithDaemon $rc2
+      # Tell the user to run mmcommon recoverfs against the filesystem.
+      printErrorMsg 190 $mmcmd $deviceName $deviceName
+      cleanupAndExit $rc
+    fi
+    # Obtain the generation number from the version line of the new sdrfs file.
+    versionLine=$($head -1 $newsdrfs)
+    IFS=':'
+    set -f ; set -- $versionLine ; set +f
+    newGenNumber=$6
+    IFS="$IFS_sv"
+  fi  # end of if [[ $rc -eq $MM_DaemonDown ]]
+
+  # Commit the modified version of the sdrfs file to the server.
+  trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+  gpfsObjectInfo=$(commitChanges  \
+    $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+  if [[ $? -ne 0 ]]
+  then
+    # We were unable to replace the file in the sdr.
+    printErrorMsg 381 $mmcmd
+    # Tell the user to run mmcommon recoverfs against the filesystem.
+    printErrorMsg 190 $mmcmd $deviceName $deviceName
+  fi
+
+  # Unlock the sdr.
+  [[ $sdrLocked = yes ]] &&  \
+    freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+  sdrLocked=no
+  trap posttrap HUP INT QUIT KILL
+
+  # Propagate the new mmsdrfs file.  This process is asynchronous.
+  propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+  cleanupAndExit $rc
+fi
+
+
+###################################################################
+# If here, tsrpldisk was successful.
+# Invoke routine to change the SG_DISKS lines with a disk status
+# of mmadd and mmdel to a regular (null) disk status and then
+# commit the new mmsdrfs file.  This makes the new disks visible
+# to future mm commands and to the mmcommon getEFOptions function.
+###################################################################
+# We finished replacing the disk.
+printInfoMsg 99
+
+# Reset the status fields of the two involved disks (replacer/replacee).
+resetDiskStatus $deviceName $newsdrfs mmadd mmdel
+checkForErrors updateDiskStatus $?
+
+# Obtain the generation number from the version line of the new sdrfs file.
+versionLine=$($head -1 $newsdrfs)
+IFS=':'
+set -f ; set -- $versionLine ; set +f
+newGenNumber=$6
+IFS="$IFS_sv"
+
+# Commit the new mmsdrfs file.
+trap "" HUP INT QUIT KILL    # Disable interrupts until the commit is done.
+gpfsObjectInfo=$(commitChanges  \
+   $fsHomeCluster $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # We were unable to replace the file in the sdr.
+  printErrorMsg 381 $mmcmd
+  # Tell the user to run mmcommon recoverfs against the filesystem.
+  printErrorMsg 190 $mmcmd $deviceName $deviceName
+  cleanupAndExit
+fi
+
+
+###################################################
+# Unlock the sdr.
+###################################################
+[[ $sdrLocked = yes ]] &&  \
+  freeLockOnServer $primaryServer $ourNodeNumber >/dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+######################################################################
+# Tell the daemon to invalidate its currently-cached mount options.
+######################################################################
+$mmcommon onactive $preferredNode $allQuorumNodes  \
+                   $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+                   tsctl resetEFOptions $fqDeviceName > $errMsg 2>&1
+rc=$?
+[[ $rc = $MM_DaemonDown ]] && rc=0
+[[ $rc -ne 0 && -s $errMsg ]] && cat $errMsg 2>&1
+$rm -f $errMsg
+
+
+#################################################################
+# Propagate the new mmsdrfs file.  This process is asynchronous.
+#################################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+
+###################################################
+# If installed, invoke the syncfsconfig user exit.
+###################################################
+if [[ -x $syncfsconfig ]]
+then
+   print -- "$mmcmd:  Starting $syncfsconfig ..."
+   $syncfsconfig
+   print -- "$mmcmd:  $syncfsconfig finished."
+fi
+
+
+#####################################################################
+# If an "odd state" flag was encountered for any other file systems
+# in the mmsdrfs file, tell the user to issue commands to reconcile
+# the mmsdrfs file with the GPFS daemon's view of the filesystems.
+#####################################################################
+for fsname in $fsOddStateList
+do
+  # Tell the user to run mmcommon recoverfs against the file system.
+  printErrorMsg 103 $mmcmd $fsname $fsname
+done
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrsh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrsh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmrsh	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/mmrcmd
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrfsdef
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrfsdef	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrfsdef	(revision 16)
@@ -0,0 +1,8387 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)88 1.233.1.72 src/avs/fs/mmfs/ts/admin/mmsdrfsdef.sh, mmfs, avs_rgpfs24, rgpfs24s006a 9/14/06 13:36:59
+###############################################################################
+#
+#  This file contains declarations for manipulating the mmsdrfs file.
+#  The mmsdrfs file is kept in the sdr and contains global information
+#  pertaining to GPFS in a given SP partition or GPFS cluster.
+#
+#  The mmsdrfs file is shadowed on each node in /var/mmfs/gen/mmsdrfs.
+#
+#  The following is an example of a mmsdrfs file:
+#
+# %%9999%%:00_VERSION_LINE::1:3:78::lc:c154n02.ibm.com:c154n03.ibm.com:1000:: ...
+# %%9999%%:03_COMMENT::1:
+# %%9999%%:03_COMMENT::2:   This is a machine generated file. Do not edit!
+# %%9999%%:03_COMMENT::3:
+# %%home%%:10_NODESET_HDR:::3:TCP:500:1191:complete:6668::700:700:AIX:
+# %%home%%:20_MEMBER_NODE::1:1:c54n01:9.114.54.21:c54n01.ibm.com:manager::-1:0:
+# %%home%%:20_MEMBER_NODE::2:3:c54n03:9.114.54.23:c54n03.ibm.com:client::-1:2:
+# %%home%%:20_MEMBER_NODE::3:2:c54n02:9.114.54.22:c54n02.ibm.com:manager::-1:1:
+# %%home%%:30_SG_HEADR:gpfsXYZ::152::
+# %%home%%:40_SG_ETCFS:gpfsXYZ:1:/mmfs/gpfsXYZ:
+# %%home%%:40_SG_ETCFS:gpfsXYZ:2:	dev		= /dev/gpfsXYZ
+# %%home%%:40_SG_ETCFS:gpfsXYZ:3:	vfs		= mmfs
+# %%home%%:40_SG_ETCFS:gpfsXYZ:4:	nodename	= -
+# %%home%%:40_SG_ETCFS:gpfsXYZ:5:	mount		= false
+# %%home%%:40_SG_ETCFS:gpfsXYZ:6:	type		= mmfs
+# %%home%%:40_SG_ETCFS:gpfsXYZ:7:	account		= false
+# %%home%%:50_SG_MOUNT:gpfsXYZ::rw:mtime:atime:userquota;groupquota:
+# %%home%%:60_SG_DISKS:gpfsXYZ:1:mmfslv01:4288:4004:dataAndMetadata:
+# %%home%%:60_SG_DISKS:gpfsXYZ:2:mmfslv02:4288:4005:dataOnly:
+#
+#  Each line is a collection of colon-separated fields.
+#
+#  The first field is always a cluster name. '%%home%%' indicates the
+#  local cluster. '%%9999%%' indicates global information.
+#
+#  The second field is a line type identifier.  The first 2 characters
+#  are used to specify a collating sequence for sorting the records
+#  within the file.
+#
+#  The third field, depending on the record type, is either unused,
+#  or is a file system device name.  This field allows related
+#  records within the same nodeset to be grouped together.
+#
+#  The fourth field is used, where needed, to sequence related records.
+#
+#  The rest of the fields are collectively known as data fields.
+#  The number and meaning of the data fields depends on the line type.
+#
+#  The following types of lines are recognized.  Lines that have
+#  a different format are ignored without generating an error.
+#  Additional data fields are also silently ignored.  This should
+#  provide for some backward compatibility with future releases.
+#
+#  - 00_VERSION_LINE Identifies the version and generation number of
+#                 the mmsdrfs file.  The meaning of the data fields
+#                 is as follows:
+#
+#      SDRFS_FORMAT     The format level of the file.
+#                         It is incremented every time a new piece of
+#                         information is added to the mssdrfs file.
+#      SDRFS_VERSION    The major version of the file; currently 3.
+#      SDRFS_GENNUM     The generation number of the file.
+#                         It is incremented every time the
+#                         mssdrfs file is changed.  This number
+#                         is also kept in the SDR Gpfs class.
+#      RUNNING_CMD      When not null, daemon is not allowed to start
+#                         and file systems cannot be mounted.
+#      CLUSTER_TYPE     Type of cluster environment: lc, or single.
+#      PRIMARY_SERVER   Reliable name of primary sdr repository.
+#      BACKUP_SERVER    Reliable name of backup sdr repository.
+#      HIGHEST_GPFS_DISK_NBR  Highest number used to generate
+#                         a global name for an NSD disk.
+#      RSH_PATH         Full path name of command to execute in
+#                         place of rsh; for example, /bin/ssh.
+#      RCP_PATH         Full path name of command to execute in
+#                         place of rcp; for example, /bin/scp.
+#      CLUSTERID        Cluster identifier.
+#      CLUSTER_SUBTYPE  Always lc2
+#      GENNUM_TSTAMP    Time stamp of the generation number.
+#      CLUSTER_NAME     Cluster name.
+#
+#  - 03_COMMENT   There can be any number of comment lines following
+#                 the global version line and at the beginning of each
+#                 nodeset.  Currently, there are only three such lines
+#                 at the beginning of the mmsdrfs file.  They are used
+#                 to warn against editing the file.
+#
+#  - 10_NODESET_HDR  There is one such line per GPFS nodeset.
+#                 The meaning of the data fields is as follows:
+#
+#      NODE_COUNT       Number of member nodes in the set
+#      COMM_PROTOCOL    Communication protocol: TCP
+#      JOB_KEY          (obsolete)
+#      TCP_PORT         Port number for TCP
+#      CONVERSION_STATE (obsolete)
+#      EVENTS_PORT      Port number for Events Exporter (obsolete)
+#      LAPI_MODE        (obsolete)
+#      MIN_DAEMON_VERSION  Lowest release level on any node
+#      MAX_DAEMON_VERSION  Highest release level on any node
+#      OS_ENVIRONMENT   AIX, Linux, or mixed.
+#
+#  - 20_MEMBER_NODE  There is one such line for each node in the cluster.
+#                 The meaning of the data fields is as follows:
+#
+#      NODE_NUMBER      Number associated with the node
+#      NODE_NAME        Name specified when nodeset was created
+#      IPA              IP address for NODE_NAME
+#      REL_HOSTNAME     Reliable hostname
+#      DESIGNATION      client, manager
+#      LAPI_ADAPTER     (obsolete)
+#      LAPI_WINDOW      (obsolete)
+#      SWITCH_NODE_NUMBER  (obsolete)
+#      ADDNODE_STATE    'new' or null.  Indicates whether the node
+#                         should be considered for quorum.
+#      ADAPTER_TYPE     adapter type for the above IPA:  css0, en0, ..
+#      BACKUP_IPA       (obsolete)
+#      BACKUP_ADAPTER_TYPE  (obsolete)
+#      DAEMON_VERSION   Confirmed release level installed on the node.
+#      PRODUCT_VERSION  Fileset or rpm release string identifier.
+#      OS_NAME          Operating system:  AIX or Linux
+#
+#  - 30_SG_HEADR  A header record identifying a file system.
+#
+#  - 40_SG_ETCFS  /etc/filesystems information.
+#                 The meaning of the data fields is as follows:
+#
+#      ETCFS_TEXT     The exact text that should appear in /etc/filesystems
+#
+#  - 50_SG_MOUNT  File system mount options.  The meaning of the
+#                 data fields is as follows:
+#
+#      RW_OPT           'rw' or 'ro'
+#      MTIME_OPT        'mtime' or 'nomtime'
+#      ATIME_OPT        'atime' or 'noatime'
+#      QUOTA_OPT        'userquota;groupquota' or NULL
+#      OTHER_OPT        comma-separated list of additional options
+#
+#  - 60_SG_DISKS  There is one such record for each disk in the file
+#                 system.  The meaning of the data fields is as follows:
+#
+#      VSD_NAME         Name of the VSD disk
+#      DISK_SIZE        Size of the disk
+#      FAILURE_GROUP    Failure group to which the disk belongs
+#      DISK_USAGE       The following values are possible:
+#                         dataOnly, metadataOnly, descOnly, dataAndMetadata,
+#                         or unknown (fs created by an old release)
+#      PVID             Unique pvid (nsd disks)
+#      DISK_TYPE        'nsd', 'vsd', 'lv', 'disk', ...
+#      NSD_PRIMARY_NODE  Name of primary NSD server
+#      NSD_BACKUP_NODE   Name of secondary NSD server
+#      DISK_SUBTYPE     'pr', 'ssa', or 'other'
+#      VPATH_FLAG       'vpath' or 'notvpath'
+#      NSD_SUBTYPE      disk type of the disk underlying the nsd
+#                         (e.g., vsd, lv, hdisk, vpath, generic)
+#      NAME_SOURCE      source of disk name ('user' for user-supplied
+#                         or 'cmd' for command-generated)
+#      NSD_SUBTYPE_DISKNAME  disk name of the disk underlying the nsd
+#                             (needed by the daemon if the subtype is lv)
+#
+#  - 70_MMFSCFG  mmfs.cfg file information.  Since this file can have
+#                colons as part of the text, the lines can be split
+#                in a variable number of fields.  This is taken into
+#                account by the routines that manipulate these lines.
+#                The mmfs.cfg data should not contain trailing
+#                colons (a colon followed by a space is acceptable).
+#
+###############################################################################
+
+
+
+###################################################################
+#  Pull in operating system dependent declarations and functions.
+###################################################################
+[[ -e ${mmcmdDir}/mmsdrfsdef.$osName ]] &&  \
+  . ${mmcmdDir}/mmsdrfsdef.$osName
+
+
+###########################################################################
+#
+# Function:  Increment the generation number and optionally delete
+#            or replace one or more lines in the mmsdrfs file.
+#
+# Input:     $1 - mmsdrfs file to use
+#            $2 - the first one or more consecutive fields of
+#                   the line to delete or replace
+#            $3 - replacement line
+#
+# Output:    the new mmsdrfs generation number
+#
+# Returns:   0 - everything worked
+#            1 - unexpected error
+#
+# Examples:  To just increment the generation number without
+#            any other changes, use
+#              newGenNumber=$(updateSdrfsFile $sdrfs)
+#
+#            To increment the generation number and remove
+#            all lines for a particular nodeset, use
+#              newGenNumber=$(updateSdrfsFile $sdrfs $nodesetId)
+#
+#            To increment the generation number and replace
+#            a particular line, use
+#              newGenNumber=$(updateSdrfsFile $sdrfs $oldLine $newLine)
+#
+###########################################################################
+function updateSdrfsFile  # <mmsdrfsFile> [<nsId>[:<lineID>..] [<newLine>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGupdateSdrfsFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfs=$1
+  typeset lineToRemove=$2
+  typeset newLine=$3
+  typeset outfile=${sdrfs}tmp
+
+  [[ ! -f $sdrfs ]] && return 1
+
+  $rm -f $outfile
+
+  # If no substitute line is given, i.e., if the caller wants only to delete
+  # one or more lines from the mmsdrfs file, initialize newLine to an illegal
+  # value - all lines start with a nodeset id followed by line type indicator.
+  [[ -z $newLine ]] && newLine="::"
+
+  # Similarly, if no line to remove is specified, i.e., if the only thing the
+  # caller wants is to increment the generation number, set lineToRemove to an
+  # illegal value.  The goal is to by-pass the middle clause in the awk script.
+  [[ -z $lineToRemove ]] && lineToRemove="$"
+
+  $awk -F:  '                                                                 \
+     BEGIN { gen = 0 }                                                        \
+     # If this is the global header line, increment the gen number.           \
+     /^'$GLOBAL_ID:$VERSION_LINE:'/ {                                         \
+        { gen = $'$SDRFS_GENNUM_Field' + 1 }                                  \
+        { $'$SDRFS_GENNUM_Field' = gen }                                      \
+        { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$outfile'" }  \
+        { next }                                                              \
+     }                                                                        \
+     # If this line is to be removed, check if it should be replaced.         \
+     /^'$lineToRemove'/ {                                                     \
+       if ("'$newLine'" == "::") {                                            \
+         { next }                                                             \
+       }                                                                      \
+       else {                                                                 \
+         { print "'$newLine'" >> "'$outfile'" }                               \
+         { next }                                                             \
+       }                                                                      \
+     }                                                                        \
+     # All other lines are echoed without change.                             \
+     { print $0 >> "'$outfile'" }                                             \
+     END { print gen }                                                        \
+  ' $sdrfs
+  checkForErrors awk $?
+
+  # The file was updated successfully.
+  $mv $outfile $sdrfs
+  checkForErrors "mv $outfile $sdrfs" $?
+
+  return 0
+
+}  #----- end of function updateSdrfsFile --------------------
+
+
+######################################################################
+#
+# Function:  Append the specified mmfs.cfg file to the mmsdrfs file.
+#            Each mmfs.cfg line is preceded by the 4 leading fields
+#            common to each mmsdrfs line.  The generation number
+#            is not affected by this function.
+#
+# Input:     $1 - nodesetId
+#            $2 - mmfs.cfg file to append
+#            $3 - mmsdrfs file to append to
+#
+# Output:    The new mmsdrfs file
+#
+# Returns:   0 - worked
+#            1 - unexpected error
+#
+# Example:   appendCfgFile $nodesetId $newcfg $tmpsdrfs
+#
+######################################################################
+function appendCfgFile  # <nodesetId> <mmfscfgFile> <mmsdrfsFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGappendCfgFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodesetId=$1
+  typeset cfgFile=$2
+  typeset sdrfsFile=$3
+
+  typeset -i lineNumber=0
+
+  [[ ! -f $sdrfsFile ]] && return 1
+
+  exec 3<&-
+  exec 3< $cfgFile
+  IFS=""     # Reset IFS to preserve blanks and tabs.
+  while read -u3 cfgLine
+  do
+    lineNumber=$lineNumber+1
+    print -- "$nodesetId:$MMFSCFG::$lineNumber:$cfgLine" >> $sdrfsFile
+  done
+  checkForErrors "writing to file $sdrfsFile" $?
+  IFS="$IFS_sv"
+
+  return 0
+
+}  #----- end of function appendCfgFile ----------------------
+
+
+######################################################################
+#
+# Function:  Append the specified file to the mmsdrfs file.
+#            Each line is preceded by the 4 leading fields
+#            common to each mmsdrfs line.  The generation number
+#            is not affected by this function.
+#
+# Input:     $1 - clusterName
+#            $2 - file to append
+#            $3 - line type value
+#            $3 - mmsdrfs file to append to
+#
+# Output:    The new mmsdrfs file
+#
+# Returns:   0 - worked
+#            1 - unexpected error
+#
+# Example:   appendFile $clusterName $filename $lineType $tmpsdrfs
+#
+######################################################################
+function appendFile  # <clusterName> <fileName> <lineType> <mmsdrfsFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGappendFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset clusterName=$1
+  typeset fileName=$2
+  typeset lineType=$3
+  typeset sdrfsFile=$4
+
+  [[ ! -f $sdrfsFile ]] && return 1
+
+  $awk '                                                                       \
+    BEGIN { lineNumber = 0 }                                                   \
+    { lineNumber += 1 }                                                        \
+    { print "'$clusterName':'$lineType'::"lineNumber":"$0 >> "'$sdrfsFile'" }  \
+  ' $fileName
+  checkForErrors "awk" $?
+
+  return 0
+
+}  #----- end of function appendFile -------------------------
+
+
+######################################################################
+#
+# Function:  Set the running command field in the GPFS object.
+#
+# Input:     $1 - Value for the RUNNING_CMD field, or null.
+#            $2 - Name of the primary config server.
+#
+# Output:    None.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+######################################################################
+function setRunningCommand  # <commandName> <primary server>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGsetRunningCommand ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset commandName="$1"
+  typeset primaryServer=$2
+  typeset rc=0
+
+  typeset sdrservPort mmsdrcliResult kword gpfsObject timeout
+
+  [[ $commandName = null || $commandName = NULL ]] && commandName=""
+
+  # Retrieve the tcp port number for the mmsdserv daemon.
+  sdrservPort=$(getSdrservPort $mmsdrfsFile)
+  checkForErrors getSdrservPort $?
+
+  # If the mmsdrserv TCP port number is set to 0, return.
+  # The user does not want to use the mmsdrserv daemon.
+  [[ $sdrservPort -eq 0 ]] && return 0
+
+  # Find the value of the mmsdrservTimeout parameter.
+  timeout=$(showCfgValue mmsdrservTimeout)
+  [[ -z $timeout ]] && timeout=10
+
+  # Retrieve the current value of the Gpfs object.
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  mmsdrcliResult=$($mmsdrcli getObj $primaryServer $sdrservPort $timeout)
+  mmsdrcliResult=$($mmsdrcli getObj $primaryServer $sdrservPort $timeout 2>>$mmsdrservLog)
+  rc=$?
+
+  if [[ $mmsdrcliResult = Gpfs* && $rc -eq 0 ]]
+  then
+    # The mmsdrcli call worked; parse the result and construct
+    # the new Gpfs object.  It will include the new running_cmd value.
+    IFS=':'
+    set -f ; set -- $mmsdrcliResult ; set +f
+    kword=$1
+    gpfsObject="$2:$3:$commandName:$5:$6:"
+    IFS="$IFS_sv"
+
+    # Set the new Gpfs object.
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  $mmsdrcli setObj $primaryServer $sdrservPort $timeout "$gpfsObject"
+    $mmsdrcli setObj $primaryServer $sdrservPort $timeout "$gpfsObject" 2>>$mmsdrservLog
+    rc=$?
+    #esjxx - decide how to handle errors
+
+  else
+    : #esjxx - decide how to handle errors (restart mmsdrserv, etc.)
+  fi  # end of if [[ $mmsdrcliResult = Gpfs* && $rc -ne 0 ]]
+
+  $mmTRACE_EXIT "rc=$rc"
+
+  return 0  #esjxx Temporarily ignore all errors.
+  return $rc
+
+}  #----- end of function setRunningCommand -----------------
+
+
+################################################################
+#
+# Function:  Set the running command field in the GPFS object.
+#
+# Input:     $1 - Value for the RUNNING_CMD field, or null.
+#
+# Output:    None.
+#
+# Returns:   Zero if successful, fatal exit otherwise.
+#
+################################################################
+function updateGpfsObject   #  <cmdName>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGupdateGpfsObject ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset cmdName=$1
+
+  typeset outfile=${sdrfs}tmp
+
+  $rm -f $outfile
+
+  [[ $cmdName = null || $cmdName = NULL ]] && cmdName=""
+
+  $awk -F:  '                                                                 \
+     # If this is the global header line, change certain fields.              \
+     /^'$GLOBAL_ID:$VERSION_LINE:'/ {                                         \
+        { $'$RUNNING_CMD_Field' = "'$cmdName'" }                              \
+        { print  $1":" $2":" $3":" $4":" $5":" $6":" $7":" $8":" $9":"$10":"  \
+                $11":"$12":"$13":"$14":"$15":"$16":"$17":"$18":"$19":"$20":"  \
+                $21":"$22":"$23":"$24":"$25":"$26":"$27":" >> "'$outfile'" }  \
+        { next }                                                              \
+     }                                                                        \
+     # All other lines are echoed without change.                             \
+     { print $0 >> "'$outfile'" }                                             \
+  ' $mmsdrfsFile
+  checkForErrors "updateGpfsObject:  awk:  " $?
+
+  # The file was updated successfully.
+  $mv $outfile $mmsdrfsFile
+  checkForErrors "updateGpfsObject:  mv $outfile $mmsdrfsFile " $?
+
+  return 0
+
+}  #----- end of function updateGpfsObject ------------------
+
+
+##################################################################
+#
+# Function:  Retrieve the GPFS object from the mmsdrfs file
+#
+# Input:     none
+#
+# Output:    The GPFS object information
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+##################################################################
+function getGpfsObjectFromFile
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetGpfsObjectFromFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset v2genNumber runningCmnd
+  typeset versionLine=""
+
+  # Read and parse the first line of the mmsdrfs file.
+  versionLine=$($head -1 $mmsdrfsFile)
+  IFS=':'
+  set -f ; set -- $versionLine ; set +f
+  IFS="$IFS_sv"
+
+  # At this point $2 has the line type (should be $VERSION_LINE),
+  # $6 contains the gen number, and $7 - the running command field.
+
+  # Perform a quick sanity check
+  if [[ $2 != $VERSION_LINE ]]
+  then
+    # Corrupted mmsdrfs file
+    printErrorMsg 278 $mmcmd 126
+    print -u2 "$versionLine"
+    return 1
+  fi
+
+  # Generate and display the Gpfs object
+  print "$4:$6:$7:"
+  return 0
+
+}  #----- end of function getGpfsObjectFromFile -----------------
+
+
+######################################################################
+#
+# Function:  Get the GPFS object information.
+#            Note:  This function is expected to be called only
+#                   on the primary or backup config server nodes.
+#
+# Input:     None.
+#
+# Output:    The Gpfs object.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+######################################################################
+function getGpfsObject  #
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetGpfsObject ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset rc=0
+  typeset gpfsObject kword
+  typeset sdrservPort mmsdrcliResult timeout
+
+
+  # Retrieve the tcp port number for the mmsdserv daemon.
+  sdrservPort=$(getSdrservPort $mmsdrfsFile)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    printErrorMsg 171 "getGpfsObject" "getSdrservPort" $rc
+    return $rc
+  fi
+
+  # If the mmsdrserv TCP port number is set to 0,
+  # the user does not want to use the mmsdrserv daemon.
+  if [[ $sdrservPort -ne 0 ]]
+  then
+    # Find the value of the mmsdrservTimeout parameter.
+    timeout=$(showCfgValue mmsdrservTimeout)
+    [[ -z $timeout ]] && timeout=10
+
+    # Retrieve the current value of the Gpfs object
+    # using the mmsdrserv daemon.  Ignore errors.
+    mmsdrcliResult=$($mmsdrcli getObj $ourNodeName $sdrservPort $timeout 2>>$mmsdrservLog)
+    rc=$?
+    $mmTRACE "mmsdrcli getObj returned GpfsObj=$mmsdrcliResult rc=$rc"
+  fi  # end of if [[ $sdrservPort -eq 0 ]]
+
+  if [[ $mmsdrcliResult = Gpfs* && $rc -eq 0 ]]
+  then
+    # The mmsdrcli call worked; parse the result and construct
+    # the Gpfs object to be returned to the caller.
+    IFS=':'
+    set -f ; set -- $mmsdrcliResult ; set +f
+    kword=$1
+    gpfsObject="$2:$3:$4"
+    IFS="$IFS_sv"
+
+  else
+    # The mmsdrcli call was not successful; get the information
+    # from the header line in the mmsdrfs file.
+    gpfsObject=$(getGpfsObjectFromFile)
+    rc=$?
+
+    # Try to restart the mmsdrserv daemon so that it is ready
+    # for the next request that comes along.  Ignore errors.
+    startSdrServ $sdrservPort >> $mmsdrservLog 2>&1
+  fi  # end of if [[ $mmsdrcliResult = Gpfs* && $rc -ne 0 ]]
+
+  # Show the result and return.
+  [[ $rc -eq 0 ]] && print -- "$gpfsObject"
+  return $rc
+
+}  #----- end of function getGpfsObject -------------------------
+
+
+###########################################################################
+#
+# Function:  Return a global attribute associated with the cluster.
+#
+# Input:     $1 - NODESET_HDR field to include in the list
+#            $2 - nodesetId for the nodeset;
+#                  defaults to $HOME_CLUSTER
+#                  $GLOBAL_ID indicates all nodesets (obsolete)
+#            $3 - mmsdrfs file to use; defaults to $mmsdrfsFile
+#
+# Output:    List of the requested fields.
+#
+# Examples:
+#   commProtocol=$(getNodesetInfo $COMM_PROTOCOL_Field $HOME_CLUSTER $sdrfs)
+#
+###########################################################################
+function getNodesetInfo  # <fieldNo> [<nodesetId> [<mmsdrfsFile>]]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetNodesetInfo ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outputField=$1
+  typeset nodesetId=$2
+  typeset sdrfs=$3
+
+  [[ -z $nodesetId ]] && nodesetId=$HOME_CLUSTER
+  [[ -z $sdrfs ]] && sdrfs=$mmsdrfsFile
+  [[ ! -f $sdrfs ]] && return 0
+
+  # Generate a list with the requested information.
+  $awk -F: '                                         \
+    /':$NODESET_HDR:'/ {                             \
+      if ( $'$NODESETID_Field' == "'$nodesetId'" ||  \
+           "'$nodesetId'"      == "'$GLOBAL_ID'") {  \
+        {print $'$outputField'}                      \
+      }                                              \
+    }                                                \
+  ' $sdrfs
+  checkForErrors awk $?
+
+  return 0
+
+}  #----- end of function getNodesetInfo -------------------------
+
+
+###########################################################################
+#
+# Function:  Create a list with a given value for all nodes in the cluster.
+#
+# Input:     $1 - MEMBER_NODE field to include in the list
+#            $2 - nodesetId for the nodeset;
+#                  defaults to $HOME_CLUSTER
+#                  $GLOBAL_ID indicates all nodesets (obsolete)
+#            $3 - mmsdrfs file to use; defaults to $mmsdrfsFile
+#
+# Output:    List of the requested fields
+#
+# Example:   nodeList=$(getNodeList $NODE_NUMBER_Field $nodesetId $sdrfs)
+#
+###########################################################################
+function getNodeList   # <fieldNo> [<nodesetId> [<mmsdrfsFile>]]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetNodeList ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outputField=$1
+  typeset nodesetId=$2
+  typeset sdrfs=$3
+
+  [[ -z $nodesetId ]] && nodesetId=$HOME_CLUSTER
+  [[ -z $sdrfs ]] && sdrfs=$mmsdrfsFile
+  [[ ! -f $sdrfs ]] && return 0
+
+  # Generate a list with the requested node information.
+  $awk -F: '                                         \
+    /':$MEMBER_NODE:'/ {                             \
+      if ( $'$NODESETID_Field' == "'$nodesetId'" ||  \
+           "'$nodesetId'"      == "'$GLOBAL_ID'") {  \
+        { print $'$outputField' }                    \
+      }                                              \
+    }                                                \
+  ' $sdrfs
+  checkForErrors awk $?
+
+  return 0
+
+}  #----- end of function getNodeList -----------------------------
+
+
+###############################################################################
+#
+# Function:  Get data from a specified field for the node whose data for
+#            a specified data field matches a specified value (whew!)
+#
+# Input:    $1 - field of the MEMBER_NODE line whose data is to be returned
+#           $2 - field of the MEMBER_NODE line whose data is to be found
+#           $3 - value to search for in the field specified by the 2nd parm
+#           $4 - nodesetId for the nodeset; $GLOBAL_ID indicates all nodesets.
+#           $5 - mmsdrfs file to use for the search
+#
+# Output:   requested field for the desired node.
+#
+# Example:
+#   nodeNumber=$(getNodeInfo $NODE_NUMBER_Field $NODE_NAME_Field  \
+#                              $node_name $HOME_CLUSTER $sdrfs)
+#
+###############################################################################
+function getNodeInfo  # <retField> <srchField> <srchVal> [<nodesetId> [<sdrfsFile>]]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetNodeInfo ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset retField=$1
+  typeset srchField=$2
+  typeset srchVal=$3
+  typeset nodesetId=$4
+  typeset sdrfs=$5
+
+  [[ -z $nodesetId ]] && nodesetId=$HOME_CLUSTER
+  [[ -z $sdrfs ]] && sdrfs=$mmsdrfsFile
+  [[ ! -f $sdrfs ]] && return 0
+
+  # Find the requested node information.
+  $awk -F: '                                         \
+    /':$MEMBER_NODE:'/ {                             \
+      if ( $'$NODESETID_Field' == "'$nodesetId'" ||  \
+           "'$nodesetId'"      == "'$GLOBAL_ID'") {  \
+        if ($'$srchField' == "'$srchVal'") {         \
+          print $'$retField'                         \
+        }                                            \
+      }                                              \
+    }                                                \
+  ' $sdrfs
+  checkForErrors awk $?
+
+  return 0
+
+}  #----- end of function getNodeInfo ------------------------
+
+
+#####################################################################
+#
+# Function:  Return all nodes in GPFS nodesets
+# Input:     None
+# Output:    Columnar list of all nodes
+#
+# Note:      Used by SMIT
+#
+#####################################################################
+function getUsedNodes
+{
+  getNodeList $NODE_NAME_Field $GLOBAL_ID $mmsdrfsFile
+  return $?
+
+}  #----- end of function getUsedNodes -----------------------
+
+
+#####################################################################
+#
+# Function:  Return all GPFS file system devices
+# Input:     None
+# Output:    Columnar list of all devices
+#
+# Note:      Used by SMIT
+#
+#####################################################################
+function getUsedDevices
+{
+  $awk -F: '                                              \
+     /':$SG_HEADR:'/ { print "/dev/"$'$DEV_NAME_Field' }  \
+  ' $mmsdrfsFile
+
+  checkForErrors awk $?
+  return 0
+
+}  #----- end of function getUsedDevices ----------------------
+
+
+###############################################################################
+#
+# Function:  Create a file with certain information for all nodes
+#            in the cluster.
+#
+# Input:     $1 - MEMBER_NODE field to include in the file
+#            $2 - nodesetId for the nodeset.
+#                  $GLOBAL_ID indicates all nodesets.
+#            $3 - mmsdrfs file to use
+#            $4 - name of the file to create
+#
+# Output:    Number of records in the output file
+#
+# Example:
+# nodeCount=$(getNodeFile $REL_HOSTNAME_Field $nodesetId $mmsdrfsFile $nodefile)
+#
+###############################################################################
+function getNodeFile  # <fieldNo> <nodesetId> <mmsdrfsFile> <outputFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetNodeFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outputField=$1
+  typeset nodesetId=$2
+  typeset sdrfs=$3
+  typeset outfile=$4
+
+  [[ ! -f $sdrfs ]] && return 0
+  [[ -z $outfile ]] && return 0
+  $rm -f $outfile
+
+  # Generate the requested node information.
+  $awk -F: '                                         \
+    BEGIN { n = 0 }                                  \
+    /':$MEMBER_NODE:'/ {                             \
+      if ( $'$NODESETID_Field' == "'$nodesetId'" ||  \
+           "'$nodesetId'"      == "'$GLOBAL_ID'") {  \
+        { print $'$outputField'  >> "'$outfile'" }   \
+        { n = n + 1 }                                \
+      }                                              \
+    }                                                \
+    END { print n }                                  \
+  ' $sdrfs
+  checkForErrors awk $?
+
+  return 0
+
+}  #----- end of function getNodeFile ---------------------------
+
+
+#########################################################################
+#
+# Function:  Create a file containing the names of all the nodes in the
+#            cluster that are within a specified SG_DISKS node class.
+#
+# Input:     $1 - SG_DISKS node class for which node names are desired
+#                   (currently, the only supported class is nsdnodes)
+#            $2 - name of the file to create
+#
+# Output:    zero if any nodes were found, non-zero otherwise
+#
+# Example:
+#   getNsdNodeClass nsdnodes $nodefile
+#   rc=$?
+#
+#########################################################################
+function getNsdNodeClass  # <nodeClass> <outputFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetNsdNodeClass ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodeClass=$1
+  typeset outfile=$2
+
+  [[ -z $outfile ]] && return 0
+  $rm -f $outfile
+
+  # Generate the requested node information.
+  $awk -F: '                                                    \
+    /':$SG_DISKS:'/ {                                           \
+      if ( "'$nodeClass'" == "nsdnodes") {                      \
+        if ($'$NSD_PRIMARY_NODE_Field' != "" ) {                \
+          { print $'$NSD_PRIMARY_NODE_Field' >> "'$outfile'" }  \
+        }                                                       \
+        if ($'$NSD_BACKUP_NODE_Field' != "" ) {                 \
+          { print $'$NSD_BACKUP_NODE_Field' >> "'$outfile'" }   \
+        }                                                       \
+        { next }                                                \
+      }                                                         \
+    }                                                           \
+  ' $mmsdrfsFile
+  checkForErrors awk $?
+
+  # Return with return code 1 if no nodes were found.
+  if [[ ! -s $outfile ]]
+  then
+    # No nodes matched the input specification.
+    printErrorMsg 345 $mmcmd
+    return 1
+  fi
+
+  # Since the same nsd server may be specified on multiple
+  # SG_DISKS lines, sort the output file for uniqueness.
+  $sort -u $outfile -o $outfile
+  checkForErrors "sort -u $outfile" $?
+
+  return 0
+
+}  #----- end of function getNsdNodeClass -----------------------------
+
+
+##############################################################################
+#
+# Function:  Create a file containing the names of all the nodes in the
+#            cluster that are within a specified MEMBER_NODE node class.
+#
+# Input:     $1 - node class
+#            $2 - field of the MEMBER_NODE line to be returned in the
+#                   output node file
+#            $3 - "output the input node value" flag (yes or no)
+#            $4 - output node file
+#
+# Output:    The output node file has been created.
+#            Each line of this file looks like:
+#              nodeOutputValue nodeInputValue     (if 3rd arg is yes)
+#                or just
+#              nodeOutputValue                    (if 3rd arg is not yes)
+#
+# Returns:   0 indicates complete success (nodes were found, no errors)
+#            1 indicates the class was found to contain no nodes
+#            2 indicates there was an error in the input parameters
+#
+# Example:
+#   createNodefileForClass "$nodeList" $DAEMON_NODENAME_Field no $nodefile
+#   [[ $? -ne 0 ]] && cleanupAndExit
+#
+##############################################################################
+function createNodefileForClass  # <nodeClass> <desiredField>
+                                 # <outputInputNodeValue> <outputFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcreateNodefileForClass ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodeClass=$1
+  typeset desiredField=$2
+  typeset outputInputNodeValue=$3
+  typeset outfile=$4
+
+  [[ -z $outfile ]] && return 2
+  $rm -f $outfile
+
+  case $nodeClass in
+    quorumnodes )
+      nodeClassField=$CORE_QUORUM_Field
+      nodeClassFieldValue=$quorumNode
+      ;;
+    nonquorumnodes )
+      nodeClassField=$CORE_QUORUM_Field
+      nodeClassFieldValue=$nonQuorumNode
+      ;;
+    managernodes )
+      nodeClassField=$DESIGNATION_Field
+      nodeClassFieldValue=$MANAGER
+      ;;
+    clientnodes )
+      nodeClassField=$DESIGNATION_Field
+      nodeClassFieldValue=$CLIENT
+      ;;
+    all )
+      nodeClassField=$LINE_TYPE_Field
+      nodeClassFieldValue=$MEMBER_NODE
+      ;;
+    * )                                   # unknown class
+      print -u2 "createNodefileForClass:  class $nodeClass not supported"
+      return 2
+      ;;
+  esac  # end
+
+  # Generate the requested node information.
+  $awk -F: '                                                                  \
+    /':$MEMBER_NODE:'/ {                                                      \
+      if ( $'$nodeClassField' == "'$nodeClassFieldValue'" ) {                 \
+        if ('$desiredField' == '$DAEMON_NODENAME_Field' &&                    \
+            $'$DAEMON_NODENAME_Field' == "") {                                \
+          if ( "'$outputInputNodeValue'" == "yes" ) {                         \
+            { print $'$REL_HOSTNAME_Field' " '$nodeClass'" >> "'$outfile'" }  \
+          } else {                                                            \
+            { print $'$REL_HOSTNAME_Field' >> "'$outfile'" }                  \
+          }                                                                   \
+        } else {                                                              \
+          if ( "'$outputInputNodeValue'" == "yes" ) {                         \
+            { print $'$desiredField' " '$nodeClass'" >> "'$outfile'" }        \
+          } else {                                                            \
+            { print $'$desiredField' >> "'$outfile'" }                        \
+          }                                                                   \
+        }                                                                     \
+        { next }                                                              \
+      }                                                                       \
+    }                                                                         \
+  ' $mmsdrfsFile
+  checkForErrors awk $?
+
+  # Return with return code 1 if no nodes were found.
+  if [[ ! -s $outfile ]]
+  then
+    # No nodes matched the input specification.
+    printErrorMsg 345 $mmcmd
+    return 1
+  fi
+
+  return 0
+
+}  #----- end of function createNodefileForClass --------------------
+
+
+###############################################################################
+#
+# Function:  Convert input node data to an output file containing desired
+#            node data.
+#
+# Input:     $1 - input node list (comma-separated), node file, or node class
+#            $2 - field of the MEMBER_NODE line to be returned in the
+#                   output node file
+#            $3 - "output the input node value" flag (yes or no)
+#            $4 - output node file
+#
+# Output:    The output node file has been created.
+#            Each line of this file looks like:
+#              nodeOutputValue nodeInputValue     (if 3rd arg is yes)
+#                or just
+#              nodeOutputValue                    (if 3rd arg is not yes)
+#
+# Returns:   zero indicates complete success (nodes were found, no errors);
+#            non-zero indicates an input node was not found in the sdrfs file,
+#              or that no nodes were found satisfying the input specification
+#
+# Note:      The "node identifiers" in the input list or file could be the
+#            short or long admin node name, the short or long communications
+#            ("daemon") node name, the node number, a node number range,
+#            or the IP address corresponding to the daemon node name.
+#
+# Example:
+#   createVerifiedNodefile "$nodeList" $DAEMON_NODENAME_Field no $nodefile
+#   [[ $? -ne 0 ]] && cleanupAndExit
+#   (proceed to use $nodefile . . . )
+#
+###############################################################################
+function createVerifiedNodefile  # <inputData> <desiredField>
+                                 #   <outputInputNodeValue> <outputFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcreateVerifiedNodefile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset inputData=$1
+  typeset desiredField=$2
+  typeset outputInputNodeValue=$3
+  typeset outputFile=$4
+
+  typeset nodeName errorFound inValue desiredValue inputNodefile
+  typeset -l inputData_lc=$inputData
+  typeset -i int1 int2 n
+
+  # The input data can be a node list, a node file, or a node class.
+  # Determine which it is, and if necessary, convert it into a file.
+  if [[ $inputData = /* ]]
+  then
+    # The input data is an absolute pathname node file.
+    inputNodefile=$inputData
+
+  elif [[ $inputData = *,* ]]
+  then
+    # The input data is a node list.  Convert the list into a file.
+    $rm -f $tmpNodes
+    IFS=','
+    for inValue in $inputData
+    do
+      print -- "$inValue" >> $tmpNodes
+      checkForErrors "writing to $tmpNodes" $?
+    done
+    IFS="$IFS_sv"    # Restore the default IFS setting.
+    inputNodefile=$tmpNodes
+
+  elif [[ $inputData_lc = quorumnodes  || $inputData_lc = nonquorumnodes ||
+          $inputData_lc = managernodes || $inputData_lc = clientnodes    ||
+          $inputData_lc = all ]]
+  then
+    # Create the desired output for the node class and return.
+    createNodefileForClass $inputData_lc $desiredField $outputInputNodeValue $outputFile
+    return $?
+
+  elif [[ $inputData_lc = nsdnodes ]]
+  then
+    # The nsdnodes node class must be handled differently
+    # because it is determined from the SG_DISKS lines.
+    # Create a file containing all the nodes in the class.
+    getNsdNodeClass $inputData_lc $tmpNodes
+    [[ $? -ne 0 ]] && return 1
+    inputNodefile=$tmpNodes
+
+  elif [[ $inputData = +([0-9])*([0-9])"-"+([0-9])*([0-9]) ]]
+  then
+    # The input data is a range of node numbers.
+    print -- "$inputData" >> $tmpNodes
+    checkForErrors "writing to $tmpNodes" $?
+    inputNodefile=$tmpNodes
+
+  else
+    # The input data is a single node or a relative pathname file.
+    # Run it through the checking routine to determine whether it is
+    # the name of an existing node.  If it is, use it as a node name.
+    # Otherwise, use the data as an input node file.
+    nodeName=$(checkAndConvertNodeValue $inputData $desiredField 2>/dev/null)
+    if [[ $? -eq 0 ]]
+    then
+      # The input value was a node name.
+      # Print the desired value(s) to the output file and return.
+      if [[ $outputInputNodeValue = yes ]]
+      then
+        print -- "$nodeName $inputData" > $outputFile
+        checkForErrors "writing to file $outputFile" $?
+      else
+        print -- "$nodeName" > $outputFile
+        checkForErrors "writing to file $outputFile" $?
+      fi
+      return 0
+
+    elif [[ -s $inputData ]]
+    then
+      # The input value is not a node name but there is a file by that name.
+      # Assume the file contains node names.
+      inputNodefile=$inputData
+
+    else
+      # An invalid node name was specified.
+      printErrorMsg 54 $mmcmd $inputData
+      # No nodes matched the input specification.
+      printErrorMsg 345 $mmcmd
+      return 1
+
+    fi  # end of if [[ $? = 0 ]]
+  fi  # end of if [[ $inputData = /* ]]
+
+  # If we are dealing with an input file provided by the user,
+  # ensure the file is OK and create our own copy.
+  if [[ $inputNodefile != $tmpNodes ]]
+  then
+    checkUserFile $inputNodefile $tmpNodes
+    [[ $? -ne 0 ]] && return 1
+    inputNodefile=$tmpNodes
+  fi
+
+  # Create a file containing the desired node data
+  # for each node passed in the input file.
+  errorFound=""
+  $rm -f $outputFile          # Make sure the file is empty.
+  exec 3<&-
+  exec 3< $inputNodefile
+  while read -u3 inValue
+  do
+    # Skip empty and comment lines.
+    [[ $inValue = *([$BLANKchar$TABchar])   ]] && continue
+    [[ $inValue = *([$BLANKchar$TABchar])#* ]] && continue
+
+    if [[ $inValue = +([0-9])*([0-9])"-"+([0-9])*([0-9]) ]]
+    then
+      # The user specified a range of node numbers.
+      # Parse the input to determine the min and max node numbers.
+      IFS='-'
+      set -f ; set -- $inValue ; set +f
+      int1=$1
+      int2=$2
+      IFS="$IFS_sv"
+
+      # Check the range for correctness.
+      if [[ $int1 -gt $int2 ]]
+      then
+        printErrorMsg 569 $mmcmd $int1 $int2
+        errorFound=true
+        continue
+      fi
+
+      n=$int1-1
+      while (( (n=n+1) <= $int2 ))
+      do
+        # Find the desired values for the nodes in the range.
+        # Since a range was specified, we are looking at node numbers.
+        desiredValue=$($awk -F: '                                \
+          $'$LINE_TYPE_Field' == "'$MEMBER_NODE'" {              \
+            if ($'$NODE_NUMBER_Field'    == "'$n'") {            \
+              { print $'$desiredField' }                         \
+              { exit }                                           \
+            }                                                    \
+          }                                                      \
+          # If we encounter a line after the MEMBER_NODE lines,  \
+          # exit the awk script.                                 \
+          $'$LINE_TYPE_Field' == "'$MMFSCFG'" {                  \
+            { exit }                                             \
+          }                                                      \
+        ' $mmsdrfsFile)
+        checkForErrors awk $?
+
+        # If the node was found, append a line to the output file.
+        # If the node was not found, issue an error message.
+        if [[ -n $desiredValue ]]
+        then
+          # Append the desired value to the output file.
+          if [[ $outputInputNodeValue = yes ]]
+          then
+            print -- "$desiredValue $n" >> $outputFile
+            checkForErrors "writing to file $outputFile" $?
+          else
+            print -- "$desiredValue" >> $outputFile
+            checkForErrors "writing to file $outputFile" $?
+          fi
+        fi  # end of if [[ -n $desiredValue ]]
+      done  # end of while (( (n=n+1) < $int2 )) do
+
+    else
+      # Find the desired value for this node.
+      # The node may have been specified using the short or long admin
+      # node name, the short or long daemon node name, the node number,
+      # or the IP address corresponding to the daemon node name.
+      desiredValue=$($awk -F: '                                 \
+        $'$LINE_TYPE_Field' == "'$MEMBER_NODE'" {               \
+          if ($'$ADMIN_SHORTNAME_Field' == "'$inValue'" ||      \
+              $'$REL_HOSTNAME_Field'    == "'$inValue'" ||      \
+              $'$NODE_NAME_Field'       == "'$inValue'" ||      \
+              $'$DAEMON_NODENAME_Field' == "'$inValue'" ||      \
+              $'$NODE_NUMBER_Field'     == "'$inValue'" ||      \
+              $'$IPA_Field'             == "'$inValue'") {      \
+            if ('$desiredField' == '$DAEMON_NODENAME_Field' &&  \
+                $'$DAEMON_NODENAME_Field' == "") {              \
+              { print $'$REL_HOSTNAME_Field' }                  \
+            } else {                                            \
+              { print $'$desiredField' }                        \
+            }                                                   \
+            { exit }                                            \
+          }                                                     \
+        }                                                       \
+        # If we encounter a line after the MEMBER_NODE lines,   \
+        # exit the awk script.                                  \
+        $'$LINE_TYPE_Field' == "'$MMFSCFG'" {                   \
+          { exit }                                              \
+        }                                                       \
+      ' $mmsdrfsFile)
+      checkForErrors awk $?
+
+      # Did we fail to find the node and the input value
+      # appears to be an IP address?  If so, check whether
+      # it is the IP address of an admin network adapter.
+      if [[ -z $desiredValue &&  \
+            $inValue = +([0-9]).+([0-9]).+([0-9]).+([0-9]) ]]
+      then
+        hostResult=$($host $inValue)
+        set -f ; set -- $hostResult ; set +f
+        nodeName=$1
+        ipa=${3%%,*}       # Exclude everything after the first comma.
+        if [[ $ipa = $inValue ]]
+        then
+          # If the IP address is corresponds to an admin node name,
+          # obtain the desired value for the node.
+          desiredValue=$($awk -F: '                                \
+            $'$LINE_TYPE_Field' == "'$MEMBER_NODE'" {              \
+              if ($'$REL_HOSTNAME_Field' == "'$nodeName'") {       \
+                { print $'$desiredField' }                         \
+                { exit }                                           \
+              }                                                    \
+            }                                                      \
+            # If we encounter a line after the MEMBER_NODE lines,  \
+            # exit the awk script.                                 \
+            $'$LINE_TYPE_Field' == "'$MMFSCFG'" {                  \
+              { exit }                                             \
+            }                                                      \
+          ' $mmsdrfsFile)
+          checkForErrors awk $?
+        fi  # end of if [[ $ipa = $inValue ]]
+      fi  # end of if [[ -z $desiredValue && ...
+
+      # If the node was found, append a line to the output file.
+      # If the node was not found, issue an error message.
+      if [[ -n $desiredValue ]]
+      then
+        # Append the desired value to the output file.
+        if [[ $outputInputNodeValue = yes ]]
+        then
+          print -- "$desiredValue $inValue" >> $outputFile
+          checkForErrors "writing to file $outputFile" $?
+        else
+          print -- "$desiredValue" >> $outputFile
+          checkForErrors "writing to file $outputFile" $?
+        fi
+      else
+        # An invalid node name was specified.
+        printErrorMsg 54 $mmcmd $inValue
+        errorFound=true
+      fi  # end of if [[ -n $desiredValue ]]
+
+    fi  # end of if [[ $inValue = +([1-9])*([0-9])"-"+([1-9])*([0-9]) ]]
+
+  done  # end of while read -u3 inValue do
+
+  # Get rid of the temp file that was used.
+  $rm -f $tmpNodes
+
+  # Is the output file empty or non-existent?
+  if [[ ! -s $outputFile ]]
+  then
+    # No nodes matched the input specification.
+    printErrorMsg 345 $mmcmd
+    return 1
+  fi
+
+  # Exit with a non-zero return code if an error was reported.
+  [[ -n $errorFound ]] && return 1
+
+  return 0
+
+}  #----- end of function createVerifiedNodefile -------------------
+
+
+##############################################################################
+#
+# Function:  Check and convert input node data to an output node value.
+#
+# Input:     $1 - input node data value
+#            $2 - field of the MEMBER_NODE line to be returned
+#            $3 - (optional) the sdrfs file to be used
+#                   (If not specified, the official one is used.)
+#
+# Output:    the desired output node value
+#
+# Returns:   zero indicates complete success
+#            non-zero indicates input data was not found in the sdrfs file
+#
+# Note:      The value passed as the input node data could be the short or
+#            long GPFS admin node name, the short or long GPFS communications
+#            ("daemon") node name, the node number, or the IP address
+#            corresponding to the daemon node name.
+#
+# Example:
+#   nodeName=$(checkAndConvertNodeValue $ipa $REL_HOSTNAME_Field)
+#   [[ $? -ne 0 ]] && cleanupAndExit
+#   (proceed to use $nodeName . . . )
+#
+##############################################################################
+function checkAndConvertNodeValue  # <inputValue> <desiredField> [<sdrfsFile>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckAndConvertNodeValue ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset inputValue=$1
+  typeset desiredField=$2
+  typeset sdrfsFile=$3
+
+  typeset outputValue
+
+  # If the sdrfs file was not passed, use the official one.
+  [[ -z $sdrfsFile ]] && sdrfsFile=$mmsdrfsFile
+
+  # Find the specified node value for the specified node.
+  # The node may have been specified using the short or long admin
+  # node name, the short or long daemon node name, the node number,
+  # or the IP address corresponding to the daemon node name.
+  outputValue=$($awk -F: '                                  \
+    /':$MEMBER_NODE:'/ {                                    \
+      if ($'$ADMIN_SHORTNAME_Field' == "'$inputValue'" ||   \
+          $'$REL_HOSTNAME_Field'    == "'$inputValue'" ||   \
+          $'$NODE_NAME_Field'       == "'$inputValue'" ||   \
+          $'$DAEMON_NODENAME_Field' == "'$inputValue'" ||   \
+          $'$NODE_NUMBER_Field'     == "'$inputValue'" ||   \
+          $'$IPA_Field'             == "'$inputValue'") {   \
+        if ('$desiredField' == '$DAEMON_NODENAME_Field' &&  \
+            $'$DAEMON_NODENAME_Field' == "") {              \
+          { print $'$REL_HOSTNAME_Field' }                  \
+        } else {                                            \
+          { print $'$desiredField' }                        \
+        }                                                   \
+        { exit }                                            \
+      }                                                     \
+    }                                                       \
+  ' $sdrfsFile)
+  checkForErrors awk $?
+
+  if [[ -z $outputValue ]]
+  then
+    # An invalid node name was specified.
+    printErrorMsg 54 $mmcmd $inputValue
+    return 1
+  fi
+
+  print $outputValue
+  return 0
+
+}  #----- end of function checkAndConvertNodeValue -----------------
+
+
+######################################################################
+#
+# Function:  Find the nodeset to which this node belongs.
+#
+# Input:     $1 - mmsdrfs file to use
+#            $2 - node number (optional)
+#
+# Output:    nodesetId.  Zero indicates that the node does not
+#            belong to any nodeset.
+#
+# Returns:   Always zero
+#
+# Example:   nodesetId=$(findNodesetId $mmsdrfsFile $ourNodeNumber)
+#
+######################################################################
+function findNodesetId  # <mmsdrfsFile> [<nodeNumber>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGfindNodesetId ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfs=$1
+  typeset nodeNumber=$2
+
+  typeset nodesetId=0
+
+  # Find our node number.
+  if [[ -z $nodeNumber ]]
+  then
+    getLocalNodeData
+    nodeNumber=$ourNodeNumber
+  fi
+
+  # Find out the nodeset to which the node belongs.
+  if [[ $nodeNumber -ne 0 && -f $sdrfs ]]
+  then
+    nodesetId=$($awk -F: '                               \
+      /':$MEMBER_NODE:'/ {                               \
+        if ($'$NODE_NUMBER_Field' == "'$nodeNumber'") {  \
+          { print $'$NODESETID_Field' }                  \
+          { exit 0 }                                     \
+        }                                                \
+      }                                                  \
+    ' $sdrfs)
+    checkForErrors awk $?
+
+    [[ -z $nodesetId ]] && nodesetId=0
+  fi
+
+  # Return the result.
+  print -- "$nodesetId"
+  return 0
+
+}  #----- end of function findNodesetId --------------------
+
+
+##################################################################
+#
+# Function:  Prints a line for the mmsdrfs file
+#
+# Input:     Array elements v[1], v[2], ... are expected to have
+#            the values to be included in the mmsdrfs line.
+#
+##################################################################
+function print_newLine
+{
+  typeset newLine current_IFS
+
+  # In order to display the colon field separators,
+  # and to preserve the tabs in the /etc/filesystem
+  # entries, temporarily set IFS to new line only.
+  current_IFS=$IFS
+  IFS="
+"
+  # Build the output line.
+  case ${v[$LINE_TYPE_Field]} in
+    $SG_ETCFS )
+      newLine=${v[1]}:${v[2]}:${v[3]}:${v[4]}:${v[5]}
+      # If this is the mount point line of the stanza, add a trailing ":".
+      [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line ]] &&  \
+        newLine=$newLine:
+      ;;
+    $COMMENT_LINE )
+      newLine=${v[1]}:${v[2]}:${v[3]}:${v[4]}:${v[5]}
+      ;;
+    * )
+      newLine=${v[1]}:${v[2]}:${v[3]}:${v[4]}:${v[5]}:${v[6]}:${v[7]}:${v[8]}
+      newLine=$newLine:${v[9]}:${v[10]}:${v[11]}:${v[12]}:${v[13]}:${v[14]}:${v[15]}
+      newLine=$newLine:${v[16]}:${v[17]}:${v[18]}:${v[19]}:${v[20]}:${v[21]}:${v[22]}
+      newLine=$newLine:${v[23]}:${v[24]}:${v[25]}:${v[26]}:${v[27]}:
+      ;;
+  esac  # end Build the output line
+  print -- "$newLine"
+
+  # Restore the IFS to the value it had prior to entering this function.
+  IFS=$current_IFS
+
+}  #----- end of function print_newLine -------------------------
+
+
+##################################################################
+#
+# Function:  Prints a line for the mmsdrfs file
+#
+# Input:     Variables v1, v2, ... are expected to have
+#            the values to be included in the mmsdrfs line.
+#
+##################################################################
+function print_newLine_var
+{
+  typeset newLine current_IFS
+
+  # In order to display the colon field separators,
+  # and to preserve the tabs in the /etc/filesystem
+  # entries, temporarily set IFS to new line only.
+  current_IFS=$IFS
+  IFS="
+"
+  # Build the output line.
+  case $v2 in
+    $SG_ETCFS )
+      newLine=$v1:$v2:$v3:$v4:$v5
+      # If this is the mount point line of the stanza, add a trailing ":".
+      [[ $v4 = $MOUNT_POINT_Line ]] &&  \
+        newLine=$newLine:
+      ;;
+    $COMMENT_LINE )
+      newLine=$v1:$v2:$v3:$v4:$v5
+      ;;
+    *        )
+      # If mmfs.cfg or unknown line type, pass all vars.  This may put extra
+      #  ":"s at the end of the line, but that should cause no harm.
+      newLine=$v1:$v2:$v3:$v4:$v5:$v6:$v7:$v8:$v9:$v10:$v11:$v12:$v13:$v14:$v15
+      newLine=$newLine:$v16:$v17:$v18:$v19:$v20:$v21:$v22:$v23:$v24:$v25:$v26:$v27:
+      ;;
+  esac  # end of Build the output line
+
+  print -- "$newLine"
+
+  # Restore the IFS to the value it had prior to entering this function.
+  IFS=$current_IFS
+
+}  #----- end of function print_newLine_var ------------------------
+
+
+###############################################################################
+#
+# Function:  Invoke the appropriate routine for the current environment
+#            to commit the changes to the sdr.
+#
+# Input:     $1 - nodeset id (the nodeset affected by the command)
+#            $2 - local nodeset id (the nodeset to which this node belongs)
+#            $3 - gpfsObjectInfo
+#            $4 - new version 2 generation number
+#            $5 - mmsdrfs file to write to the sdr
+#            $6 - primary server for storing the data
+#            The following parameters are optional
+#            $7 - if FORCE, do not check locks, gen number, and server validity;
+#                 if KILLSDRSERV, kill the currently running mmsdrserv daemon
+#                 if initLocalNodeData, recreate file mmfsNodeData.
+#                 Note:  FORCE implies KILLSDRSERV as well.
+#            $8 - backup server for storing the data
+#
+# Output:    Updated Gpfs object
+#
+# Returns:   0 - sdr data committed successfully
+#            1 - error encountered
+#
+###############################################################################
+function commitChanges  # <nodesetId> <localId> <gpfsObj> <genNumber> <newsdrfs>
+                        #   <primaryServer> <commitOption> <backupServer>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcommitChanges ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodesetId=$1
+  typeset localNodesetId=$2
+  typeset gpfsObjectInfo=$3
+  typeset -i newGenNumber=$4
+  typeset newsdrfs=$5
+  typeset primaryServer=$6
+  typeset commitOption=$7
+  typeset backupServer=$8
+
+  typeset commitOutput rc checksum sumOutput
+  typeset versionLine genNumber runningCmnd
+
+  # Verify the correctness of the mmsdrfs file.
+  checkSdrfsFile $newsdrfs
+  checkForErrors "checkSdrfsFile" $?
+
+  # Initialize optional parameters.
+  [[ -z $commitOption || $commitOption = null ]] && commitOption=NO_FORCE
+  [[ $backupServer = "_NOSECONDARY_" ]] && backupServer=""
+
+  # Calculate the checksum for the mmsdrfs file.
+  sumOutput=$($sum $newsdrfs)
+  checkForErrors "sum $newsdrfs" $?
+  set -f ; set -- $sumOutput ; set +f
+  checksum=$1
+
+  # See who should handle the actual commit process.
+  if [[ $primaryServer = $ourNodeName ]]
+  then
+    # If the node requesting the commit is the primary server itself,
+    # commit the changes here.  This will also rebuild the local environment.
+    commitOutput=$(commitToPrimaryServer $newsdrfs $checksum $newGenNumber   \
+                   $ourNodeName $primaryServer $commitOption $backupServer)
+    rc=$?
+  else
+    # If the primary server is some other node,
+    # pass the request to the remote server.
+    commitOutput=$($mmcommon on1 $primaryServer  \
+                   commitToPrimaryServer $newsdrfs $checksum $newGenNumber   \
+                   $ourNodeName $primaryServer $commitOption $backupServer)
+    rc=$?
+
+    if [[ $rc -eq 0 ]]
+    then
+      # Move the mmsdrfs file to its place to make the refresh official.
+      if [[ $newsdrfs != $mmsdrfsFile ]]
+      then
+        $cp $newsdrfs $mmsdrfsFile
+        $mmsync $mmsdrfsFile
+
+        # Make sure that non-privileged commands can read this file.
+        $chmod a+r $mmsdrfsFile >/dev/null 2>&1
+      fi
+
+      # If necessary, recreate the local node data.
+      if [[ $commitOption = *initLocalNodeData* ]]
+      then
+        $rm -f $mmfsNodeData
+        getLocalNodeData $mmsdrfsFile
+      fi
+
+      # Rebuild the local GPFS system files.  If this fails, remove one
+      # of the system files to force the node to go through gpfsInit next
+      # time a command is issued on it; do not fail the commit request.
+      updateMmfsEnvironment $HOME_CLUSTER $mmsdrfsFile
+      [[ $? -ne 0 ]] && $rm -f $mmfscfgFile
+
+    fi  # end of if [[ $rc -eq 0 ]]
+  fi  # end if [[ $primaryServer = $ourNodeName ]]
+
+  # If something went wrong, return.
+  [[ $rc -ne 0 ]] && return $rc
+
+  # Return the latest value of the Gpfs object.
+  print -- "$commitOutput"
+
+  return 0
+
+}  #----- end of function commitChanges ---------------------------
+
+
+###############################################################################
+#
+# Function:  Retrieves the specified mmsdrfs file from the client and
+#            propagates the changes to the backup server.  If an error
+#            is encountered, the mmsdrfs file is restored from its
+#            cached versions on the local node.
+#
+# Input:     $1 - mmsdrfs file to commit.
+#            $2 - checksum of the new mmsdrfs file.
+#            $3 - the generation number of the new file.
+#            $4 - reliable name of the client requesting the commit.
+#            $5 - reliable name of the primary server where the data
+#                 will be stored (the node that executes this function).
+#            $6 - if FORCE, do not check locks, gen number, and server validity.
+#                 if KILLSDRSERV, kill the currently running mmsdrserv daemon.
+#                 if initLocalNodeData, recreate file mmfsNodeData.
+#                 Note:  FORCE implies KILLSDRSERV as well.
+#            $7 - reliable name of the backup server.
+#
+# Output:    Updated Gpfs object
+#
+# Returns:   0 - successful commit
+#            1 - error encountered
+#
+###############################################################################
+function commitToPrimaryServer # <newsdrfs> <checksum> <genNumber> <client>
+                               # <primaryServer> <commitOption> <backupServer>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcommitToPrimaryServer ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset newsdrfs=$1
+  typeset newSum=$2
+  typeset -i newGenNumber=$3
+  typeset clientHostname=$4
+  typeset primaryServer=$5
+  typeset commitOption=$6
+  typeset backupServer=$7
+
+  typeset -i oldGenNumberP oldGenNumberB
+  typeset mmmodeP primaryServerP backupServerP
+  typeset mmmodeB primaryServerB backupServerB
+  typeset createShadowResult copyRemoteFileResult magicWord
+  typeset lockHolderInfo lockHolderPid lockHolderHostname
+  typeset sumOutput rcpSum rc gpfsObjectInfo
+  typeset sdrservPort sdrfsFormatLevel
+
+# if [[ $commitOption != FORCE ]]
+# then
+#    #esj Add 'Am I the primary server?' check here
+#
+#    # Make sure the client requesting the commit has the sdr lock
+#    lockHolderInfo=$($tail -n -1 $haslock 2>/dev/null)
+#    IFS=':'
+#    set -f ; set -- $lockHolderInfo ; set +f
+#    IFS="$IFS_sv"
+#    lockHolderPid=$1
+#    lockHolderHostname=$2
+#
+#   if [[ $lockHolderHostname != $clientHostname ]]
+#   then
+#     # If somebody else has the lock, see if the process is still alive.
+##esj add the logic for the checkLock function
+#     [[ -n $lockHolderHostname ]] &&  \
+#       checkLock $lockHolderPid $lockHolderHostname
+#     # Regardless, our guy is not allowed to continue.
+#     print -u2 "$clientHostname does not have the sdr lock"
+#     return 1
+#   fi
+# fi  # end if [[ $commitOption != FORCE ]]
+
+  # Get the new file from the client.
+  if [[ $primaryServer != $clientHostname ]]
+  then
+    $rcp ${clientHostname}:${newsdrfs} $mmsdrfsTmp
+    checkForErrors "$rcp ${clientHostname}:${newsdrfs}" $?
+
+    # Verify the checksum of the newly-received file.
+    sumOutput=$($sum $mmsdrfsTmp)
+    checkForErrors "sum $mmsdrfsTmp" $?
+    set -f ; set -- $sumOutput ; set +f
+    rcpSum=$1
+    if [[ $newSum -ne $rcpSum ]]
+    then
+      # Error retrieving data from client.
+      printErrorMsg 379 $mmcmd $clientHostname $primaryServer
+      cleanupAndExit
+    fi
+  else
+    $cp $newsdrfs $mmsdrfsTmp
+    checkForErrors "cp $newsdrfs $mmsdrfsTmp" $?
+  fi
+
+  # Create a shadow file.  This function will create the 'uncommitted'
+  # record which signifies the start of the commit processing.
+  createShadowResult=$(createShadow 0 $newSum $commitOption)
+  rc=$?
+  checkForErrors "createShadow" $rc
+
+  # Parse the output from createShadow.
+  IFS=':'
+  set -f ; set -- $createShadowResult ; set +f
+  IFS="$IFS_sv"
+  # magicWord=$1     # not needed for now
+  # mmmodeP=$2       # not needed for now
+  oldGenNumberP=$3
+  primaryServerP=$4
+  backupServerP=$5
+
+  # If this is a regular commit processing (i.e., we are not changing
+  # servers), verify the generation number and pick the backup server.
+  if [[ $commitOption != FORCE ]]
+  then
+    # Make sure the client is not trying to commit a back level file.
+    if [[ $newGenNumber -lt $oldGenNumberP ]]
+    then
+      # Client copy of mmsdrfs is not at the latest level.
+      printErrorMsg 380 $mmcmd $clientHostname
+      cleanupAndExit
+    fi
+    [[ -z $backupServer ]] &&  \
+      backupServer=$backupServerP
+  fi  # end of if [[ $commitOption != FORCE ]]
+
+  # If the primary and backup servers are defined to be the same,
+  # pretend there is no backup server.  (This should never happen!)
+  [[ $backupServer = $primaryServer ]] &&  \
+    backupServer=""
+
+  # If a backup repository is defined, tell it to create its shadow file.
+  if [[ -n $backupServer ]]
+  then
+    $mmcommon on1 $backupServer  \
+       createShadow $oldGenNumberP $newSum $commitOption > $tmpfile 2>&1
+
+    # Filter any garbage from the mmcommon command (traces, warnings, etc.).
+    createShadowResult=$($grep ^createShadow $tmpfile)
+
+    # Parse the output from the createShadow call.
+    IFS=':'
+    set -f ; set -- $createShadowResult ; set +f
+    IFS="$IFS_sv"
+    magicWord=$1
+    # mmmodeB=$2       # not needed for now
+    oldGenNumberB=$3
+    primaryServerB=$4
+    backupServerB=$5
+
+    if [[ $magicWord != createShadow ]]
+    then
+      # Something went wrong, give up.
+      $rm -f $uncommitted.$newSum ${mmsdrfsPrev}.$oldGenNumberP $mmsdrfsTmp
+      # Show the mmcommon output.
+      [[ -s $tmpfile ]] && $cat $tmpfile 1>&2
+
+      # Backup server problem
+      printErrorMsg 383 $mmcmd $backupServer
+      cleanupAndExit
+    fi
+
+    # Verify that the values returned from the createShadow on the backup
+    # are consistent with the values that we have so far...
+    if [[ $commitOption != FORCE ]]
+    then
+      if [[ $oldGenNumberP -ne $oldGenNumberB  ||
+            $primaryServerP != $primaryServerB ||
+            $backupServerP  != $backupServerB  ]]
+      then
+        # The mmsdrfs files on the two servers are not the same.
+        printErrorMsg 382 $mmcmd $primaryServer $backupServer
+        cleanupAndExit
+      fi
+    fi  # end of if [[ $commitOption != FORCE ]]
+  fi  # end if [[ -n $backupServer ]]
+
+  # If necessary, recreate the local node data.
+  if [[ $commitOption = *initLocalNodeData* ]]
+  then
+    $rm -f $mmfsNodeData
+    getLocalNodeData $mmsdrfsTmp
+  fi
+
+  # Apply the changes to this node.  If something goes wrong,
+  # the changes will be reversed later.
+  updateMmfsEnvironment $HOME_CLUSTER $mmsdrfsTmp
+  rc=$?
+
+  # If the update of the GPFS environment fails, we will remove
+  # one of the system files to make sure that the server node
+  # is forced to go through gpfsInit next time a command is
+  # issued on it, but will not fail the current commit request.
+  [[ $rc -ne 0 ]] && $rm -f $mmfscfgFile
+
+  # All preliminary work is done.  Move the new file to its proper place.
+  $mv $mmsdrfsTmp $mmsdrfsFile
+  $mmsync $mmsdrfsFile
+
+  # Tell the backup server to get the new file.
+  if [[ -n $backupServer ]]
+  then
+    $mmcommon on1 $backupServer  \
+      copyRemoteFile $primaryServer $mmsdrfsFile $mmsdrfsFile $newSum > $tmpfile 2>&1
+    rc=$?
+
+    # Filter any garbage from the mmcommon command (traces, warnings, etc.).
+    copyRemoteFileResult=$($grep ^copyRemoteFile $tmpfile)
+
+    # Parse the output from the copyRemoteFile call.
+    IFS=':'
+    set -f ; set -- $copyRemoteFileResult ; set +f
+    IFS="$IFS_sv"
+    magicWord=$1
+    rc=$2
+
+    if [[ $magicWord != copyRemoteFile || $rc -ne 0 ]]
+    then
+      # Something went wrong.  Show the mmcommon output.
+      [[ -s $tmpfile ]] && $cat $tmpfile 1>&2
+
+      # Restore the old environment and give up.
+      $mv ${mmsdrfsPrev}.$oldGenNumberP $mmsdrfsFile
+      $mmsync $mmsdrfsFile
+      $rm -f $uncommitted.$newSum
+
+      # Backup server problem.
+      printErrorMsg 383 $mmcmd $backupServer
+
+      # Reverse changes on the primary server node.
+      if [[ $commitOption = *initLocalNodeData* ]]
+      then
+        $rm -f $mmfsNodeData
+        getLocalNodeData
+      fi
+      updateMmfsEnvironment $HOME_CLUSTER $mmsdrfsFile
+      cleanupAndExit
+    fi  # end of if [[ $magicWord != copyRemoteFile || $rc -ne 0 ]]
+  fi  # end if [[ -n $backupServer ]]
+
+
+  # Remove the uncommitted record.  THIS IS THE REAL COMMIT POINT.
+  $rm -f $uncommitted.$newSum ${mmsdrfsPrev}.$oldGenNumberP
+
+#esjxx - handle this better; avoid reading the file
+  sdrfsFormatLevel=$($head -1 $mmsdrfsFile | $GETVALUE $SDRFS_FORMAT_Field)
+  gpfsObjectInfo="$sdrfsFormatLevel:$newGenNumber:"
+
+  # Remove the uncommitted record from the backup server
+  # Do not wait for this to finish, but let error messages show up.
+  if [[ -n $backupServer ]]
+  then
+    $mmcommon on1 $backupServer removeUncommitted $oldGenNumberP $newSum &
+  fi
+
+  # Make sure that non-privileged commands can read the mmsdrfs file.
+  $chmod a+r $mmsdrfsFile >/dev/null 2>&1
+
+  # Restart or reset the mmsdrserv daemon.
+  if [[ $commitOption = *KILLSDRSERV* || $commitOption = FORCE ]]
+  then
+    # If the mmsdrserv daemon was killed, restart it now.
+    startSdrServ CURRENT >> $mmsdrservLog 2>&1
+    rc=$?
+    [[ -n $backupServer && $rc -eq 0 ]] &&  \
+      $mmcommon on1 $backupServer startSdrServ CURRENT >> $mmsdrservLog 2>&1
+  else
+    # Otherwise, just reset the currently running mmsdrserv daemon.
+    resetSdrServ $gpfsObjectInfo $ourNodeName CURRENT >> $mmsdrservLog 2>&1
+  fi
+
+  # Asynchronously invoke the user exit for backing the mmsdrfs file.
+  if [[ -x $mmsdrbackup ]]
+  then
+    $mmsdrbackup $newGenNumber >/dev/null 2>&1 &
+  fi
+
+  # Return to the client the new Gpfs object.
+  print -- "$gpfsObjectInfo"
+
+  return 0
+
+}  #----- end of function commitToPrimaryServer --------------------
+
+
+###########################################################################
+#
+# Function:  Prepare for commit processing: make a copy of the current
+#            mmsdrfs file and create an uncommitted record to signify
+#            the start of the commit processing.
+#
+# Input:     $1 - generation number of the mmsdrfs file to be shadowed
+#                 (zero, if the number is not known yet)
+#            $2 - uncommitted record version (this is the checksum
+#                 of the new mmsdrfs file)
+#            $3 - if FORCE, ignore previous uncommitted or shadow files.
+#                 if KILLSDRSERV, kill the currently running mmsdrserv daemon.
+#                 Note:  FORCE implies KILLSDRSERV as well.
+#
+# Output:    Colon-separated string containing the fields:
+#            createShadow:$mmmode:$genNumber:$primaryServer:$backupServer
+#
+# Returns:   0 - success
+#            1 - error encountered
+#
+###########################################################################
+function createShadow  # <expectedGenNumber> <version> <commitOption>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcreateShadow ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset expectedGenNumber=$1
+  typeset version=$2
+  typeset commitOption=$3
+
+  typeset -i genNumber
+  typeset mmmode primaryServer backupServer rc
+  typeset needToCopyFile=no
+  typeset versionLine=""
+
+  if [[ $commitOption = FORCE ]]
+  then
+    # Cleanup any traces of previous uncommitted or shadow files.
+    # If this option is invoked, most likely we are cleaning up
+    # some previous mess anyway.
+    $rm -f ${mmsdrfsPrev}.* $uncommitted.*
+# else
+#   # If uncommitted or shadow file exists, a previous commit
+#   # request did not complete; invoke the cleanupSdr function.
+#   if [[ -e ${mmsdrfsPrev}.* || -e $uncommitted.* ]]
+#   then
+##esj add the logic for the cleanupSdr function
+#     cleanupSdr
+#     checkForErrors "cleanupSdr" $?
+#   fi
+  fi
+
+  # Make sure the mmsdrfs file exists.
+  if [[ ! -e $mmsdrfsFile ]]
+  then
+    [[ -z $ourNodeName ]] && ourNodeName=$($hostname)
+    # Node is not member of a cluster.
+    printErrorMsg 352 $mmcmd $ourNodeName
+    cleanupAndExit
+  fi
+
+  # Parse the version line of the mmsdrfs file.
+  versionLine=$($head -1 $mmsdrfsFile)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+
+  # Perform a quick sanity check.
+  [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] &&  \
+    corruptedSdrFileExit 132 "$versionLine"
+
+  # Collect some of the values that will be returned to the caller.
+  mmmode=${v[$CLUSTER_TYPE_Field]}
+  genNumber=${v[$SDRFS_GENNUM_Field]}
+  primaryServer=${v[$PRIMARY_SERVER_Field]}
+  backupServer=${v[$BACKUP_SERVER_Field]}
+
+  # Ensure the gen number looks OK.
+  if [[ $expectedGenNumber -eq $genNumber ||
+        $expectedGenNumber -eq 0 ||
+        $commitOption = FORCE ]]
+  then
+    # If the current gen number is as expected, or if an expected number
+    # is not specified (because we already know the file is OK), or if
+    # this is a FORCED commit (changing servers), assume things are in order.
+    needToCopyFile=no
+  elif [[ $expectedGenNumber -lt $genNumber ]]
+  then
+    # If the current gen number is greater than expected,
+    # the information on the primary is incorrect.
+    printErrorMsg 382 $mmcmd $primaryServer $backupServer
+    cleanupAndExit
+
+  else
+    # If the current gen number is less than what it is expected to be,
+    # we'll need to bring the backup server up to date.
+    needToCopyFile=yes
+  fi   # end if [[ $expectedGenNumber -eq $genNumber ...
+
+  if [[ $needToCopyFile = yes ]]
+  then
+    # If the current gen number is less than what it is expected to be,
+    # bring the backup server up to date.
+    copyRemoteFile $primaryServer $mmsdrfsFile $mmsdrfsFile 0 > /dev/null
+    checkForErrors "copyRemoteFile ${primaryServer}:${mmsdrfsFile}" $?
+
+    # Read and parse the new, updated, VERSION_LINE
+    # Parse the version line of the mmsdrfs file.
+    versionLine=$($head -1 $mmsdrfsFile)
+    IFS=':'
+    set -f ; set -A v -- - $versionLine ; set +f
+    IFS="$IFS_sv"
+
+    # Perform a quick sanity check.
+    [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] &&  \
+      corruptedSdrFileExit 133 "$versionLine"
+
+    # Collect some of the values that will be returned to the caller.
+    mmmode=${v[$CLUSTER_TYPE_Field]}
+    genNumber=${v[$SDRFS_GENNUM_Field]}
+    primaryServer=${v[$PRIMARY_SERVER_Field]}
+    backupServer=${v[$BACKUP_SERVER_Field]}
+  fi   # end if [[ $needToCopyFile = yes ]]
+
+  # Create a shadow file.
+  $cp $mmsdrfsFile ${mmsdrfsPrev}.$genNumber
+  checkForErrors "cp $mmsdrfsFile ${mmsdrfsPrev}.$genNumber" $?
+
+  # Create an 'uncommitted' record.
+  # THIS IS WHERE THE COMMIT PROTOCOL REALLY STARTS.
+  $touch $uncommitted.$version
+  checkForErrors "touch $uncommitted.$version " $?
+  $mmsync ${mmsdrfsPrev}.$genNumber $uncommitted.$version
+
+  # If necessary, kill the current instance of the mmsdrserv daemon.
+  # It will be restarted shortly (from commitToPrimaryServer).
+  [[ $commitOption = *KILLSDRSERV* || $commitOption = FORCE ]] && killSdrServ
+
+  print -- "createShadow:$mmmode:$genNumber:$primaryServer:$backupServer"
+  return 0
+
+}  #----- end of function createShadow -----------------------------
+
+
+##############################################################################
+#
+# Function:  Copies the specified file from the remote node and stores
+#            it on the local node as the specified local file.
+#
+# Input:     $1 - remote node to get file from
+#            $2 - file to get from remote node
+#            $3 - name of local file to be created by copying
+#                  the remote file to the local node
+#            $4 - checksum of the remote file, 0 if not known.
+#
+# Output:    If successful, the file is copied.
+#
+# Returns:   0        - successful copy
+#            non-zero - error encountered
+#
+##############################################################################
+function copyRemoteFile   # <remoteNode> <remoteFile> <localFile> <remoteSum>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcopyRemoteFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset remoteNode=$1
+  typeset remoteFile=$2
+  typeset localFile=$3
+  typeset remoteSum=$4
+
+  typeset rc ec localSum sumOutput versionLine
+
+  [[ -z $remoteSum ]] && remoteSum=0
+
+  # Get the file from the remote node.
+  $rcp ${remoteNode}:${remoteFile} ${localFile}tmp$$
+  rc=$?
+
+  # If the checksum is known, verify it is still the same.
+  if [[ $rc = 0 && $remoteSum != 0 ]]
+  then
+    sumOutput=$($sum ${localFile}tmp$$)
+    rc=$?
+    set -f ; set -- $sumOutput ; set +f
+    localSum=$1
+    if [[ $rc = 0 && $remoteSum != $localSum ]]
+    then
+      printErrorMsg 379 $mmcmd $remoteNode $ourNodeName
+      rc=1
+    fi
+  fi
+  $mmsync ${localFile}tmp$$
+
+  # If we are getting a new version of the mmsdrfs file,
+  # update the GPFS files if necessary.
+  if [[ $rc -eq 0 && $localFile = $mmsdrfsFile ]]
+  then
+    # Update the local system files.
+    updateMmfsEnvironment $HOME_CLUSTER ${localFile}tmp$$
+    ec=$?
+
+    # If the update of the GPFS environment fails, we will remove
+    # one of the system files to make sure that the server node
+    # is forced to go through gpfsInit next time a command is
+    # issued on it, but will not fail the current request.
+    [[ $ec -ne 0 ]] && $rm -f $mmfscfgFile
+  fi  # end of if [[ $rc -eq 0 && $localFile = $mmsdrfsFile ]]
+
+  if [[ $rc -eq 0 ]]
+  then
+    $mv ${localFile}tmp$$ $localFile
+    $mmsync $localFile
+  else
+    $rm -f ${localFile}tmp$$
+  fi
+
+  # Make sure that non-privileged commands can read the mmsdrfs file
+  $chmod a+r $mmsdrfsFile >/dev/null 2>&1
+
+  print -- "copyRemoteFile:$rc"
+  return $rc
+
+}  #----- end of function copyRemoteFile -------------------------
+
+
+###########################################################################
+#
+# Function:  Parse the output from a gpfsInit call and set
+#            certain global and local variables accordingly.
+#
+# Input:     $1 - return code from gpfsInit
+#            $2 - output string from gpfsInit
+#
+# Output:    None
+#
+# Returns:   0 - gpfsInit finished successfully
+#            If error, no return - processing stopped.
+#
+###########################################################################
+function setGlobalVar   # <rc> <gpfsInitOutput>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGsetGlobalVar ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  [[ $1 -ne 0 ]] && cleanupAndExit
+  mmmode=$2
+  sdrLocked=$3
+  nsId=$4
+  ourNodeNumber=$5
+  gpfsObjectInfo=$6
+  primaryServer=$7
+  backupServer=$8
+  ourNodeName=$9
+  typeset rshPath=${10}
+  typeset rcpPath=${11}
+  sdrGenNumber=${12}
+  sdrGenTimestamp=${13}
+  environmentType=${14}
+  ourShortName=${15}
+  sdrfsFormatLevel=${16}
+
+  [[ $backupServer = "_NOSECONDARY_" ]] && backupServer=""
+
+  nodesetId=$nsId
+  fsHomeCluster=$nsId
+
+  # Make the GPFS nodeset type globally available.
+  export MMMODE=$mmmode
+
+  # Export remote commands if necessary.
+  if [[ -n $rshPath && $rshPath != "_DEFAULT_" ]]
+  then
+    rsh="$rshPath"
+    export GPFS_rshPath="$rshPath"
+  fi
+  if [[ -n $rcpPath && $rcpPath != "_DEFAULT_" ]]
+  then
+    rcp="$rcpPath"
+    export GPFS_rcpPath="$rcpPath"
+  fi
+
+  # Figure out the environment within which we are running.
+  [[ -z $environmentType ]] && environmentType=$MMMODE
+
+  [[ $mmmode != $environmentType && $environmentType != lc2 ]] &&  \
+    environmentType="rpd"
+
+  export environmentType=$environmentType
+
+  return 0
+
+}  #----- end of function setGlobalVar --------------------------
+
+
+###########################################################################
+#
+# Function:  Make sure that the local copies of the mmsdrfs, mmfs.cfg,
+#            and all other relevant system files are up to date.
+#            If requested, get the sdr lock.
+#
+# Input:     $1 - Process id to be used as an identifier for
+#                 the sdr lock, or the string 'nolock'.
+#
+# Output:    The function prints a line with the following values:
+#              mmmode          - command mode (lc, single, ...)
+#              sdrLocked       - yes or no
+#              nodesetId       - HOME_CLUSTER
+#              ourNodeNumber   - the node number assigned to this node
+#              gpfsObjectInfo  - the most current value of the Gpfs object
+#              primaryServer   - hostname of primary server or _NOPRIMARY_
+#              backupServer    - hostname of backup server or _NOSECONDARY_
+#              ourNodeName     - the reliable hostname of this node
+#              rshPath         - remote shell command or _DEFAULT_
+#              rcpPath         - remote file copy command or _DEFAULT_
+#              sdrGenNumber    - most recent mmsdrfs generation number
+#              sdrGenTimestamp - timestamp of the mmsdrfs generation number
+#              environmentType - environment within which GPFS is defined
+#              ourShortName    - the unqualified name of the GPFS adapter
+#              sdrfsFormatLevel- the format level of the mmsdrfs file
+#
+#            Note:  sdrLocked is a global variable and its value is not
+#                   altered unless a lock is obtained.
+#
+# Returns:   0 - files refreshed successfully; SDR locked, if requested.
+#            1 - unexpected error
+#
+###########################################################################
+function gpfsInit  # <lockId | nolock>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgpfsInit ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset lockId=$1
+
+  typeset -i localGenNumber=0
+  typeset localGenTimestamp=0
+  typeset versionLine=""
+  typeset mmmode=""
+  typeset rc=0
+  typeset primary backup initOutput
+
+  ###############################################
+  # Preliminary work common to all environments
+  ###############################################
+  if [[ ! -f $mmsdrfsFile ]]
+  then
+    # Either the node does not belong to a cluster
+    # or the config information is lost/corrupted.
+    printErrorMsg 282 $mmcmd
+    cleanupAndExit
+  fi
+
+  # Parse the version line from the local mmsdrfs file.
+  versionLine=$($head -1 $mmsdrfsFile)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+
+  # Perform a quick sanity check.
+  [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] &&  \
+    corruptedSdrFileExit 128 "$versionLine"
+
+  # Retrieve the cluster environment, the generation number,
+  # and the primary and backup server names.
+  if [[ -z ${v[$CLUSTER_TYPE_Field]} ]]
+  then
+    # If the cluster type field is null, assume sp.
+    mmmode=sp
+  else
+    mmmode=${v[$CLUSTER_TYPE_Field]}
+  fi
+  sdrfsVersion=${v[$SDRFS_VERSION_Field]}
+  localGenNumber=${v[$SDRFS_GENNUM_Field]}
+  primary=${v[$PRIMARY_SERVER_Field]}
+  backup=${v[$BACKUP_SERVER_Field]}
+  [[ -z $backup ]] && backup="_NOSECONDARY_"
+  localGenTimestamp=${v[$GENNUM_TSTAMP_Field]}
+  [[ -z $localGenTimestamp ]] && localGenTimestamp=0
+  rshPath=${v[$RSH_PATH_Field]}
+  rcpPath=${v[$RCP_PATH_Field]}
+  environmentType=${v[$CLUSTER_SUBTYPE_Field]}
+  [[ -z $environmentType ]] && environmentType=$mmmode
+  [[ $mmmode != $environmentType && $environmentType != lc2 ]] &&  \
+    environmentType="rpd"
+
+  # Make the mode value globally available.
+  export MMMODE=$mmmode
+  export environmentType=$environmentType
+
+  # Export remote commands if necessary.
+  if [[ -n $rshPath && $rshPath != "_DEFAULT_" ]]
+  then
+    rsh="$rshPath"
+    export GPFS_rshPath="$rshPath"
+  fi
+  if [[ -n $rcpPath && $rcpPath != "_DEFAULT_" ]]
+  then
+    rcp="$rcpPath"
+    export GPFS_rcpPath="$rcpPath"
+  fi
+
+  ###############################################
+  # Depending on the environment, invoke
+  # the appropriate initialization routine.
+  ###############################################
+  if [[ $MMMODE = lc || $MMMODE = single ]]
+  then
+    if [[ $sdrfsVersion -lt $CURRENT_SDRFS_VERSION ]]
+    then
+      print -u2 "$mmcmd: The GPFS cluster configuration data is not up to date."
+      print -u2 "    Migrate the cluster using mmexportfs/mmimportfs."
+      print -u2 "    See the GPFS Concepts, Planning, and Installation Guide for instructions."
+      cleanupAndExit
+    fi
+
+    initOutput=$(gpfsClusterInit $lockId $localGenNumber  \
+                      $primary $backup $localGenTimestamp)
+    rc=$?
+
+  elif [[ $MMMODE = sp || $MMMODE = rpd || $MMMODE = hacmp ]]
+  then
+    print -u2 "$mmcmd: GPFS cluster type $MMMODE is no longer supported."
+    print -u2 "    You must move to a supported GPFS environment (cluster type lc)."
+    print -u2 "    See the GPFS Concepts, Planning, and Installation Guide for instructions."
+    cleanupAndExit
+
+  else
+    # Unknown GPFS execution environment
+    printErrorMsg 338 $mmcmd $MMMODE
+    cleanupAndExit
+  fi
+
+  [[ -z $initOutput || $rc -ne 0 ]] &&  \
+    return 1
+
+  # Things must have worked.
+  print -- "$initOutput"
+  return 0
+
+}  #----- end of function gpfsInit --------------------------------
+
+
+###########################################################################
+#
+# Function:  Make sure that the local copy of the mmsdrfs file
+#            and any other relevant system files are up to date.
+#            If requested, get the sdr lock.
+#
+# Input:     $1 - Process id to be used as an identifier for
+#                 the sdr lock, or the string 'nolock'.
+#            $2 - generation number of local sdrfs file
+#            $3 - primary server for obtaining sdrfs data
+#            $4 - secondary server for obtaining sdrfs data
+#            $5 - generation number time stamp
+#
+# Output:    This function prints a line with the following values:
+#              mmmode          - command execution environment
+#              sdrLocked       - yes or no
+#              nodesetId       - HOME_CLUSTER
+#              ourNodeNumber   - the node number of this node
+#              gpfsObjectInfo  - the most current value of the Gpfs object
+#              primaryServer   - primary server for obtaining sdrfs data
+#              backupServer    - secondary server for obtaining sdrfs data
+#              ourNodeName     - the reliable hostname of this node
+#              rshPath         - remote shell command or _DEFAULT_
+#              rcpPath         - remote file copy command or _DEFAULT_
+#              sdrGenNumber    - most recent mmsdrfs generation number
+#              sdrGenTimestamp - timestamp of the mmsdrfs generation number
+#              environmentType - environment within which GPFS is defined
+#              ourShortName    - the unqualified name of the GPFS adapter
+#              sdrfsFormatLevel- the format level of the mmsdrfs file
+#
+#            Note:  sdrLocked is a global variable and its value is not
+#                   altered unless a lock is obtained.
+#
+# Returns:   0 - files refreshed successfully; sdr locked, if requested.
+#            non-zero - unexpected error
+#
+###########################################################################
+function gpfsClusterInit  # <lockId | nolock> <localGenNumber>
+                          # <primaryServer> <backupServer> <genTimestamp>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgpfsClusterInit ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset lockId=$1
+  typeset localGenNumber=$2
+  typeset primaryServer=$3
+  typeset backupServer=$4
+  typeset localGenTimestamp=$5
+
+  typeset gpfsObjectInfo kword sdrservPort mmsdrcliResult
+  typeset genNumber runningCmnd junk sdrfsFile timeout
+  typeset envLevel firstChoice secondChoice rshPath rcpPath
+  typeset expirationData currentTime genTimestamp sdrfsFormatLevel
+  typeset validGenNumber validGenTimestamp expirationTime
+  typeset newKeyGenNumber committedKeyGenNumber secLevel
+  typeset needToRefresh=true
+  typeset versionLine=""
+  typeset lockResult=""
+  typeset rc=0
+
+  # Some initialization
+  $rm -f $mmsdrfsShadow
+  [[ $backupServer = "_NOSECONDARY_" ]] && backupServer=""
+
+  # Find our node name and node number.
+  getLocalNodeData
+
+  # Processing depends on whether a lock is requested or not.
+  if [[ $lockId != nolock ]]
+  then
+    # If a lock is requested, get it.
+    # This will also ensure that we have the latest mmsdrfs data.
+    lockResult=$(getLockOnServer $primaryServer $lockId WAIT $localGenNumber)
+    rc=$?
+
+    # Look at the result from the lock request.
+    # If it is more than one word, we assume it is an error message.
+    set -f ; set -- $lockResult ; set +f
+    gpfsObjectInfo=$1
+    junk=$2
+    if [[ -z $gpfsObjectInfo || $gpfsObjectInfo = fail || -n $junk || $rc -ne 0 ]]
+    then
+      # Print error message (if any) from getLockOnServer, as well as
+      # a message stating we were unable to get the lock.  Then exit.
+      [[ -n $junk ]] && print -u2 "$lockResult"
+      printErrorMsg 398 $mmcmd $primaryServer
+      return 1
+    fi
+
+    # If we get here, the lock was successfully obtained.
+    sdrLocked=yes
+
+  else
+    # No lock needed.  See if the local mmsdrfs data can be trusted.
+
+    # If this node is one of the repository server nodes,
+    # its mmsdrfs file is up to date by definition.
+    if [[ $ourNodeName = $primaryServer || $ourNodeName = $backupServer ]]
+    then
+      needToRefresh=false
+
+    # If the sdr is locked as part of mmstartup processing,
+    # we might be able to save a trip to the server.
+    elif [[ -s $mmSdrLockExp ]]
+    then
+      # Find the value of the gen number and the time period
+      # for which it is promised not to change.
+      expirationData=$($head -1 $mmSdrLockExp 2>/dev/null)
+      IFS=':'
+      set -f ; set -- $expirationData ; set +f
+      kword=$1
+      validGenNumber=$2
+      validGenTimestamp=$3
+      expirationTime=$4
+      IFS="$IFS_sv"
+
+      [[ $kword != mmSdrLockExp ]] &&  \
+        corruptedSdrFileExit 140 "$expirationData"
+
+      # See if the local data is current.
+      currentTime=$($perl -e 'print time')
+      if [[ $currentTime -lt $expirationTime &&
+            $localGenNumber -eq $validGenNumber &&
+            $localGenTimestamp -eq $validGenTimestamp ]]
+      then
+        # The local data is guaranteed to be up to date.
+        $mmTRACE "Local data guaranteed  - expiration time $expirationTime"
+        needToRefresh=false
+      elif [[ $currentTime -ge $expirationTime ]]
+      then
+        # If the mmSdrLockExp file is old, get rid of it.
+        $mmTRACE "Removing the mmSdrLockExp file"
+        $rm -f $mmSdrLockExp
+      else
+        :  # do nothing
+      fi  # end of if [[ $currentTime -lt $expirationTime && ... ]]
+
+    # Try to get the Gpfs object using the mmsdrserv daemon.
+    # If something goes wrong, ignore the error and continue
+    # with the traditional refresh processing.
+    else
+      # Retrieve the tcp port number for the mmsdserv daemon.
+      sdrservPort=$(getSdrservPort $mmsdrfsFile)
+      checkForErrors getSdrservPort $?
+
+      # If the mmsdrserv TCP port number is set to 0,
+      # the user does not want to use the mmsdrserv daemon.
+      if [[ $sdrservPort -ne 0 ]]
+      then
+        # Find the value of the mmsdrservTimeout parameter.
+        timeout=$(showCfgValue mmsdrservTimeout)
+        [[ -z $timeout ]] && timeout=10
+
+        # If we have two servers, we will spread the work by picking a
+        # server depending on our node number.  If the first choice fails,
+        # then we'll try the second one.
+        if [[ -n $backupServer && $ourNodeNumber%2 -eq 0 ]]
+        then
+          firstChoice=$backupServer
+          secondChoice=$primaryServer
+        else
+          firstChoice=$primaryServer
+          secondChoice=$backupServer
+        fi  # end of if [[ -n $backupServer && $ourNodeNumber%2 -eq 0 ]]
+
+#esjdbg # Show msgs during development and testing only.
+#esjdbg mmsdrcliResult=$($mmsdrcli getObjSdrfs  \
+#esjdbg   $firstChoice $sdrservPort $timeout $localGenNumber $mmsdrfsShadow)
+        mmsdrcliResult=$($mmsdrcli getObjSdrfs  \
+          $firstChoice $sdrservPort $timeout    \
+          $localGenNumber $mmsdrfsShadow 2>>$mmsdrservLog)
+        rc=$?
+
+        if [[ -z $mmsdrcliResult || $mmsdrcliResult != Gpfs* || $rc -ne 0 ]]
+        then
+          # The first attempt failed; try the other server (if there is one).
+          if [[ -n $secondChoice ]]
+          then
+#esjdbg     # Show msgs during development and testing only.
+#esjdbg     mmsdrcliResult=$($mmsdrcli getObjSdrfs  \
+#esjdbg       $secondChoice $sdrservPort $timeout $localGenNumber $mmsdrfsShadow)
+            mmsdrcliResult=$($mmsdrcli getObjSdrfs  \
+              $secondChoice $sdrservPort $timeout   \
+              $localGenNumber $mmsdrfsShadow 2>>$mmsdrservLog)
+            rc=$?
+          fi
+        fi  # end of if [[ -z $mmsdrcliResult || $mmsdrcliResult != Gpfs* ...
+
+        if [[ $mmsdrcliResult = Gpfs* && $rc -eq 0 ]]
+        then
+          # The mmsdrcli call worked; we either already have the latest data,
+          # or the latest data was put in file mmsdrfsShadow.
+          $mmTRACE "Local data verified via mmsdrcli getObjSdrfs."
+          needToRefresh=false
+        else
+          : # mmsdrcli failed; we'll try sendClusterSDRFiles in a second.
+        fi  # end of if [[ $mmsdrcliResult = Gpfs* && $rc -ne 0 ]]
+      fi  # end of if [[ $sdrservPort -ne 0 ]]
+    fi  # end if [[ $ourNodeName = $primaryServer || $ourNodeName = $backupServer ]]
+
+    # We come here if we still need to get the data from one of the servers.
+    if [[ $needToRefresh = true ]]
+    then
+      # If we have two servers, we will spread the work by picking a
+      # server depending on our node number.  If the first choice fails,
+      # then we'll try the second one.
+      if [[ -n $backupServer && $ourNodeNumber%2 -eq 0 ]]
+      then
+        firstChoice=$backupServer
+        secondChoice=$primaryServer
+      else
+        firstChoice=$primaryServer
+        secondChoice=$backupServer
+      fi  # end of if [[ -n $backupServer && $ourNodeNumber%2 -eq 0 ]]
+
+      # Tell the primary server to send the latest version of
+      # the mmsdrfs file if our local version is not current.
+      # If sent, it will initially be stored in a shadow file
+      # until the rest of the system files are successfully updated.
+      mmcommonOutput=$($mmcommon on1 $firstChoice  \
+        sendClusterSDRFiles $localGenNumber $ourNodeName $mmsdrfsShadow $lockId)
+      rc=$?
+
+      # Look at the result from the sendClusterSDRFiles request.
+      # If it is more than one word, we assume it is an error message.
+      set -f ; set -- $mmcommonOutput ; set +f
+      gpfsObjectInfo=$1
+      junk=$2
+      if [[ -z $gpfsObjectInfo || $gpfsObjectInfo = fail || -n $junk || $rc -ne 0 ]]
+      then
+        # Give up if a backup server is not defined.
+        if [[ -z $secondChoice ]]
+        then
+          # Print error message from sendClusterSDRFiles.
+          [[ -n $junk ]] && print -u2 "$mmcommonOutput"
+          # Attempt to get data from primary server failed.
+          printErrorMsg 342 $mmcmd $firstChoice
+          return 1
+        fi
+
+        # Issue a warning:  Attempt to get data from primary server failed.
+        printErrorMsg 341 $mmcmd $firstChoice
+        rc=0
+
+        # Tell the backup server to send the latest version of
+        # the mmsdrfs file if our local version is not current.
+        mmcommonOutput=$($mmcommon on1 $secondChoice  \
+          sendClusterSDRFiles $localGenNumber $ourNodeName $mmsdrfsShadow $lockId)
+        rc=$?
+
+        # Look at the result from the sendClusterSDRFiles request.
+        # If it is more than one word, we assume it is an error message.
+        set -f ; set -- $mmcommonOutput ; set +f
+        gpfsObjectInfo=$1
+        junk=$2
+        if [[ -z $gpfsObjectInfo || $gpfsObjectInfo = fail || -n $junk || $rc -ne 0 ]]
+        then
+          # Print error message from sendClusterSDRFiles.
+          [[ -n $junk ]] && print -u2 "$mmcommonOutput"
+          # Attempt to get data from backup server failed.
+          printErrorMsg 342 $mmcmd $secondChoice
+          return 1
+        fi
+      fi  # end if [[ -z $gpfsObjectInfo || -n $junk || $rc -ne 0 ]]
+    fi  # end if [[ $needToRefresh = true ]]
+  fi  # end if [[ $lockId != nolock ]]
+
+
+  # At this point we have the lock (if it was requested) and the latest
+  # mmsdrfs information is either already in file mmsdrfsFile or it was
+  # put by one of the servers in file mmsdrfsShadow.
+  # Decide which file to use to get the latest information.
+  if [[ -f $mmsdrfsShadow ]]
+  then
+    sdrfsFile=$mmsdrfsShadow
+  else
+    sdrfsFile=$mmsdrfsFile
+  fi
+
+  # Parse the version line of the mmsdrfs file.
+  versionLine=$($head -1 $sdrfsFile)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+
+  # Perform a quick sanity check.
+  [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] &&  \
+    corruptedSdrFileExit 130 "$versionLine"
+
+  # Extract the fields that we must return to the caller.
+  sdrfsFormatLevel=${v[$SDRFS_FORMAT_Field]}
+  genNumber=${v[$SDRFS_GENNUM_Field]}
+  runningCmnd=${v[$RUNNING_CMD_Field]}
+  primaryServer=${v[$PRIMARY_SERVER_Field]}
+  backupServer=${v[$BACKUP_SERVER_Field]}
+  rshPath=${v[$RSH_PATH_Field]}
+  rcpPath=${v[$RCP_PATH_Field]}
+  genTimestamp=${v[$GENNUM_TSTAMP_Field]}
+  [[ -z $genTimestamp ]] && genTimestamp=0
+  environmentType=${v[$CLUSTER_SUBTYPE_Field]}
+  [[ -z $environmentType ]] && environmentType=$MMMODE
+  newKeyGenNumber=${v[$NEW_KEY_Field]}
+  [[ -z $newKeyGenNumber ]] && newKeyGenNumber=0
+  committedKeyGenNumber=${v[$COMMITTED_KEY_Field]}
+  [[ -z $committedKeyGenNumber ]] && committedKeyGenNumber=$newKeyGenNumber
+  secLevel=${v[$SECLEVEL_Field]}
+  [[ -z $secLevel ]] && secLevel=0
+
+  # Build the Gpfs object information.
+  gpfsObjectInfo="$sdrfsFormatLevel:$genNumber:$runningCmnd"
+
+  # Rebuild the GPFS environment if necessary.
+  checkMmfsEnvironment $sdrfsFile $genNumber $newKeyGenNumber  \
+                       $committedKeyGenNumber $secLevel
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # Rebuild the rest of the system files.
+    updateMmfsEnvironment $HOME_CLUSTER $sdrfsFile
+    checkForErrors updateMmfsEnvironment $?
+  fi
+
+  if [[ -f $mmsdrfsShadow ]]
+  then
+    # Things seem to have worked ok.
+    # Commit the latest level.
+    $mv $mmsdrfsShadow $mmsdrfsFile
+    checkForErrors mv $?
+    $mmsync $mmsdrfsFile
+
+    # Make sure that non-privileged commands can read this file.
+    $chmod a+r $mmsdrfsFile >/dev/null 2>&1
+  fi
+
+  # Put out the results and return.
+  [[ -z $backupServer ]] && backupServer="_NOSECONDARY_"
+  [[ -z $rshPath ]] && rshPath="_DEFAULT_"
+  [[ -z $rcpPath ]] && rcpPath="_DEFAULT_"
+  print -- "$MMMODE $sdrLocked $HOME_CLUSTER $ourNodeNumber $gpfsObjectInfo"  \
+           "$primaryServer $backupServer $ourNodeName $rshPath $rcpPath"   \
+           "$genNumber $genTimestamp $environmentType $ourShortName $sdrfsFormatLevel"
+
+  return 0
+
+}  #----- end of function gpfsClusterInit ------------------------
+
+
+#############################################################################
+#
+# Function:  When the primary and backup servers are not available,
+#            try to get the latest mmsdrfs data by polling all nodes
+#            and retrieving the data from the node with the highest
+#            generation number.
+#
+# Input:     $1 - file with the names of the nodes to consider
+#
+# Output:    This function prints a line with the following values:
+#              mmmode          - command mode
+#              sdrLocked       - yes or no
+#              nodesetId       - HOME_CLUSTER
+#              ourNodeNumber   - the node number of this node
+#              gpfsObjectInfo  - the most current value of the Gpfs object
+#              primaryServer   - primary server for obtaining sdrfs data
+#              backupServer    - secondary server for obtaining sdrfs data
+#              ourNodeName     - the reliable hostname of this node
+#              rshPath         - remote shell command or _DEFAULT_
+#              rcpPath         - remote file copy command or _DEFAULT_
+#              sdrGenNumber    - most recent mmsdrfs generation number
+#              sdrGenTimestamp - timestamp of the mmsdrfs generation number
+#              environmentType - environment within which GPFS is defined
+#              ourShortName    - the unqualified name of the GPFS adapter
+#              sdrfsFormatLevel- the format level of the mmsdrfs file
+#
+#            Note:  sdrLocked is a global variable and its value is not
+#                   altered unless a lock is obtained.
+#
+# Returns:   0 - files refreshed successfully
+#            non-zero - unexpected error
+#
+#############################################################################
+function gpfsInitFromNonServer  #  <nodeNamesFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgpfsInitFromNonServer ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodeNamesFile=$1
+
+  typeset localGenNumber primaryServer backupServer runningCmnd
+  typeset mostRecentPrimaryServer mostRecentBackupServer rshPath rcpPath
+  typeset mostRecentGenNumber mmmode junk sdrfsFormatLevel
+  typeset gpfsObjectInfo mmcommonOutput nodeName
+  typeset environmentType mostRecentGenTimestamp
+  typeset -i ourNodeNumber
+  typeset rc=0
+  typeset mmdshNodeName=0
+  typeset versionLine=""
+
+  if [[ ! -f $mmsdrfsFile ]]
+  then
+    # Either the node does not belong to a cluster
+    # or the config information is lost/corrupted.
+    printErrorMsg 282 $mmcmd
+    cleanupAndExit
+  fi
+
+  # Parse the version line from the local mmsdrfs file.
+  versionLine=$($head -1 $mmsdrfsFile)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+
+  # Perform a quick sanity check.
+  [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] &&  \
+    corruptedSdrFileExit 131 "$versionLine"
+
+  # Retrieve the cluster environment, the generation number,
+  # and a few other things.
+  if [[ -z ${v[$CLUSTER_TYPE_Field]} ]]
+  then
+    mmmode=sp
+  else
+    mmmode=${v[$CLUSTER_TYPE_Field]}
+  fi
+
+  # Retrieve other needed information.
+  sdrfsFormatLevel=${v[$SDRFS_FORMAT_Field]}
+  localGenNumber=${v[$SDRFS_GENNUM_Field]}
+  runningCmnd=${v[$RUNNING_CMD_Field]}
+  primaryServer=${v[$PRIMARY_SERVER_Field]}
+  backupServer=${v[$BACKUP_SERVER_Field]}
+  rshPath=${v[$RSH_PATH_Field]}
+  rcpPath=${v[$RCP_PATH_Field]}
+  mostRecentGenTimestamp=${v[$GENNUM_TSTAMP_Field]}
+  [[ -z $mostRecentGenTimestamp ]] && mostRecentGenTimestamp=0
+  environmentType=${v[$CLUSTER_SUBTYPE_Field]}
+  [[ -z $environmentType ]] && environmentType=$mmmode
+  [[ $mmmode != $environmentType && $environmentType != lc2 ]] &&  \
+    environmentType="rpd"
+
+  # Export global variables.
+  export MMMODE=$mmmode
+  export environmentType=$environmentType
+  if [[ -n $rshPath && $rshPath != "_DEFAULT_" ]]
+  then
+    rsh="$rshPath"
+    export GPFS_rshPath="$rshPath"
+  fi
+  if [[ -n $rcpPath && $rcpPath != "_DEFAULT_" ]]
+  then
+    rcp="$rcpPath"
+    export GPFS_rcpPath="$rcpPath"
+  fi
+
+  if [[ $MMMODE != lc && $MMMODE != single ]]
+  then
+    # Unknown GPFS nodeset type
+    printErrorMsg 338 $mmcmd $MMMODE
+    cleanupAndExit
+  fi
+
+  # Find our node name and node number.
+  getLocalNodeData
+
+  # If there are no other nodes, assume the local node has good data.
+  if [[ ! -s $nodeNamesFile ]]
+  then
+    # Build the Gpfs object information.
+    gpfsObjectInfo="$sdrfsFormatLevel:$localGenNumber:$runningCmnd"
+
+    # Put out the results and return.
+    [[ -z $backupServer ]] && backupServer="_NOSECONDARY_"
+    [[ -z $rshPath ]] && rshPath="_DEFAULT_"
+    [[ -z $rcpPath ]] && rcpPath="_DEFAULT_"
+    print -- "$MMMODE $sdrLocked $HOME_CLUSTER $ourNodeNumber $gpfsObjectInfo"  \
+             "$primaryServer $backupServer $ourNodeName $rshPath $rcpPath"   \
+             "$localGenNumber $mostRecentGenTimestamp $environmentType"  \
+             "$ourShortName $sdrfsFormatLevel"
+    return 0
+  fi
+
+  # Collect the version lines from the local copies
+  # of the mmsdrfs file on each of the nodes.
+  $mmcommon onall $nodeNamesFile $unreachedNodes  \
+                     adminCmd $head -1 $mmsdrfsFile > $tmpfile
+
+  # If no version lines were returned, either all the nodes are down
+  # or something is very, very wrong.
+  if [[ ! -s $tmpfile ]]
+  then
+    : #esj handle this case better
+    checkForErrors "gpfsInitFromNonServer: All nodes are down or sdr data corrupted" 1
+  fi
+
+  # Sort the information based on the generation number field.
+  # Note:  The generation number is field 6 but because mmdsh
+  # prepends "nodename: " to each line, we specify sort key 7.
+  $sort -t: -k 7,7nr -o $tmpfile $tmpfile
+  checkForErrors "gpfsInitFromNonServer: sort $tmpfile" $?
+
+  # Extract the most recent generation number, primary and backup
+  # server names.  Create a list of the nodes with good mmsdrfs data.
+
+  # Prepare the file for reading.
+  IFS=":"
+  exec 3<&-
+  exec 3< $tmpfile
+
+  # Read the first line.
+  read -u3 versionLine
+
+  # Parse the line.  Unlike elsewhere in the code, here we do not have to shift
+  # the fields to account for v[0] not having a value.  This is one of the few
+  # instances where v[0] has meaningful information, i.e., the node name
+  # prepended by the mmdsh command.
+  set -f ; set -A v - $versionLine ; set +f
+
+  # Start a list of nodes with good mmsdrfs data.
+  print -- "${v[$mmdshNodeName]}" > $tmpfile2
+
+  # Get the most recent values for the fields of interest.
+  mostRecentGenNumber=${v[$SDRFS_GENNUM_Field]}
+  mostRecentPrimaryServer=${v[$PRIMARY_SERVER_Field]}
+  mostRecentBackupServer=${v[$BACKUP_SERVER_Field]}
+  mostRecentGenTimestamp=${v[$GENNUM_TSTAMP_Field]}
+  [[ -z $mostRecentGenTimestamp ]] && mostRecentGenTimestamp=0
+
+  # Go through the rest of the file to be sure that there are no discrepancies.
+  while read -u3 versionLine
+  do
+    # Parse the line.  See parsing comments above.
+    set -f ; set -A v - $versionLine ; set +f
+
+    # Stop if we are past the section with the most recent nodes.
+    [[ $mostRecentGenNumber -gt ${v[$SDRFS_GENNUM_Field]} ]] &&  \
+      break
+
+    # Verify that the information is consistent.
+    if [[ $mostRecentPrimaryServer != ${v[$PRIMARY_SERVER_Field]} ||
+          $mostRecentBackupServer  != ${v[$BACKUP_SERVER_Field]}  ]]
+    then
+      checkForErrors  \
+        "gpfsInitFromNonServer: sdr data corrupted (multiple server definitions)" 1
+    fi
+
+    # Add the node to the list of nodes with good mmsdrfs data.
+    print -- "${v[$mmdshNodeName]}" >> $tmpfile2
+
+  done  # end while read -u3 versionLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+  # If we already have the latest level of the mmsdrfs file, we are done.
+  if [[ $localGenNumber = $mostRecentGenNumber ]]
+  then
+    # Verify that the information is consistent.
+    if [[ $primaryServer != $mostRecentPrimaryServer ||
+          $backupServer  != $mostRecentBackupServer  ]]
+    then
+      checkForErrors  \
+        "gpfsInitFromNonServer: sdr data corrupted (multiple server definitions)" 1
+    fi
+
+    # Build the Gpfs object information.
+    gpfsObjectInfo="$sdrfsFormatLevel:$localGenNumber:$runningCmnd"
+
+    # Put out the results and return.
+    [[ -z $backupServer ]] && backupServer="_NOSECONDARY_"
+    [[ -z $rshPath ]] && rshPath="_DEFAULT_"
+    [[ -z $rcpPath ]] && rcpPath="_DEFAULT_"
+    print -- "$MMMODE $sdrLocked $HOME_CLUSTER $ourNodeNumber $gpfsObjectInfo"  \
+             "$primaryServer $backupServer $ourNodeName $rshPath $rcpPath"   \
+             "$mostRecentGenNumber $mostRecentGenTimestamp $environmentType" \
+             "$ourShortName $sdrfsFormatLevel"
+    return 0
+  fi
+
+  # If we get here, we know that our version of the mmsdrfs file is not
+  # the latest.  Request the latest mmsdrfs file from one of the nodes
+  # that are listed in file tmpfile2.  Keep trying until successful.
+  exec 3<&-
+  exec 3< $tmpfile2
+  while read -u3 nodeName
+  do
+    mmcommonOutput=$($mmcommon on1 $nodeName  \
+      sendClusterSDRFiles $localGenNumber $ourNodeName $mmsdrfsShadow nolock)
+    rc=$?
+
+    # Look at the result from the sendClusterSDRFiles request.
+    # If it is more than one word, we assume it is an error message.
+    set -f ; set -- $mmcommonOutput ; set +f
+    gpfsObjectInfo=$1
+    junk=$2
+    if [[ -z $gpfsObjectInfo || $gpfsObjectInfo = fail || -n $junk || $rc -ne 0 ]]
+    then
+      # If this node failed, try the next one.
+      continue
+    else
+      # We should have the latest mmsdrfs file.
+      break
+    fi
+  done  # end while read -u3 nodeName
+
+  # If none of the sendClusterSDRFiles requests was successful, give up.
+  if [[ -z $gpfsObjectInfo || $gpfsObjectInfo = fail || -n $junk || $rc -ne 0 ]]
+  then
+    checkForErrors  \
+      "gpfsInitFromNonServer: multiple sendClusterSDRFiles failure" 1
+  fi
+
+  # At this point we have the latest mmsdrfs information in file mmsdrfsShadow.
+  # Parse the version line to collect the last missing pieces of information.
+  versionLine=$($head -1 $mmsdrfsShadow)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+  [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] &&  \
+    checkForErrors "gpfsInitFromNonServer: Missing or invalid $mmsdrfsShadow" 1
+
+  sdrfsFormatLevel=${v[$SDRFS_FORMAT_Field]}
+  primaryServer=${v[$PRIMARY_SERVER_Field]}
+  backupServer=${v[$BACKUP_SERVER_Field]}
+  rshPath=${v[$RSH_PATH_Field]}
+  rcpPath=${v[$RCP_PATH_Field]}
+  mostRecentGenTimestamp=${v[$GENNUM_TSTAMP_Field]}
+  [[ -z $mostRecentGenTimestamp ]] && mostRecentGenTimestamp=0
+  environmentType=${v[$CLUSTER_SUBTYPE_Field]}
+  [[ -z $environmentType ]] && environmentType=$MMMODE
+  [[ $mmmode != $environmentType && $environmentType != lc2 ]] &&  \
+    environmentType="rpd"
+
+  # Rebuild the GPFS environment.
+  updateMmfsEnvironment $HOME_CLUSTER $mmsdrfsShadow
+  checkForErrors updateMmfsEnvironment $?
+
+  # Things seem to have worked OK.  Commit the latest level.
+  $mv $mmsdrfsShadow $mmsdrfsFile
+  checkForErrors "gpfsInitFromNonServer: mv $mmsdrfsShadow" $?
+  $mmsync $mmsdrfsFile
+
+  # Make sure that non-privileged commands can read this file.
+  $chmod a+r $mmsdrfsFile >/dev/null 2>&1
+
+  # Put out the results and return.
+  [[ -z $backupServer ]] && backupServer="_NOSECONDARY_"
+  [[ -z $rshPath ]] && rshPath="_DEFAULT_"
+  [[ -z $rcpPath ]] && rcpPath="_DEFAULT_"
+  print -- "$MMMODE $sdrLocked $HOME_CLUSTER $ourNodeNumber $gpfsObjectInfo"  \
+           "$primaryServer $backupServer $ourNodeName $rshPath $rcpPath"   \
+           "$mostRecentGenNumber $mostRecentGenTimestamp $environmentType" \
+           "$ourShortName $sdrfsFormatLevel"
+
+  return 0
+
+}  #----- end of function gpfsInitFromNonServer --------------------
+
+
+###########################################################################
+#
+# Function:  If cluster type is lc or single, this function works exactly
+#            as gpfsInit.  For other cluster types (sp, rpd, hacmp) the
+#            function will return the same information as gpfsInit but
+#            there will be no retrival of data from the primary server
+#            and locking will be simulated.  This is intended to support
+#            mmexportfs and mmdelnode to allow a system to be migrated
+#            to cluster type lc.
+#
+# Input:     $1 - Process id to be used as an identifier for
+#                 the sdr lock, or the string 'nolock'.
+#
+# Output:    The function prints a line with the following values:
+#              mmmode          - command mode (sp, hacmp, ...)
+#              sdrLocked       - yes or no
+#              nodesetId       - nodeset identifier or 0 (if the node
+#                                is not a member of any known nodeset)
+#              ourNodeNumber   - the node number assigned to this node
+#              gpfsObjectInfo  - the most current value of the Gpfs object
+#              primaryServer   - hostname of primary server or _NOPRIMARY_
+#              backupServer    - hostname of backup server or _NOSECONDARY_
+#              ourNodeName     - the reliable hostname of this node
+#              rshPath         - remote shell command or _DEFAULT_
+#              rcpPath         - remote file copy command or _DEFAULT_
+#              sdrGenNumber    - most recent mmsdrfs generation number
+#              sdrGenTimestamp - timestamp of the mmsdrfs generation number
+#              environmentType - environment within which GPFS is defined
+#              ourShortName    - the unqualified name of the GPFS adapter
+#              sdrfsFormatLevel- the format level of the mmsdrfs file
+#
+# Returns:   0 - no errors
+#            1 - unexpected error
+#
+###########################################################################
+function gpfsInitGeneric  # <lockId | nolock>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgpfsInitGeneric ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset lockId=$1
+
+  typeset localGenNumber localGenTimestamp versionLine mmmode nodesetId
+  typeset primaryServer backupServer initOutput gpfsObjectInfo
+  typeset sdrfsFormatLevel rshPath rcpPath environmentType
+  typeset rc=0
+
+  # If the mmsdrfs file is missing,
+  # there is a need for manual intervention.
+  if [[ ! -f $mmsdrfsFile ]]
+  then
+    # Either the node does not belong to a cluster
+    # or the config information is lost/corrupted.
+    printErrorMsg 282 $mmcmd
+    cleanupAndExit
+  fi
+
+  # Read and parse the first line of the mmsdrfs file.
+  versionLine=$($head -1 $mmsdrfsFile)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+
+  # Perform a quick sanity check.
+  [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] &&  \
+    corruptedSdrFileExit 134 "$versionLine"
+
+  # Retrieve cluster environment information.
+  mmmode=${v[$CLUSTER_TYPE_Field]}
+  [[ -z $mmmode ]] && mmmode=sp
+  sdrfsFormatLevel=${v[$SDRFS_FORMAT_Field]}
+  localGenNumber=${v[$SDRFS_GENNUM_Field]}
+  gpfsObjectInfo="${sdrfsFormatLevel}:${localGenNumber}:"
+  primaryServer=${v[$PRIMARY_SERVER_Field]}
+  [[ -z $primaryServer ]] && primaryServer="_NOPRIMARY_"
+  backupServer=${v[$BACKUP_SERVER_Field]}
+  [[ -z $backupServer ]] && backupServer="_NOSECONDARY_"
+  localGenTimestamp=${v[$GENNUM_TSTAMP_Field]}
+  [[ -z $localGenTimestamp ]] && localGenTimestamp=0
+  rshPath=${v[$RSH_PATH_Field]}
+  [[ -z $rshPath ]] && rshPath="_DEFAULT_"
+  rcpPath=${v[$RCP_PATH_Field]}
+  [[ -z $rcpPath ]] && rcpPath="_DEFAULT_"
+  environmentType=${v[$CLUSTER_SUBTYPE_Field]}
+  [[ -z $environmentType ]] && environmentType=$mmmode
+  [[ $mmmode != $environmentType && $environmentType != lc2 ]] &&  \
+    environmentType="rpd"
+
+  # Make the mode value globally available.
+  export MMMODE=$mmmode
+  export environmentType=$environmentType
+
+  # Export remote commands if necessary.
+  if [[ -n $rshPath && $rshPath != "_DEFAULT_" ]]
+  then
+    rsh="$rshPath"
+    export GPFS_rshPath="$rshPath"
+  fi
+  if [[ -n $rcpPath && $rcpPath != "_DEFAULT_" ]]
+  then
+    rcp="$rcpPath"
+    export GPFS_rcpPath="$rcpPath"
+  fi
+
+  # Depending on the environment,
+  # invoke the appropriate initialization routine.
+  if [[ $MMMODE = lc || $MMMODE = single ]]
+  then
+    # We are dealing with a supported GPFS cluster environment.
+    # Everything works as expected.
+    initOutput=$(gpfsClusterInit $lockId $localGenNumber  \
+                    $primaryServer $backupServer $localGenTimestamp)
+    rc=$?
+
+  elif [[ $MMMODE = sp || $MMMODE = rpd || $MMMODE = hacmp ]]
+  then
+    # We are dealing with an obsolete GPFS cluster environment.
+    # Pretend that the local file is up to date and return the
+    # global values.  If a lock is requested, pretend the lock
+    # is indeed obtained.  Make up any missing information.
+    # This function should be called only in a strictly controlled
+    # environment where the user is responsible for not creating
+    # conflicts.
+
+    # Ignore the lock request.  We are relying on the user
+    # not to run two commands at the same time.
+    sdrLocked=no
+
+    # Determine the local node data.  If file mmfsNodeData is
+    # missing, there is a need for manual intervention.
+    [[ ! -f $mmfsNodeData ]] &&  \
+      checkForErrors "gpfsInitGeneric: Missing file $mmfsNodeData" 1
+    getLocalNodeData
+
+    # Find out the nodeset to which this node belongs.
+    nodesetId=$(findNodesetId $mmsdrfsFile $ourNodeNumber)
+    [[ -z $nodesetId ]] && nodesetId=0
+
+    initOutput=$(print -- "$MMMODE $sdrLocked $nodesetId $ourNodeNumber"    \
+                          "$gpfsObjectInfo $primaryServer $backupServer"    \
+                          "$ourNodeName $rshPath $rcpPath $localGenNumber"  \
+                          "$localGenTimestamp $environmentType"             \
+                          "$ourShortName $sdrfsFormatLevel")
+    rc=0
+
+  else
+    # Unknown GPFS execution environment
+    printErrorMsg 338 $mmcmd $MMMODE
+    cleanupAndExit
+
+  fi  # end if [[ $MMMODE = lc || $MMMODE = single ]]
+
+  [[ -z $initOutput || $rc -ne 0 ]] &&  \
+    return 1
+
+  # Things must have worked.
+  print -- "$initOutput"
+  return 0
+
+}  #----- end of function gpfsInitGeneric ------------------------
+
+
+####################################################################
+#
+# Function:  Removes file mmSdrLockExp after the data is not valid
+#            any more.  If requested, unlocks the sdr.
+#            This function is intended to run as a background job.
+#
+# Input:     $1 - expiration data.  The format is:
+#                 mmSdrLockExp:<sdrGenNumber>:<sdrGenTimestamp>:<expirationTime>
+#            $2 - lock action: unlock or doNotUnlock
+#
+# Output:    None.
+#
+# Returns:   Always zero.
+#
+####################################################################
+function expirationDataCleanup # <expirationData> <lockAction>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGexpirationDataCleanup ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset expirationData=$1
+  typeset lockAction=$2
+
+  typeset kword expirationTime currentTime waitPeriod
+  typeset safetyInterval=5
+
+  # Parse the input.
+  IFS=':'
+  set -f ; set -- $expirationData ; set +f
+  kword=$1
+  expirationTime=$4
+  IFS="$IFS_sv"
+
+  # Sanity check.
+  [[ $kword != mmSdrLockExp ]] &&  \
+    corruptedSdrFileExit 138 "$expirationData"
+
+  # Calculate how much to wait.
+  currentTime=$($perl -e 'print time')
+  (( waitPeriod = expirationTime - currentTime ))
+
+  [[ $waitPeriod -gt 0 ]] &&  \
+    sleep $waitPeriod
+
+  # At this point the mmSdrLockExp file is obsolete.
+  $mmTRACE "Removing the mmSdrLockExp file"
+  $rm -f $mmSdrLockExp
+
+  # If we need to free the lock, wait a few more seconds
+  # to allow in-flight processes to finish their work.
+  if [[ $lockAction = unlock ]]
+  then
+    sleep $safetyInterval
+
+    # Initialize some variables and free the lock.
+    getLocalNodeData
+    primaryServer=$($head -1 $mmsdrfsFile | $GETVALUE $PRIMARY_SERVER_Field)
+    freeLockOnServer $primaryServer > /dev/null
+  fi
+
+  $mmTRACE_EXIT 0
+  return 0
+
+}  #----- end of function expirationDataCleanup ----------------
+
+
+####################################################################
+#
+# Function:  Used to check operations after the lock directory
+#            is created, but before the lock function completes.
+#            Verifies that a command executed successfully.
+#            If the return code from the command is not zero,
+#            the function issues a message, performs cleanup
+#            and stops processing.
+#
+# Input:     $1 - name of the command to check
+#            $2 - return code from the execution of the command
+#
+####################################################################
+function checkForErrorsAndUnlock # <cmdString> <rc>
+{
+  if [ $2 != "0" ]
+  then
+    $mmTRACE "sdr lock RELEASED"
+    $rm -rf $lockdir 2>/dev/null
+    # Unexpected error
+    printErrorMsg 171 "$mmcmd" "$1" $2
+    cleanupAndExit
+  fi
+
+}  #----- end of function checkForErrorsAndUnlock ----------------
+
+
+####################################################################
+#
+# Function:  Check operations after the local env lock directory
+#            is created, but before the lock function completes.
+#            Verifies that a command executed successfully.
+#            If the return code from the command is not zero,
+#            the function issues a message, performs cleanup
+#            and stops processing.
+#
+# Input:     $1 - name of the command to check
+#            $2 - return code from the execution of the command
+#
+####################################################################
+function checkForErrorsAndUnlockEnvLock # <cmdString> <rc>
+{
+  if [ $2 != "0" ]
+  then
+    $mmTRACE "mmfsEnvLock RELEASED"
+    $rm -rf $mmfsEnvLockDir 2>/dev/null
+    # Unexpected error
+    printErrorMsg 171 "$mmcmd" "$1" $2
+    cleanupAndExit
+  fi
+
+}  #----- end of function checkForErrorsAndUnlockEnvLock ----------
+
+
+###############################################################################
+#
+# Function:  Obtain the global sdr lock.  If the lock is not available,
+#            verify that the process that holds the lock is still alive.
+#
+#            This function should be executed only on the primary server node.
+#
+# Input:     $1 - lockId
+#
+# Output:    The current value of the Gpfs object, or 'fail'.
+#
+# Returns:   0 - no problems found
+#            1 - unexpected error
+#
+###############################################################################
+function getLock  # <lockId>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetLock ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset lockId=$1
+
+  typeset gpfsObjectInfo v1genNumber v2genNumber
+  typeset pidCheckAll pidCheck
+  typeset lockHolderInfo lockHolderHostname lockHolderPid
+  typeset lockDuration currentTime lockExpirationTime
+  typeset safetyInterval=8
+  typeset rc=0
+
+#esj Call a function that verifies that this still is a valid server.
+
+  # Look at the lockId string.  Normally, it consists of <pid>:<nodeName>.
+  # But if this is the special mmstartup lock, then the format is:
+  #     mmSdrLockExp:<nodeName>:<estimatedStartupTime>
+  # If this is the case, calculate the lock's expiration time and add
+  # it to the lock id string.  This information will be used later to
+  # see if the lock can be freed.
+  if [[ $lockId = mmSdrLockExp* ]]
+  then
+    IFS=':'
+    set -f ; set -- $lockId ; set +f
+    IFS="$IFS_sv"
+    lockHolderHostname=$2
+    lockDuration=$3
+    currentTime=$($perl -e 'print time')
+    (( lockExpirationTime = currentTime + lockDuration + safetyInterval ))
+    lockId="mmSdrLockExp:$lockHolderHostname:$lockDuration:$lockExpirationTime"
+    lockId="$lockId:$5:$6:$7:$8"   # for future extensions
+  fi  # end of if [[ $lockId = mmSdrLockExp* ]]
+
+  # We are on the primary server.  Get the lock.  This is
+  # equivalent to being able to create the lock directory.
+  $mkdir $lockdir 2>/dev/null
+  if [[ $? = 0 ]]
+  then
+    $mmTRACE "$1 lock GRANTED"
+    # We have the lock.  Create a file with the lock id in it.
+    print -- "$lockId" >$haslock
+    checkForErrorsAndUnlock "write to haslock file" $?
+    $mmsync $haslock
+
+    # Find the Gpfs object.
+    gpfsObjectInfo=$(getGpfsObject)
+    checkForErrorsAndUnlock "getLock: getGpfsObject" $?
+    IFS=':'
+    set -f ; set -- $gpfsObjectInfo ; set +f
+    IFS="$IFS_sv"
+    v1genNumber=$1
+    v2genNumber=$2
+    if [[ -z $v2genNumber ]]
+    then
+      # Unexpected value for the Gpfs object.
+      printErrorMsg 286 getLock $gpfsObjectInfo
+      return 1
+    fi
+
+    # Everything worked just fine; return the gpfsObjectInfo.
+    print -- "$gpfsObjectInfo"
+    return 0
+  fi
+
+  # Somebody has the lock (mkdir failed).  See if we can steal it.
+  # Get the pid and hostname of the process that has the lock.
+  lockHolderInfo=$($tail -n -1 $haslock 2>/dev/null)
+  IFS=':'
+  set -f ; set -- $lockHolderInfo ; set +f
+  IFS="$IFS_sv"
+  lockHolderPid=$1
+  lockHolderHostname=$2
+  lockDuration=$3
+  lockExpirationTime=$4
+
+  if [[ -z $lockHolderPid ]]
+  then
+    # If we do not find a process id, we are either jumping in the
+    # middle of some other process getting the lock (the lock
+    # directory was created but the haslock file has not been
+    # created yet), or the haslock file is empty (this can happen
+    # if the node dies before the haslock file makes it to disk).
+    # As far as we are concerned, our lock attempt failed.  We will
+    # give the guy a second to finish writing to the file and if there
+    # is still no pid recorded, we will assume that something went
+    # wrong with the other process and will try to cleanup the mess.
+    # Hopefully, we will get the lock on one of the retries.
+    $sleep 2
+    [[ ! -s $haslock ]] && $rm -r $lockdir 2>/dev/null
+    print -- "fail"
+    return 0
+  fi
+
+  if [[ $lockHolderPid = mmSdrLockExp ]]
+  then
+    # If this is a special lock (with an expiration time associated with it),
+    # see if the lock has expired.  If not, pause for a while before giving up.
+    # The idea is to extend the overall lock waiting period without changing
+    # the rest of the code too much.
+    currentTime=$($perl -e 'print time')
+    if [[ $currentTime -le $lockExpirationTime ]]
+    then
+      $mmTRACE "$1 lock held by $lockHolderHostname $lockHolderPid"
+      $sleep 15
+      print -- "fail"
+      return 0
+    else
+      $mmTRACE "$1 lock held by $lockHolderHostname has expired"
+    fi  # enf of if [[ $currentTime -gt $lockExpirationTime ]]
+
+  else
+    # We have the pid and hostname of the process holding the lock.
+    # See if this process is still alive.
+    if [[ $lockHolderHostname = $ourNodeName ]]
+    then
+      pidCheckAll=$($mmremote pid $lockHolderPid)
+    else
+      pidCheckAll=$($mmcommon on1 $lockHolderHostname pid $lockHolderPid)
+      rc=$?
+    fi
+
+    pidCheck=$(print -- "$pidCheckAll" | $egrep "^(died|alive)$")
+    if [[ $pidCheck != died ]]
+    then
+      $mmTRACE "$1 lock held by $lockHolderHostname $lockHolderPid"
+      # The process that has the lock is still alive, or we could
+      # not determine its status.  Either way, give up.
+      if [[ $pidCheck = alive ]]
+      then
+        print -- "fail"
+        return 0
+      else
+        # Propagate error messages if any.
+        [[ -n $pidCheckAll ]] && print -u2 "$pidCheckAll"
+        printErrorMsg 440 $mmcmd $lockHolderHostname
+        return $rc
+      fi
+    fi  # end of if [[ $pidCheck != died ]]
+  fi  # end of if [[ $lockHolderPid = mmSdrLockExp ]]
+
+  # The other process went away without unlocking or the lock expired.
+  # Steal the lock.
+  $rm -r $lockdir 2>/dev/null
+  $sleep 3    # Got to give competing processes time to not see it.
+  $mkdir $lockdir 2>/dev/null
+  if [[ $? = 0 ]]
+  then
+    # We have the lock.  Create a file with the lock id in it.
+    print -- "$lockId" >$haslock
+    checkForErrorsAndUnlock "write to haslock file" $?
+    $mmsync $haslock
+
+    $mmTRACE "$1 lock STOLEN"
+    # Find the Gpfs object.
+    gpfsObjectInfo=$(getGpfsObject)
+    checkForErrorsAndUnlock "getLock: getGpfsObject" $?
+    IFS=':'
+    set -f ; set -- $gpfsObjectInfo ; set +f
+    IFS="$IFS_sv"
+    v1genNumber=$1
+    v2genNumber=$2
+    if [[ -z $v2genNumber ]]
+    then
+      # Unexpected value for the Gpfs object.
+      printErrorMsg 286 getLock $gpfsObjectInfo
+      return 1
+    fi
+
+    # Everything worked just fine; return the gpfsObjectInfo.
+    $mmTRACE_EXIT "rc=0  Gpfs=$gpfsObjectInfo"
+    print -- "$gpfsObjectInfo"
+    return 0
+  fi
+
+  # We couldn't steal the lock (mkdir failed); give up.
+  $mmTRACE_EXIT "$1 lock request failed"
+  print -- "fail"
+  return 0
+
+}  #----- end of function getLock -------------------------------
+
+
+#############################################################################
+#
+# Function:  Try to obtain the sdr lock on the specified server.
+#            If not available, keep retrying for up to 60 seconds
+#            before giving up.  As a side effect, if necessary,
+#            the latest version of the mmsdrfs file is retrieved
+#            and stored on the local node.
+#
+# Input:     $1 - lockServer
+#            $2 - lockId
+#            $3 - WAIT or NOWAIT
+#            $4 - generation number of the sdr file on the client
+#
+# Output:    The current value of the Gpfs object, or 'fail'.
+#
+# Returns:   0 - no problems found
+#            1 - unexpected error
+#
+#############################################################################
+function getLockOnServer # <lockServer> <lockId> <waitIndicator> <genNumber>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetLockOnServer ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset lockServer=$1
+  typeset lockId=$2
+  typeset waitIndicator=$3
+  typeset genNumber=$4
+
+  typeset -i waitPeriod
+  typeset lockResult gpfsObjectInfo junk
+
+  # If this hasn't been done yet, add the hostname to the lockId.
+  [[ $lockId = ${lockId%:*} ]] &&  \
+    lockId="${lockId}:${ourNodeName}"
+
+  # Pass the lock request either to the routine that actually gets the lock,
+  # or to the lock (primary) server.  Keep doing this until you get the lock
+  # or the wait time exceeds 60 seconds.
+  waitPeriod=4
+  while true
+  do
+    if [[ $ourNodeName = $lockServer ]]
+    then
+      # We are on the primary server.  Try to get the lock.
+      lockResult=$(getLock $lockId)
+    else
+      # If this isn't the primary server, forward the request.
+      lockResult=$($mmcommon on1 $lockServer sendClusterSDRFiles  \
+                  $genNumber $ourNodeName $mmsdrfsShadow $lockId)
+    fi
+
+    # Look at the result from the lock request.
+    # If it is more than one word, we assume it is an error message.
+    set -f ; set -- $lockResult ; set +f
+    gpfsObjectInfo=$1
+    junk=$2
+    if [[ -z $gpfsObjectInfo || -n $junk ]]
+    then
+      # If unexpected output, give up.
+      [[ -n $junk ]] &&  \
+        print -u2 "$lockResult"
+      return 1
+    fi
+
+    if [[ $lockResult != fail ]]
+    then
+      # If we got the lock, and we had to wait for it,
+      # put out a message.  Return the latest gpfs object.
+      [[ $waitPeriod -gt 4 ]] &&  \
+        printErrorMsg 128 $mmcmd
+      print -- "$gpfsObjectInfo"
+      return 0
+    fi
+
+    if [[ $waitIndicator = NOWAIT ]]
+    then
+      # The lock is not available and we have NOWAIT option
+      print -- "fail"
+      return 0
+    fi
+
+    if [[ $waitPeriod -gt 11 ]]
+    then
+      # The lock is still not available and we have waited over 60 sec.
+      # Its time to give up.
+      printErrorMsg 129 $mmcmd
+      print -- "fail"
+      return 0
+    fi
+
+    # The lock is not available right away.  We will try again after
+    # pausing for a few seconds.  The first time around we wait 4 seconds,
+    # then after each iteration we will increase the wait period by a second.
+    # After the interim wait period becomes 11 seconds, which brings the
+    # total wait to 60 seconds, we'll give up.
+    #
+    # Note:  If this is a special lock (with an expiration time associated
+    #        with it), there is an additional pause in the getLock function
+    #        which increases the total lock waiting period.
+    #
+    [[ $waitPeriod -eq 4 ]] &&  \
+      printErrorMsg 127 $mmcmd
+    $sleep $waitPeriod
+    (( waitPeriod += 1 ))
+    continue
+  done  # end while true
+
+  return 1    # should never get here
+
+}  #----- end of function getLockOnServer ---------------------
+
+
+####################################################################
+#
+# Function:  Free the global sdr lock.
+#
+# Input:     $1 - nodeNumber
+#            $2 - lock server
+#
+# Output:    'ok' or 'error'
+#
+# Returns:   0
+#
+####################################################################
+function freeLock  # <nodeNumber> [<lockServer>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGfreeLock ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodeNumber=$1
+  typeset lockServer=$2
+
+  typeset unlockOutput unlockResult junk
+  typeset rc=0
+
+  [[ -z $lockServer ]] && lockServer=$primaryServer
+
+  # If this is the lock server, remove the lock.
+  if [[ $nodeNumber -eq 0 ]]
+  then
+    # Remove the lock
+    $mmTRACE "lock RELEASED"
+    $rm -r $lockdir 2>/dev/null
+    if [[ $? -eq 0 ]]
+    then
+      print -- "ok"
+    else
+      print -- "error"
+    fi
+    return 0
+  fi
+
+  # Otherwise, send the request to the lock server.
+  unlockOutput=$($mmcommon on1 $lockServer unlock 0)
+
+  set -f ; set -- $unlockOutput ; set +f
+  unlockResult=$1
+  junk=$2
+  if [[ -z $unlockResult || -n $junk ]]
+  then
+    print -- "error"
+  else
+    print -- "$unlockResult"
+  fi
+
+  return 0
+
+}  #----- end of function freeLock -----------------------
+
+
+#############################################################
+#
+# Function:  Free the global sdr lock.
+#
+# Input:     $1 - lockServer
+#            $2 - local node number
+#
+# Output:    'ok' or 'error'
+#
+# Returns:   0 - no problems found
+#            1 - unexpected error
+#
+#############################################################
+function freeLockOnServer # <lockServer> [<nodeNumber>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGfreeLockOnServer ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset lockServer=$1
+  typeset nodeNumber=$2
+
+  if [[ $ourNodeName = $lockServer ]]
+  then
+    # If this is the primary server, set nodeNumber to 0.
+    # This will tell the freeNode routine that it is running
+    # on the primary server and that the lock can be freed.
+    nodeNumber=0
+  else
+    # Otherwise, make sure nodeNumber is non-zero.
+    nodeNumber=1
+  fi
+
+  # Release the lock.
+  [[ $getCredCalled = no ]] && getCred
+  freeLock $nodeNumber $lockServer
+
+  return 0
+
+}  #----- end of function freeLockOnServer -----------------------
+
+
+##########################################################################
+#
+# Function:  Get the local mmfsEnv lock.  The lock is designed to protect
+#            the process of updating the mmfs environment.  The scope of
+#            the lock is the local node only.
+#
+# Input:     $1 - lockId
+#            $2 - (optional) NOWAIT indicator
+#
+# Output:    'granted', or 'fail'.
+#
+# Returns:   0 - no problems found
+#            1 - unexpected error
+#
+##########################################################################
+function getLocalEnvLock # <lockId> [NOWAIT]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetLocalEnvLock ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset lockId=$1
+  typeset waitIndicator=$2
+
+  typeset -i totalWait=0
+  typeset getEnvLockOutput lockResult magicWord junk
+
+  # Start the wait loop for the mmfsEnv lock.
+  # Keep trying until the lock is obtained or
+  # the wait time exceeds 30 seconds.
+  while true
+  do
+    # Try to get the lock.
+    getEnvLockOutput=$(getEnvLock $lockId)
+
+    # Look at the result from the lock request.
+    # If it is more than one word, we assume it is an error message.
+    IFS=':'
+    set -f ; set -- $getEnvLockOutput ; set +f
+    magicWord=$1
+    lockResult=$2
+    IFS="$IFS_sv"
+
+    if [[ $magicWord != getEnvLock ]]
+    then
+      # If unexpected output, give up.
+      [[ -n $getEnvLockOutput ]] &&  \
+        print -u2 "$getEnvLockOutput"
+      # Unexpected error obtaining the local environment update lock
+      printErrorMsg 509 $mmcmd
+      $mmTRACE_EXIT "rc=1 Unexpected error from getEnvLock $lockId"
+      return 1
+    fi
+
+    if [[ $lockResult != fail ]]
+    then
+      # If we got the lock, nothing more to do.
+      print -- "granted"
+      $mmTRACE_EXIT "mmfsEnvLock $lockId granted - wait time $totalWait"
+      return 0
+    fi
+
+    if [[ $waitIndicator = NOWAIT ]]
+    then
+      # The lock is not available and we have the NOWAIT option.
+      print -- "fail"
+      $mmTRACE_EXIT "mmfsEnvLock $lockId NOT granted - NOWAIT option"
+      return 0
+    fi
+
+    if [[ $totalWait -gt 30 ]]
+    then
+      # The lock is still not available and we have waited over 30 sec.
+      # It's time to give up.
+      # $mmcmd:  Local update lock busy for more than 30 seconds.
+      printErrorMsg 510 $mmcmd
+      print -- "fail"
+      $mmTRACE_EXIT "mmfsEnvLock $lockId NOT granted - timeout $totalWait"
+      return 0
+    fi
+
+    # The lock is not available right away.  Try again in 3 seconds.
+    $sleep 3
+    (( totalWait += 3 ))
+    $mmTRACE "waiting for mmfsEnvLock $lockId $totalWait sec"
+    continue
+  done  # end while true
+
+  # We should never get here.
+  printErrorMsg 171 $mmcmd "function getLocalEnvLock" 1
+  return 1
+
+}  #----- end of function getLocalEnvLock --------------------------
+
+
+############################################################################
+#
+# Function:  Obtain the mmfsEnv lock.  If the lock is not available,
+#            verify that the process that holds the lock is still alive.
+#
+# Input:     $1 - lockId (pid of the requesting process)
+#
+# Output:    'granted' or 'fail'.
+#
+# Returns:   0 - no problems found
+#            1 - unexpected error
+#
+############################################################################
+function getEnvLock  # <lockId>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetEnvLock ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset lockId=$1
+
+  typeset format lockHolderInfo lockHolderPid currentProcessInfo
+  typeset rc=0
+
+  # Ensure the lock id has some value.
+  [[ -z $lockId ]] && lockId=$$
+
+  # Setup the variable describing the output that we want from the ps command.
+  # We want to get the process id, the parent id, and the full command string.
+  # Headers should be surpressed.
+  if [[ $osName = AIX ]]
+  then
+    format="pid=,ppid=,args="
+  else  # osName = Linux
+    format="pid,ppid,args --no-headers"
+  fi
+
+  # Get the lock.  This is equivalent to being able
+  # to create the mmfsEnvLock directory.
+  $mkdir $mmfsEnvLockDir 2>/dev/null
+  if [[ $? = 0 ]]
+  then
+    # We have the lock.  Create a file with information that
+    # identifies the lock holder.
+    lockHolderInfo=$($ps -o $format -p $lockId)
+    lockHolderInfo=${lockHolderInfo##+( )}  # strip leading blanks
+    [[ -z $lockHolderInfo ]] && lockHolderInfo=$lockId
+    print -- "$lockHolderInfo" > $hasEnvLock
+    checkForErrorsAndUnlockEnvLock "write to hasEnvLock file" $?
+    $mmsync $hasEnvLock
+
+    # Everything worked just fine.
+    print -- "getEnvLock:granted"
+    $mmTRACE_EXIT "mmfsEnvLock $lockId GRANTED"
+    return 0
+  fi
+
+  # Somebody has the lock (mkdir failed).  See if we can steal it.
+  # Get the pid of the process that has the lock.
+  lockHolderInfo=$($cat $hasEnvLock 2>/dev/null)
+  lockHolderPid=${lockHolderInfo%% *}
+
+  if [[ -z $lockHolderPid ]]
+  then
+    # If we do not find a process id, we are either jumping in the
+    # middle of some other process getting the lock (the lock
+    # directory was created but the hasEnvLock file has not been
+    # created yet), or the hasEnvLock file is empty (this can happen
+    # if the node dies before the hasEnvLock file makes it to disk).
+    # As far as we are concerned, our lock attempt failed.  We will
+    # give the guy a second to finish writing to the file and if there
+    # is still no pid recorded, we will assume that something went
+    # wrong with the other process and will try to cleanup the mess.
+    # Hopefully, we will get the lock on one of the retries.
+    $sleep 2
+    [[ ! -s $hasEnvLock ]] && $rm -r $mmfsEnvLockDir 2>/dev/null
+    print -- "getEnvLock:fail"
+    $mmTRACE_EXIT "mmfsEnvLock $lockId failed - unknown lock holder"
+    return 0
+  fi
+
+  # We have the pid of the process holding the lock.
+  # See if this process is still alive.
+  currentProcessInfo=$($ps -o $format -p $lockHolderPid)
+  currentProcessInfo=${currentProcessInfo##+( )}  # strip leading blanks
+  if [[ $lockHolderInfo = $currentProcessInfo ]]
+  then
+    # The process that has the lock is still alive - give up.
+    print -- "getEnvLock:fail"
+    $mmTRACE_EXIT "mmfsEnvLock $lockId failed - held by $lockHolderInfo"
+    return 0
+  fi
+
+  # The other process went away without unlocking.  Steal the lock.
+  $rm -r $mmfsEnvLockDir 2>/dev/null
+  $mmTRACE "$lockId removed stale mmfsEnvLock"
+  $sleep 2    # Give competing processes time to not see it.
+  $mkdir $mmfsEnvLockDir 2>/dev/null
+  if [[ $? = 0 ]]
+  then
+    # We have the lock.  Create a file with information that
+    # identifies the lock holder.
+    lockHolderInfo=$($ps -o $format -p $lockId)
+    lockHolderInfo=${lockHolderInfo##+( )}  # strip leading blanks
+    [[ -z $lockHolderInfo ]] && lockHolderInfo=$lockId
+    print -- "$lockHolderInfo" > $hasEnvLock
+    checkForErrorsAndUnlockEnvLock "write to hasEnvLock file" $?
+    $mmsync $hasEnvLock
+
+    # Everything worked just fine.
+    print -- "getEnvLock:granted"
+    $mmTRACE_EXIT "mmfsEnvLock $lockId STOLEN"
+    return 0
+  fi
+
+  # We couldn't steal the lock (mkdir failed); give up.
+  print -- "getEnvLock:fail"
+  $mmTRACE "$lockId getEnvLock request failed"
+  return 0
+
+}  #----- end of function getEnvLock -------------------
+
+
+####################################################################
+#
+# Function:  Free the local mmfsEnv lock.
+#
+# Input:     (none)
+#
+# Output:    'ok' or 'error'
+#
+# Returns:   0 - no problems found
+#            non-zero - unexpected error
+#
+####################################################################
+function freeEnvLock  #
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGfreeEnvLock ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset rc=0
+
+  # Remove the lock.
+  $rm -r $mmfsEnvLockDir 2>/dev/null
+  rc=$?
+  if [[ $rc -eq 0 ]]
+  then
+    print -- "ok"
+    $mmTRACE_EXIT "mmfsEnvLock RELEASED"
+  else
+    print -- "error"
+    $mmTRACE_EXIT "freeEnvLock failed - rc=$rc"
+  fi
+
+  return $rc
+
+}  #----- end of function freeEnvLock --------------------------
+
+
+########################################################################
+#
+# Function:  Confirm that the specified /dev entry was created by GPFS.
+#
+# Input:     $1 - purpose for the check: mount or delete
+#            $2 - fully-qualified device name
+#            $3 - expected major number for the /dev entry
+#            $4 - expected minor number for the /dev entry or NULL.
+#                 NULL indicates bypass the minor number check.
+#
+# Output:    None
+#
+# Returns:   0 - Device created by GPFS
+#            1 - Device not created by GPFS or unexpected error
+#
+########################################################################
+function confirmMajorMinor  # <purpose> <device> <majorNumber> <minorNumber | NULL>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGconfirmMajorMinor ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset purpose=$1
+  typeset etcDevice=$2
+  typeset majorNumber=$3
+  typeset minorNumber=$4
+
+  typeset lsOutput major minor
+
+  # majorNumber should contain the major number that was
+  # used when the /dev entry was first created by us.
+  # If this value has not been passed by the caller,
+  # figure it out from the suffix of file mmfsVfsNumber*.
+  if [[ -z $majorNumber || $majorNumber -eq 0 ]]
+  then
+    majorNumber=$($ls ${mmfsVfsNumber}+([0-9]) 2>/dev/null)
+    majorNumber=${majorNumber#$mmfsVfsNumber}
+
+    # If still not known, use the default value.
+    [[ -z $majorNumber ]] &&  \
+      majorNumber=$defaultMajorNumber
+  fi
+
+  # If minor number is not specified, bypass those checks.
+  [[ -z $minorNumber ]] && minorNumber=NULL
+
+  # Get more detailed information about the /dev entry.
+  lsOutput=$($ls -lL $etcDevice)
+  if [[ -n $lsOutput ]]
+  then
+    # There is an entry in /dev with the same name.
+    # The output from the ls command looks something like this:
+    # crw-r--r--  1 root   system   2,101 Mar 06 18:54 /dev/gpfs
+
+    # Figure out the major and minor numbers.
+    major=${lsOutput%%,*}
+    major=${major%% }
+    major=${major##* }
+
+    minor=${lsOutput##*,}
+    minor=${minor## }
+    minor=${minor%% *}
+
+    # If the /dev entry was created by GPFS, and has the needed
+    # attributes, return OK.
+    if [[ $lsOutput = ${fsDeviceType}* ]]
+    then
+      # If the rest of the parms check out, return 0.
+      [[ $major -eq $majorNumber &&
+         ($minorNumber = NULL || $minorNumber = $minor) ]] &&  \
+        return 0
+
+      # When deleting /dev entries, we can relax some of the conditions.
+      if [[ $purpose = delete ]]
+      then
+        [[ $osName = Linux || $osName = AIX && $major -eq $majorNumber ]] &&  \
+          return 0
+      fi
+    fi
+
+    # Something is wrong.  Issue appropriate messages.
+    if [[ $lsOutput != ${fsDeviceType}* ]]
+    then
+      print -u2 "$mmcmd: $etcDevice is expected to be a '$fsDeviceType' device."
+    else
+      : # The device type seems to be OK.
+    fi
+
+    if [[ ($osName = AIX || $purpose = mount) && $major -ne $majorNumber ]]
+    then
+      print -u2 "$mmcmd: $etcDevice is expected to have major number $majorNumber."
+    else
+      : # The major number seems to be OK or we do not care about it.
+    fi
+
+    if [[ $purpose = mount && $minorNumber != NULL && $minorNumber != $minor ]]
+    then
+      print -u2 "$mmcmd: $etcDevice is expected to have minor number $minorNumber."
+    elif [[ $minor -lt $minMinorNumber ]]
+    then
+      print -u2 "$mmcmd: $etcDevice is expected to have minor number $minMinorNumber or higher."
+    else
+      : # The minor number seems to be OK or we do not care about it.
+    fi
+
+    # Show the attributes of the current /dev entry.
+    print -u2 "$mmcmd: The current $etcDevice entry is:"
+    print -u2 "$lsOutput"
+
+  fi  # end of if [[ -n $lsOutput ]]
+
+  # At this point, either there is no /dev entry,
+  # or one or more of its attributes are bad.
+  return 1
+
+}  #----- end of function confirmMajorMinor ---------------------
+
+
+########################################################################
+#
+# Function:  Create an entry in /dev
+#
+# Input:     $1 - fully-qualified device name
+#            $2 - major number for the /dev entry
+#            $3 - minor number for the /dev entry
+#
+# Output:    None
+#
+# Returns:   0 - device created
+#            1 - unexpected error
+#
+########################################################################
+function createDevEntry  # <device> <majorNumber> <minorNumber>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcreateDevEntry ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset device=$1
+  typeset major=$2
+  typeset minor=$3
+
+  typeset devType minorMin minorMax deviceName fqDeviceName inuse rc
+  typeset -i intValue
+
+  # Set OS-dependent values.
+  if [[ $osName = AIX ]]
+  then
+    devType="c"
+    minorMin=100
+    minorMax=65535
+  elif [[ $osName = Linux ]]
+  then
+    devType="b"
+    minorMin=100
+    minorMax=255
+  else
+    checkForErrors "createDevEntry: Unknown operating system $osName" 1
+  fi
+
+  # Verify input parameters.
+  deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+  fqDeviceName="/dev/$deviceName"    # fully-qualified name (with /dev/ prefix)
+  [[ -z $major ]] &&  \
+    major=$defaultMajorNumber
+  if [[ -n $minor ]]
+  then
+    intValue=$(checkIntRange minorNumber $minor $minorMin $minorMax)
+    rc=$?
+    [[ $rc -ne 0 ]] && return $rc
+  fi
+
+  # Create the /dev entry.
+  if [[ -n $minor ]]
+  then
+    # If specific major and minor numbers are requested,
+    # create the device with those values.
+    inuse=$($ls -lL /dev 2>/dev/null | $grep "^${devType}.* $major, *$minor ")
+    if [[ -z $inuse ]]
+    then
+      $mknod $fqDeviceName $devType $major $minor
+      rc=$?
+    else
+      # A device with the specified major/minor numbers already exists.
+      printErrorMsg 461 $mmcmd $major $minor
+      rc=1
+    fi
+
+  else
+    # If minor number is not specified, start exhaustive search.
+    minor=$minorMin
+    while [[ $minor -lt $minorMax ]]
+    do
+      inuse=$($ls -lL /dev 2>/dev/null | $grep "^${devType}.* $major, *$minor ")
+      if [[ -z $inuse ]]
+      then
+        $mknod $fqDeviceName $devType $major $minor
+        rc=$?
+        break
+      fi
+      minor=$((minor + 1))
+    done  # end while [[ $minor -lt $minorMax ]]
+  fi  # end of if [[ -n $minor ]]
+
+  # Print error message, if necessary, and return.
+  [[ $rc -ne 0 ]] && print -u2 "$mmcmd: Device entry $device not created."
+  return $rc
+
+}  #----- end of function createDevEntry ----------------------
+
+
+####################################################################
+#
+# Function:  Remove the device and mount point for a file system
+#
+# Input:     $1 - fully-qualified device name
+#            $2 - mount point to be removed or _NO_MOUNT_POINT_DELETE_
+#            $3 - major number for /dev entries
+#
+# Output:    None
+#
+# Returns:   0 - all errors are ignored
+#
+####################################################################
+function removeMountPoint  # <device> <mountpnt> <majorNumber>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGremoveMountPoint ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset etcDevice=$1
+  typeset etcMountpoint=$2
+  typeset majorNumber=$3
+
+  # Remove the /dev entry provided it was created by GPFS.
+  confirmMajorMinor delete $etcDevice $majorNumber 2>/dev/null
+  [[ $? -eq 0 ]] && $rm -f $etcDevice 2>/dev/null
+
+  # If we had to remove only the /dev entry, there is nothing more to do.
+  [[ $etcMountpoint = "_NO_MOUNT_POINT_DELETE_" ]] &&  \
+    return 0
+
+  # Make sure the file system was not left mounted by
+  # a previous gpfs invocation that ended abnormally.
+  # If yes, force unmount the file system before removing the mount point.
+  if [[ $osName = AIX ]]
+  then
+    stillMounted=$($mount  \
+      | $awk '{ if ($4 == "mmfs") print $2; if ($3 == "mmfs") print $1}'  \
+      | $awk '{ if ($1 == "'"$etcDevice"'") print $1 }')
+  elif [[ $osName = Linux ]]
+  then
+    stillMounted=$($mount -t gpfs  \
+      | $awk '{ if ($1 == "'"$etcDevice"'") print $1 }')
+  else
+    :  # assume not mounted (should never be here)
+  fi
+  if [[ -n $stillMounted ]]
+  then
+     $unmount -f $etcDevice 2>/dev/null
+     [[ $? -eq 0 ]] && stillMounted=""
+  fi
+
+  # If the file system is not mounted, remove the mount point.
+  [[ -z $stillMounted ]] &&  \
+    $rmdir $etcMountpoint 2>/dev/null
+
+  return 0
+
+}  #----- end of function removeMountPoint ----------------------
+
+
+##########################################################################
+#
+# Function:  Rebuild the GPFS environment if the provided mmsdrfs
+#            file has a newer generation number.  The input file is
+#            deleted before return from this function.
+#
+# Input:     $1 - mmsdrfs file to use.  The name must be
+#                  $sdrfsFileLevel<genNumber>
+#            $2 - checksum for the mmsdrfs file.
+#            $3 - key file generated by openssl, or NULL.
+#            $4 - checksum for the key file, or 0.
+#
+# Output:    none
+#
+# Returns:   0 - no need to rebuild the environment
+#            1 - something is not right
+#
+##########################################################################
+function upgradeSystemFiles  # <sdrfs> <checksum> [<keyFile> <checksum2>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGupgradeSystemFiles ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfs=$1
+  typeset originalSum=$2
+  typeset keyFile=$3
+  typeset keyFileOriginalSum=$4
+
+  typeset rc=0
+  typeset envLockResult envLevel
+  typeset currentGenNumber requestedGenNumber
+  typeset sumOutput checksum keyGenNumber fname
+
+  # Add the input file to the list of files that are removed on exit.
+  # Note:   The new format mmauth key file should not be deleted.
+  [[ $keyFile = NULL ]] && keyFile=""
+  LOCAL_FILES="$LOCAL_FILES $sdrfs"
+  [[ $keyFile != ${genkeyData}* ]] && LOCAL_FILES="$LOCAL_FILES $keyFile"
+
+  # Verify the file was copied correctly.
+  sumOutput=$($sum $sdrfs)
+  rc=$?
+  set -f ; set -- $sumOutput ; set +f
+  checksum=$1
+  if [[ $rc -ne 0 || $checksum != $originalSum ]]
+  then
+    [[ $rc -eq 0 ]] && rc=1
+    checkForErrors "upgradeSystemFiles: sum $sdrfs" $rc
+  fi
+
+  if [[ -n $keyFile ]]
+  then
+    sumOutput=$($sum $keyFile)
+    rc=$?
+    set -f ; set -- $sumOutput ; set +f
+    checksum=$1
+    if [[ $rc -ne 0 || $checksum != $keyFileOriginalSum ]]
+    then
+      [[ $rc -eq 0 ]] && rc=1
+      checkForErrors "upgradeSystemFiles: sum $keyFile" $rc
+    fi
+
+    # If this is an old format mmauth genkey file,
+    # move the staged key file into the ssl directory.
+    if [[ $keyFile = ${mmauthKeyGen}* ]]
+    then
+      keyGenNumber=${keyFile#$mmauthKeyGen}
+      $mv $keyFile ${privateKey}$keyGenNumber
+      checkForErrors "mv $keyFile ${privateKey}$keyGenNumber" $?
+    fi
+  fi  # end of if [[ -n $keyFile ]]
+
+  # Obtain the local mmfsEnv update lock.
+  if [[ $envLocked != yes ]]
+  then
+    envLockResult=$(getLocalEnvLock $$)
+    rc=$?
+    if [[ $rc -ne 0 || $envLockResult != granted ]]
+    then
+      # We failed to obtain the local environment update lock.
+      printErrorMsg 511 $mmcmd
+      cleanupAndExit
+    fi
+    envLocked=yes
+  fi
+
+  # Find out the current and requested level of the system files.
+  envLevel=$($ls ${mmfsEnvLevel}+([0-9]) 2>/dev/null)
+  currentGenNumber=${envLevel#$mmfsEnvLevel}
+  [[ $currentGenNumber != +([0-9]) ]] && currentGenNumber=0
+  requestedGenNumber=${sdrfs#$mmsdrfsGen}
+
+  # Verify that the input file has a reasonable name,
+  # and is more recent than the current mmsdrfs file.
+  if [[ -n $requestedGenNumber && $currentGenNumber -ge $requestedGenNumber ]]
+  then
+    # We are already up-to-date.
+    freeEnvLock > /dev/null
+    envLocked=no
+    return 0
+  fi
+
+  # We are not up-to-date.  Rebuild the files.
+  updateMmfsEnvironment $HOME_CLUSTER $sdrfs
+  checkForErrors updateMmfsEnvironment $?
+
+  # Things seem to have worked OK.  Commit the latest level.
+  $mv $sdrfs $mmsdrfsFile
+  checkForErrors "upgradeSystemFiles: mv $sdrfs" $?
+
+  # Make sure that non-privileged commands can read this file.
+  $chmod a+r $mmsdrfsFile >/dev/null 2>&1
+
+  $mmsync $mmsdrfsFile ${mmfsEnvLevel}$requestedGenNumber 2>/dev/null
+
+  # Clean up any leftover old files.
+  for fname in $($ls ${mmsdrfsGen}+([0-9]) 2>/dev/null)
+  do
+    [[ ${fname#$mmsdrfsGen} -lt $requestedGenNumber ]] &&  \
+      $rm -f $fname
+  done
+
+  # Release the local mmfsEnv update lock and return.
+  freeEnvLock > /dev/null
+  envLocked=no
+  return 0
+
+}  #----- end of function upgradeSystemFiles ---------------------
+
+
+##########################################################################
+#
+# Function:  Verify that there is no need to rebuild the GPFS environment.
+#
+# Input:     $1 - mmsdrfs file to use
+#            $2 - expected mmsdrfs gen number value
+#            $3 - expected new private key gen number
+#            $4 - expected committed private key gen number
+#            $5 - security level indicator: 0 (disabled), 1 (enabled)
+#
+# Output:    none
+#
+# Returns:   0 - no need to rebuild the environment
+#            1 - something is not right
+#
+##########################################################################
+function checkMmfsEnvironment  # <sdrfs> <genNumber> <newKeyGenNumber>
+                               # <committedKeyGenNumber> <secLevel>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckMmfsEnvironment ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfs=$1
+  typeset genNumber=$2
+  typeset newKeyGenNumber=$3
+  typeset committedKeyGenNumber=$4
+  typeset secLevel=$5
+
+  typeset rc=0
+  typeset envLevel sdrfsLine nodesetIdField lineTypeField devNameField
+  typeset lineNumberField fqDevName mountPoint existingMajorNumber
+  typeset mountPointParentDir mountPointBaseName mountPointExists
+  typeset stanzaLine mountType automountDir linkTarget
+  typeset currentCommittedKeyLevel currentNewKeyLevel
+
+  # Update the GPFS environment if the mmsdrfs file will be replaced
+  # or if the current gen number is different than the last known one.
+  # Note:  The latter can happen if we are a server node and there was
+  # a failure in updateMmfsEnvironment after the main file is committed.
+  envLevel=$($ls ${mmfsEnvLevel}+([0-9]) 2>/dev/null)
+  [[ -f $mmsdrfsShadow || ${envLevel#$mmfsEnvLevel} != $genNumber ]] &&  \
+    return 1
+
+  # Check the current level of the private key files.
+  currentNewKeyLevel=$($ls ${mmfsNewKeyLevel}+([0-9]) 2>/dev/null)
+  [[ ${currentNewKeyLevel#$mmfsNewKeyLevel} != $newKeyGenNumber ]] &&  \
+    return 1
+
+  currentCommittedKeyLevel=$($ls ${mmfsCommittedKeyLevel}+([0-9]) 2>/dev/null)
+  [[ ${currentCommittedKeyLevel#$mmfsCommittedKeyLevel} != $committedKeyGenNumber ]] &&  \
+    return 1
+
+  # If security is enabled, verify the authorized_keys file exists.
+  [[ $secLevel -gt 0 && ! -s $authorizedKeys ]] &&  \
+    return 1
+
+  # Ensure the mmfs.cfg file is present.
+  [[ ! -s $mmfscfgFile ]] &&  \
+    return 1
+
+  # Ensure the device major number is what it should be.
+  [[ $osName = Linux ]] && checkVfsNumber
+  [[ $currentMajorNumber -ne $neededMajorNumber ]] &&  \
+    return 1
+
+  # To avoid potential deadlocks with GPFS recovery processing,
+  # mount point checking will be performed only prior to daemon startup
+  # and when mounting a specific file system.  This process is controlled
+  # with the MOUNT_POINT_CHECK environment variable.
+  [[ -z $MOUNT_POINT_CHECK ]] && return 0
+
+  # Ensure all file system /dev entries and mount points are present.
+  IFS=":"
+  exec 3<&-
+  exec 3< $sdrfs
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -- $sdrfsLine ; set +f
+    nodesetIdField=$1
+    lineTypeField=$2
+    devNameField=$3
+    lineNumberField=$4
+    stanzaLine=$5
+    IFS="$IFS_sv"
+
+    if [[ $lineTypeField = $SG_ETCFS &&
+          ($MOUNT_POINT_CHECK = $devNameField || $MOUNT_POINT_CHECK = all     ||
+           $MOUNT_POINT_CHECK = all_local || $MOUNT_POINT_CHECK = all_remote) ]]
+    then
+      # This is a stanza line for a file system that we want to check.
+      if [[ $lineNumberField -eq $MOUNT_POINT_Line ]]
+      then
+        fqDevName="/dev/$devNameField"
+        mountPoint="${stanzaLine%:}"
+
+        # Ensure there is a /dev entry for the file system.
+        [[ ! -r $fqDevName ]] && return 1
+
+        # Ensure the device name has the correct major number.
+        if [[ $osName = Linux ]]
+        then
+          existingMajorNumber=$(LC_ALL=C $ls -l $fqDevName 2>/dev/null |  \
+                                         $awk ' { print $5 } ' )
+          existingMajorNumber=${existingMajorNumber%,*}
+          [[ $existingMajorNumber -ne $neededMajorNumber ]] &&  \
+            return 1
+
+          # In the Linux environment the mount point checking will be postponed
+          # until we know the type of mounting in effect for this file system.
+
+        else
+          # If this is AIX, we can check the mount point right here.
+          # Since there are no special links when the automounter is
+          # involved, it is sufficient to verify that there is an entry
+          # for the mount point in the mount point's parent directory.
+          # This eliminates potentially troublesome stat() calls into GPFS.
+          mountPointParentDir=$(dirname $mountPoint)
+          if [[ -n $mountPointParentDir ]]
+          then
+            mountPointBaseName=$(basename $mountPoint)
+            [[ -n $mountPointBaseName ]] &&  \
+              mountPointExists=$(LC_ALL=C $ls -1 $mountPointParentDir 2>/dev/null |  \
+                                          $grep "^$mountPointBaseName$")
+          fi
+          [[ -z $mountPointExists ]] && return 1
+
+        fi  # end of if [[ $osName = Linux ]]
+
+      elif [[ $lineNumberField -eq $MOUNT_Line && $osName = Linux ]]
+      then
+        # If this is Linux, finish the mount point checking.
+        # Find out the type of mounting - regular vs. automount.
+        mountType=${stanzaLine#*=$BLANKchar}
+
+        # Verify the right mount point is in place.
+        if [[ $mountType = automount ]]
+        then
+          # The mount point must be a symlink.
+          if [[ -L $mountPoint ]]
+          then
+            # This is indeed a symlink.  Verify the target is correct.
+
+            # First, find out the value of the automount directory.
+            if [[ -z $automountDir ]]
+            then
+              automountDir=$(showCfgValue automountDir)
+              [[ -z $automountDir ]] && automountDir=$defaultAutomountDir
+
+              # Make sure the directory exists.
+              [[ ! -e $automountDir ]] && return 1
+            fi
+
+            # Determine the current target of the symlink.
+            linkTarget=$(LC_ALL=C $ls -l $mountPoint 2>/dev/null)
+            linkTarget=${linkTarget##*$BLANKchar}
+            if [[ $linkTarget = ${automountDir}/${deviceName} ]]
+            then
+              # The link looks good.
+              mountPointExists=yes
+            else
+              # The link needs to be rebuild.
+              return 1
+            fi
+          else
+            # Either the mount point is missing or it is not a symlink.
+            return 1
+          fi  # end of if [[ -L $mountPoint ]]
+
+        else
+          # The mount point must be a directory.
+          if [[ ! -d $mountPoint ]]
+          then
+            # This is either a symlink (presumably from a file system
+            # that used to have the automount attribute specified),
+            # or the mount point is missing altogether.
+            return 1
+          else
+            :  # Things look good.
+          fi  # end of if [[ ! -d $mountPoint ]]
+        fi  # end of if [[ $mountType = automount ]]
+
+      else
+        :  # We are not interested in the other stanza lines.
+      fi  # end of if [[ $lineNumberField -eq $MOUNT_POINT_Line ]]
+    fi  # end of if [[ $lineTypeField = $SG_ETCFS && ...
+
+    IFS=":"  # Prepare for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # If we get here, there is no need to rebuild the GPFS environment.
+  # Everything seems to be in order.
+  return 0
+
+}  #----- end of function checkMmfsEnvironment ---------------------
+
+
+##############################################################################
+#
+# Function:  Recreate all files that are needed for proper daemon operations.
+#            Reconcile the content of the local /etc/filesystems file with
+#            the file system information in the mmsdrfs file.
+#
+# Input:     $1 - nodesetId to which this node belongs
+#            $2 - sdrfs file to use
+#
+# Output:    None
+#
+# Returns:   0 - mmfs environment is up to date
+#            1 - unexpected error
+#
+##############################################################################
+function updateMmfsEnvironment  # <nodesetId> <mmsdrfsFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGupdateMmfsEnvironment ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodesetId=$1
+  typeset sdrfs=$2
+
+  typeset nodesetIdField lineTypeField devNameField lineNumberField
+  typeset sdrfsLine sdrDeviceNameList fsDeleted junk vsdPath
+  typeset etcMountpoint etcDevice cfgLine genNumber fsLine disksFound
+  typeset majorNumber envLockResult startupMountDeviceList fsName
+  typeset remoteFileSystem remoteDeviceName options automountOption
+  typeset secLevel clusterName fname mountOption automountFileSystemsFound
+  typeset automountDir keyLine ourClusterName cipherList defaultCipherList
+  typeset primaryServer backupServer mmsdrservTcpPort tscTcpPort
+  typeset restartAutomounter currentKnownClusters sdrfsFormatLevel
+  typeset keyGenNumber certificateLine
+
+  typeset nodeIndex=0
+  typeset ourNodeIndex=0
+  typeset fsNumber=0
+  typeset firstLine=yes
+  typeset n=0
+  typeset rc=0
+  typeset rc1=0
+  typeset rc2=0
+
+  ###########################################
+  # If our node number is not known, get it.
+  ###########################################
+  [[ -z $ourNodeNumber ]] &&  \
+    getLocalNodeData
+
+  ###########################################################
+  # Ensure the authorization key files are up to date.
+  ###########################################################
+  if [[ -z $MMAUTH_GENKEY_RUNNING ]]
+  then
+    updateKeyFiles $sdrfs
+    rc=$?
+    [[ $rc -ne 0 ]] && return 1
+  fi  # end of if [[ -z $MMAUTH_GENKEY_RUNNING ]]
+
+  #########################################
+  # Obtain the local mmfsEnv update lock.
+  #########################################
+  if [[ $envLocked != yes ]]
+  then
+    envLockResult=$(getLocalEnvLock $$)
+    rc=$?
+    if [[ $rc -ne 0 || $envLockResult != granted ]]
+    then
+      # We failed to obtain the local environment update lock.
+      printErrorMsg 511 $mmcmd
+      return 1
+    fi
+    envLocked=yes
+  fi  # end of if [[ $envLocked != yes ]]
+
+  #######################################################################
+  # Decide what should be the major number value for the /dev entries.
+  #######################################################################
+  checkVfsNumber
+  majorNumber=$neededMajorNumber
+
+  #######################################################################
+  # Based on the current information in the mmsdrfs file, recreate
+  # all configuration files (mmfs.cfg, security files, etc.).
+  # Recreate /dev entries and mount points as necessary.
+  #######################################################################
+  $rm -f $stanza $tmpCfg $remainingFs $tmpDirectMap  \
+         ${mmfsEnvLevel}+([0-9]) ${mmfsVfsNumber}+([0-9]) ${exclDiskFile}*  \
+         $tmpAuthKeys $tmpAuthCertificate ${tmpKnownCluster}* ${tmpKnownCertificate}*
+  sdrDeviceNameList=""
+  IFS=":"           # Change the field separator to ':'.
+  exec 3<&-
+  exec 3< $sdrfs
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -- $sdrfsLine ; set +f
+    nodesetIdField=$1
+    clusterName=$1
+    lineTypeField=$2
+    devNameField=$3
+    lineNumberField=$4
+
+    # Generate the new versions of the different system files.
+    case $lineTypeField in
+
+      $VERSION_LINE )
+        # Retrieve the format and gen number of the file.
+        sdrfsFormatLevel=$4
+        genNumber=$6
+
+        # Retrieve our cluster name.
+        ourClusterName=${18}
+
+        # Retrieve the security level currently in effect.
+        # But if genkey processing is in progress, pretend
+        # secLevel is 0 (there is no key to work with yet).
+        secLevel=${20}
+        [[ -n $MMAUTH_GENKEY_RUNNING ]] && secLevel=0
+        keyGenNumber=${19}
+        [[ -z $keyGenNumber ]] && keyGenNumber=0
+
+        # Retrieve the names of the configuration servers.
+        primaryServer=$9
+        backupServer=${10}
+        ;;
+
+      $NODESET_HDR )
+        if [[ $secLevel -gt 0 && $clusterName = $HOME_CLUSTER ]]
+        then
+          # Start building the authorzed_keys file with
+          # the information for the local cluster.
+          # Note: In early 2.3 clusters (prior to PTF3) the cipher
+          #       list was kept only in the MMFSCFG section.
+          defaultCipherList=$7
+          [[ -z $defaultCipherList ]] && defaultCipherList=AUTHONLY
+          print -- "clusterName=$ourClusterName" >> $tmpAuthKeys
+          checkForErrors "writing to file $tmpAuthKeys" $?
+          print -- "cipherList=$defaultCipherList" >> $tmpAuthKeys
+          checkForErrors "writing to file $tmpAuthKeys" $?
+          certificateLine=""
+          firstLine=yes
+
+          # Add the local public keys.
+          if [[ -f $newPublicKey ]]
+          then
+            exec 4<&-
+            exec 4< $newPublicKey
+            IFS=""     # Reset IFS to preserve blanks and tabs.
+            while read -u4 keyLine
+            do
+              if [[ $keyLine = "clusterName="* ]]
+              then
+                : # Skip the line; we have already put this information out.
+              elif [[ $keyLine = "clusterID="* ]]
+              then
+                # Echo the line without a change.
+                print -- "$keyLine" >> $tmpAuthKeys
+                rc=$?
+              elif [[ $keyLine = "genkeyFormat="* ]]
+              then
+                : # Skip the line; the daemon does not need this information.
+              elif [[ $keyLine = "genkeyCompatibleFormat="* ]]
+              then
+                : # Skip the line; the daemon does not need this information.
+              elif [[ $keyLine = "keyGenNumber="* ]]
+              then
+                # Replace the keyword.
+                print -- "newKeyGenNumber=${keyLine#keyGenNumber=}" >> $tmpAuthKeys
+                rc=$?
+              elif [[ $keyLine = "keyDigest="* ]]
+              then
+                # Replace the keyword.
+                print -- "newKeyDigest=${keyLine#keyDigest=}" >> $tmpAuthKeys
+                rc=$?
+              elif [[ $keyLine = "publicKey=" ]]
+              then
+                # Replace the keyword.
+                print -- "newPublicKey=" >> $tmpAuthKeys
+                rc=$?
+              elif [[ $keyLine = "certificate=" ]]
+              then
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+                # Replace the keyword.
+                print -- "newCertificate=" >> $tmpAuthKeys
+                rc=$?
+                print -- "newCertificate=" >> $tmpAuthCertificates
+                checkForErrors "writing to file $tmpAuthCertificates" $?
+
+                # Start building the authorzed_certificate file with
+                # the information for the local cluster.
+                print -- "clusterName=$ourClusterName" >> $tmpAuthCertificates
+                checkForErrors "writing to file $tmpAuthCertificates" $?
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+                certificateLine=yes
+              else
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+                # All other lines are echoed without a change.
+                print -- "$keyLine" >> $tmpAuthKeys
+                rc=$?
+                # If this is part of the certificate, add it to the cert file.
+                if [[ -n $certificateLine ]]
+                then
+                  print -- "$keyLine" >> $tmpAuthCertificates
+                  checkForErrors "writing to file $tmpAuthCertificates" $?
+                fi
+else # else ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+                # If this is NOT part of the certificate, print the line.
+                if [[ -z $certificateLine ]]
+                then
+                  print -- "$keyLine" >> $tmpAuthKeys
+                  rc=$?
+                fi
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+              fi  # end of if [[ $keyLine = "clusterName="* ]]
+              checkForErrors "writing to file $tmpAuthKeys" $rc
+            done  # end while read -u4 keyLine
+            IFS=":"  # Change the separator back to ":" for the next iteration.
+          fi  # end of if [[ -f $newPublicKey ]]
+          certificateLine=""
+
+          if [[ -f $committedPublicKey ]]
+          then
+            exec 4<&-
+            exec 4< $committedPublicKey
+            IFS=""     # Reset IFS to preserve blanks and tabs.
+            while read -u4 keyLine
+            do
+              # If sdrfsFormatLevel is 0, or genkey was not run since
+              # the GPFS 3.1 code was activated, there will be only
+              # one public key file ($committedPublicKey) and it will
+              # not contain the stanza lines; generate the missing data.
+              # Note that this does not apply to $newPublicKey; if that
+              # file exists, it is guaranteed to have the stanza format.
+              if [[ -n $firstLine && $keyLine != "clusterName="* ]]
+              then
+                print -- "clusterID=0"                         >> $tmpAuthKeys
+                print -- "committedKeyGenNumber=$keyGenNumber" >> $tmpAuthKeys
+                print -- "committedPublicKey="                 >> $tmpAuthKeys
+                checkForErrors "writing to file $tmpAuthKeys" $?
+              fi
+              firstLine=""
+
+              if [[ $keyLine = "clusterName="* ]]
+              then
+                : # Skip the line; we have already put this information out.
+              elif [[ $keyLine = "clusterID="* && -f $newPublicKey ]]
+              then
+                : # Skip the line; we have already put this information out.
+              elif [[ $keyLine = "clusterID="* ]]
+              then
+                # Echo the line without a change.
+                print -- "$keyLine" >> $tmpAuthKeys
+                rc=$?
+              elif [[ $keyLine = "genkeyFormat="* ]]
+              then
+                : # Skip the line; the daemon does not need this information.
+              elif [[ $keyLine = "genkeyCompatibleFormat="* ]]
+              then
+                : # Skip the line; the daemon does not need this information.
+              elif [[ $keyLine = "keyGenNumber="* ]]
+              then
+                # Replace the keyword.
+                print -- "committedKeyGenNumber=${keyLine#keyGenNumber=}" >> $tmpAuthKeys
+                rc=$?
+              elif [[ $keyLine = "keyDigest="* ]]
+              then
+                # Replace the keyword.
+                print -- "committedKeyDigest=${keyLine#keyDigest=}" >> $tmpAuthKeys
+                rc=$?
+              elif [[ $keyLine = "publicKey=" ]]
+              then
+                # Replace the keyword.
+                print -- "committedPublicKey=" >> $tmpAuthKeys
+                rc=$?
+              elif [[ $keyLine = "certificate=" ]]
+              then
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+                # Replace the keyword.
+                print -- "committedCertificate=" >> $tmpAuthKeys
+                rc=$?
+                print -- "committedCertificate=" >> $tmpAuthCertificates
+                checkForErrors "writing to file $tmpAuthCertificates" $?
+
+                # If not already done, start creating the certificate file.
+                if [[ ! -s $tmpAuthCertificates ]]
+                then
+                  print -- "clusterName=$ourClusterName" >> $tmpAuthCertificates
+                  checkForErrors "writing to file $tmpAuthCertificates" $?
+                fi
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+                certificateLine=yes
+              else
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+                # All other lines are echoed without a change.
+                print -- "$keyLine" >> $tmpAuthKeys
+                rc=$?
+                # If this is part of the certificate, add it to the cert file.
+                if [[ -n $certificateLine ]]
+                then
+                  print -- "$keyLine" >> $tmpAuthCertificates
+                  checkForErrors "writing to file $tmpAuthCertificates" $?
+                fi
+else # else ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+                # If this is NOT part of the certificate, print the line.
+                if [[ -z $certificateLine ]]
+                then
+                  print -- "$keyLine" >> $tmpAuthKeys
+                  rc=$?
+                fi
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+              fi  # end of if [[ $keyLine = "clusterName="* ]]
+              checkForErrors "writing to file $tmpAuthKeys" $rc
+            done  # end while read -u4 keyLine
+            IFS=":"  # Change the separator back to ":" for the next iteration.
+          fi  # end of if [[ -f $committedPublicKey ]]
+          certificateLine=""
+
+          # Make a copy of the local cluster's certificates.
+          if [[ -s $tmpAuthCertificates ]]
+          then
+            $cp $tmpAuthCertificates $localCertificates
+            checkForErrors "cp $tmpAuthCertificates $localCertificates" $?
+          fi
+
+          # Make a copy of the local cluster's key information
+          # but exclude the cipherList stanza.  The local keys
+          # will be added to the known_cluster files further down.
+          if [[ -s $tmpAuthKeys ]]
+          then
+            $grep -v "^cipherList=" $tmpAuthKeys > $localAuthKeys
+            checkForErrors "writing to file $localAuthKeys" $?
+          fi
+        fi  # end of if [[ $secLevel -gt 0 && $clusterName = $HOME_CLUSTER ]]
+
+        # Determine the TCP port numbers for the mmfsd and sdrserv daemons.
+        if [[ -n ${17} ]]
+        then
+          mmsdrservTcpPort=${17}  # GETOBJECT_PORT_Field
+        else
+          mmsdrservTcpPort=$8     # TCP_PORT_Field
+        fi
+        tscTcpPort=$8             # TCP_PORT_Field
+        ;;
+
+      $MEMBER_NODE )
+        # We are interested only in information pertaining to our nodeset.
+        [[ $nodesetIdField != $nodesetId ]] &&  \
+          continue
+
+        # Determine the index of this node relative
+        # to the rest of the nodes in the cluster.
+        [[ $5 = $ourNodeNumber ]] &&  \
+          ourNodeIndex=$nodeIndex
+        (( nodeIndex += 1 ))
+        ;;
+
+      $SG_HEADR )
+        # Remember the minor number.
+        minorNumber=$5
+
+        # See if this is a remote file system.
+        remoteFileSystem=$7
+        remoteDeviceName=$8
+        ;;
+
+      $SG_ETCFS )
+        # Get the stanza line.
+        stanzaLine=$5
+
+        # Collect all stanza lines for all filesystems into the stanza file.
+        # Make sure the device name and mount point exist.
+        # This processing is operating system dependent.
+        if [[ $osName = AIX ]]
+        then
+          if [[ $lineNumberField -eq $MOUNT_POINT_Line ]]
+          then
+            # This is the first line of a stanza.  Add a blank line separator.
+            print -- "" >> $stanza
+
+            # Add the fully-qualified device name to the list of device names
+            sdrDeviceNameList="$sdrDeviceNameList /dev/${devNameField}"
+
+            # Save the information about the file system to be used
+            # later when checking mount points and /dev entries.
+            printf "%s %s %s %s " "/dev/${devNameField}" "${stanzaLine%:}"  \
+                   "$majorNumber" "$minorNumber" >> $remainingFs
+            checkForErrors "writing to file $remainingFs" $?
+
+            # Save the mount point.
+            etcMountpoint="${stanzaLine%:}"
+
+            # Make sure the mount point stanza line ends with a ':'.
+            stanzaLine="$stanzaLine:"
+
+          elif [[ $lineNumberField -eq $MOUNT_Line ]]
+          then
+            mountOption=${stanzaLine#*=$BLANKchar}
+            if [[ $mountOption = mmfs ]]
+            then
+              # If this file system is to be mounted when GPFS is started,
+              # add its name to the corresponding list.
+              startupMountDeviceList="$startupMountDeviceList /dev/${devNameField}"
+              (( fsNumber += 1 ))
+            elif [[ $mountOption = automount ]]
+            then
+              automountFileSystemsFound=yes
+            fi
+
+            # Add the mount option to the remainingFs file.
+            printf " %s\n" "$mountOption" >> $remainingFs
+            checkForErrors "writing to file $remainingFs" $?
+          fi  # end of if [[ $lineNumberField -eq $MOUNT_POINT_Line ]]
+
+          # To preserve the tabs in the /etc/filesystem
+          # temporarily set IFS to new line only.
+          IFS="
+"
+          # Add the stanza line to the stanza file.
+          print -- "$stanzaLine" >> $stanza
+          checkForErrors "writing to file $stanza" $?
+
+          IFS=":" # Change the separator back to ":" for the next iteration.
+
+        elif [[ $osName = Linux ]]
+        then
+          case $lineNumberField in
+            $MOUNT_POINT_Line )
+              # Add the fully-qualified device name to the list of device names
+              sdrDeviceNameList="$sdrDeviceNameList /dev/${devNameField}"
+
+              # Save the information about the file system to be used
+              # later when checking mount points and /dev entries.
+              printf "%s %s %s %s " "/dev/${devNameField}" "${stanzaLine%:}"  \
+                     "$majorNumber" "$minorNumber" >> $remainingFs
+              checkForErrors "writing to file $remainingFs" $?
+
+              # Save the mount point.
+              etcMountpoint="${stanzaLine%:}"
+              ;;
+
+            $MOUNT_Line )
+              # Figure out the autostart option.
+              mountOption=${stanzaLine#*=$BLANKchar}
+              if [[ $mountOption = mmfs ]]
+              then
+                automountOption="autostart"
+                startupMountDeviceList="$startupMountDeviceList /dev/${devNameField}"
+                (( fsNumber += 1 ))
+              elif [[ $mountOption = automount ]]
+              then
+                automountOption="automount"
+                automountFileSystemsFound=yes
+              else
+                automountOption="noauto"
+              fi
+
+              # Add the mount option to the remainingFs file.
+              printf " %s\n" "$mountOption" >> $remainingFs
+              checkForErrors "writing to file $remainingFs" $?
+              ;;
+
+            * )
+              :  # Do nothing.  There is no equivalent for this in Linux.
+              ;;
+          esac  # case $lineNumberField in
+
+        else
+          :  # This should never happen.
+        fi  # end if [[ $osName = AIX ]]
+        ;;
+
+      $SG_MOUNT )
+        # Build the options string.
+        options=""
+        [[ -n $5 ]] && options="${options},$5"
+        [[ -n $6 ]] && options="${options},$6"
+        [[ -n $7 ]] && options="${options},$7"
+        [[ -n $9 ]] && options="${options},$9"
+        [[ -n $8 ]] && options="${options},quota=$8"
+
+        # Add the device name.
+        if [[ -n $remoteFileSystem ]]
+        then
+          options="${options},dev=${nodesetIdField}:${remoteDeviceName}"
+          options="${options},ldev=${devNameField}"
+        else
+          options="${options},dev=${devNameField}"
+        fi
+
+        # Add the autostart option name.
+        [[ $osName = Linux ]] &&  \
+          options="${options},${automountOption}"
+
+        # Ensure the string does not start with a comma.
+        options="${options#,}"
+
+        # Complete the stanza.
+        if [[ $osName = AIX ]]
+        then
+          # Create the last line of the /etc/filesystems stanza.
+          stanzaLine="${OPTIONS_Line_Prefix}${options}"
+
+          # To preserve the tabs in the /etc/filesystems
+          # temporarily set IFS to new line only.
+          IFS="
+"
+          # Add the stanza line to the stanza file.
+          print -- "$stanzaLine" >> $stanza
+          checkForErrors "writing to file $stanza" $?
+
+          IFS=":"  # Change the separator back to ":" for the next iteration.
+
+          # If this file system is automounted, add an entry
+          # in the direct map file for the automounter.
+          if [[ $mountOption = automount ]]
+          then
+            printf "%s %s %s\n" "${etcMountpoint}"  "-fstype=mmfs,${options}"  \
+                                 ":/dev/${devNameField}" >> $tmpDirectMap
+            checkForErrors "writing to file $tmpDirectMap" $?
+          fi
+
+        elif [[ $osName = Linux ]]
+        then
+          # Create the /etc/fstab line.
+          printf "%-20s %-20s %-10s %-15s 0 0\n"             \
+                 "/dev/${devNameField}" "${etcMountpoint}"   \
+                 "gpfs" "${options}" >> $stanza
+          checkForErrors "writing to file $stanza" $?
+
+        else
+          :  # This should never happen.
+        fi  # end if [[ $osName = AIX ]]
+        ;;
+
+      $SG_DISKS )
+        # Put all excluded disks in individual files for each file system.
+        if [[ ${18} = $excludedDisk ]]
+        then
+          print -- "$5" >> "${exclDiskFile}.${devNameField}"
+          checkForErrors "writing to file ${exclDiskFile}.${devNameField}" $?
+        fi
+        disksFound=yes
+        ;;
+
+      $MMFSCFG ) # this is a line from the mmfs.cfg file for our nodeset
+        # The mmfs.cfg information is everything past the first 4 fields.
+        shift 4
+        cfgLine="$*"
+
+        # To preserve tabs, temporarily set IFS to new line only.
+        IFS="
+"
+        # Strip trailing colons and add the line to the mmfs.cfg file.
+        print -- "${cfgLine%%+(:)}" >> $tmpCfg
+        checkForErrors "writing to file $tmpCfg" $?
+
+        IFS=":" # Change the separator back to ":" for the next iteration.
+        ;;
+
+      $AUTHORIZED_CLUSTER ) # remote cluster authorization information.
+        if [[ $secLevel -gt 0 ]]
+        then
+          cipherList=$7
+          [[ -z $cipherList ]] && cipherList=$defaultCipherList
+          print -- "clusterName=$clusterName" >> $tmpAuthKeys
+          checkForErrors "writing to file $tmpAuthKeys" $?
+          print -- "cipherList=$cipherList" >> $tmpAuthKeys
+          checkForErrors "writing to file $tmpAuthKeys" $?
+          certificateLine=""
+          firstLine=yes
+        fi  # end of if [[ $secLevel -gt 0 ]]
+        ;;
+
+      $AUTHORIZED_KEY ) # a public key for an authorized cluster.
+        if [[ $secLevel -gt 0 ]]
+        then
+          # The key information is everything past the first 4 fields.
+          shift 4
+          keyLine=$*
+
+          # To preserve tabs, temporarily set IFS to new line only.
+          IFS="
+"
+
+          # Strip trailing colons and add the line to the authorized keys file.
+          keyLine="${keyLine%%+(:)}"
+          if [[ $lineNumberField -eq 1 ]]
+          then
+            if [[ $keyLine = "clusterName="* ]]
+            then
+              # This key file was generated by the 3.1 version of mmauth genkey.
+              # The line identifies the cluster on which the key was generated.
+              :  # Skip the line; we have already put this information out.
+            else
+              # This key file was generated by the 2.3 version of mmauth genkey.
+              # Simulate the missing stanza lines and let the daemon deal with it.
+              print -- "clusterID=0"             >> $tmpAuthKeys
+              print -- "committedKeyGenNumber=0" >> $tmpAuthKeys
+              print -- "committedPublicKey="     >> $tmpAuthKeys
+              print -- "$keyLine"                >> $tmpAuthKeys
+              checkForErrors "writing to file $tmpAuthKeys" $?
+            fi  # end of if [[ $keyLine = "clusterName="* ]]
+          elif [[ $keyLine = "clusterID="* ]]
+          then
+            # Echo the line without a change.
+            print -- "$keyLine" >> $tmpAuthKeys
+            rc=$?
+          elif [[ $keyLine = "genkeyFormat="* ]]
+          then
+            : # Skip the line; the daemon does not need this information.
+          elif [[ $keyLine = "genkeyCompatibleFormat="* ]]
+          then
+            : # Skip the line; the daemon does not need this information.
+          elif [[ $keyLine = "keyGenNumber="* ]]
+          then
+            # Replace the keyword.
+            print -- "committedKeyGenNumber=${keyLine#keyGenNumber=}" >> $tmpAuthKeys
+            rc=$?
+          elif [[ $keyLine = "keyDigest="* ]]
+          then
+            # Replace the keyword.
+            print -- "committedKeyDigest=${keyLine#keyDigest=}" >> $tmpAuthKeys
+            rc=$?
+          elif [[ $keyLine = "publicKey=" ]]
+          then
+            # Replace the keyword.
+            print -- "committedPublicKey=" >> $tmpAuthKeys
+            rc=$?
+          elif [[ $keyLine = "certificate=" ]]
+          then
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+            # Replace the keyword.
+            print -- "committedCertificate=" >> $tmpAuthKeys
+            rc=$?
+            print -- "committedCertificate=" >> $tmpAuthCertificates
+            checkForErrors "writing to file $tmpAuthCertificates" $?
+            # Start a new section in the certificate file.
+            print -- "clusterName=$clusterName" >> $tmpAuthCertificates
+            checkForErrors "writing to file $tmpAuthCertificates" $?
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+            certificateLine=yes
+          else
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+            # All other lines are echoed without a change.
+            print -- "$keyLine" >> $tmpAuthKeys
+            checkForErrors "writing to file $tmpAuthKeys" $?
+            # If this is part of the certificate, add it to the cert file.
+            if [[ -n $certificateLine ]]
+            then
+              print -- "$keyLine" >> $tmpAuthCertificates
+              checkForErrors "writing to file $tmpAuthCertificates" $?
+            fi
+else # else ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+            # If this is NOT part of the certificate, print the line.
+            if [[ -z $certificateLine ]]
+            then
+              print -- "$keyLine" >> $tmpAuthKeys
+              checkForErrors "writing to file $tmpAuthKeys" $?
+            fi
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+          fi  # end of if [[ $lineNumberField -eq 1 ]]
+          IFS=":" # Change the separator back to ":" for the next iteration.
+        fi  # end of if [[ $secLevel -gt 0 ]]
+        ;;
+
+      $REM_CLUSTER_KEY ) # a public key for some other cluster.
+        # The key information is everything past the first 4 fields.
+        shift 4
+        keyLine=$*
+
+        # To preserve tabs, temporarily set IFS to new line only.
+        IFS="
+"
+
+        # Strip trailing colons and add the line to the appropriate known_clusters file.
+        keyLine="${keyLine%%+(:)}"
+        if [[ $lineNumberField -eq 1 ]]
+        then
+          certificateLine=""
+          if [[ $keyLine = "clusterName="* ]]
+          then
+            # This key file was generated by the 3.1 version of mmauth genkey.
+            # The line identifies the cluster on which the key was generated.
+            # Recreate the line to ensure it has the correct cluster name.
+            print -- "clusterName=${clusterName}" >> ${tmpKnownCluster}${clusterName}
+            checkForErrors "writing to file ${tmpKnownCluster}${clusterName}" $?
+            print -- "clusterName=${clusterName}" >> ${tmpKnownCertificate}${clusterName}
+            checkForErrors "writing to file ${tmpKnownCertificate}${clusterName}" $?
+          else
+            # This key file was generated by the 2.3 version of mmauth genkey.
+            # Simulate the missing stanza lines and let the daemon deal with it.
+            print -- "clusterName=${clusterName}" >> ${tmpKnownCluster}${clusterName}
+            print -- "clusterID=0"                >> ${tmpKnownCluster}${clusterName}
+            print -- "committedKeyGenNumber=0"    >> ${tmpKnownCluster}${clusterName}
+            print -- "committedPublicKey="        >> ${tmpKnownCluster}${clusterName}
+            print -- "$keyLine"                   >> ${tmpKnownCluster}${clusterName}
+            checkForErrors "writing to file ${tmpKnownCluster}${clusterName}" $?
+          fi  # end of if [[ $keyLine = "clusterName="* ]]
+        elif [[ $keyLine = "clusterID="* ]]
+        then
+          # Echo the line without a change.
+          print -- "$keyLine" >> ${tmpKnownCluster}${clusterName}
+          rc=$?
+        elif [[ $keyLine = "genkeyFormat="* ]]
+        then
+          : # Skip the line; the daemon does not need this information.
+        elif [[ $keyLine = "genkeyCompatibleFormat="* ]]
+        then
+          : # Skip the line; the daemon does not need this information.
+        elif [[ $keyLine = "keyGenNumber="* ]]
+        then
+          # Replace the keyword.
+          print -- "committedKeyGenNumber=${keyLine#keyGenNumber=}" >>  \
+                                         ${tmpKnownCluster}${clusterName}
+          rc=$?
+        elif [[ $keyLine = "keyDigest="* ]]
+        then
+          # Replace the keyword.
+          print -- "committedKeyDigest=${keyLine#keyDigest=}" >>  \
+                                        ${tmpKnownCluster}${clusterName}
+          rc=$?
+        elif [[ $keyLine = "publicKey=" ]]
+        then
+          # Replace the keyword.
+          print -- "committedPublicKey=" >> ${tmpKnownCluster}${clusterName}
+          rc=$?
+        elif [[ $keyLine = "certificate=" ]]
+        then
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+          # Replace the keyword.
+          print -- "committedCertificate=" >> ${tmpKnownCluster}${clusterName}
+          rc=$?
+          print -- "committedCertificate=" >> ${tmpKnownCertificate}${clusterName}
+          checkForErrors "writing to file ${tmpKnownCertificate}${clusterName}" $?
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+          certificateLine=yes
+        else
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+          # All other lines are echoed without a change.
+          print -- "$keyLine" >> ${tmpKnownCluster}${clusterName}
+          checkForErrors "writing to file ${tmpKnownCluster}${clusterName}" $?
+          # If this is part of the certificate, add it to the cert file.
+          if [[ -n $certificateLine ]]
+          then
+            print -- "$keyLine" >> ${tmpKnownCertificate}${clusterName}
+            checkForErrors "writing to file ${tmpKnownCertificate}${clusterName}" $?
+          fi
+else # else ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+          # If this is NOT part of the certificate, print the line.
+          if [[ -z $certificateLine ]]
+          then
+            print -- "$keyLine" >> ${tmpKnownCluster}${clusterName}
+            checkForErrors "writing to file ${tmpKnownCluster}${clusterName}" $?
+          fi
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+        fi  # end of if [[ $lineNumberField -eq 1 ]]
+
+        IFS=":" # Change the separator back to ":" for the next iteration.
+        ;;
+
+      * ) # We are not interested in any other lines.
+         ;;
+
+    esac  # end case $lineTypeField
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+  ##########################################################
+  # Generate a list of the file systems that are currently
+  # present in the local /etc/filesystems file.
+  ##########################################################
+  getCurrentStanzaList $oldstanza
+  rc=$?
+  checkForErrors "updateMmfsEnvironment: getCurrentStanzaList $oldstanza" $rc
+
+
+  ########################################################################
+  # Remove all stanzas that are currently present in /etc/filesystems.
+  # If a file system was deleted or moved to a different nodeset since
+  # the last time this function was executed, we have to do this anyway.
+  # If a file system still exists, rather than try to figure out if
+  # anything in the stanza changed, we first delete everything that is
+  # mmfs-related from the /etc/filesystems file and then append our
+  # stanza file which contains the most current sdr data.
+  ########################################################################
+  removeAllStanzas $newstanza
+  rc=$?
+  checkForErrors "updateMmfsEnvironment: removeAllStanzas $newstanza" $rc
+
+
+  ########################################################################
+  # Remove the device name and mount point for any file system
+  # that does not belong to this nodeset any more.
+  ########################################################################
+  exec 3<&-
+  exec 3< $oldstanza
+  read -u3 fsLine   # Skip the header line from the lsfs output.
+  while read -u3 fsLine
+  do
+    # Parse the line.  The first field is the file system
+    # mount point.  The second field is the device name.
+    # We are not interested in the rest of the information.
+    IFS=":"
+    set -f ; set -- $fsLine ; set +f
+    etcMountpoint=$1
+    etcDevice=$2
+    IFS="$IFS_sv"
+
+    # See if the device name is present in the mmsdrfs file.
+    fsDeleted=true
+    for fsName in $sdrDeviceNameList
+    do
+      if [[ $fsName = $etcDevice ]]
+      then
+        fsDeleted=false
+        break
+      fi
+    done
+
+    # If necessary, remove the device name and mount point.
+    # All errors are ignored.
+    [[ $fsDeleted = true ]] &&  \
+      removeMountPoint $etcDevice $etcMountpoint $currentMajorNumber
+
+  done  # end read -u3 fsLine
+
+
+  ###########################################################
+  # Make sure there are /dev entries and mount points for
+  # all file systems that still exist in the nodeset.
+  ###########################################################
+  if [[ -s $remainingFs ]]
+  then
+    # Find the value of the automount directory.
+    # Note:  This is really needed on Linux only.
+    [[ $osName = Linux ]]  &&  \
+      automountDir=$(showCfgValue automountDir no $ourShortName $tmpCfg)
+    [[ -z $automountDir ]] && automountDir=$defaultAutomountDir
+    [[ $osName = Linux ]]  && $mkdir -p $automountDir
+
+    # Verify the device name and mount points.
+    exec 3<&-
+    exec 3< $remainingFs
+    while read -u3 createMountPointParms
+    do
+      createMountPoint $createMountPointParms $automountDir
+      checkForErrors "createMountPoint $createMountPointParms $automountDir" $?
+    done  # end read -u3 createMountPointParms
+  fi  # end of if [[ -s $remainingFs ]]
+
+
+  ###########################################################
+  # Determine the values of the dynamic mmfs.cfg parameters
+  # that are unique to this node.  These values are always
+  # determined dynamically every time mmfs.cfg is generated.
+  ###########################################################
+  # Start a node override section for this node.
+  print -- "[${ourShortName}]" >> $tmpCfg
+  checkForErrors "writing to file $tmpCfg" $?
+
+  # Determine the value of the psspVsd mmfs.cfg parameter.
+  if [[ $osName = AIX ]]
+  then
+    vsdPath=$(LC_ALL=C $ls -l $vsdatalst 2>/dev/null)
+    if [[ $vsdPath = *${vsdatalstPSSP}* && -x $vsdatalstPSSP ]]
+    then
+      print -- "psspVsd yes" >> $tmpCfg
+      checkForErrors "writing to file $tmpCfg" $?
+    elif [[ $vsdPath = *${vsdatalstRSCT}* && -x $vsdatalstRSCT ]]
+    then
+      print -- "psspVsd no" >> $tmpCfg
+      checkForErrors "writing to file $tmpCfg" $?
+    else
+      :  # Do nothing.
+    fi
+  fi  #  end of if [[ $osName = AIX ]]
+
+  # Determine the value of the takeOverSdrServ mmfs.cfg parameter.
+  if [[ ( $ourNodeName = $primaryServer || $ourNodeName = $backupServer ) &&
+        $mmsdrservTcpPort = $tscTcpPort ]]
+  then
+    print -- "takeOverSdrServ yes" >> $tmpCfg
+    checkForErrors "writing to file $tmpCfg" $?
+  else
+    print -- "takeOverSdrServ no" >> $tmpCfg
+    checkForErrors "writing to file $tmpCfg" $?
+  fi  # end of if [[ $ourNodeName = $primaryServer || ...
+
+
+  ##########################################################
+  # Create a file with the names of the file systems that
+  # must be mounted when the GPFS daemon is started.
+  # The ordering of the file systems depends on the index
+  # of this node within the cluster.  This is done to avoid
+  # the simultaneous mounting of the same file system from
+  # all of the nodes in the cluster.
+  ##########################################################
+  if [[ -n $startupMountDeviceList ]]
+  then
+    startupMountFile1=${tmpDir}startupMountFile1.${mmcmd}.$$
+    startupMountFile2=${tmpDir}startupMountFile2.${mmcmd}.$$
+    $rm -f $startupMountFile $startupMountFile1 $startupMountFile2
+    n=0
+    [[ $fsNumber -gt 0 ]] &&  \
+      (( ourNodeIndex = ourNodeIndex % fsNumber ))
+
+    for fsName in $startupMountDeviceList
+    do
+      if [[ $n -ge $ourNodeIndex ]]
+      then
+        print -- "$fsName" >> $startupMountFile1
+      else
+        print -- "$fsName" >> $startupMountFile2
+      fi
+      (( n += 1 ))
+    done
+
+    # Combine the two parts of the startup mounts file.
+    # Since this isn't a critical file, ignore errors.
+    $cat $startupMountFile1 $startupMountFile2 >> $startupMountFile 2>/dev/null
+    $rm -f $startupMountFile1 $startupMountFile2
+
+  else
+    # There are no file systems to mount at startup time.
+    # Clear any leftover file.
+    $rm -f $startupMountFile
+
+  fi  # end of if [[ -n $startupMountDeviceList ]]
+
+
+  ###########################################################
+  $mmTRACE "Start critical section - copying system files"
+  ###########################################################
+
+  # Add the latest stanza information to /etc/filesystems.
+  if [[ -s $stanza ]]
+  then
+    $cat $stanza >> $newstanza
+    checkForErrors "cat $stanza >> $newstanza" $?
+  fi
+
+  # See if the /etc/filesystems information needs to be updated.
+  $diff $newstanza $etcFilesystems >/dev/null 2>/dev/null
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    $cp $newstanza $etcFilesystems
+    rc=$?
+    $mmsync $etcFilesystems
+    checkForErrors "cp $newstanza $etcFilesystems" $rc
+  fi
+
+  # See if the mmfs.cfg information needs to be updated.
+  $diff $tmpCfg $mmfscfg >/dev/null 2>/dev/null
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    $mv -f $tmpCfg $mmfscfg
+    checkForErrors "mv tmpCfg $mmfscfg" $?
+    $mmsync $mmfscfg
+  fi
+
+  # See if the automounter map information needs to be updated.
+  if [[ -f $tmpDirectMap ]]
+  then
+    $diff $tmpDirectMap $mmDirectMap >/dev/null 2>/dev/null
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      $mv -f $tmpDirectMap $mmDirectMap
+      checkForErrors "mv tmpDirectMap $mmDirectMap" $?
+      $mmsync $mmDirectMap
+      restartAutomounter=yes
+    else
+      restartAutomounter=""
+    fi
+  elif [[ -s $mmDirectMap ]]
+  then
+    $rm -f  $mmDirectMap
+    $touch  $mmDirectMap
+    $mmsync $mmDirectMap
+    restartAutomounter=yes
+  else
+    restartAutomounter=""
+  fi  # end of if [[ -f $tmpDirectMap ]]
+
+  # Update the authorized_keys file.
+  if [[ $secLevel -gt 0 ]]
+  then
+    # Security is enabled.  Replace the authorized_keys file
+    # with its latest version, provided there is a difference.
+    $diff $tmpAuthKeys $authorizedKeys >/dev/null 2>/dev/null
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      $mv -f $tmpAuthKeys $authorizedKeys
+      checkForErrors "mv $tmpAuthKeys $authorizedKeys" $?
+      $mmsync $authorizedKeys 2>/dev/null
+    fi
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+    if [[ -s $tmpAuthCertificates ]]
+    then
+      $diff $tmpAuthCertificates $authorizedCertificates >/dev/null 2>/dev/null
+      rc=$?
+      if [[ $rc -ne 0 ]]
+      then
+        $mv -f $tmpAuthCertificates $authorizedCertificates
+        checkForErrors "mv $tmpAuthCertificates $authorizedCertificates" $?
+        $mmsync $authorizedCertificates 2>/dev/null
+      fi
+    fi  # end of if [[ -s $tmpAuthCertificates ]]
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+  else
+    # Security is not enabled.  Ensure there is no left-over file.
+    $rm -f $authorizedKeys $authorizedCertificates
+  fi  # end of if [[ $secLevel -gt 0 ]]
+
+  # Create the known_cluster files for all presently defined remote clusters.
+  for fname in $($ls ${tmpKnownCluster}* 2>/dev/null)
+  do
+    # Extract the cluster name and put it on the list of known clusters.
+    clusterName=${fname#$tmpKnownCluster}
+    currentKnownClusters="$currentKnownClusters $clusterName "
+
+    # Append the local cluster's keys.
+    if [[ -s $localAuthKeys ]]
+    then
+      $cat $localAuthKeys >> $fname
+      checkForErrors "writing to file $fname" $?
+    fi
+
+    # If the new known_cluster file is different from the existing one,
+    # replace the existing file with the latest version.
+    $diff $fname ${knownCluster}.$clusterName >/dev/null 2>/dev/null
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      $mv -f $fname ${knownCluster}.$clusterName
+      checkForErrors "mv $fname ${knownCluster}.$clusterName" $?
+      $mmsync ${knownCluster}.$clusterName
+    fi
+  done  # end of for fname in $($ls ${tmpKnownCluster}* 2>/dev/null)
+
+  # Remove obsolete known_cluster files, if any.
+  for fname in $($ls ${knownCluster}* 2>/dev/null)
+  do
+    [[ $currentKnownClusters != *" ${fname#$knownCluster.} "* ]] &&  \
+      $rm -f $fname
+  done
+
+if [[ -e $MULTIPLE_KEYS_5 ]] ; then   # start ifdef
+  # Create the known_certificate files for all presently defined remote clusters.
+  currentKnownClusters=""
+  for fname in $($ls ${tmpKnownCertificate}* 2>/dev/null)
+  do
+    # Extract the cluster name and put it on the list of known clusters.
+    clusterName=${fname#$tmpKnownCertificate}
+    currentKnownClusters="$currentKnownClusters $clusterName "
+
+    # Append the local cluster's certificates.
+    if [[ -s $localCertificates ]]
+    then
+      $cat $localCertificates >> $fname
+      checkForErrors "writing to file $fname" $?
+    fi
+
+    # If the new known_cluster file is different from the existing one,
+    # replace the existing file with the latest version.
+    $diff $fname ${knownCertificate}.$clusterName >/dev/null 2>/dev/null
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      $mv -f $fname ${knownCertificate}.$clusterName
+      checkForErrors "mv $fname ${knownCertificate}.$clusterName" $?
+      $mmsync ${knownCertificate}.$clusterName
+    fi
+  done  # end of for fname in $($ls ${tmpKnownCertificate}* 2>/dev/null)
+
+  # Remove obsolete known_certificate files, if any.
+  for fname in $($ls ${knownCertificate}* 2>/dev/null)
+  do
+    [[ $currentKnownClusters != *" ${fname#$knownCertificate.} "* ]] &&  \
+      $rm -f $fname
+  done
+fi # end ifdef if [[ -e $MULTIPLE_KEYS_5 ]]
+
+  # Clear false errors from the diffs above.
+  rc=0
+
+
+  ##############################################################
+  $mmTRACE "End critical section - copying system files"
+  ##############################################################
+
+  # Create an empty file.  The suffix in the file name shows the gen number
+  # of the mmsdrfs file that was used to create the system files.
+  $touch ${mmfsEnvLevel}$genNumber
+
+  # Create another empty file.  Its file name suffix will show
+  # the value of the major number used when creating /dev entries.
+  $touch ${mmfsVfsNumber}$majorNumber
+
+
+  #########################################
+  # Release the local mmfsEnv update lock.
+  #########################################
+  if [[ $envLocked = yes ]]
+  then
+    freeEnvLock > /dev/null
+    envLocked=no
+  fi
+
+
+  #########################################
+  # Do some AIX-specific processing.
+  #########################################
+  if [[ $osName = AIX ]]
+  then
+    # Verify there is an mmfs entry in /etc/auto_mount.
+    [[ -n $automountFileSystemsFound ]] &&  \
+      checkAutomountDefine
+
+    # Restart the automounter if the automount map file changed.
+    # Hide all messages if automount mounts are not presently used.
+    if [[ -n $restartAutomounter ]]
+    then
+      if [[ -n $automountFileSystemsFound ]]
+      then
+        $automount
+      else
+        [[ -x $automount ]] && $automount >/dev/null 2>/dev/null
+      fi
+    fi
+
+    # Generate the file listing the NSD physical volumes
+    # if there are disks and the file does not exist.
+    [[ ! -f $nsdpvol && -n $disksFound ]] &&  \
+      listNsdPhysicalVolumes $nsdpvol
+
+  fi  # end of if [[ $osName = AIX ]]
+
+  $mmTRACE_EXIT "rc=$rc"
+  return $rc
+
+}  #----- end of function updateMmfsEnvironment ---------------
+
+
+######################################################################
+#
+# Function:  Ensure the required levels of the authorization key
+#            files are present on this node.
+#
+# Input:     $1 - sdrfs file to use
+#
+# Output:    Current security level
+#
+# Returns:   0 - no problems found
+#            1 - unexpected error
+#
+######################################################################
+function updateKeyFiles # <sdrfsFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGupdateKeyFiles ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfsFile=$1
+
+  typeset versionLine primaryServer backupServer ourClusterName
+  typeset fname firstChoice secondChoice linkTarget keyLevel
+  typeset committedKeyGenNumber newKeyGenNumber keyGenNumber
+  typeset currentCommittedKeyLevel currentNewKeyLevel
+  typeset rebuildCommittedFiles rebuildNewFiles neededKeyGenNumbers
+  typeset ourClusterId sdrfsFormatLevel keyfileFormatLevel keyFile
+  typeset rc=0
+  typeset secLevel=0
+
+
+  # Parse the version line of the mmsdrfs file and get needed data.
+  versionLine=$($head -1 $sdrfsFile)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+  primaryServer=${v[$PRIMARY_SERVER_Field]}
+  backupServer=${v[$BACKUP_SERVER_Field]}
+  [[ $backupServer = "_NOSECONDARY_" ]] && backupServer=""
+  ourClusterName=${v[$CLUSTER_NAME_Field]}
+  ourClusterId=${v[$CLUSTERID_Field]#gpfs}
+  [[ -z $ourClusterId ]] && ourClusterId=0
+  newKeyGenNumber=${v[$NEW_KEY_Field]}
+  [[ -z $newKeyGenNumber ]] && newKeyGenNumber=0
+  committedKeyGenNumber=${v[$COMMITTED_KEY_Field]}
+  [[ -z $committedKeyGenNumber || $committedKeyGenNumber -eq 0 ]] &&  \
+    committedKeyGenNumber=$newKeyGenNumber
+  secLevel=${v[$SECLEVEL_Field]}
+  [[ -z $secLevel ]] && secLevel=0
+  sdrfsFormatLevel=${v[$SDRFS_FORMAT_Field]}
+  keyfileFormatLevel=${v[$KEYFILE_FORMAT_Field]}
+  [[ -z $keyfileFormatLevel ]] && keyfileFormatLevel=0
+
+
+  # Determine which file to retrieve.  This depends on what version of
+  # mmauth generated the file.
+  if [[ $keyfileFormatLevel = $CURRENT_KEYFILE_FORMAT ]]
+  then
+    keyFile=$genkeyData
+  else
+    keyFile=$privateKey
+  fi
+
+  #---------------------------------------------------------------------
+  #
+  # Verify that the key files indeed exist and that they are correctly
+  # linked.  Here are the basic rules:
+  #
+  # -  If newKeyGenNumber = 0, the user has not created yet a private
+  #    key ("mmauth genkey new" was never issued).  The authorized_keys
+  #    file will not be created and no files will be created in the ssl
+  #    directory.
+  #
+  # -  If newKeyGenNumber > 0 and committedKeyGenNumber = 0, the mmsdrfs
+  #    file does not have valid information - see the initialization
+  #    code above.  This is a "should never happen" case.
+  #    Note:  The above turns out to be an acceptable case for early 2.3
+  #           clusters (prior to PTF3 ??); pretend committedKeyGenNumber
+  #           is not there.
+  #
+  # -  If committedKeyGenNumber > newKeyGenNumber, the mmsdrfs file
+  #    does not have valid information.  This is a "should never happen".
+  #
+  # -  If committedKeyGenNumber = newKeyGenNumber, the daemon will
+  #    see only one key in the authorized_keys file with a record
+  #    header "committedPublicKey=".  This is the normal case.
+  #
+  #    The link committedPrivateKey (ssl/id_rsa_committed) must
+  #    exist and point to file ${privateKey}$committedKeyGenNumber.
+  #    The link newPrivateKey (ssl/id_rsa_new) should not exist.
+  #
+  # -  If committedKeyGenNumber < newKeyGenNumber, the daemon will
+  #    see two keys in the authorized_keys file.  The record headers
+  #    will be "committedPublicKey=" and "newPublicKey=".
+  #
+  #    The link committedPrivateKey (ssl/id_rsa_committed) must
+  #    exist and point to file ${privateKey}$committedKeyGenNumber.
+  #    The link newPrivateKey (ssl/id_rsa_new) must exist and point
+  #    to file ${privateKey}$newKeyGenNumber.
+  #
+  #---------------------------------------------------------------------
+
+  # Perform quick sanity checks.
+  [[ $committedKeyGenNumber -eq 0 && $newKeyGenNumber -gt 0 && $sdrfsFormatLevel -gt 0 ||
+     $committedKeyGenNumber -gt $newKeyGenNumber ]] &&  \
+    corruptedSdrFileExit 138 "$versionLine"
+
+  # If a key has not been generated yet, there isn't much to do.
+  if [[ $newKeyGenNumber -eq 0 ]]
+  then
+    # Create key level indicators.  The suffix in the file name shows the
+    # generation number of the key files currently in effect.
+    # At this point, both gen numbers are zero.
+    $rm -f ${mmfsNewKeyLevel}+([0-9]) ${mmfsCommittedKeyLevel}+([0-9])
+    $touch ${mmfsNewKeyLevel}${newKeyGenNumber}
+    $touch ${mmfsCommittedKeyLevel}${committedKeyGenNumber}
+    return 0
+  fi
+
+  # Find out the current level of the key files.
+  currentNewKeyLevel=$($ls ${mmfsNewKeyLevel}+([0-9]) 2>/dev/null)
+  currentNewKeyLevel=${currentNewKeyLevel#$mmfsNewKeyLevel}
+  [[ $currentNewKeyLevel != +([0-9]) ]] && currentNewKeyLevel=0
+  currentCommittedKeyLevel=$($ls ${mmfsCommittedKeyLevel}+([0-9]) 2>/dev/null)
+  currentCommittedKeyLevel=${currentCommittedKeyLevel#$mmfsCommittedKeyLevel}
+  [[ $currentCommittedKeyLevel != +([0-9]) ]] && currentCommittedKeyLevel=0
+
+  # If the key was generated and successfully committed,
+  # there will only be a "committed" key.
+  if [[ $committedKeyGenNumber -eq $newKeyGenNumber ]]
+  then
+    # There should be only a "committed" key in this case.
+    $rm -f $newPrivateKey $newPublicKey $newCertificate
+
+    # Verify that the all of the committed key files and needed links exist.
+    if [[ $currentCommittedKeyLevel -eq $committedKeyGenNumber ]]
+    then
+      linkTarget=$(LC_ALL=C $ls -l $committedPrivateKey 2>/dev/null)
+      linkTarget=${linkTarget##*$BLANKchar}
+      if [[ -f ${privateKey}$committedKeyGenNumber && -L $committedPrivateKey &&
+            $linkTarget = ${privateKey#$sslDir}$committedKeyGenNumber  &&
+            -f $committedPublicKey && -f $committedCertificate &&
+            -f ${keyFile}${committedKeyGenNumber} ]]
+      then
+        return 0
+      fi
+    fi  # end if [[ $currentCommittedKeyLevel -eq $committedKeyGenNumber ]]
+
+    rebuildNewFiles=""
+    rebuildCommittedFiles=yes
+    neededKeyGenNumbers=$committedKeyGenNumber
+
+  # If a new key was generated, but not yet committed,
+  # and there already is a committed previous key,
+  # there will be two keys: "new" and "committed".
+  else  # [[ $committedKeyGenNumber -lt $newKeyGenNumber ]]
+    # Assume, for now, that neither link is in order.
+    rebuildNewFiles=yes
+    rebuildCommittedFiles=yes
+
+    # Verify that the all of the committed key files and needed links exist.
+    if [[ $currentCommittedKeyLevel -eq $committedKeyGenNumber ]]
+    then
+      linkTarget=$(LC_ALL=C $ls -l $committedPrivateKey 2>/dev/null)
+      linkTarget=${linkTarget##*$BLANKchar}
+      if [[ -f ${privateKey}$committedKeyGenNumber && -L $committedPrivateKey &&
+            $linkTarget = ${privateKey#$sslDir}$committedKeyGenNumber  &&
+            -f $committedPublicKey && -f $committedCertificate &&
+            -f ${keyFile}${committedKeyGenNumber} ]]
+      then
+        rebuildCommittedFiles=""
+      else
+        neededKeyGenNumbers=$committedKeyGenNumber
+      fi
+    else
+      neededKeyGenNumbers=$committedKeyGenNumber
+    fi  # end if [[ $currentCommittedKeyLevel -eq $committedKeyGenNumber ]]
+
+    # Verify that the all of the uncommitted key files and needed links exist.
+    if [[ $currentNewKeyLevel -eq $newKeyGenNumber ]]
+    then
+      linkTarget=$(LC_ALL=C $ls -l $newPrivateKey 2>/dev/null)
+      linkTarget=${linkTarget##*$BLANKchar}
+      if [[ -f ${privateKey}$newKeyGenNumber && -L $newPrivateKey &&
+            $linkTarget = ${privateKey#$sslDir}$newKeyGenNumber &&
+            -f $newPublicKey && -f $newCertificate &&
+            -f ${keyFile}${newKeyGenNumber} ]]
+      then
+        rebuildNewFiles=""
+      else
+        neededKeyGenNumbers="$neededKeyGenNumbers $newKeyGenNumber"
+      fi
+    else
+      neededKeyGenNumbers="$neededKeyGenNumbers $newKeyGenNumber"
+    fi  # end if [[ $currentNewKeyLevel -eq $newKeyGenNumber ]]
+
+    # If both links are OK, we are done.
+    [[ -z $rebuildNewFiles && -z $rebuildCommittedFiles ]] &&  \
+      return 0
+
+  fi  # end of if [[ $committedKeyGenNumber -eq 0 ]]
+
+  # If here, something is not quite all right; rebuild the files.
+  # Remove the level indicators for the files and links that need work.
+  $rm -f ${mmfsNewKeyLevel}+([0-9]) ${mmfsCommittedKeyLevel}+([0-9])
+
+  # If we have two servers, we will spread the work by picking a server
+  # depending on our node number.  If the first choice fails, then we'll
+  # try the second one.
+  if [[ -n $backupServer && $ourNodeNumber%2 -eq 0 ]]
+  then
+    firstChoice=$backupServer
+    secondChoice=$primaryServer
+  else
+    firstChoice=$primaryServer
+    secondChoice=$backupServer
+  fi
+
+  # Retrieve the missing files.
+  for keyGenNumber in $neededKeyGenNumbers
+  do
+    if [[ ! -f ${keyFile}$keyGenNumber ]]
+    then
+      # If this node is one of the repository server nodes, it should
+      # have had the key file.  Before giving up, try to get the file
+      # from the other server, assuming one exists.
+      if [[ $ourNodeName = $primaryServer || $ourNodeName = $backupServer ]]
+      then
+        if [[ -z $secondChoice ]]
+        then
+          # The key file file was not found and there is no backup server.
+          # Tell the user to recover the file or regenerate it.
+          printErrorMsg 507 $mmcmd ${keyFile}$keyGenNumber
+          return 1
+        elif [[ $ourNodeName = $primaryServer ]]
+        then
+          # If we are on the primary server, try the backup.
+          firstChoice=$backupServer
+        else
+          # If we are on the backup server, try the primary.
+          firstChoice=$primaryServer
+        fi
+        # There is no second choice any more.
+        secondChoice=""
+      fi  # end of if [[ $ourNodeName = $primaryServer || ...
+
+      # Get the file from the first choice server.
+      umask 077
+      $rcp -p ${firstChoice}:${keyFile}$keyGenNumber ${keyFile}$keyGenNumber
+      rc=$?
+      umask $UMASK_sv
+      if [[ $rc -ne 0 || ! -f ${keyFile}$keyGenNumber ]]
+      then
+        # Give up if a backup server is not defined.
+        if [[ -z $secondChoice ]]
+        then
+          # Attempt to get data from primary server failed.
+          printErrorMsg 342 $mmcmd $firstChoice
+          # The key file file was not found.
+          # Tell the user to recover the file or regenerate it.
+          printErrorMsg 507 $mmcmd ${keyFile}$keyGenNumber
+          return 1
+        fi
+
+        # Issue a warning:  Attempt to get data from the server failed.
+        printErrorMsg 341 $mmcmd $firstChoice
+        rc=0
+
+        # Get the file from the second server.
+        umask 077
+        $rcp -p ${secondChoice}:${keyFile}$keyGenNumber ${keyFile}$keyGenNumber
+        rc=$?
+        umask $UMASK_sv
+        if [[ $rc -ne 0 || ! -f ${keyFile}$keyGenNumber ]]
+        then
+          # Attempt to get data from the server failed.
+          printErrorMsg 342 $mmcmd $secondChoice
+          # The key file file was not found.
+          # Tell the user to recover it or regenerate it.
+          printErrorMsg 507 $mmcmd ${keyFile}$keyGenNumber
+          return 1
+        fi
+      fi  # end if [[ $rc -ne 0 || ! -f ${keyFile}$keyGenNumber ]]
+    fi  # end if [[ ! -f ${keyFile}$keyGenNumber ]]
+  done  # end of for keyGenNumber in $neededKeyGenNumbers
+
+  # Obtain the local mmfsEnv update lock.
+  if [[ $envLocked != yes ]]
+  then
+    envLockResult=$(getLocalEnvLock $$)
+    rc=$?
+    if [[ $rc -ne 0 || $envLockResult != granted ]]
+    then
+      # $mmcmd:  Failed to obtain the local environment update lock
+      printErrorMsg 511 $mmcmd
+      return 1
+    fi
+    envLocked=yes
+  fi
+
+  # Recreate the security files as necessary.
+  if [[ -n $rebuildCommittedFiles ]]
+  then
+    # If we are dealing with keys generated by mmauth 3.1 (or later),
+    # all of the information is contained in the genkeyData file.
+    # Otherwise, we have to generate the public key and certificate files.
+    if [[ $keyfileFormatLevel = $CURRENT_KEYFILE_FORMAT ]]
+    then
+      parseKeyFiles ${keyFile}${committedKeyGenNumber} $committedKeyGenNumber \
+        ${privateKey}$committedKeyGenNumber $committedPublicKey $committedCertificate
+      rc=$?
+    else
+      # Generate the corresponding public keys.
+      generatePublicKeyFiles $secLevel $ourClusterName $committedKeyGenNumber
+      rc=$?
+    fi
+    [[ $rc -ne 0 ]] && return $rc
+
+    # Recreate the link to the private key file.
+    $rm -f $committedPrivateKey
+    cd $sslDir
+    $ln -sf ${privateKey#$sslDir}$committedKeyGenNumber ${committedPrivateKey#$sslDir}
+    rc=$?
+    cd - >/dev/null
+    checkForErrors  \
+     "ln -sf ${privateKey#$sslDir}$committedKeyGenNumber ${committedPrivateKey#$sslDir}" $rc
+  fi  # end of if [[ -n $rebuildCommittedFiles ]]
+
+  if [[ -n $rebuildNewFiles ]]
+  then
+    # We must be dealing with keys generated by mmauth 3.1 (or later).
+    parseKeyFiles ${keyFile}${newKeyGenNumber} $newKeyGenNumber  \
+      ${privateKey}$newKeyGenNumber $newPublicKey $newCertificate
+    rc=$?
+    [[ $rc -ne 0 ]] && return $rc
+
+    # Recreate the link to the private key file.
+    $rm -f $newPrivateKey
+    cd $sslDir
+    $ln -sf ${privateKey#$sslDir}$newKeyGenNumber ${newPrivateKey#$sslDir}
+    rc=$?
+    cd - >/dev/null
+    checkForErrors  \
+      "ln -sf ${privateKey#$sslDir}$newKeyGenNumber ${newPrivateKey#$sslDir}" $rc
+  fi  # end of if [[ -n $rebuildNewFiles ]]
+
+  # Create a link to the most recent public key files.
+  if [[ -s $newPublicKey ]]
+  then
+    $ln -sf $newPublicKey $publicKey
+    checkForErrors "ln -sf $newPublicKey $publicKey" $?
+  elif [[ -s $committedPublicKey ]]
+  then
+    $ln -sf $committedPublicKey $publicKey
+    checkForErrors "ln -sf $committedPublicKey $publicKey" $?
+  elif [[ $secLevel -gt 0 ]]
+  then
+    checkForErrors "updateKeyFiles: missing public key file" 1
+  else
+    : # seclevel is 0; it is OK if no key files were found.
+  fi  # end of if [[ -s $newPublicKey ]]
+
+  # Create key level indicators.  The suffix in the file name shows the
+  # generation number of the key files currently in effect.
+  $rm -f ${mmfsNewKeyLevel}+([0-9]) ${mmfsCommittedKeyLevel}+([0-9])
+  $touch ${mmfsNewKeyLevel}${newKeyGenNumber}
+  $touch ${mmfsCommittedKeyLevel}${committedKeyGenNumber}
+
+  # Release the local mmfsEnv update lock.
+  if [[ $envLocked = yes ]]
+  then
+    freeEnvLock > /dev/null
+    envLocked=no
+  fi
+
+  # Clean up any leftover old files.
+  # Note: The id_rsa link and the mmfsKeyLevel indicator are not used anymore.
+  #       They have been replaced with their "new" and "committed" counterparts.
+  $rm -f $privateKey ${mmsdrfsDir}mmfsKeyLevel+([0-9])
+  for fname in $($ls ${privateKey}+([0-9]) 2>/dev/null)
+  do
+    keyLevel=${fname#$privateKey}
+    [[ $keyLevel -lt $committedKeyGenNumber ]] &&  \
+      $rm -f $fname
+  done  # end of for fname in $($ls ${privateKey}+([0-9]) 2>/dev/null)
+
+  for fname in $($ls ${genkeyData}+([0-9]) 2>/dev/null)
+  do
+    keyLevel=${fname#$genkeyData}
+    [[ $keyLevel -lt $committedKeyGenNumber ]] &&  \
+      $rm -f $fname
+  done  # end of for fname in $($ls ${genkeyData}+([0-9]) 2>/dev/null)
+
+  return $rc
+
+}  #----- end of function updateKeyFiles -------------------
+
+
+######################################################################
+#
+# Function:  Parse a file generated by mmauth genkey into its
+#            components: private key, public key and certificate.
+#
+# Input:     $1 - mmauth genkey file to use
+#            $2 - key generation number
+#            $3 - name of private key file to create
+#            $4 - name of public key file to create
+#            $5 - name of certificate key file to create
+#
+# Output:    None explicit; security files generated.
+#
+# Returns:   0 - no problems found
+#            1 - unexpected error
+#
+######################################################################
+function parseKeyFiles # <genkeyFile> <keyGenNumber>
+                       # <privateKey> <publicKey> <certificate>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGparseKeyFiles ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset genkeyFile=$1
+  typeset keyGenNumber=$2
+  typeset privateKeyFile=$3
+  typeset publicKeyFile=$4
+  typeset certificateFile=$5
+
+  typeset keyLine publicKeyLine privateKeyLine certificateLine
+  typeset rc=0
+
+  [[ ! -f $genkeyFile ]] &&  \
+    checkForErrors "parseKeyFiles: missing input file $genkeyFile" 19
+
+  [[ -z $certificateFile ]] &&  \
+    checkForErrors "parseKeyFiles: missing input parameters" 1
+
+  $rm -f $tmpPublicKey $tmpPrivateKey $tmpCertificate
+
+  # Prepare the file for reading.
+  IFS=""     # Reset IFS to preserve blanks and tabs.
+  exec 4<&-
+  exec 4< $genkeyFile
+
+  # Read the first line.  It must me the clusterName stanza.
+  read -u4 keyLine
+  [[ $keyLine != "clusterName="* ]] &&  \
+    checkForErrors "parseKeyFiles: invalid input file $genkeyFile" 11
+
+  # Start creating the new public key file.
+  print -- "$keyLine" >> $tmpPublicKey
+  checkForErrors "writing to file $tmpPublicKey" $?
+
+  # Read the second line.  It must me the clusterId stanza.
+  read -u4 keyLine
+  [[ $keyLine != "clusterID="* ]] &&  \
+    checkForErrors "parseKeyFiles: invalid input file $genkeyFile" 12
+
+  print -- "$keyLine" >> $tmpPublicKey
+  checkForErrors "writing to file $tmpPublicKey" $?
+
+  # Read the third line.  It must me the format level for the file.
+  read -u4 keyLine
+  [[ $keyLine != "genkeyFormat="* ]] &&  \
+    checkForErrors "parseKeyFiles: invalid input file $genkeyFile" 13
+
+  print -- "$keyLine" >> $tmpPublicKey
+  checkForErrors "writing to file $tmpPublicKey" $?
+
+  # Read the fourth line.  It must me the compatible format level.
+  read -u4 keyLine
+  [[ $keyLine != "genkeyCompatibleFormat="* ]] &&  \
+    checkForErrors "parseKeyFiles: invalid input file $genkeyFile" 14
+
+  print -- "$keyLine" >> $tmpPublicKey
+  checkForErrors "writing to file $tmpPublicKey" $?
+
+  # Read the fifth line.  It must contain the key generation number.
+  read -u4 keyLine
+  [[ $keyLine != "keyGenNumber="* ]] &&  \
+    checkForErrors "parseKeyFiles: invalid input file $genkeyFile" 15
+  [[ $keyGenNumber != ${keyLine#keyGenNumber=} ]] && \
+    checkForErrors "parseKeyFiles: invalid generation number" 16
+
+  print -- "$keyLine" >> $tmpPublicKey
+  checkForErrors "writing to file $tmpPublicKey" $?
+
+  # Read the sixth line.  It must contain the key SHA digest.
+  read -u4 keyLine
+  [[ $keyLine != "keyDigest="* ]] &&  \
+    checkForErrors "parseKeyFiles: invalid input file $genkeyFile" 17
+
+  print -- "$keyLine" >> $tmpPublicKey
+  checkForErrors "writing to file $tmpPublicKey" $?
+
+
+  # Parse the rest of the lines.
+  while read -u4 keyLine
+  do
+    if [[ $keyLine = "privateKey=" ]]
+    then
+      # This is the begining of the private key portion of the file.
+      privateKeyLine=yes
+      publicKeyLine=""
+      certificateLine=""
+
+    elif [[ $keyLine = "publicKey=" ]]
+    then
+      # This is the begining of the public key portion of the file.
+      privateKeyLine=""
+      publicKeyLine=yes
+      certificateLine=""
+      print -- "$keyLine" >> $tmpPublicKey
+      checkForErrors "writing to file $tmpPublicKey" $?
+
+    elif [[ $keyLine = "certificate=" ]]
+    then
+      # This is the begining of the certificate portion of the file.
+      privateKeyLine=""
+      publicKeyLine=""
+      certificateLine=yes
+      print -- "$keyLine" >> $tmpPublicKey
+      checkForErrors "writing to file $tmpPublicKey" $?
+
+    else
+      # This is not a stanza line but actual key data.
+      # Append the line to the correct file(s).
+      if [[ -n $privateKeyLine ]]
+      then
+        print -- "$keyLine" >> $tmpPrivateKey
+        checkForErrors "writing to file $tmpPrivateKey" $?
+
+      elif [[ -n $publicKeyLine ]]
+      then
+        print -- "$keyLine" >> $tmpPublicKey
+        checkForErrors "writing to file $tmpPublicKey" $?
+
+      elif [[ -n $certificateLine ]]
+      then
+        print -- "$keyLine" >> $tmpCertificate
+        checkForErrors "writing to file $tmpCertificate" $?
+        print -- "$keyLine" >> $tmpPublicKey
+        checkForErrors "writing to file $tmpPublicKey" $?
+      else
+        : # noop; should never be here
+      fi  # end of if [[ -n $privateKeyLine ]]
+    fi  # end of if [[ $keyLine = "privateKey=" ]]
+  done  # end while read -u4 keyLine
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # If the existing key files are different from the new ones,
+  # replace them.  Otherwise, leave the existing files as is.
+  $diff $tmpPrivateKey $newPublicKey >/dev/null 2>/dev/null
+  if [[ $? -ne 0 ]]
+  then
+    $mv -f $tmpPrivateKey $privateKeyFile
+    checkForErrors "mv $tmpPrivateKey $privateKeyFile" $?
+    $mmsync $privateKeyFile
+  fi
+
+  $diff $tmpPublicKey $publicKeyFile >/dev/null 2>/dev/null
+  if [[ $? -ne 0 ]]
+  then
+    $mv -f $tmpPublicKey $publicKeyFile
+    checkForErrors "mv $tmpPublicKey $publicKeyFile" $?
+    $mmsync $publicKeyFile
+  fi
+
+  $diff $tmpCertificate $certificateFile >/dev/null 2>/dev/null
+  if [[ $? -ne 0 ]]
+  then
+    $mv -f $tmpCertificate $certificateFile
+    checkForErrors "mv $tmpCertificate $certificateFile" $?
+    $mmsync $certificateFile
+  fi
+
+  return $rc
+
+}  #----- end of function parseKeyFiles -------------------
+
+
+######################################################################
+#
+# Function:  Ensure the required public authorization key files and
+#            self signed certificates are present on this node.
+#            Note: This is needed only for key files generated with
+#                  mmauth genkey prior to 3.1.
+#
+# Input:     $1 - security level in effect for the cluster
+#            $2 - our cluster name
+#            $3 - generation number of the key file
+#
+# Output:    none
+#
+# Returns:   0 - no problems found
+#            1 - unexpected error
+#
+######################################################################
+function generatePublicKeyFiles  # <secLevel> <clusterName> <keyGenNumber>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgeneratePublicKeyFiles ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset secLevel=$1
+  typeset clusterName=$2
+  typeset keyGenNumber=$3
+
+  typeset rc=0
+  typeset rc1=0
+  typeset rc2=0
+  typeset randOpt randFile
+
+
+  # The private key file must have been retrieved prior to calling this function.
+  # If the file is miising, ignore the error if security is not enabled.
+  if [[ ! -e ${privateKey}$keyGenNumber ]]
+  then
+    if [[ $secLevel -gt 0 ]]
+    then
+      checkForErrors "generatePublicKeyFiles: missing file ${privateKey}$keyGenNumber" 1
+    else
+      return 0
+    fi
+  fi  # end of if [[ -e ${privateKey}$keyGenNumber ]]
+
+  # If the sslrandfile user exit is installed, use it to determine
+  # the value for the -rand paramter for the openssl calls.
+  if [[ -x $sslrandfile ]]
+  then
+    randFile=$($sslrandfile 2>/dev/null)
+    [[ -n $randFile ]] &&  \
+      randOpt="-rand $randFile"
+  fi  # end of if [[ -x $sslrandfile ]]
+
+  # Regenerate the openssl.conf file.
+  $sed 's/= gpfsCluster/= '$clusterName'/' $opensslConfFile > $certConfigFile
+  checkForErrors "creating $certConfigFile" $?
+
+  # Regenerate the public keys and self signed certificates from the private
+  # key files currently in effect.  This is done always, but we will ignore
+  # errors if security is not enabled.
+  $rm -f $publicKey $tmpPublicKey $committedCertificate
+
+  $openssl rsa -in ${privateKey}$keyGenNumber -pubout -out $tmpPublicKey  \
+           >/dev/null 2>/dev/null
+  rc1=$?
+
+  $openssl req $randOpt -new -x509 -days 16427 -key ${privateKey}$keyGenNumber  \
+           -out $committedCertificate -config $certConfigFile >/dev/null 2>/dev/null
+  rc2=$?
+
+  if [[ $secLevel -gt 0 ]]
+  then
+    # Security is enabled.
+
+    # Ensure the openssl commands above indeed worked.  If there is a problem,
+    # try again before giving up.  If the thing works, that's fine.  If not,
+    # hopefully there will be an error message telling the user what is wrong.
+    if [[ $rc1 -ne 0 ]]
+    then
+      $openssl rsa -in ${privateKey}$keyGenNumber -pubout -out $tmpPublicKey
+      rc1=$?
+      checkForErrors  \
+        "openssl rsa -in ${privateKey}$keyGenNumber -pubout -out $tmpPublicKey" $rc1
+    fi
+
+    if [[ $rc2 -ne 0 ]]
+    then
+      $openssl req $randOpt -new -x509 -days 16427 -key ${privateKey}$keyGenNumber  \
+               -out $committedCertificate -config $certConfigFile
+      rc2=$?
+      checkForErrors  \
+        "openssl req $randOpt -new -x509 -days 16427 -key ${privateKey}$keyGenNumber -out $committedCertificate -config $certConfigFile" $rc2
+    fi
+  fi  # end of if [[ $secLevel -gt 0 ]]
+
+  # Create the final version of the public key files.  In addition to the actual
+  # key, we also add the name and id of the cluster, the key generation number,
+  # the SHA digest (fingerprint), and the certificate file.
+  if [[ -e $tmpPublicKey && $rc1 -eq 0 ]]
+  then
+    # If the new public key file is different from the existing one,
+    # replace it.  Otherwise, leave the existing file as is.
+    $diff $tmpPublicKey $committedPublicKey >/dev/null 2>/dev/null
+    rc=$?
+    if [[ $rc -ne 0 ]]
+    then
+      $mv -f $tmpPublicKey $committedPublicKey
+      checkForErrors "mv $tmpPublicKey $committedPublicKey" $?
+      $mmsync $committedPublicKey
+    fi
+  fi  # end of if [[ -e $tmpPublicKey && $rc1 -eq 0 ]]
+
+  return 0
+
+}  #----- end of function generatePublicKeyFiles -------------------
+
+
+######################################################################
+#
+# Function:  Ensure the given public key file was indeed created by
+#            the mmauth genkey command on the specified cluster.
+#            Create a local copy of the file that has certain generic
+#            stanza keywords replaced with the keywords that are
+#            known to the GPFS daemon.
+#
+# Input:     $1 - key file to verify
+#            $2 - current format level of the mmsdrfs file
+#            $3 - name of the file to create
+#            $4 - expected cluster name
+#            $5 - (optional) alternate allowed cluster name
+#
+# Output:    None
+#
+# Returns:   0 - no errors encountered
+#            non-zero - unexpected error
+#
+######################################################################
+function verifyPublicKeyFile  # <keyFile> <sdrfsFormat> <newKeyFile>
+                              # <clusterName> [<clusterName2>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGverifyPublicKeyFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset keyFile=$1
+  typeset sdrfsFormatLevel=$2
+  typeset newKeyFile=$3
+  typeset clusterName=$4
+  typeset clusterName2=$5
+
+  typeset rc=0
+  typeset keyLine originatingCluster
+  typeset keyGenNumberFound publicKeyFound publicKeyValueFound
+  typeset clusterIdFound keyDigestFound
+  typeset certificateFound certificateValueFound
+  typeset intValue genkeyFormatLevel genkeyFormatFound
+  typeset genkeyCompatibleFormatLevel genkeyCompatibleFormatFound
+
+
+  # Verify the existence of the file and create our own copy.
+  checkUserFile $keyFile $tmpPublicKey
+  [[ $? -ne 0 ]] && return 1
+
+  # If the mmsdrfs file is at release 2.3 level, accept the key file as is.
+  if [[ $sdrfsFormatLevel -eq 0 ]]
+  then
+    $cp $tmpPublicKey $newKeyFile
+    checkForErrors "cp $tmpPublicKey $newKeyFile" $?
+    return 0
+  fi
+
+  # Prepare the input file for reading.
+  exec 3<&-
+  exec 3< $tmpPublicKey
+
+  # Process the first line; it must identify the originating cluster.
+  read -u3 keyLine
+  if [[ $keyLine != "clusterName="* || $keyLine = "clusterName=" ]]
+  then
+    # If the file does not have any of the stanza key words, assume it was
+    # created by a 2.3 version of mmauth genkey.  Accept it at face value.
+    $grep -q -e "^clusterName="  -e "^clusterID=" -e "^keyDigest="  \
+             -e "^genkeyFormat=" -e "^genkeyCompatibleFormat="      \
+             -e "^keyGenNumber=" -e "^publicKey=" $tmpPublicKey >/dev/null 2>&1
+    rc=$?
+    if [[ $rc -eq 1 ]]
+    then
+      $cp $tmpPublicKey $newKeyFile
+      checkForErrors "cp $tmpPublicKey $newKeyFile" $?
+      return 0
+    fi
+
+    # Otherwise, the file has invalid format.
+    print -u2 "$mmcmd:  File $keyFile does not have a valid format."
+    print -u2 "    Ensure the file is generated with the mmauth genkey command."
+    return 1
+  fi
+
+  # Get the name of the cluster on which the file was generated.
+  originatingCluster="${keyLine#clusterName=}"
+
+  # Ensure the originating cluster is the one we expect.
+  # Note that if we are in the process of changing the cluster
+  # name, we will accept both the old and new names as valid.
+  if [[ $originatingCluster != $clusterName  &&
+        $originatingCluster != $clusterName2 ]]
+  then
+    # The file was not generated on the expected cluster.
+    print -u2 "$mmcmd:  File $keyFile was generated on cluster $originatingCluster."
+    print -u2 "    The expected cluster is $clusterName."
+    return 1
+  fi
+
+  # The input file look OK so far.  Start creating the local copy.
+  print -- "clusterName=$clusterName" > $newKeyFile
+  checkForErrors "writing to file $newKeyFile" $?
+
+  # Process the rest of the lines.
+  # Verify that all known keywords and the actual key are present.
+  IFS=""     # Reset IFS to preserve blanks and tabs.
+  while read -u3 keyLine
+  do
+    if [[ $keyLine = "clusterName="* ]]
+    then
+      # Multiple cluster name lines found.
+      print -u2 "$mmcmd:  Multiple lines with the clusterName parameter found."
+      rc=1
+      break
+
+    elif [[ $keyLine = "clusterID="* ]]
+    then
+      if [[ -n $clusterIdFound ]]
+      then
+        # Multiple clusterID lines found.
+        print -u2 "$mmcmd:  Multiple lines with the clusterID parameter found."
+        rc=1
+        break
+      else
+        clusterIdFound=yes
+      fi
+
+      # Pass the line without a change.
+      print -- "$keyLine" >> $newKeyFile
+      checkForErrors "writing to file $newKeyFile" $?
+
+    elif [[ $keyLine = "genkeyFormat="* ]]
+    then
+      if [[ -n $genkeyFormatFound ]]
+      then
+        # Multiple format level lines found.
+        print -u2 "$mmcmd:  Multiple lines with the genkeyFormat parameter found."
+        rc=1
+        break
+      else
+        genkeyFormatFound=yes
+      fi
+
+      # Retrieve the value.
+      genkeyFormatLevel=${keyLine#genkeyFormat=}
+      intValue=$(checkIntRange genkeyFormat $genkeyFormatLevel)
+      if [[ $? -ne 0 ]]
+      then
+        # Integer expected.
+        rc=1
+        break
+      fi
+
+      # Pass the line without a change.
+      print -- "$keyLine" >> $newKeyFile
+      checkForErrors "writing to file $newKeyFile" $?
+
+    elif [[ $keyLine = "genkeyCompatibleFormat="* ]]
+    then
+      if [[ -n $genkeyCompatibleFormatFound ]]
+      then
+        # Multiple compatible format lines found.
+        print -u2 "$mmcmd:  Multiple lines with genkeyCompatibleFormat found."
+        rc=1
+        break
+      else
+        genkeyCompatibleFormatFound=yes
+      fi
+
+      # Retrieve the value.
+      genkeyCompatibleFormatLevel=${keyLine#genkeyCompatibleFormat=}
+      intValue=$(checkIntRange genkeyCompatibleFormat $genkeyCompatibleFormatLevel)
+      if [[ $? -ne 0 ]]
+      then
+        # Integer expected.
+        rc=1
+        break
+      fi
+
+      if [[ $genkeyCompatibleFormatLevel -gt $COMPATIBLE_KEYFILE_FORMAT ]]
+      then
+        # Our level of the code cannot understand this file.
+        print -u2 "$mmcmd:  Incompatible key file format."
+        rc=1
+        break
+      fi
+
+      # Pass the line without a change.
+      print -- "$keyLine" >> $newKeyFile
+      checkForErrors "writing to file $newKeyFile" $?
+
+    elif [[ $keyLine = "keyGenNumber="* ]]
+    then
+      if [[ -n $keyGenNumberFound ]]
+      then
+        # Multiple key generation numbers found.
+        print -u2 "$mmcmd:  Multiple lines with the keyGenNumber parameter found."
+        rc=1
+        break
+      else
+        keyGenNumberFound=yes
+      fi
+
+      # Pass the line without a change.
+      print -- "$keyLine" >> $newKeyFile
+      checkForErrors "writing to file $newKeyFile" $?
+
+    elif [[ $keyLine = "keyDigest="* ]]
+    then
+      if [[ -n $keyDigestFound ]]
+      then
+        # Multiple keyDigest lines found.
+        print -u2 "$mmcmd:  Multiple lines with the keyDigest parameter found."
+        rc=1
+        break
+      else
+        keyDigestFound=yes
+      fi
+
+      # Pass the line without a change.
+      print -- "$keyLine" >> $newKeyFile
+      checkForErrors "writing to file $newKeyFile" $?
+
+    elif [[ $keyLine = "publicKey=" ]]
+    then
+      if [[ -n $publicKeyFound ]]
+      then
+        # Multiple public keys found.
+        print -u2 "$mmcmd:  Multiple lines with the publicKey parameter found."
+        rc=1
+        break
+      else
+        publicKeyFound=yes
+      fi
+
+      # Pass the line without a change.
+      print -- "$keyLine" >> $newKeyFile
+      checkForErrors "writing to file $newKeyFile" $?
+
+    elif [[ $keyLine = "certificate=" ]]
+    then
+      if [[ -n $certificateFound ]]
+      then
+        # Multiple certificates found.
+        print -u2 "$mmcmd:  Multiple lines with the certificate parameter found."
+        rc=1
+        break
+      else
+        certificateFound=yes
+      fi
+
+      # Pass the line without a change.
+      print -- "$keyLine" >> $newKeyFile
+      checkForErrors "writing to file $newKeyFile" $?
+
+    else
+      # If we have already seen the publicKey keyword,
+      # but have not reached the certifcate section,
+      # assume this is the actual key value.
+      [[ -n $publicKeyFound && -z $certificateFound ]] &&  \
+        publicKeyValueFound=yes
+
+      # If we have already seen the certificate keyword,
+      # and have moved beyond the key value,
+      # assume this is the actual certificate.
+      [[ -n $publicKeyValueFound && -n $certificateFound ]] &&  \
+        certificateValueFound=yes
+
+      # All other lines are echoed without a change.
+      print -- "$keyLine" >> $newKeyFile
+      checkForErrors "writing to file $newKeyFile" $?
+
+    fi  # end of if [[ $keyLine = "keyGenNumber="* ]]
+  done  # end while read -u3 keyLine
+  IFS="$IFS_sv"
+
+  if [[ $rc -eq 0 ]]
+  then
+    # If we went through the entire file without a problem so far,
+    # make sure that nothing is missing.
+    if [[ -z $keyGenNumberFound ]]
+    then
+      # Missing key generation number line.
+      print -u2 "$mmcmd:  Missing line with the keyGenNumber parameter."
+      rc=1
+    fi
+
+    if [[ -z $genkeyFormatFound ]]
+    then
+      # Missing genkeyFormat line.
+      print -u2 "$mmcmd:  Missing line with the genkeyFormat parameter."
+      rc=1
+    fi
+
+    if [[ -z $genkeyCompatibleFormatFound ]]
+    then
+      # Missing genkeyCompatibleFormat line.
+      print -u2 "$mmcmd:  Missing line with the genkeyCompatibleFormat parameter."
+      rc=1
+    fi
+
+    if [[ -z $certificateFound ]]
+    then
+      # Missing certificate header line.
+      print -u2 "$mmcmd:  Missing line with the certificate parameter."
+      rc=1
+    fi
+
+    if [[ -z $certificateValueFound ]]
+    then
+      # Missing certificate value.
+      print -u2 "$mmcmd:  Missing certificate value."
+      rc=1
+    fi
+
+    if [[ -z $publicKeyFound ]]
+    then
+      # Missing public key header line.
+      print -u2 "$mmcmd:  Missing line with the publicKey parameter."
+      rc=1
+    fi
+
+    if [[ -z $publicKeyValueFound ]]
+    then
+      # Missing public key value.
+      print -u2 "$mmcmd:  Missing public key value."
+      rc=1
+    fi
+  fi  # end of if [[ $rc -eq 0 ]]
+
+  if [[ $rc -ne 0 ]]
+  then
+    # The input key file has invalid format.
+    print -u2 "$mmcmd:  File $keyFile has invalid format."
+    $rm -f $newKeyFile
+  fi
+
+  return $rc
+
+}  #----- end of function verifyPublicKeyFile -------------------
+
+
+####################################################################
+#
+# Function:  Remove all mmfs-related system files.  Remove from
+#            /etc/filesystems all stanzas for mmfs file systems.
+#            Remove /dev entries and mount points.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   0 - errors are ignored
+#
+####################################################################
+function removeFromCluster  #
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGremoveFromCluster ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset rc=0
+  typeset fsLine
+
+
+  # Generate a list of the file systems that are currently
+  # present, depending on the operating system, in the local
+  # /etc/filesystems or /etc/fstab file.  Ignore any errors.
+  getCurrentStanzaList $oldstanza > /dev/null 2>&1
+
+  # Figure out the major number value for the /dev entries.
+  [[ $osName = Linux ]] && checkVfsNumber
+
+  # Remove the device name and mount point for any file system
+  # that does not belong to this nodeset any more.
+  exec 3<&-
+  exec 3< $oldstanza
+  read -u3 fsLine   # Skip the header line from the lsfs output.
+  while read -u3 fsLine
+  do
+    # Parse the line.  The first field is the file system
+    # mount point.  The second field is the device name.
+    # We are not interested in the rest of the information.
+    IFS=":"
+    set -f ; set -- $fsLine ; set +f
+    IFS="$IFS_sv"
+    [[ -z $1 || -z $2 ]] && continue
+    removeMountPoint $2 $1 $currentMajorNumber >/dev/null 2>&1
+  done
+
+  # Remove all mmfs stanzas that are currently present in /etc/filesystems.
+  removeAllStanzas $newstanza >/dev/null 2>&1
+  [[ $? -ne 0 ]] && return 0
+  $cp $newstanza $etcFilesystems
+  $mmsync $etcFilesystems
+
+  # Remove the mmfs entry from /etc/auto_mount.
+  [[ $osName = AIX ]] && clearAutomountDefine
+
+  # Ensure the sdrserv daemon is not running on this node.
+  killSdrServ >/dev/null 2>&1
+
+  #  Remove all GPFS system files.
+  $rm -rf $mmsdrfsFile $mmfsNodeData $mmSdrLockExp $nsdmap $nsdpvol   \
+          ${mmfsEnvLevel}+([0-9]) ${mmsdrfsGen}+([0-9]) $mmfscfg      \
+          $startupMountFile $mmDirectMap ${mmfsVfsNumber}+([0-9])     \
+          ${sslDir}/* ${mmbackupDir}/* ${mmpmonDir}/*                 \
+          ${mmfsNewKeyLevel}+([0-9]) ${mmfsCommittedKeyLevel}+([0-9])
+
+  return 0
+
+}  #----- end of function removeFromCluster -------------------
+
+
+###########################################################################
+#
+# Function:  Verifies that the daemon is inactive on a set of nodes.
+#            Optionally, marks the running_cmnd attribute of the Gpfs
+#            object which prevents the daemon from starting on any node.
+#
+# Input:     $1 - file with the reliable hostnames of the nodes to verify
+#            $2 - executing command (optional)
+#
+# Output:    none
+#
+# Returns:   0 - Daemon inactive on all nodes
+#            1 - Error detected, or daemon active on one or more nodes
+#
+###########################################################################
+function verifyDaemonInactive  # <nodefile> [<commandName>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGverifyDaemonInactive ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset nodefile=$1
+  typeset commandName=$2
+
+  typeset mmcommonOutput nodeName result junk errMsgLine skipThisNode
+  typeset errorFound=""
+  typeset rc=0
+
+  #######################################################################
+  # If requested, lock the gpfs object to prevent daemons from starting.
+  #######################################################################
+  if [[ -n $commandName ]]
+  then
+    [[ $getCredCalled = no ]] && getCred
+    setRunningCommand "$commandName" $primaryServer
+    checkForErrors setRunningCommand $?
+    gpfsLocked=yes
+  fi
+
+  #######################################################################
+  # If the MMBYPASSDAEMONDOWN variable is set, assume GPFS is down on
+  # all relevant nodes.  This should be used only when the user is in
+  # full control of the system and knows the state of GPFS on all nodes.
+  # Intended for testing purposes only.
+  #######################################################################
+  if [[ -n $MMBYPASSDAEMONDOWN ]]
+  then
+    $mmTRACE_EXIT "rc=0 verifyDaemonInactive bypassed"
+    return 0
+  fi
+
+  ##################################################################
+  # Make sure that the daemon is not running on any of the nodes
+  # that are listed in the input node names file.
+  ##################################################################
+  $mmcommon onall $nodefile $unreachedNodes active >$tmpfile 2>&1
+  rc=$?
+
+  if [[ ! -s $tmpfile ]]
+  then
+    # We didn't even get out of this box.
+    # Hopefully, mmcommon has issued some message.
+    checkForErrors "verifyDaemonInactive: mmcommon onall" $rc
+  else
+    # If this is a single node cluster, prepend the node name to
+    # the front of each record in tmpfile, since mmcommon onall
+    # does not use mmdsh for single node clusters.
+    if [[ $MMMODE = single ]]
+    then
+      $sed "s/^/$ourNodeName: /" $tmpfile > $tmpfile2
+      $mv $tmpfile2 $tmpfile
+      checkForErrors "mv $tmpfile2 $tmpfile" $?
+    fi  # end of if [[ $MMMODE = single ]]
+
+    # Parse the output from the daemon active test.
+    $rm -f $errMsg $tmpfile2
+    exec 3<&-
+    exec 3< $tmpfile
+    while read -u3 mmcommonOutput
+    do
+      set -f ; set -- $mmcommonOutput ; set +f
+      nodeName=$1
+      result=$2
+      junk=$3
+
+      if [[ $result = "active" && -z $junk ]]
+      then
+        errorFound=yes
+        # MMFS is still active on this node.
+        printErrorMsg 63 $mmcmd "${nodeName%:}"
+
+        # Add the name to the list of nodes for which we have a definitive answer.
+        print -- "$nodeName" >> $tmpfile2
+        checkForErrors "writing to file $tmpfile2" $?
+
+      elif [[ $result = "down" && -z $junk ]]
+      then
+        # This is the correct result.
+        # Add the name to the list of nodes for which we have a definitive answer.
+        print -- "$nodeName" >> $tmpfile2
+        checkForErrors "writing to file $tmpfile2" $?
+
+      elif [[ -n $result ]]
+      then
+        # Filter out 'no response' type messages.
+        result=$(print -- "$mmcommonOutput" |  \
+          $grep -v -e '2501-006' -e 'No response'  \
+             -e '2501-018' -e 'Connection refused'  \
+             -e '6027-1617' -e 'There are no available nodes on which to run')
+
+        if [[ -z $result ]]
+        then
+          # If the node is down, the daemon must be down too.
+          # Add the name to the list of nodes for which we have a definitive answer.
+          print -- "$nodeName" >> $tmpfile2
+          checkForErrors "writing to file $tmpfile2" $?
+        else
+          # Unexpected output; must be an error.
+          # Collect the lines in a separate file for later.
+          print -- "$mmcommonOutput" >> $errMsg
+          checkForErrors "writing to file $errMsg" $?
+        fi
+      fi  # end of if [[ $result = "active" && -z $junk ]]
+    done  # end of while read -u3 mmcommonOutput
+  fi  # end of if [[ ! -s $tmpfile ]]
+
+  # Make a pass through the errMsg file and remove all lines that come
+  # from nodes for which we have a definitive answer.  Any such lines
+  # are most likely warning messages that can be ignored.  The goal is
+  # to avoid failing a command if we know for sure that a node is down.
+  if [[ -s $errMsg && -s $tmpfile2 ]]
+  then
+    $rm -f $errMsg2
+    $touch $errMsg2
+    exec 3<&-
+    exec 3< $errMsg
+    while read -u3 errMsgLine
+    do
+      set -f ; set -- $errMsgLine ; set +f
+      nodeName=$1
+
+      # See if this line comes from a node that can be skipped.
+      skipThisNode=$($grep -w $nodeName $tmpfile2)
+
+      if [[ -z $skipThisNode ]]
+      then
+        # Must be a legitimate error.
+        # Collect the lines in a separate file.
+        print -- "$errMsgLine" >> $errMsg2
+        checkForErrors "writing to file $errMsg2" $?
+        errorFound=yes
+      fi
+    done  # end of while read -u3 errMsgLine
+
+    $mv $errMsg2 $errMsg
+    checkForErrors "mv $errMsg2 $errMsg" $?
+  fi  # end of if [[ -s $errMsg && -s $tmpfile2 ]]
+
+
+  if [[ -n $errorFound || ! -s $tmpfile2 ]]
+  then
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+    $rm -f $errMsg $errMsg2
+    return 1
+  fi
+  $rm -f $errMsg $errMsg2
+
+  return 0
+
+}  #----- end of function verifyDaemonInactive ------------
+
+
+#############################################################
+#
+# Function:  Retrieve the node number and reliable hostname
+#            for the local node.
+#
+# Input:     $1 - name of mmsdrfs file to use (optional)
+#
+# Output:    None.  The global variables ourNodeNumber and
+#            ourNodeName are set.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+#############################################################
+function getLocalNodeData  # [<sdrfsFile>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetLocalNodeData ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfsFile=$1
+
+  typeset nodeData
+  typeset nodeLine=""
+
+  [[ ! -f $sdrfsFile ]] && sdrfsFile=$mmsdrfsFile
+
+  # If the mmfsNodeData file is missing, try to restore it.
+  if [[ ! -f $mmfsNodeData ]]
+  then
+    if [[ $MMMODE = lc ]]
+    then
+      # Try to find the node number by checking all local addresses.
+      nodeData=$(guessLocalNodeNumber)
+      set -f ; set -- $nodeData ; set +f
+      ourNodeNumber=$1
+      ourNodeName=$3
+
+    elif [[ $MMMODE = single ]]
+    then
+      ourNodeName=$($hostname)
+      ourNodeNumber=1
+
+    else  # unknown cluster type
+      checkForErrors "getLocalNodeData: Unknown environmentType $MMMODE" 1
+    fi  # end if [[ $MMMODE = lc ]]
+
+    # Find the line that describes the local node
+    # and create the mmfsNodeData file.
+    [[ -f $sdrfsFile ]] &&  \
+      $awk -F: '                                              \
+        /':$MEMBER_NODE:'/ {                                  \
+          if ($'$NODE_NUMBER_Field' == "'$ourNodeNumber'") {  \
+            { print $0 >> "'$mmfsNodeData'" }                 \
+            {exit 0}                                          \
+          }                                                   \
+        }                                                     \
+      ' $sdrfsFile
+
+    # If the mmfsNodeData file is still missing, give up.
+    # Return the locally-determined node number and name
+    # and hope for the best.
+    if [[ ! -f $mmfsNodeData ]]
+    then
+      if [[ -z $ourNodeName || -z $ourNodeNumber ]]
+      then
+        checkForErrors "getLocalNodeData: Missing $mmfsNodeData" 1
+      else
+        ourShortName=${ourNodeName%%.*}
+        return 0
+      fi
+    fi
+
+  fi  # end if [[ ! -f $mmfsNodeData ]]
+
+  # Read and parse the first line of the mmfsNodeData file.
+  nodeLine=$($head -1 $mmfsNodeData)
+  IFS=':'
+  set -f ; set -- $nodeLine ; set +f
+  IFS="$IFS_sv"
+
+  # At this point $2 is the line type (should be $MEMBER_NODE),
+  # $5 is the node number, and $8 is the reliable node name.
+
+  # Perform a quick sanity check.
+  if [[ $2 != $MEMBER_NODE ]]
+  then
+    # Corrupted mmfsNodeData file
+    corruptedSdrFileExit 129 "$nodeLine"
+  fi
+
+  # Set the global variables.
+  ourNodeNumber=$5
+  ourShortName=$6
+  ourNodeName=$8
+
+  return 0
+
+}  #----- end of function getLocalNodeData --------------------
+
+
+####################################################################
+#
+# Function:  Make an educated guess as to what this node's
+#            node number and reliable name might be.
+#
+# Input:     None
+#
+# Output:    node number, IP address, and reliable node name
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+####################################################################
+function guessLocalNodeNumber  #
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGguessLocalNodeNumber ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset ipa ipaList sdrfsLine
+  typeset rc=0
+
+  # If the mmsdrfs file is missing, there is nothing we can do.
+  if [[ ! -f $mmsdrfsFile ]]
+  then
+    printErrorMsg 171 "guessLocalNodeNumber" "$mmsdrfsFile not found" 1
+    return 1
+  fi
+
+  # Get the node's adapter information.
+  LC_ALL=C $ifconfig -a > $adfile
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    printErrorMsg 171 "guessLocalNodeNumber" "ifconfig -a" $rc
+    return 1
+  fi
+
+  # Prepare a list of all locally-known IP addresses.
+  #   The assumptions are that the ifconfig output is organized in stanzas.
+  #   Each stanza begins with an adapter type starting in column 1.
+  #   All other lines are indented by at least one space or tab character.
+  #   The IP addresses are prefixed with the string 'inet addr:'.
+  if [[ $osName = Linux ]]
+  then
+    ipaList=$($awk '                                \
+      / addr:/   { for ( i = 1;  i <= NF; i++ ) {   \
+                     if ( $i ~ "^addr:" ) {         \
+                       { print $i  }                \
+                       { next }                     \
+                     }                              \
+                   }                                \
+                 }                                  \
+    ' $adfile)
+    rc=$?
+  elif [[ $osName = AIX ]]
+  then
+    ipaList=$($awk '              \
+      $1 == "inet"  { print $2 }  \
+    ' $adfile)
+    rc=$?
+  else
+    checkForErrors "guessLocalNodeNumber: Unknown operating system $osName" 1
+  fi
+  if [[ $rc -ne 0 ]]
+  then
+    printErrorMsg 171 "guessLocalNodeNumber" "awk" $rc
+    return 1
+  fi
+
+  # Examine the mmsdrfs file and find a MEMBER_NODE line with
+  # an IP address that matches one of the local IP addresses.
+  # Return the corresponding node number and reliable name.
+  IFS=":"         # Change the field separator to ':'.
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+
+    if [[ ${v[$LINE_TYPE_Field]} = $MEMBER_NODE ]]
+    then
+      for ipa in $ipaList
+      do
+        if [[ ${ipa#addr:} = ${v[$IPA_Field]} ]]
+        then
+          print -- "${v[$NODE_NUMBER_Field]} ${v[$IPA_Field]} ${v[$REL_HOSTNAME_Field]}"
+          return 0
+        fi
+      done
+    fi
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  # If we get here, there was no matching IP address in the mmsdrfs file.
+  return 1
+
+}  #----- end of function guessLocalNodeNumber --------------------
+
+
+########################################################################
+#
+# Function:  Verify the correctness of the mmsdrfs file.
+#
+# Input:     $1 - name of mmsdrfs file
+#
+# Output:    None
+#
+# Returns:   0 - no errors
+#            nnn - error encountered
+#
+########################################################################
+function checkSdrfsFile  # <sdrfsFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckSdrfsFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfsFile=$1
+  typeset sdrfsLine
+
+  #############################################################
+  # Read the mmsdrfs file a record at a time.
+  # Stop and issue an error if an unknown line is encountered.
+  #############################################################
+  exec 3<&-
+  exec 3< $sdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    IFS=':'
+    set -f ; set -- $sdrfsLine ; set +f
+    IFS="$IFS_sv"
+
+    case $2 in
+      $VERSION_LINE )       : ;;
+      $COMMENT_LINE )       : ;;
+      $NODESET_HDR )        : ;;
+      $MEMBER_NODE )        : ;;
+      $SG_HEADR )           : ;;
+      $SG_ETCFS )           : ;;
+      $SG_MOUNT )           : ;;
+      $SG_DISKS )           : ;;
+      $MMFSCFG )            : ;;
+      $REM_CLUSTER )        : ;;
+      $REM_CLUSTER_KEY )    : ;;
+      $AUTHORIZED_CLUSTER ) : ;;
+      $AUTHORIZED_KEY )     : ;;
+      $AUTHORIZED_FS )      : ;;
+      $HSMDATA )            : ;;
+      $HSMVERSION )         : ;;
+      * ) # Unexpected line; corrupted sdrfs file.
+        printErrorMsg 278 $mmcmd  135
+        print -u2 "$sdrfsLine"
+        return 1
+        ;;
+
+    esac
+  done # end while read -u3 sdrfsLine
+
+  return 0
+
+}  #----- end of function checkSdrfsFile -----------------------
+
+
+########################################################################
+#
+# Function:  Perform the actions specified as options on the
+#            propagateSdrfsFile function call.  Ignore errors.
+#
+# Input:     $1 - comma-separated list of actions.
+#
+# Output:    None
+#
+# Returns:   0 - no errors
+#            nnn - error encountered
+#
+########################################################################
+function handlePropagateOptions # <optionString>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGhandlePropagateOptions ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset optionString=$1
+
+  typeset action
+
+  # Perform additional tasks as per the propagate options parameter.
+  # Ignore errors.  It is OK if the daemon is down.
+  IFS=","
+  for action in $optionString
+  do
+
+    IFS="$IFS_sv"    # Restore the default IFS settings.
+
+    case $action in
+
+      rereadnsd )
+        $tsctl rereadnsd > /dev/null 2>&1
+        listNsdPhysicalVolumes $nsdpvol 2>/dev/null
+        ;;
+
+      rereadNodeList )
+        $tsctl rereadNodeList > /dev/null 2>&1
+        ;;
+
+      rereadContactNodes* )
+        $tsctl rereadContactNodes ${action#rereadContactNodes} > /dev/null 2>&1
+        ;;
+
+      rmdir* )
+        $rmdir ${action#rmdir} > /dev/null 2>&1
+        ;;
+
+      initLocalNodeData )
+        $rm -f $mmfsNodeData
+        getLocalNodeData > /dev/null 2>&1
+        ;;
+
+      * )
+        :  # Unknown action; do not complain.
+        ;;
+    esac  # end of case $action in
+
+    IFS=","  # Change the separator back to "," for the next iteration.
+
+  done  # for action in $arg4
+
+  IFS=$IFS_sv   # Restore the default IFS settings.
+
+  return 0
+
+}  #----- end of function handlePropagateOptions --------------------
+
+
+###########################################################################
+#
+# Function:  Invoke the mmcommon pushSdr or pushSdr_async function
+#            to propagate the specified mmsdrfs file.
+#
+# Input:     $1 - type of processing:  sync or async
+#            $2 - file with the reliable hostnames of the nodes to update
+#            $3 - name of mmsdrfs file to push
+#            $4 - generation number of the file
+#            $5 - additional options (e.g. rereadnsd, etc.)
+#
+# Output:    None
+#
+# Returns:   0 - no errors
+#            nnn - error encountered
+#
+###########################################################################
+function propagateSdrfsFile # <sync|async> <nodeFile> <sdrfsFile>
+                            #    <genNumber> [<opt>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGpropagateSdrfsFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset processingType=$1
+  typeset nodefile=$2
+  typeset sdrfsFile=$3
+  typeset genNumber=$4
+  typeset options="$5"
+
+  typeset sumOutput checksum
+  typeset rc=0
+
+  # Give up if the node names file is empty.
+  [[ ! -s $nodefile ]] &&  \
+    return 0
+
+  # Exclude the local host from the list of nodes.
+  $grep -v -w $ourNodeName $nodefile > ${nodefile}PushSdr
+
+  # Perform the optional tasks, if any, on the local node.
+  [[ -n $options ]] &&  \
+    handlePropagateOptions "$options"
+
+  # If the node names file had only our name in it, we are done.
+  if [[ ! -s ${nodefile}PushSdr ]]
+  then
+    $rm -f ${nodefile}PushSdr
+    return 0
+  fi
+
+  # If the MMDONOTPUSHSDR variable is set, and there are no additional
+  # tasks to execute, do not propagate the changes to the rest of the
+  # nodes.  The user is expected to issue mmrefresh or each node will
+  # upgrade its environment as needed via the gpfsInit processing.
+  # Intended for testing purposes only.
+  if [[ -n $MMDONOTPUSHSDR && -z $options ]]
+  then
+    $mmTRACE_EXIT "rc=0 propagateSdrfsFile bypassed"
+    return 0
+  fi
+
+  # Create a copy of the mmsdrfs file to propagate.
+  $cp $sdrfsFile ${mmsdrfsGen}${genNumber}
+  checkForErrors "cp $newsdrfs ${mmsdrfsGen}${genNumber}" $?
+
+  # Calculate the checksum.
+  sumOutput=$($sum $sdrfsFile)
+  checkForErrors "sum $sdrfsFile" $?
+  set -f ; set -- $sumOutput ; set +f
+  checksum=$1
+
+  # Propagate the mmsdrfs file.
+  if [[ $processingType = async ]]
+  then
+    # Tell the user asynchronous notification starts.
+    printErrorMsg 271 $mmcmd
+    $mmcommon pushSdr_async  \
+       ${nodefile}PushSdr ${mmsdrfsGen}${genNumber} $checksum "$options" &
+    rc=$?
+  else
+    # Ask mmcommon to propagate the mmsdrfs file synchronously.
+    # For now, this path is taken only as a result of daemon-initiated
+    # processing.  There is no need for informational messages.
+    $mmcommon pushSdr  \
+       ${nodefile}PushSdr ${mmsdrfsGen}${genNumber} $checksum "$options"
+    rc=$?
+    # Cleanup files created by this function.
+    # In the async path, this is done by the mmcommon pushSdr_async command.
+    $rm -f ${nodefile}PushSdr ${mmsdrfsGen}${genNumber}
+  fi
+
+  $mmTRACE_EXIT "$rc"
+  return $rc
+
+}  #----- end of function propagateSdrfsFile ----------------------
+
+
+########################################################################
+#
+# Function:  Invoke the mmcommon pushKey or pushKey_async function
+#            to propagate the specified mmsdrfs and auth key files.
+#
+# Input:     $1 - type of processing:  sync or async
+#            $2 - file with the reliable hostnames of the nodes to update
+#            $3 - name of mmsdrfs file to push
+#            $4 - generation number of the file
+#            $5 - name of the key file to push
+#            $6 - generation number of the key file
+#            $7 - additional options
+#
+# Output:    None
+#
+# Returns:   0 - no errors
+#            nnn - error encountered
+#
+########################################################################
+function propagateKeyFile   # <sync|async> <nodeFile> <sdrfsFile> <genNumber>
+                            # <keyFile> <keyGenNumber> [<opt>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGpropagateKeyFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset processingType=$1
+  typeset nodefile=$2
+  typeset sdrfsFile=$3
+  typeset genNumber=$4
+  typeset keyFile=$5
+  typeset keyGenNumber=$6
+  typeset options="$7"
+
+  typeset sumOutput checksum keyChecksum keyDataFile
+  typeset rc=0
+
+  # Give up if the node names file is empty.
+  [[ ! -s $nodefile ]] &&  \
+    return 0
+
+  # Exclude the local host from the list of nodes.
+  $grep -v -w $ourNodeName $nodefile > ${nodefile}PushKey
+
+  # Give up if the node names file had only our name in it.
+  if [[ ! -s ${nodefile}PushKey ]]
+  then
+    $rm -f ${nodefile}PushKey
+    return 0
+  fi
+
+  # Create a copy of the mmsdrfs file to propagate.
+  $cp $sdrfsFile ${mmsdrfsGen}${genNumber}
+  checkForErrors "cp $newsdrfs ${mmsdrfsGen}${genNumber}" $?
+
+  # Calculate the checksum.
+  sumOutput=$($sum $sdrfsFile)
+  checkForErrors "sum $sdrfsFile" $?
+  set -f ; set -- $sumOutput ; set +f
+  checksum=$1
+
+  # If the file is not already in the stage directory, copy it there.
+  # This is the case with old format mmauth genkey files.  The new
+  # format files are already put in the stage directory by mmauth.
+  if [[ $keyFile = ${genkeyData}* ]]
+  then
+    keyDataFile=$keyFile
+  else
+    keyDataFile=${mmauthKeyGen}${keyGenNumber}
+    umask 077
+    $cp $keyFile $keyDataFile
+    checkForErrors "cp $keyFile $keyDataFile" $?
+    umask $UMASK_sv
+  fi
+
+  # Calculate the checksum.
+  sumOutput=$($sum $keyFile)
+  checkForErrors "sum $keyFile" $?
+  set -f ; set -- $sumOutput ; set +f
+  keyChecksum=$1
+
+  # Propagate the mmsdrfs file.
+  if [[ $processingType = async ]]
+  then
+    # Tell the user asynchronous notification starts.
+    printErrorMsg 271 $mmcmd
+    $mmcommon pushKey_async   \
+       ${nodefile}PushKey ${mmsdrfsGen}${genNumber} $checksum  \
+       $keyDataFile $keyChecksum "$options" &
+    rc=$?
+  else
+    # Ask mmcommon to propagate the mmsdrfs file synchronously.
+    $mmcommon pushKey  \
+       ${nodefile}PushKey ${mmsdrfsGen}${genNumber} $checksum  \
+       $keyDataFile $keyChecksum "$options"
+    rc=$?
+    # Cleanup files created by this function.
+    # In the async path, this is done by the mmcommon pushKey_async command.
+    $rm -f ${nodefile}PushKey ${mmsdrfsGen}${genNumber}
+    [[ $keyDataFilea != ${genkeyData}* ]] && $rm -f $keyDataFile
+  fi
+
+  $mmTRACE_EXIT "$rc"
+  return $rc
+
+}  #----- end of function propagateKeyFile ----------------------
+
+
+####################################################################
+#
+# Function:  Start a new automounter daemon.
+#
+# Input:     $1 - value of the automountDir mmfs.cfg parameter
+#
+# Output:    None
+#
+# Returns:   0 - success
+#            1 - automount command failed
+#
+####################################################################
+function startAutomounter  # <automountDir>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGstartAutomounter ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset automountDir=$1
+
+  typeset pid
+  typeset rc=0
+
+  # Check whether the automount command is installed.
+  if [[ ! -x $automount ]]
+  then
+    # Warn the user that automount mounting will not work.
+    printErrorMsg 321 $mmcmd $automount
+    return 1
+  fi
+
+  # If AIX, just run the automount command and return.
+  if [[ $osName = AIX ]]
+  then
+    checkAutomountDefine
+    $automount
+    return 0
+  fi
+
+  # In the Linux environment we need to do a few more things.
+
+  # Ensure the automount directory exists.
+  $mkdir -p $automountDir
+
+  # Determine whether the automounter is already running and
+  # whether it was started with the correct directory parameter.
+  pid=$($ps -eo "pid args" |                 \
+    $awk '                                   \
+      /mmdynamicmap/ && ! /this process/ {   \
+        if ( $3 == "'$automountDir'" ) {     \
+          { pid = "OK" }                     \
+          { exit }                           \
+        } else {                             \
+          { pid = $1 }                       \
+        }                                    \
+      }                                      \
+      END { print pid }                      \
+    ')
+
+  # If the automounter is already running, but the directory is
+  # not the right one, kill the current process before restarting.
+  if [[ -n $pid && $pid != "OK" ]]
+  then
+    $kill -KILL $pid
+    $sleep 5
+    pid=""
+  fi
+
+  # Start the new automount daemon.
+  if [[ -z $pid ]]
+  then
+    $automount $automountDir program $mmdynamicmap
+    rc=$?
+  fi
+
+  return $rc
+
+}  #----- end of function startAutomounter ------------------
+
+
+##########################################################################
+#
+# Function:  Retrieve the mmsdrserv TCP port number.
+#
+# Input:     $1 - mmsdrfs file to use
+#
+# Output:    The mmsdrserv TCP port number.
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+##########################################################################
+function getSdrservPort  # <mmsdrfsFile>
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGgetSdrservPort ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrfs=$1
+
+  typeset sdrservPort
+
+  [[ ! -f $sdrfs ]] &&  \
+    checkForErrors "getSdrservPort: missing file $sdrfs" 1
+
+  # If the mmsdrserv TCP port number is explicitly set, return
+  # its value.  Otherwise, return the current tscTcpPort value.
+  sdrservPort=$($awk -F: '                     \
+    /^'$HOME_CLUSTER:$NODESET_HDR:'/ {         \
+      if ( $'$GETOBJECT_PORT_Field' == "" ) {  \
+        { print $'$TCP_PORT_Field' }           \
+      } else {                                 \
+        { print $'$GETOBJECT_PORT_Field' }     \
+      }                                        \
+      { exit }                                 \
+    }                                          \
+  ' $sdrfs)
+  checkForErrors awk $?
+  [[ -z $sdrservPort ]] && sdrservPort=$defaultTcpPort
+
+  print -- $sdrservPort
+
+  return 0
+
+}  #----- end of function getSdrservPort ------------------
+
+
+####################################################################
+#
+# Function:  Terminate the mmsdrserv daemon.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:    0             - mmsdrserv terminated.
+#            78 (ETIMEDOUT) - still runing after 30 seconds.
+#
+####################################################################
+function killSdrServ  #
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGkillSdrServ ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset pid rc
+  typeset -i waitPeriod
+
+  # Find the pid of the currently-running mmsdrserv daemon.
+  pid=$($cat $mmsdrservPid 2>/dev/null)
+
+  # If mmsdrserv is currently running, kill it.
+  if [[ -n $pid ]]
+  then
+    $kill -TERM $pid
+    $sleep 1
+  fi
+
+  # Wait until all mmsdrserv threads have disappeared.
+  # If necessary, send more SIGTERM signals.
+  while true
+  do
+    # See if there are any mmsdrserv threads still running.
+    pid=$($ps -eo "pid args" | $awk '/mmsdrserv / && !/this process/ {print $1}')
+    if [[ -z $pid ]]
+    then
+      # All mmsdrserv threads are gone; nothing more to do.
+      rc=0
+      break
+    elif [[ $waitPeriod -gt 30 ]]
+    then
+      # mmsdrserv did not terminate in 30 seconds; give up.
+      rc=$MM_TimedOut
+      break
+    else
+      # Kill the remaining mmsdrserv threads.
+      $kill -TERM $pid
+      $sleep 1
+      (( waitPeriod += 1 ))
+    fi  # end of if [[ -z $pid ]]
+  done  # end while true
+
+  return $rc
+
+}  #----- end of function killSdrServ -------------------
+
+
+####################################################################
+#
+# Function:  Ensure the mmsdrserv daemon is running and is aware
+#            of the value of the latest Gpfs object.
+#
+# Input:     $1 - mmsdrserv port number or CURRENT
+#
+# Output:    None
+#
+# Returns:    0 - mmsdrserv started.
+#             non-zero - problem encountered.
+#
+####################################################################
+function startSdrServ  #
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGstartSdrServ ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sdrservPort=$1
+
+  typeset rc
+  typeset maxThreads timeout
+
+  # If the mmsdrserv TCP port number is not known, figure it out.
+  if [[ $sdrservPort = CURRENT ]]
+  then
+    sdrservPort=$(getSdrservPort $mmsdrfsFile)
+    checkForErrors getSdrservPort $?
+  fi
+
+  # If the mmsdrserv TCP port number is set to 0, return.
+  # The user does not want to use the mmsdrserv daemon.
+  [[ $sdrservPort -eq 0 ]] && return 0
+
+  # Find the value of the mmsdrservTimeout parameter.
+  timeout=$(showCfgValue mmsdrservTimeout)
+  [[ -z $timeout ]] && timeout=10
+
+  # Find the value of the mmsdrservWorkerPool parameter.
+  maxThreads=$(showCfgValue mmsdrservWorkerPool)
+  [[ -z $maxThreads ]] && maxThreads=10
+
+  # Start the mmsdrserv daemon.
+  $mmsdrserv $sdrservPort $timeout $maxThreads $mmsdrservLog
+  rc=$?
+  $mmTRACE "mmsdrserv $sdrservPort $timeout $maxThreads $mmsdrservLog returned rc=$rc"
+
+# # If something goes wrong, decide what to do.
+# if [[ $rc -ne 0 ]]
+# then
+#
+#      128)  # ESDR_OK                 "Ok"
+#      129)  # ESDR_CONN_REJECTED      "Connection rejected by the server"
+#      130)  # ESDR_BAD_ATTACHMENT     "Invalid attachment length"
+#      131)  # ESDR_INVALREQUEST       "Unknown request type"
+#      132)  # ESDR_NOT_SERVER         "Node is not a server"
+#      133)  # ESDR_NOT_PRIMSERVER     "Node is not a primary server"
+#      134)  # ESDR_NOT_SECSERVER      "Node is not a secondary server"
+#      135)  # ESDR_SECSERVER_DOWN     "Secondary server could not be reached"
+#      136)  # ESDR_BAD_HOSTNAME       "Hostname resolution failure"
+#      137)  # ESDR_NODEDATA_READ_ERR  "Error reading mmfsNodeData from disk"
+#      138)  # ESDR_SDRFS_READ_ERR     "Error reading mmsdrfs from disk"
+#      139)  # ESDR_SDRFS_WRITE_ERR    "Error writing mmsdrfs to disk"
+#      140)  # ESDR_SDRFS_FORMAT_ERR   "Format of the mmsdrfs file is invalid"
+#      141)  # ESDR_OBJ_FORMAT_ERR     "Format of the GPFS Object is invalid"
+#      142)  # ESDR_NOMEM              "Out of memory"
+#      143)  # ESDR_CONNREFUSED        "Unable to connect to the server"
+#      144)  # ESDR_CONNRESET          "Connection shut down"
+#      145)  # ESDR_ADDRINUSE          "Port already in use"
+#      146)  # ESDR_SERVER_ERR         "Internal server error"
+#      147)  # ESDR_DAEMON_CRASHED     "Daemon crashed or was killed with a signal"
+#      148)  # ESDR_SERVER_DISABLED    "Daemon disabled by request or inconsistency"
+# fi
+  [[ $rc = 128 ]] && rc=0  # ESDR_OK is 128
+
+  return $rc
+
+}  #----- end of function startSdrServ ---------------------
+
+
+####################################################################
+#
+# Function:  Ensure the mmsdrserv daemon is running and is aware
+#            of the value of the latest Gpfs object.
+#
+# Input:     $1 - Gpfs object or CURRENT
+#            $2 - mmsdrserv host name or DEFAULT
+#            $3 - mmsdrserv port number or CURRENT
+#
+# Output:    None
+#
+# Returns:    0 - mmsdrserv reset.
+#             non-zero - problem encountered.
+#
+####################################################################
+function resetSdrServ  #
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGresetSdrServ ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset gpfsObject=$1
+  typeset serverHost=$2
+  typeset sdrservPort=$3
+
+  typeset rc timeout
+  typeset needToKillSdrServ=""
+  typeset needToStartSdrServ=""
+
+  # If the mmsdrserv TCP port number is not known, figure it out.
+  if [[ $sdrservPort = CURRENT ]]
+  then
+    sdrservPort=$(getSdrservPort $mmsdrfsFile)
+    checkForErrors getSdrservPort $?
+  fi
+
+  # If the mmsdrserv TCP port number is set to 0, return.
+  # The user does not want to use the mmsdrserv daemon.
+  [[ $sdrservPort -eq 0 ]] && return 0
+
+  # If the mmsdrserv server host name is not known,
+  # assume the primary configuration data server.
+  [[ $serverHost = DEFAULT ]] && serverHost=$primaryServer
+
+  # If the value of the Gpfs object is not known,
+  # determine it from the current mmsdrfs file.
+  [[ $gpfsObject = CURRENT ]] && gpfsObject=$(getGpfsObjectFromFile)
+
+  # Find the value of the mmsdrservTimeout parameter.
+  timeout=$(showCfgValue mmsdrservTimeout)
+  [[ -z $timeout ]] && timeout=10
+
+  # Issue a setObj request.  This will ensure the Gpfs object
+  # is updated on both configuration servers and will ensure
+  # that mmsdrserv will return the correct mmsdrfs file.
+#esjdbg  # Show msgs during development and testing only.
+#esjdbg  $mmsdrcli setObj $serverHost $sdrservPort $timeout "$gpfsObject"
+  $mmsdrcli setObj $serverHost $sdrservPort $timeout "$gpfsObject" 2>>$mmsdrservLog
+  rc=$?
+  $mmTRACE "mmsdrcli setObj $gpfsObjectInfo returned rc=$rc"
+
+  # If something goes wrong, decide what to do.
+  # - If mmsdrserv is not running, restart the daemon.
+  # - If something else goes wrong, first kill the current
+  #   incarnation of the daemon and then restart it.
+  if [[ $rc -ne 0 ]]
+  then
+    [[ $rc = 128 ]] && rc=0  # ESDR_OK is 128
+    needToKilltSdrServ=yes
+
+    :  #esjx consider using case in place of the if.
+
+#      128)  # ESDR_OK                 "Ok"
+#      129)  # ESDR_CONN_REJECTED      "Connection rejected by the server"
+#      130)  # ESDR_BAD_ATTACHMENT     "Invalid attachment length"
+#      131)  # ESDR_INVALREQUEST       "Unknown request type"
+#      132)  # ESDR_NOT_SERVER         "Node is not a server"
+#      133)  # ESDR_NOT_PRIMSERVER     "Node is not a primary server"
+#      134)  # ESDR_NOT_SECSERVER      "Node is not a secondary server"
+#      135)  # ESDR_SECSERVER_DOWN     "Secondary server could not be reached"
+#      136)  # ESDR_BAD_HOSTNAME       "Hostname resolution failure"
+#      137)  # ESDR_NODEDATA_READ_ERR  "Error reading mmfsNodeData from disk"
+#      138)  # ESDR_SDRFS_READ_ERR     "Error reading mmsdrfs from disk"
+#      139)  # ESDR_SDRFS_WRITE_ERR    "Error writing mmsdrfs to disk"
+#      140)  # ESDR_SDRFS_FORMAT_ERR   "Format of the mmsdrfs file is invalid"
+#      141)  # ESDR_OBJ_FORMAT_ERR     "Format of the GPFS Object is invalid"
+#      142)  # ESDR_NOMEM              "Out of memory"
+#      143)  # ESDR_CONNREFUSED        "Unable to connect to the server"
+#      144)  # ESDR_CONNRESET          "Connection shut down"
+#      145)  # ESDR_ADDRINUSE          "Port already in use"
+#      146)  # ESDR_SERVER_ERR         "Internal server error"
+#      147)  # ESDR_DAEMON_CRASHED     "Daemon crashed or was killed with a signal"
+#      148)  # ESDR_SERVER_DISABLED    "Daemon disabled by request or inconsistency"
+
+  fi  # end of if [[ $rc -ne 0 ]]
+
+  # If necessary, kill the current instance of the mmsdrserv daemon.
+  if [[ -n $needToKilltSdrServ ]]
+  then
+    # call killSdrServ on both the primary and backup server nodes.
+    killSdrServ >> $mmsdrservLog 2>&1
+    [[ -n $backupServer ]] &&  \
+      $mmcommon on1 $backupServer killSdrServ >> $mmsdrservLog 2>&1
+  fi  # end of if [[ -n $needToKilltSdrServ ]]
+
+  # If the setObj call fails because the mmsdrserv is not running,
+  # restart the mmsdrserv daemon.  This will automatically load the
+  # correct Gpfs object.
+  #
+  # Note:  This should be done only if we are already on the primary server.  esjxx ???
+  #
+  if [[ -n $needToStartSdrServ && $serverHost = $primaryServer ]]
+  then
+    startSdrServ CURRENT >> $mmsdrservLog 2>&1
+    rc=$?
+    [[ -n $backupServer && $rc -eq 0 ]] &&  \
+      $mmcommon on1 $backupServer startSdrServ CURRENT >> $mmsdrservLog 2>&1
+  fi  # end of if [[ -n $needToStartSdrServ ]]
+
+  return $rc
+
+}  #----- end of function resetSdrServ --------------------
+
+
+##########################################################################
+#
+# Function:  This function produces the data needed by the AIX lspv
+#            command to indicate which physical disks are in use by GPFS.
+#
+#            Note:  This code should also work on nodes that have GPFS
+#                   installed but are not members of a cluster, i.e.,
+#                   when there is no mmsdrfs file on the node.
+#
+# Input:     $1 - name of file in which to store the NSD information
+#
+# Output:    Each record of the output file consists of the following
+#            blank-separated fields:
+#
+#              physicalVolumeName nsdName
+#
+# Returns:   0 - file created successfully
+#            If an error is encountered, this function invokes the
+#            cleanupAndExit routine which terminates execution.
+#
+##########################################################################
+function listNsdPhysicalVolumes
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGlistNsdPhysicalVolumes ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outputFile=$1
+
+  typeset nsdLine nsdId deviceName pvolName sdrfsLine
+
+  # Get a list containing the NSD id and the device name for each NSD.
+  $tspreparedisk -S > $diskNamesFile
+  checkForErrors "listNsdPhysicalVolumes:  tspreparedisk -S" $?
+
+  # For each NSD reported by tspreparedisk, create a line listing
+  # the underlying physical volume and the NSD name.  This information
+  # is obtained from the tspreparedisk output and the mmsdrfs file.
+  $rm -f $volGroupFile
+  exec 3<&-
+  exec 3< $diskNamesFile
+  while read -u3 nsdLine
+  do
+    # Parse the line.
+    set -f ; set -- $nsdLine ; set +f
+    nsdId=$1
+    deviceName=$2
+
+    # Skip over the tspreparedisk status line when it is encountered.
+    [[ $nsdId = tspreparedisk* ]] && continue
+
+    # Depending on the environment, strip /dev/r or just /dev/
+    # from the beginning of the device name.
+    if [[ $osName = AIX ]]
+    then
+      # Strip the leading "/dev/r" from the device name.
+      pvolName=${deviceName##+(/)dev+(/)r}
+    else
+      # Strip the leading "/dev/" from the device name.
+      pvolName=${deviceName#/dev/}
+    fi
+
+    sdrfsLine=""
+    [[ -f $mmsdrfsFile ]] && sdrfsLine=$($grep -e ":$nsdId:nsd:" $mmsdrfsFile)
+    if [[ -n $sdrfsLine ]]
+    then
+      # The disk appears in the mmsdrfs file.  Parse the line and print
+      # a line of output showing the physical disk name and the nsd name.
+      IFS=":"                          # Change the field separator to ':'.
+      set -f ; set -A v -- - $sdrfsLine ; set +f
+      IFS="$IFS_sv"                    # Restore the default IFS settings.
+      print -- "$pvolName ${v[$DISK_NAME_Field]}" >> $volGroupFile
+    else
+      # The disk does not appear in the mmsdrfs file.
+      # Print the device name and "gpfs" to indicate that this is a gpfs disk.
+      print -- $pvolName gpfs >> $volGroupFile
+    fi
+  done  # end of while read -u3 nsdLine do
+
+  # Everything seems to have gone ok so far.
+  # Rename the file so that the caller can find it.
+  $touch $volGroupFile
+  $mv $volGroupFile $outputFile
+  checkForErrors "mv $volGroupFile $outputFile" $?
+
+  # Make sure that non-privileged commands can read this file.
+  $chmod a+r $outputFile >/dev/null 2>&1
+
+  $rm -f $diskNamesFile $volGroupFile
+  return 0
+
+}  #----- end of function listNsdPhysicalVolumes ------------------
+
+
+###########################################################################
+#
+# Function:  Runs the specified command on the local node
+#
+# Input:     $1 - file system that cannot be mounted, or _NO_MOUNT_CHECK_
+#            $2 - scope of mount checking
+#            $3 - symbolic link indicator: _LINK_ or _NO_LINK_
+#            $4 - command to execute; must be mmremote or tsxxxxxxx
+#            $5 - argument list for the remote command
+#
+# Output:    Depends on the particular command
+#
+# Returns:   0 - command completed successfully
+#            return code from the command
+#
+###########################################################################
+function runLocalCommand   # <fsToCheck> <scope> <link> <command> [<args>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGrunLocalCommand ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset fsToCheck=$1
+  typeset scope=$2
+  typeset sLink=$3
+  typeset command=$4
+  shift 4               # Move past required parms.
+  typeset args="$@"
+
+  typeset rc=0
+  typeset cmndDir=$mmcmdDir
+  typeset fqDeviceName localDevName headerMsg Coption
+
+  [[ $sLink = $LINK ]] && cmndDir="${cmndDir}/${links}"
+
+  if [[ $fsToCheck = $NO_MOUNT_CHECK ]]
+  then
+    # Check whether the daemon is up and accepting commands.
+    # The caller is not interested in mounted file systems.
+    $tsstatus -1 >$errMsg 2>&1
+    rc=$(remapRC $?)
+    if [[ $rc -ne 0 ]]
+    then
+      if [[ -s $errMsg && $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+      then
+        $cat $errMsg 1>&2
+      fi
+      $rm -f $errMsg
+      return $rc
+    fi
+    $rm -f $errMsg
+
+  else
+    # Process the mount check scope parameter.  It determines the value,
+    # if any, for the -C option on the tsstatus call that will follow.
+    if [[ $scope = $CHECK_ALL || $scope = NULL ]]
+    then
+      Coption=""
+    else
+      Coption="-C $scope"
+    fi
+
+    # Find out whether anybody has the file system mounted.
+    #
+    # - The only acceptable return code is 2 (the daemon
+    #   is up but the file system is not mounted anywhere).
+    #
+    # - Return code 0 means that the daemon is up and that
+    #   the file system is mounted on at least one node.
+    #   The list of node names is returned by tsstatus.
+    #
+    #   Note that the tsstatus output comes from the stripe group
+    #   manager node which always resides in the cluster that owns
+    #   the file system.  In the case of remote file systems, the
+    #   manager node has no knowledge about the local name for the
+    #   file system.  Therefore, we have to intercept the tsstaus
+    #   output and replace the header line with one that is more
+    #   meaningful for the local cluster.  To keep the code simple,
+    #   we do this for both local and remote file systems.
+    #
+    LC_ALL=C $tsstatus -m $fsToCheck $Coption >$tmpfile 2>$errMsg
+    rc=$(remapRC $?)
+    if [[ $rc -ne 2 ]]
+    then
+      if [[ -s $tmpfile ]]
+      then
+        # Construct a message to be used in place of the first line
+        # in the tsstatus output.  If checking a remote file system,
+        # the local device name can be passed as a command argument.
+        if [[ $command = $MOUNT_CHECK_ONLY && $args = ldev=* ]]
+        then
+          localDevName=${args#ldev=}
+          headerMsg=$(printInfoMsg 521 "$localDevName" "($fsToCheck)")
+        else
+          headerMsg=$(printInfoMsg 522 "$fsToCheck")
+        fi
+
+        # Filter the result from the tsstatus command and replace
+        # the header line with our own version.
+        $awk '                                                          \
+          /File system/ && /is managed by node/ && /and mounted on:/ {  \
+            { print "'"$headerMsg"'" }                                  \
+            { next }                                                    \
+          }                                                             \
+          { print $0 }                                                  \
+        ' $tmpfile
+      else
+        # tststatus -m returned no data.  Show any error output produced.
+        if [[ -s $errMsg && $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ]]
+        then
+          $cat $errMsg 1>&2
+        fi
+      fi  # end of if [[ -s $tmpfile ]]
+
+      $rm -f $errMsg
+      [[ $rc -eq 0 ]] && rc=$MM_FsMounted
+      return $rc
+    fi  # end of if [[ $rc -ne 2 ]]
+
+    $rm -f $errMsg
+
+    # If this is only a check for mounted file system, force the current
+    # fs manager node to resign (if requested) and return.  Note that at
+    # this point we know that the file system is not mounted anywhere.
+    if [[ $command = $MOUNT_CHECK_ONLY ]]
+    then
+      [[ $args = $RESIGN_FSMGR ]] &&  \
+        $tschmgr $fsToCheck -r >/dev/null 2>&1
+      return 0
+    fi
+  fi  # end of if [[ $fsToCheck = $NO_MOUNT_CHECK ]]
+
+  # Do some command specific processing.
+  if [[ $command = tscrfs ]]
+  then
+    # If executing tscrfs, make sure the file system name
+    # does not conflict with any existing entry in /dev.
+    set -f ; set -- $args ; set +f
+    fqDeviceName=$1
+    if [[ -e $fqDeviceName ]]
+    then
+      # If there is a /dev entry by the same name, make sure
+      # the GPFS environment is up to date before giving up.
+      gpfsInitOutput=$(gpfsInit nolock 2>/dev/null)
+      if [[ -e $fqDeviceName ]]
+      then
+        # Device already exists on node.
+        printErrorMsg 530 $mmcmd $fqDeviceName $ourNodeName
+        return $MM_FsExists
+      fi
+    fi
+  fi  # end of if [[ $command = tscrfs ]]
+
+  # Fix quotes around disk descriptor lists, if any.
+  args=$(print -- "$args" | $tr '"' ' ')
+
+  # Execute the requested command.
+  $cmndDir/$command $args
+  rc=$(remapRC $?)
+
+  # Return with the result from the ts command.
+  return $rc
+
+}  #----- end of function runLocalCommand -----------------------
+
+
+######################################################################
+#
+# Function:  Runs the specified command on the local node
+#
+# Input:     $1 - symbolic link indicator: _LINK_ or _NO_LINK_
+#            $2 - command to execute; this command should not require
+#                   the daemon to be up, as we do not check for this.
+#                   This is the difference between runLocalCommand
+#                   and this routine (runLocalCommand2).
+#            $3 - argument list for the remote command
+#
+# Output:    Depends on the particular command
+#
+# Returns:   0 - command completed successfully
+#            return code from the command
+#
+######################################################################
+function runLocalCommand2  # <link> <command> [<args>]
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGrunLocalCommand2 ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset sLink=$1
+  typeset command=$2
+  shift 2                # Move past required parms.
+  typeset args=$@
+
+  typeset rc=0
+  typeset cmndDir=$mmcmdDir
+
+  [[ $sLink = $LINK ]] && cmndDir="${cmndDir}/${links}"
+
+  # Fix quotes around disk descriptor lists, if any.
+  args=$(print -- "$args" | $tr '"' ' ')
+
+  # Execute the requested command.
+  $cmndDir/$command $args
+  rc=$(remapRC $?)
+
+  # Return with the result from the command.
+  return $rc
+
+}  #----- end of function runLocalCommand2 ----------------------
+
+
+#############################################################################
+#
+# Function:  Wrapper function for executing commands on one or more nodes.
+#            Provides similar functionality to the corresponding mmcommon
+#            verbs.  See function comments for more details.
+#
+# Input:     $1 - type of execution (on1, onNode, onall, etc.)
+#
+# Output:    Depends on the specific command being executed.
+#
+# Returns:   Return code from the command being executed.
+#
+#############################################################################
+function run
+{
+  typeset sourceFile="mmsdrfsdef.sh"
+  [[ -n $DEBUG || -n $DEBUGrun ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset argc=$#
+  typeset where=$1
+  typeset target=$2
+  typeset arg2="$2"
+  typeset arg3="$3"
+  typeset arg4="$4"
+  typeset arg5="$5"
+  typeset arg6="$6"
+  typeset arg7="$7"
+  typeset arg8="$8"
+  typeset arg9="$9"
+
+  typeset rc=0
+  typeset operands remoteCommand rcInfo remoteVerb arguments
+  typeset nodeName chosenNode
+
+  [[ -z $ourNodeName ]] && getLocalNodeData
+
+  case $where in
+
+             #---------------------------------------------------
+    on1 )    # run on1 <hostname> <remoteCommand> [<arg ... >]
+             #---------------------------------------------------
+      if [[ $argc -lt 3 ]]
+      then
+        operands="<hostname> <remoteCommand> [<arg ... >] "
+        printErrorMsg 260 run $kword "$operands"
+        cleanupAndExit
+      fi
+
+      # Shift past the hostname and get the command to execute and its args.
+      shift 2
+      remoteCommand=$*
+      remoteVerb=$1
+
+      if [[ $target = $ourNodeName || $MMMODE = single ]]
+      then
+        # If we happen to be the target node, run the command locally.
+        $mmremote $remoteCommand
+        rc=$?
+
+      else
+        # Invoke mmdsh to execute the command on the remote system,
+        # suppressing prepending of the hostname to the output lines.
+        $rm -f $tmpDir$remoteVerb$$.*
+        $mmdsh -svL $target $mmremote onbehalf2 $ourNodeName $remoteVerb$$  \
+                    $MMMODE $NO_LINK mmremote $remoteCommand
+        rc=$?
+
+        # Determine the return code.  The goal is to pass back the return code
+        # from the mmremote command.  Because rsh and different versions of ssh
+        # handle the return code differently (e.g., rsh does not propagate
+        # it back), mmremote onbehalf creates a special file that has the
+        # return code appended at the end of its name.  If we do not see this
+        # file on our side, we assume that mmdsh returned the return code from
+        # the remote command.  Although this is not necessarily always the case
+        # (there could have been a problem with the touch command that creates
+        # the special file), it is the best we can do under the circumstances.
+        rcInfo=$($ls $tmpDir$remoteVerb$$.* 2> /dev/null)
+        $rm -f $tmpDir$remoteVerb$$.*
+        if [[ -n $rcInfo ]]
+        then
+          # The return code was passed back via the empty file mechanism.
+          # Extract the return code from the file name.
+          rc=${rcInfo#$tmpDir$remoteVerb$$\.}
+        fi
+      fi  # end of if [[ $target = $ourNodeName || $MMMODE = single ]]
+      ;;
+
+             #----------------------------------------------------
+    onNode ) # run onNode <hostname> <remoteCommand> [<arg ... >]
+             #----------------------------------------------------
+      if [[ $argc -lt 3 ]]
+      then
+        operands="<hostname> <remoteCommand> [<arg ... >] "
+        printErrorMsg 260 run $kword "$operands"
+        cleanupAndExit
+      fi
+
+      # Shift past the hostname and get the command to execute and its args.
+      shift 2
+      remoteCommand=$*
+
+      if [[ $target = $ourNodeName || $MMMODE = single ]]
+      then
+        # If we happen to be the target node, run the command locally.
+        $mmremote $remoteCommand
+        rc=$?
+
+      else
+        # Otherwise, use mmdsh to execute the command on the remote node,
+        # suppressing prepending of the hostname to the output lines.
+        $mmdsh -svL $target $mmremote $remoteCommand
+        rc=$?
+      fi  # end of if [[ $target = $ourNodeName || $MMMODE = single ]]
+      ;;
+
+              #----------------------------------------------
+  onall)      # run onall <relNameFile> <unreachedNodesFile>
+              #              <remoteCommand> [<arg ... >]
+              #----------------------------------------------
+    if [[ $argc -lt 4 ]]
+    then
+      operands="<relNameFile> <unreachedNodesFile> <remoteCommand> [<arg ... >]"
+      printErrorMsg 260 run $kword "$operands"
+      cleanupAndExit
+    fi
+
+    # Shift past the reliable names file and the "not reachable" nodes file
+    # and get the command to execute and its args.
+    shift 3
+    remoteCommand=$*
+
+    if [[ $MMMODE = single ]]
+    then
+      # Execute the command locally.
+      $mmremote $remoteCommand
+      rc=$?
+    else
+      # Invoke mmdsh to execute command on the remote nodes.
+      $mmdsh -vF $target -R $arg3 $mmremote $remoteCommand
+      rc=$?
+    fi
+    ;;
+
+          #---------------------------
+    * )   # Unknown action requested
+          #---------------------------
+      # Invalid keyword
+      printErrorMsg 133 run $kword
+      cleanupAndExit
+      ;;
+  esac
+
+  return $rc
+
+}  #----- end of function run ------------------------------------
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrfsdef.Linux
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrfsdef.Linux	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrfsdef.Linux	(revision 16)
@@ -0,0 +1,508 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)18 1.39.1.1 src/avs/fs/mmfs/ts/admin/mmsdrfsdef.Linux.sh, mmfs, avs_rgpfs24, rgpfs24s007a 9/20/06 11:22:28
+#########################################################################
+#
+#  This file contains declarations and functions that are
+#  unique to the Linux operating system environment.
+#
+#########################################################################
+
+
+#######################################################################
+#
+# Function:  Check whether prerequisite software is installed.
+#
+# Input:     $1 -  Environment type
+#
+# Output:    None
+#
+# Returns:   0 - the prerequisite software for the specified
+#                environment is installed
+#            1 - the prerequisite software for the specified
+#                environment is not installed
+#
+#######################################################################
+function checkPrereqs  # <environmentType>
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckPrereqs ]] && set -x
+  # $mmTRACE_ENTER "$*"
+  typeset environmentType=$1
+
+  if [[ $environmentType = lc2 ]]
+  then
+    : # There are no special prereqs for cluster type lc2.
+
+  elif [[ $environmentType = single ]]
+  then
+    : # There are no special prereqs for cluster type single.
+
+  else
+    # We should never get called for a cluster type other than
+    # the ones we handle above.  Return with a failure code if we do.
+    return 1
+  fi
+
+  return 0
+
+}  #-------- end of function checkPrereqs ------------------------
+
+
+####################################################################
+#
+# Function:  Create a version of the /etc/fstab file with
+#            all of the mmfs file system stanzas removed
+#
+# Input:     $1 - output file name
+#
+# Output:    None
+#
+# Returns:   0 - processing completed successfully
+#            1 - unexpected error
+#
+####################################################################
+function removeAllStanzas  # <outputFile>
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGremoveAllStanzas ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outfile=$1
+
+  $rm -f $outfile
+
+  #---------------------------------------------------------
+  # Linux file system stanzas consist of 6 fields.
+  # The third field is fs_vfstype and for GPFS file
+  # systems its value is 'gpfs'.
+  #---------------------------------------------------------
+  $awk '                                               \
+     # If this is a gpfs file system stanza, skip it.  \
+     $3 == "gpfs" { next }                             \
+     # All other lines are passed through as is.       \
+     { print $0 >> "'$outfile'" }                      \
+  ' $etcFilesystems
+  checkForErrors "removeAllStanzas:awk" $?
+
+  return 0
+
+}  #------------- end of function removeAllStanzas ----------------
+
+
+####################################################################
+#
+# Function:  Remove a file system from /etc/fstab.
+#
+# Input:     $1 - fully qualified file system device name
+#
+# Output:    /etc/fstab is rewritten.
+#
+# Returns:   0 - processing completed successfully
+#            1 - unexpected error
+#
+####################################################################
+function removeStanza  # <deviceName>
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGremoveStanza ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset fqDeviceName=$1
+
+  typeset rc
+
+  $rm -f $newstanza
+
+  #---------------------------------------------------------
+  # Linux file system stanzas consist of 6 fields.
+  # The first field is the fully qualified device name.
+  #---------------------------------------------------------
+  $awk '                                                    \
+     # If this is the stanza to be removed, skip the line.  \
+     $1 == "'$fqDeviceName'" && $3 == "gpfs" { next }       \
+     # All other lines are passed through as is.            \
+     { print $0 >> "'$newstanza'" }                         \
+  ' $etcFilesystems
+  checkForErrors "removeStanza:awk" $?
+
+  # If newstanza is missing or empty, something must have gone very wrong.
+  [[ ! -s $newstanza ]] && \
+    checkForErrors "removeStanza: missing or empty $newstanza file" 1
+
+  # Replace /etc/fstab with its new version.
+  $cp $newstanza $etcFilesystems
+  rc=$?
+  $mmsync $etcFilesystems
+  checkForErrors "cp $newstanza $etcFilesystems" $rc
+
+  return 0
+
+}  #------------- end of function removeStanza ----------------
+
+
+####################################################################
+#
+# Function:  Create a list of the gpfs file systems currently
+#            defined in /etc/fstab.  Make the list look like
+#            the output of the AIX lsfs -c command, i.e.,
+#
+#  #MountPoint:Device:Vfs:Nodename:Type:Size:Options:AutoMount:Acct
+#  /gpfs/gpfsA:/dev/gpfsA:mmfs:-:mmfs:0:rw:no:no
+#  /gpfs/gpfsB:/dev/gpfsB:mmfs:-:mmfs:0:rw:no:no
+#
+# Input:     $1 - output file name
+#
+# Output:    None
+#
+# Returns:   0 - processing completed successfully
+#
+####################################################################
+function getCurrentStanzaList  # <outputFile>
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGgetCurrentStanzaList ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset outfile=$1
+
+  $rm -f $outfile
+
+  #---------------------------------------------------------------
+  # Linux file system stanzas consist of 6 fields.  The first
+  # three fields are fs_spec (device name), fs_file (mount point)
+  # and fs_vfstype ('gpfs' for us).
+  #---------------------------------------------------------------
+  print -- "#MountPoint:Device:Vfs:junk" >$outfile
+  $awk '                                                     \
+     # If this is a gpfs file system stanza,                 \
+     # write its device name and mount point to the file.    \
+     $3 == "gpfs" { print $2":"$1":mmfs:" >> "'$outfile'" }  \
+     # Skip all other lines                                  \
+     { next }                                                \
+  ' $etcFilesystems
+  checkForErrors "getCurrentStanzaList:awk" $?
+
+  return 0
+
+}  #------------- end of function getCurrentStanzaList ----------------
+
+
+#############################################################################
+#
+# Function:  Create the device and mountpoint for a file system
+#
+# Input:     $1 - fully qualified device name
+#            $2 - mount point to be created
+#            $3 - major number for the /dev entry
+#            $4 - minor number for the /dev entry
+#            $5 - mount type (automount or not)
+#            $6 - automount directory
+#
+# Output:    None
+#
+# Returns:   Zero if successful, non-zero otherwise.
+#
+#############################################################################
+function createMountPoint  # <device> <mountpnt> <majorNumber> <minorNumber>
+                           #   <mountType> <automountDir>
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGcreateMountPoint ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset fqDeviceName=$1
+  typeset mountPoint=$2
+  typeset majorNumber=$3
+  typeset minorNumber=$4
+  typeset mountType=$5
+  typeset automountDir=$6
+
+
+  typeset stillMounted existingMajorNumber mkdirError deviceName
+  typeset mountPointParentDir mountPointExists
+  typeset devType='b'
+
+
+  # Strip away the /dev/ prefix from the device name.
+  deviceName=${fqDeviceName##+(/)dev+(/)}
+
+  # Ensure the device name exists and has the correct major number.
+  existingMajorNumber=$(LC_ALL=C $ls -l $fqDeviceName 2>/dev/null | \
+                                 $awk ' { print $5 } ' )
+  existingMajorNumber=${existingMajorNumber%,*}
+
+  if [[ $existingMajorNumber -ne $majorNumber ]]
+  then
+    # If the major number is not the same as the caller wants it to be,
+    # remove the currently existing /dev entry, if any, and recreate it
+    # with the correct major and minor numbers.
+    [[ -n $existingMajorNumber ]] && $rm -f $fqDeviceName
+    createDevEntry $fqDeviceName $majorNumber $minorNumber
+    checkForErrors "createDevEntry $fqDeviceName $majorNumber $minorNumber" $?
+  fi
+
+  # Note that if the file system still shows as mounted, which can
+  # happen after a previous gpfs invocation ends abnormally, the
+  # normal check for existence can not be used - it fails with ESTALE.
+  # In this case though, we can safely assume that the mount point
+  # still exists.
+  stillMounted=$($mount -t gpfs | \
+      $awk '{ if ($1 == "'"$fqDeviceName"'") print $1 }')
+
+  [[ -n $stillMounted ]] && return 0
+
+
+  # If the file system is not mounted, ensure the mount
+  # point is present.
+  if [[ $mountType = automount ]]
+  then
+    # The mount point must be a symlink.
+    if [[ -L $mountPoint ]]
+    then
+      # This is indeed a symlink.  Verify the target is correct.
+      linkTarget=$(LC_ALL=C $ls -l $mountPoint 2>/dev/null)
+      linkTarget=${linkTarget##*$BLANKchar}
+      if [[ $linkTarget = ${automountDir}/${deviceName} ]]
+      then
+        # The link looks good.
+        mountPointExists=yes
+      else
+        # The link needs to be rebuild.
+        $rm -f $mountPoint
+      fi
+    else
+      # This is not a symlink.  If a directory exists, remove
+      # it so that a link can be created in its place.  If it
+      # some other object, we do not know what to do.
+      if [[ -e $mountPoint ]]
+      then
+        $rmdir $mountPoint
+        if [[ $? -ne 0 ]]
+        then
+          print -u2 "$mmcmd: Unable to create symlink $mountPoint"
+          return 1
+        fi
+      fi  # end of if [[ -e $mountPoint ]]
+    fi  # end of if [[ -L $mountPoint ]]
+
+  else
+    # The mount point must be a directory.
+    if [[ -L $mountPoint ]]
+    then
+      # This is a symlink (presumably from a file system that
+      # used to have the automount mount attribute specified).
+      # Remove the link so that we can create a directory in its place.
+      $rm -f $mountPoint
+    elif [[ -e $mountPoint ]]
+    then
+      # Things look good.
+      mountPointExists=yes
+    else
+      : # Nothing found; we need to create a mount point.
+    fi  # end of if [[ -L $mountPoint ]]
+  fi  # end of if [[ $mountType = automount ]]
+
+  # If missing, recreate the mount point.
+  if [[ -z $mountPointExists ]]
+  then
+    if [[ $mountType = automount ]]
+    then
+      mountPointParentDir=$(dirname $mountPoint)
+      mkdirError=$(LC_ALL=C $mkdir -p $mountPointParentDir 2>&1)
+      [[ -n $mkdirError ]] && \
+        print -- $mkdirError | $grep -v "File exists" 1>&2
+      $ln -s ${automountDir}/${deviceName} $mountPoint
+    else
+      mkdirError=$(LC_ALL=C $mkdir -m 0755 -p $mountPoint 2>&1)
+      [[ -n $mkdirError ]] && \
+        print -- $mkdirError | $grep -v "File exists" 1>&2
+    fi
+  fi  # end of if [[ -z $mountPointExists ]]
+
+  return 0
+
+}  #------------- end of function createMountPoint ---------------
+
+
+###############################################################
+#
+# Function:  Determine the major number needed for proper
+#            fs operations and the major number currently
+#            assigned to /dev entries.  Assign the two values
+#            to the appropriate global variables.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   Always zero.
+#
+###############################################################
+function checkVfsNumber
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckVfsNumber ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset device deviceList majorNumber
+
+
+  # Determine the major number that is presently required.
+  # This is required for kernel version 2.4 and earlier.
+  # If the current kernel is 2.5 or later, use the default
+  # values since the major number is largely irrelevant.
+  [[ -z $version24 ]] && return 0
+
+  # If the daemon is running, the major number should be the one that
+  # was assigned by the kernel when the mmfs extension was loaded.
+  # Otherwise, use the default number.
+  neededMajorNumber=$($awk ' $2=="gpfs" {print $1} ' /proc/devices)
+  [[ -z $neededMajorNumber ]] && \
+    neededMajorNumber=$defaultMajorNumber
+
+  # Determine the major number that has been used last, i.e.,
+  # determine the major number of the existing /dev entries.
+
+  # If file mmfsVfsNumber* exists, its suffix is the major number.
+  majorNumber=$($ls ${mmfsVfsNumber}+([0-9]) 2>/dev/null)
+  majorNumber=${majorNumber#$mmfsVfsNumber}
+  if [[ -n $majorNumber ]]
+  then
+    currentMajorNumber=$majorNumber
+    return 0
+  fi
+
+  # If the file has been lost somehow, create a list
+  # of the file systems in the cluster and see what
+  # major number is being used for their /dev entries.
+
+  # Create a list of the file systems in the cluster.
+  deviceList=$($grep -e ":$SG_HEADR:" $mmsdrfsFile |  \
+               $GETVALUE $DEV_NAME_Field)
+
+  # Go down the list of file systems until you find a corresponding
+  # /dev entry from which to get the major number.
+  for device in $deviceList
+  do
+    majorNumber=$(LC_ALL=C $ls -l /dev/$device 2>/dev/null | \
+                           $awk ' { print $5 } ' )
+    majorNumber=${majorNumber%,*}
+    [[ -n $majorNumber ]] && break
+  done
+
+  # If there are no file systems in this nodeset, or if all
+  # file systems are missing their /dev entries for some reason,
+  # assume the default major device number.
+  [[ -z $majorNumber ]] && majorNumber=$defaultMajorNumber
+
+  $touch ${mmfsVfsNumber}${majorNumber} 2>/dev/null
+  currentMajorNumber=$majorNumber
+  return 0
+
+}  #------------- end of function checkVfsNumber ----------------
+
+
+######################################################################
+#
+# Function:  Make sure there is an entry for mmfs in /etc/auto_master
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   0 - mmfs entry in /etc/auto_master confirmed.
+#
+######################################################################
+function checkAutomountDefine
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckAutomountDefine ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  # Applies only to the AIX environment.
+
+  return 0
+
+} #-------- end of function checkAutomountDefine ----------------
+
+
+######################################################################
+#
+# Function:  Remove the entry for mmfs from /etc/auto_master
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   0 - mmfs entry in /etc/auto_master removed.
+#
+######################################################################
+function clearAutomountDefine
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGclearAutomountDefine ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  # Applies only to the AIX environment.
+
+  return 0
+
+} #-------- end of function clearAutomountDefine ----------------
+
+
+########################################################################
+#
+# Function:  Obtain K5 (DCE) and/or K4 credentials.
+#            Applies only to the SP environment.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   0 - command completed successfully
+#
+########################################################################
+function getCred
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGgetCred ]] && set -x
+  # $mmTRACE_ENTER "$*"
+
+  return 0
+
+}  #---------------- end of function getCred ---------------------------
+
+
+#############################################################################
+#
+# Function:  Destroy K5 (DCE) and/or K4 credentials obtained by this command
+#            Applies only to the SP environment.
+#
+# Input:     None
+#
+# Output:    None
+#
+# Returns:   0 - command completed successfully
+#
+#############################################################################
+function freeCred
+{
+  typeset sourceFile="mmsdrfsdef.Linux.sh"
+  [[ -n $DEBUG || -n $DEBUGfreeCred ]] && set -x
+  # $mmTRACE_ENTER "$*"
+
+  getCredCalled=no
+  return 0
+
+}  #---------------- end of function freeCred ---------------
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrquery
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrquery	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrquery	(revision 16)
@@ -0,0 +1,912 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)72 1.1.1.1 src/avs/fs/mmfs/ts/admin/mmsdrquery.sh, mmfs, avs_rgpfs24, rgpfs24s011a 3/29/07 15:24:10
+##########################################################################
+#
+# Retrieve the requested information form the mmsdrfs file.
+#
+#   Usage:  mmsdrquery queryType itemList [scope [norefresh]]
+#
+# where
+#
+#   queryType   specifies the type of infromation requested.  The supported
+#               query types are defined in file mmsdrquerydef and can be
+#               specified using either the appropriate keyword or its
+#               corresponding integer value.
+#
+#   itemList    a colon-separated list describing the information that
+#               is to be returned.  The supported items are defined in
+#               file mmsdrquerydef and can be specified using the item's
+#               keyword or integer value.  The 'all' keyword is equivalent
+#               to requesting all currently defined items in the order
+#               in which they appear in the mmsdrquerydef file.
+#
+#   scope       can be used to limit the number of the returned items.
+#               The meaning and syntax of this parameter dependents on
+#               the query type:
+#
+#               - for sdrq_cluster_info the only valid value is 'all'.
+#
+#               - for sdrq_node_info the same syntax must be used as
+#                 for the -N option on mmchnode and similar commands.
+#
+#               - for sdrq_nsd_info the scope parameter can be either
+#                 a list of NSD names, a list of file system device
+#                 names, the keyword 'free_disks', or a fully-qualified
+#                 path name for a file containing NSD or device names.
+#                 All file system device names must include the /dev
+#                 prefix to distinguish them from NSD names.
+#
+#               - for sdrq_fs_info the scope parameter can be either
+#                 a colon-separated list of device names or one of
+#                 the 'all' key words: all, all_local, or all_remote.
+#
+#               If ommitted, 'all' is assumed for all query types.
+#
+#   norefresh   (optional) assume the cached mmsdrfs data is current.
+#
+#
+# The output consists of one or more records, containing the following
+# colon-separated fields:
+#
+#    fixed eycatcher  - the character string 'mmsdrquery'
+#    query type       - the value of the queryType input parameter
+#    error indicator  - if not zero, the rest of the record is undefined
+#    version number   - the value of $sdrq_current_format
+#    reserved field 1
+#    reserved field 2
+#
+# The remainder of the fields represent the values of the requested items
+# in the same order as they appear in the itemList input parameter.
+#
+# If an unkown request type is specified, the error indicator field
+# in the output line is set to 109 (ENOSYS).
+#
+# If the specified object in the scope parameter does not exist, the error
+# indicator in the output line is set to 19 (ENODEV).
+#
+# If an individual item is unknown, or is not supported any more,
+# the corresponding field in the output is set to "sdrq_unknown_item"
+# or "sdr_obsolete_item" respectively.
+#
+##########################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmsdrquerydef
+
+sourceFile="mmsdrquery.sh"
+[[ -n $DEBUG || -n $DEBUGmmsdrquery ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+# Local declarations
+usageMsg=39
+typeset -l queryType_lc
+typeset -l itemList_lc
+integer seqNumber=0
+rc=0
+reserved=""
+
+
+#############################
+# Check the input arguments.
+#############################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+queryType=$arg1
+queryType_lc=$queryType
+itemList=$arg2
+itemList_lc=$itemList
+scope=$arg3
+norefresh=$arg4
+
+[[ -z $arg2 ]] && syntaxError "missingArgs" $usageMsg
+[[ -n $arg5 ]] && syntaxError "extraArg"    $usageMsg "$arg5"
+
+
+###########################################################
+# Ensure that the local copy of the mmsdrfs is up-to-date.
+###########################################################
+if [[ -z $norefresh ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+####################################
+# Handle the different query types.
+####################################
+if [[ $queryType_lc = sdrq_cluster_info || $queryType = $sdrq_cluster_info ]]
+then
+  ###############################
+  # Global cluster information
+  ###############################
+
+  # Retrieve and parse the version and nodeset header lines.
+  versionLine=$($head -1 $mmsdrfsFile)
+  nodesetHdrLine=$($grep "^$HOME_CLUSTER:$NODESET_HDR:" $mmsdrfsFile)
+  IFS=":"
+  set -f ; set -A v -- - $versionLine ; set +f
+  set -f ; set -A w -- - $nodesetHdrLine ; set +f
+  IFS="$IFS_sv"
+
+  # If necessary, initialize the item list and print the header line.
+  if [[ $itemList_lc = all ]]
+  then
+    itemList_lc="1001:1002:1003:1004:1005:1006:1007:1008:1009:1010:1011:1012:1013:1014:1015"
+    hdrLine="mmsdrquery:sdrq_cluster_info:HEADER:version:reserved:reserved"
+    hdrLine="${hdrLine}:sdrq_cluster_name:sdrq_cluster_id:sdrq_cluster_type"
+    hdrLine="${hdrLine}:sdrq_primary_server:sdrq_secondary_server:sdrq_rsh_path"
+    hdrLine="${hdrLine}:sdrq_rcp_path:sdrq_uid_domain:sdrq_security_level"
+    hdrLine="${hdrLine}:sdrq_cipher_list:sdrq_tcp_port_number:sdrq_os_environment"
+    hdrLine="${hdrLine}:sdrq_sdrfs_version:sdrq_sdrfs_format:sdrq_sdrfs_gennumber"
+    print -- "${hdrLine}:"
+  fi  # end of if [[ $itemList_lc = all ]]
+
+  # Build the common header; assume everything will be all right.
+  (( seqNumber += 1 ))
+  result="mmsdrquery:sdrq_cluster_info:$rc:$sdrq_current_format:$reserved:$reserved"
+
+  # Parse the item list and build the rest of the output line.
+  IFS=":"
+  for item in $itemList_lc
+  do
+    case $item in
+
+      sdrq_cluster_name | $sdrq_cluster_name )
+        result="${result}:${v[$CLUSTER_NAME_Field]}"
+        ;;
+
+      sdrq_cluster_id | $sdrq_cluster_id )
+        result="${result}:${v[$CLUSTERID_Field]}"
+        ;;
+
+      sdrq_cluster_type | $sdrq_cluster_type )
+        result="${result}:${v[$CLUSTER_TYPE_Field]}"
+        ;;
+
+      sdrq_primary_server | $sdrq_primary_server )
+        result="${result}:${v[$PRIMARY_SERVER_Field]}"
+        ;;
+
+      sdrq_secondary_server | $sdrq_secondary_server )
+        [[ ${v[$BACKUP_SERVER_Field]} = "_NOSECONDARY_" ]] &&  \
+          v[$BACKUP_SERVER_Field]=""
+        result="${result}:${v[$BACKUP_SERVER_Field]}"
+        ;;
+
+      sdrq_rsh_path | $sdrq_rsh_path )
+        [[ -z ${v[$RSH_PATH_Field]} || ${v[$RSH_PATH_Field]} = "_DEFAULT_" ]] &&  \
+          v[$RSH_PATH_Field]=$rsh
+        result="${result}:${v[$RSH_PATH_Field]}"
+        ;;
+
+      sdrq_rcp_path | $sdrq_rcp_path )
+        [[ -z ${v[$RCP_PATH_Field]} || ${v[$RCP_PATH_Field]} = "_DEFAULT_" ]] &&  \
+          v[$RCP_PATH_Field]=$rcp
+        result="${result}:${v[$RCP_PATH_Field]}"
+        ;;
+
+      sdrq_uid_domain | $sdrq_uid_domain )
+        uidDomain=$(showCfgValue uidDomain)
+        [[ -z $uidDomain ]] && uidDomain=${v[$CLUSTER_NAME_Field]}
+        result="${result}:$uidDomain"
+        ;;
+
+      sdrq_sdrfs_version | $sdrq_sdrfs_version )
+        result="${result}:${v[$SDRFS_VERSION_Field]}"
+        ;;
+
+      sdrq_sdrfs_format | $sdrq_sdrfs_format )
+        result="${result}:${v[$SDRFS_FORMAT_Field]}"
+        ;;
+
+      sdrq_sdrfs_gennumber | $sdrq_sdrfs_gennumber )
+        result="${result}:${v[$SDRFS_GENNUM_Field]}"
+        ;;
+
+      sdrq_security_level | $sdrq_security_level )
+        result="${result}:${v[$SECLEVEL_Field]}"
+        ;;
+
+      sdrq_cipher_list | $sdrq_cipher_list )
+        result="${result}:${w[$CIPHER_LIST_Field]}"
+        ;;
+
+      sdrq_tcp_port_number | $sdrq_tcp_port_number )
+        result="${result}:${w[$TCP_PORT_Field]}"
+        ;;
+
+      sdrq_os_environment | $sdrq_os_environment )
+        result="${result}:${w[$OS_ENVIRONMENT_Field]}"
+        ;;
+
+#     xxx | $xxx )
+#       result="${result}:$sdrq_obsolete_item"
+#       ;;
+
+      * ) # Unrecognized item
+        result="${result}:$sdrq_unknown_item"
+        ;;
+    esac  # end of case $item in
+
+  done  # end of for item in $itemList_lc
+  IFS="$IFS_sv"
+
+  # Add trailing colon and print the result.
+  print -- "${result}:"
+
+elif [[ $queryType_lc = sdrq_node_info || $queryType = $sdrq_node_info ]]
+then
+  #############################
+  # Node specific information
+  #############################
+
+  # Process the scope parameter for this query type:
+  #   If scope is not specified, return information for all nodes.
+  #   Otherwise, the scope parameter must confirm to the syntax of
+  #   the -N option for mmchnode and similar commands.
+  [[ -z $scope ]] && scope=all
+  if [[ $scope != all ]]
+  then
+    # Allow any combination of the comma, semi-colon and/or the
+    # colon character to be used as a list separator character.
+    scope=$(print -- "$scope" | $sed 's/:/,/g')
+    scope=$(print -- "$scope" | $sed 's/;/,/g')
+    createVerifiedNodefile "$scope" $REL_HOSTNAME_Field $nodefile
+    if [[ ! -s $nodefile ]]
+    then
+      # No nodes were found that matched the input specification.
+      rc=$MM_DeviceNotFound   # device does not exist (ENODEV)
+      result="mmsdrquery:sdrq_node_info:$rc:$sdrq_current_format:$reserved:$reserved"
+      print -- "${result}:"
+      cleanupAndExit $rc
+    fi  # end of if [[ ! -s $nodefile ]]
+  fi  # end of if [[ $scope != all ]]
+
+  # If necessary, initialize the item list and print the header line.
+  if [[ $itemList_lc = all ]]
+  then
+    itemList_lc="2001:2002:2003:2004:2005:2006:2007:2008:2009:2010"
+    hdrLine="mmsdrquery:sdrq_node_info:HEADER:version:reserved:reserved"
+    hdrLine="${hdrLine}:sdrq_node_number:sdrq_admin_interface:sdrq_daemon_interface"
+    hdrLine="${hdrLine}:sdrq_daemon_ip_address:sdrq_client_node:sdrq_manager_node"
+    hdrLine="${hdrLine}:sdrq_quorum_node:sdrq_product_version:sdrq_daemon_version"
+    hdrLine="${hdrLine}:sdrq_os_name"
+    print -- "${hdrLine}:"
+  fi  # end of if [[ $itemList_lc = all ]]
+
+  # Go through the mmsdrfs file and retrieve the requested information.
+  $rm -f $tmpsdrfs $chnodes $diskLines
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"
+    getThisNode=""
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $MEMBER_NODE )
+        if [[ $scope = all ]]
+        then
+          getThisNode=yes
+        else
+          getThisNode=$($grep -w ${v[$REL_HOSTNAME_Field]} $nodefile)
+        fi
+
+        if [[ -n $getThisNode ]]
+        then
+          # Build the common header; assume everything will be all right.
+          (( seqNumber += 1 ))
+          result="mmsdrquery:sdrq_node_info:$rc:$sdrq_current_format:$reserved:$reserved"
+
+          # Parse the item list and build the rest of the output line.
+          IFS=":"
+          for item in $itemList_lc
+          do
+            case $item in
+
+              sdrq_node_number | $sdrq_node_number )
+                result="${result}:${v[$NODE_NUMBER_Field]}"
+                ;;
+
+              sdrq_admin_interface | $sdrq_admin_interface )
+                result="${result}:${v[$REL_HOSTNAME_Field]}"
+                ;;
+
+              sdrq_daemon_interface | $sdrq_daemon_interface )
+                [[ -z ${v[$DAEMON_NODENAME_Field]} ]] &&  \
+                  v[$DAEMON_NODENAME_Field]=${v[$REL_HOSTNAME_Field]}
+                result="${result}:${v[$DAEMON_NODENAME_Field]}"
+                ;;
+
+              sdrq_daemon_ip_address | $sdrq_daemon_ip_address )
+                result="${result}:${v[$IPA_Field]}"
+                ;;
+
+              sdrq_client_node | $sdrq_client_node )
+                [[ ${v[$DESIGNATION_Field]} = "$CLIENT" ]] &&  \
+                  result="${result}:true" || result="${result}:false"
+                ;;
+
+              sdrq_manager_node | $sdrq_manager_node )
+                [[ ${v[$DESIGNATION_Field]} = "$MANAGER" ]] &&  \
+                  result="${result}:true" || result="${result}:false"
+                ;;
+
+              sdrq_quorum_node | $sdrq_quorum_node )
+                [[ ${v[$CORE_QUORUM_Field]} = "$quorumNode" ]] &&  \
+                  result="${result}:true" || result="${result}:false"
+                ;;
+
+              sdrq_product_version | $sdrq_product_version )
+                result="${result}:${v[$PRODUCT_VERSION_Field]}"
+                ;;
+
+              sdrq_daemon_version | $sdrq_daemon_version )
+                result="${result}:${v[$DAEMON_VERSION_Field]}"
+                ;;
+
+              sdrq_os_name | $sdrq_os_name )
+                result="${result}:${v[$OS_NAME_Field]}"
+                ;;
+
+#             xxx | $xxx )
+#               result="${result}:$sdrq_obsolete_item"
+#               ;;
+
+              * ) # Unrecognized item
+                result="${result}:$sdrq_unknown_item"
+                ;;
+            esac  # end of case $item in
+
+          done  # end of for item in $itemList_lc
+          IFS="$IFS_sv"
+
+          # Add trailing colon and print the result.
+          print -- "${result}:"
+
+        fi  # end of if [[ -n $getThisNode ]]
+        ;;
+
+      * )  # Not interested in any ohter lines.
+        ;;
+
+    esac  # end case ${v[$LINE_TYPE_Field]} in
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+elif [[ $queryType_lc = sdrq_nsd_info || $queryType = $sdrq_nsd_info ]]
+then
+  #############################
+  # NSD specific information
+  #############################
+
+#esjxx - Add code to put out messages for each specifically requested disk name
+#esjxx   that was not found and for each fs device name that was given and that
+#esjxx   does not exist or has no disks (because it is for a remote fs).  This
+#esjxx   should also cover the free disk case
+
+  # Process the scope parameter for this query type:
+  #   If scope is not specified, return information for all disks.
+  #   Otherwise, the scope parameter can be either a list of NSD names,
+  #   file system device names, and/or the keyword 'free_disks', or
+  #   a fully-qualified path name for a file containing NSD or device names.
+  #   All file system device names must include the /dev prefix to distinguish
+  #   them from NSD names.
+
+  if [[ -z $scope || $scope = all ]]
+  then
+    scope=all
+
+  elif [[ $scope = /* && $scope != +(/)dev+(/)* ]]
+  then
+    # The scope parameter is a path name for a file.
+    # Verify the existence of the file and create our own copy.
+    checkUserFile "$scope" $tmpfile
+    [[ $? -ne 0 ]] && cleanupAndExit
+
+  else
+    # The scope parameter is a list of NSD and/or device names.
+    # Allow any combination of the comma, semi-colon and/or the
+    # colon character to be used as a list separator character.
+    scope=$(print -- "$scope" | $sed 's/;/,/g')
+    scope=$(print -- "$scope" | $sed 's/:/,/g')
+
+    # Parse the list and put the items into a file.
+    $rm -f $tmpfile
+    IFS=","
+    for token in $scope
+    do
+      [[ -z $token ]] && continue
+      print -- "$token" >> $tmpfile
+      checkForErrors "writing to file $tmpfile" $?
+    done  # end for token in $scope
+    IFS="$IFS_sv"
+  fi  # end of if [[ -z $scope || $scope = all ]]
+
+  # Separate the NSD names from the file system device names.
+  if [[ $scope != all ]]
+  then
+    $rm -f $diskfile
+    exec 3<&-
+    exec 3< $tmpfile
+    while read -u3 token
+    do
+      if [[ $token = +(/)dev+(/)* ]]
+      then
+        # Add the fs name to the list of file systems.
+        fsList="${fsList} ${token##+(/)dev+(/)}"
+      elif [[ $token = free_disks ]]
+      then
+        # Add the funny NO_DEVICE name to the list of file systems.
+        fsList="${fsList} $NO_DEVICE"
+      elif [[ $token = all ]]
+      then
+        # This will overwrite everything else.
+        scope=all
+        break
+      else
+        # This must be an NSD name.
+        print -- "$token" >> $diskfile
+        checkForErrors "writing to file $diskfile" $?
+      fi
+    done  # end of while read -u3 token
+
+    # Ensure the fsList has a trailing blank.
+    [[ -n $fsList ]] && fsList="${fsList} "
+  fi  # end of if [[ $scope != all ]]
+
+  # If necessary, initialize the item list and print the header line.
+  if [[ $itemList_lc = all ]]
+  then
+    itemList_lc="3001:3002:3003:3004:3005:3006:3007:3008:3009:3010:3011"
+    hdrLine="mmsdrquery:sdrq_nsd_info:HEADER:version:reserved:reserved"
+    hdrLine="${hdrLine}:sdrq_nsd_name:sdrq_nsd_server_list:sdrq_backup_nsd_server_list"
+    hdrLine="${hdrLine}:sdrq_fs_name:sdrq_storage_pool:sdrq_disk_usage"
+    hdrLine="${hdrLine}:sdrq_failure_group:sdrq_nsd_id:sdrq_disk_subtype"
+    hdrLine="${hdrLine}:sdrq_quorum_disk:sdrq_disk_status"
+    print -- "${hdrLine}:"
+  fi  # end of if [[ $itemList_lc = all ]]
+
+  # Go through the mmsdrfs file and retrieve the requested information.
+  $rm -f $tmpsdrfs $chnodes $diskLines
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $SG_DISKS )
+        if [[ $scope = all || $fsList = *" ${v[$DEV_NAME_Field]} "* ]]
+        then
+          getThisDisk=yes
+        elif [[ -s $diskfile ]]
+        then
+          getThisDisk=$($grep -w ${v[$DISK_NAME_Field]} $diskfile)
+        else
+          getThisDisk=""
+        fi
+
+        if [[ -n $getThisDisk ]]
+        then
+          # Build the common header; assume everything will be all right.
+          (( seqNumber += 1 ))
+          result="mmsdrquery:sdrq_nsd_info:$rc:$sdrq_current_format:$reserved:$reserved"
+
+          # Parse the item list and build the rest of the output line.
+          IFS=":"
+          for item in $itemList_lc
+          do
+            case $item in
+
+              sdrq_nsd_name | $sdrq_nsd_name )
+                result="${result}:${v[$DISK_NAME_Field]}"
+                ;;
+
+              sdrq_nsd_server_list | $sdrq_nsd_server_list )
+                result="${result}:${v[$NSD_PRIMARY_NODE_Field]}"
+                ;;
+
+              sdrq_backup_nsd_server_list | $sdrq_backup_nsd_server_list )
+                result="${result}:${v[$NSD_BACKUP_NODE_Field]}"
+                ;;
+
+              sdrq_fs_name | $sdrq_fs_name )
+                [[ ${v[$DEV_NAME_Field]} = "$NO_DEVICE" ]] &&  \
+                  v[$DEV_NAME_Field]="free_disk"
+                result="${result}:${v[$DEV_NAME_Field]}"
+                ;;
+
+              sdrq_storage_pool | $sdrq_storage_pool )
+                [[ -z ${v[$STORAGE_POOL_Field]} ]] &&  \
+                  v[$STORAGE_POOL_Field]="system"
+                result="${result}:${v[$STORAGE_POOL_Field]}"
+                ;;
+
+              sdrq_disk_usage | $sdrq_disk_usage )
+                result="${result}:${v[$DISK_USAGE_Field]}"
+                ;;
+
+              sdrq_failure_group | $sdrq_failure_group )
+                result="${result}:${v[$FAILURE_GROUP_Field]}"
+                ;;
+
+              sdrq_nsd_id | $sdrq_nsd_id )
+                result="${result}:${v[$PVID_Field]}"
+                ;;
+
+              sdrq_disk_subtype | $sdrq_disk_subtype )
+                result="${result}:${v[$NSD_SUBTYPE_Field]}"
+                ;;
+
+              sdrq_quorum_disk | $sdrq_quorum_disk )
+                [[ ${v[$PAXOS_Field]} = "$PaxosDisk" ]] &&  \
+                  result="${result}:true" || result="${result}:false"
+                ;;
+
+              sdrq_disk_status | $sdrq_disk_status )
+                [[ -z ${v[$DISK_STATUS_Field]} ]] &&  \
+                  v[$DISK_STATUS_Field]="ready"
+                result="${result}:${v[$DISK_STATUS_Field]}"
+                ;;
+
+#             xxx | $xxx )
+#               result="${result}:$sdrq_obsolete_item"
+#               ;;
+
+              * ) # Unrecognized item
+                result="${result}:$sdrq_unknown_item"
+                ;;
+            esac  # end of case $item in
+
+          done  # end of for item in $itemList_lc
+          IFS="$IFS_sv"
+
+          # Add trailing colon and print the result.
+          print -- "${result}:"
+
+        fi  # end of if [[ -n $getThisDisk ]]
+        ;;
+
+      * )  # Not interested in any ohter lines.
+        ;;
+
+    esac  # end case ${v[$LINE_TYPE_Field]} in
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+
+  if [[ $seqNumber -eq 0 ]]
+  then
+    # No disks were found that matched the input specification."
+    rc=$MM_DeviceNotFound   # device does not exist (ENODEV)
+    result="mmsdrquery:sdrq_nsd_info:$rc:$sdrq_current_format:$reserved:$reserved"
+    print -- "${result}:"
+    print -u2 "$mmcmd: No disks were found that matched the input specification."
+  fi  # end of if [[ $seqNumber -eq 0 ]]
+
+
+elif [[ $queryType_lc = sdrq_fs_info  || $queryType = $sdrq_fs_info ]]
+then
+  ###################################
+  # File system specific information
+  ###################################
+
+#esjxx - Add code to put out messages for each specifically requested file system
+#esjxx   that was not found.
+
+  # Process the scope parameter for this query type:
+  #   If scope is not specified, return information for all disks.
+  #   Otherwise, the scope parameter can be either a list of device names
+  #   or one of the 'all' key words: all, all_local, or all_remote.
+
+  if [[ -z $scope || $scope = all ]]
+  then
+    scope=all
+
+  elif [[ $scope = all_local || $scope = all_remote ]]
+  then
+    scope=$scope
+
+# elif [[ $scope = /* && $scope != +(/)dev+(/)* ]]
+# then
+#   # The scope parameter is a path name for a file.
+#   # Verify the existence of the file and create our own copy.
+#   checkUserFile "$scope" $tmpfile
+#   [[ $? -ne 0 ]] && cleanupAndExit
+
+  else
+    # The scope parameter is a list of device names.
+    # Allow any combination of the comma, semi-colon and/or the
+    # colon character to be used as a list separator character.
+    scope=$(print -- "$scope" | $sed 's/;/,/g')
+    scope=$(print -- "$scope" | $sed 's/:/,/g')
+
+    # Parse the list of device names.
+    $rm -f $tmpfile
+    IFS=","
+    for token in $scope
+    do
+      [[ -z $token ]] && continue
+      # Add the fs name to the list of file systems.
+      fsList="${fsList} ${token##+(/)dev+(/)}"
+    done  # end for token in $scope
+    IFS="$IFS_sv"
+
+    # Ensure the fsList has a trailing blank.
+    [[ -n $fsList ]] && fsList="${fsList} "
+  fi  # end of if [[ -z $scope || $scope = all ]]
+
+  # If necessary, initialize the item list and print the header line.
+  if [[ $itemList_lc = all ]]
+  then
+    itemList_lc="4001:4002:4003:4004:4005:4006:4007:4008:4009:4010:4011:4012:4013:4014"
+    hdrLine="mmsdrquery:sdrq_fs_info:HEADER:version:reserved:reserved"
+    hdrLine="${hdrLine}:sdrq_device_name:sdrq_mount_point:sdrq_fs_type"
+    hdrLine="${hdrLine}:sdrq_owning_cluster_name:sdrq_remote_device_name"
+    hdrLine="${hdrLine}:sdrq_automount_option:sdrq_rw_options:sdrq_quota_option"
+    hdrLine="${hdrLine}:sdrq_atime_option:sdrq_mtime_option:sdrq_other_mount_options"
+    hdrLine="${hdrLine}:sdrq_mount_options:sdrq_drive_letter:sdrq_device_minor_number"
+    print -- "${hdrLine}:"
+  fi  # end of if [[ $itemList_lc = all ]]
+
+  # Go through the mmsdrfs file and retrieve the requested information.
+  $rm -f $tmpsdrfs $chnodes $diskLines
+  IFS=":"
+  exec 3<&-
+  exec 3< $mmsdrfsFile
+  while read -u3 sdrfsLine
+  do
+    # Parse the line.
+    set -f ; set -A v -- - $sdrfsLine ; set +f
+
+    IFS="$IFS_sv"
+
+    case ${v[$LINE_TYPE_Field]} in
+
+      $VERSION_LINE )
+        ourClusterName=${v[$CLUSTER_NAME_Field]}
+        ;;
+
+      $SG_HEADR )
+        # Starting the processing of a new file system.
+        # See if the file system should be displayed.
+        if [[ $scope  = all                                            ||
+              $scope  = all_local  && ${v[$FS_TYPE_Field]} = $localfs  ||
+              $scope  = all_remote && ${v[$FS_TYPE_Field]} = $remotefs ||
+              $fsList = *" ${v[$DEV_NAME_Field]} "*                    ]]
+        then
+          getThisFileSystem=yes
+
+          # Start collecting the potentially needed information.
+          # The actual output will be constructed when all of the information
+          # becomes available (when the SG_MOUNT line is processed).
+          remoteDeviceName=${v[$REMOTE_DEV_NAME_Field]}
+          deviceMinorNumber=${v[$DEV_MINOR_Field]}
+          if [[ ${v[$FS_TYPE_Field]} = $localfs ]]
+          then
+            fsType=local
+          else
+            fsType=remote
+          fi
+
+        else
+          getThisFileSystem=""
+        fi  # end of if [[ $scope  = all ...
+        ;;
+
+      $SG_ETCFS )
+        if [[ -n $getThisFileSystem ]]
+        then
+          # Save some more potentially needed information.
+          stanzaLine=${v[$ETCFS_TEXT_Field]}
+          if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line ]]
+          then
+            mountPoint=$stanzaLine
+          elif [[ ${v[$LINE_NUMBER_Field]} -eq $MOUNT_Line ]]
+          then
+            value=${stanzaLine#*=$BLANKchar}
+            if [[ $value = mmfs ]]
+            then
+              automountOption=yes
+            elif [[ $value = false ]]
+            then
+              automountOption=no
+            else
+              automountOption=$value
+            fi
+          fi  # end of if [[ ${v[$LINE_NUMBER_Field]} = $MOUNT_POINT_Line ]]
+        fi  # end of if [[ -n $getThisFileSystem ]]
+        ;;
+
+
+      $SG_MOUNT )
+        if [[ -n $getThisFileSystem ]]
+        then
+          # Create a combined list of all mount options.
+          rwOption=${v[$RW_OPT_Field]}
+          quotaOption=${v[$QUOTA_OPT_Field]}
+          atimeOption=${v[$ATIME_OPT_Field]}
+          mtimeOption=${v[$MTIME_OPT_Field]}
+          otherMountOptions=${v[$OTHER_OPT_Field]}
+          allMountOptions="${rwOption},${atimeOption},${mtimeOption}"
+          [[ -n $quotaOption ]] &&  \
+            allMountOptions="${allMountOptions},${quotaOption}"
+          [[ -n $otherMountOptions ]] &&  \
+            allMountOptions="${allMountOptions},${otherMountOptions}"
+
+          # At this point all of the needed information is available.
+          # Build the common header; assume everything will be all right.
+          (( seqNumber += 1 ))
+          result="mmsdrquery:sdrq_fs_info:$rc:$sdrq_current_format:$reserved:$reserved"
+
+          # Parse the item list and build the rest of the output line.
+          IFS=":"
+          for item in $itemList_lc
+          do
+            case $item in
+
+              sdrq_device_name | $sdrq_device_name )
+                result="${result}:${v[$DEV_NAME_Field]}"
+                ;;
+
+              sdrq_mount_point | $sdrq_mount_point )
+                result="${result}:$mountPoint"
+                ;;
+
+              sdrq_fs_type | $sdrq_fs_type )
+                result="${result}:$fsType"
+                ;;
+
+              sdrq_owning_cluster_name | $sdrq_owning_cluster_name )
+                if [[ ${v[$NODESETID_Field]} = "$HOME_CLUSTER" ]]
+                then
+                  result="${result}:$ourClusterName"
+                else
+                  result="${result}:${v[$NODESETID_Field]}"
+                fi
+                ;;
+
+              sdrq_remote_device_name | $sdrq_remote_device_name )
+                if [[ -n $remoteDeviceName ]]
+                then
+                  result="${result}:$remoteDeviceName"
+                else
+                  result="${result}:${v[$DEV_NAME_Field]}"
+                fi
+                ;;
+
+              sdrq_automount_option | $sdrq_automount_option )
+                result="${result}:$automountOption"
+                ;;
+
+              sdrq_rw_options | $sdrq_rw_options )
+                result="${result}:$rwOption"
+                ;;
+
+              sdrq_quota_option | $sdrq_quota_option )
+                if [[ -n $quotaOption ]]
+                then
+                  result="${result}:$quotaOption"
+                else
+                  result="${result}:no"
+                fi
+                ;;
+
+              sdrq_atime_option | $sdrq_atime_option )
+                result="${result}:$atimeOption"
+                ;;
+
+              sdrq_mtime_option | $sdrq_mtime_option )
+                result="${result}:$mtimeOption"
+                ;;
+
+              sdrq_other_mount_options | $sdrq_other_mount_options )
+                result="${result}:$otherMountOptions"
+                ;;
+
+              sdrq_mount_options | $sdrq_mount_options )
+                result="${result}:$allMountOptions"
+                ;;
+
+              sdrq_drive_letter | $sdrq_drive_letter )
+                result="${result}:${v[$DRIVE_LETTER_Field]}"
+                ;;
+
+              sdrq_device_minor_number | $sdrq_device_minor_number )
+                result="${result}:$deviceMinorNumber"
+                ;;
+
+#             xxx | $xxx )
+#               result="${result}:$sdrq_obsolete_item"
+#               ;;
+
+              * ) # Unrecognized item
+                result="${result}:$sdrq_unknown_item"
+                ;;
+            esac  # end of case $item in
+
+          done  # end of for item in $itemList_lc
+          IFS="$IFS_sv"
+
+          # Add trailing colon and print the result.
+          print -- "${result}:"
+
+        fi  # end of if [[ -n $getThisFileSystem ]]
+        ;;
+
+      * )  # Not interested in any ohter lines.
+        ;;
+
+    esac  # end case ${v[$LINE_TYPE_Field]} in
+
+    IFS=":"  # Change the separator back to ":" for the next iteration.
+
+  done  # end while read -u3 sdrfsLine
+
+  IFS="$IFS_sv"  # Restore the default IFS settings.
+
+  if [[ $seqNumber -eq 0 ]]
+  then
+    # No file systems were found that matched the input specification."
+    rc=$MM_DeviceNotFound   # device does not exist (ENODEV)
+    result="mmsdrquery:sdrq_fs_info:$rc:$sdrq_current_format:$reserved:$reserved"
+    print -- "${result}:"
+    print -u2 "$mmcmd: No file systems were found that matched the input specification."
+  fi  # end of if [[ $seqNumber -eq 0 ]]
+
+else
+  # Unkown query type
+  print -u2 "$mmcmd:  Unknown query type $queryType"
+  rc=$MM_NotSupported   # function not supported (ENOSYS)
+
+  # Build the common header and print the result.
+  result="mmsdrquery:$queryType:$rc:$sdrq_current_format:$seqNumber:$reserved:$reserved"
+  print -- "${result}:"
+
+fi  # end of if [[ $queryType_lc = sdrq_cluster_info || ...
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrquerydef
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrquerydef	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrquerydef	(revision 16)
@@ -0,0 +1,97 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)73 1.2 src/avs/fs/mmfs/ts/admin/mmsdrquerydef.sh, mmfs, avs_rgpfs24, rgpfs24s011a 3/29/07 15:24:13
+##########################################################################
+#
+#  Constants and definitions for the mmsdrquery command.
+#  See the prolog of the mmsdrquery command for more details.
+#
+##########################################################################
+sourceFile="mmsdrquerydef.sh"
+[[ -n $DEBUGmmsdrquerydef ]] && set -x
+
+# Global declarations
+sdrq_current_format=1
+sdrq_compatible_format=1
+sdrq_obsolete_item="sdr_obsolete_item"
+sdrq_unknown_item="sdr_unknown_item"
+
+# Supported query types
+sdrq_cluster_info=10              # retrieve global cluster information
+sdrq_node_info=20                 # retrieve node specific information
+sdrq_nsd_info=30                  # retrieve NSD specific information
+sdrq_fs_info=40                   # retrieve file system specific information
+
+# Supported clusterInfo query items
+sdrq_cluster_name=1001
+sdrq_cluster_id=1002
+sdrq_cluster_type=1003            # lc or single (obsolete)
+sdrq_primary_server=1004
+sdrq_secondary_server=1005
+sdrq_rsh_path=1006
+sdrq_rcp_path=1007
+sdrq_uid_domain=1008
+sdrq_security_level=1009          # 0 - security is disabled; 1 - security is enabled
+sdrq_cipher_list=1010
+sdrq_tcp_port_number=1011         # daemon TCP port number (default is 1191)
+sdrq_os_environment=1012          # [ALWS] (first letter of each OS in the clsuter)
+sdrq_sdrfs_version=1013           # the mmsdrfs file current major version is 3
+sdrq_sdrfs_format=1014            # changes as new fields are added
+sdrq_sdrfs_gennumber=1015         # current generation number of the mmsdrfs file
+
+# Supported nodeInfo query items
+sdrq_node_number=2001
+sdrq_admin_interface=2002         # fully-qualified host name
+sdrq_daemon_interface=2003        # fully-qualified host name
+sdrq_daemon_ip_address=2004
+sdrq_client_node=2005             # true or false
+sdrq_manager_node=2006            # true or false
+sdrq_quorum_node=2007             # true or false
+sdrq_product_version=2008         # installed product version string
+sdrq_daemon_version=2009          # daemon version number
+sdrq_os_name=2010                 # AIX, Linux, Windows or SunOS
+sdrq_reserved_2011=2011
+sdrq_reserved_2012=2012
+
+# Supported nsdInfo query items
+sdrq_nsd_name=3001
+sdrq_nsd_server_list=3002         # comma-separated list of admin host names
+sdrq_backup_nsd_server_list=3003  # comma-separated list of admin host names
+sdrq_fs_name=3004
+sdrq_storage_pool=3005
+sdrq_disk_usage=3006
+sdrq_failure_group=3007
+sdrq_nsd_id=3008
+sdrq_disk_subtype=3009
+sdrq_quorum_disk=3010             # true or false
+sdrq_disk_status=3011
+
+# Supported fsInfo query items
+sdrq_device_name=4001
+sdrq_mount_point=4002
+sdrq_fs_type=4003                 # local or remote
+sdrq_owning_cluster_name=4004
+sdrq_remote_device_name=4005
+sdrq_automount_option=4006        # yes (mount on startup), no, or automount
+sdrq_rw_options=4007              # rw or ro
+sdrq_quota_option=4008            # null or "userquota;groupquota;filesetquota"
+sdrq_atime_option=4009            # atime or noatime
+sdrq_mtime_option=4010            # mtime or nomtime
+sdrq_other_mount_options=4011     # string of other mount options
+sdrq_mount_options=4012           # string of all mount options (including the above)
+sdrq_drive_letter=4013
+sdrq_device_minor_number=4014
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrrestore
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrrestore	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsdrrestore	(revision 16)
@@ -0,0 +1,404 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)93 1.1.1.3 src/avs/fs/mmfs/ts/admin/mmsdrrestore.sh, mmfs, avs_rgpfs24, rgpfs240610b 2/17/06 16:51:07
+##############################################################################
+#
+# Ensure that the GPFS system files on the specified nodes are at the
+# most recent level.  If the local mmsdrfs file is missing, use the file
+# specified with the -F option from the node specified with the -p option.
+#
+# Usage:
+#   mmsdrrestore [-p NodeName] [-F mmsdrfsFile] [-R remoteFileCopyCommand]
+#                [-a | -N {Node[,Node...] | NodeFile | NodeClass}]
+#
+# where:
+#   -p NodeName        specifies the node from which to obtain a valid
+#                      mmsdrfs file.  This should be either the primary
+#                      configuration server or a node that contains a
+#                      valid backup copy of the mmsdrfs file.
+#                      If not specified, the local node is assumed.
+#
+#   -F mmsdrfsFile     specifies the pathname of the mmsdrfs file to use.
+#                      If not specified, /var/mmfs/gen/mmsdrfs is assumed.
+#
+#   -R remoteFileCopyCommand  specifies the fully-qualified pathname for
+#                      the remote file copy program to be used for staging
+#                      the mmsdrfs file.  The default is /usr/bin/rcp.
+#
+# Future options:
+#   -a                 Restore all nodes in the GPFS cluster.
+#
+#   -N Node,Node,...   specifies the affected nodes in a list or in a file.
+#   -N NodeFile        NodeClass may be one of several possible node classes
+#   -N NodeClass       (e.g., quorumnodes, managernodes, nsdnodes, etc.)
+#
+# Notes:
+#   If not explicitly specified otherwise, only the local node is affected.
+#
+#   If the -p and/or -F parameters are specified, i.e., if the local mmsdrfs
+#   file will be replaced, the command must be first run on the primary and
+#   backup cluster configuration servers.
+#
+#   If the local mmsdrfs file is going to be replaced, the command saves
+#   the original file as /var/mmfs/gen/mmsdrfs.mmsdrrestore.backup
+#
+#   The -R option has to be specified only if the mmsdrfs file needs to be
+#   copied from a different node and the cluster was set to use ssh/scp.
+#   Once the correct mmsdrfs file is staged, the rest of the code will use
+#   the remote commands that have been defined for the cluster.  In other
+#   words, you can not change the remote shell and file copy programs with
+#   the mmsdrrestore command; use mmchcluster for this purpose once the
+#   cluster has been restored.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmsdrrestore.sh"
+[[ -n $DEBUG || -n $DEBUGmmsdrrestore ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local variables
+
+usageMsg=284
+rc=0
+
+
+# Local routines
+
+
+#####################################################################
+#
+# Function:  Verifies that a command executed successfully.  If the
+#            return code from the command is not zero, the function
+#            issues a message, restores the original mmsdrfs file,
+#            and exits.
+#
+# Input:     $1 - text to be printed in the message
+#            $2 - return code from the execution of the command
+#
+#####################################################################
+function checkForErrorsAndRestoreOldFile
+{
+  sourceFile="mmsdrrestore.sh"
+  [[ -n $DEBUG || -n $DEBUGcheckForErrorsAndRestoreOldFile ]] && set -x
+  $mmTRACE_ENTER "$*"
+  typeset msgSub=$1
+  typeset rc=$2
+
+  if [ $rc != "0" ]
+  then
+    # If asked, issue an "unexpected error" message.
+    [[ $msgSub != NOMSG ]] &&  \
+      printErrorMsg 171 "$mmcmd" "$msgSub" $rc
+
+    # Remove the mmsdrfs file if it was copied from another place.
+    [[ -n $userProvidedFile ]] &&  \
+      $rm -f $mmsdrfsFile
+
+    # Restore the original mmsdrfs file.
+    [[ -f ${mmsdrfsFile}.${mmcmd}.backup ]] &&  \
+      $mv -f ${mmsdrfsFile}.${mmcmd}.backup $mmsdrfsFile
+
+    cleanupAndExit $2
+  fi
+
+}  #------ end of function checkForErrorsAndRestoreOldFile -------
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+##################################
+# Process each of the arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+while getopts :aF:N:p:R: OPT
+do
+  case $OPT in
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag="-$OPT"
+       [[ -n $Nflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $aflag $Nflag
+       syntaxError "invalidOption" $usageMsg $OPT  #esjx option not allowed yet
+       ;;
+
+    F) # source mmsdrfs file
+       [[ -n $Farg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Farg=$OPTARG
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $aflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg $Nflag $aflag
+       syntaxError "invalidOption" $usageMsg $OPT  #esjx option not allowed yet
+       ;;
+
+    p) # primary server
+       [[ -n $parg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       parg=$OPTARG
+       ;;
+
+    R) # remote file copy command
+       [[ -n $Rarg ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Rarg=$OPTARG
+       [[ $Rarg != /* ]] &&  \
+         syntaxError "absolutePath_2" $noUsageMsg "-$OPT" "$OPTARG"
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[aFNpR])
+       syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done  # end of while getopts :afF:N:p:r:R: OPT do
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+###########################################################
+# Process the optional remote file copy command parameter.
+###########################################################
+if [[ -n $Rarg ]]
+then
+  if [[ ! -x $Rarg ]]
+  then
+    # The specified remote file copy command is incorrect
+    # (it is not an executable).
+    printErrorMsg 423 $mmcmd ${Rarg%% *}
+    cleanupAndExit
+  fi
+  rcp="$Rarg"
+  export GPFS_rcpPath="$rcp"
+fi
+
+
+###################################################################
+# If an mmsdrfs file exists and we are told not to use it, create
+# a backup of the local mmsdrfs file before proceding any further.
+###################################################################
+if [[ ( -n $parg || -n $Farg && $Farg != $mmsdrfsFile ) && -f $mmsdrfsFile ]]
+then
+  $cp $mmsdrfsFile ${mmsdrfsFile}.${mmcmd}.backup
+  checkForErrors "cp $mmsdrfsFile ${mmsdrfsFile}.${mmcmd}.backup" $?
+fi
+
+
+##############################################################
+# If we are told where to find the good mmsdrfs file, get it.
+##############################################################
+sourceNode=$parg
+sourceFile=$Farg
+[[ -z $sourceFile ]] && sourceFile=$mmsdrfsFile
+
+if [[ -n $parg ]]
+then
+  # The file must be copied from a remote node.
+  isNodeReachable $sourceNode
+  if [[ $? -ne 0 ]]
+  then
+    # The node is not reachable.
+    printErrorMsg 340 $mmcmd $sourceNode
+    checkForErrorsAndRestoreOldFile NOMSG 1
+  fi
+
+  rcpResult=$(LC_ALL=C $rcp ${sourceNode}:${sourceFile} $mmsdrfsFile 2>&1)
+  rc=$?
+  if [[ $rc -ne 0 ]]
+  then
+    # If there was no need to copy the file, that's fine.
+    print -- "$rcpResult" | $grep -e "refer to the same file" >/dev/null
+    if [[ $? -ne 0 ]]
+    then
+      # Show the error from the rcp command and give up.
+      print -u2 "$rcpResult"
+      checkForErrorsAndRestoreOldFile  \
+        "$rcp ${sourceNode}:${sourceFile} $mmsdrfsFile" $rc
+    fi
+  fi  # end of if [[ $rc -ne 0 ]]
+  userProvidedFile=yes
+
+elif [[ $sourceFile != $mmsdrfsFile ]]
+then
+  # The file must be copied from some other place within the local node.
+  $cp $sourceFile $mmsdrfsFile
+  checkForErrorsAndRestoreOldFile "cp $sourceFile $mmsdrfsFile" $?
+  userProvidedFile=yes
+
+else
+  : # The local mmsdrfs file is supposed to be good.
+fi  # end of if [[ -n $parg ]]
+
+# At this point we must have an mmsdrfs file to work with.
+if [[ ! -f $mmsdrfsFile ]]
+then
+  # Either the node does not belong to a cluster
+  # or the config information is lost/corrupted.
+  printErrorMsg 282 $mmcmd
+  checkForErrors "$mmcmd: Missing /var/mmfs/gen/mmsdrfs" 1
+fi
+
+# If this is a user-specified mmsdrfs file, perform a quick sanity check.
+if [[ -n $userProvidedFile ]]
+then
+  checkSdrfsFile $mmsdrfsFile
+  checkForErrorsAndRestoreOldFile "$mmcmd: Invalid input file" $?
+fi
+
+
+########################################################################
+# See if this node belongs to the cluster defined by this mmsdrfs file.
+########################################################################
+# Remove the local mmfsNodeData file.  We will derive the information
+# based on the currently active IP addresses of the node.
+$rm -f $mmfsNodeData
+
+# Determine the node's GPFS node number by checking all local addresses.
+nodeData=$(guessLocalNodeNumber)
+rc=$?
+set -f ; set -- $nodeData ; set +f
+ourNodeNumber=$1
+ourNodeName=$3
+
+if [[ -z $ourNodeNumber ]]
+then
+  # The node does not appear to belong to the cluster rpresented
+  # by this mmsdrfs file.  Either the file is from a different
+  # cluster, or not all adapter interfaces have been activated.
+  # Or the node indeed is not part of the cluster.
+
+  # Determine the name of the source file for the message.
+  sdrfs="$sourceFile"
+  [[ -n $sourceNode ]] && sdrfs="${sourceNode}:${sourceFile}"
+
+  # There is no record for this node in the file.
+  printErrorMsg 283 $mmcmd $sdrfs
+  checkForErrorsAndRestoreOldFile NOMSG 1
+fi
+
+
+#############################################################################
+# At this point, the current mmsdrfs file is assumed to be the correct one.
+# The code continues with the standard gpfsInit processing.  This means
+# that the primary or backup servers, as per the current mmsdrfs file,
+# will be consulted to ensure this is indeed the latest version of the file.
+#############################################################################
+# Remove the current versions of the system files to force the environment
+# to be rebuilt based on the information in the new mmsdrfs file.
+$rm -f $mmfscfgFile $mmfsNodeData ${mmfsEnvLevel}+([0-9])  \
+       ${mmfsNewKeyLevel}+([0-9]) ${mmfsCommittedKeyLevel}+([0-9])  \
+       $nsdpvol
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Ensure the sdrserv daemon is running on this node only
+# if the node is a primary or backup configuration server.
+###########################################################
+killSdrServ >/dev/null 2>&1
+[[ $ourNodeName = $primaryServer || $ourNodeName = $backupServer ]] &&  \
+  startSdrServ CURRENT
+
+# The node was successfully restored.
+printErrorMsg 285 $mmcmd $ourNodeName
+
+# Done for now.  The -a and -N options are not implemented yet.
+cleanupAndExit 0
+
+
+#######################################################
+# Create a file containing all of the affected nodes.
+#######################################################
+if [[ -n $aflag ]]
+then
+  # Get a list of all nodes in the cluster.
+  getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+elif [[ -n $Nflag ]]
+then
+  # Convert the passed data into a file containing admin node names.
+  createVerifiedNodefile $nodenames $REL_HOSTNAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+else
+  : # Only the local node is affected.
+fi  # end of if [[ -n $aflag ]]
+
+
+# Ensure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+
+#esjxx - If more than one node is involved AND a new mmsdrfs file was copied,
+#esjxx   push the file to the rest of the affected nodes.  This will be done
+#esjxx   with a new mmremote call that will take care of mmsdrserv as well.
+#esjxx   We will need to pass the names of the primary and backup servers
+#esjxx   and clusterID to ensure that the individual nodes will go to the
+#esjxx   right place for the correct version of the mmsdrfs file.
+#esjxx   If the individual nodes have different information, they should go
+#esjxx   to the correct primary only and specify current gen number 0 or 1.
+#esjxx   This should apply to the backup too ???
+
+
+##########################
+# Restore the GPFS nodes.
+##########################
+if [[ ! -s $nodefile ]]
+then
+  : # This is a request to restore only the local node.  We are done.
+else
+  # This is a request to restore other nodes as well.
+  $mmcommon onall $nodefile $unreachedNodes cfg -f
+  rc=$?
+fi  # end of if [[ ! -s $nodefile ]]
+
+# If any nodes could not be reached, tell the user which ones.
+if [[ -s $unreachedNodes ]]
+then
+  # The following nodes could not be reached: . . .
+  printErrorMsg 270 $mmcmd
+  $cat $unreachedNodes 1>&2
+fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsetrcmd
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsetrcmd	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsetrcmd	(revision 16)
@@ -0,0 +1,448 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2001,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)97 1.23 src/avs/fs/mmfs/ts/admin/mmsetrcmd.sh, mmfs, avs_rgpfs24, rgpfs240610b 12/5/05 15:41:55
+##############################################################################
+#
+#  Usage:
+#    mmsetrcmd {[-r RemoteShellCommand] [-R RemoteFileCopyCommand]} [-f]
+#  or
+#    mmsetrcmd -C ClusterName
+#
+#  where:
+#
+#    -r remoteShellCommand     specifies the fully qualified pathname for
+#                              the remote shell program to be used by GPFS.
+#                              The default is /usr/bin/rsh.
+#
+#    -R remoteFileCopyCommand  specifies the fully qualified pathname for
+#                              the remote file copy program to be used
+#                              by GPFS.  The default is /usr/bin/rcp.
+#
+#    -f                  Force option.  Make the change only on the node on
+#                        which the command is executed.  Do not fail if the
+#                        local copy of /var/mmsdrfs cannot be refreshed.
+#                        This option is intended to be used on nodes that
+#                        were not available when the mmchcluster command
+#                        was executed.  The option is not documented.
+#
+#    -C ClusterName      specifies a new name for the cluster.  If the name
+#                        contains dots it is assumed to be a fully qualified
+#                        domain name.  Otherwise, the domain will default
+#                        to the domain of the primary configuration server.
+#
+##############################################################################
+
+# Include global declarations and service routines
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmsetrcmd.sh"
+[[ -n $DEBUG || -n $DEBUGmmsetrcmd ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local declarations
+
+usageMsg=425
+fflag=""
+rflag=""
+Rflag=""
+rarg=""
+Rarg=""
+rc=0
+
+
+# Local routines
+
+#####################################################################
+#
+# This function simulates the real gpfsInit and extracts the global
+# variable information from the local mmsdrfs file.  It is intended
+# for use when the real gpfsInit fails for some reason.
+#
+# Note: Locking makes no sense in this context.
+#
+#####################################################################
+function gpfsInit_Local
+{
+  typeset sourceFile="mmsetrcmd.sh"
+  [[ -n $DEBUG || -n $DEBUGgpfsInit_Local ]] && set -x
+  $mmTRACE_ENTER "$*"
+
+  typeset localGenNumber localGenTimestamp versionLine mmmode
+  typeset primaryServer backupServer gpfsObjectInfo
+  typeset sdrfsFormatLevel rshPath rcpPath environmentType
+
+
+  versionLine=$($head -1 $mmsdrfsFile)
+  IFS=':'
+  set -f ; set -A v -- - $versionLine ; set +f
+  IFS="$IFS_sv"
+
+  # Perform a quick sanity check.
+  [[ ${v[$LINE_TYPE_Field]} != $VERSION_LINE ]] && \
+    corruptedSdrFileExit 144 "$versionLine"
+
+  # Retrieve cluster environment information.
+  mmmode=${v[$CLUSTER_TYPE_Field]}
+  if [[ $mmmode != lc && $mmmode != single ]]
+  then
+    # Unknown GPFS execution environment
+    printErrorMsg 338 $mmcmd $mmmode
+    cleanupAndExit
+  fi
+
+  sdrfsFormatLevel=${v[$SDRFS_FORMAT_Field]}
+  localGenNumber=${v[$SDRFS_GENNUM_Field]}
+  gpfsObjectInfo="${sdrfsFormatLevel}:${localGenNumber}:"
+  primaryServer=${v[$PRIMARY_SERVER_Field]}
+  [[ -z $primaryServer ]] && primaryServer="_NOPRIMARY_"
+  backupServer=${v[$BACKUP_SERVER_Field]}
+  [[ -z $backupServer ]] && backupServer="_NOSECONDARY_"
+  localGenTimestamp=${v[$GENNUM_TSTAMP_Field]}
+  [[ -z $localGenTimestamp ]] && localGenTimestamp=0
+  rshPath=${v[$RSH_PATH_Field]}
+  [[ -z $rshPath ]] && rshPath="_DEFAULT_"
+  rcpPath=${v[$RCP_PATH_Field]}
+  [[ -z $rcpPath ]] && rcpPath="_DEFAULT_"
+  environmentType=${v[$CLUSTER_SUBTYPE_Field]}
+  [[ -z $environmentType ]] && environmentType=$mmmode
+  [[ $mmmode != $environmentType && $environmentType != lc2 ]] && \
+    environmentType="rpd"
+
+  # Make the mode value globally available
+  export MMMODE=$mmmode
+  export environmentType=$environmentType
+
+  # Export remote commands if necessary.
+  if [[ -n $rshPath && $rshPath != "_DEFAULT_" ]]
+  then
+    rsh="$rshPath"
+    export GPFS_rshPath="$rshPath"
+  fi
+  if [[ -n $rcpPath && $rcpPath != "_DEFAULT_" ]]
+  then
+    rcp="$rcpPath"
+    export GPFS_rcpPath="$rcpPath"
+  fi
+
+  # Locking does not work if we need this function.
+  sdrLocked=no
+
+  # Determine the local node data.  If file mmfsNodeData is
+  # missing, there is a need for manual intervention.
+  [[ ! -f $mmfsNodeData ]] && \
+    checkForErrors "gpfsInit_Local: Missing file $mmfsNodeData" 1
+  getLocalNodeData
+
+  print -- "$MMMODE $sdrLocked $HOME_CLUSTER $ourNodeNumber" \
+           "$gpfsObjectInfo $primaryServer $backupServer"    \
+           "$ourNodeName $rshPath $rcpPath $localGenNumber"  \
+           "$localGenTimestamp $environmentType"             \
+           "$ourShortName $sdrfsFormatLevel"
+  return 0
+
+}  #------------ end of function gpfsInit_Local ------------------------
+
+
+
+########################
+# Mainline processing
+########################
+
+
+#################################
+# Process the command arguments.
+#################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] && \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2  ]] && \
+  syntaxError "missingArgs" $usageMsg
+
+while getopts :C:fr:R: OPT
+do
+  case $OPT in
+
+    C) # cluster name
+       [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Cflag="-$OPT"
+       Carg=$OPTARG
+       ;;
+
+    f) # force flag
+       [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fflag="-$OPT"
+       ;;
+
+    r) # remote shell command
+       [[ -n $rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       rflag="-$OPT"
+       rarg=$OPTARG
+       [[ $rarg = ${rarg#/} ]] && \
+         syntaxError "absolutePath_2" $noUsageMsg "-$OPT" "$rarg"
+       [[ ! -x $rarg ]] && \
+         syntaxError "cannotOpenFile" $noUsageMsg "$OPTARG"
+       newRshPath=$rarg
+       ;;
+
+    R) # remote file copy command
+       [[ -n $Rflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Rflag="-$OPT"
+       Rarg=$OPTARG
+       [[ $Rarg = ${Rarg#/} ]] && \
+         syntaxError "absolutePath_2" $noUsageMsg "-$OPT" "$Rarg"
+       [[ ! -x $Rarg ]] && \
+         syntaxError "cannotOpenFile" $noUsageMsg "$OPTARG"
+       newRcpPath=$Rarg
+       ;;
+
+    +[CfrR]) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+
+    :) # Missing argument
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    *) # Invalid option
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+
+done
+
+# Complete the parameter checking.
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+#######################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of
+# the GPFS system files are up-to-date and will obtain the sdr lock.
+# If this process fails, and the -f flag is specified, ignore the
+# error and proceed anyway.
+#######################################################################
+trap pretrap HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit $lockId)
+rc=$?
+if [[ -z $fflag ]]
+then
+  setGlobalVar $rc $gpfsInitOutput
+elif [[ $rc -eq 0 ]]
+then
+  setGlobalVar $rc $gpfsInitOutput
+else
+  if [[ -f $mmsdrfsFile ]]
+  then
+    # gpfsInit failed but -f is specified.
+    # Parse the local mmsdrfs file to set up the global variables.
+    gpfsInitOutput=$(gpfsInit_Local nolock)
+    setGlobalVar $? $gpfsInitOutput
+  else
+    checkForErrors "Missing local file $mmsdrfsFile" $?
+  fi
+fi
+nodesetId=$nsId
+
+
+############################################################################
+# Make a new copy of the current mmsdrfs file with the appropriate changes.
+############################################################################
+$rm -f $newsdrfs $nodefile $tmpCfg
+IFS=":"         # Change the field separator to ':'.
+exec 3<&-
+exec 3< $mmsdrfsFile
+while read -u3 sdrfsLine
+do
+  # Parse the line.
+  set -f ; set -A v -- - $sdrfsLine ; set +f
+  IFS="$IFS_sv"
+  printLine=true
+
+  # Change some of the fields depending on the type of line.
+  case ${v[$LINE_TYPE_Field]} in
+
+    $VERSION_LINE )
+      # Increment the generation number if this is going
+      # to be a global change (-f flag is not specified).
+      if [[ -z $fflag ]]
+      then
+        newGenNumber=${v[$SDRFS_GENNUM_Field]}+1
+        v[$SDRFS_GENNUM_Field]=$newGenNumber
+      fi
+
+      # Change the remote commands as needed.
+      [[ -n $newRshPath ]] &&  \
+        v[$RSH_PATH_Field]=$newRshPath
+      [[ -n $newRcpPath ]] &&  \
+        v[$RCP_PATH_Field]=$newRcpPath
+
+      # Change the cluster name if asked.
+      if [[ -n $Cflag ]]
+      then
+        if [[ $Carg = "." ]]
+        then
+          clusterName=$primaryServer
+        elif [[ $Carg = *.* ]]
+        then
+          clusterName=$Carg
+        else
+          primaryServer=${v[$PRIMARY_SERVER_Field]}
+          clusterName=${Carg}.${primaryServer#*.}
+        fi
+        v[$CLUSTER_NAME_Field]=$clusterName
+        clusterId=${v[$CLUSTERID_Field]}
+      fi  # end if [[ -n $Cflag ]]
+      ;;
+
+    $MEMBER_NODE )
+      # Add the node's reliable name to the list of reliable names.
+      print -- "${v[$REL_HOSTNAME_Field]}" >> $nodefile
+      checkForErrors "writing to file $nodefile" $?
+      ;;
+
+    $MMFSCFG )
+      # If changing the cluster name, extract the mmfs.cfg data.
+      if [[ -n $Cflag ]]
+      then
+        # Remove the line from the mmsdrfs file for now.  The mmfs.cfg
+        # information will be added back before committing the changes.
+        printLine=false
+
+        # Extract the mmfs.cfg information.
+        # It is everything past the first 4 fields.
+        cfgLine="${v[5]}:${v[6]}:${v[7]}:${v[8]}:${v[9]}:${v[10]}:${v[11]}"
+        cfgLine="$cfgLine:${v[12]}:${v[13]}:${v[14]}:${v[15]}:${v[16]}"
+        cfgLine="$cfgLine:${v[17]}:${v[18]}:${v[19]}:${v[20]}:${v[21]}:${v[22]}"
+
+        # To preserve tabs, temporarily set IFS to new line only.
+        IFS="
+"
+        # Strip trailing colons and write the line to the file.
+        print -- "${cfgLine%%+(:)}" >> $tmpCfg
+        checkForErrors "writing to file $tmpCfg" $?
+        IFS="$IFS_sv"  # restore the default IFS settings
+      fi
+      ;;
+
+    * )
+      # If changing the cluster name, make sure we do not
+      # already have some remote cluster with the same name.
+      if [[ -n $Cflag && ${v[$NODESETID_Field]} = $clusterName ]]
+      then
+        print -u2 "$mmcmd: The name $clusterName is already in use."
+        # Command failed.
+        printErrorMsg 389 $mmcmd
+        cleanupAndExit
+      fi
+      ;;
+
+  esac  # end Change some of the fields
+
+  # Write the line to the new mmsdrfs file.
+  if [[ $printLine = true ]]
+  then
+    print_newLine >> $newsdrfs
+    checkForErrors "writing to file $newsdrfs" $?
+  fi
+
+  IFS=":"  # Change the separator back to ":" for the next iteration.
+
+done  # end while read -u3 sdrfsLine
+
+IFS="$IFS_sv"  # restore the default IFS settings
+
+
+###################################################################
+# If changing the cluster name, there are a few more things to do.
+###################################################################
+if [[ -n $Cflag ]]
+then
+  # Verify GPFS is stopped on all nodes.
+  printInfoMsg 339
+  verifyDaemonInactive $nodefile $mmcmd
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+  # Change the clusterName parameter in the mmfs.cfg file.
+  $mmfixcfg "clusterName" "$clusterName" <$tmpCfg >$newcfg
+  checkForErrors "mmfixcfg clusterName $clusterName" $?
+
+  # Ensure the clusterId parameter is in the mmfs.cfg file.
+  $mv $newcfg $tmpCfg
+  checkForErrors "mv $newcfg $tmpCfg" $?
+  $mmfixcfg "clusterId" "${clusterId#gpfs}" <$tmpCfg >$newcfg
+  checkForErrors "mmfixcfg clusterName $clusterName" $?
+
+  # Put the new version of mmfs.cfg back into the mmsdrfs file.
+  appendCfgFile $nodesetId $newcfg $newsdrfs
+  checkForErrors "appendCfgFile" $?
+
+  # Sort the new version of the mmsdrfs file.
+  LC_ALL=C $SORT_MMSDRFS $newsdrfs -o $newsdrfs
+  checkForErrors sort $?
+fi  # end if [[ -n $Cflag ]]
+
+##############################################################
+# If this is a local change only, copy the file and return.
+##############################################################
+if [[ -n $fflag ]]
+then
+  $mv $newsdrfs $mmsdrfsFile
+  checkForErrors "mv $newsdrfs $mmsdrfsFile" $?
+  cleanupAndExit 0
+fi
+
+
+#########################################################################
+# Put the new mmsdrfs file into the sdr.
+#########################################################################
+trap "" HUP INT QUIT KILL
+gpfsObjectInfo=$(commitChanges \
+   $HOME_CLUSTER $nsId $gpfsObjectInfo $newGenNumber $newsdrfs $primaryServer)
+rc=$?
+if [[ $rc -ne 0 ]]
+then
+  # Cannot replace file in the sdr
+  printErrorMsg 381 $mmcmd
+  cleanupAndExit
+fi
+
+
+########################################################################
+# Unlock the sdr.
+########################################################################
+[[ $sdrLocked = yes ]] && \
+  freeLockOnServer $primaryServer $ourNodeNumber > /dev/null
+sdrLocked=no
+trap posttrap HUP INT QUIT KILL
+
+
+#########################################################################
+# Asynchronously propagate the changes to all nodes.
+#########################################################################
+propagateSdrfsFile async $nodefile $newsdrfs $newGenNumber
+
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmshutdown
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmshutdown	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmshutdown	(revision 16)
@@ -0,0 +1,349 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 1999,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)13 1.3.3.20 src/avs/fs/mmfs/ts/admin/mmshutdown.sh, mmfs, avs_rgpfs24, rgpfs240610b 1/23/06 02:25:22
+##############################################################################
+#
+#  GPFS filesystems on the specified nodes will be unmounted and then
+#  the GPFS daemons on the specified nodes will be shut down.
+#
+#  Usage:
+#
+#    mmshutdown [ -t unmountTimeout ]
+#               [-a | -N {Node[,Node...] | NodeFile | NodeClass}]
+#
+#  where:
+#
+#    -t timeout    Will timeout the unmount command after this amount of time
+#                  and shut the GPFS daemons down anyway.
+#
+#    -a            Stop the daemon on all nodes in the GPFS cluster.
+#
+#    -N Node,Node,...  Specify the nodes to be shut down.
+#    -N NodeFile       NodeClass may be one of several possible node classes
+#    -N NodeClass      (e.g., quorumnodes, managernodes, nsdnodes, etc.)
+#
+#
+#  If not explicitly specified otherwise, the daemon is shut down on the local
+#  node only.
+#
+#
+#  Obsolete options:
+#
+#    -C NodesetId  Start the daemon on all nodes in the specified nodeset.
+#                  Assumed to be the same as -a.
+#
+#    -W NodeFile   Start the daemon on all nodes whose reliable hostnames
+#                  are listed one per line in NodeFilename.
+#                  Cannot be specified with -a, -N, -w, or -n.
+#
+#    -w nodenames  Start the daemon on all nodes whose reliable hostnames
+#                  are in the comma-separated nodenames list.
+#                  Cannot be specified with -a, -N or -W.
+#                  If both -w and -n are specified, the lists are combined.
+#
+#    -n nodenums   Start the daemon on all nodes whose node numbers are
+#                  in the comma-separated nodenums list.
+#                  Cannot be specified with -a, -N, or -W.
+#                  If both -w and -n are specified, the lists are combined.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmshutdown.sh"
+[[ -n $DEBUG || -n $DEBUGmmshutdown ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local variables
+usageMsg=246
+typeset -i maxTimeout=900
+typeset -i timeout=0
+typeset -i nodes=0
+rc=0
+
+
+#######################
+# Mainline processing
+#######################
+
+
+##################################
+# Process each of the arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+while getopts :aC:n:N:t:W:w: OPT
+do
+  case $OPT in
+
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag="-$OPT"
+       [[ -n $Cflag || -n $Wflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $aflag $Cflag $Wflag $wflag $nflag $Nflag
+       callGpfsInit=yes
+       ;;
+
+    C) # syntaxError "obsoleteOption" $usageMsg "-$OPT"
+       [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Cflag="-$OPT"
+       nodesetId="$OPTARG"
+       [[ -n $aflag || -n $Wflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Cflag $aflag $Wflag $wflag $nflag $Nflag
+       callGpfsInit=yes
+       ;;
+
+    n) [[ -n $nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nflag="-$OPT"
+       nodenums="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $nflag $Cflag $Wflag $aflag $Nflag
+       callGpfsInit=yes
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $nflag || -n $wflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Nflag $Cflag $Wflag $aflag $nflag $wflag
+       callGpfsInit=yes
+       ;;
+
+    t) [[ -n $tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       tflag="-$OPT"
+       timeout=$(checkIntRange $tflag $OPTARG)
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    W) [[ -n $Wflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Wflag="-$OPT"
+       Wcoll="$OPTARG"
+       [[ -n $Cflag || -n $aflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Wflag $Cflag $aflag $wflag $nflag $Nflag
+       ;;
+
+    w) [[ -n $wflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       wflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $wflag $Cflag $Wflag $aflag $Nflag
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[aCnNtwW])
+       syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done  # end of while getopts :aC:n:N:t:W:w: OPT do
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# Rather than fail, convert the obsolete -C option to -a.
+[[ -n $Cflag ]] && aflag="-a"
+
+
+###########################################################################
+# Set up trap exception handling and call the gpfsInit function if needed.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+# Note: There is no need to call gpfsInit if we are trying to quickly
+#       shut down the daemon on the local node only.
+###########################################################################
+trap pretrap2 HUP INT QUIT KILL
+if [[ -n $callGpfsInit ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+#######################################################
+# Create a file containing all of the specified nodes.
+#######################################################
+if [[ -n $aflag ]]
+then
+  # Get a list of the nodes.
+  getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+elif [[ -n $Nflag ]]
+then
+  # Convert the passed data into a file containing admin node names.
+  createVerifiedNodefile $nodenames $REL_HOSTNAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+elif [[ -n $Wflag ]]
+then
+  # Verify the input file is readable.
+  if [[ ! -f $Wcoll || ! -r $Wcoll ]]
+  then
+    printErrorMsg 43 $mmcmd $Wcoll
+    cleanupAndExit
+  fi
+
+  # Filter out comment lines and localhost entries.
+  $grep -v -e "localhost" -e "^#" "$Wcoll" > $tmpfile
+
+  # Convert any entries in the node file into admin node names.
+  if [[ -s $tmpfile ]]
+  then
+    createVerifiedNodefile $tmpfile $REL_HOSTNAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  else
+    # No node names were specified.
+    printErrorMsg 328 $mmcmd $Wcoll
+    cleanupAndExit
+  fi
+
+else
+  # Either no option was specified, or we have some combination of -w and -n.
+
+  # Convert the node names list (if any) into a file.
+  $rm -f $tmpfile
+  if [[ -n $nodenames ]]
+  then
+    for i in $(print $nodenames | $tr "," " ")
+    do
+      print -- "$i" >> $tmpfile
+    done
+  fi
+
+  # Append the node number list (if any) to the node file.
+  if [[ -n $nodenums ]]
+  then
+    for i in $(print $nodenums | $tr "," " ")
+    do
+      print -- "$i" >> $tmpfile
+    done
+  fi
+
+  # Convert the entries in the node file into admin node names.
+  if [[ -s $tmpfile ]]
+  then
+    createVerifiedNodefile $tmpfile $REL_HOSTNAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi
+
+fi  # end of if [[ -n $aflag ]]
+
+# Determine the number of nodes that are affected by the command.
+[[ -s $nodefile ]] && nodes=$($cat $nodefile | $wc -l)
+
+# If a timeout value was not set, estimate one.
+if [[ $timeout = 0 ]]
+then
+  (( timeout = 60 + 3 * nodes ))
+  [[ $nodes -gt 500 ]] &&  \
+    (( maxTimeout = maxTimeout + nodes / 500 * 300 ))
+  [[ $timeout -gt $maxTimeout ]] && timeout=$maxTimeout
+fi
+
+# Ensure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+
+################################
+# Unmount the GPFS filesystems.
+################################
+
+# Starting force unmount ...
+printInfoMsg 241 "$(date)" $mmcmd
+
+if [[ ! -s $nodefile ]]
+then
+  # Unmount the gpfs file systems on the local node only.
+  $mmremote unmountFileSystems all -f  &
+  pid=$!
+else
+  # Unmount the gpfs file systems on a number of nodes.
+  $mmcommon onall $nodefile $unreachedNodes unmountFileSystems all -f  &
+  pid=$!
+fi
+
+# Wait until the unmount command finishes or the timeout expires.
+waited=0
+mincount=0
+retrydelay=5
+while [[ $waited -lt $timeout ]]
+do
+  $sleep $retrydelay
+  (( waited = waited + retrydelay ))
+  (( mincount = mincount + retrydelay ))
+
+  if ! kill -0 $pid 2>/dev/null
+  then
+    # unmount finished.
+    waited=-1
+    break
+  fi
+
+  if [[ $mincount -ge 60 ]]
+  then
+    (( togo = timeout - waited ))
+    mincount=0
+    printInfoMsg 242 "$(date)" $mmcmd $waited $togo
+  fi
+done  # while [[ $waited -lt $timeout ]]
+
+# Inform the user if the unmount did not finish.
+[[ $waited -gt 0 ]] &&  \
+  printInfoMsg 243 "$(date)" $mmcmd $waited
+
+
+##############################
+# Shut down the GPFS daemons.
+##############################
+printInfoMsg 244 "$(date)" $mmcmd
+
+if [[ ! -s $nodefile ]]
+then
+  # Shut down GPFS on the local node only.
+  $mmremote shutdownDaemon
+  rc=$?
+else
+  # Shut down GPFS on a number of nodes.
+  $mmcommon onall $nodefile $unreachedNodes shutdownDaemon
+  rc=$?
+fi
+
+# If any nodes could not be reached, tell the user which ones.
+if [[ -s $unreachedNodes ]]
+then
+  # The following nodes could not be reached: . . .
+  printErrorMsg 270 $mmcmd
+  $cat $unreachedNodes 1>&2
+fi
+
+# All finished.
+printInfoMsg 245 "$(date)" $mmcmd
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsnapdir
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsnapdir	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsnapdir	(revision 16)
@@ -0,0 +1,211 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2003,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)34 1.14 src/avs/fs/mmfs/ts/admin/mmsnapdir.sh, mmfs, avs_rgpfs24, rgpfs240610b 3/22/05 13:20:50
+#######################################################################
+#
+#  Usage:
+#    mmsnapdir Device {-r | [-a] [-s SnapDirName]}
+#      or
+#    mmsnapdir Device [-q]
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmsnapdir.sh"
+[[ -n $DEBUG || -n $DEBUGmmsnapdir ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=566
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+argList=$@       # Save the remainder of the argument list.
+
+
+###################################
+# Set up trap exception handling.
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+####################################
+# Make sure the file system exists.
+####################################
+# If the invocation is not for an explicitly-remote device, obtain the
+# needed information about the filesystem from the mmsdrfs file.
+if [[ $device != *:* ]]
+then
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+  remoteDevice=$4
+
+  # If this is a remote file system, set fqDeviceName appropriately.
+  [[ $fsHomeCluster != $HOME_CLUSTER ]] &&  \
+    fqDeviceName="$fsHomeCluster:/dev/$remoteDevice"
+else
+  fqDeviceName=$device
+  deviceName=${fqDeviceName##*:}
+  fsHomeCluster=${fqDeviceName%%:*}
+  remoteDevice=$deviceName
+fi
+
+# If this is a remote file system, only the query option is allowed.
+if [[ $fsHomeCluster != $HOME_CLUSTER && $arg2 != "-q" ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+
+########################################################################
+# Invoke the command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the file system is remote
+#   - we are not running as UID 0
+#   - this is a single node cluster
+########################################################################
+${mmcmdDir}/${links}/mmsnapdir $fqDeviceName $argList 2>$errMsg
+rc=$(remapRC $?)
+if [[ ($rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+      $fsHomeCluster != $HOME_CLUSTER                    ||
+      $ourUid -ne 0                                      ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_FsNotFound ]]
+  then
+    if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+    then
+      # The remote cluster does not know anything about this file system.
+      printErrorMsg 108 $mmcmd $remoteDevice $fsHomeCluster
+    else
+      # Unexpected error.
+      printErrorMsg 171 $mmcmd "file system $deviceName not found" $rc
+    fi
+  elif [[ $rc -eq $MM_Remotefs && $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # The file system is not owned by the remote cluster.
+    [[ $device != *:* ]] &&  \
+      printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+    printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+  elif [[ ($rc -eq $MM_HostDown    ||
+           $rc -eq $MM_TimedOut    ||
+           $rc -eq $MM_SecurityCfg ||
+           $rc -eq $MM_AuthorizationFailed ||
+           $rc -eq $MM_UnknownCluster)    &&
+          $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Failed to connect to the remote cluster.
+    [[ $rc -eq $MM_SecurityCfg ]] &&  \
+      printErrorMsg 150 $mmcmd
+    [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+      printErrorMsg 151 $mmcmd
+    printErrorMsg 105 $mmcmd $fsHomeCluster
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    if [[ -s $errMsg ]]
+    then
+      # Show the error messages from the daemon.
+      $cat $errMsg 1>&2
+    elif [[ $rc -ne 0 ]]
+    then
+      # tssnapdir failed.
+      printErrorMsg 104 "$mmcmd" "tssnapdir $fqDeviceName"
+    else
+      :  # The command must have worked.
+    fi
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+#########################################################################
+# We come here if the command was invoked for a local file system but
+# the local daemon is not available; send the command to an active node.
+#########################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile mmsnapdir $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsnaplatest
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsnaplatest	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmsnaplatest	(revision 16)
@@ -0,0 +1,211 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2002,2005 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)56 1.14 src/avs/fs/mmfs/ts/admin/mmsnaplatest.sh, mmfs, avs_rgpfs24, rgpfs240610b 3/22/05 13:20:55
+#######################################################################
+#
+#  Usage:  mmsnaplatest Device [-q | -d | -s snapLatestName]
+#
+#######################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+if [[ $ourUid -eq 0 ]]
+then
+  . /usr/lpp/mmfs/bin/mmsdrfsdef
+  . /usr/lpp/mmfs/bin/mmfsfuncs
+fi
+
+sourceFile="mmsnaplatest.sh"
+[[ -n $DEBUG || -n $DEBUGmmsnaplatest ]] && set -x
+$mmTRACE_ENTER "$*"
+
+usageMsg=555
+integer rc=0
+integer nodeCount=0
+
+
+#####################################################################
+# Process the command arguments.
+# The detailed syntax checking is left for the ts command.
+# Here we make sure that we have the minimum needed to continue.
+#####################################################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+device=$arg1     # Save stripe group device (always the first parameter).
+shift 1          # Drop the device name from the parameter list.
+argList=$@       # Save the remainder of the argument list.
+
+
+###################################
+# Set up trap exception handlin.g
+###################################
+trap pretrap2 HUP INT QUIT KILL
+
+
+####################################################################
+# If invoked by a root user, call the gpfsInit function to ensure
+# that the local copy of the mmsdrfs file and the rest of the GPFS
+# system files are up-to-date.  There is no need to lock the sdr.
+# Non-root users are not allowed to invoke commands on other nodes.
+####################################################################
+if [[ $ourUid -eq 0 ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+####################################
+# Make sure the file system exists.
+####################################
+# If the invocation is not for an explicitly-remote device, obtain the
+# needed information about the filesystem from the mmsdrfs file.
+if [[ $device != *:* ]]
+then
+  findFSoutput=$(findFS "$device" $mmsdrfsFile)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+  remoteDevice=$4
+
+  # If this is a remote file system, set fqDeviceName appropriately.
+  [[ $fsHomeCluster != $HOME_CLUSTER ]] &&  \
+    fqDeviceName="$fsHomeCluster:/dev/$remoteDevice"
+else
+  fqDeviceName=$device
+  deviceName=${fqDeviceName##*:}
+  fsHomeCluster=${fqDeviceName%%:*}
+  remoteDevice=$deviceName
+fi
+
+
+# If this is a remote file system, only the query option is allowed.
+# Note: If no options are specified, -q is assumed.
+if [[ $fsHomeCluster != $HOME_CLUSTER && $argc -gt 1 && $arg2 != "-q" ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit 1
+fi
+
+
+########################################################################
+# Invoke the command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the file system is remote
+#   - we are not running as UID 0
+#   - this is a single node cluster
+########################################################################
+${mmcmdDir}/${links}/mmsnaplatest $fqDeviceName $argList 2>$errMsg
+rc=$(remapRC $?)
+if [[ ($rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait) ||
+      $fsHomeCluster != $HOME_CLUSTER                    ||
+      $ourUid -ne 0                                      ||
+      $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_FsNotFound ]]
+  then
+    if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+    then
+      # The remote cluster does not know anything about this file system.
+      printErrorMsg 108 $mmcmd $remoteDevice $fsHomeCluster
+    else
+      # Unexpected error.
+      printErrorMsg 171 $mmcmd "file system $deviceName not found" $rc
+    fi
+  elif [[ $rc -eq $MM_Remotefs && $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # The file system is not owned by the remote cluster.
+    [[ $device != *:* ]] &&  \
+      printErrorMsg 111 $mmcmd $device $remoteDevice $fsHomeCluster
+    printErrorMsg 112 $mmcmd $remoteDevice $fsHomeCluster
+  elif [[ ($rc -eq $MM_HostDown    ||
+           $rc -eq $MM_TimedOut    ||
+           $rc -eq $MM_SecurityCfg ||
+           $rc -eq $MM_AuthorizationFailed ||
+           $rc -eq $MM_UnknownCluster)    &&
+          $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Failed to connect to the remote cluster.
+    [[ $rc -eq $MM_SecurityCfg ]] &&  \
+      printErrorMsg 150 $mmcmd
+    [[ $rc -eq $MM_AuthorizationFailed ]] &&  \
+      printErrorMsg 151 $mmcmd
+    printErrorMsg 105 $mmcmd $fsHomeCluster
+  elif [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    if [[ -s $errMsg ]]
+    then
+      # Show the error messages from the daemon.
+      $cat $errMsg 1>&2
+    elif [[ $rc -ne 0 ]]
+    then
+      # tssnaplatest failed.
+      printErrorMsg 104 "$mmcmd" "tssnaplatest $fqDeviceName"
+    else
+      :  # The command must have worked.
+    fi
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+#########################################################################
+# We come here if the command was invoked for a local file system but
+# the local daemon is not available; send the command to an active node.
+#########################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+nodeCount=$(getNodeFile $REL_HOSTNAME_Field $fsHomeCluster $mmsdrfsFile $nodefile)
+if [[ $nodeCount -eq 0 ]]
+then
+  # The cluster is empty; there is nobody to run the command.
+  printErrorMsg 171 $mmcmd "getNodeFile (nodeCount=0)" 1
+  cleanupAndExit
+fi
+
+# Try the nodes one by one until you find a node that can execute the command.
+preferredNode=0     # We have no idea where to go first; let mmcommon decide.
+$mmcommon linkCommand $preferredNode $nodefile  \
+    mmsnaplatest $fqDeviceName $argList
+rc=$?
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmstartup
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmstartup	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmstartup	(revision 16)
@@ -0,0 +1,429 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)78 1.32.1.2 src/avs/fs/mmfs/ts/admin/mmstartup.sh, mmfs, avs_rgpfs24, rgpfs24s003a 5/26/06 09:48:07
+##############################################################################
+#
+#  The GPFS daemons on the specified nodes will be started.
+#
+#  Usage:
+#
+#    mmstartup [-a | -N {Node[,Node...] | NodeFile | NodeClass}]
+#              [-E EnvVar=Value...] [ -T ]
+#
+#  where:
+#
+#    -a            Start the daemon on all nodes in the GPFS cluster.
+#
+#    -N Node,Node,...  Specify the nodes on which the daemon is to be started.
+#    -N NodeFile       NodeClass may be one of several possible node classes
+#    -N NodeClass      (e.g., quorumnodes, managernodes, nsdnodes, etc.)
+#
+#    -E EnvVar=Value  Specify an environment variable to be passed to the GPFS
+#                     daemon.  More than one -E option can be specified.
+#
+#    -T            start tracing at daemon startup and cut a trace report
+#                  at daemon shutdown
+#
+#
+#  If not explicitly specified otherwise, the daemon is started on the local
+#  node only.
+#
+#
+#  Undocumented options:
+#
+#    -e seconds    Estimated startup time (in seconds).  During this time
+#                  period, the mmsdrfs file is guaranteed not to change.
+#                  Specifying a value of 0 disables the locking that would
+#                  otherwise take place for large non-sp clusters.
+#
+#    -f            Force the loading of the kernel extensions (Linux only).
+#
+#    -G            Force trace records to be cut on all nodes when there is
+#                  a daemon failure on some node.
+#
+#    -t {yes|traceFile}  Start the mm commands tracing facility.  If traceFile
+#                   is specified, it must be a fully qualified pathname.
+#                   Otherwise, the trace results are appended to file
+#                   /tmp/mmfs/mmScriptTrace.
+#
+#
+#  Obsolete options:
+#
+#    -C NodesetId  Start the daemon on all nodes in the specified nodeset.
+#                  Assumed to be the same as -a.
+#
+#    -W NodeFile   Start the daemon on all nodes whose reliable hostnames
+#                  are listed one per line in NodeFilename.
+#                  Cannot be specified with -a, -N, -w, or -n.
+#
+#    -w nodenames  Start the daemon on all nodes whose reliable hostnames
+#                  are in the comma-separated nodenames list.
+#                  Cannot be specified with -a, -N or -W.
+#                  If both -w and -n are specified, the lists are combined.
+#
+#    -n nodenums   Start the daemon on all nodes whose node numbers are
+#                  in the comma-separated nodenums list.
+#                  Cannot be specified with -a, -N, or -W.
+#                  If both -w and -n are specified, the lists are combined.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmstartup.sh"
+[[ -n $DEBUG || -n $DEBUGmmstartup ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local variables
+
+usageMsg=391
+typeset -i timeout=0
+typeset -i nodes=0
+rc=0
+nodenames=""
+nodenums=""
+wcoll=""
+aflag=""
+Cflag=""
+eflag=""
+Eflag=""
+Estring=""
+fflag=""
+Gflag=""
+nflag=""
+Nflag=""
+Tflag=""
+tflag=""
+Wflag=""
+wflag=""
+nodeList=""
+
+
+
+#######################
+# Mainline processing.
+#######################
+
+
+##################################
+# Process each of the arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+while getopts :aC:e:E:fGn:N:t:Tw:W: OPT
+do
+  case $OPT in
+
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag="-$OPT"
+       [[ -n $Cflag || -n $Wflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $aflag $Cflag $Wflag $wflag $nflag $Nflag
+       ;;
+
+    C) # syntaxError "obsoleteOption" $usageMsg "-$OPT"
+       [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Cflag="-$OPT"
+       nodesetId="$OPTARG"
+       [[ -n $aflag || -n $Wflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Cflag $aflag $Wflag $wflag $nflag $Nflag
+       ;;
+
+    e) [[ -n $eflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       eflag="-$OPT"
+       estimatedStartupTime=$(checkIntRange estimatedStartupTime "$OPTARG")
+       [[ $? -ne 0 ]] && cleanupAndExit
+       ;;
+
+    E) # more than one -E option is allowed
+       envString="${envString} -$OPT $OPTARG"
+       ;;
+
+    f) [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fflag="-$OPT"
+       [[ $osName != Linux ]] && syntaxError "invalidOption" $usageMsg "-$OPT"
+       ;;
+
+    G) [[ -n $Gflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Gflag="-$OPT"
+       ;;
+
+    n) [[ -n $nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       nflag="-$OPT"
+       nodenums="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $nflag $Cflag $Wflag $aflag $Nflag
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $nflag || -n $wflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Nflag $Cflag $Wflag $aflag $nflag $wflag
+       ;;
+
+    t) [[ -n $tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       tflag="-$OPT $OPTARG"
+       ;;
+
+    T) [[ -n $Tflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Tflag="-$OPT"
+       ;;
+
+    w) [[ -n $wflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       wflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $Cflag || -n $Wflag || -n $aflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $wflag $Cflag $Wflag $aflag $Nflag
+       ;;
+
+    W) [[ -n $Wflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Wflag="-$OPT"
+       wcoll="$OPTARG"
+       [[ -n $Cflag || -n $aflag || -n $wflag || -n $nflag || -n $Nflag ]] &&  \
+         syntaxError "invalidCombination"  \
+           $usageMsg $Wflag $Cflag $aflag $wflag $nflag $Nflag
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[aCeEfnNtTwW])
+       syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# Rather than fail, convert the obsolete -C option to -a.
+[[ -n $Cflag ]] && aflag="-a"
+
+
+########################################################################
+# Set up trap exception handling and call the gpfsInit function.
+# It will ensure that the local copy of the mmsdrfs and the rest of the
+# GPFS system files are up-to-date.  There is no need to lock the sdr.
+########################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+#######################################################
+# Create a file containing all of the specified nodes.
+#######################################################
+if [[ -n $aflag ]]
+then
+  # Get a list of the nodes.
+  getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+elif [[ -n $Nflag ]]
+then
+  # Convert the passed data into a file containing admin node names.
+  createVerifiedNodefile $nodenames $REL_HOSTNAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+elif [[ -n $Wflag ]]
+then
+  # Verify the input file is readable.
+  if [[ ! -f $Wcoll || ! -r $Wcoll ]]
+  then
+    printErrorMsg 43 $mmcmd $Wcoll
+    cleanupAndExit
+  fi
+
+  # Filter out comment lines and localhost entries.
+  $grep -v -e "localhost" -e "^#" "$Wcoll" > $tmpfile
+
+  # Convert any entries in the node file into admin node names.
+  if [[ -s $tmpfile ]]
+  then
+    createVerifiedNodefile $tmpfile $REL_HOSTNAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  else
+    # No node names were specified.
+    printErrorMsg 328 $mmcmd $Wcoll
+    cleanupAndExit
+  fi
+
+else
+  # Either no option was specified, or we have some combination of -w and -n.
+
+  # Convert the node names list (if any) into a file.
+  $rm -f $tmpfile
+  if [[ -n $nodenames ]]
+  then
+    for i in $(print $nodenames | $tr "," " ")
+    do
+      print -- "$i" >> $tmpfile
+    done
+  fi
+
+  # Append the node number list (if any) to the node file.
+  if [[ -n $nodenums ]]
+  then
+    for i in $(print $nodenums | $tr "," " ")
+    do
+      print -- "$i" >> $tmpfile
+    done
+  fi
+
+  # Convert the entries in the node file into admin node names.
+  if [[ -s $tmpfile ]]
+  then
+    createVerifiedNodefile $tmpfile $REL_HOSTNAME_Field no $nodefile
+    [[ $? -ne 0 ]] && cleanupAndExit
+  fi
+
+fi  # end of if [[ -n $aflag ]]
+
+
+# Ensure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+
+##############################################################
+# If starting GPFS on a large number of nodes, lock the sdr.
+# The goal is to prevent the config data from changing and to
+# inform the rest of the nodes that they can trust their data
+# without having to check with the server nodes first.
+##############################################################
+[[ -s $nodefile ]] && nodes=$($cat $nodefile | $wc -l)
+if [[ -z $eflag && $nodes -gt 32 ||
+      -n $eflag && $estimatedStartupTime -gt 0 ]]
+then
+  # If the estimated startup time is given by the user,
+  # use the value from the command line.  Otherwise, pick
+  # a number based on the number of nodes to start.
+  if [[ -z $eflag ]]
+  then
+    if [[ $nodes -lt 128 ]]
+    then
+      estimatedStartupTime=90
+    elif [[ $nodes -lt 256 ]]
+    then
+      estimatedStartupTime=150
+    else
+      estimatedStartupTime=240
+    fi
+
+    # Add additional time for each file system that will be mounted.
+    fsToMount=$($cat $startupMountFile 2>/dev/null | $wc -l )
+    [[ $fsToMount -gt 0 ]] &&  \
+      (( estimatedStartupTime = estimatedStartupTime + 10 * $fsToMount ))
+  fi  # end of if [[ -z $eflag ]]
+
+  # Create a special lock id.
+  expLockId="mmSdrLockExp:$ourNodeName:$estimatedStartupTime"
+
+  # Try to obtain the sdr lock.
+  gpfsInitOutput=$(gpfsInit $expLockId 2>/dev/null)
+  rc=$?
+  if [[ $rc -eq 0 ]]
+  then
+    # We got the lock.  Parse the output to get the latest
+    # generation number and corresponding timestamp.
+    setGlobalVar $rc $gpfsInitOutput
+
+    # Create the expiration token to be passed to the nodes.
+    currentTime=$($perl -e 'print time')
+    (( expirationTime = currentTime + estimatedStartupTime ))
+    expirationData="mmSdrLockExp:$sdrGenNumber:$sdrGenTimestamp:$expirationTime"
+
+    # Start the background process that will free the lock.
+    # Reset the sdrLocked var to prevent the unlocking that
+    # would otherwise take place as part of cleanupAndExit.
+    sdrLocked=no
+    $mmcommon expirationDataCleanup $expirationData unlock >/dev/null 2>&1 &
+
+    # Add an option letter in front of the string.
+    expirationData="-e $expirationData"
+
+  else
+    # gpfsInit failed and we did not get the lock.
+    # Ignore the error and continue with the regular processing.
+    expirationData=""
+  fi  # end of if [[ $rc -eq 0 ]]
+
+else
+  # Do not do anything special if starting just a few nodes,
+  # or the user explicitly requested no locking (-e 0 on the command line).
+  expirationData=""
+fi  # end of if [[ $nodes -gt 32 ]]
+
+
+####################################################################
+# If daemon tracing is specified, decide what its scope should be.
+####################################################################
+if [[ -n $Tflag ]]
+then
+  if [[ -n $Gflag ]]
+  then
+    Tflag="-T global"
+  else
+    Tflag="-T local"
+  fi
+elif [[ -n $Gflag ]]
+then
+  Tflag="-T global"
+else
+  Tflag=""
+fi  # end of if [[ -n $Tflag ]]
+
+
+############################################
+# Start GPFS daemon on the specified nodes.
+############################################
+
+# Starting GPFS ...
+printInfoMsg 392 "$(date)" $mmcmd
+
+if [[ ! -s $nodefile ]]
+then
+  # The request is to start the local daemon only.
+  $mmremote startSubsys $fflag $Tflag $tflag $envString
+  rc=$?
+else
+  # The request is to start the daemon on a number of nodes.
+  $mmcommon onall $nodefile $unreachedNodes  \
+    startSubsys $expirationData $fflag $Tflag $tflag $envString
+  rc=$?
+fi
+
+# If any nodes could not be reached, tell the user which ones.
+if [[ -s $unreachedNodes ]]
+then
+  # The following nodes could not be reached: . . .
+  printErrorMsg 270 $mmcmd
+  $cat $unreachedNodes 1>&2
+fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmtrace
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmtrace	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmtrace	(revision 16)
@@ -0,0 +1,577 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2006,2007 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)28	1.29.1.1  src/avs/fs/mmfs/ts/admin/mmtrace.sh, mmfs, avs_rgpfs24, rgpfs24s010a 2/1/07 12:58:58
+###########################################################################
+#
+# Script to gather GPFS traces for debugging purposes.
+#
+# Syntax: mmtrace [start | stop] [noformat | formatall] [tail | head | cont] [dispatch]
+#                 [trace={io | all | def | same}]
+#                 [trace="trace_class level [trace_class level ...]"]
+#
+# Normal use is to issue "mmtrace" to start trace, rerun failure scenario,
+# then issue "mmtrace stop" when failure event occurs.  If the problem
+# is a daemon failure then "mmtrace stop" can be called from the runmmfs
+# script to capture the event and stop trace before the daemon starts up
+# again.  If the problem is a daemon failure during startup, use the -T
+# option on the mmstartup command.
+#
+# "mmtrace" with no trace arguments can be used to start/restart the trace
+# without modifing the existing trace level settings. "mmfsadm showtrace"
+# will show the current level settings. A set of trace levels can be set
+# permanently using
+#   "mmchconfig trace="trace_class level [trace_class level ...]"
+# These will be the default trace levels whenever the GPFS daemon starts,
+# but will not actually produce traces until mmtrace is run to start the
+# AIX trace or the Linux lxtrace command.
+#
+# "mmtrace io" can be used to trace a minimal set of operations that
+# show application requests to GPFS and the resulting disk IO.
+#
+# "mmtrace all" can be used to trace all GPFS traces at level 9,
+# plus all AIX traces (if running on AIX).
+#
+# "mmtrace def" can be used to trace a generic set of GPFS trace levels.
+#
+# "mmtrace same" will not change the GPFS trace levels.
+#
+# See "Modifiable trace levels" at the end of the script if the default
+# traces need to be changed.
+#
+# The "noformat" option can be used to just keep the raw unformatted
+# trcfiles and not spend CPU cycles formatting them into trcrpts while
+# doing some other tests.
+#
+# The "formatall" option can be used to have this script format all the raw
+# trcfiles it finds in the TRCDIR directory (presumably left there by
+# previous mmtrace calls that had the "noformat" option specified.)
+# "formatall" implies "stop" if no other parameter specified.
+#
+# Note that a new trace report is produced each time this script is run.
+# Also, in the AIX environment, system trace is stopped and started
+# regardless of whether it was originally initiated by this script.
+# As a result, this script should be used carefully and generally only
+# at the direction of IBM service for the purposes of debugging GPFS.
+#
+# Trace output is captured to the directory specified by TRCDIR below
+# which by default is /tmp/mmfs.
+#
+###########################################################################
+#
+# Include global declarations and service routines
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmtrace.sh"
+[[ -n $DEBUG || -n $DEBUGmmtrace ]] && set -x
+
+# Local routines
+
+####################################################################
+#
+# Function:  Locate the active dataStructureDump mmfs.cfg entry 
+#            for the local node, specified by its short name.
+#
+#
+# Input:     nodename -- Local host short name
+# Output:    Value of active dataStructureDump, empty if no
+#            stanza located.
+#
+####################################################################
+function getDataDumpDir
+{
+  value=$(perl -e '
+    # Open mmfs.cfg for processing
+    open(MMFSCFG, $ARGV[0]) or exit;
+
+    # Host short name
+    $hosts = $ARGV[1];
+
+    # Obtain interface info for specified node
+    ($name, $aliases, $addrtype, $length, @addrs) = gethostbyname $hosts;
+
+    # Combine short/long hostnames and any aliases
+    $hosts = join(" ", $hosts, $name, $aliases);
+
+    # Empty dataDumpDir
+    undef $dataDumpDir;
+
+    # Process each line of file (common stanzas first)
+    $this_node = true;
+    LINE: while ($line = <MMFSCFG>)
+    {
+      # Skip comment/blank lines
+      next LINE if $line =~ m/^ *#/;
+      next LINE if $line =~ m/^ *$/;
+
+      chomp($line);
+      if ($line =~ /^ *\[(.*)\]/)
+      {
+        # Node specific stanzas --> search node list (brackets stripped)
+        $this_node = false;
+        foreach $node (split(",", $1))
+        {
+          if ($node eq "common")
+          {
+            # Common stanza --> applies to all nodes
+            $this_node = true;
+            last;
+          }
+          else
+          {
+            # Node(s) specific stanza
+            foreach $host (split(" ", $hosts))
+            {
+              if ($node eq $host)
+              {
+                # Node stanza located
+                $this_node = true;
+                last;
+              }
+            }
+          }
+        }
+      }
+      elsif (($line =~ s/^ *dataStructureDump *//) && ($this_node eq true))
+      {
+        # Node specific dataStructureDump attribute --> set value
+        $dataDumpDir = $line;
+      }
+    }
+
+    # Close mmfs.cfg and return result via print
+    close(MMFSCFG);
+    print $dataDumpDir;
+  ' $mmfscfgFile $1)
+
+  # Return the result
+  print -- "$value"
+  return 0
+} #------------- end of function getDataDumpDir ------------------
+
+####################################################################
+#
+# Function:  Stop the currently running trace, if any.
+#            If trace was running then move the raw trace file
+#            to the output directory and produce a trace report.
+#            The report is run in the background to avoid delays
+#            in starting GPFS.
+#
+####################################################################
+function stopTrace
+{
+  typeset sourceFile="mmtrace.sh"
+  [[ -n $DEBUG || -n $DEBUGstopTrace ]] && set -x
+
+  if [[ $osName = AIX ]]
+  then
+    # Stop the current trace
+    $trcstop >/dev/null 2>&1
+    if [[ $? -eq 0 ]]
+    then
+      $mv $RUNTRCFILE $TRCFILE
+      if [[ $? = 0 ]]
+      then
+        print -- "$mmcmd: move $RUNTRCFILE $TRCFILE"
+      else
+        # tracing may have been going to default trcfile
+        $mv /var/adm/ras/trcfile $TRCFILE
+        if [[ $? = 0 ]]
+        then
+          print -- "$mmcmd: move /var/adm/ras/trcfile $TRCFILE"
+        else
+          # mv command failed
+          printErrorMsg 104 "$mmcmd" "mv $RUNTRCFILE $TRCFILE"
+          [[ $trace_format != "formatall" ]] && cleanupAndExit
+        fi
+      fi
+      sync
+    fi
+    if [[ $trace_format = "formatall" ]]
+    then
+      for TRCFILE in $TRCPREF.*
+      do
+        TRCRPTFILE=$TRCRPTPREF.${TRCFILE#$TRCPREF.}
+         # Start formating trcfiles, one at a time
+        print -- "$mmcmd: formatting $TRCFILE to $TRCRPTFILE"
+        $trcrpt -O tid=on${trace_dispatch} -t $TRCRPTFMTAIX -o $TRCRPTFILE $TRCFILE && \
+          sync && $rm $TRCFILE
+      done
+    elif [[ -f $TRCFILE && $trace_format != "noformat" ]]
+    then
+      # Start formating the file in the background
+      TRCRPTFILE=$TRCRPTPREF.${TRCFILE#$TRCPREF.}
+      print -- "$mmcmd: formatting $TRCFILE to $TRCRPTFILE"
+      ($trcrpt -O tid=on${trace_dispatch} -t $TRCRPTFMTAIX -o $TRCRPTFILE $TRCFILE && \
+         sync && $rm $TRCFILE; ) &
+    fi
+
+  elif [[ $osName = Linux ]]
+  then
+    # Stop the current trace
+    $lxtrace off >/dev/null 2>&1
+    if [[ $? -eq 0 ]]
+    then
+      $mv $RUNTRCFILE $TRCFILE
+      if [[ $? = 0 ]]
+      then
+        print -- "$mmcmd: move $RUNTRCFILE $TRCFILE"
+      else
+        # tracing may have been going to default trcfile
+        $mv /tmp/lxtrace.trc $TRCFILE
+        if [[ $? = 0 ]]
+        then
+          print -- "$mmcmd: move /tmp/lxtrace.trc $TRCFILE"
+        else
+          # mv command failed
+          printErrorMsg 104 "$mmcmd" "mv $RUNTRCFILE $TRCFILE"
+          [[ $trace_format != "formatall" ]] && cleanupAndExit
+        fi
+      fi
+      sync
+    fi
+
+    if [[ ! -s $RUNTRCERRFILE ]]
+    then
+      # Tracing err file empty --> remove it
+      rm -f $RUNTRCERRFILE
+    elif [[ -f $TRCFILE ]]
+    then
+      # Tracing errors occured --> pair it with tracing file
+      $mv $RUNTRCERRFILE $TRCERRFILE
+      if [[ $? -ne 0 ]]
+      then
+        # mv command failed
+        printErrorMsg 104 "$mmcmd" "mv $RUNTRCERRFILE $TRCERRFILE"
+        [[ $trace_format != "formatall" ]] && cleanupAndExit
+      fi 
+    fi
+
+    if [[ $trace_format = "formatall"  ]]
+    then
+      for TRCFILE in $TRCPREF.*
+      do
+        TRCRPTFILE=$TRCRPTPREF.${TRCFILE#$TRCPREF.}
+        TRCRPTERRFILE=$TRCRPTERRPREF.${TRCERRFILE#$TRCERRPREF.}
+        print -- "$mmcmd: formatting $TRCFILE to $TRCRPTFILE"
+        # Start formating trcfiles, one at a time
+        $lxtrace format -t $TRCRPTFMTLINUX -o $TRCRPTFILE $TRCFILE && \
+          sync && $rm $TRCFILE
+        [[ -f $TRCERRFILE ]] && $mv $TRCERRFILE $TRCRPTERRFILE && sync
+      done
+    elif [[ -f $TRCFILE && $trace_format != "noformat" ]]
+    then
+      # Start formating the file in the background
+      TRCRPTFILE=$TRCRPTPREF.${TRCFILE#$TRCPREF.}
+      TRCRPTERRFILE=$TRCRPTERRPREF.${TRCERRFILE#$TRCERRPREF.}
+      print -- "$mmcmd: formatting $TRCFILE to $TRCRPTFILE"
+      ($lxtrace format -t $TRCRPTFMTLINUX -o $TRCRPTFILE $TRCFILE && \
+         sync && $rm $TRCFILE; ) &
+      ([[ -f $TRCERRFILE ]] && $mv $TRCERRFILE $TRCRPTERRFILE && sync) &
+    fi
+
+  else
+    checkForErrors "Unknown operating system $osName" 1
+  fi
+
+  return 0
+} #------------- end of function stopTrace ------------------
+
+####################################################################
+#
+# Function:  Turn tracing on.
+#
+####################################################################
+function startTrace
+{
+  typeset sourceFile="mmtrace.sh"
+  [[ -n $DEBUG || -n $DEBUGstartTrace ]] && set -x
+
+  if [[ $osName = AIX ]]
+  then
+    hooks=""
+    if [[ $trace_settings != "all" ]]; then
+      hooks="-j 005,006,00A,306,307,308,309"
+      [[ -n $trace_dispatch ]] && hooks=$hooks",100,101,102,103,106,200"
+    fi
+    # The trace options specify a default 16MB logfile, a 8MB memory buffer,
+    # and logging the last of the wrapping memory buffer of trace data.
+    # -L value must be twice the setting of -T
+    $trace -a $traceht -L $TRCFILESIZE -T $TRCBUFSIZE $hooks -o $RUNTRCFILE
+
+  elif [[ $osName = Linux ]]
+  then
+    # Use the default 16MB file and 64K buffer. Redirect stderr to a file to
+    # capture tracing errors. Redirect stdin/stdout to /dev/null to prevent
+    # remote shell invocataions of mmtrace from waiting on open pipes.
+    $lxtrace on $RUNTRCFILE $TRCFILESIZE $TRCBUFSIZE 0</dev/null 1>/dev/null \
+      2>$RUNTRCERRFILE
+
+  else
+    checkForErrors "Unknown operating system $osName" 1
+  fi
+
+  return 0
+} #------------- end of function startTrace ------------------
+
+
+############################
+# Mainline processing
+############################
+
+#################################
+# Process the command arguments.
+#################################
+
+trace_action=""
+trace_format=""
+trace_settings=""
+trace_help=""
+trace_headtail=""
+trace_dispatch=""
+traceht="-l"
+
+while [ "$1" != "" ]
+do
+  case $1 in
+    start)
+      # Start tracing
+      [[ -n $trace_action ]] && trace_help="true"
+      trace_action=$1
+      ;;
+    stop)
+      # Stop tracing
+      [[ -n $trace_action ]] && trace_help="true"
+      trace_action=$1
+      ;;
+    noformat)
+      # Do not format traces
+      [[ -n $trace_format ]] && trace_help="true"
+      trace_format=$1
+      ;;
+    formatall)
+      # Format traces
+      [[ -n $trace_format ]] && trace_help="true"
+      trace_format=$1
+      ;;
+    head)
+      # Head of trace
+      [[ -n $trace_headtail ]] && trace_help="true"
+      trace_headtail=$1; traceht="-f"
+      ;;
+    cont)
+      # Continuous trace to file
+      [[ -n $trace_headtail ]] && trace_help="true"
+      trace_headtail=$1; traceht=""
+      ;;
+    tail)
+      # Tail of trace
+      [[ -n $trace_headtail ]] && trace_help="true"
+      trace_headtail=$1; traceht="-l"
+      ;;
+    dispatch)
+      # Add AIX dispatch tracehooks
+      [[ -n $trace_dispatch ]] && trace_help="true"
+      trace_dispatch=",cpuid=on"
+      ;;
+    trace*)
+      # Trace settings
+      [[ -n $trace_settings ]] && trace_help="true"
+      trace_settings=$1
+      ;;
+    *)
+      # Unknown option/action --> Display usage
+      trace_help="true"
+  esac
+  shift
+done
+
+# Check for help requests
+if [[ $trace_help = "true" ]]
+then
+  print -u2 -- "Usage: mmtrace [start | stop] [noformat | formatall] [tail | head | cont] [dispatch]"
+  print -u2 -- "               [trace={io | all | def | same}]"
+  print -u2 -- "               [trace=\"trace_class level [trace_class level ...]\"]"
+  print -u2 -- ""
+  print -u2 -- "  If \"formatall\" is specified without a trace action, then"
+  print -u2 -- "  \"stop\" is the default. All other command invocations"
+  print -u2 -- "  where neither \"start\" nor \"stop\" are specified default"
+  print -u2 -- "  to \"start\"."
+  print -u2 -- ""
+  print -u2 -- "  Specifying \"trace=all\", \"trace=io\", or \"trace=def\""
+  print -u2 -- "  enables predefined trace settings."
+  print -u2 -- ""
+  print -u2 -- "  Specifying \"trace=same\" does not modify the current settings."
+  print -u2 -- ""
+  print -u2 -- "  If no trace= argument given and no trace levels are"
+  print -u2 -- "  currently set, the default trace settings will be used."
+  print -u2 -- ""
+  print -u2 -- "  A set of trace levels can be set permanently using"
+  print -u2 -- "    "mmchconfig trace="trace_class level [trace_class level ...]"
+  print -u2 -- "  These will be the default trace levels whenever the GPFS daemon"
+  print -u2 -- "  starts, but will not actually produce traces until mmtrace"
+  print -u2 -- "  is run to start the AIX trace or the Linux lxtrace command."
+  print -u2 -- ""
+  print -u2 -- "  Default trace output directory is /tmp/mmfs. Override by"
+  print -u2 -- "  setting TRCDIR environment variable."
+  print -u2 -- ""
+  print -u2 -- "  AIX only: (Linux trace only implements \"cont\" function)"
+  print -u2 -- "    If \"tail\" is specified, the trace buffer wraps and is"
+  print -u2 -- "      written to the trace file when \"mmtrace stop\" is issued."
+  print -u2 -- "      (This is the default)"
+  print -u2 -- "    If \"head\" is specified, the trace buffer fills only once"
+  print -u2 -- "      and is written to the trace file when \"mmtrace stop\" is issued."
+  print -u2 -- "    If \"cont\" is specified, the trace file is continuously"
+  print -u2 -- "      written to as the trace buffer fills up. This file will wrap."
+  print -u2 -- "      The tracefile size defaults to 16M and can be overridden"
+  print -u2 -- "      by setting the TRCFILESIZE environment variable."
+  print -u2 -- "    If \"dispatch\" is specified, AIX dispatching tracehooks"
+  print -u2 -- "      will also be enabled."
+  return 1
+fi
+
+# If a trace action has not been specified, default to "start" in all cases
+# except when "formatall" has been requested.
+if [[ -z $trace_action && $trace_format = "formatall" ]]
+then
+  trace_action="stop"
+elif [[ -z $trace_action ]]
+then
+  trace_action="start"
+fi
+
+if [[ -n $trace_settings ]]
+then
+  # Retrieve tha actual trace classes/levels
+  trace_settings=${trace_settings#*=}
+fi
+
+# Ensure the GPFS system data is up to date.
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+# Define the short hostname
+SHORTHOST=$($hostname -s)
+
+# Define the trace directory. The default value may be overridden with the
+# following priority utilized:
+#     1) TRCDIR environment variable
+#     2) dataStructureDump setting in mmfs.cfg
+#     3) /tmp/mmfs default
+[[ -z $TRCDIR ]] && TRCDIR=$(getDataDumpDir $SHORTHOST)
+
+# Default TRCDIR if overrides NULL or not fully qualified
+if [[ -z $TRCDIR || ($TRCDIR = ${TRCDIR#/}) ]]
+then
+  TRCDIR=/tmp/mmfs
+fi
+
+# Define the trace report directory and formatting templates
+[[ -z $TRCRPTDIR || ($TRCRPTDIR = ${TRCRPTDIR#/}) ]] && TRCRPTDIR=$TRCDIR
+[[ -z $TRCRPTFMTAIX ]] && TRCRPTFMTAIX=/etc/trcfmt
+[[ -z $TRCRPTFMTLINUX ]] && TRCRPTFMTLINUX=/usr/lpp/mmfs/mmfs.trcfmt
+
+#get env value for TRCDISPATCH for AIX
+[[ -n $TRCDISPATCH && $TRCDISPATCH != off && $TRCDISPATCH != no && $TRCDISPATCH != 0 ]] && trace_dispatch=",cpuid=on"
+
+# Define the trace file name, trace report prefix, and
+# file size and trace buffer sizes.
+TRCPREF=$TRCDIR/trcfile
+TRCERRPREF=$TRCDIR/trcerrfile
+TRCRPTPREF=$TRCRPTDIR/trcrpt
+TRCRPTERRPREF=$TRCRPTDIR/trcerr
+if [[ $osName = AIX ]]
+then
+  RUNTRCFILE=$TRCDIR/trcfile.$SHORTHOST
+  [[ -z $TRCFILESIZE ]] && TRCFILESIZE=16000000
+  [[ -z $TRCBUFSIZE ]] && TRCBUFSIZE=8000000
+
+  # Verify file/buffer sizes
+  if [ $TRCFILESIZE -lt 2*$TRCBUFSIZE ]
+  then
+    print -u2 -- "$osName trace file must be twice the trace buffer size"
+    return 1
+  fi
+elif [[ $osName = Linux ]]
+then
+  RUNTRCFILE=$TRCDIR/lxtrace.trc.$SHORTHOST
+  RUNTRCERRFILE=$TRCDIR/lxtrace.trcerr.$SHORTHOST
+  [[ -z $TRCFILESIZE ]] && TRCFILESIZE=16777216
+  [[ -z $TRCBUFSIZE ]] && TRCBUFSIZE=65536
+
+  # Verify file/buffer sizes
+  if [ $TRCFILESIZE -lt $TRCBUFSIZE ]
+  then
+    print -u2 -- "$osName trace file must be larger than the trace buffer size"
+    return 1
+  fi
+fi
+
+# Define the name of the trace file being formatted this time
+DATEHMS=$($date +"%y%m%d.%H.%M.%S")
+TRCFILE=$TRCPREF.$DATEHMS.$SHORTHOST
+TRCERRFILE=$TRCERRPREF.$DATEHMS.$SHORTHOST
+
+# Ensure the trace files/reports directories exist
+$mkdir -p $TRCDIR $TRCRPTDIR
+
+# Stop the current trace, producing a trace report if requested.
+stopTrace
+
+# If option is not "stop" then start trace and enable GPFS trace levels.
+if [[ $trace_action = "start" ]]
+then
+  # Turn tracing on.
+  startTrace
+
+  # Check if gpfs is up If not, we rely on trace levels in mmfs.cfg.
+  $tsstatus -1 >/dev/null 2>&1
+  rc=$?
+  if [[ $rc -eq 0 || $rc -eq 2 ]]
+  then
+
+    if [[ -z $trace_settings ]]
+    then
+      # Check whether any trace levels have been set. If not use default set
+      anytrace=$($mmfsadm showtrace 2>/dev/null |
+                 $awk '{if ($2 == ":" && $3 != "0") {print "1";exit}}')
+      [[ -z $anytrace ]] && trace_settings="def"
+    fi
+    if [[ $trace_settings = "io" ]]
+    then
+      # Minimal trace levels for tracking application requests and
+      # disk IO that results from those requests
+      $mmfsadm trace all 0 io 1 vnop 1 vnode 1
+    elif [[ $trace_settings = "all" ]]
+    then
+      # Maximum trace levels for GPFS
+      $mmfsadm trace all 9
+    elif [[ $trace_settings = "def" ]]
+    then
+      # A general set of trace levels for GPFS
+      $mmfsadm trace all 4 tm 2 thread 1 mutex 1 vnode 2 ksvfs 3 klockl 2 io 3 pgalloc 1 mb 1 lock 2 fsck 3
+    elif [[ $trace_settings = "same" ]]
+    then
+      : # nop
+    elif [[ -n $trace_settings ]]
+    then
+      # User specified trace settings
+      $mmfsadm trace $trace_settings
+    fi
+  fi
+fi
+
+cleanupAndExit 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmumount
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmumount	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmumount	(revision 16)
@@ -0,0 +1,397 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)22 1.4.1.2 src/avs/fs/mmfs/ts/admin/mmumount.sh, mmfs, avs_rgpfs24, rgpfs24s006a 8/29/06 15:12:46
+##############################################################################
+#
+#  Unmount GPFS file systems on one or more nodes in the cluster.
+#
+#  Usage:
+#    mmumount {Device | MountPoint | all | all_local | all_remote} [-f]
+#             [-a | -N {Node[,Node...] | NodeFile | NodeClass}]
+#  or
+#    mmumount Device -f -C {all_remote | ClusterName} [-N Node[,Node...]]
+#
+#  where:
+#
+#    Device | MountPoint | all | all_local | all_remote
+#        Specifies the file systems to be unmounted.
+#        Only file systems that are owned by this cluster can be specified
+#        in conjuction with the -C option.
+#
+#    -a  Unmount the file systems on all nodes in the cluster.
+#
+#    -f  Force the unmount to take place even though the file system may
+#        still be in use.
+#
+#    -N {Node[,Node...] | NodeFile | NodeClass}
+#        Specifies the nodes on which the unmount is to take place.
+#
+#    -C { all_remote | ClusterName }
+#        Specifies the clusters on which the file system is to be unmounted.
+#        Only remote clusters should be specified with this form of the command.
+#        Use the first form of the command to unmount file systems on nodes in
+#        the local cluster.
+#
+#        -C all_remote denotes all clusters other than the one from which
+#        the command is ussued (this cluster).
+#
+#
+#  Usage notes:
+#
+#    If not explicitly-specified otherwise, the file systems are unmounted on
+#    the local node only.
+#
+#    The first form of the command should be used to unmount file systems on
+#    nodes that belong to the local cluster.
+#
+#    The second form of the command should be used when it is necessary to
+#    internally force unmount file systems that are owned by this cluster
+#    but are mounted on nodes that belong to some other cluster.
+#
+#    When a file system is internally force unmounted with the second form of
+#    the mmumount command, the affected nodes may still show the file system
+#    as mounted (although the data is not accessible).  It is the responsibility
+#    of the system administrator to clear the mount state by issuing the OS
+#    umount command.
+#
+#    When the -N parameter is specified in conjunction with -C ClusterName,
+#    the specified node names are assumed to refer to nodes that belong to
+#    the specified remote cluster (as shown by mmlsmount).  The mmunmount
+#    command cannot verify upfront the accuracy of this information.
+#
+##############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+
+sourceFile="mmumount.sh"
+[[ -n $DEBUG || -n $DEBUGmmumount ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+# Local variables
+
+usageMsg=396
+rc=0
+
+
+#######################
+# Mainline processing
+#######################
+
+
+##################################
+# Process each of the arguments.
+##################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 1  ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# Figure out what was specified on the command line.
+if [[ $arg1 = /* && $arg1 != +(/)dev+(/)* ]]
+then
+  # If the first argument starts with a "/" but not "/dev/",
+  # it is assumed to be a fully-qualified mount point.
+  mountPoint=$arg1
+else
+  # Otherwise, the argument is assumed to be the device name
+  # of a file system (or the key word "all").
+  device=$arg1
+  deviceName=${device##+(/)dev+(/)}  # Name stripped of /dev/ prefix.
+fi  # end of if [[ $arg1 = "/"* && $arg1 != +(/)dev+(/)* ]]
+
+# Drop the name from the parameter list.
+shift 1
+
+# Process the rest of the options.
+while getopts :afC:N: OPT
+do
+  case $OPT in
+
+    a) [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag="-$OPT"
+       [[ -n $Nflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg "-a" "-N"
+       [[ -n $Cflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg "-a" "-C"
+       initRequired=yes
+       ;;
+
+    f) [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fflag="-$OPT"
+       ;;
+
+    C) [[ -n $Cflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Cflag="-$OPT"
+       clusterName="$OPTARG"
+       [[ -n $aflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg "-a" "-C"
+       [[ -n $mountPoint ]] &&  \
+         syntaxError "help" $usageMsg
+       [[ $clusterName = *,* ]] &&  \
+         syntaxError "help" $usageMsg
+       initRequired=yes
+       ;;
+
+    N) [[ -n $Nflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       Nflag="-$OPT"
+       nodenames="$OPTARG"
+       [[ -n $aflag ]] &&  \
+         syntaxError "invalidCombination" $usageMsg "-a" "-N"
+       initRequired=yes
+       ;;
+
+    :) syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+
+    +[afCN])
+       syntaxError "invalidOption" $usageMsg "$OPT"
+       ;;
+
+    *) syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+
+  esac
+done
+
+shift OPTIND-1
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+# Some additional restrictions for the -C version of the command.
+if [[ -n $Cflag ]]
+then
+  [[ $clusterName = *,* ]] && syntaxError "help" $usageMsg
+  [[ -n $mountPoint ]] && syntaxError "help" $usageMsg
+  [[ $device = all  ]] && device=all_local
+fi
+
+
+##################################################################
+# Set up trap exception handling.  If more than the local node
+# is affected, ensure the local copy of the mmsdrfs and the rest
+# of the GPFS system files are up-to-date.
+##################################################################
+trap pretrap2 HUP INT QUIT KILL
+if [[ -n $initRequired ]]
+then
+  gpfsInitOutput=$(gpfsInit nolock)
+  setGlobalVar $? $gpfsInitOutput
+fi
+
+
+#######################################################
+# Create a file containing all of the specified nodes.
+#######################################################
+if [[ -n $aflag ]]
+then
+  # Get a list of the nodes.
+  getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+elif [[ -n $Cflag ]]
+then
+  # Get a list of the nodes in this cluster.
+  getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+
+  # Decide what to pass to the tsunmount command.
+  # If the -N option is specified in conjuction with -C,
+  # the scope is limited to the specified nodes.
+  if [[ -n $Nflag ]]
+  then
+    affectedNodes="-n $nodenames"
+  else
+    affectedNodes="-C $clusterName"
+  fi
+
+elif [[ -n $Nflag ]]
+then
+  # Convert the passed data into a file containing admin node names.
+  createVerifiedNodefile "$nodenames" $REL_HOSTNAME_Field no $nodefile
+  [[ $? -ne 0 ]] && cleanupAndExit
+
+else
+  : # Nothing to do.  Only the local node is affected.
+fi  # end of if [[ -n $aflag ]]
+
+
+######################################
+# Verify the file system device name.
+######################################
+if [[ $device = all ]]
+then
+  # Ensure there are file systems to unmount.
+  $awk -F: '                                \
+    BEGIN { rc = '$MM_FsNotFound' }         \
+    $'$LINE_TYPE_Field' == "'$SG_HEADR'" {  \
+      { rc = 0 }                            \
+      { exit }                              \
+    }                                       \
+  END { exit rc }                           \
+  ' $mmsdrfsFile
+  rc=$?
+
+  if [[ $rc = $MM_FsNotFound ]]
+  then
+    # No file systems were found in the cluster.
+    printErrorMsg 200 $mmcmd
+    cleanupAndExit $rc
+  else
+    # Check for unexpected errors
+    checkForErrors awk $rc
+  fi
+
+  fsList=all
+
+elif [[ $device = all_local ]]
+then
+  # Create a list of the file systems to unmount.
+  fsList=$($awk -F: '                        \
+    $'$LINE_TYPE_Field' == "'$SG_HEADR'" &&  \
+    $'$FS_TYPE_Field'   == "'$localfs'"   {  \
+      { printf $'$DEV_NAME_Field' "," }      \
+    }                                        \
+  ' $mmsdrfsFile)
+  checkForErrors awk $rc
+
+  if [[ -z $fsList ]]
+  then
+    # No file systems were found in the cluster.
+    printErrorMsg 200 $mmcmd
+    cleanupAndExit $MM_FsNotFound
+  fi
+
+  fsList=${fsList%%,}
+
+elif [[ $device = all_remote ]]
+then
+  # Only locally owned file systems can be specified with the -C option.
+  if [[ -n $Cflag ]]
+  then
+    # Command is not allowed for remote file systems.
+    printErrorMsg 469 $mmcmd $Cflag
+    cleanupAndExit
+  fi
+
+  # Create a list of the file systems to unmount.
+  fsList=$($awk -F: '                        \
+    $'$LINE_TYPE_Field' == "'$SG_HEADR'" &&  \
+    $'$FS_TYPE_Field'   == "'$remotefs'"  {  \
+      { printf $'$DEV_NAME_Field' "," }      \
+    }                                        \
+  ' $mmsdrfsFile)
+  checkForErrors awk $rc
+
+  if [[ -z $fsList ]]
+  then
+    # No remote file systems were found in the cluster.
+    printErrorMsg 193 $mmcmd
+    cleanupAndExit $MM_FsNotFound
+  fi
+
+  fsList=${fsList%%,}
+
+elif [[ -n $device ]]
+then
+  # Ensure the specified file system exists.
+  findFSoutput=$(findFS "$device" $mmsdrfsFile device)
+  [[ -z $findFSoutput ]] && cleanupAndExit
+
+  # Parse the output from the findFS function.
+  set -f ; set -- $findFSoutput ; set +f
+  fqDeviceName=$1
+  deviceName=$2
+  fsHomeCluster=$3
+
+  # Only locally owned file systems can be specified with the -C option.
+  if [[ -n $Cflag && $fsHomeCluster != $HOME_CLUSTER ]]
+  then
+    # Command is not allowed for remote file systems.
+    printErrorMsg 472 $mmcmd $device $fsHomeCluster $Cflag
+    cleanupAndExit
+  fi
+
+  fsList=$deviceName
+
+else
+  # A mount point was specified.  Since it can be anything,
+  # there is no point in searching the mmsdrfs file.
+  : # Let the unmount function handle it.
+fi  # end of if [[ $device = all ]]
+
+# Ensure we have the proper credentials.
+[[ $getCredCalled = no ]] && getCred
+
+
+###################################################
+# Unmount the file systems on the specified nodes.
+###################################################
+
+# Unmounting file systems ...
+printInfoMsg 426 "$(date)" $mmcmd
+
+if [[ ! -s $nodefile ]]
+then
+  # The request is to unmount file systems on the local node only.
+  if [[ -n $device ]]
+  then
+    $mmremote unmountFileSystems $fsList "$fflag"
+    rc=$?
+  else
+    $mmremote unmountMountpoint $mountPoint "$fflag"
+    rc=$?
+  fi
+
+elif [[ -n $Cflag ]]
+then
+  # The request is to internally force unmount one or more file systems.
+  IFS=','
+  for deviceName in $fsList
+  do
+    IFS="$IFS_sv"
+    $mmcommon onactive $preferredNode $nodefile                     \
+                       $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+                       tsunmount "$deviceName $affectedNodes"
+    IFS=',' # Move to the next file system.
+  done  # end of for deviceName in $fsList
+  IFS="$IFS_sv"
+
+else
+  # The request is to unmount file systems on a number
+  # of nodes in the local cluster.
+  if [[ -n $device ]]
+  then
+    $mmcommon onall $nodefile $unreachedNodes  \
+      unmountFileSystems $fsList "$fflag"
+    rc=$?
+  else
+    $mmcommon onall $nodefile $unreachedNodes  \
+      unmountMountpoint $mountPoint "$fflag"
+    rc=$?
+  fi
+fi  # end of if [[ ! -s $nodefile ]]
+
+# If any nodes could not be reached, tell the user which ones.
+if [[ -s $unreachedNodes ]]
+then
+  # The following nodes could not be reached: . . .
+  printErrorMsg 270 $mmcmd
+  $cat $unreachedNodes 1>&2
+fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmunlinkfileset
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmunlinkfileset	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmunlinkfileset	(revision 16)
@@ -0,0 +1,256 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)46 1.9.1.1 src/avs/fs/mmfs/ts/admin/mmunlinkfileset.sh, mmfs, avs_rgpfs24, rgpfs24s007a 10/18/06 12:03:01
+###############################################################################
+#
+# Usage:
+#   mmunlinkfileset Device {FilesetName | -J JunctionPath} [-f]
+#
+# where:
+#   Device            is the device name of the file system.
+#   FilesetName       is the fileset name.
+#   JunctionPath      is the fileset junction path name.
+#   -f                forcibly closes any open files and unlinks the fileset.
+#
+# Undocumented option:
+#   -a                unlink the fileset from all of its snapshots in the
+#                     top-level snapshot directories.
+#
+###############################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+sourceFile="mmunlinkfileset.sh"
+[[ -n $DEBUG || -n $DEBUGmmunlinkfileset ]] && set -x
+$mmTRACE_ENTER "$*"
+
+# Local work files.  Names should be of the form:
+#   fn=${tmpDir}fn.${mmcmd}.$$
+
+LOCAL_FILES=" "
+
+
+# Local variables
+usageMsg=516
+
+
+# Local functions
+
+
+
+#######################
+# Mainline processing
+#######################
+
+
+#######################################
+# Process the command line arguments.
+#######################################
+[[ $arg1 = '-?' || $arg1 = '-h' || $arg1 = '--help' || $arg1 = '--' ]] &&  \
+  syntaxError "help" $usageMsg
+
+[[ $argc -lt 2 ]] &&  \
+  syntaxError "missingArgs" $usageMsg
+
+# The first argument is always the file system name.
+device=$arg1
+deviceName=${device##+(/)dev+(/)}  # name stripped of /dev/ prefix
+fqDeviceName="/dev/$deviceName"    # fully-qualified name (with /dev/ prefix)
+
+# The device name must be followed by a fileset name or -J and a junction path.
+if [[ $arg2 = "-J"* ]]
+then
+  junctionName=${arg2#-J}
+  if [[ -z $junctionName ]]
+  then
+    [[ $argc -lt 3  ]] && syntaxError "missingArgs" $usageMsg
+    junctionName=$arg3
+    shift 3
+  else
+    shift 2
+  fi
+else
+  filesetName=$arg2
+  [[ $arg3 = "-J"* ]] &&  \
+    syntaxError "invalidCombination" $usageMsg "-J" "FilesetName"
+  checkName filesetName 255 "$filesetName"
+  [[ $? -ne 0 ]] && cleanupAndExit
+  shift 2
+fi
+
+# Process the rest of the parameters.
+while getopts :af OPT
+do
+  case $OPT in
+    a) # Unlink from all snapshots.
+       [[ -n $aflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       aflag="-$OPT"
+       ;;
+    f) # Close all files.
+       [[ -n $fflag ]] && syntaxError "multiple" $noUsageMsg "-$OPT"
+       fflag="-$OPT"
+       ;;
+    +[af]) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPT
+       ;;
+    :) # Missing argument.
+       syntaxError "missingValue" $usageMsg $OPTARG
+       ;;
+    *) # Invalid option.
+       syntaxError "invalidOption" $usageMsg $OPTARG
+       ;;
+  esac
+done  # end of while getopts :af OPT do
+shift OPTIND-1
+
+[[ $# != 0 ]] && syntaxError "extraArg" $usageMsg $1
+
+
+#####################################################################
+# Set up trap exception handling and ensure that the local copy of
+# the mmsdrfs is up-to-date.  There is no need to lock the mmsdrfs.
+#####################################################################
+trap pretrap2 HUP INT QUIT KILL
+gpfsInitOutput=$(gpfsInit nolock)
+setGlobalVar $? $gpfsInitOutput
+
+
+###########################################################
+# Make sure the specified file system exists and is local.
+###########################################################
+findFSoutput=$(findFS "$device" $mmsdrfsFile)
+[[ -z $findFSoutput ]] && cleanupAndExit
+
+# Parse the output from the findFS function.
+set -f ; set -- $findFSoutput ; set +f
+fqDeviceName=$1
+deviceName=$2
+fsHomeCluster=$3
+
+# Exit if the command was invoked for a remote file system.
+if [[ $fsHomeCluster != $HOME_CLUSTER ]]
+then
+  # Command is not allowed for remote file systems.
+  printErrorMsg 106 $mmcmd $device $fsHomeCluster
+  cleanupAndExit
+fi
+
+
+#############################
+# Verify the junction name.
+#############################
+if [[ -n $junctionName ]]
+then
+  # The file system must be mounted.
+  mountPoint=$(findMountpoint $deviceName)
+  if [[ -z $mountPoint ]]
+  then
+    # File system is not mounted.
+    printErrorMsg 552 $mmcmd $device
+    cleanupAndExit
+  fi
+
+  # Find the device ID of the mounted GPFS file system.
+  gpfsDeviceID=$($perl -e '($dev) = stat "'$mountPoint'"; printf "%u", $dev;')
+
+  # Ensure the junction path name is fully qualified.
+  [[ $junctionName != /* ]] && junctionName="${PWD%/}/${junctionName}"
+  junctionName=${junctionName%%/}  # Strip any trailing slashes.
+
+  # Find the device ID and inode number of the junction.
+  # The result is a colon-separated device and inode numbers.
+  junctionDevAndIno=$($perl -e ' ($dev,$ino) = stat "'$junctionName'";
+                                 if ($dev ne "") { printf "%u:%u", $dev,$ino }')
+
+  # The junction must be within the mounted file system.
+  if [[ $gpfsDeviceID != ${junctionDevAndIno%:*} ]]
+  then
+    printErrorMsg 550 $mmcmd "$junctionName" "$device"
+    cleanupAndExit
+  fi
+
+  # Create the extended junction path name.
+  junctionName="-J /GPFS:${junctionDevAndIno#*:}${junctionName}"
+fi  # end of if [[ -n $junctionName ]]
+
+
+########################################################################
+# Invoke the tsunlinkfileset command on the local node.
+# Display any error messages and exit if any of the following are true:
+#   - the command completed successfully
+#   - a junction path name is specified
+#   - there is an unacceptable error
+#       (anything other than daemon down or quorum wait)
+#   - the fileset name contains path name expansion triggers
+#   - this is a single node cluster
+########################################################################
+set -f
+$tsunlinkfileset $fqDeviceName $filesetName $junctionName $aflag $fflag 2>$errMsg
+rc=$(remapRC $?)
+set +f
+
+if [[ $rc -ne $MM_DaemonDown && $rc -ne $MM_QuorumWait ||
+      -n $junctionName || $MMMODE = single ]]
+then
+  if [[ $rc -eq $MM_DaemonDown ]]
+  then
+    # GPFS is down on this node.
+    printErrorMsg 109 $mmcmd
+  elif [[ $rc -eq $MM_QuorumWait ]]
+  then
+    # GPFS is not ready for commands.
+    printErrorMsg 110 $mmcmd
+  elif [[ $rc -eq $MM_ConnectionReset ]]
+  then
+    # An internode connection was reset.
+    printErrorMsg 257 $mmcmd
+  else
+    # Either the command worked, or it is an unexpected error.
+    [[ -s $errMsg ]] && $cat $errMsg 1>&2
+#   [[ $rc -ne 0 ]] && printErrorMsg 113 "$mmcmd" "tsunlinkfileset" $rc
+  fi  # end of if [[ $rc -eq $MM_FsNotFound ]]
+  cleanupAndExit $rc
+fi  # end of if [[ ($rc -ne $MM_DaemonDown && ... ]]
+$rm -f $errMsg
+
+
+####################################################################
+# We come here if the local GPFS daemon is not ready for commands.
+# Find an active node and send the command there.
+####################################################################
+
+# Create a file with the reliable names of the nodes in the cluster.
+getNodeList $REL_HOSTNAME_Field $GLOBAL_ID $mmsdrfsFile > $nodefile
+preferredNode=$ourNodeName
+
+# Try the nodes one by one until you find a node that can execute the command.
+$mmcommon onactive $preferredNode $nodefile     \
+   $NO_FILE_COPY $NO_MOUNT_CHECK NULL $NO_LINK  \
+   tsunlinkfileset "$fqDeviceName $filesetName $aflag $fflag"
+rc=$?
+
+# if [[ $rc -ne 0 ]]
+# then
+#   # tsunlinkfileset failed.
+#   printErrorMsg 104 $mmcmd tsunlinkfileset
+#   cleanupAndExit $rc
+# fi
+
+cleanupAndExit $rc
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmunmount
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmunmount	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmunmount	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/mmumount
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmvaryonvg
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmvaryonvg	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/mmvaryonvg	(revision 16)
@@ -0,0 +1,207 @@
+#!/bin/ksh 
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2003,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)24 1.16 src/avs/fs/mmfs/ts/admin/mmvaryonvg.sh, mmfs, avs_rgpfs24, rgpfs240610b 12/9/05 09:56:42
+###################################################################
+#
+#  Usage:
+#    mmvaryonvg [diskName]
+#
+#  If diskName is passed, find the file system to which the disk
+#  belongs and activate all disks that belong to that file system.
+#  Otherwise, activate all disks in all file systems in the nodeset.
+#
+#  This script is used by the daemon's devOpen() function when
+#  a disk cannot be opened.
+#
+#  The script is a no-op in Linux.
+#  The script should not be used for VSD type disks.
+#
+###################################################################
+
+# Include global declarations and service routines.
+. /usr/lpp/mmfs/bin/mmglobfuncs
+. /usr/lpp/mmfs/bin/mmsdrfsdef
+. /usr/lpp/mmfs/bin/mmfsfuncs
+
+[[ -n $DEBUG || -n $DEBUGmmvaryonvg ]] && set -x
+$mmTRACE_ENTER "$*"
+
+diskName=""
+fsName=""
+integer found=0
+
+
+#######################################################################
+#                                                                     #
+# This function activates a volume group when disk leasing is in use. #
+#                                                                     #
+#######################################################################
+function activateVg
+{
+  typeset vgname=$1
+
+  # Activate the disk.
+  $varyonvg -u $vgname
+  if [[ $? = 0 ]]
+  then
+    # The varyon of the volume group succeeded.
+    printErrorMsg 520 $mmcmd "$(date)" $vgname
+  else
+    # We were unable to varyon the volume group.
+    printErrorMsg 535 $mmcmd "$(date)" $vgname
+  fi
+
+}    # ---- end of function activateVg ----------
+
+
+#####################################################################
+#
+# Main function
+#
+#####################################################################
+
+# Get disk name from input, if any.
+diskName=$arg1
+
+# Set up trap exception handling.
+trap pretrap2 HUP INT QUIT KILL
+
+# Get the node number for this node.
+[[ -z $MMMODE ]] && determineMode
+getLocalNodeData
+
+# This function is not needed in Linux.
+[[ $osName = Linux ]] &&  \
+  cleanupAndExit 0
+
+# Get a list containing the physical disk name, pvid, and vgname
+# for all known volume groups on this node.
+LC_ALL=C $lspv > $volGroupFile
+
+# Get the name of the filesystem to which the disk belongs.
+if [[ -n $diskName ]]
+then
+  fsName=$($mmcommon getSGDevice $diskName)
+fi
+
+# Create a temp file containing the disks (along with their
+# types, subtypes, pvids, and name sources) to be varied on.
+getDiskData $tmpfile $fsName
+
+
+exec 3<&-
+exec 3< $tmpfile
+while read -u3 diskLine
+do
+  # Extract the lvname, disk type, disk subtype, pvid, name source,
+  # and underlying lv name (if applicable) for each disk.
+  IFS=':'
+  set -f ; set -- $diskLine ; set +f
+  lvname=$1
+  diskType=$2
+  diskSubtype=$3
+  pvid=$4
+  nameSource=$5
+  nsdSubtype=$6
+  nsdSubtypeDiskname=$7
+  IFS="$IFS_sv"
+
+  # If the underlying disk is not a logical volume, skip it.
+  [[ $nsdSubtype != lv ]] && continue
+
+  # This is an nsd with an underlying logical volume;
+  # use that logical volume name.
+  [[ -n $nsdSubtypeDiskname ]] && lvname=$nsdSubtypeDiskname
+
+  # Try to determine the vg name for this logical volume.
+  vgname=""
+  if [[ $nameSource = $userSpecified ]]
+  then
+    # The disk name was specified by the user; in this case,
+    # obtain the vgname by appending "vg" to the lvname.
+    vgname=${lvname}vg
+  elif [[ $lvname = gpfs*lv ]]
+  then
+    # The disk name appears to have been created by mmcrlv;
+    # obtain the vgname by changing the "lv" suffix to "vg".
+    vgname=${lvname%lv}vg
+  else
+    # The disk was not created by mmcrlv;
+    # try to obtain the vgname by using the lslv command.
+    vgname=$(LC_ALL=C $lslv -L $lvname 2>/dev/null | $awk '/VOLUME GROUP:/ {print $6}')
+  fi
+
+  # If the vg name is not known, skip the disk.
+  # Note that further down we will try one more time to process the input disk.
+  if [[ -z $vgname ]]
+  then
+    [[ $diskName != $lvname ]] &&  \
+      printErrorMsg 547 $mmcmd $lvname $ourNodeName
+    continue
+  fi
+
+  # If the disk is not known on this node, try to import it.
+  lspvLine=$($grep -w $vgname $volGroupFile)
+  if [[ $? = 1 ]]
+  then
+    importDisk $lvname $vgname $pvid $volGroupFile
+    # If we couldn't make the disk known on this node, skip to the next disk.
+    if [[ $? = 1 ]]
+    then
+      printErrorMsg 547 $mmcmd $lvname $ourNodeName
+      continue
+    fi
+    lspvLine=$($grep -w $vgname $volGroupFile)
+  fi
+
+  # Use the lslv command to check whether the volume group is active or not.
+  vgstate=$(LC_ALL=C $lslv -L $lvname 2>/dev/null |  \
+     $awk '/VG STATE:/ { {split($3,state,"/")} {print state[1]} }')
+
+  [[ $diskName = $lvname ]] && found=1
+
+  # Activate the volume group if needed.
+  [[ $vgstate != "active" ]] && activateVg $vgname
+done
+
+# If a disk was passed but it was not found in the mmsdrfs file,
+# then try to activate that disk also.  We will not be able to handle
+# the case where the disk has not been imported yet, since we have no way
+# to obtain the pvid of the disk if it is not listed in the mmsdrfs file.
+if [[ -n $diskName && $found = 0 ]]
+then
+  # Determine the name of the volume group and whether it is active or not.
+  lslvLine=$(LC_ALL=C $lslv -L $diskName 2>/dev/null | \
+    $awk '                                            \
+      /VOLUME GROUP:/  { group = $6 }                 \
+      /VG STATE:/      { split($3, state, "/") }      \
+      END              { print group " " state[1] }   \
+    ')
+  set -f ; set -- $lslvLine ; set +f
+  vgname=$1
+  vgstate=$2
+  if [[ -n $vgstate ]]
+  then
+    # Activate the volume group if needed.
+    [[ $vgstate != "active" ]] && activateVg $vgname
+  else
+    print -u2 "Disk $diskName is not known on node $ourNodeName."
+  fi  # end if [[ -n $vgstate ]]
+fi  # end if [[ -n $diskName && $found = 0 ]]
+
+# Always return zero.
+cleanupAndExit 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/runmmfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/runmmfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/bin/runmmfs	(revision 16)
@@ -0,0 +1,391 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2000,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+# @(#)19 1.32 src/avs/fs/mmfs/ts/admin/runmmfs.sh, mmfs, avs_rgpfs24, rgpfs240610b 10/26/05 19:20:55 
+#######################################################################
+#
+# runmmfs is used to start up the GPFS daemon.
+#
+#  Usage:  
+#    runmmfs [options]
+#
+#  where   
+#    options    if specified, passed through to the mmfsenv script.
+#
+#######################################################################
+
+
+#------------------------------------------------------------------------
+# Collect options, if any, to be passed on to mmfsenv.
+#------------------------------------------------------------------------
+mmfsenvOpt=$@
+
+#------------------------------------------------------------------------
+# Decide where to look for the commands.  The normal install directory
+# is /usr/lpp/mmfs/bin.  This can be changed by setting the MMFSDIR 
+# environment variable to something other than /usr/lpp/mmfs.
+# If MMFSDIR is not used, before assuming the default install directory,
+# we will check if the mmfs binaries are in the same place where this
+# script resides.  This is a development aid for running out of a build tree.
+#------------------------------------------------------------------------
+if [[ -n $MMFSDIR ]]
+then
+  mmcmdDir="${MMFSDIR}/bin"
+else
+  if [[ -z ${0%%/*} ]]
+  then
+    fullname="$0"
+  else
+    fullname="${PWD%/}/$0"
+  fi
+  progDir=${fullname%/*}
+
+  if [[ -f ${progDir}/mmfs ]]
+  then
+    mmcmdDir="$progDir"
+  else
+    mmcmdDir="/usr/lpp/mmfs/bin"
+  fi
+fi
+
+# Determine the values of mmcmdSubdir and mmcmdSuffix.
+set -f ; set -- $(/bin/uname -a) ; set +f
+osName=$1
+osVersion=$4
+set --
+if [[ -f ${mmcmdDir}/mmfs || $osName != AIX || $osVersion < 5 ]]
+then
+  mmcmdSubdir=""
+  mmcmdSuffix=""
+
+else
+  # Must be running on top of AIX 5.
+  # Determine whether the current kernel is 64-bit.
+  kernelMode=$(${mmcmdDir}/mmkerninfo)
+  if [[ $kernelMode = 64 ]]
+  then
+    mmcmdSubdir="aix64"
+    mmcmdSuffix="64"
+  else
+    mmcmdSubdir="aix32"
+    mmcmdSuffix=""
+  fi
+fi 
+
+# Include global declarations and service routines.
+. ${mmcmdDir}/mmglobfuncs
+. ${mmcmdDir}/mmsdrfsdef
+. ${mmcmdDir}/mmfsfuncs
+
+commandPath=set
+
+sourceFile="runmmfs.sh"
+[[ -n $DEBUG || -n $DEBUGrunmmfs ]] && set -x
+$mmTRACE_ENTER "$*"
+
+
+#------------------------------------------------------------------------
+# Function to catch stop signals issued while we are in this script.
+# The daemon, once started, is responsible for signal handling.
+#------------------------------------------------------------------------
+function sigcatch
+{
+  print "$(date) ${mmcmd}: Received a stop request; exiting"
+  $mmTRACE_EXIT "rc=1  stop request"
+  exit 1
+}
+
+#------------------------------------------------------------------------
+# Set the default sleep backoff to 7 seconds.  This ensures that the
+# first three attempts to start will not occur within 20 seconds.
+#------------------------------------------------------------------------
+(( backoff = 7 ))
+
+#------------------------------------------------------------------------
+# If running under the control of the startup daemon (daemonize command),
+# set up the console output (standout and standerr) files.
+#------------------------------------------------------------------------
+foreground=true
+waittime=20
+
+# DAEMONIZE is set by daemonize command when it execs us
+if [[ -n $DAEMONIZE ]]; then
+
+  #--------------------------------------------------------------
+  # If we were started by daemonize then we are responsible for
+  # restarting mmfsd.  The rerunmmfs file enables that function
+  #--------------------------------------------------------------
+  $touch $rerunmmfsFile
+
+  foreground=false
+
+  #------------------------------------------------------
+  # Find the setting of the logDir mmfs.cfg parameter.
+  # It can be used to override the default log location.
+  #------------------------------------------------------
+  if [[ -f $mmfscfg ]]
+  then
+    logDir=$($awk '$1 == "logDir" {value = $2} END {print value}' $mmfscfg)
+    [[ -n $logDir ]] && rasDir="${logDir}/"
+  fi
+
+  standin="/dev/console"
+  standout="${rasDir}mmfs.log"
+  standerr="${rasDir}mmfs.log"
+  signorm=31
+  sigforce=15
+fi
+    
+#---------------------------------------------------------------------
+# Set the stop request signal handlers.
+# Use the "waittime" value to set the respawn backoff.
+#---------------------------------------------------------------------
+trap sigcatch $signorm $sigforce
+(( backoff = (waittime / 3) + 1 ))
+  
+#------------------------------------------------------------------
+# If we were started by daemonize, then this script may be responsible 
+# for respawning mmfsd after a death ($rerunmmfsFile is present). 
+#------------------------------------------------------------------
+while true
+do
+   # Move the respawnlog file, if any.
+   $mv "$respawnlog" "$respawnlog2" 2>/dev/null
+
+   if [[ -n $DAEMONIZE ]]; then
+      exec 0<$standin
+      exec 1>$standout
+      exec 2>$standerr
+
+      cd ${mmcmdDir}
+   fi
+
+   print -- "$(date) $mmcmd starting"
+
+   if [[ $foreground = false ]]
+   then 
+      #---------------------------------------------------------------------
+      # Clean out console log files not accessed in the last 11 days.
+      #---------------------------------------------------------------------
+      savepwd="$PWD"
+      if [[ -f "$standout" ]]; then
+         dir="${standout%/*}"
+         base="${standout##*/}"
+         print "Removing old $standout.* files:"
+         if cd "$dir"; then
+            $find . -type f -name "${base}"'.*' -atime +10 -mtime +10 -exec $rm {} \; -print
+         fi
+      fi
+
+      if [[ "$standout" != "$standerr" && -f "$standerr" ]]; then
+         dir="${standerr%/*}"
+         base="${standerr##*/}"
+         print "Removing old $standerr.* files:"
+         if cd "$dir"; then
+            $find . -type f -name "${base}"'.*' -atime +10 -mtime +10 -exec $rm {} \; -print
+         fi
+      fi
+      cd "$savepwd"
+
+      #---------------------------------------------------------------------
+      # Standard out and standard error are opened in non-append mode.  If
+      # standard out and standard error are directed at files, rename the
+      # files, so that on the next restart these files are not overwritten.
+      # Also, re-open the files in append mode.
+      #---------------------------------------------------------------------
+      suffix="$($date +%Y.%m.%d.%H.%M.%S).$($hostname -s)"
+      changeprevious=1
+      if [[ -f "$respawnlog2" ]]; then
+         # When respawning, use previous log file to prevent the directory
+         # from filling up with lots of nearly identical files.
+         if [[ -L "${standout}.latest" ]]; then
+            latest=$($ls -l "${standout}.latest")
+            latest=${latest##*-\> }
+            prefix=$(basename ${standout})
+            latest=${latest#${prefix}.}
+            [[ -n "$latest" ]] && suffix="$latest"
+            changeprevious=0
+         fi
+      fi
+
+      if [[ -f "$standout" ]]; then
+         $cat "$standout" >> "${standout}.${suffix}"
+         $chmod 644 "${standout}.${suffix}"
+         exec 1>>"${standout}.${suffix}"
+         [[ "$standout" = "$standerr" ]] && exec 2>&1
+         $rm "$standout"
+
+         # Create a symbolic link with suffix "latest" to the current log
+         # and suffix "previous" to the previous log.
+         if [[ $changeprevious = 1 ]]; then
+            if [[ -L "${standout}.previous" ]]; then
+               $rm -f "${standout}.previous"
+            else
+               $mv -f "${standout}.previous" "${standout}.previous.save"
+            fi
+            [[ ! -r  "${standout}.previous" ]] && [[ -L "${standout}.latest" ]] && \
+              $mv -f "${standout}.latest" "${standout}.previous"
+         fi
+
+         [[ ! -r  "${standout}.latest" ]] && \
+           $ln -sf $(basename "${standout}.${suffix}") "${standout}.latest"
+         [[ ! -f "${mmsdrfsDir}mmfslog" ]] && \
+           $ln -sf "${standout}.latest" "${mmsdrfsDir}mmfslog"
+      fi
+
+      if [[ "$standout" != "$standerr" && -f "$standerr" ]]; then
+         $cat "$standerr" >> "${standerr}.${suffix}"
+         $chmod 644 "${standerr}.${suffix}"
+         exec 2>>"${standerr}.${suffix}"
+         $rm "$standerr"
+      fi
+   fi  # end of if [[ $foreground = false ]]
+
+   #-------------------------------------------------------------------------
+   # To prevent start/crash loops, this script creates/modifies a file
+   # that keeps a record of how often the MMFS daemon has been respawned
+   # and the daemon has not come up completely due to external influences.
+   # This file is removed by the daemon.
+   #
+   # If the file does not exist, create it with values "0 ${backoff}"; where
+   # the backoff is the initial sleep (default 7 seconds), designed so that
+   # the first three respawns will not occur within 20 seconds.
+   #
+   # If the file already exists, and the sleep we're about to take is less
+   # than 56 seconds, double the time for the next sleep.  If the upcoming
+   # sleep is greater than or equal to 56 seconds but less than 336 seconds,
+   # add another 56 seconds to the next sleep.  If the upcoming sleep is
+   # 336 seconds or more, the next sleep will be the same.  The count of the
+   # number of times we've slept waiting to respawn is always incremented
+   # by one.
+   #
+   # Note: file respawnlog isn't restored until just before an "exit" or
+   # "exec"; until then file respawnlog2 is used.  This helps to prevent
+   # the persistence of the respawn log between stop and start commands.
+   #-------------------------------------------------------------------------
+   if [[ -s "$respawnlog2" ]]; then
+      read count waitPeriod < "$respawnlog2"
+      if [[ $count != +([0-9]) || $waitPeriod != +([0-9]) ]]; then
+        (( count = 1 ))
+        (( waitPeriod = backoff ))
+      else
+        (( count += 1 ))
+      fi
+      if (( waitPeriod < 56 )); then
+         (( newWaitPeriod = waitPeriod * 2 ))
+      elif (( waitPeriod < 336 )); then
+         (( newWaitPeriod = waitPeriod + 56 ))
+      else
+         (( newWaitPeriod = waitPeriod ))
+      fi
+      print ${count} ${newWaitPeriod} > "$respawnlog2"
+      print "$(date) ${mmcmd}: respawn ${count} waiting ${waitPeriod} seconds before restarting mmfsd"
+
+      #---------------------------------------------------------------------
+      # Run the sleep in the background and then wait for it.  This lets
+      # the parent script get signals exactly when they're delivered.
+      # A side effect is that the sleep itself is protected from the signals,
+      # and will continue to run, but a "sleep" process consumes almost no
+      # resources, and will eventually wakeup and exit.
+      #---------------------------------------------------------------------
+      $sleep ${waitPeriod} &
+      wait
+
+   else
+      # file does not exist yet, create it.
+      (( newWaitPeriod = backoff ))
+      print 0 ${newWaitPeriod} > "$respawnlog2"
+
+   fi  # end of if [[ -s "$respawnlog2" ]]
+
+   #------------------------------------------------------
+   # Perform standard initialization.
+   # If something goes wrong, do not bring the daemon up.
+   #------------------------------------------------------
+   $mmfsenv $mmfsenvOpt
+   mmfsenvrc=$?
+   sourceFile="runmmfs.sh"  # restore value after in-line call to mmfsenv
+
+   #---------------------------------------------------------------------------
+   # Now check the return status from "mmfsenv"; if it's bad, restore the
+   # respawnlog file just before the exit and delete any old respawnlog2 files.
+   # If the error is in setting up the kernel extension, give up all together.
+   #---------------------------------------------------------------------------
+   if [[ $mmfsenvrc -eq $MM_KExtFailure ]]; then
+      print "$(date) ${mmcmd}: error in loading or unloading the mmfs kernel extension"
+      print "$(date) ${mmcmd}: stopping GPFS"
+
+      $rm -f "${respawnlog}"* $rerunmmfsFile
+      $mmTRACE_EXIT "rc=$mmfsenvrc  mmfsenv error"
+      exit $mmfsenvrc
+
+   elif [[ $mmfsenvrc != 0 ]]; then
+      print "$(date) ${mmcmd}: error preparing environment for mmfsd"
+      print "$(date) ${mmcmd}: will try again in ${newWaitPeriod} seconds"
+      $mv -f "$respawnlog2" "$respawnlog"
+      $rm -f "${respawnlog}".*
+      $mmTRACE_EXIT "rc=$mmfsenvrc  mmfsenv error"
+
+      # If the rerunmmfsFile is present, go back to the top
+      # of the loop for another iteration.  Otherwise we exit.
+      [[ -n $DAEMONIZE && -f "$rerunmmfsFile" ]] && continue
+
+      $rm -f $rerunmmfsFile
+      exit $mmfsenvrc
+   fi
+
+   #-----------------------------------------------------
+   # Start the MMFS daemon.
+   # Restore the respawnlog file just before the "exec".
+   #-----------------------------------------------------
+   ulimit -d unlimited
+   ulimit -m unlimited
+   ulimit -f unlimited
+   ulimit -t unlimited
+   ulimit -n 1000000   # virtually unlimited while still an acceptable value
+   ulimit -c 1024      # keep core files small
+
+   # Start tracing if the environment variable is set.
+   [[ -n "$MMTRACE" ]] && $mmtrace
+
+   if [[ -n "$MMFSCONFIG" ]]; then
+      MMARGS="-d $MMFSCONFIG"
+   else
+      MMARGS=""
+   fi
+   $mmTRACE "---> Starting GPFS daemon from runmmfs."
+   $mv -f "$respawnlog2" "$respawnlog"
+   $rm -f "${respawnlog}".*
+
+   # If we are spawned by daemonize and $rerunmmfsFile exists,
+   # then we'll be responsible for restarting GPFS.
+   if [[ -n $DAEMONIZE ]]; then
+     $mmfsd $MMARGS
+     rc=$?
+
+     # If rc is 101 (i.e., this daemon discovered a previously-running
+     # incarnation of mmfsd), just get out and do not erase $rerunmmfsFile,
+     # since it belongs to the other instance.
+     [[ $rc = 101 ]] && exit $rc
+
+     # Continue to the beginning of the loop for restart of mmfsd.
+     [[ -f "$rerunmmfsFile" ]] && continue
+     exit
+   fi
+    
+   exec $mmfsd $MMARGS
+
+done
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/data/GPFSOML030100.sys
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/data/GPFSOML030100.sys	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/data/GPFSOML030100.sys	(revision 16)
@@ -0,0 +1,10 @@
+         
+         
+         
+         
+         
+         
+         
+         
+         
+         
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/data/openssl.conf
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/data/openssl.conf	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/data/openssl.conf	(revision 16)
@@ -0,0 +1,8 @@
+[ req ]
+default_bits            = 512
+distinguished_name      = req_distinguished_name
+prompt                  = no
+
+[ req_distinguished_name ]
+commonName              = gpfsCluster
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/descfile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/descfile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/descfile	(revision 16)
@@ -0,0 +1,2 @@
+# /dev/sdb1:localhost::dataAndMetadata::
+gpfs1nsd:::dataAndMetadata:4001::
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/gpfs.node
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/gpfs.node	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/gpfs.node	(revision 16)
@@ -0,0 +1,1 @@
+localhost:quorum
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/include/dmapi.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/include/dmapi.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/include/dmapi.h	(revision 16)
@@ -0,0 +1,595 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* Restricted Materials of IBM                                            */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 1997,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+/* @(#)05       1.10  src/avs/fs/mmfs/ts/dm/dmapi.h, mmfs, avs_rgpfs24, rgpfs240610b 2/26/06 23:00:30 */
+
+/*
+ * $Id: dmapi.h,v 1.10 2006/02/24 20:38:21 wyllie Exp $
+ *
+ * $Log: dmapi.h,v $
+ * Revision 1.10  2006/02/24 20:38:21  wyllie
+ * Run cindent; no functional changes
+ *
+ * Revision 1.9  1999/12/21 11:09:03  mcnabb
+ * Complete standard header material
+ *
+ */
+
+#ifndef _DMAPI_H
+#define _DMAPI_H
+
+#include <errno.h>
+#include "dmapi_types.h"
+
+/*
+ * Function declarations for GPFS DMAPI
+ */
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+  extern int dm_clear_inherit(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_attrname_t           *attrnamep      /* IN */
+         );
+
+  extern int dm_create_by_handle(
+          dm_sessid_t             sid,            /* IN */
+          void                    *dirhanp,       /* IN */
+          size_t                  dirhlen,        /* IN */
+          dm_token_t              token,          /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          char                    *cname          /* IN */
+         );
+
+  extern int dm_create_session(
+          dm_sessid_t             oldsid,         /* IN */
+          char                    *sessinfop,     /* IN */
+          dm_sessid_t             *newsidp        /* OUT */
+         );
+
+  extern int dm_create_userevent(
+          dm_sessid_t             sid,            /* IN */
+          size_t                  msglen,         /* IN */
+          void                    *msgdatap,      /* IN */
+          dm_token_t              *tokenp         /* OUT */
+         );
+
+  extern int dm_destroy_session(
+          dm_sessid_t             sid             /* IN */
+         );
+
+  extern int dm_downgrade_right(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token           /* IN */
+         );
+
+  extern int dm_fd_to_handle(
+          int                     fd,             /* IN */
+          void                    **hanpp,        /* OUT */
+          size_t                  *hlenp          /* OUT */
+         );
+
+  extern int dm_find_eventmsg(
+          dm_sessid_t             sid,            /* IN */
+          dm_token_t              token,          /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_get_allocinfo(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_off_t                *offp,          /* IN/OUT */
+          u_int                   nelem,          /* IN */
+          dm_extent_t             *extentp,       /* OUT */
+          u_int                   *nelemp         /* OUT */
+         );
+
+  extern int dm_get_bulkall(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   mask,           /* IN */
+          dm_attrname_t           *attrnamep,     /* IN */
+          dm_attrloc_t            *locp,          /* IN/OUT */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_get_bulkattr(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   mask,           /* IN */
+          dm_attrloc_t            *locp,          /* IN/OUT */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_get_config(
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_config_t             flagname,       /* IN */
+          dm_size_t               *retvalp        /* OUT */
+         );
+
+  extern int dm_get_config_events(
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          u_int                   nelem,          /* IN */
+          dm_eventset_t           *eventsetp,     /* OUT */
+          u_int                   *nelemp         /* OUT */
+         );
+
+  extern int dm_get_dirattrs(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   mask,           /* IN */
+          dm_attrloc_t            *locp,          /* IN/OUT */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_get_dmattr(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_attrname_t           *attrnamep,     /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_get_eventlist(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   nelem,          /* IN */
+          dm_eventset_t           *eventsetp,     /* OUT */
+          u_int                   *nelemp         /* OUT */
+         );
+
+  extern int dm_get_events(
+          dm_sessid_t             sid,            /* IN */
+          u_int                   maxmsgs,        /* IN */
+          u_int                   flags,          /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_get_fileattr(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   mask,           /* IN */
+          dm_stat_t               *statp          /* OUT */
+         );
+
+  extern int dm_get_mountinfo(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_get_region(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   nelem,          /* IN */
+          dm_region_t             *regbufp,       /* OUT */
+          u_int                   *nelemp         /* OUT */
+         );
+
+  extern int dm_getall_disp(
+          dm_sessid_t             sid,            /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_getall_dmattr(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_getall_inherit(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   nelem,          /* IN */
+          dm_inherit_t            *inheritbufp,   /* OUT */
+          u_int                   *nelemp         /* OUT */
+         );
+
+  extern int dm_getall_sessions(
+          u_int                   nelem,          /* IN */
+          dm_sessid_t             *sidbufp,       /* OUT */
+          u_int                   *nelemp         /* OUT */
+         );
+
+  extern int dm_getall_tokens(
+          dm_sessid_t             sid,            /* IN */
+          u_int                   nelem,          /* IN */
+          dm_token_t              *tokenbufp,     /* OUT */
+          u_int                   *nelemp         /* OUT */
+         );
+
+  extern int dm_handle_cmp(
+          void                    *hanp1,         /* IN */
+          size_t                  hlen1,          /* IN */
+          void                    *hanp2,         /* IN */
+          size_t                  hlen2           /* IN */
+         );
+
+  extern void dm_handle_free(
+          void                    *hanp,          /* IN */
+          size_t                  hlen            /* IN */
+         );
+
+  extern u_int dm_handle_hash(
+          void                    *hanp,          /* IN */
+          size_t                  hlen            /* IN */
+         );
+
+  extern dm_boolean_t dm_handle_is_valid(
+          void                    *hanp,          /* IN */
+          size_t                  hlen            /* IN */
+         );
+
+  extern int dm_handle_to_fshandle(
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          void                    **fshanpp,      /* OUT */
+          size_t                  *fslenp         /* OUT */
+         );
+
+  extern int dm_handle_to_fsid(
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_fsid_t               *fsidp          /* OUT */
+         );
+
+  extern int dm_handle_to_igen(
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_igen_t               *igenp          /* OUT */
+         );
+
+  extern int dm_handle_to_ino(
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_ino_t                *inop           /* OUT */
+         );
+
+  extern int dm_handle_to_path(
+          void                    *dirhanp,       /* IN */
+          size_t                  dirhlen1,       /* IN */
+          void                    *targhanp,      /* IN */
+          size_t                  targhlen,       /* IN */
+          size_t                  buflen,         /* IN */
+          char                    *pathbufp,      /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern int dm_init_attrloc(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_attrloc_t            *locp           /* OUT */
+         );
+
+  extern int dm_init_service(
+          char                    **versionstrpp  /* OUT */
+         );
+
+  extern int dm_make_fshandle(
+          dm_fsid_t               *fsidp,         /* IN */
+          void                    **hanpp,        /* OUT */
+          size_t                  *hlenp          /* OUT */
+         );
+
+  extern int dm_make_handle(
+          dm_fsid_t               *fsidp,         /* IN */
+          dm_ino_t                *inop,          /* IN */
+          dm_igen_t               *igenp,         /* IN */
+          void                    **hanpp,        /* OUT */
+          size_t                  *hlenp          /* OUT */
+         );
+
+  extern int dm_mkdir_by_handle(
+          dm_sessid_t             sid,            /* IN */
+          void                    *dirhanp,       /* IN */
+          size_t                  dirhlen,        /* IN */
+          dm_token_t              token,          /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          char                    *cname          /* IN */
+         );
+
+  extern int dm_move_event(
+          dm_sessid_t             srcsid,         /* IN */
+          dm_token_t              token,          /* IN */
+          dm_sessid_t             targetsid,      /* IN */
+          dm_token_t              *rtokenp        /* OUT */
+         );
+
+  extern int dm_obj_ref_hold(
+          dm_sessid_t             sid,            /* IN */
+          dm_token_t              token,          /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen            /* IN */
+         );
+
+  extern int dm_obj_ref_query(
+          dm_sessid_t             sid,            /* IN */
+          dm_token_t              token,          /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen            /* IN */
+         );
+
+  extern int dm_obj_ref_rele(
+          dm_sessid_t             sid,            /* IN */
+          dm_token_t              token,          /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen            /* IN */
+         );
+
+  extern int dm_path_to_fshandle(
+          char                    *path,          /* IN */
+          void                    **hanpp,        /* OUT */
+          size_t                  *hlenp          /* OUT */
+         );
+
+  extern int dm_path_to_handle(
+          char                    *path,          /* IN */
+          void                    **hanpp,        /* OUT */
+          size_t                  *hlenp          /* OUT */
+         );
+
+  extern int dm_pending(
+          dm_sessid_t             sid,            /* IN */
+          dm_token_t              token,          /* IN */
+          dm_timestruct_t         *delay          /* IN */
+         );
+
+  extern int dm_probe_hole(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_off_t                off,            /* IN */
+          dm_size_t               len,            /* IN */
+          dm_off_t                *roffp,         /* OUT */
+          dm_size_t               *rlenp          /* OUT */
+         );
+
+  extern int dm_punch_hole(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_off_t                off,            /* IN */
+          dm_size_t               len             /* IN */
+         );
+
+  extern int dm_query_right(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_right_t              *rightp         /* OUT */
+         );
+
+  extern int dm_query_session(
+          dm_sessid_t             sid,            /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *bufp,          /* OUT */
+          size_t                  *rlenp          /* OUT */
+         );
+
+  extern dm_ssize_t dm_read_invis(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_off_t                off,            /* IN */
+          dm_size_t               len,            /* IN */
+          void                    *bufp           /* OUT */
+         );
+
+  extern int dm_release_right(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token           /* IN */
+         );
+
+  extern int dm_remove_dmattr(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          int                     setdtime,       /* IN */
+          dm_attrname_t           *attrnamep      /* IN */
+         );
+
+  extern int dm_request_right(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   flags,          /* IN */
+          dm_right_t              right           /* IN */
+         );
+
+  extern int dm_respond_event(
+          dm_sessid_t             sid,            /* IN */
+          dm_token_t              token,          /* IN */
+          dm_response_t           response,       /* IN */
+          int                     reterror,       /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *respbufp       /* IN */
+         );
+
+  extern int dm_send_msg(
+          dm_sessid_t             targetsid,      /* IN */
+          dm_msgtype_t            msgtype,        /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *bufp           /* IN */
+         );
+
+  extern int dm_set_disp(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_eventset_t           *eventsetp,     /* IN */
+          u_int                   maxevent        /* IN */
+         );
+
+  extern int dm_set_dmattr(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_attrname_t           *attrnamep,     /* IN */
+          int                     setdtime,       /* IN */
+          size_t                  buflen,         /* IN */
+          void                    *bufp           /* IN */
+         );
+
+  extern int dm_set_eventlist(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_eventset_t           *eventsetp,     /* IN */
+          u_int                   maxevent        /* IN */
+         );
+
+  extern int dm_set_fileattr(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   mask,           /* IN */
+          dm_fileattr_t           *attrp          /* IN */
+         );
+
+  extern int dm_set_inherit(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_attrname_t           *attrnamep,     /* IN */
+          mode_t                  mode            /* IN */
+         );
+
+  extern int dm_set_region(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          u_int                   nelem,          /* IN */
+          dm_region_t             *regbufp,       /* IN */
+          dm_boolean_t            *exactflagp     /* OUT */
+         );
+
+  extern int dm_set_return_on_destroy(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          dm_attrname_t           *attrnamep,     /* IN */
+          dm_boolean_t            enable          /* IN */
+         );
+
+  extern int dm_symlink_by_handle(
+          dm_sessid_t             sid,            /* IN */
+          void                    *dirhanp,       /* IN */
+          size_t                  dirhlen,        /* IN */
+          dm_token_t              token,          /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          char                    *cname,         /* IN */
+          char                    *path           /* IN */
+         );
+
+  extern int dm_sync_by_handle(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token           /* IN */
+         );
+
+  extern int dm_upgrade_right(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token           /* IN */
+         );
+
+  extern dm_ssize_t dm_write_invis(
+          dm_sessid_t             sid,            /* IN */
+          void                    *hanp,          /* IN */
+          size_t                  hlen,           /* IN */
+          dm_token_t              token,          /* IN */
+          int                     flags,          /* IN */
+          dm_off_t                off,            /* IN */
+          dm_size_t               len,            /* IN */
+          void                    *bufp           /* IN */
+         );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _DMAPI_H */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/include/dmapi_types.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/include/dmapi_types.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/include/dmapi_types.h	(revision 16)
@@ -0,0 +1,752 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* Restricted Materials of IBM                                            */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 1997,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+/* @(#)06       1.27.1.4  src/avs/fs/mmfs/ts/dm/dmapi_types.h, mmfs, avs_rgpfs24, rgpfs24s008a 12/11/06 13:44:59 */
+
+/*
+ * $Id: dmapi_types.h,v 1.30.4.4 2006/12/11 19:43:56 mcnabb Exp $
+ *
+ * $Log: dmapi_types.h,v $
+ * Revision 1.30.4.4  2006/12/11 19:43:56  mcnabb
+ * Remove poolid in stat structure.
+ *
+ * Revision 1.30.4.3  2006/12/05 07:04:58  mcnabb
+ * For Defect 580710:
+ *
+ * Remove #ifdef POLICY_RESTORE and add 4 bytes padding to dm_stat structure.
+ *
+ * Revision 1.30.4.2  2006/06/22 15:21:21  mcnabb
+ * Added data poolId to dm_stat structure under POLICY_RESTORE ifdef
+ *
+ * Revision 1.30.4.1  2006/06/05 22:27:27  mcnabb
+ * Defect 542420: LNX86 GPFS 64bit EM64T: recall daemons cores in dmapi macro
+ * Make 32bit DMAPI library work on 64bit Linux.
+ *
+ * Revision 1.30  2006/03/10 06:30:08  schmuck
+ * Prune check-in history.  No code change.
+ *
+ * Revision 1.29  2006/02/24 20:38:21  wyllie
+ * Run cindent; no functional changes
+ *
+ * [ 9 log messages deleted ]
+ *
+ * Revision 1.19  1999/12/21  11:09:04  mcnabb
+ * Complete standard header material
+ *
+ */
+
+#ifndef _DMAPI_TYPES_H
+#define _DMAPI_TYPES_H
+
+#include <sys/types.h>
+
+/*
+ * Type definitions for GPFS DMAPI external interfaces
+ */
+
+/* Basic scalar types */
+
+typedef int                     dm_signed32;
+typedef unsigned int            dm_unsigned32;
+typedef long long               dm_signed64;
+typedef unsigned long long      dm_unsigned64;
+
+struct  dm32_scalar128
+{
+  dm_unsigned32  high1;
+  dm_unsigned32  high2;
+  dm_unsigned32  low1;
+  dm_unsigned32  low2;
+};
+
+typedef struct dm32_scalar128 dm32_scalar128;
+
+struct dm_scalar128
+{
+  dm_unsigned64  high;
+  dm_unsigned64  low;
+#ifdef __cplusplus
+  int operator == (const dm_scalar128& rhs) const
+    { return high == rhs.high && low == rhs.low; };
+  int operator != (const dm_scalar128& rhs) const
+    { return high != rhs.high || low != rhs.low; };
+  int operator < (const dm_scalar128& rhs) const
+    { return high < rhs.high || (high == rhs.high && low < rhs.low); };
+  int operator > (const dm_scalar128& rhs) const
+    { return high > rhs.high || (high == rhs.high && low > rhs.low); };
+  int operator <= (const dm_scalar128& rhs) const
+    { return high < rhs.high || (high == rhs.high && low <= rhs.low); };
+  int operator >= (const dm_scalar128& rhs) const
+    { return high > rhs.high || (high == rhs.high && low >= rhs.low); };
+#endif  /* __cplusplus */
+};
+typedef struct dm_scalar128 dm_scalar128;
+
+#define DM_SCALAR128_EQ(x, y) (((x).high==(y).high) && ((x).low==(y).low))
+#define DM_SCALAR128_NE(x, y) (((x).high!=(y).high) || ((x).low!=(y).low))
+#define DM_SCALAR128_LT(x, y) (((x).high<(y).high) || (((x).high==(y).high) && ((x).low<(y).low)))
+#define DM_SCALAR128_GT(x, y) (((x).high>(y).high) || (((x).high==(y).high) && ((x).low>(y).low)))
+#define DM_SCALAR128_LE(x, y) (((x).high<(y).high) || (((x).high==(y).high) && ((x).low<=(y).low)))
+#define DM_SCALAR128_GE(x, y) (((x).high>(y).high) || (((x).high==(y).high) && ((x).low>=(y).low)))
+
+typedef dm_signed64     dm_off_t;
+typedef dm_unsigned64   dm_size_t;
+typedef dm_signed64     dm_ssize_t;
+
+#ifndef GPFS_LINUX
+typedef ino_t dm_ino_t;
+#else
+typedef dm_unsigned64 dm_ino_t; 
+#endif
+
+typedef enum
+{
+  DM_FALSE = 0,
+  DM_TRUE = 1
+} dm_boolean_t;
+
+/* Iterator for a filesystem scan */
+typedef dm_signed64  dm_attrloc_t;
+
+/* Variable-length data */
+struct dm_vardata
+{
+  int              vd_offset;
+  unsigned int     vd_length;
+};
+typedef struct dm_vardata dm_vardata_t;
+
+/* Interpreters for variable length data */
+
+#define DM_GET_LEN(basePtr, vardataFieldName)                   \
+         (((basePtr)->vardataFieldName.vd_offset == 0) ?        \
+          (size_t)DM_INVALID_HLEN :                             \
+          (((basePtr)->vardataFieldName.vd_offset == 1) ?       \
+           (size_t)DM_GLOBAL_HLEN :                             \
+           ((basePtr)->vardataFieldName.vd_length)              \
+        ))
+
+/* The prtType parameter in the DM_GET_VALUE() macro is pointer type
+   (for example "int *"). The value of the macro is a pointer of the give type,
+   or NULL if the data length (as given by the DM_GET_LEN() macro) is zero. */
+#define DM_GET_VALUE(basePtr, vardataFieldName, ptrType)        \
+         (((basePtr)->vardataFieldName.vd_offset == 0) ?        \
+          (ptrType)DM_INVALID_HANP :                            \
+          (((basePtr)->vardataFieldName.vd_offset == 1) ?       \
+           (ptrType)DM_GLOBAL_HANP :                            \
+            (((basePtr)->vardataFieldName.vd_length == 0) ?     \
+             NULL :                                             \
+             (ptrType)((char *)(basePtr)+(basePtr)->vardataFieldName.vd_offset)\
+        )))
+
+/* Iterator for lists of variable length structures */
+
+/* The ptrType parameter in the DM_STEP_TO_NEXT() macro is a pointer type
+   (for example "dm_attrlist_t *"). The value of the macro is a pointer
+   of the given type, or NULL if the current element is the last in the list.*/
+#define DM_STEP_TO_NEXT(basePtr, ptrType)            \
+             (((basePtr)->_link == 0) ? NULL :       \
+              (ptrType)((char *)(basePtr) + (basePtr)->_link))
+
+#define DM_ATTR_NAME_SIZE       8
+
+/* Name of an extended attribute */
+struct dm_attrname
+{
+  u_char              an_chars[DM_ATTR_NAME_SIZE];
+};
+typedef struct dm_attrname dm_attrname_t;
+
+/* Session identifier */
+typedef dm_unsigned64  dm_sessid_t;
+
+/* Node identifier */
+typedef dm_unsigned32  dm_nodeid_t;  /* GPFS Specific - not in XDSM standard */
+
+/* List of extended attributes */
+struct dm_attrlist
+{
+  dm_ssize_t          _link;
+  dm_attrname_t       al_name;
+  dm_vardata_t        al_data;
+};
+typedef struct dm_attrlist      dm_attrlist_t;
+
+/* Attributes of the GPFS DMAPI implementation */
+typedef enum
+{
+  DM_CONFIG_INVALID,                /* Lower than any attribute */
+  DM_CONFIG_BULKALL,
+  DM_CONFIG_CREATE_BY_HANDLE,
+  DM_CONFIG_DTIME_OVERLOAD,
+  DM_CONFIG_LEGACY,
+  DM_CONFIG_LOCK_UPGRADE,
+  DM_CONFIG_MAX_ATTR_ON_DESTROY,
+  DM_CONFIG_MAX_ATTRIBUTE_SIZE,
+  DM_CONFIG_MAX_HANDLE_SIZE,
+  DM_CONFIG_MAX_MANAGED_REGIONS,
+  DM_CONFIG_MAX_MESSAGE_DATA,
+  DM_CONFIG_OBJ_REF,
+  DM_CONFIG_PENDING,
+  DM_CONFIG_PERS_ATTRIBUTES,
+  DM_CONFIG_PERS_EVENTS,
+  DM_CONFIG_PERS_INHERIT_ATTRIBS,
+  DM_CONFIG_PERS_MANAGED_REGIONS,
+  DM_CONFIG_PUNCH_HOLE,
+  DM_CONFIG_TOTAL_ATTRIBUTE_SPACE,
+  DM_CONFIG_WILL_RETRY,
+  DM_CONFIG_MAX                   /* GPFS specific - higher than any attribute */
+} dm_config_t;
+
+#define DM_CONFIG_LOWEST  (DM_CONFIG_INVALID + 1)  /* GPFS specific - lowest attribute  */
+#define DM_CONFIG_HIGHEST (DM_CONFIG_MAX -1)       /* GPFS specific - highest attribute */
+
+/* Names of events */
+typedef enum
+{
+  DM_EVENT_INVALID,           /* Lower than any event */
+  DM_EVENT_CLOSE,
+  DM_EVENT_MOUNT,
+  DM_EVENT_PREUNMOUNT,        DM_EVENT_UNMOUNT,
+  DM_EVENT_NOSPACE,
+  DM_EVENT_DEBUT,
+  DM_EVENT_CREATE,            DM_EVENT_POSTCREATE,
+  DM_EVENT_REMOVE,            DM_EVENT_POSTREMOVE,
+  DM_EVENT_RENAME,            DM_EVENT_POSTRENAME,
+  DM_EVENT_SYMLINK,           DM_EVENT_POSTSYMLINK,
+  DM_EVENT_LINK,              DM_EVENT_POSTLINK,
+  DM_EVENT_READ,
+  DM_EVENT_WRITE,
+  DM_EVENT_TRUNCATE,
+  DM_EVENT_ATTRIBUTE,
+  DM_EVENT_CANCEL,
+  DM_EVENT_DESTROY,
+  DM_EVENT_USER,
+  DM_EVENT_MAX               /* Higher than any event */
+} dm_eventtype_t;
+
+/* Set of events */
+typedef dm_unsigned32   dm_eventset_t;
+
+#define DM_EVENT_LOWEST  (DM_EVENT_INVALID + 1) /* GPFS specific - lowest event */
+#define DM_EVENT_HIGHEST (DM_EVENT_MAX - 1)     /* GPFS specific - highest event */
+
+/* Operations on sets of events */
+
+#define DMEV_SET(ev, eset)     (((((int) (ev)) >= DM_EVENT_LOWEST)                      \
+                                    && (((int) (ev)) <= DM_EVENT_HIGHEST))               \
+                                 ? (eset) |= (((dm_eventset_t) 1) << (((int) (ev)) - 1))  \
+                                 : (eset))
+
+#define DMEV_CLR(ev, eset)     (((((int) (ev)) >= DM_EVENT_LOWEST)                      \
+                                    && (((int) (ev)) <= DM_EVENT_HIGHEST))               \
+                                 ? (eset) &= ~(((dm_eventset_t) 1) << (((int) (ev)) - 1)) \
+                                 : (eset))
+
+#define DMEV_ZERO(eset)        ((eset) = (dm_eventset_t) DM_EVENT_INVALID)
+
+
+#define DMEV_ISSET(ev, eset)   ((((int) (ev)) >= DM_EVENT_LOWEST)                        \
+                                && (((int) (ev)) <= DM_EVENT_HIGHEST)                    \
+                                && (((dm_eventset_t) (eset)) & (((dm_eventset_t) 1) << (((int) (ev)) - 1))))
+
+/* GPFS Specific event set operations -  not in XDSM standard */
+
+/* Add all events to eset */
+#define DMEV_ALL(eset)         ((eset) = ~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))
+
+/* check if eset is empty (contains no events) */
+#define DMEV_ISZERO(eset) ((((dm_eventset_t) (eset)) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))) == (dm_eventset_t) DM_EVENT_INVALID)
+
+/* check if eset contains all events */
+#define DMEV_ISALL(eset) ((((dm_eventset_t) (eset)) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))) == ~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))
+
+/* Add to eset2 all events of eset1 */
+#define DMEV_ADD(eset1, eset2) ((eset2) = ((((dm_eventset_t) (eset1)) | ((dm_eventset_t) (eset2))) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))))
+
+/* Remove from eset2 all events of eset1 */
+#define DMEV_REM(eset1, eset2) ((eset2) = (((dm_eventset_t) (eset2)) & (~((dm_eventset_t) (eset1)))))
+
+/* Restrict eset2 by eset1 (remove from eset2 any event that is not in eset1) */
+#define DMEV_RES(eset1, eset2) ((eset2) = ((((dm_eventset_t) (eset1)) & ((dm_eventset_t) (eset2))) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))))
+
+/* Check if eset1 and eset2 are equal (have the same events) */
+#define DMEV_ISEQ(eset1, eset2)  ((((dm_eventset_t) (eset1)) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))) == (((dm_eventset_t) (eset2)) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))))
+
+/* Check if eset1 and eset2 are disjoint (have no events in common) */
+#define DMEV_ISDISJ(eset1, eset2)  ((((dm_eventset_t) (eset1)) & ((dm_eventset_t) (eset2)) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))) == (dm_eventset_t) DM_EVENT_INVALID)
+
+/* Check if eset1 is a subset of eset2 (all events of eset1 are in eset2) */
+#define DMEV_ISSUB(eset1, eset2)  ((((dm_eventset_t) (eset1)) & ((dm_eventset_t) (eset2)) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))) == (((dm_eventset_t) (eset1)) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))))
+
+/* Normalize the contents of eset (unused bits in the mask are cleared).
+   Useful if eset was not obtained entirely by means of DMEV_XXX() macros*/
+#define DMEV_NORM(eset)  ((eset) = (((dm_eventset_t)(eset)) & (~((~((dm_eventset_t) DM_EVENT_INVALID)) << DM_EVENT_HIGHEST))))
+
+/* Extent types */
+typedef enum
+{
+  DM_EXTENT_INVALID,
+  DM_EXTENT_RES,
+  DM_EXTENT_HOLE
+} dm_extenttype_t;
+
+struct dm_extent
+{
+  dm_extenttype_t     ex_type;
+  dm_signed32         ex_pad_to_dword;  /* dm_off_t is 64b, need to pad */
+  dm_off_t            ex_offset;
+  dm_size_t           ex_length;
+};
+typedef struct dm_extent dm_extent_t;
+
+/* Disposition information */
+struct dm_dispinfo
+{
+  dm_ssize_t          _link;
+  dm_vardata_t        di_fshandle;
+  dm_eventset_t       di_eventset;
+};
+typedef struct dm_dispinfo dm_dispinfo_t;
+
+typedef dm_scalar128 dm_token_t;
+typedef dm32_scalar128 dm32_token_t;
+
+/* Comparison macros for tokens - GPFS specific - not in XDSM standard */
+#define DM_TOKEN_EQ(x, y)  DM_SCALAR128_EQ(x, y)
+#define DM_TOKEN_NE(x, y)  DM_SCALAR128_NE(x, y)
+#define DM_TOKEN_LT(x, y)  DM_SCALAR128_LT(x, y)
+#define DM_TOKEN_GT(x, y)  DM_SCALAR128_GT(x, y)
+#define DM_TOKEN_LE(x, y)  DM_SCALAR128_LE(x, y)
+#define DM_TOKEN_GE(x, y)  DM_SCALAR128_GE(x, y)
+
+/* Sequence number for event cancellation */
+typedef dm_scalar128 dm_sequence_t;
+typedef dm32_scalar128 dm32_sequence_t;
+
+/* Comparison macros for sequence numbers - GPFS specific - not in XDSM standard */
+#define DM_SEQUENCE_EQ(x, y)  DM_SCALAR128_EQ(x, y)
+#define DM_SEQUENCE_NE(x, y)  DM_SCALAR128_NE(x, y)
+#define DM_SEQUENCE_LT(x, y)  DM_SCALAR128_LT(x, y)
+#define DM_SEQUENCE_GT(x, y)  DM_SCALAR128_GT(x, y)
+#define DM_SEQUENCE_LE(x, y)  DM_SCALAR128_LE(x, y)
+#define DM_SEQUENCE_GE(x, y)  DM_SCALAR128_GE(x, y)
+
+/* Event message header */
+struct dm_eventmsg
+{
+  dm_ssize_t          _link;
+  dm_eventtype_t      ev_type;
+  dm_token_t          ev_token;
+  dm_sequence_t       ev_sequence;
+  dm_nodeid_t         ev_nodeid;   /* GPFS specific - not in XDSM standard */
+  dm_vardata_t        ev_data;
+};
+typedef struct dm_eventmsg dm_eventmsg_t;
+
+struct dm32_eventmsg
+{
+  dm_ssize_t          _link;
+  dm_eventtype_t      ev_type;
+  dm32_token_t        ev_token;
+  dm32_sequence_t     ev_sequence;
+  dm_nodeid_t         ev_nodeid;   /* GPFS specific - not in XDSM standard */
+  dm_vardata_t        ev_data;
+};
+typedef struct dm32_eventmsg dm32_eventmsg_t;
+typedef struct dm_eventmsg dm64_eventmsg_t;
+
+/* Cancel event message */
+struct dm_cancel_event
+{
+  dm_sequence_t       ce_sequence;
+  dm_token_t          ce_token;
+};
+typedef struct dm_cancel_event dm_cancel_event_t;
+
+/* Data event message */
+struct dm_data_event
+{
+  dm_vardata_t        de_handle;
+  dm_off_t            de_offset;
+  dm_size_t           de_length;
+};
+typedef struct dm_data_event dm_data_event_t;
+
+/* Destroy event message */
+struct dm_destroy_event
+{
+  dm_vardata_t        ds_handle;
+  dm_attrname_t       ds_attrname;
+  dm_vardata_t        ds_attrcopy;
+};
+typedef struct dm_destroy_event dm_destroy_event_t;
+
+/* Mount event message */
+struct dm_mount_event
+{
+  mode_t              me_mode;
+  dm_vardata_t        me_handle1;
+  dm_vardata_t        me_handle2;
+  dm_vardata_t        me_name1;
+  dm_vardata_t        me_name2;
+  dm_vardata_t        me_roothandle;
+};
+typedef struct dm_mount_event dm_mount_event_t;
+
+/* Namespace event message */
+struct dm_namesp_event
+{
+  mode_t              ne_mode;
+  dm_vardata_t        ne_handle1;
+  dm_vardata_t        ne_handle2;
+  dm_vardata_t        ne_name1;
+  dm_vardata_t        ne_name2;
+  int                 ne_retcode;
+};
+typedef struct dm_namesp_event  dm_namesp_event_t;
+
+/* Flags for the mode field of mount, preunmount and unmount event messages */
+#define DM_MOUNT_RDONLY       (0x1)
+#define DM_UNMOUNT_FORCE      (0x2)
+#define DM_LOCAL_MOUNT        (0x4) /* GPFS specific - not in XDSM standard */
+#define DM_REMOTE_MOUNT       (0x8) /* GPFS specific - not in XDSM standard */
+
+struct dm_timestruct
+{
+  time_t              dm_tv_sec;
+  dm_signed32         dm_tv_nsec;
+};
+typedef struct dm_timestruct  dm_timestruct_t;
+
+/* DMAPI file attributes */
+struct dm_fileattr
+{
+  mode_t              fa_mode;
+  uid_t               fa_uid;
+  gid_t               fa_gid;
+  time_t              fa_atime;
+  time_t              fa_mtime;
+  time_t              fa_ctime;
+  time_t              fa_dtime;
+  dm_off_t            fa_size;
+};
+typedef struct dm_fileattr  dm_fileattr_t;
+
+struct dm_fileattr32
+{
+  mode_t              fa_mode;
+  uid_t               fa_uid;
+  gid_t               fa_gid;
+  dm_signed32         fa_atime;
+  dm_signed32         fa_mtime;
+  dm_signed32         fa_ctime;
+  dm_signed32         fa_dtime;
+  dm_off_t            fa_size;
+};
+typedef struct dm_fileattr32  dm_fileattr32_t;
+
+struct dm_fileattr64
+{
+  mode_t              fa_mode;
+  uid_t               fa_uid;
+  gid_t               fa_gid;
+  dm_signed32         fa_pad_to_dword;
+  dm_signed64         fa_atime;
+  dm_signed64         fa_mtime;
+  dm_signed64         fa_ctime;
+  dm_signed64         fa_dtime;
+  dm_off_t            fa_size;
+};
+typedef struct dm_fileattr64  dm_fileattr64_t;
+
+/* Message types for user events */
+typedef enum
+{
+  DM_MSGTYPE_INVALID,
+  DM_MSGTYPE_SYNC,
+  DM_MSGTYPE_ASYNC
+} dm_msgtype_t;
+
+/* Region descriptor */
+struct dm_region
+{
+  dm_off_t            rg_offset;
+  dm_size_t           rg_size;
+  u_int               rg_flags;
+  dm_signed32         rg_opaque; /* GPFS specific - not in XDSM standard */
+};
+typedef struct dm_region dm_region_t;
+
+#define DM_REGION_NOEVENT       (0x0)
+#define DM_REGION_READ          (0x1)
+#define DM_REGION_WRITE         (0x2)
+#define DM_REGION_TRUNCATE      (0x4)
+
+/* Responses for dm_respond_event() */
+typedef enum
+{
+  DM_RESP_INVALID,
+  DM_RESP_CONTINUE,
+  DM_RESP_ABORT,
+  DM_RESP_DONTCARE
+} dm_response_t;
+
+/* Access rights */
+typedef enum
+{
+  DM_RIGHT_NULL,
+  DM_RIGHT_SHARED,
+  DM_RIGHT_EXCL
+} dm_right_t;
+
+/* Status information */
+struct dm_stat
+{
+  dm_ssize_t          _link;
+  dm_vardata_t        dt_handle;
+  dm_vardata_t        dt_compname;
+  dm_eventset_t       dt_emask;
+  int                 dt_nevents;
+  int                 dt_pers;
+  int                 dt_pmanreg;
+  time_t              dt_dtime;
+  u_int               dt_change;
+  dev_t               dt_dev;
+  dm_ino_t            dt_ino; 
+  mode_t              dt_mode;
+  nlink_t             dt_nlink;
+  uid_t               dt_uid;
+  gid_t               dt_gid;
+  dev_t               dt_rdev;
+  dm_off_t            dt_size;
+  time_t              dt_atime;
+  time_t              dt_mtime;
+  time_t              dt_ctime;
+  u_int               dt_blksize;
+  dm_size_t           dt_blocks;
+  int                 dt_gpfsqa1; /* GPFS specific - not in XDSM standard */
+  int                 dt_gpfsqa2; /* GPFS specific - not in XDSM standard */
+};
+typedef struct dm_stat  dm_stat_t;
+
+#if SPAIXLVL >= 500
+struct dm_stat32
+{
+  dm_ssize_t          _link;
+  dm_vardata_t        dt_handle;
+  dm_vardata_t        dt_compname;
+  dm_eventset_t       dt_emask;
+  int                 dt_nevents;
+  int                 dt_pers;
+  int                 dt_pmanreg;
+  dm_signed32         dt_dtime;
+  u_int               dt_change;
+  dm_unsigned32       dt_dev;
+  dm_unsigned32       dt_ino;
+  mode_t              dt_mode;
+  nlink_t             dt_nlink;
+  uid_t               dt_uid;
+  gid_t               dt_gid;
+  dm_unsigned32       dt_rdev;
+  dm_off_t            dt_size;
+  dm_signed32         dt_atime;
+  dm_signed32         dt_mtime;
+  dm_signed32         dt_ctime;
+  u_int               dt_blksize;
+  dm_size_t           dt_blocks;
+  int                 dt_gpfsqa1; /* GPFS specific - not in XDSM standard */
+  int                 dt_gpfsqa2; /* GPFS specific - not in XDSM standard */
+};
+typedef struct dm_stat32  dm_stat32_t;
+
+struct dm_stat64
+{
+  dm_ssize_t          _link;
+  dm_vardata_t        dt_handle;
+  dm_vardata_t        dt_compname;
+  dm_eventset_t       dt_emask;
+  int                 dt_nevents;
+  int                 dt_pers;
+  int                 dt_pmanreg;
+  dm_signed64         dt_dtime;
+  u_int               dt_change;
+  dm_unsigned64       dt_dev;
+  dm_unsigned64       dt_ino;
+  mode_t              dt_mode;
+  nlink_t             dt_nlink;
+  uid_t               dt_uid;
+  gid_t               dt_gid;
+  dm_unsigned64       dt_rdev;
+  dm_off_t            dt_size;
+  dm_signed64         dt_atime;
+  dm_signed64         dt_mtime;
+  dm_signed64         dt_ctime;
+  u_int               dt_blksize;
+  dm_size_t           dt_blocks;
+  int                 dt_gpfsqa1; /* GPFS specific - not in XDSM standard */
+  int                 dt_gpfsqa2; /* GPFS specific - not in XDSM standard */
+};
+typedef struct dm_stat64  dm_stat64_t;
+#elif defined(GPFS_ARCH_X86_64) 
+#ifdef __64BIT__
+#ifdef API_32BIT
+struct dm32_usigned64
+{
+  dm_unsigned32  high;
+  dm_unsigned32  low;
+};
+typedef struct dm32_usigned64  dm32_usigned64;
+struct dm32_signed64
+{
+  dm_signed32  high;
+  dm_signed32  low;
+};
+typedef struct dm32_signed64  dm32_signed64;
+struct dm_stat32
+{
+  dm_ssize_t          _link;
+  dm_vardata_t        dt_handle;
+  dm_vardata_t        dt_compname;
+  dm_eventset_t       dt_emask;
+  int                 dt_nevents;
+  int                 dt_pers;
+  int                 dt_pmanreg;
+  dm_signed32         dt_dtime;
+  u_int               dt_change;
+  dm32_usigned64      dt_dev;
+  dm32_usigned64      dt_ino;
+  mode_t              dt_mode;
+  dm_signed32         dt_nlink;
+  uid_t               dt_uid;
+  gid_t               dt_gid;
+  dm32_usigned64      dt_rdev;
+  dm32_signed64       dt_size;
+  dm_signed32         dt_atime;
+  dm_signed32         dt_mtime;
+  dm_signed32         dt_ctime;
+  u_int               dt_blksize;
+  dm32_usigned64      dt_blocks;
+  int                 dt_gpfsqa1; /* GPFS specific - not in XDSM standard */
+  int                 dt_gpfsqa2; /* GPFS specific - not in XDSM standard */
+};
+typedef struct dm_stat32  dm_stat32_t;
+typedef struct dm_stat  dm_stat64_t;
+#endif /* API_32BIT */
+#endif /* __64BIT__ */
+#else  /*GPFS_ARCH_X86_64*/
+typedef struct dm_stat dm_stat64_t;
+typedef struct dm_stat dm_stat32_t;
+#endif
+
+/* File attribute masks */
+#define DM_AT_ATIME             (0x0001)
+#define DM_AT_CFLAG             (0x0002)
+#define DM_AT_CTIME             (0x0004)
+#define DM_AT_DTIME             (0x0008)
+#define DM_AT_EMASK             (0x0010)
+#define DM_AT_GID               (0x0020)
+#define DM_AT_HANDLE            (0x0040)
+#define DM_AT_MODE              (0x0080)
+#define DM_AT_MTIME             (0x0100)
+#define DM_AT_PATTR             (0x0200)
+#define DM_AT_PMANR             (0x0400)
+#define DM_AT_SIZE              (0x0800)
+#define DM_AT_STAT              (0x1000)
+#define DM_AT_UID               (0x2000)
+
+struct dm_xstat
+{
+  dm_ssize_t          _link;
+  dm_stat_t           dx_statinfo;
+  dm_vardata_t        dx_attrdata;
+};
+typedef struct dm_xstat dm_xstat_t;
+
+#if SPAIXLVL >= 500 || (defined(GPFS_ARCH_X86_64) && defined(__64BIT__))
+struct dm_xstat32
+{
+  dm_ssize_t          _link;
+  dm_stat32_t         dx_statinfo;
+  dm_vardata_t        dx_attrdata;
+};
+typedef struct dm_xstat32 dm_xstat32_t;
+
+struct dm_xstat64
+{
+  dm_ssize_t          _link;
+  dm_stat64_t         dx_statinfo;
+  dm_vardata_t        dx_attrdata;
+};
+typedef struct dm_xstat64 dm_xstat64_t;
+#else /* SPAIXLVL >= 500 */
+typedef struct dm_xstat dm_xstat32_t;
+typedef struct dm_xstat dm_xstat64_t;
+#endif
+
+/* Max size of a session label */
+#define DM_SESSION_INFO_LEN     256
+
+/* Special session identifier */
+#define DM_NO_SESSION           ((dm_sessid_t) 0)
+
+/* Flag indicating whether to wait in dm_get_events */
+#define DM_EV_WAIT              (0x1)
+
+/* Flag indicating whether to wait in dm_request_right */
+#define DM_RR_WAIT              (0x1)
+
+/* Special file handles */
+#define DM_GLOBAL_HANP          ((void *) 0xFFFFFFFD)
+#define DM_GLOBAL_HLEN          ((size_t)0)
+
+#define DM_INVALID_HANP         ((void *) 0xFFFFFFFF)
+#define DM_INVALID_HLEN         ((size_t)0)
+
+/* Special tokens */
+static const dm_token_t                _dmNoToken = { 0, 0 };
+#define DM_NO_TOKEN             _dmNoToken
+
+static const dm_token_t                _dmInvalidToken = { 0, 1 };
+#define DM_INVALID_TOKEN        _dmInvalidToken
+
+/* Flag for the dm_write_invis() call */
+#define DM_WRITE_SYNC           (0x1)
+
+/* Version identifier */
+#define DM_VER_STR_CONTENTS     "GPFS DMAPI 2.20"
+
+/* File handle components */
+typedef dm_unsigned64 dm_fsid_t;
+
+typedef dm_unsigned32 dm_igen_t;
+
+#if SPAIXLVL >= 500
+typedef dm_unsigned32 dm_ino32_t;
+typedef dm_unsigned64 dm_ino64_t;
+#else
+typedef ino_t         dm_ino32_t;
+typedef ino_t         dm_ino64_t;
+#endif
+
+struct dm_inherit
+{
+  dm_attrname_t       ih_name;
+  mode_t              ih_filetype;
+};
+typedef struct dm_inherit dm_inherit_t;
+
+#endif /* _DMAPI_TYPES_H */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/include/gpfs.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/include/gpfs.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/include/gpfs.h	(revision 16)
@@ -0,0 +1,1333 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 1998,2007          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+/* @(#)42	1.1.5.1  src/avs/fs/mmfs/ts/util/gpfs.h, mmfs, avs_rgpfs24, rgpfs24s011a 3/13/07 10:16:05 */
+/*
+ *  Library calls for GPFS interfaces
+ */
+#ifndef H_GPFS
+#define H_GPFS
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+
+/* Define maximum length of the name for a GPFS named object, such
+   as a snapshot, storage pool or fileset. The name is a null-terminated
+   character string, which is not include in the max length */
+#define GPFS_MAXNAMLEN       255
+
+/* Define maximum length of the path to a GPFS named object
+   such as a snapshot or fileset. If the absolute path name exceeds
+   this limit, then use a relative path name. The path is a null-terminated
+   character string, which is not included in the max length */
+#define GPFS_MAXPATHLEN     1023
+
+/* ASCII code for "GPFS" in the struct statfs f_type field */
+#define GPFS_SUPER_MAGIC     0x47504653
+
+/* GPFS inode attributes */
+typedef unsigned int gpfs_mode_t;
+typedef unsigned int gpfs_uid_t;
+typedef unsigned int gpfs_gid_t;
+typedef unsigned int gpfs_ino_t;
+typedef unsigned int gpfs_gen_t;
+typedef unsigned int gpfs_dev_t;
+typedef unsigned int gpfs_mask_t;
+typedef unsigned int gpfs_pool_t;
+typedef long long gpfs_off64_t;
+typedef struct stat64 stat64_t;
+
+/* open source interfaces */
+#include <gpfs_gpl.h>
+
+typedef struct gpfs_timestruc
+{
+  unsigned int tv_sec;
+  unsigned int tv_nsec;
+} gpfs_timestruc_t;
+
+
+/* Define a version number for the directory entry data to allow
+   future changes in this structure. Careful callers should also use 
+   the d_reclen field for the size of the structure rather than sizeof, 
+   to allow some degree of forward compatibility */
+#define GPFS_D_VERSION 1
+
+typedef struct gpfs_direntx
+{
+  int            d_version;     /* this struct's version */
+  unsigned short d_reclen;      /* actual size of this struct including
+                                   null terminated variable length d_name */
+  unsigned short d_type;        /* Types are defined below */
+  gpfs_ino_t     d_ino;         /* File inode number */
+  gpfs_gen_t     d_gen;         /* Generation number for the inode */
+  char           d_name[256];   /* null terminated variable length name */
+} gpfs_direntx_t;
+
+/* File types for d_type field in gpfs_direntx_t */
+#define GPFS_DE_OTHER    0
+#define GPFS_DE_DIR      4
+#define GPFS_DE_REG      8
+#define GPFS_DE_LNK     10
+
+
+/* Define a version number for the iattr data to allow future changes 
+   in this structure. Careful callers should also use the ia_reclen field 
+   for the size of the structure rather than sizeof, to allow some degree
+   of forward compatibility */
+#define GPFS_IA_VERSION 1
+
+typedef struct gpfs_iattr
+{
+  int              ia_version;    /* this struct version */
+  int              ia_reclen;     /* sizeof this structure */
+  int              ia_checksum;   /* validity check on iattr struct */
+  gpfs_mode_t      ia_mode;       /* access mode */
+  gpfs_uid_t       ia_uid;        /* owner uid */
+  gpfs_gid_t       ia_gid;        /* owner gid */
+  gpfs_ino_t       ia_inode;      /* file inode number */
+  gpfs_gen_t       ia_gen;        /* inode generation number */
+  short            ia_nlink;      /* number of links */
+  short            ia_flags;      /* Flags (defined below) */
+  int              ia_blocksize;  /* preferred block size for io */
+  gpfs_mask_t      ia_mask;       /* Initial attribute mask (not used) */
+  gpfs_off64_t     ia_size;       /* file size in bytes */
+  gpfs_off64_t     ia_blocks;     /* 512 byte blocks of disk held by file */
+  gpfs_timestruc_t ia_atime;      /* time of last access */
+  gpfs_timestruc_t ia_mtime;      /* time of last data modification */
+  gpfs_timestruc_t ia_ctime;      /* time of last status change */
+  gpfs_dev_t       ia_rdev;       /* id of device */
+  unsigned int     ia_xperm;      /* extended attributes (defined below) */
+  int              ia_modsnapid;
+  unsigned int     ia_filesetid;  /* fileset ID */
+  unsigned int     ia_datapoolid; /* storage pool ID for data */
+} gpfs_iattr_t;
+
+/* Define flags for inode attributes */
+#define GPFS_IAFLAG_SNAPDIR        0x0001 /* (obsolete) */
+#define GPFS_IAFLAG_USRQUOTA       0x0002 /* inode is a user quota file */
+#define GPFS_IAFLAG_GRPQUOTA       0x0004 /* inode is a group quota file */
+#define GPFS_IAFLAG_ERROR          0x0008 /* error reading inode */
+/* Define flags for inode replication attributes */
+#define GPFS_IAFLAG_FILESET_ROOT   0x0010 /* root dir of a fileset */
+#define GPFS_IAFLAG_NO_SNAP_RESTORE 0x0020 /* don't restore from snapshots */
+#define GPFS_IAFLAG_FILESETQUOTA   0x0040 /* inode is a fileset quota file */
+#define GPFS_IAFLAG_COMANAGED      0x0080 /* file data is co-managed */
+#define GPFS_IAFLAG_ILLPLACED      0x0100 /* may not be properly placed */
+#define GPFS_IAFLAG_REPLMETA       0x0200 /* metadata replication set */
+#define GPFS_IAFLAG_REPLDATA       0x0400 /* data replication set */
+#define GPFS_IAFLAG_EXPOSED        0x0800 /* may have data on suspended disks */
+#define GPFS_IAFLAG_ILLREPLICATED  0x1000 /* may not be properly replicated */
+#define GPFS_IAFLAG_UNBALANCED     0x2000 /* may not be properly balanced */
+#define GPFS_IAFLAG_DATAUPDATEMISS 0x4000 /* has stale data blocks on
+                                             unavailable disk */
+#define GPFS_IAFLAG_METAUPDATEMISS 0x8000 /* has stale metadata on
+                                             unavailable disk */
+/* Define flags for extended attributes */
+#define GPFS_IAXPERM_ACL           0x0001 /* file has acls */
+#define GPFS_IAXPERM_XATTR         0x0002 /* file has extended attributes */
+#define GPFS_IAXPERM_DMATTR        0x0004 /* file has dm attributes */
+#define GPFS_IAXPERM_DOSATTR       0x0008 /* file has non-default dos attrs */
+#define GPFS_IAXPERM_RPATTR        0x0010 /* file has restore policy attrs */
+
+
+
+/* Define pointers to interface types */
+typedef struct gpfs_fssnap_handle gpfs_fssnap_handle_t;
+typedef struct gpfs_iscan gpfs_iscan_t;
+typedef struct gpfs_ifile gpfs_ifile_t;
+typedef struct gpfs_restore gpfs_restore_t;
+
+typedef struct gpfs_fssnap_id
+{
+  char opaque[48];
+} gpfs_fssnap_id_t;
+
+
+/* Define extended return codes for gpfs backup & restore 
+   calls without an explicit return code will return the value in errno */
+#define GPFS_ERRNO_BASE  190
+#define GPFS_E_INVAL_FSSNAPID  (GPFS_ERRNO_BASE+0) /* invalid fssnap id */
+#define GPFS_E_INVAL_ISCAN   (GPFS_ERRNO_BASE+1) /* invalid iscan pointer */
+#define GPFS_E_INVAL_IFILE   (GPFS_ERRNO_BASE+2) /* invalid ifile pointer */
+#define GPFS_E_INVAL_IATTR   (GPFS_ERRNO_BASE+3) /* invalid iattr structure */
+#define GPFS_E_INVAL_RESTORE (GPFS_ERRNO_BASE+4) /* invalid restore pointer */
+#define GPFS_E_INVAL_FSSNAPHANDLE (GPFS_ERRNO_BASE+5) /* invalid fssnap handle */
+#define GPFS_E_INVAL_SNAPNAME (GPFS_ERRNO_BASE+6) /* invalid snapshot name */
+#define GPFS_E_FS_NOT_RESTORABLE   (GPFS_ERRNO_BASE+7) /* FS is not clean */
+#define GPFS_E_RESTORE_NOT_ENABLED (GPFS_ERRNO_BASE+8) /* Restore was not enabled */
+#define GPFS_E_RESTORE_STARTED     (GPFS_ERRNO_BASE+9) /* Restore is running */
+
+/* Define flags parameter for get/put file attributes.
+   Used by gpfs_fgetattr, gpfs_fputattr, gpfs_fputattrwithpath
+   and gpfs_iputattrwithpath
+*/
+#define GPFS_ATTRFLAG_DEFAULT       0 /* default behavior */
+#define GPFS_ATTRFLAG_NO_PLACEMENT  1 /* exclude file placement attributes */
+
+
+/* Define structure used by gpfs_statfspool */
+typedef struct gpfs_statfspool_s
+{
+  gpfs_off64_t f_blocks;     /* total data blocks in pool */
+  gpfs_off64_t f_bfree;      /* free blocks in pool */
+  gpfs_off64_t f_bavail;     /* free blocks avail to non-superuser */
+  gpfs_off64_t f_mblocks;    /* total metadata blocks in pool */
+  gpfs_off64_t f_mfree;      /* free blocks avail for system metadata */
+  int          f_bsize;      /* optimal storage pool block size */
+  int          f_files;      /* total file nodes assigned to pool */
+  gpfs_pool_t  f_poolid;     /* storage pool id */
+  int          f_fsize;      /* fundamental file system block size */
+  unsigned int f_usage;      /* data and/or metadata stored in pool */
+  int          f_reserved[7];/* Current unused and set to  zero */
+} gpfs_statfspool_t;
+
+#define STATFSPOOL_USAGE_DATA      0x0001 /* Pool stores user data */
+#define STATFSPOOL_USAGE_METADATA  0x0002 /* Pool stores system metadata */
+
+
+
+
+/* NAME:        gpfs_fstat(), gpfs_stat()
+ *
+ * FUNCTION:    Get exact stat information for a file descriptor (or filename).
+ *              Forces all other nodes to flush dirty data and metadata to disk.
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ *              EBADF   Bad file desc
+ *              EINVAL  Not a GPFS file
+ */
+int 
+gpfs_fstat(int fileDesc,
+           stat64_t *buffer);
+
+int 
+gpfs_stat(char *pathname, /* File pathname */
+          stat64_t *buffer);
+
+
+/* NAME:        gpfs_fgetattrs()
+ *
+ * FUNCTION:    Retrieves all extended file attributes in opaque format.
+ *              This function together with gpfs_fputattrs is intended for
+ *              use by a backup program to save (gpfs_fgetattrs) and
+ *              restore (gpfs_fputattrs) all extended file attributes
+ *              (ACLs, dmapi attributes, ...) in one call.
+ *
+ * Input:       flags   Define behavior of get attributes
+ *                      See flag definition above.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ *              ENOSPC  buffer too small to return all attributes
+ *                      *attrSizeP will be set to the size necessary
+ */
+int 
+gpfs_fgetattrs(int fileDesc,
+               int flags,
+               void *buffer,
+               int bufferSize,
+               int *attrSize);
+
+
+/* NAME:        gpfs_fputattrs()
+ *
+ * FUNCTION:    Sets all extended file attributes of a file 
+ *              and sets the file's storage pool and data replication 
+ *              to the values saved in the extended attributes.
+ *              The buffer passed in should contain extended attribute data
+ *              that was obtained by a previous call to gpfs_fgetattrs.
+ *
+ * Input:       flags   Define behavior of put attributes
+ *                      See flag definition above.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ *              EINVAL  the buffer does not contain valid attribute data
+ */
+int 
+gpfs_fputattrs(int fileDesc,
+               int flags,
+               void *buffer);
+
+
+/* NAME:        gpfs_fputattrswithpathname()
+ *
+ * FUNCTION:    Sets all extended file attributes of a file and
+ *              invokes the policy engine using the file's attributes
+ *              saved in the extended attributes to set the file's 
+ *              storage pool and data replication. The caller should 
+ *              include the full path to the file, including the file name,
+ *              to allow rule selection based on file name or path.
+ *              The buffer passed in should contain extended attribute data
+ *              that was obtained by a previous call to gpfs_fgetattrs.
+ *              The flags parameter must be zero (reserved for future use).
+ *
+ * Input:       flags   Define behavior of put attributes
+ *                      See flag definition above.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ *              EINVAL  the buffer does not contain valid attribute data
+ */
+int 
+gpfs_fputattrswithpathname(int fileDesc,
+                           int flags,
+                           void *buffer,
+                           const char *pathName);
+
+
+/* NAME:        gpfs_get_fssnaphandle_by_path()
+ *
+ * FUNCTION:    Get a volatile handle to uniquely identify a filesystem 
+ *              and snapshot by the path to the file system and snapshot
+ *
+ * Input:       pathName: path to a file or directory in a gpfs file system
+ *                        or to one of its snapshots
+ *
+ * Returns:     pointer to gpfs_fssnap_handle_t (Successful)
+ *              NULL and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              ENOENT invalid pathname
+ *              see system calls open(), fstatfs(), and malloc() ERRORS
+ */
+gpfs_fssnap_handle_t *
+gpfs_get_fssnaphandle_by_path(const char *pathName);
+
+
+/* NAME:        gpfs_get_fssnaphandle_by_name()
+ *
+ * FUNCTION:    Get a volatile handle to uniquely identify a filesystem 
+ *              and snapshot by the file system name and snapshot name.
+ *
+ * Input:       fsName: unique name for gpfs file system (may be specified 
+ *                      as fsName or /dev/fsName)
+ *              snapName: name for snapshot within that file system
+ *                        or NULL to access the active file system rather
+ *                        than a snapshot within the file system.
+ *
+ * Returns:     pointer to gpfs_fssnap_handle_t (Successful)
+ *              NULL and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              ENOENT invalid file system name
+ *              GPFS_E_INVAL_SNAPNAME invalid snapshot name
+ *              see system calls open(), fstatfs(), and malloc() ERRORS
+ */
+gpfs_fssnap_handle_t *
+gpfs_get_fssnaphandle_by_name(const char *fsName, 
+                              const char *snapName);
+
+
+/* NAME:        gpfs_get_fssnaphandle_by_fssnapid()
+ *
+ * FUNCTION:    Get a volatile handle to uniquely identify a filesystem 
+ *              and snapshot by a fssnapId created from a previous handle.
+ *
+ * Input:       fssnapId: unique id for a file system and snapshot 
+ *
+ * Returns:     pointer to gpfs_fssnaphandle_t (Successful)
+ *              NULL and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              GPFS_E_INVAL_FSSNAPID invalid snapshot id
+ *              see system calls open(), fstatfs(), and malloc() ERRORS
+ */
+gpfs_fssnap_handle_t *
+gpfs_get_fssnaphandle_by_fssnapid(const gpfs_fssnap_id_t *fssnapId);
+
+
+/* NAME:        gpfs_get_pathname_from_fssnaphandle()
+ *
+ * FUNCTION:    Get the mountpoint and path to a file system
+ *              and snapshot identified by a fssnapHandle
+ *
+ * Input:       fssnapHandle: ptr to file system & snapshot handle
+ *
+ * Returns:     ptr to path name to the file system  (Successful)
+ *              NULL and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              GPFS_E_INVAL_FSSNAPHANDLE invalid fssnapHandle
+ */
+const char *
+gpfs_get_pathname_from_fssnaphandle(gpfs_fssnap_handle_t *fssnapHandle);
+
+
+/* NAME:        gpfs_get_fsname_from_fssnaphandle()
+ *
+ * FUNCTION:    Get the unique name for the file system
+ *              identified by a fssnapHandle
+ *
+ * Input:       fssnapHandle: ptr to file system & snapshot handle
+ *
+ * Returns:     ptr to name of the file system  (Successful)
+ *              NULL and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              GPFS_E_INVAL_FSSNAPHANDLE invalid fssnapHandle
+ */
+const char *
+gpfs_get_fsname_from_fssnaphandle(gpfs_fssnap_handle_t *fssnapHandle);
+
+
+/* NAME:        gpfs_get_snapname_from_fssnaphandle()
+ *
+ * FUNCTION:    Get the name for the snapshot
+ *              uniquely identified by a fssnapHandle
+ *
+ * Input:       fssnapHandle: ptr to file system & snapshot handle
+ *
+ * Returns:     ptr to name assigned to the snapshot (Successful)
+ *              NULL and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              GPFS_E_INVAL_FSSNAPHANDLE invalid fssnaphandle
+ *              GPFS_E_INVAL_SNAPNAME snapshot has been deleted
+ *
+ * Notes:       If the snapshot has been deleted from the file system
+ *              the snapId may still be valid, but the call will fail
+ *              with errno set to GPFS_E_INVAL_SNAPNAME.
+ */
+const char *
+gpfs_get_snapname_from_fssnaphandle(gpfs_fssnap_handle_t *fssnapHandle);
+
+
+/* NAME:        gpfs_get_fssnapid_from_fssnaphandle()
+ *
+ * FUNCTION:    Get a unique, non-volatile file system and snapshot id 
+ *              for the file system and snapshot identified by a 
+ *              volatile fssnap handle.
+ *
+ * Input:       fssnapHandle: ptr to file system & snapshot handle
+ *              fssnapId: returned fssnapId uniquely identifying the 
+ *                        file system and snapshot being scanned
+ *
+ * Returns:     0 and fssnapId is set with id (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       GPFS_E_INVAL_FSSNAPHANDLE invalid fssnaphandle
+ *              EINVAL null ptr given for returned fssnapId
+ *              EFAULT size mismatch for fssnapId
+ */
+int 
+gpfs_get_fssnapid_from_fssnaphandle(gpfs_fssnap_handle_t *fssnapHandle,
+                                    gpfs_fssnap_id_t *fssnapId);
+
+
+/* NAME:        gpfs_get_restore_fssnapid_from_fssnaphandle()
+ *
+ * FUNCTION:    Get the unique, non-volatile file system and snapshot id 
+ *              used for the last complete restore of a mirrored file 
+ *              system. The file system must been a previous restore
+ *              target and ready for additional incremental restore.
+ *
+ * Input:       fssnapHandle: ptr to file system & snapshot handle
+ *              fssnapId: returned fssnapId uniquely identifying the 
+ *                        last complete restored file system.
+ *
+ * Returns:     0 and fssnapId is set with id (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       GPFS_E_INVAL_FSSNAPHANDLE invalid fssnaphandle
+ *              EINVAL null ptr given for returned fssnapId
+ *              EFAULT size mismatch for fssnapId
+ *              EPERM caller must have superuser priviledges
+ *              ENOMEM unable to allocate memory for request
+ *              GPFS_E_FS_NOT_RESTORABLE fs is not clean for restore
+ */
+int 
+gpfs_get_restore_fssnapid_from_fssnaphandle(gpfs_fssnap_handle_t *fssnapHandle,
+                                            gpfs_fssnap_id_t *fssnapId);
+
+
+/* NAME:        gpfs_free_fssnaphandle()
+ *
+ * FUNCTION:    Free a fssnapHandle
+ *
+ * Input:       fssnapHandle: ptr to file system & snapshot handle
+ *
+ * Returns:     void
+ *
+ * Errno:       None
+ */
+void 
+gpfs_free_fssnaphandle(gpfs_fssnap_handle_t *fssnapHandle);
+
+
+/* NAME:        gpfs_get_snapdirname()
+ *
+ * FUNCTION:    Get the name of the directory containing snapshots.
+ *
+ * Input:       fssnapHandle: handle for the file system
+ *              snapdirName: buffer into which the name of the snapshot
+ *                directory will be copied
+ *              bufLen: the size of the provided buffer
+ *
+ * Returns:     0 (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOMEM unable to allocate memory for request
+ *              GPFS_E_INVAL_FSSNAPHANDLE fssnapHandle is invalid
+ *              E2BIG buffer too small to return the snapshot directory name
+ */
+int
+gpfs_get_snapdirname(gpfs_fssnap_handle_t *fssnapHandle,
+                     char *snapdirName,
+                     int bufLen);
+
+
+/* NAME:        gpfs_open_inodescan()
+ *
+ * FUNCTION:    Open inode file for inode scan.
+ *
+ * Input:       fssnapHandle: handle for file system and snapshot
+ *                            to be scanned
+ *              prev_fssnapId: if NULL, all inodes of existing file will
+ *                be returned; if non-null, only returns inodes of files
+ *                that have changed since the specified previous snapshot
+ *              maxIno: if non-null, returns the maximum inode number
+ *                available in the inode file being scanned.
+ *
+ * Returns:     pointer to gpfs_iscan_t (Successful)
+ *              NULL and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EINVAL bad parameters
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOMEM unable to allocate memory for request
+ *              GPFS_E_INVAL_FSSNAPHANDLE fssnapHandle is invalid
+ *              GPFS_E_INVAL_FSSNAPID prev_fssnapId is invalid
+ *              EDOM prev_fssnapId is from a different fs
+ *              ERANGE prev_fssnapId is same as or more recent than snapId 
+ *                     being scanned
+ *              see system calls dup() and malloc() ERRORS
+ */
+gpfs_iscan_t *
+gpfs_open_inodescan(gpfs_fssnap_handle_t *fssnapHandle,
+                    const gpfs_fssnap_id_t *prev_fssnapId,
+                    gpfs_ino_t *maxIno);
+
+
+/* NAME:        gpfs_next_inode()
+ *
+ * FUNCTION:    Get next inode from inode scan. Scan terminates before
+ *              the last inode specified or the last inode in the
+ *              inode file being scanned.
+ *
+ * Input:       iscan: ptr to inode scan descriptor
+ *              termIno: scan terminates before this inode number
+ *                caller may specify maxIno from gpfs_open_inodescan() 
+ *                or 0 to scan the entire inode file.
+ *              iattr: pointer to returned pointer to file's iattr.
+ *
+ * Returns:     0 and *iattr set to point to gpfs_iattr_t (Successful)
+ *              0 and *iattr set to NULL for no more inodes before termIno
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOMEM buffer too small
+ *              GPFS_E_INVAL_ISCAN bad parameters
+ *
+ * Notes:       The data returned by gpfs_next_inode() is overwritten by
+ *              subsequent calls to gpfs_next_inode() or gpfs_seek_inode().
+ *
+ *              The termIno parameter provides a means to partition an
+ *              inode scan such that it may be executed on more than one node.
+ */
+int 
+gpfs_next_inode(gpfs_iscan_t *iscan,
+                gpfs_ino_t termIno,
+                const gpfs_iattr_t **iattr);
+
+
+/* NAME:        gpfs_seek_inode()
+ *
+ * FUNCTION:    Seek to a given inode number.
+ *
+ * Input:       iscan: ptr to inode scan descriptor
+ *              ino: next inode number to be scanned
+ *
+ * Returns:     0      Successful
+ *              -1     Failure and errno is set
+ *
+ * Errno:       ENOSYS function not available
+ *              GPFS_E_INVAL_ISCAN bad parameters
+ */
+int 
+gpfs_seek_inode(gpfs_iscan_t *iscan, 
+                gpfs_ino_t ino);
+
+
+/* NAME:        gpfs_close_inodescan()
+ *
+ * FUNCTION:    Close inode file.
+ *
+ * Input:       iscan: ptr to inode scan descriptor
+ *
+ * Returns:     void
+ *
+ * Errno:       None
+ */
+void 
+gpfs_close_inodescan(gpfs_iscan_t *iscan);
+
+
+/* NAME:        gpfs_cmp_fssnapid()
+ *
+ * FUNCTION:    Compare two fssnapIds for the same file system to
+ *              determine the order in which the two snapshots were taken.
+ *              The 'result' variable will be set as follows:
+ *                *result < 0:  snapshot 1 was taken before snapshot 2
+ *                *result == 0: snapshot 1 and 2 are the same
+ *                *result > 0:  snapshot 1 was taken after snapshot 2
+ *
+ * Input:      fssnapId1: ptr to fssnapId 1
+ *             fssnapId2: ptr to fssnapId id 2
+ *             result: ptr to returned results
+ *
+ * Returns:     0 and *result is set as described above (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              GPFS_E_INVAL_FSSNAPID fssnapid1 or fssnapid2 is not a
+ *                valid snapshot id
+ *              EDOM the two snapshots cannot be compared because
+ *                they were taken from two different file systems.
+ */
+int 
+gpfs_cmp_fssnapid(const gpfs_fssnap_id_t *fssnapId1, 
+                  const gpfs_fssnap_id_t *fssnapId2,
+                  int *result);
+
+
+/* NAME:        gpfs_iopen()
+ *
+ * FUNCTION:    Open a file or directory by inode number.
+ *
+ * Input: fssnapHandle: handle for file system and snapshot
+ *                      being scanned
+ *        ino: inode number
+ *        open_flags: O_RDONLY for gpfs_iread()
+ *                    O_WRONLY for gpfs_iwrite()
+ *                    O_CREAT create the file if it doesn't exist
+ *                    O_TRUNC if the inode already exists delete it
+ *           caller may use GPFS_O_BACKUP to read files for backup
+ *                      and GPFS_O_RESTORE to write files for restore
+ *        statxbuf: used only with O_CREAT/GPFS_O_BACKUP
+ *                  all other cases set to NULL
+ *        symLink: used only with O_CREAT/GPFS_O_BACKUP for a symbolic link
+ *                 all other cases set to NULL
+ *
+ * Returns:     pointer to gpfs_ifile_t (Successful)
+ *              NULL and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EINVAL missing or bad parameter
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOMEM unable to allocate memory for request
+ *              EFORMAT invalid fs version number
+ *              EIO error reading original inode
+ *              GPFS_E_INVAL_IATTR iattr structure was corrupted
+ *              see dup() and malloc() ERRORS
+ */
+gpfs_ifile_t *
+gpfs_iopen(gpfs_fssnap_handle_t *fssnapHandle, 
+           gpfs_ino_t ino, 
+           int open_flags,
+           const gpfs_iattr_t *statxbuf, 
+           const char *symLink);
+
+/* Define gpfs_iopen flags as used by the backup & restore by inode.
+   The backup code will only read the source files.
+   The restore code writes the target files & creates them if they
+   don't already exist. The file length is set by the inode attributes.
+   Consequently, to restore a user file it is unnecessary to include 
+   the O_TRUNC flag. */
+#define GPFS_O_BACKUP  (O_RDONLY)
+#define GPFS_O_RESTORE (O_WRONLY | O_CREAT)
+
+
+/* NAME:        gpfs_iread()
+ *
+ * FUNCTION:    Read file opened by gpfs_iopen.
+ *
+ * Input:       ifile:      pointer to gpfs_ifile_t from gpfs_iopen
+ *              buffer:     buffer for data to be read
+ *              bufferSize: size of buffer (ie amount of data to be read)
+ * In/Out       offset:     offset of where within the file to read
+ *                          if successful, offset will be updated to the
+ *                          next byte after the last one that was read
+ *
+ * Returns:     number of bytes read (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EISDIR file is a directory
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              GPFS_E_INVAL_IFILE bad ifile parameters
+ *              see system call read() ERRORS
+ */
+int 
+gpfs_iread(gpfs_ifile_t *ifile, 
+           void *buffer, 
+           int bufferSize, 
+           gpfs_off64_t *offset);
+
+
+/* NAME:        gpfs_iwrite()
+ *
+ * FUNCTION:    Write file opened by gpfs_iopen.
+ *
+ * Input:       ifile:    pointer to gpfs_ifile_t from gpfs_iopen
+ *              buffer:   the data to be written
+ *              writeLen: how much to write
+ * In/Out       offset:   offset of where within the file to write
+ *                        if successful, offset will be updated to the
+ *                        next byte after the last one that was written
+ *
+ * Returns:     number of bytes written (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EISDIR file is a directory
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              GPFS_E_INVAL_IFILE bad ifile parameters
+ *              see system call write() ERRORS
+ */
+int 
+gpfs_iwrite(gpfs_ifile_t *ifile, 
+            void *buffer, 
+            int writeLen, 
+            gpfs_off64_t *offset);
+
+
+/* NAME:        gpfs_ireaddir()
+ *
+ * FUNCTION:    Get next directory entry.
+ *
+ * Input:       idir:   pointer to gpfs_ifile_t from gpfs_iopen
+ *              dirent: pointer to returned pointer to directory entry
+ *
+ * Returns:     0 and pointer to gpfs_direntx set (Successful)
+ *              0 and pointer to gpfs_direntx set to NULL (End of directory)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              ENOTDIR file is not a directory
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              GPFS_E_INVAL_IFILE bad ifile parameter
+ *              ENOMEM unable to allocate memory for request
+ *
+ * Notes:       The data returned by gpfs_ireaddir() is overwritten by
+ *              subsequent calls to gpfs_ireaddir().
+ */
+int 
+gpfs_ireaddir(gpfs_ifile_t *idir,
+              const gpfs_direntx_t **dirent);
+
+
+/* NAME:        gpfs_iwritedir()
+ *
+ * FUNCTION:    Create a directory entry in a directory opened by gpfs_iopen.
+ *
+ * Input:       idir:   pointer to gpfs_ifile_t from gpfs_iopen
+ *              dirent: directory entry to be written
+ *
+ * Returns:     0 (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              GPFS_E_INVAL_IFILE bad file pointer
+ *              ENOTDIR file is not a directory
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOMEM unable to allocate memory for request
+ *              EFORMAT invalid dirent version number
+ *              see system call write() ERRORS
+ */
+int 
+gpfs_iwritedir(gpfs_ifile_t *idir, 
+               const gpfs_direntx_t *dirent);
+
+
+/* NAME:        gpfs_igetattrs()
+ *
+ * FUNCTION:    Retrieves all extended file attributes in opaque format.
+ *              This function together with gpfs_iputattrs is intended for
+ *              use by a backup program to save (gpfs_igetattrs) and
+ *              restore (gpfs_iputattrs) all extended file attributes
+ *              (ACLs, dmapi attributes, ...) in one call.
+ *
+ * Input:       ifile:      pointer to gpfs_ifile_t from gpfs_iopen
+ *              buffer:     pointer to buffer for returned attributes
+ *              bufferSize: size of buffer
+ *              attrSize:   ptr to returned size of attributes
+ *
+ * Returns:      0      Successful
+ *              -1      Failure and errno is set
+ *
+ * Errno:       ENOSYS  function not available
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOSPC  buffer too small to return all attributes
+ *                      *attrSizeP will be set to the size necessary
+ *              GPFS_E_INVAL_IFILE bad ifile parameters
+ */
+int 
+gpfs_igetattrs(gpfs_ifile_t *ifile, 
+               void *buffer, 
+               int bufferSize, 
+               int *attrSize);
+
+
+/* NAME:        gpfs_iputattrs()
+ *
+ * FUNCTION:    Sets all extended file attributes of a file.
+ *              The buffer passed in should contain extended attribute data
+ *              that was obtained by a previous call to gpfs_igetattrs.
+ *
+ * Input:       ifile:  pointer to gpfs_ifile_t from gpfs_iopen
+ *              buffer: pointer to buffer for returned attributes
+ *
+ * Returns:      0      Successful
+ *              -1      Failure and errno is set
+ *
+ * Errno:       ENOSYS  function not available
+ *              EINVAL  the buffer does not contain valid attribute data
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              GPFS_E_INVAL_IFILE bad ifile parameters
+ */
+int 
+gpfs_iputattrs(gpfs_ifile_t *ifile, 
+               void *buffer);
+
+
+/* NAME:        gpfs_igetfilesetname()
+ *
+ * FUNCTION:    Retrieves the name of the fileset which contains this file.
+ *              The fileset name is a null-terminated string, with a 
+ *              a maximum length of GPFS_MAXNAMLEN.
+ *
+ * Input:       iscan:      ptr to gpfs_iscan_t from gpfs_open_inodescan()
+ *              filesetId:  ia_filesetId returned in an iattr from the iscan
+ *              buffer:     pointer to buffer for returned fileset name
+ *              bufferSize: size of buffer
+ *
+ * Returns:      0      Successful
+ *              -1      Failure and errno is set
+ *
+ * Errno:       ENOSYS  function not available
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOSPC  buffer too small to return fileset name
+ *              GPFS_E_INVAL_ISCAN bad iscan parameter
+ */
+int 
+gpfs_igetfilesetname(gpfs_iscan_t *iscan,
+                     unsigned int filesetId,
+                     void *buffer, 
+                     int bufferSize);
+
+
+/* NAME:        gpfs_igetstoragepool()
+ *
+ * FUNCTION:    Retrieves the name of the storage pool assigned for
+ *              this file's data. The storage pool name is a null-terminated
+ *              string, with a maximum length of GPFS_MAXNAMLEN.
+ *
+ * Input:       iscan:      ptr to gpfs_iscan_t from gpfs_open_inodescan()
+ *              dataPoolId: ia_dataPoolId returned in an iattr from the iscan
+ *              buffer:     pointer to buffer for returned attributes
+ *              bufferSize: size of buffer
+ *
+ * Returns:      0      Successful
+ *              -1      Failure and errno is set
+ *
+ * Errno:       ENOSYS  function not available
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOSPC  buffer too small to return all storage pool name
+ *              GPFS_E_INVAL_ISCAN bad iscan parameters
+ */
+int 
+gpfs_igetstoragepool(gpfs_iscan_t *iscan,
+                     unsigned int dataPoolId,
+                     void *buffer, 
+                     int bufferSize);
+
+
+/* NAME:        gpfs_iclose()
+ *
+ * FUNCTION:    Close file opened by inode and update dates.
+ *
+ * Input:       ifile:   pointer to gpfs_ifile_t from gpfs_iopen
+ *
+ * Returns:     void
+ *
+ * Errno:       ENOSYS function not available
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ */
+void 
+gpfs_iclose(gpfs_ifile_t *ifile);
+
+
+/* NAME:        gpfs_ireadlink()
+ *
+ * FUNCTION:    Read symbolic link by inode number.
+ *
+ * Input:       fssnapHandle: handle for file system & snapshot being scanned
+ *              ino:        inode number of link file to read
+ *              buffer:     pointer to buffer for returned link data
+ *              bufferSize: size of the buffer
+ *
+ * Returns:     number of bytes read (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              GPFS_E_INVAL_FSSNAPHANDLE invalid fssnap handle
+ *              see system call readlink() ERRORS
+ */
+int 
+gpfs_ireadlink(gpfs_fssnap_handle_t *fssnapHandle,
+               gpfs_ino_t ino, 
+               char *buffer, 
+               int bufferSize);
+
+
+/* NAME:        gpfs_sync_fs()
+ *
+ * FUNCTION:    sync file system.
+ *
+ * Input:       fssnapHandle: handle for file system being restored
+ *
+ * Returns:      0 all data flushed to disk (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS  function not available
+ *              ENOMEM unable to allocate memory for request
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              GPFS_E_INVAL_FSSNAPHANDLE invalid fssnapHandle
+ */
+int 
+gpfs_sync_fs(gpfs_fssnap_handle_t *fssnapHandle);
+
+
+/* NAME:        gpfs_enable_restore()
+ *
+ * FUNCTION:    Mark file system as enabled for restore on/off
+ *
+ * Input:       fssnapHandle: handle for file system to be enabled
+ *                            or disabled for restore
+ *              on_off:   flag set to 1 to enable restore
+ *                                    0 to disable restore
+ *
+ * Returns:      0 (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EINVAL bad parameters
+ *              GPFS_E_INVAL_FSSNAPHANDLE invalid fssnapHandle
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOMEM unable to allocate memory for request
+ *              E_FS_NOT_RESTORABLE fs is not clean
+ *              EALREADY fs already marked as requested
+ *              E_RESTORE_STARTED restore in progress
+ *
+ * Notes: EALREADY indicates enable/disable restore was already called 
+ * for this fs. The caller must decide if EALREADY represents an 
+ * error condition.
+ */
+int 
+gpfs_enable_restore(gpfs_fssnap_handle_t *fssnapHandle, 
+                    int on_off);
+
+
+/* NAME:        gpfs_start_restore()
+ *
+ * FUNCTION:    Start a restore session.
+ *
+ * Input:       fssnapHandle: handle for file system to be restored
+ *              restore_flags: Flag to indicate the restore should be started
+ *                             even if a prior restore has not completed.
+ *              old_fssnapId: fssnapId of last restored snapshot
+ *              new_fssnapId: fssnapId of snapshot being restored
+ *
+ * Returns:     pointer to gpfs_restore_t (Successful)
+ *              NULL and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              ENOMEM unable to allocate memory for request
+ *              EINVAL missing parameter
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              EDOM restore fs does not match existing fs
+ *              ERANGE restore is missing updates
+ *              EFORMAT invalid fs version number
+ *              GPFS_E_INVAL_FSSNAPHANDLE invalid fssnaphandle
+ *              GPFS_E_INVAL_FSSNAPID bad fssnapId parameter
+ *              E_FS_NOT_RESTORABLE fs is not clean for restore
+ *              E_RESTORE_NOT_ENABLED fs is not enabled for restore
+ *              EALREADY Restore already in progress
+ *
+ * Note: EALREADY indicates start restore was already called for 
+ * this fs. This could be due to a prior restore process that failed
+ * or it could be due to a concurrent restore process still running.
+ * The caller must decide if EALREADY represents an error condition.
+ */
+gpfs_restore_t *
+gpfs_start_restore(gpfs_fssnap_handle_t *fssnapHandle,
+                   int restore_flags,
+                   const gpfs_fssnap_id_t *old_fssnapId,
+                   const gpfs_fssnap_id_t *new_fssnapId);
+
+#define GPFS_RESTORE_NORMAL 0   /* Restore not started if prior restore
+                                   has not completed. */
+#define GPFS_RESTORE_FORCED 1   /* Restore starts even if prior restore
+                                   has not completed. */
+
+
+/* NAME:        gpfs_end_restore()
+ *
+ * FUNCTION:    End a restore session.
+ *
+ * Input:       restoreId: ptr to gpfs_restore_t
+ *
+ * Returns:     0 (Successful)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EINVAL bad parameters
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              GPFS_E_INVAL_RESTORE bad restoreId parameter
+ *              GPFS_E_FS_NOT_RESTORABLE fs is not clean for restore
+ *              GPFS_E_RESTORE_NOT_ENABLED fs is not enabled for restore
+ *              EALREADY Restore already ended
+ *
+ * Note: EALREADY indicates end restore was already called for 
+ * this fs. This could be due to a concurrent restore process that 
+ * already completed. The caller must decide if EALREADY represents 
+ * an error condition.
+ */
+int 
+gpfs_end_restore(gpfs_restore_t *restoreId);
+
+
+
+/* NAME:        gpfs_ireadx()
+ *
+ * FUNCTION:    Block level incremental read on a file opened by gpfs_iopen
+ *              with a given incremental scan opened via gpfs_open_inodescan.
+ *
+ * Input:       ifile:      ptr to gpfs_file_t returned from gpfs_iopen()
+ *              iscan:      ptr to gpfs_iscan_t from gpfs_open_inodescan()
+ *              buffer:     ptr to buffer for returned data
+ *              bufferSize: size of buffer for returned data
+ *              offset:     ptr to offset value
+ *              termOffset: read terminates before reading this offset
+ *                caller may specify ia_size for the file's gpfs_iattr_t
+ *                or 0 to scan the entire file.
+ *              hole:       ptr to returned flag to indicate a hole in the file
+ *
+ * Returns:     number of bytes read and returned in buffer
+ *              or size of hole encountered in the file. (Success)
+ *              -1 and errno is set (Failure)
+ *
+ *              On input, *offset contains the offset in the file
+ *              at which to begin reading to find a difference same file
+ *              in a previous snapshot specified when the inodescan was opened.
+ *              On return, *offset contains the offset of the first 
+ *              difference.
+ *
+ *              On return, *hole indicates if the change in the file
+ *              was data (*hole == 0) and the data is returned in the 
+ *              buffer provided. The function's value is the amount of data
+ *              returned. If the change is a hole in the file, 
+ *              *hole != 0 and the size of the changed hole is returned
+ *              as the function value.
+ *
+ *              A call with a NULL buffer pointer will query the next increment
+ *              to be read from the current offset. The *offset, *hole and 
+ *              returned length will be set for the next increment to be read,
+ *              but no data will be returned. The bufferSize parameter is
+ *              ignored, but the termOffset parameter will limit the
+ *              increment returned.
+ *
+ * Errno:       ENOSYS function not available
+ *              EINVAL missing or bad parameter
+ *              EISDIR file is a directory
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              ENOMEM unable to allocate memory for request
+ *              EDOM fs snapId does match local fs
+ *              ERANGE previous snapId is more recent than scanned snapId
+ *              GPFS_E_INVAL_IFILE bad ifile parameter
+ *              GPFS_E_INVAL_ISCAN bad iscan parameter
+ *              see system call read() ERRORS
+ *
+ * Notes:       The termOffset parameter provides a means to partition a 
+ *              file's data such that it may be read on more than one node.
+ */
+gpfs_off64_t 
+gpfs_ireadx(gpfs_ifile_t *ifile,      /* in only  */
+            gpfs_iscan_t *iscan,      /* in only  */
+            void *buffer,             /* in only  */
+            int bufferSize,           /* in only  */
+            gpfs_off64_t *offset,     /* in/out   */
+            gpfs_off64_t termOffset,  /* in only */
+            int *hole);               /* out only */
+
+
+/* NAME:        gpfs_iwritex()
+ *
+ * FUNCTION:    Write file opened by gpfs_iopen.
+ *              If parameter hole == 0, then write data
+ *              addressed by buffer to the given offset for the
+ *              given length. If hole != 0, then write
+ *              a hole at the given offset for the given length.
+ *
+ * Input:       ifile :   ptr to gpfs_file_t returned from gpfs_iopen()
+ *              buffer:   ptr to data buffer
+ *              writeLen: length of data to write
+ *              offset:   offset in file to write data
+ *              hole:     flag =1 to write a "hole"
+ *                             =0 to write data
+ *
+ * Returns:     number of bytes/size of hole written (Success)
+ *              -1 and errno is set (Failure)
+ *
+ * Errno:       ENOSYS function not available
+ *              EINVAL missing or bad parameter
+ *              EISDIR file is a directory
+ *              EPERM caller must have superuser priviledges
+ *              ESTALE cached fs information was invalid
+ *              GPFS_E_INVAL_IFILE bad ifile parameter
+ *              see system call write() ERRORS
+ */
+gpfs_off64_t 
+gpfs_iwritex(gpfs_ifile_t *ifile,    /* in only */
+             void *buffer,           /* in only */
+             gpfs_off64_t writeLen,  /* in only */
+             gpfs_off64_t offset,    /* in only */
+             int hole);              /* in only */
+
+
+/* NAME:        gpfs_statfspool()
+ *
+ * FUNCTION:    Obtain status information about the storage pools
+ *
+ * Input:       pathname   : path to any file in the file system 
+ *              poolId     : id of first pool to return
+ *                           on return set to next poolId or -1 
+ *                           to indicate there are no more pools.
+ *              options    : option flags (currently not used)
+ *              nPools     : number of stat structs requested or 0
+ *                           on return number of stat structs in buffer
+ *                           or if nPools was 0 its value is the max number
+ *                           of storage pools currently defined
+ *              buffer     :  ptr to return stat structures
+ *              bufferSize : sizeof stat buffer
+ *             
+ *              The user is expected to issue two or more calls. On the first
+ *              call the user should pass nPools set to 0 and gpfs will 
+ *              return in nPools the total number of storage pools currently 
+ *              defined for the file system indicated by the pathname 
+ *              and it returns in poolId the id of the first storage pool.
+ *              The buffer parameter may be set to NULL for this call.
+ *
+ *              The user may then allocate a buffer large enough to contain
+ *              a gpfs_statpool_t structure for each of the pools and issue
+ *              a second call to obtain stat information about each pool.
+ *              Parameter nPools should be set the number of pools requested.
+ *              On return, nPools will be set to the number of stat structs
+ *              contained in the buffer, and poolId will be set to the id
+ *              of the next storage pool or -1 to indicate there are no
+ *              additional storage pools defined.
+ *
+ *              Alternatively, if the user has a valid poolId from a previous
+ *              call, the user may provide that poolId and a buffer large 
+ *              enough for a single gpfs_statpool_t structure, and the call
+ *              will return the status for a single storage pool.
+ *
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       Specific error indication
+ *              EINVAL  
+ */
+int 
+gpfs_statfspool(const char *pathname, /* in only: path to file system*/
+                gpfs_pool_t *poolId,  /* in out: id of first pool to return
+                                         on return set to next poolId 
+                                         or -1 when there are no more pools */
+                unsigned int options, /* in only: option flags */
+                int *nPools,          /* in out: number of pool stats requested
+                                         on return number of stat structs 
+                                         returned in buffer or if nPools was
+                                         set to 0, the return value is the 
+                                         number of pools currently defined */
+                void *buffer,         /* ptr to return stat structures */
+                int bufferSize);      /* sizeof stat buffer or 0 */
+              
+
+
+/* NAME:        gpfs_getpoolname()
+ *
+ * FUNCTION:    Retrieves the name of the storage pool assigned for
+ *              this file's data. The storage pool name is a null-terminated
+ *              string, with a maximum length of GPFS_MAXNAMLEN.
+ *
+ * Input:       pathname:   path to any file in the file system 
+ *              poolId:     f_poolid returned in gpfs_statfspool_t 
+ *              buffer:     pointer to buffer for returned name
+ *              bufferSize: size of buffer
+ *
+ * Returns:      0      Successful
+ *              -1      Failure and errno is set
+ *
+ * Errno:       ENOSYS function not available
+ *              ESTALE file system was unmounted
+ *              E_FORMAT_INCOMPAT file system does not support pools
+ *              E2BIG  buffer too small to return storage pool name
+ */
+int 
+gpfs_getpoolname(const char *pathname,
+                 gpfs_pool_t poolId,
+                 void *buffer, 
+                 int bufferSize);
+
+
+/* GPFS QUOTACTL */
+
+/*
+ * Command definitions for the 'gpfs_quotactl' system call.
+ * The commands are broken into a main command defined below
+ * and a subcommand that is used to convey the type of
+ * quota that is being manipulated (see above).
+ */
+
+#define SUBCMDMASK      0x00ff
+#define SUBCMDSHIFT     8
+#define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK))
+
+#define Q_QUOTAON       0x0100  /* enable quotas */
+#define Q_QUOTAOFF      0x0200  /* disable quotas */
+#define Q_GETQUOTA      0x0300  /* get limits and usage */
+#ifndef _LINUX_SOURCE_COMPAT
+ /* Standard AIX definitions of quota commands */
+#define Q_SETQUOTA      0x0400  /* set limits */
+#define Q_SETQLIM       Q_SETQUOTA
+#else
+ /* Alternate definitions, for Linux Affinity */
+#define Q_SETQLIM       0x0400  /* set limits */
+#define Q_SETQUOTA      0x0700  /* set limits and usage */
+#endif
+#define Q_SETUSE        0x0500  /* set usage */
+#define Q_SYNC          0x0600  /* sync disk copy of a filesystems quotas */
+
+/* gpfs quota types */
+#define GPFS_USRQUOTA     0
+#define GPFS_GRPQUOTA     1
+#define GPFS_FILESETQUOTA 2
+
+typedef struct gpfs_quotaInfo
+{
+  gpfs_off64_t blockUsage;      /* current block count in 1 KB units*/
+  gpfs_off64_t blockHardLimit;  /* absolute limit on disk blks alloc */
+  gpfs_off64_t blockSoftLimit;  /* preferred limit on disk blks */
+  gpfs_off64_t blockInDoubt;    /* distributed shares + "lost" usage for blks */
+  int          inodeUsage;      /* current # allocated inodes */
+  int          inodeHardLimit;  /* absolute limit on allocated inodes */
+  int          inodeSoftLimit;  /* preferred inode limit */
+  int          inodeInDoubt;    /* distributed shares + "lost" usage for inodes */
+  gpfs_uid_t   quoId;           /* uid, gid or fileset id */
+  int          entryType;       /* entry type, not used */
+  unsigned int blockGraceTime;  /* time limit for excessive disk use */
+  unsigned int inodeGraceTime;  /* time limit for excessive inode use */
+} gpfs_quotaInfo_t;
+
+
+/*
+ * NAME:        gpfs_quotactl
+ *
+ * FUNCTION:    Manipulate disk quotas
+ * INPUT:       pathname: specifies the pathname of any file within the
+ *                        mounted file system to which the command is to
+ *                        be applied
+ *              cmd: specifies a quota control command to be applied 
+ *                   to UID/GID/FILESETID id. 
+ *                   the cmd parameter can be constructed using QCMD(cmd, type) 
+ *                   macro defined in gpfs.h
+ *                   of quota.
+ *              id:  UID or GID or FILESETID that command applied to.
+ *              bufferP: points to the address of an optional, command
+ *                       specific, data structure that is copied in or out of
+ *                       the system.
+ *              
+ * OUTPUT:      bufferP, if applicable.
+ *
+ * Returns:     0 success
+ *              -1 failure 
+ *
+ * Errno:       EACCESS 
+ *              EFAULT        An invalid bufferP parameter is supplied;
+ *                            the associated structure could not be copied
+ *                            in or out of the kernel
+ *              EINVAL  
+ *              ENOENT        No such file or directory
+ *              EPERM         The quota control command is privileged and 
+ *                            the caller did not have root user authority
+ *              EOPNOTSUPP
+ *              E_NO_QUOTA_INST The file system does not support quotas
+ */
+
+int 
+gpfs_quotactl(char *pathname, int cmd, int id, void *bufferP);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* H_GPFS */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/include/gpfs_fcntl.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/include/gpfs_fcntl.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/include/gpfs_fcntl.h	(revision 16)
@@ -0,0 +1,634 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* Restricted Materials of IBM                                            */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 1999,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+/* @(#)51       1.14  src/avs/fs/mmfs/ts/kernext/gpfs_fcntl.h, mmfs, avs_rgpfs24, rgpfs24s001a 3/24/06 19:37:40 */
+
+/*
+ * GPFS interface definitions for supporting I/O hints and directives.
+ *
+ * Usage: The argument to gpfs_fcntl is composed of the concatenation of
+ * structures defined in this file.  The first structure must be of type
+ * gpfsFcntlHeader_t.  This is immediately followed by additional
+ * structures, one for each hint or directive supplied.  The totalLength
+ * field of the header contains the length of all of the structures,
+ * including the header itself.  Each structure is defined to be a multiple
+ * of 8 bytes in length, and the highest alignment requirement of any of the
+ * data types is also 8 bytes, so the compiler will not insert padding when
+ * several structures are declared within an outer structure.  This makes
+ * it easier to build up the necessary area before calling gpfs_fcntl.
+ *
+ * For example, the following code fragment first releases all cached data
+ * held on behalf of a file, then tells GPFS that this node will write
+ * the portion of the file with file offsets between 2G and 3G-1:
+ *   struct
+ *   {
+ *     gpfsFcntlHeader_t hdr;
+ *     gpfsClearFileCache_t rel;
+ *     gpfsAccessRange_t acc;
+ *   } arg;
+ *
+ *   arg.hdr.totalLength = sizeof(arg);
+ *   arg.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION;
+ *   arg.hdr.fcntlReserved = 0;
+ *   arg.rel.structLen = sizeof(arg.rel);
+ *   arg.rel.structType = GPFS_CLEAR_FILE_CACHE;
+ *   arg.acc.structLen = sizeof(arg.acc);
+ *   arg.acc.structType = GPFS_ACCESS_RANGE;
+ *   arg.acc.start = 2LL * 1024LL * 1024LL * 1024LL;
+ *   arg.acc.length = 1024 * 1024 * 1024;
+ *   arg.acc.isWrite = 1;
+ *   rc = gpfs_fcntl(handle, &arg);
+ *
+ * If gpfs_fcntl returns an error (rc -1), errno will contain the error
+ * reason, and the errorOffset field of the header will contain the offset
+ * of the offending structure within the argument area.
+ *
+ * In general, the structures within the argument are processed in order,
+ * except that data shipping directives are performed after all other hints
+ * and directives.
+ */
+
+#ifndef _h_gpfs_fcntl
+#define _h_gpfs_fcntl
+
+/* Header of the parameter area passed to gpfs_fcntl */
+typedef struct
+{
+  int           totalLength;    /* length of this structure plus the sum of
+                                   the lengths of all structures in this
+                                   gpfs_fcntl argument */
+  int           fcntlVersion;   /* version number: GPFS_FCNTL_CURRENT_VERSION */
+  int           errorOffset;    /* Returned value giving offset into parameter
+                                   area of the structure to which errno
+                                   pertains.  Only set if errno is set. */
+  int           fcntlReserved;  /* not used, should be set to 0 */
+} gpfsFcntlHeader_t;
+
+
+/* Interface version number (fcntlVersion field of gpfsFcntlHeader_t) */
+#define GPFS_FCNTL_CURRENT_VERSION      1
+
+/* Maximum length of argument to gpfs_fcntl */
+#define GPFS_MAX_FCNTL_LENGTH       65536
+
+/* Maximum length of a name arguement passed to or returned from gpfs_fcntl.
+   Length of buffer must be a multiple of 8. */
+#define GPFS_FCNTL_MAX_NAME_BUFFER  256 
+#define GPFS_FCNTL_MIN_NAME_BUFFER  8
+
+
+/* Definitions of structType fields for GPFS hints.  Hints can be ignored
+   by GPFS without affecting correct operation, although performance might
+   suffer. */
+#define GPFS_ACCESS_RANGE            1001
+#define GPFS_FREE_RANGE              1002
+#define GPFS_MULTIPLE_ACCESS_RANGE   1003
+#define GPFS_CLEAR_FILE_CACHE        1004
+
+/* Definitions of structType fields for GPFS directives.  GPFS must honor
+   directives, or return an error saying why a directive could not be
+   honored. */
+#define GPFS_CANCEL_HINTS            2001
+#define GPFS_DATA_SHIP_START         2002
+#define GPFS_DATA_SHIP_MAP           2003
+#define GPFS_DATA_SHIP_STOP          2004
+#define GPFS_FCNTL_SET_REPLICATION   2005
+#define GPFS_FCNTL_SET_STORAGEPOOL   2006
+#define GPFS_FCNTL_RESTRIPE_DATA     2007
+
+
+/* Definitions of structType fileds for GPFS inquiries. Inquiries merely
+   return GPFS attributes of existing files. */
+#define GPFS_FCNTL_GET_REPLICATION   3001
+#define GPFS_FCNTL_GET_STORAGEPOOL   3002
+#define GPFS_FCNTL_GET_FILESETNAME   3003
+#define GPFS_FCNTL_GET_SNAPSHOTNAME  3004
+
+
+
+/* Structures for specifying the various gpfs_fnctl hints */
+
+/* Access range hint:  The application will soon access file offsets within
+   the given range, and will not access offsets outside the range.  Violating
+   this hint may produce worse performance than if no hint was specified. */
+typedef struct
+{
+  int           structLen;      /* length of this structure */
+  int           structType;     /* hint identifier: GPFS_ACCESS_RANGE */
+  long long     start;          /* start offset in bytes from beginning of file */
+  long long     length;         /* length of range; 0 indicates to end of file */
+  int           isWrite;        /* 0 - read access, 1 - write access */
+  char          padding[4];
+} gpfsAccessRange_t;
+
+
+/* Free range hint: the application will no longer access file offsets
+   within the given range, so GPFS is free to flush those file offsets from
+   its cache. */
+typedef struct
+{
+  int           structLen;      /* length of this structure */
+  int           structType;     /* hint identifier: GPFS_FREE_RANGE */
+  long long     start;          /* start offset in bytes from beginning of file */
+  long long     length;         /* length of range; 0 indicates to end of file */
+} gpfsFreeRange_t;
+
+
+/* Format of accRangeArray and relRangeArray entries used by
+   GPFS_MULTIPLE_ACCESS_RANGE hint */
+typedef struct
+{
+  long long     blockNumber;    /* data block number to access */
+  int           start;          /* start of range (from beginning of block) */
+  int           length;         /* number of bytes in the range  */
+  int           isWrite;        /* 0 - read access, 1 - write access */
+  char          padding[4];
+} gpfsRangeArray_t;
+
+/* Multiple access range hint: This hint is used to drive application-defined
+   prefetching and writebehind.  The application will soon access the
+   portions of the blocks specified in accRangeArray, and has finished
+   accessing the ranges listed in relRangeArray.  The size of a block is
+   returned by stat in the st_blksize field, so offset OFF of a file is in
+   block OFF/st_blksize.  Up to GPFS_MAX_RANGE_COUNT blocks may be given in
+   one multiple access range hint.  Depending on the current load, GPFS may
+   initiate prefetching of some or all of these.  Each range named in
+   accRangeArray that is accepted for prefetching should eventually be
+   released via relRangeArray, or else GPFS will stop prefetching blocks
+   for this file. */
+#define GPFS_MAX_RANGE_COUNT 8
+typedef struct
+{
+  int           structLen;      /* length of this structure */
+  int           structType;     /* hint identifier: GPFS_MULTIPLE_ACCESS_RANGE */
+  int           accRangeCnt;    /* on input, number of ranges in accRangeArray
+                                   on output, number of processed ranges (the
+                                   first n of the given ranges) */
+  int           relRangeCnt;    /* number of ranges in relRangeArray */
+  gpfsRangeArray_t accRangeArray[GPFS_MAX_RANGE_COUNT]; /* requested ranges */
+  gpfsRangeArray_t relRangeArray[GPFS_MAX_RANGE_COUNT]; /* ranges to release */
+} gpfsMultipleAccessRange_t;
+
+
+/* Clear file cache hint: the application expects to no longer access any
+   portion of the file, so GPFS should flush and invalidate any cached
+   data belonging to this file.  This may avoid synchronous cache invalidations
+   on later uses of the file by other nodes. */
+typedef struct
+{
+  int           structLen;      /* length of this structure */
+  int           structType;     /* hint identifier: GPFS_CLEAR_FILE_CACHE */
+} gpfsClearFileCache_t;
+
+
+
+/* Structures for specifying the various gpfs_fnctl directives */
+
+/* Cancel all hints: GPFS removes any hints that may have been issued
+   against this file.  Does not affect the contents of the GPFS file cache.
+   Note that this directive does not cancel the effect of other directives,
+   such as GPFS_DATA_SHIP_START. */
+typedef struct  /* cancelAccessHints hint */
+{
+  int           structLen;      /* length of this structure */
+  int           structType;     /* hint identifier: GPFS_CANCEL_HINTS */
+} gpfsCancelHints_t;
+
+
+/* Initiate data shipping mode: once all participating threads have issued
+   this hint for a file, GPFS enters a mode where it partitions the blocks
+   of the file among a group of agent nodes.  In data shipping mode, all
+   file accesses result in GPFS messages to the appropriate agent(s) to read
+   or write the requested data.  Applications that perform fine-grained
+   write sharing should benefit most from data shipping, since GPFS cache
+   invalidations will be avoided.  Because an application level read or
+   write may be split across several agents, Posix read/write file atomicity
+   is not enforced while in data shipping mode. */
+typedef struct
+{
+  int           structLen;      /* length of this structure */
+  int           structType;     /* directive identifier: GPFS_DATA_SHIP_START */
+  int           numInstances;   /* number of open file instances collaborating
+                                   to operate on the file.  These may be on
+                                   any number of nodes. */
+  int           reserved;       /* not used, should be set to 0 */
+} gpfsDataShipStart_t;
+
+
+/* Specify the agent mapping for data shipping: tells GPFS which agent
+   nodes to use for data shipping.  This directive can only appear in a
+   gpfs_fcntl call that also gives the GPFS_DATA_SHIP_START directive.  If
+   this directive is not used, the agents will be exactly the nodes on which
+   the GPFS_DATA_SHIP_START directive was given, and the partition will be a
+   round-robin distribution of the blocks of the file to the agent nodes.
+   There are two forms of this directive.  The gpfsDataShipMap_t structure
+   contains enough room for up to GPFS_MAX_DS_AGENT_NODES agent nodes.  If
+   this is insufficient, the variable-size structure gpfsDataShipMapVariable_t
+   may be used instead.  GPFS will infer the actual size of the agentNodeNumber
+   array in the gpfsDataShipMapVariable_t structure from its structLen
+   field.  To build the argument to gpfs_fcntl when gpfsDataShipMapVariable_t
+   is used, the application needs to dynamically allocate space for all of
+   the contiguous structures to be passed to gpfs_fcntl.  The following code
+   fragment illustrates how this might be done:
+
+     char * p;
+     gpfsFcntlHeader_t * hdrP;
+     gpfsDataShipStart_t * startP;
+     gpfsDataShipMapVariable_t * mapP;
+     int mapSize = GPFS_DATA_SHIP_MAP_VARIABLE_SIZE(nAgents);
+
+     p = malloc(sizeof(gpfsFcntlHeader_t) + sizeof(gpfsDataShipStart_t) + mapSize);
+     hdrP = (gpfsFcntlHeader_t *) p;
+     startP = (gpfsDataShipStart_t *) (p + sizeof(gpfsFcntlHeader_t));
+     mapP = (gpfsDataShipMapVariable_t *) (p + sizeof(gpfsFcntlHeader_t) +
+                                           sizeof(gpfsDataShipStart_t));
+     hdrP->totalLength = sizeof(gpfsFcntlHeader_t) +
+                         sizeof(gpfsDataShipStart_t) + mapSize;
+     ... fill in other fields in *hdrP
+     startP->structLen = sizeof(gpfsDataShipStart_t);
+     ... fill in other fields in *startP
+     mapP->structLen = mapSize;
+     ... fill in other fields in mapP, including nAgents entries in the
+       mapP->agentNodeNumber array
+     rc = gpfs_fcntl(handle, hdrP);
+     free(p);
+
+  As the example code shows, using gpfsDataShipMapVariable_t is more awkward
+  than using gpfsDataShipMap_t, since the latter can simply be embedded
+  within a larger structure that contains the necessary gpfsFcntlHeader_t
+  and gpfsDataShipStart_t structures. */
+#define GPFS_MAX_DS_AGENT_NODES 2048
+typedef struct
+{
+  int           structLen;      /* length of this structure */
+  int           structType;     /* directive identifier: GPFS_DATA_SHIP_MAP */
+  int           partitionSize;  /* number of contiguous bytes per server */
+  int           agentCount;     /* number of entries used in the
+                                   agentNodeNumber array */
+  int           agentNodeNumber[GPFS_MAX_DS_AGENT_NODES]; 
+                                /* data ship agent node numbers, using 
+                                   GPFS configuration data repository
+                                   node numbers */
+} gpfsDataShipMap_t;
+
+typedef struct
+{
+  int           structLen;      /* length of this structure */
+  int           structType;     /* directive identifier: GPFS_DATA_SHIP_MAP */
+  int           partitionSize;  /* number of contiguous bytes per server */
+  int           agentCount;     /* number of entries used in the
+                                   agentNodeNumber array */
+  int           agentNodeNumber[2]; 
+                                /* data ship agent node numbers, using 
+                                   GPFS configuration data repository
+                                   node numbers.  The actual size of this
+                                   array will be inferred from structLen.
+                                   The number of elements in the array must
+                                   be even, so that the total structure size
+                                   is a multiple of 8.  The number of
+                                   entries used in the array is given by
+                                   agentCount, and may be any positive value
+                                   less than or equal to the size of the
+                                   array. */
+} gpfsDataShipMapVariable_t;
+
+/* Compute the size in bytes of a gpfsDataShipMapVariable_t structure large
+   enough to hold _nAgents data shipping agent node numbers */
+#define GPFS_DATA_SHIP_MAP_VARIABLE_SIZE(_nAgents) \
+  ( sizeof(gpfsDataShipMapVariable_t) - 2*sizeof(int) + \
+    ((((_nAgents)+1)/2)*2)*sizeof(int) )
+
+
+/* Terminate data shipping: waits for all threads that issued the
+   GPFS_DATA_SHIP_START directive to issue this directive, then leaves data
+   shipping mode. */
+typedef struct
+{
+  int           structLen;      /* length of this structure */
+  int           structType;     /* directive identifier: GPFS_DATA_SHIP_STOP */
+} gpfsDataShipStop_t;
+
+
+/* This directive is used to set a file's replication factors. 
+   However, the directive does not cause the file data to be restriped 
+   immediately. Instead the caller must append a gpfsRestripeData_t directive
+   or invoke a mmrestripefs or a mmrestripefile command. */
+typedef struct
+{
+  int structLen;               /* length of this structure */
+  int structType;              /* directive identifier: 
+                                  GPFS_FCNTL_SET_REPLICATION */
+  int metadataReplicas;        /* Set the number of copies of the file's 
+                                  indirect blocks. Valid values are 1 or 2,
+                                  but not greater than the value of 
+                                  maxMetadataReplicas. A value of 0 indicates
+                                  not to change the current value. */  
+  int maxMetadataReplicas;     /* Set the maximum number of copies of a file's
+                                  indirect blocks. Space in the file's inode
+                                  and indirect blocks is reserved for the
+                                  maximum number of copies, regardless of the
+                                  current value. Valid values are 1 or 2.
+                                  A value of 0 indicates not to change the 
+                                  current value. */
+  int dataReplicas;            /* Set the number of copies of the file's
+                                  data blocks. Valid values are 1 or 2,
+                                  but cannot be greater than the value of
+                                  maxDataReplicas. A value of 0 indicates
+                                  not to change the current value. */
+  int maxDataReplicas;         /* Set the maximum number of copies of a file's
+                                  data blocks. Space in the file's inode
+                                  and indirect blocks is reserved for the
+                                  maximum number of copues, regardless of the
+                                  current value. Valid values are 1 or 2. 
+                                  A value of 0 indicates not the change the
+                                  current value. */
+  int errReason;               /* returned reason request failed.
+                                  Defined below. */
+  int errValue1;               /* returned value depending upon errReason */
+  int errValue2;               /* returned value depending upon errReason */
+  int reserved;                /* unused, but should be set to 0 */
+} gpfsSetReplication_t;
+
+
+
+/* Values that may be returned by errReason */
+
+/* No reason information was returned. */
+#define GPFS_FCNTL_ERR_NONE                       0
+
+/* MetadataReplicas is out of range.
+   errValue1 and errValue2 contain the valid lower and upper range boundaries. */
+#define GPFS_FCNTL_ERR_METADATA_REPLICAS_RANGE    1
+
+/* MaxMetadataReplicas is out of range.
+   errValue1 and errValue2 contain the valid lower and upper range boundaries. */
+#define GPFS_FCNTL_ERR_MAXMETADATA_REPLICAS_RANGE 2
+
+/* DataReplicas is out of range.
+   errValue1 and errValue2 contain the valid lower and upper range boundaries. */
+#define GPFS_FCNTL_ERR_DATA_REPLICAS_RANGE        3
+
+/* MaxDataReplicas is out of range.
+   errValue1 and errValue2 contain the valid lower and upper range boundaries. */
+#define GPFS_FCNTL_ERR_MAXDATA_REPLICAS_RANGE     4
+
+/* An attempt to change maxMetadataReplicas or maxDataReplicas or both
+   was made on a file that is not empty. */
+#define GPFS_FCNTL_ERR_FILE_NOT_EMPTY             5
+
+/* MetadataReplicas or dataReplicas or both exceed the number of failure groups.
+   errValue1 contains the maximum number of metadata failure groups.
+   errValue2 contains the maximum number of data failure groups. */
+#define GPFS_FCNTL_ERR_REPLICAS_EXCEED_FGMAX      6
+
+
+
+/* This directive is used to set a file's assigned storage pool. 
+   However, the directive does not cause the file data to be migrated 
+   immediately. Instead the caller must append a gpfsRestripeData_t 
+   directive or invoke a mmrestripefs or mmrestripefile command. 
+   The caller must have root privileges to change a file's storage pool. */
+typedef struct
+{
+  int structLen;               /* length of this structure */
+  int structType;              /* directive identifier: 
+                                  GPFS_FCNTL_SET_STORAGEPOOL */
+  int errReason;               /* returned reason request failed.
+                                  Defined below. */
+  int errValue1;               /* returned value depending upon errReason */
+  int errValue2;               /* returned value depending upon errReason */
+  int reserved;                /* unused, but should be set to 0 */
+  char buffer[GPFS_FCNTL_MAX_NAME_BUFFER]; /* Null-terminated name of 
+                                              storage pool to be assigned */
+} gpfsSetStoragePool_t;
+
+
+/* Values that may be returned by errReason */
+
+/* Invalid storage pool name was given. */
+#define GPFS_FCNTL_ERR_INVALID_STORAGE_POOL       7
+
+/* Invalid storage pool. File cannot be assigned to given pool. */
+#define GPFS_FCNTL_ERR_INVALID_STORAGE_POOL_TYPE  8
+
+/* Invalid storage pool. Directories cannot be assigned to given pool. */
+#define GPFS_FCNTL_ERR_INVALID_STORAGE_POOL_ISDIR 9
+
+/* Invalid storage pool. System files cannot be assigned to given pool. */
+#define GPFS_FCNTL_ERR_INVALID_STORAGE_POOL_ISLNK 10
+
+/* Invalid storage pool. System files cannot be assigned to given pool. */
+#define GPFS_FCNTL_ERR_INVALID_STORAGE_POOL_ISSYS 11
+
+/* File system has not been upgraded to support storage pools */
+#define GPFS_FCNTL_ERR_STORAGE_POOL_NOTENABLED    12
+
+/* User does not have permission to perform the requested operation */
+#define GPFS_FCNTL_ERR_NOPERM                     13
+
+
+
+
+/* This directive is used to restripe a file's data blocks to update 
+   its replication and/or migrate its data. The data movement is always 
+   done immediately. */
+typedef struct 
+{
+  int structLen;               /* length of this structure */
+  int structType;              /* directive identifier: 
+                                  GPFS_FCNTL_RESTRIPE_FILE */
+  int options;                 /* options for restripe command. Defined below.
+                                  See mmrestripefs command for details. */
+  int errReason;               /* returned reason request failed.
+                                  Defined below. */
+  int errValue1;               /* returned value depending upon errReason */
+  int errValue2;               /* returned value depending upon errReason */
+  int reserved;                /* unused, but should be set to 0 */  
+  int reserved2;               /* unused, but should be set to 0 */  
+} gpfsRestripeData_t;
+
+
+/* Define values for restripe options.
+   See mmrestripefs command for complete definitions. */
+
+/* Migrate critical data off of suspended disks. */
+#define GPFS_FCNTL_RESTRIPE_M   0x0001
+
+/* Replicate data against subsequent failure. */
+#define	GPFS_FCNTL_RESTRIPE_R   0x0002
+
+/* Place file data in assigned storage pool. */
+#define GPFS_FCNTL_RESTRIPE_P   0x0004
+
+/* Rebalance file data */
+#define GPFS_FCNTL_RESTRIPE_B   0x0008
+
+
+/* Values that may be returned by errReason */
+
+/* Not enough replicas could be created because the desired degree 
+   of replication is larger than the number of failure groups. */
+#define GPFS_FCNTL_ERR_NO_REPLICA_GROUP          14
+
+/* Not enough replicas could be created because there was not 
+   enough space left in one of the failure groups. */
+#define GPFS_FCNTL_ERR_NO_REPLICA_SPACE          15
+
+/* There was not enough space left on one of the disks to properly 
+   balance the file according to the current stripe method. */
+#define GPFS_FCNTL_ERR_NO_BALANCE_SPACE          16
+
+/* The file could not be properly balanced because one or more 
+   disks are unavailable. */
+#define GPFS_FCNTL_ERR_NO_BALANCE_AVAILABLE      17
+
+/* All replicas were on disks that have since been deleted 
+   from the stripe group. */
+#define GPFS_FCNTL_ERR_ADDR_BROKEN               18
+
+
+
+
+/* Structures for specifying the various gpfs_fnctl inquiries.
+   The inquiry directives may be used to obtain attributes of a files
+   such as the file's replication factors, storage pool name, 
+   fileset name or snapshot name. */
+
+/* This inquiry is used to obtain a file's replication factors. */
+typedef struct
+ {
+   int structLen;               /* length of this structure */
+   int structType;              /* inquiry identifier: 
+                                   GPFS_FCNTL_GET_REPLICATION */
+   int metadataReplicas;        /* returns the current number of copies 
+                                   of indirect blocks for the file. */
+   int maxMetadataReplicas;     /* returns the maximum number of copies
+                                   of indirect blocks for the file. */
+   int dataReplicas;            /* returns the current number of copies
+                                   of data blocks for the file. */
+   int maxDataReplicas;         /* returns the maximum number of copies
+                                   of data blocks for the file. */
+   int status;                 /* returns the status of the file.
+                                   Status values defined below. */
+   int reserved;                /* unused, but should be set to 0 */
+} gpfsGetReplication_t;
+
+
+/* Flag definitions */
+
+/* If set this file may have some data where the only replicas are 
+   on suspended disks; implies some data may be lost if suspended
+   disks are removed. */
+#define GPFS_FCNTL_STATUS_EXPOSED        0x40000000
+
+/* If set this file may not be properly replicated, i.e. some data 
+   may have fewer or more than the desired number of replicas, 
+   or some replicas may be on suspended disks. */
+#define GPFS_FCNTL_STATUS_ILLREPLICATED  0x20000000
+
+/* If set this file may not be properly balanced. */
+#define GPFS_FCNTL_STATUS_UNBALANCED     0x10000000
+
+/* If set this file has stale data blocks on at least one of the disks
+   that are marked as unavailable or recovering in the stripe group 
+   descriptor. */
+#define GPFS_FCNTL_STATUS_DATAUPDATEMISS 0x08000000
+
+/* If set this file has stale indirect blocks on at least one 
+   unavailable or recovering disk. */
+#define GPFS_FCNTL_STATUS_METAUPDATEMISS 0x04000000
+
+/* If set this file may not be properly placed, i.e. some data may 
+   be stored in an incorrect storage pool */
+#define GPFS_FCNTL_STATUS_ILLPLACED      0x02000000
+
+
+
+/* This inquiry is used to obtain the name of the storage assigned
+   for the file's data. The size of the buffer may vary, but it must be 
+   a multiple of 8. Upon successful completion of the call, the buffer 
+   will contain a null-terminated character string for the name of the
+   file's storage pool. */
+typedef struct
+{
+  int structLen;               /* length of this structure */
+  int structType;              /* inquiry identifier: 
+                                   GPFS_FCNTL_GET_STORAGEPOOL */
+  char buffer[GPFS_FCNTL_MAX_NAME_BUFFER]; /* returns with the file's
+                                              storage pool name */
+} gpfsGetStoragePool_t;
+
+
+/* This inquiry is used to obtain the name of the fileset to which this 
+   file has been assigned. The size of the buffer may vary, but it must be 
+   a multiple of 8. Upon successful completion of the call, the buffer 
+   will contain a null-terminated character string for the name of the
+   file's fileset. */
+typedef struct
+{
+   int structLen;               /* length of this structure */
+   int structType;              /* inquiry identifier: 
+                                   GPFS_FCNTL_GET_FILESETNAME */
+  char buffer[GPFS_FCNTL_MAX_NAME_BUFFER]; /* returns with the file's
+                                              fileset name */
+} gpfsGetFilesetName_t;
+
+
+/* This inquiry is used to obtain the name of the snapshot that includes 
+   this file. If the file is not part of a snapshot, then a zero-length
+   string will be returned. The size of the buffer may vary, but it must be 
+   a multiple of 8. Upon successful completion of the call, the buffer 
+   will contain a null-terminated character string for the name of the
+   snapshot that includes this file. */
+typedef struct {
+   int structLen;               /* length of this structure */
+   int structType;              /* inquiry identifier: 
+                                   GPFS_FCNTL_GET_SNAPSHOTNAME */
+  char buffer[GPFS_FCNTL_MAX_NAME_BUFFER]; /* returns with the file's
+                                              snapshot name */
+} gpfsGetSnapshotName_t;
+
+
+
+
+
+
+
+/* NAME:        gpfs_fcntl()
+ *
+ * FUNCTION:    Pass hints and directives to GPFS on behalf of an open file
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  Function not available
+ *              EBADF   Bad file handle
+ *              EINVAL  Not a GPFS file
+ *              EINVAL  Not a regular file
+ *              EINVAL  Ill-formed hint or directive
+ *              E2BIG   Argument longer than GPFS_MAX_FCNTL_LENGTH
+ */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+int gpfs_fcntl(int fileDesc,            /* Open file descriptor */
+                void* fcntlArgP);       /* argument list */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _h_gpfs_fcntl */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/include/gpfs_gpl.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/include/gpfs_gpl.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/include/gpfs_gpl.h	(revision 16)
@@ -0,0 +1,349 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2006 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice,
+ *     this list of conditions and the following disclaimer.
+ *  2. Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *  3. The name of the author may not be used to endorse or promote products
+ *     derived from this software without specific prior written
+ *     permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)79	1.3  src/avs/fs/mmfs/ts/kernext/ibm-kxi/gpfs_gpl.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/27/06 16:48:09 */
+/*
+ *  Library calls for GPFS interfaces
+ */
+
+
+#ifndef H_GPFS_GPL
+#define H_GPFS_GPL
+#ifndef H_GPFS
+/* typedefs that are in gpfs.h as well */
+typedef unsigned int gpfs_uid_t;
+typedef long long gpfs_off64_t;
+#ifdef __cplusplus
+extern "C" {
+#endif
+#endif
+
+
+
+/* Mapping of buffer for gpfs_getacl, gpfs_putacl. */
+typedef struct gpfs_opaque_acl
+{
+  int            acl_buffer_len;  /* INPUT:  Total size of buffer (including this field).
+                                     OUTPUT: Actual size of the ACL information.  */
+  unsigned short acl_version;     /* INPUT:  Set to zero.
+                                     OUTPUT: Current version of the returned ACL. */
+  unsigned char  acl_type;        /* INPUT:  Type of ACL: access (1) or default (2). */
+  char           acl_var_data[1]; /* OUTPUT: Remainder of the ACL information. */
+} gpfs_opaque_acl_t;
+
+/* ACL types (acl_type field in gpfs_opaque_acl_t or gpfs_acl_t) */
+#define GPFS_ACL_TYPE_ACCESS  1
+#define GPFS_ACL_TYPE_DEFAULT 2
+#define GPFS_ACL_TYPE_NFS4    3
+
+/* gpfs_getacl, gpfs_putacl flag indicating structures instead of the 
+   opaque style data normally used.  */
+#define GPFS_GETACL_STRUCT 0x00000020
+#define GPFS_PUTACL_STRUCT 0x00000020
+
+/* gpfs_getacl, gpfs_putacl flag indicating smbd is the caller */
+#define GPFS_ACL_SAMBA     0x00000040
+
+/* Defined values for gpfs_aclVersion_t */
+#define GPFS_ACL_VERSION_POSIX 1
+#define GPFS_ACL_VERSION_NFS4  4
+
+/* Values for gpfs_aceType_t (ACL_VERSION_POSIX) */
+#define GPFS_ACL_USER_OBJ  1
+#define GPFS_ACL_GROUP_OBJ 2
+#define GPFS_ACL_OTHER     3
+#define GPFS_ACL_MASK      4
+#define GPFS_ACL_USER      5
+#define GPFS_ACL_GROUP     6
+
+/* Values for gpfs_acePerm_t (ACL_VERSION_POSIX) */
+#define ACL_PERM_EXECUTE 001
+#define ACL_PERM_WRITE   002
+#define ACL_PERM_READ    004
+#define ACL_PERM_CONTROL 010
+
+/* Values for gpfs_aceType_t (ACL_VERSION_NFS4) */
+#define ACE4_TYPE_ALLOW 0
+#define ACE4_TYPE_DENY  1
+
+/* Values for gpfs_aceFlags_t (ACL_VERSION_NFS4) */
+#define ACE4_FLAG_FILE_INHERIT    0x00000001
+#define ACE4_FLAG_DIR_INHERIT     0x00000002
+#define ACE4_FLAG_INHERIT_ONLY    0x00000008
+#define ACE4_FLAG_GROUP_ID        0x00000040
+
+/* GPFS-defined flags.  Placed in a seperate ACL field to avoid
+   ever running into newly defined NFSv4 flags. */
+#define ACE4_IFLAG_SPECIAL_ID     0x80000000
+
+/* Values for gpfs_aceMask_t (ACL_VERSION_NFS4) */
+#define ACE4_MASK_READ         0x00000001
+#define ACE4_MASK_LIST_DIR     0x00000001
+#define ACE4_MASK_WRITE        0x00000002
+#define ACE4_MASK_ADD_FILE     0x00000002
+#define ACE4_MASK_APPEND       0x00000004
+#define ACE4_MASK_ADD_SUBDIR   0x00000004
+#define ACE4_MASK_READ_NAMED   0x00000008
+#define ACE4_MASK_WRITE_NAMED  0x00000010
+#define ACE4_MASK_EXECUTE      0x00000020
+
+/* The rfc doesn't provide a mask equivalent to "search" ("x" on a
+ * directory in posix), but it also doesn't say that its EXECUTE
+ * is to have this dual use (even though it does so for other dual
+ * use permissions such as read/list.  Going to make the assumption
+ * here that the EXECUTE bit has this dual meaning... otherwise
+ * we're left with no control over search.
+ */
+#define ACE4_MASK_SEARCH       0x00000020
+
+#define ACE4_MASK_DELETE_CHILD 0x00000040
+#define ACE4_MASK_READ_ATTR    0x00000080
+#define ACE4_MASK_WRITE_ATTR   0x00000100
+#define ACE4_MASK_DELETE       0x00010000
+#define ACE4_MASK_READ_ACL     0x00020000
+#define ACE4_MASK_WRITE_ACL    0x00040000
+#define ACE4_MASK_WRITE_OWNER  0x00080000
+#define ACE4_MASK_SYNCHRONIZE  0x00100000
+#define ACE4_MASK_ALL          0x001f01ff
+
+/* Values for gpfs_uid_t (ACL_VERSION_NFS4) */
+#define ACE4_SPECIAL_OWNER              1
+#define ACE4_SPECIAL_GROUP              2
+#define ACE4_SPECIAL_EVERYONE           3
+
+
+/* Externalized ACL defintions */
+typedef unsigned int gpfs_aclType_t;
+typedef unsigned int gpfs_aclLen_t;
+typedef unsigned int gpfs_aclLevel_t;
+typedef unsigned int gpfs_aclVersion_t;
+typedef unsigned int gpfs_aclCount_t;
+
+typedef unsigned int gpfs_aceType_t;
+typedef unsigned int gpfs_aceFlags_t;
+typedef unsigned int gpfs_acePerm_t;
+typedef unsigned int gpfs_aceMask_t;
+
+/* A POSIX ACL Entry */
+typedef struct gpfs_ace_v1
+{
+  gpfs_aceType_t  ace_type; /* POSIX ACE type */
+  gpfs_uid_t      ace_who;  /* uid/gid */
+  gpfs_acePerm_t  ace_perm; /* POSIX permissions */
+} gpfs_ace_v1_t;
+
+/* A NFSv4 ACL Entry */
+typedef struct gpfs_ace_v4
+{
+  gpfs_aceType_t  aceType;   /* Allow or Deny */
+  gpfs_aceFlags_t aceFlags;  /* Inherit specifications, etc. */
+  gpfs_aceFlags_t aceIFlags; /* GPFS Internal flags */
+  gpfs_aceMask_t  aceMask;   /* NFSv4 mask specification */
+  gpfs_uid_t      aceWho;    /* User/Group identification */
+} gpfs_ace_v4_t;
+
+/* The GPFS ACL */
+typedef struct gpfs_acl
+{
+  gpfs_aclLen_t     acl_len;     /* Total length of this ACL in bytes */
+  gpfs_aclLevel_t   acl_level;   /* Reserved (must be zero) */
+  gpfs_aclVersion_t acl_version; /* POSIX or NFS4 ACL */
+  gpfs_aclType_t    acl_type;    /* Access, Default, or NFS4 */
+  gpfs_aclCount_t   acl_nace;    /* Number of Entries that follow */
+  union
+  {
+    gpfs_ace_v1_t  ace_v1[1]; /* when GPFS_ACL_VERSION_POSIX */
+    gpfs_ace_v4_t  ace_v4[1]; /* when GPFS_ACL_VERSION_NFS4  */
+  };
+} gpfs_acl_t;
+
+
+
+/* NAME:        gpfs_getacl()
+ *
+ * FUNCTION:    Retrieves the ACL information for a file.
+ *              This function, together with gpfs_putacl, is intended
+ *              for use by a backup program to save (gpfs_getacl) and
+ *              restore (gpfs_putacl) the ACL information for a file.
+ *              The flags parameter must be zero (reserved for future use).
+ *              The aclP parameter must point to a buffer mapped by the
+ *              gpfs_opaque_acl_t structure. The first four bytes of the 
+ *              buffer must contain its total size.
+ *
+ *              Note: The use of gpfs_fgetattrs/gpfs_fputattrs is preferred.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ *              ENOSPC  buffer too small to return the entire ACL.
+ *                      Needed size is returned in the first four
+ *                      bytes of the buffer pointed to by aclP.
+ */
+int 
+gpfs_getacl(char *pathname,
+            int   flags,
+            void *acl);
+
+
+/* NAME:        gpfs_putacl()
+ *
+ * FUNCTION:    Sets the ACL information for a file.
+ *              The buffer passed in should contain the ACL data
+ *              that was obtained by a previous call to gpfs_getacl.
+ *              The flags parameter must be zero (reserved for future use).
+ *
+ *              Note: The use of gpfs_fgetattrs/gpfs_fputattrs is preferred.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ */
+int 
+gpfs_putacl(char *pathname,
+            int   flags,
+            void *acl);
+
+
+/* NAME:        gpfs_prealloc()
+ * FUNCTION:    Preallocate disk storage for the file handle that has
+ *              already been opened for writing, starting at the specified
+ *              starting offset and covering at least the number of bytes
+ *              requested. Allocations are rounded to block boundaries
+ *              (block size can be found using fstat() in st_blksize.)
+ *              Any existing data already in the file will not be modified.
+ *              Any read of the preallocated blocks will return zeros.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  No prealloc service available
+ *              EBADF   Bad file desc
+ *              EINVAL  Not a GPFS file
+ *              EINVAL  Not a regular file
+ *              EINVAL  StartOffset or BytesToPrealloc < 0
+ *              EACCES  File not opened for writing
+ *              EDQUOT  Quota exceeded
+ *              ENOSPC  Not enough space on disk
+ */
+int
+gpfs_prealloc(int fileDesc,
+              gpfs_off64_t startOffset,
+              gpfs_off64_t bytesToPrealloc);
+
+
+#ifndef H_GPFS
+/* NAME:        gpfs_set_share()
+ *
+ * FUNCTION:    Acquire shares for Samba
+ *
+ * Input:       fd    : file descriptor
+ *              allow : share type being requested
+ *                      GPFS_SHARE_NONE, GPFS_SHARE_READ, 
+ *                      GPFS_SHARE_WRITE, GPFS_SHARE_BOTH
+ *              deny  : share type to deny to others
+ *                      GPFS_DENY_NONE, GPFS_DENY_READ,
+ *                      GPFS_DENY_WRITE, GPFS_DENY_BOTH
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       Specific error indication
+ *              EACCES  share mode not available
+ */
+
+/* allow/deny specifications */
+#define GPFS_SHARE_NONE   0
+#define GPFS_SHARE_READ   1
+#define GPFS_SHARE_WRITE  2
+#define GPFS_SHARE_BOTH   3
+#define GPFS_DENY_NONE    0
+#define GPFS_DENY_READ    1
+#define GPFS_DENY_WRITE   2
+#define GPFS_DENY_BOTH    3
+
+int 
+gpfs_set_share(int fd,
+               unsigned int allow,
+               unsigned int deny);
+
+
+/* NAME:        gpfs_set_lease()
+ *
+ * FUNCTION:    Acquire leases for Samba
+ *
+ * Input:       fd        : file descriptor
+ *              leaseType : lease type being requested
+ *                          GPFS_LEASE_NONE GPFS_LEASE_READ, 
+ *                          GPFS_LEASE_WRITE
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       Specific error indication
+ *              EACCES  lease not available
+ */
+
+/* leaseType specifications */
+#define GPFS_LEASE_NONE    0
+#define GPFS_LEASE_READ    1
+#define GPFS_LEASE_WRITE   2
+
+int 
+gpfs_set_lease(int fd,
+               unsigned int leaseType);
+
+
+/* NAME:        gpfs_get_lease()
+ *
+ * FUNCTION:    Returns the type of lease currently held
+ *
+ * Returns:      GPFS_LEASE_READ   
+ *               GPFS_LEASE_WRITE   
+ *               GPFS_LEASE_NONE   
+ *              -1      Failure
+ *
+ * Errno:       Specific error indication
+ *              EINVAL  
+ */
+int
+gpfs_get_lease(int fd);
+#endif /* included directly (not via gpfs.h) */
+
+
+#ifndef H_GPFS
+#ifdef __cplusplus
+}
+#endif
+#endif
+#endif /* H_GPFS_GPL */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/include/linux_config.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/include/linux_config.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/include/linux_config.h	(revision 16)
@@ -0,0 +1,2658 @@
+/*
+ * Automatically generated C config: don't edit
+ * Linux kernel version: 2.6.20-15-generic
+ * Sun Apr 15 05:33:22 2007
+ */
+#define AUTOCONF_INCLUDED
+#define CONFIG_USB_SISUSBVGA_MODULE 1
+#define CONFIG_USB_PHIDGETMOTORCONTROL_MODULE 1
+#define CONFIG_SND_WAVEFRONT_MODULE 1
+#define CONFIG_VIDEO_V4L1_COMPAT 1
+#define CONFIG_HISAX_HFCS 1
+#define CONFIG_ROADRUNNER_MODULE 1
+#define CONFIG_PCMCIA_FMVJ18X_MODULE 1
+#define CONFIG_BLK_CPQ_DA_MODULE 1
+#define CONFIG_BLK_DEV_FD_MODULE 1
+#define CONFIG_AX25_MODULE 1
+#define CONFIG_ACPI_AC_MODULE 1
+#define CONFIG_PM_STD_PARTITION ""
+#define CONFIG_SECURITY_NETWORK 1
+#define CONFIG_ULTRIX_PARTITION 1
+#define CONFIG_OSF_PARTITION 1
+#define CONFIG_USB_LEGOTOWER_MODULE 1
+#define CONFIG_FB_TRIDENT_MODULE 1
+#define CONFIG_FB_IMAC 1
+#define CONFIG_DVB_PLUTO2_MODULE 1
+#define CONFIG_GAMEPORT_NS558_MODULE 1
+#define CONFIG_JOYSTICK_GRIP_MODULE 1
+#define CONFIG_HISAX_ELSA 1
+#define CONFIG_BONDING_MODULE 1
+#define CONFIG_BLK_DEV_HPT366_MODULE 1
+#define CONFIG_MTD_ABSENT_MODULE 1
+#define CONFIG_COPS_DAYNA 1
+#define CONFIG_INET_XFRM_TUNNEL_MODULE 1
+#define CONFIG_CRYPTO_ANUBIS_MODULE 1
+#define CONFIG_P54_USB_MODULE 1
+#define CONFIG_SOUND_TRIDENT_MODULE 1
+#define CONFIG_SND_OPTI92X_CS4231_MODULE 1
+#define CONFIG_NI65_MODULE 1
+#define CONFIG_SECURITY_SELINUX_BOOTPARAM 1
+#define CONFIG_USB_SERIAL_IR_MODULE 1
+#define CONFIG_SND_AZT3328_MODULE 1
+#define CONFIG_SND_SSCAPE_MODULE 1
+#define CONFIG_X86_POWERNOW_K7_ACPI 1
+#define CONFIG_JFS_POSIX_ACL 1
+#define CONFIG_SENSORS_VT8231_MODULE 1
+#define CONFIG_ISDN_DIVAS_MODULE 1
+#define CONFIG_DLCI_COUNT 24
+#define CONFIG_BLK_DEV_TRM290_MODULE 1
+#define CONFIG_IP6_NF_TARGET_REJECT_MODULE 1
+#define CONFIG_NF_CT_ACCT 1
+#define CONFIG_CARDBUS 1
+#define CONFIG_X86_POWERNOW_K8_ACPI 1
+#define CONFIG_ACPI_EC 1
+#define CONFIG_CRYPTO_MD4_MODULE 1
+#define CONFIG_USB_SERIAL_TI_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_C4_MODULE 1
+#define CONFIG_BT_HCIUART_MODULE 1
+#define CONFIG_IP_NF_TARGET_TTL_MODULE 1
+#define CONFIG_NETFILTER_NETLINK_QUEUE_MODULE 1
+#define CONFIG_INET6_XFRM_MODE_BEET_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_ICH_MODULE 1
+#define CONFIG_ARCH_MAY_HAVE_PC_FDC 1
+#define CONFIG_PRISM2_USB_MODULE 1
+#define CONFIG_DVB_CINERGYT2_TUNING 1
+#define CONFIG_VIDEO_MEYE_MODULE 1
+#define CONFIG_IPW2200_QOS 1
+#define CONFIG_E1000_MODULE 1
+#define CONFIG_ARCNET_RAW_MODULE 1
+#define CONFIG_NF_NAT_PROTO_GRE_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_PHYSDEV_MODULE 1
+#define CONFIG_CRYPTO_MD5 1
+#define CONFIG_CRASH_DUMP 1
+#define CONFIG_FLATMEM 1
+#define CONFIG_PROC_KCORE 1
+#define CONFIG_USB_GADGET_NET2280 1
+#define CONFIG_USB_AIPTEK_MODULE 1
+#define CONFIG_DVB_TUNER_LGH06XF_MODULE 1
+#define CONFIG_VIDEO_BTCX_MODULE 1
+#define CONFIG_PCMCIA_SMC91C92_MODULE 1
+#define CONFIG_BLK_DEV_DM_MODULE 1
+#define CONFIG_BLK_DEV_MD_MODULE 1
+#define CONFIG_SCSI_FC_ATTRS_MODULE 1
+#define CONFIG_IRDA_ULTRA 1
+#define CONFIG_IP_NF_TARGET_TOS_MODULE 1
+#define CONFIG_USB_UVCCAM_MODULE 1
+#define CONFIG_SND_EMU10K1_MODULE 1
+#define CONFIG_DVB_TDA10021_MODULE 1
+#define CONFIG_I2C_SAVAGE4_MODULE 1
+#define CONFIG_SYNCLINKMP_MODULE 1
+#define CONFIG_PPP_MULTILINK 1
+#define CONFIG_TMD_HERMES_MODULE 1
+#define CONFIG_E2100_MODULE 1
+#define CONFIG_SCSI_DC390T_MODULE 1
+#define CONFIG_NET_CLS_RSVP6_MODULE 1
+#define CONFIG_CRYPTO_CBC_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_LIB_MODULE 1
+#define CONFIG_USB_ETH_RNDIS 1
+#define CONFIG_USB_SERIAL_MODULE 1
+#define CONFIG_USB_RTL8150_MODULE 1
+#define CONFIG_DVB_USB_CXUSB_MODULE 1
+#define CONFIG_USB_W9968CF_MODULE 1
+#define CONFIG_AGP_AMD_MODULE 1
+#define CONFIG_SERIAL_JSM_MODULE 1
+#define CONFIG_MTD_MTDRAM_MODULE 1
+#define CONFIG_NF_CONNTRACK_NETBIOS_NS_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_BUILTIN 1
+#define CONFIG_ACPI_POWER 1
+#define CONFIG_HIGHPTE 1
+#define CONFIG_GFS2_FS_MODULE 1
+#define CONFIG_SND_DARLA20_MODULE 1
+#define CONFIG_DVB_STV0297_MODULE 1
+#define CONFIG_RADIO_ZOLTRIX_MODULE 1
+#define CONFIG_VIDEO_ZORAN_LML33_MODULE 1
+#define CONFIG_HISAX_W6692 1
+#define CONFIG_ATM_FORE200E_DEBUG 0
+#define CONFIG_HOSTAP_PCI_MODULE 1
+#define CONFIG_CASSINI_MODULE 1
+#define CONFIG_PCMCIA_FDOMAIN_MODULE 1
+#define CONFIG_PDC202XX_BURST 1
+#define CONFIG_CRYPTO_ECB_MODULE 1
+#define CONFIG_SECCOMP 1
+#define CONFIG_TOSHIBA_MODULE 1
+#define CONFIG_USB_SERIAL_WHITEHEAT_MODULE 1
+#define CONFIG_VIDEO_W9966_MODULE 1
+#define CONFIG_SERIAL_8250_SHARE_IRQ 1
+#define CONFIG_X25_ASY_MODULE 1
+#define CONFIG_NETXEN_NIC_MODULE 1
+#define CONFIG_PATA_SIL680_MODULE 1
+#define CONFIG_BLK_DEV_VIA82CXXX_MODULE 1
+#define CONFIG_PNPACPI 1
+#define CONFIG_BT_HCIBLUECARD_MODULE 1
+#define CONFIG_OLD_BELKIN_DONGLE_MODULE 1
+#define CONFIG_IP_DCCP_CCID3_RTO 100
+#define CONFIG_IP6_NF_RAW_MODULE 1
+#define CONFIG_RTC_INTF_PROC_MODULE 1
+#define CONFIG_SND_YMFPCI_MODULE 1
+#define CONFIG_DVB_STV0299_MODULE 1
+#define CONFIG_DVB_TDA826X_MODULE 1
+#define CONFIG_SPI_BUTTERFLY_MODULE 1
+#define CONFIG_I2C_NFORCE2_MODULE 1
+#define CONFIG_ZD1211RW_MODULE 1
+#define CONFIG_NET_POCKET 1
+#define CONFIG_EEPRO100_MODULE 1
+#define CONFIG_WINBOND_840_MODULE 1
+#define CONFIG_PATA_MPIIX_MODULE 1
+#define CONFIG_BLK_DEV_CMD64X_MODULE 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_1 1
+#define CONFIG_X86_LOCAL_APIC 1
+#define CONFIG_EXT2_FS_XATTR 1
+#define CONFIG_EDAC_MODULE 1
+#define CONFIG_USB_KAWETH_MODULE 1
+#define CONFIG_AGP_ALI_MODULE 1
+#define CONFIG_ROCKETPORT_MODULE 1
+#define CONFIG_DL2K_MODULE 1
+#define CONFIG_PCMCIA_NINJA_SCSI_MODULE 1
+#define CONFIG_RAID_ATTRS_MODULE 1
+#define CONFIG_BLK_DEV_SD_MODULE 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_2 1
+#define CONFIG_LLC2_MODULE 1
+#define CONFIG_IP6_NF_MATCH_FRAG_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_DSCP_MODULE 1
+#define CONFIG_EXT3_FS_XATTR 1
+#define CONFIG_RTC_DRV_M48T86_MODULE 1
+#define CONFIG_SND_DARLA24_MODULE 1
+#define CONFIG_VIDEO_BT819_MODULE 1
+#define CONFIG_PC300_MLPPP 1
+#define CONFIG_WAVELAN_MODULE 1
+#define CONFIG_FUSION_LAN_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_MARK_MODULE 1
+#define CONFIG_ACPI_CUSTOM_DSDT_INITRD 1
+#define CONFIG_SUN_PARTITION 1
+#define CONFIG_CODA_FS_MODULE 1
+#define CONFIG_NFS_COMMON 1
+#define CONFIG_USB_CXACRU_MODULE 1
+#define CONFIG_SND_VIA82XX_MODEM_MODULE 1
+#define CONFIG_VIDEO_BT856_MODULE 1
+#define CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS 16
+#define CONFIG_SCSI_GENERIC_NCR53C400 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_4 1
+#define CONFIG_NET_PKTGEN_MODULE 1
+#define CONFIG_PRISM2_PLX_MODULE 1
+#define CONFIG_VIDEO_BT848_MODULE 1
+#define CONFIG_VIDEO_BT866_MODULE 1
+#define CONFIG_SERIO_SERPORT_MODULE 1
+#define CONFIG_JOYSTICK_MAGELLAN_MODULE 1
+#define CONFIG_CPU_FREQ_STAT_MODULE 1
+#define CONFIG_USB_SERIAL_ARK3116_MODULE 1
+#define CONFIG_SND_SB8_MODULE 1
+#define CONFIG_HW_CONSOLE 1
+#define CONFIG_ATM_FORE200E_MAYBE_MODULE 1
+#define CONFIG_NATSEMI_MODULE 1
+#define CONFIG_3C515_MODULE 1
+#define CONFIG_NET_EMATCH_U32_MODULE 1
+#define CONFIG_HOTPLUG_PCI_ACPI_IBM_MODULE 1
+#define CONFIG_VM86 1
+#define CONFIG_HPET_TIMER 1
+#define CONFIG_XFS_POSIX_ACL 1
+#define CONFIG_ATL1_MODULE 1
+#define CONFIG_SENSORS_SMSC47B397_MODULE 1
+#define CONFIG_ISDN_CAPI_CAPIDRV_MODULE 1
+#define CONFIG_HDLC_FR_MODULE 1
+#define CONFIG_APRICOT_MODULE 1
+#define CONFIG_ELMC_II_MODULE 1
+#define CONFIG_SCSI_SIM710_MODULE 1
+#define CONFIG_BLK_DEV_XD_MODULE 1
+#define CONFIG_IP_DCCP_MODULE 1
+#define CONFIG_NFSD_V3 1
+#define CONFIG_EDAC_I82875P_MODULE 1
+#define CONFIG_SND_ATIIXP_MODULE 1
+#define CONFIG_DVB_TDA10086_MODULE 1
+#define CONFIG_TOUCHSCREEN_TOUCHWIN_MODULE 1
+#define CONFIG_ATM_IDT77252_USE_SUNI 1
+#define CONFIG_I2O_BUS_MODULE 1
+#define CONFIG_PARIDE_ON20_MODULE 1
+#define CONFIG_NF_NAT_IRC_MODULE 1
+#define CONFIG_NFSD_V4 1
+#define CONFIG_VIDEO_VIVI_MODULE 1
+#define CONFIG_I2C_ALGOPCA_MODULE 1
+#define CONFIG_IEEE1394_CONFIG_ROM_IP1394 1
+#define CONFIG_CHR_DEV_SG_MODULE 1
+#define CONFIG_IEEE80211_MODULE 1
+#define CONFIG_IP_NF_MATCH_ADDRTYPE_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_PKTTYPE_MODULE 1
+#define CONFIG_X86_SMP 1
+#define CONFIG_BCM43XX_MAC80211_MODULE 1
+#define CONFIG_USB_NET_PLUSB_MODULE 1
+#define CONFIG_VIDEO_ZORAN_AVS6EYES_MODULE 1
+#define CONFIG_RAW_DRIVER_MODULE 1
+#define CONFIG_AGP_ATI_MODULE 1
+#define CONFIG_PPP_FILTER 1
+#define CONFIG_PATA_IT821X_MODULE 1
+#define CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE 1
+#define CONFIG_NF_NAT_H323_MODULE 1
+#define CONFIG_ADFS_FS_MODULE 1
+#define CONFIG_SSB_SILENT 1
+#define CONFIG_FB_VESA_MODULE 1
+#define CONFIG_SENSORS_SMSC47M192_MODULE 1
+#define CONFIG_KEYBOARD_ATKBD 1
+#define CONFIG_FARSYNC_MODULE 1
+#define CONFIG_HPLAN_PLUS_MODULE 1
+#define CONFIG_FUSION_CTL_MODULE 1
+#define CONFIG_MTD_CFI_MODULE 1
+#define CONFIG_ALI_FIR_MODULE 1
+#define CONFIG_KPROBES 1
+#define CONFIG_NET_CLS_ROUTE 1
+#define CONFIG_NF_CT_PROTO_SCTP_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_BUILTIN_BANIAS 1
+#define CONFIG_SOUND_TVMIXER_MODULE 1
+#define CONFIG_MIDI_VIA82CXXX 1
+#define CONFIG_DRM_MGA_MODULE 1
+#define CONFIG_AGP_VIA_MODULE 1
+#define CONFIG_HISAX_EURO 1
+#define CONFIG_FDDI 1
+#define CONFIG_PCMCIA_XIRC2PS_MODULE 1
+#define CONFIG_BCM43XX_DMA_AND_PIO_MODE 1
+#define CONFIG_PLX_HERMES_MODULE 1
+#define CONFIG_3C359_MODULE 1
+#define CONFIG_SPI_MASTER 1
+#define CONFIG_MTD_JEDECPROBE_MODULE 1
+#define CONFIG_BRIDGE_EBT_BROUTE_MODULE 1
+#define CONFIG_X86_MSR_MODULE 1
+#define CONFIG_HAS_IOPORT 1
+#define CONFIG_NLS_KOI8_R_MODULE 1
+#define CONFIG_BEFS_FS_MODULE 1
+#define CONFIG_AFFS_FS_MODULE 1
+#define CONFIG_NET_DMA 1
+#define CONFIG_SND_USB_USX2Y_MODULE 1
+#define CONFIG_SND_SEQ_DUMMY_MODULE 1
+#define CONFIG_TOUCHSCREEN_PENMOUNT_MODULE 1
+#define CONFIG_KEYBOARD_LKKBD_MODULE 1
+#define CONFIG_MSI_LAPTOP_MODULE 1
+#define CONFIG_IBM_ASM_MODULE 1
+#define CONFIG_NF_CONNTRACK_IPV4_MODULE 1
+#define CONFIG_INET_AH_MODULE 1
+#define CONFIG_JFFS2_FS_DEBUG 0
+#define CONFIG_SPEAKUP_MODULE 1
+#define CONFIG_USB_EHCI_TT_NEWSCHED 1
+#define CONFIG_SND_MIXART_MODULE 1
+#define CONFIG_SND_LAYLA20_MODULE 1
+#define CONFIG_SND_GUSMAX_MODULE 1
+#define CONFIG_FB_RIVA_MODULE 1
+#define CONFIG_I2C_AMD756_S4882_MODULE 1
+#define CONFIG_I2C_ALGOPCF_MODULE 1
+#define CONFIG_CARDMAN_4000_MODULE 1
+#define CONFIG_QLA3XXX_MODULE 1
+#define CONFIG_PARIDE_ON26_MODULE 1
+#define CONFIG_CRYPTO_AES_MODULE 1
+#define CONFIG_BT_RFCOMM_TTY 1
+#define CONFIG_MODULES 1
+#define CONFIG_CRYPTO_TEA_MODULE 1
+#define CONFIG_SPEAKUP_TXPRT_MODULE 1
+#define CONFIG_USB_USBNET_MODULE 1
+#define CONFIG_USB_KBD_MODULE 1
+#define CONFIG_USB_ACM_MODULE 1
+#define CONFIG_USB_ARCH_HAS_EHCI 1
+#define CONFIG_DVB_USB_DIB0700_MODULE 1
+#define CONFIG_I2C_CHARDEV_MODULE 1
+#define CONFIG_BCM43XX_DMA 1
+#define CONFIG_PCMCIA_WAVELAN_MODULE 1
+#define CONFIG_BNX2_MODULE 1
+#define CONFIG_IEEE1394_OUI_DB 1
+#define CONFIG_FUSION_SAS_MODULE 1
+#define CONFIG_BLK_DEV_IDEDMA 1
+#define CONFIG_PARPORT_PC_MODULE 1
+#define CONFIG_MTD_COMPLEX_MAPPINGS 1
+#define CONFIG_BT_HIDP_MODULE 1
+#define CONFIG_BT_BNEP_MODULE 1
+#define CONFIG_NF_CONNTRACK_IPV6_MODULE 1
+#define CONFIG_SCx200HR_TIMER_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_SMI_MODULE 1
+#define CONFIG_NO_IDLE_HZ 1
+#define CONFIG_CRYPTO_AES_586_MODULE 1
+#define CONFIG_NLS_KOI8_U_MODULE 1
+#define CONFIG_EXT2_FS_MODULE 1
+#define CONFIG_IWLWIFI_MODULE 1
+#define CONFIG_SND_MIA_MODULE 1
+#define CONFIG_FB_S1D13XXX_MODULE 1
+#define CONFIG_DVB_USB_VP702X_MODULE 1
+#define CONFIG_INPUT_MISC 1
+#define CONFIG_MOUSE_VSXXXAA_MODULE 1
+#define CONFIG_HDLC_MODULE 1
+#define CONFIG_BLK_DEV_SR_MODULE 1
+#define CONFIG_PNPBIOS 1
+#define CONFIG_MTD_SCB2_FLASH_MODULE 1
+#define CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION_MODULE 1
+#define CONFIG_EXT3_FS_MODULE 1
+#define CONFIG_USB_LCD_MODULE 1
+#define CONFIG_VIDEO_CX88_DVB_MODULE 1
+#define CONFIG_I2C_PARPORT_LIGHT_MODULE 1
+#define CONFIG_VT_CONSOLE 1
+#define CONFIG_ISDN_DIVAS_BRIPCI 1
+#define CONFIG_DLCI_MODULE 1
+#define CONFIG_CRYPTO_DES_MODULE 1
+#define CONFIG_HFSPLUS_FS_MODULE 1
+#define CONFIG_DNOTIFY 1
+#define CONFIG_NET_IPG_IO 1
+#define CONFIG_USB_SERIAL_BELKIN_MODULE 1
+#define CONFIG_SND_LAYLA24_MODULE 1
+#define CONFIG_SND_MIXER_OSS_MODULE 1
+#define CONFIG_SENSORS_F71805F_MODULE 1
+#define CONFIG_CARDMAN_4040_MODULE 1
+#define CONFIG_ATM_ENI_MODULE 1
+#define CONFIG_S2IO_MODULE 1
+#define CONFIG_INET_DCCP_DIAG_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_SCTP_MODULE 1
+#define CONFIG_IP_VS_LBLC_MODULE 1
+#define CONFIG_ACPI 1
+#define CONFIG_QFMT_V1_MODULE 1
+#define CONFIG_USB_LED_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA49WLC 1
+#define CONFIG_USB_HID_MODULE 1
+#define CONFIG_SND_CS5535AUDIO_MODULE 1
+#define CONFIG_FB_CYBER2000_MODULE 1
+#define CONFIG_DVB_DIB7000M_MODULE 1
+#define CONFIG_DVB_VES1X93_MODULE 1
+#define CONFIG_SERIAL_8250_MCA_MODULE 1
+#define CONFIG_JOYSTICK_SPACEORB_MODULE 1
+#define CONFIG_NETPOLL 1
+#define CONFIG_SLIP_SMART 1
+#define CONFIG_ATM_AMBASSADOR_MODULE 1
+#define CONFIG_SCSI_U14_34F_LINKED_COMMANDS 1
+#define CONFIG_IP_DCCP_ACKVEC 1
+#define CONFIG_RELOCATABLE 1
+#define CONFIG_ARCH "i386"
+#define CONFIG_GENERIC_IRQ_PROBE 1
+#define CONFIG_QFMT_V2_MODULE 1
+#define CONFIG_KVM_AMD_MODULE 1
+#define CONFIG_RTC_LIB_MODULE 1
+#define CONFIG_DVB_NXT200X_MODULE 1
+#define CONFIG_WDT_501_PCI 1
+#define CONFIG_DE600_MODULE 1
+#define CONFIG_I2C_ALGOBIT_MODULE 1
+#define CONFIG_FUSION_SPI_MODULE 1
+#define CONFIG_LAPB_MODULE 1
+#define CONFIG_NF_NAT_FTP_MODULE 1
+#define CONFIG_NETFILTER_XTABLES_MODULE 1
+#define CONFIG_ACPI_CONTAINER_MODULE 1
+#define CONFIG_X86_TRAMPOLINE 1
+#define CONFIG_AGP_SWORKS_MODULE 1
+#define CONFIG_STALDRV 1
+#define CONFIG_AIRO_CS_MODULE 1
+#define CONFIG_BLK_DEV_NS87415_MODULE 1
+#define CONFIG_MTD_PCI_MODULE 1
+#define CONFIG_VIA_FIR_MODULE 1
+#define CONFIG_IRDA_MODULE 1
+#define CONFIG_NF_CONNTRACK_MARK 1
+#define CONFIG_DEFCONFIG_LIST "/lib/modules/$UNAME_RELEASE/.config"
+#define CONFIG_DVB_DIB7000P_MODULE 1
+#define CONFIG_TCG_NSC_MODULE 1
+#define CONFIG_PPPOATM_MODULE 1
+#define CONFIG_DE620_MODULE 1
+#define CONFIG_ELMC_MODULE 1
+#define CONFIG_GSCD_MODULE 1
+#define CONFIG_SATA_QSTOR_MODULE 1
+#define CONFIG_CHR_DEV_ST_MODULE 1
+#define CONFIG_BLK_DEV_HPT34X_MODULE 1
+#define CONFIG_MTD_DOC2001PLUS_MODULE 1
+#define CONFIG_RFD_FTL_MODULE 1
+#define CONFIG_NF_NAT_SIP_MODULE 1
+#define CONFIG_NETFILTER_NETLINK_MODULE 1
+#define CONFIG_DETECT_SOFTLOCKUP 1
+#define CONFIG_INOTIFY 1
+#define CONFIG_NET_ACX_MODULE 1
+#define CONFIG_USB_SERIAL_KOBIL_SCT_MODULE 1
+#define CONFIG_SENSORS_ADM1021_MODULE 1
+#define CONFIG_DRM_VIA_MODULE 1
+#define CONFIG_PCMCIA_3C574_MODULE 1
+#define CONFIG_HOSTAP_PLX_MODULE 1
+#define CONFIG_NET_PCI 1
+#define CONFIG_BLK_DEV_IDEFLOPPY_MODULE 1
+#define CONFIG_EISA 1
+#define CONFIG_X86_GENERIC 1
+#define CONFIG_SLAB 1
+#define CONFIG_DLM_TCP 1
+#define CONFIG_INFINIBAND_AMSO1100_MODULE 1
+#define CONFIG_DVB_PLL_MODULE 1
+#define CONFIG_SENSORS_ADM1031_MODULE 1
+#define CONFIG_NET_ISA 1
+#define CONFIG_MCS_FIR_MODULE 1
+#define CONFIG_TCIC_MODULE 1
+#define CONFIG_FLATMEM_MANUAL 1
+#define CONFIG_HOTPLUG 1
+#define CONFIG_USB_ADUTUX_MODULE 1
+#define CONFIG_USB_ARCH_HAS_OHCI 1
+#define CONFIG_SND_PCM_MODULE 1
+#define CONFIG_W1_SLAVE_DS2433_MODULE 1
+#define CONFIG_DRM_I810_MODULE 1
+#define CONFIG_PRINTER_MODULE 1
+#define CONFIG_SDLA_MODULE 1
+#define CONFIG_SJCD_MODULE 1
+#define CONFIG_BLK_DEV_IDEPCI 1
+#define CONFIG_MTD_RAM_MODULE 1
+#define CONFIG_NSC_FIR_MODULE 1
+#define CONFIG_NET_CLS_FW_MODULE 1
+#define CONFIG_BRIDGE_EBT_MARK_T_MODULE 1
+#define CONFIG_PCI_MSI 1
+#define CONFIG_CIFS_MODULE 1
+#define CONFIG_ASFS_FS_MODULE 1
+#define CONFIG_SOUND_BT878_MODULE 1
+#define CONFIG_DVB_USB_MODULE 1
+#define CONFIG_VIDEO_CPIA2_MODULE 1
+#define CONFIG_IPV6_MODULE 1
+#define CONFIG_SECURITY_SELINUX_AVC_STATS 1
+#define CONFIG_NET_IPG_MODULE 1
+#define CONFIG_WLAN_NG_MODULE 1
+#define CONFIG_INFINIBAND_SRP_MODULE 1
+#define CONFIG_USB_SERIAL_GARMIN_MODULE 1
+#define CONFIG_SENSORS_ADM1025_MODULE 1
+#define CONFIG_I2C_VOODOO3_MODULE 1
+#define CONFIG_DRM_I830_MODULE 1
+#define CONFIG_AGP_SIS_MODULE 1
+#define CONFIG_PC300_MODULE 1
+#define CONFIG_COSA_MODULE 1
+#define CONFIG_PCMCIA_NETWAVE_MODULE 1
+#define CONFIG_PARPORT_PC_PCMCIA_MODULE 1
+#define CONFIG_WAN_ROUTER_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_BUILTIN_DOTHAN 1
+#define CONFIG_X86_PPRO_FENCE 1
+#define CONFIG_SUNRPC_GSS_MODULE 1
+#define CONFIG_USB_SERIAL_MOS7720_MODULE 1
+#define CONFIG_SENSORS_PC87360_MODULE 1
+#define CONFIG_SENSORS_ADM1026_MODULE 1
+#define CONFIG_PROTEON_MODULE 1
+#define CONFIG_SCSI_AHA1740_MODULE 1
+#define CONFIG_SCSI_AHA1542_MODULE 1
+#define CONFIG_PHYSICAL_ALIGN 0x100000
+#define CONFIG_FLAT_NODE_MEM_MAP 1
+#define CONFIG_CPUSETS 1
+#define CONFIG_ASFS_DEFAULT_CODEPAGE ""
+#define CONFIG_SND_OPL3SA2_MODULE 1
+#define CONFIG_SND_GUS_SYNTH_MODULE 1
+#define CONFIG_SND_VX_LIB_MODULE 1
+#define CONFIG_RADIO_TERRATEC_MODULE 1
+#define CONFIG_R3964_MODULE 1
+#define CONFIG_ATM_TCP_MODULE 1
+#define CONFIG_PCMCIA_3C589_MODULE 1
+#define CONFIG_PARPORT_MODULE 1
+#define CONFIG_NET_CLS 1
+#define CONFIG_BRIDGE_EBT_LOG_MODULE 1
+#define CONFIG_HPFS_FS_MODULE 1
+#define CONFIG_VFAT_FS_MODULE 1
+#define CONFIG_USB_SERIAL_NAVMAN_MODULE 1
+#define CONFIG_USB_STORAGE_KARMA 1
+#define CONFIG_JOYSTICK_INTERACT_MODULE 1
+#define CONFIG_ATM_IDT77252_MODULE 1
+#define CONFIG_SKY2_MODULE 1
+#define CONFIG_HP100_MODULE 1
+#define CONFIG_PARIDE_FIT2_MODULE 1
+#define CONFIG_SERIAL_8250_PCI 1
+#define CONFIG_BT_CMTP_MODULE 1
+#define CONFIG_BRIDGE_EBT_ARP_MODULE 1
+#define CONFIG_IP6_NF_TARGET_LOG_MODULE 1
+#define CONFIG_USB_ETH_MODULE 1
+#define CONFIG_USB_SERIAL_MOS7840_MODULE 1
+#define CONFIG_FB_NEOMAGIC_MODULE 1
+#define CONFIG_VIDEO_VIDEOBUF_MODULE 1
+#define CONFIG_DRM_I915_MODULE 1
+#define CONFIG_IPMI_SI_MODULE 1
+#define CONFIG_ISDN_DIVAS_PRIPCI 1
+#define CONFIG_SLHC_MODULE 1
+#define CONFIG_IXGB_MODULE 1
+#define CONFIG_SKGE_MODULE 1
+#define CONFIG_R8169_MODULE 1
+#define CONFIG_ARCNET_COM20020_PCI_MODULE 1
+#define CONFIG_SCSI_U14_34F_MAX_TAGS 8
+#define CONFIG_PARIDE_FIT3_MODULE 1
+#define CONFIG_NFSD_MODULE 1
+#define CONFIG_UDF_NLS 1
+#define CONFIG_FUSE_FS_MODULE 1
+#define CONFIG_VBOXDRV_MODULE 1
+#define CONFIG_USB_ATM_MODULE 1
+#define CONFIG_DVB_USB_DIBUSB_MB_MODULE 1
+#define CONFIG_SENSORS_PC87427_MODULE 1
+#define CONFIG_TOUCHSCREEN_GUNZE_MODULE 1
+#define CONFIG_AIRO_MODULE 1
+#define CONFIG_ARCNET_COM20020_ISA_MODULE 1
+#define CONFIG_SATA_MV_MODULE 1
+#define CONFIG_KMOD 1
+#define CONFIG_FB_KYRO_MODULE 1
+#define CONFIG_FB_VGA16_MODULE 1
+#define CONFIG_DVB_USB_DIBUSB_MC_MODULE 1
+#define CONFIG_SBNI_MODULE 1
+#define CONFIG_MCDX_MODULE 1
+#define CONFIG_SATA_NV_MODULE 1
+#define CONFIG_PROC_FS 1
+#define CONFIG_SND_FM801_TEA575X_BOOL 1
+#define CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT 32
+#define CONFIG_SENSORS_ADM9240_MODULE 1
+#define CONFIG_I2C_PCA_ISA_MODULE 1
+#define CONFIG_TCG_TIS_MODULE 1
+#define CONFIG_KEYBOARD_XTKBD_MODULE 1
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_X 1024
+#define CONFIG_PARIDE_KBIC_MODULE 1
+#define CONFIG_IPDDP_DECAP 1
+#define CONFIG_TCG_TPM_MODULE 1
+#define CONFIG_SCx200_GPIO_MODULE 1
+#define CONFIG_IPMI_DEVICE_INTERFACE_MODULE 1
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_Y 768
+#define CONFIG_ISDN_MODULE 1
+#define CONFIG_MYRI10GE_MODULE 1
+#define CONFIG_IDE_GENERIC_MODULE 1
+#define CONFIG_MTDRAM_ERASE_SIZE 128
+#define CONFIG_BT_BNEP_MC_FILTER 1
+#define CONFIG_SPEAKUP_DECTLK_MODULE 1
+#define CONFIG_USB_STORAGE_ISD200 1
+#define CONFIG_SOUND_TRIX_MODULE 1
+#define CONFIG_RADIO_CADET_MODULE 1
+#define CONFIG_DRM_R128_MODULE 1
+#define CONFIG_DTLK_MODULE 1
+#define CONFIG_KEYBOARD_STOWAWAY_MODULE 1
+#define CONFIG_TLAN_MODULE 1
+#define CONFIG_NET_KEY_MODULE 1
+#define CONFIG_X86_CMPXCHG 1
+#define CONFIG_FB_IVTV_MODULE 1
+#define CONFIG_BCM43XX_PIO 1
+#define CONFIG_DGRS_MODULE 1
+#define CONFIG_DM_ZERO_MODULE 1
+#define CONFIG_TIPC_MODULE 1
+#define CONFIG_INET 1
+#define CONFIG_ARCH_SPARSEMEM_ENABLE 1
+#define CONFIG_RT_MUTEXES 1
+#define CONFIG_NET_RTL818X_MODULE 1
+#define CONFIG_SPEAKUP_ACNTPC_MODULE 1
+#define CONFIG_DVB_TDA1004X_MODULE 1
+#define CONFIG_HPET 1
+#define CONFIG_DRM_SIS_MODULE 1
+#define CONFIG_TYPHOON_MODULE 1
+#define CONFIG_SCSI_DC395x_MODULE 1
+#define CONFIG_SCSI_GENERIC_NCR5380_MMIO_MODULE 1
+#define CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK -1
+#define CONFIG_SYSVIPC 1
+#define CONFIG_REISERFS_FS_SECURITY 1
+#define CONFIG_SPEAKUP_ACNTSA_MODULE 1
+#define CONFIG_SENSORS_W83781D_MODULE 1
+#define CONFIG_INPUT_TOUCHSCREEN 1
+#define CONFIG_PATA_PCMCIA_MODULE 1
+#define CONFIG_ATA_GENERIC_MODULE 1
+#define CONFIG_SCSI_MODULE 1
+#define CONFIG_MTD_ROM_MODULE 1
+#define CONFIG_MTD_CFI_AMDSTD_MODULE 1
+#define CONFIG_BT_BNEP_PROTO_FILTER 1
+#define CONFIG_IP_SCTP_MODULE 1
+#define CONFIG_NF_CONNTRACK_SUPPORT 1
+#define CONFIG_TCP_CONG_CUBIC 1
+#define CONFIG_X86_L1_CACHE_SHIFT 7
+#define CONFIG_NTFS_FS_MODULE 1
+#define CONFIG_INFINIBAND_ADDR_TRANS 1
+#define CONFIG_USB_MON 1
+#define CONFIG_USB_PWC_MODULE 1
+#define CONFIG_SENSORS_W83791D_MODULE 1
+#define CONFIG_SERIAL_8250_RSA 1
+#define CONFIG_ATM_FIRESTREAM_MODULE 1
+#define CONFIG_MEGARAID_MM_MODULE 1
+#define CONFIG_BLK_DEV_SIS5513_MODULE 1
+#define CONFIG_PARIDE_EPIA_MODULE 1
+#define CONFIG_LTPC_MODULE 1
+#define CONFIG_IP6_NF_MATCH_OPTS_MODULE 1
+#define CONFIG_NF_CONNTRACK_TFTP_MODULE 1
+#define CONFIG_SENSORS_W83792D_MODULE 1
+#define CONFIG_SKFP_MODULE 1
+#define CONFIG_PARIDE_BPCK_MODULE 1
+#define CONFIG_NFTL_MODULE 1
+#define CONFIG_NF_NAT_SNMP_BASIC_MODULE 1
+#define CONFIG_CRYPTO_LRW_MODULE 1
+#define CONFIG_SPEAKUP_DECEXT_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA19 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA28 1
+#define CONFIG_SND_GUSCLASSIC_MODULE 1
+#define CONFIG_HISAX_TELESPCI 1
+#define CONFIG_PLIP_MODULE 1
+#define CONFIG_TMS380TR_MODULE 1
+#define CONFIG_COPS_MODULE 1
+#define CONFIG_CRYPTO_DEFLATE_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_BUILTIN_SONOMA 1
+#define CONFIG_USB_PHIDGETKIT_MODULE 1
+#define CONFIG_SC6600_CDROM 4
+#define CONFIG_FB_RIVA_I2C 1
+#define CONFIG_DIGIEPCA_MODULE 1
+#define CONFIG_JOYSTICK_COBRA_MODULE 1
+#define CONFIG_BLK_DEV_IDEPNP_MODULE 1
+#define CONFIG_PARPORT_AX88796_MODULE 1
+#define CONFIG_DOUBLEFAULT 1
+#define CONFIG_USB_STORAGE_JUMPSHOT 1
+#define CONFIG_VIDEO_USBVIDEO_MODULE 1
+#define CONFIG_NET_EMATCH_CMP_MODULE 1
+#define CONFIG_IPDDP_ENCAP 1
+#define CONFIG_IP_NF_TARGET_SAME_MODULE 1
+#define CONFIG_INET6_XFRM_TUNNEL_MODULE 1
+#define CONFIG_VERSION_SIGNATURE "Ubuntu 2.6.20-15.27-generic"
+#define CONFIG_ZD1211RW_MAC80211_MODULE 1
+#define CONFIG_SLIP_MODULE 1
+#define CONFIG_REED_SOLOMON_DEC16 1
+#define CONFIG_ACTISYS_DONGLE_MODULE 1
+#define CONFIG_HOTPLUG_PCI_CPCI_GENERIC_MODULE 1
+#define CONFIG_IOSCHED_CFQ 1
+#define CONFIG_SND_SONICVIBES_MODULE 1
+#define CONFIG_USB_ET61X251_MODULE 1
+#define CONFIG_HDLC_X25_MODULE 1
+#define CONFIG_SCSI_DTC3280_MODULE 1
+#define CONFIG_ROSE_MODULE 1
+#define CONFIG_NF_CONNTRACK_PPTP_MODULE 1
+#define CONFIG_X86_IO_APIC 1
+#define CONFIG_USB_SERIAL_XIRCOM_MODULE 1
+#define CONFIG_SENSORS_PCA9539_MODULE 1
+#define CONFIG_I6300ESB_WDT_MODULE 1
+#define CONFIG_ALIM7101_WDT_MODULE 1
+#define CONFIG_IPW2100_MONITOR 1
+#define CONFIG_SCSI_IBMMCA_MODULE 1
+#define CONFIG_IP6_NF_MATCH_EUI64_MODULE 1
+#define CONFIG_NR_CPUS 8
+#define CONFIG_GENERIC_BUG 1
+#define CONFIG_CRYPTO_MANAGER 1
+#define CONFIG_JFFS2_RTIME 1
+#define CONFIG_VIDEO_CQCAM_MODULE 1
+#define CONFIG_SERIAL_8250_PNP 1
+#define CONFIG_LANMEDIA_MODULE 1
+#define CONFIG_IPW2200_MONITOR 1
+#define CONFIG_BT_HCIBFUSB_MODULE 1
+#define CONFIG_SWAP 1
+#define CONFIG_KEYS 1
+#define CONFIG_EXT2_FS_POSIX_ACL 1
+#define CONFIG_BLK_DEV_DM_BBR_MODULE 1
+#define CONFIG_USB_STORAGE_USBAT 1
+#define CONFIG_VIDEO_CPIA_USB_MODULE 1
+#define CONFIG_SENSORS_PCF8591_MODULE 1
+#define CONFIG_IEEE1394_OHCI1394_MODULE 1
+#define CONFIG_IDEDMA_AUTO 1
+#define CONFIG_PARIDE_ATEN_MODULE 1
+#define CONFIG_PARIDE_PARPORT_MODULE 1
+#define CONFIG_NFTL_RW 1
+#define CONFIG_MTD_REDBOOT_PARTS_MODULE 1
+#define CONFIG_MA600_DONGLE_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_CONNMARK_MODULE 1
+#define CONFIG_CPU_FREQ_TABLE_MODULE 1
+#define CONFIG_ACPI_PROCESSOR_MODULE 1
+#define CONFIG_X86_MPPARSE 1
+#define CONFIG_EXT3_FS_POSIX_ACL 1
+#define CONFIG_USB_SPEEDTOUCH_MODULE 1
+#define CONFIG_SND_KORG1212_MODULE 1
+#define CONFIG_SENSORS_PCF8574_MODULE 1
+#define CONFIG_W83627HF_WDT_MODULE 1
+#define CONFIG_AC97_BUS_MODULE 1
+#define CONFIG_CYCLOMX_X25 1
+#define CONFIG_BLK_DEV_ALI15X3_MODULE 1
+#define CONFIG_BRIDGE_EBT_STP_MODULE 1
+#define CONFIG_XFRM 1
+#define CONFIG_CRC32 1
+#define CONFIG_USB_APPLETOUCH_MODULE 1
+#define CONFIG_SND_VIA82XX_MODULE 1
+#define CONFIG_VIDEO_KS0127_MODULE 1
+#define CONFIG_GAMEPORT_L4_MODULE 1
+#define CONFIG_AIC79XX_DEBUG_MASK 0
+#define CONFIG_BLK_DEV_3W_XXXX_RAID_MODULE 1
+#define CONFIG_BLK_DEV_RAM_COUNT 16
+#define CONFIG_PARIDE_EPAT_MODULE 1
+#define CONFIG_MTD_ESB2ROM_MODULE 1
+#define CONFIG_DEFAULT_CFQ 1
+#define CONFIG_VXFS_FS_MODULE 1
+#define CONFIG_SPEAKUP_APOLLO_MODULE 1
+#define CONFIG_USB_NET_NET1080_MODULE 1
+#define CONFIG_ALIM1535_WDT_MODULE 1
+#define CONFIG_CRC16_MODULE 1
+#define CONFIG_IP_NF_IPTABLES_MODULE 1
+#define CONFIG_FAT_DEFAULT_IOCHARSET "iso8859-1"
+#define CONFIG_SND_SB16_MODULE 1
+#define CONFIG_INPUT_KEYBOARD 1
+#define CONFIG_ISDN_DIVERSION_MODULE 1
+#define CONFIG_MD_RAID0_MODULE 1
+#define CONFIG_PARIDE_COMM_MODULE 1
+#define CONFIG_IP_NF_MATCH_AH_MODULE 1
+#define CONFIG_TEXTSEARCH_FSM_MODULE 1
+#define CONFIG_BLK_DEV_INITRD 1
+#define CONFIG_SECURITY_CAPABILITIES_MODULE 1
+#define CONFIG_USB_SERIAL_OPTION_MODULE 1
+#define CONFIG_SND_INTERWAVE_STB_MODULE 1
+#define CONFIG_DVB_USB_GP8PSK_MODULE 1
+#define CONFIG_W1_SLAVE_THERM_MODULE 1
+#define CONFIG_TOUCHSCREEN_UCB1400_MODULE 1
+#define CONFIG_ZNET_MODULE 1
+#define CONFIG_MD_RAID1_MODULE 1
+#define CONFIG_NET_CLS_U32_MODULE 1
+#define CONFIG_BRIDGE_NF_EBTABLES_MODULE 1
+#define CONFIG_RTC_DRV_PCF8563_MODULE 1
+#define CONFIG_SPI_BITBANG_MODULE 1
+#define CONFIG_MTDRAM_TOTAL_SIZE 4096
+#define CONFIG_IP_NF_MATCH_OWNER_MODULE 1
+#define CONFIG_TEXTSEARCH_KMP_MODULE 1
+#define CONFIG_PACKET_MMAP 1
+#define CONFIG_BCM43XX_MAC80211_DMA_AND_PIO_MODE 1
+#define CONFIG_SND_SEQUENCER_OSS 1
+#define CONFIG_SENSORS_MAX1619_MODULE 1
+#define CONFIG_NET_CLS_POLICE 1
+#define CONFIG_NETFILTER_XT_TARGET_SECMARK_MODULE 1
+#define CONFIG_PAGE_OFFSET 0xC0000000
+#define CONFIG_NET_IPG_JUMBO_FRAME_SIZE_4K 1
+#define CONFIG_RTC_DRV_PCF8583_MODULE 1
+#define CONFIG_USB_NET_MCS7830_MODULE 1
+#define CONFIG_SND_OPTI93X_MODULE 1
+#define CONFIG_MDA_CONSOLE_MODULE 1
+#define CONFIG_SENSORS_ABITUGURU_MODULE 1
+#define CONFIG_W83697HF_WDT_MODULE 1
+#define CONFIG_PPP_DEFLATE_MODULE 1
+#define CONFIG_ATM_FORE200E_MODULE 1
+#define CONFIG_ATM_FORE200E_TX_RETRY 16
+#define CONFIG_UNIX 1
+#define CONFIG_SENSORS_K8TEMP_MODULE 1
+#define CONFIG_I2C_PARPORT_MODULE 1
+#define CONFIG_PCMCIA_SYM53C500_MODULE 1
+#define CONFIG_BLK_DEV_ATIIXP_MODULE 1
+#define CONFIG_BAYCOM_SER_FDX_MODULE 1
+#define CONFIG_HAMRADIO 1
+#define CONFIG_NET_SCH_DSMARK_MODULE 1
+#define CONFIG_ARCH_SELECT_MEMORY_MODEL 1
+#define CONFIG_MTRR 1
+#define CONFIG_BCM43XX_MAC80211_DMA 1
+#define CONFIG_RTC_DRV_ISL1208_MODULE 1
+#define CONFIG_GIGASET_M105_MODULE 1
+#define CONFIG_SCSI_U14_34F_TAGGED_QUEUE 1
+#define CONFIG_PARIDE_FRIQ_MODULE 1
+#define CONFIG_X86_XADD 1
+#define CONFIG_CONFIGFS_FS_MODULE 1
+#define CONFIG_SENSORS_FSCHER_MODULE 1
+#define CONFIG_INPUT_MOUSEDEV_PSAUX 1
+#define CONFIG_HISAX_FRITZPCI 1
+#define CONFIG_PARPORT_SERIAL_MODULE 1
+#define CONFIG_MTD_ONENAND_MODULE 1
+#define CONFIG_BT_L2CAP_MODULE 1
+#define CONFIG_BAYCOM_SER_HDX_MODULE 1
+#define CONFIG_ISA_DMA_API 1
+#define CONFIG_RT2400PCI_MODULE 1
+#define CONFIG_SPEAKUP_AUDPTR_MODULE 1
+#define CONFIG_DVB_USB_TTUSB2_MODULE 1
+#define CONFIG_VIDEO_TVEEPROM_MODULE 1
+#define CONFIG_SERIAL_CORE 1
+#define CONFIG_CYCLADES_MODULE 1
+#define CONFIG_HISAX_S0BOX 1
+#define CONFIG_LXT_PHY_MODULE 1
+#define CONFIG_BLK_DEV_IDE 1
+#define CONFIG_MTD_SC520CDP_MODULE 1
+#define CONFIG_IP_NF_TARGET_ULOG_MODULE 1
+#define CONFIG_IVTV_MODULE 1
+#define CONFIG_RT2500PCI_MODULE 1
+#define CONFIG_SOUND_CS4232_MODULE 1
+#define CONFIG_FB_GEODE_GX_MODULE 1
+#define CONFIG_AC3200_MODULE 1
+#define CONFIG_PDC_ADMA_MODULE 1
+#define CONFIG_SCSI_QLA_ISCSI_MODULE 1
+#define CONFIG_UID16 1
+#define CONFIG_LOCK_KERNEL 1
+#define CONFIG_RTC_DRV_MAX6902_MODULE 1
+#define CONFIG_USB_EHCI_ROOT_HUB_TT 1
+#define CONFIG_ISDN_CAPI_CAPIFS_BOOL 1
+#define CONFIG_ISDN_DRV_PCBIT_MODULE 1
+#define CONFIG_DE4X5_MODULE 1
+#define CONFIG_BLK_DEV_NBD_MODULE 1
+#define CONFIG_CRYPTO_ARC4_MODULE 1
+#define CONFIG_TOSHIBA_FIR_MODULE 1
+#define CONFIG_NET_CLS_ROUTE4_MODULE 1
+#define CONFIG_X86_LONGRUN_MODULE 1
+#define CONFIG_PHYSICAL_START 0x100000
+#define CONFIG_FB_GEODE 1
+#define CONFIG_DVB_USB_DIGITV_MODULE 1
+#define CONFIG_VIDEO_BT848_DVB 1
+#define CONFIG_INPUT_TSDEV_SCREEN_X 240
+#define CONFIG_NE2K_PCI_MODULE 1
+#define CONFIG_SCSI_AHA152X_MODULE 1
+#define CONFIG_BLK_DEV_OPTI621_MODULE 1
+#define CONFIG_BINFMT_MISC_MODULE 1
+#define CONFIG_EISA_VIRTUAL_ROOT 1
+#define CONFIG_IPW3945_MONITOR 1
+#define CONFIG_RTC_DRV_RS5C372_MODULE 1
+#define CONFIG_SOUND_ES1371_MODULE 1
+#define CONFIG_SENSORS_MAX6875_MODULE 1
+#define CONFIG_INPUT_TSDEV_SCREEN_Y 320
+#define CONFIG_ISDN_X25 1
+#define CONFIG_CISS_SCSI_TAPE 1
+#define CONFIG_NF_CONNTRACK_PROC_COMPAT 1
+#define CONFIG_IP_FIB_HASH 1
+#define CONFIG_SYSV_FS_MODULE 1
+#define CONFIG_JFS_STATISTICS 1
+#define CONFIG_REISERFS_FS_XATTR 1
+#define CONFIG_SND_GUSEXTREME_MODULE 1
+#define CONFIG_CRYPTO_SHA1_MODULE 1
+#define CONFIG_QUICKCAM_MODULE 1
+#define CONFIG_USB_PHIDGET_MODULE 1
+#define CONFIG_HISAX_TELES_CS_MODULE 1
+#define CONFIG_MEGARAID_LEGACY_MODULE 1
+#define CONFIG_SCSI_CONSTANTS 1
+#define CONFIG_INET6_AH_MODULE 1
+#define CONFIG_I82092_MODULE 1
+#define CONFIG_X86_GX_SUSPMOD_MODULE 1
+#define CONFIG_X86_F00F_BUG 1
+#define CONFIG_PARTITION_ADVANCED 1
+#define CONFIG_NDISWRAPPER_MODULE 1
+#define CONFIG_RTC_DRV_RS5C348_MODULE 1
+#define CONFIG_VIDEO_OV7670_MODULE 1
+#define CONFIG_HISAX_GAZEL 1
+#define CONFIG_53C700_IO_MAPPED 1
+#define CONFIG_MTD_NAND_CS553X_MODULE 1
+#define CONFIG_MTD_BLKDEVS_MODULE 1
+#define CONFIG_BCM43XX_MAC80211_PCI 1
+#define CONFIG_USB_CYPRESS_CY7C63_MODULE 1
+#define CONFIG_VGA_CONSOLE 1
+#define CONFIG_CDROM_PKTCDVD_BUFFERS 8
+#define CONFIG_PARIDE_KTTI_MODULE 1
+#define CONFIG_IEEE80211_CRYPT_WEP_MODULE 1
+#define CONFIG_PCIEPORTBUS 1
+#define CONFIG_ACPI_HOTKEY_MODULE 1
+#define CONFIG_PREEMPT_VOLUNTARY 1
+#define CONFIG_NLS_DEFAULT "cp437"
+#define CONFIG_SC6600_CDROMBASE 0x0
+#define CONFIG_SND_RAWMIDI_MODULE 1
+#define CONFIG_SENSORS_VIA686A_MODULE 1
+#define CONFIG_TELCLOCK_MODULE 1
+#define CONFIG_WATCHDOG 1
+#define CONFIG_DSCC4_MODULE 1
+#define CONFIG_SUNDANCE_MODULE 1
+#define CONFIG_SGI_IOC4_MODULE 1
+#define CONFIG_PARIDE_DSTR_MODULE 1
+#define CONFIG_MTD_PARTITIONS 1
+#define CONFIG_WINBOND_FIR_MODULE 1
+#define CONFIG_I82365_MODULE 1
+#define CONFIG_CPU_FREQ_GOV_PERFORMANCE 1
+#define CONFIG_ACPI_FAN_MODULE 1
+#define CONFIG_SECURITY_SELINUX_DISABLE 1
+#define CONFIG_ACPI_PCC_MODULE 1
+#define CONFIG_USB_ATI_REMOTE_MODULE 1
+#define CONFIG_FB_CYBLA_MODULE 1
+#define CONFIG_HISAX_NICCY 1
+#define CONFIG_SPLIT_PTLOCK_CPUS 4
+#define CONFIG_SECURITY_ROOTPLUG_MODULE 1
+#define CONFIG_JFFS2_FS_MODULE 1
+#define CONFIG_USB_STORAGE_SDDR09 1
+#define CONFIG_SENSORS_SIS5595_MODULE 1
+#define CONFIG_TOUCHSCREEN_ADS7846_MODULE 1
+#define CONFIG_DAVICOM_PHY_MODULE 1
+#define CONFIG_PARIDE_FRPW_MODULE 1
+#define CONFIG_MTD_PHYSMAP_START 0x8000000
+#define CONFIG_YENTA_ENE_TUNE 1
+#define CONFIG_USB_STORAGE_SDDR55 1
+#define CONFIG_DVB_LGDT330X_MODULE 1
+#define CONFIG_SENSORS_EEPROM_MODULE 1
+#define CONFIG_ARCNET_COM90xx_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_REALM_MODULE 1
+#define CONFIG_X86_P4_CLOCKMOD_MODULE 1
+#define CONFIG_ACPI_IBM_MODULE 1
+#define CONFIG_OCFS2_FS_MODULE 1
+#define CONFIG_SND_RIPTIDE_MODULE 1
+#define CONFIG_FB_SAVAGE_ACCEL 1
+#define CONFIG_VIDEO_WM8739_MODULE 1
+#define CONFIG_VIDEO_WM8775_MODULE 1
+#define CONFIG_APPLICOM_MODULE 1
+#define CONFIG_HISAX_ST5481_MODULE 1
+#define CONFIG_ISDN_DRV_HISAX_MODULE 1
+#define CONFIG_ATM_NICSTAR_MODULE 1
+#define CONFIG_NE2000_MODULE 1
+#define CONFIG_BLK_DEV_IDEDMA_PCI 1
+#define CONFIG_MTD_PLATRAM_MODULE 1
+#define CONFIG_BT_HCIBPA10X_MODULE 1
+#define CONFIG_6PACK_MODULE 1
+#define CONFIG_YENTA_RICOH 1
+#define CONFIG_PREEMPT_BKL 1
+#define CONFIG_CRYPTO_GF128MUL_MODULE 1
+#define CONFIG_LOCKD_V4 1
+#define CONFIG_USB_APPLEIR_MODULE 1
+#define CONFIG_NDISWRAPPER_WQ 1
+#define CONFIG_USB_YEALINK_MODULE 1
+#define CONFIG_VIDEO_CAFE_CCIC_MODULE 1
+#define CONFIG_SENSORS_GL520SM_MODULE 1
+#define CONFIG_JOYSTICK_SPACEBALL_MODULE 1
+#define CONFIG_ISDN_I4L_MODULE 1
+#define CONFIG_NET_VENDOR_SMC 1
+#define CONFIG_BLK_DEV_RAM 1
+#define CONFIG_PARPORT_1284 1
+#define CONFIG_NETFILTER_XT_TARGET_NFQUEUE_MODULE 1
+#define CONFIG_SCHED_MC 1
+#define CONFIG_VM_EVENT_COUNTERS 1
+#define CONFIG_LIBCRC32C_MODULE 1
+#define CONFIG_RT2500USB_MODULE 1
+#define CONFIG_BACKLIGHT_LCD_SUPPORT 1
+#define CONFIG_DVB_USB_DTT200U_MODULE 1
+#define CONFIG_INPUT_MOUSEDEV 1
+#define CONFIG_PPP_BSDCOMP_MODULE 1
+#define CONFIG_FUSION_MAX_SGE 128
+#define CONFIG_SCSI_U14_34F_MODULE 1
+#define CONFIG_SCSI_QLA_FC_MODULE 1
+#define CONFIG_BLK_DEV_AEC62XX_MODULE 1
+#define CONFIG_INET_IPCOMP_MODULE 1
+#define CONFIG_USB_SERIAL_IPW_MODULE 1
+#define CONFIG_USB_NET_AX8817X_MODULE 1
+#define CONFIG_USB_USBNET_MII_MODULE 1
+#define CONFIG_SND_VIRMIDI_MODULE 1
+#define CONFIG_ACQUIRE_WDT_MODULE 1
+#define CONFIG_CHR_DEV_SCH_MODULE 1
+#define CONFIG_MTD_NETSC520_MODULE 1
+#define CONFIG_BINFMT_AOUT_MODULE 1
+#define CONFIG_ACPI_BUTTON_MODULE 1
+#define CONFIG_NE3210_MODULE 1
+#define CONFIG_ULTRAMCA_MODULE 1
+#define CONFIG_SCSI_ARCMSR_MODULE 1
+#define CONFIG_BLK_DEV_SX8_MODULE 1
+#define CONFIG_NET_SCH_CBQ_MODULE 1
+#define CONFIG_CRYPTO_HMAC 1
+#define CONFIG_MODVERSIONS 1
+#define CONFIG_SND_SEQ_RTCTIMER_DEFAULT 1
+#define CONFIG_SENSORS_FSCPOS_MODULE 1
+#define CONFIG_HISAX_NETJET_U 1
+#define CONFIG_IPV6_TUNNEL_MODULE 1
+#define CONFIG_SOLARIS_X86_PARTITION 1
+#define CONFIG_REISERFS_FS_MODULE 1
+#define CONFIG_ACPI_DEV_MODULE 1
+#define CONFIG_SPEAKUP_BNS_MODULE 1
+#define CONFIG_I2C_STUB_MODULE 1
+#define CONFIG_SERIAL_NONSTANDARD 1
+#define CONFIG_I2O_SCSI_MODULE 1
+#define CONFIG_BLK_DEV_RAM_BLOCKSIZE 1024
+#define CONFIG_BPQETHER_MODULE 1
+#define CONFIG_UNUSED_SYMBOLS 1
+#define CONFIG_BCM43XX_MAC80211_PIO 1
+#define CONFIG_RT2400PCI_LEGACY_MODULE 1
+#define CONFIG_SOUND_YM3812_MODULE 1
+#define CONFIG_DVB_DIB3000MB_MODULE 1
+#define CONFIG_HANGCHECK_TIMER_MODULE 1
+#define CONFIG_SCSI_PSI240I_MODULE 1
+#define CONFIG_SYSCTL_SYSCALL 1
+#define CONFIG_UNIXWARE_DISKLABEL 1
+#define CONFIG_NET_ACX_PCI 1
+#define CONFIG_RT2500PCI_LEGACY_MODULE 1
+#define CONFIG_SND_SGALAXY_MODULE 1
+#define CONFIG_DVB_DIB3000MC_MODULE 1
+#define CONFIG_DVB_USB_A800_MODULE 1
+#define CONFIG_SENSORS_GL518SM_MODULE 1
+#define CONFIG_DEPCA_MODULE 1
+#define CONFIG_AT1700_MODULE 1
+#define CONFIG_DM9102_MODULE 1
+#define CONFIG_I2O_PROC_MODULE 1
+#define CONFIG_SCSI_INITIO_MODULE 1
+#define CONFIG_SCSI_FD_MCS_MODULE 1
+#define CONFIG_MEGARAID_NEWGEN 1
+#define CONFIG_AIC79XX_REG_PRETTY_PRINT 1
+#define CONFIG_AIC7XXX_DEBUG_MASK 0
+#define CONFIG_SPEAKUP_SPKOUT_MODULE 1
+#define CONFIG_USB_STORAGE_MODULE 1
+#define CONFIG_SND_TRIDENT_MODULE 1
+#define CONFIG_IPPP_FILTER 1
+#define CONFIG_ES3210_MODULE 1
+#define CONFIG_MTD_ICHXROM_MODULE 1
+#define CONFIG_NET_SCH_RED_MODULE 1
+#define CONFIG_HOTPLUG_PCI_MODULE 1
+#define CONFIG_PROC_VMCORE 1
+#define CONFIG_SPEAKUP_SFTSYN_MODULE 1
+#define CONFIG_USB_IDMOUSE_MODULE 1
+#define CONFIG_DVB_USB_DIBUSB_MB_FAULTY 1
+#define CONFIG_SERIAL_8250_RUNTIME_UARTS 4
+#define CONFIG_GAMEPORT_MODULE 1
+#define CONFIG_INPUT_JOYSTICK 1
+#define CONFIG_IEEE1394_SBP2_MODULE 1
+#define CONFIG_NET_SCH_TBF_MODULE 1
+#define CONFIG_COMPAT_VDSO 1
+#define CONFIG_DEBUG_FS 1
+#define CONFIG_ELF_CORE 1
+#define CONFIG_CRYPTO_XCBC_MODULE 1
+#define CONFIG_OPROFILE_MODULE 1
+#define CONFIG_SND_EMU10K1X_MODULE 1
+#define CONFIG_VIDEO_ZORAN_MODULE 1
+#define CONFIG_SYNCLINK_CS_MODULE 1
+#define CONFIG_SERIAL_8250_CONSOLE 1
+#define CONFIG_CAPI_AVM 1
+#define CONFIG_DM_SNAPSHOT_MODULE 1
+#define CONFIG_ACPI_SLEEP_PROC_SLEEP 1
+#define CONFIG_CRYPTO_SERPENT_MODULE 1
+#define CONFIG_SSB_PCIHOST 1
+#define CONFIG_USB_PEGASUS_MODULE 1
+#define CONFIG_SOUND_VMIDI_MODULE 1
+#define CONFIG_VIDEO_CX88_ALSA_MODULE 1
+#define CONFIG_DLCI_MAX 8
+#define CONFIG_SCSI_ULTRASTOR_MODULE 1
+#define CONFIG_BLK_DEV_CY82C693_MODULE 1
+#define CONFIG_MTD_PHYSMAP_BANKWIDTH 2
+#define CONFIG_NET_SCH_HTB_MODULE 1
+#define CONFIG_ATM_LANE_MODULE 1
+#define CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM 1
+#define CONFIG_YENTA_O2 1
+#define CONFIG_ACPI_SYSTEM 1
+#define CONFIG_MAGIC_SYSRQ 1
+#define CONFIG_MMC_TIFM_SD_MODULE 1
+#define CONFIG_USB_U132_HCD_MODULE 1
+#define CONFIG_SC6600 1
+#define CONFIG_SERIAL_8250_HUB6_MODULE 1
+#define CONFIG_SERIAL_8250_BOCA_MODULE 1
+#define CONFIG_MTD_CHAR_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_LIMIT_MODULE 1
+#define CONFIG_NETFILTER_NETLINK_LOG_MODULE 1
+#define CONFIG_PM_DISABLE_CONSOLE 1
+#define CONFIG_FB_ATY_GENERIC_LCD 1
+#define CONFIG_FB_INTEL_MODULE 1
+#define CONFIG_LANCE_MODULE 1
+#define CONFIG_MARVELL_PHY_MODULE 1
+#define CONFIG_PATA_QDI_MODULE 1
+#define CONFIG_BLK_DEV_AMD74XX_MODULE 1
+#define CONFIG_IP_NF_TARGET_REDIRECT_MODULE 1
+#define CONFIG_PM_DEBUG 1
+#define CONFIG_DEFAULT_IOSCHED "cfq"
+#define CONFIG_CRYPTO_TWOFISH_MODULE 1
+#define CONFIG_CRYPTO_HASH 1
+#define CONFIG_EEPROM_93CX6_MODULE 1
+#define CONFIG_INFINIBAND_ISER_MODULE 1
+#define CONFIG_INFINIBAND_MTHCA_DEBUG 1
+#define CONFIG_USB_CATC_MODULE 1
+#define CONFIG_DVB_CORE_MODULE 1
+#define CONFIG_VIDEO_TUNER_MODULE 1
+#define CONFIG_60XX_WDT_MODULE 1
+#define CONFIG_LEGACY_PTYS 1
+#define CONFIG_UNIX98_PTYS 1
+#define CONFIG_HDLC_RAW_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_STATE_MODULE 1
+#define CONFIG_IP_PIMSM_V1 1
+#define CONFIG_ACPI_SBS_MODULE 1
+#define CONFIG_RTL_IEEE80211_MODULE 1
+#define CONFIG_USB_CYTHERM_MODULE 1
+#define CONFIG_USB_SERIAL_GENERIC 1
+#define CONFIG_USB_STORAGE_ALAUDA 1
+#define CONFIG_FB_CFB_COPYAREA 1
+#define CONFIG_SOUND_PRIME_MODULE 1
+#define CONFIG_SYNCLINK_GT_MODULE 1
+#define CONFIG_HISAX_ISURF 1
+#define CONFIG_SCSI_HPTIOP_MODULE 1
+#define CONFIG_AIC7XXX_PROBE_EISA_VL 1
+#define CONFIG_SCSI_SAS_ATTRS_MODULE 1
+#define CONFIG_BLK_DEV_IDEACPI 1
+#define CONFIG_MTD_ONENAND_VERIFY_WRITE 1
+#define CONFIG_MTD_NAND_MODULE 1
+#define CONFIG_MTD_DILNETPC_BOOTSIZE 0x80000
+#define CONFIG_NET_SCH_ATM_MODULE 1
+#define CONFIG_IP_PIMSM_V2 1
+#define CONFIG_INET_TUNNEL_MODULE 1
+#define CONFIG_CPU_FREQ_GOV_ONDEMAND_MODULE 1
+#define CONFIG_CRYPTO_TWOFISH_586_MODULE 1
+#define CONFIG_PRINTK_TIME 1
+#define CONFIG_SND_MPU401_UART_MODULE 1
+#define CONFIG_FB_CFB_FILLRECT 1
+#define CONFIG_HISAX_DIEHLDIVA 1
+#define CONFIG_MTD_PHYSMAP_MODULE 1
+#define CONFIG_SYN_COOKIES 1
+#define CONFIG_SEMAPHORE_SLEEPERS 1
+#define CONFIG_ISDN_DRV_AVMB1_AVM_CS_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_B1PCIV4 1
+#define CONFIG_IPW2200_RADIOTAP 1
+#define CONFIG_SATA_SX4_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_DSCP_MODULE 1
+#define CONFIG_FB_MATROX_G 1
+#define CONFIG_MIXCOMWD_MODULE 1
+#define CONFIG_INPUT_EVBUG_MODULE 1
+#define CONFIG_HISAX_SEDLBAUER_CS_MODULE 1
+#define CONFIG_PCI200SYN_MODULE 1
+#define CONFIG_8139CP_MODULE 1
+#define CONFIG_SATA_VIA_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_MARK_MODULE 1
+#define CONFIG_IP_VS_TAB_BITS 12
+#define CONFIG_PCI_BIOS 1
+#define CONFIG_USB_TOUCHSCREEN_DMC_TSC10 1
+#define CONFIG_INPUT_EVDEV_MODULE 1
+#define CONFIG_USB_IRDA_MODULE 1
+#define CONFIG_ATM_CLIP 1
+#define CONFIG_DELL_RBU_MODULE 1
+#define CONFIG_PARAVIRT 1
+#define CONFIG_INFINIBAND_IPOIB_DEBUG 1
+#define CONFIG_DVB_USB_UMT_010_MODULE 1
+#define CONFIG_VIDEO_ZORAN_ZR36060_MODULE 1
+#define CONFIG_ATM_HORIZON_MODULE 1
+#define CONFIG_HDLC_PPP_MODULE 1
+#define CONFIG_SCSI_SPI_ATTRS_MODULE 1
+#define CONFIG_SCSI_MULTI_LUN 1
+#define CONFIG_PARIDE_BPCK6_MODULE 1
+#define CONFIG_PARPORT_NOT_PC 1
+#define CONFIG_PCMCIA_LOAD_CIS 1
+#define CONFIG_HOTPLUG_CPU 1
+#define CONFIG_GENERIC_ISA_DMA 1
+#define CONFIG_NET_ACX_USB 1
+#define CONFIG_USB_TOUCHSCREEN_3M 1
+#define CONFIG_USB_SUSPEND 1
+#define CONFIG_CPU5_WDT_MODULE 1
+#define CONFIG_SYNCLINK_MODULE 1
+#define CONFIG_I2O_EXT_ADAPTEC 1
+#define CONFIG_CRYPTO_MICHAEL_MIC_MODULE 1
+#define CONFIG_PM_TRACE 1
+#define CONFIG_MODULE_SRCVERSION_ALL 1
+#define CONFIG_BLOCK 1
+#define CONFIG_MMC_WBSD_MODULE 1
+#define CONFIG_SND_OSSEMUL 1
+#define CONFIG_RADIO_MAXIRADIO_MODULE 1
+#define CONFIG_EWRK3_MODULE 1
+#define CONFIG_PD6729_MODULE 1
+#define CONFIG_GENERIC_HWEIGHT 1
+#define CONFIG_SECURITY_SELINUX_DEVELOP 1
+#define CONFIG_LOCKD_MODULE 1
+#define CONFIG_QUOTACTL 1
+#define CONFIG_USB_XUSBATM_MODULE 1
+#define CONFIG_USB_PRINTER_MODULE 1
+#define CONFIG_NET_SCH_SFQ_MODULE 1
+#define CONFIG_ATALK_MODULE 1
+#define CONFIG_BRIDGE_EBT_DNAT_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_QUOTA_MODULE 1
+#define CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE 1
+#define CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE 3
+#define CONFIG_SQUASHFS_MODULE 1
+#define CONFIG_ISDN_DRV_SC_MODULE 1
+#define CONFIG_HOSTAP_FIRMWARE_NVRAM 1
+#define CONFIG_ARLAN_MODULE 1
+#define CONFIG_ATM_MPOA_MODULE 1
+#define CONFIG_IP_ADVANCED_ROUTER 1
+#define CONFIG_USB_TRANCEVIBRATOR_MODULE 1
+#define CONFIG_SOUND_MPU401_MODULE 1
+#define CONFIG_SND_MONA_MODULE 1
+#define CONFIG_EEXPRESS_MODULE 1
+#define CONFIG_IEEE1394_PCILYNX_MODULE 1
+#define CONFIG_ATA_PIIX_MODULE 1
+#define CONFIG_IP_VS_LBLCR_MODULE 1
+#define CONFIG_EFI_VARS 1
+#define CONFIG_RTC_INTF_SYSFS_MODULE 1
+#define CONFIG_SND_FM801_MODULE 1
+#define CONFIG_FB_ATY128_MODULE 1
+#define CONFIG_RADIO_TRUST_MODULE 1
+#define CONFIG_VIDEO_OVCAMCHIP_MODULE 1
+#define CONFIG_IB700_WDT_MODULE 1
+#define CONFIG_SATA_SIL_MODULE 1
+#define CONFIG_MTD_NETtel_MODULE 1
+#define CONFIG_IP_NF_QUEUE_MODULE 1
+#define CONFIG_KEXEC 1
+#define CONFIG_KALLSYMS 1
+#define CONFIG_NFSD_TCP 1
+#define CONFIG_VIDEO_IR_MODULE 1
+#define CONFIG_PC8736x_GPIO_MODULE 1
+#define CONFIG_NEW_LEDS 1
+#define CONFIG_MD_RAID10_MODULE 1
+#define CONFIG_IPDDP_MODULE 1
+#define CONFIG_BRIDGE_EBT_MARK_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_CONNSECMARK_MODULE 1
+#define CONFIG_SUSPEND_SMP 1
+#define CONFIG_RT2570USB_LEGACY_MODULE 1
+#define CONFIG_EDAC_MM_EDAC_MODULE 1
+#define CONFIG_FB_TILEBLITTING 1
+#define CONFIG_DVB_MT312_MODULE 1
+#define CONFIG_NSC_GPIO_MODULE 1
+#define CONFIG_TOUCHSCREEN_MTOUCH_MODULE 1
+#define CONFIG_ISDN_DRV_ACT2000_MODULE 1
+#define CONFIG_CHELSIO_T1_NAPI 1
+#define CONFIG_SATA_ULI_MODULE 1
+#define CONFIG_SCSI_PPA_MODULE 1
+#define CONFIG_BLK_DEV_IDETAPE_MODULE 1
+#define CONFIG_MTD_SBC_GXX_MODULE 1
+#define CONFIG_BRIDGE_EBT_802_3_MODULE 1
+#define CONFIG_K8_NB 1
+#define CONFIG_NLS_UTF8_MODULE 1
+#define CONFIG_SND_HDSP_MODULE 1
+#define CONFIG_HISAX_SEDLBAUER 1
+#define CONFIG_ATMEL_MODULE 1
+#define CONFIG_IBMOL_MODULE 1
+#define CONFIG_HPLAN_MODULE 1
+#define CONFIG_VITESSE_PHY_MODULE 1
+#define CONFIG_SCSI_EATA_LINKED_COMMANDS 1
+#define CONFIG_BLK_DEV_GENERIC_MODULE 1
+#define CONFIG_BLK_DEV_IDEDISK_MODULE 1
+#define CONFIG_SSFDC_MODULE 1
+#define CONFIG_NF_NAT_TFTP_MODULE 1
+#define CONFIG_AGP_AMD64_MODULE 1
+#define CONFIG_USB_TOUCHSCREEN_GUNZE 1
+#define CONFIG_USB_DSBR_MODULE 1
+#define CONFIG_VIDEO_CX25840_MODULE 1
+#define CONFIG_VIDEO_SAA7110_MODULE 1
+#define CONFIG_VT_HW_CONSOLE_BINDING 1
+#define CONFIG_PATA_SIS_MODULE 1
+#define CONFIG_SCSI_IMM_MODULE 1
+#define CONFIG_LITELINK_DONGLE_MODULE 1
+#define CONFIG_IPV6_SIT_MODULE 1
+#define CONFIG_PROC_SYSCTL 1
+#define CONFIG_USB_SERIAL_CYPRESS_M8_MODULE 1
+#define CONFIG_VIDEO_SAA7111_MODULE 1
+#define CONFIG_INPUT_TSDEV_MODULE 1
+#define CONFIG_BLK_DEV_SIIMAGE_MODULE 1
+#define CONFIG_IP6_NF_IPTABLES_MODULE 1
+#define CONFIG_CPU_FREQ_STAT_DETAILS 1
+#define CONFIG_CPU_FREQ 1
+#define CONFIG_USB_XPAD_MODULE 1
+#define CONFIG_USB_SE401_MODULE 1
+#define CONFIG_DVB_MT352_MODULE 1
+#define CONFIG_AGP_EFFICEON_MODULE 1
+#define CONFIG_I8XX_TCO_MODULE 1
+#define CONFIG_AZTCD_MODULE 1
+#define CONFIG_SCSI_AACRAID_MODULE 1
+#define CONFIG_IRLAN_MODULE 1
+#define CONFIG_IP6_NF_MATCH_AH_MODULE 1
+#define CONFIG_SSB_DRIVER_PCICORE 1
+#define CONFIG_USB_MIDI_GADGET_MODULE 1
+#define CONFIG_USB_SL811_CS_MODULE 1
+#define CONFIG_KEYBOARD_SUNKBD_MODULE 1
+#define CONFIG_ATM_FORE200E_PCA 1
+#define CONFIG_SEALEVEL_4021_MODULE 1
+#define CONFIG_IBMLS_MODULE 1
+#define CONFIG_SATA_SIS_MODULE 1
+#define CONFIG_IDEDMA_PCI_AUTO 1
+#define CONFIG_BRIDGE_EBT_VLAN_MODULE 1
+#define CONFIG_BRIDGE_EBT_PKTTYPE_MODULE 1
+#define CONFIG_INET_ESP_MODULE 1
+#define CONFIG_AUDIT 1
+#define CONFIG_AMIGA_PARTITION 1
+#define CONFIG_SND_PCM_OSS_MODULE 1
+#define CONFIG_DVB_CORE_ATTACH 1
+#define CONFIG_VIDEO_SAA7114_MODULE 1
+#define CONFIG_W1_MASTER_DS2490_MODULE 1
+#define CONFIG_DRM_TDFX_MODULE 1
+#define CONFIG_INPUT_MOUSE 1
+#define CONFIG_ISDN_DIVAS_USERIDI_MODULE 1
+#define CONFIG_PCMCIA_WL3501_MODULE 1
+#define CONFIG_IP6_NF_MATCH_OWNER_MODULE 1
+#define CONFIG_IP_NF_MATCH_RECENT_MODULE 1
+#define CONFIG_SECURITY 1
+#define CONFIG_NET_IPIP_MODULE 1
+#define CONFIG_RAMFS 1
+#define CONFIG_USB_NET_ZAURUS_MODULE 1
+#define CONFIG_W1_MASTER_DS2482_MODULE 1
+#define CONFIG_SERIAL_8250_MANY_PORTS 1
+#define CONFIG_CDU535_MODULE 1
+#define CONFIG_NF_NAT_PPTP_MODULE 1
+#define CONFIG_FB_GEODE_GX1_MODULE 1
+#define CONFIG_VIDEO_SAA7134_MODULE 1
+#define CONFIG_PHONE_MODULE 1
+#define CONFIG_ISDN_MPP 1
+#define CONFIG_HIPPI 1
+#define CONFIG_OPTCD_MODULE 1
+#define CONFIG_SCSI_QLOGIC_1280_MODULE 1
+#define CONFIG_BLK_DEV_IDESCSI_MODULE 1
+#define CONFIG_HIGHMEM4G 1
+#define CONFIG_X86_INTEL_USERCOPY 1
+#define CONFIG_SHMEM 1
+#define CONFIG_CRYPTO_NULL_MODULE 1
+#define CONFIG_EXPORTFS_MODULE 1
+#define CONFIG_SND_MIRO_MODULE 1
+#define CONFIG_SENSORS_W83627HF_MODULE 1
+#define CONFIG_SC520_WDT_MODULE 1
+#define CONFIG_SKISA_MODULE 1
+#define CONFIG_LNE390_MODULE 1
+#define CONFIG_SCSI_AIC94XX_MODULE 1
+#define CONFIG_X86_BIOS_REBOOT 1
+#define CONFIG_CRYPTO_DEV_PADLOCK_MODULE 1
+#define CONFIG_REISERFS_FS_POSIX_ACL 1
+#define CONFIG_SND_NM256_MODULE 1
+#define CONFIG_VIDEO_SAA7127_MODULE 1
+#define CONFIG_VIDEO_TEA6420_MODULE 1
+#define CONFIG_ISDN_PPP_VJ 1
+#define CONFIG_IPW2200_PROMISCUOUS 1
+#define CONFIG_SCSI_IPR_MODULE 1
+#define CONFIG_AIC7XXX_REG_PRETTY_PRINT 1
+#define CONFIG_BRIDGE_EBT_SNAT_MODULE 1
+#define CONFIG_IP_VS_PROTO_AH 1
+#define CONFIG_INET_XFRM_MODE_TRANSPORT_MODULE 1
+#define CONFIG_EPOLL 1
+#define CONFIG_MINIX_FS_MODULE 1
+#define CONFIG_SPEAKUP_DEFAULT "none"
+#define CONFIG_SOUND_SB_MODULE 1
+#define CONFIG_SOUND_VIA82CXXX_MODULE 1
+#define CONFIG_VIDEO_SAA7146_MODULE 1
+#define CONFIG_VIDEO_SAA7191_MODULE 1
+#define CONFIG_ITCO_WDT_MODULE 1
+#define CONFIG_JOYSTICK_IFORCE_232 1
+#define CONFIG_ISDN_PPP 1
+#define CONFIG_ATM_ZATM_MODULE 1
+#define CONFIG_SCSI_IPS_MODULE 1
+#define CONFIG_INFTL_MODULE 1
+#define CONFIG_BRIDGE_EBT_ULOG_MODULE 1
+#define CONFIG_YENTA_TI 1
+#define CONFIG_RELAY 1
+#define CONFIG_MSDOS_FS_MODULE 1
+#define CONFIG_FONT_8x8 1
+#define CONFIG_FB_MODE_HELPERS 1
+#define CONFIG_GIGASET_BASE_MODULE 1
+#define CONFIG_IBMTR_MODULE 1
+#define CONFIG_SCSI_AIC79XX_MODULE 1
+#define CONFIG_VLSI_FIR_MODULE 1
+#define CONFIG_NET_EMATCH_META_MODULE 1
+#define CONFIG_IP_MULTIPLE_TABLES 1
+#define CONFIG_HOTPLUG_PCI_COMPAQ_MODULE 1
+#define CONFIG_CRYPTO_WP512_MODULE 1
+#define CONFIG_RPCSEC_GSS_KRB5_MODULE 1
+#define CONFIG_ROMFS_FS_MODULE 1
+#define CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL 100
+#define CONFIG_VIDEO_SAA5249_MODULE 1
+#define CONFIG_VIDEO_TDA7432_MODULE 1
+#define CONFIG_PPDEV_MODULE 1
+#define CONFIG_DEFXX_MODULE 1
+#define CONFIG_PCMCIA_ATMEL_MODULE 1
+#define CONFIG_PCMCIA_SPECTRUM_MODULE 1
+#define CONFIG_PATA_PDC2027X_MODULE 1
+#define CONFIG_SCSI_EATA_MAX_TAGS 16
+#define CONFIG_X86_LONGHAUL_MODULE 1
+#define CONFIG_CRYPTO_TEST_MODULE 1
+#define CONFIG_NLS_CODEPAGE_850_MODULE 1
+#define CONFIG_SND_INTEL8X0_MODULE 1
+#define CONFIG_SND_DYNAMIC_MINORS 1
+#define CONFIG_FB_INTEL_I2C 1
+#define CONFIG_VIDEO_ADV7170_MODULE 1
+#define CONFIG_VIDEO_SAA7185_MODULE 1
+#define CONFIG_MWAVE_MODULE 1
+#define CONFIG_TIPAR_MODULE 1
+#define CONFIG_N2_MODULE 1
+#define CONFIG_SCSI_T128_MODULE 1
+#define CONFIG_MEGARAID_SAS_MODULE 1
+#define CONFIG_SCSI_TGT_MODULE 1
+#define CONFIG_IEEE80211_SOFTMAC_MODULE 1
+#define CONFIG_ACPI_SLEEP_PROC_FS 1
+#define CONFIG_NLS_CODEPAGE_932_MODULE 1
+#define CONFIG_NLS_CODEPAGE_950_MODULE 1
+#define CONFIG_NLS_CODEPAGE_860_MODULE 1
+#define CONFIG_NLS_CODEPAGE_437_MODULE 1
+#define CONFIG_9P_FS_MODULE 1
+#define CONFIG_UNION_FS_MODULE 1
+#define CONFIG_INFINIBAND_USER_ACCESS_MODULE 1
+#define CONFIG_JOYSTICK_GUILLEMOT_MODULE 1
+#define CONFIG_JOYSTICK_ANALOG_MODULE 1
+#define CONFIG_PPP_MPPE_MODULE 1
+#define CONFIG_IEEE1394_EXTRA_CONFIG_ROMS 1
+#define CONFIG_IP6_NF_MATCH_HL_MODULE 1
+#define CONFIG_YENTA_MODULE 1
+#define CONFIG_STACKTRACE_SUPPORT 1
+#define CONFIG_NLS_CODEPAGE_861_MODULE 1
+#define CONFIG_NLS_CODEPAGE_852_MODULE 1
+#define CONFIG_USB_SERIAL_OMNINET_MODULE 1
+#define CONFIG_FB_PM2_FIFO_DISCONNECT 1
+#define CONFIG_VIDEO_EM28XX_MODULE 1
+#define CONFIG_HW_RANDOM_GEODE_MODULE 1
+#define CONFIG_GAMEPORT_EMU10K1_MODULE 1
+#define CONFIG_TOUCHSCREEN_ELO_MODULE 1
+#define CONFIG_SERIO 1
+#define CONFIG_ABYSS_MODULE 1
+#define CONFIG_DM_CRYPT_MODULE 1
+#define CONFIG_ISP16_CDI_MODULE 1
+#define CONFIG_IRNET_MODULE 1
+#define CONFIG_NLS_CODEPAGE_862_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_MODULE 1
+#define CONFIG_SND_CS46XX_NEW_DSP 1
+#define CONFIG_SND_ES968_MODULE 1
+#define CONFIG_LP486E_MODULE 1
+#define CONFIG_SCSI_FUTURE_DOMAIN_MODULE 1
+#define CONFIG_NLS_CODEPAGE_863_MODULE 1
+#define CONFIG_NLS_CODEPAGE_737_MODULE 1
+#define CONFIG_USB_ATI_REMOTE2_MODULE 1
+#define CONFIG_VIDEO_TDA9840_MODULE 1
+#define CONFIG_NVRAM_MODULE 1
+#define CONFIG_PPPOE_MODULE 1
+#define CONFIG_MAC_EMUMOUSEBTN 1
+#define CONFIG_PCMCIA_PROBE 1
+#define CONFIG_NLS_CODEPAGE_936_MODULE 1
+#define CONFIG_NLS_CODEPAGE_864_MODULE 1
+#define CONFIG_NLS_CODEPAGE_855_MODULE 1
+#define CONFIG_KARMA_PARTITION 1
+#define CONFIG_SND_SB16_CSP 1
+#define CONFIG_VIDEO_ADV7175_MODULE 1
+#define CONFIG_ZLIB_DEFLATE_MODULE 1
+#define CONFIG_NET_VENDOR_3COM 1
+#define CONFIG_CLS_U32_MARK 1
+#define CONFIG_INET_XFRM_MODE_TUNNEL_MODULE 1
+#define CONFIG_NLS_CODEPAGE_874_MODULE 1
+#define CONFIG_NLS_CODEPAGE_865_MODULE 1
+#define CONFIG_NLS_CODEPAGE_775_MODULE 1
+#define CONFIG_SND_VERBOSE_PROCFS 1
+#define CONFIG_VIDEO_SAA6588_MODULE 1
+#define CONFIG_HISAX_AVM_A1_CS_MODULE 1
+#define CONFIG_PCMCIA_PCNET_MODULE 1
+#define CONFIG_SMSC_PHY_MODULE 1
+#define CONFIG_SCSI_SRP_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_HASHLIMIT_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_CONNTRACK_MODULE 1
+#define CONFIG_X86_POWERNOW_K6_MODULE 1
+#define CONFIG_ACPI_TOSHIBA_MODULE 1
+#define CONFIG_NLS_CODEPAGE_866_MODULE 1
+#define CONFIG_NLS_CODEPAGE_857_MODULE 1
+#define CONFIG_USB_SERIAL_SAFE_MODULE 1
+#define CONFIG_JOYSTICK_IFORCE_MODULE 1
+#define CONFIG_JOYSTICK_A3D_MODULE 1
+#define CONFIG_MTD_SCx200_DOCFLASH_MODULE 1
+#define CONFIG_IEEE80211_CRYPT_CCMP_MODULE 1
+#define CONFIG_MKISS_MODULE 1
+#define CONFIG_PCMCIA_IOCTL 1
+#define CONFIG_X86_POWERNOW_K7_MODULE 1
+#define CONFIG_DEBUG_KERNEL 1
+#define CONFIG_MINIX_SUBPARTITION 1
+#define CONFIG_SND_VX222_MODULE 1
+#define CONFIG_VIDEO_SAA7146_VV_MODULE 1
+#define CONFIG_W1_MODULE 1
+#define CONFIG_ISDN_CAPI_CAPI20_MODULE 1
+#define CONFIG_SIS900_MODULE 1
+#define CONFIG_ULTRA_MODULE 1
+#define CONFIG_FB 1
+#define CONFIG_SATA_SVW_MODULE 1
+#define CONFIG_BT_HCIBCM203X_MODULE 1
+#define CONFIG_X86_POWERNOW_K8_MODULE 1
+#define CONFIG_NLS_CODEPAGE_949_MODULE 1
+#define CONFIG_USB_ZERO_MODULE 1
+#define CONFIG_USB_TEST_MODULE 1
+#define CONFIG_SOUND_MODULE 1
+#define CONFIG_HWMON 1
+#define CONFIG_HISAX_ENTERNOW_PCI 1
+#define CONFIG_SLIP_MODE_SLIP6 1
+#define CONFIG_SMCTR_MODULE 1
+#define CONFIG_SIS190_MODULE 1
+#define CONFIG_SCSI_QLOGIC_FAS_MODULE 1
+#define CONFIG_IP_NF_ARPTABLES_MODULE 1
+#define CONFIG_X86_CPUFREQ_NFORCE2_MODULE 1
+#define CONFIG_ACPI_THERMAL_MODULE 1
+#define CONFIG_ARCH_FLATMEM_ENABLE 1
+#define CONFIG_NLS_CODEPAGE_869_MODULE 1
+#define CONFIG_ATARI_PARTITION 1
+#define CONFIG_TMPFS 1
+#define CONFIG_QUOTA 1
+#define CONFIG_LEDS_NET48XX_MODULE 1
+#define CONFIG_WANXL_MODULE 1
+#define CONFIG_PCMCIA_IBMTR_MODULE 1
+#define CONFIG_ASK_IP_FIB_HASH 1
+#define CONFIG_X86_ALIGNMENT_16 1
+#define CONFIG_X86_32 1
+#define CONFIG_RTC_INTF_DEV_UIE_EMUL 1
+#define CONFIG_DVB_CINERGYT2_QUERY_INTERVAL 250
+#define CONFIG_RADIO_GEMTEK_MODULE 1
+#define CONFIG_I2C_PIIX4_MODULE 1
+#define CONFIG_KEYBOARD_NEWTON_MODULE 1
+#define CONFIG_HOSTAP_FIRMWARE 1
+#define CONFIG_SCSI_SEAGATE_MODULE 1
+#define CONFIG_PCI_MMCONFIG 1
+#define CONFIG_GENERIC_TIME 1
+#define CONFIG_CRYPTO_TWOFISH_COMMON_MODULE 1
+#define CONFIG_ACORN_PARTITION 1
+#define CONFIG_USB_EMI26_MODULE 1
+#define CONFIG_USB_EMI62_MODULE 1
+#define CONFIG_USB_SERIAL_HP4X_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA19W 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA18X 1
+#define CONFIG_USB_TOUCHSCREEN_MODULE 1
+#define CONFIG_SND_INDIGODJ_MODULE 1
+#define CONFIG_VIDEO_HEXIUM_ORION_MODULE 1
+#define CONFIG_VIDEO_TDA9875_MODULE 1
+#define CONFIG_SENSORS_LM70_MODULE 1
+#define CONFIG_IPMI_HANDLER_MODULE 1
+#define CONFIG_SLIP_COMPRESSED 1
+#define CONFIG_PCMCIA_AXNET_MODULE 1
+#define CONFIG_DUMMY_MODULE 1
+#define CONFIG_PATA_NETCELL_MODULE 1
+#define CONFIG_SCSI_DMX3191D_MODULE 1
+#define CONFIG_BT_HCIUART_BCSP 1
+#define CONFIG_IP_VS_DH_MODULE 1
+#define CONFIG_PLIST 1
+#define CONFIG_FUTEX 1
+#define CONFIG_IPW3945_PROMISCUOUS 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA28X 1
+#define CONFIG_USB_SERIAL_FUNSOFT_MODULE 1
+#define CONFIG_SND_RME32_MODULE 1
+#define CONFIG_RADIO_AZTECH_MODULE 1
+#define CONFIG_VIDEO_MSP3400_MODULE 1
+#define CONFIG_SENSORS_LM80_MODULE 1
+#define CONFIG_SERIO_LIBPS2 1
+#define CONFIG_E1000_NAPI 1
+#define CONFIG_AIC79XX_ENABLE_RD_STRM 1
+#define CONFIG_IP_NF_MATCH_ECN_MODULE 1
+#define CONFIG_INET6_IPCOMP_MODULE 1
+#define CONFIG_USB_GADGETFS_MODULE 1
+#define CONFIG_USB_NET_CDC_SUBSET_MODULE 1
+#define CONFIG_SENSORS_LM90_MODULE 1
+#define CONFIG_SENSORS_LM63_MODULE 1
+#define CONFIG_JOYSTICK_DB9_MODULE 1
+#define CONFIG_HISAX_MAX_CARDS 8
+#define CONFIG_PCMCIA_RAYCS_MODULE 1
+#define CONFIG_TULIP_MODULE 1
+#define CONFIG_EXPERIMENTAL 1
+#define CONFIG_KTIME_SCALAR 1
+#define CONFIG_RXRPC_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA49W 1
+#define CONFIG_SND_CA0106_MODULE 1
+#define CONFIG_NETWORK_SECMARK 1
+#define CONFIG_IP_VS_LC_MODULE 1
+#define CONFIG_OCFS2_DEBUG_MASKLOG 1
+#define CONFIG_RT2X00_MODULE 1
+#define CONFIG_USB_EHCI_HCD_MODULE 1
+#define CONFIG_SENSORS_LM92_MODULE 1
+#define CONFIG_SENSORS_LM83_MODULE 1
+#define CONFIG_IEEE1394_VIDEO1394_MODULE 1
+#define CONFIG_INPUT 1
+#define CONFIG_BLK_DEV_GNBD_MODULE 1
+#define CONFIG_DVB_TUNER_MT2060_MODULE 1
+#define CONFIG_DVB_L64781_MODULE 1
+#define CONFIG_VIDEO_BWQCAM_MODULE 1
+#define CONFIG_SENSORS_LM75_MODULE 1
+#define CONFIG_I2C_AMD756_MODULE 1
+#define CONFIG_HISAX_AVM_A1 1
+#define CONFIG_ETH16I_MODULE 1
+#define CONFIG_MD 1
+#define CONFIG_BLK_DEV_CRYPTOLOOP_MODULE 1
+#define CONFIG_BLK_CPQ_CISS_DA_MODULE 1
+#define CONFIG_LOCALVERSION ""
+#define CONFIG_USB_DEVICEFS 1
+#define CONFIG_SND_MAESTRO3_MODULE 1
+#define CONFIG_SENSORS_LM85_MODULE 1
+#define CONFIG_SERIO_PCIPS2_MODULE 1
+#define CONFIG_HISAX_HSTSAPHIR 1
+#define CONFIG_STRIP_MODULE 1
+#define CONFIG_MTD_DOCPROBE_MODULE 1
+#define CONFIG_X86_POPAD_OK 1
+#define CONFIG_USB_SERIAL_IPAQ_MODULE 1
+#define CONFIG_VIDEO_CX2341X_MODULE 1
+#define CONFIG_SENSORS_LM77_MODULE 1
+#define CONFIG_TCG_INFINEON_MODULE 1
+#define CONFIG_HOSTESS_SV11_MODULE 1
+#define CONFIG_SCSI_SCAN_ASYNC 1
+#define CONFIG_IP6_NF_MATCH_RT_MODULE 1
+#define CONFIG_ZLIB_INFLATE 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_MODULE 1
+#define CONFIG_INIT_ENV_ARG_LIMIT 32
+#define CONFIG_DVB_B2C2_FLEXCOP_MODULE 1
+#define CONFIG_SENSORS_LM87_MODULE 1
+#define CONFIG_SENSORS_LM78_MODULE 1
+#define CONFIG_HISAX_FRITZ_PCIPNP_MODULE 1
+#define CONFIG_FORCEDETH_MODULE 1
+#define CONFIG_I2O_BLOCK_MODULE 1
+#define CONFIG_IP_NF_ARPFILTER_MODULE 1
+#define CONFIG_IOSCHED_DEADLINE 1
+#define CONFIG_GFS2_FS_LOCKING_NOLOCK_MODULE 1
+#define CONFIG_RADIO_RTRACK_MODULE 1
+#define CONFIG_SERIO_PARKBD_MODULE 1
+#define CONFIG_SCSI_SAS_LIBSAS_MODULE 1
+#define CONFIG_HOTPLUG_PCI_IBM_MODULE 1
+#define CONFIG_MICROCODE_MODULE 1
+#define CONFIG_NL80211 1
+#define CONFIG_CFG80211_WEXT_COMPAT 1
+#define CONFIG_SND_INDIGOIO_MODULE 1
+#define CONFIG_VIDEO_SELECT 1
+#define CONFIG_PATA_WINBOND_MODULE 1
+#define CONFIG_BT_MODULE 1
+#define CONFIG_SIGMATEL_FIR_MODULE 1
+#define CONFIG_NET_CLS_TCINDEX_MODULE 1
+#define CONFIG_NF_CONNTRACK_MODULE 1
+#define CONFIG_USB_SERIAL_MCT_U232_MODULE 1
+#define CONFIG_USB_EHCI_SPLIT_ISO 1
+#define CONFIG_SND_RME96_MODULE 1
+#define CONFIG_FRAMEBUFFER_CONSOLE_MODULE 1
+#define CONFIG_HISAX_HFCUSB_MODULE 1
+#define CONFIG_LAPBETHER_MODULE 1
+#define CONFIG_BROADCOM_PHY_MODULE 1
+#define CONFIG_PATA_JMICRON_MODULE 1
+#define CONFIG_MTD_DILNETPC_MODULE 1
+#define CONFIG_NF_CONNTRACK_AMANDA_MODULE 1
+#define CONFIG_ACPI_BATTERY_MODULE 1
+#define CONFIG_SND_OPL3_LIB_MODULE 1
+#define CONFIG_BACKLIGHT_DEVICE 1
+#define CONFIG_FB_MATROX_MAVEN_MODULE 1
+#define CONFIG_USB_KONICAWC_MODULE 1
+#define CONFIG_VIDEO_USBVISION_MODULE 1
+#define CONFIG_SENSORS_IT87_MODULE 1
+#define CONFIG_I2O_LCT_NOTIFY_ON_CHANGES 1
+#define CONFIG_PATA_MARVELL_MODULE 1
+#define CONFIG_SCSI_LOGGING 1
+#define CONFIG_BRIDGE_EBT_REDIRECT_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_CONNBYTES_MODULE 1
+#define CONFIG_HZ_250 1
+#define CONFIG_SYSFS 1
+#define CONFIG_NFS_DIRECTIO 1
+#define CONFIG_SND_OPL4_LIB_MODULE 1
+#define CONFIG_X86_CMPXCHG64 1
+#define CONFIG_USB_OHCI_HCD_MODULE 1
+#define CONFIG_HW_RANDOM_INTEL_MODULE 1
+#define CONFIG_X86_CPUID_MODULE 1
+#define CONFIG_IOSCHED_NOOP 1
+#define CONFIG_STOP_MACHINE 1
+#define CONFIG_USB_SERIAL_KLSI_MODULE 1
+#define CONFIG_USB_SERIAL_AIRCABLE_MODULE 1
+#define CONFIG_USB_ALI_M5632 1
+#define CONFIG_DVB_AV7110_MODULE 1
+#define CONFIG_VIDEO_VPX3220_MODULE 1
+#define CONFIG_VIDEO_TVP5150_MODULE 1
+#define CONFIG_SCSI_EATA_TAGGED_QUEUE 1
+#define CONFIG_BT_HCIBTUART_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_STATISTIC_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_CLASSIFY_MODULE 1
+#define CONFIG_INET6_TUNNEL_MODULE 1
+#define CONFIG_IP_VS_SH_MODULE 1
+#define CONFIG_USB_SERIAL_SIERRAWIRELESS_MODULE 1
+#define CONFIG_VIDEO_SAA711X_MODULE 1
+#define CONFIG_NET_SB1000_MODULE 1
+#define CONFIG_SATA_INIC162X_MODULE 1
+#define CONFIG_AIC79XX_RESET_DELAY_MS 15000
+#define CONFIG_IEEE80211_CRYPT_TKIP_MODULE 1
+#define CONFIG_NET_EMATCH_TEXT_MODULE 1
+#define CONFIG_INPUT_ACERHK_MODULE 1
+#define CONFIG_USB_GADGET_SELECTED 1
+#define CONFIG_USB_TOUCHSCREEN_EGALAX 1
+#define CONFIG_JOYSTICK_ADI_MODULE 1
+#define CONFIG_HISAX_AVM_A1_PCMCIA 1
+#define CONFIG_SATA_AHCI_MODULE 1
+#define CONFIG_SCSI_AIC7XXX_MODULE 1
+#define CONFIG_PARPORT_PC_FIFO 1
+#define CONFIG_ACPI_DOCK_MODULE 1
+#define CONFIG_PM 1
+#define CONFIG_CRYPTO_BLOWFISH_MODULE 1
+#define CONFIG_ADM8211_MODULE 1
+#define CONFIG_INFINIBAND_MTHCA_MODULE 1
+#define CONFIG_SOUND_KAHLUA_MODULE 1
+#define CONFIG_SND_AD1848_MODULE 1
+#define CONFIG_FB_SAVAGE_MODULE 1
+#define CONFIG_SERIAL_8250_EXTENDED 1
+#define CONFIG_PATA_OLDPIIX_MODULE 1
+#define CONFIG_MTD_CFI_STAA_MODULE 1
+#define CONFIG_NET_SCH_INGRESS_MODULE 1
+#define CONFIG_IP_ROUTE_MULTIPATH 1
+#define CONFIG_LOCKDEP_SUPPORT 1
+#define CONFIG_MSDOS_PARTITION 1
+#define CONFIG_FB_CFB_IMAGEBLIT 1
+#define CONFIG_USB_QUICKCAM_MESSENGER_MODULE 1
+#define CONFIG_IP_NF_MANGLE_MODULE 1
+#define CONFIG_IP_VS_NQ_MODULE 1
+#define CONFIG_CRYPTO_CAST5_MODULE 1
+#define CONFIG_USB_STORAGE_DATAFAB 1
+#define CONFIG_USB_UHCI_HCD_MODULE 1
+#define CONFIG_SND_ADLIB_MODULE 1
+#define CONFIG_FB_RADEON_MODULE 1
+#define CONFIG_SCSI_GENERIC_NCR5380_MODULE 1
+#define CONFIG_SCx200_MODULE 1
+#define CONFIG_BOOT_IOREMAP 1
+#define CONFIG_CRYPTO_CAST6_MODULE 1
+#define CONFIG_INFINIBAND_USER_MAD_MODULE 1
+#define CONFIG_SND_BT87X_MODULE 1
+#define CONFIG_HAPPYMEAL_MODULE 1
+#define CONFIG_IP_VS_MODULE 1
+#define CONFIG_DCDBAS_MODULE 1
+#define CONFIG_SND_FM801_TEA575X_MODULE 1
+#define CONFIG_SND_MTS64_MODULE 1
+#define CONFIG_FB_MATROX_MYSTIQUE 1
+#define CONFIG_FB_NVIDIA_MODULE 1
+#define CONFIG_SPECIALIX_MODULE 1
+#define CONFIG_MOUSE_LOGIBM_MODULE 1
+#define CONFIG_SCSI_DPT_I2O_MODULE 1
+#define CONFIG_IPV6_PRIVACY 1
+#define CONFIG_X86_PM_TIMER 1
+#define CONFIG_HZ 250
+#define CONFIG_X86_BSWAP 1
+#define CONFIG_EDAC_POLL 1
+#define CONFIG_USB_AN2720 1
+#define CONFIG_SND_AD1889_MODULE 1
+#define CONFIG_TOUCHSCREEN_TOUCHRIGHT_MODULE 1
+#define CONFIG_ACENIC_MODULE 1
+#define CONFIG_PATA_TRIFLEX_MODULE 1
+#define CONFIG_PATA_EFAR_MODULE 1
+#define CONFIG_SCSI_NCR53C8XX_SYNC 5
+#define CONFIG_SMC_IRCC_FIR_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_HELPER_MODULE 1
+#define CONFIG_RT2X00_LEGACY 1
+#define CONFIG_INFINIBAND_IPOIB_MODULE 1
+#define CONFIG_SND_CS4231_MODULE 1
+#define CONFIG_ISDN_DIVAS_DIVACAPI_MODULE 1
+#define CONFIG_HISAX_NI1 1
+#define CONFIG_WAN_ROUTER_DRIVERS_MODULE 1
+#define CONFIG_HDLC_RAW_ETH_MODULE 1
+#define CONFIG_MTD_NAND_IDS_MODULE 1
+#define CONFIG_MTD_PHYSMAP_LEN 0x4000000
+#define CONFIG_IP_VS_RR_MODULE 1
+#define CONFIG_INET_DIAG 1
+#define CONFIG_NLS_ISO8859_1_MODULE 1
+#define CONFIG_SND_CS4232_MODULE 1
+#define CONFIG_I2C_SIS630_MODULE 1
+#define CONFIG_NET_ETHERNET 1
+#define CONFIG_SATA_ACPI 1
+#define CONFIG_MEGARAID_MAILBOX_MODULE 1
+#define CONFIG_NET_TCPPROBE_MODULE 1
+#define CONFIG_NET_SCH_GRED_MODULE 1
+#define CONFIG_COPS_TANGENT 1
+#define CONFIG_NETFILTER_XT_MATCH_LENGTH_MODULE 1
+#define CONFIG_ACPI_BLACKLIST_YEAR 2000
+#define CONFIG_NLS_ISO8859_2_MODULE 1
+#define CONFIG_HISAX_NETJET 1
+#define CONFIG_ATM_LANAI_MODULE 1
+#define CONFIG_TR 1
+#define CONFIG_NS83820_MODULE 1
+#define CONFIG_SCSI_NETLINK 1
+#define CONFIG_PNPBIOS_PROC_FS 1
+#define CONFIG_REED_SOLOMON_MODULE 1
+#define CONFIG_IP6_NF_QUEUE_MODULE 1
+#define CONFIG_NLS_ISO8859_3_MODULE 1
+#define CONFIG_SPEAKUP_DTLK_MODULE 1
+#define CONFIG_EDAC_E752X_MODULE 1
+#define CONFIG_MMC_SDHCI_MODULE 1
+#define CONFIG_MMC_BLOCK_MODULE 1
+#define CONFIG_USB_MICROTEK_MODULE 1
+#define CONFIG_USB_OHCI_LITTLE_ENDIAN 1
+#define CONFIG_SOUND_SSCAPE_MODULE 1
+#define CONFIG_VIDEO_ZORAN_DC10_MODULE 1
+#define CONFIG_SC1200_WDT_MODULE 1
+#define CONFIG_SATA_PROMISE_MODULE 1
+#define CONFIG_TIFM_7XX1_MODULE 1
+#define CONFIG_NET_SCH_HFSC_MODULE 1
+#define CONFIG_NET_SCH_FIFO 1
+#define CONFIG_NLS_ISO8859_4_MODULE 1
+#define CONFIG_USB_EPSON2888 1
+#define CONFIG_MOUSE_SERIAL_MODULE 1
+#define CONFIG_DE2104X_MODULE 1
+#define CONFIG_DM_MULTIPATH_MODULE 1
+#define CONFIG_MD_MULTIPATH_MODULE 1
+#define CONFIG_PARIDE_PD_MODULE 1
+#define CONFIG_KALLSYMS_ALL 1
+#define CONFIG_NLS_ISO8859_5_MODULE 1
+#define CONFIG_SND_CS4281_MODULE 1
+#define CONFIG_SND_CS4236_MODULE 1
+#define CONFIG_VIDEO_ZORAN_DC30_MODULE 1
+#define CONFIG_SBC_EPX_C3_WATCHDOG_MODULE 1
+#define CONFIG_ATM_BR2684_MODULE 1
+#define CONFIG_X86_FIND_SMP_CONFIG 1
+#define CONFIG_PROFILING 1
+#define CONFIG_NLS_ISO8859_6_MODULE 1
+#define CONFIG_USB_LIBUSUAL 1
+#define CONFIG_RADIO_SF16FMI_MODULE 1
+#define CONFIG_USB_ZC0301_MODULE 1
+#define CONFIG_VT 1
+#define CONFIG_B44_MODULE 1
+#define CONFIG_BLK_DEV_UMEM_MODULE 1
+#define CONFIG_PARIDE_PF_MODULE 1
+#define CONFIG_ISDN_CAPI_MODULE 1
+#define CONFIG_NLS_ISO8859_7_MODULE 1
+#define CONFIG_NLS_CODEPAGE_1250_MODULE 1
+#define CONFIG_SND_AU8810_MODULE 1
+#define CONFIG_SENSORS_SMSC47M1_MODULE 1
+#define CONFIG_SX_MODULE 1
+#define CONFIG_USB_ZD1201_MODULE 1
+#define CONFIG_MD_LINEAR_MODULE 1
+#define CONFIG_SATA_VITESSE_MODULE 1
+#define CONFIG_PARIDE_PG_MODULE 1
+#define CONFIG_CONNECTOR_MODULE 1
+#define CONFIG_IP_NF_MATCH_TTL_MODULE 1
+#define CONFIG_GENERIC_PENDING_IRQ 1
+#define CONFIG_NLS_CODEPAGE_1251_MODULE 1
+#define CONFIG_NLS_ISO8859_8_MODULE 1
+#define CONFIG_GFS2_FS_LOCKING_DLM_MODULE 1
+#define CONFIG_USB_NET_RNDIS_HOST_MODULE 1
+#define CONFIG_SND_AU8820_MODULE 1
+#define CONFIG_HISAX_IX1MICROR2 1
+#define CONFIG_ARCNET_RIM_I_MODULE 1
+#define CONFIG_MD_RAID5_RESHAPE 1
+#define CONFIG_SCSI_EATA_MODULE 1
+#define CONFIG_VLAN_8021Q_MODULE 1
+#define CONFIG_NLS_ISO8859_9_MODULE 1
+#define CONFIG_NCPFS_OS2_NS 1
+#define CONFIG_USB_KBTAB_MODULE 1
+#define CONFIG_SND_AU8830_MODULE 1
+#define CONFIG_FONT_8x16 1
+#define CONFIG_VIDEO_DPC_MODULE 1
+#define CONFIG_EUROTECH_WDT_MODULE 1
+#define CONFIG_NET_SCHED 1
+#define CONFIG_IP_NF_MATCH_TOS_MODULE 1
+#define CONFIG_BRIDGE_MODULE 1
+#define CONFIG_INET6_ESP_MODULE 1
+#define CONFIG_NETFILTER 1
+#define CONFIG_PCMCIA_MODULE 1
+#define CONFIG_PCCARD_MODULE 1
+#define CONFIG_BASE_FULL 1
+#define CONFIG_RTC_DRV_V3020_MODULE 1
+#define CONFIG_SND_RTCTIMER_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_B1PCMCIA_MODULE 1
+#define CONFIG_PCI_ATMEL_MODULE 1
+#define CONFIG_VIA_VELOCITY_MODULE 1
+#define CONFIG_WD80x3_MODULE 1
+#define CONFIG_SCSI_SYM53C8XX_MMIO 1
+#define CONFIG_SCSI_SYM53C8XX_2_MODULE 1
+#define CONFIG_SCSI_NCR_D700_MODULE 1
+#define CONFIG_CRC_CCITT_MODULE 1
+#define CONFIG_IP_MULTICAST 1
+#define CONFIG_SPEAKUP_LTLK_MODULE 1
+#define CONFIG_USB_G_SERIAL_MODULE 1
+#define CONFIG_CS89x0_MODULE 1
+#define CONFIG_MD_RAID456_MODULE 1
+#define CONFIG_MTD_BLOCK_RO_MODULE 1
+#define CONFIG_MTD_BLOCK_MODULE 1
+#define CONFIG_PREVENT_FIRMWARE_BUILD 1
+#define CONFIG_NET_IPGRE_BROADCAST 1
+#define CONFIG_NCPFS_EXTRAS 1
+#define CONFIG_USB_SL811_HCD_MODULE 1
+#define CONFIG_VIDEO_ZORAN_BUZ_MODULE 1
+#define CONFIG_TCG_ATMEL_MODULE 1
+#define CONFIG_BLK_DEV_PIIX_MODULE 1
+#define CONFIG_BLK_DEV_LOOP_MODULE 1
+#define CONFIG_MTD_NAND_DISKONCHIP_MODULE 1
+#define CONFIG_MTD_M25P80_MODULE 1
+#define CONFIG_IRDA_FAST_RR 1
+#define CONFIG_USB_TOUCHSCREEN_PANJIT 1
+#define CONFIG_SND_ES1938_MODULE 1
+#define CONFIG_ADAPTEC_STARFIRE_MODULE 1
+#define CONFIG_ATA_OVER_ETH_MODULE 1
+#define CONFIG_IP_NF_FILTER_MODULE 1
+#define CONFIG_PM_LEGACY 1
+#define CONFIG_GENERIC_CALIBRATE_DELAY 1
+#define CONFIG_HAS_IOMEM 1
+#define CONFIG_FB_DDC_MODULE 1
+#define CONFIG_VIDEO_CX88_VP3054_MODULE 1
+#define CONFIG_ISDN_DRV_ICN_MODULE 1
+#define CONFIG_HISAX_SPORTSTER 1
+#define CONFIG_EPIC100_MODULE 1
+#define CONFIG_EQUALIZER_MODULE 1
+#define CONFIG_INET6_XFRM_MODE_TRANSPORT_MODULE 1
+#define CONFIG_RTC_DRV_X1205_MODULE 1
+#define CONFIG_SC6600_JOY 1
+#define CONFIG_SND_ES1688_MODULE 1
+#define CONFIG_VIDEO_BUF_MODULE 1
+#define CONFIG_AGP_INTEL_MODULE 1
+#define CONFIG_MOXA_SMARTIO_MODULE 1
+#define CONFIG_IPW2100_MODULE 1
+#define CONFIG_IEEE1394_DV1394_MODULE 1
+#define CONFIG_MTD_CFI_UTIL_MODULE 1
+#define CONFIG_BT_HCIUSB_MODULE 1
+#define CONFIG_DECNET_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_MULTIPORT_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_POLICY_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_NFLOG_MODULE 1
+#define CONFIG_FW_LOADER 1
+#define CONFIG_CRYPTO_DEV_PADLOCK_AES_MODULE 1
+#define CONFIG_CRYPTO_SHA512_MODULE 1
+#define CONFIG_EARLY_PRINTK 1
+#define CONFIG_SND_ES1968_MODULE 1
+#define CONFIG_NET_WIRELESS 1
+#define CONFIG_IPW2200_MODULE 1
+#define CONFIG_TIGON3_MODULE 1
+#define CONFIG_MTD_CK804XROM_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_MAC_MODULE 1
+#define CONFIG_NLS_ASCII_MODULE 1
+#define CONFIG_USB_MDC800_MODULE 1
+#define CONFIG_SND_ALS100_MODULE 1
+#define CONFIG_DVB_SP8870_MODULE 1
+#define CONFIG_VIDEO_SAA7134_DVB_MODULE 1
+#define CONFIG_VIDEO_DEV_MODULE 1
+#define CONFIG_HISAX_MIC 1
+#define CONFIG_VIA_RHINE_MODULE 1
+#define CONFIG_PARIDE_MODULE 1
+#define CONFIG_MTD_TS5500_MODULE 1
+#define CONFIG_NET_RADIO 1
+#define CONFIG_BRIDGE_EBT_ARPREPLY_MODULE 1
+#define CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE 1
+#define CONFIG_NCPFS_STRONG 1
+#define CONFIG_SND_SBAWE_MODULE 1
+#define CONFIG_FB_PM2_MODULE 1
+#define CONFIG_SCSI_LPFC_MODULE 1
+#define CONFIG_IP_DCCP_CCID2_MODULE 1
+#define CONFIG_CRYPTO_DEV_PADLOCK_SHA_MODULE 1
+#define CONFIG_USB_GSPCA_MODULE 1
+#define CONFIG_RTC_INTF_DEV_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_PDA_MODULE 1
+#define CONFIG_SND_ALS300_MODULE 1
+#define CONFIG_LCD_CLASS_DEVICE_MODULE 1
+#define CONFIG_FB_HGA_MODULE 1
+#define CONFIG_VIDEO_PVRUSB2_24XXX 1
+#define CONFIG_HISAX_HFC_SX 1
+#define CONFIG_IP_DCCP_CCID3_MODULE 1
+#define CONFIG_X86_ACPI_CPUFREQ_MODULE 1
+#define CONFIG_ISO9660_FS_MODULE 1
+#define CONFIG_SND_VXPOCKET_MODULE 1
+#define CONFIG_ATM_HE_USE_SUNI 1
+#define CONFIG_SCSI_GDTH_MODULE 1
+#define CONFIG_TIFM_CORE_MODULE 1
+#define CONFIG_PARIDE_PT_MODULE 1
+#define CONFIG_BRIDGE_EBT_AMONG_MODULE 1
+#define CONFIG_PACKET_MODULE 1
+#define CONFIG_HOTPLUG_PCI_CPCI_ZT5550_MODULE 1
+#define CONFIG_CPU_FREQ_GOV_CONSERVATIVE_MODULE 1
+#define CONFIG_ACPI_ASUS_MODULE 1
+#define CONFIG_X86_PC 1
+#define CONFIG_CRYPTO_SHA256_MODULE 1
+#define CONFIG_USB_ARMLINUX 1
+#define CONFIG_SND_SERIAL_U16550_MODULE 1
+#define CONFIG_USB_VICAM_MODULE 1
+#define CONFIG_TUNER_3036_MODULE 1
+#define CONFIG_DVB_BT8XX_MODULE 1
+#define CONFIG_YELLOWFIN_MODULE 1
+#define CONFIG_AIC79XX_DEBUG_ENABLE 1
+#define CONFIG_BT_RFCOMM_MODULE 1
+#define CONFIG_DONGLE 1
+#define CONFIG_NET_SCH_TEQL_MODULE 1
+#define CONFIG_BRIDGE_NETFILTER 1
+#define CONFIG_PCI_GOANY 1
+#define CONFIG_BSD_PROCESS_ACCT_V3 1
+#define CONFIG_GENERIC_HARDIRQS 1
+#define CONFIG_DEBUG_BUGVERBOSE 1
+#define CONFIG_NCPFS_IOCTL_LOCKING 1
+#define CONFIG_JFS_SECURITY 1
+#define CONFIG_FS_POSIX_ACL 1
+#define CONFIG_I2C_AMD8111_MODULE 1
+#define CONFIG_SERIAL_CORE_CONSOLE 1
+#define CONFIG_R8169_VLAN 1
+#define CONFIG_SMC9194_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_STRING_MODULE 1
+#define CONFIG_NF_CT_PROTO_GRE_MODULE 1
+#define CONFIG_SCHED_SMT 1
+#define CONFIG_X86_WP_WORKS_OK 1
+#define CONFIG_FB_SAVAGE_I2C 1
+#define CONFIG_HPET_MMAP 1
+#define CONFIG_INPUT_WISTRON_BTNS_MODULE 1
+#define CONFIG_DE_AOC 1
+#define CONFIG_AIC7XXX_RESET_DELAY_MS 15000
+#define CONFIG_SCSI_3W_9XXX_MODULE 1
+#define CONFIG_IP6_NF_MATCH_IPV6HEADER_MODULE 1
+#define CONFIG_INET6_XFRM_MODE_TUNNEL_MODULE 1
+#define CONFIG_FIB_RULES 1
+#define CONFIG_QNX4FS_FS_MODULE 1
+#define CONFIG_CRAMFS 1
+#define CONFIG_USB_ATMEL_MODULE 1
+#define CONFIG_USB_TOUCHSCREEN_ETURBO 1
+#define CONFIG_SOUND_AEDSP16_MODULE 1
+#define CONFIG_SOUND_ICH_MODULE 1
+#define CONFIG_SND_HWDEP_MODULE 1
+#define CONFIG_VIDEO_PVRUSB2_29XXX 1
+#define CONFIG_FUSION_FC_MODULE 1
+#define CONFIG_MTD_PHRAM_MODULE 1
+#define CONFIG_NET_SCH_CLK_JIFFIES 1
+#define CONFIG_ACORN_PARTITION_RISCIX 1
+#define CONFIG_PRISM2 1
+#define CONFIG_EDAC_I82860_MODULE 1
+#define CONFIG_FB_RADEON_I2C 1
+#define CONFIG_VIDEO_MXB_MODULE 1
+#define CONFIG_VIDEO_ZORAN_LML33R10_MODULE 1
+#define CONFIG_VIDEO_SAA5246A_MODULE 1
+#define CONFIG_SCx200_I2C_MODULE 1
+#define CONFIG_SERIO_CT82C710_MODULE 1
+#define CONFIG_JOYSTICK_SIDEWINDER_MODULE 1
+#define CONFIG_MOUSE_PS2_MODULE 1
+#define CONFIG_ARCNET_MODULE 1
+#define CONFIG_SCSI_NCR_Q720_MODULE 1
+#define CONFIG_SCSI_PROC_FS 1
+#define CONFIG_MCP2120_DONGLE_MODULE 1
+#define CONFIG_NET_SCH_PRIO_MODULE 1
+#define CONFIG_IP_NF_MATCH_IPRANGE_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_TCPMSS_MODULE 1
+#define CONFIG_NET_IPGRE_MODULE 1
+#define CONFIG_RTC_CLASS_MODULE 1
+#define CONFIG_EDAC_R82600_MODULE 1
+#define CONFIG_USB_SERIAL_EDGEPORT_TI_MODULE 1
+#define CONFIG_USB_STORAGE_FREECOM 1
+#define CONFIG_FB_MATROX_MULTIHEAD 1
+#define CONFIG_VIDEO_CX88_BLACKBIRD_MODULE 1
+#define CONFIG_VIDEO_HEXIUM_GEMINI_MODULE 1
+#define CONFIG_IBMASR_MODULE 1
+#define CONFIG_FEALNX_MODULE 1
+#define CONFIG_WIRELESS_EXT 1
+#define CONFIG_ECONET_MODULE 1
+#define CONFIG_I2C_MODULE 1
+#define CONFIG_SND_BTSCO_MODULE 1
+#define CONFIG_USB_SERIAL_CP2101_MODULE 1
+#define CONFIG_FB_NVIDIA_I2C 1
+#define CONFIG_FB_CIRRUS_MODULE 1
+#define CONFIG_ISDN_CAPI_CAPIFS_MODULE 1
+#define CONFIG_HISAX_HFC4S8S_MODULE 1
+#define CONFIG_HW_RANDOM 1
+#define CONFIG_EEXPRESS_PRO_MODULE 1
+#define CONFIG_MTD_PMC551_MODULE 1
+#define CONFIG_X25_MODULE 1
+#define CONFIG_BRIDGE_EBT_T_FILTER_MODULE 1
+#define CONFIG_PCCARD_NONSTATIC_MODULE 1
+#define CONFIG_NCPFS_NFS_NS 1
+#define CONFIG_INOTIFY_USER 1
+#define CONFIG_AVERATEC_5100P_MODULE 1
+#define CONFIG_USB_WACOM_MODULE 1
+#define CONFIG_SND_HDSPM_MODULE 1
+#define CONFIG_SENSORS_W83627EHF_MODULE 1
+#define CONFIG_MAX_RAW_DEVS 256
+#define CONFIG_PCIPCWATCHDOG_MODULE 1
+#define CONFIG_INPUT_JOYDEV_MODULE 1
+#define CONFIG_FIXED_PHY_MODULE 1
+#define CONFIG_CRYPTO_CRC32C_MODULE 1
+#define CONFIG_LEDS_WRAP_MODULE 1
+#define CONFIG_USB_SERIAL_AIRPRIME_MODULE 1
+#define CONFIG_I2C_ALI1535_MODULE 1
+#define CONFIG_MACHZ_WDT_MODULE 1
+#define CONFIG_ISCSI_TCP_MODULE 1
+#define CONFIG_X86_HT 1
+#define CONFIG_LMPCM_USB_MODULE 1
+#define CONFIG_USB_SERIAL_EDGEPORT_MODULE 1
+#define CONFIG_FB_MATROX_MODULE 1
+#define CONFIG_I2C_ALI1563_MODULE 1
+#define CONFIG_INPUT_PCSPKR_MODULE 1
+#define CONFIG_CHELSIO_T1_1G 1
+#define CONFIG_EL1_MODULE 1
+#define CONFIG_TRACE_IRQFLAGS_SUPPORT 1
+#define CONFIG_BSD_DISKLABEL 1
+#define CONFIG_VIDEO_TEA6415C_MODULE 1
+#define CONFIG_WAFER_WDT_MODULE 1
+#define CONFIG_SHAPER_MODULE 1
+#define CONFIG_EL2_MODULE 1
+#define CONFIG_CHR_DEV_OSST_MODULE 1
+#define CONFIG_MTD_SLRAM_MODULE 1
+#define CONFIG_MICROCODE_OLD_INTERFACE 1
+#define CONFIG_VIDEO_UPD64083_MODULE 1
+#define CONFIG_MOUSE_INPORT_MODULE 1
+#define CONFIG_PHONE_IXJ_MODULE 1
+#define CONFIG_HOSTAP_CS_MODULE 1
+#define CONFIG_HERMES_MODULE 1
+#define CONFIG_EL3_MODULE 1
+#define CONFIG_PM_SYSFS_DEPRECATED 1
+#define CONFIG_POSIX_MQUEUE 1
+#define CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE 1
+#define CONFIG_ACPI_SONY_MODULE 1
+#define CONFIG_IPW3945_MODULE 1
+#define CONFIG_USB_HIDINPUT_POWERBOOK 1
+#define CONFIG_SND_GINA20_MODULE 1
+#define CONFIG_SND_TIMER_MODULE 1
+#define CONFIG_DVB_BUDGET_PATCH_MODULE 1
+#define CONFIG_SCx200_ACB_MODULE 1
+#define CONFIG_I2C_PROSAVAGE_MODULE 1
+#define CONFIG_PCMCIA_NMCLAN_MODULE 1
+#define CONFIG_MD_FAULTY_MODULE 1
+#define CONFIG_IBMMCA_SCSI_ORDER_STANDARD 1
+#define CONFIG_BRIDGE_EBT_LIMIT_MODULE 1
+#define CONFIG_NCPFS_NLS 1
+#define CONFIG_RT2X00_LIB_MODULE 1
+#define CONFIG_USB_SERIAL_DIGI_ACCELEPORT_MODULE 1
+#define CONFIG_RADIO_GEMTEK_PCI_MODULE 1
+#define CONFIG_VIDEO_PMS_MODULE 1
+#define CONFIG_VIDEO_CS53L32A_MODULE 1
+#define CONFIG_PCMCIA_AHA152X_MODULE 1
+#define CONFIG_MTD_BLOCK2MTD_MODULE 1
+#define CONFIG_X86 1
+#define CONFIG_JOLIET 1
+#define CONFIG_RADIO_RTRACK2_MODULE 1
+#define CONFIG_W1_CON 1
+#define CONFIG_8139TOO_MODULE 1
+#define CONFIG_MTD_L440GX_MODULE 1
+#define CONFIG_IRCOMM_MODULE 1
+#define CONFIG_XFS_SECURITY 1
+#define CONFIG_USB_RIO500_MODULE 1
+#define CONFIG_FB_SIS_300 1
+#define CONFIG_N_HDLC_MODULE 1
+#define CONFIG_PHYLIB_MODULE 1
+#define CONFIG_AIC79XX_CMDS_PER_DEVICE 32
+#define CONFIG_SELECT_MEMORY_MODEL 1
+#define CONFIG_SYSFS_DEPRECATED 1
+#define CONFIG_CRYPTO_TGR192_MODULE 1
+#define CONFIG_KVM_INTEL_MODULE 1
+#define CONFIG_SND_PCXHR_MODULE 1
+#define CONFIG_SND_GINA24_MODULE 1
+#define CONFIG_FB_I810_MODULE 1
+#define CONFIG_JOYSTICK_GAMECON_MODULE 1
+#define CONFIG_DSCC4_PCISYNC 1
+#define CONFIG_MTD_AMD76XROM_MODULE 1
+#define CONFIG_ACORN_PARTITION_ICS 1
+#define CONFIG_AUTOFS_FS_MODULE 1
+#define CONFIG_RTL8187_MODULE 1
+#define CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE 1
+#define CONFIG_DVB_LNBP21_MODULE 1
+#define CONFIG_I2O_MODULE 1
+#define CONFIG_IEEE1394_RAWIO_MODULE 1
+#define CONFIG_NF_CONNTRACK_EVENTS 1
+#define CONFIG_CPU_FREQ_GOV_USERSPACE_MODULE 1
+#define CONFIG_SND_MPU401_MODULE 1
+#define CONFIG_FB_ATY_CT 1
+#define CONFIG_HWMON_VID_MODULE 1
+#define CONFIG_WDTPCI_MODULE 1
+#define CONFIG_SERIAL_8250_EXAR_ST16C554_MODULE 1
+#define CONFIG_SERIO_RAW_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON 1
+#define CONFIG_ATM_IA_MODULE 1
+#define CONFIG_DM_MIRROR_MODULE 1
+#define CONFIG_PCMCIA_QLOGIC_MODULE 1
+#define CONFIG_IDEPCI_SHARE_IRQ 1
+#define CONFIG_ISAPNP 1
+#define CONFIG_NETFILTER_XT_MATCH_ESP_MODULE 1
+#define CONFIG_CFG80211_MODULE 1
+#define CONFIG_NET_IPG_JUMBO_FRAME 1
+#define CONFIG_USB_SERIAL_PL2303_MODULE 1
+#define CONFIG_SOUND_PAS_MODULE 1
+#define CONFIG_SND_MTPAV_MODULE 1
+#define CONFIG_ISDN_TTY_FAX 1
+#define CONFIG_MTD_DATAFLASH_MODULE 1
+#define CONFIG_IP_NF_TARGET_CLUSTERIP_MODULE 1
+#define CONFIG_I8K_MODULE 1
+#define CONFIG_MAC80211_MODULE 1
+#define CONFIG_SND_INTEL8X0M_MODULE 1
+#define CONFIG_FB_MATROX_MILLENIUM 1
+#define CONFIG_PPP_ASYNC_MODULE 1
+#define CONFIG_NET_EMATCH_STACK 32
+#define CONFIG_USB_OV511_NEW_MODULE 1
+#define CONFIG_DAZUKO_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA28XA 1
+#define CONFIG_SND_DT019X_MODULE 1
+#define CONFIG_FB_SIS_315 1
+#define CONFIG_DVB_CX24110_MODULE 1
+#define CONFIG_VIDEO_SAA7134_OSS_MODULE 1
+#define CONFIG_USBPCWATCHDOG_MODULE 1
+#define CONFIG_SERIAL_8250_FOURPORT_MODULE 1
+#define CONFIG_ATM_HE_MODULE 1
+#define CONFIG_NET_WIRELESS_RTNETLINK 1
+#define CONFIG_MTD_NAND_NANDSIM_MODULE 1
+#define CONFIG_ACT200L_DONGLE_MODULE 1
+#define CONFIG_IP_NF_TARGET_REJECT_MODULE 1
+#define CONFIG_NFS_V3 1
+#define CONFIG_ECRYPT_FS_MODULE 1
+#define CONFIG_USB_SERIAL_DEBUG_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA19QI 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA28XB 1
+#define CONFIG_DVB_B2C2_FLEXCOP_PCI_MODULE 1
+#define CONFIG_HOSTAP_MODULE 1
+#define CONFIG_SUNGEM_MODULE 1
+#define CONFIG_QSEMI_PHY_MODULE 1
+#define CONFIG_NET_FC 1
+#define CONFIG_BLK_DEV_PDC202XX_OLD_MODULE 1
+#define CONFIG_BLK_DEV_SC1200_MODULE 1
+#define CONFIG_BLK_DEV_IDECD_MODULE 1
+#define CONFIG_INET_XFRM_MODE_BEET_MODULE 1
+#define CONFIG_X86_REBOOTFIXUPS 1
+#define CONFIG_NFS_V4 1
+#define CONFIG_JBD_MODULE 1
+#define CONFIG_USB_ARCH_HAS_HCD 1
+#define CONFIG_SND_DUMMY_MODULE 1
+#define CONFIG_JOYSTICK_IFORCE_USB 1
+#define CONFIG_PHONE_IXJ_PCMCIA_MODULE 1
+#define CONFIG_PCMCIA_HERMES_MODULE 1
+#define CONFIG_TMSPCI_MODULE 1
+#define CONFIG_SCSI_SYM53C416_MODULE 1
+#define CONFIG_USB_APPLEDISPLAY_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_MPR 1
+#define CONFIG_USB_NET_CDCETHER_MODULE 1
+#define CONFIG_DVB_CX22700_MODULE 1
+#define CONFIG_GIRBIL_DONGLE_MODULE 1
+#define CONFIG_DEFAULT_TCP_CONG "cubic"
+#define CONFIG_MCA 1
+#define CONFIG_BSD_PROCESS_ACCT 1
+#define CONFIG_AFS_FS_MODULE 1
+#define CONFIG_INFINIBAND_MODULE 1
+#define CONFIG_USB_EZUSB 1
+#define CONFIG_USB_MOUSE_MODULE 1
+#define CONFIG_FIRMWARE_EDID 1
+#define CONFIG_DVB_CINERGYT2_MODULE 1
+#define CONFIG_DVB_S5H1420_MODULE 1
+#define CONFIG_DVB_CX24123_MODULE 1
+#define CONFIG_HISAX_16_0 1
+#define CONFIG_IDE 1
+#define CONFIG_NET_CLS_RSVP_MODULE 1
+#define CONFIG_IRQBALANCE 1
+#define CONFIG_LBD 1
+#define CONFIG_GENERIC_IOMAP 1
+#define CONFIG_AUDIT_GENERIC 1
+#define CONFIG_BFS_FS_MODULE 1
+#define CONFIG_FAT_FS_MODULE 1
+#define CONFIG_RTC_DRV_TEST_MODULE 1
+#define CONFIG_SND_PDAUDIOCF_MODULE 1
+#define CONFIG_FB_ATY_GX 1
+#define CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE 512
+#define CONFIG_DVB_CX22702_MODULE 1
+#define CONFIG_I2C_SIS96X_MODULE 1
+#define CONFIG_JOYSTICK_TURBOGRAFX_MODULE 1
+#define CONFIG_MTD_NAND_CAFE_MODULE 1
+#define CONFIG_NF_CONNTRACK_IRC_MODULE 1
+#define CONFIG_CRYPTO_BLKCIPHER_MODULE 1
+#define CONFIG_SND_AD1848_LIB_MODULE 1
+#define CONFIG_INPUT_UINPUT_MODULE 1
+#define CONFIG_TOUCHSCREEN_MK712_MODULE 1
+#define CONFIG_NET_TULIP 1
+#define CONFIG_FUSION 1
+#define CONFIG_IP_MROUTE 1
+#define CONFIG_HOTPLUG_PCI_FAKE_MODULE 1
+#define CONFIG_SPARSEMEM_STATIC 1
+#define CONFIG_EFI 1
+#define CONFIG_ACPI_TC1100_MODULE 1
+#define CONFIG_USB_TOUCHSCREEN_ITM 1
+#define CONFIG_FB_ATY_MODULE 1
+#define CONFIG_VIDEO_TLV320AIC23B_MODULE 1
+#define CONFIG_HISAX_16_3 1
+#define CONFIG_C101_MODULE 1
+#define CONFIG_ELPLUS_MODULE 1
+#define CONFIG_SCSI_STEX_MODULE 1
+#define CONFIG_BT_HCIBT3C_MODULE 1
+#define CONFIG_HID_MODULE 1
+#define CONFIG_NETROM_MODULE 1
+#define CONFIG_IP_NF_RAW_MODULE 1
+#define CONFIG_IP6_NF_MANGLE_MODULE 1
+#define CONFIG_NF_CONNTRACK_H323_MODULE 1
+#define CONFIG_EFS_FS_MODULE 1
+#define CONFIG_FAT_DEFAULT_CODEPAGE 437
+#define CONFIG_ZISOFS_FS_MODULE 1
+#define CONFIG_USB_SERIAL_EMPEG_MODULE 1
+#define CONFIG_FB_SIS_MODULE 1
+#define CONFIG_DVB_OR51211_MODULE 1
+#define CONFIG_DVB_BCM3510_MODULE 1
+#define CONFIG_SMSC37B787_WDT_MODULE 1
+#define CONFIG_E100_MODULE 1
+#define CONFIG_NET_VENDOR_RACAL 1
+#define CONFIG_SATA_SIL24_MODULE 1
+#define CONFIG_ATA_MODULE 1
+#define CONFIG_IP_DCCP_TFRC_LIB_MODULE 1
+#define CONFIG_IP_NF_TARGET_NETMAP_MODULE 1
+#define CONFIG_NF_NAT_MODULE 1
+#define CONFIG_UNAME_RELEASE "2.6.15.7"
+#define CONFIG_UDF_FS_MODULE 1
+#define CONFIG_SPEAKUP_DECPC_MODULE 1
+#define CONFIG_ATM_FORE200E_PCA_DEFAULT_FW 1
+#define CONFIG_SCTP_HMAC_MD5 1
+#define CONFIG_NF_NAT_AMANDA_MODULE 1
+#define CONFIG_NLS_ISO8859_13_MODULE 1
+#define CONFIG_GFS_FS_MODULE 1
+#define CONFIG_DVB_OR51132_MODULE 1
+#define CONFIG_AGP_MODULE 1
+#define CONFIG_AIC7XXX_DEBUG_ENABLE 1
+#define CONFIG_NET_DCCPPROBE_MODULE 1
+#define CONFIG_PRINTK 1
+#define CONFIG_NLS_ISO8859_14_MODULE 1
+#define CONFIG_NCP_FS_MODULE 1
+#define CONFIG_RPCSEC_GSS_SPKM3_MODULE 1
+#define CONFIG_HFS_FS_MODULE 1
+#define CONFIG_USB_LD_MODULE 1
+#define CONFIG_USB_SERIAL_FTDI_SIO_MODULE 1
+#define CONFIG_JOYSTICK_GF2K_MODULE 1
+#define CONFIG_SCSI_7000FASST_MODULE 1
+#define CONFIG_BLK_DEV_CS5530_MODULE 1
+#define CONFIG_SCC_MODULE 1
+#define CONFIG_NET_EMATCH_NBYTE_MODULE 1
+#define CONFIG_NLS_ISO8859_15_MODULE 1
+#define CONFIG_SMB_FS_MODULE 1
+#define CONFIG_XFS_QUOTA 1
+#define CONFIG_INTEL_IOATDMA_MODULE 1
+#define CONFIG_USB_ACECAD_MODULE 1
+#define CONFIG_PSS_MIXER 1
+#define CONFIG_SND_AD1816A_MODULE 1
+#define CONFIG_SND_CS4231_LIB_MODULE 1
+#define CONFIG_SCSI_NCR53C8XX_MAX_TAGS 4
+#define CONFIG_BT_SCO_MODULE 1
+#define CONFIG_NF_NAT_NEEDED 1
+#define CONFIG_IP_VS_PROTO_TCP 1
+#define CONFIG_HOTPLUG_PCI_ACPI_MODULE 1
+#define CONFIG_EISA_VLB_PRIMING 1
+#define CONFIG_DMI 1
+#define CONFIG_SUNRPC_MODULE 1
+#define CONFIG_JFS_FS_MODULE 1
+#define CONFIG_FS_MBCACHE_MODULE 1
+#define CONFIG_SOUND_MSS_MODULE 1
+#define CONFIG_SERIAL_8250_NR_UARTS 48
+#define CONFIG_LLC 1
+#define CONFIG_IP6_NF_TARGET_HL_MODULE 1
+#define CONFIG_IP_VS_PROTO_ESP 1
+#define CONFIG_XFRM_USER_MODULE 1
+#define CONFIG_CPU_FREQ_GOV_POWERSAVE_MODULE 1
+#define CONFIG_CRC_ITU_T_MODULE 1
+#define CONFIG_NOZOMI_MODULE 1
+#define CONFIG_DVB 1
+#define CONFIG_ADVANTECH_WDT_MODULE 1
+#define CONFIG_ISDN_DIVAS_MAINT_MODULE 1
+#define CONFIG_ISDN_DRV_GIGASET_MODULE 1
+#define CONFIG_DM_MULTIPATH_EMC_MODULE 1
+#define CONFIG_SCSI_PAS16_MODULE 1
+#define CONFIG_MTD_DOC2000_MODULE 1
+#define CONFIG_TEKRAM_DONGLE_MODULE 1
+#define CONFIG_DEV_APPLETALK_MODULE 1
+#define CONFIG_BRIDGE_EBT_T_NAT_MODULE 1
+#define CONFIG_IP_VS_SED_MODULE 1
+#define CONFIG_IP_VS_PROTO_UDP 1
+#define CONFIG_HOTPLUG_PCI_CPCI 1
+#define CONFIG_PCI 1
+#define CONFIG_DLM_MODULE 1
+#define CONFIG_MMC_MODULE 1
+#define CONFIG_USB_FILE_STORAGE_MODULE 1
+#define CONFIG_USB_PHIDGETSERVO_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA19QW 1
+#define CONFIG_USB_USS720_MODULE 1
+#define CONFIG_SOUND_OSS_MODULE 1
+#define CONFIG_SND_ECHO3G_MODULE 1
+#define CONFIG_DVB_SP887X_MODULE 1
+#define CONFIG_DVB_B2C2_FLEXCOP_USB_MODULE 1
+#define CONFIG_DVB_ZL10353_MODULE 1
+#define CONFIG_VIDEO_V4L1 1
+#define CONFIG_ISDN_DRV_AVMB1_B1PCI_MODULE 1
+#define CONFIG_AMD8111_ETH_MODULE 1
+#define CONFIG_BLK_DEV_DAC960_MODULE 1
+#define CONFIG_MTD_DOC2001_MODULE 1
+#define CONFIG_ISA 1
+#define CONFIG_INITRAMFS_SOURCE ""
+#define CONFIG_ZISOFS 1
+#define CONFIG_USB_UEAGLEATM_MODULE 1
+#define CONFIG_SOUND_PSS_MODULE 1
+#define CONFIG_VIDEO_V4L2 1
+#define CONFIG_ISDN_DRV_AVMB1_B1ISA_MODULE 1
+#define CONFIG_HISAX_BKM_A4T 1
+#define CONFIG_PCMCIA_XIRCOM_MODULE 1
+#define CONFIG_BLK_DEV_CS5535_MODULE 1
+#define CONFIG_BT_HCIDTL1_MODULE 1
+#define CONFIG_EISA_PCI_EISA 1
+#define CONFIG_HOTPLUG_PCI_PCIE_MODULE 1
+#define CONFIG_APM_MODULE 1
+#define CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG 1
+#define CONFIG_BUG 1
+#define CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE 0
+#define CONFIG_NFS_FS_MODULE 1
+#define CONFIG_FB_MATROX_I2C_MODULE 1
+#define CONFIG_IPMI_WATCHDOG_MODULE 1
+#define CONFIG_PCNET32_MODULE 1
+#define CONFIG_ULI526X_MODULE 1
+#define CONFIG_MII_MODULE 1
+#define CONFIG_I2O_CONFIG_MODULE 1
+#define CONFIG_BRIDGE_EBT_IP_MODULE 1
+#define CONFIG_NF_CONNTRACK_FTP_MODULE 1
+#define CONFIG_SND_ICE1712_MODULE 1
+#define CONFIG_DVB_AV7110_OSD 1
+#define CONFIG_NET_POLL_CONTROLLER 1
+#define CONFIG_ARCNET_1201_MODULE 1
+#define CONFIG_BT_HCIUART_H4 1
+#define CONFIG_NF_CONNTRACK_ENABLED_MODULE 1
+#define CONFIG_SENSORS_APPLESMC_MODULE 1
+#define CONFIG_P54_COMMON_MODULE 1
+#define CONFIG_USB_STORAGE_DPCM 1
+#define CONFIG_DVB_BUDGET_CI_MODULE 1
+#define CONFIG_VIDEO_PVRUSB2_SYSFS 1
+#define CONFIG_VIDEO_CX88_MODULE 1
+#define CONFIG_IP_NF_ARP_MANGLE_MODULE 1
+#define CONFIG_NF_CONNTRACK_SIP_MODULE 1
+#define CONFIG_CRYPTO 1
+#define CONFIG_CRYPTO_DEV_GEODE_MODULE 1
+#define CONFIG_LCD_DEVICE 1
+#define CONFIG_SONYPI_MODULE 1
+#define CONFIG_MOUSE_PC110PAD_MODULE 1
+#define CONFIG_MTD_CFI_INTELEXT_MODULE 1
+#define CONFIG_ATM 1
+#define CONFIG_SYSCTL 1
+#define CONFIG_SND_ICE1724_MODULE 1
+#define CONFIG_DRM_MODULE 1
+#define CONFIG_SERIAL_8250_CS_MODULE 1
+#define CONFIG_ARCNET_1051_MODULE 1
+#define CONFIG_SND_ATIIXP_MODEM_MODULE 1
+#define CONFIG_USB_STV680_MODULE 1
+#define CONFIG_I2C_SIS5595_MODULE 1
+#define CONFIG_I2C_ALI15X3_MODULE 1
+#define CONFIG_WDT_501 1
+#define CONFIG_PCWATCHDOG_MODULE 1
+#define CONFIG_ISDN_PPP_BSDCOMP_MODULE 1
+#define CONFIG_CYCLADES_SYNC_MODULE 1
+#define CONFIG_DSCC4_PCI_RST 1
+#define CONFIG_ARCNET_COM20020_CS_MODULE 1
+#define CONFIG_BLK_DEV_CMD640 1
+#define CONFIG_CDROM_PKTCDVD_MODULE 1
+#define CONFIG_ECONET_NATIVE 1
+#define CONFIG_RADIO_SF16FMR2_MODULE 1
+#define CONFIG_SND_MODULE 1
+#define CONFIG_SENSORS_W83L785TS_MODULE 1
+#define CONFIG_ATP_MODULE 1
+#define CONFIG_CICADA_PHY_MODULE 1
+#define CONFIG_MTD_DOCECC_MODULE 1
+#define CONFIG_MTD_MODULE 1
+#define CONFIG_MCA_LEGACY 1
+#define CONFIG_HPET_EMULATE_RTC 1
+#define CONFIG_UFS_FS_MODULE 1
+#define CONFIG_DVB_USB_NOVA_T_USB2_MODULE 1
+#define CONFIG_WAN 1
+#define CONFIG_CD_NO_IDESCSI 1
+#define CONFIG_FTL_MODULE 1
+#define CONFIG_IRDA_DEBUG 1
+#define CONFIG_IP_VS_WLC_MODULE 1
+#define CONFIG_ACPI_HOTPLUG_CPU 1
+#define CONFIG_RWSEM_XCHGADD_ALGORITHM 1
+#define CONFIG_DMA_ENGINE 1
+#define CONFIG_DVB_TTUSB_BUDGET_MODULE 1
+#define CONFIG_DVB_TDA8083_MODULE 1
+#define CONFIG_ISDN_CAPI_MIDDLEWARE 1
+#define CONFIG_PATA_CS5520_MODULE 1
+#define CONFIG_SCSI_NSP32_MODULE 1
+#define CONFIG_AIC7XXX_CMDS_PER_DEVICE 8
+#define CONFIG_MTD_PNC2000_MODULE 1
+#define CONFIG_YAM_MODULE 1
+#define CONFIG_IP6_NF_FILTER_MODULE 1
+#define CONFIG_IP_NF_TARGET_ECN_MODULE 1
+#define CONFIG_HT_IRQ 1
+#define CONFIG_NET 1
+#define CONFIG_KERNELVERSION "2.6.20-15-generic"
+#define CONFIG_SSB_MODULE 1
+#define CONFIG_SND_ALS4000_MODULE 1
+#define CONFIG_I2C_OCORES_MODULE 1
+#define CONFIG_PC87413_WDT_MODULE 1
+#define CONFIG_HISAX_HFC_PCI 1
+#define CONFIG_VORTEX_MODULE 1
+#define CONFIG_MODULE_UNLOAD 1
+#define CONFIG_XFS_FS_MODULE 1
+#define CONFIG_I2C_SAA717X_MODULE 1
+#define CONFIG_RT61PCI_MODULE 1
+#define CONFIG_INFINIBAND_AMSO1100_DEBUG 1
+#define CONFIG_SND_ALI5451_MODULE 1
+#define CONFIG_RADIO_MAESTRO_MODULE 1
+#define CONFIG_HISAX_1TR6 1
+#define CONFIG_BCM43XX_MODULE 1
+#define CONFIG_IEEE1394_MODULE 1
+#define CONFIG_SCSI_BUSLOGIC_MODULE 1
+#define CONFIG_IRTTY_SIR_MODULE 1
+#define CONFIG_NET_CLS_BASIC_MODULE 1
+#define CONFIG_TEXTSEARCH_BM_MODULE 1
+#define CONFIG_STANDALONE 1
+#define CONFIG_RTC 1
+#define CONFIG_MAC_PARTITION 1
+#define CONFIG_VIDEO_PVRUSB2_MODULE 1
+#define CONFIG_GAMEPORT_FM801_MODULE 1
+#define CONFIG_CAPI_EICON 1
+#define CONFIG_NETDEVICES 1
+#define CONFIG_SCSI_IN2000_MODULE 1
+#define CONFIG_USB_MODULE 1
+#define CONFIG_ECONET_AUNUDP 1
+#define CONFIG_IP_VS_FTP_MODULE 1
+#define CONFIG_INET_TCP_DIAG 1
+#define CONFIG_YENTA_TOSHIBA 1
+#define CONFIG_JFFS2_ZLIB 1
+#define CONFIG_USB_GADGET_DUALSPEED 1
+#define CONFIG_SND_CMI8330_MODULE 1
+#define CONFIG_JOYSTICK_STINGER_MODULE 1
+#define CONFIG_CAPI_TRACE 1
+#define CONFIG_HDLC_CISCO_MODULE 1
+#define CONFIG_CHELSIO_T1_MODULE 1
+#define CONFIG_HAMACHI_MODULE 1
+#define CONFIG_PARIDE_PCD_MODULE 1
+#define CONFIG_IP_NF_TARGET_TCPMSS_MODULE 1
+#define CONFIG_HOTPLUG_PCI_SHPC_MODULE 1
+#define CONFIG_SND_HDA_INTEL_MODULE 1
+#define CONFIG_DVB_TUA6100_MODULE 1
+#define CONFIG_DVB_BUDGET_AV_MODULE 1
+#define CONFIG_SPI 1
+#define CONFIG_SOFT_WATCHDOG_MODULE 1
+#define CONFIG_PPP_SYNC_TTY_MODULE 1
+#define CONFIG_ARCNET_COM90xxIO_MODULE 1
+#define CONFIG_SCSI_ACARD_MODULE 1
+#define CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS 0x0
+#define CONFIG_SOFTWARE_SUSPEND 1
+#define CONFIG_VMI 1
+#define CONFIG_EFI_PARTITION 1
+#define CONFIG_NLS 1
+#define CONFIG_SENSORS_DS1621_MODULE 1
+#define CONFIG_W1_MASTER_MATROX_MODULE 1
+#define CONFIG_ULTRA32_MODULE 1
+#define CONFIG_CRYPTO_ALGAPI 1
+#define CONFIG_PACKARDBELL_E5_MODULE 1
+#define CONFIG_KVM_MODULE 1
+#define CONFIG_FB_VOODOO1_MODULE 1
+#define CONFIG_VIDEO_BUF_DVB_MODULE 1
+#define CONFIG_I2C_VIAPRO_MODULE 1
+#define CONFIG_SCx200_WDT_MODULE 1
+#define CONFIG_SERIAL_8250 1
+#define CONFIG_MADGEMC_MODULE 1
+#define CONFIG_PNP 1
+#define CONFIG_USB_FTDI_ELAN_MODULE 1
+#define CONFIG_SND_SEQUENCER_MODULE 1
+#define CONFIG_WDT_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_T1PCI_MODULE 1
+#define CONFIG_ARCNET_COM20020_MODULE 1
+#define CONFIG_MTD_CFI_I1 1
+#define CONFIG_TCP_MD5SIG 1
+#define CONFIG_MMU 1
+#define CONFIG_EDAC_E7XXX_MODULE 1
+#define CONFIG_DVB_ISL6421_MODULE 1
+#define CONFIG_VIDEO_STRADIS_MODULE 1
+#define CONFIG_HW_RANDOM_AMD_MODULE 1
+#define CONFIG_INPUT_FF_MEMLESS_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_T1ISA_MODULE 1
+#define CONFIG_ARCNET_CAP_MODULE 1
+#define CONFIG_PATA_IT8213_MODULE 1
+#define CONFIG_SCSI_SYM53C8XX_MAX_TAGS 64
+#define CONFIG_BLK_DEV_RAM_SIZE 65536
+#define CONFIG_MTD_CFI_I2 1
+#define CONFIG_PPP_MODULE 1
+#define CONFIG_M586 1
+#define CONFIG_SMP 1
+#define CONFIG_USB_AUERSWALD_MODULE 1
+#define CONFIG_SENSORS_W83793_MODULE 1
+#define CONFIG_SENSORS_DS1337_MODULE 1
+#define CONFIG_HISAX_SCT_QUADRO 1
+#define CONFIG_HISAX_TELEINT 1
+#define CONFIG_IPX_MODULE 1
+#define CONFIG_DEBUG_INFO 1
+#define CONFIG_EXT2_FS_SECURITY 1
+#define CONFIG_USB_IBMCAM_MODULE 1
+#define CONFIG_VIDEO_CPIA_PP_MODULE 1
+#define CONFIG_VIDEO_TVAUDIO_MODULE 1
+#define CONFIG_SENSORS_DS1374_MODULE 1
+#define CONFIG_AGP_NVIDIA_MODULE 1
+#define CONFIG_SK98LIN_MODULE 1
+#define CONFIG_PATA_SERVERWORKS_MODULE 1
+#define CONFIG_PATA_RZ1000_MODULE 1
+#define CONFIG_IOSCHED_AS 1
+#define CONFIG_CRYPTO_KHAZAD_MODULE 1
+#define CONFIG_EXT3_FS_SECURITY 1
+#define CONFIG_IPW2100_FS_AMILO_M7400_MODULE 1
+#define CONFIG_BLK_DEV_CLOOP_MODULE 1
+#define CONFIG_VIDEO_CPIA_MODULE 1
+#define CONFIG_SENSORS_ASB100_MODULE 1
+#define CONFIG_W1_SLAVE_SMEM_MODULE 1
+#define CONFIG_NET_PCMCIA 1
+#define CONFIG_BT_HCIVHCI_MODULE 1
+#define CONFIG_IP_NF_TARGET_LOG_MODULE 1
+#define CONFIG_ACPI_VIDEO_MODULE 1
+#define CONFIG_BASE_SMALL 0
+#define CONFIG_P54_PCI_MODULE 1
+#define CONFIG_SPEAKUP_KEYPC_MODULE 1
+#define CONFIG_SND_CS46XX_MODULE 1
+#define CONFIG_DVB_VES1820_MODULE 1
+#define CONFIG_SCx200_I2C_SDA 13
+#define CONFIG_IBMLANA_MODULE 1
+#define CONFIG_RTC_DRV_DS1307_MODULE 1
+#define CONFIG_USB_GADGET_MODULE 1
+#define CONFIG_SND_ENS1370_MODULE 1
+#define CONFIG_SND_ES18XX_MODULE 1
+#define CONFIG_SND_AC97_CODEC_MODULE 1
+#define CONFIG_JOYSTICK_WARRIOR_MODULE 1
+#define CONFIG_NE2_MCA_MODULE 1
+#define CONFIG_MTD_GEN_PROBE_MODULE 1
+#define CONFIG_IRDA_CACHE_LAST_LSAP 1
+#define CONFIG_EISA_NAMES 1
+#define CONFIG_ACPI_SLEEP 1
+#define CONFIG_X86_INVLPG 1
+#define CONFIG_LDM_PARTITION 1
+#define CONFIG_XFS_RT 1
+#define CONFIG_USB_SERIAL_CYBERJACK_MODULE 1
+#define CONFIG_SND_ENS1371_MODULE 1
+#define CONFIG_DVB_BUDGET_MODULE 1
+#define CONFIG_CS5535_GPIO_MODULE 1
+#define CONFIG_IPMI_POWEROFF_MODULE 1
+#define CONFIG_HISAX_ELSA_CS_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_COMMENT_MODULE 1
+#define CONFIG_BINFMT_ELF 1
+#define CONFIG_PCI_DIRECT 1
+#define CONFIG_JFFS2_FS_WRITEBUFFER 1
+#define CONFIG_SOUND_UART6850_MODULE 1
+#define CONFIG_SBC8360_WDT_MODULE 1
+#define CONFIG_JOYSTICK_JOYDUMP_MODULE 1
+#define CONFIG_JOYSTICK_TMDC_MODULE 1
+#define CONFIG_HISAX_HDLC 1
+#define CONFIG_HISAX_ASUSCOM 1
+#define CONFIG_NORTEL_HERMES_MODULE 1
+#define CONFIG_TUN_MODULE 1
+#define CONFIG_I2O_CONFIG_OLD_IOCTL 1
+#define CONFIG_MTD_DOCPROBE_ADDRESS 0x0
+#define CONFIG_BT_HCIUSB_SCO 1
+#define CONFIG_PRISM2_PCI_MODULE 1
+#define CONFIG_RTC_DRV_DS1742_MODULE 1
+#define CONFIG_RTC_DRV_DS1553_MODULE 1
+#define CONFIG_SND_SUPPORT_OLD_API 1
+#define CONFIG_DVB_TTUSB_DEC_MODULE 1
+#define CONFIG_ITCO_VENDOR_SUPPORT 1
+#define CONFIG_SERIO_I8042 1
+#define CONFIG_EL16_MODULE 1
+#define CONFIG_SCSI_DEBUG_MODULE 1
+#define CONFIG_NET_EMATCH 1
+#define CONFIG_DECNET_NF_GRABULATOR_MODULE 1
+#define CONFIG_SND_CMIPCI_MODULE 1
+#define CONFIG_SND_INTERWAVE_MODULE 1
+#define CONFIG_SND_PCM_OSS_PLUGINS 1
+#define CONFIG_USB_SN9C102_MODULE 1
+#define CONFIG_DRM_SAVAGE_MODULE 1
+#define CONFIG_LEGACY_PTY_COUNT 256
+#define CONFIG_JOYSTICK_TWIDJOY_MODULE 1
+#define CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS 8
+#define CONFIG_SCSI_ISCSI_ATTRS_MODULE 1
+#define CONFIG_ESI_DONGLE_MODULE 1
+#define CONFIG_IP_NF_TARGET_MASQUERADE_MODULE 1
+#define CONFIG_PCIEAER 1
+#define CONFIG_RT73USB_MODULE 1
+#define CONFIG_RTC_DRV_DS1672_MODULE 1
+#define CONFIG_SND_AZT2320_MODULE 1
+#define CONFIG_USB_DABUSB_MODULE 1
+#define CONFIG_DVB_USB_VP7045_MODULE 1
+#define CONFIG_VIDEO_SAA7134_ALSA_MODULE 1
+#define CONFIG_SENSORS_ATXP1_MODULE 1
+#define CONFIG_I2C_ISA_MODULE 1
+#define CONFIG_NETCONSOLE_MODULE 1
+#define CONFIG_8139TOO_8129 1
+#define CONFIG_IEEE1394_ETH1394_MODULE 1
+#define CONFIG_SCSI_NCR53C406A_MODULE 1
+#define CONFIG_SCSI_ADVANSYS_MODULE 1
+#define CONFIG_LOG_BUF_SHIFT 17
+#define CONFIG_USB_SERIAL_VISOR_MODULE 1
+#define CONFIG_USB_NET_GL620A_MODULE 1
+#define CONFIG_DVB_NXT6000_MODULE 1
+#define CONFIG_SENSORS_VT1211_MODULE 1
+#define CONFIG_DRM_RADEON_MODULE 1
+#define CONFIG_SERIAL_8250_ACCENT_MODULE 1
+#define CONFIG_SEEQ8005_MODULE 1
+#define CONFIG_BITREVERSE 1
+#define CONFIG_TEXTSEARCH 1
+#define CONFIG_NF_CONNTRACK_SECMARK 1
+#define CONFIG_IP_VS_WRR_MODULE 1
+#define CONFIG_SGI_PARTITION 1
+#define CONFIG_USB_NET2280_MODULE 1
+#define CONFIG_SND_OPTI92X_AD1848_MODULE 1
+#define CONFIG_FB_3DFX_MODULE 1
+#define CONFIG_SENSORS_HDAPS_MODULE 1
+#define CONFIG_W83877F_WDT_MODULE 1
+#define CONFIG_MOXA_SMARTIO_NEW_MODULE 1
+#define CONFIG_MTD_CONCAT_MODULE 1
+#define CONFIG_NET_SCH_NETEM_MODULE 1
+#define CONFIG_IP_ROUTE_VERBOSE 1
+#define CONFIG_ARCH_POPULATES_NODE_MAP 1
+#define CONFIG_RT61PCI_LEGACY_MODULE 1
+#define CONFIG_USB_POWERMATE_MODULE 1
+#define CONFIG_USB_HIDDEV 1
+#define CONFIG_I2C_VIA_MODULE 1
+#define CONFIG_W83977F_WDT_MODULE 1
+#define CONFIG_JOYSTICK_GRIP_MP_MODULE 1
+#define CONFIG_LEDS_CLASS_MODULE 1
+#define CONFIG_BAYCOM_PAR_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_DCCP_MODULE 1
+#define CONFIG_AUTOFS4_FS_MODULE 1
+#define CONFIG_USB_BELKIN 1
+#define CONFIG_SND_RME9652_MODULE 1
+#define CONFIG_SND_INDIGO_MODULE 1
+#define CONFIG_DUMMY_CONSOLE 1
+#define CONFIG_VIDEO_UPD64031A_MODULE 1
+#define CONFIG_SCx200_I2C_SCL 12
+#define CONFIG_HW_RANDOM_VIA_MODULE 1
+#define CONFIG_NI52_MODULE 1
+#define CONFIG_NET_ESTIMATOR 1
+#define CONFIG_NF_CT_NETLINK_MODULE 1
+#define CONFIG_NCPFS_PACKET_SIGNING 1
+#define CONFIG_SND_USB_AUDIO_MODULE 1
+#define CONFIG_RADIO_TYPHOON_MODULE 1
+#define CONFIG_I2C_I810_MODULE 1
+#define CONFIG_I2C_I801_MODULE 1
+#define CONFIG_ISDN_AUDIO 1
+#define CONFIG_PCI_HERMES_MODULE 1
+#define CONFIG_BAYCOM_EPP_MODULE 1
+#define CONFIG_HIGHMEM 1
+#define CONFIG_SECURITY_SELINUX 1
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/mmfs.trcfmt
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/mmfs.trcfmt	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/mmfs.trcfmt	(revision 16)
@@ -0,0 +1,9612 @@
+I2N_         0x0000 BufferQueue_t_id2na "none"
+I2N_         0x0001 BufferQueue_t_id2na "free"
+I2N_         0x0002 BufferQueue_t_id2na "cold"
+I2N_         0x0003 BufferQueue_t_id2na "hot"
+I2N_         0x0004 BufferQueue_t_id2na "prefetch"
+I2N_         0x0005 BufferQueue_t_id2na "noSteal"
+I2N_         0x0006 BufferQueue_t_id2na "done"
+I2N_         0x0000 BufferType_id2name  "unknown"
+I2N_         0x0001 BufferType_id2name  "free"
+I2N_         0x0002 BufferType_id2name  "metadata"
+I2N_         0x0003 BufferType_id2name  "temp"
+I2N_         0x0004 BufferType_id2name  "diskDesc"
+I2N_         0x0005 BufferType_id2name  "sgDesc"
+I2N_         0x0006 BufferType_id2name  "data"
+I2N_         0x0007 BufferType_id2name  "indBlock"
+I2N_         0x0008 BufferType_id2name  "inode"
+I2N_         0x0009 BufferType_id2name  "LLData"
+I2N_         0x000A BufferType_id2name  "LLIndBlock"
+I2N_         0x000B BufferType_id2name  "LLInode"
+I2N_         0x000C BufferType_id2name  "allocSeg"
+I2N_         0x000D BufferType_id2name  "iallocSeg"
+I2N_         0x000E BufferType_id2name  "logData"
+I2N_         0x000F BufferType_id2name  "logDesc"
+I2N_         0x0010 BufferType_id2name  "logRecov"
+I2N_         0x0011 BufferType_id2name  "logWrap"
+I2N_         0x0012 BufferType_id2name  "iscan"
+I2N_         0x0013 BufferType_id2name  "fileset"
+I2N_         0x0014 BufferType_id2name  "NSDserver"
+I2N_         0x0000 CompoundKind_id2nam "single record"
+I2N_         0x0001 CompoundKind_id2nam "begin compound record"
+I2N_         0x0002 CompoundKind_id2nam "continue compound record"
+I2N_         0x0003 CompoundKind_id2nam "end compound record"
+I2N_         0x0000 Condvar_id2name     "Unknown"
+I2N_         0x0001 Condvar_id2name     "Thread suspend/resume"
+I2N_         0x0002 Condvar_id2name     "Inode scan stat"
+I2N_         0x0003 Condvar_id2name     "Cluster configuration mgr"
+I2N_         0x0004 Condvar_id2name     "Cluster configuration client"
+I2N_         0x0005 Condvar_id2name     "SG management mgr data"
+I2N_         0x0006 Condvar_id2name     "SG management client data"
+I2N_         0x0007 Condvar_id2name     "OpenInstance req seq"
+I2N_         0x0008 Condvar_id2name     "WaitSyncCondvar"
+I2N_         0x0009 Condvar_id2name     "Receiver Thread Ready"
+I2N_         0x000A Condvar_id2name     "Send message"
+I2N_         0x000B Condvar_id2name     "LL range lock"
+I2N_         0x000C Condvar_id2name     "Repair SG"
+I2N_         0x000D Condvar_id2name     "SharedHashTabCond"
+I2N_         0x000E Condvar_id2name     "Prefetch worker"
+I2N_         0x000F Condvar_id2name     "Quota entry get share"
+I2N_         0x0010 Condvar_id2name     "MsgRecord"
+I2N_         0x0011 Condvar_id2name     "TcpConnectCondvar"
+I2N_         0x0012 Condvar_id2name     "RcvWorker"
+I2N_         0x0013 Condvar_id2name     "Disk quiesce"
+I2N_         0x0014 Condvar_id2name     "unused 14"
+I2N_         0x0015 Condvar_id2name     "DmMgrMgrDmMntDispCondvar"
+I2N_         0x0016 Condvar_id2name     "BRL revoke"
+I2N_         0x0017 Condvar_id2name     "Revoke Table"
+I2N_         0x0018 Condvar_id2name     "LkObj"
+I2N_         0x0019 Condvar_id2name     "unused 19"
+I2N_         0x001A Condvar_id2name     "unused 1A"
+I2N_         0x001B Condvar_id2name     "StripeGroupTable"
+I2N_         0x001C Condvar_id2name     "TS cmd conflict"
+I2N_         0x001D Condvar_id2name     "Disk open"
+I2N_         0x001E Condvar_id2name     "unused 1E"
+I2N_         0x001F Condvar_id2name     "CFS mount list"
+I2N_         0x0020 Condvar_id2name     "unused 20"
+I2N_         0x0021 Condvar_id2name     "Log write"
+I2N_         0x0022 Condvar_id2name     "LogFile buffer state"
+I2N_         0x0023 Condvar_id2name     "Physical log IO inactive"
+I2N_         0x0024 Condvar_id2name     "Log not full"
+I2N_         0x0025 Condvar_id2name     "unused 25"
+I2N_         0x0026 Condvar_id2name     "Log migrate"
+I2N_         0x0027 Condvar_id2name     "unused 27"
+I2N_         0x0028 Condvar_id2name     "wait for compute share"
+I2N_         0x0029 Condvar_id2name     "wait for pending SGMount RPC"
+I2N_         0x002A Condvar_id2name     "wait for buffer desc reservation"
+I2N_         0x002B Condvar_id2name     "wait for quorum change"
+I2N_         0x002C Condvar_id2name     "wait for ind block access"
+I2N_         0x002D Condvar_id2name     "wait for inodeFlushFlag"
+I2N_         0x002E Condvar_id2name     "Fileset metadata object condvar"
+I2N_         0x002F Condvar_id2name     "Buffer memState changing"
+I2N_         0x0030 Condvar_id2name     "Alloc Manager Cond"
+I2N_         0x0031 Condvar_id2name     "wait for Parallel Work"
+I2N_         0x0032 Condvar_id2name     "IndBlockDeallocCondVar"
+I2N_         0x0033 Condvar_id2name     "Open/close SG FS"
+I2N_         0x0034 Condvar_id2name     "aTokenClassThCond"
+I2N_         0x0035 Condvar_id2name     "aClassTableThCond"
+I2N_         0x0036 Condvar_id2name     "aGlobalClassTableThCond"
+I2N_         0x0037 Condvar_id2name     "ClientToken condvar"
+I2N_         0x0038 Condvar_id2name     "wait for inode files expansion to finish"
+I2N_         0x0039 Condvar_id2name     "byte range lock"
+I2N_         0x003A Condvar_id2name     "Sync FS"
+I2N_         0x003B Condvar_id2name     "aGlobalRevokeQueueCond"
+I2N_         0x003C Condvar_id2name     "unused 3C"
+I2N_         0x003D Condvar_id2name     "UpdateLoggerInstanceCondVar"
+I2N_         0x003E Condvar_id2name     "InodeUpdateLoggerInstanceCondVar"
+I2N_         0x003F Condvar_id2name     "unused 3F"
+I2N_         0x0040 Condvar_id2name     "test condvar"
+I2N_         0x0041 Condvar_id2name     "wait on quota client initialization"
+I2N_         0x0042 Condvar_id2name     "wait for more events to be exported"
+I2N_         0x0043 Condvar_id2name     "Updating quota manager"
+I2N_         0x0044 Condvar_id2name     "wait while DMAPI Event queue is empty"
+I2N_         0x0045 Condvar_id2name     "transitioning to newVfsUser threads"
+I2N_         0x0046 Condvar_id2name     "GPDFailurNotifyCondvar"
+I2N_         0x0047 Condvar_id2name     "unused"
+I2N_         0x0048 Condvar_id2name     "Fetch flow control"
+I2N_         0x0049 Condvar_id2name     "Data Shipping State"
+I2N_         0x004A Condvar_id2name     "SGInfoCondvar"
+I2N_         0x004B Condvar_id2name     "Data Shipping buffer space waiters"
+I2N_         0x004C Condvar_id2name     "DMAPI session resume in progress"
+I2N_         0x004D Condvar_id2name     "InodePrefetchCondVar"
+I2N_         0x004E Condvar_id2name     "wait for ind block desc reservation"
+I2N_         0x004F Condvar_id2name     "wait for worker threads"
+I2N_         0x0050 Condvar_id2name     "wait for pending vfs mount"
+I2N_         0x0051 Condvar_id2name     "unused"
+I2N_         0x0052 Condvar_id2name     "SigChildNotify client condvar"
+I2N_         0x0053 Condvar_id2name     "wait for LogWrap to ask for help"
+I2N_         0x0054 Condvar_id2name     "ClusterConfigurationBCHCond"
+I2N_         0x0055 Condvar_id2name     "unused 55"
+I2N_         0x0056 Condvar_id2name     "unused 56"
+I2N_         0x0057 Condvar_id2name     "QuotaHashTabCond"
+I2N_         0x0058 Condvar_id2name     "BRLock free list"
+I2N_         0x0059 Condvar_id2name     "Dealloc queue condvar"
+I2N_         0x005A Condvar_id2name     "two node: wait for ACTIVE state"
+I2N_         0x005B Condvar_id2name     "Mailbox worker wait"
+I2N_         0x005C Condvar_id2name     "Free mailbox"
+I2N_         0x005D Condvar_id2name     "Mailbox reply"
+I2N_         0x005E Condvar_id2name     "Varyonvg command wait"
+I2N_         0x005F Condvar_id2name     "NSD queue"
+I2N_         0x0060 Condvar_id2name     "Fsck class pointer"
+I2N_         0x0061 Condvar_id2name     "unused 61"
+I2N_         0x0062 Condvar_id2name     "unused 62"
+I2N_         0x0063 Condvar_id2name     "Refresh SDR Cond"
+I2N_         0x0064 Condvar_id2name     "NSD config"
+I2N_         0x0065 Condvar_id2name     "Start disk lease cond"
+I2N_         0x0066 Condvar_id2name     "unused 66"
+I2N_         0x0067 Condvar_id2name     "NSD server"
+I2N_         0x0068 Condvar_id2name     "Subpool"
+I2N_         0x0069 Condvar_id2name     "Fcntl Acqire Condvar"
+I2N_         0x006A Condvar_id2name     "SANergy OF State condvar"
+I2N_         0x006B Condvar_id2name     "SANergy MDC Config condvar"
+I2N_         0x006C Condvar_id2name     "Page Array cond"
+I2N_         0x006D Condvar_id2name     "SANergy Metanode Cmd condvar"
+I2N_         0x006E Condvar_id2name     "SigChildNotify Table condvar"
+I2N_         0x006F Condvar_id2name     "LLLockSyncCond"
+I2N_         0x0070 Condvar_id2name     "unused 70"
+I2N_         0x0071 Condvar_id2name     "InodeScanInstanceCond"
+I2N_         0x0072 Condvar_id2name     "Pointer array alloc condvar"
+I2N_         0x0073 Condvar_id2name     "TcpUseCondvar"
+I2N_         0x0074 Condvar_id2name     "Token condvar"
+I2N_         0x0075 Condvar_id2name     "OpenSnapFileCond"
+I2N_         0x0076 Condvar_id2name     "unused 76"
+I2N_         0x0077 Condvar_id2name     "Wait for disk lease condvar"
+I2N_         0x0078 Condvar_id2name     "SGAllocMap AcquireReg condvar"
+I2N_         0x0079 Condvar_id2name     "SGAllocMap AllocInUse condvar"
+I2N_         0x007A Condvar_id2name     "SGAllocMap RegionWait condvar"
+I2N_         0x007B Condvar_id2name     "fidu condvar"
+I2N_         0x007C Condvar_id2name     "DescUpdateCond"
+I2N_         0x007D Condvar_id2name     "PingerCond"
+I2N_         0x007E Condvar_id2name     "SGAllocMap client condvar"
+I2N_         0x007F Condvar_id2name     "SGAllocMap acq pending condvar"
+I2N_         0x0080 Condvar_id2name     "SGAllocMap acqFreeInfo condvar"
+I2N_         0x0081 Condvar_id2name     "GroupLeaderCondvar"
+I2N_         0x0082 Condvar_id2name     "GPDMsgHandlerCondvar"
+I2N_         0x0083 Condvar_id2name     "PaxosThCondvar"
+I2N_         0x0084 Condvar_id2name     "TimeoutWatcherCondvar"
+I2N_         0x0085 Condvar_id2name     "SGAllocMapCursorCondVar"
+I2N_         0x0086 Condvar_id2name     "UID Domain Condvar"
+I2N_         0x0087 Condvar_id2name     "SGAllocMap regFreeInfo condvar"
+I2N_         0x0088 Condvar_id2name     "Lease Wait condvar"
+I2N_         0x0089 Condvar_id2name     "unused 89"
+I2N_         0x008A Condvar_id2name     "SdrServQueueCondvar"
+I2N_         0x008B Condvar_id2name     "SdrServStateCondvar"
+I2N_         0x008C Condvar_id2name     "AllocCursorSearchCondVar"
+I2N_         0x008D Condvar_id2name     "Balance CondVar"
+I2N_         0x008E Condvar_id2name     "Info Change CondVar"
+I2N_         0x008F Condvar_id2name     "AllocSummaryAccessCondVar"
+I2N_         0x0090 Condvar_id2name     "SGAllocSetCondVar"
+I2N_         0x0000 EventsExporter_id2n "appendExporterEvent"
+I2N_         0x0001 EventsExporter_id2n "addToList"
+I2N_         0x0002 EventsExporter_id2n "remFromList"
+I2N_         0x0003 EventsExporter_id2n "constructReadSelList"
+I2N_         0x0004 EventsExporter_id2n "handleClientRequest"
+I2N_         0x0005 EventsExporter_id2n "retrieveCachedBytes"
+I2N_         0x0006 EventsExporter_id2n "storeCachedBytes"
+I2N_         0x0007 EventsExporter_id2n "setIOError"
+I2N_         0x0008 EventsExporter_id2n "dump"
+I2N_         0x0009 EventsExporter_id2n "destructor"
+I2N_         0x000A EventsExporter_id2n "sendHandlerBody"
+I2N_         0x000B EventsExporter_id2n "mmpmonMsgHandler"
+I2N_         0x000C EventsExporter_id2n "mmpmonDump"
+I2N_         0x0000 LogRecType_id2name  "unused"
+I2N_         0x0001 LogRecType_id2name  "test"
+I2N_         0x0002 LogRecType_id2name  "test var"
+I2N_         0x0003 LogRecType_id2name  "alloc old"
+I2N_         0x0004 LogRecType_id2name  "dealloc old"
+I2N_         0x0005 LogRecType_id2name  "alloc seg done"
+I2N_         0x0006 LogRecType_id2name  "ialloc pre-SGV901"
+I2N_         0x0007 LogRecType_id2name  "idealloc"
+I2N_         0x0008 LogRecType_id2name  "ialloc region done"
+I2N_         0x0009 LogRecType_id2name  "old rep inode write"
+I2N_         0x000A LogRecType_id2name  "begin rep LL indblock write"
+I2N_         0x000B LogRecType_id2name  "old rep data write"
+I2N_         0x000C LogRecType_id2name  "update done"
+I2N_         0x000D LogRecType_id2name  "begin WW inode write"
+I2N_         0x000E LogRecType_id2name  "test compound begin"
+I2N_         0x000F LogRecType_id2name  "test compound continue"
+I2N_         0x0010 LogRecType_id2name  "test compound end"
+I2N_         0x0011 LogRecType_id2name  "dir entry insert inum32"
+I2N_         0x0012 LogRecType_id2name  "dir entry delete"
+I2N_         0x0013 LogRecType_id2name  "file create"
+I2N_         0x0014 LogRecType_id2name  "file nlink change"
+I2N_         0x0015 LogRecType_id2name  "dir create"
+I2N_         0x0016 LogRecType_id2name  "symlink create"
+I2N_         0x0017 LogRecType_id2name  "imark to-be-deleted"
+I2N_         0x0018 LogRecType_id2name  "mknod create"
+I2N_         0x0019 LogRecType_id2name  "begin rep inode write"
+I2N_         0x001A LogRecType_id2name  "begin rep data write"
+I2N_         0x001B LogRecType_id2name  "file destroy"
+I2N_         0x001C LogRecType_id2name  "finish inode alloc"
+I2N_         0x001D LogRecType_id2name  "extended attr update"
+I2N_         0x001E LogRecType_id2name  "indirect create"
+I2N_         0x001F LogRecType_id2name  "indirect ptr change 1"
+I2N_         0x0020 LogRecType_id2name  "file ptr change 1"
+I2N_         0x0021 LogRecType_id2name  "indirect ptr change 2"
+I2N_         0x0022 LogRecType_id2name  "file ptr change 2"
+I2N_         0x0023 LogRecType_id2name  "file size change"
+I2N_         0x0024 LogRecType_id2name  "file ind level change"
+I2N_         0x0025 LogRecType_id2name  "begin rep indblock write"
+I2N_         0x0026 LogRecType_id2name  "dealloc multiple"
+I2N_         0x0027 LogRecType_id2name  "snap indirect create"
+I2N_         0x0028 LogRecType_id2name  "snap indirect ptr change 1"
+I2N_         0x0029 LogRecType_id2name  "snap indirect ptr change 2"
+I2N_         0x002A LogRecType_id2name  "snap file nlink change"
+I2N_         0x002B LogRecType_id2name  "snap file size change"
+I2N_         0x002C LogRecType_id2name  "alloc new"
+I2N_         0x002D LogRecType_id2name  "dealloc new"
+I2N_         0x002E LogRecType_id2name  "dir entry insert inum64"
+I2N_         0x002F LogRecType_id2name  "dir init"
+I2N_         0x0030 LogRecType_id2name  "alloc online fsck"
+I2N_         0x0031 LogRecType_id2name  "snap indirect batch ptr change"
+I2N_         0x0032 LogRecType_id2name  "begin rep data write RR"
+I2N_         0x0033 LogRecType_id2name  "dir init RR"
+I2N_         0x0034 LogRecType_id2name  "dir entry insert inum32 RR"
+I2N_         0x0035 LogRecType_id2name  "dir entry insert inum64 RR"
+I2N_         0x0036 LogRecType_id2name  "dir entry delete RR"
+I2N_         0x0037 LogRecType_id2name  "extended attr update RR"
+I2N_         0x0038 LogRecType_id2name  "ialloc"
+I2N_         0x0000 LogStatus_id2name   "state_unknown"
+I2N_         0x0001 LogStatus_id2name   "available"
+I2N_         0x0002 LogStatus_id2name   "recovering"
+I2N_         0x0003 LogStatus_id2name   "in use"
+I2N_         0x0000 Mutex_id2name       "Unknown"
+I2N_         0x0001 Mutex_id2name       "Thread suspend/resume"
+I2N_         0x0002 Mutex_id2name       "Inode scan stat"
+I2N_         0x0003 Mutex_id2name       "TickTimeClassMutex"
+I2N_         0x0004 Mutex_id2name       "Cluster configuration mgr"
+I2N_         0x0005 Mutex_id2name       "Cluster configuration client"
+I2N_         0x0006 Mutex_id2name       "SG management mgr data"
+I2N_         0x0007 Mutex_id2name       "SG management client data"
+I2N_         0x0008 Mutex_id2name       "TCP Socket"
+I2N_         0x0009 Mutex_id2name       "OpenInstance"
+I2N_         0x000A Mutex_id2name       "Mutex list"
+I2N_         0x000B Mutex_id2name       "Updating quota manager"
+I2N_         0x000C Mutex_id2name       "MultiThreadWorkMutex"
+I2N_         0x000D Mutex_id2name       "TriggerMutex"
+I2N_         0x000E Mutex_id2name       "FS global"
+I2N_         0x000F Mutex_id2name       "Inode I/O buffer"
+I2N_         0x0010 Mutex_id2name       "LL indirect cache"
+I2N_         0x0011 Mutex_id2name       "LL append/trunc"
+I2N_         0x0012 Mutex_id2name       "LL migrate"
+I2N_         0x0013 Mutex_id2name       "LL range lock"
+I2N_         0x0014 Mutex_id2name       "Repair SG"
+I2N_         0x0015 Mutex_id2name       "SigChildNotify class mutex"
+I2N_         0x0016 Mutex_id2name       "Quota file pos"
+I2N_         0x0017 Mutex_id2name       "PXFileIOMutex"
+I2N_         0x0018 Mutex_id2name       "Quota entry"
+I2N_         0x0019 Mutex_id2name       "SGAllocMap alloc"
+I2N_         0x001A Mutex_id2name       "SGAllocMap stats"
+I2N_         0x001B Mutex_id2name       "File allocator"
+I2N_         0x001C Mutex_id2name       "Fileset CacheObj Mutex"
+I2N_         0x001D Mutex_id2name       "SGInodeMap"
+I2N_         0x001E Mutex_id2name       "MemoryPool"
+I2N_         0x001F Mutex_id2name       "RandomInteger"
+I2N_         0x0020 Mutex_id2name       "PerfmonTable update"
+I2N_         0x0021 Mutex_id2name       "MsgRecord"
+I2N_         0x0022 Mutex_id2name       "PendMsgTab"
+I2N_         0x0023 Mutex_id2name       "TcpConn"
+I2N_         0x0024 Mutex_id2name       "RcvPool"
+I2N_         0x0025 Mutex_id2name       "RcvWorker"
+I2N_         0x0026 Mutex_id2name       "TcpConnTab"
+I2N_         0x0027 Mutex_id2name       "Gethostbyname_r"
+I2N_         0x0028 Mutex_id2name       "Disk scheduling"
+I2N_         0x0029 Mutex_id2name       "unused 29"
+I2N_         0x002A Mutex_id2name       "SnapItemHashTab mutex"
+I2N_         0x002B Mutex_id2name       "BRL revoke"
+I2N_         0x002C Mutex_id2name       "Prefetch list"
+I2N_         0x002D Mutex_id2name       "Shared Hash Table"
+I2N_         0x002E Mutex_id2name       "Revoke Table"
+I2N_         0x002F Mutex_id2name       "InodeCacheObj"
+I2N_         0x0030 Mutex_id2name       "LogFile class"
+I2N_         0x0031 Mutex_id2name       "LogFile instance"
+I2N_         0x0032 Mutex_id2name       "UpdateLogger class"
+I2N_         0x0033 Mutex_id2name       "Fcntl retry mutex"
+I2N_         0x0034 Mutex_id2name       "I/O history"
+I2N_         0x0035 Mutex_id2name       "MBPerfmon Table Update"
+I2N_         0x0036 Mutex_id2name       "Page allocator"
+I2N_         0x0037 Mutex_id2name       "Send mutex"
+I2N_         0x0038 Mutex_id2name       "Change SG desc"
+I2N_         0x0039 Mutex_id2name       "Mount/unmount SG"
+I2N_         0x003A Mutex_id2name       "Open/close SG FS"
+I2N_         0x003B Mutex_id2name       "Open SG"
+I2N_         0x003C Mutex_id2name       "Inode Allocation Manager"
+I2N_         0x003D Mutex_id2name       "TS command conflict"
+I2N_         0x003E Mutex_id2name       "Disk open count"
+I2N_         0x003F Mutex_id2name       "Free mailbox"
+I2N_         0x0040 Mutex_id2name       "unused 40"
+I2N_         0x0041 Mutex_id2name       "Group services"
+I2N_         0x0042 Mutex_id2name       "unused 42"
+I2N_         0x0043 Mutex_id2name       "Online FSCK alloc map update"
+I2N_         0x0044 Mutex_id2name       "StripeGroupTable"
+I2N_         0x0045 Mutex_id2name       "AllocMsgQueue"
+I2N_         0x0046 Mutex_id2name       "unused 46"
+I2N_         0x0047 Mutex_id2name       "unused 47"
+I2N_         0x0048 Mutex_id2name       "Mailbox queue"
+I2N_         0x0049 Mutex_id2name       "Indirect update chain"
+I2N_         0x004A Mutex_id2name       "Online Manager Quotacheck"
+I2N_         0x004B Mutex_id2name       "Compute Share"
+I2N_         0x004C Mutex_id2name       "Alloc Manager Mutex"
+I2N_         0x004D Mutex_id2name       "FsckFilesetMutex"
+I2N_         0x004E Mutex_id2name       "unused 4E"
+I2N_         0x004F Mutex_id2name       "SGMountRPCPendingMutex"
+I2N_         0x0050 Mutex_id2name       "Getpwuid_getgrgid_Mutex"
+I2N_         0x0051 Mutex_id2name       "IndBlockDeallocLockMutex"
+I2N_         0x0052 Mutex_id2name       "InodePrefetchMutex"
+I2N_         0x0053 Mutex_id2name       "BufferDesc class mutex"
+I2N_         0x0054 Mutex_id2name       "Change quorum mutex"
+I2N_         0x0055 Mutex_id2name       "ACL garbage collection"
+I2N_         0x0056 Mutex_id2name       "Mount list mutex"
+I2N_         0x0057 Mutex_id2name       "ACL info mutex"
+I2N_         0x0058 Mutex_id2name       "aTokenServerListMutex"
+I2N_         0x0059 Mutex_id2name       "Resource dependency table mutex"
+I2N_         0x005A Mutex_id2name       "Test mutex"
+I2N_         0x005B Mutex_id2name       "Generate disk uid"
+I2N_         0x005C Mutex_id2name       "indBlockDesc class mutex"
+I2N_         0x005D Mutex_id2name       "aTokenClassMutex"
+I2N_         0x005E Mutex_id2name       "aClassTableLock"
+I2N_         0x005F Mutex_id2name       "aGlobalClassTableMutex"
+I2N_         0x0060 Mutex_id2name       "aTokenMutex"
+I2N_         0x0061 Mutex_id2name       "LogWrapWorker class mutex"
+I2N_         0x0062 Mutex_id2name       "SGAllocMap class mutex"
+I2N_         0x0063 Mutex_id2name       "Expand inode files"
+I2N_         0x0064 Mutex_id2name       "LogWrapWorker thread mutex"
+I2N_         0x0065 Mutex_id2name       "File System"
+I2N_         0x0066 Mutex_id2name       "Page Array mutex"
+I2N_         0x0067 Mutex_id2name       "Thread state mutex"
+I2N_         0x0068 Mutex_id2name       "ACL init mutex"
+I2N_         0x0069 Mutex_id2name       "SG Descriptor I/O mutex"
+I2N_         0x006A Mutex_id2name       "Fileset Metadata Header Mutex"
+I2N_         0x006B Mutex_id2name       "aGlobalRevokeQueueMutex"
+I2N_         0x006C Mutex_id2name       "unused 6C"
+I2N_         0x006D Mutex_id2name       "Atomic variable mutex"
+I2N_         0x006E Mutex_id2name       "UID Domain Mutex"
+I2N_         0x006F Mutex_id2name       "AllocCacheObj"
+I2N_         0x0070 Mutex_id2name       "Quota hash table mutex"
+I2N_         0x0071 Mutex_id2name       "Online Client Quotacheck"
+I2N_         0x0072 Mutex_id2name       "DM Session"
+I2N_         0x0073 Mutex_id2name       "Dirty list mutex"
+I2N_         0x0074 Mutex_id2name       "SGMGR Disp mutex"
+I2N_         0x0075 Mutex_id2name       "TcpReceiver"
+I2N_         0x0076 Mutex_id2name       "DMAPI Event Queue mutex"
+I2N_         0x0077 Mutex_id2name       "SRCstat mutex"
+I2N_         0x0078 Mutex_id2name       "Events Exporter class mutex"
+I2N_         0x0079 Mutex_id2name       "unused 79"
+I2N_         0x007A Mutex_id2name       "unused 7A"
+I2N_         0x007B Mutex_id2name       "DMAPI unique sequence number mutex"
+I2N_         0x007C Mutex_id2name       "Events Exporter linked list mutex"
+I2N_         0x007D Mutex_id2name       "transitioning to newVfsUser mutex"
+I2N_         0x007E Mutex_id2name       "ClusterConfigurationGPDMutex"
+I2N_         0x007F Mutex_id2name       "DMAPI session mgr mutex"
+I2N_         0x0080 Mutex_id2name       "Data Shipping buffer queue mutex"
+I2N_         0x0081 Mutex_id2name       "LLIndListMutex"
+I2N_         0x0082 Mutex_id2name       "reduceMemoryMutex"
+I2N_         0x0083 Mutex_id2name       "unused 83"
+I2N_         0x0084 Mutex_id2name       "unused 84"
+I2N_         0x0085 Mutex_id2name       "unused 85"
+I2N_         0x0086 Mutex_id2name       "EE WatchDog class mutex"
+I2N_         0x0087 Mutex_id2name       "Cfg Hung Thread instance mutex"
+I2N_         0x0088 Mutex_id2name       "IAllocCacheObj"
+I2N_         0x0089 Mutex_id2name       "BufDescCacheObj"
+I2N_         0x008A Mutex_id2name       "IndBlockCacheObj"
+I2N_         0x008B Mutex_id2name       "Fsck dup frag list mutex"
+I2N_         0x008C Mutex_id2name       "Fsck inode problem list mutex"
+I2N_         0x008D Mutex_id2name       "unused 8D"
+I2N_         0x008E Mutex_id2name       "SG inode map hint mutex"
+I2N_         0x008F Mutex_id2name       "Parallel work mutex"
+I2N_         0x0090 Mutex_id2name       "BRLock class mutex"
+I2N_         0x0091 Mutex_id2name       "TwoNode active state mutex"
+I2N_         0x0092 Mutex_id2name       "Varyonvg command mutex"
+I2N_         0x0093 Mutex_id2name       "NsdServerState class mutex"
+I2N_         0x0094 Mutex_id2name       "Fsck Class Pointer Mutex"
+I2N_         0x0095 Mutex_id2name       "unused 95"
+I2N_         0x0096 Mutex_id2name       "New-delete debug mutex"
+I2N_         0x0097 Mutex_id2name       "NSD client mutex"
+I2N_         0x0098 Mutex_id2name       "Refresh SDR"
+I2N_         0x0099 Mutex_id2name       "NSD config mutex"
+I2N_         0x009A Mutex_id2name       "Start disk lease mutex"
+I2N_         0x009B Mutex_id2name       "ClusterConfigurationBCHMutex"
+I2N_         0x009C Mutex_id2name       "NSD state mutex"
+I2N_         0x009D Mutex_id2name       "unused 9D"
+I2N_         0x009E Mutex_id2name       "unused 9E"
+I2N_         0x009F Mutex_id2name       "Subpool mutex"
+I2N_         0x00A0 Mutex_id2name       "LowLevelMetadata mutex"
+I2N_         0x00A1 Mutex_id2name       "unused A1"
+I2N_         0x00A2 Mutex_id2name       "SANergy MDC config mutex"
+I2N_         0x00A3 Mutex_id2name       "SANergy Metanode command mutex"
+I2N_         0x00A4 Mutex_id2name       "unused A4"
+I2N_         0x00A5 Mutex_id2name       "LLLockSyncMutex"
+I2N_         0x00A6 Mutex_id2name       "FileAllocPoolMutex"
+I2N_         0x00A7 Mutex_id2name       "InodeScanInstanceMutex"
+I2N_         0x00A8 Mutex_id2name       "Pointer array alloc mutex"
+I2N_         0x00A9 Mutex_id2name       "SANergy SG data mutex"
+I2N_         0x00AA Mutex_id2name       "PolicyClassMutex"
+I2N_         0x00AB Mutex_id2name       "unused AB"
+I2N_         0x00AC Mutex_id2name       "unused AC"
+I2N_         0x00AD Mutex_id2name       "SGAllocMap deallocMutex"
+I2N_         0x00AE Mutex_id2name       "SGAllocMap segmentMutex"
+I2N_         0x00AF Mutex_id2name       "fidu Class Mutex"
+I2N_         0x00B0 Mutex_id2name       "Pinger Mutex"
+I2N_         0x00B1 Mutex_id2name       "EioErr Disk Desc I/O mutex"
+I2N_         0x00B2 Mutex_id2name       "Group Leader mutex"
+I2N_         0x00B3 Mutex_id2name       "OpenSSL mutex"
+I2N_         0x00B4 Mutex_id2name       "Security library mutex"
+I2N_         0x00B5 Mutex_id2name       "Security configuration mutex"
+I2N_         0x00B6 Mutex_id2name       "Disk Paxos mutex"
+I2N_         0x00B7 Mutex_id2name       "Paxos Thread mutex"
+I2N_         0x00B8 Mutex_id2name       "TimeoutWatcherMutexvar"
+I2N_         0x00B9 Mutex_id2name       "FsckCache mutex"
+I2N_         0x00BA Mutex_id2name       "unused BA"
+I2N_         0x00BB Mutex_id2name       "DiscoveryMutex"
+I2N_         0x00BC Mutex_id2name       "SdrServQueueMutex"
+I2N_         0x00BD Mutex_id2name       "SdrServStateMutex"
+I2N_         0x00BE Mutex_id2name       "SigActionMutex"
+I2N_         0x00BF Mutex_id2name       "Balance Mutex"
+I2N_         0x00C0 Mutex_id2name       "Info change mutex"
+I2N_         0x00C1 Mutex_id2name       "SGAllocSetMutex"
+I2N_         0x00C2 Mutex_id2name       "SGAllocSetStatsMutex"
+I2N_         0x00C3 Mutex_id2name       "SGDescCacheMutex"
+I2N_         0x00C4 Mutex_id2name       "DmapiDirAttrMutex"
+I2N_         0x0000 NodeStatus_id2name  "unknown"
+I2N_         0x0001 NodeStatus_id2name  "down"
+I2N_         0x0002 NodeStatus_id2name  "up"
+I2N_         0x0003 NodeStatus_id2name  "failed"
+I2N_         0x0000 SGException_id2name "sgExceptionLocalPanic"
+I2N_         0x0001 SGException_id2name "sgExceptionForcedUnmount"
+I2N_         0x0002 SGException_id2name "sgExceptionRemoteFailure"
+I2N_         0x0003 SGException_id2name "sgExceptionQuiesceResign"
+I2N_         0x0004 SGException_id2name "sgExceptionQuiesceQuota"
+I2N_         0x0005 SGException_id2name "sgExceptionQuiesceMakelog"
+I2N_         0x0006 SGException_id2name "sgExceptionEndUse"
+I2N_         0x0007 SGException_id2name "sgExceptionLogAlmostFull"
+I2N_         0x0008 SGException_id2name "sgExceptionLogBufferFull"
+I2N_         0x0009 SGException_id2name "sgExceptionPhase2Recovery"
+I2N_         0x000A SGException_id2name "sgExceptionAdjustServeTM"
+I2N_         0x000B SGException_id2name "sgExceptionTakeover"
+I2N_         0x000C SGException_id2name "sgExceptionAsyncRecovery"
+I2N_         0x000D SGException_id2name "sgExceptionAllocRecovDriver"
+I2N_         0x000E SGException_id2name "sgExceptionAllocRecovWorker"
+I2N_         0x0000 SGStatus_id2name    "state_unknown"
+I2N_         0x0001 SGStatus_id2name    "needs_recovery"
+I2N_         0x0002 SGStatus_id2name    "recovering_phase1"
+I2N_         0x0003 SGStatus_id2name    "recovering_phase2"
+I2N_         0x0004 SGStatus_id2name    "recovering_phase3"
+I2N_         0x0005 SGStatus_id2name    "recovery_failed"
+I2N_         0x0006 SGStatus_id2name    "recovered"
+I2N_         0x0000 StdThread_id2name   "Unknown"
+I2N_         0x0001 StdThread_id2name   "Idle"
+I2N_         0x0002 StdThread_id2name   "Main"
+I2N_         0x0003 StdThread_id2name   "Loop"
+I2N_         0x0004 StdThread_id2name   "SharedHashTab lookup handler"
+I2N_         0x0005 StdThread_id2name   "Msg queue worker"
+I2N_         0x0006 StdThread_id2name   "Open handler"
+I2N_         0x0007 StdThread_id2name   "Close handler"
+I2N_         0x0008 StdThread_id2name   "Create handler"
+I2N_         0x0009 StdThread_id2name   "Link handler"
+I2N_         0x000A StdThread_id2name   "Mkdir handler"
+I2N_         0x000B StdThread_id2name   "Rmdir handler"
+I2N_         0x000C StdThread_id2name   "Rename handler"
+I2N_         0x000D StdThread_id2name   "Remove handler"
+I2N_         0x000E StdThread_id2name   "Fclear handler"
+I2N_         0x000F StdThread_id2name   "Fsync handler"
+I2N_         0x0010 StdThread_id2name   "Ftrunc handler"
+I2N_         0x0011 StdThread_id2name   "Cmd Socket Watcher"
+I2N_         0x0012 StdThread_id2name   "Symlink handler"
+I2N_         0x0013 StdThread_id2name   "Sync watchdog"
+I2N_         0x0014 StdThread_id2name   "Set buffering handler"
+I2N_         0x0015 StdThread_id2name   "InodePrefetchWorker"
+I2N_         0x0016 StdThread_id2name   "Unused inode prefetch"
+I2N_         0x0017 StdThread_id2name   "tsctl command"
+I2N_         0x0018 StdThread_id2name   "Set replication handler"
+I2N_         0x0019 StdThread_id2name   "TscCallbackThread"
+I2N_         0x001A StdThread_id2name   "ProbeClusterThread"
+I2N_         0x001B StdThread_id2name   "tslsmgr command"
+I2N_         0x001C StdThread_id2name   "Probe remote cluster"
+I2N_         0x001D StdThread_id2name   "Sync handler"
+I2N_         0x001E StdThread_id2name   "Fileset Revoke Worker"
+I2N_         0x001F StdThread_id2name   "Unmount handler"
+I2N_         0x0020 StdThread_id2name   "Byte range lock handler"
+I2N_         0x0021 StdThread_id2name   "Mount handler"
+I2N_         0x0022 StdThread_id2name   "SharedHashTab fetch handler"
+I2N_         0x0023 StdThread_id2name   "LogWrap Helper"
+I2N_         0x0024 StdThread_id2name   "pNFS File Handler"
+I2N_         0x0025 StdThread_id2name   "RecoveryTestThread"
+I2N_         0x0026 StdThread_id2name   "SG async recovery"
+I2N_         0x0027 StdThread_id2name   "SG mgr takeover"
+I2N_         0x0028 StdThread_id2name   "DS prefetch handler"
+I2N_         0x0029 StdThread_id2name   "Receive worker"
+I2N_         0x002A StdThread_id2name   "TcpConnTab listen"
+I2N_         0x002B StdThread_id2name   "tsperf command"
+I2N_         0x002C StdThread_id2name   "tsdsh command"
+I2N_         0x002D StdThread_id2name   "Test revoke worker"
+I2N_         0x002E StdThread_id2name   "Inode revoke worker"
+I2N_         0x002F StdThread_id2name   "Direct I/O handler"
+I2N_         0x0030 StdThread_id2name   "Alloc revoke worker"
+I2N_         0x0031 StdThread_id2name   "Inode alloc revoke worker"
+I2N_         0x0032 StdThread_id2name   "Mnode revoke worker"
+I2N_         0x0033 StdThread_id2name   "Background file deletion"
+I2N_         0x0034 StdThread_id2name   "Range revoke worker"
+I2N_         0x0035 StdThread_id2name   "Toss buffers handler"
+I2N_         0x0036 StdThread_id2name   "Disk lease thread"
+I2N_         0x0037 StdThread_id2name   "Log test"
+I2N_         0x0038 StdThread_id2name   "Daemon shutdown"
+I2N_         0x0039 StdThread_id2name   "Command msg handler"
+I2N_         0x003A StdThread_id2name   "Propagate sgDesc worker"
+I2N_         0x003B StdThread_id2name   "Open disk"
+I2N_         0x003C StdThread_id2name   "Dealloc helper"
+I2N_         0x003D StdThread_id2name   "Daemon startup"
+I2N_         0x003E StdThread_id2name   "MMFS group recovery"
+I2N_         0x003F StdThread_id2name   "Start ServerReady handler"
+I2N_         0x0040 StdThread_id2name   "tscrfs command"
+I2N_         0x0041 StdThread_id2name   "GroupProtocolDriverThread"
+I2N_         0x0042 StdThread_id2name   "BrokenConnectionHandlerThread"
+I2N_         0x0043 StdThread_id2name   "tsdelfs command"
+I2N_         0x0044 StdThread_id2name   "tslsfs command"
+I2N_         0x0045 StdThread_id2name   "tschfs command"
+I2N_         0x0046 StdThread_id2name   "tsadddisk command"
+I2N_         0x0047 StdThread_id2name   "tsdeldisk command"
+I2N_         0x0048 StdThread_id2name   "tsrpldisk command"
+I2N_         0x0049 StdThread_id2name   "tschdisk command"
+I2N_         0x004A StdThread_id2name   "tslsdisk command"
+I2N_         0x004B StdThread_id2name   "tsfsck command"
+I2N_         0x004C StdThread_id2name   "tsrestripefs command"
+I2N_         0x004D StdThread_id2name   "mmfsadm dump command"
+I2N_         0x004E StdThread_id2name   "tsdbfs command"
+I2N_         0x004F StdThread_id2name   "mount command"
+I2N_         0x0050 StdThread_id2name   "tsdf command"
+I2N_         0x0051 StdThread_id2name   "tsstatus command"
+I2N_         0x0052 StdThread_id2name   "tsquotaon command"
+I2N_         0x0053 StdThread_id2name   "tsquotaoff command"
+I2N_         0x0054 StdThread_id2name   "tslsquota command"
+I2N_         0x0055 StdThread_id2name   "tsrepquota command"
+I2N_         0x0056 StdThread_id2name   "tsedquota command"
+I2N_         0x0057 StdThread_id2name   "tscheckquota command"
+I2N_         0x0058 StdThread_id2name   "Null handler"
+I2N_         0x0059 StdThread_id2name   "Synch timeout"
+I2N_         0x005A StdThread_id2name   "Pool rebalancer"
+I2N_         0x005B StdThread_id2name   "BRT handler"
+I2N_         0x005C StdThread_id2name   "Connection handler"
+I2N_         0x005D StdThread_id2name   "tsctlfs command"
+I2N_         0x005E StdThread_id2name   "fcntl revoke worker"
+I2N_         0x005F StdThread_id2name   "TcpConnTab receive"
+I2N_         0x0060 StdThread_id2name   "Expand last block handler"
+I2N_         0x0061 StdThread_id2name   "Idle MB msg worker"
+I2N_         0x0062 StdThread_id2name   "InodeScanPrefetchWorker"
+I2N_         0x0063 StdThread_id2name   "Idle sync msg worker"
+I2N_         0x0064 StdThread_id2name   "Put ACL handler"
+I2N_         0x0065 StdThread_id2name   "fcntl remote retry send"
+I2N_         0x0066 StdThread_id2name   "chown handler"
+I2N_         0x0067 StdThread_id2name   "SG ACL garbage collector"
+I2N_         0x0068 StdThread_id2name   "update MTime"
+I2N_         0x0069 StdThread_id2name   "Two node quorum time out thread"
+I2N_         0x006A StdThread_id2name   "tschmgr command"
+I2N_         0x006B StdThread_id2name   "Kernel logGenIF handler"
+I2N_         0x006C StdThread_id2name   "Kernel logSpecIF handler"
+I2N_         0x006D StdThread_id2name   "FpreAlloc handler"
+I2N_         0x006E StdThread_id2name   "Expand inode files worker"
+I2N_         0x006F StdThread_id2name   "tschpool command"
+I2N_         0x0070 StdThread_id2name   "parallel tsrestripefs worker"
+I2N_         0x0071 StdThread_id2name   "Test thread"
+I2N_         0x0072 StdThread_id2name   "DS xfer handler"
+I2N_         0x0073 StdThread_id2name   "Create Mix handler"
+I2N_         0x0074 StdThread_id2name   "PFSCK parallel worker"
+I2N_         0x0075 StdThread_id2name   "DM create session handler"
+I2N_         0x0076 StdThread_id2name   "DM destroy session handler"
+I2N_         0x0077 StdThread_id2name   "DM set disp handler"
+I2N_         0x0078 StdThread_id2name   "DM set eventlist handler"
+I2N_         0x0079 StdThread_id2name   "TM monitor storage level"
+I2N_         0x007A StdThread_id2name   "Clean buffer"
+I2N_         0x007B StdThread_id2name   "SetXAttr handler"
+I2N_         0x007C StdThread_id2name   "DM get eventlist handler"
+I2N_         0x007D StdThread_id2name   "DM get all disp handler"
+I2N_         0x007E StdThread_id2name   "DM get all sessions handler"
+I2N_         0x007F StdThread_id2name   "DM check access right handler"
+I2N_         0x0080 StdThread_id2name   "DM Respond event handler"
+I2N_         0x0081 StdThread_id2name   "DM Get events handler"
+I2N_         0x0082 StdThread_id2name   "DM Find eventmsg handler"
+I2N_         0x0083 StdThread_id2name   "DM Create Userevent handler"
+I2N_         0x0084 StdThread_id2name   "DM Is Mounted SG handler"
+I2N_         0x0085 StdThread_id2name   "Events exporter listener"
+I2N_         0x0086 StdThread_id2name   "Events exporter sender"
+I2N_         0x0087 StdThread_id2name   "tsdefragfs command"
+I2N_         0x0088 StdThread_id2name   "DM Get All Tokens handler"
+I2N_         0x0089 StdThread_id2name   "DM Set DM attr handler"
+I2N_         0x008A StdThread_id2name   "DM Get DM attr handler"
+I2N_         0x008B StdThread_id2name   "Idle dmapi eventbox worker"
+I2N_         0x008C StdThread_id2name   "DM Sync data eventbox worker"
+I2N_         0x008D StdThread_id2name   "DM ASync data eventbox worker"
+I2N_         0x008E StdThread_id2name   "DM Sync namesp eventbox worker"
+I2N_         0x008F StdThread_id2name   "DM ASync namesp eventbox worker"
+I2N_         0x0090 StdThread_id2name   "DM Cancel eventbox worker"
+I2N_         0x0091 StdThread_id2name   "DM Mount eventbox worker"
+I2N_         0x0092 StdThread_id2name   "DM Sync user eventbox worker"
+I2N_         0x0093 StdThread_id2name   "DM ASync user eventbox worker"
+I2N_         0x0094 StdThread_id2name   "DM request right"
+I2N_         0x0095 StdThread_id2name   "DM release right"
+I2N_         0x0096 StdThread_id2name   "DM upgrade right"
+I2N_         0x0097 StdThread_id2name   "DM downgrade right"
+I2N_         0x0098 StdThread_id2name   "DM query right"
+I2N_         0x0099 StdThread_id2name   "DM Remove DM attr handler"
+I2N_         0x009A StdThread_id2name   "DM set region handler"
+I2N_         0x009B StdThread_id2name   "DM get region handler"
+I2N_         0x009C StdThread_id2name   "FailureNotifyThread"
+I2N_         0x009D StdThread_id2name   "DM get disps for mount handler"
+I2N_         0x009E StdThread_id2name   "DM setReturnOnDestroy handler"
+I2N_         0x009F StdThread_id2name   "DM get all dmattr handler"
+I2N_         0x00A0 StdThread_id2name   "TM Monitor Resources"
+I2N_         0x00A1 StdThread_id2name   "BRT handler release"
+I2N_         0x00A2 StdThread_id2name   "DM LkObj revoke worker"
+I2N_         0x00A3 StdThread_id2name   "DM get bulkattr handler"
+I2N_         0x00A4 StdThread_id2name   "DM get bulkall handler"
+I2N_         0x00A5 StdThread_id2name   "DM sync by handle handler"
+I2N_         0x00A6 StdThread_id2name   "Idle prefetch/writebehind worker"
+I2N_         0x00A7 StdThread_id2name   "Prefetch worker"
+I2N_         0x00A8 StdThread_id2name   "Writebehind worker"
+I2N_         0x00A9 StdThread_id2name   "DM get diratts handler"
+I2N_         0x00AA StdThread_id2name   "DM Timeout Watchdog"
+I2N_         0x00AB StdThread_id2name   "DS start handler"
+I2N_         0x00AC StdThread_id2name   "DS stop handler"
+I2N_         0x00AD StdThread_id2name   "DS abort handler"
+I2N_         0x00AE StdThread_id2name   "DM get allocinfo handler"
+I2N_         0x00AF StdThread_id2name   "DM get mountinfo handler"
+I2N_         0x00B0 StdThread_id2name   "IsFileMapped handler"
+I2N_         0x00B1 StdThread_id2name   "DM move event handler"
+I2N_         0x00B2 StdThread_id2name   "Tell Daemon To Die"
+I2N_         0x00B3 StdThread_id2name   "ReduceStorageUseHandlerThread"
+I2N_         0x00B4 StdThread_id2name   "dmGetSessLocAndInfoHandlerThread"
+I2N_         0x00B5 StdThread_id2name   "EE WatchDog Thread"
+I2N_         0x00B6 StdThread_id2name   "DM set fileattr handler"
+I2N_         0x00B7 StdThread_id2name   "SG Exception QuiesceMakelog"
+I2N_         0x00B8 StdThread_id2name   "SG Exception LocalPanic"
+I2N_         0x00B9 StdThread_id2name   "SG Exception ForcedUnmount"
+I2N_         0x00BA StdThread_id2name   "SG Exception RemoteFailure"
+I2N_         0x00BB StdThread_id2name   "SG Exception QuiesceResign"
+I2N_         0x00BC StdThread_id2name   "SG Exception QuiesceQuota"
+I2N_         0x00BD StdThread_id2name   "SG Exception EndUse"
+I2N_         0x00BE StdThread_id2name   "SG Exception LogAlmostFull"
+I2N_         0x00BF StdThread_id2name   "SG Exception LogBufferFull"
+I2N_         0x00C0 StdThread_id2name   "NSDThread"
+I2N_         0x00C1 StdThread_id2name   "tscrsnapshot command"
+I2N_         0x00C2 StdThread_id2name   "tsdelsnapshot command"
+I2N_         0x00C3 StdThread_id2name   "tsressnapshot command"
+I2N_         0x00C4 StdThread_id2name   "SMBOpen LkObj revoke worker"
+I2N_         0x00C5 StdThread_id2name   "SMBOpLk LkObj revoke worker"
+I2N_         0x00C6 StdThread_id2name   "Snapshot CopyOnWrite handler"
+I2N_         0x00C7 StdThread_id2name   "UID Remapping worker"
+I2N_         0x00C8 StdThread_id2name   "PerDiskInfo Thread"
+I2N_         0x00C9 StdThread_id2name   "tssnapshot command"
+I2N_         0x00CA StdThread_id2name   "SharedHashTab release handler"
+I2N_         0x00CB StdThread_id2name   "SharedHashTab acq token handler"
+I2N_         0x00CC StdThread_id2name   "File block read fetch handler"
+I2N_         0x00CD StdThread_id2name   "File block write fetch handler"
+I2N_         0x00CE StdThread_id2name   "Dir block read fetch handler"
+I2N_         0x00CF StdThread_id2name   "Symlink read fetch handler"
+I2N_         0x00D0 StdThread_id2name   "ACL block fetch handler"
+I2N_         0x00D1 StdThread_id2name   "Xattr block fetch handler"
+I2N_         0x00D2 StdThread_id2name   "tsdefquotaon command"
+I2N_         0x00D3 StdThread_id2name   "tsdefquotaoff command"
+I2N_         0x00D4 StdThread_id2name   "Clean file"
+I2N_         0x00D5 StdThread_id2name   "tsdefedquota command"
+I2N_         0x00D6 StdThread_id2name   "Daemon UMALLOC handler"
+I2N_         0x00D7 StdThread_id2name   "GetInodeBlockThread"
+I2N_         0x00D8 StdThread_id2name   "FreeInodeBlockThread"
+I2N_         0x00D9 StdThread_id2name   "InodeDeleteThread"
+I2N_         0x00DA StdThread_id2name   "PingerThread"
+I2N_         0x00DB StdThread_id2name   "Sanergy GetCookies Thread"
+I2N_         0x00DC StdThread_id2name   "Sanergy GetLockedMap Thread"
+I2N_         0x00DD StdThread_id2name   "Sanergy GetMaxLeases Thread"
+I2N_         0x00DE StdThread_id2name   "Sanergy GetVersion Thread"
+I2N_         0x00DF StdThread_id2name   "Sanergy GetVolByCookie Thread"
+I2N_         0x00E0 StdThread_id2name   "Sanergy GetVolCookie Thread"
+I2N_         0x00E1 StdThread_id2name   "Sanergy Init Thread"
+I2N_         0x00E2 StdThread_id2name   "Sanergy SetFileSize Thread"
+I2N_         0x00E3 StdThread_id2name   "Sanergy UnlockMap Thread"
+I2N_         0x00E4 StdThread_id2name   "HandleQuorumLoss thread"
+I2N_         0x00E5 StdThread_id2name   "CSKey Change Thread"
+I2N_         0x00E6 StdThread_id2name   "File block random read fetch handler"
+I2N_         0x00E7 StdThread_id2name   "File block random write fetch handler"
+I2N_         0x00E8 StdThread_id2name   "SANergy instance lists cleanup thread"
+I2N_         0x00E9 StdThread_id2name   "Timeout watcher thread"
+I2N_         0x00EA StdThread_id2name   "SANergy tssanrepairfs command"
+I2N_         0x00EB StdThread_id2name   "Retrieve DiskAddr Thread"
+I2N_         0x00EC StdThread_id2name   "Buffer pool adjustment thread"
+I2N_         0x00ED StdThread_id2name   "MMFS group recovery phase 3"
+I2N_         0x00EE StdThread_id2name   "FileID command"
+I2N_         0x00EF StdThread_id2name   "Alloc Flush Helper Thread"
+I2N_         0x00F0 StdThread_id2name   "Alloc Reduce Helper Thread"
+I2N_         0x00F1 StdThread_id2name   "Auth Thread"
+I2N_         0x00F2 StdThread_id2name   "Paxos Challenge Thread"
+I2N_         0x00F3 StdThread_id2name   "Nsd Access Info Thread"
+I2N_         0x00F4 StdThread_id2name   "local disk discovery thread"
+I2N_         0x00F5 StdThread_id2name   "NSD local path discovery thread"
+I2N_         0x00F6 StdThread_id2name   "Write sgDesc worker"
+I2N_         0x00F7 StdThread_id2name   "Log open worker"
+I2N_         0x00F8 StdThread_id2name   "Write disk desc worker"
+I2N_         0x00F9 StdThread_id2name   "Ialloc mgr init worker"
+I2N_         0x00FA StdThread_id2name   "Alloc summary file worker"
+I2N_         0x00FB StdThread_id2name   "Alloc map format worker"
+I2N_         0x00FC StdThread_id2name   "Alloc map rewrite worker"
+I2N_         0x00FD StdThread_id2name   "Alloc region recovery worker"
+I2N_         0x00FE StdThread_id2name   "Ialloc map format worker"
+I2N_         0x00FF StdThread_id2name   "Inode file format worker"
+I2N_         0x0100 StdThread_id2name   "Inode expand worker"
+I2N_         0x0101 StdThread_id2name   "Disk invalidate worker"
+I2N_         0x0102 StdThread_id2name   "Disk descriptor worker"
+I2N_         0x0103 StdThread_id2name   "Delete snapshot worker"
+I2N_         0x0104 StdThread_id2name   "Restore snapshot worker"
+I2N_         0x0105 StdThread_id2name   "List snapshot worker"
+I2N_         0x0106 StdThread_id2name   "Check inode worker"
+I2N_         0x0107 StdThread_id2name   "Make disk worker"
+I2N_         0x0108 StdThread_id2name   "SDR server worker"
+I2N_         0x0109 StdThread_id2name   "tspolicy command"
+I2N_         0x010A StdThread_id2name   "tscrfileset command"
+I2N_         0x010B StdThread_id2name   "tsdelfileset command"
+I2N_         0x010C StdThread_id2name   "tslinkfileset command"
+I2N_         0x010D StdThread_id2name   "tsunlinkfileset command"
+I2N_         0x010E StdThread_id2name   "tslsfileset command"
+I2N_         0x010F StdThread_id2name   "tmServerSideRevokeThread"
+I2N_         0x0110 StdThread_id2name   "Relinquish Attr ByteRange handler"
+I2N_         0x0111 StdThread_id2name   "SGExceptionAdjustTMThread"
+I2N_         0x0112 StdThread_id2name   "Find Fileset Worker Thread"
+I2N_         0x0113 StdThread_id2name   "tschfileset command"
+I2N_         0x0114 StdThread_id2name   "tsunmount command"
+I2N_         0x0115 StdThread_id2name   "Quotactl Thread"
+I2N_         0x0116 StdThread_id2name   "Healthcheck Watchdog"
+I2N_         0x0117 StdThread_id2name   "AllocRecoveryDriverThread"
+I2N_         0x0118 StdThread_id2name   "AllocRecoveryWorkerThread"
+I2N_         0x0119 StdThread_id2name   "DM PrefetchAttrsWorkerThread"
+I2N_         0x011A StdThread_id2name   "tsremount command"
+I2N_         0x0000 accessPattern_id2na "random"
+I2N_         0x0001 accessPattern_id2na "seq"
+I2N_         0x0002 accessPattern_id2na "strided"
+I2N_         0x0003 accessPattern_id2na "fuzzySeq"
+I2N_         0x0004 accessPattern_id2na "userDefined"
+I2N_         0x0005 accessPattern_id2na "dsAgent"
+I2N_         0x0000 brmode_id2name      "nl"
+I2N_         0x0001 brmode_id2name      "ro"
+I2N_         0x0002 brmode_id2name      "xw"
+I2N_         0x0003 brmode_id2name      "sx"
+I2N_         0x0000 cluster_type_id2nam "SINGLE"
+I2N_         0x0001 cluster_type_id2nam "SP"
+I2N_         0x0002 cluster_type_id2nam "HACMP"
+I2N_         0x0003 cluster_type_id2nam "LC"
+I2N_         0x0004 cluster_type_id2nam "RPD"
+I2N_         0x0000 diskop_id2name      "read"
+I2N_         0x0001 diskop_id2name      "write"
+I2N_         0x0000 dsMode_id2name      "notDS"
+I2N_         0x0001 dsMode_id2name      "enterP1DS"
+I2N_         0x0002 dsMode_id2name      "enterP2DS"
+I2N_         0x0003 dsMode_id2name      "inDS"
+I2N_         0x0004 dsMode_id2name      "exitingDS"
+I2N_         0x0000 gpdStatus_id2name   "gpdNoQuorum"
+I2N_         0x0001 gpdStatus_id2name   "gpdIdle"
+I2N_         0x0002 gpdStatus_id2name   "gpdNull"
+I2N_         0x0003 gpdStatus_id2name   "gpdJoin"
+I2N_         0x0004 gpdStatus_id2name   "gpdLeave"
+I2N_         0x0000 gpnStatus_id2name   "none"
+I2N_         0x0001 gpnStatus_id2name   "Joining"
+I2N_         0x0002 gpnStatus_id2name   "Joined"
+I2N_         0x0003 gpnStatus_id2name   "Leaving"
+I2N_         0x0000 gpnTrans_id2name    "none"
+I2N_         0x0001 gpnTrans_id2name    "JoinWait"
+I2N_         0x0002 gpnTrans_id2name    "LeaveWait"
+I2N_         0x0003 gpnTrans_id2name    "Leave+Join"
+I2N_         0x0000 ineligibilityReason "none"
+I2N_         0x0001 ineligibilityReason "logicalEOF"
+I2N_         0x0002 ineligibilityReason "fileEOF"
+I2N_         0x0003 ineligibilityReason "largeWrite"
+I2N_         0x0004 ineligibilityReason "hole"
+I2N_         0x0005 ineligibilityReason "noPreSpecs"
+I2N_         0x0006 ineligibilityReason "predictShortSeq"
+I2N_         0x0000 inodestatus_id2name "DELETED"
+I2N_         0x0001 inodestatus_id2name "USERFILE"
+I2N_         0x0003 inodestatus_id2name "RESERVED"
+I2N_         0x0005 inodestatus_id2name "LOGFILE"
+I2N_         0x0006 inodestatus_id2name "DITTO"
+I2N_         0x0007 inodestatus_id2name "INVALID"
+I2N_         0x0000 llcStatus_id2name   "init"
+I2N_         0x0001 llcStatus_id2name   "connecting"
+I2N_         0x0002 llcStatus_id2name   "connected"
+I2N_         0x0003 llcStatus_id2name   "broken"
+I2N_         0x0000 lockmode_id2name    "nl"
+I2N_         0x0004 lockmode_id2name    "ro"
+I2N_         0x0006 lockmode_id2name    "rf"
+I2N_         0x0007 lockmode_id2name    "rs"
+I2N_         0x000C lockmode_id2name    "wo"
+I2N_         0x000E lockmode_id2name    "rf+wo"
+I2N_         0x000F lockmode_id2name    "rs+wo"
+I2N_         0x0016 lockmode_id2name    "ww"
+I2N_         0x0017 lockmode_id2name    "rs+ww"
+I2N_         0x001C lockmode_id2name    "wf"
+I2N_         0x001E lockmode_id2name    "wa"
+I2N_         0x001F lockmode_id2name    "rs+wa"
+I2N_         0x003F lockmode_id2name    "xw"
+I2N_         0x0040 lockmode_id2name    "(A:    D:   )"
+I2N_         0x0041 lockmode_id2name    "(A:    D:  A)"
+I2N_         0x0042 lockmode_id2name    "(A:    D: M )"
+I2N_         0x0043 lockmode_id2name    "(A:    D: MA)"
+I2N_         0x0044 lockmode_id2name    "(A:    D:R  )"
+I2N_         0x0045 lockmode_id2name    "(A:    D:R A)"
+I2N_         0x0046 lockmode_id2name    "(A:    D:RM )"
+I2N_         0x0047 lockmode_id2name    "(A:    D:RMA)"
+I2N_         0x0048 lockmode_id2name    "(A:  A D:   )"
+I2N_         0x0049 lockmode_id2name    "(A:  A D:  A)"
+I2N_         0x004A lockmode_id2name    "(A:  A D: M )"
+I2N_         0x004B lockmode_id2name    "(A:  A D: MA)"
+I2N_         0x004C lockmode_id2name    "(A:  A D:R  )"
+I2N_         0x004D lockmode_id2name    "(A:  A D:R A)"
+I2N_         0x004E lockmode_id2name    "(A:  A D:RM )"
+I2N_         0x004F lockmode_id2name    "(A:  A D:RMA)"
+I2N_         0x0050 lockmode_id2name    "(A: M  D:   )"
+I2N_         0x0051 lockmode_id2name    "(A: M  D:  A)"
+I2N_         0x0052 lockmode_id2name    "(A: M  D: M )"
+I2N_         0x0053 lockmode_id2name    "(A: M  D: MA)"
+I2N_         0x0054 lockmode_id2name    "(A: M  D:R  )"
+I2N_         0x0055 lockmode_id2name    "(A: M  D:R A)"
+I2N_         0x0056 lockmode_id2name    "(A: M  D:RM )"
+I2N_         0x0057 lockmode_id2name    "(A: M  D:RMA)"
+I2N_         0x0058 lockmode_id2name    "(A: MA D:   )"
+I2N_         0x0059 lockmode_id2name    "(A: MA D:  A)"
+I2N_         0x005A lockmode_id2name    "(A: MA D: M )"
+I2N_         0x005B lockmode_id2name    "(A: MA D: MA)"
+I2N_         0x005C lockmode_id2name    "(A: MA D:R  )"
+I2N_         0x005D lockmode_id2name    "(A: MA D:R A)"
+I2N_         0x005E lockmode_id2name    "(A: MA D:RM )"
+I2N_         0x005F lockmode_id2name    "(A: MA D:RMA)"
+I2N_         0x0060 lockmode_id2name    "(A:R   D:   )"
+I2N_         0x0061 lockmode_id2name    "(A:R   D:  A)"
+I2N_         0x0062 lockmode_id2name    "(A:R   D: M )"
+I2N_         0x0063 lockmode_id2name    "(A:R   D: MA)"
+I2N_         0x0064 lockmode_id2name    "(A:R   D:R  )"
+I2N_         0x0065 lockmode_id2name    "(A:R   D:R A)"
+I2N_         0x0066 lockmode_id2name    "(A:R   D:RM )"
+I2N_         0x0067 lockmode_id2name    "(A:R   D:RMA)"
+I2N_         0x0068 lockmode_id2name    "(A:R A D:   )"
+I2N_         0x0069 lockmode_id2name    "(A:R A D:  A)"
+I2N_         0x006A lockmode_id2name    "(A:R A D: M )"
+I2N_         0x006B lockmode_id2name    "(A:R A D: MA)"
+I2N_         0x006C lockmode_id2name    "(A:R A D:R  )"
+I2N_         0x006D lockmode_id2name    "(A:R A D:R A)"
+I2N_         0x006E lockmode_id2name    "(A:R A D:RM )"
+I2N_         0x006F lockmode_id2name    "(A:RM  D:RMA)"
+I2N_         0x0070 lockmode_id2name    "(A:RM  D:   )"
+I2N_         0x0071 lockmode_id2name    "(A:RM  D:  A)"
+I2N_         0x0072 lockmode_id2name    "(A:RM  D: M )"
+I2N_         0x0073 lockmode_id2name    "(A:RM  D: MA)"
+I2N_         0x0074 lockmode_id2name    "(A:RM  D:R  )"
+I2N_         0x0075 lockmode_id2name    "(A:RM  D:R A)"
+I2N_         0x0076 lockmode_id2name    "(A:RM  D:RM )"
+I2N_         0x0077 lockmode_id2name    "(A:RM  D:RMA)"
+I2N_         0x0078 lockmode_id2name    "(A:RMA D:   )"
+I2N_         0x0079 lockmode_id2name    "(A:RMA D:  A)"
+I2N_         0x007A lockmode_id2name    "(A:RMA D: M )"
+I2N_         0x007B lockmode_id2name    "(A:RMA D: MA)"
+I2N_         0x007C lockmode_id2name    "(A:RMA D:R  )"
+I2N_         0x007D lockmode_id2name    "(A:RMA D:R A)"
+I2N_         0x007E lockmode_id2name    "(A:RMA D:RM )"
+I2N_         0x007F lockmode_id2name    "(A:RMA D:RMA)"
+I2N_         0x013F lockmode_id2name    "lx"
+I2N_         0x0001 mnodestatus_id2name "not mnode"
+I2N_         0x0002 mnodestatus_id2name "becoming mnode"
+I2N_         0x0004 mnodestatus_id2name "active mnode"
+I2N_         0x0000 objclass_id2name    "None"
+I2N_         0x0001 objclass_id2name    "Test"
+I2N_         0x0002 objclass_id2name    "File"
+I2N_         0x0003 objclass_id2name    "Data"
+I2N_         0x0004 objclass_id2name    "Alloc"
+I2N_         0x0005 objclass_id2name    "InodeAlloc"
+I2N_         0x0006 objclass_id2name    "IndBlock"
+I2N_         0x0007 objclass_id2name    "AllocReg"
+I2N_         0x0008 objclass_id2name    "Fileset"
+I2N_         0x0000 objstatus_id2name   "valid"
+I2N_         0x0001 objstatus_id2name   "invalid"
+I2N_         0x0002 objstatus_id2name   "uninitialized"
+I2N_         0x0000 objtype_id2name     "None"
+I2N_         0x0001 objtype_id2name     "Test"
+I2N_         0x0002 objtype_id2name     "Inode"
+I2N_         0x0003 objtype_id2name     "Mnode"
+I2N_         0x0004 objtype_id2name     "DMAPI"
+I2N_         0x0005 objtype_id2name     "SMBOpen"
+I2N_         0x0006 objtype_id2name     "SMBOpLk"
+I2N_         0x0007 objtype_id2name     "BR"
+I2N_         0x0008 objtype_id2name     "Fcntl"
+I2N_         0x0009 objtype_id2name     "Data"
+I2N_         0x000A objtype_id2name     "Alloc"
+I2N_         0x000B objtype_id2name     "InodeAlloc"
+I2N_         0x000C objtype_id2name     "IndBlock"
+I2N_         0x000D objtype_id2name     "Fileset"
+I2N_         0x0000 prefetchStrategy_id "none"
+I2N_         0x0001 prefetchStrategy_id "blockUp"
+I2N_         0x0002 prefetchStrategy_id "blockDown"
+I2N_         0x0003 prefetchStrategy_id "exact"
+I2N_         0x0004 prefetchStrategy_id "userDefined"
+I2N_         0x0001 reason_id2name      "ceded processor"
+I2N_         0x0002 reason_id2name      "suspended self"
+I2N_         0x0003 reason_id2name      "delayed"
+I2N_         0x0000 retObjType_id2name  "RETURNABLE_OBJECT"
+I2N_         0x0001 retObjType_id2name  "COPYSET_OBJECT"
+I2N_         0x0002 retObjType_id2name  "RETURNABLE_RANGE"
+I2N_         0x0004 retObjType_id2name  "RETURNABLE_MULTIACQUIRE"
+I2N_         0x0006 retObjType_id2name  "RETURNABLE_SEQ"
+I2N_         0x0007 retObjType_id2name  "COPYSET_REVOKE_OBJECT"
+I2N_         0x0008 retObjType_id2name  "RETURNABLE_RANGE_REVOKE"
+I2N_         0x0009 retObjType_id2name  "COPYSET_RANGE_OBJECT"
+I2N_         0x0000 smbCommand_id2name  ""
+I2N_         0x0001 smbCommand_id2name  "Acquire"
+I2N_         0x0002 smbCommand_id2name  "Release"
+I2N_         0x0004 smbCommand_id2name  "Disengage"
+I2N_         0x0008 smbCommand_id2name  "Modify"
+I2N_         0x0040 smbCommand_id2name  "Return"
+I2N_         0x0000 state_id2name       "STABLE"
+I2N_         0x0001 state_id2name       "ACQUIRING"
+I2N_         0x0002 state_id2name       "RELINQUISHING"
+I2N_         0x0003 state_id2name       "COPYSET"
+I2N_         0x0004 state_id2name       "NO_CHANGE"
+I2N_         0x0000 tokentype_id2name   "None"
+I2N_         0x0001 tokentype_id2name   "Test"
+I2N_         0x0002 tokentype_id2name   "Inode"
+I2N_         0x0003 tokentype_id2name   "Mnode"
+I2N_         0x0004 tokentype_id2name   "DMAPI"
+I2N_         0x0005 tokentype_id2name   "SMBOpen"
+I2N_         0x0006 tokentype_id2name   "SMBOpLk"
+I2N_         0x0007 tokentype_id2name   "BR"
+I2N_         0x0008 tokentype_id2name   "Fcntl"
+I2N_         0x0009 tokentype_id2name   "Data"
+I2N_         0x000A tokentype_id2name   "Alloc"
+I2N_         0x000B tokentype_id2name   "InodeAlloc"
+I2N_         0x000C tokentype_id2name   "IndBlock"
+I2N_         0x000D tokentype_id2name   "Fileset"
+I2N_         0x0000 tscMsg_id2name      "TESTSVC_ECHO"
+I2N_         0x0001 tscMsg_id2name      "ccMsgPing"
+I2N_         0x0002 tscMsg_id2name      "sgmMsgSGTestOp"
+I2N_         0x0003 tscMsg_id2name      "PFSCK_START"
+I2N_         0x0004 tscMsg_id2name      "dsMsgReadData"
+I2N_         0x0005 tscMsg_id2name      "llMsgIndBlockUpdate"
+I2N_         0x0006 tscMsg_id2name      "FSCKMsgQueryMem"
+I2N_         0x0007 tscMsg_id2name      "mnMsgGetInode"
+I2N_         0x0008 tscMsg_id2name      "almMsgRelayDealloc"
+I2N_         0x0009 tscMsg_id2name      "PIT_Start"
+I2N_         0x000A tscMsg_id2name      "RecLockPing"
+I2N_         0x000B tscMsg_id2name      "aclMsgStore"
+I2N_         0x000C tscMsg_id2name      "quotaMsgRequestShare"
+I2N_         0x000D tscMsg_id2name      "tmMsgTellServer"
+I2N_         0x000E tscMsg_id2name      "ccMsgDmCreateSession"
+I2N_         0x000F tscMsg_id2name      "fileMsgCheckMapping"
+I2N_         0x0010 tscMsg_id2name      "nsdMsgRead"
+I2N_         0x0011 tscMsg_id2name      "sanMsgQueryLockedMap"
+I2N_         0x0012 tscMsg_id2name      "GroupLeaderStartMsg"
+I2N_         0x0013 tscMsg_id2name      "mmpmonMsgRequest"
+I2N_         0x0100 tscMsg_id2name      "TESTSVC_TOUPPER"
+I2N_         0x0101 tscMsg_id2name      "ccMsgQuerySGMgr"
+I2N_         0x0102 tscMsg_id2name      "sgmMsgSGMount"
+I2N_         0x0103 tscMsg_id2name      "PFSCK_GETSTEP"
+I2N_         0x0104 tscMsg_id2name      "dsMsgWriteData"
+I2N_         0x0105 tscMsg_id2name      "llMsgInodeStatUpdate"
+I2N_         0x0106 tscMsg_id2name      "FSCKMsgAllocBitmap"
+I2N_         0x0107 tscMsg_id2name      "mnMsgPutInode"
+I2N_         0x0108 tscMsg_id2name      "almMsgRelayAlloc"
+I2N_         0x0109 tscMsg_id2name      "PIT_GetInodes"
+I2N_         0x010A tscMsg_id2name      "RecLockFlock"
+I2N_         0x010B tscMsg_id2name      "aclMsgReferenced"
+I2N_         0x010C tscMsg_id2name      "quotaMsgUpdateUsage"
+I2N_         0x010D tscMsg_id2name      "tmMsgRevoke"
+I2N_         0x010E tscMsg_id2name      "ccMsgDmDestroySession"
+I2N_         0x010F tscMsg_id2name      "fileMsgSyncFile"
+I2N_         0x0110 tscMsg_id2name      "nsdMsgWrite"
+I2N_         0x0111 tscMsg_id2name      "sanMsgUnlockMap"
+I2N_         0x0112 tscMsg_id2name      "GroupLeaderAcceptMsg"
+I2N_         0x0200 tscMsg_id2name      "TESTSVC_TOLOWER"
+I2N_         0x0201 tscMsg_id2name      "ccMsgResignSGMgr"
+I2N_         0x0202 tscMsg_id2name      "sgmMsgSGUmount"
+I2N_         0x0203 tscMsg_id2name      "PFSCK_WORKINFO"
+I2N_         0x0204 tscMsg_id2name      "dsMsgStartHint"
+I2N_         0x0205 tscMsg_id2name      "llMsgFailureUpdate"
+I2N_         0x0206 tscMsg_id2name      "FSCKMsgStartMsg"
+I2N_         0x0207 tscMsg_id2name      "mnMsgGetIndBlock"
+I2N_         0x0208 tscMsg_id2name      "almMsgDeallocFuncship"
+I2N_         0x0209 tscMsg_id2name      "PIT_ReportIOError"
+I2N_         0x020A tscMsg_id2name      "RecLockRetry"
+I2N_         0x020B tscMsg_id2name      "aclMsgAllUnref"
+I2N_         0x020C tscMsg_id2name      "quotaMsgRelinquish"
+I2N_         0x020D tscMsg_id2name      "tmMsgQueryServer"
+I2N_         0x020E tscMsg_id2name      "ccMsgDmSetDisp"
+I2N_         0x020F tscMsg_id2name      "fileMsgPnfsFile"
+I2N_         0x0210 tscMsg_id2name      "nsdMsgGetInfo"
+I2N_         0x0211 tscMsg_id2name      "sanMsgFlushFile"
+I2N_         0x0212 tscMsg_id2name      "GroupLeaderJoinMsg"
+I2N_         0x0300 tscMsg_id2name      "TESTSVC_BAD"
+I2N_         0x0301 tscMsg_id2name      "ccMsgTakeoverQuery"
+I2N_         0x0302 tscMsg_id2name      "sgmMsgSGGetSpareLogFile"
+I2N_         0x0303 tscMsg_id2name      "PFSCK_STOP"
+I2N_         0x0304 tscMsg_id2name      "dsMsgStopHint"
+I2N_         0x0305 tscMsg_id2name      "llMsgLockRangeOrSet"
+I2N_         0x0306 tscMsg_id2name      "FSCKMsgEndMsg"
+I2N_         0x0307 tscMsg_id2name      "mnMsgUpdateDataBlockDiskAddrs"
+I2N_         0x0308 tscMsg_id2name      "almMsgTypeOldRequestRegion"
+I2N_         0x0309 tscMsg_id2name      "PIT_Stop"
+I2N_         0x030B tscMsg_id2name      "aclMsgDelete"
+I2N_         0x030C tscMsg_id2name      "quotaMsgPrefetchShare"
+I2N_         0x030D tscMsg_id2name      "tmMsgCleanup"
+I2N_         0x030E tscMsg_id2name      "ccMsgDmSetMountDisp"
+I2N_         0x0310 tscMsg_id2name      "nsdMsgIOVerify"
+I2N_         0x0311 tscMsg_id2name      "sgmMsgReqSGSanExport"
+I2N_         0x0312 tscMsg_id2name      "GroupLeaderPaxosRead"
+I2N_         0x0400 tscMsg_id2name      "TESTSVC_DATA"
+I2N_         0x0401 tscMsg_id2name      "ccMsgNoMgr"
+I2N_         0x0402 tscMsg_id2name      "sgmMsgSGReleaseSpareLogFile"
+I2N_         0x0404 tscMsg_id2name      "dsMsgVoteHint"
+I2N_         0x0405 tscMsg_id2name      "llMsgQueryLlLock"
+I2N_         0x0406 tscMsg_id2name      "FSCKMsgTerminate"
+I2N_         0x0407 tscMsg_id2name      "mnMsgFileSync"
+I2N_         0x0408 tscMsg_id2name      "almMsgTypeOldQueryRegion"
+I2N_         0x040B tscMsg_id2name      "aclMsgFailureUpdate"
+I2N_         0x040C tscMsg_id2name      "quotaMsgQueryMgr"
+I2N_         0x040D tscMsg_id2name      "tmMsgMultiTellServer"
+I2N_         0x040E tscMsg_id2name      "sgmMsgDmSetDisp"
+I2N_         0x0410 tscMsg_id2name      "nsdMsgStartServer"
+I2N_         0x0411 tscMsg_id2name      "sgmMsgIsSGSanActive"
+I2N_         0x0412 tscMsg_id2name      "GroupLeaderPaxosWrite"
+I2N_         0x0500 tscMsg_id2name      "TESTSVC_PERF"
+I2N_         0x0501 tscMsg_id2name      "ccMsgGetAllSGNames"
+I2N_         0x0502 tscMsg_id2name      "sgmMsgSGChangeLogGroup"
+I2N_         0x0504 tscMsg_id2name      "dsMsgBegin"
+I2N_         0x0505 tscMsg_id2name      "llMsgCopyInodeBlock"
+I2N_         0x0506 tscMsg_id2name      "FSCKMsgDoneInode"
+I2N_         0x0507 tscMsg_id2name      "mnMsgPushDiskAddrs"
+I2N_         0x0508 tscMsg_id2name      "almMsgTypeOldUpdateRegion"
+I2N_         0x050B tscMsg_id2name      "aclMsgBcast"
+I2N_         0x050C tscMsg_id2name      "quotaMsgEndClient"
+I2N_         0x050D tscMsg_id2name      "tmMsgChangeCacheSize"
+I2N_         0x050E tscMsg_id2name      "mountMsgDmSetDisp"
+I2N_         0x0510 tscMsg_id2name      "nsdMsgStopServer"
+I2N_         0x0511 tscMsg_id2name      "sgmMsgSANergyExportOnOff"
+I2N_         0x0600 tscMsg_id2name      "TESTSVC_SYNCHTRACE"
+I2N_         0x0601 tscMsg_id2name      "ccMsgSGMgrRecovered"
+I2N_         0x0602 tscMsg_id2name      "sgmMsgSGDissolveLogGroup"
+I2N_         0x0604 tscMsg_id2name      "dsMsgEnd"
+I2N_         0x0605 tscMsg_id2name      "llMsgCheckInodeAddr"
+I2N_         0x0606 tscMsg_id2name      "FSCKMsgAllocMsgs"
+I2N_         0x0607 tscMsg_id2name      "mnMsgForceInodeFlags"
+I2N_         0x0608 tscMsg_id2name      "almMsgTypeOldDeclareRegion"
+I2N_         0x060C tscMsg_id2name      "quotaMsgOn"
+I2N_         0x060D tscMsg_id2name      "tmMsgTellAcquire1"
+I2N_         0x060E tscMsg_id2name      "sgmMsgDmSetSGEventlist"
+I2N_         0x0610 tscMsg_id2name      "nsdMsgQueryServer"
+I2N_         0x0611 tscMsg_id2name      "sgmMsgSANergyActiveQuery"
+I2N_         0x0701 tscMsg_id2name      "ccMsgUpdateSgId"
+I2N_         0x0702 tscMsg_id2name      "sgmMsgSGDiskFailed"
+I2N_         0x0704 tscMsg_id2name      "dsMsgFlushEnd"
+I2N_         0x0706 tscMsg_id2name      "FSCKDoFakeSync"
+I2N_         0x0707 tscMsg_id2name      "mnMsgGetMtime"
+I2N_         0x0708 tscMsg_id2name      "almMsgTypeOldRelinquishRegion"
+I2N_         0x070C tscMsg_id2name      "quotaMsgOff"
+I2N_         0x070D tscMsg_id2name      "tmMsgTellAcquire2"
+I2N_         0x070E tscMsg_id2name      "ccMsgDmGetAllDisp"
+I2N_         0x0710 tscMsg_id2name      "nsdMsgUnfenceServer"
+I2N_         0x0801 tscMsg_id2name      "ccMsgNewHomeForSg"
+I2N_         0x0802 tscMsg_id2name      "sgmMsgSGPanicLocal"
+I2N_         0x0804 tscMsg_id2name      "dsMsgAbort"
+I2N_         0x0806 tscMsg_id2name      "queryBeingCreated"
+I2N_         0x0807 tscMsg_id2name      "mnMsgRepairFile"
+I2N_         0x0808 tscMsg_id2name      "almMsgTypeOldRequestFreeSpace"
+I2N_         0x080C tscMsg_id2name      "quotaMsgRevoke"
+I2N_         0x080D tscMsg_id2name      "tmMsgTellRelinquish"
+I2N_         0x080E tscMsg_id2name      "ccMsgDmGetAllSessions"
+I2N_         0x0810 tscMsg_id2name      "nsdMsgFence"
+I2N_         0x0901 tscMsg_id2name      "ccMsgNewHomeLocate"
+I2N_         0x0902 tscMsg_id2name      "sgmMsgSGClientCmd"
+I2N_         0x0904 tscMsg_id2name      "dsMsgQueryWriters"
+I2N_         0x0907 tscMsg_id2name      "mnMsgDoubleUpdateDiskAddr"
+I2N_         0x0908 tscMsg_id2name      "almMsgTypeOldRequestOwnership"
+I2N_         0x090C tscMsg_id2name      "quotaMsgWantUpdate"
+I2N_         0x090D tscMsg_id2name      "tmMsgTellRelease"
+I2N_         0x090E tscMsg_id2name      "dmMsgDmRespondEvent"
+I2N_         0x0A01 tscMsg_id2name      "ccMsgCfgClientCmd"
+I2N_         0x0A02 tscMsg_id2name      "sgmMsgSGGarbageCollectAcl"
+I2N_         0x0A04 tscMsg_id2name      "dsMsgUpdateMode"
+I2N_         0x0A07 tscMsg_id2name      "mnMsgFTrunc"
+I2N_         0x0A08 tscMsg_id2name      "almMsgTypeUpdateISegment"
+I2N_         0x0A0C tscMsg_id2name      "quotaMsgReplyPrefetch"
+I2N_         0x0A0D tscMsg_id2name      "tmMsgTellReset"
+I2N_         0x0A0E tscMsg_id2name      "ccMsgDmGetSessByFlag"
+I2N_         0x0B01 tscMsg_id2name      "ccMsgUpdateSgStats"
+I2N_         0x0B02 tscMsg_id2name      "sgmMsgSGQueryMountList"
+I2N_         0x0B04 tscMsg_id2name      "dsMsgPrefetch"
+I2N_         0x0B07 tscMsg_id2name      "mnMsgFClear"
+I2N_         0x0B08 tscMsg_id2name      "almMsgTypeBeginFullRecovery"
+I2N_         0x0B0C tscMsg_id2name      "quotaMsgSLExceeded"
+I2N_         0x0B0D tscMsg_id2name      "tmMsgBRTellAcquire1"
+I2N_         0x0B0E tscMsg_id2name      "dmMsgPostEvent"
+I2N_         0x0C01 tscMsg_id2name      "ccMsgMMRemote"
+I2N_         0x0C02 tscMsg_id2name      "sgmMsgExpandInodes"
+I2N_         0x0C07 tscMsg_id2name      "mnMsgRemoveFile"
+I2N_         0x0C08 tscMsg_id2name      "almMsgTypeOldReduceRegions"
+I2N_         0x0C0C tscMsg_id2name      "quotaMsgSLReleased"
+I2N_         0x0C0D tscMsg_id2name      "tmMsgBRTellAcquire2"
+I2N_         0x0C0E tscMsg_id2name      "sgmMsgDmSetAttrname"
+I2N_         0x0D01 tscMsg_id2name      "ccMsgUpdateHTInfo"
+I2N_         0x0D02 tscMsg_id2name      "sgmMsgSGResetEFOpt"
+I2N_         0x0D07 tscMsg_id2name      "mnMsgFindIndBlocksInRange"
+I2N_         0x0D08 tscMsg_id2name      "almMsgTypeOldRevokeOwnership"
+I2N_         0x0D0C tscMsg_id2name      "quotaMsgOnlineQuotacheck"
+I2N_         0x0D0D tscMsg_id2name      "tmMsgBRTellRelinquish"
+I2N_         0x0D0E tscMsg_id2name      "mountMsgDmSetAttrname"
+I2N_         0x0E01 tscMsg_id2name      "ccMsgDiskLease"
+I2N_         0x0E02 tscMsg_id2name      "sgmMsgMoveMetaInode"
+I2N_         0x0E07 tscMsg_id2name      "mnMsgSanActiveMap"
+I2N_         0x0E08 tscMsg_id2name      "almMsgTypeOldAllocBlock"
+I2N_         0x0E0C tscMsg_id2name      "quotaMsgSGOn"
+I2N_         0x0E0D tscMsg_id2name      "tmMsgBRTellRelease"
+I2N_         0x0E0E tscMsg_id2name      "ccMsgDmSetOrGetEventlist"
+I2N_         0x0F01 tscMsg_id2name      "ccMsgChangeDiskLease"
+I2N_         0x0F02 tscMsg_id2name      "sgmMsgRestoreFS"
+I2N_         0x0F07 tscMsg_id2name      "mnMsgUnlockMap"
+I2N_         0x0F08 tscMsg_id2name      "almMsgTypeOldDeallocBlock"
+I2N_         0x0F0C tscMsg_id2name      "quotaMsgSGOff"
+I2N_         0x0F0D tscMsg_id2name      "tmMsgBRTellReset"
+I2N_         0x0F0E tscMsg_id2name      "ccMsgDmSetReturnOnDestroy"
+I2N_         0x1001 tscMsg_id2name      "ccMsgQuerySANergyExport"
+I2N_         0x1002 tscMsg_id2name      "sgmMsgSGDescUpdate"
+I2N_         0x1007 tscMsg_id2name      "mnMsgSanSetFileSizes"
+I2N_         0x1008 tscMsg_id2name      "almMsgTypeOpenCursor"
+I2N_         0x100C tscMsg_id2name      "quotaMsgSGList"
+I2N_         0x100D tscMsg_id2name      "tmMsgBRRevoke"
+I2N_         0x100E tscMsg_id2name      "dmMsgRecoverEvents"
+I2N_         0x1101 tscMsg_id2name      "ccMsgSetwait4RVSD"
+I2N_         0x1102 tscMsg_id2name      "sgmMsgSGReinitAllocMap"
+I2N_         0x1107 tscMsg_id2name      "mnMsgSanRepairFile"
+I2N_         0x1108 tscMsg_id2name      "almMsgTypeCloseCursor"
+I2N_         0x110C tscMsg_id2name      "quotaMsgSGReport"
+I2N_         0x110E tscMsg_id2name      "dmMsgAbortRecovery"
+I2N_         0x1201 tscMsg_id2name      "ccMsgSetmaxFeatureLevelAllowed"
+I2N_         0x1202 tscMsg_id2name      "sgmMsgExeTMPhase"
+I2N_         0x1207 tscMsg_id2name      "mnMsgUpdateInodeAndIndBlock"
+I2N_         0x1208 tscMsg_id2name      "almMsgTypeFlushDealloc"
+I2N_         0x120C tscMsg_id2name      "quotaMsgSGEdit"
+I2N_         0x120E tscMsg_id2name      "dmMsgBcastMountDisp"
+I2N_         0x1301 tscMsg_id2name      "ccMsgAssert"
+I2N_         0x1302 tscMsg_id2name      "sgmMsgSGNsdUpdate"
+I2N_         0x1307 tscMsg_id2name      "mnMsgRelaySyncMsg"
+I2N_         0x1308 tscMsg_id2name      "almMsgTypeRequestRegion"
+I2N_         0x130C tscMsg_id2name      "quotaMsgSGCheck"
+I2N_         0x130E tscMsg_id2name      "ccMsgDmGetMountinfo"
+I2N_         0x1401 tscMsg_id2name      "ccMsgProbeCluster"
+I2N_         0x1402 tscMsg_id2name      "sgmMsgRepWriteWaitNInodeFlush"
+I2N_         0x1408 tscMsg_id2name      "almMsgTypeQueryRegion"
+I2N_         0x140C tscMsg_id2name      "quotaMsgGetQuotaCheckPos"
+I2N_         0x140E tscMsg_id2name      "sgmMsgDmGetMountinfo"
+I2N_         0x1501 tscMsg_id2name      "ccMsgExpelRequest"
+I2N_         0x1502 tscMsg_id2name      "sgmMsgQuiesceOps"
+I2N_         0x1508 tscMsg_id2name      "almMsgTypeUpdateRegion"
+I2N_         0x150C tscMsg_id2name      "quotaMsgShadowUpdate"
+I2N_         0x150E tscMsg_id2name      "dmMsgGetAccessRights"
+I2N_         0x1601 tscMsg_id2name      "ccMsgFailureNotify"
+I2N_         0x1602 tscMsg_id2name      "sgmMsgResumeOps"
+I2N_         0x1608 tscMsg_id2name      "almMsgTypeDeclareRegion"
+I2N_         0x160C tscMsg_id2name      "quotaMsgCheckQuotaOnOff"
+I2N_         0x160E tscMsg_id2name      "dmMsgDataShip"
+I2N_         0x1701 tscMsg_id2name      "ccMsgGroupNull"
+I2N_         0x1702 tscMsg_id2name      "sgmMsgSyncFS"
+I2N_         0x1708 tscMsg_id2name      "almMsgTypeRelinquishRegion"
+I2N_         0x170C tscMsg_id2name      "quotaMsgSyncClt"
+I2N_         0x170E tscMsg_id2name      "dmMsgUpdateAccessRight"
+I2N_         0x1801 tscMsg_id2name      "ccMsgGroupJoinPhase0"
+I2N_         0x1802 tscMsg_id2name      "sgmMsgMigrateLogs"
+I2N_         0x1808 tscMsg_id2name      "almMsgTypeRequestFreeSpace"
+I2N_         0x180C tscMsg_id2name      "quotaMsgSGReplaceInodes"
+I2N_         0x180E tscMsg_id2name      "dmMsgCheckFileOpen"
+I2N_         0x1901 tscMsg_id2name      "ccMsgGroupJoinPhaseN"
+I2N_         0x1902 tscMsg_id2name      "sgmMsgSGTakeoverQuery"
+I2N_         0x1908 tscMsg_id2name      "almMsgTypeRequestOwnership"
+I2N_         0x190C tscMsg_id2name      "quotaMsgDefaultOnOff"
+I2N_         0x1A01 tscMsg_id2name      "ccMsgGroupLeave"
+I2N_         0x1A02 tscMsg_id2name      "sgmMsgManage"
+I2N_         0x1A08 tscMsg_id2name      "almMsgTypeReduceRegions"
+I2N_         0x1A0C tscMsg_id2name      "quotaMsgSGDefaultOnOff"
+I2N_         0x1B01 tscMsg_id2name      "ccMsgAddNewNodes"
+I2N_         0x1B02 tscMsg_id2name      "sgmMsgQuiesce"
+I2N_         0x1B08 tscMsg_id2name      "almMsgTypeBeginPoolRecovery"
+I2N_         0x1B0C tscMsg_id2name      "quotaMsgSGEditDefault"
+I2N_         0x1C01 tscMsg_id2name      "ccMsgUidRemap"
+I2N_         0x1C02 tscMsg_id2name      "sgmMsgDispStatus"
+I2N_         0x1C08 tscMsg_id2name      "almMsgTypeRevokeOwnership"
+I2N_         0x1C0C tscMsg_id2name      "quotaMsgSGSync"
+I2N_         0x1D01 tscMsg_id2name      "ccMsgUidReverseMap"
+I2N_         0x1D02 tscMsg_id2name      "sgmMsgSGPanicNotify"
+I2N_         0x1D08 tscMsg_id2name      "almMsgTypeAllocBlock"
+I2N_         0x1E01 tscMsg_id2name      "ccMsgExpelPrintMsg"
+I2N_         0x1E02 tscMsg_id2name      "sgmMsgSGDescUpdateCommit"
+I2N_         0x1E08 tscMsg_id2name      "almMsgTypeDeallocBlock"
+I2N_         0x1F01 tscMsg_id2name      "ccMsgInfoChange"
+I2N_         0x1F02 tscMsg_id2name      "sgmMsgChangePolicy"
+I2N_         0x2002 tscMsg_id2name      "sgmMsgFsetOps"
+I2N_         0x2102 tscMsg_id2name      "unused"
+I2N_         0x2202 tscMsg_id2name      "sgmMsgTMServe"
+I2N_         0x2302 tscMsg_id2name      "sgmMsgRmtUnmount"
+I2N_         0xFB00 tscMsg_id2name      "connect"
+I2N_         0xFC00 tscMsg_id2name      "getData"
+I2N_         0xFD00 tscMsg_id2name      "handlerError"
+I2N_         0xFE00 tscMsg_id2name      "internalError"
+I2N_         0xFF00 tscMsg_id2name      "reply"
+I2N_         0x0000 tscStatus_id2name   "prepared"
+I2N_         0x0001 tscStatus_id2name   "pending"
+I2N_         0x0002 tscStatus_id2name   "send_failed"
+I2N_         0x0003 tscStatus_id2name   "recv_failed"
+I2N_         0x0004 tscStatus_id2name   "internal_error"
+I2N_         0x0005 tscStatus_id2name   "handler_error"
+I2N_         0x0006 tscStatus_id2name   "success"
+I2N_         0x0007 tscStatus_id2name   "node_failed"
+I2N_         0x0008 tscStatus_id2name   "being_received"
+I2N_         0x000A tsfattrcmd_id2name  "SET_BUFFERING"
+I2N_         0x000B tsfattrcmd_id2name  "GET_BUFFERING"
+I2N_         0x000C tsfattrcmd_id2name  "LIST_XATTR"
+I2N_         0x000D tsfattrcmd_id2name  "GET_XATTR"
+I2N_         0x000E tsfattrcmd_id2name  "SET_XATTR"
+I2N_         0x000F tsfattrcmd_id2name  "GPFS_STATFSPOOL"
+I2N_         0x0010 tsfattrcmd_id2name  "GPFS_GETPOOLNAME"
+I2N_         0x0014 tsfattrcmd_id2name  "GET_REPL_FACTORS"
+I2N_         0x0015 tsfattrcmd_id2name  "SET_REPL_FACTORS"
+I2N_         0x0016 tsfattrcmd_id2name  "REMOTE_STAT"
+I2N_         0x0018 tsfattrcmd_id2name  "IO_HINTS"
+I2N_         0x0019 tsfattrcmd_id2name  "PREALLOCATE_FILE"
+I2N_         0x001B tsfattrcmd_id2name  "GET_ALL_ATTRS"
+I2N_         0x001C tsfattrcmd_id2name  "PUT_ALL_ATTRS"
+I2N_         0x001D tsfattrcmd_id2name  "PUT_ALL_ATTRS_WITH_NAME"
+I2N_         0x0020 tsfattrcmd_id2name  "GET_INODE_BLOCK"
+I2N_         0x0021 tsfattrcmd_id2name  "GET_DIR_BLOCK"
+I2N_         0x0022 tsfattrcmd_id2name  "SET_DIR_ENTRY"
+I2N_         0x0023 tsfattrcmd_id2name  "GPFS_IOPEN"
+I2N_         0x0024 tsfattrcmd_id2name  "GPFS_ICLOSE"
+I2N_         0x0025 tsfattrcmd_id2name  "GPFS_IREAD"
+I2N_         0x0026 tsfattrcmd_id2name  "GPFS_IWRITE"
+I2N_         0x0027 tsfattrcmd_id2name  "GPFS_IREAD_SYMLINK"
+I2N_         0x0028 tsfattrcmd_id2name  "GPFS_IGET_ATTRS"
+I2N_         0x0029 tsfattrcmd_id2name  "GPFS_IPUT_ATTRS"
+I2N_         0x002B tsfattrcmd_id2name  "GPFS_SYNC_FS"
+I2N_         0x002C tsfattrcmd_id2name  "GPFS_START_RESTORE"
+I2N_         0x002D tsfattrcmd_id2name  "GPFS_END_RESTORE"
+I2N_         0x002E tsfattrcmd_id2name  "GPFS_FS_RESTORABLE"
+I2N_         0x002F tsfattrcmd_id2name  "GPFS_IGET_FILESET"
+I2N_         0x0030 tsfattrcmd_id2name  "GPFS_IGET_STORAGEPOOL"
+I2N_         0x0031 tsfattrcmd_id2name  "GPFS_IREADX"
+I2N_         0x0032 tsfattrcmd_id2name  "GPFS_IWRITEX"
+I2N_         0x0033 tsfattrcmd_id2name  "GPFS_OPEN_FSSNAPHANDLE"
+I2N_         0x0061 tsfattrcmd_id2name  "KERNEL_LOGGENERIC"
+I2N_         0x0062 tsfattrcmd_id2name  "KERNEL_LOGSPECIFIC"
+I2N_         0x0063 tsfattrcmd_id2name  "TEST_LOCK_PERF"
+I2N_         0x001E tsfsattrcmd_id2name "HANDLE_VIA_NAME"
+I2N_         0x001F tsfsattrcmd_id2name "HANDLE_VIA_ID"
+I2N_         0x0020 tsfsattrcmd_id2name "PATH_VIA_HANDLE"
+I2N_         0x0021 tsfsattrcmd_id2name "FSNAME_VIA_HANDLE"
+I2N_         0x0022 tsfsattrcmd_id2name "SNAPNAME_VIA_HANDLE"
+I2N_         0x0023 tsfsattrcmd_id2name "RESTORE_VIA_HANDLE"
+I2N_         0x0024 tsfsattrcmd_id2name "GET_SNAPDIRNAME"
+I2N_         0x0000 whichBufListEnum_id "none"
+I2N_         0x0001 whichBufListEnum_id "done"
+I2N_         0x0002 whichBufListEnum_id "writebehind"
+I2N_         0x0000 whichInstListEnum_i "none"
+I2N_         0x0001 whichInstListEnum_i "ineligible"
+I2N_         0x0002 whichInstListEnum_i "aboveTarget"
+I2N_         0x0003 whichInstListEnum_i "belowTarget"
+I2N_         0x0004 whichInstListEnum_i "gblPrefetch"
+TRCID_       0x8401 TRACE_TSTM          "push: btnP 0x%lX stack 0x%lX"
+TRCID_       0x8402 TRACE_TS            "Stack::push: memory allocation for StackBlock failed"
+TRCID_       0x8403 TRACE_TSTM          "btTrace: tree at 0x%lX btNRanges %d btIsClient %d btSentinel 0x%lX"
+TRCID_       0x8404 TRACE_TSTM          "btTrace: tree empty"
+TRCID_       0x8405 TRACE_TSTM          "btTrace: E_NOMEM STOP"
+TRCID_       0x8406 TRACE_TSTM          "begin insert -> "
+TRCID_       0x8407 TRACE_TSTM          "btInternalInsert: +1a btNRanges %d rangeCount %d GlobalNRanges %d"
+TRCID_       0x8408 TRACE_TSTM          "Inserting element 0x%lX"
+TRCID_       0x8409 TRACE_TSTM          "overlaps with nextBtnP 0x%lX"
+TRCID_       0x840A TRACE_TSTM          "btInternalInsert: -1X btNRanges %d rangeCount %d GlobalNRanges %d"
+TRCID_       0x840B TRACE_TSTM          "Tree element "
+TRCID_       0x840C TRACE_TSTM          "overlaps with "
+TRCID_       0x840D TRACE_TSTM          "btInternalInsert: -1a btNRanges %d rangeCount %d GlobalNRanges %d"
+TRCID_       0x840E TRACE_TSTM          "btnP -> "
+TRCID_       0x840F TRACE_TSTM          "nextBtnP -> "
+TRCID_       0x8410 TRACE_TSTM          "btInternalInsert: merging curr tree element. second %d\n"
+TRCID_       0x8411 TRACE_TSTM          "New tree_element:"
+TRCID_       0x8412 TRACE_TSTM          "btInternalInsert: -1b btNRanges %d rangeCount %d GlobalNRanges %d"
+TRCID_       0x8413 TRACE_TSTM          "btInsertNode: InsertProcessing"
+TRCID_       0x8414 TRACE_TSTM          "btInsertNode: Case 1"
+TRCID_       0x8415 TRACE_TSTM          "btInsertNode: Case 2"
+TRCID_       0x8416 TRACE_TSTM          "btInsertNode: Case 3"
+TRCID_       0x8417 TRACE_TSTM          "btInsertNode: Case 4"
+TRCID_       0x8418 TRACE_TSTM          "btMinimum: btnP 0x%lX start 0x%llX returns 0x%lX start 0x%llX"
+TRCID_       0x8419 TRACE_TSTM          "btSuccessor: btnP 0x%lX start 0x%llX returns 0x%lX start 0x%llX"
+TRCID_       0x841A TRACE_TSTM          "btDeleteNode: parent"
+TRCID_       0x841B TRACE_TSTM          "btDeleteNode: -1c btNRanges %d rangeCount %d GlobalNRanges %d"
+TRCID_       0x841C TRACE_TSTM          "btDeleteNode: could not find"
+TRCID_       0x841D TRACE_TSTM          "btDeleteAll: btNRanges %d rangeCount %d GlobalNRanges %d"
+TRCID_       0x841E TRACE_TSTM          "btLookup enter"
+TRCID_       0x841F TRACE_TSTM          "btRotateLeft enter: btnP 0x%lX"
+TRCID_       0x8420 TRACE_TSTM          "btRotateRight enter: btnP 0x%lX"
+TRCID_       0x8421 TRACE_TSTM          "btDeleteFixup enter btnP 0x%lX"
+TRCID_       0x8422 TRACE_TSTM          "BRTree::Insert element was merged"
+TRCID_       0x8423 TRACE_TSTM          "BRTree::Insert:"
+TRCID_       0x8424 TRACE_TSTM          "btDowngradeRange: [0x%llX 0x%llX] newMode %s node %d treeP 0x%lX" $3=brmode_id2name
+TRCID_       0x8425 TRACE_TSTM          "PushIfNodeMatch: pushing 0x%lX start 0x%llX for node %d"
+TRCID_       0x8426 TRACE_TSTM          "btPrepareStack: [start end] [0x%llX 0x%llX]"
+TRCID_       0x8427 TRACE_TSTM          "btTraverse: dummyElement 0x%lX start 0x%llX end 0x%llX"
+TRCID_       0x8428 TRACE_TSTM          "btTraverseConflict: dummyElement 0x%lX start 0x%llX end 0x%llX"
+TRCID_       0x8429 TRACE_TSTM          "btProcessStack enter: start 0x%llX end 0x%llX newMode %s deleting %d" $3=brmode_id2name
+TRCID_       0x842A TRACE_TSTM          "btProcessStack:"
+TRCID_       0x842B TRACE_TSTM          "btProcessStack: INSERT [0x%llX,0x%llX] newMode %s node %d]" $3=brmode_id2name
+TRCID_       0x842C TRACE_TSTM          "Case 9"
+TRCID_       0x842D TRACE_TSTM          "Case 8"
+TRCID_       0x842E TRACE_TSTM          "Case 7"
+TRCID_       0x842F TRACE_TSTM          "Case 6"
+TRCID_       0x8430 TRACE_TSTM          "Case 5"
+TRCID_       0x8431 TRACE_TSTM          "Case 4"
+TRCID_       0x8432 TRACE_TSTM          "Case 3"
+TRCID_       0x8433 TRACE_TSTM          "Case 2"
+TRCID_       0x8434 TRACE_TSTM          "Case 1"
+TRCID_       0x8435 TRACE_TSTM          "btProcessStack: oldMode %s newMode %s" $1=brmode_id2name $2=brmode_id2name
+TRCID_       0x8436 TRACE_TSTM          "btProcessStack: clearing oldMode %s" $1=brmode_id2name
+TRCID_       0x8437 TRACE_TSTM          "btProcessStack: adding newMode %s" $1=brmode_id2name
+TRCID_       0x8438 TRACE_TSTM          "btProcessStack: checking for holders"
+TRCID_       0x8439 TRACE_TSTM          "btProcessStack: found a holder in mode RO or SX"
+TRCID_       0x843A TRACE_TSTM          "btProcessStack: no holders, deleting tree node at 0x%lX"
+TRCID_       0x843B TRACE_TSTM          "btProcessStack: found a holder in mode %s" $1=brmode_id2name
+TRCID_       0x843C TRACE_TSTM          "btProcessStack: inserting:"
+TRCID_       0x843D TRACE_TSTM          "btProcessStack: final INSERT [%lld,%lld] newMode %s node %d" $3=brmode_id2name
+TRCID_       0x843E TRACE_TSTM          "btProcessStack exit"
+TRCID_       0x843F TRACE_TSTM          "%s: mode NL"
+TRCID_       0x8440 TRACE_TSTM          "%s: mode XW node %d"
+TRCID_       0x8441 TRACE_TSTM          "%s: mode RO node %d"
+TRCID_       0x8442 TRACE_TSTM          "%s: mode RO list 0x%lX %d nodes:"
+TRCID_       0x8443 TRACE_TSTM          "%s"
+TRCID_       0x8444 TRACE_TSTM          "%s: mode RO bitmap 0x%lX %d nodes:"
+TRCID_       0x8445 TRACE_TSTM          "%s"
+TRCID_       0x8446 TRACE_TSTM          "%s"
+TRCID_       0x8447 TRACE_TSTM          "btnOverlaps: 0x%llX-0x%llX, 0x%llX-0x%llX returns %d"
+TRCID_       0x8448 TRACE_TSTM          "btnCheckAndTrimServerRange enter: btnP 0x%lX, start 0x%llX, end 0x%llX"
+TRCID_       0x8449 TRACE_TSTM          "btnCheckAndTrimServerRange: tree node does not overlap grantedRange"
+TRCID_       0x844A TRACE_TSTM          "btnCheckAndTrimServerRange: checking mode %s XW holder node %d" $1=brmode_id2name
+TRCID_       0x844B TRACE_TSTM          "btnCheckAndTrimServerRange: overlaps required range, node %d"
+TRCID_       0x844C TRACE_TSTM          "btnCheckAndTrimServerRange W1: granted.start now 0x%llX"
+TRCID_       0x844D TRACE_TSTM          "btnCheckAndTrimServerRange W2: granted.end now 0x%llX"
+TRCID_       0x844E TRACE_TSTM          "btnCheckAndTrimServerRange W3: granted.end now 0x%llX"
+TRCID_       0x844F TRACE_TSTM          "btnCheckAndTrimServerRange W4: granted.start now 0x%llX"
+TRCID_       0x8450 TRACE_TSTM          "btnCheckAndTrimServerRange: checking mode %s nROHolders %d" $1=brmode_id2name
+TRCID_       0x8451 TRACE_TSTM          "btnCheckAndTrimServerRange: processing node %d"
+TRCID_       0x8452 TRACE_TSTM          "btnCheckAndTrimServerRange: [%llX,%llX] conflicts with required range, node %d"
+TRCID_       0x8453 TRACE_TSTM          "btnCheckAndTrimServerRange R1: granted.start now 0x%llX"
+TRCID_       0x8454 TRACE_TSTM          "btnCheckAndTrimServerRange R2: granted.end now 0x%llX"
+TRCID_       0x8455 TRACE_TSTM          "btnCheckAndTrimServerRange R3: granted.end now 0x%llX"
+TRCID_       0x8456 TRACE_TSTM          "btnCheckAndTrimServerRange R4: granted.start now 0x%llX"
+TRCID_       0x8457 TRACE_TSTM          "btnCheckServerRange enter: btnP 0x%lX, start 0x%llX, end 0x%llX"
+TRCID_       0x8458 TRACE_TSTM          "btnCheckServerRange: checking mode %s XW holder node %d" $1=brmode_id2name
+TRCID_       0x8459 TRACE_TSTM          "btnCheckServerRange: overlaps required range, node %d"
+TRCID_       0x845A TRACE_TSTM          "btnCheckServerRange: checking mode %s nROHolders %d" $1=brmode_id2name
+TRCID_       0x845B TRACE_TSTM          "btnCheckServerRange: processing RO node %d"
+TRCID_       0x845C TRACE_TSTM          "btnCheckServerRange: [%llX,%llX] conflicts with required range, node %d"
+TRCID_       0x845D TRACE_TSTM          "btnCheckClientCachedRange enter: btnP 0x%lX range [%llX,%llX]"
+TRCID_       0x845E TRACE_TSTM          "btnCheckClientCachedRange: tiNode %d mode %s" $2=brmode_id2name
+TRCID_       0x845F TRACE_TSTM          "btnCheckClientCachedRange: Updating range info"
+TRCID_       0x8460 TRACE_TSTM          "IsBRConflict(%s, %s) returns %d" $1=brmode_id2name $2=brmode_id2name
+TRCID_       0x8461 TRACE_TSTM          "IsConflict(%s, %s) returns %d" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x8462 TRACE_TSTM          "UpgradeTest: want %s have %s returns %d" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x8463 TRACE_TSTM          "TokenCompare: idP 0x%lX tokP 0x%lX"
+TRCID_       0x8464 TRACE_TSTM          "  id %08X:%08X:%08X:%08X:%08X"
+TRCID_       0x8465 TRACE_TSTM          "  token %08X:%08X:%08X"
+TRCID_       0x8466 TRACE_TSTM          "tHash: this 0x%lX table 0x%lX bucket %d"
+TRCID_       0x8467 TRACE_TSTM          "tUnhash: this 0x%lX table 0x%lX bucket %d"
+TRCID_       0x8468 TRACE_TSTM          "TokenHashTable: alloc %d 0x%x buckets hash_mask 0x%x hash_bits %d"
+TRCID_       0x8469 TRACE_TSTM          "TokenHashTable: did not get %d buckets try to get %d"
+TRCID_       0x846A TRACE_TSTM          "~TokenHashTable: freeing thtBucketsPP at 0x%lX"
+TRCID_       0x846B TRACE_TSTM          "FirstObj: another thread %s traversing, my tid %s" $1=Thread_id2name $2=Thread_id2name
+TRCID_       0x846C TRACE_TSTM          "FirstObjTid another thread %s traversing, my tid %s" $1=Thread_id2name $2=Thread_id2name
+TRCID_       0x846D TRACE_TSTM          "NextObj: another thread %s traversing, my tid %s" $1=Thread_id2name $2=Thread_id2name
+TRCID_       0x846E TRACE_TSTM          "NextObjInd: another thread %s traversing, my tid %s" $1=Thread_id2name $2=Thread_id2name
+TRCID_       0x846F TRACE_TSTM          "LastObjTid: another thread %s traversing, my tid %s" $1=Thread_id2name $2=Thread_id2name
+TRCID_       0x8470 TRACE_TSTM          "FirstTrash: another thread %s traversing, my tid %s" $1=Thread_id2name $2=Thread_id2name
+TRCID_       0x8471 TRACE_TSTM          "thtLocate: (%08X:%08X:%08X:%08X:%08X) this 0x%lX"
+TRCID_       0x8472 TRACE_TSTM          "  not found"
+TRCID_       0x8473 TRACE_TSTM          "  found 0x%lX"
+TRCID_       0x8474 TRACE_TSTM          "clInsert: adding client cliP 0x%lX for node %d"
+TRCID_       0x8475 TRACE_TSTM          "clReorg: node list 0x%lX oldOrder %d newOrder %d"
+TRCID_       0x8476 TRACE_TSTM          "clRemove: removing client cliP 0x%lX for node %d"
+TRCID_       0x8477 TRACE_TSTM          "clBRCleanupAll: cliP 0x%lX node %d"
+TRCID_       0x8478 TRACE_TSTM          "clBRCleanupOne: cliP 0x%lX node %d"
+TRCID_       0x8479 TRACE_TSTM          "ClientNodeList at 0x%lX size %d order %d headPP 0x%lX: %s"
+TRCID_       0x847A TRACE_TSTM          "paaAlloc enter: order %d"
+TRCID_       0x847B TRACE_TSTM          "paaAlloc exit: returning 0x%lX order %d"
+TRCID_       0x847C TRACE_TSTM          "paaFree enter: p 0x%lX order %d"
+TRCID_       0x847D TRACE_TSTM          "paaFree: merging 0x%lX and 0x%lX at order %d"
+TRCID_       0x847E TRACE_TSTM          "paaFree: adding 0x%lX to free list of order %d"
+TRCID_       0x847F TRACE_TSTM          "paaFormatArea enter: p 0x%lX len %d"
+TRCID_       0x8480 TRACE_TSTM          "paaFormatArea: adding block at 0x%lX to order %d free list"
+TRCID_       0x8481 TRACE_TSTM          "paaFormatArea: marking block at 0x%lX permanently in use"
+TRCID_       0x8482 TRACE_TSTM          "paaFormatArea exit: p 0x%lX len %d wastedBytes %d"
+TRCID_       0x8483 TRACE_TSTM          "paaMakeFreeBlock: got block 0x%lX from order %d free list"
+TRCID_       0x8484 TRACE_TSTM          "paaMakeFreeBlock: splitting block 0x%lX, freeing block 0x%lX order %d"
+TRCID_       0x8485 TRACE_TSTM          "paaMakeFreeBlock: got block 0x%lX order %d after splitting"
+TRCID_       0x8486 TRACE_TSTM          "paaMakeFreeBlock: allocating 0x%X bytes to satisfy request for order %d block"
+TRCID_       0x8487 TRACE_TSTM          "Message::Message: sp alloc() failed"
+TRCID_       0x8488 TRACE_TSTM          "Message::Send: send msg opcode %d size %d at 0x%lX"
+TRCID_       0x8489 TRACE_TSTM          "Message::Send: got reply rc %d size %d at 0x%lX"
+TRCID_       0x848A TRACE_TSTM          "Message::SendMulti: msg opcode %d msgCount %d gotServers %d size %d at 0x%lX"
+TRCID_       0x848B TRACE_TSTM          "Message::SendMulti: got reply rc %d size %d at 0x%lX"
+TRCID_       0x848C TRACE_TSTM          "Message::SendRevoke: msgCount %d size %d at 0x%lX"
+TRCID_       0x848D TRACE_TSTM          "Message::SendRevokeWithCallback: msgCount %d size %d at 0x%lX"
+TRCID_       0x848E TRACE_TSTM          "roExport: roRC %d roGrantedMode %s type %s roNodeAddr %s returns %d retbuf 0x%lX" $2=brmode_id2name $3=retObjType_id2name $4=nodeaddr_id2name
+TRCID_       0x848F TRACE_TSTM          "roExport: roRC %d roGrantedMode %s type %s roNodeAddr %s returns %d retbuf 0x%lX" $2=lockmode_id2name $3=retObjType_id2name $4=nodeaddr_id2name
+TRCID_       0x8490 TRACE_TSTM          "roImport: retbuf 0x%lX, len %d, this 0x%lX"
+TRCID_       0x8491 TRACE_TSTM          "roImport: ver 0x%X wordSize %d bigEndian %d OS %d idx %d raw_rc %d\n"
+TRCID_       0x8492 TRACE_TSTM          "ReturnableObject::importObj: roRC %d roGrantedMode %s roType %s roNodeAddr %s returns %ld" $2=brmode_id2name $3=retObjType_id2name $4=nodeaddr_id2name
+TRCID_       0x8493 TRACE_TSTM          "ReturnableObject::importObj: roRC %d roGrantedMode %s roType %s roNodeAddr %s returns %ld" $2=lockmode_id2name $3=retObjType_id2name $4=nodeaddr_id2name
+TRCID_       0x8494 TRACE_TSTM          "ReturnableObject::importObj: roRC %d returns %ld"
+TRCID_       0x8495 TRACE_TSTM          "rrImport: start 0x%llX end 0x%llX returns %ld"
+TRCID_       0x8496 TRACE_TSTM          "\t start 0x%llX end 0x%llX"
+TRCID_       0x8497 TRACE_TSTM          "rrrImport: start 0x%llX end 0x%llX revoke seqNum %lld returns %ld"
+TRCID_       0x8498 TRACE_TSTM          "\t start 0x%llX end 0x%llX seqNum %lld"
+TRCID_       0x8499 TRACE_TSTM          "\t index %d seqNum: Inode %lld Mnode %lld BR %lld SMBOpen %lld SMBOplk %lld DMAPI %lld"
+TRCID_       0x849A TRACE_TSTM          "\t index %d seqNum: Inode %lld Mnode %lld BR %lld SMBOpen %lld SMBOplk %lld"
+TRCID_       0x849B TRACE_TSTM          "\t index %d seqNum: Inode %lld Mnode %lld BR %lld DMAPI %lld"
+TRCID_       0x849C TRACE_TSTM          "\t index %d seqNum: Inode %lld Mnode %lld BR %lld"
+TRCID_       0x849D TRACE_TSTM          "\t ReturnableMultiAcquire: Inode %s seqNum %lld Mnode %s seqNum %lld BR %s seqNum %lld" $1=lockmode_id2name $3=lockmode_id2name $5=brmode_id2name
+TRCID_       0x849E TRACE_TSTM          "\t\t DMAPI %s seqNum %lld" $1=lockmode_id2name
+TRCID_       0x849F TRACE_TSTM          "\t\t SMBOpen %s seqNum %lld SMBOpLk %s seqNum %lld" $1=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x84A0 TRACE_TSTM          "csExport: roRC %d csCount %d csCopysetMode %s type %s retbuf 0x%lX size %ld" $3=brmode_id2name $4=retObjType_id2name
+TRCID_       0x84A1 TRACE_TSTM          "csExport: roRC %d csCount %d csCopysetMode %s type %s retbuf 0x%lX size %ld" $3=lockmode_id2name $4=retObjType_id2name
+TRCID_       0x84A2 TRACE_TSTM          "csImport: ptr 0x%lX"
+TRCID_       0x84A3 TRACE_TSTM          "csImport: roRC %d csCount %d csCopysetMode %s type %s" $3=brmode_id2name $4=retObjType_id2name
+TRCID_       0x84A4 TRACE_TSTM          "csImport: roRC %d csCount %d csCopysetMode %s type %s" $3=lockmode_id2name $4=retObjType_id2name
+TRCID_       0x84A5 TRACE_TSTM          "csImport returns %ld"
+TRCID_       0x84A6 TRACE_TSTM          "\t [%d] = Node:%d, Mode:%s, seqNum %lld" $3=brmode_id2name
+TRCID_       0x84A7 TRACE_TSTM          "\t [%d] = Node:%d, Mode:%s, seqNum %lld" $3=lockmode_id2name
+TRCID_       0x84A8 TRACE_TSTM          "csrExport: roRC %d csrCount %d csrCopysetMode %s type %s retbuf 0x%lX size %ld" $3=lockmode_id2name $4=retObjType_id2name
+TRCID_       0x84A9 TRACE_TSTM          "csrImport: ptr 0x%lX"
+TRCID_       0x84AA TRACE_TSTM          "csrImport: roRC %d csrCount %d csrCopysetMode %s type %s" $3=lockmode_id2name $4=retObjType_id2name
+TRCID_       0x84AB TRACE_TSTM          "csrImport returns %ld"
+TRCID_       0x84AC TRACE_TSTM          "csrImportCopyset: ptr 0x%lX"
+TRCID_       0x84AD TRACE_TSTM          "csrImportCopyset: roRC %d csrCount %d csrCopysetMode %s type %s" $3=lockmode_id2name $4=retObjType_id2name
+TRCID_       0x84AE TRACE_TSTM          "csrImportCopyset returns %ld"
+TRCID_       0x84AF TRACE_TSTM          "\t [%d] = Node %d Mode %s Index %d" $3=lockmode_id2name
+TRCID_       0x84B0 TRACE_TSTM          "\t Inode seqNum %lld Mnode seqNum %lld DMAPI seqNum %lld DFS seqNum %lld BR seqNum %lld"
+TRCID_       0x84B1 TRACE_TSTM          "CopyMsg: returning 0x%lX sz %d reqP 0x%lX in_hdr 0x%lX"
+TRCID_       0x84B2 TRACE_TSTM          "tmAppendOne: queue 0x%lX newP 0x%lx"
+TRCID_       0x84B3 TRACE_TSTM          "EnqueueMsg: hdrP 0x%lX reqP 0x%lX qP 0x%lX"
+TRCID_       0x84B4 TRACE_TSTM          "tmDequeue: queue 0x%lX qeP 0x%lX"
+TRCID_       0x84B5 TRACE_TSTM          "AppendGlobalWaitQueue: qeP 0x%lX"
+TRCID_       0x84B6 TRACE_TSTM          "tmCleanup: freeing entry at 0x%lX tokP 0x%lx stP 0x%lX"
+TRCID_       0x84B7 TRACE_TSTM          "tmDequeueFirstMatch: dequeuing entry at 0x%lX matching stP 0x%lX"
+TRCID_       0x84B8 TRACE_TSTM          "sendChangeCacheSize: reply from node %d cliStealCount %d cliMaxFilesToCache %d"
+TRCID_       0x84B9 TRACE_TSTM          "Domain2TClass search for TokenClass %s"
+TRCID_       0x84BA TRACE_TSTM          "Domain2TClass found at 0x%lX TokenClass %s"
+TRCID_       0x84BB TRACE_TSTM          "Domain2TClass TokenClass %s NOT FOUND"
+TRCID_       0x84BC TRACE_TSTM          "TokenClass::TokenClass: error, class already defined"
+TRCID_       0x84BD TRACE_TSTM          "TokenClass::TokenClass: searching class table"
+TRCID_       0x84BE TRACE_TSTM          "TokenClass::TokenClass: unable to obtain X write lock 0x%lX"
+TRCID_       0x84BF TRACE_TSTM          "TokenClass::TokenClass: slot changed identity"
+TRCID_       0x84C0 TRACE_TSTM          "TokenClass::TokenClass: ran off end of ClassTable"
+TRCID_       0x84C1 TRACE_TSTM          "TokenClass::TokenClass: created TokenClass at 0x%lX"
+TRCID_       0x84C2 TRACE_TSTM          "tcCleanup: clean TokenClass at 0x%lX"
+TRCID_       0x84C3 TRACE_TSTM          "tcLock enter: tc 0x%lX nest %d"
+TRCID_       0x84C4 TRACE_TSTM          "tcUnlock enter: tc 0x%lX nest %d"
+TRCID_       0x84C5 TRACE_TSTM          "tcGetServerIndex(%08X:%08X:%08X:%08X, %d): h %d i %d"
+TRCID_       0x84C6 TRACE_TSTM          "tcAwaitRecovery: tcRecoveryState %s RECOVERING "
+TRCID_       0x84C7 TRACE_TSTM          "Trash_Domain: trashing domain %s flags 0x%X phase %s"
+TRCID_       0x84C8 TRACE_TSTM          "Trash_Domain: TransitionWake for token at 0x%lX"
+TRCID_       0x84C9 TRACE_TSTM          "Trash_Domain: tokType %s key %08X:%08X:%08X:%08X cacheObj 0x%lX Token 0x%lX tmCli %s" $1=objtype_id2name $8=lockmode_id2name
+TRCID_       0x84CA TRACE_TSTM          "Trash_Domain: failed to acquire exclusive lock on ClassTable 0x%lX"
+TRCID_       0x84CB TRACE_TSTM          "Trash_Domain: Successfully locked ClassTable slot 0x%lX"
+TRCID_       0x84CC TRACE_TSTM          "Trash_Domain: referenced tokens left token 0x%lX tRefCount %d"
+TRCID_       0x84CD TRACE_TSTM          "      token at 0x%lX"
+TRCID_       0x84CE TRACE_TSTM          "Trash_Domain exit: returning rc %d"
+TRCID_       0x84CF TRACE_TSTM          "DisableDomain enter: TClass 0x%lX"
+TRCID_       0x84D0 TRACE_TSTM          "DisableDomain TokenClass already marked deleted"
+TRCID_       0x84D1 TRACE_TSTM          "DisableDomain exit rc %d"
+TRCID_       0x84D2 TRACE_TSTM          "DeleteDomain enter: TClass 0x%lX"
+TRCID_       0x84D3 TRACE_TSTM          "DeleteDomain TokenClass already marked deleted"
+TRCID_       0x84D4 TRACE_TSTM          "DeleteDomain msg send error %d"
+TRCID_       0x84D5 TRACE_TSTM          "tcDump enter: this 0x%lX lock %d"
+TRCID_       0x84D6 TRACE_TSTM          "tcDump: processing token at 0x%lX"
+TRCID_       0x84D7 TRACE_TSTM          "tcDump done"
+TRCID_       0x84D8 TRACE_TSTM          "AddNewDomain: Domain %s nServers %d"
+TRCID_       0x84D9 TRACE_TSTM          "AddNewDomain: active server slot %d: ipaddr %s nid %d" $2=nodeaddr_id2name
+TRCID_       0x84DA TRACE_TSTM          "AddNewDomain: got the write lock; clean TokenClass 0x%lX"
+TRCID_       0x84DB TRACE_TSTM          "AddNewDomain: unable to obtain write lock"
+TRCID_       0x84DC TRACE_TSTM          "AddNewDomain: domain already exists"
+TRCID_       0x84DD TRACE_TSTM          "AddNewDomain: unable to add old TokenClass object to ClassTable err %d"
+TRCID_       0x84DE TRACE_TSTM          "AddNewDomain: unable to add new TokenClass object to ClassTable tcP 0x%lX err %d"
+TRCID_       0x84DF TRACE_TSTM          "QueryHolders: majType %d tokType %d tokType %s key %08X:%08X:%08X:%08X" $3=objtype_id2name
+TRCID_       0x84E0 TRACE_TSTM          "QueryHolders: NULL range pointer"
+TRCID_       0x84E1 TRACE_TSTM          "QueryHolders: range 0x%llX-0x%llX"
+TRCID_       0x84E2 TRACE_TSTM          "TokenClass::QueryHolders comm error %d"
+TRCID_       0x84E3 TRACE_TSTM          "QueryHolders: rc %d"
+TRCID_       0x84E4 TRACE_TSTM          "QueryHolders: result was COPYSET"
+TRCID_       0x84E5 TRACE_TSTM          "QueryHolders: result was COPYSET count %d"
+TRCID_       0x84E6 TRACE_TSTM          "QueryHolders: error %d"
+TRCID_       0x84E7 TRACE_TSTM          "HandleQueryRequest enter: node %d majType %d minType %d tokType %s key %08X:%08X:%08X:%08X" $4=objtype_id2name
+TRCID_       0x84E8 TRACE_TSTM          "HandleQueryRequest: got message from recovering node %d, returning E_IO"
+TRCID_       0x84E9 TRACE_TSTM          "HandleQueryRequest: token not found"
+TRCID_       0x84EA TRACE_TSTM          "HandleQueryRequest: returning COPYSET"
+TRCID_       0x84EB TRACE_TSTM          "HandleQueryRequest: no COPYSET"
+TRCID_       0x84EC TRACE_TSTM          "HandleBRQueryRequest enter: Node %d majType %d minType %d MinType %s key %08X:%08X:%08X:%08X" $4=objtype_id2name
+TRCID_       0x84ED TRACE_TSTM          "HandleBRQueryRequest: Got message from a recovering node (%d), returning E_IO"
+TRCID_       0x84EE TRACE_TSTM          "HandleBRQueryRequest: non-existent token"
+TRCID_       0x84EF TRACE_TSTM          "HandleBRQueryRequest: conflict detected"
+TRCID_       0x84F0 TRACE_TSTM          "HandleBRQueryRequest: no conflict detected"
+TRCID_       0x84F1 TRACE_TSTM          "HandleCleanupRequestInterface enter reqP 0x%lX res 0x%lX"
+TRCID_       0x84F2 TRACE_TSTM          "HandleCleanupRequestInterface class not initialized on server"
+TRCID_       0x84F3 TRACE_TSTM          "HandleCleanupRequestInterface tclass is 0x%lX"
+TRCID_       0x84F4 TRACE_TSTM          "HandleCleanupRequestInterface Domain has been deleted"
+TRCID_       0x84F5 TRACE_TSTM          "HandleCleanupRequestInterface exit: rsize %d"
+TRCID_       0x84F6 TRACE_TSTM          "HandleCleanupRequest enter: reqP 0x%lX"
+TRCID_       0x84F7 TRACE_TSTM          "HandleCleanupRequest: node %d flags 0x%X Domain %s"
+TRCID_       0x84F8 TRACE_TSTM          "HandleCleanupRequest: BLOCK returns %d"
+TRCID_       0x84F9 TRACE_TSTM          "HandleCleanupRequest: DELETE returns %d"
+TRCID_       0x84FA TRACE_TSTM          "CheckThresholds enter: flags 0x%X."
+TRCID_       0x84FB TRACE_TSTM          "CheckThresholds: rc 0x%X Pct %d TokenPct %d RangePct %d TokenMgrStorageUse %d"
+TRCID_       0x84FC TRACE_TSTM          "CheckThresholds: test rc %d Pct %d TokenPct %d RangePct %d TokenMgrStorageUse %d"
+TRCID_       0x84FD TRACE_TSTM          "CheckThresholds: flags 0x%X rc 0x%X"
+TRCID_       0x84FE TRACE_TSTM          "CheckThresholds: rc 0x%X rtcP 0x%lX tcP 0x%lX"
+TRCID_       0x84FF TRACE_TSTM          "CheckThresholds: Storage use at %d percent (0x%X in a pool of 0x%X bytes)."
+TRCID_       0x8500 TRACE_TSTM          "CheckThresholds: ranges account for 0x%X bytes (%d percent of the pool)."
+TRCID_       0x8501 TRACE_TSTM          "CheckThresholds: tokens account for 0x%X bytes (%d percent of the pool)."
+TRCID_       0x8502 TRACE_TSTM          "CheckThresholds: returning 0x%X"
+TRCID_       0x8503 TRACE_TSTM          "CheckThresholds: rtcP = 0x%lX (%s) tcP = 0x%lX (%s)"
+TRCID_       0x8504 TRACE_TSTM          "DriveReclaimStorage: rtcP = 0x%lX (%s) tcP = 0x%lX (%s) aggLevel %d isClient %d"
+TRCID_       0x8505 TRACE_TSTM          "DriveReclaimStorage exit"
+TRCID_       0x8506 TRACE_TSTM          "ScheduleTheReclaim: enter"
+TRCID_       0x8507 TRACE_TSTM          "ScheduleTheReclaim: already running"
+TRCID_       0x8508 TRACE_TSTM          "ScheduleTheReclaim: rtcP 0x%lX (%s) tcP 0x%lX (%s) aggLevel %d isClient %d rc 0x%X"
+TRCID_       0x8509 TRACE_TSTM          "ScheduleTheReclaim: exit"
+TRCID_       0x850A TRACE_TSTM          "ReclaimIfNeeded enter: aggLevel %d pct used %d"
+TRCID_       0x850B TRACE_TSTM          "ReclaimIfNeeded exit"
+TRCID_       0x850C TRACE_TSTM          "ReclaimRangeToken: sgP 0x%lX (0x%lX) rtP 0x%lX state %s" $4=state_id2name
+TRCID_       0x850D TRACE_TSTM          "ReclaimRangeToken: ClientNode object not found node %d seqNum %lld"
+TRCID_       0x850E TRACE_TSTM          "ReclaimRangeToken: node %d seqNum %lld"
+TRCID_       0x850F TRACE_TSTM          "ReclaimRangeToken: RevokeFromClients rc %d"
+TRCID_       0x8510 TRACE_TSTM          "RangeTokenClass::ReclaimRangeToken: crtTellServer rc %d"
+TRCID_       0x8511 TRACE_TSTM          "ReclaimRangeToken: err %d"
+TRCID_       0x8512 TRACE_TSTM          "ReclaimStorage: rtcP 0x%lX aggressive %d"
+TRCID_       0x8513 TRACE_TSTM          "ReclaimStorage exit: rtcP 0x%lX"
+TRCID_       0x8514 TRACE_TSTM          "monitorStorageLevel rc 0x%X tcP 0x%lX"
+TRCID_       0x8515 TRACE_TSTM          "monitorResources: tcP 0x%lX loops %d totalRequests %ld totalReqPerSec %d req[loops] %d tempTmSpace %d pctSgSpace %d tcPctMaxFilesToCache %d"
+TRCID_       0x8516 TRACE_TSTM          "_event_ sgStats _node_ %s _tmSpace_ %d _tmRequest_ %d _fs_ %s" $1=nodeaddr_id2name
+TRCID_       0x8517 TRACE_TSTM          "monitorResources: sleepInterval %d retTime %d tms_utime %d tms_stime %d tms_cutime %d tms_cstime %d onePctSpace %d totalTmSpace %d"
+TRCID_       0x8518 TRACE_TSTM          "_event_ nodeStats _node_ %s _freeSpace_ %d _tmSpace_ %d _tmRequest_ %d _daemonTime_ %d" $1=nodeaddr_id2name
+TRCID_       0x8519 TRACE_TSTM          "monitorResources: just_joined %d canMove %d tcPctMaxFilesToCache %d"
+TRCID_       0x851A TRACE_TSTM          "TMInit enter"
+TRCID_       0x851B TRACE_TSTM          "TMInit exit: rc %d"
+TRCID_       0x851C TRACE_TSTM          "Created tokType %s key %08X:%08X:%08X:%08X at 0x%lX" $1=objtype_id2name
+TRCID_       0x851D TRACE_TSTM          "Token::~Token: eliminate Token at 0x%lX tRefCount %d"
+TRCID_       0x851E TRACE_TSTM          "stChangeState: oldState %s newState %s node %d" $1=state_id2name $2=state_id2name
+TRCID_       0x851F TRACE_TSTM          "ClientNode 0x%lX flags %X node %d"
+TRCID_       0x8520 TRACE_TSTM          "  Inode mode %s state %s seqNum %lld" $1=lockmode_id2name $2=state_id2name
+TRCID_       0x8521 TRACE_TSTM          "  Mnode mode %s state %s seqNum %lld" $1=lockmode_id2name $2=state_id2name
+TRCID_       0x8522 TRACE_TSTM          "  BR mode %s state %s seqNum %lld" $1=brmode_id2name $2=state_id2name
+TRCID_       0x8523 TRACE_TSTM          "  DMAPI mode %s state %s seqNum %lld" $1=lockmode_id2name $2=state_id2name
+TRCID_       0x8524 TRACE_TSTM          "  SMBOpen mode %s state %s seqNum %lld" $1=lockmode_id2name $2=state_id2name
+TRCID_       0x8525 TRACE_TSTM          "  SMBOpLk mode %s state %s seqNum %lld" $1=lockmode_id2name $2=state_id2name
+TRCID_       0x8526 TRACE_TSTM          "SubToken 0x%lX: type %s stTransNode %d state %s stFlags 0x%X" $2=objtype_id2name $4=state_id2name
+TRCID_       0x8527 TRACE_TSTM          "dprintTree: rc %d"
+TRCID_       0x8528 TRACE_TSTM          "tHold: ref count on 0x%lX is now %d"
+TRCID_       0x8529 TRACE_TSTM          "tRelease 0x%lX negative tRefCount"
+TRCID_       0x852A TRACE_TSTM          "tRelease: ref count on 0x%lX is now %d"
+TRCID_       0x852B TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X 0-INF del tree serv"
+TRCID_       0x852C TRACE_TSTM          "tLock 0x%lX"
+TRCID_       0x852D TRACE_TSTM          "tUnlock 0x%lX"
+TRCID_       0x852E TRACE_TSTM          "stAwaitStable: subtoken 0x%lX state %s stTransNode %d flags 0x%X" $2=state_id2name
+TRCID_       0x852F TRACE_TSTM          "Domain is being deleted\n"
+TRCID_       0x8530 TRACE_TSTM          "stAwaitStable: reclaim thread stTransNode == node %d"
+TRCID_       0x8531 TRACE_TSTM          "stAwaitStable: while reclaiming stTransNode == node %d"
+TRCID_       0x8532 TRACE_TSTM          "stAwaitStable: stTransNode == node %d"
+TRCID_       0x8533 TRACE_TSTM          "stAwaitStable: early seqNum.  Got %lld, expected > %lld"
+TRCID_       0x8534 TRACE_TSTM          "Transition sleeping"
+TRCID_       0x8535 TRACE_TSTM          "stAwaitStable: domain is RECOVERING"
+TRCID_       0x8536 TRACE_TSTM          "stAwaitStable: domain is being deleted"
+TRCID_       0x8537 TRACE_TSTM          "stAwakenOneWaiter: tokP 0x%lX stP 0x%lX stTransNode %d state %s" $4=state_id2name
+TRCID_       0x8538 TRACE_TSTM          "stAwakenOneWaiter: enqueued message 0x%lX for retry"
+TRCID_       0x8539 TRACE_TSTM          "cleanTokenBR: BR token at 0x%lX was cached"
+TRCID_       0x853A TRACE_TSTM          "HandleTellRequestInterface enter: reqP 0x%lX res 0x%lX nAttempts %d"
+TRCID_       0x853B TRACE_TSTM          "HandleTellRequestInterface class not initialized on server"
+TRCID_       0x853C TRACE_TSTM          "HandleTellRequestInterface: tclass 0x%lX flags 0x%X"
+TRCID_       0x853D TRACE_TSTM          "HandleTellRequestInterface: domain has been deleted"
+TRCID_       0x853E TRACE_TSTM          "HandleTellRequestInterface exit: rsize %d"
+TRCID_       0x853F TRACE_TSTM          "fixClientMode: req mode %s downgrade node %d %s to %s seqNum %lld client seqNum %lld" $1=lockmode_id2name $3=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x8540 TRACE_TSTM          "fixClientMode: req mode %s skip non-downgrade node %d %s to %s seqNum %lld cliseqNum %lld" $1=lockmode_id2name $3=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x8541 TRACE_TSTM          "fixClientMode: node %d not found"
+TRCID_       0x8542 TRACE_TSTM          "HandleTellRequest: reqP 0x%lX domain %s"
+TRCID_       0x8543 TRACE_TSTM          "HandleTellRequest enter: mode %s node %d flags 0x%X seqNum %lld" $1=lockmode_id2name
+TRCID_       0x8544 TRACE_TSTM          "  majType %d minType %d tokType %s key %08X:%08X:%08X:%08X" $3=objtype_id2name
+TRCID_       0x8545 TRACE_TSTM          "HandleTellRequest: domain recovery state mismatch"
+TRCID_       0x8546 TRACE_TSTM          "HandleTellRequest: server node is %d, returning E_NOT_TM_SERVER"
+TRCID_       0x8547 TRACE_TSTM          "HandleTellRequest: inum %d mnode token during log recov err %d\n"
+TRCID_       0x8548 TRACE_TSTM          "HandleTellRequest: could not allocate Token"
+TRCID_       0x8549 TRACE_TSTM          "HandleTellRequest: created token at 0x%lX"
+TRCID_       0x854A TRACE_TSTM          "HandleTellRequest: got message from recovering node %d, returning E_IO"
+TRCID_       0x854B TRACE_TSTM          "HandleTellRequest: stAwaitStable returned %d"
+TRCID_       0x854C TRACE_TSTM          "HandleTellRequest: node %d new cliP 0x%lX"
+TRCID_       0x854D TRACE_TSTM          "HandleTellRequest: node %d found cliP 0x%lX"
+TRCID_       0x854E TRACE_TSTM          "HandleTellRequest: relinquishing tokType %s key %08X:%08X:%08X:%08X to nl from %s" $1=objtype_id2name $6=lockmode_id2name
+TRCID_       0x854F TRACE_TSTM          "HandleTellRequest: early SeqNum.  Got %lld, expected > %lld"
+TRCID_       0x8550 TRACE_TSTM          "HandleTellRequest: mnode designated %d cli mnode %s inode %s" $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x8551 TRACE_TSTM          "HandleTellRequest: naddr %s niP 0x%lX local %d clid %lld stFlags 0x%02X needToDesignateMnode %d serverSideRevokeNeeded %d" $1=nodeaddr_id2name
+TRCID_       0x8552 TRACE_TSTM          "HandleTellRequest: otherCliP 0x%lX node %d mode %s" $3=lockmode_id2name
+TRCID_       0x8553 TRACE_TSTM          "  naddr %s niP 0x%lX local %d clid %lld" $1=nodeaddr_id2name
+TRCID_       0x8554 TRACE_TSTM          "  setting needToDesignateMnode to 'yes'"
+TRCID_       0x8555 TRACE_TSTM          "HandleTellRequest: copyset contains recovering node %d"
+TRCID_       0x8556 TRACE_TSTM          "HandleTellRequest: local request awaiting recovery"
+TRCID_       0x8557 TRACE_TSTM          "HandleTellRequest: local request awakening after recovery"
+TRCID_       0x8558 TRACE_TSTM          "HandleTellRequest: processing second tell req for metanode/oplock acquire"
+TRCID_       0x8559 TRACE_TSTM          "HandleTellRequest: metanode acquire, client %d still has mode xw, did not downgrade"
+TRCID_       0x855A TRACE_TSTM          "HandleTellRequest: oplock reader, client %d still has conflicting mode %s" $2=lockmode_id2name
+TRCID_       0x855B TRACE_TSTM          "HandleTellRequest: oplock writer, client %d still has conflicting mode %s" $2=lockmode_id2name
+TRCID_       0x855C TRACE_TSTM          "  naddr %s niP 0x%lX local %d clid %lld ssrNeeded %d" $1=nodeaddr_id2name
+TRCID_       0x855D TRACE_TSTM          "HandleTellRequest: early grant: %s < %s on node %d" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x855E TRACE_TSTM          "HandleTellRequest: mnode force: defer mnode designation"
+TRCID_       0x855F TRACE_TSTM          "HandleTellRequest: mnode force: preserve existing mnode %d"
+TRCID_       0x8560 TRACE_TSTM          "HandleTellRequest: mnode force: revoking current mnode %d to assign %d"
+TRCID_       0x8561 TRACE_TSTM          "HandleTellRequest: mnode force: assigning new mnode %d"
+TRCID_       0x8562 TRACE_TSTM          "HandleTellRequest: mnode force: found suitable mnode %d"
+TRCID_       0x8563 TRACE_TSTM          "HandleTellRequest: remove designate mnode %d from copyset"
+TRCID_       0x8564 TRACE_TSTM          "HandleTellRequest: returning COPYSET for %d nodes"
+TRCID_       0x8565 TRACE_TSTM          "HandleTellRequest: assigning mnode %d for pending xw inode rvk"
+TRCID_       0x8566 TRACE_TSTM          "HandleTellRequest: granting tokType %s key %08X:%08X:%08X:%08X mode %s->%s to node %d" $1=objtype_id2name $6=lockmode_id2name $7=lockmode_id2name
+TRCID_       0x8567 TRACE_TSTM          "HandleTellRequest: mnode force: found missing mnode %d"
+TRCID_       0x8568 TRACE_TSTM          "releaseAllTokens: tableIndex %d node %d cliP 0x%lX "
+TRCID_       0x8569 TRACE_TSTM          "designatedMnodeNeeded: multipleClustersFound %d needAvoidMnodeThrashing %d"
+TRCID_       0x856A TRACE_TSTM          "updateDesignatedMnode: designated mnode no longer needed"
+TRCID_       0x856B TRACE_TSTM          "updateDesignatedMnode: preserving mnode token for %d"
+TRCID_       0x856C TRACE_TSTM          "updateDesignatedMnode: preserving inode token for %d"
+TRCID_       0x856D TRACE_TSTM          "updateDesignatedMnode: allow designated mnode %d to resign"
+TRCID_       0x856E TRACE_TSTM          "updateDesignatedMnode: assigning new mnode %d replacing %d"
+TRCID_       0x856F TRACE_TSTM          "updateDesignatedMnode: allow mnode %d to resign"
+TRCID_       0x8570 TRACE_TSTM          "acquireSubTokenBR: relinquish BR key %08X:%08X:%08X:%08X 0-INF node %d BR_DELETE_OLD_BR"
+TRCID_       0x8571 TRACE_TSTM          "acquireSubTokenBR: granting tokType %s key %08X:%08X:%08X:%08X range 0x%llX-0x%llX mode %s to node %d seqNum %lld" $1=objtype_id2name $8=brmode_id2name
+TRCID_       0x8572 TRACE_TSTM          "releaseSubToken: seqNum changed, client seqNum %lld revokeSeq %lld tokType %s newMode %s oldMode %s node %d" $3=objtype_id2name $4=lockmode_id2name $5=lockmode_id2name
+TRCID_       0x8573 TRACE_TSTM          "releaseSubToken: relinquishing tokType %s node %d to nl from %s" $1=objtype_id2name $3=lockmode_id2name
+TRCID_       0x8574 TRACE_TSTM          "releaseSubToken: downgrade tokType %s node %d to %s via %s from %s" $1=objtype_id2name $3=lockmode_id2name $4=lockmode_id2name $5=lockmode_id2name
+TRCID_       0x8575 TRACE_TSTM          "releaseSubTokenBR: seqNum changed, client seqNum %lld revokeSeq %lld tokType %s newMode %s node %d" $3=objtype_id2name $4=brmode_id2name
+TRCID_       0x8576 TRACE_TSTM          "releaseSubTokenBR: tokType %s key %08X:%08X:%08X:%08X range 0-INF mode nl node %d client seqNum %lld revokeSeq %lld" $1=objtype_id2name
+TRCID_       0x8577 TRACE_TSTM          "acquireSubToken: type %s mode %s minMode %s node %d seqNum %lld" $1=objtype_id2name $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x8578 TRACE_TSTM          "acquireSubToken: setting type %s mode nl seqNum %lld cliNode %d client seqNum %lld state %s" $1=objtype_id2name $5=state_id2name
+TRCID_       0x8579 TRACE_TSTM          "acquireSubToken: otherCliP 0x%lX node %d mode %s" $3=lockmode_id2name
+TRCID_       0x857A TRACE_TSTM          "acquireSubToken: metanode acquire: node %d has mode %s" $2=lockmode_id2name
+TRCID_       0x857B TRACE_TSTM          "acquireSubToken: early grant: %s < %s on node %d" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x857C TRACE_TSTM          "acquireSubToken: type %s had mode %s can grant %s" $1=objtype_id2name $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x857D TRACE_TSTM          "acquireSubToken: type %s granting token mode %s seqNum %lld" $1=objtype_id2name $2=lockmode_id2name
+TRCID_       0x857E TRACE_TSTM          "acquireSubToken exit"
+TRCID_       0x857F TRACE_TSTM          "CheckRange: treeP 0x%lX range 0x%llX-0x%llX desiredRange 0x%llX-0x%llX"
+TRCID_       0x8580 TRACE_TSTM          " mode %s node %d grantedP 0x%lX" $1=brmode_id2name
+TRCID_       0x8581 TRACE_TSTM          "CheckRange: result is COPYSET of size %d"
+TRCID_       0x8582 TRACE_TSTM          "CheckRange: granted range 0x%llX-0x%llX"
+TRCID_       0x8583 TRACE_TSTM          "CheckRangeConflict: treeP 0x%lX range 0x%llX-0x%llX mode %s node %d" $4=brmode_id2name
+TRCID_       0x8584 TRACE_TSTM          "CheckRangeConflict: result is TRUE"
+TRCID_       0x8585 TRACE_TSTM          "HandleBRTellRequest enter: reqP 0x%lX domain %s"
+TRCID_       0x8586 TRACE_TSTM          "HandleBRTellRequest enter: mode %s node %d flags 0x%X seqNum %lld" $1=brmode_id2name
+TRCID_       0x8587 TRACE_TSTM          "  majType %d minType %d tokType %s key %08X:%08X:%08X:%08X" $3=objtype_id2name
+TRCID_       0x8588 TRACE_TSTM          "  Req 0x%llX-0x%llX Des 0x%llX-0x%llX"
+TRCID_       0x8589 TRACE_TSTM          "HandleBRTellRequest: domain recovery state mismatch"
+TRCID_       0x858A TRACE_TSTM          "HandleBRTellRequest: server node is %d, returning E_NOT_TM_SERVER"
+TRCID_       0x858B TRACE_TSTM          "HandleBRTellRequest: could not allocate Token"
+TRCID_       0x858C TRACE_TSTM          "HandleBRTellRequest: created token at 0x%lX"
+TRCID_       0x858D TRACE_TSTM          "HandleBRTellRequest: got message from recovering node %d, returning E_IO"
+TRCID_       0x858E TRACE_TSTM          "HandleBRTellRequest: fastTrack element (RO holders are nodes in copyset):"
+TRCID_       0x858F TRACE_TSTM          "HandleBRTellRequest: stAwaitStable returned %d"
+TRCID_       0x8590 TRACE_TSTM          "HandleBRTellRequest: node %d new cliP 0x%lX"
+TRCID_       0x8591 TRACE_TSTM          "HandleBRTellRequest: node %d found cliP 0x%lX"
+TRCID_       0x8592 TRACE_TSTM          "HandleBRTellRequest: reseting token back to STABLE state"
+TRCID_       0x8593 TRACE_TSTM          "HandleBRTellRequest: downgrade BR key %08X:%08X:%08X:%08X range 0x%llX-0x%llX to %s node %d seqNum %lld client seqNum %lld" $7=brmode_id2name
+TRCID_       0x8594 TRACE_TSTM          "HandleBRTellRequest: early SeqNum, got %lld, expected > %lld"
+TRCID_       0x8595 TRACE_TSTM          "HandleBRTellRequest: relinquish BR key %08X:%08X:%08X:%08X 0-INF node %d BR_DELETE_OLD_BR"
+TRCID_       0x8596 TRACE_TSTM          "HandleBRTellRequest: begin freeReq type %s key %08X:%08X:%08X:%08X csCount %d" $1=objtype_id2name
+TRCID_       0x8597 TRACE_TSTM          "HandleBRTellRequest: freeReq 0x%llX-0x%llX node %d mode %s rc %d seqNum %lld" $4=brmode_id2name
+TRCID_       0x8598 TRACE_TSTM          "HandleBRTellRequest: end freeReq type %s key %08X:%08X:%08X:%08X csCount %d" $1=objtype_id2name
+TRCID_       0x8599 TRACE_TSTM          "HandleBRTellRequest: switch from RO/RW to SX, node %d"
+TRCID_       0x859A TRACE_TSTM          "HandleBRTellRequest: generating copyset to switch from RO/RW to SX, node %d"
+TRCID_       0x859B TRACE_TSTM          "HandleBRTellRequest: switch from SX to RO/RW, node %d"
+TRCID_       0x859C TRACE_TSTM          "HandleBRTellRequest: generating copyset to switch from SX to RO/RW, node %d"
+TRCID_       0x859D TRACE_TSTM          "HandleBRTellRequest: node %d new cliP 0x%lX"
+TRCID_       0x859E TRACE_TSTM          "HandleBRTellRequest: node %d found cliP 0x%lX"
+TRCID_       0x859F TRACE_TSTM          "HandleBRTellRequest: could not locate client object for node %d"
+TRCID_       0x85A0 TRACE_TSTM          "HandleBRTellRequest: copyset node %d seqNum %lld"
+TRCID_       0x85A1 TRACE_TSTM          "  naddr %s niP 0x%lX local %d clid %lld ssrNeeded %d" $1=nodeaddr_id2name
+TRCID_       0x85A2 TRACE_TSTM          "HandleBRTellRequest: CTM_A_RECLOCK_GETLK set, returning."
+TRCID_       0x85A3 TRACE_TSTM          "HandleBRTellRequest: granting tokType %s key %08X:%08X:%08X:%08X range 0x%llX-0x%llX mode %s to node %d seqNum %lld" $1=objtype_id2name $8=brmode_id2name
+TRCID_       0x85A4 TRACE_TSTM          "HandleBRTellRequest: new range info:"
+TRCID_       0x85A5 TRACE_TSTM          "HandleTellRequestMultiInterface: brmode %s node %d flags 0x%X seqNum %lld" $1=brmode_id2name
+TRCID_       0x85A6 TRACE_TSTM          "HandleTellRequestMultiInterface: mode %s node %d flags 0x%X seqNum %lld" $1=lockmode_id2name
+TRCID_       0x85A7 TRACE_TSTM          "HandleTellRequestMultiInterface: return %d"
+TRCID_       0x85A8 TRACE_TSTM          "HandleQueryRequestInterface enter: reqP 0x%lX res 0x%lX"
+TRCID_       0x85A9 TRACE_TSTM          "HandleQueryRequestInterface: class not initialized on server"
+TRCID_       0x85AA TRACE_TSTM          "HandleQueryRequestInterface: tcP 0x%lX"
+TRCID_       0x85AB TRACE_TSTM          "HandleQueryRequestInterface: domain has been deleted"
+TRCID_       0x85AC TRACE_TSTM          "HandleQueryRequestInterface exit: rsize %d"
+TRCID_       0x85AD TRACE_TSTM          "doServerSideRevoke1: qeP 0x%lX reqP 0x%lX nAttempts %d"
+TRCID_       0x85AE TRACE_TSTM          "doServerSideRevoke1: revoking from %d nodes"
+TRCID_       0x85AF TRACE_TSTM          "doServerSideRevoke1: node %d mode %s index %d seqNum %lld" $2=lockmode_id2name
+TRCID_       0x85B0 TRACE_TSTM          "doServerSideRevoke1: sending revoke"
+TRCID_       0x85B1 TRACE_TSTM          "doServerSideRevoke1: error rc %d"
+TRCID_       0x85B2 TRACE_TSTM          "serverSideRevokeCB: qeP 0x%lX reqP 0x%lX"
+TRCID_       0x85B3 TRACE_TSTM          "doServerSideRevoke2: qeP 0x%lX reqP 0x%lX nAttempts %d"
+TRCID_       0x85B4 TRACE_TSTM          "doServerSideRevoke2: processing %d replies"
+TRCID_       0x85B5 TRACE_TSTM          "doServerSideRevoke2: ctr %d got an ERROR rc: %d"
+TRCID_       0x85B6 TRACE_TSTM          "doServerSideRevoke2: errno %d was unexpected"
+TRCID_       0x85B7 TRACE_TSTM          "doServerSideRevoke2: generating second tell request"
+TRCID_       0x85B8 TRACE_TSTM          "doServerSideRevoke2: error rc %d"
+TRCID_       0x85B9 TRACE_TSTM          "doServerSideBRRevoke1: qeP 0x%lX reqP 0x%lX nAttempts %d"
+TRCID_       0x85BA TRACE_TSTM          "doServerSideBRRevoke1: sending revoke %d of 0..%d"
+TRCID_       0x85BB TRACE_TSTM          "doServerSideBRRevoke1: revoking from %d nodes"
+TRCID_       0x85BC TRACE_TSTM          "doServerSideBRRevoke1: sending revoke"
+TRCID_       0x85BD TRACE_TSTM          "doServerSideBRRevoke1: error rc %d"
+TRCID_       0x85BE TRACE_TSTM          "doServerSideBRRevoke2: qeP 0x%lX reqP 0x%lX nAttempts %d"
+TRCID_       0x85BF TRACE_TSTM          "doServerSideBRRevoke2: processing reply %d of 0..%d"
+TRCID_       0x85C0 TRACE_TSTM          "doServerSideBRRevoke2: generating new tell request"
+TRCID_       0x85C1 TRACE_TSTM          "doServerSideBRRevoke2: processing %d replies"
+TRCID_       0x85C2 TRACE_TSTM          "doServerSideBRRevoke2: revoke rc %d node %d csEntry start 0x%llX end 0x%llX mode %s seqNum %lld"
+TRCID_       0x85C3 TRACE_TSTM          "doServerSideBRRevoke2: generating second tell request"
+TRCID_       0x85C4 TRACE_TSTM          "doServerSideBRRevoke2: error rc %d"
+TRCID_       0x85C5 TRACE_TSTM          "ctSetSeqNum: seqNum %lld type %s mode %s" $2=objtype_id2name $3=lockmode_id2name
+TRCID_       0x85C6 TRACE_TSTM          "ctIncSeqNum: seqNum %lld type %s mode %s" $2=objtype_id2name $3=lockmode_id2name
+TRCID_       0x85C7 TRACE_TSTM          "ctTransitionWait: TokenThCond 0x%lX state %s" $2=state_id2name
+TRCID_       0x85C8 TRACE_TSTM          "ctTransitionWait: local transition awoke"
+TRCID_       0x85C9 TRACE_TSTM          "  flags: %s"
+TRCID_       0x85CA TRACE_TSTM          "  flags: %s"
+TRCID_       0x85CB TRACE_TSTM          "ctSetMode: cachedObjP 0x%lX type %s ctMode %s newMode %s" $2=objtype_id2name $3=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x85CC TRACE_TSTM          "ctTransitionWake: TokenThCond 0x%lX state %s" $2=state_id2name
+TRCID_       0x85CD TRACE_TSTM          "ctReleaseTokens: cachedObjP 0x%lX index %d flags 0x%X"
+TRCID_       0x85CE TRACE_TSTM          "ctReleaseTokens: tokType %s mode %s i %d ctFlags 0x%X ctState %s" $1=objtype_id2name $2=lockmode_id2name $5=state_id2name
+TRCID_       0x85CF TRACE_TSTM          "ctReleaseTokens: tokType %s mode %s i %d ctFlags 0x%X ctState %s" $1=objtype_id2name $2=brmode_id2name $5=state_id2name
+TRCID_       0x85D0 TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X 0-INF rel mode %s seqNum %lld cachedObj 0x%lX" $5=brmode_id2name
+TRCID_       0x85D1 TRACE_TSTM          "releaseAllTokens BR flags 0x%X type %s mode %s ctModeReq %s ctTableUsed %d" $2=objtype_id2name $3=brmode_id2name $4=brmode_id2name
+TRCID_       0x85D2 TRACE_TSTM          "ctAcquire enter: mode %s type %s cachedObjP 0x%lX flags 0x%X revokeReqP 0x%lX" $1=lockmode_id2name $2=objtype_id2name
+TRCID_       0x85D3 TRACE_TSTM          "ctAcquire: CTM_A_RELEASE"
+TRCID_       0x85D4 TRACE_TSTM          "ctAcquire: state %s" $1=state_id2name
+TRCID_       0x85D5 TRACE_TSTM          "ctAcquire: BUSY state %s objType %s\n" $1=state_id2name $2=objtype_id2name
+TRCID_       0x85D6 TRACE_TSTM          "ctAcquire: rc %d"
+TRCID_       0x85D7 TRACE_TSTM          "ctAcquire: server changed: old %d new %d state %s" $3=state_id2name
+TRCID_       0x85D8 TRACE_TSTM          "ctAcquire: type %s multi asked for %s got %s seqNum %lld" $1=objtype_id2name $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x85D9 TRACE_TSTM          "ctAcquire: type %s multi got %s seqNum %lld" $1=objtype_id2name $2=lockmode_id2name
+TRCID_       0x85DA TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X 0-INF pre mode %s seqNum %lld cachedObj 0x%lX" $5=brmode_id2name
+TRCID_       0x85DB TRACE_TSTM          "ctAcquire: treeState %d type %s multi got %s seqNum %lld" $2=objtype_id2name $3=lockmode_id2name
+TRCID_       0x85DC TRACE_TSTM          "ctAcquire: ctFlags 0x%X type %s multi got %s seqNum %lld" $2=objtype_id2name $3=lockmode_id2name
+TRCID_       0x85DD TRACE_TSTM          "ctAcquire returning mode %s nodeAddr %s" $1=lockmode_id2name $2=nodeaddr_id2name
+TRCID_       0x85DE TRACE_TSTM          "ctAcquire: ctRevokeFromClients failed E_IO, continue acquire"
+TRCID_       0x85DF TRACE_TSTM          "ctAcquire: ctRevokeFromClients ERROR %d"
+TRCID_       0x85E0 TRACE_TSTM          "ctAcquire: rollback of token state failed rc %d rc2 %d"
+TRCID_       0x85E1 TRACE_TSTM          "ctAcquire: finished revoke, attempting acquire"
+TRCID_       0x85E2 TRACE_TSTM          "ctAcquire: max number of acquire attempts reached, sleeping"
+TRCID_       0x85E3 TRACE_TSTM          "ctAcquire: awoke"
+TRCID_       0x85E4 TRACE_TSTM          "ctAcquire: error code from server %d"
+TRCID_       0x85E5 TRACE_TSTM          "ctAcquire: rollback of token state rc %d rc2 %d"
+TRCID_       0x85E6 TRACE_TSTM          "ctAcquire: SHOULD NOT GET HERE rc %d"
+TRCID_       0x85E7 TRACE_TSTM          "ctAcquire: invalid mode %s specified" $1=lockmode_id2name
+TRCID_       0x85E8 TRACE_TSTM          "ctAcquire: no revoke reply message queued"
+TRCID_       0x85E9 TRACE_TSTM          "ctAcquire: maintaining state %s" $1=state_id2name
+TRCID_       0x85EA TRACE_LOCK          "ctAcquire: inode revoke resetting CTF_DESIGNATED_MNODE_CHECK"
+TRCID_       0x85EB TRACE_TSTM          "ctAcquire: revokeMode %s revokeFlags 0x%X new tokenMode %s" $1=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x85EC TRACE_TSTM          "ctAcquire: token was not downgraded"
+TRCID_       0x85ED TRACE_TSTM          "ctAcquire: tokType %s tokMode %s i %d seqNum %lld" $1=objtype_id2name $2=lockmode_id2name
+TRCID_       0x85EE TRACE_TSTM          "ctAcquire :tokType %s tokMode %s i %d seqNum %lld treeState %d" $1=objtype_id2name $2=brmode_id2name
+TRCID_       0x85EF TRACE_TSTM          "ctAcquire: maintaining state %s" $1=state_id2name
+TRCID_       0x85F0 TRACE_TSTM          "ctAcquire exit: new mode %s rc 0" $1=lockmode_id2name
+TRCID_       0x85F1 TRACE_TSTM          "ctAcquire: exitAcquire rc %d tc2 %d tcRecoveryState %d"
+TRCID_       0x85F2 TRACE_TSTM          "ctTellServer: upgrade token at 0x%lX server %d to mode %s" $3=lockmode_id2name
+TRCID_       0x85F3 TRACE_TSTM          "ctTellServer: comm error %d"
+TRCID_       0x85F4 TRACE_TSTM          "ctTellServer: comm_status %d, rc %d"
+TRCID_       0x85F5 TRACE_TSTM          "ctTellServer: server changed: old %d new %d, ctState %s" $3=state_id2name
+TRCID_       0x85F6 TRACE_TSTM          "ctTellServer: roGrantedMode %s (%d) ReturnableObject.type %d" $1=lockmode_id2name
+TRCID_       0x85F7 TRACE_TSTM          "ctTellServer: result was COPYSET"
+TRCID_       0x85F8 TRACE_TSTM          "ctTellServer: No COPYSET * provided"
+TRCID_       0x85F9 TRACE_TSTM          "ctTellServer: E_NOMEM on get new Copyset"
+TRCID_       0x85FA TRACE_TSTM          "ctTellServer: result was COPYSET count %d"
+TRCID_       0x85FB TRACE_TSTM          "ctTellServer: error %d"
+TRCID_       0x85FC TRACE_TSTM          "ctRevokeFromClients: newmode %s" $1=lockmode_id2name
+TRCID_       0x85FD TRACE_TSTM          "ctRevokeFromClients: revoking from %d nodes"
+TRCID_       0x85FE TRACE_TSTM          "ctRevokeFromClients: node %d mode %s index %d seqNum %lld" $2=lockmode_id2name
+TRCID_       0x85FF TRACE_TSTM          "ctRevokeFromClients: msg send error %d"
+TRCID_       0x8600 TRACE_TSTM          "ctRevokeFromClients: msg send error %d"
+TRCID_       0x8601 TRACE_TSTM          "ctRevokeFromClients: domain has been deleted\n"
+TRCID_       0x8602 TRACE_TSTM          "ctRevokeFromClients: server changed, old %d new %d, return E_NOT_TM_SERVER to continue acquire"
+TRCID_       0x8603 TRACE_TSTM          "ctRevokeFromClients: ctr %d got an ERROR rc: %d"
+TRCID_       0x8604 TRACE_TSTM          "ctRevokeFromClients: errno %d was unexpected"
+TRCID_       0x8605 TRACE_TSTM          "ctRevokeFromClients: returning %d"
+TRCID_       0x8606 TRACE_TSTM          "HandleRevokeRequest enter: req 0x%lX rp 0x%lX"
+TRCID_       0x8607 TRACE_TSTM          "HandleRevokeRequest: seqCount %d seqNum %lld node %d flags 0x%X mode %s" $5=lockmode_id2name
+TRCID_       0x8608 TRACE_TSTM          "                    revoking tokType %s key %08X:%08X:%08X:%08X" $1=objtype_id2name
+TRCID_       0x8609 TRACE_TSTM          "HandleRevokeRequest: reqP 0x%lX seqCount %d"
+TRCID_       0x860A TRACE_TSTM          "HandleRevokeRequest: node %d myNode %d seqNum %lld"
+TRCID_       0x860B TRACE_TSTM          "HandleRevokeRequest: give message to TokenRevokeHandler seqNum %lld revokeReqP 0x%lX"
+TRCID_       0x860C TRACE_TSTM          "HandleRevokeRequest returning MSG_QUEUED"
+TRCID_       0x860D TRACE_TSTM          "HandleRevokeRequest exit: rc %d"
+TRCID_       0x860E TRACE_TSTM          "ctTransferState done, cachedObjP 0x%lX"
+TRCID_       0x860F TRACE_TSTM          "ctCompact: cachedObjP 0x%lX modeAndFlags 0x%X tokType %s state %s flags 0x%X mode %s" $3=objtype_id2name $4=state_id2name $6=lockmode_id2name
+TRCID_       0x8610 TRACE_TSTM          "ctExpand: cachedObjP 0x%lX modeAndFlags 0x%X tokType %s state %s flags 0x%X seqNum %lld mode %s" $3=objtype_id2name $4=state_id2name $7=lockmode_id2name
+TRCID_       0x8611 TRACE_TSTM          "RevokeReq::Insert: this 0x%lX"
+TRCID_       0x8612 TRACE_TSTM          "RevokeReq::Remove: this 0x%lX"
+TRCID_       0x8613 TRACE_TSTM          "RevokeReq::RemoveNext: this 0x%lX next 0x%lX"
+TRCID_       0x8614 TRACE_TSTM          "IsRangeCached enter: 0x%llX-0x%llX mode %s treeP 0x%lX" $3=brmode_id2name
+TRCID_       0x8615 TRACE_TSTM          "IsRangeCached exit: true, tiLastVerifiedByte 0x%llX range.end 0x%llX mode %s" $3=brmode_id2name
+TRCID_       0x8616 TRACE_TSTM          "IsRangeCached exit: false, no nodes visited"
+TRCID_       0x8617 TRACE_TSTM          "IsRangeCached exit: false, range incomplete"
+TRCID_       0x8618 TRACE_TSTM          "IsRangeCached exit: true, range 0x%llX-0x%llX nodesVisited %d"
+TRCID_       0x8619 TRACE_TSTM          "crtTellServer: skip tell msg due to MIN_TRANSFER"
+TRCID_       0x861A TRACE_TSTM          "crtTellServer enter: upgrade token at 0x%lX to mode %s" $2=brmode_id2name
+TRCID_       0x861B TRACE_TSTM          "              reqRange 0x%llX-0x%llX, desiredRange 0x%llX-0x%llX"
+TRCID_       0x861C TRACE_TSTM          "crtTellServer: comm error %d"
+TRCID_       0x861D TRACE_TSTM          "crtTellServer: comm_status %d, rc %d"
+TRCID_       0x861E TRACE_TSTM          "crtTellServer: server changed: old %d new %d, state %s" $3=state_id2name
+TRCID_       0x861F TRACE_TSTM          "crtTellServer: result was COPYSET"
+TRCID_       0x8620 TRACE_TSTM          "crtTellServer: no COPYSET * provided"
+TRCID_       0x8621 TRACE_TSTM          "crtTellServer: E_NOMEM on get new Copyset"
+TRCID_       0x8622 TRACE_TSTM          "crtTellServer: result was COPYSET count %d"
+TRCID_       0x8623 TRACE_TSTM          "crtTellServer: result was NOT_TM_SERVER"
+TRCID_       0x8624 TRACE_TSTM          "crtTellServer: unexpected rc %d from server"
+TRCID_       0x8625 TRACE_TSTM          "crtTellServer returning %d"
+TRCID_       0x8626 TRACE_TSTM          "crtAcquire enter: this 0x%lX, mode %s, flags 0x%X, old client seqNum %lld" $2=brmode_id2name
+TRCID_       0x8627 TRACE_TSTM          "          tokType %s ctFlags 0x%X key %08X:%08X:%08X:%08X" $1=objtype_id2name
+TRCID_       0x8628 TRACE_TSTM          "          range 0x%llX-0x%llX"
+TRCID_       0x8629 TRACE_TSTM          "          desiredRange 0x%llX-0x%llX"
+TRCID_       0x862A TRACE_TSTM          "          UserData: 0x%08X %08X %08X %08X"
+TRCID_       0x862B TRACE_TSTM          "crtAcquire: invalid argument specified"
+TRCID_       0x862C TRACE_TSTM          "crtAcquire: transition sleeping"
+TRCID_       0x862D TRACE_TSTM          "crtAcquire: no revoke reply message queued"
+TRCID_       0x862E TRACE_TSTM          "crtAcquire: expanding range to give up to 0-inf"
+TRCID_       0x862F TRACE_TSTM          "crtAcquire: updating cached range info before"
+TRCID_       0x8630 TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X 0x%llX-0x%llX acq del"
+TRCID_       0x8631 TRACE_TSTM          "+BR key %08X:%08X:%08X:%08X mode %s seqNum %lld cachedObj 0x%lX" $5=brmode_id2name
+TRCID_       0x8632 TRACE_TSTM          "crtAcquire: after"
+TRCID_       0x8633 TRACE_TSTM          "crtAcquire: maintaining state %s" $1=state_id2name
+TRCID_       0x8634 TRACE_TSTM          "crtAcquire: crtTellServer error %d state %s" $2=state_id2name
+TRCID_       0x8635 TRACE_TSTM          "crtAcquire: maintaining state %s" $1=state_id2name
+TRCID_       0x8636 TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X 0x%llX-0x%llX exact del"
+TRCID_       0x8637 TRACE_TSTM          "+BR key %08X:%08X:%08X:%08X mode %s seqNum %lld cachedObj 0x%lX" $5=brmode_id2name
+TRCID_       0x8638 TRACE_TSTM          "crtAcquire: CTM_A_RELEASE found nothing to release"
+TRCID_       0x8639 TRACE_TSTM          "crtAcquire: CTM_A_RELEASE returning rc %d"
+TRCID_       0x863A TRACE_TSTM          "crtAcquire: at #2 TheToken 0x%lX"
+TRCID_       0x863B TRACE_TSTM          "crtAcquire: at #3 rc %d"
+TRCID_       0x863C TRACE_TSTM          "crtAcquire: granted range is 0x%llX-0x%llX"
+TRCID_       0x863D TRACE_TSTM          "crtAcquire: server changed: old %d new %d state %s" $3=state_id2name
+TRCID_       0x863E TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X 0x%llX-0x%llX acq ins"
+TRCID_       0x863F TRACE_TSTM          "+BR key %08X:%08X:%08X:%08X mode %s seqNum %lld cachedObj 0x%lX" $5=brmode_id2name
+TRCID_       0x8640 TRACE_TSTM          "crtAcquire: exceeded max fcntl ranges (%d) with %d"
+TRCID_       0x8641 TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X 0x%llX-0x%llX rec del"
+TRCID_       0x8642 TRACE_TSTM          "+BR key %08X:%08X:%08X:%08X mode %s seqNum %lld cachedObj 0x%lX" $5=brmode_id2name
+TRCID_       0x8643 TRACE_TSTM          "crtAcquire: current range tree"
+TRCID_       0x8644 TRACE_TSTM          "crtAcquire: returning mode %s" $1=brmode_id2name
+TRCID_       0x8645 TRACE_TSTM          "crtAcquire: crtRevokeFromClients failed E_IO, continue w/ acquire"
+TRCID_       0x8646 TRACE_TSTM          "crtAcquire: crtRevokeFromClients ERROR %d"
+TRCID_       0x8647 TRACE_TSTM          "crtAcquire: rollback of token state failed"
+TRCID_       0x8648 TRACE_TSTM          "crtAcquire: finished revoke, attempting acquire"
+TRCID_       0x8649 TRACE_TSTM          "crtAcquire: max number of acquire attempts reached, sleeping"
+TRCID_       0x864A TRACE_TSTM          "crtAcquire: awoke"
+TRCID_       0x864B TRACE_TSTM          "crtAcquire: error code %d from server"
+TRCID_       0x864C TRACE_TSTM          "crtAcquire: rollback of token state rc %d rc2 %d"
+TRCID_       0x864D TRACE_TSTM          "crtAcquire SHOULD NOT GET HERE rc %d"
+TRCID_       0x864E TRACE_TSTM          "crtTestRange enter: range 0x%llX-0x%llX mode %s" $3=brmode_id2name
+TRCID_       0x864F TRACE_TSTM          "crtTestRange: invalid mode/range specified"
+TRCID_       0x8650 TRACE_TSTM          "crtTestRange returning %d"
+TRCID_       0x8651 TRACE_TSTM          "crtRevokeFromClients: newmode %s flags 0x%X" $1=brmode_id2name
+TRCID_       0x8652 TRACE_TSTM          "crtRevokeFromClients: empty copyset"
+TRCID_       0x8653 TRACE_TSTM          "crtRevokeFromClients: revoking from node %d"
+TRCID_       0x8654 TRACE_TSTM          "crtRevokeFromClients: copyset contains recovering node %d"
+TRCID_       0x8655 TRACE_TSTM          "crtRevokeFromClients: sending message"
+TRCID_       0x8656 TRACE_TSTM          "crtRevokeFromClients: comm status 0x%X"
+TRCID_       0x8657 TRACE_TSTM          "crtRevokeFromClients: domain deleted during recovery"
+TRCID_       0x8658 TRACE_TSTM          "crtRevokeFromClients msg send error %d"
+TRCID_       0x8659 TRACE_TSTM          "crtRevokeFromClients: error rc %d"
+TRCID_       0x865A TRACE_TSTM          "crtRevokeFromClients: domain deleted during recovery"
+TRCID_       0x865B TRACE_TSTM          "crtRevokeFromClients: revoking from %d nodes"
+TRCID_       0x865C TRACE_TSTM          "crtRevokeFromClients: copyset contains recovering node %d"
+TRCID_       0x865D TRACE_TSTM          "crtRevokeFromClients: sending message"
+TRCID_       0x865E TRACE_TSTM          "crtRevokeFromClients: comm status 0x%X"
+TRCID_       0x865F TRACE_TSTM          "crtRevokeFromClients: domain deleted during recovery"
+TRCID_       0x8660 TRACE_TSTM          "crtRevokeFromClients: msg send error %d"
+TRCID_       0x8661 TRACE_TSTM          "crtRevokeFromClients: revoke rc %d node %d csEntry start 0x%llX end 0x%llX mode %s seqNum %lld"
+TRCID_       0x8662 TRACE_TSTM          "crtRevokeFromClients: domain deleted during recovery"
+TRCID_       0x8663 TRACE_TSTM          "crtRevokeFromClients: server changed, old %d new %d, return E_NOT_TM_SERVER continue w/ acquire"
+TRCID_       0x8664 TRACE_TSTM          "crtRevokeFromClients returning %d"
+TRCID_       0x8665 TRACE_TSTM          "HandleRangeRevoke enter: tokType %s key %08X:%08X:%08X:%08X" $1=objtype_id2name
+TRCID_       0x8666 TRACE_TSTM          "  Req 0x%llX-0x%llX Des 0x%llX-0x%llX"
+TRCID_       0x8667 TRACE_TSTM          "  seqCount %d UserData 0x%08X %08X %08X %08X"
+TRCID_       0x8668 TRACE_TSTM          "HandleRangeRevoke: seqCount %d seqNum %lld"
+TRCID_       0x8669 TRACE_TSTM          "HandleRangeRevoke: sending message to RangeRevokeHandler seqNum %lld"
+TRCID_       0x866A TRACE_TSTM          "HandleRangeRevoke returning MSG_QUEUED"
+TRCID_       0x866B TRACE_TSTM          "HandleRangeRevoke exit: rc %d"
+TRCID_       0x866C TRACE_TSTM          "crtTransferStateBRNode: processing element at 0x%lX, reqP 0x%lX, num %d"
+TRCID_       0x866D TRACE_TSTM          "crtTransferStateBRNode: range 0x%llX-0x%llX"
+TRCID_       0x866E TRACE_TSTM          "crtTransferStateBR: token 0x%lX crtTreeP 0x%lX (0x%lX)"
+TRCID_       0x866F TRACE_TSTM          "crtTransferStateBR: buffer full, new rangeStart 0x%llX"
+TRCID_       0x8670 TRACE_TSTM          "crtTransferStateBR: rc %d"
+TRCID_       0x8671 TRACE_TSTM          "crtWaitSeqNo: state %s seqNum %lld ctSeqNum %lld\n" $1=state_id2name
+TRCID_       0x8672 TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X delete the tree seqNum %lld cachedObj 0x%lX\n"
+TRCID_       0x8673 TRACE_TSTM          "crtCompact: cachedObjP 0x%lX modeAndFlags 0x%X tokType %s state %s flags 0x%X mode %s" $3=objtype_id2name $4=state_id2name $6=brmode_id2name
+TRCID_       0x8674 TRACE_TSTM          "crtExpand: cachedObjP 0x%lX modeAndFlags 0x%X tokType %s state %s flags 0x%X mode %s" $3=objtype_id2name $4=state_id2name $6=brmode_id2name
+TRCID_       0x8675 TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X 0-INF exp mode rw seqNum %lld cachedObj 0x%lX err %d"
+TRCID_       0x8676 TRACE_TSTM          "-BR key %08X:%08X:%08X:%08X 0-INF exp mode ro seqNum %lld cachedObj 0x%lX err %d"
+TRCID_       0x8677 TRACE_TSTM          "isRecoveryStateOk: SGMgr changed (%s -> %s)" $1=nodeaddr_id2name $2=nodeaddr_id2name
+TRCID_       0x8678 TRACE_TSTM          "isRecoveryStateOk: DOMAIN_DELETED"
+TRCID_       0x8679 TRACE_TSTM          "TokenClass::tcSGMgrTakeover waiting for pending recovery"
+TRCID_       0x867A TRACE_TSTM          "STM_Block: slot %d server nid %d unchanged"
+TRCID_       0x867B TRACE_TSTM          "STM_Block: slot %d server nid %d changed to %d"
+TRCID_       0x867C TRACE_TSTM          "STM_Block: adding failed node %s to tcRecoveringNodes" $1=nodeaddr_id2name
+TRCID_       0x867D TRACE_TSTM          "FailureCleanup: wakeToken @0x%lX mustDiscard %d nToDiscard now %d"
+TRCID_       0x867E TRACE_TSTM          "FailureCleanup: referenced tokens left: token 0x%lX tRefCount %d"
+TRCID_       0x867F TRACE_TSTM          "      token at 0x%lX"
+TRCID_       0x8680 TRACE_TSTM          "STM_Unblock %d of %d: nodeid %d naddr %s" $4=nodeaddr_id2name
+TRCID_       0x8681 TRACE_TSTM          "STM_Unblock: mnode force: assigning missing mnode %d key %08X:%08X:%08X:%08X"
+TRCID_       0x8682 TRACE_TSTM          "STM_Unblock: recoveryQueue qeP 0x%lX from_addr %s" $2=nodeaddr_id2name
+TRCID_       0x8683 TRACE_TSTM          "STM_Transfer: tcNServers %d nActive %d xferBufSize %d numTokens %d"
+TRCID_       0x8684 TRACE_TSTM          "STM_Transfer: tokType %s key %08X:%08X:%08X:%08X mode %s cacheObj 0x%lX rSt 0x%lX" $1=objtype_id2name $6=lockmode_id2name
+TRCID_       0x8685 TRACE_TSTM          "STM_Transfer: server[%d] nid %d -> server[%d] oid %d chgcount %d"
+TRCID_       0x8686 TRACE_TSTM          "STM_Transfer: transfer recovery error 1 %d"
+TRCID_       0x8687 TRACE_TSTM          "STM_Transfer: transfer recovery error 2 %d"
+TRCID_       0x8688 TRACE_TSTM          "STM_Transfer: transfer recovery error 3 %d"
+TRCID_       0x8689 TRACE_TSTM          "STM_Transfer: Transfer complete, rc %d"
+TRCID_       0x868A TRACE_TSTM          "FailureCleanup: this 0x%lX phase TM_PHASE_BLOCK nServers %d nFailures %d"
+TRCID_       0x868B TRACE_TSTM          "FailureCleanup: this 0x%lX phase TM_PHASE_MIGRATE"
+TRCID_       0x868C TRACE_TSTM          "FailureCleanup: this 0x%lX phase TM_PHASE_MIN_MIGRATE"
+TRCID_       0x868D TRACE_TSTM          "FailureCleanup: this 0x%lX phase TM_PHASE_TRANSFER"
+TRCID_       0x868E TRACE_TSTM          "FailureCleanup: this 0x%lX phase TM_PHASE_MIN_TRANSFER"
+TRCID_       0x868F TRACE_TSTM          "FailureCleanup: this 0x%lX phase TM_PHASE_MAX_TRANSFER"
+TRCID_       0x8690 TRACE_TSTM          "FailureCleanup: this 0x%lX phase TM_PHASE_UNBLOCK"
+TRCID_       0x8691 TRACE_TSTM          "FailureCleanup: this 0x%lX phase TM_PHASE_DELETE"
+TRCID_       0x8692 TRACE_TSTM          "TellServerMulti enter: MR 0x%lX numTokens %d tcP 0x%lX"
+TRCID_       0x8693 TRACE_TSTM          "TellServerMulti comm error %d"
+TRCID_       0x8694 TRACE_TSTM          "TellServerMulti exit: rc %d"
+TRCID_       0x8695 TRACE_TSTM          "HandleTellRequest: rejecting tell request from failed node"
+TRCID_       0x8696 TRACE_TSTM          "HandleBRTellRequest: rejecting tell request from failed node"
+TRCID_       0x8697 TRACE_TSTM          "xclust skipping inode token prefetch"
+TRCID_       0x8698 TRACE_TSTM          "xclust skipping mnode addr prefetch"
+TRCID_       0x8699 TRACE_TSTM          "ctTellServer: skip RESET_STATE after server change"
+TRCID_       0x869A TRACE_TSTM          "crtTellServer: skip RESET_STATE after server change"
+TRCID_       0x869B TRACE_TSTM          "FailureCleanup: skip unstable token @0x%lX"
+TRCID_       0x869C TRACE_TSTM          "FailureCleanup: after loop 3 nToDiscard %d nUnstable %d"
+TRCID_       0x869D TRACE_TSTM          "crtAcquire: crtRevokeFromClients: domain deleted err %d"
+TRCID_       0x869E TRACE_TSTM          "EnqueueMsg: ret newP 0x%lX, reqP 0x%lX, qP 0x%lX\n"
+TRCID_       0x869F TRACE_TSTM          "tmDequeueOne: dequeue entry at 0x%lX\n"
+TRCID_       0x86A0 TRACE_TSTM          "tmMarkFailed: qeP 0x%x mark failed, nEntries %d\n"
+TRCID_       0x86A1 TRACE_TSTM          "HandleTellRequest: enqueue reqP 0x%x GlobalRevokeQueue1 0x%x n %d\n"
+TRCID_       0x86A2 TRACE_TSTM          "HandleBRTellRequest: enqueue reqP 0x%x GlobalRevokeQueue1 0x%x n %d\n"
+TRCID_       0x86A3 TRACE_TSTM          "serverSideRevokeCB: qeP 0x%lX, client failed - err %d\n"
+TRCID_       0x86A4 TRACE_TSTM          "serverSideRevokeCB: qeP 0x%lX, move to GlobalRevokeQueue2\n"
+TRCID_       0x86A5 TRACE_TSTM          "serverSideRevoke: tmDequeue qeP 0x%x GlobalRevokeQueue1 0x%x\n"
+TRCID_       0x86A6 TRACE_TSTM          "serverSideRevoke: move qeP 0x%x to interm. RovokeQueue 0x%x\n"
+TRCID_       0x86A7 TRACE_TSTM          "serverSideRevoke: tmDequeue qeP 0x%x GlobalRevokeQueue2 0x%x\n"
+TRCID_       0x86A8 TRACE_TSTM          "ctAcquire: rc %d, tcRecoveryState %d\n"
+TRCID_       0x86A9 TRACE_TSTM          "STM_Unblock: cleanup GlobalRevokeQueue1\n"
+TRCID_       0x86AA TRACE_TSTM          "STM_Unblock: cleanup GlobalRevokeQueue2\n"
+TRCID_       0x86AB TRACE_TSTM          "STM_Unblock: node id %d naddr %s failed, interm. RevokeQueue\n" $2=nodeaddr_id2name
+TRCID_       0x86AC TRACE_TSTM          "STM_Unblock: tmMarkFailed interm. queue, nFail %d, nodeid %d\n"
+TRCID_       0x86AD TRACE_TSTM          "ctAcquire, fs panicked, ctRevokeFromClients err %d\n"
+TRCID_       0x86AE TRACE_TSTM          "ctAcquire: finished revoke, attempt acquire, fs panicked\n"
+TRCID_       0x86AF TRACE_TSTM          "ctAcquire:  rc %d, fs panicked\n"
+TRCID_       0x86B0 TRACE_TSTM          "crtAcquire: crtRevokeFromClients err %d, fs panicked\n"
+TRCID_       0x86B1 TRACE_TSTM          "crtAcquire: got E_IO from server, tcRecoveryState %d\n"
+TRCID_       0x86B2 TRACE_TSTM          "crtAcquire: fs panicked, err %d tcRecoveryState %d\n"
+I2N_         0x8401 reason_id2name      "Stack::push waiting for memory"
+I2N_         0x8402 reason_id2name      "HolderList operator new pause 1 sec"
+I2N_         0x8403 reason_id2name      "Wait until pending PAA alloc completes"
+I2N_         0x8404 reason_id2name      "Token domain recovery"
+I2N_         0x8405 reason_id2name      "tcAwaitRecovery pause 1 sec"
+I2N_         0x8406 reason_id2name      "TokenClass::Delete_Domain pause 1 sec"
+I2N_         0x8407 reason_id2name      "DeleteDomain pause 1 sec"
+I2N_         0x8408 reason_id2name      "AddNewDomain wait for Exclusive lock pause 1 sec"
+I2N_         0x8409 reason_id2name      "REASON_WAIT_FOR_WORK"
+I2N_         0x840A reason_id2name      "wait for SubToken to become stable"
+I2N_         0x840B reason_id2name      "serverSideRevokeThreadBody waiting for work"
+I2N_         0x840C reason_id2name      "REASON_WAIT_LOCAL_TRANSITION_WAIT"
+I2N_         0x840D reason_id2name      "ClientToken::Acquire pause 1 sec"
+I2N_         0x840E reason_id2name      "ClientToken::TellServer pause 1 sec"
+I2N_         0x840F reason_id2name      "crtTellServer: pause 1 sec"
+I2N_         0x8410 reason_id2name      "ClientRangeToken::Acquire pause 1 sec"
+I2N_         0x8411 reason_id2name      "Token recovery pending"
+I2N_         0x8412 reason_id2name      "FailureCleanup: try again pause 1 sec"
+I2N_         0x8413 reason_id2name      "FailureCleanup: pause 1 sec"
+I2N_         0x8414 reason_id2name      "HolderBitmap operator new pause 1 sec"
+TRCID_       0x0401 TRACE_FSCK          "onlineAllocRmt: da %d:%lld subblock %d nSubblocks %d sg %s\n"
+TRCID_       0x0402 TRACE_FSCK          "AllocMsgQueue::FlushQueue sg %s nMsgs %d toNode %s" $3=nodeaddr_id2name
+TRCID_       0x0403 TRACE_FSCK          "AllocMsgQueues::Flushing because toNode != node\n"
+TRCID_       0x0404 TRACE_FSCK          "AllocMsgQueue::putInQueue node %s da %d:%lld nSub %d" $1=nodeaddr_id2name
+TRCID_       0x0405 TRACE_FSCK          "AllocMsgQueues::PutInQueue Flushing nMsgs >= MAX_MSG_QUEUE\n"
+TRCID_       0x0406 TRACE_FSCK          "AllocMsgQueue::flush node %s" $1=nodeaddr_id2name
+TRCID_       0x0407 TRACE_FSCK          "AllocMsgQueues::Flushing because requested\n"
+TRCID_       0x0408 TRACE_FSCK          "AllocMsgQueue::flush complete, err %d"
+TRCID_       0x0409 TRACE_FSCK          "AllocMsgQueues::AllocMsgHandler received %d alloc msgs for sg %s\n"
+TRCID_       0x040A TRACE_FSCK          "AllocMsgQueues::AllocMsgHandler: msg %d da %d:%lld regNo %d subblock %d nSubblocks %d\n"
+TRCID_       0x040B TRACE_FSCK          "AllocMsgQueues::Called unimplemented message handler\n"
+TRCID_       0x040C TRACE_FSCK          "AllocMsgQueue::StartMsgHandler sg %s stopAllocMsg %d"
+TRCID_       0x040D TRACE_FSCK          "AllocMsgQueues::Stop sending allocation messages on sg=%s\n"
+TRCID_       0x040E TRACE_FSCK          "AllocMsgQueues::Abort online fsck on sg %s"
+TRCID_       0x040F TRACE_FSCK          "AllocMsgQueues::DoneAllocationMessages on %s\n"
+TRCID_       0x0410 TRACE_FSCK          "AllocMsgQueues::Fake sync message handler on sg %s"
+TRCID_       0x0411 TRACE_FSCK          "AllocMsgQueues::createAllocMsgQueue: sg %s at 0x%lX err %d"
+TRCID_       0x0412 TRACE_FSCK          "AllocMsgQueues::destroyAllocMsgQueue: sg %s at 0x%lX"
+TRCID_       0x0413 TRACE_FSCK          "AllocMsgQueues::initAllocMsgs: sg %s"
+TRCID_       0x0414 TRACE_FSCK          "AllocMsgQueues::Start sending allocation messages on sg %s"
+TRCID_       0x0415 TRACE_FSCK          "Allocations for poolId %d regions %d to %d go to node %s" $4=nodeaddr_id2name
+TRCID_       0x0416 TRACE_FSCK          "Allocations for regions %d to %d go to node %s" $3=nodeaddr_id2name
+TRCID_       0x0417 TRACE_FSCK          "AllocMsgQueues::allocMsgDest nFsPart %d fsPartP 0x%lX err %d"
+TRCID_       0x0418 TRACE_TS            "CallRecoveryHookScript: wait for pid %d\n"
+TRCID_       0x0419 TRACE_TS            "CallRecoveryHookScript: done waiting for pid %d\n"
+TRCID_       0x041A TRACE_TS            "SGInfo::appoint_mgr: old stripe group mgr %s, new %s\n" $1=nodeaddr_id2name $2=nodeaddr_id2name
+TRCID_       0x041B TRACE_TS            "SGInfo::appoint_mgr: returning with rc %d, new mgr %s\n" $2=nodeaddr_id2name
+TRCID_       0x041C TRACE_TS            "incrCCUseCount: ccUseCount now %d"
+TRCID_       0x041D TRACE_TS            "setGraceEnd: at %d delay %d\n"
+TRCID_       0x041E TRACE_TS            "decrCCUseCount: ccUseCount now %d"
+TRCID_       0x041F TRACE_TS            "ClstrCfg::init_cc_comm: tscRegisterService failed, err %d\n"
+TRCID_       0x0420 TRACE_TS            "ClstrCfg::wait_for_mgr: local node is primary\n"
+TRCID_       0x0421 TRACE_TS            "ClstrCfg::wait_for_mgr: sending ping %d to %s\n" $2=nodeaddr_id2name
+TRCID_       0x0422 TRACE_TS            "ClstrCfg::wait_for_mgr: err %d\n"
+TRCID_       0x0423 TRACE_TS            "ConfigMgr::changeMgr: old cluster config mgr %s, new %s\n" $1=nodeaddr_id2name $2=nodeaddr_id2name
+TRCID_       0x0424 TRACE_TS            "commitAddrs: changing index for %s from %d to %d\n" $1=nodeaddr_id2name
+TRCID_       0x0425 TRACE_TS            "ClusterConfiguration::cc_mgr_takeover enter\n"
+TRCID_       0x0426 TRACE_TS            "cc_mgr_takeover: query reply from %s: sgMgr=%s for SG '%s'\n" $1=nodeaddr_id2name $2=nodeaddr_id2name
+TRCID_       0x0427 TRACE_TS            "cc_mgr_takeover exit: %d stripe group(s), %d failed mgr(s)\n"
+TRCID_       0x0428 TRACE_TS            "takeover_query: i %d sgMgr %s SG %s\n" $2=nodeaddr_id2name
+TRCID_       0x0429 TRACE_TS            "Node %s resigned as manager (resignReason %d appointNew %d migrateState %d) for %s\n" $1=nodeaddr_id2name
+TRCID_       0x042A TRACE_TS            "All recovery attempts have failed in timeout period (%d sec) for %s\n"
+TRCID_       0x042B TRACE_TS            "New sgmgr %s has done recovery on %s\n" $1=nodeaddr_id2name
+TRCID_       0x042C TRACE_TS            "querySGMgr: config mgr %s\n" $1=nodeaddr_id2name
+TRCID_       0x042D TRACE_TS            "querySGMgr: returning with rc %d, sg mgr %s\n" $2=nodeaddr_id2name
+TRCID_       0x042E TRACE_TS            "listAllSGMgr: returning with rc %d\n"
+TRCID_       0x042F TRACE_TS            "resignSGMgr: enter resignReason %d appointNew %d sg %s\n"
+TRCID_       0x0430 TRACE_TS            "resignSGMgr: returning with rc %d, new mgr %s\n" $2=nodeaddr_id2name
+TRCID_       0x0431 TRACE_TS            "updateSgStats tmSpace %lld freeSpace %lld tmRequests %d cpuUsage %d totalTmRequests %d sgID %s\n"
+TRCID_       0x0432 TRACE_TS            "updateSgStats freeSpace %lld pctFreeSpace %d cpuUsage %d totalTmRequests %d totalTmSpace %lld grade %d\n"
+TRCID_       0x0433 TRACE_TS            "setNodeGrade tmSpace %lld freeSpace %lld tmRequests %d cpuUsage %d totalTmRequests %d sgID %s\n"
+TRCID_       0x0434 TRACE_TS            "setNodeGrade cpuUsage %d pctFreeSpace %d grade %d node %s\n" $4=nodeaddr_id2name
+TRCID_       0x0435 TRACE_TS            "setNodeGrade free %lld - sg space %lld - fudgeSpace %d < sg node free %lld\ngrade %d node %s\n" $6=nodeaddr_id2name
+TRCID_       0x0436 TRACE_TS            "setNodeGrade %d + sg requests %d + fudgeRequests %d < sg node totalTmRequests %d\nor cpuUsage %d < 1/2 cpuUsage %d grade %d\n"
+TRCID_       0x0437 TRACE_TS            "findNodeStats freeSpace %lld cpuUsage %d totalTmRequests %d totalTmSpace%lld grade %d node %s\n" $6=nodeaddr_id2name
+TRCID_       0x0438 TRACE_TS            "migrateMgrCmd msgSock %d targetNode %s flags 0x%X sgName %s\n" $2=nodeaddr_id2name
+TRCID_       0x0439 TRACE_TS            "getAllSGNames: name %s\n"
+TRCID_       0x043A TRACE_DLEASE        "markNodeFailed: previousT %d, nodeFailureTime %d, %s" $3=nodeaddr_id2name
+TRCID_       0x043B TRACE_DLEASE        "markNodeUp: prevT %d, %s" $2=nodeaddr_id2name
+TRCID_       0x043C TRACE_TS            "ClusterConfiguration::DoNodeFailureRecovery enter\n"
+TRCID_       0x043D TRACE_TS            "DoNodeFailureRecovery: sgMgr %s status %d, for SG '%s'\n" $1=nodeaddr_id2name
+TRCID_       0x043E TRACE_TS            "DoNodeFailureRecovery: sgMgr %s status %d, err %d, for SG '%s' \n" $1=nodeaddr_id2name
+TRCID_       0x043F TRACE_TS            "ClusterConfiguration::DoNodeFailureRecovery returning %d\n"
+TRCID_       0x0440 TRACE_TS            "ClusterConfiguration::HandleQuorumLoss: cluster %d %s"
+TRCID_       0x0441 TRACE_TS            "mmQuorumLossExit: wait for pid %d\n"
+TRCID_       0x0442 TRACE_TS            "mmQuorumLossExit: done waiting for pid %d\n"
+TRCID_       0x0443 TRACE_TS            "HandleQuorumLoss gpdStatus %s gpdThread1Running %d ctt %d\n" $1=gpdStatus_id2name
+TRCID_       0x0444 TRACE_SP            "HandleQuorumLoss: nMounts %d"
+TRCID_       0x0445 TRACE_TS            "read_clustfile: i %d/%d %s, j %d/%d %s" $3=ipaddr_id2name $6=ipaddr_id2name
+TRCID_       0x0446 TRACE_TS            "read_clustfile: new node %s" $1=ipaddr_id2name
+TRCID_       0x0447 TRACE_TS            "read_clustfile: deleted node %s" $1=ipaddr_id2name
+TRCID_       0x0448 TRACE_TS            "read_clustfile: moved node %s" $1=ipaddr_id2name
+TRCID_       0x0449 TRACE_TS            "read_clustfile: changed node %s (adm %02d quorum %02d new %02d)" $1=ipaddr_id2name
+TRCID_       0x044A TRACE_TS            "read_clustfile: quorum changed: nQuorumNodes %d nNewNodes %d nQuorumNodesRequired %d"
+TRCID_       0x044B TRACE_TS            "read_clustfile exit: nerr %d err %d"
+TRCID_       0x044C TRACE_TS            "mergeNodeInfo: naddr %d nodeIndex %d iaddr %s flags %c%c%c hostname %s" $3=ipaddr_id2name
+TRCID_       0x044D TRACE_TS            "mergeNodeInfo: assigned node index %d naddr %s\n" $2=nodeaddr_id2name
+TRCID_       0x044E TRACE_TS            "refresh_clustfile: llc_my_addr = %s, err %d" $1=ipaddr_id2name
+TRCID_       0x044F TRACE_TS            "ClstrCfg::mmRemote: nDest %d flags 0x%X cmd %s\n"
+TRCID_       0x0450 TRACE_TS            "ClstrCfg::mmRemote: nDest %d (%s) ok (rc %d from the cmd)\n" $2=nodeaddr_id2name
+TRCID_       0x0451 TRACE_TS            "ClstrCfg::mmRemote: nDest %d (%s) failed %d\n" $2=nodeaddr_id2name
+TRCID_       0x0452 TRACE_TS            "ClstrCfg::mmRemote: exit rc %d\n"
+TRCID_       0x0453 TRACE_TS            "ClstrCfg::handleCCMsg: ccMsgMMRemote flags 0x%X cmd %s\n"
+TRCID_       0x0454 TRACE_TS            "ClstrCfg::handleCCMsg: ccMsgMMRemote child_pid %d cmd %s\n"
+TRCID_       0x0455 TRACE_TS            "ClstrCfg::handleCCMsg: ccMsgMMRemote access rc %d errno %d cmd %s\n"
+TRCID_       0x0456 TRACE_TS            "ClstrCfg::handleCCMsg: ccMsgMMRemote async auth cmd %s\n"
+TRCID_       0x0457 TRACE_TS            "ClstrCfg::handleCCMsg: ccMsgMMRemote pipe %lX cmd %s\n"
+TRCID_       0x0458 TRACE_TS            "ClstrCfg::handleCCMsg: ccMsgMMRemote rc %d from cmd %s\n"
+TRCID_       0x0459 TRACE_TS            "ClstrCfg::handleCCMsg: ccMsgMMRemote sync auth cmd %s\n"
+TRCID_       0x045A TRACE_DLEASE        "handleCCMsg: received ccMsgChangeDiskLease msg, val %d"
+TRCID_       0x045B TRACE_TS            "runTSRemote: sock %d argc %d cmd %s\n"
+TRCID_       0x045C TRACE_TS            "runTSRemote: cmd %s\n"
+TRCID_       0x045D TRACE_TS            "runTSRemote: cmdString %s\n"
+TRCID_       0x045E TRACE_TS            "runTSRemote: err %d\n"
+TRCID_       0x045F TRACE_SP            "FormGroup: nodeNumber %d gpnStatus %s gpnTrans %s gpdStatus %s" $2=gpnStatus_id2name $3=gpnTrans_id2name $4=gpdStatus_id2name
+TRCID_       0x0460 TRACE_SP            "FormGroup: set formation time %s"
+TRCID_       0x0461 TRACE_SP            "FormGroup: gid %08X:%08X electedGid <%u:%u>"
+TRCID_       0x0462 TRACE_SP            "TakeoverGroup: gid %08X:%08X electedGid <%u:%u> oldLeaderLease %lld"
+TRCID_       0x0463 TRACE_SP            "TakeoverGroup: nodeNumber %d gpnStatus %s gpnTrans %s gpdStatus %s" $2=gpnStatus_id2name $3=gpnTrans_id2name $4=gpdStatus_id2name
+TRCID_       0x0464 TRACE_TS            "CC::NodeFailed: protocolSeqNo %u nFailed %d"
+TRCID_       0x0465 TRACE_TS            "CC::NodeFailed: node %s, old state: gpnTrans %s gpnStatus %s status %s joinSeqNo %u" $1=nodeaddr_id2name $2=gpnTrans_id2name $3=gpnStatus_id2name $4=NodeStatus_id2name
+TRCID_       0x0466 TRACE_SP            "ConnectionBroke(%s): cl %d amIAQuorumNode %d gpdLeader %s" $1=nodeaddr_id2name $4=nodeaddr_id2name
+TRCID_       0x0467 TRACE_SP            "RunGroupProtocol: status %s\n" $1=gpdStatus_id2name
+TRCID_       0x0468 TRACE_SP            "RunGroupProtocol: quorum loss abort\n"
+TRCID_       0x0469 TRACE_SP            "RunGroupProtocol: status %s gpdSeqNo %d gpdPendingSeqNo %d nFail %d nJoin %d joinProtocolFailed %d" $1=gpdStatus_id2name
+TRCID_       0x046A TRACE_SP            "RunGroupProtocol: RunJoinProtocol failed err %d\n"
+TRCID_       0x046B TRACE_SP            "CheckGroupChangeReplies: replies[%d] dest %s err %d" $2=nodeaddr_id2name
+TRCID_       0x046C TRACE_SP            "RunNullProtocol: nTotal %d\n"
+TRCID_       0x046D TRACE_SP            "RunJoinProtocol: isRestart %d nJoin %d nSame %d\n"
+TRCID_       0x046E TRACE_SP            "RunJoinProtocol: assigning index %d to addr %s\n"
+TRCID_       0x046F TRACE_SP            "RunJoinProtocol: sending joining key, clusterID %llX"
+TRCID_       0x0470 TRACE_SP            "RunJoinProtocol: sending joined key, clusterID %llX"
+TRCID_       0x0471 TRACE_SP            "RunJoinProtocol: send formation time %s, delta %s"
+TRCID_       0x0472 TRACE_SP            "RunLeaveProtocol: nSame %d nFail %d\n"
+TRCID_       0x0473 TRACE_SP            "RunFailureNotify: status %s\n" $1=gpdStatus_id2name
+TRCID_       0x0474 TRACE_SP            "RunFailureNotify: found %d failures; notifying %d nodes\n"
+TRCID_       0x0475 TRACE_SP            "BrokenConnectionHandler: node %s firstNotify %d" $1=nodeaddr_id2name
+TRCID_       0x0476 TRACE_SP            "BrokenConnectionHandler: broken %d, processing %d/%d"
+TRCID_       0x0477 TRACE_SP            "CCHandleProbeCluster: from %s dest %s gid %08X:%08X flags %02X gpnStatus %s gpnTrans %s" $1=nodeaddr_id2name $2=ipaddr_id2name $6=gpnStatus_id2name $7=gpnTrans_id2name
+TRCID_       0x0478 TRACE_SP            "CCHandleProbeCluster: received join request for clusterID %llX"
+TRCID_       0x0479 TRACE_SP            "CCHandleProbeCluster: wrong subnet (was %s should be %s)" $1=ipaddr_id2name $2=ipaddr_id2name
+TRCID_       0x047A TRACE_SP            "CCHandleProbeCluster: replying rc %d tryHere %s flags %d"
+TRCID_       0x047B TRACE_TS            "handleExpelRequest: protocolSeqNo %d nNodes %d, quorum %d local %d joinSeqNo %d "
+TRCID_       0x047C TRACE_TS            "naddr %s gpnStatus %s gpnTrans %s quorum %d local %d joinSeqNo %d leaseAge %d: expel %d reason %d" $1=nodeaddr_id2name $2=gpnStatus_id2name $3=gpnTrans_id2name
+TRCID_       0x047D TRACE_SP            "finishPendingProtocol: status %s gpdSeqNo %d gpdPendingSeqNo %d, protocolSeqNo %d" $1=gpdStatus_id2name
+TRCID_       0x047E TRACE_SP            "finishPendingProtocol: node %s %s join" $1=nodeaddr_id2name
+TRCID_       0x047F TRACE_SP            "finishPendingProtocol: node %s %s leave" $1=nodeaddr_id2name
+TRCID_       0x0480 TRACE_SP            "gpnStatusUpdate: node %s status %s -> %s" $1=nodeaddr_id2name $2=gpnStatus_id2name $3=gpnStatus_id2name
+TRCID_       0x0481 TRACE_SP            "%s gpdGID %08X:%08X gid %08X:%08X phase %d nSame %d nChange %d"
+TRCID_       0x0482 TRACE_SP            "%s nSame %d members (%s)"
+TRCID_       0x0483 TRACE_SP            "%s nChange %d members (%s)"
+TRCID_       0x0484 TRACE_SP            "leader change: %08X %s -> %08X %s" $2=nodeaddr_id2name $4=nodeaddr_id2name
+TRCID_       0x0485 TRACE_TS            "handleGroupJoin: received formation time %s, delta %s\n"
+TRCID_       0x0486 TRACE_SP            "handleGroupJoin: adding clusterID %llX to ciList\n"
+TRCID_       0x0487 TRACE_TS            "handleGroupJoin: reverting index for %s from %d to %d\n" $1=nodeaddr_id2name
+TRCID_       0x0488 TRACE_TS            "handleGroupJoin: reverting previous index for %s from %d to %d\n" $1=nodeaddr_id2name
+TRCID_       0x0489 TRACE_SP            "handleGroupJoin: exit err %d gid %08X:%08X phase %d nSame %d nChange %d\n"
+TRCID_       0x048A TRACE_SP            "handleFailureNotify: phase %d nFailed %d\n"
+TRCID_       0x048B TRACE_SP            "RunElection: err %d activeQuorumNodes %d joined %d "
+TRCID_       0x048C TRACE_SP            "RunProbeCluster: cl %d gpnStatus %s prevLeaseSeconds %d loopIteration %d pingIteration %d/%d nToTry %d nResponses %d nProbed %d" $2=gpnStatus_id2name
+TRCID_       0x048D TRACE_SP            "RunProbeCluster: sending probe %d to %s gid %08X:%08X flags %02x" $2=nodeaddr_id2name
+TRCID_       0x048E TRACE_SP            "RunProbeCluster: wrong subnet (was %s should be %s)" $1=ipaddr_id2name $2=ipaddr_id2name
+TRCID_       0x048F TRACE_SP            "RunProbeCluster: reply rc %d tryHere %d, flags %d"
+TRCID_       0x0490 TRACE_SP            "RunProbeCluster: reset cached xaddr for %s (err %d)" $1=ipaddr_id2name
+TRCID_       0x0491 TRACE_SP            "RunProbeCluster: loopIteration %d pingIteration %d stopTrying %d keepTrying %dIHaveJoined %d nQuorumNodesOK %d IAmLowestActiveQuorumNode %d"
+TRCID_       0x0492 TRACE_SP            "Probe scheduling remount retry"
+TRCID_       0x0493 TRACE_SP            "RunProbeCluster: done: gpnStatus %s leaseSeconds %d err %d" $1=gpnStatus_id2name
+TRCID_       0x0494 TRACE_SP            "SetNodeStatusAndRPCs: cl %d node %s status %s -> %s" $2=nodeaddr_id2name $3=NodeStatus_id2name $4=NodeStatus_id2name
+TRCID_       0x0495 TRACE_SP            "sendNodeChangeMsg: nChg %d, nDests %d"
+TRCID_       0x0496 TRACE_SP            "sendAddNodeMsg exit: err %d"
+TRCID_       0x0497 TRACE_TS            "ClusterConfiguration::AddCluster: '%s' idx %d"
+TRCID_       0x0498 TRACE_TS            "writeContactAddrCache: wrote %d entries\n"
+TRCID_       0x0499 TRACE_TS            "readContactAddrCache: matched %d entries\n"
+TRCID_       0x049A TRACE_SP            "ClusterConfiguration::initSecurity: defaultCipherList %s err %d\n"
+TRCID_       0x049B TRACE_SP            "ClusterConfiguration::authIsRequiredM: defaultCipherList %s, isRequired %s"
+TRCID_       0x049C TRACE_SP            "ClusterConfiguration::securityIsRequired: cipherList %s, isRequired %s"
+TRCID_       0x049D TRACE_SP            "ClusterConfiguration::getCipherList: cClusterName %s aClusterName %s\n"
+TRCID_       0x049E TRACE_SP            "ClusterConfiguration::getCipherListCopy: cCipherList %s aCipherList %s cipherList %s\n"
+TRCID_       0x049F TRACE_SP            "ClusterConfiguration::getKeyGenNumber: clusterName %s keyGenNumber %d"
+TRCID_       0x04A0 TRACE_SP            "handleInfoChange: updating clusterID %llX\n"
+TRCID_       0x04A1 TRACE_SP            "ClusterConfiguration:refreshAuthorizedKeys enter\n"
+TRCID_       0x04A2 TRACE_SP            "ClusterConfiguration:refreshAuthorizedKeys exit err %d\n"
+TRCID_       0x04A3 TRACE_SP            "ClusterConfiguration:refreshAllKnownClusters enter\n"
+TRCID_       0x04A4 TRACE_SP            "ClusterConfiguration:refreshAllKnownClusters exit lastErr %d\n"
+TRCID_       0x04A5 TRACE_SP            "isAuthorized: sconnP 0x%08lX %s authorized"
+TRCID_       0x04A6 TRACE_SP            "ClusterInfoList::insert: exit, clusterNameP %s committedKeyGenNumber %d newKeyGenNumber %d cipherListP %s"
+TRCID_       0x04A7 TRACE_SP            "ClusterInfoList::add: exit, clusterNameP %s committedKeyGenNumber %d newKeyGenNumber %d cipherListP %s, err %d"
+TRCID_       0x04A8 TRACE_SP            "ClusterInfoList::addFromFile: fgets got %s"
+TRCID_       0x04A9 TRACE_SP            "ClusterInfoList::addFromFile: exit, nRecords %d, err %d"
+TRCID_       0x04AA TRACE_SP            "ClusterInfoList::update: exit, clusterNameP %s committedKeyGenNumber %d newKeyGenNumber %d cipherListP %s, err %d"
+TRCID_       0x04AB TRACE_QUOTA         "execute command 'tscheckquota' with flags %s."
+TRCID_       0x04AC TRACE_QUOTA         "send checkquota msg to stripe group %s"
+TRCID_       0x04AD TRACE_QUOTA         "runTSCheckQuota: err %d, reply.reply_data %d\n"
+TRCID_       0x04AE TRACE_QUOTA         "runTSCheckQuota: reply.err = %d\n"
+TRCID_       0x04AF TRACE_QUOTA         "completion of executing  tscheckquota command."
+TRCID_       0x04B0 TRACE_QUOTA         "start offline quotacheck for %s, with flags: %s\n"
+TRCID_       0x04B1 TRACE_QUOTA         "quotacheck: type %d, id %d, inode %d, nUsedSubBlocks %lld\n"
+TRCID_       0x04B2 TRACE_QUOTA         "quotacheck: freeFilePosition type %d, id %d, pos %lld\n"
+TRCID_       0x04B3 TRACE_QUOTA         "offline quotacheck: freeFilePosition type %d, id %d, err %d\n"
+TRCID_       0x04B4 TRACE_QUOTA         "offline quotacheck: markToDelete id %d, goto next_entry\n"
+TRCID_       0x04B5 TRACE_QUOTA         "startOnlineQuotacheck: sent START_ONLINE_QUOTACHECK err=%d, for %s\n"
+TRCID_       0x04B6 TRACE_QUOTA         "startOnlineQuotacheck: Make shadow quota entry table:\n"
+TRCID_       0x04B7 TRACE_QUOTA         "startOnlineQuotacheck: type %d, qef 0x%x, id %d, refCount %d\n"
+TRCID_       0x04B8 TRACE_QUOTA         "startOnlineQuotacheck: relHold qef 0x%x, id %d, after refCount %d\n"
+TRCID_       0x04B9 TRACE_QUOTA         "startOnlineQutoacheck, get next, qef 0x%x\n"
+TRCID_       0x04BA TRACE_QUOTA         "end online quota check for %s\n"
+TRCID_       0x04BB TRACE_QUOTA         "OnlineQuotacheck with flags: %s"
+TRCID_       0x04BC TRACE_QUOTA         "Online quotacheck tables (1): userTabP: 0x%lX, groupTabP: 0x%lX"
+TRCID_       0x04BD TRACE_QUOTA         "Online quotacheck tables (2): userTabP: 0x%lX, groupTabP: 0x%lX"
+TRCID_       0x04BE TRACE_QUOTA         "OnlineQuotacheck (QUCHECK_START_REGION) in reg %d segm %d\n"
+TRCID_       0x04BF TRACE_QUOTA         "OnlineQuotacheck skipping ino %d \n"
+TRCID_       0x04C0 TRACE_QUOTA         "OnlineQuotacheck is checking inode %d in region %d, segment %d, currentQuotacheckPosition %d\n"
+TRCID_       0x04C1 TRACE_QUOTA         "quotacheck: inode %d, nSanLockedInodes %d, sanergy locked\n"
+TRCID_       0x04C2 TRACE_QUOTA         "OnlineQuotacheck id (%d %d): +inode +%lld blocks  inode %d\n"
+TRCID_       0x04C3 TRACE_QUOTA         "checkquota inode %d sanergy locked, nUsedSubBlocks %lld\n"
+TRCID_       0x04C4 TRACE_QUOTA         "Online quotacheck tables (3): userTabP: 0x%lX, groupTabP: 0x%lX"
+TRCID_       0x04C5 TRACE_QUOTA         "OnlineQuotacheck -- sent END_ONLINE_QUOTACHECK for %s\n"
+TRCID_       0x04C6 TRACE_QUOTA         "OnlineQuotacheck - start merging  for %s\n"
+TRCID_       0x04C7 TRACE_QUOTA         "Online quotacheck tables: type %d, tabP: 0x%lX"
+TRCID_       0x04C8 TRACE_QUOTA         "OnlineQuotacheck: merging first shadow entry type %d, qe 0x%x id %d, refCount %d\n"
+TRCID_       0x04C9 TRACE_QUOTA         "OnlineQuotacheck: shadow qe 0x%x, id %d, type %d refCount %d, bU %lld, iU %lld\n"
+TRCID_       0x04CA TRACE_QUOTA         "OnlineQuotacheck: merge shadow qe 0x%x, qef 0x%x, id %d, qef refCount %d, bU %lld, iU %d, shadow: bu %lld, iU %d\n"
+TRCID_       0x04CB TRACE_QUOTA         "quotacheck: vDiff, vCurr %d, id %d, type %d, newB %lld, oldB %lld,newI %d, oldI %d\n"
+TRCID_       0x04CC TRACE_QUOTA         "%s"
+TRCID_       0x04CD TRACE_QUOTA         "quotacheck: freeFilePosition type %d, id %d, pos %lld\n"
+TRCID_       0x04CE TRACE_QUOTA         "quotacheck: freeFilePosition type %d, id %d, err %d\n"
+TRCID_       0x04CF TRACE_QUOTA         "OnlineQuotacheck qe 0x%x, qef 0x%x id: (shadow) %d, %d, shadow refCnt %d, hash refCnt %d, iUsage %d, shadow iUsage %d\n"
+TRCID_       0x04D0 TRACE_QUOTA         "OnlineQuotacheck - send exit msg EXIT_QUOTACHECK for %s\n"
+TRCID_       0x04D1 TRACE_QUOTA         "OnlineQuotacheck, nSanLockedInodes %d, %s\n"
+TRCID_       0x04D2 TRACE_QUOTA         "SetQuotaInodeNums: uflag %d, gflag %d, user file name %s, group file name %s for %s"
+TRCID_       0x04D3 TRACE_QUOTA         "SetQuotaInodeNums: ProcessQuotas ret %d"
+TRCID_       0x04D4 TRACE_FS            "SetQuotaInodeNums: exit with err %d"
+TRCID_       0x04D5 TRACE_CMD           "RunClientCmd: command %d started; sg '%s'\n"
+TRCID_       0x04D6 TRACE_CMD           "RunClientCmd: argc = %d\n"
+TRCID_       0x04D7 TRACE_CMD           "RunClientCmd: argv[%d] = '%s'\n"
+TRCID_       0x04D8 TRACE_CMD           "RunClientCmd: unknown command type %d\n"
+TRCID_       0x04D9 TRACE_CMD           "RunClientCmd: command %d done; rc %d\n"
+TRCID_       0x04DA TRACE_CMD           "HandleCmdMsg: received command %d; sg '%s'\n"
+TRCID_       0x04DB TRACE_CMD           "HandleCmdMsg: executing non-SG cmd on local node %s\n" $1=nodeaddr_id2name
+TRCID_       0x04DC TRACE_CMD           "HandleCmdMsg: executing on node %s (local node is %s)\n" $1=nodeaddr_id2name $2=nodeaddr_id2name
+TRCID_       0x04DD TRACE_CMD           "HandleCmdMsg: returning with rc %d, sock was %d\n"
+TRCID_       0x04DE TRACE_CMD           "HandleCmdMsg: NoCortn for command %d\n"
+TRCID_       0x04DF TRACE_TS            "changeDiskStates: disk %d: status old %s new %s; availability old %s new %s\n"
+TRCID_       0x04E0 TRACE_SANERGY       "changeDiskStates: nAddedOrDeletedDisk %d, bump up diskConfigVersion old:%d\n"
+TRCID_       0x04E1 TRACE_TS            "includeDisks: nDisks %d"
+TRCID_       0x04E2 TRACE_TS            "includeDisks: rc %d"
+TRCID_       0x04E3 TRACE_TS            "getEFOptions enter: optionsP 0x%lX mountpointP 0x%lX psock %d devNameP (%s)\n"
+TRCID_       0x04E4 TRACE_TS            "getEFOptions exit: rc %d optionsP (%s) mountpointP (%s)\n"
+TRCID_       0x04E5 TRACE_TS            "getContactList enter: ccName '%s'"
+TRCID_       0x04E6 TRACE_TS            "getContactList: mmcommon getContactNodes returned '%s'"
+TRCID_       0x04E7 TRACE_TS            "getContactNodes exit: err %d"
+TRCID_       0x04E8 TRACE_TS            "getMountPoint enter: psock %d devNameP (%s)\n"
+TRCID_       0x04E9 TRACE_TS            "getMountPoint exit: rc %d mountpointP (%s)\n"
+TRCID_       0x04EA TRACE_EEXP          "EE: Checking for match with (%s/%s) as this node...\n"
+TRCID_       0x04EB TRACE_EEXP          "EE: Reject connection(%s): over limit (%d)."
+TRCID_       0x04EC TRACE_EEXP          "EE: Allow connection(%s)."
+TRCID_       0x04ED TRACE_EEXP          "EE: Cannot obtain sockname, errno %d"
+TRCID_       0x04EE TRACE_EEXP          "EE: Checking named socket connection..."
+TRCID_       0x04EF TRACE_EEXP          "EE: Cannot obtain sockname, errno %d"
+TRCID_       0x04F0 TRACE_EEXP          "EE: Cannot obtain peername, errno %d"
+TRCID_       0x04F1 TRACE_EEXP          "EE: Peername (%s) tries to connect on daemon port %d ...\n"
+TRCID_       0x04F2 TRACE_EEXP          "EE: Peername (%s) tries to connect on EE port %d ...\n"
+TRCID_       0x04F3 TRACE_EEXP          "EE: Peername (%s) tries to connect on EE port...\n"
+TRCID_       0x04F4 TRACE_EEXP          "EE: Peername (%s) not local, check further...\n"
+TRCID_       0x04F5 TRACE_EEXP          "EE: Peername (%s) not found, check further...\n"
+TRCID_       0x04F6 TRACE_EEXP          "EE: Peername (%s) from remote cluster...\n"
+TRCID_       0x04F7 TRACE_EEXP          "EE: Peername (%s) not permitted.\n"
+TRCID_       0x04F8 TRACE_EEXP          "Unexpected EventsExporterConnectionType %d"
+TRCID_       0x04F9 TRACE_EEXP          "EE: Reject connection(%s)\n"
+TRCID_       0x04FA TRACE_EEXP          "EE: disallow mmpmon %s from %s on port %d, sock %d"
+TRCID_       0x04FB TRACE_EEXP          "EE: process mmpmon connection on daemon port %d, sock %d "
+TRCID_       0x04FC TRACE_EEXP          "EE: establish named socket %s"
+TRCID_       0x04FD TRACE_EEXP          "EE: establish EE port %d"
+TRCID_       0x04FE TRACE_EEXP          "EE: socket %d errno %d"
+TRCID_       0x04FF TRACE_EEXP          "EE: fcntl rc %d errno %d"
+TRCID_       0x0500 TRACE_EEXP          "EE: setsockopt 1 rc %d errno %d"
+TRCID_       0x0501 TRACE_EEXP          "EE: setsockopt 2 rc %d errno %d"
+TRCID_       0x0502 TRACE_EEXP          "EE: bind rc %d errno %d"
+TRCID_       0x0503 TRACE_EEXP          "EE: chmod rc %d errno %d"
+TRCID_       0x0504 TRACE_EEXP          "EE: listen rc %d errno %d"
+TRCID_       0x0505 TRACE_EEXP          "EE: coaccept sock %d for %s"
+TRCID_       0x0506 TRACE_EEXP          "EE: ioctl rc %d errno %d"
+TRCID_       0x0507 TRACE_EEXP          "EE: setsockopt 3 rc %d errno %d"
+TRCID_       0x0508 TRACE_EEXP          "EE: setsockopt 4 rc %d errno %d"
+TRCID_       0x0509 TRACE_EEXP          "EE: setsockopt 5 rc %d errno %d"
+TRCID_       0x050A TRACE_EEXP          "EE: failed connection handshake, errno %d"
+TRCID_       0x050B TRACE_EEXP          "EE: process mmpmon %s connection on sock %d "
+TRCID_       0x050C TRACE_EEXP          "EE: get list mutex(%s)\n" $1=EventsExporter_id2name
+TRCID_       0x050D TRACE_EEXP          "EE: rel list mutex(%s)\n" $1=EventsExporter_id2name
+TRCID_       0x050E TRACE_EEXP          "EEA: append event\n"
+TRCID_       0x050F TRACE_EEXP          "EEA: addToList sock %d\n"
+TRCID_       0x0510 TRACE_EEXP          "EEA: remFromList sock %d\n"
+TRCID_       0x0511 TRACE_EEXP          "EE: get instance mutex(%s) EE obj 0x%x\n" $1=EventsExporter_id2name
+TRCID_       0x0512 TRACE_EEXP          "EE: rel instance mutex(%s) EE obj 0x%x\n" $1=EventsExporter_id2name
+TRCID_       0x0513 TRACE_EEXP          "EE: sendHandler awaiting event for sock %d\n"
+TRCID_       0x0514 TRACE_EEXP          "EE: sendHandler event arrived for sock %d\n"
+TRCID_       0x0515 TRACE_EEXP          "EE: I/O error %d on sock %d\n"
+TRCID_       0x0516 TRACE_EEXP          "EE: Lost connection on sock %d, errno %d\n"
+TRCID_       0x0517 TRACE_EEXP          "EE: delaying for EE recv retry on sock %d, errno %d\n"
+TRCID_       0x0518 TRACE_EEXP          "EE_Receiver: from sock %d processing cmd %s\n"
+TRCID_       0x0519 TRACE_MMPMON        "EE::rebuildNodeAddrVec: exit: count %d, rc %d"
+TRCID_       0x051A TRACE_MMPMON        "EE::nodeList_add: exit: nodename '%s', nodeListCount %d, rc %d"
+TRCID_       0x051B TRACE_MMPMON        "EE::nodeList_subtract: exit: nodename '%s', nodeListCount %d, rc %d"
+TRCID_       0x051C TRACE_MMPMON        "EE::nodeList_empty: exit: rc %d"
+TRCID_       0x051D TRACE_MMPMON        "EE::isNodeListJustMe: exit: result %d"
+TRCID_       0x051E TRACE_DLEASE        "Pinger::Pinger: alloc this 0x%lX err %d\n"
+TRCID_       0x051F TRACE_DLEASE        "Pinger::send: ipaddr %s error %d"
+TRCID_       0x0520 TRACE_DLEASE        "Pinger::send: ipaddr %s ok"
+TRCID_       0x0521 TRACE_DLEASE        "Pinger::receiveLoop: recvfrom error rc %d\n"
+TRCID_       0x0522 TRACE_DLEASE        "Pinger::receiveLoop: invalid length %d hlen %d\n"
+TRCID_       0x0523 TRACE_DLEASE        "Pinger::receiveLoop: wrong recieve type %d from %s\n"
+TRCID_       0x0524 TRACE_DLEASE        "Pinger::receiveLoop: echoreply from %s"
+TRCID_       0x0525 TRACE_DLEASE        "Pinger::receiveLoop: unexpected or duplicate echoreply ipaddr %s"
+TRCID_       0x0526 TRACE_PIT           "destroy PitManager at 0x%lX"
+TRCID_       0x0527 TRACE_PIT           "destroy PitManager work item at 0x%lX"
+TRCID_       0x0528 TRACE_PIT           "destroy PitManager assigned item at 0x%lX"
+TRCID_       0x0529 TRACE_PIT           "destroy PitManager completed item at 0x%lX"
+TRCID_       0x052A TRACE_PIT           "destroy PitManager returned item at 0x%lX"
+TRCID_       0x052B TRACE_PIT           "destroy PitManager nodesCompleteP at 0x%lX"
+TRCID_       0x052C TRACE_PIT           "destroy PitManager at 0x%lX complete"
+TRCID_       0x052D TRACE_PIT           "pitReset priority %d->%d nodes %d->%d workComplete %d error %d"
+TRCID_       0x052E TRACE_PIT           "pitReset complete, maxThreads %d err %d"
+TRCID_       0x052F TRACE_PIT           "pitInitialize for sg %s repair %s filesetid %d"
+TRCID_       0x0530 TRACE_PIT           "Initialize work 0x%lX inode 0 to %d snap %d totInodes %d\n"
+TRCID_       0x0531 TRACE_PIT           "pitInitialize complete, err %d"
+TRCID_       0x0532 TRACE_PIT           "pitMaster started, nNodes %d"
+TRCID_       0x0533 TRACE_PIT           "Waiting to complete, nodes %d comp %d threads %d max %d"
+TRCID_       0x0534 TRACE_PIT           "pitMaster complete, ok %d of %d, err %d"
+TRCID_       0x0535 TRACE_PIT           "getWorkItem for %s %d workers (max inodes %d blocks %d) comp %d query %d" $1=nodeaddr_id2name
+TRCID_       0x0536 TRACE_PIT           "workItem 0x%lX: inode %d %d snapId %d block %lld %lld node %s" $7=nodeaddr_id2name
+TRCID_       0x0537 TRACE_PIT           "remote node requested %d inodes, multi %d, assigned %d"
+TRCID_       0x0538 TRACE_PIT           "splitItem 0x%lX: inode %d %d snapId %d block %lld %lld"
+TRCID_       0x0539 TRACE_PIT           "node %s complete, index %d nNodesComplete %d" $1=nodeaddr_id2name
+TRCID_       0x053A TRACE_PIT           "getWorkItem returns inodes %d %d snap %d blocks %lld %lld err %d"
+TRCID_       0x053B TRACE_PIT           "returnWork node %s returning inode %d %d snap %d block %lld %lld\n" $1=nodeaddr_id2name
+TRCID_       0x053C TRACE_PIT           "returnWork returning %lld blocks to master %s\n" $2=nodeaddr_id2name
+TRCID_       0x053D TRACE_PIT           "checking item 0x%lX node %s inode %d %d snap %d block %lld %lld\n" $2=nodeaddr_id2name
+TRCID_       0x053E TRACE_PIT           "work item for node %s inode %d %d snap %d not found." $1=nodeaddr_id2name
+TRCID_       0x053F TRACE_PIT           "returnWork complete, err %d"
+TRCID_       0x0540 TRACE_PIT           "completedWork from %s inode %d %d snap %d block %lld %lld err %d" $1=nodeaddr_id2name
+TRCID_       0x0541 TRACE_PIT           "checking item 0x%lX node %s inode %d %d snap %d block %lld %lld\n" $2=nodeaddr_id2name
+TRCID_       0x0542 TRACE_PIT           "work 0x%lX parent 0x%lX inode %d %d snap %d block %lld %lld children %d"
+TRCID_       0x0543 TRACE_PIT           "completedWork complete"
+TRCID_       0x0544 TRACE_PIT           "handleIOErrors: from %s for %d inodes to sock %d\n" $1=nodeaddr_id2name
+TRCID_       0x0545 TRACE_PIT           "pitAbort sg %s error %d working nodes %d of %d threads %d of %d"
+TRCID_       0x0546 TRACE_PIT           "pitHandleNodeFailure called, nodes %d comp %d, thds %d max %d"
+TRCID_       0x0547 TRACE_PIT           "Master node %s failed" $1=nodeaddr_id2name
+TRCID_       0x0548 TRACE_PIT           "failed node %s" $1=nodeaddr_id2name
+TRCID_       0x0549 TRACE_PIT           "was assigned item 0x%lX node %s inode %d %d snap %d block %lld %lld" $2=nodeaddr_id2name
+TRCID_       0x054A TRACE_PIT           "remove completed node %s nComplete = %d" $1=nodeaddr_id2name
+TRCID_       0x054B TRACE_PIT           "pitHandleNodeFailure complete, restart %d working %d comp %d"
+TRCID_       0x054C TRACE_PIT           "pitHandleNodeFailure failed to restart %d nodes, err %d"
+TRCID_       0x054D TRACE_PIT           "newWorkerThread called nWorkers %d max %d starting %d started %d"
+TRCID_       0x054E TRACE_PIT           "newWorkerThread waitToStart, nWorkers %d starting %d started %d"
+TRCID_       0x054F TRACE_PIT           "newWorkerThread waitForWorker, nWorkers %d starting %d started %d"
+TRCID_       0x0550 TRACE_PIT           "newWorkerThread complete, nWorkers %d hold %d, err %d"
+TRCID_       0x0551 TRACE_PIT           "awaitWorkers nWorkers %d hold %d"
+TRCID_       0x0552 TRACE_PIT           "pitWorker started nWorkers %d max %d\n"
+TRCID_       0x0553 TRACE_PIT           "pitWorker complete, nWorkers %d hold %d err %d\n"
+TRCID_       0x0554 TRACE_PIT           "doWork %d inodes %d %d snap %d blocks %lld %lld\n"
+TRCID_       0x0555 TRACE_PIT           "processing for %s, what 0x%X\n"
+TRCID_       0x0556 TRACE_PIT           "processing delete fileset, filesetId %d\n"
+TRCID_       0x0557 TRACE_PIT           "doWork complete inodes %d %d snap %d blocks %lld %lld, OK %d of %d err %d"
+TRCID_       0x0558 TRACE_PIT           "sendStartMsg to %d nodes max %d"
+TRCID_       0x0559 TRACE_PIT           "... failed to communicate with %d nodes.\n"
+TRCID_       0x055A TRACE_PIT           "... %d nodes refuse to help.\n"
+TRCID_       0x055B TRACE_PIT           "Continue with %d nodes.\n"
+TRCID_       0x055C TRACE_PIT           "sendStartMsg complete, nNodesWorking %d err %d"
+TRCID_       0x055D TRACE_PIT           "sendStopMsg to %d nodes, already sent %d"
+TRCID_       0x055E TRACE_PIT           "pitStop: failed to stop %d nodes."
+TRCID_       0x055F TRACE_PIT           "pitStop: %d nodes refuse to stop."
+TRCID_       0x0560 TRACE_PIT           "sendStopMsg complete, err %d"
+TRCID_       0x0561 TRACE_PIT           "requestWork for nWorkers %d abort %d"
+TRCID_       0x0562 TRACE_PIT           "requestWork completed inode %d %d snap %d block %lld %lld"
+TRCID_       0x0563 TRACE_PIT           "requestWork returned inode %d %d snap %d block %lld %lld"
+TRCID_       0x0564 TRACE_PIT           "requestWork assigned %s inode %d %d snap %d block %lld %lld" $1=nodeaddr_id2name
+TRCID_       0x0565 TRACE_PIT           "workItem 0x%lX: inode %d %d snapId %d block %lld %lld node %s" $7=nodeaddr_id2name
+TRCID_       0x0566 TRACE_PIT           "work complete nWorkers %d"
+TRCID_       0x0567 TRACE_PIT           "requestWork workP 0x%lX parentP 0x%lX"
+TRCID_       0x0568 TRACE_PIT           "requestWork complete, err %d"
+TRCID_       0x0569 TRACE_PIT           "handleWorkRequest from %s ok %d of %d err %d" $1=nodeaddr_id2name
+TRCID_       0x056A TRACE_PIT           "handleWorkRequest complete err %d"
+TRCID_       0x056B TRACE_PIT           "Pit_Start: sg %s from node %s" $2=nodeaddr_id2name
+TRCID_       0x056C TRACE_PIT           "restart PIT"
+TRCID_       0x056D TRACE_PIT           "PIT_workerPacket: remaining len = %d wpktLen = %d nDiskAddr = %d"
+TRCID_       0x056E TRACE_PIT           "PIT_workerPacket: InitFIDUDiskAddrList returned %d\n"
+TRCID_       0x056F TRACE_PIT           "fidDiskAddr: msg %d diskNum %d sectorStart %d sectorEnd %d\n"
+TRCID_       0x0570 TRACE_FS            "PIT_StartMH FIDUListP: returned NULL err = %d\n"
+TRCID_       0x0571 TRACE_FS            "PIT_StartMH FIDUListP: returned err = %d\n"
+TRCID_       0x0572 TRACE_PIT           "Pit_Start: sg %s from node %s complete, err %d" $2=nodeaddr_id2name
+TRCID_       0x0573 TRACE_PIT           "Pit_Stop: from node %s error %d" $1=nodeaddr_id2name
+TRCID_       0x0574 TRACE_PIT           "Pit_Stop: from node %s complete, err %d" $1=nodeaddr_id2name
+TRCID_       0x0575 TRACE_PIT           "Pit_GetWorkMH: from node %s" $1=nodeaddr_id2name
+TRCID_       0x0576 TRACE_PIT           "PIT_ReportIOErrorMH: process message from %s for %d inodes\n" $1=nodeaddr_id2name
+TRCID_       0x0577 TRACE_PIT           "PIT_ReportIOErrorMH: from %s complete, err %d" $1=nodeaddr_id2name
+TRCID_       0x0578 TRACE_PIT           "Parallel Inode Traverse sg %s 0x%lX what 0x%lX priority %d nodes %d"
+TRCID_       0x0579 TRACE_PIT           "Parallel Inode Traverse sg %s complete, err %d"
+TRCID_       0x057A TRACE_PIT           "pitCreate 0x%lX user 0x%lX master %s time %s priority %d nodes %d, filesetId %d" $3=nodeaddr_id2name
+TRCID_       0x057B TRACE_PIT           "pitCreate complete pitP 0x%lX, err %d"
+TRCID_       0x057C TRACE_PIT           "pitContinue returns err %d"
+TRCID_       0x057D TRACE_PIT           "BrokenAddrMsg: constructor size %d\n"
+TRCID_       0x057E TRACE_PIT           "BrokenAddrMsg: constructor failed to allocate buffer of length %d\n"
+TRCID_       0x057F TRACE_PIT           "sendReport: sending report with %d inodes in the list.\n"
+TRCID_       0x0580 TRACE_PIT           "sendReport: returning O.K after sending message.\n"
+TRCID_       0x0581 TRACE_PIT           "addInode: adding inode %d snap %d, to list\n"
+TRCID_       0x0582 TRACE_PIT           "addInode: returning err %d\n"
+TRCID_       0x0583 TRACE_PIT           "addDA: adding block #%lld at %d:%lld, to list for inode %d snap %d\n"
+TRCID_       0x0584 TRACE_PIT           "addDA: returning err %d\n"
+TRCID_       0x0585 TRACE_PIT           "addDA (with inodeStatus %d): adding block #%lld at %d:%lld, to list for inode %d snap %d\n"
+TRCID_       0x0586 TRACE_PIT           "addDA (with inodeStatus): returning err %d\n"
+TRCID_       0x0587 TRACE_QUOTA         "quotaMgrOpStart %s enter: quotaMgrReady 0\n"
+TRCID_       0x0588 TRACE_QUOTA         "quotaMsgSGDefaultOnOff SG version %d, notEnabled(%d)"
+TRCID_       0x0589 TRACE_QUOTA         "QuotaMgr: calling DefQuotaOnOff:uflag %d, gflag %d isOn %d"
+TRCID_       0x058A TRACE_QUOTA         "quotaMsgSGEditDefault SG version %d, notEnabled(%d)"
+TRCID_       0x058B TRACE_QUOTA         "quotaMsgSGReplaceInodes: SetQuotaInodeNums ret err %d"
+TRCID_       0x058C TRACE_QUOTA         "GetQuotaCheckPos asking: segment %d, region %d, position %d, now: segment %d, region %d, position %d\n"
+TRCID_       0x058D TRACE_QUOTA         "SGHandleQuotaMgrMsg: quotaMsgRelinquish returned E_INVAL\n"
+TRCID_       0x058E TRACE_QUOTA         "Clt received quotaMsgDefaultOnOff: quotaDefaultOn %d, isOn %d\n"
+TRCID_       0x058F TRACE_QUOTA         "qu.client online quotacheck end processing for %s\n"
+TRCID_       0x0590 TRACE_QUOTA         "qu.client online quotacheck exit for %s\n"
+TRCID_       0x0591 TRACE_QUOTA         "QuotaMgr::QuotaOn: quota on type %d; num rooms %d, %s"
+TRCID_       0x0592 TRACE_QUOTA         "qu.server quota on type %d; err %d %s"
+TRCID_       0x0593 TRACE_QUOTA         "qu.server quota off type %d; err %d %s"
+TRCID_       0x0594 TRACE_QUOTA         "Default quota on, makeDefault true"
+TRCID_       0x0595 TRACE_QUOTA         "QuotaMgr::DefQuotaOnOff -i id %d (before): bSoft=%lld bHard=%lld iSoft=%d iHard=%d, entryType %s"
+TRCID_       0x0596 TRACE_QUOTA         "QuotaMgr::DefQuotaOnOff -i id %d (after): bSoft=%lld bHard=%lld iSoft=%d iHard=%d, entryType %s\n"
+TRCID_       0x0597 TRACE_QUOTA         "QuotaMgr::DefQuotaOnOff type %d, isOn %d ; err %d SG: %s\n"
+TRCID_       0x0598 TRACE_QUOTA         "qu.server force usage update type %d, id %d for %s"
+TRCID_       0x0599 TRACE_QUOTA         "qu.server force usage update type %d, id %d for %s"
+TRCID_       0x059A TRACE_QUOTA         "startQuotaClient returns err %d %s"
+TRCID_       0x059B TRACE_QUOTA         "SyncQuotaClt: onlineQuotacheckRunning - do nothing"
+TRCID_       0x059C TRACE_QUOTA         "QuotaClient::SyncQuotaClt: num rooms %d, shadow upd %d, on %s"
+TRCID_       0x059D TRACE_QUOTA         "QuotaEntry::FetchUpdate: qu.client after fetching update; type %d, id %d: bUse=%lld, bShare=%lld, iUse=%d, iShare=%d"
+TRCID_       0x059E TRACE_QUOTA         "QuotaEntry::FetchUpdate: update: relinquishShares=%d, type=%d, id=%d, blkUsg=%lld, inodeUsg=%d, blkLS=%lld, inodeLS=%d"
+TRCID_       0x059F TRACE_QUOTA         "QuotaEntry::FetchUpdate: update: relinquishShares=%d, type=%d, id=%d, blkUsg=%lld, inodeUsg=%d"
+TRCID_       0x05A0 TRACE_QUOTA         "qu.server: Update id %d, bU %lld, bInDoubt %lld, iU %d, iInDoubt %d\n"
+TRCID_       0x05A1 TRACE_QUOTA         "qu.server: Update id %d share bU %lld, bInDoubt %lld, iU %d, iInDoubt %d\n"
+TRCID_       0x05A2 TRACE_QUOTA         "endQuotaClient for %s"
+TRCID_       0x05A3 TRACE_QUOTA         "endQuotaClient: waitUntilMarkedEntsGone type %d, numToDelete %d, NumEntries %d"
+TRCID_       0x05A4 TRACE_QUOTA         "endQuotaClient: exit, clean %d, err %d, for %s"
+TRCID_       0x05A5 TRACE_QUOTA         "qu.Client error in sendQuotaShareRequest for type %d id %d on %s"
+TRCID_       0x05A7 TRACE_QUOTA         "qu.Client sendQuotaShareRequest for type %d id %d success %d blockLocalShare %lld inodeLocalShare %d"
+TRCID_       0x05A8 TRACE_QUOTA         "qu.client send shadow updateUsage type %d, id %d: blocks=%lld, inodes=%d"
+TRCID_       0x05A9 TRACE_QUOTA         "qu.client send updateUsage type %d, id %d: blocks=%lld, inodes=%d"
+TRCID_       0x05AA TRACE_QUOTA         "qu.client after send updateUsage type %d, id %d: bUsg=%lld, bHL=%lld, iUsg=%d, iHL=%d"
+TRCID_       0x05AC TRACE_QUOTA         "qu.client prefetch type %d id %d: blocks=%lld, inodes=%d  %s"
+TRCID_       0x05AD TRACE_QUOTA         "beforeCurrentQuotacheckPos enter: segment %d, currCheckSegment %d, region %d, currCheckRegion %d, bit %d, lastKnownCheckPosition %d\n"
+TRCID_       0x05AE TRACE_QUOTA         "beforeCurrentQuotacheckPos: currCheckSegment=currCheckRegion(-1), onlineQuotacheck not started, before %d\n"
+TRCID_       0x05AF TRACE_QUOTA         "beforeCurrentQuotacheckPos (1): segment %d; currCheckSegment %d; region %d; currCheckRegion %d; bit %d; before %d, stripe group: %s"
+TRCID_       0x05B0 TRACE_QUOTA         "beforeCurrentQuotacheckPos (2): segment %d, currCheckSegment %d; region %d, currCheckRegion %d; before %d, %s"
+TRCID_       0x05B1 TRACE_QUOTA         "beforeCurrentQuotacheckPos: region = currCheckRegion %d, segment = currCheckSegment = %d\n"
+TRCID_       0x05B2 TRACE_QUOTA         "beforeCurrentQuotacheckPos (5): segment %d = currCheckSegment %d && region %d = currCheckRegion %d; lastKnownCheckPosition %d > bit %d; before %d %s"
+TRCID_       0x05B3 TRACE_QUOTA         "beforeCurrentQuotacheckPos(10): quotaMsgGetQuotaCheckPos reply updatedPos %d, updatedReg %d, updatedSeg %d\n"
+TRCID_       0x05B4 TRACE_QUOTA         "beforeCurrentQuotacheckPos(9): quotacheck finished ?? before %d\n"
+TRCID_       0x05B5 TRACE_QUOTA         "beforeCurrentQuotacheckPos(7): segment %d, currCheckSegment %d; region %d, currCheckRegion %d; updatedReg %d, updatedSeg %d, updatedPos %d, bit %d, before %d"
+TRCID_       0x05B6 TRACE_QUOTA         "beforeCurrentQuotacheckPos(8): segment %d, currCheckSegment %d; region %d, currCheckRegion %d; updatedReg %d, updatedSeg %d, updatedPos %d, bit %d, before %d"
+TRCID_       0x05B7 TRACE_QUOTA         "OpenFile::beforeCurrentQuotacheckPos: ino %d, reg %d, bit %d, inodesPerSegment %d, nRegions %d \n"
+TRCID_       0x05B8 TRACE_QUOTA         "FixShadowTable: ownerUID=%d, ownerGID=%d, nBlocks=%lld, nInodes=%d, region=%d, segment=%d, bit=%d, before=%d, err=%d"
+TRCID_       0x05B9 TRACE_QUOTA         "FixShadowTable: exit with err=%d."
+TRCID_       0x05BA TRACE_QUOTA         "FixShadowTableBlockCount: ino %d, reg %d, bit %d, inodesPerSegment %d, nRegions %d"
+TRCID_       0x05BB TRACE_QUOTA         "qu.client starts online quotacheck for %s"
+TRCID_       0x05BC TRACE_QUOTA         "qu.client start online quotacheck: relinquish id %d type %d  blocks=%lld, inodes=%d for %s"
+TRCID_       0x05BD TRACE_QUOTA         "quotaMsgRelinquish (quotackeck) id %d got err E_INVAL\n"
+TRCID_       0x05BE TRACE_QUOTA         "qu.client started online quotacheck for %s"
+TRCID_       0x05BF TRACE_QUOTA         "online quota check -- client end handling  for %s\n"
+TRCID_       0x05C0 TRACE_QUOTA         "QuotaClient::EndOnlineQuotacheck type %d\n"
+TRCID_       0x05C1 TRACE_QUOTA         "qu.client end online quotacheck: update id %d type %d  bUpd=%lld,iUpd=%d shadow: bUpd %lld, iUpd %d for %s"
+TRCID_       0x05C2 TRACE_QUOTA         "qu.client end online quotacheck for %s"
+TRCID_       0x05C3 TRACE_TS            "SGMgrData::cleanup: mgrTakeover %d sgMgr %s\n" $2=nodeaddr_id2name
+TRCID_       0x05C4 TRACE_TS            "sg_mgr_init: status %s, online %d, formatted %d, mgrRestricted %d, name '%s'\n" $1=SGStatus_id2name
+TRCID_       0x05C5 TRACE_TS            "sg_mgr_init: replace desc version %d (log %d) -> %d (log %d)"
+TRCID_       0x05C6 TRACE_TS            "sg_mgr_init: desc read status flags %02x\n"
+TRCID_       0x05C7 TRACE_TS            "sg_mgr_init: bad version: myVersion %d curSGMgrVersion %d"
+TRCID_       0x05C8 TRACE_TS            "sg_mgr_init: panicOnDiskFail %d num bad fgs %d dontPanicOnDiskOpenError %d\n"
+TRCID_       0x05C9 TRACE_TS            "sg_mgr_init: returning rc %d; status %s, online %d, formatted %d\n" $2=SGStatus_id2name
+TRCID_       0x05CA TRACE_TS            "update_sgm_node_state: addr %s logGroup %d spare %d:%lld panic %d flags 0x%X stripe %s" $1=nodeaddr_id2name
+TRCID_       0x05CB TRACE_TS            "StripeGroup::getLLMigrateRange: inode %d snap %d fromBlock %lld toBlock %lld"
+TRCID_       0x05CC TRACE_TS            "SGMgrData::handleQuorumLoss: reset sgMgr %s for SG %s" $1=nodeaddr_id2name
+TRCID_       0x05CD TRACE_FSCK          "pfsckBegin exit: readonly %d, online %d, status %s, err %d\n" $3=SGStatus_id2name
+TRCID_       0x05CE TRACE_QUOTA         "newLogFile to destroy inode %d, because err=%d\n"
+TRCID_       0x05CF TRACE_TS            "newLogFile: inode %d, rc %d\n"
+TRCID_       0x05D0 TRACE_TS            "dissolveLogGroup: removing log %d:%lld from log group %d\n"
+TRCID_       0x05D1 TRACE_TS            "getLogGroup: requesting node %s\n" $1=nodeaddr_id2name
+TRCID_       0x05D2 TRACE_TS            "getLogGroup: no unassigned log group found; creating new one\n"
+TRCID_       0x05D3 TRACE_TS            "getLogGroup: n %d flags 0x%02X addLogFile log %d:%lld err %d"
+TRCID_       0x05D4 TRACE_TS            "getLogGroup: returning log group %d, rc %d\n"
+TRCID_       0x05D5 TRACE_TS            "get_spare_log_file: node %s, flags 0x%02x, logGroup %d, oldLogFile %d:%lld\n" $1=nodeaddr_id2name
+TRCID_       0x05D6 TRACE_TS            "get_spare_log_file: returning %d:%lld, rc %d\n"
+TRCID_       0x05D7 TRACE_TS            "change_log_group: node %s, log group %d, old file %d:%lld new file %d:%lld" $1=nodeaddr_id2name
+TRCID_       0x05D8 TRACE_TS            "dissolve_log_group entry: node %s, log group %d\n" $1=nodeaddr_id2name
+TRCID_       0x05D9 TRACE_TS            "dissolve_log_group exit: err %d\n"
+TRCID_       0x05DA TRACE_TS            "repair_unused_logs: log group %d checking replica on disk %d"
+TRCID_       0x05DB TRACE_TS            "releaseLog: releasing log group %d/index %d; new status %s\n" $3=LogStatus_id2name
+TRCID_       0x05DC TRACE_TS            "garbageCollectAcl: thread already running for sg %s\n"
+TRCID_       0x05DD TRACE_TS            "garbageCollectAcl: err %d starting thread for sg %s\n"
+TRCID_       0x05DE TRACE_TS            "SGMgrData::recoverLog: recovering log group %d\n"
+TRCID_       0x05DF TRACE_TS            "SGMgrData::recoverLog open log err %d\n"
+TRCID_       0x05E0 TRACE_TS            "SGMgrData::recoverLog: rc %d from log group %d recovery\n"
+TRCID_       0x05E1 TRACE_TS            "SGMgrData::doRecovery: continuing after log recovery error %d"
+TRCID_       0x05E2 TRACE_TS            "SGMgrData::doRecovery: recovering stripe group %s %s%s\n"
+TRCID_       0x05E3 TRACE_TS            "SGMgrData::doRecovery: log recovery finished with rc %d\n"
+TRCID_       0x05E4 TRACE_TS            "SGMgrData::doRecovery: log recovery completed with rc %d, new status %s\n" $2=SGStatus_id2name
+TRCID_       0x05E5 TRACE_TS            "SGMgrData::doAsyncRecovery: onetimeRecoveryDone %d isRestoreFS %d\n"
+TRCID_       0x05E6 TRACE_QUOTA         "ProcessQuotas called from doAsyncRecovery err %d"
+TRCID_       0x05E7 TRACE_TS            "SGMgrData::doAsyncRecovery: completed with rc %d, new status %s\n" $2=SGStatus_id2name
+TRCID_       0x05E8 TRACE_TS            "SGMgrData::handleSGTakeover %s\n"
+TRCID_       0x05E9 TRACE_TS            "SGMgrData::sg_migrate_tm %s nServers %d xferAll %d"
+TRCID_       0x05EA TRACE_TS            "SGMgrData::sg_migrate_tm returns rc %d code %d"
+TRCID_       0x05EB TRACE_TS            "SGMgrData::adjustServeTM: nServers %d nCandidates %d nNewInvitees %d nNoManager %d nInvited %d"
+TRCID_       0x05EC TRACE_TS            "SGMgrData::adjustServeTM: tscSend rc %d err %d"
+TRCID_       0x05ED TRACE_TS            "SGMgrData::sg_serve_tm %s\n"
+TRCID_       0x05EE TRACE_TS            "SGMgrData::stoppedTmServing: tmServing %d"
+TRCID_       0x05EF TRACE_TS            "SGMgrData::sg_manage: from %s, flags 0x%X, sg name '%s'\n" $1=nodeaddr_id2name
+TRCID_       0x05F0 TRACE_TS            "sg_manage: bad version: myVersion %d curSGMgrVersion %d"
+TRCID_       0x05F1 TRACE_TS            "SGMgrData::sg_quiesce: from %s, sg name '%s'\n" $1=nodeaddr_id2name
+TRCID_       0x05F2 TRACE_TS            "SGMgrData::sg_quiesce: returning %d\n"
+TRCID_       0x05F3 TRACE_TS            "SGMgrData::sg_mount: node %s, flags %X; sg status %s\n" $1=nodeaddr_id2name $3=SGStatus_id2name
+TRCID_       0x05F4 TRACE_TS            "Trying to mount rw/ro when already mounted rs\n"
+TRCID_       0x05F5 TRACE_TS            "Trying to mount rs when already mounted rw/ro\n"
+TRCID_       0x05F6 TRACE_TS            "SGMgrData::sg_mount(%s) failed (restore enabled) err %d\n"
+TRCID_       0x05F7 TRACE_TS            "SGMgrData::sg_mount(%s) setting fs dirty\n"
+TRCID_       0x05F8 TRACE_TS            "policyDataLen %d bufP 0x%lX bP 0x%lX size %d buf2 %d at 0x%lX"
+TRCID_       0x05F9 TRACE_TS            "SGMgrData::sg_mount: returning with rc %d, log group %d\n"
+TRCID_       0x05FA TRACE_TS            "SGMgrData::sg_unmount: from node %s, releasingLog %d, isSGPanic %d\n" $1=nodeaddr_id2name
+TRCID_       0x05FB TRACE_TS            "sg_unmount:%s\n"
+TRCID_       0x05FC TRACE_TS            "sg_resign_mgr: panicked %d keepObject %d quiesceLevel %d nOpsBlocked %d sg '%s'"
+TRCID_       0x05FD TRACE_TS            "sg_node_failure_recovery enter: %s sgMgr %s, mgrTakeover %d, status %s hasRecovered %d\n" $2=nodeaddr_id2name $4=SGStatus_id2name
+TRCID_       0x05FE TRACE_TS            "sg_node_failure_recovery: rc %d code %d\n"
+TRCID_       0x05FF TRACE_TS            "sg_node_failure_recovery exit: %s sgMgr %s, mgrTakeover %d, status %s hasRecovered %d" $2=nodeaddr_id2name $4=SGStatus_id2name
+TRCID_       0x0600 TRACE_TS            "doLogAndTMRecovery: %s\n"
+TRCID_       0x0601 TRACE_TS            "doLogAndTMRecovery: checking logs needFence %d\n"
+TRCID_       0x0602 TRACE_TS            "doLogAndTMRecovery: failed node %s used log group %d/index %d\n" $1=nodeaddr_id2name
+TRCID_       0x0603 TRACE_TS            "doLogAndTMRecovery: unknown status for log group %d/index %d\n"
+TRCID_       0x0604 TRACE_DLEASE        "doLogAndTMRecovery: leaseEndTime %d, delay %d, sg %s"
+TRCID_       0x0605 TRACE_TS            "doLogAndTMRecovery: %s\n"
+TRCID_       0x0606 TRACE_SANERGY       "SGMgrData::bcastSANergyExport: export %d nDests %d initiator %s\n" $3=nodeaddr_id2name
+TRCID_       0x0607 TRACE_SANERGY       "SGMgrData::bcastSANergyExport: returning err %d\n"
+TRCID_       0x0608 TRACE_SANERGY       "SGMgrData::bcastSANergyExport sgP 0x%lX (0x%lX), setSANergyExport\n"
+TRCID_       0x0609 TRACE_SANERGY       "SGMgrData::bcastQuerySANergyActive nDests %d\n"
+TRCID_       0x060A TRACE_SANERGY       "SGMgrData::bcastQuerySANergyActive ret err %d, nSanActiveNodes %d\n"
+TRCID_       0x060B TRACE_TS            "BlockAndXferTM sg %s"
+TRCID_       0x060C TRACE_TS            "  serverList[%d] is NODE_NONE\n"
+TRCID_       0x060D TRACE_TS            "  serverList[%d] is active (naddr %s)\n" $2=nodeaddr_id2name
+TRCID_       0x060E TRACE_TS            "  serverList[%d] is not mounted (naddr %s)\n" $2=nodeaddr_id2name
+TRCID_       0x060F TRACE_TS            "  nActive %d, nFailedServers %d\n"
+TRCID_       0x0610 TRACE_TS            "BlockAndXferTM nNodes %d\n"
+TRCID_       0x0611 TRACE_TS            "BlockAndXferTM complete, err %d\n"
+TRCID_       0x0612 TRACE_TS            "MinTransferTM complete, err %d\n"
+TRCID_       0x0613 TRACE_TS            "UnBlockTM sg %s\n"
+TRCID_       0x0614 TRACE_TS            "UnBlockTM complete, err %d\n"
+TRCID_       0x0615 TRACE_TS            "StripeGroup::sgdesc_update: old version %d, new version %d\n"
+TRCID_       0x0616 TRACE_TS            "StripeGroup::sgdesc_update: returning with rc %d\n"
+TRCID_       0x0617 TRACE_TS            "StripeGroup::bcastNsdInfoToRemotes: enter: numRemotes %d  numDisks %d\n"
+TRCID_       0x0618 TRACE_TS            "StripeGroup::bcastNsdInfoToRemotes: exit: rc %d\n"
+TRCID_       0x0619 TRACE_FS            "StripeGroup::bcastWaitForReplicatedWrites: nMounts %d\n"
+TRCID_       0x061A TRACE_FS            "StripeGroup::bcastWaitForReplicatedWrites exit: error %d\n"
+TRCID_       0x061B TRACE_TS            "StripeGroup::migrateLogs: nMounts %d\n"
+TRCID_       0x061C TRACE_TS            "StripeGroup::migrateLogs exit: error %d\n"
+TRCID_       0x061D TRACE_SANERGY       "file system version (%d) incompatible with SANergy export; sg=%s\n"
+TRCID_       0x061E TRACE_SANERGY       "requestSANergyExport returning err %d\n"
+TRCID_       0x061F TRACE_SANERGY       "querySANergyActive: file system version (%d) incompatible with SANergy export; sg=%s\n"
+TRCID_       0x0620 TRACE_SANERGY       "querySANergyActive returning err %d, nSanActiveNodes %d\n"
+TRCID_       0x0621 TRACE_TS            "exceptionHandlerBody: processing exception '%s' for %s" $1=SGException_id2name
+TRCID_       0x0622 TRACE_TS            "exceptionHandlerBody: finished processing exception '%s'" $1=SGException_id2name
+TRCID_       0x0623 TRACE_TS            "exceptionHandlerBody: nothing more to do for exception '%s'" $1=SGException_id2name
+TRCID_       0x0625 TRACE_SP            "TSRecovery: Recovering stripe group %s"
+TRCID_       0x0626 TRACE_SP            "TSRecovery: Recovery for stripe group %s complete"
+TRCID_       0x0627 TRACE_TS            "SyncSG called for %s firstSync %d\n"
+TRCID_       0x0628 TRACE_TS            "SyncSG complete, err %d\n"
+TRCID_       0x0629 TRACE_TS            "SGHandleUpdate PanicNotify: uid %X:%X isMounted %d node %s name %s" $4=nodeaddr_id2name
+TRCID_       0x062A TRACE_TS            "StripeGroupCfg::init failed, err %d"
+TRCID_       0x062B TRACE_SANERGY       "SGHandleSanUpdate: err %d, calling SGPANIC\n"
+TRCID_       0x062C TRACE_TS            "SGHandleRmtUnmount: sg %s is being unmounted due to request from %s\n"
+TRCID_       0x062D TRACE_TS            "sgm_rpc_start(origErr %d, flags 0x%0x): sgMgr %s err %d\n" $3=nodeaddr_id2name
+TRCID_       0x062E TRACE_TS            "sgm_op_start wait 1: priority %d quiesce %d nBlocked %d"
+TRCID_       0x062F TRACE_TS            "sgm_op_start: resetting quiesceLevel %d -> %d"
+TRCID_       0x0630 TRACE_TS            "sgm_op_start wait 2: priority %d quiesce %d nBlocked %d"
+TRCID_       0x0631 TRACE_TS            "sgm_op_start: priorityLevel %d nOpsPending %d (%d total) nOpsBlocked %d; returning %d"
+TRCID_       0x0632 TRACE_TS            "sgm_op_end: priorityLevel %d nOpsPending now %d (%d total) quiesceLevel %d"
+TRCID_       0x0633 TRACE_TS            "sgm_op_end: quiesceLevel now %d"
+TRCID_       0x0634 TRACE_TS            "sgmReply mount options: '%s'"
+TRCID_       0x0635 TRACE_TS            "sgmReply nsdDataLen %d, nsdDataReply.length %d\n"
+TRCID_       0x0636 TRACE_TS            "policy data at 0x%lX len %d policyLen %d dataP 0x%lX length %d"
+TRCID_       0x0637 TRACE_SANERGY       "SGMount sanergyExportReply %d, EnableSANergy %d, SANergyExport %d, %s\n"
+TRCID_       0x0638 TRACE_TS            "SGHandleRPC: %s\n"
+TRCID_       0x0639 TRACE_TS            "SGHandleRPC: %s\n"
+TRCID_       0x063A TRACE_SANERGY       "sgmMsgIsSGSANergyActive: reply, nSanActiveNodes %d\n"
+TRCID_       0x063B TRACE_QUOTA         "getFID ret %d, exit_code %d, err %d, sg %s %s\n"
+TRCID_       0x063C TRACE_QUOTA         "EditQuota: block \"%s\" inode \"%s\"\n"
+TRCID_       0x063D TRACE_QUOTA         "EditQuota: returns msgNum %d err %d\n"
+TRCID_       0x063E TRACE_QUOTA         "runTSEditQuota: listFlags %d:%d:%d, idList %d:%d:%d\n"
+TRCID_       0x063F TRACE_QUOTA         "edquota -p, proto user  (id %d) entry type %s"
+TRCID_       0x0640 TRACE_QUOTA         "EditQuota: cedit returns err %d len %d \"%s\" editstr \"%s\"\n"
+TRCID_       0x0641 TRACE_QUOTA         "runTSDefEditQuota: listFlags %d:%d:%d, idList %d:%d:%d\n"
+TRCID_       0x0642 TRACE_QUOTA         "defedquota: cedit returns err %d len %d \"%s\" editstr \"%s\"\n"
+TRCID_       0x0643 TRACE_MMPMON        "mmpmon_quorumLossResponse: quorum was lost"
+TRCID_       0x0644 TRACE_MMPMON        "expandStarNodes: exit: result 0x%08x, count %d, rc %d"
+TRCID_       0x0645 TRACE_MMPMON        "processMmpmon_nodeList: enter: cmd %s"
+TRCID_       0x0646 TRACE_MMPMON        "processMmpmon_nodeList: name %s"
+TRCID_       0x0647 TRACE_MMPMON        "processMmpmon_nodeList: nodeNameCount %d"
+TRCID_       0x0648 TRACE_MMPMON        "processMmpmon_nodeList: xlate '%s' to '%s', status %d"
+TRCID_       0x0649 TRACE_MMPMON        "processMmpmon_nodeList: exit: rc %d"
+TRCID_       0x064A TRACE_MMPMON        "mmpmon: for %s[%d]: received request '%s %s %s'\n"
+TRCID_       0x064B TRACE_MMPMON        "mmpmon: for %s[%d]: returned '%s'\n"
+TRCID_       0x064C TRACE_MMPMON        "mmpmon: for %s[%d]: returned rc %d\n"
+TRCID_       0x064D TRACE_SP            "GroupLeader::netElect: enter activeNodes %d newGid %s\n"
+TRCID_       0x064E TRACE_SP            "GroupLeader::netElect: exit err %d gid %s nDests %d joined %d accepts %d \n"
+TRCID_       0x064F TRACE_SP            "GroupLeader::join: winningNum %d prevGid %s newGid %s maxGid %s isLocal %d"
+TRCID_       0x0650 TRACE_SP            "GroupLeader::leave: was joined %d loseQuorum %d gid %s isLocal %d"
+TRCID_       0x0651 TRACE_SP            "GroupLeader::quorumLoss: gid %s maxGid %s isLocal %d"
+TRCID_       0x0652 TRACE_SP            "GroupLeader::latestElectedGid: inGid %s gid %s maxGid %s isLocal %d"
+TRCID_       0x0653 TRACE_SP            "GroupLeaderHandler: exit\n"
+TRCID_       0x0654 TRACE_SP            "GroupLeader::startHandler: newGid %s maxGid %s sender %s proposingNum %d\n"
+TRCID_       0x0655 TRACE_SP            "GroupLeader::startHandler: proposed newGid %s < maxGid %s winningNum %d\n"
+TRCID_       0x0656 TRACE_SP            "GroupLeader::startHandler: proposed newGid %s == maxGid %s winningNum %d\n"
+TRCID_       0x0657 TRACE_SP            "GroupLeader::acceptHandler: exit sender %s newGid %s maxGid %s expected calls %d acceptNodes %d\n"
+TRCID_       0x0658 TRACE_SP            "GroupLeader::joinHandler: newGid %s maxGid %s join %s\n"
+TRCID_       0x0659 TRACE_SP            "diskElect: nQuorumDisks=%d\n"
+TRCID_       0x065A TRACE_SP            "diskElect: diskPaxos failed with err %d\n"
+TRCID_       0x065B TRACE_SP            "diskElect: electedNode = %d, elected response %d elected seq = %d\n"
+TRCID_       0x065C TRACE_SP            "diskElect: challenging elected node %d, and resp %d\n"
+TRCID_       0x065D TRACE_SP            "diskElect: This node has joined the cluster, abandon election\n"
+TRCID_       0x065E TRACE_SP            "diskElect: This node has joined the cluster, abandon election\n"
+TRCID_       0x065F TRACE_SP            "diskElect: diskPaxos failed while reading if challenge was responded with err %d\n"
+TRCID_       0x0660 TRACE_SP            "diskElect: I challenged node %d & rsp %d got a rsp %d\n"
+TRCID_       0x0661 TRACE_SP            "diskElect: Starting new Elec Seq %d\n"
+TRCID_       0x0662 TRACE_SP            "diskElect: dPaxos failed with err %d"
+TRCID_       0x0663 TRACE_SP            "I got elected\n"
+TRCID_       0x0664 TRACE_SP            "I lost election, return E_AGAIN, let caller retry\n"
+TRCID_       0x0665 TRACE_SP            "diskElect: returning with err %d\n"
+TRCID_       0x0666 TRACE_SP            "SCT: diskPaxos ret with err %d, running eseq %d\n"
+TRCID_       0x0667 TRACE_SP            "CARC: failng with E_NO_QUORM, vGood 0x%04X"
+TRCID_       0x0668 TRACE_SP            "CARC: no quorum disks(0x%04X %d) with response, resetting it"
+TRCID_       0x0669 TRACE_SP            "CARC: diskElectSeq %d is less than committed seq %d, fail chg thrd\n"
+TRCID_       0x066A TRACE_SP            "CARC: NodeNumber %d, index %d challenged myResponse %d\n"
+TRCID_       0x066B TRACE_SP            "Responding to challenge\n"
+TRCID_       0x066C TRACE_SP            "CARH: writeChallenge failed with err %d\n"
+TRCID_       0x066D TRACE_SP            "CARH: ch thrd didn't respond within %d secs (was %d), fail thrd\n"
+TRCID_       0x066E TRACE_SP            "readQuorumDisk: nQuorumDisks %d = %d disks + %d files, err %d"
+TRCID_       0x066F TRACE_DISK          "Vsdfence failed with err %d, will be retried on srvrs if any.\n"
+TRCID_       0x0670 TRACE_SP            "GroupLeader::diskQuorumChange: resetting disk quorum config"
+TRCID_       0x0671 TRACE_SP            "GroupLeader::diskQuorumChange: re-starting challenge thread"
+TRCID_       0x0672 TRACE_SP            "GroupLeader::diskQuorumChange: err %d"
+TRCID_       0x0673 TRACE_SP            "readPaxos: I have alredy commited requested highSeq %delected %d, eresp %d\n"
+TRCID_       0x0674 TRACE_SP            "readPaxos: requested seq %d, highSeq %d\n"
+TRCID_       0x0675 TRACE_SP            "pxFindMySector: MyNodeNumber %d myIndex %d err %d"
+TRCID_       0x0676 TRACE_SP            "openQD: nsd %s using lan, ignoring it as quorum disk"
+TRCID_       0x0677 TRACE_SP            "pxOpen: disk %s fenceName '%s' err %d"
+TRCID_       0x0678 TRACE_SP            "pxRead: disk %s myIndex %d err %d"
+TRCID_       0x0679 TRACE_SP            "pxWrite: disk %s myIndex %d err %d"
+TRCID_       0x067A TRACE_SP            "pxRead: file at node %d myIndex %d err %d"
+TRCID_       0x067B TRACE_SP            "pxWrite: file at node %d myIndex %d err %d"
+TRCID_       0x067C TRACE_SP            "pxFileReadOrCreate: '%s' nNodes %d nChange %d err %d"
+TRCID_       0x067D TRACE_TS            "remapCredentials: enter: credP 0x%lX uid %u gid %u"
+TRCID_       0x067E TRACE_TS            "Supp gid[%d]: %u\n"
+TRCID_       0x067F TRACE_TS            "remapCredentials: exit: err %d orig uid %u new uid %u new gid %u"
+TRCID_       0x0680 TRACE_TS            "remapStatIDPair: enter: sgP 0x%lX nids %d/%d uid %u gid %u"
+TRCID_       0x0681 TRACE_TS            "remapStatIDPair: exit: err %d uid %u gid %u"
+TRCID_       0x0682 TRACE_TS            "uid2name: enter: nUids %d nGids %d"
+TRCID_       0x0683 TRACE_TS            "  uid[%d] = %u"
+TRCID_       0x0684 TRACE_TS            "  gid[%d] = %u"
+TRCID_       0x0685 TRACE_TS            "uid2name: exit: err %d"
+TRCID_       0x0686 TRACE_TS            "uid2name: exit: nameBuf %s"
+TRCID_       0x0687 TRACE_TS            "name2uid: enter: nUids %d nGids %d nameBuf %s"
+TRCID_       0x0688 TRACE_TS            "name2uid: exit: nIdsRead %d err %d"
+TRCID_       0x0689 TRACE_TS            "name2uid: ids[%d] = %u"
+TRCID_       0x068A TRACE_TS            "URHashTab::cleanCache: this 0x%lX nEntries %d nCleaned %d\n"
+TRCID_       0x068B TRACE_TS            "addCachedCred: obj 0x%lX type %d err %d\n"
+TRCID_       0x068C TRACE_TS            "findCachedName2cred: nameP %s nIds %d err %d\n"
+TRCID_       0x068D TRACE_TS            "cacheIDMapping: obj 0x%lX id %u type %d newid %u nameP %lX err %d\n"
+TRCID_       0x068E TRACE_TS            "invalidateCachedMapping: id %u type %d err %d\n"
+TRCID_       0x068F TRACE_TS            "UIDDomain::EndUse: udP 0x%lX count %d oldcount %d\n"
+TRCID_       0x0690 TRACE_TS            "findUidDomainByName: domain %s, udP 0x%lX\n"
+TRCID_       0x0691 TRACE_SP            "TSRecovery: Cluster %d phase %d groupLeader %s nFailures %d" $3=nodeaddr_id2name
+TRCID_       0x0692 TRACE_SP            "TSRecovery: Exit"
+TRCID_       0x0693 TRACE_SP            "MyNetworkIsReallyDown: myAddr 0x%08X, ifr_name %s\n"
+TRCID_       0x0694 TRACE_SP            "MyNetworkIsReallyDown: sin_family %d s_addr 0x%08X\n"
+TRCID_       0x0695 TRACE_SP            "MyNetworkIsReallyDown: SIOCGIFFLAGS ioctl failed errno %d\n"
+TRCID_       0x0696 TRACE_SP            "MyNetworkIsReallyDown: ifr_addr.sa_family 0x%08X ifr_flags 0x%08X ifr_name %s \n"
+TRCID_       0x0697 TRACE_SP            "MyNetworkIsReallyDown exit: err %d\n"
+TRCID_       0x0698 TRACE_SP            "FindNodeNumber: gethostbyaddr returns NULL: h_errno %d addr %lX"
+TRCID_       0x0699 TRACE_SP            "findNodeNumber: addr %lX nodeNumber %d"
+TRCID_       0x069A TRACE_SP            "ChgNewNodeStatusInSDR: cmdbuf %s\n"
+TRCID_       0x069B TRACE_SP            "ChgNewNodeStatusInSDR: result %s\n"
+TRCID_       0x069C TRACE_DLEASE        "quorumChanged: %d -> %d"
+TRCID_       0x069D TRACE_DLEASE        "updateRenewalList: node %s on list %d old count %d" $1=nodeaddr_id2name
+TRCID_       0x069E TRACE_DLEASE        "updateRenewalList: remove node %s from list tail" $1=nodeaddr_id2name
+TRCID_       0x069F TRACE_DLEASE        "updateRenewalList: new lease %d from node %s" $2=nodeaddr_id2name
+TRCID_       0x06A0 TRACE_DLEASE        "processLeaseRequest: node %s quorumNode %d, lastLeaseRequested %lld lastLeaseProcessed %lld leaseAge %d now %lld" $1=nodeaddr_id2name
+TRCID_       0x06A1 TRACE_DLEASE        "renewLease: lease request still pending"
+TRCID_       0x06A2 TRACE_DLEASE        "renewLease: lease still good, no renewal due yet"
+TRCID_       0x06A3 TRACE_DLEASE        "renewLease: no cfgmgr yet"
+TRCID_       0x06A4 TRACE_DLEASE        "renewLease: lease disabled via trigger"
+TRCID_       0x06A5 TRACE_DLEASE        "renewLease: can't allocate LeaseReqestParams"
+TRCID_       0x06A6 TRACE_DLEASE        "renewLease: ccMsgDiskLease reply.status %d err %d from %s (expected %s) current leader %s" $3=nodeaddr_id2name $4=ipaddr_id2name $5=ipaddr_id2name
+TRCID_       0x06A7 TRACE_DLEASE        "updateMyLease: oldLease %d newLease %d (%d sec left) leaseLost %d "
+TRCID_       0x06A8 TRACE_SP            "LeaseRenewalTimeout: node %d pings sent %d/%d missed %d/%d"
+TRCID_       0x06A9 TRACE_DLEASE        "calcFailedLeaseAge: %d"
+TRCID_       0x06AA TRACE_DLEASE        "updateFailedLeaseGranted: leaseAge %d old granted %u new %u"
+TRCID_       0x06AB TRACE_DLEASE        "checkLeaseForIO: rc %d"
+TRCID_       0x06AC TRACE_DLEASE        "processLeaseRequest: bad node %s" $1=nodeaddr_id2name
+TRCID_       0x06AD TRACE_DLEASE        "checkAndRenewLease: cluster %d leader %s (me %d) remountRetryNeeded %d" $2=nodeaddr_id2name
+TRCID_       0x06AE TRACE_DLEASE        "checkAndRenewLease: cluster %d nextLeaseCheck in %d sec"
+TRCID_       0x06AF TRACE_DLEASE        "signalLeaseThreads: useDiskLease new value %d\n"
+TRCID_       0x06B0 TRACE_DLEASE        "PropagateuseDiskLease: got new lease %d, i %d\n"
+TRCID_       0x06B1 TRACE_DLEASE        "diskLeaseInit: useDiskLease %d"
+TRCID_       0x06B2 TRACE_DLEASE        "ClusterConfiguration::retryRemount: nMounts %d"
+TRCID_       0x06B3 TRACE_MMPMON        "mmpmonMsgHandler: enter: msgType %d"
+TRCID_       0x06B4 TRACE_MMPMON        "mmpmonMsgHandler: process text request '%s'"
+TRCID_       0x06B5 TRACE_MMPMON        "mmpmonMsgHandler: invalid style: %d"
+TRCID_       0x06B6 TRACE_MMPMON        "mmpmonMsgHandler: invalid msgType: %d"
+TRCID_       0x06B7 TRACE_MMPMON        "mmpmonMsgHandler: exit err %d"
+TRCID_       0x06B8 TRACE_MMPMON        "mmpmonSendRequest: enter: nodeCount %d request '%s'"
+TRCID_       0x06B9 TRACE_MMPMON        "mmpmonSendRequest: error %d on heap array[%d]"
+TRCID_       0x06BA TRACE_MMPMON        "mmpmonSendRequest: response from %s: '%s"
+TRCID_       0x06BB TRACE_MMPMON        "mmpmonSendRequest: err %d from %s"
+TRCID_       0x06BC TRACE_MMPMON        "mmpmonSendRequest: exit: err %d"
+TRCID_       0x06BD TRACE_CMD           "runTSPerf config: -h %d\n"
+TRCID_       0x06BE TRACE_CMD           "runTSPerf gather: -F %s\n"
+TRCID_       0x06BF TRACE_CMD           "runTSPerf benchmark: -F %s\n"
+TRCID_       0x06C0 TRACE_CMD           "runTSPerf sg %s argc %d"
+TRCID_       0x06C1 TRACE_CMD           "runTSPerf complete, err %d"
+TRCID_       0x06C2 TRACE_CMD           "remotePrintFormat: fmt '%s' err %d"
+TRCID_       0x06C3 TRACE_CMD           "runTSListPolicy sg %s argc %d argv2 %s"
+TRCID_       0x06C4 TRACE_CMD           "runTSListPolicy complete, err %d"
+TRCID_       0x06C5 TRACE_CMD           "runTSChangePolicy sg %s argc %d"
+TRCID_       0x06C6 TRACE_CMD           "runTSChangePolicy filename %s bufLen %d immed %d"
+TRCID_       0x06C7 TRACE_CMD           "runTSChangePolicy complete, err %d"
+TRCID_       0x06C8 TRACE_PIT           "pitInitialize delete %s"
+TRCID_       0x06C9 TRACE_TS            "doLogAndTMRecovery: needRecovery %d needFence %d"
+TRCID_       0x06CA TRACE_PIT           "getWork: sending abort to master, err %d"
+TRCID_       0x06CB TRACE_TS            "remove_logs: purging (delDisk,unRecvrd)[%d] nLogDataItems %d"
+TRCID_       0x06CC TRACE_TS            "remove_logs: kept %d items err %d"
+TRCID_       0x06CD TRACE_SP            "node[%d] leaseRequestAge %d"
+TRCID_       0x06CE TRACE_SP            "n %d m %d i %d leaseRequestAge %d oldLeaderLease %lld"
+TRCID_       0x06CF TRACE_DLEASE        "getLeaseRequestAge: now %lld last sent %lld age %d"
+TRCID_       0x06D0 TRACE_TS            "init: NextDiskBallot failed %d\n"
+TRCID_       0x0801 TRACE_THREAD        "MultiThreadWork::doit [%d]: n = %d\n"
+TRCID_       0x0802 TRACE_THREAD        "MultiThreadWork::doit: started thread [%d] (%d of %d)\n"
+TRCID_       0x0803 TRACE_THREAD        "MultiThreadWork::doit [%d]: returning rc %d"
+TRCID_       0x0804 TRACE_THREAD        "MultiThreadWork::workerMain [%d]: about to execute step %d\n"
+TRCID_       0x0805 TRACE_THREAD        "MultiThreadWork::workerMain [%d]: after step %d: nStepsCompleted %d of %d, nextStepToDo %d"
+TRCID_       0x0806 TRACE_DISK          "GetNewUID exit: uid %X:%X\n"
+TRCID_       0x0807 TRACE_DISK          "GetNewUID exit: rc %d\n"
+TRCID_       0x0808 TRACE_ERRLOG        "Trigger point %s reached at line %d of file %s; stopping GPFS\n"
+TRCID_       0x0809 TRACE_BASIC         "%s"
+TRCID_       0x080A TRACE_BASIC         "FatBitmap::setToOne: index 0x%08X mask 0x%08X bitsP 0x%08X word before update: 0x%8X"
+TRCID_       0x080B TRACE_BASIC         "FatBitmap::setToOne:  word after update: 0x%8X at 0x%08X\n"
+TRCID_       0x080C TRACE_BASIC         "FatBitmap::setToOne_1: bitsP 0x%08X index %d word before update: 0x%08X value 0x%08X"
+TRCID_       0x080D TRACE_BASIC         "FatBitmap::setToOne_1:  bitsP 0x%08X word after update: 0x%8X at 0x%08X"
+TRCID_       0x080E TRACE_BASIC         "FatBitmap::findOneBit: nearIndex %08X wordNum = %d fatbitIndex %d word 0x%8X bitsP %08X at 0x%08X"
+TRCID_       0x080F TRACE_BASIC         "RandomInteger::initBatch rbP 0x%lX size %d\n"
+TRCID_       0x0810 TRACE_BASIC         "RandomInteger::terminateBatch p 0x%lX\n"
+TRCID_       0x0811 TRACE_DISK          "ParsedDiskDescEntry strP %s newDisk %d default %d entry %d format %d"
+TRCID_       0x0812 TRACE_DISK          "ParsedDiskDescEntry name %s type %s size %d fg %d data %d meta %d pool %s, err %d"
+TRCID_       0x1001 TRACE_LOCK          "SharedHashTab: did not get %d buckets try to get %d"
+TRCID_       0x1002 TRACE_LOCK          "verifyAllGone found: class %s %08X:%08X:%08X:%08X flags 0x%X tokenCount %d cached %d sgP 0x%08lX" $1=objclass_id2name
+TRCID_       0x1003 TRACE_LOCK          "change_token: from mode %s to %s, acqSeqNo %d\n" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x1004 TRACE_LOCK          "change_token: returning token at 0x%lX mode %s (token_mode %s), rc %d\n" $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x1005 TRACE_SMB           "SMBchange_token: from mode %s to %s, acqSeqNo %d\n" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x1006 TRACE_SMB           "change_token: returning token mode %s , rc %d\n" $1=lockmode_id2name
+TRCID_       0x1007 TRACE_LOCK          "handle revoke: type %s, key %08X:%08X:%08X:%08X current holdCount %d\n" $1=objtype_id2name
+TRCID_       0x1008 TRACE_LOCK          "RevokeHandler: waiting for pending acquire: flags %s acqSeqNo %d rvkSeqNo %d" $1=lockflags_id2name
+TRCID_       0x1009 TRACE_LOCK          "RevokeHandler: object not found; releasing token"
+TRCID_       0x100A TRACE_SMB           "Have: %s, want: %s, DowngradeMode: %s" $1=lockmode_id2name $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x100B TRACE_LOCK          "  RevokeHandler: downgrade to %s wait on lock_state %s%s %s" $1=lockmode_id2name $2=lockstateHigh_id2name $3=lockstateLow_id2name $4=lockflags_id2name
+TRCID_       0x100C TRACE_LOCK          "handle revoke: setting xnew_token_mode %s (eWouldBlockCount %d)" $1=lockmode_id2name
+TRCID_       0x100D TRACE_LOCK          "handle revoke: downgrade to %s setting lock_state %s%s" $1=lockmode_id2name $2=lockstateHigh_id2name $3=lockstateLow_id2name
+TRCID_       0x100E TRACE_LOCK          "RevokeHandler: relinquish token (downgrade to %s) relFlags 0x%X\n" $1=lockmode_id2name
+TRCID_       0x100F TRACE_LOCK          "handle revoke: didRelinquish %d rc %d"
+TRCID_       0x1010 TRACE_LOCK          "handle revoke: done, new lock_state %s%s" $1=lockstateHigh_id2name $2=lockstateLow_id2name
+TRCID_       0x1011 TRACE_LOCK          "RevokeWorker: about to process request at 0x%lX, state %d, revokeReq 0x%lX\n"
+TRCID_       0x1012 TRACE_LOCK          "RevokeWorker: handled %d request at 0x%lX, state %d\n"
+TRCID_       0x1013 TRACE_LOCK          "RevokeHandler: ctm token type %X, req mode %X flags 0x%0X, seq_no %lld domain 0x%lX\n"
+TRCID_       0x1014 TRACE_LOCK          "                   obj type %s, key %08X:%08X:%08X:%08X\n" $1=objtype_id2name
+TRCID_       0x1015 TRACE_LOCK          "modify_lock_shark: have %s want %s, status %s token %s lock_state %s%s %s, flags 0x%X ctMode %s" $1=lockmode_id2name $2=lockmode_id2name $3=objstatus_id2name $4=lockmode_id2name $5=lockstateHigh_id2name $6=lockstateLow_id2name $7=lockflags_id2name $9=lockmode_id2name
+TRCID_       0x1016 TRACE_LOCK          "modify_lock_shark: returning E_OBJ_INVALID\n"
+TRCID_       0x1017 TRACE_LOCK          "modify_lock_shark: returning E_WOULDBLOCK\n"
+TRCID_       0x1018 TRACE_LOCK          "modify_lock_shark: setting xlock_state %s%s (waitLoopCount %d)" $1=lockstateHigh_id2name $2=lockstateLow_id2name
+TRCID_       0x1019 TRACE_LOCK          "wait_lock_shark: type %s, key %08X:%08X:%08X:%08X" $1=objtype_id2name
+TRCID_       0x101A TRACE_LOCK          "  lock_mode: have %s want %s, status %s token %s lock_state %s%s %s tmCli %s" $1=lockmode_id2name $2=lockmode_id2name $3=objstatus_id2name $4=lockmode_id2name $5=lockstateHigh_id2name $6=lockstateLow_id2name $7=lockflags_id2name $8=lockmode_id2name
+TRCID_       0x101B TRACE_LOCK          "wake_lock_shark: type %s, key %08X:%08X:%08X:%08X\n" $1=objtype_id2name
+TRCID_       0x101C TRACE_LOCK          "  lock_mode: have %s want %s, status %s token %s lock_state %s%s %s tmCli %s" $1=lockmode_id2name $2=lockmode_id2name $3=objstatus_id2name $4=lockmode_id2name $5=lockstateHigh_id2name $6=lockstateLow_id2name $7=lockflags_id2name $8=lockmode_id2name
+TRCID_       0x101D TRACE_LOCK          "modify_lock_shark: returning E_OBJ_INVALID\n"
+TRCID_       0x101E TRACE_LOCK          "modify_lock_shark: lock_state old %s%s new %s%s" $1=lockstateHigh_id2name $2=lockstateLow_id2name $3=lockstateHigh_id2name $4=lockstateLow_id2name
+TRCID_       0x101F TRACE_SMB           "SMBmodify_lock_shark: have %s want %s" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x1020 TRACE_SMB           "   status %s token %s SMBmode %s, flags 0x%X tmCli %s" $1=objstatus_id2name $2=lockmode_id2name $3=lockmode_id2name $5=lockmode_id2name
+TRCID_       0x1021 TRACE_SMB           "SMBmodify_lock_shark: returning E_OBJ_INVALID\n"
+TRCID_       0x1022 TRACE_SMB           "SMBmodify_lock_shark: lm_add 0x%X %s conflicts with 0x%X %s\n"
+TRCID_       0x1023 TRACE_SMB           "SMBmodify_lock_shark: NFS4access 0x%X %s (r %d m %d a %d dr %d dm %d da %d)\n"
+TRCID_       0x1024 TRACE_SMB           "SMBmodify_lock_shark: lm_add 0x%X %s realSMBlockmode 0x%X %s\n"
+TRCID_       0x1025 TRACE_SMB           "SMBmodify_lock_shark Scanning for NFS: oiP 0x%08lX, isNFS %d, readCount %d, writeCounts %d"
+TRCID_       0x1026 TRACE_SMB           "SMBmodify_lock_shark Calling FindCloseNFS"
+TRCID_       0x1027 TRACE_SMB           "SMBmodify_lock_shark: SMB lock not available - conflict. RC: %d"
+TRCID_       0x1028 TRACE_LOCK          "change_lock_shark_m: type %s key %08X:%08X:%08X:%08X current holdCount %d token %s/%s/%s" $1=objtype_id2name $7=lockmode_id2name $8=lockmode_id2name $9=lockmode_id2name
+TRCID_       0x1029 TRACE_LOCK          "  lock_mode: have %s want %s, status %s lock_state %s%s %s acqSeqNo %d, flags 0x%X" $1=lockmode_id2name $2=lockmode_id2name $3=objstatus_id2name $4=lockstateHigh_id2name $5=lockstateLow_id2name $6=lockflags_id2name
+TRCID_       0x102A TRACE_LOCK          "change_lock_shark_m: get token failed (rc %d)\n"
+TRCID_       0x102B TRACE_LOCK          "change_lock_shark_m: returning with lock mode %s status %s cP 0x%lX" $1=lockmode_id2name $2=objstatus_id2name
+TRCID_       0x102C TRACE_LOCK          "change_lock_shark_m: cP 0x%08lX holdCount now %d\n"
+TRCID_       0x102D TRACE_LOCK          "change_lock_shark_m: returning err %d\n"
+TRCID_       0x102E TRACE_LOCK          "designated_mnode_check_m: key %08X:%08X:%08X:%08X token %s/%s/%s" $5=lockmode_id2name $6=lockmode_id2name $7=lockmode_id2name
+TRCID_       0x102F TRACE_LOCK          "  status %s lock_state %s%s %s acqSeqNo %d, flags 0x%X" $1=objstatus_id2name $2=lockstateHigh_id2name $3=lockstateLow_id2name $4=lockflags_id2name
+TRCID_       0x1030 TRACE_LOCK          "designated_mnode_check_m: rc %d"
+TRCID_       0x1031 TRACE_SMB           "SMBchange_lock_shark: type %s key %08X:%08X:%08X:%08X current holdCount %d" $1=objtype_id2name
+TRCID_       0x1032 TRACE_SMB           "  lock_mode: have %s want %s async %d" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x1033 TRACE_SMB           "  status %s token %s mode %s acqSeqNo %d" $1=objstatus_id2name $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x1034 TRACE_LOCK          "SMBchange_lock_shark: get token failed (rc %d)\n"
+TRCID_       0x1035 TRACE_SMB           "SMBchange_lock_shark: returning with lock mode %s status %s cP 0x%lX" $1=lockmode_id2name $2=objstatus_id2name
+TRCID_       0x1036 TRACE_SMB           "SMBchange_lock_shark: returning err %d\n"
+TRCID_       0x1037 TRACE_LOCK          "downgrade_lock_shark: type %s key %08X:%08X:%08X:%08X current holdCount %d" $1=objtype_id2name
+TRCID_       0x1038 TRACE_LOCK          "  lock_mode: have %s want %s, status %s token %s lock_state %s%s %s acqSeqNo %lld, addr 0x%lX\n" $1=lockmode_id2name $2=lockmode_id2name $3=objstatus_id2name $4=lockmode_id2name $5=lockstateHigh_id2name $6=lockstateLow_id2name $7=lockflags_id2name
+TRCID_       0x1039 TRACE_LOCK          "  cs: old %s%s, new %s%s\n" $1=lockstateHigh_id2name $2=lockstateLow_id2name $3=lockstateHigh_id2name $4=lockstateLow_id2name
+TRCID_       0x103A TRACE_LOCK          "downgrade_lock_shark: returning with lock mode %s, status %s\n" $1=lockmode_id2name $2=objstatus_id2name
+TRCID_       0x103B TRACE_LOCK          "downgrade_lock_shark: cP 0x%08lX holdCount now %d"
+TRCID_       0x103C TRACE_LOCK          "unlock_shark: type %s key %08X:%08X:%08X:%08X current holdCount %d" $1=objtype_id2name
+TRCID_       0x103D TRACE_LOCK          "  lock_mode: have %s, status %s token %s lock_state %s%s %s addr 0x%lX tmCli %s\n" $1=lockmode_id2name $2=objstatus_id2name $3=lockmode_id2name $4=lockstateHigh_id2name $5=lockstateLow_id2name $6=lockflags_id2name $8=lockmode_id2name
+TRCID_       0x103E TRACE_LOCK          "  cs: old %s%s, new %s%s\n" $1=lockstateHigh_id2name $2=lockstateLow_id2name $3=lockstateHigh_id2name $4=lockstateLow_id2name
+TRCID_       0x103F TRACE_LOCK          "  cs: cP 0x%08lX holdCount now %d"
+TRCID_       0x1040 TRACE_SMB           "SMBunlock_shark: type %s key %08X:%08X:%08X:%08X current holdCount %d" $1=objtype_id2name
+TRCID_       0x1041 TRACE_SMB           "  lock_mode: have %s, status %s token %s mode %s addr 0x%lX tmCli %s\n" $1=lockmode_id2name $2=objstatus_id2name $3=lockmode_id2name $4=lockmode_id2name $6=lockmode_id2name
+TRCID_       0x1042 TRACE_LOCK          "unlock_shark_m: type %s key %08X:%08X:%08X:%08X current holdCount %d" $1=objtype_id2name
+TRCID_       0x1043 TRACE_LOCK          "  lock_mode: have %s, status %s token %s lock_state %s%s %s addr 0x%lX tmCli %s\n" $1=lockmode_id2name $2=objstatus_id2name $3=lockmode_id2name $4=lockstateHigh_id2name $5=lockstateLow_id2name $6=lockflags_id2name $8=lockmode_id2name
+TRCID_       0x1044 TRACE_LOCK          "  cs: old %s%s, new %s%s\n" $1=lockstateHigh_id2name $2=lockstateLow_id2name $3=lockstateHigh_id2name $4=lockstateLow_id2name
+TRCID_       0x1045 TRACE_LOCK          "unlock_shark_m: cP 0x%08lX holdCount now %d"
+TRCID_       0x1046 TRACE_LOCK          "acquireOplockTokenM: tm_have %s tmWant %s flags 0x%X async %d\n" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x1047 TRACE_LOCK          "acquireOplockTokenM: nOplocksShared %d TokenPermits %d token_mode %s\n" $3=lockmode_id2name
+TRCID_       0x1048 TRACE_LOCK          "acquireOplockTokenM: rc %d tm_have %s" $2=lockmode_id2name
+TRCID_       0x1049 TRACE_LOCK          "xfer_lock_to_vfs: type %s, key %08X:%08X:%08X:%08X\n" $1=objtype_id2name
+TRCID_       0x104A TRACE_LOCK          "  lock_mode: %s; status %s, token %s, lock_state %s%s tmCli %s\n" $1=lockmode_id2name $2=objstatus_id2name $3=lockmode_id2name $4=lockstateHigh_id2name $5=lockstateLow_id2name $6=lockmode_id2name
+TRCID_       0x104B TRACE_LOCK          "countTokens: object 0x%08lX token count %d\n"
+TRCID_       0x104C TRACE_LOCK          "hash tab lookup: class %s, key %08X:%08X:%08X:%08X flags 0x%X" $1=objclass_id2name
+TRCID_       0x104D TRACE_LOCK          "hash[%d] cP 0x%lX (0x%lX) at nextPP 0x%lX"
+TRCID_       0x104E TRACE_LOCK          "hash tab lookup: found 0x%08lX (0x%lX) uninitialized; error %d\n"
+TRCID_       0x104F TRACE_LOCK          "hash tab lookup: found 0x%08lX (0x%lX) holdCount now %d"
+TRCID_       0x1050 TRACE_LOCK          "hash tab lookup: found compacted 0x%08lX (0x%lX)"
+TRCID_       0x1051 TRACE_LOCK          "hash tab lookup: will expand compacted 0x%08lX (0x%lX)"
+TRCID_       0x1052 TRACE_LOCK          "hash tab lookup: not found; error %d\n"
+TRCID_       0x1053 TRACE_LOCK          "hash tab lookup: inserted 0x%08lX (0x%lX) holdCount %d"
+TRCID_       0x1054 TRACE_LOCK          "hash tab lookup: insert error %d\n"
+TRCID_       0x1055 TRACE_LOCK          "hash add hold: class %s cP 0x%08lX initial holdCount %d\n" $1=objclass_id2name
+TRCID_       0x1056 TRACE_LOCK          "hash add hold: cP 0x%08lX holdCount now %d\n"
+TRCID_       0x1057 TRACE_LOCK          "hash release hold: class %s cP 0x%08lX flags 0x%08X tokenCount %d initial holdCount %d\n" $1=objclass_id2name
+TRCID_       0x1058 TRACE_LOCK          "hash release hold: cP 0x%08lX holdCount now %d\n"
+TRCID_       0x1059 TRACE_LOCK          "releaseLastHold: loP 0x%08lX firstLoP 0x%08lX tokType %s i %d\n" $3=objtype_id2name
+TRCID_       0x105A TRACE_LOCK          "releaseLastHold: class %s cP 0x%08lX (0x%lX) firstLoP 0x%08lX tokType %s" $1=objclass_id2name $5=objtype_id2name
+TRCID_       0x105B TRACE_LOCK          "releaseLastHold: cP 0x%08lX (0x%lX) holdCount now %d"
+TRCID_       0x105C TRACE_LOCK          "releaseLastHold: cP 0x%08lX (0x%lX) no longer last hold (holdCount %d)"
+TRCID_       0x105D TRACE_LOCK          "releaseLastHold: cP 0x%08lX (0x%lX) no longer in hash table (h = %d)"
+TRCID_       0x105E TRACE_LOCK          "releaseLastHold: cP 0x%08lX (0x%lX) after mutex acquire: flags 0x%08X tokenCount %d current holdCount %d\n"
+TRCID_       0x105F TRACE_LOCK          "releaseLastHold: new_compact failed, cP 0x%08lX (0x%lX), holdCount now %d"
+TRCID_       0x1060 TRACE_LOCK          "releaseLastHold: cP 0x%08lX (0x%lX) will be deleted\n"
+TRCID_       0x1061 TRACE_LOCK          "releaseLastHold: cP 0x%08lX (0x%lX) at return: flags 0x%08X tokenCount %d current holdCount %d\n"
+TRCID_       0x1062 TRACE_LOCK          "nextTokenP: could not invalidate VFS ref to 0x%08lX (0x%08lX), expanding into 0x%08lX err %d"
+TRCID_       0x1063 TRACE_FS            "removeOldCompacted: Release Compacted Inode %d\n"
+TRCID_       0x1064 TRACE_FS            "removeOldCompacted: stop vfsAccess %d releaseBefore %d\n"
+TRCID_       0x1065 TRACE_BRL           "RangeRevokeRequest::handle: inode %d, req 0x%llX-0x%llX des 0x%llX-0x%llX lm %s\n" $6=brmode_id2name
+TRCID_       0x1066 TRACE_BRL           "RangeRevokeRequest::handle: inode %d switch to %s\n"
+TRCID_       0x1067 TRACE_BRL           "oiP 0x%lX preUserDefined limits start to 0x%llX end to 0x%llX\n"
+TRCID_       0x1068 TRACE_BRL           "oiP 0x%lX prefetchCursor 0x%llX accessCursor 0x%llX\n"
+TRCID_       0x1069 TRACE_BRL           "oiP 0x%lX case A1 prefetch cursor 0x%llX limits start to 0x%llX\n"
+TRCID_       0x106A TRACE_BRL           "oiP 0x%lX case A2 access cursor 0x%llX limits end to 0x%llX\n"
+TRCID_       0x106B TRACE_BRL           "oiP 0x%lX case A3 access cursor 0x%llX limits end to 0x%llX\n"
+TRCID_       0x106C TRACE_BRL           "oiP 0x%lX case A4 access cursor 0x%llX limits start to 0x%llX\nprefetch cursor 0x%llX limits end to 0x%llX\n"
+TRCID_       0x106D TRACE_BRL           "oiP 0x%lX case D1 prefetch cursor 0x%llX limits end to 0x%llX\n"
+TRCID_       0x106E TRACE_BRL           "oiP 0x%lX case D2 access cursor 0x%llX limits start to 0x%llX\n"
+TRCID_       0x106F TRACE_BRL           "oiP 0x%lX case D3 access cursor 0x%llX limits start to 0x%llX\n"
+TRCID_       0x1070 TRACE_BRL           "oiP 0x%lX case D4 prefetch cursor 0x%llX limits start to 0x%llX\naccess cursor 0x%llX limits end to 0x%llX\n"
+TRCID_       0x1071 TRACE_BRL           "RangeRevokeRequest::handle: inode %d, state %d, err %d"
+TRCID_       0x1072 TRACE_BRL           "brLockM enter: ofP 0x%lX (0x%lX) inode %d snap %d brFlags 0x%04x rvkSeqNo %lld\n"
+TRCID_       0x1073 TRACE_BRL           "brLockM retry %d: inode %d snap %d range 0x%llX-0x%llX mode %s" $6=brmode_id2name
+TRCID_       0x1074 TRACE_BRL           "brLockM: inode %d snap %d acquireBRT returns %d\n"
+TRCID_       0x1075 TRACE_BRL           "brLockM: granted larger desired range 0x%llX-0x%llX\n"
+TRCID_       0x1076 TRACE_BRL           "brLockM exit: inode %d snap %d granted %s lHandle 0x%lX isGlobal %d\n" $3=brmode_id2name
+TRCID_       0x1077 TRACE_BRL           "brLockM exit: inode %d snap %d err %d\n"
+TRCID_       0x1078 TRACE_BRL           "brUnlockM: ofP 0x%lX (0x%lX) inode %d snap %d handle 0x%lX range 0x%llX-0x%llX mode %s\n" $8=brmode_id2name
+TRCID_       0x1079 TRACE_BRL           "BRL::adjustRange: forwardAccess %d reverseAccess %d range 0x%llX-0x%llX\n"
+TRCID_       0x107A TRACE_BRL           "BRL::adjustRange: adjusted range 0x%llX-0x%llX\n"
+TRCID_       0x107B TRACE_VNODE         "RecLock message handler: GETLK sleeper 0x%lX sequence %d rcode %d\n"
+TRCID_       0x107C TRACE_VNODE         "RecLock message handler: relaying to %s\n" $1=nodeaddr_id2name
+TRCID_       0x107D TRACE_VNODE         "RecLock message handler: SETLK sleeper 0x%lX seq %d flags 0x%X rcode %d\n"
+TRCID_       0x107E TRACE_VNODE         "RecLock message handler: relaying to %s\n" $1=nodeaddr_id2name
+TRCID_       0x107F TRACE_ALLOC         "SendRemoteRetry: relaying through %s\n" $1=nodeaddr_id2name
+TRCID_       0x1080 TRACE_ALLOC         "chooseRelayNode: relaying through %s\n" $1=nodeaddr_id2name
+TRCID_       0x1081 TRACE_VNODE         "RecLockRevokeRequest::handle Test lock rc %d, CRcode %d"
+TRCID_       0x1082 TRACE_VNODE         "RecLockRevokeRequest::handle Retry code CRcode %d"
+TRCID_       0x1083 TRACE_VNODE         "RevokeHandler (RecLock): tm token type %X, reqMode %X domain 0x%lX\n"
+TRCID_       0x1084 TRACE_VNODE         "                         obj type %s, key %08X:%08X:%08X:%08X type %d reqMode %X flags %X\n" $1=objtype_id2name
+TRCID_       0x1085 TRACE_VNODE         "                         uword %llX seq_num %X tmSeqNum %llX range=(%lld,%lld) waitingNode %s\n" $6=nodeaddr_id2name
+TRCID_       0x1086 TRACE_VNODE         "RecLockReset: GETLK for ofP 0x%lX advLkObjP 0x%lX failed rc %d\n"
+TRCID_       0x1087 TRACE_VNODE         "RecLockReset: error type 0x%X pid %d owner 0x%lX start 0x%llX len %lld\n"
+TRCID_       0x1088 TRACE_VNODE         "RecLockReset: UNLCK for ofP 0x%lX advLkObjP 0x%lX failed rc %d\n"
+TRCID_       0x1089 TRACE_VNODE         "CollectUnusedFcntl: GETLK for ofP 0x%lX advLkObjP 0x%lX failed rc %d\n"
+TRCID_       0x108A TRACE_VNODE         "CollectUnusedFcntl: returning 0x%lX range 0x%llX-0x%llX mode %s\n" $4=brmode_id2name
+TRCID_       0x108B TRACE_VNODE         "RecLockReclaim: ofP %lX inodeNum %d asking 0x%llX-0x%llX\n"
+TRCID_       0x108C TRACE_VNODE         "RecLockReclaim: MaxRanges %d InfoSize %d Searched %d relinquishing %d\n"
+TRCID_       0x108D TRACE_VNODE         "RecLockReclaim: relinquishing 0x%llX-0x%llX type %d\n"
+TRCID_       0x108E TRACE_SMB           "SMB::LockStateRelease enter.  Release %s, LockMode %s, Counts A:(%d,%d,%d) D:(%d,%d,%d)" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x108F TRACE_SMB           "  Attempt to decrement readCount below 0"
+TRCID_       0x1090 TRACE_SMB           "  Attempt to decrement writeMCount below 0"
+TRCID_       0x1091 TRACE_SMB           "  Attempt to decrement writeACount below 0"
+TRCID_       0x1092 TRACE_SMB           "  Attempt to decrement denyRCount below 0"
+TRCID_       0x1093 TRACE_SMB           "  Attempt to decrement denyWMCount below 0"
+TRCID_       0x1094 TRACE_SMB           "  Attempt to decrement denyWACount below 0"
+TRCID_       0x1095 TRACE_SMB           "SMB::LockStateRelease exit.  Mode %s, Counts A:(%d,%d,%d) D:(%d,%d,%d)" $1=lockmode_id2name
+TRCID_       0x1096 TRACE_SMB           "SMB::LockStateAcquire enter.  Acquire %s, SMBlockmode %s, Counts A:(%d,%d,%d) D:(%d,%d,%d)" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x1097 TRACE_SMB           "SMB::LockStateAcquire exit.  Mode %s, Counts A:(%d,%d,%d) D:(%d,%d,%d)" $1=lockmode_id2name
+TRCID_       0x1098 TRACE_SMB           "SMBCloseM: oiP 0x%x"
+TRCID_       0x1099 TRACE_SMB           "OpenInstance Counts A:(%d,%d,%d) D:(%d,%d,%d) ASD(%d)"
+TRCID_       0x109A TRACE_SMB           "SMB::LockStateRelease exit.  Mode %s, Counts A:(%d,%d,%d) D:(%d,%d,%d)" $1=lockmode_id2name
+TRCID_       0x109B TRACE_MNODE         "Entering CleanMnodeToken\n"
+TRCID_       0x109C TRACE_MNODE         "MNodeToken::k_set_mnode_mode_addr: mode %s status %s" $1=lockmode_id2name $2=objstatus_id2name
+TRCID_       0x109D TRACE_MNODE         "OF::mnodeStatusIs inode %d snap %d: current status '%s' mask %X returning %d\n" $3=mnodestatus_id2name
+TRCID_       0x109E TRACE_LOCK          "hash tab lookup: compacted 0x%08lX (0x%lX) in use by SharedHashTabTraversal: waiting"
+TRCID_       0x109F TRACE_LOCK          "hash tab lookup: compact object 0x%08lX being freed, but has SharedHashTabTraversal count %d."
+TRCID_       0x10A0 TRACE_LOCK          "hash tab lookup: compact object 0x%08lX being freed, but has SharedHashTabTraversal count %d."
+TRCID_       0x1401 TRACE_TS            "This node at version %d, (%s) compatibly connects with node %s at version %d, (%s)."
+TRCID_       0x1402 TRACE_TS            "TcpConn::make_connection: connecting to %s on socket %d" $1=ipaddr_id2name
+TRCID_       0x1404 TRACE_TS            "sendConnMsg: sending connect message"
+TRCID_       0x1405 TRACE_TS            "handleConnReply: reply magic 0x%08X answer %d vers %d"
+TRCID_       0x1407 TRACE_TS            "handleAttachment: accepting node specifiedkeyGenNumber %d and cipherList %s"
+TRCID_       0x1408 TRACE_TS            "handleConnReply: duplicate connection rejected"
+TRCID_       0x1409 TRACE_TS            "receiverEvent: timed out waiting for connect from %s" $1=ipaddr_id2name
+TRCID_       0x140A TRACE_TS            "receiverEvent: sock %d, unknown gen number %d"
+TRCID_       0x140D TRACE_TS            "TcpConn::make_connection: closing socket %d"
+TRCID_       0x140E TRACE_TS            "TcpConn::make_connection: retry %d err=%d, dest %s" $3=ipaddr_id2name
+TRCID_       0x140F TRACE_TS            "TcpConn::make_connection: status=%s, err=%d, dest %s" $1=llcStatus_id2name $3=ipaddr_id2name
+TRCID_       0x1410 TRACE_TS            "handleConnMsg: connection from sock %d addr %s peer addr %s" $2=ipaddr_id2name $3=ipaddr_id2name
+TRCID_       0x1411 TRACE_TS            "handleConnMsg: ConnMsgBody::extensions, GroupId %08X.%08X incarnation %u"
+TRCID_       0x1412 TRACE_TS            "handleConnMsg connecting node (from %s) specified keyGenNumber %d"
+TRCID_       0x1413 TRACE_TS            "handleConnMsg: ConnMsgBody::service_type %d"
+TRCID_       0x1414 TRACE_TS            "handleConnMsg: clusterID %llX clusterName '%s' ccP %lX"
+TRCID_       0x1415 TRACE_TS            "handleConnMsg: Their GroupId %08X.%08X  MyGroupId %08X.%08X STALE / ccP %lX myClusterCfg %lX"
+TRCID_       0x1416 TRACE_TS            "handleConnMsg: Their GroupId %08X.%08X"
+TRCID_       0x1417 TRACE_TS            "handleConnMsg: bad from addr (%s) or to addr (%s); replying %d" $1=ipaddr_id2name $2=ipaddr_id2name
+TRCID_       0x1418 TRACE_TS            "handleConnMsg: bad magic (0x%08X) or version (cur %d, min %d, max %d); replying %d"
+TRCID_       0x1419 TRACE_TS            "handleConnMsg: ConnMsg error; replying %d\n"
+TRCID_       0x141A TRACE_TS            "handleConnMsg: connection from %s, sock %d, status %s" $1=ipaddr_id2name $3=llcStatus_id2name
+TRCID_       0x141B TRACE_TS            "handleConnMsg: rejecting duplicate connection from %s" $1=ipaddr_id2name
+TRCID_       0x141C TRACE_TS            "handleConnMsg: waiting %d sec for failure notification"
+TRCID_       0x141D TRACE_TS            "handleConnMsg exit: sock %d err %d"
+TRCID_       0x141E TRACE_TS            "completeConn: sock %d waiting for outbound connection"
+TRCID_       0x141F TRACE_TS            "completeConn: waiting %d sec for failure notification"
+TRCID_       0x1420 TRACE_TS            "completeConn: breaking connection, old incarnation %d new %d"
+TRCID_       0x1421 TRACE_TS            "completeConn: Stale connect from %s!" $1=ipaddr_id2name
+TRCID_       0x1422 TRACE_TS            "TcpConn::writev: error, closing socket %d, err %d"
+TRCID_       0x1423 TRACE_TS            "TcpConn::read: error, closing socket %d. rc %d err %d"
+TRCID_       0x1424 TRACE_TS            "analyzeBadMagic: looks like recv() never read data?"
+TRCID_       0x1425 TRACE_TS            "receiverEvent: sock %d in state %s"
+TRCID_       0x1427 TRACE_TS            "sendIt: sent 0 bytes, closing socket %d"
+TRCID_       0x142B TRACE_TS            "recvIt: recv %d bytes from socket %d err %d"
+TRCID_       0x142C TRACE_TS            "recvIt: recv 0 bytes, closing socket %d"
+TRCID_       0x142D TRACE_TS            "recvMsg: error, closing socket %d. rc -1 err %d"
+TRCID_       0x142E TRACE_TS            "receiverEvent: conn msg magic 0x%08X, vers %d, min vers %d, next_len %d"
+TRCID_       0x142F TRACE_TS            "receiverEvent: attachment type %d len %d next_len %d"
+TRCID_       0x1430 TRACE_TS            "receiverEvent: memory allocation for message header failed"
+TRCID_       0x1431 TRACE_TS            "receiverEvent: bad magic (0x%08X) or length (%d)"
+TRCID_       0x1433 TRACE_TS            "queueError: sending error reply for socket %d err %d ans %d"
+TRCID_       0x1434 TRACE_TS            "receiveShut: shutting down socket %d err %d"
+TRCID_       0x1435 TRACE_TS            "connShutdown: cl %d dest %s err %d nstat %d was_broken %d wasOk %d" $2=nodeaddr_id2name
+TRCID_       0x1436 TRACE_TS            "service_message: enter: msg '%s', msg_id %d, from %s cl %d, active %d" $1=tscMsg_id2name $3=nodeaddr_id2name
+TRCID_       0x1437 TRACE_TS            "service_message: bad connection to %s, status %s, err %d" $1=ipaddr_id2name $2=llcStatus_id2name
+TRCID_       0x1438 TRACE_TS            "service_message: bad connection to %s, status %s, err %d" $1=ipaddr_id2name
+TRCID_       0x1439 TRACE_TS            "service_message: msg_id %d from node %s held in heldq" $2=nodeaddr_id2name
+TRCID_       0x143A TRACE_TS            "service_message: msg_id %d from node %s discarded" $2=nodeaddr_id2name
+TRCID_       0x143B TRACE_TS            "RcvPool: passing msg to idle worker: msg '%s', msg_id %d, from %s cl %d, active %d" $1=tscMsg_id2name $3=nodeaddr_id2name
+TRCID_       0x143C TRACE_TS            "RcvPool: starting new msg worker: msg '%s', msg_id %d, from %s" $1=tscMsg_id2name $3=nodeaddr_id2name
+TRCID_       0x143D TRACE_TS            "RcvPool: no idle workers; msg queued: msg '%s', msg_id %d, from %s" $1=tscMsg_id2name $3=nodeaddr_id2name
+TRCID_       0x143E TRACE_TS            "message_finished: class %d active %d"
+TRCID_       0x143F TRACE_TS            "get_next_waiting_message: class %d active %d queued %d"
+TRCID_       0x1440 TRACE_TS            "purging queued msg '%s' msg_id %d from %s lastInClass %d" $1=tscMsg_id2name $3=nodeaddr_id2name
+TRCID_       0x1441 TRACE_TS            "purging held msg '%s' msg_id %d from %s" $1=tscMsg_id2name $3=nodeaddr_id2name
+TRCID_       0x1442 TRACE_TS            "RcvWorker: thread %08X calling main."
+TRCID_       0x1443 TRACE_TS            "RcvWorker: RcvMain returned; ending thread %08X."
+TRCID_       0x1444 TRACE_TS            "RcvWorker %08X: idle waiting for work"
+TRCID_       0x1445 TRACE_TS            "cleanOldConn: cleaning connection for %s" $1=nodeaddr_id2name
+TRCID_       0x1446 TRACE_TS            "checkBrokenConnectionTimeouts: time %d.%09d"
+TRCID_       0x1447 TRACE_TS            "TcpConnTab::listen_accept: idle listening on socket %d"
+TRCID_       0x1448 TRACE_TS            "doAccept: accepting connection on sock %d from %s\n" $2=ipaddr_id2name
+TRCID_       0x144A TRACE_TS            "addConn enter: socket %d connP 0x%lX timeout %d"
+TRCID_       0x144B TRACE_TS            "addConn: fdListIndex %d asP 0x%lX rcvWaiting %d"
+TRCID_       0x144C TRACE_TS            "shutSock: shutting down socket %d, ssopt %d"
+TRCID_       0x144D TRACE_TS            "socket_dequeue_next: errno %d from kxSockDequeMultiple"
+TRCID_       0x144E TRACE_TS            ": errno %d from kxEpollWait"
+TRCID_       0x144F TRACE_TS            "socket_dequeue_next: DQnext=%d list is %s"
+TRCID_       0x1450 TRACE_TS            "socket_dequeue_next: %d (list[%d]) returned"
+TRCID_       0x1451 TRACE_TS            "socket_dequeue_next: returns %d"
+TRCID_       0x1456 TRACE_TS            "receiver: picking up socket %d"
+TRCID_       0x1457 TRACE_TS            "receiver: handing off socket %d to %lld"
+TRCID_       0x1458 TRACE_TS            "receiver: compact slot %d socket %d into slot %d"
+TRCID_       0x1459 TRACE_TS            "receiver: closing socket %d"
+TRCID_       0x145A TRACE_TS            "Current TickTime %lld (%d ticks/sec) HiResTime %d:%09d Cycle Count %lld\n"
+TRCID_       0x145B TRACE_TS            "nCPUs %d, nReceivers %d"
+TRCID_       0x145C TRACE_TS            "llc_pick_dest_addr: found common subnet from %s to %s (private %d pattern %d)" $1=ipaddr_id2name $2=ipaddr_id2name
+TRCID_       0x145D TRACE_TS            "llc_pick_dest_addr: use default addrs from %s to %s (primary listed %d %d)" $1=ipaddr_id2name $2=ipaddr_id2name
+TRCID_       0x145E TRACE_TS            "llc_send_msg: cl %d, dest %s, msg_id %d, type %d, len %d" $2=nodeaddr_id2name
+TRCID_       0x145F TRACE_TS            "llc_send_msg: returning %d"
+TRCID_       0x1460 TRACE_TS            "balancerSocket: moving socket %d (%lld bytes) from tid %lld to tid %lld"
+TRCID_       0x1461 TRACE_TS            "balancerReceiver: tid %lld"
+TRCID_       0x1462 TRACE_TS            "unbalancerReceiver: tid %lld"
+TRCID_       0x1463 TRACE_TS            "balancer: tid %lld bytesTransferred %lld nSocks %d"
+TRCID_       0x1464 TRACE_TS            "balancer: aveTransferred %lld aveSocks %d"
+TRCID_       0x1465 TRACE_TS            "Epoll_Create24 returns %d"
+TRCID_       0x1466 TRACE_TS            "Epoll_Ctl24 returns %d"
+TRCID_       0x1467 TRACE_TS            "Epoll_Wait24 returns %d"
+TRCID_       0x1468 TRACE_TS            "kxEpollCreate returns %d"
+TRCID_       0x1469 TRACE_TS            "kxEpollCreate load failue: %s"
+TRCID_       0x146A TRACE_TS            "kxEpollAdd: sock %d, rc %d, errno %d"
+TRCID_       0x146B TRACE_TS            "kxEpollMod: sock %d, rc %d, errno %d"
+TRCID_       0x146C TRACE_TS            "kxEpollMod: sock %d, flags 0x%x, rc %d, errno %d"
+TRCID_       0x146D TRACE_TS            "kxEpollWait: rc %d"
+TRCID_       0x146E TRACE_TS            "TcpConnReceiver::wakeUp rc %d err %d"
+TRCID_       0x146F TRACE_TS            "handOffWrite: err %d"
+TRCID_       0x1473 TRACE_TS            "SdrServer::SdrServer enter: maxWorkers %d"
+TRCID_       0x1474 TRACE_TS            "SdrServer::SdrServer exit: err %d"
+TRCID_       0x1475 TRACE_TS            "SdrServer::serviceConnection: sock %d"
+TRCID_       0x1476 TRACE_TS            "SdrServer::serviceConnection: unable to create new worker thread"
+TRCID_       0x1477 TRACE_TS            "SdrServer::serviceConnection exit: err %d"
+TRCID_       0x1478 TRACE_TS            "SdrServer::lockServerStateMutex: %s mode"
+TRCID_       0x1479 TRACE_TS            "SdrServer::unlockServerStateMutex"
+TRCID_       0x147A TRACE_TS            "tscRegisterService: updating service %d, version %d"
+TRCID_       0x147B TRACE_TS            "tscRegisterService: adding service %d, version %d"
+TRCID_       0x147C TRACE_TS            "newMsgRecord: mrP 0x%lX cbFn 0x%lX msg_id %d"
+TRCID_       0x147D TRACE_TS            "deleteMsgRecord: mrP 0x%lX nFree %d freeListP 0x%lX"
+TRCID_       0x147E TRACE_TS            "tscReplyCallback: replies[%d] dest %s, status %s, err %d" $2=nodeaddr_id2name $3=tscStatus_id2name
+TRCID_       0x147F TRACE_TS            "PendMsgTab::find: msg_id %d not found"
+TRCID_       0x1480 TRACE_TS            "PendMsgTab::find: dest not found (r 0x%08lX, status %s, err %d)" $2=tscStatus_id2name
+TRCID_       0x1481 TRACE_TS            "HandleReply: returning E_ZOMBIE_MSG, failureCount %d, failureCount in reply %d"
+TRCID_       0x1482 TRACE_TS            "HandleReply: status %s, err %d; %d msgs pending after this reply" $1=tscStatus_id2name
+TRCID_       0x1483 TRACE_TS            "getDataHandler: mr 0x%lX, msg_id %d n_xhold %d"
+TRCID_       0x1484 TRACE_TS            "HandleFailure: mr 0x%lX n_pending %d effHoldCount %d replies 0x%lX"
+TRCID_       0x1485 TRACE_TS            "HandleFailure: putting mr 0x%lX on callbackListP 0x%lX"
+TRCID_       0x1486 TRACE_TS            "HandleCallbacks: mr 0x%lX cbFn 0x%lX callbackListP 0x%lX effHoldCount %d"
+TRCID_       0x1487 TRACE_TS            "tscSend: service %08X msg '%s' n_dest %d data_len %d msg_id %d msg 0x%X mr 0x%lX" $2=tscMsg_id2name
+TRCID_       0x1488 TRACE_TS            "tscSend: replies[%d] dest %s status %s timeout err %d" $2=nodeaddr_id2name $3=tscStatus_id2name
+TRCID_       0x1489 TRACE_TS            "tscSend: replies[%d] dest %s, status %s, err %d" $2=nodeaddr_id2name $3=tscStatus_id2name
+TRCID_       0x148A TRACE_TS            "tscSend: rc = 0x%X"
+TRCID_       0x148B TRACE_TS            "tscSendReply: service %08X, msg '%s', msg_id %d, replyLen %d" $2=tscMsg_id2name
+TRCID_       0x148C TRACE_TS            "tscSendReply1: err = %d"
+TRCID_       0x148D TRACE_TS            "tscErrorReply: err %d internal? %d"
+TRCID_       0x148E TRACE_TS            "tscHandleMsg: service %08X, msg '%s', msg_id %d, len %d, from %s cl %d" $2=tscMsg_id2name $5=nodeaddr_id2name
+TRCID_       0x148F TRACE_TS            "tscHandleMsgDirectly: service %08X, msg '%s', msg_id %d, len %d, from %s cl %d" $2=tscMsg_id2name $5=nodeaddr_id2name
+TRCID_       0x1490 TRACE_TS            "tscNodeFailed: node %s cl %d" $1=nodeaddr_id2name
+TRCID_       0x1491 TRACE_TS            "llc_alloc_reply_data: data 0x%lX len %d"
+TRCID_       0x1492 TRACE_TS            "trace synch: time %d.%09d received on %s at local time %d.%09d\n" $3=nodeaddr_id2name
+TRCID_       0x1493 TRACE_TS            "trace synch: time %d.%09d sending to %s from %s\n" $3=nodeaddr_id2name $4=nodeaddr_id2name
+TRCID_       0x1494 TRACE_TS            "trace synch: reply from %s on %s\n" $1=nodeaddr_id2name $2=nodeaddr_id2name
+TRCID_       0x1495 TRACE_TS            "SecurityImp::createCtx: exit, err %d"
+TRCID_       0x1496 TRACE_TS            "SecurityImp::setCipherList: exit, cipherList %s rc %d err %d"
+TRCID_       0x1497 TRACE_TS            "SecurityImp::createConn: exit, sock %d err %d"
+TRCID_       0x1498 TRACE_TS            "SecurityImp::sconnStart: enter, sock %d"
+TRCID_       0x149B TRACE_TS            "SecurityImp::sconnCheck exit: sock %d rc %d src %d errno %d err %d"
+TRCID_       0x149C TRACE_TS            "SecurityImp::accept: enter, sock %d"
+TRCID_       0x149D TRACE_TS            "SecurityImp::accept: exit, sock %d rc %d src %d errno %d err %d"
+TRCID_       0x149E TRACE_TS            "SecurityImp::close: enter, sock %d forceShutdown %d"
+TRCID_       0x149F TRACE_TS            "SecurityImp::close: SSL_close incomplete, sock %d rc %d src %d errno %d"
+TRCID_       0x14A0 TRACE_TS            "SecurityImp::close: exit, sock %d nShutdowns %d err %d"
+TRCID_       0x14A1 TRACE_TS            "SecurityImp::recv: enter, sock %d len %d"
+TRCID_       0x14A2 TRACE_TS            "SecurityImp::recv: exit, sock %d rc %d src %d errno %d err %d"
+TRCID_       0x14A3 TRACE_TS            "SecurityImp::send: enter, sock %d len %d"
+TRCID_       0x14A4 TRACE_TS            "SecurityImp::send: exit, sock %d rc %d src %d errno %d err %d"
+TRCID_       0x14A5 TRACE_TS            "SecurityImp::sslError: %s"
+TRCID_       0x14A6 TRACE_TS            "acquireConn enter: addr %s nodeidx %d add %d" $1=nodeaddr_id2name
+TRCID_       0x14A7 TRACE_TS            "acquireConn exit: err %d"
+TRCID_       0x14A8 TRACE_TS            "SecurityImp::getCertFromCfgFile: exit, err %d"
+TRCID_       0x14A9 TRACE_TS            "make_connection: connect err %d sock %d"
+TRCID_       0x14AA TRACE_TS            "receiverEvent enter: sock %d event 0x%x state %s"
+TRCID_       0x14AB TRACE_TS            "receiverEvent: getsockopt err %d on socket %d"
+TRCID_       0x14AC TRACE_TS            "receiverEvent: connect err %d on socket %d"
+TRCID_       0x14AD TRACE_TS            "receiverEvent exit: sock %d err %d newTypes %d state %s"
+TRCID_       0x14AE TRACE_TS            "recvMsg: sending on socket %d byteCount %ul loopCount %d"
+TRCID_       0x14AF TRACE_TS            "sendIt: send %d bytes on socket %d err %d"
+TRCID_       0x14B0 TRACE_TS            "addConn exit: socket %d err %d"
+TRCID_       0x14B1 TRACE_TS            "checkConnectionTimeouts: timeout on socket %d peerIP %s" $2=ipaddr_id2name
+TRCID_       0x14B2 TRACE_TS            "SecurityImp::sconnCheck: enter, sock %d"
+TRCID_       0x1C01 TRACE_DISK          "Open raw disk, type %d %s, useNsdServer %d\n"
+TRCID_       0x1C02 TRACE_DISK          "Open raw disk file, fileHandle %d, %s failed, change to use nsd layer\n"
+TRCID_       0x1C03 TRACE_DISK          "Open raw disk file, fileHandle %d, %s\n"
+TRCID_       0x1C04 TRACE_DISK          "Open raw file file, fileHandle %d, %s failed, change to use nsd layer\n"
+TRCID_       0x1C05 TRACE_DISK          "Open raw file file, fileHandle %d, %s\n"
+TRCID_       0x1C06 TRACE_DISK          "Open raw disk, fileHandle %d, errno %d, clusterType %d\n"
+TRCID_       0x1C07 TRACE_DISK          "devOpen:disk open %s failed with err %d. Activate disk\n"
+TRCID_       0x1C08 TRACE_DISK          "Disk::devOpen, getDiskInfo ret err %d, disk %s\n"
+TRCID_       0x1C09 TRACE_DISK          "Disk::devOpen, ReadDiskDesc ret err %d, disk %s\n"
+TRCID_       0x1C0A TRACE_DISK          "devOpen: err %d online %d hasBadDescriptor %d disk %s\n"
+TRCID_       0x1C0B TRACE_DISK          "devClose: err %d disk %s\n"
+TRCID_       0x1C0C TRACE_DISK          "Disk device %08lX has %ld (0x%lX) sectors\n"
+TRCID_       0x1C0D TRACE_DISK          "Disk::Disk: sectSize %d name '%s'\n"
+TRCID_       0x1C0E TRACE_DISK          "Disk::Disk: created trigger name '%s'\n"
+TRCID_       0x1C0F TRACE_DISK          "Disk::~Disk: name '%s'\n"
+TRCID_       0x1C10 TRACE_DISK          "DiskSched::quiesce enter: devId %08lX\n"
+TRCID_       0x1C11 TRACE_DISK          "DiskSched::quiesce exit: devId %08lX moreIOs %d\n"
+TRCID_       0x1C12 TRACE_IO            "QIO: %s %s tag %d %lld buf 0x%08lX disk %08lX da %d:%lld nSectors %d align %d by (%s)\n" $1=diskop_id2name $2=BufferType_id2name $11=Thread_id2name
+TRCID_       0x1C13 TRACE_IO            "QIO: %s %s tag %d %lld buf 0x%08lX nsdName %s da %d:%lld nSectors %d align %d by (%s)\n" $1=diskop_id2name $2=BufferType_id2name $11=Thread_id2name
+TRCID_       0x1C14 TRACE_IO            "QIO2: disk %08lX da %d:%lld write data %08X %08X %08X %08X %08X %08X %08X\n"
+TRCID_       0x1C15 TRACE_DISK          "DiskSched::startIO: I/O to offline disk in stripe group devId 0x%X on disk %s; making disk unavailable\n"
+TRCID_       0x1C16 TRACE_IO            "SIO: buf 0x%08lX nsdId %08X:%08X da %d:%lld nSectors %d\n"
+TRCID_       0x1C17 TRACE_IO            "StartIO: IO to nsdId %08X:%08X da %d:%lld nSectors %d returned residual count %d but no error. Changing to EIO\n"
+TRCID_       0x1C18 TRACE_IO            "FIO: %s %s tag %d %lld buf 0x%08lX nsdId %08X:%08X da %d:%lld nSectors %d err %d resid %d\n" $1=diskop_id2name $2=BufferType_id2name
+TRCID_       0x1C19 TRACE_IO            "SIO: buf 0x%08lX file %08lX da %d:%lld nSectors %d\n"
+TRCID_       0x1C1A TRACE_IO            "FIO: %s %s tag %d %lld buf 0x%08lX file %08lX da %d:%lld nSectors %d err %d resid %d\n" $1=diskop_id2name $2=BufferType_id2name
+TRCID_       0x1C1B TRACE_DISK          "DiskSched::startIO: simulating error %d on %s %d:%lld for disk %08lX\n" $2=diskop_id2name
+TRCID_       0x1C1C TRACE_IO            "FIO2: disk %08lX da %d:%lld read data %08X %08X %08X %08X %08X %08X %08X\n"
+TRCID_       0x1C1D TRACE_DISK          "DiskSched::awaitIOCompletion: %s %s disk %08lX buf 0x%08lX err %d duration %s\n" $1=diskop_id2name $2=BufferType_id2name
+TRCID_       0x1C1E TRACE_DISK          "awaitIOCompletion: i/o to local vsd failed with E_NODEV 0x%X for disk %s switch to use nsd layer\n"
+TRCID_       0x1C1F TRACE_DISK          "awaitIOCompletion: setting descReadErr to E_IO \n"
+TRCID_       0x1C20 TRACE_DISK          "awaitIOCompletion: setting err to E_IO as readDiskDesc succeeded.\n"
+TRCID_       0x1C21 TRACE_DISK          "awaitIOCompletion: readDiskDesc failed with E_IO 0x%X on disk %s; try nsdDoIO\n"
+TRCID_       0x1C22 TRACE_DISK          "awaitIOCompletion: switch to nsd & nsdDoIO completed with err %d\n"
+TRCID_       0x1C23 TRACE_DISK          "awaitIOCompletion: Errors in stripe group devId 0x%X on disk %s; making disk unavailable\n"
+TRCID_       0x1C24 TRACE_DISK          "InitAllocMapsForAddedDisk entered. id %08X\n"
+TRCID_       0x1C25 TRACE_DISK          "InitAllocMapsForAddedDisk flushing alloc maps\n"
+TRCID_       0x1C26 TRACE_DISK          "InitAllocMapsForAddedDisk exiting. err=%d\n"
+TRCID_       0x1C27 TRACE_DISK          "addDisk entered\n"
+TRCID_       0x1C28 TRACE_DISK          "addDisk writing descriptors to new disks\n"
+TRCID_       0x1C29 TRACE_DISK          "addDisk laying out alloc maps for added disks\n"
+TRCID_       0x1C2A TRACE_DISK          "addDisk exiting. err=%d\n"
+TRCID_       0x1C2B TRACE_DISK          "runTSAddDisk entered for sg %s\n"
+TRCID_       0x1C2C TRACE_DISK          "runTSAddDisk initial parsing complete\n"
+TRCID_       0x1C2D TRACE_DISK          "runTSAddDisk changing status to InUse for added disks\n"
+TRCID_       0x1C2E TRACE_DISK          "runTSAddDisk exiting. err=%d\n"
+TRCID_       0x1C2F TRACE_DISK          "runTSDelDisk entered for sg %s\n"
+TRCID_       0x1C30 TRACE_DISK          "runTSDelDisk exiting. err=%d\n"
+TRCID_       0x1C31 TRACE_DISK          "runTSReplaceDisk entered for sg %s\n"
+TRCID_       0x1C32 TRACE_DISK          "runTSReplaceDisk initial parsing complete\n"
+TRCID_       0x1C33 TRACE_DISK          "runTSReplaceDisk oldDisk %d data %d meta %d newDisk data %d meta %d"
+TRCID_       0x1C34 TRACE_DISK          "runTSReplaceDisk changing status of disks\n"
+TRCID_       0x1C35 TRACE_DISK          "runTSReplaceDisk exiting. err=%d\n"
+TRCID_       0x1C36 TRACE_SP            "FenceDisk: sgP %s, mount list = %d no of disks %d \n"
+TRCID_       0x1C37 TRACE_DLEASE        "FenceDisk: useDiskLease is true, do nothing, return E_OK"
+TRCID_       0x1C38 TRACE_DISK          "lcFence: Disk creation failed with E_NOMEM\n"
+TRCID_       0x1C39 TRACE_DISK          "lcFence: Disk creation failed with err %d\n"
+TRCID_       0x1C3A TRACE_DISK          "lcFence: Disk open failed with err %d\n"
+TRCID_       0x1C3B TRACE_DISK          "Vsdfence failed with err %d, will be retried on srvrs if any.\n"
+TRCID_       0x1C3C TRACE_DISK          "LcFence: disk %s is using leasing or fenced locally, ftype %d \n"
+TRCID_       0x1C3D TRACE_DISK          "LcFence: no.of disks that need to be fenced %d \n"
+TRCID_       0x1C3E TRACE_DISK          "lcFence: Exhausted all servers or no server up to send nsdMsgFence, ndisks %d not fenced\n"
+TRCID_       0x1C3F TRACE_DISK          "lcFence: nsdMsgFence to server %s \n" $1=nodeaddr_id2name
+TRCID_       0x1C40 TRACE_DISK          "LcFence: %d disks fenced by server  %s, remaining %d \n" $2=nodeaddr_id2name
+TRCID_       0x1C41 TRACE_DISK          "lcFence: nsdMsgFence to server %s failed with err %d, will send to next srvr in list\n" $1=nodeaddr_id2name
+TRCID_       0x1C42 TRACE_DISK          "lcFence: returning with err %d\n"
+TRCID_       0x1C43 TRACE_SP            "nVsdfence: %s\n"
+TRCID_       0x1C44 TRACE_SP            "nVsdfence: nodeno %d(%s) not found in mapping from getVsdnodeMap\n" $2=nodeaddr_id2name
+TRCID_       0x1C45 TRACE_SP            "nVsdfence(fence): %s\n"
+TRCID_       0x1C46 TRACE_SP            "nVsdfence(fence): Return code from nGIOCFENCE ioctl %d\n"
+TRCID_       0x1C47 TRACE_SP            "nVsdfence: nodeno %d(%s) not found in mapping from getVsdnodeMap\n" $2=nodeaddr_id2name
+TRCID_       0x1C48 TRACE_SP            "nVsdfence(unfence): %s\n"
+TRCID_       0x1C49 TRACE_SP            "nVsdfence: Return code from nGIOCFENCE ioctl %d\n"
+TRCID_       0x1C4A TRACE_SP            "Vsdfence: %s\n"
+TRCID_       0x1C4B TRACE_SP            "vsdfence: nodeno %d(%s) not found in mapping from getVsdnodeMap\n" $2=nodeaddr_id2name
+TRCID_       0x1C4C TRACE_SP            "Vsdfence: nodeno %d(%s) not found in mapping from getVsdnodeMap\n" $2=nodeaddr_id2name
+TRCID_       0x1C4D TRACE_SP            "Vsdfence(fence): %s\n"
+TRCID_       0x1C4E TRACE_SP            "Vsdfence(unfence): %s\n"
+TRCID_       0x1C4F TRACE_SP            "Vsdfence: Return code from GIOCFENCE ioctl %d\n"
+TRCID_       0x1C50 TRACE_SP            "getMinorNumber: Return code %d from openx(%s)\n"
+TRCID_       0x1C51 TRACE_SP            "getMinorNumber: Return code %d from fstat(%s)\n"
+TRCID_       0x1C52 TRACE_SP            "getMinorNumber: Invalid st_mode %d err %d device %s\n"
+TRCID_       0x1C53 TRACE_SP            "getMinorNumber: Return code %d from ioctl(%s)\n"
+TRCID_       0x1C54 TRACE_SP            "MarkDiskDown: sgP->getDiskIndex(%s) failed\n"
+TRCID_       0x1C55 TRACE_SP            "MarkDiskDown: SGDiskFailed(): nindices %d  err %d\n"
+TRCID_       0x2001 TRACE_ALLOCMGR      "AllocMgrServer::AllocMgrServer(this=0x%lX)\n"
+TRCID_       0x2002 TRACE_ALLOCMGR      "AllocMgrServer::~AllocMgrServer(this=0x%lX)\n"
+TRCID_       0x2003 TRACE_ALLOCMGR      "AllocMgr::initISSI, sisiP == NULL, E_NOMEM\n"
+TRCID_       0x2004 TRACE_ALLOCMGR      "AllocMgr::initISSI, sisiP[i] == NULL, E_NOMEM\n"
+TRCID_       0x2005 TRACE_ALLOCMGR      "AllocMgr::Iinit, sisip[j][i] == NULL, E_NOMEM\n"
+TRCID_       0x2006 TRACE_ALLOCMGR      "updateIAlloc segment(%d,%d); delta: %d, num free inodes: %d, local inode activity: %d\n"
+TRCID_       0x2007 TRACE_ALLOCMGR      "gatherInodeInfo maxSegs %d infoP 0x%lX num_mod %d local %d\n"
+TRCID_       0x2008 TRACE_ALLOCMGR      "gatherISegInfo iregNo %d isegNo %d free %ld time %s"
+TRCID_       0x2009 TRACE_ALLOCMGR      "updateISegInfo iregNo %d isegNo %d free %ld->%ld time %s->%s total %ld + %ld\n"
+TRCID_       0x200A TRACE_FS            "AclDataFile::AclDataFile enter\n"
+TRCID_       0x200B TRACE_FS            "AclDataFile::initAclFile enter\n"
+TRCID_       0x200C TRACE_FS            "acl header: magic %08X, version %d, slots used %d\n"
+TRCID_       0x200D TRACE_FS            "AclDataFile::initAclFile returns %d; slotsUsed %d, nBiggest %d, nHash %d\n"
+TRCID_       0x200E TRACE_FS            "AclDataFile::initAclInfo returns %d; slotsUsed %d, nBiggest %d, nHash %d\n"
+TRCID_       0x200F TRACE_FS            "AclDataFile::discardAclInfo\n"
+TRCID_       0x2010 TRACE_FS            "fetchAclBuffer(%lld) returns err %d\n"
+TRCID_       0x2011 TRACE_FS            "retrieveAcl: ref %d invalid: flags %08X, dataLen %d, hash/free %d\n"
+TRCID_       0x2012 TRACE_FS            "retrieveAcl(%d) returns len %d, err %d\n"
+TRCID_       0x2013 TRACE_FS            "storeAcl(len %d) returns ref %d, err %d\n"
+TRCID_       0x2014 TRACE_FS            "AclDataFile::garbageCollector started, lastBlock %d\n"
+TRCID_       0x2015 TRACE_FS            "garbageCollector: node %s: status %d err %d\n" $1=nodeaddr_id2name
+TRCID_       0x2016 TRACE_FS            "garbageCollector: invalid acl in block %lld, offset %d: flags %08X, dataLen %d, hash/free %d\n"
+TRCID_       0x2017 TRACE_FS            "AclDataFile::garbageCollector complete, err %d, ACLs freed %d, slots freed %d, slots used %d\n"
+TRCID_       0x2018 TRACE_FS            "markAclsReferenced: invalid acl in block %lld, offset %d: flags %08X, dataLen %d, hash/free %d\n"
+TRCID_       0x2019 TRACE_FS            "AclDataFile::accessAcl(%lld) returns %d\n"
+TRCID_       0x201A TRACE_FS            "initFreeSpace 1: invalid acl in block %lld, offset %d: flags %08X, dataLen %d, hash/free %d\n"
+TRCID_       0x201B TRACE_FS            "initFreeSpace 2: invalid acl in block %lld, offset %d: flags %08X, dataLen %d, hash/free %d\n"
+TRCID_       0x201C TRACE_VNODE         "hashAcl: dataP 0x%lX len %d foldVal 0x%X hash 0x%X\n"
+TRCID_       0x201D TRACE_FS            "%s\n"
+TRCID_       0x201E TRACE_FS            "ACE4_Matches: matches %d aceWho %d aceFlags 0x%X\n"
+TRCID_       0x201F TRACE_FS            "isAceApplicable: flags 0x%X isDir %d inheritOnly %d applyFile %d applyDir %d\n"
+TRCID_       0x2020 TRACE_FS            "NFSv4_iaccess enter: dev 0x%X ino %d requestedPerms 0x%X uid %d\n"
+TRCID_       0x2021 TRACE_FS            "NFSv4_iaccess : ownerUid %d ownerGid %d isOwner %d isGroup %d\n"
+TRCID_       0x2022 TRACE_FS            "NFSv4_iaccess: ace %d flags 0x%X who %d type 0x%X mask 0x%X\n"
+TRCID_       0x2023 TRACE_FS            "NFSv4_iaccess: allow ace %d mask 0x%X remainingPerms 0x%X\n"
+TRCID_       0x2024 TRACE_FS            "NFSv4_iaccess: denied by ace %d flags 0x%X who %d type 0x%X mask 0x%X\n"
+TRCID_       0x2025 TRACE_FS            "NFSv4_iaccess: aa flags 0x%X who %d type 0x%X mask 0x%X\n"
+TRCID_       0x2026 TRACE_FS            "NFSv4_iaccess: %s(%s) dev 0x%X ino %d flags 0x%X who %d mask 0x%X\n"
+TRCID_       0x2027 TRACE_FS            "NFSv4_iaccess exit: rc %d code %d dev 0x%X ino %d uaPerms 0x%X uid %d\n"
+TRCID_       0x2028 TRACE_FS            "NFSv4_getMode: unixmode 0x%X v4mode 0x%X\n"
+TRCID_       0x2029 TRACE_ALLOC         "delete AllocSegmentData 0x%lX bufP 0x%lX nDisks %d\n"
+TRCID_       0x202A TRACE_ALLOC         "calcSegLen[%d] disk %d %s stat %s poolId %d segNo %d off %d + %d act %d"
+TRCID_       0x202B TRACE_ALLOC         "calcSegLen regNo %d segNo %d active %d"
+TRCID_       0x202C TRACE_ALLOC         "calcNewSegLen[%d] disk %d %s stat %s poolId %d segNo %d off %d + %d len %d"
+TRCID_       0x202D TRACE_ALLOC         "AllocSegment::recycle 0x%lX regNo %d segNo %d dataP 0x%lX\n"
+TRCID_       0x202E TRACE_ALLOC         "AllocSegment::recycle complete\n"
+TRCID_       0x202F TRACE_ALLOC         "AllocSegment::init 0x%lX sg %s poolId %d regNo %d segNo %d"
+TRCID_       0x2030 TRACE_ALLOC         "refreshSGCache version %d err %d"
+TRCID_       0x2031 TRACE_ALLOC         "AllocSegment::read 0x%lX poolId %d regNo %d segNo %d chCnt %d"
+TRCID_       0x2032 TRACE_ALLOC         "Error reading allocSeg poolId %d regNo %d segNo %d recNo %d bytes %d, err %d"
+TRCID_       0x2033 TRACE_ALLOC         "AllocSegment::write 0x%lX poolId %d regNo %d segNo %d act %d dataP 0x%lX hdrP 0x%lX valid %d mod %d chCnt %d %d"
+TRCID_       0x2034 TRACE_ALLOC         "Error writing allocSeg poolId %d regNo %d segNo %d recNo %d bytes %d, err %d"
+TRCID_       0x2035 TRACE_FS            "validateAlloc: bad magic 0x%X != 0x%X or version %d != %d\n"
+TRCID_       0x2036 TRACE_FS            "validateAlloc: bad checksum 0x%X != 0x%X segDataLen %d nBytes %d\n"
+TRCID_       0x2037 TRACE_FS            "validateAlloc: short buffer disk %d nBytes %d needs %d\n"
+TRCID_       0x2038 TRACE_FS            "validateAlloc: bad disk header 0x%X disk %d offset %d\n"
+TRCID_       0x2039 TRACE_ALLOC         "validateAlloc at 0x%lX sg %s segNo %d nBytes %d poolId %d err %d"
+TRCID_       0x203A TRACE_ALLOC         "magic 0x%X fmt=%d len=%d cksm 0x%X vers=%lld space=%d unfrag=%d\n"
+TRCID_       0x203B TRACE_ALLOC         "writeNode 0x%X writeSeconds %d reserved %d %d\n"
+TRCID_       0x203C TRACE_ALLOC         "AllocSegment::flush 0x%lX poolId %d regNo %d segNo %d modified %d"
+TRCID_       0x203D TRACE_ALLOC         "AllocSegment::flushAndDiscardData 0x%lX poolId %d regNo %d segNo %d"
+TRCID_       0x203E TRACE_FS            "StealAllocSegBufferCallback enter: buffer 0x%lX AllocSegment 0x%lX pass %d\n"
+TRCID_       0x203F TRACE_FS            "StealAllocSegBufferCallback exit: buffer 0x%lX seq 0x%X err %d\n"
+TRCID_       0x2040 TRACE_FS            "recycleDataBuffer: stealing alloc poolId %d regNo %d segNo %d modified %d"
+TRCID_       0x2041 TRACE_ALLOC         "AllocSegment::access 0x%lX poolId %d regNo %d segNo %d makeValid %d needData %d"
+TRCID_       0x2042 TRACE_ALLOC         "access regNo %d isValid %d dataP 0x%lX chCnt %d sg chCnt %d\n"
+TRCID_       0x2043 TRACE_ALLOC         "AllocSegment::access: regNo %d segNo %d, dscc was %d is %d\n"
+TRCID_       0x2044 TRACE_ALLOC         "AllocSegment::access: *remainingReadsP is 0\n"
+TRCID_       0x2045 TRACE_ALLOC         "AllocSegment::access: regNo %d segNo %d read failed, err %d\n"
+TRCID_       0x2046 TRACE_ALLOC         "allocSegment::alloc 0x%lX poolId %d regNo %d segNo %d diskIndex %d nSub %d"
+TRCID_       0x2047 TRACE_ALLOC         "AllocSegment::alloc: regNo %d segNo %d disk %d subblock %d: E_WOULDWRAP\n"
+TRCID_       0x2048 TRACE_ALLOC         "alloc complete disk %d sub %d nSub %d delta %d %d err %d\n"
+TRCID_       0x2049 TRACE_ALLOC         "AllocSegment::deallocMultiple 0x%lX poolId %d regNo %d segNo %d nElem %d"
+TRCID_       0x204A TRACE_ALLOC         "allocSegment::deallocMultiple[%d] diskIndex %d sub %ld nSub %d\n"
+TRCID_       0x204B TRACE_ALLOC         "deallocMultiple[%d] da %d:%lld subblock %d nSubblocks %d err %d\n"
+TRCID_       0x204C TRACE_ALLOC         "AllocSegment::format 0x%lX poolId %d regNo %d segNo %d"
+TRCID_       0x204D TRACE_ALLOC         "markAllFree region %d seg %d\n"
+TRCID_       0x204E TRACE_ALLOC         "markSectorRange: poolId %d regNo %d segNo %d disk %d sector %lld nSectors %d isFree %d"
+TRCID_       0x204F TRACE_ALLOC         "markSectorRange exit: startSubblock %d endSubblock %d err %d\n"
+TRCID_       0x2050 TRACE_ALLOC         "disk[%d] unfrag %d frag %d mfrag %d max %d hold data %d meta %d\n"
+TRCID_       0x2051 TRACE_ALLOC         "getFreeSpace regNo %d segNo %d max %lld %lld free %lld %lld data %lld %lld meta %lld %lld %d"
+TRCID_       0x2052 TRACE_ALLOC         "getFreeSpace poolId %d regNo %d segNo %d err %d"
+TRCID_       0x2053 TRACE_ALLOC         "updateAllocFreeSpace disk %d bit %d noFree %d delta %d %d"
+TRCID_       0x2054 TRACE_ALLOC         "free data %lld meta %lld disk %lld nData %d/%d nMeta %d/%d"
+TRCID_       0x2055 TRACE_ALLOC         "nRegs %d maxRegs %d fullOrBroken %d"
+TRCID_       0x2056 TRACE_ALLOC         "updateAllocFreeSpace exit: free data %lld meta %lld disk %lld nData %d nMeta %d dataFGAvail %s metaFGAvail %s"
+TRCID_       0x2057 TRACE_ALLOC         "makeAllocDataValid: isValid %d regNo %d(%d) %d(%d) %d(%d) %d(%d)"
+TRCID_       0x2058 TRACE_ALLOC         "makeAllocDataValid: regNo %d isValid %d isRem %d isDel %d"
+TRCID_       0x2059 TRACE_ALLOC         "makeAllocDataValid: complete isValid %d data %lld meta %lld err %d"
+TRCID_       0x205A TRACE_ALLOC         "SGAllocMap::SGAllocMap constructor called for sg '%s' poolId %d"
+TRCID_       0x205B TRACE_ALLOC         "SGAllocMap::SGAllocMap: ino %d nRegions %d, sg '%s'\n"
+TRCID_       0x205C TRACE_ALLOC         "SGAllocMap::SGAllocMap: %s complete, err %d\n"
+TRCID_       0x205D TRACE_ALLOC         "SGAllocMap::init sg %s poolId %d recovering %d"
+TRCID_       0x205E TRACE_ALLOC         "SGAllocMap::init nRegions %d, nDisks=%d sec/sub %d sec/full %d\n"
+TRCID_       0x205F TRACE_ALLOC         "  disk[%d] %s: %s poolId %d TotalSize %lld, BitsPerRegion %d, SegOffset %d, bytesPerRegion %d"
+TRCID_       0x2060 TRACE_ALLOC         "SGAllocMap::init nDisks %d nData %d nMeta %d"
+TRCID_       0x2061 TRACE_ALLOC         "SGAllocMap::SGAllocMap %s old AllocMgr\n"
+TRCID_       0x2062 TRACE_ALLOC         "SGAllocMap::init: sg '%s' complete, err %d\n"
+TRCID_       0x2063 TRACE_ALLOC         "SGAllocMap::recycleAllocSegments nRegs=%d nSegs=%d beingDestroyed %d"
+TRCID_       0x2064 TRACE_ALLOC         "SGAllocMap::recycleAllocSegments complete\n"
+TRCID_       0x2065 TRACE_ALLOC         "SGAllocMap::SGAllocMap destructor called for sg '%s'\n"
+TRCID_       0x2066 TRACE_ALLOC         "SGAllocMap::reInitialize sg %s poolId %d diskVers %d stat %d free %d\n"
+TRCID_       0x2067 TRACE_ALLOC         "SGAllocMap::reInitialize %s complete, err %d\n"
+TRCID_       0x2068 TRACE_ALLOC         "SGAllocMap::resetConfig sg %s poolId %d"
+TRCID_       0x2069 TRACE_ALLOC         "SGAllocMap::resetConfig sg %s complete, err %d\n"
+TRCID_       0x206A TRACE_ALLOC         "SGAllocMap::flush sg %s poolId %d"
+TRCID_       0x206B TRACE_ALLOC         "SGAllocMap::flush sg %s poolId %d complete, err %d\n"
+TRCID_       0x206C TRACE_ALLOC         "SGAllocMap::relinquishAll sg %s poolId %d"
+TRCID_       0x206D TRACE_ALLOC         "SGAllocMap::allocRestricted poolId %d len %d diskId %d isData %d retry %d"
+TRCID_       0x206E TRACE_ALLOC         "SGAllocMap::allocRestricted %d:%lld len %d err %d\n"
+TRCID_       0x206F TRACE_ALLOC         "SGAllocMap::allocReplica poolId %d DA n=%d %d:%lld disk %d len %d data %d retry %d"
+TRCID_       0x2070 TRACE_ALLOC         "allocReplica invalid poolId %d nRepl %d isData %d nDisks %d %d nFGs %d %d err %d"
+TRCID_       0x2071 TRACE_ALLOC         "SGAllocMap::allocReplica complete, da %d:%lld err %d\n"
+TRCID_       0x2072 TRACE_ALLOC         "starting deallocHelperThread %d Threads %d"
+TRCID_       0x2073 TRACE_ALLOC         "starting deallocHelperThread failed"
+TRCID_       0x2074 TRACE_ALLOC         "SGAllocMap::dealloc poolId %d DA n=%d %d:%lld %d:%lld nSub %d opt 0x%X\n"
+TRCID_       0x2075 TRACE_ALLOC         "pushDealloc on regNo %d owner %s queue nSub %d nextLsn 0x%llX" $2=nodeaddr_id2name
+TRCID_       0x2076 TRACE_ALLOC         "Error deallocating DA %d:%d nSub %d regNo %d err %d"
+TRCID_       0x2077 TRACE_ALLOC         "pushDeallocQueue regNo %d sub %d qSubs %d+%d->%d qSeq %lld %lld"
+TRCID_       0x2078 TRACE_ALLOC         "flushDeallocQ adding regNo %d owner %s subs %d qSub %d qReg %d qRem %d" $2=nodeaddr_id2name
+TRCID_       0x2079 TRACE_ALLOC         "flushDeallocQueue poolId %d thds %d hlpr %d qSubs %d qReg %d qRem %d qUnk %d fdOpt 0x%X high %lld flu %lld"
+TRCID_       0x207A TRACE_ALLOC         "flushDealloc nReg %d RO %d LO %d term %lld flush %lld qSub %d qReg %d qRem %d fLSN 0x%llX"
+TRCID_       0x207B TRACE_ALLOC         "flushDeallocQ regNo %d F %d Q %d L %d seq %lld sub %d lsn 0x%llX"
+TRCID_       0x207C TRACE_ALLOC         "flushDealloc conscript flush remote qReg %d qRem %d nHelpers %d"
+TRCID_       0x207D TRACE_ALLOC         "flushDealloc conscript flushRemote2 qReg %d qRem %d nHelpers %d"
+TRCID_       0x207E TRACE_ALLOC         "flushDealloc waiting termSeq %lld flush %lld qSubs %d qReg %d"
+TRCID_       0x207F TRACE_ALLOC         "flushDealloc resuming termSeq %lld flush %lld qSubs %d qReg %d"
+TRCID_       0x2080 TRACE_ALLOC         "flushDealloc helper complete, running %d"
+TRCID_       0x2081 TRACE_ALLOC         "flushDeallocQueue exit: thds %d hlpr %d qSub %d qReg %d qRem %d qUnk %d flush %lld high %lld, err %d"
+TRCID_       0x2082 TRACE_ALLOC         "flushDeallocRegion regNo %d fdOpt 0x%X qSub %d flush %lld term %lld"
+TRCID_       0x2083 TRACE_ALLOC         "flushDeallocQ flushSeq %lld high %lld qSub %d qReg %d qRem %d qUnk %d"
+TRCID_       0x2084 TRACE_ALLOC         "flushDeallocRegion regNo %d waiting inUse %d flu %d que %d"
+TRCID_       0x2085 TRACE_ALLOC         "flushDeallocRegion comp regNo %d sub %d qSub %d seq %lld, err %d"
+TRCID_       0x2086 TRACE_ALLOC         "flushDeallocQ removing regNo %d qSub %d qReg %d qRem %d"
+TRCID_       0x2087 TRACE_ALLOC         "flushDeallocQ flushSeq %lld->%lld high %lld qSub %d qReg %d qRem %d"
+TRCID_       0x2088 TRACE_ALLOC         "AllocFormatWork::doOneStep record %d\n"
+TRCID_       0x2089 TRACE_ALLOC         "SGAllocMap::format sg %s poolId %d"
+TRCID_       0x208A TRACE_ALLOC         "AllocSegment::rewrite 0x%lX regNo %d segNo %d newNSeg %d\n"
+TRCID_       0x208B TRACE_ALLOC         "SGAllocMap::rewriteAllocMaps sg %s vers %d stat %d freeSpace %d \n"
+TRCID_       0x208C TRACE_ALLOC         "SGAllocMap::rewriteAllocMaps complete, err %d\n"
+TRCID_       0x208D TRACE_ALLOC         "SGAllocMap::addSegmentToAllocMapFile sg %s poolId %d nNewSegs %d data %d stat %d free %d"
+TRCID_       0x208E TRACE_ALLOC         "addSegmentToAllocMap(newSegs=%d) numBlocks=%d newBlocks=%d\n"
+TRCID_       0x208F TRACE_ALLOC         "addSegmentToAllocMap complete, err %d\n"
+TRCID_       0x2090 TRACE_ALLOC         "allocating new AllocSegmentData for regNo %d segNo %d\n"
+TRCID_       0x2091 TRACE_ALLOC         "SGAllocMap::getFreeInfoForSomeDisks sg %s poolId %d low %d max %d okToSend %d okToReuse %d"
+TRCID_       0x2092 TRACE_ALLOC         "getFreeInfo valid %d stale %d time %d reqTime %d req'ed %d retry %d"
+TRCID_       0x2093 TRACE_ALLOC         "SGAllocMap::getFreeInfoForSomeDisks waiting for prior request"
+TRCID_       0x2094 TRACE_ALLOC         "SGAllocMap::getFreeInfo nDisks %d time %d errCount %d err %d"
+TRCID_       0x2095 TRACE_ALLOC         "SGAllocMap::setFreeInfoForAllDisks sg %s poolId %d ndisks %d time %ld errCnt %d\n"
+TRCID_       0x2096 TRACE_ALLOC         "allocMapCheckBegin sg %s poolId %d node %s regNo %d to %d rtnP 0x%lX" $3=nodeaddr_id2name
+TRCID_       0x2097 TRACE_ALLOC         "allocMapCheckEnd sg %s was node %s rtnP 0x%lX" $2=nodeaddr_id2name
+TRCID_       0x2098 TRACE_ALLOC         "sgCacheP 0x%lX vers %d nDisk %d inPool %d %d nFG %d inPool %d %d %d"
+TRCID_       0x2099 TRACE_ALLOC         "SGAllocMap::resetAllocDisksBitmap nDisks %d/%d nData %d/%d nMeta %d/%d"
+TRCID_       0x209A TRACE_ALLOC         "SGAllocMap::resetAllocDisksBitmap complete sgNDisks %d %d, err %d"
+TRCID_       0x209B TRACE_ALLOC         "SGAllocMap::phase1Recovery poolId %d mgrAddr %s mgrCount %d" $2=nodeaddr_id2name
+TRCID_       0x209C TRACE_ALLOC         "phase1Recovery own regNo %d valid %d nRegs %d\n"
+TRCID_       0x209D TRACE_ALLOC         "SGAllocMap::phase1Recovery complete, poolId %d err %d"
+TRCID_       0x209E TRACE_ALLOC         "SGAllocMap::phase2Recovery from %s at %s poolId %d freeSpace %d running %d" $1=nodeaddr_id2name
+TRCID_       0x209F TRACE_ALLOC         "SGAllocMap::phase2Recovery complete, running %d err %d"
+TRCID_       0x20A0 TRACE_ALLOC         "reduceRegions sg %s poolId %d nRegs %d %d %d nClients %d %d time %s"
+TRCID_       0x20A1 TRACE_ALLOC         "reduceRegions complete nRegs %d nFree %d err %d"
+TRCID_       0x20A2 TRACE_ALLOC         "updateAllocMStatus sg %s userPct %d nRegs %d %d %d nClients %d %d"
+TRCID_       0x20A3 TRACE_ALLOC         "updateAllocMStatus FGs %s %s freeInode %d data %lld meta %lld"
+TRCID_       0x20A4 TRACE_ALLOC         "SGAllocMap::allocShip cId %d cursorId 0x%X poolId %d disk %d data %d nSub %d isRep %d toNode %s" $8=nodeaddr_id2name
+TRCID_       0x20A5 TRACE_ALLOC         "SGAllocMap::allocShip disk %d isRep %d toNode %s retry %d" $3=nodeaddr_id2name
+TRCID_       0x20A6 TRACE_ALLOC         "SGAllocMap::allocShip cId %d toNode %s complete, err %d" $2=nodeaddr_id2name
+TRCID_       0x20A7 TRACE_ALLOC         "SGAllocMap::allocRemote sg %s at %s cursorId 0x%X poolId %d disk %d nSub %d data %d rep %d"
+TRCID_       0x20A8 TRACE_ALLOC         "SGAllocMap::allocRemote da %d:%lld complete, err %d"
+TRCID_       0x20A9 TRACE_ALLOC         "SGAllocMap::deallocRemote sg %s at %s regNo %d nElems %d\n"
+TRCID_       0x20AA TRACE_ALLOC         "SGAllocMap::deallocRemote regNo %d err %d\n"
+TRCID_       0x20AB TRACE_ALLOC         "SGAllocMap::getAllocSegmentData %s poolId %d regNo %d segNo %d bufMax %d"
+TRCID_       0x20AC TRACE_ALLOC         "copy segment data to 0x%lX from 0x%lX dataLen %d\n"
+TRCID_       0x20AD TRACE_ALLOC         "SGAllocMap::getAllocSegmentData complete, dataLen %d err %d\n"
+TRCID_       0x20AE TRACE_ALLOC         "SGAllocMap::acquireRegionOwnership poolId %d regNo %d sg %s\n"
+TRCID_       0x20AF TRACE_ALLOC         "acquireRegionOwnership regNo %d complete, regP 0x%lX err %d\n"
+TRCID_       0x20B0 TRACE_ALLOC         "SGAllocMap::revokeOwnership sg %s regNo %d at %s mgrCount %d"
+TRCID_       0x20B1 TRACE_ALLOC         "SGAllocMap::revokeOwnership regNo %d complete, err %d"
+TRCID_       0x20B2 TRACE_ALLOC         "SGAllocMap::sync %s poolId %d opt 0x%X period %d"
+TRCID_       0x20B3 TRACE_ALLOC         "SGAllocMap::sync resetting local stat counters %lld %lld"
+TRCID_       0x20B4 TRACE_ALLOC         "SGAllocMap::sync resetting maxRegionsForAlloc %d -> %d"
+TRCID_       0x20B5 TRACE_ALLOC         "SGAllocMap::sync period %d complete, err %d"
+TRCID_       0x20B7 TRACE_ALLOC         "setStatCounters poolId %d data %lld meta %lld inodes %d local %lld %lld %d"
+TRCID_       0x20B8 TRACE_ALLOC         "updateStatCounters poolId %d data %lld+%lld+%lld meta %lld+%lld+%lld regNo %d data %lld meta %lld"
+TRCID_       0x20B9 TRACE_ALLOC         "resetRegionStatCounters regNo %d data %lld meta %lld"
+TRCID_       0x20BA TRACE_ALLOC         "SGAllocMap::allocLocalRestricted cId %d len %d diskId %d free %lld data %d retry %d noSpc %d"
+TRCID_       0x20BB TRACE_ALLOC         "nRegs %d/%d valid %d full %d nDisks %d/%d nFGs %d/%d\n"
+TRCID_       0x20BC TRACE_ALLOC         "SGAllocMap::allocLocalRestricted config change caller %d cached %d"
+TRCID_       0x20BD TRACE_ALLOC         "SGAllocMap::allocLocalRestricted listChanged %d != %d, retry %d"
+TRCID_       0x20BE TRACE_ALLOC         "AllocLocalRestricted complete DA %d:%lld err %d\n"
+TRCID_       0x20BF TRACE_ALLOC         "SGAllocMap::allocLocalReplica DA n=%d %d:%lld %d:%lld poolId %d disk %d len %d data %d retry %d noSpc %d sgV %d"
+TRCID_       0x20C0 TRACE_ALLOC         "nRegs %d/%d valid %d full %d  nDisks %d/%d nFGs %d/%d/%d avail %d/%d"
+TRCID_       0x20C1 TRACE_ALLOC         "SGAllocMap::allocLocalReplica poolId %d trying %d of %d disks, isValid %d reset %d retry %d"
+TRCID_       0x20C2 TRACE_ALLOC         "SGAllocMap::allocLocalReplica config change caller %d cached %d"
+TRCID_       0x20C3 TRACE_ALLOC         "SGAllocMap::allocLocalReplica poolId %d regNo %d FG %s != cursor %s isData %d mfrag %d cursor nSub %d"
+TRCID_       0x20C4 TRACE_ALLOC         "SGAllocMap::allocLocalReplica listChanged %d != %d, retry %d"
+TRCID_       0x20C5 TRACE_ALLOC         "SGAllocMap::allocLocalReplica complete, poolId %d DA %d:%lld len %d err %d\n"
+TRCID_       0x20C6 TRACE_ALLOC         "SGAllocMap::allocLocal len %d diskId %d free %lld data %d retry %d"
+TRCID_       0x20C7 TRACE_ALLOC         "nRegs %d/%d valid %d full %d nDisks %d/%d nFGs %d/%d"
+TRCID_       0x20C8 TRACE_ALLOC         "Regions %d max %d full %d changeCount %d\n"
+TRCID_       0x20C9 TRACE_ALLOC         "allocLocal tooHard regNo %d isValid %d isAlloc %d disk %d free %lld"
+TRCID_       0x20CA TRACE_ALLOC         "allocLocal %d:%lld free %lld regNo %d hold %d rem %d del %d err %d"
+TRCID_       0x20CB TRACE_ALLOC         "findRegionForRestr cId %d stmp %d disk %d data %d FGs %s nSub %d nOwn %d"
+TRCID_       0x20CC TRACE_ALLOC         "findRegionForRestr regNo %d val %d free %lld check %d/%d err %d"
+TRCID_       0x20CD TRACE_ALLOC         "findRegionForCursor cId %d stmp %d disk %d data %d nSub %d FGs %s nOwn %d retry %d"
+TRCID_       0x20CE TRACE_ALLOC         "findRegionForCursor returns regNo %d err %d"
+TRCID_       0x20CF TRACE_ALLOC         "findLocalRegionForCursor desp %d cId %d stmp %d disk %d data %d FGs %s nFree %d"
+TRCID_       0x20D0 TRACE_ALLOC         "findLocalRegion FOUND regNo %d data %lld %lld FG %s %s rec %d"
+TRCID_       0x20D1 TRACE_ALLOC         "check regNo %d stmp %d A%d D%d D%d L%d V%d Q%d free %lld %lld mfrag %d"
+TRCID_       0x20D2 TRACE_ALLOC         "avail %d regNo %d FG %s cursorFG %s isAvail %d"
+TRCID_       0x20D3 TRACE_ALLOC         "checked %d avail %d regNo %d regFG %s bestFGs %d checkFGs %d maxFGs %d"
+TRCID_       0x20D4 TRACE_ALLOC         "findLocalRegion failed for cId %d cursorId 0x%X amAcc %d ship %s" $4=nodeaddr_id2name
+TRCID_       0x20D5 TRACE_ALLOC         "findLocalRegion regNo %d val %d free %lld check %d avail %d total %d err %d"
+TRCID_       0x20D6 TRACE_ALLOC         "checkDeallocQueueForCursor cId %d qReg %d qSeq %lld flu %lld"
+TRCID_       0x20D7 TRACE_ALLOC         "checkDeallocReg regNo %d F %d Q %d L %d seq %lld nSub %d"
+TRCID_       0x20D8 TRACE_ALLOC         "checkAvail regNo %d FG %s cursorFG %s isAvail %d"
+TRCID_       0x20D9 TRACE_ALLOC         "checkDeallocQueue found regNo %d stmp %d=%d F %d Q %d L %d seq %lld qReg %d fluSeq %lld"
+TRCID_       0x20DA TRACE_ALLOC         "checkDeallocQueueForCursor cId %d qReg %d qSeq %lld flu %lld err %d"
+TRCID_       0x20DB TRACE_ALLOC         "requestRegionForCursor cId %d cursorId 0x%X amPend %d disk %d nSub %d data %d mask %s newReq %d"
+TRCID_       0x20DC TRACE_ALLOC         "requestRegionForCursor cId %d waiting cursorId 0x%X amPend %d amShip %s" $4=nodeaddr_id2name
+TRCID_       0x20DD TRACE_ALLOC         "requestRegionForCursor reducing maxRegionsForAlloc %d -> %d err %d"
+TRCID_       0x20DE TRACE_ALLOC         "requestRegionForCursor cId %d returns regNo %d ship %s err %d" $3=nodeaddr_id2name
+TRCID_       0x20DF TRACE_ALLOC         "openCursor nAct %d nAcc %d max %d cursorId 0x%X disk %d nSub %d isData %d FGs %s retry %d"
+TRCID_       0x20E0 TRACE_ALLOC         "openCursor found 0x%X cId %d inUse %d amAcc %d amPend %d cursorId 0x%X"
+TRCID_       0x20E1 TRACE_ALLOC         "aCursorP disk %d=%d data %d=%d fgMask %s=%s vers %d=%d"
+TRCID_       0x20E2 TRACE_ALLOC         "openCursor waiting nAct %d"
+TRCID_       0x20E3 TRACE_ALLOC         "openCursor assigning cId %d inUse %d cursorId 0x%X amPend %d amAcc %d"
+TRCID_       0x20E4 TRACE_ALLOC         "openCursor new pending cId %d stamp %d inUse %d cursorId 0x%X nAct %d"
+TRCID_       0x20E5 TRACE_ALLOC         "openCursor found pending cId %d stamp %d inUse %d cursorId 0x%X nAct %d nAcc %d"
+TRCID_       0x20E6 TRACE_ALLOC         "openCursor cId data version %d != %d, inUse %d stmp %d\n"
+TRCID_       0x20E7 TRACE_ALLOC         "openCursor returns cId %d stmp %d inUse %d ship %d cursorId 0x%X amPend %d amAcc %d nAct %d nAcc %d err %d"
+TRCID_       0x20E8 TRACE_ALLOC         "closeCursor cId %d stamp %d decrUse %d resetAcc %d nAct %d nAcc %d retry %d"
+TRCID_       0x20E9 TRACE_ALLOC         "closeCursor cId %d inUse %d cursorId 0x%X pend %d acc %d clos %d ship %s"
+TRCID_       0x20EA TRACE_ALLOC         "closeCursor cId %d wait for pending requst"
+TRCID_       0x20EB TRACE_ALLOC         "closeCursor complete, nActive %d nAccessed %d"
+TRCID_       0x20EC TRACE_ALLOC         "startCursorSearch cId %d inUse %d searchCount %d waitCount %d"
+TRCID_       0x20ED TRACE_ALLOC         "startCursorSearch exit cId %d inUse %d searchCount %d waitCount %d err %d"
+TRCID_       0x20EE TRACE_ALLOC         "endCursorSearch cId %d inUse %d searchCount %d waitCount %d"
+TRCID_       0x20EF TRACE_ALLOC         "waitForCursorSearch cId %d inUse %d searchCount %d waitCount %d"
+TRCID_       0x20F0 TRACE_ALLOC         "waitCursorSearch exit cId %d inUse %d searchCount %d waitCount %d err %d"
+TRCID_       0x20F1 TRACE_ALLOC         "SGAllocMap::resetCursorsAmInfo nAct %d nAcc %d\n"
+TRCID_       0x20F2 TRACE_ALLOC         "reset cId %d stmp %d inUse %d cursorId 0x%X amAcc %d amPend %d amClos %d"
+TRCID_       0x20F3 TRACE_ALLOC         "resetCursorAccess cId %d cursorId 0x%X amAcc %d shipNode %s" $4=nodeaddr_id2name
+TRCID_       0x20F4 TRACE_FS            "clearFile: ofP 0x%lX seekPos 0x%llX nBytes 0x%llX copied %d, sanTrunc %d\n"
+TRCID_       0x20F5 TRACE_SANERGY       "clearFile: blockNum %lld, offset %d flags 0x%x, chunkLen %d, da.isOK %d %d:%lld\n"
+TRCID_       0x20F6 TRACE_FS            "clearFile: LastBlockSubblocks 0\n"
+TRCID_       0x20F7 TRACE_FS            "clearFile exit: rc %d\n"
+TRCID_       0x20F8 TRACE_FS            "SFSClear: oiP 0x%lX ofP 0x%lX openFlags 0x%X seekPos 0x%llX nBytes 0x%llX copied %d\n"
+TRCID_       0x20F9 TRACE_FS            "SFSClear: isDMAPI=%s\n"
+TRCID_       0x20FA TRACE_FS            "SFSClear exit: error %d\n"
+TRCID_       0x20FB TRACE_FS            "preAllocFile: oiP 0x%lX seekPos 0x%llX nBytes 0x%llX\n"
+TRCID_       0x20FC TRACE_FS            "preAllocFile exit: rc %d\n"
+TRCID_       0x20FD TRACE_FS            "SFSPreAlloc enter: oiP 0x%lX openFlags 0x%X seekPos 0x%llX nBytes 0x%llX\n"
+TRCID_       0x20FE TRACE_FS            "SFSPreAlloc: expandLastBlock: oiP 0x%lX blockToExpand %lld\n"
+TRCID_       0x20FF TRACE_FS            "SFSPreAlloc exit: error %d\n"
+TRCID_       0x2100 TRACE_SANERGY       "sanClearPhantom inode %d, genNum %d, seekPos %lld, nBytes %lld, curAllocSize %lld, resetHyper %d, resetPhantom %d"
+TRCID_       0x2101 TRACE_SANERGY       "sanClearPhantom: setPhantom %d, before setFileSizeIfBigger sanPhantom diskAddr bytePos %lld blkNum %lld, fileSize %lld, isPhantom %d\n"
+TRCID_       0x2102 TRACE_SANERGY       "sanClearPhantom: end reset sanPhantom diskAddr bytePos %lld blkNum %lld, fileSize %lld\n"
+TRCID_       0x2103 TRACE_SANERGY       "sanClearPhantom exit: err %d\n"
+TRCID_       0x2104 TRACE_ALLOC         "collapseValues entered. collapseIndex=%d. arrayMaxUsedIndex=%d\n"
+TRCID_       0x2105 TRACE_ALLOC         "collapseValues combining entries. New start=%d and end=%d.\n"
+TRCID_       0x2106 TRACE_ALLOC         "collapseValues exiting. arrayMaxUsedIndex=%d\n"
+TRCID_       0x2107 TRACE_ALLOC         "insertValues entered. startOffset=%d. endOffset=%d. arrayMaxUsedIndex=%d\n"
+TRCID_       0x2108 TRACE_ALLOC         "insertValues coalescing %d. new endOffset=%d\n"
+TRCID_       0x2109 TRACE_ALLOC         "insertValues coalescing %d. new startOffset=%d\n"
+TRCID_       0x210A TRACE_ALLOC         "insertValues inserting new at %d. max=%d\n"
+TRCID_       0x210B TRACE_ALLOC         "insertValues appending new at %d. max=%d\n"
+TRCID_       0x210C TRACE_ALLOC         "layoutAllocMapsForAddedDisks entered"
+TRCID_       0x210D TRACE_ALLOC         "layout disk[%d] poolId %d nRegs %d chunk %d blocks %lld"
+TRCID_       0x210E TRACE_ALLOC         "layout pool[%d] poolId %d status %s"
+TRCID_       0x210F TRACE_ALLOC         "layoutAllocMapsForAddedDisks failed. poolId %d regionAllocMapLen(%d) > chunkSize-AllocSegmentHeader(%d) for disk %s"
+TRCID_       0x2110 TRACE_ALLOC         "layout poolId %d nRegs %d nSegs %d nBytes %d"
+TRCID_       0x2111 TRACE_ALLOC         "layoutAllocMapsForAddedDisks sorting poolId %d complete"
+TRCID_       0x2112 TRACE_ALLOC         "layoutAllocMapsForAddedDisks needs map for disk=%d. subblocks=%lld. totalBlocks=%lld. blocksPerRegion=%d. regionAllocMapLen=%d"
+TRCID_       0x2113 TRACE_ALLOC         "layout disk %d: vacancy segNo %d off %d bits %d bytes %d"
+TRCID_       0x2114 TRACE_ALLOC         "layout disk %d: new segNo %d off %d bits %d bytes %d"
+TRCID_       0x2115 TRACE_ALLOC         "layoutAllocMapsForAddedDisks found for disk=%d poolId %d allocSegNum=%d. allocSegOffset=%d"
+TRCID_       0x2116 TRACE_ALLOC         "layoutAllocMapsForAddedDisks done nPools %d poolId %d nSeg %d err %d"
+TRCID_       0x2117 TRACE_FS            "closeInst: oiP 0x%lX openFlags 0x%X\n"
+TRCID_       0x2119 TRACE_FS            "closeInst: copyInodeToPrevSnapshot error %d (inodeNum %d)\n"
+TRCID_       0x211A TRACE_FS            "closeInst: getFileLock error %d (inodeNum %d)\n"
+TRCID_       0x211B TRACE_FS            "closeInst: openInstCount %d dioCount %d\n"
+TRCID_       0x211C TRACE_FS            "SFSClose: oiP 0x%lX openFlags 0x%X\n"
+TRCID_       0x211D TRACE_FS            "SFSClose exit: err %d\n"
+TRCID_       0x211E TRACE_DEFRAG        "ShrinkBeforeDefrag: oiP 0x%lX openFlags 0x%X\n"
+TRCID_       0x211F TRACE_DEFRAG        "ShrinkBeforeDefrag: after shrinkLastBuffer\n"
+TRCID_       0x2120 TRACE_DEFRAG        "ShrinkBeforeDefrag: getFileLock error %d (inodeNum %d)\n"
+TRCID_       0x2121 TRACE_IALLOC        "RecoverInodeAllocSegment: found a bad disk addr in the log file"
+TRCID_       0x2122 TRACE_IALLOC        "RecoverInodeAllocSegment: type %d da %d:%lld lsn 0x%llX version %lld rel inodeNum %d recordNum %d"
+TRCID_       0x2123 TRACE_IALLOC        "RecoverInodeAllocSegment: on-disk version %lld\n"
+TRCID_       0x2124 TRACE_IALLOC        "InodeAllocSegment::read rebuilding ireg %d iseg %d zeroed %d bytes"
+TRCID_       0x2125 TRACE_IALLOC        "flushIAlloc: flushing ireg %d iseg %d"
+TRCID_       0x2126 TRACE_IALLOC        "accessIAlloc: ireg %d iseg %d lock failed, rc %d\n"
+TRCID_       0x2127 TRACE_IALLOC        "accessIAlloc: did not read ireg %d iseg %d"
+TRCID_       0x2128 TRACE_IALLOC        "accessIAlloc: ireg %d iseg %d read failed, rc %d\n"
+TRCID_       0x212A TRACE_IALLOC        "allocInode: ireg %d iseg %d E_WOULDWRAP\n"
+TRCID_       0x212B TRACE_IALLOC        "clearing inodesInTransit bit, relInode %d"
+TRCID_       0x212D TRACE_IALLOC        "InodeAllocSegment::dealloc ireg %d iseg %d E_WOULDWRAP\n"
+TRCID_       0x212F TRACE_IALLOC        "Updating free inodes ireg %d iseg %d from %d to %d"
+TRCID_       0x2130 TRACE_IALLOC        "IAlloc::findToBeDeleted(startInodeNum %d): inode %d bit %d"
+TRCID_       0x2131 TRACE_FS            "StealIAllocSegBufferCallback enter: buffer 0x%lX IAllocSegment 0x%lX"
+TRCID_       0x2132 TRACE_FS            "StealIAllocSegBufferCallback exit: buffer 0x%lX seq 0x%X err %d\n"
+TRCID_       0x2133 TRACE_FS            "recycleIAllocBuffer: stealing ireg %d iseg %d modified %d"
+TRCID_       0x2134 TRACE_IALLOC        "newSGInodeMap sg %s"
+TRCID_       0x2135 TRACE_IALLOC        "newSGInodeMap sg %s returns 0x%lX inodeMapP 0x%lx"
+TRCID_       0x2136 TRACE_IALLOC        "SGInodeMap::flushIAlloc ireg %d iseg %d lock failed, rc %d"
+TRCID_       0x2138 TRACE_IALLOC        "allocInode: could not alloc inode %d ireg %d iseg %d relInode %d from dealloc hist"
+TRCID_       0x2139 TRACE_IALLOC        "allocInode exit: cannot allocate inode, nAllocCalls %d\n"
+TRCID_       0x213A TRACE_IALLOC        "allocInode exit: cannot allocate inode, err %d, nAllocCalls %d\n"
+TRCID_       0x213B TRACE_IALLOC        "allocInode exit: inode %d ireg %d iseg %d relInode %d howAlloc %d nAllocCalls %d"
+TRCID_       0x213C TRACE_IALLOC        "unusedInodePrefetchThreadBody running for '%s'\n"
+TRCID_       0x213D TRACE_IALLOC        "prefetchUnusedInodes: prefetching inode %d ireg %d iseg %d"
+TRCID_       0x213E TRACE_IALLOC        "prefetchUnusedInodes: exiting reason %d, remaining prefetchers %d"
+TRCID_       0x213F TRACE_IALLOC        "deallocInode: inode %d ireg %d iseg %d okIfFree %d isReserved %d"
+TRCID_       0x2140 TRACE_IALLOC        "SGInodeMap::markToBeDeleted inode %d"
+TRCID_       0x2142 TRACE_IALLOC        "SGInodeMap::markToBeDeleted:exit: inode %d err %d"
+TRCID_       0x2143 TRACE_IALLOC        "SGInodeMap::queryInode inode %d #of regions %d, nSegs per region %d, inodes per seg %d"
+TRCID_       0x2144 TRACE_IALLOC        "SGInodeMap::queryInode ERR rel inode %d ireg %d iseg %d"
+TRCID_       0x2145 TRACE_IALLOC        "SGInodeMap::queryInode inode %d ireg %d iseg %d"
+TRCID_       0x2146 TRACE_IALLOC        "SGInodeMap::queryInode:exit: inode %d status %d err %d"
+TRCID_       0x2147 TRACE_IALLOC        "markInodeRangeFree: firstFree %d firstSurplus %d reserved %d to %d"
+TRCID_       0x2148 TRACE_IALLOC        "markInodeRangeFree low: %d to %d"
+TRCID_       0x2149 TRACE_IALLOC        "markInodeRangeFree high: %d to %d"
+TRCID_       0x214A TRACE_IALLOC        "getTotalNumberOfFreeInodes: updating ialloc mgr total free from %d to %d; computed %d\n"
+TRCID_       0x214B TRACE_IALLOC        "allocReservedInode: nReserved %d firstReserved %d nInodes %d max %d"
+TRCID_       0x214C TRACE_IALLOC        "allocReservedInode complete, inode %d err %d"
+TRCID_       0x214D TRACE_IALLOC        "createReservedInodes nAdditional %d nInodes %d max %d surplus %d"
+TRCID_       0x214E TRACE_IALLOC        "createReservedInodes: waiting for inode expansion to complete"
+TRCID_       0x214F TRACE_IALLOC        "createReservedInodes nReserved %d firstReserved %d nInodes %d max %d surplus %d err %d"
+TRCID_       0x2150 TRACE_FS            "StealDataBufferCallback enter: buffer 0x%lX bufDesc 0x%lX (0x%lX) pass %d bufType %s\n" $5=BufferType_id2name
+TRCID_       0x2151 TRACE_FS            "StealDataBufferCallback exit: buffer 0x%lX seq 0x%X err %d\n"
+TRCID_       0x2152 TRACE_FS            "StealBufferDesc enter\n"
+TRCID_       0x2153 TRACE_FS            "StealBufferDesc: wrapped around; new aggressiveness %d\n"
+TRCID_       0x2154 TRACE_FS            "StealBufferDesc: failure to get BufferDesc err %d\n"
+TRCID_       0x2155 TRACE_FS            "StealBuffersForTest inode %d snap %d\n"
+TRCID_       0x2156 TRACE_FS            "BufferDesc::~BufferDesc 0x%lX\n"
+TRCID_       0x2157 TRACE_FS            "Cleaning buffer descriptor 0x%lX cached %d"
+TRCID_       0x2158 TRACE_FS            "recycleBufferDesc is desperate, flushing buffers for file %08lX flushFlagAcquired %d\n"
+TRCID_       0x2159 TRACE_FS            "recycleBufferDesc: stealing block %lld (dataDirty %d)\n"
+TRCID_       0x215A TRACE_FS            "recycleDataBuffer: stealing block %lld dataDirty %d addrDirty %d syncStale %d\n"
+TRCID_       0x215B TRACE_FS            "recycleDataBuffer: skipping mapped block, addrDirty %d syncStale %d\n"
+TRCID_       0x215C TRACE_FS            "getDatabuf: called with reqBytes %d for bufType %s\n" $2=BufferType_id2name
+TRCID_       0x215D TRACE_FS            "getDataBuf: saving old buffer contents at 0x%lX\n"
+TRCID_       0x215E TRACE_FS            "getDataBuf: dataBufP == NULL, setting valid to false\n"
+TRCID_       0x215F TRACE_FS            "getDataBuf: could not steal a buffer\n"
+TRCID_       0x2160 TRACE_FS            "getDataBuf: Flushing old buffer 0x%lX, was %s\n"
+TRCID_       0x2161 TRACE_FS            "getDataBuf: copying oldDataBuf contents, offset %d and length %d\n"
+TRCID_       0x2162 TRACE_FS            "getDataBuf: restoring spareBufP contents, offset %d and length %d\n"
+TRCID_       0x2163 TRACE_FS            "getDataBuf: returning dataBufP 0x%lX (0x%lX) len %d err %d\n"
+TRCID_       0x2164 TRACE_FS            "deallocSurplus: free %d disk blocks\n"
+TRCID_       0x2165 TRACE_FS            "reallocAssigned: inode %d snap %d block %lld bg 0x%lX subblocks %d\n"
+TRCID_       0x2166 TRACE_FS            "reallocAssigned: (not synchStale) free %d disk blocks\n"
+TRCID_       0x2167 TRACE_FS            "reallocAssigned: (synchStale) free %d disk blocks\n"
+TRCID_       0x2168 TRACE_FS            "deallocDataBlock exit: error %d\n"
+TRCID_       0x2169 TRACE_FS            "readBuffer: read block %lld bdesc 0x%lX buffer 0x%lX (0x%lX) readOff %d readLen %d bufOff %d\n"
+TRCID_       0x216A TRACE_FS            "readBuffer: zero data at 0x%lX bufOffset %d zeroLen %d\n"
+TRCID_       0x216B TRACE_FS            "readBuffer: block read offset %ld sectors for %ld sectors\n"
+TRCID_       0x216C TRACE_FS            "readBuffer: full buffer read numSectors %ld\n"
+TRCID_       0x216D TRACE_FS            "readBuffer exit: error %d\n"
+TRCID_       0x216E TRACE_FS            "makeBufferValid enter: inode %d snap %d blk %lld startOffset %d bytesReq %d mbvFlags 0x%X blkOff %d bufOff %d validLen %d initLen %d\n"
+TRCID_       0x216F TRACE_FS            "makeBufferValid dataSizeOnDisk %d eofOffset %d bytesReq %d\n"
+TRCID_       0x2170 TRACE_FS            "makeBufferValid: buffer big enough: bytesReq %d\n"
+TRCID_       0x2171 TRACE_FS            "makeBufferValid: clearing %d bytes, new initLen %d\n"
+TRCID_       0x2172 TRACE_FS            "makeBufferValid: tried to use small buffer, flush failed err %d\n"
+TRCID_       0x2173 TRACE_FS            "makeBufferValid: using small buffer size %d use count %d\n"
+TRCID_       0x2174 TRACE_FS            "makeBufferValid: using large buffer with valid data of size %d len %d\n"
+TRCID_       0x2175 TRACE_FS            "makeBufferValid: using empty large buffer of size %d len %d\n"
+TRCID_       0x2176 TRACE_FS            "makeBufferValid: getting a data buffer of size %d current dataBufP 0x%lX (0x%lX) size %d\n"
+TRCID_       0x2177 TRACE_FS            "makeBufferValid: setting blkOff %d bufOff %d validLen %d dataValid false\n"
+TRCID_       0x2178 TRACE_FS            "makeBufferValid: read block, setting blkOff %d bufOff %d validLen %d\n"
+TRCID_       0x2179 TRACE_FS            "makeBufferValid: read prefix, increasing validLen by %d to %d\n"
+TRCID_       0x217A TRACE_FS            "makeBufferValid: read suffix, increasing validLen by %d to %d\n"
+TRCID_       0x217B TRACE_FS            "makeBufferValid: clearing hole from %d for %d bytes\n"
+TRCID_       0x217C TRACE_FS            "makeBufferValid exit: blkOff %d bufOff %d validLen %d initLen %d err %d\n"
+TRCID_       0x217D TRACE_FS            "prepareToWriteBuffer: clearing %d bytes at %d..%d (sizeOnDisk %d endOfValidDataOffset %d)"
+TRCID_       0x217E TRACE_FS            "shrinkToFit: inode %d isHyper\n"
+TRCID_       0x217F TRACE_FS            "shrinkToFit blkNum %lld lastBlk %lld fileSize %lld EOF %d sub %d bytes %d nSub %d"
+TRCID_       0x2180 TRACE_FS            "shrinkToFit exit: error %d\n"
+TRCID_       0x2181 TRACE_FS            "writeBuffer: write data block %lld bg 0x%lX ioState %d\n"
+TRCID_       0x2182 TRACE_FS            "writeBuffer: partial block write blkOff %d bytes %d sectors, for %d bytes %d sectors\n"
+TRCID_       0x2183 TRACE_FS            "writeBuffer: full block write: dataBufP 0x%lX (0x%lX)\n"
+TRCID_       0x2184 TRACE_MNODE         "writeBuffer: 1 inode %d snap %d synched data block %lld addrDirty %d err %d\n"
+TRCID_       0x2185 TRACE_MNODE         "writeBuffer: FB_NOWRITE inode %d data block %lld\n"
+TRCID_       0x2186 TRACE_MNODE         "writeBuffer: 4 inode %d snap %d data block %lld da %d:%lld addrDirty %d\n"
+TRCID_       0x2187 TRACE_FS            "writeBuffer exit: bg 0x%lX ioState %d error %d\n"
+TRCID_       0x2188 TRACE_FS            "writeForLogWrap: write data block %lld bg 0x%lX ioState %d\n"
+TRCID_       0x2189 TRACE_FS            "writeForLogWrap exit: bg 0x%lX ioState %d error %d\n"
+TRCID_       0x218A TRACE_FS            "copyToBuffer: sourceLen %d bytePos 0x%llX dataBlockOffset %d blkOff %d sourceP 0x%lX\n"
+TRCID_       0x218B TRACE_FS            "copyToBuffer: dataBlockOffset %d\n"
+TRCID_       0x218C TRACE_FS            "getNewDataBlock inode %d snap %d nSubblocks %d\n"
+TRCID_       0x218D TRACE_FS            "getNewDataBlock exit: error %d\n"
+TRCID_       0x218E TRACE_FS            "modifyBuffer enter: pos.offset %d sourceLen %d modbFlags 0x%X blkOff %d bufOff %d validLen %d initLen %d\n"
+TRCID_       0x218F TRACE_FS            "blockNum %lld lastBlk %lld lastSubs %d fragSubs %d subs/Blk %d"
+TRCID_       0x2190 TRACE_FS            "modifyBuffer: buffer big enough\n"
+TRCID_       0x2191 TRACE_FS            "modifyBuffer: tried to use small buffer, flush failed err %d\n"
+TRCID_       0x2192 TRACE_FS            "modifyBuffer: using small buffer size %d blkOff %d use count %d\n"
+TRCID_       0x2193 TRACE_FS            "modifyBuffer: using big buffer size %d dataValid %d\n"
+TRCID_       0x2194 TRACE_FS            "modifyBuffer: no valid disk addr yet\n"
+TRCID_       0x2195 TRACE_FS            "modifyBuffer: using small buf, blkOff %d pos.Offset %d validLen %d endoffset %d\n"
+TRCID_       0x2196 TRACE_FS            "modifyBuffer: reading whole buffer blkOff %d pos.Offset %d validLen %d endoffset %d\n"
+TRCID_       0x2197 TRACE_FS            "modifyBuffer: reading edges bufOff %d pos.Offset %d validLen %d endoffset %d\n"
+TRCID_       0x2198 TRACE_FS            "modifyBuffer: reading hole end - old begin at offset %d for %d bytes\n"
+TRCID_       0x2199 TRACE_FS            "modifyBuffer: reading hole old end - begin at offset %d for %d bytes, new validLen %d\n"
+TRCID_       0x219A TRACE_FS            "modifyBuffer: reading before valid data for %d bytes, new validLen %d\n"
+TRCID_       0x219B TRACE_FS            "modifyBuffer: reading after valid data offset %d for %d bytes\n"
+TRCID_       0x219C TRACE_FS            "modifyBuffer: reading before valid data for %d bytes, new validLen %d\n"
+TRCID_       0x219D TRACE_FS            "modifyBuffer: reading after valid data offset %d for %d bytes\n"
+TRCID_       0x219E TRACE_FS            "modifyBuffer: blkOff %d bufOff %d validLen %d\n"
+TRCID_       0x219F TRACE_FS            "modifyBuffer: blkOff %d bufOff %d validLen %d setFragment to assigned.getNSubblocks %d oldNSubblocks %d\n"
+TRCID_       0x21A0 TRACE_FS            "modifyBuffer exit: blkOff %d bufOff %d validLen %d initLen %d err %d\n"
+TRCID_       0x21A1 TRACE_FS            "blockNum %lld lastBlk %lld lastSubs %d fragSubs %d subs/Blk %d"
+TRCID_       0x21A2 TRACE_FS            "flushBuffer: inode %d snap %d block %lld dataDirty %d addrDirty %d synchedStale %d flags 0x%X\n"
+TRCID_       0x21A3 TRACE_FS            "flushBuffer exit: error %d\n"
+TRCID_       0x21A4 TRACE_MNODE         "commitAssigned: inode %d snap %d synched data block %lld addrDirty %d synchedStale %d synched DA 0x%X assigned DA 0x%X\n"
+TRCID_       0x21A5 TRACE_FS            "commitAssigned: inode %d snap %d data block %lld lastBlockSubblocks %d err %d\n"
+TRCID_       0x21A6 TRACE_FS            "repairBuffer: file inode %d snap %d: repairing data block %lld\n"
+TRCID_       0x21A7 TRACE_FS            "repairBuffer: unable to read block #%lld at %d:%lld of inode %d snap %d\n"
+TRCID_       0x21A8 TRACE_DS            "deleteAllDSBlocksM: bdP 0x%lX dspbsP 0x%lX (0x%lX) nEntries %d\n"
+TRCID_       0x21A9 TRACE_FS            "removeFromDoneOrWritebehind: bdP 0x%lX whichBufList %s\n" $2=whichBufListEnum_id2name
+TRCID_       0x21AA TRACE_FS            "removeFromDoneOrWritebehind exit: bdP 0x%lX whichBufList %s\n" $2=whichBufListEnum_id2name
+TRCID_       0x21AB TRACE_FS            "moveToDone: bdP 0x%lX whichBufList %s\n" $2=whichBufListEnum_id2name
+TRCID_       0x21AC TRACE_FS            "moveToWritebehind: bdP 0x%lX whichBufList %s\n" $2=whichBufListEnum_id2name
+TRCID_       0x21AD TRACE_FS            "breakInstanceOwnershipM: bdP 0x%lX oiP 0x%lX prefetched %d wb %d\n"
+TRCID_       0x21AE TRACE_DS            "lookupAndAddDSBlockM: created table at 0x%lX (0x%lX) newBlockNum %lld for bdP 0x%lX\n"
+TRCID_       0x21AF TRACE_DS            "lookupAndAddDSBlockM: found block %lld index %d for bdP 0x%lX\n"
+TRCID_       0x21B0 TRACE_FS            "lookupAndAddDSBlockM: adding block %lld index %d for bdP 0x%lX\n"
+TRCID_       0x21B1 TRACE_FS            "lookupAndAddDSBlockM: replacing block %lld with block %lld index %d for bdP 0x%lX\n"
+TRCID_       0x21B2 TRACE_KSVFS         "becomesDirty enter: bdP 0x%lX\n"
+TRCID_       0x21B3 TRACE_KSVFS         "becomesDirty: bdP 0x%lX (0x%lX) error dirtyListHeadP=0x%lX (0x%lX) and dirtyListTailP=0x%lX (0x%lX)\n"
+TRCID_       0x21B4 TRACE_KSVFS         "becomesDirty exit: bdP 0x%lX dirtyListLen %d %d\n"
+TRCID_       0x21B5 TRACE_KSVFS         "becomesClean enter: bdP 0x%lX\n"
+TRCID_       0x21B6 TRACE_KSVFS         "becomesClean: bdP 0x%lX err %d\n"
+TRCID_       0x21B7 TRACE_KSVFS         "becomesClean exit: bdP 0x%lX dirtyListLen %d %d\n"
+TRCID_       0x21B8 TRACE_FS            "SFSCreateInode: sg %s inodeNum %d genNum 0x%X fileset %d status %s mode 0x%X flags 0x%x creat %d trunc %d isRestore %d\n" $5=inodestatus_id2name
+TRCID_       0x21B9 TRACE_FS            "SFSCreateInode: inodeNum %d is alloc sum file"
+TRCID_       0x21BA TRACE_FS            "SFSCreateInode: inodeNum %d is an alloc map"
+TRCID_       0x21BB TRACE_FS            "SFSCreateInode: inodeNum %d is the policy file"
+TRCID_       0x21BC TRACE_FS            "SFSCreateInode: inodeNum %d is the fileset metadata file"
+TRCID_       0x21BD TRACE_FS            "SFSCreateInode: reuse sg %s inode %d size %lld new size %lld uid %d gid %d\n"
+TRCID_       0x21BE TRACE_FS            "SFSCreateInode: sanTruncFile, %lld, allocSize %lld, err %d\n"
+TRCID_       0x21BF TRACE_SANERGY       "SFSCreateInode ofP 0x%X, inode %d, sanResetHyperAllocBit\n"
+TRCID_       0x21C0 TRACE_FS            "SFSCreateInode exit: inodeNum %d genNum %d err %d code %d\n"
+TRCID_       0x21C1 TRACE_FS            "SFSCreateDir: dirInodeNum %d inodeNum %d genNum %d fileset %d name %s\n"
+TRCID_       0x21C2 TRACE_FS            "SFSCreateDir exit: inodeNum %d genNum %d err %d\n"
+TRCID_       0x21C3 TRACE_FS            "SFSCreate: devId %llX, dirInodeNum %d fileset %d openFlags 0x%X mode 0x%X umask 0x%X dev 0x%X\n"
+TRCID_       0x21C4 TRACE_FS            "SFSCreate: treeBasedQuotas %d, credP gid %d, newgid %d\n"
+TRCID_       0x21C5 TRACE_FS            "SFSCreate success: inodeNum %d genNum %d oiP 0x%lX\n"
+TRCID_       0x21C6 TRACE_FS            "SFSCreate deallocates allocated inode %d, because err=%d\n"
+TRCID_       0x21C7 TRACE_FS            "SFSCreate exit: inodeNum %d oiP 0x%lX err %d\n"
+TRCID_       0x21C8 TRACE_FS            "SFSCreateMetaFile enter: devId %llX, diskIndex %d\n"
+TRCID_       0x21C9 TRACE_FS            "SFSCreateMetaFile: allocated inode %d\n"
+TRCID_       0x21CA TRACE_FS            "SFSCreateMetaFile exit: err %d inodeNum %d oiP 0x%lX\n"
+TRCID_       0x21CB TRACE_QUOTA         "SFSCreateMetaFile dealloc inode %d due to err %d\n"
+TRCID_       0x21CC TRACE_FS            "SFSCreateMetaFile exit: inodeNum %d oiP 0x%lX err %d\n"
+TRCID_       0x21CD TRACE_TS            "move_meta_inode: mType %d  oldInodeNum %d newInodeNum %d err %d"
+TRCID_       0x21CE TRACE_TS            "start_end_restore: req%s%s%s%s (0x%X) sg %s %s %s %s (0x%X)\n"
+TRCID_       0x21CF TRACE_TS            "start_end_restore: req vers %d snap %lld stripe %x:%x time %lld\n"
+TRCID_       0x21D0 TRACE_TS            "start_end_restore: localSG %x:%x vers %d snap %lld stripe %x:%x time %lld\n"
+TRCID_       0x21D1 TRACE_TS            "start_end_restore: flags %s %s %s snap %lld stripe %x:%x err %d\n"
+TRCID_       0x21D2 TRACE_ALLOCMGR      "start AllocManager called for sg %s amP 0x%lX\n"
+TRCID_       0x21D3 TRACE_ALLOCMGR      "start AllocManager for sg %s complete amP 0x%lX err %d\n"
+TRCID_       0x21D4 TRACE_ALLOCMGR      "stop AllocManager called for sg %s amP 0x%lX\n"
+TRCID_       0x21D5 TRACE_ALLOCMGR      "stop AllocManager for sg %s complete amP 0x%lX err %d\n"
+TRCID_       0x21D6 TRACE_ALLOCMGR      "recoverAllocManager: sg %s thread started"
+TRCID_       0x21D7 TRACE_ALLOCMGR      "recoverAllocManager: sg %s thread complete, err %d"
+TRCID_       0x21D8 TRACE_ALLOCMGR      "StripeGroup::recoverAllocManager: sg %s okToRead %d"
+TRCID_       0x21DA TRACE_ALLOCMGR      "recoverAllocManager: sg %s thread complete, err %d"
+TRCID_       0x21DB TRACE_ALLOCMGR      "accessAllocManager amP 0x%lx useCount %d err %d"
+TRCID_       0x21DC TRACE_ALLOCMGR      "releaseAllocManager amP 0x%lx useCount %d shutdown %d"
+TRCID_       0x21DD TRACE_ALLOCMGR      "accessPoolById poolId %d index %d poolP 0x%lX useCount %d"
+TRCID_       0x21DE TRACE_ALLOCMGR      "accessPoolByIndex poolId %d index %d poolP 0x%lX useCount %d err %d"
+TRCID_       0x21DF TRACE_ALLOCMGR      "releasePool poolId %d poolP 0x%lX useCount %d beingDeleted %d"
+TRCID_       0x21E0 TRACE_ALLOCMGR      "releasePool deleting poolId %d poolP 0x%lX"
+TRCID_       0x21E1 TRACE_ALLOCMGR      "AllocManager::AllocManager sgP %s nMounts %d"
+TRCID_       0x21E2 TRACE_ALLOCMGR      "AllocManager::AllocManager exit sgP %s err %d\n"
+TRCID_       0x21E3 TRACE_ALLOCMGR      "AllocManager::~AllocManager called for sg %s amP 0x%lX inUse %d"
+TRCID_       0x21E4 TRACE_ALLOCMGR      "AllocManagerPool::AllocManagerPool poolId %d"
+TRCID_       0x21E5 TRACE_ALLOCMGR      "AllocManagerPool poolId %d complete, nRegions %d err %d"
+TRCID_       0x21E6 TRACE_ALLOCMGR      "AllocManagerPool poolId %d refreshSGCache version %d"
+TRCID_       0x21E7 TRACE_ALLOCMGR      "AllocManagerPool poolId %d refreshSGCache version %d err %d"
+TRCID_       0x21E8 TRACE_ALLOCMGR      "~AllocManagerPool called for poolId %d"
+TRCID_       0x21E9 TRACE_ALLOCMGR      "getAllocMStatus sg %s state %d nRegs %d %d %d nClients %d %d"
+TRCID_       0x21EA TRACE_ALLOCMGR      "getAllocMStatus FGS %s %s freeInode %lld data %lld meta %lld"
+TRCID_       0x21EB TRACE_ALLOCMGR      "getAllocMStatus sg %s poolId %d nRegs %d %d %d nClients %d %d"
+TRCID_       0x21EC TRACE_ALLOCMGR      "getAllocMStatus FGS %s %s freeInode %lld data %lld meta %lld"
+TRCID_       0x21ED TRACE_ALLOCMGR      "AllocManager::recover sg %s state %s period %d\n"
+TRCID_       0x21EF TRACE_ALLOCMGR      "AllocManager::recover sg %s complete state %s period %d, err %d\n"
+TRCID_       0x21F0 TRACE_ALLOCMGR      "AllocManager::startRecovery node %s state %s period %d\n" $1=nodeaddr_id2name
+TRCID_       0x21F1 TRACE_ALLOCMGR      "AllocManager::startRecovery %s waiting for recovery to complete" $1=nodeaddr_id2name
+TRCID_       0x21F2 TRACE_ALLOCMGR      "AllocManager::startRecovery done state %s at %d config %d (%d) err %d"
+TRCID_       0x21F3 TRACE_ALLOCMGR      "AllocManager::recoverRegions sg %s poolId %d node %s free %d state %d" $3=nodeaddr_id2name
+TRCID_       0x21F4 TRACE_ALLOCMGR      "AllocManager::recoverRegions from dest %s dataP 0x%lx len %d stat %s err %d\n" $1=nodeaddr_id2name $4=tscStatus_id2name
+TRCID_       0x21F5 TRACE_ALLOCMGR      "recoverRegions failed dest %s err %d\n" $1=nodeaddr_id2name
+TRCID_       0x21F6 TRACE_ALLOCMGR      "recoverRegions dest %s hard err %d\n" $1=nodeaddr_id2name
+TRCID_       0x21F7 TRACE_ALLOCMGR      "recoverRegions recoveryState %s err %d"
+TRCID_       0x21F8 TRACE_ALLOCMGR      "AllocManager::recoverRegions[%d] FREE replyDataP 0x%lx len %d\n"
+TRCID_       0x21F9 TRACE_ALLOCMGR      "AllocManager::recoverRegions complete %s period %d err %d"
+TRCID_       0x21FA TRACE_ALLOCMGR      "AllocManager::doRegionControl wait %d period %d\n"
+TRCID_       0x21FB TRACE_ALLOCMGR      "nNodes %d active %d allocating %d shipping %d unavail %d recover %d"
+TRCID_       0x21FC TRACE_ALLOCMGR      "AllocManager::doRegionControl complete"
+TRCID_       0x21FD TRACE_ALLOCMGR      "doRegionControl poolId %d nClients %d nActive %d"
+TRCID_       0x21FE TRACE_ALLOCMGR      "nRegions %d avail %d unavail %d full %d assign %d w/free %d"
+TRCID_       0x21FF TRACE_ALLOCMGR      "AllocManager::doRegionControl complete err %d"
+TRCID_       0x2200 TRACE_ALLOCMGR      "nRegions %d avail %d unavail %d full %d assign %d w/free %d"
+TRCID_       0x2201 TRACE_ALLOCMGR      "sendReduceRegions poolId %d nMount %d"
+TRCID_       0x2202 TRACE_ALLOCMGR      "AllocManager::reduceRegions[%d] dataP 0x%lx len %d stat %s err %d" $4=tscStatus_id2name
+TRCID_       0x2203 TRACE_ALLOCMGR      "reduceRegions dest %s status %s err %d\n" $1=nodeaddr_id2name $2=tscStatus_id2name
+TRCID_       0x2204 TRACE_ALLOCMGR      "AllocManager::reduceRegions[%d] FREE replyDataP 0x%lx len %d\n"
+TRCID_       0x2205 TRACE_ALLOCMGR      "sendReduceRegions poolId %d complete, err %d"
+TRCID_       0x2206 TRACE_ALLOCMGR      "determineList: regNo %d is on %s"
+TRCID_       0x2207 TRACE_ALLOCMGR      "Update regNo %d status %s->%s free %lld->%lld meta %lld->%lld\n"
+TRCID_       0x2208 TRACE_ALLOCMGR      "Update regNo %d dataFGAvail %s->%s meta %s->%s cursor %s->%s\n"
+TRCID_       0x2209 TRACE_ALLOCMGR      "Update regNo %d statusOnly %s->%s free %lld %lld fgs %s %s ca %s"
+TRCID_       0x220A TRACE_ALLOCMGR      "Update regNo %d  owner %s->%s active %d->%d" $2=nodeaddr_id2name $3=nodeaddr_id2name
+TRCID_       0x220B TRACE_ALLOCMGR      "Update total freeDataSpace %lld->%lld freeMetaSpace %lld->%lld\n"
+TRCID_       0x220C TRACE_ALLOCMGR      "RequestRegion: from %s cursorId 0x%X ship %s at %s\n" $1=nodeaddr_id2name $3=nodeaddr_id2name
+TRCID_       0x220D TRACE_ALLOCMGR      "RequestRegion: type %s size %s fgAvail %s disk %d poolId %d max %d"
+TRCID_       0x220E TRACE_ALLOCMGR      "region notFound cursorId 0x%X nNodes %d alloc %d ship %d unavail %d rec %d"
+TRCID_       0x220F TRACE_ALLOCMGR      "RequestRegion closing cursorId 0x%X for node %s" $2=nodeaddr_id2name
+TRCID_       0x2210 TRACE_ALLOCMGR      "RequestRegion n %d regNo %d cursorId 0x%X target %s at %s, err %d" $4=nodeaddr_id2name
+TRCID_       0x2211 TRACE_ALLOCMGR      "requestRegion poolId %d nRegs %d avail %d unavail %d full %d assign %d w/free %d"
+TRCID_       0x2212 TRACE_ALLOCMGR      "searching for status %s data %d FGs %s"
+TRCID_       0x2213 TRACE_ALLOCMGR      "checking %d of %d: fgMask %s cursorId 0x%X recoveryList: count %d\n"
+TRCID_       0x2214 TRACE_ALLOCMGR      "checking dataList[%d]: count %d\n"
+TRCID_       0x2215 TRACE_ALLOCMGR      "checking metaList[%d]: count %d\n"
+TRCID_       0x2216 TRACE_ALLOCMGR      "checking dataList2[%d]: count %d\n"
+TRCID_       0x2217 TRACE_ALLOCMGR      "checking unbalList[%d]: count %d\n"
+TRCID_       0x2218 TRACE_ALLOCMGR      "no free regions found: active %d full %d failed %d broken %d"
+TRCID_       0x2219 TRACE_ALLOCMGR      "RequestRegion n %d regNo %d err %d"
+TRCID_       0x221A TRACE_ALLOCMGR      "Owner %s of regNo %d poolId %d has failed" $1=nodeaddr_id2name
+TRCID_       0x221B TRACE_ALLOCMGR      "Waiting for regNo %d poolId %d owner %s recovery" $3=nodeaddr_id2name
+TRCID_       0x221C TRACE_ALLOCMGR      "Node %s failed." $1=nodeaddr_id2name
+TRCID_       0x221D TRACE_ALLOCMGR      "requestOwnership: regNo %d poolId %d from %s at %s callerWillWait %d" $3=nodeaddr_id2name
+TRCID_       0x221E TRACE_ALLOCMGR      "RequestOwnership: from %s complete at %s,  err %d\n" $1=nodeaddr_id2name
+TRCID_       0x221F TRACE_ALLOCMGR      "RevokeOwnership: regNo %d poolId %d from %s reqPend %d\n" $3=nodeaddr_id2name
+TRCID_       0x2220 TRACE_ALLOCMGR      "AllocManager::revokeOwnership dataP 0x%lx len %d stat %s err %d\n" $3=tscStatus_id2name
+TRCID_       0x2221 TRACE_ALLOCMGR      "AllocManager::revokeOwnership sg %s regNo %d poolId %d owner %s err %d is fatal" $4=nodeaddr_id2name
+TRCID_       0x2222 TRACE_ALLOCMGR      "RevokeOwnership: regNo %d complete, err %d\n"
+TRCID_       0x2223 TRACE_ALLOCMGR      "UpdateRegion: type %d poolId %d nRegs %d nDisks %d from %s at %s dataP 0x%lX len %d" $5=nodeaddr_id2name
+TRCID_       0x2224 TRACE_ALLOCMGR      "UpdateRegion[%d]: dataP 0x%lX len %d"
+TRCID_       0x2225 TRACE_ALLOCMGR      "UpdateRegion: from %s complete at %s, err %d" $1=nodeaddr_id2name
+TRCID_       0x2226 TRACE_ALLOCMGR      "UpdateRegion[%d] regNo %d poolId %d owner %s" $4=nodeaddr_id2name
+TRCID_       0x2227 TRACE_ALLOCMGR      "UpdateRegion[%d] regNo %d poolId %d free %lld %lld stat %s fg %s %s"
+TRCID_       0x2228 TRACE_ALLOCMGR      "UpdateRegion[%d] regNo %d poolId %d caller not owner %s err %d" $4=nodeaddr_id2name
+TRCID_       0x2229 TRACE_ALLOCMGR      "UpdateRegion regNo %d poolId %d being revoked %d from %s" $4=nodeaddr_id2name
+TRCID_       0x222A TRACE_ALLOCMGR      "updateRegion: from %s regNo %d poolId %d complete, err %d" $1=nodeaddr_id2name
+TRCID_       0x222B TRACE_ALLOCMGR      "queryRegions fromNode %s at %s poolId %d nRegs %d" $1=nodeaddr_id2name
+TRCID_       0x222C TRACE_ALLOCMGR      "queryRegions complete at %s, err %d\n"
+TRCID_       0x222D TRACE_ALLOCMGR      "query regNo %d owner %s -> %s revokePending %d\n" $2=nodeaddr_id2name $3=nodeaddr_id2name
+TRCID_       0x222E TRACE_ALLOCMGR      "query regNo %d freeData %lld Meta %lld fgAvail %s %s"
+TRCID_       0x222F TRACE_ALLOCMGR      "queryRegions complete, poolId %d nRegsAssigned %d err %d"
+TRCID_       0x2230 TRACE_ALLOCMGR      "AllocManager::configChange() sg %s state %s period %d config %d (%d)"
+TRCID_       0x2231 TRACE_ALLOCMGR      "AllocManager::sync() sg %s state %s at %d current period %d\n"
+TRCID_       0x2232 TRACE_ALLOCMGR      "AllocManager::sync() sg %s finished recovery\n"
+TRCID_       0x2233 TRACE_ALLOCMGR      "AllocManager::sync() recovery state %s at %d current %d\n"
+TRCID_       0x2234 TRACE_ALLOCMGR      "AllocManager::sync freeData %lld freeMeta %lld freeInodes %lld"
+TRCID_       0x2235 TRACE_ALLOCMGR      "AllocManager::sync stalled freeInfo nWorkingNodes %d"
+TRCID_       0x2236 TRACE_ALLOCMGR      "AllocManager::shutdown() sg %s state %s inUse %d freeInfoRunning %d"
+TRCID_       0x2237 TRACE_ALLOCMGR      "AllocManager::shutdown() complete"
+TRCID_       0x2238 TRACE_ALLOCMGR      "AllocManager::recoveredNodes sg %s nNodes %d"
+TRCID_       0x2239 TRACE_ALLOCMGR      "AllocManager::recoveredNodes complete, err %d"
+TRCID_       0x223A TRACE_ALLOCMGR      "AllocManager::doRecoveredNodes sg %s [%d of %d] node %s\n" $4=nodeaddr_id2name
+TRCID_       0x223B TRACE_ALLOCMGR      "AllocManager::doRecoveredNodes complete, nRegionsRecovered %d"
+TRCID_       0x223C TRACE_ALLOCMGR      "AllocManager::doRecovered regNo %d poolId %d status was %s\n"
+TRCID_       0x223D TRACE_ALLOCMGR      "AllocManagerPool::doRecoveredNodes poolId %d, nRegionsRecovered %d"
+TRCID_       0x223E TRACE_ALLOCMGR      "updateNode %s status %d act %d nAssign %d abs %d nFree %d" $1=nodeaddr_id2name
+TRCID_       0x223F TRACE_ALLOCMGR      "  nNodes %d allocating %d allocShipping %d unavail %d recover %d"
+TRCID_       0x2240 TRACE_ALLOCMGR      "status %s->%s nRegs %d->%d nFree %d->%d act %d->%d time %s->%s"
+TRCID_       0x2241 TRACE_ALLOCMGR      "updateNode %s complete, err %d" $1=nodeaddr_id2name
+TRCID_       0x2242 TRACE_ALLOCMGR      "  nNodes %d allocating %d allocShipping %d unavail %d recover %d"
+TRCID_       0x2243 TRACE_ALLOCMGR      "AllocManager::getAllocShipTarget for %s cursorId 0x%X target was %s" $1=nodeaddr_id2name $3=nodeaddr_id2name
+TRCID_       0x2244 TRACE_ALLOCMGR      "nNodes %d allocating %d allocShipping %d unavail %d recover %d"
+TRCID_       0x2245 TRACE_ALLOCMGR      "AllocManager::getAllocShipTarget for %s target %s err %d\n" $1=nodeaddr_id2name $2=nodeaddr_id2name
+TRCID_       0x2246 TRACE_ALLOCMGR      "RequestFreeInfo: from %s at %s poolId %d okToUseCache %d isValid %d isStale %d" $1=nodeaddr_id2name
+TRCID_       0x2247 TRACE_ALLOCMGR      "RequestFreeInfo: running at %d req %d lastComp %d estComp %d estWait %d sync %d"
+TRCID_       0x2248 TRACE_ALLOCMGR      "RequestFreeInfo: wait for prior request, reqTime %d endTime %d retry %d"
+TRCID_       0x2249 TRACE_ALLOCMGR      "RequestFreeInfo: starting 0x%lX pool %d to %d nDisks %d vers %d time %s"
+TRCID_       0x224A TRACE_ALLOCMGR      "RequestFreeInfo done 0x%lX nDisks %d vers %d (%d) errors %d err %d"
+TRCID_       0x224B TRACE_ALLOCMGR      "RequestFreeInfo: configChange at exit 0x%lX nDisks %d vers %d (%d) state %d notRec %d"
+TRCID_       0x224C TRACE_ALLOCMGR      "RequestFreeInfo swap ptrs old 0x%lX cached 0x%lX nDisk %d"
+TRCID_       0x224D TRACE_ALLOCMGR      "RequestFreeInfo send 0x%lX nDisk %d time %d period %d config %d err %d"
+TRCID_       0x224E TRACE_ALLOCMGR      "RequestFreeInfo complete at %s, time %d nDisk %d errCnt %d err %d\n"
+TRCID_       0x224F TRACE_ALLOCMGR      "RequestFreeInfo: poolId %d okToUseCache %d isValid %d isStale %d"
+TRCID_       0x2250 TRACE_ALLOCMGR      "RequestFreeInfo: poolId %d starting 0x%lX nDisks %d vers %d time %s"
+TRCID_       0x2251 TRACE_ALLOCMGR      "RequestFreeInfo: poolId %d configChange 0x%lX nDisks %d vers %d (%d) state %d notRec %d"
+TRCID_       0x2252 TRACE_ALLOCMGR      "RequestFreeInfo poolId %d waiting count %d time %d total %d"
+TRCID_       0x2253 TRACE_ALLOCMGR      "RequestFreeInfo poolId %d done 0x%lX nDisks %d vers %d (%d) errors %d err %d"
+TRCID_       0x2254 TRACE_ALLOCMGR      "RequestFreeInfo: configChange at exit 0x%lX nDisks %d vers %d (%d) state %d notRec %d"
+TRCID_       0x2255 TRACE_ALLOCMGR      "RequestFreeInfo swap ptrs old 0x%lX cached 0x%lX nDisk %d"
+TRCID_       0x2256 TRACE_ALLOCMGR      "RequestFreeInfo poolId %d send 0x%lX nDisk %d time %d period %d config %d err %d"
+TRCID_       0x2257 TRACE_ALLOCMGR      "RequestFreeInfo poolId %d complete nDisk %d errCnt %d err %d\n"
+TRCID_       0x2258 TRACE_ALLOCMGR      "findRegionForFreeInfo for %s poolId %d reqs %d reps %d firstTime %d" $1=nodeaddr_id2name
+TRCID_       0x2259 TRACE_ALLOCMGR      "trying index %d freeIndex %d replyBit %d"
+TRCID_       0x225A TRACE_ALLOCMGR      "skipping regNo %d owner %s status %s" $2=nodeaddr_id2name
+TRCID_       0x225B TRACE_ALLOCMGR      "trying reply index %d prevIndex %d requestBit %d"
+TRCID_       0x225C TRACE_ALLOCMGR      "checking reply regNo %d owner %s status %s working %d" $2=nodeaddr_id2name
+TRCID_       0x225D TRACE_ALLOCMGR      "assigning regNo %d owner %s status %s" $2=nodeaddr_id2name
+TRCID_       0x225E TRACE_ALLOCMGR      "findRegionToRevoke 0x%lX poolId %d reqs %d reps %d"
+TRCID_       0x225F TRACE_ALLOCMGR      "trying reply index %d prevIndex %d requestBit %d"
+TRCID_       0x2260 TRACE_ALLOCMGR      "checking reply regNo %d owner %s status %s working %d" $2=nodeaddr_id2name
+TRCID_       0x2261 TRACE_ALLOCMGR      "findRegionToRevoke complete, reqs %d reps %d revoked %d err %d"
+TRCID_       0x2262 TRACE_ALLOCMGR      "updateFreeInfo 0x%lX regNo %d poolId %d status %s nDisks %d replyBits %d reqBits %d\n"
+TRCID_       0x2263 TRACE_ALLOCMGR      "updateFreeInfo regNo %d owner %s relinquished reset requestBit" $2=nodeaddr_id2name
+TRCID_       0x2264 TRACE_ALLOCMGR      "updateFreeInfo regNo %d disk[%d] full %lld+%lld sub %lld+%lld"
+TRCID_       0x2265 TRACE_ALLOCMGR      "node %s recovering free space, nNodes %d" $1=nodeaddr_id2name
+TRCID_       0x2266 TRACE_ALLOCMGR      "node %s completed free space recovery, nNodes %d" $1=nodeaddr_id2name
+TRCID_       0x2267 TRACE_ALLOCMGR      "node %s complete, nNodes %d, Restarting freeInfo thread" $1=nodeaddr_id2name
+TRCID_       0x2268 TRACE_ALLOCMGR      "openCursor fromNode %s disk %d type %d size %d FGs %s poolId %d nActive %d retry %d" $1=nodeaddr_id2name
+TRCID_       0x2269 TRACE_ALLOCMGR      "openCursor waiting nActive %d"
+TRCID_       0x226A TRACE_ALLOCMGR      "OpenCursor fromNode %s cursorId 0x%X act %d nAct %d err %d" $1=nodeaddr_id2name
+TRCID_       0x226B TRACE_ALLOCMGR      "doCloseCursor cursorId 0x%X val %d access %d node %s act %d acc %d" $4=nodeaddr_id2name
+TRCID_       0x226C TRACE_ALLOCMGR      "doCloseCursor complete, cursorId 0x%X act %d nAct %d"
+TRCID_       0x226D TRACE_ALLOCMGR      "closeCursor fromNode %s at %s cursorId 0x%X access %d nAct %d" $1=nodeaddr_id2name
+TRCID_       0x226E TRACE_ALLOCMGR      "closeCursor fromNode %s complete at %s err %d" $1=nodeaddr_id2name
+TRCID_       0x226F TRACE_ALLOCMGR      "updateNodeCursorAccess was %s regAcc %s -> new %s"
+TRCID_       0x2270 TRACE_ALLOCMGR      "checkRegionCursorAccess regNo %d poolId %d access was %s now %s"
+TRCID_       0x2271 TRACE_ALLOCMGR      "checkNodeCursorAccess node %s cursorAccess now %s" $1=nodeaddr_id2name
+TRCID_       0x2272 TRACE_ALLOCMGR      "updateISegment fromNode %s at %s nSegs %d totFreeInodes %lld" $1=nodeaddr_id2name
+TRCID_       0x2273 TRACE_ALLOCMGR      "updateISegment: from %s complete at %s, totFreeInodes %lld err %d" $1=nodeaddr_id2name
+TRCID_       0x2274 TRACE_ALLOCMGR      "Waiting for regNo %d poolId %d pending revoke"
+TRCID_       0x2275 TRACE_ALLOCMGR      "updateFreeSpace poolId %d %lld %lld total %lld %lld diff %lld %lld"
+TRCID_       0x2276 TRACE_ALLOCMGR      "Destroy AllocSumFile for poolId %d inodeNum %d"
+TRCID_       0x2277 TRACE_ALLOCMGR      "Destroy AllocSumFile for poolId %d inodeNum %d complete, err %d"
+TRCID_       0x2278 TRACE_ALLOCMGR      "Waiting to access AllocSumFile for poolId %d"
+TRCID_       0x2279 TRACE_ALLOCMGR      "Resuming access to AllocSumFile for poolId %d err %d"
+TRCID_       0x227A TRACE_ALLOCMGR      "writeSumFileBlock regNo %d status %s freeData %lld meta %lld"
+TRCID_       0x227B TRACE_ALLOCMGR      "writeSumFileBlock regNo %d to %d nRegs %d freeData %lld meta %lld nRegs %d dirty %d"
+TRCID_       0x227C TRACE_ALLOCMGR      "allocManagerHandleMsg sg %s addr 0x%lX length %d type %d from %s\n" $5=nodeaddr_id2name
+TRCID_       0x227D TRACE_ALLOCMGR      "genMsgDataP 0x%lX genMsgLen %d replyFreeP 0x%lX replyFreeLen %d\n"
+TRCID_       0x227E TRACE_ALLOCMGR      "msg len %d hdrP 0x%lX type %d length %d time %s\n"
+TRCID_       0x227F TRACE_ALLOCMGR      "genMsgDataP 0x%lX len %d replyFreeP 0x%lX len %d msgLen %d (0x%X)\n"
+TRCID_       0x2280 TRACE_ALLOCMGR      "msg len %d hdrP 0x%lX type %d length %d time %s\n"
+TRCID_       0x2281 TRACE_ALLOCMGR      "allocManagerHandleMsg sending replyDataP 0x%lX len %d\n"
+TRCID_       0x2282 TRACE_ALLOCMGR      "allocManagerHandleMsg complete, err %d step %d"
+TRCID_       0x2283 TRACE_ALLOC         "unbal: 0x%lX free %lld total %lld nItems %d value %d\n"
+TRCID_       0x2284 TRACE_ALLOC         "unbalItems: %d %d %d %d %d %d %d %d\n"
+TRCID_       0x2285 TRACE_ALLOC         "%s 0x%lX: regNo %d max %lld data %lld meta %lld nDisks %d\n"
+TRCID_       0x2286 TRACE_ALLOC         "%s 0x%lX: max %lld data %lld meta %lld nDisks %d\n"
+TRCID_       0x2287 TRACE_ALLOC         "freeSubblks: data %lld %lld meta %lld %lld %d\n"
+TRCID_       0x2288 TRACE_ALLOC         "freeDiskFB[%d]: %lld %lld %lld %lld %lld %lld %lld %lld"
+TRCID_       0x2289 TRACE_ALLOC         "freeDiskSB[%d]: %lld %lld %lld %lld %lld %lld %lld %lld"
+TRCID_       0x228A TRACE_ALLOC         "dataCount[%d]: %d %d %d %d %d %d %d %d"
+TRCID_       0x228B TRACE_ALLOC         "metaCount[%d]: %d %d %d %d %d %d %d %d"
+TRCID_       0x228C TRACE_ALLOC         "nFGs %d dataFGAvail %d mask %s  metaFGAvail %d mask %s"
+TRCID_       0x228D TRACE_ALLOC         "new AllocRegion 0x%lX\n"
+TRCID_       0x228E TRACE_ALLOC         "AllocRegion::reset 0x%lX\n"
+TRCID_       0x228F TRACE_ALLOC         "finishDeleteRegion regNo %d Del %d Rel %d Query %d Flu %d inUse %d"
+TRCID_       0x2290 TRACE_ALLOC         "regNo %d onOwned %d remote %d alloc %d dealloc %d changed %d"
+TRCID_       0x2291 TRACE_ALLOC         "Deleting regNo %d owner %s will cause the loss of %d subblocks\n" $2=nodeaddr_id2name
+TRCID_       0x2292 TRACE_ALLOC         "deleteRegion regNo %d unable to delete alloc segments, err %d\n"
+TRCID_       0x2293 TRACE_ALLOC         "deleteRegion 0x%lX regNo %d beingDel %d Rel %d rem %d used %d\n"
+TRCID_       0x2294 TRACE_ALLOC         "prepareToDeleteRegion regNo %d err %d wait %d acq %lld %lld"
+TRCID_       0x2295 TRACE_ALLOC         "regNo %d valid %d del %d rel %d rev %d query %d use %d broken %d\n"
+TRCID_       0x2296 TRACE_ALLOC         "regNo %d onOwned %d Remote %d Alloc %d Dealloc %d Change %d retry %d"
+TRCID_       0x2297 TRACE_ALLOC         "regNo %d waiting for delete %d inUse %d\n"
+TRCID_       0x2298 TRACE_ALLOC         "prepareToDeleteRegion regNo %d waiting for inUse %d\n"
+TRCID_       0x2299 TRACE_ALLOC         "regNo %d wait %d for prior acquires %lld comp %lld start %lld\n"
+TRCID_       0x229A TRACE_ALLOC         "regNo %d restarting delete early, inUse %d deallocQ %d panic %d\n"
+TRCID_       0x229B TRACE_ALLOC         "regNo %d restarting delete, isOnAlloc %d inUse %d panic %d"
+TRCID_       0x229C TRACE_ALLOC         "regNo %d restarting delete, inUse %d deallocQ %d panic %d\n"
+TRCID_       0x229D TRACE_ALLOC         "prepareToDeleteRegion regNo %d at exit, regP 0x%lX err %d"
+TRCID_       0x229E TRACE_ALLOC         "prepareToDeleteRegion regNo %d complete, err %d\n"
+TRCID_       0x229F TRACE_ALLOC         "lockRegion regNo %d poolId %d sg %s flags 0x%X for %s (0x%X)\n"
+TRCID_       0x22A0 TRACE_ALLOC         "lockRegion regNo %d waiting for delete %d relinq %d inUse %d\n"
+TRCID_       0x22A1 TRACE_ALLOC         "lockRegion regNo %d returns 0x%lX err %d\n"
+TRCID_       0x22A2 TRACE_ALLOC         "initRegion regNo %d poolId %d for %s status %s data %lld meta %lld at %s"
+TRCID_       0x22A3 TRACE_ALLOC         "initRegion regNo %d newOwner %s\n" $2=nodeaddr_id2name
+TRCID_       0x22A4 TRACE_ALLOC         "initRegion regNo %d old owner %s O %d R %d D %d U %d" $2=nodeaddr_id2name
+TRCID_       0x22A5 TRACE_ALLOC         "initRegion regNo %d returns 0x%lX inUse %d err %d\n"
+TRCID_       0x22A6 TRACE_ALLOC         "unlockAndDeleteRegion regNo %d err %d accessMask 0x%X used %d deleted %d\n"
+TRCID_       0x22A7 TRACE_ALLOC         "unlockAndDeleteRegion regNo %d %s, err %d\n"
+TRCID_       0x22A8 TRACE_ALLOC         "makeDataValid regNo %d ver %d %d nSegs %d nValid %d perDisk %d recStatus %d"
+TRCID_       0x22A9 TRACE_ALLOC         "makeDataValid regNo %d waiting recStat %d retry %d"
+TRCID_       0x22AA TRACE_ALLOC         "makeValid regNo %d valid %d data %lld meta %lld status %s recStat %d err %d"
+TRCID_       0x22AB TRACE_ALLOC         "regNo %d dataFG %s meta %s onOwned %d nOwn %d\n"
+TRCID_       0x22AC TRACE_ALLOC         "recoverFreeSpace regNo %d nSegs %d isValid %d recPerDisk %d infoP 0x%lx retry %d"
+TRCID_       0x22AD TRACE_ALLOC         "recoverFreeSpace regNo %d waiting recPerDisk %d retry %d"
+TRCID_       0x22AE TRACE_ALLOC         "recoverFreeSpace regNo %d complete, infoP 0x%lX nDisks %d err %d"
+TRCID_       0x22AF TRACE_ALLOC         "regNo %d : %lld %lld %lld %lld %lld %lld %lld %lld"
+TRCID_       0x22B0 TRACE_ALLOC         "AllocRegion::forceLog LSN 0x%llX\n"
+TRCID_       0x22B1 TRACE_ALLOC         "AllocRegion::forceLog complete, forceLsn 0x%llX err %d\n"
+TRCID_       0x22B2 TRACE_ALLOC         "AllocRegion::alloc regNo %d diskidx %d nSub %d val %d inUse %d alloc %d del %d rem %d"
+TRCID_       0x22B3 TRACE_ALLOC         "AllocRegion::alloc complete, DA %d:%lld err %d\n"
+TRCID_       0x22B4 TRACE_ALLOC         "AllocRegion::dealloc regNo %d nElem %d nValidSegs %d\n"
+TRCID_       0x22B5 TRACE_ALLOC         "AllocRegion::dealloc regNo %d invalid DA %d:%ld nSub %d status %s okToDealloc %d\n"
+TRCID_       0x22B6 TRACE_ALLOC         "AllocRegion::dealloc regNo %d invalid DA %d:%ld nSub %d status %s okToDealloc %d\n"
+TRCID_       0x22B7 TRACE_ALLOC         "AllocRegion::dealloc regNo %d complete, err %d\n"
+TRCID_       0x22B8 TRACE_ALLOC         "AllocRegion::flushDealloc regNo %d owner %s nSub %d retry %d\n" $2=nodeaddr_id2name
+TRCID_       0x22B9 TRACE_ALLOC         "AllocRegion::flushDealloc regNo %d owner %s nSubQueued %d flushed %d err %d" $2=nodeaddr_id2name
+TRCID_       0x22BA TRACE_ALLOC         "queryOwner regNo %d Flush %d Query %d"
+TRCID_       0x22BB TRACE_ALLOC         "queryOwner regNo %d owner %s err %d" $2=nodeaddr_id2name
+TRCID_       0x22BC TRACE_ALLOC         "AllocRegion::flushDeallocLocal regNo %d termSeqNum %lld nSub %d nElem %d\n"
+TRCID_       0x22BD TRACE_ALLOC         "deallocQueueElem count %d nSub %d maxLsn 0x%llX seqNum %lld\n"
+TRCID_       0x22BE TRACE_ALLOC         "AllocRegion::flushDeallocLocal regNo %d complete, qSub %d nFlushed %d err %d"
+TRCID_       0x22BF TRACE_ALLOC         "flushDeallocRemote regNo %d owner %s termSeq %lld nSub %d nElem %d retry %d" $2=nodeaddr_id2name
+TRCID_       0x22C0 TRACE_ALLOC         "flushDeallocRem regNo %d entry %d nextSeq %lld term %lld qSub %d"
+TRCID_       0x22C1 TRACE_ALLOC         "queueElem regNo %d count %d nEnt %d nSub %d lsn 0x%llX seq %lld"
+TRCID_       0x22C2 TRACE_ALLOC         "flushDeallocRem regNo %d owner %s failed err %d losing %d blks %d subs" $2=nodeaddr_id2name
+TRCID_       0x22C3 TRACE_ALLOC         "flushDeallocRemote regNo %d %s owner, %s not owner, prev %s %s failed %d" $2=nodeaddr_id2name $3=nodeaddr_id2name $4=nodeaddr_id2name $5=nodeaddr_id2name
+TRCID_       0x22C4 TRACE_ALLOC         "flushDeallocRemote regNo %d complete nSub %d qSub %d err %d\n"
+TRCID_       0x22C5 TRACE_ALLOC         "resetOwner regNo %d owner %s -> UNKNOWN R %d D %d qSub %d qElem %d" $2=nodeaddr_id2name
+TRCID_       0x22C6 TRACE_ALLOC         "resetOwner complete regNo %d R %d D %d qReg %d qRem %d qUnk %d"
+TRCID_       0x22C7 TRACE_ALLOC         "deallocNodeFailure %s nRegsRemote %d qReg %d qRem %d" $1=nodeaddr_id2name
+TRCID_       0x22C8 TRACE_ALLOC         "deallocNodeFailure regNo %d being flushed qSub %d qBlk %d"
+TRCID_       0x22C9 TRACE_ALLOC         "deallocNodeFailure regNo %d failed to reset owner qSub %d qBlk %d"
+TRCID_       0x22CA TRACE_ALLOC         "deallocNodeFailure done nRegsRem %d qReg %d qRem %d nReset %d nFlush %d nSkip %d"
+TRCID_       0x22CB TRACE_ALLOC         "sendDeallocRequest regNo %d to %s nSubs %d nElem %d nEnt %d\n" $2=nodeaddr_id2name
+TRCID_       0x22CC TRACE_ALLOC         "sendDeallocRequest: relaying reg %d through %s\n" $2=nodeaddr_id2name
+TRCID_       0x22CD TRACE_ALLOC         "sendDeallocRequest replyDataP 0x%lX len %d err %d\n"
+TRCID_       0x22CE TRACE_ALLOC         "sendDeallocRequest regNo %d to %s failed err %d origErr %d" $2=nodeaddr_id2name
+TRCID_       0x22CF TRACE_ALLOC         "sendAllocRequest to %s cursorId 0x%X diskidx %d isData %d isReplica %d" $1=nodeaddr_id2name
+TRCID_       0x22D0 TRACE_ALLOC         "sendAllocRequest: relaying through %s\n" $1=nodeaddr_id2name
+TRCID_       0x22D1 TRACE_ALLOC         "sendAllocRequest replyDataP 0x%lX len %d err %d\n"
+TRCID_       0x22D2 TRACE_ALLOC         "sendAllocRequest to %s complete DA %d:%lld err %d\n" $1=nodeaddr_id2name
+TRCID_       0x22D3 TRACE_ALLOC         "updateCursorStamps regNo %d nStamps %d isValid %d low %d high %d"
+TRCID_       0x22D4 TRACE_ALLOC         "updateCursorStamps regNo %d cId %d isStamped disk %d %s fg %s"
+TRCID_       0x22D5 TRACE_ALLOC         "updateCursorStamps regNo %d reset stamp for cId %d disk %d"
+TRCID_       0x22D6 TRACE_ALLOC         "updateCursorStamps regNo %d reset stamp for cId %d fg %s"
+TRCID_       0x22D7 TRACE_ALLOC         "updateCursorStamps regNo %d nSet %d nReset %d cMask %s dMask %s"
+TRCID_       0x22D8 TRACE_ALLOC         "updateFreeSpace regNo %d diskidx %d okToAlloc %d delta %d %d"
+TRCID_       0x22D9 TRACE_ALLOC         "regNo %d valid %d alloc %d data %lld %s meta %lld %s"
+TRCID_       0x22DA TRACE_ALLOC         "regNo %d valid %d onFree %d data %lld %s meta %lld %s"
+TRCID_       0x22DB TRACE_ALLOC         "AllocRegionFreeSpace::update diskidx %d data %d meta %d unfrag %d frag %d line %d err %d"
+TRCID_       0x22DC TRACE_ALLOC         "serializeAllocListChanges regNo %d changing %d count %d"
+TRCID_       0x22DD TRACE_ALLOC         "regNo %d waiting for alloc list change"
+TRCID_       0x22DE TRACE_ALLOC         "updateAllocList cId %d regNo %d val %d nReg %d %d full %d isData %d change %d"
+TRCID_       0x22DF TRACE_ALLOC         "updateAllocList cId %d nAlloc %d %d addDiskidx %d data %d FG %s allocFG %s"
+TRCID_       0x22E0 TRACE_ALLOC         "findVictim regNo %d fg %d %d unfrag %lld vic regNo %d %d %d %lld"
+TRCID_       0x22E1 TRACE_ALLOC         "victim regNo %d unfrag %lld FGs %s avail %d"
+TRCID_       0x22E2 TRACE_ALLOC         "updateAllocList returns nRegions %d full %d changes %d err %d"
+TRCID_       0x22E3 TRACE_ALLOC         "addRegionToAllocList regNo %d status %s nReg %d del %d rem %d"
+TRCID_       0x22E4 TRACE_ALLOC         "allocList: %d(%d %lld) %d(%d %lld) %d(%d %lld) %d(%d %lld)\n"
+TRCID_       0x22E5 TRACE_ALLOC         "addRegionToAllocList complete, nRegs %d max %d full %d, free %lld %lld,FGs %d %d, err %d"
+TRCID_       0x22E6 TRACE_ALLOC         "allocList: %d(%d %lld) %d(%d %lld) %d(%d %lld) %d(%d %lld)\n"
+TRCID_       0x22E7 TRACE_ALLOC         "removeRegionFromAllocList regNo %d stat %s val %d data %lld %lld inUse %d del %d rem %d\n"
+TRCID_       0x22E8 TRACE_ALLOC         "allocList: %d(%d %lld) %d(%d %lld) %d(%d %lld) %d(%d %lld)\n"
+TRCID_       0x22E9 TRACE_ALLOC         "removeRegionFromAllocList complete, nRegs %d max %d full %d, free %lld %lld FGs %d %d err %d"
+TRCID_       0x22EA TRACE_ALLOC         "allocList: %d(%d %lld) %d(%d %lld) %d(%d %lld) %d(%d %lld)\n"
+TRCID_       0x22EB TRACE_ALLOC         "addRegionToOwnedList regNo %d status %s nReg %d max %d\n"
+TRCID_       0x22EC TRACE_ALLOC         "removeRegionFromOwnedList regNo %d status %s nOwned %d max %d"
+TRCID_       0x22ED TRACE_ALLOC         "addRegionToFreeList regNo %d head %d onFree %d val %d nReg %d inv %d FG %s val %d"
+TRCID_       0x22EE TRACE_ALLOC         "addRegionToFreeList regNo %d availFG %s freeFG %s nRegs %d inv %d"
+TRCID_       0x22EF TRACE_ALLOC         "addRegionToFreeList dataFG %s metaFG %s"
+TRCID_       0x22F0 TRACE_ALLOC         "removeRegionFromFreeList regNo %d onFree %d val %d nReg %d inv %d FG %s val %d"
+TRCID_       0x22F1 TRACE_ALLOC         "removeRegionFromFreeList regNo %d availFG %s freeFG %s nRegs %d inv %d"
+TRCID_       0x22F2 TRACE_ALLOC         "removeRegionFromFreeList dataFG %s metaFG %s"
+TRCID_       0x22F3 TRACE_ALLOC         "updateRegionOnFreeList regNo %d fgIndex %d fg %d data %d meta %d freeFGMask %s count %d val %d"
+TRCID_       0x22F4 TRACE_ALLOC         "updateRegionOnFreeList exit freeFGMask %s count %d first regNo %d"
+TRCID_       0x22F5 TRACE_ALLOC         "updateRegionOnFreeList exit dataFG %s count %d meta %s count %d"
+TRCID_       0x22F6 TRACE_ALLOC         "rebuildFreeList nRegs %d nInv %d FG %s version %d current %d"
+TRCID_       0x22F7 TRACE_ALLOC         "rebuildFreeList done nRegs %d nInv %d regNo %d FG %s version %d current %d"
+TRCID_       0x22F8 TRACE_ALLOC         "FL0: %d=%d regNo %d %d=%d regNo %d %d=%d regNo %d %d=%d regNo %d"
+TRCID_       0x22F9 TRACE_ALLOC         "FL4: %d=%d regNo %d %d=%d regNo %d %d=%d regNo %d %d=%d regNo %d"
+TRCID_       0x22FA TRACE_ALLOC         "FL8: %d=%d regNo %d %d=%d regNo %d %d=%d regNo %d %d=%d regNo %d"
+TRCID_       0x22FB TRACE_ALLOC         "FL12: %d=%d regNo %d %d=%d regNo %d %d=%d regNo %d %d=%d regNo %d"
+TRCID_       0x22FC TRACE_ALLOC         "flushOwnedList nRegs %d max %d count %d flushTime %s helpers %d"
+TRCID_       0x22FD TRACE_ALLOC         "flushOwnedList helpers %d desired %d max %d"
+TRCID_       0x22FE TRACE_ALLOC         "starting flushOwnedListHelperThread failed"
+TRCID_       0x22FF TRACE_ALLOC         "flushOwned regNo %d local %d owned %d del %d flush %s at %s"
+TRCID_       0x2300 TRACE_ALLOC         "flushOwnedList complete nRegs %d max %d count %d, helpers %d err %d"
+TRCID_       0x2301 TRACE_ALLOC         "revalidateOwnedList nRegs %d max %d ownedDataVersion %d current %d"
+TRCID_       0x2302 TRACE_ALLOC         "revalidOwned regNo %d local %d owned %d del %d isValid %d isRec %d"
+TRCID_       0x2303 TRACE_ALLOC         "revalidateOwnedList exit nRegs %d ownedVersion %d current %d err %d"
+TRCID_       0x2304 TRACE_ALLOC         "starting allocReduceOwnedHelperThread %d"
+TRCID_       0x2305 TRACE_ALLOC         "starting allocReduceOwnedHelperThread failed"
+TRCID_       0x2306 TRACE_ALLOC         "reduceOwnedList opt 0x%X nRegs %d/%d nFree %d/%d nRed %d sync %d"
+TRCID_       0x2307 TRACE_ALLOC         "reduceOwnedList nRegs %d (%d,%d,%d) nFree %d (%d,%d,%d) Sync %d (%d,%d) pass %d"
+TRCID_       0x2308 TRACE_ALLOC         "reduceOwnedList regNo %d local %d free %d alloc %d del %d dis %d"
+TRCID_       0x2309 TRACE_ALLOC         "reduceOwnedList victim regNo %d any %d free %d local %d hasFree %d"
+TRCID_       0x230A TRACE_ALLOC         "reduceOwnedList regNo %d owned %d local %d deleted %d local %d"
+TRCID_       0x230B TRACE_ALLOC         "reduceOwnedList nRegs %d %d nFree %d %d alloc %d %d nRed %d deleted %d"
+TRCID_       0x230C TRACE_ALLOC         "addRegionToRemoteList regNo %d status %s R %d D %d nRegs %d changed %d"
+TRCID_       0x230D TRACE_ALLOC         "addRegionToRemoteList done regNo %d R %d D %d nRegs %d"
+TRCID_       0x230E TRACE_ALLOC         "removeRegionFromRemoteList regNo %d status %s nRegs %d changed %d\n"
+TRCID_       0x230F TRACE_ALLOC         "starting allocReduceRemoteHelperThread %d"
+TRCID_       0x2310 TRACE_ALLOC         "starting allocReduceRemoteHelperThread failed"
+TRCID_       0x2311 TRACE_ALLOC         "reduceRemoteList opt 0x%X nRegs %d max %d sync %d"
+TRCID_       0x2312 TRACE_ALLOC         "reduceRemoteList nRegs %d (%d,%d,%d) Sync %d (%d,%d,%d) pass %d"
+TRCID_       0x2313 TRACE_ALLOC         "reduceRemoteList victim regNo %d regCount %d local %d"
+TRCID_       0x2314 TRACE_ALLOC         "reduceRemoteList regNo %d owned %d remote %d deleted %d local %d"
+TRCID_       0x2315 TRACE_ALLOC         "reduceRemoteList nRegs %d max %d deleted %d"
+TRCID_       0x2316 TRACE_ALLOC         "addRegionToChangedList regNo %d status %s C %d D %d val %d del %d nChg %d"
+TRCID_       0x2317 TRACE_ALLOC         "flushChangedList nOnChanged %d flushAll %d freeInfo %d forceMsg %d"
+TRCID_       0x2318 TRACE_ALLOC         "changed regNo %d update %d now %d nReg %d perDisk %d"
+TRCID_       0x2319 TRACE_ALLOC         "removeFromChangedList[%d] regNo %d owner %s data %lld meta %lld" $3=nodeaddr_id2name
+TRCID_       0x231A TRACE_ALLOC         "regNo %d status %s fg %s %s delete %d use %d nDisks %d\n"
+TRCID_       0x231B TRACE_ALLOC         "flushChangedList hdrP 0x%lX updateP 0x%lX dataP 0x%lX diskP 0x%lX freeP 0x%lX nDisks %d"
+TRCID_       0x231C TRACE_ALLOC         "flushChangedList sg %s err %d sending msg to allocmgr\n"
+TRCID_       0x231D TRACE_ALLOC         "flushChangedList complete nOnChanged %d nFlushed %d nMsgs %d"
+TRCID_       0x231E TRACE_ALLOC         "finishUpdateRequest nRegs %d regErrP 0x%lX\n"
+TRCID_       0x231F TRACE_ALLOC         "finishUpdateRequest[%d]: regNo %d owner %s locked %d err %d\n" $3=nodeaddr_id2name
+TRCID_       0x2320 TRACE_ALLOC         "removeRegionFromChangedList regNo %d status %s nChanged %d"
+TRCID_       0x2321 TRACE_ALLOC         "regP 0x%X onChanged %d nextP 0x%X prevP 0x%X changedP 0x%X\n"
+TRCID_       0x2322 TRACE_ALLOC         "addRegionToDeletedList regNo %d status %s del %d nDeleted %d\n"
+TRCID_       0x2323 TRACE_ALLOC         "removeRegionFromDeletedList regNo %d nDeleted %d\n"
+TRCID_       0x2324 TRACE_ALLOC         "sendQueryRequest qRegs %d maxPerMsg %d qSub %d"
+TRCID_       0x2325 TRACE_ALLOC         "query[%d] regNo %d inUse %d del %d"
+TRCID_       0x2326 TRACE_ALLOC         "sendQueryRequest replyDataP 0x%lX len %d mgrCount %d err %d\n"
+TRCID_       0x2327 TRACE_ALLOC         "queryOwner regNo %d owner %s, prev owners %s %s\n" $2=nodeaddr_id2name $3=nodeaddr_id2name $4=nodeaddr_id2name
+TRCID_       0x2328 TRACE_ALLOC         "sendQueryRequest regNo %d perm err %d\n"
+TRCID_       0x2329 TRACE_ALLOC         "sendQueryRequest complete, qRegs %d qSub %d err %d\n"
+TRCID_       0x232A TRACE_ALLOC         "sendAllocManagerRequest %d sg %s to %s buf1P 0x%lX len %d buf2P 0x%lX len %d\n" $3=nodeaddr_id2name
+TRCID_       0x232B TRACE_ALLOC         "sendAllocManagerRequest reply received, rc %d err %d data 0x%lX len %d\n"
+TRCID_       0x232C TRACE_ALLOC         "sendAllocManagerRequest destAddr %s count %d newCount %d\n" $1=nodeaddr_id2name
+TRCID_       0x232D TRACE_ALLOC         "sendAllocManagerRequest complete, count %d err %d\n"
+TRCID_       0x232E TRACE_ALLOC         "sendAllocManagerRequest FREE replyDataP 0x%lX replyLen %d\n"
+TRCID_       0x232F TRACE_ALLOC         "sendUpdateRequest %d to %s bufDataP 0x%lX bufLen %d bufFreeLen %d\n" $2=nodeaddr_id2name
+TRCID_       0x2330 TRACE_ALLOC         "sendUpdateRequest replyDataP 0x%lX replyLen %d err %d\n"
+TRCID_       0x2331 TRACE_ALLOC         "sendUpdateRequest FREE replyDataP 0x%lX replyLen %d\n"
+TRCID_       0x2332 TRACE_ALLOC         "sendUpdateRequest complete, err %d\n"
+TRCID_       0x2333 TRACE_ALLOC         "sendUpdateForDelete regNo %d owner %s valid %d data %lld meta %lld" $2=nodeaddr_id2name
+TRCID_       0x2334 TRACE_ALLOC         "regNo %d status %s fg %s %s delete %d nDisks %d"
+TRCID_       0x2335 TRACE_ALLOC         "sendUpdateForDelete regNo %d complete, err %d\n"
+TRCID_       0x2336 TRACE_ALLOC         "sendFreeInfoRequest poolId %d okToUseCache %d retryCount %d"
+TRCID_       0x2337 TRACE_ALLOC         "sendFreeInfoRequest replyDataP 0x%lX replyLen %d err %d\n"
+TRCID_       0x2338 TRACE_ALLOC         "sendFreeInfoRequest FREE replyDataP 0x%lX replyLen %d\n"
+TRCID_       0x2339 TRACE_ALLOC         "sendRequestRegion sg %s type %d size %d FG %s send %lld/%lld regPP 0x%X"
+TRCID_       0x233A TRACE_ALLOC         "sendRequestRegion replyDataP 0x%lX replyLen %d mgrCount %d err %d\n"
+TRCID_       0x233B TRACE_ALLOC         "sendRequestRegion AllocShipping was %s now %s cursorId 0x%X" $1=nodeaddr_id2name $2=nodeaddr_id2name
+TRCID_       0x233C TRACE_ALLOC         "sendRequestRegion acqwait %d prev acquires %lld comp %lld start %lld\n"
+TRCID_       0x233D TRACE_ALLOC         "sendRequestRegion unlocking regNo %d due to err %d"
+TRCID_       0x233E TRACE_ALLOC         "sendRequestRegion exitWait %d prev acquires %lld comp %lld start %lld\n"
+TRCID_       0x233F TRACE_ALLOC         "sendRequestRegion FREE replyDataP 0x%lX replyLen %d\n"
+TRCID_       0x2340 TRACE_ALLOC         "sendRequestRegion complete, send %lld/%lld nRegs %d regNo %d err %d"
+TRCID_       0x2341 TRACE_ALLOC         "replyRequestRegion sg %s mgrCount %d at %s %s nRegions %d addr 0x%lX\n"
+TRCID_       0x2342 TRACE_ALLOC         "replyRequestRegion regNo %d owner %s queryOwn %d\n" $2=nodeaddr_id2name
+TRCID_       0x2343 TRACE_ALLOC         "replyRequestRegion regNo %d err %d\n"
+TRCID_       0x2344 TRACE_ALLOC         "replyRequestRegion complete, err %d\n"
+TRCID_       0x2345 TRACE_ALLOC         "finishRequestRegionBody regNo %d type %s\n"
+TRCID_       0x2346 TRACE_ALLOC         "finishRequestRegionBody: regNo %d err %d trying to lock\n"
+TRCID_       0x2347 TRACE_ALLOC         "finishRequestRegionBody: regNo %d owner %s is not local" $2=nodeaddr_id2name
+TRCID_       0x2348 TRACE_ALLOC         "finishRequestRegionBody: regNo %d complete, err %d"
+TRCID_       0x2349 TRACE_ALLOC         "finishRequestRegion type %s nRegions %d addr 0x%lX\n"
+TRCID_       0x234A TRACE_ALLOC         "finishRequestRegion complete, err %d\n"
+TRCID_       0x234B TRACE_ALLOC         "requestOwnership regNo %d owner %s query %d willWait %d" $2=nodeaddr_id2name
+TRCID_       0x234C TRACE_ALLOC         "requestOwnership regNo %d owner %s waiting for query, retry %d" $2=nodeaddr_id2name
+TRCID_       0x234D TRACE_ALLOC         "requestOwnership regNo %d owner %s during query" $2=nodeaddr_id2name
+TRCID_       0x234E TRACE_ALLOC         "requestOwnership complete regNo %d owner %s err %d" $2=nodeaddr_id2name
+TRCID_       0x234F TRACE_ALLOC         "sendOwnershipRequest regNo %d callerWillWait %d"
+TRCID_       0x2350 TRACE_ALLOC         "sendOwnershipRequest replyDataP 0x%lX len %d mgrCount %d err %d\n"
+TRCID_       0x2351 TRACE_ALLOC         "sendOwnershipRequest FREE replyDataP 0x%lX replyLen %d\n"
+TRCID_       0x2352 TRACE_ALLOC         "sendOwnershipRequest complete, err %d"
+TRCID_       0x2353 TRACE_ALLOC         "sendCloseCursor request cursorId 0x%X access %d"
+TRCID_       0x2354 TRACE_ALLOC         "sendCloseCursor replyDataP 0x%lX replyLen %d mgrCount %d err %d\n"
+TRCID_       0x2355 TRACE_ALLOC         "sendCloseCursor FREE replyDataP 0x%lX replyLen %d\n"
+TRCID_       0x2356 TRACE_ALLOC         "sendCloseCursor complete, err %d\n"
+TRCID_       0x2357 TRACE_ALLOC         "getAllocSegment regNo %d segNo %d segList %s"
+TRCID_       0x2358 TRACE_ALLOC         "getAllocSegment regNo %d segNo %d complete, segP 0x%lX err %d"
+TRCID_       0x2359 TRACE_ALLOC         "Waiting for regNo %d with inUse %d rem %d del %d\n"
+TRCID_       0x235A TRACE_ALLOC         "signalInUse broadcasting to allocRegion waiters\n"
+TRCID_       0x235B TRACE_ALLOC         "AllocRegion::format poolId %d regNo %d nSegs %d segList %s\n"
+TRCID_       0x235C TRACE_ALLOC         "AllocRegion::format regNo %d err %d\n"
+TRCID_       0x235D TRACE_ALLOC         "AllocRegion::rewrite regNo %d nSeg %d segList %s\n"
+TRCID_       0x235E TRACE_ALLOC         "AllocRegion::rewrite regNo %d segList %s err %d\n"
+TRCID_       0x235F TRACE_ALLOC         "AllocRegion::reInit regNo %d alloc %d del %d rem %d use %d nSeg %d segList %s"
+TRCID_       0x2360 TRACE_ALLOC         "reInit deleting segNo %d segP 0x%lX\n"
+TRCID_       0x2361 TRACE_ALLOC         "AllocRegion::reInit regNo %d segList %s err %d\n"
+TRCID_       0x2362 TRACE_ALLOC         "AllocRegion::recycle 0x%lX regNo %d alloc %d del %d rem %d use %d nSeg %d segList %s"
+TRCID_       0x2363 TRACE_ALLOC         "recycle segNo %d segP 0x%lX\n"
+TRCID_       0x2364 TRACE_ALLOC         "AllocRegion::recycle regNo %d segList %s err %d\n"
+TRCID_       0x2365 TRACE_ALLOC         "AllocRegion::flush regNo %d nSeg %d segList %s\n"
+TRCID_       0x2366 TRACE_ALLOC         "AllocRegion::flush regNo %d err %d\n"
+TRCID_       0x2367 TRACE_ALLOC         "AllocRegion::flushAndDiscard regNo %d nSeg %d segList %s"
+TRCID_       0x2368 TRACE_ALLOC         "AllocRegion::flushAndDiscardData regNo %d segList %s err %d\n"
+TRCID_       0x2369 TRACE_ALLOC         "AllocRegion::isClean regNo %d nSeg %d nSub %d lsn 0x%llX force 0x%llX\n"
+TRCID_       0x236A TRACE_ALLOC         "AllocRegion::isClean regNo %d lsn 0x%llX returns false!\n"
+TRCID_       0x236B TRACE_ALLOC         "AllocRegion::isDataClean regNo %d nSeg %d segList %s"
+TRCID_       0x236C TRACE_ALLOC         "AllocRegion::isDataClean regNo %d returns false!\n"
+TRCID_       0x236D TRACE_FS            "DirBlockFlushCallback: handle 0x%08lX rc %d"
+TRCID_       0x236E TRACE_FS            "parent ino (%u) doesn't match \"..\" entry (%u)"
+TRCID_       0x236F TRACE_FS            "dinsert: name '%s' inode %d mode 0x%X isJunction %d start %d restLen %d\n"
+TRCID_       0x2370 TRACE_FS            "dquery new fileset: inode %d snap %d dir fileset %d entry fileset %d err %d"
+TRCID_       0x2371 TRACE_FS            "ddelete: name '%s' start %d totalLen %d\n"
+TRCID_       0x2372 TRACE_FS            "RecoverDirEntry: found a bad disk addr in the log file\n"
+TRCID_       0x2373 TRACE_FS            "RecoverDirEntry: type %d da %d:%lld lsn 0x%llX, slot %d len %d, inode %d generation 0x%X name '%s'\n"
+TRCID_       0x2374 TRACE_FS            "RecoverDirEntry: dataBlockNum %lld"
+TRCID_       0x2375 TRACE_FS            "RecoveDirEntry: bad log record"
+TRCID_       0x2376 TRACE_FS            "RecoverFileInode: found a bad disk addr in the log file\n"
+TRCID_       0x2377 TRACE_FS            "RecoverFileInode: type %d da %d:%lld lsn 0x%llX version %lld generation 0x%X nlink %d\n"
+TRCID_       0x2378 TRACE_FS            "RecoverFileInode: status %d: Bad object version inode %lld logInode %lld\n"
+TRCID_       0x2379 TRACE_FS            "RecoverDirInit: found a bad disk addr in the log file\n"
+TRCID_       0x237A TRACE_FS            "RecoverDirInit: da %d:%lld lsn 0x%llX mkdir iNum %d parent iNum %d generation 0x%X\n"
+TRCID_       0x237B TRACE_FS            "RecoverDirInit: dataBlockNum %lld"
+TRCID_       0x237C TRACE_FS            "RecoveDirInit: bad log record"
+TRCID_       0x237D TRACE_FS            "ChangeNlink err %d inode_objectVersion %lld\n"
+TRCID_       0x237E TRACE_FS            "SFSLinkFile: dirInode %d snap %d fileset %d, inode %d snap %d fileset %d gen %u name %s\n"
+TRCID_       0x237F TRACE_FS            "SFSLinkFile iaccess: err %d\n"
+TRCID_       0x2380 TRACE_FS            "SFSLinkFile: srcGid %d, destGid %d treeBasedQuotas 1, err %d\n"
+TRCID_       0x2381 TRACE_FS            "SFSLinkFile exit: inodeNum %d snap %d, err %d\n"
+TRCID_       0x2382 TRACE_FS            "SFSSymlink: dirInodeNum %d snap %d, name %s\n"
+TRCID_       0x2383 TRACE_FS            "SFSSymlink new grpid %d\n"
+TRCID_       0x2384 TRACE_FS            "SFSSymlink iaccess: err %d\n"
+TRCID_       0x2385 TRACE_QUOTA         "SFSSymlink deallocate inode %d due to error %d\n"
+TRCID_       0x2386 TRACE_FS            "SFSSymlink exit: err %d\n"
+TRCID_       0x2387 TRACE_FS            "SFSMkdir: dirInodeNum %d snap %d fileset %d name %s\n"
+TRCID_       0x2388 TRACE_FS            "SFSMkdir new grpid %d\n"
+TRCID_       0x2389 TRACE_FS            "SFSMkdir iaccess: err %d\n"
+TRCID_       0x238A TRACE_QUOTA         "SFSMkdir deallocate inode %d due to error %d\n"
+TRCID_       0x238B TRACE_FS            "SFSMkdir exit: inodeNum %d snap %d fileset %d, err %d\n"
+TRCID_       0x238C TRACE_FS            "SFSRmdir: dirInodeNum %d snap %d, inodeNum %d, name %s\n"
+TRCID_       0x238D TRACE_FS            "SFSRmdir iaccess: err %d hasDeleteChild %d\n"
+TRCID_       0x238E TRACE_FS            "SFSRmdir(v4 delete) iaccess: err %d\n"
+TRCID_       0x238F TRACE_FS            "SFSRmdir: file in a sticky dir: err %d\n"
+TRCID_       0x2390 TRACE_FS            "SFSRmdir: invalidateVFSRef inode %d snap %d failed err %d\n"
+TRCID_       0x2391 TRACE_FS            "SFSRmdir: setting inode %d destroyOnLastClose\n"
+TRCID_       0x2392 TRACE_FS            "SFSRmdir exit: err %d\n"
+TRCID_       0x2393 TRACE_FS            "SFSRemove: dirInodeNum %d snap %d, inodeNum %d snap %d, name %s"
+TRCID_       0x2394 TRACE_FS            "SFSRemove: dirInodeNum %d snap %d, inodeNum %d snap %d, name %s myoplock %d"
+TRCID_       0x2395 TRACE_FS            "SFSRemove iaccess: err %d hasDeleteChild %d\n"
+TRCID_       0x2396 TRACE_FS            "SFSRemove(v4 delete) iaccess: err %d\n"
+TRCID_       0x2397 TRACE_SANERGY       "SFSRemove: SANergy lease already expired for %d secs, doSanClearMNState\n"
+TRCID_       0x2398 TRACE_SANERGY       "SFSRemove: doSanClearMNState failed\n"
+TRCID_       0x2399 TRACE_SANERGY       "SFSRemove: SANergy locked file (expire in %d secs)\n"
+TRCID_       0x239A TRACE_SANERGY       "SFSRemove: SANergy, inodeNum %d proceed with remove\n"
+TRCID_       0x239B TRACE_FS            "SFSRemove: file in a sticky dir: err %d\n"
+TRCID_       0x239C TRACE_FS            "SFSRemove: nlink=0, setting inode %d destroyOnLastClose\n"
+TRCID_       0x239D TRACE_FS            "SFSRemove exit: err %d\n"
+TRCID_       0x239E TRACE_FS            "SFSRemoveDir: dirInodeNum %d snap %d, name %s"
+TRCID_       0x239F TRACE_FS            "SFSRemoveDir exit: err %d\n"
+TRCID_       0x23A0 TRACE_FS            "SFSRename: srcDirInodeNum %d snap %d fileset %d srcInodeNum %d, old name %s\n"
+TRCID_       0x23A1 TRACE_FS            "SFSRename: destDirInode %d snap %d fileset %d destInode %d, new name %s\n"
+TRCID_       0x23A2 TRACE_FS            "SFSRename: destInodeNum %d is a quota file, err %d\n"
+TRCID_       0x23A3 TRACE_FS            "SFSRename iaccess source dir: err %d hasDeleteChild %d\n"
+TRCID_       0x23A4 TRACE_FS            "SFSRename iaccess dest dir: err %d\n"
+TRCID_       0x23A5 TRACE_FS            "SFSRename iaccess dest dir: err %d\n"
+TRCID_       0x23A6 TRACE_FS            "SFSRename: treeBasedQuotas, destGid %d, sdrGid %d, err %d\n"
+TRCID_       0x23A7 TRACE_FS            "SFSRename(v4 add dir/file) iaccess dest dir: err %d\n"
+TRCID_       0x23A8 TRACE_FS            "SFSRename(v4 delete) iaccess: err %d\n"
+TRCID_       0x23A9 TRACE_FS            "SFSRename(v4 read_attr) iaccess source obj: err %d\n"
+TRCID_       0x23AA TRACE_FS            "SFSRename: sticky directory err %d"
+TRCID_       0x23AB TRACE_FS            "SFSRename: sticky dest directory err %d\n"
+TRCID_       0x23AC TRACE_FS            "SFSRename: nlink=0, setting inode %d destroyOnLastClose\n"
+TRCID_       0x23AD TRACE_FS            "SFSRename exit: err %d\n"
+TRCID_       0x23AE TRACE_FS            "mergeDir: inodeNum %d snap %d, block %lld\n"
+TRCID_       0x23AF TRACE_FS            "mergeDir exit: err %d\n"
+TRCID_       0x23B0 TRACE_FS            "checkAncestors: starting inodeNum %d, target inodeNum %d, target parent inodeNum %d\n"
+TRCID_       0x23B1 TRACE_FS            "checkAncestors: checking inodeNum %d\n"
+TRCID_       0x23B2 TRACE_FS            "checkAncestors exit: err %d\n"
+TRCID_       0x23B3 TRACE_FSCK          "findOrCreateLostAndFound: unable to access the hash bucket for l+f in snap %d.\n"
+TRCID_       0x23B4 TRACE_FSCK          "findOrCreateLostAndFound: unable to find l+f in snap %d.\n"
+TRCID_       0x23B5 TRACE_FS            "findOrCreateLostAndFound: Unable to reference the root directory in snap %d.\n"
+TRCID_       0x23B6 TRACE_FS            "findOrCreateLostAndFound: Unable to get root inode for snap %d.\n"
+TRCID_       0x23B7 TRACE_FS            "findOrCreateLostAndFound: Unable to lookup lost+found in root directory in snap %d.\n"
+TRCID_       0x23B8 TRACE_FS            "findOrCreateLostAndFound: wrong l+f inode, %d, old inode %d, snap %d\n"
+TRCID_       0x23B9 TRACE_FS            "makeDefaultAcl: aceCount %d size 0x%X aclLength 0x%X aaOffset 0x%X\n"
+TRCID_       0x23BA TRACE_FS            "makeDefaultAcl: ace %d aceP 0x%X type %d flags 0x%X mask 0x%X who %d\n"
+TRCID_       0x23BB TRACE_FS            "makeDefaultAcl: ace %d at 0x%X becomes %d at 0x%X)\n"
+TRCID_       0x23BC TRACE_FS            "makeDefaultAcl exit: rc %d aceCount %d aclLength 0x%X aaOffset 0x%X\n"
+TRCID_       0x23BD TRACE_FS            "SFSPutACL: inodeNum %d snap %d, aclP 0x%lX aclLength %d\n"
+TRCID_       0x23BE TRACE_FS            "SFSPutACL: NFSv4 AccAclRef 0x%X DefAclRef 0x%X\n"
+TRCID_       0x23BF TRACE_FS            "SFSPutACL exit: err %d aclRef 0x%X\n"
+TRCID_       0x23C0 TRACE_FS            "lookupFile: dir inode num %d snap %d file name '%s'\n"
+TRCID_       0x23C1 TRACE_FS            "lookupFile: unable to access dir with inode %d on %s.\n"
+TRCID_       0x23C2 TRACE_FS            "lookupFile: unable to get inode for dir with inode %d on %s.\n"
+TRCID_       0x23C3 TRACE_FS            "lookupFile: unable to access the hash bucket for %s.\n"
+TRCID_       0x23C4 TRACE_FS            "lookupFile: unable to find %s.\n"
+TRCID_       0x23C5 TRACE_FS            "lookupFile: the found inode %d snap %d gen 0x%X; err %d.\n"
+TRCID_       0x23C6 TRACE_FS            "accessDir: inodeNum %d snap %d, block %lld, writer %d, err %d\n"
+TRCID_       0x23C7 TRACE_KSVFS         "accessHashBucket: hashVal 0x%X hashLevel %d currBlock %lld lastBlock %lld\n"
+TRCID_       0x23C8 TRACE_KSVFS         "accessHashBucket: blockNum %lld dirLockNeeded %s rc %d\n" $2=lockmode_id2name
+TRCID_       0x23C9 TRACE_FS            "lookupDirEntry: found inode %d snap %d gen 0x%X, mode 0x%X name %s\n"
+TRCID_       0x23CA TRACE_FS            "lookupDirEntry: dirInodeNum %d snap %d, err %d, name %s not found\n"
+TRCID_       0x23CB TRACE_FS            "prepInsertDir: dirInodeNum %d snap %d, hashBucket %lld, name %s\n"
+TRCID_       0x23CC TRACE_FS            "prepInsertDir: checking overflow block %lld\n"
+TRCID_       0x23CD TRACE_FS            "prepInsertDir: extend initial fragment of %d subblocks\n"
+TRCID_       0x23CE TRACE_FS            "prepInsertDir: splitting dir block %lld; new block %lld\n"
+TRCID_       0x23CF TRACE_FS            "prepInsertDir: adding new overflow block\n"
+TRCID_       0x23D0 TRACE_FS            "prepInsertDir exit: dirBlockNum %lld, err %d\n"
+TRCID_       0x23D1 TRACE_FS            "fsOp::insertOrphan: Put inode %d snap %d gen 0x%X into lost+found\n"
+TRCID_       0x23D2 TRACE_FS            "fsOp::insertOrphan: could not access the correct block in l+f to insert inode %d"
+TRCID_       0x23D3 TRACE_FS            "fsOp::insertOrphan: find a place to insert inode %d"
+TRCID_       0x23D4 TRACE_FS            "fsOp::insertOrphan: could create a locked file for inode %d"
+TRCID_       0x23D5 TRACE_FS            "fsOp::insertOrphan: could not get orphaned file's inode %d"
+TRCID_       0x23D6 TRACE_FS            "Unable to access orpahned directory err = %d\n"
+TRCID_       0x23D7 TRACE_FS            "Unable to fix '..' in  orpahned directory err = %d\n"
+TRCID_       0x23D8 TRACE_FS            "fsOp::insertOrphan: released orphan locks\n"
+TRCID_       0x23D9 TRACE_FS            "fsOp::insertOrphan: exiting with err = %d\n"
+TRCID_       0x23DA TRACE_FS            "prepDeleteDir: dirInodeNum %d snap %d, name %s\n"
+TRCID_       0x23DB TRACE_FS            "prepDeleteDir exit: err %d\n"
+TRCID_       0x23DC TRACE_FS            "adjustDeleteDir: block no old %d, new %d\n"
+TRCID_       0x23DD TRACE_FS            "adjustDeleteDir exit: err %d\n"
+TRCID_       0x23DE TRACE_FS            "fetchBufferM: oiP 0x%lX now eligible for prefetch; was ineligible reason %s data 0x%llX\n" $2=ineligibilityReason_id2name
+TRCID_       0x23DF TRACE_FS            "fetchRandomBuffer: ofP 0x%lX block %lld nBytes %d isRead %d\n"
+TRCID_       0x23E0 TRACE_FS            "fetchRandomBuffer exit: ofP 0x%lX block %lld err %d\n"
+TRCID_       0x23E1 TRACE_FS            "Buffer fetch: oiP 0x%lX (0x%lX) block %lld lockMode %s reqType %d\n" $4=lockmode_id2name
+TRCID_       0x23E2 TRACE_FS            "Random buffer fetch: comparing local id %08X:%08X:%08X:%08X to object key %08X:%08X:%08X:%08X\n"
+TRCID_       0x23E3 TRACE_FS            "buffer fetch: comparing local id %08X:%08X:%08X:%08X to object key %08X:%08X:%08X:%08X\n"
+TRCID_       0x23E4 TRACE_FS            "BufferHashTab::fetch: block %lld complete\n"
+TRCID_       0x23E5 TRACE_FS            "BufferHashTab::fetch exit: err %d\n"
+TRCID_       0x23E6 TRACE_PGALLOC       "getDesiredBuffersForPrefetch: sg '%s' nComputedBufs %d nBWLimitBufs %d nOverrideBufs %d nActiveInstances %d nbuffs %d"
+TRCID_       0x23E7 TRACE_FS            "setBuffsForPrefetch: changing maxBuffs from %d to %d, desiredBuffers %d\n"
+TRCID_       0x23E8 TRACE_FS            "prefetchWorkerBody: forking new worker, waiting %d looking %d prefetching %d writing %d total %d\n"
+TRCID_       0x23E9 TRACE_FS            "doPrefetchM: working on oiP 0x%lX from gbl prefetch list\n"
+TRCID_       0x23EA TRACE_FS            "doPrefetchM: oiP 0x%lX ineligible due to no more PrefetchSpecs\n"
+TRCID_       0x23EB TRACE_FS            "doPrefetchM: oiP 0x%lX ineligible due to logical eof\n"
+TRCID_       0x23EC TRACE_FS            "doWritebehindM: removed bdP 0x%lX from writebehind list\n"
+TRCID_       0x23ED TRACE_FS            "stealFromInactiveInstances: oiP 0x%lX from list %d now idle\n"
+TRCID_       0x23EE TRACE_FS            "prefetchIsStaleM: accVersion %d preVersion %d\n"
+TRCID_       0x23EF TRACE_FS            "setAccDSAgentM: changing accPattern from %s to dsAgent\n" $1=accessPattern_id2name
+TRCID_       0x23F0 TRACE_FS            "dequeueInst: oiP 0x%lX fsP 0x%lX list %s\n" $3=whichInstListEnum_id2name
+TRCID_       0x23F1 TRACE_FS            "fetchFlowControlM enter: pre %d wb %d preThA %d fThA %d fThCl %d allowed %d\n"
+TRCID_       0x23F2 TRACE_FS            "fetchFlowControlM exit: pre %d wb %d preThA %d fThA %d fThCl %d allowed %d\n"
+TRCID_       0x23F3 TRACE_FS            "fetchOrPrefetchM: oiP 0x%lX block %lld nBytes %d isRead %d\n"
+TRCID_       0x23F4 TRACE_FS            "fetchOrPrefetchM: expanding DS read fetch to full block\n"
+TRCID_       0x23F5 TRACE_FS            "fetchOrPrefetchM: expanding read fetch to end of file, nBytes %d\n"
+TRCID_       0x23F6 TRACE_FS            "fetchOrPrefetchM: expanding read fetch to full block\n"
+TRCID_       0x23F7 TRACE_FS            "fetchOrPrefetchM: oiP 0x%lX preUserDefined skip prefetch of block %lld past EOF\n"
+TRCID_       0x23F8 TRACE_FS            "fetchOrPrefetchM: oiP 0x%lX active %d ineligible due to file eof\n"
+TRCID_       0x23F9 TRACE_FS            "fetchOrPrefetchM: oiP 0x%lX preUserDefined skip prefetch of block %lld in hole\n"
+TRCID_       0x23FA TRACE_FS            "fetchOrPrefetchM: oiP 0x%lX ineligible due to hole\n"
+TRCID_       0x23FB TRACE_FS            "fetchOrPrefetchM: oiP 0x%lX was ineligible due to hole now eligible\n"
+TRCID_       0x23FC TRACE_FS            "fetchOrPrefetchM: oiP 0x%lX xfer count to buffer 0x%lX nPrefetchedBuffers %d isPrefetch %d\n"
+TRCID_       0x23FD TRACE_FS            "fetchOrPrefetchM: oiP 0x%lX inactive, buffer 0x%lX not made owner totalBuffersInUse %d\n"
+TRCID_       0x23FE TRACE_FS            "fetchOrPrefetchM: earlyErrorExit oiP 0x%lX isPrefetch %d\n"
+TRCID_       0x23FF TRACE_FS            "fetchOrPrefetchM exit: oiP 0x%lX block %lld err %d\n"
+TRCID_       0x2400 TRACE_FS            "%s %d\n"
+TRCID_       0x2401 TRACE_FS            "updateAccessHistoryM: FETCH oiP 0x%lX end random run; history %04X\n"
+TRCID_       0x2402 TRACE_FS            "updateAccessHistoryM: FETCH oiP 0x%lX end long run len %lld; history %04X\n"
+TRCID_       0x2403 TRACE_FS            "updateAccessHistoryM: FETCH oiP 0x%lX end short run len %d; history %04X\n"
+TRCID_       0x2404 TRACE_FS            "updateAccessHistoryM: FETCH oiP 0x%lX end reverse strided run; history %04X\n"
+TRCID_       0x2405 TRACE_FS            "updateAccessHistoryM: FETCH oiP 0x%lX newOffset 0x%llX len %d oldPattern %s newPattern %s\n" $4=accessPattern_id2name $5=accessPattern_id2name
+TRCID_       0x2406 TRACE_FS            "advanceWindowM: FETCH new windowBegin 0x%llX nextAccessBlock 0x%llX\n"
+TRCID_       0x2407 TRACE_FS            "findBlocksOfNextAccess: FETCH oiP 0x%lX nextBeginBlock %lld nBlocks %d\n"
+TRCID_       0x2408 TRACE_FS            "initPrefetchStrategyM: FETCH oiP 0x%lX changing from strategy %s to %s for pattern %s couldUse %d\n" $2=prefetchStrategy_id2name $3=prefetchStrategy_id2name $4=accessPattern_id2name
+TRCID_       0x2409 TRACE_FS            "nextPrefetchCursorM exit: FETCH oiP 0x%lX fileOffsetP 0x%llX blockNum %lld blockOffset %d nBytes %d version %d\n"
+TRCID_       0x240A TRACE_FS            "nextPrefetchCursorM exit: FETCH oiP 0x%lX EOF\n"
+TRCID_       0x240B TRACE_FS            "prefetchInPastM: FETCH oiP 0x%lX preBlockUp preBlockNum %lld nextAccessBlock %lld\n"
+TRCID_       0x240C TRACE_FS            "prefetchInPastM: FETCH oiP 0x%lX preBlockDown preBlockNum %lld nextAccessBlock %lld\n"
+TRCID_       0x240D TRACE_FS            "prefetchInPastM: FETCH oiP 0x%lX preExact +stride preFileOffset 0x%llX prev1Offset 0x%llX\n"
+TRCID_       0x240E TRACE_FS            "prefetchInPastM: FETCH oiP 0x%lX preExact -stride preFileOffset 0x%llX prev1Offset 0x%llX\n"
+TRCID_       0x240F TRACE_FS            "prefetchInPastM: FETCH oiP 0x%lX preExact preBlockNum %lld nextAccessBlock %lld\n"
+TRCID_       0x2410 TRACE_FS            "prefetchInPastM: FETCH oiP 0x%lX preUserDefined preBlockNum %lld\n"
+TRCID_       0x2411 TRACE_FS            "prefetchInPastM: FETCH oiP 0x%lX fileOffset 0x%llX blockNum %lld not past\n"
+TRCID_       0x2412 TRACE_FS            "setAccUserDefinedM: FETCH oiP 0x%lX changing accPattern from %s to userDefined\n" $2=accessPattern_id2name
+TRCID_       0x2413 TRACE_FS            "resetAccToRandomM: FETCH oiP 0x%lX changing accPattern from %s to random\n" $2=accessPattern_id2name
+TRCID_       0x2414 TRACE_FS            "PrefetchSpec::operator new failed with UMALLOC_E err %d\n"
+TRCID_       0x2415 TRACE_FS            "allocPrefetchSpecM exit: FETCH psP 0x%lX err %d\n"
+TRCID_       0x2416 TRACE_FS            "deallocPrefetchSpecM: FETCH psP 0x%lX\n"
+TRCID_       0x2417 TRACE_FS            "discardPreSpecBuffer exit: FETCH blkNum %lld bufDescP 0x%lX code %d rc %d\n"
+TRCID_       0x2418 TRACE_FS            "preEnqueueM: FETCH list 0x%lX psP 0x%lX blkNum %lld off %d len %d lastRefNum %d at tail\n"
+TRCID_       0x2419 TRACE_FS            "preEnqueueM: FETCH list 0x%lX psP 0x%lX blkNum %lld off %d len %d lastRefNum %d before head\n"
+TRCID_       0x241A TRACE_FS            "preEnqueueM: FETCH list 0x%lX psP 0x%lX blkNum %lld off %d len %d mid\n"
+TRCID_       0x241B TRACE_FS            "preDequeueM: FETCH list 0x%lX empty\n"
+TRCID_       0x241C TRACE_FS            "preDequeueM: FETCH list 0x%lX psP 0x%lX blkNum %lld off %d len %d\n"
+TRCID_       0x241D TRACE_FS            "preFindAndRemoveM: FETCH list 0x%lX psP 0x%lX blkNum %lld off %d len %d\n"
+TRCID_       0x241E TRACE_FS            "preFindBlockM: FETCH list 0x%lX block %lld psP 0x%lX\n"
+TRCID_       0x241F TRACE_FS            "preRemoveM: FETCH list 0x%lX block %lld psP 0x%lX\n"
+TRCID_       0x2420 TRACE_FS            "preRemoveAllM: FETCH list 0x%lX psP 0x%lX blkNum %lld off %d len %d\n"
+TRCID_       0x2421 TRACE_FS            "enqueueInstM: FETCH oiP 0x%lX fsP 0x%lX list %s\n" $3=whichInstListEnum_id2name
+TRCID_       0x2422 TRACE_FS            "unlinkInstM: FETCH oiP 0x%lX list %s\n" $2=whichInstListEnum_id2name
+TRCID_       0x2423 TRACE_FS            "getTargetMaxBuffersM: FETCH oiP 0x%lX returning %d\n"
+TRCID_       0x2424 TRACE_FS            "getTargetMaxBuffersM: FETCH oiP 0x%lX old version %d new version %d new targetMax %d\n"
+TRCID_       0x2425 TRACE_FS            "getCurrentBufferUsage: FETCH oiP 0x%lX pre %d wb %d preThA %d fThA %d fThCl %d\n"
+TRCID_       0x2426 TRACE_FS            "enoughBuffersForAnotherPrefetchM: FETCH oiP 0x%lX pre %d wb %d preThA %d fThA %d fThCl %d allowed %d\n"
+TRCID_       0x2427 TRACE_FS            "changeActiveM: FETCH oiP 0x%lX would now be active, but dsMode is %s\n" $2=dsMode_id2name
+TRCID_       0x2428 TRACE_FS            "changeActiveM: FETCH oiP 0x%lX would become active, but is hidden\n"
+TRCID_       0x2429 TRACE_FS            "changeActiveM: FETCH oiP 0x%lX now active time %d.%09d, but ineligible due to large write\n"
+TRCID_       0x242A TRACE_FS            "changeActiveM: FETCH oiP 0x%lX now active time %d.%09d, but ineligible due to file EOF\n"
+TRCID_       0x242B TRACE_FS            "changeActiveM: FETCH oiP 0x%lX now active time %d.%09d, but ineligible due to no more PrefetchSpecs\n"
+TRCID_       0x242C TRACE_FS            "changeActiveM: FETCH oiP 0x%lX now active time %d.%09d, but ineligible due to short seq prediction\n"
+TRCID_       0x242D TRACE_FS            "changeActiveM: FETCH oiP 0x%lX activated time %d.%09d, below target\n"
+TRCID_       0x242E TRACE_FS            "changeActiveM: FETCH oiP 0x%lX activated time %d.%09d, above target\n"
+TRCID_       0x242F TRACE_FS            "changeActiveM: FETCH oiP 0x%lX deactivated time %d.%09d\n"
+TRCID_       0x2430 TRACE_FS            "changeActiveM: FETCH oiP 0x%lX still active but ineligible due to large write\n"
+TRCID_       0x2431 TRACE_FS            "changeActiveM: FETCH oiP 0x%lX was ineligible %s, now ineligible due to large write\n" $2=ineligibilityReason_id2name
+TRCID_       0x2432 TRACE_FS            "changeActiveM: FETCH oiP 0x%lX now eligible for prefetch; was ineligible for large write, offset 0x%llX\n"
+TRCID_       0x2433 TRACE_FS            "changeActiveM: FETCH oiP 0x%lX now eligible for prefetch; was ineligible waiting for PrefetchSpecs\n"
+TRCID_       0x2434 TRACE_FS            "changeActiveM: FETCH oiP 0x%lX now eligible for prefetch; was ineligible due to short seq prediction, offset 0x%llX\n"
+TRCID_       0x2435 TRACE_FS            "deactivateM: FETCH oiP 0x%lX deactivated, was on list %s\n" $2=whichInstListEnum_id2name
+TRCID_       0x2436 TRACE_FS            "doneWithBufferM: FETCH oiP 0x%lX activated nBuffersCouldUse now %d\n"
+TRCID_       0x2437 TRACE_FS            "doneWithBufferM: FETCH oiP 0x%lX pre %d wb %d preThA %d fThA %d fThCl %d dirty buffer 0x%lX\n"
+TRCID_       0x2438 TRACE_FS            "doneWithBufferM: FETCH oiP 0x%lX dirty buffer 0x%lX not prefetched\n"
+TRCID_       0x2439 TRACE_FS            "doneWithCleanBufferM: FETCH oiP 0x%lX clean buffer 0x%lX moveToDone %d\n"
+TRCID_       0x243A TRACE_FS            "rescheduleM: FETCH oiP 0x%lX waking fetch thread pre %d wb %d preThA %d fThA fThCl %d %d allowed %d\n"
+TRCID_       0x243B TRACE_FS            "rescheduleM: FETCH activating oiP 0x%lX\n"
+TRCID_       0x243C TRACE_FS            "claimBufferM: FETCH claiming buffer 0x%lX for oiP 0x%lX pre %d wb %d preThA %d fThA %d fThCl %d allowed %d\n"
+TRCID_       0x243D TRACE_FS            "queueDSPrefetchesM: FETCH oiP 0x%lX current %d targetMax %d couldUse %d allowed %d\n"
+TRCID_       0x243E TRACE_FS            "queueDSPrefetchesM: FETCH oiP 0x%lX block %lld queued for prefetch\n"
+TRCID_       0x243F TRACE_FS            "dequeueDSPrefetchesM: FETCH oiP 0x%lX block %lld\n"
+TRCID_       0x2440 TRACE_FS            "doLocalDSPrefetchM: FETCH oiP 0x%lX blockNum %lld\n"
+TRCID_       0x2441 TRACE_FS            "doLocalDSPrefetchM: FETCH oiP 0x%lX now eligible for prefetch; was ineligible waiting for PrefetchSpecs\n"
+TRCID_       0x2442 TRACE_DS            "dsBufCacheUpdateM: FETCH oiP 0x%lX block %lld dsHist 0x%X isPrefetch %d refNum %d state:\n"
+TRCID_       0x2443 TRACE_DS            "  buf %lld at 0x%lX %s dDirty %d pre %d wb %d\n" $3=objstatus_id2name
+TRCID_       0x2444 TRACE_DS            "    assoc block %lld\n"
+TRCID_       0x2445 TRACE_DS            "  pre psP 0x%lX block %lld refNums %u,%u used %d\n"
+TRCID_       0x2446 TRACE_DS            "  rel psP 0x%lX block %lld refNums %u,%u used %d\n"
+TRCID_       0x2447 TRACE_DS            "dsBufCacheUpdateM: FETCH oiP 0x%lX block %lld found pending pre refNums were %u,%u now %u\n"
+TRCID_       0x2448 TRACE_DS            "dsBufCacheUpdateM: FETCH oiP 0x%lX block %lld found pending rel refNums were %u,%u now %u\n"
+TRCID_       0x2449 TRACE_DS            "dsBufCacheUpdateM: FETCH oiP 0x%lX block %lld not found current %d allowed %d pendingRel %d refNum %d\n"
+TRCID_       0x244A TRACE_DS            "dsBufCacheUpdateM: FETCH oiP 0x%lX retire psP 0x%lX refNums %u,%u current %d allowed %d pendingRel %d block %lld\n"
+TRCID_       0x244B TRACE_DS            "dsBufCacheUpdateM: FETCH oiP 0x%lX retire psP 0x%lX refNums %u,%u block %lld\n"
+TRCID_       0x244C TRACE_DS            "dsBufCacheUpdateM: FETCH oiP 0x%lX retire psP 0x%lX refNums %u,%u tail firstRefNum %d block %lld\n"
+TRCID_       0x244D TRACE_DS            "dsRetirePrefetchSpecM: FETCH oiP 0x%lX block %lld found, bdP 0x%lX\n"
+TRCID_       0x244E TRACE_FS            "updateTargetMaximaM: FETCH new version %d baseTargetMaxBufs %d extraBufs %d filesystem %s\n"
+TRCID_       0x244F TRACE_FS            "reclassifyInstsAboveTargetMaxM: FETCH activating oiP 0x%lX\n"
+TRCID_       0x2450 TRACE_FS            "reclassifyInstsBelowTargetMaxM: FETCH deactivating oiP 0x%lX\n"
+TRCID_       0x2451 TRACE_FS            "reclassifyInstsBelowTargetMaxM: FETCH scheduling oiP 0x%lX\n"
+TRCID_       0x2452 TRACE_ALLOC         "FileAllocator::reset(sg=%s, poolId %d, %s, %s)\n"
+TRCID_       0x2453 TRACE_ALLOC         "reset sm %s->%s, pool %d->%d nDisks %d->%d vers %d->%d Use %d\n"
+TRCID_       0x2454 TRACE_ALLOC         "reset E_CONFIGCHANGE -- retrying\n"
+TRCID_       0x2455 TRACE_ALLOC         "FileAllocator::reset() failed, err %d\n"
+TRCID_       0x2456 TRACE_ALLOC         "FileAllocator(sg=%s, poolId %d, %s)"
+TRCID_       0x2457 TRACE_ALLOC         "newFileAlloc sg %s poolId %d %s %s restricted %d"
+TRCID_       0x2458 TRACE_ALLOC         "newFileAllocator(sg=%s, %s, %s) at 0x%X, err %d\n"
+TRCID_       0x2459 TRACE_ALLOC         "allocOneBlock diskIndex %d nSub %d DA[%d] %d:%lld err %d\n"
+TRCID_       0x245A TRACE_ALLOC         "FileAllocator::alloc(nReplicas=%d, nSubblocks=%d, strictness=%d)\n"
+TRCID_       0x245B TRACE_ALLOC         "FileAllocator::alloc exit nAddrs %d nRep %d balOk %d err %d\n"
+TRCID_       0x245C TRACE_ALLOC         "Alloc E_CONFIGCHANGE -- retrying\n"
+TRCID_       0x245D TRACE_ALLOC         "Alloc err %d sev %d balOK %d nAlloc %d n=%d [0]=%d:%lld [1]=%d:%lld\n"
+TRCID_       0x245E TRACE_ALLOC         "realloc(nRepl=%d/%d strict=%d nBlocks=%d)\n"
+TRCID_       0x245F TRACE_ALLOC         "Realloc E_CONFIGCHANGE -- retrying\n"
+TRCID_       0x2460 TRACE_ALLOC         "realloc err %d sev %d check %d nAlloc %d n=%d [0]=%d:%lld [1]=%d:%lld\n"
+TRCID_       0x2461 TRACE_ALLOC         "resetBaseStripeMethod old nDisks=%d new nDisks %d\n"
+TRCID_       0x2462 TRACE_ALLOC         "resetBaseStripeMethod returns err %d\n"
+TRCID_       0x2463 TRACE_ALLOC         "resetRestripeData %s sm %s nDisks was %d is %d\n"
+TRCID_       0x2464 TRACE_ALLOC         "cleanStripeMethod 0x%X resDataP 0x%X\n"
+TRCID_       0x2465 TRACE_ALLOC         "getPerDiskAlloc disk %d alloc %d cap %d (%f pct)\n"
+TRCID_       0x2466 TRACE_ALLOC         "getPerDiskAlloc TotalAlloc %lld Cap %lld maxSeq %d err %d\n"
+TRCID_       0x2467 TRACE_ALLOC         "initDiskProb sm %s nDisks %d totAlloc %lld totCap %lld maxSeq %d"
+TRCID_       0x2468 TRACE_ALLOC         "initDiskProb: %d Cap %lld WILL FILL, avg alloc %lld to %lld\n"
+TRCID_       0x2469 TRACE_ALLOC         "initDiskProb %d alloc %ld/%ld avg %lld move %lld blks, prob %f\n"
+TRCID_       0x246A TRACE_ALLOC         "initDiskProb 0x%lX pos=%d,%f neg=%d,%f zero=%d nBlocks=%lld err %d\n"
+TRCID_       0x246B TRACE_ALLOC         "getRandomTargetDisk foundTarget sumInt %d sumProb %f move %f\n"
+TRCID_       0x246C TRACE_ALLOC         "getRandomTargetDisk nAvailDisks %d sumInt %d/%d sumProb %f move %f\n"
+TRCID_       0x246D TRACE_ALLOC         "getRandomTargetDisk returns %d\n"
+TRCID_       0x246E TRACE_ALLOC         "getRandomTargetDisk 0x%lX invalid disk %d prob %f seq %f\n"
+TRCID_       0x246F TRACE_ALLOC         "RRalloc resetAllocCycle, setBitmap=%d\n"
+TRCID_       0x2470 TRACE_ALLOC         "RR getFirstDisk diskIndex %d fg %d index %d\n"
+TRCID_       0x2471 TRACE_ALLOC         "RR alloc cycle complete, new cycle=%d\n"
+TRCID_       0x2472 TRACE_ALLOC         "RR reset disk complete, nDisks %d, err %d\n"
+TRCID_       0x2473 TRACE_ALLOC         "RR selectDisk %d fg %d\n"
+TRCID_       0x2474 TRACE_ALLOC         "RR reselectDisk %d not in current allocation cycle\n"
+TRCID_       0x2475 TRACE_ALLOC         "RR reselectDisk %d fg %d in prior replica %d\n"
+TRCID_       0x2476 TRACE_ALLOC         "RR reselectDisk %d seqLen %d/%d  nBlocks %lld/%lld prob %f >= %f %s\n"
+TRCID_       0x2477 TRACE_ALLOC         "RR reselectSequence startDisk %d nBlocks %lld/%lld prob %f\n"
+TRCID_       0x2478 TRACE_ALLOC         "initSeqProb pos=%d,%f neg=%d,%f zero=%d nBlocks=%lld\n"
+TRCID_       0x2479 TRACE_ALLOC         "RR reselectDisk %d newDisk %d, err %d, prob %f\n"
+TRCID_       0x247A TRACE_ALLOC         "RR excludeDisk %d\n"
+TRCID_       0x247B TRACE_ALLOC         "Random reset disk complete, nDisks %d, err %d\n"
+TRCID_       0x247C TRACE_ALLOC         "Random selectDisk %d fg %d\n"
+TRCID_       0x247D TRACE_ALLOC         "Random reselectDisk %d not in current allocation cycle\n"
+TRCID_       0x247E TRACE_ALLOC         "Random reselectDisk %d fg %d in prior replica %d\n"
+TRCID_       0x247F TRACE_ALLOC         "Random reselectDisk %d seqLen %d prob %f >= %f %s block\n"
+TRCID_       0x2480 TRACE_ALLOC         "Random reselectDisk %d newDisk %d, err %d, prob %f\n"
+TRCID_       0x2481 TRACE_ALLOC         "Random excludeDisk %d\n"
+TRCID_       0x2482 TRACE_ALLOC         "BalancedRandom %s reset disk complete, err %d\n"
+TRCID_       0x2483 TRACE_ALLOC         "BalancedRandom selectDisk %d fg %d\n"
+TRCID_       0x2484 TRACE_ALLOC         "BalancedRandom reselectDisk(%d seqLen %d allocCnt %d cycleLen %d)\n"
+TRCID_       0x2485 TRACE_ALLOC         "BalancedRandom reselectDisk %d fg %d in prior replica %d\n"
+TRCID_       0x2486 TRACE_ALLOC         "BalancedRandom reselectDisk %d not valid in current cycle\n"
+TRCID_       0x2487 TRACE_ALLOC         "BalancedRandom reselectDisk %d seqLen %d prob %f >= %f %s block\n"
+TRCID_       0x2488 TRACE_ALLOC         "BalancedRandom reselectDisk %d not avail in current cycle Len=%d"
+TRCID_       0x2489 TRACE_ALLOC         "BalancedRandom reselectDisk %d newDisk %d, err %d, prob %f\n"
+TRCID_       0x248A TRACE_ALLOC         "BalancedRandom excludeDisk %d err=%d\n"
+TRCID_       0x248B TRACE_ALLOC         "Restricted selectDisk %d err %d\n"
+TRCID_       0x248C TRACE_ALLOC         "Restricted reselectDisk %d newDisk %d, err 0, prob -666.0\n"
+TRCID_       0x248D TRACE_ALLOC         "Restricted excludeDisk %d\n"
+TRCID_       0x248E TRACE_ALLOC         "WeightedBitmap: created 0x%lX base0x%lX size %d.\n"
+TRCID_       0x248F TRACE_ALLOC         "WeightedBitmap: deleted 0x%lX size %d.\n"
+TRCID_       0x2490 TRACE_ALLOC         "WeightedBitmap: assignedWeights to 0x%lX size %d method %s %s\n"
+TRCID_       0x2491 TRACE_ALLOC         "%d: initWeight %f current %f nOnes %d\n"
+TRCID_       0x2492 TRACE_ALLOC         "WeightedBitmap: refreshWeights to 0x%lX size %d\n"
+TRCID_       0x2493 TRACE_ALLOC         " added %f setting %d to %f nOneBits=%d\n"
+TRCID_       0x2494 TRACE_ALLOC         "WeightedBitmap: refreshWeightsFor2ndCycle to 0x%lX size %d\n"
+TRCID_       0x2495 TRACE_ALLOC         "WeightedBitmap: decrWeight 0x%lX of %d, weight %f\n"
+TRCID_       0x2496 TRACE_ALLOC         "WeightedBitmap: setToZero 0x%lX of %d, Errno %d, weight %f\n"
+TRCID_       0x2497 TRACE_ALLOC         "Weighted reset disk started\n"
+TRCID_       0x2498 TRACE_ALLOC         "No heap space for disk array\n"
+TRCID_       0x2499 TRACE_ALLOC         " disk %d avg write dist %f\n"
+TRCID_       0x249A TRACE_ALLOC         " group %d avg write dist %f\n"
+TRCID_       0x249B TRACE_ALLOC         " group %d has %d disks\n"
+TRCID_       0x249C TRACE_ALLOC         "Weighted reset disk complete, nFail=%d nDisks=%d\n"
+TRCID_       0x249D TRACE_ALLOC         "Weighted selectDisk %d fg %d\n"
+TRCID_       0x249E TRACE_ALLOC         "Weighted reselectDisk %d newDisk %d, err 0, prob -666.0\n"
+TRCID_       0x249F TRACE_ALLOC         "Weighted excludeDisk %d \n"
+TRCID_       0x24A0 TRACE_ALLOC         "Heap 0x%lX nElems=%d heapify(%d) min = %d %f\n"
+TRCID_       0x24A1 TRACE_ALLOC         "Heap 0x%lX nElems=%d inserted id %d at %d weight %f\n"
+TRCID_       0x24A2 TRACE_ALLOC         "Heap 0x%lX nElems=%d nX=0, MIN=1 id %d weight %f\n"
+TRCID_       0x24A3 TRACE_ALLOC         "Heap 0x%lX nElems=%d nX=%d x[0]=%d, MIN id %d at %d weight %f "
+TRCID_       0x24A4 TRACE_ALLOC         "Heap 0x%lX nElems=%d reducing weights by %f\n"
+TRCID_       0x24A5 TRACE_ALLOC         "Heap 0x%lX nElems=%d removing id %d from %d weight %f\n"
+TRCID_       0x24A6 TRACE_FS            "dinitDiscontig inode %d snap %d block %d isFilesetRoot %d\n"
+TRCID_       0x24A7 TRACE_FS            "dinitDiscontig failed checkHeader rc %d\n"
+TRCID_       0x24A8 TRACE_FS            "dread ino %d snap %d blk %lld slot %d off 0x%llX -> ino %d gen %d mode 0x%X name %s\n"
+TRCID_       0x24A9 TRACE_FS            "dreadSnap %d slot %d -> ino %d snap %d (0x%X) gen 0x%X mode 0x%X name %s\n"
+TRCID_       0x24AA TRACE_FS            "dreadSnap LATEST -> ino %d snap %d (0x%X) gen 0x%X mode 0x%X name %s\n"
+TRCID_       0x24AB TRACE_FS            "readSnapDirEntries(slot %d) returns doffset 0x%X err %d\n"
+TRCID_       0x24AC TRACE_FS            "readSnapLinkEntries dir %d snap %d fileset %d slot %d parent inode %d gen 0x%X"
+TRCID_       0x24AD TRACE_FS            "readSnapLinkEntries(slot %d) returns doffset 0x%X err %d\n"
+TRCID_       0x24AE TRACE_FS            "dreadSnap %d slot %d -> ino %d (0x%X) gen 0x%X name %s\n"
+TRCID_       0x24AF TRACE_FS            "readSnapLinkEntries: exit filesetP 0x%lX (%d) nSnapItems %d err %d"
+TRCID_       0x24B0 TRACE_DFS           "FileSystem::getObjectRealm: rc %d local realm object\n"
+TRCID_       0x24B1 TRACE_DFS           "FileSystem::getObjectRealm: rc %d realm %s\n"
+TRCID_       0x24B2 TRACE_TS            "snapshot: quiescing vfs operations"
+TRCID_       0x24B3 TRACE_TS            "snapshot: resuming vfs ops snap %d flags 0x%X\n"
+TRCID_       0x24B4 TRACE_TS            "snapshot: global sync"
+TRCID_       0x24B5 TRACE_TS            "delSnapshot snap %d block %d\n"
+TRCID_       0x24B6 TRACE_TS            "tsdelsnapshot deleteFile inode %d snap %d err %d\n"
+TRCID_       0x24B7 TRACE_TS            "delSnapshot complete, snap %d block %d, err %d\n"
+TRCID_       0x24B8 TRACE_TS            "delSnapshot snap %d stat %s dirName %s %s delete required\n"
+TRCID_       0x24B9 TRACE_TS            "delSnapshot snap %d deleting all snapshot data\n"
+TRCID_       0x24BA TRACE_TS            "delSnapshot prev snap %d has no file desc!\n"
+TRCID_       0x24BB TRACE_TS            "delete snapshot item failed, Id %d state %s dir %s, err %d\n"
+TRCID_       0x24BC TRACE_TS            "make snapshot inode file returns err %d"
+TRCID_       0x24BD TRACE_TS            "flushDir: failed to flush dir with inode %d, err=%d"
+TRCID_       0x24BE TRACE_TS            "mkdirAllsnapshots: created %s in filesystem root, inode %d, err=%d"
+TRCID_       0x24BF TRACE_TS            "CreateAllsnapshotsDir: enter on filesystem %s upgrading %d state %u"
+TRCID_       0x24C0 TRACE_TS            "CreateAllsnapshotsDir: punting in favor of SgMgr"
+TRCID_       0x24C1 TRACE_TS            "CreateAllsnapshotsDir: found pre-existing entry %s"
+TRCID_       0x24C2 TRACE_TS            "CreateAllsnapshotsDir: trouble looking up %s, got %d"
+TRCID_       0x24C3 TRACE_TS            "CreateAllsnapshotsDir: failed writing inodeNum to SGDesc err=%d"
+TRCID_       0x24C4 TRACE_TS            "CreateAllsnapshotsDir: exit err=%d"
+TRCID_       0x24C5 TRACE_TS            "RmdirAllsnapshots: enter on filesystem %s"
+TRCID_       0x24C6 TRACE_TS            "RmdirAllsnapshots: incorrect inode number found %d expected %d"
+TRCID_       0x24C7 TRACE_TS            "RmdirAllsnapshots: rmdir /%s failed: %d"
+TRCID_       0x24C8 TRACE_TS            "RmdirAllsnapshots: failed clearing inodeNum in SGDesc err=%d"
+TRCID_       0x24C9 TRACE_TS            "RmdirAllsnapshots: exit; err=%d"
+TRCID_       0x24CA TRACE_TS            "linkSnapshot: dirInode %d/%s => inode %d snap %d gen %u\n"
+TRCID_       0x24CB TRACE_TS            "linkSnapshot exit: inodeNum %d, err %d\n"
+TRCID_       0x24CC TRACE_TS            "mkdirSnapName: failed to update SnapName dir, err=%d"
+TRCID_       0x24CD TRACE_TS            "mkdirSnapName: exit snapName %s in /.allsnapshots, inode %d, err %d"
+TRCID_       0x24CE TRACE_TS            "removeSnapNameEntry: removing fileset name %s"
+TRCID_       0x24CF TRACE_TS            "removeSnapNameEntry: fileset name %s has inode %d, but root is %d"
+TRCID_       0x24D0 TRACE_TS            "removeSnapNameEntry exit: err %d\n"
+TRCID_       0x24D1 TRACE_TS            "rmdirSnapName: enter %s snapP %x"
+TRCID_       0x24D2 TRACE_TS            "rmdirSnapName: trouble looking up %d/%s, err %d"
+TRCID_       0x24D3 TRACE_TS            "rmdirSnapName: listSnapName failed err=%d"
+TRCID_       0x24D4 TRACE_TS            "rmdirSnapName: snapshot name %s doesn't exist err=%d"
+TRCID_       0x24D5 TRACE_TS            "rmdirSnapName: fileset %s in SnapName %s dir doesn't exist"
+TRCID_       0x24D6 TRACE_TS            "rmdirSnapName: fileset %s in SnapName %s failed to delete snapId %d err %d"
+TRCID_       0x24D7 TRACE_TS            "rmdirSnapName: fileset %s in SnapName %s failed to delete entry err %d"
+TRCID_       0x24D8 TRACE_TS            "rmdirSnapName: incorrect inode number found %d expected %d"
+TRCID_       0x24D9 TRACE_TS            "rmdirSnapName: rmdir /%d/%s failed: %d"
+TRCID_       0x24DA TRACE_TS            "rmdirSnapName: exit; err=%d"
+TRCID_       0x24DB TRACE_TS            "constructSnapName: enter; snapId %u snapName %s"
+TRCID_       0x24DC TRACE_TS            "constructSnapName: exit err %d"
+TRCID_       0x24DD TRACE_FS            "TransferAllSnapshots: enter on filesystem %s with %d snap items"
+TRCID_       0x24DE TRACE_FS            "TransferAllSnapshots: snap item #%u, snapId %u, status %d, has empty snapshot name; skipping."
+TRCID_       0x24DF TRACE_FS            "TransferAllSnapshots: item #%u, snapshot name %s, snapId %u, status %d, has valid inode file; cannot upgrade."
+TRCID_       0x24E0 TRACE_FS            "TransferAllSnapshots exit: transferred %d snapshots with err %d"
+TRCID_       0x24E1 TRACE_FS            "EmptyAllsnapshots: enter on filesystem %s allsnapshots ino %d"
+TRCID_       0x24E2 TRACE_FS            "EmptyAllsnapshots: failed to list .allsnapshots (ino %d) err %d"
+TRCID_       0x24E3 TRACE_FS            "EmptyAllsnapshots: exit err %d"
+TRCID_       0x24E4 TRACE_TS            "runTSCrSnapshot enter: sg %s\n"
+TRCID_       0x24E5 TRACE_TS            "Snapshot %s includes %d filesets:\n"
+TRCID_       0x24E6 TRACE_TS            "Snapshot %s includes all filesets\n"
+TRCID_       0x24E7 TRACE_TS            "runTSCrSnapshot exit: err %d\n"
+TRCID_       0x24E8 TRACE_TS            "  including % 6u: %s\n"
+TRCID_       0x24E9 TRACE_TS            "  involves % 6d: %s\n"
+TRCID_       0x24EA TRACE_FS            "createFilesetSnapshot exit: snapP 0x%lX snapInodeDA %d:%lld snapDirInum %d err %d\n"
+TRCID_       0x24EB TRACE_TS            "runTSCrSnapshot: creating snapshot\n"
+TRCID_       0x24EC TRACE_TS            "createOldSnapshot exit: err %d\n"
+TRCID_       0x24ED TRACE_TS            "runTSFsCtlCmd enter: sg %s\n"
+TRCID_       0x24EE TRACE_TS            "runTSFsCtlCmd exit: err %d\n"
+TRCID_       0x24EF TRACE_FS            "restSnapFilesets: enter snap %d"
+TRCID_       0x24F0 TRACE_FS            "restSnapFilesets: can't find fileset %d in snap %d err %d"
+TRCID_       0x24F1 TRACE_FS            "restSnapFilesets: updating fileset %d from snap %d to name %s status %s root %d parent fileset %d comment %s"
+TRCID_       0x24F2 TRACE_FS            "restSnapFilesets: restored fileset %d err %d"
+TRCID_       0x24F3 TRACE_FS            "restSnapFilesets: exit snap %d err %d"
+TRCID_       0x24F4 TRACE_TS            "resSnapshot snap %d block %d\n"
+TRCID_       0x24F5 TRACE_FS            "Restore snap %d while deleting inode %d, err %d\n"
+TRCID_       0x24F6 TRACE_FS            "Restore snap %d while deleting user inode %d, err %d\n"
+TRCID_       0x24F7 TRACE_FS            "Restore snap %d while restoring inode %d, err %d\n"
+TRCID_       0x24F8 TRACE_TS            "resSnapshot complete, snap %d block %d, err %d saveErr %d\n"
+TRCID_       0x24F9 TRACE_TS            "restoreSnapshot enter: sg %s snap %d\n"
+TRCID_       0x24FA TRACE_FS            "restoreSnap set sgdesc userQ %d groupQ %d filesetQ %d xattr %d"
+TRCID_       0x24FB TRACE_TS            "restoreSnapshot exit: err %d\n"
+TRCID_       0x24FC TRACE_TS            "runTSResSnapshot enter: sg %s\n"
+TRCID_       0x24FD TRACE_FS            "Restore SystemFiles: root usr %d grp %d fileset %d xattr %d snap usr %d grp %d fset %d xattr %d"
+TRCID_       0x24FE TRACE_TS            "runTSDelSnapshot enter: sg %s snap %s\n"
+TRCID_       0x24FF TRACE_TS            "runTSDelSnapshot exit: sg %s snap %s err %d\n"
+TRCID_       0x2500 TRACE_TS            "CompleteDeleteSnapItem snapshot Id %d state %s dir %s\n"
+TRCID_       0x2501 TRACE_TS            "lsSnapshot snap %d block %d\n"
+TRCID_       0x2502 TRACE_TS            "lsSnapshot complete, snap %d block %d, err %d\n"
+TRCID_       0x2503 TRACE_TS            "runTSLsSnapshot enter: sg %s\n"
+TRCID_       0x2504 TRACE_TS            "runTSLsSnapshot exit: err %d\n"
+TRCID_       0x2505 TRACE_TS            "lsFset doOneInode: fsid %u ino %u #ino %u #data %llu"
+TRCID_       0x2506 TRACE_FS            "getMinSnapId for inode %d gen 0x%X snap %d fileset %d\n"
+TRCID_       0x2507 TRACE_FS            "Checking inode %d snap %d status %s %s genNum 0x%X = 0x%X\n" $3=inodestatus_id2name
+TRCID_       0x2508 TRACE_FS            "getMinSnapId for inode %d gen 0x%X -> minSnap %d err %d\n"
+TRCID_       0x2509 TRACE_TS            "runTSSnapLatest sg %s op %s arg %s\n"
+TRCID_       0x250A TRACE_TS            "runTSSnapLatest exit: err %d, clErr %d\n"
+TRCID_       0x250B TRACE_TS            "runTSSnapDir sg %s argc %d"
+TRCID_       0x250C TRACE_TS            "runTSSnapDir exit: err %d"
+TRCID_       0x250D TRACE_FS            "SFSBuildAllocMaps: id %08X\n"
+TRCID_       0x250E TRACE_FS            "SFSBuildAllocMaps: id %08X: returning with rc %d\n"
+TRCID_       0x250F TRACE_FS            "Created inode file: dataBytesPerFileBlock %d, subblocksPerFileBlock %d, fileSize %lld, nFullBlocks %lld"
+TRCID_       0x2510 TRACE_FS            "FSOperation::acquireBuffer exit: error %d\n"
+TRCID_       0x2511 TRACE_FS            "FSOperation::createLockedFile enter: inode %d snap %d fileset %d, lock mode wanted %s\n" $4=lockmode_id2name
+TRCID_       0x2512 TRACE_FS            "createLockedFile: fsOfP 0x%X, inode %d, genNum %d, isInodeValid %d\n"
+TRCID_       0x2513 TRACE_FS            "FSOperation::createLockedFile exit: err %d, inode %d snap %d, hold count %d didCreateOpenFile %d lock mode granted %s\n" $6=lockmode_id2name
+TRCID_       0x2514 TRACE_FS            "FSOperation::relFileLock: file lock mode %s, dm lock mode %s\n" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x2515 TRACE_FS            "FSOperation::relFileLock: file lock mode %s, dm lock mode %s\n" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x2516 TRACE_FS            "SFSSetBuffg enter: oiP 0x%lX nBuffers %d\n"
+TRCID_       0x2517 TRACE_FS            "SFSSetBuffg exit: err %d\n"
+TRCID_       0x2518 TRACE_FS            "SFSSetTSfattr enter: oiP 0x%lX cmd 0x%X what 0x%X args %d %d %d %d rCodeP 0x%lX"
+TRCID_       0x2519 TRACE_FS            "SFSSetTSfattr attrNameLength %d attrName %s"
+TRCID_       0x251A TRACE_FS            "SFSSetTSfattr exit: err %d reason %d values %d %d"
+TRCID_       0x251B TRACE_FS            "LL:InodeToOpenFile inode %d snap %d open %d llOfP 0x%lX err %d %d"
+TRCID_       0x251C TRACE_FS            "LLOpenFile::~LLOpenFile inode %d snap %d destroyInode %d"
+TRCID_       0x251D TRACE_FS            "LLOpenFile::create sg %s inode %d snap %d subBlk %d repl %d/%d ind %d alloc %d\n"
+TRCID_       0x251E TRACE_FS            "LLOpenFile::destroy inode %d snap %d"
+TRCID_       0x251F TRACE_FS            "LLOpenFile::destroy access indBlock %d"
+TRCID_       0x2520 TRACE_FS            "LLOpenFile::remove data blocks from inode"
+TRCID_       0x2521 TRACE_FS            "LLOpenFile::remove indirect block"
+TRCID_       0x2522 TRACE_FS            "LLOpenFile::destroy freeing data blocks 0 to %d"
+TRCID_       0x2523 TRACE_FS            "LLOpenFile::destroy set file size to 0"
+TRCID_       0x2524 TRACE_FS            "LLOpenFile::destroy set nlink to 0"
+TRCID_       0x2525 TRACE_FS            "LLOpenFile::destroy exit: rc %d"
+TRCID_       0x2526 TRACE_FS            "LLOpenFile::flushIndirect: write ind block index %d ind level %d for inode %d\n"
+TRCID_       0x2527 TRACE_FS            "LLOpenFile::writeInode: write sg %s inode %d snap %d\n"
+TRCID_       0x2528 TRACE_FS            "LLOpenFile::writeInode: write sg %s inode %d snap %d complete, err %d\n"
+TRCID_       0x2529 TRACE_FS            "LL:putBlockAddr %lld inode %d snap %d newDa %s n %d [%d:%lld, %d:%lld]"
+TRCID_       0x252A TRACE_FS            "LLOpenFile::open enter sg %s Inode %d snapId %d recSize %d\n"
+TRCID_       0x252B TRACE_FS            "LLOpenFile::open exit err %d\n"
+TRCID_       0x252C TRACE_FS            "LLOpenFile::initIndCache sg %s inode %d snap %d gen 0x%x ind %d\n"
+TRCID_       0x252D TRACE_FS            "LLOpenFile::read enter: inodeNum %d snap %d record %d len %d\n"
+TRCID_       0x252E TRACE_FS            "LLOpenFile::read exit: inodeNum %d record %d len %d, rc %d\n"
+TRCID_       0x252F TRACE_FS            "LLOpenFile::readDittoRecord from sg %s %d snapId %d record %d\n"
+TRCID_       0x2530 TRACE_FS            "LLOpenFile::readInode found ditto inode in snap %d rec %d"
+TRCID_       0x2531 TRACE_FS            "LLOpenFile::readDittoRecord HOLE in snap %d at rec %d\n"
+TRCID_       0x2532 TRACE_FS            "LLOpenFile::cachedRec DITTO at 0x%X inode %d snap %d rec %d\n"
+TRCID_       0x2533 TRACE_FS            "LLOpenFile::readInode: ditto inode  %d in snap %d found modified (%d) in next snap %d after %d retries"
+TRCID_       0x2534 TRACE_FS            "setCachedRecAddr(%s ino %d sna %d) rec %d len %d recda %s n %d [0] %d:%lld oob %d, err %d\n"
+TRCID_       0x2535 TRACE_FS            "LLOpenFile::write enter: sg %s inodeNum %d record %d len %d\n"
+TRCID_       0x2536 TRACE_FS            "LLOpenFile::write exit: inodeNum %d record %d len %d, rc %d\n"
+TRCID_       0x2537 TRACE_FS            "readAndValidateBlock: da %d:%lld not avail for recovery: fcv %d availability %s\n"
+TRCID_       0x2538 TRACE_FS            "LLOpenFile::Init: tscRegisterService failed, rc %d\n"
+TRCID_       0x2539 TRACE_FS            "llMsgIndBlockUpdate inode %d snap %d blockIndex %lld DAIndex %d\n"
+TRCID_       0x253A TRACE_FS            "LLOpenFile::mhInodeStatUpdate inode %d curMetadataReplicas %d curDataReplicas %d"
+TRCID_       0x253B TRACE_FS            "llMsgFailureUpdate inode %d blockIndex %lld nUpdates %d flags 0x%X"
+TRCID_       0x253C TRACE_FS            "LocalUnlock: setting outOfBandUpdate flag for record %d\n"
+TRCID_       0x253D TRACE_FS            "LLOpenFile::LockRange: inode %d record %d-%d in %s\n"
+TRCID_       0x253E TRACE_FS            "LLOpenFile::LockSet: inode %d setSize %d in %s\n"
+TRCID_       0x253F TRACE_FS            "LLOpenFile::LockSet: node %s: status %d err %d\n" $1=nodeaddr_id2name
+TRCID_       0x2540 TRACE_FS            "LLOpenFile::UnlockRange: inode %d record %d-%d in %s\n"
+TRCID_       0x2541 TRACE_FS            "LLOpenFile::UnlockSet: inode %d setSize %d updates %d in %s\n"
+TRCID_       0x2542 TRACE_FS            "LLOpenFile::mhLockRange: inode %lld record %d-%d mode %d in sg %08X:%08X\n"
+TRCID_       0x2543 TRACE_FS            "LLOpenFile::mhLockSet: inode %lld setSize %d mode %d in sg %08X:%08X\n"
+TRCID_       0x2544 TRACE_FS            "LLOpenFile::updateCachedRecAddrs: sg %s inode %d snap %d indBlockIndex %lld nUpdates %d firstDataBlock %lld lastDataBlock %lld"
+TRCID_       0x2545 TRACE_FS            "LLOpenFile:: check 0x%lX rec %d ind %d recDA %d:%lld\n"
+TRCID_       0x2546 TRACE_FS            "  fixing @0x%08lX: record %d index %d from %s [%d] %d:%lld to %s [%d] %d:%lld\n"
+TRCID_       0x2547 TRACE_FS            "LL:indBlockUpdate sg %s inode %d snap %d nFull %d nUpdates %d lev %d ind %lld\n"
+TRCID_       0x2548 TRACE_FS            "LL::indBlockUpdate flushing cache oldLev %d newLev %d\n"
+TRCID_       0x2549 TRACE_FS            "LL::invalidateIndCache inode %d snap %d"
+TRCID_       0x254A TRACE_FS            "LLOpenFile::repairFile: inode %d snap %d, file %d of %d, what %d\n"
+TRCID_       0x254B TRACE_FS            "LLOpenFile::repairFile: repairing inode 0 snap %d\n"
+TRCID_       0x254C TRACE_FS            "LLOpenFile::repairFile: getting config mutex\n"
+TRCID_       0x254D TRACE_FS            "LLOpenFile::repairFile: scanning ind block level %d index %lld\n"
+TRCID_       0x254E TRACE_FS            "LLOpenFile::repairFile: repairing %d blocks in range %d .. %d (records %lld .. %lld)\n"
+TRCID_       0x254F TRACE_FS            "LLOpenFile::repairFile: repairing block %d nRecords %d\n"
+TRCID_       0x2550 TRACE_FS            "LLOpenFile::repairFile: repairing ind block %d level %d\n"
+TRCID_       0x2551 TRACE_FS            "LLOpenFile::repairFile exit: rc %d\n"
+TRCID_       0x2552 TRACE_FS            "LL::updateOrInvalidate inode %d snap %d migr %d from %lld to %lld\n"
+TRCID_       0x2553 TRACE_FS            "LLOpenFile::makePseudoIndirect enter: indLevel %d, inode %d clear %d\n"
+TRCID_       0x2554 TRACE_FS            "LLOpenFile::makePseudoIndirect exit: err %d\n"
+TRCID_       0x2555 TRACE_FS            "LLOpenFile::getIndirectDesc: inode %d snap %d hash 0x%08X indLevel %d, indIndex %lld flags 0x%X\n"
+TRCID_       0x2556 TRACE_FS            "getIndirectDescriptor: created ind block %d,%lld inode %d\n"
+TRCID_       0x2557 TRACE_FS            "LLOpenFile::getIndirectDescriptor exit: err %d ibdP 0x%08lX\n"
+TRCID_       0x2558 TRACE_FS            "LL::accessParentIndBlock enter: inode %d snap %d plevel %d index %lld options 0x%x\n"
+TRCID_       0x2559 TRACE_FS            "LLOpenFile::accessParentIndBlock exit: err %d\n"
+TRCID_       0x255A TRACE_FS            "LL::createIndirectBlock inode %d snap %d level %d index %lld\n"
+TRCID_       0x255B TRACE_FS            "LLOpenFile::createIndirectBlock exit: err %d\n"
+TRCID_       0x255C TRACE_FS            "LLOpenFile::accessIndirectBlock(inode %d, snap %d, ind block %lld): makeValid %d createDesc %d nonBlock %d"
+TRCID_       0x255D TRACE_FS            "LLOpenFile::accessIndirectBlock(inode %d, snap %d ind block %lld): returns %d\n"
+TRCID_       0x255E TRACE_FS            "LLOpenFile::increaseIndirectionLevel sg %s inode %d snap %d old lev %d newIndBlkP=0x%X (lev %d)\n"
+TRCID_       0x255F TRACE_FS            "LLOpenFile::increaseIndirectionLevel exit: inode %d lev %d err %d\n"
+TRCID_       0x2560 TRACE_FS            "LL::makeIndBufferValid inode %d snap %d level %d index %lld\n"
+TRCID_       0x2561 TRACE_FS            "LLOpenFile::makeIndBufferValid: initializing new ind block\n"
+TRCID_       0x2562 TRACE_FS            "LLOpenFile::makeIndBufferValid: reading ind block from disk\n"
+TRCID_       0x2563 TRACE_FS            "LLOpenFile::makeIndBufferValid exit: err %d\n"
+TRCID_       0x2564 TRACE_FS            "LL:allocIndirect inode %d snap %d newIndDa %s n=%d [0]=%d:%lld err %d\n"
+TRCID_       0x2565 TRACE_FS            "LLOpenFile::getIndirectBuffer Enter: inode %d level %d index %lld\n"
+TRCID_       0x2566 TRACE_FS            "LLOpenFile::getIndirectBuffer exit: error %d\n"
+TRCID_       0x2567 TRACE_FS            "LLOpenFile::flushIndirects enter\n"
+TRCID_       0x2568 TRACE_FS            "LLOpenFile::flushIndirects exit: err %d\n"
+TRCID_       0x2569 TRACE_FS            "LL::getDataBlockDiskAddr enter: data block %lld \n"
+TRCID_       0x256A TRACE_FS            "LL::getDataBlockDiskAddr inode %d snap %d block %lld da is %s %d:%lld (1 of %d)\n"
+TRCID_       0x256B TRACE_FS            "discarding ind block %d,%lld ibdP 0x%lX inode %d\n"
+TRCID_       0x256C TRACE_FS            "LLOpenFile::writeBlock enter: inodeNum %d block %lld\n"
+TRCID_       0x256D TRACE_FS            "LLOpenFile::writeBlock exit: inodeNum %d block %lld, rc %d\n"
+TRCID_       0x256E TRACE_FS            "LL::readBlock enter: inode %d snap %d block %lld serial=%d valid=%d ditto=%d reset=%d\n"
+TRCID_       0x256F TRACE_FS            "LL:readBlock inode %d snap %d block %lld -- changed\n"
+TRCID_       0x2570 TRACE_FS            "LL:readBlock inode %d snap %d block %lld trying to merge %d records."
+TRCID_       0x2571 TRACE_FS            "LL::readBlock exit: inode %d snap %d block %lld, rc %d\n"
+TRCID_       0x2572 TRACE_FS            "LLOpenFile::copyBlockToSnapshot inode %d snap %d rec %d fileset %d"
+TRCID_       0x2573 TRACE_FS            "LLOpenFile::copyBlock for sg %X:%X inode %d, srcSnapId %d fileset %d mgr %s\n" $6=nodeaddr_id2name
+TRCID_       0x2574 TRACE_FS            "LLOpenFile::copyBlock for inode %d, err %d, rc %d, status %d\n"
+TRCID_       0x2575 TRACE_FS            "LLOpenFile::moveBlockToSnapshot %d sg %s inode %d to snap %d\n"
+TRCID_       0x2576 TRACE_FS            "LLOpenFile::moveBlock for sg %X:%X inode %d, srcSnapId %d mgr %s\n" $5=nodeaddr_id2name
+TRCID_       0x2577 TRACE_FS            "LLOpenFile::movelock for inode %d, err %d, rc %d, status %d\n"
+TRCID_       0x2578 TRACE_FS            "LLOpenFile::checkInodeAddrAtSGMgr %d sg %s inode %d\n"
+TRCID_       0x2579 TRACE_FS            "LLOpenFile::checkInodeAddr for inode %d, err %d, rc %d, status %d"
+TRCID_       0x257A TRACE_FS            "LL:clearInodeIndirectPts inode %d snap %d is fileset file"
+TRCID_       0x257B TRACE_FS            "LL:copyInodeBlock inode %d record %d from src snapId %d fileset %d\n"
+TRCID_       0x257C TRACE_FS            "LL:copyInodeBlock sg %s inode %d snap %d: fsck is recovering"
+TRCID_       0x257D TRACE_FS            "LL:copyInodeBlock prev snap %d is being deleted"
+TRCID_       0x257E TRACE_FS            "LL:copyInodeBlock prev snap %d is being deleted"
+TRCID_       0x257F TRACE_FS            "LL:copyInodeBlock to snap %d record %d newDA %s n=%d [0]=%d:%lld err %d\n"
+TRCID_       0x2580 TRACE_FS            "LL:copyInodeBlock %d writeRepDA %s %d:%lld err %d\n"
+TRCID_       0x2581 TRACE_FS            "LL:copyInodeBlock %d dst snap %d blockDA %s n=%d [0]=%d:%lld err %d\n"
+TRCID_       0x2582 TRACE_FS            "LL:copyInodeBlock snap %d inode %d complete err %d\n"
+TRCID_       0x2583 TRACE_FS            "LL:moveInodeBlock sg %s inodeNum %d from snap %d to snap %d\n"
+TRCID_       0x2584 TRACE_FS            "LL:moveInodeBlock %d putBlockAddr err %d"
+TRCID_       0x2585 TRACE_FS            "LL:moveInodeBlock %d putBlockAddr err %d"
+TRCID_       0x2586 TRACE_FS            "LL:moveInodeBlock snap %d inode %d complete err %d\n"
+TRCID_       0x2587 TRACE_FS            "LL::sendIndBlockUpdate sg %s inode %d snap %d blk %lld da %s %d:%lld indBlkLevel %d\n"
+TRCID_       0x2588 TRACE_FS            "LL::sendIndBlockUpdate nonLeaf nFull %lld maxLev %d indLev %d ind %lld daInd %d DA[0] %d:%lld to %d dests\n"
+TRCID_       0x2589 TRACE_FS            "LL::sendIndBlockUpdate Leaf nFull %lld maxLev %d indLev %d ind %lld daInd %d DA[0] %d:%lld to %d dests\n"
+TRCID_       0x258A TRACE_FS            "LL::sendIndBlockUpdate sg %s inode %d snap %d blk %lld complete, err %d\n"
+TRCID_       0x258B TRACE_FS            "LL:checkInodeAddr snap %d inode %d err %d\n"
+TRCID_       0x258C TRACE_FS            "LL:checkInodeAddr returns da %s (n=%d [0]=%d:%lld)\n"
+TRCID_       0x258D TRACE_FS            "LL::wasBlockCopied snap %d block %lld\n"
+TRCID_       0x258E TRACE_FS            "LL::wasBlockCopied snap %d block %lld complete err %d\n"
+TRCID_       0x258F TRACE_FS            "LLLockSync::nodeRecoveryBegin: nodeRecoveryStatus %d llLockStatus %d recoverCount %d"
+TRCID_       0x2590 TRACE_FS            "LLLockSync::nodeRecoveryEnd: nodeRecoveryStatus %d llLockStatus %d recoverCount %d"
+TRCID_       0x2591 TRACE_FS            "LLLockSync::llRepairLockSet: nodeRecoveryStatus %d llLockStatus %d recoverCount %d"
+TRCID_       0x2592 TRACE_FS            "LLLockSync::llRepairLockUnset: nodeRecoveryStatus %d llLockStatus %d recoverCount %d"
+TRCID_       0x2593 TRACE_FS            "LLLockSync::getMountDests: isLLRepair %d nodeRecoveryStatus %d llLockStatus %d recoverCount %d"
+TRCID_       0x2594 TRACE_FS            "LLLockSync::waitForRecovery: isLLRepair %d nodeRecoveryStatus %d llLockStatus %d recoverCount %d"
+TRCID_       0x2595 TRACE_FS            "FIDU LL::Entered traverseIndBlock for inode %d snapid %d\n"
+TRCID_       0x2596 TRACE_FS            "FIDU LL::found a match in the low-level file\n"
+TRCID_       0x2597 TRACE_FS            "FIDU LL::for inode %d level completed %d with index %d\n"
+TRCID_       0x2598 TRACE_FS            "FIDU LL::trav inode %d snap %d, err %d timeTaken %s UTC\n"
+TRCID_       0x2599 TRACE_FS            "FIDU LL::trav inode %d snap %d, err %d\n"
+TRCID_       0x259A TRACE_FS            "LL::copyInodeToPrevSnapshot inode %d snapId %d"
+TRCID_       0x259B TRACE_FS            "LL:copyInodeToSnapshot complete, inode %d snap src %d dst %d err %d"
+TRCID_       0x259C TRACE_ALLOC         "LLAllocMap::alloc: %d:%lld len %d\n"
+TRCID_       0x259D TRACE_ALLOC         "LLAllocMap::alloc: failed to alloc on disk %d\n"
+TRCID_       0x259E TRACE_ALLOC         "LLAllocMap::getAllocWeight disk=%d weight=%f\n"
+TRCID_       0x259F TRACE_ALLOC         "LLAllocMap::getAllocWeight -- FIXED Allocation\n"
+TRCID_       0x25A0 TRACE_FS            "cleanIndBlockDesc inode %d snap %d lev %d index %lld valid %d destroy %d\n"
+TRCID_       0x25A1 TRACE_FS            "StealIndBlockDesc enter\n"
+TRCID_       0x25A2 TRACE_FS            "StealIndBlockDesc: wrapped around; new aggressiveness %d\n"
+TRCID_       0x25A3 TRACE_FS            "StealIndBlockDesc: failure to get indBlockDesc err %d\n"
+TRCID_       0x25A4 TRACE_FS            "recycleIndBlockDesc: stealing ind %d,%lld inode %d snap %d (dirty %d)\n"
+TRCID_       0x25A5 TRACE_FS            "stealIndirect enter: buffer 0x%lX llfileP 0x%lX (0x%lX) ofP 0x%lX (0x%lX)\n"
+TRCID_       0x25A6 TRACE_FS            "stealIndirect exit: buffer 0x%lX seq 0x%X err %d\n"
+TRCID_       0x25A7 TRACE_FS            "indBlockDesc::writeIndForLogWrap: write ind block %d,%lld inode %d snap %d\n"
+TRCID_       0x25A8 TRACE_FS            "indBlockDesc::writeIndForLogWrap exit: error %d\n"
+TRCID_       0x25A9 TRACE_FS            "doRecoverIndirectCreate: inode %d snap %d indLev %d index %lld\n"
+TRCID_       0x25AA TRACE_FS            "doRecoverIndirectCreate: inode %d snapId %d complete err %d\n"
+TRCID_       0x25AB TRACE_FS            "RecoverIndirectCreate: inode %d ind %d,%d\n"
+TRCID_       0x25AC TRACE_FS            "RecoverIndirectCreate: bad log record\n"
+TRCID_       0x25AD TRACE_FS            "RecoverSnapIndirectCreate: inode %d snap %d indLev %d index %lld\n"
+TRCID_       0x25AE TRACE_FS            "RecoverSnapIndirectCreate: bad log record\n"
+TRCID_       0x25AF TRACE_FS            "RecoverFilePtrChange: ptrnum %d newda[0] %d:%lld\n"
+TRCID_       0x25B0 TRACE_FS            "RecoverFilePtrChange: maxRepl %d nValidAddrs %d broken %d daP[0] %d:%lld\n"
+TRCID_       0x25B1 TRACE_FS            "RecoverFilePtrChange: bad log record\n"
+TRCID_       0x25B2 TRACE_FS            "doRecoverIndirectPtrChange: inode %d snap %d ind %d,%lld ptrNum %d newda[0] %d:%lld\n"
+TRCID_       0x25B3 TRACE_FS            "RecoverIndirectPtrChange: inode %d ind %d,%d ptrnum %d newda[0] %d:%lld\n"
+TRCID_       0x25B4 TRACE_FS            "RecoverIndirectPtrChange: bad log record\n"
+TRCID_       0x25B5 TRACE_FS            "RecoverSnapIndirectPtrChange: inode %d snap %d ind %d,%d ptrnum %d newda[0] %d:%lld\n"
+TRCID_       0x25B6 TRACE_FS            "RecoverSnapIndirectPtrChange: bad log record\n"
+TRCID_       0x25B7 TRACE_FS            "RecoverSnapIndirectBatchPtrChange: inode %d snap %d ind %d,%d nPtrs %d varLen %d\n"
+TRCID_       0x25B8 TRACE_FS            "RecoverSnapIndirectBatchPtrChange: bad log record\n"
+TRCID_       0x25B9 TRACE_FS            "RecoverSnapIndirectBatchPtrChange: update indBlock index %d %s n %d %d:%lld\n"
+TRCID_       0x25BA TRACE_FS            "RecoverFileSizeChange: fileSize %lld nFullBlocks %lld lastBlockSubblocks %d\n"
+TRCID_       0x25BB TRACE_FS            "RecoverFileSizeChange: bad log record\n"
+TRCID_       0x25BC TRACE_FS            "RecoverFileIndLevelChange: level %d\n"
+TRCID_       0x25BD TRACE_FS            "RecoverFileIndLevelChange: bad log record\n"
+TRCID_       0x25BE TRACE_FS            "clearFileAllocators: ofP 0x%08lX (0x%lX) dataAllocP 0x%08lX isRestricted %d\n"
+TRCID_       0x25BF TRACE_FS            "FileMetadata::allocDataBlock inode %d snap %d poolId %d nSubblocks %d retry %d"
+TRCID_       0x25C0 TRACE_FS            "getDataAllocator: retry inode %d snap %d dataAllocP 0x%08lX thisAllocP 0x%08lX"
+TRCID_       0x25C1 TRACE_FS            "FileMetadata::allocDataBlock exit: da %s %d:%lld (1 of %d) err %d\n"
+TRCID_       0x25C2 TRACE_MNODE         "FM::cleanIndirectUpdates enter inode %d snap %d"
+TRCID_       0x25C3 TRACE_MNODE         "FM::cleanIndirectUpdates exit inode %d snap %d, dirtyIndirectUpdates %d\n"
+TRCID_       0x25C4 TRACE_SANERGY       "saveInodePtrs: inode %d, isHyperAllocated, civPtrsInvalid\n"
+TRCID_       0x25C5 TRACE_MNODE         "saveInodePtrs inode %d nDiskAddrBuffs %d hdrComplete %d"
+TRCID_       0x25C6 TRACE_FS            "getInode: sg %s inode %d snap %d fileset %d enter, genNum 0x%X flags 0x%X\n"
+TRCID_       0x25C7 TRACE_FS            "getInode: inode %d, genNum %d, isInodeValid %d, sanOfState.sanState %s\n"
+TRCID_       0x25C8 TRACE_FS            "getInode: inode %d, genNum %d, tryToBecomeMnode, isInodeValid %d\n"
+TRCID_       0x25C9 TRACE_FS            "getInode: inode %d, genNum %d, calling setCachedRecAddr, isInodeValid %d\n"
+TRCID_       0x25CA TRACE_FS            "getInode: valid generation 0x%X status %d objectVersion %lld"
+TRCID_       0x25CB TRACE_FS            "getInode: inode %d, genNum %d, need to read inode, isInodeValid %d\n"
+TRCID_       0x25CC TRACE_FS            "getInode: inode %d, genNum %d, readInodeRecord filesetId %d isInodeValid %d\n"
+TRCID_       0x25CD TRACE_FS            "getInode: inode %d, genNum %d, mnGetInode, isInodeValid %d\n"
+TRCID_       0x25CE TRACE_FS            "getInode: inode %d, genNum %d, readInodeHere %d\n"
+TRCID_       0x25CF TRACE_FS            "getInode: inode %d: flags 0x%X generation 0x%X nlink %d FullBlocks %lld\n"
+TRCID_       0x25D0 TRACE_SANERGY       "getInode: fileSize 0 (FSErrInconsistentInode) inode %d, sanHyper %d, nFullBlocks %lld, lastDataBlock %lld, lastBlockSubblocks %d\n"
+TRCID_       0x25D1 TRACE_SANERGY       "getInode: fileSize %lld, (FSErrInconsistentInode) inode %d, sanHyper %d, nFullBlocks %lld, lastDataBlock %lld, lastBlockSubblocks %d\n"
+TRCID_       0x25D2 TRACE_FS            "getInode: inode %d, genNum %d, pwexit calling setValid, inodeStatus %d\n"
+TRCID_       0x25D3 TRACE_FS            "getInode: inode %d valid inode generation %u != genNum %u\n"
+TRCID_       0x25D4 TRACE_FS            "getInode: inode %d snap %d exit: rc %d code %d flags 0x%X gen 0x%X nlink %d fileSize 0x%llX nFull %lld lastSubblocks %d\n"
+TRCID_       0x25D5 TRACE_FS            "getInode: inode %d snap %d status %s mode 0x%X valid %d DA %s fileMod %d dataCop %d\n" $3=inodestatus_id2name
+TRCID_       0x25D6 TRACE_FS            "mergeInode: inode %d gen %d snap %d enter\n"
+TRCID_       0x25D7 TRACE_FS            "mergeInode: inode %d: status %d generation 0x%X fileSize %lld nlink %d FullBlocks %lld indLevel %d\n"
+TRCID_       0x25D8 TRACE_SANERGY       "mergeIndoe:fileSize 0 (FSErrInconsistentInode) inode %d, sanHyper %d, nFullBlocks %lld, lastDataBlock %lld, lastBlockSubblocks %d\n"
+TRCID_       0x25D9 TRACE_SANERGY       "mergeInode: fileSize %lld, (FSErrInconsistentInode) inode %d, sanHyper %d, nFullBlocks %lld, lastDataBlock %lld, lastBlockSubblocks %d\n"
+TRCID_       0x25DA TRACE_FS            "mergeInode: inode %d exit: rc %d status %d generation 0x%X nlink %d fileSize %lld nFullBlocks %lld indLevel %d DA %s\n"
+TRCID_       0x25DB TRACE_FS            "marshall inode %d snap %d status %s mode 0x%X size %lld nfull %lld last %lld sub %d indLev %d DA %s\n" $3=inodestatus_id2name
+TRCID_       0x25DC TRACE_SANERGY       "marshall inode %d sanHyperAlloc %d\n"
+TRCID_       0x25DD TRACE_SANERGY       "marshall inode %d lastDataBlock %lld, nFullBlocks %lld sanHyper %d\n"
+TRCID_       0x25DE TRACE_SANERGY       "marshall inode %d, sanHyper %d, nFullBlocks %lld, (lastDataBlock %lld + 1)*maxDataReplicas=%lld\n"
+TRCID_       0x25DF TRACE_FS            "marshall inode %d snap %d last %lld rep %d i %d da %d:%lld\n"
+TRCID_       0x25E0 TRACE_FS            "marshall inode %d i %d is SANergy Phantom 0x%X:%lld\n"
+TRCID_       0x25E1 TRACE_FS            "FileMetadata::marshallInode inode %d snap %d full %d last %d\n"
+TRCID_       0x25E2 TRACE_FS            "FileMetadata::marshallInode exit: error %d\n"
+TRCID_       0x25E3 TRACE_FS            "FileMetadata::writeInode: inode %d snap %d options %d device %08X DA %s"
+TRCID_       0x25E4 TRACE_FS            "FileMetadata::writeInode: inode %d nlink %d token %s objectVersion %lld\n" $3=lockmode_id2name
+TRCID_       0x25E5 TRACE_FS            "FileMetadata::writeInode: inode %d write fileSize %lld nFullBlocks %lld lastSubs %ld dirty %d\n"
+TRCID_       0x25E6 TRACE_FS            "FileMetadata::writeInode: dirtyIndBufs %d, inodeDirtyCount %d\n"
+TRCID_       0x25E7 TRACE_FS            "FileMetadata::writeInode exit: error %d\n"
+TRCID_       0x25E8 TRACE_FS            "FileMetadata::getIndDesc inode %d snap %d level %d index %lld\n"
+TRCID_       0x25E9 TRACE_FS            "getIndirectDescriptor: created ind block %d,%lld inode %d snap %d\n"
+TRCID_       0x25EA TRACE_FS            "FileMetadata::getIndDesc inode %d snap %d ibdP=0x%X err %d\n"
+TRCID_       0x25EB TRACE_FS            "indDesc lev %d ind %lld %s%s%s%s da %s %d:%lld\n"
+TRCID_       0x25EC TRACE_FS            "FileMetadata::getIndirectBuffer exit: error %d\n"
+TRCID_       0x25ED TRACE_FS            "FileMetadata::makePseudoInd inode %d snap %d gen %d level %d clear %d\n"
+TRCID_       0x25EE TRACE_FS            "FileMetadata::makePseudoInd inode %d snap %d pseudoIbdP=0x%lX (0x%lX) err %d\n"
+TRCID_       0x25EF TRACE_FS            "makeIndBufferValid: initializing new ind block\n"
+TRCID_       0x25F0 TRACE_FS            "makeIndBufferValid: reading ind block from disk\n"
+TRCID_       0x25F1 TRACE_FS            "accParentIndBlk inode %d snap %d parentLvl %d index %lld options 0x%x"
+TRCID_       0x25F2 TRACE_FS            "accessParentIndBlk(inode %d snap %d lvl %d index %lld): err %d\n"
+TRCID_       0x25F3 TRACE_FS            "parentIndBlk lev %d ind %lld %s%s%s%s da %s %d:%lld\n"
+TRCID_       0x25F4 TRACE_FS            "createIndirectBlock enter: inode %d snap %d level %d index %lld\n"
+TRCID_       0x25F5 TRACE_FS            "createIndirectBlock exit: err %d\n"
+TRCID_       0x25F6 TRACE_FS            "accessNextIndBlock enter: inode %d snap %d level %d index %lld direction %d\n"
+TRCID_       0x25F7 TRACE_FS            "accessNextIndBlock exit: inode %d currIndex %lld ibdP 0x%lX err %d\n"
+TRCID_       0x25F8 TRACE_FS            "accessIndirectBlock(inode %d, snap %d, ind block %lld): makeValid %d createDesc %d mnTakeover %d isStealing %d\n"
+TRCID_       0x25F9 TRACE_FS            "accessIndirectBlock: fetching ind block from metanode\n"
+TRCID_       0x25FA TRACE_FS            "accessIndirectBlock(inode %d snap %d ind block %lld): err %d\n"
+TRCID_       0x25FB TRACE_FS            "indBlk lev %d ind %lld %s%s%s%s da %s %d:%lld\n"
+TRCID_       0x25FC TRACE_FS            "increaseIndirectionLevel enter: inode %d snap %d old lev %d\n"
+TRCID_       0x25FD TRACE_FS            "increaseIndirectionLevel exit: inode %d lev %d err %d\n"
+TRCID_       0x25FE TRACE_FS            "updateChildPtr inode %d snap %d level %d index %lld da %s %d:%lld\n"
+TRCID_       0x25FF TRACE_FS            "releaseIndirectBlock(inode %d snap %d ind block %d): indBlockWaiters %d\n"
+TRCID_       0x2600 TRACE_FS            "releaseIndirectBlock: simulating ind block steal\n"
+TRCID_       0x2601 TRACE_FS            "deleteIndirectBlock(inode %d snap %d ind block %d): indBlockWaiters %d\n"
+TRCID_       0x2602 TRACE_FS            "invalidateIndirectBlock: inode %d snap %d ind block %lld\n"
+TRCID_       0x2603 TRACE_FS            "FileMetadata::discardIndirects inode %d snap %d first %lld last %lld\n"
+TRCID_       0x2604 TRACE_FS            "FileMetadata::discardIndirects key 0x%X ibdListP=0x%lX (0x%lX),0x%lX (0x%lX) pseudoIbdP=0x%lX (0x%lX) change %d\n"
+TRCID_       0x2605 TRACE_FS            "discInd lev %d index %lld val %d dirty %d flush %d destroy %d indDA %s\n"
+TRCID_       0x2606 TRACE_FS            "FileMetadata::discardIndirects inode %d snap %d complete\n"
+TRCID_       0x2607 TRACE_FS            "FileMetadata::discardIndirects ibdListP=0x%lX (0x%lX),0x%lX (0x%lX) pseudoIbdP=0x%lX (0x%lX) change %d\n"
+TRCID_       0x2608 TRACE_FS            "getDataBlockDA: inode %d snap %d block %lld ibdP 0x%X %s dittos\n"
+TRCID_       0x2609 TRACE_MNODE         "FM::getDataBlockDiskAddr inode %d snap %d data block %lld da %s %d:%lld (1 of %d) subBlock %d was %s limit %d err %d\n"
+TRCID_       0x260A TRACE_FS            "retrDataBlockDA inode %d snap %d blk %lld da %s %d:%lld (1 of %d) limit %d err %d\n"
+TRCID_       0x260B TRACE_FS            "intendModifyIndirect inode %d snap %d block %lld takeover=%d\n"
+TRCID_       0x260C TRACE_FS            "setDataBlockDA inode %d snap %d blk %lld lev %d ind %lld da %s %d:%lld\n"
+TRCID_       0x260D TRACE_MNODE         "FM::setDataBlockDiskAddr inode %d snap %d data block %lld da NULL\n"
+TRCID_       0x260E TRACE_MNODE         "FM::setDataBlockDiskAddr inode %d snap %d data block %lld da %d:%lld (1 of %d)\n"
+TRCID_       0x260F TRACE_FS            "FileMetadata::allocIndirect inode %d snap %d\n"
+TRCID_       0x2610 TRACE_FS            "FileMetadata::allocIndirect exit: da %s %d:%lld (1 of %d) err %d\n"
+TRCID_       0x2611 TRACE_FS            "deallocDiskAddr: %d=0x%X:%lld len %d\n"
+TRCID_       0x2612 TRACE_FS            "FM::updateDataBlockDA inode %d snap %d blk %lld\n"
+TRCID_       0x2613 TRACE_FS            "old NULL new %s n %d %d:%lld options 0x%X ibdP=0x%X\n"
+TRCID_       0x2614 TRACE_FS            "old %s n %d %d:%lld new %s n %d %d:%lld options 0x%X ibdP=0x%X\n"
+TRCID_       0x2615 TRACE_MNODE         "FM::updateDataBlockDiskAddr inode %d snap %d block %lld old %s n %d %d:%lld new %s n %d %d:%lld\n"
+TRCID_       0x2616 TRACE_FS            "updateDataBlockDiskAddr: inode %d snap %d data block %lld subblocks %d\n"
+TRCID_       0x2617 TRACE_FS            "FM::updateDataBlockDiskAddr inode %d nFullBlocks %lld delta -%d metanode %s mnodeStatus %s: skipping nFullBlocks update" $5=mnodestatus_id2name
+TRCID_       0x2618 TRACE_FS            "FM::updateDataBlockDiskAddr inode %d snap %d delete dblock %lld new nFullBlocks %lld (delta:%+d) fsda[0] %d:%lld\n"
+TRCID_       0x2619 TRACE_FS            "FM::updateDataBlockDiskAddr inode %d snap %d add dblock %lld new nFullBlocks %lld (delta:%+d) fsda[0] %d:%lld\n"
+TRCID_       0x261A TRACE_MNODE         "FM::updateDataBlockDiskAddrBatch inode %d snap %d idx %d block %lld old %s n %d %d:%lld new %s n %d %d:%lld\n"
+TRCID_       0x261B TRACE_MNODE         "FM::updateDataBlockDiskAddrBatch log %d ptrs usedLen %d start ind index %d\n"
+TRCID_       0x261C TRACE_FS            "doubleUpdateDiskAddr: inode %d snap %d blocks %lld to snap %d block %lld\n"
+TRCID_       0x261D TRACE_FS            "doubleUpdateDiskAddr exit: err %d\n"
+TRCID_       0x261E TRACE_FS            "FileMetadata::createFile inode_objectVersion %lld\n"
+TRCID_       0x261F TRACE_FS            "createInodeFinish inode %d snap %d gen 0x%X %s nlink %d\n" $4=inodestatus_id2name
+TRCID_       0x2620 TRACE_FS            "FileMetadata::destroyFile inode %d snap %d\n"
+TRCID_       0x2621 TRACE_FS            "destroyFile inode %d snap %d indBlk lev %d ind %lld DA is DITTO\n"
+TRCID_       0x2622 TRACE_FS            "destroyFile exit: error %d\n"
+TRCID_       0x2623 TRACE_FS            "destroyDataBlocks: deallocating data block %lld from inode %d snap %d\n"
+TRCID_       0x2624 TRACE_FS            "forceInodeFlags enter: logged %d whichFlags 0x%08X inode 0x%08X assign 0x%08X commit 0x%08X"
+TRCID_       0x2625 TRACE_FS            "forceInodeFlags: dataBlockNum %lld, indDA %s %d:%lld"
+TRCID_       0x2626 TRACE_FS            "forceInodeFlags exit: inode 0x%08X assign 0x%08X commit 0x%08X rc %d"
+TRCID_       0x2627 TRACE_FS            "refreshInodeFlags: have 0x%X, found 0x%X\n"
+TRCID_       0x2628 TRACE_FS            "FileMetadata::repairFile: inode %d snap %d what 0x%X, inodeFlags 0x%X assignedFlags 0x%X"
+TRCID_       0x2629 TRACE_SANERGY       "FileMetadata::repairFile lockMode %d (%s)\n" $2=lockmode_id2name
+TRCID_       0x262A TRACE_SANERGY       "repairFile: inode %d waiting %d for sanergy lease\n"
+TRCID_       0x262B TRACE_SANERGY       "repairFile: inode %d sanUnlockMap\n"
+TRCID_       0x262C TRACE_SANERGY       "FileMetadata::repairFile: inode %d, sanergy lease expired\n"
+TRCID_       0x262D TRACE_FS            "FileMetadata::repairFile: assignedFlags 0x%X lastDataBlockNumToProcess %lld lastIndex %lld"
+TRCID_       0x262E TRACE_FS            "repairFile: ind block %d (inode %d snap %d): copyDA ok %d, addr change %d, indDirty %d\n"
+TRCID_       0x262F TRACE_FS            "repairFile: ind block %d,%d (inode %d snap %d): copyDA ok %d, addr change %d, indDirty %d\n"
+TRCID_       0x2630 TRACE_FS            "repairFile: inode %d pool index %d set to invalid"
+TRCID_       0x2631 TRACE_FS            "FileMetadata::repairFile exit: dataWhat 0x%X indWhat 0x%X, inodeFlags 0x%X assignedFlags 0x%X, rc %d"
+TRCID_       0x2632 TRACE_FS            "FileMetadata::changeReplicationFactors: inode %d: data %04x/%04x meta %04x/%04x poolId %d rCodeP 0x%lX"
+TRCID_       0x2633 TRACE_FS            "FileMetadata::changeReplicationFactors: data %02x/%02x meta %02x/%02x, rc %d\n"
+TRCID_       0x2634 TRACE_FSCK          "recordIncoreMetadata: ofP 0x%lX (0x%lX) inum %d snap %d indLevel %d lastBlkSubblks %d lastDataBlk %d\n"
+TRCID_       0x2635 TRACE_FSCK          "recordIncoreMetadata: ofP 0x%lX (0x%lX) inum %d snap %d indLevel %d lastBlkSubblks %d lastDataBlk %d\n"
+TRCID_       0x2636 TRACE_FS            "FileMetadata::setNlink inode_objectVersion %lld EventListP 0x%lX\n"
+TRCID_       0x2637 TRACE_FS            "FileMetadata::getAclParms enter: mode 0x%X modeP 0x%lX extendedAclRefP 0x%lX defaultAclRefP 0x%lX\n"
+TRCID_       0x2638 TRACE_FS            "FileMetadata::getAclParms retrieveAcl returns: err %d aa.dataP 0x%lX aa.length %d"
+TRCID_       0x2639 TRACE_FS            "FileMetadata::getAclParms exit: err %d mode 0x%X extendedAclRef %d defaultAclRef %d\n"
+TRCID_       0x263A TRACE_DFS           "FileMetadata::getObjectRealm: ofP 0x%lX (0x%lX)\n"
+TRCID_       0x263B TRACE_DFS           "FileMetadata::putObjectRealm exit: ofP 0x%lX (0x%lX) rc %d new realm %s\n"
+TRCID_       0x263C TRACE_DFS           "FileMetadata::translateAcl exit: ofP 0x%lX (0x%lX) rc %d\n"
+TRCID_       0x263D TRACE_FS            "iaccess enter: ofP 0x%lX (ox%lX) amode 0x%X credp 0x%lX uid %d isDir %d\n"
+TRCID_       0x263E TRACE_FS            "iaccess enter: inode aclRef %d inode mode 0x%X owner %d\n"
+TRCID_       0x263F TRACE_FS            "iaccess: AclSupport 0x%X amode 0x%X v4mask 0x%x\n"
+TRCID_       0x2640 TRACE_FS            "iaccess: newmode 0x%X isOwner %d isGroup %d isOther %d\n"
+TRCID_       0x2641 TRACE_FS            "Iaccess: V2 ACL extmode 0%o realm %s\n"
+TRCID_       0x2642 TRACE_FS            "iaccess: uid match, permissions %d mask %d\n"
+TRCID_       0x2643 TRACE_FS            "iaccess: group match, gid %d permissions %d mask %d rc %d\n"
+TRCID_       0x2644 TRACE_FS            "iaccess: perm %d mask %d rc %d foreign_other realm match %s\n"
+TRCID_       0x2645 TRACE_FS            "iaccess exit: rc %d code %d\n"
+TRCID_       0x2646 TRACE_FS            "checkDioAttr: direct I/O enabled for inode %d snap %d\n"
+TRCID_       0x2647 TRACE_DEFRAG        "FileMetadata::defragFile: inode %d snap %d\n"
+TRCID_       0x2648 TRACE_DEFRAG        "FileMetadata::defragFile lastIndBlkIndex %d lastDataBlockNumToProcess %lld\n"
+TRCID_       0x2649 TRACE_DEFRAG        "FileMetadata::defragFile i=%d, j=%d, dataBlockNum %lld\n"
+TRCID_       0x264A TRACE_DEFRAG        "FileMetadata::defragFile defragBuffer ret %d\n"
+TRCID_       0x264B TRACE_DEFRAG        "FileMetadata::defragFile acquireBuffer failed err = %d\n"
+TRCID_       0x264C TRACE_DEFRAG        "defragFile: ind block %d,%lld (inode %d snap %d): ibdP 0x%lX ibdP->valid %d, ibdP->bufferP != NULL %d\n"
+TRCID_       0x264D TRACE_DEFRAG        "defragFile: ind block %d,%lld (inode %d snap %d): copyDA ok %d, addr change %d, indDirty %d\n"
+TRCID_       0x264E TRACE_DEFRAG        "FileMetadata::defragFile: inode %d snap %d rc %d\n"
+TRCID_       0x264F TRACE_FS            "getSnapDataBlockDA inode %d snap %d block %lld limitSnap %d\n"
+TRCID_       0x2650 TRACE_FS            "getSnapDataBlockDA in next snapId %d beingDeleted %d\n"
+TRCID_       0x2651 TRACE_FS            "getSnapDataBlockDA: next file has already been deleted\n"
+TRCID_       0x2652 TRACE_FS            "Invalid DITTO address found! Inode %d gen 0x%X snap %d status %d -> inode %d gen 0x%X snap %d status %d blockNum %lld sg %s\n"
+TRCID_       0x2653 TRACE_FS            "getSnapDataBlockDA ino %d snap %d next %d lev %d ind %lld complete, da %s limit %d err %d\n"
+TRCID_       0x2654 TRACE_FS            "copyDataToSnapshot inode %d snap %d blk %lld"
+TRCID_       0x2655 TRACE_FS            "copyDataToSnapshot DA valid/dirty/stale %d synch %s %d:%lld assign %s %d:%lld data valid/dirty %d"
+TRCID_       0x2656 TRACE_FS            "copyDataToSnapshot complete, inode %d snap %d blk %lld err %d\n"
+TRCID_       0x2657 TRACE_FS            "moveDataToSnapshot inode %d snap %d blk %lld -> dstSnap %d\n"
+TRCID_       0x2658 TRACE_FS            "moveDataToSnapshot srcDA %s n=%d [0]=%d:%lld [1]=%d:%lld\n"
+TRCID_       0x2659 TRACE_FS            "moveDataToSnapshot complete, inode %d snap %d blk %lld -> snap %d err %d reason %d\n"
+TRCID_       0x265A TRACE_FS            "copyInodeToPrevSnapshot sg %s inode %d snap %d fileset %d\n"
+TRCID_       0x265B TRACE_FS            "prevSnap %d is being deleted.\n"
+TRCID_       0x265C TRACE_FS            "FM::copyInodeToPrevSnapshot: fsck is recovering"
+TRCID_       0x265D TRACE_FS            "copyInodeToSnapshot complete, inode %d fileset %d snap %d to snap %d copied %d err %d\n"
+TRCID_       0x265E TRACE_FS            "copyInodeToPrevSnapshot sg %s inode %d snap %d\n"
+TRCID_       0x265F TRACE_FS            "prevSnap %d is being deleted.\n"
+TRCID_       0x2660 TRACE_FS            "FM::copyInodeToPrevSnapshot: fsck is recovering"
+TRCID_       0x2661 TRACE_FS            "copyInodeToSnapshot complete, inode %d snap %d to snap %d copied %d err %d\n"
+TRCID_       0x2662 TRACE_FS            "verifyInodeWasCopied sg %s inode %d copied %d modified %d max %d\n"
+TRCID_       0x2663 TRACE_FS            "prevSnap %d is being deleted.\n"
+TRCID_       0x2664 TRACE_FS            "prevSnap %d is being deleted.\n"
+TRCID_       0x2665 TRACE_FS            "verifyInodeWasCopied complete, inode %d copied %d err %d\n"
+TRCID_       0x2666 TRACE_FS            "copyDataFromSnapshot %d inode %d blk %lld\n"
+TRCID_       0x2667 TRACE_FS            "copyDataFromSnapshot source DA %s%s%s data %s%s\n"
+TRCID_       0x2668 TRACE_FS            "   synch %s %d:%lld sub %d assign %s %d:%lld sub %d\n"
+TRCID_       0x2669 TRACE_FS            "copyDataFromSnap copying NULL disk address\n"
+TRCID_       0x266A TRACE_FS            "copyDataFromSnapshot dest DA %s%s%s data %s%s len %d\n"
+TRCID_       0x266B TRACE_FS            "   synch %s %d:%lld sub %d assign %s %d:%lld sub %d\n"
+TRCID_       0x266C TRACE_FS            "copyDataFromSnapshot %d inode %d blk %lld complete, err %d\n"
+TRCID_       0x266D TRACE_FS            "FM::CountSnapshotFileBytes inode %d snap %d\n"
+TRCID_       0x266E TRACE_FS            "FM::CountSnapshotFileBytes inode %d snap %d complete, data %lld meta %lld err %d\n"
+TRCID_       0x266F TRACE_FS            "FIDU FM::Entered traverseIndBlock for inode %d snap %d\n"
+TRCID_       0x2670 TRACE_FS            "FIDU FM:: Unable to set reference count err = %d\n"
+TRCID_       0x2671 TRACE_SANERGY       "FileMetadata::traverseIndBlock lockMode %d (%s)\n" $2=lockmode_id2name
+TRCID_       0x2672 TRACE_SANERGY       "FIDU FM::traverseIndBlock: inode %d waiting on sanergy lease\n"
+TRCID_       0x2673 TRACE_SANERGY       "FIDU FM::traverseIndBlock: inode %d, sanergy lease expired\n"
+TRCID_       0x2674 TRACE_FS            "FIDU FM::Sent Report for inode %d BROKEN addr\n"
+TRCID_       0x2675 TRACE_FS            "FIDU FM::inum %d fFlag %d (span %d) dataRep %d dBI %lld lDBNum = %lld\n"
+TRCID_       0x2676 TRACE_FS            "FIDU FM::Sent Report for inode %d addr %d:%lld\n"
+TRCID_       0x2677 TRACE_FS            "FIDU FM::Sent Report for inode %d\n"
+TRCID_       0x2678 TRACE_FS            "FIDU FM::trav level completed %d with index %d\n"
+TRCID_       0x2679 TRACE_FS            "FIDU FM::trav inode %d snap %d, err %d timeTaken %s UTC\n"
+TRCID_       0x267A TRACE_FS            "FIDU FM::trav inode %d fragFlag %d snap %d, err %d\n"
+TRCID_       0x267B TRACE_FS            "forceUpdateMissInIndBlock enter: dataBlockNum %lld, parent ibdP 0x%X logged %d indDA %s %d:%lld"
+TRCID_       0x267C TRACE_FS            "forceUpdateMissInIndBlock exit: dataBlockNum %lld metaUpdateMiss %d rc %d"
+TRCID_       0x267D TRACE_FS            "SFSOpenFS begin:sg devID %llX, readonly %d offlineFSCK %d, open for what:0x%X %s\n"
+TRCID_       0x267E TRACE_FS            "SFSOpenFS done SGMount %d"
+TRCID_       0x267F TRACE_FS            "SFSOpenFS about to get fsP\n"
+TRCID_       0x2680 TRACE_FS            "SFSOpenFS: fsP 0x%lX\n"
+TRCID_       0x2681 TRACE_FS            "SFSOpenFS stripe group %llX, rc %d\n"
+TRCID_       0x2682 TRACE_FS            "SFSCloseFSPrepare: stripe group %llX\n"
+TRCID_       0x2683 TRACE_SANERGY       "SFSCloseFSPrepare: calling sanCleanupExpired\n"
+TRCID_       0x2684 TRACE_FS            "SFSCloseFSPrepare: inode %d snap %d instance type %d\n"
+TRCID_       0x2685 TRACE_FS            "SFSCloseFSPrepare: internal instance 0x%08X cannot be closed\n"
+TRCID_       0x2686 TRACE_SANERGY       "SFSCloseFSPrepare: inode %d RemoveOpenFile ret err %d (break loop)\n"
+TRCID_       0x2687 TRACE_FS            "SFSCloseFSPrepare: error %d from flushing acl/quota file: inode %d\n"
+TRCID_       0x2688 TRACE_FS            "SFSCloseFSPrepare: returning with err %d\n"
+TRCID_       0x2689 TRACE_FS            "SFSCloseFSFinish: stripe group %llX\n"
+TRCID_       0x268A TRACE_FS            "SFSCloseFSFinish: regular file, inode %d snap %d\n"
+TRCID_       0x268B TRACE_FS            "SFSCloseFSFinish: file dirty, inode %d snap %d\n"
+TRCID_       0x268C TRACE_FS            "SFSCloseFSFinish: cache not empty\n"
+TRCID_       0x268D TRACE_FS            "SFSCloseFSFinish: quo clnt not clean\n"
+TRCID_       0x268E TRACE_FS            "SFSCloseFSFinish: quo mgr not clean\n"
+TRCID_       0x268F TRACE_FS            "SFSCloseFSFinish: alloc map not clean\n"
+TRCID_       0x2690 TRACE_FS            "SFSCloseFSFinish: inode alloc map not clean\n"
+TRCID_       0x2691 TRACE_FS            "SFSMountFS: sgP 0x%lX mountId %d readonly %d sgLocalId %d helperPid %d, options '%s'\n"
+TRCID_       0x2692 TRACE_FS            "SFSMountFS: optReadonly %d, restricted %d, readonly %d\n"
+TRCID_       0x2693 TRACE_FS            "SFSMountFS: scanMountOptions optReadonly %d, restricted %d, readonly %d\n"
+TRCID_       0x2694 TRACE_SANERGY       "SFSMountFS: SANergy enabled, sanergyIsExported %d, sg %s\n"
+TRCID_       0x2695 TRACE_SANERGY       "SFSMountFS: Unable to initialize SANergy MDC err %d code %d\n"
+TRCID_       0x2696 TRACE_FS            "SFSMountFS: mountId %d returns with code %d rc %d\n"
+TRCID_       0x2697 TRACE_FS            "SFSUnmountFS exit: err %d\n"
+TRCID_       0x2698 TRACE_TASKING       "svfs::createSVFSsessionId failed to register_MMFSSessionId: %d\n"
+TRCID_       0x2699 TRACE_TASKING       "svfs::createSVFSsessionId: new id: %d\n"
+TRCID_       0x269A TRACE_SANERGY       "HandleMBRemoveFile: SFSRemove inode %d genNum %d err %d forward Mnode\n"
+TRCID_       0x269B TRACE_VNODE         "HandleMBFTruncFile: oiP 0x%lX (0x%lX) flags 0x%X length 0x%llX quotaFlags 0x%X\n"
+TRCID_       0x269C TRACE_SANERGY       "HandleMBFTruncFile: inode %d has sanergy active lock\n"
+TRCID_       0x269D TRACE_VNODE         "HandleMBMount wait msgSock %d waitCount %d\n"
+TRCID_       0x269E TRACE_VNODE         "HandleMBByteRange: inode %d\n"
+TRCID_       0x269F TRACE_FS            "SFSOpen: genNum %u inodeNum %d snapId %d openFlags 0x%X mode %d\n"
+TRCID_       0x26A0 TRACE_SANERGY       "SFSOpen: SANergy latest lease expired for %d secs.\n"
+TRCID_       0x26A1 TRACE_FS            "SFSOpen: sanTruncFile, fileSize %lld, allocSize %lld, err %d\n"
+TRCID_       0x26A2 TRACE_SANERGY       "SFSOpen ofP 0x%X, inode %d, nFullBlocks %lld, sanResetHyperAllocBit\n"
+TRCID_       0x26A3 TRACE_FS            "SFSOpen: openInstCount %d dioCount %d\n"
+TRCID_       0x26A4 TRACE_FS            "SFSOpen exit: oiP 0x%lX\n"
+TRCID_       0x26A5 TRACE_FS            "SFSOpen exit: err %d\n"
+TRCID_       0x26A6 TRACE_FS            "SFSInodeDelete: genNum %u inodeNum %d openFlags 0x%X mode %d\n"
+TRCID_       0x26A7 TRACE_FS            "SFSInodeDelete exit: oiP 0x%lX VFSReference %d openInstCount %d\n"
+TRCID_       0x26A8 TRACE_FS            "SFSInodeDelete exit: err %d\n"
+TRCID_       0x26A9 TRACE_FS            "changeMaxFilesToCache enter: newValue %d maxStatCache %d maxFilesToCache %d fileCacheLimit %d maxFileCacheLimit %d fileCacheCount %d nOpenFiles+nPseudoOpen %d"
+TRCID_       0x26AA TRACE_FS            "changeMaxFilesToCache exit: newValue %d newLimit %d newChange %d maxFilesToCache %d fileCacheLimit %d maxFileCacheLimit %d fileCacheCount %d nOpenFiles+nPseudoOpen %d"
+TRCID_       0x26AB TRACE_FS            "FileHashTab::new_entry: returning 0x%lX (0x%lX)"
+TRCID_       0x26AC TRACE_FS            "FileHashTab::new_compact: returning 0x%lX (0x%lX)"
+TRCID_       0x26AD TRACE_VNODE         "invalidateVFSReference: this 0x%lX (0x%lX) sgP 0x%lX (0x%lX) inode %d gen %d snap %d flags 0x%X"
+TRCID_       0x26AE TRACE_VNODE         "invalidateVFSReference: this 0x%lX (0x%lX) sgP 0x%lX (0x%lX) inode %d gen %d snap %d flags 0x%X"
+TRCID_       0x26AF TRACE_FS            "RemoveOpenFile ofP 0x%lX (0x%lX) inode %d snap %d flags 0x%X%s%s%s%s%s\n"
+TRCID_       0x26B0 TRACE_FS            "RemoveOpenFile remove TO_STAT_CACHE\n"
+TRCID_       0x26B1 TRACE_SANERGY       "RemoveOpenFile inode %d exiting prematurely err %d, state %s, \n"
+TRCID_       0x26B2 TRACE_FS            "RemoveOpenFile exit (1) inode %d, wasRemoved %d coede %d err %d\n"
+TRCID_       0x26B3 TRACE_FS            "RemoveOpenFile exit (2) inode %d, mnlm %s, lm %s\n" $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x26B4 TRACE_FS            "RemoveOpenFile exit (3) inode %d, mnlm %s, lm %s\n" $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x26B5 TRACE_FS            "PrepareForMnodeRelinquish inode %d err %d\n"
+TRCID_       0x26B6 TRACE_FS            "StealOpenFile enter: stealOption %d fileCacheMemNeeded %d; fileCacheCount %d fileCacheMemUsed %d\n"
+TRCID_       0x26B7 TRACE_FS            "StealOpenFile: done %d nBytesUsed %d nHardLimitBytesUsed %d nLimitBytesUsed %d\n"
+TRCID_       0x26B8 TRACE_FS            "StealOpenFile exit: err %d fileCacheCount %d fileCacheMemUsed %d totalTried %d aggressive %d listNum %d\n"
+TRCID_       0x26B9 TRACE_FS            "StealOpenFileForTest inode %d snap %d\n"
+TRCID_       0x26BA TRACE_FS            "FileHashTab::fetch exit: returns %d\n"
+TRCID_       0x26BB TRACE_FS            "becomeFileCleaner: nFileCleaners %d\n"
+TRCID_       0x26BC TRACE_FS            "becomeFileCleaner exit: totalTried %d nClean1 %d nClean2 %d nUnlocked %d\n"
+TRCID_       0x26BD TRACE_FS            "cleanList enter: from list %d size %d to list %d size %d\n"
+TRCID_       0x26BE TRACE_FS            "cleanList exit: from list %d size %d to list %d size %d nTried %d\n"
+TRCID_       0x26BF TRACE_FS            "InitOpenFile: key %08X:%08X:%08X:%08X old genNum 0x%X status %s fileset %d co_flags 0x%02X hdrComplete %d" $6=objstatus_id2name
+TRCID_       0x26C0 TRACE_FS            "InodeLkObj::token_revoke enter inode %d snap %d reqMode %s new mode %s\n" $3=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x26C1 TRACE_SANERGY       "token_revoke: inode %d sanState %s\n"
+TRCID_       0x26C2 TRACE_SANERGY       "token_revoke: inode %d inSANergyActiveMapState err %d\n"
+TRCID_       0x26C3 TRACE_SANERGY       "InodeLkObj::token_revoke: latest lease expired for %d secs.\n"
+TRCID_       0x26C4 TRACE_FS            "InodeLkObj::token_revoke exit err %d inode %d reqMode %s newMode %s" $3=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x26C5 TRACE_SANERGY       "CleanOpenFile: ofP 0x%08lX, sanState %d, sanInstP 0x%08lX, sanMNOFStateP 0x%08lX\n"
+TRCID_       0x26C6 TRACE_SANERGY       "CleanOpenFile: sanMNOFStateP 0x%08lX deleteOpenInstance 0x%08lX\n"
+TRCID_       0x26C7 TRACE_FS            "FileHashTab::compactObject: Could not create RelinquishAttrByteRangeThread\n"
+TRCID_       0x26C8 TRACE_FS            "Remove: key %08X:%08X:%08X:%08X flags 0x%X cached %d status %s genNum %u" $7=objstatus_id2name
+TRCID_       0x26C9 TRACE_FS            "Remove done: key %08X:%08X:%08X:%08X genNum %u\n"
+TRCID_       0x26CA TRACE_FS            "OpenFile::acquireBuffer enter blk %lld, flags 0x%x\n"
+TRCID_       0x26CB TRACE_FS            "OpenFile::acquireBuffer: lookupAndHold buf desc failed err %d\n"
+TRCID_       0x26CC TRACE_FS            "OpenFile::acquireBuffer: setAddr da %s %d:%lld %s blockNum %lld nSubblocks %d copied %d\n"
+TRCID_       0x26CD TRACE_FS            "OpenFile::acquireBuffer: setParentAddr da %s %d:%lld"
+TRCID_       0x26CE TRACE_FS            "OpenFile::acquireBuffer blk %lld, flags 0x%x exit: err %d\n"
+TRCID_       0x26CF TRACE_FSCK          "recordIncoreAlocations: ofP 0x%lX (0x%lX) inum %d snap %d bufferDescP 0x%lX (0x%lX) lastBlkSubblks %d lastDataBlk %d\n"
+TRCID_       0x26D0 TRACE_DMAPI         "DmapiLkobj::token_revoke: inodeNum %d LkObj 0x%lX old_mode %s reqMode %s newMode %s" $3=lockmode_id2name $4=lockmode_id2name $5=lockmode_id2name
+TRCID_       0x26D1 TRACE_SMB           "SMBOpenLkObj::token_revoke: inodeNum %d reqMode %s old_mode %s newMode %s SMBmode %s" $2=lockmode_id2name $3=lockmode_id2name $4=lockmode_id2name $5=lockmode_id2name
+TRCID_       0x26D2 TRACE_SMB           "SMBOpenLkObj::token_revoke oiP 0x%08lX, isNFS %d, newMode 0x%X"
+TRCID_       0x26D3 TRACE_SMB           "              SMBreadCount %d, SMBwriteA %d, SMBwriteM %d"
+TRCID_       0x26D4 TRACE_SMB           "              Calling FindCloseNFS"
+TRCID_       0x26D5 TRACE_SMB           "SMBOpenLkObj::token_revoke exit: inodeNum %d err %d reqMode %s, SMBlockmode %s newMode %s\n" $3=lockmode_id2name $4=lockmode_id2name $5=lockmode_id2name
+TRCID_       0x26D6 TRACE_SMB           "SMBOpLkLkObj::token_revoke: inodeNum %d reqMode %s old_mode %s newMode %s" $2=lockmode_id2name $3=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x26D7 TRACE_SMB           "SMBOpLkLkObj::token_revoke exit: inodeNum %d err %d newMode %s\n" $3=lockmode_id2name
+TRCID_       0x26D8 TRACE_FS            "releaseOpenFile: genNum %u inode %d snap %d destroyNow %d nlink %d\n"
+TRCID_       0x26D9 TRACE_FS            "doDirectio: offset 0x%llX len %d userAddrP 0x%lX dioOp %d\n"
+TRCID_       0x26DA TRACE_KSVFS         "doDirectio exit: err %d bytesProcessed %d\n"
+TRCID_       0x26DB TRACE_FS            "mhSyncFile: uid %X:%X inodeNum %d snap %d fileset %d\n"
+TRCID_       0x26DC TRACE_FS            "mhSyncFile: uid %X:%X inodeNum %d err %d\n"
+TRCID_       0x26DD TRACE_FS            "mhPnfsFile: uid %X:%X cmd %d len %d p 0x%lX nodeAddr %d\n"
+TRCID_       0x26DE TRACE_FS            "mhPnfsFile: cmd %d err %d\n"
+TRCID_       0x26DF TRACE_FS            "queryDataBlockDiskAddr(%lld) E_RANGE"
+TRCID_       0x26E0 TRACE_FS            "queryDataBlockDiskAddr(ino %d snap %d blk %lld): da %s ilev %d idx %lld dfan %lld run %d"
+TRCID_       0x26E1 TRACE_FS            "copyDataOnWrite: ino %d srcSnap %d dstSnap %d move %d from %lld to %lld"
+TRCID_       0x26E2 TRACE_FS            "copyDataOnWrite(ino %d): blk %lld dstRunLen %d srcNextNum %lld"
+TRCID_       0x26E3 TRACE_FS            "copyDataOnWrite dst-run: ilev %d idx %lld dfan %lld run %d"
+TRCID_       0x26E4 TRACE_FS            "copyDataOnWrite(ino %d): blk %lld srcLevel %d dstLevel %d srcRda %s srcNextNum %lld"
+TRCID_       0x26E5 TRACE_FS            "copyDataOnWrite: chg level %d->%d fanout %lld->%lld"
+TRCID_       0x26E6 TRACE_FS            "copyDataOnWrite: ino %d err %d"
+TRCID_       0x26E7 TRACE_FS            "SFSCopyDataOnWrite sg %s inode %d fileset %d snap %d %s from %lld to %lld\n"
+TRCID_       0x26E8 TRACE_FS            "prevSnap %d is being deleted.\n"
+TRCID_       0x26E9 TRACE_FS            "prevSnap %d is being deleted.\n"
+TRCID_       0x26EA TRACE_FS            "SFSCopyDataOnWrite inode %d snap %d status %s da %s NOT copied.\n" $3=inodestatus_id2name
+TRCID_       0x26EB TRACE_FS            "SFSCopyDataOnWrite src ino %d snap %d gen %X status %s, dst snap %d gen %X status %s: no data to copy." $4=inodestatus_id2name $7=inodestatus_id2name
+TRCID_       0x26EC TRACE_FS            "SFSCopyDataOnWrite inode %d snap %d low block past EOF %lld.\n"
+TRCID_       0x26ED TRACE_FS            "copyDataToSnap setting inode %d snap %d dataCopiedSnap %d\n"
+TRCID_       0x26EE TRACE_FS            "SFSCopyDataOnWrite inode %d snap %d complete, err %d\n"
+TRCID_       0x26EF TRACE_FS            "SFSPushSnapshotFile sg %s inode %d snap %d to prevSnap %d\n"
+TRCID_       0x26F0 TRACE_FS            "SFSPushSnapshotFile sg %s snap %d has no inode0 file\n"
+TRCID_       0x26F1 TRACE_FS            "SFSPushSnapshotFile sg %s snap %d has no inode0 file for snap %d\n"
+TRCID_       0x26F2 TRACE_FS            "SFSPushSnapshotFile inode %d snap %d exit, err %d\n"
+TRCID_       0x26F3 TRACE_FS            "SFSPushSnapshotFile sg %s inode %d snap %d to prevSnap %d\n"
+TRCID_       0x26F4 TRACE_FS            "SFSPushSnapshotFile sg %s snap %d has no inode0 file\n"
+TRCID_       0x26F5 TRACE_FS            "SFSPushSnapshotFile sg %s snap %d has no inode0 file for snap %d\n"
+TRCID_       0x26F6 TRACE_FS            "SFSPushSnapshotFile inode %d snap %d exit, err %d\n"
+TRCID_       0x26F7 TRACE_TS            "delSnapshotBlock for inode %d snap %d prevSnap %d\n"
+TRCID_       0x26F8 TRACE_TS            "delSnapshotBlock prev snap %d has hole at %d err %d\n"
+TRCID_       0x26F9 TRACE_TS            "delSnapshotBlock moveBlock inode %d snap %d err %d\n"
+TRCID_       0x26FA TRACE_TS            "delSnapshotBlock exit inode %d snap %d, %s %d\n"
+TRCID_       0x26FB TRACE_FS            "SFSDeleteSnapshotFile sg %s inode %d snap %d to prevSnap %d\n"
+TRCID_       0x26FC TRACE_TS            "SFSDeleteSnapshotFile locking inode %d snap %d err %d\n"
+TRCID_       0x26FD TRACE_TS            "SFSDeleteSnapshotFile getInode inode %d snap %d err %d\n"
+TRCID_       0x26FE TRACE_TS            "delSnapFile inode %d snap %d %s prevSnap %d dataCopied %d inodeCopied %d DA %s\n" $3=inodestatus_id2name
+TRCID_       0x26FF TRACE_TS            "SFSDeleteSnapshotFile copyInode inode %d snap %d err %d\n"
+TRCID_       0x2700 TRACE_TS            "SFSDeleteSnapshotFile copyData inode %d snap %d err %d\n"
+TRCID_       0x2701 TRACE_TS            "SFSDeleteSnapshotFile relocking inode %d snap %d err %d\n"
+TRCID_       0x2702 TRACE_TS            "SFSDeleteSnapshotFile destroyFile inode %d snap %d err %d\n"
+TRCID_       0x2703 TRACE_TS            "SFSDeleteSnapshotFile inode %d snap %d complete err %d\n"
+TRCID_       0x2704 TRACE_FS            "SFSRestoreSnapshotFile sg %s inode %d snap %d\n"
+TRCID_       0x2705 TRACE_TS            "SFSRestoreSnapshotFile locking snap inode %d snap %d err %d\n"
+TRCID_       0x2706 TRACE_TS            "SFSRestoreSnapshotFile getInode snap inode %d snap %d err %d\n"
+TRCID_       0x2707 TRACE_TS            "SFSRestoreSnapshotFile locking root inode %d snap %d err %d\n"
+TRCID_       0x2708 TRACE_TS            "SFSRestoreSnapshotFile getInode root inode %d snap %d err %d\n"
+TRCID_       0x2709 TRACE_TS            "resSnapFile inode %d snap %d %s fileMod %d data %d root %d %s fileMod %d data %d\n" $3=inodestatus_id2name $7=inodestatus_id2name
+TRCID_       0x270A TRACE_TS            "SFSRestoreSnapshotFile inode %d snap %d complete err %d\n"
+TRCID_       0x270B TRACE_FS            "SFSCountSnapshotFile sg %s inode %d snap %d\n"
+TRCID_       0x270C TRACE_TS            "SFSCountSnapshotFile inode %d snap %d complete, nData %lld nInd %lld err %d\n"
+TRCID_       0x270D TRACE_FS            "SFSIReadX sg %s inode %d snap %d prev %d start %lld end %lld\n"
+TRCID_       0x270E TRACE_FS            "SFSIReadX inode %d snap %d gen 0x%X stat %s size %lld prevSnap %d gen 0x%X %s %lld holes %d\n" $4=inodestatus_id2name $8=inodestatus_id2name
+TRCID_       0x270F TRACE_FS            "SFSIReadX scanning blocks %lld to %lld prev %lld prevLocked %d\n"
+TRCID_       0x2710 TRACE_FS            "SFSIReadX ending delta %d offset %lld to %lld %s\n"
+TRCID_       0x2711 TRACE_FS            "SFSIReadX starting delta %d offset %lld %s\n"
+TRCID_       0x2712 TRACE_FS            "SFSIReadX ending last delta %d offset %lld to %lld %s\n"
+TRCID_       0x2713 TRACE_FS            "SFSIReadX adjusting last delta %lld blk %lld end %lld fileSize %lld\n"
+TRCID_       0x2714 TRACE_FS            "SFSIReadX returns delta count %d nextOffset %lld err %d code %d\n"
+TRCID_       0x2715 TRACE_SMB           "SMBOpLkLkObj::handleRevokeM: failed to break Oplock nExcl %d\n"
+TRCID_       0x2716 TRACE_SMB           "SMBOpLkLkObj::handleRevokeM: tmWant '%s' acc %d, nRd %d nWr %d nOs %d nOx %d, tmGrant '%s' tmKeep '%s'" $1=lockmode_id2name $7=lockmode_id2name $8=lockmode_id2name
+TRCID_       0x2717 TRACE_FS            "RelinquishAttrByteRange: sgP 0x%lX"
+TRCID_       0x2718 TRACE_FS            "RelinquishAttrByteRange: ino %d"
+TRCID_       0x2719 TRACE_FS            "createOpenInstance: inode %d generation 0x%X snap %d purpose %d opMode 0x%X wanted %s" $6=lockmode_id2name
+TRCID_       0x271A TRACE_FS            "createOpenInstance: recSize %d, is sector aligned %d"
+TRCID_       0x271B TRACE_FS            "createOpenInstance: inode %d generation 0x%X oiP 0x%lX err %d\n"
+TRCID_       0x271C TRACE_FS            "deleteOpenInstance: genNum %u inode %d snap %d instcnt %d destroyOnLastClose %d\n"
+TRCID_       0x271D TRACE_FS            "OpenInstance::operator new failed with UMALLOC_E err %d\n"
+TRCID_       0x271E TRACE_FS            "OpenInstance::attachInstance failed with mutex err %d\n"
+TRCID_       0x271F TRACE_FS            "attachInstance reinit: oiP 0x%lX vinfoP 0x%lX"
+TRCID_       0x2720 TRACE_FS            "attachInstance exit: oiP 0x%lX err %d"
+TRCID_       0x2721 TRACE_FS            "OpenInstance::assertVCM p 0x%lX isNFS %d this 0x%lX vcm_oiP 0x%lX\n"
+TRCID_       0x2722 TRACE_FS            "OpenInstance::assertVCMObjects p 0x%lX isNFS %d this 0x%lX vcm_oiP 0x%lX\n"
+TRCID_       0x2723 TRACE_FS            "OpenInstance::detachInstance failed with mutex err %d\n"
+TRCID_       0x2724 TRACE_FS            "OpenInstance::detachInstance: oiP 0x%lX vinfoP 0x%lX"
+TRCID_       0x2725 TRACE_FS            "holdInst enter: oiP 0x%lX\n"
+TRCID_       0x2726 TRACE_FS            "holdInst: oiP 0x%lX hidden, count %d\n"
+TRCID_       0x2727 TRACE_FS            "holdInst: oiP 0x%lX hold count is now %d\n"
+TRCID_       0x2728 TRACE_FS            "releaseInst: oiP 0x%lX hold count is now %d hidden %d\n"
+TRCID_       0x2729 TRACE_FS            "releaseInstM: oiP 0x%lX hold count is now %d hidden %d\n"
+TRCID_       0x272A TRACE_FS            "hideAndWaitUntilIdle: oiP 0x%lX already hidden\n"
+TRCID_       0x272B TRACE_FS            "hideAndWaitUntilIdle: oiP 0x%lX returning on fast path\n"
+TRCID_       0x272C TRACE_FS            "hideAndWaitUntilIdle: oiP 0x%lX count %d waiting\n"
+TRCID_       0x272D TRACE_FS            "hideAndWaitUntilIdle: oiP 0x%lX returning %d\n"
+TRCID_       0x272E TRACE_FS            "OpenFile::AcquireFlushFlag: returning %d\n"
+TRCID_       0x272F TRACE_FS            "OpenFile::ReleaseFlushFlag\n"
+TRCID_       0x2730 TRACE_SMB           "updateOplockM enter: acc have %d want %d, oplock have %d want %d async %d\n"
+TRCID_       0x2731 TRACE_SMB           "updateOplockM : downgrade with nOplockBreakWaiters %d ofP 0x%lX\n"
+TRCID_       0x2732 TRACE_SMB           "updateOplockM exit: nRd %d nWr %d nOs %d nOx %d, rc %d oplockGranted %d err %d"
+TRCID_       0x2733 TRACE_SMB           "oplockOpenNonBlockingM: acc have %d want %d, oplock have %d"
+TRCID_       0x2734 TRACE_TS            "SFSDoDeferredDeletions: Found inode %d marked %d\n"
+TRCID_       0x2735 TRACE_FS            "SFSDoDeferredDeletions: skipping inode %d, the fileset metadata file, inode bit value %d"
+TRCID_       0x2736 TRACE_TS            "SFSDoDeferredDeletions: Inode %d already marked free or in-use"
+TRCID_       0x2737 TRACE_TS            "SFSDoDeferredDeletions: Broadcasting query for inode %d"
+TRCID_       0x2738 TRACE_TS            "SFSDoDeferredDeletions: Query results for for inode %d: err %d"
+TRCID_       0x2739 TRACE_TS            "SFSDoDeferredDeletions: Inode %d is marked to-be-deleted"
+TRCID_       0x273A TRACE_TS            "SFSDoDeferredDeletions: Inode %d marked %s is the policy file"
+TRCID_       0x273B TRACE_TS            "SFSDoDeferredDeletions: Inode %d marked %s is an alloc map for poolId %d %s"
+TRCID_       0x273C TRACE_TS            "SFSDoDeferredDeletions: Inode %d marked %s is an alloc sum file"
+TRCID_       0x273D TRACE_ALLOC         "allocReplica poolId %d kind %d nSub %d write %d read %d disksBMP 0x%lX nBits %d"
+TRCID_       0x273E TRACE_ALLOC         "CheckFsDaAvail sg %s poolId %d DA[%d] %d:%lld %d:%lld kind %d write %d\n"
+TRCID_       0x273F TRACE_ALLOC         "CheckFsDaAvail nAvail=0 disksMBPP 0x%lX (0x%lX) iP 0x%lX\n"
+TRCID_       0x2740 TRACE_FS            "CheckFsDaAvailability: replacing replica %d (%d:%lld) with (%d:%lld)\n"
+TRCID_       0x2741 TRACE_ALLOC         "CheckFsDaAvail failed E_ALL_UNAVAIL, err %d\n"
+TRCID_       0x2742 TRACE_FS            "PrepareRepair enter: what 0x%04X kind %d nDisks %d: %d %d nRepls %d seqLen %d\n"
+TRCID_       0x2743 TRACE_FS            "PrepareRepair fsDA: %s\n"
+TRCID_       0x2744 TRACE_FS            "repair getDataAllocator: retry inode %d snap %d dataAllocP 0x%08lX thisAllocP 0x%08lX"
+TRCID_       0x2745 TRACE_FS            "getDataAllocator: fileAllocatorPP 0x%08lX dataAllocP 0x%08lX PrepareRepair"
+TRCID_       0x2746 TRACE_FS            "PrepareRepair: replica %d (%d:%lld) needs remove\n"
+TRCID_       0x2747 TRACE_FS            "PrepareRepair: replica %d (%d:%lld) needs migrate\n"
+TRCID_       0x2748 TRACE_FS            "PrepareRepair: replica %d (%d:%lld) needs update\n"
+TRCID_       0x2749 TRACE_FS            "PrepareRepair: replica %d (%d:%lld) disk being emptied\n"
+TRCID_       0x274A TRACE_FS            "PrepareRepair: replica %d (%d:%lld) disk being removed\n"
+TRCID_       0x274B TRACE_FS            "PrepareRepair: replica %d (%d:%lld) disk unavailable, updatemiss\n"
+TRCID_       0x274C TRACE_FS            "PrepareRepair: replica %d (%d:%lld) is new\n"
+TRCID_       0x274D TRACE_SANERGY       "PrepareRepair: inode %d, has sanHyperAllocBlk\n"
+TRCID_       0x274E TRACE_FS            "PrepareRepair: returning error %d, severity %d\n"
+TRCID_       0x274F TRACE_FS            "PrepareRepair exit: newDA: %s\n"
+TRCID_       0x2750 TRACE_FS            "PrepareRepair exit: copyDA: %s\n"
+TRCID_       0x2751 TRACE_FS            "PrepareRepair exit: allocDA: %s\n"
+TRCID_       0x2752 TRACE_FS            "PrepareRepair exit: freeDA: %s\n"
+TRCID_       0x2753 TRACE_FS            "SFSRepairFile: devId 0x%X, inode %d snap %d what 0x%02x, class ptr 0x%X"
+TRCID_       0x2754 TRACE_SANERGY       "SFSRepairFile: createOpenInstance got err %d trying to become metanode, retrying\n"
+TRCID_       0x2755 TRACE_SANERGY       "SFSRepairFile createOpenInstance ret err %d, didCreateOpenFile %d\n"
+TRCID_       0x2756 TRACE_PIT           "SFSRepairFile: inode %d snap %d nBlocks %lld max %lld err=E_AGAIN"
+TRCID_       0x2757 TRACE_SANERGY       "SFSRepairFile: SANERGY locked, shipToMnode %d\n"
+TRCID_       0x2758 TRACE_SANERGY       "FM::mnRepairFile enter what %d, inode number %d\n"
+TRCID_       0x2759 TRACE_SANERGY       "FM::mnRepairFile exit err=%d inodeFlagsOk=%d\n"
+TRCID_       0x275A TRACE_FS            "SFSRepairFile exit: err %d\n"
+TRCID_       0x275B TRACE_FS            "ErrorDetails::update inode %d snap %d err %d nOk %d of %d"
+TRCID_       0x275C TRACE_FS            "SFSRepairFS: devId 0x%X, repair %s what 0x%02x, nNodes %d"
+TRCID_       0x275D TRACE_FS            "SFSRepairFS: repairing special files\n"
+TRCID_       0x275E TRACE_FS            "SFSRepairFS: repairing user files\n"
+TRCID_       0x275F TRACE_FS            "SFSRepairFS exit: rc %d\n"
+TRCID_       0x2760 TRACE_FS            "RepairInodeRange: first inode %d snap %d, num in blk %d, what 0x%02x, class ptr 0x%X\n"
+TRCID_       0x2761 TRACE_FS            "RepairInodeRange: first inode %d snap %d, num in blk %d, what 0x%02x, returns Ok %d of %d, err %d\n"
+TRCID_       0x2762 TRACE_FS            "FIDU dumpFIDUDiskAddrList::~RangeTree rangeSet 0x%X, rngL %lld, rngH %lld\n"
+TRCID_       0x2763 TRACE_FS            "FIDU dumpFIDUDiskAddrList::RangeTree i/p %lld, rngL %lld, rngH %lld\n"
+TRCID_       0x2764 TRACE_FS            "FIDU RL = %lld and RH = %lld lie between SR = %lld and ER = %lld\n"
+TRCID_       0x2765 TRACE_FS            "FIDU SR = %lld and ER = %lld lies between RL = %lld and RH = %lld\n"
+TRCID_       0x2766 TRACE_FS            "FIDU RH = %lld lies between SR = %lld and ER = %lld, RL = %lld\n"
+TRCID_       0x2767 TRACE_FS            "FIDU ER = %lld lies between RL = %lld and RH = %lld, SR = %lld\n"
+TRCID_       0x2768 TRACE_FS            "FIDU RangeTree i/p %lld %lld, rngL %lld, rngH %lld\n"
+TRCID_       0x2769 TRACE_FS            "FIDU dumpFIDUDiskAddrList::RangeTree LowRange %lld highRange %lld\n"
+TRCID_       0x276A TRACE_FS            "FIDU rangeTree = 0x%X\n"
+TRCID_       0x276B TRACE_FS            "FIDU ~rangeTree = 0x%X\n"
+TRCID_       0x276C TRACE_FS            "FIDU dumpFIDUDiskAddrList: diskNum = %d rangeTree 0x%X\n"
+TRCID_       0x276D TRACE_FS            "FIDU SG Entered createFIDUDiskAddrList\n"
+TRCID_       0x276E TRACE_FS            "FIDU SG Exited createFIDUList diskListPP = 0x%X, nDisks = %d\n"
+TRCID_       0x276F TRACE_FS            "FIDU getFIDUReference Entered with disk Id = %d\n"
+TRCID_       0x2770 TRACE_FS            "FIDU getFIDUReference Exited\n"
+TRCID_       0x2771 TRACE_FS            "FIDU SG DumpDskAddr: %d:%lld: (ditto)\n"
+TRCID_       0x2772 TRACE_FS            "FIDU SGMgr: trav : %4d: (broken)\n"
+TRCID_       0x2773 TRACE_FS            "FIDU SGMgr: ino %d found BROKEN, sending\n"
+TRCID_       0x2774 TRACE_FS            "FIDU SGMgr: trav : %4d: %d:%lld\n"
+TRCID_       0x2775 TRACE_FS            "FIDU SGMgr: ino %d found %d:%lld sending %d:%lld\n"
+TRCID_       0x2776 TRACE_FS            "FIDU SGMgr: ino %d found BROKEN, sending\n"
+TRCID_       0x2777 TRACE_FS            "FIDU SGMgr fragBlock reached: fragFlag %d index %d\n"
+TRCID_       0x2778 TRACE_FS            "FIDU SGMgr ERROR: inode %d %d:%lld returned with err = %d\n"
+TRCID_       0x2779 TRACE_FS            "FIDU SGMgr: inode %d fFlag %d (nAddr %d) %4d: %d:%lld - %d:%lld\n"
+TRCID_       0x277A TRACE_FS            "FIDU SGMgr: ino %d found %d:%lld sending %d:%lld\n"
+TRCID_       0x277B TRACE_FS            "FIDU SG Exited destroyFIDUList diskListPP = 0x%X\n"
+TRCID_       0x277C TRACE_FS            "SFSCheck: checking special files\n"
+TRCID_       0x277D TRACE_FS            "SFSCheck Work: diskNum %d sRng %lld eRng %lld\n"
+TRCID_       0x277E TRACE_FS            "SFSCheck getInode0Sector: The system area %d is bad for disk %d\n"
+TRCID_       0x277F TRACE_FS            "SFSCheck FIDUListP: returned NULL!!!\n"
+TRCID_       0x2780 TRACE_FS            "SFSCheck FIDUListP: Error in adding range err = %d\n"
+TRCID_       0x2781 TRACE_FS            "SFSCheck: checking user files\n"
+TRCID_       0x2782 TRACE_FS            "SFSCheck: exit: rc %d\n"
+TRCID_       0x2783 TRACE_FS            "syncFS enter: sg %s flushOptions 0x%X next %d avail %d\n"
+TRCID_       0x2784 TRACE_FS            "syncFS: pass 1 checking %d inode %d snap %d init %d data %d\n"
+TRCID_       0x2785 TRACE_FS            "syncFS: pass 1 inode %d snap %d flushed %d"
+TRCID_       0x2786 TRACE_FS            "syncFS: pass 1 error %d\n"
+TRCID_       0x2787 TRACE_FS            "syncFS iter %d pass 1 complete: checked %d flushed %d\n"
+TRCID_       0x2788 TRACE_FS            "syncFS: pass 2 checking %d inode %d snap %d init %d data %d\n"
+TRCID_       0x2789 TRACE_FS            "syncFS: pass 2 inode %d snap %d flushed %d"
+TRCID_       0x278A TRACE_FS            "syncFS: pass 2 error %d\n"
+TRCID_       0x278B TRACE_FS            "Downgrade MNode %s inode %d\n"
+TRCID_       0x278C TRACE_FS            "Discard openFile inode %d\n"
+TRCID_       0x278D TRACE_FS            "syncFS iter %d pass 2 complete: checked %d flushed %d\n"
+TRCID_       0x278E TRACE_FS            "syncFS exit: sg %s reterr %d\n"
+TRCID_       0x278F TRACE_FS            "syncFSWait enter. flags=0x%08x\n"
+TRCID_       0x2790 TRACE_FS            "syncFSWait exit: err=%d\n"
+TRCID_       0x2791 TRACE_FS            "moreCleaningNeeded: over threshhold %d; nDirty=[%d,%d] cleaners %d syncNum %d numDataBufs %d"
+TRCID_       0x2792 TRACE_FS            "moreCleaningNeeded: more than %d pct dirty; nDirty=[%d %d] cleaners %d syncNum %d numDataBufs %d"
+TRCID_       0x2793 TRACE_FS            "moreCleaningNeeded: past next sync time; nDirty=[%d,%d] cleaners %d syncNum %d numDataBufs %d"
+TRCID_       0x2794 TRACE_FS            "moreCleaningNeeded: no old dirty buffers; nDirty=[%d,%d] cleaners %d syncNum %d numDataBufs %d"
+TRCID_       0x2795 TRACE_FS            "moreCleaningNeeded: sync running; nDirty=[%d,%d] cleaners %d syncNum %d numDataBufs %d"
+TRCID_       0x2796 TRACE_FS            "moreCleaningNeeded: behind %d; nDirty[n,n+1]=[%d %d] cleaners %d syncNum %d numDataBufs %d"
+TRCID_       0x2797 TRACE_FS            "becomeCleaner: nCleanerThreads %d >= 2*nAvailableDisksInUse %d"
+TRCID_       0x2798 TRACE_FS            "becomeCleaner: nCleanerThreads %d >= worker1Threads-1 %d"
+TRCID_       0x2799 TRACE_FS            "LookForCleanToDo: bdP 0x%lX\n"
+TRCID_       0x279A TRACE_FS            "GlobalFS::CleanBuffer: enter; dataDirty=%d\n"
+TRCID_       0x279B TRACE_FS            "GlobalFS::CleanBuffer: inode %d block %lld len %d\n"
+TRCID_       0x279C TRACE_FS            "SyncAllFileSystems enter: completeSync %d time %d.%09d"
+TRCID_       0x279D TRACE_FS            "SyncAllFileSystems: syncFS returns err %d, bufsFlushedBySync %d numSkippedBufs %d"
+TRCID_       0x279E TRACE_FS            "SyncAllFileSystems exit: time %d.%09d new syncNum %d nBuffersToCleanBeforeNextSync %d"
+TRCID_       0x279F TRACE_FS            "UpdateSmoothedSyncInterval: time %d.%09d new smoothedSyncInterval %d.%09d"
+TRCID_       0x27A0 TRACE_FS            "SFSSyncFS enter"
+TRCID_       0x27A1 TRACE_FS            "SFSSyncFS exit: in progress\n"
+TRCID_       0x27A2 TRACE_FS            "SFSSyncFS exit: err %d\n"
+TRCID_       0x27A3 TRACE_FS            "SFSSyncWatchdogMain syncWatchdogInterval %d wakeup err %d"
+TRCID_       0x27A4 TRACE_FS            "SFSSyncWatchdogMain calling SyncAllFileSystems"
+TRCID_       0x27A5 TRACE_FS            "SFSShutdownFS:\n"
+TRCID_       0x27A6 TRACE_FS            "SFSSyncFile: uid %X:%X inodeNum %d\n"
+TRCID_       0x27A7 TRACE_FS            "SFSSyncFile exit: error %d\n"
+TRCID_       0x27A8 TRACE_FS            "flushBuffer: block %lld dataDirty %d addrDirty %d synchedStale %d dataUpdate.isDirty %d syncNum %d fsSyncNum %d\n"
+TRCID_       0x27A9 TRACE_QUOTA         "FindAllocDiffs assigned %lld, nAddr %d, synched %lld, nAddr %d\n"
+TRCID_       0x27AA TRACE_FS            "flushIndirects inode %d flushOptions 0x%x, indLevel %d, sanHyper %d\n"
+TRCID_       0x27AB TRACE_FS            "Changing inode %d to INDIRECTION_DIRECT\n"
+TRCID_       0x27AC TRACE_FS            "Reducing indirection level of inode %d\n"
+TRCID_       0x27AD TRACE_FS            "ridSurplus: devId %X inodeNum %d flags %X\n"
+TRCID_       0x27AE TRACE_FS            "ridSurplus inode %d indLevel %d, sanHyper %d\n"
+TRCID_       0x27AF TRACE_FS            "ridSurplus exit: err %d\n"
+TRCID_       0x27B0 TRACE_FS            "flushFile: devId %X inodeNum %d snap %d flushOptions 0x%04x range 0x%llX-0x%llX\n"
+TRCID_       0x27B1 TRACE_FS            "flushFile: devId %X inodeNum %d desired range 0x%llX-0x%llX\n"
+TRCID_       0x27B2 TRACE_FS            "flushFile: inode %d fileModifiedSnapId %d committed %d LSN 0x%llX"
+TRCID_       0x27B3 TRACE_FS            "flushFile: inode %d snap %d status %d nlinks %d fragmentChanged %d\n"
+TRCID_       0x27B4 TRACE_FS            "flushFile exit: inode %d dataFlushed %d indirectsFlushed %d inodeFlushed %d fragmentChanged %d, err %d"
+TRCID_       0x27B5 TRACE_FS            "truncFile: ofP 0x%lX inode %d openFlags 0x%X endPos 0x%llX copied %d\n"
+TRCID_       0x27B6 TRACE_FS            "truncFile exit: ofP 0x%lX err %d\n"
+TRCID_       0x27B7 TRACE_FS            "SFSTrunc: oiP 0x%lX ofP 0x%lX openFlags 0x%X endPos 0x%llX copied %d\n"
+TRCID_       0x27B8 TRACE_SANERGY       "SFSTrunc: SANergy latest lease expired for %d secs.\n"
+TRCID_       0x27B9 TRACE_FS            "SFSTrunc: sanTruncFile, isSanergyLocked %d endPos %lld fileSize %lld allocSize %lld, err %d\n"
+TRCID_       0x27BA TRACE_SANERGY       "SFSTrunc inode %d, fileSize %lld, nBlocks %lld, fBlocks %lld, sanResetHyperAllocBit\n"
+TRCID_       0x27BB TRACE_FS            "SFSTrunc exit: oiP 0x%lX error %d\n"
+TRCID_       0x27BC TRACE_SANERGY       "sanTruncFile enter: ofP 0x%lX, inode %d genNum %d, openFlags 0x%X newFileSize %lld, curAllocSize %lld, deallocPhantomBlk %d\n"
+TRCID_       0x27BD TRACE_SANERGY       "sanTruncFile: inode %d fileSize %lld, newFileSize %lld, curAllocSize %lld\n"
+TRCID_       0x27BE TRACE_SANERGY       "sanTruncFile: phantomblk: first %lld, last %lld, new first %lld\n"
+TRCID_       0x27BF TRACE_SANERGY       "sanTruncFile: deallocPhantom clearFile seekPos %lld, nBytes %lld\n"
+TRCID_       0x27C0 TRACE_SANERGY       "sanTruncFile: deallocPhantom clearFile ret err %d\n"
+TRCID_       0x27C1 TRACE_SANERGY       "sanTruncFile: flushFile ret err %d\n"
+TRCID_       0x27C2 TRACE_SANERGY       "sanTruncFile exit  ofP 0x%lX, err %d\n"
+TRCID_       0x27C3 TRACE_MNODE         "Entering MNodeToken constructor"
+TRCID_       0x27C4 TRACE_MNODE         "updateMnodeAddrMutexHeld: mnode addr %s cl %d new addr %s cl %d ofP %08lx this %08lx"
+TRCID_       0x27C5 TRACE_MNODE         "updateMnodeAddrMutexHeld: inode %d snap %d, old mnode %s fail count was %d is %d, new mnode %s" $3=nodeaddr_id2name $6=nodeaddr_id2name
+TRCID_       0x27C6 TRACE_MNODE         "MNodeToken::set_mnode_mode_addr: old mode %s new mode %s old metanode addr %s new metanode addr %s old metanode cl %d  new metanode cl %d SG %s" $1=lockmode_id2name $2=lockmode_id2name $3=nodeaddr_id2name $4=nodeaddr_id2name
+TRCID_       0x27C7 TRACE_MNODE         "MNodeToken::set_mnode_mode_addr: now: mode %s mnode %s status %s" $1=lockmode_id2name $2=nodeaddr_id2name $3=objstatus_id2name
+TRCID_       0x27C8 TRACE_MNODE         "MNodeToken::tryToBecomeMnode: inode %d lm %s gioFlags 0x%X, status %s token_mode %s" $2=lockmode_id2name $4=objstatus_id2name $5=lockmode_id2name
+TRCID_       0x27C9 TRACE_MNODE         "MNodeToken::tryToBecomeMnode: Found the m-node and it's me"
+TRCID_       0x27CA TRACE_MNODE         "tryToBecomeMnode: failed to become mnode; setting newMnode TRUE"
+TRCID_       0x27CB TRACE_MNODE         "MNodeToken::tryToBecomeMnode: inode %d mtoken obj_status %d token_mode %s err %d newMnode %d" $3=lockmode_id2name
+TRCID_       0x27CC TRACE_MNODE         "MNodeToken::mnDowngrade: inode %d tm %s new metanode is %s\n" $2=lockmode_id2name $3=nodeaddr_id2name
+TRCID_       0x27CD TRACE_MNODE         "MNodeToken::token_revoke: enter inode %d with reqMode %s cached %d token_mode %s" $2=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x27CE TRACE_MNODE         "MNodeToken::token_revoke: inode %d destroyOnLastClose; openInstCount %d"
+TRCID_       0x27CF TRACE_MNODE         "MNodeToken::token_revoke: exit inode %d old_mode %s newMode %s err %d" $2=lockmode_id2name $3=lockmode_id2name
+TRCID_       0x27D0 TRACE_MNODE         "FM::mnGetInode enter, inode %d snap %d\n"
+TRCID_       0x27D1 TRACE_MNODE         "FM::mnGetInode exit, inode %d snap %d fsize 0x%llX subblocks %d err %d"
+TRCID_       0x27D2 TRACE_MNODE         "FM::mhGetInode enter, inode %d snap %d\n"
+TRCID_       0x27D3 TRACE_MNODE         "FM::mhGetInode exit, inode %d snap %d fsize 0x%llX subblocks %d\n"
+TRCID_       0x27D4 TRACE_MNODE         "FM::mnPutInode enter, inode %d snap %d\n"
+TRCID_       0x27D5 TRACE_MNODE         "FM::mnPutInode exit, inode %d snap %d fsize 0x%llX subblocks %d err %d\n"
+TRCID_       0x27D6 TRACE_MNODE         "FM::mhPutInode enter, inode %d snap %d old fsize 0x%llX"
+TRCID_       0x27D7 TRACE_MNODE         "FM::mhPutInode(): exit inode %d snap %d, new fsize 0x%llX subblocks %d err %d\n"
+TRCID_       0x27D8 TRACE_MNODE         "FM::mnUpdateInode enter, inode %d snap %d old fsize 0x%llX\n"
+TRCID_       0x27D9 TRACE_MNODE         "FM::mnUpdateInode exit: inode %d snap %d, new fsize 0x%llX subblocks %d err %d\n"
+TRCID_       0x27DA TRACE_MNODE         "FM::mnUSDBDA enter: inode %d snap %d blocks %lld..%lld, flushOptions 0x%X"
+TRCID_       0x27DB TRACE_MNODE         "FM::mnUSDBDA inode %d snap %d , updates %d/%d/%d, unsynched %d/%d"
+TRCID_       0x27DC TRACE_MNODE         "FM::mnUSDBDA send inode %d snap %d, update # %d, block %lld"
+TRCID_       0x27DD TRACE_MNODE         "FM::mnUpdateSomeDataBlockDiskAddrs inode %d snap %d restarting\n"
+TRCID_       0x27DE TRACE_MNODE         "FM::mnUpdateSomeDataBlockDiskAddrs exit inode %d snap %d err %d\n"
+TRCID_       0x27DF TRACE_MNODE         "FM::mhUpdateDataBlockDiskAddr enter inode %d snap %d count %d\n"
+TRCID_       0x27E0 TRACE_MNODE         "FM::mhUpdateDataBlockDiskAddr inode %d snap %d file size old 0x%llX new 0x%llX subblocks old %d new %d\n"
+TRCID_       0x27E1 TRACE_MNODE         "FM::mhUpdateDataBlockDiskAddr inode %d loop1 %d/%d loop2 %d/%d\n"
+TRCID_       0x27E2 TRACE_MNODE         "FM::mhUpdateDataBlockDiskAddr L1 inode %d snap %d updIdx %d block %lld oldLastBlockSubblocks %d inode.lastBlockSubblocks %d\n"
+TRCID_       0x27E3 TRACE_MNODE         "FM::mhUpdateDataBlockDiskAddr exit inode %d snap %d err %d\n"
+TRCID_       0x27E4 TRACE_MNODE         "FM::mhUpdateInodeAndIndBlocks enter inode %d snap %d count %d\n"
+TRCID_       0x27E5 TRACE_MNODE         "FM::mhUpdateInodeAndIndBlocks exit inode %d snap %d err %d\n"
+TRCID_       0x27E6 TRACE_MNODE         "FM::mnFileSync enter inode %d snap %d\n"
+TRCID_       0x27E7 TRACE_MNODE         "FM::mnFileSync exit inode %d snap %d flushVersion %llu err %d\n"
+TRCID_       0x27E8 TRACE_MNODE         "FM::mhFileSync enter inode %d snap %d\n"
+TRCID_       0x27E9 TRACE_MNODE         "FM::mhFileSync exit inode %d snap %d flushVersion %llu err %d\n"
+TRCID_       0x27EA TRACE_MNODE         "FM::GetSomeDataBlockDiskAddrs inode %d snap %d range 0x%llX-0x%llX\n"
+TRCID_       0x27EB TRACE_MNODE         "FM::GetSomeDataBlockDiskAddrs for inode %d snap %d indirect block %lld first %d last %d err %d\n"
+TRCID_       0x27EC TRACE_MNODE         "FM::GetSomeDataBlockDiskAddrs exit inode %d snap %d err %d\n"
+TRCID_       0x27ED TRACE_MNODE         "FM::mnGetSubIndirectBlock enter inode %d snap %d\n"
+TRCID_       0x27EE TRACE_MNODE         "FM::mnGetSubIndirectBlock exit inode %d snap %d indirect %lld first %d last %d err %d\n"
+TRCID_       0x27EF TRACE_MNODE         "FM::mhGetSubIndirectBlock enter inode %d snap %d\n"
+TRCID_       0x27F0 TRACE_MNODE         "FM::mhGetSubIndirectBlock inode %d, sanHyperAlloc %d\n"
+TRCID_       0x27F1 TRACE_MNODE         "FM::mhGetSubIndirectBlock inode %d snap %d indirect %lld first %d last %d err %d\n"
+TRCID_       0x27F2 TRACE_MNODE         "FM::mnGetAttrSub enter inode %d snap %d\n"
+TRCID_       0x27F3 TRACE_MNODE         "FM::mnGetAttrSub exit inode %d snap %d, err: %d, mtime: %u.%u\n"
+TRCID_       0x27F4 TRACE_MNODE         "FM::pushIndirectUpdate inode %d snap %d block %lld\n"
+TRCID_       0x27F5 TRACE_MNODE         "pushIndirectUpdate: error E_NOMEM\n"
+TRCID_       0x27F6 TRACE_MNODE         "FM::pushIndirectUpdate exit inode %d snap %d block %lld new OK=%d %d:%lld err %d\n"
+TRCID_       0x27F7 TRACE_MNODE         "FM::ApplyLocalUnsentUpdates enter inode %d snap %d first %lld last %lld\n"
+TRCID_       0x27F8 TRACE_MNODE         "FM::ApplyLocalUnsentUpdates inode %d snap %d block %lld\n"
+TRCID_       0x27F9 TRACE_MNODE         "FM::MetaNodeBegin enter inode %d snap %d gioFlags 0x%X\n"
+TRCID_       0x27FA TRACE_MNODE         "FM::MetaNodeBegin exit inode %d snap %d err %d\n"
+TRCID_       0x27FB TRACE_MNODE         "FM::MetaNodeFailed inode %d snap %d valid %d dirty %d status %s\n" $5=inodestatus_id2name
+TRCID_       0x27FC TRACE_MNODE         "FM::MetaNodeFailed exit inode %d snap %d err %d\n"
+TRCID_       0x27FD TRACE_BRL           "OF::acquireBRT(): enter inode %d snap %d req 0x%llX-0x%llX des 0x%llX-0x%llX lm %s\n" $7=brmode_id2name
+TRCID_       0x27FE TRACE_BRL           "OF::acquireBRT: inode %d snap %d gra 0x%llX-0x%llX seqno %d"
+TRCID_       0x27FF TRACE_MNODE         "OF::acquireBRT(): inode %d snap %d extends beyond file size (E_RANGE)\n"
+TRCID_       0x2800 TRACE_MNODE         "OF::acquireBRT(): exit inode %d snap %d err %d\n"
+TRCID_       0x2801 TRACE_BRL           "OF::relinquishBRT enter inode %d snap %d range 0x%llX-0x%llX lm %s\n" $5=brmode_id2name
+TRCID_       0x2802 TRACE_BRL           "OF::relinquishBRT enter inode %d snap %d range 0x%llX-0x%llX des 0x%llX-0x%llX lm %s\n" $7=brmode_id2name
+TRCID_       0x2803 TRACE_BRL           "OF::relinquishBRT exit inode %d snap %d range 0x%llX-0x%llX lm %s\n" $5=brmode_id2name
+TRCID_       0x2804 TRACE_MNODE         "OF::change_token enter inode %d snap %d tm %s\n" $3=lockmode_id2name
+TRCID_       0x2805 TRACE_MNODE         "OF::change_token exit err %d inode %d snap %d tm %s\n" $4=lockmode_id2name
+TRCID_       0x2806 TRACE_MNODE         "OF::MnodeAddr: ret NODE_UNKNOWN fcnt %d was %d mnode %s\n" $3=nodeaddr_id2name
+TRCID_       0x2807 TRACE_BRL           "SFSAcquireBRT enter"
+TRCID_       0x2808 TRACE_BRL           "SFSAcquireBRT exit (rc %d)"
+TRCID_       0x2809 TRACE_BRL           "SFSReleaseBRT: range 0x%llX-0x%llX"
+TRCID_       0x280A TRACE_BRL           "SFSReleaseBRT: exit err %d"
+TRCID_       0x280B TRACE_FS            "SFSExpandLastBlock: oiP 0x%lX blockToExpand %lld\n"
+TRCID_       0x280C TRACE_MNODE         "MM::Init: tscRegisterService failed, rc %d\n"
+TRCID_       0x280D TRACE_MNODE         "MM::Init: tscRegisterService registered\n"
+TRCID_       0x280E TRACE_MNODE         "MNodeMgr::queryMNodeAddr: mnode %s rc %d\n" $1=nodeaddr_id2name
+TRCID_       0x280F TRACE_MNODE         "MM::lockMnodeByKey enter inode %lld snap %d fileset %d\n"
+TRCID_       0x2810 TRACE_MNODE         "MNodeMgr::lockMnodeByKey: inode %lld key %08X:%08X:%08X:%08X exit:%d\n"
+TRCID_       0x2811 TRACE_MNODE         "MM::unlockMnode enter inode %d lm %s" $2=lockmode_id2name
+TRCID_       0x2812 TRACE_MNODE         "MM::lockInodeByKey enter inode %lld snap %d fileset %d\n"
+TRCID_       0x2813 TRACE_MNODE         "MNodeMgr::lockInodeByKey: exit: inode %lld snap %d fileset %d err %d\n"
+TRCID_       0x2814 TRACE_MNODE         "MM::GetInode enter inode %lld snap %d fileset %d\n"
+TRCID_       0x2815 TRACE_MNODE         "MM::GetInode: exit inode %lld err %d\n"
+TRCID_       0x2816 TRACE_MNODE         "MM::mhGetInode enter inode %lld snap %d fileset %d\n"
+TRCID_       0x2817 TRACE_MNODE         "MM::mhGetInode: ds map size is %d * %d"
+TRCID_       0x2818 TRACE_MNODE         "MM::mhGetInode exit inode %lld err %d\n"
+TRCID_       0x2819 TRACE_MNODE         "MM::PutInode: enter inode %lld snap %d fileset %d\n"
+TRCID_       0x281A TRACE_MNODE         "MM::PutInode: exit inode %lld err %d\n"
+TRCID_       0x281B TRACE_MNODE         "MM::mhPutInode: enter inode %lld snap %d fileset %d\n"
+TRCID_       0x281C TRACE_MNODE         "MM::mhPutInode: exit inode %lld err %d\n"
+TRCID_       0x281D TRACE_MNODE         "MM::RepairFile: enter inode %lld snap %d genNum %d fileset %d\n"
+TRCID_       0x281E TRACE_MNODE         "MM::RepairFile: enter inode %lld snap %d inodeFlagsOk %d err %d\n"
+TRCID_       0x281F TRACE_MNODE         "MM::mhRepairFile: enter inode %lld snap %d genNum 0x%X fileset %d what %d\n"
+TRCID_       0x2820 TRACE_MNODE         "MM::mhRepairFile: exit inode %lld err %d\n"
+TRCID_       0x2821 TRACE_MNODE         "MM::sanRepairFile: enter inode %lld snap %d genNum %d filesetId %d\n"
+TRCID_       0x2822 TRACE_MNODE         "MM::sanRepairFile: exit inode %lld snap %d err %d, retCode %d\n"
+TRCID_       0x2823 TRACE_MNODE         "MM::mhSanRepairFile: enter inode %lld snap %d repairType %d\n"
+TRCID_       0x2824 TRACE_MNODE         "MM::mhSanRepairFile: exit inode %lld err %d, retCode %d\n"
+TRCID_       0x2825 TRACE_MNODE         "MM::FileSync: enter inode %lld snap %d fileset %d\n"
+TRCID_       0x2826 TRACE_MNODE         "MM::FileSync: exit inode %lld flushVersion %u err %d\n"
+TRCID_       0x2827 TRACE_MNODE         "MM::mhFileSync: enter inode %lld snap %d filesetId %d lm %s\n" $4=lockmode_id2name
+TRCID_       0x2828 TRACE_MNODE         "MM::mhFileSync: exit inode %lld\n"
+TRCID_       0x2829 TRACE_MNODE         "MM::GetSubIndirectBlock: enter inode %lld snap %d fileset %d indblock %lld first %d last %d\n"
+TRCID_       0x282A TRACE_MNODE         "MM::GetSubIndirectBlock inode %lld fileSize %lld subblocks %d flushVer %lld synchedFSize %lld\n"
+TRCID_       0x282B TRACE_MNODE         "MM::GetSubIndirectBlock inode %d data block %lld DA is NULL\n"
+TRCID_       0x282C TRACE_MNODE         "MM::GetSubIndirectBlock inode %d data block %lld DA is DITTO\n"
+TRCID_       0x282D TRACE_MNODE         "MM::GetSubIndirectBlock inode %d data block %lld da %d:%lld (1 of %d)\n"
+TRCID_       0x282E TRACE_MNODE         "MM::GetSubIndirectBlock: exit inode %lld indblock %lld start %d end %d err %d\n"
+TRCID_       0x282F TRACE_MNODE         "MM::mhGetSubIndirectBlock: enter inode %lld snap %d fileset %d indblock %lld first %d last %d\n"
+TRCID_       0x2830 TRACE_MNODE         "MM::mhGetSubIndirectBlock: exit inode %lld indblock %lld first %d last %d err %d\n"
+TRCID_       0x2831 TRACE_MNODE         "MM::UpdateDataBlockDiskAddrs: enter inode %lld snap %d fileset %d filesize %lld count %d\n"
+TRCID_       0x2832 TRACE_MNODE         "MM::UpdateDataBlockDiskAddrs: exit inode %lld count %d err %d\n"
+TRCID_       0x2833 TRACE_MNODE         "MM::UpdateInodeAndIndBlocks: enter inode %lld snap %d count %d\n"
+TRCID_       0x2834 TRACE_MNODE         "MM::UpdateDataBlockDiskAddrs: exit inode %lld count %d err %d\n"
+TRCID_       0x2835 TRACE_MNODE         "MM::mhUpdateDataBlockDiskAddrs: inode %lld snap %d count %d options 0x%X allFull %d\n"
+TRCID_       0x2836 TRACE_MNODE         "MM::mhUpdateDataBlockDiskAddrs: exit inode %lld count %d err %d\n"
+TRCID_       0x2837 TRACE_MNODE         "MM::mhUpdateInodeAndIndBlocks: inode %lld snap %d count %d inodeFlags 0x%X\n"
+TRCID_       0x2838 TRACE_MNODE         "MM::mhUpdateDataBlockDiskAddrs: exit inode %lld count %d err %d\n"
+TRCID_       0x2839 TRACE_MNODE         "MM::DoubleUpdateDiskAddr: enter inode %lld snap %d fileset %d blocks %lld,%lld\n"
+TRCID_       0x283A TRACE_MNODE         "MM::DoubleUpdateDiskAddr: exit inode %lld err %d\n"
+TRCID_       0x283B TRACE_MNODE         "MM::mhDoubleUpdateDiskAddr: enter inode %lld snap %d blocks %lld,%lld\n"
+TRCID_       0x283C TRACE_MNODE         "MM::mhDoubleUpdateDiskAddr: exit inode %lld err %d\n"
+TRCID_       0x283D TRACE_MNODE         "MM::ForceInodeFlags: enter inode %lld snap %d whichFlags 0x%X updateLogged %d\n"
+TRCID_       0x283E TRACE_FS            "MM::ForceInodeFlags update miss: dataBlockNum %lld, indDA %d:%lld"
+TRCID_       0x283F TRACE_MNODE         "MM::ForceInodeFlags: exit inode %lld whichFlags 0x%X updateLogged %d err %d\n"
+TRCID_       0x2840 TRACE_MNODE         "MM::mhForceInodeFlags: enter inode %lld snap %d whichFlags 0x%X updateLogged %d\n"
+TRCID_       0x2841 TRACE_MNODE         "MM::mhForceInodeFlags: exit inode %lld whichFlags 0x%X updateLogged %d err %d\n"
+TRCID_       0x2842 TRACE_MNODE         "MM::GetMtime: enter inode %lld snap %d fileset %d\n"
+TRCID_       0x2843 TRACE_MNODE         "MM::GetMtime: exit inode %lld secs %u nsecs %u err %d\n"
+TRCID_       0x2844 TRACE_MNODE         "MM::mhGetMtime: enter inode %lld snap %d fileset %d\n"
+TRCID_       0x2845 TRACE_MNODE         "MM::mhGetMtime: exit inode %lld secs %u nsecs %u asecs %u ansecs %u nFBS %lld err %d\n"
+TRCID_       0x2846 TRACE_MNODE         "MM::sendDSMNMsg: sending msg type %d to mnode %s\n" $2=nodeaddr_id2name
+TRCID_       0x2847 TRACE_MNODE         "MM::sendDSMNMsg: exit err %d\n"
+TRCID_       0x2848 TRACE_SANERGY       "MM::sendSanMNMsg: sending msg type %d to mnode %s\n" $2=nodeaddr_id2name
+TRCID_       0x2849 TRACE_SANERGY       "MM::sendSanMNMsg: replyP->err %d\n"
+TRCID_       0x284A TRACE_SANERGY       "MM::sendSanMNMsg: replyP is NULL\n"
+TRCID_       0x284B TRACE_SANERGY       "MN::sendSanMNMsg: exit err %d\n"
+TRCID_       0x284C TRACE_SANERGY       "mhSanMNActiveMap: enter\n"
+TRCID_       0x284D TRACE_SANERGY       "mhSanMNActiveMap: lockMnodeByKey ret err %d\n"
+TRCID_       0x284E TRACE_SANERGY       "mhSanMNActiveMap: sanMNConflictCmdWaiting %d, beingRestriped %d err E_PERM\n"
+TRCID_       0x284F TRACE_SANERGY       "mhSanMNActiveMap: calling sanFlushFile\n"
+TRCID_       0x2850 TRACE_SANERGY       "mhSanMNActiveMap: sanFlushFile ret %d\n"
+TRCID_       0x2851 TRACE_SANERGY       "mhSanMNActiveMap exit: err %d\n"
+TRCID_       0x2852 TRACE_SANERGY       "mhSanMNUnlockMap: enter\n"
+TRCID_       0x2853 TRACE_SANERGY       "mhSanMNUnlockMap: sanMNConflictCmdWaiting %d, beingRestriped %d err E_PERM\n"
+TRCID_       0x2854 TRACE_SANERGY       "mhSanMNUnlockMap: sanFlushFile ret %d\n"
+TRCID_       0x2855 TRACE_SANERGY       "mhSanMNUnlockMap: exit err %d\n"
+TRCID_       0x2856 TRACE_SANERGY       "mhSanMNSetFileSizes: enter\n"
+TRCID_       0x2857 TRACE_SANERGY       "mhSanMNSetFileSizes: sanMNConflictCmdWaiting %d, beingRestriped %d err E_PERM\n"
+TRCID_       0x2858 TRACE_SANERGY       "mhSanMNSetFileSizes: exit err %d\n"
+TRCID_       0x2859 TRACE_MNODE         "MM::RelaySyncMsg: enter inode %lld snap %d fileset %d\n"
+TRCID_       0x285A TRACE_MNODE         "MM::RelaySyncMsg: exit inode %lld err %d\n"
+TRCID_       0x285B TRACE_MNODE         "mhRelaySyncMsg: enter inode %lld snap %d fileset %d\n"
+TRCID_       0x285C TRACE_QUOTA         "QuotaHashTab::insert, entry 0x%x, id %d, refCount %d, replIfFound %d\n"
+TRCID_       0x285D TRACE_QUOTA         "QuotaHashTab::insert, id %d, refCount %d, err %d\n"
+TRCID_       0x285E TRACE_QUOTA         "findAndHold, p 0x%x id %d, refCount %d\n"
+TRCID_       0x285F TRACE_QUOTA         "findInsertAndHold, (inserted) qeP 0x%x id %d, refCount %d\n"
+TRCID_       0x2860 TRACE_QUOTA         "findPosAndHold, p 0x%x, pos %d id %d, refCount %d\n"
+TRCID_       0x2861 TRACE_QUOTA         "get_first_entry_and_hold, bucket %d qe 0x%x id %d refCount %d\n"
+TRCID_       0x2862 TRACE_QUOTA         "get_next_entry_and_hold, nextP 0x%x previd %d id %d refCount %d\n"
+TRCID_       0x2863 TRACE_QUOTA         "QuotaEntry::~QuotaEntry 0x%X\n"
+TRCID_       0x2864 TRACE_QUOTA         "QuotaEntry::relHold enter entry 0x%x, id %d, refCount %d, toDelete %d\n"
+TRCID_       0x2865 TRACE_QUOTA         "QuotaEntry::relHold, delete entry 0x%x\n"
+TRCID_       0x2866 TRACE_QUOTA         "QuotaEntry::relHold, deleted entry 0x%x\n"
+TRCID_       0x2867 TRACE_QUOTA         "quota compute share type %d, id %d: bRequest=%d, iRequest=%d --> no limits to check\n"
+TRCID_       0x2868 TRACE_QUOTA         "quota compute share type %d, id %d: RevokeFromClients ret err %d\n"
+TRCID_       0x2869 TRACE_QUOTA         "quota compute share type %d, id %d: quotaAvailBl %lld (HL %lld, U %lld, InDoubt %lld)\n"
+TRCID_       0x286A TRACE_QUOTA         "quota compute share type %d, id %d: quotaAvailIn %d (HL %d, U %d, InDoubt %d)\n"
+TRCID_       0x286B TRACE_QUOTA         "DiskQuotaInfo: quoId %d quota checksum 0x%X is %s (0x%X), new (0x%X)\n"
+TRCID_       0x286C TRACE_QUOTA         "block hardLim %lld softLim %lld usage %lld inDoubt %lld grace %d\n"
+TRCID_       0x286D TRACE_QUOTA         "inode hardLim %lld softLim %lld usage %lld inDoubt %lld grace %d\n"
+TRCID_       0x286E TRACE_QUOTA         "flags 0x%08X %s%s%s%s EntryType 0x%08X %s\n"
+TRCID_       0x286F TRACE_QUOTA         "pad[10]: %d %d %d %d %d %d %d %d %d %d\n"
+TRCID_       0x2870 TRACE_QUOTA         "QuotaMgr::SyncQuotaMgr: enter deleteEntries=%d"
+TRCID_       0x2871 TRACE_QUOTA         "SyncQuotaMgr: again\n"
+TRCID_       0x2872 TRACE_QUOTA         "SyncQuotaMgr: markToDelete rel hold i %d id %d refCnt %d\n"
+TRCID_       0x2873 TRACE_QUOTA         "SyncQuotaMgr: mod, relHold, i %d, id %d, refCnt %d\n"
+TRCID_       0x2874 TRACE_QUOTA         "SyncQuotaMgr: freeFilePosition, i %d, id %d, refCount %d\n"
+TRCID_       0x2875 TRACE_QUOTA         "SyncQuotaMgr: panicked, relHold, i %d, id %d, refCnt %d\n"
+TRCID_       0x2876 TRACE_QUOTA         "SyncQuotaMgr: relHold, get_next_entry_and_hold, i %d, id %d refCnt %d\n"
+TRCID_       0x2877 TRACE_QUOTA         "SyncQuotaMgr: markToDelete, toDel i %d, id %d, refCnt %d\n"
+TRCID_       0x2878 TRACE_QUOTA         "SyncQuotaMgr: toDel, rel hold, i %d, id %d, refCnt %d\n"
+TRCID_       0x2879 TRACE_QUOTA         "SyncQuotaMgr: call FlushQuotaFile type %d\n"
+TRCID_       0x287A TRACE_QUOTA         "SyncQuotaMgr: waitUntilMarkedEntsGone, i %d\n"
+TRCID_       0x287B TRACE_QUOTA         "SyncQuotaMgr: goto again type %d, NumEntries %d\n"
+TRCID_       0x287C TRACE_QUOTA         "QuotaMgr::SyncQuotaMgr exit: err %d"
+TRCID_       0x287D TRACE_QUOTA         "QuotaMgr::EndQuotaMgr: enter"
+TRCID_       0x287E TRACE_FS            "QuotaMgr::DeleteOpenInstances: inode %d for %s quota file\n"
+TRCID_       0x287F TRACE_QUOTA         "RemoveDeinstalledQuotaFiles: type %d, inodeNum %d\n"
+TRCID_       0x2880 TRACE_QUOTA         "openQuotaFile %s inode %d\n"
+TRCID_       0x2881 TRACE_QUOTA         "openQuotaFile %s inode %d complete, err %d\n"
+TRCID_       0x2882 TRACE_QUOTA         "closeQuotaFile %s oiP 0x%X\n"
+TRCID_       0x2883 TRACE_QUOTA         "closeQuotaFile %s complete, err %d\n"
+TRCID_       0x2884 TRACE_QUOTA         "Failed to read quota %s record %lld err %d\n"
+TRCID_       0x2885 TRACE_QUOTA         "last entry in quota file %lld, type %d"
+TRCID_       0x2886 TRACE_QUOTA         "write quota entry before writing entry on position %d;  getNRecordsPerBlock %d, sg name %s"
+TRCID_       0x2887 TRACE_QUOTA         "more on write quota entry: type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d."
+TRCID_       0x2888 TRACE_QUOTA         "wrieToBuf, ROOT_ID, quotaOn[%d]= %d, quotaDefaultOn[%d] = %d\n"
+TRCID_       0x2889 TRACE_QUOTA         "write quota entry type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d; sync %d; err %d"
+TRCID_       0x288A TRACE_QUOTA         "ProcessQuotas %s"
+TRCID_       0x288B TRACE_QUOTA         "ProcessQuotas: ReplaceQuotaFiles ret err %d\n"
+TRCID_       0x288C TRACE_QUOTA         "ProcessQuotas had a problem   %s"
+TRCID_       0x288D TRACE_QUOTA         "ProcessQuotas exit with err %d %s"
+TRCID_       0x288E TRACE_QUOTA         "ReplaceQuotaFiles: type %d, file name \"%s\""
+TRCID_       0x288F TRACE_QUOTA         "ReplaceQuotaFiles: the found inode %d, its gen num 0x%X"
+TRCID_       0x2890 TRACE_QUOTA         "replaceQuotaFiles before: USR %d, GRP %d, fileId.inodeNum %d"
+TRCID_       0x2891 TRACE_QUOTA         "replaceQuotaFiles after: USR %d, GRP %d, fileId.inodeNum %d"
+TRCID_       0x2892 TRACE_QUOTA         "ReplaceQuotaFiles: err %d"
+TRCID_       0x2893 TRACE_QUOTA         "QuotaMgr::startQuotaServer calling startQuotas(type %d)\n"
+TRCID_       0x2894 TRACE_QUOTA         "QuotaMgr::startQuotaServer: err %d"
+TRCID_       0x2895 TRACE_QUOTA         "freeFilePosition type %d, id %d  position %d, last %d\n"
+TRCID_       0x2896 TRACE_QUOTA         "%d now last entry in quota file for type %d after freePos %d"
+TRCID_       0x2897 TRACE_QUOTA         "QuotaMgr::freeFilePosition %d type %d: err %d"
+TRCID_       0x2898 TRACE_QUOTA         "FlushQuotaFile exit type %d, err %d\n"
+TRCID_       0x2899 TRACE_QUOTA         "QuotaMgr::startQuotas type %d quotaOn %d, for %s\n"
+TRCID_       0x289A TRACE_QUOTA         "There is no quotafile -> create %s"
+TRCID_       0x289B TRACE_QUOTA         "QuotaMgr::startQuotas type %d failed to change replication factor for quta file in %s"
+TRCID_       0x289C TRACE_QUOTA         "quotaMgr::startQuotas got numrecs=%lld\n"
+TRCID_       0x289D TRACE_QUOTA         "startQuotas: there is no root entry in the first record\n"
+TRCID_       0x289E TRACE_QUOTA         "quotaMgr::startQuotas ROOT_ID flags 0x%x, (disk) deFlags 0x%x\n"
+TRCID_       0x289F TRACE_QUOTA         "Read quota file entry: type %d id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d\n"
+TRCID_       0x28A0 TRACE_QUOTA         "qu.server error reading quota file: id %d more than once"
+TRCID_       0x28A1 TRACE_QUOTA         "startQuotas: qP(id %d, refCount %d) prevP(id %d, refCount %d)\n"
+TRCID_       0x28A2 TRACE_QUOTA         "Dbg read quota file entry: i=%lld, type %d:\n"
+TRCID_       0x28A3 TRACE_QUOTA         "QuotaMgr::startQuotas type %d exit: err %d %s"
+TRCID_       0x28A4 TRACE_QUOTA         "qu.mgr get quotas type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d  %s"
+TRCID_       0x28A5 TRACE_QUOTA         "qu.mgr get quotas type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d  %s"
+TRCID_       0x28A6 TRACE_QUOTA         "qu.mgr get quotas type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d  %s"
+TRCID_       0x28A7 TRACE_QUOTA         "qu.mgr report quotas type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d  %s"
+TRCID_       0x28A8 TRACE_QUOTA         "qu.mgr report quotas type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d  %s"
+TRCID_       0x28A9 TRACE_QUOTA         "qu.mgr report quotas type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d  %s"
+TRCID_       0x28AA TRACE_QUOTA         "qu.mgr report quotas type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d  %s"
+TRCID_       0x28AB TRACE_QUOTA         "qu.mgr report quotas type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d  %s"
+TRCID_       0x28AC TRACE_QUOTA         "SetLimits id %d, type %d, updateType %d, updateGrace %d"
+TRCID_       0x28AD TRACE_QUOTA         "SetLimits newquota U %lld HL %lld, SL %lld, IU %d, IHL %d, ISL %d, GT %d, IGT %d"
+TRCID_       0x28AE TRACE_QUOTA         "SetLimits (set usage) id %d, U %lld iU %d\n"
+TRCID_       0x28AF TRACE_QUOTA         "SetLimits (set limits) id %d, HL %lld HS %lld, iHL %d, iSL %d\n"
+TRCID_       0x28B0 TRACE_QUOTA         "SetLimits (set usage) id %d, U %lld iU %d\n"
+TRCID_       0x28B1 TRACE_QUOTA         "QuotaMgr::SetLimits: making id %d (%s) entry %s, prev %s\n"
+TRCID_       0x28B2 TRACE_QUOTA         "SetLimits id %d after U %lld, HL %lld, SL %lld, I %d, IHL %d, ISL %d, GT %d, IGT %d"
+TRCID_       0x28B3 TRACE_QUOTA         "quota set limits type %d, id %d: bSoft=%lld, bHard=%lld, iSoft=%d, iHard=%d"
+TRCID_       0x28B4 TRACE_QUOTA         "SyncQuotas type %d start\n"
+TRCID_       0x28B5 TRACE_QUOTA         "SyncQuotas ret err %d\n"
+TRCID_       0x28B6 TRACE_QUOTA         "QuotaMgr::SetSGDefLimits id %d (before): bSoft=%lld bHard=%lld iSoft=%d iHard=%d\n"
+TRCID_       0x28B7 TRACE_QUOTA         "QuotaMgr::SetSGDefLimits id %d (after): bSoft=%lld bHard=%lld iSoft=%d iHard=%d\n"
+TRCID_       0x28B8 TRACE_QUOTA         "quota set SG limits type %d, id %d: bSoft=%lld, bHard=%lld, iSoft=%d, iHard=%d"
+TRCID_       0x28B9 TRACE_QUOTA         "qu.mgr quota compute share type %d, id %d: bRequest=%lld, iRequest=%d for %s"
+TRCID_       0x28BA TRACE_QUOTA         "qu.mgr ComputeShare: findInsertAndHold id %d qe 0x%x, entryInserted %d"
+TRCID_       0x28BB TRACE_QUOTA         "qu.mgr quota compute share type %d, id %d: bGrant=%lld, iGrant=%d; success=%d; err %d  for client %s %s" $7=nodeaddr_id2name
+TRCID_       0x28BC TRACE_QUOTA         "qu.server UpdateUsage enter; update: type %d, id %d: bUpd=%lld, iUpd=%d, for client %s %s" $5=nodeaddr_id2name
+TRCID_       0x28BD TRACE_QUOTA         "qu.server UpdateUsage enter; entry before update: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d"
+TRCID_       0x28BE TRACE_QUOTA         "qu.server after update; type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d"
+TRCID_       0x28BF TRACE_QUOTA         "qu.server fix shadow usage enter type %d, id %d: bUpd=%lld, iUpd=%d, block=%lld, inode=%d, for client %s  %s" $7=nodeaddr_id2name
+TRCID_       0x28C0 TRACE_QUOTA         "qu.server after fix shadow usage enter type %d, id %d: block=%lld, inode=%d, for client %s  %s" $5=nodeaddr_id2name
+TRCID_       0x28C1 TRACE_QUOTA         "qu.server update type %d, id %d returns with err %d  %s"
+TRCID_       0x28C2 TRACE_QUOTA         "QuotaMgr::SyncQuotaClt: num rooms %d, shadow upd %d, for clt %s on %s" $3=nodeaddr_id2name
+TRCID_       0x28C3 TRACE_QUOTA         "SyncQuotaClt: qu.server UpdateUsage enter; update: type %d, id %d: bUpd=%lld, iUpd=%d"
+TRCID_       0x28C4 TRACE_QUOTA         "SyncQuotaClt: qu.server UpdateUsage enter; entry before update: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d, refCount %d"
+TRCID_       0x28C5 TRACE_QUOTA         "QuotaMgr::SyncQuotaClt: qu.server after update; type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d, refCount %d"
+TRCID_       0x28C6 TRACE_QUOTA         "QuotaMgr::SyncQuotaClt: qu.server fix shadow usage enter type %d, id %d: bUpd=%lld, iUpd=%d, block=%lld, inode=%d"
+TRCID_       0x28C7 TRACE_QUOTA         "QuotaMgr::SyncQuotaClt: qu.server after fix shadow usage enter type %d, id %d: block=%lld, inode=%d"
+TRCID_       0x28C8 TRACE_QUOTA         "QuotaMgr::SyncQuotaClt update returns with err %d  %s"
+TRCID_       0x28C9 TRACE_QUOTA         "qu.server relinquish type %d, id %d share: blocks=%lld, inodes=%d, usage block %lld, inode %d,  for client %s  %s" $7=nodeaddr_id2name
+TRCID_       0x28CA TRACE_QUOTA         "qu.server relinquish: could not find id %d in quotaEntryTab err %d\n"
+TRCID_       0x28CB TRACE_QUOTA         "qu.server after relinquish type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d, err %d, for clt %s, for %s" $8=nodeaddr_id2name
+TRCID_       0x28CC TRACE_QUOTA         "qu.server relinquish type %d, id %d returns err %d  %s"
+TRCID_       0x28CD TRACE_QUOTA         "quota server revoke from clients type %d, id %d;  forced %d,  amount %f for %s\n"
+TRCID_       0x28CE TRACE_QUOTA         "qu.server revoke reply type %d, id %d share: blocks=%lld, inodes=%d, usage: blocks %lld, inodes %d, from client %s  %s\n" $7=nodeaddr_id2name
+TRCID_       0x28CF TRACE_QUOTA         "qu.entry after revoke type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d for %s\n"
+TRCID_       0x28D0 TRACE_QUOTA         "qu.clt.entry after revoke type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d for client %s\n"
+TRCID_       0x28D1 TRACE_QUOTA         "online qu.check revoke from clients: id %d type %d  bUpd=%lld  sBD=%lld  iUpd=%d sID=%d\n"
+TRCID_       0x28D2 TRACE_QUOTA         "qu.server enter merge update type %d, id %d, bUpd=%lld, iUpd=%d; for client %s %s" $5=nodeaddr_id2name
+TRCID_       0x28D3 TRACE_QUOTA         "qu.server enter merge update for entry type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d"
+TRCID_       0x28D4 TRACE_QUOTA         "qu.server after merge type %d, id %d: bUse=%lld, bDoubt=%lld, iUse=%d, iDoubt=%d"
+TRCID_       0x28D5 TRACE_QUOTA         "qu.server free client node %s entry type %d, id %d for %s" $1=nodeaddr_id2name
+TRCID_       0x28D6 TRACE_QUOTA         "startQuotaClient for %s"
+TRCID_       0x28D7 TRACE_QUOTA         "startQuotaClient: setting treeQuotaOn 1\n"
+TRCID_       0x28D8 TRACE_QUOTA         "startQuotaClient returns err %d for %s"
+TRCID_       0x28D9 TRACE_QUOTA         "qu.client quota on type %d  %s"
+TRCID_       0x28DA TRACE_QUOTA         "qu.client quota off type %d  %s"
+TRCID_       0x28DB TRACE_QUOTA         "qu.client revoked shares type %d, id %d: blocks=%lld, inodes=%d;  amount %d  forced %d  %s\n"
+TRCID_       0x28DC TRACE_QUOTA         "qu.client after revoke type %d, id %d: bUse=%lld, bShare=%lld, iUse=%d, iShare=%d  %s\n"
+TRCID_       0x28DD TRACE_QUOTA         "qu.client reply prefetch type %d, id %d: blocks=%lld, inodes=%d, success=%d  %s\n"
+TRCID_       0x28DE TRACE_QUOTA         "qu.client after reply prefetch type %d, id %d: bUse=%lld, bShare=%lld, iUse=%d, iShare=%d  %s\n"
+TRCID_       0x28DF TRACE_QUOTA         "AddToShadowTable (enter) type %d id %d: +%d inodes +%lld blocks\n"
+TRCID_       0x28E0 TRACE_QUOTA         "AddToShadowTable (inserted): qe 0x%x, type %d id %d refCount %d, nInodes %d, blocks %lld\n"
+TRCID_       0x28E1 TRACE_QUOTA         "AddToShadowTable type %d id %d: +%d inodes +%d blocks\n"
+TRCID_       0x28E2 TRACE_QUOTA         "qu.client get local quota type %d, id %d: blocks=%lld, inodes=%d, for %s"
+TRCID_       0x28E3 TRACE_QUOTA         "qu.client get local quota type %d, id %d: blocks=%lld, inodes=%d, root alloc %d, for %s"
+TRCID_       0x28E4 TRACE_QUOTA         "qu.client get local quota type %d, id %d: refCount %d\n"
+TRCID_       0x28E5 TRACE_QUOTA         "qu.client GetLocalQuota id %d: needRequest %d nBlocks %lld blockNotApproved=%lld, blockHardLimit=%lld "
+TRCID_       0x28E6 TRACE_QUOTA         "qu.client GetLocalQuota id %d: needRequest %d nInodes %d inodeNotApproved %d, inodeHardLimit %d "
+TRCID_       0x28E7 TRACE_QUOTA         "qu.client get local quota type %d, id %d: bUse=%lld, bShare=%lld, bNA=%lld, iUse=%d, iShare=%d, iNA=%d"
+TRCID_       0x28E8 TRACE_QUOTA         "qu.client get local quota result type %d, id %d: blocks=%lld, inodes=%d, err=%d for %s"
+TRCID_       0x28E9 TRACE_QUOTA         "qu.client fix local quota type %d, id %d: blocks=%lld, inodes=%d, allocOK=%d  %s"
+TRCID_       0x28EA TRACE_QUOTA         "qu.client after fix local quota type %d, id %d: bUse=%lld, bShare=%lld, bNA=%lld, iUse=%d, iShare=%d, iNA=%d, err=%d"
+TRCID_       0x28EB TRACE_QUOTA         "qu.client FreeLocalQuota enter ino %d type %d, id %d, nBlock %lld, nInode %d, %s\n"
+TRCID_       0x28EC TRACE_QUOTA         "qu.client FreeLocalQuota (before) qe block: HL %lld NA %lld U %lld LU %lld\n"
+TRCID_       0x28ED TRACE_QUOTA         "qu.client FreeLocalQuota (before) qe inode: HL %d NA %d U %d LU %d\n"
+TRCID_       0x28EE TRACE_QUOTA         "qu.client FreeLocalQuota (after) type %d, id %d: block=%lld, qe: HL %lld NA %lld U %lld, %s\n"
+TRCID_       0x28EF TRACE_QUOTA         "qu.client FreeLocalQuota (after) type %d, id %d: inode=%d, qe: HL %d NA %d U %d, %s\n"
+TRCID_       0x28F0 TRACE_QUOTA         "qu.client FreeLocalQuota QuotaShare type %d, id %d: block LS %lld, U %lld, inode LS %d, U %d %s\n"
+TRCID_       0x28F1 TRACE_QUOTA         "qu.client FreeLocalQuota, relinquish type %d, id %d: block=%lld, qe: HL %lld NA %lld U %lld\n"
+TRCID_       0x28F2 TRACE_QUOTA         "qu.client FreeLocalQuota relinquish type %d, id %d: inode=%d, qe: HL %d NA %d U %d\n"
+TRCID_       0x28F4 TRACE_QUOTA         "quotaMsgRelinquish (FreeLocalQuota): id %d got err E_INVAL\n"
+TRCID_       0x28F5 TRACE_QUOTA         "qu.client free local quota new entry values type %d, id %d: bUse=%lld, bShare=%lld, bNA=%lld, iUse=%d, iShare=%d, iNA=%d\n"
+TRCID_       0x28F6 TRACE_QUOTA         "qu.client free local quota type %d, id %d: blocks=%lld, inodes=%d, err=%d %s\n"
+TRCID_       0x28F7 TRACE_QUOTA         "qu.client mark inode region %d, segment %d running quota check on %s\n"
+TRCID_       0x28F8 TRACE_QUOTA         "allocInodeQuota, ino %d, uid %d\n"
+TRCID_       0x28F9 TRACE_QUOTA         "allocInodeQuota: uid %d, call FixShadowTable ino %d, seg %d reg %d, inodesPerSegment %d, nRegions %d, bit %d"
+TRCID_       0x28FA TRACE_QUOTA         "deallocInode, ino %d, uid %d\n"
+TRCID_       0x28FB TRACE_QUOTA         "deallocInode: uid %d, call FixShadowTable ino %d, seg %d reg %d, inodesPerSegment %d, nRegions %d, bit %d"
+TRCID_       0x28FC TRACE_FS            "allocBlock inode %d snap %d strict %d nSub %d alloc 0x%X\n"
+TRCID_       0x28FD TRACE_ALLOC         "getFileAllocator poolId %d isData %d notFound inUse %d free %d"
+TRCID_       0x28FE TRACE_ALLOC         "getFileAllocator 0x%lX poolId %d isData %d inUse %d free %d"
+TRCID_       0x28FF TRACE_ALLOC         "getFileAllocator 0x%lX poolId %d isData %d inUse %d free %d err %d"
+TRCID_       0x2900 TRACE_ALLOC         "freeFileAllocator 0x%lX isRestricted"
+TRCID_       0x2901 TRACE_ALLOC         "freeFileAllocator 0x%lX poolId %d isData %d inUse %d free %d"
+TRCID_       0x2902 TRACE_QUOTA         "chown: subblocksPerFileBlock %d, fullBlocks %lld, subBlocks %d\n"
+TRCID_       0x2903 TRACE_QUOTA         "chown: currDataReplicas %d, nBlocks %lld, fullBlocks %lld, subBlocks %d\n"
+TRCID_       0x2904 TRACE_QUOTA         "chown: FindAllocDiffs returned assigned %lld, synched %lld\n"
+TRCID_       0x2905 TRACE_QUOTA         "chown: %lld nFullBlocks + %d lastSubblocks = %lld nBlocks; from id (%d %d) to id (%d %d) for inode %d"
+TRCID_       0x2906 TRACE_IALLOC        "SGInodeMap::Expand: waiting for inode expansion to complete\n"
+TRCID_       0x2907 TRACE_IALLOC        "SGInodeMap::Expand %s force %d minInode %d, nInodes %d maxInodes %d\n"
+TRCID_       0x2908 TRACE_IALLOC        "SGInodeMap::Expand: cannot increase beyond %d inodes\n"
+TRCID_       0x2909 TRACE_IALLOC        "SGInodeMap::Expand enter: nToAdd %d\n"
+TRCID_       0x290A TRACE_IALLOC        "SGInodeMap::Expand: est free %d >= desiredFree %d\n"
+TRCID_       0x290B TRACE_IALLOC        "SGInodeMap::Expand: est free %d desiredFree %d nInodes %d nToAdd %d\n"
+TRCID_       0x290C TRACE_IALLOC        "SGInodeMap::Expand: actual free %lld\n"
+TRCID_       0x290D TRACE_IALLOC        "SGInodeMap::Expand: actual free %lld >= desiredFree %lld\n"
+TRCID_       0x290E TRACE_IALLOC        "SGInodeMap::Expand: recalculated nToAdd %d\n"
+TRCID_       0x290F TRACE_IALLOC        "SGInodeMap::Expand --> add %d inodes to current %d inodes (max. %d) in %s\n"
+TRCID_       0x2910 TRACE_IALLOC        "SGInodeMap::Expand: adding new inode map segment. bits %lld target %lld\n"
+TRCID_       0x2911 TRACE_IALLOC        "SGInodeMap::Expand: finished increasing size of inode file from %d to %d\n"
+TRCID_       0x2912 TRACE_IALLOC        "SGInodeMap::expandInodeFile: successfully added %d new inode file blocks\n"
+TRCID_       0x2913 TRACE_IALLOC        "addInodeSegment: err %d from adding %d blocks to ialloc map\n"
+TRCID_       0x2914 TRACE_IALLOC        "SGInodeMap::reinitMap: old nSegmentsPerIRegion %d, new nSegmentsPerIRegion %d\n"
+TRCID_       0x2915 TRACE_IALLOC        "SGInodeMap::reinitMap exit: err %d\n"
+TRCID_       0x2916 TRACE_QUOTA         "HandleMBQuotactl: enter 1\n"
+TRCID_       0x2917 TRACE_QUOTA         "HandleMBQuotactl: SFSQuotactl mbP->err %d\n"
+TRCID_       0x2918 TRACE_QUOTA         "SFSQuotactl, sgP 0x%x, cmd 0x%x q_type %d, q_cmd 0x%x, dqBufP 0x%x\n"
+TRCID_       0x2919 TRACE_QUOTA         "SFSQuotactl: qid %d, q_cmd %d, q_type %d err %d E_PERM\n"
+TRCID_       0x291A TRACE_QUOTA         "SFSQuotactl invalid q_cmd 0x%x or q_type %d, err %d\n"
+TRCID_       0x291B TRACE_QUOTA         "SFSQuotactl q_cmd 0x%x, q_type %d, start rpc\n"
+TRCID_       0x291C TRACE_QUOTA         "SFSQuotactl list: id %d, type %d, blk U %lld, HL %lld, SL %lld, inode U %d, HL %d, SL %d, BlkGT %d, IGT %d\n"
+TRCID_       0x291D TRACE_QUOTA         "SFSQuotactl set: id %d, type %d, blk U %lld, HL %lld, SL %lld, inode U %d, HL %d, SL %d\n"
+TRCID_       0x291E TRACE_QUOTA         "SFSQuotactl exit:  decrUseCount %d, err %d\n"
+TRCID_       0x291F TRACE_VNOP          "DSREAD: inode %d offset 0x%llX len %d blkSize %d"
+TRCID_       0x2920 TRACE_DS            "doDSReadData copy: blockNum %lld blockOffset %d blockFract %d buffer blockOffset %d"
+TRCID_       0x2921 TRACE_VNOP          "dsRead exit: inode %d nBytesXfered %d err %d"
+TRCID_       0x2922 TRACE_VNOP          "DSWRITE: inode %d offset 0x%llX len %d blkSize %d opLen %d"
+TRCID_       0x2923 TRACE_DS            "doDSWriteData copy: blockNum %lld blockOffset %d blockFract %d"
+TRCID_       0x2924 TRACE_VNOP          "dsWrite exit: inode %d nBytesXfered %d err %d"
+TRCID_       0x2925 TRACE_FS            "dsSetupMnodeState: ofP 0x%lX change ds mode %s --> %s" $2=dsMode_id2name $3=dsMode_id2name
+TRCID_       0x2926 TRACE_DS            "HandleMBDataShipStartHint enter: nInstances %d flags 0x%X nAgents %d cur dsMode %s" $4=dsMode_id2name
+TRCID_       0x2927 TRACE_DS            "HandleMBDataShipStartHint dsMsgStartHint: err %d reply status %d"
+TRCID_       0x2928 TRACE_DS            "HandleMBDataShipStartHint exit: err %d, ds mode %s" $2=dsMode_id2name
+TRCID_       0x2929 TRACE_DS            "HandleMBDataShipXfer enter: inode %d opType %d offset 0x%llX len %d server %s" $5=nodeaddr_id2name
+TRCID_       0x292A TRACE_DS            "HandleMBDataShipXfer exit: err %d nBytesXfered %d"
+TRCID_       0x292B TRACE_DS            "HandleMBDataShipStopHint enter, ds mode %s" $1=dsMode_id2name
+TRCID_       0x292C TRACE_DS            "HandleMBDataShipStopHint exiting with err = %d"
+TRCID_       0x292D TRACE_DS            "HandleMBDataShipPrefetch entry: oiP 0x%lX blockNum %lld remote node %s" $3=nodeaddr_id2name
+TRCID_       0x292E TRACE_DS            "HandleMBDataShipPrefetch: oiP 0x%lX blockNum %lld remote node %s" $3=nodeaddr_id2name
+TRCID_       0x292F TRACE_DS            "dsNodeFailureOrPanic enter"
+TRCID_       0x2930 TRACE_FS            "dsNodeFailureOrPanic: mnode %s failed" $1=nodeaddr_id2name
+TRCID_       0x2931 TRACE_FS            "dsNodeFailureOrPanic: node %s (nInstances %d isAgent %d)" $1=nodeaddr_id2name
+TRCID_       0x2932 TRACE_DS            "dsNodeFailureOrPanic exit"
+TRCID_       0x2933 TRACE_DS            "mhMNStartDSHint enter from %s" $1=nodeaddr_id2name
+TRCID_       0x2934 TRACE_DS            "mhMNStartDSHint exitting with %d"
+TRCID_       0x2935 TRACE_DS            "mhMNStopDSHint enter"
+TRCID_       0x2936 TRACE_DS            "mhMNStopDSHint exit, err %d"
+TRCID_       0x2937 TRACE_DS            "dsUpdateMHProlog: obj status %s newMode %s markStale %d resultRC %d" $1=objstatus_id2name $2=dsMode_id2name
+TRCID_       0x2938 TRACE_DS            "dsUpdateMHProlog: inode %d rc %d"
+TRCID_       0x2939 TRACE_DS            "mhAbortDS: enter, message from %s" $1=nodeaddr_id2name
+TRCID_       0x293A TRACE_DS            "mhAbortDS: exit with err %d"
+TRCID_       0x293B TRACE_DS            "mhDSVote enter"
+TRCID_       0x293C TRACE_DS            "mhDSVote exit, err %d"
+TRCID_       0x293D TRACE_DS            "mhBeginDS enter"
+TRCID_       0x293E TRACE_DS            "mhBeginDS exit %d"
+TRCID_       0x293F TRACE_DS            "mhFlushEndDS enter"
+TRCID_       0x2940 TRACE_DS            "mhFlushEndDS exit, err %d"
+TRCID_       0x2941 TRACE_DS            "mhEndDS enter"
+TRCID_       0x2942 TRACE_DS            "mhEndDS exit, err %d"
+TRCID_       0x2943 TRACE_DS            "mhDSQueryWriters enter"
+TRCID_       0x2944 TRACE_DS            "mhDSQueryWriters: Found a writer, sending back neg response"
+TRCID_       0x2945 TRACE_DS            "mhDSQueryWriters exit, %d"
+TRCID_       0x2946 TRACE_DS            "mhDSUpdateMode enter"
+TRCID_       0x2947 TRACE_DS            "mhDSUpdateMode exit, %d"
+TRCID_       0x2948 TRACE_DS            "mhReadData enter: inode %d offset 0x%llX len %d"
+TRCID_       0x2949 TRACE_DS            "mhReadData: dsPartitionSize %d"
+TRCID_       0x294A TRACE_DS            "mhReadData exit: returning err %d"
+TRCID_       0x294B TRACE_DS            "mhWriteData enter: inode %d offset 0x%llX len %d"
+TRCID_       0x294C TRACE_DS            "mhWriteData: dsPartitionSize %d"
+TRCID_       0x294D TRACE_DS            "mhWriteData exit: err %d"
+TRCID_       0x294E TRACE_DS            "mhDSPrefetch: inode %d blockNum %lld"
+TRCID_       0x294F TRACE_FS            "mhDSPrefetch: acquire CacheObjMutex."
+TRCID_       0x2950 TRACE_DS            "mhDSPrefetch exit: err %d"
+TRCID_       0x2951 TRACE_DS            "dProcessDSPrefetches entry: blockNum %lld remote node %s" $2=nodeaddr_id2name
+TRCID_       0x2952 TRACE_DS            "processDSChangeMode: ofP 0x%lX dsMode %s -> %s" $2=dsMode_id2name $3=dsMode_id2name
+TRCID_       0x2953 TRACE_DS            "processDSChangeMode: set up %d servers for the mapping"
+TRCID_       0x2954 TRACE_DS            "processDSChangeMode: creating agent oiP, node index %d"
+TRCID_       0x2955 TRACE_DS            "processDSChangeMode: exit with rc %d"
+TRCID_       0x2956 TRACE_DS            "OpenFile::addDataShipInst enter"
+TRCID_       0x2957 TRACE_DS            "OpenFile::addDataShipInst open modes don't match 0x%X vs 0x%X"
+TRCID_       0x2958 TRACE_DS            "OpenFile::addDataShipInst instance count mismatch (%d vs %d)"
+TRCID_       0x2959 TRACE_DS            "OpenFile::addDataShipInst dsPartitionSize mismatch (%d vs %d)"
+TRCID_       0x295A TRACE_DS            "OpenFile::addDataShipInst nDSAgentSlots mismatch (%d vs %d)"
+TRCID_       0x295B TRACE_DS            "OpenFile::addDataShipInst server %d doesn't match %d vs %d"
+TRCID_       0x295C TRACE_DS            "OpenFile::addDataShipInst: %d instances left, %d instances for %s" $3=nodeaddr_id2name
+TRCID_       0x295D TRACE_DS            "OpenFile::addDataShipInst exit with rc %d"
+TRCID_       0x295E TRACE_DS            "OpenFile::dsLookForWriters enter. mnode holders, key %X:%X:%X:%X"
+TRCID_       0x295F TRACE_DS            "OpenFile::dsLookForWriters: error %d from node %s" $2=nodeaddr_id2name
+TRCID_       0x2960 TRACE_DS            "OpenFile::dsLookForWriters returning %d"
+TRCID_       0x2961 TRACE_DS            "OpenFile::bcastDSModeChange enter obj_id %X:%X:%X:%X"
+TRCID_       0x2962 TRACE_DS            "OpenFile::bcastDSModeChange returning %d"
+TRCID_       0x2963 TRACE_DS            "OpenFile::initiateDS enter"
+TRCID_       0x2964 TRACE_DS            "OpenFile::initiateDS: change MN private mode from %s to %s" $1=dsMode_id2name $2=dsMode_id2name
+TRCID_       0x2965 TRACE_DS            "OpenFile::initiateDS: Got an error %d on vote from %s" $2=nodeaddr_id2name
+TRCID_       0x2966 TRACE_DS            "OpenFile::initiateDS: set up the ds map, nodes %d, file mode 0x%X"
+TRCID_       0x2967 TRACE_DS            "OpenFile::initiateDS: append mode only one server %s" $1=nodeaddr_id2name
+TRCID_       0x2968 TRACE_DS            "OpenFile::initiateDS: adding agent %s to map" $1=nodeaddr_id2name
+TRCID_       0x2969 TRACE_DS            "OpenFile::initiateDS: change MN private mode from %s to %s" $1=dsMode_id2name $2=dsMode_id2name
+TRCID_       0x296A TRACE_DS            "OpenFile::initiateDS: Got an error from begin %d, aborting"
+TRCID_       0x296B TRACE_DS            "OpenFile::initiateDS exit, err %d"
+TRCID_       0x296C TRACE_DS            "doDSAbortM(markStale %d, rc %d): ofP 0x%lX mnode ds mode %s --> %s" $4=dsMode_id2name $5=dsMode_id2name
+TRCID_       0x296D TRACE_DS            "OpenFile::doAbortDSM exit with err %d"
+TRCID_       0x296E TRACE_DS            "OpenFile::stopDS enter"
+TRCID_       0x296F TRACE_DS            "OpenFile::stopDS: ofP 0x%lX change metanode private ds mode %s --> %s" $2=dsMode_id2name $3=dsMode_id2name
+TRCID_       0x2970 TRACE_DS            "stopDS: ofP 0x%lX change ds mode %s --> %s" $2=dsMode_id2name $3=dsMode_id2name
+TRCID_       0x2971 TRACE_DS            "OpenFile::stopDS exit, err %d"
+TRCID_       0x2972 TRACE_DS            "DataShipMapping c'tor failed fo allocate dsAgentList"
+TRCID_       0x2973 TRACE_DS            "DataShipMapping::operator new: UMALLOC failed"
+TRCID_       0x2974 TRACE_DS            "dsBufferQ::operator new failed with UMALLOC_E err %d"
+TRCID_       0x2975 TRACE_FS            "RecoverAttrBlock: nSectors %d, offset %d, length %d, varLen %d, padding %d\n"
+TRCID_       0x2976 TRACE_FS            "RecoverFileInode: bad log record\n"
+TRCID_       0x2977 TRACE_FS            "RecoverAttrBlock: dataBlockNum %lld"
+TRCID_       0x2978 TRACE_FS            "RecoveAttrBlock: bad log record"
+TRCID_       0x2979 TRACE_FS            "accessXAttrFile snap %d block %lld op %s\n"
+TRCID_       0x297A TRACE_FS            "accessXAttrFile snap %d inode %d err %d\n"
+TRCID_       0x297B TRACE_FS            "accessXAttrBlock inode %d snap %d block %lld op %s\n"
+TRCID_       0x297C TRACE_FS            "accessXAttrBlock inode %d snap %d err %d\n"
+TRCID_       0x297D TRACE_FS            "xattrSetOne: appId %d keyP %s keyLen %d valueP %s valueLen %d\n"
+TRCID_       0x297E TRACE_FS            "setXAttrSummaryBit inode %d snap %d was %d newVal %d\n"
+TRCID_       0x297F TRACE_FS            "FileMetadata::getAttrs: inode %d snap %d, appId %d, nAttrs %d\n"
+TRCID_       0x2980 TRACE_FS            " key 0x%08X... (len %d), value 0x%08X... (len %d), err %d\n"
+TRCID_       0x2981 TRACE_FS            "FileMetadata::getAttrs returns %d\n"
+TRCID_       0x2982 TRACE_FS            "getXAttrs: inode %d snap %d, appId %d, nAttrs %d\n"
+TRCID_       0x2983 TRACE_FS            " key 0x%08X... (len %d), value 0x%08X... (len %d), err %d\n"
+TRCID_       0x2984 TRACE_FS            "getXAttrs returns %d\n"
+TRCID_       0x2985 TRACE_FS            "FileMetadata::getAllAttrs: inode %d snap %d, appId %d, nAttrs %d\n"
+TRCID_       0x2986 TRACE_FS            "FileMetadata::getAllAttrs returns %d\n"
+TRCID_       0x2987 TRACE_FS            "FileMetadata::setAttrs: inode %d snap %d (hasXAttr %d), appId %d, nAttrs %d attr %s"
+TRCID_       0x2988 TRACE_FS            "FileMetadata::setAttrs: inode %d snap %d (hasXAttr %d), appId %d, nAttrs %d"
+TRCID_       0x2989 TRACE_FS            "setAttrs: key 0x%08X... (len %d), value 0x%08X... (len %d), err %d isEmpty %d totalNAttrs %d\n"
+TRCID_       0x298A TRACE_FS            "FileMetadata::setAttrs returns %d\n"
+TRCID_       0x298B TRACE_FS            "SFSSetXAttr: inode %d snap %d (hasXAttr %d), appId %d, nattrs %d\n"
+TRCID_       0x298C TRACE_FS            " key 0x%08X... (len %d), value 0x%08X... (len %d), err %d\n"
+TRCID_       0x298D TRACE_FS            "SFSSetXAttr returns %d\n"
+TRCID_       0x298E TRACE_FS            "SFSClearXAttrs: inode %d snap %d\n"
+TRCID_       0x298F TRACE_FS            "SFSClearXAttrs returns %d\n"
+TRCID_       0x2990 TRACE_FS            "relinquishAttrByteRange enter: sgP 0x%lX lastInode %d"
+TRCID_       0x2991 TRACE_FS            "relinquishAttrByteRange ofP 0x%08X bytesPerBlock %d nRanges %d"
+TRCID_       0x2992 TRACE_FS            "relinquishAttrByteRange: range 0x%llX-0x%llX err %d"
+TRCID_       0x2993 TRACE_FS            "XAttrFind app %d key 0x%08X len %d(%d) find %s\n"
+TRCID_       0x2994 TRACE_FS            "XAttrFind offset %d totalLen %d nAttrs %d lenForApp %d err %d\n"
+TRCID_       0x2995 TRACE_QUOTA         "initForRecOriented: recSize %d, sectorSize %d, recordSectors %d, recordsPerBlock %d"
+TRCID_       0x2996 TRACE_FS            "AppendBlockOfRecords enter: inode %d, range(%lld,%lld), bufP 0x%lX"
+TRCID_       0x2997 TRACE_FS            "AppendBlockOfRecords copy: blockNum %lld range start %d\n"
+TRCID_       0x2998 TRACE_FS            "AppendBlockOfRecords exit: inode %d, err %d\n"
+TRCID_       0x2999 TRACE_FS            "writeRecord enter: inode %d, rec. num. %lld, len %d, bufP 0x%lX"
+TRCID_       0x299A TRACE_FS            "writeRecord copy: blockNum %lld block offset %d\n"
+TRCID_       0x299B TRACE_FS            "writeRecord exit: inode %d, err %d\n"
+TRCID_       0x299C TRACE_FS            "readRecord enter: inode %d, rec num %lld, len %d, bufP 0x%lX"
+TRCID_       0x299D TRACE_FS            "readRecord copy: blockNum %lld block offset %d, buffer blockOffset %d\n"
+TRCID_       0x299E TRACE_FS            "readRecord validation err: blockNum %lld block offset %d, buf block offset %d, read len %d, file size 0x%llX\n"
+TRCID_       0x299F TRACE_FS            "readRecord exit: inode %d, err %d"
+TRCID_       0x29A0 TRACE_FS            "FlushRecord enter: rec num %lld"
+TRCID_       0x29A1 TRACE_FS            "FlushRecord: inode %d block %lld len %d\n"
+TRCID_       0x29A2 TRACE_FS            "FlushRecord exit: rec num %lld"
+TRCID_       0x29A3 TRACE_FS            "GenerateOperation enter"
+TRCID_       0x29A4 TRACE_FS            "GenerateOperation exit"
+TRCID_       0x29A5 TRACE_FS            "MultipleAccessTest: before gen op"
+TRCID_       0x29A6 TRACE_FS            "MultipleAccessTest: after  gen op"
+TRCID_       0x29A7 TRACE_FS            "MultipleAccessTest: before writeRec"
+TRCID_       0x29A8 TRACE_FS            "MultipleAccessTest: after writeRec"
+TRCID_       0x29A9 TRACE_FS            "MultipleAccessTest: before readRec"
+TRCID_       0x29AA TRACE_FS            "MultipleAccessTest: after readRec"
+TRCID_       0x29AB TRACE_FS            "MultipleAccessTest: test readRec *p == 0"
+TRCID_       0x29AC TRACE_FS            "MultipleAccessTest: test readRec *p != 0"
+TRCID_       0x29AD TRACE_FS            "MultipleAccessTest: after test readRec"
+TRCID_       0x29AE TRACE_QUOTA         "debugOFRecOrient failed to change replication factor for quota file in %s"
+TRCID_       0x29AF TRACE_QUOTA         "debugOFRecOrient exit: err %d %s"
+TRCID_       0x29B0 TRACE_FS            "buffDescMem %d allocSegmentMem %d otherMem %d cacheMemAvail %d\n"
+TRCID_       0x29B1 TRACE_FS            "bufferDescLimit %d/%d fileCacheLimit %d/%d statCacheLimit %d/%d diskAddrBuffLimit %d/%d\n"
+TRCID_       0x29B2 TRACE_FS            "cacheMemAvail %d fileCacheMemLimit %d statCacheMem %d buffDescMem %d diskAddrBufMem %d\n"
+TRCID_       0x29B3 TRACE_FS            "fileCacheLimit %d fileCacheMemLimit %d reduceFilesToCache %d\n"
+TRCID_       0x29B4 TRACE_FS            "recalcMaxDirtyBuffers: setting maxDirtyBuffers to %d"
+TRCID_       0x29B8 TRACE_FS            "IPI::activate inode prefetch #%d dirInodeNum %d snap %d fileset %d dirBlockNo %d"
+TRCID_       0x29B9 TRACE_FS            "IPI::deactivate inode prefetch #%d dirInodeNum %d snap %d\n"
+TRCID_       0x29BA TRACE_FS            "IPI::cancelInodePrefetch #%d dirInodeNum %d snap %d\n"
+TRCID_       0x29BB TRACE_FS            "IPI::getNextDirBlock: #%d inode %d snap %d cur %d -> %d next %d"
+TRCID_       0x29BC TRACE_FS            "IPI::doWork: #%d blockNum %d nFetched %d nUsed %d"
+TRCID_       0x29BD TRACE_FS            "IPI::doWork: #%d pausing (curBlock %d nFetched %d nUsed %d)\n"
+TRCID_       0x29BE TRACE_FS            "IPI::isPrefetching: #%d: paused %d dir %d %d file %d %d blockno (%d %d %d) %d"
+TRCID_       0x29BF TRACE_FS            "FileMetadata::ipsFetchDone: nFetches = %d, last access = now - %f"
+TRCID_       0x29C0 TRACE_FS            "InodeScanInstance::startPrefetch: blockNo %lld"
+TRCID_       0x29C1 TRACE_FS            "InodeScanInstance::getNextBlock enter: blockNo %lld"
+TRCID_       0x29C2 TRACE_FS            "InodeScanInstance::getNextBlock: fast %d new prefetchDepth %d bufP 0x%lX (0x%lX) len %d err %d"
+TRCID_       0x29C3 TRACE_FS            "InodeScanInstance::StealCallback: bufP 0x%lX status %d\n"
+TRCID_       0x29C4 TRACE_FS            "InodeScanInstance::StealCallback: bufP 0x%lX seq 0x%X err %d"
+TRCID_       0x29C5 TRACE_FS            "dinitContig: inode %d snap %d fileset %d block %d len %d validate %d isFilesetRoot %d"
+TRCID_       0x29C6 TRACE_FS            "allocEntry check: fOffset %d restLen %d\n"
+TRCID_       0x29C7 TRACE_FS            "allocEntry force skip: start %d r %d len %d\n"
+TRCID_       0x29C8 TRACE_FS            "allocEntry force fail: start %d r %d freeLen %d len %d\n"
+TRCID_       0x29C9 TRACE_FS            "allocEntry fail: len %d how %d nExamined %d\n"
+TRCID_       0x29CA TRACE_FS            "dsearch inode %d snap %d fileset %d block %d for name %s foldVal %d\n"
+TRCID_       0x29CB TRACE_FS            "dsearch ccl inexact match %s next block %lld\n"
+TRCID_       0x29CC TRACE_FS            "dsearch new parent fileset: inode %d snap %d dir fileset %d parent fileset %d err %d"
+TRCID_       0x29CD TRACE_FS            "dsearch new child fileset: inode %d snap %d dir fileset %d child fileset %d err %d"
+TRCID_       0x29CE TRACE_FS            "dsearch name %s found, inode %d gen %d snap %d fileset %d mode 0x%x\n"
+TRCID_       0x29CF TRACE_FS            "dsearch name %s not found, nextBlock %d\n"
+TRCID_       0x29D0 TRACE_FS            "dsearch error inode %d snap %d block %d corrupted. errOffset %d\n"
+TRCID_       0x29D1 TRACE_KSVFS         "INVALID DIRECTORY BLOCK: inode %d, snap %d, block %d, code %d, check rc %d\n"
+TRCID_       0x29D2 TRACE_KSVFS         "  dir block header: %08X %08X %08X %08X %08X\n"
+TRCID_       0x29D3 TRACE_SANERGY       "calcEOFOffset: bdblk %lld sanAlloc %lld, fsize %lld, lastDataBlock %lld, isHyper %d, allocSize %lld, allocBlock %lld\n"
+TRCID_       0x29D4 TRACE_FS            "sg::snapName %s id %d rc %d\n"
+TRCID_       0x29D5 TRACE_FS            "sg::snapId %d status %d name %s err %d\n"
+TRCID_       0x29D6 TRACE_FS            "sg::snapshot %d is %svalid\n"
+TRCID_       0x29D7 TRACE_FS            "getLatestSnapItem returns snapId %d mountId %d\n"
+TRCID_       0x29D8 TRACE_FS            "invalidateSnapMount sg %s snapId %d\n"
+TRCID_       0x29D9 TRACE_FS            "invalidateSnapMount %d mountId %d rc %d\n"
+TRCID_       0x29DA TRACE_FS            "snapdirLookup inode %d snap %d fileset %d, parent inode %d gen 0x%X"
+TRCID_       0x29DB TRACE_FS            "lookupSnapLinkEntry name %s returns inode %d gen 0x%X snap %d err %d"
+TRCID_       0x29DC TRACE_FS            "lookupSnapDirEntry(%s, fold %d) returns inode %d gen 0x%X snap %d %s err %d\n"
+TRCID_       0x29DD TRACE_FS            "isSnapQuotaFile snap %d inode %d type %s returns %s\n"
+TRCID_       0x29DE TRACE_FS            "isSnapQuotaFile snap %d inode %d returns %s\n"
+TRCID_       0x29DF TRACE_FS            "isSnapXAttrFileInode snap %d inode %d returns %s\n"
+TRCID_       0x29E0 TRACE_TS            "findCachedCred: uid %u credP 0x%lX err %d\n"
+TRCID_       0x29E1 TRACE_TS            "findCachedID: id %u newid %u nameP %s objtype %d err %d\n"
+TRCID_       0x29E2 TRACE_FS            "getStoragePoolName id %d max %d"
+TRCID_       0x29E3 TRACE_FS            "getStoragePoolName id %d nameP %s (0x%lX) err %d"
+TRCID_       0x29E4 TRACE_FS            "copyStoragePoolName id %d bufferLen %d max %d"
+TRCID_       0x29E5 TRACE_FS            "getStoragePoolName id %d nameP %s (0x%lX) err %d"
+TRCID_       0x29E6 TRACE_KSVFS         "getFilesetMDObjVfs: recNum %d snap %d filesetP 0x%lX isFileset %d err %d"
+TRCID_       0x29E7 TRACE_FS            "Fileset::getSnapItemByName: fileset %d name %s snapP 0x%lX err %d"
+TRCID_       0x29E8 TRACE_FS            "findParentFilesetId: filesetId %d snap %d parent filesetId %d err %d"
+TRCID_       0x29E9 TRACE_FS            "findCachedItem: sg %X:%X snap %d *argP %X filesetP 0x%lX err %d"
+TRCID_       0x29EA TRACE_FS            "findFilesetIdByRootInodeNum: inum %d snap %d filesetP 0x%lX id %d dontFetch %d err %d"
+TRCID_       0x29EB TRACE_FS            "getFilesetStatusById: filesetId %d status %d err %d"
+TRCID_       0x29EC TRACE_FS            "checkFilesetAvailability: filesetId %d snap %d status %d err %d"
+TRCID_       0x29ED TRACE_ALLOCMGR      "resetAllocSumFile sg %s poolId %d inodeNum %d nRegs %d nBlocks %d"
+TRCID_       0x29EE TRACE_ALLOCMGR      "openAllocSumFile poolId %d inodeNum %d"
+TRCID_       0x29EF TRACE_ALLOCMGR      "openAllocSumFile complete, err %d"
+TRCID_       0x29F0 TRACE_ALLOCMGR      "closeAllocSumFile poolId %d inodeNum %d"
+TRCID_       0x29F1 TRACE_ALLOCMGR      "createAllocSumFile sg %s poolId %d"
+TRCID_       0x29F2 TRACE_ALLOCMGR      "createAllocSumFile complete, inode %d gen %d err %d"
+TRCID_       0x29F3 TRACE_ALLOCMGR      "destroyAllocSumFile sg %s poolId %d inode %d (sg %d) status %s"
+TRCID_       0x29F4 TRACE_ALLOCMGR      "destroyAllocSumFile complete, err %d"
+TRCID_       0x29F5 TRACE_ALLOCMGR      "readAllocSumFile sg %s poolId %d inode %d status %s"
+TRCID_       0x29F6 TRACE_ALLOCMGR      "readAllocSumFile complete, freeData %lld meta %lld err %d code %d"
+TRCID_       0x29F7 TRACE_ALLOCMGR      "readSumFileBlock poolId %d ino %d block %d"
+TRCID_       0x29F8 TRACE_ALLOCMGR      "readSumFileBlock: magic 0x%08X freeInodes %lld totalRecords %d checksum 0x%08X valid_checksum 0x%08X"
+TRCID_       0x29F9 TRACE_ALLOCMGR      "readSumFileBlock: blockNumber %d writtenBy %d timestamp %d"
+TRCID_       0x29FA TRACE_ALLOCMGR      "readSumFileBlock regNo %d status %s freeData %lld meta %lld"
+TRCID_       0x29FB TRACE_ALLOCMGR      "readSumFileBlock complete, err %d code %d"
+TRCID_       0x29FC TRACE_ALLOCMGR      "writeAllocSumFile sg %s poolId %d inode %d retry %d status %s"
+TRCID_       0x29FD TRACE_ALLOCMGR      "writeAllocSumFile inode %d (sg %d) has %lld blocks (should be %d x %d replicas)"
+TRCID_       0x29FE TRACE_ALLOCMGR      "writeAllocSumFile complete, data %lld meta %lld nRegs %d nBlks %d err %d code %d"
+TRCID_       0x29FF TRACE_ALLOCMGR      "writeSumFileBlock poolId %d ino %d block %d force %d"
+TRCID_       0x2A00 TRACE_ALLOCMGR      "writeSumFileBlock complete, wasDirty %d err %d code %d"
+TRCID_       0x2A01 TRACE_FS            "validatePolicy sg %s bufP 0x%lX bufLen %d"
+TRCID_       0x2A02 TRACE_FS            "validatePolicy complete, err %d"
+TRCID_       0x2A03 TRACE_FS            "installPolicy sg %s bufP 0x%lX bufLen %d"
+TRCID_       0x2A04 TRACE_FS            "installPolicy complete, err %d"
+TRCID_       0x2A05 TRACE_FS            "resetPolicyCache sg %s"
+TRCID_       0x2A06 TRACE_FS            "selectPlacementPool uid %d gid %d ctime %d filesetId %d fileName %s"
+TRCID_       0x2A07 TRACE_FS            "selectPlacementPool returns poolId %d dataReplicas %d err %d"
+TRCID_       0x2A08 TRACE_FS            "createPolicyFile sg %s bufP 0x%lX bufLen %d"
+TRCID_       0x2A09 TRACE_FS            "createPolicyFile complete, inode %d gen %d err %d"
+TRCID_       0x2A0A TRACE_FS            "destroyPolicyFile sg %s inode %d"
+TRCID_       0x2A0B TRACE_FS            "destroyPolicyFile complete, err %d"
+TRCID_       0x2A0C TRACE_FS            "readPolicyFile sg %s inode %d"
+TRCID_       0x2A0D TRACE_FS            "readPolicyFile complete, dataP 0x%lX len %d err %d"
+TRCID_       0x2A0E TRACE_FS            "openFilesetMetadata: inum %d filesetMetaP 0x%lX err %d fscking %d"
+TRCID_       0x2A0F TRACE_FS            "ValidateFilesetMetadataBlock failing"
+TRCID_       0x2A10 TRACE_FS            "FilesetMetadata::writeHeader: nFilesets %d err %d"
+TRCID_       0x2A11 TRACE_FS            "FilesetMetadata::readHeader: nFilesets %d err %d fscking %d"
+TRCID_       0x2A12 TRACE_FS            "expandMetadataFile: new file size %lld nFullBlocks %lld err %d"
+TRCID_       0x2A13 TRACE_FS            "BaseFilesetMetadataRecord::validate badMagic %d badFormatVer %d badChecksum %d badType %d record %d"
+TRCID_       0x2A14 TRACE_FS            "FilesetHashTab::fetch recNum %d isFileset %d filesetP 0x%lX err %d"
+TRCID_       0x2A15 TRACE_FS            "FilesetHashTab::cleanup enter: sgP %lX snapId %d flags %d"
+TRCID_       0x2A16 TRACE_FS            "FilesetHashTab::cleanup: %08X:%08X:%08X:%08X flags 0x%X tokenCount %d holdCount %d sgP 0x%lX"
+TRCID_       0x2A17 TRACE_FS            "FilesetHashTab::cleanup exit: matchingObjects %d err %d\n"
+TRCID_       0x2A18 TRACE_FS            "FilesetMDObj::readData: record %d err %d\n"
+TRCID_       0x2A19 TRACE_FS            "FilesetMDObj::writeData: record %d err %d\n"
+TRCID_       0x2A1A TRACE_FS            "FilesetMDObj::copyDataOnWrite record %d inodeCopied %d fileMod %d max %d"
+TRCID_       0x2A1B TRACE_FS            "FilesetMDObj::copyDataOnWrite record %d inodeCopied %d fileMod %d err %d"
+TRCID_       0x2A1C TRACE_FS            "FilesetMDObj::accessData: type %d id %d lm %s flags %X mdrP 0x%lX err %d\n" $3=lockmode_id2name
+TRCID_       0x2A1D TRACE_FS            "getFilesetMDObj: recNum %d snap %d filesetP 0x%lX flags %X err %d\n"
+TRCID_       0x2A1E TRACE_FS            "FilesetMDObj::importRecord bad type, expecting %u got %u"
+TRCID_       0x2A1F TRACE_FS            "Fileset::importRecord status %d (%d) id %d nSnapItems %d name %s err %d"
+TRCID_       0x2A20 TRACE_FS            "SnapItem::importRecord status %d (%d) snapId %d name %s err %d"
+TRCID_       0x2A21 TRACE_FS            "Fileset::changeName filesetId %d newName %s newComment %s"
+TRCID_       0x2A22 TRACE_FS            "Fileset::changeName filesetId %d err %d"
+TRCID_       0x2A23 TRACE_FS            "Fileset::finishCreate: err %d"
+TRCID_       0x2A24 TRACE_FS            "Fileset::finishDelete id %d status %s: err %d"
+TRCID_       0x2A25 TRACE_FS            "SnapItem::openSnapshotFile snapId %d da %d:%lld\n"
+TRCID_       0x2A26 TRACE_FS            "SnapItem::openSnapshotFile: exit snapId %d snapInode0FileP 0x%lX err %d"
+TRCID_       0x2A27 TRACE_FS            "deleteSnapshotFile: snapitem 0x%lX complete snapFileP 0x%lX err %d\n"
+TRCID_       0x2A28 TRACE_FS            "getPrevSnapshot: snapId %d snapP 0x%lX index %d nSnapItems %d err %d\n"
+TRCID_       0x2A29 TRACE_FS            "getNextSnapshot: snapId %d nextSnapId %d snapP 0x%lX ind %d err %d"
+TRCID_       0x2A2A TRACE_FS            "sanitizeInodeBlockForCopy: nDittos %d err %d"
+TRCID_       0x2A2B TRACE_FS            "findSnapItemBySnapId: snapId %d snapP 0x%lX err %d"
+TRCID_       0x2A2C TRACE_FS            "filesetMetaScan enter: sg %s what %d snap %d flags %X name %s dataP 0x%lX targP 0x%lX"
+TRCID_       0x2A2D TRACE_FS            "FilesetMetadata::scan: block %d record %d is corrupted by bad snapshot record number: %d, expecting %d.\n"
+TRCID_       0x2A2E TRACE_FS            "filesetMetaScan for all: sg %s duplicate fileset name %s with record nums %u, %u and %u\n"
+TRCID_       0x2A2F TRACE_FS            "filesetMetaScan exit: what %d flags %X dataP 0x%lX scanned %d err %d\n"
+TRCID_       0x2A30 TRACE_FS            "SFSUpgradeToFilesets: metadata file inode %d, .allsnapshot inode %d, err %d"
+TRCID_       0x2A31 TRACE_FS            "SFSUnupgradeToFilesets: sg %s filesetMetadataFileInode %d\n"
+TRCID_       0x2A32 TRACE_FS            "SnapItemHashTab::insert: snapP 0x%lX snapId %d err %d"
+TRCID_       0x2A33 TRACE_TS            "checkFilesetRootIno: root for fileset %u at inode %u good %d err %d"
+TRCID_       0x2A34 TRACE_TS            "checkFilesetRootDotDot: for fileset %u at inode %u, ..=>%u err %d"
+TRCID_       0x2A35 TRACE_FS            "SFSCompleteFilesetOps: found %d 'being' filesets err %d"
+TRCID_       0x2A36 TRACE_FS            "SFSCompleteFilesetOps: finished fileset %u state %d => %d err %d"
+TRCID_       0x2A37 TRACE_FS            "markRootDirAsFilesetRoot: err %d"
+TRCID_       0x2A38 TRACE_TS            "tslsfileset doOneStep: block %d"
+TRCID_       0x2A39 TRACE_TS            "tslsfileset complete,  block %d, err %d\n"
+TRCID_       0x2A3A TRACE_TS            "tslsfileset:init: nentries %d\n"
+TRCID_       0x2A3B TRACE_TS            "tslsfileset:doOneStep: entryNo %d found %s\n"
+TRCID_       0x2A3C TRACE_TS            "tslsfileset:doOneStep: entryNo %d ENOENT\n"
+TRCID_       0x2A3D TRACE_TS            "tslsfileset:doOneStep: err %d JunctionName %s len %d"
+TRCID_       0x2A3E TRACE_FS            "FsetObj::dump:%s: filesetId %d inodeNo %d seen %d\n"
+TRCID_       0x2A3F TRACE_FS            "FsetHashTab::dump: %s:nEntries = %d\n"
+TRCID_       0x2A40 TRACE_FS            "FsetHashTab::dump: %s:none\n"
+TRCID_       0x2A41 TRACE_FS            "FsetHashTab::buildList enter\n"
+TRCID_       0x2A42 TRACE_FS            "FsetHashTab::buildList:found child fileset %d of parent %d. Adding %d to child hash table\n"
+TRCID_       0x2A43 TRACE_FS            "FsetHashTab::buildList exit: err %d code %d\n"
+TRCID_       0x2A44 TRACE_FS            "bldChildFsetTab: adding fileset %u to all hash, nEntries %d"
+TRCID_       0x2A45 TRACE_FS            "scanActiveFiles enter flags 0x%lX nEntries %u"
+TRCID_       0x2A46 TRACE_FS            "scanActiveFiles: filesetId %d root ino %d"
+TRCID_       0x2A47 TRACE_FS            "scanActiveFiles: found openInstance 0x%08X filesetid %d"
+TRCID_       0x2A48 TRACE_FS            "scanActiveFiles exit: isOpen %d err %d code %d\n"
+TRCID_       0x2A49 TRACE_FS            "handleFsetOps enter flags 0x%lX nEntries %u"
+TRCID_       0x2A4A TRACE_FS            "handleFsetOps: failed to resume %d filesets in sg %s, err %d"
+TRCID_       0x2A4B TRACE_FS            "searchDirByInode enter: fileset root ino %d gen 0x%08X dir ino %d gen 0x%08X\n"
+TRCID_       0x2A4C TRACE_FS            "searchDirByInode: inode %d snap %d blockNum %d next %d nEntries %d\n"
+TRCID_       0x2A4D TRACE_FS            "searchDirByInode: inode %d gen 0x%08X\n"
+TRCID_       0x2A4E TRACE_FS            "searchDirByInode: %s entry %s err %d code %d\n"
+TRCID_       0x2A4F TRACE_FS            "resumeFilesetEverywhere sg %s nFilesets %d"
+TRCID_       0x2A50 TRACE_FS            "resumeFilesetEverywhere exit: sg %s err %d"
+TRCID_       0x2A51 TRACE_FS            "quiesceFilesetEverywhere sg %s closeFiles %d nFilesets %d"
+TRCID_       0x2A52 TRACE_FS            "quiesceFilesetEverywhere exit: sg %s err %d"
+TRCID_       0x2A53 TRACE_FS            "FindEntryName enter: fileset %d root inode %d parent fileset %d\n"
+TRCID_       0x2A54 TRACE_FS            "FindEntryName: fileId inode %d snap %d fileset %d\n"
+TRCID_       0x2A55 TRACE_FS            "FindEntryName root fileset: pathNameP %s"
+TRCID_       0x2A56 TRACE_FS            "FindEntryName found unlinked fileset: pathNameP %s\n"
+TRCID_       0x2A57 TRACE_FS            "FindEntryName: Searching dir inode %d snap %d fileset %d for inode %d fileset %d\n"
+TRCID_       0x2A58 TRACE_FS            "FindEntryName found fileset: entryNameP %s\n"
+TRCID_       0x2A59 TRACE_FS            "FindEntryName exit: err %d code %d pathNameP %s\n"
+TRCID_       0x2A5A TRACE_FS            "FindJunctionName enter: fileset %d status %s"
+TRCID_       0x2A5B TRACE_FS            "FindJunctionName: fileset %d parent id %d snap %d root inode %d\n"
+TRCID_       0x2A5C TRACE_FS            "FindJunctionName exit: err %d junction name %s\n"
+TRCID_       0x2A5D TRACE_FS            "SFSUnLinkFileset enter: sg %s fileset id %d status %d=>%d root %u"
+TRCID_       0x2A5E TRACE_FS            "SFSUnLinkFileset exit:  sg %s fileset id %d err %d code %d\n"
+TRCID_       0x2A5F TRACE_FS            "SFSLinkFileset enter:  sg %s fileset %s junction %s\n"
+TRCID_       0x2A60 TRACE_FS            "SFSLinkFileset: dirInode %d snap %d fileset %d, inode %d snap %d gen %u name %s\n"
+TRCID_       0x2A61 TRACE_FS            "SFSLinkFileset iaccess: err %d\n"
+TRCID_       0x2A62 TRACE_FS            "SFSLinkFileset exit: inodeNum %d snap %d, err %d code %d\n"
+TRCID_       0x2A63 TRACE_FS            "SFSUnlinkChildren fileset %s id %d"
+TRCID_       0x2A64 TRACE_FS            "SFSUnlinkChildren of id %d child %s id %d inode %d"
+TRCID_       0x2A65 TRACE_FS            "Unlink fileset id %d err %d code %d"
+TRCID_       0x2A66 TRACE_FS            "SFSUnlinkAllChildFilesets: exit err %d code %d\n"
+TRCID_       0x2A67 TRACE_FS            "SFSDeleteFile enter: inode %d filesetid %d\n"
+TRCID_       0x2A68 TRACE_FS            "SFSDeleteFile exit: inode %d err %d filesetid %d code %d\n"
+TRCID_       0x2A69 TRACE_FS            "DeleteInodeRange: first inode %d snap %d, inodesPerBlock %d, filesetId %d\n"
+TRCID_       0x2A6A TRACE_FS            "DeleteInodeRange: first inode %d filesetId %d, num in blk %d, returns Ok %d of %d, err %d\n"
+TRCID_       0x2A6B TRACE_FS            "SFSDeleteFileset: enter '%s' filesetId %d  root inode %d status %s"
+TRCID_       0x2A6D TRACE_FS            "SFSDeleteFileset no root dir (ino %u valid %d status %d), but fileset status is %d\n"
+TRCID_       0x2A6E TRACE_FS            "SFSDeleteFileset exit: err %d code %d\n"
+TRCID_       0x2A6F TRACE_FS            "SFSCreateFileset enter: fileset %s\n"
+TRCID_       0x2A70 TRACE_FS            "SFSCreateFileset: filesetId %d inodeNum %d filesetNameP %s commentP %s"
+TRCID_       0x2A71 TRACE_FS            "SFSCreateFileset exit: err %d code %d\n"
+TRCID_       0x2A72 TRACE_FS            "SFSCreateFilesetRoot createFileFinish\n"
+TRCID_       0x2A73 TRACE_FS            "SFSCreateFilesetRoot exit: err %d code %d\n"
+TRCID_       0x2A74 TRACE_FS            "runTSCrFileset enter: sg %s"
+TRCID_       0x2A75 TRACE_FS            "runTSCrFileset exit: err %d\n"
+TRCID_       0x2A76 TRACE_FS            "runTSLinkFileset enter sg %s filesetName %s junction %s dirIno %d\n"
+TRCID_       0x2A77 TRACE_FS            "runTSLinkFileset exit: err %d code %d\n"
+TRCID_       0x2A78 TRACE_FS            "runTSUnlinkFileset sg %s filesetName %s junction %s inode %d fOpt %d aOpt %d"
+TRCID_       0x2A79 TRACE_FS            "runTSUnlinkFileset exit: sg %s err %d code %d\n"
+TRCID_       0x2A7A TRACE_FS            "runTSDelFileset enter: sg %s fileset %s fOpt %d"
+TRCID_       0x2A7B TRACE_FS            "runTSDelFileset exit: sg %s fileset %s err %d\n"
+TRCID_       0x2A7C TRACE_FS            "lsfileset %s status %s id %d root/latest %d parent %d comment %s"
+TRCID_       0x2A7D TRACE_FS            "runTSLsFileset sg %s argc %d"
+TRCID_       0x2A7E TRACE_FS            "arg[%d]: %s %s %s %s %s %s %s %s"
+TRCID_       0x2A7F TRACE_FS            "runTSLsFileset finding %s\n"
+TRCID_       0x2A80 TRACE_FS            "runTSChFileset sg %s fileset %s junction %s jOpt %d '%s' tOpt %d '%s'"
+TRCID_       0x2A81 TRACE_FS            "runTSChFileset exit: err %d code %d"
+TRCID_       0x2A82 TRACE_ALLOC         "init_alm_comm: tscRegisterService failed, rc %d\n"
+TRCID_       0x2A83 TRACE_ALLOC         "allocSubblk2DiskSector: r %d, s %d, disk %d, mBlockNo %d,dBlockNo %lld, dSubblockNo %lld, secNum %lld\n"
+TRCID_       0x2A84 TRACE_ALLOC         "RecoverAllocSegment: found a bad disk addr in the log file\n"
+TRCID_       0x2A85 TRACE_ALLOC         "RecoverAllocSegment: type %d da %d:%lld lsn 0x%llX version %lld disk %d subblock %d nSubblocks %d regNo %d "
+TRCID_       0x2A86 TRACE_ALLOC         "RecoverAllocSegment alloc DA %d:%lld regNo %d sub %d nSub %d"
+TRCID_       0x2A87 TRACE_ALLOC         "RecoverAllocSegment: complete, err %d\n"
+TRCID_       0x2A88 TRACE_ALLOC         "RecoverDeallocMultiple: found a bad disk addr in the log file\n"
+TRCID_       0x2A89 TRACE_ALLOC         "RecoverDeallocMultiple: da %d:%lld lsn 0x%llX version %lld nElements %d varLen %d\n"
+TRCID_       0x2A8A TRACE_ALLOC         "RecoverDeallocMultiple: index %d diskIndex %d subblock %d nSubblocks %d\n"
+TRCID_       0x2A8B TRACE_ALLOC         "RecoverDeallocMultiple: err %d code %d\n"
+TRCID_       0x2A8C TRACE_ALLOC         "SGAllocSet::SGAllocSet constructor called for sg '%s'"
+TRCID_       0x2A8D TRACE_ALLOC         "SGAllocSet::SGAllocSet %s complete, err %d\n"
+TRCID_       0x2A8E TRACE_ALLOC         "SGAllocSet::SGAllocSet destructor called for sg '%s'"
+TRCID_       0x2A8F TRACE_ALLOC         "SGAllocSet::SGAllocSet destructor complete"
+TRCID_       0x2A90 TRACE_ALLOC         "SGAllocSet::reopenAllocMaps version %d sgVersion %d"
+TRCID_       0x2A91 TRACE_ALLOC         "accessAllocMap sg %s pool index %d mode %d"
+TRCID_       0x2A92 TRACE_ALLOC         "accessAllocMap X waiting shared %d w %d excl %d w %d threads"
+TRCID_       0x2A93 TRACE_ALLOC         "accessAllocMap S waiting excl %d w %d shared %d w %d threads"
+TRCID_       0x2A94 TRACE_ALLOC         "accessAllocMap complete amP 0x%lX poolId %d status %s shared %d wait %d excl %d wait %d err %d"
+TRCID_       0x2A95 TRACE_ALLOC         "releaseAllocMap 0x%lX poolId %d shared %d wait %d excl %d wait %d"
+TRCID_       0x2A96 TRACE_ALLOC         "beginUseOfAllocMap 0x%lX poolId %d shared %d wait %d excl %d wait %d"
+TRCID_       0x2A97 TRACE_ALLOC         "SGAllocSet::openAllocMap sg %s poolId %d inode %d"
+TRCID_       0x2A98 TRACE_ALLOC         "SGAllocSet::closeAllocMap sg %s poolIndex %d status %s"
+TRCID_       0x2A99 TRACE_ALLOC         "SGAllocSet::createAllocMap sg %s poolId %d (0x%X) %s"
+TRCID_       0x2A9A TRACE_ALLOC         "layout poolId %d nRegs %d nSegs %d bytes %d blkSize %d maxBlks %lld"
+TRCID_       0x2A9B TRACE_ALLOC         "SGAllocSet::createAllocMap poolId %d assigned inode %d"
+TRCID_       0x2A9C TRACE_ALLOC         "SGAllocSet::createAllocMap complete, inodeNum %d err %d"
+TRCID_       0x2A9D TRACE_ALLOC         "SGAllocSet::destroyAllocMap sg %s poolId %d inode %d status %s"
+TRCID_       0x2A9E TRACE_ALLOC         "destroyAllocMap poolId %d alloc map inode %d"
+TRCID_       0x2A9F TRACE_ALLOC         "destroyAllocMap  poolId %d inode %d sum %d status %s mapP 0x%lX"
+TRCID_       0x2AA0 TRACE_ALLOC         "SGAllocSet::destroyAllocMap poolId %d complete, err %d"
+TRCID_       0x2AA1 TRACE_ALLOC         "SGAllocSet::completeDeletePools sg %s"
+TRCID_       0x2AA4 TRACE_ALLOC         "waiting for allocMgr %s change %d\n" $1=nodeaddr_id2name
+TRCID_       0x2AA5 TRACE_ALLOC         "waiting for allocMgr %s count %d recovery to complete\n" $1=nodeaddr_id2name
+TRCID_       0x2AA6 TRACE_ALLOC         "serialize allocMgr %s count %d recovery complete" $1=nodeaddr_id2name
+TRCID_       0x2AA7 TRACE_ALLOC         "SGAllocSet::phase1Recovery from %s at %s\n" $1=nodeaddr_id2name
+TRCID_       0x2AA8 TRACE_ALLOC         "SGAllocSet::phase1Recovery sg %s sgMgr %s running %d\n" $2=nodeaddr_id2name
+TRCID_       0x2AA9 TRACE_ALLOC         "SGAllocSet::phase1Recovery old AllocMgr %s new %s changeCount %d" $1=nodeaddr_id2name $2=nodeaddr_id2name
+TRCID_       0x2AAA TRACE_ALLOC         "SGAllocSet::phase1Recovery complete, err %d"
+TRCID_       0x2AAB TRACE_ALLOC         "startPhase2Recovery sg %s complete, err %d\n"
+TRCID_       0x2AAC TRACE_ALLOC         "SGAllocSet::dealloc DA n=%d %d:%lld %d:%lld nSub %d opt 0x%X\n"
+TRCID_       0x2AAD TRACE_ALLOC         "SGAllocSet::reInitialize sg %s %s"
+TRCID_       0x2AAE TRACE_ALLOC         "SGAllocSet::rewriteAllocMaps sg %s %s"
+TRCID_       0x2AAF TRACE_ALLOC         "SGAllocSet::traverseIndBlock sg '%s'"
+TRCID_       0x2AB0 TRACE_ALLOC         "SGAllocSet::flush sg '%s'"
+TRCID_       0x2AB1 TRACE_ALLOC         "SGAllocSet::relinquishAll sg '%s'"
+TRCID_       0x2AB2 TRACE_ALLOC         "SGAllocSet::sync '%s' fdOpt 0x%X"
+TRCID_       0x2AB3 TRACE_ALLOC         "SGAllocSet::isClean sg '%s'"
+TRCID_       0x2AB4 TRACE_ALLOC         "SGAllocSet::format sg '%s'"
+TRCID_       0x2AB5 TRACE_ALLOC         "SGAllocSet::addSegmentToAllocMapFile sg %s poolId %d nNewSegs %d"
+TRCID_       0x2AB6 TRACE_ALLOC         "allocMapCheckBegin sg %s poolId %d node %s regNo %d to %d rtnP 0x%lX" $3=nodeaddr_id2name
+TRCID_       0x2AB7 TRACE_ALLOC         "allocMapCheckEnd sg %s poolId %d"
+TRCID_       0x2AB8 TRACE_ALLOC         "callNotifyRtn sg %s poolId %d"
+TRCID_       0x2AB9 TRACE_ALLOC         "SGAllocSet::allocRemote poolId %d disk %d retry %d"
+TRCID_       0x2ABA TRACE_ALLOC         "SGAllocSet::allocRemote poolId %d does not match disk %d poolId %d"
+TRCID_       0x2ABB TRACE_ALLOC         "SGAllocSet::allocRemote poolId %d retry %d err %d"
+TRCID_       0x2ABE TRACE_ALLOC         "setStatCounters poolId %d %lld %lld total %lld %lld"
+TRCID_       0x2ABF TRACE_ALLOC         "allocClientHandleMsg sg %s length %d type %d from %s data 0x%lX\n" $4=nodeaddr_id2name
+TRCID_       0x2AC0 TRACE_ALLOC         "genMsgDataP 0x%X genMsgLen %d replyFreeP 0x%X replyFreeLen %d\n"
+TRCID_       0x2AC1 TRACE_ALLOC         "msg type %d length %d but msg length only %d\n"
+TRCID_       0x2AC2 TRACE_ALLOC         "allocClientHandleMsg sending reply to %s len %d addr 0x%lX\n" $1=nodeaddr_id2name
+TRCID_       0x2AC3 TRACE_ALLOC         "allocClientHandleMsg failed, err %d reason %d"
+TRCID_       0x2AC4 TRACE_ALLOC         "StripeGroup::acquireSGCopy sg %s sgCacheP 0x%lX vers %d useCount %d"
+TRCID_       0x2AC5 TRACE_ALLOC         "StripeGroup::releaseSGCopy 0x%lX sg %s version %d use %d"
+TRCID_       0x2AC6 TRACE_ALLOC         "StripeGroup::freeSGCopy sg %s at 0x%lX"
+TRCID_       0x2AC7 TRACE_ALLOC         "readSGCopy 0x%lX version %d"
+TRCID_       0x2AC8 TRACE_ALLOC         "readSGCopy 0x%lX valid %d vers %d use %d nDisks %d pools %d nFGs %d"
+TRCID_       0x2AC9 TRACE_ALLOC         "poolFGIndex: %d %d %d %d %d %d %d %d %d %d %d %d"
+TRCID_       0x2ACA TRACE_ALLOC         "pool[%d]: nDisks %d %d nFGs %d %d %d masks %s %s"
+TRCID_       0x2ACB TRACE_FS            "PurgeDeletedFilesets: found %d deaders err %d"
+TRCID_       0x2ACC TRACE_ALLOCMGR      "AllocManager::recoverAllocSumFile state %s"
+TRCID_       0x2ACD TRACE_ALLOCMGR      "AllocManager::recoverAllocSumFile complete state %s err %d"
+TRCID_       0x2ACE TRACE_FS            "FilesetMDObj::recycle: record %d already invalid, proceeding"
+TRCID_       0x2ACF TRACE_FS            "Fileset::cancelUpdate: fileset %d is not valid, skipping write"
+TRCID_       0x2AD0 TRACE_FS            "SnapItem::cancelUpdate: record %d is not valid, skipping write"
+TRCID_       0x2AD1 TRACE_FS            "InodeScanInstance::getInstance: enter SG 0x%lX %s snapId %d id %d:%d\n"
+TRCID_       0x2AD2 TRACE_FS            "InodeScanInstance::getInstance: FOUND 0x%lX infP 0x%lX\n"
+TRCID_       0x2AD3 TRACE_FS            "InodeScanInstance::getInstance NEW 0x%lX infP 0x%lX\n"
+TRCID_       0x2AD4 TRACE_FS            "InodeScanInstance::removeInstance: 0x%lX SG 0x%lX %s snapId %d id %d:%d\n"
+TRCID_       0x2AD5 TRACE_FS            "InodeScanInstance::getNextBlock panicked"
+TRCID_       0x2AD6 TRACE_FS            "InodeScanInstance::getNextBlock: err %d\n"
+TRCID_       0x2AD7 TRACE_FS            "InodeScanInstance::checkCleanupForSG: SG 0x%lX %s \n"
+TRCID_       0x2AD8 TRACE_FS            "InodeScanInstance::checkCleanupForSG: 0x%lX SG 0x%lX %s busy %d snapId %d id %d:%d\n"
+TRCID_       0x2AD9 TRACE_FS            "InodeScanInstance::cleanupForSG: SG 0x%lX %s \n"
+TRCID_       0x2ADA TRACE_FS            "InodeScanInstance::cleanupForSG: 0x%lX SG 0x%lX %s busy %d snapId %d id %d:%d\n"
+TRCID_       0x2ADB TRACE_FS            "SFSRepairFile: poolId %d not being repaired"
+TRCID_       0x2ADC TRACE_FS            "SFSRepairFS: delete %s"
+TRCID_       0x2ADD TRACE_ALLOCMGR      "getAllocStatCounters sg %s state %d data %lld meta %lld inodes %lld"
+TRCID_       0x2ADE TRACE_ALLOCMGR      "getAllocStatCounters pool[%d] poolId %d data %lld meta %lld"
+TRCID_       0x2ADF TRACE_ALLOCMGR      "SGAllocSet::setAllocStatCounters data %lld meta %lld inodes %lld nPools %d"
+TRCID_       0x2AE0 TRACE_IALLOC        "RecoverInodeAllocSegment: type %d abs inodeNum %d oldVal %d"
+TRCID_       0x2AE1 TRACE_FS            "recycleDataBuffer: inode %d snap %d buffer 0x%lX bufDesc 0x%lX (0x%lX) pass %d bufType %s\n" $7=BufferType_id2name
+TRCID_       0x2AE2 TRACE_IALLOC        "readIAlloc: ireg %d iseg %d"
+TRCID_       0x2AE3 TRACE_IALLOC        "writeIAlloc: ireg %d iseg %d"
+TRCID_       0x2AE4 TRACE_IALLOC        "freeInodes: ireg %d iseg %d oneBits %d updateAM %d ialmP 0x%lX"
+TRCID_       0x2AE5 TRACE_ALLOCMGR      "initIAlloc segment (%d,%d) num free inodes %d"
+TRCID_       0x2AE6 TRACE_IALLOC        "accessIAlloc: ireg %d iseg %d lm %s discardIf %d doRead %d" $3=lockmode_id2name
+TRCID_       0x2AE7 TRACE_IALLOC        "accessIAlloc: ireg %d iseg %d complete, err %d"
+TRCID_       0x2AE8 TRACE_IALLOC        "markInode: relInode %d ireg %d iseg %d oldVal %d newVal %d err %d"
+TRCID_       0x2AE9 TRACE_ALLOC         "sleep1 for 60 seconds"
+TRCID_       0x2AEA TRACE_ALLOC         "sleep2 for 60 seconds"
+TRCID_       0x2AEB TRACE_ALLOC         "sleep3 for 60 seconds"
+TRCID_       0x2AEC TRACE_ALLOC         "sleep4 for 60 seconds"
+TRCID_       0x2AED TRACE_ALLOC         "sleep1 for 60 seconds"
+TRCID_       0x2AEE TRACE_ALLOC         "sleep2 for 60 seconds"
+TRCID_       0x2AEF TRACE_ALLOC         "sleep3 for 60 seconds"
+TRCID_       0x2AF0 TRACE_IALLOC        "allocInode  relInode %d ireg %d iseg %d isReserved %d err %d"
+TRCID_       0x2AF1 TRACE_IALLOC        "markInode newVal %d relInode %d ireg %d iseg %d isReserved %d"
+TRCID_       0x2AF2 TRACE_IALLOC        "markInodeRegion ireg %d iseg %d relFirstFree %d relFirstSurplus %d"
+TRCID_       0x2AF3 TRACE_IALLOC        "finishAllocation relInode %d ireg %d iseg %d alwaysLog %d"
+TRCID_       0x2AF4 TRACE_IALLOC        "finishAllocation relInode %d ireg %d iseg %d alwaysLog %d oldVal %d ERROR"
+TRCID_       0x2AF5 TRACE_IALLOC        "finishAllocation: inode %d"
+TRCID_       0x2AF6 TRACE_IALLOC        "markAllocated: inode %d"
+TRCID_       0x2AF7 TRACE_IALLOC        "flushIAlloc"
+TRCID_       0x2AF8 TRACE_IALLOC        "relinquishAll"
+TRCID_       0x2AF9 TRACE_IALLOC        "allocInode: enter"
+TRCID_       0x2AFA TRACE_IALLOC        "deallocInode: inode %d okIfFree %d"
+TRCID_       0x2AFB TRACE_IALLOC        "formatIAlloc sg %s firstFree %d"
+TRCID_       0x2AFC TRACE_IALLOC        "markInodeRange: firstFree %d firstSurplus %d"
+TRCID_       0x2AFD TRACE_FS            "FilesetMetadata::mdFileOpen: inum %d cacheErr %d err %d fscking %d"
+TRCID_       0x2AFE TRACE_FS            "readPolicyFile mount restricted %d fsP 0x%lX "
+TRCID_       0x2AFF TRACE_FS            "ChangeNlink enter: eventlistP 0x%lX\n"
+TRCID_       0x2B00 TRACE_FS            "selectRestorePool returns poolId %d dataReplicas %d err %d"
+TRCID_       0x2B01 TRACE_FS            "SFSSetPolicyAttr sg %s inode %d snap %d fileset %d uid %d gid %d size %lld kbAlloc %lld"
+TRCID_       0x2B02 TRACE_FS            "inode %d mtime %s atime %s path %s%s"
+TRCID_       0x2B03 TRACE_FS            "SFSSetPolicyAttr inode %d returns poolId %d dataRepl %d err %d"
+TRCID_       0x2B04 TRACE_ALLOC         "checking disk %d status %d seg %d pool %d"
+TRCID_       0x2B05 TRACE_ALLOC         "clearing magic for disk %d"
+TRCID_       0x2B06 TRACE_ALLOC         "initializing magic for disk %d"
+TRCID_       0x2B07 TRACE_FS            "FileMetadata::allocDataBlock partialReplicaAlloc inode %d err %d"
+TRCID_       0x2B08 TRACE_FS            "FileMetadata::allocIndirect partialReplicaAlloc inode %d err %d"
+TRCID_       0x2B09 TRACE_ALLOCMGR      "RequestRegion repeat search without cursor"
+TRCID_       0x2B0A TRACE_ALLOCMGR      "updateRegion: regNo %d %s data %lld %s meta %lld %s cursor %s"
+TRCID_       0x2B0B TRACE_FS            "getStoragePoolId %s returns id %d (0x%X)"
+TRCID_       0x2B0C TRACE_FS            "updateAccessHistoryM: FETCH oiP 0x%lX endSeq %lld < %lld < %lld fuzzy_win %d\n"
+TRCID_       0x2B0E TRACE_ALLOC         "getRandomTargetDisk enter: useDiskProb %d nDisks %d\n"
+TRCID_       0x2B0F TRACE_ALLOC         "getRandomTargetDisk disk %d prob %f\n"
+TRCID_       0x2B10 TRACE_ALLOC         "RR reselectDisk enter: origDiskIndex %d seqLength %d allocCount %d nDisks %d"
+TRCID_       0x2B11 TRACE_ALLOC         "RR reselectDisk enter: curSequenceLength %d"
+TRCID_       0x2B12 TRACE_ALLOC         "RR reselectDisk find-next: diskIndex %d prob %f"
+TRCID_       0x2B13 TRACE_TS            "tslsfileset doOneStep: noticed client term"
+TRCID_       0x2B14 TRACE_TS            "tslsfileset::doOneStep: in inode %d nFullBlocks (%lld) and SFSCountSnapshotFile (%lld) disagree"
+TRCID_       0x2B15 TRACE_FS            "fsOp::insertOrphan: Failed to put inode %d snap %d gen 0x%X into lost+found (inode %d): nlinks %d would exceed max links %d\n"
+TRCID_       0x2B16 TRACE_IALLOC        "SGInodeMap::Expand: not possible (maxInodes %d nInodes %d, or not enabled)\n"
+TRCID_       0x2B17 TRACE_IALLOC        "SGInodeMap::Expand: done, err %d\n"
+TRCID_       0x2B18 TRACE_IALLOC        "SGInodeMap::expandInodeFile: done, err %d\n"
+TRCID_       0x2B19 TRACE_FS            "shrinkToFit: inode %d err %d (not returned)\n"
+TRCID_       0x2B1A TRACE_FS            "CleanStaleBuffers enter: %d staleDataBufs\n"
+TRCID_       0x2B1B TRACE_FS            "CleanStaleBuffers exit: %d bufs examined, %d committed, %d staleDataBufs\n"
+TRCID_       0x2B1C TRACE_FS            "SFSCloseFSFinish: open instance on quota file, inode %d snap %d\n"
+TRCID_       0x2B1D TRACE_FS            "mergeInode: increasing inode %d indirection level (%d) to reach local level %d"
+TRCID_       0x2B1F TRACE_QUOTA         "ComputeShare id %d (%d): in revoke watch: HL %lld, U %lld, I %lld, iHL %d, iU %d iI %d\n"
+TRCID_       0x2B20 TRACE_QUOTA         "id %d (%d) too many quota revokes in less than %d secs\n"
+TRCID_       0x2B21 TRACE_QUOTA         "%d revoke list full: too many entries close to hard limits\n"
+TRCID_       0x2B22 TRACE_QUOTA         "id %d (%d) is close to quotas hard limits.\n"
+TRCID_       0x2B23 TRACE_QUOTA         "alloc too hard id %d (%d) quotaAvail bl %lld In %d err %d\n"
+TRCID_       0x2B24 TRACE_QUOTA         "qu.mgr compute share type %d, id %d, E_ALLOC_TOO_HARD err %d\n"
+TRCID_       0x2B25 TRACE_FS            "PrepareRepair: replica %d (%d:%lld) corrupt diskaddr\n"
+TRCID_       0x2B26 TRACE_IALLOC        "SGInodeMap::expandInodeFile: needBlocks %d haveBlocks %d nBlocksToAdd %d proposedInodeTotal %d\n"
+TRCID_       0x2B27 TRACE_IALLOC        "SGInodeMap::Expand: enter: waitIfRunning %d force %d minInode %d callerSerializedExpand %d\n"
+TRCID_       0x2B28 TRACE_IALLOC        "SGInodeMap::waitForInodeFileExpandThenBlock: wait for inode expansion or critical section to complete\n"
+TRCID_       0x2B29 TRACE_IALLOC        "SGInodeMap::waitForInodeFileExpandThenBlock: running, blocking.\n"
+TRCID_       0x2B2A TRACE_FS            "setAddr: this 0x%lX addrValid 1 %s n %d %d:%lld buffer 0x%lX (0x%lX)\n"
+TRCID_       0x2B2B TRACE_FS            "discardBuffer: bdP 0x%lX buffer 0x%lX (0x%lX)\n"
+TRCID_       0x2B2C TRACE_FS            "handleBufferFlush: not in range: bufferdataBlockNum %lld < firstBlockNum %lld\n"
+TRCID_       0x2B2D TRACE_FS            "handleBufferFlush: not in range: bufferdataBlockNum %lld > lastBlockNum %lld\n"
+TRCID_       0x3001 TRACE_ERRLOG        "logMoreInfo LogError() failed, error %d\n"
+TRCID_       0x3002 TRACE_ERRLOG        "Error logger called for failure at line %d in file %s\n"
+TRCID_       0x3003 TRACE_ERRLOG        "return code %d, reason code %d, log record tag %d\n"
+TRCID_       0x3004 TRACE_ERRLOG        "Error logger dataStr %s\n"
+TRCID_       0x3005 TRACE_ERRLOG        "Error logger failingExpr %s\n"
+TRCID_       0x3006 TRACE_ERRLOG        "LogError() failed, error %d\n"
+TRCID_       0x3007 TRACE_ERRLOG        "LogError() failed, error %d\n"
+TRCID_       0x3008 TRACE_ERRLOG        "Error logger called for abnormal shutdown at line %d in file %s\n"
+TRCID_       0x3009 TRACE_ERRLOG        "return code %d, reason code %d, log record tag %d\n"
+TRCID_       0x300A TRACE_ERRLOG        "Abnormal shutdown LogError() failed, error %d\n"
+TRCID_       0x300B TRACE_ERRLOG        "logAssertFailed: %s\n"
+TRCID_       0x300C TRACE_ERRLOG        "HandleELogSpecMB LogError() failed, error %d\n"
+TRCID_       0x3401 TRACE_TASKING       "startup: %s\n"
+TRCID_       0x3402 TRACE_SANERGY       "ServerReady: ccSANergyExport %d\n"
+TRCID_       0x3403 TRACE_TASKING       "setting priority: errno %d\n"
+TRCID_       0x3404 TRACE_MSG           "test malloc mp %lX nBlocks %d i %d blockSize %d segment %d\n"
+TRCID_       0x3405 TRACE_MSG           "Body of unknown msg: %08X %08X %08X %08X %08X\n"
+TRCID_       0x3406 TRACE_CLEANUP       "Dumping internal data structures: fp 0x%08lX file name %s\n"
+TRCID_       0x3C01 TRACE_MALLOC        "initContigPool: base 0x%lX (0x%lX) poolLen 0x%X Limit 0x%lX (0x%lX)\n"
+TRCID_       0x3C02 TRACE_MALLOC        "initPool: pool %d at 0x%lX initialSize %d maxSize %d\n"
+TRCID_       0x3C03 TRACE_MALLOC        "Dump of memory block in error at 0x%lX: %s\n"
+TRCID_       0x3C04 TRACE_MALLOC        "  nextBlockP 0x%lX (0x%lX) prevBlockP 0x%lX (0x%lX) (prevP was 0x%lX) payload 0x%lX\n"
+TRCID_       0x3C05 TRACE_MALLOC        "  hSize %d hMagic 0x%X tMagic 0x%X tSize %d\n"
+TRCID_       0x3C06 TRACE_MALLOC        "spInit: subpool at 0x%lX objSize %d name '%s' poolP 0x%lX\n"
+TRCID_       0x3C07 TRACE_MALLOC        "assignFromContigPool: addr 0x%lX minBytes 0x%X actualBytes 0x%X\n"
+TRCID_       0x3C08 TRACE_MALLOC        "assignFromDiscontigPool: vaddr 0x%lX minBytes %d bytesRequested %d kBytes %d\n"
+TRCID_       0x3C09 TRACE_MALLOC        "shAlloc: could not alloc %d bytes from pool %d due to mutex error %d\n"
+TRCID_       0x3C0A TRACE_MALLOC        "shAlloc: Examining free list block at 0x%lX len %d pool %d\n"
+TRCID_       0x3C0B TRACE_MALLOC        "shAlloc: Examining big free block at 0x%lX len %d pool %d\n"
+TRCID_       0x3C0C TRACE_MALLOC        "shAlloc: bytesAllocated %d bytesRequested %d duration %d use %d at 0x%lX pool %d labelP 0x%lX\n"
+TRCID_       0x3C0D TRACE_MALLOC        "shAlloc: bytesAllocated %d bytesRequested %d duration %d use %d at 0x%lX pool %d\n"
+TRCID_       0x3C0E TRACE_MALLOC        "Failed to allocate %d bytes duration %d from pool %d\n"
+TRCID_       0x3C0F TRACE_MALLOC        "Freeing memory at 0x%lX back to pool %d\n"
+TRCID_       0x3C10 TRACE_MALLOC        "Freeing memory at 0x%lX back to pool %d failed, mutex err %d\n"
+TRCID_       0x3C11 TRACE_MALLOC        "formatRegion: firstHeaderP 0x%lX freeP 0x%lX len 0x%X lastHeaderP 0x%lX pool %d\n"
+TRCID_       0x3C12 TRACE_MALLOC        "addRegion: minSize %d pool %d\n"
+TRCID_       0x3C13 TRACE_MALLOC        "addToFree: append thisFreeP 0x%lX len %d to prev free block at 0x%lX len %d pool %d\n"
+TRCID_       0x3C14 TRACE_MALLOC        "addToFree: add thisFreeP 0x%lX len %d to free list pool %d\n"
+TRCID_       0x3C15 TRACE_MALLOC        "addToFree: add thisFreeP 0x%lX len %d to big block free list pool %d\n"
+TRCID_       0x3C16 TRACE_MALLOC        "addToFree: merge thisFreeP 0x%lX len %d to next free block at 0x%lX len %d pool %d\n"
+TRCID_       0x3C17 TRACE_MALLOC        "splitLow: allocHeaderP 0x%lX len %d freeHeaderP 0x%lX len %d pool %d\n"
+TRCID_       0x3C18 TRACE_MALLOC        "splitHigh: allocHeaderP 0x%lX len %d freeHeaderP 0x%lX len %d pool %d\n"
+TRCID_       0x3C19 TRACE_MALLOC        "spAllocM: subpool at 0x%lX objSize %d n %d"
+TRCID_       0x3C1A TRACE_MALLOC        "spAllocM exit: request for %d objects with %d in use would exceed limit of %d in subpool 0x%lX"
+TRCID_       0x3C1B TRACE_MALLOC        "spAllocM exit: allocated %d*%d bytes at 0x%lX (0x%lX) from subpool 0x%lX"
+TRCID_       0x3C1C TRACE_MALLOC        "spAllocM exit: failed to allocate %d*%d bytes from subpool 0x%lX err %d"
+TRCID_       0x3C1D TRACE_MALLOC        "spAllocM exit: reached limit of %d objects after allocating %d of %d from subpool 0x%lX"
+TRCID_       0x3C1E TRACE_MALLOC        "spFreeM: free %d*%d bytes at 0x%lX (0x%lX) to subpool 0x%lX\n"
+TRCID_       0x3C1F TRACE_MALLOC        "Global operator new allocated %d bytes at 0x%lX\n"
+TRCID_       0x3C20 TRACE_MALLOC        "Global operator delete called for object at 0x%lX\n"
+TRCID_       0x3C21 TRACE_MALLOC        "Dump of memory block in error at 0x%lX: %s\n"
+TRCID_       0x3C22 TRACE_MALLOC        "  nextBlockP 0x%lX (0x%lX) prevBlockP 0x%lX (0x%lX) (prevP was 0x%lX) payload 0x%lX\n"
+TRCID_       0x3C23 TRACE_MALLOC        "  hSize %d hMagic 0x%X tMagic 0x%X tSize %d\n"
+TRCID_       0x3C24 TRACE_MALLOC        "%s at 0x%lX: %08X %08X %08X %08X :%s:\n"
+TRCID_       0x3C25 TRACE_FSCK          "PageArray::createBackingFile: mapObjects %lld mapSize %lld realSize %lld aSize %lld takeLock %d mapSuggest %lld baseAddress 0x%lX err %d\n"
+TRCID_       0x3C26 TRACE_FSCK          "PageArray::getIJthObject: remap index %lld mapIndex %lld mapObjects %lld offset 0x%llX baseAddress 0x%lX\n"
+TRCID_       0x3C27 TRACE_FSCK          "PageArray::getIJthObject: failed! index %lld mapIndex %lld mapObjects %lld offset 0x%llX code %d\n"
+TRCID_       0x6401 TRACE_LOG           "force enter: LSN 0x%llX\n"
+TRCID_       0x6402 TRACE_LOG           "force exit: LSN 0x%llX err %d\n"
+TRCID_       0x6403 TRACE_LOG           "forceActiveBuffer: validLen %d old nSectors %d new nSectors %d old LSN 0x%llX new LSN 0x%llX\n"
+TRCID_       0x6404 TRACE_LOG           "LogFile::llCreate: disk %d size %d\n"
+TRCID_       0x6405 TRACE_LOG           "LogFile::llCreate: genNum %u inodeNum %d da %d:%lld\n"
+TRCID_       0x6406 TRACE_LOG           "llCreate: err %d\n"
+TRCID_       0x6407 TRACE_LOG           "readLogFileDescriptor: replica %d copy %d da %d:%lld\n"
+TRCID_       0x6408 TRACE_LOG           "readLogFileDescriptor: status %d nLogDataSectorsInUse %d tailSectorOffset %d tailLsn 0x%llX lastLogUser %s\n"
+TRCID_       0x6409 TRACE_LOG           "readLogFileDescriptor: err %d\n"
+TRCID_       0x640A TRACE_LOG           "writeLogFileDescriptor: da %d:%lld status %d nLogDataSectorsInUse %d tailSectorOffset %d tailLsn 0x%llX\n"
+TRCID_       0x640B TRACE_LOG           "writeLogFileDescriptor: err %d\n"
+TRCID_       0x640C TRACE_LOG           "LogFile::create: disk %d size %d\n"
+TRCID_       0x640D TRACE_LOG           "LogFile::create: genNum %u inodeNum %d da %d:%lld\n"
+TRCID_       0x640E TRACE_LOG           "create: err %d\n"
+TRCID_       0x640F TRACE_LOG           "LogFile::destroy: devId %X genNum %u inode %d\n"
+TRCID_       0x6410 TRACE_LOG           "LogFile::destroy exit: genNum %u inode %d, rc %d\n"
+TRCID_       0x6411 TRACE_LOG           "LogFile::migrate entry: sg 0x%X, n log replicas %d\n"
+TRCID_       0x6412 TRACE_LOG           "LogFile::migrate: replica %d at %d:%lld to be removed"
+TRCID_       0x6413 TRACE_LOG           "LogFile::migrate: replica %d at %d:%lld ok"
+TRCID_       0x6414 TRACE_LOG           "LogFile::migrate: replica %d at %d:%lld stale"
+TRCID_       0x6415 TRACE_LOG           "LogFile::migrate: ok %d (want %d) remove %d, writable %d, stale %d, getSpareFailed %d"
+TRCID_       0x6416 TRACE_LOG           "LogFile::migrate exit: sg 0x%X, rc %d\n"
+TRCID_       0x6417 TRACE_LOG           "LogFile::handleIOError: replica %d, error %d, disk index %d, detected in %d, stripe group %s\n"
+TRCID_       0x6418 TRACE_LOG           "LogFile::handleIOError: making disk unavailable\n"
+TRCID_       0x6419 TRACE_LOG           "LogFile::migrateReplica: replacing replica %d at %d:%lld by %d:%lld\n"
+TRCID_       0x641A TRACE_LOG           "LogFile::migrateReplica: change replica %d extent %d from %d:%lld to %d:%lld\n"
+TRCID_       0x641B TRACE_LOG           "LogFile::migrateReplica exit: sg 0x%X, update %d, rc %d\n"
+TRCID_       0x641C TRACE_LOG           "LogFile::removeReplica: removing replica %d at %d:%lld\n"
+TRCID_       0x641D TRACE_LOG           "LogFile::removeReplica exit: sg 0x%X, update %d, rc %d\n"
+TRCID_       0x641E TRACE_LOG           "prepareForIO: skip unavailable replica %d at %d:%lld"
+TRCID_       0x641F TRACE_LOG           "prepareForIO: skip unreadable replica %d at %d:%lld err %d"
+TRCID_       0x6420 TRACE_LOG           "prepareForIO: skip invalid replica %d at %d:%lld"
+TRCID_       0x6421 TRACE_LOG           "prepareForIO: replica %d extent %d da %d:%lld len %d\n"
+TRCID_       0x6422 TRACE_LOG           "prepareForIO: err %d\n"
+TRCID_       0x6423 TRACE_LOG           "openForAppend: sg 0x%X da %d:%lld nBuffers %d bufSize %d\n"
+TRCID_       0x6424 TRACE_LOG           "openForAppend: err %d\n"
+TRCID_       0x6425 TRACE_LOG           "openForRecovery: sg 0x%X da %d:%lld\n"
+TRCID_       0x6426 TRACE_LOG           "openForRecovery: writing partial sector %d LSN 0x%llX to da %d:%lld\n"
+TRCID_       0x6427 TRACE_LOG           "openForRecovery: recoveryNeeded %d err %d"
+TRCID_       0x6428 TRACE_LOG           "getNextRecordType: LSN 0x%llX packedRecType 0x%04x eof %d err %d\n"
+TRCID_       0x6429 TRACE_LOG           "getNextRecord inode_objectVersion %lld\n"
+TRCID_       0x642A TRACE_LOG           "getNextRecord: recLen %d eof %d err %d\n"
+TRCID_       0x642B TRACE_LOG           "advanceToNextReadSector: curSector %d new LSN 0x%llX firstRecOffset %d validLen %d\n"
+TRCID_       0x642C TRACE_LOG           "advanceToNextReadBuffer: next extent %d offset %d nSectors %d LSN 0x%llX\n"
+TRCID_       0x642D TRACE_LOG           "readBuffer: replica %d da %d:%lld nSectors %d err %d buf0\n"
+TRCID_       0x642E TRACE_LOG           "readBuffer: replica %d sector %d LSN 0x%llX expected 0x%llX buf0\n"
+TRCID_       0x642F TRACE_LOG           "readBuffer: replica %d sector %d LSN 0x%llX validLen %d buf1\n"
+TRCID_       0x6430 TRACE_LOG           "readBuffer: replica %d da %d:%lld nSectors %d err %d buf1\n"
+TRCID_       0x6431 TRACE_LOG           "readBuffer: replica %d sector %d LSN 0x%llX expected 0x%llX buf1\n"
+TRCID_       0x6432 TRACE_LOG           "readBuffer: replica %d sector %d LSN 0x%llX validLen %d buf1\n"
+TRCID_       0x6433 TRACE_LOG           "readBuffer err %d logEOF %d\n"
+TRCID_       0x6434 TRACE_LOG           "markAvailable exit: err %d \n"
+TRCID_       0x6435 TRACE_LOG           "Begin recovery for log %d:%lld\n"
+TRCID_       0x6436 TRACE_LOG           "No recovery needed (%d)"
+TRCID_       0x6437 TRACE_LOG           "Recovery opened log %d:%lld err %d recoveryNeeded %d\n"
+TRCID_       0x6438 TRACE_LOG           "LogRecovery::recover sg %s\n"
+TRCID_       0x6439 TRACE_LOG           "Begin recovery pass 1 for log %d:%lld\n"
+TRCID_       0x643A TRACE_LOG           "Pass 1 recType '%s' compKind '%s' LSN 0x%llX\n" $1=LogRecType_id2name $2=CompoundKind_id2name
+TRCID_       0x643B TRACE_LOG           "Begin recovery pass 2 for log %d:%lld; lastCompleteLSN 0x%llX\n"
+TRCID_       0x643C TRACE_LOG           "Pass 2 recType '%s' compKind '%s' LSN 0x%llX\n" $1=LogRecType_id2name $2=CompoundKind_id2name
+TRCID_       0x643D TRACE_LOG           "Recovery complete for log %d:%lld err %d\n"
+TRCID_       0x643E TRACE_LOG           "LogRecovery::getData: handle %d da %d:%lld\n"
+TRCID_       0x643F TRACE_LOG           "LogRecovery::getFreeBuffer: reclaim buffer %d da %d:%lld dirty %d\n"
+TRCID_       0x6440 TRACE_LOG           "LogRecovery::writeBuf: da %d:%lld\n"
+TRCID_       0x6441 TRACE_LOG           "RecoverReplicatedInodeOrLLIndBlock: bad disk addr! (type %s nSectors %d inodeNum %d, lsn 0x%llX)\n" $1=LogRecType_id2name
+TRCID_       0x6442 TRACE_LOG           "RecoverReplicatedInodeOrLLIndBlock: type %s da %d:%lld nSectors %d inodeNum %d, lsn 0x%llX\n" $1=LogRecType_id2name
+TRCID_       0x6443 TRACE_FS            "RecoverReplicatedBlockAndInode: bad disk addr! (type %s nSectors %d inode num %d nSectors %d lsn 0x%llX)\n" $1=LogRecType_id2name
+TRCID_       0x6444 TRACE_LOG           "RecoverReplicatedBlockAndInode: type %s da %d:%lld nSectors %d inode num %d da %d:%lld nSectors %d lsn 0x%llX\n" $1=LogRecType_id2name
+TRCID_       0x6445 TRACE_LOG           "RecoverReplicatedBlockAndInode: dataBlockNum %lld"
+TRCID_       0x6446 TRACE_LOG           "RecoverReplicatedBlockAndInode: bad log record"
+TRCID_       0x6447 TRACE_FS            "RecoverUpdateDone: bad disk addr! (recType %d, lsn 0x%llX)\n"
+TRCID_       0x6448 TRACE_LOG           "RecoverUpdateDone: recType %d, da %d:%lld lsn 0x%llX\n"
+TRCID_       0x6449 TRACE_LOG           "addToLoggedUpdateList: lfP 0x%lX ul 0x%lX nLoggedUpdates %d\n"
+TRCID_       0x644A TRACE_LOG           "removeFromLoggedUpdateList: lfP 0x%lX ul 0x%lX nLoggedUpdates %d\n"
+TRCID_       0x644B TRACE_LOG           "UpdateLogger::beginUpdateOrWrite: what %d da %d:%lld, err %d\n"
+TRCID_       0x644C TRACE_LOG           "UpdateLogger::endUpdate: firstUpdateLsn 0x%llX, lastUpdateLsn 0x%llX\n"
+TRCID_       0x644D TRACE_LOG           "UpdateLogger::beginWrite returning %d\n"
+TRCID_       0x644E TRACE_LOG           "UpdateLogger::endWrite: writeErr %d spoolDoneRec %d\n"
+TRCID_       0x644F TRACE_LOG           "UpdateLogger::spoolDoneRecord: doneRecordReserved %d lastUpdateLsn 0x%llX doneLsn 0x%llX doneRepDA %d:%lld"
+TRCID_       0x6450 TRACE_LOG           "UpdateLogger::spoolDoneRecord exit: err %d, lastUpdateLsn 0x%llX, doneLsn 0x%llX\n"
+TRCID_       0x6451 TRACE_LOG           "LogWrapRtn: thread 0x%X (%s) begins pass 1.\n" $2=Thread_id2name
+TRCID_       0x6452 TRACE_LOG           "LogWrapRtn: thread 0x%X (%s) flushed 0x%lX.\n" $2=Thread_id2name
+TRCID_       0x6453 TRACE_LOG           "LogWrapRtn: thread 0x%X (%s) flushed %d pass 1.\n" $2=Thread_id2name
+TRCID_       0x6454 TRACE_LOG           "LogWrapRtn: thread 0x%X (%s) begins pass 2.\n" $2=Thread_id2name
+TRCID_       0x6455 TRACE_LOG           "LogWrapRtn: thread 0x%X (%s) flushed %d pass 2.\n" $2=Thread_id2name
+TRCID_       0x6456 TRACE_LOG           "InodeRecoveryList::addInode: inode %d, snap %d, flags %d, err %d\n"
+TRCID_       0x6457 TRACE_LOG           "InodeRecoveryList::processInodes: nInodes %d\n"
+TRCID_       0x6458 TRACE_LOG           "processing inode %d snap %d, dataUpdateMiss %d, metaUpdateMiss %d\n"
+TRCID_       0x6459 TRACE_LOG           "InodeRecoveryList::processInodes: err %d\n"
+TRCID_       0x645A TRACE_LOG           "InodeRecoveryList::addInodeAndIndBlock: inode %d, snap %d, flags %d blk %lld"
+TRCID_       0x645B TRACE_LOG           "InodeRecoveryList::addInodeAndIndBlock: inode %d err %d"
+TRCID_       0x645C TRACE_LOG           "InodeRecoveryList::processIndBlocksForInode: inode %d, irlEntryP 0x%X"
+TRCID_       0x645D TRACE_LOG           "InodeRecoveryList::processIndBlocksForInode: inode %d err %d"
+TRCID_       0x645E TRACE_LOG           "thread %d force 0x%llX\n"
+TRCID_       0x645F TRACE_LOG           "thread %d append1 %d\n"
+TRCID_       0x6460 TRACE_LOG           "thread %d append2 %d len %d\n"
+TRCID_       0x6461 TRACE_LOG           "rec test: %s\n"
+TRCID_       0x6462 TRACE_LOG           "rec test: %s\n"
+TRCID_       0x6463 TRACE_LOG           "rec test: %s\n"
+TRCID_       0x6464 TRACE_LOG           "LWH.classInit: completed\n"
+TRCID_       0x6465 TRACE_LOG           "LWH.classTerm: begins\n"
+TRCID_       0x6466 TRACE_LOG           "LWH.classTerm: waiting for Thread%d 0x%lX to terminate.\n"
+TRCID_       0x6467 TRACE_LOG           "LWH.classTerm: exit\n"
+TRCID_       0x6468 TRACE_LOG           "LWH.newWrapBuf: giving out buffer%d 0x%lX\n"
+TRCID_       0x6469 TRACE_LOG           "LWH.deleteWrapBuf: buffer%d 0x%lX %s\n"
+TRCID_       0x646A TRACE_LOG           "LWH.startHelper: starting thread%d 0x%lX\n"
+TRCID_       0x646B TRACE_LOG           "LWH.startHelper: starting %d threads"
+TRCID_       0x646C TRACE_LOG           "LWH.waitForWork: thread%d 0x%lX waiting\n"
+TRCID_       0x646D TRACE_LOG           "LWH.waitForWork: thread%d 0x%lX resumes for %s\n"
+TRCID_       0x646E TRACE_LOG           "helpLogWrap: Wrap failed for log %d:%lld err %d stripe group %s panic\n"
+TRCID_       0x646F TRACE_LOG           "wrapLogInternal enter: LogFile %d:%lld what %d newTail 0x%llX\n"
+TRCID_       0x6470 TRACE_LOG           "Calling log wrap routine for LogFile %d:%lld\n"
+TRCID_       0x6471 TRACE_LOG           "Return from log wrap routine for LogFile %d:%lld err %d\n"
+TRCID_       0x6472 TRACE_LOG           "Wrap failed for log %d:%lld err %d stripe group %s panic\n"
+TRCID_       0x6473 TRACE_LOG           "LogFile::reserve enter: type '%s' resSize %d varLen %d recLen %d free %d reserved %d\n" $1=LogRecType_id2name
+TRCID_       0x6474 TRACE_LOG           "LogFile::releaseReservation enter: type '%s' resSize %d varLen %d nRecs %d free %d reserved %d\n" $1=LogRecType_id2name
+TRCID_       0x6475 TRACE_LOG           "setTail: new tailLsn 0x%llX reserved %d increasing free bytes from %d to %d\n"
+TRCID_       0x6476 TRACE_LOG           "append enter: type '%s' kind '%s' flags 0x%02X maxLen %d\n" $1=LogRecType_id2name $2=CompoundKind_id2name
+TRCID_       0x6477 TRACE_LOG           "append: LSN 0x%llX buffer %d lowLsn 0x%llX nSectors %d\n"
+TRCID_       0x6478 TRACE_LOG           "append: LSN 0x%llX curSector %d sectorLsn 0x%llX curOffset %d firstRecOffset %d spaceLeftInSector %d\n"
+TRCID_       0x6479 TRACE_LOG           "LogFile::append inode_objectVersion %lld\n"
+TRCID_       0x647A TRACE_LOG           "append exit: type %s len %d maxLen %d LSN 0x%llX free %d reserved %d err %d\n" $1=LogRecType_id2name
+TRCID_       0x647B TRACE_LOG           "advanceToNextWriteSector: curBufferIndex %d curSector %d new LSN 0x%llX\n"
+TRCID_       0x647C TRACE_LOG           "writebehindThreadBody: bufIndex %d nSectors %d LSN 0x%llX\n"
+TRCID_       0x647D TRACE_LOG           "Write failed for log %d:%lld err %d stripe group %s panic\n"
+TRCID_       0x647E TRACE_LOG           "advanceToNextWriteBuffer: curIndex %d nextIndex %d next extent %d offset %d nSectors %d LSN 0x%llX\n"
+TRCID_       0x647F TRACE_LOG           "getLastLsn exit: LSN 0x%llX\n"
+TRCID_       0x6480 TRACE_LOG           "getLastDoneLsn exit: LSN 0x%llX\n"
+TRCID_       0x6481 TRACE_LOG           "getNextLsn exit: LSN 0x%llX\n"
+TRCID_       0x6482 TRACE_LOG           "getForceLsn exit: LSN 0x%llX\n"
+TRCID_       0x6801 TRACE_PERFMON       "Creating a Perfmon Table\n"
+TRCID_       0x6802 TRACE_PERFMON       "Done creating a Perfmon Table, ver = %d\n"
+TRCID_       0x6803 TRACE_PERFMON       "Null entry for deleting\n"
+TRCID_       0x7001 TRACE_DISK          "Bad stripe group descriptor: magic 0x%08X.\n"
+TRCID_       0x7002 TRACE_DISK          "Bad stripe group descriptor size\n"
+TRCID_       0x7003 TRACE_DISK          "Bad stripe group descriptor checksum\n"
+TRCID_       0x7004 TRACE_DISK          "Bad stripe group descriptor: curFmtVersion %d, sgState 0x%X.\n"
+TRCID_       0x7005 TRACE_DISK          "Bad stripe group descriptor: trailer size %d\n"
+TRCID_       0x7006 TRACE_DISK          "readFromBuf: maxPool %d"
+TRCID_       0x7007 TRACE_DISK          "readFromBuf: diskIndex %d poolId %d"
+TRCID_       0x7008 TRACE_DISK          "Bad stripe group descriptor: poolId %d max %d\n"
+TRCID_       0x7009 TRACE_DISK          "readFromBuf[%d]: poolId %d name '%s' status %s map %d sum %d"
+TRCID_       0x700A TRACE_DISK          "Inconsistent file system quorum. readQuorum=%d writeQuorum=%d quorumSize=%d.\n"
+TRCID_       0x700B TRACE_DISK          "Bad stripe group descriptor or sector size: magic 0x%08X, curFmtVersion %d, sectorSize %d, disk %s.\n"
+TRCID_       0x700C TRACE_DISK          "Bad stripe group descriptor or sector size: magic 0x%08X, curFmtVersion %d, sectorSize %d, disk %s.\n"
+TRCID_       0x700D TRACE_DISK          "DescReadList::read: err %d, version %d, was cached %d @%lX, disk name %s\n"
+TRCID_       0x700E TRACE_DISK          "SGDesc version %d @%lX read quorum {%d,%d}, write quorum {%d,%d}\n"
+TRCID_       0x700F TRACE_DISK          "  replica in catalog: quorumWeight {%d,%d}\n"
+TRCID_       0x7010 TRACE_DISK          "  replica on disk %d: quorumWeight {%d,%d}, name %s\n"
+TRCID_       0x7011 TRACE_DISK          "readSGDesc: nSeedDisks %d, sgP 0x%lX, readAll %d"
+TRCID_       0x7012 TRACE_DISK          "readSGDesc: Using seed disk -1, name catalog"
+TRCID_       0x7013 TRACE_DISK          "readSGDesc: Using seed disk #%d, name %s"
+TRCID_       0x7014 TRACE_DISK          "readSGDesc: Disk %s has been excluded"
+TRCID_       0x7015 TRACE_DISK          "readSGDesc: reqOverrideWeight [%d %d]  exclWeight [%d %d]"
+TRCID_       0x7016 TRACE_DISK          "readSGDesc: quorum [%d %d]  quorumLatest [%d %d]"
+TRCID_       0x7017 TRACE_DISK          "readSGDesc: read quorum value [%d %d]"
+TRCID_       0x7018 TRACE_DISK          "readSGDesc: rc %d version %d status 0x%X nDiskItems %d nLogItems %d"
+TRCID_       0x7019 TRACE_DISK          "sgdesc::write to disk %s, bufP 0x%08X size %d\n"
+TRCID_       0x701A TRACE_DISK          "writeToBuf(bufP=0x%08X nBytes=%d bufSize=%d\n"
+TRCID_       0x701B TRACE_DISK          "WriteSGDescWork: skipping excluded disk %s"
+TRCID_       0x701C TRACE_DISK          "WriteSGDescWork: err %d writing disk name %s\n"
+TRCID_       0x701D TRACE_DISK          "writeToSomeDisks: nDisks %d"
+TRCID_       0x701E TRACE_DISK          "writeToSomeDisks: rc %d"
+TRCID_       0x701F TRACE_DISK          "writeSome: Disk %s has been excluded"
+TRCID_       0x7020 TRACE_DISK          "StripeGroupDesc::writeSome: err %d writing disk name %s\n"
+TRCID_       0x7021 TRACE_DISK          "writeSome: reqOverrideWeight [%d %d]  exclWeight [%d %d]"
+TRCID_       0x7022 TRACE_DISK          "writeSome: quorum [%d %d]"
+TRCID_       0x7023 TRACE_DISK          "writeSome: write quorum value [%d %d]"
+TRCID_       0x7024 TRACE_DISK          "writeSGDesc: new version %d, old version on disk %d, flags 0x%X, writeQuorum %d"
+TRCID_       0x7025 TRACE_DISK          "writeSGDesc: rc %d"
+TRCID_       0x7026 TRACE_ERRLOG        "SGDesc::operator == : strings not equal for field %s.\n"
+TRCID_       0x7027 TRACE_ERRLOG        "                      string1 at 0x%lX '%s'\n"
+TRCID_       0x7028 TRACE_ERRLOG        "                      string2 at 0x%lX '%s'\n"
+TRCID_       0x7029 TRACE_ERRLOG        "SGDesc::operator == : %d != %d for field %s.\n"
+TRCID_       0x702A TRACE_ERRLOG        "SGDesc::operator == : %d != %d for field %s.\n"
+TRCID_       0x702B TRACE_ERRLOG        "SGDesc::operator == : %d != %d for field %s.\n"
+TRCID_       0x702C TRACE_ERRLOG        "SGDesc::operator == : %08X %08X != %08X %08X for field %s.\n"
+TRCID_       0x702D TRACE_DISK          "calcSG2 disk %d status %d poolId %d data %d meta %d fg %d"
+TRCID_       0x702E TRACE_DISK          "calcSG2 poolId %d %s nDisks %d %d fBlks %lld %lld data %d fgs %d meta %d fgs %d"
+TRCID_       0x702F TRACE_DISK          "copyDisk %s type %s uid=%08X:%08X stat %s avail %s holds %s quorum={%d,%d} seg=%d\n"
+TRCID_       0x7030 TRACE_DISK          "SGDesc::update: configVersion %d->%d, tschfs %d logData %d diskData %d\n"
+TRCID_       0x7031 TRACE_FS            "SGDesc::update: created new FilesetMetadata at 0x%lX, old metadata file inode %d, new %d"
+TRCID_       0x7032 TRACE_DISK          "SGDesc::update: snapVersion %d->%d nItems %d max %d maxId %d\n"
+TRCID_       0x7033 TRACE_DISK          " snap %d status %s mountId %d da %d:%lld dir %s\n"
+TRCID_       0x7034 TRACE_DISK          " snap %d inode0 DA from n=%d [0]=%d:%lld to n=%d [0]=%d:%lld\n"
+TRCID_       0x7035 TRACE_DISK          "pool[%d] poolId %d %d stat %d %d nReg %d %d map %d %d sum %d %d"
+TRCID_       0x7036 TRACE_DISK          "SGDesc::update diskData %d status %d freeSpace %d mustInval %d\n"
+TRCID_       0x7037 TRACE_DISK          "allocSharedName 0x%lX len %d '%s'"
+TRCID_       0x7038 TRACE_DISK          "freeSharedName 0x%lX"
+TRCID_       0x7039 TRACE_DISK          "SGDesc::setMaxSnapItems %d -> %d, current %d\n"
+TRCID_       0x703A TRACE_DISK          "SGDesc::setMaxSnapItems complete, max %d err %d\n"
+TRCID_       0x703B TRACE_DISK          "SGDesc::migrate: old quorums: read %d write %d, size %d susp %d unavail %d groups %d\n"
+TRCID_       0x703C TRACE_DISK          "SGDesc::migrate: new quorums: read %d write %d, size %d susp %d unavail %d groups %d\n"
+TRCID_       0x703D TRACE_DISK          "SGDesc::migrate: assignments changed %d, rc %d\n"
+TRCID_       0x703E TRACE_DISK          "PropagateSGDescWork: err %d writing disk %d name %s\n"
+TRCID_       0x703F TRACE_DISK          "StripeGroupDesc::propagateSGDesc: enter (descMigratePending %d)"
+TRCID_       0x7040 TRACE_DISK          "propagateSGDesc: error %d on disk %d"
+TRCID_       0x7041 TRACE_DISK          "propagateSGDesc: mark disk %d down (err %d)"
+TRCID_       0x7042 TRACE_DISK          "StripeGroupDesc::propagateSGDesc: exit rc %d"
+TRCID_       0x7043 TRACE_DISK          "StripeGroupDesc::repairSGDesc: enter"
+TRCID_       0x7044 TRACE_DISK          "StripeGroupDesc::repairSGDesc: exit rc %d"
+TRCID_       0x7045 TRACE_DISK          "doReplicatedRead: da %d:%lld returning E_PANIC\n"
+TRCID_       0x7046 TRACE_DISK          "doReplicatedRead: da %d:%lld\n"
+TRCID_       0x7047 TRACE_DISK          "doReplicatedRead: da %d:%lld not avail for recovery: fcv %d availability %s\n"
+TRCID_       0x7048 TRACE_DISK          "doReplicatedWrite: da %d:%lld returning E_PANIC\n"
+TRCID_       0x7049 TRACE_DISK          "doReplicatedWrite: da %d:%lld returning E_PANIC\n"
+TRCID_       0x704A TRACE_DISK          "doReplicatedWrite: Error %d in stripe group devId %08lX on disk %s; making disk unavailable\n"
+TRCID_       0x704B TRACE_DISK          "allDisks got set to true via cmd, restart discovery\n"
+TRCID_       0x704C TRACE_DISK          "useStripeGroup: devId %08lX: useCount now %d name %s\n"
+TRCID_       0x704D TRACE_DISK          "useStripeGroup fail: flags 0x%X err %d\n"
+TRCID_       0x704E TRACE_DISK          "SG DoNodeFailureRecovery: devId %08lX: useCount now %d\n"
+TRCID_       0x704F TRACE_SP            "hasFSMountedInDaemon exit nMounts %d\n"
+TRCID_       0x7050 TRACE_DISK          "SG completeDeleteDisks: entered\n"
+TRCID_       0x7051 TRACE_DISK          "SG completeDeleteDisks: complete err %d\n"
+TRCID_       0x7052 TRACE_SP            "StripeGroup::handleNodeFailurePhase1: sgMgr %s sgMgrFailed %d SG %s" $1=nodeaddr_id2name
+TRCID_       0x7053 TRACE_FSCK          "StripeGroup::handleNodeFailurePhase1: mgr for %s failed. Stop fsck alloc msgs.\n"
+TRCID_       0x7054 TRACE_SANERGY       "setSANergyExport(%d) sgId %08X:%08X, SANergyExport %d ret err %d\n"
+TRCID_       0x7055 TRACE_FS            "addSnapItem: dir %s nItems %d Id %d localId %d mountId %d err %d\n"
+TRCID_       0x7056 TRACE_FS            "delSnapItem: snapId %d nItems %d err %d\n"
+TRCID_       0x7057 TRACE_FS            "Snap %d status %s name %s da %s found.\n"
+TRCID_       0x7059 TRACE_FS            "setSnapItem snapId %d status %s inodeDA %s name %s valSnapId %d\n"
+TRCID_       0x705A TRACE_FS            "setSnapItem: valSnapId %d (%d) status %s dir %s being set to VALID\n"
+TRCID_       0x705B TRACE_FS            "setSnapItem: Id %d (%d) status %s dir %s da %d:%lld, err %d\n"
+TRCID_       0x705C TRACE_FS            "             xattr %d user %d group %d fileset %d\n"
+TRCID_       0x705D TRACE_FS            "StripeGroup::isBeingRestored() sg %s returns %d id %d %s\n"
+TRCID_       0x705E TRACE_FS            "openSnapshotFile snapId %d da %d:%lld open %d reopen %d retry %d"
+TRCID_       0x705F TRACE_FS            "openSnapshotFile snapId %d reopen %d llopen err %d "
+TRCID_       0x7060 TRACE_FS            "openSnapshotFile complete snapId %d snapFileP=0x%lX open %d err %d"
+TRCID_       0x7061 TRACE_FS            "Failed to locate snapshot for snapId %d\n"
+TRCID_       0x7062 TRACE_FS            "Get snapshot inode0 for snapId %d returns 0x%lX err %d"
+TRCID_       0x7063 TRACE_FS            "openFilesetFile open %d snapId %d inodeNum %d open %d reopen %d snapStatus %s retry %d"
+TRCID_       0x7064 TRACE_FS            "openFilesetFile inode %d snapId %d llopen err %d"
+TRCID_       0x7065 TRACE_FS            "openFilesetFile complete snapId %d filesetFileP=0x%lX open %d err %d"
+TRCID_       0x7066 TRACE_FS            "getFilesetFileP snapId %d open %d"
+TRCID_       0x7067 TRACE_FS            "getFilesetFileP snapId %d complete llFileP 0x%X err %d"
+TRCID_       0x7068 TRACE_FS            "purgeFilesetFile for snapId %d"
+TRCID_       0x7069 TRACE_FS            "purgeFilesetFile for snapId %d complete err %d"
+TRCID_       0x706A TRACE_FS            "destroyFilesetFile for snapId %d prevSnapId %d"
+TRCID_       0x706B TRACE_TS            "destroyFilesetFile prev snap %d has no file desc!\n"
+TRCID_       0x706C TRACE_TS            "destroyFilesetFile copyInode %d snap %d to %d err %d"
+TRCID_       0x706D TRACE_TS            "destroyFilesetFile move block %d snap %d to %d err %d"
+TRCID_       0x706E TRACE_FS            "destroyFilesetFile for snapId %d complete err %d"
+TRCID_       0x706F TRACE_FS            "Get snapshot inode0 for snapId %d fileset 0x%lX returns 0x%lX err %d"
+TRCID_       0x7070 TRACE_FS            "Delete inode0 file for snapshot %d\n"
+TRCID_       0x7071 TRACE_FS            "Failed to locate snapshot for snapId %d\n"
+TRCID_       0x7072 TRACE_FS            "Delete inode0 file for snapshot %d complete err %d\n"
+TRCID_       0x7073 TRACE_FS            "Get prev snapshot failed to locate snapId=%d\n"
+TRCID_       0x7074 TRACE_FS            "Get prev snapshot to snapId=%d returns snap=%d status %s\n"
+TRCID_       0x7075 TRACE_FS            "Get next snapshot failed to locate snapId=%d\n"
+TRCID_       0x7076 TRACE_FS            "Get next snapshot to snapId=%d returns snap=%d status %s\n"
+TRCID_       0x7077 TRACE_FS            "getNextSnapshot: snapId %d fileset %d nextSnapId %d llfP 0x%lX err %d"
+TRCID_       0x7078 TRACE_FS            "setSnapExec snap %d exec %d\n"
+TRCID_       0x7079 TRACE_FS            "setSnapLatest %s latest \"%s\"\n"
+TRCID_       0x707A TRACE_FS            "setSnaplinkName(\"%s\", %d)"
+TRCID_       0x707B TRACE_FS            "getSnapXAttrFileInode snap %d returns inode %d\n"
+TRCID_       0x707C TRACE_FS            "setSnapXAttrFileInode snap %d inode %d\n"
+TRCID_       0x707E TRACE_FS            "initStoragePools max %d"
+TRCID_       0x707F TRACE_FS            "initStoragePools poolId %d name '%s' nAlloc %d nSeg %d nBytes %d inode %d subs %d"
+TRCID_       0x7080 TRACE_FS            "createStoragePool %s max %d unused %d"
+TRCID_       0x7081 TRACE_FS            "createStoragePool %s returns poolId %d (0x%X) err %d"
+TRCID_       0x7082 TRACE_FS            "deleteStoragePool %d name '%s' nDisks %d inUse %d"
+TRCID_       0x7083 TRACE_FS            "createNewSnapItem: snapP 0x%lX snapId %d nSGSnapItems %d err %d\n"
+TRCID_       0x7084 TRACE_FS            "setMaxSnapId: current maxSnapId %d new %d\n"
+TRCID_       0x7085 TRACE_FS            "decNSnapItems: current nSGSnapItems %d\n"
+TRCID_       0x7086 TRACE_FS            "cacheExclDiskList: %s"
+TRCID_       0x7087 TRACE_FS            "cacheExclDiskList: rc %d"
+TRCID_       0x7088 TRACE_DISK          "openSG: sgname in mmsdrfs %s, name on descriptor %s will change back\n"
+TRCID_       0x7089 TRACE_DISK          "OpenSG: writeSGDescAndBcast failed to update name to mmsdrfs\n"
+TRCID_       0x708A TRACE_DISK          "SG BeginUse: devId %08lX: useCount now %d\n"
+TRCID_       0x708B TRACE_DISK          "SG EndUse: devId %08lX useCount %d vfsUsers %d: signalling exception handler thread to complete EndUse"
+TRCID_       0x708C TRACE_DISK          "SG EndUse: devId %08lX: useCount now %d, vfsUsers %d keepObject %d"
+TRCID_       0x708D TRACE_DISK          "SG EndUse: devId %08lX: delay cleanup after CloseFSPrepare"
+TRCID_       0x708E TRACE_DISK          "SG EndUse: devId %08lX: file system closed; use count now %d\n"
+TRCID_       0x708F TRACE_DISK          "SG EndUse: devId %08lX: useCount after SGUmount %d\n"
+TRCID_       0x7090 TRACE_DISK          "SG EndUse: devId %08lX: useCount after resigning as sg mgr %d\n"
+TRCID_       0x7091 TRACE_SANERGY       "StripeGroup::cleanup sanMdcConfigP 0x%X, SANergyExport %d\n"
+TRCID_       0x7092 TRACE_DISK          "SGPanic(devId %08lX, panicked %d, reason %d): rc %d, reason %d, at line %d in %s\n"
+TRCID_       0x7093 TRACE_TS            "SGRaiseException(%s), devId %08lX: needsExceptionProcessing %d" $1=SGException_id2name
+TRCID_       0x7094 TRACE_TS            "SGRaiseException(%s): devId %08lX: useCount now %d" $1=SGException_id2name
+TRCID_       0x7095 TRACE_DISK          "readFromBuf: snapitem %d %s %s snapId %d QFInodes %d %d %d"
+TRCID_       0x7096 TRACE_FS            "getSnapItem snap %d xattr %d user %d group %d fileset %d err %d"
+TRCID_       0x7097 TRACE_FS            "destroyFilesetFile inode not allocated"
+TRCID_       0x7098 TRACE_FS            "getSnapshotFileP snapId %d forcing reopen (reopen was %d)"
+TRCID_       0x7099 TRACE_FS            "openFilesetFile inode %d snapId %d reopening file"
+TRCID_       0x709A TRACE_CMD           "tschfs: total_subblks_system %lld total_space_system %lld total_subblks %lld total_space %lld total_space_other_pools %lld\n"
+TRCID_       0x709B TRACE_CMD           "tschfs: max_inodes_other_pools %lld max_inodes_system %lld\n"
+TRCID_       0x709C TRACE_CMD           "tschfs: leftover_space_for_system %lld remaining_inodes_for_system %lld\n"
+TRCID_       0x709D TRACE_CMD           "tschfs: calc max %lld\n"
+TRCID_       0x709E TRACE_CMD           "tschfs: maxInodesInInodeFile %lld nInodes64 %lld reportedMaxInodesInInodeFile %lld\n"
+TRCID_       0x709F TRACE_CMD           "tschfs: newMaxNumInodes %lld numInodesToPrealloc %d\n"
+TRCID_       0x70A0 TRACE_CMD           "tschfs: expanding from %d to %d\n"
+TRCID_       0x8801 TRACE_DMAPI         "dmSessionsAtNode::dmSessionsAtNode: session node %s, sessid %s\n" $1=nodeaddr_id2name
+TRCID_       0x8802 TRACE_DMAPI         "dmSessionsAtNode::dmSessionsAtNode: sessinfo %s \n"
+TRCID_       0x8803 TRACE_DMAPI         "AddSessionToList: Num sessions in list %d, session node %s, sessid %s\n" $2=nodeaddr_id2name
+TRCID_       0x8804 TRACE_DMAPI         "AddSessionToList: sessinfo %s \n"
+TRCID_       0x8805 TRACE_DMAPI         "ResumeSession: err %d, Node %s, *regformountP %d, *abortRecP %d, *abortRecNodeP %s, oldsid %s\n" $2=nodeaddr_id2name $5=nodeaddr_id2name
+TRCID_       0x8806 TRACE_DMAPI         "ResumeSession: sessinfoP %s\n"
+TRCID_       0x8807 TRACE_DMAPI         "GetSessInfoP:sid %s, status %08X\n"
+TRCID_       0x8808 TRACE_DMAPI         "SessP sid %llX, status %08X\n"
+TRCID_       0x8809 TRACE_DMAPI         "GetSessInfoP exit:err %d\n"
+TRCID_       0x880A TRACE_DMAPI         "AddEventToSessionNodeQueue: repost %d, event node %s, event status %d, sid %s\n" $2=nodeaddr_id2name
+TRCID_       0x880B TRACE_DMAPI         "AddEventToSessionNodeQueue: resume in progress, sid %s\n"
+TRCID_       0x880C TRACE_DMAPI         "AddEventToSessionNodeQueue: sid %s reposted event\n"
+TRCID_       0x880D TRACE_DMAPI         "SetMountDisp: sid %s node %s %s, %s\n"
+TRCID_       0x880E TRACE_DMAPI         "dmSessionsAtNode::RemoveSessionFromList enter: sid 0x%llX node %s\n"
+TRCID_       0x880F TRACE_DMAPI         "dmSessionsAtNode::RemoveSessionFromList: SessP->sid 0x%llX SessP->node %s\n"
+TRCID_       0x8810 TRACE_DMAPI         "dmSessionsAtNode::RemoveSessionFromList exit: err %d\n"
+TRCID_       0x8811 TRACE_DMAPI         "RemoveThisSessionFromList: before removal num of sessions %d, %s %s\n"
+TRCID_       0x8812 TRACE_DMAPI         "GetAllSid: number of sessions %d\n"
+TRCID_       0x8813 TRACE_DMAPI         "GetAllSessRegForMount: node %s num %d, sid %s\n" $1=nodeaddr_id2name
+TRCID_       0x8814 TRACE_DMAPI         "GetAllSessRegAndNotRegForMount: sid %s, node %s, numreg %d. session %s, info %s\n"
+TRCID_       0x8815 TRACE_DMAPI         "GetAllFailedSessForNode (node %s): sid %s, sessinfo %s, %s, num %d\n"
+TRCID_       0x8816 TRACE_DMAPI         "dm_sessmgr_takeover_query: isLocalNode %d\n"
+TRCID_       0x8817 TRACE_DMAPI         "dmTakeoverQuery: num %d, sid %s, sessinfo %s, %s, status %d\n"
+TRCID_       0x8818 TRACE_DMAPI         "err = %di, sid %s\n"
+TRCID_       0x8819 TRACE_DMAPI         "oldsid %s, sessinfo %s, %s\n"
+TRCID_       0x881A TRACE_DMAPI         "SFSdmCreateSession: Add session to sessions list in the session mgr\n"
+TRCID_       0x881B TRACE_DMAPI         "SFSdmCreateSession: sessinfop %s dontChangeStr %d \n"
+TRCID_       0x881C TRACE_DMAPI         "SFSdmCreateSession: Added session sess mgr. Session id is %s\n"
+TRCID_       0x881D TRACE_DMAPI         "(node %s) session %s recovered, a message was sent to resend events\n" $1=nodeaddr_id2name
+TRCID_       0x881E TRACE_DMAPI         "SFSdmDestroySession: Delete session from list in the session mgr\n"
+TRCID_       0x881F TRACE_DMAPI         "SFSdmDestroySession: Session id %s is removed from session mgr.\n"
+TRCID_       0x8820 TRACE_DMAPI         "dmGetSessRecoveryInfo: num sessions in kx is %d\n"
+TRCID_       0x8821 TRACE_DMAPI         "kernel sessions: id %llX, regfor mount %s, info %s\n"
+TRCID_       0x8822 TRACE_DMAPI         "dmGetSessRecoveryInfo: numRecSess %d\n"
+TRCID_       0x8823 TRACE_DMAPI         "dmGetSessRecoveryInfo: dmSessionsP created\n"
+TRCID_       0x8824 TRACE_DMAPI         "dmGetSessRecoveryInfo: totalNumSessions %d\n"
+TRCID_       0x8825 TRACE_DMAPI         "SFSdmSetDisp: %s mount disp: sid %s, token = 0x%08X-%08X-%08X-%08X eventlist %X\n"
+TRCID_       0x8826 TRACE_DMAPI         "SFSdmSetDisp: Set SG disp : sid %s, token = 0x%08X-%08X-%08X-%08X eventlist %X, sgId %s \n"
+TRCID_       0x8827 TRACE_DMAPI         "dmSGInfo::dmDispChanged: send disp change to %s (sg manager) for sg %s\n" $1=nodeaddr_id2name
+TRCID_       0x8828 TRACE_DMAPI         "SGMgrData::dmUpdateSgmgrDisp: Disp changed, send disp to %d mounted nodes (At sg %s mgr)\n"
+TRCID_       0x8829 TRACE_DMAPI         "SGMgrData::dmUpdateSgmgrDisp: exit. err %d\n"
+TRCID_       0x882A TRACE_DMAPI         "SFSdmGetAllDisp: err %d, dispBufP 0x%lX, buflen %llu, rlen %llu sid %s\n"
+TRCID_       0x882B TRACE_DMAPI         "dmHandleBcastMountDisp: msglen %d, numreg %d, num %d\n"
+TRCID_       0x882C TRACE_DMAPI         "dmUpdateRegForMountList: isSet= %s, num = %d, removeSess = %s, FSP->dmNumAllocated= %d, FSP->dmNumSess = %d FSP->dmNumSessRegForMount = %d\n"
+TRCID_       0x882D TRACE_DMAPI         "dmUpdateRegForMountList:sessLocP->Id 0x%llX sessLocP->Node %s\n"
+TRCID_       0x882E TRACE_DMAPI         "dmUpdateRegForMountList:FSP->dmSessRegForMountP[%d].Id 0x%llX node %s cachedTokensP 0x%08lX (0x%08lX)\n"
+TRCID_       0x882F TRACE_DMAPI         "dmUpdateRegForMountList: index %d\n"
+TRCID_       0x8830 TRACE_DMAPI         "dmUpdateRegForMountList: remove index j %d cachedTokensP 0x%08lX (0x%08lX)\n"
+TRCID_       0x8831 TRACE_DMAPI         "dmUpdateRegForMountList:cachedTokensP 0x%08lX (0x%08lX) sess->cachedTokensP 0x%08lX (0x%08lX)\n"
+TRCID_       0x8832 TRACE_DMAPI         "dmUpdateRegForMountList: newCachedTokensP 0x%08lX dmCachedTokensP 0x%08lX (0x%08lX)\n"
+TRCID_       0x8833 TRACE_DMAPI         "SendNewMountDisp: numreg %d, num %d, send new mount disp to %d nodes. removeSess = %s\n"
+TRCID_       0x8834 TRACE_DMAPI         "SFSdmSetSGEventlist: sid %s, token = 0x%08X-%08X-%08X-%08X eventlist %X, sgId %s (Message to stripe group manager will go through session manager)\n"
+TRCID_       0x8835 TRACE_DMAPI         "SFSdmSetSGEventlist: sid %s, token = 0x%08X-%08X-%08X-%08X eventlist %X, sgId %s (Message will be sent directly to stripe group manager)\n"
+TRCID_       0x8836 TRACE_DMAPI         "StripeGroup::dmSendSGEventList: Changing eventlist to %X, This node is stripe group manager (sgId %s)\n"
+TRCID_       0x8837 TRACE_DMAPI         "StripeGroup::dmSendSGEventList: Sending eventlist %X to node %s (stripe group manager sgId %s\n" $2=nodeaddr_id2name
+TRCID_       0x8838 TRACE_DMAPI         "dmSGInfo::sgmgrSetOrGetEventlist: eventlist %X, In session manager. node %s (stripe group manager for %s)\n" $2=nodeaddr_id2name
+TRCID_       0x8839 TRACE_DMAPI         "dmSGInfo::sgmgrSetOrGetEventlist: exit : eventlist %X,  err %d (%s)\n"
+TRCID_       0x883A TRACE_DMAPI         "SFSdmGetSGEventlist: sid %s, token = 0x%08X-%08X-%08X-%08X,  sgId %s (Message to stripe group manager will go through session manager)\n"
+TRCID_       0x883B TRACE_DMAPI         "SFSdmGetSGEventlist: sid %s, token = 0x%08X-%08X-%08X-%08X,  sgId %s eventlist is taken from sgDesc on the node\n"
+TRCID_       0x883C TRACE_DMAPI         "eventlist %X, err %d\n"
+TRCID_       0x883D TRACE_DMAPI         "SFSdmSetFEEventlist: sid %s, eventlist %X, token = 0x%08X-%08X-%08X-%08X,  File : inode %d, generation 0x%X stripegroup %s\n"
+TRCID_       0x883E TRACE_DMAPI         "SFSdmSetFEEventlist: exit: err %d, eventlist %X, token = %s,  File : inode %d, generation 0x%X sgId %s\n"
+TRCID_       0x883F TRACE_DMAPI         "FileMetadata::dmSetFEventList: inode %d, generation 0x%X, Need to update xattr file (some events are set) eventlist %X sgId %s\n"
+TRCID_       0x8840 TRACE_DMAPI         "FileMetadata::dmSetFEventList: inode %d, generation 0x%X. Need to remove eventlist from xattr file. eventlist %X, neweventlistsummary %X sgId %s\n"
+TRCID_       0x8841 TRACE_DMAPI         "FileMetadata::dmSetFEventList: err %d. inode %d, generation 0x%X. eventlist %X neweventlist %X sgId %s\n"
+TRCID_       0x8842 TRACE_DMAPI         "SFSdmGetFEEventlist: sid %s, token = 0x%08X-%08X-%08X-%08X,  File : inode %d, generation 0x%X stripegroup %s\n"
+TRCID_       0x8843 TRACE_DMAPI         "SFSdmGetFEEventlist: exit: err %d, eventlist %X, token = %s,  File : inode %d, generation 0x%X sgId %s\n"
+TRCID_       0x8844 TRACE_DMAPI         "FileMetadata::dmGetFEventList: sgId %s, inode %d, generation 0x%X. eventlistsummary %X readeventsummary %X, writeevenetsummary %X, truncateeventsummary %X, accessXattr = %s\n"
+TRCID_       0x8845 TRACE_DMAPI         "FileMetadata::dmGetFEventList: err %d. inode %d, generation 0x%X. eventlist %X, sgId %s\n"
+TRCID_       0x8846 TRACE_DMAPI         "dmEventQueueElement::dmEventQueueElement: EventType %d EventToken %s. EventElementP %lX, bufP %lX, EvNode %s, status= %d, isrepost = %s.\n"
+TRCID_       0x8847 TRACE_DMAPI         "dmEventElement::isSameNode: err=%d eventmsg node num=%d, converted source node num=%d, source node addr=%s\n"
+TRCID_       0x8848 TRACE_DMAPI         "dmEventQueue::AddElementToQ: err %d. NumQElements = %d, NumInactiveEv = %d\n"
+TRCID_       0x8849 TRACE_DMAPI         "dmEventQueue::MoveElementToQ: NumQElements = %d, NumInactiveEv = %d\n"
+TRCID_       0x884A TRACE_DMAPI         "dmEventQueue::RemoveElementFromQ: err %d. token = 0x%08X-%08X-%08X-%08X\n"
+TRCID_       0x884B TRACE_DMAPI         "dmEventQueue::RemoveThisElementFromQ: token = 0x%08X-%08X-%08X-%08X , NumQElements=%d, NumInactiveEv=%d\n"
+TRCID_       0x884C TRACE_DMAPI         "dmEventQueue::GetEventQueueElement: token = 0x%08X-%08X-%08X-%08X, EvStatus = %d. found = %s\n"
+TRCID_       0x884D TRACE_DMAPI         "dmEventQueue::GetGetEventsLen: token = 0x%08X-%08X-%08X-%08X, totLen=%d, tmpLen=%d, nextalign=%d, maxmsgs=%d, maxlen=%d\n"
+TRCID_       0x884E TRACE_DMAPI         "dmEventQueue::FillGetEventsBuf: Fill Event to buf: token = %s, currentP %lX, islast=%s, align=%d, NumInactiveEv=%d, num=%d, maxmsgs=%d\n"
+TRCID_       0x884F TRACE_DMAPI         "dmCancelEventElement::FillGetEventsBuf: token = %s, EventNodeid=%s, (*alignP)=%d, islast = %s\n"
+TRCID_       0x8850 TRACE_DMAPI         "dmDataEventElement::FillGetEventsBuf: token = %s, EventNodeid=%s, *alignP=%d, islast=%s.\n"
+TRCID_       0x8851 TRACE_DMAPI         "dmMountEventElement::FillGetEventsBuf: token = %s, EventNodeid=%s, *alignP=%d, islast=%s, me_name1 %s, me_name2 %s\n"
+TRCID_       0x8852 TRACE_DMAPI         "dmNamespEventElement::FillGetEventsBuf: token = %s, EventNodeid=%s, *alignP=%d, islast=%s, ne_name1 %s, ne_name2 %s\n"
+TRCID_       0x8853 TRACE_DMAPI         "dmNamespEventElement::FillGetEventsBuf: token = %s, EventNodeid=%s, *alignP=%d, islast=%s, ue_buffer_len=%d\n"
+TRCID_       0x8854 TRACE_DMAPI         "dmDestroyEventElement::FillGetEventsBuf: token = %s, EventNodeid=%s, *alignP=%d, islast=%s\n"
+TRCID_       0x8855 TRACE_DMAPI         "dmEventQueue::RespondEvent: response=%d, reterror=%d, status=%d EventNode is %s, token = %s\n" $4=nodeaddr_id2name
+TRCID_       0x8856 TRACE_DMAPI         "dmEventQueue::RespondEvent: exit: err %d. response=%d, reterror=%d, status=%d, token = %s\n"
+TRCID_       0x8857 TRACE_DMAPI         "dmEventQueue::GetAllTokens: token = 0x%08X-%08X-%08X-%08X, num=%d, maxtokens=%d\n"
+TRCID_       0x8858 TRACE_DMAPI         "dmEventQueue::releaseAllAR: release access right for %s\n"
+TRCID_       0x8859 TRACE_DMAPI         "SFSdmRespondEvent: token = 0x%08X-%08X-%08X-%08X, response=%d, reterror=%d, sid=%s\n"
+TRCID_       0x885A TRACE_DMAPI         "SFSdmRespondEvent: exit: err %d, token = 0x%08X-%08X-%08X-%08X, response=%d, reterror=%d, sid=%s\n"
+TRCID_       0x885B TRACE_DMAPI         "SFSdmGetEvents: maxmsgs=%d, flags=%d, maxlen=%lu, EventbufP=0x%lX, sid=%s isLast %s\n"
+TRCID_       0x885C TRACE_DMAPI         "SFSdmGetEvents: exit err %d, (*EventbufLenP)=%lu, EventbufP(hex)=0x%lX nummsgs= %d NumInactiveEv %d maxmsgsP %d\n"
+TRCID_       0x885D TRACE_DMAPI         "SFSdmFindEventmsg: token = 0x%08X-%08X-%08X-%08X, maxlen=%lu, EventbufP=0x%lX, sid=%s\n"
+TRCID_       0x885E TRACE_DMAPI         "SFSdmFindEventmsg: exit: err=%d, token = 0x%08X-%08X-%08X-%08X, maxlen=%lu, EventbufP=0x%lX, *EventbufLenP=%lu, sid=%s\n"
+TRCID_       0x885F TRACE_DMAPI         "SFSdmMoveEvent: srcsid=%s, token = 0x%08X-%08X-%08X-%08X, targetsid=%s\n"
+TRCID_       0x8860 TRACE_DMAPI         "SFSdmMoveEvent exit: err=%d, srcsid=%s, token = 0x%08X-%08X-%08X-%08X, targetsid=%s\n"
+TRCID_       0x8861 TRACE_DMAPI         "SFSdmCreateUserevent: msgDataP=0x%lX, msglen=%lu, sid=%s\n"
+TRCID_       0x8862 TRACE_DMAPI         "SFSdmCreateUserevent: token = 0x%08X-%08X-%08X-%08X, sid=%s\n"
+TRCID_       0x8863 TRACE_DMAPI         "SFSdmCreateUserevent: err=%d, sid=%s\n"
+TRCID_       0x8864 TRACE_DMAPI         "SFSdmGetAllTokens: tokenBufP=0x%lX, maxtokens=%d, sid=%s\n"
+TRCID_       0x8865 TRACE_DMAPI         "SFSdmGetAllTokens: exit: err=%d, tokenBufP=0x%lX, maxtokens=%d *numoftokensP=%d, sid=%s\n"
+TRCID_       0x8866 TRACE_DMAPI         "dmHandlePostEventMsg: sid=%s, EventType=%d, msglen=%d, repost=%s\n"
+TRCID_       0x8867 TRACE_DMAPI         "GetEventQueueElement: err=%d, token = 0x%08X-%08X-%08X-%08X, EventStatus=%d, sid=%s\n"
+TRCID_       0x8868 TRACE_DMAPI         "AddToList:newP %08X ARight %d\n"
+TRCID_       0x8869 TRACE_DMAPI         "SFSdmRequestRight: found ARP. ARP->ARight %d requested right %d\n"
+TRCID_       0x886A TRACE_DMAPI         "SFSdmRequestRight: upgraded access rights to %d\n"
+TRCID_       0x886B TRACE_DMAPI         "SFSdmRequestRight: down-graded access rights to %d\n"
+TRCID_       0x886C TRACE_DMAPI         "SFSdmRequestRight: No access rights were found\n"
+TRCID_       0x886D TRACE_DMAPI         "SFSdmRequestRight: the DM_RR_WAIT is set\n"
+TRCID_       0x886E TRACE_DMAPI         "SFSdmRequestRight: ARP = %08X\n"
+TRCID_       0x886F TRACE_DMAPI         "SFSdmRequestRight: the DM_RR_WAIT is not set\n"
+TRCID_       0x8870 TRACE_DMAPI         "SFSdmRequestRight: err from AddToList %d\n"
+TRCID_       0x8871 TRACE_DMAPI         "SFSdmRequestRight: exit err %d\n"
+TRCID_       0x8872 TRACE_DMAPI         "getCachedTokensForSession:firstCachedSessionTokens %08X sid 0x%llX\n"
+TRCID_       0x8873 TRACE_DMAPI         "getCachedTokensForSession: cached token ptr 0x%08X\n"
+TRCID_       0x8874 TRACE_DMAPI         "dmCachedSessionTokensList::removeThisElementFromList: removing dmCachedSessionTokens 0x%08X numRemoteSessions %d\n"
+TRCID_       0x8875 TRACE_DMAPI         "mCachedSessionTokensList::removeThisElementFromList: firstCachedSessionTokens 0x%08lX (0x%08lX) cachedTokensP->next 0x%08lX (0x%08lX) cachedTokensP->prev 0x%08lX (0x%08lX)\n"
+TRCID_       0x8876 TRACE_DMAPI         "rmCachedSessionTokensList::removeThisElementFromList: firstCachedSessionTokens 0x%08lX (0x%08lX) lastCachedSessionTokens 0x%08lX (0x%08lX)\n"
+TRCID_       0x8877 TRACE_DMAPI         "rmCachedSessionTokensList::removeThisElementFromList:firstCachedSessionTokens 0x%08lX (0x%08lX), lastCachedSessionTokens 0x%08lX (0x%08lX)\n"
+TRCID_       0x8878 TRACE_DMAPI         "rmCachedSessionTokensList::removeThisElementFromList:cachedTokensP->prev->next 0x%08lX (0x%08lX) cachedTokensP->next 0x%08lX (0x%08lX),cachedTokensP->prev 0x%08lX (0x%08lX)\n"
+TRCID_       0x8879 TRACE_DMAPI         "rmCachedSessionTokensList::removeThisElementFromList1:firstCachedSessionTokens 0x%08lX (0x%08lX) lastCachedSessionTokens 0x%08lX (0x%08lX)\n"
+TRCID_       0x887A TRACE_DMAPI         "rmCachedSessionTokensList::removeThisElementFromList: numRemoteSessions %d\n"
+TRCID_       0x887B TRACE_DMAPI         "rmCachedSessionTokensList: after remove: index %d sid 0x%08X cachedTokensP 0x%08X\n"
+TRCID_       0x887C TRACE_DMAPI         "dmCachedSessionTokensList::addThisElementToList: adding newCachedTokensP 0x%08X, firstCachedSessionTokens 0x%08lX (0x%08lX) lastCachedSessionTokens 0x%08lX (0x%08lX)\n"
+TRCID_       0x887D TRACE_DMAPI         "dmCachedSessionTokensList::addThisElementToList: numRemoteSessions %d\n"
+TRCID_       0x887E TRACE_DMAPI         "addThisElementToList: after add: index %d sid 0x%08X cachedTokensP 0x%08lX (0x%08lX)\n"
+TRCID_       0x887F TRACE_DMAPI         "dmHandleUpdateAccessRights: type %d sid 0x%llX\n"
+TRCID_       0x8880 TRACE_DMAPI         "dmHandleUpdateAccessRights: token 0x%08X-%08X-%08X-%08X\n"
+TRCID_       0x8881 TRACE_DMAPI         "SFSdmSetDmattr: sid=%s,  token = 0x%08X-%08X-%08X-%08X. Inodenumber=%d, generation=%d, sgId=%s. attrname=\"%s\", setCtime=%d\n"
+TRCID_       0x8882 TRACE_DMAPI         "SFSdmGetDmattr: sid=%s,  token = %s. Inodenumber=%d, generation=%d, sgId=%s. attrname=\"%s\", buflen=%lu\n"
+TRCID_       0x8883 TRACE_DMAPI         "SFSdmGetDmattr: exit: err=%d, sid=%s,  token = %s, Inodenumber=%d, generation=%d, sgId=%s. attrname=%s, buflen=%lu, rlen=%lu\n"
+TRCID_       0x8884 TRACE_DMAPI         "SFSdmGetAllDmattr: sid=%s,  token = %s. Inodenumber=%d, generation=%d, sgId=%s. buflen=%lu, outBufP=0x%lX\n"
+TRCID_       0x8885 TRACE_DMAPI         "SFSdmGetAllDmattr: After calling getAllAttrs(): Inodenumber=%d, generation=%d, nAttrs=%d, filledNAttrs=%d, sizeofKey=%lu, sizeofValue=%lu, *rlenp=%lu, opaquelen=%d sgId=%s\n"
+TRCID_       0x8886 TRACE_DMAPI         "SFSdmGetAllDmattr: exit: err=%d,  Inodenumber=%d, generation=%d, sgId=%s\n"
+TRCID_       0x8887 TRACE_DMAPI         "SFSdmSetRegion: sid=%s,  token = %s. Inodenumber=%d, generation=%d, sgId=%s. numRegions=%d, regionBufP=0x%lX\n"
+TRCID_       0x8888 TRACE_DMAPI         "SFSdmSetRegion: exit: err=%d, sid=%s,  token = %s, Inodenumber=%d, generation=%d, sgId=%s. numRegions=%d, regionBufP=0x%lX, *isModifiedP=%d\n"
+TRCID_       0x8889 TRACE_DMAPI         "FileMetadata::dmSetRegion: Entry: inode %d, generation 0x%X, rg_flags=%d, numRegions=%d, inode.dmReadEventSummary=%d, inode.dmWriteEventSummary=%d, inode.dmTruncateEventSummary=%d sg %s\n"
+TRCID_       0x888A TRACE_DMAPI         "FileMetadata::dmSetRegion: exit: err=%d, inode %d, generation 0x%X, rg_flags=%d, attr_flags=%d\n"
+TRCID_       0x888B TRACE_DMAPI         "FileMetadata::dmSetRegion: exit: numRegions=%d, inode.dmReadEventSummary=%d, inode.dmWriteEventSummary=%d,inode.dmTruncateEventSummary=%d, sg %s\n"
+TRCID_       0x888C TRACE_DMAPI         "SFSdmGetRegion: sid=%s,  token = %s, Inodenumber=%d, generation=%d, sgId=%s. regionBufLen=%d, regionBufP=0x%lX\n"
+TRCID_       0x888D TRACE_DMAPI         "SFSdmGetRegion: exit: err=%d. sid=%s,  token = %s, Inodenumber=%d, generation=%d, sgId=%s,  regionBufLen=%d, regionBufP=0x%lX, *numRegionsP=%d\n"
+TRCID_       0x888E TRACE_DMAPI         "FileMetadata::dmGetRegion: exit: err=%d, inode %d, generation 0x%X, regionBufLen=%d, *numRegionsP=%d, realsize=%d sg %s\n"
+TRCID_       0x888F TRACE_DMAPI         "SFSdmSetReturnOnDestroy: Sg is not mounted,send through session manager:  sid=%s, Inodenumber=%d, generation=%d, sgId=%s , attrname=\"%s\", enable=%d\n"
+TRCID_       0x8890 TRACE_DMAPI         "SFSdmSetReturnOnDestroy: Sg is mounted,send to sgmgr: sid=%s, Inodenumber=%d, generation=%d, sgId=%s , attrname=%s, enable=%d\n"
+TRCID_       0x8891 TRACE_DMAPI         "dmSGInfo::sgmgrSetReturnOnDestroy: Sending attrname \"%s\" to node %s (stripe group manager sgId %s\n"
+TRCID_       0x8892 TRACE_DMAPI         "StripeGroup::dmSendAttrname: This node is stripe group %s manager. SetReturnOnDestroy to attrname \"%s\" , enable %d\n"
+TRCID_       0x8893 TRACE_DMAPI         "StripeGroup::dmSendAttrname: Sending attrname \"%s\" , enable %d, to node %s (stripe group %s manager\n"
+TRCID_       0x8894 TRACE_DMAPI         "SGMgrData::dmUpdateSgmgrAttrname: At sg %s mgr, attrname \"%s\", enable %d: Send to %d mounted nodes\n"
+TRCID_       0x8895 TRACE_DMAPI         "SFSdmGetBulk: sgname=%s, mask=%d, statbufP=0x%lX, buflen=%lu, attrname=\"%s\", *locP=0x%llX\n"
+TRCID_       0x8896 TRACE_DMAPI         "SFSdmGetBulk: Exit: err=%d. sgId=%s, mask=%d, statbufP=0x%lX, buflen=%lu, attrname=\"%s\", *locP=0x%llX, *rlenp=%lu\n"
+TRCID_       0x8897 TRACE_DMAPI         "dmGetFileMetadataForBulk: Exit:err=%d, sgName=%s, inode=%d, generation=%d, attrname=\"%s\", *tmpbuflenP=%lu, readdirNameP=%s, readdirNameLen=%d, nextalign=%d\n"
+TRCID_       0x8898 TRACE_DMAPI         "dmGetOneAttr: Exit:err=%d, attrname=\"%s\", sgName=%s, inode=%d, buflen=%lu, *rlenp=%lu\n"
+TRCID_       0x8899 TRACE_DMAPI         "SFSdmSyncByHandle: exit: err=%d, sid=%s,  token = %s. Inodenumber=%d, generation=%d, sgId=%s\n"
+TRCID_       0x889A TRACE_DMAPI         "SFSdmGetDirAttrs: sg %s dirIno %d mask=0x%X readBuflen=%d buflen=%lu *locP=0x%llX"
+TRCID_       0x889B TRACE_DMAPI         "SFSdmGetDirAttrs: inode %d is snapdir. Ignoring\n"
+TRCID_       0x889C TRACE_DMAPI         "SFSdmGetDirAttrs: err=%d, mask=%d, readdirBuflen=%d, buflen=%lu, *locP=0x%llX, *rlenp %lu sgname=%s\n"
+TRCID_       0x889D TRACE_DMAPI         "SFSdmGetAllocinfo: sid=%s, sgId=%s, Inodenumber=%d, generation=%d,maxlen=%d, extentBufP=0x%lX\n"
+TRCID_       0x889E TRACE_DMAPI         "SFSdmSetFileattr: sid=%s,  token = 0x%08X-%08X-%08X-%08X. Inodenumber=%d, generation=%d, sgId=%s.\n"
+TRCID_       0x889F TRACE_DMAPI         "dmSGInfo::sgmgrGetMountinfo: Exit: err=%d, sgmgr node=%s, buflen=%llu, bufP(hex)=%lX, *rlenP=%llu, *nmountsP=%d ,sgId=%s\n" $2=nodeaddr_id2name
+TRCID_       0x88A0 TRACE_DMAPI         "StripeGroup::dmGetMountinfo: Exit: err=%d, buflen=%llu, bufP(hex)=%lX, *rlenP=%llu, *nmountsP=%d sgname=%s\n"
+TRCID_       0x88A1 TRACE_DMAPI         "HandleMBdmUserEvent enter: ebP %08X event==%s status %d\n"
+TRCID_       0x88A2 TRACE_DMAPI         "HandleMBdmUserEvent oldStatus %d\n"
+TRCID_       0x88A3 TRACE_DMAPI         "HandleMBdmUserEvent after: ebP->status %d newStatus %d\n"
+TRCID_       0x88A4 TRACE_DMAPI         "HandleMBdmUserEvent exit, csSuccess %d current status=%s\n"
+TRCID_       0x88A5 TRACE_DMAPI         "sendEventMsgToSessionNode: event=%s, sender sdr num=%d, sender node addr=%s, session node addr=%s, session id=%s\n"
+TRCID_       0x88A6 TRACE_DMAPI         "sendEventMsgToSessionNode: Sending message to local cluster\n"
+TRCID_       0x88A7 TRACE_DMAPI         "sendEventMsgToSessionNode: Sending message to remote cluster\n"
+TRCID_       0x88A8 TRACE_DMAPI         "sendEventMsgToSessionNode1: Sending message to local cluster\n"
+TRCID_       0x88A9 TRACE_DMAPI         "sendEventMsgToSessionNode: Invalid source node id\n"
+TRCID_       0x88AA TRACE_DMAPI         "sendEventMsgToSessionNode returns with ebStatus==%s\n"
+TRCID_       0x88AB TRACE_DMAPI         "dmEventBox::conditionalReply enter: addr 0x%lX type %d\n"
+TRCID_       0x88AC TRACE_DMAPI         "DmDeliverResponseToClient enter\n"
+TRCID_       0x88AD TRACE_DMAPI         "DmDeliverResponseToClient exit rc==%d\n"
+TRCID_       0x88AE TRACE_DMAPI         "DmHandleEventWaitTimeout enter\n"
+TRCID_       0x88AF TRACE_DMAPI         "DmHandleEventWaitTimeout exit rc==%d\n"
+TRCID_       0x88B0 TRACE_DMAPI         "DmHandleEventRecovery enter\n"
+TRCID_       0x88B1 TRACE_DMAPI         "DmHandleEventRecovery exit rc==%d\n"
+TRCID_       0x88B2 TRACE_DMAPI         "DmDumpEventboxes enter: bufP 0x%lX  bufLen %d doDmMbLock %s\n"
+TRCID_       0x88B3 TRACE_DMAPI         "DmDumpEventboxes exit rc==%d\n"
+TRCID_       0x88B4 TRACE_DMAPI         "SFSdmQueryFileOpen enter: ofP %lX\n"
+TRCID_       0x88B5 TRACE_DMAPI         "SFSdmQueryFileOpen enter: ObjKey %X:%X:%X:%X  nDests %d\n"
+TRCID_       0x88B6 TRACE_DMAPI         "SFSdmQueryFileOpen exit: isLastClose %d code %d\n"
+TRCID_       0x88B7 TRACE_DMAPI         "SFSdmCloseEvent enter: ofP %lX\n"
+TRCID_       0x88B8 TRACE_DMAPI         "SFSdmCloseEvent enter: Id 0x%llX sessLocP->Node %sinode %d eventlist 0x%08X\n"
+TRCID_       0x88B9 TRACE_DMAPI         "SFSdmCloseEvent exit: rc %d code %d\n"
+TRCID_       0x88BA TRACE_DMAPI         "dmGenerateCloseEvent enter: from Daemon: ofP %lX\n"
+TRCID_       0x88BB TRACE_DMAPI         "dmGenerateCloseEvent enter: from Daemon: sessLocP->Id 0x%llX sessLocP->Node %s inode %d event list 0x%08X\n"
+TRCID_       0x88BC TRACE_DMAPI         "dmGenerateCloseEvent exit: rc %d code %d\n"
+TRCID_       0x88BD TRACE_DMAPI         "dmFileHandle::user exportHandle: ino %d genNum %d handleLen %d\n"
+TRCID_       0x88BE TRACE_DMAPI         "dmHandleCheckFileOpen: isOpen %d vfsRef %d isCompact %d \n"
+TRCID_       0x88BF TRACE_DMAPI         "dmHandleCheckFileOpen: isOpen %d iscCompact %d code %d\n"
+TRCID_       0x88C0 TRACE_DMAPI         "dmGenerateAttributeEvent from daemon enter: inode %d, EventListP 0x%lX\n"
+TRCID_       0x88C1 TRACE_DMAPI         "AddSessionToList: Exceed dm seesion soft limit <%d>.\n"
+TRCID_       0x88C2 TRACE_DMAPI         "AddSessionToList: Failed to create dm session because of exceeding max dm seesion limit <%d>.\n"
+TRCID_       0x88C3 TRACE_DMAPI         "dmGetDirAttr for dir %d index %d ino %d name %s"
+TRCID_       0x88C4 TRACE_TS            "dmGetDirAttr ino %d err %d intErr %d code %d"
+TRCID_       0x88C5 TRACE_DMAPI         "SFSdmGetDirAttrs dir[%d] ino %d len %d name %s"
+TRCID_       0x88C6 TRACE_DMAPI         "SFSdmGetDirAttrs nEntries %d totlen %d loc %d dirBufP 0x%lX"
+TRCID_       0x88C7 TRACE_DMAPI         "SFSdmGetDirAttrs skipping deP 0x%lX ino %d name %s"
+TRCID_       0x88C8 TRACE_DMAPI         "dmStatP 1 0x%lX ino %d link %d"
+TRCID_       0x88C9 TRACE_DMAPI         "dmStatP 2 0x%lX outBufP 0x%lX totlen %d "
+TRCID_       0x88CA TRACE_DMAPI         "dmStatP 0x%lX prevStatP 0x%lX ino %d link %d"
+TRCID_       0x88CB TRACE_DMAPI         "dmStatP done"
+TRCID_       0x88CC TRACE_DMAPI         "SFSdmGetDmattrHelperThreadBody dirBufP 0x%lX"
+TRCID_       0x88CD TRACE_DMAPI         "SFSdmGetDmattrHelperThreadBody complete err %d"
+TRCID_       0x88CE TRACE_DMAPI         "dmGetDmattr dirBufP 0x%lX dirIno %d nEnt %d nPref %d"
+TRCID_       0x88CF TRACE_DMAPI         "dmGetDmattr start prefetch dirBufP 0x%lX dirIno %d nEnt %d nPref %d"
+TRCID_       0x88D0 TRACE_DMAPI         "release dirattr buffer 0x%lX useCount %d"
+TRCID_       0x8C01 TRACE_DMAPI         "dmapiFilldirOne:  ino=%ld, name=%s namelen %d offset %ld\n"
+TRCID_       0x8C02 TRACE_DMAPI         "dmapiFilldirOne: buf ino=%d buf dotdot %d pathlen %d\n"
+TRCID_       0x8C03 TRACE_DMAPI         "dmapiFilldirOne: buf->ino=%d dotdot %d pathlen %d\n"
+TRCID_       0x8C04 TRACE_DMAPI         "dmapiFilldirOne: buf->found=%d error %d result %d\n"
+TRCID_       0x8C05 TRACE_DMAPI         "dmapiFilldir enter\n"
+TRCID_       0x8C06 TRACE_DMAPI         "dmapiFilldir: deP %08X name %s namelen %d \n"
+TRCID_       0x8C07 TRACE_DMAPI         "dmapiFilldir: fP %08X bufUsed %d dirBufferP %08X lastP %08X\n"
+TRCID_       0x8C08 TRACE_DMAPI         "dmapiFilldir (%s, %d): reclen %d used %d dircount %d)\n"
+TRCID_       0x8C09 TRACE_DMAPI         "checkIsValidSession enter: sid 0x%llX\n"
+TRCID_       0x8C0A TRACE_DMAPI         "checkIsValidSession exit: rc %d code %d\n"
+TRCID_       0x8C0B TRACE_DMAPI         "mmfs_dm_create_session enter: oldsid 0x%llX\n"
+TRCID_       0x8C0C TRACE_DMAPI         "kxSessP=%lX\n"
+TRCID_       0x8C0D TRACE_DMAPI         "dm2kx mmfs_dm_create_session: before call to AddSession\n"
+TRCID_       0x8C0E TRACE_DMAPI         "mmfs_dm_create_session exit: sid 0x%llX rc %d\n"
+TRCID_       0x8C0F TRACE_DMAPI         "mmfs_dm_destroy_session enter: sid 0x%llX\n"
+TRCID_       0x8C10 TRACE_DMAPI         "mmfs_dm_destroy_session exit: rc %d\n"
+TRCID_       0x8C11 TRACE_DMAPI         "mmfs_dm_set_disp enter: sid 0x%llX\n"
+TRCID_       0x8C12 TRACE_DMAPI         "mmfs_dm_set_disp: eventlist %lu eventsetp %X maxevent %d\n"
+TRCID_       0x8C13 TRACE_DMAPI         "mmfs_dm_set_disp exit: rc %d\n"
+TRCID_       0x8C14 TRACE_DMAPI         "mmfs_dm_create_userevent enter: sid 0x%llX\n msglen %d"
+TRCID_       0x8C15 TRACE_DMAPI         "mmfs_dm_create_userevent exit: rc %d\n"
+TRCID_       0x8C16 TRACE_DMAPI         "mmfs_dm_find_eventmsg enter: sid 0x%llX\n"
+TRCID_       0x8C17 TRACE_DMAPI         "mmfs_dm_find_eventmsg exit: rc %d\n"
+TRCID_       0x8C18 TRACE_DMAPI         "mmfs_dm_get_config enter:\n"
+TRCID_       0x8C19 TRACE_DMAPI         "mmfs_dm_get_config exit: rc %d\n"
+TRCID_       0x8C1A TRACE_DMAPI         "mmfs_dm_get_config_events enter:\n"
+TRCID_       0x8C1B TRACE_DMAPI         "mmfs_dm_get_config_events exit: rc %d\n"
+TRCID_       0x8C1C TRACE_DMAPI         "mmfs_dm_get_eventlist enter: sid 0x%llX\n"
+TRCID_       0x8C1D TRACE_DMAPI         "mmfs_dm_get_eventlist exit: rc %d code_1 %d\n"
+TRCID_       0x8C1E TRACE_DMAPI         "mmfs_dm_get_events enter: sid 0x%llX flags 0x%08X buflen %d maxmsgs %d\n"
+TRCID_       0x8C1F TRACE_DMAPI         "mmfs_dm_get_events: sid 0x%llX flags 0x%08X totalMsgs %d msgsToProcess %d maxmsgs %d rlen %d tmpBufLen %d \n"
+TRCID_       0x8C20 TRACE_DMAPI         "mmfs_dm_get_events: rlen %d maxmsgs %d moreMsgs %d rc %d\n"
+TRCID_       0x8C21 TRACE_DMAPI         "mmfs_dm_get_events exit: sid %llX buflen %d reallen %d buf addr %lX rc %d code %d\n"
+TRCID_       0x8C22 TRACE_DMAPI         "mmfs_dm_getall_disp enter: sid 0x%llX\n"
+TRCID_       0x8C23 TRACE_DMAPI         "mmfs_dm_getall_disp exit: rc %d\n"
+TRCID_       0x8C24 TRACE_DMAPI         "mmfs_dm_getall_sessions enter: max sessions %d\n"
+TRCID_       0x8C25 TRACE_DMAPI         "mmfs_dm_getall_sessions exit: num sessions %d rc %d\n"
+TRCID_       0x8C26 TRACE_DMAPI         "mmfs_dm_getall_tokens enter: sid 0x%llX\n"
+TRCID_       0x8C27 TRACE_DMAPI         "mmfs_dm_getall_tokens exit: rc %d\n"
+TRCID_       0x8C28 TRACE_DMAPI         "mmfs_dm_handle_cmp enter:\n"
+TRCID_       0x8C29 TRACE_DMAPI         "mmfs_dm_handle_cmp exit: rc %d\n"
+TRCID_       0x8C2A TRACE_DMAPI         "mmfs_dm_handle_is_valid enter:\n"
+TRCID_       0x8C2B TRACE_DMAPI         "mmfs_dm_handle_is_valid exit: validity %d\n"
+TRCID_       0x8C2C TRACE_DMAPI         "mmfs_dm_handle_to_fshandle enter:\n"
+TRCID_       0x8C2D TRACE_DMAPI         "mmfs_dm_handle_to_fshandle exit: rc %d\n"
+TRCID_       0x8C2E TRACE_DMAPI         "mmfs_dm_make_handle enter:\n"
+TRCID_       0x8C2F TRACE_DMAPI         " mmfs_dm_make_handle: igen %d\n"
+TRCID_       0x8C30 TRACE_DMAPI         "mmfs_dm_make_handle exit: rc %d\n"
+TRCID_       0x8C31 TRACE_DMAPI         "mmfs_dm_query_session enter: sid 0x%llX buflen %lu \n"
+TRCID_       0x8C32 TRACE_DMAPI         "mmfs_dm_query_session: info %s\n"
+TRCID_       0x8C33 TRACE_DMAPI         "mmfs_dm_query_session exit: rc %d\n"
+TRCID_       0x8C34 TRACE_DMAPI         "mmfs_dm_respond_event enter: sid 0x%llX\n"
+TRCID_       0x8C35 TRACE_DMAPI         "mmfs_dm_respond_event exit: code %d rc %d\n"
+TRCID_       0x8C36 TRACE_DMAPI         "mmfs_dm_set_dmattr enter: sid 0x%llX\n"
+TRCID_       0x8C37 TRACE_DMAPI         "mmfs_dm_set_dmattr exit: code %d rc %d\n"
+TRCID_       0x8C38 TRACE_DMAPI         "mmfs_dm_get_dmattr enter: sid 0x%llX\n"
+TRCID_       0x8C39 TRACE_DMAPI         "mmfs_dm_get_dmattr exit: code %d rc %d\n"
+TRCID_       0x8C3A TRACE_DMAPI         "mmfs_dm_set_eventlist enter: sid 0x%llX\n"
+TRCID_       0x8C3B TRACE_DMAPI         "mmfs_dm_set_eventlist exit: code %d rc %d\n"
+TRCID_       0x8C3C TRACE_DMAPI         "mmfs_dm_get_region enter: sid 0x%llX\n"
+TRCID_       0x8C3D TRACE_DMAPI         "mmfs_dm_get_region exit: code %d rc %d\n"
+TRCID_       0x8C3E TRACE_DMAPI         "mmfs_dm_remove_dmattr enter: sid 0x%llX\n"
+TRCID_       0x8C3F TRACE_DMAPI         "mmfs_dm_remove_dmattr exit: code %d rc %d\n"
+TRCID_       0x8C40 TRACE_DMAPI         "mmfs_dm_request_right enter: sid 0x%llX\n"
+TRCID_       0x8C41 TRACE_DMAPI         "mmfs_dm_request_right exit: code %d rc %d\n"
+TRCID_       0x8C42 TRACE_DMAPI         "mmfs_dm_set_region enter: sid 0x%llX\n"
+TRCID_       0x8C43 TRACE_DMAPI         "mmfs_dm_set_region exit: code %d rc %d\n"
+TRCID_       0x8C44 TRACE_DMAPI         "mmfs_dm_query_right enter: sid 0x%llX\n"
+TRCID_       0x8C45 TRACE_DMAPI         "mmfs_dm_query_right exit: code %d rc %d\n"
+TRCID_       0x8C46 TRACE_DMAPI         "mmfs_dm_upgrade_right enter: sid 0x%llX\n"
+TRCID_       0x8C47 TRACE_DMAPI         "mmfs_dm_upgrade_right exit: code %d rc %d\n"
+TRCID_       0x8C48 TRACE_DMAPI         "mmfs_dm_downgrade_right enter: sid 0x%llX\n"
+TRCID_       0x8C49 TRACE_DMAPI         "mmfs_dm_downgrade_right exit: code %d rc %d\n"
+TRCID_       0x8C4A TRACE_DMAPI         "mmfs_dm_release_right enter: sid 0x%llX\n"
+TRCID_       0x8C4B TRACE_DMAPI         "mmfs_dm_release_right exit: code %d rc %d\n"
+TRCID_       0x8C4C TRACE_DMAPI         "mmfs_dm_set_return_on_destroy enter: sid 0x%llX\n"
+TRCID_       0x8C4D TRACE_DMAPI         "mmfs_dm_set_return_on_destroy exit: code %d rc %d\n"
+TRCID_       0x8C4E TRACE_DMAPI         "mmfs_dm_path_to_handle enter:\n"
+TRCID_       0x8C4F TRACE_DMAPI         "mmfs_dm_path_to_handle exit: code %d code_a %d rc %d path %s\n"
+TRCID_       0x8C50 TRACE_DMAPI         "mmfs_dm_fd_to_handle enter: fd %d\n"
+TRCID_       0x8C51 TRACE_DMAPI         "mmfs_dm_fd_to_handle exit: code %d rc %d\n"
+TRCID_       0x8C52 TRACE_DMAPI         "mmfs_dm_handle_free enter:\n"
+TRCID_       0x8C53 TRACE_DMAPI         "mmfs_dm_handle_free exit: rc %d\n"
+TRCID_       0x8C54 TRACE_DMAPI         "mmfs_dm_path_to_fshandle enter:\n"
+TRCID_       0x8C55 TRACE_DMAPI         "mmfs_dm_path_to_fshandle exit: code %d rc %d\n"
+TRCID_       0x8C56 TRACE_DMAPI         "mmfs_dm_getall_dmattr enter: sid 0x%llX\n"
+TRCID_       0x8C57 TRACE_DMAPI         "mmfs_dm_getall_dmattr exit: rc %d\n"
+TRCID_       0x8C58 TRACE_DMAPI         "mmfs_dm_init_file_structures enter: sid 0x%llX\n"
+TRCID_       0x8C59 TRACE_DMAPI         "mmfs_dm_init_file_structures exit: code %d rc %d\n"
+TRCID_       0x8C5A TRACE_DMAPI         "dm_init_uio_struct: flags %d, off %lld, len %llu\n"
+TRCID_       0x8C5B TRACE_DMAPI         "mmfs_dm_rdwr_invis enter: sid 0x%llX op %d hlen %d off %lld len %llu\n"
+TRCID_       0x8C5C TRACE_DMAPI         "mmfs_dm_rdwr_invis: context %d, uio_segflg %d\n"
+TRCID_       0x8C5D TRACE_DMAPI         "mmfs_dm_rdwr_invis exit: to transfer %lld uio_resid %ld rlen %lld code %d rc %d\n"
+TRCID_       0x8C5E TRACE_DMAPI         "mmfs_dm_punch_hole enter: sid 0x%llX hlen %d off %lld len %llu\n"
+TRCID_       0x8C5F TRACE_DMAPI         "mmfs_dm_punch_hole exit: code %d rc %d\n"
+TRCID_       0x8C60 TRACE_DMAPI         "mmfs_dm_probe_hole enter: sid 0x%llX hlen %d, off %lld, len %llu\n"
+TRCID_       0x8C61 TRACE_DMAPI         "mmfs_dm_probe_hole: off %llu len %llu off + len = %llu, fileSize = %lld\n"
+TRCID_       0x8C62 TRACE_DMAPI         "mmfs_dm_probe_hole exit: code %d code_a %d rc %d\n"
+TRCID_       0x8C63 TRACE_DMAPI         "mmfs_dm_get_mountinfo enter: sid 0x%llX\n"
+TRCID_       0x8C64 TRACE_DMAPI         "dm_get_mountinfo : \n"
+TRCID_       0x8C65 TRACE_DMAPI         "fh1 inode %d, gen 0x%X, sgId %08X:%08X \n"
+TRCID_       0x8C66 TRACE_DMAPI         "fh2 inode %d, gen 0x%X, sgId %08X:%08X \n"
+TRCID_       0x8C67 TRACE_DMAPI         "rootFh inode %d, gen 0x%X, sgId %08X:%08X \n"
+TRCID_       0x8C68 TRACE_DMAPI         "name1 %s, name1 len %d\n name2 %s, name2 len %d\n"
+TRCID_       0x8C69 TRACE_DMAPI         "mode(hex) %X\n"
+TRCID_       0x8C6A TRACE_DMAPI         "mmfs_dm_get_mountinfo exit: code %d rc %d\n"
+TRCID_       0x8C6B TRACE_DMAPI         "mmfs_dm_set_fileattr enter: sid 0x%llX\n"
+TRCID_       0x8C6C TRACE_DMAPI         "mmfs_dm_set_fileattr exit: rc %d\n"
+TRCID_       0x8C6D TRACE_DMAPI         "mmfs_dm_get_fileattr enter: sid 0x%llX\n"
+TRCID_       0x8C6E TRACE_DMAPI         "mmfs_dm_get_fileattr exit: rc %d code %d code1 %d\n"
+TRCID_       0x8C6F TRACE_DMAPI         "mmfs_dm_get_dirattrs enter: sid 0x%llX\n"
+TRCID_       0x8C70 TRACE_DMAPI         "mmfs_dm_get_dirattrs exit: rc %d code %d code1 %d code2 %d\n"
+TRCID_       0x8C71 TRACE_DMAPI         "mmfs_dm_get_bulkattr enter: sid 0x%llX\n"
+TRCID_       0x8C72 TRACE_DMAPI         "mmfs_dm_get_bulkattr exit: loc %d rc %d code1 %d code2 %d\n"
+TRCID_       0x8C73 TRACE_DMAPI         "mmfs_dm_get_bulkall enter: sid 0x%llX\n"
+TRCID_       0x8C74 TRACE_DMAPI         "mmfs_dm_get_bulkall exit: loc %d rc %d code1 %d code2 %d\n"
+TRCID_       0x8C75 TRACE_DMAPI         "mmfs_dm_get_allocinfo enter: sid 0x%llX\n"
+TRCID_       0x8C76 TRACE_DMAPI         "mmfs_dm_get_allocinfo exit: off %d rc %d code1 %d\n"
+TRCID_       0x8C77 TRACE_DMAPI         "mmfs_dm_init_attrloc enter: sid 0x%llX\n"
+TRCID_       0x8C78 TRACE_DMAPI         "mmfs_dm_init_attrloc exit: rc %d\n"
+TRCID_       0x8C79 TRACE_DMAPI         "mmfs_dm_move_event enter: srcsid 0x%llX destsid 0x%llX\n"
+TRCID_       0x8C7A TRACE_DMAPI         "mmfs_dm_move_event exit: rc %d\n"
+TRCID_       0x8C7B TRACE_DMAPI         "mmfs_dm_init_service enter:\n"
+TRCID_       0x8C7C TRACE_DMAPI         "mmfs_dm_init_service exit: rc %d\n"
+TRCID_       0x8C7D TRACE_DMAPI         "mmfs_dm_send_msg enter: targetsid 0x%llX type %08X buflen %d bufP %08X\n"
+TRCID_       0x8C7E TRACE_DMAPI         "mmfs_dm_send_msg exit: rc %d\n"
+TRCID_       0x8C7F TRACE_DMAPI         "mmfs_dm_handle_hash enter:\n"
+TRCID_       0x8C80 TRACE_DMAPI         "mmfs_dm_handle_hash exit: inode %d rc %d\n"
+TRCID_       0x8C81 TRACE_DMAPI         "mmfs_dm_handle_to_fsid enter:\n"
+TRCID_       0x8C82 TRACE_DMAPI         "mmfs_dm_handle_to_fsid exit: rc %d code %d\n"
+TRCID_       0x8C83 TRACE_DMAPI         "mmfs_dm_handle_to_igen enter:\n"
+TRCID_       0x8C84 TRACE_DMAPI         "mmfs_dm_handle_to_igen exit: rc %d igen %d\n"
+TRCID_       0x8C85 TRACE_DMAPI         "mmfs_dm_handle_to_ino enter:\n"
+TRCID_       0x8C86 TRACE_DMAPI         "mmfs_dm_handle_to_ino exit: rc %d\n"
+TRCID_       0x8C87 TRACE_DMAPI         "mmfs_dm_make_fshandle enter:\n"
+TRCID_       0x8C88 TRACE_DMAPI         "mmfs_dm_make_fshandle exit: rc %d code %d\n"
+TRCID_       0x8C89 TRACE_DMAPI         "mmfs_dm_sync_by_handle enter: sid 0x%llX\n"
+TRCID_       0x8C8A TRACE_DMAPI         "mmfs_dm_sync_by_handle exit: code %d code_a %d rc %d\n"
+TRCID_       0x8C8B TRACE_DMAPI         "mmfs_dm_handle_to_path enter:\n"
+TRCID_       0x8C8C TRACE_DMAPI         "dm_hadle_to_path: Start while loop\n"
+TRCID_       0x8C8D TRACE_DMAPI         "Searching dir %d for inode %d\n"
+TRCID_       0x8C8E TRACE_DMAPI         "rc from readdir %d offset %d\n"
+TRCID_       0x8C8F TRACE_DMAPI         "dm2kx: ino %d, name %s namelen %d error %d\n"
+TRCID_       0x8C90 TRACE_DMAPI         "dm2kx: dotdot %d found %d\n"
+TRCID_       0x8C91 TRACE_DMAPI         "pathP %s pathlen %d\n"
+TRCID_       0x8C92 TRACE_DMAPI         "inode %d dino %d\n"
+TRCID_       0x8C93 TRACE_DMAPI         "pathlen %d buflen %d rc %d\n"
+TRCID_       0x8C94 TRACE_DMAPI         "mmfs_dm_handle_to_path exit: code %d rc %d\n"
+TRCID_       0x8C95 TRACE_DMAPI         "dm_create_session enter: old sid %s \n"
+TRCID_       0x8C96 TRACE_DMAPI         "dm_create_session enter: session string %s\n"
+TRCID_       0x8C97 TRACE_DMAPI         "dm_create_session exit: code %d rc %d new sessid %s\n"
+TRCID_       0x8C98 TRACE_DMAPI         "dm_destroy_session enter: destroy sid %s \n"
+TRCID_       0x8C99 TRACE_DMAPI         "dm_destroy_session exit: code %d rc %d destroyed sid %s\n"
+TRCID_       0x8C9A TRACE_DMAPI         "dm_set_disp enter: sid %s \n"
+TRCID_       0x8C9B TRACE_DMAPI         "dm_set_disp exit: code %d rc %d sid %s\n"
+TRCID_       0x8C9C TRACE_DMAPI         "dm_set_evntlist (for SG) enter"
+TRCID_       0x8C9D TRACE_DMAPI         "dm_set_eventlist exit: code %d rc %d \n"
+TRCID_       0x8C9E TRACE_DMAPI         "dm_get_evntlist (for SG) enter"
+TRCID_       0x8C9F TRACE_DMAPI         "dm_get_eventlist exit: code %d rc %d \n"
+TRCID_       0x8CA0 TRACE_DMAPI         "dm_getall_disp exit: code %d rc %d reallen %d buflen %d\n"
+TRCID_       0x8CA1 TRACE_DMAPI         "kSFSdmRespondEvent exit: code %d rc %d \n"
+TRCID_       0x8CA2 TRACE_DMAPI         "kSFSdmCloseEvent enter: ofP %08X,queryLastClose %d\n"
+TRCID_       0x8CA3 TRACE_DMAPI         "kSFSdmCloseEvent: sessLocP->Id 0x%llX sessLocP->Node %s inodeNum %d event list %08X\n" $2=nodeaddr_id2name
+TRCID_       0x8CA4 TRACE_DMAPI         "kSFSdmCloseEvent: sessLocP->Id 0x%llX sessLocP->Node %s inodeNum %d eventlist 0x%08X\n" $2=nodeaddr_id2name
+TRCID_       0x8CA5 TRACE_DMAPI         "kSFSdmCloseEvent exit: sessLocP->Id 0x%llX sessLocP->Node %s inodeNum %d event list %08X\n" $2=nodeaddr_id2name
+TRCID_       0x8CA6 TRACE_DMAPI         "kSFSdmCloseEvent exit: rc %d code %d \n"
+TRCID_       0x8CA7 TRACE_DMAPI         "dmFileHandle::importHandle: sgId 0x%08X:0x%08X, ino %d genNum %d\n"
+TRCID_       0x8CA8 TRACE_DMAPI         "dmFileHandle::importHandle:  handleLen %d code %d rc %d\n"
+TRCID_       0x8CA9 TRACE_DMAPI         "dmFileHandle::exportHandle: sgId 0x%08X:0x%08X,ino %d genNum %d handleLen %d\n"
+TRCID_       0x8CAA TRACE_DMAPI         "GetSessionStatus: sid = 0x%llX\n"
+TRCID_       0x8CAB TRACE_DMAPI         "GetSessInfoString enter: sid 0x%llX dmFirstSessInfoP 0x%08X\n"
+TRCID_       0x8CAC TRACE_DMAPI         "GetSessInfoString: sid 0x%llX status=%d, sessinfo=%s\n"
+TRCID_       0x8CAD TRACE_DMAPI         "GetSessInfoString: status=%d, sessinfo=%s\n"
+TRCID_       0x8CAE TRACE_DMAPI         "kx:getCachedTokensForSession: p %08X sid 0x%llX\n"
+TRCID_       0x8CAF TRACE_DMAPI         "kx:getCachedTokensForSession: p %08X\n"
+TRCID_       0x8CB0 TRACE_DMAPI         "kx:getRemoteSessLocAndInfo: sid %0llX\n"
+TRCID_       0x8CB1 TRACE_DMAPI         "kx:getRemoteSessLocAndInfo exit: rc %d code %d\n"
+TRCID_       0x8CB2 TRACE_DMAPI         "kx:getRemoteSessLocAndInfoList: sid %0llX p 0x%08X\n"
+TRCID_       0x8CB3 TRACE_DMAPI         "kx:getRemoteSessLocAndInfoList: index %d Id %0llX p 0x%08X\n"
+TRCID_       0x8CB4 TRACE_DMAPI         "kx:getRemoteSessLocAndInfoList exit: rc %d\n"
+TRCID_       0x8CB5 TRACE_DMAPI         "dmGenTokenId from KERNEL: token==0x%08X-%08X-%08X-%08X\n"
+TRCID_       0x8CB6 TRACE_DMAPI         "dmKxSessionList::AddSession before addition num sessons is %d adding : sid %s\n"
+TRCID_       0x8CB7 TRACE_DMAPI         "dmKxSessionList::AddSession status %d, %s\n"
+TRCID_       0x8CB8 TRACE_DMAPI         "session already in list\n"
+TRCID_       0x8CB9 TRACE_DMAPI         "RemoveSession: num of sessions after removal %d\n"
+TRCID_       0x8CBA TRACE_DMAPI         "dmGenerateNamespaceEvent: Entering, eventType==%s \n"
+TRCID_       0x8CBB TRACE_DMAPI         "dmGenerateNamespaceEvent: list1 %s list2 %s\n"
+TRCID_       0x8CBC TRACE_DMAPI         "dmGenerateNamespaceEvent: final event list %08X\n"
+TRCID_       0x8CBD TRACE_DMAPI         "dmGenerateNamespaceEvent: event %s disabled, event NOT generated\n"
+TRCID_       0x8CBE TRACE_DMAPI         "dmGenerateNamespaceEvent: event %s lockFile failed, event NOT generated, rc==%d\n"
+TRCID_       0x8CBF TRACE_DMAPI         "dmGenerateNamespaceEvent: event %s has no disposition, event NOT generated, rc==%d\n"
+TRCID_       0x8CC0 TRACE_DMAPI         "Entering dmGenerateDataEvent(), eventType=%s \n"
+TRCID_       0x8CC1 TRACE_DMAPI         "dmGenerateDataEvent: event list %08X\n"
+TRCID_       0x8CC2 TRACE_DMAPI         "dmGenerateDataEvent: eventType==%s  kDmGetRegion rc==%d, numRegions==%d\n"
+TRCID_       0x8CC3 TRACE_DMAPI         "dmGenerateDataEvent: offset==0x%08X%08X length==0x%08X%08X\n"
+TRCID_       0x8CC4 TRACE_DMAPI         "dmGenerateDataEvent: event %s disabled, event NOT generated\n"
+TRCID_       0x8CC5 TRACE_DMAPI         "dmGenerateDataEvent: event %s lockFile failed, event NOT generated, rc==%d\n"
+TRCID_       0x8CC6 TRACE_DMAPI         "dmGenerateDataEvent: event %s has no disposition, event NOT generated, rc==%d\n"
+TRCID_       0x8CC7 TRACE_DMAPI         "dmGenerateNospaceEvent: Entering, eventType==NOSPACE\n"
+TRCID_       0x8CC8 TRACE_DMAPI         "dmGenerateNospaceEvent: event has no disposition, event NOT generated, rc==%d\n"
+TRCID_       0x8CC9 TRACE_DMAPI         "dmGenerateUnmountEvent: Entering, eventType=%s \n"
+TRCID_       0x8CCA TRACE_DMAPI         "dmGenerateUnmountEvent: event list %08X\n"
+TRCID_       0x8CCB TRACE_DMAPI         "dmGenerateUnmountEvent: event %s disabled, event NOT generated\n"
+TRCID_       0x8CCC TRACE_DMAPI         "dmGenerateUnmountEvent: event %s has no disposition, event NOT generated, rc==%d\n"
+TRCID_       0x8CCD TRACE_DMAPI         "dmGenerateMountEvent: Entering, eventType==MOUNT\n"
+TRCID_       0x8CCE TRACE_DMAPI         "dmGenerateMountEvent: path1P %s\n"
+TRCID_       0x8CCF TRACE_DMAPI         "dmGenerateMountEvent: sending event to node %d\n"
+TRCID_       0x8CD0 TRACE_DMAPI         "dmGenerateUserEvent: Entering, eventtype=USER\n"
+TRCID_       0x8CD1 TRACE_DMAPI         "dmGenerateUserEvent: before:ebP %lX msgType %d status %d\n"
+TRCID_       0x8CD2 TRACE_DMAPI         "dmGenerateUserEvent: after:ebP %lX msgType %d status %d err %d\n"
+TRCID_       0x8CD3 TRACE_DMAPI         "dmGenerateAttributeEvent from KERNEL: Entering, eventType==ATTRIBUTE\n"
+TRCID_       0x8CD4 TRACE_DMAPI         "dmGenerateAttributeEvent from KERNEL: event ATTRIBUTE disabled, event NOT generated\n"
+TRCID_       0x8CD5 TRACE_DMAPI         "dmGenerateAttributeEvent from KERNEL: no disposition, event NOT generated\n"
+TRCID_       0x8CD6 TRACE_DMAPI         "dmGetMountDispositions: Entering sgP = %lX\n"
+TRCID_       0x8CD7 TRACE_DMAPI         "dmGetMountDispositions: exit numSess=%d\n"
+TRCID_       0x8CD8 TRACE_DMAPI         "dmGenerateCloseEvent from KERNEL: Entering, eventType==CLOSE\n"
+TRCID_       0x8CD9 TRACE_DMAPI         "dmGenerateCloseEvent from KERNEL: event CLOSE disabled, event NOT generated\n"
+TRCID_       0x8CDA TRACE_DMAPI         "dmGenerateCloseEvent from KERNEL: no disposition, event NOT generated\n"
+TRCID_       0x8CDB TRACE_DMAPI         "gpfsDmUnmountEvent enter: preunmount %d force %d privVfsP 0x%lX\n"
+TRCID_       0x8CDC TRACE_DMAPI         "gpfsDmUnmountEvent : dmDoUnmountEvent %d sgUidP 0x%lX eventListP 0x%lX sessLocP 0x%lX\n"
+TRCID_       0x8CDD TRACE_DMAPI         "gpfsDmUnmountEvent exit: code %d rc %d dmDoUnmountEvent %d\n"
+TRCID_       0x8CDE TRACE_DMAPI         "dmGenerateAttributeEvent from KERNEL: inode %d EventListP 0x%lX\n"
+TRCID_       0x8CDF TRACE_DMAPI         "dmapiFilldir: exit rc %d, code %d\n"
+TRCID_       0x9001 TRACE_DEFRAG        "startDefrag exiting with err = %d\n"
+TRCID_       0x9002 TRACE_DEFRAG        "defragBuffer: ino=%d, datablock %lld\n"
+TRCID_       0x9003 TRACE_DEFRAG        "defragBuffer: copyReplicas ret = %d\n"
+TRCID_       0x9004 TRACE_DEFRAG        "PrepareDefrag enter fsDA: %s\n"
+TRCID_       0x9005 TRACE_DEFRAG        "defragAnalysis returned MIGRATE_FRAGM %d:%lld to %d:%lld\n"
+TRCID_       0x9006 TRACE_DEFRAG        "defragAnalysis returned KEEP_FRAGM %d:%lld\n"
+TRCID_       0x9007 TRACE_DEFRAG        "defragAnalysis returned KEEP_FRAGM %d:%lld\n"
+TRCID_       0x9008 TRACE_DEFRAG        "PrepareDefrag exit: newDA:   %s\n"
+TRCID_       0x9009 TRACE_DEFRAG        "AllocSegment::allocFromHole sectorNum %lld regionNum %d subblockNum %d\n"
+TRCID_       0x900A TRACE_DEFRAG        "allocFromHole:allocHere ret subblock %d (secNum %lld regionNum %d) %s\n"
+TRCID_       0x900B TRACE_DEFRAG        "allocFromHole region %d segment %d disk %d subblock %d: E_WOULDWRAP\n"
+TRCID_       0x900C TRACE_DEFRAG        "allocFromHole::updateclient(%d)\n"
+TRCID_       0x900D TRACE_ALLOC         "SGAllocMap::allocFromHole diskIndex %d DA %d:%lld nSub %d\n"
+TRCID_       0x900E TRACE_DEFRAG        "allocFromHole ret = %d\n"
+TRCID_       0x900F TRACE_DEFRAG        "defragAnalysis: allocFromHole err = %d, result = %s\n"
+TRCID_       0x9010 TRACE_DEFRAG        "defragAnalysis: allocated blk %d, offset %d, %d\n"
+TRCID_       0x9011 TRACE_DEFRAG        "defragAnalysis: allocFromHole err = %d, result = %s\n"
+TRCID_       0x9012 TRACE_DEFRAG        "defragAnalysis: allocated blk %d, offset %d, %d\n"
+TRCID_       0x9013 TRACE_DEFRAG        "check_analysis_return retval %d %s\n"
+TRCID_       0x9014 TRACE_DEFRAG        "defragInodeTraversal ino=%d:fSize=%lld LOGFILE (%s)\n"
+TRCID_       0x9015 TRACE_DEFRAG        "defragInodeTraversal: ino=%d:fSize=%lld,ISREG,blkSize=%d,indL=%d,lastIndBlkIndex %d\n"
+TRCID_       0x9016 TRACE_DEFRAG        "defragInodeTraversal: ino=%d:fSize=%lld,ISDIR,blkSize=%d,indL=%d,lastIndBlkIndex %d\n"
+TRCID_       0x9017 TRACE_DEFRAG        "defragInodeTraversal: ino=%d:fSize=%lld,ISOTHER\n"
+TRCID_       0x9018 TRACE_DEFRAG        "defragInodeTraversal: lastBlockSubblocks=%d,nFullBlocks=%lld\n"
+TRCID_       0x9019 TRACE_DEFRAG        "defragInodeTraversal: finished with err %d\n"
+TRCID_       0x901A TRACE_DEFRAG        "defragInode: ino=%d, devId 0x%X, fragmFlag %d\n"
+TRCID_       0x901B TRACE_DEFRAG        "defragInode: ino=%d ShrinkBeforeDefrag ret %d\n"
+TRCID_       0x901C TRACE_DEFRAG        "defragInode: ino=%d before calling defragFile\n"
+TRCID_       0x901D TRACE_SANERGY       "select_remove: removed %d, nitem now %d\n"
+TRCID_       0x901E TRACE_SANERGY       "queue_select_remove: removing item 0x%X\n"
+TRCID_       0x9401 TRACE_PERFMON       "Creating a MBPerfmon Table\n"
+TRCID_       0x9402 TRACE_PERFMON       "Done creating a Perfmon Table, ver = %d\n"
+TRCID_       0x9403 TRACE_PERFMON       "Null entry for deleting\n"
+TRCID_       0x9801 TRACE_FSCK          "runFsck: ending fsck err %d, rc %d\n"
+TRCID_       0x9802 TRACE_FSCK          "Error accessing inode file.\n"
+TRCID_       0x9803 TRACE_FSCK          "Error accessing inode file.\n"
+TRCID_       0x9804 TRACE_FSCK          "Error accessing inode file.\n"
+TRCID_       0x9805 TRACE_FSCK          "Error accessing snapshot files, %d files, but max is %d.\n"
+TRCID_       0x9806 TRACE_FSCK          "Error accessing inode file for snapshot %d.\n"
+TRCID_       0x9807 TRACE_FSCK          "Error creating inode file for snapshot %d, err %d.\n"
+TRCID_       0x9808 TRACE_FSCK          "Error opening inode file for snapshot %d, err %d.\n"
+TRCID_       0x9809 TRACE_FSCK          "FSCK memAvail %lld memNeeded %lld memMin %lld memAvailPerPass %lld"
+TRCID_       0x980A TRACE_FSCK          "FSCK poolId %d nRegs %d bytes %d regPerPass %d memDesired %lld memAssigned %lld memOpt %lld"
+TRCID_       0x980B TRACE_FSCK          "fsck::fsck: memAvail %lld memNeeded %lld memMin %lld memOpt %lld regionsPerPass %d nRegions %d\n"
+TRCID_       0x980C TRACE_FSCK          "FSCK memOpt %lld assignToBlockMap %lld regPerPass %d bytesPerReg %d"
+TRCID_       0x980D TRACE_FSCK          "Inode size is not a multiple of the sector size.\n"
+TRCID_       0x980E TRACE_FSCK          "Fsck::Fsck: this 0x%lX, sgP 0x%lX, parallelP 0x%lX, exit err %d, code %d\n"
+TRCID_       0x980F TRACE_FSCK          "Fsck::~Fsck: this 0x%lX, sgP 0x%lX, parallelP 0x%lX\n"
+TRCID_       0x9810 TRACE_FSCK          "checkTerminated: err %d\n"
+TRCID_       0x9811 TRACE_FSCK          "FsckThreadInfo: cannot support %d threads, new count %d\n"
+TRCID_       0x9812 TRACE_FSCK          "RepStats::Export: err %d, size %d\n"
+TRCID_       0x9813 TRACE_FSCK          "RepStats::import: err %d, size %d, length %d\n"
+TRCID_       0x9814 TRACE_FSCK          "FsckStats::Export: err %d, size %d\n"
+TRCID_       0x9815 TRACE_FSCK          "FsckStats::import: err %d, size %d, length %d\n"
+TRCID_       0x9816 TRACE_FSCK          "InodeCache::InodeCache: new storage %d\n"
+TRCID_       0x9817 TRACE_FSCK          "InodeCache::InodeCache: constructor err %d\n"
+TRCID_       0x9818 TRACE_FSCK          "InodeCache::getInode: iNum %d snap %d, err %d\n"
+TRCID_       0x9819 TRACE_FSCK          "InodeCache::flushCache: flush inode %d snap %d, nInodes %d, record %d\n"
+TRCID_       0x981A TRACE_FSCK          "InodeCache::flushCache: exit, record %d, nInodes %d, err %d\n"
+TRCID_       0x981B TRACE_FSCK          "IndirectCache::getIndirect: inode %d level %d blockNum 0x%llX error %d\n"
+TRCID_       0x981C TRACE_FSCK          "IndirectCache::IndirectCache: new storage %d\n"
+TRCID_       0x981D TRACE_FSCK          "IndirectCache::IndirectCache: constructor err %d\n"
+TRCID_       0x981E TRACE_FSCK          "IndirectCache::flushCache: inode %d snap %d, level %d, blockNum 0x%llX, sectors %d\n"
+TRCID_       0x981F TRACE_FSCK          "IndirectCache::flushCache: exit, err %d\n"
+TRCID_       0x9820 TRACE_FSCK          "InodeSegmentCache: inodesPerSegment %d deleteLLFile %d size %d noOpen %d\n"
+TRCID_       0x9821 TRACE_FSCK          "InodeSegmentCache: constructor err %d\n"
+TRCID_       0x9822 TRACE_FSCK          "InodeSegmentCache::getSegment: record %d NOT cached.\n"
+TRCID_       0x9823 TRACE_FSCK          "InodeSegmentCache::getSegment: record %d cached.\n"
+TRCID_       0x9824 TRACE_FSCK          "InodeSegmentCache::getSegment: exit, record %d, error %d\n"
+TRCID_       0x9825 TRACE_FSCK          "InodeSegmentCache::flushCache: record %d.\n"
+TRCID_       0x9826 TRACE_FSCK          "InodeSegmentCache::flushCache: record %d, error %d\n"
+TRCID_       0x9827 TRACE_FSCK          "BlockSegmentCache: alloc seg bytes %d, seg per read %d, cache bytes %d size %d deleteLLFile %d noOpen %d\n"
+TRCID_       0x9828 TRACE_FSCK          "BlockSegmentCache: constructor err %d\n"
+TRCID_       0x9829 TRACE_FSCK          "BlockSegmentCache: open poolId %d prev poolId %d"
+TRCID_       0x982A TRACE_FSCK          "BlockSegmentCache: open poolId %d complete, err %d"
+TRCID_       0x982B TRACE_FSCK          "BlockSegmentCache::getSegment: record %d NOT cached.\n"
+TRCID_       0x982C TRACE_FSCK          "BlockSegmentCache::getSegment: record %d cached.\n"
+TRCID_       0x982D TRACE_FSCK          "BlockSegmentCache::getSegment: record %d error %d\n"
+TRCID_       0x982E TRACE_FSCK          "BlockSegmentCache::getOnlineSegment: poolId %d record %d NOT cached."
+TRCID_       0x982F TRACE_FSCK          "BlockSegmentCache::getSegment: record %d cached.\n"
+TRCID_       0x9830 TRACE_FSCK          "BlockSegmentCache::getOnlineSegment: record %d error %d\n"
+TRCID_       0x9831 TRACE_FSCK          "BlockAllocSegment::flushCache: flush poolId %d records %d thru %d"
+TRCID_       0x9832 TRACE_FSCK          "BlockAllocSegment::flushCache: segment records %d thru %d err %d\n"
+TRCID_       0x9833 TRACE_FSCK          "AclCache::AclCache: new storage %d\n"
+TRCID_       0x9834 TRACE_FSCK          "AclCache::AclCache: constructor err %d\n"
+TRCID_       0x9835 TRACE_FSCK          "getAcl: aclRef %d, fileOff %d, relOff %d, err %d\n"
+TRCID_       0x9836 TRACE_FSCK          "InodeProblemList: new storage %d\n"
+TRCID_       0x9837 TRACE_FSCK          "InodeProblemList::Export: err %d, inLength %d, outLength %d\n"
+TRCID_       0x9838 TRACE_FSCK          "InodeProblemList::import: err %d, nUsed %d, length %d\n"
+TRCID_       0x9839 TRACE_FSCK          "FsckBitmap::FsckBitmap: nBits %lld blockSize %d"
+TRCID_       0x983A TRACE_FSCK          "FsckBitmap::FsckBitmap: constructor err %d\n"
+TRCID_       0x983B TRACE_FSCK          "FsckBitmap::reinit nBits %lld nTotalWords %llu nSegs %d blockSize %d"
+TRCID_       0x983C TRACE_FSCK          "FsckBitmap::reinit err %d\n"
+TRCID_       0x983D TRACE_FSCK          "FsckBitmap::reset newNBits %lld oldNBits %lld nSegs %d segSize %d"
+TRCID_       0x983E TRACE_FSCK          "FsckBitmap::reset nBits %lld err %d"
+TRCID_       0x983F TRACE_FSCK          "markLowSector: mark sector0, disk %d, poolId %d region %d, subblock %d, nSubblocks 1\n"
+TRCID_       0x9840 TRACE_FSCK          "markLowSector: mark align offset, disk %d, region %d, subblock 0, nSubblocks %d\n"
+TRCID_       0x9841 TRACE_FSCK          "markLowSector: mark DiskDesc, disk %d, region %d, subblock %d, nSubblocks 1\n"
+TRCID_       0x9842 TRACE_FSCK          "markLowSector: sgP->getDisk(%d) returned NULL (deleted)\n"
+TRCID_       0x9843 TRACE_FSCK          "markLowSector: mark reserved, disk %d, sector %ld, maxSector %ld"
+TRCID_       0x9844 TRACE_FSCK          "markLowSector: mark SGDesc, disk %d, sector %ld, maxSector %ld"
+TRCID_       0x9845 TRACE_FSCK          "markLowSector: mark PX sectors disk %d sector %ld maxSector %ld"
+TRCID_       0x9846 TRACE_FSCK          "markLowSector: mark inode 0, disk %d, sector %ld, maxSector %ld"
+TRCID_       0x9847 TRACE_FSCK          "markUnavail: diskNum %d poolId %d subblockOnDisk %lld lastUnavailSubblock %lld"
+TRCID_       0x9848 TRACE_FSCK          "initSubblockMap poolId %d regNo %d %d mark %d nRegs %d nSubs %lld total %lld"
+TRCID_       0x9849 TRACE_FSCK          "FsckSubblockMap::Export: inLength %d, outLength %d, requestRegion %d, outRegion %d, nPossible %d, exportable %d, poolId %d err %d"
+TRCID_       0x984A TRACE_FSCK          "FsckSubblockMap::import: poolId %d firstRegion %d, lastRegion %d, length %d, err %d"
+TRCID_       0x984B TRACE_FSCK          "FsckInodeMap::Export: requestInode %d, outInode %d, inLength %d, outLength %d, bitIndex 0x%llX, length %d, err %d\n"
+TRCID_       0x984C TRACE_FSCK          "FsckInodeMap::import: firstInode %d, lastInode %d, length %d\n"
+TRCID_       0x984D TRACE_FSCK          "diskInfo %d poolId %d nSub %d unAv %d sbitOff %d bytes %d tot %lld"
+TRCID_       0x984E TRACE_FSCK          "DiskInfo::DiskInfo: nDisks %d, error %d\n"
+TRCID_       0x984F TRACE_FSCK          "onlineAllocOccurred: disk %d, region %d, subblock %d, nSubblocks %d, fsName %s\n"
+TRCID_       0x9850 TRACE_FSCK          "bcastAllocCheckBegin: exit beginRegion %d, endRegion %d, err %d\n"
+TRCID_       0x9851 TRACE_FSCK          "bcastAllocCheckEnd: exit err %d\n"
+TRCID_       0x9852 TRACE_FSCK          "bcastAllocCheckTerminate: exit err %d severity %d\n"
+TRCID_       0x9853 TRACE_FSCK          "updateOnlineFsckMap: addr %d disknum %d sector %lld nSubblocks %d\n"
+TRCID_       0x9854 TRACE_FSCK          "begin: poolId %d lowRegion %d, highRegion %d, regionsPerPass %d"
+TRCID_       0x9855 TRACE_FSCK          "begin: bringing sgP 0x%lX online\n"
+TRCID_       0x9856 TRACE_FSCK          "begin: exit status %d err %d code %d\n"
+TRCID_       0x9857 TRACE_FSCK          "checkRegions begin: phase %d, poolId %d lowRegion %d, highRegion %d, beginInode %d, endInode %d, mgrNode %s"
+TRCID_       0x9858 TRACE_FSCK          "checkInodeRange: enter first %d, last %d, phase %d, inodesPerChunk %d, cacheP 0x%lX\n"
+TRCID_       0x9859 TRACE_FSCK          "checkInodeRange: chunk %d, first inode %lld, last %lld, snap %d\n"
+TRCID_       0x985A TRACE_FSCK          "checkInodeRange: exit first %d, last %d, cacheP 0x%lX, err %d\n"
+TRCID_       0x985B TRACE_FSCK          "checkInodeMeta: Inode %d snap %d bad replica count: current %d max %d\n"
+TRCID_       0x985C TRACE_FSCK          "checkInodeMeta: Inode %d snap %d bad replica count: current %d max %d\n"
+TRCID_       0x985D TRACE_FSCK          "checkInodeMeta: Inode %d snap %d bad replica count: current %d max %d\n"
+TRCID_       0x985E TRACE_FSCK          "checkInodeMeta: Inode %d snap %d bad replica count: current %d max %d\n"
+TRCID_       0x985F TRACE_FSCK          "checkInodeMeta: Inode %d snap %d invalid filesetId %d"
+TRCID_       0x9860 TRACE_FSCK          "checkInodeMeta: Inode %d snap %d non zero reserved field\n"
+TRCID_       0x9861 TRACE_FSCK          "checkInodeMeta: inode %d snap %d bad size 0x%llX for INDIRECTION_INODE\n"
+TRCID_       0x9862 TRACE_FSCK          "checkInodeMeta: inode %d snap %d is INDIRECT_INODE but not special.\n"
+TRCID_       0x9863 TRACE_FSCK          "checkInodeMeta: inode %d snap %d has bad indirection level %d\n"
+TRCID_       0x9864 TRACE_FSCK          "checkOrFixInodeMeta, phase %d, nSanHyperAddrs %lld, stats.nSanHyperAllocAddrs %lld\n"
+TRCID_       0x9865 TRACE_FSCK          "checkOrFixInodeMeta, phase %d, isSanHyperAlloc %d, stats.nInodesSanHyperAlloc %d\n"
+TRCID_       0x9866 TRACE_FSCK          "checkInodeMeta: Inode %d snap %d checksum bad\n"
+TRCID_       0x9867 TRACE_FSCK          "fixFatalInodes: inode %d snap %d fatalRespGiven %d\n"
+TRCID_       0x9868 TRACE_FSCK          "checkOrFixBlocks: Cannot access parent indirect of inode %d snap %d, at level %d, blockNum 0x%llXX, err %d\n"
+TRCID_       0x9869 TRACE_FSCK          "checkOrFixBlocks: Cannot access indirect of inode %d snap %d level %d index %d err %d\n"
+TRCID_       0x986A TRACE_FSCK          "checkOrFixBlocks: inode %d snap %d bad rep status, exposed %d, illReplicated %d, should be exposed %d, illReplicated %d.\n"
+TRCID_       0x986B TRACE_FSCK          "checkOrFixAddr: phase %d inode %d snap %d sanergy phantom at level %d block 0x%llX and index %d sanPhantonCount %d\n"
+TRCID_       0x986C TRACE_FSCK          "checkOrFixAddr: inode %d snap %d broken address at level %d block 0x%llX and index %d\n"
+TRCID_       0x986D TRACE_FSCK          "checkOrFixAddr: inode %d snap %d corrupt addr, nSubblocks %d, disk %d, sector %ld, deleted %d, feasible %d\n"
+TRCID_       0x986E TRACE_FSCK          "checkOrFixAddr: inode %d snap %d dup frag, disk %d, region %d, subblock %d, nSubblocks %d\n"
+TRCID_       0x986F TRACE_FSCK          "checkOrFixSize: inode %d has sanergy phantom blocks\n"
+TRCID_       0x9870 TRACE_FSCK          "checkOrFixSize: inode %d snap %d fullBlocks 0x%llX should be 0x%llX\n"
+TRCID_       0x9871 TRACE_FSCK          "checkOrFixSize: inode %d snap %d lastBlockSubblocks %d should be %d\n"
+TRCID_       0x9872 TRACE_FSCK          "checkOrFixSize: inode %d snap %d filesize %llX should be 0x%llX\n"
+TRCID_       0x9873 TRACE_FSCK          "fsck::deallocInode: inode %d snap %d noScan %d\n"
+TRCID_       0x9874 TRACE_FSCK          "checkOrFixIndirectHeader: bad header, (inode) inum %d snap %d, level %d, block 0x%llX, gen 0x%08X; (indirect) inum %d ibLevel %d, block 0x%llX, gen 0x%08X\n"
+TRCID_       0x9875 TRACE_FSCK          "doOneStep: step %d firstInode %d last %d snap %d threadP 0x%lX\n"
+TRCID_       0x9876 TRACE_FSCK          "doIsRendezvous: step %d, threadP 0x%lX\n"
+TRCID_       0x9877 TRACE_FSCK          "doRendezvous: step %d, firstLocked %lld, lastLocked %lld, next rendezvous %d, threadP 0x%lX, err %d\n"
+TRCID_       0x9878 TRACE_FSCK          "CheckInodesWork::start: nThreads %d, firstLocked %lld, lastLocked %lld\n"
+TRCID_       0x9879 TRACE_FSCK          "CheckInodesWork::start: exit err %d\n"
+TRCID_       0x987A TRACE_FSCK          "initThreads: phase %d, nSteps %d, firstInode %lld, lastInode %lld, firstCached %lld, lastCached %lld, nextRendezvous %d\n"
+TRCID_       0x987B TRACE_FSCK          "Fsck::fixAclFile: enter, regenerating ACL file\n"
+TRCID_       0x987C TRACE_FSCK          "recreateAclFile: new storage %d\n"
+TRCID_       0x987D TRACE_FSCK          "fixAclFile: err %d regenerating ACL file\n"
+TRCID_       0x987E TRACE_FSCK          "checkAndFixInodeMap: enter, r1 inodes %d, r2 inodes %d, nSegs %d\n"
+TRCID_       0x987F TRACE_FSCK          "checkAndFixInodeMap: getSegment of record %d, error %d\n"
+TRCID_       0x9880 TRACE_FSCK          "checkAndFixInodeMap: segmentDataLen short (is %d, need %d), inodesPerSeg %d, bytes %d\n"
+TRCID_       0x9881 TRACE_FSCK          "checkAndFixInodeMap: alloc FatBitmap error %d, inodesPerSeg %d, bytes %d\n"
+TRCID_       0x9882 TRACE_FSCK          "checkAndFixInodeMap: scanning, inodes %d, bytesInMap %d, bytesInOldMap %d, version %d\n"
+TRCID_       0x9883 TRACE_FSCK          "checkAndFixInodeMap: inode %d is reserved but marked free (0x%X)"
+TRCID_       0x9884 TRACE_FSCK          "checkAndFixInodeMap: inode %d in use but not marked (0x%X)\n"
+TRCID_       0x9885 TRACE_FSCK          "checkAndFixInodeMap: inode %d NOT in use but marked (0x%X)\n"
+TRCID_       0x9886 TRACE_FSCK          "checkAndFixInodeMap: exit error %d\n"
+TRCID_       0x9887 TRACE_FSCK          "checkDup: inode %d snap %d markFrag, diskNum %d, region %d, subblock %d, nSubblocks %d\n"
+TRCID_       0x9888 TRACE_FSCK          "checkDup: inode %d snap %d dup frag, diskNum %d, region %d, subblock %d len %d\n"
+TRCID_       0x9889 TRACE_FSCK          "deallocFrags: diskNum %d, region %d, subblock %d, len %d, err %d\n"
+TRCID_       0x988A TRACE_FSCK          "checkAndFixBlockMap: syncFSWait() error %d"
+TRCID_       0x988B TRACE_FSCK          "checkAndFixBlockMap: segNum %d being checked but has stopped alloc notification.\n"
+TRCID_       0x988C TRACE_FSCK          "checkAndFixBlockMap: getSegment of record %d error %d\n"
+TRCID_       0x988D TRACE_FSCK          "checkAndFixBlockMap: getSegment of record %d error %d\n"
+TRCID_       0x988E TRACE_FSCK          "checkAndFixBlockMap: disk num %d, magic is 0x%X, should be 0x%X\n"
+TRCID_       0x988F TRACE_FSCK          "checkAndFixBlockMap: subblock2Sector region %d, disk %d, subblock %d\n"
+TRCID_       0x9890 TRACE_FSCK          "checkAndFixBlockMap: mismatch! disk %d, region %d subblock %d, chunkIndex %d, ondisk 0x%X != 0x%X, dealloc 0x%X\n"
+TRCID_       0x9891 TRACE_FSCK          "checkAndFixBlockMap: suballoc structure incorrect! disk %d region %d"
+TRCID_       0x9892 TRACE_FSCK          "checkAndFixBlockMapPtr:\n"
+TRCID_       0x9893 TRACE_FSCK          "Fsck::checkAndFixBlockMapPtr: inode %d, poolId %d link %d, allocated %d"
+TRCID_       0x9894 TRACE_FSCK          "dumpDeallocAddr: diskNum %d, sector %ld, subblocks %d\n"
+TRCID_       0x9895 TRACE_FSCK          "createNewLogs: need to create logs.\n"
+TRCID_       0x9896 TRACE_FSCK          "makeMoreLogs: numNeeded %d, numSlots %d\n"
+TRCID_       0x9897 TRACE_FSCK          "makeMoreLogs: exit created %d err %d"
+TRCID_       0x9898 TRACE_FSCK          "checkAndFixLogPtr: inode %d, gen %d != gen %d, index %d\n"
+TRCID_       0x9899 TRACE_FSCK          "checkLogPtr: log inode %d, link %d > 1\n"
+TRCID_       0x989A TRACE_FSCK          "checkDirRange: enter first %d, last %d, snap %d phase %d, inodesPerChunk %d, cacheP 0x%lX\n"
+TRCID_       0x989B TRACE_FSCK          "checkDirRange: chunk %d, first inode %lld, last %lld, snap %d\n"
+TRCID_       0x989C TRACE_FSCK          "checkDirRange: exit first %d, last %d, cacheP 0x%lX, err %d\n"
+TRCID_       0x989D TRACE_FSCK          "checkOrFixInodeDir: manual scan for .. in inode %d snap %d\n"
+TRCID_       0x989E TRACE_FSCK          "checkOrFixInodeDir: can't find .. entry in inode %d snap %d\n"
+TRCID_       0x989F TRACE_FSCK          "checkOrFixDirEntries: inode %d snap %d (alloc %d) has nlink %d, should be %d\n"
+TRCID_       0x98A0 TRACE_FSCK          "startDir: inode %d snap %d open err %d\n"
+TRCID_       0x98A1 TRACE_FSCK          "startDir: inode %d snap %d accessDir err %d\n"
+TRCID_       0x98A2 TRACE_FSCK          "startDir: inode %d snap %d (alloc %d), block %lld, check err %d\n"
+TRCID_       0x98A3 TRACE_FSCK          "startDir: inode %d snap %d, rebuild err %d\n"
+TRCID_       0x98A4 TRACE_FSCK          "startDir: inode %d snap %d check err %d after rebuild\n"
+TRCID_       0x98A5 TRACE_FSCK          "startDir: inode %d snap %d cleared block %lld hashLevel %d\n"
+TRCID_       0x98A6 TRACE_FSCK          "fixDirBlock: dir inode %d snap %d block %lld has no sibling\n"
+TRCID_       0x98A7 TRACE_FSCK          "fixDirBlock: dir inode %d snap %d block %lld hashLevel %d should be %d\n"
+TRCID_       0x98A8 TRACE_FSCK          "fixDirBlock: dir inode %d snap %d fileset %d filesetId mismatch entry inode %d fileset %d name %s"
+TRCID_       0x98A9 TRACE_FSCK          "fixDirBlock: dir inode %d snap %d (alloc %d) offset %i genNum %d for inode %d snap %d, genNum %d\n"
+TRCID_       0x98AA TRACE_FSCK          "fixDirBlock: dir inode %d snap %d (alloc %d) offset %i points to dir inode %d snap %d with parent dotdot inode %d\n"
+TRCID_       0x98AB TRACE_FSCK          "fixDirBlock: dir inode %d snap %d entry %s inode %d fileset %d is %sfileset root, but junction bit is %sset"
+TRCID_       0x98AC TRACE_FSCK          "fixDirBlock: dir inode %d snap %d (alloc %d) offset %i points to unallocated inode %d\n"
+TRCID_       0x98AD TRACE_FSCK          "fixDirBlock: dir inode %d snap %d (alloc %d) offset %i bad genNum %d for inode %d genNum %d\n"
+TRCID_       0x98AE TRACE_FSCK          "fixDirBlock: dir inode %d snap %d (alloc %d) offset %i too many links for inode %d\n"
+TRCID_       0x98AF TRACE_FSCK          "fixDirBlock: dir inode %d snap %d entry %s inode %d junction bit set for a regular file"
+TRCID_       0x98B0 TRACE_FSCK          "removeDir: enter inode %d snap %d, block %lld\n"
+TRCID_       0x98B1 TRACE_FSCK          "removeDir: inode %d snap %d, block %lld, accessDir err %d\n"
+TRCID_       0x98B2 TRACE_FSCK          "removeDir: parent inode %d snap %d, block %lld, access err %d\n"
+TRCID_       0x98B3 TRACE_FSCK          "removeDir: inode %d snap %d, parent inode %d snap %d, found entry %d\n"
+TRCID_       0x98B4 TRACE_FSCK          "removeDir: inode %d snap %d, parent inode %d snap %d, err %d\n"
+TRCID_       0x98B5 TRACE_FSCK          "fixCycle: inode %d snap %d, exit err %d\n"
+TRCID_       0x98B6 TRACE_FSCK          "checkAndFixCycles: dir inode %d snap %d cycle at inode %d.\n"
+TRCID_       0x98B7 TRACE_FSCK          "checkAndFixCycles: snap %d exit err %d\n"
+TRCID_       0x98B8 TRACE_FSCK          "checkAndFixLinkAndOrphans: snap %d exit err %d\n"
+TRCID_       0x98B9 TRACE_FSCK          "fixNotReferenced: move inode %d snap %d, fileset %d gen 0x%X, isDir %d, to L+F\n"
+TRCID_       0x98BA TRACE_FSCK          "fixNotReferenced: inode %d snap %d fileset %d, exit err %d\n"
+TRCID_       0x98BB TRACE_FSCK          "fixLinkCount: inode %d snap %d, gen 0x%X, new link count %d\n"
+TRCID_       0x98BC TRACE_FSCK          "fixLinkCount: inode %d snap %d, exit err %d\n"
+TRCID_       0x98BD TRACE_FSCK          "checkOrFixFilesetRootBit: inode %d snap %d fileset %d isDir %d isFilesetRoot %d fileset root inode %d"
+TRCID_       0x98BE TRACE_FSCK          "checkXAttrPtr: xattr inode %d\n"
+TRCID_       0x98BF TRACE_FSCK          "Fsck::checkXAttrPtr: bad xattr %d, link %d, allocated %d\n"
+TRCID_       0x98C0 TRACE_FSCK          "checkPolicyFilePtr: policy file inode %d\n"
+TRCID_       0x98C1 TRACE_FSCK          "Fsck::checkPolicyPtr: bad or suspect policy inode %d, link %d, allocated %d\n"
+TRCID_       0x98C2 TRACE_FSCK          "checkPolicyFile: policy file inode %d\n"
+TRCID_       0x98C3 TRACE_FSCK          "deletePolicyFile: policy file inode %d\n"
+TRCID_       0x98C4 TRACE_FSCK          "DupFragList: new storage %d\n"
+TRCID_       0x98C5 TRACE_FSCK          "newDupFrag: diskNum %d, region %d, subblock %d, nSubblocks %d, nUsed %d, nSlots %d\n"
+TRCID_       0x98C6 TRACE_FSCK          "DupFragList::Export: err %d, nUsed %d, outLength %d, inLength %d\n"
+TRCID_       0x98C7 TRACE_FSCK          "DupFragList::import: err %d, nUsed %d, nSlots %d, length %d\n"
+TRCID_       0x98C8 TRACE_FSCK          "sortDupFrags: before sort (nUsed %d, nSorted %d), after (%d)\n"
+TRCID_       0x98C9 TRACE_FSCK          "BlockCompare: new storage %d\n"
+TRCID_       0x98CA TRACE_FSCK          "compare: inode %d snap %d block mismatch daBlock 0x%llX index in RepDiskAddr %d nSubblocks %d daLevel %d nSegsThisBlock %d err %d\n"
+TRCID_       0x98CB TRACE_FSCK          "setToReference: inode %d snap %d, daBlock 0x%llX, index in RepDiskAddr %d, nSubblocks %d daLevel %d, err %d\n"
+TRCID_       0x98CC TRACE_FSCK          "waitWorkers: waiting, nWorkers %d\n"
+TRCID_       0x98CD TRACE_FSCK          "ParallelWork::getStep exit: newStep %d, err %d, nWorkers %d, node %s\n"
+TRCID_       0x98CE TRACE_FSCK          "ParallelWork::endStep: ending step %d, err %d, nStepsCompleted %d nWorkers %d, node %s\n"
+TRCID_       0x98CF TRACE_FSCK          "ParallelWork::handleNodeFailure: pfsck step %d failed on specific node %s\n"
+TRCID_       0x98D0 TRACE_FSCK          "ParallelWork::handleNodeFailure: pfsck step %d failed on node %s\n"
+TRCID_       0x98D1 TRACE_FSCK          "pfsckStartMH begin: phase %d, lowRegion %d, highRegion %d, options %d, nThreads %d, varLength %d, sgName %s\n"
+TRCID_       0x98D2 TRACE_FSCK          "pfsckStartMH: exit err %d\n"
+TRCID_       0x98D3 TRACE_FSCK          "pfsckWorkerThreadH: start error %d\n"
+TRCID_       0x98D4 TRACE_FSCK          "clientCheckRegions: Old step %d, phase %d, poolId %d lowRegion %d, highRegion %d, beginInode %d, endInode %d, err %d"
+TRCID_       0x98D5 TRACE_FSCK          "clientCheckRegions: Ending. No work. Reply err %d.\n"
+TRCID_       0x98D6 TRACE_FSCK          "clientCheckRegions: New step %d, phase %d, poolId %d lowRegion %d, highRegion %d, beginInode %d, endInode %d\n"
+TRCID_       0x98D7 TRACE_FSCK          "clientCheckRegions: error contacting SGMgr status %d err %d\n"
+TRCID_       0x98D8 TRACE_FSCK          "pfsckGetStepMH begin: prev step %d, prev err %d, sgID %s\n"
+TRCID_       0x98D9 TRACE_FSCK          "pfsckGetStepMH end: err %d, sgID %s\n"
+TRCID_       0x98DA TRACE_FSCK          "pfsckWorkInfoMH begin: msgType %d, sgID %s\n"
+TRCID_       0x98DB TRACE_FSCK          "pfsckWorkInfoMH end: msgType %d, err %d, sgID %s\n"
+TRCID_       0x98DC TRACE_FSCK          "pfsckStopMH begin: msgType %d, sgID %s\n"
+TRCID_       0x98DD TRACE_FSCK          "pfsckStopMH end: err %d, sgID %s\n"
+TRCID_       0x98DE TRACE_FSCK          "doCheckRegions: Start phase %d, nNodes %d, poolId %d lowRegion %d, highRegion %d, nInodes %d, options %d, nThreads %d, nSteps %d, perStep %d\n"
+TRCID_       0x98DF TRACE_FSCK          "doCheckRegions: send failed on %d nodes, send succes %d.\n"
+TRCID_       0x98E0 TRACE_FSCK          "doCheckRegions: %d nodes refuse to help, %d started.\n"
+TRCID_       0x98E1 TRACE_FSCK          "doCheckRegions: New step %d, phase %d, poolId %d lowRegion %d, highRegion %d, beginInode %d, endInode %d\n"
+TRCID_       0x98E2 TRACE_FSCK          "doCheckRegions: Old step %d, phase %d, poolId %d lowRegion %d, highRegion %d, beginInode %d, endInode %d, err %d\n"
+TRCID_       0x98E3 TRACE_FSCK          "doCheckRegions: main thread wait ending to process steps.\n"
+TRCID_       0x98E4 TRACE_FSCK          "doCheckRegions: phase %d, poolId %d lowRegion %d, highRegion %d, error %d\n"
+TRCID_       0x98E5 TRACE_FSCK          "ParallelFsck::doStop: stop %s clients %d\n"
+TRCID_       0x98E6 TRACE_FSCK          "doStop: send failed on %d nodes, send success %d.\n"
+TRCID_       0x98E7 TRACE_FSCK          "doStop: %d nodes didn't explicitly stop, %d stopped.\n"
+TRCID_       0x98E8 TRACE_FSCK          "clientExportWorkInfo: error requesting to send, status %d err %d\n"
+TRCID_       0x98E9 TRACE_FSCK          "clientExportWorkInfo: wait to send.\n"
+TRCID_       0x98EA TRACE_FSCK          "Fsck::Export (1): error sending data, status %d err %d\n"
+TRCID_       0x98EB TRACE_FSCK          "Fsck::Export (2): error sending data, status %d err %d\n"
+TRCID_       0x98EC TRACE_FSCK          "Fsck::Export (3): error sending data, status %d err %d\n"
+TRCID_       0x98ED TRACE_FSCK          "Fsck::Export (4): error sending data, status %d err %d\n"
+TRCID_       0x98EE TRACE_FSCK          "clientWorkInfoSend: exit err %d\n"
+TRCID_       0x98EF TRACE_FSCK          "serverWorkInfoReceive: exit err %d\n"
+TRCID_       0x98F0 TRACE_FSCK          "workInfoMH: receiving msgType %d, from %s\n"
+TRCID_       0x98F1 TRACE_FSCK          "workInfoMH exit: pWorkInfoReceiveP->msgType %d, err %d\n"
+TRCID_       0x98F2 TRACE_FSCK          "getStepMH: (node %s err %d phase %d lreg %d hreg %d) phase %d lreg %d hreg %d\n"
+TRCID_       0x98F3 TRACE_FSCK          "handleNodeFailurePhase0: pfsck node %s\n"
+TRCID_       0x98F4 TRACE_FSCK          "informNextWaiter: Sending (ok to send) to %s\n"
+TRCID_       0x98F5 TRACE_FSCK          "informNextWaiter: error informing waiter, status %d, err %d, node %s\n"
+TRCID_       0x98F6 TRACE_FSCK          "receivedQueue: prior import receipt found. step %d, dups %d, probs %d, stats %d, iMap %d, bMap %d inode start %d end %d, region poolId %d start %d end %d"
+TRCID_       0x98F7 TRACE_FSCK          "receivedDequeue: end dequeue step %d, found %d\n"
+TRCID_       0x98F8 TRACE_FSCK          "checkAndFixSumFilePtr: summary file inode %d\n"
+TRCID_       0x98F9 TRACE_FSCK          "Fsck::checkAndFixSumFilePtr: bad sum file inode %d, poolId %d link %d, allocated %d\n"
+TRCID_       0x98FA TRACE_FSCK          "readFilesetMetadata: nFilesets %d maxFilesetId %d firstTry %d origErr %d err %d"
+TRCID_       0x98FB TRACE_FSCK          "Fsck::checkAndFixFilesets: suspect filesets metadata file: inode %d calcLink %d allocated %d"
+TRCID_       0x98FC TRACE_FSCK          "checkAndFixFilesets: err %d"
+TRCID_       0x98FD TRACE_FSCK          "Fsck::checkAndFixFilesetMetadataFileHeader: nFilesets %d err %d"
+TRCID_       0x98FE TRACE_FSCK          "checkAndFixFilesetRoot: fileset %d root inode %d isFilesetRoot %d"
+TRCID_       0x98FF TRACE_FSCK          "checkAndFixFilesetRoot: filesetId %d new inode num %d err %d"
+TRCID_       0x9900 TRACE_FSCK          "Fsck::registerFileset: new observed fileset 0x%lX, id %d iNum %d"
+TRCID_       0x9901 TRACE_FSCK          "Fsck::registerFileset: new fileset root, filesetP 0x%lX, id %d iNum %d"
+TRCID_       0x9902 TRACE_FSCK          "Fsck::registerFileset: dup fileset root, filesetP 0x%lX, id %d old inum %d new inum %d"
+TRCID_       0x9903 TRACE_FSCK          "writeFilesetMetadataRecord: filesetP 0x%lX id %d err %d"
+TRCID_       0x9904 TRACE_FSCK          "reconcileFilesetMetadata: err %d"
+TRCID_       0x9905 TRACE_FSCK          "createFilesetMetadataFile: new ino %d code %d err %d"
+TRCID_       0x9906 TRACE_FSCK          "updateDirEntry: entry inode %d gen %d isJunction %d entryName %s"
+TRCID_       0x9907 TRACE_FSCK          "updateDirEntry: directory inode %d snap %d err %d"
+TRCID_       0x9908 TRACE_FSCK          "unlinkUnreferencedFileset: filesetId %d status %d inode %d"
+TRCID_       0x9909 TRACE_FSCK          "setDirEntryJunctionBit: entry inode %d name %s isJunction %d err %d"
+TRCID_       0x990A TRACE_FSCK          "checkOrFixFilesetRootInodes: fileset %d root inode %d badInode %d badFilesetId %d code %d"
+TRCID_       0x990B TRACE_FSCK          "checkOrFixFilesetRootInodes: err %d"
+TRCID_       0x990C TRACE_FSCK          "checkAndFixFilesetStatus: fileset %d orig status %d new status %d"
+TRCID_       0x990D TRACE_FSCK          "IndirectCache::getIndirect: flushCache failed err %d"
+TRCID_       0x990E TRACE_FSCK          "reconcileFilesetMetadata: maxFilesetId %d recreate %d open %d"
+TRCID_       0x990F TRACE_FSCK          "Error accessing inode file for snapshot %d err %d"
+TRCID_       0x9910 TRACE_FSCK          "createLogFile: on disk %d"
+TRCID_       0x9911 TRACE_FSCK          "createLogFile: exit ino %d code %d err %d"
+TRCID_       0x9912 TRACE_FSCK          "createNewLogs: exit nLogs %d code %d err %d"
+TRCID_       0x9913 TRACE_FSCK          "checkOrFixInodeMeta: removing log inode %d from SGDesc"
+TRCID_       0x9914 TRACE_FSCK          "fixDirBlock: dir inode %d snap %d block %lld hashes to block %d entry inode %d name %s"
+TRCID_       0x9915 TRACE_FS            "fixNotReferenced: cannot insert inode %d: lost+found for fileset %s already at max link count\n"
+TRCID_       0x9916 TRACE_FS            "fixNotReferenced: cannot insert inode %d: lost+found for fileset %s already at max link count\n"
+TRCID_       0x9917 TRACE_FSCK          "ParallelWork::handleSGPanic: called\n"
+TRCID_       0x9918 TRACE_FSCK          "ParallelWork::waitWorkers: SG Panic\n"
+TRCID_       0xA001 TRACE_VNODE         "cxiIncModuleCounter: ibmModule 0x%X up %d\n"
+TRCID_       0xA002 TRACE_SHARED        "gpfs_init: prog_path %s length %d too long\n"
+TRCID_       0xA003 TRACE_SHARED        "init_module: prog_path %s\n"
+TRCID_       0xA004 TRACE_BOPS          "gpfs_fb_read: enter file 0x%X buf 0x%X nbytes %d\n"
+TRCID_       0xA005 TRACE_BOPS          "gpfs_fb_read: exit written %d\n"
+TRCID_       0xA006 TRACE_BOPS          "gpfs_fb_write: enter file 0x%X buf 0x%X nbytes %d\n"
+TRCID_       0xA007 TRACE_BOPS          "gpfs_fb_open: inode 0x%X file 0x%X\n"
+TRCID_       0xA008 TRACE_BOPS          "gpfs_fb_open: exit bdP 0x%lX openers %d count %d\n"
+TRCID_       0xA009 TRACE_BOPS          "gpfs_fb_release: inode 0x%X file 0x%X\n"
+TRCID_       0xA00A TRACE_BOPS          "gpfs_fb_release: exit bdP 0x%lX openers %d count %d\n"
+TRCID_       0xA00B TRACE_BOPS          "gpfs_fb_ioctl: inode 0x%X file 0x%X p1 %d p2 %d\n"
+TRCID_       0xA00C TRACE_BOPS          "gpfs_b_open: inode 0x%X file 0x%X\n"
+TRCID_       0xA00D TRACE_BOPS          "gpfs_b_open: exit bdP 0x%lX openers %d count %d\n"
+TRCID_       0xA00E TRACE_BOPS          "gpfs_b_release: inode 0x%X file 0x%X\n"
+TRCID_       0xA00F TRACE_BOPS          "gpfs_b_release: exit bdP 0x%lX openers %d count %d\n"
+TRCID_       0xA010 TRACE_BOPS          "gpfs_fb_ioctl: inode 0x%X file 0x%X p1 %d p2 %d\n"
+TRCID_       0xA011 TRACE_BOPS          "gpfs_block_init: unable to get major %d rc %d\n"
+TRCID_       0xA012 TRACE_BOPS          "gpfs_block_init: register_blkdev %d rc %d\n"
+TRCID_       0xA013 TRACE_BOPS          "gpfs_block_clean: unregister_blkdev %d rc %d\n"
+TRCID_       0xA014 TRACE_VNODE         "cxiPruneDCacheEntry: iP 0x%lX inode %d"
+TRCID_       0xA015 TRACE_VNODE         "cxiPruneDCacheEntry: ip 0x%lX ino %d alias dentry 0x%lX hasSubdirs %d name '%s'"
+TRCID_       0xA016 TRACE_VNODE         "cxiInvalidateDCacheEntry: ip 0x%lX inode %d"
+TRCID_       0xA017 TRACE_VNODE         "cxiInvalidateDCacheEntry: ip 0x%lX ino %d alias dentry 0x%lX name '%s'"
+TRCID_       0xA018 TRACE_VNODE         "cxiDropInvalidDCacheEntry: iP 0x%lX i_ino %d"
+TRCID_       0xA019 TRACE_VNODE         "cxiDropInvalidDCacheEntry: ip 0x%lX ino %d removing dentry 0x%lX name '%s'\n"
+TRCID_       0xA01A TRACE_VNODE         "cxiInvalidateNegDCacheEntry: iP 0x%lX inode %d"
+TRCID_       0xA01B TRACE_VNODE         "cxiInvalidateNegDCacheEntry: ip 0x%lX ino %d %s dentry 0x%lX name '%s'"
+TRCID_       0xA01C TRACE_VNODE         "gpfs_d_invalid: dentry 0x%lX d_inode 0x%lX name '%s' is invalid"
+TRCID_       0xA01D TRACE_VNODE         "gpfs_d_revalidate enter: dentry 0x%lX d_inode 0x%lX inum %d parent 0x%lX cwd 0x%lX d_name '%s'"
+TRCID_       0xA01E TRACE_VNODE         "gpfs_d_revalidate exit: dentry 0x%lX rc %d\n"
+TRCID_       0xA01F TRACE_VNODE         "gpfs_d_valid_if_Samba: dentry 0x%lX d_inode 0x%lX (name '%s') returns %s\n"
+TRCID_       0xA020 TRACE_VNODE         "gpfs_d_invalid_if_Samba: dentry 0x%lX d_inode 0x%lX (name '%s') returns %s\n"
+TRCID_       0xA021 TRACE_VNODE         "gpfs_f_llseek enter: fP 0x%lX offset 0x%llX origin %d\n"
+TRCID_       0xA022 TRACE_VNODE         "gpfs_f_llseek exit: fP 0x%lX offset 0x%llX origin %d rc 0x%llX\n"
+TRCID_       0xA023 TRACE_VNODE         "gpfs_f_readdir enter: fP 0x%lX direntP 0x%lX filldir 0x%lX pos %lld\n"
+TRCID_       0xA024 TRACE_VNODE         "gpfs_f_readdir exit: fP 0x%lX pos %lld code 0 rc %d\n"
+TRCID_       0xA025 TRACE_VNODE         "gpfs_f_poll: rc bits POLLERR: fP 0x%lX\n"
+TRCID_       0xA026 TRACE_VNODE         "gpfs_f_ioctl: rc -ENOTTY: iP 0x%lX fP 0x%lX cmd %d\n"
+TRCID_       0xA027 TRACE_VNODE         "gpfs_filemap_open enter: vma 0x%lX inode %d icount %d name %s\n"
+TRCID_       0xA028 TRACE_VNODE         "gpfs_filemap_open : mm 0x%lX mm_users %d\n"
+TRCID_       0xA029 TRACE_VNODE         "gpfs_filemap_open exit: vma 0x%lX icount %d\n"
+TRCID_       0xA02A TRACE_VNODE         "gpfs_filemap_close: vma 0x%lX inode 0x%lX i_count %d\n"
+TRCID_       0xA02B TRACE_VNODE         "gpfs_filemap_close: inode %d, name %s, nrpages %d\n"
+TRCID_       0xA02C TRACE_VNODE         "gpfs_filemap_close: mm 0x%lX mm_users %d\n"
+TRCID_       0xA02D TRACE_VNODE         "gpfs_filemap_close: vma 0x%lX inode 0x%lX i_count %d\n"
+TRCID_       0xA02E TRACE_VNODE         "gpfs_f_mmap enter: fP 0x%lX inum %d vma 0x%1X\n"
+TRCID_       0xA02F TRACE_VNODE         "gpfs_f_mmap: vm_start 0x%lX vm_end 0x%lX, vmpgoff 0x%lX, vmflags 0x%lX\n"
+TRCID_       0xA030 TRACE_VNODE         "gpfs_f_mmap: inode %d icount %d name %s nrpages %d\n"
+TRCID_       0xA031 TRACE_VNODE         "gpfs_f_mmap: mm 0x%lX mm_users %d\n"
+TRCID_       0xA032 TRACE_VNODE         "gpfs_f_mmap exit: rc %d code %d\n"
+TRCID_       0xA033 TRACE_VNODE         "gpfs_f_open enter: iP 0x%lX fP 0x%lX f_flags 0x%X dP 0x%lX '%s' flags 0x%X isNFS %d\n"
+TRCID_       0xA034 TRACE_VNODE         "gpfs_f_open fileExist iP 0x%lX cnP 0x%lX fflags 0x%X amode 0x%X\n"
+TRCID_       0xA035 TRACE_VNODE         "gpfs_f_open exit: iP 0x%lX vinfoP 0x%lX code %d rc %d\n"
+TRCID_       0xA036 TRACE_VNODE         "gpfs_f_release enter: iP 0x%lX f_flags 0x%X flags 0x%X vinfoP 0x%lX\n"
+TRCID_       0xA037 TRACE_VNODE         "gpfs_f_release exit: code %d rc %d\n"
+TRCID_       0xA038 TRACE_VNODE         "gpfs_f_fsync enter: fP 0x%lX dirent 0x%lX datasync %d\n"
+TRCID_       0xA039 TRACE_VNODE         "gpfs_f_fsync exit: file 0x%lX rc %d\n"
+TRCID_       0xA03A TRACE_VNODE         "gpfs_f_fasync enter: fd %d fP 0x%lX on %d\n"
+TRCID_       0xA03B TRACE_VNODE         "gpfs_f_fasync exit: fP 0x%lX rc %d\n"
+TRCID_       0xA03C TRACE_VNODE         "gpfs_f_lock enter: pid %d fp 0x%lX range 0x%lX:%lX cmd %s type %s\n"
+TRCID_       0xA03D TRACE_VNODE         "gpfs_f_lock       : pos 0x%lX iP 0x%lX fl_flags 0x%X uid %d gid %d\n"
+TRCID_       0xA03E TRACE_VNODE         "gpfs_f_lock: fP 0x%lX, f_dentry 0x%lX"
+TRCID_       0xA03F TRACE_VNODE         "gpfs_f_lock exit: rc %d"
+TRCID_       0xA040 TRACE_VNODE         "gpfs_f_flock: enter fP 0x%lX flP 0x%lX cmd %d flags 0x%X type 0x%X\n"
+TRCID_       0xA041 TRACE_VNODE         "gpfs_f_flock: exit rc %d\n"
+TRCID_       0xA042 TRACE_VNODE         "gpfs_f_rdwr enter: fP 0x%lX f_flags 0x%X flags 0x%X op %d iovec 0x%lX count %d offset 0x%llX dentry 0x%lX private 0x%lX iP 0x%lX name '%s'\n"
+TRCID_       0xA043 TRACE_VNODE         "gpfs_f_rdwr exit: fP 0x%lX total_len %d uio_resid %ld offset 0x%llX rc %d\n"
+TRCID_       0xA044 TRACE_VNODE         "gpfs_f_dir_read: fP 0x%lX EISDIR\n"
+TRCID_       0xA045 TRACE_VNODE         "gpfs_f_share enter: fP 0x%lX ino %d (%s) access 0x%X deny 0x%X\n"
+TRCID_       0xA046 TRACE_VNODE         "gpfs_f_share: RESET (fP 0x%lX iP 0x%lX privVfsP 0x%lX)\n"
+TRCID_       0xA047 TRACE_VNODE         "gpfs_f_share exit: rc %d\n"
+TRCID_       0xA04A TRACE_VNODE         "printInode: iP 0x%lX inode %d (0x%X) i_count %d dev 0x%X mode 0x%X nlink %d\n"
+TRCID_       0xA04B TRACE_VNODE         "printInode: uid %d gid %d rdev 0x%X atime 0x%X mtime 0x%X ctime 0x%X\n"
+TRCID_       0xA04C TRACE_VNODE         "printInode: size %lld blksize 0x%X blocks %d ver 0x%X op 0x%lX\n"
+TRCID_       0xA04D TRACE_VNODE         "printInode: fop 0x%lX sb 0x%lX flags 0x%X state 0x%X gen %d generic 0x%lX\n"
+TRCID_       0xA04E TRACE_VNODE         "printInode: list 0x%lX next 0x%lX prev 0x%lX\n"
+TRCID_       0xA04F TRACE_VNODE         "printInode: dentry 0x%lX next 0x%lX prev 0x%lX\n"
+TRCID_       0xA050 TRACE_VNODE         "printInode: hash 0x%lX next 0x%lX prev 0x%lX\n"
+TRCID_       0xA051 TRACE_VNODE         "printInode: hash 0x%lX next 0x%lX prev 0x%lX\n"
+TRCID_       0xA052 TRACE_VNODE         "printDentry: dentry 0x%lX count %d name '%s'\n"
+TRCID_       0xA053 TRACE_VNODE         "printDentry: time 0x%X op 0x%lX flags 0x%X parent 0x%lX inode 0x%X\n"
+TRCID_       0xA054 TRACE_VNODE         "printDentry: i_ino %d i_count %d i_dentry next 0x%lX i_dentry prev 0x%lX\n"
+TRCID_       0xA055 TRACE_VNODE         "printDentry: i_ino %d i_count %d\n"
+TRCID_       0xA056 TRACE_VNODE         "printDentry: &child 0x%lX child.next 0x%lX child.prev 0x%lX\n"
+TRCID_       0xA057 TRACE_VNODE         "printDentry: &subdirs 0x%lX subdir next 0x%lX subdir prev 0x%lX\n"
+TRCID_       0xA058 TRACE_VNODE         "cxiSetOSNode: inodeP 0x%lX inode %d i_count %d i_mode 0x%X i_xinfo 0x%X i_nlink %d i_size %lld\n"
+TRCID_       0xA059 TRACE_VNODE         "cxiInvalidatePerm: cnP 0x%lX std %d dir std %d"
+TRCID_       0xA05A TRACE_VNODE         "gpfs_i_create enter: iP 0x%lX dentryP 0x%lX mode 0x%X name '%s'\n"
+TRCID_       0xA05B TRACE_VNODE         "gpfs_i_create exit: new inode 0x%lX iNum %d (0x%X) rc %d\n"
+TRCID_       0xA05C TRACE_VNODE         "gpfs_i_lookup enter: diP 0x%lX dentryP 0x%lX name '%s'\n"
+TRCID_       0xA05D TRACE_VNODE         "cxiNode for inode 0x%lX (ino 0x%X) was FREED!\n"
+TRCID_       0xA05E TRACE_VNODE         "gpfs_i_lookup exit: new inode 0x%lX iNum %d (0x%X) cnP 0x%lX retP 0x%lX code %d rc %d\n"
+TRCID_       0xA05F TRACE_VNODE         "gpfs_i_link enter: diP 0x%lX dentryP 0x%lX dentryP 0x%lX name '%s'\n"
+TRCID_       0xA060 TRACE_VNODE         "gpfs_i_link exit: diP 0x%lX iP 0x%lX rc %d\n"
+TRCID_       0xA061 TRACE_VNODE         "gpfs_i_unlink enter: diP 0x%lX iP 0x%lX dentryP 0x%lX name '%s'\n"
+TRCID_       0xA062 TRACE_VNODE         "gpfs_i_unlink exit: diP 0x%lX iP 0x%lX rc %d\n"
+TRCID_       0xA063 TRACE_VNODE         "gpfs_i_symlink enter: iP 0x%lX dentryP 0x%lX symlinkTargetP '%s'\n"
+TRCID_       0xA064 TRACE_VNODE         "gpfs_i_symlink: newLinkName '%s'\n"
+TRCID_       0xA065 TRACE_VNODE         "gpfs_i_symlink exit: new inode 0x%lX iNum %d (0x%X) rc %d\n"
+TRCID_       0xA066 TRACE_VNODE         "gpfs_i_mkdir enter: diP 0x%lX mode 0x%X name '%s'\n"
+TRCID_       0xA067 TRACE_VNODE         "gpfs_i_mkdir exit: new inode 0x%lX iNum %d (0x%X) rc %d\n"
+TRCID_       0xA068 TRACE_VNODE         "gpfs_i_rmdir enter: diP 0x%lX iP 0x%lX name '%s'\n"
+TRCID_       0xA069 TRACE_VNODE         "gpfs_i_rmdir exit: diP 0x%lX iP 0x%lX rc %d\n"
+TRCID_       0xA06A TRACE_VNODE         "gpfs_i_mknod enter: diP 0x%lX mode 0x%X rdev 0x%X name '%s'\n"
+TRCID_       0xA06B TRACE_VNODE         "gpfs_i_mknod exit: new inode 0x%lX iNum %d (0x%X) rc %d\n"
+TRCID_       0xA06C TRACE_VNODE         "gpfs_i_rename enter: iP 0x%lX dvP 0x%lX name '%s' tiP 0x%lX tdiP 0x%lX new name '%s'\n"
+TRCID_       0xA06D TRACE_VNODE         "gpfs_i_rename exit: iP 0x%lX rc %d\n"
+TRCID_       0xA06E TRACE_VNODE         "gpfs_i_readlink enter: dentryP 0x%lX bufP 0x%lX len %d iP 0x%lX name '%s'\n"
+TRCID_       0xA06F TRACE_VNODE         "gpfs_i_readlink exit: iP 0x%lX uio_resid %ld offset %d rc %d\n"
+TRCID_       0xA070 TRACE_VNODE         "gpfs_i_follow_link enter: inode 0x%lX name '%s'\n"
+TRCID_       0xA071 TRACE_VNODE         "gpfs_i_follow_link readlink rc %d data '%s'\n"
+TRCID_       0xA072 TRACE_VNODE         "gpfs_i_follow_link exit: inode 0x%lX rc %d\n"
+TRCID_       0xA073 TRACE_VNODE         "gpfs_i_put_link dentry 0x%lX nd 0x%lX buf 0x%lX\n"
+TRCID_       0xA074 TRACE_VNODE         "gpfs_i_bmap: rc ENOSYS\n"
+TRCID_       0xA075 TRACE_VNODE         "gpfs_i_truncate: inode 0x%lX\n"
+TRCID_       0xA076 TRACE_VNODE         "gpfs_i_permission enter: iP 0x%lX mode 0x%X uid %d gid %d i_mode 0x%X i_xinfo 0x%X"
+TRCID_       0xA077 TRACE_VNODE         "gpfs_i_permission exit: iP 0x%lX std %d dir std %d rc %d"
+TRCID_       0xA078 TRACE_VNODE         "gpfs_i_smap: rc ENOSYS\n"
+TRCID_       0xA079 TRACE_VNODE         "gpfs_i_updatepage: rc ENOSYS\n"
+TRCID_       0xA07A TRACE_VNODE         "gpfs_i_revalidate enter: dentryP 0x%lX iP 0x%lX ino 0x%X name '%s'\n"
+TRCID_       0xA07B TRACE_VNODE         "gpfs_i_revalidate: cxiNode for iP 0x%lX (ino %d) was FREED!\n"
+TRCID_       0xA07C TRACE_VNODE         "gpfs_i_revalidate: begin delay %d\n"
+TRCID_       0xA07D TRACE_VNODE         "gpfs_i_revalidate: end delay %d\n"
+TRCID_       0xA07E TRACE_VNODE         "gpfs_i_revalidate exit: dentry 0x%lX code %d rc %d\n"
+TRCID_       0xA07F TRACE_VNODE         "gpfs_i_setattr enter: iP 0x%lX ia_valid 0x%X\n"
+TRCID_       0xA080 TRACE_VNODE         "gpfs_i_setattr exit: iP 0x%lX code %d rc %d\n"
+TRCID_       0xA081 TRACE_VNODE         "gpfs_i_getattr enter: iP 0x%lX\n"
+TRCID_       0xA082 TRACE_VNODE         "gpfs_i_getattr exit: iP 0x%lX rc %d\n"
+TRCID_       0xA083 TRACE_VNODE         "gpfs_i_getxattr enter: iP 0x%lX name %s buf 0x%lX size %d\n"
+TRCID_       0xA084 TRACE_VNODE         "gpfs_i_getxattr exit: iP 0x%lX len %d\n"
+TRCID_       0xA085 TRACE_VNODE         "gpfs_i_getxattr exit: iP 0x%lX rc %d\n"
+TRCID_       0xA086 TRACE_VNODE         "gpfs_i_getxattr exit2: iP 0x%lX rc %d\n"
+TRCID_       0xA087 TRACE_VNODE         "gpfs_i_setxattr enter: iP 0x%lX name %s buf 0x%lX size %d flags 0x%X\n"
+TRCID_       0xA088 TRACE_VNODE         "gpfs_i_setxattr exit: iP 0x%lX rc %d\n"
+TRCID_       0xA089 TRACE_VNODE         "gpfs_i_listxattr enter: iP 0x%lX buf 0x%lX buf_size %d\n"
+TRCID_       0xA08A TRACE_VNODE         "gpfs_i_listxattr exit: iP 0x%lX len %d\n"
+TRCID_       0xA08B TRACE_VNODE         "gpfs_i_listxattr exit: iP 0x%lX rc %d\n"
+TRCID_       0xA08C TRACE_VNODE         "gpfs_i_removexattr enter: iP 0x%lX name %s\n"
+TRCID_       0xA08D TRACE_VNODE         "gpfs_i_removexattr exit: iP 0x%lX rc %d\n"
+TRCID_       0xA08E TRACE_VNODE         "BKL %d lock_depth %d\n"
+TRCID_       0xA08F TRACE_VNODE         "gpfs_alloc_inode: inode 0x%lX\n"
+TRCID_       0xA090 TRACE_VNODE         "gpfs_destroy_inode: inode 0x%lX\n"
+TRCID_       0xA091 TRACE_VNODE         "gpfs_s_read_inode2 enter: inode 0x%lX inode %d\n"
+TRCID_       0xA092 TRACE_VNODE         "gpfs_s_read_inode2: iP 0x%lX cnP 0x%lX uSize-void* %d nodeSize %d"
+TRCID_       0xA093 TRACE_VNODE         "gpfs_s_read_inode2 exit: inode 0x%lX rc %d"
+TRCID_       0xA094 TRACE_VNODE         "gpfs_s_read_inode2 exit: inode 0x%lX rc BADINODE"
+TRCID_       0xA095 TRACE_VNODE         "gpfs_s_read_inode: ? calling make_bad_inode"
+TRCID_       0xA096 TRACE_VNODE         "gpfs_s_delete_inode enter: inode 0x%lX inode %d gpfsThread %d\n"
+TRCID_       0xA097 TRACE_VNODE         "gpfs_s_delete_inode exit: inode 0x%lX cnP 0x%lX\n"
+TRCID_       0xA098 TRACE_VNODE         "gpfs_s_notify_change enter: inode 0x%lX attr 0x%lX\n"
+TRCID_       0xA099 TRACE_VNODE         "gpfs_s_notify_change exit: inode 0x%lX rc %d\n"
+TRCID_       0xA09A TRACE_VNODE         "gpfs_s_put_super enter: sbP 0x%lX sbP->s_dev 0x%X\n"
+TRCID_       0xA09B TRACE_VNODE         "gpfs_s_put_super exit: rc %d\n"
+TRCID_       0xA09C TRACE_VNODE         "gpfs_s_statfs enter: sbP 0x%lX len %d\n"
+TRCID_       0xA09D TRACE_VNODE         "gpfs_s_statfs exit: f_blocks %lld f_bfree %lld f_files %d f_free %d f_bsize %d code %d rc %d\n"
+TRCID_       0xA09E TRACE_VNODE         "gpfs_s_umount_begin enter: sbP 0x%lX sbP->s_dev 0x%X root vfsmount 0x%X pwd vfsmount 0x%X\n"
+TRCID_       0xA09F TRACE_VNODE         "gpfs_s_umount_begin exit: sbP 0x%lX privVfsP 0x%lX dmrc %d s_active %d s_count 0x%X active files %d\n"
+TRCID_       0xA0A0 TRACE_VNODE         "gpfs_s_remount: called\n"
+TRCID_       0xA0A1 TRACE_VNODE         "gpfs_s_write_inode: called\n"
+TRCID_       0xA0A2 TRACE_VNODE         "gpfs_s_clear_inode enter: inode 0x%lX inode %d generic_ip 0x%lX\n"
+TRCID_       0xA0A3 TRACE_VNODE         "gpfs_s_clear_inode: cnP 0x%lX privVfsP 0x%lX tooBig %d\n"
+TRCID_       0xA0A4 TRACE_VNODE         "gpfs_s_clear_inode exit: inode 0x%lX generic_ip 0x%lX code %d\n"
+TRCID_       0xA0A5 TRACE_VNODE         "gpfs_s_write_super enter: sbP 0x%lX\n"
+TRCID_       0xA0A6 TRACE_VNODE         "gpfs_s_write_super: performing sync"
+TRCID_       0xA0A7 TRACE_VNODE         "gpfs_s_write_super exit: sbP 0x%lX rc %d\n"
+TRCID_       0xA0A8 TRACE_VNODE         "gpfs_get_sb: flags 0x%X dataP 0x%X sbP 0x%X\n"
+TRCID_       0xA0A9 TRACE_VNODE         "gpfs_fill_super enter: sbP 0x%lX dev 0x%X silent %d data '%s'\n"
+TRCID_       0xA0AA TRACE_VNODE         "gpfs_fill_super: dev name '%s'\n"
+TRCID_       0xA0AB TRACE_VNODE         "gpfs_fill_super: s_flags 0x%x\n"
+TRCID_       0xA0AC TRACE_VNODE         "gpfs_fill_super: optionsP \"%s\"\n"
+TRCID_       0xA0AD TRACE_VNODE         "gpfs_fill_super: start mount helper '%s'\n"
+TRCID_       0xA0AE TRACE_VNODE         "gpfs_fill_super: s_flags 0x%x (rs %d), mountpointP %s\n"
+TRCID_       0xA0AF TRACE_VNODE         "gpfs_fill_super: mount helper mountHelperID %d\n"
+TRCID_       0xA0B0 TRACE_VNODE         "gpfs_fill_super exit: success sbP 0x%lX\n"
+TRCID_       0xA0B1 TRACE_VNODE         "gpfs_fill_super: failed code %d rc %d\n"
+TRCID_       0xA0B2 TRACE_VNODE         "gpfs_reg_fs shutdownSuperP 0x%lX rc %d\n"
+TRCID_       0xA0B3 TRACE_VNODE         "gpfs_unreg_fs rc %d\n"
+TRCID_       0xA0B4 TRACE_VNODE         "kill_mmfsd: pid %X\n"
+TRCID_       0xA0B5 TRACE_VNODE         "exec_mmfs: exit rc -1 errno %d path %s\n"
+TRCID_       0xA0B6 TRACE_VNODE         "fork_mount_helper: new pid %d\n"
+TRCID_       0xA0B7 TRACE_VNODE         "cxiSetMountInfo: sbP 0x%lX rootIP 0x%lX cnRootP 0x%lX gnRootP 0x%lX\n"
+TRCID_       0xA0B8 TRACE_VNODE         "cxiUnmount: enter privVfsP 0x%lX sbP 0x%lX force %d doDM %d\n"
+TRCID_       0xA0B9 TRACE_VNODE         "cxiUnmount: exit rc %d dmrc %d\n"
+TRCID_       0xA0BA TRACE_VNODE         "cxiReactivateOSNode: sbP 0x%lX cxiNodeP 0x%lX osNodePP 0x%lX\n"
+TRCID_       0xA0BB TRACE_VNODE         "inodeFindActor: iP 0x%lX i_state 0x%x cxiNodeP 0x%lX isBad %d\n"
+TRCID_       0xA0BC TRACE_VNODE         "inodeFindActor: iP 0x%lX i_state 0x%x cxiNodeP 0x%lX\n"
+TRCID_       0xA0BD TRACE_VNODE         "cxiNewOSNode: sbP 0x%lX inum %d size %d"
+TRCID_       0xA0BE TRACE_VNODE         "cxiNewOSNode: BAD INODE 0x%X\n"
+TRCID_       0xA0BF TRACE_VNODE         "cxiNewOSNode: rc ESTALE inode 0x%lX ino %d i_state 0x%x cxiNodeP 0x%lX isBad %d\n"
+TRCID_       0xA0C0 TRACE_VNODE         "cxiNewOSNode: exit osNodeP 0x%lX cnP 0x%lX rc %d\n"
+TRCID_       0xA0C1 TRACE_VNODE         "cxiNewOSNode: requested nodeSize %d does not match CXINODE_SIZE %d"
+TRCID_       0xA0C2 TRACE_VNODE         "cxiFreeOSNode enter: sbP 0x%lX cxiNodeP 0x%lX iP 0x%lX inode %d i_count %d\n"
+TRCID_       0xA0C3 TRACE_VNODE         "cxiDeleteMmap: segid 0x%X\n"
+TRCID_       0xA0C4 TRACE_VNODE         "cxiReinitOSNode: sbP 0x%lX cnP 0x%lX iP 0x%lX\n"
+TRCID_       0xA0C5 TRACE_VNODE         "cxiDumpOSNode: cxiNodeP 0x%lX iP 0x%lX\n"
+TRCID_       0xA0C6 TRACE_VNODE         "igrabInodeFindActor: iP 0x%lX i_state 0x%x inode 0x%lX \n"
+TRCID_       0xA0C7 TRACE_VNODE         "cxiRefOSNode exit: sbP 0x%lX cxiNodeP 0x%lX iP 0x%lX inode %d i_count to %d"
+TRCID_       0xA0C8 TRACE_VNODE         "cxiInactiveOSNode: sbP 0x%lX cxiNodeP 0x%lX iP 0x%lX i_count %d canCache %d hasReferences %d\n"
+TRCID_       0xA0C9 TRACE_VNODE         "cxiPutOSNode enter: iP 0x%lX inode %d i_count to %d\n"
+TRCID_       0xA0CA TRACE_VNODE         "cxiDestroyOSNode enter: iP 0x%lX inode %d i_count %d i_nlink %d\n"
+TRCID_       0xA0CB TRACE_VNODE         "cxiUpdateInode: iP 0x%X atime 0x%X mtime 0x%X ctime 0x%X\n"
+TRCID_       0xA0CC TRACE_VNODE         "cxiUpdateInode: what %d mode 0x%X uid %d gid %d nlink %d size %lld blocks %d\n"
+TRCID_       0xA0CD TRACE_VNODE         "cxiCanUncacheOSNode: cxiNode 0x%lx vP 0x%lX osVfsP 0x%lX i_sb 0x%lX inode %d i_count %d\n"
+TRCID_       0xA0CE TRACE_VNODE         "cxiAddOSNode: dentry 0x%lX vP 0x%lX unhashed %d"
+TRCID_       0xA0CF TRACE_VNODE         "gpfs_s_fs_locations enter: sbP 0x%lX\n"
+TRCID_       0xA0D0 TRACE_VNODE         "gpfs_s_fs_locations exit: sbP 0x%lX code %d rc %d\n"
+TRCID_       0xA0D1 TRACE_VNODE         "gpfs_nfsd_iget_dentry: inode %d generation %d"
+TRCID_       0xA0D2 TRACE_VNODE         "gpfs_nfsd_iget_dentry:0 dentry flags 0x%x count %d inode 0x%lX time %lu"
+TRCID_       0xA0D3 TRACE_VNODE         "gpfs_nfsd_iget_dentry:0 Inode %lu nlink %d count %d gen %u %u state %lu flags 0x%x"
+TRCID_       0xA0D4 TRACE_VNODE         "gpfs_nfsd_iget_dentry:1 dentry flags 0x%x count %d inode 0x%lX time %lu"
+TRCID_       0xA0D5 TRACE_VNODE         "gpfs_nfsd_iget_dentry:1 Inode %lu nlink %d count %d gen %u %u state %lu flags 0x%x"
+TRCID_       0xA0D6 TRACE_VNODE         "gpfs_nfsd_iget_dentry:2 dentry flags 0x%x count %d inode 0x%lX time %lu"
+TRCID_       0xA0D7 TRACE_VNODE         "gpfs_nfsd_iget_dentry:2 Inode %lu nlink %d count %d gen %u %u state %lu flags 0x%x"
+TRCID_       0xA0D8 TRACE_VNODE         "gpfs_nfsd_iget:3 dentry flags 0x%x count %d inode 0x%lX time %lu"
+TRCID_       0xA0D9 TRACE_VNODE         "gpfs_nfsd_iget:3 Inode %lu nlink %d count %d gen %u %u state %lu flags 0x%x"
+TRCID_       0xA0DA TRACE_VNODE         "gpfs_nfsd_iget:4 dentry flags 0x%x count %d inode 0x%lX time %lu"
+TRCID_       0xA0DB TRACE_VNODE         "gpfs_nfsd_iget:4 Inode %lu nlink %d count %d gen %u %u state %lu flags 0x%x"
+TRCID_       0xA0DC TRACE_VNODE         "gpfs_nfsd_iget: sbP 0x%lX extino %d inode %d snapid %d fileset %d generation %d"
+TRCID_       0xA0DF TRACE_VNODE         "gpfs_get_dparent: dentry 0x%lX inode 0x%d"
+TRCID_       0xA0E0 TRACE_VNODE         "gpfs_get_dparent dentry 0x%lX inode %d result %lX err%d \n"
+TRCID_       0xA0E1 TRACE_VNODE         "gpfs_decode_fh: sbP 0x%lX fh 0x%lX, len %d type %d"
+TRCID_       0xA0E2 TRACE_VNODE         "gpfs_decode_fh: sbP 0x%lX fh 0x%lX result %lX err %d"
+TRCID_       0xA0E3 TRACE_VNODE         "gpfs_decode_fh: sbP 0x%lX fh 0x%lX -EINVAL"
+TRCID_       0xA0E4 TRACE_VNODE         "gpfs_fh_to_dentry: sbP 0x%lX fh 0x%lX, len %d type %d parent %d"
+TRCID_       0xA0E5 TRACE_VNODE         "gpfs_fh_to_dentry: sbP 0x%lX fh 0x%lX result %lX err %d"
+TRCID_       0xA0E6 TRACE_VNODE         "gpfs_fh_to_dentry: sbP 0x%lX fh 0x%lX -EINVAL"
+TRCID_       0xA0E7 TRACE_VNODE         "cxiFcntlLock posix_lock_file: pid %d owner 0x%X inodeP 0x%X range 0x%lX-%lX cmd %s type %s\n"
+TRCID_       0xA0E8 TRACE_VNODE         "cxiFcntlLock getlk: pid %d owner 0x%X inodeP 0x%X range 0x%lX-%lX type %s\n"
+TRCID_       0xA0E9 TRACE_VNODE         "cxiFcntlLock posix_lock_file: rc %d retry_id 0x%lX\n"
+TRCID_       0xA0EA TRACE_VNODE         "cxiSleep: begin delay %d\n"
+TRCID_       0xA0EB TRACE_VNODE         "cxiSleep: end delay %d HZ %d\n"
+TRCID_       0xA0EC TRACE_VNODE         "openNFS iP 0x%lX ino %d (0x%X) mode 0x%X nlink %d gen_ip 0x%lX refcount %d\n"
+TRCID_       0xA0ED TRACE_VNODE         "cxiStartKProc %s pid %d \n"
+TRCID_       0xA0EE TRACE_VNODE         "cxiStopKProc: %s pid %d \n"
+TRCID_       0xA0EF TRACE_ERRLOG        "cxiPanic: %s\n"
+TRCID_       0xA0F0 TRACE_ERRLOG        "logAssertFailed: %s retCode %d reasonCode %d\n"
+TRCID_       0xA0F1 TRACE_ERRLOG        "logAssertFailed: file %s line %d\n"
+TRCID_       0xA0F2 TRACE_FOPS          "cxiUiomove enter: kBufP 0x%lX uioP 0x%lX nBytes %d toKernel %d\n"
+TRCID_       0xA0F3 TRACE_FOPS          "uiomove exit 1: rc %d data %08X %08X %08X %08X\n"
+TRCID_       0xA0F4 TRACE_FOPS          "uiomove exit 1: rc %d\n"
+TRCID_       0xA0F5 TRACE_FOPS          "uiomove exit 2: rc %d data %08X %08X %08X %08X\n"
+TRCID_       0xA0F6 TRACE_FOPS          "uiomove exit 2: rc %d\n"
+TRCID_       0xA0F7 TRACE_TASKING       "cxiCheckTypes: system type mismatch on type number %d!\n"
+TRCID_       0xA0F8 TRACE_KLOCKL        "cxiBlockingMutexInit: mP 0x%lX idx %d\n"
+TRCID_       0xA0F9 TRACE_KLOCKL        "cxiBlockingMutexAcquire: about to acquire 0x%lX type %d current 0x%lX currentOwner 0x%lX\n"
+TRCID_       0xA0FA TRACE_KLOCKL        "cxiBlockingMutexAcquire: returning after acquiring 0x%lX\n"
+TRCID_       0xA0FB TRACE_KLOCKL        "cxiBlockingMutexRelease: about to release 0x%lX type %d current 0x%lX currentOwner 0x%lX\n"
+TRCID_       0xA0FC TRACE_KLOCKL        "cxiBlockingMutexTerm: mP 0x%lX type %d\n"
+TRCID_       0xA0FD TRACE_KLOCKL        "cxiBlockingMutexHeldByCaller: owner 0x%lX returns %d\n"
+TRCID_       0xA0FE TRACE_KLOCKL        "cxiBlockingMutexHasWaiters: mP 0x%lX hasWaiters %d\n"
+TRCID_       0xA0FF TRACE_KLOCKL        "cxiWaitEventWait enter: weP 0x%lX waitFlags 0x%X about to release mutex 0x%lX \n"
+TRCID_       0xA100 TRACE_KLOCKL        "cxiWaitEventWait exit: weP 0x%lX mutexP 0x%lX rc %d\n"
+TRCID_       0xA101 TRACE_KLOCKL        "cxiWaitEventSignal: weP 0x%lX\n"
+TRCID_       0xA102 TRACE_KLOCKL        "cxiWaitEventWakeupOne: weP 0x%lX\n"
+TRCID_       0xA103 TRACE_KLOCKL        "cxiWaitEventBroadcastRC: weP 0x%lX\n"
+TRCID_       0xA104 TRACE_KLOCKL        "cxiWaitEventBroadcastRC: weP 0x%lX rc %d\n"
+TRCID_       0xA105 TRACE_VNODE         "cxiCheckOpen: entry.  %d files in fd list. Checking for inode %d at 0x%x"
+TRCID_       0xA106 TRACE_VNODE         "cxiCheckOpen: found open file. vinfoP 0x%x"
+TRCID_       0xA107 TRACE_SMB           "cxiSendBreakMsg: ofP 0x%lX\n"
+TRCID_       0xA108 TRACE_SMB           "cxiWaitForBreak: file 0x%lX, oplockCurrent %d timeoutSeconds %d\n"
+TRCID_       0xA109 TRACE_SMB           "cxiWaitForBreak exit\n"
+TRCID_       0xA10B TRACE_DLEASE        "DMS timer [%d] started, delay %d, time %d\n"
+TRCID_       0xA10C TRACE_DLEASE        "DMS timer [%d] stopped, time %d\n"
+TRCID_       0xA10D TRACE_VNODE         "cxiRegisterCleanup: fd %d iP %X rc %d code %d\n"
+TRCID_       0xA10E TRACE_ENTRYEXIT     "fdDiscard: fdP 0x%lX shP 0x%lX rtn %s refcnt now 1\n"
+TRCID_       0xA10F TRACE_ENTRYEXIT     "fdDiscard: fdP 0x%lX shP 0x%lX rtn %s refcnt now 0\n"
+TRCID_       0xA110 TRACE_ENTRYEXIT     "fdEntry: fdP 0x%lX shP 0x%lX rtn %s shCurrentP 0x%lX used %d\n"
+TRCID_       0xA111 TRACE_ENTRYEXIT     "fdEntry: implied exit from rtn %s\n"
+TRCID_       0xA112 TRACE_ENTRYEXIT     "fdEntry: extending new max stack %d fdP 0x%lX\n"
+TRCID_       0xA113 TRACE_ENTRYEXIT     "fdEntry: new max stack %d fdP 0x%lX\n"
+TRCID_       0xA114 TRACE_ENTRYEXIT     "fdExit: p 0x%lX shP 0x%lX rtn %s shCurrentP 0x%lX\n"
+TRCID_       0xA115 TRACE_ENTRYEXIT     "No entry found when exitting %s\n"
+TRCID_       0xA116 TRACE_ENTRYEXIT     "-->K %s (%s:%d) level %d stackUsed %d\n"
+TRCID_       0xA117 TRACE_ENTRYEXIT     "<--K %s\n"
+TRCID_       0xA118 TRACE_KSVFS         "kibdAlloc: allocated cxiKernelIOBufferDesc_t at 0x%lX\n"
+TRCID_       0xA119 TRACE_KSVFS         "kibdFree: freeing cxiKernelIOBufferDesc_t at 0x%lX\n"
+TRCID_       0xA11A TRACE_KSVFS         "deallocKernelIOBufferDesc: kibdP 0x%lX vaddr 0x%lX kibdPages %d kibdNextP 0x%lX\n"
+TRCID_       0xA11B TRACE_KSVFS         "deallocKernelIOBufferDesc: kibdP 0x%lX vaddr 0x%lX kibdPages %d kibdNextP 0x%lX\n"
+TRCID_       0xA11C TRACE_KSVFS         "allocKernelIOBufferDesc: kibdP 0x%lX vaddr 0x%lX kibdPages %d\n"
+TRCID_       0xA11D TRACE_KSVFS         "allocKernelIOBufferDesc: vaddr 0x%lX mapPages %d totalPages %d kibdHeadP 0x%lX rc %d\n"
+TRCID_       0xA11E TRACE_KSVFS         "KibdModuleInit called\n"
+TRCID_       0xA11F TRACE_KSVFS         "KibdModuleTerm called\n"
+TRCID_       0xA120 TRACE_KSVFS         "KibdModuleTerm: ERROR! BufHeadChunk cache destroy rc %d"
+TRCID_       0xA121 TRACE_KSVFS         "KibdModuleTerm: ERROR! KernelIOBufferDesc cache destroy rc %d"
+TRCID_       0xA122 TRACE_KSVFS         "cxiKibdPin: vaddr 0x%lX len 0x%X\n"
+TRCID_       0xA123 TRACE_KSVFS         "cxiKibdPin exit: returning 0x%lX\n"
+TRCID_       0xA124 TRACE_KSVFS         "cxiKibdUnpinAll entry\n"
+TRCID_       0xA125 TRACE_KSVFS         "cxiKibdUnpinAll exit\n"
+TRCID_       0xA126 TRACE_KSVFS         "cxiAttachIOBuffer: dataPtr 0x%lX\n"
+TRCID_       0xA127 TRACE_KSVFS         "cxiAttachIOBuffer: kernelIOBufferDescP 0x%lX newPinCount %d\n"
+TRCID_       0xA128 TRACE_KSVFS         "cxiDetachIOBuffer: dataPtr 0x%lX kDescP 0x%lX oldPinCount %d\n"
+TRCID_       0xA129 TRACE_KSVFS         "cxiUXfer: dataPtr 0x%lX kBuf 0x%lX toIOBuf %d offset %d len %d\n"
+TRCID_       0xA12A TRACE_KSVFS         "cxiUXfer: uiomove pageIndex %d kaddr 0x%lX pageOffset %d pageLen %d\n"
+TRCID_       0xA12B TRACE_KSVFS         "cxiXmemXfer: userAddrP 0x%lX len %d udataP 0x%lX kibdP 0x%lX toXmem %d\n"
+TRCID_       0xA12C TRACE_KSVFS         "cxiXmemXfer: copy pageIndex %d kaddrP 0x%lX pageOffset %d pageLen %d\n"
+TRCID_       0xA12D TRACE_KSVFS         "cxiKXfer: dataPtr 0x%lX kBuf 0x%lX toIOBuf %d offset %d len %d kBufP 0x%lX\n"
+TRCID_       0xA12E TRACE_KSVFS         "cxiKXfer: move kibdP 0x%lX pageIndex %d kaddr 0x%lX pageOffset %d pageLen %d\n"
+TRCID_       0xA12F TRACE_KSVFS         "cxiKZero: dataPtr 0x%lX kBuf 0x%lX offset %d len %d\n"
+TRCID_       0xA130 TRACE_KSVFS         "cxiKZero: zero pageIndex %d kaddr 0x%lX pageOffset %d pageLen %d\n"
+TRCID_       0xA131 TRACE_KSVFS         "cxiMapDiscontiguousRW: dataPtr 0x%lX kBufP 0x%lX ioBufLen 0x%X\n"
+TRCID_       0xA132 TRACE_KSVFS         "cxiMapDiscontiguousRW: dirIndex %d kibdP 0x%lX pageP 0x%lX kaddr 0x%lX\n"
+TRCID_       0xA133 TRACE_KSVFS         "cxiUnmapDiscontiguousRW: dataPtr 0x%lX kBufP 0x%lX ioBufLen 0x%X mappedLen %d\n"
+TRCID_       0xA134 TRACE_KSVFS         "cxiUnmapDiscontiguousRW: unmap pageIndex %d pageP 0x%lX kaddr 0x%lX\n"
+TRCID_       0xA135 TRACE_KSVFS         "cxiMapContiguousRO: dataPtr 0x%lX kBufP 0x%lX bufOffset %d len %d\n"
+TRCID_       0xA136 TRACE_KSVFS         "cxiMapContiguousRO: mapped pageP 0x%lX at 0x%lX\n"
+TRCID_       0xA137 TRACE_KSVFS         "cxiMapContiguousRO: copied to 0x%lX\n"
+TRCID_       0xA138 TRACE_KSVFS         "cxiUnmapContiguousRO: dataPtr 0x%lX vfree 0x%lX\n"
+TRCID_       0xA139 TRACE_KSVFS         "cxiUnmapContiguousRO: dataPtr 0x%lX kunmap 0x%lX\n"
+TRCID_       0xA13A TRACE_IO            "cxiStartIO: kBuf 0x%lX isWrite %d dev 0x%X sector %llu nSectors %d offset %d\n"
+TRCID_       0xA13C TRACE_IO            "cxiStartIO: bhcP 0x%lX bhP 0x%lX sector %llu sectorsThisBH %d state 0x%X pageP 0x%lX\n"
+TRCID_       0xA13D TRACE_IO            "GetDiskInfo: devId %08lX sector size %d totalSectors %lld\n"
+TRCID_       0xA13E TRACE_IO            "cxiStartIO: kBuf 0x%lX isWrite %d dev 0x%X sector %llu nSectors %d offset %d\n"
+TRCID_       0xA140 TRACE_IO            "cxiStartIO: bhcP 0x%lX bioP 0x%lX index %d sector %llu sectorsThisPage %d pageP 0x%lX\n"
+TRCID_       0xA141 TRACE_IO            "GetDiskInfoX: devId %08lX sector size %d totalSectors %lld\n"
+TRCID_       0xA142 TRACE_IO            "cxiWaitIO: bhP 0x%lX bioP 0x%lX sector %d size %d state 0x%lX\n"
+TRCID_       0xA143 TRACE_IO            "cxiWaitIO: bhP 0x%lX sector %d size %d state 0x%lX\n"
+TRCID_       0xA144 TRACE_IO            "cxiWaitIO: bhP 0x%lX bioP 0x%lX sector %d size %d state 0x%lX\n"
+TRCID_       0xA145 TRACE_IO            "cxiWaitIO: error bhP 0x%lX sector %d size %d state 0x%lX\n"
+TRCID_       0xA146 TRACE_IO            "cxiWaitIO: p 0x%lX waiting for %d I/O completion handlers\n"
+TRCID_       0xA147 TRACE_VNODE         "tsstat enter: iP 0x%lX statP 0x%lX\n"
+TRCID_       0xA148 TRACE_VNODE         "tsstat exit: code %d rc %d\n"
+TRCID_       0xA149 TRACE_VNODE         "tsfstat enter: fd %d fP 0x%lX iP 0x%lX statP 0x%lX\n"
+TRCID_       0xA14A TRACE_VNODE         "tsfstat exit: code %d rc %d\n"
+TRCID_       0xA14B TRACE_VNODE         "tsfattr enter: fd %d fP 0x%lX f_flags 0x%X flags 0x%X iP 0x%lX command %d argP 0x%lX rCodeP 0x%lX\n"
+TRCID_       0xA14C TRACE_VNODE         "tsfattr exit: code %d rc %d\n"
+TRCID_       0xA14D TRACE_VNODE         "tsfsattr enter: command %s\n" $1=tsfsattrcmd_id2name
+TRCID_       0xA14E TRACE_VNODE         "tsfsattr exit: rc %d\n"
+TRCID_       0xA14F TRACE_VNODE         "tsattr enter: iP 0x%lX command %d argP 0x%lX rCodeP 0x%lX\n"
+TRCID_       0xA150 TRACE_VNODE         "tsattr exit: code %d rc %d\n"
+TRCID_       0xA151 TRACE_VNODE         "kxGetACL exit: code %d rc %d\n"
+TRCID_       0xA152 TRACE_VNODE         "kxPutACL exit: code %d rc %d\n"
+TRCID_       0xA153 TRACE_VNODE         "setSMBOpenLockControl entry - command %d, mode 0x%x"
+TRCID_       0xA154 TRACE_VNODE         "setSMBOpLockControl exit: rc %d\n"
+TRCID_       0xA155 TRACE_VNODE         "setSMBOplock enter: fP 0x%lX acc %d oplock %d argP 0x%lX async %d\n"
+TRCID_       0xA156 TRACE_VNODE         "setSMBOplock exit: granted %d rc %d"
+TRCID_       0xA157 TRACE_VNODE         "kxGetShare: enter fd %d fP 0x%lX ino %d infoP 0x%lX access 0x%X deny 0x%X\n"
+TRCID_       0xA159 TRACE_VNODE         "kxGetShare: exit rc %d\n"
+TRCID_       0xA15A TRACE_VNODE         "kxGetDelegation: enter fd %d fP 0x%lX ino %d vinfoP 0x%lX delegate 0x%x\n"
+TRCID_       0xA15B TRACE_VNODE         "kxGetDelegation: exit rc %d\n"
+TRCID_       0xA15C TRACE_VNODE         "kxUMount: enter type %d path %s force %d  ret_err %d\n"
+TRCID_       0xA15D TRACE_VNODE         "kxUMount: exit dmrc %d  ret_err %d rc %d code %d\n"
+TRCID_       0xA15E TRACE_SHARED        "ss_open: file 0x%lX inode 0x%lX\n"
+TRCID_       0xA15F TRACE_SHARED        "ss_release: file 0x%lX\n"
+TRCID_       0xA160 TRACE_SHARED        "ss_fs_read: called 0x%lX\n"
+TRCID_       0xA161 TRACE_SHARED        "ss_fs_write: called 0x%lX\n"
+TRCID_       0xA162 TRACE_KSVFS         "ss_fs_ioctl: op %d opAddr 0x%lX args 0x%lX inode 0x%lX file 0x%lX\n"
+TRCID_       0xA163 TRACE_KSVFS         "ss_fs_ioctl: invoking ss_ioctl_op %d\n"
+TRCID_       0xA164 TRACE_SHARED        "ss_init: unable to get ss0 major rc %d\n"
+TRCID_       0xA165 TRACE_SHARED        "ss_init: module loaded ss0 major %d\n"
+TRCID_       0xA166 TRACE_SHARED        "unprotectKernelMemory: vaddr 0x%lX len %d allocating %d\n"
+TRCID_       0xA167 TRACE_SHARED        "reprotectKernelMemory: vaddr 0x%lX len %d\n"
+TRCID_       0xA168 TRACE_SHARED        "InitSharedMemory called.  VMALLOC_START 0x%lX VMALLOC_END 0x%lX\n"
+TRCID_       0xA169 TRACE_SHARED        "cxiCalcMaxSharedSegment: actualBytes 0x%lX desiredBytes %d physMemSize 0x%lX vmUsed 0x%lX maxBytes 0x%lX\n"
+TRCID_       0xA16A TRACE_SHARED        "cxiAllocSharedMemory: vmalloc %d minBytes %d\n"
+TRCID_       0xA16B TRACE_SHARED        "cxiAllocSharedMemory: vaddr 0x%lX kBytes %d rc %d code %d\n"
+TRCID_       0xA16C TRACE_SHARED        "cxiFreeSharedMemory: vaddrP 0x%lX chunkP 0x%lX\n"
+TRCID_       0xA16D TRACE_SHARED        "cxiAttachSharedMemory: chunkP 0x%lX\n"
+TRCID_       0xA16E TRACE_SHARED        "cxiDetachSharedMemory: chunkP 0x%lX\n"
+TRCID_       0xA16F TRACE_SHARED        "module unloaded major %d\n"
+TRCID_       0xA170 TRACE_SHARED        "kxMapPrivate: inAddr 0x%lX len %d prot 0x%X outAddr 0x%lX vmaP 0x%lX\n"
+TRCID_       0xA171 TRACE_VNODE         "dump 0 %s page 0x%lX: vma 0x%08X count %d data %08X %08X %08X %08X\n"
+TRCID_       0xA172 TRACE_VNODE         "dump 1 %s page 0x%lX: vma 0x%08X count %d data %08X %08X %08X %08X\n"
+TRCID_       0xA173 TRACE_VNODE         "dump 2 %s page 0x%lX: vma 0x%08X count %d data %08X %08X %08X %08X\n"
+TRCID_       0xA174 TRACE_VNODE         "cxiMmapRegister enter\n"
+TRCID_       0xA175 TRACE_VNODE         "cxiMmapUnregister enter\n"
+TRCID_       0xA176 TRACE_VNODE         "getFilePos: pos 0x%llX\n"
+TRCID_       0xA177 TRACE_VNODE         "IoDone enter: b_flags 0x%lX pageP 0x%lX index %d count %d flags 0x%lX\n"
+TRCID_       0xA178 TRACE_VNODE         "IoDone exit: pageP 0x%lX flags 0x%lX\n"
+TRCID_       0xA179 TRACE_VNODE         "cxiMmapFlush: cnP 0x%lX inodeNum %d opt %d range 0x%llX-0x%llX\n"
+TRCID_       0xA17A TRACE_VNODE         "cxiMmapFlush exit: rc %d\n"
+TRCID_       0xA17B TRACE_VNODE         "cxiMmapGetPage: page 0x%lX index %d count %d flags 0x%lX mapping 0x%lX uptodate %d\n"
+TRCID_       0xA17C TRACE_VNODE         "cxiMmapReleasePage: released page 0x%lX index %d count %d flags 0x%lX\n"
+TRCID_       0xA17D TRACE_VNODE         "gpfs_filemap_nopage enter: area 0x%lX address 0x%lX vm_file 0x%lX vm_mm 0x%lX mm_users %d noShare %d\n"
+TRCID_       0xA17E TRACE_VNODE         "gpfs_filemap_nopage: vm_start 0x%lX vm_end 0x%lX vm_flags 0x%lX index %d\n"
+TRCID_       0xA17F TRACE_VNODE         "gpfs_filemap_nopage: return page 0x%lX count %d flags 0x%lX mm_users %d\n"
+TRCID_       0xA180 TRACE_VNODE         "gpfs_filemap_nopage: return page NULL"
+TRCID_       0xA181 TRACE_VNODE         "gpfs_filemap_nopagedone: cnP 0x%lX area 0x%lX address 0x%lX status %d\n"
+TRCID_       0xA182 TRACE_VNODE         "gpfs_i_readpage enter: fileP 0x%lX cnP 0x%lX inodeP 0x%lX inode %d\n"
+TRCID_       0xA183 TRACE_VNODE         "gpfs_i_readpage: page 0x%lX index %d count %d flags 0x%lX\n"
+TRCID_       0xA184 TRACE_VNODE         "gpfs_i_readpage: return page 0x%lX index %d count %d flags 0x%lX\n"
+TRCID_       0xA185 TRACE_VNODE         "gpfs_i_readpage exit: inodeP 0x%lX rc %d code %d\n"
+TRCID_       0xA186 TRACE_VNODE         "gpfs_i_writepage enter: cnP 0x%lX inodeP 0x%lX inode %d\n"
+TRCID_       0xA187 TRACE_VNODE         "gpfs_i_writepage: page 0x%lX index %d count %d flags 0x%lX\n"
+TRCID_       0xA188 TRACE_VNODE         "gpfs_i_writepage exit: inodeP 0x%lX rc %d\n"
+TRCID_       0xA189 TRACE_VNODE         "ACL_2_posix_acl: enter size %d buf_size %d\n"
+TRCID_       0xA18A TRACE_VNODE         "ACL_2_posix_acl: %d len %d buf_size %d\n"
+TRCID_       0xA18B TRACE_VNODE         "ACL_2_posix_acl: %d e_tag 0x%02X aceTagType %d e_id %d aceQualifier %d e_perm 0x%02X acePermissions 0x%01X\n"
+TRCID_       0xA18C TRACE_VNODE         "ACL_2_posix_acl: exit rc %d\n"
+TRCID_       0xA18D TRACE_VNODE         "posix_acl_2_ACL: %d e_tag 0x%X aceTagType %d aceQualifier %d e_perm 0x%X acePermissions 0x%X\n"
+TRCID_       0xA18E TRACE_VNODE         "gpfs_i_gpfs_set_posix_acl enter: iP 0x%lX ino %d type 0x%X buf 0x%lX size %d\n"
+TRCID_       0xA18F TRACE_VNODE         "gpfs_i_gpfs_set_posix_acl exit: iP 0x%lX rc %d\n"
+TRCID_       0xA190 TRACE_VNODE         "gpfs_get_posix_acl enter: iP 0x%lX type %d size %d\n"
+TRCID_       0xA191 TRACE_VNODE         "gpfs_get_posix_acl exit: iP 0x%lX rc %d\n"
+TRCID_       0xA192 TRACE_ENTRYEXIT     "<--K %s rc %d\n"
+TRCID_       0xA193 TRACE_VNODE         "printSuper: sbP 0x%lX magic 0x%lX type 0x%lX private 0x%lX\n"
+TRCID_       0xA195 TRACE_VNODE         "printSuperList:\n"
+TRCID_       0xA197 TRACE_VNODE         "printSuper: s_dev 0x%X count 0x%X active %d\n"
+TRCID_       0xA198 TRACE_KLOCKL        "cxiWaitEventWait: interrupted weP 0x%lX mutexP 0x%lX rc %d\n"
+TRCID_       0xA19B TRACE_VNODE         "gpfs_get_devicelist: sbP 0x%lX p 0x%lX\n"
+TRCID_       0xA19C TRACE_VNODE         "gpfs_get_devicelist exit: rc %d\n"
+TRCID_       0xA19D TRACE_VNODE         "gpfs_layout_get: iP 0x%lX p 0x%lX\n"
+TRCID_       0xA19E TRACE_VNODE         "gpfs_layout_get exit: code %d rc %d\n"
+TRCID_       0xA19F TRACE_VNODE         "gpfs_get_state: iP 0x%lX mds %x ds %x p 0x%lX len %d verf 0x%lX:0x%lX\n"
+TRCID_       0xA1A0 TRACE_VNODE         "gpfs_get_state exit: code %d rc %d\n"
+TRCID_       0xA1A1 TRACE_VNODE         "gpfs_layout_return: iP 0x%lX\n"
+TRCID_       0xA1A2 TRACE_VNODE         "gpfs_layout_return exit: code %d iP 0x%lX\n"
+TRCID_       0xA1A3 TRACE_VNODE         "gpfs_get_deviceinfo: sbP 0x%lX p 0x%lX\n"
+TRCID_       0xA1A4 TRACE_VNODE         "gpfs_get_deviceinfo exit: rc %d\n"
+TRCID_       0xA1A5 TRACE_VNODE         "printDentry: &d_hash 0x%lX d_hash.next 0x%lX d_hash.prev 0x%lX\n"
+TRCID_       0xA1A6 TRACE_VNODE         "kxQuotactl: enter cmd 0x%x, qid %d, pathname 0x%x, euid %d\n"
+TRCID_       0xA1A7 TRACE_VNODE         "kxQuotactl at [1]\n"
+TRCID_       0xA1A8 TRACE_VNODE         "kxQuotactl at [2] user_path_walk rc %d\n"
+TRCID_       0xA1A9 TRACE_VNODE         "kxQuotactl: gpfs_ops.gpfsQuotactl, cmd 0x%x, qid %d, credP 0x%x, bufferP 0x%x\n"
+TRCID_       0xA1AA TRACE_VNODE         "kxQuotactl: gpfs_ops.gpfsQuotactl rc %d\n"
+TRCID_       0xA1AB TRACE_VNODE         "kxQuotactl exit: code %d rc %d, pathname %s\n"
+TRCID_       0xA1AC TRACE_VNODE         "cxiMmapRegister: Page_queue addr range [0x%lX - 0x%lX]\n"
+TRCID_       0xA1AD TRACE_VNODE         "gpfsGetDeviceList index %d len %d ip %s left %d\n"
+TRCID_       0xA1AE TRACE_VNODE         "cxiGetDeviceList exit: rc %d len %d"
+TRCID_       0xA1AF TRACE_VNODE         "gpfsGetDeviceInfo len %d ip %s\n"
+TRCID_       0xA1B0 TRACE_VNODE         "cxiGetDeviceInfo exit: rc %d\n"
+TRCID_       0xA1B1 TRACE_VNODE         "cxiGetLayout: nDests %d myAddr %x\n"
+TRCID_       0xA1B2 TRACE_VNODE         "cxiGetLayout index %d id 0x%lX len %d\n"
+TRCID_       0xA1B3 TRACE_VNODE         "cxiGetLayout exit: rc %d len %d p 0x%lX"
+TRCID_       0xA1B4 TRACE_VNODE         "gpfs_f_set_lease: fP 0x%lX iP 0x%lX type %s by %s\n"
+TRCID_       0xA1B5 TRACE_VNODE         "gpfs_f_set_lease: fP 0x%lX flP 0x%lX rc %d oplockWant %d oplockGot %d %s\n"
+TRCID_       0xA1B6 TRACE_VNODE         "cxiBreakOplock: exit rc %d inode 0x%lX oplock %d\n"
+TRCID_       0xA1B7 TRACE_VNODE         "cxiNFSError: %s got rc %d\n"
+TRCID_       0xA1B8 TRACE_VNODE         "cxiNFSError: NFS got error %d from %s sleep\n"
+TRCID_       0xA1B9 TRACE_VNODE         "mmfslinux product version %s does not match mmfs version %s"
+TRCID_       0xA1BA TRACE_VNODE         "mmfslinux was built with site.mcr rev %s which does not match the site.mcr version %s used to build mmfs"
+TRCID_       0xA1BB TRACE_KSVFS         "Entering ss_fs_compat_ioctl: called me with op = %d (%s)"
+TRCID_       0xA1BC TRACE_KSVFS         "Leaving ss_fs_compat_ioctl with rc = %d."
+TRCID_       0xAC01 TRACE_FS            "cxiIsGroupmember: gid %d\n"
+TRCID_       0xB801 TRACE_NSD           "new NsdDiskConfig: name %s id %s hostname %s, ldType %s\n"
+TRCID_       0xB802 TRACE_NSD           "NsdDiskConfig: ldevType %s name %s\n"
+TRCID_       0xB803 TRACE_NSD           "NsdDiskConfig exit: nServers %d, ldevType %s, pDevNameP %s, err %d\n"
+TRCID_       0xB804 TRACE_NSD           "loadConfig: nsdName %s pvid %s ldType %s, serverList %s, pDevNameP %s\n"
+TRCID_       0xB805 TRACE_NSD           "loadConfig: exit err %d\n"
+TRCID_       0xB806 TRACE_NSD           "NsdDiskConfig::readConfig: exit err %d\n"
+TRCID_       0xB807 TRACE_NSD           "reReadConfig: changing serverAddr for disk %s\n"
+TRCID_       0xB808 TRACE_NSD           "reReadConfig: stale nsdName %s local dev %s\n"
+TRCID_       0xB809 TRACE_NSD           "reReadConfig: exit err %d\n"
+TRCID_       0xB80A TRACE_NSD           "mergeConfig: current %s %s %s cl %d\n"
+TRCID_       0xB80B TRACE_NSD           "mergeConfig: updating %s %s %s cl %d, new %s %s\n"
+TRCID_       0xB80C TRACE_NSD           "mergeConfig: adding new %s %s %s cl %d\n"
+TRCID_       0xB80D TRACE_NSD           "mergeConfig: exit err %d\n"
+TRCID_       0xB80E TRACE_NSD           "mergeRemoteNsdConfig enter: nsdDataLen %d\n"
+TRCID_       0xB80F TRACE_NSD           "mergeRemoteNsdConfig [%d] len %d serversLen %d nsdNameLen %d %s\n"
+TRCID_       0xB810 TRACE_NSD           "mergeRemoteNsdConfig: cl %d server %s not found in node list\n"
+TRCID_       0xB811 TRACE_NSD           "mergeRemoteNsdConfig: name %s pvid %s ldType %s, serverList %s\n"
+TRCID_       0xB812 TRACE_NSD           "beginOpen: nBegin %d\n"
+TRCID_       0xB813 TRACE_NSD           "endOpen: nBegin %d\n"
+TRCID_       0xB814 TRACE_NSD           "getLocalDiskInfo: getting disk list\n"
+TRCID_       0xB815 TRACE_NSD           "setLocalDevName: finding name for pvid %s\n"
+TRCID_       0xB816 TRACE_NSD           "setLocalDevName: device %s status %s\n"
+TRCID_       0xB817 TRACE_NSD           "setLocalDevName exit: err %d devname %s\n"
+TRCID_       0xB818 TRACE_NSD           "packNsdInfoForRpc: len %d, nsdInfoStr '%s' len %d, serversDataLen %d\n"
+TRCID_       0xB819 TRACE_NSD           "getSGNsdFromDiskConfig exit: nDiskItems %d nsdDataLen %d err %d\n"
+TRCID_       0xB81A TRACE_NSD           "nsdDoIO enter: %s bufP 0x%lX udataP 0x%lX bufOffset %d nsdId %s da %d:%lld nBytes %d\n" $1=diskop_id2name
+TRCID_       0xB81B TRACE_NSD           "nsdDoIO: serverAddr %s\n" $1=nodeaddr_id2name
+TRCID_       0xB81C TRACE_NSD           "nsdDoIO: read complete, len %d status %d err %d\n"
+TRCID_       0xB81D TRACE_NSD           "nsdDoIO: write complete, status %d err %d\n"
+TRCID_       0xB81E TRACE_NSD           "nsdDoIO: no servers available for NsdId %s\n"
+TRCID_       0xB81F TRACE_NSD           "nsdDoIO: nsdMsgQueryServer complete, new server %s\n" $1=nodeaddr_id2name
+TRCID_       0xB820 TRACE_NSD           "nsdDoIO: not switching to server %s because it is down\n" $1=nodeaddr_id2name
+TRCID_       0xB821 TRACE_NSD           "nsdDoIO: nsdMsgQueryServer complete, unexpected err %d\n"
+TRCID_       0xB822 TRACE_NSD           "nsdDoIO: Too many retries.  Giving up.\n"
+TRCID_       0xB823 TRACE_NSD           "nsdDoIO exit: err %d\n"
+TRCID_       0xB824 TRACE_NSD           "generalizedWaitForServer: wait %d secs for server\n"
+TRCID_       0xB825 TRACE_NSD           "generalizedWaitForServer: SG panic/recovering.  No wait.\n"
+TRCID_       0xB826 TRACE_NSD           "generalizedWaitForServer: leave protocol running.  No wait.\n"
+TRCID_       0xB827 TRACE_NSD           "generalizedWaitForServer: waited %d secs for server, %d secs remain\n"
+TRCID_       0xB828 TRACE_NSD           "waitOnServersThatFailed: mostRecent %s, status %d\n"
+TRCID_       0xB829 TRACE_NSD           "waitOnServersThatFailed: err %d\n"
+TRCID_       0xB82A TRACE_NSD           "waitOnServersIfClusterJustStarted: formation time %s, delta %s, window %u\n"
+TRCID_       0xB82B TRACE_NSD           "waitOnServersIfClusterJustStarted: err %d\n"
+TRCID_       0xB82C TRACE_NSD           "getNsdInfo enter: nsdId %s\n"
+TRCID_       0xB82D TRACE_NSD           "getNsdInfo: serverAddr %s\n" $1=nodeaddr_id2name
+TRCID_       0xB82E TRACE_NSD           "getNsdInfo: no wait - already tried waiting\n"
+TRCID_       0xB82F TRACE_NSD           "getNsdInfo: no servers for mount - try waiting\n"
+TRCID_       0xB830 TRACE_NSD           "getNsdInfo: no servers available for NsdId %s\n"
+TRCID_       0xB831 TRACE_NSD           "getNsdInfo: nsdMsgQueryServer complete, new server %s\n" $1=nodeaddr_id2name
+TRCID_       0xB832 TRACE_NSD           "getNsdInfo: not switching to server %s because it is down\n" $1=nodeaddr_id2name
+TRCID_       0xB833 TRACE_NSD           "getNsdInfo: nsdMsgQueryServer complete, unexpected err %d\n"
+TRCID_       0xB834 TRACE_NSD           "getNsdInfo: Too many retries.  Giving up.\n"
+TRCID_       0xB835 TRACE_NSD           "getNsdInfo: err %d totalSectors %lld\n"
+TRCID_       0xB836 TRACE_NSD           "nsdOpen enter: nsd name %s\n"
+TRCID_       0xB837 TRACE_NSD           "nsdOpen exit: err %d\n"
+TRCID_       0xB838 TRACE_NSD           "nsdClose: nsd name %s\n"
+TRCID_       0xB839 TRACE_NSD           "nsdServerStart: enter\n"
+TRCID_       0xB83A TRACE_NSD           "nsdHndlCntlMsg: IO verify nsdId %s sector %lld bytes %d\n"
+TRCID_       0xB83B TRACE_NSD           "nsdHndlCntlMsg: start server nsdId %s new server %s\n" $2=nodeaddr_id2name
+TRCID_       0xB83C TRACE_NSD           "nsdHndlCntlMsg: start server, disk %s active server %s\n" $2=nodeaddr_id2name
+TRCID_       0xB83D TRACE_NSD           "nsdHndlCntlMsg: stop server nsdId %s reqestor %s\n" $2=nodeaddr_id2name
+TRCID_       0xB83E TRACE_NSD           "nsdHndlCntlMsg: unfence server %s\n" $1=nodeaddr_id2name
+TRCID_       0xB83F TRACE_NSD           "nsdHndlCntlMsg: query server nsdId %s servernode %s\n" $2=nodeaddr_id2name
+TRCID_       0xB840 TRACE_NSD           "nsdHndlCntlMsg: exit err %d\n"
+TRCID_       0xB841 TRACE_NSD           "NSD info request, nsdId %s\n"
+TRCID_       0xB842 TRACE_NSD           "NSD I/O request, msg_type %d nsdId %s da %d:%lld nBytes %d\n"
+TRCID_       0xB843 TRACE_NSD           "nsdMsgHandler exit: err %d\n"
+TRCID_       0xB844 TRACE_NSD           "nsdLocalIO enter: nsdId %s\n"
+TRCID_       0xB845 TRACE_NSD           "nsdLocalIO: disk %s status is %s\n"
+TRCID_       0xB846 TRACE_NSD           "nsdLocalIO: length %d is not a multiple of %d\n"
+TRCID_       0xB847 TRACE_NSD           "nsdLocalIO exit: err %d\n"
+TRCID_       0xB848 TRACE_NSD           "nsdWorkerThread: exiting because nThreads is %d and desiredThreads is %d"
+TRCID_       0xB849 TRACE_NSD           "nsdWorkerThread: buffer allocation failed"
+TRCID_       0xB84A TRACE_NSD           "adjustThreads: nServerDisks %d nThreads %d desired %d started %d\n"
+TRCID_       0xB84B TRACE_NSD           "adjustThreads: could only start %d out of %d threads\n"
+TRCID_       0xB84C TRACE_NSD           "addServerDisk: added NsdServerDisk for disk %s nsdId %s\n"
+TRCID_       0xB84D TRACE_NSD           "openServerDisks enter\n"
+TRCID_       0xB84E TRACE_NSD           "openServerDisks: unfence request to %s err %d\n" $1=nodeaddr_id2name
+TRCID_       0xB84F TRACE_NSD           "openServerDisks: could not find devname for %s\n"
+TRCID_       0xB850 TRACE_NSD           "openServerDisks: opening %s\n"
+TRCID_       0xB851 TRACE_TS            "openServerDisks: Vsdfence failed with err %d\n"
+TRCID_       0xB852 TRACE_NSD           "removeServerDisk: removing disk %s\n"
+TRCID_       0xB853 TRACE_NSD           "removeServerDisk: NsdServerDisk obj for disk %s not found\n"
+TRCID_       0xB854 TRACE_NSD           "sdoIO: %s %s %s da %d:%lld nSectors %d offset %d flags %04X\n"
+TRCID_       0xB855 TRACE_NSD           "suspendIO: suspending %s\n"
+TRCID_       0xB856 TRACE_NSD           "resumeIO: resuming %s\n"
+TRCID_       0xB857 TRACE_NSD           "suspendNsdRecovery: suspend E_IO recovery processing\n"
+TRCID_       0xB858 TRACE_NSD           "resumeNsdRecovery: resume E_IO recovery processing\n"
+TRCID_       0xB859 TRACE_NSD           "processRequest enter: nsdId %s\n"
+TRCID_       0xB85A TRACE_NSD           "processRequest: disk %s status is %s"
+TRCID_       0xB85B TRACE_NSD           "processRequest: length %d is not a multiple of %d\n"
+TRCID_       0xB85C TRACE_NSD           "processRequest exit: err %d processed %d\n"
+TRCID_       0xB85D TRACE_NSD           "verifyIO: set new server %s err %d\n" $1=nodeaddr_id2name
+TRCID_       0xB85E TRACE_NSD           "reqSetActiveServer: new server %s err %d\n" $1=nodeaddr_id2name
+TRCID_       0xB85F TRACE_NSD           "suspendNsdIO: suspending IO\n"
+TRCID_       0xB860 TRACE_NSD           "resumeNsdIO: resuming IO\n"
+TRCID_       0xB861 TRACE_NSD           "waitForNsdIO: Waiting for I/O to finish\n"
+TRCID_       0xB862 TRACE_NSD           "reOpenServerDisks: requestBits 0x%x\n"
+TRCID_       0xB863 TRACE_NSD           "doReOpen: enter, osdRequests 0x%x\n"
+TRCID_       0xB864 TRACE_NSD           "doReOpen: re-opening server disks, osdRequests 0x%x\n"
+TRCID_       0xB865 TRACE_NSD           "doReOpen: becoming active server for disk %s\n"
+TRCID_       0xB866 TRACE_NSD           "doReOpen: switching from active to ready for disk %s\n"
+TRCID_       0xB867 TRACE_NSD           "doReOpen: switching from ready to active for disk %s\n"
+TRCID_       0xB868 TRACE_NSD           "activatePrimary: primary %s nsdName %s\n" $1=nodeaddr_id2name
+TRCID_       0xB869 TRACE_NSD           "PurgeServerReq entry: node %s" $1=nodeaddr_id2name
+TRCID_       0xB86A TRACE_NSD           "doNsdServerTakeover: node %s" $1=nodeaddr_id2name
+TRCID_       0xB86B TRACE_NSD           "nsdInit enter"
+TRCID_       0xB86C TRACE_NSD           "nsdInit exit, err %d"
+TRCID_       0xB86D TRACE_NSD           "NsdNodeJoinPhaseOne: Phase 1 Join callback node %s\n" $1=nodeaddr_id2name
+TRCID_       0xB86E TRACE_NSD           "NsdNodeJoinPhaseTwo: Phase 2 Join callback node %s\n" $1=nodeaddr_id2name
+TRCID_       0xB86F TRACE_NSD           "NsdNodeLeavePhaseOne: Phase 1 Leave callback node %s\n" $1=nodeaddr_id2name
+TRCID_       0xB870 TRACE_NSD           "newLocalDisk: devNameP %s type %s\n"
+TRCID_       0xB871 TRACE_NSD           "getLocalDisks: run (%s)\n"
+TRCID_       0xB872 TRACE_NSD           "getLocalDisks: pipeOpen fptr 0x%X pid %d\n"
+TRCID_       0xB873 TRACE_NSD           "getHints: found hint for pvid %s devname %s\n"
+TRCID_       0xB874 TRACE_NSD           "getHints exit: err %d\n"
+TRCID_       0xB875 TRACE_NSD           "updateHints: devname %s updated pvid %s\n"
+TRCID_       0xB876 TRACE_NSD           "updateHints: devname %s pvid %s was incorrect\n"
+TRCID_       0xB877 TRACE_NSD           "updateHints: no changes\n"
+TRCID_       0xB878 TRACE_NSD           "updateHints: devname %s new pvid %s ldevType %s\n"
+TRCID_       0xB879 TRACE_NSD           "updateHints exit: err %d\n"
+TRCID_       0xB87A TRACE_NSD           "getPvidOnDev: PVID %s dev %s dskSizeP %ld code %d err %d\n"
+TRCID_       0xB87B TRACE_NSD           "setVMIDOnDev: dev %s code %d err %d\n"
+TRCID_       0xB87C TRACE_NSD           "setDescOnDev: PVID %s dev %s dskSz %ld code %d err %d\n"
+TRCID_       0xB87D TRACE_NSD           "findDiskForPvid: PVID %s dev %s dskSz %ld code %d err %d\n"
+TRCID_       0xC001 TRACE_ERRLOG        "LogError called\n"
+TRCID_       0xC002 TRACE_ERRLOG        "LogError called\n"
+TRCID_       0xC401 TRACE_CLEANUP       "kxRegisterMMFSSeg: canMap %d CanMapSharedSeg %d NeedToUnmapSharedSeg %d SegmentHoldCount %d rc %d\n"
+TRCID_       0xC402 TRACE_VNODE         "kxGetMountInfoByID enter: mountId %d\n"
+TRCID_       0xC403 TRACE_VNODE         "kxGetMountInfoByID: mount opts len %d opt '%s'\n"
+TRCID_       0xC404 TRACE_VNODE         "kxGetMountInfoByID: copyout mInfo structure rc %d\n"
+TRCID_       0xC405 TRACE_VNODE         "kxGetMountInfoByID exit: code %d rc %d\n"
+TRCID_       0xC406 TRACE_VNODE         "kxBlockingMutexStatsCtl enter: cmd %d bufP 0x%lX len %d\n"
+TRCID_       0xC407 TRACE_MALLOC        "kSFSMalloc: sending mb msg to daemon to alloc/free %d bytes\n"
+TRCID_       0xC408 TRACE_MALLOC        "kSFSMalloc: nBytes %d err %d\n"
+TRCID_       0xC409 TRACE_VNODE         "kxPnfsCtl enter: cmd %d p 0x%lX len %d nodeAddr %d\n"
+TRCID_       0xC40A TRACE_VNODE         "gpfsSwapdInit: exit rc %d pid %d\n"
+TRCID_       0xC40B TRACE_VNODE         "gpfsSwapdTerm: terminate pid %d\n"
+TRCID_       0xC40C TRACE_VNODE         "gpfsSwapdTerm: exit pid %d\n"
+TRCID_       0xC40D TRACE_VNODE         "gpfsSwapdEnqueue: exit cnP 0x%lX ip 0x%lX already queued %d\n"
+TRCID_       0xC40E TRACE_VNODE         "pruneDCacheNodes: gnP 0x%lX gnP->sgLocalId %d\n"
+TRCID_       0xC40F TRACE_VNODE         "finishDCachePruning: sgLocalId %d code %d"
+TRCID_       0xC410 TRACE_VNODE         "Swapd: waiting\n"
+TRCID_       0xC411 TRACE_VNODE         "Swapd: running\n"
+TRCID_       0xC412 TRACE_VNODE         "Swapd: exiting\n"
+TRCID_       0xC413 TRACE_SHARED        "init_module mmfs\n"
+TRCID_       0xC414 TRACE_SHARED        "module mmfs unloaded\n"
+TRCID_       0xC415 TRACE_KSVFS         "ss_ioctl: op %d kx_args %lx\n"
+TRCID_       0xC416 TRACE_DMAPI         "DmApiCall: rc %d\n"
+TRCID_       0xC417 TRACE_KSVFS         "ss_ioctl: bad op %d\n"
+TRCID_       0xCC01 TRACE_TASKING       "saveStackStorage: kernelBoundary 0x%lX wantP 0x%lX p 0x%lX chunkLen %ld\n"
+TRCID_       0xCC02 TRACE_TASKING       "saveStackStorage: stack_first 0x%lX stackAreaEndP 0x%lX\n"
+TRCID_       0xCC03 TRACE_TASKING       "cxiInitDaemon exit: kernelBoundary 0x%lX rc %d\n"
+TRCID_       0xCC04 TRACE_TASKING       "cxiCreateSharedMemory exit: SharedSegmentBase 0x%lX code %d rc %d kBytes %d maxSegSize %d\n"
+TRCID_       0xCC05 TRACE_TASKING       "cxiMapShSeg exit: rc %d base 0x%lX\n"
+TRCID_       0xCC06 TRACE_TASKING       "cxiUnmapShSeg exit: rc %d\n"
+TRCID_       0xCC07 TRACE_THREAD        "registerStack: highStackP 0x%lX stackSize %d thread 0x%lX\n"
+TRCID_       0xCC08 TRACE_THREAD        "pthread_setspecific rc %d thP_key 0x%X thP 0x%lX\n"
+TRCID_       0xCC09 TRACE_THREAD        "pthread_setspecific pid rc %d\n"
+TRCID_       0xCC0A TRACE_THREAD        "RunGDBScript: exit code %d rc %d\n"
+TRCID_       0xCC0B TRACE_THREAD        "PrintTracebackBody: code %d rc %d\n"
+TRCID_       0xCC0C TRACE_THREAD        "PrintTracebackBody: code %d rc %d\n"
+TRCID_       0xCC0D TRACE_THREAD        "PrintTracebackBody: code %d rc %d\n"
+TRCID_       0xCC0E TRACE_THREAD        "PrintTracebackBody: code %d rc %d\n"
+TRCID_       0xCC0F TRACE_THREAD        "PrintTracebackBody: code %d rc %d\n"
+TRCID_       0xCC10 TRACE_ENTRYEXIT     "-->D %s (%s:%d) level %d stackP 0x%lX\n"
+TRCID_       0xCC11 TRACE_ENTRYEXIT     "<--D %s\n"
+TRCID_       0xD001 TRACE_FS            "policyPoolChoice entry sg=%s fn=%s fsi=%d ct=%d uid=%d gid=%d"
+TRCID_       0xD002 TRACE_FS            "policyPoolChoice fn=%s rule:%s (%d) pool:%s (%d) repl(%d,%d)"
+TRCID_       0xD003 TRACE_FS            "policyPoolChoice fn=%s matches NO rule"
+TRCID_       0xD004 TRACE_FS            "policyPoolChoice fn=%s ERROR: %s"
+TRCID_       0xD005 TRACE_FS            "policyPoolChoice fn=%s INFO: %s"
+TRCID_       0xD006 TRACE_FS            "policyNewRules ERRORS fn=`%s' rc=%d %s"
+TRCID_       0xD007 TRACE_FS            "policyNewRules LOADED fn=`%s' %s"
+TRCID_       0xD008 TRACE_FS            "pcRestorePoolChoice entry sg=%s fn=%s fsi=%d path=%s"
+TRCID_       0xD009 TRACE_FS            "pcRestorePoolChoice fn=%s rule:%s (%d) pool:%s (%d) repl(%d,%d)"
+TRCID_       0xD00A TRACE_FS            "pcRestorePoolChoice fn=%s matches NO rule"
+TRCID_       0xD00B TRACE_FS            "pcRestorePoolChoice fn=%s ERROR: %s"
+TRCID_       0xD00C TRACE_FS            "pcRestorePoolChoice fn=%s INFO: %s"
+TRCID_       0xD401 TRACE_SANERGY       "sanSetupMnodeState enter: ofP 0x%X\n"
+TRCID_       0xD402 TRACE_SANERGY       "sanSetupMnodeState: ofP 0x%lX change san state %s --> %s\n"
+TRCID_       0xD403 TRACE_SANERGY       "sanSetupMnodeState: allocated SANergyMNodeState 0x%X, size %d\n"
+TRCID_       0xD404 TRACE_SANERGY       "sanSetupMnodeState: sanMNStateP 0x%X, delete sanoiP 0x%X\n"
+TRCID_       0xD405 TRACE_SANERGY       "sanSetupMnodeState exit, err %d\n"
+TRCID_       0xD406 TRACE_SANERGY       "sanUpdateMnodeState enter: ofP 0x%X, leaseExpiration %d\n"
+TRCID_       0xD407 TRACE_SANERGY       "sanUpdateMnodeState st %s\n"
+TRCID_       0xD408 TRACE_SANERGY       "sanUpdateMnodeState: ofP 0x%X tmpMNInst inodeNum %d, inodeGenNum %d\n"
+TRCID_       0xD409 TRACE_SANERGY       "inode %d genNum %d already in MNlist, lease %d, expire in %d secs.\n"
+TRCID_       0xD40A TRACE_SANERGY       "sanUpdateMnodeState: alloc MN inst for ino %d, genNum %d instP 0x%X\n"
+TRCID_       0xD40B TRACE_SANERGY       "sanUpdateMnodeState: existing entry 0x%X update lease: %d, sanMNStateP->sanMNInstP->ofP 0x%X, ofP 0x%X\n"
+TRCID_       0xD40C TRACE_SANERGY       "sanUpdateMnodeState: NewOpenInstance failed with err %d\n"
+TRCID_       0xD40D TRACE_SANERGY       "sanUpdateMnodeState inode %d, GenNum %d NewOpenInstance 0x%X\n"
+TRCID_       0xD40E TRACE_SANERGY       "sanUpdateMnodeState exit:  err %d, sanMNInstP 0x%X, expirationTime %d, state %s\n"
+TRCID_       0xD40F TRACE_SANERGY       "sanUnlockMnodeState enter: ofP 0x%X, inode %d sanMNStateP 0x%X lastLock %d\n"
+TRCID_       0xD410 TRACE_SANERGY       "sanUnlockMnodeState ofP 0x%X, (sanMNOFStateP is null) ret err %d\n"
+TRCID_       0xD411 TRACE_SANERGY       "sanUnlockMnodeState sanMNState %s\n"
+TRCID_       0xD412 TRACE_SANERGY       "sanUnlockMnodeState: sanMNState noSANergyMDC, lease %d\n"
+TRCID_       0xD413 TRACE_SANERGY       "sanUnlockMnodeState: sanMNStateP->nMDC %d, expired %d\n"
+TRCID_       0xD414 TRACE_SANERGY       "sanUnlockMnodeState: after sanRetrieveAllocSize fileSize %lld, curAllocSize %lld\n"
+TRCID_       0xD415 TRACE_SANERGY       "sanUnlockMnodeState: hyperAllocated call sanTruncFile, fileSize %lld, curAllocSize %lld\n"
+TRCID_       0xD416 TRACE_SANERGY       "sanUnlockMnodeState: hyperAllocated sanTruncFile ret %d\n"
+TRCID_       0xD417 TRACE_SANERGY       "sanUnlockMnodeState: calling truncFile, fileSize %lld\n"
+TRCID_       0xD418 TRACE_SANERGY       "sanUnlockMnodeState inode %d, fileSize %lld, nBlocks %lld, fBlocks %lld, sanResetHyperAllocBit\n"
+TRCID_       0xD419 TRACE_SANERGY       "sanUnlockMnodeState: sanMNStateP 0x%X deleteOpenInstance 0x%X\n"
+TRCID_       0xD41A TRACE_SANERGY       "sanUnlockMnodeState: sanMNStateP 0x%X sanMNInstP 0x%X, lease %d\n"
+TRCID_       0xD41B TRACE_SANERGY       "sanUnlockMnodeState ofP 0x%X, ret err %d, lease %d\n"
+TRCID_       0xD41C TRACE_SANERGY       "sanMdcConfig::sanStartSGUse useCount before %d UseIncremented %d\n"
+TRCID_       0xD41D TRACE_SANERGY       "sanMdcConfig::sanEndSGUse useCount before %d, UseIncreamented %d\n"
+TRCID_       0xD41E TRACE_SANERGY       "sanMdcConfig::sanEndSGUse: calling sgP->EndUse\n"
+TRCID_       0xD41F TRACE_SANERGY       "sanCleaupExpired enter: sanMNInstListP 0x%X sanInstListP 0x%X, now %d\n"
+TRCID_       0xD420 TRACE_SANERGY       "sanCleanupExpired: select_remove sanMNInstListP 0x%X, enter\n"
+TRCID_       0xD421 TRACE_SANERGY       "sanCleanupExpired: select_remove sanMNInstListP 0x%X, becameEmpty %d\n"
+TRCID_       0xD422 TRACE_SANERGY       "sanCleanupExpired: select_remove sanInstListP 0x%X, enter\n"
+TRCID_       0xD423 TRACE_SANERGY       "sanCleanupExpired: select_remove sanInstListP 0x%X, exit\n"
+TRCID_       0xD424 TRACE_SANERGY       "sanCleaupExpired: inst list became empty\n"
+TRCID_       0xD425 TRACE_SANERGY       "sanCleaupExpired exit: becameEmptyList %d wasEmptyList %d becameEmptyMNList %d, wasEmptyMNList %d\n"
+TRCID_       0xD426 TRACE_SANERGY       "SANergyInstanceList::freeItem 0x%X\n"
+TRCID_       0xD427 TRACE_SANERGY       "SANergyInstanceList::allocItem 0x%X"
+TRCID_       0xD428 TRACE_SANERGY       "SANergyListSelect: instP 0x%X, sanState %s, can't removed it\n"
+TRCID_       0xD429 TRACE_SANERGY       "SANergyListSelect: ret retval %d, sanState %d, lease %d, leasefree %d\n"
+TRCID_       0xD42A TRACE_SANERGY       "SANergyListDealloc: deleteItem 0x%X, instP->ofP 0x%X, sanOFState: sanInstP 0x%X sanState %s\n"
+TRCID_       0xD42B TRACE_SANERGY       "SANergyMNListSelect: instP 0x%X, ofP 0x%X mnCmdInProgress %d sanState %s\n"
+TRCID_       0xD42C TRACE_SANERGY       "SANergyMNListSelect: instP 0x%X ofP 0x%X mnCmdInProgress %d retval %d\n"
+TRCID_       0xD42D TRACE_SANERGY       "SANergyMNListDealloc: deleteItem 0x%X, instP->ofP 0x%X\n"
+TRCID_       0xD42E TRACE_SANERGY       "SANergyMNListDealloc: 0x%X, sanMNInstP 0x%X sanState %s\n"
+TRCID_       0xD42F TRACE_SANERGY       "SANergyMNListDealloc: 0x%X, ofP 0x%X sanMNOFStateP NULL\n"
+TRCID_       0xD430 TRACE_SANERGY       "StripeGroup::startSANergyMdc for %s\n"
+TRCID_       0xD431 TRACE_SANERGY       "startSANergyMdc ret err %d for %s\n"
+TRCID_       0xD432 TRACE_SANERGY       "sanStartSGUse: incr sg useCount now %d\n"
+TRCID_       0xD433 TRACE_SANERGY       "sanEndSGUse: decr sg useCount now %d\n"
+TRCID_       0xD434 TRACE_SANERGY       "cleanSanInstLists thread enter\n"
+TRCID_       0xD435 TRACE_SANERGY       "sanMHProlog: createLockedFile failed, err %d\n"
+TRCID_       0xD436 TRACE_SANERGY       "sanMHProlog: ofP 0x%X geInode ret err %d, makeValid %d\n"
+TRCID_       0xD437 TRACE_SANERGY       "sanMHProlog: error cleanup calling sgP->EndUse\n"
+TRCID_       0xD438 TRACE_SANERGY       "sanMHProlog exit: inode %d mhFlags %d rc %d\n"
+TRCID_       0xD439 TRACE_SANERGY       "mhSanQueryLockedMap: enter, mhFlags 0x%X\n"
+TRCID_       0xD43A TRACE_SANERGY       "mhSanQueryLockedMap: calling sgP->EndUse\n"
+TRCID_       0xD43B TRACE_SANERGY       "mhSanQueryLockedMap: exit, err %d\n"
+TRCID_       0xD43C TRACE_SANERGY       "mhSanUnlockMap: enter, mhFlags 0x%X\n"
+TRCID_       0xD43D TRACE_SANERGY       "mhSanUnlockMap: inode %d sanState %s\n"
+TRCID_       0xD43E TRACE_SANERGY       "mhSanUnlockMap: can't unlock inode %d ret %d sanState %s\n"
+TRCID_       0xD43F TRACE_SANERGY       "mhSanUnlockMap: inode %d mhFlags %d call flushFile\n"
+TRCID_       0xD440 TRACE_SANERGY       "mhSanUnlockMap: calling sgP->EndUse\n"
+TRCID_       0xD441 TRACE_SANERGY       "mhSanUnlockMap exit, err %d\n"
+TRCID_       0xD442 TRACE_SANERGY       "mhSanFlushFile enter, mhFlags 0x%X\n"
+TRCID_       0xD443 TRACE_SANERGY       "mhSanFlushFile: inode %d mhFlags %d call flushFile\n"
+TRCID_       0xD444 TRACE_SANERGY       "mhSanFlushFile: calling sgP->EndUse\n"
+TRCID_       0xD445 TRACE_SANERGY       "mhSanFlushFile exit, err %d\n"
+TRCID_       0xD446 TRACE_SANERGY       "sanLookForLockedMaps enter: sanergyIsEnabled %d, inode %d key %X:%X:%X:%X"
+TRCID_       0xD447 TRACE_SANERGY       "sanLookForLockedMaps send sanMsgQueryLockedMap to %d nodes\n"
+TRCID_       0xD448 TRACE_SANERGY       "sanLookForLockedMaps: error %d from node %s\n" $2=nodeaddr_id2name
+TRCID_       0xD449 TRACE_SANERGY       "sanLookForLockedMaps call sanUpdateMnodeState ofP 0x%X\n"
+TRCID_       0xD44A TRACE_SANERGY       "sanLookForLockedMaps returning %d\n"
+TRCID_       0xD44B TRACE_SANERGY       "sanLookForLockedMaps err %d, call doSanClearMNState\n"
+TRCID_       0xD44C TRACE_SANERGY       "sanFlushFile enter: sanergyIsEnabled %d, mnode holders, key %X:%X:%X:%X"
+TRCID_       0xD44D TRACE_SANERGY       "sanFlushFile send sanMsgFlushFile to %d nodes\n"
+TRCID_       0xD44E TRACE_SANERGY       "sanFlushFile: error %d from node %s" $2=nodeaddr_id2name
+TRCID_       0xD44F TRACE_SANERGY       "sanFlushFile call flushFile, do a local file flush"
+TRCID_       0xD450 TRACE_SANERGY       "sanFlushFile returning %d\n"
+TRCID_       0xD451 TRACE_SANERGY       "sanUnlockMap enter: mnode holders, key %X:%X:%X:%X"
+TRCID_       0xD452 TRACE_SANERGY       "sanUnlockMap send sanMsgUnlockMap to %d nodes\n"
+TRCID_       0xD453 TRACE_SANERGY       "sanUnlockMap: error %d from node %s" $2=nodeaddr_id2name
+TRCID_       0xD454 TRACE_SANERGY       "sanUnlockMap returning %d\n"
+TRCID_       0xD455 TRACE_SANERGY       "CollectFSMapInfo enter: inode %d, genNum %d, start %lld, len %lld, sanInstListP 0x%X\n"
+TRCID_       0xD456 TRACE_SANERGY       "CollectFSMapInfo: MDC must not be remote; returning E_INVAL"
+TRCID_       0xD457 TRACE_SANERGY       "CollectFSMapInfo: createLockedFile ro failed err %d\n"
+TRCID_       0xD458 TRACE_SANERGY       "CollectFSMapInfo: ofP 0x%X getInode failed err %d\n"
+TRCID_       0xD459 TRACE_SANERGY       "CollectFSMapInfo: inode %d genNum %d currentDataReplicas %d, ret err %d\n"
+TRCID_       0xD45A TRACE_SANERGY       "CollectFSMapInfo: inode %d genNum %d requestSANergyExport\n"
+TRCID_       0xD45B TRACE_SANERGY       "PropagateCCSANergyExport returned rc %d\n"
+TRCID_       0xD45C TRACE_SANERGY       "CollectFSMapInfo: ofP 0x%X, sanOFState.sanState %s, sanOFState.sanInstP 0x%X\n"
+TRCID_       0xD45D TRACE_SANERGY       "CollectFSMapInfo: I'm metanode inode %d sanMNOFStateP 0x%X\n"
+TRCID_       0xD45E TRACE_SANERGY       "CollectFSMapInfo: fsop.getFileLock inode %d ret err %d\n"
+TRCID_       0xD45F TRACE_SANERGY       "CollectFSMapInfo: got err %d from getFileLock LkObj::ro\n"
+TRCID_       0xD460 TRACE_SANERGY       "CollectFSMapInfo: err %d bad state: ofP->sanOfState.sanState %s\n"
+TRCID_       0xD461 TRACE_SANERGY       "CollectFSMapInfo: tmpInst: 0x%X, size %d, inode %d genNum %d, lease %d, ofP 0x%X\n"
+TRCID_       0xD462 TRACE_SANERGY       "CollectFSMapInfo: inode %d genNum %d instP 0x%X, already in the list, lease %d, expire in %d secs.\n"
+TRCID_       0xD463 TRACE_SANERGY       "CollectFSMapInfo: bad instance, instP->ofP 0x%X, ofP 0x%X\n"
+TRCID_       0xD464 TRACE_SANERGY       "CollectFSMapInfo: instP ofP inodeValid %d inode %d sanState %d\n"
+TRCID_       0xD465 TRACE_SANERGY       "CollectFSMapInfo: instP ofP isInodeValid 0\n"
+TRCID_       0xD466 TRACE_SANERGY       "CollectFSMapInfo: inode %d genNum %d, not in the list\n"
+TRCID_       0xD467 TRACE_SANERGY       "CollectFSMapInfo: insertList tmpInst 0x%X inode %d genNum %d instP 0x%X inode %d genNum %d (%d)\n"
+TRCID_       0xD468 TRACE_SANERGY       "CollectFSMapInfo: sanergy inst list not empty any more, incr sg usecount\n"
+TRCID_       0xD469 TRACE_SANERGY       "CollectFSMapInfo: ofP->sanOFState.sanInstP 0x%X, ofP 0x%X, instP 0x%X, inode %d, genNum %d, status %d\n"
+TRCID_       0xD46A TRACE_SANERGY       "CollectFSMapInfo: sanInstP 0x%X ofP 0x%X inode %d genNum %d\n"
+TRCID_       0xD46B TRACE_SANERGY       "CollectFSMapInfo: (1) sanOFState.sanInstP 0x%X, ofP 0x%X, instP 0x%X, inode %d, genNum %d, sanState %s\n"
+TRCID_       0xD46C TRACE_SANERGY       "CollectFSMapInfo(1): last block %d fragms, filesize %lld\n"
+TRCID_       0xD46D TRACE_SANERGY       "CollectFSMapInfo checksizes: ofP 0x%lX last block %d fragms, filesize %lld, lastDataBlock %lld, dataSize %lld, fileSize %lld\n"
+TRCID_       0xD46E TRACE_SANERGY       "CollectFSMapInfo: inode %d bad input, start %lld > allocSize %lld, err %d\n"
+TRCID_       0xD46F TRACE_SANERGY       "CollectFSMapInfo: inode %d, genNum %d, fileSize %lld, allocSize = %lld\n"
+TRCID_       0xD470 TRACE_SANERGY       "CollectFSMapInfo: no space, blkNeeded %lld, howManyExtent %d\n"
+TRCID_       0xD471 TRACE_SANERGY       "CollectFSMapInfo: bad input, startBlkNum %lld, endBlkNum %lld, err %d\n"
+TRCID_       0xD472 TRACE_SANERGY       "CollectFSMapInfo: sanOFState.sanInstP 0x%X, ofP 0x%X, inode %d, genNum %d, sanState %s\n"
+TRCID_       0xD473 TRACE_SANERGY       "CollectFSMapInfo: (5) err %d sanOFState.sanInstP 0x%X, ofP 0x%X, inode %d, genNum %d, sanState %s\n"
+TRCID_       0xD474 TRACE_SANERGY       "CollectFSMapInfo(4): inode %d, genNum %d, sanState %s\n"
+TRCID_       0xD475 TRACE_SANERGY       "CollectFSMapInfo: dataSize=fileSize=0, alloc %d, fileOffset %d, fileBytes %d\n"
+TRCID_       0xD476 TRACE_SANERGY       "CollectFSMapInfo: allocateHoles %d, changeFileLock kObj::wa fail err %d\n"
+TRCID_       0xD477 TRACE_SANERGY       "CollectFSMapInfo exit: err %d, isPartialMap %d, sanOFState.sanInstP 0x%X, ofP 0x%X, inode %d, genNum %d, lease %d, sanState %s\n"
+TRCID_       0xD478 TRACE_SANERGY       "collectDA enter: ofP 0x%lX, start/endblk %lld, %lld, allocHole %d\n"
+TRCID_       0xD479 TRACE_SANERGY       "collectDA: flushFile before reading DA, ret %d\n"
+TRCID_       0xD47A TRACE_SANERGY       "collectDA: inode %d, genNum %d, startblk %lld, endblk %lld, extentType %s\n"
+TRCID_       0xD47B TRACE_SANERGY       "collectDA: retrieveDataBlockDiskAddr blockNum %lld\n"
+TRCID_       0xD47C TRACE_SANERGY       "collectDA: retrieveDataBlockDiskAddr ret %d\n"
+TRCID_       0xD47D TRACE_SANERGY       "collectDA: blockNum %lld E_HOLE, allocateHoles %d\n"
+TRCID_       0xD47E TRACE_SANERGY       "collectDA: call intendModifyIndirect blockNum %lld\n"
+TRCID_       0xD47F TRACE_SANERGY       "SAN_MAP(can): inode %d, genNum %d, blk %lld, %d %lld, nBytes %d\n"
+TRCID_       0xD480 TRACE_SANERGY       "collectDA: call retrieveDataBlockDiskAddr\n"
+TRCID_       0xD481 TRACE_SANERGY       "collectDA: retrieveDataBlockDiskAddr ret %d\n"
+TRCID_       0xD482 TRACE_SANERGY       "collectDA: found a hole blockNum %lld, allocate it. fsda.isALLOC %d, fsda.isNULL %d, allocateHoles %d\n"
+TRCID_       0xD483 TRACE_SANERGY       "collectDA: call intendModifyIndirect blockNum %lld\n"
+TRCID_       0xD484 TRACE_SANERGY       "collectDA: error !fsda.isALLOCK blockNum %lld E_HOLE\n"
+TRCID_       0xD485 TRACE_SANERGY       "collectDA: got a phantom block %lld , ret %d (E_SAN_PERM)\n"
+TRCID_       0xD486 TRACE_SANERGY       "collectDA: extract disk addr\n"
+TRCID_       0xD487 TRACE_SANERGY       "SAN_MAP(simple): inode %d, genNum %d, blk %lld, %d %lld\n"
+TRCID_       0xD488 TRACE_SANERGY       "collectDA: calling flushFile, lastDadataBlock %lld\n"
+TRCID_       0xD489 TRACE_SANERGY       "collectDA: flushFile ret %d\n"
+TRCID_       0xD48A TRACE_SANERGY       "collectDA: ret %d, fileBytes %lld, start/endblk %lld %lld\n"
+TRCID_       0xD48B TRACE_SANERGY       "doSanClearMNState: sanMNOFStateP is NULL; nothing to do\n"
+TRCID_       0xD48C TRACE_SANERGY       "doSanClearMNState: skip cleanup, sanMNCmdInProgress %d sanCall %d\n"
+TRCID_       0xD48D TRACE_SANERGY       "doSanClearMNState: inode %d nMDC %d skip cleanup (unlock missing)\n"
+TRCID_       0xD48E TRACE_SANERGY       "doSanClearMNState: zero'ing sanMNInstP 0x%X ofP 0x%X inode %d\n"
+TRCID_       0xD48F TRACE_SANERGY       "doSanClearMNState: sanMNOFStateP 0x%X delete OpenInstance 0x%X\n"
+TRCID_       0xD490 TRACE_SANERGY       "UnlockSanFileMap enter: inode %d, inodeGenNum %d\n"
+TRCID_       0xD491 TRACE_SANERGY       "UnlockSanFileMap: createLockedFile failed, err %d\n"
+TRCID_       0xD492 TRACE_SANERGY       "UnlockSanFileMap: ofP 0x%X, getInode failed, err %d\n"
+TRCID_       0xD493 TRACE_SANERGY       "UnlockSanFileMap: inode %d genNum %d data replicas %d, err %d\n"
+TRCID_       0xD494 TRACE_SANERGY       "UnlockSanFileMap: no local locked map, sanState noSANergyMDC\n"
+TRCID_       0xD495 TRACE_SANERGY       "UnlockSanFileMap: I'm metanode inode %d sanMNOFStateP 0x%X\n"
+TRCID_       0xD496 TRACE_SANERGY       "UnlockSanFileMap: fsop.getFileLock inode %d, ret err %d\n"
+TRCID_       0xD497 TRACE_SANERGY       "UnlockSanFileMap: got err %d from getFileLock LkObj::wf\n"
+TRCID_       0xD498 TRACE_SANERGY       "UnlockSanFileMap: mnMsgSanUnlockMap reply err %d isLastLock %d\n"
+TRCID_       0xD499 TRACE_SANERGY       "UnlockSanFileMap mnMsgSanUnlockMap got err %d, isLastLock %d\n"
+TRCID_       0xD49A TRACE_SANERGY       "UnlockSanFileMap: call doSanClearMNState, err %d isLastLock %d sstSetup %d\n"
+TRCID_       0xD49B TRACE_SANERGY       "UnlockSanFileMap: exit err %d, ret %d\n"
+TRCID_       0xD49C TRACE_SANERGY       "SetSanFileSizes enter: inode %d, GenNum %d, filesize %lld, alloc %lld minalloc %lld\n"
+TRCID_       0xD49D TRACE_SANERGY       "SetSanFileSizes: createLockedFile failed err %d\n"
+TRCID_       0xD49E TRACE_SANERGY       "SetSanFileSizes: ofP 0x%X getInode failed, err %d\n"
+TRCID_       0xD49F TRACE_SANERGY       "SetSanFileSizes fileSize %lld, prevState %s\n"
+TRCID_       0xD4A0 TRACE_SANERGY       "SetSanFileSizes: inode %d genNum %d currentDataReplicas %d, ret err %d\n"
+TRCID_       0xD4A1 TRACE_SANERGY       "SetSanFileSizes: inode %d, noSANergyMDC or no sanInst 0x%X err %d\n"
+TRCID_       0xD4A2 TRACE_SANERGY       "SetSanFileSizes: special case fileSize %lld filesize %lld alloc %lld\n"
+TRCID_       0xD4A3 TRACE_SANERGY       "SetSanFileSizes: tmpInst: 0x%X, size %d, inode %d genNum %d, lease %d, ofP 0x%X\n"
+TRCID_       0xD4A4 TRACE_SANERGY       "SetSanFileSizes: inode %d genNum %d, instP 0x%X already in the list lease %d, expire in %d secs.\n"
+TRCID_       0xD4A5 TRACE_SANERGY       "SetSanFileSizes: sanergy inst list not empty any more, incr sg usecount\n"
+TRCID_       0xD4A6 TRACE_SANERGY       "SetSanFileSizes: ofP->sanOFState.sanInstP 0x%X, ofP 0x%X, instP 0x%X, inode %d, genNum %d, status %d\n"
+TRCID_       0xD4A7 TRACE_SANERGY       "SetSanFileSizes: sanInstP 0x%X ofP 0x%X inode %d genNum %d\n"
+TRCID_       0xD4A8 TRACE_SANERGY       "SetSanFileSizes:mnMsgSanActiveMap, got reply err %d\n"
+TRCID_       0xD4A9 TRACE_SANERGY       "SetSanFileSizes: inode %d, lease expired, err %d\n"
+TRCID_       0xD4AA TRACE_SANERGY       "SetSanFileSizes: inode %d, prev lease %d, now %d\n"
+TRCID_       0xD4AB TRACE_SANERGY       "SetSanFileSizes: calling doSanClearMNState\n"
+TRCID_       0xD4AC TRACE_SANERGY       "SetSanFileSizes exit: err %d\n"
+TRCID_       0xD4AD TRACE_SANERGY       "sanHyperAlloc enter inode %d startblk %lld, endblk %lld\n"
+TRCID_       0xD4AE TRACE_SANERGY       "sanHyperAlloc: quota flags: old 0x%x, new 0x%x\n"
+TRCID_       0xD4AF TRACE_SANERGY       "sanHyperAlloc: retrieveDataBlockDiskAddr blk %lld ret %d\n"
+TRCID_       0xD4B0 TRACE_SANERGY       "sanHyperAlloc inode %d, blockNum %lld, set sanHyperAllocated\n"
+TRCID_       0xD4B1 TRACE_SANERGY       "sanHyperAlloc blk %lld, blkAlloc %d, fsda %d:%lld\n"
+TRCID_       0xD4B2 TRACE_SANERGY       "sanHyperAlloc inode %d, lastDataBlock %lld, blockNum %lld ret %d\n"
+TRCID_       0xD4B3 TRACE_SANERGY       "sanRetrieveAllocSize enter: ofP 0x%lX, isHyper %d\n"
+TRCID_       0xD4B4 TRACE_SANERGY       "sanRetrieveAllocSize: inode %d, lastAllocBlock %lld, nFBlocks %lld, fileSize %lld\n"
+TRCID_       0xD4B5 TRACE_SANERGY       "sanRetrieveAllocSize: search san phantom block startblk %lld\n"
+TRCID_       0xD4B6 TRACE_SANERGY       "sanRetrieveAllocSize: retrieveDataBlockDiskAddr ret %d\n"
+TRCID_       0xD4B7 TRACE_SANERGY       "sanRetrieveAllocSize: break search at %lld (NULL)\n"
+TRCID_       0xD4B8 TRACE_SANERGY       "sanRetrieveAllocSize: inode %d, bad size: lastDB %lld, nFBlocks %lld, nBroken %lld isHyper %d\n"
+TRCID_       0xD4B9 TRACE_SANERGY       "sanRetrieveAllocSize inode %d, bad size, set sanHyperAllocated\n"
+TRCID_       0xD4BA TRACE_SANERGY       "sanRetrieveAllocSize: inode %d, lastAllocBlock %lld, nFBlocks %lld, isHyperAllocated %d\n"
+TRCID_       0xD4BB TRACE_SANERGY       "sanRetrieveAllocSize: inode %d, ret allocSize %lld, lastAllocBlock %lld, startBlk %lld, nFBlocks %lld, lastBlkSubblks %d\n"
+TRCID_       0xD4BC TRACE_SANERGY       "sanSetMnodeSizes enter inode %d filesize %lld, allocation %lld, min %lld isHyper %d\n"
+TRCID_       0xD4BD TRACE_SANERGY       "sanSetMnodeSizes: shrink file(?) filesize %lld, fileSize %lld\n"
+TRCID_       0xD4BE TRACE_SANERGY       "sanSetMnodeSizes: shrink alloc(?) allocation %lld, filesize %lld\n"
+TRCID_       0xD4BF TRACE_SANERGY       "sanSetMnodeSizes: blockSize %ld, fileSize %lld, endpos %lld, lastBlockNum %lld\n"
+TRCID_       0xD4C0 TRACE_SANERGY       "sanSetMnodeSizes: curAllocSize %lld, filesize %lld, err %d\n"
+TRCID_       0xD4C1 TRACE_SANERGY       "sanSetMnodeSizes: call sanTruncFile, fileSize %lld, filesize %lld, curAllocSize %lld\n"
+TRCID_       0xD4C2 TRACE_SANERGY       "sanSetMnodeSizes: sanTruncFile ret %d\n"
+TRCID_       0xD4C3 TRACE_SANERGY       "sanSetMnodeSizes sanResetHyperAllocBit, allocSize %lld, filesize %lld\n"
+TRCID_       0xD4C4 TRACE_SANERGY       "sanSetMnodeSizes: no-op: curAllocSize %lld, fileSize %lld, endpos %lld\n"
+TRCID_       0xD4C5 TRACE_SANERGY       "sanSetMnodeSizes: inode %d calling flushFile, isHyper %d\n"
+TRCID_       0xD4C6 TRACE_SANERGY       "sanSetMnodeSizes: inode %d, exit err %d, isHyper %d\n"
+TRCID_       0xD4C7 TRACE_SANERGY       "SFSSanGetLockedMap: inconsistent cookies err %d\n"
+TRCID_       0xD4C8 TRACE_SANERGY       "SFSSanGetLockedMap sgId %08X:%08X, sgP NULL, err %d\n"
+TRCID_       0xD4C9 TRACE_SANERGY       "SFSSanGetLockedMap MDC must be in file system's home cluster\n"
+TRCID_       0xD4CA TRACE_SANERGY       "SFSSanGetLockedMap wrong diskConfigVersion now %d input %d err %d\n"
+TRCID_       0xD4CB TRACE_SANERGY       "SFSSanGetLockedMap: err %d, buflen %d\n"
+TRCID_       0xD4CC TRACE_SANERGY       "SFSSanGetLockedMap: err %d, SG has snapshots\n"
+TRCID_       0xD4CD TRACE_SANERGY       "SFSSanGetLockedMap: err %d, SG is DMAPI enabled\n"
+TRCID_       0xD4CE TRACE_SANERGY       "SFSSanGetLockedMap: err %d SG %s is not sanergyEnabled\n"
+TRCID_       0xD4CF TRACE_SANERGY       "SFSSanGetVolByCookie sgId %08X:%08X, sgP NULL, err %d\n"
+TRCID_       0xD4D0 TRACE_SANERGY       "SFSSanGetVolByCookie wrong diskConfigVersion now %d input %d err %d\n"
+TRCID_       0xD4D1 TRACE_SANERGY       "SFSSanGetVolByCookie: err %d, SG has snapshots\n"
+TRCID_       0xD4D2 TRACE_SANERGY       "SFSSanGetVolByCookie: err %d, SG is DMAPI enabled\n"
+TRCID_       0xD4D3 TRACE_SANERGY       "SFSSanGetVolCookie sgId %08X:%08X, sgP NULL, err %d\n"
+TRCID_       0xD4D4 TRACE_SANERGY       "SFSSanGetCookies: createLockedFile ro failed err %d\n"
+TRCID_       0xD4D5 TRACE_SANERGY       "SFSSanGetCookies: ofP 0x%X getInode failed err %d\n"
+TRCID_       0xD4D6 TRACE_SANERGY       "SFSSanGetCookies: inode %d gen %d currentDataReplicas %d, ret err %d\n"
+TRCID_       0xD4D7 TRACE_SANERGY       "SFSSanSetFileSizes: bad input: fsize %lld, alloc %lld, minalloc %lld, err %d\n"
+TRCID_       0xD4D8 TRACE_SANERGY       "SFSSanSetFileSizes: inconsistent cookies err %d\n"
+TRCID_       0xD4D9 TRACE_SANERGY       "SFSSanSetFileSizes sgP NULL, err E_BADF(%d)\n"
+TRCID_       0xD4DA TRACE_SANERGY       "SFSSanSetFileSizes MDC must be in file system's home cluster\n"
+TRCID_       0xD4DB TRACE_SANERGY       "SFSSanSetFileSizes wrong diskConfigVersion now %d input %d err %d\n"
+TRCID_       0xD4DC TRACE_SANERGY       "SFSSanSetFileSizes: err %d, sg %s not exported\n"
+TRCID_       0xD4DD TRACE_SANERGY       "SFSSanUnlockMap: inconsistent cookies err E_INVAL(%d)\n"
+TRCID_       0xD4DE TRACE_SANERGY       "SFSSanUnlockMap sgId %08X:%08X, sgP NULL, err %d\n"
+TRCID_       0xD4DF TRACE_SANERGY       "SFSSanUnlockMap MDC must be in file system's home cluster\n"
+TRCID_       0xD4E0 TRACE_SANERGY       "SFSSanUnlockMap wrong diskConfigVersion now %d input %d err %d\n"
+TRCID_       0xD4E1 TRACE_SANERGY       "SFSSanUnlockMap: err %d, sg %s not exported, nothing to unlock\n"
+TRCID_       0xD4E2 TRACE_SANERGY       "sanRepairInit exit: err %d code %d\n"
+TRCID_       0xD4E3 TRACE_SANERGY       "scanInodes: devId 0x%X, nInodes %d, sanergyEnabled %d\n"
+TRCID_       0xD4E4 TRACE_SANERGY       "scanInodes: SFSOpenFS returned error = %d\n"
+TRCID_       0xD4E5 TRACE_SANERGY       "scanInodes exit: err %d\n"
+TRCID_       0xD4E6 TRACE_SANERGY       "repairSanFile: devId 0x%X, inode %d snap %d, repairType %d\n"
+TRCID_       0xD4E7 TRACE_SANERGY       "FM::mnRepairFile enter inode %d, repairType %d\n"
+TRCID_       0xD4E8 TRACE_SANERGY       "FM::mnRepairFile exit err %d, retCode %d\n"
+TRCID_       0xD4E9 TRACE_SANERGY       "sanRepairFile: fixIt, inode %d\n"
+TRCID_       0xD4EA TRACE_SANERGY       "repairSanFile: inode %d is deleted!\n"
+TRCID_       0xD4EB TRACE_SANERGY       "repairSanFile: inode %d, fSize = %lld, allocSize = %lld\n"
+TRCID_       0xD4EC TRACE_SANERGY       "repairSanFile: sanTruncFile fileSize %lld, ret err %d, new fSize = %lld\n"
+TRCID_       0xD4ED TRACE_SANERGY       "repairSanFile inode %d, fileSize %lld, nBlocks %lld, fBlocks %lld, sanResetHyperAllocBit\n"
+TRCID_       0xD4EE TRACE_SANERGY       "repairSanFile: inode %d ret err %d, retCode %d\n"
+TRCID_       0xD4EF TRACE_SANERGY       "StartSanRepair enter: sgP 0x%x, sanRepOpt 0x%x, iNum %d sanEnabled %d, %s\n"
+TRCID_       0xD801 TRACE_SANERGY       "san_init_file_structures: enter inode %d, genNum %d\n"
+TRCID_       0xD802 TRACE_SANERGY       "san_init_file_structures: getVfsBySgUid failed rc %d, code %d\n"
+TRCID_       0xD803 TRACE_SANERGY       "san_init_file_structures: exit code %d rc %d\n"
+TRCID_       0xD804 TRACE_SANERGY       "gpfs_fs_getcookies: enter\n"
+TRCID_       0xD805 TRACE_SANERGY       "gpfs_fs_getcookies: kpathname %s\n"
+TRCID_       0xD806 TRACE_SANERGY       "gpfs_fs_getcookies: exit rc %d\n"
+TRCID_       0xD807 TRACE_SANERGY       "gpfs_fs_getlockedmap: enter start %lld lenght %lld, flags %d\n"
+TRCID_       0xD808 TRACE_SANERGY       "gpfs_fs_getlockedmap: exit rc %d\n"
+TRCID_       0xD809 TRACE_SANERGY       "gpfs_fs_getvolbycookie: enter\n"
+TRCID_       0xD80A TRACE_SANERGY       "gpfs_fs_getvolbycookie: exit rc %d\n"
+TRCID_       0xD80B TRACE_SANERGY       "gpfs_fs_setfilesizes: enter filesize %lld, alloc %lld, minalloc %lld\n"
+TRCID_       0xD80C TRACE_SANERGY       "gpfs_fs_setfilesizes: cr_ruid %d, cr_uid %d, cr_suid %d, cr_luid %d\n"
+TRCID_       0xD80D TRACE_SANERGY       "gpfs_fs_setfilesizes: exit rc %d\n"
+TRCID_       0xD80E TRACE_SANERGY       "gpfs_fs_unlockmap: enter\n"
+TRCID_       0xD80F TRACE_SANERGY       "gpfs_fs_unlockmap: exit rc %d, code %d\n"
+TRCID_       0xDC01 TRACE_PGALLOC       "newBuffer: enter dataBytes %d type '%s' stealParm 0x%lX stealOptions 0x%X failTries %d" $2=BufferType_id2name
+TRCID_       0xDC02 TRACE_PGALLOC       "newBuffer: exit bufP 0x%lX dataAddr 0x%lX dataBytes %d memoryBytes %d passNumber %d nBytesNonStealable %lld\n"
+TRCID_       0xDC03 TRACE_PGALLOC       "waitForMemState: bufP 0x%lX memState %d waiters %d bucket %d\n"
+TRCID_       0xDC04 TRACE_PGALLOC       "putReservedTempBuffer: returning temp %s buffer bufP 0x%lX data 0x%lX\n" $1=BufferType_id2name
+TRCID_       0xDC05 TRACE_PGALLOC       "release: bufP 0x%lX beingStolen true\n"
+TRCID_       0xDC06 TRACE_PGALLOC       "getInactiveDesc: splitting noSteal %d descP 0x%lX from bytes %d to %d\n"
+TRCID_       0xDC07 TRACE_PGALLOC       "getInactiveDesc: returning noSteal %d descP 0x%lX klength %d\n"
+TRCID_       0xDC08 TRACE_PGALLOC       "putInactiveDesc: descP 0x%lX noSteal %d klength %d buddyNum %d\n"
+TRCID_       0xDC09 TRACE_PGALLOC       "changePoolSize: new pages %d current pages %d\n"
+TRCID_       0xDC0A TRACE_PGALLOC       "changePoolSize: exit totalPages %d maxPrefetch %d maxHot %d\n"
+TRCID_       0xDC0B TRACE_PGALLOC       "splitDesc: descBytes %d headP 0x%lX link %d\n"
+TRCID_       0xDC0C TRACE_PGALLOC       "joinDesc: descA 0x%lX klength %d buddyNum %d descB 0x%lX klength %d buddyNum %d\n"
+TRCID_       0xDC0D TRACE_PGALLOC       "joinDesc exit: joinP 0x%lX klength %d buddyNum %d"
+TRCID_       0xDC0E TRACE_PGALLOC       "updateMountList: fsP 0x%lX mounting %d\n"
+TRCID_       0xDC0F TRACE_PGALLOC       "delete Buffer: bufP 0x%lX data 0x%lX dataLen %d memLen %d beingStolen %d memState %d\n"
+TRCID_       0xDC10 TRACE_PGALLOC       "MountList: this 0x%lX size %d inUse %d oldP 0x%lX size %d inUse %d\n"
+TRCID_       0xDC11 TRACE_PGALLOC       "MountList::add: fsP 0x%lX mlP 0x%lX inUse %d this 0x%lX inUse %d\n"
+TRCID_       0xDC12 TRACE_PGALLOC       "MountList::remove: fsP 0x%lX mlP 0x%lX inUse %d this 0x%lX inUse %d\n"
+TRCID_       0xDC13 TRACE_PGALLOC       "setRecentlyUsed: enter bufP 0x%lX queue %s recent %d haveLock %d\n" $2=BufferQueue_t_id2name
+TRCID_       0xDC14 TRACE_PGALLOC       "setRecentlyUsed: exit bufP 0x%lX error rc %d\n"
+TRCID_       0xDC15 TRACE_PGALLOC       "setPrefetch: exit bufP 0x%lX (0x%lX) prefetch %d rc %d\n"
+TRCID_       0xDC16 TRACE_PGALLOC       "setQueue: enter bufP 0x%lX onQueue %s toQueue %s haveLock %d\n" $2=BufferQueue_t_id2name $3=BufferQueue_t_id2name
+TRCID_       0xDC17 TRACE_PGALLOC       "setQueue: exit bufP 0x%lX error rc %d\n"
+TRCID_       0xDC18 TRACE_PGALLOC       "requeueMostRecent: bufP 0x%lX queue %s index %d" $2=BufferQueue_t_id2name
+TRCID_       0xDC19 TRACE_PGALLOC       "enqueueMostRecent: bufP 0x%lX queue %s index %d" $2=BufferQueue_t_id2name
+TRCID_       0xDC1A TRACE_PGALLOC       "enqueueLeastRecent: bufP 0x%lX queue %s index %d" $2=BufferQueue_t_id2name
+TRCID_       0xDC1B TRACE_PGALLOC       "dequeueLeastRecent: bufP 0x%lX queue %s index %d" $2=BufferQueue_t_id2name
+TRCID_       0xDC1C TRACE_PGALLOC       "dequeueLeastRecent: queue %s index %d" $1=BufferQueue_t_id2name
+TRCID_       0xDC1D TRACE_PGALLOC       "dequeueLeastRecent: returns bufP 0x%lX"
+TRCID_       0xDC1E TRACE_PGALLOC       "enqueueMostRecentMax: bufP 0x%lX queue %s" $2=BufferQueue_t_id2name
+TRCID_       0xDC1F TRACE_PGALLOC       "ReaccessKey: sgid %d gen %d inode %d blockNum %lld key 0x%X\n"
+TRCID_       0xDC20 TRACE_PGALLOC       "newUMALLOCBuffer: bufP 0x%lX data 0x%lX dataBytes %d\n"
+TRCID_       0xDC21 TRACE_PGALLOC       "~Buffer: bufP 0x%lX data 0x%lX dataLen %d memArea %d\n"
+TRCID_       0xDC22 TRACE_PGALLOC       "kdelete Buffer: bufP 0x%lX data 0x%lX length %d beingStolen %d memState %d\n"
+TRCID_       0xDC23 TRACE_PGALLOC       "stealBuffer: bufP 0x%lX useCount zero\n"
+TRCID_       0xDC24 TRACE_PGALLOC       "stealBuffer: bufP 0x%lX queue %s memLen %d stealIndex %d requeueHot %d pass %d key 0x%X code %d err %d\n" $2=BufferQueue_t_id2name
+TRCID_       0xDC25 TRACE_PGALLOC       "stealEngine: dataBytes %d allocBytes %d grow %d pass %d allocIndex %d options 0x%X noSteal %d queue %s\n" $8=BufferQueue_t_id2name
+TRCID_       0xDC26 TRACE_PGALLOC       "stealEngine: descriptor 0x%lX memLen %d on inactive index %d\n"
+TRCID_       0xDC27 TRACE_PGALLOC       "stealEngine: descriptor 0x%lX memLen %d on inactive index %d\n"
+TRCID_       0xDC28 TRACE_PGALLOC       "stealEngine: bufP 0x%lX\n"
+TRCID_       0xDC29 TRACE_PGALLOC       "stealAndJoin: descP 0x%lX bufP 0x%lX klen %d bnum %d current %d data %d inactive %d pass %d recurse %d\n"
+TRCID_       0xDC2A TRACE_PGALLOC       "stealAndJoin: ignoring onNoQueue bufP 0x%lX\n"
+TRCID_       0xDC2B TRACE_PGALLOC       "stealAndJoin: exit descP 0x%lX klength %d buddyNum %d\n"
+TRCID_       0xDC2C TRACE_PGALLOC       "runSizeQueueSteal: headP 0x%lX queue %s stealOptions 0x%X pass %d\n" $2=BufferQueue_t_id2name
+TRCID_       0xDC2D TRACE_PGALLOC       "runSizeQueueSteal: return bufP 0x%lX err %d\n"
+TRCID_       0xDC2E TRACE_PGALLOC       "BufMgrThreadBody: thread starting.\n"
+TRCID_       0xDC2F TRACE_PGALLOC       "BufMgrThreadBody: about to rebalance prefetch buffers, iteration %d\n"
+TRCID_       0xE001 TRACE_PGALLOC       "allocatePoolMemory: needKBytes %d descBytes %d index %d\n"
+TRCID_       0xE002 TRACE_PGALLOC       "allocatePoolMemoryChunk: pinned %lld bytes from 0x%X\n"
+TRCID_       0xE003 TRACE_PGALLOC       "allocatePoolMemory: exit err %d needKBytes %d descBytes %d totalKBytes %lld\n"
+TRCID_       0xE004 TRACE_PGALLOC       "cxiDisclaim 0x%lX len %d rc %d errno %d\n"
+TRCID_       0xE005 TRACE_PGALLOC       "pinBuffer: bufP 0x%X pin %d bytes from 0x%X\n"
+TRCID_       0xE006 TRACE_PGALLOC       "pinBuffer: bufP 0x%X pin %d bytes FAILED from 0x%X\n"
+TRCID_       0xE007 TRACE_PGALLOC       "unpinBuffer: bufP 0x%X unpin %d bytes from 0x%X\n"
+TRCID_       0xE008 TRACE_PGALLOC       "allocatePoolMemoryChunk: cannot pin %lld bytes at 0x%X\n"
+TRCID_       0xE009 TRACE_PGALLOC       "allocatePoolMemoryChunk: needKBytes %d needBytes %ld descBytes %d\n"
+TRCID_       0xE00A TRACE_PGALLOC       "allocatePoolMemoryChunk: exit err %d code %d needKBytes %d descBytes %d totalKBytes %lld\n"
+TRCID_       0xE801 TRACE_VNODE         "VgetInternal enter: vfsP 0x%lX fid len %d ino %d gen 0x%lX\n"
+TRCID_       0xE802 TRACE_VNODE         "VgetInternal exit: code %d rc %d\n"
+TRCID_       0xE803 TRACE_VNODE         "fidDmapi enter: ino %d gen 0x%X\n"
+TRCID_       0xE804 TRACE_VNODE         "fidDmapi exit: rc %d\n"
+I2N_         0x0401 reason_id2name      "waiting for SGInfo access"
+I2N_         0x0402 reason_id2name      "waiting for choose_new_mgr"
+I2N_         0x0403 reason_id2name      "cc takeover waiting for pending ops"
+I2N_         0x0404 reason_id2name      "waiting for cc takeover"
+I2N_         0x0405 reason_id2name      "waiting for new cc mgr"
+I2N_         0x0406 reason_id2name      "waiting for SG mgr migrate"
+I2N_         0x0407 reason_id2name      "quorum loss waiting for protocol msg handler"
+I2N_         0x0408 reason_id2name      "waiting for group protocol driver to stop"
+I2N_         0x0409 reason_id2name      "waiting for ProbeCluster and BrokenConnectionHandler threads to stop"
+I2N_         0x040A reason_id2name      "waiting for notification of node delete"
+I2N_         0x040B reason_id2name      "waiting for node list refresh"
+I2N_         0x040C reason_id2name      "waiting for group protocol msg handler"
+I2N_         0x040D reason_id2name      "waiting for BrokenConnectionHandlerThread"
+I2N_         0x040E reason_id2name      "waiting for handle quorum loss thread to start"
+I2N_         0x040F reason_id2name      "LeaveProtocolHang trigger wait forever"
+I2N_         0x0410 reason_id2name      "leave protocol waiting for failure notify thread"
+I2N_         0x0411 reason_id2name      "JoinProtocolHang trigger wait forever"
+I2N_         0x0412 reason_id2name      "JoinProtocolDelay trigger wait for lease to run out"
+I2N_         0x0413 reason_id2name      "JoinProtocolDelayFinal trigger wait"
+I2N_         0x0414 reason_id2name      "LeaveHandlerLeaseTest wait for lease to run out"
+I2N_         0x0415 reason_id2name      "LeaveHandlerLeaseTest wait for new lease"
+I2N_         0x0416 reason_id2name      "pause before retry join cluster"
+I2N_         0x0417 reason_id2name      "waiting for ProbeCluster ping response"
+I2N_         0x0418 reason_id2name      "pause very short time to wait for leader takeover"
+I2N_         0x0419 reason_id2name      "waiting for pending getContactList"
+I2N_         0x041A reason_id2name      "waiting for pending cluster leave"
+I2N_         0x041B reason_id2name      "waiting to join remote cluster"
+I2N_         0x041C reason_id2name      "EEWatchDog delaying between checks for hung threads"
+I2N_         0x041D reason_id2name      "waiting for exporter events"
+I2N_         0x041E reason_id2name      "delaying for EE recv retry"
+I2N_         0x041F reason_id2name      "wait for an ICMP Echo reply to receive"
+I2N_         0x0420 reason_id2name      "Waiting until pit work is complete"
+I2N_         0x0421 reason_id2name      "Waiting to start Pit worker thread"
+I2N_         0x0422 reason_id2name      "Waiting for Pit worker thread to start"
+I2N_         0x0423 reason_id2name      "Waiting for PIT worker threads to finish"
+I2N_         0x0424 reason_id2name      "pit socket"
+I2N_         0x0425 reason_id2name      "pitWatcher"
+I2N_         0x0426 reason_id2name      "wait for getShareIsActive = false"
+I2N_         0x0427 reason_id2name      "wait on compute local share for online quotacheck start"
+I2N_         0x0428 reason_id2name      "wait on quota client initialization"
+I2N_         0x0429 reason_id2name      "waiting for quota manager to recover"
+I2N_         0x042A reason_id2name      "waiting for log assignment in progress"
+I2N_         0x042B reason_id2name      "waiting to run log recovery"
+I2N_         0x042C reason_id2name      "waiting for pending SG mgr query"
+I2N_         0x042D reason_id2name      "quiesce waiting for stripe group takeover"
+I2N_         0x042E reason_id2name      "sg_resign_mgr waiting for pending ops to complete"
+I2N_         0x042F reason_id2name      "sg_resign_mgr wait for blocked ops"
+I2N_         0x0430 reason_id2name      "waiting for pending SG mgr takeover"
+I2N_         0x0431 reason_id2name      "Delay for safe log recovery"
+I2N_         0x0432 reason_id2name      "waiting for permission to run"
+I2N_         0x0433 reason_id2name      "waiting for SGMount to finish"
+I2N_         0x0434 reason_id2name      "Waiting for zero fsck use count"
+I2N_         0x0435 reason_id2name      "waiting for new SG mgr"
+I2N_         0x0436 reason_id2name      "waiting for pending SG mgr query"
+I2N_         0x0437 reason_id2name      "waiting for stripe group takeover"
+I2N_         0x0438 reason_id2name      "waiting for other sg mgr operation to finish"
+I2N_         0x0439 reason_id2name      "sgmgr operation waiting for quiesce"
+I2N_         0x043A reason_id2name      "waiting for stripe group to recover"
+I2N_         0x043B reason_id2name      "wait for pending SGMount RPCs"
+I2N_         0x043C reason_id2name      "wait to retry acquiring a spare log file"
+I2N_         0x043D reason_id2name      "waiting to elect leader"
+I2N_         0x043E reason_id2name      "diskElect waiting for pending quorum change to complete"
+I2N_         0x043F reason_id2name      "waiting for challenge thread to stop"
+I2N_         0x0440 reason_id2name      "waiting for first challenge thread iteration to complete"
+I2N_         0x0441 reason_id2name      "waiting for response to challenge during disk election"
+I2N_         0x0442 reason_id2name      "waiting for challenge"
+I2N_         0x0443 reason_id2name      "quorum change waiting for pending disk election"
+I2N_         0x0444 reason_id2name      "quorum change waiting to stop disk challenge thread"
+I2N_         0x0445 reason_id2name      "Node join: phase two recovery protocol in progress"
+I2N_         0x0446 reason_id2name      "Waiting to acquire disklease"
+I2N_         0x0447 reason_id2name      "RunLeaseChecks waiting for next check time"
+I2N_         0x0448 reason_id2name      "disklease start wait for goodToGo4IO"
+I2N_         0x0449 reason_id2name      "waiting for in-progress mount RPC"
+I2N_         0x044A reason_id2name      "DelayPanic trigger wait"
+I2N_         0x044B reason_id2name      "Waiting for ccMgr initialization"
+I2N_         0x044C reason_id2name      "Waiting for the Healthcheck Watchdog thread"
+I2N_         0x044D reason_id2name      "JoinProtocolDelayShort trigger wait"
+I2N_         0x0801 reason_id2name      "waiting for worker threads"
+I2N_         0x0802 reason_id2name      "waiting for rendezvous"
+I2N_         0x0803 reason_id2name      "waiting for rendezvous"
+I2N_         0x1001 reason_id2name      "change_token waiting for revoke handler to finish"
+I2N_         0x1002 reason_id2name      "RevokeWorkerThread waiting for revoke or unlock"
+I2N_         0x1003 reason_id2name      "change_lock_shark waiting for token revoke"
+I2N_         0x1004 reason_id2name      "change_lock_shark waiting to set acquirePending flag"
+I2N_         0x1005 reason_id2name      "designated_mnode_check_m waiting to set acquirePending flag"
+I2N_         0x1006 reason_id2name      "change_lock_shark waiting to set acquirePending flag"
+I2N_         0x1007 reason_id2name      "acquireOplockTokenM waiting to set acquirePending flag"
+I2N_         0x1008 reason_id2name      "releaseLastHold waiting for SharedHashTabTraversal"
+I2N_         0x1009 reason_id2name      "cede during dump command"
+I2N_         0x100A reason_id2name      "RangeRevokeWorker waiting for revoke"
+I2N_         0x100B reason_id2name      "waiting for fetch-n-lock to complete"
+I2N_         0x100C reason_id2name      "lock waiting for fetch-n-lock to complete"
+I2N_         0x100D reason_id2name      "BR revoke waiting for fetchingThread"
+I2N_         0x100E reason_id2name      "BR release waiting for fetchingThread"
+I2N_         0x100F reason_id2name      "waiting because of local byte range lock conflict"
+I2N_         0x1010 reason_id2name      "waiting for slot for BR lock"
+I2N_         0x1011 reason_id2name      "RecLockRevokeWorker waiting for revoke"
+I2N_         0x1012 reason_id2name      "fcntl reclaim"
+I2N_         0x1013 reason_id2name      "impossible lock wait case"
+I2N_         0x1014 reason_id2name      "waiting for RO lock"
+I2N_         0x1015 reason_id2name      "waiting for WO lock"
+I2N_         0x1016 reason_id2name      "waiting for RF lock"
+I2N_         0x1017 reason_id2name      "waiting for WF lock"
+I2N_         0x1018 reason_id2name      "waiting for WW lock"
+I2N_         0x1019 reason_id2name      "waiting for WA lock"
+I2N_         0x101A reason_id2name      "waiting for RS lock"
+I2N_         0x101B reason_id2name      "waiting for XW lock"
+I2N_         0x101C reason_id2name      "waiting for LX lock"
+I2N_         0x101D reason_id2name      "hash tab lookup: waiting for SharedHashTabTraversal"
+I2N_         0x1401 reason_id2name      "wait for inbound connect"
+I2N_         0x1404 reason_id2name      "waiting for exclusive use of connection for sending msg"
+I2N_         0x1405 reason_id2name      "receiverEvent waiting for memory"
+I2N_         0x1406 reason_id2name      "idle waiting for work"
+I2N_         0x1407 reason_id2name      "waiting for message handlers to finish"
+I2N_         0x1408 reason_id2name      "wait to join group"
+I2N_         0x1409 reason_id2name      "waiting for send to complete"
+I2N_         0x140B reason_id2name      "waiting for SDR server state lock"
+I2N_         0x140C reason_id2name      "MsgRecord::send waiting for memory"
+I2N_         0x140D reason_id2name      "fix_iov waiting for memory"
+I2N_         0x140E reason_id2name      "waiting for RPC replies"
+I2N_         0x140F reason_id2name      "waiting for message record release"
+I2N_         0x1410 reason_id2name      "message handler trigger delay"
+I2N_         0x1411 reason_id2name      "MsgDataBuf::allocBuf waiting for memory"
+I2N_         0x1412 reason_id2name      "wait for tscSend perf test"
+I2N_         0x1413 reason_id2name      "wait for tscSend perf test threads"
+I2N_         0x1414 reason_id2name      "wait for token perf test"
+I2N_         0x1415 reason_id2name      "wait for token perf test threads"
+I2N_         0x1416 reason_id2name      "wait for outbound connect"
+I2N_         0x1C01 reason_id2name      "wait for pending varyonvg cmd"
+I2N_         0x1C02 reason_id2name      "wait for disk I/O to quiesce"
+I2N_         0x1C03 reason_id2name      "wait for error recovery disk I/O"
+I2N_         0x1C04 reason_id2name      "retrying vsdfence"
+I2N_         0x2001 reason_id2name      "waiting for SISI initialization termination"
+I2N_         0x2002 reason_id2name      "waiting for SISI initialization/destruction termination"
+I2N_         0x2003 reason_id2name      "waiting for dealloc queue flush"
+I2N_         0x2004 reason_id2name      "waiting for dealloc query/flush to complete"
+I2N_         0x2005 reason_id2name      "Waiting for freeInfo request to complete"
+I2N_         0x2006 reason_id2name      "Waiting for pending allocmgr request"
+I2N_         0x2007 reason_id2name      "OpenCursor waiting for cursor to close"
+I2N_         0x2008 reason_id2name      "Waiting for pending request for cursor"
+I2N_         0x2009 reason_id2name      "CloseCursor waiting for pending allocmgr request"
+I2N_         0x200A reason_id2name      "Waiting to start cursor search"
+I2N_         0x200B reason_id2name      "Waiting for prior cursor search"
+I2N_         0x200C reason_id2name      "wait for inode files expansion to finish"
+I2N_         0x200D reason_id2name      "StealBufferDesc loop wrapping, short sleep"
+I2N_         0x200E reason_id2name      "StealBufferDesc loop wrapping, long sleep"
+I2N_         0x200F reason_id2name      "waiting for buf desc reservation"
+I2N_         0x2011 reason_id2name      "waiting for region recovery to complete"
+I2N_         0x2012 reason_id2name      "Waiting for node recovoery to complete"
+I2N_         0x2013 reason_id2name      "Waiting for prior freeSpace request to complete"
+I2N_         0x2014 reason_id2name      "waiting for pool freeSpace recovery"
+I2N_         0x2015 reason_id2name      "waiting for alloc manager cursor"
+I2N_         0x2016 reason_id2name      "AllocMgr waiting for pending revoke"
+I2N_         0x2017 reason_id2name      "AllocMgr waiting to access AllocSumFile"
+I2N_         0x2018 reason_id2name      "Delete region waiting for pending acquires"
+I2N_         0x2019 reason_id2name      "lockRegion: wait for region delete to complete"
+I2N_         0x201A reason_id2name      "waiting for region\'s recovery"
+I2N_         0x201B reason_id2name      "waiting for region\'s recovery"
+I2N_         0x201C reason_id2name      "Waiting for owner query to complete"
+I2N_         0x201D reason_id2name      "Waiting for alloc region to be changed"
+I2N_         0x201E reason_id2name      "alloc manager getting ready"
+I2N_         0x201F reason_id2name      "Wait for previous acquires to complete"
+I2N_         0x2020 reason_id2name      "Wait for region inUse to complete"
+I2N_         0x2021 reason_id2name      "wait for prefetch or writebehind"
+I2N_         0x2022 reason_id2name      "wait for buffer for fetch"
+I2N_         0x2023 reason_id2name      "Waiting for existing range lock to release"
+I2N_         0x2024 reason_id2name      "Waiting for ll block migrate"
+I2N_         0x2025 reason_id2name      "write waiting for lock release"
+I2N_         0x2026 reason_id2name      "ll::update waiting for other update to complete"
+I2N_         0x2027 reason_id2name      "ll::update waiting for reads to complete"
+I2N_         0x2028 reason_id2name      "Log recovery waiting for ll range lock release"
+I2N_         0x2029 reason_id2name      "ll range lock waiting for pending recovery to complete"
+I2N_         0x202A reason_id2name      "LLLockSync waiting for pending recovery to complete"
+I2N_         0x202B reason_id2name      "ll range lock waiting for node recovery to run"
+I2N_         0x202C reason_id2name      "StealIndBlockDesc loop wrapping, short sleep"
+I2N_         0x202D reason_id2name      "StealIndBlockDesc loop wrapping, long sleep"
+I2N_         0x202E reason_id2name      "waiting for ind block desc reservation"
+I2N_         0x202F reason_id2name      "Waiting for access to indirect block"
+I2N_         0x2030 reason_id2name      "Waiting for sanergy lease to expire"
+I2N_         0x2031 reason_id2name      "Short delay before reacquiring FlushFlag"
+I2N_         0x2032 reason_id2name      "Waiting for SANergy lease to expire"
+I2N_         0x2033 reason_id2name      "SFSMountFS: waiting for DMAPI mount disposition"
+I2N_         0x2034 reason_id2name      "runTSMount"
+I2N_         0x2035 reason_id2name      "waiting for vmount to complete"
+I2N_         0x2036 reason_id2name      "HandleMBMount: waiting for msg sock"
+I2N_         0x2037 reason_id2name      "StealOpenFile loop wrapping"
+I2N_         0x2038 reason_id2name      "wait for users of instance"
+I2N_         0x2039 reason_id2name      "ll::read waiting for update"
+I2N_         0x203A reason_id2name      "waiting for the flush flag"
+I2N_         0x203B reason_id2name      "waiting for pending repair"
+I2N_         0x203C reason_id2name      "Waiting for zero fidu use count"
+I2N_         0x203D reason_id2name      "Waiting for sync to finish"
+I2N_         0x203E reason_id2name      "Sync watchdog waiting for next check"
+I2N_         0x203F reason_id2name      "lockMnodeByKey waiting on inode lock conflict"
+I2N_         0x2040 reason_id2name      "waiting for conflicting sanergy command to finish"
+I2N_         0x2041 reason_id2name      "wait till all marked quo. entries are deleted."
+I2N_         0x2042 reason_id2name      "cede during dump quota command"
+I2N_         0x2043 reason_id2name      "waiting for the update of quota inf. to be completed"
+I2N_         0x2045 reason_id2name      "waiting to lock DataShipMetaNodeState"
+I2N_         0x2046 reason_id2name      "DS agent waiting for begin msg"
+I2N_         0x2047 reason_id2name      "inode prefetch worker waiting for work"
+I2N_         0x2048 reason_id2name      "waiting for inode scan prefetch"
+I2N_         0x2049 reason_id2name      "waiting for inode scan instance"
+I2N_         0x204A reason_id2name      "Waiting for shared alloc/dealloc threads to terminate"
+I2N_         0x204B reason_id2name      "Waiting for exclusive alloc/dealloc threads to terminate"
+I2N_         0x204C reason_id2name      "waiting for new allocMgr to be appointed"
+I2N_         0x204D reason_id2name      "waiting for new allocMgr to be recovered"
+I2N_         0x204E reason_id2name      "waiting for alloc sum file recovery"
+I2N_         0x204F reason_id2name      "SGInodeMap::waitForInodeFileExpandThenBlock: wait for inode expansion or critical section to complete"
+I2N_         0x2050 reason_id2name      "wait for repair critical section to finish"
+I2N_         0x2051 reason_id2name      "wait for inode files expansion to finish"
+I2N_         0x3401 reason_id2name      "hungThread test thread condVar forever"
+I2N_         0x3402 reason_id2name      "cede during dump command"
+I2N_         0x3403 reason_id2name      "cede during errlog command"
+I2N_         0x3404 reason_id2name      "\"mmfsadm test hold\" pausing"
+I2N_         0x3405 reason_id2name      "delayFor - test"
+I2N_         0x3C01 reason_id2name      "wait for subpool expansion to complete"
+I2N_         0x3C02 reason_id2name      "Waiting to remap PageArray."
+I2N_         0x6401 reason_id2name      "force wait for write complete"
+I2N_         0x6402 reason_id2name      "wait for migrate in progress"
+I2N_         0x6403 reason_id2name      "wait for physical log I/O done for migrate"
+I2N_         0x6404 reason_id2name      "UpdateLogger::cleanup waiting for holdCount to go to zero"
+I2N_         0x6405 reason_id2name      "Waiting for UpdateLogger update/write/done to complete"
+I2N_         0x6406 reason_id2name      "Waiting for UpdateLogger write to complete"
+I2N_         0x6407 reason_id2name      "Waiting for UpdateLogger spoolDoneRecord to complete"
+I2N_         0x6408 reason_id2name      "doneUpdate waiting for UpdateLogger update/write to complete"
+I2N_         0x6409 reason_id2name      "LogWrapRtn waiting for UpdateLogger update/write to complete"
+I2N_         0x640A reason_id2name      "LLMigrate waiting for UpdateLogger update/write to complete"
+I2N_         0x640B reason_id2name      "wait for log wrap helper thread to become inactive"
+I2N_         0x640C reason_id2name      "waiting for log wrap work"
+I2N_         0x640D reason_id2name      "makeFreeLogSpace wait for log wrap"
+I2N_         0x640E reason_id2name      "wait for other append/reserve threads"
+I2N_         0x640F reason_id2name      "wait for migrate in progress before setTail"
+I2N_         0x6410 reason_id2name      "wait for setTail in progress"
+I2N_         0x6411 reason_id2name      "wait for other append/reserve threads"
+I2N_         0x6412 reason_id2name      "wait for LogFile buffer active"
+I2N_         0x6413 reason_id2name      "wait for migrate in progress before write"
+I2N_         0x6414 reason_id2name      "wait for LogFile buffer unused"
+I2N_         0x7001 reason_id2name      "Wait for commit of SG desc update"
+I2N_         0x7002 reason_id2name      "Suspend waiting for pending I/O to complete"
+I2N_         0x7003 reason_id2name      "Wait for suspended IO to be resumed"
+I2N_         0x7004 reason_id2name      "waiting for SG cleanup"
+I2N_         0x7005 reason_id2name      "wait to open snapInode0 file"
+I2N_         0x7006 reason_id2name      "wait to open fileset metadata file"
+I2N_         0x7007 reason_id2name      "wait for some disk opens to complete"
+I2N_         0x7008 reason_id2name      "wait for all disk opens"
+I2N_         0x7009 reason_id2name      "StripeGroup::EndUse waiting for vfsUsers"
+I2N_         0x700A reason_id2name      "StripeGroup::EndUse waiting for CacheObj holds"
+I2N_         0x8801 reason_id2name      "wait for resume session to end"
+I2N_         0x8802 reason_id2name      "waiting for cc takeover"
+I2N_         0x8803 reason_id2name      "waiting for new cc mgr"
+I2N_         0x8804 reason_id2name      "waiting for broadcast to end"
+I2N_         0x8805 reason_id2name      "waiting for events"
+I2N_         0x8806 reason_id2name      "waiting for broadcast to end"
+I2N_         0x8807 reason_id2name      "waiting for broadcast to end"
+I2N_         0x8808 reason_id2name      "waiting for next dmapi timeout tick"
+I2N_         0x8809 reason_id2name      "waiting for reply from SendNewMountDisp"
+I2N_         0x9801 reason_id2name      "mmfsck"
+I2N_         0x9802 reason_id2name      "Waiting on parallel workers."
+I2N_         0x9803 reason_id2name      "Parallel fsck work export waiting on server.\n"
+I2N_         0xB801 reason_id2name      "Waiting for access to NSD configuration"
+I2N_         0xB802 reason_id2name      "Waiting for NSD server to be initialized"
+I2N_         0xB803 reason_id2name      "Waiting for disk scan"
+I2N_         0xB804 reason_id2name      "waiting for NSD server takeover"
+I2N_         0xB805 reason_id2name      "waiting for NSD server to come up (generalizedWaitForServer)"
+I2N_         0xB806 reason_id2name      "waiting for worker threads to exit"
+I2N_         0xB807 reason_id2name      "waiting for local I/O to complete"
+I2N_         0xB808 reason_id2name      "waiting for resume NSD I/O"
+I2N_         0xB809 reason_id2name      "IO verify thread waiting for memory"
+I2N_         0xB80A reason_id2name      "waiting for work"
+I2N_         0xB80B reason_id2name      "nsdWorkerThread waiting for memory"
+I2N_         0xB80C reason_id2name      "waiting to delete server disk"
+I2N_         0xB80D reason_id2name      "suspendIO waiting for NSD I/O to finish"
+I2N_         0xB80E reason_id2name      "waiting for E_IO recovery to complete"
+I2N_         0xB80F reason_id2name      "waiting for NSD I/O to finish"
+I2N_         0xB810 reason_id2name      "waiting for active NSD I/O to finish"
+I2N_         0xB811 reason_id2name      "waiting for open of server disks"
+I2N_         0xB812 reason_id2name      "waiting for NSD active I/O queue to empty"
+I2N_         0xCC01 reason_id2name      "wait for thread to stop"
+I2N_         0xD401 reason_id2name      "waiting to lock SANergyMetaNodeState"
+I2N_         0xD402 reason_id2name      "Waiting for access to SANergy MDC configuration"
+I2N_         0xD403 reason_id2name      "SANergy instance list cleanup"
+I2N_         0xD404 reason_id2name      "sanRepair wait for cleanup"
+I2N_         0xD405 reason_id2name      "Waiting for SANergy lease to expire"
+I2N_         0xDC01 reason_id2name      "stealEngine loop wrapping"
+I2N_         0xDC02 reason_id2name      "wait for buffer memState change"
+I2N_         0xE001 reason_id2name      "wait to retry pin"
+TRCID_       0x4801 TRACE_MUTEX         "Creating ThSXLock at 0x%lX\n"
+TRCID_       0x4802 TRACE_MUTEX         "Destroying ThSXLock at 0x%lX\n"
+TRCID_       0x4803 TRACE_MUTEX         "Acquired ThSXLock 0x%lX in share mode (%d SH %d WX)\n"
+TRCID_       0x4804 TRACE_MUTEX         "Acquired ThSXLock 0x%lX in weak exclusive mode (%d SH)\n"
+TRCID_       0x4805 TRACE_MUTEX         "Acquired ThSXLock 0x%lX in exclusive mode\n"
+TRCID_       0x4806 TRACE_MUTEX         "Try to acquire ThSXLock 0x%lX in exclusive mode (%d SH %d WX %d X)\n"
+TRCID_       0x4807 TRACE_MUTEX         "Upgraded ThSXLock 0x%lX to weak exclusive mode (%d SH)\n"
+TRCID_       0x4808 TRACE_MUTEX         "Released ThSXLock 0x%lX in share mode (%d SH %d WX)\n"
+TRCID_       0x4809 TRACE_MUTEX         "Released ThSXLock 0x%lX in weak exclusive mode (%d SH)\n"
+TRCID_       0x480A TRACE_MUTEX         "Released ThSXLock 0x%lX in exclusive mode\n"
+TRCID_       0x480B TRACE_TS            "Thread::write: socket %d addr 0x%lX len %d offset %d ntries %d rc %d errno %d\n"
+TRCID_       0x480C TRACE_TS            "Thread::writev: socket %d msg_iovlen %d iov[0].iov_len %d ntries %d rc %d errno %d\n"
+TRCID_       0x480D TRACE_TS            "Thread::connect: socket %d rc %d errno %d\n"
+TRCID_       0x480E TRACE_TS            "Thread::connect: socket %d select errno %d\n"
+TRCID_       0x480F TRACE_MUTEX         "tryAcquire of mutex 0x%lX (0x%lX) (%s) in daemon failed\n" $3=Mutex_id2name
+TRCID_       0x4810 TRACE_MUTEX         "Acquired mutex 0x%lX (0x%lX) (%s) in daemon using trylock\n" $3=Mutex_id2name
+TRCID_       0x4811 TRACE_MUTEX         "Releasing mutex 0x%lX (0x%lX) (%s) in daemon (no threads waiting)\n" $3=Mutex_id2name
+TRCID_       0x4812 TRACE_MUTEX         "Releasing mutex 0x%lX (0x%lX) (%s) in daemon (threads waiting)\n" $3=Mutex_id2name
+TRCID_       0x4813 TRACE_MUTEX         "Error %d releasing mutex 0x%lX (0x%lX) (%s)\n" $4=Mutex_id2name
+TRCID_       0x4814 TRACE_MUTEX         "d endMutexHold: long mutex hold time %u for mutex 0x%lX (0x%lX) (%d) acqTime 0x%X relTime 0x%X\n"
+TRCID_       0x4815 TRACE_MUTEX         "WaitForShutdown called by thread 0x%X (%s): object 0x%lX err %d\n" $2=Thread_id2name
+TRCID_       0x4816 TRACE_MUTEX         "Acquired mutex 0x%lX (0x%lX) (%s) in daemon using fast path, spinCount %d\n" $3=Mutex_id2name
+TRCID_       0x4817 TRACE_MUTEX         "Acquired mutex 0x%lX (0x%lX) (%s) in daemon using fast path\n" $3=Mutex_id2name
+TRCID_       0x4818 TRACE_MUTEX         "Waiting for mutex 0x%lX (0x%lX) (%s) in daemon\n" $3=Mutex_id2name
+TRCID_       0x4819 TRACE_MUTEX         "Thread 0x%X (%s) waiting for mutex 0x%lX (0x%lX) (%s)\n" $2=Thread_id2name $5=Mutex_id2name
+TRCID_       0x481A TRACE_MUTEX         "Now own mutex 0x%lX (0x%lX) (%s) in daemon\n" $3=Mutex_id2name
+TRCID_       0x481B TRACE_MUTEX         "Thread 0x%X (%s) now owns mutex 0x%lX (0x%lX) (%s)\n" $2=Thread_id2name $5=Mutex_id2name
+TRCID_       0x481C TRACE_MUTEX         "Creating mutex 0x%lX (0x%lX) (%s)\n" $3=Mutex_id2name
+TRCID_       0x481D TRACE_MUTEX         "Destroying mutex 0x%lX (0x%lX) (%s)\n" $3=Mutex_id2name
+TRCID_       0x481E TRACE_MUTEX         "Initializing static mutex 0x%lX (0x%lX) (%s)\n" $3=Mutex_id2name
+TRCID_       0x481F TRACE_MUTEX         "Creating condvar 0x%lX (0x%lX) (%s)\n" $3=Condvar_id2name
+TRCID_       0x4820 TRACE_MUTEX         "Destroying condvar 0x%lX (0x%lX) (%s)\n" $3=Condvar_id2name
+TRCID_       0x4821 TRACE_MUTEX         "Thread 0x%X (%s) waiting on condvar 0x%lX (0x%lX) (%s): %s\n" $2=Thread_id2name $5=Condvar_id2name $6=reason_id2name
+TRCID_       0x4822 TRACE_MUTEX         "condvar 0x%lX (0x%lX) waitCount %d incremented\n"
+TRCID_       0x4823 TRACE_MUTEX         "Received signal while waiting; ignoring E_INTR\n"
+TRCID_       0x4824 TRACE_MUTEX         "Thread 0x%X (%s) no longer waiting on condvar 0x%lX (0x%lX) (%s): %s\n" $2=Thread_id2name $5=Condvar_id2name $6=reason_id2name
+TRCID_       0x4825 TRACE_MUTEX         "condvar 0x%lX (0x%lX) waitCount %d decremented\n"
+TRCID_       0x4826 TRACE_MUTEX         "Thread 0x%X (%s) signalling condvar 0x%lX (0x%lX) (%s): no waiters\n" $2=Thread_id2name $5=Condvar_id2name
+TRCID_       0x4827 TRACE_MUTEX         "Thread 0x%X (%s) signalling condvar 0x%lX (0x%lX) (%s) waitCount %d\n" $2=Thread_id2name $5=Condvar_id2name
+TRCID_       0x4828 TRACE_MUTEX         "Thread 0x%X (%s) broadcasting condvar 0x%lX (0x%lX) (%s): no waiters\n" $2=Thread_id2name $5=Condvar_id2name
+TRCID_       0x4829 TRACE_MUTEX         "Thread 0x%X (%s) broadcasting condvar 0x%lX (0x%lX) (%s) waitCount %d\n" $2=Thread_id2name $5=Condvar_id2name
+TRCID_       0x482A TRACE_MUTEX         "Initializing static condvar 0x%lX (0x%lX) (%s)\n" $3=Condvar_id2name
+TRCID_       0x482B TRACE_MUTEX         "TimeoutWatcherThread: E_TIMEDOUT condP 0x%X wtP 0x%X\n"
+TRCID_       0x482C TRACE_ENTRYEXIT     "-->K %s (%s:%d) level %d stackP 0x%lX\n"
+TRCID_       0x482D TRACE_ENTRYEXIT     "-->D %s (%s:%d) level %d stackP 0x%lX\n"
+TRCID_       0x482E TRACE_ENTRYEXIT     "<--K %s\n"
+TRCID_       0x482F TRACE_ENTRYEXIT     "<--D %s\n"
+TRCID_       0x4830 TRACE_TASKING       "InitMainProcess: SHARED_SEGMENT_BASE 0x%lX pagePoolLowerP 0x%lX pagePoolUpperP 0x%lX\n"
+TRCID_       0x4831 TRACE_TASKING       "InitMainProcess: mallocPoolBaseP 0x%lX mallocPoolSize 0x%X tmPoolBaseP 0x%lX tmPoolSize 0x%X\n"
+TRCID_       0x4832 TRACE_TASKING       "InitMainProcess: Reset theClusterCfg: 0x%lX\n"
+TRCID_       0x4833 TRACE_TASKING       "Main process license failure  - GPFS daemon terminated\n"
+TRCID_       0x4834 TRACE_TASKING       "Main process license failure  - GPFS daemon terminated\n"
+TRCID_       0x4835 TRACE_TASKING       "Main process license failure  - GPFS daemon terminated\n"
+TRCID_       0x4836 TRACE_TASKING       "Main process license failure  - GPFS daemon terminated\n"
+TRCID_       0x4837 TRACE_TASKING       "Calling parse_cfg pass 1 file %s\n"
+TRCID_       0x4838 TRACE_TASKING       "Calling parse_cfg pass 2 file %s\n"
+TRCID_       0x4839 TRACE_CLEANUP       "cleanup: segmapped %d magicvalid %d version %d : %s\n"
+TRCID_       0x483A TRACE_CLEANUP       "Begin daemon cleanup: %s\n"
+TRCID_       0x483B TRACE_CLEANUP       "Destroying message queue %d err %d\n"
+TRCID_       0x483C TRACE_CLEANUP       "CleanupState: WatchDogPID %d\n"
+TRCID_       0x483D TRACE_CLEANUP       "Sending signal %d to watchdog pid %d\n"
+TRCID_       0x483E TRACE_CLEANUP       "End daemon cleanup: %s\n"
+TRCID_       0x483F TRACE_MSG           "Sending message %d.%d to daemon from %d, len=%d\n"
+TRCID_       0x4840 TRACE_MSG           "Error sending message to daemon: errno=%d\n"
+TRCID_       0x4841 TRACE_MUTEX         "SynchEventWordBlock::allocEvent: new block at 0x%lX\n"
+TRCID_       0x4842 TRACE_MUTEX         "SynchEventWordBlock::allocEvent: allocated event word at 0x%lX\n"
+TRCID_       0x4843 TRACE_MUTEX         "SynchEventWordBlock::freeEvent: freeing event word at 0x%lX\n"
+TRCID_       0x4844 TRACE_MUTEX         "SynchEventWordBlock::wakeAllWaiters: waking eventWord 0x%X at 0x%lX\n"
+TRCID_       0x4845 TRACE_MUTEX         "SynchEventWordBlock::reInitialize: blockListP 0x%lX\n"
+TRCID_       0x4846 TRACE_MUTEX         "kxThreadInitOrTerm: what %d\n"
+TRCID_       0x4847 TRACE_MUTEX         "tryAcquire of mutex 0x%lX (%s) in kernel failed\n" $2=Mutex_id2name
+TRCID_       0x4848 TRACE_MUTEX         "Acquired mutex 0x%lX (%s) in kernel using trylock\n" $2=Mutex_id2name
+TRCID_       0x4849 TRACE_MUTEX         "Releasing mutex 0x%lX (%s) in kernel (no threads waiting)\n" $2=Mutex_id2name
+TRCID_       0x484A TRACE_MUTEX         "Releasing mutex 0x%lX (%s) in kernel (threads waiting)\n" $2=Mutex_id2name
+TRCID_       0x484B TRACE_MUTEX         "k endMutexHold: long mutex hold time %u for mutex 0x%lX (%d) acqTime 0x%X relTime 0x%X\n"
+TRCID_       0x484C TRACE_MUTEX         "internalAcquire: waiting for mutex 0x%lX (%s) newOwner 0x%X eventP 0x%lX flags 0x%X\n" $2=Mutex_id2name
+TRCID_       0x484D TRACE_MUTEX         "internalAcquire: freeing event eventP 0x%lX this 0x%lX\n"
+TRCID_       0x484E TRACE_MUTEX         "internalAcquire: mutex 0x%lX (%s) err %d\n" $2=Mutex_id2name
+TRCID_       0x484F TRACE_MUTEX         "releaseLockHeld: waking thread waiting for mutex 0x%lX (%s) eventP 0x%lX\n" $2=Mutex_id2name
+TRCID_       0x4850 TRACE_MUTEX         "Acquired mutex 0x%lX (%s) in kernel using fast path, spinCount %d\n" $2=Mutex_id2name
+TRCID_       0x4851 TRACE_MUTEX         "Acquired mutex 0x%lX (%s) in kernel using fast path\n" $2=Mutex_id2name
+TRCID_       0x4852 TRACE_MUTEX         "Waiting for mutex 0x%lX (%s)\n" $2=Mutex_id2name
+TRCID_       0x4853 TRACE_MUTEX         "Awakened after wait for ThMutex 0x%lX (%s) err %d\n" $2=Mutex_id2name
+TRCID_       0x4854 TRACE_MUTEX         "Creating mutex 0x%lX (%s)\n" $2=Mutex_id2name
+TRCID_       0x4855 TRACE_MUTEX         "Destroying mutex 0x%lX (%s)\n" $2=Mutex_id2name
+TRCID_       0x4856 TRACE_MUTEX         "Initializing static mutex 0x%lX (%s)\n" $2=Mutex_id2name
+TRCID_       0x4857 TRACE_MUTEX         "Initializing kernel static mutex 0x%lX (%s)\n" $2=Mutex_id2name
+TRCID_       0x4858 TRACE_MUTEX         "Destroying kernel static mutex 0x%lX (%s)\n" $2=Mutex_id2name
+TRCID_       0x4859 TRACE_MUTEX         "Creating condvar 0x%lX (%s)\n" $2=Condvar_id2name
+TRCID_       0x485A TRACE_MUTEX         "Destroying condvar 0x%lX (%s)\n" $2=Condvar_id2name
+TRCID_       0x485B TRACE_MUTEX         "Waiting on condvar 0x%lX (%s): %s\n" $2=Condvar_id2name $3=reason_id2name
+TRCID_       0x485C TRACE_MUTEX         "condvar 0x%lX waitCount %d incremented\n"
+TRCID_       0x485D TRACE_MUTEX         "No longer waiting on condvar 0x%lX (%s) err %d: %s\n" $2=Condvar_id2name $4=reason_id2name
+TRCID_       0x485E TRACE_MUTEX         "condvar 0x%lX waitCount %d decremented\n"
+TRCID_       0x485F TRACE_MUTEX         "Waiting on condvar 0x%lX (%s) interruptibly: %s\n" $2=Condvar_id2name $3=reason_id2name
+TRCID_       0x4860 TRACE_MUTEX         "condvar 0x%lX waitCount %d incremented\n"
+TRCID_       0x4861 TRACE_MUTEX         "No longer waiting interruptibly on condvar 0x%lX (%s) err %d: %s\n" $2=Condvar_id2name $4=reason_id2name
+TRCID_       0x4862 TRACE_MUTEX         "condvar 0x%lX waitCount %d decremented\n"
+TRCID_       0x4863 TRACE_MUTEX         "Signalling condvar 0x%lX (%s): no waiters\n" $2=Condvar_id2name
+TRCID_       0x4864 TRACE_MUTEX         "Signalling condvar 0x%lX (%s) waitCount %d\n" $2=Condvar_id2name
+TRCID_       0x4865 TRACE_MUTEX         "Broadcasting condvar 0x%lX (%s): no waiters\n" $2=Condvar_id2name
+TRCID_       0x4866 TRACE_MUTEX         "Broadcasting condvar 0x%lX (%s) waitCount %d\n" $2=Condvar_id2name
+TRCID_       0x4867 TRACE_MUTEX         "internalWait: waiting for condvar 0x%lX (%s) eventP 0x%lX flags 0x%X\n" $2=Condvar_id2name
+TRCID_       0x4868 TRACE_MUTEX         "internalWait: freeing event eventP 0x%lX this 0x%lX\n"
+TRCID_       0x4869 TRACE_MUTEX         "internalWait: condvar 0x%lX (%s) err %d\n" $2=Condvar_id2name
+TRCID_       0x486A TRACE_MUTEX         "internalSignal: waking thread(s) waiting for condvar 0x%lX (%s) eventP 0x%lX waitErr %d\n" $2=Condvar_id2name
+TRCID_       0x486B TRACE_MUTEX         "Initializing static condvar 0x%lX (%s)\n" $2=Condvar_id2name
+TRCID_       0x486C TRACE_MUTEX         "Acquired ThSXLock 0x%lX in share mode in kernel (%d SH %d WX)\n"
+TRCID_       0x486D TRACE_MUTEX         "Try to acquire ThSXLock 0x%lX in exclusive mode in kernel (%d SH %d WX %d X)\n"
+TRCID_       0x486E TRACE_MUTEX         "Released ThSXLock 0x%lX in share mode in kernel (%d SH %d WX)\n"
+TRCID_       0x486F TRACE_MUTEX         "Released ThSXLock 0x%lX in exclusive mode in kernel\n"
+TRCID_       0x4870 TRACE_MB            "Mailbox::terminateAll\n"
+TRCID_       0x4871 TRACE_MB            "Mailbox::terminateAll: nIOsInProgress %d"
+TRCID_       0x4872 TRACE_MSG           "about to msgrcv Shared.processP.msgqID %d\n"
+TRCID_       0x4873 TRACE_MSG           "No message available; err %d\n"
+TRCID_       0x4874 TRACE_MSG           "Received message %d.%d from process %d len %d\n"
+TRCID_       0x4875 TRACE_TASKING       "CreateMsgQueue: Shared.processP.msgqID %d\n"
+TRCID_       0x4876 TRACE_TASKING       "Received SIGUSR1; thread waiting for daemon to die\n"
+TRCID_       0x4877 TRACE_TASKING       "SigUsr1Handler: can't find thread entry in shared segment\n"
+TRCID_       0x4878 TRACE_TASKING       "Received SIGUSR1; ignored\n"
+TRCID_       0x4879 TRACE_ERRLOG        "Signal %d at location 0x%lX, link reg 0x%lX\n"
+TRCID_       0x487A TRACE_CLEANUP       "Beginning to dump traceback and data structures\n"
+TRCID_       0x487B TRACE_CLEANUP       "Finished traceback and data structure dump\n"
+TRCID_       0x487C TRACE_CLEANUP       "Sending signal %d to master pthread 0x%08X to do cleanup\n"
+TRCID_       0x487D TRACE_CLEANUP       "Error %d sending signal to master\n"
+TRCID_       0x487E TRACE_CLEANUP       "Thread exiting from SignalHandler\n"
+TRCID_       0x487F TRACE_TASKING       "ShutdownHandler: signal %d in main process\n"
+TRCID_       0x4880 TRACE_TASKING       "Signal handler in main process ignored signal %d\n"
+TRCID_       0x4881 TRACE_TASKING       "CommonSigChldHandler: child process [%d] ended with rc %d\n"
+TRCID_       0x4882 TRACE_TASKING       "CommonSigChldHandler: child process [%d] not registered\n"
+TRCID_       0x4883 TRACE_TASKING       "Error setting action for signal %d: errno %d\n"
+TRCID_       0x4884 TRACE_THREAD        "Thread::callBodyWrapper entered for thread 0x%08X (%s) at 0x%lX stack var 0x%lX\n" $2=Thread_id2name
+TRCID_       0x4885 TRACE_TASKING       "GPFS daemon starting\n"
+TRCID_       0x4886 TRACE_TASKING       "SigChildNotify::addClient: enter pid %d cmd %s\n"
+TRCID_       0x4887 TRACE_TASKING       "SigChildNotify::addClient: waiting for slot pid %d\n"
+TRCID_       0x4888 TRACE_TASKING       "SigChildNotify::addClient: exit slot %d pid %d\n"
+TRCID_       0x4889 TRACE_TASKING       "SigChildNotify::setClient: slot %d pid %d child %d rtnP 0x%lX argP 0x%lX\n"
+TRCID_       0x488A TRACE_TASKING       "SigChildNotify::cancelClient: slot %d pid %d\n"
+TRCID_       0x488B TRACE_TASKING       "SigChildNotify::removeClient: enter pid %d\n"
+TRCID_       0x488C TRACE_TASKING       "SigChildNotify::removeClient: exit slot %d pid %d child %d\n"
+TRCID_       0x488D TRACE_TASKING       "SigChildNotify::waitClient: enter pid %d child %d\n"
+TRCID_       0x488E TRACE_TASKING       "SigChildNotify::waitClient: exit slot %d pid %d child %d childRC %d status 0x%X\n"
+TRCID_       0x488F TRACE_TASKING       "SigChildNotify::waitClientThread: slot %d pid %d childPid %d\n"
+TRCID_       0x4890 TRACE_TASKING       "SigChildNotify::fork: enter pid %d cmd %s\n"
+TRCID_       0x4892 TRACE_TASKING       "SigChildNotify::waitpid: enter pid %d childpid %d\n"
+TRCID_       0x4893 TRACE_TASKING       "SigChildNotify::waitpid: exit childpid %d rc %d status 0x%X\n"
+TRCID_       0x4894 TRACE_TASKING       "SigChildNotify::signalClient: enter child %d childRC %d\n"
+TRCID_       0x4895 TRACE_TASKING       "SigChildNotify::signalClient: callback slot %d pid %d child %d rtnP 0x%lX, argP 0x%lX\n"
+TRCID_       0x4896 TRACE_TASKING       "SigChildNotify::signalClient: exit slot %d pid %d child %d rc %d sig %d\n"
+TRCID_       0x4897 TRACE_MB            "Mailbox::initializePhase1: stateP 0x%lX\n"
+TRCID_       0x4898 TRACE_MB            "DaemonMailbox::getFree: typeNeeded %d\n"
+TRCID_       0x4899 TRACE_MB            "DaemonMailbox::getFree: typeNeeded %d addr 0x%lX err %d\n"
+TRCID_       0x489A TRACE_MB            "DaemonMailbox::getNFree: typeNeeded %d n %d\n"
+TRCID_       0x489B TRACE_MB            "DaemonMailbox::getNFree: typeNeeded %d num %d of %d at addr 0x%lX\n"
+TRCID_       0x489C TRACE_MB            "DaemonMailbox::getNFree: typeNeeded %d n %d err %d\n"
+TRCID_       0x489D TRACE_MB            "DaemonMailbox::dFree: addr 0x%lX type %d\n"
+TRCID_       0x489E TRACE_MB            "KernelMailbox::reply: addr 0x%lX type %d\n"
+TRCID_       0x489F TRACE_TASKING       "Incrementer process started\n"
+TRCID_       0x48A0 TRACE_TASKING       "Changing to low priority: errno %d\n"
+TRCID_       0x48A1 TRACE_TASKING       "sending stop signal to process: errno %d\n"
+TRCID_       0x48A2 TRACE_TASKING       "WatchDogSignalHandler: signal %d\n"
+TRCID_       0x48A3 TRACE_TASKING       "creating Watchdog process: errno %d\n"
+TRCID_       0x48A4 TRACE_TASKING       "Changing to high priority: errno %d\n"
+TRCID_       0x48A5 TRACE_TASKING       "creating Incrementer process: errno %d\n"
+TRCID_       0x48A6 TRACE_THREAD        "ThreadGlobalState constructor starting\n"
+TRCID_       0x48A7 TRACE_THREAD        "ThreadGlobalState constructor building main thread\n"
+TRCID_       0x48A8 TRACE_THREAD        "ThreadGlobalState constructor finished\n"
+TRCID_       0x48A9 TRACE_THREAD        "Thread 0x%X (%s) reusing thP 0x%lX\n" $2=Thread_id2name
+TRCID_       0x48AA TRACE_THREAD        "Thread 0x%X (%s) terminating\n" $2=Thread_id2name
+TRCID_       0x48AB TRACE_THREAD        "Thread 0x%X (%s) entered Thread::operator delete\n" $2=Thread_id2name
+TRCID_       0x48AC TRACE_THREAD        "newThread cannot create thread; pool %d has %d threads\n"
+TRCID_       0x48AD TRACE_THREAD        "Reusing thread 0x%X new handle 0x%X (%s)\n" $3=Thread_id2name
+TRCID_       0x48AE TRACE_THREAD        "stack address 0x%lX assigned\n"
+TRCID_       0x48AF TRACE_THREAD        "Thread::Thread entered; this %lx name %s\n"
+TRCID_       0x48B0 TRACE_THREAD        "Thread 0x%X (%s) created; parm %lX stack addr 0x%lX and size 0x%X rc %d\n" $2=Thread_id2name
+TRCID_       0x48B1 TRACE_THREAD        "Thread::~Thread entered; this %lx name %s\n"
+TRCID_       0x48B2 TRACE_THREAD        "Thread 0x%X now has handle 0x%X (%s)\n" $3=Thread_id2name
+TRCID_       0x48B3 TRACE_THREAD        "Thread 0x%X now has handle 0x%X (%s)\n" $3=Thread_id2name
+TRCID_       0x48B4 TRACE_THREAD        "Thread 0x%X (%s) yielding: %s\n" $2=Thread_id2name $3=reason_id2name
+TRCID_       0x48B5 TRACE_THREAD        "Thread 0x%X (%s) resuming after yield: %s\n" $2=Thread_id2name $3=reason_id2name
+TRCID_       0x48B6 TRACE_THREAD        "Synchronization wait timeout for thread 0x%X (%s)\n" $2=Thread_id2name
+TRCID_       0x48B7 TRACE_THREAD        "Thread 0x%X (%s) suspending: %s\n" $2=Thread_id2name $3=reason_id2name
+TRCID_       0x48B8 TRACE_THREAD        "Thread 0x%X (%s) returning from suspend: %s\n" $2=Thread_id2name $3=reason_id2name
+TRCID_       0x48B9 TRACE_THREAD        "Resuming thread 0x%X (%s)\n" $2=Thread_id2name
+TRCID_       0x48BA TRACE_THREAD        "Thread 0x%X (%s) delaying until %d.%09d: %s\n" $2=Thread_id2name $5=reason_id2name
+TRCID_       0x48BB TRACE_THREAD        "Thread 0x%X (%s) finished delaying until %d.%09d: %s\n" $2=Thread_id2name $5=reason_id2name
+TRCID_       0x48BC TRACE_THREAD        "Thread 0x%X (%s) delaying by %d.%09d: %s\n" $2=Thread_id2name $5=reason_id2name
+TRCID_       0x48BD TRACE_THREAD        "Thread::select: handle 0x%X (%s) type %d on fd %d\n" $2=Thread_id2name
+TRCID_       0x48BE TRACE_TS            "Thread::select: handle 0x%X (%s) revents 0x%X type %d fd %d err %d\n" $2=Thread_id2name
+TRCID_       0x48BF TRACE_TS            "Thread::poll: handle 0x%X (%s) revents 0x%X type %d fd %d err %d\n" $2=Thread_id2name
+TRCID_       0x48C0 TRACE_THREAD        "Mailbox message worker thread %d running, allocType %d\n"
+TRCID_       0x48C1 TRACE_THREAD        "Creating new message worker thread %d of %d for allocType %d\n"
+TRCID_       0x48C2 TRACE_THREAD        "Max %d message worker threads for allocType %d are all busy\n"
+TRCID_       0x48C3 TRACE_MB            "msgHandlerBody: addr 0x%lX type %d context %d\n"
+TRCID_       0x48C4 TRACE_MB            "msgHandlerBody thread index %d terminating, allocType %d\n"
+TRCID_       0x48C5 TRACE_MSG           "processMsgQBody: err %d length %d, thread exiting\n"
+TRCID_       0x48C6 TRACE_MB            "getOneMailboxMessage: allocType %d waiting using list element 0x%lX\n"
+TRCID_       0x48C7 TRACE_MB            "getOneMailboxMessage: returning mb 0x%lX err %d\n"
+TRCID_       0x48C8 TRACE_MB            "sendMsgReply enter: doneMbP 0x%lX\n"
+TRCID_       0x48C9 TRACE_MB            "sendMsgReply exit: err %d\n"
+TRCID_       0x48CA TRACE_DLEASE        "setConfig changing useDiskLease from %d to %d"
+TRCID_       0x48CB TRACE_TS            "Thread::select: poll returned POLLERR, fd %d polerr %d getsockopt rc %d errno %d"
+TRCID_       0x48CC TRACE_TS            "Thread::poll: poll returned POLLERR, fd %d polerr %d getsockopt rc %d errno %d"
+TRCID_       0x48CD TRACE_TASKING       "SigChildNotify::fork: exit returning %d to parent (pid %d)\n"
+TRCID_       0x48CE TRACE_TASKING       "SigChildNotify::fork: exit returning %d to parent (pid %d)  errno %d cxiErrno %d\n"
+TRCID_       0x48CF TRACE_TASKING       "SigChildNotify::fork failure stats: %s\n"
+TRCID_       0x48D0 TRACE_TASKING       "SigChildNotify::fork failure  stats: cannot open %s\n"
+I2N_         0x4801 reason_id2name      "waiting for shared ThSXLock"
+I2N_         0x4802 reason_id2name      "waiting for weak exclusive ThSXLock"
+I2N_         0x4803 reason_id2name      "waiting for exclusive ThSXLock"
+I2N_         0x4804 reason_id2name      "waiting for kernel mbufs"
+I2N_         0x4805 reason_id2name      "Waiting for timeout waiter signal"
+I2N_         0x4806 reason_id2name      "Waiting for condition waiter timeout"
+I2N_         0x4807 reason_id2name      "main thread wait forever"
+I2N_         0x4808 reason_id2name      "waiting for shared ThSXLock"
+I2N_         0x4809 reason_id2name      "waiting for slot"
+I2N_         0x480A reason_id2name      "waiting for child process"
+I2N_         0x480B reason_id2name      "DaemonMailbox::getFree wait for free mailbox"
+I2N_         0x480C reason_id2name      "DaemonMailbox::getNFree wait for n free mailboxes"
+I2N_         0x480D reason_id2name      "Idle thread waiting for work"
+I2N_         0x480E reason_id2name      "MB handler waiting for work"
+I2N_         0x480F reason_id2name      "Waiting for the next health check interval"
+TRCID_       0x5001 TRACE_VNODE         "mmfs enter. Symbol_table=0x%lX\n"
+TRCID_       0x5002 TRACE_VNODE         "mmfs: CFG_INIT\n"
+TRCID_       0x5003 TRACE_VNODE         "mmfs: CFG_TERM\n"
+TRCID_       0x5004 TRACE_VNODE         "mmfs: mmfsd still up\n"
+TRCID_       0x5005 TRACE_VNODE         "mmfs: invalid command %d\n"
+TRCID_       0x5006 TRACE_VNODE         "mmfs exit: rc %d\n"
+TRCID_       0x5007 TRACE_VNODE         "RemoveFile enter: unlinking '%s'\n"
+TRCID_       0x5008 TRACE_SMB           "oplockTestHolder found %s.  myOplock %d"
+TRCID_       0x5009 TRACE_VNODE         "RemoveFile exit: code %d rc %d\n"
+TRCID_       0x500A TRACE_VNODE         "RenameFile enter: renaming '%s'\n"
+TRCID_       0x500B TRACE_VNODE         "RenameFile exit: code %d rc %d\n"
+TRCID_       0x500C TRACE_VNODE         "kxGetMountInfoByID enter: mountId %d\n"
+TRCID_       0x500D TRACE_VNODE         "kxGetMountInfoByID: mount opts len %d opt '%s'\n"
+TRCID_       0x500E TRACE_VNODE         "kxGetMountInfoByID: copyout mInfo structure rc %d\n"
+TRCID_       0x500F TRACE_VNODE         "kxGetMountInfoByID exit: code %d rc %d\n"
+TRCID_       0x5010 TRACE_VNODE         "kxSetMountInfoByID enter: mountId %d devIdP 0x%lX\n"
+TRCID_       0x5011 TRACE_VNODE         "kxSetMountInfoByID: sgDevID 0x%08lX\n"
+TRCID_       0x5012 TRACE_VNODE         "kxSetMountInfoByID exit: code %d rc %d\n"
+TRCID_       0x5013 TRACE_VNODE         "kxClearMountInfo enter: kernelUnmount %d\n"
+TRCID_       0x5014 TRACE_VNODE         "kxClearMountInfo unmount: mountId %d new mountVersion[0] %d\n"
+TRCID_       0x5015 TRACE_VNODE         "kxClearMountInfo exit: rc %d\n"
+TRCID_       0x5016 TRACE_VNODE         "setMountInfo exit: privVfsP 0x%lX vfsP 0x%lX holdFound %d  holdSet %dnew mountVersion[0] %d rootGNP 0x%lX rootVP 0x%lX rc %d\n"
+TRCID_       0x5017 TRACE_VNODE         "getMountVersion vinfoP 0x%lX inode %d snap %d privVfsP 0x%lX\n"
+TRCID_       0x5018 TRACE_VNODE         "incrAllMountVersions privVfsP 0x%lX mountVersion[0] %d\n"
+TRCID_       0x5019 TRACE_VNODE         "kxCatalogGetMounts enter\n"
+TRCID_       0x501A TRACE_VNODE         "kxCatalogGetMounts exit: count %d code %d rc %d\n"
+TRCID_       0x501B TRACE_VNODE         "kxUnmount exit: mountId %d code %d rc %d\n"
+TRCID_       0x501C TRACE_MB            "kxAllocEventWords: eventWords 0x%lX\n"
+TRCID_       0x501D TRACE_MB            "kxTerminateMailboxes enter\n"
+TRCID_       0x501E TRACE_MB            "kxFreeMailboxStorage: eventArrayP 0x%lX\n"
+TRCID_       0x501F TRACE_MB            "sendToDaemon: addr 0x%lX type %d\n"
+TRCID_       0x5020 TRACE_MB            "KernelMailbox::getFree: typeNeeded %d blockUntilAvail %d\n"
+TRCID_       0x5021 TRACE_MB            "KernelMailbox::getFree: failed: stateP 0x%lX, MMFSSessionId %d\n"
+TRCID_       0x5022 TRACE_MB            "KernelMailbox::getFree: typeNeeded %d addr 0x%lX code %d err %d\n"
+TRCID_       0x5023 TRACE_MB            "KernelMailbox::kFree: addr 0x%lX type %d\n"
+TRCID_       0x5024 TRACE_MB            "sendToDaemonWithReply enter: addr 0x%lX type %d\n"
+TRCID_       0x5025 TRACE_MB            "sendToDaemonWithReply exit: addr 0x%lX type %d err %d\n"
+TRCID_       0x5026 TRACE_VNODE         "VinfoDiscard: vinfo 0x%lX oiP 0x%lX inUse %d disconnected %d rwPageDone %d"
+TRCID_       0x5027 TRACE_VNODE         "kxCleanupVinfo: remove vinfo 0x%lX oiP 0x%lX inUse %d disconnected %d rwPageDone %d"
+TRCID_       0x5028 TRACE_VNODE         "kxCleanupVinfo: disconnect vinfo 0x%lX oiP 0x%lX inUse %d disconnected %d rwPageDone %d filesetId %d snapId %d\n"
+TRCID_       0x5029 TRACE_VNODE         "kxCleanupVinfo: skip vinfo 0x%lX oiP 0x%lX inUse %d disconnected %d rwPageDone %d"
+TRCID_       0x502A TRACE_VNODE         "kxInitializeNodeHashTab: did not get %d buckets try to get %d"
+TRCID_       0x502B TRACE_VNODE         "kxInitializeNodeHashTab: hashTabSize %d HashTabSize %d gpfsNodeHashP 0x%lX \n"
+TRCID_       0x502C TRACE_VNODE         "gpfsNode_t::unCache: vP %X gnP %X nfsP %X\n"
+TRCID_       0x502D TRACE_VNODE         "gpfsNode_t::unCache: found %d open NFS inodes.\n"
+TRCID_       0x502E TRACE_VNODE         "gpfsNode_t::rele this 0x%lX kopP 0x%lX privVfsP 0x%lX vP 0x%lX\n"
+TRCID_       0x502F TRACE_VNODE         "gpfsNode_t::rele inode %d snap %d\n"
+TRCID_       0x5030 TRACE_VNODE         "gpfsNode_t::remove enter: privVfsP 0x%lX vP 0x%lX gnP 0x%lX inodeNum %d canCache %d transition %d canClearVFSRef %d\n"
+TRCID_       0x5031 TRACE_VNODE         "gpfsNode_t::remove: vP 0x%lX still active, gnP 0x%lX inodeNum %d rc %d\n"
+TRCID_       0x5032 TRACE_VNODE         "gpfsNode_t::remove: vP 0x%lX being cached, gnP 0x%lX inodeNum %d\n"
+TRCID_       0x5033 TRACE_VNODE         "gpfsNode_t::remove: ofP 0x%lX vP 0x%lX gnP 0x%lX inodeNum %d ref released\n"
+TRCID_       0x5034 TRACE_VNODE         "gpfsNode_t::remove: No ofP! vP 0x%lX gnP 0x%lX inodeNum %d\n"
+TRCID_       0x5035 TRACE_VNODE         "gpfsNode_t::findOrCreate enter: privVfsP 0x%lX sgLocalId %d inodeNum %d generation 0x%X snapId %d vPP 0x%lX gnPP 0x%lX"
+TRCID_       0x5036 TRACE_VNODE         "gpfsNode_t::findOrCreate: checking gnP 0x%lX\n"
+TRCID_       0x5037 TRACE_VNODE         "gpfsNode_t::findOrCreate: waiting on gnP 0x%lX\n"
+TRCID_       0x5038 TRACE_VNODE         "gpfsNode_t::findOrCreate: waking on gnP 0x%lX\n"
+TRCID_       0x5039 TRACE_VNODE         "gpfsNode_t::findOrCreate: stealing gnP 0x%lX inodeNum %d gen 0x%X ref %d\n"
+TRCID_       0x503A TRACE_VNODE         "gpfsNode_t::findOrCreate: creating gnP 0x%lX\n"
+TRCID_       0x503B TRACE_VNODE         "gpfsNode_t::findOrCreate: created vnode 0x%lX inodeNum %d snap %d\n"
+TRCID_       0x503C TRACE_VNODE         "gpfsNode_t::findOrCreate exit: rc %d code %d gnP 0x%lX vP 0x%lX filesetid %d\n"
+TRCID_       0x503D TRACE_VNODE         "gpfsNode_t::findButDontCreate: inode %d snap %d calledFromRevoke %d"
+TRCID_       0x503E TRACE_VNODE         "gpfsNode_t::findButDontCreate: checking gnP 0x%lX"
+TRCID_       0x503F TRACE_VNODE         "gpfsNode_t::findButDontCreate: found gnP 0x%lX vP 0x%lX"
+TRCID_       0x5040 TRACE_VNODE         "gpfsNode_t::invalidateMappedPages: sgLocalId %d"
+TRCID_       0x5041 TRACE_VNODE         "gpfsNode_t::invalidateMappedPages: invalidating gnP 0x%lX\n"
+TRCID_       0x5042 TRACE_VNODE         "gpfsNode_t::invalidateMappedPages: Rehashing gnP 0x%lX inodeNum %d\n"
+TRCID_       0x5043 TRACE_VNODE         "verifyReadAttrAccess: isCompact %d iNum %d aclRef 0x%X:0x%X\n"
+TRCID_       0x5044 TRACE_VNODE         "verifyReadAttrAccess err %d code %d ino %d aclVersion %d\n"
+TRCID_       0x5045 TRACE_VNODE         "lockGetattr inode %d gen 0x%X snap %d returns code %d err %d\n"
+TRCID_       0x5046 TRACE_VNODE         "gpfsNode_t::findOrCreate enter: privVfsP 0x%lX sgLocalId %d inodeNum %d generation 0x%X snapId %d fileset %d ofP 0x%lX vattrP 0x%lX vPP 0x%lX gnPP 0x%lX"
+TRCID_       0x5047 TRACE_VNODE         "gpfsNode_t::findOrCreate success: gnP 0x%lX vP 0x%lX filesetid %d"
+TRCID_       0x5048 TRACE_VNODE         "gpfsNode_t::findOrCreate failed: rc %d"
+TRCID_       0x5049 TRACE_VNODE         "findOrCreateWithAttrs exit: privVfsP 0x%lX sgLocalId %d inodeNum %d generation 0x%X vPP 0x%lX gnPP 0x%lX rc %d\n"
+TRCID_       0x504A TRACE_VNODE         "readOSNode: privVfsP 0x%lX sgLocalId %d inodeNum %d gnP 0x%lX iP 0x%lX id (%d %d %d)"
+TRCID_       0x504B TRACE_VNODE         "readOSNode: kBeginVnop failed with rc %d"
+TRCID_       0x504C TRACE_VNODE         "readOSNode: lockGetattr failed with rc %d"
+TRCID_       0x504D TRACE_VNODE         "readOSNode error! found gnode 0x%lX (inode 0x%lX, refCount %d)"
+TRCID_       0x504E TRACE_VNODE         "gpfsNode_t::invalidateOSNodeByUID: sgP 0x%lX inum %d snap %d what 0x%X"
+TRCID_       0x504F TRACE_VNODE         "gpfsNode_t::invalidateOSNodeByUID: exit gnP 0x%X rc %d retcode %d"
+TRCID_       0x5050 TRACE_VNODE         "gpfsNode_t::invalidateOSNode: gnP 0x%lX vP 0x%X what 0x%X refCount %d prune %d"
+TRCID_       0x5051 TRACE_VNODE         "gpfsNode_t::invalidateAllOSNode: sgLocalId %d what 0x%X\n"
+TRCID_       0x5052 TRACE_VNODE         "gpfsNode_t::invalidateAllOSNode: checking gnP 0x%lX gnP->sgLocalId %d\n"
+TRCID_       0x5053 TRACE_VNODE         "gpfsNode_t::invalidateAllOSNode: sgLocalId %d exit err %d\n"
+TRCID_       0x5054 TRACE_VNODE         "gpfsNode_t::invalidateVolatileOSNode: sgLocalId %d what 0x%X\n"
+TRCID_       0x5055 TRACE_VNODE         "gpfsNode_t::invalidateVolOSNodes checking gnP 0x%lX sg %d inode %d snap %d %s"
+TRCID_       0x5056 TRACE_VNODE         "gpfsNode_t::invalidateVolOSNodes Invalidating gnP 0x%lX sg %d inode %d snap %d %s"
+TRCID_       0x5057 TRACE_VNODE         "gpfsNode_t::invalidateVolatileOSNode complete\n"
+TRCID_       0x5058 TRACE_VNODE         "gpfsNode_t::updateOSNode: ofP 0x%X what 0x%X"
+TRCID_       0x5059 TRACE_VNODE         "calling cxiUpdateInode gnP 0x%lX"
+TRCID_       0x505A TRACE_VNODE         "gpfsNode_t::gnType exit: mode 0x%X code %d rc %d\n"
+TRCID_       0x505B TRACE_VNODE         "gpfsNode_t::lookup enter: privVfsP 0x%lX dgnP 0x%lX name '%s'\n"
+TRCID_       0x505C TRACE_VNODE         "gpfsNode_t::lookup: nlink 0, treating as if ENOENT"
+TRCID_       0x505D TRACE_VNODE         "gpfsNode_t::lookup: lock&relinquish count mismatch name '%s' old %u new %u"
+TRCID_       0x505E TRACE_VNODE         "gpfsNode_t::lookup exit: rc %d code %d gnP 0x%lX\n"
+TRCID_       0x505F TRACE_VNODE         "mmapLock: waiting, gnP 0x%lX waitBits 0x%x setBits 0x%x\n"
+TRCID_       0x5060 TRACE_VNODE         "mmapLock: locked gnP 0x%lX waitBits 0x%x setBits 0x%x aborted %d\n"
+TRCID_       0x5061 TRACE_VNODE         "mmapUnlock: unlocked gnP 0x%lX clearBits 0x%x\n"
+TRCID_       0x5062 TRACE_VNODE         "CheckSuspiciousDirEntry(inode %d, gen 0x%X): not cached; assuming ok"
+TRCID_       0x5063 TRACE_VNODE         "CheckSuspiciousDirEntry(inode %d, gen 0x%X): is bad: inode status %d nlink %d generation 0x%X"
+TRCID_       0x5064 TRACE_VNODE         "CheckSuspiciousDirEntry(inode %d, gen 0x%X): is ok"
+TRCID_       0x5065 TRACE_VNODE         "CheckSuspiciousDirEntry(inode %d, gen 0x%X): not valid; assuming ok"
+TRCID_       0x5066 TRACE_KSVFS         "LookupFile: hashVal 0x%X hashLevel %d currBlock %lld lastBlock %lld switchDirectionCount %d\n"
+TRCID_       0x5067 TRACE_KSVFS         "LookupFile initiating caseless pass with nextBlock %lld and depth %d\n"
+TRCID_       0x5068 TRACE_KSVFS         "LookupFile: found inodeNum %d gen 0x%X snap %d fileset %d mode 0x%X\n"
+TRCID_       0x5069 TRACE_KSVFS         "LookupFile enter:  dir inode %d gen 0x%X snap %d name %s\n"
+TRCID_       0x506A TRACE_KSVFS         "LookupFile iaccess: rc %d\n"
+TRCID_       0x506B TRACE_KSVFS         "LookupFile exit: code %d rc %d\n"
+TRCID_       0x506C TRACE_KSVFS         "LookupFileFast exit: dirHashLevelHint %d inodeNum %d snapId %d generation 0x%X mode 0x%X rc %d\n"
+TRCID_       0x506D TRACE_KSVFS         "MetaFileBlock::xaccess(gnP 0x%lX mfOFP 0x%lX, blockNum %lld, reqType %d): ofP 0x%lX currBlock %lld\n"
+TRCID_       0x506E TRACE_KSVFS         "MetaFileBlock::xaccess(): ofP 0x%lX currBlock %lld, returning err %d (code %d)\n"
+TRCID_       0x506F TRACE_VNODE         "RetrieveAcl(%d) returns len %d code %d rc %d\n"
+TRCID_       0x5070 TRACE_VNODE         "CheckAll enter: ofP 0x%lX amode 0x%X\n"
+TRCID_       0x5071 TRACE_VNODE         "CheckAll enter: inode aclRef %d inode mode 0x%X\n"
+TRCID_       0x5072 TRACE_VNODE         "CheckAll exit: rc %d\n"
+TRCID_       0x5073 TRACE_VNODE         "CheckAny enter: ofP 0x%lX amode 0x%X\n"
+TRCID_       0x5074 TRACE_VNODE         "CheckAny enter: inode aclRef %d inode mode 0x%X\n"
+TRCID_       0x5075 TRACE_VNODE         "CheckAny exit: rc %d\n"
+TRCID_       0x5076 TRACE_VNODE         "squashed root id"
+TRCID_       0x5077 TRACE_VNODE         "remapCredIDs: using cached mapping, orig ids %u:%u new ids %u:%u\n"
+TRCID_       0x5078 TRACE_VNODE         "remapAttrIDs: cache lookup: orig ids %u:%u new ids %u:%u err1 %d err2 %d\n"
+TRCID_       0x5079 TRACE_VNODE         "Iaccess enter: amode 0x%X uid %d isDir %d inodeMode 0x%X owner %d\n"
+TRCID_       0x507A TRACE_VNODE         "IaccessAcl: inode aclRef %d \n"
+TRCID_       0x507B TRACE_VNODE         "Iaccess: AclSupport 0x%X amode 0x%X v4mask 0x%x\n"
+TRCID_       0x507C TRACE_VNODE         "Iaccess: newmode 0x%X isOwner %d isGroup %d isOther %d\n"
+TRCID_       0x507D TRACE_VNODE         "Iaccess: V2 ACL extmode 0%o realm %s\n"
+TRCID_       0x507E TRACE_VNODE         "Iaccess: uid match, permissions %d mask %d\n"
+TRCID_       0x507F TRACE_VNODE         "Iaccess: group match, gid %d permissions %d mask %d rc %d\n"
+TRCID_       0x5080 TRACE_VNODE         "Iaccess: perm %d mask %d rc %d foreign_other realm match %s\n"
+TRCID_       0x5081 TRACE_VNODE         "Iaccess exit: rc %d code %d\n"
+TRCID_       0x5082 TRACE_PGALLOC       "pud wait: pw 0x%lX available %d declared %d need %d"
+TRCID_       0x5083 TRACE_PGALLOC       "pud awoke: pw 0x%lX available %d declared %d need %d"
+TRCID_       0x5084 TRACE_PGALLOC       "pud wakeup: pw 0x%lX available %d declared %d need %d"
+TRCID_       0x5085 TRACE_TSTM          "Dummy version of ReclaimIfNeeded called\n"
+TRCID_       0x5086 TRACE_VNODE         "~KernelOperation: segStatus %d holdDaemonSegUsed %d sgP 0x%lX nPages %d\n"
+TRCID_       0x5087 TRACE_VNODE         "KernelOperation::d'tor: Atomvar access count %d\n"
+TRCID_       0x5088 TRACE_VNODE         "kBegin nBytesUsed %d nHardLimitBytesUsed %d nLimitBytesUsed %d\n"
+TRCID_       0x5089 TRACE_VNODE         "kBegin nBytesUsed %d\n"
+TRCID_       0x508A TRACE_VNODE         "kBegin: Atomvar access count %d\n"
+TRCID_       0x508B TRACE_VNODE         "kBegin: STALE test failed. privVfsP 0x%lX vfsFlags 0x%X checkFlags 0x%X"
+TRCID_       0x508C TRACE_VNODE         "kBegin: R/W check failed. privVfsP 0x%lX vfsFlags 0x%X checkFlags 0x%X"
+TRCID_       0x508D TRACE_VNODE         "markAllDaemonUnmounted: privVfsP 0x%lX new mountVersion[0] %d\n"
+TRCID_       0x508E TRACE_CLEANUP       "kxRegisterMMFSSessionId: old id %d new id %d\n"
+TRCID_       0x508F TRACE_CLEANUP       "kxGetMapCount: segment map count %d\n"
+TRCID_       0x5090 TRACE_VNODE         "kxGetLocalSGIdCounter: next SG id counter %d, return id %d sglen=%d clusterID %llX sgname=%s\n"
+TRCID_       0x5091 TRACE_VNODE         "Retry: sleeper 0x%lX s.toNode %s state 0x%X caller 0x%lX filockp 0x%lX seq_num 0x%X uword 0x%llX next 0x%lX\n" $2=nodeaddr_id2name
+TRCID_       0x5092 TRACE_VNODE         "Retry: filockp 0x%lX blocker 0x%lX blocker51 0x%lX blocker52 0x%lX\n"
+TRCID_       0x5093 TRACE_VNODE         "Retry remote: queue sleeper 0x%08lX toNode %s blocker 0x%lX\n" $2=nodeaddr_id2name
+TRCID_       0x5094 TRACE_VNODE         "Retry remote: dequeue sleeper 0x%08lX toNode %s blocker 0x%lX\n" $2=nodeaddr_id2name
+TRCID_       0x5095 TRACE_VNODE         "%d: sleeper %lX next %lX prev %lX caller %lX\n"
+TRCID_       0x5096 TRACE_VNODE         "   toNode %s uword %llX seq_num %X\n" $1=nodeaddr_id2name
+TRCID_       0x5097 TRACE_VNODE         "   blocker %lX retry_fcn %lX (%s)\n"
+TRCID_       0x5098 TRACE_VNODE         "   state %X %s"
+TRCID_       0x5099 TRACE_VNODE         "   type %d whence %d start 0x%llX len %lld\n"
+TRCID_       0x509A TRACE_VNODE         "   sysid %s pid %d vfs %d\n " $1=ipaddr_id2name
+TRCID_       0x509B TRACE_VNODE         "   sysid %s pid %d caller %d\n " $1=ipaddr_id2name
+TRCID_       0x509C TRACE_VNODE         "RLTrace: kxRecLockSleepers head %lX tail %lX\n"
+TRCID_       0x509D TRACE_VNODE         "RLTrace: kxRecLockAcquires head %lX tail %lX\n"
+TRCID_       0x509E TRACE_VNODE         "kxLockCallback exit: rc %d\n"
+TRCID_       0x509F TRACE_VNODE         "kxCommonReclock reclock: inode %d cmd %s retry 0x%X type %s pid %d start 0x%llX len %lld\n"
+TRCID_       0x50A0 TRACE_VNODE         "kxCommonReclock reclock return: inode %d rc 0x%X retry_id 0x%lX type 0x%X\n"
+TRCID_       0x50A1 TRACE_VNODE         "kxCommonReclock exit: rc 0x%X retryid 0x%X rlGnodeP 0x%lX\n"
+TRCID_       0x50A2 TRACE_VNODE         "kxRecLockReset: count %d\n"
+TRCID_       0x50A3 TRACE_VNODE         "SharkRetry enter: lckdat 0x%lX blocker 0x%lX\n"
+TRCID_       0x50A4 TRACE_VNODE         "SharkRetry begin: kxRecLockSleepers 0x%lX\n"
+TRCID_       0x50A5 TRACE_VNODE         "SharkRetry exit: lckdat 0x%lX blocker 0x%lX\n"
+TRCID_       0x50A6 TRACE_VNODE         "kxRetryRecover cleanup: kxRecLockSleepers 0x%lX\n"
+TRCID_       0x50A7 TRACE_VNODE         "kxRetryRecover cleanup: kxRecLockAcquires 0x%lX\n"
+TRCID_       0x50A8 TRACE_VNODE         "kCleanupAcquires: removing NFS lock start 0x%llX len %lld\n"
+TRCID_       0x50A9 TRACE_VNODE         "kCleanupAcquires: NFS removing lock start 0x%llX len %lld (sysid -1)\n"
+TRCID_       0x50AA TRACE_VNODE         "kxSendFlock enter: client 0x%lX sequence 0x%X flags 0x%X lckdat 0x%lX\n"
+TRCID_       0x50AB TRACE_VNODE         "kxSendFlock: client 0x%lX is bad! sequence 0x%X state 0x%X\n"
+TRCID_       0x50AC TRACE_VNODE         "kxSendFlock: sysid 0x%X pid 0x%X start 0x%llX len %lld\n"
+TRCID_       0x50AD TRACE_VNODE         "kxSendFlock retry: driving retry_fcn at 0x%lX for client 0x%lX, l_vfs=%d\n"
+TRCID_       0x50AE TRACE_VNODE         "kxSendFlock retry: driving retry_fcn at 0x%lX for client 0x%lX, l_caller=%d\n"
+TRCID_       0x50AF TRACE_VNODE         "kxSendFlock exit: client 0x%lX sequence 0x%X state 0x%X Qname %d\n"
+TRCID_       0x50B0 TRACE_VNODE         "kxWaitForFlock enter: kxRecLockSleepers 0x%lX client 0x%lX sleeper 0x%lX state 0x%X blocker 0x%lX  WaitForFlockOp %d\n"
+TRCID_       0x50B1 TRACE_VNODE         "kxWaitForFlock exit: client 0x%lX sleeper 0x%lX state 0x%X blocker 0x%lX rc 0x%X\n"
+TRCID_       0x50B2 TRACE_VNODE         "RecLocModuleReset: daemonUp %d, rlHeldByDaemon %d, rlGnodeP 0x%lX\n"
+TRCID_       0x50B3 TRACE_VNODE         "RecLocModuleReset reclock: F_SETLK type F_UNLCK pid 0x%X start 0x%llX len %lld\n"
+TRCID_       0x50B4 TRACE_VNODE         "RecLocModuleReset reclock return: rc 0x%X\n"
+TRCID_       0x50B5 TRACE_VNODE         "RecLocModuleReset exit\n"
+TRCID_       0x50B6 TRACE_VNODE         "RLlockRevoke: hashKey 0x%lX\n"
+TRCID_       0x50B7 TRACE_VNODE         "RLlockRevoke exit: hashKey 0x%lX\n"
+TRCID_       0x50B8 TRACE_VNODE         "kxRLlockRevoke: hashKey 0x%lX\n"
+TRCID_       0x50B9 TRACE_VNODE         "kxRLlockRevoke exit: hashKey 0x%lX, rc %d\n"
+TRCID_       0x50BA TRACE_VNODE         "RLunLockRevoke: hashKey 0x%lX\n"
+TRCID_       0x50BB TRACE_VNODE         "RLunLockRevoke exit: hashKey 0x%lX\n"
+TRCID_       0x50BC TRACE_VNODE         "kxRLunLockRevoke: hashKey 0x%lX\n"
+TRCID_       0x50BD TRACE_VNODE         "kxRLunLockRevoke exit: hashKey 0x%lX\n"
+TRCID_       0x50BE TRACE_TS            "kxSockDequeMultiple: socket_aio_dequeue returns %d into slot %d\n"
+TRCID_       0x50BF TRACE_TS            "kxSockDequeMultiple: returns %d sockets\n"
+TRCID_       0x50C0 TRACE_DFS           "kVfsUseTransition exit: waited %d rc %d\n"
+TRCID_       0x50C1 TRACE_VNODE         "invalidateSnapshot sgName %s which %d\n"
+TRCID_       0x50C2 TRACE_VNODE         "caller's pid 0x%X DaemonPID 0x%X isSuperUser %d\n"
+TRCID_       0x50C3 TRACE_VNODE         "invalidateSnapshot sg %s mountId %d version %d code %d rc %d\n"
+TRCID_       0x50C4 TRACE_VNODE         "kxCleanupStaleNFS rc %d\n"
+TRCID_       0x50C5 TRACE_VNODE         "kxInvalidateOSNode exit: rc %d"
+TRCID_       0x50C6 TRACE_VNODE         "kxUpdateOSNode exit: rc %d"
+TRCID_       0x50C7 TRACE_SHARED        "kxAllocSharedMemory: kBytes %d shared %d kindex %d\n"
+TRCID_       0x50C8 TRACE_SHARED        "kxAllocSharedMemory: code %d rc %d vaddr 0x%lX kBytes %d count %d\n"
+TRCID_       0x50C9 TRACE_SHARED        "kxFreeSharedMemory: kBytes %d vaddr 0x%lX shared %d kindex %d\n"
+TRCID_       0x50CA TRACE_SHARED        "kxFreeSharedMemory: code %d rc %d\n"
+TRCID_       0x50CB TRACE_SHARED        "kxFreeAllSharedMemory: kBytes %d vaddr 0x%lX kindex %d\n"
+TRCID_       0x50CC TRACE_SHARED        "kxAttachSharedMemory: kBytes %d vaddr 0x%lX shared %d kindex %d\n"
+TRCID_       0x50CD TRACE_SHARED        "kxAttachSharedMemory: code %d rc %d kBytes %d vaddr 0x%lX shared %d\n"
+TRCID_       0x50CE TRACE_SHARED        "kxDetachSharedMemory: kBytes %d vaddr 0x%lX shared %d kindex %d\n"
+TRCID_       0x50CF TRACE_SHARED        "kxDetachSharedMemory: code %d rc %d kBytes %d vaddr 0x%lX shared %d\n"
+TRCID_       0x50D0 TRACE_TS            "kxCheckBuildTime: kernel extension built on %s %s, daemon on %s %s rc %d"
+TRCID_       0x50D1 TRACE_VNODE         "GetNFS enter: vP 0x%lX vinfoPP 0x%lX flags 0x%X\n"
+TRCID_       0x50D2 TRACE_VNODE         "GetNFS exit: nfsP 0x%lX vinfoP 0x%lX flags 0x%X refCount now %d\n"
+TRCID_       0x50D3 TRACE_VNODE         "GetNFS exit: nfsP 0x%lX vinfoP 0x%lX flags 0x%X rc %d\n"
+TRCID_       0x50D4 TRACE_VNODE         "ReleaseNFS enter: nfsP 0x%lX vP 0x%lX\n"
+TRCID_       0x50D5 TRACE_VNODE         "ReleaseNFS  nfsP 0x%lX, vP 0x%lX NumNFSDataObjects %d\n"
+TRCID_       0x50D6 TRACE_VNODE         "ReleaseNFS exit: nfsP 0x%lX vP 0x%lX refCount now %d\n"
+TRCID_       0x50D7 TRACE_VNODE         "ReleaseNFS exit: rc %d\n"
+TRCID_       0x50D8 TRACE_VNODE         "CloseNFS enter: nfsP 0x%lX\n"
+TRCID_       0x50D9 TRACE_VNODE         "CloseNFS exit: rc %d\n"
+TRCID_       0x50DA TRACE_VNODE         "kxFindCloseNFS1 entry: oiP 0x%X"
+TRCID_       0x50DB TRACE_VNODE         "kxFindCloseNFS1 search: nfsP->vinfo 0x%X, vinfo.oiP 0x%X"
+TRCID_       0x50DC TRACE_VNODE         "nfsWatchKproc Loop: NFSLRUHead next 0x%X, prev 0x%X, initnumobjects %d\n"
+TRCID_       0x50DD TRACE_VNODE         "nfsWatchKproc remove entry 0x%X, next 0x%X, prev 0x%X"
+TRCID_       0x50DE TRACE_VNODE         "nfsWatchKproc: nfsP 0x%lX refCount %d\n"
+TRCID_       0x50DF TRACE_VNODE         "nfsWatchKproc:  NumNFSDataObjects %d --> %d nTried %d nHaveRefs %d nTooManyOpen %d nTimedOut %d recentNfsP 0x%lX\n"
+TRCID_       0x50E0 TRACE_VNODE         "NFS watchdog exitting\n"
+TRCID_       0x50E1 TRACE_VNODE         "nfsWatchKprocInit exit: rc %d pid %d\n"
+TRCID_       0x50E2 TRACE_VNODE         "KillNFSWatchKproc: enter pid %d\n"
+TRCID_       0x50E3 TRACE_VNODE         "KillNFSWatchKproc: exit pid %d\n"
+TRCID_       0x50E4 TRACE_VNODE         "NFSWatchKprocWait: waiting for delayed NFS closes\n"
+TRCID_       0x50E5 TRACE_VNODE         "NFSWatchKprocWait: returning after delayed NFS closes\n"
+TRCID_       0x50E6 TRACE_VNODE         "CleanupNFS: NumNFSDataObjects %d\n"
+TRCID_       0x50E7 TRACE_VNODE         "CleanupNFS: nfsP 0x%lX refCount %d oiP 0x%lX\n"
+TRCID_       0x50E8 TRACE_VNODE         "CleanupNFS: NumNFSDataObjects %d --> %d nTried %d nClosed %d\n"
+TRCID_       0x50E9 TRACE_VNODE         "CloseNFSnow entry: vP 0x%X"
+TRCID_       0x50EA TRACE_VNODE         "CloseNFSnow  nfsP->vinfo 0x%X, vinfo.oiP 0x%X nfsP->refCount %d\n"
+TRCID_       0x50EB TRACE_LOCK          "need copyInodeToPrevSnapshot: inodeCopied %d dataCopied %d dataMod %d maxSnapId %d"
+TRCID_       0x50EC TRACE_LOCK          "lockFileHeldM: sending fetch msg to daemon (ofP=%lX)"
+TRCID_       0x50ED TRACE_KSVFS         "lockFileHeld exit: rc %d\n"
+TRCID_       0x50EE TRACE_LOCK          "lockFile: inode %d snap %d lm %s\n" $3=lockmode_id2name
+TRCID_       0x50EF TRACE_LOCK          "lockFile: sending dmapi fetch msg to daemon (ofP=%lX)"
+TRCID_       0x50F0 TRACE_LOCK          "lockFile: finished, returning %d\n"
+TRCID_       0x50F1 TRACE_LOCK          "lockFile2: inode %d snap %d lmPref %s lmReq %s\n" $3=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x50F2 TRACE_LOCK          "lockFile: sending dmapi fetch msg to daemon (ofP=%lX)"
+TRCID_       0x50F3 TRACE_LOCK          "tokensPermit: lm: inode %s dmapi %s, tkn: inode %d dmapi %d" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x50F4 TRACE_KSVFS         "lockBuffer: locking block %lld inode %d seekPos 0x%llX bytes %d\n"
+TRCID_       0x50F5 TRACE_KSVFS         "lockBuffer: bytes %d bufPos 0x%llX bufBytes %d blkOff %d bufOff %d initLen %d bufOK %d\n"
+TRCID_       0x50F6 TRACE_KSVFS         "lockBuffer: initialized offset 0x%llX assignedOK %d have %d subblocks need %d bufOK %d\n"
+TRCID_       0x50F7 TRACE_KSVFS         "lockBuffer: buffer contents OK, bufDesc->dataBufP 0x%lX, bufDataP 0x%lX\n"
+TRCID_       0x50F8 TRACE_KSVFS         "lockBuffer: buffer either stolen or too small, dataValid %d, dataBufP %lX\n"
+TRCID_       0x50F9 TRACE_KSVFS         "lockBuffer: (failed) buffer stolen, dataValid %d, dataBufP %lX\n"
+TRCID_       0x50FA TRACE_KSVFS         "lockBuffer: (failed) assigned %d have %d subblocks need %d\n"
+TRCID_       0x50FB TRACE_KSVFS         "lockBuffer: bdP 0x%lX zeroing offset %d len %d initData %d\n"
+TRCID_       0x50FC TRACE_KSVFS         "lockBuffer exit: reqType %d code %d rc %d\n"
+TRCID_       0x50FD TRACE_KSVFS         "kSFSRdWr: kSFSRdWr is not permitted to modify quota files\n"
+TRCID_       0x50FE TRACE_KSVFS         "kSFSRdWr: read buffer %s and byte range locks %s\n" $1=lockmode_id2name $2=brmode_id2name
+TRCID_       0x50FF TRACE_KSVFS         "kSFSRdWr: fslimit 0x%llX\n"
+TRCID_       0x5100 TRACE_VNOP          "READ: gnP 0x%lX inode %d snap %d oiP 0x%lX offset 0x%llX len %ld blkSize %d opt %X\n"
+TRCID_       0x5101 TRACE_VNOP          "WRITE: gnP 0x%lX inode %d snap %d oiP 0x%lX offset 0x%llX len %ld blkSize %d opt %X\n"
+TRCID_       0x5102 TRACE_KSVFS         "kSFSRdWr: Append fileOffset 0x%llX\n"
+TRCID_       0x5103 TRACE_KSVFS         "kSFSRdWr: file size 0x%llX maxBlock %lld lastBlockLen %d getFragmentSubblocks %d new offset 0x%llX new blocknum %lld\n"
+TRCID_       0x5104 TRACE_VNOP          "READ: gnP 0x%lX inode %d snap %d oiP 0x%lX offset 0x%llX len %ld blkSize %d opt %X\n"
+TRCID_       0x5105 TRACE_VNOP          "WRITE: gnP 0x%lX inode %d snap %d oiP 0x%lX offset 0x%llX len %ld blkSize %d opt %X\n"
+TRCID_       0x5106 TRACE_KSVFS         "kSFSRdWr: releasing vinfo lock to allow DIO\n"
+TRCID_       0x5107 TRACE_KSVFS         "kSFSRdWr: DIO updating file size to 0x%llX, lastDataBlock %lld"
+TRCID_       0x5108 TRACE_KSVFS         "kSFSRdWr: releasing vinfo lock to allow parallel random access\n"
+TRCID_       0x5109 TRACE_KSVFS         "kSFSRdWr: extending fetch from %d to %d due to fetchHint %d\n"
+TRCID_       0x510A TRACE_KSVFS         "kSFSRdWr: lock block %lld bytes %d blockOff %d\n"
+TRCID_       0x510B TRACE_KSVFS         "kSFSRdWr: oiP 0x%lX offset 0x%llX dataBufP %lX buf %lX valid len %d offset %d+%d init len %d\n"
+TRCID_       0x510C TRACE_KSVFS         "kSFSRdWr: cxiUXfer error %d, isRead %d, addr 0x%lX, len %d\n"
+TRCID_       0x510D TRACE_KSVFS         "kSFSRdWr: page overlaps EOF, new offset 0x%llX"
+TRCID_       0x510E TRACE_KSVFS         "kSFSRdWr: updating file size to 0x%llX, lastDataBlock %lld"
+TRCID_       0x510F TRACE_KSVFS         "kSFSRdWr: updating initialized data length to %d\n"
+TRCID_       0x5110 TRACE_KSVFS         "kSFSRdWr: uio_resid %ld\n"
+TRCID_       0x5111 TRACE_KSVFS         "kSFSRdWr exit: isRead %d code %d rc %d\n"
+TRCID_       0x5112 TRACE_LOCK          "hash obj wait_lock_vfs: type %s key %08X:%08X:%08X:%08X" $1=objtype_id2name
+TRCID_       0x5113 TRACE_LOCK          "  lock_mode have %s want %s status %s token %s lock_state %s%s x %s%s" $1=lockmode_id2name $2=lockmode_id2name $3=objstatus_id2name $4=lockmode_id2name $5=lockstateHigh_id2name $6=lockstateLow_id2name $7=lockstateHigh_id2name $8=lockstateLow_id2name
+TRCID_       0x5114 TRACE_LOCK          "hash obj wait_lock_vfs: wait failed, rc=%d\n"
+TRCID_       0x5115 TRACE_LOCK          "hash obj wake_lock_vfs: type %s key %08X:%08X:%08X:%08X" $1=objtype_id2name
+TRCID_       0x5116 TRACE_LOCK          "  status %s token_mode %s lock_state %s%s\n" $1=objstatus_id2name $2=lockmode_id2name $3=lockstateHigh_id2name $4=lockstateLow_id2name
+TRCID_       0x5117 TRACE_LOCK          "hash tab lookup vfs: class %s, key %08X:%08X:%08X:%08X flags 0x%X\n" $1=objclass_id2name
+TRCID_       0x5118 TRACE_LOCK          "hash tab lookup vfs: found cP 0x%lX holdCount now %d"
+TRCID_       0x5119 TRACE_LOCK          "hash tab lookup vfs: found compacted 0x%lX"
+TRCID_       0x511B TRACE_LOCK          "hash tab lookup vfs: not found, rc=%d\n"
+TRCID_       0x511C TRACE_LOCK          "hash tab lookup vfs: sending lookup msg to shark"
+TRCID_       0x511D TRACE_LOCK          "hash tab lookup vfs: lookup msg failed, rc=%d\n"
+TRCID_       0x511E TRACE_LOCK          "hash tab lookup vfs: new object cP 0x%lX holdCount now %d"
+TRCID_       0x511F TRACE_LOCK          "hash tab lookup: insert error %d\n"
+TRCID_       0x5120 TRACE_LOCK          "hash add hold: class %s cP 0x%lX initial holdCount %d\n" $1=objclass_id2name
+TRCID_       0x5121 TRACE_LOCK          "hash release hold: class %s cP 0x%lX flags 0x%08X initial holdCount %d\n" $1=objclass_id2name
+TRCID_       0x5122 TRACE_LOCK          "hash release hold: cP 0x%lX, holdCount now %d\n"
+TRCID_       0x5123 TRACE_LOCK          "modify_lock_vfs: returning E_WOULDBLOCK\n"
+TRCID_       0x5124 TRACE_LOCK          "modify_lock_vfs: setting xlock_state %s%s (waitLoopCount %d)" $1=lockstateHigh_id2name $2=lockstateLow_id2name
+TRCID_       0x5125 TRACE_LOCK          "modify_lock_vfs: lock_state old %s%s new %s%s" $1=lockstateHigh_id2name $2=lockstateLow_id2name $3=lockstateHigh_id2name $4=lockstateLow_id2name
+TRCID_       0x5126 TRACE_LOCK          "change_lock_vfs: type %s key %08X:%08X:%08X:%08X lock_mode have %s want %s status %s xnew_token %s lock_state %s%s flags 0x%X\n" $1=objtype_id2name $6=lockmode_id2name $7=lockmode_id2name $8=objstatus_id2name $9=lockmode_id2name $10=lockstateHigh_id2name $11=lockstateLow_id2name
+TRCID_       0x5127 TRACE_LOCK          "change_lock_vfs: modify_lock 1 failed (rc %d)\n"
+TRCID_       0x5128 TRACE_LOCK          "change_lock_vfs: modify_lock 2 failed (rc %d)\n"
+TRCID_       0x5129 TRACE_LOCK          "change_lock_vfs: returning %d\n"
+TRCID_       0x512A TRACE_LOCK          "lock_vfs: type %s key %08X:%08X:%08X:%08X lock_mode want %s status %s token %s/%s lock_state %s%s flags 0x%X\n" $1=objtype_id2name $6=lockmode_id2name $7=objstatus_id2name $8=lockmode_id2name $9=lockmode_id2name $10=lockstateHigh_id2name $11=lockstateLow_id2name
+TRCID_       0x512B TRACE_LOCK          "lock_vfs: setting xlock_state %s%s (waitLoopCount %d)" $1=lockstateHigh_id2name $2=lockstateLow_id2name
+TRCID_       0x512C TRACE_LOCK          "lock_vfs: lock_state old %s%s new %s%s\n" $1=lockstateHigh_id2name $2=lockstateLow_id2name $3=lockstateHigh_id2name $4=lockstateLow_id2name
+TRCID_       0x512D TRACE_LOCK          "lock_vfs: cP 0x%lX holdCount now %d"
+TRCID_       0x512E TRACE_LOCK          "lock_vfs: invalid or insufficient token: returning %d\n"
+TRCID_       0x512F TRACE_LOCK          "lock_vfs_v: type %s key %08X:%08X:%08X:%08X lock_mode want %s status %s token %s/%s lock_state %s%s flags 0x%X\n" $1=objtype_id2name $6=lockmode_id2name $7=objstatus_id2name $8=lockmode_id2name $9=lockmode_id2name $10=lockstateHigh_id2name $11=lockstateLow_id2name
+TRCID_       0x5130 TRACE_LOCK          "lock_vfs_v: setting xlock_state %s%s (waitLoopCount %d)" $1=lockstateHigh_id2name $2=lockstateLow_id2name
+TRCID_       0x5131 TRACE_LOCK          "lock_vfs_v: lock_state old %s%s new %s%s\n" $1=lockstateHigh_id2name $2=lockstateLow_id2name $3=lockstateHigh_id2name $4=lockstateLow_id2name
+TRCID_       0x5132 TRACE_LOCK          "lock_vfs_v: cP 0x%lX holdCount now %d"
+TRCID_       0x5133 TRACE_LOCK          "lock_vfs_v: invalid or insufficient token: returning %d\n"
+TRCID_       0x5134 TRACE_SMB           "SMBlock_fetch_vfs entry: mode %s, ASD %d, async %d" $1=lockmode_id2name
+TRCID_       0x5135 TRACE_SMB           "   sending SMB fetch msg to daemon (ofP=%lX)"
+TRCID_       0x5136 TRACE_SMB           "SMBlock_fetch_vfs_m error return from fetch: %d"
+TRCID_       0x5137 TRACE_SMB           "  SMBlock_fetch: OpenInst 0x%x isNFS %d NFS4access 0x%X %s lm_add 0x%X %s\n" $4=lockmode_id2name $6=lockmode_id2name
+TRCID_       0x5138 TRACE_SMB           "  SMBlock_fetch exit OpenInst 0x%x counts A:(%d,%d,%d) D:(%d,%d,%d) ASD(%d), holdCount %d"
+TRCID_       0x5139 TRACE_SMB           "SMBlock_vfs_m: type %s key %08X:%08X:%08X:%08X cP 0x%lX holdCount %d" $1=objtype_id2name
+TRCID_       0x513A TRACE_SMB           "       lock_mode: want %s status %s token %s/%s" $1=lockmode_id2name $2=objstatus_id2name $3=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x513B TRACE_SMB           "SMBlock_vfs_m: lm_add 0x%X %s conflicts with 0x%X %s\n" $2=lockmode_id2name $4=lockmode_id2name
+TRCID_       0x513C TRACE_SMB           "SMBlock_vfs_m: NFS4access 0x%X %s (r %d m %d a %d dr %d dm %d da %d)\n" $2=lockmode_id2name
+TRCID_       0x513D TRACE_SMB           "SMBlock_vfs_m: realSMBlockmode 0x%X %s\n"
+TRCID_       0x513E TRACE_SMB           "SMBlock_vfs_m: SMB lock not available. Wanted: %s, SMBlockmode: %s" $1=lockmode_id2name $2=lockmode_id2name
+TRCID_       0x513F TRACE_SMB           "    Counts A:(%d,%d,%d) D:(%d,%d,%d)"
+TRCID_       0x5140 TRACE_SMB           "SMBlock_vfs_m Scanning for NFS: oiP 0x%x, isNFS %d, readCount %d, writeCounts %d"
+TRCID_       0x5141 TRACE_SMB           "SMBlock_vfs_m Calling FindCloseNFS"
+TRCID_       0x5142 TRACE_SMB           "SMBlock_vfs: invalid or insufficient token: returning %d\n"
+TRCID_       0x5143 TRACE_LOCK          "downgrade_lock_vfs: type %s, key %08X:%08X:%08X:%08X lock_mode have %s want %s status %s token %s lock_state old %s%s" $1=objtype_id2name $6=lockmode_id2name $7=lockmode_id2name $8=objstatus_id2name $9=lockmode_id2name $10=lockstateHigh_id2name $11=lockstateLow_id2name
+TRCID_       0x5144 TRACE_LOCK          "  lock_mode have %s want %s status %s token %s lock_state old %s%s new %s%s addr 0x%lX" $1=lockmode_id2name $2=lockmode_id2name $3=objstatus_id2name $4=lockmode_id2name $5=lockstateHigh_id2name $6=lockstateLow_id2name $7=lockstateHigh_id2name $8=lockstateLow_id2name
+TRCID_       0x5145 TRACE_LOCK          "unlock_vfs: type %s, key %08X:%08X:%08X:%08X lock_mode have %s status %s token %s lock_state old %s%s new %s%s" $1=objtype_id2name $6=lockmode_id2name $7=objstatus_id2name $8=lockmode_id2name $9=lockstateHigh_id2name $10=lockstateLow_id2name $11=lockstateHigh_id2name $12=lockstateLow_id2name
+TRCID_       0x5146 TRACE_LOCK          "unlock_vfs: cP 0x%lX holdCount now %d"
+TRCID_       0x5147 TRACE_LOCK          "unlock_vfs_m: type %s, key %08X:%08X:%08X:%08X lock_mode have %s status %s token %s lock_state old %s%s new %s%s" $1=objtype_id2name $6=lockmode_id2name $7=objstatus_id2name $8=lockmode_id2name $9=lockstateHigh_id2name $10=lockstateLow_id2name $11=lockstateHigh_id2name $12=lockstateLow_id2name
+TRCID_       0x5148 TRACE_LOCK          "unlock_vfs_m: cP 0x%lX holdCount %d"
+TRCID_       0x5149 TRACE_SMB           "SMBunlock_lock_vfs_m: type %s, key %08X:%08X:%08X:%08X, ASD: %d, holdCount:%d" $1=objtype_id2name
+TRCID_       0x514A TRACE_SMB           "Failed test for holding lock to be released. Hold: 0x%x, rel: 0x%x"
+TRCID_       0x514B TRACE_SMB           " SMBunlock_vfs_m: OpenInst 0x%x isNFS %d NFS4access 0x%X %s lm_rel 0x%X %s\n" $6=lockmode_id2name
+TRCID_       0x514C TRACE_SMB           "OpenInstance 0x%x Counts A:(%d,%d,%d) D:(%d,%d,%d) ASD(%d)"
+TRCID_       0x514D TRACE_SMB           "SMBunlock_vfs_m exit: cP 0x%lX holdCount %d"
+TRCID_       0x514E TRACE_LOCK          "kShHashLookup enter: obj_class %s obj_id %08X:%08X:%08X:%08X\n" $1=objclass_id2name
+TRCID_       0x514F TRACE_LOCK          "kShHashLookup exit: obj 0x%lX code %d rc %d\n"
+TRCID_       0x5150 TRACE_LOCK          "kShHashRelease enter: obj_id %08X:%08X:%08X:%08X holdCount %d"
+TRCID_       0x5151 TRACE_LOCK          "kShHashRelease exit: code %d rc %d\n"
+TRCID_       0x5152 TRACE_LOCK          "kShHashFetch enter: obj_type %d obj_id %08X:%08X:%08X:%08X async %d\n"
+TRCID_       0x5153 TRACE_LOCK          "kShHashFetch exit: code %d rc %d\n"
+TRCID_       0x5154 TRACE_LOCK          "kShHashAcquireToken enter: obj_type %d obj_id %08X:%08X:%08X:%08X async %d\n"
+TRCID_       0x5155 TRACE_LOCK          "kShHashAcquireToken exit: code %d rc %d\n"
+TRCID_       0x5156 TRACE_DISK          "kxEnableIO: changing ioEnabled from %d to %d\n"
+TRCID_       0x5157 TRACE_DISK          "FinishIO: %s disk %08lX sector %d nBytes 0x%X err %d\n" $1=diskop_id2name
+TRCID_       0x5158 TRACE_IO            "kxStartIO: IO to disk %08lX da %d:%lld nSectors %d returned residual count %d but no error. Changing to EIO\n"
+TRCID_       0x5159 TRACE_IO            "FIO: %s %s tag %d %lld buf 0x%08lX disk %08lX da %d:%lld nSectors %d err %d resid %d\n" $1=diskop_id2name $2=BufferType_id2name
+TRCID_       0x515A TRACE_DISK          "FinishIO: bad event word 0x%X at 0x%lX\n"
+TRCID_       0x515B TRACE_IO            "kxAwaitIOCompletion exit: ioP 0x%lX doioP 0x%lX err %d\n"
+TRCID_       0x515C TRACE_IO            "kxQueueCompletedIO exit: doioP 0x%lX ioP 0x%lX err %d\n"
+TRCID_       0x515D TRACE_IO            "SIO: buf 0x%08lX disk %08lX da %d:%lld nbufs %d\n"
+TRCID_       0x515E TRACE_IO            "kxStartIO exit: err %d\n"
+TRCID_       0x515F TRACE_DISK          "kxEnableIO: changing ioEnabled from %d to %d\n"
+TRCID_       0x5160 TRACE_IO            "kxAwaitIOCompletion exit: ioP 0x%lX doioP 0x%lX err %d\n"
+TRCID_       0x5161 TRACE_IO            "kxQueueCompletedIO exit: doioP 0x%lX ioP 0x%lX err %d\n"
+TRCID_       0x5162 TRACE_IO            "SIO: buf 0x%08lX disk %08lX da %d:%lld\n"
+TRCID_       0x5163 TRACE_IO            "kxStartIO: IO to disk %08lX da %d:%lld nSectors %d returned residual count %d but no error. Changing to EIO\n"
+TRCID_       0x5164 TRACE_IO            "FIO: %s %s tag %d %lld buf 0x%08lX disk %08lX da %d:%lld nSectors %d err %d resid %d\n" $1=diskop_id2name $2=BufferType_id2name
+TRCID_       0x5165 TRACE_IO            "kxStartIO exit: err %d\n"
+TRCID_       0x5166 TRACE_IO            "kxGetDiskInfo exit: err %d\n"
+TRCID_       0x5167 TRACE_KSVFS         "HoldDaemonSeg: count %d segStatus %d err %d"
+TRCID_       0x5168 TRACE_KSVFS         "HoldDaemonSeg: wait for MB use, Users %d\n"
+TRCID_       0x5169 TRACE_TS            "HoldDaemonSeg: wait for quiesce, vfsUsers %d qUsers %d\n"
+TRCID_       0x516A TRACE_TS            "HoldDaemonSeg: resume after quiesce, vfsUsers %d Users %d\n"
+TRCID_       0x516B TRACE_KSVFS         "HoldDaemonSegAndSG: count %d segStatus %d privVfsP 0x%lX sgP 0x%lX err %d"
+TRCID_       0x516C TRACE_KSVFS         "HoldDaemonSegAndSGNonBlock: count %d segStatus %d privVfsP 0x%lX sgP 0x%lX err %d"
+TRCID_       0x516D TRACE_KSVFS         "ReleaseDaemonSeg: count %d\n"
+TRCID_       0x516E TRACE_TS            "ReleaseDaemonSeg: quiesced %d vfsUsers %d qUsers %d allThreads %d\n"
+TRCID_       0x516F TRACE_TS            "ReleaseDaemonSeg: restart quiesce command, Users %d\n"
+TRCID_       0x5170 TRACE_KSVFS         "ReleaseDaemonSeg: count %d\n"
+TRCID_       0x5171 TRACE_KSVFS         "MapDaemonSeg: segStatus %d, SharedSegmentBase 0x%lX\n"
+TRCID_       0x5172 TRACE_KSVFS         "UnMapDaemonSeg\n"
+TRCID_       0x5173 TRACE_KSVFS         "kSFSOpen enter: genNum %u inodeNum %d snapId %d rwflag 0x%lX\n"
+TRCID_       0x5174 TRACE_KSVFS         "kSFSOpen: oiP 0x%lX\n"
+TRCID_       0x5175 TRACE_KSVFS         "kSFSOpen exit: code %d rc %d\n"
+TRCID_       0x5176 TRACE_KSVFS         "kSFSInodeDelete enter: genNum %u inodeNum %d snapId %d isGPFS %d\n"
+TRCID_       0x5177 TRACE_KSVFS         "kSFSInodeDelete exit: code %d rc %d\n"
+TRCID_       0x5178 TRACE_KSVFS         "kSFSGetInodeBlock enter: snapId %d blockNo %lld\n"
+TRCID_       0x5179 TRACE_KSVFS         "kSFSGetInodeBlock exit: code %d rc %d\n"
+TRCID_       0x517A TRACE_KSVFS         "kSFSFreeInodeBlock enter: bufP 0x%lX\n"
+TRCID_       0x517B TRACE_KSVFS         "kSFSFreeInodeBlock exit: code %d rc %d\n"
+TRCID_       0x517C TRACE_KSVFS         "kSFSClose enter: oiP 0x%lX\n"
+TRCID_       0x517D TRACE_KSVFS         "kSFSClose exit: code %d rc %d\n"
+TRCID_       0x517E TRACE_KSVFS         "kSFSCreate enter: rwflag 0x%X dirInodeNum %d ofPP 0x%X oiPP 0x%X name '%s'"
+TRCID_       0x517F TRACE_KSVFS         "kSFSCreate: new file inodeNum %d ofP 0x%lX oiP 0x%lX"
+TRCID_       0x5180 TRACE_KSVFS         "kSFSCreate exit: code %d rc %d\n"
+TRCID_       0x5181 TRACE_KSVFS         "kSFSCreateMix enter: rwflag 0x%X dirInodeNum %d inode %d\n"
+TRCID_       0x5182 TRACE_KSVFS         "kSFSCreateMix: file inodeNum %d gen 0x%lX\n"
+TRCID_       0x5183 TRACE_KSVFS         "kSFSCreateMix exit: code %d rc %d\n"
+TRCID_       0x5184 TRACE_KSVFS         "kSFSLink enter: dirInodeNum %d new link genNum %u inodeNum %d name %s\n"
+TRCID_       0x5185 TRACE_KSVFS         "kSFSLink exit: code %d rc %d\n"
+TRCID_       0x5186 TRACE_KSVFS         "kSFSMkdir enter: dirInodeNum %d ofPP 0x%X mode 0x%X umask 0x%X name '%s'"
+TRCID_       0x5187 TRACE_KSVFS         "kSFSMkdir exit: code %d rc %d\n"
+TRCID_       0x5188 TRACE_KSVFS         "kSFSRmdir enter: dirGenNum %u dirInodeNum %d name %s\n"
+TRCID_       0x5189 TRACE_KSVFS         "kSFSRmdir exit: code %d rc %d\n"
+TRCID_       0x518A TRACE_KSVFS         "kSFSRename enter: srcDirInode %d destDirInode %d name %s\n"
+TRCID_       0x518B TRACE_KSVFS         "kSFSRename exit: code %d rc %d\n"
+TRCID_       0x518C TRACE_KSVFS         "kSFSRemove enter: dirGenNum %u dirInodeNum %d name %s\n"
+TRCID_       0x518D TRACE_KSVFS         "kSFSRemove enter: dirGenNum %u dirInodeNum %d name %s myOplock %d"
+TRCID_       0x518E TRACE_KSVFS         "kSFSRemove exit: code %d rc %d\n"
+TRCID_       0x518F TRACE_KSVFS         "kSFSSymlink enter: dirInodeNum %d ofPP 0x%X name '%s'"
+TRCID_       0x5190 TRACE_KSVFS         "kSFSSymlink exit: code %d rc %d\n"
+TRCID_       0x5191 TRACE_FS            "IPI::inodeUsed: @%d resuming (curBlock %d nFetched %d nUsed %d)"
+TRCID_       0x5192 TRACE_KSVFS         "kSFSGetattr enter: sgP 0x%lX genNum %u inodeNum %d snapId %d flags 0x%X\n"
+TRCID_       0x5193 TRACE_KSVFS         "kSFSGetattr exit: va_size %d va_serialno 0x%X inodeNum %d rc %d\n"
+TRCID_       0x5194 TRACE_KSVFS         "FileMetadata::stat serial 0x%X gen 0x%X size %lld blocks %d mode 0x%X type 0x%X\n"
+TRCID_       0x5195 TRACE_KSVFS         "CompactOpenFile::stat serial 0x%X size %lld blocks %d\n"
+TRCID_       0x5196 TRACE_KSVFS         "kSFSSettime enter: sgP 0x%lX genNum 0x%X inodeNum %d snapId %d cmd 0x%X atime %d mtime %d ctime %d\n"
+TRCID_       0x5197 TRACE_VNODE         "kSFSSettime: access denied rc=%d"
+TRCID_       0x5198 TRACE_VNODE         "kSFSSettime: access denied rc %d"
+TRCID_       0x5199 TRACE_VNODE         "kSFSSettime: access denied for V_STIME, rc %d"
+TRCID_       0x519A TRACE_KSVFS         "kSFSSettime exit: code %d rc %d\n"
+TRCID_       0x519B TRACE_KSVFS         "kSFSSetBuffs enter: oiP 0x%lX numBuffs %d rwflag 0x%X\n"
+TRCID_       0x519C TRACE_KSVFS         "kSFSSetBuffs exit: code %d rc %d\n"
+TRCID_       0x519D TRACE_KSVFS         "kSFSFtrunc enter: oiP 0x%lX rwflag 0x%X length %d\n"
+TRCID_       0x519E TRACE_KSVFS         "kSFSFtrunc exit: code %d rc %d\n"
+TRCID_       0x519F TRACE_KSVFS         "kSFSGetFAttr enter: inodeNum %d snapId %d cmd %d\n"
+TRCID_       0x51A0 TRACE_KSVFS         "kSFSGetFAttr GET_REPL data %d %d meta %d %d flags 0x%X"
+TRCID_       0x51A1 TRACE_KSVFS         "kSFSGetFAttr nameLen %d (max %d) name %s"
+TRCID_       0x51A2 TRACE_KSVFS         "kSFSGetFAttr exit: rc %d\n"
+TRCID_       0x51A3 TRACE_KSVFS         "kSFSSetFAttr enter: oiP 0x%lX cmd %d args %d %d namLen %d rCodeP 0x%lX"
+TRCID_       0x51A4 TRACE_KSVFS         "kSFSSetFAttr exit: code %d rc %d reason %d values %d %d"
+TRCID_       0x51A5 TRACE_KSVFS         "kSFSFsync enter: sgP 0x%lX inodeNum %d\n"
+TRCID_       0x51A6 TRACE_VNOP          "FSYNC: inode %d range 0x%llX-0x%llX flushOptions 0x%lX\n"
+TRCID_       0x51A7 TRACE_KSVFS         "kSFSFsync exit: code %d rc %d\n"
+TRCID_       0x51A8 TRACE_KSVFS         "kSFSFclear enter: oiP 0x%lX rwflag 0x%X offset 0x%llX length 0x%llX\n"
+TRCID_       0x51A9 TRACE_KSVFS         "kSFSFclear exit: code %d rc %d\n"
+TRCID_       0x51AA TRACE_KSVFS         "kSFSPreAlloc enter: oiP 0x%lX rwflag 0x%X offset %d length %d\n"
+TRCID_       0x51AB TRACE_KSVFS         "kSFSPreAlloc exit: code %d rc %d\n"
+TRCID_       0x51AC TRACE_KSVFS         "kSFSSyncFS enter: completeSync %d mountId %d\n"
+TRCID_       0x51AD TRACE_KSVFS         "kSFSSyncFS exit: code %d err %d\n"
+TRCID_       0x51AE TRACE_KSVFS         "kSFSSyncOneFS enter:\n"
+TRCID_       0x51AF TRACE_KSVFS         "kSFSSyncOneFS exit: code %d rc %d\n"
+TRCID_       0x51B0 TRACE_KSVFS         "kSFSUpdateMtime enter: inode %d mtime: %d.%09d atime: %d.%09d\n"
+TRCID_       0x51B1 TRACE_KSVFS         "kSFSUpdateMtime exit: inode %d mtime: %d.%09d atime: %d.%09d code %d rc %d\n"
+TRCID_       0x51B2 TRACE_KSVFS         "kSFSMount enter: msgType %d vfsNum %d readonly %d helper %d devname '%s' options '%s'\n"
+TRCID_       0x51B3 TRACE_KSVFS         "kSFSMount exit: code %d rc %d\n"
+TRCID_       0x51B4 TRACE_KSVFS         "kSFSUnmount enter: vfsNum %d force %d\n"
+TRCID_       0x51B5 TRACE_KSVFS         "kSFSUnmount exit: code %d rc %d\n"
+TRCID_       0x51B6 TRACE_KSVFS         "kSFSAcquireFcntlBRT enter: req_mode %s range %lld-%lld flags 0x%4x" $1=brmode_id2name
+TRCID_       0x51B7 TRACE_TSTM          "          UserData: 0x%08X %08X %08X %08X \n"
+TRCID_       0x51B8 TRACE_KSVFS         "kSFSAcquireFcntlBRT exit: code %d rc %d err_no %d err %d gotMode %s" $5=brmode_id2name
+TRCID_       0x51B9 TRACE_KSVFS         "kSFSAcquireBRT enter: ofP 0x%lX lm 0x%lX"
+TRCID_       0x51BA TRACE_KSVFS         "kSFSAcquireBRT exit: code %d rc %d\n"
+TRCID_       0x51BB TRACE_KSVFS         "kSFSReleaseBRT enter: ofP 0x%lX start 0x%llX end 0x%llX"
+TRCID_       0x51BC TRACE_KSVFS         "kSFSReleaseBRT exit: code %d rc %d\n"
+TRCID_       0x51BD TRACE_KSVFS         "kSFSExpandLastBlock enter: oiP 0x%lX block %lld\n"
+TRCID_       0x51BE TRACE_KSVFS         "kSFSExpandLastBlock exit: code %d rc %d\n"
+TRCID_       0x51BF TRACE_KSVFS         "kSFSNULL enter:\n"
+TRCID_       0x51C0 TRACE_KSVFS         "kSFSNull exit: code %d rc %d\n"
+TRCID_       0x51C1 TRACE_KSVFS         "kSFSPutACL enter: inodeNum %d aclptr 0x%lX\n"
+TRCID_       0x51C2 TRACE_KSVFS         "kSFSPutACL exit: code %d rc %d\n"
+TRCID_       0x51C3 TRACE_KSVFS         "kSFSSetXAttr enter: inodeNum %d appId %d nattrs %d force %d\n"
+TRCID_       0x51C4 TRACE_KSVFS         "kSFSSetXAttr exit: code %d rc %d\n"
+TRCID_       0x51C5 TRACE_KSVFS         "kSFSRemoteRetry enter: sleeper 0x%lX\n"
+TRCID_       0x51C6 TRACE_KSVFS         "kSFSRemoteRetry exit: sleeper 0x%lX rc %d\n"
+TRCID_       0x51C7 TRACE_KSVFS         "kSFSDio enter: ofP 0x%lX dioOp %d\n"
+TRCID_       0x51C8 TRACE_KSVFS         "kSFSDio exit: code %d err %d bytesProcessed %d\n"
+TRCID_       0x51C9 TRACE_KSVFS         "kSFSTossBuffers enter: ofP 0x%lX\n"
+TRCID_       0x51CA TRACE_KSVFS         "kSFSTossBuffers exit: code %d rc %d\n"
+TRCID_       0x51CB TRACE_KSVFS         "kSFSRetrieveDiskAddr enter: ofP 0x%lX\n"
+TRCID_       0x51CC TRACE_KSVFS         "kSFSRetrieveDiskAddr exit: code %d rc %d\n"
+TRCID_       0x51CD TRACE_KSVFS         "Kernel logGenIF enter: line %d rc %d reason %d file %s\n"
+TRCID_       0x51CE TRACE_KSVFS         "Kernel logGenIF exit: code %d rc %d\n"
+TRCID_       0x51CF TRACE_KSVFS         "kSFSReduceMemoryUse enter:\n"
+TRCID_       0x51D0 TRACE_KSVFS         "kSFSReduceMemoryUse exit: code %d rc %d\n"
+TRCID_       0x51D1 TRACE_VNODE         "kSFSQuotactl enter\n"
+TRCID_       0x51D2 TRACE_VNODE         "kSFSQuotactl at 1\n"
+TRCID_       0x51D3 TRACE_VNODE         "kSFSQuotactl rc  mbP->err %d\n"
+TRCID_       0x51D4 TRACE_VNODE         "kSFSQuotactl code %d, rc %d\n"
+TRCID_       0x51D5 TRACE_KSVFS         "Kernel LOGSPECIFIC enter: templateid %d\n"
+TRCID_       0x51D6 TRACE_KSVFS         "Kernel LOGSPECIFIC exit: code %d rc %d\n"
+TRCID_       0x51D7 TRACE_ERRLOG        "logAssertFailed: %s retCode %d reasonCode %d\n"
+TRCID_       0x51D8 TRACE_ERRLOG        "logAssertFailed: file %s line %d\n"
+TRCID_       0x51D9 TRACE_KSVFS         "kSFSGetSnapDirMinSnapId enter: sgP 0x%lX inode %d snap %d"
+TRCID_       0x51DA TRACE_KSVFS         "kSFSGetSnapDirMinSnapId exit: err %d minSnapId %d"
+TRCID_       0x51DB TRACE_KSVFS         "kSFSCopyDataOnWrite enter: sgP 0x%lX inode %d snap %d range %lld %lld \n"
+TRCID_       0x51DC TRACE_KSVFS         "kSFSCopyDataOnWrite exit: code %d rc %d\n"
+TRCID_       0x51DD TRACE_KSVFS         "kSFSIReadX enter: sg %s inode %d snap %d prev %d off %lld end %lld\n"
+TRCID_       0x51DE TRACE_KSVFS         "kSFSIReadX exit: endOffset %lld count %d err %d code %d\n"
+TRCID_       0x51DF TRACE_FS            "kInitOpenFile: key %08X:%08X:%08X:%08X old genNum 0x%X status %s\n" $6=objstatus_id2name
+TRCID_       0x51E0 TRACE_FS            "kGetInode: inode %d snap %d enter, genNum 0x%X flags 0x%X\n"
+TRCID_       0x51E1 TRACE_FS            "kGetInode: valid generation 0x%X status %d objectVersion %lld"
+TRCID_       0x51E2 TRACE_FS            "kGetInode: inode %d: flags 0x%X generation 0x%X nlink %d FullBlocks %lld\n"
+TRCID_       0x51E3 TRACE_FS            "kGetInode: inode %d snap %d exit: rc %d code %d flags 0x%X gen 0x%X nlink %d fileSize 0x%llX nFull %lld lastSubblocks %d\n"
+TRCID_       0x51E4 TRACE_FS            "kGetInode: inode %d snap %d valid %d fileMod %d dataCop %d\n"
+TRCID_       0x51E5 TRACE_FS            "kMakePseudoIndirect inode %d snap %d gen %d level %d clear %d\n"
+TRCID_       0x51E6 TRACE_FS            "kMakePseudoIndirect inode %d snap %d pseudoIbdP=0x%X err %d\n"
+TRCID_       0x51E7 TRACE_FS            "kGetIndirectDescriptor inode %d snap %d level %d index %lld\n"
+TRCID_       0x51E8 TRACE_FS            "kGetIndirectDescriptor: created ind block %d,%lld inode %d snap %d\n"
+TRCID_       0x51E9 TRACE_FS            "kGetIndirectDescriptor inode %d snap %d ibdP=0x%X err %d\n"
+TRCID_       0x51EA TRACE_FS            "indDesc lev %d ind %lld %s%s%s%s da %s %d:%lld\n"
+TRCID_       0x51EB TRACE_FS            "kDeleteIndirectBlock(inode %d snap %d ind block %d): indBlockWaiters %d\n"
+TRCID_       0x51EC TRACE_FS            "kCleanIndBlockDesc inode %d snap %d lev %d index %lld valid %d destroy %d\n"
+TRCID_       0x51ED TRACE_TS            "kxQuiesceSG called for %s\n"
+TRCID_       0x51EE TRACE_TS            "Quiesce waiting for vfsUsers %d quiesced %d\n"
+TRCID_       0x51EF TRACE_TS            "QuiesceSG complete, err %d"
+TRCID_       0x51F0 TRACE_TS            "kxResumeSG called for %s\n"
+TRCID_       0x51F1 TRACE_TS            "Resume starting vfsUsers %d quiescedUsers %d\n"
+TRCID_       0x51F2 TRACE_TS            "ResumeSG complete, err = %d\n"
+TRCID_       0x51F3 TRACE_VNODE         "kSFSRemapCredentials enter: credP 0x%lX\n"
+TRCID_       0x51F4 TRACE_VNODE         "kSFSRemapCredentials exit: code %d rc %d\n"
+TRCID_       0x51F5 TRACE_VNODE         "kSFSRemapStatIDs enter: nUids %d nGids %d\n"
+TRCID_       0x51F6 TRACE_VNODE         "kSFSRemapStatIDs exit: code %d rc %d\n"
+TRCID_       0x51F7 TRACE_KSVFS         "kSFSFindFileset: enter scanForWhat %d snap %d wantFileset %d data %llX"
+TRCID_       0x51F8 TRACE_KSVFS         "kSFSFindFileset exit: filesetP 0x%lX rc %d"
+TRCID_       0x51F9 TRACE_KSVFS         "kSFSPnfs enter: sgP 0x%lX gnP 0x%lX\n"
+TRCID_       0x51FA TRACE_KSVFS         "kSFSPnfs exit: code %d rc %d\n"
+TRCID_       0x51FB TRACE_KLOCKL        "vinfoLock enter: vinfoP 0x%lX\n"
+TRCID_       0x51FC TRACE_KLOCKL        "vinfoLock exit: vinfoP 0x%lX\n"
+TRCID_       0x51FD TRACE_KLOCKL        "vinfoUnlock enter: vinfoP 0x%lX\n"
+TRCID_       0x51FE TRACE_KLOCKL        "mmfs_nfs_lock enter\n"
+TRCID_       0x51FF TRACE_KLOCKL        "mmfs_nfs_lock exit\n"
+TRCID_       0x5200 TRACE_KLOCKL        "mmfs_nfs_unlock\n"
+TRCID_       0x5201 TRACE_KLOCKL        "mmfs_mounts_lock enter\n"
+TRCID_       0x5202 TRACE_KLOCKL        "mmfs_mounts_lock exit\n"
+TRCID_       0x5203 TRACE_KLOCKL        "mmfs_mounts_unlock\n"
+TRCID_       0x5204 TRACE_VNOP          "gpfs_fssnapHandle_copyin_and_reshape, fssnapHandle64.pathNameP 0x%llX err %d\n"
+TRCID_       0x5205 TRACE_VNOP          "gpfs_fssnapHandle_copyin_and_reshape, fssnapHandle64.fsNameP 0x%llX err %d\n"
+TRCID_       0x5206 TRACE_VNOP          "gpfs_fssnapHandle_copyin_and_reshape, fssnapHandle64.snapNameP 0x%llX err %d\n"
+TRCID_       0x5207 TRACE_VNOP          "gpfs_fssnapHandle_reshape_and_copyout, err %d\n"
+TRCID_       0x5208 TRACE_VNOP          "gpfs_iscan_copyin_and_reshape, iscan64.bufferP 0x%llX err %d\n"
+TRCID_       0x5209 TRACE_VNOP          "gpfs_iscan_copyin_and_reshape, iscan64.cachedFilesetNameP 0x%llX err %d\n"
+TRCID_       0x520A TRACE_VNOP          "gpfs_iscan_copyin_and_reshape, iscan64.bufferP 0x%llX err %d\n"
+TRCID_       0x520B TRACE_VNODE         "debug_close_event: close event from %d\n"
+TRCID_       0x520C TRACE_VNODE         "gpfsFsync exit: code %d rc %d\n"
+TRCID_       0x520D TRACE_VNODE         "gpfsSyncNFS exit: code %d rc %d\n"
+TRCID_       0x520E TRACE_VNODE         "gpfsMkdir enter: gnDirP 0x%lX mode 0x%X umask 0x%X dirName '%s'\n"
+TRCID_       0x520F TRACE_DMAPI         "gpfsMkdir: retrying after DMAPI NOSPACE event, dmRetryCount=%d, DMCONF_MAX_RETRY=%d\n"
+TRCID_       0x5210 TRACE_VNOP          "MKDIR: gnDirP 0x%lX dinode %d mode 0x%X inode %d name '%s'\n"
+TRCID_       0x5211 TRACE_VNODE         "gpfsMkdir exit: code %d rc %d\n"
+TRCID_       0x5212 TRACE_VNODE         "gpfsLookup enter: privVfsP 0x%lX dvP 0x%lX gnDirP 0x%lX vPP 0x%lX gnPP 0x%lX name '%s'\n"
+TRCID_       0x5213 TRACE_VNODE         "gpfsLookup: metadata.iaccess returned rc %d"
+TRCID_       0x5214 TRACE_VNOP          "LOOKUP: not found dvP 0x%lX gnDirP 0x%lX name '%s'\n"
+TRCID_       0x5215 TRACE_VNOP          "LOOKUP: vP 0x%lX gnP 0x%lX inode %d snap %d dvP 0x%lX name '%s'\n"
+TRCID_       0x5216 TRACE_VNODE         "gpfsLookup exit: code %d rc %d\n"
+TRCID_       0x5217 TRACE_VNODE         "gpfsLink enter: gnP 0x%lX gnDirP 0x%lX name '%s'\n"
+TRCID_       0x5218 TRACE_VNOP          "LINK: gnDirP 0x%lX dir inode %d gnP 0x%lX inode %d rc %d name '%s'\n"
+TRCID_       0x5219 TRACE_DMAPI         "gpfsLink: retrying after DMAPI NOSPACE event, dmRetryCount=%d, DMCONF_MAX_RETRY=%d\n"
+TRCID_       0x521A TRACE_VNODE         "gpfsLink exit: code %d rc %d\n"
+TRCID_       0x521B TRACE_VNODE         "gpfsInodeDelete: rc %d openInstCount %d hasVFSReference %d\n"
+TRCID_       0x521C TRACE_VNODE         "gpfsOpen enter: gnP 0x%lX flags 0x%X ext 0x%X vinfoPP 0x%lX\n"
+TRCID_       0x521D TRACE_VNODE         "gpfsOpen: gnP 0x%lX OpenFiles %d fileCacheLimit %d openFileMemUsed %d fileCacheMemUsed %d\n"
+TRCID_       0x521E TRACE_VNODE         "gpfsOpen: gnP 0x%lX OpenFiles %d fileCacheLimit %d bytesUsed %d limitBytesUsed %d\n"
+TRCID_       0x521F TRACE_VNODE         "gpfsOpen: openInstCount %d dioCount %d\n"
+TRCID_       0x5220 TRACE_VNOP          "OPEN: gnP 0x%lX inode %d snap %d oiP 0x%lX flags 0x%X ext 0x%X fast\n"
+TRCID_       0x5221 TRACE_VNODE         "gpfsOpen exit: vinfoP 0x%lX rdcnt %d rc 0\n"
+TRCID_       0x5222 TRACE_VNOP          "OPEN: gnP 0x%lX inode %d snap %d oiP 0x%lX flags 0x%X ext 0x%X general\n"
+TRCID_       0x5223 TRACE_VNODE         "gpfsOpen exit: vinfoP 0x%lX rdcnt %d rc 0\n"
+TRCID_       0x5224 TRACE_VNOP          "OPEN: gnP 0x%lX inode %d snap %d flags 0x%X ext 0x%X failed rc %d\n"
+TRCID_       0x5225 TRACE_VNODE         "gpfsOpen exit: vinfoP 0x%lX rdcnt %d rc %d\n"
+TRCID_       0x5226 TRACE_VNOP          "REMOVE: gnDirP 0x%lX gnP 0x%lX rc %d name '%s'\n"
+TRCID_       0x5227 TRACE_VNODE         "gpfsRemove exit: code %d rc %d\n"
+TRCID_       0x5228 TRACE_DMAPI         "gpfsRename: retrying after DMAPI NOSPACE event, dmRetryCount=%d, DMCONF_MAX_RETRY=%d\n"
+TRCID_       0x5229 TRACE_VNOP          "RENAMEFROM: gnSourceDirP 0x%lX gnSourceP 0x%lX oldName '%s'\n"
+TRCID_       0x522A TRACE_VNOP          "RENAMETO: gnTargetDirP 0x%lX gnTargetDirP 0x%lX newName '%s'\n"
+TRCID_       0x522B TRACE_VNODE         "gpfsRename exit: code %d rc %d\n"
+TRCID_       0x522C TRACE_VNODE         "gpfsRmdir enter: gnP 0x%X gnDirP 0x%X name '%s'\n"
+TRCID_       0x522D TRACE_VNOP          "RMDIR: gnDirP 0x%lX dinode %d inode %d name '%s'\n"
+TRCID_       0x522E TRACE_VNODE         "gpfsRmdir exit: code %d rc %d\n"
+TRCID_       0x522F TRACE_VNODE         "gpfsSetattr enter: gnP 0x%lX cmd 0x%lX arg1 0x%lX arg2 0x%lX arg3 0x%lX priv %d snapId %d\n"
+TRCID_       0x5230 TRACE_VNODE         "gpfsSetattr: breaking oplocks (isLocal %d)\n"
+TRCID_       0x5231 TRACE_VNODE         "gpfsSetattr: V_MODE access denied rc=%d"
+TRCID_       0x5232 TRACE_VNODE         "gpfsSetattr: V_OWN: isTreeQuotaOn, flags 0x%x"
+TRCID_       0x5233 TRACE_VNODE         "gpfsSetattr: V_OWN current uid %d gid %d, flags 0x%x"
+TRCID_       0x5234 TRACE_VNODE         "gpfsSetattr: V_OWN access denied: NFSv4 ACL does not permit"
+TRCID_       0x5235 TRACE_VNODE         "gpfsSetattr: V_OWN access denied: not owner"
+TRCID_       0x5236 TRACE_VNODE         "gpfsSetattr: V_OWN access denied: not root"
+TRCID_       0x5237 TRACE_VNODE         "gpfsSetattr: V_OWN access denied: not correct group"
+TRCID_       0x5238 TRACE_VNOP          "SETATTR: gnP 0x%lX inode %d cmd %d \n"
+TRCID_       0x5239 TRACE_VNODE         "gpfsSetattr exit: code %d rc %d\n"
+TRCID_       0x523A TRACE_DMAPI         "gpfsSymlink: retrying after DMAPI NOSPACE event, dmRetryCount=%d, DMCONF_MAX_RETRY=%d\n"
+TRCID_       0x523B TRACE_VNOP          "SYMLINK: dgnP 0x%lX dinode %d linode %d name '%s'\n"
+TRCID_       0x523C TRACE_VNODE         "gpfsSymlink exit: code %d rc %d\n"
+TRCID_       0x523D TRACE_VNODE         "gpfsFsyncRange exit: code %d rc %d\n"
+TRCID_       0x523E TRACE_VNODE         "gpfsClose enter: gnP 0x%lX flags 0x%X vinfoP 0x%lX dmEvents %d rdcnt %d\n"
+TRCID_       0x523F TRACE_VNOP          "CLOSE: ofP 0x%lX openInstance %d\n"
+TRCID_       0x5240 TRACE_VNOP          "CLOSE: gnP 0x%lX inode %d snap %d oiP 0x%lX flags 0x%X openInstance %d\n"
+TRCID_       0x5241 TRACE_VNOP          "CLOSE: after detach: gnP 0x%lX inode %d snap %d oiP 0x%lX flags 0x%X openInstance %d\n"
+TRCID_       0x5242 TRACE_VNODE         "gpfsClose exit: fast close rdcnt %d rc 0"
+TRCID_       0x5243 TRACE_VNODE         "gpfsClose exit: fast close mmap rdcnt %d rc %d"
+TRCID_       0x5244 TRACE_VNODE         "gpfsClose exit: slow close rdcnt %d rc %d"
+TRCID_       0x5245 TRACE_VNODE         "closeFile enter: gnP 0x%lX flags 0x%X vinfoP 0x%lX\n"
+TRCID_       0x5246 TRACE_VNODE         "closeFile: gnP 0x%lX vinfoP 0x%lX oiP 0x%lX\n"
+TRCID_       0x5247 TRACE_VNODE         "closeFile: ofP 0x%lX openInstCount %d\n"
+TRCID_       0x5248 TRACE_VNODE         "closeFile: inode %d, closing a ds instance, ds mode %d\n"
+TRCID_       0x5249 TRACE_VNODE         "closeFile: inode %d unlocked, sending msg, local ID = %X:%X \n"
+TRCID_       0x524A TRACE_VNOP          "CLOSE: gnP 0x%lX inode %d snap %d oiP 0x%lX flags 0x%X\n"
+TRCID_       0x524B TRACE_VNODE         "closeFile exit: code %d rc %d\n"
+TRCID_       0x524C TRACE_VNODE         "gpfsUnmap flag %08x RDCOUNT %d WRCOUNT %d\n"
+TRCID_       0x524D TRACE_VNODE         "gpfsUnmap exit: gnP 0x%lX inode %d flag 0x%X, mrdcnt %d mwrcnt %d rdcnt %d rc %d\n"
+TRCID_       0x524E TRACE_VNODE         "processFcntlRequest enter: gnP 0x%lX oiP 0x%lX argP 0x%lX credP 0x%lX"
+TRCID_       0x524F TRACE_VNODE         "processHintsRequest exit: code %d rc %d\n"
+TRCID_       0x5250 TRACE_VNODE         "iopen 1 iP %x cnP %x\n"
+TRCID_       0x5251 TRACE_VNODE         "iopen exit: code %d rc %d\n"
+TRCID_       0x5252 TRACE_VNOP          "initFsSnapHandle sg %s snapId %d sizeof %d %d rc %d\n"
+TRCID_       0x5253 TRACE_VNOP          "TSFATTR: gnP 0x%lX sg %s inode %d snap %d cmd %s\n" $5=tsfattrcmd_id2name
+TRCID_       0x5254 TRACE_VNOP          "GET_INODE_BLOCK: inode next %d term %d Count %d size %d hdr %d bufP 0x%lX size %d iattr %d\n"
+TRCID_       0x5255 TRACE_VNOP          "GET_INODE_BLOCK: inode %d snap %d at 0x%lX status %d snapId %d req snapId %d\n"
+TRCID_       0x5256 TRACE_VNOP          "GET_INODE_BLOCK: inode %d snap %d was invalidate rc %d\n"
+TRCID_       0x5257 TRACE_VNOP          "GET_INODE_BLOCK: iov_base 0x%lX iov_len %d blockOffset %d\n"
+TRCID_       0x5258 TRACE_VNODE         "gpfsFAttr(IOPEN): Invalid external ino 0x%X for snapId %lld"
+TRCID_       0x5259 TRACE_VNODE         "gpfsFAttr(IOPEN): Invalid internal ino 0x%X for snapId %lld maxIno %d"
+TRCID_       0x525A TRACE_VNODE         "gpfsFattr (ICLOSE): breaking oplocks (isLocal %d)\n"
+TRCID_       0x525B TRACE_VNODE         "ISLINK iP %x cnP %x\n"
+TRCID_       0x525C TRACE_VNODE         "IWRITE iP %x cnP %x\n"
+TRCID_       0x525D TRACE_VNODE         "IREAD iP %x cnP %x\n"
+TRCID_       0x525E TRACE_VNODE         "IEXIT 1 iP %x cnP %x\n"
+TRCID_       0x525F TRACE_VNODE         "IEXIT 2 iP %x cnP %x\n"
+TRCID_       0x5260 TRACE_VNODE         "IEXIT 3 iP %x cnP %x\n"
+TRCID_       0x5261 TRACE_VNODE         "IREADX sg %s inode %d snap %d prev %d offset %lld last %lld\n"
+TRCID_       0x5262 TRACE_VNODE         "IREADX returns nextOffset %lld count %d rc %d\n"
+TRCID_       0x5263 TRACE_DMAPI         "gpfsFattr: retrying after DMAPI NOSPACE event for preAlloc, dmRetryCount=%d, DMCONF_MAX_RETRY=%d\n"
+TRCID_       0x5264 TRACE_ALLOC         "getStatFSPool poolId %d bfree %lld blks %lld mfree %lld mblks %lld"
+TRCID_       0x5265 TRACE_ALLOC         "getStatFSPool poolId %d globalOnly bfree %lld"
+TRCID_       0x5266 TRACE_ALLOC         "getStatFSPool poolId %d globalOnly mfree %lld"
+TRCID_       0x5267 TRACE_ALLOC         "getStatFSPool caller bufferSize %d < statFsPool size %d"
+TRCID_       0x5268 TRACE_VNODE         "gpfsFattr: unknown command %d\n"
+TRCID_       0x5269 TRACE_VNODE         "gpfsFattr exit: code %d rc %d\n"
+TRCID_       0x526A TRACE_VNODE         "gpfsFsAttr enter: command %s\n" $1=tsfsattrcmd_id2name
+TRCID_       0x526B TRACE_VNODE         "gpfsFsAttr: sg %s stripeId 0x%08X,0x%08X snapId %lld vers %d\n"
+TRCID_       0x526C TRACE_VNODE         "gpfsFsAttr: fsName %s\n"
+TRCID_       0x526D TRACE_VNODE         "gpfsFsAttr: snapName %s\n"
+TRCID_       0x526E TRACE_VNODE         "gpfsFsAttr: sg %s snapId %d mountpt %s (%d) snapDir %s (%d) snapName %s (%d)"
+TRCID_       0x526F TRACE_VNODE         "gpfsFsAttr: fsName %s len %d\n"
+TRCID_       0x5270 TRACE_VNODE         "gpfsFsAttr: snaplinkName %s len %d\n"
+TRCID_       0x5271 TRACE_VNODE         "gpfsFsAttr: sg %s snapId %d snapName %s len %d\n"
+TRCID_       0x5272 TRACE_VNODE         "sg %s Restore: vers %d snap %lld stripe 0x%lX,0x%lX time %lld\n"
+TRCID_       0x5273 TRACE_VNODE         "gpfsFsAttr exit: code %d rc %d\n"
+TRCID_       0x5274 TRACE_VNODE         "openNFS: gnP 0x%lX, vinfoP 0x%lX, flags 0x%X\n"
+TRCID_       0x5275 TRACE_VNODE         "openNFS: openInstCount %d dioCount %d\n"
+TRCID_       0x5276 TRACE_VNOP          "openNFS: gnP 0x%lX inode %d snap %d oiP 0x%lX flags 0x%X rdcnt %d fast\n"
+TRCID_       0x5277 TRACE_VNODE         "openNFS exit: oiP 0x%lX nfs %d code %d rc %d\n"
+TRCID_       0x5278 TRACE_VNODE         "gpfsFclear exit: rc %d code %d\n"
+TRCID_       0x5279 TRACE_VNOP          "FCLEAR: gnP 0x%lX oiP 0x%lX offset 0x%llX len 0x%llX rc %d\n"
+TRCID_       0x527A TRACE_DMAPI         "fclearInternal: retrying after DMAPI NOSPACE event, dmRetryCount=%d, DMCONF_MAX_RETRY=%d\n"
+TRCID_       0x527B TRACE_VNODE         "fclearInternal exit: code %d rc %d\n"
+TRCID_       0x527C TRACE_VNODE         "gpfsFtrunc exit: rc %d code %d\n"
+TRCID_       0x527D TRACE_VNODE         "ftruncInternal enter: gnP 0x%lX flags 0x%X offset 0x%llX vinfoP 0x%lX\n"
+TRCID_       0x527E TRACE_VNODE         "ftruncInternal: NFS file ftrunc\n"
+TRCID_       0x527F TRACE_VNODE         "ftruncInternal: file not open, flags 0x%X\n"
+TRCID_       0x5280 TRACE_VNODE         "ftruncInternal: normal file, flags 0x%X\n"
+TRCID_       0x5281 TRACE_VNOP          "FTRUNC: gnP 0x%lX inode %d oiP 0x%lX flags 0x%X offset 0x%llX rc %d\n"
+TRCID_       0x5282 TRACE_DMAPI         "ftruncInternal: retrying after DMAPI NOSPACE event, dmRetryCount=%d, DMCONF_MAX_RETRY=%d\n"
+TRCID_       0x5283 TRACE_VNODE         "ftruncInternal exit: code %d rc %d\n"
+TRCID_       0x5284 TRACE_KSVFS         "lockBufferForRead(seekOffset %d len %d): valid %d hasBuffer %d blockOffset %d bufferOffset %d validLen %d initLen %d"
+TRCID_       0x5285 TRACE_TSTM          "testBR 0x%llX-0x%llX nodes %d pos %d stripUnit 0x%llX\n"
+TRCID_       0x5286 TRACE_TSTM          "testBR 0x%llX-0x%llX Slot 0x%llX-0x%llX\n"
+TRCID_       0x5287 TRACE_VNOP          "READ: gnP 0x%lX inode %d snap %d oiP 0x%lX offset 0x%llX len %ld blkSize %d past eof"
+TRCID_       0x5288 TRACE_VNOP          "READ: gnP 0x%lX inode %d snap %d oiP 0x%lX offset 0x%llX len %ld blkSize %d fast"
+TRCID_       0x5289 TRACE_KSVFS         "kSFSReadFast: oiP 0x%lX offset 0x%llX dataBufP %lX buf %lX valid len %d offset %d+%d\n"
+TRCID_       0x528A TRACE_KSVFS         "kSFSReadFast: cxiUXfer error %d addr 0x%lX len %d"
+TRCID_       0x528B TRACE_KSVFS         "kSFSReadFast exit: uio_resid %ld rc %d"
+TRCID_       0x528C TRACE_VNODE         "gpfsRead enter: gnP 0x%lX flags 0x%X uioP 0x%lX vinfoP 0x%lX off %lld len %ld\n"
+TRCID_       0x528D TRACE_VNODE         "gpfsRead: dmapi op, context %d, off %d, len %d"
+TRCID_       0x528E TRACE_VNODE         "gpfsRead: NFS file read"
+TRCID_       0x528F TRACE_VNODE         "gpfsRead exit: fast rc %d"
+TRCID_       0x5290 TRACE_VNODE         "gpfsRead exit: slow rc %d"
+TRCID_       0x5291 TRACE_VNODE         "gpfsRead exit: failed rc %d"
+TRCID_       0x5292 TRACE_KSVFS         "lockBufferForWrite(seekOffset %d len %d): valid %d hasBuffer %d blockOffset %d bufferOffset %d validLen %d initLen %d"
+TRCID_       0x5293 TRACE_KSVFS         "lockBufferForWrite cow needed bdSnap %d ofSnap %d maxSnap %d\n"
+TRCID_       0x5294 TRACE_VNOP          "WRITE: gnP 0x%lX inode %d snap %d oiP 0x%lX offset 0x%llX len %ld blkSize %d %s fast\n"
+TRCID_       0x5295 TRACE_KSVFS         "kSFSWriteFast: cxiUXfer error %d addr 0x%lX len %d"
+TRCID_       0x5296 TRACE_VNODE         "DIO write delay: gnP 0x%lX vinfoP 0x%lX delay %u ms\n"
+TRCID_       0x5297 TRACE_VNODE         "gpfsWrite enter: gnP 0x%lX flags 0x%X uioP 0x%lX vinfoP 0x%lX off %lld len %ld\n"
+TRCID_       0x5298 TRACE_VNODE         "gpfsWrite: dmapi op, context %d, off %d, len %d"
+TRCID_       0x5299 TRACE_VNODE         "gpfsWrite: NFS file write"
+TRCID_       0x529A TRACE_VNODE         "gpfsWrite exit: fast rc %d"
+TRCID_       0x529B TRACE_VNODE         "gpfsWrite: waiting for fsync; %d threads active\n"
+TRCID_       0x529C TRACE_VNODE         "gpfsWrite: fsync inode %d with %d fsync waiters\n"
+TRCID_       0x529D TRACE_DMAPI         "gpfsWrite: retrying after DMAPI NOSPACE event, dmRetryCount=%d, DMCONF_MAX_RETRY=%d\n"
+TRCID_       0x529E TRACE_VNODE         "gpfsWrite exit: slow rc %d"
+TRCID_       0x529F TRACE_VNODE         "gpfsWrite: waking %d fsync waiters on error %d\n"
+TRCID_       0x52A0 TRACE_VNODE         "gpfsWrite exit: failed rc %d"
+TRCID_       0x52A1 TRACE_VNOP          "GETVATTR: gnP 0x%lX inode %d type %d mode 0x%X uid %d gid %d\n"
+TRCID_       0x52A2 TRACE_VNOP          "          nlink %d size 0x%llX blks %d gen 0x%X rdev 0x%lX rc %d\n"
+TRCID_       0x52A3 TRACE_VNODE         "gpfsGetattr enter: privVfsP 0x%lX gnP 0x%lX vattrP 0x%lX exact %d\n"
+TRCID_       0x52A4 TRACE_VNODE         "gpfsGetattr exit: code %d rc %d\n"
+TRCID_       0x52A5 TRACE_VNODE         "gpfsAccess enter: gnP 0x%lX mode 0x%X who %d\n"
+TRCID_       0x52A6 TRACE_VNOP          "ACCESS: gnP 0x%lX mode 0x%X who %d rc %d\n"
+TRCID_       0x52A7 TRACE_VNODE         "gpfsAccess exit: code %d rc %d\n"
+TRCID_       0x52A8 TRACE_VNODE         "gpfsReaddir enter: gnP 0x%lX inode %d snap %d fillDirArgP 0x%lX offset 0x%llX\n"
+TRCID_       0x52A9 TRACE_VNOP          "READDIR: gnDirP 0x%lX dinode %d dsnap %d read 0x%llX new offset 0x%llX\n"
+TRCID_       0x52AA TRACE_VNODE         "gpfsReaddir exit: offset 0x%llX code %d rc %d\n"
+TRCID_       0x52AB TRACE_VNODE         "gpfsReadlink enter: gnP 0x%lX uioP 0x%lX\n"
+TRCID_       0x52AC TRACE_VNOP          "READLINK: gnP 0x%lX inode %d snap %d linkSize %d len %d\n"
+TRCID_       0x52AD TRACE_VNODE         "gpfsReadlink exit: code %d rc %d\n"
+TRCID_       0x52AE TRACE_VNODE         "createInternal enter: vPP 0x%lX flags 0x%X mode 0x%X umask 0x%X vinfoPP 0x%lX name '%s'\n"
+TRCID_       0x52AF TRACE_DMAPI         "gpfsCreate: retrying after DMAPI NOSPACE event, dmRetryCount=%d, DMCONF_MAX_RETRY=%d\n"
+TRCID_       0x52B0 TRACE_VNOP          "CREATE: gnDirP 0x%lX dinode %d flags 0x%X mode 0x%X inode %d oiP 0x%lX name '%s'\n"
+TRCID_       0x52B1 TRACE_VNODE         "createInternal exit: code %d rc %d\n"
+TRCID_       0x52B2 TRACE_VNODE         "gpfsMknod enter: gnDirP 0x%lX mode 0x%X umask 0x%X dev 0x%X name '%s'\n"
+TRCID_       0x52B3 TRACE_VNODE         "gpfsMknod exit: code %d rc %d\n"
+TRCID_       0x52B4 TRACE_VNODE         "gpfsRele: privVfsP 0x%lX cnP 0x%lX vp 0x%lX op %d\n"
+TRCID_       0x52B5 TRACE_VNODE         "gpfsMount: vfsP 0x%lX pageSize %d pid %d softPrivVfsP 0x%lX mountId %d readonly %d\n"
+TRCID_       0x52B6 TRACE_VNODE         "gpfsMount: mountpoint '%s' options '%s' sgName '%s'\n"
+TRCID_       0x52B7 TRACE_VNODE         "gpfsMount: sgLocalId %d mountId %d devId %08lX sgP 0x%lX\n"
+TRCID_       0x52B8 TRACE_VNODE         "gpfsMount: mmfs_mount_list 0x%lX\n"
+TRCID_       0x52B9 TRACE_VNODE         "gpfsMount exit: privVfsP 0x%lX gnRootP 0x%lX code %d rc %d\n"
+TRCID_       0x52BA TRACE_VNODE         "gpfsStatfs enter: privVfsP 0x%lX\n"
+TRCID_       0x52BB TRACE_ALLOC         "getStatFS sg %s f_bfree %lld subPerFull %d f_blocks %lld\n"
+TRCID_       0x52BC TRACE_ALLOC         "getStatFS sg %s f_ffree %ld maxInodes %ld nInodes %ld\n"
+TRCID_       0x52BD TRACE_VNODE         "gpfsStatfs exit: rc %d"
+TRCID_       0x52BE TRACE_VNODE         "gpfsSyncfs enter: privVfsP 0x%lX\n"
+TRCID_       0x52BF TRACE_VNODE         "gpfsSyncfs: skip sync due to sync on another file system"
+TRCID_       0x52C0 TRACE_VNODE         "gpfsSyncfs exit: code %d rc %d\n"
+TRCID_       0x52C1 TRACE_VNODE         "gpfsUnmount: privVfsP 0x%lX mountVersion[0] %d vfsFlags 0x%X forced %d\n"
+TRCID_       0x52C2 TRACE_VNODE         "gpfsUnmount exit: privVfsP 0x%lX mountVersion[0] %d vfsFlags 0x%X rc %d\n"
+TRCID_       0x52C3 TRACE_VNODE         "gpfsFinishUnmount enter: privVfsP 0x%lX vfsFlags 0x%X\n"
+TRCID_       0x52C4 TRACE_VNODE         "gpfsFinishUnmount exit\n"
+TRCID_       0x52C5 TRACE_VNODE         "          UserData: 0x%08X %08X %08X %08X \n"
+TRCID_       0x52C6 TRACE_VNODE         "fcntlAcquire: RetryTokenTest: l_caller %d, UserData: 0x%08X %08X %08X %08X \n"
+TRCID_       0x52C7 TRACE_VNODE         "fcntlAcquire: tid %d waiting for %d\n"
+TRCID_       0x52C8 TRACE_VNODE         "fcntlAcquire: tid %d ok to retry token\n"
+TRCID_       0x52C9 TRACE_VNODE         "fcntlAcquire: tid %d becomes the acquiring thread\n"
+TRCID_       0x52CA TRACE_VNODE         "fcntlAcquire: back from kSFSAcquireFcntlBRT: rc %d cmd %d caller %x type %d saved type %d gModeP %d mode %d\n"
+TRCID_       0x52CB TRACE_VNODE         "fcntlAcquire: tid %d completes. hasWaiters %d\n"
+TRCID_       0x52CC TRACE_VNODE         "fcntlAcquire: loopback for token verification"
+TRCID_       0x52CD TRACE_VNODE         "fcntlAcquire exit: rc %d"
+TRCID_       0x52CE TRACE_VNODE         "gpfsFcntl: in grace pid %d flags 0x%X time left %d\n"
+TRCID_       0x52CF TRACE_VNODE         "gpfsFcntl: in grace reject non-reclaim: pid %d flags 0x%X\n"
+TRCID_       0x52D0 TRACE_VNODE         "gpfsLockctl: NFS duplicating request start 0x%llX len %lld pid 0x%X retry_id 0x%X\n"
+TRCID_       0x52D1 TRACE_VNODE         "gpfsFcntl: in grace2 pid %d flags 0x%X time left %d\n"
+TRCID_       0x52D2 TRACE_VNODE         "gpfsFcntl: in grace2 reject non-reclaim: pid %d flags 0x%X\n"
+TRCID_       0x52D3 TRACE_VNODE         "gpfsFcntl reclock: inode %d cmd %s retry 0x%X type %s pid %d start 0x%llX len %lld\n"
+TRCID_       0x52D4 TRACE_VNODE         "gpfsFcntl reclock return: inode %d rc 0x%X retry_id 0x%lX\n"
+TRCID_       0x52D5 TRACE_VNODE         "gpfsFcntlReset reclock: F_GETLK type F_WRLCK pid %d start 0x%llX len %lld\n"
+TRCID_       0x52D6 TRACE_VNODE         "gpfsFcntlReset returns: pid %d range 0x%lX:%lX type %s\n"
+TRCID_       0x52D7 TRACE_VNODE         "gpfsFcntlReset: error type 0x%X pid %d owner 0x%lX start 0x%llX len %lld\n"
+TRCID_       0x52D8 TRACE_VNODE         "gpfsFcntlReset reclock: F_SETLK type 0x%X pid %d start 0x%llX len %lld\n"
+TRCID_       0x52D9 TRACE_VNODE         "gpfsFcntlReset reclock return: rc 0x%X\n"
+TRCID_       0x52DA TRACE_VNODE         "gpfsGetAcl: aclP 0x%lX aclLength %d flags 0x%X gnP 0x%lX\n"
+TRCID_       0x52DB TRACE_VNODE         "gpfsGetACL exit: aclLength %d code %d rc %d\n"
+TRCID_       0x52DC TRACE_VNODE         "gpfsPutAcl: aclP 0x%lX aclLength %d flags 0x%X gnP 0x%lX\n"
+TRCID_       0x52DD TRACE_VNODE         "gpfsPutACL exit: code %d rc %d\n"
+TRCID_       0x52DE TRACE_VNODE         "gpfsQuotactl enter: cmd 0x%x, qid %d, bufferP 0x%x\n"
+TRCID_       0x52DF TRACE_VNODE         "gpfsQuotactl at [1]\n"
+TRCID_       0x52E0 TRACE_VNODE         "gpfsQuotactl calling: kSFSQuotactl, cmd 0x%x, qid %d, kBufP 0x%x\n"
+TRCID_       0x52E1 TRACE_VNODE         "gpfsQuotactl exit: code %d rc %d\n"
+TRCID_       0x52E2 TRACE_VNODE         "gpfsMmap: gnP 0x%lX kopP 0x%lX writeAccess %d explicit_mmap %d offset 0x%llX, length 0x%llX \n"
+TRCID_       0x52E3 TRACE_VNODE         "gpfsReserveShare: have 0x%X want 0x%X release 0x%X acquire 0x%X\n"
+TRCID_       0x52E4 TRACE_VNODE         "gpfsReserveShare: rc %d code %d shareHave 0x%X shareWant 0x%X\n"
+TRCID_       0x52E5 TRACE_VNODE         "gpfsReserveDelegation: rc %d code %d want 0x%X granted 0x%X\n"
+TRCID_       0x52E6 TRACE_VNODE         "gpfsCleanup: DaemonPID %d pid %d\n"
+TRCID_       0x52E7 TRACE_VNODE         "gpfsFsLocations enter: privVfsP 0x%lX\n"
+TRCID_       0x52E8 TRACE_VNODE         "gpfsFsLocations hostename %d len %d %s\n"
+TRCID_       0x52E9 TRACE_VNODE         "gpfsFsLocations hostename %d len %d %s\n"
+TRCID_       0x52EA TRACE_VNODE         "gpfsFsLocations exit: rc %d len %d p 0x%lX"
+TRCID_       0x52EB TRACE_VNODE         "gpfsNFSIget enter: inodeNum %d generation %d snapId %d fileset %d\n"
+TRCID_       0x52EC TRACE_VNODE         "gpfsNFSIget exit: rc %d code %d iP 0x%lX\n"
+TRCID_       0x52ED TRACE_VNODE         "gpfsOpenNFS exit: rc %d code %d\n"
+TRCID_       0x52EE TRACE_VNODE         "CloseEventinfo exit: InodeNum %d eventlist 0x%08X sessLocP->Id 0x%llX sessLocP->Node %s lastClose %d\n" $4=nodeaddr_id2name
+TRCID_       0x52EF TRACE_VNODE         "gpfsGetDeviceList enter: privVfsP 0x%lX\n"
+TRCID_       0x52F1 TRACE_VNODE         "gpfsGetDeviceList exit: rc %d len %d"
+TRCID_       0x52F2 TRACE_VNODE         "gpfsGetLayout enter: privVfsP 0x%lX\n"
+TRCID_       0x52F4 TRACE_VNODE         "gpfsGetLayout exit: rc %d len %d p 0x%lX"
+TRCID_       0x52F5 TRACE_VNODE         "gpfsGetOpenState enter: privVfsP 0x%lX cnP 0x%lX\n"
+TRCID_       0x52F6 TRACE_VNODE         "gpfsGetOpenState exit: rc %d cnP 0x%lX vinfoP 0x%lX"
+TRCID_       0x52F7 TRACE_VNODE         "gpfsLayoutRetrun enter: privVfsP 0x%lX cnP 0x%lX\n"
+TRCID_       0x52F8 TRACE_VNODE         "gpfsLayoutRetrun exit: rc %d cnP 0x%lX"
+TRCID_       0x52F9 TRACE_VNODE         "gpfsGetDeviceInfo enter: privVfsP 0x%lX\n"
+TRCID_       0x52FB TRACE_VNODE         "gpfsGetDeviceInfo exit: rc %d\n"
+TRCID_       0x52FC TRACE_VNODE         "createJfsAclHeader enter: jfsAcl 0x%lX jfsLen %d tsAcl 0x%lX tsLen %d \n mode 0x%X, ACL_SIZ 0x%X,\n"
+TRCID_       0x52FD TRACE_VNODE         "createJFSAclHeader exit: rc %d\n"
+TRCID_       0x52FE TRACE_VNODE         "createExtendedJFSAcl enter: jfsAcl 0x%lX jfsLen %d tsAcl 0x%lX tsLen %d\n\n"
+TRCID_       0x52FF TRACE_VNODE         "createExtendedJFSAcl exit: jfsAcl->acl_len %d rc %d\n"
+TRCID_       0x5300 TRACE_VNODE         "createBaseAcl enter: mode 0x%X emode 0x%X storedAcl 0x%lX tsAcl 0x%lX tsAclLen %d version %d\n"
+TRCID_       0x5301 TRACE_VNODE         "createBaseAcl exit: rc %d\n"
+TRCID_       0x5302 TRACE_VNODE         "Ext2ACL: acl_level %d acl_version %d acl_len %d HdrLen %d nACE %d aceLen %d\n"
+TRCID_       0x5303 TRACE_VNODE         "Ext2ACL: ACE %d: aceP 0x%llX type %d uid %d perm %d len %d aclLength %d\n"
+TRCID_       0x5304 TRACE_VNODE         "Ext2ACL: ACE %d: aceP 0x%llX type %d flags 0x%X:0x%X who %d mask 0x%X\n"
+TRCID_       0x5305 TRACE_VNODE         "ACL2Ext: aclSize %d bufSize %d nACE %d aclVer %d hdrLen %d aceLen %d\n"
+TRCID_       0x5306 TRACE_VNODE         "calcStructAclLength: len %d:%d (hdr %d:%d nACE %d ACE %d:%d)\n"
+TRCID_       0x5307 TRACE_VNODE         "ParseBaseAcl: mode 0x%X extendedAclP 0x%lX outAclP 0x%lX\n"
+TRCID_       0x5308 TRACE_VNODE         "ParseBaseAcl exit: rc %d ownerP 0x%lX groupP 0x%lX otherP 0x%lX maskP 0x%lX\n"
+TRCID_       0x5309 TRACE_VNODE         "ParseAcls: mode 0x%X default dataP 0x%lX access dataP 0x%lX\n"
+TRCID_       0x530A TRACE_VNODE         "ParseAcls: defAclP 0x%lX accAclP 0x%lX defExtAclP 0x%lX accExtAclP 0x%lX\n"
+TRCID_       0x530B TRACE_VNODE         "ParseAcls exit: rc %d defACE %d accACE %d v4ACE %d\n"
+TRCID_       0x530C TRACE_VNODE         "perm_to_v4mask: perm 0x%X isDir %d mask 0x%X\n"
+TRCID_       0x530D TRACE_VNODE         "CreateACE4: tag %d isDir %d isDefault %d outLength %d\n"
+TRCID_       0x530E TRACE_VNODE         "CreateACE4: OWNER 0x%lX uid %d perm 0x%X\n"
+TRCID_       0x530F TRACE_VNODE         "CreateACE4: ALLOW 0x%lX mask 0x%X flags 0x%X Iflags 0x%X\n"
+TRCID_       0x5310 TRACE_VNODE         "CreateACE4: DENY  0x%lX mask 0x%X flags 0x%X, Iflags 0x%X\n"
+TRCID_       0x5311 TRACE_VNODE         "CreateACE4: GROUP_OBJ 0x%lX gid %d perm 0x%X mask 0x%X\n"
+TRCID_       0x5312 TRACE_VNODE         "CreateACE4: DENY 0x%lX mask 0x%X flags 0x%X, Iflags 0x%X\n"
+TRCID_       0x5313 TRACE_VNODE         "CreateACE4: DENY 0x%lX mask 0x%X flags 0x%X Iflags 0x%X\n"
+TRCID_       0x5314 TRACE_VNODE         "CreateACE4: ALLOW 0x%lX mask 0x%X flags 0x%X, Iflags 0x%X\n"
+TRCID_       0x5315 TRACE_VNODE         "CreateACE4: OTHER 0x%lX uid %d perm 0x%X\n"
+TRCID_       0x5316 TRACE_VNODE         "CreateACE4: ALLOW 0x%lX mask 0x%X flags 0x%X Iflags 0x%X\n"
+TRCID_       0x5317 TRACE_VNODE         "CreateACE4: DENY  0x%lX mask 0x%X flags 0x%X Iflags 0x%X\n"
+TRCID_       0x5318 TRACE_VNODE         "CreateACE4: USER 0x%lX uid %d perm 0x%X mask 0x%X\n"
+TRCID_       0x5319 TRACE_VNODE         "CreateACE4: DENY 0x%lX mask 0x%X flags 0x%X, Iflags 0x%X\n"
+TRCID_       0x531A TRACE_VNODE         "CreateACE4: ALLOW 0x%lX mask 0x%X flags 0x%X, Iflags 0x%X\n"
+TRCID_       0x531B TRACE_VNODE         "CreateACE4: DENY 0x%lX mask 0x%X flags 0x%X, Iflags 0x%X\n"
+TRCID_       0x531C TRACE_VNODE         "CreateACE4: GROUP 0x%lX gid %d perm 0x%X mask 0x%X\n"
+TRCID_       0x531D TRACE_VNODE         "CreateACE4: DENY 0x%lX mask 0x%X flags 0x%X, Iflags 0x%X\n"
+TRCID_       0x531E TRACE_VNODE         "CreateACE4: DENY 0x%lX mask 0x%X flags 0x%X, Iflags 0x%X\n"
+TRCID_       0x531F TRACE_VNODE         "CreateACE4: ALLOW 0x%lX mask 0x%X flags 0x%X, Iflags 0x%X\n"
+TRCID_       0x5320 TRACE_VNODE         "CreateACE4: rc %d code %d outLength %d\n"
+TRCID_       0x5321 TRACE_VNODE         "loopACE1: tagType %d nEntries %d outLength %d maxLength %d\n"
+TRCID_       0x5322 TRACE_VNODE         "loopACE1: %d of %d aceP 0x%X tag %d\n"
+TRCID_       0x5323 TRACE_VNODE         "loopACE1: rc %d nProcessed %d nEntries %d outLength %d maxLength %d\n"
+TRCID_       0x5324 TRACE_VNODE         "ProcessACL1: isDefault %d isDir %d\n"
+TRCID_       0x5325 TRACE_VNODE         "ProcessACL1 exit: rc %d code %d\n"
+TRCID_       0x5326 TRACE_VNODE         "CreateACL4: len %d of %d isDir %d defAceP 0x%lX accAceP 0x%lX, Ace4P 0x%lX\n"
+TRCID_       0x5327 TRACE_VNODE         "CreateACL4 exit: rc %d code %d\n"
+TRCID_       0x5328 TRACE_VNODE         "getAclFromRef: aclRef %d, aaP 0x%lX\n"
+TRCID_       0x5329 TRACE_VNODE         "getAclFromRef: aclversion %d aclLength %d aclP 0x%lX aceP 0x%lX\n"
+TRCID_       0x532A TRACE_VNODE         "getAclFromRef exit: code %d rc %d\n"
+TRCID_       0x532B TRACE_VNODE         "getNFS4Acl enter: inode %d kAclP 0x%lX uAclP 0x%lX outAclBufSize %d\n"
+TRCID_       0x532C TRACE_VNODE         "getNFS4Acl exit: code %d rc %d\n"
+TRCID_       0x532D TRACE_VNODE         "ValidateNFS4Acl: type %d flags 0x%X mask 0x%x who %d isDir %d\n"
+TRCID_       0x532E TRACE_VNODE         "ValidateNFS4Acl: exit rc %d code %d\n"
+TRCID_       0x532F TRACE_VNODE         "CreateInternalACL4 enter: extAclP 0x%lX extLen 0x%X intAclP 0x%lX intLen 0x%X\n"
+TRCID_       0x5330 TRACE_VNODE         "CreateInternalACL4: aceP 0x%lX len 0x%X type %d flags 0x%X mask 0x%X who %d\n"
+TRCID_       0x5331 TRACE_VNODE         "CreateInternalACL4: aceP 0x%lX len 0x%X nextAA 0x%lX count %d\n"
+TRCID_       0x5332 TRACE_VNODE         "CreateInternalACL4: exit rc %d code %d\n"
+TRCID_       0x5333 TRACE_VNODE         "setNFS4Acl: exit rc %d code %d\n"
+TRCID_       0x5334 TRACE_VNODE         "getAclVersion: aclVersion %d\n"
+TRCID_       0x5335 TRACE_VNODE         "createNFS4Acl enter: jfsAcl 0x%lX tsAcl 0x%lX tsLen %d isDir %d\n"
+TRCID_       0x5336 TRACE_VNODE         "createNFS4Acl header: Ver %d nACE %d Len 0x%X outLen 0x%X\n"
+TRCID_       0x5337 TRACE_VNODE         "createNFS4Acl ACE: %d Flags 0x%X aceFlags 0x%X Who %d Type 0x%X Mask 0x%X Len 0x%X\n"
+TRCID_       0x5338 TRACE_VNODE         "createNFS4Acl exit: rc %d code %d\n"
+TRCID_       0x5339 TRACE_VNODE         "createAAAcl enter: jfsAcl 0x%lX jfsLen %d tsAcl 0x%lX tsLen %d needLenP 0x%X, isDir %d\n"
+TRCID_       0x533A TRACE_VNODE         "createAAAcl header: Len 0x%X Ver %d Type %d nACE %d outLen 0x%X\n"
+TRCID_       0x533B TRACE_VNODE         "createAAAcl ACE: %d Type %d Flags 0x%X:0x%X Mask 0x%X Who %d\n"
+TRCID_       0x533C TRACE_VNODE         "createAAAcl exit: rc %d code %d needLen %d\n"
+TRCID_       0x533D TRACE_VNODE         "getTSAclInternal enter: inode %d kAclP 0x%lX uAclP 0x%lX aclBufSize %d reqAclType 0x%lX \n"
+TRCID_       0x533E TRACE_VNODE         "getTSAclInternal exit:  code %d rc %d\n"
+TRCID_       0x533F TRACE_VNODE         "createTSAcl enter: jfsAcl 0x%lX tsAcl 0x%lX tsLen %d\n"
+TRCID_       0x5340 TRACE_VNODE         "createTSAcl: control permissions group %d other %d mask %d\n"
+TRCID_       0x5341 TRACE_VNODE         "createTSAcl exit:  code %d rc %d\n"
+TRCID_       0x5342 TRACE_VNODE         "VerifyAcl enter: tsAcl 0x%lX tsLen %d version %d\n"
+TRCID_       0x5343 TRACE_VNODE         "VerifyAcl: maxAceCnt %d realm %s\n"
+TRCID_       0x5344 TRACE_VNODE         "verifyAcl exit:  newmask 0x%X tsAcl->aclMask 0x%X newmode 0x%X tsAcl->aclMode 0x%X\n"
+TRCID_       0x5345 TRACE_VNODE         "verifyAcl exit: code %d rc %d\n"
+TRCID_       0x5346 TRACE_VNODE         "setTSAclInternal enter: gnP 0x%lX tsAcl 0x%lX aclLen %d aclType %d\n"
+TRCID_       0x5347 TRACE_VNODE         "setTSAclInternal: access denied rc=%d"
+TRCID_       0x5348 TRACE_VNODE         "setTSAclInternal exit:  code %d rc %d\n"
+TRCID_       0x5349 TRACE_VNODE         "putOpaqueExtendedAcl: valid %d size %d len %d ver %d type %d\n"
+TRCID_       0x534A TRACE_VNODE         "putOpaqueExtendedAcl %0.4d: %X %X %X %X"
+TRCID_       0x534B TRACE_DFS           "getObjectRealm: ofP 0x%lX rc %d local realm object\n"
+TRCID_       0x534C TRACE_DFS           "getObjectRealm: ofP 0x%lX rc %d realm %s\n"
+TRCID_       0x534D TRACE_VNODE         "kSFSRemoteStat exit: rc %d\n"
+TRCID_       0x534E TRACE_DS            "dsRdWr enter: inode %d oiP 0x%lX offset 0x%llX resid %ld isRead %d\n"
+TRCID_       0x534F TRACE_DS            "dsRdWr enter: dsStale %d, oFlags 0x%X\n"
+TRCID_       0x5350 TRACE_DS            "dsRdWr: file size 0x%llX block size %d last block %lld\n"
+TRCID_       0x5351 TRACE_DS            "dsRdWr: Handling request locally, blockFract %d fileOff 0x%llX blockOff %d partition size %d\n"
+TRCID_       0x5352 TRACE_DS            "dsRdWr: Adjusted amount to read %d for EOF\n"
+TRCID_       0x5353 TRACE_DS            "dsRdWr: Adjusted amount to write %d due to file size limit\n"
+TRCID_       0x5354 TRACE_DS            "dsRdWr: processing block %lld file offset 0x%llX for %d bytes\n"
+TRCID_       0x5355 TRACE_DS            "dsRdWr: cxiUXfer error %d, isRead %d, addr 0x%lX, len %d\n"
+TRCID_       0x5356 TRACE_KSVFS         "dsRdWr: updating file size to 0x%llX, lastDataBlock %lld\n"
+TRCID_       0x5357 TRACE_DS            "dsRdWr: updating initialized data length to %d\n"
+TRCID_       0x5358 TRACE_DS            "dsRdWr: shipping data, blockFract %d fileOff 0x%llX blockOff %d partition size %d\n"
+TRCID_       0x5359 TRACE_DS            "dsRdWr: remote request too big for buffer, lowering buf size to %d from %d\n"
+TRCID_       0x535A TRACE_DS            "dsRdWr: Received permission to get a buffer of %d bytes\n"
+TRCID_       0x535B TRACE_DS            "dsRdWr: sgID 0x%X%08X inode %d opLen %lld partitionNum %lld\n"
+TRCID_       0x535C TRACE_DS            "dsRdWr: ds write uiomove error %d, addr 0x%lX, uio_resid %ld\n"
+TRCID_       0x535D TRACE_DS            "dsRdWr: lockFileHeld error %d, rc %d, code %d\n"
+TRCID_       0x535E TRACE_DS            "dsRdWr: lock_vfs error %d, rc %d, code %d\n"
+TRCID_       0x535F TRACE_DS            "dsRdWr: ds read uiomove error %d, addr 0x%lX, len %d\n"
+TRCID_       0x5360 TRACE_DS            "dsRdWr exit: rc %d bufferLocked %d byteRangeLocked %d oiHeld %d ldsBufP 0x%lX mbP 0x%lX\n"
+TRCID_       0x5361 TRACE_DS            "queWaiter::operator new failed with UMALLOC_E err %d\n"
+TRCID_       0x5362 TRACE_DS            "bqRequestBytes: nBytesNeeded %d nAvailDSBufBytes %d nWaiters %d\n"
+TRCID_       0x5363 TRACE_DS            "bqRequestBytes failure: nBytesNeeded %d err %d\n"
+TRCID_       0x5364 TRACE_DS            "bqRequestBytes exit: returning %d bytes\n"
+TRCID_       0x5365 TRACE_DS            "bqWaitForBytes enter: nBytesNeeded %d\n"
+TRCID_       0x5366 TRACE_DS            "bqWaitForBytes: wait element at 0x%lX nBytesNeeded %d\n"
+TRCID_       0x5367 TRACE_DS            "bqRelinquishBytes: nBytesToRelinquish %d nAvailDSBufBytes %d nWaiters %d\n"
+TRCID_       0x5368 TRACE_DS            "bqResetByteUsage enter: nBytesToRelinquish %d\n"
+TRCID_       0x5369 TRACE_DS            "bqResetByteUsage wakeup: wait element 0x%lX nAvailDSBufBytes %d nBytesNeeded %d nWaiters %d\n"
+TRCID_       0x536A TRACE_PIN           "pinTable::init, rc %d ranges %d\n"
+TRCID_       0x536B TRACE_PIN           "pinTable::term, rc %d\n"
+TRCID_       0x536C TRACE_PIN           "pinTable::insert, addr 0x%lX len 0x%X rc %d nPin %d\n"
+TRCID_       0x536D TRACE_PIN           "pinTable::remove, xmemunpin rc %d\n"
+TRCID_       0x536E TRACE_PIN           "pinTable::remove, xmdetach rc %d\n"
+TRCID_       0x536F TRACE_PIN           "pinTable::remove, addr 0x%lX len 0x%X rc %d nPin %d\n"
+TRCID_       0x5370 TRACE_PIN           "pinTable::cleanup\n"
+TRCID_       0x5371 TRACE_PIN           "pinTable::cleanup, xmemunpin rc %d\n"
+TRCID_       0x5372 TRACE_PIN           "pinTable::cleanup, xmdetach rc %d\n"
+TRCID_       0x5373 TRACE_PIN           "pinTable::cleanup, addr 0x%lX len 0x%X nPin %d\n"
+TRCID_       0x5374 TRACE_KSVFS         "kAccessXAttrFile enter: xattrInodeNum %d blockNum %d\n"
+TRCID_       0x5375 TRACE_KSVFS         "XAttrAccess::getattr: found attribute at offset %d in block %lld\n"
+TRCID_       0x5376 TRACE_FS            "kSFSXAttrGet: inode %d, appId %d, nattrs %d\n"
+TRCID_       0x5377 TRACE_FS            "kSFSXAttrGet: key %08X... (len %d)\n"
+TRCID_       0x5378 TRACE_FS            "kSFSXAttrGet: value %08X... (len %d)\n"
+TRCID_       0x5379 TRACE_FS            "kSFSXAttrGet: rc %d\n"
+TRCID_       0x537A TRACE_FS            "kSFSXAttrList: inode %d, appId %d, nattrs %d\n"
+TRCID_       0x537B TRACE_FS            "kSFSXAttrList: rc %d\n"
+TRCID_       0x537C TRACE_FS            "kSFSXAttrSet: inode %d, appId %d, nattrs %d\n"
+TRCID_       0x537D TRACE_FS            "kSFSXAttrSet: key @%08lX (len %d), value @%08lX (len %d), bufP 0x%lX\n"
+TRCID_       0x537E TRACE_FS            "kSFSXAttrSet:   key %08X... value %08X...\n"
+TRCID_       0x537F TRACE_FS            "kSFSXAttrSet: rc %d\n"
+TRCID_       0x5380 TRACE_FS            "FileMetadata::getAttrs: inode %d, appId %d, nAttrs %d\n"
+TRCID_       0x5381 TRACE_FS            " key 0x%08X... (len %d), value 0x%08X... (len %d), err %d\n"
+TRCID_       0x5382 TRACE_FS            "FileMetadata::getAttrs returns %d\n"
+TRCID_       0x5383 TRACE_FS            "FileMetadata::setAttrs: inode %d, appId %d, nAttrs %d\n"
+TRCID_       0x5384 TRACE_FS            "kSFSXAttrSet: key @%08lX %08X... (len %d), value @%08lX %08X... (len %d)\n"
+TRCID_       0x5385 TRACE_FS            "FileMetadata::setAttrs returns %d\n"
+TRCID_       0x5386 TRACE_FS            "FileMetadata::getOpaqueXAttrs: nAttrs %d attrLen %d dmAttrs 0x%08X"
+TRCID_       0x5387 TRACE_FS            "FileMetadata::getOpaqueXAttrs: bufferSize %d attrSize %d rc %d\n"
+TRCID_       0x5388 TRACE_FS            "FileMetadata::getListXAttrs: nAttrs %d attrLen %d nameLen %d flags 0x%08X"
+TRCID_       0x5389 TRACE_FS            "FileMetadata::getListXAttrs: len %d name %s\n"
+TRCID_       0x538A TRACE_FS            "FileMetadata::getListXAttrs: bufferSize %d attrSize %d rc %d\n"
+TRCID_       0x538B TRACE_FS            "FileMetadata::putOpaqueXAttrs: nAttrs %d attrLen %d dmAttrs 0x%08X"
+TRCID_       0x538C TRACE_FS            "putOpaqueXAttrs: key @%08lX %08X... (len %d), value @%08lX %08X... (len %d)\n"
+TRCID_       0x538D TRACE_FS            "kSFSGetAttrs: inode %d userBufferP 0x%lX bufferSize %d"
+TRCID_       0x538E TRACE_FS            "kSFSGetAttrs: secType %d bytesLeft %d (hdr+%d) bytesUsed %d rc %d"
+TRCID_       0x538F TRACE_FS            "              sectionSize %d totalSize %d bytesLeft %d"
+TRCID_       0x5390 TRACE_KSVFS         "kSFSGetAttrs exit: code %d rc %d\n"
+TRCID_       0x5391 TRACE_FS            "kSFSPutAttrs: magic 0x%08X version %d hdrSize %d totalSize %d checksum 0x%08X"
+TRCID_       0x5392 TRACE_FS            "kSFSPutAttrs: secType %d sectionSize %d bytesLeft %d"
+TRCID_       0x5393 TRACE_KSVFS         "kSFSPutAttrs exit: code %d rc %d\n"
+TRCID_       0x5394 TRACE_VNODE         "mmInitModule enter\n"
+TRCID_       0x5395 TRACE_VNODE         "mmInitModule exit rc = %d\n"
+TRCID_       0x5396 TRACE_VNODE         "mmTermModule enter\n"
+TRCID_       0x5397 TRACE_VNODE         "mmTermModule exit: rc %d\n"
+TRCID_       0x5398 TRACE_VNODE         "mmap protection fault: bufP 0x%lX gnP 0x%lX flags 0x%08X blkno %d addr 0x%lX\n"
+TRCID_       0x5399 TRACE_VNODE         "mmFlushseg enter: gnP 0x%lX, vinfoP 0x%lX, range(%d:%d): opt %d\n"
+TRCID_       0x539A TRACE_VNODE         "mmFlushseg: retry gnP 0x%lX before invalidate\n"
+TRCID_       0x539B TRACE_VNODE         "mmFlushseg: retry gnP 0x%lX after vm_releasep\n"
+TRCID_       0x539C TRACE_VNODE         "mmFlushseg exit: err %d\n"
+TRCID_       0x539D TRACE_VNODE         "mmIsFileMapped enter: inode %d gen %d\n"
+TRCID_       0x539E TRACE_VNODE         "mmIsFileMapped exit: inode %d retval %d err %d\n"
+TRCID_       0x539F TRACE_VNODE         "kxMmapControl: mmcopt %d parm %d\n"
+TRCID_       0x53A0 TRACE_VNODE         "kxMmapControl: mmapInited %d mmapSupported %d\n"
+TRCID_       0x53A1 TRACE_VNODE         "kxMmapControl exit: rc %d\n"
+TRCID_       0x53A2 TRACE_VNODE         "user trace: %s\n"
+TRCID_       0x53A3 TRACE_VNODE         "kxMmapFlush: uid %X:%X inodeNum %d gen %d gnP 0x%lX opt %d\n"
+TRCID_       0x53A4 TRACE_VNODE         "kxMmapFlush: range 0x%llX-0x%llX\n"
+TRCID_       0x53A5 TRACE_VNODE         "kxMmapFlush exit: rc %d\n"
+TRCID_       0x53A6 TRACE_VNODE         "PagerKproc::pkinit enter\n"
+TRCID_       0x53A7 TRACE_VNODE         "PagerKproc::pkinit exit: procPid %d\n"
+TRCID_       0x53A8 TRACE_VNODE         "mmap: pager kproc started, PID %d this 0x%lX numKprocs %d limReaders %d\n"
+TRCID_       0x53A9 TRACE_VNODE         "mmap: pager kproc %d terminated, numKprocs %d\n"
+TRCID_       0x53AA TRACE_VNODE         "mmap: incremented dynKprocs to %d, avgQlen %d\n"
+TRCID_       0x53AB TRACE_VNODE         "mmap: decremented dynKprocs to %d, avgQlen %d\n"
+TRCID_       0x53AC TRACE_VNODE         "mmap: adjustKprocs mcount %d need %d desired %d started %d num %d\n"
+TRCID_       0x53AD TRACE_VNODE         "mmap: Waiting for %d pager kprocs to terminate\n"
+TRCID_       0x53AE TRACE_VNODE         "PagerKproc::terminate enter: gnP 0x%lX vinfoP 0x%lX\n"
+TRCID_       0x53AF TRACE_VNODE         "mmap terminate: purging gnP 0x%lX kproc 0x%lX\n"
+TRCID_       0x53B0 TRACE_VNODE         "mmap terminate: waiting for %d kprocs to purge requests\n"
+TRCID_       0x53B1 TRACE_VNODE         "PagerKproc::terminate exit\n"
+TRCID_       0x53B2 TRACE_VNODE         "mmap processClump: merged bufP 0x%lX blkno %d addr 0x%lX count %d\n"
+TRCID_       0x53B3 TRACE_VNODE         "mmap processClump enter: gnP 0x%lX isRead %d\n"
+TRCID_       0x53B4 TRACE_VNODE         "mmap processClump err: OpenFile not found, err %d\n"
+TRCID_       0x53B5 TRACE_VNODE         "mmap processClump: isRead %d flags 0x%X bufP 0x%lX gnP 0x%lX blkno %d addr 0x%lX\n"
+TRCID_       0x53B6 TRACE_VNODE         "mmap processClump exit: err %d\n"
+TRCID_       0x53B7 TRACE_VNODE         "mmap data %s %08X %08X %08X %08X %08X %08X %08X %08X\n"
+TRCID_       0x53B8 TRACE_VNODE         "mmap processRead enter: gnP 0x%lX\n"
+TRCID_       0x53B9 TRACE_VNODE         "mmap processRead zeroing 0x%lX len %ld\n"
+TRCID_       0x53BA TRACE_VNODE         "mmap processRead initializing b_blkno %d len %d isHole %d fileSize %lld\n"
+TRCID_       0x53BB TRACE_VNODE         "mmap processRead exit: code %d err %d\n"
+TRCID_       0x53BC TRACE_VNODE         "mmap processWrite enter: gnP 0x%lX\n"
+TRCID_       0x53BD TRACE_VNODE         "mmap processWrite err: request overlaps block boundary, blkOff %d blkSize %d\n"
+TRCID_       0x53BE TRACE_VNOP          "WRITE: gnP 0x%lX inode %d snap %d oiP 0x%lX offset 0x%llX len %ld blkSize %d opt %X\n"
+TRCID_       0x53BF TRACE_VNODE         "mmap processWrite: lock block %lld offset %d pos 0x%llX\n"
+TRCID_       0x53C0 TRACE_VNODE         "mmap processWrite: valid %d dirty %d blkOff %d bufOff %d validLen %d initLen %d\n"
+TRCID_       0x53C1 TRACE_VNODE         "mmap processWrite: buffer missing, valid %d dataBufP %lX isOK %d\n"
+TRCID_       0x53C2 TRACE_VNODE         "mmap processWrite: op out of range, fileOff 0x%llX blkOff %d bufOff %d\n"
+TRCID_       0x53C3 TRACE_VNODE         "mmap processWrite: partial overlap, baddrOffset %d\n"
+TRCID_       0x53C4 TRACE_VNODE         "mmap processWrite: partial overlap, count %d\n"
+TRCID_       0x53C5 TRACE_VNODE         "mmap processWrite err: op out of range, fileOff 0x%llX blkOff %d bufOff %d\n"
+TRCID_       0x53C6 TRACE_VNODE         "mmap processWrite err: op out of range, fileOff 0x%llX count %d\n"
+TRCID_       0x53C7 TRACE_VNODE         "mmap processWrite: segid 0x%X baddr 0x%lX blockOffset %d buf blockOffset %d count %d\n"
+TRCID_       0x53C8 TRACE_VNODE         "mmap processWrite: baddr 0x%lX blockOffset %d buf blockOffset %d count %d\n"
+TRCID_       0x53C9 TRACE_VNODE         "mmap processWrite: direct I/O write ofP 0x%lX pos 0x%llX\n"
+TRCID_       0x53CA TRACE_VNODE         "mmap processWrite error: no token, ofP 0x%lX\n"
+TRCID_       0x53CB TRACE_VNODE         "mmap processWrite exit: code %d err %d\n"
+TRCID_       0x53CC TRACE_VNODE         "mmap cancelBufs: buf 0x%lX flags 0x%08X b_vp 0x%lX blkno %d addr 0x%lX\n"
+TRCID_       0x53CD TRACE_VNODE         "%s: addr 0x%lX len %d\n"
+TRCID_       0x53CE TRACE_VNODE         "%lX: %08X %08X %08X %08X\n"
+TRCID_       0x53CF TRACE_VNODE         "cancelHintsDirective enter: oiP 0x%lX\n"
+TRCID_       0x53D0 TRACE_VNODE         "cancelHintsDirective exit:  code %d rc %d\n"
+TRCID_       0x53D1 TRACE_VNODE         "accessRangeHint enter: gnP 0x%lX oiP 0x%lX accRangeP 0x%lX \n"
+TRCID_       0x53D2 TRACE_VNODE         "                       start %llu  length %llu isWrite %d\n"
+TRCID_       0x53D3 TRACE_VNODE         "accessRangeHint exit:  code %d rc %d\n"
+TRCID_       0x53D4 TRACE_VNODE         "freeRangeHint enter: gnP 0x%lX freeRangeP 0x%lX \n"
+TRCID_       0x53D5 TRACE_VNODE         "freeRangeHint exit:  code %d rc %d\n"
+TRCID_       0x53D6 TRACE_FS            "multAccessRangeHint enter: oiP 0x%lX mAccRangeP 0x%lX accRangeCnt %d relRangeCnt %d\n"
+TRCID_       0x53D7 TRACE_FS            "multAccessRangeHint: release search for block %lld offset %d len %d\n"
+TRCID_       0x53D8 TRACE_FS            "multAccessRangeHint: found block %lld offset %d len %d on pendingReleaseList psP 0x%lX\n"
+TRCID_       0x53D9 TRACE_FS            "multAccessRangeHint: found block %lld offset %d len %d on pendingPrefetchList psP 0x%lX\n"
+TRCID_       0x53DA TRACE_FS            "multAccessRangeHint: bufsToPrefetch %d targetMax %d current %d availBufs %d availPendingPre %d availPreSpecs %d\n"
+TRCID_       0x53DB TRACE_FS            "multAccessRangeHint: Prefetch block %lld offset %d length %d\n"
+TRCID_       0x53DC TRACE_VNODE         "multAccessRangeHint exit: code %d rc %d scheduled buffers %d\n"
+TRCID_       0x53DD TRACE_VNODE         "dataShipStartDirective: inode %d numInstances %d map 0x%lX\n"
+TRCID_       0x53DE TRACE_VNODE         "dataShipStartDirective: inode %d, started OK ID = %X:%X\n"
+TRCID_       0x53DF TRACE_VNODE         "dataShipStartDirective: dsMode before 1st wait loop: %s" $1=dsMode_id2name
+TRCID_       0x53E0 TRACE_VNODE         "dataShipStartDirective: after 1st wait loop: dsMode %s intr %d" $1=dsMode_id2name
+TRCID_       0x53E1 TRACE_VNODE         "dataShipStartDirective: after 1st wait loop: dsMode %s intr %d" $1=dsMode_id2name
+TRCID_       0x53E2 TRACE_VNODE         "dataShipStartDirective: DS cancelled: mode %d interrupted %d"
+TRCID_       0x53E3 TRACE_VNODE         "dataShipStartDirective exit: inode %d err %d haveMutex %d fileLocked %d mailbox 0x%lX\n"
+TRCID_       0x53E4 TRACE_VNODE         "dataShipStopDirective: inode %d\n"
+TRCID_       0x53E5 TRACE_VNODE         "dataShipStopDirective: inode %d, after wait err = %d"
+TRCID_       0x53E6 TRACE_VNODE         "dataShipStopDirective: inode %d, exitting with rc = %d\n"
+TRCID_       0x53E7 TRACE_VNODE         "kSFSFcntl enter: gnP 0x%lX oiP 0x%lX argP 0x%lX\n"
+TRCID_       0x53E8 TRACE_VNODE         "hint header: totalLength %d version 0x%X\n"
+TRCID_       0x53E9 TRACE_VNODE         "kSFSFcntl: Processing struct type %d at offset %d with len %d\n"
+TRCID_       0x53EA TRACE_VNODE         "kSFSFcntl defer SETFATTR_REPLICATION"
+TRCID_       0x53EB TRACE_VNODE         "kSFSFcntl defer SETFATTR_STORAGEPOOL"
+TRCID_       0x53EC TRACE_VNODE         "kSFSFcntl exit: code %d offset %d rc %d\n"
+TRCID_       0x53ED TRACE_VNODE         "kSFSFcntl exit: rc 0\n"
+TRCID_       0x53EE TRACE_KSVFS         "dioRdwr: options 0x%X offset 0x%llX len %ld segflg 0x%X fmode 0x%lX\n"
+TRCID_       0x53EF TRACE_KSVFS         "dioRdWr: nBytes %lld iovdcnt %ld iov_base 0x%lX iov_len %d\n"
+TRCID_       0x53F0 TRACE_KSVFS         "dioRdwr: aspace_id %d id 0x%X id2 0x%X uaddr 0x%lX\n"
+TRCID_       0x53F1 TRACE_KSVFS         "dioRdwr: aspace_id %d id 0x%X ptr 0x%X vaddr 0x%lX\n"
+TRCID_       0x53F2 TRACE_KSVFS         "dioRdWr exit: err %d usedXmempin %d resid %ld\n"
+TRCID_       0x53F3 TRACE_KSVFS         "dioRdwr: nIOsInProgress %d"
+TRCID_       0x53F4 TRACE_DISK          "dioFinish: doioP 0x%lX disk %08lX sector %d nBytes 0x%X err %d\n"
+TRCID_       0x53F5 TRACE_IO            "dioFinish: IO to disk %08lX da %d:%lld nSectors %d returned residual count %d but no error. Changing to EIO\n"
+TRCID_       0x53F6 TRACE_IO            "DIOFIO: %s %s tag %d %lld buf 0x%08lX disk %08lX da %d:%lld nSectors %d err %d resid %d\n" $1=diskop_id2name $2=BufferType_id2name
+TRCID_       0x53F7 TRACE_KSVFS         "kDoDirectio: offset 0x%llX len %d userAddrP 0x%lX isRead %d\n"
+TRCID_       0x53F8 TRACE_KSVFS         "kDoDirectio exit: err %d bytesProcessed %d\n"
+TRCID_       0x53F9 TRACE_KSVFS         "kCheckDioAttr: direct I/O enabled for inode %d\n"
+TRCID_       0x53FA TRACE_DISK          "kDirectioFSDA: da %d:%lld nSectors %d isRead %d addr 0x%lX\n"
+TRCID_       0x53FB TRACE_DISK          "kDirectioFSDA: da %d:%lld not avail for recovery: fcv %d availability %s\n"
+TRCID_       0x53FC TRACE_DISK          "kDirectioFSDA: da %d:%lld not avail for write: availability %s\n"
+TRCID_       0x53FD TRACE_IO            "DIOQIO: %s data tag %d %lld buf 0x%08lX disk %08lX da %d:%lld nSectors %d align %d by (DIO)\n" $1=diskop_id2name
+TRCID_       0x53FE TRACE_IO            "DIOSIO: buf 0x%08lX disk %08lX da %d:%lld nbufs %d doioP 0x%lX\n"
+TRCID_       0x53FF TRACE_IO            "DIOSIO2: buf 0x%08lX disk %08lX sector %lld npages %d kibdP 0x%lX\n"
+TRCID_       0x5400 TRACE_DISK          "kDirectioFSDA exit: err %d\n"
+TRCID_       0x5401 TRACE_MALLOC        "MemPool::Init enter: pool size=0x%X,  sizetable length=%d\n"
+TRCID_       0x5402 TRACE_MALLOC        "MemPool::Init exit\n"
+TRCID_       0x5403 TRACE_MALLOC        "MemPool::Cleanup enter\n"
+TRCID_       0x5404 TRACE_MALLOC        "MemPool::Cleanup exit\n"
+TRCID_       0x5405 TRACE_MALLOC        "MemPool::DoAllocation enter\n"
+TRCID_       0x5406 TRACE_MALLOC        "MemPool::DoAllocation exit: return code=%d\n"
+TRCID_       0x5407 TRACE_MALLOC        "MemPool::Block_Alloc enter, size=%d\n"
+TRCID_       0x5408 TRACE_MALLOC        "MemPool::BlockAlloc exit: returning ptr=0x%X\n"
+TRCID_       0x5409 TRACE_MALLOC        "MemPool::BlockFree enter: ptr=0x%X\n"
+TRCID_       0x540A TRACE_MALLOC        "MemPool::BlockFree exit: return code=%d\n"
+TRCID_       0x540B TRACE_MALLOC        "MemPool: Hash table is being expanded. New size = %d\n"
+TRCID_       0x540C TRACE_MALLOC        "MemPool: sizetable - Position %d:\t%s\n"
+TRCID_       0x540D TRACE_MALLOC        "MemPool::CheckConsistency enter\n"
+TRCID_       0x540E TRACE_MALLOC        "MemPool::CheckConsistency exit: code=%d, rc=%d\n"
+TRCID_       0x540F TRACE_SMB           "SMBOpenLockControl enter: command: %d, lockmode: 0x%x, inode_n: %d"
+TRCID_       0x5410 TRACE_SMB           "SMBOpenLockControl: Acquire SMBOpenLock"
+TRCID_       0x5411 TRACE_SMB           "SMBOpenLockControl: release SMBopenLock\n"
+TRCID_       0x5412 TRACE_SMB           "SMBOpenLockControl exit: rc %d \n"
+TRCID_       0x5413 TRACE_SMB           "breakSMBOplock: breakArgP 0x%lX fileArgP 0x%lX new %d cookie 0x%lX timeout %d\n"
+TRCID_       0x5414 TRACE_SMB           "breakSMBOplock: exit rc %d\n"
+TRCID_       0x5415 TRACE_SMB           "breakOplockM: dev %d inode %d oplockNew %d argP 0x%lX"
+TRCID_       0x5416 TRACE_SMB           "breakOplockM: timeout %d seconds oiP 0x%lX ofP 0x%lX flags 0x%X rc %d\n"
+TRCID_       0x5417 TRACE_SMB           "breakOplockM exit: rc %d\n"
+TRCID_       0x5418 TRACE_KSVFS         "kSFSSetPolicyAttr enter:"
+TRCID_       0x5419 TRACE_KSVFS         "kSFSSetPolicyAttr exit: poolId %d dataRepl %d metaRepl %d code %d rc %d"
+TRCID_       0x541A TRACE_FS            "getOpaquePolicyAttrs inode %d snap %d bufSize %d attrSize %d rc %d"
+TRCID_       0x541B TRACE_FS            "putOpaquePolicy poolId was %d saved as %s now set to %d"
+TRCID_       0x541C TRACE_FS            "putOpaquePolicy setting inode %d fileSize %lld poolId %d dataRepl %d"
+TRCID_       0x541D TRACE_FS            "putOpaquePolicy inode %d snap %d new poolId %d dataRepl %d err %d"
+TRCID_       0x541E TRACE_NSD           "kxXmemXfer: copyin xmem struct %d bytes to 0x%lX from 0x%lX rc %d"
+TRCID_       0x541F TRACE_NSD           "kxXmemXfer: cxiXmemXfer rc %d len %d daemonAddr 0x%lX userAddr 0x%lX toUser %s"
+TRCID_       0x5420 TRACE_KSVFS         "kSFSRdWr: blockNum %lld fileOffset 0x%llX blkStart 0x%llX endOffset 0x%llX\n"
+TRCID_       0x5421 TRACE_KSVFS         "kSFSRdWr: patternChanged %d accessPattern %d nfsPrefetchStrategy %d\n"
+TRCID_       0x5422 TRACE_KSVFS         "kSFSRdWr: patternChanged %d accessPattern %d no nfsPrefetchStrategy %d\n"
+TRCID_       0x5423 TRACE_VNODE         "Wait: enter sleeper 0x%lX state 0x%X waitType 0x%X\n"
+TRCID_       0x5424 TRACE_VNODE         "Wait: exit sleeper 0x%lX state 0x%X waitType 0x%X rc %d\n"
+TRCID_       0x5425 TRACE_VNODE         "Post: enter sleeper 0x%lX state 0x%X seq_num %d postType 0x%X\n"
+TRCID_       0x5426 TRACE_VNODE         "Post: exit sleeper 0x%lX state 0x%X postType 0x%X\n"
+TRCID_       0x5427 TRACE_VNODE         "Retry remote: sleeper 0x%08lX flags 0x%X fcntlOps (L:%d U:%d)\n"
+TRCID_       0x5428 TRACE_VNODE         "RLTrace: kxRecLockRetries head %lX tail %lX\n"
+TRCID_       0x5429 TRACE_VNODE         "RLTrace: RetryMsg %d Wait %d NoWait %d RetryWaits %d\n"
+TRCID_       0x542A TRACE_VNODE         "RLTrace: nRetries 0:%d 1:%d 2:%d 3:%d 4:%d 5:%d 6:%d 7:%d 8:%d 9:%d\n"
+TRCID_       0x542B TRACE_VNODE         "RLTrace: Over Threshold %d RetryHWM %d perUnlockHWM %d\n"
+TRCID_       0x542C TRACE_VNODE         "RLTrace: total FcntlOps (L:%d U:%d) RLdrops %d\n"
+TRCID_       0x542D TRACE_VNODE         "RLTrace: total RevokesBlocked %d RevokesResumed %d\n"
+TRCID_       0x542E TRACE_VNODE         "RLTrace: current OpWaiters (L:%d U:%d) Current Op (L:%d U:%d)\n"
+TRCID_       0x542F TRACE_VNODE         "kxSendFlock: client 0x%lX sequence 0x%X nTokenRetries %d useCount becomes %d\n"
+TRCID_       0x5430 TRACE_VNODE         "kxSendFlock: client 0x%lX state 0x%X useCount becomes %d\n"
+TRCID_       0x5431 TRACE_VNODE         "kxSendFlock: client 0x%lX state 0x%X being freed\n"
+TRCID_       0x5432 TRACE_VNODE         "lockFcntlOps enter: revokeLockP 0x%lX isUnlock %d\n"
+TRCID_       0x5433 TRACE_VNODE         "lockFcntlOps: IPG (L:%d U:%d) Waiters (L:%d U:%d)\n"
+TRCID_       0x5434 TRACE_VNODE         "lockFcntlOps: waiting for FcntlOp lock\n"
+TRCID_       0x5435 TRACE_VNODE         "lockFcntlOps: resumed after event wait rc %d\n"
+TRCID_       0x5436 TRACE_VNODE         "lockFcntlOps exit rc %d\n"
+TRCID_       0x5437 TRACE_VNODE         "unlockFcntlOps enter: isUnlock %d\n"
+TRCID_       0x5438 TRACE_VNODE         "unlockFcntlOps: fcntlOpUnlockIPG %d fcntlOpLockIPG %d fcntlOpwaiters %d (L:%d U:%d)\n"
+TRCID_       0x5439 TRACE_VNODE         "unlockFcntlOps exit hasRL %d\n"
+TRCID_       0x543A TRACE_VNODE         "gpfsFcntl: allocated sleeper 0x%lX\n"
+TRCID_       0x543B TRACE_VNODE         "gpfsFcntl: sleeper 0x%lX state 0x%X useCount becomes %d\n"
+TRCID_       0x543C TRACE_VNODE         "gpfsFcntl: sleeper 0x%lX state 0x%X being freed\n"
+TRCID_       0x543D TRACE_VNODE         "RLTrace: AllowSynchronousRetries %d RetryThreshold %d\n"
+TRCID_       0x543E TRACE_LOCK          "hash tab lookup vfs: compacted 0x%08lX (0x%lX) in use by SharedHashTabTraversal: waiting"
+TRCID_       0x543F TRACE_LOCK          "hash tab lookup vfs: SharedHashTabTraversal wait failed, rc=%d\n"
+TRCID_       0x5440 TRACE_LOCK          "hash tab lookup vfs: will expand compacted 0x%08lX"
+TRCID_       0x5441 TRACE_LOCK          "hash tab lookup vfs: compact object 0x%08lX being freed, but has SharedHashTabTraversal count %d."
+TRCID_       0x5442 TRACE_VNODE         "disableSyncRetry nDisabled %d\n"
+TRCID_       0x5443 TRACE_VNODE         "enableSyncRetry nDisabled %d\n"
+TRCID_       0x5444 TRACE_VNODE         "wakeSyncRecLockRetries: sgP 0x%lX isQuiesced %d\n"
+TRCID_       0x5445 TRACE_KSVFS         "HoldSG: enter privVfsP 0x%lX sgP 0x%lX isQuiesced %d vfsUsers %d\n"
+TRCID_       0x5446 TRACE_KSVFS         "ReleSG: enter sgP 0x%lX isQuiesced %d vfsUsers %d\n"
+TRCID_       0x5447 TRACE_VNODE         "byteSwapNFS4ACL: nACE=%d, aclLength=%d, ACL_EXT_HEADER_SIZE_V4=%d, ExternalV4AceSize=%d"
+TRCID_       0x5448 TRACE_KSVFS         "xaccess: xattr blockNum %lld, ipsi %d cacheHit %d parDirInode %d"
+TRCID_       0x5449 TRACE_KSVFS         "setXattrPrefetch: PI.inode %d == pref.inode %d old fetchXattrs %d"
+I2N_         0x5001 reason_id2name      "wait for mailbox"
+I2N_         0x5002 reason_id2name      "waiting for mailbox reply"
+I2N_         0x5003 reason_id2name      "wait for mtime update"
+I2N_         0x5004 reason_id2name      "Waiting for VFS threads to complete"
+I2N_         0x5005 reason_id2name      "wait for fcntl acquire"
+I2N_         0x5006 reason_id2name      "waiting for ds buffer bytes to become available"
+I2N_         0x5007 reason_id2name      "Waiting for access to indirect block"
+I2N_         0x5008 reason_id2name      "waiting for all ds start hints to be issued."
+I2N_         0x5009 reason_id2name      "waiting for confirmation to begin data shipping."
+I2N_         0x500A reason_id2name      "waiting for confirmation to stop data shipping."
+I2N_         0x500B reason_id2name      "hash tab lookup vfs: waiting for SharedHashTabTraversal"
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/README
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/README	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/README	(revision 16)
@@ -0,0 +1,59 @@
+===============================================================================
+filehist       - Shell script wrapper for generating file space histograms
+                 for all currently mounted GPFS filesystems
+                 (uses /usr/lpp/mmfs/samples/util/tsinode
+                  and  /usr/lpp/mmfs/samples/debugtools/tsfilehist.awk)
+                 Generates one file for each filesystem called $fsname.filesum
+
+tsfilehist.awk - Awk script for generating file space histograms on GPFS
+                 filesystems. (Used by filehist script)
+
+===============================================================================
+trsum.awk      - Awk script for analyzing a GPFS trace and reporting various
+                 statistics.
+
+                 Example to show application calls and IO performed.
+                     (The trace will wrap and only retain the records just
+                      before the stop. See mmtrace -? for other options to
+                      make the trace output larger.)
+
+                   mmtrace trace=io
+                   #run test program
+                   mmtrace stop  #produces file with prefix /tmp/mmfs/trcrpt.
+                   cd /tmp/mmfs
+                   for file in trcrpt.*; do
+                     echo $file
+                     trsum.awk $file > trsum.${file#*trcrpt.}
+                   done &
+
+                 The trsum output shows system call entry/exit and elapsed time
+                 along with arguments for each operation.
+                 (trsum.awk details=0 ...  to turn this part off)
+
+                 At the end of the report are summaries and performance histograms.
+
+===============================================================================
+fsstruct.awk   - Error report analysis on AIX clusters.
+                 Build a file with the names of all nodes in the GPFS cluster:
+                   mmcommon getNodeList|awk '{print $3}' > $WCOLL
+                 Gather errpt -a output from all nodes
+                   for node in $(<$WCOLL); do
+                     mmdsh -L $node errpt -a 2>/dev/null
+                   done > errpt.all &
+                 Then summarize the errpt.all file with one line per event:
+                   fsstruct.awk errpt.all  | sort -k1,1 > gpfs.err.summary
+                   fsstruct.awk all=1 errpt.all  | sort -k1,1 > all.err.summary
+
+===============================================================================
+fsstructlx.awk - Error report analysis on Linux clusters.
+                 Build a file with the names of all nodes in the GPFS cluster:
+                   mmcommon getNodeList|awk '{print $3}' > $WCOLL
+                 Gather /var/log/messages* from all nodes
+                   for node in $(<$WCOLL); do
+                     mmdsh -L $node 'cat $(ls -tr /var/log/messages*)' 2>/dev/null
+                   done > syslogs.all &
+                 Then summarize the syslogs.all file with one line per event:
+                   fsstructlx.awk syslogs.all | sort -k1,1 > gpfs.err.summary
+                   fsstructlx.awk all=1 syslogs.all | sort -k1,1 > all.err.summary
+
+===============================================================================
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/filehist
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/filehist	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/filehist	(revision 16)
@@ -0,0 +1,56 @@
+#!/bin/ksh
+#
+# Usage : filehist
+#
+#	Shell script will process required environment variables and 
+#	analyze GPFS filesystems which are mounted
+#
+
+PATH=/tmp/mmfs:/usr/lpp/mmfs/bin:/usr/lpp/mmfs/samples/util:/usr/lpp/mmfs/samples/debugtools:/usr/sbin:/bin:$PATH
+#check for required commands
+if ! which tsinode 1>/dev/null
+then
+  print "filehist: tsinode not found. Run 'make tsinode' in /usr/lpp/mmfs/samples/util"
+  return 1
+fi
+if ! which tsfilehist.awk 1>/dev/null
+then
+  print "filehist: /usr/lpp/mmfs/samples/debugtools/tsfilehist.awk not found"
+  return 2
+fi
+
+#get mount points for GPFS filesystems
+opsys=$(uname -s)
+if [[ $opsys = AIX ]]; then
+  mtpts=$(mount|awk '$3 == "mmfs" {print $2":"substr($1,6)}')
+elif [[ $opsys = Linux ]]; then
+  mtpts=$(mount|awk '$5 == "gpfs" {print $3":"substr($1,6)}')
+else
+  print "$opsys not AIX or Linux"
+  return 1
+fi
+echo "Getting file histogram for: $mtpts"
+
+#get free space, blocksize of the filesystem, and nsd's
+for mf in $mtpts; do
+  mp=${mf%:*}; fs=${mf#*:}
+  df=$(df -k $mp | tail -1 | awk '{print $2 "k"}')
+  blksz=$(tslsfs $fs -B | tail -1 | awk '{print $2/1024}')
+  diskls="$(tslsdisk $fs -i 2>/dev/null)"
+  integer disks=$(echo "$diskls"| wc -l)
+  let bk=disks
+  let bk4m=4096/blksz
+  [[ $bk -lt $bk4m ]] && bk=$bk4m
+  [[ $bk -lt 100 ]] && bk=100
+  echo "Writing output to $fs.filesum "
+  echo "=======================\n$fs: $(hostname) $(date)\n=======================\n" > $fs.filesum
+  df -k $mp >> $fs.filesum
+  echo "\n" >> $fs.filesum
+  mmlsfs $fs >> $fs.filesum
+  echo "\n\n$diskls\n\n" >> $fs.filesum
+  echo "Background: tsinode $mp | tsfilehist.awk availablespace=$df nbuckets=$bk blocksize=$blksz"
+  tsinode $mp | tsfilehist.awk availablespace=$df nbuckets=$bk blocksize=$blksz >> $fs.filesum &
+
+done
+echo "Waiting for background processes to complete"
+wait
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/fsstruct.awk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/fsstruct.awk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/fsstruct.awk	(revision 16)
@@ -0,0 +1,652 @@
+#! /bin/awk -f
+#  fsstruct will decode the AIX errpt fsstruct entries to be more readable.  
+#  extract error messages with errpt -a <filename>
+#  setting all=1 will print out all error entries, all=0 will just print out
+#  GPFS related error entries.
+#############################################################################
+#
+# Usage:  fsstruct.awk [<all=1>] <filename>
+#
+#############################################################################
+
+BEGIN {
+  if (ARGC<2)
+  {
+    print "Usage:  fsstruct.awk [<all=1>] <filename>"
+    terminate=1
+    exit 1
+  }
+
+  wide=1 #set to 0 for pre-gpfs2.3 versions that do not use wide disk addresses
+  all=0
+  decode=1
+  name[101]="FSErrInconsistentInode   "; sens[101]=5; fmt[101]="4 8 8 2 v"
+  name[102]="FSErrIndirectBlock       "; sens[102]=5; fmt[102]="f 4 4 4 v"
+  name[104]="FSErrBadReplicationCounts"; sens[104]=5; fmt[104]="4 v"
+  name[105]="FSErrBadPtrReplications  "; sens[105]=5; fmt[105]="4 2 2 2 v"
+  name[106]="FSErrIndirectionLevel    "; sens[106]=5; fmt[106]="4 2 v"
+  name[107]="FSErrDeallocBlock        "; sens[107]=1; fmt[107]="4 4 4 4 4 4 4 4"
+  #wide alt#name[107]="FSErrDeallocBlock        "; sens[107]=1; fmt[107]="4 4 8 4 4 4 4"
+  name[108]="FSErrValidate            "; sens[108]=5; fmt[108]="2 d 2 r v"
+  name[109]="FSErrBadDiskAddrIndex    "; sens[109]=1; fmt[109]="d 2"
+  name[110]="FSErrBadDiskAddrSector   "; sens[110]=1; fmt[110]="d 2 2"
+  name[111]="FSErrBadDirBlock         "; sens[111]=2; fmt[111]="4 4 4 4 4 4 4 4 4 4"
+  name[112]="FSErrBadInodeStatus      "; sens[112]=5; fmt[112]="4 v"
+  name[113]="FSErrBadInodeOrGen       "; sens[113]=5; fmt[113]="4 4 4 v"
+  name[114]="FSErrAllocBlock          "; sens[114]=1; fmt[114]="4 4 4 4"
+  name[115]="FSErrBadDittoAddr        "; sens[115]=2; fmt[115]="4 4 4 4 4 4 4 4 8"
+  name[116]="FSErrSnapInodeModified   "; sens[116]=5; fmt[116]="4 4 4 4 v"
+
+# subcode of 111 FSErrBadDirBlock
+  name[201]="DirErrCheckHeaderFailed  "; sens[201]=2; fmt[201]="4 4 4 4 4 4 4 4 4 4"
+  name[202]="DirErrDotDotNotFound     "; sens[202]=2; fmt[202]="4 4 4 4 4 4"
+  name[203]="DirErrGenNumMismatch     "; sens[203]=2; fmt[203]="4 4 4 4 4 4"
+  name[204]="DirErrInodeNumMismatch   "; sens[204]=2; fmt[204]="4 4 4 4 4 4"
+  name[205]="DirErrInodeCorrupted     "; sens[205]=2; fmt[205]="4 4 4 4 4 4"
+  name[206]="DirErrDirectCorrupted    "; sens[206]=2; fmt[206]="4 4 4 4 4 4"
+
+  valtype[1]="inode"
+  valtype[2]="indBlock"
+  valtype[3]="dataAllocmap"
+  valtype[4]="inodeAllocmap"
+  valtype[5]="dirBlock"
+  valtype[6]="bufDataAllocMap"
+
+  buftype[0]="PBT_UNKNOWN"
+  buftype[1]="PBT_FREE"
+  buftype[2]="PBT_METADATA"
+  buftype[3]="PBT_TEMP"
+  buftype[4]="PBT_DISKDESC"
+  buftype[5]="PBT_SGDESC"
+  buftype[6]="PBT_DATA"
+  buftype[7]="PBT_IND"
+  buftype[8]="PBT_INODE"
+  buftype[9]="PBT_LLDATA"
+  buftype[10]="PBT_LLINDIRECT"
+  buftype[11]="PBT_LLINODE"
+  buftype[12]="PBT_ALLOC"
+  buftype[13]="PBT_IALLOC"
+  buftype[14]="PBT_LOG"
+  buftype[15]="PBT_LOGDESC"
+  buftype[16]="PBT_RECOV"
+  buftype[17]="PBT_LOG_WRAP"
+  buftype[18]="PBT_ISCAN"
+
+  allerrtype["FFFF"]="NoBlock"
+  allerrtype["FFFE"]="LinkListFirst"
+  allerrtype["FFFD"]="NoConsecutive"
+  allerrtype["FFFC"]="LinkListNth"
+  allerrtype["FFFB"]="LinkListNew"
+
+  monthof["Jan"]="01"
+  monthof["Feb"]="02"
+  monthof["Mar"]="03"
+  monthof["Apr"]="04"
+  monthof["May"]="05"
+  monthof["Jun"]="06"
+  monthof["Jul"]="07"
+  monthof["Aug"]="08"
+  monthof["Sep"]="09"
+  monthof["Oct"]="10"
+  monthof["Nov"]="11"
+  monthof["Dec"]="12"
+}
+function hexToDecimal(hex, d, ch, i, val)
+{
+  d = 0
+  for (i=1 ; i<=length(hex) ; i++)
+  {
+    ch = substr(hex,i,1)
+    val = index("0123456789ABCDEF", ch)
+    if (val == 0)
+      val = index("0123456789abcdef", ch)
+    d = d*16 + val - 1
+  }
+  return d
+}
+function finishGPFSrec()
+{
+  if (ingpfs)
+  {
+    ingpfs=0
+    printed=0
+    prest=""
+    if (ingeneric)
+      {ingeneric=0; prest="rc="rcode" reason="rscode" lvl="lvl" line "lineno" "module}
+    else if (inshutdown)
+      {inshutdown=0; prest="rc="rcode" reason="rscode" lvl="lvl" line "lineno" "module}
+    else if (inlongdiskio) {inlongdiskio=0}
+    else if (inunmount)
+      {inunmount=0; prest="rc="scode" "vol}
+    else if (indiskfail)
+      {indiskfail=0; prest="rc="rcode" "vol" disk "physvol}
+    else if (intraceback) {intraceback=0}
+    else if (inmoreinfo)
+      {inmoreinfo=0; prest="failedassert="assert}
+    else if (inphoenix)
+      {inphoenix=0; prest=phoemsg}
+    else if (inquota) {inquota=0}
+    else if (inenviron) {inenviron=0; prest="rc="rcode" "phoemsg}
+    else if (inrecovery) {inrecovery=0}
+    else if (inwarning) {inwarning=0}
+    else if (infsstruct) {infsstruct=0; printed=1}
+
+    if (!printed)
+      printf("%s %s %s %s %s\n", date, node, label, id, prest)
+  }
+  else if (all && havestuff)
+    printf("%s %s %s %s %s\n", date, node, label, id, otherstuff)
+  havestuff=0
+}
+
+/LABEL:/        {label=$NF; havestuff=1; otherstuff=""}
+/IDENTIFIER:/   {id=$NF}
+/MMFS_GENERIC/           {ingpfs=1; ingeneric=1}
+/MMFS_ABNORMAL_SHUTD/    {ingpfs=1; inshutdown=1}
+/MMFS_LONGDISKIO/        {ingpfs=1; inlongdiskio=1}
+/MMFS_SYSTEM_UNMOUNT/    {ingpfs=1; inunmount=1}
+/MMFS_DISKFAIL/          {ingpfs=1; indiskfail=1}
+/MMFS_TRACEBACK/         {ingpfs=1; intraceback=1}
+/MMFS_MOREINFO/          {ingpfs=1; inmoreinfo=1}
+/MMFS_PHOENIX/           {ingpfs=1; inphoenix=1}
+/MMFS_QUOTA/             {ingpfs=1; inquota=1}
+/MMFS_ENVIRON/           {ingpfs=1; inenviron=1}
+/MMFS_RECOVERY/          {ingpfs=1; inrecovery=1}
+/MMFS_SYSTEM_WARNING/    {ingpfs=1; inwarning=1}
+/MMFS_FSSTRUCT/          {ingpfs=1; infsstruct=1}
+/Date.Time:/ {
+  pos=index($0,"Date/Time:")
+  $0=substr($0,pos)
+  day=$4; if (day < 10) day="0"day
+  mon=monthof[$3]; if (mon == "") mon=$3
+  date=$NF"/"mon"/"day"@"$5
+}
+/Node Id:/      {node=$NF}
+/STATUS CODE/       {getline; scode=$NF}
+/RETURN CODE/ {
+  getline; rcode=$NF
+  if (label == "VSD_EXT2_ER") {otherstuff=otherstuff" vsderr="$NF}
+}
+/REASON CODE/       {getline; if (NF == 2) rscode=$(NF-1) $NF; else rscode=$NF}
+/ERROR CODE/        {getline; code=$NF; if (infsstruct) count[code]++}
+/LINE/              {if (NF <= 2) {getline; lineno=$NF}}
+/MAINTENANCE LEVEL/ {getline; lvl=$NF}
+/REQUESTER/         {getline; assert=$0}
+/ERROR DATA/        {inphoedata=NF; phoemsg=""}
+/SIGNAL NUMBER/     {getline; otherstuff=otherstuff" sig="$NF}
+/CORE FILE NAME/    {getline; otherstuff=otherstuff" core="$NF}
+/PROGRAM NAME/      {getline; otherstuff=otherstuff" prog="$NF}
+/heartbeat is late/ {getline; otherstuff=otherstuff" lateheartbeat="$NF}
+/process was blocked/ {getline; otherstuff=otherstuff" stucktopologyservice="$NF}
+/Interface name/    {getline; otherstuff=otherstuff" interface="$NF}
+/DIAGNOSTIC EXPLANATION/ {
+  if (index($0, "Refer to the") == 0)
+    if (label == "VSD_INT_ER" || label == "RVSDD_ER")
+      {getline; otherstuff=otherstuff" vsdexpl="$0}
+}
+/INVALID VALUE/ {
+  if (label == "VSD_INT_ER")
+    {getline; otherstuff=otherstuff" vsderr="$NF}
+}
+/MAJOR NUMBER/ {
+  if (label == "VSD_EXT2_ER")
+    {getline; otherstuff=otherstuff" major="$NF}
+}
+/MINOR NUMBER/ {
+  if (label == "VSD_EXT2_ER")
+    {getline; otherstuff=otherstuff" minor="$NF}
+}
+/FUNCTION/ {
+  if (label == "VSD_EXT2_ER")
+  {
+    getline; otherstuff=otherstuff" function="$NF
+    getline; getline; otherstuff=otherstuff" extfunc="$NF
+  }
+  else if (label == "VSD_STOPVSD_ST")
+    {getline; otherstuff=otherstuff" function="$NF}
+}
+/FAILING MODULE/ {
+  if (label == "SRC_RSTRT" || label == "SRC_TRYX")
+    {getline; otherstuff=otherstuff" restart="$NF}
+}
+/Adapter interface name/ {
+  if (label == "TS_MISCFG_ER")
+    {getline; otherstuff=otherstuff" interface="$NF}
+}
+/Adapter offset/ {
+  if (label == "TS_MISCFG_ER")
+    {getline; otherstuff=otherstuff" offset="$NF}
+}
+/Adapter expected IP address/ {
+  if (label == "TS_MISCFG_ER")
+    {getline; otherstuff=otherstuff" expected="$NF}
+}
+/FILE SYSTEM DEVICE AND MOUNT POINT/ {
+  if (index(label,"FS_FULL") > 0)
+    {getline; otherstuff=otherstuff" "$(NF-1)" "$NF}
+}
+/JFS2 MAJOR/ {
+  if (index(label,"FS_FULL") > 0)
+    {getline; otherstuff=otherstuff" "$(NF-1)" "$NF}
+}
+/SOFT IPL 1/ {
+  if (label == "REBOOT_ID")
+    {getline;
+     if ($NF == "0") otherstuff=otherstuff" SOFT IPL"
+     else if ($NF == "1") otherstuff=otherstuff" HALT"
+     else if ($NF == "2") otherstuff=otherstuff" TIME REBOOT"
+     else otherstuff=otherstuff" boottype="$NF
+    }
+}
+/TIME/ {
+  if (label == "DUMP_STATS")
+    {getline; otherstuff=otherstuff" "$0}
+}
+/Type:/ {
+  if (substr(label,1,2) == "FC" || substr(label,1,7) == "SC_DISK")
+    { otherstuff=otherstuff" "$NF}
+}
+/Resource Name:/ {
+  if (substr(label,1,2) == "FC" || substr(label,1,7) == "SC_DISK")
+    { otherstuff=otherstuff" "$NF}
+}
+/Resource Class:/ {
+  if (substr(label,1,2) == "FC" || substr(label,1,7) == "SC_DISK")
+    { otherstuff=otherstuff" "$NF}
+}
+/Resource Type:/ {
+  if (substr(label,1,2) == "FC" || substr(label,1,7) == "SC_DISK")
+    { otherstuff=otherstuff" "$NF}
+}
+/Location:/ {
+  if (substr(label,1,2) == "FC" || substr(label,1,7) == "SC_DISK")
+    { otherstuff=otherstuff" "$NF}
+}
+/PHYSICAL VOLUME DEVICE MAJOR/ {
+  if (label == "LVM_IO_FAIL")
+  {
+    getline;
+    if (NF > 3)
+      otherstuff=otherstuff" physicalvol="$(NF-3)$(NF-2)$(NF-1)$NF
+    else
+      otherstuff=otherstuff" physicalvol="$(NF-1)$NF
+  }
+  next
+}
+/LOGICAL VOLUME DEVICE MAJOR/ {
+  if (label == "LVM_IO_FAIL")
+  {
+    getline;
+    if (NF > 3)
+      otherstuff=otherstuff" logicalvol="$(NF-3)$(NF-2)$(NF-1)$NF
+    else
+      otherstuff=otherstuff" logicalvol="$(NF-1)$NF
+  }
+  next
+}
+/PHYSICAL VOLUME/   {getline; physvol=$NF; next}
+/VOLUME/ {
+  getline; vol=$NF
+  if (label == "VSD_STOPVSD_ST") {otherstuff=otherstuff" vg="$NF}
+}
+/PHYSICAL BUFFER TRANSACTION TIME/ {
+  if (label == "LVM_IO_FAIL")
+    {getline; otherstuff=otherstuff" iotime="$NF}
+  next
+}
+/BLOCK NUMBER/ {
+  if (label == "LVM_IO_FAIL")
+    {getline; otherstuff=otherstuff" err="code" sector="$NF}
+  next
+}
+/PANIC STRING/ {
+  if (label == "KERNEL_PANIC")
+    {getline; otherstuff=otherstuff" panic="$0}
+}
+/ASSERT STRING/ {
+  if (label == "KERNEL_PANIC")
+    {getline; otherstuff=otherstuff" assert="$0}
+}
+/DETECTING MODULE/ {
+  if (ingpfs)
+  {
+    getline; module=$NF
+    pos=index(module,"/")
+    while (pos > 0)
+    {
+      module=substr(module,pos+1)
+      pos=index(module,"/")
+    }
+  }
+  else {getline; otherstuff=otherstuff" detectedby="$0}
+}
+/SENSE DATA/    {
+  if (infsstruct)
+  {
+    if (NF == 3) indsh=1
+    else indsh=0
+    sl=sens[code]; if (sl == 0) sl=5
+    sense=""
+    for (i=1; i <= sl; i++)
+    {
+      getline; if (indsh) $1=""
+      sense = sense " " $0
+    }
+    $0 = sense
+    NF = split($0, wds)
+    wd=2
+    if (code == 111)   # FSErrBadDirBlock
+    {
+      code=hexToDecimal($(wd+1));
+      if (code >= 201 && code <= 206)
+        wd+=2
+      else code=111
+    }
+    formt=fmt[code]
+    if (!decode || formt == "")
+      printf("%s %s %s %s %s %s %s\n",
+             date, node, "MMFS_FSSTRUCT", vol, code, name[code], sense)
+    else
+    {
+      tokens=0
+      for (f=1; f <= length(formt); f++)
+      {
+        ch = substr(formt,f,1)
+        if (ch != " ")
+        {
+          tokens++
+          if (ch == "4")
+          {
+            tok[tokens] = $wd $(wd+1); wd+=2
+          }
+          else if (ch == "2")
+          {
+            tok[tokens] = $wd; wd+=1
+          }
+          else if (ch == "8")
+          {
+            tok[tokens] = $wd $(wd+1) $(wd+2) $(wd+3); wd+=4
+          }
+          else if (ch == "d")
+          {
+            if (wide)
+            {
+              tok[tokens] = $wd $(wd+1)":"$(wd+2) $(wd+3) $(wd+4) $(wd+5)"("hexToDecimal($wd $(wd+1))":"hexToDecimal($(wd+2) $(wd+3) $(wd+4) $(wd+5))")"; wd+=6
+            }
+            else
+            {
+              tok[tokens] = $wd":"$(wd+1) $(wd+2)"("hexToDecimal($wd)":"hexToDecimal($(wd+1) $(wd+2))")"; wd+=3
+            }
+          }
+          else if (ch == "r")
+          {
+            nval=$wd; wd++
+            if (nval == "FFFF")
+              tok[tokens]="[broken]"
+            else
+            {
+              nval+=0
+              tok[tokens] = "[nVal="nval
+              while (nval > 0)
+              {
+                if (wide)
+                {
+                  tok[tokens] = tok[tokens]" "$wd $(wd+1)":"$(wd+2) $(wd+3) $(wd+4) $(wd+5)"("hexToDecimal($wd $(wd+1))":"hexToDecimal($(wd+2) $(wd+3) $(wd+4) $(wd+5))")"; wd+=6
+                }
+                else
+                {
+                  tok[tokens] = tok[tokens]" "$wd":"$(wd+1) $(wd+2)"("hexToDecimal($wd)":"hexToDecimal($(wd+1) $(wd+2))")"; wd+=3
+                }
+                nval--
+              }
+              tok[tokens] = tok[tokens]"]"
+            }
+          }
+          else if (ch == "f")
+          {
+            nval=$wd; wd++
+            if (nval == "FFFF")
+              tok[tokens]="[broken"
+            else
+            {
+              nval+=0
+              tok[tokens] = "[nVal="nval
+              while (nval > 0)
+              {
+                if (wide)
+                {
+                  tok[tokens] = tok[tokens]" "$wd $(wd+1)":"$(wd+2) $(wd+3) $(wd+4) $(wd+5)"("hexToDecimal($wd $(wd+1))":"hexToDecimal($(wd+2) $(wd+3) $(wd+4) $(wd+5))")"; wd+=6
+                }
+                else
+                {
+                  tok[tokens] = tok[tokens]" "$wd":"$(wd+1) $(wd+2)"("hexToDecimal($wd)":"hexToDecimal($(wd+1) $(wd+2))")"; wd+=3
+                }
+                nval--
+              }
+            }
+            tok[tokens] = tok[tokens]" subl="$wd"]"; wd++
+          }
+          else if (ch == "v")
+          {
+            tok[tokens] = "(len="$wd $(wd+1)")"; wd+=2
+            while (NF >= wd && $NF == "0000")
+              NF--
+            while (wd <= NF)
+            {
+              tok[tokens] = tok[tokens]" "$wd; wd++
+            }
+          }
+        }
+      }
+      rest=""
+      while (NF >= wd && $NF == "0000")
+        NF--
+      while (wd <= NF)
+      {
+        rest = rest" "$wd; wd++
+      }
+
+      if (code == 101)        # FSErrInconsistentInode
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="allocBlks="tok[2]
+        tok[3]="lastBlock="tok[3]
+        tok[4]="fragSubbl="tok[4]
+        tok[5]="inode="tok[5]
+      }
+      else if (code == 102)   # FSErrIndirectBlock
+      {
+        tok[1]="da="tok[1]
+        tok[2]="gen="tok[2]
+        tok[3]="inodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="expectBlkNum="tok[4]
+        tok[5]="indBlock="tok[5]
+      }
+      else if (code == 104)   # FSErrBadReplicationCounts
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="inode="tok[2]
+      }
+      else if (code == 105)   # FSErrBadPtrReplications
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="dataPtrsPerInode="tok[2]
+        tok[3]="indPtrsPerInode="tok[3]
+        tok[4]="dataPtrsPerIndBlk="tok[4]
+        tok[5]="inode="tok[5]
+      }
+      else if (code == 106)   # FSErrIndirectionLevel
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="invalIndLvl="tok[2]
+        tok[3]="inode="tok[3]
+      }
+      else if (code == 107)   # FSErrDeallocBlock
+      {
+        tok[1]="errno="tok[1]
+        tok[2]="diskNum="tok[2]
+        if (wide || tok[4] > 32) # subblocks too big, assume 8 byte sector number
+        {
+          tok[3]="sector="tok[3] tok[4]
+          tok[4]="nSubblocks="tok[5]
+          tok[5]="region="tok[6]
+          tok[6]="segment="tok[7]
+          tok[7]="subBlock="tok[8]
+        }
+        else # assume 4 byte sector number
+        {
+          tok[3]="sector="tok[3]
+          tok[4]="nSubblocks="tok[4]
+          tok[5]="region="tok[5]
+          tok[6]="segment="tok[6]
+          tok[7]="subBlock="tok[7]
+        }
+      }
+      else if (code == 108)   # FSErrValidate
+      {
+        type=valtype[tok[1]+0]
+        if (type == "") type=tok[1]
+        tok[1]="type="type
+        tok[2]="da="tok[2]
+        tok[3]="sectors="tok[3]
+        tok[4]="repda="tok[4]
+        tok[5]="data="tok[5]
+      }
+      else if (code == 109)   # FSErrBadDiskAddrIndex
+      {
+        tok[1]="da="tok[1]
+        type=buftype[tok[2]+0]
+        if (type == "") type=tok[2]
+        tok[2]="type="type
+      }
+      else if (code == 110)   # FSErrBadDiskAddrSector
+      {
+        tok[1]="da="tok[1]
+        tok[2]="sectors="tok[2]
+        type=buftype[hexToDecimal(tok[3])]
+        if (type == "") type=tok[3]
+        tok[3]="type="type
+      }
+      else if (code == 111)   # FSErrBadDirBlock
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="blockNum="tok[2]
+        tok[3]="errorcode="tok[3]
+        tok[4]="errno="tok[4]
+        tok[5]="dirhdr="tok[5]
+        # and pick up tok[6 7 8 9]
+      }
+      else if (code == 112)   # FSErrBadInodeStatus
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="inode="tok[2]
+      }
+      else if (code == 113)   # FSErrBadInodeOrGen
+      {
+        tok[1]="fileInodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="dirInodeNum="tok[2]"("hexToDecimal(tok[2])")"
+        tok[3]="gen="tok[3]
+        tok[4]="filename="tok[4]
+      }
+      else if (code == 114)   # FSErrAllocBlock
+      {
+        type=allerrtype[tok[1]]
+        if (type == "") type=tok[1]
+        tok[1]="type="type
+        tok[2]="diskIndex="tok[2]
+        tok[3]="recordNo="tok[3]
+        tok[4]="nSubblocks="tok[4]
+      }
+      else if (code == 115)   # FSErrBadDittoAddr
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="gen="tok[2]
+        tok[3]="snapId="tok[3]
+        tok[4]="inodeStatus="tok[4]
+        tok[5]="InodeNumPrevSnap="tok[5]"("hexToDecimal(tok[5])")"
+        tok[6]="genPrevSnap="tok[6]
+        tok[7]="snapIdPrevSnap="tok[7]
+        tok[8]="inodeStatusPrevSnap="tok[8]
+        tok[9]="blockNum="tok[9]
+      }
+      else if (code == 116)   # FSErrSnapInodeModified
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="snapId="tok[2]
+        tok[3]="nextSnapId="tok[3]
+        tok[4]="fileModifiedSnapId="tok[4]
+        tok[5]="inode="tok[5]
+      }
+      else if (code == 201)   # DirErrCheckHeaderFailed
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="snapId="tok[2]
+        tok[3]="blockNum="tok[3]
+        tok[4]="errorcode="tok[4]
+        tok[5]="rc="tok[5]
+        tok[6]="dirhdr="tok[6]
+        # and pick up tok[7 8 9 10 11]
+      }
+      else if (code == 202)   # DirErrDotDotNotFound
+      {
+        tok[1]="errorcode="tok[1]
+        tok[2]="rc="tok[2]
+        tok[3]="srcInodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="srcGen="tok[4]
+      }
+      else if (code == 203)   # DirErrGenNumMismatch
+      {
+        tok[1]="errorcode="tok[1]
+        tok[2]="rc="tok[2]
+        tok[3]="srcInodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="srcGen="tok[4]
+        tok[5]="entryGen="tok[5]
+      }
+      else if (code == 204)   # DirErrInodeNumMismatch
+      {
+        tok[1]="errorcode="tok[1]
+        tok[2]="rc="tok[2]
+        tok[3]="srcInodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="entryInodeNum="tok[4]"("hexToDecimal(tok[4])")"
+      }
+      else if (code == 205)   # DirErrInodeCorrupted
+      {
+        tok[3]="inodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="srcGen="tok[4]
+        tok[5]="entryGen="tok[5]
+        tok[6]="entryInodeStatus="tok[6]
+      }
+      else if (code == 206)   # DirErrDirectCorrupted
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="blockNum="tok[2]
+        tok[3]="errorcode="tok[3]
+        tok[4]="errno="tok[4]
+        tok[5]="dirhdr="tok[5]
+        # and pick up tok[6 7 8 9]
+      }
+
+      printf("%s %s %s %s %s %s",
+             date, node, "MMFS_FSSTRUCT", vol, code, name[code])
+      for (i = 1; i <= tokens; i++)
+        printf(" %s", tok[i])
+      if (rest != "") printf(" rest =%s\n", rest)
+      else printf("\n")
+    }
+  }
+}
+/---------------------/ {inphoedata=0; finishGPFSrec()}
+
+{
+  if (inphoedata > 0)
+  {
+    if (inphoedata > 2) $1=""
+    phoemsg=phoemsg" "$0
+  }
+}
+END {
+  if (terminate) exit 1
+  finishGPFSrec()
+  for (code in count)
+    printf("+++code: %4d %s %9d times\n", code, name[code], count[code])
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/fsstructlx.awk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/fsstructlx.awk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/fsstructlx.awk	(revision 16)
@@ -0,0 +1,606 @@
+#! /bin/awk -f
+# fsstructlx.awk will decode Linux error messages in /var/log/messages to be more readable.
+#  setting all=1 will print out all error entries, all=0 will just print out
+#  GPFS related error entries.
+#############################################################################
+#
+# Usage:  fsstructlx.awk [<all=1>] <filename>
+#
+#############################################################################
+
+
+BEGIN {
+  if (ARGC<2)
+  {
+    print "Usage:  fsstructlx.awk [<all=1>] <filename>"
+    terminate=1
+    exit 1
+  }
+
+  wide=1 #set to 0 for pre-gpfs2.3 versions that do not use wide disk addresses
+  all=0
+  decode=1
+  CONVFMT="%.12g"
+  OFMT="%.12g"
+  name[101]="FSErrInconsistentInode   "; sens[101]=5; fmt[101]="4 8 8 2 v"
+  name[102]="FSErrIndirectBlock       "; sens[102]=5; fmt[102]="f 4 4 4 v"
+  name[104]="FSErrBadReplicationCounts"; sens[104]=5; fmt[104]="4 v"
+  name[105]="FSErrBadPtrReplications  "; sens[105]=5; fmt[105]="4 2 2 2 v"
+  name[106]="FSErrIndirectionLevel    "; sens[106]=5; fmt[106]="4 2 v"
+  name[107]="FSErrDeallocBlock        "; sens[107]=1; fmt[107]="4 4 4 4 4 4 4 4"
+  #wide alt#name[107]="FSErrDeallocBlock        "; sens[107]=1; fmt[107]="4 4 8 4 4 4 4"
+  name[108]="FSErrValidate            "; sens[108]=5; fmt[108]="2 d 2 r v"
+  name[109]="FSErrBadDiskAddrIndex    "; sens[109]=1; fmt[109]="d 2"
+  name[110]="FSErrBadDiskAddrSector   "; sens[110]=1; fmt[110]="d 2 2"
+  name[111]="FSErrBadDirBlock         "; sens[111]=2; fmt[111]="4 4 4 4 4 4 4 4 4 4"
+  name[112]="FSErrBadInodeStatus      "; sens[112]=5; fmt[112]="4 v"
+  name[113]="FSErrBadInodeOrGen       "; sens[113]=5; fmt[113]="4 4 4 v"
+  name[114]="FSErrAllocBlock          "; sens[114]=1; fmt[114]="4 4 4 4"
+  name[115]="FSErrBadDittoAddr        "; sens[115]=2; fmt[115]="4 4 4 4 4 4 4 4 8"
+  name[116]="FSErrSnapInodeModified   "; sens[116]=5; fmt[116]="4 4 4 4 v"
+
+# subcode of 111 FSErrBadDirBlock
+  name[201]="DirErrCheckHeaderFailed  "; sens[201]=2; fmt[201]="4 4 4 4 4 4 4 4 4 4"
+  name[202]="DirErrDotDotNotFound     "; sens[202]=2; fmt[202]="4 4 4 4 4 4"
+  name[203]="DirErrGenNumMismatch     "; sens[203]=2; fmt[203]="4 4 4 4 4 4"
+  name[204]="DirErrInodeNumMismatch   "; sens[204]=2; fmt[204]="4 4 4 4 4 4"
+  name[205]="DirErrInodeCorrupted     "; sens[205]=2; fmt[205]="4 4 4 4 4 4"
+  name[206]="DirErrDirectCorrupted    "; sens[206]=2; fmt[206]="4 4 4 4 4 4"
+
+  valtype[1]="inode"
+  valtype[2]="indBlock"
+  valtype[3]="dataAllocmap"
+  valtype[4]="inodeAllocmap"
+  valtype[5]="dirBlock"
+  valtype[6]="bufDataAllocMap"
+
+  buftype[0]="PBT_UNKNOWN"
+  buftype[1]="PBT_FREE"
+  buftype[2]="PBT_METADATA"
+  buftype[3]="PBT_TEMP"
+  buftype[4]="PBT_DISKDESC"
+  buftype[5]="PBT_SGDESC"
+  buftype[6]="PBT_DATA"
+  buftype[7]="PBT_IND"
+  buftype[8]="PBT_INODE"
+  buftype[9]="PBT_LLDATA"
+  buftype[10]="PBT_LLINDIRECT"
+  buftype[11]="PBT_LLINODE"
+  buftype[12]="PBT_ALLOC"
+  buftype[13]="PBT_IALLOC"
+  buftype[14]="PBT_LOG"
+  buftype[15]="PBT_LOGDESC"
+  buftype[16]="PBT_RECOV"
+  buftype[17]="PBT_LOG_WRAP"
+  buftype[18]="PBT_ISCAN"
+
+  allerrtype["FFFF"]="NoBlock"
+  allerrtype["FFFE"]="LinkListFirst"
+  allerrtype["FFFD"]="NoConsecutive"
+  allerrtype["FFFC"]="LinkListNth"
+  allerrtype["FFFB"]="LinkListNew"
+
+  monthof["Jan"]="01"
+  monthof["Feb"]="02"
+  monthof["Mar"]="03"
+  monthof["Apr"]="04"
+  monthof["May"]="05"
+  monthof["Jun"]="06"
+  monthof["Jul"]="07"
+  monthof["Aug"]="08"
+  monthof["Sep"]="09"
+  monthof["Oct"]="10"
+  monthof["Nov"]="11"
+  monthof["Dec"]="12"
+
+}
+function hexToDecimal(hex, d, ch, i, val)
+{
+  d = 0
+  for (i=1 ; i<=length(hex) ; i++)
+  {
+    ch = substr(hex,i,1)
+    val = index("0123456789ABCDEF", ch)
+    if (val == 0)
+      val = index("0123456789abcdef", ch)
+    d = d*16 + val - 1
+  }
+  return d
+}
+
+function handle_mmfs_line(ln)
+{
+  $0=ln
+  mon=monthof[$1]; if (mon == "") mon=$1
+  day=$2; if (day < 10) day="0"day
+  date=mon"/"day"@"$3
+  node=$4
+  printed=0
+  if (index($0, "mmfs: Generic error") > 0)
+  {
+    module=$9
+    pos=index(module,"/")
+    while (pos > 0)
+    {
+      module=substr(module,pos+1)
+      pos=index(module,"/")
+    }
+    lineno=$11
+    rcode=substr($13,1,length($13)-1)
+    rscode=$15
+    # assume it belongs to last tag seen
+    sense[subscr] = sense[subscr] " rc="rcode" reason="rscode" line "lineno" "module
+    printed=1
+  }
+  else if (index($0, "mmfs: Tag=") > 0)
+  {
+    pos=index($0,"Tag=")
+    tag=substr($6,5)
+    subscr=FILENAME SUBSEP tag
+    rest=substr($0,pos+length($6)+1)
+    sense[subscr] = sense[subscr] " failedassert=" rest
+    printed=1
+  }
+  else if (substr($6,1,6) == "Error=" || substr($7,1,6) == "Error=" )
+  {
+    if ($6 == "mmfsd:")
+    {
+      label=substr($7,7)
+      id=substr($8,6)
+      tag=substr($9,5)
+    }
+    else
+    {
+      label=substr($6,7)
+      id=substr($7,6)
+      tag=substr($8,5)
+    }
+    label=substr(label,1,length(label)-1)
+    id=substr(id,1,length(id)-1)
+    if (substr(tag,length(tag)) == ":") tag=substr(tag,1,length(tag)-1)
+    subscr=FILENAME SUBSEP tag
+    if (seentag[subscr] == "")
+    {
+      tags++
+      taglist[tags]=subscr
+      seentag[subscr]=sprintf("%s %s %s %s", date, node, label, id)
+    }
+    pos=index($0,"Tag=")
+    if (pos > 0)
+    {
+      rest=substr($0,pos)
+      pos=index(rest,":")
+      if (pos > 0)
+        rest=substr(rest,pos+1)
+      sense[subscr] = sense[subscr] " " rest
+    }
+    if (label == "MMFS_FSSTRUCT")
+    {
+      pos=index($0,"Error code")
+      if (pos > 0)
+      {
+        ingpfs=1; infsstruct=1
+        $0=substr($0,pos)
+        code=substr($3,1,length($3)-1)
+        count[code]++
+        vol=$5
+        seentag[subscr] = seentag[subscr] " " code " " vol
+        sense[subscr] = ""
+      }
+      printed=1
+    }
+    else if (label == "MMFS_PHOENIX")           {printed=1; ingpfs=1; inphoenix=1}
+    else if (label == "MMFS_GENERIC")           {printed=1; ingpfs=1; ingeneric=1}
+    else if (label == "MMFS_ABNORMAL_SHUTDOWN") {printed=1; ingpfs=1; inshutdown=1}
+    else if (label == "MMFS_LONGDISKIO")        {printed=1; ingpfs=1; inlongdiskio=1}
+    else if (label == "MMFS_SYSTEM_UNMOUNT")    {printed=1; ingpfs=1; inunmount=1}
+    else if (label == "MMFS_DISKFAIL")          {printed=1; ingpfs=1; indiskfail=1}
+    else if (label == "MMFS_TRACEBACK")         {printed=1; ingpfs=1; intraceback=1}
+    else if (label == "MMFS_MOREINFO")          {printed=1; ingpfs=1; inmoreinfo=1}
+    else if (label == "MMFS_QUOTA")             {printed=1; ingpfs=1; inquota=1}
+    else if (label == "MMFS_ENVIRON")           {printed=1; ingpfs=1; inenviron=1}
+    else if (label == "MMFS_RECOVERY")          {printed=1; ingpfs=1; inrecovery=1}
+    else if (label == "MMFS_SYSTEM_WARNING")    {printed=1; ingpfs=1; inwarning=1}
+    else
+    {
+      rest=""
+      pos=index($0,"Tag=")
+      if (pos > 0)
+      {
+        $0=substr($0,pos)
+        cpos=index($0,":")
+        if (cpos > 0) rest=substr($0,cpos+2)
+        else {$1=""; rest=$0}
+        sense[subscr] = sense[subscr] " " rest
+        printed=1
+      }
+    }
+  }
+  else
+  {
+    if (all)
+    {
+      mon=monthof[$1]; if (mon == "") mon=$1
+      day=$2; if (day < 10) day="0"day
+      date=mon"/"day"@"$3
+      node=$4
+      $1=date; $2=node; $3=""; $4=""
+      print $0
+    }
+    printed=1
+  }
+  if (!printed) print $0
+}
+
+
+# Main loop per record
+{
+  if (substr($1,length($1)) == ":")
+  {
+    prenode=$1
+    pos=index($0,":")
+    $0=substr($0,pos+2)
+  }
+  origln=$0
+  if (index(origln,"mmfs:") > 0)
+  {
+    if (index(origln,"unsupported module") == 0 &&
+        index(origln,"module license") == 0)
+    {
+      handle_mmfs_line(origln)
+      lastline=origln
+    }
+  }
+  else
+  {
+    pos=index(origln,"last message repeated")
+    if (pos > 0 && index(lastline,"mmfs:") > 0)
+    {
+      $0=substr(origln,pos+21)
+      for (cnt=$1; cnt > 0; cnt--)
+        handle_mmfs_line(lastline)
+    }
+    else
+    {
+      lastline=origln
+      if (all)
+      {
+        $0 = origln
+        mon=monthof[$1]; if (mon == "") mon=$1
+        day=$2; if (day < 10) day="0"day
+        date=mon"/"day"@"$3
+        node=$4
+        $1=date; $2=node; $3=""; $4=""
+        print $0
+      }
+    }
+  }
+}
+function print_gpfstag(tag)
+{
+  $0=seentag[tag]
+  date=$1; node=$2; label=$3; id=$4; code=$5; vol=$6
+  if (label != "MMFS_FSSTRUCT")
+  {
+    print seentag[tag] sense[tag]
+  }
+  if (label == "MMFS_FSSTRUCT")
+  {
+    $0=sense[tag]
+    NF = split($0, wds)
+    wd=3
+    if (code == 111)   # FSErrBadDirBlock
+    {
+      code=hexToDecimal($(wd));
+      if (code >= 201 && code <= 206)
+        wd+=4
+      else code=111
+    }
+    formt=fmt[code]
+    if (!decode || formt == "")
+      printf("%s %s %s %s %s %s %s\n",
+             date, node, "FSSTRUCTX", vol, code, name[code], sense[tag])
+    else
+    {
+      tokens=0
+      for (f=1; f <= length(formt); f++)
+      {
+        ch = substr(formt,f,1)
+        if (ch != " ")
+        {
+          tokens++
+          if (ch == "4")
+          {
+            tok[tokens] = $(wd+3) $(wd+2) $(wd+1) $wd ; wd+=4
+          }
+          else if (ch == "2")
+          {
+            tok[tokens] = $(wd+1) $wd; wd+=2
+          }
+          else if (ch == "8")
+          {
+            tok[tokens] = $(wd+7) $(wd+6) $(wd+5) $(wd+4) $(wd+3) $(wd+2) $(wd+1) $wd; wd+=8
+          }
+          else if (ch == "d")
+          {
+            if (wide)
+            {
+              tok[tokens] = $wd $(wd+1) $(wd+2) $(wd+3)":"$(wd+4) $(wd+5) $(wd+6) $(wd+7) $(wd+8) $(wd+9) $(wd+10) $(wd+11)"("hexToDecimal($wd $(wd+1) $(wd+2) $(wd+3))":"hexToDecimal($(wd+4) $(wd+5) $(wd+6) $(wd+7) $(wd+8) $(wd+9) $(wd+10) $(wd+11))")"; wd+=12
+            }
+            else
+            {
+              tok[tokens] = $wd $(wd+1)":"$(wd+2) $(wd+3) $(wd+4) $(wd+5)"("hexToDecimal($wd $(wd+1))":"hexToDecimal($(wd+2) $(wd+3) $(wd+4) $(wd+5))")"; wd+=6
+            }
+          }
+          else if (ch == "r")
+          {
+            nval=$(wd+1) $wd; wd+=2
+            if (nval == "FFFF")
+              tok[tokens]="[broken]"
+            else
+            {
+              nval+=0
+              tok[tokens] = "[nVal="nval
+              while (nval > 0)
+              {
+                if (wide)
+                {
+                  tok[tokens] = tok[tokens]" "$wd $(wd+1) $(wd+2) $(wd+3)":"$(wd+4) $(wd+5) $(wd+6) $(wd+7) $(wd+8) $(wd+9) $(wd+10) $(wd+11)"("hexToDecimal($wd $(wd+1) $(wd+2) $(wd+3))":"hexToDecimal($(wd+4) $(wd+5) $(wd+6) $(wd+7) $(wd+8) $(wd+9) $(wd+10) $(wd+11))")"; wd+=12
+                }
+                else
+                {
+                  tok[tokens] = tok[tokens]" "$wd $(wd+1)":"$(wd+2) $(wd+3) $(wd+4) $(wd+5)"("hexToDecimal($wd $(wd+1))":"hexToDecimal($(wd+2) $(wd+3) $(wd+4) $(wd+5))")"; wd+=6
+                }
+                nval--
+              }
+              tok[tokens] = tok[tokens]"]"
+            }
+          }
+          else if (ch == "f")
+          {
+            nval=$(wd+1) $wd; wd+=2
+            if (nval == "FFFF")
+              tok[tokens]="[broken"
+            else
+            {
+              nval+=0
+              tok[tokens] = "[nVal="nval
+              while (nval > 0)
+              {
+                if (wide)
+                {
+                  tok[tokens] = tok[tokens]" "$wd $(wd+1) $(wd+2) $(wd+3)":"$(wd+4) $(wd+5) $(wd+6) $(wd+7) $(wd+8) $(wd+9) $(wd+10) $(wd+11)"("hexToDecimal($wd $(wd+1) $(wd+2) $(wd+3))":"hexToDecimal($(wd+4) $(wd+5) $(wd+6) $(wd+7) $(wd+8) $(wd+9) $(wd+10) $(wd+11))")"; wd+=12
+                }
+                else
+                {
+                  tok[tokens] = tok[tokens]" "$wd $(wd+1)":"$(wd+2) $(wd+3) $(wd+4) $(wd+5)"("hexToDecimal($wd $(wd+1))":"hexToDecimal($(wd+2) $(wd+3) $(wd+4) $(wd+5))")"; wd+=6
+                }
+                nval--
+              }
+            }
+            tok[tokens] = tok[tokens]" subl="$(wd+1) $wd"]"; wd+=2
+          }
+          else if (ch == "v")
+          {
+            tok[tokens] = "(len="$(wd+3) $(wd+2) $(wd+1) $wd")"; wd+=4
+            while (NF >= wd && $NF == "00")
+              NF--
+            while (wd <= NF-3)
+            {
+              tok[tokens] = tok[tokens]" "$wd $(wd+1) $(wd+2) $(wd+3); wd+=4
+            }
+            while (wd <= NF-1)
+            {
+              tok[tokens] = tok[tokens]" "$wd $(wd+1); wd+=2
+            }
+            while (wd <= NF)
+            {
+              tok[tokens] = tok[tokens]" "$wd; wd++
+            }
+          }
+        }
+      if (debug) print ch"="tok[tokens]
+      }
+      rest=""
+      while (NF >= wd && $NF == "00")
+        NF--
+      while (wd <= NF)
+      {
+        rest = rest" "$wd; wd++
+      }
+      if (code == 101)        # FSErrInconsistentInode
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="allocBlks="tok[2]
+        tok[3]="lastBlock="tok[3]
+        tok[4]="fragSubbl="tok[4]
+        tok[5]="inode="tok[5]
+      }
+      else if (code == 102)   # FSErrIndirectBlock
+      {
+        tok[1]="da="tok[1]
+        tok[2]="gen="tok[2]
+        tok[3]="inodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="expectBlkNum="tok[4]
+        tok[5]="indBlock="tok[5]
+      }
+      else if (code == 104)   # FSErrBadReplicationCounts
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="inode="tok[2]
+      }
+      else if (code == 105)   # FSErrBadPtrReplications
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="dataPtrsPerInode="tok[2]
+        tok[3]="indPtrsPerInode="tok[3]
+        tok[4]="dataPtrsPerIndBlk="tok[4]
+        tok[5]="inode="tok[5]
+      }
+      else if (code == 106)   # FSErrIndirectionLevel
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="invalIndLvl="tok[2]
+        tok[3]="inode="tok[3]
+      }
+      else if (code == 107)   # FSErrDeallocBlock
+      {
+        tok[1]="errno="tok[1]
+        tok[2]="diskNum="tok[2]
+        if (wide || tok[4] > 32) # subblocks too big, assume 8 byte sector number
+        {
+          tok[3]="sector="tok[3] tok[4]
+          tok[4]="nSubblocks="tok[5]
+          tok[5]="region="tok[6]
+          tok[6]="segment="tok[7]
+          tok[7]="subBlock="tok[8]
+        }
+        else # assume 4 byte sector number
+        {
+          tok[3]="sector="tok[3]
+          tok[4]="nSubblocks="tok[4]
+          tok[5]="region="tok[5]
+          tok[6]="segment="tok[6]
+          tok[7]="subBlock="tok[7]
+        }
+      }
+      else if (code == 108)   # FSErrValidate
+      {
+        type=valtype[tok[1]+0]
+        if (type == "") type=tok[1]
+        tok[1]="type="type
+        tok[2]="da="tok[2]
+        tok[3]="sectors="tok[3]
+        tok[4]="repda="tok[4]
+        tok[5]="data="tok[5]
+      }
+      else if (code == 109)   # FSErrBadDiskAddrIndex
+      {
+        tok[1]="da="tok[1]
+        type=buftype[tok[2]+0]
+        if (type == "") type=tok[2]
+        tok[2]="type="type
+      }
+      else if (code == 110)   # FSErrBadDiskAddrSector
+      {
+        tok[1]="da="tok[1]
+        tok[2]="sectors="tok[2]
+        type=buftype[hexToDecimal(tok[3])]
+        if (type == "") type=tok[3]
+        tok[3]="type="type
+      }
+      else if (code == 111)   # FSErrBadDirBlock
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="blockNum="tok[2]
+        tok[3]="errorcode="tok[3]
+        tok[4]="errno="tok[4]
+        tok[5]="dirhdr="tok[5]
+        # and pick up tok[6 7 8 9]
+      }
+      else if (code == 112)   # FSErrBadInodeStatus
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="inode="tok[2]
+      }
+      else if (code == 113)   # FSErrBadInodeOrGen
+      {
+        tok[1]="fileInodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="dirInodeNum="tok[2]"("hexToDecimal(tok[2])")"
+        tok[3]="gen="tok[3]
+        tok[4]="filename="tok[4]
+      }
+      else if (code == 114)   # FSErrAllocBlock
+      {
+        type=allerrtype[tok[1]]
+        if (type == "") type=tok[1]
+        tok[1]="type="type
+        tok[2]="diskIndex="tok[2]
+        tok[3]="recordNo="tok[3]
+        tok[4]="nSubblocks="tok[4]
+      }
+      else if (code == 115)   # FSErrBadDittoAddr
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="gen="tok[2]
+        tok[3]="snapId="tok[3]
+        tok[4]="inodeStatus="tok[4]
+        tok[5]="InodeNumPrevSnap="tok[5]"("hexToDecimal(tok[5])")"
+        tok[6]="genPrevSnap="tok[6]
+        tok[7]="snapIdPrevSnap="tok[7]
+        tok[8]="inodeStatusPrevSnap="tok[8]
+        tok[9]="blockNum="tok[9]
+      }
+      else if (code == 116)   # FSErrSnapInodeModified
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="snapId="tok[2]
+        tok[3]="nextSnapId="tok[3]
+        tok[4]="fileModifiedSnapId="tok[4]
+        tok[5]="inode="tok[5]
+      }
+      else if (code == 201)   # DirErrCheckHeaderFailed
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="snapId="tok[2]
+        tok[3]="blockNum="tok[3]
+        tok[4]="errorcode="tok[4]
+        tok[5]="rc="tok[5]
+        tok[6]="dirhdr="tok[6]
+        # and pick up tok[7 8 9 10 11]
+      }
+      else if (code == 202)   # DirErrDotDotNotFound
+      {
+        tok[1]="errorcode="tok[1]
+        tok[2]="rc="tok[2]
+        tok[3]="srcInodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="srcGen="tok[4]
+      }
+      else if (code == 203)   # DirErrGenNumMismatch
+      {
+        tok[1]="errorcode="tok[1]
+        tok[2]="rc="tok[2]
+        tok[3]="srcInodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="srcGen="tok[4]
+        tok[5]="entryGen="tok[5]
+      }
+      else if (code == 204)   # DirErrInodeNumMismatch
+      {
+        tok[1]="errorcode="tok[1]
+        tok[2]="rc="tok[2]
+        tok[3]="srcInodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="entryInodeNum="tok[4]"("hexToDecimal(tok[4])")"
+      }
+      else if (code == 205)   # DirErrInodeCorrupted
+      {
+        tok[3]="inodeNum="tok[3]"("hexToDecimal(tok[3])")"
+        tok[4]="srcGen="tok[4]
+        tok[5]="entryGen="tok[5]
+        tok[6]="entryInodeStatus="tok[6]
+      }
+      else if (code == 206)   # DirErrDirectCorrupted
+      {
+        tok[1]="inodeNum="tok[1]"("hexToDecimal(tok[1])")"
+        tok[2]="blockNum="tok[2]
+        tok[3]="errorcode="tok[3]
+        tok[4]="errno="tok[4]
+        tok[5]="dirhdr="tok[5]
+        # and pick up tok[6 7 8 9]
+      }
+
+      printf("%s %s %s %s %s %s",
+             date, node, "FSSTRUCT", vol, code, name[code])
+      for (i = 1; i <= tokens; i++)
+        printf(" %s", tok[i])
+      if (rest != "") printf(" rest =%s\n", rest)
+      else printf("\n")
+    }
+  }
+}
+END {
+  if (terminate) exit 1
+  for (tag=1; tag <= tags; tag++)
+    print_gpfstag(taglist[tag])
+  for (code in count)
+    printf("+++code: %4d %s %9d times\n", code, name[code], count[code])
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/trsum.awk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/trsum.awk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/trsum.awk	(revision 16)
@@ -0,0 +1,2499 @@
+#!/usr/bin/awk -f
+# You need a formatted trace file to analyze with this script first.
+# Turn on trace :  mmtrace trace={io | def | all}  
+# Stop trace and format the file : mmtrace stop
+BEGIN {
+  if (ARGC < 2)
+  {
+    print "Usage: trsum.awk "
+    print "       [traceBR=1] [traceTok=1] [traceNew=1] [traceCond=1]"
+    print "       [traceMutex=1] [mutexDetails=1]"
+    print "       [traceIO=0] [traceMsg=0] [IOhist=0] [details=0]"
+    print "       [tidcol=n] [timecol=m] [tickfactor=24] [addtime=secs]"
+    print "       trcfile [trcfile2 ...]"
+    terminate=1
+    exit 1
+  }
+#  Default settings
+  details=1
+  traceIO=1
+  traceMsg=1
+  IOhist=1
+  lockhist=1
+  tidcol = 5
+  timecol = 14
+  tickfactor = 1
+  lockbucketsize = 0.0005
+  reqbucketsize = 0.0005
+  iobucketsize = 0.0005
+  sendbucketsize = 0.0001
+  handbucketsize = 0.0001
+  timebucketsize = 1.0
+  minlockbucket = 999999
+  minreqbucket = 999999
+  miniobucket = 999999
+  mintimebucket = 999999
+
+  newtid=-1
+  hex[0]="0"; hex[1]="1"; hex[2]="2"; hex[3]="3"
+  hex[4]="4"; hex[5]="5"; hex[6]="6"; hex[7]="7"
+  hex[8]="8"; hex[9]="9"; hex[10]="A"; hex[11]="B"
+  hex[12]="C"; hex[13]="D"; hex[14]="E"; hex[15]="F"
+}
+
+function d2x(dec, cnt, ch, i, val) # change decimal to hex
+{
+  ch = ""
+  for (i=1 ; i<=cnt ; i++)
+  {
+    val = dec%16
+    dec=(dec-val)/16
+    ch = hex[val] ch
+  }
+  return ch
+}
+
+function stuffafter(haystack, needle, pos) #find a particular string if it exists
+{
+  pos = index(haystack, needle)
+  if (pos > 0)
+    return substr(haystack, pos+length(needle))
+  return ""
+}
+
+function wordbefore(haystack, needle, pos, endpos) #return the string before a particular string if it exists
+{
+  endpos = index(haystack, needle)
+  if (endpos <= 1)
+    return ""
+  for (pos = endpos-1; pos >= 1; pos--)
+    if (substr(haystack,pos,1) != " ") break
+  endpos = pos + 1
+  for (pos = endpos-1; pos >= 1; pos--)
+    if (substr(haystack,pos,1) == " ") break
+  return substr(haystack, pos+1, endpos-pos)
+}
+
+function lastpos(haystack, needle, pos)  # return the position of a particular string if it exists
+{
+  for (pos = length(haystack); pos > 0 ; pos--)
+    if (substr(haystack,pos,1) == needle) return pos
+  return pos
+}
+
+function pad(level, chr, i)  # for formatting
+{
+  chr=""
+#  for (i=1; i < level; i++)
+#    chr = chr "--"
+  return chr
+}
+
+function firstword(line, pos)  #return first string 
+{
+  pos = index(line, " ")
+  while (pos == 1)
+  {
+    line = substr(line,2)
+    pos = index(line, " ")
+  }
+  if (pos > 0)
+    return substr(line, 1, pos-1)
+  return line
+}
+
+function x2d(hex, d, ch, i, val) #convert hex to decimal
+{
+  d = 0
+  for (i=1 ; i<=length(hex) ; i++)
+  {
+    ch = substr(hex,i,1)
+    val = index("0123456789ABCDEF", ch)
+    if (val == 0)
+      val = index("0123456789abcdef", ch)
+    d = d*16 + val - 1
+  }
+  return d
+}
+
+function getmutextype(pos, ret)
+{
+  ret=$pos
+  if (substr(ret,2,2) == "0x")
+  {
+    pos++
+    ret=$pos
+  }
+  while (pos <= NF && substr($pos,length($pos)) != ")")
+  {
+    pos++
+    ret=ret" "$pos
+  }
+  return ret
+}
+
+#tracereport entrys
+#
+# Timestamp    Pid  COMPONENT_TAG: application trace record
+#----------- ------ ---------------------------------------
+#   0.000000   1302 TRACE_VNODE: cxiSleep: end delay 1000 HZ 100
+/COMPONENT_TAG: application trace record/ {
+  cpucol = 0
+  tidcol = index($0,"  Pid ")
+  timecol = tidcol - 12
+  lxtrace = 1
+  getline  # toss next line
+}
+
+/APPL    SYSCALL KERNEL/ {
+  cpucol = index($0,"CPU ")
+  tidcol = index($0,"TID ")
+  if (tidcol == 0) tidcol = index($0,"PID ")
+  timecol = index($0,"ELAPSED")-3
+}
+
+#006 1929377     7.160342830       0.000826                   TRACEBUFFER WRAPAROUND 5D88 C77A missed entries
+#006
+/TRACEBUFFER WRAPAROUND/ {
+  if (tidcol > 0)
+    newtid = firstword(substr($0, tidcol))
+  else
+    newtid = oldtid[newcpu]
+  if (timecol > 0)
+  {
+    newtime = firstword(substr($0, timecol))
+    if (addtime > 0) newtime += addtime
+    if (tickfactor > 1 && newtime != "")
+      newtime = newtime * tickfactor
+  }
+  if (index($0,"missed entries") > 0)
+  {
+    if (details)
+      printf("%8d %17.9f MISSED %8d TRACES\n", newtid, newtime, x2d(substr($(NF-2),8)))
+  }
+}
+
+# 101
+/_exit LR / {
+  if (tidcol > 0)
+    newtid = firstword(substr($0, tidcol))
+  else
+    newtid = oldtid[newcpu]
+  if (timecol > 0)
+  {
+    newtime = firstword(substr($0, timecol))
+    if (addtime > 0) newtime += addtime
+    if (tickfactor > 1 && newtime != "")
+      newtime = newtime * tickfactor
+  }
+  if (details)
+    printf("%8d %17.9f _exit\n", newtid, newtime)
+}
+
+# 106
+/dispatch: / {
+  if (cpucol > 0)
+  {
+    if (timecol > 0)
+    {
+      newtime = firstword(substr($0, timecol))
+      if (addtime > 0) newtime += addtime
+      if (tickfactor > 1 && newtime != "")
+        newtime = newtime * tickfactor
+    }
+
+    rec = stuffafter($0, "dispatch: ")
+
+    if (firstword(rec) == "idle") newcmd = "idle"
+    else newcmd = firstword(stuffafter(rec,"cmd="))
+    newtid = firstword(stuffafter(rec,"tid="))
+    newcpu = firstword(stuffafter(rec,"CPUID="))
+    if (numcpu < newcpu+1) numcpu = newcpu+1
+
+    if (oldtid[newcpu] != 0) {
+      delta = (newtime-oldtime[newcpu])*1000000
+      if (oldcmd[newcpu] == "idle") str="---"
+      else str= "[" oldcmd[newcpu] "]"
+      totcpu[oldtid[newcpu]" "str] += delta/1000000
+      tidname[oldtid[newcpu]] = str
+      if (details)
+        printf("%8d %17.9f %-20s %12.3f\n", oldtid[newcpu], newtime, str, delta)
+    }
+    oldtid[newcpu] = newtid
+    oldcmd[newcpu] = newcmd
+    oldtime[newcpu] = newtime
+    oldcpu = newcpu
+  }
+}
+
+# 102
+/slih cpuid/ {
+  if (cpucol > 0)
+  {
+    newcpu = firstword(substr($0, cpucol, 6))
+    if (numcpu < newcpu+1) numcpu = newcpu+1
+    if (tidcol > 0)
+      newtid = firstword(substr($0, tidcol))
+    else
+      newtid = oldtid[newcpu]
+    if (timecol > 0)
+    {
+      newtime = firstword(substr($0, timecol))
+      if (addtime > 0) newtime += addtime
+      if (tickfactor > 1 && newtime != "")
+        newtime = newtime * tickfactor
+    }
+
+    rec = stuffafter($0, "slih cpuid=")
+    newcmd = firstword(substr(rec,3))
+
+    if (oldtid[newcpu] != 0) {
+      delta = (newtime-oldtime[newcpu])*1000000
+      if (oldcmd[newcpu] == "idle") str="---"
+      else str= "[" oldcmd[newcpu] "]"
+      totcpu[oldtid[newcpu]" "str] += delta/1000000
+      tidname[oldtid[newcpu]] = str
+      if (details)
+        printf("%8d %17.9f %-20s %12.3f\n", oldtid[newcpu], newtime, str, delta)
+    }
+    slihresumes[newcpu] = oldcmd[newcpu]
+    oldtid[newcpu] = newtid
+    oldcmd[newcpu] = newcmd
+    oldtime[newcpu] = newtime
+    oldcpu = newcpu
+  }
+}
+
+# 103
+/return from slih/ {
+  if (cpucol > 0)
+  {
+    newcpu = firstword(substr($0, cpucol, 6))
+    if (numcpu < newcpu+1) numcpu = newcpu+1
+    if (tidcol > 0)
+      newtid = firstword(substr($0, tidcol))
+    else
+      newtid = oldtid[newcpu]
+    if (timecol > 0)
+    {
+      newtime = firstword(substr($0, timecol))
+      if (addtime > 0) newtime += addtime
+      if (tickfactor > 1 && newtime != "")
+        newtime = newtime * tickfactor
+    }
+
+    newcmd = slihresumes[newcpu]
+    delete slihresumes[newcpu]
+
+    if (oldtid[newcpu] != 0) {
+      delta = (newtime-oldtime[newcpu])*1000000
+      if (oldcmd[newcpu] == "idle") str="---"
+      else str= "[" oldcmd[newcpu] "]"
+      totcpu[oldtid[newcpu]" "str] += delta/1000000
+      tidname[oldtid[newcpu]] = str
+      if (details)
+        printf("%8d %17.9f %-20s %12.3f\n", oldtid[newcpu], newtime, str, delta)
+    }
+    oldtid[newcpu] = newtid
+    oldcmd[newcpu] = newcmd
+    oldtime[newcpu] = newtime
+    oldcpu = newcpu
+  }
+}
+
+# 100
+/INTERRUPT iar=/ {
+  if (cpucol > 0)
+  {
+    newcpu = firstword(substr($0, cpucol, 6))
+    if (numcpu < newcpu+1) numcpu = newcpu+1
+    if (newcpu >= 0)
+    {
+      if (tidcol > 0)
+        newtid = firstword(substr($0, tidcol))
+      else
+        newtid = oldtid[newcpu]
+      if (timecol > 0)
+      {
+        newtime = firstword(substr($0, timecol))
+        if (addtime > 0) newtime += addtime
+        if (tickfactor > 1 && newtime != "")
+          newtime = newtime * tickfactor
+      }
+
+      newcmd = wordbefore($0, " INTERRUPT iar=") "INTERRUPT"
+      if (newcmd == "DECREMENTER") newcmd = "DECR"
+
+      if (oldtid[newcpu] != 0) {
+        delta = (newtime-oldtime[newcpu])*1000000
+        if (oldcmd[newcpu] == "idle") str="---"
+        else str= "[" oldcmd[newcpu] "]"
+        totcpu[oldtid[newcpu]" "str] += delta/1000000
+        tidname[oldtid[newcpu]] = str
+        if (details)
+          printf("%8d %17.9f %-20s %12.3f\n", oldtid[newcpu], newtime, str, delta)
+      }
+      oldtid[newcpu] = newtid
+      oldcmd[newcpu] = newcmd
+      oldtime[newcpu] = newtime
+      oldcpu = newcpu
+    }
+  }
+}
+
+# 200
+/resume/ {
+  if (cpucol > 0)
+  {
+    newcpu = firstword(substr($0, cpucol, 6))
+    if (numcpu < newcpu+1) numcpu = newcpu+1
+    if (tidcol > 0)
+      newtid = firstword(substr($0, tidcol))
+    else
+      newtid = oldtid[newcpu]
+    if (timecol > 0)
+    {
+      newtime = firstword(substr($0, timecol))
+      if (addtime > 0) newtime += addtime
+      if (tickfactor > 1 && newtime != "")
+        newtime = newtime * tickfactor
+    }
+
+    newcmd = firstword(stuffafter($0, "resume "))
+    if (newcmd == "wait") newcmd = "---"
+
+    if (oldtid[newcpu] != 0) {
+      delta = (newtime-oldtime[newcpu])*1000000
+      if (oldcmd[newcpu] == "idle") str="---"
+      else str= "[" oldcmd[newcpu] "]"
+      totcpu[oldtid[newcpu]" "str] += delta/1000000
+      tidname[oldtid[newcpu]] = str
+      if (details)
+        printf("%8d %17.9f %-20s %12.3f\n", oldtid[newcpu], newtime, str, delta)
+    }
+    oldtid[newcpu] = newtid
+    oldcmd[newcpu] = newcmd
+    oldtime[newcpu] = newtime
+    oldcpu = newcpu
+  }
+}
+
+# 306,307,308,309
+
+# Timestamp    Pid  COMPONENT_TAG: application trace record
+#----------- ------ ---------------------------------------
+#   0.000000   1302 TRACE_VNODE: cxiSleep: end delay 1000 HZ 100
+/MMFS | TRACE_/ {
+  rec = $0
+  trinx = index($0," TRACE_")
+  if (trinx > 0)
+  {
+    recrest = substr($0,trinx+7)
+    lxtrace=1
+    tidcol = trinx - 6
+    timecol = tidcol - 12
+    if (timecol <= 0) timecol = 1
+  }
+  else
+    recrest = stuffafter($0, "MMFS ")
+
+  if (cpucol > 0)
+    newcpu = firstword(substr($0, cpucol, 6))
+  else
+    newcpu = oldcpu
+  if (tidcol > 0)
+    newtid = firstword(substr($0, tidcol))
+  else
+    newtid = oldtid[newcpu]
+  if (timecol > 0)
+  {
+    newtime = firstword(substr($0, timecol))
+    if (addtime > 0) newtime += addtime
+    if (tickfactor > 1 && newtime != "")
+      newtime = newtime * tickfactor
+  }
+
+  if (index(recrest, "ERRLOG") > 0)
+  {
+    rest=stuffafter(recrest, "ERRLOG: ")
+    printf("%8d %17.9f ERRLOG: %s\n", newtid, newtime, rest)
+  }
+  else if (index(recrest, "VNODE: mmfs_") > 0 ||
+           index(recrest, "VNODE: gpfs_v_") > 0 ||
+           index(recrest, "VNODE: vnodeLockctlInternal") > 0 )
+  {
+    if (index(recrest, "VNODE: mmfs_") > 0)
+    {
+      # Parse Var recrest "mmfs_"req entexit rest
+      rest=stuffafter(recrest, "mmfs_")
+    }
+    else if (index(recrest, "VNODE: gpfs_v_") > 0)
+    {
+      # Parse Var recrest "gpfs_v_"req entexit rest
+      rest=stuffafter(recrest, "gpfs_v_")
+    }
+    else if (index(recrest, "VNODE: vnodeLockctlInternal") > 0)
+      rest="lockctl" stuffafter(recrest, "vnodeLockctlInternal")
+    treq=firstword(rest)
+    rest=stuffafter(rest, treq)
+    entexit=firstword(rest)
+    rest=stuffafter(rest, entexit)
+    for (i = 1; i <= tidcount; i++)
+      if (tids[i] == newtid) break
+    if (i > tidcount)
+    {
+      tids[i] = newtid
+      tidcount = i
+    }
+    if (treq == "rele" || treq == hold) entexit = ""
+    if (entexit == "enter:") {
+      if (substr(treq,1,4) == "rdwr") {
+        op = firstword(stuffafter(rest, " op "))
+        if (op == "0") uioop[newtid] = "1"
+        else if (op == "1") uioop[newtid] = "0"
+        if (IOhist)
+        {
+          rdwrinprog++
+          inpbucket[rdwrinprog]++
+        }
+      }
+      if (treq == "lookup") extra = stuffafter(rest, " name ")
+      else if (treq == "root")
+      {
+        # Parse Var rest extra " vPP "
+        pos = index(rest, " vPP ")
+        if (pos > 0) extra = substr(rest,1,pos-1)
+        else extra = rest
+      }
+      else if (treq == "mkdir") extra = stuffafter(rest, " dirName ")
+      else if (treq == "rmdir") extra = stuffafter(rest, " name ")
+      else if (treq == "vget") extra = "inode "stuffafter(rest, " ino ")
+      else if (treq == "rename") {
+        if (substr(rest,1,1) == "v")
+          extra = stuffafter(rest, " name ")
+        else {
+          extra = stuffafter(rest, " new name ")
+          if (details)
+            printf("%s%8d %17.9f rename to (%s) %s\n", pad(tlevel), newtid, newtime, oldcmd[newcpu], extra)
+          continue
+        }
+      }
+      else extra=""
+      if (tlevel == 0)
+      {
+        if (firstVFStime == 0) firstVFStime = newtime
+        if (idleVFSstart != 0)
+        {
+          idleVFS += newtime - idleVFSstart
+          idleVFSstart = 0
+        }
+      }
+      tlevel = tlevel + 1
+      reqi = reqs[newtid]+1
+      reqs[newtid] = reqi
+      req[newtid,reqi] = treq
+      time[newtid,reqi] = newtime
+      level[newtid,reqi] = tlevel
+      if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+      else str=treq
+      if (extra != "") str = str " " extra
+      if (idlestart[newtid] != "") {
+        idletime = newtime-idlestart[newtid]
+        if (details)
+          printf("%s%8d %17.9f %-33s ext %12.3f\n", pad(tlevel), newtid, newtime, str, idletime*1000000)
+      }
+      else {
+        if (details)
+          printf("%s%8d %17.9f %s\n", pad(tlevel), newtid, newtime, str)
+      }
+      if (idlestart[newtid] != "") {
+        timeout[newtid] += idletime
+        idlestart[newtid] = ""
+      }
+    }
+
+    else if (entexit == "exit:") {
+      exrc = firstword(stuffafter(rest, " rc "))
+      if (exrc == "0") exrc = ""
+      else if (exrc == "2" && treq == "lookup") exrc = " NOTFOUND"
+      else if (exrc == "25" && treq == "ioctl") exrc = " NOTTY"
+      else if (exrc != "") exrc = " err="exrc
+      for (wp = reqs[newtid]; wp >= 1; wp--)
+        if (treq == req[newtid,wp])
+          break;
+      if (wp > 0) {
+        oldtimex = time[newtid,wp]
+        oldlevel = level[newtid,wp]
+        for (; wp < reqs[newtid]; wp++)
+        {
+          req[newtid,wp] = req[newtid,wp+1]
+          time[newtid,wp] = time[newtid,wp+1]
+          level[newtid,wp] = level[newtid,wp+1]
+        }
+        reqs[newtid]--
+        delta = (newtime-oldtimex)*1000000
+        if (delta >= 1000) mark = " +"
+        else mark = ""
+        if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+        else str=treq
+        if (details)
+          printf("%s%8d %17.9f %-20s %12.3f%s%s\n", pad(oldlevel), newtid, newtime, str, delta, mark, exrc)
+        if (tlevel <= 0)
+        {
+          idleVFS = 0
+          firstVFStime = 0.000000001
+        }
+        if (tlevel >= oldlevel && oldlevel >= 1)
+        {
+          tlevel = oldlevel - 1
+          if (tlevel <= 0)
+            idleVFSstart = newtime
+        }
+        lastVFStime = newtime
+        if (reqs[newtid] == 0) {
+          timein[newtid] += newtime-oldtimex
+          idlestart[newtid] = newtime
+          tidopcnt[newtid]++
+        }
+        timeop[treq] += newtime-oldtimex
+        cntop[treq]++
+      }
+      else if (treq != "hold") {
+        if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+        else str=treq
+        if (details)
+          printf("%8d %17.9f %-20s*************%s\n", newtid, newtime, str, exrc)
+        if (tlevel <= 0)
+        {
+          idleVFS = 0
+          firstVFStime = 0.000000001
+        }
+        else
+        {
+          tlevel = tlevel - 1
+          if (tlevel <= 0)
+            idleVFSstart = newtime
+        }
+        lastVFStime = newtime
+      }
+      if (IOhist && wp > 0 && substr(treq,1,4) == "rdwr")
+      {
+        delta = delta/1000000
+        totaldelta += delta
+        totalrdwrs++
+        if (rdwrinprog > maxrdwrinprog) maxrdwrinprog=rdwrinprog
+        rdwrinprog--
+        if (rdwrinprog < 0) rdwrinprog = 0
+        bucket = int(delta / reqbucketsize)
+        if (minreqbucket > bucket) minreqbucket = bucket
+        if (maxreqbucket < bucket) maxreqbucket = bucket
+        if (rdwrKey[newtid] == "WRITE:")
+          wrbuckets[bucket]++
+        else if (rdwrKey[newtid] == "READ:")
+          rdbuckets[bucket]++
+        else
+          buckets[bucket]++
+        if (rdwrLen[newtid] != "")
+        {
+          buck=int(newtime/timebucketsize);
+          if (rdwrKey[newtid] == "WRITE:")
+            wrbytessum[buck]+=rdwrLen[newtid];
+          else
+            rdbytessum[buck]+=rdwrLen[newtid];
+          if (mintimebucket > buck) mintimebucket=buck;
+          if (highbuck < buck) highbuck=buck
+          delete rdwrLen[newtid]
+          delete rdwrKey[newtid]
+        }
+      }
+      else if (lockhist && wp > 0 && treq == "lockctl")
+      {
+        delta = delta/1000000
+        totallockdelta += delta
+        totallockctls++
+        bucket = int(delta / lockbucketsize)
+        if (minlockbucket > bucket) minlockbucket = bucket
+        if (maxlockbucket < bucket) maxlockbucket = bucket
+        lockbuckets[bucket]++
+      }
+    }
+    else if (index(recrest, "fastopen") > 0) {           # ????
+      # Parse Var recrest "oiP" rest
+      rest = stuffafter(recrest, "oiP")
+      if (details)
+        printf("%8d %17.9f Open  %s\n", newtid, newtime, rest)
+    }
+  }
+
+  else if (index(recrest, "VNODE: gpfs_i_") > 0 ||
+           index(recrest, "VNODE: gpfs_f_") > 0 ||
+           index(recrest, "VNODE: gpfs_s_") > 0 ||
+           index(recrest, "VNODE: gpfs_d_") > 0)
+  {
+    rest=stuffafter(recrest, "VNODE: gpfs_")
+    if (substr(rest,1,1) != "d")
+      rest=substr(rest, 3)
+    treq=firstword(rest)
+    rest=stuffafter(rest, treq)
+    # hack: gpfs_i_lookup: new -> gpfs_i_lookup exit: new
+    if (treq == "lookup:" && firstword(rest) == "new")
+    {
+      treq = "lookup"
+      rest = "exit: " rest
+    }
+    entexit=firstword(rest)
+    rest=stuffafter(rest, entexit)
+    # hack: exit2: -> exit:
+    if (entexit == "exit2:") entexit = "exit:"
+    for (i = 1; i <= tidcount; i++)
+      if (tids[i] == newtid) break
+    if (i > tidcount)
+    {
+      tids[i] = newtid
+      tidcount = i
+    }
+    if (treq == "rele" || treq == hold) entexit = ""
+    if (entexit == "enter:") {
+      if (substr(treq,1,4) == "rdwr") {
+        op = firstword(stuffafter(rest, " op "))
+        if (op == "0") uioop[newtid] = "1"
+        else if (op == "1") uioop[newtid] = "0"
+        if (IOhist)
+        {
+          rdwrinprog++
+          inpbucket[rdwrinprog]++
+        }
+      }
+      if (treq == "lookup") extra = stuffafter(rest, " name ")
+      else if (treq == "mkdir") extra = stuffafter(rest, " name ")
+      else if (treq == "rmdir") extra = stuffafter(rest, " name ")
+      else if (treq == "rename") extra = stuffafter(rest, " name ")
+      else extra=""
+      if (tlevel == 0)
+      {
+        if (firstVFStime == 0) firstVFStime = newtime
+        if (idleVFSstart != 0)
+        {
+          idleVFS += newtime - idleVFSstart
+          idleVFSstart = 0
+        }
+      }
+      tlevel = tlevel + 1
+      reqi = reqs[newtid]+1
+      reqs[newtid] = reqi
+      req[newtid,reqi] = treq
+      time[newtid,reqi] = newtime
+      level[newtid,reqi] = tlevel
+      if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+      else str=treq
+      if (extra != "") str = str " " extra
+      if (idlestart[newtid] != "") {
+        idletime = newtime-idlestart[newtid]
+        if (details)
+          printf("%s%8d %17.9f %-33s ext %12.3f\n", pad(tlevel), newtid, newtime, str, idletime*1000000)
+      }
+      else if (details)
+        printf("%s%8d %17.9f %s\n", pad(tlevel), newtid, newtime, str)
+      if (idlestart[newtid] != "") {
+        timeout[newtid] += idletime
+        idlestart[newtid] = ""
+      }
+    }
+
+    else if (entexit == "exit:") {
+      exrc = firstword(stuffafter(rest, " rc "))
+      if (exrc == "0") exrc = ""
+      else if (exrc == "2" && treq == "lookup") exrc = " NOTFOUND"
+      else if (exrc == "25" && treq == "ioctl") exrc = " NOTTY"
+      else if (treq == "llseek" && substr(exrc,1,2) == "0x") exrc = ""
+      else if (exrc != "") exrc = " err="exrc
+      if (treq == "rdwr" && exrc == "")
+      {
+        resid = firstword(stuffafter(rest, "resid "))
+        if (resid != "" && resid != 0)
+          exrc = " resid="resid
+      }
+      for (wp = reqs[newtid]; wp >= 1; wp--)
+        if (treq == req[newtid,wp])
+          break;
+      if (wp > 0) {
+        oldtimex = time[newtid,wp]
+        oldlevel = level[newtid,wp]
+        for (; wp < reqs[newtid]; wp++)
+        {
+          req[newtid,wp] = req[newtid,wp+1]
+          time[newtid,wp] = time[newtid,wp+1]
+          level[newtid,wp] = level[newtid,wp+1]
+        }
+        reqs[newtid]--
+        delta = (newtime-oldtimex)*1000000
+        if (delta >= 1000) mark = " +"
+        else mark = ""
+        if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+        else str=treq
+        if (details)
+          printf("%s%8d %17.9f %-20s %12.3f%s%s\n", pad(oldlevel), newtid, newtime, str, delta, mark, exrc)
+        if (tlevel <= 0)
+        {
+          idleVFS = 0
+          firstVFStime = 0.000000001
+        }
+        if (tlevel >= oldlevel && oldlevel >= 1)
+        {
+          tlevel = oldlevel - 1
+          if (tlevel <= 0)
+            idleVFSstart = newtime
+        }
+        lastVFStime = newtime
+        if (reqs[newtid] == 0) {
+          timein[newtid] += newtime-oldtimex
+          idlestart[newtid] = newtime
+          tidopcnt[newtid]++
+        }
+        timeop[treq] += newtime-oldtimex
+        cntop[treq]++
+      }
+      else if (treq != "hold") {
+        if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+        else str=treq
+        if (details)
+          printf("%8d %17.9f %-20s*************%s\n", newtid, newtime, str, exrc)
+        if (tlevel <= 0)
+        {
+          idleVFS = 0
+          firstVFStime = 0.000000001
+        }
+        else
+        {
+          tlevel = tlevel - 1
+          if (tlevel <= 0)
+            idleVFSstart = newtime
+        }
+        lastVFStime = newtime
+      }
+      if (IOhist && wp > 0 && substr(treq,1,4) == "rdwr")
+      {
+        delta = delta/1000000
+        totaldelta += delta
+        totalrdwrs++
+        if (rdwrinprog > maxrdwrinprog) maxrdwrinprog=rdwrinprog
+        rdwrinprog--
+        if (rdwrinprog < 0) rdwrinprog = 0
+        bucket = int(delta / reqbucketsize)
+        if (minreqbucket > bucket) minreqbucket = bucket
+        if (maxreqbucket < bucket) maxreqbucket = bucket
+        if (rdwrKey[newtid] == "WRITE:")
+          wrbuckets[bucket]++
+        else if (rdwrKey[newtid] == "READ:")
+          rdbuckets[bucket]++
+        else
+          buckets[bucket]++
+        if (rdwrLen[newtid] != "")
+        {
+          buck=int(newtime/timebucketsize);
+          if (rdwrKey[newtid] == "WRITE:")
+            wrbytessum[buck]+=rdwrLen[newtid];
+          else
+            rdbytessum[buck]+=rdwrLen[newtid];
+          if (mintimebucket > buck) mintimebucket=buck;
+          if (highbuck < buck) highbuck=buck
+          delete rdwrLen[newtid]
+          delete rdwrKey[newtid]
+        }
+      }
+    }
+    else if (index(recrest, "fastopen") > 0) {           # ????
+      # Parse Var recrest "oiP" rest
+      rest = stuffafter(recrest, "oiP")
+      if (details)
+        printf("%8d %17.9f Open  %s\n", newtid, newtime, rest)
+    }
+  }
+
+  else if (index(recrest, "mmap process") > 0)
+  {
+    #old: mmap processBuf: bufP 0x54260E58 ...
+    #     mmap processBuf exit: code 0 err 0
+    #new: mmap processRead/Write enter: gnP 0x53677700
+    #     mmap processRead/Write exit: code 0 err 0
+    treq="mapbuf"
+    ok=0
+    if (index(recrest, "processRead") > 0)
+    {
+      treq="pagein"
+      uioop[newtid] = 1
+      ok=1
+      rest = stuffafter(recrest, "processRead ")
+      entexit = firstword(rest)
+      rest = stuffafter(rest, entexit)
+      if (entexit == "enter:") sawNewProcessRW = 1
+    }
+    else if (index(recrest, "processWrite") > 0)
+    {
+      treq="pageout"
+      uioop[newtid] = 0
+      ok=1
+      rest = stuffafter(recrest, "processWrite ")
+      entexit = firstword(rest)
+      rest = stuffafter(rest, entexit)
+      if (entexit == "enter:") sawNewProcessRW = 1
+    }
+    else if (index(recrest, "processBuf") > 0)
+    {
+      ok=1
+      rest = stuffafter(recrest, "processBuf")
+      if (substr(rest,1,6) == ": bufP")
+      {
+        entexit="enter:"
+        rest = stuffafter(rest, ": ")
+      }
+      else
+      {
+        entexit = firstword(rest)
+        rest = stuffafter(rest, entexit)
+      }
+      if (entexit == "enter:")
+      {
+        isrd = firstword(stuffafter(rest, "flags 0x"))
+        isrd = substr(isrd,length(isrd),1)
+        if (isrd == "1" || isrd == "3" || isrd == "5" || isrd == "7" ||
+            isrd == "9" || isrd == "B" || isrd == "D" || isrd == "F")
+          uioop[newtid] = 1
+        else
+          uioop[newtid] = 0
+      }
+      if (uioop[newtid] == 1)
+        treq="pagein"
+      else
+        treq="pageout"
+    }
+    else if (index(recrest, "processClump:") > 0 && !sawNewProcessRW)
+    {
+      rest = stuffafter(recrest, "processClump:")
+      entexit = "enter:"
+      ok=1
+      if (index(rest, "isRead 1") > 0)
+      {
+        treq="pagein"
+        uioop[newtid] = 1
+      }
+      else
+      {
+        treq="pageout"
+        uioop[newtid] = 0
+      }
+    }
+    if (ok)
+    {
+      for (i = 1; i <= tidcount; i++)
+        if (tids[i] == newtid) break
+      if (i > tidcount)
+      {
+        tids[i] = newtid
+        tidcount = i
+      }
+      if (entexit == "enter:")
+      {
+        for (wp = reqs[newtid]; wp >= 1; wp--)
+          if (treq == req[newtid,wp])
+            break;
+        if (wp > 0)
+        {
+          # missed the exit from previous call, pretend like we are seeing one now
+          exrc = ""  # unknown return code
+          oldtimex = time[newtid,wp]
+          oldlevel = level[newtid,wp]
+          for (; wp < reqs[newtid]; wp++)
+          {
+            req[newtid,wp] = req[newtid,wp+1]
+            time[newtid,wp] = time[newtid,wp+1]
+            level[newtid,wp] = level[newtid,wp+1]
+          }
+          reqs[newtid]--
+          delta = (newtime-oldtimex)*1000000
+          if (delta >= 1000) mark = " +"
+          else mark = ""
+          if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+          else str=treq
+          if (details)
+            printf("%s%8d %17.9f %-20s %12.3f%s%s\n", pad(oldlevel), newtid, newtime, str, delta, mark, exrc)
+          if (tlevel <= 0)
+          {
+            idleVFS = 0
+            firstVFStime = 0.000000001
+          }
+          if (tlevel >= oldlevel && oldlevel >= 1)
+          {
+            tlevel = oldlevel - 1
+            if (tlevel <= 0)
+              idleVFSstart = newtime
+          }
+          lastVFStime = newtime
+          if (reqs[newtid] == 0) {
+            timein[newtid] += newtime-oldtimex
+            idlestart[newtid] = newtime
+            tidopcnt[newtid]++
+          }
+          timeop[treq] += newtime-oldtimex
+          cntop[treq]++
+          if (IOhist)
+          {
+            delta = delta/1000000
+            totaldelta += delta
+            totalrdwrs++
+            if (rdwrinprog > maxrdwrinprog) maxrdwrinprog=rdwrinprog
+            rdwrinprog--
+            if (rdwrinprog < 0) rdwrinprog = 0
+            bucket = int(delta / reqbucketsize)
+            if (minreqbucket > bucket) minreqbucket = bucket
+            if (maxreqbucket < bucket) maxreqbucket = bucket
+            if (rdwrKey[newtid] == "WRITE:")
+              wrbuckets[bucket]++
+            else if (rdwrKey[newtid] == "READ:")
+              rdbuckets[bucket]++
+            else
+              buckets[bucket]++
+            if (rdwrLen[newtid] != "")
+            {
+              buck=int(newtime/timebucketsize);
+              if (rdwrKey[newtid] == "WRITE:")
+                wrbytessum[buck]+=rdwrLen[newtid];
+              else
+                rdbytessum[buck]+=rdwrLen[newtid];
+              if (mintimebucket > buck) mintimebucket=buck;
+              if (highbuck < buck) highbuck=buck
+              delete rdwrLen[newtid]
+              delete rdwrKey[newtid]
+            }
+          }
+        }
+        pbgnp[newtid] = firstword(stuffafter(rest, "gnP "))
+        if (IOhist)
+        {
+          rdwrinprog++
+          inpbucket[rdwrinprog]++
+        }
+        if (tlevel == 0)
+        {
+          if (firstVFStime == 0) firstVFStime = newtime
+          if (idleVFSstart != 0)
+          {
+            idleVFS += newtime - idleVFSstart
+            idleVFSstart = 0
+          }
+        }
+        tlevel = tlevel + 1
+        reqi = reqs[newtid]+1
+        reqs[newtid] = reqi
+        req[newtid,reqi] = treq
+        time[newtid,reqi] = newtime
+        level[newtid,reqi] = tlevel
+        if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+        else str=treq
+        if (idlestart[newtid] != "") {
+          idletime = newtime-idlestart[newtid]
+          if (details)
+            printf("%s%8d %17.9f %-33s ext %12.3f\n", pad(tlevel), newtid, newtime, str, idletime*1000000)
+        }
+        else if (details)
+          printf("%s%8d %17.9f %s\n", pad(tlevel), newtid, newtime, str)
+        if (idlestart[newtid] != "") {
+          timeout[newtid] += idletime
+          idlestart[newtid] = ""
+        }
+      }
+
+      else if (entexit == "exit:") {
+        exrc = firstword(stuffafter(rest, " rc "))
+        if (exrc == "") exrc = firstword(stuffafter(rest, " err "))
+        if (exrc == "0") exrc = ""
+        else if (exrc == "2" && treq == "lookup") exrc = " NOTFOUND"
+        else if (exrc == "25" && treq == "ioctl") exrc = " NOTTY"
+        else if (exrc != "") exrc = " err="exrc
+        for (wp = reqs[newtid]; wp >= 1; wp--)
+          if (treq == req[newtid,wp])
+            break;
+        if (wp > 0) {
+          oldtimex = time[newtid,wp]
+          oldlevel = level[newtid,wp]
+          for (; wp < reqs[newtid]; wp++)
+          {
+            req[newtid,wp] = req[newtid,wp+1]
+            time[newtid,wp] = time[newtid,wp+1]
+            level[newtid,wp] = level[newtid,wp+1]
+          }
+          reqs[newtid]--
+          delta = (newtime-oldtimex)*1000000
+          if (delta >= 1000) mark = " +"
+          else mark = ""
+          if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+          else str=treq
+          if (details)
+            printf("%s%8d %17.9f %-20s %12.3f%s%s\n", pad(oldlevel), newtid, newtime, str, delta, mark, exrc)
+          if (tlevel <= 0)
+          {
+            idleVFS = 0
+            firstVFStime = 0.000000001
+          }
+          if (tlevel >= oldlevel && oldlevel >= 1)
+          {
+            tlevel = oldlevel - 1
+            if (tlevel <= 0)
+              idleVFSstart = newtime
+          }
+          lastVFStime = newtime
+          if (reqs[newtid] == 0) {
+            timein[newtid] += newtime-oldtimex
+            idlestart[newtid] = newtime
+            tidopcnt[newtid]++
+          }
+          timeop[treq] += newtime-oldtimex
+          cntop[treq]++
+          if (IOhist)
+          {
+            delta = delta/1000000
+            totaldelta += delta
+            totalrdwrs++
+            if (rdwrinprog > maxrdwrinprog) maxrdwrinprog=rdwrinprog
+            rdwrinprog--
+            if (rdwrinprog < 0) rdwrinprog = 0
+            bucket = int(delta / reqbucketsize)
+            if (minreqbucket > bucket) minreqbucket = bucket
+            if (maxreqbucket < bucket) maxreqbucket = bucket
+            if (rdwrKey[newtid] == "WRITE:")
+              wrbuckets[bucket]++
+            else if (rdwrKey[newtid] == "READ:")
+              rdbuckets[bucket]++
+            else
+              buckets[bucket]++
+            if (rdwrLen[newtid] != "")
+            {
+              buck=int(newtime/timebucketsize);
+              if (rdwrKey[newtid] == "WRITE:")
+                wrbytessum[buck]+=rdwrLen[newtid];
+              else
+                rdbytessum[buck]+=rdwrLen[newtid];
+              if (mintimebucket > buck) mintimebucket=buck;
+              if (highbuck < buck) highbuck=buck
+              delete rdwrLen[newtid]
+              delete rdwrKey[newtid]
+            }
+          }
+        }
+        else {
+          if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+          else str=treq
+          if (details)
+            printf("%8d %17.9f %-20s **************%s\n", newtid, newtime, str, exrc)
+          if (tlevel <= 0)
+          {
+            idleVFS = 0
+            firstVFStime = 0.000000001
+          }
+          else
+          {
+            tlevel = tlevel - 1
+            if (tlevel <= 0)
+              idleVFSstart = newtime
+          }
+          lastVFStime = newtime
+        }
+      }
+      else if (!havemmapwrite && substr(rest,1,5) == " lock")
+      {
+        #  lock block 0:233 offset 0 pos 0x0000000000E90000
+        $0 = rest
+        if (IOhist)
+        {
+          rdwrKey[newtid] = "WRITE:"
+          rdwrLen[newtid] = 4096
+        }
+        gnP = pbgnp[newtid]
+        if (inodeOFgnode[gnP] != "") inode = inodeOFgnode[gnP]
+        else inode = -1
+        if ($3 == "0:0")
+        {
+          if (sectorsPerBlockA[inode] != "")
+            blocklen = sectorsPerBlockA[inode]
+          else
+            blocklen = -1
+        }
+        else
+        {
+          blocklen = (x2d(substr($NF,3)) - $5) / substr($3,3)
+          sectorsPerBlockA[inode] = blocklen / 512
+        }
+        if (details)
+          printf("%8d %17.9f WRITE: gnP %s inode %s snap 0 oiP 0xFFFFFFFF offset %s len 4096 blkSize %s opt 00000008\n", newtid, newtime, gnP, inode, $NF, blocklen)
+      }
+    }
+  }
+  else if (index(recrest, "DMAPI: mmfs_") > 0)
+  {
+    rest=stuffafter(recrest, "DMAPI: mmfs_")
+    treq=firstword(rest)
+    rest=stuffafter(rest, treq)
+    entexit=firstword(rest)
+    rest=stuffafter(rest, entexit)
+    for (i = 1; i <= tidcount; i++)
+      if (tids[i] == newtid) break
+    if (i > tidcount)
+    {
+      tids[i] = newtid
+      tidcount = i
+    }
+    if (entexit == "enter:") {
+      if (substr(treq,1,4) == "rdwr") {
+        op = firstword(stuffafter(rest, " op "))
+        if (op == "0") uioop[newtid] = "1"
+        else if (op == "1") uioop[newtid] = "0"
+        if (IOhist)
+        {
+          rdwrinprog++
+          inpbucket[rdwrinprog]++
+        }
+      }
+      if (tlevel == 0)
+      {
+        if (firstVFStime == 0) firstVFStime = newtime
+        if (idleVFSstart != 0)
+        {
+          idleVFS += newtime - idleVFSstart
+          idleVFSstart = 0
+        }
+      }
+      tlevel = tlevel + 1
+      reqi = reqs[newtid]+1
+      reqs[newtid] = reqi
+      req[newtid,reqi] = treq
+      time[newtid,reqi] = newtime
+      level[newtid,reqi] = tlevel
+      if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+      else str=treq
+      if (idlestart[newtid] != "") {
+        idletime = newtime-idlestart[newtid]
+        if (details)
+          printf("%s%8d %17.9f %-33s ext %12.3f\n", pad(tlevel), newtid, newtime, str, idletime*1000000)
+      }
+      else if (details)
+        printf("%s%8d %17.9f %s\n", pad(tlevel), newtid, newtime, str)
+      if (idlestart[newtid] != "") {
+        timeout[newtid] += idletime
+        idlestart[newtid] = ""
+      }
+    }
+
+    else if (entexit == "exit:") {
+      exrc = firstword(stuffafter(rest, " rc "))
+      if (exrc == "0") exrc = ""
+      else if (exrc == "2" && treq == "lookup") exrc = " NOTFOUND"
+      else if (exrc == "25" && treq == "ioctl") exrc = " NOTTY"
+      else if (exrc != "") exrc = " err="exrc
+      for (wp = reqs[newtid]; wp >= 1; wp--)
+        if (treq == req[newtid,wp])
+          break;
+      if (wp > 0) {
+        oldtimex = time[newtid,wp]
+        oldlevel = level[newtid,wp]
+        for (; wp < reqs[newtid]; wp++)
+        {
+          req[newtid,wp] = req[newtid,wp+1]
+          time[newtid,wp] = time[newtid,wp+1]
+          level[newtid,wp] = level[newtid,wp+1]
+        }
+        reqs[newtid]--
+        delta = (newtime-oldtimex)*1000000
+        if (delta >= 1000) mark = " +"
+        else mark = ""
+        if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+        else str=treq
+        if (details)
+          printf("%s%8d %17.9f %-20s %12.3f%s%s\n", pad(oldlevel), newtid, newtime, str, delta, mark, exrc)
+        if (tlevel <= 0)
+        {
+          idleVFS = 0
+          firstVFStime = 0.000000001
+        }
+        if (tlevel >= oldlevel && oldlevel >= 1)
+        {
+          tlevel = oldlevel - 1
+          if (tlevel <= 0)
+            idleVFSstart = newtime
+        }
+        lastVFStime = newtime
+        if (reqs[newtid] == 0) {
+          timein[newtid] += newtime-oldtimex
+          idlestart[newtid] = newtime
+          tidopcnt[newtid]++
+        }
+        timeop[treq] += newtime-oldtimex
+        cntop[treq]++
+      }
+      else
+      {
+        if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+        else str=treq
+        if (details)
+          printf("%8d %17.9f %-20s*************%s\n", newtid, newtime, str, exrc)
+        if (tlevel <= 0)
+        {
+          idleVFS = 0
+          firstVFStime = 0.000000001
+        }
+        else
+        {
+          tlevel = tlevel - 1
+          if (tlevel <= 0)
+            idleVFSstart = newtime
+        }
+        lastVFStime = newtime
+      }
+      if (IOhist && wp > 0 && substr(treq,1,4) == "rdwr")
+      {
+        delta = delta/1000000
+        totaldelta += delta
+        totalrdwrs++
+        if (rdwrinprog > maxrdwrinprog) maxrdwrinprog=rdwrinprog
+        rdwrinprog--
+        if (rdwrinprog < 0) rdwrinprog = 0
+        bucket = int(delta / reqbucketsize)
+        if (minreqbucket > bucket) minreqbucket = bucket
+        if (maxreqbucket < bucket) maxreqbucket = bucket
+        if (rdwrKey[newtid] == "WRITE:")
+          wrbuckets[bucket]++
+        else if (rdwrKey[newtid] == "READ:")
+          rdbuckets[bucket]++
+        else
+          buckets[bucket]++
+        if (rdwrLen[newtid] != "")
+        {
+          buck=int(newtime/timebucketsize);
+          if (rdwrKey[newtid] == "WRITE:")
+            wrbytessum[buck]+=rdwrLen[newtid];
+          else
+            rdbytessum[buck]+=rdwrLen[newtid];
+          if (mintimebucket > buck) mintimebucket=buck;
+          if (highbuck < buck) highbuck=buck
+          delete rdwrLen[newtid]
+          delete rdwrKey[newtid]
+        }
+      }
+    }
+  }
+
+  else if (index(recrest, "ESTALE") > 0)
+  {
+    rest = stuffafter(recrest, "VNODE:")
+    for (i = 1; i <= tidcount; i++)
+      if (tids[i] == newtid) break
+    if (i > tidcount)
+    {
+      tids[i] = newtid
+      tidcount = i
+    }
+    exrc = " err=ESTALE"
+    wp = reqs[newtid]
+    if (wp > 0) {
+      treq = req[newtid,wp]
+      oldtimex = time[newtid,wp]
+      oldlevel = level[newtid,wp]
+      for (; wp < reqs[newtid]; wp++)
+      {
+        req[newtid,wp] = req[newtid,wp+1]
+        time[newtid,wp] = time[newtid,wp+1]
+        level[newtid,wp] = level[newtid,wp+1]
+      }
+      reqs[newtid]--
+      delta = (newtime-oldtimex)*1000000
+      if (delta >= 1000) mark = " +"
+      else mark = ""
+      if (oldcmd[newcpu] != "") str=treq "(" oldcmd[newcpu] ")"
+      else str=treq
+      if (details)
+        printf("%s%8d %17.9f %-20s %12.3f%s%s\n", pad(oldlevel), newtid, newtime, str, delta, mark, exrc)
+      if (tlevel <= 0)
+      {
+        idleVFS = 0
+        firstVFStime = 0.000000001
+      }
+      if (tlevel >= oldlevel && oldlevel >= 1)
+      {
+        tlevel = oldlevel - 1
+        if (tlevel <= 0)
+          idleVFSstart = newtime
+      }
+      lastVFStime = newtime
+    }
+  }
+
+  else if (index(recrest, "kSFSAcquireFcntlBRT exit:") > 0) {
+  }
+
+  else if (index(recrest, "VNOP:") > 0) {
+    rest = stuffafter(recrest, "VNOP: ")
+    $0 = rest
+    gni =index($0, "gnP ")
+    ini =index($0, "inode ")
+    if (gni > 0 && ini > 0)
+    {
+      gnP = firstword(substr($0,gni+4))
+      inode = firstword(substr($0,ini+6))
+      inodeOFgnode[gnP] = inode
+      gnodeOFinode[inode] = gnP
+    }
+    if ($1 == "READ:" || $1 == "WRITE:")
+    {
+      if (IOhist && (key == "READ:" || $NF != "0000000C"))
+      {
+        rdwrKey[newtid] = $1
+        if ($2 == "inode")
+          rdwrLen[newtid] = $9
+        else if ($6 != "snap")
+          rdwrLen[newtid] = $11
+        else
+          rdwrLen[newtid] = $13
+      }
+      if ($NF == "00000008") havemmapwrite=1
+    }
+    else if ($1 == "GETVATTR:")
+    {
+      if ($5 == "3") nameofvp[$3] = "."
+      else if (nameofvp[$3] != "")  rest = rest " " nameofvp[$3]
+    }
+    else if ($1 == "LOCKCTL:")
+    {
+      if (index(rest, "lckdat") > 0)
+      {
+        lcmd = firstword(stuffafter(rest, "cmd 0x0000000"))
+        ltyp = firstword(stuffafter(rest, "type "))
+        if (lcmd == 2) lcmd = "SET"
+        else if (lcmd == 6) lcmd = "SET+WAIT"
+        else if (lcmd == 0) lcmd = "QUERY"
+        else if (lcmd == 1) lcmd = "QUERY+INOFLCK"
+        else if (lcmd == 3) lcmd = "SET+INOFLCK"
+        else if (lcmd == 4) lcmd = "QUERY+WAIT"
+        else if (lcmd == 5) lcmd = "QUERY+INOFLCK+WAIT"
+        else if (lcmd == 7) lcmd = "SET+INOFLCK+WAIT"
+        if (ltyp == 1) ltyp = "RDLCK"
+        else if (ltyp == 2) ltyp = "WRLCK"
+        else if (ltyp == 3) {ltyp = "UNLCK"; if (lcmd == "SET") lcmd=""}
+        rest = substr(rest, 1, index(rest, "lckdat")-1) lcmd " " ltyp
+      }
+      if (nameofvp[$2] != "")  rest = rest " " nameofvp[$2]
+    }
+    else if ($1 == "LOOKUP:")
+    {
+      # LOOKUP: vP 0x34CF58C4 inode 838030 snap 0 dvP 0x35146DA4 name 'wrfrst_01_000288'
+      # LOOKUP: vP 0x32E31418 gnP 0x331FDF00 inode 39937 snap 0 dvP 0x32E43F44 name 'testfile'
+      # LOOKUP: not found dvP 0x3512AE0C gnDirP 0x3512AE0C name 'external'
+      name = substr($0, index($0, "'")+1)
+      name = substr(name,1,length(name)-1)
+      dvp = firstword(stuffafter(rest, "dvP"))
+      if ($2 == "vP")
+      {
+        inode=firstword(stuffafter(rest, "inode "))
+        if (nameofvp[dvp] != "")
+        {
+          if (name == ".")
+          {
+            if (nameofvp[dvp] == ".") name = dvp
+            else name = nameofvp[dvp]
+          }
+          else if (name == "..")
+          {
+            #?? check inode of xxx/yyy/.. == inode of xxx
+            pos = lastpos(nameofvp[dvp], "/")
+            if (pos > 0) name = substr(nameofvp[dvp],1,pos-1)
+            else name = $3
+          }
+          else
+            name = nameofvp[dvp]"/"name
+        }
+        if (name == ".") nameofvp[$3] = $3
+        else nameofvp[$3] = name
+      }
+      else
+      {
+        inode="notfound"
+        if (nameofvp[dvp] != "") name = nameofvp[dvp]"/"name
+      }
+      lookups[inode,name] ++
+      if (nameofvp[dvp] != "") rest = rest " in " nameofvp[dvp]
+    }
+    else if ($2 == "vP" && nameofvp[$3] != "")  rest = rest " " nameofvp[$3]
+    else if ($2 == "dvP" && nameofvp[$3] != "")  rest = rest " in " nameofvp[$3]
+    if (details)
+      printf("%8d %17.9f %s\n", newtid, newtime, rest)
+  }
+
+  else if (details && index(recrest, "kSFSOpen enter") > 0) {
+    rest = stuffafter(recrest, "genNum")
+    printf("%8d %17.9f Open gen %s\n", newtid, newtime, rest)
+  }
+
+  if (traceIO)
+  {
+    if (index(recrest, "IO:") > 0) {
+      rest = stuffafter(recrest, "IO: ")
+      if (index(rest, "QIO:") > 0)
+      {
+        if (index(rest, "DIOQIO:") > 0) noDIOSIO=1
+        buffer = firstword(stuffafter(rest,"buf "))
+        if (substr(buffer,1,2) == "0x") buffer = substr(buffer,3)
+        if (index(rest, "nsdId") > 0)
+          disk = firstword(stuffafter(rest,"nsdId "))
+        else if (index(rest, "nsdName") > 0)
+        {
+          disk = firstword(stuffafter(rest,"nsdName "))
+          da = firstword(stuffafter(rest," da "))
+          nsdname[da] = disk
+        }
+        else
+        {
+          disk = firstword(stuffafter(rest,"disk "))
+          # old traces for nsd disks, can be 2 writes using same buffer
+          if (disk == "FFFFFFFF" && QIOtime[buffer,disk] != "")
+            disk = "FFFFFFFE"
+        }
+        QIOtime[buffer,disk] = newtime
+        QIOtid[buffer,disk] = newtid
+        qios++
+        ioinpbucket[qios]++
+        qiosdisk[disk]++
+        if (idlediskFirst[disk] == 0) idlediskFirst[disk] = newtime
+        if (idlediskStart[disk] != 0 && qiosdisk[disk] == 1)
+        {
+          idlediskTime[disk] += newtime-idlediskStart[disk]
+          idlediskStart[disk] = 0
+        }
+
+        if (details)
+          printf("%8d %17.9f %s qlen %d\n", newtid, newtime, rest, qiosdisk[disk])
+      }
+      else if (index(rest, "DIOSIO:") > 0 && !noDIOSIO)
+      {   # do this only if DIOQIO trace does not exist
+        buffer = firstword(stuffafter(rest,"buffer "))
+        if (substr(buffer,1,2) == "0x") buffer = substr(buffer,3)
+        if (index(rest, "nsdId") > 0)
+          disk = firstword(stuffafter(rest,"nsdId "))
+        else if (index(rest, "nsdName") > 0)
+        {
+          disk = firstword(stuffafter(rest,"nsdName "))
+          da = firstword(stuffafter(rest," da "))
+          nsdname[da] = disk
+        }
+        else if (index(rest, "file") > 0)
+          disk = firstword(stuffafter(rest,"file "))
+        else
+          disk = firstword(stuffafter(rest,"disk "))
+        QIOtime[buffer,disk] = newtime
+        QIOtid[buffer,disk] = newtid
+        qios++
+        ioinpbucket[qios]++
+        qiosdisk[disk]++
+        if (idlediskFirst[disk] == 0)
+        {
+          idlediskFirst[disk] = newtime
+          idlediskLast[disk] = newtime
+        }
+        if (idlediskStart[disk] != 0 && qiosdisk[disk] == 1)
+        {
+          idlediskTime[disk] += newtime-idlediskStart[disk]
+          idlediskStart[disk] = 0
+        }
+
+        if (details)
+          printf("%8d %17.9f %s qlen %d\n", newtid, newtime, rest, qiosdisk[disk])
+      }
+      else if (index(rest, "FIO:") > 0)
+      {
+        buffer = firstword(stuffafter(rest,"buf "))
+        if (substr(buffer,1,2) == "0x") buffer = substr(buffer,3)
+        if (index(rest, "nsdId") > 0 || index(rest, "nsdName") > 0)
+        {
+          da = firstword(stuffafter(rest," da "))
+          if (index(rest, "nsdId") > 0)
+          {
+            disk = firstword(stuffafter(rest,"nsdId "))
+            if (nsdname[da] != "") disk = nsdname[da]
+          }
+          else if (index(rest, "nsdName") > 0)
+            disk = firstword(stuffafter(rest,"nsdName "))
+          delete nsdname[da]
+          if (QIOtime[buffer,disk] == "")
+            if (QIOtime[buffer,"FFFFFFFF"] != "")
+              tdsk = "FFFFFFFF"
+            else if (QIOtime[buffer,"FFFFFFFE"] != "")
+              tdsk = "FFFFFFFE"
+            else tdsk=""
+            if (tdsk != "")
+            {
+              QIOtime[buffer,disk] = QIOtime[buffer,tdsk]
+              delete QIOtime[buffer,tdsk]
+            }
+        }
+        else
+          disk = firstword(stuffafter(rest,"disk "))
+        if (QIOtime[buffer,disk] != "")
+          delta = (newtime-QIOtime[buffer,disk])*1000000
+        else delta = 0
+        if (QIOtime[buffer,disk] > 0)
+        {
+          nios[disk]++
+          if (maxqios < qios) maxqios = qios
+          if (qios > 0) qios--
+          if (maxqiosdisk[disk] < qiosdisk[disk]) maxqiosdisk[disk] = qiosdisk[disk]
+          if (qiosdisk[disk] > 0) qiosdisk[disk]--
+          if (qiosdisk[disk] == 0)
+          {
+            idlediskStart[disk] = newtime
+            idlediskLast[disk] = newtime
+          }
+        }
+        if (details)
+          printf("%8d %17.9f %s qlen %d duration %.3f\n", QIOtid[buffer,disk], newtime, rest, qiosdisk[disk], delta)
+        if (IOhist)
+        {
+          $0 = rest
+          nSectors = $14
+          if (QIOtime[buffer,disk] > 0)
+          {
+            delta = newtime-QIOtime[buffer,disk]
+            totaliodelta += delta
+            totalios++
+            bucket = int(delta / iobucketsize)
+            if (miniobucket > bucket) miniobucket = bucket
+            if (maxiobucket < bucket) maxiobucket = bucket
+
+            buck=int(newtime/timebucketsize);
+            if (mintimebucket > buck) mintimebucket=buck;
+            if (highbuck < buck) highbuck=buck
+            if (nSectors > maxSectors) maxSectors = nSectors
+            if ($2 == "read")
+            {
+              rdiobuckets[bucket]++
+              rdsectsum[buck]+=nSectors;
+              rdsectbucket[nSectors]++
+            }
+            else
+            {
+              wriobuckets[bucket]++
+              wrsectsum[buck]+=nSectors;
+              wrsectbucket[nSectors]++
+            }
+          }
+        }
+        delete QIOtime[buffer,disk]
+      }
+    }
+
+    else if (index(recrest, "SFSRelAll") > 0) {
+      rest = stuffafter(recrest, "SFSRelAll")
+      if (details)
+        printf("%8d %17.9f release all%s\n", newtid, newtime, rest)
+    }
+
+    else if (index(recrest, "relAll") > 0) {
+      rest = stuffafter(recrest, "discarding")
+      if (details)
+        printf("%8d %17.9f release all discarding:%s\n", newtid, newtime, rest)
+    }
+
+    else if (index(recrest, "startSeqStream") > 0) {
+      rest = stuffafter(recrest, "startSeqStream")
+      if (details)
+        printf("%8d %17.9f startSeqStream%s\n", newtid, newtime, rest)
+    }
+
+    else if (index(recrest, "Buffer release") > 0) {
+      rest = stuffafter(recrest, ": ")
+      if (details)
+        printf("%8d %17.9f %s\n", newtid, newtime, rest)
+    }
+
+    else if (index(recrest, "uiomove") > 0) {
+      rest = stuffafter(recrest, "kSFSRdWr")
+      # if (details)
+        # printf("%8d %17.9f kSFSRdWr%s\n", newtid, newtime, rest)
+    }
+  }
+
+  if (traceBR)
+  {
+    # TSTM: HandleTellRequest: downgrade BR key 09010DCE:3C0FB53B:00000003:00000000 0x0000000000018000-0x0000000000019FFF to nl node 1
+    # TSTM: HandleBRTellRequest: downgrade BR key 09010DCE:3D41D263:0000005B:00000000 range 0x0000000000380000-0x00000000003BFFFF to nl node 1 seqNum 0:140 client seqNum 0:140
+    # TSTM: HandleBRTellRequest: granting tokType BR range 0x0000000000018000-0x0000000000019FFF mode xw key 09010DCE:3C0FB53B:00000003:00000000 to node 1
+    # TSTM: HandleBRTellRequest: granting tokType BR key 09010DCE:3D41D263:0000005B:00000000 range 0x0000000000380000-0x00000000003BFFFF mode xw to node 2 seqNum 0:144
+    if (index(recrest, "downgrade BR key") > 0)
+    {
+      key = firstword(stuffafter(recrest, "key "))
+      rest = stuffafter(recrest, key)
+      range = firstword(rest)
+      if (range == "range") range = firstword(stuffafter(rest,"range "))
+      mode = firstword(stuffafter(rest,"to "))
+      node = firstword(stuffafter(rest,"node "))
+      if (details)
+        printf("%8d %17.9f BR: downgrade mode %s node %s key %s range %s\n", newtid, newtime, mode, node, key, range)
+    }
+    else if (index(recrest, "granting tokType BR") > 0)
+    {
+      rest = stuffafter(recrest, "BR ")
+      range = firstword(stuffafter(rest,"range "))
+      key = firstword(stuffafter(rest,"key "))
+      mode = firstword(stuffafter(rest,"mode "))
+      node = firstword(stuffafter(rest,"node "))
+      if (details)
+        printf("%8d %17.9f BR: granting  mode %s node %s key %s range %s\n", newtid, newtime, mode, node, key, range)
+    }
+  }
+
+  if (traceTok)
+  {
+    if (index(recrest, ": -BR") > 0|| index(recrest, ": +BR") > 0) {
+      # Parse Var recrest "TSTM: " rest
+      rest = stuffafter(recrest, "TSTM: ")
+      if (details)
+        printf("%8d %17.9f TM: %s\n", newtid, newtime, rest)
+    }
+    else if (index(recrest, "TellServer upgrade token") > 0) {
+      upgrademode = firstword(stuffafter(recrest, "mode"))
+    }
+
+    else if (index(recrest, "              Range:") > 0) {
+      # Parse Var recrest "Range:0x"s1" - 0x"e1", DesRange:0x"ds1" - 0x"de1
+      s1 = firstword(stuffafter(recrest, " Range:0x"))
+      e1 = firstword(stuffafter(recrest, " - 0x"))
+      if (substr(e1,length(e1)) == ",") e1 = substr(e1,1,length(e1)-1)
+      ds1 = firstword(stuffafter(recrest, ", DesRange:0x"))
+      de1 = firstword(stuffafter(recrest, ds1 " - 0x"))
+      if (details)
+        printf("%8d %17.9f change token mode %s range %s-%s desrange %s-%s\n", newtid, newtime, upgrademode, s1, e1, ds1, de1)
+    }
+
+    else if (index(recrest, "relinquishBRT") > 0) {
+      # Parse Var recrest "relinquishBRT "entex" range "s1":"s2"-"e1":"e2 rest
+      entex = firstword(stuffafter(recrest, "relinquishBRT"))
+      inode = firstword(stuffafter(recrest, "inode "))
+      ranges = firstword(stuffafter(recrest, "range "))
+      rest = stuffafter(recrest, ranges)
+      pos = index(ranges,":")
+      if (pos > 0)
+      {
+        pos = index(ranges,"-")
+        range1 = substr(ranges,1,pos-1)
+        range2 = substr(ranges,pos+1)
+        pos = index(range1,":")
+        if (pos > 0) s1 = substr(range1,1,pos-1) substr(range1, pos+1)
+        else s1 = range1
+        pos = index(range2,":")
+        if (pos > 0) e1 = substr(range2,1,pos-1) substr(range2, pos+1)
+        else e1 = range1
+        ranges = d2x(s1,16) "-" d2x(e1,16)
+      }
+      if (details)
+        printf("%8d %17.9f relinquishBRT %s inode %s range %s %s\n", newtid, newtime, entex, inode, ranges, rest)
+    }
+
+    else if (index(recrest, "GetSubIndirectBlock inode") > 0) {
+      # Parse Var recrest "GetSubIndirectBlock" rest
+      rest = stuffafter(recrest, "GetSubIndirectBlock")
+      if (details)
+        printf("%8d %17.9f GetSubIndirectBlock %s\n", newtid, newtime, rest)
+    }
+
+    else if (index(recrest, "token_revoke enter") > 0) {
+      # Parse Var recrest "token_revoke enter" rest
+      rest = stuffafter(recrest, "token_revoke enter")
+      if (details)
+        printf("%8d %17.9f token_revoke %s\n", newtid, newtime, rest)
+    }
+
+    else if (index(recrest, "acquireBRT") > 0) {
+      if (index(recrest, "acquireBRT(): enter") > 0) {
+        # Parse Var recrest "acquireBRT(): "entex" req" s1":"s2"-"e1":"e2 rest
+        entex = firstword(stuffafter(recrest, "acquireBRT(): "))
+        inode = firstword(stuffafter(recrest, "inode "))
+        ranges = firstword(stuffafter(recrest, " req "))
+        rest = stuffafter(recrest, ranges)
+        pos = index(ranges,":")
+        if (pos > 0)
+        {
+          pos = index(ranges,"-")
+          range1 = substr(ranges,1,pos-1)
+          range2 = substr(ranges,pos+1)
+          pos = index(range1,":")
+          if (pos > 0) s1 = substr(range1,1,pos-1) substr(range1, pos+1)
+          else s1 = range1
+          pos = index(range2,":")
+          if (pos > 0) e1 = substr(range2,1,pos-1) substr(range2, pos+1)
+          else e1 = range1
+          ranges = d2x(s1,16) "-" d2x(e1,16)
+        }
+        if (details)
+          printf("%8d %17.9f acquireBRT %s inode %s req %s %s\n", newtid, newtime, entex, inode, ranges, rest)
+      }
+      else if (index(recrest, "acquireBRT: inode") > 0) {
+        # Parse Var recrest "acquireBRT: "entex" gra" s1":"s2"-"e1":"e2 rest
+        entex = "inode"
+        inode = firstword(stuffafter(recrest, "inode "))
+        ranges = firstword(stuffafter(recrest, " gra "))
+        rest = stuffafter(rest, ranges)
+        pos = index(ranges,":")
+        if (pos > 0)
+        {
+          pos = index(ranges,"-")
+          range1 = substr(ranges,1,pos-1)
+          range2 = substr(ranges,pos+1)
+          pos = index(range1,":")
+          if (pos > 0) s1 = substr(range1,1,pos-1) substr(range1, pos+1)
+          else s1 = range1
+          pos = index(range2,":")
+          if (pos > 0) e1 = substr(range2,1,pos-1) substr(range2, pos+1)
+          else e1 = range1
+          ranges = d2x(s1,16) "-" d2x(e1,16)
+        }
+        if (details)
+          printf("%8d %17.9f acquireBRT %s inode %s gra %s %s\n", newtid, newtime, entex, inode, ranges, rest)
+      }
+      else if (index(recrest, "acquireBRT(): exit") > 0) {
+        rest = stuffafter(recrest, "acquireBRT():")
+        if (details)
+          printf("%8d %17.9f acquireBRT%s\n", newtid, newtime, rest)
+      }
+    }
+
+    else if (index(recrest, "RevokeFromClients") > 0) {
+      if (index(recrest, "newmode") > 0 ||
+          index(recrest, "revoking from ") > 0 ||
+          index(recrest, "returning") > 0)
+      {
+        rest = stuffafter(recrest, "RevokeFromClients")
+        if (substr(rest,1,6) == "() -- ")
+          rest = substr(rest,7)
+        if (details)
+          printf("%8d %17.9f RevokeFromClients %s\n", newtid, newtime, rest)
+      }
+    }
+
+    else if (index(recrest, "check_dc: enter") > 0) {
+      rest = stuffafter(recrest, "check_dc")
+      if (details)
+        printf("%8d %17.9f check_dc%s\n", newtid, newtime, rest)
+    }
+
+  }
+
+  if (traceNew && index(recrest, "MALLOC") > 0)
+  {
+    if (index(recrest, "Global operator new") > 0)
+    {
+      rest = stuffafter(recrest, "new allocated ")
+      bytes = firstword(rest)
+      rest = stuffafter(rest, "bytes at 0x")
+      bytesat = firstword(rest)
+      if (allocatedseen[bytesat] == "")
+      {
+        allocatedseen[bytesat] = 1
+        allocatedlist[allocatedctr] = bytesat
+        allocatedctr++
+      }
+      allocatedby[bytesat] = newtid
+      allocatedtime[bytesat] = newtime
+      allocatedbytes[bytesat] = bytes
+      allocatedtype[bytesat] = "malloc"
+    }
+    else if (index(recrest, "Global operator delete") > 0)
+    {
+      rest = stuffafter(recrest, "delete called for object at 0x")
+      bytesat = firstword(rest)
+      allocatedby[bytesat] = ""
+    }
+    #MMFS MALLOC: shAlloc: bytesAllocated 88 bytesRequested 24 duration 2 use 1 at 0x323036C8 pool 3 label 'Client'
+    else if (index(recrest, "shAlloc: bytesAllocated") > 0)
+    {
+      rest = stuffafter(recrest, "bytesRequested ")
+      bytes = firstword(rest)
+      rest = stuffafter(rest, " at 0x")
+      bytesat = firstword(rest)
+      reqtype = stuffafter(rest, "label '")
+      reqtype = substr(reqtype,1,length(reqtype)-1)
+      if (allocatedseen[bytesat] == "")
+      {
+        allocatedseen[bytesat] = 1
+        allocatedlist[allocatedctr] = bytesat
+        allocatedctr++
+      }
+      allocatedby[bytesat] = newtid
+      allocatedtime[bytesat] = newtime
+      allocatedbytes[bytesat] = bytes
+      allocatedtype[bytesat] = reqtype
+    }
+    #MMFS MALLOC: Freeing memory at 0x4078B340 back to pool 2
+    else if (index(recrest, "Freeing memory") > 0)
+    {
+      rest = stuffafter(recrest, "Freeing memory at 0x")
+      bytesat = firstword(rest)
+      allocatedby[bytesat] = ""
+    }
+    #(obsolete)MMFS MALLOC: Freeing storage at 0x34F20B40 back to pool 3
+    else if (index(recrest, "Freeing storage") > 0)
+    {
+      rest = stuffafter(recrest, "Freeing storage at 0x")
+      bytesat = firstword(rest)
+      allocatedby[bytesat] = ""
+    }
+  }
+
+  if (traceMsg && ((index(recrest, "msg_id") > 0) || (index(recrest, "tscSend") > 0)))
+  {
+    if (index(recrest, "passing msg to idle worker") > 0) ;
+    else if (index(recrest, "service_message: enter") > 0) ;
+    else if (index(recrest, "tscSend: service") > 0) {
+      # Parse Var recrest " msg '"type"'" rest", msg "
+      rest = stuffafter(recrest, " msg '")
+      type = firstword(rest)
+      rest = stuffafter(rest, type)
+      pos = index(type, "'")
+      if (pos > 0) type = substr(type,1,pos-1)
+      pos = index(rest,", msg ")
+      if (pos > 0) rest = substr(rest,1,pos-1)
+      msgid = stuffafter(rest, "msg_id ")
+      msgid = firstword(msgid)
+      MSGtime[msgid] = newtime
+      MSGtid[msgid] = newtid
+      MSGtype[msgid] = type
+      MSGmid[newtid] = msgid
+      if (details)
+        printf("%8d %17.9f MSG Send: %s %s\n", newtid, newtime, type, rest)
+    }
+    else if (index(recrest, "llc_send_msg:") > 0) {
+      rest = stuffafter(recrest, "llc_send_msg: ")
+      if (details)
+        printf("%8d %17.9f MSG:      %s\n", newtid, newtime, rest)
+    }
+    else if (index(recrest, "tscSend: rc") > 0) {
+      rest = stuffafter(recrest, " tscSend: rc = ")
+      if (rest != "0x00000000" && rest != "0x0") rest = "err="rest
+      else rest = ""
+      msgid = MSGmid[newtid]
+      if (msgid != "")
+      {
+        delete MSGmid[newtid]
+        type = MSGtype[msgid]
+        sttime = MSGtime[msgid]
+        if (sttime != "")
+          delta = (newtime-sttime)*1000000
+        else delta = 0
+        if (details)
+          printf("%8d %17.9f MSG FSnd: %s msg_id %d Sduration %.3f %s\n", newtid, newtime, type, msgid, delta, rest)
+        if (delta > 0)
+        {
+          delta = delta/1000000
+          totalsends++
+          if (totalsenddelta[type] == 0) minsendbucket[type] = 999999
+          totalsenddelta[type] += delta
+          totalsend[type]++
+          bucket = int(delta / sendbucketsize)
+          if (minsendbucket[type] > bucket) minsendbucket[type] = bucket
+          if (maxsendbucket[type] < bucket) maxsendbucket[type] = bucket
+          sendbuckets[type,bucket]++
+        }
+      }
+    }
+    else if (index(recrest, "tscSend: replies") > 0) {
+      rest = stuffafter(recrest, " tscSend: ")
+      if (details)
+        printf("%8d %17.9f MSG Rerr: %s\n", newtid, newtime, rest)
+    }
+    else if (index(recrest, "tscHandleMsg: service") > 0 ||
+             index(recrest, "tscHandleMsgDirectly: service") > 0) {
+      # Parse Var recrest " msg '"type"'"rest", msg "
+      rest = stuffafter(recrest, " msg '")
+      type = firstword(rest)
+      rest = stuffafter(rest, type)
+      pos = index(type, "',")
+      if (pos > 0) type = substr(type,1,pos-1)
+      pos = index(rest,", msg ")
+      if (pos > 0) rest = substr(rest,1,pos-1)
+      msgid = stuffafter(recrest, "msg_id ")
+      msgid = firstword(msgid)
+      msgid = substr(msgid,1,length(msgid)-1)
+      if (type == "reply")
+        type = type" "MSGHtype[msgid]
+      else
+      {
+        MSGHtime[msgid] = newtime
+        MSGHtid[msgid] = newtid
+        MSGHtype[msgid] = type
+        #possibly wrong tid, tscSendReply will set it: MSGHmid[newtid] = msgid
+      }
+      if (details)
+        printf("%8d %17.9f MSG Recv: %s %s\n", newtid, newtime, type, rest)
+    }
+    else if (index(recrest, "tscSendReply: service") > 0) {
+      # Parse Var recrest ", msg '"type"'" rest", msg "
+      rest = stuffafter(recrest, ", msg '")
+      type = firstword(rest)
+      rest = stuffafter(rest, type)
+      pos = index(type, "',")
+      if (pos > 0) type = substr(type,1,pos-1)
+      msgid = stuffafter(rest, "msg_id ")
+      msgid = firstword(msgid)
+      msgid = substr(msgid,1,length(msgid)-1)
+      MSGRepltime[msgid] = newtime
+      MSGHmid[newtid] = msgid
+      if (details)
+        printf("%8d %17.9f MSG Repl: %s %s\n", newtid, newtime, type, rest)
+    }
+    else if (index(recrest, "tscSendReply1:") > 0) {
+      rest = stuffafter(recrest, "tscSendReply1: err = ")
+      if (rest != 0) rest = "err="rest
+      else rest = ""
+      msgid = MSGHmid[newtid]
+      if (msgid != "")
+      {
+        delete MSGHmid[newtid]
+        type = MSGHtype[msgid]
+        sttime = MSGHtime[msgid]
+        srtime = MSGRepltime[msgid]
+        if (sttime != "")
+          delta = (newtime-sttime)*1000000
+        else delta = 0
+        if (srtime != "")
+          rdelta = (newtime-srtime)*1000000
+        else rdelta = 0
+        if (details)
+          printf("%8d %17.9f MSG FRep: %s msg_id %d Rduration %.3f Hduration %.3f %s\n", newtid, newtime, type, msgid, rdelta, delta, rest)
+        if (delta > 0)
+        {
+          delta = delta/1000000
+          totalhands++
+          if (totalhanddelta[type] == 0) minhandbucket[type] = 999999
+          totalhanddelta[type] += delta
+          totalhand[type]++
+          bucket = int(delta / handbucketsize)
+          if (minhandbucket[type] > bucket) minhandbucket[type] = bucket
+          if (maxhandbucket[type] < bucket) maxhandbucket[type] = bucket
+          handbuckets[type,bucket]++
+        }
+      }
+      else if (details)
+        printf("%8d %17.9f MSG FRep: %s %s\n", newtid, newtime, type, rest)
+    }
+    else {
+      rest = stuffafter(recrest, "TS: ")
+      if (details && rest != "")
+        printf("%8d %17.9f MSG: %s\n", newtid, newtime, rest)
+    }
+  }
+
+  if (traceMutex && index(recrest, "MUTEX") > 0)
+  {
+    if (index(recrest, "waiting for mute") > 0)
+    {
+      timest[newtid]=newtime
+      $0=substr($0,index($0, "waiting for mute"));
+      mutexst[newtid]=$4
+      typest[newtid]=getmutextype(5)
+    }
+    else if (index(recrest, "Waiting for mute") > 0)
+    {
+      timest[newtid]=newtime
+      $0=substr($0,index($0, "Waiting for mute"))
+      mutexst[newtid]=$4
+      typest[newtid]=getmutextype(5)
+    }
+    else if (index(recrest, "Acquired mutex") > 0)
+    {
+      $0=substr($0,index($0, "Acquired mutex"))
+      mutex=$3
+      type=getmutextype(4)
+      mutexholder[mutex] = newtid
+      mutexholdtim[mutex] = newtime
+      if (mutexDetails)
+        printf("%8d %17.9f MUTEX Acq: %15.9f %15s %15s %s %s\n", newtid, newtime, newtime, "Holding", "-", mutex, type )
+    }
+    else if (index(recrest, "Releasing mutex") > 0)
+    {
+      $0=substr($0,index($0, "Releasing mutex"))
+      mutex=$3
+      type=getmutextype(4)
+      if (mutexholder[mutex] == newtid)
+      {
+        delta = 1000*(newtime-mutexholdtim[mutex])
+        holdercnt[mutex" "type]++
+        totholdtime[mutex" "type] += delta
+        if (mutexDetails)
+          printf("%8d %17.9f MUTEX Rel: %15s %15.9f %15.9f %s %s\n", newtid, newtime, "Releasing", newtime, delta, mutex, type )
+      }
+      else
+        if (mutexDetails)
+          printf("%8d %17.9f MUTEX Rel: %15s %15.9f %15s %s %s\n", newtid, newtime, "Releasing", newtime, "-", mutex, type )
+      delete mutexholder[mutex]
+    }
+    else if (index(recrest, "now owns mutex") > 0)
+    {
+      $0=substr($0,index($0, "now owns mutex"))
+      mutex=$4
+      type=getmutextype(5)
+      mutexholder[mutex] = newtid
+      mutexholdtim[mutex] = newtime
+      if (timest[newtid] != "")
+      {
+        delta=1000*(newtime-timest[newtid])
+        if (mutexDetails)
+          printf("%8d %17.9f MUTEX Own: %15.9f %15.9f %15.9f %s %s\n", newtid, newtime, timest[newtid], newtime, delta, mutex, type )
+        delete timest[newtid]
+        dwaiters[mutex" "type]++
+        dwaiterstim[mutex" "type]+=delta
+      }
+      else
+        if (mutexDetails)
+          printf("%8d %17.9f MUTEX Own: %15s %15.9f %15s %s %s\n", newtid, newtime, "***", newtime, "*awoken*", mutex, type )
+    }
+    else if (index(recrest, "Awakened after wait") > 0)
+    {
+      $0=substr($0,index($0, "Awakened after wait"))
+      mutex=$6
+      type=getmutextype(7)
+      if (timest[newtid] != "")
+      {
+        delta=1000*(newtime-timest[newtid])
+        if (mutexDetails)
+          printf("%8d %17.9f MUTEX Awa: %15.9f %15.9f %15.9f %s %s\n", newtid, newtime, timest[newtid], newtime, delta, mutex, type)
+        delete timest[newtid]
+        kwaiters[mutex" "type]++
+        kwaiterstim[mutex" "type]+=delta
+      }
+      else
+        if (mutexDetails)
+          printf("%8d %17.9f MUTEX Awa: %15s %15.9f %15s %s %s\n", newtid, newtime, "***", newtime, "*awoken*", mutex, type)
+    }
+  }
+
+  if (traceCond && index(recrest, "condvar") > 0)
+  {
+    cond = firstword(stuffafter(recrest, "condvar "))
+    wcount = firstword(stuffafter(recrest, "waitCount "))
+    if (cond != "")
+    {
+      if (index(recrest,"decremented") > 0)
+      {
+        waitCount[cond] -= 1
+        if (seenCond[cond] == "")
+        {
+          waitCount[cond] = wcount
+          seenCond[cond] = cond
+        }
+        else if (details && waitCount[cond] != wcount)
+          printf("%8d %17.9f CONDVAR: %s wake  count %s does not match calc count %d\n",
+                 newtid, newtime, cond, wcount, waitCount[cond])
+      }
+      else if (index(recrest,"incremented") > 0)
+      {
+        waitCount[cond] += 1
+        if (seenCond[cond] == "")
+        {
+          waitCount[cond] = wcount
+          seenCond[cond] = cond
+        }
+        else if (details && waitCount[cond] != wcount)
+          printf("%8d %17.9f CONDVAR: %s wait  count %s does not match calc count %d\n",
+                 newtid, newtime, cond, wcount, waitCount[cond])
+      }
+      else if (index(recrest,"roadcasting") > 0 || index(recrest,"ignalling") > 0)
+      {
+        if (index(recrest,"no waiters") > 0) wcount = 0
+        if (seenCond[cond] == "")
+        {
+          waitCount[cond] = wcount
+          seenCond[cond] = cond
+        }
+        else if (waitCount[cond] != wcount)
+          printf("%8d %17.9f CONDVAR: %s bcast count %s does not match calc count %d\n",
+                 newtid, newtime, cond, wcount, waitCount[cond])
+      }
+    }
+  }
+}
+
+/SSA DASD / {
+  rec = $0
+  if (cpucol > 0)
+    newcpu = firstword(substr($0, cpucol, 6))
+  else
+    newcpu = oldcpu
+  if (tidcol > 0)
+    newtid = firstword(substr($0, tidcol))
+  else
+    newtid = oldtid[newcpu]
+  if (timecol > 0)
+  {
+    newtime = firstword(substr($0, timecol))
+    if (addtime > 0) newtime += addtime
+    if (tickfactor > 1 && newtime != "")
+      newtime = newtime * tickfactor
+  }
+
+  rest = stuffafter($0, "SSA DASD ")
+
+  if (traceIO)
+  {
+    if (index(rest, "bstart:") > 0)
+    {
+      # SSA DASD bstart: hdisk2 bp=52B8E520 pblock=838EC00 bcount=40000 B_WRITE
+      disk = firstword(stuffafter(rest,"bstart: "))
+      buffer = firstword(stuffafter(rest,"bp="))
+      SSAQIOtime[buffer,disk] = newtime
+      SSAQIOtid[buffer,disk] = newtid
+      printf("%8d %17.9f SSA DASD %s\n", newtid, newtime, rest)
+    }
+    else if (index(rest, "iodone:") > 0)
+    {
+      # SSA DASD iodone: hdisk4 bp=52B8E520
+      disk = firstword(stuffafter(rest,"iodone: "))
+      buffer = firstword(stuffafter(rest,"bp="))
+      if (SSAQIOtime[buffer,disk] != "")
+        delta = (newtime-SSAQIOtime[buffer,disk])*1000000
+      else delta = 0
+      printf("%8d %17.9f SSA DASD %s SSAduration %.3f\n", SSAQIOtid[buffer,disk], newtime, rest, delta)
+    }
+  }
+}
+
+
+END {
+  if (terminate) exit 1
+
+  print "\nUnfinished operations:\n"
+  for (i = 1; i <= tidcount; i++)
+  {
+    tid = tids[i]
+    for (reqi = reqs[tid]; reqi > 0; reqi--)
+      printf("%8d ***************** %-20s ************** %s\n", tid, req[tid,reqi], time[tid,reqi])
+  }
+  if (traceIO)
+  {
+     for (buffer in QIOtime)
+       printf("%8d %17.9f *********  Unfinished IO: buffer/disk %s\n", QIOtid[buffer], QIOtime[buffer], buffer)
+  }
+  if (traceMsg)
+  {
+    for (tid in MSGmid)
+    {
+      msgid = MSGmid[tid]
+      if ( MSGtime[msgid] != "")
+        delta = (newtime-MSGtime[msgid])*1000000
+      else delta = 0
+      printf("%8d %17.9f MSG FSnd: %s msg_id %d Sduration %.3f +\n", tid, MSGtime[msgid], MSGtype[msgid], msgid, delta)
+    }
+    for (tid in MSGHmid)
+    {
+      msgid = MSGHmid[tid]
+      if ( MSGHtime[msgid] != "")
+        delta = (newtime-MSGHtime[msgid])*1000000
+      else delta = 0
+      if (MSGRepltime[msgid] != "")
+        rdelta = (newtime-MSGRepltime[msgid])*1000000
+      else rdelta = 0
+      printf("%8d %17.9f MSG FRep: %s msg_id %d Rduration %.3f Hduration %.3f +\n", tid, MSGRepltime[msgid], type, msgid, rdelta, delta)
+    }
+  }
+  if (traceNew)
+  {
+    printf("\nUnfreed storage:\n")
+    for (alli = 0; alli < allocatedctr; alli++)
+    {
+      bytesat = allocatedlist[alli]
+      if (allocatedby[bytesat] != "")
+        printf("%8d %s alloc 0x%s %d %s\n", allocatedby[bytesat], allocatedtime[bytesat], bytesat, allocatedbytes[bytesat], allocatedtype[bytesat])
+    }
+  }
+
+  if (numcpu > 0)
+    printf("\nElapsed trace time:                              %17.9f on %d cpus\n", newtime, numcpu)
+  else
+    printf("\nElapsed trace time:                              %17.9f\n", newtime)
+  if (tlevel > 0) lastVFStime = newtime
+  printf("Elapsed trace time from first VFS call to last:  %17.9f\n",
+         lastVFStime-firstVFStime)
+  printf("Time idle between VFS calls:                     %17.9f\n", idleVFS)
+  printf("\nOperations stats:             total time     count  average-usecs\n")
+  ops=0
+  for (treq in timeop)
+  {
+    ops += cntop[treq]
+    printf("  %-20s %17.9f %9d %12.3f\n", treq, timeop[treq], cntop[treq], timeop[treq]/cntop[treq]*1000000)
+  }
+  if (lastVFStime > firstVFStime)
+  printf("Ops %9d Secs %17.9f  Ops/Sec %12.3f\n", ops, lastVFStime-firstVFStime-idleVFS, ops/(lastVFStime-firstVFStime-idleVFS))
+  printf("\nUser thread stats: GPFS-time         Appl-time  GPFS-%%  Appl-%%     Ops\n")
+  for (tid in timein)
+  {
+    intm=timein[tid]
+    outm=timeout[tid]
+    if (intm+outm != 0)
+      printf("%10d %17.9f %17.9f %6.2f%% %6.2f%% %7d %s\n", tid, intm, outm, 100*intm/(intm+outm), 100*outm/(intm+outm), tidopcnt[tid], tidname[tid])
+    else
+      printf("%10d %17.9f %17.9f %6.2f%% %6.2f%% %7d %s\n", tid, intm, outm, 0, 0, tidopcnt[tid], tidname[tid])
+  }
+
+  cnt=0
+  for (tidstr in totcpu)
+  {
+    cnt++
+    accumcpu += totcpu[tidstr]
+    procname = substr(tidstr,index(tidstr," ")+1)
+    proccpu[procname] += totcpu[tidstr]
+    proctids[procname]++
+  }
+  if (cnt > 0)
+  {
+    if (numcpu > 0)
+    {
+      dispavail = numcpu*newtime
+      printf("\nAvailable dispatch time %d cpu * %.9f = %.9f seconds\n", numcpu, newtime, dispavail)
+    }
+    else
+    {
+      dispavail = accumcpu
+      printf("\nAccumulated dispatch time %.9f seconds\n", accumcpu)
+    }
+    printf("\nProcess name:                 Dispatched-time       %%\n")
+    for (str in proccpu)
+    {
+      tcpu = proccpu[str]
+      if (proctids[str] > 1)
+        namestr=str"*"proctids[str]
+      else
+        namestr=str
+      printf("%27s %17.9f %6.2f%%\n", namestr, tcpu, 100*tcpu/dispavail)
+    }
+    printf("\nAccumulated CPU             %17.9f %6.2f%% of Available\n", accumcpu, 100*accumcpu/dispavail)
+    if (printTIDdispatch)
+    {
+      printf("\nThread ID:   Dispatched-time       %% Name\n")
+      for (tidstr in totcpu)
+      {
+        inx = index(tidstr," ")
+        tid = substr(tidstr,1,inx-1)
+        str = substr(tidstr,inx+1)
+        tcpu = totcpu[tidstr]
+        printf("%10d %17.9f %6.2f%% %s\n", tid, tcpu, 100*tcpu/dispavail, str)
+      }
+    }
+  }
+
+  if (lockhist && totallockctls > 0)
+  {
+    print ""
+    cnt=0
+    printf("# total App-lockctl = %d Average duration = %0.9f\n", totallockctls, totallockdelta/totallockctls)
+    print "#  time       count         %     %ile"
+    for (i=minlockbucket ; i<=maxlockbucket ; i++)
+    {
+      j=lockbuckets[i]
+      if (j > 0)
+      {
+        cnt+=j
+        printf("%0.6f %10d  %0.6f %0.6f\n",(i+1)*lockbucketsize, j, j/totallockctls, cnt/totallockctls)
+      }
+    }
+  }
+
+  if (IOhist)
+  {
+    print ""
+    if (totalrdwrs > 0)
+    {
+      cnt=0
+      printf("# total App-read/write = %d Average duration = %0.9f\n", totalrdwrs, totaldelta/totalrdwrs)
+      print "#  time       count         %     %ile       read      write"
+      for (i=minreqbucket ; i<=maxreqbucket ; i++)
+      {
+        jr=rdbuckets[i]
+        jw=wrbuckets[i]
+        ju=buckets[i]
+        j=jr+jw+ju
+        if (j > 0)
+        {
+          cnt+=j
+          printf("%0.6f %10d  %0.6f %0.6f %10d %10d\n",(i+1)*reqbucketsize, j, j/totalrdwrs, cnt/totalrdwrs, jr, jw)
+        }
+      }
+
+      if (maxrdwrinprog > 0)
+      {
+        cnt=0
+        print "\n# max concurrant App-read/write = " maxrdwrinprog
+        print "# conc    count         %     %ile"
+        for (i=0 ; i<=maxrdwrinprog ; i++)
+        {
+          j=inpbucket[i]
+          if (j > 0)
+          {
+            cnt+=j
+            printf("%4d %10d  %0.6f %0.6f\n",i, j, j/totalrdwrs, cnt/totalrdwrs)
+          }
+        }
+      }
+    }
+    if (totalios > 0)
+    {
+      printf("\n# total IOs = %d average duration = %0.9f\n", totalios, totaliodelta/totalios)
+      print "#  time       count         %     %ile       read      write"
+      cnt=0
+      for (i=miniobucket ; i<=maxiobucket ; i++)
+      {
+        jr=rdiobuckets[i]
+        jw=wriobuckets[i]
+        j=jr+jw
+        if (j > 0)
+        {
+          cnt+=j
+          printf("%0.6f %10d  %0.6f %0.6f %10d %10d\n",(i+1)*iobucketsize, j, j/totalios, cnt/totalios, jr, jw)
+        }
+      }
+      if (maxqios > 0)
+      {
+        cnt=0
+        print "\n# max concurrant IOs = " maxqios
+        for (i=0 ; i<=maxqios ; i++)
+        {
+          j=ioinpbucket[i]
+          if (j > 0)
+          {
+            cnt+=j
+            printf("%4d %10d  %0.6f %0.6f\n",i, j, j/totalios, cnt/totalios)
+          }
+        }
+        print "\n# disk utilization between firstuse and lastuse     #IOs maxQdepth"
+        firstiotime = newtime
+        lastiotime = 0
+        cntnios = 0
+        totidle = 0
+        cntdisks = 0
+        for (disk in idlediskFirst)
+        {
+          if (idlediskStart[disk] == 0 )
+            idlediskLast[disk] = newtime  # io still going on at end
+          diskelap = idlediskLast[disk]-idlediskFirst[disk]
+          disknonidle = diskelap-idlediskTime[disk]
+          if (diskelap > 0)
+          {
+            if (firstiotime > idlediskFirst[disk]) firstiotime = idlediskFirst[disk]
+            if (lastiotime < idlediskLast[disk]) lastiotime = idlediskLast[disk]
+            totidle += idlediskTime[disk]
+            cntnios += nios[disk]
+            cntdisks++
+            if (nios[disk] > 1)
+              printf("%s %6.2f%% %s %s %7d %4d\n", disk, 100*disknonidle/diskelap, idlediskFirst[disk], idlediskLast[disk], nios[disk], maxqiosdisk[disk])
+            else
+              printf("%s         %s %s %7d %4d\n", disk, idlediskFirst[disk], idlediskLast[disk], nios[disk], maxqiosdisk[disk])
+          }
+        }
+        diskelap = cntdisks*(lastiotime-firstiotime)
+        disknonidle = diskelap-totidle
+        if (diskelap == 0) diskelap=1
+        printf("\nAverage          %6.2f%% %s %s %7d\n", 100*disknonidle/diskelap, firstiotime, lastiotime, cntnios)
+      }
+
+      cnt=0
+      print "\n# sectors      count         %     %ile       read      write"
+      for (i=1; i<=maxSectors;i++)
+      {
+        jr=rdsectbucket[i]
+        jw=wrsectbucket[i]
+        j=jr+jw
+        if (j > 0)
+        {
+          cnt+=j
+          printf("%9d %10d  %0.6f %0.6f %10d %10d\n",i, j, j/totalios, cnt/totalios, jr, jw)
+        }
+      }
+    }
+    print "\n#    time      IO-read     IO-write     App-read    App-write  (MB/s)"
+    MBpersec=1/(1000000*timebucketsize)
+    for (i=mintimebucket; i<=highbuck;i++)
+    {
+      jr=rdsectsum[i]
+      jw=wrsectsum[i]
+      j=jr+jw
+      if (j > 0 || wrbytessum[i] || rdbytessum[i])
+        printf("%9.3f %12.3f %12.3f %12.3f %12.3f\n", i*timebucketsize,jr*512*MBpersec, jw*512*MBpersec, rdbytessum[i]*MBpersec, wrbytessum[i]*MBpersec)
+    }
+  }
+  if (traceMsg)
+  {
+    if (totalsends > 0)
+    {
+      for (type in totalsend)
+      {
+        print ""
+        cnt=0
+        printf("# Send msg %-32s total = %8d   Average duration = %0.9f\n", type, totalsend[type], totalsenddelta[type]/totalsend[type])
+        print "#  time       count         %     %ile"
+        for (i=minsendbucket[type] ; i<=maxsendbucket[type] ; i++)
+        {
+          j=sendbuckets[type,i]
+          if (j > 0)
+          {
+            cnt+=j
+            printf("%0.6f %10d  %0.6f %0.6f\n",(i+1)*sendbucketsize, j, j/totalsend[type], cnt/totalsend[type])
+          }
+        }
+      }
+    }
+    if (totalhands > 0)
+    {
+      for (type in totalhand)
+      {
+        print ""
+        cnt=0
+        printf("# Handle msg %-30s total = %8d   Average duration = %0.9f\n", type, totalhand[type], totalhanddelta[type]/totalhand[type])
+        print "#  time       count         %     %ile"
+        for (i=minhandbucket[type] ; i<=maxhandbucket[type] ; i++)
+        {
+          j=handbuckets[type,i]
+          if (j > 0)
+          {
+            cnt+=j
+            printf("%0.6f %10d  %0.6f %0.6f\n",(i+1)*handbucketsize, j, j/totalhand[type], cnt/totalhand[type])
+          }
+        }
+      }
+    }
+  }
+  if (traceMutex)
+  {
+    if (mutexDetails)
+    {
+      print "\n# Outstanding mutex waiters"
+      for (tid in timest)
+        printf("%8d %17.9f MUTEX ***: %15.9f %15s %15s %s %s\n", tid, timest[tid], timest[tid], "*still*","*waiting*", mutexst[tid], typest[tid])
+    }
+    print "\n# Mutex statistics"
+    print "\n    Count  Total Wait(ms)    Avg Wait(ms) Address    Type  (in kernel)"
+    for (i in kwaiters)
+      printf("%9d %15.9f %15.9f %s\n", kwaiters[i], kwaiterstim[i], kwaiterstim[i]/kwaiters[i], i)
+    print "\n    Count  Total Wait(ms)    Avg Wait(ms) Address    Type  (in daemon)"
+    for (i in dwaiters)
+      printf("%9d %15.9f %15.9f %s\n", dwaiters[i], dwaiterstim[i], dwaiterstim[i]/dwaiters[i], i)
+    print "\n    Count  Total Hold(ms)    Avg Hold(ms) Address    Type"
+    for (i in holdercnt)
+      printf("%9d %15.9f %15.9f %s\n", holdercnt[i], totholdtime[i], totholdtime[i]/holdercnt[i], i)
+  }
+
+  print "\n# Lookup results:\n     Inode      Count Name"
+  for (inonam in lookups)
+  {
+    pos=index(inonam,SUBSEP)
+    inode=substr(inonam,1,pos-1)
+    name=substr(inonam,pos+1)
+    if (inode == "notfound")
+      printf("%10s %10d %s\n",inode,lookups[inonam],name)
+    else
+      printf("%10d %10d %s\n",inode,lookups[inonam],name)
+  }
+
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/tsfilehist.awk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/tsfilehist.awk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/debugtools/tsfilehist.awk	(revision 16)
@@ -0,0 +1,296 @@
+#! /usr/bin/awk -f
+# /usr/lpp/mmfs/samples/util/tsinode $mountpoint > $fsname.files
+#   (the output file will be about 170*#ofFiles,
+#    so be sure you have plenty of space, or pipe it into tsfilehist.awk)
+#
+# Usage: tsfilehist.awk [variable-overrides] $fsname.files > $fsname.filesummary
+#   nbuckets=#buckets-for-histogram          (default 100)
+#   blocksize=[16 64 256 384 512 1024 4096]  (default 256)
+#   availablespace=size-of-filesystem   (bytes, or with suffix {s|k|m|g})
+#     (if specified, the AvSpace%ile column will show % of available space)
+#   migrated=1    (if files could be migrated out by HSM)
+BEGIN {
+  if (ARGC<1)
+  {
+    print "Usage: tsfilehist.awk [variable-overrides] $fsname.files > $fsname.filesummary"
+    print "       nbuckets=#buckets-for-histogram          (default 100)"
+    print "       blocksize=[16 64 256 384 512 1024 4096]  (default 256)"
+    print "       availablespace=size-of-filesystem   (bytes, or with suffix {s|k|m|g})"
+    print "       migrated=1    (if files could be migrated out by HSM)"
+    terminate=1
+    exit 1
+  }
+
+  nbuckets=100
+  availablespace=0 # unknown at start
+  migrated=0
+#  SIZ = logical size BKS = blocksize of filesystem SUB = sub-block size
+  SIZ[4096]="4M";  BKS[4096]=4194304; SUB[4096]=131072
+  SIZ[1024]="1M";  BKS[1024]=1048576; SUB[1024]=32768
+  SIZ[512]="512K"; BKS[512]=524288;   SUB[512]=16384
+  SIZ[384]="384K"; BKS[384]=393216;   SUB[384]=12288
+  SIZ[256]="256K"; BKS[256]=262144;   SUB[256]=8192
+  SIZ[64]="64K";   BKS[64]=65536;     SUB[64]=2048
+  SIZ[16]="16K";   BKS[16]=16384;     SUB[16]=512
+}
+{
+#  sample output:
+#    inode     gen    uid    gid       size      space     mode nlink      atime               mtime               ctime        flags
+#    30721   65536    100    100    8037722    8044544 -rwxr-xr-x 1 1085616373.647071599 1085609949.810665286 1085609949.810665286 replmeta ind=2
+#
+# parse input
+  if ($1 == "inode") # first line
+  {
+    if (blocksize == 0) blocksize = 256
+    else if (SIZ[blocksize] == "")
+    {
+      print "Unexpected blocksize", blocksize
+      exit 1
+    }
+  }
+  else  if ($1 == "" || index($0,"logfile") != 0 || index($0,"reserved") != 0)
+    ; #throw away lines
+  else if ((substr($7,1,1) == "-" || substr($7,1,1) == "l" || substr($7,1,1) == "d"))
+  {
+    entries += 1;
+
+    if (substr($7,1,1) == "d")  # directories
+    {
+      directories += 1;
+      space=$6
+      if (availablespace != 0)
+        totsize+=space;
+    }
+    else    # files
+    {
+      files++
+      size=$5
+      space=$6
+      if (index($0,"repldata") != 0) space /= 2
+      if (size > maxsize) maxsize = size
+      if (size == 0)
+        zerolen++
+      else if (migrated && space == 0)  # Presumed to be a migrated file
+      {
+        migratedfiles++
+        migratedsize+=size
+        blks=int(size/BKS[blocksize]);
+        frag=size%BKS[blocksize];
+        subb=int(frag/SUB[blocksize]);
+        subf=size%SUB[blocksize];
+        if (subf > 0)
+          subb += 1;
+        if (blks == 0)
+          msubblarray[subb] += 1;
+        else if (blks == 1 && frag == 0)
+          msubblarray[32] += 1;
+        else if (blks <= nbuckets)
+          mdiskarray[blks] += 1;
+        else
+          mdiskarray[nbuckets+1] += 1;
+      }
+      else # if (space > 0)
+      {
+        if (space > size)
+          totalactualwaste += space-size
+        totsize+=size;
+        blks=int(size/BKS[blocksize]);
+        frag=size%BKS[blocksize];
+        subb=int(frag/SUB[blocksize]);
+        subf=size%SUB[blocksize];
+        if (subf > 0) 
+        {
+          totwaste += SUB[blocksize]-subf;
+          subb += 1;
+        }
+        if (blks == 0)
+          subblarray[subb] += 1;
+        else if (blks == 1 && frag == 0)
+          subblarray[32] += 1;
+        else if (blks <= nbuckets)
+          diskarray[blks] += 1;
+        else
+          diskarray[nbuckets+1] += 1;
+        if (blks > 67) ind64++
+        if (blks > 32) ind32++
+      }
+    }
+  }
+  else
+    entries += 1;
+}
+
+END {
+  if (terminate) exit 1
+  unit[1]="GB";
+  unit[2]="TB";
+  unit[3]="PB";
+  printf ("\nAll: Files       = %14d\n",files)
+  if (availablespace != 0)
+  {
+    lastav=substr(availablespace,length(availablespace))
+    if (lastav == "s" || lastav == "S") availablespace *= 512
+    else if (lastav == "k" || lastav == "K") availablespace *= 1024
+    else if (lastav == "m" || lastav == "M") availablespace *= 1024*1024
+    else if (lastav == "g" || lastav == "G") availablespace *= 1024*1024*1024
+    printf ("Available space  = %14d",availablespace)
+    tot=int((availablespace+500000000)/1000000000)
+    for (i=1; (tot > 0) && (i <= 3); i++)
+    {
+      printf ("%12d %s",tot, unit[i])
+      tot=int((tot+500)/1000)
+    }
+    printf ("\n")
+  }
+  printf ("Total Size       = %14d",totsize)
+  tot=int((totsize+500000000)/1000000000)
+  for (i=1; (tot > 0) && (i <= 3); i++)
+  {
+    printf ("%12d %s",tot, unit[i])
+    tot=int((tot+500)/1000)
+  }
+
+  printf ("\nLargest File     = %14d\n",maxsize);
+  printf ("Average Size     = %14d\n",totsize/files);
+  printf ("\nNon-zero: Files  = %14d\n",files-zerolen);
+  printf ("Average NZ size  = %14d\n",totsize/(files-zerolen));
+  if (migratedsize > 0)
+  {
+    printf ("\nMigrated: Files  = %14d\n",migratedfiles);
+    printf ("Total Mig size   = %14d",migratedsize);
+    tot=int((migratedsize+500000000)/1000000000);
+    for (i=1; (tot > 0) && (i <= 3); i++)
+    {
+      printf ("%12d %s",tot, unit[i]);
+      tot=int((tot+500)/1000);
+    }
+    printf ("\nAverage Mig size = %14d\n",migratedsize/migratedfiles);
+    printf ("Average All size = %14d\n",(totsize+migratedsize)/files);
+  }
+
+  printf ("\nDirectories         = %11d\n",directories);
+  printf ("Avg Entries per dir = %11.1f\n",(entries-1)/directories);
+
+  printf ("\nFiles with indirect blocks        = %11d\n", ind64);
+  printf ("Files with indirect blocks (wide) = %11d\n", ind32);
+
+  printf ("\nFile%%ile represents the cummulative percentage of files.\n");
+  printf ("Space%%ile represents the cummulative percentage of total space used.\n");
+  printf ("AvlSpc%%ile represents the cummulative percentage used of total available space.\n");
+  printf ("\nHistogram of files <= one %s block in size\n", SIZ[blocksize])
+  printf ("Subblocks    Count  File%%ile  Space%%ile");
+  if (availablespace > 0)
+    printf (" AvlSpc%%ile");
+  printf ("\n--------- -------- ---------- ----------");
+  if (availablespace > 0) printf ("  ----------");
+  printf ("\n");
+  subblarray[0] = zerolen;
+  for (j=0; j<=32; j++)
+  {
+    Faccum += subblarray[j];
+    Baccum += j*subblarray[j]*SUB[blocksize];
+    printf ("%9d%9d", j, subblarray[j]);
+    printf ("%10.2f%%%10.2f%%", 100*Faccum/(files-migratedfiles), 100*Baccum/totsize);
+    if (availablespace > 0)
+      printf (" %10.2f%%", 100*Baccum/availablespace);
+    printf ("\n");
+  }
+
+  printf ("\nHistogram of files with N %s blocks (plus end fragment)\n", SIZ[blocksize]);
+  printf ("   Blocks    Count  File%%ile  Space%%ile");
+  if (availablespace > 0)
+    printf (" AvlSpc%%ile");
+  printf ("\n--------- -------- ---------- ----------");
+  if (availablespace > 0) printf ("  ----------");
+  printf ("\n");
+  for (j=1; j<=nbuckets; j++)
+  {
+    if (diskarray[j] > 0)
+    {
+      printf ("%9d",j);
+      printf("%9d", diskarray[j]);
+      Faccum += diskarray[j];
+      Baccum += j*diskarray[j]*BKS[blocksize];
+      printf ("%10.2f%%%10.2f%%", 100*Faccum/(files-migratedfiles), 100*Baccum/totsize);
+      if (availablespace > 0)
+        printf (" %10.2f%%", 100*Baccum/availablespace);
+      printf ("\n");
+    }
+  }
+
+  printf ("Number of files with more than %d %s blocks\n", nbuckets, SIZ[blocksize]);
+  j=nbuckets+1
+  printf ("%8d+",j);
+  printf("%9d", diskarray[j]);
+  Faccum += diskarray[j];
+  Baccum = totsize;
+  if (availablespace > 0)
+    printf ("%10.2f%%%10.2f%% %10.2f%%\n", 100*Faccum/(files-migratedfiles), 100*Baccum/totsize, 100*Baccum/availablespace);
+  else
+    printf ("%10.2f%%%10.2f%%\n", 100*Faccum/(files-migratedfiles), 100*Baccum/totsize);
+
+  if (migratedsize > 0)
+  {
+    printf ("\nHistogram of migrated files <= one %s block in size\n",SIZ[blocksize])
+    printf ("Subblocks    Count  File%%ile  Space%%ile");
+    if (availablespace > 0)
+      printf (" AvlSpc%%ile");
+    printf ("\n--------- -------- ---------- ----------");
+    if (availablespace > 0) printf ("  ----------");
+    printf ("\n");
+    msubblarray[0] = 0;
+    for (j=0; j<=32; j++)
+    {
+      if (allhist || msubblarray[j] > 0)
+      {
+        printf ("%9d",j);
+        printf("%9d", msubblarray[j]);
+        mFaccum += msubblarray[j];
+        mBaccum += j*msubblarray[j]*SUB[blocksize];
+        if (availablespace > 0)
+          printf ("%10.2f%%%10.2f%% %10.2f%%\n", 100*mFaccum/migratedfiles, 100*mBaccum/totsize, 100*mBaccum/availablespace);
+        else
+          printf ("%10.2f%%%10.2f%%\n", 100*mFaccum/migratedfiles, 100*mBaccum/totsize);
+      }
+    }
+
+    printf ("\nHistogram of migrated files with N %s blocks (plus end fragment)\n", SIZ[blocksize]);
+    printf ("   Blocks    Count  File%%ile  Space%%ile");
+    if (availablespace > 0)
+      printf (" AvlSpc%%ile");
+    printf ("\n--------- -------- ---------- ----------");
+    if (availablespace > 0) printf ("  ----------");
+    printf ("\n");
+    for (j=1; j<=nbuckets; j++)
+    {
+      if (mdiskarray[j] > 0)
+      {
+        printf ("%9d",j);
+        printf("%9d", mdiskarray[j]);
+        mFaccum += mdiskarray[j];
+        mBaccum += j*mdiskarray[j]*BKS[blocksize];
+        if (availablespace > 0)
+          printf ("%10.2f%%%10.2f%% %10.2f%%\n", 100*mFaccum/migratedfiles, 100*mBaccum/totsize, 100*mBaccum/availablespace);
+        else
+          printf ("%10.2f%%%10.2f%%\n", 100*mFaccum/migratedfiles, 100*mBaccum/totsize);
+      }
+    }
+
+    printf ("Number of migrated files with more than %d %s blocks\n", nbuckets, SIZ[blocksize]);
+    j=nbuckets+1
+    printf ("%8d+",j);
+    printf("%9d", mdiskarray[j]);
+    mFaccum += mdiskarray[j];
+    mBaccum = migratedsize;
+    if (availablespace > 0)
+      printf ("%10.2f%%%10.2f%% %10.2f%%\n", 100*mFaccum/migratedfiles, 100*mBaccum/totsize, 100*mBaccum/availablespace);
+    else
+      printf ("%10.2f%%%10.2f%%\n", 100*mFaccum/migratedfiles, 100*mBaccum/totsize);
+  }
+
+  #printf ("\nBlockSize        Waste %% Waste Avg Waste per File\n");
+  #printf (  "--------- ------------ ------- ------------------\n");
+  #printf ("     %s %12d %6.2f%% %17d\n",SIZ[blocksize],totwaste,100*totwaste/totsize,totwaste/(files-zerolen-migratedfiles));
+  #printf ("     %s %12d %6.2f%% %17d\n","Real",totalactualwaste,100*totalactualwaste/totsize,totalactualwaste/(files-zerolen-migratedfiles));
+
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/diskdesc
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/diskdesc	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/diskdesc	(revision 16)
@@ -0,0 +1,9 @@
+hdisk1:r20n04:r20n06:dataOnly:-1:myvsd1n4
+hdisk2:r20n04:r20n06
+hdisk1:r20n05::metadataOnly:3813:myvsd2n4
+hdisk16:r20n05
+hdisk17:r20n05::
+myvsd1n4
+myvsd2n4::::
+myvsd3n4:::dataOnly
+hdisk3:r20n13:r20n14:dataAndMetadata:
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/gatherlogs.samples.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/gatherlogs.samples.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/gatherlogs.samples.sh	(revision 16)
@@ -0,0 +1,42 @@
+#!/usr/bin/ksh
+#
+# Sample script to gather, merge and sort mmfs.log files
+# from nodes listed in file /tmp/gpfs.allnodes
+#
+# /tmp/gpfs.allnodes has been created by the user of this script
+# and contains the host names of the nodes that the 
+# mmfs.log files are required from.  No blank lines.
+#
+# Output file is called: /tmp/logs.sorted on node script is executes from
+#
+# Assumes proper rsh execution environment (.rhosts files configured)
+#
+# -----------------------------------------------------------------------
+#
+rm /tmp/logs.merged 2>/dev/null      # remove the intermediate file
+#
+for node in $(cat /tmp/gpfs.allnodes)   # loop through all nodes in file
+do
+  echo Gathering mmfs logs on node $node
+#
+# Change the date below for the date of interest for problem determination
+# Ensure date pattern matches date of interest in logs
+#
+  rsh $node "grep -h \"Nov  3\" /var/adm/ras/mmfs.log*" > /tmp/${node}.output
+  if [[ -s /tmp/${node}.output ]] then
+    cat /tmp/${node}.output | \
+    while read line
+      do
+        echo $node $line >> /tmp/logs.merged    # add hostname to beginning of line
+      done
+  fi
+done
+#
+# sort the merged logs by the date field
+#
+if [[ -s /tmp/logs.merged ]] then
+  sort -k 4,5 /tmp/logs.merged > /tmp/logs.sorted
+  echo sort return code $?
+fi
+#
+exit 
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/gpfsready.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/gpfsready.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/gpfsready.sample	(revision 16)
@@ -0,0 +1,43 @@
+#!/bin/ksh
+# @(#)49	1.11  src/avs/fs/mmfs/ts/config/gpfsready.sample, mmfs, avs_rgpfs24, rgpfs240610b 10/31/05 10:18:04 
+##############################################################################
+#
+# When properly installed, this script is invoked by the GPFS daemon during
+# initialization, before it runs recovery for any VFS mount points that were
+# already mounted, perhaps because GPFS is recovering from crash.
+#
+# This script can be used to initialize DMAPI applications before any mount
+# is started.  Upon return from this script, DMAPI applications should have
+# a session and a disposition for the mount event.
+#
+# If SANergy is used to access files controlled by GPFS, sanergyd can be
+# started from this script.
+#
+#
+# IMPORTANT: The GPFS daemon will wait until this script returns.  Do not
+#            invoke long-running commands synchronously, and do not mount
+#            GPFS file systems from this script.  Use the mmfsup script
+#            for this purpose.
+#
+#
+# To activate the code:
+#
+#   a) edit this script and make the appropriate changes
+#   b) copy this script to /var/mmfs/etc/gpfsready
+#   c) ensure this script is executable (chmod +x /var/mmfs/etc/gpfsready)
+#
+##############################################################################
+
+
+# Uncomment the following to start sanergyd on MDC after GPFS comes up.
+
+# sanergyd_cmd=/usr/SANergy/sanergyd32
+# if [ -x $sanergyd_cmd ]
+# then
+#   print "$(date) $0 $sanergyd_cmd started"
+#   $sanergyd_cmd &
+# else
+#   print "$(date) $0 can't execute $sanergyd_cmd"
+# fi
+
+return 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/gpfsrecover.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/gpfsrecover.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/gpfsrecover.sample	(revision 16)
@@ -0,0 +1,58 @@
+#!/bin/ksh
+# @(#)40	1.1  src/avs/fs/mmfs/ts/config/gpfsrecover.sample, mmfs, avs_rgpfs24, rgpfs240610b 10/31/05 10:18:06 
+##############################################################################
+#
+# When properly installed, this script is invoked by the GPFS daemon during
+# node failure recovery before any distributed locks held by failed nodes
+# are released.  This script is invoked once for each file system on all
+# nodes on which the file system is mounted or otherwise in use (e.g., due
+# to a pending file system management command).
+#
+# The script is invoked with the following parameters:
+#  - The first parameter is the name of the file system.
+#  - The second parameter is the "recovery phase".  In this release,
+#    the recovery phase parameter will always be zero.
+#  - The remaining parameters are the node numbers of all failed nodes
+#    for which recovery is being run.
+#
+# Note: Should additional node failures occur while node failure recovery
+# is in progress, this script may be invoked more than once per file system.
+# In this case, the list of failed nodes will not necessarily be the same for
+# all file systems for which this script is invoked, and multiple invocations
+# for the same file system may contain non-disjoint sets of failed nodes.
+# Hence, all actions invoked by this script should be idempotent.
+#
+# Example: Say there are two file systems, gpfs1 and gpfs2, and nodes 10, 11,
+# and 12 fail, in that order.  This may result in the following sequence of
+# calls to this script:
+#   gpfsrecover gpfs1 0 10
+#   gpfsrecover gpfs2 0 10 11
+#   gpfsrecover gpfs1 0 10 11
+#   gpfsrecover gpfs2 0 10 11 12
+#   gpfsrecover gpfs1 0 12
+# The only guarantee is that for each file system and each failed node, this
+# script will be invoked at least once with that file system and node as
+# parameters.
+#
+# IMPORTANT: This script is invoked synchronously, i.e., gpfs recovery will
+# not progress until this script finishes.  Therefore, it should not invoke
+# any long-running actions, and it MUST NOT attempt to access any files or
+# directories in a gpfs file system.
+#
+#
+# To activate the code:
+#
+#   a) edit this script and make the appropriate changes
+#   b) copy this script to /var/mmfs/etc/gpfsrecover
+#   c) ensure this script is executable (chmod +x /var/mmfs/etc/gpfsrecover)
+#
+##############################################################################
+
+# Get the input parameters.
+fsname=$1
+phase=$2
+shift 2
+failednodes=$*
+
+
+return 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmfs.cfg.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmfs.cfg.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmfs.cfg.sample	(revision 16)
@@ -0,0 +1,188 @@
+## Sample configuration file 
+
+## Numbers may end with a single letter:
+##   k or K meaning 1024
+##   m or M meaning 1048576 (1024*1024)
+##
+## The '#' character is the comment character.  Any parameter 
+## modified herein should have any preceding '#' removed.
+##
+
+########  Memory / Shared Segment Configuration  ########
+
+## The pagepool is used for I/O buffers.  It is always pinned.
+## The allowable range is 4M to 512M (AIX).
+## The allowable range is 4M to 1300M (LINUX).
+#pagepool 64M
+
+## maxblocksize controls the maximum file system block size allowed.
+## File systems with larger block sizes cannot be mounted or created
+## unless the value of maxblocksize is increased.
+## The allowable range is 16K to 16M
+## default: maxblocksize 1M
+#maxblocksize 
+
+## Maximum number of files to cache. If the number of concurrently open
+## files is bigger, then the number of cached files will exceed this value.
+## The allowable range is 1 to 100000
+#maxFilesToCache 1000
+
+## The maximum number of stat cache entries.
+## The default is 4 times the value of the maxFilesToCache parameter.
+## The allowable range is 0 to 10000000
+#maxStatCache
+
+########  DMAPI configuration  ########
+
+## The dmapiEventTimeout parameter controls the blocking of file operation
+## threads of NFS and DFS, while in the kernel waiting for the handling of
+## a DMAPI synchronous event. The parameter value is the maximum time, in
+## milliseconds, the thread will block. When this time expires, the file
+## operation returns ENOTREADY, and the event continues asynchronously.
+## The NFS/DFS server is expected to repeatedly retry the operation, which
+## eventually will find the response of the original event and continue.
+## This mechanism applies only to read, write and truncate events, and only
+## when such events come from NFS and DFS server threads. The timeout value
+## is given in milliseconds. The value 0 indicates immediate timeout (fully
+## asynchronous event). A value greater or equal 86400000 (which is 24 hours)
+## is considered "infinity" (no timeout, fully synchronous event).
+## The default value is 86400000.
+#dmapiEventTimeout 86400000
+
+## The dmapiSessionFailureTimeout parameter controls the blocking of file
+## operation threads, while in the kernel, waiting for the handling of a DMAPI
+## synchronous event that is enqueued on a session that has suffered a failure.
+## The parameter value is the maximum time, in seconds, the thread will wait
+## for the recovery of the failed session. When this time expires and the
+## session has not yet recovered, the event is aborted and the file operation
+## fails, returning the EIO error. The timeout value is given in full seconds.
+## The value 0 indicates immediate timeout (immediate failure of the file
+## operation). A value greater or equal 86400 (which is 24 hours) is considered
+## "infinity" (no timeout, indefinite blocking until the session recovers).
+## The default value is 0.
+#dmapiSessionFailureTimeout 0
+
+## The dmapiMountTimeout parameter controls the blocking of mount operations,
+## waiting for a disposition for the mount event to be set. This timeout is
+## activated at most once on each node, by the first external mount of a
+## file system which has DMAPI enabled, and only if there has never before
+## been a mount disposition. Any mount operation on this node that starts
+## while the timeout period is active will wait for the mount disposition. The
+## parameter value is the maximum time, in seconds, that the mount operation
+## will wait for a disposition. When this time expires and there is still no
+## disposition for the mount event, the mount operation fails, returning the
+## EIO error. The timeout value is given in full seconds. The value 0 indicates
+## immediate timeout (immediate failure of the mount operation). A value
+## greater or equal 86400 (which is 24 hours) is considered "infinity" (no
+## timeout, indefinite blocking until the there is a disposition).
+## The default value is 60.
+#dmapiMountTimeout 60
+
+########  Prefetch tuning ##########
+
+## The value of the 'prefetchThreads' parameter controls the maximum 
+## possible number of threads dedicated to prefetching data for 
+## files that are read sequentially, or to handle sequential writebehind.  
+## The actual degree of parallelism for prefetching is determined
+## dynamically in the daemon.  
+## (minimum 2, maximum 104)
+#prefetchThreads 72
+
+## The 'worker1Threads' parameter controls the maximum number of threads
+## that are used to handle other operations associated with data access.
+## The primary use is for random read/write requests that cannot be prefetched.
+## random IO requests or small file activity.
+## (minimum 1, maximum 64)
+#worker1Threads 48
+
+## maxMBpS is an estimate of how many MB per sec of data can be transferred
+## in or out of a single node. The value is used in calculating the
+## amount of IO that can be done to effectively prefetch data for readers
+## and/or or write-behind data from writers. The maximum number of IOs in
+## progress concurrantly will be 2 * min(nDisks, maxMBpS*avgIOtime/blockSize),
+## where nDisks is the number disks that make a filesystem,
+## avgIOtime is a measured average of the last 16 full block IO times, and
+## blockSize is the block size for a full block in the filesystem (e.g. 256K).
+## By lowering this value, you can artificially limit how much IO one node
+## can put on all the VSD servers, if there are lots of nodes that
+## can overrun a few VSD servers. Setting this too high will usually
+## not hurt because of other limiting factors such as the size of the
+## pagepool, or the number of prefetchThreads or worker1Threads.
+#maxMBpS 150
+
+########  Problem determination Configuration  ########
+
+## Tracing of individual classes of events/operations can be activated by
+## adding "trace <trace-class> <trace level>" lines below.
+trace all 0
+
+## The 'unmountOnDiskFail' keyword controls how the daemon will respond when
+## a disk failure is detected.
+##
+## When it is set to "no", the daemon will mark the disk as failed and
+## continue as long as it can without using the disk. All nodes that are
+## using this disk will be notified of the disk failure.  The disk can be
+## made active again by using the "mmchdisk" command.  This is the
+## suggested setting when metadata and data replication is used because
+## the replica can be used until the disk can be brought online again.
+##
+## When this is set to "yes", any disk failure will cause only the local
+## node to panic (force-unmount) the filesystem that contains that disk.
+## Other filesystems on this node and other nodes will continue to function
+## normally (if they can. The local node can try and remount the filesystem
+## when the disk problem has been resolved. This is the suggested setting
+## when using VSD disks in large multinode configurations and replication is
+## not being used.
+##
+## When it is set to "meta", the daemon will mark the disk as failed and
+## continue as long as it can without using the disk. All nodes that are
+## using this disk will be notified of the disk failure.  The disk can be
+## made active again by using the "mmchdisk" command.  This is the
+## suggested setting when metadata replication is used and there are lots of 
+## dataOnly disks because the replica can be used until the disk can be 
+## brought online again. The filesystem will remain mounted over dataOnly disk 
+## failures, at the expense of user applications getting EIO errors when 
+## trying to use disks that have been marked down.
+#unmountOnDiskFail no
+
+## The 'dataStructDump' keyword controls whether mmfs will produce a
+## formatted dump of its internal data structures into a file named
+## internaldump.<daemon pid>.signal whenever it aborts.
+## The following entry can either be a directory name in which the file
+## will reside, or otherwise a boolean value. When given a positive
+## boolean value the directory defaults to /tmp/mmfs.
+#dataStructureDump yes
+
+######## Node Override Configuration  ########
+##
+##   In a multi-node configuration, it may be desirable to configure some
+##   nodes differently than others.  This can be accomplished by placing
+##   separate, potentially different, copies of the mmfs.cfg file on each
+##   node.  However, since maintaining separate copies of the configuration
+##   file on each node will likely be more difficult and error prone,
+##   the same effect can be achieved via node overrides wherein a single
+##   mmfs.cfg file is replicated on every node.
+##
+##   A node override is introduced by a line containing a node name or list
+##   of node names in square brackets.  All parameter specifications
+##   that follow will apply only to the listed nodes.  A "[common]" line
+##   ends a section of node overrides.  For example the following fragment:
+##
+##     pagepool 30M
+##
+##     [tiger5,tiger6]
+##     pagepool 10M
+##
+##     [tiger9]
+##     pagepool 64M
+##
+##     [common]
+##     maxFilesToCache 200
+##
+##   configures the page pool on most nodes as 30 megabytes.  However,
+##   on tiger5 and tiger6 the page pool is configured with a smaller
+##   page pool of 10 megabytes.  On tiger9 the page pool is configured
+##   with a larger page pool of 64 megabytes.  Lines after the "[common]" line
+##   again apply to all nodes, i.e. every node will have a maxFilesToCache 
+##   of 200.
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmfsdown.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmfsdown.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmfsdown.sample	(revision 16)
@@ -0,0 +1,91 @@
+#!/bin/ksh
+# @(#)41        1.2  src/avs/fs/mmfs/ts/config/mmfsdown.sample, mmfs, avs_rgpfs24, rgpfs240610b 1/27/06 16:14:33 
+##############################################################################
+#
+# When properly installed, this script is invoked by the GPFS daemon during
+# normal or abnormal shutdown cleanup processing.
+#
+# The script is invoked with one parameter which represents the status of
+# the GPFS daemon.  The possible values are:
+#   down    - this is normal shutdown processing as a result of a mmshutdown
+#             command.  The GPFS daemon will not be restarted.
+#   active  - this is abnormal shutdown processing as a result of some
+#             unrecoverable condition.  The GPFS daemon will be restarted.
+#
+# If this is a normal shutdown, GPFS has already unmounted all file systems.
+#
+# If this is abnormal shutdown, GPFS leaves the file systems mounted and
+# will attempt to remount them after the daemon restarts.  If you do not
+# wish the file systems to be automatically remounted, add the appropriate
+# umount commands in this script.
+#
+# You can also use this script to add any commands to clean up local state
+# before the GPFS daemon restarts.
+#
+# If GPFS was started with the -T option (activate tracing) on the mmstartup
+# command, trace records have already been cut prior to invoking this script.
+# If you want to disable the automatic trace handling on a particular node,
+# run the following command on the desired nodes:
+#      touch /var/mmfs/etc/ignoreMMTRACE
+#
+# If you have disabled the automatic trace handling, or if you have started
+# tracing with the mmtrace command, add the appropriate trace handling commands.
+#
+#
+# To activate the code:
+#
+#   a) edit this script and make the appropriate changes
+#   b) copy this script to /var/mmfs/etc/mmfsdown
+#   c) ensure this script is executable (chmod +x /var/mmfs/etc/mmfsdown)
+#
+##############################################################################
+
+# Process the parameters.
+status=$1  # Possible values are "active" or "down".
+
+
+# osName=$(/bin/uname -s)
+
+# if [[ $osName = Linux ]]
+# then
+#   FSTYPE=gpfs
+#   UMOUNTALL="/bin/umount -a"
+#   # Note: Do not redirect stderr on Linux umount.
+#   STDERR_REDIRECT=""
+# fi
+
+# if [[ $osName = AIX ]]
+# then
+#   FSTYPE=mmfs
+#   UMOUNTALL="/usr/sbin/umount"
+#   STDERR_REDIRECT="2>/dev/null"
+# fi
+
+
+# if [[ $status = active ]]
+# then
+#   # The GPFS daemon died but will be restarted.
+
+#   # Optional unmount of all GPFS file systems (uncomment the umount line).
+#   # The GPFS daemon will remount anything left mounted in VFS.
+#   # For multi-node recovery, there may be reasons to force the unmount now.
+
+#   # Uncomment the next line for unforced unmount.
+#   # Busy file systems will not unmount.
+#   #$(eval $UMOUNTALL -t $FSTYPE $STDERR_REDIRECT)
+  
+#   # Uncomment the next line for forced unmount.
+#   #$UMOUNTALL -f -t $FSTYPE
+
+#   # Do any commands here to clean up local state
+#   # before the GPFS daemon restarts.
+
+# else
+
+#   # GPFS daemon is shutting down.
+
+#   # Do any commands here to clean up local state
+#   # when the GPFS daemon is shutting down.
+# fi
+
+return 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmfsup.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmfsup.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmfsup.sample	(revision 16)
@@ -0,0 +1,67 @@
+#!/bin/ksh
+# @(#)43	1.1  src/avs/fs/mmfs/ts/config/mmfsup.sample, mmfs, avs_rgpfs24, rgpfs240610b 10/31/05 10:18:13 
+##############################################################################
+#
+# When properly installed, this script is invoked by the GPFS daemon when
+# it is up and ready for sessions.
+#
+# This script can be used to mount some or all of the GPFS file systems
+# for which manual mount was specified ("-A no" file system option).
+#
+# All GPFS file systems for which mount at daemon startup was specified
+# ("-A yes" file system option) should have already been mounted by GPFS.
+# If you want to disable on a particular node the automatic mounting of
+# file systems when GPFS starts up, run the following command on the
+# desired nodes:
+#      touch /var/mmfs/etc/ignoreStartupMount
+#
+# If you have NFS exported directories in GPFS file systems, the NFS mount
+# daemon may have exported the mount point instead of the GPFS file system.
+# For this reason, after the GPFS file systems are mounted, all existing
+# exports should be re-exported.
+#
+# Installations that start GPFS automatically when the node reboots, and
+# require their users to do explicit mounts, should not do anything here.
+#
+#
+# To activate the code:
+#
+#   a) edit this script and make the appropriate changes
+#   b) copy this script to /var/mmfs/etc/mmfsup
+#   c) ensure this script is executable (chmod +x /var/mmfs/etc/mmfsup)
+#
+##############################################################################
+
+# Initialize path names.
+
+# osName=$(/bin/uname -s)
+# if [[ $osName = Linux ]]
+# then
+#   MOUNT=/bin/mount
+#   FSTYPE=gpfs
+# fi
+# if [[ $osName = AIX ]]
+# then
+#   MOUNT=/usr/sbin/mount
+#   FSTYPE=mmfs
+# fi
+ 
+ 
+# Mount all GPFS type file systems.
+# $MOUNT -t $FSTYPE
+
+
+# Re-export everything that is currently exported.
+
+# if [[ $osName = AIX ]]
+# then
+#   /usr/sbin/exportfs -f /etc/xtab -av
+# fi
+
+# if [[ $osName = Linux ]]
+# then
+#   /usr/sbin/exportfs -r
+# fi
+
+return 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmsdrbackup.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmsdrbackup.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/mmsdrbackup.sample	(revision 16)
@@ -0,0 +1,32 @@
+#!/bin/ksh
+# @(#)66	1.1  src/avs/fs/mmfs/ts/config/mmsdrbackup.sample, mmfs, avs_rgpfs24, rgpfs240610b 10/24/03 10:20:32 
+#
+#
+# When properly installed on the primary GPFS configuration server,
+# this script will be asynchronously invoked every time there is a
+# change to the master configuration file /var/mmfs/gen/mmsdrfs.
+#
+# The version number of the mmsdrfs file is passed as the first input
+# parameter to the script.
+#
+# The script can be used for backing up the GPFS configuration data.
+# This can be as simple as copying the file to a non-GPFS file system
+# on the same or a different node.  For example,
+#
+#   suffix="$version.$(date +%Y.%m.%d.%H.%M.%S).$(hostname -s)"
+#   cp  /var/mmfs/gen/mmsdrfs /tmp/mmsdrfs.$suffix
+#   rcp /tmp/mmsdrfs.$suffix  backupNode:/backupDir/mmsdrfs.$suffix
+#
+# To activate the code, make the appropriate changes and install the
+# script as /var/mmfs/etc/mmsdrbackup
+#
+# ATTENTION:  Under no circumstances should any of the files in
+#             /var/mmfs and its subdirectories be altered or removed
+#             as a result of the changes that you make to this script.
+#
+#
+
+version=$1  # version number of file /var/mmfs/gen/mmsdrfs
+
+return 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/README
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/README	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/README	(revision 16)
@@ -0,0 +1,92 @@
+Introduction
+------------
+This directory includes a set of scripts that implements HA-NFS using GPFS
+as the file system.
+
+Network Setup
+-------------
+Setup an IP address for the GPFS cluster, and a separate set of IP addresses
+(one or more) for NFS serving. Use static IP address. DHCP can not be used.
+
+Dependencies
+------------
+(1) Linux heartbeat
+(2) Kernel patch for lockd. (until the code is included in the kernel)
+(3) Fixed sm-notify (until SuSe release the fixed version)
+
+Cluster Setup
+-------------
+1. Create a GPFS cluster and file systems.
+
+2. Create a small file system for the HA-NFS shared files. This file system
+	should be configured to be mounted when GPFS starts (mmcrfs -A yes).
+
+3. Add all file systems but the one for HA-NFS to /etc/exports.
+
+4. Stop the GPFS cluster on all nodes with	mmshutdown -a
+   or on one node use 				/etc/init.d/gpfs stop
+
+5. Modify .sample files appropriately and copy them to /var/mmfs/etc (drop the .sample extension)
+	cp -p /usr/lpp/mmfs/samples/nfscluster/nfsdefs.sample /var/mmfs/etc/nfsdefs
+	cp -p /usr/lpp/mmfs/samples/nfscluster/nfs.nodes.sample /var/mmfs/etc/nfs.nodes
+	cp -p /usr/lpp/mmfs/samples/nfscluster/alert.sample /var/mmfs/etc/alert
+
+6. Edit nfsdefs; use the fields as described in the file.
+
+7. Edit nfs.nodes; each line is a mapping between GPFS IP address and NFS IP
+   address(es). One line for every node in the NFS cluster.
+
+8. Edit alert is optional. This script is invoked to alert an administrator
+   that something is wrong with the NFS cluster. Edit this file to match your
+   needs.
+
+9. To complete configuration of GPFS and Linux for HA-NFS on all nodes run the
+   following on one node.
+   	/usr/lpp/mmfs/samples/nfscluster/install_ha-nfs.sh -a /var/mmfs/etc/nfsdefs /var/mmfs/etc/nfs.nodes
+
+10. Start the GPFS cluster.
+	mmstartup -a
+	
+	
+Notes
+-----
+Configure GPFS as an HA-NFS cluster:
+	
+	The following option are already set by install_ha-nfs.sh script.
+
+	For better read performance of big files set the following option.
+		mmchconfig nfsprefetchstrategy=1
+
+	To get faster recovery time:
+		Current lease time and wait time are 35 second.
+		Set leaserecoverywait to no less than 10 second.
+			mmchconfig leaserecoverywait=10
+
+		Set leaseDuration to no less than 20 second.
+			mmchconfig leaseDuration=20
+
+user exits:
+	mmfsup, mmfsup.scr, mmfsdown, and mmfsdown.scr are used by HA-NFS
+	all old scripts in /var/mmfs/etc are saved in /var/mmfs/etc.bak
+	After HA-NFS installation the user can add a calls to its exits from
+	mmfsup.scr or mmfsdown.scr
+	The user should NOT create an mmfsup or mmfsdown scripts for now.
+
+bonding:
+	If bonding is used add an entry like the following to ifcfg file
+	for correct monitoring by mii-tool.
+
+	BONDING_MODULE_OPTS='miimon=100 mode=1 use_carrier=0'
+	
+Clean-up:
+	If GPFS or some other component terminated abnormally you can try
+	the following command to avoid reboot. (reboot is recommended)
+		/var/mmfs/etc/cleanup
+
+nfs.nodes example:
+        # The first column is the IP addresses used for the GPFS cluster.
+        # The second column is the IP addresses used to export NFS.
+
+	192.168.2.13            9.1.140.65
+	192.168.2.14            9.1.140.66
+	192.168.1.15            9.1.140.67
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/alert.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/alert.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/alert.sample	(revision 16)
@@ -0,0 +1,8 @@
+#!/bin/ksh
+# @(#)94	1.1.1.1  src/avs/fs/mmfs/samples/nfscluster/alert.sample, mmfs, avs_rgpfs24, rgpfs24s006a 8/23/06 17:08:45
+#
+
+echo "The following alert: $1 was issued on node $2"
+echo "If not configured to failover, the node is still part of the cluster \
+      but does not serve NFS correctly; note that the monitoring utility \
+      continues to run in this case." 
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/cleanup
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/cleanup	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/cleanup	(revision 16)
@@ -0,0 +1,56 @@
+#!/bin/ksh
+# @(#)76	1.4.1.3  src/avs/fs/mmfs/samples/nfscluster/cleanup, mmfs, avs_rgpfs24, rgpfs24s005a 6/26/06 15:16:12
+#
+# cleanup
+#
+##############################################################################
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+# Check for locks
+locks=$( cat /proc/locks | grep "POSIX" )
+if [ "$locks" != "" ]; then
+	secs=45
+else
+	secs=3
+fi
+if [[ "$REBOOT" == "1" &&  -f /tmp/ha-nfs-reboot ]]; then
+	echo "$0: rebooting this node in $secs seconds"
+	sleep $secs
+	/usr/lpp/mmfs/bin/mmfsadm cleanup
+	debuglog rm /tmp/ha-nfs-reboot
+	reboot
+	exit
+fi
+
+msg "$0 waiting $secs seconds before starting NLM cleanup"
+sleep $secs
+msg "$0 starting NLM cleanup"
+
+# Terminate all NFS service.
+nfsService terminate
+
+FSTYPE=gpfs
+UMOUNTALL="/bin/umount -a"
+# Note: Do not redirect stderr on Linux umount.
+STDERR_REDIRECT=""
+
+# Busy file systems will not unmount.
+$(eval $UMOUNTALL -t $FSTYPE $STDERR_REDIRECT)
+
+# Try forced unmount.
+$UMOUNTALL -f -t $FSTYPE
+
+# Do any commands here to clean up local state
+# before the GPFS daemon restarts.
+
+# Clean GPFS
+/usr/lpp/mmfs/bin/mmfsadm cleanup
+/usr/lpp/mmfs/bin/mmfsenv -u
+
+
+return 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/gpfsrecovernode.scr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/gpfsrecovernode.scr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/gpfsrecovernode.scr	(revision 16)
@@ -0,0 +1,47 @@
+#!/bin/ksh
+# @(#)59	1.5  src/avs/fs/mmfs/samples/nfscluster/gpfsrecovernode.scr, mmfs, avs_rgpfs24, rgpfs240610b 2/24/06 10:48:25 
+#
+# This shell script is called by the mmfsd daemon during node failure
+# recovery before any distributed locks held by failed nodes are released.
+#
+# IMPORTANT: This script is invoked synchronously, i.e., NAS recovery will
+# not progress until this script finishes.  Therefore, it should not invoke
+# any long-running actions, and it MUST NOT attempt to access any files or
+# directories in a NAS file system.
+
+# The script is invoked with the following parameters:
+#  - The first parameter is the "recovery phase".
+#  - The second parameter is the IP address used by GPFS for this node.
+#  - The remaining parameters are the IP addresses of all failed nodes
+#    for which recovery is being run.
+#
+# Note: Should additional node failures occur while node failure recovery
+# is in progress, this script may be invoked more than once.
+
+if [ ! -f /var/mmfs/etc/nfsrecovernode.scr ]; then
+    echo "$0: Can't find nfsrecovernode.scr in /var/mmfs/etc"
+    exit 0
+fi
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+allparms=$*
+phase=$1
+me=$2
+shift 2
+failed=$*
+
+debugmsg "phase=$phase; I am $me; failed nodes are $failed"
+
+# Start grace period before GPFS recovery can complete.
+if [ $phase -eq 1 ]; then
+    startGrace
+    msg "NLM grace period started due to failure of $failed"
+fi
+
+# Do the rest asynchronously allowing GPFS recovery to complete so we can use
+# the shared filesystem to keep state.
+nohup /var/mmfs/etc/nfsrecovernode.scr $allparms >> $LOGFILE 2>&1 &
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/init.d.gpfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/init.d.gpfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/init.d.gpfs	(revision 16)
@@ -0,0 +1,111 @@
+#!/bin/bash
+#
+# GPFS configuration (SLES only)
+#
+# /etc/init.d/gpfs
+#
+### BEGIN INIT INFO
+# Provides:       gpfs
+# Required-Start: $local_fs $network portmap
+# Should-Start: 
+# Required-Stop:
+# Should-Stop:
+# Default-Start:  2 3 5
+# Default-Stop:
+# Description:    Configure the GPFS environment and optionally mount filesystems
+### END INIT INFO
+
+. /etc/rc.status
+
+rc_reset
+
+if [ ! -f /var/mmfs/etc/nfsdefs ]; then
+    	echo "$0: Can't find NFS defines (nfsdefs) in /var/mmfs/etc. Terminating."
+	exit 0
+fi
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    	echo "$0: Can't find NFS functions (nfsfuncs) in /var/mmfs/etc. Terminating."
+	exit 0
+fi
+. /var/mmfs/etc/nfsdefs
+. /var/mmfs/etc/nfsfuncs
+
+start() {
+	# We need to do the following before starting GPFS:
+	# 1. Start ssh (or rsh) because we may need to communicate with other nodes
+	#    if this is a node failback
+	# 2. Don't start NFS before GPFS because it causes nfsd restart
+	#    to fail in restart of lockd
+	# 3. Configure NLM ports here so a subsequent start of nfsd will get the
+	#    correct ports assigned
+	# 4. Cleanup any stale files left over on reboot
+
+	if [ -f $NODELIST.shutdown ]; then
+		if [ ! -f $NODELIST ]; then
+			mv $NODELIST.shutdown $NODELIST
+		else
+			rm $NODELIST.shutdown
+		fi
+	fi
+        startRshd
+	configNLMPorts $(myGPFSIP)
+	if [ $? -ne 0 ]; then
+		echo "$0: cannot configure NLM ports for HA-NFS. NLM failover may not function correctly."
+	fi
+
+	if [ -e /usr/lpp/mmfs/bin/mmautoload ]; then
+		/usr/lpp/mmfs/bin/mmautoload
+	fi
+}
+
+stop() {
+	if [ -e /usr/lpp/mmfs/bin/mmshutdown ]; then
+		/var/mmfs/etc/nfsmonitor -e
+		/usr/lpp/mmfs/bin/mmshutdown
+		/var/mmfs/etc/cleanup
+	fi
+}
+
+case "$1" in
+	start)
+		echo -n "Starting GPFS "
+		start
+		rc_status -v
+		;;
+	stop)
+		echo -n "Stopping GPFS "
+		stop
+		rc_status -v
+		;;
+	shutdown)
+		echo -n "Stopping GPFS (no failover) "
+		[ -f $NODELIST ] && mv $NODELIST $NODELIST.shutdown
+		stop
+		rc_status -v
+		[ -f $NODELIST.shutdown ] && mv $NODELIST.shutdown $NODELIST
+		;;
+	restart|try-restart)
+		echo -n "Restarting GPFS "
+		[ -f $NODELIST ] && mv $NODELIST $NODELIST.shutdown
+		stop
+		[ -f $NODELIST.shutdown ] && mv $NODELIST.shutdown $NODELIST
+		start
+		rc_status -v
+		;;
+	status)
+		rc_failed 4
+		rc_status -v
+		;;
+	reload|force-reload)
+		# Currently, this only restarts the monitor
+		if [ -e /var/mmfs/etc/nfsmonitor ]; then
+			echo -n "Restarting monitor "
+			/var/mmfs/etc/nfsmonitor restart
+		fi
+		rc_status -v
+		;;	
+    	*)
+		echo "Usage: $0 {start|stop|shutdown|restart|try-restart|reload|force-reload|status}"
+		exit 1
+esac
+rc_exit
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/install_ha-nfs.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/install_ha-nfs.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/install_ha-nfs.sh	(revision 16)
@@ -0,0 +1,262 @@
+#!/bin/bash
+
+# SLES 9 only
+# This script is written in bash (instead of ksh) as it invokes SLES scripts
+
+install_script=/usr/lpp/mmfs/samples/nfscluster/install_ha-nfs.sh
+
+error() {
+    echo "Error: $*"
+}
+
+usage() {
+    echo "Usage: $0 [-a] nfsdefs nodes.list"
+    echo "$@"
+    exit 1
+}
+
+# Exit if status is not 0
+statusCheck() {
+    status=$?
+    if [ $status -ne 0 ]; then
+        grep "Error:\|Warning:" $LOGFILE
+        [ -s $LOGFILE ] && echo -n "See $LOGFILE for details."
+        echo ""
+        exit $status
+    fi
+}
+
+config() {
+    # Check for SUSE distribution
+    dist=$(cat /etc/issue | grep "SUSE LINUX Enterprise Server 9")
+    if [ -z "$dist" ]; then
+	error "Install will work only for SUSE LINUX Enterprise Server 9"
+	return 1
+    fi
+
+    # Check the GPFS is not running
+    gpfs=$(mmfsadm dump version 2> /dev/null | grep "Current daemon version")
+    if [ -n "$gpfs" ]; then
+	error "GPFS must be stopped before installation."
+	return 1
+    fi
+
+    # Ensure programs required for HA are available
+    if [ ! -e /etc/ha.d/resource.d/IPaddr ]; then
+        error "Cannot find heartbeat in /etc/ha.d/resource.d. Please install the heartbeat RPMs required for high-availability. Installation will not continue."
+        return 1
+    fi
+
+    # Ensure all public interfaces used for NFS are static (no DHCP)
+    gpfsip=$(myGPFSIP)
+    nfsIPs=$(getNfsIPs $gpfsip)
+    for ip in $nfsIPs; do
+        # Find its ifcfg file
+        ifcfg=$(getifcfg $ip)
+	if [ -z "$ifcfg" ]; then
+            error "Cannot find configuration file for $ip in $IFPATH"
+            error "$ip has to be a static IP address defined in $IFPATH. DHCP is not permitted as an NFS address."
+            return 1
+        fi
+        bootproto=$(grep ^BOOTPROTO $ifcfg | awk -F\' '{print $2}')
+        if [ "$bootproto" != "static" ]; then
+            error "$ip has to be a static IP address in $ifcfg. DHCP is not permitted as an NFS address."
+            return 1
+        fi
+    done
+
+    # Check if sm-notify works with host names. Warn, otherwise
+    # Use any one of NFS IPs
+    sm-notify -m 1 -d -v $ip 2> /dev/null
+    if [ $? -ne 0 ]; then
+        echo "Warning: The installed version of sm-notify does not support notification of failures on IP takeover for NLM lock recovery. Please upgrade (see README) if you intend to use byte-range locking over NFS."
+    fi
+
+    typeset -i portAssigned=1
+    configNLMPorts $gpfsip
+    [ $? -ne 0 ] && portAssigned=0
+ 
+    # Check if kernel supports manipulating grace period
+    checkDynamicGrace
+    if [ $? -eq 0 ]; then
+        echo "Warning: The running kernel ($(uname -r)) does not support setting grace period for NFS locking. On single node failure, all NFS locks will be released cluster-wide and reclaimed by clients."
+    fi
+
+    # Copy files from samples
+    [ -d /var/mmfs/etc ] && cp -a /var/mmfs/etc /var/mmfs/etc.bak
+    cp -dp /usr/lpp/mmfs/samples/nfscluster/* /var/mmfs/etc
+
+    log cp -dp /usr/lpp/mmfs/samples/nfscluster/init.d.gpfs /etc/init.d/gpfs &&
+    log insserv gpfs
+    # Undo GPFS autoload from inittab
+    sed -i 's/^gpfs:\(.*\)/# gpfs:\1	# Disabled by HA-NFS/g' /etc/inittab
+
+    # Set default start mode of interfaces to be used for HA-NFS to "manual"
+    # This is required so clients do not detect active connections on failover
+    # or failback before GPFS is active
+    for ip in $nfsIPs; do
+        # Find its ifcfg file
+        ifcfg=$(getifcfg $ip)
+	[ -z "$ifcfg" ] && continue
+        iface=$(getifname $ip)
+        if grep -q "^STARTMODE.*='onboot'" $ifcfg; then
+	    . $ifcfg
+	    for ipval in ${!IPADDR*}; do
+		index=${ipval#IPADDR}
+		ipaddr=${!ipval}
+		if [ "$ip" == "$ipaddr" ]; then
+			mode=STARTMODE$index
+			break
+		fi
+	    done
+            # SuSE
+            sed -i "s/^$mode='onboot'/$mode='manual'	# added for HA-NFS/g" $ifcfg
+            echo "Installation has changed the start mode of interface $iface to manual."
+        elif grep -q "^ONBOOT=yes" $ifcfg; then
+            # RedHat
+            sed -i "s/^ONBOOT=yes/ONBOOT=no	# added for HA-NFS/g" $ifcfg
+            echo "Installation has changed the start mode of interface $iface to manual."
+        fi
+    done
+
+    if [ $portAssigned -eq 0 ]; then
+	echo "Warning: Cannot assign requested ports for NLM. Reboot required to complete installation."
+    fi
+}
+
+install() {
+    echo -n "Synchronizing install files to all nodes in the cluster "
+    for ip in $gpfsIPs; do
+	log $GPFS_rcpPath $defs $ip:/var/mmfs/etc
+	log $GPFS_rcpPath $nodes $ip:$NODELIST
+    done
+    rc_status -v
+    statusCheck
+
+    echo -n "Installing HA-NFS on all nodes in the cluster "
+    gpfsIPs=$(echo $gpfsIPs | sed 's/ /,/g')
+    log mmdshcmdRC $gpfsIPs $install_script -c
+    rc_status -v
+    statusCheck
+}
+
+chconfig() {
+    nodeList=$*
+
+    # Autoload GPFS on boot.
+    if [ "$AUTOSTART" == "1" ]; then 
+	options="autoload=yes"
+    else
+	options="autoload=no"
+    fi
+
+    # For better read performance of large files set the following option.
+    options="$options,nfsprefetchstrategy=1"
+
+    # After creating the GPFS cluster turn on the GPFS HA-NFS option.
+    options="$options,enablenfscluster=yes"
+
+    echo -n "Configuring GPFS cluster for HA-NFS "
+    log mmchconfig "$options $nodeList"
+
+    # Following options have to be run on all nodes of the cluster
+    
+    if [ -n "$allflag" ]; then
+        # Current lease time and wait time are 35+35 seconds.
+        # set leaserecoverywait to no less than 10 second.
+        options="$options,leaserecoverywait=10"
+
+        # set leaseDuration to no less than 20 second.
+        options="$options,leaseDuration=20"
+
+        log mmchconfig "$options"
+    fi
+    rc_status -v
+}
+
+touch /var/mmfs/etc/nfsdefs # workaround to get nfsfuncs to work
+funcs=/usr/lpp/mmfs/samples/nfscluster/nfsfuncs
+[ -f $funcs ] || die "Cannot find $funcs"
+. $funcs
+
+. /etc/rc.status
+rc_reset
+
+LOGFILE=/tmp/install-ha-nfs.log
+> $LOGFILE
+
+allflag=""
+while getopts acv OPT; do
+    case $OPT in
+	a)
+	    [ -n "$allflag" ] && usage "specify '$OPT' option only once"
+	    allflag=yes
+	    ;;
+	c)
+	    config
+	    exit $?
+	    ;;
+	*)
+	    usage "$OPTARG is not valid"
+	    ;;
+    esac
+done
+
+shift $(($OPTIND-1))
+[ $# -eq 2 ] || usage
+
+defs=$1; nodes=$2
+
+[ -f $defs ] || die "Cannot find $defs. See /usr/lpp/mmfs/samples/nfscluster/README for installation instructions"
+[ -f $nodes ] || die "Cannot find $nodes. See /usr/lpp/mmfs/samples/nfscluster/README for installation instructions"
+
+cp -dp $defs /var/mmfs/etc
+cp -dp $nodes /var/mmfs/etc
+
+. $defs
+
+# Reset log file that might be overwritten by $defs
+LOGFILE=/tmp/install-ha-nfs.log
+
+if [ -n "$GPFS_RSH" ]; then
+    GPFS_rshPath=$(which $GPFS_RSH)
+else
+    GPFS_rshPath=$(which rsh)
+fi
+if [ -n "$GPFS_RCP" ]; then
+    GPFS_rcpPath=$(which $GPFS_RCP)
+else
+    GPFS_rcpPath=$(which rcp)
+fi
+
+# Check that mandatory parameters have been defined
+[ -n "$SHARED_ROOT" ] || die "The system directory (SHARED_ROOT) for HA-NFS not defined in $defs"
+[ -n "$NODELIST" ] || die "The list of GPFS nodes (NODELIST) for HA-NFS not defined in $defs"
+
+if [ -z "$allflag" ]; then
+    config
+    opts="-N $(myGPFSIP)"
+else
+    # Run configuration on all GPFS nodes
+    temp=$NODELIST
+    NODELIST=$nodes 		# used by getAllGPFSIPs
+    gpfsIPs=$(getAllGPFSIPs)
+    list=$(echo $gpfsIPs | sed 's/ /,/g')
+    opts="-N $list"
+    NODELIST=$temp
+
+    myip=$(myGPFSIP)
+    if [ -z "$myip" ]; then
+	error "Install will work only from one of the nodes in nfs.nodes"
+	exit 1
+    fi
+
+    install $gpfsIPs
+fi
+chconfig $opts
+
+statusCheck
+grep "Warning:" $LOGFILE
+echo -n "Installation is complete. "
+[ -s $LOGFILE ] && echo "See $LOGFILE for details."
+exit 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/mmQuorumLossExit
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/mmQuorumLossExit	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/mmQuorumLossExit	(revision 16)
@@ -0,0 +1,38 @@
+#!/bin/ksh
+# @(#)81        1.4  src/avs/fs/mmfs/samples/nfscluster/mmQuorumLossExit, mmfs, avs_rgpfs24, rgpfs240610b 3/1/06 10:12:33 
+##############################################################################
+#
+# When properly installed, this script is invoked by the GPFS daemon during
+# quorum loss.
+#
+# You can also use this script to add any commands to clean up local state
+# before the GPFS daemon restarts.
+#
+# To activate the code:
+#
+#   a) edit this script and make the appropriate changes
+#   b) copy this script to /var/mmfs/etc/mmQuorumLossExit
+#   c) ensure this script is executable (chmod +x /var/mmfs/etc/mmfsdown)
+#
+##############################################################################
+
+# Process the parameters.
+status=$1  # Possible values are "active" or "down".
+
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+# Wait before terminating mmfsd since this script is called synchronously from mmfsd
+killmmfs() {
+    sleep 10
+    killall -9 mmfsd
+}
+
+nfsmonitor -e
+stop.nfs
+killmmfs &
+
+return
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/mmfsdown.scr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/mmfsdown.scr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/mmfsdown.scr	(revision 16)
@@ -0,0 +1,77 @@
+#!/bin/ksh
+# @(#)60        1.6  src/avs/fs/mmfs/samples/nfscluster/mmfsdown.scr, mmfs, avs_rgpfs24, rgpfs24s010a 1/24/07 08:56:49 
+##############################################################################
+#
+# When properly installed, this script is invoked by the GPFS daemon during
+# normal or abnormal shutdown cleanup processing.
+#
+# The script is invoked with one parameter which represents the status of
+# the GPFS daemon.  The possible values are:
+#   down    - this is normal shutdown processing as a result of a mmshutdown
+#             command.  The GPFS daemon will not be restarted.
+#   active  - this is abnormal shutdown processing as a result of some
+#             unrecoverable condition.  The GPFS daemon will be restarted.
+#
+# If this is a normal shutdown, GPFS has already unmounted all file systems.
+#
+# If this is abnormal shutdown, GPFS leaves the file systems mounted and
+# will attempt to remount them after the daemon restarts.  If you do not
+# wish the file systems to be automatically remounted, add the appropriate
+# umount commands in this script.
+#
+# You can also use this script to add any commands to clean up local state
+# before the GPFS daemon restarts.
+#
+# If GPFS was started with the -T option (activate tracing) on the mmstartup
+# command, trace records have already been cut prior to invoking this script.
+# If you want to disable on a particular node the automatic trace handling,
+# run the following command on the desired nodes:
+#      touch /var/mmfs/etc/ignoreMMTRACE
+#
+# If you have disabled the automatic trace handling, or if you have started
+# tracing with the mmtrace command, add the appropriate trace handling commands.
+#
+#
+# To activate the code:
+#
+#   a) edit this script and make the appropriate changes
+#   b) copy this script to /var/mmfs/etc/mmfsdown
+#   c) ensure this script is executable (chmod +x /var/mmfs/etc/mmfsdown)
+#
+##############################################################################
+
+# Process the parameters.
+status=$1  # Possible values are "active" or "down".
+
+# Stop nfs monitor
+/var/mmfs/etc/nfsmonitor -e
+# To stop nfs cluster on this node
+/var/mmfs/etc/stop.nfs
+
+# if [[ $status = active ]]
+# then
+#   # The GPFS daemon died but will be restarted.
+
+#   # Optional unmount of all GPFS file systems (uncomment the umount line).
+#   # The GPFS daemon will remount anything left mounted in VFS.
+#   # For multi-node recovery, there may be reasons to force the unmount now.
+
+#   # Uncomment the next line for unforced unmount.
+#   # Busy file systems will not unmount.
+#   #$(eval $UMOUNTALL -t $FSTYPE $STDERR_REDIRECT)
+  
+#   # Uncomment the next line for forced unmount.
+#   #$UMOUNTALL -f -t $FSTYPE
+
+#   # Do any commands here to clean up local state
+#   # before the GPFS daemon restarts.
+
+# else
+
+#   # GPFS daemon is shutting down.
+
+#   # Do any commands here to clean up local state
+#   # when the GPFS daemon is shutting down.
+# fi
+
+return 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/mmfsup.scr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/mmfsup.scr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/mmfsup.scr	(revision 16)
@@ -0,0 +1,47 @@
+#!/bin/ksh
+# @(#)61	1.6.1.2  src/avs/fs/mmfs/samples/nfscluster/mmfsup.scr, mmfs, avs_rgpfs24, rgpfs24s010a 2/16/07 02:32:44 
+##############################################################################
+#
+# When properly installed, this script is invoked by the GPFS daemon when
+# it is up and ready for sessions.
+#
+# This script can be used to mount some or all of the GPFS file systems
+# for which manual mount was specified ("-A no" file system option).
+#
+# All GPFS file systems for which mount at daemon startup was specified
+# ("-A yes" file system option) should have already been mounted by GPFS.
+# If you want to disable on a particular node the automatic mounting of
+# file systems when GPFS starts up, run the following command on the
+# desired nodes:
+#      touch /var/mmfs/etc/ignoreStartupMount
+#
+# If you have NFS exported directories in GPFS file systems, the NFS mount
+# daemon may have exported the mount point instead of the GPFS file system.
+# For this reason, after the GPFS file systems are mounted, all existing
+# exports should be re-exported.
+#
+# Installations that start GPFS automatically when the node reboots, and
+# require their users to do explicit mounts, should not do anything here.
+#
+#
+# To activate the code:
+#
+#   a) edit this script and make the appropriate changes
+#   b) copy this script to /var/mmfs/etc/mmfsup
+#   c) ensure this script is executable (chmod +x /var/mmfs/etc/mmfsup)
+#
+##############################################################################
+
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+# Mount all GPFS type file systems that need to be NFS-exported.
+#/bin/mount -at gpfs
+
+# Start nfs cluster
+/var/mmfs/etc/start.nfs $1
+
+return 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfs.nodes.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfs.nodes.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfs.nodes.sample	(revision 16)
@@ -0,0 +1,3 @@
+192.168.2.13		9.1.140.65
+192.168.2.14		9.1.140.66	
+192.168.2.15		9.1.140.67
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsdefs.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsdefs.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsdefs.sample	(revision 16)
@@ -0,0 +1,114 @@
+#!/bin/ksh
+# @(#)83	1.9.1.4  src/avs/fs/mmfs/samples/nfscluster/nfsdefs.sample, mmfs, avs_rgpfs24, rgpfs24s006a 8/17/06 20:21:25
+#
+
+################################################################################
+# nfsdefs.sample                                                               #
+# This is a sample for defining parameters for HA-NFS over GPFS                #
+# Copy this sample file to /var/mmfs/etc/nfsdefs and uncomment the lines that  #
+# specify parameters                                                           #
+################################################################################
+
+# Specify the root of the filesystem used for storing shared state required
+# for HA-NFS failover and failback. This is a system directory that SHOULD NOT
+# exported for NFS
+# This parameter is MANDATORY
+# SHARED_ROOT=/gpfs/gpfsA
+
+# Specify the IP addresses for the list of nodes belonging to the GPFS cluster
+# The format of this file is as follows:
+# GPFS_IP[:eth:mask] NFS_IP1 NFS_IP2 ...
+# See nfs.nodes.sample for a sample of this file.
+# This parameter is MANDATORY
+# NODELIST=/var/mmfs/etc/nfs.nodes
+
+# Specify the (virtual) DNS name used by clients to address the HA cluster. 
+# For example, if the GPFS cluster includes the nodes with names "gpfs1", 
+# "gpfs2", "gpfs3" and the virtual DNS name for the cluster is "gpfs", 
+# the clients are allowed to NFS mount from "gpfs" instead of 
+# individually from "gpfs1", etc.
+# This parameter is OPTIONAL
+# VIP=virtualname
+
+# Specify the location of the log file for HA-NFS debug messages
+# This parameter is OPTIONAL (default /var/mmfs/gen/mmfslog)
+# If specified, LOGFILE will be rotated on every (re)start (or recovery) of GPFS
+# LOGFILE=/tmp/ha-nfs.log
+
+# Specify the mechanism for communicating between GPFS nodes. Appropriate
+# configuration is required to ensure password-less access between the nodes.
+# This parameter is OPTIONAL (default rsh/rcp/xinetd)
+# GPFS_RSH=/usr/bin/ssh
+# GPFS_RCP=/usr/bin/scp
+# GPFS_RSHD=sshd
+
+# Specify whether monitoring of various daemons/processes required for correct
+# functioning of HA-NFS should be enabled.
+# This parameter is OPTIONAL (default 1)
+# MONITOR=0
+
+# Specify whether extra messages should be logged for debugging.
+# This parameter is OPTIONAL (default 0, levels 1-2 allowed)
+# DEBUG=1
+
+# SLES9 clients have a bug that prevents them from reclaiming NLM locks
+# correctly on node failures. If clients mount NFS shares using hostnames
+# (or IP addresses) OTHER THAN the virtual name (VIP above), enable the
+# parameter below.
+# This parameter is OPTIONAL (default 0)
+# NOTIFYFIX=1
+
+# Autostart GPFS on boot
+# This parameter is OPTIONAL (default 0)
+# AUTOSTART=1
+
+# Reboot node on failure
+# This parameter is OPTIONAL (default 0)
+# REBOOT=1
+
+################################################################################
+# The following parameters are OPTIONAL and should only be changed if you know #
+# what you are doing :)                                                        #
+################################################################################
+
+# Specify the number of NFS server kernel threads to run 
+# This parameter is OPTIONAL (default is 32)
+# NFSD_PROCS=32
+
+# For HA-NFS to work correctly with GPFS cluster, the NLM daemons on the
+# different nodes MUST be bound to different port numbers. Specify the "base"
+# port number to be used to compute the NLM port number (Port no. is calculated
+# as NLM_PORT + node number). Choose a range of ports that are not used on any
+# node of the cluster.
+# This parameter is OPTIONAL (default is 10000)
+# NLM_PORT=10000
+
+# For HA-NFS to work correctly with Automounter (AMD), the MOUNT daemons on the
+# different nodes MUST be bound to the same port numbers.
+# This parameter is OPTIONAL (no default)
+# MOUNTD_PORT=""
+
+# Specify the level of monitoring to be done on various subsystems required for
+# HA-NFS.
+# The following levels are defined:
+# 0 	No monitoring to be done for this subsystem
+# 1 	Monitor this subsystem and signal an alert when it is stopped
+# 2 	Monitor this subsystem and restart it when it it stopped 
+#	(This may not be applicable for all services)
+# 3 	Monitor this subsystem and fail the node when it is stopped
+
+# Specify the level for monitoring IP interfaces
+# MONITOR_NETWORK=3
+# Specify the level for monitoring portmap service
+# MONITOR_PORTMAP=3
+# Specify the level for monitoring nfsd service
+# MONITOR_NFSD=3
+# Specify the level for monitoring mountd service
+# MONITOR_MOUNTD=3
+# Specify the level for monitoring statd (NLM) service
+# MONITOR_STATD=3
+# Specify the level for monitoring rsh/ssh service
+# MONITOR_SSHD=3
+
+# Specify the frequency of at which subsystems are monitored in seconds (default 15)
+# MONITOR_INTERVAL=15
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsfuncs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsfuncs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsfuncs	(revision 16)
@@ -0,0 +1,1415 @@
+#!/bin/ksh
+# @(#)64	1.17.1.18  src/avs/fs/mmfs/samples/nfscluster/nfsfuncs, mmfs, avs_rgpfs24, rgpfs24s011a 3/7/07 20:57:04
+#
+
+if [ ! -f /var/mmfs/etc/nfsdefs ]; then
+    echo "$0: Can't find NFS defines(nfsdefs) in /var/mmfs/etc"
+    exit 0
+fi
+
+. /var/mmfs/etc/nfsdefs
+
+# Configure path used for programs
+PATH=$PATH:/sbin:/usr/sbin:/usr/bin:/bin                # standard programs
+PATH=$PATH:/usr/lpp/mmfs/bin:/var/mmfs/etc		# for mmfs programs
+PATH=$PATH:/etc/ha.d/resource.d:/usr/lib/heartbeat	# for HA stuff
+export PATH
+
+# Shared storage for HA-NFS
+# The directory structure is as follows:
+# shared/.ha
+#     nfs (mirrors /var/lib/nfs)
+#         rmtab
+#         node1
+#	      statd
+#	          sm
+#	          sm.bak
+#	  ...
+#     recovery
+#	  node1
+#	      nodeX
+#	  ...
+#
+# Local storage for node1
+# /var/lib/nfs
+#	rmtab  -> shared/.ha/nfs/rmtab
+# (RHEL):
+#	statd  -> shared/.ha/nfs/node1/statd
+# (SLES):
+#	sm     -> shared/.ha/nfs/node1/statd/sm
+#	sm.bak -> shared/.ha/nfs/node1/statd/sm.bak
+#
+SHARED_HA=${SHARED_ROOT}/.ha
+SHARED_NFS=${SHARED_HA}/nfs
+SHARED_RECOVERY=${SHARED_HA}/recovery
+
+# For failover of locks to happen correctly, the lockmgrs on all GPFS nodes
+# need to listen on different port numbers so clients are forced to 
+# re-establish socket connection with the takeover node for reclaims
+# Default port number to use for NLM (NFS lock manager)
+# For node i, nlmport = NLM_PORT + i
+[ -z "$NLM_PORT" ] && NLM_PORT=10000
+
+# Dependencies for distribution - RHEL, SLES
+if [ -d /etc/sysconfig/network ]; then
+    IFPATH="/etc/sysconfig/network"
+else
+    IFPATH="/etc/sysconfig/network-scripts"
+fi
+
+typeset -i	iptakeover=0 	# does GPFS perform IP failover?
+		debug=0 	# debug level for messages to be logged?
+		notifyfix=0	# SM_NOTIFY fix required for SLES?
+		monitor=1	# monitoring of daemons required?
+		customLog=1	# Log file specified
+		hardMount=1	# Clients use "hard" NFS mounts
+
+[ -f $NODELIST ]     && iptakeover=1
+[ -n "$DEBUG" ]      && debug=$DEBUG
+[ -n "$NOTIFYFIX" ]  && notifyfix=1
+[ -n "$MONITOR" ]    && monitor=$MONITOR
+[ -z "$LOGFILE" ]    && LOGFILE=/var/mmfs/gen/mmfslog && customLog=0
+[ -z "$NFSD_PROCS" ] && NFSD_PROCS=32
+
+if [ -n "$GPFS_RSH" ]; then
+    GPFS_rshPath=$(which $GPFS_RSH)
+else
+    GPFS_rshPath=$(which rsh)
+fi
+export GPFS_rshPath
+
+################################################################################
+#				Utility functions			       #
+################################################################################
+
+die() {
+    echo "$*"
+    exit 1
+}
+
+_log() {
+    let level=$1; shift
+    if [ $debug -ge $level ]; then
+	echo "`date`: $*" >> $LOGFILE 2>&1
+	$* >> $LOGFILE 2>&1
+    else
+	$* > /dev/null 2>&1
+    fi
+}
+
+log() {
+    _log 0 $*
+}
+
+debuglog() {
+    _log 1 $*
+}
+
+debuglog2() {
+    _log 2 $*
+}
+
+_msg() {
+    level=$1; shift
+    [ $debug -ge $level ] && echo "`date`: $*" >> $LOGFILE 2>&1
+}
+
+msg() {
+    _msg 0 $*
+    logger -t HA-NFS "$*"
+}
+
+debugmsg() {
+    _msg 1 $*
+}
+
+debugmsg2() {
+    _msg 2 $*
+}
+
+err() {
+    msg "Error: $*"
+}
+
+warn() {
+    msg "Warning: $*"
+}
+
+_mkdir() {
+    debuglog2 mkdir -m 0700 -p $*
+}
+
+_rmdir() {
+    debuglog2 rm -rf $*
+}
+
+_unlink() {
+    debuglog2 unlink $1
+}
+
+_cp() {
+    debuglog2 cp -dpf $*
+}
+
+_mv() {
+    debuglog2 mv -f $*
+}
+
+# Skip blank and comment lines (Ugh!)
+invalid() {
+    line=$1
+    line=${line## }
+    [[ "$line" = "" || "${line#\#}" != "$line" ]] && return 0
+    return 1
+}
+
+# Return distribution
+getDistro() {
+    if grep -q "SUSE LINUX Enterprise Server 9" /etc/issue; then
+        echo "SLES_8"
+    elif grep -q "SUSE SLES 8" /etc/issue; then
+        echo "SLES_9"
+    elif grep -q "Fedora\|Red Hat" /etc/issue; then
+        echo "RH"
+    else
+        echo ""
+    fi
+}
+
+# Save old log file - use last modified time
+rotatelog() {
+    if [[ $customLog -eq 1 && -f $LOGFILE ]]; then
+	ext=$(stat -c "%y" $LOGFILE)
+	ext=${ext%.*}	# get date and time
+	#ext=${ext// /.}	# replace space with . - doesn't work with pdksh
+	ext=$(echo $ext | sed 's/ /./g')	# replace space with .
+	mv $LOGFILE $LOGFILE.$ext
+    fi
+}
+
+################################################################################
+#				Network functions			       #
+################################################################################
+
+# Get IP address from hostname: use /etc/hosts first
+ipaddr() {
+    ip=$(grep -w "${1}" /etc/hosts | grep -v ^# | awk '{print $1}')
+    if [ -z "$ip" ]; then
+	line=$(host -n $1 | grep 'has address' | awk '{print $4}')
+    fi
+    if [ -n "$ip" ]; then
+	echo $ip
+    else
+	echo $1
+    fi
+}
+
+# Get host name from IP address
+ipname() {
+    name=$(grep -w $1 /etc/hosts | grep -v ^# | awk '{print $2}')
+    if [ -z "$name" ]; then
+	name=$(host -n $1 | grep -v 'not found:')
+        name=${name##* }	# Last word is the host name
+        name=${name%%.}		# Strip trailing dot
+    fi
+    echo $name
+}
+
+shortipname() {
+    name=$(ipname $1)
+    echo $name | awk -F. '{print $1}'
+}
+
+# Get matching subnet given two IP addresses
+getsubnet() {
+    ip1=$1
+    ip2=$2
+    mask=$3
+
+    typeset -i i1 i2 m1
+    IFS=.
+    set $ip1
+    i1=$((($1<<24)+($2<<16)+($3<<8)+$4)) # comment to fix hilit
+
+    set $ip2
+    i2=$((($1<<24)+($2<<16)+($3<<8)+$4)) # comment to fix hilit
+
+    set $mask
+    m1=$((($1<<24)+($2<<16)+($3<<8)+$4)) # comment to fix hilit
+
+    if [[ $((i1&m1)) == $((i2&m1)) ]]; then
+	echo $((i1&m1))
+    fi
+}
+
+# Get configuration file for a given IP address from IFPATH
+# Note: Only the first file that matches the given IP is returned
+getifcfg() {
+    echo $(grep -lw "^IPADDR.*='$1'" ${IFPATH}/ifcfg-* 2> /dev/null | head -n1)
+}
+
+# Get interface name given its IP address
+getifname() {
+    iface=$(getifcfg $1)
+    iface=${iface##*/} 	# Strip path
+    iface=${iface#*-}	# Strip ifcfg-
+    [ -n "$iface" ] && iface=$(getcfg-interface -- $iface) # FIX: SLES only
+    echo $iface
+}
+
+# Bring up interface corresponding to a given IP address
+ifUp() {
+    # Check if it is already configured and up
+    #if [ -n "$(ifconfig | grep -wo $1)" ]; then
+        iface=$(getifname $1)
+        debuglog ifup $iface
+    #fi
+
+    # Send an arp to the default gateway just in case...
+    gwIP=$(route -n | awk '/UG/ {print $2}')
+    iface=$(mmgetifconf | grep $1 | awk '{print $1}')
+    if [ -n "$iface" ]; then
+        for ip in $gwIP; do
+            arping -q -c 5 -s $1 -I $iface $ip
+        done
+    fi
+}
+
+ifDown() {
+    eth=$(mmgetifconf | grep -w $1 | awk '{print $1}')
+    debugmsg "Invoking ifdown on $eth for ip $1"
+
+    if [ -n "$eth" ]; then
+	# FIX: SuSE only; 
+	# ifdown won't work on RedHat for an interface like eth0:0
+	debuglog ifdown $eth
+    fi
+}
+
+# Bring up "bond" interface
+ifBondUp() {
+    iface=$1
+    debuglog modprobe bonding $BONDING_MODULE_OPTS
+    debuglog ifconfig $iface up
+
+    # Get all slave interfaces from hardware descriptions
+    BSINTERFACES=""
+    for i in $(set | egrep "^BONDING_SLAVE") ; do
+	BONDING_SLAVE=${i##*=}
+	[ -z "$BONDING_SLAVE" ] && continue
+	BSIFACE=$(getcfg-interface -- $BONDING_SLAVE) # FIX: SLES only
+	if [ $? != 0 ] ; then
+	    debugmsg "Could not get an interface for slave"
+	    continue
+	fi
+        # prepare only available slave devices
+	if [ -d /sys/class/net/$BSIFACE ] ; then
+	    BSINTERFACES="$BSINTERFACES $BSIFACE"
+	else
+	    debugmsg "Bonding Slave $BSIFACE is not available. Skipped"
+	fi
+    done
+    # enslave the slave ifaces only once
+    if [ -n "$BSINTERFACES" ]; then
+	debuglog ifenslave $iface $BSINTERFACES
+    fi
+}
+
+# Check if a given IP address is an alias (virtual)
+isVirtualIP() {
+    grep -qlw "^IPADDR..*='$1'" ${IFPATH}/ifcfg-* 2> /dev/null
+    return $?
+}
+
+################################################################################
+#			Nodes list functions				       #
+################################################################################
+
+# Extract GPFS IP, iface and netmask from nodes file with the format:
+# GPFS_IP[:eth:mask] NFS_IP1 NFS_IP2 ...
+getip() {
+    echo $1 | awk -F: '{print $1}'
+}
+
+getiface() {
+    echo $1 | awk -F: '{print $2}'
+}
+
+getnetmask() {
+    echo $1 | awk -F: '{print $3}'
+}
+
+# Get all NFS IP addresses from nodes file
+getAllNfsIPs() {
+    exec 3< $NODELIST
+    while read -u3 gpfs_if nfs_list; do
+        # Skip empty and comment lines
+        if invalid $gpfs_if; then 
+            continue
+        fi
+	echo $nfs_list
+    done
+}
+
+# Get NFS IP addresses for a given GPFS IP address from nodes file
+getNfsIPs() {
+    exec 3< $NODELIST
+    while read -u3 gpfs_if nfs_list; do
+        # Skip empty and comment lines
+        if invalid $gpfs_if; then 
+            continue
+        fi
+	gpfs_ip=$(getip $gpfs_if)
+	if [ "$gpfs_ip" == "$1" ]; then
+	    debugmsg2 "getNfsIPs: $gpfs_ip $nfs_list"
+	    echo $nfs_list
+	    break
+	fi
+    done
+}
+
+# Get interface for a given NFS+GPFS address
+getEth() {
+    gpfs_ip=$1
+    nfs_ip=$2
+    eth=""
+
+    debugmsg "getEth: gpfs_ip $gpfs_ip nfs_ip $nfs_ip"
+
+    # First try to get eth from node list
+    exec 3< $NODELIST
+    while read -u3 gpfs_if nfs_list; do
+        # Skip empty and comment lines
+        if invalid $gpfs_if; then 
+            continue
+        fi
+	if [ "$(getip $gpfs_if)" == "$gpfs_ip" ]; then
+	    iface=$(getiface $gpfs_if)
+	    if [ -n "$iface" ]; then
+		debugmsg "getEth: from $NODELIST $gpfs_ip interface $iface"
+		echo $iface
+		return
+	    fi
+	fi
+    done
+
+    # Now try to get eth from list of interfaces
+    tmp=/tmp/mmgetifconf.$$
+    mmgetifconf > $tmp
+    exec 3< $tmp
+    while read -u3 iface ip mask; do
+	subnet=$(getsubnet $ip $nfs_ip $mask)
+	if [ -n "$subnet" ]; then
+	    debugmsg "getEth: from mmgetifconf $nfs_ip interface $iface"
+	    echo $iface
+	    return
+	fi
+    done
+    unlink $tmp
+
+    msg "getEth: not found $gpfs_ip interface"
+    echo ""
+}
+
+# Get netmask for a given NFS+GPFS IP address
+getmask() {
+    gpfs_ip=$1
+    nfs_ip=$2
+
+    # First try to get mask from node list
+    exec 3< $NODELIST
+    while read -u3 gpfs_if nfs_list; do
+        # Skip empty and comment lines
+        if invalid $gpfs_if; then 
+            continue
+        fi
+	if [ "$(getip $gpfs_if)" == "$gpfs_ip" ]; then
+	    mask=$(getnetmask $gpfs_if)
+	    if [ -n "$mask" ]; then
+		debugmsg "getmask: from $NODELIST $gpfs_ip netmask $mask"
+		echo $mask
+		return
+	    fi
+	fi
+    done
+
+    # Now try from list of interfaces
+    #sub_ip=$(echo $nfs_ip | cut -d . -f1,2,3)
+    sub_ip=${nfs_ip%.*}
+    mask=$(mmgetifconf | grep -m1 $sub_ip | awk '{print $3}')
+    if [ -n "$mask" ]; then
+	debugmsg "getmask: from get_ifconf $gpfs_ip netmask $mask"
+	echo $mask
+	return
+    fi
+
+    msg "getmask: not found $gpfs_ip netmask default"
+    echo "255.255.255.0"
+}
+
+# return the next node for a given node and a start point.
+getNextNode() {
+	given=$1
+	start=$2
+	typeset -i next n i=0
+	set -A gpfsIPs $(getAllGPFSIPs)
+	n=${#gpfsIPs[@]}
+	
+	while [ i -lt $n ]; do
+		[ "${gpfsIPs[$i]}" == "$given" ] && break
+		i=$i+1
+	done
+	[ $i -eq $n ] && return	# not found
+	next=$i+1
+	[ $next -eq $n ] && next=0
+	[ "${gpfsIPs[$next]}" == "$start" ] && return
+	echo ${gpfsIPs[$next]}
+}
+
+
+################################################################################
+#				GPFS functions				       #
+################################################################################
+
+# Get GPFS IP addresses from nodes file
+getAllGPFSIPs() {
+    exec 3< $NODELIST
+    while read -u3 gpfs_if nfs_list; do
+        # Skip empty and comment lines
+        if invalid $gpfs_if; then 
+            continue
+        fi
+	debugmsg2 "getAllGPFSIPs: $gpfs_if"
+	echo $(getip $gpfs_if)
+    done
+}
+
+# Get current node's GPFS IP address
+myGPFSIP() {
+    for ip in $(getAllGPFSIPs); do
+        my_ip=$(mmgetifconf | grep -w $ip)
+        if [ "$my_ip" != "" ]; then
+            echo $ip
+            break
+        fi
+    done
+}
+
+isGpfsFS() {
+    # Get list of GPFS filesystems from /etc/fstab
+    fses1="$(grep -w gpfs /etc/fstab | awk '{print $2}')"
+    exp1=$1
+    for fs1 in $fses1; do
+        debugmsg isGpfsFS: exp=$exp1 fs=$fs1
+        if [ "${exp1##$fs1}" != "$exp1" ]; then
+            debugmsg isGpfsFS: return 0
+            return 0
+        fi
+    done
+    debugmsg isGpfsFS: $1 return 1
+    return 1
+}
+
+# Mount GPFS filesystems that are to be NFS-exported
+mountExportedFS() {
+    # Get list of GPFS filesystems from /etc/fstab
+    fses="$(grep -w gpfs /etc/fstab | awk '{print $2}')"
+    # Get list of GPFS exports from /etc/exports
+    exports="$(awk '{print $1}' /etc/exports | grep ^/ | sort | uniq)"
+    for exp in $exports; do
+        for fs in $fses; do
+            if [ "${exp##$fs}" != "$exp" ]; then
+                debuglog mount $fs
+            fi
+        done
+    done
+}
+
+isExported() {
+    # Get list of GPFS filesystems from /etc/mtab
+    fs="$(grep -w "gpfs .*dev=$1" /etc/mtab | awk '{print $2}')"
+    debugmsg isExported: $fs
+    # Get list of GPFS exports from /etc/exports
+    exports="$(awk '{print $1}' /etc/exports | grep ^/ | sort | uniq)"
+    for exp in $exports; do
+        if [ "${exp##$fs}" != "$exp" ]; then
+            debugmsg isExported: $fs return 0
+            return 0
+        fi
+    done
+    debugmsg isExported: $fs return 1
+    return 1
+}
+
+isAnyExported() {
+    mountExportedFS
+    # Get list of GPFS filesystems from /etc/fstab
+    fses="$(grep " gpfs .*dev=" /etc/mtab | awk '{print $2}')"
+    debugmsg isAnyExported: $fses
+    # Get list of GPFS exports from /etc/exports
+    exports="$(awk '{print $1}' /etc/exports | grep ^/ | sort | uniq)"
+    for exp in $exports; do
+        for fs in $fses; do
+            debugmsg isAnyExported: exp=$exp fs=$fs
+            if [ "${exp##$fs}" != "$exp" ]; then
+                debugmsg isAnyExported: return 0
+                return 0
+            fi
+        done
+        isGpfsFS $exp
+        rc=$?
+        # export if not gpfs
+        if [ $rc -ne 0 ]; then
+                debugmsg isAnyExported: $exp is not GPFS return 0
+                return 0
+        fi
+    done
+    debugmsg isAnyExported: return 1
+    return 1
+}
+
+isMounted() {
+    # Get list of GPFS filesystems from /etc/mtab
+    fses="$(grep " gpfs .*dev=" /etc/mtab | awk '{print $2}')"
+    debugmsg isMounted: $fses
+    # Get list of GPFS exports from /etc/exports
+    exp=$1
+    for fs in $fses; do
+        if [ "${exp##$fs}" != "$exp" ]; then
+            debugmsg isMounted: return 0
+            return 0
+        fi
+    done
+    debugmsg isMounted: return 1
+    return 1
+}
+
+isSharedRoot() {
+    # Get filesystem from /etc/mtab
+    fs=$(grep -w "gpfs .*dev=$1" /etc/mtab | awk '{print $2}')
+    if [ "${SHARED_ROOT##$fs}" != "$SHARED_ROOT" ]; then
+         return 0
+       fi
+    return 1
+}
+
+# Run mmdsh command
+mmdshcmd() {
+    debugmsg "mmdsh -vL $*"
+    mmdsh -vL $*
+}
+
+# Run mmdsh command and return exit code correctly
+mmdshcmdRC() {
+    debugmsg "mmdsh -vL $*"
+
+    typeset -i rc=0
+    myIP=$(myGPFSIP)
+    targets=$1
+    cmd=../../../../$2  	# relative to /usr/lpp/mmfs/bin
+    shift 2
+    parms=$*
+
+    remoteVerb=hanfs
+    # FIX: Use the following from mmglobfuncs
+    tmpDir=/var/mmfs/tmp/
+    mmremote=/usr/lpp/mmfs/bin/mmremote
+    MMMODE=LC
+    NO_LINK=_NO_LINK_
+
+    rm -f $tmpDir/$remoteVerb.*
+    mmdsh -vL $targets $mmremote onbehalf2 $myIP $remoteVerb $MMMODE $NO_LINK $cmd $parms
+    rcInfo=$(ls $tmpDir$remoteVerb.* 2> /dev/null | sort -rn | head -1)
+    rm -f $tmpDir$remoteVerb.*
+    if [ -n "$rcInfo" ]; then
+        rc=${rcInfo#$tmpDir$remoteVerb\.}
+    fi
+    return $rc
+}
+
+# Run command on all GPFS nodes
+mmdshAll() {
+    gpfsIPs=$(getAllGPFSIPs)
+    gpfsIPs=$(echo $gpfsIPs | sed 's/ /,/g')
+    mmdshcmd $gpfsIPs $*
+}
+
+# stop another node
+stopNode() {
+    [ -z "$1" ] && return 1
+    cmd="/var/mmfs/etc/nfsmonitor -e && /var/mmfs/etc/stop.nfs"
+    mmdshcmd $1 "$cmd" &
+    return 0
+}
+
+# Return 0 (success) if quorum is "Active" on this node; 1 otherwise
+isNodeUp() {
+    [ -z "$1" ] && return 1
+    #status=$(tsstatus -m | grep -w "$1")
+    #status=$(mmgetstate -k -N $1 | grep -w "active")
+    #status=$(mmdshcmd $1 "/usr/lpp/mmfs/bin/mmremote mmGetState | grep -w active")
+    #debugmsg "mmgetstate $1: $status"
+    #[ -n "$status" ] && return 0
+    mmfsadm dump cfgmgr | grep -q "$1 .* up "
+    return $?
+}
+
+# Exit GPFS for given IP address is "down"
+ifGPFSDownExit() {
+    [ -n "$(pidof mmfsd)" ] && return 0
+    stop.nfs
+    mmfsadm cleanup
+    exit 1
+}
+
+################################################################################
+#			Configuration functions				       #
+################################################################################
+
+# Check status of a service
+checkStatus() {
+    if [ -e /sbin/checkproc ]; then
+        opts=""
+        if [[ "$1" == "nfsd" || "$1" == "lockd" ]]; then
+            opts="-n"
+        fi
+        checkproc $opts $1 > /dev/null 2>&1
+        return $?
+    elif [ -f /etc/rc.d/init.d/functions ]; then
+        savedpath=$PATH
+        . /etc/rc.d/init.d/functions
+        PATH=$savedpath
+        status $1 > /dev/null 2>&1
+        return $?
+    else
+        return 3 
+    fi
+}
+
+# Get service for communicating between GPFS nodes
+rshService() {
+    if [ -n "$GPFS_RSHD" ]; then
+        echo "$GPFS_RSHD"
+    elif [ "$GPFS_rshPath" == "/usr/bin/rsh" ]; then
+        echo "xinetd"
+    elif [ "$GPFS_rshPath" == "/usr/bin/ssh" ]; then
+        echo "sshd"
+    else 
+        debugmsg "Unsupported service $GPFS_rshPath"
+        echo ""
+    fi
+}
+
+# Start rsh (or ssh) server for communication between GPFS nodes
+startRshd() {
+    service=$(rshService)
+    checkStatus $service
+    if [ $? -ne 0 ]; then
+        /etc/init.d/$service start
+    fi
+}
+
+# Configure NLM ports
+configNLMPorts() {
+    # Determine which port to use for NLM from the node id 
+    # and ensure it is set
+    typeset -i nlmport curport nodeid=0
+    while [ $nodeid -eq 0 ]; do
+        #nodeid=$(mmgetstate -k | awk -F: '{print $2}')
+        #nodeid=$(mmlscluster | grep -w $1 | awk '{print $1}')
+        nodeid=$(mmdsm dsmGetNodeNumber)
+        [ $nodeid -eq 0 ] && warn "Cannot get nodeid for $1 from mmgetstate, retrying..."
+    done
+    nlmport=$NLM_PORT+$nodeid
+
+    # Ensure that nfsd is loaded
+    debuglog modprobe nfsd
+
+    curport=$(rpcinfo -p 2> /dev/null | grep -m1 nlockmgr | awk '{print $4}')
+    [ -z "$curport" ] && curport=$(sysctl -n fs.nfs.nlm_tcpport)
+    if [ $curport -ne $nlmport ]; then
+	debugmsg "Current NLM port used is $curport, should be $nlmport"
+	debuglog sysctl -w fs.nfs.nlm_tcpport=$nlmport
+	debuglog sysctl -w fs.nfs.nlm_udpport=$nlmport
+	nfsService stop
+	nfsService start
+	# Check if we the port got assigned correctly
+	curport=$(rpcinfo -p 2> /dev/null | grep -m1 nlockmgr | awk '{print $4}')
+	[ -z "$curport" ] && curport=$(sysctl -n fs.nfs.nlm_tcpport)
+	if [ $curport -ne $nlmport ]; then
+	    err "Cannot change existing port $curport to $nlmport for HA-NFS. Terminating..."
+	    return 1
+	fi
+    fi
+    return 0
+}
+
+# Get system boot time
+getBootTime() {
+    grep -w btime /proc/stat | awk '{print $2}'
+}
+
+# Create a place to backup entries (statd/sm) different from /var/lib/nfs
+# We need this because sending SM_NOTIFY messages on failover/failback wipes out
+# client entries from /var/lib/nfs/sm and these do not get created again until 
+# next reboot
+# This backup will be cleaned up on next reboot
+backupSmDir() {
+    typeset -i current_btime saved_btime
+
+    if [ -f $1/btime ]; then
+	current_btime=$(getBootTime)
+	saved_btime=$(cat $1/btime)
+	if [ $current_btime -gt $saved_btime ]; then
+	    # Erase backup smdir since a reboot has happened
+	    debugmsg "Erasing backup statd dirs in $1"
+	    _rmdir $1/sm $1/sm.bak
+            echo $current_btime > $1/btime
+	fi
+    else
+	_mkdir $1/sm $1/sm.bak
+        # Save boot time so we can decide when to cleanup $1
+	btime=$(getBootTime)
+	debugmsg "Saving current boot time $btime in $1"
+	echo $btime > $1/btime
+    fi
+}
+
+# Keep the following data from /var/lib/nfs in shared space (GPFS)
+# so all nodes have access to it for failover/failback purposes:
+#	rmtab
+#	sm
+#	sm.bak
+shareSmDir() {
+    myip=$1
+
+    sh_rmtab=$SHARED_NFS/rmtab
+    [ ! -f $sh_rmtab ] && touch $sh_rmtab && chmod 644 $sh_rmtab
+#   No need to share rmtab. Its no longer used to validate NFS requests.
+#   ln -sf $sh_rmtab /var/lib/nfs/rmtab
+
+    sh_statd=$SHARED_NFS/$myip/statd
+    _mkdir $sh_statd/sm $sh_statd/sm.bak
+
+    if [ -e /var/lib/nfs/statd ]; then
+	smdir=/var/lib/nfs/statd/sm
+    else
+	smdir=/var/lib/nfs/sm
+    fi
+    if [[ -d $smdir && ! -L $smdir ]]; then
+	# Move stuff from local smdir to shared
+	_mv $smdir/* $sh_statd/sm
+	_mv ${smdir}.bak/* $sh_statd/sm.bak
+	_rmdir $smdir ${smdir}.bak
+    fi
+    if [ ! -d $smdir ]; then
+	ln -sf $sh_statd/sm $smdir
+	if [ $? -ne 0 ]; then
+            err "Failed to link $smdir to $sh_statd/sm"
+            return 1
+        fi
+	ln -sf $sh_statd/sm.bak ${smdir}.bak
+	if [ $? -ne 0 ]; then
+            err "Failed to link ${smdir}.bak to $sh_statd/sm.bak"
+            return 1
+        fi
+    fi
+    if [ -e /var/lib/nfs/statd ]; then
+	# Redhat requires rpcuser as uid/gid for statd stuff
+	chown -R rpcuser.rpcuser $sh_statd
+    fi
+    return 0
+}
+
+# Remove the symlinks created by shareSmDir
+unshareSmDir() {
+    if [ -e /var/lib/nfs/statd ]; then
+	smdir=/var/lib/nfs/statd/sm
+    else
+	smdir=/var/lib/nfs/sm
+    fi
+    [ -L /var/lib/nfs/rmtab ] && _unlink /var/lib/nfs/rmtab && touch /var/lib/nfs/rmtab
+    [ -L $smdir ] && _unlink $smdir && _mkdir $smdir
+    [ -L ${smdir}.bak ] && _unlink ${smdir}.bak && _mkdir ${smdir}.bak
+}
+
+# Configure GPFS for HA-NFS - first time only
+configHA() {
+    myip=$1
+
+    # Check if this is the first time we are configuring
+    # FIX: check needed here?
+
+    # Configure NLM ports
+    # Note: This is now done by the startup script /etc/init.d/gpfs
+    # configNLMPorts $myip
+
+    # Check the shared directory is available and on GPFS
+    if [ ! -d $SHARED_ROOT ]; then 
+        err "Cannot find shared directory $SHARED_ROOT" 
+        return 1
+    fi
+    df -Tl $SHARED_ROOT | grep -qw gpfs
+    if [ $? -ne 0 ]; then 
+        err "$SHARED_ROOT found but is not on a GPFS filesystem"
+        return 1
+    fi
+    debugmsg "Shared fs is $SHARED_ROOT"
+
+    # Create shared data for HA-NFS (statd, rmtab) and recovery
+
+    _mkdir $SHARED_NFS $SHARED_RECOVERY
+
+    shareSmDir $myip
+    return $?
+}
+
+################################################################################
+#				NFS functions				       #
+################################################################################
+
+startMountd() {
+    savedpath=$PATH
+    RPCMOUNTDOPTS=
+    #Unrolling mountd part of /etc/init.d/nfs
+    [ -f /etc/init.d/functions ] && . /etc/init.d/functions
+    [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
+    [ -f /etc/sysconfig/nfs ] && . /etc/sysconfig/nfs
+    PATH=$savedpath
+    [ -n "$MOUNTD_PORT" ] && RPCMOUNTDOPTS="$RPCMOUNTDOPTS -p $MOUNTD_PORT"
+    case $MOUNTD_NFS_V2 in
+	no|NO)
+	    RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 2" ;;
+    esac
+    case $MOUNTD_NFS_V3 in
+	no|NO)
+	    RPCMOUNTDOPTS="$RPCMOUNTDOPTS --no-nfs-version 3" ;;
+    esac
+    if [ -e /sbin/startproc ]; then
+	debuglog startproc /usr/sbin/rpc.mountd $RPCMOUNTDOPTS
+    else
+	daemon rpc.mountd $RPCMOUNTDOPTS
+    fi
+}
+
+nfsService() {
+    nfslock=/etc/init.d/nfslock
+    if [ -f /etc/init.d/nfsserver ]; then
+	nfs=/etc/init.d/nfsserver
+    else
+	nfs=/etc/init.d/nfs
+    fi
+
+    case $1 in
+	start)
+	    msg "Starting NFS services"
+            sysctl -e -q -w fs.nfs.use_underlying_lock_ops=1
+	    debuglog $nfs start
+	    debuglog $nfslock start
+            if [ -n "$MOUNTD_PORT" ]; then
+                # Make sure mountd is bound to the right port if specified
+                curport=$(rpcinfo -p 2> /dev/null | grep -m1 mountd | awk '{print $4}')
+                if [ "$curport" != "$MOUNTD_PORT" ]; then
+                    pid=$(pidof rpc.mountd)
+	            debugmsg "Current mountd port is $curport, should be $MOUNTD_PORT. Stopping current rpc.mountd (pid $pid) and restarting with correct port."
+                    debuglog kill -9 $pid
+                    startMountd
+	        fi
+            fi
+            # Update number of nfsd processes
+            debuglog rpc.nfsd $NFSD_PROCS
+
+            # Reload exportfs anyway since starting nfs server may not do this 
+	    # if it was already running
+	    exportfs -r
+	    ;;
+
+	stop)
+	    msg "Stopping NFS services"
+	    debuglog $nfs stop
+	    ;;
+
+	terminate)
+	    msg "Cleaning NFS services"
+	    debuglog $nfs stop
+	    debuglog $nfslock stop
+	    ;;
+
+	soft-restart)
+	    debuglog rpc.nfsd 0
+            debuglog sleep 1	# FIX: required?
+            debuglog rpc.nfsd $NFSD_PROCS
+	    ;;
+
+	*)
+	    echo "Usage: $0 start|stop|restart"
+    esac
+}
+
+################################################################################
+#				NLM functions				       #
+################################################################################
+
+# Restart rpc.statd
+# Note that we don't want to issue a "nfslock restart" directly since this would 
+# involve restarting lockd (which results in lock recovery) which we don't want
+restartStatd() {
+    if [ -f /sbin/rpc.statd ]; then
+	# Kill the statd process if exists (important for registering with portmap)
+	debuglog kill -9 $(/sbin/pidof -x /sbin/rpc.statd)
+	# Start the statd process
+	debuglog /etc/init.d/nfslock start
+    fi
+}
+
+# Release all locks by sending a KILL signal to kernel lockd thread
+resetLockd() {
+    if [ -f /etc/init.d/nfsserver ]; then
+	# SuSE
+	debuglog /etc/init.d/nfslock stop
+    else
+        # Redhat fails to kill lockd to start grace period, so do it explicitly
+	pid=$(ps -aef | grep -w "\[lockd\]" | awk '{print $2}')
+	[ -n "$pid" ] && kill -9 $pid
+    fi
+}
+
+# Check grace period support in kernel
+checkDynamicGrace() {
+    debuglog2 mount -t nfsd nfsd /proc/fs/nfsd
+    [ -f /proc/fs/nfsd/grace ] && return 1
+    debugmsg2 "Cannot find /proc/fs/nfsd/grace, will restart lockd (and reclaim all locks) for failover/failback."
+    return 0
+}
+
+# Start grace period
+startGrace() {
+    checkDynamicGrace
+    if [ $? -eq 1 ]; then
+	echo 1 > /proc/fs/nfsd/grace
+    else
+	# Kernel does not support starting grace period through /proc
+	# Only thing to do is kill lockd
+	msg "Dynamic enabling of grace period not supported in this kernel. Restarting lockd"
+	resetLockd
+    fi
+}
+
+# Send SM_NOTIFY message to client on server restart
+# Usage: notify statd_dir [server IP]
+notify() {
+    opts=""
+    if [ -e /sbin/sm-notify ]; then	# SLES - kernel-space statd
+	_cp $1/sm/* /var/lib/nfs/sm
+	[ -n "$2" ] && opts="-m 1 -v $2"
+	debugmsg2 "Notify clients: " && log ls $1/sm
+	debuglog2 sm-notify $opts
+    elif [ -e /sbin/rpc.statd ]; then	# RHEL - user-space statd
+	[ -n "$2" ] && opts="-P $2"
+	debugmsg2 "Notify clients: " && log ls $1/sm
+	debuglog2 rpc.statd -N -n $1 $opts
+    fi
+}
+
+# Send SM_NOTIFY message to client on all available interfaces
+# SLES9 has a bug wherein the NFS client compares the hostname in the notify
+# message against the hostname it registered during mount to determine whether
+# to handle SM_NOTIFY requests coming from the server. We try to work around
+# the problem by (optionally) sending notify messages on combinations of 
+# hostnames and IP address
+notifyClient() {
+    debugmsg2 "notify host:$1, vip:$VIP, statddir:$2"
+
+    #debugmsg "Notify on local name"
+    #notify $2
+
+    # If VIP is specified, always send notify on the VIP
+    if [ -n "$VIP" ]; then
+	debugmsg "SM_NOTIFY clients for VIP $VIP"
+	notify $2 $VIP
+	[ $notifyfix -eq 0 ] && return
+    fi
+
+    shortname=$(shortipname $1)
+    debugmsg "Notify for host $shortname"
+    notify $2 $shortname
+    [ $notifyfix -eq 0 ] && return
+
+    host=$(ipname $1)
+    if [[ -n "$host" && "$host" != "$shortname" ]]; then
+	debugmsg "Notify for host.domain $host"
+	notify $2 $host
+    fi
+
+    ip=$(ipaddr $1)
+    if [[ -n "$ip" && "$ip" != "$host" && "$ip" != "$shortname" ]]; then
+	debugmsg "Notify for IP $ip"
+	notify $2 $ip
+    fi
+}
+
+################################################################################
+#				Failover functions			       #
+################################################################################
+
+startReclaim() {
+    gpfs_ip=$1
+    smdir=${SHARED_NFS}/$gpfs_ip/statd/sm
+    statedir=/tmp/statd
+
+    msg "Reclaim of NLM locks initiated for node $gpfs_ip"
+
+    _mkdir $statedir/sm $statedir/sm.bak
+    _cp $smdir/* $statedir/sm.bak
+
+    if [ $iptakeover -eq 1 ]; then
+	for nfsip in "$(getNfsIPs $gpfs_ip)"; do
+	    _cp $statedir/sm.bak/* $statedir/sm
+	    notifyClient $nfsip $statedir
+	done
+    else
+	# get VIP from loopback
+	ip=$(mmgetifconf | grep -w 'lo' | awk '{print $2}')
+	_cp $statedir/sm.bak/* $statedir/sm
+	if [[ -n "$ip"  && "$ip" != "$gpfs_ip" ]]; then
+	    notifyClient $ip $statedir
+	fi
+    fi
+    # restore list of lock users
+    _cp $statedir/sm.bak/* $smdir
+}
+
+# Find the next entry after one with node that failed and use it as the
+# takeover node. If no more line wrap around to the top. Check that the node is
+# up, if not use the next entry. There can be few NFS external IP address for
+# each GPFS IP.
+selectNode() {
+    failed_node=$1
+    typeset -i next=0
+    gpfs_ip=""
+
+    while true; do
+	exec 3< $NODELIST
+	while read -u3 gpfs_if nfs_list; do
+            # Skip empty and comment lines
+	    if invalid $gpfs_if; then 
+		continue
+	    fi
+	    gpfs_ip=$(getip $gpfs_if)
+	    debugmsg2 "selectNode: GPFS IP: $gpfs_ip, NFS IP:$nfs_list"
+	    if [ $next -eq 1 ]; then
+		[ "$gpfs_ip" == "$failed_node" ] && continue
+		isNodeUp $gpfs_ip
+		if [ $? -eq 0 ]; then
+		    debugmsg "takeover node is $gpfs_ip"
+		    echo $gpfs_ip
+		    return
+		else
+		    debugmsg "selectNode: takeover_node $gpfs_ip is down"
+		    continue
+		fi
+	    else
+		[ "$gpfs_ip" == "$failed_node" ] && next=1
+	    fi	
+	done
+
+        # Didn't find a takeover node, so start from top searching for new node
+	debugmsg "selectNode: start from top"
+	exec 3< $NODELIST
+	while read -u3 gpfs_if nfs_list; do
+            # Skip empty and comment lines
+	    if invalid $gpfs_if; then 
+		continue
+	    fi
+	    gpfs_ip=$(getip $gpfs_if)
+	    debugmsg2 "selectNode: GPFS IP: $gpfs_ip, NFS IP: $nfs_list"
+	    if [ "$gpfs_ip" != "$failed_node" ]; then
+		isNodeUp $gpfs_ip
+		if [ $? -eq 0 ]; then
+		    debugmsg "takeover node is $gpfs_ip"
+		    echo $gpfs_ip
+		    return
+		else
+		    debugmsg "selectNode: takeover_node $gpfs_ip is down"
+		    continue
+		fi
+	    fi
+	done
+	sleep 10
+    done
+}
+
+selectNode2() {
+	failed=$1
+        candidate=$(getNextNode $failed $failed)
+       	while true; do
+		while [ -z "$candidate" ]; do
+			sleep 10
+		        candidate=$(getNextNode $failed $failed)
+		done
+		isNodeUp $candidate
+		if [ $? -eq 0 ]; then
+			echo $candidate
+			return
+		fi
+		candidate=$(getNextNode $candidate $failed)
+	done
+}
+
+recoverNode() {
+    failed_nfs_ip=$1
+    failed_gpfs_ip=$2
+    debugmsg "start recoverNode $failed_nfs_ip"
+    [ -z "$failed_nfs_ip" ] && return 1
+
+    if [ -z "$(ifconfig | grep -wo $failed_nfs_ip)" ]; then
+       typeset -i numberOfRetries=20 attemptNo=0
+       while [[ $attemptNo -lt $numberOfRetries &&
+	    "$(IPaddr $failed_nfs_ip monitor)" == "OK" ]]; do
+	    attemptNo=$attemptNo+1
+	    sleep 1
+       done
+       # call stonith exit
+       if [ $attemptNo -eq $numberOfRetries ]; then
+          if [ -e /var/mmfs/etc/stonith ]; then
+             debugmsg "call /var/mmfs/etc/stonith with $failed_gpfs_ip $failed_nfs_ip"
+             /var/mmfs/etc/stonith $failed_gpfs_ip $failed_nfs_ip
+             debugmsg "back from call to /var/mmfs/etc/stonith"
+         fi
+       fi
+       typeset -i numberOfRetries=15 attemptNo=0
+       while [[ $attemptNo -lt $numberOfRetries &&
+	    "$(IPaddr $failed_nfs_ip monitor)" == "OK" ]]; do
+	    attemptNo=$attemptNo+1
+	    sleep 1
+       done
+       if [ $attemptNo -eq $numberOfRetries ]; then
+          # Somebody else has failed_nfs_ip - maybe the failed node is not down?
+          msg "Error: some other host already has address $failed_nfs_ip. Recovery will not happen."
+          return 1
+       fi
+    fi
+
+    debugmsg "recoverNode $failed_nfs_ip"
+    debuglog IPaddr $failed_nfs_ip start
+
+    eth=$(mmgetifconf | grep -w $failed_nfs_ip | awk '{print $1}')
+    debugmsg "Checking if interface for ip $failed_nfs_ip is up"
+    if [ -n "$eth" ]; then
+	return 0
+    fi
+    debugmsg "No interface for ip $failed_nfs_ip is up"
+    return 1
+}
+
+IPtakeover() {
+    me=$1
+    failed=$2
+    typeset -i do_reclaim=0
+
+    [ "$me" == "$failed" ] && return
+    
+    msg "Initiating IP takeover of $failed due to node failure"
+
+    _mkdir ${SHARED_RECOVERY}/$me
+    debuglog touch ${SHARED_RECOVERY}/$me/$failed
+
+    stopNode $failed
+    nfsIPs=$(getNfsIPs $failed)
+    debugmsg "IPtakeover ips: $nfsIPs"
+    for ip in $nfsIPs; do
+        # Takeover IP and issue gratuitous ARP to the clients for the node
+        # that failed so that clients can reconnect to the new address
+	recoverNode $ip $failed
+       	[ $? -eq 0 ] && do_reclaim=1 
+    done
+
+    if [ $do_reclaim -ne 0 ]; then
+	# got the IP, check if we are still the node to do takeover
+	if [ ! -f $SHARED_RECOVERY/$me/$failed ]; then
+	   # drop the inteface
+	   nfsips=$(getNfsIPs $failed)
+	   debugmsg "Node $failed recovery canceled"
+	   for ip in $nfsips; do
+	      ifDown $ip
+	   done
+	   return
+	fi
+    else
+        # did not get IP, takeover failed, remove the entry
+	_unlink ${SHARED_RECOVERY}/$me/$failed
+	return
+    fi
+    debugmsg "IPtakeover: File contents:"
+    debugmsg $(ls -R ${SHARED_RECOVERY}/$me)
+    _cp ${SHARED_NFS}/$failed/statd/sm/* ${SHARED_NFS}/$me/statd/sm
+    checkDynamicGrace
+    [ $? -eq 1 ] && startReclaim $failed
+}
+
+# Use mii-diag, mii-tool or ethtool to detect network link status
+# Return 0 if link beat detected, 1 if invalid (no device), 2 if no link beat
+# FIX: If none of the tools exist, return 2 since there is no way to detect
+#      link status. This means caller is responsible for handling the error
+#      correctly.
+netdiag() {
+    # We trust mii-diag works for all interfaces; 
+    # if it exists, return its status
+    tool=$(which mii-diag 2> /dev/null)
+    if [ -n "$tool" ]; then
+        debuglog2 $tool -s $eth
+        return $?
+    fi
+
+    # mii-diag doesn't exist - try both mii-tool and ethtool
+    tool=$(which mii-tool 2> /dev/null)
+    if [ -n "$tool" ]; then
+        output=$($tool $eth 2> /dev/null)
+        if [ $? -eq 0 ]; then
+            status=$(echo $output | awk '{print $NF}')
+            [ "$status" == "ok" ] && return 0
+        fi
+    fi
+
+    tool=$(which ethtool 2> /dev/null)
+    if [ -n "$tool" ]; then
+        output=$($tool $eth 2> /dev/null)
+        if [ $? -eq 0 ]; then
+            status=$(echo $output | grep "Link detected" | awk '{print $NF}')
+            [ $status == "yes" ] && return 0
+        fi
+    fi
+
+    # We reach here either if no tool exists or if there is an error
+    return 2
+}
+
+# Returns 0 if ready, 1 otherwise
+checkLinkStatus() {
+    eth=$1
+
+    # Check if the interface is down
+    debuglog2 ifconfig $eth
+    [ $? -ne 0 ] && return 1
+
+    typeset -i tries=3 n=0
+    while [ $n -lt $tries ]; do
+        n=$n+1
+        debugmsg2 "Checking link status for $eth - attempt $n"
+
+        netdiag $eth
+        if [ $? -eq 0 ]; then
+	    debugmsg2 "Tested the link for $eth, and it is connected"
+	    return 0
+        else
+    	    debugmsg2 "Tested the link for $eth, and it is NOT connected"
+            sleep 5
+            continue
+        fi
+    done
+    return 1
+}
+
+getRecoveryNodes() {
+    ls -A $SHARED_RECOVERY 2> /dev/null
+}
+
+getFailedNodes() {
+    ls -A $SHARED_RECOVERY/$1 2> /dev/null
+}
+
+
+IPfailback() {
+    # Find failover IP address
+    failover_ips=""
+    for recovery_node in $(getRecoveryNodes); do
+	debugmsg2 "Checking if $recovery_node is recovery node"
+	for failed_node in $(getFailedNodes $recovery_node); do
+	    debugmsg "Failed node is $failed_node"
+	    if [ "$failed_node" == "$myip" ]; then
+		failover_ips="$failover_ips $recovery_node"
+	    fi
+	done
+    done
+
+    if [ -z "$failover_ips" ]; then
+	debugmsg "No failback is needed"
+	return
+    fi
+    debugmsg "Failover nodes are $failover_ips"
+
+    # if recovery node dosen't hold my external IP then no failback
+    tmp=""
+    nfsIPs=$(getNfsIPs $myip)
+    for nfsip in $nfsIPs; do
+        for failover_ip in $failover_ips; do
+	    tmp=$(mmdshcmd $failover_ip "/usr/lpp/mmfs/bin/mmgetifconf | grep $nfsip")
+	    debugmsg2 check for ip=$nfsip on $failover_ip tmp=$tmp
+	    [ -n "$tmp" ] && break 2
+	done
+    done
+    if [ -z "$tmp" ]; then
+       # remove my node from the recovery node list
+	debugmsg "IP is not in use"
+    else
+        # wait for any of the NFS IP to be up, but try all IPs at least once
+        let up=0 
+	while [ $up -eq 0 ]; do
+	    for ip in $nfsIPs; do
+		iface=$(getifname $ip)
+                # if this is a virtual address, the interface is already up
+                isVirtualIP $ip
+                RC=$?
+                if [ $RC -ne 0 ]; then
+		    debugmsg2 wait for $ip
+		    ifcfg=$(getifcfg $ip)
+
+		    debugmsg2 "Sourcing $ifcfg"
+		    . $ifcfg
+
+		    if [ "$BONDING_MASTER" == "yes" ]; then
+		        ifBondUp $iface
+		    else
+		        debuglog ifconfig $iface up
+		    fi
+                fi
+		checkLinkStatus $iface
+		if [ $? -eq 0 ]; then
+		    debugmsg2 "Testing the link for $iface, and it is connected"
+		    if ! arping -q -c 2 -w 3 -D -I $iface $ip ; then
+			debugmsg2 $ip is ready
+			up=1
+		    fi
+		fi
+                [ $RC -ne 0 ] && ifconfig $iface down
+	    done
+	    [ $up -eq 0 ] && sleep 5
+	done
+    fi
+
+    # remove my node from the recovery node list
+    debuglog rm $SHARED_RECOVERY/*/$myip > /dev/null 2>&1
+
+    # save list of lock users for
+    debugmsg "Failover IP is $failover_ip"
+    smdir=/tmp/statd/sm
+    _mkdir $smdir ${smdir}.bak
+    _cp ${SHARED_NFS}/$failover_ip/statd/sm/* ${smdir}.bak
+
+    # Get recovery node to free my IP addresses
+    mmdshAll "/var/mmfs/etc/nfsgrace $myip" >> $LOGFILE 2>&1
+
+    checkDynamicGrace
+    if [ $? -eq 1 ]; then
+        mmdshcmd $failover_ip "/var/mmfs/etc/nfsnodeback $failover_ip $myip" >> $LOGFILE 2>&1
+    else
+        gpfsIPs=$(getAllGPFSIPs)
+        for ip in $gpfsIPs; do
+            debugmsg2 "ip $ip, myip $ip"
+	    if [ "$ip" != "$myip" ]; then
+                mmdshcmd $ip "/var/mmfs/etc/nfsnodeback $ip $failover_ip $myip" >> $LOGFILE 2>&1
+            fi
+        done
+    fi
+}
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsgrace
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsgrace	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsgrace	(revision 16)
@@ -0,0 +1,12 @@
+#!/bin/ksh
+# @(#)77	1.2  src/avs/fs/mmfs/samples/nfscluster/nfsgrace, mmfs, avs_rgpfs24, rgpfs240610b 2/24/06 10:48:37
+#
+
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+startGrace
+msg "NLM grace period started due to recovery of node $1."
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsmonitor
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsmonitor	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsmonitor	(revision 16)
@@ -0,0 +1,803 @@
+#!/bin/ksh
+# @(#)23	1.12.1.10  src/avs/fs/mmfs/samples/nfscluster/nfsmonitor, mmfs, avs_rgpfs24, rgpfs24s011a 3/20/07 16:46:39
+#
+
+# HA-NFS monitoring
+# Usage: nfsmonitor [start|stop|restart|status]
+
+# Monitor levels
+LEVEL0=0 # NO_MONITORING
+LEVEL1=1 # ALERT_ONLY
+LEVEL2=2 # RESTART (not applicable for all services)
+LEVEL3=3 # FAILOVER
+
+MONITOR_INTERVAL=${MONITOR_INTERVAL-15}
+MONITOR_NETWORK=${MONITOR_NETWORK-3}
+MONITOR_PORTMAP=${MONITOR_PORTMAP-3}
+MONITOR_NFSD=${MONITOR_NFSD-3}
+MONITOR_MOUNTD=${MONITOR_MOUNTD-3}
+MONITOR_STATD=${MONITOR_STATD-3}
+MONITOR_SSHD=${MONITOR_SSHD-3}
+
+# All times below are in seconds
+NFS_RPC_ACT_SAMPLE_INTERVAL=3
+RESTART_TIMEOUT=7
+
+# Internal flags
+NUMBER_OF_RESTARTS=3
+
+# Functions return values (used only within this file)
+SERVICE_RUNNING=1
+SERVICE_NOT_RUNNING=2
+SERVICE_UNKNOWN=3
+
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+# Display an alert message in syslog. Optionally, call a customer-provided alert script
+# Usage: alert <message> <node issuing alert>
+alert() {
+    service=$1
+    actionmsg=$2
+    shift 2
+    [ -n "$*" ] && comment="($*)"
+    message="Monitoring detected $service is inactive, $action $comment"
+    msg "$message"
+    [ ! -e /var/mmfs/etc/alert ] && return
+    /var/mmfs/etc/alert "$message" "$GPFS_IP"
+}
+
+alertmsg() {
+    service=$1
+    shift
+    alert $service "no action taken as configured" $*
+}
+
+failovermsg() {
+    service=$1
+    shift
+    alert $service "node failure initiated as configured" $*
+}
+
+# Terminate all processes that are running the nfs tool.
+# This is useful for the case that the restart process is hanging...
+nfsToolKill() {
+    if [ -f /etc/init.d/nfsserver ]; then
+	NFSTOOL=/etc/init.d/nfsserver
+    else
+	NFSTOOL=/etc/init.d/nfs
+    fi
+    nfsToolBase=${NFSTOOL##*/}
+    nfsToolPid=`pidof -o $$ -o $PPID -o %PPID -x $NFSTOOL || \
+		pidof -o $$ -o $PPID -o %PPID -x $nfsToolBase`
+    debugmsg2 "The pids of $NFSTOOL are $nfsToolPid"		
+    if [[ -z $nfsToolPid ]]; then
+	return
+    fi
+    kill -9 $nfsToolPid
+}
+
+# Check if a given service is configured to be restarted.
+# Returns: the number of restarts or 0 if configured for no restart
+checkRestart() {
+    service=$1
+    eval service_level='$'MONITOR_$service
+    debugmsg2 "$service level is $service_level"
+    [ $service_level -ge $LEVEL2 ] && return $NUMBER_OF_RESTARTS
+    return 0
+}
+
+# Get the status of a given service.
+# Returns: SERVICE_RUNNING or SERVICE_NOT_RUNNING
+getStatus() {
+    service=$1
+    checkStatus $service
+    status=$?
+    if [ $status -eq 0 ]; then
+	debugmsg2 "$service is running"
+	return $SERVICE_RUNNING
+    else 
+	debugmsg "$service is not running (status $status)"
+	return $SERVICE_NOT_RUNNING	
+    fi
+}
+
+invokeFailover() {
+    debugmsg "Invoking failover..."
+    # Stop nfs gracefully to prevent client from getting ESTALE
+    debuglog2 touch /tmp/ha-nfs-reboot 2> /dev/null
+    stop.nfs
+    # Kill the gpfs daemon on the node to invoke failover
+    debugmsg "Stopping GPFS..."
+    /etc/init.d/gpfs stop
+    exit
+}
+
+invokeFailoverReboot() {
+    debugmsg "Invoking failover with reboot..."
+    # Stop nfs gracefully to prevent client from getting ESTALE
+    stop.nfs
+    # Kill the gpfs daemon on the node to invoke failover
+    debugmsg "Stopping GPFS before reboot..."
+    /etc/init.d/gpfs stop
+    reboot
+    exit
+}
+
+#################
+# Monitoring nfsd
+#################
+
+# This function samples /proc/net/rpc/nfsd twice within a given interval
+# and compares the two samples to detect any nfsd rpc activity
+# Returns: if activity was detected -> SERVICE_RUNNING
+#          if there is no entry in proc or no activity was detected, no conclusion -> 
+#          SERVICE_UNKNOWN
+detectNfsdActivity() {
+    set -A v2procs NAME COUNT NULL GETATTR SETATTR ROOT LOOKUP READLINK \
+                   READ WRCACHE WRITE CREATE REMOVE RENAME \
+                   LINK SYMLINK MKDIR RMDIR READDIR FSSTAT
+    set -A v3procs NAME COUNT NULL GETATTR SETATTR LOOKUP ACCESS READLINK \
+                   READ WRITE CREATE MKDIR SYMLINK MKNOD REMOVE RMDIR RENAME \
+                   LINK READDIR READDIRPLUS FSSTAT FSINFO PATHCONF COMMIT
+
+    procfile=/proc/net/rpc/nfsd
+    if [ ! -f $procfile ]; then
+        msg "Monitoring could not find /proc/net/rpc/nfsd"
+        return $SERVICE_UNKNOWN
+    fi
+    # Sample v2/v3 activity (using proc) in the next NFS_RPC_ACT_SAMPLE_INTERVAL sec
+    set -A v2procs1 $(cat $procfile | grep -w proc2)
+    set -A v3procs1 $(cat $procfile | grep -w proc3)
+    debugmsg2 "Sleeping for $NFS_RPC_ACT_SAMPLE_INTERVAL"
+    sleep $NFS_RPC_ACT_SAMPLE_INTERVAL
+    set -A v2procs2 $(cat $procfile | grep -w proc2)
+    set -A v3procs2 $(cat $procfile | grep -w proc3)
+
+    # Use the samples to detect activity
+    p=2 # skipping name and count fields
+    n=${#v2procs[@]}
+    while [ $p -lt $n ]; do
+	activity=$((${v2procs2[$p]}-${v2procs1[$p]}))
+	if [ $activity -gt 0 ]; then
+	    debugmsg2 "nfsd activity detected: $activity ${v2procs[$p]} operations in $NFS_RPC_ACT_SAMPLE_INTERVAL sec"
+	    return $SERVICE_RUNNING
+	fi
+        p=$((p+1))
+    done
+    p=2 # skipping name and count fields
+    n=${#v3procs[@]}
+    while [ $p -lt $n ]; do
+	activity=$((${v3procs2[$p]}-${v3procs1[$p]}))
+	if [ $activity -gt 0 ]; then
+	    debugmsg2 "nfsd activity detected: $activity ${v3procs[$p]} operations in $NFS_RPC_ACT_SAMPLE_INTERVAL sec"
+	    return $SERVICE_RUNNING
+	fi
+        p=$((p+1))
+    done
+    # no activity detected
+    debugmsg2 "Could not detect nfsd activity using /proc"
+    return $SERVICE_UNKNOWN
+}
+
+# If nfsd is configured to be restarted, this function attempts to start/restart 
+# the nfsd process as many times as configured. The operation parameter is set
+# to start/restart.
+# The success of restart is determined by checking the status of nfsd.
+# Note that portmap has to be running in order to restart nfsd.
+# If restart has failed, alert and failover are invoked as configured. 
+# For nfsd, we use the /etc/init.d/nfs(RH)|nfsserver(SUSE) utility since it stops
+# the service before restarting it (which is important to make sure that nfsd 
+# re-registerin with portmap, for example, in the case of restarting nfsd after
+# restarting portmap. This utility also reloads /etc/exports.
+startNfsd() {
+    checkRestart NFSD # This call takes care of MONITOR_NFSD < LEVEL2 (numberOfRestarts=0)
+    numberOfRestarts=$?
+    attemptNo=0
+    debugmsg2 "About to start nfsd (up to $numberOfRestarts times)"
+    while [ $numberOfRestarts -gt 0 ]; do
+	attemptNo=$((attemptNo+1))
+	debugmsg2 "In startnfsd, attempt number = $attemptNo"
+	nfsService start
+	# give the restart/start chance to complete
+	sleep $RESTART_TIMEOUT
+	getStatus nfsd
+	status=$?
+	debugmsg2 "The nfsd status after $attemptNo attempts to start is $status"
+	[[ $status == $SERVICE_RUNNING ]] && return
+	# start attempt has failed/hangs -> kill the process and retry
+	debugmsg "start nfsd failed/hangs, about to kill the start process."
+	nfsToolKill 
+        numberOfAttempts=$((numberOfRestarts-1))
+    done
+
+    # If we get here, it means that all start attempts have failed
+    # Failed to restart nfsd, check for failover configuration parameters
+    if [[ $MONITOR_NFSD -eq $LEVEL3 ]]; then 
+        failovermsg nfsd
+	invokeFailover
+    else
+        alertmsg nfsd
+    fi
+}
+
+# NULL RPC test: use rpcinfo to send a null rpc to nfs v3
+# Returns: SERVICE_RUNNING or SERVICE_NOT_RUNNING
+nfsdNullRpcTest() {
+    hostname=$(hostname)
+    # Use rpcinfo to send a null rpc to nfs v3 using UDP
+    debuglog2 rpcinfo -u $hostname nfs 3
+    if [ $? -eq 0 ]; then
+	debugmsg2 "Sent nullrpc to nfsd v3 using rpcinfo, the service is up and running"
+	return $SERVICE_RUNNING
+    else
+	msg "Sent nullrpc to nfsd v3 using rpcinfo, the service is not available (it maybe because portmap was started after nfsd, or that rpcinfo is not installed)"
+	return $SERVICE_NOT_RUNNING
+    fi
+}
+
+# Run all the tests for monitoring nfsd, and take actions according
+# to the monioring level.
+monitorNfsd() {
+    ifGPFSDownExit $GPFS_IP
+
+    # Check that the nfsd process is running
+    getStatus nfsd
+    runStatus=$?
+
+    case $runStatus in
+	$SERVICE_RUNNING)
+	    debugmsg2 "Perform more tests, to make sure that nfsd is functioning"
+	    detectNfsdActivity
+	    case $? in
+		$SERVICE_RUNNING)	
+		    return ;;
+		$SERVICE_UNKNOWN)
+		    nfsdNullRpcTest
+		    case $? in
+			$SERVICE_NOT_RUNNING)
+			    startNfsd ;;	    
+			$SERVICE_RUNNING)
+			    return ;;
+		    esac
+		    ;;
+	    esac
+	    ;;
+	$SERVICE_NOT_RUNNING)
+	    # Note that if nfsd was not running and the start has succeeded, we assume 
+	    # that the process is running, and only perform the next level of tests 
+            # (rpc activity, and null rpc) next time.
+	    startNfsd
+	    return ;;
+    esac
+}
+
+####################
+# Monitoring mountd
+####################
+restartMountd() {
+    checkRestart MOUNTD  # This takes care of MONITOR_MOUNTD < LEVEL3 (numberOfRestarts=0)
+    numberOfRestarts=$?
+    attemptNo=0
+    debugmsg2 "About to restart mountd (up to $numberOfRestarts times as configured, note: 0 means that the configuration level is lower than LEVEL2)"
+    while [ $numberOfRestarts -gt 0 ]; do
+	attemptNo=$((attemptNo+1))
+	startMountd
+	restartPID=$!	
+	debugmsg2 "restartPID=$restartPID"
+	# give the restart a chance to complete
+	sleep $RESTART_TIMEOUT
+	# check the status of mountd after the restart
+	debugmsg2 "Try to restart mountd (attempt $attemptNo), checking the status:"
+	getStatus /usr/sbin/rpc.mountd
+	if [ $? -eq $SERVICE_RUNNING ]; then	    
+	    debugmsg2 "Succeeded to restart the mountd service at $attemptNo attempt"
+	    return
+	fi
+	# restart attempt has failed/hangs -> kill the process and retry
+	debugmsg "Restarting mountd failed/hangs, about to kill the restart process."
+	if [ -e /sbin/startproc ]; then
+	    debuglog kill -9 $restartPID
+	else
+	    nfsToolKill # FIX
+	fi
+	numberOfRestarts=$((numberOfRestarts-1))
+    done
+
+    # If we get to this point, it means that all restart attempts have failed
+    msg "Failed to restart the mountd (tried $attemptNo times as configured)"
+    # Failed to restart mountd, check for failover configuration parameters
+    if [[ $MONITOR_MOUNTD == $LEVEL3 ]]; then
+        failovermsg mountd
+	invokeFailover
+    else
+        alertmsg mountd
+    fi
+}    
+
+
+# This is the main function for monitoring mountd, and take actions according
+# to the monioring level.
+monitorMountd() {
+    ifGPFSDownExit $GPFS_IP
+    getStatus /usr/sbin/rpc.mountd   
+    case $? in
+	$SERVICE_RUNNING)
+	    return
+	    ;;
+	$SERVICE_NOT_RUNNING)
+	    restartMountd
+	    ;;
+    esac
+}
+
+########################
+# Monitoring the network
+########################
+
+# Monitor the network. 
+# For now the only tests performed are: (1) whether the link is connected or not, using
+# ethtool. (2) ping the gateway. More tests can be added here later.
+monitorNetwork() {
+    ifGPFSDownExit $GPFS_IP
+    # TEST1: make sure that all interfaces that are used for nfs serving are connected
+    nfsIfs=$(getNfsIFs $GPFS_IP)
+    if [[ -z $nfsIfs ]]; then
+	msg "No configured NFS IP addresses detected on any of the node's interfaces"
+	nwFailoverCondition "no configured nfs interfaces"
+    else
+	for eth in $nfsIfs; do
+            tmp=$(mmgetifconf | grep -w $eth | awk '{print $1}')
+            if [[ -z $tmp ]]; then
+	       nwFailoverCondition "interface is down"
+            fi
+
+	    checkLinkStatus $eth
+	    if [ $? -eq 0 ]; then
+		continue
+	    else
+	        nwFailoverCondition "link is not connected"
+	    fi
+	done
+    fi
+
+    # TEST2: check that all NFS IP addresses are enabled
+    nfsIPs=$(getNfsIPs $GPFS_IP)
+    for ip in $nfsIPs; do
+        mmgetifconf | grep -q $ip
+        [ $? -eq 0 ] && continue
+        debugmsg "monitor detected $ip is down, restarting"
+        ifUp $ip    
+    done
+
+    # Now check that all NFS IP addresses for failover nodes are enabled
+    nfsIPs=
+    for ip in $(getFailedNodes $GPFS_IP); do
+        nfsIPs="$nfsIPs $(getNfsIPs $ip)"
+    done
+    for ip in $nfsIPs; do
+        mmgetifconf | grep -q $ip
+        [ $? -eq 0 ] && continue
+        [ "$(IPaddr $ip monitor)" == "OK" ] && continue
+        debugmsg "monitor detected $ip is down, restarting"
+        debuglog IPaddr $ip start
+    done
+
+    # TEST3: ping the gateway
+    pingDefaultGateway
+}
+
+# List all interfaces used for NFS serving from NODELIST
+getNfsIFs () {
+    thisGpfsIP=$1
+    eth=""
+    # Get the list of nfs ip addresses for the given gpfs ip address
+    nfsIPList=$(getNfsIPs $thisGpfsIP)
+    # Handle the case that there is not entry for the node in nfs.nodes
+    if [[ -z $nfsIPList ]]; then
+	debugmsg "ALERT: No entry was found in nfs.nodes for this node (gpfs ip address:$thisGpfsIP)"
+	nwFailoverCondition "no configured nfs interfaces"	
+    fi
+    debugmsg2 "The list of ips is $nfsIPList"
+    for nfsIP in $nfsIPList; do 
+        # get the "original" interface (e.g. the original interface for eth0:1 is eth0)
+        origEth=$(getEthInterface $nfsIP |  awk -F: '{print $1}')
+        if [[ -z $origEth ]]; then
+	    debugmsg "ALERT: The nfs ip address $nfsIP is not assigned an interface"
+	    continue
+        fi
+        echo $origEth
+        debugmsg2 "the actual interface for $nfsIP is $origEth"
+    done
+}
+
+# Get the inerface for a given IP address
+# The format of nfs.nodes: GPFS_IP NFS_IP1 NFS_IP2 ...
+# NOTE: The original function was copied from Marc and was changed.
+#       May requires future integration.
+getEthInterface() {
+    eth=""
+    # calls an executable that returns a line for each interface on the machine, 
+    # and what ip address it is assigned
+    tmp=/tmp/mmgetifconf.$$
+    mmgetifconf > $tmp
+    exec 3< $tmp
+    while read -u3 iface ip mask; do
+        if [[ $ip == $1 ]]; then 
+	    eth=$iface
+        fi
+    done
+    unlink $tmp
+    # eth may be empty if there is no interface associated with this ip address
+    echo $eth
+}
+
+# Locate and ping the default gateway. 
+# On failure, alert and invoke failover if configured.
+pingDefaultGateway() {
+    gwIP=$(route -n | awk '/UG/ {print $2}')
+    [[ -z $gwIP ]] && return
+
+    # Make sure the local machine is not set as the default gateway
+    tmp=/tmp/mmgetifconf.$$
+    mmgetifconf > $tmp
+    exec 3< $tmp
+    while read -u3 iface ip mask; do
+        [[ $ip == $gwIP ]] && return
+    done
+    unlink $tmp
+
+    # try to ping the gateway
+    ping -c 1 -w 5 $gwIP > /dev/null
+    outPing=$?
+    if [ $outPing -ne 0 ]; then
+	msg "Failed to ping the gateway at $gwIP (err $outPing)"
+	nwFailoverCondition "can't ping the gateway"
+    else
+        debugmsg2 "Succeeded to ping the gateway at $gwIP (ping returns $outPing)"
+    fi
+}
+
+# Handle the network alert and failover if configured.
+nwFailoverCondition() {
+    message=$1
+    debugmsg2 nwFailoverCondition $message
+    if [[ $MONITOR_NETWORK -eq $LEVEL3 ]]; then
+        failovermsg network $message
+	invokeFailover
+    else
+        alertmsg network $message
+    fi
+}
+
+
+########################
+# Monitoring portmap
+########################
+# Check if portmap is up; invoke failover and/or alert if configured.
+# TODO: we can test if this node is mounting anything, and if not
+# we can restart portmap, and re-register the nfs prcesses with it.
+# Currently, if this machine is mouning anything, lockd does not re-register with portmap.
+monitorPortmap() {
+    getStatus /sbin/portmap
+    case $? in
+        $SERVICE_RUNNING)
+            return
+            ;;
+        $SERVICE_NOT_RUNNING)
+            if [[ $MONITOR_PORTMAP -eq $LEVEL1 ]]; then
+                alertmsg portmap
+	    else
+                failovermsg portmap
+                invokeFailoverReboot
+	    fi
+            ;;
+    esac
+}
+
+######################################
+# Monitoring locking (lockd and statd)
+######################################
+
+# This is the main function for monitoring locking (lockd, and statd)
+monitorLocking() {
+    ifGPFSDownExit $GPFS_IP
+
+    # Monitor lockd.
+    getStatus lockd
+    case $? in
+	$SERVICE_RUNNING) 
+	    ;;
+	$SERVICE_NOT_RUNNING) 	
+	    if [[ $MONITOR_STATD -eq $LEVEL3 ]]; then 
+		failovermsg lockd
+		invokeFailover
+	    else
+		alertmsg lockd
+	    fi
+	    ;;
+    esac
+
+    # Monitor statd
+    if [ -f /sbin/rpc.statd ]; then
+	getStatus /sbin/rpc.statd
+	case $? in
+	    $SERVICE_RUNNING)
+		;;
+	    $SERVICE_NOT_RUNNING) 	  
+		if [[ $MONITOR_STATD -ge $LEVEL2 ]]; then
+		    restartStatd
+		else
+		    alertmsg statd
+		fi
+		;;
+	esac
+    fi	   
+}
+
+
+# This function attempts to restart statd in the background (only once).
+restartStatd() {
+    [ ! -f /sbin/rpc.statd ] && return
+    
+    # Kill the statd process if exists (important for registering with portmap)
+    debuglog kill -9 $(/sbin/pidof -x /sbin/rpc.statd)
+    debuglog /etc/init.d/nfslock start
+    sleep $RESTART_TIMEOUT
+    getStatus /sbin/rpc.statd	   
+    case $? in
+	$SERVICE_RUNNING) 
+	    ;;
+	$SERVICE_NOT_RUNNING) 	  
+	    if [[ $MONITOR_STATD -eq $LEVEL3 ]]; then
+                failovermsg statd
+		invokeFailover
+	    else
+                alertmsg statd
+	    fi
+	    ;;
+    esac
+}
+
+######################################
+# Monitoring rsh/ssh daemon
+######################################
+
+startSshd() {
+    checkRestart SSHD  # This call takes care of MONITOR_SSHD < LEVEL3 (numberOfRestarts=0)
+    numberOfRestarts=$?
+    service=$(rshService)
+    attemptNo=0
+    debugmsg2 "About to restart sshd (up to $numberOfRestarts times as configured, 
+                 note: 0 means that the configuration level is lower than LEVEL2)"
+    while [[ $numberOfRestarts -gt 0 ]]; do
+	attemptNo=$((attemptNo+1))
+	/etc/init.d/$service restart > /tmp/$service_restart.out 2>&1 &
+	restartPID=$!
+	sleep $((attemptNo*RESTART_TIMEOUT))
+	debugmsg2 "Try to restart $service (attempt $attemptNo), checking the status:"
+	getStatus $service
+	restartStatus=$?
+	debugmsg2 "The $service status after the $attemptNo attempt of restart is $restartStatus"
+	if [[ $restartStatus == $SERVICE_RUNNING ]]; then	    
+	    return
+	fi
+	debugmsg "Restarting $service failed/hangs, about to kill the restart process.
+		     The output of restart attempt is in /tmp/$service_restart.out"
+	kill -9 $restartPID 2>&1
+	numberOfRestartsLeft=$((numberOfRestartsLeft-1))
+    done
+    # Failed to restart service, check for failover configuration parameters
+    msg "Failed to restart the $service process (tried $attemptNo times as configured)"
+    if [[ $MONITOR_SSHD == $LEVEL3 ]]; then
+        failovermsg $service
+	invokeFailover
+    else
+        alertmsg $service
+    fi
+}    
+
+monitorSshd() {
+    ifGPFSDownExit $GPFS_IP
+    service=$(rshService)
+    getStatus $service
+    case $? in
+	$SERVICE_RUNNING)
+	    return
+	    ;;
+	$SERVICE_NOT_RUNNING)
+	    startSshd
+	    ;;
+    esac
+}
+
+######################################
+# Monitoring gpfs daemon
+######################################
+monitorGPFS() {
+    ifGPFSDownExit $GPFS_IP
+    if [ $? != 0 ]; then
+        failovermsg GPFS
+	exit
+    fi
+}
+
+######################################
+# Main
+######################################
+nfsMonitor() {
+    GPFS_IP=$(myGPFSIP)
+
+    tempvar=1
+    while [ $tempvar == 1 ] ; do
+	sleep $MONITOR_INTERVAL
+	
+	# GPFS monitoring
+        if [[ $MONITOR_GPFS -gt $LEVEL3 ]]; then
+            debugmsg2 "==========GPFS monitoring==============="
+            monitorGPFS
+            debugmsg2 "done monitoring GPFS"
+      	fi
+
+	# Network monitoring
+	if [[ $MONITOR_NETWORK -gt $LEVEL0 ]]; then
+	    debugmsg2 "==========NW monitoring==============="
+	    monitorNetwork
+	    debugmsg2 "done monitoring the network"
+	fi
+
+	# Monitoring portmap
+	# Note that all of the rpc services have to be registered with portmap 
+	# in order for new clients to access them. In our monitoring script, 
+	# we only test for portmap once, but if it fails afterward, the services 
+	# may not be available for new clients even though they are running. 
+	# This is the case until portmap is restarted again, 
+	# and the rpc processes re-register with it.
+	if [[ $MONITOR_PORTMAP -gt $LEVEL0 ]]; then
+	    debugmsg2 "===========portmap monitoring=============="
+	    monitorPortmap
+	    debugmsg2 "done monitoring portmap"
+	fi
+
+	# Monitoring nfsd
+	# The system monitors nfsd only if the nfsd is configured to be monitored in 
+	# the configuration file.
+	# There are several monitoring methods/levels:
+	# (test 1) Check that the nfsd process is running.
+	# (test 2) Monitor the rpc-nfs activity.
+	# (test 3) Send null rpc to the nfsd service.
+	#
+	# Order of tests:
+	# Perfom (test 1). If the process is not running, goto Action.
+	# If the process is running, perform (test 2), if there is nfs activity, 
+	# goto Done.
+	# If no activity is detected, perform (test 3); if fails -- goto Action; 
+	# if pass -- goto Done.
+	
+	# Action: if nfsd is not running & configured to be restarted then the nfsd is 
+	# restarted.
+	# If all restart attempts have failed, the node is declared "dead" for nfs 
+	# serving, and if nfsd is configured as "failover" then the node is failed over 
+	# to another node, and a user level alert is invoked.
+	
+	# Done: nfsd is up and running, continue.
+	
+	if [[ $MONITOR_NFSD  -gt $LEVEL0 ]]; then
+	    debugmsg2 "==========nfsd monitoring==============="
+	    monitorNfsd
+	    debugmsg2 "done monitoring nfsd"
+	fi
+
+	# Monitoring mountd
+	# The system monitors mountd only if mountd is configured to be monitored.
+	# (test 1) Check that the mountd process is running.
+	# Order of tests:
+	# Perfom (test 1). If the process is not running, goto Action.
+	# If the process is running, goto Done.
+	
+	# Action: if mountd is not running & mountd is configured to be restarted then the mountd is 
+	# restarted.
+	# If all restart attempts have failed, the node is declared "dead" for nfs 
+	# serving. If mountd is configured as "failover" then the node is failed over 
+	# to another node, and alert is sent.
+
+	if [[ $MONITOR_MOUNTD -gt $LEVEL0 ]]; then
+	    debugmsg2 "============mountd monitoring============="
+	    monitorMountd
+	    debugmsg2 "done monitoring mountd"
+	fi
+
+	# Monitoring locking (lockd and statd)
+	# The system monitors locking only if configured.
+	# There are several monitoring methods/levels:
+	# (test 1) Check that the lockd processes is running
+	# (test 2) Check that the statd processes is running
+	
+	# If lockd is not running, the node is declared "dead" for nfs serving, 
+	# and if locking is configured as "failover" then the node is failed over to another 
+	# node, and alert is sent.
+	# If statd is not running, a restart takes place if statd is configured to be restarted.
+	# If the restart has failed, the node is declared "dead" for nfs serving, 
+	# and if configured, the node is failed over to another 
+	# node, and alert is sent.
+
+	if [[ $MONITOR_STATD -gt $LEVEL0 ]]; then
+	    debugmsg2 "==========statd  monitoring==============="
+	    monitorLocking
+	    debugmsg2 "done monitoring statd"
+	fi
+
+	# Monitoring sshd
+	# The system monitors sshd only if sshd is configured to be monitored.
+	# (test 1) Check that the sshd process is running.
+	# Order of tests:
+	# Perfom (test 1). If the process is not running, goto Action.
+	# If the process is running, goto Done.
+	# Action: if sshd is not running is configured to be restarted, then restart.
+	# If all restart attempts have failed, the node is declared "dead" for ssh 
+	# serving. If sshd is configured as "failover" then the node is failed over 
+	# to another node, and alert is sent.
+
+	if [[ $MONITOR_SSHD -gt $LEVEL0 ]]; then
+	    debugmsg2 "============sshd monitoring============="
+	    monitorSshd
+	    debugmsg2 "done monitoring sshd"
+	fi
+
+    done
+}
+
+stopNfsMonitor() {
+    nfsMonToolPid=`pidof -o $$ -o $PPID -o %PPID -x ./nfsmonitor`
+    if [[ -z $nfsMonToolPid ]]; then
+	debugmsg2 "Warning: Couldn't find the monitoring process to stop"
+	return
+    fi
+    kill -9 $nfsMonToolPid
+    msg "Monitoring has stopped."
+}
+
+startNfsMonitor() {
+    nfsMonitor &
+    msg "Monitoring has started."
+}
+
+restartNfsMonitor() {
+    stopNfsMonitor
+    startNfsMonitor
+}
+
+statusNfsMonitor() {
+    nfsMonToolPid=$(pidof -o $$ -o $PPID -o %PPID -x ./nfsmonitor)
+    if [[ -z $nfsMonToolPid ]]; then
+	debugmsg "nfsmonitor is not running"
+	return
+    else
+	debugmsg "nfsmonitor is running"
+    fi    
+}
+
+#################################
+# Main program
+#################################
+case "$1" in
+    -s|start)
+        startNfsMonitor
+        ;;
+    -e|stop)
+        stopNfsMonitor
+        ;;
+    -r|restart)
+        restartNfsMonitor
+        ;;
+    -q|status)
+        statusNfsMonitor
+        ;;
+    *)
+        echo $"Usage: $0 [-s|start|-e|end|-r|restart|-q|status]"
+        exit 1
+	;;
+esac
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsnodeback
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsnodeback	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsnodeback	(revision 16)
@@ -0,0 +1,68 @@
+#!/bin/ksh
+# @(#)65	1.5.1.2  src/avs/fs/mmfs/samples/nfscluster/nfsnodeback, mmfs, avs_rgpfs24, rgpfs24s006a 8/17/06 17:09:15
+#
+
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+debugmsg "gpfs_ip $1 failover_ip $2 recovering_ip $3"
+
+hard_failback() {
+    [ $# -lt 3 ] && die "Usage: $0 gpfs_ip failover_ip"
+
+    gpfs_ip=$1
+    failover_ip=$2
+    recovering_ip=$3
+
+    # 1. all nodes go in to grace period
+    # Note: this is already done by nfsgrace
+    # startGrace
+    # msg "NLM grace period started due to recovery of node ($recovering_ip)"
+
+    # 2. only recovery node release IP addresses of node that joined back
+    if [ "$gpfs_ip" == "$failover_ip" ]; then
+        nfsips=$(getNfsIPs $recovering_ip)
+        msg "Node $recovering_ip has recovered; releasing its IP address(es) $nfsips"
+
+	[ $hardMount -eq 1 ] && nfsService soft-restart
+
+        for ip in $nfsips; do
+	    ifDown $ip
+        done
+    fi
+
+    # 3. all node start lock recovery
+    startReclaim $gpfs_ip
+}
+
+soft_failback() {
+    [ $# -lt 2 ] && die "Usage: $0 gpfs_ip failover_ip"
+    gpfs_ip=$1
+    recovering_ip=$2
+
+    nfsips=$(getNfsIPs $recovering_ip)
+    msg "Node $recovering_ip has recovered; releasing its IP address(es) $nfsips"
+
+    [ $hardMount -eq 1 ] && nfsService soft-restart
+
+    for ip in $nfsips; do
+        ifDown $ip
+    done
+
+    resetLockd
+
+    msg "All NLM locks have been released due to recovery of node ($recovering_ip)"
+    startReclaim $gpfs_ip
+    for failed_node in $(ls -A $SHARED_RECOVERY/$gpfs_ip); do
+        startReclaim $failed_node
+    done
+}
+
+if [ $# -ge 3 ]; then
+    hard_failback $*
+else
+    soft_failback $*
+fi
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsrecovernode.scr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsrecovernode.scr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/nfsrecovernode.scr	(revision 16)
@@ -0,0 +1,49 @@
+#!/bin/ksh
+# @(#)66	1.8.1.3  src/avs/fs/mmfs/samples/nfscluster/nfsrecovernode.scr, mmfs, avs_rgpfs24, rgpfs24s009a 12/18/06 10:34:58
+#
+
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+# Main
+
+[ -f $NODELIST ] || die "$0: NFS cluster was not defined (no $NODELIST file)"
+
+# Usage: nfsrecovernode.scr phase node [failed_nodes]
+phase=$1
+me=$2
+shift 2
+failed_nodes=$*
+
+if [ "$phase" == "1" ]; then
+    debugmsg "Start node recovery for $failed_nodes"
+
+    for fip in $failed_nodes; do
+	takeover_node=$(selectNode $fip)
+
+	[ -z "$takeover_node" ] && die "Error: no takeover node"
+
+	if [ "$me" == "$takeover_node" ]; then
+	    debugmsg "Do recovery for node $fip"
+	    IPtakeover $me $fip
+	    debuglog ls -A $SHARED_RECOVERY/$fip
+            # recover nodes that were recovered by the failed node
+	    for node in $(ls -A $SHARED_RECOVERY/$fip 2> /dev/null); do
+		debugmsg "Takeover node is $takeover_node. Do 2nd recovery for node $node"
+		IPtakeover $me $node
+		_unlink ${SHARED_RECOVERY}/$fip/$node
+	    done
+	else
+	    debuglog touch ${SHARED_RECOVERY}/$takeover_node/$fip
+	    for node in $(ls -A $SHARED_RECOVERY/$fip 2> /dev/null); do
+  	        debuglog cp ${SHARED_RECOVERY}/$node/* ${SHARED_RECOVERY}/$takeover_node 2> /dev/null
+	    done
+	fi
+    done
+
+    checkDynamicGrace
+    [ $? -eq 0 ] && startReclaim $me
+fi
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/preunmount
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/preunmount	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/preunmount	(revision 16)
@@ -0,0 +1,85 @@
+#!/bin/ksh
+# @(#)84        1.5.1.6  src/avs/fs/mmfs/samples/nfscluster/preunmount, mmfs, avs_rgpfs24, rgpfs24s010a 1/29/07 03:24:33 
+##############################################################################
+#
+# When properly installed, this script is invoked by the GPFS daemon during
+# normal or abnormal shutdown cleanup processing.
+#
+# The script is invoked with one parameter which represents the status of
+# the GPFS daemon.  The possible values are:
+#   down    - this is normal shutdown processing as a result of a mmshutdown
+#             command.  The GPFS daemon will not be restarted.
+#   active  - this is abnormal shutdown processing as a result of some
+#             unrecoverable condition.  The GPFS daemon will be restarted.
+#
+# If this is a normal shutdown, GPFS has already unmounted all file systems.
+#
+# If this is abnormal shutdown, GPFS leaves the file systems mounted and
+# will attempt to remount them after the daemon restarts.  If you do not
+# wish the file systems to be automatically remounted, add the appropriate
+# umount commands in this script.
+#
+# You can also use this script to add any commands to clean up local state
+# before the GPFS daemon restarts.
+#
+# If GPFS was started with the -T option (activate tracing) on the mmstartup
+# command, trace records have already been cut prior to invoking this script.
+# If you want to disable on a particular node the automatic trace handling,
+# run the following command on the desired nodes:
+#      touch /var/mmfs/etc/ignoreMMTRACE
+#
+# If you have disabled the automatic trace handling, or if you have started
+# tracing with the mmtrace command, add the appropriate trace handling commands.
+#
+#
+# To activate the code:
+#
+#   a) edit this script and make the appropriate changes
+#   b) copy this script to /var/mmfs/etc/preunmount
+#   c) ensure this script is executable (chmod +x preunmount)
+#
+##############################################################################
+
+# Process the parameters.
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+device=$1
+reason=$2
+debugmsg $0: device=$device reason=$reason
+
+# stop NFS only if the devide was exported or used for HA-NFS shared information
+if [[ "$reason" == "SGPanic" ]]; then
+    isExported $device
+    rc1=$?
+    isSharedRoot $device
+    rc2=$?
+    if [[ $rc1 -ne 0 && $rc2 -ne 0 ]]; then
+        debugmsg $0: ignore device=$device umount
+        return 0
+    fi
+fi
+
+if [[ "$reason" == "SGPanic" || "$reason" == "Shutdown" || "$reason" == "umount" ]]; then
+	/var/mmfs/etc/nfsmonitor -e
+	/var/mmfs/etc/stop.nfs
+fi
+
+if [[ "$reason" == "SGPanic" ]]; then
+	debuglog touch /tmp/ha-nfs-reboot
+	debugmsg "Stopping GPFS..."
+	if [[ "$REBOOT" == "1" ]]; then
+		reboot -f
+	else
+		/etc/init.d/gpfs stop
+	fi
+fi
+
+if [[ "$reason" == "Shutdown" ]]; then
+	_unlink /tmp/ha-nfs-reboot
+fi
+
+return 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/start.nfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/start.nfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/start.nfs	(revision 16)
@@ -0,0 +1,120 @@
+#!/bin/ksh
+# @(#)67	1.13.1.10  src/avs/fs/mmfs/samples/nfscluster/start.nfs, mmfs, avs_rgpfs24, rgpfs24s010a 2/16/07 02:32:51
+#
+# start.nfs <GPFS_IP_ADDRESS>
+#
+
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+myip=$1
+[ "$myip" == "" ] && myip=$(myGPFSIP)
+[ "$myip" != "" ] || die "Usage: start.nfs <GPFS IP address>"
+
+debugmsg "start.nfs called with ip=$myip"
+
+# Setup
+rotatelog
+_unlink /tmp/ha-nfs-reboot
+
+configHA $myip
+[ $? -ne 0 ] && die "start.nfs: configHA failed"
+
+# did we mount any of the exported fs
+isAnyExported
+[ $? -ne 0 ] && die "start.nfs: mount failed"
+
+# Clear any old locks in Linux.
+resetLockd
+
+# Set nfsd proc fs, used for grace control
+debuglog mount -t nfsd nfsd /proc/fs/nfsd
+
+# Stop NFSD before doing failback
+debuglog rpc.nfsd 0
+
+# Is this a failback?
+[ $iptakeover -eq 1 ] && IPfailback $myip
+
+# Bring up all nfs ip address
+nfsips=$(getNfsIPs $myip)
+msg "Enabling interface(s) for IP address(es) $nfsips"
+
+typeset -i connections=0
+while true; do
+    for ip in $nfsips; do
+	ifUp $ip
+	iface=$(getifname $ip)
+	checkLinkStatus $iface
+	if [ $? -ne 1 ]; then
+	    gwIP=$(route -n |awk '/UG/ {print $2}')
+	    if [ -n "$gwIP" ]; then
+		ping -c 1 -w 5 $gwIP > /dev/null
+		if [ $? -ne 0 ]; then
+		    debugmsg "Failed to ping the gateway at $gwIP"
+		else
+		    connections=1
+		fi
+	    else
+		connections=1
+	    fi
+	fi
+    done
+    if [ $connections -eq 0 ]; then
+	sleep 10
+    else
+	break
+    fi
+done
+
+# Start nfs server.
+debuglog umount /proc/fs/nfsd
+nfsService start
+
+_mkdir $SHARED_RECOVERY/$myip
+
+# takeover nodes that were recovered by this node before failing
+for failed_node in $(ls -A $SHARED_RECOVERY/$myip 2> /dev/null); do
+    debugmsg "Do recovery for node $failed_node at $myip start up"
+    IPtakeover $myip $failed_node
+done
+
+# takeover nodes that are not up
+next=$(getNextNode $myip $myip)
+debugmsg check other nodes starting with $next
+while [ -n "$next" ]; do
+    isNodeUp $next
+    if [ $? -ne 0 ]; then
+	# was already on my list and was handled above
+	if [ ! -f $SHARED_RECOVERY/$myip/$next ]; then
+	   isNodeUp $next
+	   if [ $? -ne 0 ]; then
+	      touch $SHARED_RECOVERY/$myip/$next
+	      sleep 10
+	      if [ -f $SHARED_RECOVERY/$myip/$next ]; then
+	         isNodeUp $next
+	         if [ $? -ne 0 ]; then
+		    debugmsg "Do start recovery for node $next"
+		    IPtakeover $myip $next
+                    next=$(getNextNode $next $myip)
+                    continue
+	         fi
+	      fi
+	   fi
+	fi
+    fi
+    break
+done
+
+
+# reclaim locks
+startReclaim $myip
+backupSmDir /tmp/statd
+
+if [ $monitor -eq 1 ]; then
+    nfsmonitor -s
+fi
+exit 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/stop.nfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/stop.nfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/stop.nfs	(revision 16)
@@ -0,0 +1,28 @@
+#!/bin/ksh
+# @(#)68	1.8.1.3  src/avs/fs/mmfs/samples/nfscluster/stop.nfs, mmfs, avs_rgpfs24, rgpfs24s006a 8/17/06 17:09:22
+#
+# stop.nfs
+#
+
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+[ $hardMount -eq 1 ] && debuglog rpc.nfsd 0
+
+if [ $iptakeover -eq 1 ]; then
+    # bring down all nfs ip address
+    nfsIPs=$(mmgetifconf | awk '{print $2}')	
+    for ip in $nfsIPs; do
+	found=$(echo $(getAllNfsIPs) | grep -wo $ip)
+	[ -n "$found" ] && ifDown $ip
+    done
+fi
+
+# Stop nfsd et al.
+nfsService stop
+
+# Remove GPFS symlinks for shared sm data
+unshareSmDir
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/takeover
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/takeover	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/takeover	(revision 16)
@@ -0,0 +1,72 @@
+#!/bin/ksh
+# @(#)11	1.1  src/avs/fs/mmfs/samples/nfscluster/takeover, mmfs, avs_rgpfs24, rgpfs24s011a 3/7/07 20:57:09
+#
+
+if [ ! -f /var/mmfs/etc/nfsfuncs ]; then
+    echo "$0: Can't find NFS functions in /var/mmfs/etc"
+    exit 0
+fi
+. /var/mmfs/etc/nfsfuncs
+
+forcedTakeover() {
+    me=$1
+    failed=$2
+    typeset -i do_reclaim=0
+
+    [ "$me" == "$failed" ] && return
+
+    msg "Initiating forced IP takeover of $failed due to node failure"
+
+    _mkdir ${SHARED_RECOVERY}/$me
+
+    stopNode $failed
+    nfsIPs=$(getNfsIPs $failed)
+    debugmsg "forcedTakeover ips: $nfsIPs"
+    for ip in $nfsIPs; do
+        # Takeover IP and issue gratuitous ARP to the clients for the node
+        # that failed so that clients can reconnect to the new address
+	recoverNode $ip $failed
+       	[ $? -eq 0 ] && do_reclaim=1
+    done
+
+    if [ $do_reclaim -ne 0 ]; then
+	# got the IP
+        debuglog touch ${SHARED_RECOVERY}/$me/$failed
+    else
+        # did not get IP, takeover failed, remove the entry
+	_unlink ${SHARED_RECOVERY}/$me/$failed
+	return
+    fi
+    debugmsg "forcedTakeover: File contents:"
+    debugmsg $(ls -R ${SHARED_RECOVERY}/$me)
+    _cp ${SHARED_NFS}/$failed/statd/sm/* ${SHARED_NFS}/$me/statd/sm
+    checkDynamicGrace
+    [ $? -eq 1 ] && startReclaim $failed
+}
+# Main
+
+[ $# -eq 1 ] || die "Usage: $0 GPFS-IP"
+
+node=$1
+me=$(myGPFSIP)
+
+# Check if failed node is a valid GPFS IP address
+let valid=0
+gpfsIPs=$(getAllGPFSIPs)
+for ip in $gpfsIPs; do
+    if [ "$ip" == "$node" ]; then
+        valid=1
+        break
+    fi
+done
+[ $valid -eq 1 ] || die "$node is not a valid GPFS IP address"
+
+debugmsg "Start forced node recovery for $node"
+forcedTakeover $me $node
+debuglog ls -A $SHARED_RECOVERY/$node
+# recover other IPs that are serviced by the failed node
+for ip in $(getFailedNodes $node); do
+   debugmsg "Do 2nd recovery for node $ip"
+   forcedTakeover $me $ip
+   _unlink ${SHARED_RECOVERY}/$node/$ip
+done
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/uninstall_ha-nfs.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/uninstall_ha-nfs.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nfscluster/uninstall_ha-nfs.sh	(revision 16)
@@ -0,0 +1,139 @@
+#!/bin/bash
+
+# SLES 9 only
+# This script is written in bash (instead of ksh) because it invokes SLES scripts
+
+# Check for pre-requisites (files)
+prereq() {
+    for file in $*; do
+        if [ ! -f $file ]; then
+            echo "Cannot find $file. See /usr/lpp/mmfs/samples/nfscluster/README for uninstall instructions."
+            exit 0
+        fi
+    done
+}
+
+unconfig() {
+    . /etc/rc.status
+
+    rc_reset
+
+    # Check for SUSE distribution
+    dist=$( cat /etc/issue | grep "SUSE LINUX Enterprise Server 9" )
+    if [ "$dist" == "" ]; then
+	die "$0 will work only for SUSE LINUX Enterprise Server 9"
+    fi
+
+    # Check the GPFS is not running
+    gpfsIp=$(myGPFSIP)
+    isRunning=$(mmfsadm dump version 2> /dev/null | grep "Current daemon version")
+    if [ -n "$isRunning" ]; then
+	echo "Error: GPFS has to be shutdown on $gpfsIp before uninstall can continue."
+        return 1
+    fi
+
+    echo -n "Removing GPFS system init script "
+    if [ -f /etc/init.d/gpfs ]; then
+        log insserv -d gpfs
+        _unlink /etc/init.d/gpfs
+    fi
+    # Redo GPFS autoload in inittab
+    sed -i 's/^# gpfs:\(.*\)# Disabled by HA-NFS/gpfs:\1/g' /etc/inittab
+    rc_status -v
+
+    # Reset default start mode of interfaces used for HA-NFS
+    nfsIPs=$(getNfsIPs $gpfsIp)
+    for ip in $nfsIPs; do
+        # Find its ifcfg file
+        ifcfg=$(getifcfg $ip)
+	[ -z "$ifcfg" ] && continue
+	iface=$(getifname $ifcfg)
+        if grep -q "^STARTMODE.*='manual'" $ifcfg; then
+	    . $ifcfg
+	    for ipval in ${!IPADDR*}; do
+		index=${ipval#IPADDR}
+		ipaddr=${!ipval}
+		if [ "$ip" == "$ipaddr" ]; then
+			mode=STARTMODE$index
+			break
+		fi
+	    done
+            # SuSE
+            sed -i "s/^$mode='manual'	# added for HA-NFS/$mode='onboot'/g" $ifcfg
+            echo "Uninstallation has changed the start mode of interface $iface to onboot"
+        elif grep -q "^ONBOOT=no" $ifcfg; then
+            # RedHat
+            sed -i "s/^ONBOOT=no	# added for HA-NFS/^ONBOOT=yes/g" $ifcfg
+            echo "Uninstallation has changed the start mode of interface $iface to onboot"
+        fi
+    done
+
+    # Restore backup 
+    [ -d /var/mmfs/etc.bak ] && log rm -rf /var/mmfs/etc && log mv /var/mmfs/etc.bak /var/mmfs/etc
+
+    # Reset files in /var/lib/nfs
+    [ -L /var/lib/nfs/rmtab ] && _unlink /var/lib/nfs/rmtab && touch /var/lib/nfs/rmtab
+    [ -L /var/lib/nfs/sm ] && _unlink /var/lib/nfs/sm && _mkdir /var/lib/nfs/sm
+    [ -L /var/lib/nfs/sm.bak ] && _unlink /var/lib/nfs/sm.bak && _mkdir /var/lib/nfs/sm.bak
+    rc_reset
+}
+
+defs=/var/mmfs/etc/nfsdefs
+funcs=/var/mmfs/etc/nfsfuncs
+uninstall_script=/var/mmfs/etc/uninstall_ha-nfs.sh
+
+prereq $defs $funcs $uninstall_script
+
+. $defs
+. $funcs
+. /etc/rc.status
+
+if [ -n "$GPFS_RSH" ]; then
+    GPFS_rshPath=$(which $GPFS_RSH)
+else
+    GPFS_rshPath=$(which rsh)
+fi
+if [ -n "$GPFS_RCP" ]; then
+    GPFS_rcpPath=$(which $GPFS_RCP)
+else
+    GPFS_rcpPath=$(which rcp)
+fi
+
+LOGFILE=/tmp/uninstall-ha-nfs.log
+> $LOGFILE
+
+allflag=""
+case $1 in
+    -a)
+        allflag=yes
+	;;
+    -u)
+        unconfig
+        exit $?
+	;;
+    *)
+	;;
+esac
+	
+if [ -z "$allflag" ]; then
+    unconfig
+else
+    # Run configuration on all GPFS nodes
+    gpfsIPs=$(getAllGPFSIPs)
+
+    echo -n "Uninstalling HA-NFS on all nodes in the cluster "
+    gpfsIPs=$(echo $gpfsIPs | sed 's/ /,/g')
+    log mmdshcmdRC $gpfsIPs $uninstall_script -u
+    if [ $? -ne 0 ]; then
+        rc_failed 1
+    else
+        rc_reset
+    fi
+    rc_status -v
+fi
+
+RC=$?
+grep "Error:" $LOGFILE
+[ -s $LOGFILE ] && echo -n "See $LOGFILE for details."
+echo ""
+exit $RC
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nsddevices.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nsddevices.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/nsddevices.sample	(revision 16)
@@ -0,0 +1,84 @@
+#!/bin/ksh
+# @(#)53        1.5  src/avs/fs/mmfs/ts/config/nsddevices.sample, mmfs, avs_rgpfs24, rgpfs240610b 8/9/04 16:51:23 
+##############################################################################
+#
+# When properly installed, this script is invoked by the 
+# /usr/lpp/mmfs/bin/mmdevdiscover script.  
+#
+# INSTALLATION GUIDELINES FOR THIS SCRIPT:
+#
+#   a) edit this script using the configuration guidelines below
+#   b) copy this script to /var/mmfs/etc/nsddevices
+#   c) ensure this script is executable (chmod +x /var/mmfs/etc/nsddevices)
+#
+# DESCRIPTION OF NSD DEVICE DISCOVERY:
+#
+#   The mmdevdiscover script and conversely this script are invoked by 
+#   the mmfsd daemon when it tries to discover or verify physical 
+#   devices previously defined to GPFS with the mmcrnsd command.  These
+#   scripts identify devices found in the /dev file system on the local 
+#   machine that may correlate to NSDs defined to GPFS.  
+#
+#   GPFS uses the list of devices output by these scripts in mapping 
+#   the NSD name listed in the configuration database to a local device 
+#   in the /dev file system.  When an NSD is created via the mmcrnsd 
+#   command it is marked with a unique identifier written to sector
+#   two of the device.  This unique identifier is recorded in the 
+#   configuration database along with the user recognizable NSD name.
+#
+#   During GPFS disk discovery each device name output by mmdevdiscover
+#   and nsddevices is opened in turn and sector two of each device is 
+#   read.   If a match between an NSD identifier on the device and an
+#   identifier recorded in the configuration database is found, then
+#   this machine has local access to the NSD device.  I/O is thus 
+#   subsequently performed via this local /dev interface.
+#
+# CONFIGURATION AND EDITING GUIDELINES:
+#
+#   If this script is not installed then disk discovery is done 
+#   only via the commands listed in mmdevdiscover.
+#
+#   If this script is installed and returns a NON ZERO return code
+#   then the disk discovery commands listed in mmdevdiscover will ALSO
+#   be run.
+#
+#   If this script is installed and returns a ZERO return code
+#   then the disk discovery commands listed in mmdevdiscover will NOT
+#   be run.
+#
+#   The output from both this script and nsddevices is a number 
+#   of lines in the following format:
+#
+#     deviceName deviceType
+#
+#   where (deviceName) is a device name such as (hdisk1)
+#   and (deviceType) is a set of known disk types.  Consult
+# 
+#     /usr/lpp/mmfs/bin/mmdevdiscover
+#
+#   for a list of currently known deviceTypes
+#
+#   Example output:
+#
+#     hdisk1  hdisk
+#     hdisk2  hdisk
+#
+##############################################################################
+
+osName=$(/bin/uname -s)
+
+if [[ $osName = Linux ]]
+then
+  : # Add function to discover disks in the Linux environment.
+fi
+
+if [[ $osName = AIX ]]
+then
+  : # Add function to discover disks in the AIX environment.
+fi
+
+# To bypass the GPFS disk discovery (/usr/lpp/mmfs/bin/mmdevdiscover),
+# return 0
+
+# To continue with the GPFS disk discovery steps,
+# return 1
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/README
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/README	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/README	(revision 16)
@@ -0,0 +1,422 @@
+Disclaimers
+-----------
+
+The files in this directory are provided by IBM on an "AS IS" basis
+without warranty of any kind.  In addition, the results that you obtain
+from using these files to measure the general performance of your
+General Parallel File System (GPFS) file systems are "AS IS."  Your
+reliance on any measurements is at your own risk and IBM does not assume
+any liability, whatsoever from your use of these files or your use of
+resultant performance measurements.  The performance of GPFS file
+systems is affected by many factors, including the access patterns of
+application programs, the configuration and amount of memory on the SP
+nodes, the number and characteristics of IBM Virtual Shared Disk (VSD)
+servers, the number and speed of disks and disk adapters attached to the
+VSD servers, GPFS, VSD and SP switch configuration parameters, other
+traffic through the SP switch, etc.  As a result, GPFS file system
+performance may vary and IBM does not make any particular performance
+claims for GPFS file systems.
+
+
+Introduction
+------------
+
+The files in this directory serve two purposes:
+
+ - Provide a simple benchmark program (gpfsperf) that can be used to
+   measure the performance of GPFS for several common file access patterns.
+ - Give examples of how to use some of the gpfs_fcntl hints and
+   directives that are new in GPFS version 1.3.
+
+There are four versions of the program binary built from a single set of
+source files.  The four versions correspond to all of the possible
+combinations of single node/multiple node and with/without features that
+only are supported on GPFS version 1.3.  Multinode versions of the gpfsperf
+program contain -mpi as part of their names, while versions that do not use
+features of GPFS requiring version 1.3 have a suffix of -v12 in their names.
+
+
+Parallelism
+-----------
+
+There are two independent ways to achieve parallelism in the gpfsperf
+program.  More than one instance of the program can be run on multiple
+nodes using Message Passing Interface (MPI) to synchronize their
+execution, or a single instance of the program can execute several
+threads in parallel on a single node.  These two techniques can also be
+combined.  When describing the behavior of the program, it should be
+understood that 'threads' means any of the threads of the gpfsperf
+program on any node where MPI runs it.
+
+When gpfsperf runs on multiple nodes, the multiple instances of the
+program communicate using the Message Passing Interface (MPI) to
+synchronize their execution and to combine their measurements into an
+aggregate throughput result.
+
+
+Access patterns
+---------------
+
+The gpfsperf program operates on a file that is assumed to consist of a
+collection of records, each of the same size.  It can generate three
+different types of access patterns: sequential, strided, and random.  The
+meaning of these access patterns in some cases depends on whether or not
+parallelism is employed when the benchmark is run.
+
+The simplest access pattern is random.  The gpfsperf program generates a
+sequence of random record numbers and reads or writes the corresponding
+records.  When run on multiple nodes, or when multiple threads are used
+within instances of the program, each thread of the gpfsperf program uses a
+different seed for its random number generator, so each thread will access
+independent sequences of records.  Two threads may access the same record
+if the same random record number occurs in two sequences.
+
+In the sequential access pattern, each gpfsperf thread reads from or writes
+to a contiguous partition of a file sequentially.  For example, suppose that
+a 10 billion byte file consists of one million records of 10000 bytes each.
+If 10 threads read the file according to the sequential access
+pattern, then first thread will read sequentially through the partition
+consisting of the first 100,000 records, the next thread will read from the
+next 100,000 records, and so on.
+
+In a strided access pattern, each thread skips some number of records
+between each record that it reads or writes.  Reading the file from the
+example above in a strided pattern, the first thread would read records 0,
+10, 20, ..., 999,990.  The second thread would read records 1, 11, 21, ...,
+999,991, and so on.  The gpfsperf program by default uses a stride, or
+distance between records, equal to the total number of threads operating on
+the file, in this case 10.
+
+
+Amount of data to be transferred
+--------------------------------
+
+One of the input parameters to gpfsperf is the amount of data to be
+transferred.  This is the total number of bytes to be read or written by all
+threads of the program.  If there are T threads in total, and the total
+number of bytes to be transferred is N, each thread will read or write about
+N/T bytes, rounded to a multiple of the record size.  By default, gpfsperf
+sets N to the size of the file.  For the sequential or strided access
+pattern, this default means that every record in the file will be read or
+written exactly once.
+
+If N is greater than the size of the file, each thread will read or write
+its partition of the file repeatedly until reaching its share (N/T) of the
+bytes to be transferred.  For example, suppose 10 threads sequentially read
+a 10 billion byte file of 10000 byte records when N is 15 billion.  The
+first thread will read the first 100,000 records, then reread the first
+50,000 records.  The second thread will read records 100,000 through
+199,999, then reread records 100,000 through 149,999, and so on.
+
+When using strided access patterns with other than the default stride, this
+behavior of gpfsperf can cause unexpected results.  For example, suppose
+that 10 threads read the 10 billion byte file using a strided access
+pattern, but instead of the default stride of 10 records gpfsperf is told to
+use a stride of 10000 records.  The file partition read by the first thread
+will be records 0, 10000, 20000, ..., 990,000.  This is only 100 distinct
+records of 10000 bytes each, or a total of only 1 million bytes of data.
+This data will likely remain in the GPFS buffer pool after it is read the
+first time.  If N is more than 10 million bytes, gpfsperf will "read" the
+same buffered data multiple times, and the reported data rate will appear
+anomalously high.  To avoid this effect, performance tests using non-default
+strides should reduce N in the same proportion as the stride was increased
+from its default.
+
+
+Computation of aggregate data rate and utilization
+--------------------------------------------------
+
+The results of a run of gpfsperf are reported as an aggregate data rate.
+Data rate is defined as the total number of bytes read or written by all
+threads divided by the total time of the test.  It is reported in units of
+1000 bytes/second.  The test time is measured from before any node opens the
+test file until after the last node closes the test file.  To insure a
+consistent environment for each test, before beginning the timed test period
+gpfsperf issues the GPFS_CLEAR_FILE_CACHE hint on all nodes.  This flushes
+the GPFS buffer cache and releases byte-range tokens.  Note that versions of
+GPFS prior to v1.3 do not support GPFS file hints, so the state of the
+buffer cache at the beginning of a test will be influenced by the state left
+by the prior test.
+
+Since all threads of a gpfsperf run do approximately the same amount of work
+(read or write N/T bytes), in principle they should all run for the same
+amount of time.  In practice, however, variations in disk and switch
+response time lead to variations in execution times among the threads.  Lock
+contention in GPFS further contributes to these variations in execution
+times.  A large degree of non-uniformity is undesirable, since it means that
+some nodes are idle while they wait for threads on other nodes to finish.
+To measure the degree of uniformity of thread execution times, gpfsperf
+computes a quantity it calls "utilization."  Utilization is the fraction of
+the total number of thread-seconds in a test during which threads actively
+perform reads or writes.  A value of 1.0 indicates perfect overlap, while
+lower values denote that some threads were idle while others still ran.
+
+The following timeline illustrates how gpfsperf computes utilization for a
+test involving one thread on each of two nodes, reading a total of 100M:
+
+  time   event
+  ----   -----
+   0.0   Node 0 captures timestamp for beginning of test
+         ... both nodes open file
+   0.1   Node 0 about to do first read
+   0.1   Node 1 about to do first read
+         ... many file reads
+   4.9   Node 0 finishes last read
+   4.9   Node 1 finishes last read
+         ... both nodes close file
+   5.0   Node 0 captures timestamp for end of test
+
+The utilization is ((4.9-0.1) + (4.9-0.1)) / 2*(5.0-0.0) = 0.96.  The
+reported aggregate data rate would be 100M / (5.0-0.0) = 20M/sec.
+
+If node 0 ran significantly slower than node 1, it might have finished its
+last read at time 9.9 instead of at time 4.9, and the end of test timestamp
+might be 10.0 instead of 5.0.  In this case the utilization would drop to
+((4.9-0.1) + (9.9-0.1)) / 2*(10.0-0.0) = 0.73, and the data rate would be
+100M / (10.0-0.0) = 10M/sec.
+
+
+Command line parameters
+-----------------------
+
+There are four versions of gpfsperf in this directory:
+  gpfsperf-mpi       - runs on multiple nodes under MPI, requires GPFS v1.3 or later
+  gpfsperf           - runs only on a single node, requires GPFS v1.3 or later
+
+The command line for any of the versions of gpfsperf is:
+
+  gpfsperf[-mpi] operation pattern fn [options]
+
+The order of parameters on the command line is not significant.
+
+The operation must be either "create", "read", "write", or "uncache".  All
+threads in a multinode or multithreaded run of gpfsperf do the same
+operation to the same file, but at different offsets.  Create means to
+insure that the file exists, then do a write test.  The uncache operation
+does not read or write the file, but only removes any buffered data for the
+file from the GPFS buffer cache.
+
+Pattern must be one of "rand", "randhint", "strided", or "seq".  The
+meanings of each of these was explained earlier, except for "randhint".  The
+"randhint" pattern is the same as "rand", except that the GPFS multiple
+access range hint is used through the library functions in irreg.c to
+prefetch blocks before they are accessed by gpfsperf.
+
+The filename parameter fn should resolve to a file in a GPFS file system
+that is mounted on all nodes where gpfsperf is to run.  The file must
+already exist unless the "create" operation was specified.  Use of gpfsperf
+on files not in GPFS may be meaningful in some situations, but this use has
+not been tested.
+
+Each optional parameter is described below, along with its default value.
+
+-nolabels    - Produce a single line of output containing all parameters
+               and the measured data rate.  Format of the output line is 'op
+               pattern fn recordSize nBytes fileSize nProcs nThreads
+               strideRecs inv ds dio fsync reltoken aio osync rate util'.
+               This format may be useful for importing results into a
+               spreadsheet or other program for further analysis.  The
+               default is to produce multi-line labelled output.
+
+-r recsize   - Record size.  Defaults to filesystem block size.  Must be
+               specified for create operations.
+
+-n nBytes    - Number of bytes to transfer.  Defaults to file size.  Must be
+               specified for create operations.
+
+-s stride    - Number of bytes between successive accesses by the
+               same thread.  Only meaningful for strided access patterns.
+               Must be a multiple of the record size.  See earlier cautions
+               about combining large values of -s with large values of -n.
+               Default is number of threads times number of processes.
+
+-th nThreads - Number of threads per process.  Default is 1.  When there
+               are multiple threads per process they read adjacent blocks of
+               the file for the sequential and strided access patterns.  For
+               example, suppose a file of 60 records is being read by 3
+               nodes with 2 threads per node.  Under the sequential pattern,
+               thread 0 on node 0 will read records 0-9, thread 1 on node 0
+               will read records 10-19, thread 0 on node 1 will read records
+               20-29, etc.  Under a strided pattern, thread 0 on node 0 will
+               read records 0, 6, 12, ..., 54, thread 1 on node 0 will read
+               records 1, 7, 13, ..., 55, etc.
+
+-noinv       - Do not clear blocks of fn from the GPFS file cache before
+               starting the test.  The default is to clear the cache.  If
+               this option is given, the results of the test can depend
+               strongly on the lock and buffer state left by the last test.
+               For example, a multinode sequential read with -noinv will run
+               more slowly after a strided write test than after a
+               sequential write test.
+
+-ds          - Use GPFS data shipping.  Data shipping avoids lock conflicts
+               by partitioning the file among the nodes running gpfsperf,
+               turning off byte range locking, and sending messages to the
+               appropriate agent node to handle each read or write request.
+               However, since (n-1)/n of the accesses are remote, the
+               gpfsperf threads cannot take advantage of local block
+               caching, although they may still benefit from prefetching and
+               writebehind.  Also, since byte range locking is not in
+               effect, use of data shipping suspends the atomicity
+               guarantees of X/Open file semantics.  See the GPFS Guide and
+               Reference manual for more details.  Data shipping should show
+               the largest performance benefit for strided writes that have
+               small record sizes.  The default is not to use data shipping.
+
+-aio depth   - use Asynch I/O, prefetching to depth (default 0, max 1000).
+               This can be used with any of the seq/rand/strided test patterns.
+
+-dio         - Use direct IO flag when opening the file. This will allow
+               sector aligned/sized buffers to be read/written directly
+               from the application buffer to the disks where the blocks
+               are allocated.
+
+-reltoken    - Release the entire file byte-range token after the file
+               is newly created. In a multi-node environment (MPI), only
+               the first process will create the file and all the other
+               processes will wait and open the file after the creation
+               has occurred. This flag tell the first process to release
+               the byte-range token it automatically gets during the create.
+               This may increase performance because other nodes that work
+               on different ranges of the file will not need to revoke the
+               range held by the node running the first process.
+
+-fsync       - Insure that no dirty data remain buffered at the conclusion
+               of a write or create test.  The time to perform the necessary
+               fsync operation is included in the test time, so this option
+               reduces the reported aggregate data rate.  The default is not
+               to fsync the file.
+
+-osync       - Turn on the O_SYNC flag when opening the file.
+               This causes every write operation to force the data to disk
+               on each call. The default is not osync.
+
+-v           - Verbose tracing.  In a multinode test using gpfsperf, output
+               from each instance of the program will be intermingled.  By
+               telling MPI to label the output from each node (MP_LABELIO
+               environment variable =yes), the verbose output will make more
+               sense.
+
+-V           - Very verbose tracing.  This option will display the offset
+               of every read or write operation on every node.  As with -v,
+               labelling the output by node is suggested.
+
+Numbers in options can be given using K, M, or G suffixes, in upper or lower
+case, to denote 2**10, 2**20, or 2**30, respectively, or can have an R or r
+suffix to denote a multiple of the record size.  For example, to specify a
+record size of 4096 bytes and a size to read or write of 409600, one could
+write "-r 4k -n 100r".
+
+AIX only:
+If the AsynchronousIO (AIO) kernel extension has not been loaded yet,
+running the gpfsperf program will fail and display output like:
+exec(): 0509-036 Cannot load program gpfsperf because of the following errors:
+        0509-130 Symbol resolution failed for /usr/lib/threads/libc.a(aio.o) because:
+        0509-136   Symbol kaio_rdwr (number 0) is not exported from
+                   dependent module /unix.
+        0509-136   Symbol listio (number 1) is not exported from
+                   dependent module /unix.
+        0509-136   Symbol acancel (number 2) is not exported from
+                   dependent module /unix.
+        0509-136   Symbol iosuspend (number 3) is not exported from
+                   dependent module /unix.
+        0509-136   Symbol aio_nwait (number 4) is not exported from
+                   dependent module /unix.
+        0509-192 Examine .loader section symbols with the
+                 'dump -Tv' command.
+
+If you do not wish to use AIO, you can recompile the gpfsperf program to not
+use the AIO calls:
+    rm gpfsperf.o gpfsperf-mpi.o
+    make OTHERINCL="-DNO_AIO"
+
+Enable AIO on your system, by doing commands like the following:
+    lsattr -El aio0
+    chdev -l aio0 -P -a autoconfig=available -a minservers=10 -a maxservers=128
+    mkdev -l aio0
+  Minservers just tells AIX how many AIO kprocs to create immediately, and
+  maxservers limits the total number created. On AIX 5.2 the meaning of
+  maxservers has changed to mean "maximum number of servers per CPU", so a
+  16-way SMP should set maxservers=8 to get a total of 128 kprocs.
+
+
+
+Examples
+--------
+
+Suppose that /gpfs is a GPFS file system that was formatted with 256K
+blocks and that it has at least a gigabyte of free space.  Assuming that
+the gpfsperf programs have been copied into /gpfs/test, and that
+/gpfs/test is the current directory, the following ksh commands
+illustrate how to run gpfsperf:
+
+# Number of nodes on which the test will run.  If this is increased, the
+# size of the test file should also be increased.
+export MP_PROCS=8
+
+# File containing a list of nodes on which gpfsperf will run.  There are
+# other ways to specify where the test runs besides using an explicit
+# host list.  See the Parallel Operating Environment documentation for
+# details.
+export MP_HOSTFILE=/etc/cluster.nodes
+
+# Name of test file to be manipulated by the tests that follow.
+export fn=/gpfs/test/testfile
+
+# Verify block size
+mmlsfs gpfs -B
+
+# Create test file.  All write tests in these examples specify -fsync, so
+# the reported data rate includes the overhead of flushing all dirty buffers
+# to disk.  The size of the test file should be increased if more than 8
+# nodes are used or if GPFS pagepool sizes have been increased from their
+# defaults.  It may be necessary to increase the maximum size file the user
+# is allowed to create.  See the ulimit command.
+./gpfsperf-mpi create seq $fn -n 999m -r 256k -fsync
+
+# Read entire test file sequentially
+./gpfsperf-mpi read seq $fn -r 256k
+
+# Rewrite test file sequentially using full block writes
+./gpfsperf-mpi write seq $fn -r 256k -fsync
+
+# Rewrite test file sequentially using small writes.  This requires GPFS to
+# read blocks in order to update them, so will have worse performance than
+# the full block rewrite.
+./gpfsperf-mpi write seq $fn -r 64k -fsync
+
+# Strided read using big records
+./gpfsperf-mpi read strided $fn -r 256k
+
+# Strided read using medium sized records.  Performance is worse because
+# average I/O size has gone down.  This behavior will not be seen unless
+# the stride is larger than a block (8*50000 > 256K).
+./gpfsperf-mpi read strided $fn -r 50000
+
+# Strided read using a very large stride.  Reported performance is
+# misleading because each node just reads the same records over and over
+# from its GPFS buffer cache.
+./gpfsperf-mpi read strided $fn -r 50000 -s 2400r
+
+# Strided write using a record size equal to the block size.  Decent
+# performance, since record size matches GPFS lock granularity.
+./gpfsperf-mpi write strided $fn -r 256k -fsync
+
+# Strided write using small records.  Since GPFS lock granularity is
+# larger than a record, performance is much worse.  Number of bytes
+# written is less than the entire file to keep test time reasonable.
+./gpfsperf-mpi write strided $fn -r 10000 -n 100m -fsync
+
+# Strided write using small records and data shipping.  Data shipping
+# trades additional communication overhead for less lock contention,
+# improving performance.
+./gpfsperf-mpi write strided $fn -r 10000 -n 100m -ds -fsync
+
+# Random read of small records
+./gpfsperf-mpi read rand $fn -r 10000 -n 100m
+
+# Random read of small records using the GPFS multiple access range hint.
+# Better performance (assuming more than MP_PROCS disks) because each node
+# has more than one disk read in progress at once due to prefetching.
+./gpfsperf-mpi read randhint $fn -r 10000 -n 100m
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/gpfsperf.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/gpfsperf.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/gpfsperf.c	(revision 16)
@@ -0,0 +1,1967 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 1999,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+
+/* Multinode GPFS performance test program.  Measures aggregate data
+   transfer rate across several nodes for random, strided, or sequential
+   access patterns. */
+
+#ifdef GPFS_LINUX
+/* Use 64 bit version of stat, etc. */
+#define _LARGEFILE_SOURCE
+#define _LARGEFILE64_SOURCE
+#define _FILE_OFFSET_BITS 64
+
+#define PAGE_SIZE 4096
+typedef long long offset_t;
+typedef struct timebasestruct
+{
+  unsigned int tb_high; /* high 32 bits, or seconds */
+  unsigned int tb_low;  /* low 32 bits, or nanoseconds */
+} timebasestruct_t;
+
+void GetTOD(timebasestruct_t *tP);
+#endif
+
+#ifdef GPFS_AIX
+/* Use 64 bit version of stat, etc. */
+#define _LARGE_FILES
+#define _AIX_PTHREADS_D7
+
+#define GetTOD(tP) read_real_time((tP),TIMEBASE_SZ)
+#endif
+
+#include <pthread.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/time.h>
+#include <sys/stat.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <assert.h>
+#include <time.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <string.h>
+#include <gpfs_fcntl.h>
+#include "irreg.h"
+#ifndef NO_AIO
+#ifdef GPFS_LINUX
+#define __USE_GNU
+#endif
+#ifdef GPFS_AIX
+#define _AIO_AIX_SOURCE
+#endif
+#include <aio.h>
+#endif
+
+#ifdef MULTI_NODE
+#include <mpi.h>
+#endif
+
+#ifndef O_DIRECT
+#ifdef GPFS_LINUX
+#ifdef GPFS_ARCH_PPC64
+#define O_DIRECT 0400000
+#else
+#define O_DIRECT 040000
+#endif
+#endif
+#ifdef GPFS_AIX
+#define O_DIRECT 0x08000000
+#endif
+#endif
+
+#ifdef GPFS_LINUX
+#define CONST const
+#define RANDRET_T int32_t
+#define RANDOM_R(_r,_s) random_r(_s,_r);
+#define INITSTATE_R(_sd,_st,_sz,_rp,_rrs) initstate_r(_sd,_st,_sz,_rrs)
+#define SETSTATE_R(_rs,_rp,_rrs) setstate_r(_rs,_rrs)
+
+#define AIO_READ(_h,_p) aio_read(_p)
+#define AIO_WRITE(_h,_p) aio_write(_p)
+#define AIO_SUSPEND(_n,_p) aio_suspend(_p, _n, NULL)
+#define AIO_RETURN(_p) aio_return(&(_p))
+#define AIO_ERROR(_p) aio_error(&(_p))
+struct aioinit st_aioinit;
+#endif
+#ifdef GPFS_AIX
+#define CONST
+#define RANDRET_T long
+#define RANDOM_R(_r,_s) random_r(_r,_s);
+#define INITSTATE_R(_sd,_st,_sz,_rp,_rrs) initstate_r(_sd,_st,_sz,_rp,_rrs)
+#define SETSTATE_R(_rs,_rp,_rrs) setstate_r(_rs,_rp,_rrs)
+
+#define AIO_READ(_h,_p) aio_read(_h,_p)
+#define AIO_WRITE(_h,_p) aio_write(_h,_p)
+#define AIO_SUSPEND(_n,_p) aio_suspend(_n,_p)
+#define AIO_RETURN(_p) aio_return((_p).aio_handle)
+#define AIO_ERROR(_p) aio_error((_p).aio_handle)
+#endif
+
+/* Useful data types */
+typedef unsigned int Boolean;
+#define true 1
+#define false 0
+typedef long long Int64;
+
+/* Process rank within job */
+int ProcNum = -1;
+
+/* Total number of processes in job */
+int NProcs = -1;
+
+/* Input parameters specified on command line */
+enum { NoTest, CreateTest, WriteTest, ReadTest, UncacheTest } TestType = NoTest;
+enum
+{
+  NoPattern, RandPattern, RandPatternWithHint, StridedPattern, SeqPattern
+} TestPattern = NoPattern;
+Boolean LabelledOutput = true;
+int RecordSize = -1;
+Int64 BytesToTransfer = -1;
+Int64 Stride = 0;
+int NThreadsPerProcess = 1;
+Boolean DoInvalidate = true;
+Boolean UseDataShipping = false;
+Boolean UseDirectIO = false;
+Boolean UseSharedMem = false;
+Boolean UseOsync = false;
+Boolean DoFsync = false;
+Boolean CycleData = true;
+Boolean TaskTimes = false;
+char* FileNameP = NULL;
+int Verbosity = 0;
+int DoFreeAll = false;
+Boolean UseAsyncIO = false;
+int AIODepth = 0;
+
+/* Maximum number of threads allowed */
+#define MAX_THREADS 64
+
+/* Values derived from input parameters */
+Int64 RecordsInFile = -1;
+Int64 RecordsToTransfer = -1;
+
+/* Parameter passed to worker threads */
+struct ThreadParm
+{
+  /* For sequential and strided access, define the range of record
+     numbers that will be accessed by this thread.  The first record to
+     be accessed is given by startRecordNum.  If the range from
+     startRecordNum to maxRecordNum is smaller than the number of
+     records to be processed by this thread, the thread will cycle
+     through the set of records from restartRecordNum to maxRecordNum as
+     many times as is necessary to process the required number of
+     records.  Not used for random access patterns. */
+  Int64 startRecordNum;
+  Int64 restartRecordNum;
+  Int64 maxRecordNum;
+
+  /* Number of records to be processed by this thread */
+  Int64 nRecords;
+
+  /* Buffer address (possibly not page-aligned) */
+  char *origbufP;
+
+  /* Page-aligned buffer of size RecordSize to be used by this thread */
+  char* bufP;
+
+  /* Shared memory ID for buffer if using -shm option */
+  int shmid;
+
+  /* Index of this entry */
+  int threadIndex;
+
+  /* Number of seconds spent by this thread from before the first read or
+     write until after the last read or write, not counting the file open
+     or close. */
+  double xferInterval;
+} ParmArray[MAX_THREADS];
+
+/* Maximum size of a batch of prefetch requests given to the
+   PrefetchedIrregularXfer class at one time */
+#define MAX_PREFETCHES 1024
+
+
+/* Print usage message only on process 0, then exit */
+void Usage()
+{
+  if (ProcNum == 0)
+    fprintf(stderr,
+            "\nUsage: gpfsperf operation pattern fn [options]\n"
+              "  operations:\n"
+              "    read         - read from the file fn\n"
+              "    write        - write to the file fn\n"
+              "    create       - create fn if it does not exist, then do a write test\n"
+              "    uncache      - remove cached blocks of fn from buffer pool, then exit\n"
+              "  access patterns\n"
+              "    rand         - access random records\n"
+              "    randhint     - access random records, but use GPFS multiple access range\n"
+              "                   hint\n"
+              "    strided      - access records according to a non-overlapped strided\n"
+              "                   pattern\n"
+              "    seq          - access records sequentially\n"
+              "  fn             - name of file to be accessed\n"
+              "  options can be:\n"
+              "    -nolabels    - produce a single line of output containing all parameters\n"
+              "                   and the measured data rate.  Format of the output line is\n"
+              "                   'op pattern fn recordSize nBytes fileSize nProcs nThreads \n"
+              "                     strideRecs inv ds dio shm fsync reltoken aio osync rate util'\n"
+              "                   (default is to produce multi-line labelled output)\n"
+              "    -r recsize   - record size (defaults to filesystem block size)\n"
+              "    -n nBytes    - number of bytes to transfer (defaults to file size)\n"
+              "    -s stride    - number of bytes between successive accesses by the\n"
+              "                   same thread.  Only meaningful for strided access patterns.\n"
+              "                   Must be a multiple of the record size.\n"
+              "                   Default is number of threads times number of processes.\n"
+              "    -th nThreads - number of threads per process (defaults to 1)\n"
+              "    -noinv       - do not clear blocks of fn from the GPFS file cache before\n"
+              "                   starting the test (default is to clear the cache)\n"
+              "    -ds          - use GPFS data shipping (default is not to use data\n"
+              "                   shipping)\n"
+              "    -aio depth   - use Asynch I/O, prefetching to depth (default 0, max 1000)\n"
+              "    -dio         - use direct I/O (default is not to use direct I/O)\n"
+              "    -shm         - use shared memory buffer, with pinned large pages if\n"
+              "                   possible (default is not to use shared memory buffer)\n"
+              "    -reltoken    - release byte range token after open\n"
+              "    -fsync       - fsync the file at the conclusion of a write or create test\n"
+              "                   to insure that no dirty data remain buffered (default is\n"
+              "                   not to fsync the file)\n"
+              "    -nocycle     - for the seq access pattern when -n is larger than\n"
+              "                   filesize / number-of-threads, read the entire file on each\n"
+              "                   node rather than repeatedly reading the same segment of\n"
+              "                   the file\n"
+              "    -tTimes      - print detailed task times\n"
+              "    -v           - verbose tracing\n"
+              "    -V           - very verbose tracing\n"
+              "\n"
+              "  Numbers can be given using K, M, G, or T suffixes, in either case, to\n"
+              "  denote 2**10, 2**20, 2**30, or 2**40, respectively, or can have an R\n"
+              "  suffix to denote a multiple of the record size.\n"
+              "\n"
+              "  Reported data rate is in units of 1000 bytes/second.\n");
+  exit(1);
+}
+
+
+/* Convert a string to a number.  The string may contain yy* prefixes and
+   suffixes K, M, G, or T in either case.  The suffix r or R is interpreted
+   as the record size as input by the -r parameter.  It is an error to use
+   an R suffix if the -r parameter has not already appeared. */
+long long GetNum(const char* p)
+{
+  Int64 sign = +1;
+  Int64 num = 0;
+  const char* saveP = p;
+
+  if (*p == '-')
+  {
+    sign = -1;
+    p += 1;
+  }
+  while (isdigit(*p))
+  {
+    num = 10*num + (*p)-'0';
+    p += 1;
+  }
+  num *= sign;
+
+  switch (*p)
+  {
+    case '\0':
+      return num;
+
+    case '*':
+      return num * GetNum(p+1);
+
+    case '-':
+      return num - GetNum(p+1);
+
+    case '+':
+      return num + GetNum(p+1);
+
+    case 'k':
+    case 'K':
+      return 1024LL * num;
+
+    case 'm':
+    case 'M':
+      return 1024LL * 1024LL * num;
+
+    case 'g':
+    case 'G':
+      return 1024LL * 1024LL * 1024LL * num;
+
+    case 't':
+    case 'T':
+      return 1024LL * 1024LL * 1024LL * 1024LL * num;
+
+    case 'r':
+    case 'R':
+      if (RecordSize == -1)
+      {
+        fprintf(stderr, "Cannot use suffix R before -r parameter\n");
+        exit(1);
+      }
+      return (Int64)RecordSize * num;
+
+    default:
+      fprintf(stderr, "Invalid number %s\n", saveP);
+      exit(1);
+  }
+  return 0;  /* eliminate compiler warning */
+}
+
+
+/* Convert a long integer to a string with a size suffix.  For example,
+   2048 displays as 2K. */
+char* int64ToString(Int64 in, char* bufP)
+{
+  Int64 K = 1024LL;
+  Int64 M = 1024LL*1024LL;
+  Int64 G = 1024LL*1024LL*1024LL;
+
+  if ((in % G) == 0)
+    sprintf(bufP, "%lldG", in/G);
+  else if ((in % M) == 0)
+    sprintf(bufP, "%lldM", in/M);
+  else if ((in % K) == 0)
+    sprintf(bufP, "%lldK", in/K);
+  else
+    sprintf(bufP, "%lld", in);
+  return bufP;
+}
+
+
+/* Verify that a return code is 0.  If it is not, exit the program */
+void CheckRC(int rc, const char* reasonP)
+{
+  if (rc == 0)
+    return;
+  fprintf(stderr, "RC %d from %s, exitting\n", rc, reasonP);
+  exit(1);
+}
+
+
+/* Compute the difference between two timestamps and return it as a
+   floating point number of seconds */
+double deltaTime(timebasestruct_t* startP, timebasestruct_t* stopP)
+{
+  double dStartTime, dStopTime;
+
+#ifdef GPFS_AIX
+  time_base_to_time(startP, TIMEBASE_SZ);
+  time_base_to_time(stopP, TIMEBASE_SZ);
+#endif
+  dStartTime = startP->tb_high + .000000001*startP->tb_low;
+  dStopTime = stopP->tb_high + .000000001*stopP->tb_low;
+  return dStopTime-dStartTime;
+}
+
+
+/* Do a series of random accesses to a file that has already been opened */
+void DoRandTest(int handle, struct ThreadParm * parmP, const char* labelP)
+{
+  timebasestruct_t time;
+  uint seed;
+  struct random_data rState;
+  char randState[256];
+  char* randP;
+  Int64 nRecordsLeft;
+  RANDRET_T randRet;
+  Int64 nextRecordNum;
+  offset_t desiredOffset;
+  offset_t actualOffset;
+  offset_t len;
+
+  /* Set the seed of the random number generator so each thread accesses
+     a different sequence of records */
+  GetTOD(&time);
+  seed = (time.tb_high ^ time.tb_low) + (parmP->threadIndex+1)*getpid();
+  memset(&rState, 0, sizeof(rState));
+
+  INITSTATE_R(seed, randState, sizeof(randState), &randP, &rState);
+  SETSTATE_R(randState, &randP, &rState);
+
+  /* Read or write random records */
+  nRecordsLeft = parmP->nRecords;
+  while (nRecordsLeft > 0)
+  {
+    /* Generate the next record number */
+    RANDOM_R(&randRet, &rState);
+    nextRecordNum = randRet % RecordsInFile;
+
+    /* Seek to the next record */
+    desiredOffset = (offset_t) (nextRecordNum * RecordSize);
+    actualOffset = lseek64(handle, desiredOffset, SEEK_SET);
+    if (actualOffset != desiredOffset)
+    {
+      fprintf(stderr, "Error lseek64'ing to %lld in %s\n",
+              desiredOffset, FileNameP);
+      exit(1);
+    }
+
+    /* Read or write next record */
+    if (Verbosity >= 2)
+      printf(" th %d: %s record %lld\n",
+             parmP->threadIndex, labelP, nextRecordNum);
+    if (TestType == ReadTest)
+      len = read(handle, parmP->bufP, RecordSize);
+    else
+      len = write(handle, parmP->bufP, RecordSize);
+    if (len != RecordSize)
+    {
+      fprintf(stderr, "Wrong length in %s: %lld\n", labelP, len);
+      exit(1);
+    }
+
+    /* Decrement number of records remaining and loop */
+    nRecordsLeft -= 1;
+  }
+
+}
+
+
+/* Do a series of random accesses to a file that has already been opened.
+   Before each group of accesses, issue a GPFS multiple access range hint
+   so GPFS can prefetch blocks before they are needed. */
+void DoRandTestWithHint(int handle, struct ThreadParm * parmP, const char* labelP)
+{
+  struct pixAccDesc * accP;
+  struct PrefetchedIrregularXfer x;
+  timebasestruct_t time;
+  uint seed;
+  struct random_data rState;
+  char randState[256];
+  char* randP;
+  Int64 nRecordsLeft;
+  int nRecordsInChunk;
+  int i;
+  RANDRET_T randRet;
+  Int64 nextRecordNum;
+  int rc;
+  int nBytes;
+
+  /* Allocate space to describe a batch of random accesses */
+  accP = (struct pixAccDesc *)malloc(MAX_PREFETCHES*sizeof(struct pixAccDesc));
+  if (accP == NULL)
+  {
+    fprintf(stderr, "Cannot allocate access descriptors\n");
+    exit(1);
+  }
+
+  /* Initialize the PrefetchedIrregularXfer state */
+  pixInit(&x);
+
+  /* Turn on tracing in the PrefetchedIrregularXfer class according to
+     the -v flag */
+  if (Verbosity >= 2)
+    pixSetTraceLevel(&x, 1);
+
+  /* Set the seed of the random number generator so each thread accesses
+     a different sequence of records */
+  GetTOD(&time);
+  seed = (time.tb_high ^ time.tb_low) + (parmP->threadIndex+1)*getpid();
+  memset(&rState, 0, sizeof(rState));
+
+  INITSTATE_R(seed, randState, sizeof(randState), &randP, &rState);
+  SETSTATE_R(randState, &randP, &rState);
+
+  /* Read or write random records */
+  nRecordsLeft = parmP->nRecords;
+  while (nRecordsLeft > 0)
+  {
+    /* Generate the next batch of record numbers */
+    if (nRecordsLeft >= MAX_PREFETCHES)
+      nRecordsInChunk = MAX_PREFETCHES;
+    else
+      nRecordsInChunk = nRecordsLeft;
+    for (i=0; i<nRecordsInChunk; i++)
+    {
+      RANDOM_R(&randRet, &rState);
+      nextRecordNum = randRet % RecordsInFile;
+      accP[i].off = (Int64)nextRecordNum * (Int64)RecordSize;
+      accP[i].len = RecordSize;
+    }
+
+    /* Give the list of future accesses to the PrefetchedIrregularXfer object
+       so it can begin issuing GPFS multiple access range hints to prefetch
+       the data that will be needed */
+    rc = pixDeclareAccesses(&x, handle, TestType!=ReadTest, nRecordsInChunk, accP);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error %d from declareAccesses\n", rc);
+      exit(1);
+    }
+
+    /* Perform all of the reads or writes in the current chunk */
+    for (i=0; i<nRecordsInChunk; i++)
+    {
+      rc = pixXfer(&x, parmP->bufP, &nBytes);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Error %d from xfer %d\n", rc, i);
+        exit(1);
+      }
+      if (nBytes != RecordSize)
+      {
+        fprintf(stderr, "xfer %d moved %d bytes instead of %d\n",
+                i, nBytes, RecordSize);
+        exit(1);
+      }
+    }
+
+    /* Decrement number of records remaining and loop */
+    nRecordsLeft -= nRecordsInChunk;
+  }
+
+  /* Clean up PrefetchedIrregularXfer object, free any prefetched records,
+     and free storage for access descriptions */
+  pixTerm(&x);
+  free(accP);
+}
+
+
+/* Set a MAR for a file on this node. */
+void FreeAllRanges(int handle)
+{
+  struct
+  {
+    gpfsFcntlHeader_t hdr;
+    gpfsFreeRange_t fr;
+  } freeHint;
+  int rc;
+
+  /* Issue the free range hint */
+  freeHint.hdr.totalLength = sizeof(freeHint);
+  freeHint.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION;
+  freeHint.hdr.fcntlReserved = 0;
+  freeHint.fr.structLen = sizeof(gpfsFreeRange_t);
+  freeHint.fr.structType = GPFS_FREE_RANGE;
+  freeHint.fr.start = 0;
+  freeHint.fr.length = 0;
+  rc = gpfs_fcntl(handle, &freeHint);
+  if (rc != 0)
+  {
+    fprintf(stderr, "gpfs_fcntl free range hint failed for file '%s'. "
+              "errno=%d errorOffset=%d\n",
+            FileNameP, errno, freeHint.hdr.errorOffset);
+    exit(1);
+  }
+}
+
+
+/* Set a MAR for a file on this node. */
+void MARange(int handle, offset_t blockNumber, offset_t startoff,
+             offset_t blkLen, Boolean isWrite)
+{
+  struct
+  {
+    gpfsFcntlHeader_t hdr;
+    gpfsMultipleAccessRange_t marh;
+  } accHint;
+  int rc;
+
+  /* Issue the access range hint */
+  accHint.hdr.totalLength = sizeof(accHint);
+  accHint.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION;
+  accHint.hdr.fcntlReserved = 0;
+  accHint.marh.structLen = sizeof(accHint.marh);
+  accHint.marh.structType = GPFS_MULTIPLE_ACCESS_RANGE;
+  accHint.marh.accRangeCnt = 1;
+  accHint.marh.relRangeCnt = 0;
+  accHint.marh.accRangeArray[0].blockNumber = blockNumber;
+  accHint.marh.accRangeArray[0].start = startoff;
+  accHint.marh.accRangeArray[0].length = blkLen;
+  accHint.marh.accRangeArray[0].isWrite = isWrite;
+  rc = gpfs_fcntl(handle, &accHint);
+  if (rc != 0)
+  {
+    fprintf(stderr, "gpfs_fcntl access range hint failed for file '%s'. "
+              "errno=%d errorOffset=%d\n",
+            FileNameP, errno, accHint.hdr.errorOffset);
+    exit(1);
+  }
+}
+
+/* Do a series of strided accesses to a file that has already been
+   opened */
+void DoStridedTest(int handle, struct ThreadParm * parmP, const char* labelP)
+{
+  Int64 strideRecords;
+  Int64 nextRecordNum;
+  Int64 maxRecordNum;
+  Int64 nRecordsLeft;
+  offset_t desiredOffset;
+  offset_t actualOffset;
+  offset_t len;
+
+  /* Read or write records according to the strided pattern.  If the end of
+     the file is reached, seek back to the start record. */
+  if (Stride != 0)
+    strideRecords = Stride / RecordSize;
+  else
+    strideRecords = NThreadsPerProcess * NProcs;
+  nextRecordNum = parmP->startRecordNum;
+  maxRecordNum = parmP->maxRecordNum;
+  nRecordsLeft = parmP->nRecords;
+
+  while (nRecordsLeft > 0)
+  {
+    /* Seek to the next record */
+    desiredOffset = (offset_t) (nextRecordNum * RecordSize);
+    actualOffset = lseek64(handle, desiredOffset, SEEK_SET);
+    if (actualOffset != desiredOffset)
+    {
+      fprintf(stderr, "Error lseek64'ing to %lld in %s\n",
+              desiredOffset, FileNameP);
+      exit(1);
+    }
+
+    /* Read or write next record */
+    if (Verbosity >= 2)
+      printf(" th %d: %s record %lld\n",
+             parmP->threadIndex, labelP, nextRecordNum);
+    if (TestType == ReadTest)
+      len = read(handle, parmP->bufP, RecordSize);
+    else
+      len = write(handle, parmP->bufP, RecordSize);
+    if (len != RecordSize)
+    {
+      fprintf(stderr, "Wrong length in %s: %lld\n", labelP, len);
+      exit(1);
+    }
+
+    /* If next record would be outside of the area to be processed by this
+       thread, go back to the beginning of the area */
+    nextRecordNum += strideRecords;
+    if (nextRecordNum > maxRecordNum)
+      nextRecordNum = parmP->restartRecordNum;
+    nRecordsLeft -= 1;
+  }
+}
+
+
+/* Do a series of sequential accesses to a file that has already been
+   opened */
+void DoSeqTest(int handle, struct ThreadParm * parmP, const char* labelP)
+{
+  Int64 nextRecordNum;
+  offset_t desiredOffset;
+  offset_t actualOffset;
+  Int64 maxRecordNum;
+  Int64 nRecordsLeft;
+  offset_t len;
+
+  /* Seek to the beginning of the area that this thread should access */
+  nextRecordNum = parmP->startRecordNum;
+  desiredOffset = (offset_t) (nextRecordNum * RecordSize);
+  actualOffset = lseek64(handle, desiredOffset, SEEK_SET);
+  if (actualOffset != desiredOffset)
+  {
+    fprintf(stderr, "Error lseek64'ing to %lld in %s\n", desiredOffset, FileNameP);
+    exit(1);
+  }
+
+  /* Read or write records sequentially.  If the end of the area to be
+     accessed by this thread is reached, seek back to the beginning of the
+     area. */
+  maxRecordNum = parmP->maxRecordNum;
+  nRecordsLeft = parmP->nRecords;
+  while (nRecordsLeft > 0)
+  {
+    /* Read or write next record */
+    if (Verbosity >= 2)
+      printf(" th %d: %s record %lld\n",
+             parmP->threadIndex, labelP, nextRecordNum);
+    if (TestType == ReadTest)
+      len = read(handle, parmP->bufP, RecordSize);
+    else
+      len = write(handle, parmP->bufP, RecordSize);
+    if (len != RecordSize)
+    {
+      fprintf(stderr, "Wrong length in %s: %lld\n", labelP, len);
+      exit(1);
+    }
+
+    /* If next record would be outside of the area to be processed by this
+       thread, seek back to the beginning of the area */
+    nextRecordNum += 1;
+    if (nextRecordNum > maxRecordNum)
+    {
+      nextRecordNum = parmP->restartRecordNum;
+      desiredOffset = (offset_t) (nextRecordNum * RecordSize);
+      actualOffset = lseek64(handle, desiredOffset, SEEK_SET);
+      if (actualOffset != desiredOffset)
+      {
+        fprintf(stderr, "Error lseek64'ing to %lld in %s\n",
+                desiredOffset, FileNameP);
+        exit(1);
+      }
+    }
+    nRecordsLeft -= 1;
+  }
+}
+
+
+/* Do a series of strided accesses to a file that has already been
+   opened, using AIO interface */
+void DoStridedAIOTest(int handle, struct ThreadParm * parmP, const char* labelP)
+{
+#ifndef NO_AIO
+  Int64 strideRecords;
+  Int64 nextRecordNum;
+  Int64 maxRecordNum;
+  Int64 nRecordsLeft;
+  int len;
+  int i, rc;
+  char *curbufP;
+  int OpIndex, PrefetchIndex;
+  struct aiocb *accP;
+
+  /* Allocate space to describe a batch of accesses */
+  accP = (struct aiocb *)malloc(AIODepth*sizeof(struct aiocb));
+  if (accP == NULL)
+  {
+    fprintf(stderr, "Cannot allocate AIO descriptors\n");
+    exit(1);
+  }
+
+  /* Set pointers to the buffers to be read into */
+  curbufP = parmP->bufP;
+  for (i = 0; i < AIODepth; i++)
+  {
+    accP[i].aio_buf = curbufP;
+    accP[i].aio_nbytes = RecordSize;
+    /*accP[i].aio_offset = 0;     set later */
+    curbufP += RecordSize;
+#ifdef GPFS_AIX
+    accP[i].aio_whence = SEEK_SET;
+    accP[i].aio_flag = 0;        /* not AIO_SIGNAL */
+    accP[i].aio_handle = 0;
+#else
+    accP[i].aio_fildes = handle;
+    accP[i].aio_lio_opcode = 0;
+    accP[i].aio_reqprio = 0;
+    accP[i].aio_sigevent.sigev_notify = SIGEV_NONE;
+#endif
+  }
+
+  /* Read or write records according to the strided pattern.  If the end of
+     the file is reached, seek back to the start record. */
+  if (Stride != 0)
+    strideRecords = Stride / RecordSize;
+  else
+    strideRecords = NThreadsPerProcess * NProcs;
+  nextRecordNum = parmP->startRecordNum;
+
+  maxRecordNum = parmP->maxRecordNum;
+  nRecordsLeft = parmP->nRecords;
+  OpIndex = 0;
+  PrefetchIndex = 0;
+  while (nRecordsLeft > 0)
+  {
+    if (PrefetchIndex >= AIODepth)
+    {
+      CONST struct aiocb *accPP[] = { &accP[OpIndex] };
+      /* All prefetches done, wait for next buffer before starting next
+         prefetch */
+      do
+      {
+        rc = AIO_SUSPEND(1, accPP);
+        if (rc < 0 && errno != EINTR)
+        {
+          fprintf(stderr, "Error %d from aio_suspend %d\n", errno, OpIndex);
+          exit(1);
+        }
+      } while (rc != 0);
+      len = AIO_RETURN(accP[OpIndex]);
+      if (len < 0)
+      {
+        fprintf(stderr, "Error %d from AIO %d\n",
+                AIO_ERROR(accP[OpIndex]), OpIndex);
+        exit(1);
+      }
+      if (len != RecordSize)
+      {
+        fprintf(stderr, "AIO %d moved %d bytes instead of %d\n",
+                OpIndex, len, RecordSize);
+        exit(1);
+      }
+      PrefetchIndex = AIODepth; /* don't overflow PrefetchIndex */
+    }
+
+    /* Read or write next record */
+    accP[OpIndex].aio_offset = (offset_t)nextRecordNum * (offset_t)RecordSize;
+    if (Verbosity >= 2)
+      printf(" th %d: %s record %lld\n",
+             parmP->threadIndex, labelP, nextRecordNum);
+    /* Start the next read or write */
+    do
+    {
+      if (TestType == ReadTest)
+        rc = AIO_READ(handle, &accP[OpIndex]);
+      else
+        rc = AIO_WRITE(handle, &accP[OpIndex]);
+      if (rc < 0)
+      {
+        if (errno != EAGAIN)
+        {
+          fprintf(stderr, "Error %d from aio_read/write %d\n", errno, OpIndex);
+          exit(1);
+        }
+      }
+    } while (rc != 0);
+
+    /* If next record would be outside of the area to be processed by this
+       thread, go back to the beginning of the area */
+    nextRecordNum += strideRecords;
+    if (nextRecordNum > maxRecordNum)
+      nextRecordNum = parmP->restartRecordNum;
+    nRecordsLeft -= 1;
+    OpIndex++;
+    if (OpIndex >= AIODepth) OpIndex = 0;
+    PrefetchIndex++;
+  }
+#endif /* ! NO_AIO */
+}
+
+
+/* Do a series of sequential accesses to a file that has already been
+   opened, using AIO interface */
+void DoSeqAIOTest(int handle, struct ThreadParm * parmP, const char* labelP)
+{
+#ifndef NO_AIO
+  Int64 nextRecordNum;
+  Int64 maxRecordNum;
+  Int64 nRecordsLeft;
+  int len;
+  int i, rc;
+  char *curbufP;
+  int OpIndex, PrefetchIndex;
+  struct aiocb *accP;
+
+  /* Allocate space to describe a batch of accesses */
+  accP = (struct aiocb *)malloc(AIODepth*sizeof(struct aiocb));
+  if (accP == NULL)
+  {
+    fprintf(stderr, "Cannot allocate AIO descriptors\n");
+    exit(1);
+  }
+
+  /* Set pointers to the buffers to be read into */
+  curbufP = parmP->bufP;
+  for (i = 0; i < AIODepth; i++)
+  {
+    accP[i].aio_buf = curbufP;
+    accP[i].aio_nbytes = RecordSize;
+    /*accP[i].aio_offset = 0;     set later */
+    curbufP += RecordSize;
+#ifdef GPFS_AIX
+    accP[i].aio_whence = SEEK_SET;
+    accP[i].aio_flag = 0;        /* not AIO_SIGNAL */
+    accP[i].aio_handle = 0;
+#else
+    accP[i].aio_fildes = handle;
+    accP[i].aio_lio_opcode = 0;
+    accP[i].aio_reqprio = 0;
+    accP[i].aio_sigevent.sigev_notify = SIGEV_NONE;
+#endif
+  }
+
+  /* Seek to the beginning of the area that this thread should access */
+  nextRecordNum = parmP->startRecordNum;
+
+  /* Read or write records sequentially.  If the end of the area to be
+     accessed by this thread is reached, seek back to the beginning of the
+     area. */
+  maxRecordNum = parmP->maxRecordNum;
+  nRecordsLeft = parmP->nRecords;
+  OpIndex = 0;
+  PrefetchIndex = 0;
+  while (nRecordsLeft > 0)
+  {
+    if (PrefetchIndex >= AIODepth)
+    {
+      CONST struct aiocb *accPP[] = { &accP[OpIndex] };
+      /* All prefetches done, wait for next buffer before starting next
+         prefetch */
+      do
+      {
+        rc = AIO_SUSPEND(1, accPP);
+        if (rc < 0 && errno != EINTR)
+        {
+          fprintf(stderr, "Error %d from aio_suspend %d\n", errno, OpIndex);
+          exit(1);
+        }
+      } while (rc != 0);
+      len = AIO_RETURN(accP[OpIndex]);
+      if (len < 0)
+      {
+        fprintf(stderr, "Error %d from AIO %d\n",
+                AIO_ERROR(accP[OpIndex]), OpIndex);
+        exit(1);
+      }
+      if (len != RecordSize)
+      {
+        fprintf(stderr, "AIO %d moved %d bytes instead of %d\n",
+                OpIndex, len, RecordSize);
+        exit(1);
+      }
+      PrefetchIndex = AIODepth; /* don't overflow PrefetchIndex */
+    }
+
+    /* Read or write next record */
+    accP[OpIndex].aio_offset = (offset_t)nextRecordNum * (offset_t)RecordSize;
+    if (Verbosity >= 2)
+      printf(" th %d: %s record %lld\n",
+             parmP->threadIndex, labelP, nextRecordNum);
+    /* Start the next read or write */
+    do
+    {
+      if (TestType == ReadTest)
+        rc = AIO_READ(handle, &accP[OpIndex]);
+      else
+        rc = AIO_WRITE(handle, &accP[OpIndex]);
+      if (rc < 0)
+      {
+        if (errno != EAGAIN)
+        {
+          fprintf(stderr, "Error %d from aio_read/write %d\n", errno, OpIndex);
+          exit(1);
+        }
+      }
+    } while (rc != 0);
+
+    /* If next record would be outside of the area to be processed by this
+       thread, seek back to the beginning of the area */
+    nextRecordNum += 1;
+    if (nextRecordNum > maxRecordNum)
+      nextRecordNum = parmP->restartRecordNum;
+    nRecordsLeft -= 1;
+    OpIndex++;
+    if (OpIndex >= AIODepth) OpIndex = 0;
+    PrefetchIndex++;
+  }
+#endif /* ! NO_AIO */
+}
+
+
+/* Do a series of random accesses to a file that has already been opened.
+   Issue a AIO calls to prefetch blocks before they are needed. */
+void DoRandAIOTest(int handle, struct ThreadParm * parmP, const char* labelP)
+{
+#ifndef NO_AIO
+  timebasestruct_t time;
+  uint seed;
+  struct random_data rState;
+  char randState[256];
+  char* randP;
+  Int64 nRecordsLeft;
+  RANDRET_T randRet;
+  Int64 nextRecordNum;
+  int i, rc;
+  int len;
+  char *curbufP;
+  int OpIndex, PrefetchIndex;
+  struct aiocb *accP;
+
+  /* Allocate space to describe a batch of random accesses */
+  accP = (struct aiocb *)malloc(AIODepth*sizeof(struct aiocb));
+  if (accP == NULL)
+  {
+    fprintf(stderr, "Cannot allocate AIO descriptors\n");
+    exit(1);
+  }
+
+  /* Set pointers to the buffers to be read into */
+  curbufP = parmP->bufP;
+  for (i = 0; i < AIODepth; i++)
+  {
+    accP[i].aio_buf = curbufP;
+    accP[i].aio_nbytes = RecordSize;
+    /*accP[i].aio_offset = 0;     set later */
+    curbufP += RecordSize;
+#ifdef GPFS_AIX
+    accP[i].aio_whence = SEEK_SET;
+    accP[i].aio_flag = 0;        /* not AIO_SIGNAL */
+    accP[i].aio_handle = 0;
+#else
+    accP[i].aio_fildes = handle;
+    accP[i].aio_lio_opcode = 0;
+    accP[i].aio_reqprio = 0;
+    accP[i].aio_sigevent.sigev_notify = SIGEV_NONE;
+#endif
+  }
+
+  /* Set the seed of the random number generator so each thread accesses
+     a different sequence of records */
+  GetTOD(&time);
+  seed = (time.tb_high ^ time.tb_low) + (parmP->threadIndex+1)*getpid();
+  memset(&rState, 0, sizeof(rState));
+
+  INITSTATE_R(seed, randState, sizeof(randState), &randP, &rState);
+  SETSTATE_R(randState, &randP, &rState);
+
+  /* Read or write random records */
+  OpIndex = 0;
+  PrefetchIndex = 0;
+  nRecordsLeft = parmP->nRecords;
+  while (nRecordsLeft > 0)
+  {
+    if (PrefetchIndex >= AIODepth)
+    {
+      CONST struct aiocb *accPP[] = { &accP[OpIndex] };
+      /* All prefetches done, wait for next buffer before starting next
+         prefetch */
+      do
+      {
+        rc = AIO_SUSPEND(1, accPP);
+        if (rc < 0 && errno != EINTR)
+        {
+          fprintf(stderr, "Error %d from aio_suspend %d\n", errno, OpIndex);
+          exit(1);
+        }
+      } while (rc != 0);
+      len = AIO_RETURN(accP[OpIndex]);
+      if (len < 0)
+      {
+        fprintf(stderr, "Error %d from AIO %d\n",
+                AIO_ERROR(accP[OpIndex]), OpIndex);
+        exit(1);
+      }
+      if (len != RecordSize)
+      {
+        fprintf(stderr, "AIO %d moved %d bytes instead of %d\n",
+                OpIndex, len, RecordSize);
+        exit(1);
+      }
+      PrefetchIndex = AIODepth; /* don't overflow PrefetchIndex */
+    }
+
+    /* Generate the next record number */
+    RANDOM_R(&randRet, &rState);
+    nextRecordNum = randRet % RecordsInFile;
+    accP[OpIndex].aio_offset = (Int64)nextRecordNum * (Int64)RecordSize;
+
+    /* Start the next read or write */
+    do
+    {
+      if (TestType == ReadTest)
+        rc = AIO_READ(handle, &accP[OpIndex]);
+      else
+        rc = AIO_WRITE(handle, &accP[OpIndex]);
+      if (rc < 0)
+      {
+        if (errno != EAGAIN)
+        {
+          fprintf(stderr, "Error %d from aio_read/write %d\n", errno, OpIndex);
+          exit(1);
+        }
+      }
+    } while (rc != 0);
+
+    /* Decrement number of records remaining and loop */
+    nRecordsLeft--;
+    OpIndex++;
+    if (OpIndex >= AIODepth) OpIndex = 0;
+    PrefetchIndex++;
+  }
+
+  /* Clean up aiocbs */
+  free(accP);
+#endif /* ! NO_AIO */
+}
+
+
+/* Start up data shipping.  The second parameter is the total number of
+   open instances on all nodes that will be operating on the file.  Must be
+   called for every such instance with the same value of nInsts. */
+void StartDataShipping(int handle, int nInsts)
+{
+  struct
+  {
+    gpfsFcntlHeader_t hdr;
+    gpfsDataShipStart_t start;
+  } dsStart;
+  int rc;
+
+  dsStart.hdr.totalLength = sizeof(dsStart);
+  dsStart.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION;
+  dsStart.hdr.fcntlReserved = 0;
+  dsStart.start.structLen = sizeof(gpfsDataShipStart_t);
+  dsStart.start.structType = GPFS_DATA_SHIP_START;
+  dsStart.start.numInstances = nInsts;
+  dsStart.start.reserved = 0;
+  rc = gpfs_fcntl(handle, &dsStart);
+  if (rc != 0)
+  {
+    fprintf(stderr, "gpfs_fcntl DS start directive failed. "
+              "errno=%d errorOffset=%d\n", errno, dsStart.hdr.errorOffset);
+    exit(1);
+  }
+}
+
+
+/* Shut down data shipping.  Must be called for every handle for which
+   StartDataShipping was called. */
+void StopDataShipping(int handle)
+{
+  struct
+  {
+    gpfsFcntlHeader_t hdr;
+    gpfsDataShipStop_t stop;
+  } dsStop;
+  int rc;
+
+  dsStop.hdr.totalLength = sizeof(dsStop);
+  dsStop.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION;
+  dsStop.hdr.fcntlReserved = 0;
+  dsStop.stop.structLen = sizeof(dsStop.stop);
+  dsStop.stop.structType = GPFS_DATA_SHIP_STOP;
+  rc = gpfs_fcntl(handle, &dsStop);
+  if (rc != 0)
+    printf("gpfs_fcntl DS stop directive failed. errno=%d errorOffset=%d\n",
+           errno, dsStop.hdr.errorOffset);
+}
+
+
+/* Body of one worker thread.  Parameter is the local thread index. */
+void* TestThreadBody(void* parm)
+{
+  long th = (long)parm;
+  struct ThreadParm * parmP= &ParmArray[th];
+  int openFlags;
+  timebasestruct_t afterOpenTime, beforeCloseTime;
+  int handle;
+  char* labelP;
+  int rc;
+
+  /* Dump thread info if verbose tracing enabled */
+  if (Verbosity >= 1)
+    printf("%d: th %d starting startRecordNum %lld restartRecordNum %lld maxRecordNum %lld nRecords %lld\n",
+           ProcNum, parmP->threadIndex, parmP->startRecordNum,
+           parmP->restartRecordNum, parmP->maxRecordNum, parmP->nRecords);
+
+  /* Open the file with the appropriate flags */
+  switch (TestType)
+  {
+    case CreateTest:
+      if (ProcNum == 0)
+        openFlags = O_CREAT | O_WRONLY;
+      else
+        openFlags = O_WRONLY;
+      break;
+
+    case WriteTest:
+      openFlags = O_WRONLY;
+      break;
+
+    case ReadTest:
+      openFlags = O_RDONLY;
+      break;
+
+    default:
+      openFlags = 0;
+      break;
+  }
+  if (UseDirectIO)
+    openFlags |= O_DIRECT;
+  if (UseOsync)
+    openFlags |= O_SYNC;
+#ifdef MULTI_NODE
+  if (TestType == CreateTest)
+  {
+    /* Create file on process 0 node first, then open on the rest */
+    if (ProcNum == 0)
+    {
+      handle = open(FileNameP, openFlags, 0666);
+      if (DoFreeAll)
+        FreeAllRanges(handle);
+    }
+    rc = MPI_Barrier(MPI_COMM_WORLD);
+    CheckRC(rc, "start MPI_Barrier");
+    if (ProcNum != 0)
+      handle = open(FileNameP, openFlags, 0666);
+  }
+  else
+    handle = open(FileNameP, openFlags, 0666);
+#else
+  handle = open(FileNameP, openFlags, 0666);
+#endif
+  if (handle == -1)
+  {
+    fprintf(stderr, "Could not open file %s, errno=%d\n",
+            FileNameP, errno);
+    exit(1);
+  }
+
+  /* Set up data shipping if necessary */
+  if (UseDataShipping)
+    StartDataShipping(handle, NThreadsPerProcess * NProcs);
+
+  /* Capture start timestamp for transfers by this thread */
+  GetTOD(&afterOpenTime);
+
+  /* Read or write the requested number of records according to the correct
+     access pattern */
+  if (TestType == ReadTest)
+    labelP = "read";
+  else
+    labelP = "write";
+  switch (TestPattern)
+  {
+    case RandPattern:
+      if (UseAsyncIO)
+        DoRandAIOTest(handle, parmP, labelP);
+      else
+        DoRandTest(handle, parmP, labelP);
+      break;
+
+    case RandPatternWithHint:
+      DoRandTestWithHint(handle, parmP, labelP);
+      break;
+
+    case StridedPattern:
+      if (UseAsyncIO)
+        DoStridedAIOTest(handle, parmP, labelP);
+      else
+        DoStridedTest(handle, parmP, labelP);
+      break;
+
+    case SeqPattern:
+      if (UseAsyncIO)
+        DoSeqAIOTest(handle, parmP, labelP);
+      else
+        DoSeqTest(handle, parmP, labelP);
+      break;
+
+    default:
+      break;
+  }
+
+  /* Timestamp end of transfers and remember how long the thread ran */
+  GetTOD(&beforeCloseTime);
+  parmP->xferInterval = deltaTime(&afterOpenTime, &beforeCloseTime);
+
+  /* Shut down data shipping if it was in effect */
+  if (UseDataShipping)
+    StopDataShipping(handle);
+
+  /* Close the file and print progress indicator */
+  rc = close(handle);
+  CheckRC(rc, "closing file");
+  if (Verbosity >= 1)
+    printf("%d: th %d finished, did all transfers in %.2f seconds\n",
+           ProcNum, parmP->threadIndex, parmP->xferInterval);
+  pthread_exit(NULL);
+}
+
+
+/* Invalidate all cached data held on behalf of a file on this node. */
+void InvalidateFileCache(char* invFileNameP)
+{
+  int handle;
+  struct
+  {
+    gpfsFcntlHeader_t hdr;
+    gpfsClearFileCache_t inv;
+  } invCacheHint;
+  int rc;
+
+  /* Open the file.  If the open fails, the file cannot be cached. */
+  handle = open(invFileNameP, O_RDONLY, 0);
+  if (handle == -1)
+    return;
+
+  /* Issue the invalidate hint */
+  invCacheHint.hdr.totalLength = sizeof(invCacheHint);
+  invCacheHint.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION;
+  invCacheHint.hdr.fcntlReserved = 0;
+  invCacheHint.inv.structLen = sizeof(gpfsClearFileCache_t);
+  invCacheHint.inv.structType = GPFS_CLEAR_FILE_CACHE;
+  rc = gpfs_fcntl(handle, &invCacheHint);
+  if (rc != 0)
+  {
+    fprintf(stderr, "gpfs_fcntl clear cache hint failed for file '%s'. "
+              "errno=%d errorOffset=%d\n",
+            invFileNameP, errno, invCacheHint.hdr.errorOffset);
+    exit(1);
+  }
+
+  /* Close the file */
+  rc = close(handle);
+  if (rc == -1)
+  {
+    fprintf(stderr, "Could not close file '%s' after flushing file cache, errno=%d\n",
+            invFileNameP, errno);
+    exit(1);
+  }
+}
+
+
+/* This routine is called at exit to clean up any shared memory segments
+   that might have been created if the UseSharedMem option was selected. */
+static void cleanupSegs()
+{
+  int th;
+  for (th=0; th<NThreadsPerProcess; th++)
+    if (ParmArray[th].shmid >= 0)
+    {
+      shmdt(ParmArray[th].origbufP);
+      shmctl(ParmArray[th].shmid, IPC_RMID, NULL);
+    }
+}
+
+
+/* Main routine */
+int main(int argc, char *argvPP[])
+{
+  int i, j, rc, len;
+  struct stat statBuf;
+  int handle;
+  long th;
+  Int64 baseRecordsPerThreadToXfer;
+  Int64 threadsWithExtraRecordToXfer;
+  Int64 baseRecordsPerThreadInFile;
+  Int64 threadsWithExtraRecordInFile;
+  int gblThreadIndex;
+  char* p;
+  char buf1[32], buf2[32], buf3[32];
+  pthread_t threadIds[MAX_THREADS];
+  pthread_attr_t threadAttr;
+  timebasestruct_t startTime, endTime;
+  double totalSeconds;
+  double threadTimes[MAX_THREADS];
+  double* allXferTimesP = NULL;
+  double totalXferTimes;
+  double threadUtil;
+  double dataRate;
+  double* dP;
+
+  /* Initialize MPI communication */
+#ifdef MULTI_NODE
+  MPI_Init(&argc, &argvPP);
+  MPI_Comm_rank(MPI_COMM_WORLD, &ProcNum);
+  MPI_Comm_size(MPI_COMM_WORLD, &NProcs);
+#else
+  ProcNum = 0;
+  NProcs = 1;
+#endif
+
+  /* Parse arguments */
+  for (i=1; i<argc; i++)
+  {
+    if (strcmp(argvPP[i], "-r") == 0  &&  i+1 < argc)
+    {
+      i += 1;
+      RecordSize = GetNum(argvPP[i]);
+    }
+    else if (strcmp(argvPP[i], "-n") == 0  &&  i+1<argc)
+    {
+      i += 1;
+      BytesToTransfer = GetNum(argvPP[i]);
+    }
+    else if (strcmp(argvPP[i], "-s") == 0  &&  i+1<argc)
+    {
+      i += 1;
+      Stride = GetNum(argvPP[i]);
+    }
+    else if (strcmp(argvPP[i], "-th") == 0  &&  i+1<argc)
+    {
+      i += 1;
+      NThreadsPerProcess = GetNum(argvPP[i]);
+    }
+    else if (strcmp(argvPP[i], "create") == 0)
+      TestType = CreateTest;
+    else if (strcmp(argvPP[i], "write") == 0)
+      TestType = WriteTest;
+    else if (strcmp(argvPP[i], "read") == 0)
+      TestType = ReadTest;
+    else if (strcmp(argvPP[i], "uncache") == 0)
+      TestType = UncacheTest;
+    else if (strcmp(argvPP[i], "rand") == 0)
+      TestPattern = RandPattern;
+    else if (strcmp(argvPP[i], "randhint") == 0)
+      TestPattern = RandPatternWithHint;
+    else if (strcmp(argvPP[i], "strided") == 0)
+      TestPattern = StridedPattern;
+    else if (strcmp(argvPP[i], "seq") == 0)
+      TestPattern = SeqPattern;
+    else if (strcmp(argvPP[i], "-nolabels") == 0)
+      LabelledOutput = false;
+    else if (strcmp(argvPP[i], "-noinv") == 0)
+      DoInvalidate = false;
+    else if (strcmp(argvPP[i], "-ds") == 0)
+      UseDataShipping = true;
+    else if (strcmp(argvPP[i], "-aio") == 0)
+    {
+      i += 1;
+#ifdef NO_AIO
+      fprintf(stderr, "aio option ignored.\n");
+#else
+      AIODepth = GetNum(argvPP[i]);
+      UseAsyncIO = true;
+#endif /* ! NO_AIO */
+    }
+    else if (strcmp(argvPP[i], "-dio") == 0)
+      UseDirectIO = true;
+    else if (strcmp(argvPP[i], "-shm") == 0)
+      UseSharedMem = true;
+    else if (strcmp(argvPP[i], "-reltoken") == 0)
+      DoFreeAll = true;
+    else if (strcmp(argvPP[i], "-fsync") == 0)
+      DoFsync = true;
+    else if (strcmp(argvPP[i], "-nocycle") == 0)
+      CycleData = false;
+    else if (strcmp(argvPP[i], "-tTimes") == 0)
+      TaskTimes = true;
+    else if (strcmp(argvPP[i], "-osync") == 0)
+      UseOsync = true;
+    else if (strcmp(argvPP[i], "-v") == 0)
+      Verbosity = 1;
+    else if (strcmp(argvPP[i], "-V") == 0)
+      Verbosity = 2;
+    else
+    {
+      if (FileNameP == NULL)
+        FileNameP = argvPP[i];
+      else
+      {
+        if (ProcNum == 0)
+          fprintf(stderr, "File name '%s' already specified.\n", FileNameP);
+        exit(1);
+      }
+    }
+  }
+
+  /* Validate arguments */
+  if (FileNameP == NULL)
+  {
+    if (ProcNum == 0)
+      fprintf(stderr, "No file name given\n");
+    Usage();
+  }
+
+  /* Stat the file to compute its size.  If the file will be created by
+     this test, use the size given by the -n parameter. */
+  rc = stat(FileNameP, &statBuf);
+  if (rc == -1)
+  {
+    if (TestType == CreateTest)
+    {
+      statBuf.st_blksize = RecordSize;
+      statBuf.st_size = BytesToTransfer;
+    }
+    else
+    {
+      if (ProcNum == 0)
+        fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+                FileNameP, errno);
+      exit(1);
+    }
+  }
+  if (UseAsyncIO)
+  {
+    if (TestPattern==RandPatternWithHint)
+    {
+      fprintf(stderr, "Cannot use -aio with randhint\n");
+      exit(1);
+    }
+    if (NThreadsPerProcess > 1)
+    {
+      fprintf(stderr, "Multiple threads per process cannot be used with -aio\n");
+      exit(1);
+    }
+    if (AIODepth <= 0 || AIODepth > 1000)
+    {
+      fprintf(stderr, "-aio depth must be greater than 0 and less than 1000\n");
+      exit(1);
+    }
+  }
+
+  /* If the file already exists, issue the GPFS hint that flushes and
+     invalidates all cached data belonging to the file so that each
+     test begins in the same state */
+  if (rc == 0  &&  (DoInvalidate || TestType == UncacheTest))
+  {
+    InvalidateFileCache(FileNameP);
+    if (TestType == UncacheTest)
+    {
+      /* Nothing else to do.  Wait until all processes have reached this
+         point, then exit */
+#ifdef MULTI_NODE
+      rc = MPI_Barrier(MPI_COMM_WORLD);
+      CheckRC(rc, "finish MPI_Barrier");
+#endif
+      if (ProcNum == 0)
+        printf("uncache %s\n", FileNameP);
+#ifdef MULTI_NODE
+      MPI_Finalize();
+#endif
+      return 0;
+    }
+  }
+
+  /* Continue validating arguments after cache invalidation */
+  if (TestType == NoTest)
+  {
+    if (ProcNum == 0)
+      fprintf(stderr, "No test type given\n");
+    Usage();
+  }
+  if (TestPattern == NoPattern)
+  {
+    if (ProcNum == 0)
+      fprintf(stderr, "No access pattern given\n");
+    Usage();
+  }
+  if (Stride != 0  &&
+      TestPattern != StridedPattern)
+  {
+    if (ProcNum == 0)
+      fprintf(stderr, "Cannot specify -s unless access pattern is strided\n");
+    Usage();
+  }
+  if (NThreadsPerProcess <= 0  ||  NThreadsPerProcess > MAX_THREADS)
+  {
+    if (ProcNum == 0)
+      fprintf(stderr, "Invalid number of threads\n");
+    Usage();
+  }
+
+  /* If record size or number of bytes to transfer are not known, use the
+     information from the stat */
+  if (RecordSize == -1)
+    RecordSize = statBuf.st_blksize;
+  if (BytesToTransfer == -1)
+    BytesToTransfer = (Int64)statBuf.st_size;
+
+  /* Make sure that -r and -n are known */
+  if (RecordSize == -1)
+  {
+    if (ProcNum == 0)
+      fprintf(stderr, "Record size not known; use -r option\n");
+    exit(1);
+  }
+  if (BytesToTransfer == -1)
+  {
+    if (ProcNum == 0)
+      fprintf(stderr, "Bytes to transfer not known; use -n option\n");
+    exit(1);
+  }
+
+  /* Make sure -s is legal */
+  if (Stride != 0 &&
+      (Stride%RecordSize) != 0)
+  {
+    if (ProcNum == 0)
+      fprintf(stderr, "Stride must be a multiple of record size\n");
+    exit(1);
+  }
+
+  /* Compute number of records to read and write as well as number of
+     records in the file */
+  RecordsInFile = (Int64)statBuf.st_size / RecordSize;
+  RecordsToTransfer = BytesToTransfer / RecordSize;
+  BytesToTransfer = RecordsToTransfer * RecordSize;
+
+  /* Make sure the file is big enough to allow non-overlapping accesses */
+  if (NThreadsPerProcess*NProcs > RecordsInFile  &&
+      (TestPattern==StridedPattern  ||  TestPattern==SeqPattern))
+  {
+    if (ProcNum == 0)
+      fprintf(stderr, "File too small to allow non-overlapping accesses\n");
+    exit(1);
+  }
+
+  /* If using shared memory, register a routine to clean up segments on exit */
+  if (UseSharedMem)
+  {
+    for (th=0; th<NThreadsPerProcess; th++)
+      ParmArray[th].shmid = -1;
+
+    if (atexit(cleanupSegs) < 0)
+    {
+      fprintf(stderr, "Cannot register exit routine\n");
+      exit(1);
+    }
+  }
+
+  /* Compute parameters for each worker thread, allocate each thread a
+     buffer, and touch all pages of the buffer to avoid page faults after we
+     begin timing.  The calculation of which records are processed by each
+     thread is complicated by the possibility that the number of records in
+     the file and/or the number of records to be processed may not be an
+     integral multiple of the total number of threads.
+       For example, suppose there are 2 threads on each of 3 nodes, there
+     are a total of 14 records in the file, and we wish to process a total
+     of 17 records.  Using a strided access pattern, the records to be
+     processed by each thread are as follows:
+       proc 0 thread 0: 0  6 12
+       proc 0 thread 1: 1  7 13
+       proc 1 thread 0: 2  8  2
+       proc 1 thread 1: 3  9  3
+       proc 2 thread 0: 4 10  4
+       proc 2 thread 1: 5 11
+     Under the same assumptions, a sequential access pattern would do the
+     following accesses:
+       proc 0 thread 0:  0  1  2
+       proc 0 thread 1:  3  4  5
+       proc 1 thread 0:  6  7  6
+       proc 1 thread 1:  8  9  8
+       proc 2 thread 0: 10 11 10
+       proc 2 thread 1: 12 13
+   */
+  baseRecordsPerThreadToXfer = RecordsToTransfer / (NThreadsPerProcess*NProcs);
+  threadsWithExtraRecordToXfer = RecordsToTransfer -
+                           (baseRecordsPerThreadToXfer*NThreadsPerProcess*NProcs);
+  baseRecordsPerThreadInFile = RecordsInFile / (NThreadsPerProcess*NProcs);
+  threadsWithExtraRecordInFile = RecordsInFile -
+                           (baseRecordsPerThreadInFile*NThreadsPerProcess*NProcs);
+  for (th=0; th<NThreadsPerProcess; th++)
+  {
+    gblThreadIndex = ProcNum*NThreadsPerProcess + th;
+    ParmArray[th].nRecords = baseRecordsPerThreadToXfer;
+    if (gblThreadIndex < threadsWithExtraRecordToXfer)
+      ParmArray[th].nRecords += 1;
+    if (TestPattern == StridedPattern)
+    {
+      ParmArray[th].startRecordNum = gblThreadIndex;
+      ParmArray[th].restartRecordNum = gblThreadIndex;
+      ParmArray[th].maxRecordNum = RecordsInFile - 1;
+    }
+    else if (TestPattern == SeqPattern)
+    {
+      if (gblThreadIndex < threadsWithExtraRecordInFile)
+        ParmArray[th].startRecordNum = gblThreadIndex *
+                                       (baseRecordsPerThreadInFile+1);
+      else
+        ParmArray[th].startRecordNum = gblThreadIndex*baseRecordsPerThreadInFile +
+                                       threadsWithExtraRecordInFile;
+      if (CycleData)
+      {
+        ParmArray[th].restartRecordNum = ParmArray[th].startRecordNum;
+        ParmArray[th].maxRecordNum = ParmArray[th].startRecordNum +
+                                     baseRecordsPerThreadInFile - 1;
+        if (gblThreadIndex < threadsWithExtraRecordInFile)
+          ParmArray[th].maxRecordNum += 1;
+      }
+      else
+      {
+        ParmArray[th].restartRecordNum = 0;
+        ParmArray[th].maxRecordNum = RecordsInFile - 1;
+      }
+    }
+    else  /* random */
+    {
+      ParmArray[th].startRecordNum = 0;
+      ParmArray[th].restartRecordNum = 0;
+      ParmArray[th].maxRecordNum = RecordsInFile - 1;
+    }
+
+    len = RecordSize;
+    if (UseAsyncIO)
+      len *= AIODepth;
+    len += PAGE_SIZE;
+
+    if (UseSharedMem)
+    {
+      int shmid = shmget(IPC_PRIVATE, len, IPC_CREAT | S_IRUSR | S_IWUSR
+#ifdef GPFS_AIX
+                          | SHM_LGPAGE | SHM_PIN
+#endif
+                         );
+      if (shmid < 0)
+      {
+        fprintf(stderr, "Cannot allocate shared memory buffer for thread %d, errno %d\n",
+                gblThreadIndex, errno);
+        exit(1);
+      }
+      p = (char *)shmat(shmid, 0, 0);
+      if (p == (char *)-1)
+      {
+        fprintf(stderr, "Cannot attach shared memory buffer for thread %d, errno %d\n",
+                gblThreadIndex, errno);
+        shmctl(shmid, IPC_RMID, NULL);
+        exit(1);
+      }
+      ParmArray[th].shmid = shmid;
+    }
+    else
+    {
+      p = (char*) malloc(len);
+      if (p == NULL)
+      {
+        fprintf(stderr, "Cannot allocate buffer for thread %d\n", gblThreadIndex);
+        exit(1);
+      }
+    }
+    ParmArray[th].origbufP = p;
+    ParmArray[th].bufP = (char*)(((ulong)p + PAGE_SIZE - 1) & ~(PAGE_SIZE-1));
+    memset(ParmArray[th].bufP, (char)gblThreadIndex, RecordSize);
+    ParmArray[th].threadIndex = th;
+  }
+
+  if (UseAsyncIO)
+  {
+#ifdef GPFS_LINUX
+#ifndef NO_AIO
+    memset(&st_aioinit, '\0', sizeof(st_aioinit));
+    st_aioinit.aio_threads = AIODepth;
+    st_aioinit.aio_num = AIODepth;
+    st_aioinit.aio_idle_time = 10;
+    aio_init(&st_aioinit);
+#endif
+#endif
+  }
+
+  /* Print message describing test */
+  if (LabelledOutput  &&
+      ProcNum == 0)
+  {
+    printf("%s %s %s %s\n",
+           argvPP[0],
+           TestType==CreateTest ? "create" :
+             TestType==WriteTest ? "write" :
+             TestType==ReadTest ? "read" :
+             "??",
+           TestPattern==RandPattern ? "rand" :
+             TestPattern==RandPatternWithHint ? "randhint" :
+             TestPattern==StridedPattern ? "strided" :
+             TestPattern==SeqPattern ? "seq" :
+             "??",
+           FileNameP);
+    printf("  recSize %s nBytes %s fileSize %s\n",
+           int64ToString(RecordSize, buf1),
+           int64ToString(BytesToTransfer, buf2),
+           int64ToString((Int64)statBuf.st_size, buf3));
+    printf("  nProcesses %d nThreadsPerProcess %d\n",
+           NProcs,
+           NThreadsPerProcess);
+    if (TestPattern == StridedPattern  &&
+        Stride != 0)
+      printf("  stride %lld records\n", Stride/RecordSize);
+    printf("  file cache %sflushed before test\n",
+           DoInvalidate ? "" : "not ");
+    printf("  %susing data shipping\n",
+           UseDataShipping ? "" : "not ");
+    printf("  %susing direct I/O\n",
+           UseDirectIO ? "" : "not ");
+    printf("  offsets accessed will%s cycle through the same file segment\n",
+           CycleData ? "" : " not");
+    printf("  %susing shared memory buffer\n",
+           UseSharedMem ? "" : "not ");
+    if (UseOsync)
+      printf("  using O_SYNC option\n");
+    if (UseAsyncIO)
+      printf("  using AIO to depth %d\n", AIODepth);
+    printf("  %sreleasing byte-range token after open\n",
+           DoFreeAll ? "" : "not ");
+    if (TestType != ReadTest)
+      printf("  %sfsync at end of test\n",
+             DoFsync ? "" : "no ");
+  }
+
+#ifdef MULTI_NODE
+  /* Synchronize all processes before continuing */
+  rc = MPI_Barrier(MPI_COMM_WORLD);
+  CheckRC(rc, "start MPI_Barrier");
+#endif
+
+  /* Get start time */
+  GetTOD(&startTime);
+
+#ifdef MULTI_NODE
+  /* Insure that no process does any work until after the master gets the
+     start timestamp */
+  rc = MPI_Barrier(MPI_COMM_WORLD);
+  CheckRC(rc, "startTime MPI_Barrier");
+#endif
+
+  /* Fork off worker threads, then wait for them all to finish */
+  pthread_attr_init(&threadAttr);
+  pthread_attr_setdetachstate(&threadAttr, PTHREAD_CREATE_JOINABLE);
+  for (th=0; th<NThreadsPerProcess; th++)
+  {
+    rc = pthread_create(&threadIds[th], &threadAttr, TestThreadBody,
+                        (void *)th);
+    CheckRC(rc, "pthread_create");
+  }
+  for (th=0; th<NThreadsPerProcess; th++)
+  {
+    rc = pthread_join(threadIds[th], NULL);
+    CheckRC(rc, "pthread_join");
+  }
+
+#ifdef MULTI_NODE
+  /* Synchronize all processes (wait for all threads on all nodes to
+     finish) */
+  rc = MPI_Barrier(MPI_COMM_WORLD);
+  CheckRC(rc, "finish MPI_Barrier");
+#endif
+
+  /* Flush the file to disk if -fsync option was given and this test may
+     have changed the file.  On version 1.3 of GPFS and later, this only
+     needs to be done by one process, since fsync by one node flushes the
+     file globally.  Earlier versions of GPFS must perform the fsync on all
+     nodes to insure that all data and metadata have been written to disk.
+     The file has already been closed by the threads on this node, so we
+     need to reopen the file just to do the fsync. */
+  if (DoFsync  &&
+      ProcNum == 0  &&
+      TestType != ReadTest)
+  {
+    handle = open(FileNameP, O_WRONLY, 0666);
+    if (handle == -1)
+    {
+      fprintf(stderr, "Could not open file '%s' to fsync it, errno=%d\n",
+              FileNameP, errno);
+      exit(1);
+    }
+    rc = fsync(handle);
+    if (rc == -1)
+    {
+      fprintf(stderr, "Error %d from fsync\n", errno);
+      exit(1);
+    }
+    rc = close(handle);
+    if (rc == -1)
+    {
+      fprintf(stderr, "Could not close file '%s' after fsync, errno=%d\n",
+              FileNameP, errno);
+      exit(1);
+    }
+  }
+#ifdef MULTI_NODE
+  if (DoFsync  &&  TestType != ReadTest)
+  {
+    rc = MPI_Barrier(MPI_COMM_WORLD);
+    CheckRC(rc, "fsync MPI_Barrier");
+  }
+#endif
+
+  /* Get stop time and compute test interval */
+  GetTOD(&endTime);
+  totalSeconds = deltaTime(&startTime, &endTime);
+  if (Verbosity >= 1)
+    printf("%d: totalSeconds %f\n", ProcNum, totalSeconds);
+
+  /* Thread utilization or efficiency: we would like to know if all threads
+     took the same amount of time or if some threads finished significantly
+     before others.  For example, suppose the test involved 4 threads and
+     ran for a total of 10 seconds.  If all four threads required the full
+     10 seconds to do all of their reads or writes, the utilization would be
+     (10+10+10+10)/(4*10) = 1.000.  On the other hand, if 3 of the threads
+     took 4 seconds each and the last one took 9 seconds, the utilization
+     would be (4+4+4+9)/(4*10) = 0.525.  Gather the thread run time
+     information from all processes to process 0. */
+  for (th=0; th<NThreadsPerProcess; th++)
+    threadTimes[th] = ParmArray[th].xferInterval;
+  if (ProcNum == 0)
+    allXferTimesP = (double*)malloc(NProcs*NThreadsPerProcess*sizeof(double));
+#ifdef MULTI_NODE
+  rc = MPI_Gather((void*)threadTimes, NThreadsPerProcess*sizeof(double), MPI_BYTE,
+                  (void*)allXferTimesP, NThreadsPerProcess*sizeof(double), MPI_BYTE,
+                  0, MPI_COMM_WORLD);
+  CheckRC(rc, "MPI_Gather");
+#else
+  for (i=0; i<NThreadsPerProcess; i++)
+    allXferTimesP[i] = threadTimes[i];
+#endif
+
+  if (ProcNum == 0)
+  {
+    /* Compute the thread utilization according to the definition above */
+    totalXferTimes = 0.0;
+    for (i=0; i<NProcs*NThreadsPerProcess; i++)
+      totalXferTimes += allXferTimesP[i];
+    threadUtil = totalXferTimes / (NProcs*NThreadsPerProcess*totalSeconds);
+
+    /* Print detailed task and thread times */
+    if (TaskTimes)
+    {
+      printf("\n    Task times\n");
+      printf("      task   thd     time   fract\n");
+      dP = allXferTimesP;
+      for (i=0; i<NProcs; i++)
+        for (j=0; j<NThreadsPerProcess; j++)
+        {
+          printf("     %5d %5d %8.2f   %5.3f\n",
+                 i, j, *dP, *dP/totalSeconds);
+          dP += 1;
+        }
+    }
+
+    /* Compute data rate and print results */
+    dataRate = (BytesToTransfer / totalSeconds) / 1000.0;
+    if (LabelledOutput)
+      printf("    Data rate was %.2f Kbytes/sec, thread utilization %.3f\n",
+             dataRate, threadUtil);
+    else
+      printf("%s %s %s %d %lld %lld %d %d %lld %d %d %d %d %d %d %d %d %d %.2f %.3f\n",
+             TestType==CreateTest ? "create" :
+               TestType==WriteTest ? "write" :
+               TestType==ReadTest ? "read" :
+               "??",
+             TestPattern==RandPattern ? "rand" :
+               TestPattern==RandPatternWithHint ? "randhint" :
+               TestPattern==StridedPattern ? "strided" :
+               TestPattern==SeqPattern ? "seq" :
+               "??",
+             FileNameP,
+             RecordSize,
+             BytesToTransfer,
+             (Int64)statBuf.st_size,
+             NProcs,
+             NThreadsPerProcess,
+             Stride/RecordSize,
+             DoInvalidate,
+             UseDataShipping,
+             UseDirectIO,
+             UseSharedMem,
+             DoFsync,
+             CycleData,
+             DoFreeAll,
+             AIODepth,
+             UseOsync,
+             dataRate,
+             threadUtil);
+
+  }
+
+#ifdef MULTI_NODE
+  /* Terminate MPI */
+  MPI_Finalize();
+#endif
+
+  /* Return success */
+  return 0;
+}
+
+#ifdef GPFS_LINUX
+void
+GetTOD(timebasestruct_t *tP)
+{
+  struct timeval time;
+
+  gettimeofday(&time, NULL);
+  tP->tb_high = time.tv_sec;
+  tP->tb_low = time.tv_usec * 1000;
+}
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/irreg.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/irreg.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/irreg.c	(revision 16)
@@ -0,0 +1,439 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 1999,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+
+/* Implementation of PrefetchedIrregularXfer library.  See irreg.h for
+ * interface details.
+ *
+ * Contents:
+ *   pixReset
+ *   pixInit
+ *   pixDeclareAccesses
+ *   pixXfer
+ *   pixTerm
+ *   pixSetTraceLevel
+ *   pixGenerateBlocks
+ *   pixIssueHint
+ */
+
+#ifdef GPFS_LINUX
+/* Use 64 bit version of stat, etc. */
+#define _LARGEFILE_SOURCE
+#define _LARGEFILE64_SOURCE
+#define _FILE_OFFSET_BITS 64
+
+typedef long long offset_t;
+#endif
+
+#ifdef GPFS_AIX
+/* Use 64 bit version of stat, etc. */
+#define _LARGE_FILES
+#endif
+
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <assert.h>
+#include <errno.h>
+#include <gpfs_fcntl.h>   /* from /usr/lpp/mmfs/include */
+#include <unistd.h>       /* ABSOLUTELY needed for correct lseek64 prototype */
+#include "irreg.h"
+
+
+/* Forward declarations of internal routines */
+void pixGenerateBlocks(struct PrefetchedIrregularXfer * pixP);
+int pixIssueHint(struct PrefetchedIrregularXfer * pixP);
+
+
+/* Internal routine to clear a PrefetchedIrregularXfer struct */
+static void pixReset(struct PrefetchedIrregularXfer * pixP)
+{
+  pixP->fHandle = -1;
+  pixP->blockSize = -1;
+  pixP->isWrite = 0;
+  pixP->accDescP = NULL;
+  pixP->nAccesses = -1;
+  pixP->nextAccessIndex = 0;
+  pixP->nextPrefetchIndex = 0;
+  pixP->oldestAcceptedBlockIndex = 0;
+  pixP->nAcceptedBlockIndices = 0;
+  pixP->nReleaseBlockIndices = 0;
+  pixP->firstPendingBlockIndex = 0;
+  pixP->nPendingBlockIndices = 0;
+  pixP->netBlocksPrefetched = 0;
+}
+
+
+/* Initialize (must be first call) */
+void pixInit(struct PrefetchedIrregularXfer * pixP)
+{
+  pixReset(pixP);
+  pixP->verbosity = 0;
+}
+
+
+/* Declare the sequence of accesses that will be made by subsequent calls
+   to the pixXfer method.  The storage passed in will not be modified by
+   this class, but must not be deallocated by the caller until all pixXfer
+   calls have completed.  Returns an errno value on failure, or 0 if the
+   call is successful.  No access in accDescP may be longer than
+   MAX_ACCESS_BLOCKS times the block size of this file, or else pixXfer will
+   abort the access sequence and return an error. */
+int pixDeclareAccesses(struct PrefetchedIrregularXfer * pixP, int fHandle,
+                       int isWrite, int nAccesses,
+                       const struct pixAccDesc * accDescP)
+{
+  int rc;
+  struct stat statBuf;
+
+  /* Clear any prior prefetches */
+  pixTerm(pixP);
+
+  /* Compute block size of this file */
+  rc = fstat(fHandle, &statBuf);
+  if (rc != 0)
+    return errno;
+
+  /* Set up state for pixXfer() */
+  pixP->fHandle = fHandle;
+  pixP->blockSize = statBuf.st_blksize;
+  pixP->isWrite = isWrite;
+  pixP->accDescP = accDescP;
+  pixP->nAccesses = nAccesses;
+  /* Other fields already set by pixTerm() */
+
+  /* Generate and execute initial prefetches */
+  pixGenerateBlocks(pixP);
+  rc = pixIssueHint(pixP);
+  return rc;
+}
+
+
+/* Perform the next read or write access defined by an earlier call to
+   pixDeclareAccesses.  The buffer is assumed to be large enough to contain
+   the next access from the previously declared list.  Returns an errno
+   value or zero as the function result.  If zero is returned, stores the
+   number of bytes transferred in *nBytesP. */
+int pixXfer(struct PrefetchedIrregularXfer * pixP, caddr_t bufP, int* nBytesP)
+{
+  int len;
+  int nBytesXferred;
+  offset_t desiredOffset;
+  offset_t actualOffset;
+  int rc;
+  offset_t blockNum;
+  int blockOffset;
+  int blockLen;
+  int nBlocks;
+  int blockSlot;
+  int i;
+
+  /* If pixDeclareAccesses has not been called, or if abort has been called,
+     return EINVAL */
+  if (pixP->fHandle == -1)
+    return EINVAL;
+
+  /* If all declared accesses have been completed, it is an error to try
+     to do any more */
+  if (pixP->nextAccessIndex >= pixP->nAccesses)
+  {
+    pixTerm(pixP);
+    return EINVAL;
+  }
+
+  /* If the next access is too big, abort and return an error */
+  len = pixP->accDescP[pixP->nextAccessIndex].len;
+  if (len > MAX_ACCESS_BLOCKS*pixP->blockSize)
+  {
+    return EFBIG;
+  }
+
+  /* Seek to the proper position in the file and read or write the
+     amount of data that was requested */
+  desiredOffset = pixP->accDescP[pixP->nextAccessIndex].off;
+  if (pixP->verbosity >= 1)
+    printf("XFER at %lld(0x%llX) len %d\n",
+           desiredOffset, desiredOffset, len);
+
+  actualOffset = lseek64(pixP->fHandle, desiredOffset, SEEK_SET);
+  if (actualOffset != desiredOffset)
+  {
+    pixTerm(pixP);
+    return EINVAL;
+  }
+  if (pixP->isWrite)
+    nBytesXferred = write(pixP->fHandle, bufP, len);
+  else
+    nBytesXferred = read(pixP->fHandle, bufP, len);
+
+  /* If an error occurred, abort and return the errno value */
+  if (nBytesXferred == -1)
+  {
+    rc = errno;
+    pixTerm(pixP);
+    return rc;
+  }
+  *nBytesP = nBytesXferred;
+
+  /* Mark the blocks spanned by the request just done as releasable.  They
+     must appear in the blockList table as the oldest blocks prefetched
+     and not yet marked releasable. */
+  blockNum = desiredOffset / pixP->blockSize;
+  blockOffset = desiredOffset % pixP->blockSize;
+  nBlocks = (desiredOffset + len - 1)/pixP->blockSize - blockNum + 1;
+  blockSlot = (pixP->oldestAcceptedBlockIndex + pixP->nReleaseBlockIndices) %
+              MAX_BLOCKS;
+  for (i=0; i<nBlocks; i++)
+  {
+    assert(pixP->blockList[blockSlot].blockNumber == blockNum);
+    pixP->nReleaseBlockIndices += 1;
+    blockSlot = (blockSlot+1) % MAX_BLOCKS;
+    blockNum += 1;
+  }
+
+  /* Generate and execute additional prefetches and release blocks that
+     have already been accessed */
+  pixP->nextAccessIndex += 1;
+  pixGenerateBlocks(pixP);
+  rc = pixIssueHint(pixP);
+  return rc;
+}
+
+
+/* Abort pending prefetches and release all prefetched blocks.  Returns
+   the state of the PrefetchedIrregularXfer object to what it was just
+   after calling pixInit(), except that verbosity is not reset. */
+void pixTerm(struct PrefetchedIrregularXfer * pixP)
+{
+  struct
+  {
+    gpfsFcntlHeader_t hdr;
+    gpfsCancelHints_t cancel;
+  } cancelArg;
+
+  /* If pixDeclareAccesses has been called, there may be outstanding hints
+     that need to be cancelled */
+  if (pixP->fHandle != -1)
+  {
+    cancelArg.hdr.totalLength = sizeof(cancelArg);
+    cancelArg.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION;
+    cancelArg.hdr.fcntlReserved = 0;
+    cancelArg.cancel.structLen = sizeof(gpfsCancelHints_t);
+    cancelArg.cancel.structType = GPFS_CANCEL_HINTS;
+    (void)gpfs_fcntl(pixP->fHandle, &cancelArg);
+  }
+
+  /* Clear PrefetchedIrregularXfer object */
+  pixReset(pixP);
+}
+
+
+/* Set trace level.  A value of 0 does no tracing, while higher values
+   trace more stuff. */
+void pixSetTraceLevel(struct PrefetchedIrregularXfer * pixP, int level)
+{
+  pixP->verbosity = level;
+}
+
+
+/* Internal routines */
+
+
+/* Process access descriptions and add entries to blockList for as many
+   complete accesses as possible */
+void pixGenerateBlocks(struct PrefetchedIrregularXfer * pixP)
+{
+  offset_t off;
+  int len;
+  offset_t blockNum;
+  int blockOffset;
+  int blockLen;
+  int nBlocks;
+  int nBlocksFree;
+  int i;
+  int blockSlot;
+
+  while (pixP->nextPrefetchIndex < pixP->nAccesses)
+  {
+    /* Compute how many blocks are touched by the next access in the
+       list */
+    off = pixP->accDescP[pixP->nextPrefetchIndex].off;
+    len = pixP->accDescP[pixP->nextPrefetchIndex].len;
+    blockNum = off / pixP->blockSize;
+    blockOffset = off % pixP->blockSize;
+    nBlocks = (off + len - 1)/pixP->blockSize - blockNum + 1;
+
+    /* If there is not enough room in blockList for all the blocks of this
+       access, give up */
+    /* ?? Notice that this code will not work properly if a really big
+       request (more blocks than there are in blockList) appears in
+       accDescP.  That is the reason for the restriction that no access
+       be longer than MAX_ACCESS_BLOCKS blocks long. */
+    nBlocksFree = MAX_BLOCKS - pixP->nAcceptedBlockIndices -
+                  pixP->nPendingBlockIndices;
+    if (nBlocks > nBlocksFree)
+      break;
+
+    /* Add descriptions of each of the blocks touched by the next access
+       to blockList */
+    blockSlot = (pixP->firstPendingBlockIndex + pixP->nPendingBlockIndices) %
+                MAX_BLOCKS;
+    for (i=0; i<nBlocks; i++)
+    {
+      pixP->blockList[blockSlot].blockNumber = blockNum;
+      pixP->blockList[blockSlot].blkOffset = blockOffset;
+      if (len < pixP->blockSize-blockOffset)
+        blockLen = len;
+      else
+        blockLen = pixP->blockSize - blockOffset;
+      pixP->blockList[blockSlot].blkLen = blockLen;
+      blockSlot = (blockSlot+1) % MAX_BLOCKS;
+      pixP->nPendingBlockIndices += 1;
+      blockNum += 1;
+      blockOffset = 0;
+      len -= blockLen;
+    }
+    pixP->nextPrefetchIndex += 1;
+  }
+}
+
+
+/* Issue as many release/prefetch multiple access range hints as possible
+   from the list of pending block indicies.  Return errno if the hint call
+   fails, otherwise return 0. */
+int pixIssueHint(struct PrefetchedIrregularXfer * pixP)
+{
+  struct
+  {
+    gpfsFcntlHeader_t hdr;
+    gpfsMultipleAccessRange_t marh;
+  } accHint;
+  int i;
+  int blockSlot;
+  int tempNPendingBlockIndices;
+  int nRequestedPrefetches;
+  int nRequestedReleases;
+  int rc;
+  int nActualPrefetches;
+
+  /* Keep making hint calls until not all of the prefetch hints are
+     accepted and there are no more blocks to release */
+  do
+  {
+    /* Add prefetch blocks to hint */
+    blockSlot = pixP->firstPendingBlockIndex;
+    tempNPendingBlockIndices = pixP->nPendingBlockIndices;
+    nRequestedPrefetches = 0;
+    for (i=0; i<GPFS_MAX_RANGE_COUNT; i++)
+    {
+      if (tempNPendingBlockIndices <= 0)
+        break;
+      accHint.marh.accRangeArray[i].blockNumber =
+        pixP->blockList[blockSlot].blockNumber;
+      accHint.marh.accRangeArray[i].start =
+        pixP->blockList[blockSlot].blkOffset;
+      accHint.marh.accRangeArray[i].length =
+        pixP->blockList[blockSlot].blkLen;
+      accHint.marh.accRangeArray[i].isWrite =
+        pixP->isWrite;
+      nRequestedPrefetches += 1;
+      blockSlot = (blockSlot+1) % MAX_BLOCKS;
+      tempNPendingBlockIndices -= 1;
+    }
+    accHint.marh.accRangeCnt = nRequestedPrefetches;
+
+    /* Add list of blocks to be released to the hint */
+    nRequestedReleases = 0;
+    for (i=0; i<GPFS_MAX_RANGE_COUNT; i++)
+    {
+      if (pixP->nReleaseBlockIndices <= 0)
+        break;
+      accHint.marh.relRangeArray[i].blockNumber =
+        pixP->blockList[pixP->oldestAcceptedBlockIndex].blockNumber;
+      accHint.marh.relRangeArray[i].start =
+        pixP->blockList[pixP->oldestAcceptedBlockIndex].blkOffset;
+      accHint.marh.relRangeArray[i].length =
+        pixP->blockList[pixP->oldestAcceptedBlockIndex].blkLen;
+      accHint.marh.relRangeArray[i].isWrite =
+        pixP->isWrite;
+      nRequestedReleases += 1;
+      pixP->oldestAcceptedBlockIndex = (pixP->oldestAcceptedBlockIndex+1) %
+                                       MAX_BLOCKS;
+      pixP->nReleaseBlockIndices -= 1;
+      pixP->nAcceptedBlockIndices -= 1;
+    }
+    accHint.marh.relRangeCnt = nRequestedReleases;
+
+    /* If the hint is empty, return without doing anything */
+    if (nRequestedPrefetches == 0  &&  nRequestedReleases == 0)
+      return 0;
+
+    /* Finish filling in the hint, then issue it to GPFS */
+    accHint.hdr.totalLength = sizeof(accHint);
+    accHint.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION;
+    accHint.hdr.fcntlReserved = 0;
+    accHint.marh.structLen = sizeof(accHint.marh);
+    accHint.marh.structType = GPFS_MULTIPLE_ACCESS_RANGE;
+
+    if (pixP->verbosity >= 2)
+    {
+      printf("Requesting %d blocks:\n", accHint.marh.accRangeCnt);
+      for (i=0; i<accHint.marh.accRangeCnt; i++)
+        printf("  block %lld(0x%llX) offset %d len %d\n",
+               accHint.marh.accRangeArray[i].blockNumber,
+               accHint.marh.accRangeArray[i].blockNumber,
+               accHint.marh.accRangeArray[i].start,
+               accHint.marh.accRangeArray[i].length);
+      printf("Releasing %d blocks:\n", accHint.marh.relRangeCnt);
+      for (i=0; i<accHint.marh.relRangeCnt; i++)
+        printf("  block %lld(0x%llX) offset %d len %d\n",
+               accHint.marh.relRangeArray[i].blockNumber,
+               accHint.marh.relRangeArray[i].blockNumber,
+               accHint.marh.relRangeArray[i].start,
+               accHint.marh.relRangeArray[i].length);
+    }
+
+    rc = gpfs_fcntl(pixP->fHandle, &accHint);
+
+    /* If the hint was unsuccessful, clean up and return errno */
+    if (rc != 0)
+    {
+      rc = errno;
+      pixTerm(pixP);
+      return rc;
+    }
+
+    pixP->netBlocksPrefetched += accHint.marh.accRangeCnt - nRequestedReleases;
+    if (pixP->verbosity >= 1)
+      printf("Released %d blocks.  Prefetched %d of %d requested.  "
+               "Net prefetches now %d.\n",
+             nRequestedReleases, accHint.marh.accRangeCnt,
+             nRequestedPrefetches, pixP->netBlocksPrefetched);
+
+    /* Change state of pending block descriptions to accepted according to
+       how many of the prefetches were started by GPFS.  Descriptions of
+       blocks to be released were already updated when forming the hint. */
+    nActualPrefetches = accHint.marh.accRangeCnt;
+    pixP->firstPendingBlockIndex =
+      (pixP->firstPendingBlockIndex+nActualPrefetches) % MAX_BLOCKS;
+    pixP->nPendingBlockIndices -= nActualPrefetches;
+    pixP->nAcceptedBlockIndices += nActualPrefetches;
+
+  } while ((nActualPrefetches == nRequestedPrefetches  &&
+            pixP->nPendingBlockIndices > 0)  ||
+           pixP->nReleaseBlockIndices > 0);
+  return 0;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/irreg.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/irreg.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/irreg.h	(revision 16)
@@ -0,0 +1,131 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 1999,2004          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+
+/* Library to organize and optimize a sequence of accesses to an open file.
+   Usage is to first provide a list of n (file offset,length) pairs, then
+   call the pixXfer method n times to transfer the data.  Block prefetching is
+   taken care of under the covers by the library.  No locking is done, so all
+   accesses to or through the library are assumed to be single-threaded. */
+
+#include <sys/types.h>
+
+/* Definition of a single element in an access description list. */
+struct pixAccDesc
+{
+  offset_t off;
+  int len;
+};
+
+
+/* State variable for library.  Declare one of these for each open file
+   handle that will be used with this library and pass its address as the
+   first parameter to all of the pix... calls. */
+struct PrefetchedIrregularXfer
+{
+  /* File information.  File handle and block size for this file. */
+  int fHandle;
+  int blockSize;
+
+  /* Nonzero if pixXfer() calls should write, 0 for read */
+  int isWrite;
+
+  /* Pointer to description of accesses to be performed.  This is just a
+     pointer to the accDescP parameter of the last pixDeclareAccesses call. */
+  const struct pixAccDesc * accDescP;
+
+  /* Size of the accDescP array */
+  int nAccesses;
+
+  /* Access cursor.  Index of the element in the accDescP array that describes
+     the next transfer to be performed by the pixXfer() method. */
+  int nextAccessIndex;
+
+  /* Prefetch cursor.  Points to the next element in the accDescP array
+     that has not yet been included in the blockList array. */
+  int nextPrefetchIndex;
+
+  /* Description of blocks corresponding to byte ranges from accDescP.  A
+     byte range may translate into more than one block description. */
+#define MAX_BLOCKS 64
+  struct
+  {
+    offset_t blockNumber;   /* file block number (file offset / blockSize) */
+    int blkOffset;          /* offset in this block of the first byte that
+                               will be accessed */
+    int blkLen;             /* number of consecutive bytes in this block
+                               starting at offset that will be accessed */
+  } blockList[MAX_BLOCKS];
+
+  /* Description of entries in blockList that have been given to GPFS
+     and accepted using the multiple access range hint.  An empty list is
+     represented by setting nAcceptedBlockIndices to 0. */
+  int oldestAcceptedBlockIndex;
+  int nAcceptedBlockIndices;
+
+  /* Subset of the accepted blockList entries that need to be released
+     by the next multiple access range hint.  The first block to be released
+     is the one whose index is oldestAcceptedBlockIndex. */
+  int nReleaseBlockIndices;
+
+  /* Description of entries in blockList that have been generated from
+     entries in accDescP but not yet accepted by the GPFS multiple access
+     range hint.  If nPendingBlockIndices is > 0, then firstPendingBlockIndex
+     must equal oldestAcceptedBlockIndex+nAcceptedBlockIndices, with all
+     indices taken modulo MAX_BLOCKS. */
+  int firstPendingBlockIndex;
+  int nPendingBlockIndices;
+
+  /* Trace level.  A value of 0 does no tracing to stdout.  Higher values
+     trace more things. */
+  int verbosity;
+
+  /* Total number of blocks that have been accepted for prefetch minus
+     total number of blocks that have been released */
+  int netBlocksPrefetched;
+};
+
+
+/* Initialize (must be first call) */
+extern void pixInit(struct PrefetchedIrregularXfer * pixP);
+
+/* Declare the sequence of accesses that will be made by subsequent calls
+   to the pixXfer method.  The storage passed in will not be modified by
+   this class, but must not be deallocated by the caller until all pixXfer
+   calls have completed.  Returns an errno value on failure, or 0 if the
+   call is successful.  No access in accDescP may be longer than
+   MAX_ACCESS_BLOCKS times the block size of this file, or else pixXfer will
+   abort the access sequence and return an error. */
+#define MAX_ACCESS_BLOCKS 4
+extern int pixDeclareAccesses(struct PrefetchedIrregularXfer * pixP,
+                              int fHandle, int isWrite, int nAccesses,
+                              const struct pixAccDesc * accDescP);
+
+/* Perform the next read or write access defined by an earlier call to
+   pixDeclareAccesses.  The buffer is assumed to be large enough to contain
+   the next access from the previously declared list.  Returns an errno
+   value or zero as the function result.  If zero is returned, stores the
+   number of bytes transferred in *nBytesP. */
+extern int pixXfer(struct PrefetchedIrregularXfer * pixP, caddr_t bufP,
+                   int* nBytesP);
+
+/* Abort pending prefetches and release all prefetched blocks.  Returns
+   the state of the PrefetchedIrregularXfer object to what it was just
+   after calling pixInit(), except that verbosity is not reset. */
+extern void pixTerm(struct PrefetchedIrregularXfer * pixP);
+
+/* Set trace level.  A value of 0 does no tracing, while higher values
+   trace more stuff. */
+extern void pixSetTraceLevel(struct PrefetchedIrregularXfer * pixP, int level);
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/makefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/makefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/perf/makefile	(revision 16)
@@ -0,0 +1,49 @@
+# Makefile for gpfsperf.  Compiles one version of the source for both
+# combinations of with/without MPI.
+
+INCL = -I/usr/lpp/mmfs/include
+LIBS = -lpthread -lrt -lgpfs
+
+CFLAGS = -O -DGPFS_LINUX
+CC = cc
+MPCC = mpicc
+MPLIBS = -lmpich
+
+PROGS = gpfsperf
+OBJECTS = irreg.o gpfsperf.o
+
+all: $(PROGS) $(MPIPROGS)
+
+clean:
+	rm -f $(PROGS) $(MPIPROGS) $(OBJECTS) $(MPIOBJECTS)
+
+irreg.o: irreg.h irreg.c
+	$(CC) -c $(CFLAGS) $(OTHERINCL) $(INCL) irreg.c
+
+
+# Single node versions of gpfsperf.
+gpfsperf.o: irreg.h gpfsperf.c
+	$(CC) -c $(CFLAGS) $(OTHERINCL) $(INCL) gpfsperf.c -o $@
+
+gpfsperf: irreg.o gpfsperf.o
+	$(CC) $(CFLAGS) gpfsperf.o irreg.o $(OTHERLIB) $(LIBS) -o $@
+
+
+# Multi-node versions of gpfsperf.  Requires MPI to build or run.
+gpfsperf-mpi.o: irreg.h gpfsperf.c
+	@if which $(MPCC) > /dev/null 2>&1; then \
+          cmd="$(MPCC) -c $(CFLAGS) $(OTHERINCL) $(INCL) -DMULTI_NODE gpfsperf.c -o $@" ; \
+          echo "$$cmd" ; \
+          $$cmd ; \
+        else \
+          echo "MPI compiler ($(MPCC)) not found; cannot build $@"; \
+        fi
+
+gpfsperf-mpi: irreg.o gpfsperf-mpi.o
+	@if which $(MPCC) > /dev/null 2>&1; then \
+          cmd="$(MPCC) gpfsperf-mpi.o irreg.o $(CFLAGS) $(OTHERPOELIB) $(MPLIBS) $(LIBS) -o $@" ; \
+          echo "$$cmd" ; \
+          $$cmd ; \
+        else \
+          echo "MPI compiler ($(MPCC)) not found; cannot build $@"; \
+        fi
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/sslrandfile.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/sslrandfile.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/sslrandfile.sample	(revision 16)
@@ -0,0 +1,22 @@
+#!/bin/ksh
+# @(#)90	1.1  src/avs/fs/mmfs/ts/config/sslrandfile.sample, mmfs, avs_rgpfs24, rgpfs240610b 10/3/05 11:57:52 
+#
+#
+# When properly installed, this script will be invoked prior to
+# invoking the openssl comamnd.
+#
+# The script is expected to return the fully qualified path name of
+# a file or files containing random data to be used to seed the random
+# number generator.  If multiple files are specified, the path names
+# must be colon-separated.
+#
+# The file name(s) returned by this script will be passed to the openssl
+# command via the -rand option.  For a complete description, refer to
+# the openssl documentation.
+#
+# To activate the code, make the appropriate changes and install the
+# script as /var/mmfs/etc/sslrandfile
+#
+
+return 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/syncfsconfig.sample
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/syncfsconfig.sample	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/syncfsconfig.sample	(revision 16)
@@ -0,0 +1,95 @@
+#!/bin/ksh
+# @(#)95	1.3  src/avs/fs/mmfs/ts/config/syncfsconfig.sample, mmfs, avs_rgpfs24, rgpfs240610b 11/1/04 16:23:45 
+##############################################################################
+#
+# When properly installed, this script will be invoked after each
+# GPFS administration command that may change the configuration of
+# a GPFS file system.  Examples of such changes include:
+# - creation or deletion of GPFS file systems (mmcrfs, mmdelfs)
+# - addition or removal of disks (mmadddisk, mmdeldisk, mmrpldisk)
+# - changing of a mount point or some other mount attribute (mmchfs)
+#
+# This script can be used to keep the file system configuration data
+# in replicated GPFS clusters automatically synchronized.
+#
+# 
+# INSTALLATION GUIDELINES FOR THIS SCRIPT
+#
+#   a) edit this script using the guidelines below
+#   b) copy this script to /var/mmfs/etc/syncfsconfig
+#   c) ensure this script is executable: chmod +x /var/mmfs/etc/syncfsconfig
+#
+#   Since mm commands can be started on any node in the cluster,
+#   it is suggested that this script is installed on all nodes.
+#
+#
+# DESCRIPTION OF THE CROSS-CLUSTER SYNCHRONIZATION PROCESS
+#
+#   The synchronization of the file system configuration data in two
+#   GPFS clusters can be accomplished by invoking mmfsctl syncFSconfig.
+#   This command uses variations of the GPFS mmexportfs and mmimportfs
+#   commands to extract relevant information from the source cluster
+#   configuration data (mmsdrfs file) and restore it in the target
+#   cluster's configuration data.
+#
+# 
+# CONFIGURATION AND EDITING GUIDELINES
+#
+#   This script will always be invoked synchronously.  It is up to
+#   the user to decide whether the tasks coded in this script will
+#   be performed synchronously as well, and as a result, the return
+#   from the invoking mm command delayed until this script completes.
+#   Or, alternatively, the tasks coded in this script can be started
+#   in the background and control returned to the invoking command. 
+# 
+#   Similarly, it is up to the user to decide whether any output
+#   generated by this script will show up as part of the output
+#   of the invoking GPFS command, or whether such output will be
+#   send to some log file or discarded altogether.
+# 
+#
+# INPUT FILES
+#
+#   The mmfsctl syncFSconfig command expects the following files:
+#
+#   targetNodesFile  The path name to a file containing, one per line,
+#                    hostnames or IP addresses of nodes that belong to
+#                    the target cluster.  It is suggested that you
+#                    list more than one node in this file to reduce
+#                    the risk of failure due to node unavailability.
+#
+#                    Note: targetNodesFile must be installed on all
+#                          nodes in the local cluster on which this
+#                          script has been activated.
+#
+#   nsdSpecFile      The path name to a file with the NSD server designations
+#                    in the target cluster for all affected disks.  The file
+#                    format is the same as for the -S parameter of mmimportfs.
+#
+#                    Note: nsdSpecFile refers to a file in the target cluster.
+#                          It must exist on all nodes listed in targetNodesFile.
+#
+##############################################################################
+
+# Initialize path names.
+mmfsctl=/usr/lpp/mmfs/bin/mmfsctl
+# targetNodesFile=
+# nsdSpecFile=
+
+# Define log file for error messages.
+logFile=/dev/null
+
+
+# Uncomment the following line if you want the command to be executed
+# synchronously and all output appear on the console.
+
+# $mmfsctl all syncFSconfig -n $targetNodesFile -S $nsdSpecFile
+
+
+# Uncomment the following line if you want the command to be executed
+# asynchronously and all output redirected to a log file or /dev/null.
+
+# $mmfsctl all syncFSconfig -n $targetNodesFile -S $nsdSpecFile >$logFile 2>&1 &
+
+return 0
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/uidremap/mmname2uid
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/uidremap/mmname2uid	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/uidremap/mmname2uid	(revision 16)
@@ -0,0 +1,159 @@
+#!/usr/bin/perl
+#
+# This is a sample implementation of a UID/GID GPFS remapping helper 
+# application pair, provided for testing and illustrative purposes.  It uses 
+# the Full Name (a.k.a. gecos) field in /etc/passwd as the globally unique user
+# name.  No name-based GID remapping is done in this implementation.  When 
+# remapping for the purposes of credentials checking (intent is 'credentials'),
+# we do remapping for the UID based on the symbolic name, and replace the 
+# entire list of GIDs with the GIDs of the user on the home cluster.
+
+$debug = 0;
+
+if ($#ARGV != 3)
+{
+  die("Usage: mmname2uid domain intent nUids nGids\n");
+}
+
+$domain = $ARGV[0];
+$intent = $ARGV[1];
+$nUids = $ARGV[2];
+$nGids = $ARGV[3];
+
+# Do basic argument sanity checking
+if ( ($intent ne "credentials") && ($intent ne "stat") && ($intent ne "acl") )
+{
+  die("Invalid intent value: $intent\n");
+}
+
+if ( ($intent eq "credentials") && ($nUids == 0) )
+{
+  die("The number of UIDs to be remapped cannot be zero\n");
+}
+
+if ( ($intent eq "credentials") && ($nUids != 1) )
+{
+  die("Only one UID is allowed for credentials remapping\n");
+}
+ 
+# In this sample implementation, we replace the entire list of GIDs
+# with a new list when remapping for credentials checking.  The matching 
+# mmuid2name never outputs any GIDs, so we should not be expecting any 
+# (a different implementation may handle this differently)
+if ($intent eq "credentials")
+{
+  $nGids = 0;
+}
+
+# Read the list of UIDs and GIDs.  Note that the interface conventions 
+# stipulate that when the intent is 'stat', two lines of input will be
+# provided for each ID: symbolic name and original numeric ID.
+for ($i = 0; $i < $nUids; $i++)
+{
+  $name = <STDIN>;
+  print(STDERR $name) if $debug;
+  chop($name);
+  $gcoss{$name} = $i;
+  $uids[$i] = "UNKNOWN USER";
+  if ($intent eq "stat")
+  {
+    $id = <STDIN>;
+    print(STDERR $id) if $debug;
+    chop($id);
+    $orig_uids[$i] = $id;
+  }
+}
+for ($i = 0; $i < $nGids; $i++)
+{
+  $gname = <STDIN>;
+  print(STDERR $gname) if $debug;
+  chop($gname);
+  $gnames{$gname} = $i;
+  if ($intent eq "stat")
+  {
+    $id = <STDIN>;
+    print(STDERR $id) if $debug;
+    chop($id);
+    $orig_gids[$i] = $id;
+  }
+}
+
+# Go though the list of users, as returned by getpwent (normally it's the
+# list from /etc/passwd or NIS), and find users who have their Full Name
+# matching to one of the input names.
+$nFound = 0;
+while(true)
+{
+  @pwent = getpwent();
+  if ($#pwent == -1){ last; }
+  $username = $pwent[0];
+  $uid = $pwent[2];
+  $gid = $pwent[3];
+  $gcos = $pwent[6];
+  if (exists $gcoss{$gcos})
+  {
+    $uids[$gcoss{$gcos}] = $uid;
+    if ($intent eq "credentials")
+    {
+      $gids[$gcoss{$gcos}] = $gid;
+      $usernames[$gcoss{$gcos}] = $username;
+    }
+    $nFound++;
+    last if $nFound >= $nUids;
+  }
+}
+endpwent();
+
+# Get UID/GID of 'nobody'.  In this implementation, we return those when the
+# symbolic name is not found in our /etc/passwd.
+@a = getpwnam("nobody");
+$nobody_uid = $a[2];
+$nobody_gid = $a[3];
+
+# In this implementation, the convention is to use "UNKNOWN USER" string
+# to denote a name that has not been found.
+for ($i = 0; $i < $nUids; $i++)
+{
+  # if the user is not found, print ids of nobody
+  if ($uids[$i] eq "UNKNOWN USER")
+  {
+    printf("%u\n", $nobody_uid);
+    printf("%u\n", $nobody_gid) if ($intent eq "credentials");
+    next;
+  }
+ 
+  printf("%u\n", $uids[$i]);
+  # if we are remapping for credentials checking, get a list of groups
+  # that the user belongs to
+  if ($intent eq "credentials")
+  {
+    # primary gid
+    printf("%u\n", $gids[$i]);
+    # supplementary groups
+    while(true)
+    {
+      ($name, $passwd, $gid, $members) = getgrent();
+      last if $name eq "";
+      # skip group if it's user's primary group
+      next if $gid == $gids[$i];
+      @memberlist = split(' ', $members);
+      foreach(@memberlist)
+      {
+        if ($_ eq $usernames[$i])
+        {
+          printf("%u\n", $gid);
+          last;
+        }
+      }
+    }
+  }
+}
+
+# In this example, we don't do remapping for gids for stat.  We choose not 
+# to remap gids at all, i.e. return the same gid that was supplied to us.  An 
+# alternative would be to return gid of 'nobody' for all gids, but that is
+# hardly useful.
+for ($i = 0; $i < $nGids; $i++)
+{
+  printf("%u\n", $orig_gids[$i]);
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/uidremap/mmuid2name
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/uidremap/mmuid2name	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/uidremap/mmuid2name	(revision 16)
@@ -0,0 +1,89 @@
+#!/usr/bin/perl
+#
+# This is a sample implementation of a UID/GID GPFS remapping helper 
+# application pair, provided for testing and illustrative purposes.  It uses 
+# the Full Name (a.k.a. gecos) field in /etc/passwd as the globally unique user
+# name.  No name-based GID remapping is done in this implementation.  When 
+# remapping for the purposes of credentials checking (intent is 'credentials'),
+# we do remapping for the UID based on the symbolic name, and replace the 
+# entire list of GIDs with the GIDs of the user on the home cluster.
+#
+
+$debug = 0;
+
+if ($#ARGV != 3)
+{
+  die("Usage: mmuid2name domain intent nUids nGids\n");
+}
+
+$domain = $ARGV[0];
+$intent = $ARGV[1];
+$nUids = $ARGV[2];
+$nGids = $ARGV[3];
+print STDERR "$domain $intent $nUids $nGids\n" if $debug;
+
+# Basic argument sanity checking
+if ( ($intent ne "credentials") && ($intent ne "stat") && ($intent ne "acl") )
+{
+  die("Invalid intent value: $intent\n");
+}
+
+if ($nUids == 0 && ($intent eq "credentials"))
+{
+  die("The number of UIDs to be remapped cannot be zero\n");
+}
+ 
+# Read the list of UIDs and GIDs
+for ($i = 0; $i < $nUids; $i++)
+{
+  $uid[$i] = <STDIN>;
+  chop($uid[$i]);
+  print(STDERR "uid: $uid[$i]\n") if $debug;
+}
+for ($i = 0; $i < $nGids; $i++)
+{
+  $gid[$i] = <STDIN>;
+  chop($gid[$i]);
+  print (STDERR "gid: $gid[$i]\n") if $debug;
+}
+
+# Go through the list of uids, and for those that are known, output the
+# full name (aka gecos field).  For those uids that are not found, output
+# "UNKNOWN USER" string.  The choice of string to denote an unknown user is
+# arbitrary, anything will do as long as both mmuid2name and mmname2uid use
+# the same convention.  An empty string would a logical choice for a real-life
+# situation, since it minimizes the size of the messages passed between nodes
+# for UID remapping purposes.  However, in this example a more definitive 
+# string would work better since /etc/passwd often has empty gecos fields.
+for ($i = 0; $i < $nUids; $i++)
+{
+  @f = getpwuid($uid[$i]);
+  if ($#f != -1) 
+  {
+    print (STDERR "$f[6]\n") if $debug;
+    print ("$f[6]\n");
+  }
+  else
+  {
+    print (STDERR "UNKNOWN USER\n") if $debug;
+    print ("UNKNOWN USER\n");
+  }
+}
+
+# In this implementation, for the purposes of credentials checking we only remap
+# uids but not gids.  We don't need to output anything at all for gids, so
+# we quit here.
+
+if ($intent eq "credentials")
+{
+  exit(0);
+}
+
+# Since we don't try to do remapping for gids for stat, there's no additional 
+# work. However, we still need to output something (an empty line in our case)
+# because the convention is to generate the stated number of output lines for
+# intents other than 'credentials'
+for ($i = 0; $i < $nGids; $i++)
+{
+  print "\n";
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/README
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/README	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/README	(revision 16)
@@ -0,0 +1,256 @@
+Disclaimers
+-----------
+
+The files in this directory are provided by IBM on an "AS IS" basis
+without warranty of any kind.
+
+
+Introduction
+------------
+
+The files in this directory contain generally useful utilities that use
+GPFS specific APIs to scan filesystem metadata.  The source code is provided
+to give examples of how to use some of the APIs.  Execution of these commands
+requires root authority.
+
+
+Utilities
+---------
+tsgetusage   - Fast scan of all files in a filesystem and calculate how
+               much disk space is used by each unique user and/or group.
+
+tsinode      - Fast scan of all files in a filesystem and display one line
+               of ls information about each one.
+
+tslistall    - Fast scan of all files in a filesystem and display one line
+               of inodenumber pathname type ctime mtime
+
+tsfindinode  - Fast parallel scan of all directories in a filesystem
+               listing inodenumber type pathname for each inode specified
+
+tsreaddir    - Fast parallel scan of all directories in a filesystem
+               listing inodenumber type pathname for each file
+               (used by tslistall)
+
+tstimes      - Fast scan of all files in a filesystem and display one line
+               of inode mtime ctime for each file
+               (used by tslistall)
+
+tsbackup     - Fast parallel backup utility using multiple TSM clients
+               and a single TSM server.  Parallelism is achieved via
+               the use of multi-threading and the use of multiple TSM
+               client processes.  This utility makes use of the GPFS
+               inode scan APIs.
+
+
+------------------------------------------------------------------------------
+
+tsgetusage   - Fast scan of all files in a filesystem and calculate how
+               much disk space is used by each unique user and/or group.
+
+  Usage:  tsgetusage [-g][-h][-q][-v][-u][-H hashTableSize] fsPath
+
+          where:  fsPath  path to file system
+                  -u      outputs data in diskusg format for acctdisk
+                  -g      collect stats for groups
+                  -H      sets the hash table size (default 1027)
+                  -h      prints this message
+                  -q      outputs only the resulting stats
+                  -v      print information about each file
+
+    Using the -u option will produce a file with a format like
+    /usr/sbin/acct/diskusg that is used for other types of filesystems.
+    This can be used as input to the /usr/sbin/acct/acctdisk program, and then
+    merged with the other disk accounting data using /usr/sbin/acct/acctmerg.
+
+    For more information about the AIX Accounting System, the preparation
+    of daily and monthly reports, and the accounting files, see the AIX
+    Accounting Overview.
+
+
+------------------------------------------------------------------------------
+
+tsinode      - Fast scan of all files in a filesystem and display one line
+               of information about each one.
+
+  Usage:  tsinode fsPath [startinode [endinode]]
+
+          where:  fsPath      path to file system
+                  startinode  first inode number to be listed
+                  endinode    last inode number to be listed
+
+  Hint:
+    For the best performance on a filesystem with millions of inodes,
+    run several copies of tsinode with different inode ranges and
+    concatenate the output files.
+
+
+------------------------------------------------------------------------------
+
+tsfindinode  - Fast parallel scan of all directories in a filesystem
+               listing: inodenumber pathname
+
+  Usage:  tsfindinode {-i {inum | inumfile}} [-t nThreads] [--] fsPath
+
+          where:  fsPath       path to file system
+                  -i inum      adds one inode number to the list
+                               (this can be used multiple times)
+                  -i inumfile  names a file containing inode numbers
+                               to be added to the list
+                               (this can be used multiple times)
+                  -t           set the number of threads (default = 16)
+                  --           marker so that names starting with "-"
+                               are not treated like options.
+
+This program recursively traverses the directory structure to list all
+accessible files and directories in the file system whose inode numbers
+match those specified in the list of inodes.  Each file prints one line
+on stdout containing the file's inode number, and the pathname to the
+file.  The number and names are separated by a tab character.
+The starting directory is listed with the pathname given as the argument.
+All other lines have pathnames relative to the starting directory.
+
+The program uses the GPFS directory scan interface to quickly read the
+directory entries without calling "stat" on each file.  The directories
+are scanned in parallel by multiple threads which results in an unsorted
+output file.  Inode numbers that are not found in the tree are printed to
+stderr with the name "(notfound)".
+
+Example:
+
+>tsfindinode -i 23612 -i 1452 -i 47666 /gpfs
+     23612	include/stdio.h
+      1452	include/curses.h
+     47666	(notfound)
+>
+
+
+------------------------------------------------------------------------------
+
+tslistall    - Fast scan of all files in a filesystem and display one line
+               per file with the following information:
+                 inodenumber/generation mtime ctime type pathname
+
+  Usage:  tslistall fsPath  [tmpdirname]
+
+          where:  fsPath      path to file system
+                  tmpdirname  is a directory where intermediate files for sort
+                              can be generated. The default directory id /tmp.
+                              This is necessary for GPFS filesystem that have
+                              large numbers of files.
+
+This is a shell script that invokes tsreaddir and tstimes
+then merges the resulting files.  The output is printed to stdout
+with 1 line per file and is sorted by inode number.
+
+By saving the output of this command, you can compare it with a later list
+to find out what has changed in the filesystem since the old list was made.
+
+Example:
+
+>tslistall /gpfs
+0000000003/0000000001	1012390401.913049600	1012390401.913049600	DIR	/gpfs
+0000001452/0000000003	1024702059.694025000	1024702059.694025000	LNK	include/curses.h
+0000001812/0000000000	1024702015.294047000	1024702015.294047000	DIR	include
+0000019578/0000000000	1026797433.109149000	1026794560.584238000	REG	mail.rc
+0000023612/0000000017	1024702090.705801000	1024702090.705801000	REG	include/stdio.h
+0000023874/0000000000	1024702024.982645000	1024702024.982645000	REG	include/string.h
+>
+
+
+------------------------------------------------------------------------------
+
+tsreaddir    - Fast parallel scan of all directories in a filesystem
+               listing inodenumber type pathname
+
+  Usage:  tsreaddir [-d] [-n] [-t nThreads] [--] fsPath
+
+          where:  fsPath  path to file system
+                  -d      list only directories.
+                  -n      do not list directories.
+                  -t      set the number of threads (default = 16)
+                  --      marker so that names starting with "-"
+                          are not treated like options.
+
+This program recursively traverses the directory structure
+to list all accessible files and directories in the file system.
+Each file prints one line on stdout containing the file's inode number,
+the generation number, the file's type and the pathname
+to the file.  The fields are separated by tab characters.
+If directories are listed, the starting directory is listed with
+the pathname given as the argument.  All other lines have pathnames
+relative to the starting directory.
+
+The file types are "DIR" for directories, "REG" for regular
+files, "LNK" for symbolic links and "UNK" for all others.
+If the -d option is specified only directories are listed,
+and if the -n option is specified directories are not included in
+the output list.
+
+The program uses the GPFS directory scan interface to quickly read the
+directory entries without calling "stat" on each file.  The directories
+are scanned in parallel by multiple threads which results in an unsorted
+output file.
+
+Example:
+
+>tsreaddir /gpfs
+0000000003/0000000001	DIR	/gpfs
+0000001812/0000000000	DIR	include
+0000023612/0000000017	REG	include/stdio.h
+0000023874/0000000000	REG	include/string.h
+0000001452/0000000003	LNK	include/curses.h
+0000019578/0000000000	REG	mail.rc
+>
+
+
+------------------------------------------------------------------------------
+
+tstimes      - Fast scan of all files in a filesystem and display one line
+               of inode mtime ctime for each file
+
+  Usage:  tstimes fsPath
+
+          where:  fsPath  path to file system
+
+This program performs a gpfs inode scan on the specified file system
+to obtain the mtime and ctime for each file.  The results are output
+on stdout, with one line per file containg the inode number, the
+generation number, the mtime seconds and nanoseconds GMT, and the ctime seconds
+and nanoseconds GMT.  The output file is sorted by the inode numbers.
+The fields are separated by tab characters.
+
+Example:
+
+>tstimes /gpfs
+0000000003/0000000001   1012390401.913049600    1012390401.913049600
+0000001452/0000000003	1024702059.694025000	1024702059.694025000
+0000001812/0000000000	1024702015.294047000	1024702015.294047000
+0000019578/0000000000	1026797433.109149000	1026794560.584238000
+0000023612/0000000017	1024702090.705801000	1024702090.705801000
+0000023874/0000000000	1024702024.982645000	1024702024.982645000
+>
+
+
+------------------------------------------------------------------------------
+
+mmbackup/tsbackup (see documentation for mmbackup in the GPFS Admin Guide)
+
+tsbackup     - Fast parallel backup utility using multiple TSM clients
+               and a single TSM server.  Parallelism is achieved via
+               the use of multi-threading and the use of multiple TSM
+               client processes.  This utility makes use of the GPFS
+               inode scan APIs.
+
+  Usage:
+    mmbackup Device -n ControlFile [-t {full | incremental}] [-r IOrate]
+      or
+    mmbackup Device -R [-r IOrate]
+
+Parts:
+
+tsbackup.C       (sample code in this directory)
+tsbackup.h       (sample code in this directory)
+mmbackup.sh      (script in /usr/lpp/mmfs/bin)
+mmexectsmcmd.sh  (script in /usr/lpp/mmfs/bin)
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/makefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/makefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/makefile	(revision 16)
@@ -0,0 +1,38 @@
+# Makefile for utilities.
+
+LIB = -lgpfs
+
+
+CC = cc
+CC_R = cc
+CXX = c++
+GPFS_TYPE = GPFS_LINUX
+
+
+CFLAGS = -O -D$(GPFS_TYPE)
+
+PROGS = tsinode tsgetusage tsfindinode tsbackup tsreaddir tstimes
+
+all: $(PROGS)
+
+clean:
+	rm -f $(PROGS)
+
+tsfindinode: tsfindinode.c
+	$(CC_R) -o tsfindinode $(CFLAGS) -lpthread $(LIB) $(OTHERINCL) $(OTHERLIB) tsfindinode.c
+
+tsbackup: tsbackup.C tsbackup.h
+	$(CXX) -o tsbackup $(CFLAGS) -lpthread $(LIB) $(OTHERINCL) $(OTHERLIB) tsbackup.C
+
+tsgetusage: tsgetusage.c
+	$(CC) -o tsgetusage $(CFLAGS) $(LIB) $(OTHERINCL) $(OTHERLIB) tsgetusage.c
+
+tsinode: tsinode.c
+	$(CC) -o tsinode $(CFLAGS) $(LIB) $(OTHERINCL) $(OTHERLIB) tsinode.c
+
+tsreaddir: tsreaddir.c
+	$(CC_R) -o tsreaddir $(CFLAGS) -lpthread $(LIB) $(OTHERINCL) $(OTHERLIB) tsreaddir.c
+
+tstimes: tstimes.c
+	$(CC) -o tstimes $(CFLAGS) $(LIB) $(OTHERINCL) $(OTHERLIB) tstimes.c
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsbackup.C
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsbackup.C	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsbackup.C	(revision 16)
@@ -0,0 +1,6187 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 2004,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+#pragma comment (copyright, "@(#)Licensed Materials-Property of IBM")
+static char sccsid[] = "@(#)46  1.5  src/avs/fs/mmfs/samples/util/tsbackup.C, mmfs, avs_rgpfs24, rgpfs24s001a 4/4/06 09:37:12";
+
+/*===========================================================================
+ *
+ * tsbackup:  a utility for backing up a GPFS filesystem to a TSM server
+ *
+ * Syntax:
+ *
+ *   tsbackup Device MountPoint -n ControlFile [-t {full | incremental}]
+ *                                                         [-r IOrate] [-T]
+ *     or
+ *
+ *   tsbackup Device MountPoint -R [-r IOrate] [-T]
+ *
+ *==========================================================================*/
+
+#ifdef GPFS_LINUX
+/* Use 64 bit version of stat, etc. */
+#define _LARGEFILE_SOURCE
+#define _FILE_OFFSET_BITS 64
+
+typedef long long offset_t;
+#endif
+
+#ifdef GPFS_AIX
+/* Use 64 bit version of stat, etc. */
+#ifndef _LARGE_FILES
+#define _LARGE_FILES
+#endif
+#endif
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <unistd.h>
+#include <string.h>
+#include <fcntl.h>
+#include <assert.h>
+
+// The following includes are for pipeOpen(), pipeClose(), etc.
+#include <signal.h>
+#include <sys/wait.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <pthread.h>
+
+extern "C"
+{
+#include <time.h>
+#include <ctype.h>
+}
+
+#include <gpfs.h>
+
+#include "tsbackup.h"        // all relevant structures for backup
+
+
+/* forward declarations */
+extern "C" char *basename(const char *);
+
+/* globals for the tsbackup program */
+
+char deviceName[MAX_FILE_NAME];
+char fsName[MAX_FILE_NAME];
+char inputCtrlFile[MAX_FILE_NAME];
+const char* snapshotPathname;
+char snapshotSubdir[MAX_FILE_NAME];
+char sstring[MAX_COMMAND_STRING];
+pid_t msgChildPid = 0;
+gpfs_fssnap_id_t prevSnapId;
+
+static char *transactionCmdExpire = "expire";
+static char *transactionCmdIncremental = "incremental";
+static char *transactionCmdSelective = "selective";
+static char *transactionCmdOption = "filelist";
+
+static char *backupControlName    = ".mmbuControl";
+static char *backupShadowName     = ".mmbuShadow";
+static char *shadowCheckName      = ".mmbuShadowCheck";
+static char *backupFilesizesName  = ".mmbuFilesizes";
+static char *fsSnapshotName_base  = ".mmbuSnapshot";
+static char *transListName        = ".mmbuTrans";
+static char *pendingDeletionsName = ".mmbuPendingDels";
+static char *pendingChangesName   = ".mmbuPendingChgs";
+static char *changesName          = ".mmbuChanges";
+static char *deletionsName        = ".mmbuDeletions";
+
+inodeBitsArray inodeBitsP = NULL;
+inodeBitsArray inodeBits2P = NULL;
+
+char *RootFsDirP;
+
+/* Define the number of threads used to read the directories. */
+#define DEFAULT_THREADS 24
+int nThreads = DEFAULT_THREADS;
+
+/* Define wait queue for threads. */
+static pthread_mutex_t QueueMutex;
+static pthread_cond_t QueueCond;
+static int NWorkersWaiting = 0;
+static int NWorkersRunning = 0;
+
+/* Define mutex to serialize the output. */
+static pthread_mutex_t OutputMutex;
+
+static QueueElement *WorkQueueP = NULL;
+
+
+/*
+ * Define storage for variables declared in tsbackup.h
+ */
+Int32 ioRate = 100;                /* I/O rate */
+Int32 Tracing = 0;                 /* tracing control flag */
+Int32 Full;                        /* backup type full (true or false) */
+Int32 Incremental;                 /* backup type incremental (true or false) */
+Int32 Resume;                      /* resume backup (true or false) */
+char  masterNode[MAX_NAME_CHARS];  /* node on which tsbackup was invoked */
+Int32 masterPID;                   /* pid for master tsbackup process */
+
+char  fsBackupCtrl[MAX_FILE_NAME];
+char  fsSnapshotName[MAX_FILE_NAME];
+char  fsSnapshotPathname[MAX_FILE_NAME];
+gpfs_fssnap_handle_t *fsSnapHandleP = NULL;
+char  filesizesFile[MAX_FILE_NAME];
+Int32 filesizesHandle;
+char  backupShadowFile[MAX_FILE_NAME];
+char  backupShadowCheck[MAX_FILE_NAME];
+char  shadowFile[MAX_BACKUP_CLIENTS][MAX_FILE_NAME];
+Int32 shadowFileHandle[MAX_BACKUP_CLIENTS];
+Int64 shadowFileNumberOfRecords[MAX_BACKUP_CLIENTS];
+char  transactionsList[MAX_FILE_NAME];
+Int32 transactionsListHandle;
+char  clientTransactionsList[MAX_BACKUP_CLIENT_PROCESSES][MAX_FILE_NAME];
+Int32 clientTransactionsListHandle[MAX_BACKUP_CLIENT_PROCESSES];
+char  pendingTransactionsList[MAX_FILE_NAME];
+char  pendingTransactionsListName[MAX_FILE_NAME];
+char  clientPendingTransactionsList[MAX_BACKUP_CLIENT_PROCESSES][MAX_FILE_NAME];
+char  changesFile[MAX_FILE_NAME];
+Int32 fp_chg;
+char  deletionsFile[MAX_FILE_NAME];
+Int32 fp_del;
+Boolean fileDeletions;
+Boolean fileChanges;
+gpfs_backup_control_t *backupControlP;
+
+extern int errno;
+
+#ifndef true
+#define true    1
+#endif
+
+#ifndef false
+#define false   0
+#endif
+
+
+/*
+ * print usage message and exit
+ */
+static void usage(char *argv0)
+{
+  fprintf(stderr, "Usage:\n %s Device MountPoint -n ControlFile [-t {full | incremental}] [-r IOrate]\n    or\n %s Device MountPoint -R [-r IOrate]\n", basename(argv0), basename(argv0));
+  exit(RC_FAIL);
+}
+
+
+#define TSSIZE 128       /* time buffer size */
+
+/*
+ * print trace line for entering a function
+ */
+void traceEntry(char* filen, char* funcn, Int32 linen)
+{
+  time_t nowTime;
+  char timebuf[TSSIZE];
+  struct tm CurrentTime;
+
+  time(&nowTime);
+  strftime(timebuf, TSSIZE, "%X" , localtime_r(&nowTime, &CurrentTime));
+  fprintf(stderr, "Trace: time %s, %s, line %d: enter %s()\n",
+            timebuf, filen, linen, funcn);
+}
+
+
+/*
+ * print trace line for exiting a function
+ */
+void traceExit(char* filen, char* funcn, Int32 linen)
+{
+  time_t nowTime;
+  char timebuf[TSSIZE];
+  struct tm CurrentTime;
+
+  time(&nowTime);
+  strftime(timebuf, TSSIZE, "%X" , localtime_r(&nowTime, &CurrentTime));
+  fprintf(stderr, "Trace: time %s, %s, line %d: exit  %s()\n",
+            timebuf, filen, linen, funcn);
+}
+
+
+/*
+ * print trace line other than a function entry or exit
+ */
+void traceLine(char* filen, char* funcn, Int32 linen)
+{
+  time_t nowTime;
+  char timebuf[TSSIZE];
+  struct tm CurrentTime;
+
+  time(&nowTime);
+  strftime(timebuf, TSSIZE, "%X" , localtime_r(&nowTime, &CurrentTime));
+  fprintf(stderr, "Trace: time %s, %s, line %d, %s()\n",
+            timebuf, filen, linen, funcn);
+}
+
+#if 0
+#ifndef TIMELEN
+#define TIMELEN 26
+#endif
+
+/* Return ptr to buffer passed in with current time
+   filled in the buffer (year removed) */
+char *
+consoleTime(char timeBufP[TIMELEN])
+{
+  time_t TimeNow;
+  char *p;
+
+  time(&TimeNow);
+  ctime_r(&TimeNow, timeBufP);
+  if ((p = strchr(timeBufP, '\n')) != NULL)
+    *p = '\0';
+  return timeBufP;
+}
+#endif
+
+
+/* signal handler for SIGINT */
+void sig_interrupt(int signo)
+{
+  Int32 j, tmp;
+  struct stat statBuf;
+
+  /* Delete any temporary files still lying around. */
+
+  /* Delete any existing client transactions files. */
+  for (j = 0; j < MAX_BACKUP_CLIENT_PROCESSES; j++)
+  {
+    unlink(clientTransactionsList[j]);
+    unlink(clientPendingTransactionsList[j]);
+  }
+
+  /* Delete the original transactions file now that we are done with it. */
+  unlink(transactionsList);
+
+  unlink(changesFile);
+  unlink(filesizesFile);
+  unlink(deletionsFile);
+
+  /* Delete the snapshot if it exists. */
+  if (stat(fsSnapshotPathname, &statBuf) != -1)
+  {
+    /* Delete the snapshot. */
+    sprintf(sstring, "/usr/lpp/mmfs/bin/tsdelsnapshot %s %s > /dev/null",
+              deviceName, fsSnapshotName);
+    tmp = system(sstring);
+
+    /* Check system() return. */
+    if (tmp != 0)
+    {
+      fprintf(stderr, "system(%s) returned rc = %d\n", sstring, tmp);
+    }
+  }
+
+  /* If there is a backup control data structure, set the completion level
+     to none and write the updated backup control data to the control file. */
+  if (backupControlP != 0)
+  {
+    backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_NONE;
+    tmp = createBackupCtrlFile(fsBackupCtrl, backupControlP);
+  }
+
+  exit(RC_FAIL);
+}
+
+
+/*------*
+ * main *
+ *------*/
+
+int main(int argc, char *argv[])
+{
+  char linein[LINE_LENGTH];        /* buffer used in reading a line via fget */
+  Int32 tmp, rc = RC_SUCCESS;
+  Int32 length;
+  Int32 i, j, k;
+  int c;
+  struct stat statBuf;
+#if 0
+  char timeBufP[TIMELEN];
+#endif
+  char timeString[MAX_FILE_NAME];
+  FILE* filePtr = NULL;            /* file pointer for temp files and usage
+                                                                  in popen() */
+  static char *devPrefix            = "/dev/";
+  static char *mpPrefix             = "/";
+  gpfs_direntx_t *shadow_controlP;
+  gpfs_backup_control_t *backupControlLocalP = NULL;
+  backup_control_hdr_t *backupControlHdrP = NULL;
+  char* cp;
+  char* backupType;
+  char* fn = "main";
+
+  /* Set signal handler for SIGINT */
+  if (signal(SIGINT, sig_interrupt) == SIG_ERR)
+  {
+    printf("tsbackup: Unable to set signal handler for SIGINT.\n");
+  }
+
+  /* At least two parms must be passed, since the device and
+     the mountpoint parms are required. */
+  if (argc < 3)
+  {
+    fprintf(stderr, "An incorrect number of parameters was passed.\n");
+    usage(argv[0]);
+  }
+
+  /* Set the backup type flags prior to parsing the command parms. */
+  Incremental = false;
+  Full = false;
+  Resume = false;
+
+  /* Parse the command parameters. */
+
+  /* The first arg is the device parameter, and it is mandatory. */
+  strcpy(deviceName, argv[1]);
+  if ((strncmp(deviceName, devPrefix, strlen(devPrefix)) != 0) ||
+        (strcmp(deviceName, devPrefix) == 0))
+  {
+    fprintf(stderr, "An incorrect parameter (%s) was specified for the device.\nThe value must begin with /dev/.\n", deviceName);
+    usage(argv[0]);
+  }
+
+  /* The second arg is the mountpoint parameter, and it is also mandatory. */
+  strcpy(fsName, argv[2]);
+  if ((strncmp(fsName, mpPrefix, strlen(mpPrefix)) != 0) ||
+        (strcmp(fsName, mpPrefix) == 0))
+  {
+    fprintf(stderr, "An incorrect parameter (%s) was specified for the mountpoint.\nThe value must begin with a /.\n", fsName);
+    usage(argv[0]);
+  }
+
+  /* Clear the input control file string before processing parameters. */
+  *inputCtrlFile = '\0';
+
+  /* Adjust argc and argv now that we've processed the first two parameters. */
+  argc = argc - 2;
+  argv[2] = argv[0];
+  argv = &argv[2];
+
+  /* Parse the remainder of the parameter string. */
+  while ((c = getopt(argc, argv, "n:r:Rt:T")) != EOF)
+  {
+    switch (c)
+    {
+      case 'n':   // control file
+        if (Resume)
+        {
+          fprintf(stderr, "Invalid combination: -n and -R\n");
+          usage(argv[0]);
+        }
+        strncpy(inputCtrlFile, optarg, MAX_FILE_NAME);
+        if (stat(inputCtrlFile, &statBuf) == -1)  // Does the file exist?
+        {
+          fprintf(stderr, "Control file %s does not exist, errno=%d\n",
+                    inputCtrlFile, errno);
+          exit(RC_FAIL);
+        }
+        break;
+
+      case 'r':   // I/O rate
+        ioRate = atoi((const char *) (optarg));
+        if ((ioRate <= 0) || (ioRate > 100))
+        {
+          fprintf(stderr, "An incorrect value (%d) was specified for IOrate.\nSpecify a value between 0 and 100.\n", ioRate);
+          usage(argv[0]);
+        }
+        break;
+
+      case 'R':   // resume backup
+        if (strcmp((const char *) inputCtrlFile, "") != 0)
+        {
+          fprintf(stderr, "Invalid combination: -n and -R\n");
+          usage(argv[0]);
+        }
+        if (Full || Incremental)
+        {
+          fprintf(stderr, "Invalid combination: -t and -R\n");
+          usage(argv[0]);
+        }
+        Resume = true;
+        Incremental = false;
+        Full = false;
+        break;
+
+      case 't':   // backup type (full or incremental)
+        if (Resume)
+        {
+          fprintf(stderr, "Invalid combination: -t and -R\n");
+          usage(argv[0]);
+        }
+        if ( (strcmp((const char *) optarg, "full") == 0) ||
+             (strcmp((const char *) optarg, "Full") == 0) )
+        {
+          Full = true;
+          Incremental = false;
+          Resume = false;
+        }
+        else if ( (strcmp((const char *) optarg, "incremental") == 0) ||
+                  (strcmp((const char *) optarg, "Incremental") == 0) )
+        {
+          Incremental = true;
+          Full = false;
+          Resume = false;
+        }
+        else
+        {
+          fprintf(stderr,
+                    "The value (%s) specified for the -t flag is not valid.\n",
+                    optarg);
+          usage(argv[0]);
+        }
+        break;
+
+      case 'T':   // enable tracing
+        Tracing = true;
+        break;
+
+      default:
+        usage(argv[0]);
+
+    }
+  }
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Initializations */
+  for (i = 0; i < MAX_BACKUP_CLIENTS; i++) {
+    shadowFileNumberOfRecords[i] = 0;
+  }
+
+  /* Obtain the pid number and node name for this invocation of tsbackup
+     for later use by the mmexectsmcmd script. */
+  rc = gethostname(masterNode, MAX_NAME_CHARS); 
+  if (rc != 0) {
+    fprintf(stderr,
+     "gethostname() failed; unable to obtain the name of the invoking node.\n");
+    exit(RC_FAIL);
+  }
+  masterPID = getpid();
+
+  /* The names of the following files are based on the mount point
+     of the filesystem. */
+
+  /* Construct the name for the backup control file. */
+  snprintf(fsBackupCtrl, MAX_FILE_NAME, "%s/%s", fsName, backupControlName);
+
+  /* Construct the name for the filesizes file. */
+  snprintf(filesizesFile, MAX_FILE_NAME, "%s/%s", fsName, backupFilesizesName);
+
+  /* Construct the name for the backup shadow file. */
+  snprintf(backupShadowFile, MAX_FILE_NAME, "%s/%s", fsName, backupShadowName);
+
+  /* Construct the name for the prior backup shadow file. */
+  snprintf(backupShadowCheck, MAX_FILE_NAME, "%s/%s",
+             fsName, shadowCheckName);
+
+  /* Create the name of the transactionsList file. */
+  snprintf(transactionsList, MAX_FILE_NAME, "%s/%s", fsName, transListName);
+
+#if 0
+  // BCH - The following code snippet was left here to demonstrate how to
+  // BCH     use the consoleTime routine should it be needed in the future.
+  /* Construct a timestamp-based name for the snapshot
+     to ensure its uniqueness (and thus avoid name collisions). */
+  snprintf(timeString, MAX_FILE_NAME, "%s", consoleTime(timeBufP));
+  while ((cp = strchr(timeString, ' ')) != NULL)   /* replace blanks with */
+  {                                                /*   underscore chars  */
+    *cp = '_';
+  }
+  snprintf(fsSnapshotName, MAX_FILE_NAME, "%s_%s",
+             fsSnapshotName_base, timeString);
+#endif
+
+  /* Construct the name for the snapshot of the filesystem. */
+  snprintf(fsSnapshotName, MAX_FILE_NAME, "%s", fsSnapshotName_base);
+
+  /* Process whatever type of backup was specified. */
+  if (Full)                   /* full backup */
+  {
+    assert((Resume == false) && (Incremental == 0));
+    rc = doFSFullBackup(fsName);
+    switch (rc)
+    {
+      case RC_FAIL:       /* failure */
+        fprintf(stderr, "doFSFullBackup() returned rc = %d\n", rc);
+        fprintf(stderr, "tsbackup: full backup failed, rc = %d\n", rc);
+        break;
+      case RC_PSUCCESS:   /* partial success */
+        fprintf(stderr,
+         "tsbackup: full backup finished with partial success, rc = %d\n", rc);
+        break;
+      case RC_SUCCESS:    /* complete success */
+        printf(
+   "tsbackup: full backup finished with complete success, rc = %d\n", rc);
+        break;
+      default:            /* unexpected rc */
+        fprintf(stderr, "doFSFullBackup() returned rc = %d\n", rc);
+        rc = RC_FAIL;
+        fprintf(stderr, "tsbackup: full backup failed, rc = %d\n", rc);
+        break;
+    }
+  }  /* end full backup */
+
+  else if (Incremental == 1)  /* incremental backup */
+  {
+    /* If an input control file was passed it will be ignored and the
+       information in the backup control file will be used instead. */
+    rc = doFSIncrementalBackup(fsName);
+    switch (rc)
+    {
+      case RC_FAIL:       /* failure */
+        fprintf(stderr, "doFSIncrementalBackup() returned rc = %d\n", rc);
+        fprintf(stderr, "tsbackup: incremental backup failed, rc = %d\n", rc);
+        return(rc);
+      case RC_PSUCCESS:   /* partial success */
+        fprintf(stderr,
+    "tsbackup: incremental backup finished with partial success, rc = %d\n",
+                  rc);
+        break;
+      case RC_SUCCESS:    /* complete success */
+        printf(
+    "tsbackup: incremental backup finished with complete success, rc = %d\n",
+                  rc);
+        break;
+      default:            /* unexpected rc */
+        fprintf(stderr,
+                  "doFSIncrementalBackup() returned unexpected rc = %d\n", rc);
+        rc = RC_FAIL;
+        fprintf(stderr, "tsbackup: incremental backup failed, rc = %d\n", rc);
+    }
+  }  /* end incremental backup */
+
+  else if (Resume)            /* resume backup */
+  {
+    /*
+     * A resume backup may be done if the previous backup operation
+     * finished with partial success.  This information is saved
+     * in the backup control file.  Additionally, with partial success
+     * a file named .PendingTransactions should exist which contains
+     * the names of the files which were not successfully backed up
+     * during the previous backup attempt.
+     * If an input control file was passed, it will be ignored and the
+     * existing information in the backup control file will be used instead.
+     */
+    rc = doFSResumeBackup(fsName, &backupType);
+    switch (rc)
+    {
+      case RC_FAIL:       /* failure */
+        fprintf(stderr, "tsbackup: resume of %s backup failed, rc = %d\n",
+                  backupType, rc);
+        break;
+      case RC_PSUCCESS:   /* partial success */
+        fprintf(stderr,
+    "tsbackup: resume of %s backup finished with partial success, rc = %d\n",
+                  backupType, rc);
+        break;
+      case RC_SUCCESS:    /* complete success */
+        printf(
+    "tsbackup: resume of %s backup finished with complete success, rc = %d\n",
+                 backupType, rc);
+        break;
+      default:            /* unexpected rc */
+        fprintf(stderr,
+                  "doFSResumeBackup() returned unexpected rc = %d\n", rc);
+        rc = RC_FAIL;
+        fprintf(stderr, "tsbackup: resume of %s backup failed, rc = %d\n",
+                  backupType, rc);
+        break;
+    }
+  }  /* end resume backup */
+
+  else
+  {
+    /* We should not get here. */
+    fprintf(stderr, "Invalid parms: specify full, incremental, or resume.\n");
+    rc = RC_FAIL;
+    errno = EINVAL;
+    usage(argv[0]);
+
+  }  /* end if (Full) */
+
+  /* If the the message process was forked, kill it now,
+     since tsbackup is about to exit. */
+  if (msgChildPid != 0)
+  {
+    tmp = kill(msgChildPid, SIGTERM);
+  }
+ 
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  exit(rc);
+
+}  /*------ end of main ----------------*/
+
+
+/*
+ * NAME:  doFSFullBackup()
+ *
+ * FUNCTION:
+ *   Do a full backup of a filesystem.
+ *
+ * PARAMETERS:
+ *   fsName:  (IN) The full path name of the mounted filesystem.
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_PSUCCESS on partial success, RC_FAIL on error.
+ *
+ * NOTES:
+ *   - Take a new snapshot under the new name.
+ *   - Backup the new snapshot.
+ *   - For each server involved with the previous backup, have a client issue
+ *       the "Delete Filespace" TSM command.
+ */
+int doFSFullBackup(char *fsName)
+{
+  Int32 tmp, keep_rc, rc = RC_SUCCESS;
+  backup_control_hdr_t *backupControlHdrP = NULL;
+  struct stat statBuf;
+  char* fn = "doFSFullBackup";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Check whether there is a backup control file from a previous backup. */
+  rc = checkBackupCtrlFile();
+  if (rc == RC_SUCCESS)
+  {
+    /* Load the global backup control structure with the
+       information from the backup control file. */
+    rc = processBackupCtrlFile(fsName, fsBackupCtrl, &backupControlP);
+    if (rc != RC_SUCCESS)
+    {
+      fprintf(stderr, "processBackupCtrlFile() returned rc = %d\n", rc);
+      if (backupControlP != NULL)  free((void *) backupControlP);
+      return(RC_FAIL);
+    }
+
+    /* If an input control file was specified, load the information
+       in it into the backup control structure just initialized by
+       the call to processBackupCtrlFile().  This will cause the
+       contents of the input control file to override the controls
+       in effect at the time of the last backup. */
+    if (inputCtrlFile != NULL)
+    {
+      rc = processInputCtrlFile(fsName, inputCtrlFile, &backupControlP, false);
+      if (rc != RC_SUCCESS)
+      {
+        fprintf(stderr, "processInputCtrlFile() returned with rc = %d\n", rc);
+        if (backupControlP != NULL)  free((void *) backupControlP);
+        return(RC_FAIL);
+      }
+    }
+  }
+  else
+  {
+    /* Here if there is no backup control file (i.e., this is the first 
+       backup).  The user should have specified an input control file. */
+
+    /* If an input control file was specified, use its information
+       to create the backup control structure. */
+    if (inputCtrlFile != NULL)
+    {
+      rc = processInputCtrlFile(fsName, inputCtrlFile, &backupControlP, true);
+      if (rc != RC_SUCCESS)
+      {
+        fprintf(stderr, "processInputCtrlFile() returned with rc = %d\n", rc);
+        if (backupControlP != NULL)  free((void *) backupControlP);
+        return(RC_FAIL);
+      }
+    }
+    else
+    {
+      /* There is no input control file and no prior backup control file. 
+         Print an error message and return failure. */
+      fprintf(stderr, "Unable to proceed because no control file was specified and there is no prior backup control file.\n");
+      return(RC_FAIL);
+    }
+  }
+  backupControlHdrP = (backup_control_hdr_t *) backupControlP;
+
+  /* Delete any pending files left over from a prior backup that
+     was partially successful.  Once a full backup is issued,
+     a resume backup is no longer an option. */
+  snprintf(sstring, MAX_FILE_NAME, "%s/%s", fsName, pendingDeletionsName);
+  unlink(sstring);
+  snprintf(sstring, MAX_FILE_NAME, "%s/%s", fsName, pendingChangesName);
+  unlink(sstring);
+
+  /* Create a child process to issue reassuring messages to the user
+     in case the remaining work takes a long time. */
+  forkMsgChild();
+
+  /* Create a snapshot and store it at the mount point of the filesystem. */
+  rc = createBackupSnapshot(deviceName, fsSnapshotName);
+  if (rc != RC_SUCCESS)
+  {
+    fprintf(stderr, "createBackupSnapshot returned with rc = %d.\n", rc);
+    free((void *) backupControlP);
+    return(RC_FAIL);
+  }
+  else
+  {
+    /* Save the name of the snapshot in the gpfs_backup_control_t structure. */
+    strncpy(backupControlHdrP->snapshotName, fsSnapshotName, MAX_FILE_NAME);
+  }
+
+  /* Do a backup of the snapshot and determine the level of success. */
+  rc = doFSBackup(fsName, fsSnapshotPathname);
+  switch (rc)
+  {
+    case RC_SUCCESS:   /* The operation succeeded. */
+      keep_rc = rc;
+      backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_FULL;
+      break;
+
+    case RC_PSUCCESS:  /* The operation partially succeeded. */
+      keep_rc = rc;
+      backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_PARTIAL;
+      strcpy(backupControlHdrP->backupType, "full");
+      break;
+
+    case RC_FAIL:      /* The operation failed. */
+    default:
+      /* Indicate an unexpected error. */
+      if (rc != RC_FAIL) {
+        fprintf(stderr, "doFSBackup() returned unexpected rc = %d\n", rc);
+      } else {
+        fprintf(stderr, "doFSBackup() returned rc = %d\n", rc);
+      }
+      keep_rc = RC_FAIL;
+      backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_NONE;
+      break;
+  }
+
+  /* Write the updated backup control data to the backup control file. */
+  rc = createBackupCtrlFile(fsBackupCtrl, backupControlP);
+  if (rc != RC_SUCCESS)
+  {
+    /* Indicate error to user. */
+    free((void *) backupControlP);
+    return(RC_FAIL);
+  }
+
+  /* Delete the snapshot if the completion level was anything other than
+     partial (we no longer need the snapshot if the completion level was
+     success or failure).  For completion level partial, the snapshot is
+     not deleted so that it is available for a subsequent resume backup. */
+  if (backupControlP->backupHdr.completionLevel != BACKUP_COMPLETION_PARTIAL)
+  {
+    /* Delete the snapshot. */
+    sprintf(sstring, "/usr/lpp/mmfs/bin/tsdelsnapshot %s %s > /dev/null",
+              deviceName, fsSnapshotName);
+    tmp = system(sstring);
+
+    /* Check system() return. */
+    if (tmp != 0)
+    {
+      fprintf(stderr, "system(%s) returned rc = %d\n", sstring, tmp);
+      free((void *) backupControlP);
+      return(RC_FAIL);
+    }
+  }
+
+  /* Release the memory for the backup control structure. */
+  free((void *) backupControlP);
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  /* Return to caller with appropriate return code. */
+  return(keep_rc);
+
+}  /*------ end of doFSFullBackup() ----------------*/
+
+
+/*
+ * NAME:  doFSIncrementalBackup()
+ *
+ * FUNCTION:
+ *   Do an incremental backup of a filesystem.
+ *
+ * PARAMETERS:
+ *   fsName:  (IN) The full path name of the mounted filesystem.
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_PSUCCESS on partial success, RC_FAIL on error.
+ *
+ * NOTES:
+ *   OPERATION:    BCH - these comments no longer match the code well
+ *     - Take a new snapshot and store it at a directory with the previous name.
+ *     - Handle the deleted files from the FS. (backupControlP is used)
+ *       - Perform an inodescan operation to determine all directories and
+ *         files of the FS.
+ *       - Perform a directory traversal and construct the .backup_shadow file.
+ *       - Compare the .backup_shadow and .backup_shadow_check files to
+ *         determine the list of files which need to be deleted.
+ *         Create a file named .backup_deletions which will contain all
+ *         these file names.
+ *     - Handle the files of the filesystem which have changed or are new.
+ *       - Perform an inodescan operation to determine all directories
+ *         and files of the filesystem which are new or have changed,
+ *         passing the old snapshot_ID.
+ *       - Perform a directory traversal and construct the .backup_shadow file.
+ *       - Extract all the file names from this .backup_shadow file and put
+ *         them into a .backup_changes file.
+ */
+int doFSIncrementalBackup(char *fsName)
+{
+  Int32 tmp, rc, rc1 = RC_SUCCESS, rc2 = RC_SUCCESS;
+  gpfs_backup_control_t *backupControlLocalP = NULL;
+  backup_control_hdr_t *backupControlHdrP = NULL;
+  struct stat statBuf;
+  char* fn = "doFSIncrementalBackup";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Check whether there is a backup control file. */
+  rc = checkBackupCtrlFile();
+  if (rc != RC_SUCCESS)
+  {
+    /* Error:  there is no backup control file. */
+    /* Print error message and return failure. */
+    fprintf(stderr, "A backup type of incremental was specified, but a backup control file\nfrom a previous backup does not exist.\n");
+    return(RC_FAIL);
+  }
+
+  /* Load the local backup control structure with the
+     information from the latest backup control file. */
+  rc = processBackupCtrlFile(fsName, fsBackupCtrl, &backupControlLocalP);
+  if (rc != RC_SUCCESS)
+  {
+    fprintf(stderr, "processBackupCtrlFile() returned rc = %d\n", rc);
+    if (backupControlP != NULL)  free((void *) backupControlP);
+    return(RC_FAIL);
+  }
+
+  /* If the previous backup did not complete successfully, issue a message
+     that it must be completed before an incremental backup will proceed. */
+  if (backupControlLocalP->backupHdr.completionLevel != BACKUP_COMPLETION_FULL)
+  {
+    fprintf(stderr, "An incremental backup cannot be performed because the most recent backup did not complete successfully.\n");  // BCH - msg catalog cand.
+    free((void *) backupControlLocalP);
+    return(RC_FAIL);
+  }
+  backupControlHdrP = (backup_control_hdr_t *) backupControlLocalP;
+
+  /* If an input control file was specified, load the information
+     in it into the backup control structure just initialized by
+     the call to processBackupCtrlFile().  This will cause the
+     contents of the input control file to override the controls
+     in effect at the time of the last backup. */
+  if (inputCtrlFile != NULL)
+  {
+    rc = processInputCtrlFile(fsName, inputCtrlFile,
+                                &backupControlLocalP, false);
+    if (rc != RC_SUCCESS)
+    {
+      fprintf(stderr, "processInputCtrlFile() returned with rc = %d\n", rc);
+      return(RC_FAIL);
+    }
+  }
+
+  /* Set the global variable backupControlP to point to the backupControlLocalP
+     structure for the soon-to-happen call to doFSFileDeletions(). */
+  backupControlP = backupControlLocalP;
+
+  /* Create a child process to issue reassuring messages to the user
+     in case the remaining work takes a long time. */
+  forkMsgChild();
+
+  /* Create a snapshot and store it at the mount point of the filesystem. */
+  rc = createBackupSnapshot(deviceName, fsSnapshotName);
+  if (rc != RC_SUCCESS)
+  {
+    fprintf(stderr, "createBackupSnapshot returned with rc = %d.\n", rc);
+    rc = RC_FAIL;
+    goto release_storage;
+  }
+  else
+  {
+    /* Save the name of the snapshot in the gpfs_backup_control_t structure. */
+    strncpy(backupControlHdrP->snapshotName, fsSnapshotName, MAX_FILE_NAME);
+  }
+
+  /* Save the snapshot id from the previous backup for later use
+     by doFSFileChanges.  The value is saved here because it will
+     be changed by doFSFileDeletions when it calls doInodeScan(). */
+  prevSnapId = backupControlP->backupHdr.snapshotId;
+
+  /* First, process the files that have been deleted
+     from the filesystem since the previous backup. */
+  rc1 = doFSFileDeletions(fsName, fsSnapshotPathname);
+  switch (rc1)
+  {
+    case RC_PSUCCESS:   /* The operation had partial success up to now. */
+    case RC_SUCCESS:    /* The operation had a total success. */
+      break;
+
+    case RC_FAIL:       /* The operation failed. */
+    default:            /* An unexpected error occurred. */
+      /* Indicate error. */
+      if (rc1 != RC_FAIL) {
+        fprintf(stderr, "doFSFileDeletions() returned unexpected rc = %d\n",rc);
+      } else {
+        fprintf(stderr, "doFSFileDeletions() returned rc = %d\n", rc);
+      }
+  }  /* end switch */
+
+  /* Next, update the archive to reflect the new and changed files
+     in the filesystem. */
+  rc2 = doFSFileChanges(fsName, fsSnapshotPathname);
+  switch (rc2)
+  {
+    case RC_PSUCCESS:   /* The operation had partial success up to now. */
+    case RC_SUCCESS:    /* The operation had a total success. */
+      break;
+
+    case RC_FAIL:       /* The operation failed. */
+    default:            /* An unexpected error occurred. */
+      /* Indicate error. */
+      if (rc2 != RC_FAIL) {
+        fprintf(stderr, "doFSFileChanges() returned unexpected rc = %d\n", rc);
+      } else {
+        fprintf(stderr, "doFSFileChanges() returned rc = %d\n", rc);
+      }
+  }  /* end switch */
+
+  // Create rc as a composite of rc1 and rc2.
+  if (rc1 == RC_FAIL || rc2 == RC_FAIL) {
+    rc = RC_FAIL;
+  } else if (rc1 == RC_PSUCCESS || rc2 == RC_PSUCCESS) {
+    rc = RC_PSUCCESS;
+  } else {
+    rc = RC_SUCCESS;
+  }
+
+  /* Process the deletions and changes composite return code. */
+  switch (rc)
+  {
+    case RC_SUCCESS:   /* The operation had total success. */
+      /* Delete any pending transactions file left over
+         from a previous partial success. */
+      unlink(pendingTransactionsList);
+
+      /* Erase the backup control file. */
+      unlink(fsBackupCtrl);
+
+      /* Indicate complete success. */
+      backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_FULL;
+      break;
+
+    case RC_PSUCCESS:   /* The operation had partial success. */
+      /* Erase the backup control file. */
+      unlink(fsBackupCtrl);
+
+      /* Indicate partial success and store the backup type. */
+      backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_PARTIAL;
+      strcpy(backupControlHdrP->backupType, "incremental");
+      break;
+
+    case RC_FAIL:      /* The operation failed. */
+    default:
+      backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_NONE;
+      break;
+  }
+
+delete_snapshot:
+  /* Delete the snapshot if the completion level was anything other than
+     partial (we no longer need the snapshot if the completion level was
+     success or failure).  For completion level partial, the snapshot is
+     not deleted so that it is available for a subsequent resume backup. */
+  if (backupControlP->backupHdr.completionLevel != BACKUP_COMPLETION_PARTIAL)
+  {
+    /* Delete the snapshot. */
+    sprintf(sstring, "/usr/lpp/mmfs/bin/tsdelsnapshot %s %s > /dev/null",
+              deviceName, fsSnapshotName);
+    tmp = system(sstring);
+
+    /* Check system() return. */
+    if (tmp != 0)
+    {
+      fprintf(stderr, "system(%s) returned rc = %d\n", sstring, tmp);
+      return(RC_FAIL);
+    }
+  }
+
+  /* Write the updated backup control data to the backup control file. */
+  tmp = createBackupCtrlFile(fsBackupCtrl, backupControlP);
+  if (tmp != RC_SUCCESS)
+  {
+    /* Indicate error to user. */
+    free((void *) backupControlP);
+    return(RC_FAIL);
+  }
+
+release_storage:
+  free((void *) backupControlP);
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of doFSIncrementalBackup() ----------------*/
+
+
+/*
+ * NAME:  doFSResumeBackup()
+ *
+ * FUNCTION:
+ *   Resume the latest backup operation of a filesystem.
+ *
+ * PARAMETERS:
+ *   fsName:      (IN)  the full path name of the mounted filesystem
+ *   backupType:  (OUT) pointer to the type of the backup that was resumed
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_PSUCCESS on partial success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int doFSResumeBackup(char *fsName, char **backupType)
+{
+  Int32 tmp, rc, rc1 = RC_SUCCESS, rc2  = RC_SUCCESS;
+  gpfs_backup_control_t *backupControlP = NULL;
+  Boolean pendingWorkFound = false;
+  struct stat statBuf;
+  char* fn = "doFSResumeBackup";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Check whether there is a backup control file. */
+  rc = checkBackupCtrlFile();
+  if (rc != RC_SUCCESS)
+  {
+    /* Error:  there is no backup control file.
+       Print error message and return failure. */
+    fprintf(stderr, "The resume flag was specified, but a backup control file from a\nprevious backup does not exist.\n");
+    return(RC_FAIL);
+  }
+
+  /* Load the global backup control structure with the
+     information from the latest backup control file. */
+  rc = processBackupCtrlFile(fsName, fsBackupCtrl, &backupControlP);
+  if (rc != RC_SUCCESS)
+  {
+    *backupType = "unknown type";
+    fprintf(stderr, "processBackupCtrlFile() returned rc = %d\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Set the pointer to the backup type for use by the caller. */
+  *backupType = backupControlP->backupHdr.backupType;
+
+  /* Verify that the current completion indication is partial completion. */
+  if (backupControlP->backupHdr.completionLevel != BACKUP_COMPLETION_PARTIAL)
+  {
+    fprintf(stderr, "Unable to resume; either the previous backup was completely successful,\nor it did not succeed enough to be resumable.\n");  // BCH - possible candidate for message catalog
+    free(backupControlP);
+    return(RC_FAIL);
+  }
+
+  /* Create the full path name for the filesystem snapshot. */
+  strncpy(fsSnapshotName, backupControlP->backupHdr.snapshotName,
+            MAX_FILE_NAME);
+
+  /* Get the snapshot handle for the snapshot, and then use
+     the handle to get the full pathname of the snapshot. */
+  fsSnapHandleP = gpfs_get_fssnaphandle_by_name(deviceName, fsSnapshotName);
+  if (fsSnapHandleP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_get_fssnaphandle_by_name(%s, %s): %s\n",
+              "doFSResumeBackup", fsName, fsSnapshotName, strerror(rc));
+    return(RC_FAIL);
+  }
+  snapshotPathname = gpfs_get_pathname_from_fssnaphandle(fsSnapHandleP);
+  if (snapshotPathname == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_get_pathname_from_fssnaphandle(%s): %s\n",
+              "doFSResumeBackup", fsSnapHandleP, strerror(rc));
+    return(RC_FAIL);
+  }
+  strcpy(fsSnapshotPathname, snapshotPathname);
+  
+  /* Create a child process to issue reassuring messages to the user
+     in case the remaining work takes a long time. */
+  forkMsgChild();
+ 
+  /* Create the full pathname for the pending deletions file. */
+  snprintf(pendingTransactionsList, MAX_FILE_NAME, "%s/%s",
+             fsName, pendingDeletionsName);
+
+  /* Check whether the pending deletions file exists. */
+  tmp = stat(pendingTransactionsList, &statBuf);
+  if (tmp == -1)
+  {
+    if (errno != ENOENT)
+    {
+      fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+                pendingTransactionsList, errno);
+      return(RC_FAIL);
+    }
+  }
+  else
+  {
+    /* Rename the pending deletions file to be the transactions file. */
+    tmp = rename(pendingTransactionsList, transactionsList);
+    if (tmp != 0)
+    {
+      fprintf(stderr, "rename(%s, %s) returned %d\n",
+                pendingTransactionsList, transactionsList, rc);
+      free(backupControlP);
+      return(RC_FAIL);
+    }
+
+    /* Invoke routine to process the transactions file.  The true flag
+       that is passed tells the routine to divy the transactions file
+       among the client processes based on aggregate file size, not by
+       number of files, which is what makes sense when doing backups. */
+    rc1 = processFilelist(fsName,
+                            transactionCmdExpire,
+                            transactionCmdOption,
+                            backupControlP,
+                            true);
+
+    // Set flag to indicate something was found and processed.
+    pendingWorkFound = true;
+  }
+
+  /* Create the full pathname for the pending changes file. */
+  snprintf(pendingTransactionsList, MAX_FILE_NAME, "%s/%s",
+             fsName, pendingChangesName);
+
+  /* Check whether the pending changes file exists. */
+  tmp = stat(pendingTransactionsList, &statBuf);
+  if (tmp == -1)
+  {
+    if (errno != ENOENT)
+    {
+      fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+                pendingTransactionsList, errno);
+      return(RC_FAIL);
+    }
+  }
+  else
+  {
+    /* Rename the pending deletions file to be the transactions file. */
+    tmp = rename(pendingTransactionsList, transactionsList);
+    if (tmp != 0)
+    {
+      fprintf(stderr, "rename(%s, %s) returned %d\n",
+                pendingTransactionsList, transactionsList, rc);
+      free(backupControlP);
+      return(RC_FAIL);
+    }
+
+    /* Invoke routine to process the transactions file.  The true flag
+       that is passed tells the routine to divy the transactions file
+       among the client processes based on aggregate file size, not by
+       number of files, which is what makes sense when doing backups. */
+    rc2 = processFilelist(fsName,
+                            transactionCmdSelective,
+                            transactionCmdOption,
+                            backupControlP,
+                            true);
+
+    // Set flag to indicate something was found and processed.
+    pendingWorkFound = true;
+  }
+
+  // If no work was found, issue an error and exit.
+  if (pendingWorkFound == false)
+  {
+    fprintf(stderr,
+              "Resume was specified, but no pending work files were found.\n");
+    free(backupControlP);
+    return(RC_FAIL);
+  }
+
+  // Create rc as a composite of rc1 and rc2.
+  if (rc1 == RC_FAIL || rc2 == RC_FAIL) {
+    rc = RC_FAIL;
+  } else if (rc1 == RC_PSUCCESS || rc2 == RC_PSUCCESS) {
+    rc = RC_PSUCCESS;
+  } else {
+    rc = RC_SUCCESS;
+  }
+
+  /* Process the deletions and changes composite return code. */
+  switch (rc)
+  {
+    case RC_SUCCESS:    /* complete success */
+      /* Set the backup completion indicator to indicate full. */
+      backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_FULL;
+      break;
+
+    case RC_PSUCCESS:   /* partial success */
+      /* Set the backup completion indicator to indicate partial success. */
+      backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_PARTIAL;
+      break;
+
+    case RC_FAIL:       /* failure */
+    default:            /* Unexpected rc */
+      /* Issue error message. */
+      fprintf(stderr, "processFilelist() returned rc = %d\n", rc);
+
+      /* Set the backup completion indicator to indicate complete failure. */
+      backupControlP->backupHdr.completionLevel = BACKUP_COMPLETION_NONE;
+      rc = RC_FAIL;
+      break;
+  }
+
+  /* Recreate the backup control file with the updated control data. */
+  tmp = createBackupCtrlFile(fsBackupCtrl, backupControlP);
+  if (tmp != RC_SUCCESS)
+  {
+    /* Indicate error to user. */
+    fprintf(stderr,
+              "doFSResumeBackup(): createBackupCtrlFile() returned rc = %d\n",
+              tmp);
+    rc = RC_FAIL;
+  }
+
+  /* Delete the snapshot if the completion level was anything other than
+     partial (we no longer need the snapshot if the completion level was
+     success or failure).  For completion level partial, the snapshot is
+     not deleted so that it is available for a subsequent resume backup. */
+  if (backupControlP->backupHdr.completionLevel != BACKUP_COMPLETION_PARTIAL)
+  {
+    /* Delete the snapshot. */
+    sprintf(sstring, "/usr/lpp/mmfs/bin/tsdelsnapshot %s %s > /dev/null",
+              deviceName, fsSnapshotName);
+    tmp = system(sstring);
+
+    /* Check system() return. */
+    if (tmp != 0)
+    {
+      fprintf(stderr, "system(%s) returned rc = %d\n", sstring, tmp);
+      return(RC_FAIL);
+    }
+  }
+
+  free(backupControlP);
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of doFSResumeBackup() ----------------*/
+
+
+/*
+ * NAME:  doFSBackup()
+ *
+ * FUNCTION:
+ *   Do a full backup of a filesystem.
+ *
+ * PARAMETERS:
+ *   fsName:              (IN) the full path name of the mounted filesystem
+ *   fsSnapshotPathName:  (IN) the full path name of the filesystem
+ *                               snapshot which is to be backed up
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_PSUCCESS on partial success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int doFSBackup(char *fsName, char *fsSnapshotPathname)
+{
+  Int32 tmp, rc, rc1 = RC_SUCCESS, rc2 = RC_SUCCESS;
+  Int32 numShadows;
+  Int32 clientIndex, numClients;
+  char filenameTemp[MAX_FILE_NAME];
+  inodeBitsArray *inodeBitsArrayP;
+  struct stat statBuf;
+  char* fn = "doFSBackup";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* If there is a prior backup (as evidenced by the existence of
+     a shadow check file), process any files that have been deleted
+     since that backup was made. */
+  if (stat(backupShadowCheck, &statBuf) != -1)
+  {
+    /* Process the files that have been deleted from the
+       filesystem since the previous backup. */
+    rc1 = doFSFileDeletions(fsName, fsSnapshotPathname);
+    switch (rc1)
+    {
+      case RC_PSUCCESS:   /* The operation had partial success up to now. */
+      case RC_SUCCESS:    /* The operation had a total success. */
+        break;
+
+      case RC_FAIL:       /* The operation failed. */
+      default:            /* An unexpected error occurred. */
+        /* Indicate error. */
+        if (rc1 != RC_FAIL) {
+          fprintf(stderr,
+                    "doFSFileDeletions() returned unexpected rc = %d\n", rc1);
+        } else {
+          fprintf(stderr, "doFSFileDeletions() returned rc = %d\n", rc1);
+        }
+    }  /* end switch */
+
+  } else {
+
+    /* We come here if there was no prior backup, so doFSFileDeletions
+       was not called.  As a result, the backup shadow file has not
+       been created yet.  Proceed to do that now. */
+
+    /* Do an inodescan. */
+    inodeBitsArrayP = &inodeBitsP;
+    rc2 = doInodeScan(fsSnapshotPathname, inodeBitsArrayP, backupControlP);
+    if (rc2 != RC_SUCCESS)
+    {
+      fprintf(stderr, "doFSBackup(): doInodeScan() returned rc = %d\n", rc2);
+      return(RC_FAIL);
+    }
+
+    /* Create a backup shadow file, and store it
+       at the mount point of the filesystem. */
+    numShadows = 1;
+    rc2 = createSnapshotShadows(fsName, numShadows, inodeBitsP);
+    if (rc2 != RC_SUCCESS)
+    {
+      fprintf(stderr, "createSnapshotShadows() returned rc = %d\n", rc2);
+      free(inodeBitsP);
+      return(RC_FAIL);
+    }
+    free(inodeBitsP);
+
+    /* Sort the backup shadow file(s) by inode number. */
+    rc2 = sortShadowfilesByInode(numShadows);
+    if (rc2 != RC_SUCCESS)
+    {
+      fprintf(stderr, "sortShadowfilesByInode() returned rc = %d\n", rc2);
+      return(RC_FAIL);
+    }
+
+    /* Update the .backup_shadow0 file with the correct
+       file sizes and erase the filesizes file. */
+    rc2 = updateShadowfilesFilesizes(numShadows);
+    if (rc2 != RC_SUCCESS)
+    {
+      fprintf(stderr, "updateShadowfilesFilesizes() returned rc = %d\n", rc2);
+      return(RC_FAIL);
+    }
+
+    /* Sort the backup shadow file into alphabetical order by filename,
+       and store the results in a single backup shadow file. */
+    rc2 = sortShadowfilesByFilename();
+    if (rc2 != RC_SUCCESS)
+    {
+      fprintf(stderr, "sortShadowfilesByFilename() returned rc = %d\n", rc2);
+      return(RC_FAIL);
+    }
+  }
+
+  /* Create the list of files to be processed. */
+  rc2 = createFilelist(fsName, backupControlP);
+  if (rc2 != RC_SUCCESS)
+  {
+    fprintf(stderr, "createFilelist() returned rc = %d\n", rc2);
+    return(RC_FAIL);
+  }
+
+  /* Invoke routine to process the transactions file.  The true flag
+     that is passed tells the routine to divy the transactions file
+     among the client processes based on aggregate file size, not by
+     number of files, which is what makes sense when doing backups. */
+  rc2 = processFilelist(fsName,
+                          transactionCmdSelective,
+                          transactionCmdOption,
+                          backupControlP,
+                          true);
+
+  // Create rc as a composite of rc1 and rc2.
+  if (rc1 == RC_FAIL || rc2 == RC_FAIL) {
+    rc = RC_FAIL;
+  } else if (rc1 == RC_PSUCCESS || rc2 == RC_PSUCCESS) {
+    rc = RC_PSUCCESS;
+  } else {
+    rc = RC_SUCCESS;
+  }
+
+  /* Process the deletions and changes composite return code. */
+  switch (rc)
+  {
+    case RC_SUCCESS:   /* The operation had total success. */
+      /* We have complete success; delete any pending transactions file
+         left over from a previous partial success. */
+      unlink(pendingTransactionsList);
+      /* Intentionally fall into the partial success case. */
+    case RC_PSUCCESS:   /* The operation had partial success. */
+      /* Rename the backup shadow file to be the old backup shadow file. */
+      tmp = rename(backupShadowFile, backupShadowCheck);
+      if (tmp != 0)
+      {
+        fprintf(stderr, "rename(%s, %s) returned %d\n",
+                  backupShadowFile, backupShadowCheck, tmp);
+        return(RC_FAIL);
+      }
+      break;
+
+    case RC_FAIL:      /* The operation failed. */
+    default:
+      /* The command failed.  Cleanup the various files that were created. */
+#ifdef DEBUG_BACKUP
+      /* Leave the files as is for failure analysis. */
+#else
+      /* We need to do some cleanup here:
+         Delete any existing client transactions files. */
+      numClients = backupControlP->backupHdr.icf.numberOfClients;
+      for (clientIndex = 0; clientIndex < numClients; clientIndex++)
+      {
+        unlink(clientTransactionsList[clientIndex]);
+      }
+
+      /* Delete the backup shadow file. */
+      unlink(backupShadowFile);
+#endif  /* DEBUG_BACKUP */
+
+      break;
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of doFSBackup() ----------------*/
+
+
+/*
+ * NAME:  checkBackupCtrlFile()
+ *
+ * FUNCTION:
+ *   Check whether a backup control file exists.
+ *
+ * PARAMETERS:  none
+ *
+ * RETURNS:
+ *   RC_SUCCESS if file exists, RC_FAIL if it does not.
+ *
+ * NOTES:
+ */
+int checkBackupCtrlFile()
+{
+  Int32 rc;
+  Int32 handle;                     /* file descriptor for opening a file */
+  Int32 openFlags;                  /* flags setting in opening files */
+  char* fn = "checkBackupCtrlFile";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Determine whether the backup control file exists.
+     The presence of this file indicates the existence of a previous backup. */
+  openFlags = O_RDONLY;
+  handle = open(fsBackupCtrl, openFlags, 0666);
+  if (handle == -1)   // if the open of the backup control file failed
+  {
+    rc = RC_FAIL;
+    if (errno != ENOENT)  /* The file exists but it could not be opened. */
+    {
+      fprintf(stderr, "Unable to open file %s\n", fsBackupCtrl);
+    }
+  }
+  else
+  {
+    rc = RC_SUCCESS;
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of checkBackupCtrlFile() ----------------*/
+
+
+
+/*
+ * Utility functions
+ */
+
+/************************************************************************
+ * NOTE:  The code for these routines is based on equivalent routines
+ *        included in the GPFS code for classes.
+ *************************************************************************/
+
+
+# define BITS_PER_WORD 32
+int calcNWords(Int32 size)
+{
+  return (size + BITS_PER_WORD - 1) / BITS_PER_WORD;
+}
+
+
+/*
+ * NAME:  Bitmap()
+ *
+ * FUNCTION:
+ *    Construct a bit map of a specified size and return its address.
+ */
+int Bitmap(Int32 size, Bit initialValue, UInt32 **inodeBitsP)
+{
+  Int32 i, nWords;
+  UInt32 fillWord, endMask;
+  Int32 shift;
+  UInt32* bitsP;
+
+  /* Compute size of array of UInts, then allocate and initialize it */
+  assert(size > 0);
+  nWords = calcNWords(size);
+
+  bitsP = (UInt32 *) malloc(nWords * 4);
+
+  if (bitsP == NULL)
+    return(-1);
+
+  if (initialValue == oneBit)
+    fillWord = 0xFFFFFFFF;
+  else
+    fillWord = 0x00000000;
+
+  for (i = 0 ; i < nWords ; i++)
+    bitsP[i] = fillWord;
+
+  /* Harbison/Steele C book says:
+     "The result value is also undefined if the value of the right
+     operand is greater than or equal to the width (in bit positions)
+     of the value of the converted left operand."  In other words,
+     if you shift an int by 32 bits or more, the result is undefined. */
+  shift = (BITS_PER_WORD - (size%BITS_PER_WORD));
+
+  if (shift == BITS_PER_WORD)
+    endMask = 0xFFFFFFFF;
+  else
+    endMask = 0xFFFFFFFF << shift;
+
+  bitsP[nWords-1] = fillWord & endMask;
+  *inodeBitsP = bitsP;
+
+  return(0);
+
+}  /*------ end of Bitmap() ----------------*/
+
+
+#if 0
+/*
+ * NAME:  getValue()
+ *
+ * FUNCTION:
+ *   Return the current value of the bit with a given index.
+ *   Returns EINVAL if the index is out of range.
+ */
+int getValue(UInt32 *inodeBitsP, Int32 index, Bit* bitP)
+{
+  UInt32 word;
+  UInt32* bitsP;
+
+  bitsP = inodeBitsP;
+  if (index < 0)
+    return EINVAL;
+
+  word = bitsP[index/BITS_PER_WORD];
+
+  if ((word & (0x80000000 >> (index%BITS_PER_WORD))) == 0x0)
+    *bitP = zeroBit;
+  else
+    *bitP = oneBit;
+
+  return 0;
+
+}  /*------ end of getValue() ----------------*/
+#endif
+
+
+/*
+ * NAME:  testBit()
+ *
+ * FUNCTION:
+ *   Test a bit in a bit array.
+ *   Returns non-zero if the bit with the given index is a oneBit.
+ *   Returns 0 if the index is out of range.
+ */
+const UInt32 testBit(UInt32* inodeBitsP, Int32 index)
+{
+  UInt32 word;
+  UInt32* bitsP;
+
+  bitsP = inodeBitsP;
+
+  if (index < 0)
+  {
+    return 0;
+  }
+
+  word = bitsP[index/BITS_PER_WORD];
+
+  return word & (0x80000000 >> (index%BITS_PER_WORD));
+
+}  /*------ end of testBit() ----------------*/
+
+
+/*
+ * NAME:  setToZero()
+ *
+ * FUNCTION:
+ *   Set the value of a given bit in a bit array to zeroBit.
+ *   If oldValueP is not null, the old value of the bit is returned.
+ *   Returns EINVAL if the index is out of range.
+ */
+int setToZero(inodeBitsArray inodeBitsP, Int32 index, Bit* oldValueP)
+{
+  UInt32 oldWord;
+  UInt32 mask;
+  UInt32* bitsP;
+
+  bitsP = inodeBitsP;
+
+  if (index < 0)
+  {
+    return EINVAL;
+  }
+
+  oldWord = bitsP[index/BITS_PER_WORD];
+
+  mask = 0x80000000 >> (index%BITS_PER_WORD);
+
+  if ((oldWord & mask) == 0x0)
+  {
+    if (oldValueP != NULL)
+    {
+      *oldValueP = zeroBit;
+    }
+  }
+  else
+  {
+    bitsP[index/BITS_PER_WORD] = oldWord & ~mask;
+    if (oldValueP != NULL)
+    {
+      *oldValueP = oneBit;
+    }
+  }
+
+  return 0;
+
+}  /*------ end of setToZero() ----------------*/
+
+
+/*
+ * NAME:  setToOne()
+ *
+ * FUNCTION:
+ *   Set the value of a given bit in a bit array to oneBit.
+ *   If oldValueP is not null, the old value of the bit is returned.
+ *   Returns EINVAL if the index is out of range.
+ */
+int setToOne(UInt32* inodeBitsP, Int32 index, Bit* oldValueP)
+{
+  UInt32 oldWord;
+  UInt32 mask;
+  UInt32* bitsP;
+
+  bitsP = inodeBitsP;
+
+  if (index < 0)
+  {
+    return EINVAL;
+  }
+
+  oldWord = bitsP[index/BITS_PER_WORD];
+
+  mask = 0x80000000 >> (index%BITS_PER_WORD);
+
+  if ((oldWord & mask) == 0x0)
+  {
+    bitsP[index/BITS_PER_WORD] = oldWord | mask;
+    if (oldValueP != NULL)
+    {
+      *oldValueP = zeroBit;
+    }
+  }
+  else
+  {
+    if (oldValueP != NULL)
+    {
+      *oldValueP = oneBit;
+    }
+  }
+
+  return 0;
+
+}  /*------ end of setToOne() ----------------*/
+
+
+/*
+ * NAME:  setAllToZero()
+ *
+ * FUNCTION:
+ *   Set all the bits of a bit array to zero.
+ */
+void setAllToZero(UInt32* bitsP, Int32 size)
+{
+  Int32 i;
+  Int64 nWords;
+
+  nWords = calcNWords(size);
+
+  for (i = 0 ; i < nWords ; i++)
+  {
+    bitsP[i] = 0x0;
+  }
+
+}  /*------ end of setAllToZero() ----------------*/
+
+
+/*
+ * NAME:  setAllToOne()
+ *
+ * FUNCTION:
+ *   Set all the bits of a bit array to one.
+ */
+void setAllToOne(UInt32* bitsP, Int32 size)
+{
+  Int32 i;
+  Int64 nWords;
+  UInt32 endMask;
+  Int32 shift;
+
+  nWords = calcNWords(size);
+
+  for (i = 0 ; i < nWords ; i++)
+  {
+    bitsP[i] = 0xFFFFFFFF;
+  }
+
+  shift = (BITS_PER_WORD - (size%BITS_PER_WORD));
+  if (shift == BITS_PER_WORD)
+  {
+    endMask = 0xFFFFFFFF;
+  }
+  else
+  {
+    endMask = 0xFFFFFFFF << shift;
+  }
+
+  bitsP[nWords-1] = 0xFFFFFFFF & endMask;
+
+}  /*------ end of setAllToOne() ----------------*/
+
+
+#define tst(a,b) (*mode == 'r'? (b) : (a))
+#define RDR     0
+#define WTR     1
+
+
+/*
+ * NAME:  pipeOpen()
+ *
+ * FUNCTION:
+ *   pipeOpen/pipeClose are taken from the AIX popen/pclose
+ *   equivalent.  The difference is that pipeOpen() clears
+ *   the signal mask in the forked process.
+ *
+ * TODO:  This routine needs to handle SIGCLD in an unobtrusive way
+ *        so we don't have to set up specific handlers for it
+ *        in the callers of this routine.
+ */
+FILE* pipeOpen(const char *cmd, const char *mode, pid_t *outPidP)
+{
+  Int32 p[2];
+  Int32 myside, yourside;
+  pid_t pid;
+  char* fn = "pipeOpen";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  if (pipe(p) < 0)
+  {
+    return NULL;
+  }
+
+  myside = tst(p[WTR], p[RDR]);
+  yourside = tst(p[RDR], p[WTR]);
+
+  if ((pid = fork()) == 0)
+  {
+    Int32 stdio;
+    struct stat statBuf;
+    sigset_t sigMask;
+
+    /* An exec inherits the signal mask,
+     * so we set up not to block anything anymore.
+     */
+    sigemptyset(&sigMask);
+    sigprocmask(SIG_SETMASK, &sigMask, NULL);
+
+    /* myside and yourside reverse roles in child */
+    stdio = tst(0, 1);
+    close(myside);
+
+    if (stdio != yourside)
+    {
+      close(stdio);
+      fcntl(yourside, F_DUPFD, stdio);
+      close(yourside);
+    }
+
+    if (stat(SHELL_PATH, &statBuf) != 0)
+    {
+      exit(127);
+    }
+
+    execl(SHELL_PATH, SHELL, "-c", cmd, (char *) 0);
+    exit(1);
+  }
+
+  if (pid < 0)
+  {
+    return NULL;
+  }
+
+  *outPidP = pid;
+  close(yourside);
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return fdopen(myside, mode);
+
+}  /*------ end of pipeOpen() ----------------*/
+
+
+/*
+ * NAME:  pipeClose()
+ *
+ */
+int pipeClose(FILE *ptr, pid_t pid)
+{
+  Int32 r = 0;
+  Int32 status;
+  struct sigaction ointact, oquitact, ohupact, ignact;
+  char* fn = "pipeClose";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  ignact.sa_handler = SIG_IGN;
+  sigemptyset(&(ignact.sa_mask));
+  ignact.sa_flags = 0 ;
+
+  fclose(ptr);
+
+  sigaction(SIGHUP, &ignact, &ohupact);
+  sigaction(SIGINT, &ignact, &ointact);
+  sigaction(SIGQUIT, &ignact, &oquitact);
+
+  if (pid == 0)
+  {
+    status = -1;
+  }
+  else
+  {
+    while ((r = waitpid(pid, &status, 0)) == -1)
+    {
+      if (errno != EINTR)
+      {
+        break;
+      }
+    }
+  }
+
+  if (r == -1)
+  {
+    status = -1;
+  }
+
+  sigaction(SIGHUP, &ohupact, NULL);
+  sigaction(SIGINT, &ointact, NULL);
+  sigaction(SIGQUIT, &oquitact, NULL);
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return status;
+
+}  /*------ end of pipeClose() ----------------*/
+
+
+/*
+ * NAME:  writeBuffer()
+ *
+ * FUNCTION:
+ *   Write out to a TransactionList file a specified number of bytes
+ *   of a buffer containing records pertinent to the file.
+ *
+ * PARAMETERS:
+ *   handle:  (IN) The file descriptor indicating the TransactionList file
+ *   Buffer:  (IN) Points to a buffer area which is to be written out
+ *                 to the TransactionList file.
+ *   size:    (IN) The size of the buffer area to be written out.
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int writeBuffer(int handle, transactionsListRecord *Buffer, size_t size)
+{
+  Int32 rc = RC_SUCCESS;
+  Int32 bytesWritten;
+
+  /* Write the specified number of bytes from the buffer
+     to the transaction list file. */
+  bytesWritten = write(handle, Buffer, size);
+
+  if (bytesWritten != size)
+  {
+    fprintf(stderr, "Error writing to %d; wrote %d bytes, not %d\n",
+              handle, bytesWritten, size);
+    return(RC_FAIL);
+  }
+
+  return(rc);
+
+}  /*------ end of writeBuffer() ----------------*/
+
+
+/*
+ * NAME:  processBackupCtrlFile()
+ *
+ * FUNCTION:
+ *   Given a filesystem and a backup control file containing information
+ *   from a previous tsbackup, store the control information in a backup
+ *   control structure in memory and return a pointer to it.
+ *
+ * PARAMETERS:
+ *   fsNameP              - (IN)  Points to the filesystem name.
+ *   BackupCtrlFile       - (IN)  Points to the file containing the pertinent
+ *                                  backup control information.
+ *   backupControlHeaderP - (OUT) Points to the gpfs_backup_control_t created
+ *                                  structure.
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int processBackupCtrlFile(char *fsName,
+                          char *BackupCtrlFile,
+                          gpfs_backup_control_t **backupControlHeaderP)
+{
+  Int32 rc = RC_SUCCESS;
+  Int32 bytesRead, bytesWritten;
+  char *fsNameP;
+  char *filename;
+  Int64 recordInFile;
+  offset_t nextReadOffset, actualOffset;
+  gpfs_backup_control_t *backupCtrlP;
+  Int32 fp;
+  char* fn = "processBackupCtrlFile";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  filename = BackupCtrlFile;
+  fsNameP = fsName;
+
+  /* Create gpfs_backup_control structure and initialize it
+     to null characters. */
+  backupCtrlP = (gpfs_backup_control_t *) malloc(sizeof(gpfs_backup_control_t));
+  if (backupCtrlP == NULL)
+  {
+    fprintf(stderr, "processBackupCtrlFile(): malloc failure");
+    *backupControlHeaderP = NULL;   /* Let the caller know the malloc failed. */
+    return(RC_FAIL);
+  }
+
+  memset((gpfs_backup_control_t *) backupCtrlP, '\0',
+            sizeof(gpfs_backup_control_t));
+
+  /* Open the BackupCtrlFile and process its contents to update the
+     gpfs_backup_control_t structure. */
+  fp = open(filename, O_RDONLY, 0664);
+  if (fp == -1)
+  {
+    fprintf(stderr, "processBackupCtrlFile(): open(%s) failure", filename);
+    return(RC_FAIL);
+  }
+
+  /* Set the file pointer to the beginning of the file. */
+  recordInFile = 0;
+  nextReadOffset = recordInFile*sizeof(gpfs_backup_control_t);
+  actualOffset = lseek(fp, nextReadOffset, SEEK_SET);
+  if (actualOffset != nextReadOffset)
+  {
+    fprintf(stderr, "Cannot seek to %lld in %s\n", nextReadOffset, filename);
+    return(RC_FAIL);
+  }
+
+  /* Read the control data from the file. */
+  bytesRead = read(fp, backupCtrlP, sizeof(gpfs_backup_control_t));
+  if (bytesRead != sizeof(gpfs_backup_control_t))
+  {
+    fprintf(stderr, "Error reading file %s\n", filename);
+    return(RC_FAIL);
+  }
+
+  /* Close the backup control file. */
+  close(fp);
+
+  /* Set the pointer to the data for use by the caller. */
+  *backupControlHeaderP = backupCtrlP;
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of processBackupCtrlFile() ----------------*/
+
+
+/*
+ * NAME:  forkMsgChild()
+ *
+ * FUNCTION:
+ *   Fork a child process that will issue reassuring thoughts periodically
+ *   until the master process ends.  This is to help the user be patient.
+ *
+ * PARAMETERS:
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int forkMsgChild()
+{
+  Int32 rc = RC_SUCCESS;
+  char commandBuffer[LINE_LENGTH];  /* cmd to execute */
+  pid_t pid;
+  char* fn = "forkMsgChild";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Create the command to cause the message child to produce messages. */
+  snprintf(commandBuffer, sizeof(commandBuffer),
+             "%s/bin/mmexectsmcmd %s %d > /dev/null 2>/dev/null",
+             INSTALL_DIRECTORY, "givestatus", 150);  // frequency = 2.5 min
+
+  /* Create the child process. */
+  pid = forkit(commandBuffer);
+
+  /* Check for complete failure (i.e., check whether nothing came back). */
+  if (pid < 0)
+  {
+    /* The command that was issued failed.
+       Issue an error message and return a bad return code. */
+    fprintf(stderr, "forkMsgChild(): forkit() returned pid = %d\n", pid);
+    rc = RC_FAIL;
+  }
+
+  /* Save the pid of the message process so that tsbackup can
+     kill the process when he (tsbackup) is about to exit. */
+  msgChildPid = pid;
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of forkMsgChild() ----------------*/
+
+
+/*
+ * NAME:  forkit()
+ *
+ * FUNCTION:  fork and exec a passed command
+ *
+ */
+pid_t forkit(const char *cmd)
+{
+  pid_t pid;
+  char* fn = "forkit";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  if ((pid = fork()) == 0)
+  {
+    struct stat statBuf;
+    sigset_t sigMask;
+
+    /* An exec inherits the signal mask,
+     * so we set up not to block anything anymore.
+     */
+    sigemptyset(&sigMask);
+    sigprocmask(SIG_SETMASK, &sigMask, NULL);
+
+    if (stat(SHELL_PATH, &statBuf) != 0)
+    {
+      exit(127);
+    }
+
+    execl(SHELL_PATH, SHELL, "-c", cmd, (char *) 0);
+    exit(1);
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(pid);
+
+}  /*------ end of forkit() ----------------*/
+
+
+/*
+ * NAME:  createClientFilelists()
+ *
+ * FUNCTION:
+ *   Create the transaction files for the client processes by divying
+ *   the transactions file into smaller files containing roughly similar
+ *   amounts of backup work.
+ *
+ * PARAMETERS:
+ *   backupControlHdrP:  (IN) Pointer to a gpfs_backup_control_t structure
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int createClientFilelists(gpfs_backup_control_t *backupControlHdrP)
+{
+  gpfs_backup_control_t *backupCtrlP;
+  Int64 clientTransListSize[MAX_BACKUP_CLIENT_PROCESSES];
+  Int64 targetSizeForProcess;
+  Int64 currentSizeForProcess= 0;
+  Int64 sizeOfFilesInBuffer = 0;
+  Int64 smallestSize; 
+  Int64 numberOfRecords;
+  Int32 bufferIndex;
+  Int32 processIndex;
+  Int32 numberOfProcesses, np;
+  Int32 i, j, rc = RC_SUCCESS;
+  Int32 smallestIndex; 
+  Int32 handle;
+  Int32 bytesRead, bytesWritten;
+  Boolean processHasWork = false;
+  transactionsListRecord transactionRecord;
+  transactionsListRecord buffer[NRECS_PER_BUFFER];
+  transactionsListRecord *dir_buffers[MAX_DIR_BUFFERS];
+  char filenameP[21];
+  char suffix[2];
+  char *testString;
+  offset_t nextWriteOffset, nextReadOffset, actualOffset;
+  size_t transactionRecordSize;
+  struct stat statBuf;
+  char* fn = "createClientFilelists";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Initializations */
+  transactionRecordSize = sizeof(transactionsListRecord);
+  backupCtrlP = backupControlHdrP;
+
+  /* Calculate the number of client processes. */
+  numberOfProcesses = backupCtrlP->backupHdr.icf.numberOfClients *  
+                        backupCtrlP->backupHdr.icf.processesPerClient;
+
+  /* If there is only one client process (possible, but fairly unlikely),
+     just rename the transactions file to TransactionsList_0. */
+  if (numberOfProcesses == 1)
+  {
+    /* Create the name of the file for the 0th (and only) client process. */
+    snprintf(clientTransactionsList[0], MAX_FILE_NAME, "%s%d",
+               transactionsList, 0);
+
+    /* Rename the transactions file. */
+    rc = rename(transactionsList, clientTransactionsList[0]);
+    if (rc != 0)
+    {
+      fprintf(stderr, "rename(%s, %s) returned rc = %d\n",
+                transactionsList, clientTransactionsList[0], rc);
+      return(RC_FAIL);
+    }
+  }
+  else   /* We come here if multiple client processes are needed. */
+  {
+    /* Create transaction files for the client processes in append mode.
+       The name of each created file will be TransactionsList_L, i.e.,
+       we will concatenate the client process suffix L (where L is the
+       client process index) to the existing TransactionsList filename. */
+    for (j = 0; j < numberOfProcesses; j++)
+    {
+      /* Create the name of the file for the jth client process. */
+      snprintf(clientTransactionsList[j], MAX_FILE_NAME, "%s%d",
+                 transactionsList, j);
+
+      /* Create the file in append mode. */
+      handle = open(clientTransactionsList[j],
+                      O_CREAT | O_APPEND | O_WRONLY | O_TRUNC, 0644);
+      if (handle == -1)
+      {
+        fprintf(stderr, "Cannot create %s\n", clientTransactionsList[j]);
+        return(RC_FAIL);
+      }
+      else
+      {
+        clientTransactionsListHandle[j] = handle;
+      }
+
+      /* Set the size of the newly-created list to zero. */
+      clientTransListSize[j] = 0;
+    }
+  }
+
+  if (Tracing) traceLine("tsbackup.C", fn, __LINE__);
+
+  /* If more than one client process is needed (which is most likely), 
+     divy the transactions file into as many files as there are processes,
+     each smaller file having a similar total aggregate file size. */
+  if (numberOfProcesses > 1)
+  {
+    /* Determine the number of records in the transactions file. */
+    rc = stat(transactionsList, &statBuf);
+    if (rc == -1)
+    {
+      fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+                transactionsList, errno);
+      return(RC_FAIL);
+    }
+    numberOfRecords = statBuf.st_size / transactionRecordSize;
+
+    /* Open the transactions file in read mode. */
+    handle = open(transactionsList, O_RDONLY, 0644);
+    if (handle == -1)
+    {
+      fprintf(stderr, "Cannot open %s\n", transactionsList);
+      return(RC_FAIL);
+    }
+
+    /* If this is a resume backup, doInodeScan() was not called and
+       so the total aggregate file size has not been calculated yet.
+       Calculate it now. */ 
+    if (Resume) 
+    {
+      /* Position the file handle to point to the first record. */
+      nextReadOffset = 0;
+      actualOffset = lseek(handle, nextReadOffset, SEEK_SET);
+      if (actualOffset != nextReadOffset)
+      {
+        fprintf(stderr, "Cannot seek to %lld in %s\n", nextReadOffset,
+                  transactionsList);
+        return(RC_FAIL);
+      }
+
+      /* Set the aggregate file size accumulator to zero. */
+      backupCtrlP->backupHdr.totalSizeOfFiles = 0;
+
+      /* Loop through the transactions file to calculate the aggregate size. */
+      while (( bytesRead =
+                 read(handle, &transactionRecord, transactionRecordSize)) > 0)
+      {
+        if (bytesRead != transactionRecordSize)
+        {
+          fprintf(stderr, "Error reading file %s\n", transactionsList);
+          return(RC_FAIL);
+        }
+
+        /* Add the file size to the aggregate file size accumulator. */
+        backupCtrlP->backupHdr.totalSizeOfFiles += 
+               strtoll((const char *) transactionRecord.filesize, NULL, 10);
+      }
+    }
+
+    /* Position the transactions file handle to point to the first record. */
+    nextReadOffset = 0;
+    actualOffset = lseek(handle, nextReadOffset, SEEK_SET);
+    if (actualOffset != nextReadOffset)
+    {
+      fprintf(stderr, "Cannot seek to %lld in %s\n", nextReadOffset,
+                transactionsList);
+      return(RC_FAIL);
+    }
+
+    /* Calculate the target aggregate files size for each client process. */
+    targetSizeForProcess =
+              backupCtrlP->backupHdr.totalSizeOfFiles / numberOfProcesses;
+
+    /* Initialize the buffer and process indices. */
+    bufferIndex = -1;
+    processIndex = 0;
+    np = 0;
+
+    /*
+     * Loop until all of the transaction records have been processed:
+     *  - Read a record from the transaction file.
+     *  - Handle the current transaction record as appropriate based on
+     *    how full the current client process's transaction file is.
+     *    The goal is to give each client process about the same amount
+     *    of backup work to do.
+     *  - Point to the next client process when the current client
+     *    process's transaction file reaches the desired target size.
+     */
+    while (numberOfRecords > 0)
+    {
+      /* Read the next record from the transaction file. */
+      bytesRead = read(handle, &transactionRecord, transactionRecordSize);
+      if (bytesRead != transactionRecordSize)
+      {
+        fprintf(stderr, "Error reading file %s\n", transactionsList);
+        return(RC_FAIL);
+      }
+
+      /* Decrement the number of records. */
+      numberOfRecords--;
+
+      /*
+       * Handle the transaction record for the current file.
+       * The record is handled differently based on how the file
+       * fits into the work allotted to the current client process.
+       * There are three cases:
+       *   1. Adding the file would cause the aggregate size to be
+       *      beyond the allowed size discretion;
+       *   2. Adding the file would cause the aggregate size to be
+       *      over the process limit but within the allowed discretion;
+       *   3. Adding the file would not cause the aggregate size to be
+       *      over the process limit.
+       */
+      if ((currentSizeForProcess + sizeOfFilesInBuffer +
+             strtoll((const char *) transactionRecord.filesize, NULL, 10)) >
+             targetSizeForProcess + PROCESS_OVERFLOW_DISCRETION)
+      {
+        /*
+         * We come here if the aggregate size will be beyond the allowed
+         * discretion.  The following steps are performed:
+         *   1. If the buffer has something in it, process the buffer:
+         *     a. Write the contents of the buffer to the
+         *        client process's transaction file.
+         *     b. Set flag indicating the current process file
+         *        has been written to.
+         *     c. Clear the buffer for use by the next process.
+         *   2. Copy the new transaction record for the file into the
+         *        buffer and increment the buffer size accumulator.
+         *   3. If the current process file has been written to,
+         *      point to the next client process: 
+         *     a. Increment the client process index.
+         *     b. Reset the process's size accumulator to 0.
+         *     c. Reset the flag indicating the current process
+         *        has been written to.
+         */
+
+        /* If the buffer has something in it, write it to
+           the client process's transaction file. */
+        if (bufferIndex > -1)
+        {
+          rc = writeBuffer(clientTransactionsListHandle[processIndex], buffer,
+                            (bufferIndex + 1) * transactionRecordSize);
+          if (rc != RC_SUCCESS)
+          {
+            fprintf(stderr,
+                 "createClientFilelists(): writeBuffer() returned rc = %d\n",
+                 rc);
+            return(RC_FAIL);
+          }
+
+          /* Calculate and store the file size value for this process. */
+          clientTransListSize[processIndex] =
+                                currentSizeForProcess + sizeOfFilesInBuffer;
+
+          /* Set a flag indicating that the current process file has work. */
+          processHasWork = true;
+
+          /* If this is the highest process index so far, save it
+             as the number of processes that have work so far. */
+          if (processIndex > np) {
+            np = processIndex;
+          }
+
+          /* Clear the buffer in preparation for reuse. */
+          memset(buffer, 0, transactionRecordSize*NRECS_PER_BUFFER);
+          sizeOfFilesInBuffer = 0;
+          bufferIndex = -1;
+        }
+
+        /* Copy the new record for the file into the buffer
+           and increment the buffer size accumulator. */
+        bufferIndex++;
+        memcpy((void *) &buffer[bufferIndex],
+                (const void *) &transactionRecord, transactionRecordSize);
+        sizeOfFilesInBuffer +=
+                strtoll((const char *) transactionRecord.filesize, NULL, 10);
+
+        if (processHasWork) 
+        {
+          /* Select the next process file to add work to.  Pick a process
+             whose file is empty or the one that has the most room. */
+          smallestSize = clientTransListSize[0];
+          for (j = 0; j < numberOfProcesses; j++)
+          {
+            if (clientTransListSize[j] == 0) {
+              smallestSize = 0;
+              smallestIndex = j;
+              break;
+            }
+            if (clientTransListSize[j] <= smallestSize) {
+              smallestSize = clientTransListSize[j]; 
+              smallestIndex = j;
+            }
+          }
+          processIndex = smallestIndex;
+          currentSizeForProcess = smallestSize;
+
+          /* Reset the "process has work" flag. */
+          processHasWork = false;
+        }
+
+      }
+      else if ((currentSizeForProcess + sizeOfFilesInBuffer +
+                strtoll((const char *) transactionRecord.filesize, NULL, 10)) >=
+                  targetSizeForProcess)
+      {
+        /*
+         * We come here if the aggregate size will be over the process target
+         * but within the allowed discretion. The following steps are performed:
+         *   1. Copy the new transaction record for the file into the
+         *        buffer and increment the buffer size accumulator.
+         *   2. Process the buffer:
+         *     a. Write the contents of the buffer to the
+         *          client process's transaction file.
+         *     b. Clear the buffer for use by the next process.
+         *   3. Point to the next client process:
+         *     a. Increment the client process index.
+         *     b. Reset the process's size accumulator to 0.
+         *     c. Reset the flag indicating the current process
+         *          has been written to.
+         */
+
+        /* Copy the new record for the file into the buffer
+           and increment the buffer size accumulator. */
+        bufferIndex++;
+        memcpy((void *) &buffer[bufferIndex],
+                (const void *) &transactionRecord, transactionRecordSize);
+        sizeOfFilesInBuffer +=
+                strtoll((const char *) transactionRecord.filesize, NULL, 10);
+
+        /* Write the contents of the buffer to the process file. */
+        rc = writeBuffer(clientTransactionsListHandle[processIndex], buffer,
+                          (bufferIndex + 1) * transactionRecordSize);
+        if (rc != RC_SUCCESS)
+        {
+          fprintf(stderr,
+                   "createClientFilelists(): writeBuffer() returned rc = %d\n",
+                   rc);
+          return(RC_FAIL);
+        }
+
+        /* Calculate and store the file size value for this process. */
+        clientTransListSize[processIndex] =
+                                currentSizeForProcess + sizeOfFilesInBuffer;
+
+        /* If this is the highest process index so far, save it
+           as the number of processes that have work so far. */
+        if (processIndex > np) {
+          np = processIndex;
+        }
+
+        /* Clear the buffer in preparation for reuse. */
+        memset(buffer, 0, transactionRecordSize*NRECS_PER_BUFFER);
+        sizeOfFilesInBuffer = 0;
+        bufferIndex = -1;
+
+        /* Select the next process file to add work to.  Pick a process
+           whose file is empty or the one that has the most room. */
+        smallestSize = clientTransListSize[0];
+        for (j = 0; j < numberOfProcesses; j++)
+        {
+          if (clientTransListSize[j] == 0) {
+            smallestSize = 0;
+            smallestIndex = j;
+            break;
+          }
+          if (clientTransListSize[j] <= smallestSize) {
+            smallestSize = clientTransListSize[j]; 
+            smallestIndex = j;
+          }
+        }
+        processIndex = smallestIndex;
+        currentSizeForProcess = smallestSize;
+
+        /* Reset the "process has work" flag. */
+        processHasWork = false;
+
+      }
+      else  /* We are within the limits allocated for the process. */
+      {
+        /*
+         * We come here if the aggregate size will be within the process
+         * target limit.  The following steps are performed:
+         *   1. Copy the new transaction record for the file into the
+         *        buffer and increment the buffer size accumulator.
+         *   2. If the buffer is full, process the buffer:
+         *     a. Write the contents of the buffer to the
+         *          client process's transaction file.
+         *     b. Increment the aggregate file size for the process.
+         *     c. Clear the buffer for use by the next process.
+         */
+
+        /* Copy the current transaction record to the buffer. */
+        bufferIndex++;
+        memcpy((void *) &buffer[bufferIndex],
+                (const void *) &transactionRecord, transactionRecordSize);
+        sizeOfFilesInBuffer +=
+                strtoll((const char *) transactionRecord.filesize, NULL, 10);
+
+        /* If the buffer is full, write its contents to
+           the transaction file for the client process. */
+        if ((bufferIndex + 1) == NRECS_PER_BUFFER)
+        {
+          /* Write out the buffer and start a new buffer. */
+          rc = writeBuffer(clientTransactionsListHandle[processIndex], buffer,
+                            (bufferIndex + 1) * transactionRecordSize);
+          if (rc != RC_SUCCESS)
+          {
+            fprintf(stderr,
+                     "createClientFilelists: writeBuffer() returned rc = %d\n",
+                     rc);
+            return(RC_FAIL);
+          }
+ 
+          /* Set a flag indicating that the current process file has work. */
+          processHasWork = true;
+
+          /* If this is the highest process index so far, save it
+             as the number of processes that have work so far. */
+          if (processIndex > np) {
+            np = processIndex;
+          }
+
+          /* Increment the file size value for this process. */
+          currentSizeForProcess += sizeOfFilesInBuffer;
+
+          /* Store the file size value for this process. */
+          clientTransListSize[processIndex] = currentSizeForProcess;
+
+          /* Clear the buffer in preparation for reuse. */
+          memset(buffer, 0, transactionRecordSize*NRECS_PER_BUFFER);
+          sizeOfFilesInBuffer = 0;
+          bufferIndex = -1;
+        }
+      }
+
+    }  /* end while (numberOfRecords > 0) */
+
+    /* We have finished reading the records in the file.
+       If the buffer has something in it, write it to
+       the client process's transaction file. */
+    if (bufferIndex > -1)
+    {
+      rc = writeBuffer(clientTransactionsListHandle[processIndex], buffer,
+                        (bufferIndex + 1) * transactionRecordSize);
+      if (rc != RC_SUCCESS)
+      {
+        fprintf(stderr,
+                "createClientFilelists: writeBuffer() returned rc = %d\n", rc);
+        return(RC_FAIL);
+      }
+
+      /* If this is the highest process index so far, save it
+         as the number of processes that have work so far. */
+      if (processIndex > np) {
+        np = processIndex;
+      }
+    }
+
+  } else {   // Only one process was specified.  
+
+    /* Set the process number variable to 0. */
+    np = 0;
+
+  }  /* end if (numberOfProcesses > 1) */
+
+  if (Tracing) traceLine("tsbackup.C", fn, __LINE__);
+
+  /* Set the number of processes to the actual number of processes
+     for which we created transaction files. */
+  backupCtrlP->backupHdr.numberOfProcesses = np + 1;
+
+  /* If there were multiple processes, close the created client
+     process transaction files and delete any that are empty. */
+  if (numberOfProcesses > 1)
+  {
+    /* Close the created client process transaction files. */
+    for (j = 0; j < numberOfProcesses; j++)
+    {
+      rc = close(clientTransactionsListHandle[j]);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Cannot close file %s.\n", clientTransactionsList[j]);
+        return(RC_FAIL);
+      }
+    }
+
+    /* Delete any created client process transactions files that are empty. */
+    for (j = np+1; j < numberOfProcesses; j++)
+    {
+      /* Delete the empty client process transactions file. */
+      unlink(clientTransactionsList[j]);
+    }
+  }  /* end if (numberOfProcesses > 1) */
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of createClientFilelists() ----------------*/
+
+
+/*
+ * NAME:  createClientFilelists2()
+ *
+ * FUNCTION:
+ *   Create the transaction files for the client processes by divying
+ *   the transactions file into smaller files containing roughly similar
+ *   numbers of records.
+ *
+ * PARAMETERS:
+ *   backupControlHdrP:  (IN) Pointer to a gpfs_backup_control_t structure
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int createClientFilelists2(gpfs_backup_control_t *backupControlHdrP)
+{
+  gpfs_backup_control_t *backupCtrlP;
+  Int64 targetSizeForProcess;
+  Int64 currentSizeForProcess= 0;
+  Int64 sizeOfFilesInBuffer = 0;
+  Int64 numberOfRecords, nrecs;
+  Int32 bufferIndex;
+  Int32 processIndex;
+  Int32 numberOfProcesses, np, numberPerProcess;
+  Int32 i, j, rc = RC_SUCCESS;
+  Int32 handle;
+  Int32 bytesRead, bytesWritten;
+  Boolean processHasWork = false;
+  transactionsListRecord transactionRecord;
+  transactionsListRecord buffer[NRECS_PER_BUFFER];
+  transactionsListRecord *dir_buffers[MAX_DIR_BUFFERS];
+  char filenameP[21];
+  char suffix[2];
+  char *testString;
+  offset_t nextWriteOffset, nextReadOffset, actualOffset;
+  size_t transactionRecordSize;
+  struct stat statBuf;
+  char* fn = "createClientFilelists2";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Initializations */
+  transactionRecordSize = sizeof(transactionsListRecord);
+  backupCtrlP = backupControlHdrP;
+
+  /* Calculate the number of client processes. */
+  numberOfProcesses = backupCtrlP->backupHdr.icf.numberOfClients *  
+                        backupCtrlP->backupHdr.icf.processesPerClient;
+
+  /* If there is only one client process (possible, but fairly unlikely),
+     just rename the transactions file to TransactionsList_0. */
+  if (numberOfProcesses == 1)
+  {
+    /* Create the name of the file for the 0th (and only) client process. */
+    snprintf(clientTransactionsList[0], MAX_FILE_NAME, "%s%d",
+               transactionsList, 0);
+
+    /* Rename the transactions file. */
+    rc = rename(transactionsList, clientTransactionsList[0]);
+    if (rc != 0)
+    {
+      fprintf(stderr, "rename(%s, %s) returned rc = %d\n",
+                transactionsList, clientTransactionsList[0], rc);
+      return(RC_FAIL);
+    }
+  }
+  else   /* We come here if multiple client processes are needed. */
+  {
+    /* Create transaction files for the client processes in append mode.
+       The name of each created file will be TransactionsList_L, i.e.,
+       we will concatenate the client process suffix L (where L is the
+       client process index) to the existing TransactionsList filename. */
+    for (j = 0; j < numberOfProcesses; j++)
+    {
+      /* Create the name of the file for the jth client process. */
+      snprintf(clientTransactionsList[j], MAX_FILE_NAME, "%s%d",
+                 transactionsList, j);
+
+      /* Create the file in append mode. */
+      handle = open(clientTransactionsList[j],
+                      O_CREAT | O_APPEND | O_WRONLY | O_TRUNC, 0644);
+      if (handle == -1)
+      {
+        fprintf(stderr, "Cannot create %s\n", clientTransactionsList[j]);
+        return(RC_FAIL);
+      }
+      else
+      {
+        clientTransactionsListHandle[j] = handle;
+      }
+    }
+  }
+
+  if (Tracing) traceLine("tsbackup.C", fn, __LINE__);
+
+  /* If more than one client process is needed (which is most likely), 
+     divy the transactions file into as many files as there are processes,
+     each smaller file having the same number of files (or nearly so). */
+  if (numberOfProcesses > 1)
+  {
+    /* Determine the number of records in the transactions file. */
+    rc = stat(transactionsList, &statBuf);
+    if (rc == -1)
+    {
+      fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+                transactionsList, errno);
+      return(RC_FAIL);
+    }
+    numberOfRecords = statBuf.st_size / transactionRecordSize;
+    numberPerProcess =
+                numberOfRecords / (backupCtrlP->backupHdr.numberOfProcesses);
+
+    /* Open the transactions file in read mode. */
+    handle = open(transactionsList, O_RDONLY, 0644);
+    if (handle == -1)
+    {
+      fprintf(stderr, "Cannot open %s\n", transactionsList);
+      return(RC_FAIL);
+    }
+
+    /* Position the transactions file handle to point to the first record. */
+    nextReadOffset = 0;
+    actualOffset = lseek(handle, nextReadOffset, SEEK_SET);
+    if (actualOffset != nextReadOffset)
+    {
+      fprintf(stderr, "Cannot seek to %lld in %s\n", nextReadOffset,
+                transactionsList);
+      return(RC_FAIL);
+    }
+
+    /* Initialize the buffer and process indices. */
+    bufferIndex = -1;
+    processIndex = 0;
+    nrecs = 0;
+
+    /*
+     * Loop until all of the transaction records have been processed:
+     *  - Read a record from the transaction file.
+     *  - Handle the current transaction record as appropriate based on
+     *    how full the current client process's transaction file is.
+     *    The goal is to give each client process about the same amount
+     *    of backup work to do.
+     *  - Point to the next client process when the current client
+     *    process's transaction file reaches the desired target size.
+     */
+    while (numberOfRecords > 0)
+    {
+      /* Read the next record from the transaction file. */
+      bytesRead = read(handle, &transactionRecord, transactionRecordSize);
+      if (bytesRead != transactionRecordSize)
+      {
+        fprintf(stderr, "Error reading file %s\n", transactionsList);
+        return(RC_FAIL);
+      }
+
+      /* Decrement the total number of records and
+         increment the number of records for the current process. */
+      numberOfRecords--;
+      nrecs++;
+
+      /* If we are filling the transaction file for the last client process,
+         go right to the code to write the tranaction record appropriately. */
+      if (processIndex == numberOfProcesses - 1) {
+        goto put_record2;
+      }
+
+      /*
+       * Handle the transaction record for the current file.
+       * The record is handled differently based on how the file
+       * fits into work allotted to the current client process.
+       * There are two cases:
+       *   1. Adding the file would cause the client file to have
+       *      more records than the target number of records;
+       *   2. Adding the file would not cause the client file to have
+       *      more records than the target number of records;
+       */
+      if (nrecs >= numberPerProcess)
+      {
+        /*
+         * We come here if adding the file would cause the client file
+         * to have more records than the target.  The following steps
+         * are performed:
+         *   1. If the buffer has something in it, process the buffer:
+         *     a. Write the contents of the buffer to the
+         *        client process's transaction file.
+         *     b. Set flag indicating the current process file
+         *        has been written to.
+         *     c. Clear the buffer for use by the next process.
+         *   2. Copy the new transaction record for the file into the
+         *        buffer and increment the buffer size accumulator.
+         *   3. If the current process file has been written to,
+         *      point to the next client process: 
+         *     a. Increment the client process index.
+         *     b. Reset the process's size accumulator to 0.
+         *     c. Reset the flag indicating the current process
+         *        has been written to.
+         */
+
+        /* If the buffer has something in it, write it to the client process's
+           transaction file. */
+        if (bufferIndex > -1)
+        {
+          rc = writeBuffer(clientTransactionsListHandle[processIndex], buffer,
+                            (bufferIndex + 1) * transactionRecordSize);
+          if (rc != RC_SUCCESS)
+          {
+            fprintf(stderr,
+                 "createClientFilelists2(): writeBuffer() returned rc = %d\n",
+                 rc);
+            return(RC_FAIL);
+          }
+
+          /* Set a flag indicating that the current process file has work. */
+          processHasWork = true;
+
+          /* Save the process index as the number of processes
+             that have work so far. */
+          np = processIndex;
+
+          /* Clear the buffer in preparation for reuse. */
+          memset(buffer, 0, transactionRecordSize*NRECS_PER_BUFFER);
+          bufferIndex = -1;
+        }
+
+        /* Copy the new record for the file into the buffer
+           and increment the buffer size accumulator. */
+        bufferIndex++;
+        memcpy((void *) &buffer[bufferIndex],
+                (const void *) &transactionRecord, transactionRecordSize);
+
+        if (processHasWork) 
+        {
+          /* Point to the next client process and set its size to zero. */
+          processIndex++;
+          nrecs = 0;
+
+          /* Reset the "process has work" flag. */
+          processHasWork = false;
+        }
+
+      }
+      else  /* We are within the limits of the size allocated for the server. */
+      {
+        /*
+         * We come here if adding the file would not cause the client file
+         * to have more records than the target.  The following steps
+         * are performed:
+         *   1. Copy the new transaction record for the file into the
+         *        buffer and increment the buffer size accumulator.
+         *   2. If the buffer is full, process the buffer:
+         *     a. Write the contents of the buffer to the
+         *        client process's transaction file.
+         *     b. Clear the buffer for use by the next process.
+         */
+
+        /* Copy the current transaction record to the buffer. */
+      put_record2:
+        bufferIndex++;
+        memcpy((void *) &buffer[bufferIndex],
+                (const void *) &transactionRecord, transactionRecordSize);
+
+        /* If the buffer is full, write its contents to the transaction file
+           for the client process. */
+        if ((bufferIndex + 1) == NRECS_PER_BUFFER)
+        {
+          /* Write out the buffer and start a new buffer. */
+          rc = writeBuffer(clientTransactionsListHandle[processIndex], buffer,
+                            (bufferIndex + 1) * transactionRecordSize);
+          if (rc != RC_SUCCESS)
+          {
+            fprintf(stderr,
+                    "createClientFilelists2: writeBuffer() returned rc = %d\n",
+                    rc);
+            return(RC_FAIL);
+          }
+ 
+          /* Set a flag indicating that the current process file has work. */
+          processHasWork = true;
+
+          /* Save the process index as the number of processes
+             that have work so far. */
+          np = processIndex;
+
+          /* Clear the buffer in preparation for reuse. */
+          memset(buffer, 0, transactionRecordSize*NRECS_PER_BUFFER);
+          bufferIndex = -1;
+        }
+      }
+
+    }  /* end while (numberOfRecords > 0) */
+
+    /* We have finished reading the records in the file.
+     * If the buffer has something in it, write it to the client process's
+     * transaction file. */
+    if (bufferIndex > -1)
+    {
+      rc = writeBuffer(clientTransactionsListHandle[processIndex], buffer,
+                        (bufferIndex + 1) * transactionRecordSize);
+      if (rc != RC_SUCCESS)
+      {
+        fprintf(stderr,
+             "createClientFilelists2: writeBuffer() returned rc = %d\n", rc);
+        return(RC_FAIL);
+      }
+
+      /* Save the process index as the number of processes
+         that have work so far. */
+      np = processIndex;
+    }
+
+  } else {   // Only one process was specified.  
+
+    /* Set the process number variable to 0. */
+    np = 0;
+
+  }  /* end if (numberOfProcesses > 1) */
+
+  if (Tracing) traceLine("tsbackup.C", fn, __LINE__);
+
+  /* Set the number of processes to the actual number of processes
+     for which we created transaction files. */
+  backupCtrlP->backupHdr.numberOfProcesses = np + 1;
+
+  /* If there were multiple processes, close the created client
+     process transaction files and delete any that are empty. */
+  if (numberOfProcesses > 1)
+  {
+    /* Close the created client process transaction files. */
+    for (j = 0; j < numberOfProcesses; j++)
+    {
+      rc = close(clientTransactionsListHandle[j]);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Cannot close file %s.\n", clientTransactionsList[j]);
+        return(RC_FAIL);
+      }
+    }
+
+    /* Delete any created client process transactions files that are empty. */
+    for (j = np+1; j < numberOfProcesses; j++)
+    {
+      /* Delete the empty client process transactions file. */
+      unlink(clientTransactionsList[j]);
+    }
+  }  /* end if (numberOfProcesses > 1) */
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of createClientFilelists2() ----------------*/
+
+
+/*
+ * NAME:  createBackupSnapshot()
+ *
+ * FUNCTION:
+ *   Create a snapshot of a GPFS filesystem and store it at
+ *   the mountpoint of the filesystem.
+ *
+ * PARAMETERS:
+ *   fsName       - (IN) Pointer to the device of the filesystem
+ *                         for which to get a snapshot
+ *   snapshotName - (IN) snapshot name
+ *
+ * RETURNS:
+ *   Errno
+ *
+ * NOTES:
+ */
+int createBackupSnapshot(char *deviceName, char *snapshotName)
+{
+  Int32 rc = RC_SUCCESS;
+  struct stat statBuf;
+  char* fn = "createBackupSnapshot";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Obtain a handle to access the active filesystem. */
+  fsSnapHandleP = gpfs_get_fssnaphandle_by_name(deviceName, NULL);
+  if (fsSnapHandleP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_get_fssnaphandle_by_name(%s, %s): %s\n",
+              fn, deviceName, "NULL", strerror(rc));
+    return(RC_FAIL);
+  }
+
+  /* Use the handle to obtain the name of the subdirectory
+     in which snapshots would be created. */
+  rc = gpfs_get_snapdirname(fsSnapHandleP, snapshotSubdir, MAX_FILE_NAME);
+  if (rc == -1)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_get_snapdirname(%s, %s, %d): %s\n",
+              fn, fsSnapHandleP, snapshotSubdir, MAX_FILE_NAME, strerror(rc));
+    return(RC_FAIL);
+  }
+
+  /* Determine whether there would be a name collision if a snapshot
+     were created.  If so, issue an error message and fail. */
+  sprintf(sstring, "%s/%s", fsName, snapshotSubdir);
+  rc = stat(sstring, &statBuf);
+  if (rc == -1)
+  {
+    /* It is acceptable for the snapshot directory to not exist;
+       Otherwise, issue an error and fail. */
+    if (errno != ENOENT)
+    {
+      fprintf(stderr, "Could not stat directory '%s', errno=%d\n",
+                sstring, errno);
+      return(RC_FAIL);
+    }
+  }
+  else
+  {
+    /* If we get here, the subdirectory exists.  That is ok if it is the
+       special subdirectory for snapshots;  to recognize this we use the
+       fact that the snapshot subdirectory always has an inode number
+       whose value is 0xFFFF0000 (best test we have right now, per Frank).
+       Otherwise, issue an error message stating we have a name collision
+       and then fail the routine. */
+    if (statBuf.st_ino != 0xFFFF0000)
+    {
+      fprintf(stderr,
+     "tsbackup: Subdirectory %s already exists.  Unable to create snapshot.\n",
+              sstring);
+      return(RC_FAIL);
+    }
+   
+    /* Delete the backup snapshot if it exists. */
+    sprintf(sstring, "%s/%s", sstring, snapshotName);
+    if (stat(sstring, &statBuf) != -1)
+    {
+      /* Delete the snapshot. */
+      sprintf(sstring, "/usr/lpp/mmfs/bin/tsdelsnapshot %s %s > /dev/null",
+                deviceName, snapshotName);
+      rc = system(sstring);
+
+      /* Check system() return. */
+      if (rc != 0)
+      {
+        fprintf(stderr, "system(%s) returned rc = %d\n", sstring, rc);
+        return(RC_FAIL);
+      }
+    }
+  }
+  
+  /* Issue the tscrsnapshot command to create a snapshot
+     and store it at the mount point of the filesystem. */
+  sprintf(sstring, "/usr/lpp/mmfs/bin/tscrsnapshot %s %s > /dev/null",
+            deviceName, snapshotName);
+  rc = system(sstring);
+
+  /* check system() return  */
+  if (rc != 0)
+  {
+    fprintf(stderr, "system(%s) returned rc = %d\n", sstring, rc);
+// BCH - possible candidate for message catalog
+    fprintf(stderr, "Creation of filesystem snapshot did not succeed.\n");
+    return(RC_FAIL);
+  }
+
+  /* Create fsSnapshotPathname now that we have a snapshot.
+     Get the snapshot handle for the snapshot and then
+     use the handle to get the full pathname of the snapshot. */
+  fsSnapHandleP = gpfs_get_fssnaphandle_by_name(deviceName, fsSnapshotName);
+  if (fsSnapHandleP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_get_fssnaphandle_by_name(%s, %s): %s\n",
+              fn, deviceName, fsSnapshotName, strerror(rc));
+    return(RC_FAIL);
+  }
+
+  /* Use the handle to get the full pathname of the snapshot. */
+  snapshotPathname = gpfs_get_pathname_from_fssnaphandle(fsSnapHandleP);
+  if (snapshotPathname == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_get_pathname_from_fssnaphandle(%s): %s\n",
+              fn, fsSnapHandleP, strerror(rc));
+    return(RC_FAIL);
+  }
+  strcpy(fsSnapshotPathname, snapshotPathname);
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of createBackupSnapshot() ----------------*/
+
+
+/*
+ * NAME:  processInputCtrlFile()
+ *
+ * FUNCTION:
+ *   Process the input control file (the file passed via the -F parameter
+ *   of mmbackup) which contains the information for controlling the backup.
+ *
+ * PARAMETERS:
+ *   fsNameP              - (IN)  pointer to the filesystem mount point
+ *   inputCtrlFile        - (IN)  pointer to the file containing the pertinent
+ *                                 TSM client and server node information
+ *   backupControlHeaderP - (OUT) pointer to the gpfs_backup_control_t created
+ *                                 structure; the header info in this structure
+ *                                 contains the information regarding the nodes
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ *
+ *  Input file format:   (comments begin with a # character in the 1st column)
+ *  ==========================================================================
+ *  # Input control file for mmbackup
+ *  # name of Tivoli server (must match name in the TSM client's dsm.opt file)
+ *  serverName = c164n06.ppd.pok.ibm.com
+ *  # the following value is used to specify parallelism on each client
+ *  numberOfProcessesPerClient = 4
+ *  # backup client nodes
+ *  clientName = c148n11
+ *  clientName = c148n13
+ *  clientName = c148n15
+ *
+ */
+int processInputCtrlFile(char *fsName,
+                         char *inputCtrlFile,
+                         gpfs_backup_control_t **backupControlHeaderP,
+                         Boolean doMalloc)
+{
+  Int32 j, rc = RC_SUCCESS;
+  Int32 numProcessesPerClient;
+  Int32 clientIndex = 0;
+  Int32 linectr = 0;
+  char *fsNameP;
+  char *filename;
+  gpfs_backup_control_t *backupCtrlP;
+  FILE *fp;
+  char* eq_p;
+  char linein[LINE_LENGTH];
+  char numberOfProcessesPerClientString[27] = "numberOfProcessesPerClient";
+  char serverNameString[11] = "serverName";
+  char clientNameString[11] = "clientName";
+  Boolean foundServer = false;
+  Boolean foundNumberofProcessesPerClient = false;
+  char* fn = "processInputCtrlFile";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  filename = inputCtrlFile;
+  fsNameP = fsName;
+
+  if (doMalloc)
+  {
+    /* Create gpfs_backup_control structure and initialize it
+       to null characters. */
+    backupCtrlP =
+          (gpfs_backup_control_t *) malloc(sizeof(gpfs_backup_control_t));
+    if (backupCtrlP == NULL)
+    {
+      fprintf(stderr, "processInputCtrlFile(): malloc failure");
+      *backupControlHeaderP = NULL;   /* Let caller know the malloc failed. */
+      return(RC_FAIL);
+    }
+    memset((gpfs_backup_control_t *) backupCtrlP, '\0',
+             sizeof(gpfs_backup_control_t));
+
+    /* Pass back to the caller a pointer to the backup control data. */
+    *backupControlHeaderP = backupCtrlP;
+  }
+  else
+  {
+    /* The control block already exists in storage.
+       Set our pointer so that we can update it. */
+    backupCtrlP = *backupControlHeaderP;
+  }
+
+  backupCtrlP->backupHdr.icf.numberOfClients = 0;
+
+  /* Open the input control file. */
+  if ((fp = fopen(filename, "r")) == (FILE *) NULL)
+  {
+    fprintf(stderr, "processInputCtrlFile(): fopen(%s) failed\n", filename);
+    return(RC_FAIL);
+  }
+
+  /* Get the next line of information. */
+  while (fgets(linein, sizeof(linein), fp) != NULL)
+  {
+    /* Increment the line counter. */
+    linectr++;
+
+    /* Check the length of the input line. */
+    if (strlen(linein) == ((LINE_LENGTH) - 1))
+    {
+      fprintf(stderr, "File %s line %d:  Line too long: \n  %s\n",
+                filename, linectr, linein);
+      return(RC_FAIL);
+    }
+
+    /* Zap any trailing new line character. */
+    if (linein[strlen(linein)-1] == '\n') {
+      linein[strlen(linein)-1] = '\0';
+    }
+
+    /* Skip blank or comment lines. */
+    if ( (strlen(linein) == 0) || (linein[0] == '\0') || (linein[0] == '#') )
+    {
+      continue;
+    }
+
+    /* If no '=' character was found, this is a bogus line. */
+    if ((eq_p = strchr(linein, inputCtrlSeperatorChar)) == NULL)
+    {
+      fprintf(stderr, "File %s line %d:  No %c character in line\n  %s\n",
+                filename, linectr, inputCtrlSeperatorChar, linein);
+      return(RC_FAIL);
+    }
+    else
+    {
+      /* Check for the various allowable types of lines. */
+
+      /* Is this line specifying the server? */
+      if (strncmp(linein, serverNameString, (strlen(serverNameString))) == 0)
+      {
+        /* Issue an error if the server name was already specified. */
+        if (foundServer) 
+        {
+          fprintf(stderr,
+       "File %s line %d:  server name was specified more than once:\n  %s\n",
+                   filename, linectr, linein);
+          return(RC_FAIL);
+        }
+        foundServer = true;
+
+        /* Copy the server name from the input line to the
+           control structure. */
+        eq_p++;
+        strcpy(backupCtrlP->backupHdr.icf.serverName, eq_p);
+        continue;
+      }
+      else
+      {
+        /* Is this line specifying the number of processes per client? */
+        if (strncmp(linein, numberOfProcessesPerClientString,
+                     (strlen(numberOfProcessesPerClientString))) == 0)
+        {
+          /* Issue an error if the number of processes per client
+             was already specified. */
+          if (foundNumberofProcessesPerClient == true) 
+          {
+            fprintf(stderr,
+                      "File %s line %d: number of processes per client was specified more than once\n  %s\n", filename, linectr, linein);
+            return(RC_FAIL);
+          }
+          foundNumberofProcessesPerClient = true;
+
+          /* Copy the number of processes per client from the input line
+             to the control structure. */
+          eq_p++;
+          numProcessesPerClient = atoi((const char *) eq_p);
+          backupCtrlP->backupHdr.icf.processesPerClient = numProcessesPerClient;
+          if ((numProcessesPerClient <= 0) ||
+               (numProcessesPerClient > MAX_BACKUP_CLIENT_PROCESSES))
+          {
+            fprintf(stderr,
+                      "The %s value (%d) specified in file %s is not valid.\n",
+                      numberOfProcessesPerClientString, numProcessesPerClient,
+                      filename);
+            fclose(fp);
+            return(RC_FAIL);
+          }
+          continue;
+        }
+        else
+        {
+          /* Is this line specifying a client? */
+          if (strncmp(linein, clientNameString,
+                       (strlen(clientNameString))) == 0)
+          {
+            /* Copy the client name from the input line
+               to the control structure. */
+            eq_p++;
+            strcpy(backupCtrlP->backupHdr.icf.clients[clientIndex].clientName,
+                     eq_p);
+            // BCH - Is the following loc necessary with only 1 server?
+            backupCtrlP->backupHdr.icf.clients[clientIndex].clientIndex =
+                                                                  clientIndex;
+            clientIndex++;
+            continue;
+          }
+          else
+          {
+            /* Unrecognized line.  Issue error and return with failure rc. */
+            fprintf(stderr, "File %s line %d:  Line not recognized:\n  %s\n",
+                      filename, linectr, linein);
+            return(RC_FAIL);
+          }
+        }
+      }
+    }
+  }  // end while (fgets(linein, sizeof(linein), fp) != NULL)
+
+  if (clientIndex == 0)
+  {
+    fprintf(stderr, "File %s specified 0 clients.\n", filename);
+    fclose(fp);
+    return(RC_FAIL);
+  }
+
+  if (clientIndex > MAX_BACKUP_CLIENTS)
+  {
+    fprintf(stderr, "File %s specified %d clients but only %d are allowed.\n",
+              filename, clientIndex, MAX_BACKUP_CLIENTS);
+    fclose(fp);
+    return(RC_FAIL);
+  }
+
+  /* Save the number of clients into the control structure. */
+  backupCtrlP->backupHdr.icf.numberOfClients = clientIndex;
+
+  /* If the number of processes per client was not specified, set it to 1. */
+  if (foundNumberofProcessesPerClient == false)
+  {
+    backupCtrlP->backupHdr.icf.processesPerClient = 1; 
+  }
+
+  /* Close the input control file. */
+  fclose(fp);
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of processInputCtrlFile() ----------------*/
+
+
+/*
+ * NAME:  createBackupCtrlFile()
+ *
+ * FUNCTION:
+ *   Create the .backup_control file and write out its contents.
+ *   Release the storage of the pertinent gpfs_backup_control_t structure.
+ *
+ * PARAMETERS:
+ *   FileName             - (IN) Name of the file to be created.
+ *   backupControlHeaderP - (IN) Points to the gpfs_backup_control_t created
+ *                               structure.  The header info in this structure
+ *                               contains the information regarding the nodes.
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int createBackupCtrlFile(char *fileName,
+                         gpfs_backup_control_t *backupControlHeaderP)
+{
+  Int32 fileHandle, rc = RC_SUCCESS;
+  char *fileNameP;
+  Int32 fileIndex;
+  Int32 bytesRead, bytesWritten;
+  Int64 nextWriteOffset, actualOffset, recordInFile;
+  gpfs_backup_control_t *backupCtrlP;
+  size_t ctrlfileRecordSize = sizeof(gpfs_backup_control_t);
+  char* fn = "createBackupCtrlFile";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  fileNameP = fileName;
+
+  backupCtrlP = backupControlHeaderP;
+
+  /* Create the .backup_control file. */
+  fileHandle = open(fileNameP, O_CREAT | O_APPEND | O_RDWR | O_TRUNC, 0600);
+  if (fileHandle == -1)
+  {
+    fprintf(stderr, "Cannot open file %s\n", fileNameP);
+    return(RC_FAIL);
+  }
+
+  recordInFile = 0;
+  nextWriteOffset = recordInFile*ctrlfileRecordSize;
+  actualOffset = lseek(fileHandle, nextWriteOffset, SEEK_SET);
+  if (actualOffset != nextWriteOffset)
+  {
+    fprintf(stderr, "Cannot seek to %lld in %s\n",
+              recordInFile*ctrlfileRecordSize, fileNameP);
+    return(RC_FAIL);
+  }
+
+  bytesWritten = write(fileHandle, backupCtrlP, ctrlfileRecordSize);
+  if (bytesWritten != ctrlfileRecordSize)
+  {
+    fprintf(stderr, "Error writing file %s\n", fileNameP);
+    return(RC_FAIL);
+  }
+
+  rc = close(fileHandle);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Cannot close file descriptor fileHandle = %d\n",
+              fileHandle);
+    return(RC_FAIL);
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of createBackupCtrlFile() ----------------*/
+
+
+/*
+ * NAME:  doInodeScan()
+ *
+ * FUNCTION:
+ *   Do an inodescan on a snapshot of a GPFS filesystem,
+ *   and store the results as follows:
+ *   a) Create a bit array where an index in the array indicates
+ *      the inode number and the value whether or not the inode needs
+ *      to be operated on (a value of 1 indicates a yes answer).
+ *   b) Capture in a temporary filesizes file, one line per inode,
+ *      indicating the inode number and the size of its file.
+ *   c) Determine the total number of inodes used by the filesystem,
+ *      the maximum inode number used, and the aggregate size of all the
+ *      files of the filesystem needing to be operated on.
+ *
+ * PARAMETERS:
+ *   fsName            - (IN)  pointer to the filesystem name for which to
+ *                               do an inodescan
+ *   inodeBitsArrayP   - (OUT) pointer to the bit map array created
+ *   backupControlHdrP - (IN)  pointer to the gpfs_backup_control_t created
+ *                             structure; the header info in this structure
+ *                             contains the information in (c) above
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int doInodeScan(char *fsName,
+                inodeBitsArray *inodeBitsArrayP,
+                gpfs_backup_control_t *backupControlHdrP)
+{
+  gpfs_iscan_t *backupIscan;
+  gpfs_ino_t lastInodeNum = 0;
+  gpfs_ino_t maxInodeNum;
+  gpfs_backup_control_t *backupCtrlP;
+  gpfs_fssnap_id_t backup_snapID;
+  Int32 rc = RC_SUCCESS;
+  Int32 bytesWritten;
+  inodeBitsArray InodeP;
+  const gpfs_iattr_t *iattrP;
+  backup_filesizes_t inodeSize;
+  char inode_num[MAX_INT32_CHARS];
+  char inode_size[MAX_INT64_CHARS];
+  char* fn = "doInodeScan";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  backupCtrlP = backupControlHdrP;
+
+  /* Create a bit map array for a GPFS filesystem
+     and initialize it to zero bits. */
+  rc = Bitmap(MAX_INODES, zeroBit, &InodeP);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Bitmap error rc = %x\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Create the filesizes file. */
+  filesizesHandle = open(filesizesFile,
+                           O_CREAT | O_APPEND | O_RDWR | O_TRUNC, 0600);
+  if (filesizesHandle == -1)
+  {
+    fprintf(stderr, "Cannot open temp file %s\n", filesizesFile);
+    free(InodeP);
+    return(RC_FAIL);
+  }
+
+  /* initializations */
+  backupCtrlP->backupHdr.inodesTotal = 0;
+  backupCtrlP->backupHdr.totalSizeOfFiles = 0;
+
+  /* Get the snapshot handle for this filesystem. */
+  fsSnapHandleP = gpfs_get_fssnaphandle_by_path(fsName);
+  if (fsSnapHandleP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_get_fssnaphandle_by_path(%s): %s\n",
+              "doInodeScan", fsName, strerror(rc));
+    return(RC_FAIL);
+  }
+
+  /* Open the inode scan for this filesystem.  Passing a NULL for the
+     2nd parameter (previous snapshot id) causes gpfs_open_inodescan()
+     to return the inodes for all the files in the filesystem. */
+  backupIscan = gpfs_open_inodescan(fsSnapHandleP, NULL, &maxInodeNum);
+
+  /* If gpfs_open_inodescan() failed, issue an error and quit. */
+  if (backupIscan == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_open_inodescan() for snapshot %s failed: %s\n",
+              "doInodeScan", fsName, strerror(rc));
+    free(InodeP);
+    return(RC_FAIL);
+  }
+
+  /* Get the snapshot id and save it in the backup control file. */
+  rc = gpfs_get_fssnapid_from_fssnaphandle(fsSnapHandleP, &backup_snapID);
+  if (rc != 0)
+  {
+    rc = errno;
+    fprintf(stderr,
+      "%s: gpfs_get_fssnapid_from_fssnaphandle(fsSnapHandleP, &snapID): %s\n",
+              "doInodeScan", strerror(rc));
+    return(RC_FAIL);
+  }
+  memcpy((void *) &(backupCtrlP->backupHdr.snapshotId),
+           (const void *) &backup_snapID, sizeof(gpfs_fssnap_id_t));
+
+  /* Use the backup/restore by inode API to do an inode scan
+     and get the list of inodes into the bit array.
+     Loop doing gpfs_next_inode() which returns gpfs_iattr_t
+     and put the inode numbers into the allocated array. */
+
+  /* Repeated calls to gpfs_next_inode() return inode information
+     about all existing files and directories in inode number order. */
+  while (1)
+  {
+    rc = gpfs_next_inode(backupIscan, maxInodeNum, &iattrP);
+    if (rc != 0)
+    {
+      rc = errno;
+      fprintf(stderr, "%s: gpfs_next_inode(%s,%d): %s\n",
+                "doInodeScan", fsName, lastInodeNum, strerror(rc));
+      return(RC_FAIL);
+    }
+
+    /* Exit the loop if a null pointer, the indication for the end
+       of the inode scan, is encountered. */
+    if (iattrP == NULL) {
+      break;
+    }
+
+    /* Save the inode number. */
+    lastInodeNum = iattrP->ia_inode;
+
+    /* Set the bit in the bit array. */
+    rc = setToOne(InodeP, (UInt32) iattrP->ia_inode, NULL);
+    assert(rc == 0);
+
+    /* Construct a record for the backup filesizes file and
+       append it to the file.  Note the use of sprintf and memcpy 
+       instead of sprintf alone to avoid copying the null at
+       the end of a string into the record.  This is done because
+       sort() has trouble handling such embedded nulls. */
+    memset((void *) &inodeSize, ' ', sizeof(backup_filesizes_t));
+
+    sprintf(inode_num, "%d", iattrP->ia_inode);
+    memcpy((void *) &inodeSize.inodenum, (const void *) &inode_num,
+             strlen(inode_num));
+ 
+    sprintf(inode_size, "%lld", iattrP->ia_size);
+    memcpy((void *) &inodeSize.filesize, (const void *) &inode_size,
+             strlen(inode_size));
+    inodeSize.newline_char = '\n';
+
+    bytesWritten = write(filesizesHandle, &inodeSize,
+                           sizeof(backup_filesizes_t));
+    if (bytesWritten != sizeof(backup_filesizes_t))
+    {
+      fprintf(stderr, "Error writing to filesizes file\n");
+      free(InodeP);
+      return(RC_FAIL);
+    }
+
+    /* Update pertinent fields in the backup header. */
+    backupCtrlP->backupHdr.totalSizeOfFiles += (UInt32) iattrP->ia_size;
+    backupCtrlP->backupHdr.inodeMax = (UInt32) iattrP->ia_inode;
+    backupCtrlP->backupHdr.inodesTotal++;
+
+  }  // end while (1)
+
+  rc = close(filesizesHandle);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in closing the filesizes file\n");
+    free(InodeP);
+    return(RC_FAIL);
+  }
+
+  /* Close the inode scan. */
+  gpfs_close_inodescan(backupIscan);
+
+  /* Free the snapshot handle. */
+  gpfs_free_fssnaphandle(fsSnapHandleP);
+
+  /* Set the bit array pointer being passed back. */
+  *inodeBitsArrayP = InodeP;
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of doInodeScan() ----------------*/
+
+
+/*
+ * NAME:  doIncrInodeScan()
+ *
+ * FUNCTION:
+ *   Do an inodescan on a snapshot of a GPFS filesystem,
+ *   and capture the results as follows:
+ *   a) Create a bit array where an index in the array indicates the
+ *      inode number and the value indicates whether or not the inode is
+ *      for a file that is new or has changed since the previous snapshot
+ *   b) Determine the total number of inodes used by the filesystem,
+ *      and the maximum inode number used.
+ *
+ * PARAMETERS:
+ *   fsName            - (IN)  pointer to the filesystem name for which to
+ *                               do an inodescan
+ *   prevSnapIdP       - (IN)  pointer to the snapshot ID of a previous snapshot
+ *   inodeBitsArray2P  - (OUT) pointer to the bit map array created
+ *   backupControlHdrP - (IN)  pointer to the gpfs_backup_control_t created
+ *                               structure; the header info in this structure
+ *                               contains the information in (b) above
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int doIncrInodeScan(char *fsName,
+                    gpfs_fssnap_id_t *prevSnapIdP,
+                    inodeBitsArray *inodeBitsArray2P,
+                    gpfs_backup_control_t *backupControlHdrP)
+{
+  gpfs_iscan_t *backupIscan2;
+  gpfs_ino_t lastInodeNum = 0;
+  gpfs_ino_t maxInodeNum;
+  gpfs_backup_control_t *backupCtrlP;
+  gpfs_fssnap_id_t backup_snapID;
+  Int32 rc = RC_SUCCESS;
+  Int32 bytesWritten;
+  inodeBitsArray inode2P;
+  const gpfs_iattr_t *iattrP;
+  char inode_num[MAX_INT32_CHARS];
+  char inode_size[MAX_INT64_CHARS];
+  char* fn = "doIncrInodeScan";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Create a bit map array for a GPFS filesystem
+     and initialize it to zero bits. */
+  rc = Bitmap(MAX_INODES, zeroBit, &inode2P);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Bitmap error rc = %x\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Get the snapshot handle for this filesystem. */
+  fsSnapHandleP = gpfs_get_fssnaphandle_by_path(fsName);
+  if (fsSnapHandleP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_get_fssnaphandle_by_path(%s): %s\n",
+              "doIncrInodeScan", fsName, strerror(rc));
+    return(RC_FAIL);
+  }
+
+  /* Open an incremental inode scan for this filesystem. 
+     Passing the id of the previous snapshot causes gpfs_open_inodescan()
+     to only return the inodes for files that have been added or changed
+     since the previous snapshot, plus those that existed in the previous
+     snapshot but no longer exist now (i.e., those for files which were
+     deleted from the filesystem since the previous snapshot). */
+  backupIscan2 = gpfs_open_inodescan(fsSnapHandleP, prevSnapIdP, &maxInodeNum);
+
+  /* If gpfs_open_inodescan() failed, issue an error and quit. */
+  if (backupIscan2 == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_open_inodescan() for snapshot %s failed: %s\n",
+              "doIncrInodeScan", fsName, strerror(rc));
+    free(inode2P);
+    return(RC_FAIL);
+  }
+
+  /* Use the backup/restore by inode API to do an inode scan
+     and get the list of inodes into the bit array.
+     Loop doing gpfs_next_inode() which returns gpfs_iattr_t
+     and put the inode numbers into the allocated array. */
+
+  /* Repeated calls to gpfs_next_inode() return inode information
+     about all existing files and directories in inode number order. */
+  while (1)
+  {
+    rc = gpfs_next_inode(backupIscan2, maxInodeNum, &iattrP);
+    if (rc != 0)
+    {
+      rc = errno;
+      fprintf(stderr, "%s: gpfs_next_inode(%s,%d): %s\n",
+                "doIncrInodeScan", fsName, lastInodeNum, strerror(rc));
+      return(RC_FAIL);
+    }
+
+    /* Exit the loop if a null pointer, the indication
+       for the end of the inode scan, is encountered. */
+    if (iattrP == NULL) {
+      break;
+    }
+
+    /* Save the inode number. */
+    lastInodeNum = iattrP->ia_inode;
+
+    /* If this inode for a file that is still present, flag it.
+       (We don't flag inodes for deleted files.) */
+    if (iattrP->ia_nlink != 0)
+    {
+      rc = setToOne(inode2P, (UInt32) iattrP->ia_inode, NULL);
+      assert(rc == 0);
+    }
+  }  // end while (1)
+
+  /* Close the inode scan. */
+  gpfs_close_inodescan(backupIscan2);
+
+  /* Free the snapshot handle. */
+  gpfs_free_fssnaphandle(fsSnapHandleP);
+
+  /* Set the bit array pointers being passed back. */
+  *inodeBitsArray2P = inode2P;
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of doIncrInodeScan() ----------------*/
+
+
+/*
+ * NAME:  EnqueueWork()
+ *
+ * Add an element to the work queue and signal any thread waiting for work.
+ */
+int EnqueueWork(const char *pathP, const char *dirP, ino_t inode)
+{
+  int rc;
+  int pathLen = strlen(pathP);
+  QueueElement *qP = NULL;
+  
+  /* Allocate a work queue element and space for the path.  */
+  qP = (QueueElement *) malloc((sizeof(*qP) - sizeof(qP->path)) 
+                               + pathLen + strlen(dirP) + 2);
+  if (qP == NULL)
+  {
+    fprintf(stderr, "Out of memory.\n");
+    return(ENOMEM);
+  }
+  
+  /* Initialize element. */
+  qP->ino = inode;
+  if (pathLen > 0) {
+    snprintf(qP->path, MAX_FILE_NAME, "%s/%s", pathP, dirP);
+  } else {
+    strcpy(qP->path, dirP);
+  }
+    
+  /* Acquire mutex protecting the work queue. */
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    return rc;
+  }
+
+  /* Add work element to the list. */
+  qP->nextP = WorkQueueP;
+  WorkQueueP = qP;
+
+  /* Signal a waiting worker thread. */
+  if (NWorkersWaiting > 0)
+  {
+    NWorkersWaiting -= 1;
+    rc = pthread_cond_signal(&QueueCond);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error in pthread_cond_signal: %s\n", strerror(rc));
+      return rc;
+    }
+  }
+
+  /* Release mutex before returning. */
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    return rc;
+  }
+  
+  /* Success! */
+  return 0;
+
+}  /*------ end of EnqueueWork() ----------------*/
+
+
+/*
+ * NAME:  DequeueWork()
+ *
+ * Dequeue the next work element from the queue, or if the queue
+ * is empty, wait for more work to become available.
+ *
+ */
+QueueElement *DequeueWork(void)
+{
+  int rc;
+  QueueElement *qP;
+  
+  /* Acquire mutex protecting the work queue. */
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    return NULL;
+  }
+  
+  /* one less thread working */
+  NWorkersRunning -= 1;
+
+  /* Loop waiting for work to become available. */
+  while ((WorkQueueP == NULL) && (NWorkersRunning > 0))
+  {
+    NWorkersWaiting += 1;       /* one more thread waiting */
+    rc = pthread_cond_wait(&QueueCond, &QueueMutex);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error in pthread_cond_wait: %s\n", strerror(rc));
+      return NULL;
+    }
+  }
+
+  /* Check whether we are done. */
+  if (WorkQueueP == NULL)
+  {
+    qP = NULL;                  /* Nothing more to do. */
+    
+    /* signal any waiting threads */
+    if (NWorkersWaiting > 0)
+    {
+      NWorkersWaiting = 0;
+      rc = pthread_cond_broadcast(&QueueCond);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Error in pthread_cond_broadcast: %s\n", strerror(rc));
+      }
+    }
+  }
+  else
+  {
+    /* Remove the first element from the queue. */
+    qP = WorkQueueP;
+    WorkQueueP = qP->nextP;
+    qP->nextP = NULL;
+
+    /* one more thread working */
+    NWorkersRunning += 1;
+  }
+
+  /* Release mutex before returning. */
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    return NULL;
+  }
+  
+  return qP;
+ 
+}  /*------ end of DequeueWork() ----------------*/
+
+
+/* Main body for each thread.
+   Loop until there is no more work to do. */
+void* ThreadBody(void *parmP)
+{
+  int rc;
+  QueueElement *qP;
+
+  /* Count this thread as a worker thread. */
+  NWorkersRunning += 1;
+
+  /* Loop while there is work to do. */
+  do
+  {
+    /* Wait for work. */
+    qP = DequeueWork();
+    if (qP == NULL)
+      break;
+    
+    /* Read this directory. */
+    rc = read_dir(qP->path, qP->ino);
+
+    /* Free the work queue element. */
+    free(qP);
+
+  } while (rc == 0);
+
+  return 0;
+ 
+}  /*------ end of ThreadBody() ----------------*/
+
+
+/*
+ * NAME:  read_dir()
+ *
+ * Read all entries from the current directory.
+ *
+ */
+int read_dir(const char *pathP, ino_t inode)
+{
+  char fileName[MAX_FILE_NAME];
+  const gpfs_direntx_t *direntxP;
+  gpfs_fssnap_handle_t *fsP = NULL;
+  gpfs_ifile_t *dirxP = NULL;
+  int rc = 0;
+
+  /* Get the handle for the snapshot. */
+  fsP = gpfs_get_fssnaphandle_by_path(RootFsDirP);
+  if (fsP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_get_fssnaphandle_by_path(%s/%s): %s\n",
+              RootFsDirP, pathP, strerror(rc));
+    goto exit;
+  }
+
+  /* Open the directory's file. */
+  dirxP = gpfs_iopen(fsP, inode, O_RDONLY, NULL, NULL);
+  if (dirxP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_iopen(%s/%s): %s\n", RootFsDirP, pathP, strerror(rc));
+    goto exit;
+  }
+
+  /* Loop reading the directory entries. */
+  while (1)
+  {
+    rc = gpfs_ireaddir(dirxP, &direntxP);
+    if (rc != 0)
+    {
+      int saveerrno = errno;
+      fprintf(stderr, "gpfs_ireaddir(%s/%s): rc %d %s\n",
+                RootFsDirP, pathP, rc, strerror(saveerrno));
+      rc = saveerrno;
+      goto exit;
+    }
+    if (direntxP == NULL) {
+      break;
+    }
+
+    /* Check whether this entry is for a directory. */
+    if (direntxP->d_type == GPFS_DE_DIR)
+    {
+      if (strcmp(direntxP->d_name, "..") != 0)     /* skip parent directory */
+      {
+        if ((strcmp(direntxP->d_name, ".") == 0))  /* handle self directory */
+        {
+          /* The entry is for the directory itself.
+             Check the bit map array entry to determine
+             whether the inode must be backed up. */
+          if (testBit(inodeBitsP, (UInt32) direntxP->d_ino) != 0)
+          {
+            /* Is the directory name too long?  */
+            if (strlen(pathP)+2 > sizeof(fileName))
+            {
+              fprintf(stderr, "read_dir: name %s too long\n", pathP);
+            }
+            else
+            {
+              /* Call routine to write a record for this inode
+                 to the shadow file. */
+              writeToShadowFile(pathP, direntxP->d_ino, 'Y');
+            }
+          }
+        }
+        else                                    /* handle sub-directory */
+        {
+          /* Add this sub-directory to the work queue. */
+          rc = EnqueueWork(pathP, direntxP->d_name, direntxP->d_ino);
+          if (rc != 0) {
+            break;
+          }
+        }
+      }
+    }
+    else   /* The entry is for a file. */
+    {
+      /* Check the bit map array entry to determine
+         whether the inode must be backed up. */
+      if (testBit(inodeBitsP, (UInt32) direntxP->d_ino) != 0)
+      {
+        snprintf(fileName, MAX_FILE_NAME, "%s/%s", pathP, direntxP->d_name);
+        if (strlen(fileName)+2 > sizeof(fileName))
+        {
+          fprintf(stderr, "dirInodeWalk: name %s too long\n", fileName);
+        }
+        else
+        {
+          /* Write a record for this inode to the shadow file. */
+          writeToShadowFile(fileName, direntxP->d_ino, 'N');
+        }
+      }
+    }
+  }
+
+exit:
+  /* Close the open file, if necessary. */
+  if (dirxP) {
+    gpfs_iclose(dirxP);
+  }
+
+  /* Free the snapshot handle. */
+  if (fsP) {
+    gpfs_free_fssnaphandle(fsP);
+  }
+
+  return rc;
+ 
+}  /*------ end of read_dir() ----------------*/
+
+
+/*
+ * NAME:  writeToShadowFile()
+ *
+ * Create a record for the shadow file using the passed parameters,
+ * obtain the mutex lock for the shadow file, write the record
+ * to the file, and release the mutex lock. 
+ *
+ * Care is taken to not introduce nulls into the shadow record.
+ * This is done by using sprintf/memcpy instead of sprintf alone.
+ */
+int writeToShadowFile(const char *pathP, ino_t inode, const char inodeFlag)
+{
+  char name[MAX_FILE_NAME];
+  char filenameLength[MAX_INT32_CHARS];
+  Int32 nameLength;
+  char inode_num[MAX_INT32_CHARS];
+  backup_shadow_record_t shadowRecord;
+  Int32 bytesWritten;
+  int rc = RC_SUCCESS;
+
+  /* Build the record to be written to the shadow file. */
+
+  /* Set the shadow record to blanks. */
+  memset((void *) &shadowRecord, ' ', sizeof(backup_shadow_record_t));
+
+  /* Copy the full path name into the transaction record.
+     The name is enclosed with quotes because Tivoli requires this
+     for filenames that contain an embedded blank.  Rather than
+     check each filename, we simply always use quotes. */
+  sprintf(name, "%s%s%s", "\"", pathP, "\"");
+  nameLength = strlen(name);
+  memcpy((void *) &shadowRecord.tr.filename, (const void *) &name, nameLength);
+
+  /* Save the length of the filename for later use.  This is done
+     to avoid putting null characters in the shadow file because
+     the sort command does not handle null characters well. */
+  sprintf(filenameLength, "%d", nameLength);
+  memcpy((void *) &shadowRecord.tr.fnLength,
+           (const void *) &filenameLength, strlen(filenameLength));
+
+  /* Copy the inode number as a string to the shadow record. */
+  sprintf(inode_num, "%d", inode);
+  memcpy((void *) &shadowRecord.inodenum,
+           (const void *) &inode_num, strlen(inode_num));
+
+  /* Set the directory flag and set the newline character. */
+  shadowRecord.inodeDir = inodeFlag;
+  shadowRecord.newline_char = '\n';
+
+  /* Serialize the output with all the other threads. */
+  rc = pthread_mutex_lock(&OutputMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    goto exit;
+  }
+
+  /* Write the shadow record to the file. */
+  bytesWritten = write(shadowFileHandle[0], &shadowRecord,
+                         sizeof(backup_shadow_record_t));
+
+  /* Increment the record count. */
+  shadowFileNumberOfRecords[0]++;
+
+  /* Release the lock. */
+  rc = pthread_mutex_unlock(&OutputMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    goto exit;
+  }
+
+  /* Issue an error if the write failed. */
+  // BCH - should we assert or exit with a failure?
+  if (bytesWritten != sizeof(backup_shadow_record_t))
+  {
+    fprintf(stderr, "Error writing to %d; wrote %d bytes, not %d\n",
+              shadowFileHandle[0], bytesWritten,
+              sizeof(backup_shadow_record_t));
+  }
+
+exit:
+  return rc;
+ 
+}  /*------ end of writeToShadowFile() ----------------*/
+
+
+/*
+ * NAME:  dirInodeWalk()
+ *
+ * Thread-based inode directory walker.
+ */
+int dirInodeWalk(const char *pathname, inodeBitsArray bit_map)
+{
+  char fsSnapshotDir[MAX_FILE_NAME];
+  int i, rc, filearg;
+  struct stat statBuf;
+  pthread_t pThread;
+
+  /* Set the root filesystem directory pointer. */
+  RootFsDirP = (char *) pathname;
+
+  /* Initialize pthread variables. */
+  rc = pthread_mutex_init(&QueueMutex, NULL);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error from pthread_mutex_init: %s\n", strerror(rc));
+    exit(rc);
+  }
+  rc = pthread_cond_init(&QueueCond, NULL);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error from pthread_cond_init: %s\n", strerror(rc));
+    exit(rc);
+  }
+  rc = pthread_mutex_init(&OutputMutex, NULL);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error from pthread_mutex_init: %s\n", strerror(rc));
+    exit(rc);
+  }
+  
+  /* Get the inode number of the root directory. */
+  rc = stat(RootFsDirP, &statBuf);
+  if (rc) 
+  {
+    rc = errno;
+    perror(RootFsDirP);
+    return rc;
+  }
+
+  /* Verify that this is a directory; return if it is not. */
+  if (!S_ISDIR(statBuf.st_mode))
+  {
+    errno = ENOTDIR;
+    perror(RootFsDirP);
+    return ENOTDIR;
+  }
+  
+  /* Add the root directory to the work queue. */
+  snprintf(fsSnapshotDir, MAX_FILE_NAME, "%s/%s", fsName, snapshotSubdir);
+  rc = EnqueueWork(fsSnapshotDir, fsSnapshotName, statBuf.st_ino);
+  if (rc != 0) {
+    return rc;
+  }
+
+  /* Start the requested number of threads. */
+  for (i = 1; i < nThreads; i++)
+  {
+    rc = pthread_create(&pThread, NULL, ThreadBody, NULL);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error from pthread_create(%d): %s\n", i, strerror(rc));
+      exit(rc);
+    }
+  }
+
+  /* This thread can do work, too. */
+  (void) ThreadBody(NULL);
+
+  return rc;
+ 
+}  /*------ end of dirInodeWalk() ----------------*/
+
+
+/*
+ * NAME:  createSnapshotShadows()
+ *
+ * FUNCTION:
+ *   Construct shadow files of a snapshot and store them at the
+ *   mount point of the filesystem.
+ *
+ * PARAMETERS:
+ *   fsName:              (IN) the name of the filesystem
+ *   numberOfShadowFiles  (IN) the number of files to be created
+ *   bit_map              (IN) points to a bit map array to be consulted
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int createSnapshotShadows(char *fsName,
+                          Int32 numberOfShadowFiles,
+                          inodeBitsArray bit_map)
+{
+  Int32 rc = RC_SUCCESS;
+  Int32 i, handle;
+  Int32 numShadows;
+  Int32 numInodes;
+  char filenameP[18];
+  char suffix[2];
+  Int32 *shadow_files[MAX_BACKUP_CLIENTS];
+  const gpfs_direntx_t *source = NULL;
+  struct stat statBuf;
+  char* fn = "createSnapshotShadows";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  numShadows = numberOfShadowFiles;
+
+  /* Create shadow files. */
+  for (i = 0; i < numShadows; i++)
+  {
+    /* Create file name. */
+    memset(suffix, ' ', 2);
+    sprintf(suffix, "%d", i);
+    strcpy(filenameP, backupShadowName);
+    strcat(filenameP, (const char *) suffix);
+    snprintf(shadowFile[i], MAX_FILE_NAME, "%s/%s", fsName, filenameP);
+
+    /* Create file in append mode. */
+    handle = open(shadowFile[i], O_CREAT | O_APPEND | O_RDWR | O_TRUNC, 0644);
+    if (handle == -1)
+    {
+      fprintf(stderr, "Cannot create %s\n", filenameP);
+      return(RC_FAIL);
+    }
+    else
+    {
+      shadowFileHandle[i] = handle;
+    }
+  }
+
+  /* Stat the snapshot directory to get its inode_number. */
+  if (stat(fsSnapshotPathname, &statBuf) == -1)
+  {
+    fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+              fsSnapshotPathname, errno);
+    return(RC_FAIL);
+  }
+
+  /* Update the newly-created backup shadow files. */
+  dirInodeWalk(fsSnapshotPathname, bit_map);
+
+  /* Close the generated files. */
+  for (i = 0; i < numShadows; i++)
+  {
+    rc = close(shadowFileHandle[i]);
+    if (rc == -1)
+    {
+      fprintf(stderr,
+                "Cannot close file descriptor %d\n", shadowFileHandle[i]);
+      return(RC_FAIL);
+    }
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of createSnapshotShadows() ----------------*/
+
+
+/*
+ * NAME:  sortShadowfilesByInode()
+ *
+ * FUNCTION:
+ *   Sort the shadowFile[MAX_BACKUP_CLIENTS] files by inode number.
+ *
+ * PARAMETERS:
+ *   numShadows:  (IN) the number of shadow files
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ *   The number of shadowFile files is MAX_BACKUP_CLIENTS
+ *   for the time being.  This may change if needed.
+ */
+int sortShadowfilesByInode(Int32 numShadows)
+{
+  Int32 rc = RC_SUCCESS;
+  Int32 i;
+  char* fn = "sortShadowfilesByInode";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  for (i = 0; i < numShadows; i++)
+  {
+    /* Issue a sort command that will perform a numeric sort using
+       the first field (the file's inode number) of each record. */
+#ifdef GPFS_AIX
+    sprintf(sstring, "/usr/bin/sort -b -k 1,1n -o %s %s > /dev/null",
+              shadowFile[i], shadowFile[i]);
+#else
+    sprintf(sstring, "/bin/sort -b -k 1,1n -o %s %s > /dev/null",
+              shadowFile[i], shadowFile[i]);
+#endif
+    rc = system(sstring);
+
+    /* Check system() return. */
+    if (rc != 0)
+    {
+      fprintf(stderr, "system(%s) returned %d\n", sstring, rc);
+      return(RC_FAIL);
+    }
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of sortShadowfilesByInode() ----------------*/
+
+
+/*
+ * NAME:  sortShadowfilesByFilename()
+ *
+ * FUNCTION:
+ *   Sort the shadowFile[0] file into alphabetical order by filename
+ *   and store the results in a single file, backupShadowFile.
+ *
+ * PARAMETERS:
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ */
+int sortShadowfilesByFilename()
+{
+  Int32 rc = RC_SUCCESS;
+  Int32 i;
+  char* fn = "sortShadowfilesByFilename";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Issue a sort command that will perform an alphabetical sort
+     on the second field (the filename of each file). */
+#ifdef GPFS_AIX
+  sprintf(sstring, "/usr/bin/sort -b -k 2,2 -o %s %s > /dev/null",
+            backupShadowFile, shadowFile[0]);
+#else
+  sprintf(sstring, "/bin/sort -b -k 2,2 -o %s %s > /dev/null",
+            backupShadowFile, shadowFile[0]);
+#endif
+  rc = system(sstring);
+
+  /* Check system() return. */
+  if (rc != 0)
+  {
+    fprintf(stderr, "system(%s) returned %d\n", sstring, rc);
+    return(RC_FAIL);
+  }
+
+#ifdef DEBUG_BACKUP
+  /* Leave the shadow files so that they may get examined. */
+#else
+  /* Delete the shadowFile[0] file. */
+  unlink(shadowFile[0]);
+#endif /* DEBUG_BACKUP */
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of sortShadowfilesByFilename() ----------------*/
+
+
+/*
+ * NAME:  updateShadowfilesFilesizes()
+ *
+ * FUNCTION:
+ *   Update the size field in the shadowFile[MAX_BACKUP_CLIENTS] files
+ *   from the pertinent information in the file sizes file.
+ *
+ * PARAMETERS:
+ *   numShadows:  (IN) The number of shadow files
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ *   The number of shadowFile files is MAX_BACKUP_CLIENTS for the
+ *   time being.  This may change if needed.
+ */
+int updateShadowfilesFilesizes(Int32 numShadows)
+{
+  Int32 offset, inodeDelta, rc1, rc = RC_SUCCESS;
+  Int32 shadowRecordInode, filesizesRecordInode;
+  Int32 fileIndex, bytesRead, bytesWritten;
+  char* eq_p;
+  Int64 recordsLeft, recordInFilesizes, numberOfFilesizesRecords;
+  Int64 recordInShadowFile;
+  offset_t nextWriteOffset, nextReadOffset, actualOffset;
+  backup_shadow_record_t shadowRecord;
+  backup_filesizes_t filesizesRecord;
+  struct stat statBuf;
+  Boolean readNewRecord = true;
+  size_t shadowRecordSize = sizeof(backup_shadow_record_t);
+  size_t filesizesRecordSize = sizeof(backup_filesizes_t);
+  char* fn = "updateShadowfilesFilesizes";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Open the filesizes file. */
+  filesizesHandle = open(filesizesFile, O_RDONLY, 0664);
+  if (filesizesHandle == -1)
+  {
+    fprintf(stderr, "Cannot open %s\n", filesizesFile);
+    return(RC_FAIL);
+  }
+
+  /* Stat the filesizes file. */
+  if (stat(filesizesFile, &statBuf) == -1)
+  {
+    fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+              filesizesFile, errno);
+    return(RC_FAIL);
+  }
+
+  /* Determine the number of records in the filesizes file. */
+  numberOfFilesizesRecords = statBuf.st_size / filesizesRecordSize;
+
+  /* Point to the first record in the filesizes file. */
+  recordInFilesizes = 0;
+  actualOffset = lseek(filesizesHandle, recordInFilesizes, SEEK_SET);
+  if (actualOffset != 0)
+  {
+    fprintf(stderr, "Cannot seek to %lld in %s\n",
+              recordInFilesizes, filesizesFile);
+    return(RC_FAIL);
+  }
+
+  /* Open all the shadowFile[] files. */
+  for (fileIndex = 0; fileIndex < numShadows; fileIndex++)
+  {
+    shadowFileHandle[fileIndex] = open(shadowFile[fileIndex], O_RDWR, 0664);
+    if (shadowFileHandle[fileIndex] == -1)
+    {
+      fprintf(stderr, "Cannot open %s\n", shadowFile[fileIndex]);
+      return(RC_FAIL);
+    }
+  }
+
+  /* Update the filesize field in the records of the backup shadow files. */
+  for (fileIndex = 0; fileIndex < numShadows; fileIndex++)
+  {
+    recordInShadowFile = 0;
+    nextReadOffset = recordInShadowFile*shadowRecordSize;
+
+    /* Position the file pointer for the current shadow file. */
+    actualOffset = lseek(shadowFileHandle[fileIndex],
+                           recordInShadowFile*shadowRecordSize, SEEK_SET);
+    if (actualOffset != nextReadOffset)
+    {
+      fprintf(stderr, "Cannot seek to %lld in %s\n",
+                recordInShadowFile*shadowRecordSize, shadowFile[fileIndex]);
+      return(RC_FAIL);
+    }
+
+    nextWriteOffset = nextReadOffset;
+    recordsLeft = shadowFileNumberOfRecords[fileIndex];
+    while (recordsLeft > 0)
+    {
+      /* Read the next record from the shadow file. */
+      bytesRead = read(shadowFileHandle[fileIndex], &shadowRecord,
+                         shadowRecordSize);
+      if (bytesRead != shadowRecordSize)
+      {
+        fprintf(stderr, "Error reading file %s\n", shadowFile[fileIndex]);
+        return(RC_FAIL);
+      }
+
+      /* Calculate the next offset and the number of remaining records. */
+      nextReadOffset += shadowRecordSize;
+      recordsLeft--;
+
+      /* Search the filesizes file for the inode
+         that matches the shadow record's inode. */
+      while (recordInFilesizes < numberOfFilesizesRecords)
+      {
+        /* If warranted, read a new record from the filesizes file. */
+        if (readNewRecord)
+        {
+          bytesRead = read(filesizesHandle,
+                             &filesizesRecord, filesizesRecordSize);
+          if (bytesRead != filesizesRecordSize)
+          {
+            fprintf(stderr, "Error reading from file descriptor %d\n",
+                      filesizesHandle);
+            return(RC_FAIL);
+          }
+        }
+
+#if 0
+        // Historical note:
+        //   We were failing the test below in the incremental case
+        //   because there are more records in the filesizes file than in
+        //   the shadow file - the extra records were the unchanged files,
+        //   and these had a filesize of 0.  What should be done?
+        //   This problem did not happen in the past because filesizes
+        //   were not considered by createClientFilelists, and therefore
+        //   this routine (updateShadowfilesFilesizes()) was not called
+        //   in the incremental case.  One possible solution would be to
+        //   use createClientFilelists2 (the divy-by-numbers-of-files
+        //   version) rather than createClientFilelists for incremental.
+        //   In this case we must avoid calling updateShadowfilesFilesizes().
+        //   A 2nd solution would be to change updateSnapshotFilesizes()
+        //   to skip over filesizes records for which the filesize is 0.
+        //   I chose the 1st solution (don't worry about filesizes
+        //   for incremental backups) for now.  (BCH)
+        //
+        // BCH - The above comment may no longer be needed.  We are calling
+        // BCH   updateShadowfilesFilesizes() in the incremental case
+        // BCH   without trouble now.  Should we consider going back to using
+        // BCH   createClientFilelists() instead of createClientFilelists2()
+        // BCH   in the incremental case again?
+        //
+        // BCH - The code has moved on once again, with the test below
+        // BCH   no longer being used, and the code allowing for the
+        // BCH   shadow file and the filesizes file to have different numbers 
+        // BCH   of records (this was needed to support hard links, which
+        // BCH   results in one record in the filesizes file, but two
+        // BCH   records in the shadow file, one for the file itself,
+        // BCH   and one for the hardlink).  The net of all this is that
+        // BCH   someday we may wish to go back to using the same routine
+        // BCH   (createClientFilelists) for incremental backups that
+        // BCH   we now use for full backups.   
+
+        /* If the inode numbers from the shadow file record and the
+           filesizes record match, copy the filesize to the shadow file. */
+        if ((gpfs_ino_t) atoi((const char *) shadowRecord.inodenum) ==
+              (gpfs_ino_t) atoi((const char *) filesizesRecord.inodenum))
+#endif
+        /* Compare the inodes from the shadow file and the filesizes file. */
+        shadowRecordInode = atoi((const char *) shadowRecord.inodenum);
+        filesizesRecordInode = atoi((const char *) filesizesRecord.inodenum);
+        inodeDelta = shadowRecordInode - filesizesRecordInode;
+        if (inodeDelta > 0)
+        {
+          /* We have not yet encountered a file in the filesizes file that
+             comes lexicographically after the file from the shadow file,
+             so update the record number and read again. */
+          recordInFilesizes++;
+          readNewRecord = true;   // Read a new filesizes record.
+          continue;
+        }
+
+        if (inodeDelta == 0)
+        {
+          /* Since the inode numbers from the shadow file record and the
+             filesizes record match, copy the filesize to the shadow file. */
+          memcpy((void *) &shadowRecord.tr.filesize,
+                  (const void *) &filesizesRecord.filesize,
+                  sizeof(filesizesRecord.filesize));
+          nextWriteOffset = nextReadOffset - shadowRecordSize;
+
+          /* Reposition the file pointer for the shadow file. */
+          actualOffset = lseek(shadowFileHandle[fileIndex],
+                                 nextWriteOffset, SEEK_SET);
+          if (actualOffset != nextWriteOffset)
+          {
+            fprintf(stderr, "Could not seek to offset L%d in file %s\n",
+                      nextWriteOffset, shadowFile[fileIndex]);
+            return(RC_FAIL);
+          }
+
+          /* Write the shadow record back to the shadow file. */
+          bytesWritten = write(shadowFileHandle[fileIndex], &shadowRecord,
+                                 shadowRecordSize);
+          if (bytesWritten != shadowRecordSize)
+          {
+            fprintf(stderr, "Error writing file %s\n", shadowFile[fileIndex]);
+            return(RC_FAIL);
+          }
+
+          /* Cause the next record in the shadow file to be read. */
+          recordInShadowFile++;
+          readNewRecord = false;   // Don't read a new filesizes record yet.
+          break;
+        }
+
+        if (inodeDelta < 0)
+        {
+          /* We just encountered an inode in the filesizes file that comes
+             lexicographically after the inode from the shadow file,
+             so the inode does not exist in the filesizes file.
+             This should never happen, so issue an error message and quit. */
+          fprintf(stderr,
+                   "Inode number %s in file %s could not be found in file %s\n",
+                    shadowRecord.inodenum,
+                    shadowFile[fileIndex],
+                    filesizesFile);
+          return(RC_FAIL);
+        }
+      
+      }  /* end of while (recordInFilesizes < numberOfFilesizesRecords) */ 
+
+    }  /* end of while (recordsLeft > 0) */
+
+  }  /* end for (i = 0; i < numShadows; i++) */
+
+#ifdef DEBUG_BACKUP
+  /* Leave the filesizes file so that it may get examined. */
+#else
+  /* Delete the filesizes file. */
+  unlink(filesizesFile);
+#endif /* DEBUG_BACKUP */
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of updateShadowfilesFilesizes() ----------------*/
+
+
+/*
+ * NAME:  createFilelist()
+ *
+ * FUNCTION:
+ *   Create the transactions file.  Update it to include the full
+ *   path names of the files to be processed (i.e., get backed_up, 
+ *   get restored, etc.) by the server.
+ *
+ * PARAMETERS:
+ *   fsName:             (IN) Points to the filesystem name.
+ *   backupControlHdrP:  (IN) Pointer to a gpfs_backup_control_t structure
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int createFilelist(char *fsName, gpfs_backup_control_t *backupControlHdrP)
+{
+  gpfs_backup_control_t *backupCtrlP;
+  backup_shadow_record_t backupShadowRecord;
+  Int64 currentServerFilesSize = 0;
+  Int64 sizeOfFilesInBuffer = 0;
+  Int64 numberOfInodes;
+  Int64 recordInFile;
+  Int32 i, rc = RC_SUCCESS;
+  Int32 handle;
+  Int32 backupShadowHandle;
+  Int32 bufferIndex;
+  Int32 bytesRead;
+  transactionsListRecord buffer[NRECS_PER_BUFFER];
+  offset_t nextReadOffset, actualOffset;
+  size_t shadowRecordSize;
+  size_t transactionRecordSize;
+  char* fn = "createFilelist";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Initializations */
+  shadowRecordSize = sizeof(backup_shadow_record_t);
+  transactionRecordSize = sizeof(transactionsListRecord);
+  backupCtrlP = backupControlHdrP;
+  numberOfInodes = backupCtrlP->backupHdr.inodesTotal;
+
+  /* Create the transaction file in append mode. */
+  transactionsListHandle =
+        open(transactionsList, O_CREAT | O_APPEND | O_WRONLY | O_TRUNC, 0644);
+  if (transactionsListHandle == -1)
+  {
+    fprintf(stderr, "Cannot create %s\n", transactionsList);
+    return(RC_FAIL);
+  }
+
+  /* Open the backup shadow file in READ mode. */
+  backupShadowHandle = open(backupShadowFile, O_RDONLY, 0644);
+  if (backupShadowHandle == -1)
+  {
+    fprintf(stderr, "Cannot open %s\n", backupShadowFile);
+    return(RC_FAIL);
+  }
+
+  /* Seek the backup shadow file's first record. */
+  recordInFile = 0;
+  nextReadOffset = recordInFile*shadowRecordSize;
+  actualOffset = lseek(backupShadowHandle,
+                         recordInFile*shadowRecordSize, SEEK_SET);
+  if (actualOffset != nextReadOffset)
+  {
+    fprintf(stderr, "Cannot seek to %lld in %s\n",
+              recordInFile*shadowRecordSize, backupShadowFile);
+    return(RC_FAIL);
+  }
+
+  /*
+   * Do the following:
+   * - Read a record from the backup shadow file.
+   *   The first record read should be for a directory.
+   * - Write the record to the buffer.  
+   * - If the buffer is full, write the buffer to the transactions file.
+   * - Repeat these steps while there are records in the file.
+   */
+  bytesRead = read(backupShadowHandle, &backupShadowRecord, shadowRecordSize);
+  if (bytesRead != shadowRecordSize)
+  {
+    fprintf(stderr, "Error reading file %s\n", backupShadowFile);
+    return(RC_FAIL);
+  }
+
+  /* The first record should be for the snapshot directory which is
+     located at the mount point of the filesystem.  Assert if it is not. */
+  // BCH - Should we do something better here than just assert?
+  // BCH   At the very least I think we should put out an error message first.
+  assert(strchr((const char *) &(backupShadowRecord.inodeDir), 'Y') != NULL);
+
+  /* Copy the backup shadow record's transaction record to the buffer. */
+  bufferIndex = 0;
+  buffer[bufferIndex] = backupShadowRecord.tr;
+  buffer[bufferIndex].delimeter2 = '\n';
+
+  /* Increment the aggregate size of the files in the buffer. */
+  sizeOfFilesInBuffer +=
+           strtoll((const char *) backupShadowRecord.tr.filesize, NULL, 10);
+
+  /* Copy the 1st filename into the anchor name for the server. */
+  strncpy(backupCtrlP->inode.filename, buffer[bufferIndex].filename,
+            MAX_FILE_NAME);
+
+  /* Decrement the number of inodes now that the first has been processed. */
+  numberOfInodes--;
+
+  /* Loop until the remaining inodes have been processed. */
+  while (numberOfInodes > 0)
+  {
+    /* Read the next record from the backup shadow file. */
+    bytesRead = read(backupShadowHandle, &backupShadowRecord, shadowRecordSize);
+    if (bytesRead != shadowRecordSize)
+    {
+      fprintf(stderr, "Error reading file %s\n", backupShadowFile);
+      return(RC_FAIL);
+    }
+
+    /* Decrement the number of inodes and point to the next buffer record. */
+    numberOfInodes--;
+    bufferIndex++;
+
+    /* Copy the backup shadow record filename to the buffer. */
+    buffer[bufferIndex] = backupShadowRecord.tr;
+    buffer[bufferIndex].delimeter2 = '\n';
+
+    /* Increment the aggregate size of the files in the buffer. */
+    sizeOfFilesInBuffer +=
+             strtoll((const char *) backupShadowRecord.tr.filesize, NULL, 10);
+
+    /* Write the buffer to the transactions file if the buffer is full. */
+    if ((bufferIndex + 1) == NRECS_PER_BUFFER)
+    {
+      /* Write the buffer to the file. */
+      rc = writeBuffer(transactionsListHandle, buffer,
+                        (bufferIndex + 1) * transactionRecordSize);
+      if (rc != 0)
+      {
+        fprintf(stderr,
+                  "createFilelist(): writeBuffer() returned rc = %d\n", rc);
+        return(RC_FAIL);
+      }
+
+      /* Update the size value. */
+      currentServerFilesSize += sizeOfFilesInBuffer;
+
+      /* Clear the buffer for reuse. */
+      sizeOfFilesInBuffer = 0;
+      bufferIndex = -1;
+      memset(buffer, 0, transactionRecordSize*NRECS_PER_BUFFER);
+    }
+  }  /* end while (numberOfInodes > 0) */
+
+  /* Write the last buffer to the transactions file. */
+  rc = writeBuffer(transactionsListHandle, buffer,
+                    (bufferIndex + 1) * transactionRecordSize);
+  if (rc != 0)
+  {
+    fprintf(stderr, "createFilelist(): writeBuffer() returned rc = %d\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Update the aggregate size for the server. */
+  currentServerFilesSize += sizeOfFilesInBuffer;
+  backupCtrlP->inode.serverFilesSize = currentServerFilesSize;
+
+  /* Close the created transactions file. */
+  rc = close(transactionsListHandle);
+  if (rc != 0)
+  {
+    fprintf(stderr,
+              "Cannot close file descriptor transactionsListHandle = %d\n",
+              transactionsListHandle);
+    return(RC_FAIL);
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of createFilelist() ----------------*/
+
+
+/*
+ * NAME:  processFilelist()
+ *
+ * FUNCTION
+ *   Given a transactions file containing a list of files to be 
+ *   processed on the backup server, a list of backup clients to do
+ *   the backup, and a TSM command to run, do the following:
+ *     a) For each client node process, construct the corresponding
+ *        filelist file.
+ *     b) For each client node process, tell the client node to execute
+ *        the TSM command against its corresponding filelist file.
+ *     c) Process the return from each client node process regarding
+ *        the level of success from the command execution.
+ *
+ * PARAMETERS:
+ *   fsName:              (IN) the full path name for the filesystem
+ *   transactionCmd:      (IN) the command the client node will execute
+ *                               against a filelist file
+ *   transactionCmdOptn:  (IN) an option value to be passed to the
+ *                               transactionCmd
+ *   backupControlHdrP:   (IN) pointer to a gpfs_backup_control_t structure
+ *   divyBySize:          (IN) boolean flag indicating whether to divy the
+ *                               the filelist based on file sizes or not
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_PSUCCESS on partial success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int processFilelist(char *fsName,
+                    char *transactionCmd,
+                    char *transactionCmdOptn,
+                    gpfs_backup_control_t *backupControlHdrP,
+                    Boolean divyBySize)
+{
+  Int32 tmp, rc = RC_SUCCESS;
+  Int32 clientIndex, processIndex;
+  Int32 numberOfClients, numberOfProcesses;
+  static char *processCommand = "execTSMcommand";   // mmremote verb
+  FILE* filePtr[MAX_BACKUP_CLIENT_PROCESSES];
+  char *cmdReturnString[MAX_BACKUP_CLIENT_PROCESSES];
+  char *returnStrings;
+  backup_client_info_t *backupClient[MAX_BACKUP_CLIENTS];
+  pid_t pid[MAX_BACKUP_CLIENTS];
+  char processCmdBuffer[MAX_BACKUP_CLIENT_PROCESSES][LINE_LENGTH];
+  char linebuf[LINE_LENGTH];   /* buffer to store an output line */
+
+  gpfs_backup_control_t *backupCtrlP;
+  Boolean pendingTransactions = false;
+  Boolean partialSuccess = false;
+  char* fn = "processFilelist";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* initializations */
+  backupCtrlP = backupControlHdrP;
+  numberOfClients = backupCtrlP->backupHdr.icf.numberOfClients;
+
+  /* Create the transaction files for the client processes. */
+  if (divyBySize) {
+    rc = createClientFilelists(backupCtrlP);
+  } else {
+    rc = createClientFilelists2(backupCtrlP);
+  }
+
+  /* Delete the original transactions file now that we are done with it. */
+  unlink(transactionsList);
+
+  /* If the call to createClientFilelists() or createClientFilelists2()
+     failed, print an error message and return with a bad return code. */
+  if (rc == RC_FAIL)
+  {
+    fprintf(stderr,
+              "processFilelist(): createClientFilelists() returned %d\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Get the number of processes that we will be creating. */
+  numberOfProcesses = backupCtrlP->backupHdr.numberOfProcesses;
+
+  /* Get the client nodes and storage for their command strings. */
+  returnStrings = (char *) calloc(numberOfProcesses, (LINE_LENGTH));
+
+  /* Report error if calloc failed. */
+  if (returnStrings == NULL)
+  {
+    fprintf(stderr, "processFilelist(): calloc failure");
+    return(RC_FAIL);
+  }
+
+  /* We depend on unused areas of the returnStrings being null chars. */
+  memset(returnStrings, '\0', (numberOfProcesses * (LINE_LENGTH)));
+
+  /* Initialize cmdReturnString array with pointers into returnStrings. */
+  for (processIndex = 0; processIndex < numberOfProcesses; processIndex++)
+  {
+    cmdReturnString[processIndex] = returnStrings+(processIndex*(LINE_LENGTH));
+  }
+
+  /* Initialize the backupClient array. */
+  for (clientIndex = 0; clientIndex < numberOfClients; clientIndex++)
+  {
+    backupClient[clientIndex] =
+                          &(backupCtrlP->backupHdr.icf.clients[clientIndex]);
+  }
+
+  /* Create the pending transactions filename strings based  
+     on whether we are processing deletions or changes. */
+  if (strcmp(transactionCmd, "expire") == 0)
+  {
+    strcpy(pendingTransactionsListName, pendingDeletionsName);
+    snprintf(pendingTransactionsList, MAX_FILE_NAME, "%s/%s",
+               fsName, pendingDeletionsName);
+  } else {
+    strcpy(pendingTransactionsListName, pendingChangesName);
+    snprintf(pendingTransactionsList, MAX_FILE_NAME, "%s/%s",
+               fsName, pendingChangesName);
+  }
+
+  if (Tracing) traceLine("tsbackup.C", fn, __LINE__);
+
+  /*
+   * The following loop forks processes that do the backups in parallel
+   * on the TSM clients.  Each process invokes a script on a client node
+   * which in turn issues the desired TSM backup command.  Each client
+   * may run multiple processes in parallel.
+   */
+  for (processIndex = 0; processIndex < numberOfProcesses; processIndex++)
+  {
+    /* Calculate the client index from the process index value. */
+    clientIndex = processIndex % numberOfClients; 
+
+    /* Create the command to be forked. */
+    snprintf(processCmdBuffer[processIndex],
+               sizeof(processCmdBuffer[processIndex]),
+               "%s/bin/mmcommon on1long %s %s %s %s %s %s %s %d %d %s %d",
+               INSTALL_DIRECTORY,
+               backupClient[clientIndex]->clientName,
+               processCommand,
+               fsName,
+               transactionCmd,
+               transactionCmdOptn,
+               clientTransactionsList[processIndex],
+               masterNode,
+               masterPID,
+               processIndex,
+               backupCtrlP->backupHdr.icf.serverName,
+               ioRate);
+
+    /* Fork a command to cause the backup to execute as a client process. */
+    filePtr[processIndex] = pipeOpen(processCmdBuffer[processIndex], "r",
+                                       &pid[processIndex]);
+    if (filePtr[processIndex] == NULL)
+    {
+      /*
+       * The client process failed.  Rename its transactions file
+       * to serve as a pending transactions file and set a flag
+       * to indicate that there are pending transactions.
+       */
+
+      /* Create the pending transactions file name. */
+      snprintf(clientPendingTransactionsList[processIndex], MAX_FILE_NAME,
+                 "%s/%s%d", fsName, pendingTransactionsListName, processIndex);
+
+      /* Rename the process's transactions file to a pending trans file. */
+      rc = rename(clientTransactionsList[processIndex],
+                    clientPendingTransactionsList[processIndex]);
+      if (rc != 0)
+      {
+        fprintf(stderr, "rename(%s, %s) returned %d\n",
+                  clientTransactionsList[processIndex],
+                  clientPendingTransactionsList[processIndex], rc);
+        free(returnStrings);
+        return(RC_FAIL);
+      }
+
+      /* Set the pending transactions flag and issue a message. */
+      pendingTransactions = true;
+      fprintf(stderr,
+                "processFilelist(): pipeOpen() returned filePtr[%d] = NULL\n",
+                processIndex);
+      rc = RC_FAIL;  // BCH - I believe this may be superfluous
+    }
+  }
+
+  if (Tracing) traceLine("tsbackup.C", fn, __LINE__);
+
+  /* Loop through the client processes to get each one's return string. */
+  /* NOTE:  When at least one process has at least partially successfully
+            backed up its list of files, the overall operation will be
+            indicated as having had at least a partial successful completion. */
+  for (processIndex = 0; processIndex < numberOfProcesses; processIndex++)
+  {
+    if (fgets(linebuf, sizeof(linebuf), filePtr[processIndex]) != NULL)
+    {
+      strcpy(cmdReturnString[processIndex], linebuf);
+    }
+    else
+    {
+      /* Handle the case where the client process has failed. */
+
+      /* First create the pending transactions file name. */
+      snprintf(clientPendingTransactionsList[processIndex], MAX_FILE_NAME,
+                 "%s/%s%d", fsName, pendingTransactionsListName, processIndex);
+
+      /* Rename the process's transactions file to a pending trans file. */
+      rc = rename(clientTransactionsList[processIndex],
+                    clientPendingTransactionsList[processIndex]);
+      if (rc != 0)
+      {
+        fprintf(stderr, "rename(%s, %s) returned %d\n",
+                  clientTransactionsList[processIndex],
+                  clientPendingTransactionsList[processIndex], rc);
+        free(returnStrings);
+        return(RC_FAIL);
+      }
+
+      fprintf(stderr,
+              "processFilelist(): no output received from client process %d\n",
+              processIndex);
+      pendingTransactions = true;
+      rc = RC_FAIL;  // BCH - I believe this may be superfluous
+    }
+
+    /* Close the pipe that was opened for the client process. */
+    pipeClose(filePtr[processIndex], pid[processIndex]);
+
+  }
+
+  if (Tracing) traceLine("tsbackup.C", fn, __LINE__);
+
+  /*
+   * Check the completion level to determine
+   * the level of success for the operation.
+   */
+  for (processIndex = 0; processIndex < numberOfProcesses; processIndex++)
+  {
+    /* Calculate the client index from the process index value. */
+    clientIndex = processIndex % numberOfClients; 
+
+    if (strstr(cmdReturnString[processIndex], "Operation_Success") != NULL)
+    {
+      /* In this case all the files were successfully backed up.  Set a flag
+         indicating at least partial successful operation completion.
+       */
+      partialSuccess = true;
+      if (Tracing) {
+        fprintf(stderr, "Process %d on client %s successfully processed its list of files.\n", processIndex, backupClient[clientIndex]->clientName);
+      }
+
+#ifdef DEBUG_BACKUP
+      /* Do not delete the clientTransactionsList[processIndex] file. */
+#else
+      /* Delete the clientTransactionsList[processIndex] file. */
+      unlink(clientTransactionsList[processIndex]);
+#endif /* DEBUG_BACKUP */
+
+    }
+    else if (strstr(cmdReturnString[processIndex], "Operation_Partial_Success")
+               != NULL)
+    {
+      /* Not all of the files were successfully backed up.  The mmexectsmcmd
+         script should have created a file named PendingTransactions_L (where 
+         L is the process index) which contains the names of the files that
+         were not successfully operated on.  Save the name of this file into
+         clientPendingTransactionsList, the pending transaction files array. */
+
+      /* Set flag indicating at least partial successful operation. */
+      partialSuccess = true;
+      pendingTransactions = true;
+      fprintf(stderr, "Process %d on client %s had partial success in processing its list of files.\n", processIndex, backupClient[clientIndex]->clientName);
+
+      /* Save the name of the pending transactions file into the
+         clientPendingTransactionsList array. */
+      snprintf(clientPendingTransactionsList[processIndex], MAX_FILE_NAME,
+                 "%s/%s%d", fsName, pendingTransactionsListName, processIndex);
+
+#ifdef DEBUG_BACKUP
+      /* Do not delete the clientTransactionsList[processIndex] file. */
+#else
+      /* Delete the clientTransactionsList[processIndex] file. */
+      unlink(clientTransactionsList[processIndex]);
+#endif /* DEBUG_BACKUP */
+
+    }
+    else if ((strstr(cmdReturnString[processIndex],"Operation_Failure") != NULL)
+                ||
+             (strstr(cmdReturnString[processIndex],"Already_running") != NULL))
+    {
+      /* The backup operation on the client process failed.  Rename its
+         transactions file to clientPendingTransactionsList_L. */
+
+      /* Create the process's pending transactions file name. */
+      snprintf(clientPendingTransactionsList[processIndex], MAX_FILE_NAME,
+                 "%s/%s%d", fsName, pendingTransactionsListName, processIndex);
+
+      /* Rename the process's transactions file to a pending trans file. */
+      rc = rename(clientTransactionsList[processIndex],
+                    clientPendingTransactionsList[processIndex]);
+      if (rc != 0)
+      {
+        fprintf(stderr, "rename(%s, %s) returned %d\n",
+                  clientTransactionsList[processIndex],
+                  clientPendingTransactionsList[processIndex], rc);
+        free(returnStrings);
+        return(RC_FAIL);
+      }
+
+      /* Issue a message to help the user understand what failed
+         and set the transaction pending flag and a bad return code. */
+      fprintf(stderr,
+                "\n%s\n", 2 + strstr(cmdReturnString[processIndex], ":"));
+      fprintf(stderr,
+         "Process %d on client %s failed in processing its list of files.\n",
+         processIndex, backupClient[clientIndex]->clientName);
+      pendingTransactions = true;
+      rc = RC_FAIL;  // BCH - I believe this may be superfluous
+    }
+    else
+    {
+      fprintf(stderr,
+                "Process %d on client %s returned unexpected results: %s\n",
+                processIndex, backupClient[clientIndex]->clientName,
+                cmdReturnString[processIndex]);
+      free(returnStrings);
+      return(RC_FAIL);
+    }
+  }
+
+  if (Tracing) traceLine("tsbackup.C", fn, __LINE__);
+
+  /* Return the storage we obtained for the return strings. */
+  free(returnStrings);
+
+  /* Set the return code and do required cleanup based on the outcome. */
+  if (partialSuccess)
+  {
+    if (pendingTransactions)   /* partial success */
+    {
+      /* Merge the pendingTransactionsList_L files into a single 
+         pendingTransactionsList file. */
+      rc = createPendingFile(fsName, backupCtrlP, pendingTransactionsList);
+      if (rc != 0)
+      {
+        fprintf(stderr, "createPendingFile() failed with rc = %d\n", rc);
+        return(RC_FAIL);
+      }
+
+      /* Set the return code. */
+      rc = RC_PSUCCESS;
+    }
+    else   /* total success */
+    {
+      /* Set the return code. */
+      rc = RC_SUCCESS;
+    }
+  }
+  else     /* total failure */
+  {
+    /* Delete any existing client transactions files. */
+    for (processIndex = 0; processIndex < numberOfProcesses; processIndex++)
+    {
+      /* Delete the client transactions file and the
+         client pending transactions file if either exists. */
+      unlink(clientTransactionsList[processIndex]);
+      unlink(clientPendingTransactionsList[processIndex]);
+    }
+
+    /* Set the return code. */
+    rc = RC_FAIL;
+
+  }  // end if (partialSuccess)
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of processFilelist() ----------------*/
+
+
+/*
+ * NAME:  createPendingFile()
+ *
+ * FUNCTION:
+ *   Consolidate the pending transactions files from the client processes
+ *   into a single pending transactions file relating to the server.
+ *
+ * PARAMETERS:
+ *   fsName:             (IN) full path name of filesystem mount point
+ *   backupControlHdrP:  (IN) pointer to a gpfs_backup_control_t structure
+ *   pendingFile:        (IN) name of file to be created containing the
+ *                              pending transactions
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ *   It is assumed that if a client has failed to backup all the files which
+ *   were to be backed up by that client, a file exists associated with that
+ *   client which contains all the file names which were not backed up.
+ */
+int createPendingFile(char *fsName,
+                      gpfs_backup_control_t *backupControlHdrP,
+                      char *pendingFile)
+{
+  Int32 numberOfClients, processesPerClient, numberOfProcesses;
+  Int32 rc = RC_SUCCESS;
+  Int32 clientIndex, j;
+  char *filenamesString = NULL;
+  gpfs_backup_control_t *backupCtrlP;
+  struct stat statBuf;
+  Boolean pendingFiles = false;
+  char* fn = "createPendingFile";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Initialize some pointers. */
+  backupCtrlP = backupControlHdrP;
+
+  /* Initialize the number of clients and the number of client processes. */
+  numberOfClients = backupCtrlP->backupHdr.icf.numberOfClients;
+  processesPerClient = backupCtrlP->backupHdr.icf.processesPerClient;
+  numberOfProcesses = numberOfClients * processesPerClient;
+
+  /* If there is only one client process for the server and the
+     clientPendingTransactionsList[0] file exists, just rename it
+     to pendingTransactionsList file. */
+  if (numberOfProcesses == 1)
+  {
+    /* Check the existence of the clientPendingTransactionsList_0 file. */
+    rc = stat(clientPendingTransactionsList[0], &statBuf);
+    if (rc == -1)
+    {
+      if (errno == ENOENT)
+      {
+        fprintf(stderr, "File %s does not exist.\n",
+                  clientPendingTransactionsList[0]);
+      }
+      else
+      {
+        fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+                  clientPendingTransactionsList[0], errno);
+      }
+      return(RC_FAIL);
+    }
+    else
+    {
+      /* Rename the client process pending transactions file to the 
+         desired pending transactions file. */
+      rc = rename(clientPendingTransactionsList[0], pendingFile);
+      if (rc != 0)
+      {
+        fprintf(stderr, "rename(%s, %s) returned %d\n",
+                 clientPendingTransactionsList[0], pendingTransactionsList, rc);
+        return(RC_FAIL);
+      }
+    }
+  }
+  else  /* We come here if there is more than one client process. */
+  {
+    /* For each client process, determine whether a pending transactions
+       file exists.  If so, put its name into a string of client process
+       pending transaction files.  If the string contains one or more names,
+       issue a cat command to have all the files concatenated into one pending
+       transactions file for the server. */
+    for (j = 0; j < numberOfProcesses; j++)
+    {
+      rc = stat(clientPendingTransactionsList[j], &statBuf);
+      if (rc == -1)
+      {
+        if (errno == ENOENT)
+        {
+          /* The clientPendingTransactionsList_j file does not exist. */
+          continue;
+        }
+        else
+        {
+          fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+                    clientPendingTransactionsList[j], errno);
+          return(RC_FAIL);
+        }
+      }
+      else
+      {
+        /* Set a flag to indicate that there are pending files to process. */
+        pendingFiles = true;
+
+        /* Get initial space for string or increase the space as necessary. */
+        if (filenamesString == NULL)
+        {
+          /* Obtain space for the name + 2 extra characters (' ' and '\0'). */
+          filenamesString = (char*) malloc(
+                strlen((clientPendingTransactionsList[j]) + 2) * sizeof(char));
+
+          if (filenamesString == NULL) 
+          {
+            fprintf(stderr, "createPendingFile(): malloc failure\n");
+            return(RC_FAIL);
+          }      
+
+          /* Zero the storage for the string before using it. */
+          memset(filenamesString, '\0', sizeof(char));
+        }
+        else
+        {
+          char* oldNamesString;
+          oldNamesString = filenamesString;
+
+          /* Obtain additional space for the name plus 2 extra characters
+             (' ' and '\0'). */
+          filenamesString = (char*) realloc(filenamesString, 
+      (strlen(filenamesString) + 2 + strlen(clientPendingTransactionsList[j]))
+                                              * sizeof(char));
+
+          if (filenamesString == NULL) 
+          {
+            /* free old memory */
+            free(oldNamesString);
+            fprintf(stderr, "createPendingFile(): realloc failure\n");
+            return(RC_FAIL);
+          }      
+        }
+
+        /* Append the file name to a string consisting of the names of all
+           client process pending transactions files separated by blanks. */
+        strcat(filenamesString, clientPendingTransactionsList[j]);
+        strcat(filenamesString, " ");
+      }
+    }  /* for (j = 0;  j < numberOfProcesses; j++) */
+  }  
+
+  /* If there are pending files because one or more of the processes failed,
+     concatenate the files together into a single pending transactions file. */
+  if (pendingFiles)
+  {
+    /* Create the server's pending transactions file name. */
+    snprintf(pendingTransactionsList, MAX_FILE_NAME,
+               "%s/%s", fsName, pendingTransactionsListName);
+
+    /* Concatenate the pending transations files from the client processes
+       into a single file that is the server's pending transactions file. */
+    // BCH - Recode this to use a loop with open(), read(), write(), close()
+    // BCH     It will be much more efficient (faster reads and no system() ) 
+#ifdef GPFS_AIX
+    snprintf(sstring, MAX_COMMAND_STRING, "/usr/bin/cat %s > %s",
+               filenamesString, pendingTransactionsList);
+#else
+    snprintf(sstring, MAX_COMMAND_STRING, "/bin/cat %s > %s",
+               filenamesString, pendingTransactionsList);
+#endif
+    rc = system(sstring);
+
+    /* Check system() return. */
+    if (rc != 0)
+    {
+      fprintf(stderr, "system(%s) returned %d\n", sstring, rc);
+      return(RC_FAIL);
+    }
+
+#ifdef DEBUG_BACKUP
+    /* Do not remove the clientPendingTransactionsList files. */
+#else
+    /* Issue the rm command to have the clientPendingTransactionsList files
+       deleted.  Using rm instead of unlink allows us to delete them all
+       in one command. */
+    // BCH - true, but you pay for the overhead of system().  Recode?
+    snprintf(sstring, MAX_COMMAND_STRING,
+               "%s %s > /dev/null", RM, filenamesString);
+    rc = system(sstring);
+
+    /* Check system() return. */
+    if (rc != 0)
+    {
+      fprintf(stderr, "system(%s) returned %d\n", sstring, rc);
+      return(RC_FAIL);
+    }
+#endif  /* DEBUG_BACKUP */
+
+    /* Free the memory for the string of file names. */
+    free(filenamesString);
+    filenamesString = NULL;
+  }
+  else
+  {
+    rc = RC_SUCCESS;
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of createPendingFile() ----------------*/
+
+
+/*
+ * NAME:  doFSFileDeletions()
+ *
+ * FUNCTION:
+ *   Determine the files which have been deleted from a filesystem
+ *   and expire them from the backed up copy of the filesystem.
+ *
+ * PARAMETERS:
+ *   fsName:              (IN) The full path name of the mounted filesystem.
+ *   fsSnapshotPathname:  (IN) The full path name of a directory name
+ *                             indicating where a snapshot of the filesystem
+ *                             is to be stored.
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_PSUCCESS on partial success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int doFSFileDeletions(char *fsName, char *fsSnapshotPathname)
+{
+  Int32 tmp, rc = RC_SUCCESS;
+  Int32 numShadows;
+  Boolean fileDeletions = false;
+  inodeBitsArray *inodeBitsArrayP;
+  char* fn = "doFSFileDeletions";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Do a regular inode scan.  The inodes for all the files in the
+     filesystem will be returned. */
+  inodeBitsArrayP = &inodeBitsP;
+  rc = doInodeScan(fsSnapshotPathname, inodeBitsArrayP, backupControlP);
+  if (rc != 0)
+  {
+    fprintf(stderr,
+              "doFSFileDeletions(): doInodeScan() returned rc = %d\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Create a backup shadow file, and store it
+     at the mount point of the filesystem. */
+  numShadows = 1;
+  rc = createSnapshotShadows(fsName, numShadows, inodeBitsP);
+  if (rc != 0)
+  {
+    fprintf(stderr, "createSnapshotShadows() returned rc = %d\n", rc);
+    free(inodeBitsP);
+    return(RC_FAIL);
+  }
+  free(inodeBitsP);
+
+  /* Sort the backup shadow file(s) by inode number. */
+  rc = sortShadowfilesByInode(numShadows);
+  if (rc != RC_SUCCESS)
+  {
+    fprintf(stderr, "sortShadowfilesByInode() returned rc = %d\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Update the .backup_shadow0 file with the correct
+     file sizes and erase the filesizes file. */
+  rc = updateShadowfilesFilesizes(numShadows);
+  if (rc != RC_SUCCESS)
+  {
+    fprintf(stderr, "updateShadowfilesFilesizes() returned rc = %d\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Sort the backup shadow file into alphabetical order by filename,
+     and store the results in a single backup shadow file. */
+  rc = sortShadowfilesByFilename();
+  if (rc != RC_SUCCESS)
+  {
+    fprintf(stderr, "sortShadowfilesByFilename() returned rc = %d\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Get the list of files to be deleted. */
+  rc = getFilelistDeletions(backupShadowCheck, backupShadowFile,
+                              &fileDeletions, (char *) &deletionsFile);
+  if (rc != 0)
+  {
+    fprintf(stderr, "getFilelistDeletions() returned rc = %d\n", rc);
+    unlink(deletionsFile);
+    return(RC_FAIL);
+  }
+
+  /* Take an early exit if there are no file deletions. */
+  if (fileDeletions == false)
+  {
+    return(RC_SUCCESS);
+  }
+
+  /* Rename the deletions file to be the transactions file. */
+  tmp = rename(deletionsFile, transactionsList);
+  if (tmp != 0)
+  {
+    fprintf(stderr, "rename(%s, %s) returned %d\n",
+              deletionsFile, transactionsList, rc);
+    return(RC_FAIL);
+  }
+
+  /* Invoke routine to process the transactions file.  The false flag
+     that is passed tells the routine to divy the transactions file 
+     among the client processes by number of files, not by aggregate
+     file size, which is what makes sense when doing deletions. */
+  rc = processFilelist(fsName,
+                         transactionCmdExpire,
+                         transactionCmdOption,
+                         backupControlP,
+                         false);
+
+  /* Process the return code. */
+  switch (rc)
+  {
+    case RC_FAIL:       /* failure */
+      fprintf(stderr, "processFilelist() returned rc = %d\n", rc);
+      break;
+
+    case RC_PSUCCESS:   /* partial success */
+    case RC_SUCCESS:    /* complete success */
+      break;
+
+    default:
+      fprintf(stderr, "processFilelist() returned unexpected rc = %d\n", rc);
+      rc = RC_FAIL;
+      break;
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of doFSFileDeletions() ----------------*/
+
+
+/*
+ * NAME:  getFilelistDeletions()
+ *
+ * FUNCTION:
+ *   Given two shadow files, each one containing the list of files
+ *   and directories of a filesystem at one point, determine the
+ *   list of files in the first shadow file which are not in the
+ *   second shadow file and put that list into a deletions file.
+ *   Return the full path name of the created file.
+ * 
+ * PARAMETERS:
+ *   oldShadowFile:      (IN)  full path name of first shadow file
+ *   newShadowFile:      (IN)  full path name of second shadow file
+ *   fileDeletions:      (OUT) flag indicating whether there were any
+ *                               deleted files; a true value indicates
+ *                               there were
+ *   deletionsFilelist:  (OUT) pointer to name of file containing the list
+ *                               of files which are in oldShadowFile but
+ *                               are not in newShadowFile
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int getFilelistDeletions(const char *oldShadowFile,
+                         const char *newShadowFile,
+                         Boolean *fileDeletions,
+                         char *deletionsFilelist)
+{
+  Int32 fp_del, fp_old_shadow, fp_new_shadow;
+  Int32 j, offset;
+  Int32 rc1, rc = RC_SUCCESS;
+  transactionsListRecord transactionRecord;
+  backup_shadow_record_t oldShadowRecord;
+  backup_shadow_record_t newShadowRecord;
+  struct stat statBuf;
+  Int32 bytesRead, bytesWritten;
+  Int64 numberOfOldShadowRecords, numberOfNewShadowRecords;
+  Int64 recordInOldShadow, recordInNewShadow;
+  offset_t nextReadOldShadowOffset, actualOldShadowOffset;
+  offset_t nextReadNewShadowOffset, actualNewShadowOffset;
+  size_t shadowRecordSize = sizeof(backup_shadow_record_t);
+  size_t transactionRecordSize = sizeof(transactionsListRecord);
+  char* eq_p;
+  Boolean shadowDeletions = false;
+  Boolean searchNeeded = false;
+  Boolean readNewRecord = true;
+  char* fn = "getFilelistDeletions";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Stat the old backup shadow file. */
+  if (stat(oldShadowFile, &statBuf) == -1)
+  {
+    fprintf(stderr, "Could not stat file %s, errno=%d\n", oldShadowFile, errno);
+    return(RC_FAIL);
+  }
+
+  /* Determine the number of records in the old shadow file. */
+  numberOfOldShadowRecords = statBuf.st_size / shadowRecordSize;
+
+  /* Open the old backup shadow file. */
+  fp_old_shadow = open(oldShadowFile, O_RDONLY, 0644);
+  if (fp_old_shadow == -1)
+  {
+    fprintf(stderr, "Cannot open file %s\n", oldShadowFile);
+    return(RC_FAIL);
+  }
+
+  /* Stat the new backup shadow file. */
+  if (stat(newShadowFile, &statBuf) == -1)
+  {
+    fprintf(stderr, "Could not stat file '%s', errno=%d\n",
+              newShadowFile, errno);
+    return(RC_FAIL);
+  }
+
+  /* Determine the number of records in the new shadow file. */
+  numberOfNewShadowRecords = statBuf.st_size / shadowRecordSize;
+
+  /* Open the new backup shadow file. */
+  fp_new_shadow = open(newShadowFile, O_RDONLY, 0644);
+  if (fp_new_shadow == -1)
+  {
+    fprintf(stderr, "Cannot open file %s\n", newShadowFile);
+    return(RC_FAIL);
+  }
+
+  /* Create the full pathname for the deletions file for the filesystem. */
+  snprintf(deletionsFile, MAX_FILE_NAME, "%s/%s", fsName, deletionsName);
+
+  /* Create and open the deletions file in append mode. */
+  fp_del = open(deletionsFile, O_CREAT | O_APPEND | O_WRONLY | O_TRUNC, 0600);
+  if (fp_del == -1)
+  {
+    fprintf(stderr, "Cannot open file %s\n", deletionsFile);
+    return(RC_FAIL);
+  }
+
+  recordInOldShadow = 0;
+  recordInNewShadow = 0;
+  nextReadOldShadowOffset = recordInOldShadow*shadowRecordSize;
+  actualOldShadowOffset = lseek(fp_old_shadow,
+                                  recordInOldShadow*shadowRecordSize,
+                                  SEEK_SET);
+  if (actualOldShadowOffset != nextReadOldShadowOffset)
+  {
+    fprintf(stderr, "Cannot seek to %lld in %s\n",
+              recordInOldShadow*shadowRecordSize, oldShadowFile);
+    return(RC_FAIL);
+  }
+  nextReadNewShadowOffset = recordInNewShadow*shadowRecordSize;
+  actualNewShadowOffset = lseek(fp_new_shadow,
+                                  recordInNewShadow*shadowRecordSize,
+                                  SEEK_SET);
+  if (actualNewShadowOffset != nextReadNewShadowOffset)
+  {
+    fprintf(stderr, "Cannot seek to %lld in %s\n",
+              recordInNewShadow*shadowRecordSize, newShadowFile);
+    return(RC_FAIL);
+  }
+
+  /* Loop through the old shadow file. */
+  while (recordInOldShadow < numberOfOldShadowRecords)
+  {
+    /* Read a record from the old shadow file. */
+    bytesRead = read(fp_old_shadow, &oldShadowRecord, shadowRecordSize);
+    if (bytesRead != shadowRecordSize)
+    {
+      fprintf(stderr, "Error reading from file descriptor %d\n", fp_old_shadow);
+      return(RC_FAIL);
+    }
+
+    /* Indicate a search for a matching record in the
+       new shadow file should be done. */
+    searchNeeded = true;
+
+    /* Put a null character at the end of the file name
+       to make it into a string so we can use strcmp(). */
+    offset = atoi((const char *) oldShadowRecord.tr.fnLength);
+    eq_p = oldShadowRecord.tr.filename + offset;
+    memset(eq_p, '\0', 1);
+
+    /* Loop through the new shadow file. */
+    while (recordInNewShadow < numberOfNewShadowRecords)
+    {
+      if (readNewRecord)
+      {
+        /* Read a record from the new shadow file. */
+        bytesRead = read(fp_new_shadow, &newShadowRecord, shadowRecordSize);
+        if (bytesRead != shadowRecordSize)
+        {
+          fprintf(stderr, "Error reading from file descriptor %d\n",
+                    fp_new_shadow);
+          return(RC_FAIL);
+        }
+
+        /* Put a null character at the end of the file name
+           to make it into a string so we can use strcmp(). */
+        offset = atoi((const char *) newShadowRecord.tr.fnLength);
+        eq_p = newShadowRecord.tr.filename + offset;
+        memset(eq_p, '\0', 1);
+
+      }  /* end of if (readNewRecord) */
+
+      /* Compare the records from the old and new shadow files. */
+      rc1 = strcmp((const char *) &oldShadowRecord.tr.filename,
+                     (const char *) &newShadowRecord.tr.filename);
+      if (rc1 > 0)
+      {
+        /* We have not yet encountered a file in the new shadow file
+           that comes lexicographically after the file from the old
+           shadow file, so read the next record from the new shadow file. */
+        recordInNewShadow++;
+        readNewRecord = true;
+        continue;
+      }
+
+      if (rc1 == 0)
+      {
+        /* The names match. */
+        recordInOldShadow++;
+        recordInNewShadow++;
+        readNewRecord = true;
+        searchNeeded = false;
+        break;
+      }
+
+      if (rc1 < 0)
+      {
+        /* We just encountered a file in the new shadow file that comes
+           lexicographically after the file from the old shadow file,
+           so the file name does not exist in the newShadowFile (i.e.,
+           it must have been deleted).  Construct a transaction record
+           for the record from the old shadow file. */
+        memset((void *) &transactionRecord, ' ', transactionRecordSize);
+        memcpy((void *) &transactionRecord.filename,
+                 (void *) &oldShadowRecord.tr.filename,
+                 strlen((const char *) &oldShadowRecord.tr.filename));
+        transactionRecord.delimeter2 = '\n';
+
+        /* Write the created transactions record to the deletions file. */
+        bytesWritten = write(fp_del, &transactionRecord, transactionRecordSize);
+        if (bytesWritten != transactionRecordSize)
+        {
+          fprintf(stderr, "Error writing to %d; wrote %d bytes, not %d\n",
+                    fp_del, bytesWritten, transactionRecordSize);
+          return(RC_FAIL);
+        }
+        shadowDeletions = true;
+        recordInOldShadow++;
+        readNewRecord = false;
+        searchNeeded = false;
+        break;
+      }  /* end of if (rc1 < 0) */
+
+    }  /* end of while (recordInNewShadow < numberOfNewShadowRecords) */
+
+    /* Did we exhaust all of the records in the
+       new shadow file in the course of a search? */
+    if (searchNeeded && recordInNewShadow == numberOfNewShadowRecords)
+    {
+      /* If we get here, it indicates that the old record was
+         lexicographically greater than all of the records in the new
+         shadow file.  We will therefore copy the old record and all of
+         the remaining old records to the deletions file. */
+
+      /* First, construct the transaction record for the
+         current old shadow record. */
+      memset((void *) &transactionRecord, ' ', transactionRecordSize);
+      memcpy((void *) &transactionRecord.filename,
+               (void *) &oldShadowRecord.tr.filename,
+               strlen((const char *) &oldShadowRecord.tr.filename));
+      transactionRecord.delimeter2 = '\n';
+
+      /* Write the created transaction record to the deletions file. */
+      bytesWritten = write(fp_del, &transactionRecord, transactionRecordSize);
+      if (bytesWritten != transactionRecordSize)
+      {
+        fprintf(stderr, "Error writing to %d; wrote %d bytes, not %d\n",
+                  fp_del, bytesWritten, transactionRecordSize);
+        return(RC_FAIL);
+      }
+
+      /* Set a flag to indicate that deletions were found. */
+      shadowDeletions = true;
+
+      /* Copy all of the remaining old shadow file records to the
+         deletions file and exit the loop. */
+      for (j = recordInOldShadow+1; j < numberOfOldShadowRecords; j++)
+      {
+        /* Read a record from the old shadow file. */
+        bytesRead = read(fp_old_shadow, &oldShadowRecord, shadowRecordSize);
+        if (bytesRead != shadowRecordSize)
+        {
+          fprintf(stderr,
+                    "Error reading from file descriptor %d\n", fp_old_shadow);
+          return(RC_FAIL);
+        }
+
+        /* Put a null character at the end of the file name
+           to make it into a string so we can use strcmp(). */
+        offset = atoi((const char *) oldShadowRecord.tr.fnLength);
+        eq_p = oldShadowRecord.tr.filename + offset;
+        memset(eq_p, '\0', 1);
+
+        /* Construct the transaction record for the shadow record. */
+        memset((void *) &transactionRecord, ' ', transactionRecordSize);
+        memcpy((void *) &transactionRecord.filename,
+                 (void *) &oldShadowRecord.tr.filename,
+                 strlen((const char *) &oldShadowRecord.tr.filename));
+        transactionRecord.delimeter2 = '\n';
+
+        /* Write the created transactions record to the deletions file. */
+        bytesWritten = write(fp_del, &transactionRecord, transactionRecordSize);
+        if (bytesWritten != transactionRecordSize)
+        {
+          fprintf(stderr, "Error writing to %d; wrote %d bytes, not %d\n",
+                    fp_del, bytesWritten, transactionRecordSize);
+          return(RC_FAIL);
+        }
+      }  /* end of for loop */
+      break;   // exit the loop through the old shadow file
+
+    }  /* if (recordInNewShadow == numberOfNewShadowRecords) */
+
+  }  /* end of while (recordInOldShadow < numberOfOldShadowRecords) */
+
+  /* Close the deletions file. */
+  rc = close(fp_del);
+  if (rc == -1)
+  {
+    fprintf(stderr, "Cannot close file descriptor %d for file %s\n",
+              fp_del, deletionsFile);
+    return(RC_FAIL);
+  }
+
+  /* Close the old and new shadow files. */
+  rc = close(fp_old_shadow);
+  if (rc == -1)
+  {
+    fprintf(stderr, "Cannot close file descriptor %d for file %s\n",
+              fp_old_shadow, oldShadowFile);
+    return(RC_FAIL);
+  }
+  rc = close(fp_new_shadow);
+  if (rc == -1)
+  {
+    fprintf(stderr, "Cannot close file descriptor %d for file %s\n",
+              fp_new_shadow, newShadowFile);
+    return(RC_FAIL);
+  }
+
+  /* If there were deletions, set the deletions flag to true and
+     pass it and the name of the deletions file back to the caller. */
+  if (shadowDeletions)
+  {
+    *fileDeletions = true;
+    strncpy(deletionsFilelist, deletionsFile, MAX_FILE_NAME);
+  }
+  else
+  {
+    /* Indicate no deletions and delete the deletions file. */
+    *fileDeletions = false;
+    unlink(deletionsFile);
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of getFilelistDeletions() ----------------*/
+
+
+/*
+ * NAME:  doFSFileChanges()
+ *
+ * FUNCTION:
+ *   Determine the files which have changed or which have been added
+ *   to a filesystem and back them up.
+ *
+ * PARAMETERS:
+ *   fsName:              (IN) The full path name of the mounted filesystem.
+ *   fsSnapshotPathname:  (IN) The full path name of a directory name
+ *                             indicating where a snapshot of the filesystem
+ *                             is to be stored.
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_PSUCCESS on partial success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int doFSFileChanges(char *fsName, char *fsSnapshotPathname)
+{
+  Int32 tmp, rc = RC_SUCCESS;
+  Int32 numShadows;
+  char filenameTemp[MAX_FILE_NAME];
+  inodeBitsArray *inodeBitsArray2P;
+  char* fn = "doFSFileChanges";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Do an incremental inode scan.  Only the bits for inodes corresponding
+     to files that have changed since the previous backup will be set. */
+  inodeBitsArray2P = &inodeBits2P;
+  rc = doIncrInodeScan(fsSnapshotPathname, &prevSnapId, inodeBitsArray2P,
+                         backupControlP);
+  if (rc != 0)
+  {
+    fprintf(stderr,
+              "doFSFileChanges(): doIncrInodeScan() returned rc = %d\n", rc);
+    return(RC_FAIL);
+  }
+
+  /* Create the full pathname for the changes file for the filesystem. */
+  snprintf(changesFile, MAX_FILE_NAME, "%s/%s", fsName, changesName);
+
+  /* Using the bitmap to identify the changed files, extract the names of the
+     changed files from the backup shadow file to create the changes file. */
+  rc = extractChangedFiles(backupShadowFile, *inodeBitsArray2P,
+                             &fileChanges, changesFile);
+  if (rc != 0)
+  {
+    fprintf(stderr,
+             "getFSFileChanges(): extractChangedFiles() returned rc = %d\n",
+             rc);
+    unlink(changesFile);
+    return(RC_FAIL);
+  }
+
+  /* Process any changes that were found. */
+  if (fileChanges == true)
+  {
+    /* Rename the changes file to be the transactions file. */
+    tmp = rename(changesFile, transactionsList);
+    if (tmp != 0)
+    {
+      fprintf(stderr, "rename(%s, %s) returned %d\n",
+                changesFile, transactionsList, rc);
+      return(RC_FAIL);
+    }
+
+    /* Invoke routine to process the transactions file.  The false flag
+       that is passed tells the routine to divy the transactions file 
+       among the client processes by number of files, not by aggregate
+       file size, which is what makes sense when doing deletions. */
+    rc = processFilelist(fsName,
+                           transactionCmdSelective,
+                           transactionCmdOption,
+                           backupControlP,
+                           false);
+  }
+  else   // There were no changes to process, so indicate success.
+  {
+    rc = RC_SUCCESS;
+  }
+
+  /* Process the return code. */
+  switch (rc)
+  {
+    case RC_FAIL:       /* failure */
+      fprintf(stderr, "processFilelist() returned rc = %d\n", rc);
+      break;
+
+    case RC_PSUCCESS:   /* partial success */
+    case RC_SUCCESS:    /* complete success */
+      /* Rename the backup shadow file to be the old backup shadow file. */
+      tmp = rename(backupShadowFile, backupShadowCheck);
+      if (tmp != 0)
+      {
+        fprintf(stderr, "rename(%s, %s) returned %d\n",
+                  backupShadowFile, backupShadowCheck, rc);
+        return(RC_FAIL);
+      }
+      break;
+
+    default:
+      fprintf(stderr, "processFilelist() returned unexpected rc = %d\n", rc);
+      rc = RC_FAIL;
+      break;
+  }
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of doFSFileChanges() ----------------*/
+
+
+/*
+ * NAME:  extractChangedFiles()
+ *
+ * FUNCTION:
+ *   Extract the transaction records for the changed files from the
+ *   input file, returning them in the output file.
+ *
+ * PARAMETERS:
+ *   filein      - (IN)  the name of the file containing the pertinent
+ *                         backup shadow information
+ *   bitMap      - (IN)  pointer to the bit map array that indicates
+ *                         whether a given inode is for a changed file
+ *   fileChanges - (OUT) flag indicating whether there were any
+ *                         deleted files; a true value indicates
+ *                         there were
+ *   fileout     - (IN)  the name of the file where the extracted
+ *                         transaction records should be written
+ *
+ * RETURNS:
+ *   RC_SUCCESS on success, RC_FAIL on error.
+ *
+ * NOTES:
+ */
+int extractChangedFiles(char *filein,
+                        inodeBitsArray bitMap,
+                        Boolean *fileChanges,
+                        char *fileout)
+{
+  Int32 rc = RC_SUCCESS;
+  Int32 bytesRead, bytesWritten;
+  backup_shadow_record_t shadowRecord;
+  transactionsListRecord transactionRecord;
+  Int32 fp_in, fp_out;
+  Int64 recordInFile;
+  Int64 numberOfFiles;
+  Int32 transactionRecordSize, shadowRecordSize;
+  offset_t nextReadOffset, actualOffset;
+  struct stat statBuf;
+  inodeBitsArray myBitMap;
+  char* fn = "extractChangedFiles";
+
+  if (Tracing) traceEntry("tsbackup.C", fn, __LINE__);
+
+  /* Initializations */
+  myBitMap = bitMap;
+  transactionRecordSize = sizeof(transactionsListRecord);
+  shadowRecordSize = sizeof(backup_shadow_record_t);
+
+  /* Stat and open the filein file. */
+  if (stat(filein, &statBuf) == -1)
+  {
+    fprintf(stderr, "Could not stat file '%s', errno=%d\n", filein, errno);
+    return(RC_FAIL);
+  }
+  numberOfFiles = statBuf.st_size / shadowRecordSize;
+
+  fp_in = open(filein, O_RDONLY, 0644);
+  if (fp_in == -1)
+  {
+    fprintf(stderr, "extractChangedFiles(%s, %s): open(%s) failure\n",
+              filein, fileout, filein);
+    return(RC_FAIL);
+  }
+
+  /* Locate the first record in the filein file. */
+  recordInFile = 0;
+  nextReadOffset = recordInFile*shadowRecordSize;
+  actualOffset = lseek(fp_in, recordInFile*shadowRecordSize, SEEK_SET);
+  if (actualOffset != nextReadOffset)
+  {
+    fprintf(stderr, "Cannot seek to %lld in %s\n",
+              recordInFile*shadowRecordSize, filein);
+    return(RC_FAIL);
+  }
+
+  /* Create and open the fileout file in append mode. */
+  fp_out = open(fileout, O_CREAT | O_APPEND | O_RDWR | O_TRUNC, 0600);
+  if (fp_out == -1)
+  {
+    fprintf(stderr, "Cannot open file %s\n", fileout);
+    return(RC_FAIL);
+  }
+
+  /* Read each record from the input file and get the specified file name. */
+  while (numberOfFiles > 0)
+  {
+    bytesRead = read(fp_in, &shadowRecord, shadowRecordSize);
+    if (bytesRead != shadowRecordSize)
+    {
+      fprintf(stderr, "Error reading file %s\n", filein);
+      return(RC_FAIL);
+    }
+
+    /* Check the bit map array entry to determine
+       whether the inode must be backed up. */
+    if (testBit(myBitMap,
+                 (UInt32) atoi((const char *) shadowRecord.inodenum)) != 0)
+    {
+      /* Build the record to be written to the file. */
+      memset((void *) &transactionRecord, ' ', transactionRecordSize);
+      memcpy((void *) &transactionRecord.filename,
+               (void *) &shadowRecord.tr.filename, MAX_FILE_NAME);
+      transactionRecord.delimeter2 = '\n';
+
+      /* Write the record to the file. */
+      bytesWritten = write(fp_out, &transactionRecord, transactionRecordSize);
+      if (bytesWritten != transactionRecordSize)
+      {
+        fprintf(stderr, "Error writing to %d; wrote %d bytes, not %d\n",
+                  fp_out, bytesWritten, transactionRecordSize);
+        return(RC_FAIL);
+      }
+      *fileChanges = true;
+    }
+    numberOfFiles--;
+  }
+
+  /* Close the input and output files. */
+  close(fp_in);
+  close(fp_out);
+
+  if (Tracing) traceExit("tsbackup.C", fn, __LINE__);
+
+  return(rc);
+
+}  /*------ end of extractChangedFiles ----------------*/ 
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsbackup.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsbackup.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsbackup.h	(revision 16)
@@ -0,0 +1,445 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 2004,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+/* @(#)47       1.5  src/avs/fs/mmfs/samples/util/tsbackup.h, mmfs, avs_rgpfs24, rgpfs240610b 2/27/06 14:36:22 */
+
+/* NOTES:
+ * 1. The absolute maximum number of files in a GPFS filesystem is
+ *    256,000,000.
+ * 2. Size of large customer filesystems ranges from 1 to 3 TB (terrabytes).
+ * 3. The average size of a file for a technical customer is 100MB,
+ *    while for a commercial customer it is 100KB.
+ * 4. Therefore, the average number of files in a technical customer's file-
+ *    system is 30,000 files, and for a commecial customer it is 10 million.
+ */
+
+#include <sys/param.h>          // #define MAXPATHLEN
+
+/* Types to use when the number of bits in a word is important.
+   Use these instead of long, short, int, etc. for portability */
+typedef short              Int16;
+typedef int                Int32;
+typedef long long          Int64;
+typedef unsigned short     UInt16;
+typedef unsigned int       UInt32;
+typedef unsigned long long UInt64;
+typedef unsigned int       Boolean;
+
+/* maximum number of inodes in a GPFS filesystem */
+#define MAX_INODES          256000000
+
+/* maximum number of backup clients */
+#define MAX_BACKUP_CLIENTS  32
+
+/* maximum number of processes per backup client */
+#define MAX_PROCESSES_PER_CLIENT  16
+
+/* maximum number of backup clients processes */
+#define MAX_BACKUP_CLIENT_PROCESSES  512
+
+/* maximum number of characters used for a name */
+#ifdef NAME_MAX
+#define MAX_NAME_CHARS  NAME_MAX+1
+#else
+#define MAX_NAME_CHARS  256
+#endif
+
+/* maximum number of characters in a fullpath file name */
+#ifdef PATH_MAX
+#define MAX_FILE_NAME  PATH_MAX+1
+#else
+#define MAX_FILE_NAME  1024
+#endif
+
+/* maximum number of buffers used in processing a directory of file names */
+#define MAX_DIR_BUFFERS 256
+
+/* maximum number of characters in a command to be issued */
+#define MAX_COMMAND_STRING 1024
+
+/* maximum number of characters needed to print a 32-bit integer */
+#define MAX_INT32_CHARS 11
+
+/* maximum number of characters needed to print a 64-bit integer */
+#define MAX_INT64_CHARS 21
+
+/* The current choice for the discretion value is arbitrary.
+   8192 was chosen because it was big enough to acommodate
+   a directory or a number of small files.  No testing
+   has been done to ascertain the benefit of this value. */
+#define PROCESS_OVERFLOW_DISCRETION 8192
+
+#define NRECS_PER_BUFFER       500
+
+#define LINE_LENGTH            2*MAX_FILE_NAME
+
+#define INSTALL_DIRECTORY      "/usr/lpp/mmfs"
+
+#define inputCtrlSeperatorChar '='
+
+#define RC_SUCCESS  0
+#define RC_PSUCCESS 1
+#define RC_FAIL     2
+
+/* #define DEBUG_BACKUP  */
+#ifndef BPRINTF
+#ifdef  DEBUG_BACKUP
+#define BPRINTF(x)  printf x
+#else
+#define BPRINTF(x)
+#endif
+#endif
+
+#define SHELL       "ksh"
+
+#ifdef GPFS_AIX
+
+#define CAT         "/usr/bin/cat"
+#define CP          "/usr/bin/cp -f"
+#define RM          "/usr/bin/rm -f"
+#define SHELL_PATH  "/usr/bin/ksh"
+
+#elif GPFS_LINUX
+
+#define CAT         "/bin/cat"
+#define CP          "/bin/cp -f"
+#define RM          "/bin/rm -f"
+#define SHELL_PATH  "/bin/ksh"
+
+#endif
+
+
+/************************************************************************
+ * structure for capturing the results of an inodescan                  *
+ ************************************************************************/
+typedef UInt32  *inodeBitsArray;
+
+typedef enum
+{
+  zeroBit,
+  oneBit
+} Bit;
+
+typedef struct inode_affinity_status
+{
+  char  filename[MAX_FILE_NAME];   /* the name of the anchor file (i.e.,
+                                      the name of the snapshot directory */
+  Int64 serverFilesSize;           /* aggregate file size for the files
+                                                    stored on the server */
+} inode_affinity_status_t;
+
+typedef enum
+{
+  BACKUP_COMPLETION_NONE,
+  BACKUP_COMPLETION_PARTIAL,
+  BACKUP_COMPLETION_FULL
+} backup_status;
+
+
+/************************************************************************
+ * structure for information about a backup client                      *
+ ************************************************************************/
+typedef struct backup_client_info
+{
+  char  clientName[MAX_NAME_CHARS];       /* official name of client    */
+  // BCH - clients[].clientIndex could be eliminated with careful coding
+  Int32 clientIndex;                      /* unique client index number
+                                               assigned to client       */
+} backup_client_info_t;
+
+
+/************************************************************************
+ * structure for information obtained from an input control file        *
+ ************************************************************************/
+typedef struct inputControlFile
+{
+  char          serverName[MAX_NAME_CHARS];   /* name of server              */
+  Int32         numberOfClients;       /* number of backup clients           */
+  Int32         processesPerClient;    /* number of processes per client     */
+  backup_client_info_t clients[MAX_BACKUP_CLIENTS]; /* list of backup clients*/
+} inputCtrlFile_t;
+
+
+/**************************************************************************
+ * header information for a backup control file                           *
+ **************************************************************************/
+typedef struct backup_control_hdr
+{
+  inputCtrlFile_t icf;          /* data obtained from the input control file */
+  Int32         numberOfProcesses;     /* total number of client processes   */
+  gpfs_fssnap_id_t snapshotId;         /* snapshot level associated with
+                                                          the latest backup  */
+  char          snapshotName[MAX_FILE_NAME]; /* name of the latest snapshot  */
+  Int64         inodesTotal;           /* the total number of inodes         */
+  gpfs_ino_t    inodeMax;              /* max inode in filesystem            */
+  gpfs_off64_t  totalSizeOfFiles;      /* the aggregate size for all files
+                                                          of the filesystem  */
+  backup_status completionLevel;       /* completion level of the most recent
+                                                   backup for this snapshot  */
+  char          backupType[12];        /* backup type (full or incremental)  */
+} backup_control_hdr_t;
+
+
+/************************************************************************
+ * structure controlling the backup of a filesystem                     *
+ ************************************************************************/
+typedef struct gpfs_backup_control
+{
+  backup_control_hdr_t backupHdr;     /* header info for this backup control */
+  inode_affinity_status_t inode;      /* inode information                   */
+} gpfs_backup_control_t;
+
+
+/************************************************************************
+ * structure for the format of each record in a transactions file       *
+ ************************************************************************/
+typedef struct transactionsListRecord
+{
+  char filename[MAX_FILE_NAME+2];   /* full path name of the file; the +2
+                                       is for enclosing the name in quotes */
+  char fnLength[MAX_INT32_CHARS];   /* length of filename (including quotes) */
+  char filesize[MAX_INT64_CHARS];   /* For a directory, the value indicates
+                                       the size of all the files in the
+                                       directory.  For a regular file it
+                                       indicates the size of the file. */
+  char delimeter2;                  /* separator character */
+} transactionRecord_t;
+
+
+/************************************************************************
+ * structure for the format of each record in a .backup_shadow file     *
+ ************************************************************************/
+typedef struct backup_shadow_record
+{
+  char inodenum[MAX_INT32_CHARS];   /* the file inode as a string */
+  transactionRecord_t tr;           /* transaction record */
+  char inodeDir;                    /* Is the inode for a directory? Y|N */
+  char newline_char;                /* a new line character */
+} backup_shadow_record_t;
+
+
+/************************************************************************
+ * structure for the format of each record in the filesizes file        *
+ ************************************************************************/
+typedef struct backup_filesizes
+{
+  char inodenum[MAX_INT32_CHARS];   /* the file inode as a string */
+  char filler;                      /* a blank space character */
+  char filesize[MAX_INT64_CHARS];   /* the file size as a string */
+  char newline_char;                /* a new line character */
+} backup_filesizes_t;
+
+
+                   /* global definitions  */
+
+extern Int32 Full;              /* backup type full (true or false) */
+extern Int32 Incremental;       /* backup type incremental (true or false) */
+extern Int32 Resume;            /* resume backup (true or false) */
+
+extern Int32 ioRate;            /* I/O rate */
+extern Int32 Tracing;           /* tracing control variable */
+
+extern char masterNode[MAX_NAME_CHARS]; /* node on which tsbackup was invoked */
+
+extern Int32 masterPID;         /* pid for master tsbackup process */
+
+/* Name of the filesizes file.
+   This temporary file is created at the root of the GPFS filesystem.
+   It will be used to hold the sizes of the inodes of the filesystem. */
+extern char filesizesFile[MAX_FILE_NAME];
+
+/* Handle for the open filesizes file */
+extern int filesizesHandle;
+
+/* Pointer to the handle of the open snapshot */
+extern gpfs_fssnap_handle_t *fsSnapHandleP;
+
+/* Name of the backup control file.  This permanent file is created at
+   the root of the GPFS filesystem.  It is used to hold the information
+   contained in the backup control structure at the time of the last backup. */
+extern char fsBackupCtrl[MAX_FILE_NAME];
+
+/* Name of the backup shadow file.  This permanent file is created at
+   the root of the GPFS filesystem.  It is used to hold the information
+   regarding the file names and directories of the filesystem at the
+   time it gets backed up.  */
+extern char backupShadowFile[MAX_FILE_NAME];
+
+/* The full path name of the created snapshot for a filesystem */
+extern char fsSnapshotPathname[MAX_FILE_NAME];
+
+/* Array of names of .shadow_N files which are used in creating the
+   .backup_shadow file. */
+extern char shadowFile[MAX_BACKUP_CLIENTS][MAX_FILE_NAME];
+
+/* Array of handles for opening shadowFile[] files */
+extern int shadowFileHandle[MAX_BACKUP_CLIENTS];
+
+/* Array of number of records in shadowFile[] files */
+extern Int64 shadowFileNumberOfRecords[MAX_BACKUP_CLIENTS];
+
+/* Name of transaction list file */
+extern char transactionsList[MAX_FILE_NAME];
+
+/* Handle for opening the transactions list file */
+extern int transactionsListHandle;
+
+/* Array of names of .TransactionsList_N_L files */
+extern char clientTransactionsList[MAX_BACKUP_CLIENT_PROCESSES][MAX_FILE_NAME];
+
+/* Array of handles for opening clientTransactionsList[] files */
+extern int clientTransactionsListHandle[MAX_BACKUP_CLIENT_PROCESSES];
+
+/* Name of the pending transactions file */
+extern char pendingTransactionsList[MAX_FILE_NAME];
+
+/* Array of names of .PendingTransactionsList_N_L files */
+extern char clientPendingTransactionsList[MAX_BACKUP_CLIENT_PROCESSES][MAX_FILE_NAME];
+
+/* The pointer for accessing the header information in a .backup_control_t */
+extern gpfs_backup_control_t *backupControlP;
+
+/* definition of queue element used in the thread based inode walker */
+typedef struct queue_element
+{
+  struct queue_element *nextP;
+  ino_t ino;
+  char path[MAX_FILE_NAME];
+} QueueElement;
+
+
+                         /* Function prototypes  */
+
+extern void traceEntry(char* filen, char* funcn, Int32 linen);
+
+extern void traceExit(char* filen, char* funcn, Int32 linen);
+
+extern void traceLine(char* filen, char* funcn, Int32 linen);
+
+extern int Bitmap(Int32 size, Bit initialValue, UInt32 **inodeBitsP);
+
+int EnqueueWork(const char *pathP, const char *dirP, ino_t inode);
+
+QueueElement *DequeueWork(void);
+
+void* ThreadBody(void *parmP);
+
+int read_dir(const char *pathP, ino_t inode);
+
+int writeToShadowFile(const char *pathP, ino_t inode, const char inodeFlag);
+
+int dirInodeWalk(const char *pathname, inodeBitsArray bit_map);
+
+extern int doInodeScan(char *fsName,
+                       inodeBitsArray *inodeBitsArrayP,
+                       gpfs_backup_control_t *backupControlHeaderP);
+
+extern int doIncrInodeScan(char *fsName,
+                           gpfs_fssnap_id_t *prevSnapId,
+                           inodeBitsArray *inodeBitsArray2P,
+                           gpfs_backup_control_t *backupControlHeaderP);
+
+extern int doFSFullBackup(char *fsName);
+
+extern int doFSIncrementalBackup(char *fsName);
+
+extern int doFSResumeBackup(char *fsName, char **backupType);
+
+extern int forkMsgChild();
+
+extern pid_t forkit(const char *);
+
+extern int doFSBackup(char *fsName, char *fsSnapshotPathname);
+
+extern int doFSIncrementalChanges(char *fsName, char *fsSnapshotPathname);
+
+extern int doFSFileDeletions(char *fsName, char *fsSnapshotPathname);
+
+extern int doFSFileChanges(char *fsName, char *fsSnapshotPathname);
+
+extern int getFilelistDeletions(const char *oldShadow,
+                                const char *newShadow,
+                                Boolean *fileDeletions,
+                                char *deletionsFile);
+
+extern int extractChangedFiles(char *filein,
+                               inodeBitsArray bitMap,
+                               Boolean *fileChanges,
+                               char *fileout);
+
+extern int createBackupSnapshot(char *fsName, char *snapshotName);
+
+extern int createClientFilelists(gpfs_backup_control_t *backupControlHdrP);
+
+extern int createClientFilelists2(gpfs_backup_control_t *backupControlHdrP);
+
+extern int getFSFileChanges(char *fsName, char *fsSnapshotPathname,
+                            char *changesFSName);
+
+extern int createFilelist(char *fsName,
+                          gpfs_backup_control_t *backupControlHeaderP);
+
+extern int createSnapshotShadows(char *fsName,
+                                 int numberOfShadowFiles,
+                                 inodeBitsArray bit_map);
+
+extern int createPendingFile(char *fsName,
+                             gpfs_backup_control_t *backupControlHdrP,
+                             char *pendingFile);
+#if 0
+extern int getValue(UInt32 *inodeBitsP, Int32 index, Bit* bitP);
+#endif
+
+extern int createBackupCtrlFile(char *fileName,
+                                gpfs_backup_control_t *backupControlHeaderP);
+
+extern FILE* pipeOpen(const char *cmd, const char *mode, pid_t *outPidP);
+
+extern int pipeClose(FILE *ptr, pid_t pid);
+
+extern int checkBackupCtrlFile();
+
+extern int processBackupCtrlFile(char *fsName,
+                                 char *BackupCtrlFile,
+                                 gpfs_backup_control_t **backupControlHeaderP);
+
+extern int processInputCtrlFile(char *fsName,
+                                char *inputCtrlFile,
+                                gpfs_backup_control_t **backupControlHeaderP,
+                                Boolean doMalloc);
+
+extern int processFilelist(char *fsName,
+                           char *transactionCmd,
+                           char *transactionCmdOptn,
+                           gpfs_backup_control_t *backupControlHeaderP,
+                           Boolean divyBySize);
+
+extern int setToZero(inodeBitsArray inodeBitsP, Int32 index, Bit* oldValueP);
+
+extern int setToOne(UInt32* inodeBitsP, Int32 index, Bit* oldValueP);
+
+extern void setAllToZero(UInt32* bitsP, Int32 size);
+
+extern void setAllToOne(UInt32* bitsP, Int32 size);
+
+extern int sortShadowfilesByInode(Int32 numShadows);
+
+extern int sortShadowfilesByFilename();
+
+extern const UInt32 testBit(UInt32* inodeBitsP, Int32 index);
+
+extern int updateShadowfilesFilesizes(Int32 numShadows);
+
+extern int writeBuffer(int handle, transactionsListRecord *Buffer, size_t size);
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsfindinode.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsfindinode.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsfindinode.c	(revision 16)
@@ -0,0 +1,704 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 2003,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+
+/*====================================================================
+ *
+ * tsfindinode command: Recursively traverse the directory structure
+ *                    to list all files/directories in the file system
+ *                    that have any of the inode numbers listed.
+ *
+ * Syntax: tsfindinode {-i {inum | inumfile}} [-0] [-t nThreads] [--] <pathname>
+ *
+ *   The "pathname" parameter should be the directory where the root of
+ *   the file system is found.
+ *
+ *==================================================================*/
+
+#ifdef GPFS_LINUX
+/* Use 64 bit version of stat, etc. */
+#define _LARGEFILE_SOURCE
+#define _FILE_OFFSET_BITS 64
+
+typedef long long offset_t;
+#endif
+
+#ifdef GPFS_AIX
+/* Use 64 bit version of stat, etc. */
+#ifndef _LARGE_FILES
+#define _LARGE_FILES
+#endif
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <pthread.h>
+
+#include <gpfs.h>
+
+extern char *basename(char *);
+
+int optcheck = 1;
+char *RootFsDirP;
+
+/* Define the number of threads used to read the directories */
+#define DEFAULT_THREADS 16
+int nThreads = DEFAULT_THREADS;
+char *print0 = "\n";
+
+/* Define wait queue for threads */
+static pthread_mutex_t QueueMutex;
+static pthread_cond_t QueueCond;
+static int NWorkersWaiting = 0;
+static int NWorkersRunning = 0;
+
+typedef struct queue_element
+{
+  struct queue_element *nextP;
+  ino_t ino;
+  char path[4];
+} QueueElement;
+
+static QueueElement *WorkQueueP = NULL;
+
+/* Define mutex to serialize the output */
+static pthread_mutex_t OutputMutex;
+
+#define MAX_INODE_INCREMENT 1000
+static numInodes = 0;
+static maxInodes = 0;
+static ino_t *Inode = NULL;
+static unsigned char *InodeSeen = NULL;
+
+/* error code set while in threads to control final error code */
+int exitrc = 0;
+
+/* print usage message and exit */
+void usage(char *argv0)
+{
+  fprintf(stderr,
+          "Usage: %s {-i {inum | inumfile}} [-0] [-t nThreads (def=%d)] [--] pathname\n"
+            "       (-i can be used multiple times to specify another inode number or file of inode numbers)\n",
+          basename(argv0), DEFAULT_THREADS);
+  exit(1);
+}
+
+void addInum(ino_t inode)
+{
+  int i, j;
+  int low, high;
+  ino_t *newInode = NULL;
+
+  if (numInodes >= maxInodes)
+  {
+    newInode = (ino_t *)malloc((maxInodes+MAX_INODE_INCREMENT) * sizeof(ino_t));
+    if (newInode == NULL)
+    {
+      fprintf(stderr, "Too many inodes (%d)\n", maxInodes);
+      exit(1);
+    }
+    if (Inode != NULL)
+    {
+      /* Copy old list of inodes and delete the old array */
+      memcpy(newInode, Inode, maxInodes * sizeof(ino_t));
+      free(Inode);
+    }
+    Inode = newInode;
+    maxInodes += MAX_INODE_INCREMENT;
+  }
+
+  /* Binary search the list */
+  i = 0;
+  low = 0;
+  high = numInodes - 1;
+  while (low <= high)
+  {
+    i = (low + high)/2;
+    if (inode == Inode[i])
+      return;  /* ignore duplicate entry */
+    if (low == high)
+    {
+      if (inode > Inode[i])
+        i++;
+      break;
+    }
+    if (inode < Inode[i])
+      high = i - 1;
+    else
+      low = i + 1;
+  }
+
+  /* move all entries down one slot */
+  for (j=numInodes; j > i; j--)
+    Inode[j] = Inode[j-1];
+
+  /* insert entry in sorted array */
+  Inode[i] = inode;
+  numInodes++;
+}
+
+void getinodes(char * listorname)
+{
+  FILE *fd;
+  long inum;
+  char linebuf[256];
+
+  memset(linebuf, 0, sizeof(linebuf));
+
+  if ((listorname[0]>='0') & (listorname[0]<='9'))
+  {
+    /* If arg starts with a digit, assume it is a number for sscanf to parse */
+    if (sscanf(listorname, "%ld", &inum) == 1)
+      addInum(inum);
+  }
+  else
+  {
+    /* Otherwise, assume the arg is a filename.
+       Read inode numbers from the file until scanf fails to find a number */
+    if (listorname[0] == '-')
+    {
+      while (scanf("%ld", &inum) == 1)
+        addInum(inum);
+    }
+    else
+    {
+      fd = fopen(listorname, "r");
+      if (fd != NULL)
+      {
+        /* while (fscanf(fd, "%ld", &inum) == 1) */
+        while (fgets(linebuf, sizeof(linebuf), fd) != NULL)
+        {
+          if ((linebuf[0]>='0') & (linebuf[0]<='9'))
+          {
+            if (sscanf(linebuf, "%ld", &inum) == 1)
+              addInum(inum);
+          }
+          else
+            fprintf(stdout, "%s\n", linebuf); /* disregard mesg or comment line */
+          memset(linebuf, 0, sizeof(linebuf));
+        }
+        fclose(fd);
+      }
+      else
+      {
+        int rc = errno;
+        fprintf(stderr, "Error opening %s: %s\n", listorname, strerror(rc));
+        exit(1);
+      }
+    }
+  }
+}
+
+/* If there is no list return 1,
+   or if inode is in the list return its index,
+   else return -1. */
+int testinode(ino_t inode)
+{
+  int low, mid, high;
+
+  /* Binary search the list */
+  low = 0;
+  high = numInodes - 1;
+  while (low <= high)
+  {
+    mid = (low + high)/2;
+    if (inode == Inode[mid])
+      return mid;
+    if (low == high)
+      return -1;
+    if (inode < Inode[mid])
+      high = mid - 1;
+    else
+      low = mid + 1;
+  }
+  return -1;
+}
+
+/* Add an element to the work queue
+   and signal any thread waiting for work. */
+int EnqueueWork(const char *pathP, const char *dirP, ino_t inode)
+{
+  int rc;
+  int pathLen = strlen(pathP);
+  QueueElement *qP = NULL;
+
+  /* Allocate a work queue element and space for the path.  */
+  qP = (QueueElement *) malloc((sizeof(*qP) - sizeof(qP->path))
+                                + pathLen + strlen(dirP) + 2);
+  if (qP == NULL)
+  {
+    fprintf(stderr, "Out of memory.\n");
+    return(ENOMEM);
+  }
+
+  /* Initialize element */
+  qP->ino = inode;
+  if (pathLen > 0)
+  {
+    strcpy(qP->path, pathP);
+    if (strlen(dirP) > 0)
+    {
+      strcat(qP->path, "/");
+      strcat(qP->path, dirP);
+    }
+  }
+  else
+    strcpy(qP->path, dirP);
+
+  /* Acquire mutex protecting the work queue */
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    return rc;
+  }
+
+  /* Add work element to the list */
+  qP->nextP = WorkQueueP;
+  WorkQueueP = qP;
+
+  /* Signal a waiting worker thread */
+  if (NWorkersWaiting > 0)
+  {
+    NWorkersWaiting -= 1;
+    rc = pthread_cond_signal(&QueueCond);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error in pthread_cond_signal: %s\n", strerror(rc));
+      return rc;
+    }
+  }
+
+  /* Release mutex before returning */
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    return rc;
+  }
+
+  /* Success! */
+  return 0;
+}
+
+
+/* Dequeue the next work element from the queue
+   or if the queue is empty, wait for more work to become available */
+QueueElement *DequeueWork(void)
+{
+  int rc;
+  QueueElement *qP;
+
+  /* Acquire mutex protecting the work queue */
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+
+  /* One less thread working */
+  NWorkersRunning -= 1;
+
+  /* Loop waiting for work to become available */
+  while ((WorkQueueP == NULL) && (NWorkersRunning > 0))
+  {
+    NWorkersWaiting += 1;       /* One more thread waiting */
+    rc = pthread_cond_wait(&QueueCond, &QueueMutex);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error in pthread_cond_wait: %s\n", strerror(rc));
+      if (exitrc == 0)
+        exitrc = rc;
+      return NULL;
+    }
+  }
+
+  /* Check if we are done */
+  if (WorkQueueP == NULL)
+  {
+    qP = NULL;                  /* Nothing more to do. */
+
+    /* signal any waiting threads */
+    if (NWorkersWaiting > 0)
+    {
+      NWorkersWaiting = 0;
+      rc = pthread_cond_broadcast(&QueueCond);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Error in pthread_cond_broadcast: %s\n", strerror(rc));
+        if (exitrc == 0)
+          exitrc = rc;
+      }
+    }
+  }
+  else
+  {
+    /* Remove the first element from the queue */
+    qP = WorkQueueP;
+    WorkQueueP = qP->nextP;
+    qP->nextP = NULL;
+
+    /* One more thread working */
+    NWorkersRunning += 1;
+  }
+
+  /* Release mutex before returning */
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+
+  return qP;
+}
+
+/* Main body for each thread.
+   Loop until there is no more work to do. */
+void* ThreadBody(void *parmP)
+{
+  int rc;
+  QueueElement *qP;
+  int read_dir(const char *, ino_t);
+
+  /* Count this thread as a worker thread */
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+  NWorkersRunning += 1;
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    NWorkersRunning -= 1;
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+
+  /* Loop while there is work to do */
+  do
+  {
+    /* Wait for work */
+    qP = DequeueWork();
+    if (qP == NULL)
+      break;
+
+    /* Read this directory */
+    rc = read_dir(qP->path, qP->ino);
+    if (exitrc == 0)
+      exitrc = rc;
+
+    /* Free work queue element */
+    free(qP);
+
+  } while (rc == 0);
+
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+  NWorkersRunning -= 1;
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+  }
+
+  return NULL;
+}
+
+/* Read all entries from the current directory */
+int read_dir(const char *pathP, ino_t inode)
+{
+  int rc = 0, ind;
+  const gpfs_direntx_t *direntxP;
+  gpfs_fssnap_handle_t *fsP = NULL;
+  gpfs_ifile_t *dirxP = NULL;
+  char *typeP, *slashP;
+
+  /* Check if we need a "/"  */
+  if (strlen(pathP) > 0)
+    slashP = "/";
+  else
+    slashP = "";
+
+  /* Open the file system */
+  fsP = gpfs_get_fssnaphandle_by_path(RootFsDirP);
+  if (fsP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_get_fssnaphandle_by_path(%s): %s\n",
+            RootFsDirP, strerror(rc));
+    goto exit;
+  }
+
+  /* If there is only one inode in the list and is one of the reserved inode
+     it cannot possibly be found, so stop the nonsense now.
+     Calling tsfindinode -i 1 can be a fast test as to whether the filesystem
+     is mounted and ready to use. */
+  if (numInodes == 1 && Inode[0] < 3)
+    goto exit;
+
+  /* Open the directory's file */
+  dirxP = gpfs_iopen(fsP, inode, O_RDONLY, NULL, NULL);
+  if (dirxP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_iopen(%s/%s): %s\n", RootFsDirP, pathP, strerror(rc));
+    goto exit;
+  }
+
+  /* Loop reading the directory entries */
+  while (1)
+  {
+    rc = gpfs_ireaddir(dirxP, &direntxP);
+    if (rc != 0)
+    {
+      int saveerrno = errno;
+      fprintf(stderr, "gpfs_ireaddir(%s/%s): rc %d %s\n",
+              RootFsDirP, pathP, rc, strerror(saveerrno));
+      rc = saveerrno;
+      goto exit;
+    }
+    if (direntxP == NULL)
+      break;
+
+    /* Get directory entry type */
+    switch (direntxP->d_type)
+    {
+      case GPFS_DE_DIR:
+        /* Skip . and .. entries */
+        if ((strcmp(direntxP->d_name, ".") == 0) ||
+            (strcmp(direntxP->d_name, "..") == 0))
+          continue;
+
+        typeP = "DIR";
+        break;
+
+      case GPFS_DE_REG:
+        typeP = "REG";
+        break;
+
+      case GPFS_DE_LNK:
+        typeP = "LNK";
+        break;
+
+      default:
+        typeP = "UNK";
+    }
+
+    ind = testinode(direntxP->d_ino);
+    if (ind >= 0)
+    {
+      int plen;
+
+      /* Print file info on stdout.
+         Serialize output with all other threads */
+      rc = pthread_mutex_lock(&OutputMutex);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+        goto exit;
+      }
+      /* Print: inodenumber pathname */
+      plen = printf("%10d\t%s%s%s%s",
+                    direntxP->d_ino, pathP, slashP, direntxP->d_name, print0);
+      InodeSeen[ind] = 1;
+      rc = pthread_mutex_unlock(&OutputMutex);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+        goto exit;
+      }
+      if (plen < 0)
+      {
+        rc = errno;
+        goto exit;
+      }
+    }
+
+    /* Check if this entry is a directory */
+    if (direntxP->d_type == GPFS_DE_DIR)
+    {
+      /* Add this directory to the work queue */
+      rc = EnqueueWork(pathP, direntxP->d_name, direntxP->d_ino);
+      if (rc != 0)
+      {
+        if (exitrc == 0)
+          exitrc = rc;
+        goto exit;
+      }
+    }
+  }
+
+
+exit:
+  /* Close open file, if necessary */
+  if (dirxP)
+    gpfs_iclose(dirxP);
+  if (fsP)
+    gpfs_free_fssnaphandle(fsP);
+
+  return rc;
+}
+
+/* main */
+int main(int argc, char *argv[])
+{
+  int i, rc, filearg, ind;
+  struct stat statBuf;
+  pthread_t pThread;
+
+  /* Scan for options and single directory name */
+  filearg = 0;
+  for (i = 1; i < argc; i++)
+  {
+    if (0 == strcmp(argv[i], "-i"))
+    {
+      i += 1;
+      if (i < argc)
+        getinodes(argv[i]);
+      else
+        usage(argv[0]);
+    }
+    else if (0 == strcmp(argv[i], "-t"))
+    {
+      i += 1;
+      if (i < argc)
+        nThreads = atoi(argv[i]);
+      else
+        usage(argv[0]);
+    }
+    else if (0 == strcmp(argv[i], "-0"))
+      print0 = "\0";
+    else if (0 == strcmp(argv[i], "--"))
+      optcheck = 0;
+    else if (optcheck && *argv[i] == '-')
+      usage(argv[0]);
+    else if (filearg == 0)
+      filearg = i;
+    else
+      usage(argv[0]);
+  }
+
+  /* if no directory was specified, there is nothing to do */
+  if (filearg == 0 || numInodes == 0)
+    usage(argv[0]);
+  RootFsDirP = argv[filearg];
+
+  /* Initialize pthread variables */
+  rc = pthread_mutex_init(&QueueMutex, NULL);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error from pthread_mutex_init: %s\n", strerror(rc));
+    exit(rc);
+  }
+  rc = pthread_cond_init(&QueueCond, NULL);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error from pthread_cond_init: %s\n", strerror(rc));
+    exit(rc);
+  }
+  rc = pthread_mutex_init(&OutputMutex, NULL);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error from pthread_mutex_init: %s\n", strerror(rc));
+    exit(rc);
+  }
+
+  /* Get the inode number of the root directory */
+  rc = stat(RootFsDirP, &statBuf);
+  if (rc)
+  {
+    rc = errno;
+    perror(RootFsDirP);
+    return rc;
+  }
+
+  /* Verify this is a directory */
+  if (!S_ISDIR(statBuf.st_mode))
+  {
+    errno = ENOTDIR;
+    perror(RootFsDirP);
+    return ENOTDIR;
+  }
+
+  InodeSeen = (unsigned char *) malloc(maxInodes);
+  if (InodeSeen == NULL)
+  {
+    fprintf(stderr, "Out of memory.\n");
+    return ENOMEM;
+  }
+  memset(InodeSeen, 0, maxInodes);
+
+  ind = testinode(statBuf.st_ino);
+  if (ind >= 0)
+  {
+    /* Print file info on stdout */
+    rc = printf("%10d\t%s%s", statBuf.st_ino, RootFsDirP, print0);
+    if (rc < 0)
+      return errno;
+    InodeSeen[ind] = 1;
+  }
+
+  /* Add the root directory to the work queue */
+  rc = EnqueueWork(RootFsDirP, "", statBuf.st_ino);
+  if (rc != 0)
+    return rc;
+
+  /* Start the requested number of threads */
+  for (i = 1; i < nThreads; i++)
+  {
+    rc = pthread_create(&pThread, NULL, ThreadBody, NULL);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error from pthread_create(%d): %s\n", i, strerror(rc));
+      exit(rc);
+    }
+  }
+
+  /* This thread can work too */
+  (void) ThreadBody(NULL);
+
+  for (ind=0; ind < numInodes; ind++)
+    if (!InodeSeen[ind])
+      fprintf(stderr, "%10d\t(notfound)\n", Inode[ind]);
+
+  return exitrc;
+}
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsgetusage.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsgetusage.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsgetusage.c	(revision 16)
@@ -0,0 +1,367 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 2002,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+
+/*====================================================================
+ *
+ * tsgetusage command: get a summary of each user's disk usage
+ *
+ * Syntax: tsgetusage [ options ] fsPath
+ *
+ *   fsPath: the directory where the root of the filesystem is found.
+ *
+ *==================================================================*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <pwd.h>
+#include <grp.h>
+#include <sys/types.h>
+#include <gpfs.h>
+
+
+/* Define globals */
+static int Verbose = 1;
+static int GroupStats = 0;
+static int DiskUsgFormat = 0;
+static char* ProgNameP = NULL;
+
+/* Define stat structure */
+typedef struct uStat_struct
+{
+  struct uStat_struct *nextP;
+  unsigned int         id;
+  gpfs_off64_t         blockCount;
+  gpfs_off64_t         inodeCount;
+} uStat;
+
+/* Define hash table for collecting stats */
+static uStat **HashPP = NULL;
+static int     HashSize = 1027;
+#define HASH(_id) (_id % HashSize)
+
+
+/* Print usage statement and exit. */
+static void Usage()
+{
+  fprintf(stderr, "Usage: %s [-g][-h][-q][-v][-u][-H hashTableSize] fsPath\n"
+            "\twhere:\tfsPath\tpath to file system\n"
+            "\t\t-u\toutputs data in diskusg format for acctdisk\n"
+            "\t\t-g\tcollect stats for groups\n"
+            "\t\t-H\tsets the hash table size (default %d)\n"
+            "\t\t-h\tprints this message\n"
+            "\t\t-q\toutputs only the resulting stats\n"
+            "\t\t-v\tprint information about each file\n",
+          ProgNameP, HashSize);
+  fflush(stderr);
+  exit(1);
+}
+
+/* Initialize hash table for collecting statistics */
+static int InitHash()
+{
+  int hashTableSize = HashSize * sizeof(uStat *);
+
+  HashPP = (uStat **)malloc(hashTableSize);
+  if (HashPP == NULL)
+  {
+    fprintf(stderr, "No space to allocate hash table (%d bytes)\n",
+            hashTableSize);
+    return ENOMEM;
+  }
+
+  memset(HashPP, '\0', hashTableSize);
+  return 0;
+}
+
+/* Find and increment an user/group's stat entry.
+   Create the entry, if it is not found. */
+static int IncStats(unsigned int id,
+                    gpfs_off64_t nBlocks, gpfs_off64_t nInodes)
+{
+  uStat *uP, *prevP;
+  int hashVal;
+
+  /* Locate stat entry in hash table */
+  prevP = NULL;
+  hashVal = HASH(id);
+  for (uP = HashPP[ hashVal ]; uP != NULL; uP = uP->nextP)
+  {
+    if (uP->id == id)
+    {
+      /* Entry found. Update its counters */
+      uP->blockCount += nBlocks;
+      uP->inodeCount += nInodes;
+
+      /* Move entry to head of hash list */
+      if (prevP != NULL)
+      {
+        prevP->nextP = uP->nextP;
+        uP->nextP = HashPP[ hashVal ];
+        HashPP[ hashVal ] = uP;
+      }
+      return 0;
+    }
+    prevP = uP;
+  }
+
+  /* Entry not found. Create a new one. */
+  uP = (uStat *)malloc(sizeof(*uP));
+  if (uP == NULL)
+  {
+    fprintf(stderr, "No space to allocate stat entry (%d bytes)\n",
+            sizeof(*uP));
+    return ENOMEM;
+  }
+
+  /* Initialize new entry & insert at head of hash list */
+  uP->id = id;
+  uP->blockCount = nBlocks;
+  uP->inodeCount = nInodes;
+  uP->nextP = HashPP[ hashVal ];
+  HashPP[ hashVal ] = uP;
+
+  return 0;
+}
+
+/* Traverse has table and print each entry */
+static int PrintStats(const char* fsPathP)
+{
+  int i;
+  uStat *uP;
+  char *nameP;
+  struct group *grpP;
+  struct passwd *usrP;
+
+  if (Verbose > 0)
+  {
+    printf("%s statistics for file system %s:\n",
+           (GroupStats != 0) ? "Group" : "User",
+           fsPathP);
+    printf("%10s %32s %12s %12s\n",
+           (GroupStats != 0) ? "gid" : "uid",
+           "name", "KB", "inodes");
+  }
+
+  /* Traverse the hash table */
+  for (i = 0; i < HashSize; i++)
+  {
+    /* Traverse each hash list */
+    for (uP = HashPP[i]; uP != NULL; uP = uP->nextP)
+    {
+      /* Convert ids into readable names */
+      if (GroupStats != 0)
+      {
+        grpP = getgrgid((gid_t) uP->id);
+        if (grpP == NULL)
+          nameP = "n/a";
+        else
+          nameP = grpP->gr_name;
+      }
+      else
+      {
+        usrP = getpwuid((uid_t) uP->id);
+        if (usrP == NULL)
+          nameP = "n/a";
+        else
+          nameP = usrP->pw_name;
+      }
+
+      /* Print stats on stdout */
+      if (DiskUsgFormat)
+        printf("%u\t%s\t%lld\n",
+               uP->id, nameP, (uP->blockCount+1)/2);
+      else
+        printf("%10u %32s %12lld %12lld\n",
+               uP->id, nameP, (uP->blockCount+1)/2, uP->inodeCount);
+    }
+  }
+  if (Verbose > 0)
+    printf("%s statistics for file system %s complete.\n",
+           (GroupStats != 0) ? "Group" : "User",
+           fsPathP);
+
+  return 0;
+}
+
+/* Scan the file system to collect the requested stats */
+int scanFileSystem(const char *fsPathP)
+{
+  int rc = 0;
+  gpfs_iscan_t *iscanP = NULL;
+  gpfs_fssnap_handle_t *fsP = NULL;
+  const gpfs_iattr_t *iattrP;
+  gpfs_ino_t lastInodeNum = 0;
+  gpfs_ino_t maxInodeNum;
+  char modeBuf[32];
+
+  if (Verbose > 1)
+    fprintf(stderr, "Scanning %s...\n", fsPathP);
+  else if (Verbose > 0)
+    printf("Scanning %s...\n", fsPathP);
+
+  /* Open inode scan */
+  fsP = gpfs_get_fssnaphandle_by_path(fsPathP);
+  if (fsP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_get_fssnaphandle_by_path(%s): %s\n",
+            ProgNameP, fsPathP, strerror(rc));
+    goto done;
+  }
+
+  iscanP = gpfs_open_inodescan(fsP, NULL, &maxInodeNum);
+  if (iscanP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "%s: gpfs_open_inodescan(%s): %s\n",
+            ProgNameP, fsPathP, strerror(rc));
+    goto done;
+  }
+
+  /* Loop over inodes in the file system */
+  while (1)
+  {
+    rc = gpfs_next_inode(iscanP, maxInodeNum, &iattrP);
+    if (rc != 0)
+    {
+      rc = errno;
+      fprintf(stderr, "%s: gpfs_next_inode(%s,%d): %s\n",
+              ProgNameP, fsPathP, lastInodeNum, strerror(rc));
+      goto done;
+    }
+
+    /* A null ptr indicates end of scan */
+    if (iattrP == NULL)
+      break;
+
+    /* Save inode number */
+    lastInodeNum = iattrP->ia_inode;
+
+    /* Skip over deleted files. */
+    if (iattrP->ia_nlink == 0)
+      continue;
+
+    if (Verbose > 1)
+      fprintf(stderr,
+              "inode %9d uid %6d gid %6d bytes %10lld blks %10lld\n",
+              iattrP->ia_inode, iattrP->ia_uid, iattrP->ia_gid,
+              iattrP->ia_size, iattrP->ia_blocks);
+
+    if (GroupStats != 0)
+      rc = IncStats((unsigned int) iattrP->ia_gid,
+                    iattrP->ia_blocks, 1);
+    else
+      rc = IncStats((unsigned int) iattrP->ia_uid,
+                    iattrP->ia_blocks, 1);
+    if (rc != 0)
+      goto done;
+  }
+
+done:
+  if (iscanP != NULL)
+    gpfs_close_inodescan(iscanP);
+  if (fsP != NULL)
+    gpfs_free_fssnaphandle(fsP);
+
+  if (Verbose > 1)
+    if (rc != 0)
+      fprintf(stderr, "Scan %s complete: %s\n", fsPathP, strerror(rc));
+    else
+      fprintf(stderr, "Scan %s complete\n", fsPathP);
+
+  return rc;
+}
+
+/* main */
+int main(int argc, char *argv[])
+{
+  int i, rc;
+  const char* fsPathP;
+
+  /* Save program name for usage statement */
+  ProgNameP = argv[0];
+  fsPathP = NULL;
+
+  /* parse options */
+  for (i = 1; i < argc; i++)
+  {
+    if (strcmp(argv[i], "-v") == 0)
+      Verbose = 2;
+    else if (strcmp(argv[i], "-q") == 0)
+      Verbose = 0;
+    else if (strcmp(argv[i], "-u") == 0)
+    {
+      DiskUsgFormat = 1;
+      Verbose = 0;
+    }
+    else if (strcmp(argv[i], "-g") == 0)
+      GroupStats = 1;
+    else if (strcmp(argv[i], "-H") == 0)
+    {
+      i++;
+      if (i < argc)
+      {
+        HashSize = atoi(argv[i]);
+        if (HashSize <= 0)
+        {
+          fprintf(stderr, "%s: Invalid value for -H (%d)\n",
+                  ProgNameP, HashSize);
+          exit(2);
+        }
+      }
+      else
+      {
+        fprintf(stderr, "%s: Missing arg for -H\n", ProgNameP);
+        Usage();
+      }
+    }
+    else if ((strcmp(argv[i], "-h") == 0) ||
+             (strcmp(argv[i], "-?") == 0))
+      Usage();
+    else if (fsPathP == NULL)
+      fsPathP = argv[i];
+    else
+    {
+      fprintf(stderr, "%s: Unknown arg \"%s\"\n", ProgNameP, argv[i]);
+      Usage();
+    }
+  }
+
+  if (fsPathP == NULL)
+  {
+    fprintf(stderr, "%s: Missing fsPath arg\n", ProgNameP);
+    Usage();
+  }
+
+  /* Initialize hash tables */
+  rc = InitHash();
+  if (rc != 0)
+    goto done;
+
+  /* Scan the file system to collect the requested stats */
+  rc = scanFileSystem(fsPathP);
+  if (rc != 0)
+    goto done;
+
+  /* Display results */
+  rc = PrintStats(fsPathP);
+
+done:
+  return rc;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsinode.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsinode.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsinode.c	(revision 16)
@@ -0,0 +1,285 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 2002,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+
+/*====================================================================
+ *
+ * tsinode command: list all inodes.
+ *
+ * Syntax: tsinode pathname [startinode [endinode]]
+ *
+ *   The "pathname" parameter should be the directory where the root of
+ *   the filesystem/snapshot is found.
+ *
+ *==================================================================*/
+#include <stdlib.h>
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+
+#include <gpfs.h>
+
+extern char *basename(char *);
+
+static int headerPrinted = 0;
+/* print usage message and exit */
+static void usage(char *argv0)
+{
+  fprintf(stderr, "Usage: %s pathname [startinode [endinode]]\n", basename(argv0));
+  exit(1);
+}
+
+char *
+pmode(mode_t aflag, char *buf)
+{
+  /* these arrays are declared static to allow initializations */
+  static int      m0[] = { 1, S_IREAD>>0, 'r', '-' };
+  static int      m1[] = { 1, S_IWRITE>>0, 'w', '-' };
+  static int      m2[] = { 3, S_ISUID|S_IEXEC, 's', S_IEXEC, 'x', S_ISUID, 'S', '-' };
+  static int      m3[] = { 1, S_IREAD>>3, 'r', '-' };
+  static int      m4[] = { 1, S_IWRITE>>3, 'w', '-' };
+  static int      m5[] = { 3, S_ISGID|(S_IEXEC>>3), 's',
+                              S_IEXEC>>3, 'x', S_ISGID, 'S', '-' };
+  static int      m6[] = { 1, S_IREAD>>6, 'r', '-' };
+  static int      m7[] = { 1, S_IWRITE>>6, 'w', '-' };
+  static int      m8[] = { 3, S_ISVTX|(S_IEXEC>>6), 't', S_IEXEC>>6, 'x', S_ISVTX, 'T', '-' };
+  static int  *m[] = { m0, m1, m2, m3, m4, m5, m6, m7, m8 };
+
+  int i, j, n;
+  int *p;
+
+  buf[0] = S_ISREG(aflag)?  '-':
+    S_ISDIR(aflag)?  'd':
+    S_ISLNK(aflag)?  'l':
+    S_ISFIFO(aflag)? 'p':
+    S_ISCHR(aflag)?  'c':
+    S_ISBLK(aflag)?  'b':
+    S_ISSOCK(aflag)? 's': '?';
+  for (i = 0; i <= 8; i++)
+  {
+    for (n = m[i][0], j = 1; n > 0; n--, j+=2)
+    {
+      p = m[i];
+      if ((aflag & p[j]) == p[j])
+      {
+        j++;
+        break;
+      }
+    }
+    buf[i+1] = p[j];
+  }
+  buf[10] = '\0';
+  return buf;
+}
+
+#define DevMajor(x) ((unsigned)(x)>>16)
+#define DevMinor(x) ((x)&0xFFFF)
+
+static void
+print_vattr(gpfs_iscan_t *iscanP,
+            const gpfs_iattr_t *iattrP)
+{
+  int rc;
+  long long space;
+  char mbuf[32];
+  char buf[1025];
+  char nbuf[GPFS_MAXNAMLEN+1];
+  char *bufP = buf;
+
+  if (!headerPrinted)
+  {
+    headerPrinted = 1;
+    printf("    inode       gen    uid    gid       size      space     mode nlink      atime               mtime               ctime        flags\n");
+  }
+
+  if (iattrP->ia_flags & GPFS_IAFLAG_ERROR)
+  {
+    printf("%9d Invalid\n", iattrP->ia_inode);
+    return;
+  }
+
+  /* Dump contents of Inode */
+  bufP += sprintf(bufP, "%9d %9d %6d %6d %10lld",
+                  iattrP->ia_inode, iattrP->ia_gen, iattrP->ia_uid,
+                  iattrP->ia_gid, iattrP->ia_size);
+  space = iattrP->ia_blocks * 512;
+  bufP += sprintf(bufP, " %10lld %s", space, pmode(iattrP->ia_mode, mbuf));
+
+  bufP += sprintf(bufP, " %d %9d.%09d %9d.%09d %9d.%09d",
+                  iattrP->ia_nlink,
+                  iattrP->ia_atime.tv_sec, iattrP->ia_atime.tv_nsec,
+                  iattrP->ia_mtime.tv_sec, iattrP->ia_mtime.tv_nsec,
+                  iattrP->ia_ctime.tv_sec, iattrP->ia_ctime.tv_nsec);
+
+  if (S_ISBLK(iattrP->ia_mode)  ||  S_ISCHR(iattrP->ia_mode))
+    bufP += sprintf(bufP, " device=%d,%d",
+                    DevMajor(iattrP->ia_rdev),
+                    DevMinor(iattrP->ia_rdev));
+
+  if (iattrP->ia_blocksize != 262144)
+    bufP += sprintf(bufP, " blk=%d", iattrP->ia_blocksize);
+
+  if (iattrP->ia_modsnapid != 0)
+    bufP += sprintf(bufP, " modsnap=%d", iattrP->ia_modsnapid);
+
+  if (iattrP->ia_xperm)
+  {
+    bufP += sprintf(bufP, " extperms=0x%X", iattrP->ia_xperm);
+    if (iattrP->ia_xperm & GPFS_IAXPERM_ACL)
+      bufP += sprintf(bufP, ",acl");
+    if (iattrP->ia_xperm & GPFS_IAXPERM_XATTR)
+      bufP += sprintf(bufP, ",xa");
+    if (iattrP->ia_xperm & GPFS_IAXPERM_DMATTR)
+      bufP += sprintf(bufP, ",dm");
+    if (iattrP->ia_xperm & GPFS_IAXPERM_DOSATTR)
+      bufP += sprintf(bufP, ",dos");
+    if (iattrP->ia_xperm & GPFS_IAXPERM_RPATTR)
+      bufP += sprintf(bufP, ",rp");
+  }
+
+  if (iattrP->ia_flags & GPFS_IAFLAG_USRQUOTA)
+    bufP += sprintf(bufP, " userquota");
+  if (iattrP->ia_flags & GPFS_IAFLAG_GRPQUOTA)
+    bufP += sprintf(bufP, " groupquota");
+
+  if (iattrP->ia_flags & GPFS_IAFLAG_REPLMETA)
+    bufP += sprintf(bufP, " replmeta");
+  if (iattrP->ia_flags & GPFS_IAFLAG_REPLDATA)
+    bufP += sprintf(bufP, " repldata");
+
+  if (iattrP->ia_flags & GPFS_IAFLAG_EXPOSED)
+    bufP += sprintf(bufP, " exposed");
+  if (iattrP->ia_flags & GPFS_IAFLAG_ILLREPLICATED)
+    bufP += sprintf(bufP, " illReplicated");
+  if (iattrP->ia_flags & GPFS_IAFLAG_UNBALANCED)
+    bufP += sprintf(bufP, " unbalanced");
+  if (iattrP->ia_flags & GPFS_IAFLAG_DATAUPDATEMISS)
+    bufP += sprintf(bufP, " dataUpdateMiss");
+  if (iattrP->ia_flags & GPFS_IAFLAG_METAUPDATEMISS)
+    bufP += sprintf(bufP, " metaUpdateMiss");
+  if (iattrP->ia_flags & GPFS_IAFLAG_ILLPLACED)
+    bufP += sprintf(bufP, " illPlaced");
+  if (iattrP->ia_flags & GPFS_IAFLAG_COMANAGED)
+    bufP += sprintf(bufP, " coManaged");
+
+  rc = gpfs_igetfilesetname(iscanP, iattrP->ia_filesetid,
+                            nbuf, sizeof(nbuf));
+  if (rc != 0)
+  {
+    rc = errno;
+    bufP += sprintf(bufP, " gpfs_igetfilesetname:%s", strerror(rc));
+  }
+  else if (strlen(nbuf) > 0 && strcmp(nbuf,"root") != 0)
+    bufP += sprintf(bufP, " fileset=%s", nbuf);
+
+  rc = gpfs_igetstoragepool(iscanP, iattrP->ia_datapoolid,
+                            nbuf, sizeof(nbuf));
+  if (rc != 0)
+  {
+    rc = errno;
+    bufP += sprintf(bufP, " gpfs_igetstoragepool:%s", strerror(rc));
+  }
+  else if (strcmp(nbuf,"system") != 0)
+    bufP += sprintf(bufP, " datapool='%s'", nbuf);
+
+  printf("%s\n", buf);
+}
+
+static int read_inodes(const char *fnameP,
+                       gpfs_ino_t startinode, gpfs_ino_t endinode)
+{
+  int rc = 0;
+  const gpfs_iattr_t *iattrP;
+  gpfs_iscan_t *iscanP = NULL;
+  gpfs_fssnap_handle_t *fsP = NULL;
+
+  fsP = gpfs_get_fssnaphandle_by_path(fnameP);
+  if (fsP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_get_fshandle_by_path: %s\n", strerror(rc));
+    goto exit;
+  }
+
+  iscanP = gpfs_open_inodescan(fsP, NULL, NULL);
+  if (iscanP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_open_inodescan: %s\n", strerror(rc));
+    goto exit;
+  }
+
+  if (startinode > 0)
+  {
+    rc = gpfs_seek_inode(iscanP, startinode);
+    if (rc != 0)
+    {
+      rc = errno;
+      fprintf(stderr, "gpfs_seek_inode: %s\n", strerror(rc));
+      goto exit;
+    }
+  }
+
+  while (1)
+  {
+    rc = gpfs_next_inode(iscanP, endinode, &iattrP);
+    if (rc != 0)
+    {
+      rc = errno;
+      fprintf(stderr, "gpfs_next_inode: %s\n", strerror(rc));
+      goto exit;
+    }
+    if ((iattrP == NULL) ||
+        (iattrP->ia_inode > endinode))
+      break;
+
+    print_vattr(iscanP, iattrP);
+  }
+
+exit:
+  if (iscanP)
+    gpfs_close_inodescan(iscanP);
+  if (fsP)
+    gpfs_free_fssnaphandle(fsP);
+
+  return rc;
+}
+
+/* main */
+int main(int argc, char *argv[])
+{
+  int rc;
+  gpfs_ino_t startinode = 0;
+  gpfs_ino_t endinode = 0x7FFFFFFF;
+
+  /* if no files were specified, there is nothing to do */
+  if (argc < 2 || argc > 4)
+    usage(argv[0]);
+
+  if (argc > 2)
+  {
+    startinode = (gpfs_ino_t) atoi(argv[2]);
+    if (startinode < 0)
+      startinode = 0;
+  }
+  if (argc > 3)
+  {
+    endinode = (gpfs_ino_t) atoi(argv[3]);
+    if (endinode < 0)
+      endinode = 0x7FFFFFFF;
+  }
+
+  rc = read_inodes(argv[1], startinode, endinode);
+  return rc;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tslistall
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tslistall	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tslistall	(revision 16)
@@ -0,0 +1,46 @@
+#!/bin/ksh
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2002,2004 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+
+#############################################################################
+#
+# Usage:  tslistall <pathname> [<tmpdirname>]
+#
+#############################################################################
+
+# Verify caller provided the pathname
+if [[ $# -lt 1 ]]
+then 
+    print -u2 "Usage: $0 pathname [<tmpdirname>]";
+    exit 1;
+fi
+path="$1"
+tmpdir=${2:-"/tmp"}
+
+# Generate a temporary file name
+
+tmpFile1="$tmpdir/tssave".$$."a"
+
+# Read the directory structure and sort it into the tmp file
+tsreaddir "$path" | sort -T "$tmpdir" > "$tmpFile1" || exit
+
+# Get the file's mtime/ctime and merge it with the file names
+# note: tab character between the quotes
+tstimes "$path" | join -t'	' - "$tmpFile1"
+
+# Save return code and delete the temp file before returning
+rc=$?
+rm -f "$tmpFile1"
+exit $rc
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsreaddir.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsreaddir.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tsreaddir.c	(revision 16)
@@ -0,0 +1,543 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 2002,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+
+/*====================================================================
+ *
+ * tsreaddir command: Recursively traverse the directory structure
+ *                    to list all files/directories in the file system.
+ *
+ * Syntax: tsreaddir [-d] [-n] [-t nThreads] [--] <pathname>
+ *
+ *   The "pathname" parameter should be the directory where the root of
+ *   the file system is found.
+ *
+ *==================================================================*/
+
+#ifdef GPFS_LINUX
+/* Use 64 bit version of stat, etc. */
+#define _LARGEFILE_SOURCE
+#define _FILE_OFFSET_BITS 64
+
+typedef long long offset_t;
+#endif
+
+#ifdef GPFS_AIX
+/* Use 64 bit version of stat, etc. */
+#ifndef _LARGE_FILES
+#define _LARGE_FILES
+#endif
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <pthread.h>
+
+#include <gpfs.h>
+
+extern char *basename(char *);
+
+int noDIR = 0;
+int onlyDIR = 0;
+int optcheck = 1;
+char *RootFsDirP;
+
+/* Define the number of threads used to read the directories */
+#define DEFAULT_THREADS 16
+int nThreads = DEFAULT_THREADS;
+
+/* Define wait queue for threads */
+static pthread_mutex_t QueueMutex;
+static pthread_cond_t QueueCond;
+static int NWorkersWaiting = 0;
+static int NWorkersRunning = 0;
+
+typedef struct queue_element
+{
+  struct queue_element *nextP;
+  ino_t ino;
+  char path[4];
+} QueueElement;
+
+static QueueElement *WorkQueueP = NULL;
+
+/* Define mutex to serialize the output */
+static pthread_mutex_t OutputMutex;
+
+/* error code set while in threads to control final error code */
+int exitrc = 0;
+
+
+
+/* print usage message and exit */
+void usage(char *argv0)
+{
+  fprintf(stderr, "Usage: %s [-d] [-n] [-t nThreads (def=%d)] [--] pathname\n",
+          basename(argv0), DEFAULT_THREADS);
+  exit(1);
+}
+
+/* Add an element to the work queue
+   and signal any thread waiting for work. */
+int EnqueueWork(const char *pathP, const char *dirP, ino_t inode)
+{
+  int rc;
+  int pathLen = strlen(pathP);
+  QueueElement *qP = NULL;
+
+  /* Allocate a work queue element and space for the path.  */
+  qP = (QueueElement *) malloc((sizeof(*qP) - sizeof(qP->path))
+                                + pathLen + strlen(dirP) + 2);
+  if (qP == NULL)
+  {
+    fprintf(stderr, "Out of memory.\n");
+    return(ENOMEM);
+  }
+
+  /* Initialize element */
+  qP->ino = inode;
+  if (pathLen > 0)
+  {
+    strcpy(qP->path, pathP);
+    strcat(qP->path, "/");
+    strcat(qP->path, dirP);
+  }
+  else
+    strcpy(qP->path, dirP);
+
+  /* Acquire mutex protecting the work queue */
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    return rc;
+  }
+
+  /* Add work element to the list */
+  qP->nextP = WorkQueueP;
+  WorkQueueP = qP;
+
+  /* Signal a waiting worker thread */
+  if (NWorkersWaiting > 0)
+  {
+    NWorkersWaiting -= 1;
+    rc = pthread_cond_signal(&QueueCond);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error in pthread_cond_signal: %s\n", strerror(rc));
+      return rc;
+    }
+  }
+
+  /* Release mutex before returning */
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    return rc;
+  }
+
+  /* Success! */
+  return 0;
+}
+
+
+/* Dequeue the next work element from the queue
+   or if the queue is empty, wait for more work to become available */
+QueueElement *DequeueWork(void)
+{
+  int rc;
+  QueueElement *qP;
+
+  /* Acquire mutex protecting the work queue */
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+
+  /* One less thread working */
+  NWorkersRunning -= 1;
+
+  /* Loop waiting for work to become available */
+  while ((WorkQueueP == NULL) && (NWorkersRunning > 0))
+  {
+    NWorkersWaiting += 1;       /* One more thread waiting */
+    rc = pthread_cond_wait(&QueueCond, &QueueMutex);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error in pthread_cond_wait: %s\n", strerror(rc));
+      if (exitrc == 0)
+        exitrc = rc;
+      return NULL;
+    }
+  }
+
+  /* Check if we are done */
+  if (WorkQueueP == NULL)
+  {
+    qP = NULL;                  /* Nothing more to do. */
+
+    /* signal any waiting threads */
+    if (NWorkersWaiting > 0)
+    {
+      NWorkersWaiting = 0;
+      rc = pthread_cond_broadcast(&QueueCond);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Error in pthread_cond_broadcast: %s\n", strerror(rc));
+        if (exitrc == 0)
+          exitrc = rc;
+      }
+    }
+  }
+  else
+  {
+    /* Remove the first element from the queue */
+    qP = WorkQueueP;
+    WorkQueueP = qP->nextP;
+    qP->nextP = NULL;
+
+    /* One more thread working */
+    NWorkersRunning += 1;
+  }
+
+  /* Release mutex before returning */
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+
+  return qP;
+}
+
+/* Main body for each thread.
+   Loop until there is no more work to do. */
+void* ThreadBody(void *parmP)
+{
+  int rc;
+  QueueElement *qP;
+  int read_dir(const char *, ino_t);
+
+  /* Count this thread as a worker thread */
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+  NWorkersRunning += 1;
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    NWorkersRunning -= 1;
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+
+  /* Loop while there is work to do */
+  do
+  {
+    /* Wait for work */
+    qP = DequeueWork();
+    if (qP == NULL)
+      break;
+
+    /* Read this directory */
+    rc = read_dir(qP->path, qP->ino);
+    if (exitrc == 0)
+      exitrc = rc;
+
+    /* Free work queue element */
+    free(qP);
+
+  } while (rc == 0);
+
+  rc = pthread_mutex_lock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+    return NULL;
+  }
+  NWorkersRunning -= 1;
+  rc = pthread_mutex_unlock(&QueueMutex);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+    if (exitrc == 0)
+      exitrc = rc;
+  }
+
+  return NULL;
+}
+
+/* Read all entries from the current directory */
+int read_dir(const char *pathP, ino_t inode)
+{
+  int rc = 0;
+  const gpfs_direntx_t *direntxP;
+  gpfs_fssnap_handle_t *fsP = NULL;
+  gpfs_ifile_t *dirxP = NULL;
+  char *typeP, *slashP;
+  int doprint;
+
+  /* Check if we need a "/"  */
+  if (strlen(pathP) > 0)
+    slashP = "/";
+  else
+    slashP = "";
+
+  /* Open the file system */
+  fsP = gpfs_get_fssnaphandle_by_path(RootFsDirP);
+  if (fsP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_get_fssnaphandle_by_path(%s): %s\n",
+            RootFsDirP, strerror(rc));
+    goto exit;
+  }
+
+  /* Open the directory's file */
+  dirxP = gpfs_iopen(fsP, inode, O_RDONLY, NULL, NULL);
+  if (dirxP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_iopen(%s/%s): %s\n", RootFsDirP, pathP, strerror(rc));
+    goto exit;
+  }
+
+  /* Loop reading the directory entries */
+  while (1)
+  {
+    rc = gpfs_ireaddir(dirxP, &direntxP);
+    if (rc != 0)
+    {
+      int saveerrno = errno;
+      fprintf(stderr, "gpfs_ireaddir(%s/%s): rc %d %s\n",
+              RootFsDirP, pathP, rc, strerror(saveerrno));
+      rc = saveerrno;
+      goto exit;
+    }
+    if (direntxP == NULL)
+      break;
+
+    /* Get directory entry type */
+    switch (direntxP->d_type)
+    {
+      case GPFS_DE_DIR:
+        /* Skip . and .. entries */
+        if ((strcmp(direntxP->d_name, ".") == 0) ||
+            (strcmp(direntxP->d_name, "..") == 0))
+          continue;
+
+        typeP = "DIR";
+        doprint = !noDIR;
+        break;
+
+      case GPFS_DE_REG:
+        typeP = "REG";
+        doprint = !onlyDIR;
+        break;
+
+      case GPFS_DE_LNK:
+        typeP = "LNK";
+        doprint = !onlyDIR;
+        break;
+
+      default:
+        typeP = "UNK";
+        doprint = !onlyDIR;
+    }
+
+    if (doprint)
+    {
+      int plen;
+
+      /* Print file info on stdout.
+         Serialize output with all other threads */
+      rc = pthread_mutex_lock(&OutputMutex);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Error in pthread_mutex_lock: %s\n", strerror(rc));
+        goto exit;
+      }
+      /* Print: inodenumber/generation type pathname
+         (leading 0s on inodenumber/generation allow join command
+          to do character sort to merge output with tstimes.) */
+      plen = printf("%010d/%010d\t%s\t%s%s%s\n",
+                    direntxP->d_ino, direntxP->d_gen, typeP,
+                    pathP, slashP, direntxP->d_name);
+      rc = pthread_mutex_unlock(&OutputMutex);
+      if (rc != 0)
+      {
+        fprintf(stderr, "Error in pthread_mutex_unlock: %s\n", strerror(rc));
+        goto exit;
+      }
+      if (plen < 0)
+      {
+        rc = errno;
+        goto exit;
+      }
+    }
+
+    /* Check if this entry is a directory */
+    if (direntxP->d_type == GPFS_DE_DIR)
+    {
+      /* Add this directory to the work queue */
+      rc = EnqueueWork(pathP, direntxP->d_name, direntxP->d_ino);
+      if (rc != 0)
+      {
+        if (exitrc == 0)
+          exitrc = rc;
+        goto exit;
+      }
+    }
+  }
+
+
+exit:
+  /* Close open file, if necessary */
+  if (dirxP)
+    gpfs_iclose(dirxP);
+  if (fsP)
+    gpfs_free_fssnaphandle(fsP);
+
+  return rc;
+}
+
+/* main */
+int main(int argc, char *argv[])
+{
+  int i, rc, filearg;
+  struct stat statBuf;
+  pthread_t pThread;
+
+  /* Scan for options and single directory name */
+  filearg = 0;
+  for (i = 1; i < argc; i++)
+  {
+    if (0 == strcmp(argv[i], "-n"))
+      noDIR = 1;
+    else if (0 == strcmp(argv[i], "-d"))
+      onlyDIR = 1;
+    else if (0 == strcmp(argv[i], "-t"))
+    {
+      i += 1;
+      if (i < argc)
+        nThreads = atoi(argv[i]);
+      else
+        usage(argv[0]);
+    }
+    else if (0 == strcmp(argv[i], "--"))
+      optcheck = 0;
+    else if (optcheck && *argv[i] == '-')
+      usage(argv[0]);
+    else if (filearg == 0)
+      filearg = i;
+    else
+      usage(argv[0]);
+  }
+
+  /* if no directory was specified, there is nothing to do */
+  if (filearg == 0)
+    usage(argv[0]);
+  RootFsDirP = argv[filearg];
+
+  /* Initialize pthread variables */
+  rc = pthread_mutex_init(&QueueMutex, NULL);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error from pthread_mutex_init: %s\n", strerror(rc));
+    exit(rc);
+  }
+  rc = pthread_cond_init(&QueueCond, NULL);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error from pthread_cond_init: %s\n", strerror(rc));
+    exit(rc);
+  }
+  rc = pthread_mutex_init(&OutputMutex, NULL);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error from pthread_mutex_init: %s\n", strerror(rc));
+    exit(rc);
+  }
+
+  /* Get the inode number of the root directory */
+  rc = stat(RootFsDirP, &statBuf);
+  if (rc)
+  {
+    rc = errno;
+    perror(RootFsDirP);
+    return rc;
+  }
+
+  /* Verify this is a directory */
+  if (!S_ISDIR(statBuf.st_mode))
+  {
+    errno = ENOTDIR;
+    perror(RootFsDirP);
+    return ENOTDIR;
+  }
+
+  if (!noDIR)
+  {
+    /* Print file info on stdout */
+    rc = printf("%010d/%010d\tDIR\t%s\n", statBuf.st_ino, 1, RootFsDirP);
+    if (rc < 0)
+      return errno;
+  }
+
+  /* Add the root directory to the work queue */
+  rc = EnqueueWork("", "", statBuf.st_ino);
+  if (rc != 0)
+    return rc;
+
+  /* Start the requested number of threads */
+  for (i = 1; i < nThreads; i++)
+  {
+    rc = pthread_create(&pThread, NULL, ThreadBody, NULL);
+    if (rc != 0)
+    {
+      fprintf(stderr, "Error from pthread_create(%d): %s\n", i, strerror(rc));
+      exit(rc);
+    }
+  }
+
+  /* This thread can work too */
+  (void) ThreadBody(NULL);
+
+  return exitrc;
+}
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tstimes.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tstimes.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/samples/util/tstimes.c	(revision 16)
@@ -0,0 +1,120 @@
+/* IBM_PROLOG_BEGIN_TAG                                                   */
+/* This is an automatically generated prolog.                             */
+/*                                                                        */
+/*                                                                        */
+/*                                                                        */
+/* Licensed Materials - Property of IBM                                   */
+/*                                                                        */
+/* (C) COPYRIGHT International Business Machines Corp. 2002,2006          */
+/* All Rights Reserved                                                    */
+/*                                                                        */
+/* US Government Users Restricted Rights - Use, duplication or            */
+/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
+/*                                                                        */
+/* IBM_PROLOG_END_TAG                                                     */
+
+/*====================================================================
+ *
+ * tstimes command: list the ctime and mtime for all inodes
+ *
+ * Syntax: tstimes pathname
+ *
+ *   The "pathname" parameter should be the directory where the root of
+ *   the filesystem is found.
+ *
+ *==================================================================*/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+
+#include <gpfs.h>
+
+extern char *basename(char *);
+
+/* print usage message and exit */
+void usage(char *argv0)
+{
+  fprintf(stderr, "Usage: %s pathname\n", basename(argv0));
+  exit(1);
+}
+
+/* Scan all inodes in the file system */
+int read_inodes(char *pathP)
+{
+  int rc = 0;
+  const gpfs_iattr_t *iattrP;
+  gpfs_fssnap_handle_t *fsP = NULL;
+  gpfs_iscan_t *iscanP = NULL;
+
+
+  /* Open the file system */
+  fsP = gpfs_get_fssnaphandle_by_path(pathP);
+  if (fsP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_get_fssnaphandle_by_path(%s): %s\n",
+            pathP, strerror(rc));
+    goto exit;
+  }
+
+  /* Open an inode scan on the file system */
+  iscanP = gpfs_open_inodescan(fsP, NULL, NULL);
+  if (iscanP == NULL)
+  {
+    rc = errno;
+    fprintf(stderr, "gpfs_open_inodescan(%s): %s\n",
+            pathP, strerror(rc));
+    goto exit;
+  }
+
+  /* Loop over inodes */
+  while (1)
+  {
+    rc = gpfs_next_inode(iscanP, 0, &iattrP);
+    if (rc != 0)
+    {
+      int saveerrno = errno;
+      fprintf(stderr, "gpfs_next_inode(%s): rc %d %s\n",
+              pathP, rc, strerror(saveerrno));
+      rc = saveerrno;
+      goto exit;
+    }
+    if (iattrP == NULL)
+      break;
+
+    /* Print inode info on stdout .
+       Only print the low 16 bits of the file's generation number,
+       since the tsreaddir only has the low 16 bits.
+       (leading 0s on inodenumber/generation allow join command
+        to do character sort to merge output with tsreaddir.) */
+    printf("%010d/%010d\t%010u.%09d\t%010u.%09d\n",
+           iattrP->ia_inode, (iattrP->ia_gen & 0x0000FFFF),
+           iattrP->ia_mtime.tv_sec, iattrP->ia_mtime.tv_nsec,
+           iattrP->ia_ctime.tv_sec, iattrP->ia_ctime.tv_nsec);
+  }
+
+
+exit:
+  if (iscanP)
+    gpfs_close_inodescan(iscanP);
+  if (fsP)
+    gpfs_free_fssnaphandle(fsP);
+
+  return rc;
+}
+
+/* main */
+int main(int argc, char *argv[])
+{
+  int rc;
+
+  /* if pathname was not specified, there is nothing to do */
+  if (argc != 2)
+    usage(argv[0]);
+
+  /* Read the inodes */
+  rc = read_inodes(argv[1]);
+  return rc;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/README
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/README	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/README	(revision 16)
@@ -0,0 +1,194 @@
+
+Please refer to the online GPFS FAQ at
+
+  http://publib.boulder.ibm.com/infocenter/clresctr/topic/com.ibm.cluster.gpfs.doc/gpfs_faqs/gpfs_faqs.html
+
+  for the latest information about GPFS updates, supported kernel levels,
+  and kernel patches before building the portability layer.
+
+Linux kernel patches for GPFS can be obtained at
+
+  http://sourceforge.net/tracker/?atid=719124&group_id=130828&func=browse
+
+  which is the patches link for the project
+  "General Parallel File System (GPFS)" on Source Forge; only Linux
+  kernel patches are kept on the Source Forge site.
+
+You can send license inquiries to gpfs@us.ibm.com
+or, in writing, to:
+
+  GPFS Product Manager
+  International Business Machines Company
+  Dept. LNLA  Mail Station P963
+  2455 South Road
+  Poughkeepsie NY 12601-5400
+  United States of America
+
+
+To build the Linux portability interface for GPFS
+-------------------------------------------------
+
+  It is strongly suggested that you build the source at
+  non root level.  You will need to change the owner
+  and group permissions accordingly in /usr/lpp/mmfs/src. 
+
+  When you build as a non root user it is also important 
+  that you have read access to the linux kernel header files 
+  on your machine.  These headers are normally found in 
+  /usr/src/linux/include but may appear in a different
+  place as enumerated below in step 3 section D.
+
+  The simplest way to build the portability layer is to use 
+  the "Autoconfig" process to create the site.mcr file for you.
+  
+  1) export SHARKCLONEROOT=/usr/lpp/mmfs/src
+  2) cd /usr/lpp/mmfs/src 
+  3) make Autoconfig
+  4) make World
+  5) make InstallImages	
+
+  Alternatively, if you have a platform that requires 
+  customization, manual creation of the site.mcr file 
+  will be necessary as follows.
+
+  1) export SHARKCLONEROOT=/usr/lpp/mmfs/src 
+  2) cd /usr/lpp/mmfs/src/config
+     cp site.mcr.proto site.mcr
+
+  3) Edit and customize the site.mcr file.
+  
+     A) The default architecture is GPFS_ARCH_I386. Only modify the 
+        architecture choice if your platform is not Intel 32-bit based (IA32).
+
+     B) Modify the Linux distribution choice according to the software
+        distribution your machine runs.
+
+     C) Modify the Linux distribution level according to the level of the
+        software distribution your machine runs. 
+
+     D) Modify the LINUX_KERNEL_VERSION according to the Linux kernel
+        level you are using with your software distribution.
+
+     E) Note also that the kernel header file search path, 
+        KERNEL_HEADER_DIR, is by default /lib/modules/`uname -r`/build/include
+
+        Customers who have their kernel source headers in a different 
+        directory will need to modify KERNEL_HEADER_DIR.  For instance 
+        another common location for the kernel headers is /usr/src/linux/include.
+
+        YOU MUST HAVE READ ACCESS TO THESE HEADERS!
+
+     F) Uncomment any desired Linux kernel patches listed under
+        LINUX_PATCH_DEFINES.
+
+        The kernel will also need to be rebuilt and installed with 
+        the appropriate patches, which can be obtained from 
+        http://sourceforge.net/tracker/?atid=719124&group_id=130828&func=browse.
+
+        The online GPFS FAQ has detailed information on each patch.
+
+  4) If no LINUX_PATCH_DEFINES are applied above and the kernel is 
+     not recompiled, some distributions will still require more 
+     preparation of kernel headers.
+
+     A) On SuSE Enterprise Server 8 PowerPC you will need to:
+
+        Install the kernel source
+
+        cd /lib/modules/`uname -r`/build
+        sh make_ppc64.sh distclean
+        sh make_ppc64.sh clean
+        sh make_ppc64.sh mrproper
+        sh make_ppc64.sh cloneconfig
+        sh make_ppc64.sh dep
+
+     B) On SuSE Enterprise Server 8 AMD64 you will need to:
+
+        Install the kernel source
+
+        cd /lib/modules/`uname -r`/build
+        make distclean
+        make clean
+        make mrproper
+        make cloneconfig
+        make dep
+
+     C) On SuSE Enterprise Server 9 all platforms you will need to:
+
+        Install the kernel source
+
+        The default header file path must be changed.  KERNEL_HEADER_DIR can
+        instead be set to /lib/modules/`uname -r`/source/include
+
+  5) cd /usr/lpp/mmfs/src
+
+  6) make World
+
+  All of the kernel modules and libraries reside in the "bin" 
+  subdirectory after the build.
+
+
+To install the Linux portability interface for GPFS into /usr/lpp/mmfs/bin
+--------------------------------------------------------------------------
+
+  This step installs the binaries for the portability interface.
+
+  1) su
+
+  2) make InstallImages
+
+     The files mmfslinux, lxtrace, tracedev, and dumpconv will be
+     installed in /usr/lpp/mmfs/bin.  If the system is using a 2.6 kernel, 
+     there will be an additional mmfs26 binary.  If this kernel configuration
+     applies to other machines in the cluster, you may then copy
+     these binaries to those machines, or iteratively perform the
+     above compile and install steps on each machine.
+
+Additional Notes
+----------------
+
+  Most of the source code headers are in the "ibm-kxi" and "ibm-linux"
+  directories, while the source code is in the "gpl-linux" directory.
+
+  The "config" directory provides the configuration information for 
+  the build (site.mcr) and the "misc" directory handles some items 
+  that allow us to reuse our standard development Imakefiles.
+
+
+Troubleshooting build problems
+------------------------------
+Most commonly encountered build problems are caused by an incorrect setting
+of KERNEL_HEADER_DIR, or an incorrect setup of the kernel source tree.  GPFS
+requires a full set of kernel headers in order to build; a subset of kernel
+headers provided to build "typical" kernel modules may be insufficient and
+could lead to build breaks.  Specifically, on SuSE Enterprise Server 9 and 10,
+the directory pointed to by the /lib/modules/`uname -r`/build symlink contains
+only a subset of kernel headers, while the directory pointed to by
+/lib/modules/`uname -r`/source contains a full source tree.
+
+Some files in the full source tree, most notably include/linux/version.h and
+include/linux/autoconf.h, are often configured dynamically by an external shell
+script (e.g. /etc/init.d/running-kernel on SuSE Enterprise Server), which
+copies a set of files into the source tree to make it match the currently
+booted kernel (that way one can boot different kernels but have the same
+source tree always configured to match it).  If the kernel source tree is
+updated but the shell reconfiguration script hasn't run (it usually runs
+during the boot sequence), or the script didn't work correctly, the kernel
+source tree may not be configured properly.
+
+NOTE: On SuSE Enterprise Server 10 for PowerPC, /etc/init.d/running-kernel
+that ships with the GA level of distribution (kernel-source-2.6.16.21-0.8)
+contains a bug that results in the wrong set of files being copied to the
+kernel source tree.  This bug will be fixed with SLES10 SP1.  If the official
+fix is unavailable, the following change should also address the problem:
+
+--- running-kernel.orig 2006-10-06 14:54:36.000000000 -0500
++++ /etc/init.d/running-kernel  2006-10-06 14:59:58.000000000 -0500
+@@ -53,6 +53,7 @@
+     arm*|sa110)        arch=arm ;;
+     s390x)     arch=s390 ;;
+     parisc64)  arch=parisc ;;
++    ppc64)     arch=powerpc ;;
+     esac
+     # FIXME: How to handle uml?
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/applypatch.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/applypatch.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/applypatch.sh	(revision 16)
@@ -0,0 +1,77 @@
+#!/bin/ksh
+#
+# $Id: applypatch.sh,v 1.1 2001/01/31 17:18:07 gjertsen Exp $
+# $Log: applypatch.sh,v $
+# Revision 1.1  2001/01/31 17:18:07  gjertsen
+# Move patch scripts to tools directory.
+#
+# Revision 1.3  2000/06/29 23:08:50  schmuck
+# Fix problem where script got confused when patch command created a
+# backup copy of its input file, because it did not exactly match the
+# input from which the diff was produced.
+# Avoid file name collisions by using a tmp file for patch output.
+#
+# Revision 1.2  2000/06/23  22:07:31  eshel
+# minor changes to messages
+#
+# Revision 1.1  2000/06/22  23:02:03  eshel
+# add createpatch.sh and applypatch.sh to patch linux source .h files
+#
+#
+## ###################################################################### ##
+##        Copyright IBM 2000                                              ##
+## ###################################################################### ##
+
+#set nonomatch
+#set -x;
+
+# Verify correct number of parameters
+if [ $# != 3 ]; then
+  echo 'usage: applypatch.sh $SRC $DEST $FILENAME'
+  exit 1
+fi
+
+# Get parameter values
+PGM=${0##*/}
+SRC="$1"
+DEST="$2"
+DIFF_FILE="$3"
+
+# Construct name of the .h file to be patched and tmp file for patch output
+H_FILE=${DIFF_FILE%.diff}.h
+TMP_FILE=/tmp/$$.$H_FILE
+
+# Compare checksums to verify that the source file to be patched matches
+# the file that was used to produce the .diff file
+CKSUM1=$(head -1 $DIFF_FILE)
+CKSUM2=$(cksum $SRC/$H_FILE)
+if [ "$CKSUM1" != "$CKSUM2" ]; then
+  echo "$PGM: *** Warning: source file $SRC/$H_FILE has changed"
+fi
+
+# Run the patch command; output goes into /tmp
+patch --no-backup-if-mismatch --output $TMP_FILE $SRC/$H_FILE $DIFF_FILE
+if [ $? != 0 ]; then
+  echo "$PGM: *** Error: patch command failed"
+  exit 1
+fi
+
+# If a file with the same name as the source file exists in the current
+# directory, verify that its content matches the result of applying the patch
+if [ -f $H_FILE ]; then
+  diff -q $H_FILE  $TMP_FILE > /dev/null
+  if [ $? != 0 ]; then
+    echo "$PGM: *** Error: result of applying $DIFF_FILE does not match ./$H_FILE"
+    echo "$PGM: run createpatch.sh before running applypatch.sh again"
+    rm $TMP_FILE
+    exit 1
+  fi
+fi
+
+# Install the patched .h file in the destination directory
+/usr/bin/install -c -m 0444 $TMP_FILE $DEST/$H_FILE
+rc=$?
+
+# Clean up and return the result of the install command
+rm $TMP_FILE
+exit $rc
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/createpatch.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/createpatch.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/createpatch.sh	(revision 16)
@@ -0,0 +1,38 @@
+#!/bin/ksh
+#
+# $Id: createpatch.sh,v 1.1 2001/01/31 17:18:12 gjertsen Exp $
+# $Log: createpatch.sh,v $
+# Revision 1.1  2001/01/31 17:18:12  gjertsen
+# Move patch scripts to tools directory.
+#
+# Revision 1.3  2000/06/23 22:07:31  eshel
+# minor changes to messages
+#
+# Revision 1.2  2000/06/23  02:44:15  eshel
+# use the -u option when creating diff files
+#
+# Revision 1.1  2000/06/22  23:02:04  eshel
+# add createpatch.sh and applypatch.sh to patch linux source .h files
+#
+#
+## ###################################################################### ##
+##        Copyright IBM 1993                                              ##
+## ###################################################################### ##
+
+#set nonomatch
+#set -x;
+################################################
+if [ $# -lt 2 ] || [ $# -gt 2 ]; then
+	echo 'usage: createpatch $SRC $FILENAME'
+	exit 1
+fi
+################################################
+
+SRC="$1"
+FILENAME="$2"
+
+################################################
+
+cksum $SRC/$FILENAME > ${FILENAME%.h}.diff
+diff -u $SRC/$FILENAME $FILENAME >> ${FILENAME%.h}.diff
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/depend.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/depend.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/depend.sh	(revision 16)
@@ -0,0 +1,136 @@
+#!/bin/ksh
+# $Id: depend.sh,v 1.10.16.2 2006/10/06 22:33:17 yuri Exp $
+## ###################################################################### ##
+##        Copyright IBM 1993                                              ##
+## ###################################################################### ##
+
+#set nonomatch
+################################################
+if [ $# -lt 2 ] || [ $# -gt 5 ]; then
+  echo 'usage: depends $DEPEND $INCLUDES [$DEFINES [$KDEFINES [$PKDEFINES]]]'
+  exit 1
+fi
+################################################
+DEPEND="$1"
+INCLUDES="$2"
+DEFINES="$3"
+KDEFINES="$4"
+PKDEFINES="$5"
+
+################################################
+CFILES=$(/bin/ls *.[cC])
+if [ "$CFILES" = "" ]; then
+  echo "No Dependencies to Check ...continuing...."
+  exit 0
+fi
+################################################
+CDEPENDS=/tmp/Dep1_$$
+DEPENDERR=/tmp/Dep2_$$
+DEPENDS=.depends
+################################################
+
+# make backup copy of makefile and remove old dependencies
+mv makefile makefile.BAK
+sed -n -e '1,/##### DEPENDENCY LINE - DO NOT DELETE #####/p' makefile.BAK > makefile
+
+# run the compiler with option to generate dependencies
+# output goes into $CDEPENDS, error messages go into $DEPENDERR
+if [[ $DEFINES = *GPFS_LINUX* ]]
+then
+   rm -f *.d >/dev/null 2>&1
+   $DEPEND -w -MD -E >/dev/null $DEFINES $INCLUDES $CFILES 2> $DEPENDERR
+   echo "" > $CDEPENDS
+   cat *.d >> $CDEPENDS
+   rm -f *.d >/dev/null 2>&1
+else
+   rm -f *.u >/dev/null 2>&1
+   $DEPEND -qonce -M -E >/dev/null $DEFINES $INCLUDES $CFILES 2> $DEPENDERR
+   echo "" > $CDEPENDS
+   cat *.u >> $CDEPENDS
+   rm -f *.u >/dev/null 2>&1
+fi
+
+# show error messages, but filter out certain uninteresting messages
+fgrep -v -e 'unknown directive == "#error' \
+         -e 'Option lm is not valid' \
+         -e 'Suboption compat is not valid for option langlvl' $DEPENDERR
+
+# Copy output to $DEPENDS
+"cp" $CDEPENDS $DEPENDS
+
+# remove temporary output files
+for i in $CDEPENDS $DEPENDERR
+do
+  rm -f $i $i.bak
+done
+
+# If $KDEFINES is non-empty, certain files need to be compiled
+# twice: once without and once with $KDEFINES to generate .ko file to
+# be linked into kernel code.  If this is the case, we need to generate
+# dependencies for the .ko files.
+if [[ "$KDEFINES" != "" ]]
+then
+  # generate dependencies with $KDEFINES
+  if [[ $DEFINES = *GPFS_LINUX* ]]; then
+    rm -f *.d >/dev/null 2>&1
+    $DEPEND -w -MD -E >/dev/null $KDEFINES $INCLUDES $CFILES 2> $DEPENDERR
+    echo "" > $CDEPENDS
+    cat *.d >> $CDEPENDS
+    rm -f *.d >/dev/null 2>&1
+  else
+    rm -f *.u >/dev/null 2>&1
+    $DEPEND -qonce -M -E >/dev/null $KDEFINES $INCLUDES $CFILES 2> $DEPENDERR
+    echo "" > $CDEPENDS
+    cat *.u >> $CDEPENDS
+    rm -f *.u >/dev/null 2>&1
+  fi
+
+  # show error messages, but filter out certain uninteresting messages
+  fgrep -v -e 'unknown directive == "#error' \
+           -e 'Suboption compat is not valid for option langlvl' $DEPENDERR
+
+  # Append output to $DEPENDS, but change ".o:" to ".ko:"
+  sed -e 's/\.o:/.ko:/g' $CDEPENDS >> $DEPENDS
+
+  # remove temporary output files
+  for i in $CDEPENDS $DEPENDERR
+  do
+    rm -f $i $i.bak
+  done
+fi
+
+# On Linux, if $PKDEFINES is non-empty, also generate dependencies
+# for .pko files.
+if [[ "$PKDEFINES" != "" ]]
+then
+  # generate dependencies with $KDEFINES and $PKDEFINES
+  if [[ $DEFINES = *GPFS_LINUX* ]]; then
+    rm -f *.d >/dev/null 2>&1
+    $DEPEND -w -MD -E >/dev/null $KDEFINES $PKDEFINES $INCLUDES $CFILES 2> $DEPENDERR
+    echo "" > $CDEPENDS
+    cat *.d >> $CDEPENDS
+    rm -f *.d >/dev/null 2>&1
+  else
+    rm -f *.u >/dev/null 2>&1
+    $DEPEND -qonce -M -E >/dev/null $PKDEFINES $INCLUDES $CFILES 2> $DEPENDERR
+    echo "" > $CDEPENDS
+    cat *.u >> $CDEPENDS
+    rm -f *.u >/dev/null 2>&1
+  fi
+
+  # show error messages, but filter out certain uninteresting messages
+  fgrep -v -e 'unknown directive == "#error' \
+           -e 'Suboption compat is not valid for option langlvl' $DEPENDERR
+
+  # Append output to $DEPENDS, but change ".o:" to ".pko:"
+  sed -e 's/\.o:/.pko:/g' $CDEPENDS >> $DEPENDS
+
+  # remove temporary output files
+  for i in $CDEPENDS $DEPENDERR
+  do
+    rm -f $i $i.bak
+  done
+fi
+
+# append all the dependencies to the makefile
+cat $DEPENDS >> makefile
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/lxtrace.sial
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/lxtrace.sial	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/lxtrace.sial	(revision 16)
@@ -0,0 +1,96 @@
+/* @(#)27       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/mmdumpfilocks.sial, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:25:23 */
+
+/* lcrash sial script to display file_lock structures.
+ * Loaded and executed from mmdumpfilock.sh to support
+ * the "mmfsadm dump fillocks" command.
+ */
+string mmdumpfilocks_help()  { return ""; }
+string mmdumpfilocks_opt()   { return ""; }
+string mmdumpfilocks_usage() { return ""; }
+
+typedef struct list_head_t {
+	struct list_head *next, *prev;
+} list_head_t;
+
+int
+mmdumpfilocks()
+{
+  char *fsP;
+  int ino, dev, nLocks;
+  int link_offset, block_offset;
+  list_head_t *lhP, *nextP;
+  list_head_t *bhP, *blockP;
+  struct file_lock *flP, *blP;
+
+  printf("\n");
+
+  /* file_lock_list is the anchor of all locks */
+  if (exists("file_lock_list"))
+  {
+    lhP = (list_head_t *)file_lock_list;
+    flP = (struct file_lock *)lhP->next;
+    link_offset = (int)&flP->fl_link - (int)flP;
+    block_offset = (int)&flP->fl_block - (int)flP;
+
+    nLocks = 0;
+
+    /* Loop through the fl_link.next chain (circular) */
+    while (flP != lhP) {
+
+      /* Back-up to top of file_lock */
+      flP = (struct file_lock *) ((int)flP - link_offset);
+
+      /* Only show GPFS locks */
+      fsP = flP->fl_file->f_dentry->d_sb->s_type->name;
+      if (fsP[0] == 'g' && fsP[1] == 'p' && fsP[2] == 'f' && fsP[3] == 's') { 
+
+        if (!nLocks++) {
+          /* Header line */
+          printf("file_lock  maj:min    inode      pid  type      start        end\n");
+          printf("---------- ------- -------- -------- ----- ---------- ----------\n");
+        }
+
+        /* collect inode and dev to easily identify the file */
+        ino = flP->fl_file->f_dentry->d_inode->i_ino;
+        dev = flP->fl_file->f_dentry->d_inode->i_dev;
+
+        /* display some of the lock fields. */
+        printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d\n", 
+                flP, dev>>8, dev & 0xFF, ino, flP->fl_pid, 
+                flP->fl_type==0? "READ": (flP->fl_type==1? "WRITE":"?"),
+                flP->fl_start, flP->fl_end);  
+
+        /* Follow fl_block so we can match up "reclockSleepers" */
+        bhP = (list_head_t *)(&flP->fl_block);
+        blP = (struct file_lock *)bhP->next;
+
+        /* Loop through the fl_block.next chain (circular) */
+        while (blP != bhP) {
+
+          /* Back-up to top of file_lock */
+          blP = (struct file_lock *) ((int)blP - block_offset);
+
+          /* display some of the lock fields.  One line per lock. */
+          printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d waiting\n", 
+                  blP, dev>>8, dev & 0xFF, ino, blP->fl_pid, 
+                  blP->fl_type==0? "READ": (blP->fl_type==1? "WRITE":"?"),
+                  blP->fl_start, blP->fl_end);  
+
+          /* Move to the next file_lock in the block list. */
+          blockP = (list_head_t *)(&blP->fl_block);
+          blP = (struct file_lock *)blockP->next;
+        } /* Done with the fl_block chain. */
+
+      }
+      /* Move to the next file_lock in the fl_link list and continue. */
+      nextP = (list_head_t *)(&flP->fl_link);
+      flP = (struct file_lock *)nextP->next;
+    }
+  }
+  else
+  {
+    printf("The \"file_lock_list\" symbol cannot be found in this memory image.\n");
+    printf("Did you give lcrash a /var/mmfs/tmp/complete.map?\n");
+  }
+  return 0;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mktrace
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mktrace	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mktrace	(revision 16)
@@ -0,0 +1,3 @@
+#!/bin/ksh
+# mktrace stub
+exit 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mmdumpfilocks.sial
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mmdumpfilocks.sial	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mmdumpfilocks.sial	(revision 16)
@@ -0,0 +1,96 @@
+/* @(#)27       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/mmdumpfilocks.sial, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:25:23 */
+
+/* lcrash sial script to display file_lock structures.
+ * Loaded and executed from mmdumpfilock.sh to support
+ * the "mmfsadm dump fillocks" command.
+ */
+string mmdumpfilocks_help()  { return ""; }
+string mmdumpfilocks_opt()   { return ""; }
+string mmdumpfilocks_usage() { return ""; }
+
+typedef struct list_head_t {
+	struct list_head *next, *prev;
+} list_head_t;
+
+int
+mmdumpfilocks()
+{
+  char *fsP;
+  int ino, dev, nLocks;
+  int link_offset, block_offset;
+  list_head_t *lhP, *nextP;
+  list_head_t *bhP, *blockP;
+  struct file_lock *flP, *blP;
+
+  printf("\n");
+
+  /* file_lock_list is the anchor of all locks */
+  if (exists("file_lock_list"))
+  {
+    lhP = (list_head_t *)file_lock_list;
+    flP = (struct file_lock *)lhP->next;
+    link_offset = (int)&flP->fl_link - (int)flP;
+    block_offset = (int)&flP->fl_block - (int)flP;
+
+    nLocks = 0;
+
+    /* Loop through the fl_link.next chain (circular) */
+    while (flP != lhP) {
+
+      /* Back-up to top of file_lock */
+      flP = (struct file_lock *) ((int)flP - link_offset);
+
+      /* Only show GPFS locks */
+      fsP = flP->fl_file->f_dentry->d_sb->s_type->name;
+      if (fsP[0] == 'g' && fsP[1] == 'p' && fsP[2] == 'f' && fsP[3] == 's') { 
+
+        if (!nLocks++) {
+          /* Header line */
+          printf("file_lock  maj:min    inode      pid  type      start        end\n");
+          printf("---------- ------- -------- -------- ----- ---------- ----------\n");
+        }
+
+        /* collect inode and dev to easily identify the file */
+        ino = flP->fl_file->f_dentry->d_inode->i_ino;
+        dev = flP->fl_file->f_dentry->d_inode->i_dev;
+
+        /* display some of the lock fields. */
+        printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d\n", 
+                flP, dev>>8, dev & 0xFF, ino, flP->fl_pid, 
+                flP->fl_type==0? "READ": (flP->fl_type==1? "WRITE":"?"),
+                flP->fl_start, flP->fl_end);  
+
+        /* Follow fl_block so we can match up "reclockSleepers" */
+        bhP = (list_head_t *)(&flP->fl_block);
+        blP = (struct file_lock *)bhP->next;
+
+        /* Loop through the fl_block.next chain (circular) */
+        while (blP != bhP) {
+
+          /* Back-up to top of file_lock */
+          blP = (struct file_lock *) ((int)blP - block_offset);
+
+          /* display some of the lock fields.  One line per lock. */
+          printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d waiting\n", 
+                  blP, dev>>8, dev & 0xFF, ino, blP->fl_pid, 
+                  blP->fl_type==0? "READ": (blP->fl_type==1? "WRITE":"?"),
+                  blP->fl_start, blP->fl_end);  
+
+          /* Move to the next file_lock in the block list. */
+          blockP = (list_head_t *)(&blP->fl_block);
+          blP = (struct file_lock *)blockP->next;
+        } /* Done with the fl_block chain. */
+
+      }
+      /* Move to the next file_lock in the fl_link list and continue. */
+      nextP = (list_head_t *)(&flP->fl_link);
+      flP = (struct file_lock *)nextP->next;
+    }
+  }
+  else
+  {
+    printf("The \"file_lock_list\" symbol cannot be found in this memory image.\n");
+    printf("Did you give lcrash a /var/mmfs/tmp/complete.map?\n");
+  }
+  return 0;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mmfs
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mmfs	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mmfs	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/mmfs
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mmfs-i386r
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mmfs-i386r	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/bin/mmfs-i386r	(revision 16)
@@ -0,0 +1,1 @@
+link /usr/lpp/mmfs/bin/mmfs-i386r
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/Imakefile	(revision 16)
@@ -0,0 +1,45 @@
+/* $Id: Imakefile,v 1.3 2006/11/01 16:50:31 kywang Exp $ */
+
+#ifndef SRC_BUILD
+DIRS = $(DESTDIR) \
+	$(DESTDIR)/data \
+	$(DESTDIR)/shark \
+	$(DESTDIR)/shark/config \
+	$(DESTDIR)/include \
+	$(DESTDIR)/lib \
+	$(DESTDIR)/bin \
+	$(DESTDIR)/messages
+#else
+IRULESRC = $(DESTDIR)/config
+
+DIRS = $(DESTDIR) \
+	$(DESTDIR)/shark \
+	$(DESTDIR)/shark/config \
+	$(DESTDIR)/include \
+	$(DESTDIR)/lib \
+	$(DESTDIR)/bin 
+#endif
+MkdirTarget($(DIRS))
+
+InstallFiles(site.mcr imake.tmpl, $(INSTINCFLAGS), $(DESTDIR)/shark/config)
+
+#ifndef SRC_BUILD
+config2:: install.ti
+	InstallFileToFile(depend.sh, $(INSTSHELLFLAGS), $(DESTDIR)/bin)
+#else
+InstallFileToFile(depend.sh, $(INSTSHELLFLAGS), $(DESTDIR)/bin)
+#endif
+
+/* Copy up the old site.mcr to this level from the config subdirectory */
+install.ti:: site.mcr
+
+#ifdef SRC_BUILD
+../makefile: ../Imakefile $(DESTDIR)/shark/config/imake.tmpl $(DESTDIR)/shark/config/site.mcr
+	@sh -c 'set -x; cd .. ; \
+	$(IMAKE) -Timake.tmpl -I$(DESTDIR)/shark/config -s makefile ; \
+	sleep 1; touch Imakefile ; \
+	$(MAKE) -f makefile makefile DESTDIR=$(DESTDIR)'
+#endif
+
+install.ti:: ../makefile
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/bootstrap
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/bootstrap	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/bootstrap	(revision 16)
@@ -0,0 +1,8 @@
+#!/bin/ksh
+# Making changes here?  Make them to the "bootstrap.osopen" file in
+# this directory, too.
+## ###################################################################### ##
+##        Copyright IBM 1993                                              ##
+## ###################################################################### ##
+
+imake -I. -s makefile -Timake.tmpl -DTOPDIR=. -DBOOTSTRAP
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/config.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/config.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/config.h	(revision 16)
@@ -0,0 +1,8 @@
+#ifndef _LINUX_CONFIG_H
+#define _LINUX_CONFIG_H
+/* This file is no longer in use and kept only for backward compatibility.
+ * autoconf.h is now included via -imacros on the commandline
+ */
+#include <linux/autoconf.h>
+
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/configure
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/configure	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/configure	(revision 16)
@@ -0,0 +1,573 @@
+#!/usr/bin/perl -w
+# IBM_PROLOG_BEGIN_TAG 
+# This is an automatically generated prolog. 
+#  
+#  
+#  
+# Licensed Materials - Property of IBM 
+#  
+# (C) COPYRIGHT International Business Machines Corp. 2005,2006 
+# All Rights Reserved 
+#  
+# US Government Users Restricted Rights - Use, duplication or 
+# disclosure restricted by GSA ADP Schedule Contract with IBM Corp. 
+#  
+# IBM_PROLOG_END_TAG 
+#-------------------------------------------------------------------------------
+# Items that may be overridden:
+#   - GPFS source location -- Does not require any knowledge of the system
+#                             configurable parameters.
+#   - OS Kernel headers    -- Does not necessarily preclude the automatically
+#     determined system configuration (but the implications of specifying them
+#     indicates a mismatch with automatically determinable items).
+#-------------------------------------------------------------------------------
+
+#-------------------------------------------------------------------------------
+# function: usage
+#
+# This function displays the usage for the auto-configuration program.
+#-------------------------------------------------------------------------------
+sub usage()
+{
+  # Obtain invoked program name
+  $program = `basename $0`;
+  chomp($program);
+
+  # Display full syntax description
+  print "\nUsage: ${program} [--help] [sharkcloneroot=<dir>]\n";
+  print "\nOptions:\n";
+  print "\n    --help";
+  print "\n           Display ${program} help and exit.\n";
+  print "\n    sharkcloneroot=<dir>";
+  print "\n           Specify the location of the source tree to configure.";
+  print "\n           If not specified, check the SHARKCLONEROOT environment";
+  print "\n           variable. If neither is specifiec, default to the GPL";
+  print "\n           source directory /usr/lpp/mmfs/src.\n";
+}
+
+#-------------------------------------------------------------------------------
+# function: get_OS
+#
+# This function determines the target Operating System.
+#-------------------------------------------------------------------------------
+sub get_OS()
+{
+  local ($os);
+  local ($gpfs_os);
+
+  $os = `uname`;
+  if ($os =~ "AIX")
+  {
+    $gpfs_os = "GPFS_AIX";
+  }
+  elsif ($os =~ "Linux")
+  {
+    $gpfs_os = "GPFS_LINUX";
+  }
+  else
+  {
+    $gpfs_os = "UNSUPPORTED";
+  }
+
+  return($gpfs_os);
+}
+
+#-------------------------------------------------------------------------------
+# function: get_Architecture
+#
+# This function determines the target hardware architecture.
+#-------------------------------------------------------------------------------
+sub get_Architecture()
+{
+  local ($arch);
+  local ($gpfs_arch);
+
+  $arch = `uname -m`;
+  if ($arch =~ /^ia64$/)
+  {
+    $gpfs_arch = "GPFS_ARCH_IA64";
+  }
+  elsif ($arch =~ /^i\d86$/)
+  {
+    $gpfs_arch = "GPFS_ARCH_I386";
+  }
+  elsif ($arch =~ /^ppc$/)
+  {
+    $gpfs_arch = "GPFS_ARCH_POWER";
+  }
+  elsif ($arch =~ /^ppc64$/)
+  {
+    $gpfs_arch = "GPFS_ARCH_PPC64";
+  }
+  elsif ($arch =~ /^x86_64$/)
+  {
+    $gpfs_arch = "GPFS_ARCH_X86_64";
+  }
+  else
+  {
+    $gpfs_arch = "UNSUPPORTED";
+  }
+
+  return($gpfs_arch);
+}
+
+#-------------------------------------------------------------------------------
+# function: get_DistValues
+#
+# This function determines the target Linux distribution values.
+#-------------------------------------------------------------------------------
+sub get_DistValues()
+{
+  local ($redhat_release, $suse_release);
+  local ($dist, $dist_level, $kernel_string);
+  local($version, $release, $modification, $fix);
+  local($modification_actual, $fix_actual);
+
+  local($kernel, $kernel_actual);
+
+  $suse_release = "/etc/SuSE-release";
+  $redhat_release = "/etc/redhat-release";
+
+  # Obtain the running kernel version string
+  $kernel_string = `uname -r`;
+  chomp($kernel_string);
+  if ($kernel_string =~ /([2])\.([46]).(\d+)(.*)$/)
+  {
+    # Obtain the version, release, modification and fix level. Also obtain
+    # the "actual" modification and fix values (full, unmodified numeric only
+    # values) required for SLES 9 kernel headers.
+    $version = $1;
+    $release = $2;
+    $modification_actual = $modification = $3;
+    $fix = $4;
+
+    if ($modification > 99)
+    {
+      # Reduce modification to two digits to fit format string.
+      $modification = 99;
+    }
+    if ($fix =~ /^.(\d+)([.-])(\d+)([.-])(\d+)/)
+    {
+      # Fix level utilizes a multi-numeric format "." or "-" separated.
+      $fix = $1;
+      $fix_actual = $1 . $2 . $3 . $4 . $5;
+    }
+    elsif ($fix =~ /^([.-])(\d+)([.-])(\d+)/)
+    {
+      # Fix level utilizes a multi-numeric format "." or "-" separated.
+      $fix = $2;
+      $fix_actual = $1 . $2 . $3 . $4;
+    }
+    elsif ($fix =~ /^-(\d+)/)
+    {
+      # Fix level utilizes a single-numeric format.
+      $fix_actual = $fix = $1;
+    }
+    else
+    {
+      # No fix level in format; assign one to fit format string.
+      $fix = "00";
+    }
+    if ($fix > 99)
+    {
+      # Reduce fix to two digits to fit format string.
+      $fix = 99;
+    }
+    $kernel = sprintf("%01d%02d%02d%02d", $version, $release, $modification,
+                         $fix);
+    $kernel_actual = sprintf("%d.%d.%d-%s", $version, $release,
+                                $modification_actual, $fix_actual);
+  }
+  else
+  {
+    die("Cannot parse kernel version $kernel_string\n");
+  } 
+
+  # DES: Fix this...if we do NOT do alternate configurations
+  # If the requested build is for the local machine, then we can determine the
+  # following information from local files. Otherwise, the user will have to
+  # provide that information.
+  if (-f $suse_release)
+  {
+    # SuSE Release
+    $dist = "SUSE_LINUX";
+    $dist_level = "80";
+    open(RELFILE, $suse_release) || die "Cannot open $suse_release";
+    LINE: while ($line = <RELFILE>)
+    {
+      if ($line =~ /VERSION = (\d+)/ )
+      {
+        $dist_version = $1;
+      }
+    }
+    close(RELFILE);
+
+    # Determine the kernel headers directory
+    $lib_mod_bld_dir = "/lib/modules/$kernel_string/build/include";
+    $lib_mod_src_dir = "/lib/modules/$kernel_string/source/include";
+    $usr_src_dir = "/usr/src/linux-$kernel_actual/include";
+    if ($dist_version eq "8" && (-f "$lib_mod_bld_dir/linux/version.h"))
+    {
+      $kernel_hdr_dir = $lib_mod_bld_dir;
+      # Build directory not required for the 2.4 kernel
+      $kernel_bld_dir = "";
+    }
+    elsif ($dist_version eq "9" && (-f "$lib_mod_src_dir/linux/version.h"))
+    {
+      $kernel_hdr_dir = $lib_mod_src_dir;
+      # Build directory for the linux 2.6 kernel
+      $kernel_bld_dir = "/lib/modules/$kernel_string/build";
+    }
+    elsif ($dist_version eq "9" && (-f "$usr_src_dir/linux/version.h"))
+    {
+      $kernel_hdr_dir = $usr_src_dir;
+      # cannot guess the value in this case - let the user specify this
+      $kernel_bld_dir = "";
+    }
+    elsif ($dist_version eq "10" && (-f "$lib_mod_src_dir/linux/version.h"))
+    {
+      $kernel_hdr_dir = $lib_mod_src_dir;
+      # cannot guess the value in this case - let the user specify this
+      $kernel_bld_dir = "/lib/modules/$kernel_string/build";
+    }
+    elsif ($dist_version eq "10" && (-f "$usr_src_dir/linux/version.h"))
+    {
+      $kernel_hdr_dir = $usr_src_dir;
+      # cannot guess the value in this case - let the user specify this
+      $kernel_bld_dir = "";
+    }
+    else
+    {
+      die ("Cannot find a valid kernel include dir\n");
+    }
+
+    # ensure that the source directory has the right autoconf.h and version.h
+    # copied to it.  Due to some distro bugs this may not always be the case.
+    if ($kernel_hdr_dir ne "" && $kernel_bld_dir ne "")
+    {
+      if (system("/usr/bin/diff -q $kernel_hdr_dir/linux/version.h $kernel_bld_dir/include/linux/version.h") != 0)
+      {
+         die("Kernel source tree does not have the correct version.h file.\n",
+             "See /usr/lpp/mmfs/src/README for further information\n");
+      }
+
+      if (system("/usr/bin/diff -q $kernel_hdr_dir/linux/autoconf.h $kernel_bld_dir/include/linux/autoconf.h") != 0)
+      {
+         die("Kernel source tree does not have the correct autoconf.h file.\n",
+             "See /usr/lpp/mmfs/src/README for further information\n");
+      }
+    }
+
+  }
+  elsif (-f $redhat_release)
+  {
+    # RedHat Release
+    open(RELFILE, $redhat_release) || die "Cannot open $redhat_release";
+    LINE: while ($line = <RELFILE>)
+    {
+      if ($line =~ /Red Hat Linux release (\S+)/ )
+      {
+        $dist = "REDHAT_LINUX";
+        $dist_level = $1 eq "9" ? "90" : "80";
+      }
+      elsif ($line =~ /Red Hat Enterprise Linux/ )
+      {
+        $dist = "REDHAT_AS_LINUX";
+        $dist_level = "80";
+      }
+    }
+    close(RELFILE);
+
+    # Determine the kernel headers directory
+    $lib_mod_dir = "/lib/modules/$kernel_string/build/include";
+    $usr_src_dir = "/usr/src/linux-$kernel_string/include";
+    if (-f "$lib_mod_dir/linux/version.h")
+    {
+      $kernel_hdr_dir = $lib_mod_dir;
+      $kernel_bld_dir = "/lib/modules/$kernel_string/build";
+    }
+    elsif (-f "$usr_src_dir/linux/version.h")
+    {
+      $kernel_hdr_dir = $usr_src_dir;
+      $kernel_bld_dir = "/usr/src/linux-$kernel_string";
+    }
+    else
+    {
+      die ("Cannot find a valid kernel include dir\n");
+    }
+  }
+  else
+  {
+    $dist = "UNSUPPORTED";
+    $dist_level = "UNSUPPORTED";
+    $kernel = "UNSUPPORTED";
+    $kernel_hdr_dir = "UNSUPPORTED";
+    $kernel_bld_dir = "UNSUPPORTED";
+  }
+
+  return($dist, $dist_level, $kernel, $kernel_hdr_dir, $kernel_bld_dir);
+}
+
+#-------------------------------------------------------------------------------
+# function: write_config
+#
+# This function writes the build configuration file, combining the template and
+# the supplied configuration values.
+#-------------------------------------------------------------------------------
+sub write_config()
+{
+  local ($os, $architecture, $dist, $dist_level, $kernel);
+  local ($kernel_hdr_dir, $template_dir);
+
+  $os = shift;
+  $architecture = shift;
+  $dist = shift;
+  $dist_level = shift;
+  $kernel = shift;
+  $kernel_hdr_dir = shift;
+  $kernel_bld_dir = shift;
+  $template_dir = shift;
+
+  # Open the template and build configuration files
+  open(TEMPLATE, "$template_dir/site.mcr.proto") ||
+    die "Unable to open template file $template_dir/site.mcr.proto\n";
+  open(CONFIG, ">$template_dir/site.mcr") ||
+    die "Unable to open configuration file $template_dir/site.mcr\n";
+
+  #-----------------------------
+  # Generate configuration file
+  #-----------------------------
+  foreach $line (<TEMPLATE>)
+  {
+    # Substitute variable fields in configuration file
+    if ($line =~ m/^#define GPFS_LINUX$/)
+    {
+       $line =~ s/GPFS_LINUX$/$os/;
+    }
+    elsif ($line =~ m/^#define GPFS_ARCH_I386$/)
+    {
+       $line =~ s/GPFS_ARCH_I386$/$architecture/;
+    }
+    elsif (($line =~ m/^LINUX_DISTRIBUTION = REDHAT_LINUX$/) && ($os eq "GPFS_LINUX"))
+    {
+       $line =~ s/REDHAT_LINUX$/$dist/;
+    }
+    elsif (($line =~ m/^#define LINUX_DISTRIBUTION_LEVEL 90$/) && ($os eq "GPFS_LINUX"))
+    {
+       $line =~ s/90$/$dist_level/;
+    }
+    elsif (($line =~ m/^#define LINUX_KERNEL_VERSION 2042028$/) && ($os eq "GPFS_LINUX"))
+    {
+       $line =~ s/2042028$/$kernel/;
+    }
+    elsif (($line =~ m/^KERNEL_HEADER_DIR = \/lib\/modules\/`uname -r`\/build\/include$/) && ($os eq "GPFS_LINUX"))
+    {
+       $line =~ s/\/lib\/modules\/`uname -r`\/build\/include$/$kernel_hdr_dir/;
+    }
+    elsif (($line =~ m/^KERNEL_BUILD_DIR = \/lib\/modules\/`uname -r`\/build$/) && ($os eq "GPFS_LINUX"))
+    {
+       $line =~ s/\/lib\/modules\/`uname -r`\/build$/$kernel_bld_dir/;
+    }
+    print CONFIG "$line";
+  }
+
+  # Close the template and configuration files.
+  close(TEMPLATE);
+  close(CONFIG);
+}
+
+#-------------------------------------------------------------------------------
+# function: configure
+#
+# This function obtains the full set of build configuration values, generating
+# the configuration file from the template.
+#-------------------------------------------------------------------------------
+sub configure()
+{
+  local ($architecture, $dist, $dist_level, $kernel, $kernel_hdr_dir, $os);
+  local ($sharkcloneroot, $template_dir);
+
+  # Obtain input parameters
+  $sharkcloneroot = shift;
+
+  #------------------------
+  # Verify source location
+  #------------------------
+  if ($sharkcloneroot =~ m/^[^\/]/)
+  {
+    # Source path not fully qualified
+    print STDERR "Source path not fully qualified: $sharkcloneroot\n";
+    return(-1);
+  }
+
+  #----------------------------------------------------------------
+  # Verify build type (GPL or development) from template location.
+  #----------------------------------------------------------------
+  if (-e "$sharkcloneroot/config/site.mcr.proto")
+  {
+    $template_dir = "$sharkcloneroot/config";
+  }
+  elsif (-e "$sharkcloneroot/shark-config/site.mcr.proto")
+  {
+    $template_dir = "$sharkcloneroot/shark-config";
+  }
+  else
+  {
+    print STDERR "Missing or incomplete source at: $sharkcloneroot\n";
+    return(-1);
+  }
+
+  #-------------------------
+  # Determine the target OS
+  #-------------------------
+  $os = get_OS();
+  if ($os eq "GPFS_LINUX")
+  {
+    #---------------------------------------
+    # Determine Linux specific settings
+    #---------------------------------------
+
+    # Determine the Architecture
+    $architecture = get_Architecture();
+    if ($architecture eq "UNSUPPORTED")
+    {
+      print STDERR "Unsupported Architecture: $architecture\n";
+      $rc = -1;
+      return($rc);
+    }
+
+    # Determine the Distribution, Kernel, Kern Header Directory
+    ($dist, $dist_level, $kernel, $kernel_hdr_dir, $kernel_bld_dir) = get_DistValues();
+    if ($dist eq "UNSUPPORTED")
+    {
+      print STDERR "Unsupported Distribution: $dist\n";
+      $rc = -1;
+      return($rc);
+    }
+    if ($dist_level eq "UNSUPPORTED")
+    {
+      print STDERR "Unsupported Distribution Level: $dist_level\n";
+      $rc = -1;
+      return($rc);
+    }
+  }
+  elsif ($os eq "GPFS_AIX")
+  {
+    #---------------------------------
+    # Determine AIX specific settings
+    #
+    # NOTE: Only require architecture
+    #---------------------------------
+
+    $architecture = "GPFS_ARCH_POWER";
+  }
+  else
+  {
+    #------------------------------
+    # Unsupported Operating System
+    #------------------------------
+
+    print STDERR "Unsupported Operating System: $os\n";
+    $rc = -1;
+    exit($rc);
+  }
+
+  # If we have gotten to this point without an error occurrence, then process
+  # the site.mcr.proto and write a site.mcr file for the source code build.
+  if ($rc eq 0)
+  {
+    &write_config($os, $architecture, $dist, $dist_level, $kernel,
+                  $kernel_hdr_dir, $kernel_bld_dir, $template_dir);
+  }
+
+  return(0);
+}
+
+#-------------------------------------------------------------------------------
+# Main program
+#-------------------------------------------------------------------------------
+
+# Initialize utility variables
+$rc = 0;
+
+# Initialize core variables
+$sharkcloneroot = undef;
+
+# Process command-line arguments
+foreach $arg (sort @ARGV)
+{
+  if ($arg =~ m/^-/)
+  {
+    # Option specified
+    if ($arg eq "--help")
+    {
+      # Help requested ==> Display usage, exit success
+      usage();
+      exit(0);
+    }
+    else
+    {
+      # Unknown option ==> Display usage, exit failure
+      usage();
+      exit(1);
+    }
+  }
+  else
+  {
+    # Attribute/value pair specified
+    ($attr, $value) = split("=", $arg);
+    if ($attr eq "sharkcloneroot")
+    {
+      # Source override specified
+      if (!$sharkcloneroot)
+      {
+        $sharkcloneroot = $value;
+      }
+      else
+      {
+###     prtMsg(36, "source");
+        usage();
+        exit(1);
+      }
+    }
+    else
+    {
+      # Invalid override
+      print STDERR "Invalid override: $attr\n";
+      usage();
+      exit(1);
+    }
+  }
+}
+
+#--------------------------------------
+# Assign program defaults as necessary
+#--------------------------------------
+
+# Define the source directory. The default value may be overridden with the
+# following priority utilized:
+#     1) sharkcloneroot attribute setting supplied via command line
+#     2) SHARKCLONEROOT environment variable
+#     3) /usr/lpp/mmfs/bin default
+if (!$sharkcloneroot)
+{
+  # sharkcloneroot attribute unspecified
+  if (defined $ENV{SHARKCLONEROOT})
+  {
+    # SHARKCLONEROOT environment variable specified
+    $sharkcloneroot = $ENV{SHARKCLONEROOT};
+  }
+  else
+  {
+    # SHARKCLONEROOT environment variable unspecified
+    $sharkcloneroot = "/usr/lpp/mmfs/src";
+  }
+}
+
+#----------------------------------------------------------
+# Process the configuration; Return success/failure status
+#----------------------------------------------------------
+$rc = &configure($sharkcloneroot);
+exit($rc);
+
+#-------------------------------------------------------------------------------
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/depend.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/depend.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/depend.sh	(revision 16)
@@ -0,0 +1,136 @@
+#!/bin/ksh
+# $Id: depend.sh,v 1.10.16.2 2006/10/06 22:33:17 yuri Exp $
+## ###################################################################### ##
+##        Copyright IBM 1993                                              ##
+## ###################################################################### ##
+
+#set nonomatch
+################################################
+if [ $# -lt 2 ] || [ $# -gt 5 ]; then
+  echo 'usage: depends $DEPEND $INCLUDES [$DEFINES [$KDEFINES [$PKDEFINES]]]'
+  exit 1
+fi
+################################################
+DEPEND="$1"
+INCLUDES="$2"
+DEFINES="$3"
+KDEFINES="$4"
+PKDEFINES="$5"
+
+################################################
+CFILES=$(/bin/ls *.[cC])
+if [ "$CFILES" = "" ]; then
+  echo "No Dependencies to Check ...continuing...."
+  exit 0
+fi
+################################################
+CDEPENDS=/tmp/Dep1_$$
+DEPENDERR=/tmp/Dep2_$$
+DEPENDS=.depends
+################################################
+
+# make backup copy of makefile and remove old dependencies
+mv makefile makefile.BAK
+sed -n -e '1,/##### DEPENDENCY LINE - DO NOT DELETE #####/p' makefile.BAK > makefile
+
+# run the compiler with option to generate dependencies
+# output goes into $CDEPENDS, error messages go into $DEPENDERR
+if [[ $DEFINES = *GPFS_LINUX* ]]
+then
+   rm -f *.d >/dev/null 2>&1
+   $DEPEND -w -MD -E >/dev/null $DEFINES $INCLUDES $CFILES 2> $DEPENDERR
+   echo "" > $CDEPENDS
+   cat *.d >> $CDEPENDS
+   rm -f *.d >/dev/null 2>&1
+else
+   rm -f *.u >/dev/null 2>&1
+   $DEPEND -qonce -M -E >/dev/null $DEFINES $INCLUDES $CFILES 2> $DEPENDERR
+   echo "" > $CDEPENDS
+   cat *.u >> $CDEPENDS
+   rm -f *.u >/dev/null 2>&1
+fi
+
+# show error messages, but filter out certain uninteresting messages
+fgrep -v -e 'unknown directive == "#error' \
+         -e 'Option lm is not valid' \
+         -e 'Suboption compat is not valid for option langlvl' $DEPENDERR
+
+# Copy output to $DEPENDS
+"cp" $CDEPENDS $DEPENDS
+
+# remove temporary output files
+for i in $CDEPENDS $DEPENDERR
+do
+  rm -f $i $i.bak
+done
+
+# If $KDEFINES is non-empty, certain files need to be compiled
+# twice: once without and once with $KDEFINES to generate .ko file to
+# be linked into kernel code.  If this is the case, we need to generate
+# dependencies for the .ko files.
+if [[ "$KDEFINES" != "" ]]
+then
+  # generate dependencies with $KDEFINES
+  if [[ $DEFINES = *GPFS_LINUX* ]]; then
+    rm -f *.d >/dev/null 2>&1
+    $DEPEND -w -MD -E >/dev/null $KDEFINES $INCLUDES $CFILES 2> $DEPENDERR
+    echo "" > $CDEPENDS
+    cat *.d >> $CDEPENDS
+    rm -f *.d >/dev/null 2>&1
+  else
+    rm -f *.u >/dev/null 2>&1
+    $DEPEND -qonce -M -E >/dev/null $KDEFINES $INCLUDES $CFILES 2> $DEPENDERR
+    echo "" > $CDEPENDS
+    cat *.u >> $CDEPENDS
+    rm -f *.u >/dev/null 2>&1
+  fi
+
+  # show error messages, but filter out certain uninteresting messages
+  fgrep -v -e 'unknown directive == "#error' \
+           -e 'Suboption compat is not valid for option langlvl' $DEPENDERR
+
+  # Append output to $DEPENDS, but change ".o:" to ".ko:"
+  sed -e 's/\.o:/.ko:/g' $CDEPENDS >> $DEPENDS
+
+  # remove temporary output files
+  for i in $CDEPENDS $DEPENDERR
+  do
+    rm -f $i $i.bak
+  done
+fi
+
+# On Linux, if $PKDEFINES is non-empty, also generate dependencies
+# for .pko files.
+if [[ "$PKDEFINES" != "" ]]
+then
+  # generate dependencies with $KDEFINES and $PKDEFINES
+  if [[ $DEFINES = *GPFS_LINUX* ]]; then
+    rm -f *.d >/dev/null 2>&1
+    $DEPEND -w -MD -E >/dev/null $KDEFINES $PKDEFINES $INCLUDES $CFILES 2> $DEPENDERR
+    echo "" > $CDEPENDS
+    cat *.d >> $CDEPENDS
+    rm -f *.d >/dev/null 2>&1
+  else
+    rm -f *.u >/dev/null 2>&1
+    $DEPEND -qonce -M -E >/dev/null $PKDEFINES $INCLUDES $CFILES 2> $DEPENDERR
+    echo "" > $CDEPENDS
+    cat *.u >> $CDEPENDS
+    rm -f *.u >/dev/null 2>&1
+  fi
+
+  # show error messages, but filter out certain uninteresting messages
+  fgrep -v -e 'unknown directive == "#error' \
+           -e 'Suboption compat is not valid for option langlvl' $DEPENDERR
+
+  # Append output to $DEPENDS, but change ".o:" to ".pko:"
+  sed -e 's/\.o:/.pko:/g' $CDEPENDS >> $DEPENDS
+
+  # remove temporary output files
+  for i in $CDEPENDS $DEPENDERR
+  do
+    rm -f $i $i.bak
+  done
+fi
+
+# append all the dependencies to the makefile
+cat $DEPENDS >> makefile
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/imake.tmpl
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/imake.tmpl	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/imake.tmpl	(revision 16)
@@ -0,0 +1,914 @@
+#define XCOMM #
+#define _POUND_ #
+_POUND_ $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+_POUND_==================================================
+_POUND_ Copyright IBM 1993
+_POUND_==================================================
+
+_POUND_##################################################
+_POUND_ This makefile is automatically generated by
+_POUND_ imake... do not modify or you may lose your
+_POUND_ changes when imake generates makefiles again.
+_POUND_ Ignore this message if you are not using imake.
+_POUND_##################################################
+
+/* On Linux, the imake that comes with X11 defines "linux" to be "1".
+   This causes problems because the word "linux" appears in several
+   directory names (e.g., /usr/include/linux, ts/kernext/gpl-linux).
+   If "linux" is defined, undefine it and define "LINUX_IMAKE" instead. */
+#ifdef linux
+#undef linux
+#define LINUX_IMAKE 1
+#endif
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+#ifdef LINUX_IMAKE
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+/* CC = egcs */
+/* C_COMP = egcs */
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+#else /* LINUX_IMAKE */
+IMAKE = $(TOOLDIR)/imake
+CC = xlC_r
+C_COMP = cc_r
+INSTALL = /usr/ucb/install
+AR = ar -clq
+KAR = $(AR)
+ARDEL = ar -d
+MAKEDEPEND = xlC_r
+CPLUSINC = -I/usr/lpp/xlC/include
+#endif
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+/* Default flags for supplemental patches that must be applied to select
+   portions of the code, which are not part of the standard kernel patching.
+   These flags can be modified in individual Imakefiles if multiple
+   supplemental patches are required (by setting flags *before* ObjectRule). */
+PATCHED_KERNEL_FLAGS = 
+
+/* Default location for cxi header files */
+CXI_HEADER_DIR = $(DESTDIR)/include
+#ifdef LINUX_IMAKE
+/* For Linux we want cxi headers separated from proprietary headers */
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+#endif /* LINUX_IMAKE */
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+#ifdef LINUX_IMAKE
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS = 
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+#else
+STD_CFLAGS = -qtbtable=full -qinfo=gen:ret:uni:ini $(EXTRASTD_CFLAGS)
+STD_LDFLAGS = -qtwolink $(EXTRASTD_LDFLAGS)
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+ARFLAGS = $(EXTRAARFLAGS)
+KARFLAGS = $(EXTRAARFLAGS)
+M4FLAGS = $(EXTRAM4FLAGS)
+ASFLAGS = $(EXTRAASFLAGS)
+CFLAGS32 = -q32 
+CFLAGS64 = -q64 -qlargetype
+#endif
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+/* Override above to empty for gnumake */
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+_POUND_ Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+_POUND_##################################################
+_POUND_ The following comes from the site.mcr
+_POUND_##################################################
+#include <site.mcr>
+_POUND_##################################################
+_POUND_ Back from site.mcr
+_POUND_##################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+/* ***************************************************************** *\
+ * shark.rls - macro (rules) for Imakefiles
+\* ***************************************************************** */
+
+/* ***************************************************************** *\
+ * Standard Compilation Rules
+\* ***************************************************************** */
+
+/***************************************************
+ * 	Export:
+ *		AppendFiles()
+ *		CleanTarget()
+ *		CppAndFilter()
+ *		DependTarget()
+ *		SharedObjectTarget()
+ *		LibraryTarget()
+ *		MkdirTarget()
+ *		NormalAsmPPRule()
+ *		NormalAsmRule()
+ *		NormalLexRule()
+ *		NativeObjectRule()
+ *		NormalObjectRule()
+ *		SharedObjectRule(shflags)
+ *		NormalYaccRule()
+ *		NidlTarget()
+ *		NativeProgramTarget()
+ *		ProgramTarget()
+ *		CProgramTarget()
+ *		TestProgramTarget()
+ *		TestingOnlyTestingRule()
+ *              MsgTarget()
+ ***************************************************/
+
+/* Linux hack to reset header include search paths for portability layer so
+   that we only try to include portability and cxi header files from GPFS */
+#ifdef GPFS_LINUX
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+#define SetGplIncludePath()                             @@\
+STD_KINCLUDES = -I$(CXI_HEADER_DIR) -I$(GPL_HEADER_DIR) -I$(KERNEL_HEADER_DIR)
+
+/* Try to catch dumb mistakes in building portability layer.  Skip the check
+   if LINUX_SKIP_DIST_CHECK is defined. */
+#define CheckLinuxDistribution()
+#ifndef LINUX_SKIP_DIST_CHECK
+Headers:: @@\
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \ @@\
+	  if [ ! -f /etc/redhat-release ]; then \ @@\
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \ @@\
+	  else \ @@\
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \ @@\
+	    if [ "$$rhreltype" = "Enterprise" ]; then \ @@\
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \ @@\
+	    fi; \ @@\
+	  fi; \ @@\
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \ @@\
+	  if [ ! -f /etc/redhat-release ]; then \ @@\
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \ @@\
+	  else \ @@\
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \ @@\
+	    if [ "$$rhreltype" != "Enterprise" ]; then \ @@\
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \ @@\
+	    fi; \ @@\
+	  fi; \ @@\
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \ @@\
+	  if [ ! -f /etc/SuSE-release ]; then \ @@\
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \ @@\
+	  fi; \ @@\
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \ @@\
+	  echo "This is OK" > /dev/null; \ @@\
+	else \ @@\
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \ @@\
+	fi;
+#endif /* LINUX_SKIP_DIST_CHECK */
+#endif /* GPFS_LINUX */
+
+#define NativeObjectRule()                              @@\
+.C.o:                                                   @@\
+	$(RM) $@                                        @@\
+	$(NATIVE_CC) -c $(NATIVECFLAGS) $*.C            @@\
+.c.o:                                                   @@\
+	$(RM) $@                                        @@\
+	$(NATIVE_C_COMP) -c $(NATIVECFLAGS) $*.c
+
+#define LinuxKernelObjectRule()				@@\
+.c.ko:                                                  @@\
+	$(RM) $@                                        @@\
+	$(C_COMP) -o $@ -c $(KCFLAGS) $*.c            
+
+#define NormalObjectRule()				@@\
+.C.o:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -c $(CFLAGS) $*.C				@@\
+.C.32o:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -c $(CFLAGS) $(CFLAGS32) $*.C -o $*.32o	@@\
+.C.64o:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -c $(CFLAGS) $(CFLAGS64) $*.C -o $*.64o   @@\
+.c.o:							@@\
+	$(RM) $@ 					@@\
+	$(C_COMP) -c $(CFLAGS) $*.c			@@\
+.c.32o:							@@\
+	$(RM) $@ 					@@\
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS32) $*.c -o $*.32o	@@\
+.c.64o:							@@\
+	$(RM) $@ 					@@\
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS64) $*.c	-o $*.64o	@@\
+LinuxKernelObjectRule()				@@\
+.C.ko:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -o $@ -c $(KCFLAGS) $*.C        		@@\
+.S.o:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -o $@ -c $(CFLAGS) $*.S                   @@\
+.S.ko:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -o $@ -c $(KCFLAGS) $*.S            	@@\
+.c.pko:							@@\
+	$(RM) $@ 					@@\
+	$(C_COMP) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.c	@@\
+.C.pko:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.C	@@\
+.rpc.h:							@@\
+	$(MKRPC) $*.rpc
+
+
+#define SharedObjectRule(shflags)				@@\
+.C.o:								@@\
+	$(RM) $@ 						@@\
+	$(CC) -c $(CFLAGS) shflags $*.C				@@\
+.c.o:								@@\
+	$(RM) $@ 						@@\
+	$(C_COMP) -c $(CFLAGS) shflags $*.c			@@\
+.c.ko:								@@\
+	$(RM) $@ 						@@\
+	$(C_COMP) -o $@ -c $(KCFLAGS) shflags $*.c		@@\
+.C.ko:								@@\
+	$(RM) $@ 						@@\
+	$(CC) -o $@ -c $(KCFLAGS) shflags $*.C        		@@\
+.S.o:								@@\
+	$(RM) $@ 						@@\
+	$(CC) -o $@ -c $(CFLAGS) shflags $*.S                   @@\
+.S.ko:								@@\
+	$(RM) $@ 						@@\
+	$(CC) -o $@ -c $(KCFLAGS) shflags $*.S
+
+#define	NormalYaccRule()				@@\
+.y.o:							@@\
+	$(YACC) $(YFLAGS) $<				@@\
+	$(MV) y.tab.c $*.c				@@\
+	$(NATIVE_C_COMP) -c ${NATIVECFLAGS} $*.c	@@\
+	$(RM) $*.c					@@\
+	[ -f y.tab.h ] && $(MV) -f y.tab.h $*.h
+
+
+#define	NormalAsmPPRule()				@@\
+.spp.o:							@@\
+	$(RM) $@ ,$*.s ,$*.c				@@\
+	$(CP) $*.spp ,$*.c				@@\
+	$(C_COMP) -E $(CFLAGS)  ,$*.c > ,$*.s		@@\
+	$(AS) -o $*.o ,$*.s				@@\
+	$(RM) ,$*.c ,$*.s
+
+
+#define	NormalLexRule()					@@\
+.l.o:							@@\
+	$(LEX) $*.l					@@\
+	$(RM) $*.c					@@\
+	$(MV) lex.yy.c $*.c				@@\
+	$(C_COMP) -c $(CFLAGS) $*.c			@@\
+	$(RM) $*.c
+
+
+#define	NormalAsmRule()					@@\
+.s.o:							@@\
+	$(RM) $@					@@\
+	$(AS) -o $*.o $*.s
+
+#define SharkAsmRule()					@@\
+.s.o:							@@\
+	$(RM) $@					@@\
+	m4 $(M4FLAGS) $(ALL_DEFINES) -I/usr/include /usr/include/sys/asdef.s $*.s | as $(ASFLAGS) -o $*.o
+
+#define	ShellScriptRule(File)				@@\
+.sh:							@@\
+	cp $< $@; chmod 0777 $@
+
+#define RpmRule(rpmfile, specfile, imagetree, rpmflags)		@@\
+rpm:: rpmfile						@@\
+rpmfile: specfile					@@\
+	$(RM) rpmfile					@@\
+	if [ -e imagetree ]; then \			@@\
+		$(RM) -r imagetree; \			@@\
+	fi;						@@\
+	[ -e $(RPMBUILD) ] && rpmbuild=$(RPMBUILD) || rpmbuild=rpm; \@@\
+	$$rpmbuild -ba rpmflags --buildroot imagetree specfile
+
+#define CppAndFilter(file, lyfile, incfiles, filter)	@@\
+file: lyfile incfiles					@@\
+	$(RM) file					@@\
+	$(CPP) lyfile | filter > file
+
+#define AppendFiles(target, sources)			@@\
+target: sources						@@\
+	$(RM) target					@@\
+	cat sources > target
+
+#define TestingOnlyTestingRule(libs, syslibs)			@@\
+.SUFFIXES: .test						@@\
+.c.test:							@@\
+	$(RM) $@						@@\
+	$(C_COMP) $(TESTING_CFLAGS) -o $*.test $*.c libs syslibs	@@\
+	$(RM) $*.o						@@\
+clean:: ; $(RM) *.test
+
+#define	LibraryTarget(library, objs)			@@\
+libs:: library						@@\
+library: objs						@@\
+	$(RM) $@					@@\
+	$(AR) $(ARFLAGS) $@ objs
+
+#define	kLibraryTarget(library, objs)			@@\
+libs:: library						@@\
+library: objs						@@\
+	$(RM) $@					@@\
+	$(KAR) $(KARFLAGS) $@ objs
+
+#ifndef GPFS_LINUX
+#define SharedObjectTarget(shared, objs, imps, exps, other)	@@\
+shared: objs imps exps					@@\
+	$(RM) $@					@@\
+	@ IMPS= ; EXPS= ; COL=\: ; \			@@\
+	  for i in imps ; \				@@\
+	    do IMPS="$${IMPS} -bI$${COL}$${i}" ; \	@@\
+	  done; \					@@\
+	  for i in exps ; \				@@\
+	    do EXPS="$${EXPS} -bE$${COL}$${i}" ; \	@@\
+	  done; \					@@\
+	echo "	ld -o $@ objs $(LDFLAGS2) -bnoentry -bM\:SRE $${IMPS} $${EXPS} other" ; \ @@\
+	ld -o $@ objs $(LDFLAGS2) -bnoentry -bM\:SRE $${IMPS} $${EXPS} other
+#else   /* GPFS_LINUX */
+#define SharedObjectTarget(shared_obj, objs, other)	@@\
+libs:: shared_obj					@@\
+shared_obj: objs					@@\
+	$(RM) $@					@@\
+	echo "  $(BARELD) $(LDFLAGS2) -o $@ objs --shared other" ;	\	@@\
+	$(BARELD) $(LDFLAGS2) -o $@ objs --shared other
+#endif  /* GPFS_LINUX */
+
+
+#define	TestProgramTarget(program, objs, libs, syslibs)	@@\
+test:: program						@@\
+program: objs libs					@@\
+	$(RM) $@					@@\
+	$(LD) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs	@@\
+cleanTest:: ; $(RM) program objs			@@\
+clean:: ; $(RM) program
+
+#ifndef GPFS_LINUX
+#define	MsgTarget(basename)                             @@\
+headers:: basename/**/_msg.h 				@@\
+basename/**/_msg.h: basename.msg          		@@\
+	$(RM) basename/**/_msg.h			@@\
+	mkcatdefs basename basename.msg | gencat $(DESTDIR)/mmfs.cat	@@\
+clean:: ; $(RM) basename/**/_msg.h
+#else
+#define	MsgTarget(basename)                             @@\
+headers:: basename/**/_msg.h 				@@\
+basename/**/_msg.h: basename.msg          		@@\
+	$(RM) basename/**/_msg.h			@@\
+	gencat -H basename/**/_tmp.h -o $(DESTDIR)/mmfs.cat basename/**/.msg @@\
+	sed "s/AutomaticSet[0-9]*/ /" basename/**/_tmp.h > basename/**/_msg.h @@\
+	$(RM) basename/**/_tmp.h			@@\
+clean:: ; $(RM) basename/**/_msg.h
+#endif
+
+#define	ShellMsgTarget(basename)			@@\
+headers:: basename/**/_msg.h 				@@\
+basename/**/_msg.h:: basename.msg          		@@\
+	$(RM) basename/**/_msg.h			@@\
+	mkcatdefs basename basename.msg -h | gencat $(DESTDIR)/mmfs.cat	@@\
+basename/**/_msg.h:: basename.msg          		@@\
+	touch basename/**/_msg.h			@@\
+clean:: ; $(RM) basename/**/_msg.h
+
+#define TraceTarget(basename,files)                     @@\
+trcid: files                                            @@\
+	$(MKTRACE) -hm files                            @@\
+trclst:: basename.trclst                                @@\
+basename.trclst: files trcid.h                          @@\
+	$(RM) basename.trclst                           @@\
+	$(MKTRACE) -l basename.trclst files             @@\
+clean:: ; $(RM) basename.trclst
+
+#define RpcTarget(target)                               @@\
+target.h: target.rpc
+
+#define NidlTarget(basename)				@@\
+libs:: basename.h					@@\
+depend:: basename.h					@@\
+basename.h: basename.idl				@@\
+	$(NIDL) basename.idl $(NIDLINCLUDES) -no_cpp	@@\
+clean::							@@\
+	$(RM) basename.h				@@\
+	@(for i in basename; do \			@@\
+	echo "	"$(RM) $${i}C.c $${i}S.c $${i}W.c; \	@@\
+	$(RM) $${i}C.c $${i}S.c $${i}W.c; \		@@\
+	done)
+
+
+#define NativeProgramTarget(program, objs, libs, syslibs)     @@\
+all:: program                                           @@\
+program: objs libs                                      @@\
+	$(RM) $@                                        @@\
+	$(NATIVE_LD) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs    @@\
+clean:: ; $(RM) program
+ 
+#define	ProgramTarget(program, objs, libs, syslibs)	@@\
+all:: program						@@\
+program: objs libs					@@\
+	$(RM) $@					@@\
+	$(LD) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs	 @@\
+clean:: ; $(RM) program
+
+#define	CProgramTarget(program, objs, libs, syslibs)	@@\
+all:: program						@@\
+program: objs libs					@@\
+	$(RM) $@					@@\
+	$(C_COMP) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs	@@\
+clean:: ; $(RM) program
+
+#define	CTestProgramTarget(program, objs, libs, syslibs)	@@\
+test:: program						@@\
+program: objs libs					@@\
+	$(RM) $@					@@\
+	$(C_COMP) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs	@@\
+clean:: ; $(RM) program
+
+#define	CleanTarget(files)				@@\
+clean:: ; $(RM) files
+
+#define MkdirTarget(dirs)				@@\
+install.ti:: makedirs					@@\
+	@echo '\c'					@@\
+install.he:: makedirs					@@\
+	@echo '\c'					@@\
+makedirs::						@@\
+	@echo "Checking Destination Directories...."	@@\
+	@sh -c 'for i in dirs;  do  \			@@\
+		if [ -f $$i ]; then  \			@@\
+			echo "Mkdir: $$i is a FILE"; \	@@\
+			exit 1; \			@@\
+		elif [ ! -d $$i ]; then  \		@@\
+			echo "Making directory $$i"; \	@@\
+			mkdir -p $$i; \			@@\
+		fi; \					@@\
+	done; \						@@\
+	exit 0'
+
+#define	DependTarget(dependencies)			@@\
+depend:: dependencies					@@\
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \			@@\
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES)"
+/* -I/ added to circumvent grossness of makedepend */
+
+#define	DependTargetK(dependencies)			@@\
+depend:: dependencies					@@\
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \			@@\
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES)" "$(ALL_KDEFINES)"
+/* -I/ added to circumvent grossness of makedepend */
+
+#define	DependTargetPK(dependencies)			@@\
+depend:: dependencies					@@\
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \			@@\
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES) -D__KERNEL__" "$(ALL_KDEFINES) -D__KERNEL__" "$(PATCHED_KERNEL_FLAGS) -D__KERNEL__"
+
+/*
+ *==================================================
+ * Installation rules
+ *==================================================
+ * Exported rules:
+ *	InstallDocs()
+ *	InstallFileToFile()
+ *	InstallFiles()
+ *	InstallHeaders()
+ *	InstallPatchedHeaders()
+ *	InstallHardLink()
+ *	InstallLibraries()
+ *	InstallLink()
+ *	InstallPrograms()
+ *==================================================
+ */
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+#define InstallFiles(files, mode, dest)				@@\
+install.ti:: files						@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \	@@\
+        changed="$?"; \	  					@@\
+	for i in $$changed; do \				@@\
+		(set -x; $(INSTALL) mode $$i dest/$$i) done)
+
+#define InstallHeaders(files, dest)				@@\
+install.he:: files						@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \	@@\
+        changed="$?"; \						@@\
+	for i in $$changed; do \				@@\
+		(set -x; $(INSTALL) $(INSTINCFLAGS) $$i dest/$$i) done)
+
+#define InstallPatchedHeaders(files, src, dest)				@@\
+install.he:: files							@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \		@@\
+	changed="$?"; \							@@\
+	for i in $$changed; do \					@@\
+		($(PATCHSCRIPT) src dest $$i) done)
+
+#define InstallLibraries(libs, dest)				@@\
+library.ti:: libs						@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \	@@\
+        changed="$?"; \						@@\
+	for i in $$changed; do \				@@\
+		(set -x; \					@@\
+		$(INSTALL) $(INSTLIBFLAGS) $$i dest/$$i ) done)
+
+#define InstallFileToFile(file, mode, destfile)			@@\
+install.ti:: file						@@\
+	$(INSTALL) mode file destfile
+
+#define ShipSupport(Destination)				@@\
+shipSupport:: $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)/Destination	@@\
+$(SHIP_ROOT)/usr/lpp/$(LPP_NAME)/Destination: $(@F)		@@\
+	[ -d $(@D) ] || mkdir -p $(@D)				@@\
+	cp $(@F) $@						@@\
+								@@\
+unshipSupport::							@@\
+	rm -f $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)/Destination
+
+#define ShipFile(Destination,SourceFile,ProdName,Type,Owner,Group,Mode,Class,Size,CheckSum,Links,SymLinks,Program,Source,Acl,Xacl)	@@\
+shipFile:: $(SHIP_ROOT)/Destination			@@\
+$(SHIP_ROOT)/Destination:: SourceFile			@@\
+	@[ -d $(@D) ] || mkdir -p $(@D)			@@\
+	@([ -z "ProdName" ] && prodname=$(LOCAL_PROD_NAME) ||\ @@\
+		prodname=ProdName ;\			@@\
+	[ -n "Type" ] && type=Type || type="$(SHIP_TYPE)" ;\ @@\
+	[ -n "Owner" ] && owner=Owner || owner="$(SHIP_OWNER)";\ @@\
+	[ -n "Group" ] && group=Group || group="$(SHIP_GROUP)" ;\ @@\
+	[ -n "Mode" ] && mode=Mode || mode=555 ;\	@@\
+        [ -n "Class" ] && class_inv="Class" || class_inv="$(SHIP_CLASS)" ;\ @@\
+	[ "Type" = "DIRECTORY" ] && mkdir -p $(SHIP_ROOT)/Destination ; \ @@\
+	[ -z "SourceFile" ] || $(SHIP_CMD) -o $$owner -g $$group -m $$mode SourceFile $@ ;\ @@\
+        echo "\tShipping Destination ($$prodname)" ; \	@@\
+	[ -d $(SHIPDIR) ] || mkdir -p $(SHIPDIR) ; \	@@\
+	touch $(SHIPDIR)/$$prodname.il ||\		@@\
+        (echo "\nERROR: Failed to create file SHIPDIR/usr/lpp/$(LPP_NAME)/$$prodname.il" && exit 1) ;\					@@\
+        echo "Destination:" >> $(SHIPDIR)/$$prodname.il ;\ @@\
+        echo "\ttype = $$type" >> $(SHIPDIR)/$$prodname.il ;\ @@\
+        echo "\towner = $$owner" >> $(SHIPDIR)/$$prodname.il ;\ @@\
+        echo "\tgroup = $$group" >> $(SHIPDIR)/$$prodname.il ;\ @@\
+	if [ $$mode -gt 999 ] ; then \			@@\
+		if [ $$mode -ge 4000 -a $$mode -le 4999 ] ; then \ @@\
+			echo "\tmode = SUID,`expr $$mode - 4000`" >> \	@@\
+				$(SHIPDIR)/$$prodname.il ;\ @@\
+		elif [ $$mode -ge 2000 -a $$mode -le 2999 ] ; then \ @@\
+			echo "\tmode = SGID,`expr $$mode - 2000`" >> \	@@\
+				$(SHIPDIR)/$$prodname.il ;\ @@\
+		else \					@@\
+			( echo "\nERROR: Unrecognized mode value $$mode" && exit 1 ); \			@@\
+		fi \					@@\
+	else \						@@\
+		echo "\tmode = $$mode" >> $(SHIPDIR)/$$prodname.il ;\	@@\
+	fi ; \						@@\
+	if [ "Type" != "DIRECTORY" ] ; then \		@@\
+		echo "\tclass = inventory,$$class_inv,$${prodname}" >> \ @@\
+			$(SHIPDIR)/$$prodname.il ;\		@@\
+		[ -z "Size" ] && echo "\tsize = `cksum < $@ | \	@@\
+		   /bin/awk '{print $$2}'`" >> $(SHIPDIR)/$$prodname.il || \ @@\
+		   echo "\tsize = Size" >> $(SHIPDIR)/$$prodname.il ; \ @@\
+	else \							@@\
+        	echo "\tclass = $$class_inv,$${prodname}" >> \ @@\
+			$(SHIPDIR)/$$prodname.il ;\		@@\
+	fi ;\					@@\
+        [ -n "CheckSum" ] && echo "\tchecksum = CheckSum" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -z "CheckSum" -a \( "Size" = "VOLATILE" \) ] && echo "\tchecksum = VOLATILE" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Links" ] && echo "\tlinks = Links" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "SymLinks" ] && echo "\tsymlinks = SymLinks" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Program" ] && echo "\tprogram = Program" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Source" ] && echo "\tsource = Source\n" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Acl" ] && echo "\tacl = Acl\n" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Xacl" ] && echo "\txacl = Xacl\n" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        ) 	@@\
+		@@\
+unshipFile::	@@\
+	-if [ -n "Destination" ] ; then \				@@\
+		[ ! -f $(SHIP_ROOT)/Destination ] || rm -f $(SHIP_ROOT)/Destination ;\ @@\
+		[ ! -d $(SHIP_ROOT)/Destination ] || rmdir $(SHIP_ROOT)/Destination ;\ @@\
+	fi 								@@\
+	@([ -z "ProdName" ] && prodname=$(LOCAL_PROD_NAME) || \		@@\
+		prodname=ProdName ;\					@@\
+	rm -f $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)/$${prodname}.il )
+
+#define InstallDocs(docs, mode, dest)					@@\
+install.ti:: docs							@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \		@@\
+        changed="$?"; \							@@\
+	for i in $$changed; do \					@@\
+		(set -x; $(INSTALL) $(INSTDOCFLAGS) $$i dest/$$i); \	@@\
+	done)
+
+
+#define InstallPrograms(files, dest)			@@\
+InstallFiles(files, $(INSTPROGFLAGS), dest)
+
+#define InstallRootPrograms(files, dest)		@@\
+InstallFiles(files, $(INSTROOTFLAGS), dest)
+
+#define InstallUidPrograms(files, dest)			@@\
+InstallFiles(files, $(INSTUIDFLAGS), dest)
+
+#define	InstallHardLink(file, link)			@@\
+install.ti:: file					@@\
+	$(RM) link					@@\
+	ln file link
+
+#define	InstallLink(file, link)				@@\
+install.ti::						@@\
+	$(RM) link					@@\
+	$(LN) file link
+
+/* ***************************************************************** *\
+ * Internal (to template) rules
+\* ***************************************************************** */
+#define	GenericCleanTarget()					@@\
+clean::						  		@@\
+	$(RM) _POUND_* ,* *~ *.CKP *.BAK *.bak core		@@\
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so @@\
+	$(RM) install.ti install.he library.ti *.rpm
+
+#define	MakefileTarget()						@@\
+makefile:: Imakefile $(IRULESRC)/imake.tmpl $(IRULESRC)/site.mcr 	@@\
+		$(IMAKE_CMD); \						@@\
+		touch .depends; \					@@\
+		cat .depends >>makefile
+
+#define SubdirTarget(dirs, mktag, string)				@@\
+mktag::									@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \		@@\
+	for i in dirs; do \						@@\
+	    (cd $$i || exit $$?; \				@@\
+		echo string "(`pwd`)"; \				@@\
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR) mktag; \	@@\
+		exit $$?) || exit 1; \					@@\
+	done)
+
+#define MakeSubdirs(dirs)				@@\
+SubdirTarget(dirs, All, "making")
+
+#define InstallSubdirs(dirs)				@@\
+SubdirTarget(dirs, Install, "installing")
+
+#define InstLibSubdirs(dirs)				@@\
+SubdirTarget(dirs, InstallLibs, "Make-Install-Libraries-ing")
+
+#define LibSubdirs(dirs)				@@\
+SubdirTarget(dirs, Libs, "Make-Libraries-ing")
+
+#define MakeTestSubdirs(dirs)				@@\
+SubdirTarget(dirs, Test, "Make-Testing")
+
+#define dependInstallSubdirs(dirs)			@@\
+SubdirTarget(dirs, dependInstall, "depend-Installing")
+
+#define DependSubdirs(dirs)				@@\
+SubdirTarget(dirs, Depend, "Depending")
+
+#define CleanTestSubdirs(dirs)				@@\
+SubdirTarget(dirs, CleanTest, "cleaning tests")
+
+#define CleanSubdirs(dirs)				@@\
+SubdirTarget(dirs, Clean, "cleaning")
+
+#define CheckinSubdirs(dirs)				@@\
+SubdirTarget(dirs, Checkin, "checking mods in")
+
+#define ShipSubdirs(dirs)				@@\
+SubdirTarget(dirs, Ship, "Shipping")
+
+#define UnshipSubdirs(dirs)				@@\
+SubdirTarget(dirs, Unship, "Unshipping")
+
+#define HeaderSubdirs(dirs)				@@\
+SubdirTarget(dirs, Headers, "installing header files")
+
+#define MakeMakeSubdirs(dirs)					@@\
+Makefiles::							@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \	@@\
+	for i in dirs; do \					@@\
+		echo "Making Makefiles (`pwd`/$$i)"; \		@@\
+		$(MAKE) subdirMakefiles \			@@\
+		MAKE_SUBDIR=$$i || exit $$?; \			@@\
+	done)
+
+#define MakefileSubdirs(dirs)				@@\
+MakeMakeSubdirs(dirs)					@@\
+							@@\
+subdirMakefiles:					@@\
+	cd $(MAKE_SUBDIR) || exit $$?; \		@@\
+	$(DOTDOTIMAKE_CMD); \				@@\
+	touch .depends;  \				@@\
+	cat .depends >>makefile; \			@@\
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) Makefiles
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+GenericCleanTarget()
+#ifndef BOOTSTRAP
+MakefileTarget()
+#endif
+
+_POUND_##################################################
+_POUND_ The following comes from the local Imakefile
+_POUND_##################################################
+#include INCLUDE_IMAKEFILE
+_POUND_##################################################
+_POUND_ Back from the local Imakefile
+_POUND_##################################################
+
+Makefiles:: makefile
+
+#ifdef IHaveSubdirs
+
+MakeSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+InstallSubdirs($(SUBDIRS))
+MakeTestSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+dependInstallSubdirs($(SUBDIRS))
+DependSubdirs($(SUBDIRS))
+CleanTestSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+CleanSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+CheckinSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+MakefileSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+HeaderSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+LibSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+InstLibSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+ShipSubdirs($(SUBDIRS))
+UnshipSubdirs($(SUBDIRS))
+
+#endif
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+_POUND_#### DEPENDENCY LINE - DO NOT DELETE #####
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/makefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/makefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/makefile	(revision 16)
@@ -0,0 +1,357 @@
+# Makefile generated by imake - do not edit!
+# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+# $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+#==================================================
+# Copyright IBM 1993
+#==================================================
+
+###################################################
+# This makefile is automatically generated by
+# imake... do not modify or you may lose your
+# changes when imake generates makefiles again.
+# Ignore this message if you are not using imake.
+###################################################
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+PATCHED_KERNEL_FLAGS =
+
+CXI_HEADER_DIR = $(DESTDIR)/include
+
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS =
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+# Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+###################################################
+# The following comes from the site.mcr
+###################################################
+
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include
+
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build
+
+LINUX_PATCH_DEFINES =
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+
+COMMON_DEFINES =   -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES =   -DDBGASSERTS   -DNEW_DELETE_DEBUG    -DTRACK_USECOUNT   -DTRIGGERS   -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES =   -DINSTRUMENT_LOCKS   -DPTHREAD_STATS   -DTRACE_IO_DATA   -DENTRYEXIT_TRACE
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX =   -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -D$(LINUX_DISTRIBUTION)   -DLINUX_DISTRIBUTION_LEVEL=90   $(LINUX_PATCH_DEFINES)
+
+EXTRASTD_LDFLAGS =
+EXTRALDFLAGS2 =
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer
+
+COMMON_26_FLAGS += -m32 -ffreestanding
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2
+OPTFLAGS  += $(COMMON_26_FLAGS)
+
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+
+DEFAULT_DEFINES =   $(COMMON_LINUX)   -DLINUX_KERNEL_VERSION=2062015   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+SITE_FAR_TRACE_OPTS =
+
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+###################################################
+# Back from site.mcr
+###################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+Headers::
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" = "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" != "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \
+	  if [ ! -f /etc/SuSE-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \
+	  echo "This is OK" > /dev/null; \
+	else \
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \
+	fi;
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+clean::
+	$(RM) #* ,* *~ *.CKP *.BAK *.bak core
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+	$(RM) install.ti install.he library.ti *.rpm
+
+###################################################
+# The following comes from the local Imakefile
+###################################################
+
+DIRS = $(DESTDIR) 	$(DESTDIR)/data 	$(DESTDIR)/shark 	$(DESTDIR)/shark/config 	$(DESTDIR)/include 	$(DESTDIR)/lib 	$(DESTDIR)/bin 	$(DESTDIR)/messages
+
+install.ti:: makedirs
+	@echo '\c'
+install.he:: makedirs
+	@echo '\c'
+makedirs::
+	@echo "Checking Destination Directories...."
+	@sh -c 'for i in $(DIRS);  do  \
+		if [ -f $$i ]; then  \
+			echo "Mkdir: $$i is a FILE"; \
+			exit 1; \
+		elif [ ! -d $$i ]; then  \
+			echo "Making directory $$i"; \
+			mkdir -p $$i; \
+		fi; \
+	done; \
+	exit 0'
+
+install.ti:: site.mcr imake.tmpl
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTINCFLAGS) $$i  $(DESTDIR)/shark/config/$$i) done)
+
+config2:: install.ti
+
+install.ti:: depend.sh
+	$(INSTALL)  $(INSTSHELLFLAGS) depend.sh  $(DESTDIR)/bin
+
+install.ti:: site.mcr
+
+install.ti:: ../makefile
+
+###################################################
+# Back from the local Imakefile
+###################################################
+
+Makefiles:: makefile
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+##### DEPENDENCY LINE - DO NOT DELETE #####
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/site.mcr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/site.mcr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/site.mcr	(revision 16)
@@ -0,0 +1,891 @@
+/* Copyright IBM 1995,2003 */
+/* $Id: site.mcr.proto,v 1.535.2.13 2006/10/26 05:44:16 mcnabb Exp $ */
+
+/******************************************************************************/
+/* Platform and Architecture Defines:                                         */
+/*                                                                            */
+/* Define the platform (operating system) and architecture (instruction set)  */
+/* settings. Only one platform and one architecture may be defined. Not all   */
+/* combinations are supported.                                                */
+/*                                                                            */
+/* Supported platform settings:                                               */
+/*                                                                            */
+/*    GPFS_AIX                                                                */
+/*    GPFS_LINUX                                                              */
+/*                                                                            */
+/* Supported architecture settings:                                           */
+/*                                                                            */
+/*    GPFS_ARCH_I386                                                          */
+/*    GPFS_ARCH_IA64                                                          */
+/*    GPFS_ARCH_POWER                                                         */
+/*    GPFS_ARCH_PPC64                                                         */
+/*    GPFS_ARCH_X86_64                                                        */
+/*                                                                            */
+/******************************************************************************/
+#define GPFS_LINUX
+#define GPFS_ARCH_I386
+
+
+#ifdef GPFS_LINUX
+/*****************************************************/
+/* Linux portability layer defines begin.            */
+/* Customer editable portion of config file.         */
+/*****************************************************/
+
+/* use #define SRC_BUILD to build the open source kernel module */
+#define SRC_BUILD_PLACEHOLDER
+
+/******************************************************************************/
+/* Linux Distribution Defines:                                                */
+/*                                                                            */
+/* Define the Linux distribution setting. Only one Linux distribution may be  */
+/* defined.                                                                   */
+/*                                                                            */
+/* Supported Distribution settings:                                           */
+/*                                                                            */
+/*    REDHAT_LINUX                                                            */
+/*    REDHAT_AS_LINUX                                                         */
+/*    SUSE_LINUX                                                              */
+/*    KERNEL_ORG_LINUX                                                        */
+/*                                                                            */
+/* Select REDHAT_AS_LINUX for:                                                */
+/*    - RedHat Advanced Server                                                */
+/*    - RedHat Enterprise Linux (AS|ES|WS).                                   */
+/*                                                                            */
+/* Select REDHAT_LINUX for RedHat professional                                */
+/*                                                                            */
+/* Select SUSE_LINUX for SuSE Enterprise Server                               */
+/*                                                                            */
+/******************************************************************************/
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+
+/******************************************************************************/
+/* Linux Distribution Level Defines:                                          */
+/*                                                                            */
+/* Define the Linux distribution level setting. Only one Linux distribution   */
+/* level may be defined.                                                      */
+/*                                                                            */
+/* NOTE:                                                                      */
+/*                                                                            */
+/* The DISTRIBUTION_LEVEL may be required if the patches for a common         */
+/* LINUX_KERNEL_VERSION diverge across a LINUX_DISTRIBUTION. For instance,    */
+/* RedHat 8 and RedHat 9 have different kernel patches for a similar version  */
+/* number kernel. For this example, LINUX_DISTRIBUTION_LEVEL would be set to  */
+/* "80" for RedHat 8 and "90" for RedHat 9.
+/*                                                                            */
+/******************************************************************************/
+#define LINUX_DISTRIBUTION_LEVEL 90
+
+
+/******************************************************************************/
+/* Linux Kernel Version Defines:                                              */
+/*                                                                            */
+/* Define the Linux kernel version and kernel includes directory settings.    */
+/* Only one Linux kernel version and one kernel includes directory may be     */
+/* defined.                                                                   */
+/*                                                                            */
+/* The Linux kernel version is determined from the first four components of   */
+/* the kernel string. It is important to note that the second, third and      */
+/* fourth components are specified with two digits. Any component less than   */
+/* 10 must be preceded by a '0', while any component greater than or equal to */
+/* 100 should specify '99'.                                                   */
+/*                                                                            */
+/* Examples:                                                                  */
+/*                                                                            */
+/*    2.4.18-21   would be 2041821                                            */
+/*    2.4.21-111  would be 2042199                                            */
+/*    2.6.5-7.139 would be 2060507                                            */
+/*                                                                            */
+/* The kernel includes directory is where GPFS will find the kernel headers   */
+/* for the kernel specified by the LINUX_KERNEL_VERSION define. The kernel    */
+/* includes location varies by Linux distribution.                            */
+/*                                                                            */
+/* Examples:                                                                  */
+/*                                                                            */
+/*    /lib/modules/`uname -r`/build/include                                   */
+/*    /lib/modules/`uname -r`/source/include                                  */
+/*    /usr/src/linux/include                                                  */
+/*                                                                            */
+/******************************************************************************/
+#define LINUX_KERNEL_VERSION 2062015
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include 
+
+/******************************************************************************/
+/* Linux Build Directory (Needed for Linux 2.6 kernel only)                   */
+/*                                                                            */
+/* For Linux kernel version 2.6, kernel build directory needs to be specified */
+/* as well.                                                                   */
+/* If you are running a vanilla kernel, where in the headers and the build    */
+/* directories are in the standard place (i.e. under /lib/modules) then       */
+/* running "make Autoconfig" will set the correct values for                  */
+/* KERNEL_BUILD_DIR variable.                                                 */
+/*                                                                            */
+/* The kernel build directory is where the kernel build tools reside.         */
+/* These tools are required to build the GPFS modules for Linux.              */
+/* Examples:                                                                  */
+/*    /lib/modules/`uname -r`/build                                           */
+/*                                                                            */
+/******************************************************************************/
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build 
+
+/* Flags for building with desired Linux kernel patches.
+ * These are patches for specific problems we've discovered
+ * with the linux kernel and are providing interim patches
+ * for.  Each patch is described below and the desired patches 
+ * should be uncommented under LINUX_PATCH_DEFINES. 
+ *
+ * -DMMAP_LINUX_PATCH  Required for use of mmapped writes.
+ *
+ * Descriptions and downloads for these patches may be found at 
+ * http://sourceforge.net/tracker/index.php?func=detail&aid=1153778&group_id=130828&atid=719124
+ */
+LINUX_PATCH_DEFINES = \
+/*  -DMMAP_LINUX_PATCH  */
+
+/*****************************************************/
+/* Linux portability layer defines end.              */
+/* Everything below here is irrelevent to customer   */
+/* compiles of the portability layer.                */
+/*****************************************************/
+#endif /* GPFS_LINUX */
+
+/* Descriptions of variables used by the build process:
+
+   The following variables are lists available to all makefiles:
+     DESTDIR              Root of the ts directory in the build tree.
+     CDEBUGFLAGS          Passed to all compiles of code that goes in mmfsd
+                            or other process-level code.  Empty by default;
+                            intended to be used temporarily within the
+                            Imakefile in a directory to turn on generation of
+                            assembly listings, say.
+     KCDEBUGFLAGS         Passed to all compiles of code that goes in kernel
+                            extensions.  Empty by default.
+     OPTFLAGS             Compiler optimization flags for daemon code and
+                            code that is compiled once and bound into both
+                            the daemon and the kernel.  Typical values are -g
+                            or -O.
+     KOPTFLAGS            Compiler optimization flags for code used exclusively
+                            in kernel modules.
+     ARCH_DEFINES         -D defines describing the machine architecture
+     DEFAULT_DEFINES      List of -D defines used for shipped product code.
+                            The complete list of possible -D values is given
+                            below.
+     TEMPSHIP_DEFINES     List of -D defines used for debuging, not shipped
+                            in product code after first few PTFs of new release.
+     NEVERSHIP_DEFINES    List of -D defines used for testing, never shipped
+                            in product code.
+     SITE_DEFINES         List of the complete set of -D defines used by each
+                            compilation in the build.  For testing, this will
+                            be the concatenation of DEFAULT_DEFINES,
+                            ARCH_DEFINES, TEMPSHIP_DEFINES, and
+                            NEVERSHIP_DEFINES.  For the shipped product,
+                            this will just contain DEFAULT_DEFINES and
+                            ARCH_DEFINES (and TEMPSHIP_DEFINES for a
+                            little while).
+
+     KERNEL_HEADER_DIR    Directory where Linux kernel header files are kept
+
+   The following variables are either defined or undefined by this file.
+   Tests of these are used in Imakefiles to conditionally control which
+   lines are processed.  For almost all of these there is a
+   corresponding -Dxxx that must be specified in SITE_DEFINES.
+
+     DMAPI                #define this to cause code implementing the DMAPI
+                            interface to GPFS to be built.  Requires -DDMAPI
+                            in SITE_DEFINES.
+     FAR_TRACE            #define this to cause calls to the routine that
+                            actually does TRACEn to be placed far away from
+                            the tests of whether tracing is enabled.  When
+                            tracing is off, this results in fewer I-cache
+                            misses, and therefore better performance.  Also
+                            controls several compiler options that are needed
+                            to get the correct code generated.  Cannot be
+                            used with -g.
+     LINUX_KERNEL_VERSION  #define this to match the version of the Linux
+                            include files being used for the applicable
+                            architecture type.  This is always an eight
+                            digit decimal number.  The first four
+                            digits give the major and minor kernel version
+                            numbers.  For Linux 2.4 these will always be
+                            0204, with the leading zero omitted.  The next
+                            two digits give the kernel subversion.  The last
+                            two digits give the patch level.  Thus the 
+                            LINUX_KERNEL_VERSION of 
+                              linux-2.4.18-14 is 2041814
+                            while
+                              linux-2.4.19    is 2041900
+
+                            The compile-time symbol LINUX_KERNEL_VERSION 
+                            will be set to the same value as the make-time 
+                            symbol LINUX_KERNEL_VERSION.  
+                            The GPFS_KERNEL_VERSION macro uses the same 
+                            encoding of kernel version as does 
+                            LINUX_KERNEL_VERSION, and can be used to 
+                            conditionally compile version dependent code.
+     GPROF_DAEMON         #define this to compile and link the daemon for
+                            gprof.  Use 'mmfsadm test gprof on|off' to control
+                            when profiling is enabled.  (Not tested in years,
+                            may not work.)
+     TRY_AND_BUY          #define this to build a "try and buy" version of
+                            GPFS with a timeout license key
+     MMPMON               #define this to build support for MMPMON remote
+                            performance monitoring services.  Requires -DMMPMON
+                            in SITE_DEFINES.
+     MMPMON_CUMULATIVE    #define this to build support for MMPMON remote
+                            performance monitoring cumulative all-time stats.
+			    Requires -DMMPMON in SITE_DEFINES.
+     MMPMON_HISTOGRAMS    #define this to build support for MMPMON remote
+                            performance monitoring latency histogram data.
+			    Requires -DMMPMON *and* -DMMPMON_HISTOGRAMS
+                            in SITE_DEFINES.
+     EXPORTER_EVENTS      #define this to enable the APPEND_EXPORTER_EVENT code
+			    originally used by the Java GUI
+     SMB_LOCKS            #define this to add SMB share mode and oplock support
+                            Requires -DSMB_LOCKS in SITE_DEFINES
+     CCL                  #define this to add support for CIFS Compatibility 
+                           Layer.  Requires -DCCL in SITE_DEFINES
+     KTRACE               #define this to build trace device into Linux
+                            kernel and allow trace statements in kernel.
+                            Requires -DKTRACE in SITE_DEFINES
+     NO_ASM_UTIL          #define this to prevent the use of assembler versions
+                            of utility routines in classes/basic directory
+     CROSS_COMPILE        #define this when cross-compiling to avoid running
+                            tools that must be built for the target system but
+                            run on the build system (e.g. chksystypes program)
+     POLICY               #define this to compile the policy library. Use with 
+	                    -DPOOLS and -DPOLICY
+     NOKREGPARMS          #define this to build gpfs compatable for a
+			    custom built 2.6 kernel with CONFIG_REGPARMS
+			    turned off.
+
+   Descriptions of all -Dxxx values that control building GPFS features.
+   To generate optional code add one or more of the following to
+   SITE_DEFINES:
+
+   Standard system features
+     -D__FULL_PROTO       Used by AIX header files to ensure that prototypes
+                          of functions include full parameter list.  Needed
+                          since these functions have a C calling convention and
+                          thus must always be defined with their full proto.
+     -DBLOCK_RESTORE      Add support for block level incremental
+	                    backup & restore.
+     -DDIO                Direct I/O support
+     -DDIO_XW             Define this to allow direct I/O writes to
+                            allocate new data blocks rather than falling
+                            back to normal I/O, provided that write request
+                            is block-aligned block multiple.  DIO will use
+                            xw byte-range lock rather than whole-file sx
+                            lock for block-sized I/O.
+     -DDISK_LEASE_DMS     Add support for a deadman switch.  When disk leasing
+                            is on, a kernel timer will be turned on, to be
+                            restarted whenever a new lease is obtained.  If
+                            the lease cannot be renewed, and timer expires,
+                            and there's still some outstanding I/O requests,
+                            the node is paniced.
+     -DDMAPI              Activate DMAPI code (also define DMAPI).
+     -DDMAPI_MOVERS       Activate DMAPI parallel movers code.
+     -DDMAPI_PREFETCH_DIRATTRS Active parallel dm_get_dirattr and dm_get_dmattr
+     -DLC_FENCING         Enable LC fencing of VSD disks
+     -DMMAP_DIO           Change mmap page-out to use direct I/O to write
+                            the page if a GPFS data buffer is not available.
+                            This removes the requirement that read/write
+                            mapped pages always have a GPFS data buffer to
+                            back them.  Requires -DDIO.
+     -DNFS_SKIP_SHRINK_TO_FIT Don't do shrink to fit for NFS when the open
+                            file is not empty.
+     -DPOW2_COND_SHIFT    Enable code that implements multiplies and divides
+                            by shifts when possible.
+     -DSANERGY            Enable SANergy interfaces.
+     -DSFS_PERF_SKIP_SYNC Performance improvement to skip multiple sync calls	
+                            for the same file.
+     -DSFS_PERF_USE_SMALL_BUFFER try to use small buffers to avoid reading
+                            data that might not be referenced.
+     -DSMB_LOCKS          Add support for SMB open locks and oplocks.
+     -DSPAIXLVL=432       AIX level. Must use this option when compiling on
+                            AIX 4.3.2 (with new compiler).
+     -DSPAIXLVL=433       Must use this option when compiling on AIX 4.3.3
+     -DSPAIXLVL=516       Must use this option when compiling on AIX 5.1.6+
+     -DMMPMON             Enable MMPMON performance monitoring
+			 (also enable -DMMPMON.)
+     -DMMPMON_CUMULATIVE  Enable MMPMON performance monitoring cumulative
+			  all time stats (also enable -DMMPMON and
+			  define MMPMON)
+     -DMMPMON_DAEMON_PORT Enable code that allows mmpmon/EE connections via
+                           the standard daemon port.  Authentication done by
+                           llcomm.  Compatible with MMPMON_NAMED_SOCKET.
+     -DMMPMON_HISTOGRAMS  Enable MMPMON performance monitoring latency
+			  histograms (also enable -DMMPMON and
+			  define MMPMON + MMPMON_HISTOGRAMS.)
+     -DMMPMON_NAMED_SOCKET Enable MMPMON named socket instead of the
+                           independent EE network port.  Mutually exclusive.
+     -DMMPMON_RPC         Enable MMPMON rpc interface
+     -DEXPORTER_EVENTS    Enable the APPEND_EXPORTER_EVENT code
+			    originally used by the Java GUI
+     -DFAR_TRACE          LINUX: Generate calls to the TRACE subroutine
+                            out-of-line with respect to the tests of whether
+                            tracing is enabled.  Do not explicitly include
+                            this in the list of -D options; it will be
+                            provided automatically if FAR_TRACE or
+                            KFAR_TRACE is #defined.
+     -DFAR_CODE           LINUX: Enable the BEGIN_FAR_CODE/END_FAR_CODE macros
+                            to place arbitrary uncommonly executed code
+                            out-of-line.  Requires -DFAR_TRACE.  Do not
+                            explicitly include this in the list of -D
+                            options; it will be provided automatically
+                            if FAR_TRACE or KFAR_TRACE is #defined.
+     -DUSE51BREGS         AIX: Use AIX 5.1.B register semantics in assembler
+                          code.  Must be turned on for code that will
+                          run on AIX 5.x.
+     -DTSCOMM_SECURITY    Enable support for secure network communication.
+     -DLIMIT_KSTACKS      Generate code that is less efficient in the GPFS
+                            kernel module, but that uses less kernel stack
+                            space.  Needed on i386 for Linux kernel versions
+                            at or beyond 2.6.6.
+     -DPERF_STATS         Additional performance statistics for benchmark runs
+
+   Defines for new upcoming features:
+     -DCCL                Add support for CIFS Compatibility Layer.
+     -DEE_WATCHDOG_START  Start the EE watchdog thread (checks for anomolies)
+                          This feature used to be enabled, but since there
+                          is currently no consumer for its data, it is now
+                          disabled by default.
+     -DNFS4_CLUSTER       Add support for NFS Version 4.
+                            Requires the 2.4.18 nfsv4 kernel.
+     -DNFS4_ACL           Add support for NFSv4 ACLs.
+     -DNFS4_VCM           Add support for the AIX VCM (NFSv4 locking)
+
+     -DDESCQUORUM_OVERRIDE Add support for manual overrides of the stripe
+                             group descriptor quorum.
+     -DUIDREMAP           Enable support for UID remapping in multicluster
+                          environment.
+     -DALLOC_SUM_FILE     Enable support allocation summary file 
+
+     -DCHECK_KXTIMESTAMP  Enable code that a) links both mmfsd and mmfs with
+                          an object that contains a timestamp b) checks very
+                          early during daemon startup that kernel and userspace
+                          code have the same timestamp, i.e. the kernel
+                          extension loaded in memory is from the same build as 
+                          the currently starting daemon.  The intent is to 
+                          prevent hard-to-diagnose problems arising (on AIX,
+                          most often) from having a stale kernel extension 
+                          loaded after installing a new build.  Will only be
+                          enabled in ADE/ODE builds, although CVS builders 
+                          can enable it as well.
+     -DPOOLS              Add support for multiple disk storage pools.
+     -DFILESETS           Add support for filesets.
+     -DFILESET_QUOTAS     Add support for fileset quotas. Must be used with
+                          FILESETS.
+     -DPOLICY             Policy language and commands - used with POOLS and FILESETS, prereq
+     -DPOLICY_RESTORE       Initial support for new RESTORE policy attributes
+     -DPOLICY_RESTORE_RULES Add support for new RESTORE policy rules
+     -DSINGLE_PORT        Enable support for use of a single port number.
+     -DTHREADED_RECEIVER  Enables multi-threaded receiver code.
+     -DNO_XCLUST          Avoid sending cross-cluster RPCs between different
+                          remote clusters
+     -DWAIT_FOR_NSD_SERVERS Enables the feature to wait for NSD servers to 
+                          come up on mounts, when cluster is first formed,
+                          and other select situations (see doc for details.)
+
+   Defines for non GA versions of the code but turned on for our web
+   based "try and buy" version of GPFS.
+     -DTRY_AND_BUY        Build a "try and buy" version of 
+                            GPFS with a timeout license key
+
+   Defines for Normal testing, not for shipped systems:
+     -DDBGASSERTS         Generate code for DBGASSERT macros
+     -DTRIGGERS           Respond to 'test trigger xxx' commands
+     -DTRACK_USECOUNT     Code to track contributing threads to a stripe
+                            group's use count.
+     -DDIRCHECKASSERTS    Check validity of directory disk data structures
+                            frequently, and assert when an inconsistency is
+                            found.  Expensive, so separated from DBGASSERTS.
+     -DPTHREAD_STATS      Generate code to count how many times various
+                            paths are taken through thread, mutex, and
+                            condition variable code.
+     -DNO_ASM_SYNCH       Disable implementation of fast versions of mutex
+                            acquire/release in assembler.  Enables trace
+                            calls and some debugging code under -DDBGASSERTS
+                            that is not supported by the assembler
+                            implementation.  Required if -DTRACK_RESOURCE_USAGE
+                            is used.
+     -DINSTRUMENT_LOCKS   Enable summary lock instrumentation for mutexes
+                            and lock objects.  Requires -DPTHREAD_STATS.
+     -DINSTRUMENT_DETAIL_LOCKS
+                          Also enable per-mutex lock instrumentation.
+                            Requires -DINSTRUMENT_LOCKS.
+     -DTM_DETAIL_STATS    Extra counters to track which token prefetches
+                            are useful and which are not.
+     -DVERBOSETRACE       Generate code to produce traces for trace levels > 10
+     -DGPFS_FRAME_POINTER Tell GPFS code that -fomit-frame-pointer was not
+                           specified, so frame pointer is available. Use
+                           either -fomit-frame-pointer or -DGPFS_FRAME_POINTER
+                           when defining OPTFLAGS
+     -DENTRYEXIT_TRACE    Enable routine entry/exit tracing that is controlled
+                           by mmfsadm trace entryexit <n>
+     -DKSTACK_CHECK       Keep track of how much kernel stack space is used
+                           within GPFS kernel modules.  Print tracebacks of
+                           the point of maximum stack usage if it exceeds a
+                           threshhold.  Can only be used on Linux.
+
+   Defines for weird test conditions, not normally used:
+     -DPOW2_FORCE_SHIFT   Do only shifts for some math. Requires that all
+                          GPFS block sizes be power of 2.
+                          Since VTS uses 384K blocksize, this is not a
+                          shipable option.
+     -DTIME_MUTEXES       Time how long mutexes are held.  Summary produced
+                            by 'mmfsadm dump lstat'.  
+                            Requires -DINSTRUMENT_LOCKS.
+     -DGPFS_PRINTF        On Linux, send trace output to the console via printk
+                            instead of collecting trace output using ltrace.
+                            (requires GPFS_LINUX).
+     -DTSCAN              Enable trace points used by the tscan utility to
+                            measure CPU usage by system call.
+     -DTRACK_RESOURCE_USAGE
+                          Keep track of resources (locks, mutexes, buffers,
+                            threads, etc.) held by a thread and verify that
+                            resources are acquired in a consistent order.
+                            Requires -DNO_ASM_SYNCH.
+     -DSUPPORT_FOR_DOS_STATFS  Hack for DOS client fsstat
+     -DDACSPY             Counts the number of times objects of each of
+                            the dynamic array classes are created.
+                            The classes are defined via the DECL_ARRAY_CLASS
+                            macro in DAC.h.  This optional instrumentation
+                            allows for determining which objects being
+                            allocated on the heap may require allocation
+                            optimization such as via a linked list of
+                            preallocated objects.
+     -DMALLOC_DEBUG       Generate code to track the file and line number from
+                            which each block of MALLOCed storage was allocated
+     -DTRACE_IO_DATA      If RTPERF trace level is >= 3, dump the first few
+                            words of data read or written by any disk I/O
+                            operation.  This is a security exposure, and should
+                            not be turned on in production.
+     -DNEW_DELETE_DEBUG   Override global operators new and delete, to assist
+                            in finding uninitialized dynamic storage, writing
+                            beyond the end of an allocated object, reference to
+                            deleted objects, and storage leaks.  The 'mmfsadm
+                            test newdebug' command enables some of these
+                            features.
+     -DNEW_DELETE_TRACEBACKS
+                          Save the call stack on memory allocations tracked
+                            by -DNEW_DELETE_DEBUG.  Not supported on Linux.
+     -DDIR_VERSION_NUMBERS
+                          Increment one of the reserved words in directory
+                            block headers each time the block is written to
+                            disk.  Helps to sequence directory updates in time
+                            across multiple nodes.  Should never be turned on
+                            except on file systems that will be reformatted.
+     -DTEST_SMALL_DISKS=x When creating a file system or adding disks,
+                            artificially limit the disk size to x megabytes.
+                            Useful for testing ENOSPC conditions without having
+                            to fill up large disks or creating new, smaller
+                            logical volumes.
+     -DTEST_DELDISK       Ignore all but the first disk listed in mount
+                            options.  This is useful when testing so that
+                            the tsdeldisk and tsrpldisk commands can be used
+                            without the "mm" commands.
+     -DNO_VFS_STATS       Do not generate any code to generate statistics for
+                            the 'mmfsadm vfsstats {enable|disable|reset|show}'
+                            family of commands.
+     -DSTOP_TRACE_ON_FAILURE Set all trace flags to 0 as soon as LOGASSERT
+                            is triggered or deamon cleanup begins.
+     -DDEBUG_SPINLOCK     Define this if Linux kernel is built with
+                            CONFIG_DEBUG_SPINLOCK.
+     -DFILEIDCMD_PERF     Define this to enable perf measurements for mmfileid
+                            command
+     -DKTRACE             Define this to build trace device into Linux
+                            kernel and allow trace statements in kernel
+                            (also define KTRACE).
+     -DENABLE_SKIP_DATA_MOVE Enable the 'mmfsadm test disableDataXfer 0/1'
+                            command to skip moving data between user buffers
+                            and GPFS buffers and to skip data I/O.  Allows
+                            simulating a higher metadata load than the actual
+                            data I/O configuration would support.
+*/
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+#ifdef GPFS_ARCH_POWER
+ARCH_DEFINES = -DGPFS_ARCH_POWER
+#endif
+
+#ifdef  GPFS_ARCH_I386
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+#endif
+
+#ifdef  GPFS_ARCH_IA64
+ARCH_DEFINES = \
+  -D__64BIT__ \
+  -DALIGNED_DATA_ACCESS \
+  -DGPFS_ARCH_IA64 \
+  -DGPFS_LITTLE_ENDIAN \
+  -DAPI_32BIT
+#endif
+
+#ifdef  GPFS_ARCH_PPC64
+ARCH_DEFINES = -DGPFS_ARCH_PPC64 -D__64BIT__ -DALIGNED_DATA_ACCESS
+#endif
+
+#ifdef  GPFS_ARCH_X86_64
+ARCH_DEFINES = -DGPFS_ARCH_X86_64 -D__64BIT__ -DGPFS_LITTLE_ENDIAN \
+               -DAPI_32BIT
+#endif
+
+/***********************************/
+/* Defines common to all platforms */
+/***********************************/
+COMMON_DEFINES = \
+  -DALLOC_SUM_FILE \
+  -DBLOCK_RESTORE \
+  -DDESCQUORUM_OVERRIDE \
+  -DDIO \
+  -DDIO_XW \
+  -DDISK_LEASE_DMS \
+  -DDMAPI \
+  -DDMAPI_MOVERS \
+  -DDMAPI_PREFETCH_DIRATTRS \
+  -DEXPORTER_EVENTS \
+  -DFILESETS \
+  -DFILESET_QUOTAS \
+  -DGPFS_ERRNO_MAPPING \
+  -DGPFS_QUOTACTL \
+  -DLC_FENCING \
+  -DMMAP_DIO \
+  -DMMPMON \
+  -DMMPMON_CUMULATIVE \
+  -DMMPMON_DAEMON_PORT \
+  -DMMPMON_HISTOGRAMS \
+  -DMMPMON_NAMED_SOCKET \
+  -DMMPMON_RPC \
+  -DNFS_SKIP_SHRINK_TO_FIT \
+  -DNFS4_ACL \
+  -DNFS4_VCM \
+  -DNO_XCLUST \
+  -DPERF_STATS \
+  -DPOLICY \
+  -DPOLICY_RESTORE \
+  -DPOOLS \
+  -DPOW2_COND_SHIFT \
+  -DSANERGY \
+  -DSFS_PERF_SKIP_SYNC \
+  -DSFS_PERF_USE_SMALL_BUFFER \
+  -DSINGLE_PORT \
+  -DSMB_LOCKS \
+  -DTHREADED_RECEIVER \
+  -DTSCOMM_SECURITY \
+  -DUIDREMAP \
+  -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES = \
+  -DDBGASSERTS \
+  -DNEW_DELETE_DEBUG  \
+  -DTRACK_USECOUNT \
+  -DTRIGGERS \
+  -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES = \
+  -DINSTRUMENT_LOCKS \
+  -DPTHREAD_STATS \
+  -DTRACE_IO_DATA \
+  -DENTRYEXIT_TRACE
+
+#define DMAPI
+#define EXPORTER_EVENTS
+#define FILESETS
+#define MMPMON
+#define MMPMON_CUMULATIVE
+#define MMPMON_HISTOGRAMS
+#define PERF_STATS
+#define POLICY
+#define SANERGY
+#define SMB_LOCKS
+#define THREADED_RECEIVER
+/* #define TRY_AND_BUY */
+#define TSCOMM_SECURITY
+
+/*********************/
+/* AIX configuration */
+/*********************/
+#ifdef GPFS_AIX
+#define AIX5
+
+/* 64-bit AIX build (on HACMP) */
+/* #define GPFSBLD64 */
+
+#ifdef GPFSBLD64
+  OPTFLAGS = -g
+  KOPTFLAGS = -g
+  EXTRASTD_CFLAGS = -q64 -qlargetype -qsuppress=1540-0053
+  EXTRASTD_LDFLAGS = -q64 -g
+  EXTRALDFLAGS2 = -b64
+  EXTRAARFLAGS = -X64
+  EXTRAM4FLAGS = -D__64BIT__
+  EXTRAASFLAGS = -a64
+  MKTRCFMT_FLAGS = -q64
+#else
+  OPTFLAGS =
+  KOPTFLAGS =
+#endif
+
+/* Build for AIX4 or AIX5
+ * To build on AIX 5.x, you'll need these ifdefs
+ *   -DSPAIXLVL=516 -DUSE51BREGS
+ */
+#ifndef AIX5
+#define AIX4
+#endif
+
+#ifdef AIX4
+  AIX_VERSION_DEPS = -DSPAIXLVL=432
+#else
+  AIX_VERSION_DEPS = -DSPAIXLVL=516 -DUSE51BREGS
+#endif
+
+SITE_OTHER_KINCLUDES =
+SITE_OTHER_KDEFINES = -D_KERNEL
+
+SITE_FAR_TRACE_OPTS =
+SITE_KFAR_TRACE_OPTS =
+
+DEFAULT_DEFINES = \
+  $(AIX_VERSION_DEPS) \
+  -D__FULL_PROTO \
+  -DGPFS_AIX
+
+TEMPSHIP_DEFINES = \
+  -DNEW_DELETE_TRACEBACKS
+
+EXTRAINSTROOTFLAGS = -s
+EXTRAINSTPROGFLAGS = -s
+
+#endif /* end of AIX */
+
+/***********************/
+/* Linux configuration */
+/***********************/
+#ifdef GPFS_LINUX
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE \
+                      -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX = \
+  -U_GNU_SOURCE \
+  -D__USE_BSD \
+  -D_LARGEFILE64_SOURCE \
+  -DGPFS_LINUX \
+  -DYESSTR=__YESSTR \
+  -DNOSTR=__NOSTR \
+  -DLUM \
+  -DNPTL \
+  -DSSEG_SWIZZLE_PTRS \
+  -D$(LINUX_DISTRIBUTION) \
+  -DLINUX_DISTRIBUTION_LEVEL=LINUX_DISTRIBUTION_LEVEL \
+  $(LINUX_PATCH_DEFINES)
+
+#define LUM
+#define SSEG_SWIZZLE_PTRS
+
+EXTRASTD_LDFLAGS = 
+EXTRALDFLAGS2 =  
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+/* If you add -g to OPTFLAGS, you must also comment out the define of
+ * FAR_TRACE.  It is recommended to remove the -fomit-frame-pointer 
+ * option for better debugging information.  If you add -g to KOPTFLAGS, you 
+ * must comment out the define of KFAR_TRACE. 
+ */
+
+/**********************/
+/* Linux i386 defines */
+/**********************/
+#ifdef GPFS_ARCH_I386
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions \
+            -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions \
+            -fno-common -fomit-frame-pointer
+
+#if LINUX_KERNEL_VERSION > 2060500
+
+#if LINUX_KERNEL_VERSION >= 2061600
+COMMON_26_FLAGS += -m32 -ffreestanding                                                                                     
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2                                                               
+OPTFLAGS  += $(COMMON_26_FLAGS)                                                                                            
+#endif /* LINUX_KERNEL_VERSION >= 2061600 */
+                                                                                  
+#ifdef PCE_26_PCE
+#define NOKREGPARMS
+KOPTFLAGS += -mpreferred-stack-boundary=2 -DPCE_26_PCE
+OPTFLAGS  += -DPCE_26_PCE            
+#endif /* PCE_26_PCE */
+
+#ifndef NOKREGPARMS
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+#else
+SITE_OTHER_KDEFINES += -DNOKREGPARMS
+#endif
+#endif /* LINUX_KERNEL_VERSION > 2060500 */
+
+#define KFAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION \
+  -DLIMIT_KSTACKS \
+  -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux i386 defines */
+
+
+/***********************/
+/* Linux Power defines */
+/***********************/
+#ifdef GPFS_ARCH_POWER
+
+OPTFLAGS = -g0 -O2 -fno-exceptions
+KOPTFLAGS = -O2 -msoft-float -fno-exceptions -fno-common
+
+#undef KFAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DCONFIG_UP \
+  -DNO_ASM_SYNCH \
+  -DSSEG_RESERVE_MEM \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION
+
+TEMPSHIP_DEFINES = -DDISABLE_KERNEL_PANIC
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#define NO_ASM_UTIL
+
+#endif /* end of Linux power defines */
+
+
+/**********************/
+/* Linux ia64 defines */
+/**********************/
+#ifdef GPFS_ARCH_IA64
+
+OPTFLAGS = -g0 -O2 -fno-strict-aliasing -fno-exceptions
+KOPTFLAGS = -O2 -fno-strict-aliasing -fno-exceptions -fno-common
+
+#undef KFAR_TRACE
+#undef FAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION 
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux ia64 defines */
+
+/***************************/
+/* Linux PowerPC64 defines */
+/***************************/
+#ifdef GPFS_ARCH_PPC64
+
+#if LINUX_KERNEL_VERSION < 2060000
+CC = powerpc64-linux-g++
+C_COMP = powerpc64-linux-gcc
+CPP = powerpc64-linux-cpp
+BARELD = powerpc64-linux-ld
+AR = powerpc64-linux-ar clq
+AS = powerpc64-linux-as
+KAR = powerpc64-linux-ld $(LDFLAGS2) -r -o
+RANLIB = powerpc64-linux-ranlib
+ARDEL = $(AR) d
+MAKEDEPEND = $(CC)
+CPLUSINC = -I/opt/cross/include
+#endif
+
+OPTFLAGS = -g0 -O2 -mminimal-toc -fno-exceptions
+KOPTFLAGS = -O -msoft-float -fno-exceptions
+
+#if LINUX_KERNEL_VERSION > 2060000
+OPTFLAGS += -m64 -mpowerpc64
+MAKEDEPEND = $(CC) -m64
+#if (LINUX_KERNEL_VERSION >= 2061600)
+KOPTFLAGS += -m64 -mcall-aixdesc -mno-altivec -fno-common -ffreestanding -mtune=power4 -funit-at-a-time -mstring -fno-ivopts -Wa,-maltivec
+#else
+KOPTFLAGS += -m64 -mpowerpc64 -fno-common
+#endif
+
+EXTRASTD_LDFLAGS = -melf64ppc -m64
+EXTRALDFLAGS2 =  -melf64ppc
+BARELD += -melf64ppc
+
+ifeq ("$(LINUX_DISTRIBUTION)","REDHAT_AS_LINUX")
+#if LINUX_KERNEL_VERSION >= 2060905
+KOPTFLAGS += -mcall-aixdesc
+#endif
+endif
+
+#endif
+
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux PowerPC64 defines */
+
+/**************************************/
+/* Linux Opteron (aka x86_64) defines */
+/**************************************/
+#ifdef GPFS_ARCH_X86_64
+
+OPTFLAGS = -g0 -O2 -fno-strict-aliasing -fno-exceptions -fPIC
+KOPTFLAGS = -O2 -fno-strict-aliasing -fno-exceptions -fno-common \
+            -mcmodel=kernel -mno-red-zone
+
+#undef KFAR_TRACE
+#undef FAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION \
+  -DLIMIT_KSTACKS
+
+/* SMART_PTR_DEBUG turned off in ODE build due to large performance hit */
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux x86_64 defines */
+
+#ifdef FAR_TRACE
+SITE_FAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+#else
+SITE_FAR_TRACE_OPTS =
+#endif
+
+#ifdef KFAR_TRACE
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+#else
+SITE_KFAR_TRACE_OPTS =
+#endif
+
+#endif /* end of Linux defines */
+
+/* Build complete list of -D compile flags */
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+/* kernel source build */
+#ifdef SRC_BUILD
+SITE_DEFINES += -DSRC_BUILD
+#endif
+
+
+/* Force compiler options needed for gprof if necessary */
+#ifdef GPROF_DAEMON
+CDEBUGFLAGS = -g -pg
+#endif
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/site.mcr.ok
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/site.mcr.ok	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/site.mcr.ok	(revision 16)
@@ -0,0 +1,891 @@
+/* Copyright IBM 1995,2003 */
+/* $Id: site.mcr.proto,v 1.535.2.13 2006/10/26 05:44:16 mcnabb Exp $ */
+
+/******************************************************************************/
+/* Platform and Architecture Defines:                                         */
+/*                                                                            */
+/* Define the platform (operating system) and architecture (instruction set)  */
+/* settings. Only one platform and one architecture may be defined. Not all   */
+/* combinations are supported.                                                */
+/*                                                                            */
+/* Supported platform settings:                                               */
+/*                                                                            */
+/*    GPFS_AIX                                                                */
+/*    GPFS_LINUX                                                              */
+/*                                                                            */
+/* Supported architecture settings:                                           */
+/*                                                                            */
+/*    GPFS_ARCH_I386                                                          */
+/*    GPFS_ARCH_IA64                                                          */
+/*    GPFS_ARCH_POWER                                                         */
+/*    GPFS_ARCH_PPC64                                                         */
+/*    GPFS_ARCH_X86_64                                                        */
+/*                                                                            */
+/******************************************************************************/
+#define GPFS_LINUX
+#define GPFS_ARCH_I386
+
+
+#ifdef GPFS_LINUX
+/*****************************************************/
+/* Linux portability layer defines begin.            */
+/* Customer editable portion of config file.         */
+/*****************************************************/
+
+/* use #define SRC_BUILD to build the open source kernel module */
+#define SRC_BUILD_PLACEHOLDER
+
+/******************************************************************************/
+/* Linux Distribution Defines:                                                */
+/*                                                                            */
+/* Define the Linux distribution setting. Only one Linux distribution may be  */
+/* defined.                                                                   */
+/*                                                                            */
+/* Supported Distribution settings:                                           */
+/*                                                                            */
+/*    REDHAT_LINUX                                                            */
+/*    REDHAT_AS_LINUX                                                         */
+/*    SUSE_LINUX                                                              */
+/*    KERNEL_ORG_LINUX                                                        */
+/*                                                                            */
+/* Select REDHAT_AS_LINUX for:                                                */
+/*    - RedHat Advanced Server                                                */
+/*    - RedHat Enterprise Linux (AS|ES|WS).                                   */
+/*                                                                            */
+/* Select REDHAT_LINUX for RedHat professional                                */
+/*                                                                            */
+/* Select SUSE_LINUX for SuSE Enterprise Server                               */
+/*                                                                            */
+/******************************************************************************/
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+
+/******************************************************************************/
+/* Linux Distribution Level Defines:                                          */
+/*                                                                            */
+/* Define the Linux distribution level setting. Only one Linux distribution   */
+/* level may be defined.                                                      */
+/*                                                                            */
+/* NOTE:                                                                      */
+/*                                                                            */
+/* The DISTRIBUTION_LEVEL may be required if the patches for a common         */
+/* LINUX_KERNEL_VERSION diverge across a LINUX_DISTRIBUTION. For instance,    */
+/* RedHat 8 and RedHat 9 have different kernel patches for a similar version  */
+/* number kernel. For this example, LINUX_DISTRIBUTION_LEVEL would be set to  */
+/* "80" for RedHat 8 and "90" for RedHat 9.
+/*                                                                            */
+/******************************************************************************/
+#define LINUX_DISTRIBUTION_LEVEL 90
+
+
+/******************************************************************************/
+/* Linux Kernel Version Defines:                                              */
+/*                                                                            */
+/* Define the Linux kernel version and kernel includes directory settings.    */
+/* Only one Linux kernel version and one kernel includes directory may be     */
+/* defined.                                                                   */
+/*                                                                            */
+/* The Linux kernel version is determined from the first four components of   */
+/* the kernel string. It is important to note that the second, third and      */
+/* fourth components are specified with two digits. Any component less than   */
+/* 10 must be preceded by a '0', while any component greater than or equal to */
+/* 100 should specify '99'.                                                   */
+/*                                                                            */
+/* Examples:                                                                  */
+/*                                                                            */
+/*    2.4.18-21   would be 2041821                                            */
+/*    2.4.21-111  would be 2042199                                            */
+/*    2.6.5-7.139 would be 2060507                                            */
+/*                                                                            */
+/* The kernel includes directory is where GPFS will find the kernel headers   */
+/* for the kernel specified by the LINUX_KERNEL_VERSION define. The kernel    */
+/* includes location varies by Linux distribution.                            */
+/*                                                                            */
+/* Examples:                                                                  */
+/*                                                                            */
+/*    /lib/modules/`uname -r`/build/include                                   */
+/*    /lib/modules/`uname -r`/source/include                                  */
+/*    /usr/src/linux/include                                                  */
+/*                                                                            */
+/******************************************************************************/
+#define LINUX_KERNEL_VERSION 2062003
+KERNEL_HEADER_DIR = /usr/src/linux-source-2.6.20/include
+
+/******************************************************************************/
+/* Linux Build Directory (Needed for Linux 2.6 kernel only)                   */
+/*                                                                            */
+/* For Linux kernel version 2.6, kernel build directory needs to be specified */
+/* as well.                                                                   */
+/* If you are running a vanilla kernel, where in the headers and the build    */
+/* directories are in the standard place (i.e. under /lib/modules) then       */
+/* running "make Autoconfig" will set the correct values for                  */
+/* KERNEL_BUILD_DIR variable.                                                 */
+/*                                                                            */
+/* The kernel build directory is where the kernel build tools reside.         */
+/* These tools are required to build the GPFS modules for Linux.              */
+/* Examples:                                                                  */
+/*    /lib/modules/`uname -r`/build                                           */
+/*                                                                            */
+/******************************************************************************/
+KERNEL_BUILD_DIR = /lib/modules/2.6.20.3-ubuntu1/build
+
+/* Flags for building with desired Linux kernel patches.
+ * These are patches for specific problems we've discovered
+ * with the linux kernel and are providing interim patches
+ * for.  Each patch is described below and the desired patches 
+ * should be uncommented under LINUX_PATCH_DEFINES. 
+ *
+ * -DMMAP_LINUX_PATCH  Required for use of mmapped writes.
+ *
+ * Descriptions and downloads for these patches may be found at 
+ * http://sourceforge.net/tracker/index.php?func=detail&aid=1153778&group_id=130828&atid=719124
+ */
+LINUX_PATCH_DEFINES = \
+/*  -DMMAP_LINUX_PATCH  */
+
+/*****************************************************/
+/* Linux portability layer defines end.              */
+/* Everything below here is irrelevent to customer   */
+/* compiles of the portability layer.                */
+/*****************************************************/
+#endif /* GPFS_LINUX */
+
+/* Descriptions of variables used by the build process:
+
+   The following variables are lists available to all makefiles:
+     DESTDIR              Root of the ts directory in the build tree.
+     CDEBUGFLAGS          Passed to all compiles of code that goes in mmfsd
+                            or other process-level code.  Empty by default;
+                            intended to be used temporarily within the
+                            Imakefile in a directory to turn on generation of
+                            assembly listings, say.
+     KCDEBUGFLAGS         Passed to all compiles of code that goes in kernel
+                            extensions.  Empty by default.
+     OPTFLAGS             Compiler optimization flags for daemon code and
+                            code that is compiled once and bound into both
+                            the daemon and the kernel.  Typical values are -g
+                            or -O.
+     KOPTFLAGS            Compiler optimization flags for code used exclusively
+                            in kernel modules.
+     ARCH_DEFINES         -D defines describing the machine architecture
+     DEFAULT_DEFINES      List of -D defines used for shipped product code.
+                            The complete list of possible -D values is given
+                            below.
+     TEMPSHIP_DEFINES     List of -D defines used for debuging, not shipped
+                            in product code after first few PTFs of new release.
+     NEVERSHIP_DEFINES    List of -D defines used for testing, never shipped
+                            in product code.
+     SITE_DEFINES         List of the complete set of -D defines used by each
+                            compilation in the build.  For testing, this will
+                            be the concatenation of DEFAULT_DEFINES,
+                            ARCH_DEFINES, TEMPSHIP_DEFINES, and
+                            NEVERSHIP_DEFINES.  For the shipped product,
+                            this will just contain DEFAULT_DEFINES and
+                            ARCH_DEFINES (and TEMPSHIP_DEFINES for a
+                            little while).
+
+     KERNEL_HEADER_DIR    Directory where Linux kernel header files are kept
+
+   The following variables are either defined or undefined by this file.
+   Tests of these are used in Imakefiles to conditionally control which
+   lines are processed.  For almost all of these there is a
+   corresponding -Dxxx that must be specified in SITE_DEFINES.
+
+     DMAPI                #define this to cause code implementing the DMAPI
+                            interface to GPFS to be built.  Requires -DDMAPI
+                            in SITE_DEFINES.
+     FAR_TRACE            #define this to cause calls to the routine that
+                            actually does TRACEn to be placed far away from
+                            the tests of whether tracing is enabled.  When
+                            tracing is off, this results in fewer I-cache
+                            misses, and therefore better performance.  Also
+                            controls several compiler options that are needed
+                            to get the correct code generated.  Cannot be
+                            used with -g.
+     LINUX_KERNEL_VERSION  #define this to match the version of the Linux
+                            include files being used for the applicable
+                            architecture type.  This is always an eight
+                            digit decimal number.  The first four
+                            digits give the major and minor kernel version
+                            numbers.  For Linux 2.4 these will always be
+                            0204, with the leading zero omitted.  The next
+                            two digits give the kernel subversion.  The last
+                            two digits give the patch level.  Thus the 
+                            LINUX_KERNEL_VERSION of 
+                              linux-2.4.18-14 is 2041814
+                            while
+                              linux-2.4.19    is 2041900
+
+                            The compile-time symbol LINUX_KERNEL_VERSION 
+                            will be set to the same value as the make-time 
+                            symbol LINUX_KERNEL_VERSION.  
+                            The GPFS_KERNEL_VERSION macro uses the same 
+                            encoding of kernel version as does 
+                            LINUX_KERNEL_VERSION, and can be used to 
+                            conditionally compile version dependent code.
+     GPROF_DAEMON         #define this to compile and link the daemon for
+                            gprof.  Use 'mmfsadm test gprof on|off' to control
+                            when profiling is enabled.  (Not tested in years,
+                            may not work.)
+     TRY_AND_BUY          #define this to build a "try and buy" version of
+                            GPFS with a timeout license key
+     MMPMON               #define this to build support for MMPMON remote
+                            performance monitoring services.  Requires -DMMPMON
+                            in SITE_DEFINES.
+     MMPMON_CUMULATIVE    #define this to build support for MMPMON remote
+                            performance monitoring cumulative all-time stats.
+			    Requires -DMMPMON in SITE_DEFINES.
+     MMPMON_HISTOGRAMS    #define this to build support for MMPMON remote
+                            performance monitoring latency histogram data.
+			    Requires -DMMPMON *and* -DMMPMON_HISTOGRAMS
+                            in SITE_DEFINES.
+     EXPORTER_EVENTS      #define this to enable the APPEND_EXPORTER_EVENT code
+			    originally used by the Java GUI
+     SMB_LOCKS            #define this to add SMB share mode and oplock support
+                            Requires -DSMB_LOCKS in SITE_DEFINES
+     CCL                  #define this to add support for CIFS Compatibility 
+                           Layer.  Requires -DCCL in SITE_DEFINES
+     KTRACE               #define this to build trace device into Linux
+                            kernel and allow trace statements in kernel.
+                            Requires -DKTRACE in SITE_DEFINES
+     NO_ASM_UTIL          #define this to prevent the use of assembler versions
+                            of utility routines in classes/basic directory
+     CROSS_COMPILE        #define this when cross-compiling to avoid running
+                            tools that must be built for the target system but
+                            run on the build system (e.g. chksystypes program)
+     POLICY               #define this to compile the policy library. Use with 
+	                    -DPOOLS and -DPOLICY
+     NOKREGPARMS          #define this to build gpfs compatable for a
+			    custom built 2.6 kernel with CONFIG_REGPARMS
+			    turned off.
+
+   Descriptions of all -Dxxx values that control building GPFS features.
+   To generate optional code add one or more of the following to
+   SITE_DEFINES:
+
+   Standard system features
+     -D__FULL_PROTO       Used by AIX header files to ensure that prototypes
+                          of functions include full parameter list.  Needed
+                          since these functions have a C calling convention and
+                          thus must always be defined with their full proto.
+     -DBLOCK_RESTORE      Add support for block level incremental
+	                    backup & restore.
+     -DDIO                Direct I/O support
+     -DDIO_XW             Define this to allow direct I/O writes to
+                            allocate new data blocks rather than falling
+                            back to normal I/O, provided that write request
+                            is block-aligned block multiple.  DIO will use
+                            xw byte-range lock rather than whole-file sx
+                            lock for block-sized I/O.
+     -DDISK_LEASE_DMS     Add support for a deadman switch.  When disk leasing
+                            is on, a kernel timer will be turned on, to be
+                            restarted whenever a new lease is obtained.  If
+                            the lease cannot be renewed, and timer expires,
+                            and there's still some outstanding I/O requests,
+                            the node is paniced.
+     -DDMAPI              Activate DMAPI code (also define DMAPI).
+     -DDMAPI_MOVERS       Activate DMAPI parallel movers code.
+     -DDMAPI_PREFETCH_DIRATTRS Active parallel dm_get_dirattr and dm_get_dmattr
+     -DLC_FENCING         Enable LC fencing of VSD disks
+     -DMMAP_DIO           Change mmap page-out to use direct I/O to write
+                            the page if a GPFS data buffer is not available.
+                            This removes the requirement that read/write
+                            mapped pages always have a GPFS data buffer to
+                            back them.  Requires -DDIO.
+     -DNFS_SKIP_SHRINK_TO_FIT Don't do shrink to fit for NFS when the open
+                            file is not empty.
+     -DPOW2_COND_SHIFT    Enable code that implements multiplies and divides
+                            by shifts when possible.
+     -DSANERGY            Enable SANergy interfaces.
+     -DSFS_PERF_SKIP_SYNC Performance improvement to skip multiple sync calls	
+                            for the same file.
+     -DSFS_PERF_USE_SMALL_BUFFER try to use small buffers to avoid reading
+                            data that might not be referenced.
+     -DSMB_LOCKS          Add support for SMB open locks and oplocks.
+     -DSPAIXLVL=432       AIX level. Must use this option when compiling on
+                            AIX 4.3.2 (with new compiler).
+     -DSPAIXLVL=433       Must use this option when compiling on AIX 4.3.3
+     -DSPAIXLVL=516       Must use this option when compiling on AIX 5.1.6+
+     -DMMPMON             Enable MMPMON performance monitoring
+			 (also enable -DMMPMON.)
+     -DMMPMON_CUMULATIVE  Enable MMPMON performance monitoring cumulative
+			  all time stats (also enable -DMMPMON and
+			  define MMPMON)
+     -DMMPMON_DAEMON_PORT Enable code that allows mmpmon/EE connections via
+                           the standard daemon port.  Authentication done by
+                           llcomm.  Compatible with MMPMON_NAMED_SOCKET.
+     -DMMPMON_HISTOGRAMS  Enable MMPMON performance monitoring latency
+			  histograms (also enable -DMMPMON and
+			  define MMPMON + MMPMON_HISTOGRAMS.)
+     -DMMPMON_NAMED_SOCKET Enable MMPMON named socket instead of the
+                           independent EE network port.  Mutually exclusive.
+     -DMMPMON_RPC         Enable MMPMON rpc interface
+     -DEXPORTER_EVENTS    Enable the APPEND_EXPORTER_EVENT code
+			    originally used by the Java GUI
+     -DFAR_TRACE          LINUX: Generate calls to the TRACE subroutine
+                            out-of-line with respect to the tests of whether
+                            tracing is enabled.  Do not explicitly include
+                            this in the list of -D options; it will be
+                            provided automatically if FAR_TRACE or
+                            KFAR_TRACE is #defined.
+     -DFAR_CODE           LINUX: Enable the BEGIN_FAR_CODE/END_FAR_CODE macros
+                            to place arbitrary uncommonly executed code
+                            out-of-line.  Requires -DFAR_TRACE.  Do not
+                            explicitly include this in the list of -D
+                            options; it will be provided automatically
+                            if FAR_TRACE or KFAR_TRACE is #defined.
+     -DUSE51BREGS         AIX: Use AIX 5.1.B register semantics in assembler
+                          code.  Must be turned on for code that will
+                          run on AIX 5.x.
+     -DTSCOMM_SECURITY    Enable support for secure network communication.
+     -DLIMIT_KSTACKS      Generate code that is less efficient in the GPFS
+                            kernel module, but that uses less kernel stack
+                            space.  Needed on i386 for Linux kernel versions
+                            at or beyond 2.6.6.
+     -DPERF_STATS         Additional performance statistics for benchmark runs
+
+   Defines for new upcoming features:
+     -DCCL                Add support for CIFS Compatibility Layer.
+     -DEE_WATCHDOG_START  Start the EE watchdog thread (checks for anomolies)
+                          This feature used to be enabled, but since there
+                          is currently no consumer for its data, it is now
+                          disabled by default.
+     -DNFS4_CLUSTER       Add support for NFS Version 4.
+                            Requires the 2.4.18 nfsv4 kernel.
+     -DNFS4_ACL           Add support for NFSv4 ACLs.
+     -DNFS4_VCM           Add support for the AIX VCM (NFSv4 locking)
+
+     -DDESCQUORUM_OVERRIDE Add support for manual overrides of the stripe
+                             group descriptor quorum.
+     -DUIDREMAP           Enable support for UID remapping in multicluster
+                          environment.
+     -DALLOC_SUM_FILE     Enable support allocation summary file 
+
+     -DCHECK_KXTIMESTAMP  Enable code that a) links both mmfsd and mmfs with
+                          an object that contains a timestamp b) checks very
+                          early during daemon startup that kernel and userspace
+                          code have the same timestamp, i.e. the kernel
+                          extension loaded in memory is from the same build as 
+                          the currently starting daemon.  The intent is to 
+                          prevent hard-to-diagnose problems arising (on AIX,
+                          most often) from having a stale kernel extension 
+                          loaded after installing a new build.  Will only be
+                          enabled in ADE/ODE builds, although CVS builders 
+                          can enable it as well.
+     -DPOOLS              Add support for multiple disk storage pools.
+     -DFILESETS           Add support for filesets.
+     -DFILESET_QUOTAS     Add support for fileset quotas. Must be used with
+                          FILESETS.
+     -DPOLICY             Policy language and commands - used with POOLS and FILESETS, prereq
+     -DPOLICY_RESTORE       Initial support for new RESTORE policy attributes
+     -DPOLICY_RESTORE_RULES Add support for new RESTORE policy rules
+     -DSINGLE_PORT        Enable support for use of a single port number.
+     -DTHREADED_RECEIVER  Enables multi-threaded receiver code.
+     -DNO_XCLUST          Avoid sending cross-cluster RPCs between different
+                          remote clusters
+     -DWAIT_FOR_NSD_SERVERS Enables the feature to wait for NSD servers to 
+                          come up on mounts, when cluster is first formed,
+                          and other select situations (see doc for details.)
+
+   Defines for non GA versions of the code but turned on for our web
+   based "try and buy" version of GPFS.
+     -DTRY_AND_BUY        Build a "try and buy" version of 
+                            GPFS with a timeout license key
+
+   Defines for Normal testing, not for shipped systems:
+     -DDBGASSERTS         Generate code for DBGASSERT macros
+     -DTRIGGERS           Respond to 'test trigger xxx' commands
+     -DTRACK_USECOUNT     Code to track contributing threads to a stripe
+                            group's use count.
+     -DDIRCHECKASSERTS    Check validity of directory disk data structures
+                            frequently, and assert when an inconsistency is
+                            found.  Expensive, so separated from DBGASSERTS.
+     -DPTHREAD_STATS      Generate code to count how many times various
+                            paths are taken through thread, mutex, and
+                            condition variable code.
+     -DNO_ASM_SYNCH       Disable implementation of fast versions of mutex
+                            acquire/release in assembler.  Enables trace
+                            calls and some debugging code under -DDBGASSERTS
+                            that is not supported by the assembler
+                            implementation.  Required if -DTRACK_RESOURCE_USAGE
+                            is used.
+     -DINSTRUMENT_LOCKS   Enable summary lock instrumentation for mutexes
+                            and lock objects.  Requires -DPTHREAD_STATS.
+     -DINSTRUMENT_DETAIL_LOCKS
+                          Also enable per-mutex lock instrumentation.
+                            Requires -DINSTRUMENT_LOCKS.
+     -DTM_DETAIL_STATS    Extra counters to track which token prefetches
+                            are useful and which are not.
+     -DVERBOSETRACE       Generate code to produce traces for trace levels > 10
+     -DGPFS_FRAME_POINTER Tell GPFS code that -fomit-frame-pointer was not
+                           specified, so frame pointer is available. Use
+                           either -fomit-frame-pointer or -DGPFS_FRAME_POINTER
+                           when defining OPTFLAGS
+     -DENTRYEXIT_TRACE    Enable routine entry/exit tracing that is controlled
+                           by mmfsadm trace entryexit <n>
+     -DKSTACK_CHECK       Keep track of how much kernel stack space is used
+                           within GPFS kernel modules.  Print tracebacks of
+                           the point of maximum stack usage if it exceeds a
+                           threshhold.  Can only be used on Linux.
+
+   Defines for weird test conditions, not normally used:
+     -DPOW2_FORCE_SHIFT   Do only shifts for some math. Requires that all
+                          GPFS block sizes be power of 2.
+                          Since VTS uses 384K blocksize, this is not a
+                          shipable option.
+     -DTIME_MUTEXES       Time how long mutexes are held.  Summary produced
+                            by 'mmfsadm dump lstat'.  
+                            Requires -DINSTRUMENT_LOCKS.
+     -DGPFS_PRINTF        On Linux, send trace output to the console via printk
+                            instead of collecting trace output using ltrace.
+                            (requires GPFS_LINUX).
+     -DTSCAN              Enable trace points used by the tscan utility to
+                            measure CPU usage by system call.
+     -DTRACK_RESOURCE_USAGE
+                          Keep track of resources (locks, mutexes, buffers,
+                            threads, etc.) held by a thread and verify that
+                            resources are acquired in a consistent order.
+                            Requires -DNO_ASM_SYNCH.
+     -DSUPPORT_FOR_DOS_STATFS  Hack for DOS client fsstat
+     -DDACSPY             Counts the number of times objects of each of
+                            the dynamic array classes are created.
+                            The classes are defined via the DECL_ARRAY_CLASS
+                            macro in DAC.h.  This optional instrumentation
+                            allows for determining which objects being
+                            allocated on the heap may require allocation
+                            optimization such as via a linked list of
+                            preallocated objects.
+     -DMALLOC_DEBUG       Generate code to track the file and line number from
+                            which each block of MALLOCed storage was allocated
+     -DTRACE_IO_DATA      If RTPERF trace level is >= 3, dump the first few
+                            words of data read or written by any disk I/O
+                            operation.  This is a security exposure, and should
+                            not be turned on in production.
+     -DNEW_DELETE_DEBUG   Override global operators new and delete, to assist
+                            in finding uninitialized dynamic storage, writing
+                            beyond the end of an allocated object, reference to
+                            deleted objects, and storage leaks.  The 'mmfsadm
+                            test newdebug' command enables some of these
+                            features.
+     -DNEW_DELETE_TRACEBACKS
+                          Save the call stack on memory allocations tracked
+                            by -DNEW_DELETE_DEBUG.  Not supported on Linux.
+     -DDIR_VERSION_NUMBERS
+                          Increment one of the reserved words in directory
+                            block headers each time the block is written to
+                            disk.  Helps to sequence directory updates in time
+                            across multiple nodes.  Should never be turned on
+                            except on file systems that will be reformatted.
+     -DTEST_SMALL_DISKS=x When creating a file system or adding disks,
+                            artificially limit the disk size to x megabytes.
+                            Useful for testing ENOSPC conditions without having
+                            to fill up large disks or creating new, smaller
+                            logical volumes.
+     -DTEST_DELDISK       Ignore all but the first disk listed in mount
+                            options.  This is useful when testing so that
+                            the tsdeldisk and tsrpldisk commands can be used
+                            without the "mm" commands.
+     -DNO_VFS_STATS       Do not generate any code to generate statistics for
+                            the 'mmfsadm vfsstats {enable|disable|reset|show}'
+                            family of commands.
+     -DSTOP_TRACE_ON_FAILURE Set all trace flags to 0 as soon as LOGASSERT
+                            is triggered or deamon cleanup begins.
+     -DDEBUG_SPINLOCK     Define this if Linux kernel is built with
+                            CONFIG_DEBUG_SPINLOCK.
+     -DFILEIDCMD_PERF     Define this to enable perf measurements for mmfileid
+                            command
+     -DKTRACE             Define this to build trace device into Linux
+                            kernel and allow trace statements in kernel
+                            (also define KTRACE).
+     -DENABLE_SKIP_DATA_MOVE Enable the 'mmfsadm test disableDataXfer 0/1'
+                            command to skip moving data between user buffers
+                            and GPFS buffers and to skip data I/O.  Allows
+                            simulating a higher metadata load than the actual
+                            data I/O configuration would support.
+*/
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+#ifdef GPFS_ARCH_POWER
+ARCH_DEFINES = -DGPFS_ARCH_POWER
+#endif
+
+#ifdef  GPFS_ARCH_I386
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+#endif
+
+#ifdef  GPFS_ARCH_IA64
+ARCH_DEFINES = \
+  -D__64BIT__ \
+  -DALIGNED_DATA_ACCESS \
+  -DGPFS_ARCH_IA64 \
+  -DGPFS_LITTLE_ENDIAN \
+  -DAPI_32BIT
+#endif
+
+#ifdef  GPFS_ARCH_PPC64
+ARCH_DEFINES = -DGPFS_ARCH_PPC64 -D__64BIT__ -DALIGNED_DATA_ACCESS
+#endif
+
+#ifdef  GPFS_ARCH_X86_64
+ARCH_DEFINES = -DGPFS_ARCH_X86_64 -D__64BIT__ -DGPFS_LITTLE_ENDIAN \
+               -DAPI_32BIT
+#endif
+
+/***********************************/
+/* Defines common to all platforms */
+/***********************************/
+COMMON_DEFINES = \
+  -DALLOC_SUM_FILE \
+  -DBLOCK_RESTORE \
+  -DDESCQUORUM_OVERRIDE \
+  -DDIO \
+  -DDIO_XW \
+  -DDISK_LEASE_DMS \
+  -DDMAPI \
+  -DDMAPI_MOVERS \
+  -DDMAPI_PREFETCH_DIRATTRS \
+  -DEXPORTER_EVENTS \
+  -DFILESETS \
+  -DFILESET_QUOTAS \
+  -DGPFS_ERRNO_MAPPING \
+  -DGPFS_QUOTACTL \
+  -DLC_FENCING \
+  -DMMAP_DIO \
+  -DMMPMON \
+  -DMMPMON_CUMULATIVE \
+  -DMMPMON_DAEMON_PORT \
+  -DMMPMON_HISTOGRAMS \
+  -DMMPMON_NAMED_SOCKET \
+  -DMMPMON_RPC \
+  -DNFS_SKIP_SHRINK_TO_FIT \
+  -DNFS4_ACL \
+  -DNFS4_VCM \
+  -DNO_XCLUST \
+  -DPERF_STATS \
+  -DPOLICY \
+  -DPOLICY_RESTORE \
+  -DPOOLS \
+  -DPOW2_COND_SHIFT \
+  -DSANERGY \
+  -DSFS_PERF_SKIP_SYNC \
+  -DSFS_PERF_USE_SMALL_BUFFER \
+  -DSINGLE_PORT \
+  -DSMB_LOCKS \
+  -DTHREADED_RECEIVER \
+  -DTSCOMM_SECURITY \
+  -DUIDREMAP \
+  -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES = \
+  -DDBGASSERTS \
+  -DNEW_DELETE_DEBUG  \
+  -DTRACK_USECOUNT \
+  -DTRIGGERS \
+  -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES = \
+  -DINSTRUMENT_LOCKS \
+  -DPTHREAD_STATS \
+  -DTRACE_IO_DATA \
+  -DENTRYEXIT_TRACE
+
+#define DMAPI
+#define EXPORTER_EVENTS
+#define FILESETS
+#define MMPMON
+#define MMPMON_CUMULATIVE
+#define MMPMON_HISTOGRAMS
+#define PERF_STATS
+#define POLICY
+#define SANERGY
+#define SMB_LOCKS
+#define THREADED_RECEIVER
+/* #define TRY_AND_BUY */
+#define TSCOMM_SECURITY
+
+/*********************/
+/* AIX configuration */
+/*********************/
+#ifdef GPFS_AIX
+#define AIX5
+
+/* 64-bit AIX build (on HACMP) */
+/* #define GPFSBLD64 */
+
+#ifdef GPFSBLD64
+  OPTFLAGS = -g
+  KOPTFLAGS = -g
+  EXTRASTD_CFLAGS = -q64 -qlargetype -qsuppress=1540-0053
+  EXTRASTD_LDFLAGS = -q64 -g
+  EXTRALDFLAGS2 = -b64
+  EXTRAARFLAGS = -X64
+  EXTRAM4FLAGS = -D__64BIT__
+  EXTRAASFLAGS = -a64
+  MKTRCFMT_FLAGS = -q64
+#else
+  OPTFLAGS =
+  KOPTFLAGS =
+#endif
+
+/* Build for AIX4 or AIX5
+ * To build on AIX 5.x, you'll need these ifdefs
+ *   -DSPAIXLVL=516 -DUSE51BREGS
+ */
+#ifndef AIX5
+#define AIX4
+#endif
+
+#ifdef AIX4
+  AIX_VERSION_DEPS = -DSPAIXLVL=432
+#else
+  AIX_VERSION_DEPS = -DSPAIXLVL=516 -DUSE51BREGS
+#endif
+
+SITE_OTHER_KINCLUDES =
+SITE_OTHER_KDEFINES = -D_KERNEL
+
+SITE_FAR_TRACE_OPTS =
+SITE_KFAR_TRACE_OPTS =
+
+DEFAULT_DEFINES = \
+  $(AIX_VERSION_DEPS) \
+  -D__FULL_PROTO \
+  -DGPFS_AIX
+
+TEMPSHIP_DEFINES = \
+  -DNEW_DELETE_TRACEBACKS
+
+EXTRAINSTROOTFLAGS = -s
+EXTRAINSTPROGFLAGS = -s
+
+#endif /* end of AIX */
+
+/***********************/
+/* Linux configuration */
+/***********************/
+#ifdef GPFS_LINUX
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE \
+                      -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX = \
+  -U_GNU_SOURCE \
+  -D__USE_BSD \
+  -D_LARGEFILE64_SOURCE \
+  -DGPFS_LINUX \
+  -DYESSTR=__YESSTR \
+  -DNOSTR=__NOSTR \
+  -DLUM \
+  -DNPTL \
+  -DSSEG_SWIZZLE_PTRS \
+  -D$(LINUX_DISTRIBUTION) \
+  -DLINUX_DISTRIBUTION_LEVEL=LINUX_DISTRIBUTION_LEVEL \
+  $(LINUX_PATCH_DEFINES)
+
+#define LUM
+#define SSEG_SWIZZLE_PTRS
+
+EXTRASTD_LDFLAGS = 
+EXTRALDFLAGS2 =  
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+/* If you add -g to OPTFLAGS, you must also comment out the define of
+ * FAR_TRACE.  It is recommended to remove the -fomit-frame-pointer 
+ * option for better debugging information.  If you add -g to KOPTFLAGS, you 
+ * must comment out the define of KFAR_TRACE. 
+ */
+
+/**********************/
+/* Linux i386 defines */
+/**********************/
+#ifdef GPFS_ARCH_I386
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions \
+            -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions \
+            -fno-common -fomit-frame-pointer
+
+#if LINUX_KERNEL_VERSION > 2060500
+
+#if LINUX_KERNEL_VERSION >= 2061600
+COMMON_26_FLAGS += -m32 -ffreestanding                                                                                     
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2                                                               
+OPTFLAGS  += $(COMMON_26_FLAGS)                                                                                            
+#endif /* LINUX_KERNEL_VERSION >= 2061600 */
+                                                                                  
+#ifdef PCE_26_PCE
+#define NOKREGPARMS
+KOPTFLAGS += -mpreferred-stack-boundary=2 -DPCE_26_PCE
+OPTFLAGS  += -DPCE_26_PCE            
+#endif /* PCE_26_PCE */
+
+#ifndef NOKREGPARMS
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+#else
+SITE_OTHER_KDEFINES += -DNOKREGPARMS
+#endif
+#endif /* LINUX_KERNEL_VERSION > 2060500 */
+
+#define KFAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION \
+  -DLIMIT_KSTACKS \
+  -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux i386 defines */
+
+
+/***********************/
+/* Linux Power defines */
+/***********************/
+#ifdef GPFS_ARCH_POWER
+
+OPTFLAGS = -g0 -O2 -fno-exceptions
+KOPTFLAGS = -O2 -msoft-float -fno-exceptions -fno-common
+
+#undef KFAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DCONFIG_UP \
+  -DNO_ASM_SYNCH \
+  -DSSEG_RESERVE_MEM \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION
+
+TEMPSHIP_DEFINES = -DDISABLE_KERNEL_PANIC
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#define NO_ASM_UTIL
+
+#endif /* end of Linux power defines */
+
+
+/**********************/
+/* Linux ia64 defines */
+/**********************/
+#ifdef GPFS_ARCH_IA64
+
+OPTFLAGS = -g0 -O2 -fno-strict-aliasing -fno-exceptions
+KOPTFLAGS = -O2 -fno-strict-aliasing -fno-exceptions -fno-common
+
+#undef KFAR_TRACE
+#undef FAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION 
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux ia64 defines */
+
+/***************************/
+/* Linux PowerPC64 defines */
+/***************************/
+#ifdef GPFS_ARCH_PPC64
+
+#if LINUX_KERNEL_VERSION < 2060000
+CC = powerpc64-linux-g++
+C_COMP = powerpc64-linux-gcc
+CPP = powerpc64-linux-cpp
+BARELD = powerpc64-linux-ld
+AR = powerpc64-linux-ar clq
+AS = powerpc64-linux-as
+KAR = powerpc64-linux-ld $(LDFLAGS2) -r -o
+RANLIB = powerpc64-linux-ranlib
+ARDEL = $(AR) d
+MAKEDEPEND = $(CC)
+CPLUSINC = -I/opt/cross/include
+#endif
+
+OPTFLAGS = -g0 -O2 -mminimal-toc -fno-exceptions
+KOPTFLAGS = -O -msoft-float -fno-exceptions
+
+#if LINUX_KERNEL_VERSION > 2060000
+OPTFLAGS += -m64 -mpowerpc64
+MAKEDEPEND = $(CC) -m64
+#if (LINUX_KERNEL_VERSION >= 2061600)
+KOPTFLAGS += -m64 -mcall-aixdesc -mno-altivec -fno-common -ffreestanding -mtune=power4 -funit-at-a-time -mstring -fno-ivopts -Wa,-maltivec
+#else
+KOPTFLAGS += -m64 -mpowerpc64 -fno-common
+#endif
+
+EXTRASTD_LDFLAGS = -melf64ppc -m64
+EXTRALDFLAGS2 =  -melf64ppc
+BARELD += -melf64ppc
+
+ifeq ("$(LINUX_DISTRIBUTION)","REDHAT_AS_LINUX")
+#if LINUX_KERNEL_VERSION >= 2060905
+KOPTFLAGS += -mcall-aixdesc
+#endif
+endif
+
+#endif
+
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux PowerPC64 defines */
+
+/**************************************/
+/* Linux Opteron (aka x86_64) defines */
+/**************************************/
+#ifdef GPFS_ARCH_X86_64
+
+OPTFLAGS = -g0 -O2 -fno-strict-aliasing -fno-exceptions -fPIC
+KOPTFLAGS = -O2 -fno-strict-aliasing -fno-exceptions -fno-common \
+            -mcmodel=kernel -mno-red-zone
+
+#undef KFAR_TRACE
+#undef FAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION \
+  -DLIMIT_KSTACKS
+
+/* SMART_PTR_DEBUG turned off in ODE build due to large performance hit */
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux x86_64 defines */
+
+#ifdef FAR_TRACE
+SITE_FAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+#else
+SITE_FAR_TRACE_OPTS =
+#endif
+
+#ifdef KFAR_TRACE
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+#else
+SITE_KFAR_TRACE_OPTS =
+#endif
+
+#endif /* end of Linux defines */
+
+/* Build complete list of -D compile flags */
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+/* kernel source build */
+#ifdef SRC_BUILD
+SITE_DEFINES += -DSRC_BUILD
+#endif
+
+
+/* Force compiler options needed for gprof if necessary */
+#ifdef GPROF_DAEMON
+CDEBUGFLAGS = -g -pg
+#endif
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/site.mcr.proto
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/site.mcr.proto	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/config/site.mcr.proto	(revision 16)
@@ -0,0 +1,891 @@
+/* Copyright IBM 1995,2003 */
+/* $Id: site.mcr.proto,v 1.535.2.13 2006/10/26 05:44:16 mcnabb Exp $ */
+
+/******************************************************************************/
+/* Platform and Architecture Defines:                                         */
+/*                                                                            */
+/* Define the platform (operating system) and architecture (instruction set)  */
+/* settings. Only one platform and one architecture may be defined. Not all   */
+/* combinations are supported.                                                */
+/*                                                                            */
+/* Supported platform settings:                                               */
+/*                                                                            */
+/*    GPFS_AIX                                                                */
+/*    GPFS_LINUX                                                              */
+/*                                                                            */
+/* Supported architecture settings:                                           */
+/*                                                                            */
+/*    GPFS_ARCH_I386                                                          */
+/*    GPFS_ARCH_IA64                                                          */
+/*    GPFS_ARCH_POWER                                                         */
+/*    GPFS_ARCH_PPC64                                                         */
+/*    GPFS_ARCH_X86_64                                                        */
+/*                                                                            */
+/******************************************************************************/
+#define GPFS_LINUX
+#define GPFS_ARCH_I386
+
+
+#ifdef GPFS_LINUX
+/*****************************************************/
+/* Linux portability layer defines begin.            */
+/* Customer editable portion of config file.         */
+/*****************************************************/
+
+/* use #define SRC_BUILD to build the open source kernel module */
+#define SRC_BUILD_PLACEHOLDER
+
+/******************************************************************************/
+/* Linux Distribution Defines:                                                */
+/*                                                                            */
+/* Define the Linux distribution setting. Only one Linux distribution may be  */
+/* defined.                                                                   */
+/*                                                                            */
+/* Supported Distribution settings:                                           */
+/*                                                                            */
+/*    REDHAT_LINUX                                                            */
+/*    REDHAT_AS_LINUX                                                         */
+/*    SUSE_LINUX                                                              */
+/*    KERNEL_ORG_LINUX                                                        */
+/*                                                                            */
+/* Select REDHAT_AS_LINUX for:                                                */
+/*    - RedHat Advanced Server                                                */
+/*    - RedHat Enterprise Linux (AS|ES|WS).                                   */
+/*                                                                            */
+/* Select REDHAT_LINUX for RedHat professional                                */
+/*                                                                            */
+/* Select SUSE_LINUX for SuSE Enterprise Server                               */
+/*                                                                            */
+/******************************************************************************/
+LINUX_DISTRIBUTION = REDHAT_LINUX
+
+
+/******************************************************************************/
+/* Linux Distribution Level Defines:                                          */
+/*                                                                            */
+/* Define the Linux distribution level setting. Only one Linux distribution   */
+/* level may be defined.                                                      */
+/*                                                                            */
+/* NOTE:                                                                      */
+/*                                                                            */
+/* The DISTRIBUTION_LEVEL may be required if the patches for a common         */
+/* LINUX_KERNEL_VERSION diverge across a LINUX_DISTRIBUTION. For instance,    */
+/* RedHat 8 and RedHat 9 have different kernel patches for a similar version  */
+/* number kernel. For this example, LINUX_DISTRIBUTION_LEVEL would be set to  */
+/* "80" for RedHat 8 and "90" for RedHat 9.
+/*                                                                            */
+/******************************************************************************/
+#define LINUX_DISTRIBUTION_LEVEL 90
+
+
+/******************************************************************************/
+/* Linux Kernel Version Defines:                                              */
+/*                                                                            */
+/* Define the Linux kernel version and kernel includes directory settings.    */
+/* Only one Linux kernel version and one kernel includes directory may be     */
+/* defined.                                                                   */
+/*                                                                            */
+/* The Linux kernel version is determined from the first four components of   */
+/* the kernel string. It is important to note that the second, third and      */
+/* fourth components are specified with two digits. Any component less than   */
+/* 10 must be preceded by a '0', while any component greater than or equal to */
+/* 100 should specify '99'.                                                   */
+/*                                                                            */
+/* Examples:                                                                  */
+/*                                                                            */
+/*    2.4.18-21   would be 2041821                                            */
+/*    2.4.21-111  would be 2042199                                            */
+/*    2.6.5-7.139 would be 2060507                                            */
+/*                                                                            */
+/* The kernel includes directory is where GPFS will find the kernel headers   */
+/* for the kernel specified by the LINUX_KERNEL_VERSION define. The kernel    */
+/* includes location varies by Linux distribution.                            */
+/*                                                                            */
+/* Examples:                                                                  */
+/*                                                                            */
+/*    /lib/modules/`uname -r`/build/include                                   */
+/*    /lib/modules/`uname -r`/source/include                                  */
+/*    /usr/src/linux/include                                                  */
+/*                                                                            */
+/******************************************************************************/
+#define LINUX_KERNEL_VERSION 2042028
+KERNEL_HEADER_DIR = /lib/modules/`uname -r`/build/include
+
+/******************************************************************************/
+/* Linux Build Directory (Needed for Linux 2.6 kernel only)                   */
+/*                                                                            */
+/* For Linux kernel version 2.6, kernel build directory needs to be specified */
+/* as well.                                                                   */
+/* If you are running a vanilla kernel, where in the headers and the build    */
+/* directories are in the standard place (i.e. under /lib/modules) then       */
+/* running "make Autoconfig" will set the correct values for                  */
+/* KERNEL_BUILD_DIR variable.                                                 */
+/*                                                                            */
+/* The kernel build directory is where the kernel build tools reside.         */
+/* These tools are required to build the GPFS modules for Linux.              */
+/* Examples:                                                                  */
+/*    /lib/modules/`uname -r`/build                                           */
+/*                                                                            */
+/******************************************************************************/
+KERNEL_BUILD_DIR = /lib/modules/`uname -r`/build
+
+/* Flags for building with desired Linux kernel patches.
+ * These are patches for specific problems we've discovered
+ * with the linux kernel and are providing interim patches
+ * for.  Each patch is described below and the desired patches 
+ * should be uncommented under LINUX_PATCH_DEFINES. 
+ *
+ * -DMMAP_LINUX_PATCH  Required for use of mmapped writes.
+ *
+ * Descriptions and downloads for these patches may be found at 
+ * http://sourceforge.net/tracker/index.php?func=detail&aid=1153778&group_id=130828&atid=719124
+ */
+LINUX_PATCH_DEFINES = \
+/*  -DMMAP_LINUX_PATCH  */
+
+/*****************************************************/
+/* Linux portability layer defines end.              */
+/* Everything below here is irrelevent to customer   */
+/* compiles of the portability layer.                */
+/*****************************************************/
+#endif /* GPFS_LINUX */
+
+/* Descriptions of variables used by the build process:
+
+   The following variables are lists available to all makefiles:
+     DESTDIR              Root of the ts directory in the build tree.
+     CDEBUGFLAGS          Passed to all compiles of code that goes in mmfsd
+                            or other process-level code.  Empty by default;
+                            intended to be used temporarily within the
+                            Imakefile in a directory to turn on generation of
+                            assembly listings, say.
+     KCDEBUGFLAGS         Passed to all compiles of code that goes in kernel
+                            extensions.  Empty by default.
+     OPTFLAGS             Compiler optimization flags for daemon code and
+                            code that is compiled once and bound into both
+                            the daemon and the kernel.  Typical values are -g
+                            or -O.
+     KOPTFLAGS            Compiler optimization flags for code used exclusively
+                            in kernel modules.
+     ARCH_DEFINES         -D defines describing the machine architecture
+     DEFAULT_DEFINES      List of -D defines used for shipped product code.
+                            The complete list of possible -D values is given
+                            below.
+     TEMPSHIP_DEFINES     List of -D defines used for debuging, not shipped
+                            in product code after first few PTFs of new release.
+     NEVERSHIP_DEFINES    List of -D defines used for testing, never shipped
+                            in product code.
+     SITE_DEFINES         List of the complete set of -D defines used by each
+                            compilation in the build.  For testing, this will
+                            be the concatenation of DEFAULT_DEFINES,
+                            ARCH_DEFINES, TEMPSHIP_DEFINES, and
+                            NEVERSHIP_DEFINES.  For the shipped product,
+                            this will just contain DEFAULT_DEFINES and
+                            ARCH_DEFINES (and TEMPSHIP_DEFINES for a
+                            little while).
+
+     KERNEL_HEADER_DIR    Directory where Linux kernel header files are kept
+
+   The following variables are either defined or undefined by this file.
+   Tests of these are used in Imakefiles to conditionally control which
+   lines are processed.  For almost all of these there is a
+   corresponding -Dxxx that must be specified in SITE_DEFINES.
+
+     DMAPI                #define this to cause code implementing the DMAPI
+                            interface to GPFS to be built.  Requires -DDMAPI
+                            in SITE_DEFINES.
+     FAR_TRACE            #define this to cause calls to the routine that
+                            actually does TRACEn to be placed far away from
+                            the tests of whether tracing is enabled.  When
+                            tracing is off, this results in fewer I-cache
+                            misses, and therefore better performance.  Also
+                            controls several compiler options that are needed
+                            to get the correct code generated.  Cannot be
+                            used with -g.
+     LINUX_KERNEL_VERSION  #define this to match the version of the Linux
+                            include files being used for the applicable
+                            architecture type.  This is always an eight
+                            digit decimal number.  The first four
+                            digits give the major and minor kernel version
+                            numbers.  For Linux 2.4 these will always be
+                            0204, with the leading zero omitted.  The next
+                            two digits give the kernel subversion.  The last
+                            two digits give the patch level.  Thus the 
+                            LINUX_KERNEL_VERSION of 
+                              linux-2.4.18-14 is 2041814
+                            while
+                              linux-2.4.19    is 2041900
+
+                            The compile-time symbol LINUX_KERNEL_VERSION 
+                            will be set to the same value as the make-time 
+                            symbol LINUX_KERNEL_VERSION.  
+                            The GPFS_KERNEL_VERSION macro uses the same 
+                            encoding of kernel version as does 
+                            LINUX_KERNEL_VERSION, and can be used to 
+                            conditionally compile version dependent code.
+     GPROF_DAEMON         #define this to compile and link the daemon for
+                            gprof.  Use 'mmfsadm test gprof on|off' to control
+                            when profiling is enabled.  (Not tested in years,
+                            may not work.)
+     TRY_AND_BUY          #define this to build a "try and buy" version of
+                            GPFS with a timeout license key
+     MMPMON               #define this to build support for MMPMON remote
+                            performance monitoring services.  Requires -DMMPMON
+                            in SITE_DEFINES.
+     MMPMON_CUMULATIVE    #define this to build support for MMPMON remote
+                            performance monitoring cumulative all-time stats.
+			    Requires -DMMPMON in SITE_DEFINES.
+     MMPMON_HISTOGRAMS    #define this to build support for MMPMON remote
+                            performance monitoring latency histogram data.
+			    Requires -DMMPMON *and* -DMMPMON_HISTOGRAMS
+                            in SITE_DEFINES.
+     EXPORTER_EVENTS      #define this to enable the APPEND_EXPORTER_EVENT code
+			    originally used by the Java GUI
+     SMB_LOCKS            #define this to add SMB share mode and oplock support
+                            Requires -DSMB_LOCKS in SITE_DEFINES
+     CCL                  #define this to add support for CIFS Compatibility 
+                           Layer.  Requires -DCCL in SITE_DEFINES
+     KTRACE               #define this to build trace device into Linux
+                            kernel and allow trace statements in kernel.
+                            Requires -DKTRACE in SITE_DEFINES
+     NO_ASM_UTIL          #define this to prevent the use of assembler versions
+                            of utility routines in classes/basic directory
+     CROSS_COMPILE        #define this when cross-compiling to avoid running
+                            tools that must be built for the target system but
+                            run on the build system (e.g. chksystypes program)
+     POLICY               #define this to compile the policy library. Use with 
+	                    -DPOOLS and -DPOLICY
+     NOKREGPARMS          #define this to build gpfs compatable for a
+			    custom built 2.6 kernel with CONFIG_REGPARMS
+			    turned off.
+
+   Descriptions of all -Dxxx values that control building GPFS features.
+   To generate optional code add one or more of the following to
+   SITE_DEFINES:
+
+   Standard system features
+     -D__FULL_PROTO       Used by AIX header files to ensure that prototypes
+                          of functions include full parameter list.  Needed
+                          since these functions have a C calling convention and
+                          thus must always be defined with their full proto.
+     -DBLOCK_RESTORE      Add support for block level incremental
+	                    backup & restore.
+     -DDIO                Direct I/O support
+     -DDIO_XW             Define this to allow direct I/O writes to
+                            allocate new data blocks rather than falling
+                            back to normal I/O, provided that write request
+                            is block-aligned block multiple.  DIO will use
+                            xw byte-range lock rather than whole-file sx
+                            lock for block-sized I/O.
+     -DDISK_LEASE_DMS     Add support for a deadman switch.  When disk leasing
+                            is on, a kernel timer will be turned on, to be
+                            restarted whenever a new lease is obtained.  If
+                            the lease cannot be renewed, and timer expires,
+                            and there's still some outstanding I/O requests,
+                            the node is paniced.
+     -DDMAPI              Activate DMAPI code (also define DMAPI).
+     -DDMAPI_MOVERS       Activate DMAPI parallel movers code.
+     -DDMAPI_PREFETCH_DIRATTRS Active parallel dm_get_dirattr and dm_get_dmattr
+     -DLC_FENCING         Enable LC fencing of VSD disks
+     -DMMAP_DIO           Change mmap page-out to use direct I/O to write
+                            the page if a GPFS data buffer is not available.
+                            This removes the requirement that read/write
+                            mapped pages always have a GPFS data buffer to
+                            back them.  Requires -DDIO.
+     -DNFS_SKIP_SHRINK_TO_FIT Don't do shrink to fit for NFS when the open
+                            file is not empty.
+     -DPOW2_COND_SHIFT    Enable code that implements multiplies and divides
+                            by shifts when possible.
+     -DSANERGY            Enable SANergy interfaces.
+     -DSFS_PERF_SKIP_SYNC Performance improvement to skip multiple sync calls	
+                            for the same file.
+     -DSFS_PERF_USE_SMALL_BUFFER try to use small buffers to avoid reading
+                            data that might not be referenced.
+     -DSMB_LOCKS          Add support for SMB open locks and oplocks.
+     -DSPAIXLVL=432       AIX level. Must use this option when compiling on
+                            AIX 4.3.2 (with new compiler).
+     -DSPAIXLVL=433       Must use this option when compiling on AIX 4.3.3
+     -DSPAIXLVL=516       Must use this option when compiling on AIX 5.1.6+
+     -DMMPMON             Enable MMPMON performance monitoring
+			 (also enable -DMMPMON.)
+     -DMMPMON_CUMULATIVE  Enable MMPMON performance monitoring cumulative
+			  all time stats (also enable -DMMPMON and
+			  define MMPMON)
+     -DMMPMON_DAEMON_PORT Enable code that allows mmpmon/EE connections via
+                           the standard daemon port.  Authentication done by
+                           llcomm.  Compatible with MMPMON_NAMED_SOCKET.
+     -DMMPMON_HISTOGRAMS  Enable MMPMON performance monitoring latency
+			  histograms (also enable -DMMPMON and
+			  define MMPMON + MMPMON_HISTOGRAMS.)
+     -DMMPMON_NAMED_SOCKET Enable MMPMON named socket instead of the
+                           independent EE network port.  Mutually exclusive.
+     -DMMPMON_RPC         Enable MMPMON rpc interface
+     -DEXPORTER_EVENTS    Enable the APPEND_EXPORTER_EVENT code
+			    originally used by the Java GUI
+     -DFAR_TRACE          LINUX: Generate calls to the TRACE subroutine
+                            out-of-line with respect to the tests of whether
+                            tracing is enabled.  Do not explicitly include
+                            this in the list of -D options; it will be
+                            provided automatically if FAR_TRACE or
+                            KFAR_TRACE is #defined.
+     -DFAR_CODE           LINUX: Enable the BEGIN_FAR_CODE/END_FAR_CODE macros
+                            to place arbitrary uncommonly executed code
+                            out-of-line.  Requires -DFAR_TRACE.  Do not
+                            explicitly include this in the list of -D
+                            options; it will be provided automatically
+                            if FAR_TRACE or KFAR_TRACE is #defined.
+     -DUSE51BREGS         AIX: Use AIX 5.1.B register semantics in assembler
+                          code.  Must be turned on for code that will
+                          run on AIX 5.x.
+     -DTSCOMM_SECURITY    Enable support for secure network communication.
+     -DLIMIT_KSTACKS      Generate code that is less efficient in the GPFS
+                            kernel module, but that uses less kernel stack
+                            space.  Needed on i386 for Linux kernel versions
+                            at or beyond 2.6.6.
+     -DPERF_STATS         Additional performance statistics for benchmark runs
+
+   Defines for new upcoming features:
+     -DCCL                Add support for CIFS Compatibility Layer.
+     -DEE_WATCHDOG_START  Start the EE watchdog thread (checks for anomolies)
+                          This feature used to be enabled, but since there
+                          is currently no consumer for its data, it is now
+                          disabled by default.
+     -DNFS4_CLUSTER       Add support for NFS Version 4.
+                            Requires the 2.4.18 nfsv4 kernel.
+     -DNFS4_ACL           Add support for NFSv4 ACLs.
+     -DNFS4_VCM           Add support for the AIX VCM (NFSv4 locking)
+
+     -DDESCQUORUM_OVERRIDE Add support for manual overrides of the stripe
+                             group descriptor quorum.
+     -DUIDREMAP           Enable support for UID remapping in multicluster
+                          environment.
+     -DALLOC_SUM_FILE     Enable support allocation summary file 
+
+     -DCHECK_KXTIMESTAMP  Enable code that a) links both mmfsd and mmfs with
+                          an object that contains a timestamp b) checks very
+                          early during daemon startup that kernel and userspace
+                          code have the same timestamp, i.e. the kernel
+                          extension loaded in memory is from the same build as 
+                          the currently starting daemon.  The intent is to 
+                          prevent hard-to-diagnose problems arising (on AIX,
+                          most often) from having a stale kernel extension 
+                          loaded after installing a new build.  Will only be
+                          enabled in ADE/ODE builds, although CVS builders 
+                          can enable it as well.
+     -DPOOLS              Add support for multiple disk storage pools.
+     -DFILESETS           Add support for filesets.
+     -DFILESET_QUOTAS     Add support for fileset quotas. Must be used with
+                          FILESETS.
+     -DPOLICY             Policy language and commands - used with POOLS and FILESETS, prereq
+     -DPOLICY_RESTORE       Initial support for new RESTORE policy attributes
+     -DPOLICY_RESTORE_RULES Add support for new RESTORE policy rules
+     -DSINGLE_PORT        Enable support for use of a single port number.
+     -DTHREADED_RECEIVER  Enables multi-threaded receiver code.
+     -DNO_XCLUST          Avoid sending cross-cluster RPCs between different
+                          remote clusters
+     -DWAIT_FOR_NSD_SERVERS Enables the feature to wait for NSD servers to 
+                          come up on mounts, when cluster is first formed,
+                          and other select situations (see doc for details.)
+
+   Defines for non GA versions of the code but turned on for our web
+   based "try and buy" version of GPFS.
+     -DTRY_AND_BUY        Build a "try and buy" version of 
+                            GPFS with a timeout license key
+
+   Defines for Normal testing, not for shipped systems:
+     -DDBGASSERTS         Generate code for DBGASSERT macros
+     -DTRIGGERS           Respond to 'test trigger xxx' commands
+     -DTRACK_USECOUNT     Code to track contributing threads to a stripe
+                            group's use count.
+     -DDIRCHECKASSERTS    Check validity of directory disk data structures
+                            frequently, and assert when an inconsistency is
+                            found.  Expensive, so separated from DBGASSERTS.
+     -DPTHREAD_STATS      Generate code to count how many times various
+                            paths are taken through thread, mutex, and
+                            condition variable code.
+     -DNO_ASM_SYNCH       Disable implementation of fast versions of mutex
+                            acquire/release in assembler.  Enables trace
+                            calls and some debugging code under -DDBGASSERTS
+                            that is not supported by the assembler
+                            implementation.  Required if -DTRACK_RESOURCE_USAGE
+                            is used.
+     -DINSTRUMENT_LOCKS   Enable summary lock instrumentation for mutexes
+                            and lock objects.  Requires -DPTHREAD_STATS.
+     -DINSTRUMENT_DETAIL_LOCKS
+                          Also enable per-mutex lock instrumentation.
+                            Requires -DINSTRUMENT_LOCKS.
+     -DTM_DETAIL_STATS    Extra counters to track which token prefetches
+                            are useful and which are not.
+     -DVERBOSETRACE       Generate code to produce traces for trace levels > 10
+     -DGPFS_FRAME_POINTER Tell GPFS code that -fomit-frame-pointer was not
+                           specified, so frame pointer is available. Use
+                           either -fomit-frame-pointer or -DGPFS_FRAME_POINTER
+                           when defining OPTFLAGS
+     -DENTRYEXIT_TRACE    Enable routine entry/exit tracing that is controlled
+                           by mmfsadm trace entryexit <n>
+     -DKSTACK_CHECK       Keep track of how much kernel stack space is used
+                           within GPFS kernel modules.  Print tracebacks of
+                           the point of maximum stack usage if it exceeds a
+                           threshhold.  Can only be used on Linux.
+
+   Defines for weird test conditions, not normally used:
+     -DPOW2_FORCE_SHIFT   Do only shifts for some math. Requires that all
+                          GPFS block sizes be power of 2.
+                          Since VTS uses 384K blocksize, this is not a
+                          shipable option.
+     -DTIME_MUTEXES       Time how long mutexes are held.  Summary produced
+                            by 'mmfsadm dump lstat'.  
+                            Requires -DINSTRUMENT_LOCKS.
+     -DGPFS_PRINTF        On Linux, send trace output to the console via printk
+                            instead of collecting trace output using ltrace.
+                            (requires GPFS_LINUX).
+     -DTSCAN              Enable trace points used by the tscan utility to
+                            measure CPU usage by system call.
+     -DTRACK_RESOURCE_USAGE
+                          Keep track of resources (locks, mutexes, buffers,
+                            threads, etc.) held by a thread and verify that
+                            resources are acquired in a consistent order.
+                            Requires -DNO_ASM_SYNCH.
+     -DSUPPORT_FOR_DOS_STATFS  Hack for DOS client fsstat
+     -DDACSPY             Counts the number of times objects of each of
+                            the dynamic array classes are created.
+                            The classes are defined via the DECL_ARRAY_CLASS
+                            macro in DAC.h.  This optional instrumentation
+                            allows for determining which objects being
+                            allocated on the heap may require allocation
+                            optimization such as via a linked list of
+                            preallocated objects.
+     -DMALLOC_DEBUG       Generate code to track the file and line number from
+                            which each block of MALLOCed storage was allocated
+     -DTRACE_IO_DATA      If RTPERF trace level is >= 3, dump the first few
+                            words of data read or written by any disk I/O
+                            operation.  This is a security exposure, and should
+                            not be turned on in production.
+     -DNEW_DELETE_DEBUG   Override global operators new and delete, to assist
+                            in finding uninitialized dynamic storage, writing
+                            beyond the end of an allocated object, reference to
+                            deleted objects, and storage leaks.  The 'mmfsadm
+                            test newdebug' command enables some of these
+                            features.
+     -DNEW_DELETE_TRACEBACKS
+                          Save the call stack on memory allocations tracked
+                            by -DNEW_DELETE_DEBUG.  Not supported on Linux.
+     -DDIR_VERSION_NUMBERS
+                          Increment one of the reserved words in directory
+                            block headers each time the block is written to
+                            disk.  Helps to sequence directory updates in time
+                            across multiple nodes.  Should never be turned on
+                            except on file systems that will be reformatted.
+     -DTEST_SMALL_DISKS=x When creating a file system or adding disks,
+                            artificially limit the disk size to x megabytes.
+                            Useful for testing ENOSPC conditions without having
+                            to fill up large disks or creating new, smaller
+                            logical volumes.
+     -DTEST_DELDISK       Ignore all but the first disk listed in mount
+                            options.  This is useful when testing so that
+                            the tsdeldisk and tsrpldisk commands can be used
+                            without the "mm" commands.
+     -DNO_VFS_STATS       Do not generate any code to generate statistics for
+                            the 'mmfsadm vfsstats {enable|disable|reset|show}'
+                            family of commands.
+     -DSTOP_TRACE_ON_FAILURE Set all trace flags to 0 as soon as LOGASSERT
+                            is triggered or deamon cleanup begins.
+     -DDEBUG_SPINLOCK     Define this if Linux kernel is built with
+                            CONFIG_DEBUG_SPINLOCK.
+     -DFILEIDCMD_PERF     Define this to enable perf measurements for mmfileid
+                            command
+     -DKTRACE             Define this to build trace device into Linux
+                            kernel and allow trace statements in kernel
+                            (also define KTRACE).
+     -DENABLE_SKIP_DATA_MOVE Enable the 'mmfsadm test disableDataXfer 0/1'
+                            command to skip moving data between user buffers
+                            and GPFS buffers and to skip data I/O.  Allows
+                            simulating a higher metadata load than the actual
+                            data I/O configuration would support.
+*/
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+#ifdef GPFS_ARCH_POWER
+ARCH_DEFINES = -DGPFS_ARCH_POWER
+#endif
+
+#ifdef  GPFS_ARCH_I386
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+#endif
+
+#ifdef  GPFS_ARCH_IA64
+ARCH_DEFINES = \
+  -D__64BIT__ \
+  -DALIGNED_DATA_ACCESS \
+  -DGPFS_ARCH_IA64 \
+  -DGPFS_LITTLE_ENDIAN \
+  -DAPI_32BIT
+#endif
+
+#ifdef  GPFS_ARCH_PPC64
+ARCH_DEFINES = -DGPFS_ARCH_PPC64 -D__64BIT__ -DALIGNED_DATA_ACCESS
+#endif
+
+#ifdef  GPFS_ARCH_X86_64
+ARCH_DEFINES = -DGPFS_ARCH_X86_64 -D__64BIT__ -DGPFS_LITTLE_ENDIAN \
+               -DAPI_32BIT
+#endif
+
+/***********************************/
+/* Defines common to all platforms */
+/***********************************/
+COMMON_DEFINES = \
+  -DALLOC_SUM_FILE \
+  -DBLOCK_RESTORE \
+  -DDESCQUORUM_OVERRIDE \
+  -DDIO \
+  -DDIO_XW \
+  -DDISK_LEASE_DMS \
+  -DDMAPI \
+  -DDMAPI_MOVERS \
+  -DDMAPI_PREFETCH_DIRATTRS \
+  -DEXPORTER_EVENTS \
+  -DFILESETS \
+  -DFILESET_QUOTAS \
+  -DGPFS_ERRNO_MAPPING \
+  -DGPFS_QUOTACTL \
+  -DLC_FENCING \
+  -DMMAP_DIO \
+  -DMMPMON \
+  -DMMPMON_CUMULATIVE \
+  -DMMPMON_DAEMON_PORT \
+  -DMMPMON_HISTOGRAMS \
+  -DMMPMON_NAMED_SOCKET \
+  -DMMPMON_RPC \
+  -DNFS_SKIP_SHRINK_TO_FIT \
+  -DNFS4_ACL \
+  -DNFS4_VCM \
+  -DNO_XCLUST \
+  -DPERF_STATS \
+  -DPOLICY \
+  -DPOLICY_RESTORE \
+  -DPOOLS \
+  -DPOW2_COND_SHIFT \
+  -DSANERGY \
+  -DSFS_PERF_SKIP_SYNC \
+  -DSFS_PERF_USE_SMALL_BUFFER \
+  -DSINGLE_PORT \
+  -DSMB_LOCKS \
+  -DTHREADED_RECEIVER \
+  -DTSCOMM_SECURITY \
+  -DUIDREMAP \
+  -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES = \
+  -DDBGASSERTS \
+  -DNEW_DELETE_DEBUG  \
+  -DTRACK_USECOUNT \
+  -DTRIGGERS \
+  -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES = \
+  -DINSTRUMENT_LOCKS \
+  -DPTHREAD_STATS \
+  -DTRACE_IO_DATA \
+  -DENTRYEXIT_TRACE
+
+#define DMAPI
+#define EXPORTER_EVENTS
+#define FILESETS
+#define MMPMON
+#define MMPMON_CUMULATIVE
+#define MMPMON_HISTOGRAMS
+#define PERF_STATS
+#define POLICY
+#define SANERGY
+#define SMB_LOCKS
+#define THREADED_RECEIVER
+/* #define TRY_AND_BUY */
+#define TSCOMM_SECURITY
+
+/*********************/
+/* AIX configuration */
+/*********************/
+#ifdef GPFS_AIX
+#define AIX5
+
+/* 64-bit AIX build (on HACMP) */
+/* #define GPFSBLD64 */
+
+#ifdef GPFSBLD64
+  OPTFLAGS = -g
+  KOPTFLAGS = -g
+  EXTRASTD_CFLAGS = -q64 -qlargetype -qsuppress=1540-0053
+  EXTRASTD_LDFLAGS = -q64 -g
+  EXTRALDFLAGS2 = -b64
+  EXTRAARFLAGS = -X64
+  EXTRAM4FLAGS = -D__64BIT__
+  EXTRAASFLAGS = -a64
+  MKTRCFMT_FLAGS = -q64
+#else
+  OPTFLAGS =
+  KOPTFLAGS =
+#endif
+
+/* Build for AIX4 or AIX5
+ * To build on AIX 5.x, you'll need these ifdefs
+ *   -DSPAIXLVL=516 -DUSE51BREGS
+ */
+#ifndef AIX5
+#define AIX4
+#endif
+
+#ifdef AIX4
+  AIX_VERSION_DEPS = -DSPAIXLVL=432
+#else
+  AIX_VERSION_DEPS = -DSPAIXLVL=516 -DUSE51BREGS
+#endif
+
+SITE_OTHER_KINCLUDES =
+SITE_OTHER_KDEFINES = -D_KERNEL
+
+SITE_FAR_TRACE_OPTS =
+SITE_KFAR_TRACE_OPTS =
+
+DEFAULT_DEFINES = \
+  $(AIX_VERSION_DEPS) \
+  -D__FULL_PROTO \
+  -DGPFS_AIX
+
+TEMPSHIP_DEFINES = \
+  -DNEW_DELETE_TRACEBACKS
+
+EXTRAINSTROOTFLAGS = -s
+EXTRAINSTPROGFLAGS = -s
+
+#endif /* end of AIX */
+
+/***********************/
+/* Linux configuration */
+/***********************/
+#ifdef GPFS_LINUX
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE \
+                      -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX = \
+  -U_GNU_SOURCE \
+  -D__USE_BSD \
+  -D_LARGEFILE64_SOURCE \
+  -DGPFS_LINUX \
+  -DYESSTR=__YESSTR \
+  -DNOSTR=__NOSTR \
+  -DLUM \
+  -DNPTL \
+  -DSSEG_SWIZZLE_PTRS \
+  -D$(LINUX_DISTRIBUTION) \
+  -DLINUX_DISTRIBUTION_LEVEL=LINUX_DISTRIBUTION_LEVEL \
+  $(LINUX_PATCH_DEFINES)
+
+#define LUM
+#define SSEG_SWIZZLE_PTRS
+
+EXTRASTD_LDFLAGS = 
+EXTRALDFLAGS2 =  
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+/* If you add -g to OPTFLAGS, you must also comment out the define of
+ * FAR_TRACE.  It is recommended to remove the -fomit-frame-pointer 
+ * option for better debugging information.  If you add -g to KOPTFLAGS, you 
+ * must comment out the define of KFAR_TRACE. 
+ */
+
+/**********************/
+/* Linux i386 defines */
+/**********************/
+#ifdef GPFS_ARCH_I386
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions \
+            -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions \
+            -fno-common -fomit-frame-pointer
+
+#if LINUX_KERNEL_VERSION > 2060500
+
+#if LINUX_KERNEL_VERSION >= 2061600
+COMMON_26_FLAGS += -m32 -ffreestanding                                                                                     
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2                                                               
+OPTFLAGS  += $(COMMON_26_FLAGS)                                                                                            
+#endif /* LINUX_KERNEL_VERSION >= 2061600 */
+                                                                                  
+#ifdef PCE_26_PCE
+#define NOKREGPARMS
+KOPTFLAGS += -mpreferred-stack-boundary=2 -DPCE_26_PCE
+OPTFLAGS  += -DPCE_26_PCE            
+#endif /* PCE_26_PCE */
+
+#ifndef NOKREGPARMS
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+#else
+SITE_OTHER_KDEFINES += -DNOKREGPARMS
+#endif
+#endif /* LINUX_KERNEL_VERSION > 2060500 */
+
+#define KFAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION \
+  -DLIMIT_KSTACKS \
+  -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux i386 defines */
+
+
+/***********************/
+/* Linux Power defines */
+/***********************/
+#ifdef GPFS_ARCH_POWER
+
+OPTFLAGS = -g0 -O2 -fno-exceptions
+KOPTFLAGS = -O2 -msoft-float -fno-exceptions -fno-common
+
+#undef KFAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DCONFIG_UP \
+  -DNO_ASM_SYNCH \
+  -DSSEG_RESERVE_MEM \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION
+
+TEMPSHIP_DEFINES = -DDISABLE_KERNEL_PANIC
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#define NO_ASM_UTIL
+
+#endif /* end of Linux power defines */
+
+
+/**********************/
+/* Linux ia64 defines */
+/**********************/
+#ifdef GPFS_ARCH_IA64
+
+OPTFLAGS = -g0 -O2 -fno-strict-aliasing -fno-exceptions
+KOPTFLAGS = -O2 -fno-strict-aliasing -fno-exceptions -fno-common
+
+#undef KFAR_TRACE
+#undef FAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION 
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux ia64 defines */
+
+/***************************/
+/* Linux PowerPC64 defines */
+/***************************/
+#ifdef GPFS_ARCH_PPC64
+
+#if LINUX_KERNEL_VERSION < 2060000
+CC = powerpc64-linux-g++
+C_COMP = powerpc64-linux-gcc
+CPP = powerpc64-linux-cpp
+BARELD = powerpc64-linux-ld
+AR = powerpc64-linux-ar clq
+AS = powerpc64-linux-as
+KAR = powerpc64-linux-ld $(LDFLAGS2) -r -o
+RANLIB = powerpc64-linux-ranlib
+ARDEL = $(AR) d
+MAKEDEPEND = $(CC)
+CPLUSINC = -I/opt/cross/include
+#endif
+
+OPTFLAGS = -g0 -O2 -mminimal-toc -fno-exceptions
+KOPTFLAGS = -O -msoft-float -fno-exceptions
+
+#if LINUX_KERNEL_VERSION > 2060000
+OPTFLAGS += -m64 -mpowerpc64
+MAKEDEPEND = $(CC) -m64
+#if (LINUX_KERNEL_VERSION >= 2061600)
+KOPTFLAGS += -m64 -mcall-aixdesc -mno-altivec -fno-common -ffreestanding -mtune=power4 -funit-at-a-time -mstring -fno-ivopts -Wa,-maltivec
+#else
+KOPTFLAGS += -m64 -mpowerpc64 -fno-common
+#endif
+
+EXTRASTD_LDFLAGS = -melf64ppc -m64
+EXTRALDFLAGS2 =  -melf64ppc
+BARELD += -melf64ppc
+
+ifeq ("$(LINUX_DISTRIBUTION)","REDHAT_AS_LINUX")
+#if LINUX_KERNEL_VERSION >= 2060905
+KOPTFLAGS += -mcall-aixdesc
+#endif
+endif
+
+#endif
+
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux PowerPC64 defines */
+
+/**************************************/
+/* Linux Opteron (aka x86_64) defines */
+/**************************************/
+#ifdef GPFS_ARCH_X86_64
+
+OPTFLAGS = -g0 -O2 -fno-strict-aliasing -fno-exceptions -fPIC
+KOPTFLAGS = -O2 -fno-strict-aliasing -fno-exceptions -fno-common \
+            -mcmodel=kernel -mno-red-zone
+
+#undef KFAR_TRACE
+#undef FAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION \
+  -DLIMIT_KSTACKS
+
+/* SMART_PTR_DEBUG turned off in ODE build due to large performance hit */
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux x86_64 defines */
+
+#ifdef FAR_TRACE
+SITE_FAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+#else
+SITE_FAR_TRACE_OPTS =
+#endif
+
+#ifdef KFAR_TRACE
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+#else
+SITE_KFAR_TRACE_OPTS =
+#endif
+
+#endif /* end of Linux defines */
+
+/* Build complete list of -D compile flags */
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+/* kernel source build */
+#ifdef SRC_BUILD
+SITE_DEFINES += -DSRC_BUILD
+#endif
+
+
+/* Force compiler options needed for gprof if necessary */
+#ifdef GPROF_DAEMON
+CDEBUGFLAGS = -g -pg
+#endif
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/error
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/error	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/error	(revision 16)
@@ -0,0 +1,389 @@
+Verifying that tools to build the portability layer exist....
+imake present
+cpp present
+gcc present
+g++ present
+ld present
+cd config; ./bootstrap; /usr/bin/make clean; /usr/bin/make install
+make[1]: Entering directory `/usr/lpp/mmfs/src/config'
+rm -f #* ,* *~ *.CKP *.BAK *.bak core
+rm -f *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+rm -f install.ti install.he library.ti *.rpm
+make[1]: Leaving directory `/usr/lpp/mmfs/src/config'
+make[1]: Entering directory `/usr/lpp/mmfs/src/config'
+Checking Destination Directories....
+\c
+touch install.he
+\c
++ /usr/bin/install -c -m 0444 site.mcr /usr/lpp/mmfs/src/shark/config/site.mcr
++ /usr/bin/install -c -m 0444 imake.tmpl /usr/lpp/mmfs/src/shark/config/imake.tmpl
+/usr/bin/install  -c -m 0755 depend.sh  /usr/lpp/mmfs/src/bin
+touch install.ti
+make[1]: Leaving directory `/usr/lpp/mmfs/src/config'
+Making Makefiles (/usr/lpp/mmfs/src/ibm-kxi)
+make[1]: Entering directory `/usr/lpp/mmfs/src'
+cd ibm-kxi; \
+	/usr/X11R6/bin/imake -Timake.tmpl -I. -I/usr/lpp/mmfs/src/shark/config -s makefile; \
+	touch .depends; \
+	cat .depends >>makefile; \
+	/usr/bin/make -w -- MAKE_SUBDIR=ibm-kxi  Makefiles
+make[2]: Entering directory `/usr/lpp/mmfs/src/ibm-kxi'
+make[2]: Nothing to be done for `Makefiles'.
+make[2]: Leaving directory `/usr/lpp/mmfs/src/ibm-kxi'
+make[1]: Leaving directory `/usr/lpp/mmfs/src'
+Making Makefiles (/usr/lpp/mmfs/src/ibm-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src'
+cd ibm-linux; \
+	/usr/X11R6/bin/imake -Timake.tmpl -I. -I/usr/lpp/mmfs/src/shark/config -s makefile; \
+	touch .depends; \
+	cat .depends >>makefile; \
+	/usr/bin/make -w -- MAKE_SUBDIR=ibm-linux  Makefiles
+make[2]: Entering directory `/usr/lpp/mmfs/src/ibm-linux'
+make[2]: Nothing to be done for `Makefiles'.
+make[2]: Leaving directory `/usr/lpp/mmfs/src/ibm-linux'
+make[1]: Leaving directory `/usr/lpp/mmfs/src'
+Making Makefiles (/usr/lpp/mmfs/src/gpl-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src'
+cd gpl-linux; \
+	/usr/X11R6/bin/imake -Timake.tmpl -I. -I/usr/lpp/mmfs/src/shark/config -s makefile; \
+	touch .depends; \
+	cat .depends >>makefile; \
+	/usr/bin/make -w -- MAKE_SUBDIR=gpl-linux  Makefiles
+make[2]: Entering directory `/usr/lpp/mmfs/src/gpl-linux'
+Making Makefiles (/usr/lpp/mmfs/src/gpl-linux/i386)
+make[3]: Entering directory `/usr/lpp/mmfs/src/gpl-linux'
+cd i386 || exit $?; \
+	/usr/X11R6/bin/imake -Timake.tmpl -I. -I/usr/lpp/mmfs/src/shark/config -s makefile; \
+	touch .depends;  \
+	cat .depends >>makefile; \
+	/usr/bin/make -w -- MAKE_SUBDIR=i386  Makefiles
+make[4]: Entering directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+make[4]: Nothing to be done for `Makefiles'.
+make[4]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+make[3]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux'
+make[2]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux'
+make[1]: Leaving directory `/usr/lpp/mmfs/src'
+Making Makefiles (/usr/lpp/mmfs/src/misc)
+make[1]: Entering directory `/usr/lpp/mmfs/src'
+cd misc; \
+	/usr/X11R6/bin/imake -Timake.tmpl -I. -I/usr/lpp/mmfs/src/shark/config -s makefile; \
+	touch .depends; \
+	cat .depends >>makefile; \
+	/usr/bin/make -w -- MAKE_SUBDIR=misc  Makefiles
+make[2]: Entering directory `/usr/lpp/mmfs/src/misc'
+make[2]: Nothing to be done for `Makefiles'.
+make[2]: Leaving directory `/usr/lpp/mmfs/src/misc'
+make[1]: Leaving directory `/usr/lpp/mmfs/src'
+rm -rf /usr/lpp/mmfs/src/include /usr/lpp/mmfs/src/bin /usr/lpp/mmfs/src/lib
+mkdir /usr/lpp/mmfs/src/include /usr/lpp/mmfs/src/bin /usr/lpp/mmfs/src/lib
+rm -f config/install.ti
+cleaning (/usr/lpp/mmfs/src/ibm-kxi)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-kxi'
+rm -f #* ,* *~ *.CKP *.BAK *.bak core
+rm -f *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+rm -f install.ti install.he library.ti *.rpm
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-kxi'
+cleaning (/usr/lpp/mmfs/src/ibm-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-linux'
+rm -f #* ,* *~ *.CKP *.BAK *.bak core
+rm -f *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+rm -f install.ti install.he library.ti *.rpm
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-linux'
+cleaning (/usr/lpp/mmfs/src/gpl-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/gpl-linux'
+rm -f #* ,* *~ *.CKP *.BAK *.bak core
+rm -f *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+rm -f install.ti install.he library.ti *.rpm
+rm -f mmfslinux mmfs26 lxtrace dumpconv tracedev *.symvers *.mod.c
+rm -f kdump
+rm -f lxtrace
+rm -f dumpconv
+rm -f gpl-linux.trclst
+cleaning (/usr/lpp/mmfs/src/gpl-linux/i386)
+make[2]: Entering directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+rm -f #* ,* *~ *.CKP *.BAK *.bak core
+rm -f *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+rm -f install.ti install.he library.ti *.rpm
+make[2]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+make[1]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux'
+cleaning (/usr/lpp/mmfs/src/misc)
+make[1]: Entering directory `/usr/lpp/mmfs/src/misc'
+rm -f #* ,* *~ *.CKP *.BAK *.bak core
+rm -f *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+rm -f install.ti install.he library.ti *.rpm
+rm -f getupdatelevel
+rm -f mktrace
+make[1]: Leaving directory `/usr/lpp/mmfs/src/misc'
+cd config; /usr/bin/make config2;
+make[1]: Entering directory `/usr/lpp/mmfs/src/config'
+Checking Destination Directories....
+\c
++ /usr/bin/install -c -m 0444 site.mcr /usr/lpp/mmfs/src/shark/config/site.mcr
++ /usr/bin/install -c -m 0444 imake.tmpl /usr/lpp/mmfs/src/shark/config/imake.tmpl
+/usr/bin/install  -c -m 0755 depend.sh  /usr/lpp/mmfs/src/bin
+touch install.ti
+make[1]: Leaving directory `/usr/lpp/mmfs/src/config'
+cd misc; /usr/X11R6/bin/imake -Timake.tmpl -I. -I/usr/lpp/mmfs/src/shark/config -s makefile
+cd misc; /usr/bin/make -  stubs
+make[1]: Entering directory `/usr/lpp/mmfs/src/misc'
+echo "#!/bin/ksh" > mktrace
+echo "# mktrace stub" >> mktrace
+echo "exit 0" >> mktrace
+make[1]: Leaving directory `/usr/lpp/mmfs/src/misc'
+cd misc; /usr/bin/make -  install
+make[1]: Entering directory `/usr/lpp/mmfs/src/misc'
+Checking Destination Directories....
+Making directory /usr/lpp/mmfs/src/include/cxi
+Checking Destination Directories....
+Making directory /usr/lpp/mmfs/src/lib/gpl-linux
+\c
+\c
++ /usr/bin/install -c -m 0444 DirIds.h /usr/lpp/mmfs/src/include/cxi/DirIds.h
+touch install.he
+rm -f getupdatelevel.o
+g++ -c -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER -m32 -ffreestanding    -I.  -I/usr/lpp/mmfs/src/include -I/usr/lpp/mmfs/src/include/cxi  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS    -I/usr/src/linux-source-2.6.20/include -D__KERNEL__ getupdatelevel.c
+cc1plus: warning: command line option "-ffreestanding" is valid for C/ObjC but not for C++
+rm -f getupdatelevel
+g++ -o getupdatelevel  getupdatelevel.o      -L. 
+\c
+\c
++ /usr/bin/install -c -m 0755 mktrace /usr/lpp/mmfs/src/bin/mktrace
+/usr/bin/install  -c -m 0755 createpatch.sh  /usr/lpp/mmfs/src/bin
+/usr/bin/install  -c -m 0755 applypatch.sh  /usr/lpp/mmfs/src/bin
+/usr/bin/install   getupdatelevel  /usr/lpp/mmfs/src/bin
+touch install.ti
+make[1]: Leaving directory `/usr/lpp/mmfs/src/misc'
+installing header files (/usr/lpp/mmfs/src/ibm-kxi)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-kxi'
++ /usr/bin/install -c -m 0444 cxiTypes.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h
++ /usr/bin/install -c -m 0444 cxiSystem.h /usr/lpp/mmfs/src/include/cxi/cxiSystem.h
++ /usr/bin/install -c -m 0444 cxi2gpfs.h /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h
++ /usr/bin/install -c -m 0444 cxiVFSStats.h /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h
++ /usr/bin/install -c -m 0444 cxiCred.h /usr/lpp/mmfs/src/include/cxi/cxiCred.h
++ /usr/bin/install -c -m 0444 cxiIOBuffer.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h
++ /usr/bin/install -c -m 0444 cxiSharedSeg.h /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h
++ /usr/bin/install -c -m 0444 cxiMode.h /usr/lpp/mmfs/src/include/cxi/cxiMode.h
++ /usr/bin/install -c -m 0444 Trace.h /usr/lpp/mmfs/src/include/cxi/Trace.h
++ /usr/bin/install -c -m 0444 cxiMmap.h /usr/lpp/mmfs/src/include/cxi/cxiMmap.h
++ /usr/bin/install -c -m 0444 cxiAtomic.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h
++ /usr/bin/install -c -m 0444 cxiTSFattr.h /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
++ /usr/bin/install -c -m 0444 cxiAclUser.h /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
++ /usr/bin/install -c -m 0444 cxiLinkList.h /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h
++ /usr/bin/install -c -m 0444 cxiDmapi.h /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h
++ /usr/bin/install -c -m 0444 LockNames.h /usr/lpp/mmfs/src/include/cxi/LockNames.h
+touch install.he
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-kxi'
+installing header files (/usr/lpp/mmfs/src/ibm-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-linux'
++ /usr/bin/install -c -m 0444 cxiTypes-plat.h /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h
++ /usr/bin/install -c -m 0444 cxiSystem-plat.h /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h
++ /usr/bin/install -c -m 0444 cxiIOBuffer-plat.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h
++ /usr/bin/install -c -m 0444 cxiSharedSeg-plat.h /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h
++ /usr/bin/install -c -m 0444 cxiMode-plat.h /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h
++ /usr/bin/install -c -m 0444 Trace-plat.h /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
++ /usr/bin/install -c -m 0444 lxtrace.h /usr/lpp/mmfs/src/include/cxi/lxtrace.h
++ /usr/bin/install -c -m 0444 cxiAtomic-plat.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h
++ /usr/bin/install -c -m 0444 cxiMmap-plat.h /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h
++ /usr/bin/install -c -m 0444 cxiVFSStats-plat.h /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
++ /usr/bin/install -c -m 0444 cxiCred-plat.h /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
++ /usr/bin/install -c -m 0444 cxiDmapi-plat.h /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h
+touch install.he
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-linux'
+installing header files (/usr/lpp/mmfs/src/gpl-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/gpl-linux'
+Checking Destination Directories....
+Making directory /usr/lpp/mmfs/src/include/gpl-linux
+\c
++ /usr/bin/install -c -m 0444 Shark-gpl.h /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h
++ /usr/bin/install -c -m 0444 prelinux.h /usr/lpp/mmfs/src/include/gpl-linux/prelinux.h
++ /usr/bin/install -c -m 0444 postlinux.h /usr/lpp/mmfs/src/include/gpl-linux/postlinux.h
++ /usr/bin/install -c -m 0444 linux2gpfs.h /usr/lpp/mmfs/src/include/gpl-linux/linux2gpfs.h
++ /usr/bin/install -c -m 0444 verdep.h /usr/lpp/mmfs/src/include/gpl-linux/verdep.h
++ /usr/bin/install -c -m 0444 Logger-gpl.h /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h
++ /usr/bin/install -c -m 0444 arch-gpl.h /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
++ /usr/bin/install -c -m 0444 oplock.h /usr/lpp/mmfs/src/include/gpl-linux/oplock.h
+touch install.he
+installing header files (/usr/lpp/mmfs/src/gpl-linux/i386)
+make[2]: Entering directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+touch install.he
+make[2]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+make[1]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux'
+installing header files (/usr/lpp/mmfs/src/misc)
+make[1]: Entering directory `/usr/lpp/mmfs/src/misc'
+Checking Destination Directories....
+Checking Destination Directories....
+\c
+\c
+touch install.he
+make[1]: Leaving directory `/usr/lpp/mmfs/src/misc'
+Depending (/usr/lpp/mmfs/src/ibm-kxi)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-kxi'
+touch install.he
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-kxi'
+Depending (/usr/lpp/mmfs/src/ibm-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-linux'
+touch install.he
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-linux'
+Depending (/usr/lpp/mmfs/src/gpl-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/gpl-linux'
+Checking Destination Directories....
+\c
+touch install.he
+/usr/lpp/mmfs/src/bin/depend.sh "g++" \
+	"-I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default -include /usr/src/linux-source-2.6.20/include/linux/autoconf.h  -I/" " -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS   -D__KERNEL__" " -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop -D__KERNEL__" " -D__KERNEL__"
+Depending (/usr/lpp/mmfs/src/gpl-linux/i386)
+make[2]: Entering directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+touch install.he
+/usr/lpp/mmfs/src/bin/depend.sh "g++" \
+	"-I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default  -I/" " -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS   -D__KERNEL__" " -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop -D__KERNEL__" " -D__KERNEL__"
+make[2]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+make[1]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux'
+Depending (/usr/lpp/mmfs/src/misc)
+make[1]: Entering directory `/usr/lpp/mmfs/src/misc'
+Checking Destination Directories....
+Checking Destination Directories....
+\c
+\c
+touch install.he
+make[1]: Leaving directory `/usr/lpp/mmfs/src/misc'
+ln -fs /usr/lpp/mmfs/bin/mmfs /usr/lpp/mmfs/src/bin ; \
+	if [ -e /usr/lpp/mmfs/bin/mmfs-i386r ]; then ln -fs /usr/lpp/mmfs/bin/mmfs-i386r /usr/lpp/mmfs/src/bin; fi ; \
+	if [ -e /usr/lpp/mmfs/bin/mmfs-ppc64-rh4 ]; then ln -fs /usr/lpp/mmfs/bin/mmfs-ppc64-rh4 /usr/lpp/mmfs/src/bin; fi
+Make-Install-Libraries-ing (/usr/lpp/mmfs/src/ibm-kxi)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-kxi'
+touch install.he
+touch library.ti
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-kxi'
+Make-Install-Libraries-ing (/usr/lpp/mmfs/src/ibm-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-linux'
+touch install.he
+touch library.ti
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-linux'
+Make-Install-Libraries-ing (/usr/lpp/mmfs/src/gpl-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/gpl-linux'
+rm -f gpl-linux.trclst
+/usr/lpp/mmfs/src/bin/mktrace -l gpl-linux.trclst  gplInit.c block.c dir.c file.c inode.c super.c             cxiVFSStats.c cxiSystem.c cxiIOBuffer.c kx.c ss.c             mmap.c acl.c
+Checking Destination Directories....
+\c
+touch install.he
+rm -f tscalls.o
+gcc -c -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER -m32 -ffreestanding    -I.  -I/usr/lpp/mmfs/src/include -I/usr/lpp/mmfs/src/include/cxi  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS   tscalls.c
+rm -f libgpfs_gpl.so
+echo "  ld  -o libgpfs_gpl.so  tscalls.o --shared  -lc" ;	\
+	ld  -o libgpfs_gpl.so  tscalls.o --shared  -lc
+  ld  -o libgpfs_gpl.so  tscalls.o --shared  -lc
+touch library.ti
+Make-Install-Libraries-ing (/usr/lpp/mmfs/src/gpl-linux/i386)
+make[2]: Entering directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+touch install.he
+rm -f cfiles_cust.ko
+gcc -o cfiles_cust.ko -c -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer -m32 -ffreestanding -mpreferred-stack-boundary=2 -mregparm=3 -mpreferred-stack-boundary=2    -I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(cfiles_cust)" cfiles_cust.c
+rm -f libarch-gpl_cust.a
+ld  -r -o  libarch-gpl_cust.a  cfiles_cust.ko
++ /usr/bin/install -c -m 0664 libarch-gpl_cust.a /usr/lpp/mmfs/src/lib/gpl-linux/libarch-gpl_cust.a
+touch library.ti
+make[2]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+make[1]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux'
+Make-Install-Libraries-ing (/usr/lpp/mmfs/src/misc)
+make[1]: Entering directory `/usr/lpp/mmfs/src/misc'
+Checking Destination Directories....
+Checking Destination Directories....
+\c
+\c
+touch install.he
+touch library.ti
+make[1]: Leaving directory `/usr/lpp/mmfs/src/misc'
+installing (/usr/lpp/mmfs/src/ibm-kxi)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-kxi'
+touch install.he
+touch install.ti
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-kxi'
+installing (/usr/lpp/mmfs/src/ibm-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/ibm-linux'
+touch install.he
+touch install.ti
+make[1]: Leaving directory `/usr/lpp/mmfs/src/ibm-linux'
+installing (/usr/lpp/mmfs/src/gpl-linux)
+make[1]: Entering directory `/usr/lpp/mmfs/src/gpl-linux'
+Checking Destination Directories....
+\c
+touch install.he
+rm -f kdump.o
+gcc -c -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER -m32 -ffreestanding    -I.  -I/usr/lpp/mmfs/src/include -I/usr/lpp/mmfs/src/include/cxi  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS   kdump.c
+rm -f kdump-kern.ko
+gcc -o kdump-kern.ko -c -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer -m32 -ffreestanding -mpreferred-stack-boundary=2 -mregparm=3 -mpreferred-stack-boundary=2    -I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default -include /usr/src/linux-source-2.6.20/include/linux/autoconf.h  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(kdump_kern)" -D'SITEMCRREV="1.535.2.13"' -mregparm=0 -DNOSTABS kdump-kern.c
+rm -f kdump-kern-stabs.ko
+gcc -o kdump-kern-stabs.ko -c -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer -m32 -ffreestanding -mpreferred-stack-boundary=2 -mregparm=3 -mpreferred-stack-boundary=2    -I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default -include /usr/src/linux-source-2.6.20/include/linux/autoconf.h  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(kdump_kern_stabs)" -D'SITEMCRREV="1.535.2.13"' -mregparm=0 -gstabs+ kdump-kern.c
+rm -f kdump
+g++ -o kdump  kdump.o kdump-kern.ko kdump-kern-stabs.ko     -L. 
+rm -f lxtrace.o
+gcc -c -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER -m32 -ffreestanding    -I.  -I/usr/lpp/mmfs/src/include -I/usr/lpp/mmfs/src/include/cxi  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS   lxtrace.c
+rm -f lxtrace
+g++ -o lxtrace  lxtrace.o     -L.   -lpthread -lrt
+/usr/bin/ld: warning: libpthread.so.0, needed by /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/librt.so, may conflict with libpthread.so.20
+rm -f dumpconv.o
+gcc -c -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER -m32 -ffreestanding    -I.  -I/usr/lpp/mmfs/src/include -I/usr/lpp/mmfs/src/include/cxi  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS   dumpconv.c
+rm -f dumpconv
+g++ -o dumpconv  dumpconv.o     -L. 
++ /usr/bin/install -c -m 0555 libgpfs_gpl.so /usr/lpp/mmfs/src/lib/gpl-linux/libgpfs_gpl.so
+\c
+rm -f cfiles_cust.ko
+gcc -o cfiles_cust.ko -c -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer -m32 -ffreestanding -mpreferred-stack-boundary=2 -mregparm=3 -mpreferred-stack-boundary=2    -I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default -include /usr/src/linux-source-2.6.20/include/linux/autoconf.h  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(cfiles_cust)" -D'SITEMCRREV="1.535.2.13"' cfiles_cust.c
+rm -f mmwrap.ko
+gcc -o mmwrap.ko -c -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer -m32 -ffreestanding -mpreferred-stack-boundary=2 -mregparm=3 -mpreferred-stack-boundary=2    -I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default -include /usr/src/linux-source-2.6.20/include/linux/autoconf.h  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(mmwrap)" -D'SITEMCRREV="1.535.2.13"' mmwrap.c
+rm -f tracedev.ko
+gcc -o tracedev.ko -c -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer -m32 -ffreestanding -mpreferred-stack-boundary=2 -mregparm=3 -mpreferred-stack-boundary=2    -I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default -include /usr/src/linux-source-2.6.20/include/linux/autoconf.h  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(tracedev)" -D'SITEMCRREV="1.535.2.13"' tracedev.c
+rm -f tracedev-ksyms.ko
+gcc -o tracedev-ksyms.ko -c -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer -m32 -ffreestanding -mpreferred-stack-boundary=2 -mregparm=3 -mpreferred-stack-boundary=2    -I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default -include /usr/src/linux-source-2.6.20/include/linux/autoconf.h  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(tracedev_ksyms)" -D'SITEMCRREV="1.535.2.13"' tracedev-ksyms.c
+rm -f tracedev
+ld -r -o tracedev  -Map tracedev.map --cref --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3 tracedev.ko tracedev-ksyms.ko
+WARNING: "tasklist_lock" [/usr/lpp/mmfs/src/gpl-linux/tracedev.ko] undefined!
+WARNING: "__stack_chk_fail" [/usr/lpp/mmfs/src/gpl-linux/tracedev.ko] undefined!
+mv -f tracedev tracedev.tmp
+ld -r -o tracedev -Map tracedev.map --cref --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3 tracedev.tmp tracedev.mod.o $(gcc -print-libgcc-file-name)
+mv -f tracedev.mod.c tracedev.mod.c.saved
+rm -f tracedev.tmp
+rm -f mmfslinux
+ld -r -o mmfslinux cfiles_cust.ko /usr/lpp/mmfs/src/lib/gpl-linux/libarch-gpl_cust.a                 -Map mmfslinux.map --cref --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3                 mmwrap.ko $(gcc -print-libgcc-file-name)
+WARNING: /usr/lpp/mmfs/src/gpl-linux/mmfslinux - Section mismatch: reference to .init.text: from .text.trace after '' (at offset 0x2098)
+WARNING: "tasklist_lock" [/usr/lpp/mmfs/src/gpl-linux/mmfslinux.ko] undefined!
+WARNING: "madvise" [/usr/lpp/mmfs/src/gpl-linux/mmfslinux.ko] undefined!
+WARNING: "prog_path" [/usr/lpp/mmfs/src/gpl-linux/mmfslinux.ko] undefined!
+WARNING: "__stack_chk_fail" [/usr/lpp/mmfs/src/gpl-linux/mmfslinux.ko] undefined!
+WARNING: "posix_locks_deadlock" [/usr/lpp/mmfs/src/gpl-linux/mmfslinux.ko] undefined!
+mv -f mmfslinux mmfslinux.tmp
+ld -r -o mmfslinux -Map mmfslinux.map --cref --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3 mmfslinux.tmp mmfslinux.mod.o $(gcc -print-libgcc-file-name)
+mv -f mmfslinux.mod.c mmfslinux.mod.c.saved
+rm -f mmfslinux.tmp
+rm -f mmfsmod.ko
+gcc -o mmfsmod.ko -c -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer -m32 -ffreestanding -mpreferred-stack-boundary=2 -mregparm=3 -mpreferred-stack-boundary=2    -I.  -I/usr/lpp/mmfs/src/include/cxi -I/usr/lpp/mmfs/src/include/gpl-linux -I/usr/src/linux-source-2.6.20/include -I/usr/src/linux-source-2.6.20/include/../arch/i386/mach-generic                 -I/usr/src/linux-source-2.6.20/include/asm-i386/mach-default -include /usr/src/linux-source-2.6.20/include/linux/autoconf.h  -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -DKERNEL_ORG_LINUX   -DLINUX_DISTRIBUTION_LEVEL=90      -DLINUX_KERNEL_VERSION=2062003   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB -DFAR_TRACE -DFAR_CODE -fno-defer-pop  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(mmfsmod)" -D'SITEMCRREV="1.535.2.13"' mmfsmod.c
+rm -f mmfs26
+ld -r -o mmfs26 /usr/lpp/mmfs/src/bin/mmfs-i386r mmfsmod.ko -Map mmfs26.map 		--cref --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3 mmwrap.ko 		$(gcc -print-libgcc-file-name)
+mv -f mmfs26 mmfs26.tmp
+ld -r -o mmfs26 -Map mmfs26.map --cref --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3 mmfs26.tmp mmfs26.mod.o $(gcc -print-libgcc-file-name)
+mv -f mmfs26.mod.c mmfs26.mod.c.saved
++ /usr/bin/install -c -m 0500 mmfslinux /usr/lpp/mmfs/src/bin/mmfslinux
++ /usr/bin/install -c -m 0500 mmfs26 /usr/lpp/mmfs/src/bin/mmfs26
++ /usr/bin/install -c -m 0755 tracedev /usr/lpp/mmfs/src/bin/tracedev
++ /usr/bin/install -c -m 0755 lxtrace.sial /usr/lpp/mmfs/src/bin/lxtrace.sial
++ /usr/bin/install -c -m 0755 mmdumpfilocks.sial /usr/lpp/mmfs/src/bin/mmdumpfilocks.sial
++ /usr/bin/install -c -m 0500 lxtrace /usr/lpp/mmfs/src/bin/lxtrace
++ /usr/bin/install -c -m 0500 dumpconv /usr/lpp/mmfs/src/bin/dumpconv
+touch install.ti
+installing (/usr/lpp/mmfs/src/gpl-linux/i386)
+make[2]: Entering directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+touch install.he
+touch install.ti
+make[2]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux/i386'
+make[1]: Leaving directory `/usr/lpp/mmfs/src/gpl-linux'
+installing (/usr/lpp/mmfs/src/misc)
+make[1]: Entering directory `/usr/lpp/mmfs/src/misc'
+Checking Destination Directories....
+Checking Destination Directories....
+\c
+\c
+touch install.he
+\c
+\c
+touch install.ti
+make[1]: Leaving directory `/usr/lpp/mmfs/src/misc'
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpfs_preins.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpfs_preins.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpfs_preins.sh	(revision 16)
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+apt-get install -y ksh gcc-3.3 g++-3.3 cpp-3.3 g77-3.4
+
+cd /usr/bin
+echo "linking the compiler link"
+ln -sf gcc-3.3 gcc
+ln -sf g++-3.3 g++
+ln -sf cpp-3.3 cpp
+ln -sf g77-3.4 g77
+
+if [ -f /bin/sort ]; then
+	echo "checking sort ..ok";
+else
+	echo " linking /bin/sort"
+	ln -sf /usr/bin/sort /bin/sort
+fi
+
+if [ -f /bin/awk ]; then
+	echo "checking awk .. ok";
+else
+	echo "linking /bin/awk"
+	ln -sf /usr/bin/awk /bin/awk
+fi
+
+if [ ! -f "/usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h" ]; then
+	echo "copy the config.h"
+        cp /usr/lpp/mmfs/src/config/config.h /usr/src/linux-headers-2.6.20-15-generic/include/linux/
+
+fi
+
+#declare -x SHARKCLONEROOT="/usr/lpp/mmfs/src"
+#echo $SHARKCLONEROOT;
+
+echo "please type the three instructions in order :"
+echo "\" export SHARKCLONEROOT=\"/usr/lpp/mmfs/src\" "
+echo "\" make \" "
+echo "\" make InstallImages \""
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/.depends
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/.depends	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/.depends	(revision 16)
@@ -0,0 +1,17390 @@
+
+acl.o: acl.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
+block.o: block.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+cfiles.o: cfiles.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  block.c dir.c Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cfiles_cust.o: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  cfiles.c block.c dir.c Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cxiIOBuffer.o: cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h linux2gpfs.h prelinux.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h
+cxiSystem.o: cxiSystem.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  Logger-gpl.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h
+cxiVFSStats.o: cxiVFSStats.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+dir.o: dir.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dmapi.o: dmapi.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h Logger-gpl.h \
+  prelinux.h postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dumpconv.o: dumpconv.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/types.h \
+  /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/alloca.h
+file.o: file.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+gpl-ksyms.o: gpl-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h linux2gpfs.h prelinux.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h
+gplInit.o: gplInit.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+ibmInitWrap.o: ibmInitWrap.C \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/assert.h
+inode.o: inode.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
+kdump-kern.o: kdump-kern.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  Logger-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elfcore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ptrace.h \
+  kdump-kern.h kdump.h /usr/include/stdio.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/include/bits/stdio_lim.h \
+  /usr/include/bits/sys_errlist.h
+kdump.o: kdump.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h /usr/include/ctype.h \
+  /usr/include/string.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/include/termios.h /usr/include/bits/termios.h \
+  /usr/include/sys/ttydefaults.h /usr/include/regex.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h kdump.h kdump-kern.h
+kx.o: kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h
+lxtrace.o: lxtrace.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/string.h /usr/include/stdlib.h /usr/include/alloca.h \
+  /usr/include/malloc.h /usr/include/signal.h /usr/include/bits/signum.h \
+  /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+  /usr/include/bits/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h /usr/include/aio.h
+mmap.o: mmap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h
+mmfsmod.o: mmfsmod.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vermagic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h
+mmwrap.o: mmwrap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+modpost.o: modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+opsdeclare.o: opsdeclare.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h
+ss.o: ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h \
+  Logger-gpl.h linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h arch-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+super.o: super.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h linux2gpfs.h \
+  prelinux.h postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+tracedev-ksyms.o: tracedev-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h
+tracedev.o: tracedev.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h
+tscalls.o: tscalls.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/assert.h gpfs_gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
+
+acl.ko: acl.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
+block.ko: block.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+cfiles.ko: cfiles.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cfiles_cust.ko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  cfiles.c block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cxiIOBuffer.ko: cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h
+cxiSystem.ko: cxiSystem.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  Logger-gpl.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h
+cxiVFSStats.ko: cxiVFSStats.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+dir.ko: dir.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dmapi.ko: dmapi.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h Logger-gpl.h \
+  prelinux.h postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dumpconv.ko: dumpconv.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/types.h \
+  /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/alloca.h
+file.ko: file.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+gpl-ksyms.ko: gpl-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h linux2gpfs.h prelinux.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h
+gplInit.ko: gplInit.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+ibmInitWrap.ko: ibmInitWrap.C \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h
+inode.ko: inode.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
+kdump-kern.ko: kdump-kern.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  Logger-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elfcore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ptrace.h \
+  kdump-kern.h kdump.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/assert.h
+kdump.ko: kdump.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h /usr/include/ctype.h \
+  /usr/include/string.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/include/termios.h /usr/include/bits/termios.h \
+  /usr/include/sys/ttydefaults.h /usr/include/regex.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h kdump.h kdump-kern.h
+kx.ko: kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h
+lxtrace.ko: lxtrace.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/include/sys/types.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/string.h /usr/include/stdlib.h /usr/include/alloca.h \
+  /usr/include/malloc.h /usr/include/signal.h /usr/include/bits/signum.h \
+  /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+  /usr/include/bits/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h /usr/include/aio.h
+mmap.ko: mmap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h
+mmfsmod.ko: mmfsmod.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vermagic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h
+mmwrap.ko: mmwrap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+modpost.ko: modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+opsdeclare.ko: opsdeclare.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h
+ss.ko: ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h \
+  Logger-gpl.h linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h arch-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+super.ko: super.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+tracedev-ksyms.ko: tracedev-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h
+tracedev.ko: tracedev.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h
+tscalls.ko: tscalls.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h gpfs_gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
+
+acl.pko: acl.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
+block.pko: block.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+cfiles.pko: cfiles.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cfiles_cust.pko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  cfiles.c block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cxiIOBuffer.pko: cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h
+cxiSystem.pko: cxiSystem.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  Logger-gpl.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h
+cxiVFSStats.pko: cxiVFSStats.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+dir.pko: dir.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dmapi.pko: dmapi.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h Logger-gpl.h \
+  prelinux.h postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dumpconv.pko: dumpconv.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/types.h \
+  /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/alloca.h
+file.pko: file.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+gpl-ksyms.pko: gpl-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h linux2gpfs.h prelinux.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h
+gplInit.pko: gplInit.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+ibmInitWrap.pko: ibmInitWrap.C \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h
+inode.pko: inode.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
+kdump-kern.pko: kdump-kern.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  Logger-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elfcore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ptrace.h \
+  kdump-kern.h kdump.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/assert.h
+kdump.pko: kdump.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h /usr/include/ctype.h \
+  /usr/include/string.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/include/termios.h /usr/include/bits/termios.h \
+  /usr/include/sys/ttydefaults.h /usr/include/regex.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h kdump.h kdump-kern.h
+kx.pko: kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h
+lxtrace.pko: lxtrace.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/include/sys/types.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/string.h /usr/include/stdlib.h /usr/include/alloca.h \
+  /usr/include/malloc.h /usr/include/signal.h /usr/include/bits/signum.h \
+  /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+  /usr/include/bits/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h /usr/include/aio.h
+mmap.pko: mmap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h
+mmfsmod.pko: mmfsmod.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vermagic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h
+mmwrap.pko: mmwrap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+modpost.pko: modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+opsdeclare.pko: opsdeclare.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h
+ss.pko: ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h \
+  Logger-gpl.h linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h arch-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+super.pko: super.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+tracedev-ksyms.pko: tracedev-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h
+tracedev.pko: tracedev.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h
+tscalls.pko: tscalls.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h gpfs_gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/Imakefile	(revision 16)
@@ -0,0 +1,342 @@
+/* $Id: Imakefile,v 1.122.2.10 2006/10/25 18:34:21 mcnabb Exp $ */
+
+/***** THIS MUST BE INCLUDED WITH IMAKE FILES *****/
+/* Only include kernel and cxi headers in this layer */
+SetGplIncludePath()
+/***** THIS MUST BE INCLUDED WITH IMAKE FILES *****/
+
+CheckLinuxDistribution()
+
+PTHREADS = -lpthread
+INSTROOTFLAGS = -c -m 0500
+
+#if (LINUX_KERNEL_VERSION >= 2060000)
+/*
+ * The linux 2.6 kernel adds a new component called "modpost", to all the
+ * kernel modules. Typically, this is done automatically by the linux kernel
+ * build infrastructure (kbuild). But the kbuild infrastructure is quite cryptic
+ * to be used by modules like GPFS. Hence, we bypass the linux kbuild
+ * infrastructure and do the modpost work ourselves.
+ * 
+ * Here is the summary of what we do:
+ * If the ".c" file exports a function to the linux kernel then we add the
+ * CRC of all such functions to the object. This is done to detect version
+ * mismatch between modules/kernel.
+ * If a ".c" file exports a function, then its object would have a "__ksymtab"
+ * section.
+ * For all such ".c" files, we recompile it with -E -D__GENKSYMS__ defined and
+ * feed the output to "genksyms" program, which calculates the CRC for all
+ * such functions. We then put this information into the object file so that
+ * the corresponding modpost file contains the CRCs required for the module.
+ * (The modpost work is done in the Imakefile for the "gpl-linux" directory.)
+ */
+OBJDUMP = /usr/bin/objdump
+GENKSYMS = $(KERNEL_BUILD_DIR)/scripts/genksyms/genksyms
+handle_linux_sym = @if [ ! -f $(GENKSYMS) ]; then \ @@\
+	              echo "$(GENKSYMS) not found. Check the value of KERNEL_BUILD_DIR in site.mcr";\ @@\
+		      exit 1; \ @@\
+	           fi;	\ @@\
+		   $(OBJDUMP) -h $1 | grep -q  __ksymtab; 	      \	@@\
+	           if [ $$? -eq 0 ]; then 			              \ @@\
+		      $(C_COMP) -E -D__GENKSYMS__ $(KCFLAGS) $2 | $(GENKSYMS) > $1.ver;    \	@@\
+	              mv $1 $1.tmp;					      \	@@\
+		      $(BARELD) -r -o $1 $1.tmp -T $1.ver;      \ @@\
+		      rm -f $1.tmp;				      \ @@\
+	           fi
+#endif /* LINUX_KERNEL_VERSION */
+
+
+#if (LINUX_KERNEL_VERSION >= 2060000)
+#ifdef LinuxKernelObjectRule
+#undef LinuxKernelObjectRule
+#define LinuxKernelObjectRule()				@@\
+.c.ko:                                                  @@\
+	$(RM) $@                                        @@\
+	$(C_COMP) -o $@ -c $(KCFLAGS) $*.c              @@\
+	$(call handle_linux_sym,$@,$*.c)
+#endif /* LinuxKernelObjectRule */
+#endif /* LINUX_KERNEL_VERSION */
+
+NormalObjectRule()
+
+#define IHaveSubdirs
+#ifdef GPFS_ARCH_POWER
+SUBDIRS = power
+#endif
+#ifdef GPFS_ARCH_I386
+#undef i386
+SUBDIRS = i386
+#endif
+#ifdef GPFS_ARCH_IA64
+SUBDIRS = "ia64"
+#endif
+#ifdef GPFS_ARCH_PPC64
+SUBDIRS = ppc64
+#endif
+#ifdef GPFS_ARCH_X86_64
+SUBDIRS = x86_64
+#endif
+
+#ifdef GPFS_ARCH_POWER
+STD_KINCLUDES += -I$(KERNEL_HEADER_DIR)/../arch/ppc
+#endif
+
+#ifdef GPFS_ARCH_I386
+STD_KINCLUDES += -I$(KERNEL_HEADER_DIR)/../arch/$(SUBDIRS)/mach-generic \
+                -I$(KERNEL_HEADER_DIR)/asm-$(SUBDIRS)/mach-default
+#endif
+
+#if (LINUX_KERNEL_VERSION > 2060000) 
+KCFLAGS += $(shell $(DESTDIR)/bin/getupdatelevel)
+#endif
+
+#if (LINUX_KERNEL_VERSION >= 2061600)
+comma = ,
+name-fix = $(subst $(comma),_,$(subst -,_,$1))
+basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(*F)))"
+KCFLAGS += -D"KBUILD_STR(s)=\#s" $(basename_flags)
+#if (LINUX_KERNEL_VERSION >= 2061900)
+STD_KINCLUDES += -include $(KERNEL_HEADER_DIR)/linux/autoconf.h
+#endif
+#endif
+
+HEADERS = Shark-gpl.h prelinux.h postlinux.h linux2gpfs.h verdep.h \
+          Logger-gpl.h arch-gpl.h 
+#ifdef SMB_LOCKS
+HEADERS += oplock.h
+#endif
+
+LINUX_VFS = opsdeclare.ko gpl-ksyms.ko \
+            gplInit.ko block.ko file.ko inode.ko dir.ko \
+            super.ko cxiSystem.ko cxiVFSStats.ko cxiIOBuffer.ko \
+            kx.ko mmap.ko ss.ko acl.ko
+
+LINUX_CUSTOM = cfiles_cust.ko
+
+#if defined(GPFS_ARCH_I386) && (LINUX_KERNEL_VERSION > 2060500) && !defined(NOKREGPARMS)
+MMLDFLAGS  += --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3
+MMFS = mmfs-i386r
+/* kdump must have regparms turned off */
+KDUMPCFLAGS = $(KCFLAGS) -mregparm=0
+#else
+#if defined(GPFS_ARCH_IA64) && (LINUX_KERNEL_VERSION > 2060500)
+/* Need to include additional code sections with ia64 2.6 kernel modules */
+MMLDFLAGS = -T /usr/src/linux/arch/ia64/module.lds
+#else
+MMLDFLAGS =
+#endif
+MMFS = mmfs
+KDUMPCFLAGS = $(KCFLAGS)
+#endif
+#if defined(GPFS_ARCH_PPC64) && (LINUX_KERNEL_VERSION > 2060900) 
+MMFS = mmfs-ppc64-rh4
+#endif
+
+#if (LINUX_KERNEL_VERSION > 2060000)
+
+/*
+ * The default value for KERNEL_BUILD_DIR in site.mcr contains backquotes, 
+ * which the "make" does not understand. So, we call the shell to expand it
+ */ 
+KERNEL_BUILD_DIR := $(call shell, echo "$(KERNEL_BUILD_DIR)")
+#ifdef PCE_26_PCE
+MODPOST := $(KERNEL_BUILD_DIR)/scripts/mod/modpost
+#else
+MODPOST := $(if $(wildcard $(KERNEL_BUILD_DIR)/scripts/mod/modpost), \
+          $(KERNEL_BUILD_DIR)/scripts/mod/modpost, \
+	            $(KERNEL_BUILD_DIR)/scripts/modpost)
+#endif
+
+SYSVERFILE := $(KERNEL_BUILD_DIR)/Module.symvers
+
+ifeq ($(LINUX_DISTRIBUTION), REDHAT_AS_LINUX)
+        MODPOST_FLAG := -m
+else
+/* The modpost program on SLES9 does not recognize '-m' flag. The modversioning 
+   seems to be turned on by default. But on SLES10, this program requires the 
+   '-m' flag.
+*/
+#if (LINUX_KERNEL_VERSION >= 2061600)
+        MODPOST_FLAG := -m
+#else
+        MODPOST_FLAG :=
+#endif
+endif
+
+#if (LINUX_KERNEL_VERSION >= 2061600 )
+gpfs_module_name = -DKBUILD_MODNAME=\"$1\"
+#else
+gpfs_module_name = -DKBUILD_MODNAME=$1
+#endif
+
+/*
+ * For Linux kernel 2.6, we handle the modpost work ourselves. This way, we can
+ * use the kernel modversioning to detect module/kernel mismatch.
+ * To achieve this we do the folloing things:
+ * (1) Recompile all the ".c" files which export functions to the linux kernel.
+ *     - the ".c" files are recompiled with -E -D__GENKSYMS__ and its output is
+ *       is feeded to the "genksyms" program, which calculates the CRC for 
+ *       the function signature (for MODVERSION).
+ *       This part is done in the "imake.tmpl" file. 
+ * (2) Inovke the "modpost" script to generate "tracedev.mod.c" and
+ *     "mmfslinux.mod.c" files and relinking it to the corresponding module.
+ *
+ * Note that for mmfs26 module, we continue to use the modpost.c file in the
+ * gpl-linux directory.  
+ */
+
+
+#ifdef PCE_26_PCE
+/*
+ * Experimental:
+ * 2.6.16 code seems to want the module name quoted in order to compile.
+ */
+handle_modpost = @if [ ! -f $(MODPOST) ] ; then \ @@\
+		    echo "$(MODPOST) not found. Check the value of \ @@\
+		          KERNEL_BUILD_DIR in site.mcr file."; \ @@\
+		    exit 1;  \  @@\
+                 fi; \ @@\
+                 $(MODPOST) $(MODPOST_FLAG) -i $2 -o $1.symvers $(PWD)/$1 ;	\ @@\
+		 $(C_COMP) -o $1.mod.o -c $(KCFLAGS) -DKBUILD_MODNAME=\"$1\" $1.mod.c
+#else
+handle_modpost = @if [ ! -f $(MODPOST) ] ; then \ @@\
+		    echo "$(MODPOST) not found. Check the value of \ @@\
+		          KERNEL_BUILD_DIR in site.mcr file."; \ @@\
+		    exit 1;  \  @@\
+                 fi; \ @@\
+                 $(MODPOST) $(MODPOST_FLAG) -i $2 -o $1.symvers $(PWD)/$1 ;	\ @@\
+		 $(C_COMP) -o $1.mod.o -c $(KCFLAGS) $(call gpfs_module_name,$1) $1.mod.c
+#endif
+
+
+#endif
+
+SharedObjectTarget(libgpfs_gpl.so, tscalls.o, -lc)
+InstallFiles(libgpfs_gpl.so, $(INSTPROGFLAGS), $(GPL_LIB_DIR))
+
+tracedev: tracedev.ko tracedev-ksyms.ko 
+	$(RM) $@
+	$(BARELD) -r -o $@  -Map $@.map --cref $(MMLDFLAGS) $^
+#if (LINUX_KERNEL_VERSION > 2060000)
+	@if [ ! -f $(SYSVERFILE) ]; then \ @@\
+		echo "WARNING: $(SYSVERFILE) file not found. Check the value of KERNEL_BUILD_DIR \ @@\
+			in site.mcr file"; \ @@\
+	fi
+	$(call handle_modpost,$@,$(SYSVERFILE))
+	mv -f $@ $@.tmp
+	$(BARELD) -r -o $@ -Map $@.map --cref $(MMLDFLAGS) $@.tmp $@.mod.o $$($(C_COMP) -print-libgcc-file-name)
+	mv -f $@.mod.c $@.mod.c.saved
+	rm -f $@.tmp
+#endif
+
+MMFS_KEXTS = mmfslinux 
+#if (LINUX_KERNEL_VERSION > 2060000) 
+MMFS_KEXTS += mmfs26
+#endif
+
+#ifdef MOUNT_HELPER
+ROOT_CMDS = lxtrace dumpconv umount.gpfs
+#else
+ROOT_CMDS = lxtrace dumpconv 
+#endif
+
+SITEMCRREV_ARG = $(filter 1.%,$(SITEMCRREV_RAW))
+KCFLAGS += -D'SITEMCRREV="$(SITEMCRREV_ARG)"'
+
+mmfslinux: $(LINUX_CUSTOM) $(GPL_LIB_DIR)/libarch-gpl_cust.a mmwrap.ko tracedev
+	$(RM) $@
+	$(BARELD) -r -o $@ $(LINUX_CUSTOM) $(GPL_LIB_DIR)/libarch-gpl_cust.a \
+                -Map $@.map --cref $(MMLDFLAGS) \
+                mmwrap.ko $$($(C_COMP) -print-libgcc-file-name)
+#if (LINUX_KERNEL_VERSION > 2060000)
+	$(call handle_modpost,$@,tracedev.symvers)
+	mv -f $@ $@.tmp
+	$(BARELD) -r -o $@ -Map $@.map --cref $(MMLDFLAGS) $@.tmp $@.mod.o $$($(C_COMP) -print-libgcc-file-name)
+	mv -f $@.mod.c $@.mod.c.saved
+	rm -f $@.tmp
+#endif
+
+#if (LINUX_KERNEL_VERSION > 2060000) 
+mmfs26: $(DESTDIR)/bin/$(MMFS) mmfsmod.ko mmwrap.ko
+	$(RM) $@
+	$(BARELD) -r -o $@ $(DESTDIR)/bin/$(MMFS) mmfsmod.ko -Map $@.map \
+		--cref $(MMLDFLAGS) mmwrap.ko \
+		$$($(C_COMP) -print-libgcc-file-name)
+	$(call handle_modpost,$@,mmfslinux.symvers)
+	mv -f $@ $@.tmp
+	$(BARELD) -r -o $@ -Map $@.map --cref $(MMLDFLAGS) $@.tmp $@.mod.o $$($(C_COMP) -print-libgcc-file-name)
+	mv -f $@.mod.c $@.mod.c.saved
+#endif
+
+#if (LINUX_KERNEL_VERSION < 2060000)
+MMFS_KEXTS += mmfs24
+
+mmfs24: $(DESTDIR)/bin/$(MMFS) ibmInitWrap.ko
+	$(RM) $@
+	$(BARELD) -r -o $@ $(DESTDIR)/bin/$(MMFS) ibmInitWrap.ko \
+		$(MMLDFLAGS) -Map $@.map
+
+ibmInitWrap.ko: ibmInitWrap.C
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KCFLAGS) ibmInitWrap.C
+#endif
+
+
+clean:: ; $(RM) $(MMFS_KEXTS) $(ROOT_CMDS) tracedev *.symvers *.mod.c
+
+MkdirTarget($(GPL_HEADER_DIR))
+InstallHeaders($(HEADERS), $(GPL_HEADER_DIR))
+
+InstallRootPrograms($(MMFS_KEXTS), $(DESTDIR)/bin)
+
+/* Special rule for kdump so we get stabs info */
+kdump-kern.ko: kdump-kern.c kdump.h
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KDUMPCFLAGS) -DNOSTABS $*.c
+
+kdump-kern-stabs.ko: kdump-kern.c kdump.h
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KDUMPCFLAGS) -gstabs+ kdump-kern.c
+
+KDUMP = kdump.o kdump-kern.ko kdump-kern-stabs.ko
+ProgramTarget(kdump, $(KDUMP), , )
+
+#ifdef MOUNT_HELPER
+MNTHELP = MountHelper.o update_mtab.o
+ProgramTarget(umount.gpfs, $(MNTHELP), , -L $(DESTDIR)/lib -lgpfs )
+InstallFiles(umount.gpfs, $(INSTSHELLFLAGS), $(DESTDIR)/bin)
+#endif
+#if (LINUX_KERNEL_VERSION > 2060000) 
+ProgramTarget(lxtrace, lxtrace.o, , $(PTHREADS) -lrt )
+#else
+ProgramTarget(lxtrace, lxtrace.o, , $(PTHREADS))
+#endif
+ProgramTarget(dumpconv, dumpconv.o, , )
+
+InstallFiles(tracedev, $(INSTSHELLFLAGS), $(DESTDIR)/bin)
+#ifndef SRC_BUILD
+InstallFiles(lxtrace.sial, $(INSTSHELLFLAGS), $(DESTDIR)/bin)
+InstallFiles(mmdumpfilocks.sial, $(INSTSHELLFLAGS), $(DESTDIR)/bin)
+#endif
+
+InstallRootPrograms($(ROOT_CMDS), $(DESTDIR)/bin)
+
+/* RPM source build option to install images for kernel modules */
+BUILD_DESTDIR = /usr/lpp/mmfs/bin
+BUILD_INSTALL = $(MMFS_KEXTS) $(ROOT_CMDS) tracedev
+
+InstallImages:: $(BUILD_INSTALL)
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
+	for i in $(BUILD_INSTALL); do \
+	(echo $$i; $(INSTALL) $(INSTROOTFLAGS) $$i $(BUILD_DESTDIR)/$$i) done)
+#ifdef MOUNT_HELPER
+	$(INSTALL) $(INSTROOTFLAGS) umount.gpfs /sbin/umount.gpfs
+#endif
+
+TRACELIST = gplInit.c block.c dir.c file.c inode.c super.c \
+            cxiVFSStats.c cxiSystem.c cxiIOBuffer.c kx.c ss.c \
+            mmap.c acl.c
+
+TraceTarget(gpl-linux, $(TRACELIST))
+
+DependTargetPK()
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/LICENSE
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/LICENSE	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/LICENSE	(revision 16)
@@ -0,0 +1,30 @@
+
+COPYRIGHT AND PERMISSION NOTICE
+  
+Copyright (c) 2001 International Business Machines
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions 
+are met:
+
+  1. Redistributions of source code must retain the above copyright notice, 
+     this list of conditions and the following disclaimer. 
+  2. Redistributions in binary form must reproduce the above copyright notice, 
+     this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution. 
+  3. The name of the author may not be used to endorse or promote products 
+     derived from this software without specific prior written
+     permission. 
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/Logger-gpl.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/Logger-gpl.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/Logger-gpl.h	(revision 16)
@@ -0,0 +1,86 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)67       1.7  src/avs/fs/mmfs/ts/kernext/gpl-linux/Logger-gpl.h, mmfs, avs_rgpfs24, rgpfs240610b 2/14/05 16:16:27 */
+/*
+ * Subset of logging stuff in Linux layer
+ *
+ */
+
+#ifndef _h_logger_gpl
+#define _h_logger_gpl
+
+
+#include <Shark-gpl.h>
+
+#ifdef NDEBUG
+#define LOGASSERT(_ex)  NOOP
+#define LOGASSERTRC(_ex, _rc, _rea, _tag)  NOOP
+#else
+#define LOGASSERT(_ex)                                           \
+  if (!(_ex)) {                                                  \
+    logAssertFailed (2, __FILE__, __LINE__, 0, 0, 0, 0, # _ex);  \
+  } else NOOP
+#define LOGASSERTRC(_ex, _rc, _rea, _tag)                        \
+  if (!(_ex)) {                                                  \
+    logAssertFailed (2, __FILE__, __LINE__,                      \
+                     _rc, _rea, _tag, 0, # _ex);                 \
+  } else NOOP
+#endif
+
+#ifdef DBGASSERTS
+#define DBGASSERT(_ex)  LOGASSERT(_ex)
+#define DBGASSERTRC(_ex, _rc, _rea, _tag)  LOGASSERTRC(_ex, _rc, _rea, _tag)
+#else  /* not DBGASSERTS */
+#define DBGASSERT(_ex)  NOOP
+#define DBGASSERTRC(_ex, _rc, _rea, _tag)  NOOP
+#endif  /* DBGASSERTS */
+
+/* predeclare logAssertFailed; instantiated in cxiSystem.C */
+EXTERNC void logAssertFailed(
+               UInt32 flags,         /* LOG_FATAL_ERROR or LOG_NONFATAL_ERROR */
+               char  *srcFileName,   /* __FILE__ */
+               UInt32 srcLineNumber, /* __LINE__ */
+               Int32  retCode,       /* return code value */
+               Int32  reasonCode,    /* normally errno */
+               UInt32 logRecTag,     /* tag if have associated error log rec */
+               char  *dataStr,       /* assert data string */
+               char  *failingExpr);  /* expression that evaluated to false */
+
+#ifdef MALLOC_DEBUG
+void MallocDebugStart();
+void MallocDebugEnd();
+
+void MallocDebugNew(void *ptr, unsigned short size, unsigned short type);
+void MallocDebugDelete(void *ptr);
+#endif /* MALLOC_DEBUG */
+#endif /* _h_logger_gpl */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/Shark-gpl.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/Shark-gpl.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/Shark-gpl.h	(revision 16)
@@ -0,0 +1,92 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)07       1.16  src/avs/fs/mmfs/ts/kernext/gpl-linux/Shark-gpl.h, mmfs, avs_rgpfs24, rgpfs240610b 9/9/04 10:19:51 */
+/*
+ * Portability layer equivalent of <Shark.h>.
+ *
+ */
+
+#ifndef _h_shark_gpl
+#define _h_shark_gpl
+
+/* Indicate portability source code */
+#define GPFS_GPL
+//#include "linux_config.h"
+
+/* Try to ensure that this is the first file included in source code */
+#ifdef _KERNEL
+#if defined(_LINUX_TYPES_H) || defined(_LINUX_KERNEL_H) || defined(_LINUX_MODULE_H)
+#error Shark-gpl.h must be included first; kernel file already seen
+#endif
+#else  /* !_KERNEL */
+#ifdef _FEATURES_H
+#error Shark-gpl.h must be included first; features.h already seen
+#endif
+#endif /* _KERNEL */
+
+#ifdef _KERNEL
+/* errno needs to be predeclared for kernel code */
+extern int errno;
+
+/* Include <linux/types.h> in kernel code for cxiTypes.h */
+#include <linux/types.h>
+/* need statfs stuff (fsid_t) */
+#include <linux/vfs.h>
+#endif /* _KERNEL */
+#include <cxiTypes.h>
+
+/* Avoid various AIX specific header includes */
+#define _H_BUF
+#define _H_XMEM
+#define _H_SLEEP
+#define _H_LOCKL
+#define _H_LOCK_DEFINE
+
+#ifdef _KERNEL
+/* Virtual memory page size.  Used for aligning I/O buffers. */
+#include <asm/page.h>     /* PAGE_SIZE */
+
+/* Note that the page size can be adjusted for the IA64 Linux kernel,
+ * but we can't allow folks to do this with GPFS. */
+#ifdef GPFS_ARCH_IA64
+#ifndef CONFIG_IA64_PAGE_SIZE_16KB
+#error Linux kernel must use CONFIG_IA64_PAGE_SIZE_16KB with GPFS
+#endif
+#endif /* GPFS_ARCH_IA64 */
+#endif /* _KERNEL */
+
+
+#ifndef NOOP
+#define NOOP ((void)0)
+#endif
+#endif /* _h_shark_gpl */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/acl.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/acl.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/acl.c	(revision 16)
@@ -0,0 +1,417 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)00       1.19.1.1  src/avs/fs/mmfs/ts/kernext/gpl-linux/acl.c, mmfs, avs_rgpfs24, rgpfs24s012a 4/17/07 15:54:41 */
+
+#if LINUX_KERNEL_VERSION > 2060000
+#ifdef CONFIG_FS_POSIX_ACL
+#include <Shark-gpl.h>
+
+#include <linux/string.h>
+#include <linux/module.h>
+#include <linux/errno.h>
+#include <linux/fs.h>
+#include <linux/smp_lock.h>
+
+#include <verdep.h>
+#include <cxiTSFattr.h>
+#include <cxiAclUser.h>
+
+/* Defines from posix_acl.h. We can not include that file because it conflicts
+   with GPFS defines in cxiAclUser.h. We can rename all of GPFS defines but it
+   will require many changes. */
+#define LINUX_ACL_UNDEFINED_ID	(-1)
+
+/* e_tag entry in struct posix_acl_entry */
+#define LINUX_ACL_USER_OBJ	(0x01)
+#define LINUX_ACL_USER		(0x02)
+#define LINUX_ACL_GROUP_OBJ	(0x04)
+#define LINUX_ACL_GROUP		(0x08)
+#define LINUX_ACL_MASK		(0x10)
+#define LINUX_ACL_OTHER		(0x20)
+
+/* permissions in the e_perm field */
+#define LINUX_ACL_READ		(0x04)
+#define LINUX_ACL_WRITE		(0x02)
+#define LINUX_ACL_EXECUTE	(0x01)
+
+struct linux_posix_acl_entry {
+	short			e_tag;
+	unsigned short		e_perm;
+	unsigned int		e_id;
+};
+
+struct linux_posix_acl {
+	atomic_t			a_refcount;
+	unsigned int			a_count;
+	struct linux_posix_acl_entry	a_entries[0];
+};
+
+struct linux_posix_acl * posix_acl_from_xattr(const void *value, size_t size);
+extern int posix_acl_valid(const struct linux_posix_acl *);
+int posix_acl_to_xattr(const struct linux_posix_acl *acl, void *buffer, size_t size);
+
+#define PERM_MASK_2_POSIX(perm) perm&(LINUX_ACL_READ|LINUX_ACL_WRITE|LINUX_ACL_EXECUTE)
+#define PERM_MASK_2_ACL(perm) perm&(ACL_PERM_EXECUTE|ACL_PERM_WRITE|ACL_PERM_READ)
+
+/* move data from ACL to linux_posix_acl */
+int
+ACL_2_posix_acl(ACL *tmpaclP, const void *buf, size_t buf_size)
+{
+  int i, len;
+  int rc = 0, count = 0;
+  acl_entry_t *aceP;
+  struct linux_posix_acl *aclP = (struct linux_posix_acl *)buf;
+
+  ENTER(0);
+  memset(aclP, '\0', buf_size);
+
+  TRACE2(TRACE_VNODE, 3, TRCID_LINUXOPS_ACL2POSIX_ENTER,
+         "ACL_2_posix_acl: enter size %d buf_size %d\n",
+         tmpaclP->aclLength, buf_size);
+
+  /* POSIX ACLs only.  Other types require additional translations.  */
+  if (tmpaclP->aclVersion != ACL_FIRST_VERSION)
+  {
+      rc = -EOPNOTSUPP; 
+      goto xerror;
+  }
+
+  if (buf_size == 0) {
+      rc = tmpaclP->aclLength;
+      goto xerror;
+  }
+
+  /* Get the address of the first extended acl entry */
+  aceP = ACL_ENTRY_START(tmpaclP, tmpaclP->aclVersion);
+  len = tmpaclP->aclLength - ACL_HEADER_SIZE_V1;
+  buf_size -= sizeof(struct linux_posix_acl);
+  i = 0;
+
+  while ((len > 4) && (len >= aceP->aceLength))
+  {
+    TRACE3(TRACE_VNODE, 3, TRCID_LINUXOPS_ACL2POSIX_2,
+         "ACL_2_posix_acl: %d len %d buf_size %d\n",
+         i, len, buf_size);
+
+    if (buf_size < sizeof(struct linux_posix_acl_entry)) {
+      rc = -ENOSPC;
+      goto xerror;
+    }
+    switch(aceP->aceTagType)
+    {
+      case ACL_USER:
+        aclP->a_entries[i].e_tag = LINUX_ACL_USER;
+        aclP->a_entries[i].e_id = aceP->aceQualifier;
+        break;
+      case ACL_GROUP:
+        aclP->a_entries[i].e_tag = LINUX_ACL_GROUP;
+        aclP->a_entries[i].e_id = aceP->aceQualifier;
+        break;
+      case ACL_USER_OBJ:
+        aclP->a_entries[i].e_tag = LINUX_ACL_USER_OBJ;
+        aclP->a_entries[i].e_id = LINUX_ACL_UNDEFINED_ID;
+        break;
+      case ACL_GROUP_OBJ:
+        aclP->a_entries[i].e_tag = LINUX_ACL_GROUP_OBJ;
+        aclP->a_entries[i].e_id = LINUX_ACL_UNDEFINED_ID;
+        break;
+      case ACL_OTHER:
+        aclP->a_entries[i].e_tag = LINUX_ACL_OTHER;
+        aclP->a_entries[i].e_id = LINUX_ACL_UNDEFINED_ID;
+        break;
+      case ACL_MASK:
+        aclP->a_entries[i].e_tag = LINUX_ACL_MASK;
+        aclP->a_entries[i].e_id = LINUX_ACL_UNDEFINED_ID;
+        break;
+    }
+    aclP->a_entries[i].e_perm = PERM_MASK_2_POSIX(aceP->acePermissions);
+
+    TRACE7(TRACE_VNODE, 3, TRCID_LINUXOPS_ACL2POSIX,
+         "ACL_2_posix_acl: %d e_tag 0x%02X aceTagType %d e_id %d aceQualifier %d e_perm 0x%02X acePermissions 0x%01X\n",
+         i, aclP->a_entries[i].e_tag, aceP->aceTagType, aclP->a_entries[i].e_id,
+         aceP->aceQualifier, aclP->a_entries[i].e_perm, aceP->acePermissions);
+
+    /* move to the next acl entry */
+    len -= aceP->aceLength;
+    aceP = (acl_entry_t *)((caddr_t)aceP + aceP->aceLength);
+    buf_size -= sizeof(struct linux_posix_acl_entry);
+    i++;
+  }
+  aclP->a_count = i;
+
+xerror:
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_ACL2POSIX_EXIT,
+         "ACL_2_posix_acl: exit rc %d\n", rc);
+
+  EXIT(0);
+  return rc;
+}
+
+/* move data from linux_posix_acl to ACL */
+void
+posix_acl_2_ACL(ACL *tmpaclP, struct linux_posix_acl *aclP)
+{
+  int i, count;
+  acl_entry_t *aceP;
+
+  count = aclP->a_count;
+  /* Get the address of the first extended acl entry */
+  aceP = ACL_ENTRY_START(tmpaclP, tmpaclP->aclVersion);
+
+  for (i = 0; i < count; i++)
+  {
+    if (aclP->a_entries[i].e_tag & LINUX_ACL_USER) {
+        aceP->aceTagType = ACL_USER;
+        aceP->aceQualifier = aclP->a_entries[i].e_id;
+    }
+    if (aclP->a_entries[i].e_tag & LINUX_ACL_GROUP) {
+        aceP->aceTagType = ACL_GROUP;
+        aceP->aceQualifier = aclP->a_entries[i].e_id;
+    }
+    if (aclP->a_entries[i].e_tag & LINUX_ACL_USER_OBJ) {
+        aceP->aceTagType = ACL_USER_OBJ;
+        aceP->aceQualifier = aclP->a_entries[i].e_id;
+    }
+    if (aclP->a_entries[i].e_tag & LINUX_ACL_GROUP_OBJ) {
+        aceP->aceTagType = ACL_GROUP_OBJ;
+        aceP->aceQualifier = aclP->a_entries[i].e_id;
+    }
+    if (aclP->a_entries[i].e_tag & LINUX_ACL_OTHER) {
+        aceP->aceTagType = ACL_OTHER;
+        aceP->aceQualifier = aclP->a_entries[i].e_id;
+    }
+    if (aclP->a_entries[i].e_tag & LINUX_ACL_MASK) {
+        aceP->aceTagType = ACL_MASK;
+        aceP->aceQualifier = aclP->a_entries[i].e_id;
+    }
+    aceP->acePermissions = PERM_MASK_2_ACL(aclP->a_entries[i].e_perm);
+    aceP->aceLength = sizeof(acl_entry_t);
+
+    TRACE6(TRACE_VNODE, 3, TRCID_LINUXOPS_POSIX2ACL,
+         "posix_acl_2_ACL: %d e_tag 0x%X aceTagType %d aceQualifier %d e_perm 0x%X acePermissions 0x%X\n",
+         i, aclP->a_entries[i].e_tag, aceP->aceTagType, aceP->aceQualifier,
+         aclP->a_entries[i].e_perm, aceP->acePermissions);
+
+    /* move to the next acl entry */
+    aceP = (acl_entry_t *)((caddr_t)aceP + sizeof(acl_entry_t));
+  }
+}
+
+int
+gpfs_set_posix_acl(struct dentry *dentry, int type, const void *buf, size_t buf_size)
+{
+  int count, size, rc;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  ACL tmpacl, *tmpaclP = &tmpacl;
+  int flags = 0;
+  struct inode *iP = dentry->d_inode;
+  struct linux_posix_acl *aclP = NULL;
+  mm_segment_t oldfs;
+
+  ENTER(0);
+  TRACE5(TRACE_VNODE, 1, TRCID_LINUXOPS_SETACLATTR_ENTER,
+         "gpfs_i_gpfs_set_posix_acl enter: iP 0x%lX ino %d type 0x%X buf 0x%lX size %d\n",
+         iP, iP->i_ino, type, buf, buf_size);
+
+  if (buf) {
+    aclP = posix_acl_from_xattr(buf, buf_size);
+    if (IS_ERR(aclP)) {
+      rc = PTR_ERR(aclP);
+      aclP = NULL; /* no aclP to free on exit */
+      goto xerror;
+    }
+  }
+
+  if (aclP == NULL) {
+    /* If no buf was given, or no acl was returned, there is nothing else 
+     * to do. This is in effect deleting all extended ACLs.
+     */
+    memset(tmpaclP, '\0', sizeof(ACL));
+    tmpaclP->aclLength = ACL_HEADER_SIZE_V1;
+    if (type == ACL_TYPE_ACCESS)
+      tmpaclP->aclType = ACL_TYPE_ACCESS_DELETE;
+    else if (type == ACL_TYPE_DEFAULT)
+      tmpaclP->aclType = ACL_TYPE_DEFAULT_DELETE;
+    else
+    {
+      rc = EINVAL;
+      goto xerror;
+    }
+  }
+  else {
+    rc = posix_acl_valid(aclP);
+    if (rc)
+      goto xerror;
+
+    count = aclP->a_count;
+    size = ACL_HEADER_SIZE_V1 + (sizeof(acl_entry_t) * count);
+    if (size > sizeof(ACL)) {
+      tmpaclP = cxiMallocUnpinned(size);
+      if (tmpaclP == NULL) {
+        rc = ENOMEM;
+        goto xerror;
+      }
+    }
+    memset(tmpaclP, '\0', size);
+    tmpaclP->aclLength = size;
+    tmpaclP->aclType = type;
+  }
+
+  tmpaclP->aclVersion = ACL_FIRST_VERSION;
+
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+  cnP = VP_TO_CNP(iP);
+
+  /* Retrieve the ACL data */
+  setCred(&eCred);
+
+  oldfs = get_fs();
+  set_fs(get_ds());
+  if (aclP)
+     posix_acl_2_ACL(tmpaclP, aclP);
+
+  rc = gpfs_ops.gpfsPutAcl(privVfsP, cnP, flags, tmpaclP, &eCred);
+  set_fs(oldfs);
+
+xerror:
+  if (aclP)
+    kfree(aclP);
+
+  if (tmpaclP && (tmpaclP != &tmpacl))
+    cxiFreeUnpinned(tmpaclP);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_SETACLATTR_EXIT,
+         "gpfs_i_gpfs_set_posix_acl exit: iP 0x%lX rc %d\n", iP, rc);
+  EXIT(0);
+  return rc;
+}
+
+int
+gpfs_get_posix_acl(struct dentry *dentry, int type, const void *buf, size_t buf_size)
+{
+  int rc = 0;
+  int i, size;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  int flags = GETACL_DONOT_BLD_ACL;
+  ACL tmpacl, *tmpaclP = &tmpacl;
+  struct inode *iP = dentry->d_inode;
+  mm_segment_t oldfs;
+
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_GETACLATTR_ENTER,
+         "gpfs_get_posix_acl enter: iP 0x%lX type %d size %d\n", iP, type, buf_size);
+
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+  cnP = VP_TO_CNP(iP);
+
+  /* Retrieve the ACL data */
+  size = sizeof(ACL);
+
+try_again:
+
+  setCred(&eCred);     // ids may have been remapped before goto try_again
+
+  tmpaclP->aclType = type;
+  tmpaclP->aclVersion = ACL_FIRST_VERSION;
+  tmpaclP->aclLength = size;
+
+  oldfs = get_fs();
+  set_fs(get_ds());
+  rc = gpfs_ops.gpfsGetAcl(privVfsP, cnP, flags, tmpaclP, &eCred);
+  set_fs(oldfs);
+  if (rc)
+  {
+    if (rc == ENOSPC)
+    {
+      if (tmpaclP->aclLength >= size)
+      {
+        size = tmpaclP->aclLength;
+        if (tmpaclP != &tmpacl)
+          cxiFreeUnpinned(tmpaclP);
+        tmpaclP = cxiMallocUnpinned(size);
+        if (!tmpaclP)
+        {
+          rc = -ENOMEM;
+          goto xerror;
+        }
+        goto try_again;
+      }
+      else
+      {
+        rc = -EINVAL;  // buffer not even big enough to return length
+        goto xerror;
+      }
+    }
+    else {
+      if (rc == ENOENT)
+        rc = ENODATA;
+      rc = -rc;
+      goto xerror;
+    }
+  }
+
+  /* move data from ACL to linux_posix_acl */
+  rc = ACL_2_posix_acl(tmpaclP, buf, buf_size);
+  if (!rc) {
+     if (size < buf_size) {
+       if (tmpaclP != &tmpacl)
+         cxiFreeUnpinned(tmpaclP);
+       tmpaclP = cxiMallocUnpinned(buf_size);
+       if (!tmpaclP)
+       {
+         rc = -ENOMEM;
+         goto xerror;
+       }
+     }
+     memcpy(tmpaclP, buf, buf_size);
+     rc = posix_acl_to_xattr((struct linux_posix_acl *)tmpaclP, (void *)buf, size);
+  }
+xerror:
+
+  if (tmpaclP != &tmpacl)
+    cxiFreeUnpinned(tmpaclP);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_GETACLATTR_EXIT,
+         "gpfs_get_posix_acl exit: iP 0x%lX rc %d\n", iP, rc);
+
+  EXIT(0);
+  return rc;
+}
+#endif /* CONFIG_FS_POSIX_ACL */
+#endif /* LINUX_KERNEL_VERSION > 2060000 */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/arch-gpl.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/arch-gpl.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/arch-gpl.h	(revision 16)
@@ -0,0 +1,108 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)87       1.26  src/avs/fs/mmfs/ts/kernext/gpl-linux/arch-gpl.h, mmfs, avs_rgpfs24, rgpfs240610b 5/10/05 16:55:12 */
+#ifndef _h_arch_gpl
+#define _h_arch_gpl
+
+#define LEVEL_1 // uncomment to get privilege level 1 where the storage is
+                // NOT accessible by all users ???
+
+#if defined(GPFS_ARCH_IA64) || defined(GPFS_ARCH_PPC64) \
+      || defined(GPFS_ARCH_X86_64)
+#define PGD_OFFSET(mm, page) pgd_offset_k(page)
+#else
+#define PGD_OFFSET(mm, page) pgd_offset(mm, page)
+#endif
+
+#ifdef GPFS_ARCH_IA64
+/* In the kernel's mapped region we have a full 43 bit space available and
+   completely ignore the region number (since we know its in region number 5).*/
+#ifdef LEVEL_1
+#define PRIVILEGE_FLAGS _PAGE_PL_1           // privilege level 1
+#else
+#define PRIVILEGE_FLAGS _PAGE_PL_3           // privilege level 3(user)
+#endif
+#else   //GPFS_ARCH_I386
+#define PRIVILEGE_FLAGS _PAGE_USER
+#endif
+
+int kxSaveThreadInfo(int pid, void* reg);
+#ifdef GPFS_ARCH_IA64
+int set_privilege_level(unsigned long progLevel);
+int get_privilege_level();
+#else
+#define set_privilege_level(_a) 0
+#define get_privilege_level(_a) 0
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2050000
+#include <asm/tlbflush.h>
+#endif
+
+/* General macros for flushing tlb entries */
+#if defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_PPC64) \
+      || defined(GPFS_ARCH_X86_64)
+#define FLUSH_TLB_PAGE(V,A)            NOOP //???
+#define FLUSH_TLB_RANGE(M,S,E)         NOOP //???
+#endif
+#ifdef GPFS_ARCH_I386
+#define FLUSH_TLB_PAGE(V,A)            flush_tlb_page(V,A)
+/* Temporary workaround for running i386 Linux distros on EM64T or x86-64
+   architecture; we need to flush the tlb on all cpus in this case
+   in a rather convoluted manner (vfree) after changing the protection bits.
+   This will go away with the use of pointer swizzling on ia32
+   in the near future. */
+#define FLUSH_TLB_RANGE(M,S,E) \
+        {   void *_tptr; \
+            _tptr = vmalloc(PAGE_SIZE); \
+            vfree(_tptr); \
+        }
+#define FLUSH_TLB_ALL()
+#endif /* GPFS_ARCH_I386 */
+
+#if defined(GPFS_ARCH_IA64)
+#define FLUSH_TLB_PAGE(V,A)            flush_tlb_page(V,A)
+#if LINUX_KERNEL_VERSION >= 2060500
+/* flush_tlb_range now uses vma struct instead of mm struct. */
+#define FLUSH_TLB_RANGE(M,S,E) \
+        { struct vm_area_struct vma; \
+          vma.vm_mm = M; \
+          flush_tlb_range(&vma,S,E); \
+        }
+#else
+#define FLUSH_TLB_RANGE(M,S,E)         flush_tlb_range(M,S,E)
+#endif /* LINUX_KERNEL_VERSION >= 2060500 */
+#define FLUSH_TLB_ALL()                flush_tlb_all()
+#endif /* GPFS_ARCH_IA64 */
+
+#endif /* _h_arch_gpl */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/block.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/block.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/block.c	(revision 16)
@@ -0,0 +1,347 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)90       1.28  src/avs/fs/mmfs/ts/kernext/gpl-linux/block.c, mmfs, avs_rgpfs24, rgpfs240610b 8/4/04 23:12:51 */
+#if LINUX_KERNEL_VERSION < 2050000
+
+#define __NO_VERSION__
+
+#ifndef __KERNEL__
+#define __KERNEL__
+#endif
+
+#include <Shark-gpl.h>
+
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/stat.h>
+#include <linux/errno.h>
+#include <linux/module.h>
+#include <linux/blkdev.h>
+#include <asm/uaccess.h>
+
+#include <linux/devfs_fs_kernel.h>
+
+#include <verdep.h>
+#include <cxiTypes.h>
+#include <linux2gpfs.h>
+#include <cxiIOBuffer.h>
+#include <cxiSharedSeg.h>
+#include <cxiSystem.h>
+#include <Trace.h>
+
+
+/* Major number for GPFS filesystem /dev entries.  Note that FS_MAJOR
+   is just our first choice for a number.  Since we don't have a reserved
+   number (see linux/major.h) we have to be prepared to receive EBUSY when
+   we register.  If FS_MAJOR is already taken, we allow devfs_register_blkdev
+   to assign us any available number.  After we've registered, our major
+   number will be stored in GPFSFileSysMajorNumber.  */
+#define FS_MAJOR 239
+
+static unsigned int GPFSFileSysMajorNumber = 0;
+
+
+/* just return a zero'd buffer */
+ssize_t 
+gpfs_fb_read(struct file *file, char *buf, size_t nbytes, loff_t *ppos)
+{
+  ssize_t written = 0;
+  int toWrite;
+  int rc = 0;
+
+  ENTER(0);
+  TRACE3(TRACE_BOPS, 2, TRCID_FBREAD_ENTER,
+         "gpfs_fb_read: enter file 0x%X buf 0x%X nbytes %d\n", 
+         file, buf, nbytes);
+
+  while (nbytes)
+  {
+    toWrite = (nbytes >= PAGE_SIZE) ? PAGE_SIZE : nbytes;
+
+    rc = clear_user(buf, toWrite);
+    if (rc)
+      goto xerror;
+
+    nbytes -= toWrite;
+    buf += toWrite;
+    written += toWrite;
+  }
+
+xerror:
+  TRACE1(TRACE_BOPS, 2, TRCID_FBREAD_EXIT,
+         "gpfs_fb_read: exit written %d\n", written);
+
+  EXIT(0);
+  return (rc ? -ENOSYS : written);
+}
+
+ssize_t 
+gpfs_fb_write(struct file *file, const char *buf, size_t nbytes, loff_t *ppos)
+{
+  ENTER(0);
+  TRACE3(TRACE_BOPS, 2, TRCID_FBWRITE_ENTER,
+         "gpfs_fb_write: enter file 0x%X buf 0x%X nbytes %d\n", 
+         file, buf, nbytes);
+  EXIT(0);
+  return nbytes;
+}
+
+int 
+gpfs_fb_open(struct inode *inode, struct file *file)
+{
+  struct block_device *bdP;
+  int openers;
+  int count;
+
+  ENTER(0);
+  TRACE2(TRACE_BOPS, 2, TRCID_FBOPEN_ENTER,
+         "gpfs_fb_open: inode 0x%X file 0x%X\n", inode, file);
+
+  if (inode->i_bdev)
+  {
+    bdP = inode->i_bdev;
+
+# if LINUX_KERNEL_VERSION >= 2041300
+    openers = bdP->bd_openers;
+    count   = atomic_read(&bdP->bd_count);
+#else
+    openers = atomic_read(&bdP->bd_openers);
+    count   = atomic_read(&bdP->bd_count);
+#endif
+
+    TRACE3(TRACE_BOPS, 2, TRCID_FBOPEN_EXIT,
+           "gpfs_fb_open: exit bdP 0x%lX openers %d count %d\n", 
+           bdP, openers, count);
+  }
+  EXIT(0);
+  return 0;
+}
+
+int 
+gpfs_fb_release(struct inode *inode, struct file *file)
+{
+  struct block_device *bdP;
+  int openers;
+  int count;
+
+  ENTER(0);
+  TRACE2(TRACE_BOPS, 2, TRCID_FBRELEASE_ENTER,
+         "gpfs_fb_release: inode 0x%X file 0x%X\n", inode, file);
+
+  if (inode->i_bdev)
+  {
+    bdP = inode->i_bdev;
+# if LINUX_KERNEL_VERSION >= 2041300
+    openers = bdP->bd_openers;
+    count   = atomic_read(&bdP->bd_count);
+#else
+    openers = atomic_read(&bdP->bd_openers);
+    count   = atomic_read(&bdP->bd_count);
+#endif
+
+    /* We're responsible for calling this to lower the openers
+     * count as we have a specific release routine.   We're using
+     * BDEV_RAW since that doesn't incur any operations in 
+     * blkdev_put()
+     */
+    blkdev_put(bdP, BDEV_RAW);
+
+    TRACE3(TRACE_BOPS, 2, TRCID_FBRELEASE_EXIT,
+           "gpfs_fb_release: exit bdP 0x%lX openers %d count %d\n", 
+           bdP, openers, count);
+  }
+  EXIT(0);
+  return 0;
+}
+
+int 
+gpfs_fb_ioctl(struct inode *inode, struct file *file, unsigned p1, 
+              unsigned long p2)
+{
+  ENTER(0);
+  TRACE4(TRACE_BOPS, 2, TRCID_FBIOCTL_ENTER,
+         "gpfs_fb_ioctl: inode 0x%X file 0x%X p1 %d p2 %d\n",
+         inode, file, p1, p2);
+  EXIT(0);
+  return 0;
+}
+
+int
+gpfs_b_open(struct inode *inode, struct file *file)
+{
+  struct block_device *bdP;
+  int openers;
+  int count;
+
+  ENTER(0);
+  TRACE2(TRACE_BOPS, 2, TRCID_BOPEN_ENTER,
+         "gpfs_b_open: inode 0x%X file 0x%X\n", inode, file);
+  if (!inode)
+          return -EINVAL;
+
+  if (inode->i_bdev)
+  {
+    bdP = inode->i_bdev;
+# if LINUX_KERNEL_VERSION >= 2041300
+    openers = bdP->bd_openers;
+    count   = atomic_read(&bdP->bd_count);
+#else
+    openers = atomic_read(&bdP->bd_openers);
+    count   = atomic_read(&bdP->bd_count);
+#endif
+
+    TRACE3(TRACE_BOPS, 2, TRCID_BOPEN_EXIT,
+           "gpfs_b_open: exit bdP 0x%lX openers %d count %d\n", 
+           bdP, openers, count);
+  }
+  file->f_op = &gpfs_fbps;
+
+  EXIT(0);
+  return 0;          /* success */
+}
+
+int 
+gpfs_b_release(struct inode *inode, struct file *file)
+{
+  struct block_device *bdP;
+  int openers;
+  int count;
+
+  ENTER(0);
+  TRACE2(TRACE_BOPS, 2, TRCID_BRELEASE_ENTER,
+         "gpfs_b_release: inode 0x%X file 0x%X\n", inode, file);
+
+  if (inode->i_bdev)
+  {
+    bdP = inode->i_bdev;
+# if LINUX_KERNEL_VERSION >= 2041300
+    openers = bdP->bd_openers;
+    count   = atomic_read(&bdP->bd_count);
+#else
+    openers = atomic_read(&bdP->bd_openers);
+    count   = atomic_read(&bdP->bd_count);
+#endif
+
+    TRACE3(TRACE_BOPS, 2, TRCID_BRELEASE_EXIT,
+           "gpfs_b_release: exit bdP 0x%lX openers %d count %d\n", 
+           bdP, openers, count);
+  }
+  EXIT(0);
+  return 0;          /* success */
+}
+
+int 
+gpfs_b_ioctl(struct inode *inode, struct file *file, unsigned p1,
+             unsigned long p2)
+{
+  ENTER(0);
+  TRACE4(TRACE_BOPS, 2, TRCID_BIOCTL_ENTER,
+         "gpfs_fb_ioctl: inode 0x%X file 0x%X p1 %d p2 %d\n",
+         inode, file, p1, p2);
+  EXIT(0);
+  return 0;
+}
+
+int
+gpfs_make_request(request_queue_t *rq, int rw, struct buffer_head *bh)
+{
+  ENTER(0);
+  BUFHEAD_ERROR_IODONE(bh);
+  EXIT(0);
+  return 0;
+}
+
+
+int 
+gpfs_block_init()
+{
+  int rc;
+
+  ENTER(0);
+  GPFSFileSysMajorNumber = FS_MAJOR;
+
+retry:
+  rc = register_blkdev(GPFSFileSysMajorNumber, "gpfs", &gpfs_bops);
+  if (rc < 0)
+  {
+    TRACE2(TRACE_BOPS, 2, TRCID_BLOCK_011,
+           "gpfs_block_init: unable to get major %d rc %d\n",
+           GPFSFileSysMajorNumber, rc);
+
+    /* If FS_MAJOR was already taken, register without specifying a major
+       number (allow devfs_register_blkdev to choose an available one). */
+
+    if ((rc == -EBUSY) && (GPFSFileSysMajorNumber == FS_MAJOR))
+    {
+      GPFSFileSysMajorNumber = 0;
+      goto retry;
+    }
+
+    GPFSFileSysMajorNumber = 0;
+    EXIT(0);
+    return -1;
+  }
+
+  /* If devfs_register_blkdev chose the number, save it so we can
+     properly unregister later. */
+
+  if (GPFSFileSysMajorNumber == 0)
+    GPFSFileSysMajorNumber = rc;
+
+
+  /* set up a null strategy routine */
+  blk_queue_make_request(BLK_DEFAULT_QUEUE(GPFSFileSysMajorNumber),
+                         gpfs_make_request);
+                          
+  TRACE2(TRACE_BOPS, 2, TRCID_BLOCK_013,
+         "gpfs_block_init: register_blkdev %d rc %d\n",
+         GPFSFileSysMajorNumber, rc);
+  EXIT(0);
+  return 0;
+}
+
+void 
+gpfs_block_clean()
+{
+  int rc;
+
+  ENTER(0);
+  rc = unregister_blkdev(GPFSFileSysMajorNumber, "gpfs");
+  TRACE2(TRACE_BOPS, 2, TRCID_BLOCK_015,
+         "gpfs_block_clean: unregister_blkdev %d rc %d\n",
+         GPFSFileSysMajorNumber, rc);
+
+  GPFSFileSysMajorNumber = 0;
+  EXIT(0);
+}
+#endif /* LINUX_KERNEL_VERSION < 2050000 */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cfiles.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cfiles.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cfiles.c	(revision 16)
@@ -0,0 +1,106 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)88       1.22  src/avs/fs/mmfs/ts/kernext/gpl-linux/cfiles.c, mmfs, avs_rgpfs24, rgpfs24s003a 5/26/06 09:42:26 */
+/* This file is included by cfiles_<kernopts>.c
+ * It is a list of c files that make up the mmfslinux
+ * module.  The cfiles_<kernopts>.c file includes the
+ * <linux/config.h> that is on the local machine and redefines
+ * the kernel config options.  It then includes this file.
+ *  
+ * The reason for this is so we can build a module for an alternate
+ * kernel config.
+ */ 
+#ifndef KBUILD_MODNAME
+#define KBUILD_MODNAME mmfslinux
+#endif
+
+#ifndef GPFS_ARCH_X86_64
+#define __KERNEL_SYSCALLS__
+#endif
+
+#include "block.c"
+#include "dir.c"
+#include "kx.c"
+#include "mmap.c"
+#include "ss.c"
+#include "super.c"
+#include "inode.c"
+#include "file.c"
+#include "cxiVFSStats.c"
+#include "cxiSystem.c"
+#include "cxiIOBuffer.c"
+#include "gplInit.c"
+#ifdef DMAPI
+#include "dmapi.c"
+#endif
+
+#include "opsdeclare.c"
+#include "gpl-ksyms.c"
+#include "acl.c"
+
+/* Define variables to be exported based on kernel configuration.
+   These can then be detected via "nm" in order to verify that the
+   module that is to be loaded matches the running kernel. */
+
+#if defined(CONFIG_HIGHMEM)
+# if defined(CONFIG_HIGHMEM4G)
+    int GPFS_CONFIG_HIGHMEM4G = 1;
+    EXPORT_SYMBOL(GPFS_CONFIG_HIGHMEM4G);
+# endif
+# if defined(CONFIG_HIGHMEM64G)
+    int GPFS_CONFIG_HIGHMEM64G = 1;
+    EXPORT_SYMBOL(GPFS_CONFIG_HIGHMEM64G);
+# endif
+#endif
+
+#if defined(CONFIG_SMP)
+  int GPFS_CONFIG_SMP = 1;
+  EXPORT_SYMBOL(GPFS_CONFIG_SMP);
+#endif
+
+#if defined(GPFS_ARCH_IA64)
+  int GPFS_CONFIG_IA64 = 1;
+  EXPORT_SYMBOL(GPFS_CONFIG_IA64);
+#endif
+
+/* Compiled for different PAGE_OFFSETs */
+#if defined(CONFIG_1GB)
+  int GPFS_CONFIG_1GB = 1;
+  EXPORT_SYMBOL(GPFS_CONFIG_1GB);
+#elif defined(CONFIG_2GB)
+  int GPFS_CONFIG_2GB = 1;
+  EXPORT_SYMBOL(GPFS_CONFIG_2GB);
+#elif defined(CONFIG_3GB)
+  int GPFS_CONFIG_3GB = 1;
+  EXPORT_SYMBOL(GPFS_CONFIG_3GB);
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cfiles_cust.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cfiles_cust.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cfiles_cust.c	(revision 16)
@@ -0,0 +1,52 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)53       1.7  src/avs/fs/mmfs/ts/kernext/gpl-linux/cfiles_cust.c, mmfs, avs_rgpfs24, rgpfs240610b 7/25/05 19:22:59 */
+/* This file is used to generate a customized mmfslinux kernel module. */
+
+#define KBUILD_MODNAME mmfslinux
+
+#include <linux/config.h>
+
+/* We don't want to use the stuff in mm_track.h with page table operations
+   on x86 (due to shared segment code w/o ptr swizzling in ss.c). */
+#ifdef CONFIG_MEM_MIRROR
+#  undef CONFIG_MEM_MIRROR
+#endif
+
+
+#ifndef KTRACE
+#define DEFINE_TRACE_GBL_VARS
+#endif
+#define DEFINE_VFSSTATS_GBL_VARS
+
+#include "cfiles.c"
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cfiles_cust.ko.ver
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cfiles_cust.ko.ver	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cfiles_cust.ko.ver	(revision 16)
@@ -0,0 +1,192 @@
+__crc_cxiAttachIOBuffer = 0xe44262fa ;
+__crc_cxiDetachIOBuffer = 0x0c376b64 ;
+__crc_cxiUXfer = 0x1579c996 ;
+__crc_cxiXmemXfer = 0xb72ff6cc ;
+__crc_cxiKXfer = 0xe20e9744 ;
+__crc_cxiKZero = 0x28813834 ;
+__crc_cxiMapDiscontiguousRW = 0x3880e38c ;
+__crc_cxiUnmapDiscontiguousRW = 0xbca66e54 ;
+__crc_cxiMapContiguousRO = 0x5218cf7b ;
+__crc_cxiUnmapContiguousRO = 0xdce3cf69 ;
+__crc_cxiKDoIO = 0xe30b5482 ;
+__crc_cxiKibdPin = 0x05f8da8b ;
+__crc_cxiKibdUnpin = 0x4b2cd41c ;
+__crc_cxiKibdUnpinAll = 0xc5f59512 ;
+__crc_cxiKibdPinmm = 0x9b21d6c3 ;
+__crc_cxiKibdUnpinmm = 0xb8129e94 ;
+__crc_vfsStats = 0x46fa0731 ;
+__crc_VFSStatPoint_begin = 0x82ee8418 ;
+__crc_VFSStatPoint_end = 0xb544e3c8 ;
+__crc_GetDiskInfoX = 0xac9282d0 ;
+__crc_cxiFcntlUnblock = 0xd7b24cd1 ;
+__crc_cxiFcntlLock = 0x9080590a ;
+__crc_cxiFcntlReset = 0xf105ff1b ;
+__crc_cxiTrace = 0x853b38fa ;
+__crc_cxiFlockToVFS = 0xcc2ae239 ;
+__crc_cxiVFSToFlock = 0xfcae55f9 ;
+__crc_cxiCheckTypes = 0x945f3e8b ;
+__crc_cxiOpenNFS = 0xe65923f9 ;
+__crc_cxiCloseNFS = 0xb4a1c58d ;
+__crc_cxiSetNFSCluster = 0x9d3440d9 ;
+__crc_cxiGetNfsP = 0x1c367e06 ;
+__crc_cxiSetNfsP = 0xd35422f5 ;
+__crc_cxiGetCnP = 0xc37dd3dd ;
+__crc_cxiGetPvP = 0xc38904b1 ;
+__crc_cxiGNPtoVP = 0xdb125e78 ;
+__crc_cxiStartKProc = 0xbd16895f ;
+__crc_cxiStopKProc = 0x30560619 ;
+__crc_cxiSleep = 0xcb980506 ;
+__crc_cxiPanic = 0x0b6d6666 ;
+__crc_cxiGetKernelBoundary = 0xbd07d6b9 ;
+__crc_cxiHoldsBKL = 0x61b0321e ;
+__crc_cxiBreakOplock = 0x2fa5d84b ;
+__crc_cxiInitBreakQ = 0xb68428d6 ;
+__crc_cxiTermBreakQ = 0x83af306c ;
+__crc_cxiSendBreakMsg = 0x78ed2450 ;
+__crc_cxiWaitForBreak = 0x811bf8e3 ;
+__crc_cxiClearBit = 0x59e7cf02 ;
+__crc_cxiSetBit = 0x92b5cbe5 ;
+__crc_cxiTestBit = 0xb9fd2495 ;
+__crc_cxiRegisterCleanup = 0x21dbd10c ;
+__crc_socket_aio_dequeue = 0x4ca616a8 ;
+__crc_cxiAuditWrite = 0x48a51bd2 ;
+__crc_cxiAlarmWrite = 0x27c92f34 ;
+__crc_cxiGetCred = 0xd2c6dca7 ;
+__crc_cxiPutCred = 0xf1976019 ;
+__crc_cxiIsGPFSThread = 0x21c38f4b ;
+__crc_cxiIsKswapdThread = 0x52d7d6cd ;
+__crc_cxiGetThreadId = 0xffcd9a5e ;
+__crc_cxiGetFcntlOwner = 0x0fad2c04 ;
+__crc_cxiUiomove = 0xc07e9e17 ;
+__crc_cxiMallocPinned = 0x2a67b605 ;
+__crc_cxiFreePinned = 0x7ae3b984 ;
+__crc_cxiBigMalloc = 0x67cfac2b ;
+__crc_cxiBigFree = 0x22fb45c4 ;
+__crc_cxiCopyIn = 0x7f8cdc7c ;
+__crc_cxiCopyOut = 0xb1ec5460 ;
+__crc_cxiCopyInstr = 0x391203cc ;
+__crc_cxiSafeGetLong = 0x398c7fec ;
+__crc_cxiSafePutLong = 0x6e256502 ;
+__crc_cxiSafeGetInt = 0xc687823d ;
+__crc_cxiSafePutInt = 0xe6feec6f ;
+__crc_cxiStackAddrToThreadId = 0xe3e61832 ;
+__crc_cxiThreadPtrToThreadId = 0x229a5116 ;
+__crc_cxiIsSuperUser = 0x888a7792 ;
+__crc_cxiGetMaxFileSize = 0xe5587dd8 ;
+__crc_cxiSendSigThread = 0x71db8323 ;
+__crc_cxiWaitEventHasWaiters = 0xdfb39699 ;
+__crc_cxiWaitEventInit = 0x4e16c8be ;
+__crc_cxiGetTOD = 0x4e209f72 ;
+__crc_cxiIsNFSThread = 0x283224e2 ;
+__crc_cxiIsNFS4Thread = 0x3c237fb0 ;
+__crc_cxiIsLockdThread = 0x7912ae5d ;
+__crc_cxiIsKupdateThread = 0x16a63b4e ;
+__crc_cxiBlockingMutexInit = 0x6defe48d ;
+__crc_cxiBlockingMutexAcquire = 0xed623bae ;
+__crc_cxiBlockingMutexRelease = 0x1159d397 ;
+__crc_cxiBlockingMutexTerm = 0xcd9929c7 ;
+__crc_cxiBlockingMutexHeldByCaller = 0xb0f240c0 ;
+__crc_cxiBlockingMutexHasWaiters = 0x383ee711 ;
+__crc_cxiYield = 0x5f09bf14 ;
+__crc_cxiSetPageoutThread = 0x5c02bf78 ;
+__crc_cxiClearPageoutThread = 0xfedd1325 ;
+__crc_cxiWaitEventWait = 0x363a2df4 ;
+__crc_cxiWaitEventSignal = 0x206d8e39 ;
+__crc_cxiWaitEventWakeupOne = 0x9f08d2fa ;
+__crc_cxiWaitEventBroadcast = 0x1b5550ff ;
+__crc_cxiWaitEventBroadcastRC = 0x00368557 ;
+__crc_getpid = 0x5c862781 ;
+__crc_cxiPruneDCacheEntry = 0xee0dd850 ;
+__crc_cxiInvalidateDCacheEntry = 0x764bf427 ;
+__crc_cxiInvalidateNegDCacheEntry = 0x096d0e2d ;
+__crc_cxiInvalidatePerm = 0xcbb79da8 ;
+__crc_cxiUpdateInode = 0x662853cb ;
+__crc_cxiInitVFS = 0x3556c745 ;
+__crc_cxiGetKernelStackSize = 0xa2226052 ;
+__crc_TraceFlagsP = 0x041270aa ;
+__crc_cxiIsSambaThread = 0x2801c7f4 ;
+__crc_cxiIsSambaOrLockdThread = 0x5918b48b ;
+__crc_setSMBOpenLockControl = 0xecd4c344 ;
+__crc_setSMBOplock = 0xed5dead8 ;
+__crc_cxiCheckOpen = 0xe97d36b7 ;
+__crc_kxGetShare = 0x4b3706cc ;
+__crc_kxGetDelegation = 0xc7414d7d ;
+__crc_ss_ioctl_op = 0xfbec7211 ;
+__crc_cxiCalcMaxSharedSegment = 0x6418ab1b ;
+__crc_cxiAllocSharedMemory = 0x00cbafb3 ;
+__crc_cxiFreeSharedMemory = 0x9b464aac ;
+__crc_cxiAttachSharedMemory = 0x8b342ac3 ;
+__crc_cxiDetachSharedMemory = 0x4964fec5 ;
+__crc_cxiRecordSharedMemory = 0x7a84f84e ;
+__crc_cxiInitPtrSwizzling = 0x55e71d81 ;
+__crc_kxGetACL = 0xd0b2337e ;
+__crc_kxPutACL = 0x94fdacfc ;
+__crc_tsstat = 0x2493ac08 ;
+__crc_tsfstat = 0xb96b0db1 ;
+__crc_tsfattr = 0xf4277f1e ;
+__crc_tsattr = 0xd7efcfa4 ;
+__crc_tsfsattr = 0xd114c347 ;
+__crc_kxPoll = 0x2d86bdd5 ;
+__crc_cxiGetPrivVfsP = 0xda9c2374 ;
+__crc_kxMadvise = 0x6a419c1a ;
+__crc_kxGetThreadID = 0xd4cc8967 ;
+__crc_kxUMount = 0x560bbc23 ;
+__crc_kxQuotactl = 0x925b2e0c ;
+__crc_cxiSetMountInfo = 0x413b34e6 ;
+__crc_cxiUnmount = 0x446e7039 ;
+__crc_cxiReactivateOSNode = 0xd95de3b2 ;
+__crc_cxiNewOSNode = 0x316ff5df ;
+__crc_cxiFreeOSNode = 0x9455a3cc ;
+__crc_cxiDeleteMmap = 0xe8a2a9f0 ;
+__crc_cxiReinitOSNode = 0x6ac8f62d ;
+__crc_cxiRefOSNode = 0x6bbe8f9b ;
+__crc_cxiRefOsNode = 0x5b2bf224 ;
+__crc_cxiInactiveOSNode = 0x3ca9ea5e ;
+__crc_cxiPutOSNode = 0xc32373d6 ;
+__crc_cxiDestroyOSNode = 0x55686709 ;
+__crc_cxiSetOSNodeType = 0x4e58223e ;
+__crc_cxiSetOSNode = 0xf50fc6fc ;
+__crc_cxiCanUncacheOSNode = 0x7c0c0195 ;
+__crc_cxiDumpOSNode = 0x37cebf20 ;
+__crc_cxiAddOSNode = 0x40a40156 ;
+__crc_gpfs_ops = 0xe3fc8699 ;
+__crc_gpfs_init = 0x2aca9a5b ;
+__crc_cxiExportModuleStruct = 0x0cf88853 ;
+__crc_cxiIncModuleCounter = 0x32cdc465 ;
+__crc_gpfs_clean = 0xa578173b ;
+__crc_reset_gpfs_operations = 0xfc7ec049 ;
+__crc_IoDone = 0x9a222270 ;
+__crc_VM_Attach = 0x925e1fce ;
+__crc_VM_Detach = 0x96b9a485 ;
+__crc_getFilePos = 0x6fa56835 ;
+__crc_getVp = 0xe9314b1c ;
+__crc_mmapKill = 0x2f24dd10 ;
+__crc_EnableMmap = 0x01f9e5f7 ;
+__crc_cxiMmapRegister = 0xa24f32b7 ;
+__crc_cxiMmapUnregister = 0x916b8d77 ;
+__crc_cxiMmapFlush = 0x74e9635b ;
+__crc_cxiMmapGetPage = 0xd828ff14 ;
+__crc_cxiMmapReleasePage = 0xb7175fa4 ;
+__crc_cxiInitDMS = 0x5c57aa14 ;
+__crc_cxiShutdownDMS = 0xb74c2b8a ;
+__crc_cxiStartDMS = 0x3f0971be ;
+__crc_cxiStopDMS = 0xfa1cedb9 ;
+__crc_terminate__Fv = 0x1e5e42b7 ;
+__crc_errno = 0x3c214fd7 ;
+__crc_cxiPathToVfsP = 0xe0518b35 ;
+__crc_cxiPathRel = 0x24880cac ;
+__crc_cxiIsReadOnlyMnt = 0xeb0f8676 ;
+__crc_cxiGetFileAndVp = 0x2aef8d56 ;
+__crc_cxiReleaseFile = 0x9aff7df4 ;
+__crc_cxiSetCred = 0x1354e030 ;
+__crc_cxiGetMountedOverOSNode = 0xde48e2ed ;
+__crc_cxiMountedOverVfsType = 0x28a592f6 ;
+__crc_cxiGetRootInode = 0x8a933922 ;
+__crc_cxiGetUserEnvironmentSize = 0x204a7880 ;
+__crc_cxiGetUserEnvironment = 0xffd04f92 ;
+__crc_cxiHasMountHelper = 0x36bd2ff3 ;
+__crc_cxiCheckThreadState = 0xce35f9da ;
+__crc_cxiCheckProductVersion = 0x2d5ea61e ;
+__crc_cxiCheckSiteMcrVersion = 0x1e85c55c ;
+__crc_GPFS_CONFIG_HIGHMEM4G = 0x0be3e3a6 ;
+__crc_GPFS_CONFIG_SMP = 0x552e1259 ;
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cxiIOBuffer.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cxiIOBuffer.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cxiIOBuffer.c	(revision 16)
@@ -0,0 +1,1852 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)37       1.62.1.3  src/avs/fs/mmfs/ts/kernext/gpl-linux/cxiIOBuffer.c, mmfs, avs_rgpfs24, rgpfs24s010a 2/8/07 15:40:30 */
+/*
+ * Linux implementation of I/O buffers
+ *
+ * Contents:
+ *   static struct cxiKernelIOBufferDesc_t* kibdAlloc
+ *   static void kibdFree
+ *   static void deallocKernelIOBufferDesc
+ *   static int allocKernelIOBufferDesc
+ *   KibdModuleInit
+ *   KibdModuleTerm
+ *   cxiKibdPin
+ *   cxiKibdUnpin
+ *   cxiKibdUnpinAll
+ *   cxiKibdPinmm
+ *   cxiKibdUnpinmm
+ *
+ *   cxiAttachIOBuffer
+ *   cxiDetachIOBuffer
+ *   cxiUXfer
+ *   cxiKXfer
+ *   cxiKZero
+ *   cxiMapDiscontiguousRW
+ *   cxiUnmapDiscontiguousRW
+ *   cxiMapContiguousRO
+ *   cxiUnmapContiguousRO
+ *   BHioDone
+ *   cxiStartIO
+ *   cxiWaitIO
+ *   cxiKDoIO
+ *   GetDiskInfoX
+ */
+
+#include <Shark-gpl.h>
+
+#include <linux/module.h>
+#include <linux/string.h>
+#include <linux/slab.h>
+#include <linux/vmalloc.h>
+#include <linux/mm.h>
+#include <linux/blkdev.h>
+#include <linux/fs.h>
+#include <linux/smp_lock.h>
+#if LINUX_KERNEL_VERSION >= 2050000
+#include <linux/bio.h>
+#else
+#include <linux/iobuf.h>
+#endif
+
+#include <Logger-gpl.h>
+#include <Trace.h>
+#include <cxiSystem.h>
+#include <linux2gpfs.h>
+#include <verdep.h>
+#include <cxiIOBuffer.h>
+#include <cxiAtomic.h>
+#include <cxiTypes.h>
+#include <linux/mman.h>
+
+#ifdef CONFIG_BGL
+/* BG/L version of Linux doesn't define get_user_pages, so define it here */
+#define get_user_pages(tsk, mm, start, len, write, force, pages, vmas) \
+	__get_user_pages(tsk, mm, start, len, write, force, pages, vmas, 0)
+#endif
+
+/* Returns a page pointer from a cxiKernelIOBufferDesc_t 
+ * The INDEX of the page to return is relative to the 
+ * KIBDP supplied.  For instance a KIBD may only contain
+ * twenty pages.  If you supply a KIBD and an index of twenty
+ * (index starts from zero) then we'll move to the next KIBD 
+ * in the chain and update the INDEX to be zero.  Thus PAGEINDEX,
+ * KIBD, and PAGEP may be updated by this macro. 
+ */
+#define KIBD_GET_PAGE(KIBDP, INDEX, PAGEP)              \
+  while ((KIBDP) && (INDEX) >= (KIBDP)->kibdPages)      \
+  {                                                     \
+    (INDEX) -= (KIBDP)->kibdPages;                      \
+    (KIBDP) = (KIBDP)->kibdNextP;                       \
+  }                                                     \
+  if (KIBDP)                                            \
+    (PAGEP) = (struct page *)(KIBDP)->maplist[(INDEX)]; \
+  else                                                  \
+    (PAGEP) = NULL;
+
+/* Spin lock protecting list of all top-level cxiKernelIOBufferDesc_t's.
+   Using a static initializer here (spinlock_t KibdLock = SPIN_LOCK_UNLOCKED)
+   does not work, because SPIN_LOCK_UNLOCKED contains a cast to type spinlock_t.
+   In C++, (but not in C), this causes KibdLock to be put in the bss section,
+   and code to be generated to perform the initialization.  Unfortunately,
+   this initialization code does not get called, because kernel modules do
+   not have the full C++ environment established. */
+spinlock_t KibdLock;
+
+/* Static pointer to slab allocator for cxiKernelIOBufferDesc_t's */
+struct kmem_cache* KibdCacheP = NULL;
+
+/* Static head of doubly-linked list of top-level cxiKernelIOBufferDesc_t's.
+   The list is protected by KibdLock. */
+struct cxiKernelIOBufferDesc_t* KibdGblHeadP = NULL;
+
+/* Count of number of delays in busy wait loop in cxiWaitIO */
+atomic_t cxiWaitIONDelays;
+
+/* Group of Linux buffer_heads allocated together for a multi-page I/O.  A
+   chunk is just less than half a page. */
+#define BUFFER_HEADS_PER_CHUNK \
+  ((PAGE_SIZE/2-(2*sizeof(void*)+sizeof(int)+sizeof(atomic_t))) / \
+  (sizeof(void*)+sizeof(struct buffer_head)))
+
+struct cxiBufHeadChunk_t
+{
+  /* Next and previous chunks of buffers used for an I/O.  The list is
+     circular. */
+  struct cxiBufHeadChunk_t* bhcNextP;
+  struct cxiBufHeadChunk_t* bhcPrevP;
+
+  /* Number of buffer_heads used in this chunk */
+  int nBHUsed;
+
+  /* Number of buffer_heads in this chunk that have been submitted, but
+     whose iodone handler has not finished running.  Always updated
+     with atomic operations, since this field is accessed asynchronously
+     from interrupt level. */
+  atomic_t nBHActive;
+
+#if LINUX_KERNEL_VERSION >= 2050000
+  struct bio *biop[BUFFER_HEADS_PER_CHUNK];
+#endif
+
+  /* Space for buffer_heads */
+  struct buffer_head bh[BUFFER_HEADS_PER_CHUNK];
+};
+
+/* Static pointer to slab allocator for cxiBufHeadChunk_t's */
+struct kmem_cache* BhcCacheP = NULL;
+
+/* Allocate and initialize a new cxiKernelIOBufferDesc_t object.  Uses the
+   slab allocator for this object type. */
+static struct cxiKernelIOBufferDesc_t * 
+kibdAlloc()
+{
+  struct cxiKernelIOBufferDesc_t* kibdP;
+  int i;
+
+  ENTER(0);
+  kibdP = (struct cxiKernelIOBufferDesc_t*)
+            kmem_cache_alloc(KibdCacheP, GFP_KERNEL);
+  TRACE1(TRACE_KSVFS, 14, TRCID_KIBD_NEW,
+         "kibdAlloc: allocated cxiKernelIOBufferDesc_t at 0x%lX\n", kibdP);
+  if (kibdP != NULL)
+  {
+    kibdP->kibdVaddr = NULL;
+    kibdP->kibdPages = 0;
+    kibdP->kibdTotalPages = 0;
+    kibdP->kibdNextP = NULL;
+    kibdP->gblNextP = NULL;
+    kibdP->gblPrevP = NULL;
+
+    for (i=0; i < PAGES_PER_KIBD; i++)
+      kibdP->maplist[i] = NULL;
+  }
+  EXIT(0);
+  return kibdP;
+}
+
+/* Free a cxiKernelIOBufferDesc_t back to its slab allocator */
+static void 
+kibdFree(struct cxiKernelIOBufferDesc_t* kibdP)
+{
+  ENTER(0);
+  TRACE1(TRACE_KSVFS, 14, TRCID_KIBD_DELETE,
+         "kibdFree: freeing cxiKernelIOBufferDesc_t at 0x%lX\n", kibdP);
+  kmem_cache_free(KibdCacheP, (void*)kibdP);
+  EXIT(0);
+}
+
+
+/* Destroy a cxiKernelIOBufferDesc_t object. */
+static void 
+deallocKernelIOBufferDesc(struct cxiKernelIOBufferDesc_t* kibdP)
+{
+  struct cxiKernelIOBufferDesc_t *kibdPrevP;
+  struct page *pageP;
+  int pageIndex = 0;
+  int pageTotal = kibdP->kibdTotalPages;
+
+  ENTER(0);
+  for (;;)
+  {
+    kibdPrevP = kibdP;
+    KIBD_GET_PAGE(kibdP, pageIndex, pageP);
+    if (pageP == NULL)
+      break;
+    
+    page_cache_release(pageP);
+
+    if (kibdPrevP != kibdP)
+    {
+      TRACE4(TRACE_KSVFS, 11, TRCID_DEALLOC_KIBD_1,
+             "deallocKernelIOBufferDesc: kibdP 0x%lX vaddr 0x%lX kibdPages %d "
+             "kibdNextP 0x%lX\n", kibdPrevP, kibdPrevP->kibdVaddr, 
+             kibdPrevP->kibdPages, kibdP);
+
+      pageTotal -= kibdPrevP->kibdPages;
+      kibdFree(kibdPrevP);
+    }
+
+    pageIndex++;
+  }
+
+  if (kibdPrevP != kibdP && kibdPrevP)
+  {
+    TRACE4(TRACE_KSVFS, 11, TRCID_DEALLOC_KIBD_2,
+           "deallocKernelIOBufferDesc: kibdP 0x%lX vaddr 0x%lX kibdPages %d "
+           "kibdNextP 0x%lX\n", kibdPrevP, kibdPrevP->kibdVaddr, 
+           kibdPrevP->kibdPages, kibdP);
+
+    pageTotal -= kibdPrevP->kibdPages;
+    kibdFree(kibdPrevP);
+  }
+
+  /* Make sure all the constituent cxiKernelIODesc_t page counts added
+   * up to the total page count in the first cxiKernelIODesct_t 
+   */
+  DBGASSERT(pageTotal == 0);
+  EXIT(0);
+}
+
+
+/* Create a cxiKernelIOBufferDesc_t that maps the given region of
+ * the user address space of this process.  The buffer virtual address
+ * must be on a page boundary.
+ */
+static int 
+allocKernelIOBufferDesc(char* vaddr, int nPages,
+                        struct cxiKernelIOBufferDesc_t** kibdPP)
+{
+  struct cxiKernelIOBufferDesc_t* kibdP;
+  struct cxiKernelIOBufferDesc_t* kibdPrevP = NULL;
+  struct cxiKernelIOBufferDesc_t* kibdHeadP = NULL;
+  int rc;
+  int mapPages = 0;
+  int totalPages = 0;
+  struct page * pageP;
+  struct address_space * addrSpaceP;
+
+  /* Validate parameters */
+  ENTER(0);
+  DBGASSERT(((IntPtr)vaddr & (PAGE_SIZE-1)) == 0);
+
+  if (nPages)
+  {
+    kibdHeadP = kibdPrevP = kibdP = kibdAlloc();
+    if (kibdP == NULL)
+    {
+      rc = -ENOMEM;
+      goto errorExit;
+    }
+  }
+
+  while (nPages) 
+  {
+    mapPages = nPages;
+    if (mapPages > PAGES_PER_KIBD)
+      mapPages = PAGES_PER_KIBD;
+
+    down_read(&current->mm->mmap_sem);
+    rc = get_user_pages(current, current->mm, (unsigned long)vaddr, 
+                        mapPages, VM_WRITE, 0 /* force */, 
+                        (struct page **)kibdP->maplist, NULL);
+    up_read(&current->mm->mmap_sem);
+
+    if (rc != mapPages)
+      goto errorExit;
+
+    kibdP->kibdVaddr = vaddr;
+    kibdP->kibdPages = mapPages;
+
+    TRACE3(TRACE_KSVFS, 11, TRCID_ALLOC_KIBD_1,
+           "allocKernelIOBufferDesc: kibdP 0x%lX vaddr 0x%lX kibdPages %d\n",
+           kibdP, kibdP->kibdVaddr, kibdPrevP->kibdPages);
+
+    vaddr += mapPages * PAGE_SIZE;
+    totalPages += mapPages;
+
+    nPages -= mapPages;
+    if (nPages)
+    {
+      kibdP = kibdAlloc();
+      if (kibdP == NULL)
+      {
+        rc = -ENOMEM;
+        goto errorExit;
+      }
+      kibdPrevP->kibdNextP = kibdP;
+      kibdPrevP = kibdP;
+    }
+  }
+
+  /* Total page count is kept only in the first one */
+  kibdHeadP->kibdTotalPages = totalPages;
+
+  /* Ensure these pages are't mapped to any inode, otherwise 
+   * we won't be able to disclaim them.  We did have a problem 
+   * where MAP_SHARED semantics would cause this.
+   */
+  pageP = (struct page *)kibdHeadP->maplist[0];
+  DBGASSERT(pageP != NULL);
+
+  addrSpaceP = pageP->mapping;
+#if LINUX_KERNEL_VERSION >= 2060600 || (defined(SUSE_LINUX) && LINUX_KERNEL_VERSION >= 2060507)
+  /* MAP_ANONYMOUS flags will have PG_anon turned on.  */
+  DBGASSERT(PageAnon(pageP));
+#else
+  DBGASSERT(addrSpaceP == NULL || addrSpaceP->host == NULL);
+#endif
+ 
+
+  /* Success! */
+  *kibdPP = kibdHeadP;
+  EXIT(0);
+  return 0;
+
+errorExit:
+  TRACE5(TRACE_KSVFS, 11, TRCID_ALLOC_KIBD_2,
+         "allocKernelIOBufferDesc: vaddr 0x%lX mapPages %d totalPages %d "
+         "kibdHeadP 0x%lX rc %d\n", vaddr, mapPages, totalPages, 
+         kibdHeadP, rc);
+
+  /* Unmap and deallocate kiobufs, delete cxiKernelIOBufferDesc_t */
+  if (kibdHeadP)
+  { 
+    kibdHeadP->kibdTotalPages = totalPages;
+    deallocKernelIOBufferDesc(kibdHeadP);
+  }
+  
+  EXIT(0);
+  return ((rc < 0) ? -rc : ENOMEM);
+}
+
+/* Initialization routine - called when module is loaded */
+void 
+KibdModuleInit()
+{
+  int rc;
+
+  ENTER(0);
+  TRACE0(TRACE_KSVFS, 1, TRCID_KIBD_INIT,
+         "KibdModuleInit called\n");
+
+  /* Create a slab allocator for cxiKernelIOBufferDesc_t objects */
+  KibdCacheP = kmem_cache_create("kernIOBufDesc",
+                                 sizeof(struct cxiKernelIOBufferDesc_t),
+                                 0 /* offset */,
+                                 0 /* flags */,
+                                 NULL /* ctor */,
+                                 NULL /* dtor */);
+  if (KibdCacheP == NULL)
+    cxiPanic("Cannot create cxiKernelIOBufferDesc_t cache\n");
+
+  spin_lock_init(&KibdLock);
+
+  /* Create a slab allocator for cxiBufHeadChunk_t objects */
+  BhcCacheP = kmem_cache_create("BufHeadChunk",
+                                 sizeof(struct cxiBufHeadChunk_t),
+                                 0 /* offset */,
+                                 0 /* flags */,
+                                 NULL /* ctor */,
+                                 NULL /* dtor */);
+  if (BhcCacheP == NULL)
+    cxiPanic("Cannot create cxiBufHeadChunk_t cache\n");
+
+#if LINUX_KERNEL_VERSION >= 2060000
+  if (gpfs_init_inodecache()!=0)
+    cxiPanic("Cannot create gpfsInodeCache cache\n");
+#endif
+
+  atomic_set(&cxiWaitIONDelays, 0);
+  EXIT(0);
+}
+
+/* Termination routine - called just before module is unloaded */
+void 
+KibdModuleTerm()
+{
+  int rc;
+
+  ENTER(0);
+  TRACE0(TRACE_KSVFS, 1, TRCID_KIBD_TERM,
+         "KibdModuleTerm called\n");
+
+  /* Destroy slab allocator for cxiBufHeadChunk_t objects */
+  kmem_cache_destroy(BhcCacheP);
+
+  /* We have to ensure these are all deallocated otherwise
+   * the kmem_cache_destroy of the KibdCacheP will fail.
+   * An attempt to reload GPFS would encounter the slab
+   * cache still existing.
+   */
+  cxiKibdUnpinAll();
+
+#if LINUX_KERNEL_VERSION >= 2050000
+  /* Ugly ugly ugly FIXME
+   * On 2.5, kmem_cache_destroy may or may not succeed in actually destroying 
+   * the cache.  Even when kmem_cache_free 's been called for every allocated 
+   * chunk, internally, not all of the objects are on the free list.  They'll
+   * get there eventually by the virtue of cache_reap being called from a 
+   * timer routine every REAPTIMEOUT_CPUC (default 2*HZ).  If 
+   * kmem_cache_destroy is called before all slabs are moved to the free list
+   * (no active slabs left), it'll fail, and when kmem_cache_create is called 
+   * again, it'll panic the kernel, and that's what typically happens when GPFS
+   * restarts.  Until we figure out how to do this right, keep calling 
+   * cache_shrink until it tells us that it's safe to call cache_destroy 
+   */
+  while (kmem_cache_shrink(KibdCacheP) != 0)
+    cxiSleep(400);
+#endif
+
+  /* Destroy slab allocator for cxiKernelIOBufferDesc_t objects */
+  kmem_cache_destroy(KibdCacheP);
+
+#if LINUX_KERNEL_VERSION >= 2060000
+  gpfs_destroy_inodecache();
+#endif
+  EXIT(0);
+}
+
+
+/* Create a cxiKernelIOBufferDesc_t object (or list of cxiKernelIOBufferDesc_t
+   objects) describing an I/O buffer in the user address space of the
+   calling process and link it onto the list of all such objects.  Pins
+   the user-level buffer.  The buffer virtual address must be on a page
+   boundary.  The length can be arbitrarily large, but must be a multiple
+   of the page size.  Returns 0 if successful, non-zero if unsuccessful.
+   */
+int 
+cxiKibdPin(char* vaddr, int len, struct cxiKernelIOBufferDesc_t** kibdPP)
+{
+  int nPages;
+  struct cxiKernelIOBufferDesc_t* headP;
+  struct cxiKernelIOBufferDesc_t* kibdP;
+  int rc;
+
+  /* Validate parameters */
+  ENTER(0);
+  TRACE2(TRACE_KSVFS, 5, TRCID_KIBDPIN_ENTER,
+         "cxiKibdPin: vaddr 0x%lX len 0x%X\n",
+         vaddr, len);
+  DBGASSERT(((IntPtr)vaddr & (PAGE_SIZE-1)) == 0);
+  DBGASSERT((len & (PAGE_SIZE-1)) == 0);
+
+  nPages = len / PAGE_SIZE;
+  rc = allocKernelIOBufferDesc(vaddr, nPages, &headP);
+  if (rc != 0)
+  {
+    EXIT(0);
+    return rc;
+  }
+
+  /* Add this cxiKernelIOBufferDesc_t to the global list before returning */
+  TRACE1(TRACE_KSVFS, 12, TRCID_KIBDPIN_EXIT,
+         "cxiKibdPin exit: returning 0x%lX\n", headP);
+
+  spin_lock(&KibdLock);
+  headP->gblNextP = KibdGblHeadP;
+  if (KibdGblHeadP != NULL)
+    KibdGblHeadP->gblPrevP = headP;
+  KibdGblHeadP = headP;
+  spin_unlock(&KibdLock);
+
+  *kibdPP = headP;
+  EXIT(0);
+  return 0;
+}
+
+
+/* Remove a cxiKernelIOBufferDesc_t object from the list of all
+   such objects, destroy it and all chained cxiKernelIOBufferDesc_t objects
+   associated with it, and unpin the associated user-level buffer. */
+void 
+cxiKibdUnpin(struct cxiKernelIOBufferDesc_t* kibdP)
+{
+  struct cxiKernelIOBufferDesc_t* nextP;
+  struct cxiKernelIOBufferDesc_t* prevP;
+
+  /* Remove this cxiKernelIOBufferDesc_t from the global list */
+  ENTER(0);
+  spin_lock(&KibdLock);
+  nextP = kibdP->gblNextP;
+  prevP = kibdP->gblPrevP;
+  if (nextP != NULL)
+    nextP->gblPrevP = prevP;
+  if (prevP != NULL)
+    prevP->gblNextP = nextP;
+  else
+    KibdGblHeadP = nextP;
+  spin_unlock(&KibdLock);
+
+  /* Free the cxiKernelIOBufferDesc_t */
+  deallocKernelIOBufferDesc(kibdP);
+  EXIT(0);
+}
+
+
+/* Free all cxiKernelIOBufferDesc_t's, and unpin their underlying storage. */
+void 
+cxiKibdUnpinAll()
+{
+  struct cxiKernelIOBufferDesc_t* nextP;
+  struct cxiKernelIOBufferDesc_t* kibdP;
+
+  ENTER(0);
+  TRACE0(TRACE_KSVFS, 1, TRCID_KIBD_UNPIN_ALL_ENTER,
+         "cxiKibdUnpinAll entry\n");
+  for (;;)
+  {
+    /* Remove first cxiKernelIOBufferDesc_t on global list */
+    spin_lock(&KibdLock);
+    kibdP = KibdGblHeadP;
+    if (kibdP == NULL)
+    {
+      spin_unlock(&KibdLock);
+      break;
+    }
+    nextP = kibdP->gblNextP;
+    if (nextP != NULL)
+      nextP->gblPrevP = NULL;
+    KibdGblHeadP = nextP;
+    spin_unlock(&KibdLock);
+
+    /* Deallocate the cxiKernelIOBufferDesc_t and unpin its storage */
+    deallocKernelIOBufferDesc(kibdP);
+  }
+  TRACE0(TRACE_KSVFS, 1, TRCID_KIBD_UNPIN_ALL_EXIT,
+         "cxiKibdUnpinAll exit\n");
+  EXIT(0);
+}
+
+
+#ifdef MMAP_DIO
+/* Create a cxiKernelIOBufferDesc_t object for a page in user address space
+   that is already pinned.  The page will be mapped into kernel address
+   space.  This is used by mmap routines that want to do direct I/O from
+   user page to disk.  The cxiKernelIOBufferDesc_t that this routine
+   creates can be passed to cxiKDoIO just like one that was created by
+   cxiKibdPin. */
+int 
+cxiKibdPinmm(struct page *pageP, struct cxiKernelIOBufferDesc_t** kibdPP)
+{
+  struct cxiKernelIOBufferDesc_t* kibdP;
+
+  ENTER(0);
+  kibdP = kibdAlloc();
+  if (kibdP == NULL)
+  {
+    EXIT(0);
+    return -ENOMEM;
+  }
+
+  kibdP->kibdVaddr = kmap(pageP);
+  kibdP->maplist[0] = (char *)pageP;
+  kibdP->kibdPages = 1;
+  kibdP->kibdTotalPages = 1;
+
+  *kibdPP = kibdP;
+  EXIT(0);
+  return 0;
+}
+
+
+/* Free a cxiKernelIOBufferDesc_t that was created by cxiKibdPinmm. */
+void 
+cxiKibdUnpinmm(struct page *pageP, struct cxiKernelIOBufferDesc_t* kibdP)
+{
+  ENTER(0);
+  kunmap(pageP);
+  kibdFree(kibdP);
+  EXIT(0);
+}
+#endif /* MMAP_DIO */
+
+
+/* Attach an I/O buffer to the kernel's virtual address space.  The
+   cxiIOBufferAttachment_t returned in *attachP must be used as a parameter of
+   most of the other operations on cxiIOBuffer_t's. */
+void 
+cxiAttachIOBuffer(struct cxiIOBuffer_t* iobP,
+                  struct cxiIOBufferAttachment_t* attachP)
+{
+  int oldPinCount;
+  int newPinCount;
+  int rc;
+
+  /* Increase the pin count on this I/O buffer.  If the buffer is not already
+     pinned, call the pinBuffer callback routine to arrange for the buffer
+     to be pinned, then try again. */
+  ENTER(0);
+  TRACE1(TRACE_KSVFS, 5, TRCID_ATTACH_ENTER,
+         "cxiAttachIOBuffer: dataPtr 0x%lX\n", OffsetToDataPtr(iobP,0,0));
+  for (;;)
+  {
+    oldPinCount = iobP->pinCount;
+    DBGASSERT(oldPinCount > 0);
+    if (oldPinCount == 0)
+    {
+        DBGASSERT(oldPinCount > 0);
+        break;
+	//      rc = xxx->pinBufferCallback(iobP);
+	//      if (rc != 0)
+	//        return rc;
+    }
+    else
+    {
+      newPinCount = oldPinCount+1;
+      rc = compare_and_swap((atomic_p)&iobP->pinCount, &oldPinCount, 
+                            newPinCount);
+      if (rc == 1)
+        break;
+    }
+  }
+
+  /* Once the pin of the buffer succeeds, it must have a 
+   * cxiKernelIOBufferDesc_t.  Use that as the attachment data. 
+   */
+  DBGASSERT(iobP->kernelIOBufferDescP != NULL);
+  attachP->kDescP = iobP->kernelIOBufferDescP;
+  TRACE2(TRACE_KSVFS, 11, TRCID_ATTACH_KIBD,
+         "cxiAttachIOBuffer: kernelIOBufferDescP 0x%lX newPinCount %d\n",
+         iobP->kernelIOBufferDescP, newPinCount);
+  EXIT(0);
+}
+
+
+/* Detach a buffer from the kernel's virtual address space. */
+void 
+cxiDetachIOBuffer(struct cxiIOBuffer_t* iobP,
+                  struct cxiIOBufferAttachment_t* attachP)
+{
+  /* Validate attachment data */
+  ENTER(0);
+  TRACE3(TRACE_KSVFS, 5, TRCID_DETACH_KIBD,
+         "cxiDetachIOBuffer: dataPtr 0x%lX kDescP 0x%lX oldPinCount %d\n",
+         OffsetToDataPtr(iobP,0,0), attachP->kDescP, iobP->pinCount);
+  if (attachP->kDescP == NULL)
+  {
+    EXIT(0);
+    return;
+  }
+  DBGASSERT(attachP->kDescP == iobP->kernelIOBufferDescP);
+
+  /* Decrement I/O buffer pin count */
+  DBGASSERT(iobP->pinCount >= 2);
+  ATOMIC_ADD(&iobP->pinCount, -1);
+
+  /* Invalidate attachment data */
+  attachP->kDescP = NULL;
+  EXIT(0);
+}
+
+
+/* Transfer len bytes beginning at offset bufOffset within I/O buffer *iobP
+   to or from a user buffer.  The direction of the transfer is given with
+   respect to the I/O buffer.  Returns EOK if successful, other error
+   codes if unsuccessful. */
+int 
+cxiUXfer(struct cxiIOBuffer_t* iobP, Boolean toIOBuffer,
+         const struct cxiIOBufferAttachment_t* attachP,
+         void* vkopP, int bufOffset, int len, struct cxiUio_t* uioP)
+{
+  int pageIndex;
+  struct cxiKernelIOBufferDesc_t* kibdP = iobP->kernelIOBufferDescP;
+  int pageOffset;
+  struct page * pageP;
+  int pageLen;
+  unsigned long kaddr;
+  int rc = 0;
+
+  ENTER(0);
+  /* Validate parameters */
+  TRACE5(TRACE_KSVFS, 5, TRCID_UXFER_LINUX,
+         "cxiUXfer: dataPtr 0x%lX kBuf 0x%lX toIOBuf %d offset %d len %d\n",
+         OffsetToDataPtr(iobP,0,0), kibdP, toIOBuffer, bufOffset, len);
+
+  DBGASSERT(bufOffset >= 0);
+  DBGASSERT(bufOffset+len <= iobP->ioBufLen);
+  DBGASSERT(attachP->kDescP == iobP->kernelIOBufferDescP);
+  DBGASSERT(kibdP->kibdVaddr == OffsetToDataPtr(iobP,0,0));
+  DBGASSERT(iobP->ioBufLen/PAGE_SIZE <= kibdP->kibdTotalPages);
+  DBGASSERT(iobP->pinCount >= 2);
+
+  /* Transfer data in or out of as many cxiKernelIOBufferDesc_t's as necessary
+     to satisfy the data move request */
+  pageIndex = bufOffset / PAGE_SIZE;
+  pageOffset = bufOffset % PAGE_SIZE;
+  pageLen = PAGE_SIZE - pageOffset;
+  for (;;)
+  {
+    /* Calculate how many bytes to move in or out of the current page of the
+       I/O buffer */
+    if (len < pageLen)
+      pageLen = len;
+
+    KIBD_GET_PAGE(kibdP, pageIndex, pageP);
+    DBGASSERT(pageP != NULL);
+
+    /* Map current I/O buffer page into the kernel's address space
+       temporarily, then copy data in or out of the page */
+    kaddr = (unsigned long)kmap(pageP);
+    TRACE4(TRACE_KSVFS, 12, TRCID_UXFER_UIOMOVE,
+           "cxiUXfer: uiomove pageIndex %d kaddr 0x%lX pageOffset %d "
+           "pageLen %d\n", pageIndex, kaddr, pageOffset, pageLen);
+
+    rc = cxiUiomove((char *)(kaddr + pageOffset), pageLen, toIOBuffer, uioP);
+    kunmap(pageP);
+
+    /* Leave loop if an error occurred on the move */
+    if (rc != 0)
+      break;
+
+    /* Update length left to copy and test for loop termination */
+    len -= pageLen;
+    if (len <= 0)
+      break;
+
+    /* Set up for next iteration.  If the page just copied is the last
+       page of this cxiKernelIOBufferDesc_t, advance to the next one. */
+    pageOffset = 0;
+    pageLen = PAGE_SIZE;
+    pageIndex += 1;
+  }  /* end of do forever */
+
+  EXIT(0);
+  return rc;
+}
+
+
+/* Perform cross-memory transfer of len bytes from user memory in current
+   task to memory in specified address space.  If toXmem is true then
+   copy is from userAddrP to udataP/xmemP, otherwise the opposite. */
+int 
+cxiXmemXfer(char *userAddrP, int len, char *udataP, cxiXmem_t *xmemP,
+            Boolean toXmem)
+{
+  int rc = 0;
+  int bufOffset, pageIndex, pageOffset, pageLen;
+  void *kaddrP;
+  struct page *pageP;
+  struct cxiKernelIOBufferDesc_t *kibdP = xmemP->kibdP;
+
+  ENTER(0);
+  TRACE5(TRACE_KSVFS, 5, TRCID_XMEMXFER_LINUX,
+         "cxiXmemXfer: userAddrP 0x%lX len %d udataP 0x%lX "
+         "kibdP 0x%lX toXmem %d\n", userAddrP, len, udataP, kibdP, toXmem);
+
+  bufOffset = udataP - kibdP->kibdVaddr;
+  DBGASSERT(bufOffset >= 0);
+  DBGASSERT(bufOffset + len <= kibdP->kibdTotalPages * PAGE_SIZE);
+
+  /* Transfer data in or out of as many cxiKernelIOBufferDesc_t's as necessary
+     to satisfy the data move request */
+  pageIndex = bufOffset / PAGE_SIZE;
+  pageOffset = bufOffset % PAGE_SIZE;
+  pageLen = PAGE_SIZE - pageOffset;
+  for (;;)
+  {
+    /* Calculate how many bytes to move in or out of the current page of the
+       I/O buffer */
+    if (len < pageLen)
+      pageLen = len;
+
+    KIBD_GET_PAGE(kibdP, pageIndex, pageP);
+    DBGASSERT(pageP != NULL);
+
+    /* Map current I/O buffer page into the kernel's address space
+       temporarily, then copy data in or out of the page */
+    kaddrP = kmap(pageP);
+    TRACE4(TRACE_KSVFS, 12, TRCID_XMEMFER_COPY,
+           "cxiXmemXfer: copy pageIndex %d kaddrP 0x%lX pageOffset %d "
+           "pageLen %d\n", pageIndex, kaddrP, pageOffset, pageLen);
+
+    if (toXmem)
+      rc = cxiCopyIn(userAddrP, (char *)kaddrP + pageOffset, pageLen);
+    else
+      rc = cxiCopyOut((char *)kaddrP + pageOffset, userAddrP, pageLen);
+
+    kunmap(pageP);
+
+    /* Leave loop if an error occurred on the move */
+    if (rc != 0)
+      break;
+
+    /* Update length left to copy and test for loop termination */
+    len -= pageLen;
+    if (len <= 0)
+      break;
+
+    /* Set up for next iteration.  If the page just copied is the last
+       page of this cxiKernelIOBufferDesc_t, advance to the next one. */
+    userAddrP += pageLen;
+    pageOffset = 0;
+    pageLen = PAGE_SIZE;
+    pageIndex += 1;
+  }  /* end of do forever */
+
+  EXIT(0);
+  return rc;
+}
+
+
+/* Transfer len bytes beginning at offset bufOffset within I/O buffer *iobP
+   to or from a contiguous kernel buffer.  The direction of the transfer
+   is given with respect to the I/O buffer.  Returns EOK if successful,
+   other error codes if unsuccessful. */
+int 
+cxiKXfer(struct cxiIOBuffer_t* iobP, Boolean toIOBuffer,
+         const struct cxiIOBufferAttachment_t* attachP,
+         int bufOffset, int len, char* kBufP)
+{
+  int pageIndex;
+  struct cxiKernelIOBufferDesc_t* kibdP = iobP->kernelIOBufferDescP;
+  int pageOffset;
+  struct page * pageP;
+  int pageLen;
+  unsigned long kaddr;
+
+  /* Validate parameters */
+  ENTER(0);
+  TRACE6(TRACE_KSVFS, 5, TRCID_KXFER_LINUX,
+         "cxiKXfer: dataPtr 0x%lX kBuf 0x%lX toIOBuf %d offset %d len %d "
+         "kBufP 0x%lX\n", OffsetToDataPtr(iobP,0,0), kibdP,
+         toIOBuffer, bufOffset, len, kBufP);
+
+  DBGASSERT(bufOffset >= 0);
+  DBGASSERT(bufOffset+len <= iobP->ioBufLen);
+  DBGASSERT(attachP->kDescP == iobP->kernelIOBufferDescP);
+  DBGASSERT(kibdP->kibdVaddr == OffsetToDataPtr(iobP,0,0));
+  DBGASSERT(iobP->ioBufLen/PAGE_SIZE <= kibdP->kibdTotalPages);
+  DBGASSERT(iobP->pinCount >= 2);
+
+  /* Transfer data in or out of as many cxiKernelIOBufferDesc_t's as necessary
+     to satisfy the data move request */
+  pageIndex = bufOffset / PAGE_SIZE;
+  pageOffset = bufOffset % PAGE_SIZE;
+  pageLen = PAGE_SIZE - pageOffset;
+  for (;;)
+  {
+    /* Calculate how many bytes to move in or out of the current page of the
+       I/O buffer */
+    if (len < pageLen)
+      pageLen = len;
+
+    KIBD_GET_PAGE(kibdP, pageIndex, pageP);
+    DBGASSERT(pageP != NULL);
+
+    /* Map current I/O buffer page into the kernel's address space
+       temporarily, then copy data in or out of the page */
+    kaddr = (unsigned long)kmap(pageP);
+    TRACE5(TRACE_KSVFS, 12, TRCID_KXFER_MEMCPY,
+           "cxiKXfer: move kibdP 0x%lX pageIndex %d kaddr 0x%lX "
+           "pageOffset %d pageLen %d\n",
+           kibdP, pageIndex, kaddr, pageOffset, pageLen);
+
+    if (toIOBuffer)
+      memcpy((void *)(kaddr + pageOffset), kBufP, pageLen);
+    else
+      memcpy(kBufP, (void *)(kaddr + pageOffset), pageLen);
+    kunmap(pageP);
+
+    /* Update length left to copy and test for loop termination */
+    len -= pageLen;
+    if (len <= 0)
+      break;
+
+    /* Set up for next iteration.  If the page just copied is the last
+       page of this cxiKernelIOBufferDesc_t, advance to the next one. */
+    kBufP += pageLen;
+    pageOffset = 0;
+    pageLen = PAGE_SIZE;
+    pageIndex += 1;
+  }  /* end of do forever */
+
+  EXIT(0);
+  return 0;
+}
+
+
+/* Set len bytes beginning at offset bufOffset within I/O buffer *iobP
+   to zero.  Returns EOK if successful, other error codes if unsuccessful. */
+int 
+cxiKZero(struct cxiIOBuffer_t* iobP,
+         const struct cxiIOBufferAttachment_t* attachP,
+         int bufOffset, int len)
+{
+  int pageIndex;
+  struct cxiKernelIOBufferDesc_t* kibdP = iobP->kernelIOBufferDescP;
+  int pageOffset;
+  struct page * pageP;
+  int pageLen;
+  unsigned long kaddr;
+
+  /* Validate parameters */
+  ENTER(0);
+  TRACE4(TRACE_KSVFS, 5, TRCID_KZERO_LINUX,
+         "cxiKZero: dataPtr 0x%lX kBuf 0x%lX offset %d len %d\n",
+         OffsetToDataPtr(iobP,0,0), kibdP, bufOffset, len);
+
+  DBGASSERT(bufOffset >= 0);
+  DBGASSERT(bufOffset+len <= iobP->ioBufLen);
+  DBGASSERT(attachP->kDescP == iobP->kernelIOBufferDescP);
+  DBGASSERT(kibdP->kibdVaddr == OffsetToDataPtr(iobP,0,0));
+  DBGASSERT(iobP->ioBufLen/PAGE_SIZE <= kibdP->kibdTotalPages);
+  DBGASSERT(iobP->pinCount >= 2);
+
+  /* Zero data in as many cxiKernelIOBufferDesc_t's as necessary to complete
+     the request */
+  pageIndex = bufOffset / PAGE_SIZE;
+  pageOffset = bufOffset % PAGE_SIZE;
+  pageLen = PAGE_SIZE - pageOffset;
+  for (;;)
+  {
+    /* Calculate how many bytes to zero in the current page of the I/O
+       buffer */
+    if (len < pageLen)
+      pageLen = len;
+
+    KIBD_GET_PAGE(kibdP, pageIndex, pageP);
+    DBGASSERT(pageP != NULL);
+
+    /* Map current I/O buffer page into the kernel's address space
+       temporarily, then zero data in the page */
+    kaddr = (unsigned long)kmap(pageP);
+    TRACE4(TRACE_KSVFS, 12, TRCID_KZERO_MEMSET,
+           "cxiKZero: zero pageIndex %d kaddr 0x%lX pageOffset %d pageLen %d\n",
+           pageIndex, kaddr, pageOffset, pageLen);
+    memset((void *)(kaddr + pageOffset), 0, pageLen);
+    kunmap(pageP);
+
+    /* Update length left to zero and test for loop termination */
+    len -= pageLen;
+    if (len <= 0)
+      break;
+
+    /* Set up for next iteration.  If the page just zeroed is the last
+       page of this cxiKernelIOBufferDesc_t, advance to the next one. */
+    pageOffset = 0;
+    pageLen = PAGE_SIZE;
+    pageIndex += 1;
+  }  /* end of do forever */
+
+  EXIT(0);
+  return 0;
+}
+
+
+/* Map an I/O buffer so it can be read and written from kernel code
+   running in the context of a user thread.  Depending on the platform, the
+   addresses at which the I/O buffer gets mapped may not be contiguous.  The
+   details of how the buffer got mapped are handled by the
+   cxiDiscontiguousDirectoryBuffer_t object that is filled in by this call.
+   On some platforms, mapping buffers using this call consumes scarce
+   resources, so all cxiMapDiscontiguousRW calls should be promptly matched by
+   cxiUnmapDiscontiguousRW calls as soon as the operation that required access
+   to the I/O buffer completes.  Returns 0 if successful, other error codes
+   if unsuccessful. */
+int 
+cxiMapDiscontiguousRW(struct cxiIOBuffer_t* iobP,
+                      const struct cxiIOBufferAttachment_t* attachP,
+                      struct cxiDiscontiguousDirectoryBuffer_t* discontigP)
+{
+  /* ?? WARNING: Since this must kmap multiple pages, there is the
+     possibility of deadlock if multiple threads are part of the way through
+     executing this code, and LAST_PKMAP pages (512 or 1024) have already
+     been kmapped.  There needs to be flow control whereby threads reserve
+     enough pages to complete all of their kmaps before they begin acquiring
+     pages. */
+  struct cxiKernelIOBufferDesc_t* kibdP = iobP->kernelIOBufferDescP;
+  int pageIndex;
+  int dirIndex;
+  int mapPages;
+  struct page * pageP;
+  unsigned long kaddr;
+
+  /* __CXI_BUFFERS_ARE_CONTIGUOUS is not #defined */
+
+  /* Validate parameters */
+  ENTER(0);
+  TRACE3(TRACE_KSVFS, 4, TRCID_MAP_DISCONTIG_ENTER,
+         "cxiMapDiscontiguousRW: dataPtr 0x%lX kBufP 0x%lX ioBufLen 0x%X\n",
+         OffsetToDataPtr(iobP,0,0), kibdP, iobP->ioBufLen);
+
+  DBGASSERT(attachP->kDescP == iobP->kernelIOBufferDescP);
+  DBGASSERT(kibdP->kibdVaddr == OffsetToDataPtr(iobP,0,0));
+  DBGASSERT(iobP->pinCount >= 2);
+
+  /* The mappable buffer memory may be longer than a directory block */
+  mapPages = (iobP->ioBufLen + DISCONTIG_PAGE_SIZE - 1) / DISCONTIG_PAGE_SIZE;
+  mapPages = MIN(mapPages, MAX_PAGES_PER_DIRBLOCK);
+
+  pageIndex = 0;
+  for (dirIndex=0 ; dirIndex<mapPages ; dirIndex++)
+  {
+    KIBD_GET_PAGE(kibdP, pageIndex, pageP);
+    if (pageP == NULL)
+      break;
+
+    kaddr = (unsigned long)kmap(pageP);
+    TRACE4(TRACE_KSVFS, 12, TRCID_MAP_DISCONTIG_KMAP,
+           "cxiMapDiscontiguousRW: dirIndex %d kibdP 0x%lX pageP 0x%lX "
+           "kaddr 0x%lX\n", dirIndex, kibdP, pageP, kaddr);
+
+    DBGASSERT(dirIndex < MAX_PAGES_PER_DIRBLOCK);
+    discontigP->userPagePointerArray[dirIndex] = (char*)kaddr;
+    discontigP->osPagePointerArray[dirIndex] = (void*)pageP;
+
+    pageIndex++;
+  }
+
+  discontigP->mappedLen = dirIndex * DISCONTIG_PAGE_SIZE;
+  EXIT(0);
+  return 0;
+}
+
+
+/* Unmap an I/O buffer previously mapped */
+void 
+cxiUnmapDiscontiguousRW(struct cxiIOBuffer_t* iobP,
+                        struct cxiDiscontiguousDirectoryBuffer_t* discontigP)
+{
+  int pageIndex;
+  struct page * pageP;
+  int mappedPages;
+
+  ENTER(0);
+  TRACE4(TRACE_KSVFS, 4, TRCID_UNMAP_DISCONTIG_ENTER,
+         "cxiUnmapDiscontiguousRW: dataPtr 0x%lX kBufP 0x%lX ioBufLen 0x%X "
+         "mappedLen %d\n", OffsetToDataPtr(iobP,0,0), iobP->kernelIOBufferDescP,
+         iobP->ioBufLen, discontigP->mappedLen);
+
+  /* Unmap all pages in discontiguous map.  If the osPagePointerArray entry
+   * is NULL, it means that the last mapping was made via MapContiguousBuffer,
+   * which did not do any kmaps that need to be kunmap'ped. 
+   */
+  mappedPages = (discontigP->mappedLen + DISCONTIG_PAGE_SIZE - 1) /
+                DISCONTIG_PAGE_SIZE;
+
+  for (pageIndex = 0; pageIndex < mappedPages; pageIndex++)
+  {
+    pageP = (struct page *)discontigP->osPagePointerArray[pageIndex];
+    TRACE3(TRACE_KSVFS, 12, TRCID_UNMAP_DISCONTIG_KUNMAP,
+           "cxiUnmapDiscontiguousRW: unmap pageIndex %d pageP 0x%lX "
+           "kaddr 0x%lX\n", pageIndex, pageP, 
+           discontigP->userPagePointerArray[pageIndex]);
+
+    if (pageP != NULL)
+    {
+      kunmap(pageP);
+      discontigP->osPagePointerArray[pageIndex] = NULL;
+    }
+    discontigP->userPagePointerArray[pageIndex] = NULL;
+  }
+  discontigP->mappedLen = 0;
+  EXIT(0);
+}
+
+/* Return an address in kernel memory that holds a contigous read-only
+   copy of a portion of an I/O buffer.  If possible, this will be a
+   mapping of the I/O buffer.  If necessary, this routine will allocate a
+   new block of kernel memory and copy the requested data to it.  The
+   returned cxiContiguousBuffer_t encapsulates what method was used, so
+   that cxiUnmapContiguousRO can release whatever resources were obtained by
+   this call.  Returns 0 if successful, other error codes if
+   unsuccessful. */
+int 
+cxiMapContiguousRO(struct cxiIOBuffer_t* iobP,
+                   const struct cxiIOBufferAttachment_t* attachP,
+                   int bufOffset, int len, const char** contigBasePP,
+                   struct cxiContiguousBuffer_t* contigP)
+{
+  int pageIndex;
+  int pageOffset;
+  int endPageIndex;
+  struct cxiKernelIOBufferDesc_t* kibdP = iobP->kernelIOBufferDescP; 
+  struct page * pageP;
+  unsigned long kaddr;
+  char* tempBufP;
+  Boolean usedKmalloc;
+  int rc;
+
+  /* Validate parameters */
+  ENTER(0);
+  TRACE4(TRACE_KSVFS, 4, TRCID_MAP_CONTIG_ENTER,
+         "cxiMapContiguousRO: dataPtr 0x%lX kBufP 0x%lX bufOffset %d len %d\n",
+         OffsetToDataPtr(iobP,0,0), kibdP, bufOffset, len);
+
+  DBGASSERT(bufOffset >= 0);
+  DBGASSERT(bufOffset+len <= iobP->ioBufLen);
+  DBGASSERT(attachP->kDescP == iobP->kernelIOBufferDescP);
+  DBGASSERT(kibdP->kibdVaddr == OffsetToDataPtr(iobP,0,0));
+  DBGASSERT(iobP->ioBufLen/PAGE_SIZE <= kibdP->kibdTotalPages);
+  DBGASSERT(iobP->pinCount >= 2);
+
+  /* If the requested piece of the I/O buffer does not cross a page boundary,
+     then map the page and return the mapped address within the page */
+  pageIndex = bufOffset / PAGE_SIZE;
+  pageOffset = bufOffset % PAGE_SIZE;
+  endPageIndex = (bufOffset+len-1) / PAGE_SIZE;
+  if (pageIndex == endPageIndex)
+  {
+    KIBD_GET_PAGE(kibdP, pageIndex, pageP);
+    DBGASSERT(pageP != NULL);
+
+    /* Map I/O buffer page into the kernel's address space */
+    kaddr = (unsigned long)kmap(pageP);
+
+    /* Return address within the mapped page, and set map state so
+       cxiUnmapContiguousRO knows to do kunmap */
+    *contigBasePP = (char*) (kaddr+pageOffset);
+    contigP->mallocedBaseP = NULL;
+    contigP->usedKmalloc = false;
+    contigP->pageP = pageP;
+    TRACE2(TRACE_KSVFS, 5, TRCID_MAP_CONTIG_KMAP,
+           "cxiMapContiguousRO: mapped pageP 0x%lX at 0x%lX\n",
+           pageP, *contigBasePP);
+    EXIT(0);
+    return 0;
+  }
+
+  /* Otherwise, the requested part of the I/O buffer spans page boundaries.
+     Allocate a contiguous buffer, and copy data from the I/O buffer to the
+     temporary buffer. */
+  else
+  {
+    if (len <= PAGE_SIZE)
+    {
+      tempBufP = (char *)kmalloc(len, GFP_KERNEL);
+      usedKmalloc = true;
+    }
+    else
+    {
+      tempBufP = (char*)vmalloc(len);
+      usedKmalloc = false;
+    }
+    if (tempBufP == NULL)
+    {
+      EXIT(0);
+      return -ENOMEM;
+    }
+    rc = cxiKXfer(iobP, CXI_XFER_FROM_IOBUFFER, attachP, bufOffset, len,
+                  tempBufP);
+    if (rc != 0)
+    {
+      if (usedKmalloc)
+        kfree((void*)tempBufP);
+      else
+        vfree((void*)tempBufP);
+      EXIT(0);
+      return rc;
+    }
+#ifdef MALLOC_DEBUG
+    MallocDebugNew(tempBufP, len, 4);
+#endif
+
+    /* Return address within the contiguous temporary buffer, and set map
+       state so cxiUnmapContiguousRO knows to do vfree */
+    *contigBasePP = tempBufP;
+    contigP->mallocedBaseP = tempBufP;
+    contigP->usedKmalloc = usedKmalloc;
+    contigP->pageP = NULL;
+    TRACE1(TRACE_KSVFS, 5, TRCID_MAP_CONTIG_VMALLOC,
+           "cxiMapContiguousRO: copied to 0x%lX\n", tempBufP);
+    EXIT(0);
+    return 0;
+  }
+}
+
+
+/* Release a mapping or copy obtained with cxiMapContiguousRO */
+void 
+cxiUnmapContiguousRO(struct cxiIOBuffer_t* iobP,
+                     struct cxiContiguousBuffer_t* contigP)
+{
+  ENTER(0);
+  if (contigP->mallocedBaseP != NULL)
+  {
+    TRACE2(TRACE_KSVFS, 4, TRCID_UNMAP_CONTIG_VFREE,
+           "cxiUnmapContiguousRO: dataPtr 0x%lX vfree 0x%lX\n",
+           OffsetToDataPtr(iobP,0,0), contigP->mallocedBaseP);
+    DBGASSERT(contigP->pageP == NULL);
+
+    if (contigP->usedKmalloc)
+      kfree((void*)contigP->mallocedBaseP);
+    else
+      vfree((void*)contigP->mallocedBaseP);
+
+#ifdef MALLOC_DEBUG
+    MallocDebugDelete(contigP->mallocedBaseP);
+#endif
+    contigP->mallocedBaseP = NULL;
+  }
+  else
+  {
+    TRACE2(TRACE_KSVFS, 4, TRCID_UNMAP_CONTIG_KUNMAP,
+           "cxiUnmapContiguousRO: dataPtr 0x%lX kunmap 0x%lX\n",
+           OffsetToDataPtr(iobP,0,0), contigP->pageP);
+    DBGASSERT(contigP->pageP != NULL);
+    kunmap((struct page *)contigP->pageP);
+    contigP->pageP = NULL;
+  }
+  EXIT(0);
+}
+
+
+#if LINUX_KERNEL_VERSION < 2050000
+/* iodone routine for GPFS buffer_heads.  Unlock buffer and wake up
+ * waiters, if any. 
+ */
+static void 
+BHioDone(struct buffer_head* bhP, int uptodate)
+{
+  struct cxiBufHeadChunk_t* bhcP;
+
+  mark_buffer_uptodate(bhP, uptodate);
+  bhcP = (struct cxiBufHeadChunk_t*)bhP->b_private;
+  unlock_buffer(bhP);
+  atomic_dec(&bhcP->nBHActive);
+}
+
+/* Start a read or write of the given sectors from dev.  Data should be
+ * placed into the I/O buffer beginning at byte offset bufOffset.  Returns
+ * 0 on success, negative values on error.  All of the data to be
+ * transferred will be in the first cxiKernelIOBufferDesc_t. 
+ */
+int 
+cxiStartIO(struct cxiKernelIOBufferDesc_t* kibdHeadP,
+           Boolean isWrite, cxiDev_t dev, UInt64 startSector, int nSectors,
+           int bufOffset, struct cxiBufHeadChunk_t** bhcHeadPP)
+{
+  int bufEndOffset;
+  int nTotalPages;
+  struct cxiBufHeadChunk_t* bhcP;
+  struct cxiBufHeadChunk_t* bhcHeadP;
+  struct cxiBufHeadChunk_t* bhcTailP;
+  int nBHsAllocated;
+  int pageIndex;
+  int pageOffset;
+  int sectorsThisBH;
+  struct buffer_head* bhP;
+  struct page* pageP;
+  struct cxiBufHeadChunk_t* p;
+  struct cxiKernelIOBufferDesc_t* kibdP = kibdHeadP;
+  kdev_t kdev = cxiDevToKernelDev(dev); /* Convert to kernel version of dev_t */
+
+  /* Validate parameters */
+  ENTER(0);
+  TRACE6(TRACE_IO, 4, TRCID_KDOIO_LINUX,
+         "cxiStartIO: kBuf 0x%lX isWrite %d dev 0x%X sector %llu nSectors %d "
+         "offset %d\n", kibdP, isWrite, dev, startSector, nSectors, bufOffset);
+
+  DBGASSERT(kibdP != NULL);
+  DBGASSERT(bufOffset >= 0);
+  DBGASSERT(nSectors > 0);
+
+  /* Compute the total number of pages spanned by the portion of the
+     buffer that will participate in the I/O.  This equals the number
+     of buffer_heads that will be used. */
+  bufEndOffset = bufOffset + nSectors*512 - 1;
+  nTotalPages = (bufEndOffset/PAGE_SIZE) - (bufOffset/PAGE_SIZE) + 1;
+
+  /* Allocate the entire list of buffer_head chunks needed for this I/O */
+  bhcP = (struct cxiBufHeadChunk_t*) kmem_cache_alloc(BhcCacheP, GFP_KERNEL);
+  bhcHeadP = bhcP;
+  if (bhcP == NULL)
+    goto enomem;
+
+  bhcP->bhcNextP = bhcP;
+  bhcP->bhcPrevP = bhcP;
+  bhcP->nBHUsed = 0;
+  atomic_set(&bhcP->nBHActive, 0);
+  nBHsAllocated = BUFFER_HEADS_PER_CHUNK;
+
+  while (nBHsAllocated < nTotalPages)
+  {
+    bhcP = (struct cxiBufHeadChunk_t*) kmem_cache_alloc(BhcCacheP, GFP_KERNEL);
+    if (bhcP == NULL) goto enomem;
+
+    bhcTailP = bhcHeadP->bhcPrevP;
+    bhcP->bhcNextP = bhcHeadP;
+    bhcP->bhcPrevP = bhcTailP;
+    bhcTailP->bhcNextP = bhcP;
+    bhcHeadP->bhcPrevP = bhcP;
+    bhcP->nBHUsed = 0;
+    atomic_set(&bhcP->nBHActive, 0);
+    nBHsAllocated += BUFFER_HEADS_PER_CHUNK;
+  }
+
+  /* Build and submit a buffer_head for each page of the current I/O */
+  bhcP = bhcHeadP;
+  pageIndex = bufOffset / PAGE_SIZE;
+  pageOffset = bufOffset % PAGE_SIZE;
+
+  DBGASSERT(pageOffset%512 == 0);
+  sectorsThisBH = MIN((PAGE_SIZE-pageOffset) / 512, nSectors);
+  while (nSectors > 0)
+  {
+    /* Get a buffer_head for the the next page */
+    if (bhcP->nBHUsed == BUFFER_HEADS_PER_CHUNK)
+    {
+      bhcP = bhcP->bhcNextP;
+      DBGASSERT(bhcP->nBHUsed == 0);
+    }
+    bhP = &bhcP->bh[bhcP->nBHUsed];
+    bhcP->nBHUsed += 1;
+
+    /* Initialize the new buffer_head */
+    memset(bhP, 0, sizeof(*bhP));
+
+    KIBD_GET_PAGE(kibdP, pageIndex, pageP);
+    DBGASSERT(pageP != NULL);
+
+    /* Build and submit the buffer_head for the current page */
+    bhP->b_size = sectorsThisBH * 512;
+    bhP->b_page = pageP;
+#ifndef __64BIT__
+    if (PageHighMem(pageP))
+      bhP->b_data = (char *)(0 + pageOffset);
+    else
+#endif
+      bhP->b_data = page_address(pageP) + pageOffset;
+
+    bhP->b_this_page = bhP;
+    bhP->b_end_io = BHioDone;
+    bhP->b_private = (void*)bhcP;
+    bhP->b_blocknr = startSector;
+    init_waitqueue_head(&bhP->b_wait);
+    bhP->b_dev = kdev;
+    bhP->b_rdev = kdev;
+    bhP->b_rsector = startSector;
+    bhP->b_list = BUF_CLEAN;
+    bhP->b_state = (1 << BH_Mapped) | (1 << BH_Lock) | (1 << BH_Req) |
+                   (1 << BH_Uptodate);
+    TRACE6(TRACE_IO, 6, TRCID_KDOIO_LINUX_BH,
+           "cxiStartIO: bhcP 0x%lX bhP 0x%lX sector %llu sectorsThisBH %d state 0x%X pageP 0x%lX\n",
+           bhcP, bhP, startSector, sectorsThisBH, bhP->b_state, pageP);
+
+    atomic_inc(&bhcP->nBHActive);
+
+    generic_make_request(isWrite, bhP);
+
+    if (isWrite)
+      MOD_PGPGOUT(sectorsThisBH);
+    else
+      MOD_PGPGIN(sectorsThisBH);
+
+    /* Advance to next page */
+    startSector += sectorsThisBH;
+    nSectors -= sectorsThisBH;
+    sectorsThisBH = MIN(nSectors, PAGE_SIZE/512);
+    pageIndex += 1;
+    pageOffset = 0;
+  }
+
+  /* Unplug the disk to be sure I/Os actually get started */
+  run_task_queue(&tq_disk);
+
+  /* Set success return code and return list of active buffer_heads */
+  *bhcHeadPP = bhcHeadP;
+  EXIT(0);
+  return 0;
+
+enomem:
+
+  /* Free buffer_head chunks allocated so far and return failure */
+  if (bhcHeadP != NULL)
+  {
+    bhcP = bhcHeadP;
+    bhcTailP = bhcHeadP->bhcPrevP;
+    do
+    {
+      p = bhcP;
+      bhcP = bhcP->bhcNextP;
+      kmem_cache_free(BhcCacheP, (void*)p);
+    }
+    while (p != bhcTailP);
+  }
+  EXIT(0);
+  return -ENOMEM;
+}
+
+/* Routine to set up the disk block size and get disk parameters */
+int 
+GetDiskInfoX(cxiDev_t devId, struct cxiDiskInfo_t* diskInfoP)
+{
+  kdev_t kdev;
+  int n1KBlocks;
+
+  /* Convert to kernel version of dev_t */
+  ENTER(0);
+  kdev = cxiDevToKernelDev(devId);
+
+  /* Get hardware sector size.  If unknown, assume 512. */
+#if LINUX_KERNEL_VERSION >= 2040312
+  diskInfoP->sectorSize = get_hardsect_size(kdev);
+#else
+  diskInfoP->sectorSize = get_hardblocksize(kdev);
+#endif
+  if (diskInfoP->sectorSize == 0)
+    diskInfoP->sectorSize = 512;
+
+  /* Set blocksize of this device to hardware sector size */
+  set_blocksize(kdev, diskInfoP->sectorSize);
+
+  /* If defined, return number of sectors on device */
+  n1KBlocks = 0;
+  if (blk_size[MAJOR(kdev)])
+    n1KBlocks = blk_size[MAJOR(kdev)][MINOR(kdev)];
+  diskInfoP->totalSectors = (Int64)n1KBlocks * 1024 / diskInfoP->sectorSize;
+  TRACE3(TRACE_IO, 2, TRCID_DISKINFO,
+         "GetDiskInfo: devId %08lX sector size %d totalSectors %lld\n",
+         devId, diskInfoP->sectorSize, diskInfoP->totalSectors);
+#if 0
+  printk("VMALLOC_START=0x%lX VMALLOC_END=0x%lX\n",
+         VMALLOC_START, VMALLOC_END);
+#endif
+
+  EXIT(0);
+  return 0;
+}
+
+#else /* >= 2050000 */
+
+/* iodone routine for struct bio */
+static int 
+bioDone(struct bio *bioP, unsigned int done, int err)
+{
+  struct buffer_head *bhP;
+  struct cxiBufHeadChunk_t *bhcP;
+
+  if (bioP->bi_size)
+    return 1;
+
+  /* wakes up waiters who will deallocate bio buffer head chunk */
+  bhP = (struct buffer_head *)bioP->bi_private;
+  bhcP = (struct cxiBufHeadChunk_t *)bhP->b_private;
+
+  if (test_bit(BIO_UPTODATE, &bioP->bi_flags))
+    set_buffer_uptodate(bhP);
+  else
+    clear_buffer_uptodate(bhP);
+
+  unlock_buffer(bhP);
+  atomic_dec(&bhcP->nBHActive);
+
+  return 0;
+}
+
+/* Start a read or write of the given sectors from dev.  Data should be
+ * placed into the I/O buffer beginning at byte offset bufOffset.  Returns
+ * 0 on success, negative values on error.  All of the data to be
+ * transferred will be in the first cxiKernelIOBufferDesc_t. 
+ */
+int 
+cxiStartIO(struct cxiKernelIOBufferDesc_t *kibdHeadP,
+           Boolean isWrite, cxiDev_t dev, UInt64 startSector, int nSectors,
+           int bufOffset, struct cxiBufHeadChunk_t **bhcHeadPP)
+{
+  int i;
+  int vecsAllocated;
+  int bufEndOffset;
+  int nTotalPages;
+  int iovIndex;
+  int pageIndex;
+  int pageOffset;
+  int sectorsThisPage;
+  int nBHsAllocated;
+  struct bio *bioP;
+  struct buffer_head *bhP;
+  struct page *pageP;
+  struct cxiBufHeadChunk_t *p;
+  struct cxiBufHeadChunk_t *bhcP;
+  struct cxiBufHeadChunk_t *bhcHeadP;
+  struct cxiBufHeadChunk_t *bhcTailP;
+  struct cxiKernelIOBufferDesc_t *kibdP = kibdHeadP;
+  struct block_device *bdevP = bdget(new_decode_dev(dev));
+  int maxIOVec = bio_get_nr_vecs(bdevP); /* query max device vectors */
+  request_queue_t* reqQP;
+
+  ENTER(0);
+
+  LOGASSERT(bdevP != NULL && bdevP->bd_disk != NULL);
+
+  /* Validate parameters */
+  TRACE6(TRACE_IO, 4, TRCID_KDOIO_LINUX_BIO,
+         "cxiStartIO: kBuf 0x%lX isWrite %d dev 0x%X sector %llu nSectors %d "
+         "offset %d\n", kibdP, isWrite, dev, startSector, nSectors, bufOffset);
+
+  DBGASSERT(kibdP != NULL);
+  DBGASSERT(bufOffset >= 0);
+  DBGASSERT(nSectors > 0);
+
+  /* Compute the total number of pages spanned by the portion of the
+   * buffer that will participate in the I/O.  This equals the number
+   * of io vectors needed.
+   */
+  bufEndOffset = bufOffset + nSectors*512 - 1;
+  nTotalPages = (bufEndOffset/PAGE_SIZE) - (bufOffset/PAGE_SIZE) + 1;
+
+  /* Compute the pageIndex in the kibd struct as well as the offset
+   * in the first page to read/write.
+   */
+  pageIndex = bufOffset / PAGE_SIZE;
+  pageOffset = bufOffset % PAGE_SIZE;
+  DBGASSERT(pageOffset%512 == 0);
+
+  /* Allocate a single buffer_head chunk and link it to itself.
+   * Subsequent buffer_head chunks may be needed and are allocated
+   * below.
+   */
+  bhcP = (struct cxiBufHeadChunk_t *)kmem_cache_alloc(BhcCacheP, GFP_KERNEL);
+  bhcHeadP = bhcP;
+  if (bhcP == NULL)
+    goto enomem;
+
+  bhcP->bhcNextP = bhcP; /* circular link to itself */
+  bhcP->bhcPrevP = bhcP;
+  bhcP->nBHUsed = 0;
+  atomic_set(&bhcP->nBHActive, 0);
+  nBHsAllocated = BUFFER_HEADS_PER_CHUNK;
+
+  while (nSectors > 0)
+  {
+    vecsAllocated = MIN(nTotalPages, maxIOVec);
+
+    bioP = bio_alloc(GFP_NOIO, vecsAllocated);
+    if (bioP == NULL)
+      goto enomem;
+
+   /* Allocate a buffer head and point to it from the bio struct.
+    * We submit the bio struct directly but wait on the dummy 
+    * buffer_head struc, since primitives exist for waiting/wakeup 
+    * there.  We want to submit bios instead of buffer heads since 
+    * the bio can encapsulate a larger i/o whereas buffer_heads can
+    * only do a page.
+    */ 
+    if (bhcP->nBHUsed == BUFFER_HEADS_PER_CHUNK)
+    {
+      bhcP = (struct cxiBufHeadChunk_t *)kmem_cache_alloc(BhcCacheP, 
+                                                          GFP_KERNEL);
+      if (bhcP == NULL) 
+        goto enomem;
+
+      bhcTailP = bhcHeadP->bhcPrevP;
+      bhcP->bhcNextP = bhcHeadP;
+      bhcP->bhcPrevP = bhcTailP;
+      bhcTailP->bhcNextP = bhcP;
+      bhcHeadP->bhcPrevP = bhcP;
+      bhcP->nBHUsed = 0;
+
+      atomic_set(&bhcP->nBHActive, 0);
+      nBHsAllocated += BUFFER_HEADS_PER_CHUNK;
+    }
+
+    /* Use next available buffer head and increment used count */
+    bhcP->biop[bhcP->nBHUsed] = bioP;
+    bhP = &bhcP->bh[bhcP->nBHUsed];
+    bhcP->nBHUsed++;
+
+    bhP->b_state = 0;
+    atomic_set(&bhP->b_count, 1); /* set to one for unlock_buffer */
+    bhP->b_this_page = NULL;
+    bhP->b_page = NULL;
+    bhP->b_blocknr = 0;
+    bhP->b_size = 0;
+    bhP->b_data = NULL;
+    bhP->b_bdev = NULL;
+
+    /* buffer head points to buffer head chunk */
+    bhP->b_private = (void *)bhcP;
+
+    iovIndex = 0;
+    bioP->bi_vcnt = 0;   /* accumulated below as number of bi_io_vecs */
+    bioP->bi_idx = 0;    /* used by lower layer for recording current index */
+    bioP->bi_size = 0;
+    bioP->bi_bdev = bdevP;
+    bioP->bi_end_io = bioDone;
+
+    /* bio points to buffer head that we'll wait on */
+    bioP->bi_private = (void *)bhP;
+    bioP->bi_sector = startSector;
+
+    sectorsThisPage = MIN((PAGE_SIZE-pageOffset) / 512, nSectors);
+
+    while (iovIndex < vecsAllocated)
+    {
+      KIBD_GET_PAGE(kibdP, pageIndex, pageP);
+      DBGASSERT(pageP != NULL);
+
+      bioP->bi_io_vec[iovIndex].bv_page = pageP;
+      bioP->bi_io_vec[iovIndex].bv_len = sectorsThisPage * 512;
+      bioP->bi_io_vec[iovIndex].bv_offset = pageOffset;
+      TRACE6(TRACE_IO, 6, TRCID_KDOIO_LINUX_BIO_PAGE,
+             "cxiStartIO: bhcP 0x%lX bioP 0x%lX index %d sector %llu sectorsThisPage %d pageP 0x%lX\n",
+             bhcP, bioP, iovIndex, startSector, sectorsThisPage, pageP);
+      iovIndex++;
+
+      bioP->bi_vcnt = iovIndex;
+      bioP->bi_size += (sectorsThisPage * 512);
+
+      /* Advance to next page */
+      startSector += sectorsThisPage;
+      nSectors -= sectorsThisPage;
+      sectorsThisPage = MIN(nSectors, PAGE_SIZE/512);
+      pageIndex += 1;
+      pageOffset = 0;
+    }
+
+    bufOffset += bioP->bi_size;
+    nTotalPages -= bioP->bi_vcnt;
+
+    /* Fill in a couple of fields in this dummy buffer head
+     * that will be examined in unlock_buffer().
+     */
+    set_buffer_locked(bhP);
+    bhP->b_page = pageP;
+
+    atomic_inc(&bhcP->nBHActive);
+
+    submit_bio(isWrite, bioP);
+  }
+
+  /* Unplug the device queue to avoid 3ms delay when no other I/O in
+     progress on the device */
+  reqQP = bdev_get_queue(bdevP);
+  if (reqQP->unplug_fn != NULL)
+    reqQP->unplug_fn(reqQP);
+
+  *bhcHeadPP = bhcHeadP;
+  EXIT(0);
+  return 0;
+
+enomem:
+
+  /* Free buffer_head chunks allocated so far and return failure */
+  if (bhcHeadP != NULL)
+  {
+    bhcP = bhcHeadP;
+    bhcTailP = bhcHeadP->bhcPrevP;
+    do
+    {
+      for (i = 0; i < bhcP->nBHUsed; i++)
+        bio_put(bhcP->biop[i]);
+
+      p = bhcP;
+      bhcP = bhcP->bhcNextP;
+      kmem_cache_free(BhcCacheP, (void*)p);
+    }
+    while (p != bhcTailP);
+  }
+  EXIT(0);
+  return -ENOMEM;
+}
+
+/* Routine to set up the disk block size and get disk parameters */
+int 
+GetDiskInfoX(cxiDev_t devId, struct cxiDiskInfo_t* diskInfoP)
+{
+  struct block_device *bdevP = bdget(new_decode_dev(devId));
+
+  ENTER(0);
+  LOGASSERT(bdevP != NULL && bdevP->bd_disk != NULL);
+
+  diskInfoP->sectorSize = bdev_hardsect_size(bdevP);
+
+  if (diskInfoP->sectorSize == 0)
+    diskInfoP->sectorSize = 512;
+
+  /* Set blocksize of this device to hardware sector size */
+  set_blocksize(bdevP, diskInfoP->sectorSize);
+
+  DBGASSERT(bdevP->bd_inode != NULL);
+  diskInfoP->totalSectors = bdevP->bd_inode->i_size / diskInfoP->sectorSize;
+
+  TRACE3(TRACE_IO, 2, TRCID_GET_DISKINFOX,
+         "GetDiskInfoX: devId %08lX sector size %d totalSectors %lld\n",
+         devId, diskInfoP->sectorSize, diskInfoP->totalSectors);
+  EXIT(0);
+  return 0;
+}
+#endif
+
+/* Wait for a group of I/Os to complete.  Free the buffer heads after all
+ * I/O is finished.  Returns -EIO if any buffer_head had an error. 
+ */
+static int 
+cxiWaitIO(struct cxiBufHeadChunk_t *bhcHeadP)
+{
+  int i;
+  int rc;
+  struct buffer_head* bhP;
+  struct cxiBufHeadChunk_t* bhcP;
+  struct cxiBufHeadChunk_t* p;
+#if LINUX_KERNEL_VERSION >= 2050000
+  struct bio *bioP;
+#endif
+
+  /* Wait for I/O to be complete on all buffer_heads.  Wait on buffer_heads
+   * in the reverse of the order in which I/O was started.  By waiting on
+   * the last buffer_head first, it is likely that the calling thread will
+   * only have to sleep once. 
+   */
+  ENTER(0);
+  rc = 0;
+  DBGASSERT(bhcHeadP != NULL);
+  bhcP = bhcHeadP->bhcPrevP;
+  do
+  {
+    for (i = bhcP->nBHUsed-1; i >= 0; i--)
+    {
+      bhP = &bhcP->bh[i];
+#if LINUX_KERNEL_VERSION >= 2050000
+      bioP = bhcP->biop[i];
+
+      TRACE5(TRACE_IO, 12, TRCID_KWAITIO_BIO,
+             "cxiWaitIO: bhP 0x%lX bioP 0x%lX sector %d size %d state 0x%lX\n",
+             bhP, bioP, bioP->bi_sector, bioP->bi_size, bioP->bi_flags);
+#else
+      TRACE4(TRACE_IO, 12, TRCID_KWAITIO_BH,
+             "cxiWaitIO: bhP 0x%lX sector %d size %d state 0x%lX\n",
+             bhP, bhP->b_blocknr, bhP->b_size, bhP->b_state);
+#endif
+
+      wait_on_buffer(bhP);
+      if (!buffer_uptodate(bhP))
+      {
+#if LINUX_KERNEL_VERSION >= 2050000
+        TRACE5(TRACE_IO, 1, TRCID_KWAITIO_BIO_ERR,
+               "cxiWaitIO: bhP 0x%lX bioP 0x%lX sector %d size %d "
+               "state 0x%lX\n", bhP, bioP, bioP->bi_sector, bioP->bi_size, 
+               bioP->bi_flags);
+#else
+        TRACE4(TRACE_IO, 1, TRCID_KWAITIO_BH_ERR,
+               "cxiWaitIO: error bhP 0x%lX sector %d size %d state 0x%lX\n",
+               bhP, bhP->b_blocknr, bhP->b_size, bhP->b_state);
+#endif
+        rc = -EIO;
+      }
+#if LINUX_KERNEL_VERSION >= 2050000
+      bio_put(bioP);
+      bhcP->biop[i] = NULL;
+#endif
+    }
+
+    p = bhcP;
+    bhcP = bhcP->bhcPrevP;
+
+    /* All of the I/Os in all of the buffer_heads inside of the
+     * cxiBufHeadChunk_t pointed to by p are complete (the BH_Lock bits
+     * have all been turned off).  However, it is possible that some I/O
+     * completion handlers may not yet have returned from BHioDone and
+     * therefore may not have finished accessing fields within the chunk
+     * of buffer_heads.  The nBHActive keeps track of how many
+     * completion routines have not yet returned.  If this is non-zero,
+     * the cxiBufHeadChunk_t cannot be freed yet.  Delay briefly to
+     * allow the interrupt handler on another processor to complete,
+     * then free the cxiBufHeadChunk_t.  Repeat the delay until the
+     * cxiBufHeadChunk_t is no longer in use by any interrupt handlers. 
+     */
+    while (atomic_read(&p->nBHActive) > 0)
+    {
+      TRACE2(TRACE_IO, 1, TRCID_KWAITIO_BH_BUSY,
+             "cxiWaitIO: p 0x%lX waiting for %d I/O completion handlers\n",
+             p, atomic_read(&p->nBHActive));
+      cxiSleep(10);
+      atomic_inc(&cxiWaitIONDelays);
+    }
+
+    kmem_cache_free(BhcCacheP, (void*)p);
+
+  } 
+  while (p != bhcHeadP);
+
+  EXIT(0);
+  return rc;
+}
+
+/* Read or write the given sectors from dev.  Data should be placed into the
+ * I/O buffer beginning at byte offset bufOffset.  Returns EOK on success,
+ * negative values on error.  All of the data to be transferred will be in
+ * the first cxiKernelIOBufferDesc_t. 
+ */
+int 
+cxiKDoIO(struct cxiKernelIOBufferDesc_t* kibdP,
+         Boolean isWrite, cxiDev_t dev, UInt64 startSector, 
+         int nSectors, int sectorSize, int bufOffset)
+{
+  int rc;
+  struct cxiBufHeadChunk_t* bhcHeadP;
+
+  ENTER(0);
+  DBGASSERT(sectorSize == 512);
+
+#ifdef KCSTRACE
+  current->kcst_info.data[0] = dev;
+  current->kcst_info.data[1] = startSector;
+  current->kcst_info.data[2] = nSectors;
+#endif
+
+  rc = cxiStartIO(kibdP, isWrite, dev, startSector, nSectors, 
+                  bufOffset, &bhcHeadP);
+  if (rc == 0)
+    rc = cxiWaitIO(bhcHeadP);
+
+#ifdef KCSTRACE
+  current->kcst_info.data[0] = 0;
+  current->kcst_info.data[1] = 0;
+  current->kcst_info.data[2] = 0;
+#endif
+
+  EXIT(0);
+  return rc;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cxiSystem.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cxiSystem.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cxiSystem.c	(revision 16)
@@ -0,0 +1,3977 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)16       1.158.1.9  src/avs/fs/mmfs/ts/kernext/gpl-linux/cxiSystem.c, mmfs, avs_rgpfs24, rgpfs24s007a 10/24/06 19:12:27 */
+/*
+ * Linux implementation of basic common services
+ *
+ * Contents:
+ *     cxiGetThreadId
+ *     getpid
+ *     cxiIsSuperUser
+ *     DoPanic
+ *     logAssertFailed
+ *   Kernel memory allocation services:
+ *     cxiMallocPinned
+ *     cxiFreePinned
+ *
+ */
+
+#include <Shark-gpl.h>
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/slab.h>
+#include <linux/wait.h>
+#include <linux/time.h>
+#include <linux/file.h>
+#include <linux/string.h>
+#include <asm/uaccess.h>
+#include <linux/smp_lock.h>
+#include <linux/vmalloc.h>
+#include <linux/fs.h>
+#include <linux/interrupt.h>
+#undef memcmp
+
+#define DEFINE_TRACE_GBL_VARS
+#include <Logger-gpl.h>
+#include <verdep.h>
+#include <linux2gpfs.h>
+#include <cxiSystem.h>
+#include <cxiAtomic.h>
+#include <cxi2gpfs.h>
+#include <cxiIOBuffer.h>
+#include <cxiSharedSeg.h>
+#include <cxiCred.h>
+
+#include <Trace.h>
+#include <lxtrace.h>
+#include <cxiMode.h>
+#if LINUX_KERNEL_VERSION >= 2060000
+#include <linux/swap.h>
+#include <linux/writeback.h>
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2040900
+/* This is in the Redhat kernel series */
+extern int posix_locks_deadlock(struct file_lock *, struct file_lock *);
+#endif
+
+#ifdef INSTRUMENT_LOCKS
+struct BlockingMutexStats BlockingMutexStatsTable[MAX_GPFS_LOCK_NAMES];
+#endif  /* INSTRUMENT_LOCKS */
+
+/* We record the daemon's process group since it can uniquely identify
+ * a thread as being part of the GPFS daemon.  pid is unique per thread
+ * on linux due to their clone implementation.
+ */
+static pid_t DaemonPGrp = -1;
+
+/* Get the kernel thread ID. */
+cxiThreadId cxiGetThreadId()
+{
+  /* ENTER(1); */
+  return current->pid;
+}
+
+/* Get the kernel process ID. */
+pid_t getpid()
+{
+  /* ENTER(1); */
+  return current->pid;
+}
+
+/* bufP is caller's ext_cred_t buffer
+ * uCredPP is the ucred struct (NULL on Linux)
+ * eCredPP is the ext_cred_t struct * (if successful)
+ * 
+ * cxiPutCred should be called to release when operation has been completed.
+ */
+int cxiGetCred(void *bufP, void **uCredPP, void **eCredPP)
+{
+  ext_cred_t *eCredP = (ext_cred_t *)bufP;
+
+  ENTER(0);
+  *uCredPP = NULL;
+  *eCredPP = NULL;
+
+  if (!bufP)
+  {
+    EXIT_RC(0, EINVAL);
+    return EINVAL;
+  }
+
+  setCred(eCredP);
+  *eCredPP = (void *)eCredP;
+
+xerror:
+  EXIT(0);
+  return 0;
+}
+
+/* Release of cxiGetCred() structures  (nothing to do on Linux) */
+int cxiPutCred(void *userCredP, void *extCredP)
+{
+  if (userCredP || !extCredP)
+    return EINVAL;
+
+  return 0;
+}
+
+/* Convert a kernel stack address to the thread ID of the thread that 
+ * uses that stack 
+ */
+int 
+cxiStackAddrToThreadId(char* stackP, cxiThreadId* tidP)
+{
+  struct task_struct * tP;
+#if LINUX_KERNEL_VERSION >= 2060000
+  /* the kernel stack is base off the thread_info struct in the 2.6 kernel
+   * will get the task pointer out of thread_info struct.
+   */
+  struct thread_info * iP;
+  ENTER(0);
+  iP = (struct thread_info *) ((UIntPtr)stackP & ~((UIntPtr)(THREAD_SIZE-1)));
+  tP = iP->task;
+#else
+  /* the kernel stack is base off the task_struct struct in the 2.4 kernel */
+  tP = (struct task_struct *) ((UIntPtr)stackP & ~((UIntPtr)(THREAD_SIZE-1)));
+#endif
+  ENTER(0);
+  *tidP = tP->pid;
+  EXIT(0);
+  return 0;
+}
+
+/* Convert a kernel thread pointer to the corresponding thread ID */
+int 
+cxiThreadPtrToThreadId(char* threadP, cxiThreadId* tidP)
+{
+  struct task_struct * tP;
+
+  ENTER(0);
+  tP = (struct task_struct *) threadP;
+  *tidP = tP->pid;
+
+  EXIT(0);
+  return 0;
+}
+
+
+/* Return true if caller has has maximum authorization (is root) */
+Boolean cxiIsSuperUser()
+{
+  return (current->euid == 0);
+}
+
+
+/* Get the process max filesize limit (ulimit -f) */
+Int64 cxiGetMaxFileSize()
+{
+  if ((signed long)MY_RLIM_CUR(RLIMIT_FSIZE) == -1L)
+    return MAX_INT64;
+  else
+    return (MY_RLIM_CUR(RLIMIT_FSIZE));
+}
+
+/* Routine to send a signal to the current thread/process */
+void cxiSendSigThread(int sig)
+{
+  ENTER(0);
+  send_sig(sig, current, 0);
+  EXIT(0);
+}
+
+
+#ifdef MALLOC_DEBUG
+/* This tracks mallocs and frees on a limited basis.
+ * Implemented originally to determine if we were leaking
+ * any memory after an unload.  This is not really thread
+ * safe for multiple processors unless they're automatically
+ * cache coherent without memory barriers (i386).   Its useful
+ * for detecting memory leaks on a single processor system.
+ */
+#define MALLOC_RECORDS 5000 /* max mallocs to track */
+struct mallocStat
+{
+  void *beginP;
+  unsigned short size;
+  unsigned short type;
+};
+static struct mallocStat *mstatP = NULL;
+unsigned int nextMalloc = 0;
+
+void 
+MallocDebugStart()
+{
+  int i;
+
+  ENTER(0);
+  if (mstatP == NULL)
+    mstatP = vmalloc(MALLOC_RECORDS * sizeof(struct mallocStat));
+  
+  if (mstatP == NULL)
+  {
+    EXIT(0);
+    return;
+  }
+
+  for (i = 0; i < MALLOC_RECORDS; i++)
+  {
+    mstatP[i].beginP = NULL;  
+    mstatP[i].size = 0;
+    mstatP[i].type = 0;
+  }
+  printk("MallocDebugStart 0x%X\n", mstatP);
+  EXIT(0);
+}
+
+void
+MallocDebugEnd()
+{
+  int i;
+
+  ENTER(0);
+  if (mstatP != NULL)
+  {
+    for (i = 0; i < MALLOC_RECORDS; i++)
+    {
+      if (mstatP[i].beginP != NULL)
+        printk("MallocDebug: beginP 0x%X size %d type %d STILL ALLOCATED!\n",
+               mstatP[i].beginP, mstatP[i].size, mstatP[i].type);
+    }
+  }
+
+  vfree(mstatP);
+  mstatP = NULL;
+  EXIT(0);
+}
+
+void
+MallocDebugNew(void *ptr, unsigned short size, unsigned short type)
+{
+  void *bP;
+  int i;
+  int j;
+  int swrc;
+  int oldval;
+  int where = nextMalloc;
+
+  ENTER(0);
+
+  if (mstatP == NULL)
+  {
+    EXIT(0);
+    return;
+  }
+
+  for (i = where; i < MALLOC_RECORDS + where; i++)
+  {
+    if (i >= MALLOC_RECORDS)
+      j = i - MALLOC_RECORDS;
+    else
+      j = i;
+
+    bP = mstatP[j].beginP;
+    if (bP == NULL) 
+    {
+      swrc = ATOMIC_SWAP(&mstatP[j].beginP, &bP, ptr);
+      if (swrc)
+      {
+        mstatP[j].size = size;
+        mstatP[j].type = type;
+        break;
+      }
+    }
+  }
+
+  EXIT(0);
+}
+
+void 
+MallocDebugDelete(void *ptr)
+{
+  void *bP;
+  int i;
+  int swrc;
+  int next;
+  int found = 0;
+ 
+  ENTER(0);
+  if (mstatP == NULL)
+  {
+    EXIT(0);
+    return;
+  }
+
+  for (i = 0; i < MALLOC_RECORDS; i++)
+  {
+    bP = mstatP[i].beginP;
+    if (bP == ptr)
+    {
+      next = nextMalloc;
+      ATOMIC_SWAP(&nextMalloc, &next, i);
+
+      swrc = ATOMIC_SWAP(&mstatP[i].beginP, &bP, NULL);
+      DBGASSERT(swrc);
+      found = 1;
+      break;
+    }
+  }
+
+  if (!found)
+    printk("MallocDebug: 0x%X not found!\n", ptr);
+  EXIT(0);
+}
+#endif /* MALLOC_DEBUG */
+
+/* Allocate pinned kernel memory */
+void* cxiMallocPinned(int nBytes)
+{
+  void *ptr;
+
+  /* kmalloc only supports requests for up to 131027 bytes.  Anything
+     larger than this results in a BUG() call. */
+  ENTER(0);
+  if (nBytes > 131072)
+  {
+    EXIT(0);
+    return NULL;
+  }
+
+  ptr = kmalloc(nBytes, GFP_KERNEL);
+
+#ifdef MALLOC_DEBUG
+  MallocDebugNew(ptr, nBytes, 1);
+#endif
+
+  EXIT(0);
+  return ptr;
+}
+
+/* Free pinned kernel memory that was allocated with cxiMallocPinned */
+/* Must not block on lack of memory resourses */
+void cxiFreePinned(void* p)
+{
+  ENTER(0);
+#ifdef MALLOC_DEBUG
+  MallocDebugDelete(p);
+#endif
+
+  kfree(p);
+  EXIT(0);
+}
+
+/* Get the kernel thread ID. */
+void* cxiGetFcntlOwner(eflock_t *flP)
+{
+  return flP? flP->l_owner: current->files;
+}
+
+#if LINUX_KERNEL_VERSION > 2060900
+struct lock_manager_operations lm_operations = {
+};
+#endif
+
+/* Perform local advisory locking. */
+int cxiFcntlLock(void *advObjP,
+                 int cmd,
+                 void *lockStructP,
+                 cxiFlock_t *flockP,
+                 int (*retryCB)(),
+                 cxiOff64_t size,
+                 cxiOff64_t offset,
+                 ulong *retry_idP)
+{
+  int len, rc = 0;
+  // struct file *fP;
+  struct file_lock fl, *flP, *gflP, *cflP;
+  Boolean keepLockElement = false;
+
+  /* cast platform independent arguments as appropriate for linux */
+  void (*RetryFcn)(struct file_lock*) = (void (*)(struct file_lock*))retryCB;
+  // fP = (struct file *)advObjP;
+  struct file localFile, *filp = &localFile;
+  struct dentry localDEntry, *dp = &localDEntry;
+  ENTER(0);
+  flP = (struct file_lock *) lockStructP;
+
+  localFile.f_dentry = &localDEntry;
+  localDEntry.d_inode = (struct inode *)advObjP;
+
+  /* Lock commands can have two different values.  Convert them at
+   * entry to the portability layer so that we only have to check 
+   * for one of them.
+   */
+#if !defined(__64BIT__)
+  if (cmd == F_GETLK64) cmd = F_GETLK;
+  if (cmd == F_SETLK64) cmd = F_SETLK;
+  if (cmd == F_SETLKW64) cmd = F_SETLKW;
+#endif
+
+  /* Callers have the option of passing a platform dependent lock structure
+     (struct file_lock *lockSructP) or the generic (cxiFlock_t *flockP). */
+  if (flockP)
+  {
+    flP = &fl; /* Use a local file_lock structure */
+
+    /* If there is a potential for blocking, must malloc the locking structure
+       so it can persist until the lock becomes available (in Retry()). */
+
+    if (cmd == F_SETLKW)
+    {
+#ifdef NFS_CLUSTER_LOCKS
+      len = sizeof(struct file_lock) +
+            sizeof(struct file) +
+            sizeof(struct dentry);
+#else
+      len = sizeof(struct file_lock);
+#endif
+      flP = (struct file_lock*)cxiMallocUnpinned(len);
+      if (flP == NULL)
+      {
+	rc = ENOMEM;
+	goto exit;
+      }
+      cxiMemset(flP, 0, len);
+#ifdef NFS_CLUSTER_LOCKS
+      filp = (struct file*)((char *)flP + sizeof(struct file_lock));
+      dp = (struct dentry *)((char *)filp + sizeof(struct file));
+      filp->f_dentry = dp;
+      dp->d_inode = (struct inode *)advObjP;
+#endif
+    }
+    else
+      cxiMemset(flP, 0, sizeof(*flP));
+
+    locks_init_lock(flP); /* Initialize list_head structs */
+    if (flockP->l_file == NULL)
+      flockP->l_file = filp;
+
+    /* fl_wait needs to be initialized because when unlock happens, the
+       linux routine locks_wake_up_blocks invokes our retry routine via
+       fl_notify and then calls wake_up(fl_wait) on the assumption that
+       the waiter is local. */
+
+    cxiWaitEventInit((cxiWaitEvent_t *)&flP->fl_wait);
+
+    cxiFlockToVFS(flockP, flP);
+  }
+
+  /* daemon didn't know the owner and required kernel code to fill it in. */
+  if (!flP->fl_owner)
+    flP->fl_owner = (fl_owner_t)cxiGetFcntlOwner(NULL);
+
+#if 0
+  /* Validate the file pointer.  Kernel locking routines are going to
+     use these without verifying them.  If any of them are NULL, find
+     out now before they generate a segment violation. */
+  if ((!fP) || (!fP->f_dentry) || (!fP->f_dentry->d_inode))
+  {
+    if (cmd == F_GETLK)
+      flP->fl_type = F_UNLCK;
+    else
+      rc = EINVAL;
+    goto exit;
+  }
+#endif
+
+  /* Note that this all depends on us having serialized such locking for
+     this file during from before the posix_test_lock() until after the
+     posix_block_lock().  The revoke lock that we hold here provides us
+     the necessary serilization. */
+
+  TRACE7(TRACE_VNODE, 3, TRCID_FCNTLLOCK_ENTER,
+         "cxiFcntlLock posix_lock_file: pid %d owner 0x%X inodeP 0x%X "
+         "range 0x%lX-%lX cmd %s type %s\n",
+         flP->fl_pid, flP->fl_owner, advObjP, flP->fl_start, flP->fl_end,
+         (cmd == F_GETLK) ? "GETLK" : (cmd == F_SETLK) ? "SETLK" : "SETLKW",
+         (flP->fl_type == F_RDLCK) ? "RDLCK" :
+         (flP->fl_type == F_WRLCK) ? "WRLCK" : "UNLCK");
+
+  if (cmd == F_GETLK)
+  {
+    /* Check for conflicts.  If found, return the information.
+       If there are NO conflicts, return F_UNLCK in fl_type. */
+#if LINUX_KERNEL_VERSION >= 2061700
+    struct file_lock conf;
+    gflP = &conf;
+    rc = posix_test_lock(filp, flP, gflP);
+    if (rc) {
+      rc = 0;
+#else
+    if (NULL != (gflP = posix_test_lock(&localFile, flP))) {
+#endif
+      flP->fl_start = gflP->fl_start;
+      flP->fl_end = gflP->fl_end;
+      flP->fl_type = gflP->fl_type;
+      flP->fl_pid = gflP->fl_pid;
+      flP->fl_owner = gflP->fl_owner;
+    }
+    else
+      flP->fl_type = F_UNLCK;
+
+    TRACE6(TRACE_VNODE, 3, TRCID_FCNTLLOCK_GETLK,
+           "cxiFcntlLock getlk: pid %d owner 0x%X inodeP 0x%X "
+           "range 0x%lX-%lX type %s\n",
+           flP->fl_pid, flP->fl_owner, advObjP, flP->fl_start, flP->fl_end,
+           (flP->fl_type == F_RDLCK) ? "RDLCK" :
+           (flP->fl_type == F_WRLCK) ? "WRLCK" : "UNLCK");
+  }
+  else
+  { /* Begin: do the locking, but handle the blocking via our retry routine. */
+    /* Test the lock.   What this really does for us is return the blocker
+       if one exists.  This is needed to queue up the request if a conflicting
+       lock is already held. */
+
+#ifdef NFS_CLUSTER_LOCKS
+    if (cmd == F_SETLKW) {
+      flP->fl_flags |= FL_SLEEP;
+      if (!flP->fl_lmops) {
+        flP->fl_lmops = &lm_operations;
+        flP->fl_lmops->fl_notify = (void *)RetryFcn;
+      }
+    }
+    rc = POSIX_LOCK_FILE(filp, flP);
+    if (rc == -EAGAIN && (cmd == F_SETLKW) &&
+        flP->fl_lmops == &lm_operations)
+    {
+      /* Queue the blocker structures */
+      keepLockElement = true;
+      if (retry_idP)
+        *retry_idP = (ulong)flP; // returned to caller and saved in sleepElement
+    }
+#else
+#if LINUX_KERNEL_VERSION >= 2061700
+    if ((flP->fl_type == F_UNLCK) || !(posix_test_lock(&localFile, flP, cflP)))
+#else
+    if ((flP->fl_type == F_UNLCK) || !(cflP = posix_test_lock(&localFile, flP)))
+#endif
+    {
+      /* No conflicting lock:  get the lock for the caller. */
+      rc = POSIX_LOCK_FILE(&localFile, flP);
+    }
+    else
+    { /* Conflicting lock:  ..... */
+      rc = EAGAIN;
+
+      if (cmd == F_SETLKW)
+      {
+        /*if (posix_locks_deadlock(flP, cflP))
+        {
+          rc = EDEADLK;
+        }
+        else*/
+        {
+          /* Queue the blocker structures */
+          keepLockElement = true;
+          if (retry_idP)
+            *retry_idP = (ulong)flP; // returned to caller and saved in sleepElement
+#if LINUX_KERNEL_VERSION > 2060900
+          flP->fl_lmops = &lm_operations;
+          flP->fl_lmops->fl_notify = RetryFcn;
+#else
+          flP->fl_notify = RetryFcn;
+#endif
+#if LINUX_KERNEL_VERSION < 2061700
+          posix_block_lock(cflP, flP);
+#endif
+        }
+      }
+    }
+#endif
+
+    TRACE2(TRACE_VNODE, 3, TRCID_FCNTLLOCK_EXIT,
+           "cxiFcntlLock posix_lock_file: rc %d retry_id 0x%lX\n", rc, cflP);
+  } /* End: do the locking, but handle the blocking via our retry routine. */
+
+exit:
+
+  if (flockP)
+  {
+    /* Caller wanted results in flockP */
+    cxiVFSToFlock((void *)flP, flockP);
+
+    /* If we allocated the locking structure and then didn't need to use
+       it (the lock request didn't block), free it. */
+
+    if ((flP!=&fl) && (!keepLockElement)) {
+      cxiFreeUnpinned(flP);
+    }
+  }
+
+#ifdef NFS_CLUSTER_LOCKS
+  if (rc < 0)
+    rc = -rc;  /* make it positive */
+#endif
+  EXIT_RC(0, rc);
+  return rc;
+}
+
+void cxiFcntlUnblock(void *retry_idP)
+{
+  struct file_lock *flP = (struct file_lock *)retry_idP;
+
+  ENTER(0);
+  /* Include some sanity checks on the retry id (file_lock)
+     before passing it into the routine that does the work.
+     It should be properly linked (via its list_head structures)
+     in a file_lock_list that has blocked waiters.  Also,
+     we would only be backing this out by the process that
+     has originally blocked, so verify the pid. */
+
+  if (!list_empty(&flP->fl_block) && !list_empty(&flP->fl_link)  &&
+       flP->fl_next && flP->fl_pid == getpid())
+  {
+    POSIX_UNBLOCK_LOCK(flP);
+  }
+  EXIT(0);
+}
+
+int
+cxiFcntlReset(void *vfsP, cxiPid_t mmfsd_pid)
+{
+  int rc = 0;
+  struct super_block *sbP = (struct super_block *)vfsP;
+  struct list_head *fllP;
+  struct file_lock *fl;
+  struct dentry *dentryP;
+
+  ENTER(0);
+  lock_kernel();
+
+restart:
+
+#if LINUX_KERNEL_VERSION >= 2061600
+//??? find a different way to clear locks  file_lock_list is not exported anymore
+#else
+  fllP = file_lock_list.next;
+
+  while(fllP != &file_lock_list)
+  {
+    fl = list_entry(fllP, struct file_lock, fl_link);
+    fllP = fllP->next;
+
+    /* If there are mmfs lock structures, release them. */
+
+    if (fl &&
+        fl->fl_file &&
+        fl->fl_file->f_dentry &&
+        fl->fl_file->f_dentry->d_inode)
+    {
+      dentryP = fl->fl_file->f_dentry;
+
+      /* If this lock belongs to the specified vfs, release advisory locks. */
+      if (dentryP->d_sb == sbP)
+      {
+        /* remove all our locks */
+        rc = gpfs_ops.gpfsFcntlReset((void *)dentryP->d_inode, mmfsd_pid);
+        if (rc == ENOSYS)
+          goto xerror;
+
+        /* After freeing unknown numbers of locks in gpfsFcntlReset (all
+           locks for the inode), restart from the top of the lock list */
+        goto restart;
+      }
+    }
+  }
+#endif
+
+xerror:
+  unlock_kernel();
+  EXIT_RC(0, rc);
+  return rc;
+}
+
+void *
+cxiGetPrivVfsP(void *vfsP)
+{
+  struct super_block *sbP = (struct super_block *)vfsP;
+
+  /* Do some sanity checking */
+  if ( (sbP->s_magic != GPFS_SUPER_MAGIC) ||
+       ((UIntPtr) SBLOCK_PRIVATE(sbP) < GPFS_KERNEL_OFFSET) )
+    printSuperList(sbP);
+  LOGASSERT( sbP->s_magic == GPFS_SUPER_MAGIC );
+  LOGASSERT( (UIntPtr) SBLOCK_PRIVATE(sbP) >= GPFS_KERNEL_OFFSET );
+
+  return (SBLOCK_PRIVATE(sbP));
+}
+
+
+#ifdef NFS_DEBUG
+/* These flags are defined in the kernel and control various cprintk
+   calls.  This provides us a way to easily turn these on/off for
+   debugging our NFS support. */
+extern unsigned int nlm_debug;
+extern unsigned int nfsd_debug;
+extern unsigned int nfs_debug;
+extern unsigned int rpc_debug;
+#endif
+
+int cxiTrace(cxiTrace_t trace)
+{
+#ifdef NFS_DEBUG
+  int rc = 0;
+
+  ENTER(0);
+  switch (trace)
+  {
+    case cxiTraceNFS:
+      nlm_debug = nfsd_debug = nfs_debug = rpc_debug = ~0;
+      break;
+    case cxiTraceNFSoff:
+      nlm_debug = nfsd_debug = nfs_debug = rpc_debug =  0;
+      break;
+    default:
+      rc = EINVAL;
+      break;
+  }
+  EXIT_RC(0, rc);
+  return rc;
+#else
+  return ENOSYS;
+#endif
+}
+
+void cxiFlockToVFS(eflock_t* lckdatP, void* vP)
+{
+  struct file_lock* flP = (struct file_lock *)vP;
+
+  ENTER(0);
+  if ((flP) && (lckdatP))
+  {
+    flP->fl_pid   = lckdatP->l_pid;
+    flP->fl_owner = lckdatP->l_owner;
+    flP->fl_type  = lckdatP->l_type;
+    flP->fl_start = lckdatP->l_start;
+    flP->fl_flags = FL_POSIX;
+#ifdef NFS_CLUSTER_LOCKS
+    flP->fl_lmops = lckdatP->l_lmops;
+    flP->fl_file  = lckdatP->l_file;
+    flP->fl_ops   = NULL;
+#else
+#if LINUX_KERNEL_VERSION < 2061700
+    if (lckdatP->l_caller == L_CALLER_LOCKD)
+      flP->fl_flags |= FL_LOCKD;
+#endif
+#endif
+    if (lckdatP->l_len == 0)
+      flP->fl_end = FL_OFFSET_MAX;
+    else
+      flP->fl_end = lckdatP->l_len + lckdatP->l_start - 1;
+  }
+  EXIT(0);
+  return;
+}
+
+#ifdef NFS_CLUSTER_LOCKS
+int cxiVFSCallback(eflock_t* lckreqP, eflock_t* lckdatP,
+			int(* callback)(void *, void *, int), int result)
+{
+  struct file_lock fl;
+  struct file *fileP;
+  struct file_lock conf, *confP = NULL;
+  int rc;
+
+  ENTER(0);
+
+  cxiFlockToVFS(lckreqP, &fl);
+  fileP = fl.fl_file;
+  if (!fileP) {
+     return -1;
+  }
+  if (lckdatP) {
+     cxiFlockToVFS(lckdatP, &conf);
+     confP = &conf;
+  }
+  if (!result) { /* try to get the posix lock */
+     rc = POSIX_LOCK_FILE(fileP, &fl);
+     if (rc)
+        callback(&fl, NULL, EBUSY);
+     else {      /* got the posix lock */
+        rc = callback(&fl, confP, result);
+        if (rc) {  /* too late, free the lock */
+	   fl.fl_type = F_UNLCK;
+           rc = POSIX_LOCK_FILE(fileP, &fl);
+       }
+     }
+  }
+  else
+     rc = callback(&fl, confP, result);
+
+#ifdef NFS_CLUSTER_LOCKS
+  if (rc < 0)
+    rc = -rc;  /* make it positive */
+#endif
+  EXIT_RC(0, rc);
+  return rc;
+}
+#endif
+
+void cxiVFSToFlock(void *vP, eflock_t *lckdatP)
+{
+  struct file_lock* flP = (struct file_lock *)vP;
+
+  ENTER(0);
+  if ((flP) && (lckdatP))
+  {
+    lckdatP->l_pid    = flP->fl_pid;
+    lckdatP->l_owner  = flP->fl_owner;
+    lckdatP->l_type   = flP->fl_type;
+    lckdatP->l_start  = flP->fl_start;
+    lckdatP->l_flags  = flP->fl_flags;
+#ifdef NFS_CLUSTER_LOCKS
+    lckdatP->l_lmops  = flP->fl_lmops;
+    lckdatP->l_file   = flP->fl_file;
+    if (lckdatP->l_lmops) /* must be lockd or nfsd */
+#else
+#if LINUX_KERNEL_VERSION >= 2061700
+    if (lckdatP->l_lmops) /* must be lockd or nfsd */
+#else
+    if (flP->fl_flags & FL_LOCKD)
+#endif
+#endif
+      lckdatP->l_caller = L_CALLER_LOCKD;
+    else
+      lckdatP->l_caller = L_CALLER_NULL;
+    if (flP->fl_end == FL_OFFSET_MAX)
+      lckdatP->l_len = 0;
+    else
+      lckdatP->l_len    = flP->fl_end - flP->fl_start + 1;
+  }
+  EXIT(0);
+  return;
+}
+
+
+/* Sleep for the indicated number of milliseconds */
+void cxiSleep(int ms)
+{
+  ENTER(0);
+  TRACE1(TRACE_VNODE, 9, TRCID_SLEEP,
+         "cxiSleep: begin delay %d\n", ms);
+  current->state = TASK_INTERRUPTIBLE;
+  /* For large HZ rearrange jiffies calculation and
+     use presumably larger word size to minimize overflow risk */
+  if (unlikely(HZ > 1000))
+    schedule_timeout(((long)ms)*HZ/1000);
+  else
+    schedule_timeout(ms/(1000/HZ));
+  TRACE2(TRACE_VNODE, 9, TRCID_SLEEP_END,
+         "cxiSleep: end delay %d HZ %d\n", ms, HZ);
+  EXIT(0);
+}
+
+
+void cxiOpenNFS(void *iP)
+{
+  struct inode *inodeP = (struct inode *)iP;
+  int refcount;
+
+  /* A reference is placed on the cxiNode here when the first NFS reference
+     is added */
+  ENTER(0);
+  refcount = cxiRefOSNode(NULL, ((cxiNode_t *)(cxiGetCnP(inodeP))), iP, 1);
+
+  TRACE7(TRACE_VNODE, 3, TRCID_OPENNFS,
+        "openNFS iP 0x%lX ino %d (0x%X) mode 0x%X nlink %d gen_ip 0x%lX "
+        "refcount %d\n",
+        inodeP, (inodeP) ? inodeP->i_ino : -1,
+        (inodeP) ? inodeP->i_ino : -1,
+        (inodeP) ? inodeP->i_mode : -1,
+        (inodeP) ? inodeP->i_nlink : -1,
+        (inodeP) ? inodeP->PRVINODE : NULL,
+        refcount);
+
+  DBGASSERT(refcount != 0);
+  EXIT(0);
+}
+
+
+int cxiCloseNFS(void *vP, void *viP)
+{
+  int rc;
+  struct inode *iP = (struct inode *)vP;
+
+  /* If viP is NULL, the file was never actually opened.
+     If viP is not NULL, close it. */
+  ENTER(0);
+  if (viP == NULL)
+    rc = 0;
+  else {
+    if (VP_TO_PVP(iP) != NULL && VP_TO_CNP(iP) != NULL) {
+      rc = gpfs_ops.gpfsClose(VP_TO_PVP(iP), VP_TO_CNP(iP), FREAD|FWRITE,
+                                          (struct MMFSVInfo *)viP, true);
+      cxiPutOSNode((void *)iP);
+    }
+  }
+
+  EXIT_RC(0, rc);
+  return rc;
+}
+
+static int cxiNFSCluster = 0;
+
+void cxiSetNFSCluster(int set)
+{
+  cxiNFSCluster = set;
+}
+
+/* To avoid failing the NFS client the NFSD thread is put to sleep. Another
+   node will takeover this client and the operation will continue without any
+   errors to the application.
+*/
+void cxiNFSError(int rc, const char *str)
+{
+  TRACE2(TRACE_VNODE, 9, TRCID_NFS_ERROR,
+         "cxiNFSError: %s got rc %d\n", str, rc);
+  if (cxiNFSCluster && cxiIsNFSThread() && (rc == ESTALE || rc == -ESTALE))
+  {
+    TRACE2(TRACE_VNODE, 1, TRCID_NFS_ERROR_1,
+         "cxiNFSError: NFS got error %d from %s sleep\n", rc, str);
+    cxiSleep(120000); // wait 120 seconds
+  }
+}
+
+void * cxiGetNfsP(void *vP)
+{
+  if (vP && VP_TO_CNP((struct inode *)vP))
+    return VP_TO_NFSP((struct inode *)vP);
+  else
+    return NULL;
+}
+
+void cxiSetNfsP(void *vP, void *newP)
+{
+  if (VP_TO_CNP((struct inode *)vP))
+    VP_TO_NFSP((struct inode *)vP) = newP;
+}
+
+void * cxiGetCnP(void *vP)
+{ return (void *)VP_TO_CNP((struct inode *)vP); }
+
+void * cxiGetPvP(void *vP)
+{ return (void *)VP_TO_PVP((struct inode *)vP); }
+
+void * cxiGNPtoVP(void *vP)
+{ return (void *)GNP_TO_VP((struct cxiNode_t *)vP); }
+
+/* Main routine of kproc */
+static int kprocMain(void *argP)
+{
+  cxiKProcData_t *kpdP = (cxiKProcData_t *)argP;
+
+  /* Change our process name */
+  ENTER(0);
+  current->comm[sizeof(current->comm) - 1] = '\0';
+  strncpy(current->comm, kpdP->nameP, sizeof(current->comm) - 1);
+
+  /* Change parent of a kernel process so that when it exits, it won't 
+   * send a SIGCHLD signal to the process that created it, and it won't 
+   * be left as a zombie. 
+   */
+  DAEMONIZE(kpdP->nameP);
+
+  /* Call the function specified by startKProc */
+  kpdP->func(kpdP);
+  EXIT(0);
+  return 0;
+}
+
+/* Create a new kernel process */
+cxiPid_t 
+cxiStartKProc(struct cxiKProcData_t *kpdP)
+{
+  cxiPid_t pid = kernel_thread(kprocMain, kpdP, kpdP->kprocFlags);
+  ENTER(0);
+  kpdP->pid = pid > 0 ? pid : KPROC_FAILED_PID;
+
+  TRACE2(TRACE_VNODE, 1, TRCID_CXISTART_KPROC_LINUX,
+         "cxiStartKProc %s pid %d \n", kpdP->nameP, kpdP->pid);
+  EXIT(0);
+  return kpdP->pid;
+}
+
+void 
+cxiStopKProc(struct cxiKProcData_t *kpdP)
+{
+  cxiPid_t pid;
+
+  ENTER(0);
+  cxiBlockingMutexAcquire(&kpdP->lock);
+  
+  TRACE2(TRACE_VNODE, 1, TRCID_CXISTOP_KPROC_LINUX,
+         "cxiStopKProc: %s pid %d \n", kpdP->nameP, kpdP->pid);
+
+  if (!KPROC_RUNNING(kpdP))
+  {
+    cxiBlockingMutexRelease(&kpdP->lock);
+    EXIT(0);
+    return;
+  }
+
+  pid = kpdP->pid;              // Cache pid before signal/wait
+  kpdP->terminate = true;
+  cxiWaitEventSignal(&kpdP->kprocEvent);
+
+  while (kpdP->pid != KPROC_UNASSIGNED_PID)
+    cxiWaitEventWait(&kpdP->startStopEvent, &kpdP->lock, 0);
+
+  cxiBlockingMutexRelease(&kpdP->lock);
+  EXIT(0);
+}
+
+/*-------------------------------------------------------------------
+ * logAssertFailed  - Subroutine consolidating logGenIF() and
+ *                    DoPanic() calls.
+ *------------------------------------------------------------------*/
+
+static char PanicMsgBuf[2048];
+
+void cxiPanic(const char* panicStrP)
+{
+  printk( GPFS_NOTICE  "kp %d: cxiPanic: %s\n", cxiGetThreadId(), panicStrP);
+  TRACE1(TRACE_ERRLOG, 0, TRCID_PANIC, "cxiPanic: %s\n", panicStrP);
+#ifndef DISABLE_KERNEL_PANIC
+  BUG();
+#endif
+}
+
+static void
+DoPanic(char* condP, char* filenameP, int lineNum, Int32 retCode,
+        Int32 reasonCode, char *dataStr)
+{
+  const char *p;
+  int bytesLeft;
+
+  p = cxiStrrchr(filenameP, '/');
+  if (p == NULL)
+    p = filenameP;
+  else
+    p += 1;
+
+  sprintf(PanicMsgBuf, "%s:%d:%d:%d:", p, lineNum, retCode, reasonCode);
+  bytesLeft = sizeof(PanicMsgBuf) - strlen(PanicMsgBuf);
+  if (dataStr)
+  {
+    strncat(PanicMsgBuf, dataStr, bytesLeft-1);
+    bytesLeft = sizeof(PanicMsgBuf) - strlen(PanicMsgBuf);
+  }
+  strncat(PanicMsgBuf, ":", bytesLeft-1);
+  bytesLeft = sizeof(PanicMsgBuf) - strlen(PanicMsgBuf);
+  if (condP)
+    strncat(PanicMsgBuf, condP, bytesLeft-1);
+  cxiPanic(PanicMsgBuf);
+}
+
+#ifdef MODULE
+void
+logAssertFailed(UInt32 flags,   /* LOG_FATAL_ERROR or LOG_NONFATAL_ERROR */
+                char  *srcFileName,   /* __FILE__ */
+                UInt32 srcLineNumber, /* __LINE__ */
+                Int32  retCode,       /* return code value */
+                Int32  reasonCode,    /* normally errno */
+                UInt32 logRecTag,     /* tag if have associated error log rec */
+                char  *dataStr,       /* assert data string */
+                char  *failingExpr)   /* expression that evaluated to false */
+{
+  int i;
+
+  printk("GPFS logAssertFailed: %s file %s line %d\n",
+         failingExpr, srcFileName, srcLineNumber);
+  ENTER(0);
+  TRACE3(TRACE_ERRLOG, 0, TRCID_MODULE_LOGASSERT_1,
+         "logAssertFailed: %s retCode %d reasonCode %d\n",
+         failingExpr, retCode, reasonCode);
+  TRACE2(TRACE_ERRLOG, 0, TRCID_MODULE_LOGASSERT_2,
+         "logAssertFailed: file %s line %d\n", srcFileName, srcLineNumber);
+#ifndef GPFS_PRINTF
+  /* fsync buffered lxtrace records */
+  trc_fsync();
+
+#ifdef STOP_TRACE_ON_FAILURE
+  /* Turn off tracing right after the failure occurs.  This may only turn
+     off tracing in the kernel. */
+  for (i=0 ; i<MAX_TRACE_CLASSES ; i++)
+    TraceFlagsP[i] = 0;
+#endif
+
+  /* Wait 10 seconds to allow the lxtrace daemon to complete the sync. */
+  cxiSleep(10000);
+#endif
+  gpfs_ops.gpfsDaemonToDie(srcFileName, srcLineNumber, retCode, reasonCode,
+                           dataStr, failingExpr);
+
+  DoPanic(failingExpr, srcFileName, srcLineNumber, retCode, reasonCode,
+          dataStr);
+}
+#else /* !MODULE */
+void
+logAssertFailed(UInt32 flags,
+                char  *srcFileName,
+                UInt32 srcLineNumber,
+                Int32  retCode,
+                Int32  reasonCode,
+                UInt32 logRecTag,
+                char  *dataStr,
+                char  *failingExpr);
+#endif /* MODULE */
+
+
+typedef struct cxiWaitElement_t
+{
+  cxiWaitList_t waitList;  /* previous and next element in chain */
+
+  /* Linux would normally organize a wait_queue_head_t with any number
+   * of wait_queue_t elements.  However since we're implementing "wakeup
+   * with return code" we have to ensure the OS wakes up the exact sleeper
+   * we want.  Thus we have only a one to one relationship to ensure the
+   * OS can only pick our favorite.
+   */
+  wait_queue_head_t qhead;
+  wait_queue_t qwaiter;
+  int wakeupRC;            /* wakeup return code */
+
+} cxiWaitElement_t;
+
+
+#define CXI_WAIT_LIST_ADD(headP, elementP) \
+   (headP)->prevP->nextP = (elementP); \
+   (elementP)->prevP = (headP)->prevP; \
+   (headP)->prevP = (elementP);        \
+   (elementP)->nextP = (headP);
+
+#define CXI_WAIT_LIST_REMOVE(elementP) \
+   (elementP)->prevP->nextP = (elementP)->nextP; \
+   (elementP)->nextP->prevP = (elementP)->prevP;
+
+
+/* Initialize abstract wait event with OS specific
+ * initialization function
+ */
+void
+cxiWaitEventInit(cxiWaitEvent_t *weP)
+{
+  spinlock_t *lockP = (spinlock_t *)&weP->lword;
+
+  spin_lock_init(lockP);
+  weP->waitList.nextP = weP->waitList.prevP = &weP->waitList;
+}
+
+Boolean
+cxiWaitEventHasWaiters(cxiWaitEvent_t *weP)
+{
+  unsigned long flags;
+  spinlock_t *lockP = (spinlock_t *)(weP->lword);
+  Boolean rc;
+
+  SPIN_LOCK_IRQ(lockP, flags);
+  rc = (weP->waitList.nextP != &weP->waitList);
+  SPIN_UNLOCK_IRQ(lockP, flags);
+  return rc;
+}
+
+/* Do not add trace records.  Some callers depend on not being
+ * interrupted by the trace daemon.
+ */
+enum WakeType { wBroadcast, wSignal, wWakeOne };
+static inline void
+doWakeup(cxiWaitEvent_t *wEventP, enum WakeType wtype, int wakeupRC)
+{
+  unsigned long flags;
+  spinlock_t *lockP = (spinlock_t *)(wEventP->lword);
+  cxiWaitList_t *headP;
+  cxiWaitList_t *tmpP;
+  cxiWaitElement_t *wP;
+
+  SPIN_LOCK_IRQ(lockP, flags);
+
+  /* We wake up from the front back (FIFO semantics).
+   * There's only one wait element per wake_queue_head_t so
+   * record the return code and wake up the one element.
+   */
+  headP = &wEventP->waitList;
+
+  for (tmpP = headP->nextP; tmpP != headP; tmpP = tmpP->nextP)
+  {
+    wP = list_entry(tmpP, cxiWaitElement_t, waitList);
+    wP->wakeupRC = wakeupRC;
+
+    wake_up(&wP->qhead);
+    if (wtype != wBroadcast)
+    {
+      /* The difference between wSignal and wWakeOne is that the latter
+         guarantees that multiple wake up calls will each pick a different
+         thread if more than one is waiting.  With wSignal, if a thread is
+         awakened but hasn't had a chance to run, then subsequent wake up
+         calls might all wake the same thread.
+
+         On AIX, the calling routine (e_wakeup_one) removes the waiter from
+         the queue, unlike Linux where removal is done by the waiting
+         thread when it wakes up.  Nothing special has to be done on AIX to
+         get the nWakeOne style of wakeup. 
+
+         Note:  This is an inline routine and the wType argument is a
+         compile-time constant, so the "if" tests in this routine are done
+         by the compiler and do not generate any code. */
+
+      if (wtype == wWakeOne)
+      {
+        /* Move this entry to tail of list so that the next wakeup call will
+           pick somebody else. */
+        CXI_WAIT_LIST_REMOVE(tmpP);
+        CXI_WAIT_LIST_ADD(headP, tmpP);
+      }
+      break;
+    }
+  }
+  SPIN_UNLOCK_IRQ(lockP, flags);
+}
+
+int
+cxiCopyIn(char *from, char *to, unsigned long size)
+{
+  /* The daemon needs to bypass access checks since copy to 
+   * shared segment would inadvertantly fail.
+   */
+  ENTER(0);
+  if (PROCESS_GROUP(current) == DaemonPGrp)
+    __copy_from_user(to, from, size);
+  else 
+    if (copy_from_user(to, from, size))
+    {
+      EXIT_RC(0, EFAULT);
+      return EFAULT;
+    }
+  EXIT(0);
+  return 0;
+}
+
+int
+cxiCopyOut(char *from, char *to, unsigned long size)
+{
+  int ignore;
+  /* The daemon needs to bypass access checks since copy to 
+   * shared segment would inadvertantly fail.
+   */
+  ENTER(0);
+  if (PROCESS_GROUP(current) == DaemonPGrp)
+    ignore = __copy_to_user(to, from, size);
+  else
+    if (copy_to_user(to, from, size))
+    {
+      EXIT_RC(0, EFAULT);
+      return EFAULT;
+    }
+  EXIT(0);
+  return 0;
+}
+
+int
+cxiCopyInstr(char *from, char *to, unsigned long size, unsigned long *len)
+{
+  long retval;
+
+  ENTER(0);
+  retval = strncpy_from_user(to, from, size);
+  if ((retval > 0) && (retval <= size))
+  {
+    *len = retval;
+    EXIT(0);
+    return 0;
+  }
+  *len = 0;
+  if (retval < 0)
+    retval = EFAULT;
+  else
+    retval = E2BIG;
+  EXIT_RC(0, retval);
+  return (int)retval;
+}
+
+long cxiSafeGetLong(long* from)
+{
+#if LINUX_KERNEL_VERSION >= 2060000
+  long tmp;
+  (void)__get_user_nocheck(tmp, from, sizeof(long));
+  return tmp;
+#else
+  return *from;
+#endif
+}
+
+int cxiSafeGetInt(int* from)
+{
+#if LINUX_KERNEL_VERSION >= 2060000
+  int tmp;
+  __get_user_nocheck(tmp, from, sizeof(int));
+  return tmp;
+#else
+  return *from;
+#endif
+}
+
+void cxiSafePutLong(long val, long* to)
+{
+#if LINUX_KERNEL_VERSION >= 2060000
+  __put_user_nocheck(val, to, sizeof(long));
+#else
+  *to = val;
+#endif
+}
+
+void cxiSafePutInt(int val, int* to)
+{
+#if LINUX_KERNEL_VERSION >= 2060000
+  __put_user_nocheck(val, to, sizeof(int));
+#else
+  *to = val;
+#endif
+}
+
+#ifdef GPFS_ARCH_X86_64
+/* Check if 64-bit user process */
+int
+cxiIS64U(char *addr)
+{
+#if LINUX_KERNEL_VERSION > 2060500
+  return !(test_thread_flag(TIF_IA32));
+#else
+  return !(current->thread.flags & THREAD_IA32);
+#endif
+}
+#endif
+
+int 
+socket_aio_dequeue()
+{
+  return -1;
+}
+
+/* Transfer data from buffer(s) in user space to or from a buffer in the
+   kernel. */
+int
+cxiUiomove(register char* kBufP,          /* address of kernel buffer */
+           register unsigned long nBytes, /* #bytes to transfer */
+           Boolean toKernel,              /* direction of xfer(read/write)*/
+           register struct cxiUio_t* uioP) /* user area description */
+{
+  register struct cxiIovec_t * iovP;
+  unsigned long cnt;
+  int rc;
+#ifdef TRACE_IO_DATA
+  char* origKBufP = kBufP;
+  int trcdata[4];
+#endif
+  int ignore;
+
+  ENTER(0);
+  TRACE4(TRACE_FOPS, 6, TRCID_CXISYSTEM_037,
+         "cxiUiomove enter: kBufP 0x%lX uioP 0x%lX nBytes %d toKernel %d\n",
+         kBufP, uioP, nBytes, toKernel);
+  if (uioP->uio_resid <= 0)
+  {
+    EXIT_RC(0, ENOMEM);
+    return ENOMEM;
+  }
+  rc = 0;
+  if (uioP->uio_iovcnt == 1)
+  {
+    /*
+     * Fastpath for most common case of iovcnt == 1.  Saves a
+     * few instructions.
+     */
+    iovP = uioP->uio_iov;
+    cnt = iovP->iov_len;
+    if (cnt <= 0)
+    {
+      uioP->uio_iovcnt--;
+      uioP->uio_iov++;
+      uioP->uio_iovdcnt++;
+      EXIT(0);
+      return 0;
+    }
+    if (cnt > nBytes)
+      cnt = nBytes;
+
+    if (toKernel)
+    {
+      /* The daemon needs to bypass access checks since copy to 
+       * shared segment would inadvertantly fail.  Copies to 
+       * kernel address space also perform no validity check.
+       */
+      if (PROCESS_GROUP(current) == DaemonPGrp || uioP->uio_segflg == UIO_SYSSPACE)
+        __copy_from_user(kBufP, (char *)iovP->iov_base, cnt);
+      else
+        if (copy_from_user(kBufP, (char *)iovP->iov_base, cnt))
+        {
+          EXIT_RC(0, EFAULT);
+          return EFAULT;
+        }
+    }
+    else
+    {
+      int spam;
+      /* The daemon needs to bypass access checks since copy to 
+       * shared segment would inadvertantly fail.  Copies to 
+       * kernel address space also perform no validity check.
+       */
+      if (PROCESS_GROUP(current) == DaemonPGrp || uioP->uio_segflg == UIO_SYSSPACE)
+        ignore = __copy_to_user((char *)iovP->iov_base, kBufP, cnt);
+      else
+        if (copy_to_user((char *)iovP->iov_base, kBufP, cnt))
+        {
+          EXIT_RC(0, EFAULT);
+          return EFAULT;
+        }
+    }
+
+    iovP->iov_base = (char *)iovP->iov_base + cnt;
+    iovP->iov_len -= cnt;
+    uioP->uio_resid -= cnt;
+    uioP->uio_offset += cnt;
+#ifdef TRACE_IO_DATA
+    if (cnt >= sizeof(trcdata))
+      memcpy(trcdata, origKBufP, sizeof(trcdata));
+    else
+    {
+      memset(trcdata, 0xAA, sizeof(trcdata));
+      memcpy(trcdata, origKBufP, cnt);
+    }
+    TRACE5(TRACE_FOPS, 7, TRCID_CXISYSTEM_039a,
+           "uiomove exit 1: rc %d data %08X %08X %08X %08X\n",
+           rc, trcdata[0], trcdata[1], trcdata[2], trcdata[3]);
+#else
+    TRACE1(TRACE_FOPS, 7, TRCID_CXISYSTEM_039,
+           "uiomove exit 1: rc %d\n",
+           rc);
+#endif
+    EXIT_RC(0, rc);
+    return rc;
+  }
+  while (nBytes > 0 && uioP->uio_resid && rc == 0)
+  {
+    if (uioP->uio_iovcnt <= 0)
+    {
+      EXIT_RC(0, ENOMEM);
+      return ENOMEM;
+    }
+    iovP = uioP->uio_iov;
+    cnt = iovP->iov_len;
+    if (cnt <= 0)
+    {
+      uioP->uio_iovcnt--;
+      uioP->uio_iov++;
+      uioP->uio_iovdcnt++;
+      continue;
+    }
+    if (cnt > nBytes)
+      cnt = nBytes;
+
+    if (toKernel)
+    {
+      /* The daemon needs to bypass access checks since copy to 
+       * shared segment would inadvertantly fail.  Copies to 
+       * kernel address space also perform no validity check.
+       */
+      if (PROCESS_GROUP(current) == DaemonPGrp || uioP->uio_segflg == UIO_SYSSPACE)
+        __copy_from_user(kBufP, (char *)iovP->iov_base, cnt);
+      else 
+        if (copy_from_user(kBufP, (char *)iovP->iov_base, cnt))
+        {
+          EXIT_RC(0, EFAULT);
+          return EFAULT;
+        }
+    }
+    else
+    {
+      /* The daemon needs to bypass access checks since copy to 
+       * shared segment would inadvertantly fail.  Copies to 
+       * kernel address space also perform no validity check.
+       */
+      if (PROCESS_GROUP(current) == DaemonPGrp || uioP->uio_segflg == UIO_SYSSPACE)
+        ignore = __copy_to_user((char *)iovP->iov_base, kBufP, cnt);
+      else 
+        if (copy_to_user((char *)iovP->iov_base, kBufP, cnt))
+        {
+          EXIT_RC(0, EFAULT);
+          return EFAULT;
+        }
+    }
+    iovP->iov_base = (char *)iovP->iov_base + cnt;
+    iovP->iov_len -= cnt;
+    uioP->uio_resid -= cnt;
+    uioP->uio_offset += cnt;
+    kBufP += cnt;
+    nBytes -= cnt;
+  }
+#ifdef TRACE_IO_DATA
+  cnt = kBufP - origKBufP;
+  if (cnt >= sizeof(trcdata))
+    memcpy(trcdata, origKBufP, sizeof(trcdata));
+  else
+  {
+    memset(trcdata, 0xAA, sizeof(trcdata));
+    memcpy(trcdata, origKBufP, cnt);
+  }
+  TRACE5(TRACE_FOPS, 7, TRCID_CXISYSTEM_041a,
+         "uiomove exit 2: rc %d data %08X %08X %08X %08X\n",
+         rc, trcdata[0], trcdata[1], trcdata[2], trcdata[3]);
+#else
+  TRACE1(TRACE_FOPS, 7, TRCID_CXISYSTEM_041,
+         "uiomove exit 2: rc %d\n",
+         rc);
+#endif
+  EXIT_RC(0, rc);
+  return rc;
+}
+
+/*
+  Try to force some sanity checks at compile type
+ */
+/* TO DO: revise this to handle comparisons beyond equality/inequality */
+/* STATIC_DBGASSERT(sizeof(spinlock_t), SPINLOCK_T_SIZE); */
+
+/* A routine to check that the definitions in our cxiTypes.h
+ * files are equivalent to the system definitions.  The module
+ * should not load if it receives an error from this routine.
+ */
+int
+cxiCheckTypes()
+{
+  int rc = 0;
+  ENTER(0);
+
+  /* Make sure cxiBlockingMutex_t fits in the space provided.  If not,
+     the implementation of the cxiBlockingMutex... routines needs to
+     use the embedded space to record a pointer to kmalloc'ed space holding
+     the semaphore. */
+  if (sizeof(struct semaphore) > GPFS_LINUX_SEM_SIZE)
+  {
+    printk("cxiCheckTypes: semaphore %ld > GPFS_LINUX_SEM_SIZE %ld\n",
+           sizeof(struct semaphore), GPFS_LINUX_SEM_SIZE);
+    rc = 1;
+  }
+
+  /* Size of spinlock_t is smaller for UP case with gcc 3.x, so just
+     insure SPINLOCK_T_SIZE is large enough for both the UP and SMP case. */
+  if (sizeof(spinlock_t) > SPINLOCK_T_SIZE)
+  {
+    printk("cxiCheckTypes: spinlock_t %ld > SPINLOCK_T__SIZE %ld\n",
+           sizeof(spinlock_t), SPINLOCK_T_SIZE);
+    rc = 2;
+  }
+
+  /* Ensure that size of pid_t matches cxiThreadId (32-bits) */
+  if (sizeof(pid_t) != sizeof(cxiThreadId))
+  {
+    printk("cxiCheckTypes: pid_t %ld != cxiThreadId %ld\n",
+           sizeof(pid_t), sizeof(cxiThreadId));
+    rc = 3;
+  }
+
+  if (rc > 0)
+    TRACE1(TRACE_TASKING, 2, TRCID_CXISYSTEM_CHKTYPES,
+           "cxiCheckTypes: system type mismatch on type number %d!\n", rc);
+  EXIT_RC(0, rc);
+  return rc;
+}
+
+/* Routine to get current time of day in nanosecond format.
+ */
+int
+cxiGetTOD(cxiTimeStruc_t *tsP)
+{
+#if LINUX_KERNEL_VERSION >= 2060000
+  struct timespec ts;
+#else
+  struct timeval tv;
+#endif
+
+  ENTER(0);
+#if LINUX_KERNEL_VERSION >= 2060000
+  ts = CURRENT_TIME;
+  tsP->tv_sec = ts.tv_sec;
+  tsP->tv_nsec = ts.tv_nsec;
+#else
+  /* This call returns microseconds so we fudge it to nanoseconds */
+  do_gettimeofday(&tv);
+  tsP->tv_sec = tv.tv_sec;
+  tsP->tv_nsec = tv.tv_usec * 1000;
+#endif
+
+  EXIT(0);
+  return 0;
+}
+
+Boolean
+cxiIsNFSThread()
+{
+# if defined(GPFS_LITTLE_ENDIAN) && !defined(__64BIT__)
+    /* Note comparison against a multibyte character constant (not a string
+      constant).  Order of characters in word is reversed due to little-
+      endian representation of integers. */
+    if (* ((int*)&current->comm[0]) != 0x6473666e) // 'dsfn'
+       return false;
+    if (* ((char*)&current->comm[4]) == '\0')
+       return true;
+    return (* ((int*)&current->comm[2]) == 0x00346473);  // '4ds'
+# else
+    if ((strcmp(current->comm, "nfsd") == 0) ||
+        (strcmp(current->comm, "nfsd4") == 0))
+      return true;
+    return false;
+# endif
+}
+
+Boolean
+cxiIsLockdThread()
+{
+# if defined(GPFS_LITTLE_ENDIAN) && !defined(__64BIT__)
+    /* Note comparison against a multibyte character constant (not a string
+      constant).  Order of characters in word is reversed due to little-
+      endian representation of integers. */
+    if ((* ((int*)&current->comm[0]) != 0x6b636f6c) |  // 'kcol'
+        (* ((int*)&current->comm[2]) != 0x00646b63));  // ' dkc'
+       return false;
+    return * ((char*)&current->comm[5]) == '\0';
+# else
+    return (strcmp(current->comm, "lockd") == 0);
+# endif
+}
+
+Boolean
+cxiIsNFS4Thread()
+{
+# if defined(GPFS_LITTLE_ENDIAN) && !defined(__64BIT__)
+    /* Note comparison against a multibyte character constant (not a string
+      constant).  Order of characters in word is reversed due to little-
+      endian representation of integers. */
+    if ((* ((int*)&current->comm[0]) != 0x6473666e) |  // 'dsfn'
+        (* ((int*)&current->comm[2]) != 0x00346473));  // '4ds'
+       return false;
+    return * ((char*)&current->comm[5]) == '\0';
+# else
+    return (strcmp(current->comm, "nfsd4") == 0);
+# endif
+}
+
+Boolean
+cxiIsKupdateThread()
+{
+#if LINUX_KERNEL_VERSION >= 2060000
+  /* In 2.6 pdflush replaced kupdated and bdflush from 2.4 */
+  return current_is_pdflush();
+#else
+  return (strcmp(current->comm, "kupdated") == 0);
+#endif
+}
+
+#ifdef SMB_LOCKS
+Boolean
+cxiIsSambaOrLockdThread()
+{
+# if defined(GPFS_LITTLE_ENDIAN) && !defined(__64BIT__)
+    /* Note comparison against a multibyte character constant (not a string
+      constant).  Order of characters in word is reversed due to little-
+      endian representation of integers. */
+    Boolean rc = (((* ((int*)&current->comm[0]) == 0x64626d73) &   // 'dbms'
+                   (* ((char*)&current->comm[4]) == '\0'))    |
+                  ((* ((int*)&current->comm[0]) == 0x6b636f6c) &   // 'kcol'
+                   (* ((int*)&current->comm[2]) == 0x00646b63)));  // 'dkc'
+       return rc;
+# else
+    return ((strcmp(current->comm, "smbd") == 0) |
+            (strcmp(current->comm, "lockd") == 0));
+# endif
+}
+
+Boolean
+cxiIsSambaThread()
+{
+# if defined(GPFS_LITTLE_ENDIAN) && !defined(__64BIT__)
+    /* Note comparison against a multibyte character constant (not a string
+      constant).  Order of characters in word is reversed due to little-
+      endian representation of integers. */
+    Boolean rc = ((* ((int*)&current->comm[0]) == 0x64626d73) &  // 'dbms'
+                  (* ((char*)&current->comm[4]) == '\0'));
+       return rc;
+# else
+    return (strcmp(current->comm, "smbd") == 0);
+# endif
+}
+#endif
+
+Boolean
+cxiIsGPFSThread()
+{
+# if defined(GPFS_LITTLE_ENDIAN) && !defined(__64BIT__)
+  return (((* ((int*)&current->comm[0]) == 0x73666d6d) &  // 'sfmm'
+           (* ((int*)&current->comm[2]) == 0x00647366))); // 'dsf'
+# else
+  return (strcmp(current->comm, "mmfsd") == 0);
+# endif
+}
+
+Boolean
+cxiIsKswapdThread()
+{
+#if LINUX_KERNEL_VERSION > 2060000
+  /* On 2.6, there may be multiple kswapd processes, named kswapd0, kswapd1,
+   * etc.  We don't have to depend on the process name to identify kswapd
+   * processes on 2.6 though, there's a better way. */
+  return current_is_kswapd();
+#else
+# if defined(GPFS_LITTLE_ENDIAN) && !defined(__64BIT__)
+  return ((* ((int*)&current->comm[0]) == 0x6177736b) &  // 'awsk'
+          (* ((int*)&current->comm[3]) == 0x00647061));  // ' dpa'
+# else
+  return (strcmp(current->comm, "kswapd") == 0);
+# endif
+#endif
+}
+
+#ifdef INSTRUMENT_LOCKS
+void InitBlockingMutexStats()
+{
+  memset(BlockingMutexStatsTable, 0, sizeof(BlockingMutexStatsTable));
+}
+#endif
+
+/* Initialize a cxiBlockingMutex_t.  Instead of the DBGASSERT, this routine
+   should kmalloc a struct semaphore if bmSem is too small.  */
+void cxiBlockingMutexInit(cxiBlockingMutex_t* mP, int bmNameIdx)
+{
+  ENTER(0);
+  DBGASSERT(sizeof(struct semaphore) <= GPFS_LINUX_SEM_SIZE);
+#ifdef INSTRUMENT_LOCKS
+  DBGASSERT(bmNameIdx < MAX_GPFS_LOCK_NAMES);
+#endif  /* INSTRUMENT_LOCKS */
+
+  TRACE2(TRACE_KLOCKL, 3, TRCID_BM_INIT,
+         "cxiBlockingMutexInit: mP 0x%lX idx %d\n",
+         mP, bmNameIdx);
+  init_MUTEX((struct semaphore *)mP->bmSem);
+  mP->bmOwnerP = NULL;
+  mP->lockNameIndex = bmNameIdx;
+  EXIT(0);
+}
+
+
+/* Enter critical section, blocking this thread if necessary.  Mark this
+   thread as the owner of the mutex before returning. */
+void 
+REGPARMS cxiBlockingMutexAcquire(cxiBlockingMutex_t* mP)
+{
+  ENTER(1);
+  TRACE4(TRACE_KLOCKL, 9, TRCID_BM_ACQ,
+         "cxiBlockingMutexAcquire: about to acquire 0x%lX type %d "
+         "current 0x%lX currentOwner 0x%lX\n",
+         mP, mP->lockNameIndex, current, mP->bmOwnerP);
+
+  DBGASSERTRC(mP->bmOwnerP != (char *)current, 
+              PTR_TO_INT32(mP->bmOwnerP), PTR_TO_INT32(mP), 0);
+
+#ifdef INSTRUMENT_LOCKS
+  BlockingMutexStatsTable[mP->lockNameIndex].bmsAcquires += 1;
+  if (mP->bmOwnerP != NULL)
+    BlockingMutexStatsTable[mP->lockNameIndex].bmsConflicts += 1;
+#endif
+
+  down((struct semaphore *)mP->bmSem);
+  mP->bmOwnerP = (char *)current;
+
+  TRACE1(TRACE_KLOCKL, 9, TRCID_BM_ACQ_EXIT,
+         "cxiBlockingMutexAcquire: returning after acquiring 0x%lX\n", mP);
+  EXIT(1);
+}
+
+
+/* Leave critical section and awaken waiting threads */
+void 
+REGPARMS cxiBlockingMutexRelease(cxiBlockingMutex_t* mP)
+{
+  ENTER(1);
+  TRACE4(TRACE_KLOCKL, 9, TRCID_BM_REL,
+         "cxiBlockingMutexRelease: about to release 0x%lX type %d "
+         "current 0x%lX currentOwner 0x%lX\n",
+         mP, mP->lockNameIndex,current, mP->bmOwnerP);
+
+  if (mP->bmOwnerP == (char *)current)
+  {
+     mP->bmOwnerP = NULL;
+     up((struct semaphore *)mP->bmSem);
+  }
+  EXIT(1);
+}
+
+/* Free resources associated with this cxiBlockingMutex_t in preparation
+   for freeing the storage it occupies */
+void cxiBlockingMutexTerm(cxiBlockingMutex_t* mP)
+{
+  ENTER(0);
+  TRACE2(TRACE_KLOCKL, 3, TRCID_BM_TERM,
+         "cxiBlockingMutexTerm: mP 0x%lX type %d\n", mP, mP->lockNameIndex);
+
+  /* Verify that mutex is not held */
+  DBGASSERT(mP->bmOwnerP == NULL);
+  DBGASSERT(atomic_read(&((struct semaphore *)mP->bmSem)->count) == 1);
+  EXIT(0);
+}
+
+
+/* Return true if a cxiBlockingMutex_t is held by the calling process */
+Boolean 
+cxiBlockingMutexHeldByCaller(cxiBlockingMutex_t* mP)
+{
+  Boolean result;
+  char* ownerP;
+  cxiPid_t ownerPid;
+
+  /* Cache bmOwnerP is case it changes to NULL */
+  ENTER(0);
+  ownerP = mP->bmOwnerP;
+  if (ownerP == NULL)
+    result = false;
+  else
+  {
+    cxiThreadPtrToThreadId(ownerP, &ownerPid);
+    result = (current->pid == ownerPid);
+  }
+  TRACE2(TRACE_KLOCKL, 9, TRCID_CXISYSTEM_017,
+         "cxiBlockingMutexHeldByCaller: owner 0x%lX returns %d\n",
+         ownerP, result);
+  EXIT_RC(0, result);
+  return result;
+}
+
+
+/* Return true if a cxiBlockingMutex_t has one or more processes waiting
+   on it */
+Boolean cxiBlockingMutexHasWaiters(cxiBlockingMutex_t* mP)
+{
+  struct semaphore * semP = (struct semaphore *)mP->bmSem;
+  Boolean result;
+
+  ENTER(0);
+  if ((void*)semP->wait.task_list.next != (void*)&semP->wait.task_list.next)
+    result = true;
+  else
+    result = false;
+  TRACE2(TRACE_KLOCKL, 9, TRCID_CXISYSTEM_018,
+         "cxiBlockingMutexHasWaiters: mP 0x%lX hasWaiters %d\n",
+         mP, result);
+  EXIT_RC(0, result);
+  return result;
+}
+
+
+/* Wait for a cxiWaitEventSignal, cxiWaitEventBroadcast, or
+   cxiWaitEventBroadcastRC.  Drop the associated cxiBlockingMutex_t
+   *mutexP while waiting, and reacquire it before returning.
+   If INTERRUPTIBLE is set in waitFlags, waits interruptibly;
+   otherwise, waits uninterruptibly.
+     Returns THREAD_INTERRUPTED if interrupted before being woken up,
+   THREAD_AWAKENED, if woken up by cxiWaitEventSignal or
+   cxiWaitEventBroadcast, or the result value passed to
+   cxiWaitEventWakeupResult, if woken up by cxiWaitEventWakeupResult. */
+int cxiWaitEventWait(cxiWaitEvent_t* weP, cxiBlockingMutex_t* mutexP,
+                     int waitFlags)
+{
+  spinlock_t *lockP = (spinlock_t *)(weP->lword);
+  unsigned long flags;
+  cxiWaitElement_t waitElement;
+  int count = 0;
+  Boolean done;
+
+  ENTER(0);
+  TRACE3(TRACE_KLOCKL, 3, TRCID_CXISYSTEM_EVENT_WAIT_ENTER,
+         "cxiWaitEventWait enter: weP 0x%lX waitFlags 0x%X about to release "
+         "mutex 0x%lX \n", weP, waitFlags, mutexP);
+
+  /* Verify that caller is holding the mutex */
+  DBGASSERTRC(mutexP->bmOwnerP == (char *)current, 
+              PTR_TO_INT32(mutexP->bmOwnerP), PTR_TO_INT32(mutexP), 0);
+
+  /* initialize our wait element */
+  init_waitqueue_head(&waitElement.qhead);
+  init_waitqueue_entry(&waitElement.qwaiter, current);
+  __add_wait_queue(&waitElement.qhead, &waitElement.qwaiter);
+  waitElement.wakeupRC = 0;
+
+  /* update our task state to not running any more */
+  if (waitFlags & INTERRUPTIBLE)
+    current->state = TASK_INTERRUPTIBLE;
+  else
+    current->state = TASK_UNINTERRUPTIBLE;
+
+  /* add our wait element to the end of the wait list */
+  SPIN_LOCK_IRQ(lockP, flags);
+
+  CXI_WAIT_LIST_ADD(&weP->waitList, &waitElement.waitList);
+
+  SPIN_UNLOCK_IRQ(lockP, flags);
+
+  /* Release the mutex.  Note: calling cxiBlockingMutexRelease here is
+     problematic, because it makes trace calls, which may block the current
+     process, which would overwrite the task state (current->state) we just
+     updated.  A way around this would be to move out task state update to
+     after the call to cxiBlockingMutexRelease, but then, before calling
+     schedule(), we would have to re-acquire the wait-list lock and check
+     wakeupRC to see whether somebody has already woken us up since we
+     released the mutex.  Since there is a trace at the top of this routine,
+     we don't need the one in cxiBlockingMutexRelease; hence, just do the
+     release right here. */
+  mutexP->bmOwnerP = NULL;
+  up((struct semaphore *)mutexP->bmSem);
+
+again:
+  /* call the scheduler */
+  schedule();
+
+  /* Remove ourself from the wait list ... except:
+     Even though we may enter uninterrubtible sleep, this sleep can in
+     fact be interrupted in at least two scenarios:
+     1) page_alloc code may call wakeup_kswapd().  This should be 
+        a very rare event with the current code, since we make an effort
+        to avoid blocking kswapd.
+     2) While signals are supposed to be ignored during uninterruptible
+        sleep, it turns out that some signals, e.g. SIGSEGV and SIGBUS, 
+        cause us to wake up.  It doesn't look like the signal has been
+        delivered yet, but sleep is interrupted.  The signal will be
+        delivered later (probably when exiting kernel).
+     Our callers can't handle unexpected return from uninterruptible
+     sleep.  In either of the two cases above, it should be safe to go
+     back to sleep and wait to be woken up properly.
+   */
+  SPIN_LOCK_IRQ(lockP, flags);
+
+  if (waitElement.wakeupRC == 0 &&
+      !(waitFlags & INTERRUPTIBLE))
+  {
+    TRACE3N(TRACE_KLOCKL, 1, TRCID_CXISYSTEM_EVENT_WAIT_INTERRUPTED,
+            "cxiWaitEventWait: interrupted weP 0x%lX mutexP 0x%lX rc %d\n",
+            weP, mutexP, waitElement.wakeupRC);
+    current->state = TASK_UNINTERRUPTIBLE;
+    done = false;
+  }
+  else
+  {
+    CXI_WAIT_LIST_REMOVE(&waitElement.waitList);
+    done = true;
+  }
+
+  SPIN_UNLOCK_IRQ(lockP, flags);
+
+  if (!done)
+    goto again;
+
+  /* re-acquire the mutex */
+  cxiBlockingMutexAcquire(mutexP);
+
+  TRACE3(TRACE_KLOCKL, 9, TRCID_CXISYSTEM_EVENT_WAIT_EXIT,
+         "cxiWaitEventWait exit: weP 0x%lX mutexP 0x%lX rc %d\n",
+         weP, mutexP, waitElement.wakeupRC);
+
+  /* A zero wakeup code means we were interrupted rather than woken up */
+  EXIT(0);
+  if (waitElement.wakeupRC != 0)
+    return waitElement.wakeupRC;
+  else
+    return THREAD_INTERRUPTED;
+}
+
+/* Wake up one thread waiting on this cxiWaitEvent_t.  Must not sleep */
+void
+cxiWaitEventSignal(cxiWaitEvent_t* weP)
+{
+  /* ENTER(0); */
+  TRACE1N(TRACE_KLOCKL, 3, TRCID_CXISYSTEM_SIGNAL,
+         "cxiWaitEventSignal: weP 0x%lX\n", weP);
+
+  doWakeup(weP, wSignal, THREAD_AWAKENED); /* wake up one */
+  /* EXIT(0); */
+}
+
+
+/* Wake up one thread waiting on this cxiWaitEvent_t.  This is the same as
+   cxiWaitEventSignal(), except this routine guarantees that multiple wake
+   up calls will each pick a different thread if more than one is waiting. */
+void
+cxiWaitEventWakeupOne(cxiWaitEvent_t* weP)
+{
+  ENTER(0);
+  TRACE1(TRACE_KLOCKL, 3, TRCID_CXISYSTEM_WAKEUP_ONE,
+         "cxiWaitEventWakeupOne: weP 0x%lX\n", weP);
+
+  doWakeup(weP, wWakeOne, THREAD_AWAKENED); /* wake up one */
+  EXIT(0);
+}
+
+
+/* Wake up all threads waiting on this cxiWaitEvent_t */
+void
+cxiWaitEventBroadcast(cxiWaitEvent_t* weP)
+{
+  ENTER(0);
+  TRACE1(TRACE_KLOCKL, 3, TRCID_CXISYSTEM_BROADCAST,
+         "cxiWaitEventBroadcastRC: weP 0x%lX\n", weP);
+
+  doWakeup(weP, wBroadcast, THREAD_AWAKENED); /* wake up all */
+  EXIT(0);
+}
+
+
+/* Wake up all threads waiting on this cxiWaitEvent_t and cause them to
+   return rc from their cxiWaitEventWait calls. */
+void
+cxiWaitEventBroadcastRC(cxiWaitEvent_t* weP, int rc)
+{
+  ENTER(0);
+  TRACE2(TRACE_KLOCKL, 3, TRCID_CXISYSTEM_BROADCAST_RC,
+         "cxiWaitEventBroadcastRC: weP 0x%lX rc %d\n", weP, rc);
+
+  doWakeup(weP, wBroadcast, rc);  /* wake up all */
+  EXIT_RC(0, rc);
+}
+
+/* alloc big memory area */
+void *
+cxiBigMalloc(int size)
+{
+  void *ptr;
+
+  ENTER(0);
+  ptr = vmalloc(size);
+
+#ifdef MALLOC_DEBUG
+  MallocDebugNew(ptr, size, 2);
+#endif
+
+  EXIT(0);
+  return ptr;
+}
+
+/* free big memory area */
+void
+cxiBigFree(char *ptr)
+{
+  ENTER(0);
+#ifdef MALLOC_DEBUG
+  MallocDebugDelete(ptr);
+#endif
+
+  EXIT(0);
+  vfree(ptr);
+}
+
+#ifdef SMB_LOCKS
+/* Determine if current process has this file open */
+void *
+cxiCheckOpen(struct cxiNode_t* cnP)
+{
+  int count;
+  int i;
+  struct file** fdList;
+  struct file*  fileP;
+  struct inode* inodeP;
+
+  ENTER(0);
+#if LINUX_KERNEL_VERSION >= 2061300
+  count = current->files->fdt->max_fds;
+  fdList = current->files->fdt->fd;
+#else
+  count = current->files->max_fds;
+  fdList = current->files->fd;
+#endif
+  inodeP = GNP_TO_VP(cnP);
+
+  TRACE3(TRACE_VNODE,9,TRCID_CXICHECKOPEN_ENTRY,
+         "cxiCheckOpen: entry.  %d files in fd list. Checking for inode %d "
+         "at 0x%x", count, inodeP->i_ino, inodeP);
+
+  for (i=0; i<count; i++)
+  {
+    fileP = fdList[i];
+
+    if (fileP)
+    {
+      if (fdList[i]->f_dentry->d_inode == inodeP)
+      {
+        TRACE1(TRACE_VNODE, 9,TRCID_CXICHECKOPEN_FOUND,
+               "cxiCheckOpen: found open file. vinfoP 0x%x",
+               fileP->private_data);
+        EXIT(0);
+        return fileP->private_data;
+      }
+    }
+  }
+
+  EXIT(0);
+  return NULL;
+}
+
+int cxiBreakOplock(void *breakArgP, int oplockNew)
+{
+  /* On Linux, we use its kernel oplock support.  The get_lease()
+   * call is the operation to revoke conflicting leases.
+   */
+  int rc;
+  ENTER(0);
+
+  /* O_NONBLOCK: prevents the thread from waiting for the lease return.
+   * In the case of a Samba thread, we only want to get EWOULDBLOCK
+   * back if the conflict is held within Samba iteself. If a wait is 
+   * needed, breakSMBOplock will invoke cxiWaitForBreak.
+   */
+
+  /* Linux op to revoke conflicting leases */
+  rc = abs(REVOKE_LEASE((struct inode *)breakArgP, 
+                       (cxiIsSambaThread()? 0: O_NONBLOCK) |
+                       ((oplockNew==smbOplockShared)? FMODE_READ: FMODE_WRITE)));
+
+  TRACE3(TRACE_VNODE, 4,TRCID_CXIBREAKOPLOCK,
+         "cxiBreakOplock: exit rc %d inode 0x%lX oplock %d\n",
+          rc, breakArgP, oplockNew);
+
+  EXIT(0);
+  return rc;
+}
+
+DECLARE_WAIT_QUEUE_HEAD(oplock_break_queue);
+
+/* No initialization required on Linux */
+int cxiInitBreakQ() { return 0; }
+
+/* No initialization required on Linux */
+int cxiTermBreakQ() { return 0; }
+
+/* Send the notification that the oplock break completed */
+int cxiSendBreakMsg(void *ofP)
+{
+  ENTER(0);
+  /* There is only one oplock_break_queue, and no means to pass the ofP back to
+   * the waiters.  This will wake all of them up and they will recheck their
+   * oplock states and wait again if necessary (with a timeout).
+   */
+   wake_up_interruptible(&oplock_break_queue);
+
+  TRACE1(TRACE_SMB, 3, TRCID_SEND_BREAK, "cxiSendBreakMsg: ofP 0x%lX\n", ofP);
+  EXIT(0);
+  return 0;
+}
+
+/* Suspend the caller until either the oplock break completes, or the timeout 
+ * is reached.
+ */
+int cxiWaitForBreak(void *fileArgP, int oplockCurrent, int timeoutSeconds)
+{
+  DECLARE_WAITQUEUE(wait, current);
+  signed long timeout;
+
+  ENTER(0);
+  TRACE3(TRACE_SMB, 5, TRCID_BREAKWAIT,
+         "cxiWaitForBreak: file 0x%lX, oplockCurrent %d timeoutSeconds %d\n",
+         fileArgP, oplockCurrent, timeoutSeconds);
+
+  add_wait_queue(&oplock_break_queue, &wait);
+  timeout = timeoutSeconds * HZ;
+  while (timeout > 0) {
+    set_current_state(TASK_INTERRUPTIBLE);
+    /* Check whether the oplock has been released or downgraded */
+    if (gpfs_ops.SMBGetOplockState(fileArgP) < oplockCurrent)
+      break;
+    timeout = schedule_timeout(timeout);
+  }
+  set_current_state(TASK_RUNNING);
+  remove_wait_queue(&oplock_break_queue, &wait);
+
+  TRACE0(TRACE_SMB, 5, TRCID_BREAKWAIT_EXIT, 
+         "cxiWaitForBreak exit\n");
+
+  EXIT(0);
+  return 0;
+}
+#endif
+
+
+/* Get the address of the first byte not addressible by processes */
+UIntPtr cxiGetKernelBoundary()
+{
+  return GPFS_KERNEL_OFFSET;
+}
+
+
+/* Return true if this process holds the big kernel lock (BKL) */
+Boolean cxiHoldsBKL()
+{
+  return current->lock_depth >= 0;
+}
+
+
+/* Tell the OS that this thread is involved in handling VM page-out
+   requests and should not be blocked waiting for page allocation.
+   Return true if successful. */
+Boolean cxiSetPageoutThread()
+{
+  if (current->flags & PF_MEMALLOC)
+    return false;
+  current->flags |= PF_MEMALLOC;
+  return true;
+}
+
+
+/* Tell the OS that this thread is no longer involved in handling VM
+   page-out requests. */
+void cxiClearPageoutThread()
+{
+  current->flags &= ~PF_MEMALLOC;
+}
+
+
+/* Yield the CPU to allow other processes to run */
+void
+cxiYield()
+{
+  ENTER(0);
+  schedule();
+  EXIT(0);
+}
+
+/* Linux filldir has changed signatures depending on kernel level.
+ * We always pass a 64bit offset from the GPFS layer.
+ */
+int
+cxiFillDir(void *vargP, const char *nameP, int namelen, 
+           offset_t offset, ino_t ino)
+{
+  int result;
+  cxiFillDirArg_t *fillDirArgP = (cxiFillDirArg_t *)vargP;
+  filldir_t fnP = (filldir_t)fillDirArgP->fnP;
+  ENTER(0);
+
+  result = (*fnP)(fillDirArgP->argP, nameP, namelen,
+                  (loff_t)offset, ino, 0 /* DT_UNKNOWN */);
+  EXIT_RC(0, result);
+  return result;
+}
+
+#ifdef DISK_LEASE_DMS
+
+static struct timer_list DMSTimer[MAX_DMS_INDEX];
+static int (*DMSgetNIOsInProgressP)(int);
+
+#define PANIC_FOR_REAL 1
+
+static void cxiDMSExpired(unsigned long data)
+{
+  int idx = data;
+  int nIOs = DMSgetNIOsInProgressP(idx);
+  /* ENTER(0); */
+  /* This code is executed on the interrupt level -- can't use tracing */
+  printk("GPFS Deadman Switch timer [%d] has expired; IOs in progress: %d\n",
+         idx, nIOs);
+#ifdef PANIC_FOR_REAL
+  if (nIOs != 0)
+    panic("GPFS Deadman Switch timer has expired, and there are still"
+          " %d outstanding I/O requests\n", nIOs);
+#endif
+}
+
+/*
+  Start dead man switch, with the timeout specified by the delay
+  argument (in seconds).
+*/
+void cxiStartDMS(int idx, int delay, int (*funcP)(int))
+{
+  unsigned long njiffies = delay * HZ;
+
+  /* Only allow the daemon or other root users to make this kernel call */
+  if (!cxiIsSuperUser())
+    return;
+  ENTER(0);
+
+  /* There can be only one timer active at any given moment */
+  if (timer_pending(&DMSTimer[idx]))
+    del_timer(&DMSTimer[idx]);
+
+  init_timer(&DMSTimer[idx]);
+  DMSTimer[idx].expires = jiffies + njiffies;
+  DMSTimer[idx].function = cxiDMSExpired;
+  DMSTimer[idx].data = idx;
+  /* save the pointer to nIOsInProgress to a static var */
+  DMSgetNIOsInProgressP = funcP;
+  add_timer(&DMSTimer[idx]);
+  TRACE3(TRACE_DLEASE, 2, TRCID_DMS_STARTED,
+         "DMS timer [%d] started, delay %d, time %d\n",
+         idx, delay, jiffies/HZ);
+  EXIT(0);
+}
+
+void cxiStopDMS(int idx)
+{
+  /* Only allow the daemon or other root users to make this kernel call */
+  if (!cxiIsSuperUser())
+    return;
+  ENTER(0);
+
+  if (timer_pending(&DMSTimer[idx]))
+    del_timer(&DMSTimer[idx]);
+  TRACE2(TRACE_DLEASE, 2, TRCID_DMS_STOPPED,
+         "DMS timer [%d] stopped, time %d\n", idx, jiffies/HZ);
+  EXIT(0);
+}
+
+/* dummy init routine.  Since on Linux the timer is
+   stored in a static memory, there's nothing to be done
+*/
+int cxiInitDMS(void)
+{
+  return 0;
+}
+
+void cxiShutdownDMS(void)
+{
+  int i;
+
+  ENTER(0);
+  for (i = 0; i < MAX_DMS_INDEX; i++)
+    cxiStopDMS(i);
+  EXIT(0);
+}
+
+#endif /* DISK_LEASE_DMS */
+
+void cxiSetBit(unsigned long *flagP, int flag_bit)
+{
+   set_bit(flag_bit,flagP);
+}
+void cxiClearBit(unsigned long *flagP, int flag_bit)
+{
+   clear_bit(flag_bit,flagP);
+}
+Boolean cxiTestBit(unsigned long *flagP, int flag_bit)
+{
+   return test_bit(flag_bit,flagP);
+}
+
+/* In order to setup our termination callback routine (gpfs_f_cleanup)
+ * we create a dummy file and add it to our file table.  Then, upon
+ * process termination, the release file operation will be called in
+ * order to close the file.  The only operation we define for this
+ * dummy file is release (gpfs_f_cleanup). 
+ */
+int
+cxiRegisterCleanup()
+{
+  int code = 0, rc = 0;
+  struct inode *iP = NULL;
+  struct file *fileP = NULL;
+  struct dentry *dentryP = NULL;
+  extern int cleanupFD;
+  extern struct super_block *shutdownSuperP;
+
+  /* We record the daemon's process group because certain
+   * checks on cxiCopyIn/cxiCopyOut are bypassed for the daemon.
+   */
+  ENTER(0);
+  DaemonPGrp = PROCESS_GROUP(current);
+
+  /* Make sure we only create one file */
+  if (cleanupFD)
+  {
+    EXIT_RC(0, EEXIST);
+    return EEXIST;
+  }
+
+  DBGASSERT(shutdownSuperP != NULL);
+
+  /* Allocate an inode struct */
+  iP = NEW_INODE(shutdownSuperP);
+  if (!iP)
+  {
+    code = 1;
+    rc = ENOMEM;
+    goto xerror;
+  }
+  iP->i_mode = S_IFREG;
+
+  /* Allocate an available file descriptor */
+  cleanupFD = get_unused_fd();
+  if (cleanupFD < 0)
+  {
+    code = 2;
+    rc = ENFILE;
+    goto xerror;
+  }
+
+  /* Allocate a file struct */
+  fileP = get_empty_filp();
+  if (!fileP)
+  {
+    code = 3;
+    rc = ENFILE;
+    goto xerror;
+  }
+
+  /* Allocate a dentry sruct */
+  dentryP = dget(d_alloc_root(iP));
+  if (!dentryP)
+  {
+    code = 4;
+    rc = ENOMEM;
+    goto xerror;
+  }
+
+  /* Initialize and chain our file sructure */
+  fileP->f_dentry = dentryP;
+  fileP->f_op     = &gpfs_cleanup_fops;
+  fileP->f_flags  = O_RDONLY;
+  atomic_set(&fileP->f_count, 1);
+
+  /* Just chain it on the current root mount.  When
+   * the file is closed its fput() will decrement
+   * the mount count (hence the mntget here)
+   */
+  fileP->f_vfsmnt = mntget(current->fs->rootmnt);
+
+  /* Install the descriptor so it gets "closed" upon our termination */
+  fd_install(cleanupFD, fileP);
+
+  /* Set FD_CLOEXEC so that forked processes (like mmfsup.scr) do not
+   * inherrit this descriptor.  We want the cleanup routine to be run
+   * when the last mmfsd process terminates.
+   */
+#if LINUX_KERNEL_VERSION >= 2061300
+  FD_SET(cleanupFD, current->files->fdt->close_on_exec);
+#else
+  FD_SET(cleanupFD, current->files->close_on_exec);
+#endif
+  /* Once the descriptor for this dummy file is added to our file table,
+   * it is inherrited by all the processes of the daemon.  As each
+   * terminates, the files->count is decremented and on the last process
+   * termination all the descriptors will be closed by filp_close.
+   *
+   * The one catch here is that our file table is inherrited by the
+   * kernel threads we start as well as user processes.  This would
+   * cause a problem in that daemon termination does not include these
+   * kernel threads which aren't killed until restart (and therefore
+   * the file is never closed).  In order for our operation to be
+   * driven at daemon termiation, we must remove the file table from
+   * these kernel threads.  This is done in via cxiReparent() by 
+   * the mmap pager kproc.
+   */
+
+xerror:
+  TRACE4(TRACE_VNODE, 1, TRCID_CXIREGISTERCLEANUP_EXIT,
+         "cxiRegisterCleanup: fd %d iP %X rc %d code %d\n", 
+         cleanupFD, iP, rc, code);
+
+  if (rc)
+  {
+    if (dentryP);
+      dput(dentryP);
+
+    if (cleanupFD)
+      put_unused_fd(cleanupFD);
+
+    if (fileP)
+#if LINUX_KERNEL_VERSION > 2060900
+      fput(fileP);
+#else
+      put_filp(fileP);
+#endif
+
+    if (iP)
+      iput(iP);
+
+    cleanupFD = 0;
+  }
+
+  EXIT_RC(0, rc);
+  return rc;
+}
+
+#ifdef NFS4_ACL
+/* Linux routines to be called when processing NFSv4 audit/alarm ACL entries */
+int cxiAuditWrite(int numargs, ...) { return ENOSYS; }
+#endif /* NFS4_ACL */
+
+/* Currently no OS specific VFS initialization for Linux */
+int 
+cxiInitVFS(int vfsType)
+{
+  return 0;
+}
+
+UIntPtr
+cxiGetKernelStackSize()
+{
+  return (UIntPtr)THREAD_SIZE;
+}
+
+#if defined(DMAPI) || (SANERGY)
+
+void cxiPathRel(void *ndP)
+{
+  DBGASSERT( ndP != NULL); 
+  path_release( (struct nameidata *) ndP);
+  cxiFreeUnpinned(ndP);
+}
+
+int
+cxiPathToVfsP(void **privVfsPP, char *kpathname, void **ndPP, void **cnPP, 
+              Boolean traverseLink)
+{
+   struct gpfsVfsData_t *privVfsP = NULL;
+   struct nameidata *ndP;
+   struct inode * iP;
+   cxiNode_t *cnP;
+   int rc = 0;
+   Boolean rel = false;
+   int code = 0;
+   *ndPP = NULL;
+   *privVfsPP = NULL;
+
+   ENTER(0);
+   if (kpathname == NULL)
+   {
+     code = 1;
+     rc = EINVAL;
+     goto xerror;
+   }
+
+   ndP = (struct nameidata *)cxiMallocUnpinned(sizeof(struct nameidata));
+   if (ndP == NULL)
+   {
+     code = 2;
+     rc = ENOMEM;
+     goto xerror;
+   }
+
+   /* For DMAPI, this is called by dm_path_to_handle or dm_path_to_fshandle,
+    * According to dmapi documentation, we should return the symbolic link
+    * itself instead of the object that link references.
+    * so here we need to use the function which does not traverse the link */
+   if (!traverseLink)
+     rc = user_path_walk_link(kpathname, ndP);
+   else
+     rc = user_path_walk(kpathname, ndP);
+
+   if (rc)
+   {
+     rc = -rc;
+     code = 3;
+     goto xerror;
+   }
+  
+   rel = true;
+   iP = ndP->dentry->d_inode;
+   DBGASSERT(iP != NULL);
+   if (!GPFS_TYPE(iP))
+   {
+     code = 4;
+     rc = EINVAL;
+     goto xerror;
+   }
+   
+   privVfsP = VP_TO_PVP(iP);
+
+   if (privVfsP == NULL)
+   {
+     code = 5;
+     rc = ENOENT;
+  }
+  cnP = VP_TO_CNP(iP);
+  *privVfsPP = (void *)privVfsP;
+  *ndPP = (void *)ndP;
+  if (cnPP != NULL)
+    *cnPP = (void *)cnP;
+
+xerror:
+  if (rc && ndP)
+  {
+    if (rel)
+     cxiPathRel(ndP);
+    else
+     cxiFreeUnpinned(ndP);
+  }
+  EXIT_RC(0, rc);
+  return rc;
+}
+
+void
+cxiSetCred(void *eCredPP)
+{
+  ext_cred_t *eCredP = (ext_cred_t *)eCredPP;
+  setCred(eCredP);
+}
+
+#endif /* DMAPI or SANERGY */
+
+
+#ifdef KSTACK_CHECK
+/* Kernel stack checking: for each active thread that is making
+   subroutine calls in the kernel, allocate a stack_history_t.  Within
+   each stack_history_t, create a frame_desc_t for each level of
+   subroutine call.  Two lists of frame_desc_t's are maintained: one for
+   the current call stack, and one for the deepest call stack seen so
+   far for this thread.  Upon exit from the lowest-level routine, check
+   whether the maximum stack depth threshhold has been exceeded.  If it
+   has, print the traceback of the maximum stack usage.  Keep hashes of
+   the tracebacks printed to avoid printing the same traceback more than
+   once.  Since cxiTraceExit is not called for every routine exit,
+   maintenance of call chains is not exact; a routine entry with
+   stackUsed less than the current entry implies return of the previous
+   routine.
+
+   Note that these routines cannot call any other routine that has
+   ENTER/EXIT macros inside of it, to avoid recursion. */
+
+/* Maximum size of of a stack frame before it is considered large enough
+   to complain about */
+#define STACK_LIMIT_WARNING (THREAD_SIZE - (THREAD_SIZE/3) )
+
+/* Description of one level of a call stack */
+typedef struct frame_desc
+{
+  /* Function name and file name containing the function */
+  const char * fdFuncNameP;
+  const char * fdFileNameP;
+
+  /* Pointer to frame_desc of caller, or NULL if this is the first
+     frame.  Also used to link free frame descriptors together on the
+     shFreeHeadP free list. */
+  struct frame_desc * fdCallerP;
+
+  /* Line number near the beginning of fdFuncNameP */
+  int fdLineNum;
+
+  /* Total stack usage up to and including this routine */
+  int fdStackUsed;
+
+  /* Reference count for this frame_desc_t.  Can be 2 if this descriptor
+     is reachable from both shCurrentP and shMaxP. */
+  int fdRef;
+} frame_desc_t;
+
+
+/* Each stack_history is only used by one thread, so no locking is
+   needed within a stack_history.  This is allocated as a single page.
+ */
+typedef struct stack_history
+{
+  /* ID of thread to which this stack_history_t belongs */
+  cxiThreadId shThreadId;
+
+  /* Bucket index in historyHash that points to this stack_history_t,
+     or -1 if this stack_history_t is on an overflow list */
+  int shBucketNum;
+
+  /* Next stack_history_t in same hash overflow list or on free list */
+  struct stack_history * shNextP;
+
+  /* Pointer to the frame descriptor for the routine that most recently
+     called fdEnter without a matching fdExit.  Following the fdCallerP
+     pointers through these frame descriptors gives the current callback
+     chain. */
+  frame_desc_t * shCurrentP;
+
+  /* Pointer to the frame descriptor that had the maximum stack usage
+     seen thus far for this thread.  Following the fdCallerP pointers
+     through these frame descriptors gives the callback chain with
+     maximal stack usage. */
+  frame_desc_t * shMaxP;
+
+  /* Head of list of free frame_desc_t's */
+  frame_desc_t * shFreeHeadP;
+
+  /* Area that holds frame_desc_t's.  These will be linked together and
+     put on the list shFreeHeadP. */
+#define SH_PREFIX_LEN (sizeof(cxiThreadId) +                            \
+                       sizeof(int) +                                    \
+                       sizeof(struct stack_history *) +                 \
+                       3*sizeof(frame_desc_t *))
+#define SH_NFRAMES ((PAGE_SIZE-SH_PREFIX_LEN)/sizeof(frame_desc_t))
+  frame_desc_t shFrames[SH_NFRAMES];
+} stack_history_t;
+
+/* Global structures */
+struct
+{
+  /* Global flag controlling whether kernel stack checking is enabled.
+     Initially false; set true during kernel module initialization,
+     then set false again during kernel module termination. */
+  Boolean shActive;
+
+  /* Mutex protecting updates to the variables that follow.  This cannot
+     be a cxiBlockMutex_t because then the stack checking routines would
+     get called recursively. */
+  struct semaphore shMutex;
+
+  /* List of free stack_history_t's and count of how many free entries
+     there are.  Excess stack_history_t's beyond a threshhold are freed
+     back to the operating system. */
+  stack_history_t * freeHeadP;
+  int nFree;
+#define MAX_FREE_STACK_HISTORIES 16
+
+  /* Hash table of active stack_history_t's.  To find the entry for a
+     particular thread, hash its thread id to a bucket.  If any of the
+     entries in bucket[] match the desired thread id, the pointer to
+     the stack_history_t can be returned without acquiring any locks.  If
+     the bucket does not contain the desired thread id, look for it on
+     the overflow list under protection of shMutex. */
+#define HISTORY_HASH_SIZE 64
+#define HISTS_PER_BUCKET 3
+  struct
+  {
+    struct
+    {
+      stack_history_t * historyP;
+      cxiThreadId threadId;
+    } bucket[HISTS_PER_BUCKET];
+    stack_history_t * overflowP;
+  } historyHash[HISTORY_HASH_SIZE];
+
+  /* List of hash values for tracebacks that have already been printed.
+     Used to avoid printing the same traceback more than once.  Nothing
+     is ever deleted from this table, so to find an entry start
+     searching at its hash value and continue until the entry is found
+     or an empty slot is encountered.  The total occupancy of the table
+     is limited to MAX_TRACEBACKS to restrict the amount of searching
+     that will be required, and to guarantee that searches will
+     terminate. */
+#define TB_HASH_SIZE 64
+#define MAX_TRACEBACKS 32
+  unsigned int tracebackHash[TB_HASH_SIZE];
+  int nTracebackHashEntries;
+} SHG;
+
+
+/* Private version of DBGASSERT used only within stack checking code.
+   Cannot use DBGASSERT without risking recursion. */
+#ifdef DBGASSERTS
+#define SH_ASSERT(_ex)                                                       \
+  if (!(_ex)) {                                                              \
+    printk("GPFS stack checking assert failed: " # _ex " file %s line %d\n", \
+           __FILE__, __LINE__);                                              \
+    DoPanic(# _ex, __FILE__, __LINE__, 0, 0, "");                            \
+  } else ((void)0)
+#else
+#define SH_ASSERT(_ex) ((void)0)
+#endif
+
+
+/* Initialize and enable stack depth checking */
+void shInit()
+{
+  /* Clear stack checking globals */
+  cxiMemset(&SHG, 0, sizeof(SHG));
+
+  /* Init mutex */
+  init_MUTEX(&SHG.shMutex);
+
+  /* Turn on stack depth checking and make sure the change is visible */
+  SHG.shActive = true;
+  wmb();
+}
+
+
+/* Turn off stack depth checking and free all allocated memory.  This does
+   not have to return the global state to what it was when the module was
+   first loaded, since it will not be used again. */
+void shTerm()
+{
+  int h;
+  int b;
+  stack_history_t * shP;
+  stack_history_t * shNextP;
+
+  /* Turn off stack depth checking and make sure the chenge is visible */
+  SHG.shActive = false;
+  wmb();
+
+  /* Get and then release mutex.  This insures that a thread that is
+     in the middle of writing a traceback finishes writing it before
+     we free the data structures it was using. */
+  /* ?? although there could be another thread waiting for the mutex ... */
+  down(&SHG.shMutex);
+  up(&SHG.shMutex);
+
+  /* Wait briefly to allow threads in the middle of the stack checking
+     code to finish what they are doing */
+  /* ?? Of course, this is not really safe, but this is debugging code,
+     right? */
+  schedule_timeout(HZ/2);
+
+  /* Terminate mutex */
+  // nothing to do
+
+  /* Free all stack_history_t's on the free list */
+  shP = SHG.freeHeadP;
+  while (shP != NULL)
+  {
+    shNextP = shP->shNextP;
+    kfree(shP);
+    shP = shNextP;
+  }
+
+  /* Free all stack_history_t's in the hash table */
+  for (h=0 ; h<HISTORY_HASH_SIZE ; h++)
+  {
+    for (b=0 ; b<HISTS_PER_BUCKET ; b++)
+      if (SHG.historyHash[h].bucket[b].historyP != NULL)
+        kfree(SHG.historyHash[h].bucket[b].historyP);
+    shP = SHG.historyHash[h].overflowP;
+    while (shP != NULL)
+    {
+      shNextP = shP->shNextP;
+      kfree(shP);
+      shP = shNextP;
+    }
+  }
+}
+
+
+/* Allocate and initialize a new stack_history_t */
+static stack_history_t * shAllocInit()
+{
+  stack_history_t * shP;
+  int f;
+
+  up(&SHG.shMutex);
+  shP = (stack_history_t *) kmalloc(sizeof(stack_history_t), GFP_KERNEL);
+  SH_ASSERT(shP != NULL);
+  down(&SHG.shMutex);
+  cxiMemset(shP, 0, sizeof(stack_history_t));
+  for (f=0 ; f<=SH_NFRAMES-2 ; f++)
+    shP->shFrames[f].fdCallerP = &shP->shFrames[f+1];
+  shP->shFreeHeadP = &shP->shFrames[0];
+  return shP;
+}
+
+
+/* Get a stack_history_t off the free list or build a new one */
+static stack_history_t * shGet()
+{
+  stack_history_t * shP;
+
+  /* Use free list if one is available there */
+  shP = SHG.freeHeadP;
+  if (shP != NULL)
+  {
+    SHG.freeHeadP = shP->shNextP;
+    SHG.nFree -= 1;
+    return shP;
+  }
+
+  /* Make a new one if necessary */
+  return shAllocInit();
+}
+
+
+/* Free a stack_history_t.  Put it on the free list if there are not
+   already too many free, or else free it back to the operating system.
+ */
+static void shPut(stack_history_t * shP)
+{
+  int h;
+  int b;
+  stack_history_t ** shPrevPP;
+  stack_history_t * p;
+
+  /* Both call stacks should be empty */
+  SH_ASSERT(shP->shCurrentP == NULL);
+  SH_ASSERT(shP->shMaxP == NULL);
+
+  /* Must hold mutex while changing the hash table */
+  down(&SHG.shMutex);
+
+  /* Clear pointer to this stack_history_t from the hash table */
+  h = ((int)shP->shThreadId) & (HISTORY_HASH_SIZE-1);
+  b = shP->shBucketNum;
+  if (b != -1)
+  {
+    SH_ASSERT(SHG.historyHash[h].bucket[b].historyP == shP);
+    SHG.historyHash[h].bucket[b].historyP = NULL;
+    SHG.historyHash[h].bucket[b].threadId = 0;
+  }
+  else
+  {
+    shPrevPP = &SHG.historyHash[h].overflowP;
+    p = *shPrevPP;
+    while (p != NULL)
+    {
+      if (p == shP)
+      {
+        *shPrevPP = shP->shNextP;
+        break;
+      }
+      shPrevPP = &p->shNextP;
+      p = *shPrevPP;
+    }
+  }
+
+  /* If not too many already free, add to free list */
+  if (SHG.nFree < MAX_FREE_STACK_HISTORIES)
+  {
+    shP->shNextP = SHG.freeHeadP;
+    SHG.freeHeadP = shP;
+    SHG.nFree += 1;
+    up(&SHG.shMutex);
+    return;
+  }
+
+  /* Otherwise, really free it */
+  up(&SHG.shMutex);
+  kfree(shP);
+}
+
+
+/* Find the stack_history_t for the current thread, or allocate one if
+   one does not already exist */
+static stack_history_t * shFind()
+{
+  stack_history_t * shP;
+  cxiThreadId id = current->pid;
+  int h = ((int)id) & (HISTORY_HASH_SIZE-1);
+  int b;
+
+  /* Look at all entries within the bucket given by the hash of the
+     thread ID.  No locking needs to be done for this search. */
+  for (b=0 ; b<HISTS_PER_BUCKET ; b++)
+    if (SHG.historyHash[h].bucket[b].threadId == id)
+      return SHG.historyHash[h].bucket[b].historyP;
+
+  /* Must hold mutex while changing the hash table */
+  down(&SHG.shMutex);
+
+  /* Search the overflow list */
+  shP = SHG.historyHash[h].overflowP;
+  while (shP != NULL)
+  {
+    if (shP->shThreadId == id)
+      goto exit;
+    shP = shP->shNextP;
+  }
+
+  /* No stack_history_t for this thread yet.  Get one off the free list
+     or build one. */
+  shP = shGet();
+  shP->shThreadId = id;
+  shP->shNextP = NULL;
+
+  /* Find a slot for the new stack_history_t in the hash table */
+  for (b=0 ; b<HISTS_PER_BUCKET ; b++)
+    if (SHG.historyHash[h].bucket[b].historyP == NULL)
+    {
+      SHG.historyHash[h].bucket[b].historyP = shP;
+      SHG.historyHash[h].bucket[b].threadId = id;
+      shP->shBucketNum = b;
+      goto exit;
+    }
+
+  /* No slots available; add new stack_history_t to overflow list */
+  shP->shBucketNum = -1;
+  shP->shNextP = SHG.historyHash[h].overflowP;
+  SHG.historyHash[h].overflowP = shP;
+
+exit:
+  /* Release mutex before returning */
+  up(&SHG.shMutex);
+  return shP;
+}
+
+
+/* Allocate a frame descriptor within the given stack_history_t.  This
+   cannot be allowed to fail, so if there are no more free descriptors,
+   throw away the bottom frame descriptor and return that.  The reference
+   count of the frame descriptor that is returned is undefined. */
+static frame_desc_t * fdGet(stack_history_t * shP)
+{
+  frame_desc_t * fdP;
+  frame_desc_t ** fdPrevPP;
+  int prevRef;
+
+  /* Look on the free list within the stack_history_t */
+  fdP = shP->shFreeHeadP;
+  if (fdP != NULL)
+  {
+    shP->shFreeHeadP = fdP->fdCallerP;
+    return fdP;
+  }
+
+  /* No free descriptors; first try stealing one off the bottom of the
+     current call stack */
+  fdP = shP->shCurrentP;
+  if (fdP != NULL)
+  {
+    /* Find the bottom entry of the current call stack */
+    fdPrevPP = &shP->shCurrentP;
+    prevRef = 1;
+    while (fdP->fdCallerP != NULL)
+    {
+      fdPrevPP = &fdP->fdCallerP;
+      prevRef = fdP->fdRef;
+      fdP = *fdPrevPP;
+    }
+
+    /* Remove the bottom entry of the current call stack */
+    *fdPrevPP = NULL;
+
+    /* Reduce the reference count on the entry just removed.  The
+       reference count decreases by the reference count of the frame
+       that used to point to *fdP.  If *fdP is no longer referenced, no
+       further work is needed.  If *fdP is still referenced from the max
+       depth stack (it must be the bottom entry), we will eventually
+       return it, but only after removing it from the bottom of the max
+       depth stack.  We know that fdP will be returned, but we have to
+       search through the max depth stack to find the pointer to *fdP.
+     */
+    fdP->fdRef -= prevRef;
+    if (fdP->fdRef == 0)
+      return fdP;
+  }
+
+  /* Still no free descriptors; steal the frame descriptor off the
+     bottom of the maximum depth call stack */
+  fdP = shP->shMaxP;
+  if (fdP != NULL)
+  {
+    /* Find the bottom entry of the max depth call stack */
+    fdPrevPP = &shP->shMaxP;
+    while (fdP->fdCallerP != NULL)
+    {
+      fdPrevPP = &fdP->fdCallerP;
+      fdP = *fdPrevPP;
+    }
+
+    /* Remove the bottom entry of the max depth call stack */
+    *fdPrevPP = NULL;
+
+    /* The bottom entry of the max depth call stack that was just
+       removed must have a reference count of one; otherwise it would
+       still be on the current call stack and removing the bottom entry
+       of that stack would have reduced the reference count of some
+       frame descriptor from 2 to 0. */
+    SH_ASSERT(fdP->fdRef == 1);
+    return fdP;
+  }
+  SH_ASSERT(!"cannot alloc frame_desc_t");
+  return NULL;
+}
+
+
+/* Decrease the reference count on a frame descriptor.  If it becomes
+   zero, return it to the free list */
+static void fdDiscard(frame_desc_t * fdP, stack_history_t * shP)
+//inline static void fdDiscard(frame_desc_t * fdP, stack_history_t * shP)
+{
+  if (fdP->fdRef > 1)
+  {
+    fdP->fdRef -= 1;
+    TRACE3(TRACE_ENTRYEXIT, 11, TRCID_FDDISCARD1,
+           "fdDiscard: fdP 0x%lX shP 0x%lX rtn %s refcnt now 1\n",
+           fdP, shP, fdP->fdFuncNameP);
+    return;
+  }
+
+  fdP->fdCallerP = shP->shFreeHeadP;
+  shP->shFreeHeadP = fdP;
+  TRACE3(TRACE_ENTRYEXIT, 11, TRCID_FDDISCARD2,
+         "fdDiscard: fdP 0x%lX shP 0x%lX rtn %s refcnt now 0\n",
+         fdP, shP, fdP->fdFuncNameP);
+}
+
+
+/* If the maximum stack depth exceeds the threshhold, print its
+   traceback if it has not already been printed.  Reset the maximum
+   depth stack to empty.  Only called when the current stack is already
+   empty. */
+static void shDisplay(stack_history_t * shP)
+{
+  frame_desc_t * fdP;
+  unsigned int tbHash;
+  frame_desc_t * fdNextP;
+  int slot;
+
+  SH_ASSERT(shP->shCurrentP == NULL);
+
+  /* If the maximum stack depth is less than the threshhold, just free
+     the call chain and return */
+  fdP = shP->shMaxP;
+  if (fdP == NULL  ||
+      fdP->fdStackUsed < STACK_LIMIT_WARNING)
+    goto exit;
+
+  /* Compute a hash of the traceback call chain */
+  tbHash = 0;
+  while (fdP != NULL)
+  {
+    tbHash <<= 1;
+    tbHash ^= (((unsigned int)fdP->fdStackUsed) << 15) ^ fdP->fdLineNum;
+    fdP = fdP->fdCallerP;
+  }
+
+  /* Search for the hash of the call chain in the table of tracebacks that
+     have already been printed.  Searching the hash table can be done without
+     any locks, since entries are never deleted.  The loop must eventually
+     terminate, since the table will not be allowed to fill up. */
+search:
+  slot = tbHash % TB_HASH_SIZE;
+  while (SHG.tracebackHash[slot] != 0)
+  {
+    if (SHG.tracebackHash[slot] == tbHash)
+      /* This traceback has already been printed */
+      goto exit;
+    slot = (slot+1) % TB_HASH_SIZE;
+  }
+
+  /* The hash of the current max depth traceback was not found in the
+     table and should be inserted at position 'slot'.  Do this under
+     protection of the mutex.  If 'slot' has been used by the time we
+     get the mutex, drop the mutex and repeat the search. */
+  down(&SHG.shMutex);
+  if (SHG.nTracebackHashEntries >= MAX_TRACEBACKS)
+    goto exitMutexHeld;
+  if (SHG.tracebackHash[slot] != 0)
+  {
+    up(&SHG.shMutex);
+    goto search;
+  }
+  SHG.tracebackHash[slot] = tbHash;
+  SHG.nTracebackHashEntries += 1;
+
+  /* Print the traceback */
+  fdP = shP->shMaxP;
+  printk("\nGPFS kernel stack for process %d(%s) used %d bytes\n",
+         current->pid, current->comm, fdP->fdStackUsed);
+  printk("  stack function\n");
+  printk("   used\n");
+  printk("  ----- -----------------------------------------------------\n");
+  while (fdP != NULL)
+  {
+    printk("  %5d %s at %s:%d\n",
+           fdP->fdStackUsed, fdP->fdFuncNameP, fdP->fdFileNameP, fdP->fdLineNum);
+    fdP = fdP->fdCallerP;
+  }
+  printk("  traceback signature %08X\n", tbHash);
+
+  /* If the maximum number of allowed tracebacks has been reached, turn
+     off further stack checking. */
+  if (SHG.nTracebackHashEntries >= MAX_TRACEBACKS)
+  {
+    printk("Maximum number of GPFS deep stack tracebacks reached\n");
+    printk("GPFS stack checking disabled\n");
+    SHG.shActive = false;
+    wmb();
+  }
+
+exitMutexHeld:
+  up(&SHG.shMutex);
+
+exit:
+  /* Free all stack frame descriptors for the max depth call chain back
+     to the internal free list. */
+  fdP = shP->shMaxP;
+  while (fdP != NULL)
+  {
+    SH_ASSERT(fdP->fdRef == 1);
+    fdNextP = fdP->fdCallerP;
+    fdP->fdCallerP = shP->shFreeHeadP;
+    shP->shFreeHeadP = fdP;
+    fdP = fdNextP;
+  }
+  shP->shMaxP = NULL;
+}
+
+
+/* Process routine entry */
+static void fdEntry(frame_desc_t * fdP, stack_history_t * shP)
+{
+  frame_desc_t * popP;
+  frame_desc_t * p;
+
+  TRACE5(TRACE_ENTRYEXIT, 11, TRCID_FDENTRY,
+         "fdEntry: fdP 0x%lX shP 0x%lX rtn %s shCurrentP 0x%lX used %d\n",
+         fdP, shP, fdP->fdFuncNameP, shP->shCurrentP, fdP->fdStackUsed);
+
+  /* If this is the first call by this thread, set up the two call chains */
+  if (shP->shCurrentP == NULL)
+  {
+    SH_ASSERT(shP->shMaxP == NULL);
+    shP->shCurrentP = fdP;
+    shP->shMaxP = fdP;
+    fdP->fdCallerP = NULL;
+    fdP->fdRef = 2;
+    return;
+  }
+  else
+    SH_ASSERT(shP->shMaxP != NULL);
+
+  /* Process routine exits implied by the number of bytes of stack that
+     are currently in use.  The test needs to be for strict less than
+     because inlined routines share the same stack frame as their
+     caller, but both routines will do entry/exit processing. */
+  popP = shP->shCurrentP;
+  while (fdP->fdStackUsed < popP->fdStackUsed)
+  {
+    p = popP->fdCallerP;
+    shP->shCurrentP = p;
+    TRACE1(TRACE_ENTRYEXIT, 11, TRCID_IMPLIED_EXIT,
+           "fdEntry: implied exit from rtn %s\n",
+           popP->fdFuncNameP);
+    fdDiscard(popP, shP);
+    if (p == NULL)
+    {
+      /* The outermost routine returned before this call without calling
+         fdExit.  Test for a large maximum stack, then reset the
+         maximum. */
+      shDisplay(shP);
+
+      /* The current routine is the one and only */
+      shP->shCurrentP = fdP;
+      shP->shMaxP = fdP;
+      fdP->fdCallerP = NULL;
+      fdP->fdRef = 2;
+      return;
+    }
+    popP = p;
+  }
+
+  /* If this is an extension of the current max depth stack, just add
+     this routine to the top of both stacks */
+  if (fdP->fdStackUsed > shP->shMaxP->fdStackUsed  &&
+      shP->shCurrentP == shP->shMaxP)
+  {
+    fdP->fdCallerP = shP->shCurrentP;
+    shP->shCurrentP = fdP;
+    shP->shMaxP = fdP;
+    fdP->fdRef = 2;
+    TRACE2(TRACE_ENTRYEXIT, 11, TRCID_NEWMAX_EXTEND,
+           "fdEntry: extending new max stack %d fdP 0x%lX\n",
+           fdP->fdStackUsed, fdP);
+    return;
+  }
+
+  /* Make this new routine be the top of the stack */
+  fdP->fdCallerP = shP->shCurrentP;
+  shP->shCurrentP = fdP;
+  fdP->fdRef = 1;
+
+  /* If this new routine has a greater stack depth than the previous max,
+     unreference the previous max depth call chain and add additional
+     references to the current one. */
+  if (fdP->fdStackUsed > shP->shMaxP->fdStackUsed)
+  {
+    popP = shP->shMaxP;
+    do
+    {
+      p = popP->fdCallerP;
+      fdDiscard(popP, shP);
+      popP = p;
+    } while (popP != NULL);
+    p = fdP;
+    do
+    {
+      p->fdRef = 2;
+      p = p->fdCallerP;
+    } while (p != NULL);
+    TRACE2(TRACE_ENTRYEXIT, 11, TRCID_NEWMAX,
+           "fdEntry: new max stack %d fdP 0x%lX\n",
+           fdP->fdStackUsed, fdP);
+    shP->shMaxP = fdP;
+  }
+}
+
+
+/* Process routine exit */
+static void fdExit(const char * funcnameP)
+{
+  stack_history_t * shP;
+  frame_desc_t * lastPopP;
+  frame_desc_t * popP;
+  frame_desc_t * p;
+
+  /* Locate or create stack_history_t for this thread */
+  shP = shFind();
+
+  /* If call stack is already empty, there is nothing to do except free
+     the stack_history_t */
+  if (shP->shCurrentP == NULL)
+  {
+    SH_ASSERT(shP->shMaxP == NULL);
+    shPut(shP);
+    return;
+  }
+
+  /* Search backward on the call stack for a routine name that matches
+     the one being exitted.  In C++, the ENTER/EXIT macros will pass the
+     same string constant (same address) to fdEntry and fdExit.  The C
+     versions of the macros may pass two different copies of the same
+     string.  This loop cannot pop routines it skips off the stack, since
+     the routine might never be found. */
+  p = shP->shCurrentP;
+  for (;;)
+  {
+    if (p->fdFuncNameP == funcnameP  ||
+        cxiStrcmp(p->fdFuncNameP, funcnameP) == 0)
+    {
+      TRACE4(TRACE_ENTRYEXIT, 11, TRCID_FDEXIT,
+             "fdExit: p 0x%lX shP 0x%lX rtn %s shCurrentP 0x%lX\n",
+             p, shP, p->fdFuncNameP, shP->shCurrentP);
+      lastPopP = p;
+      break;
+    }
+    p = p->fdCallerP;
+    if (p == NULL)
+    {
+      /* Routine name not found.  Do not pop stack. */
+      /* printk("No entry found when exitting %s\n", funcnameP); */
+      TRACE1(TRACE_ENTRYEXIT, 11, TRCID_FDEXIT_NOTFOUND,
+             "No entry found when exitting %s\n", funcnameP);
+      return;
+    }
+  }
+
+  /* Pop all routines up to and including lastPopP */
+  p = shP->shCurrentP;
+  do
+  {
+    popP = p;
+    p = popP->fdCallerP;
+    fdDiscard(popP, shP);
+  } while (popP != lastPopP);
+  shP->shCurrentP = p;
+
+  /* If this was the return of the outermost routine, print new maximum
+     stack depth traceback and discard the stack_history_t */
+  if (shP->shCurrentP == NULL)
+  {
+    shDisplay(shP);
+    shPut(shP);
+  }
+}
+
+#endif  /* KSTACK_CHECK */
+
+
+#if defined(ENTRYEXIT_TRACE) || defined(KSTACK_CHECK)
+void cxiTraceEntry(int level, const char * funcnameP,
+                   const char * filenameP, int lineNum)
+{
+  int stackUsed = THREAD_SIZE - (((unsigned long)&stackUsed) & (THREAD_SIZE-1));
+#ifdef KSTACK_CHECK
+  stack_history_t * shP;
+  frame_desc_t * fdP;
+#endif  /* KSTACK_CHECK */
+
+#ifdef ENTRYEXIT_TRACE
+  /* Need to use a constant trace level in the TRACE macro call to get
+     the .trclst file (and later the .trcfmt file) built correctly */
+  if (_TRACE_IS_ON(TRACE_ENTRYEXIT, BASE_ENTEREXIT_LEVEL + level))
+  {
+    TRACE5(TRACE_ENTRYEXIT, 1, TRCID_KTRACE_LINUX_ENTER,
+           "-->K %s (%s:%d) level %d stackUsed %d\n",
+           funcnameP, filenameP, lineNum, level, stackUsed);
+  }
+#endif  /* ENTRYEXIT_TRACE */
+
+#ifdef KSTACK_CHECK
+  /* Nothing to do if kernel stack checking is disabled */
+  if (!SHG.shActive)
+    return;
+
+  /* Do not attempt to keep track of stack usage in interrupt handlers */
+  if (in_interrupt())
+    return;
+
+  /* Locate or create stack_history_t for this thread */
+  shP = shFind();
+
+  /* Get a new frame descriptor and fill it in */
+  fdP = fdGet(shP);
+  fdP->fdFuncNameP = funcnameP;
+  fdP->fdFileNameP = filenameP;
+  fdP->fdLineNum = lineNum;
+  fdP->fdStackUsed = stackUsed;
+
+  /* Perform stack checking for this routine entry */
+  fdEntry(fdP, shP);
+#endif  /* KSTACK_CHECK */
+}
+
+
+void cxiTraceExit(int level, const char * funcnameP)
+{
+#ifdef ENTRYEXIT_TRACE
+  /* Need to use a constant trace level in the TRACE macro call to get
+     the .trclst file (and later the .trcfmt file) built correctly */
+  if (_TRACE_IS_ON(TRACE_ENTRYEXIT, BASE_ENTEREXIT_LEVEL + level))
+    TRACE1(TRACE_ENTRYEXIT, 1, TRCID_KTRACE_LINUX_EXIT,
+           "<--K %s\n", funcnameP);
+#endif  /* ENTRYEXIT_TRACE */
+
+#ifdef KSTACK_CHECK
+  /* Nothing to do if kernel stack checking is disabled */
+  if (!SHG.shActive)
+    return;
+
+  /* Do not attempt to keep track of stack usage in interrupt handlers */
+  if (in_interrupt())
+    return;
+
+  /* Process routine exit */
+  fdExit(funcnameP);
+#endif  /* KSTACK_CHECK */
+}
+void cxiTraceExitRC(int level, const char * funcnameP, int rc)
+{
+#ifdef ENTRYEXIT_TRACE
+  /* Need to use a constant trace level in the TRACE macro call to get
+     the .trclst file (and later the .trcfmt file) built correctly */
+  if (_TRACE_IS_ON(TRACE_ENTRYEXIT, BASE_ENTEREXIT_LEVEL + level))
+    TRACE2(TRACE_ENTRYEXIT, 1, TRCID_KTRACE_LINUX_EXIT_RC,
+           "<--K %s rc %d\n", funcnameP, rc);
+#endif  /* ENTRYEXIT_TRACE */
+
+#ifdef KSTACK_CHECK
+  /* Nothing to do if kernel stack checking is disabled */
+  if (!SHG.shActive)
+    return;
+
+  /* Do not attempt to keep track of stack usage in interrupt handlers */
+  if (in_interrupt())
+    return;
+
+  /* Process routine exit */
+  fdExit(funcnameP);
+#endif  /* KSTACK_CHECK */
+}
+#endif  /* defined(ENTRYEXIT_TRACE) || defined(KSTACK_CHECK) */
+
+
+#ifdef UIDREMAP
+size_t cxiGetUserEnvironmentSize(void)
+{
+  return (current->mm->env_end - current->mm->env_start);
+}
+
+int cxiGetUserEnvironment(char* buf, size_t len)
+{
+  return cxiCopyIn((char*)current->mm->env_start, buf, len);
+}
+#endif
+
+Boolean cxiHasMountHelper()
+{
+  return USING_MOUNT_HELPER();
+}
+
+#ifdef P_NFS4
+
+#include <linux/nfsd/nfs4layoutxdr.h>
+
+/* convert ip address to string */
+char *IPtoString(int ip, char *buf)
+{
+  unsigned char *a = (char *)&ip;
+
+  sprintf(buf, "%u.%u.%u.%u", a[0], a[1], a[2], a[3]);
+
+  return buf;
+}
+
+static void printfh(char *s, int *fh)
+{
+#ifdef GPFS_PRINTK
+  printk("%s: %d: %08x %08x %08x %08x %08x %08x %08x %08x %08x\n",
+           s, fh[0],fh[1],fh[2],fh[3],fh[4],fh[5],fh[6],fh[7],fh[8],fh[9]);
+#endif
+}
+
+int cxiSetFH(int *fhP, int sid)
+{
+  struct knfsd_fh *fh = (struct knfsd_fh *)fhP;
+
+printfh("cxiSetFH-1", fhP);
+  if (fh->fh_size > 8) {
+    fh->fh_size += 4; // fh_size + 4 for sid
+    fh->fh_fsid_type += max_fsid_type;
+    fhP[(fh->fh_size >> 2)] = sid;
+    fh->fh_fileid_type = 7; // see code in gpfs_decode_fh()
+#ifdef GPFS_PRINTK
+  printk("cxiSetFH size %d fsid_type %d fileid %d\n",
+         fh->fh_size, fh->fh_fsid_type, fh->fh_fileid_type);
+#endif
+printfh("cxiSetFH-2", fhP);
+    return 0;
+  }
+  return ENOENT;
+}
+
+/* Call to NFS server on MDS to get open state */
+int cxiOpenState(void *vfsP, void *p)
+{
+  int rc = ENOENT;
+  struct super_block *sbP = (struct super_block *)vfsP;
+  struct pnfs_get_state *osP = p;
+  struct gpfsVfsData_t *privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+
+#ifdef GPFS_PRINTK
+  printk("cxiOpenState1 sb %p p %p \n", sbP, p);
+  printk("cxiOpenState cb_get_state %p\n",
+				         sbP->s_export_op->cb_get_state);
+#endif
+  if (sbP->s_export_op->cb_get_state)
+    rc = sbP->s_export_op->cb_get_state(osP);
+
+  gpfs_ops.gpfsGetVerifier(privVfsP, osP->verifier);
+#ifdef GPFS_PRINTK
+  printk("cxiOpenState rc %d devid %x verifier %x:%x\n",
+                        rc, osP->devid, osP->verifier[0], osP->verifier[1]);
+#endif
+
+  return rc;
+}
+/* Call to NFS server on DS to get change open state or close the file */
+int cxiChangeState(void *vfsP, void *p)
+{
+  int rc = ENOENT;
+  struct super_block *sbP = (struct super_block *)vfsP;
+  struct pnfs_get_state *osP = p;
+
+  if (sbP->s_export_op->cb_change_state)
+    rc = sbP->s_export_op->cb_change_state(osP);
+#ifdef GPFS_PRINTK
+  printk("cxiChangeState2 sb %p p %p access %d\n", sbP, p, osP->access);
+#endif
+
+  return rc;
+}
+/* Call to NFS server on MDS to recall layout */
+int cxiRecallLayout(void *vfsP, void *vP, void *p)
+{
+  int rc = ENOENT;
+  struct super_block *sbP = (struct super_block *)vfsP;
+  struct inode *iP = (struct inode *)vP;
+  struct layout_recall lr;
+
+  lr.fsid = sbP;
+  lr.offset = 0;
+  lr.length = -1;
+
+  if (iP == NULL)   // recall all layouts for this fs
+    lr.layout_type = RECALL_FSID;
+
+#ifdef GPFS_PRINTK
+  printk("cxiRecallLayout sbP %p type %d\n", sbP, lr.layout_type);
+#endif
+  if (sbP->s_export_op->cb_layout_recall) {
+    rc = sbP->s_export_op->cb_layout_recall(sbP, iP, &lr);
+  }
+  else {
+    lr.layout_type = RECALL_FILE;
+#ifdef GPFS_PRINTK
+    printk("cxiRecallLayout sbP %p iP %p type %d\n", sbP, iP, lr.layout_type);
+#endif
+  }
+
+#ifdef GPFS_PRINTK
+  printk("cxiRecallLayout sbP %p iP %p rc %d\n", sbP, iP, rc);
+#endif
+  return rc;
+}
+
+/* Get device list
+
+	gd_type
+		in: requested layout type.
+		out: available lauout type.
+	gd_cookie
+		in: cookie returned on the last operation.
+		out: none zero cookie if some devices did not fit in the buffer.
+	gd_maxcount
+		in: buffer size in bytes.
+	gd_buffer
+		in: pointer to buffer.
+	gd_devlist_len
+		out: number of items returned in the buffer.
+		
+error:	
+	Use the same retrun codes as used for GTEDEVLIST
+*/
+int
+cxiGetDeviceList(int nDests, int *idList, void *P)
+{
+  ENTER(0);
+  int rc = 0;
+  int i, len, left;
+  int j = 0;
+  char *p, *tp;
+  char tmp[32];
+  struct nfsd4_pnfs_getdevlist *dl = (struct nfsd4_pnfs_getdevlist *)P;
+  struct nfsd4_pnfs_devlist *gd_buf = NULL;
+  struct pnfs_filelayout_devaddr *dev;
+
+#ifdef GPFS_PRINTK
+printk("xxx cxiGetDeviceList enter nDests %d idList %p \n", nDests, idList);
+#endif
+
+  dl->gd_type = LAYOUT_NFSV4_FILES;
+  dl->gd_cookie = 0;
+  dl->gd_devlist_len = 0;
+  left = dl->gd_maxcount;
+  tp = &tmp[0];
+
+  len = sizeof(struct nfsd4_pnfs_devlist) * nDests;
+#ifdef GPFS_PRINTK
+  printk("xxx cxiGetDeviceList len %d left %d\n", len, left);
+#endif
+  if (nDests > left) {
+    rc = ENOMEM;  //??? NFS4ERR_TOOSMALL
+    goto xerror;
+  }
+  gd_buf = (struct nfsd4_pnfs_devlist *)cxiMallocUnpinned(len);
+  if (gd_buf == NULL) {
+    rc = ENOMEM;
+    goto xerror;
+  }
+  memset(gd_buf, 0, len);
+  dl->gd_devlist = gd_buf;
+
+#ifdef GPFS_PRINTK
+  printk("xxx cxiGetDeviceList gd_buf %p count %d\n", gd_buf, nDests);
+#endif
+  for (i = 0; i < nDests; i++)
+  {
+    /* make both device id and device address be the same for now */
+    gd_buf[j].dev_id = idList[i];
+    gd_buf[j].dev_lotype = LAYOUT_NFSV4_FILES;
+    if (gd_buf[j].dev_id == INADDR_NONE)
+      continue;
+
+    IPtoString(gd_buf[j].dev_id, tp);
+    len = (cxiStrlen(tp));
+
+    p = (char *)cxiMallocUnpinned(sizeof(struct pnfs_filelayout_devaddr));
+    if (p == NULL) {
+      rc = ENOMEM;
+      goto xerror;
+    }
+    memset(p, 0, sizeof(struct pnfs_filelayout_devaddr));
+    gd_buf[j].dev_addr = p;
+
+    dev = (struct pnfs_filelayout_devaddr *)p;
+    dev->r_addr.len = len + 4; /* for ".8.1" */
+
+    p = (char *)cxiMallocUnpinned(dev->r_addr.len+1);
+    if (p == NULL) {
+      rc = ENOMEM;
+      goto xerror;
+    }
+    dev->r_addr.data = p;
+    cxiMemcpy(p, tp, len);
+    p = p + len;
+    cxiStrcpy(p, ".8.1");  /* port 2049 = 0x801 = "8.1" */
+
+    dev->r_netid.len = 3; /*'tcp'*/
+    p = (char *)cxiMallocUnpinned(dev->r_netid.len+1);
+    if (p == NULL) {
+      rc = ENOMEM;
+      goto xerror;
+    }
+    cxiStrcpy(p, "tcp");
+    dev->r_netid.data = p;
+
+    left = left - 1;
+    dl->gd_devlist_len++;
+
+    TRACE4(TRACE_VNODE, 2, TRCID_CXI_GET_DEVICELIST_P1,
+           "gpfsGetDeviceList index %d len %d ip %s left %d\n",
+           i, dev->r_addr.len, dev->r_addr.data, left);
+#ifdef GPFS_PRINTK
+printk("xxx cxiGetDeviceList index %d id %d len %d ip %s left %d ops %p %p\n",
+        i, gd_buf[j].dev_id, dev->r_addr.len,
+        dev->r_addr.data, left, dl->gd_ops, dl->gd_ops->devaddr_encode);
+#endif
+
+    j++;
+  }
+
+exit:
+
+  TRACE2(TRACE_VNODE, 2, TRCID_CXI_GET_DEVICELIST_EXIT,
+         "cxiGetDeviceList exit: rc %d len %d", rc, len);
+  return rc;
+
+xerror:
+
+  if (gd_buf != NULL) {
+    for (i = 0; i < j; i++)
+    {
+      dev = gd_buf[i].dev_addr;
+      if (dev) {
+        cxiFreeUnpinned(dev->r_addr.data);
+        cxiFreeUnpinned(dev->r_netid.data);
+        cxiFreeUnpinned(dev);
+      }
+    }
+    cxiFreeUnpinned(gd_buf);
+  }
+  goto exit;
+}
+
+int
+cxiGetDeviceInfo(void *P)
+{
+  ENTER(0);
+  int rc;
+  int len;
+  char *p, *tp;
+  char tmp[32];
+  struct nfsd4_pnfs_getdevinfo *da = (struct nfsd4_pnfs_getdevinfo *)P;
+  tp = &tmp[0];
+  struct pnfs_filelayout_devaddr *dev;
+
+  IPtoString(da->gd_dev_id, tp);
+
+  dev = (struct pnfs_filelayout_devaddr *)cxiMallocUnpinned(sizeof(struct pnfs_filelayout_devaddr));
+  if (dev == NULL) {
+    rc = ENOMEM;
+    goto xerror;
+  }
+  da->gd_devaddr = dev;
+
+  len = (cxiStrlen(tp));
+  dev->r_addr.len = len + 4; /* for ".8.1" */
+
+  p = (char *)cxiMallocUnpinned(dev->r_addr.len+1);
+  if (p == NULL) {
+    cxiFreeUnpinned(dev);
+    rc = ENOMEM;
+    goto xerror;
+  }
+  dev->r_addr.data = p;
+  cxiMemcpy(p, tp, len);
+  p = p + len;
+  cxiStrcpy(p, ".8.1");  /* port 2049 = 0x801 = "8.1" */
+
+  dev->r_netid.len = 3; /*'tcp'*/
+  p = (char *)cxiMallocUnpinned(dev->r_netid.len+1);
+  if (p == NULL) {
+    cxiFreeUnpinned(dev->r_addr.data);
+    cxiFreeUnpinned(dev);
+    rc = ENOMEM;
+    goto xerror;
+  }
+  cxiStrcpy(p, "tcp");
+  dev->r_netid.data = p;
+
+  TRACE2(TRACE_VNODE, 2, TRCID_GPFSOPS_GET_DEVICELINFO_P1,
+         "gpfsGetDeviceInfo len %d ip %s\n",
+          dev->r_addr.len, dev->r_addr.data);
+
+#ifdef GPFS_PRINTK
+  printk("xxx cxiGetDeviceInfo id %d len %d ip %s\n",
+       da->gd_dev_id, dev->r_addr.len, dev->r_addr.data);
+#endif
+
+xerror:
+
+  TRACE1(TRACE_VNODE, 2, TRCID_CXI_GET_DEVICELINFO_EXIT,
+         "cxiGetDeviceInfo exit: rc %d\n", rc);
+
+  return rc;
+}
+/* get layout
+	lg_type
+		in: requested layout type.
+		out: available lauout type.
+	lg_offset
+		in: requested offset.
+		out: returned offset.
+	lg_length
+		in: requested length.
+		out: returned length.
+	lg_mxcnt
+		in: buffer size in bytes.
+	lg_llist
+		in: pointer to buffer.
+	lg_layout
+		out: number of items returned in the buffer.
+
+   if the file is big(?) return all nodes in layout
+   if the file is small return no layout or just one node, choose one node in
+   random but make sure it is the same node for the same file.
+*/
+int
+cxiGetLayout(int nDests, int *idList, cxiVattr_t *vattr, int myAddr, void *P)
+{
+  ENTER(0);
+  char *p, *n;
+  int i, rc, left, len;
+  struct nfsd4_pnfs_layoutget *gl = (struct nfsd4_pnfs_layoutget *)P;
+  struct nfsd4_pnfs_layoutlist *lg_buf = NULL;
+  struct nfsd4_pnfs_filelayout *layout = NULL;
+
+  TRACE2(TRACE_VNODE, 2, TRCID_CXI_GET_LAYOUT_ENTER,
+         "cxiGetLayout: nDests %d myAddr %x\n", nDests,myAddr);
+
+  /* set node id in fh and increase fh size by 4 */
+  rc = cxiSetFH((int *)&gl->lg_fh, myAddr);
+  if (rc != 0)
+    goto xerror;
+
+  gl->lg_type = LAYOUT_NFSV4_FILES;
+  gl->lg_offset = 0;
+  gl->lg_length = MAX_UINT64;               /* The maximum file size */
+
+  layout = (struct nfsd4_pnfs_filelayout *)cxiMallocUnpinned(sizeof(struct nfsd4_pnfs_filelayout));
+  if (layout == NULL) {
+    rc = ENOMEM;
+    goto xerror;
+  }
+  gl->lg_layout = layout;
+  layout->lg_stripe_type = STRIPE_DENSE;
+  layout->lg_commit_through_mds = true;
+  layout->lg_stripe_unit = vattr->va_blocksize; /* preferred blocksize */
+  layout->lg_file_size = vattr->va_size;        /* file size in bytes  */
+  layout->lg_llistlen = 0;
+
+  left = gl->lg_mxcnt;
+
+  len = sizeof(struct nfsd4_pnfs_layoutlist) * nDests;
+  if (len > left) {
+    rc = ENOMEM;  // NFS4ERR_TOOSMALL
+    goto xerror;
+  }
+  lg_buf = (struct nfsd4_pnfs_layoutlist *)cxiMallocUnpinned(len);
+  if (lg_buf == NULL) {
+    rc = ENOMEM;
+    goto xerror;
+  }
+  memset(lg_buf, 0, len);
+  layout->lg_llist = lg_buf;
+  left = left - len;
+
+  for (i = 0; i < nDests; i++)
+  {
+    /* make both device id and device address be the same for now */
+    lg_buf[i].dev_ids.len = 1;  //??? can return a list of dev ids ????
+    lg_buf[i].dev_ids.list = (u32 *)cxiMallocUnpinned(sizeof(u32)*lg_buf[i].dev_ids.len);
+    if (lg_buf[i].dev_ids.list == NULL) {
+      rc = ENOMEM;
+      goto xerror;
+    }
+    lg_buf[i].dev_ids.list[0] = idList[i];
+    layout->lg_llistlen++;
+    lg_buf[i].fhp = (struct knfsd_fh *)&gl->lg_fh;
+
+#ifdef GPFS_PRINTK
+    printk("cxiGetLayout index %d id %d xid 0x%lX len %d\n",
+           i, idList[i], idList[i], len);
+#endif
+    TRACE3(TRACE_VNODE, 2, TRCID_CXI_GET_LAYOUT_P1,
+           "cxiGetLayout index %d id 0x%lX len %d\n",
+           i, idList[i], len);
+
+  }
+  if (i == 0) {
+    layout->lg_llistlen = 0;
+    cxiFreeUnpinned(lg_buf);
+  }
+
+#ifdef GPFS_PRINTK
+  printk("cxiGetLayout: type %d iomode %d offset %lld length %lld minlength %lld mxcnt %d ops %p layouts %p\n",
+  gl->lg_type, gl->lg_iomode, gl->lg_offset, gl->lg_length, gl->lg_minlength,
+  gl->lg_mxcnt, gl->lg_ops, gl->lg_layout);
+
+  printfh("cxiGetLayout:", gl->lg_fh);
+
+  printk("cxiGetLayout: layout stripe_type %d stripe_unit %lld file_size %lld llistlen %d llist %p\n",
+  layout->lg_stripe_type, layout->lg_stripe_unit,layout->lg_file_size,
+  layout->lg_llistlen,layout->lg_llist);
+#endif
+
+exit:
+
+  TRACE3(TRACE_VNODE, 2, TRCID_CXI_GET_LAYOUT_EXIT,
+         "cxiGetLayout exit: rc %d len %d p 0x%lX", rc, len, p);
+
+  return rc;
+
+xerror:
+
+  if (lg_buf) {
+    gl->lg_length = 0;
+    for (i = 0; i < nDests; i++)
+    {
+      cxiFreeUnpinned(lg_buf[i].dev_ids.list);
+    }
+    cxiFreeUnpinned(lg_buf);
+  }
+  if (layout)
+    cxiFreeUnpinned(layout);
+
+  goto exit;
+}
+#endif
+
+int cxiCheckThreadState(cxiThreadId tid)
+{
+  struct task_struct *t, *g;
+  int rc = ENOENT;
+
+  // read_lock(&tasklist_lock);
+  rcu_read_lock();  
+
+  DO_EACH_THREAD(g,t)
+  {
+    /* We are looking for a thread with a given tid and the same parent as
+       the caller (the caller must be another mmfsd thread */
+    if (t->pid == tid &&
+        cxiStrcmp(t->comm, current->comm) == 0)
+    {
+      rc = 0;
+      break;
+    }
+  } WHILE_EACH_THREAD(g,t);
+  // read_unlock(&tasklist_lock);
+  rcu_read_unlock(); 
+
+  return rc;
+}
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cxiVFSStats.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cxiVFSStats.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/cxiVFSStats.c	(revision 16)
@@ -0,0 +1,95 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)17       1.3  src/avs/fs/mmfs/ts/kernext/gpl-linux/cxiVFSStats.c, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:23:19 */
+/*
+ * Linux implementation of VFSStatPoint
+ *
+ */
+
+#include <Shark-gpl.h>
+
+#define DEFINE_VFSSTATS_GBL_VARS /* allocate storage for trace globals */
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/slab.h>
+
+#include <cxiSystem.h>
+#include <cxiVFSStats.h>
+
+void VFSStatPoint_begin(VFSStatPoint_t *objPtr, enum VFSStatItem i)
+{
+  cxiGetTOD(&(objPtr->beginTime));
+  objPtr->statItem = i;
+}
+
+void VFSStatPoint_end(VFSStatPoint_t *objPtr)
+{
+  cxiTimeStruc_t endTime;
+  cxiTimeStruc_t t;
+
+  if (objPtr->statItem != nullCall)
+  {
+    /* Get the current time and store in endTime */
+    cxiGetTOD(&endTime);
+
+    /* Calculate the new value of totalTime in vfsStats.data[statItem] as
+         totalTime = totalTime + (endTime - beginTime) */
+    t.tv_sec = vfsStats.data[objPtr->statItem].totalTime.tv_sec
+                + endTime.tv_sec - objPtr->beginTime.tv_sec;
+    t.tv_nsec = vfsStats.data[objPtr->statItem].totalTime.tv_nsec
+                 + endTime.tv_nsec - objPtr->beginTime.tv_nsec;
+    if (t.tv_nsec >= 1000000000)
+    {
+      t.tv_sec++;
+      t.tv_nsec -= 1000000000;
+    }
+    else if (t.tv_nsec < 0)
+    {
+      t.tv_sec--;
+      t.tv_nsec += 1000000000;
+    }
+
+    /* update the count and value of totalTime in vfsStats.data[statItem] */
+    vfsStats.data[objPtr->statItem].cnt++;
+    vfsStats.data[objPtr->statItem].totalTime = t;
+  }
+}
+
+#ifdef KCSTRACE
+void cxiKcsTraceInfo(int index, int value)
+{
+  current->kcst_info.data[index] = value;
+}
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/dir.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/dir.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/dir.c	(revision 16)
@@ -0,0 +1,569 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)94       1.48  src/avs/fs/mmfs/ts/kernext/gpl-linux/dir.c, mmfs, avs_rgpfs24, rgpfs240610b 11/8/05 10:20:56 */
+
+#define __NO_VERSION__
+
+#ifndef __KERNEL__
+#define __KERNEL__
+#endif
+
+#include <Shark-gpl.h>
+
+#include <linux/fs.h>
+#include <linux/sched.h>
+
+#include <linux2gpfs.h>
+#include <cxiSystem.h>
+#include <cxiTypes.h>
+#include <cxiIOBuffer.h>
+#include <cxiSharedSeg.h>
+#include <cxiCred.h>
+#include <cxi2gpfs.h>
+#include <Trace.h>
+#include <verdep.h>
+
+
+/* About dcache revalidation:
+
+   The Linux directory cache (dcache) is used to cache the result of name
+   lookups.  Linux caches positive as well as negative lookup results in its
+   dcache entries (struct dentry): if the file existed at the time the last
+   lookup was done (positive lookup), dentry->d_inode will point to the struct
+   inode of the file; if the file did not exist (negative lookup),
+   dentry->d_inode will be null.
+
+   When a directory is modified on the local node, Linux will update its
+   dcache entries accordingly.  When the directory is modified on another
+   node, however, we need to invalidate local dcache entries:
+
+    - A negative dcache entry becomes invalid when a file by the same name is
+      created on another node.  This requires an exclusive byte-range token on
+      the directory block in which the lookup was done that resulted in the
+      dcache entry.  Hence, when we lose a byte-range token on a directory, we
+      invalidate all negative dcache entries for lookups that were done in
+      that directory.  This is done by a call to kxinvalidateOSNode with
+      KXIVO_NEGDCACHE, which will result in a call to
+      cxiInvalidateNegDCacheEntry() implemented here.
+
+    - A positive dcache entry becomes invalid when the file it refers to
+      is deleted, moved, or renamed on another node.  All of these operations
+      require an exclusive inode lock.  Hence we invalidate a positive dcache
+      entry when we lose the inode token for the file.  This more selective
+      invalidation of positive dcache entries is more efficient than simply
+      invalidating all dcache entries when we lose a byte-range token on the
+      directory.  The invalidation is done by a call to kxinvalidateOSNode
+      with CXI_IC_DCACHE, which will result in a call to
+      cxiInvalidateDCacheEntry() implemented here.
+
+   To invalidate a dcache entry Linux defines a d_revalidate function in the
+   dentry_operations table.  This function is supposed to check whether the
+   dcache entry is still valid and return 'true' or 'false' accordingly.
+   If no d_revalidate function is given in the dentry_operations table,
+   Linux assumes the dentry is valid.  Hence the most efficient way
+   of marking a dentry as valid or invalid is to have the d_ops field in
+   the dentry point to one of two different dentry_operations tables:
+   one where the d_revalidate field is NULL (means the dentry is valid),
+   and one where d_revalidate points at a function that always returns false
+   (means the dentry is invalid). */
+
+
+/* This call handles pruning off all unheld dentries pointing at an 
+ * inode. Normally pruning is not done by any daemon thread directly 
+ * (ie. token revoke) because d_prune_aliases may initiate a string of 
+ * callbacks due to iput.  These callbacks may need to communicate back 
+ * to the daemon which can be problematic if there is a mailbox shortage. 
+ * Hence most dentry invalidation marks the cxiNode as needing a dentry 
+ * prune and the GPFS swapd is notified to call cxiPruneDCacheEntry in a 
+ * separate thread.
+ *
+ * Caller must be prepared to receive iput() callback into GPFS.
+ * Caller must have a reference on cxiNode_t to ensure it doesn't 
+ * go away during processing.
+ */
+int
+cxiPruneDCacheEntry(cxiNode_t *cnP)
+{
+  struct inode *iP = (struct inode *)cnP->osNodeP;
+  struct list_head *dListP, *dHeadP;
+  struct dentry *dentry;
+  Boolean hasSubdirs = false;
+  int refCount = 0;
+
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 4, TRCID_PRUNE_DCACHE,
+         "cxiPruneDCacheEntry: iP 0x%lX inode %d", iP, iP->i_ino);
+
+  /* About to prune it so flag is no longer needed */
+  ClearCtFlag(cnP, pruneDCacheNeeded);
+
+  /* This call prunes any unheld dentries pointing at the inode */
+  d_prune_aliases(iP);
+
+  /* Traverse the list of all dentries that still refer to this file. */
+  dHeadP = &iP->i_dentry;
+  spin_lock(&dcache_lock);
+  for (dListP = dHeadP->next; dListP != dHeadP; dListP = dListP->next)
+  {
+    /* count dentries that still refer to this file */
+    refCount++;
+
+    dentry = list_entry(dListP, struct dentry, d_alias);
+    hasSubdirs = !list_empty(&dentry->d_subdirs);
+
+    TRACE5N(TRACE_VNODE, 4, TRCID_PRUNE_DCACHE_ALIAS,
+           "cxiPruneDCacheEntry: ip 0x%lX ino %d alias dentry 0x%lX "
+           "hasSubdirs %d name '%s'", iP, iP->i_ino, dentry, 
+           hasSubdirs, dentry->d_name.name);
+
+    /* Attempt to prune unused children.  Helps keep stat cache manageable */
+    if (hasSubdirs)
+    {
+      dget_locked(dentry);
+      spin_unlock(&dcache_lock);
+
+      /* This call walks the tree starting at this parent dentry and 
+       * will successfully uncache child dentries that aren't held by
+       * user programs and iput their associated inodes (resulting in 
+       * many cases of the inode i_count going to 0.  iput() may however
+       * just put these inodes on the unused list if they are still 
+       * valid (i_nlink > 0) and linked on i_hash.  Thus in many cases while
+       * the dentries immediately disappear their associated inode don't
+       * have an immediate clear_inode() called on them.  Subsequent 
+       * pruning (by kswapd) should shrink the icache for unused inodes
+       * resulting in the gpfs_s_clear_inode callback for these inodes.
+       */
+      shrink_dcache_parent(dentry);
+      dput(dentry);
+ 
+      /* For directories we don't support hard links so we shouldn't
+       * have multiple dentries that need to be pruned.  Hence
+       * after having dropped the dcache lock we break out of this
+       * for loop.
+       */
+      break;
+    }
+  }
+  if (!hasSubdirs)
+     spin_unlock(&dcache_lock);
+
+  EXIT(0);
+  return refCount;
+}
+
+/* Mark the dentry as needing a revalidate.  Called after losing
+ * a token protecting the attributes of this dcache entry.
+ */
+int
+cxiInvalidateDCacheEntry(cxiNode_t *cnP)
+{
+  struct inode *iP = (struct inode *)cnP->osNodeP;
+  struct list_head *dListP, *dHeadP;
+  struct dentry *dentry;
+  int refCount = 0;
+
+  /* Traverse the list of all dentries that refer to this file. */
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 4, TRCID_INVAL_DCACHE,
+         "cxiInvalidateDCacheEntry: ip 0x%lX inode %d", iP, iP->i_ino);
+
+  dHeadP = &iP->i_dentry;
+  spin_lock(&dcache_lock);
+  for (dListP = dHeadP->next; dListP != dHeadP; dListP = dListP->next)
+  {
+    refCount++;
+
+    /* Mark the entry as needing revalidation by setting the d_op 
+     * function table to gpfs_dops_revalidate.  Since this dentry
+     * is staying in the vfs we can't declare it invalid, or a legitimate
+     * stat on it may return ESTALE.  
+     * Scenario: node a) mkdir foo; cd foo
+     *           node b) chmod 500 foo
+     *           node a) ls -al
+     * must succeed.
+     */
+    dentry = list_entry(dListP, struct dentry, d_alias);
+    dentry->d_op = &gpfs_dops_revalidate;
+
+    TRACE4N(TRACE_VNODE, 4, TRCID_INVAL_DCACHE_ALIAS,
+           "cxiInvalidateDCacheEntry: ip 0x%lX ino %d "
+           "alias dentry 0x%lX name '%s'",
+           iP, iP->i_ino, dentry, dentry->d_name.name);
+
+    if (TestCtFlag(cnP, destroyIfDelInode))  
+    {
+      /* If the file was deleted, marking the dentry invalid is not
+       * sufficient.  If we leave the dentry in the cache marked as
+       * invalid, it will remain in the cache until:
+       *
+       *  a) if it has a zero d_count then the scheduled GPFS swapd 
+       *     d_prune_aliases will get rid of it
+       *  b) if it has a nonzero d_count (it's open) then d_prune_aliases
+       *     would not prune it and it would stay in the cache until the
+       *     next lookup finds it and calls d_invalidate, which might not
+       *     ever happen.
+       *
+       * Thus we drop the dentry and the final close or schedule 
+       * d_prune_aliases will remove it.
+       */
+      DENTRY_DROP(dentry);
+    }
+
+    /* Dentries for this cxiNode_t should be pruned by GPFS swapd thread
+     * which will be signalled by the caller of this routine.
+     */
+    SetCtFlag(cnP, pruneDCacheNeeded);
+  }
+  spin_unlock(&dcache_lock);
+
+  EXIT(0);
+  return refCount;
+}
+
+/* The following function is called to remove invalid dcache entries for a
+   file when the file is deleted on this node.
+     Such invalid dcache entries occur when a file is renamed on another node
+   before it is deleted here.  The rename revokes the inode token, which marks
+   the dcache entry invalid, but does not remove it from the cache on this
+   node.  When the file is deleted, the delete operation on this node will
+   look up the file under its new name and turn the (new) dcache entry into a
+   negative dcache entry, but since the file was renamed, it will not find or
+   process the old, invalid dcache entry (the one referring to the old file
+   name).  This function is called during delete (when the link count goes to
+   zero) to remove old, invalid dcache entries, so the file can be destroyed.
+     The function is similar to cxiInvalidateDCacheEntry, with the following
+   differences: (1) it is only called on files that are being deleted (link
+   count zero and destroyIfDelInode flag already set), (2) it does not mark
+   any dcache entries as invalid; instead, it (3) only drops dcache entries
+   that are already marked as invalid.  In particular, we do not want to
+   invalidate the dcache entry referring to the current name being unlinked,
+   because unlink will turn this into a valid, negative dcache entry. */
+void
+cxiDropInvalidDCacheEntry(cxiNode_t *cnP)
+{
+  struct inode *iP = (struct inode *)cnP->osNodeP;
+  struct list_head *dListP, *dHeadP;
+  struct dentry *dentry;
+  int holdCount;
+
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 4, TRCID_DROP_INVAL_DCACHE,
+         "cxiDropInvalidDCacheEntry: iP 0x%lX i_ino %d",
+         iP, iP->i_ino);
+
+  DBGASSERT(TestCtFlag(cnP, destroyIfDelInode));
+
+  /* Traverse the list of all dentries that still refer to this file. */
+  dHeadP = &iP->i_dentry;
+  spin_lock(&dcache_lock);
+  for (dListP = dHeadP->next; dListP != dHeadP; dListP = dListP->next)
+  {
+    /* Check whether this dentry mas been marked invalid */
+    dentry = list_entry(dListP, struct dentry, d_alias);
+    if (dentry->d_op == &gpfs_dops_invalid ||
+        dentry->d_op == &gpfs_dops_revalidate)
+    {
+      TRACE4N(TRACE_VNODE, 4, TRCID_DROP_INVAL_DCACHE_ALIAS,
+             "cxiDropInvalidDCacheEntry: ip 0x%lX ino %d "
+             "removing dentry 0x%lX name '%s'\n",
+             iP, iP->i_ino, dentry, dentry->d_name.name);
+
+      /* Drop the dcache entry.  See details in cxiInvalidateDCacheEntry */
+      DENTRY_DROP(dentry);
+
+      /* Dentries for this cxiNode_t should be pruned */
+      SetCtFlag(cnP, pruneDCacheNeeded);
+    }
+  }
+  spin_unlock(&dcache_lock);
+  EXIT(0);
+}
+
+/* The following function is called to invalidate negative dcache entries for
+   all files in a directory when we lose the BR token for the directory. */
+int
+cxiInvalidateNegDCacheEntry(cxiNode_t *cnP)
+{
+  struct inode *iP = (struct inode *)cnP->osNodeP;
+  struct list_head *dListP, *dHeadP;
+  struct list_head *cListP, *cHeadP;
+  struct dentry *dentry, *child;
+  int refCount = 0;
+
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 4, TRCID_INVAL_NEG_DCACHE,
+         "cxiInvalidateNegDCacheEntry: iP 0x%lX inode %d",
+         iP, iP->i_ino);
+
+  /* Traverse the list of all dentries that refer to this directory.
+     Note: since we don't support hard links to directories, we expect
+     there to be exactly one dentry on this list. */
+  dHeadP = &iP->i_dentry;
+  spin_lock(&dcache_lock);
+  for (dListP = dHeadP->next; dListP != dHeadP; dListP = dListP->next)
+  {
+    refCount++;
+
+    /* traverse the list of all children of this dentry */
+    dentry = list_entry(dListP, struct dentry, d_alias);
+    cHeadP = &dentry->d_subdirs;
+    for (cListP = cHeadP->next; cListP != cHeadP; cListP = cListP->next)
+    {
+      /* If this child is a negative dentry (d_inode pointer is NULL),
+         mark the entry invalid by setting the dop function table to
+         gpfs_dops_invalid, which contains a d_revalidate function that
+         always returns false.  Also handle dcache entries that are
+         about to be deleted (unlink operation pending but not yet complete).
+         These entries still have a non-null d_inode pointer, but are
+         marked as "delete pending" by having a different d_op table.
+         We should not mark the latter as invalid, because we don't know
+         yet whether the delete operation is going to succeed, so we mark
+         those dentries as "needing revalidation".  (see also comments
+         in gpfs_i_unlink and gpfs_i_rmdir). */
+      child = list_entry(cListP, struct dentry, d_child);
+      if (!child->d_inode || child->d_op == &gpfs_dops_ddeletepending)
+      {
+        child->d_op = !child->d_inode ?
+          &gpfs_dops_invalid : &gpfs_dops_revalidate;
+
+        TRACE5N(TRACE_VNODE, 4, TRCID_INVAL_NEG_DUNCACHE,
+                "cxiInvalidateNegDCacheEntry: ip 0x%lX ino %d "
+                "%s dentry 0x%lX name '%s'",
+                iP, iP->i_ino, 
+                !child->d_inode ? "inval" : "reval",
+                child, child->d_name.name);
+      }
+    }
+  }
+  spin_unlock(&dcache_lock);
+ 
+  EXIT(0);
+  return refCount;
+}
+
+/* dentry_operations */
+
+/* The d_revalidate function is expected to check whether the directory entry
+ * cached in the given dentry struct is still valid.  
+ */
+int
+#if LINUX_KERNEL_VERSION >= 2060000
+gpfs_d_invalid(struct dentry *dentry, struct nameidata *ni)
+#else
+gpfs_d_invalid(struct dentry *dentry, int flags)
+#endif
+{
+  TRACE3(TRACE_VNODE, 4, TRCID_DIR_001,
+         "gpfs_d_invalid: dentry 0x%lX d_inode 0x%lX name '%s' is invalid",
+         dentry, dentry->d_inode, dentry->d_name.name);
+  return false;
+}
+
+int
+#if LINUX_KERNEL_VERSION >= 2060000
+gpfs_d_revalidate(struct dentry *dentry, struct nameidata *ni)
+#else
+gpfs_d_revalidate(struct dentry *dentry, int flags)
+#endif
+{
+  int rc;
+  cxiNode_t *dcnP;
+  cxiNode_t *cnP = NULL;
+  struct inode *diP;
+  struct inode *newInodeP;
+  struct gpfsVfsData_t *privVfsP;
+  cxiIno_t iNum = (cxiIno_t)-1;
+  ext_cred_t eCred;
+  struct dentry *retP;
+
+  ENTER(0);
+  TRACE6(TRACE_VNODE, 4, TRCID_DIR_REVALIDATE,
+         "gpfs_d_revalidate enter: dentry 0x%lX "
+         "d_inode 0x%lX inum %d parent 0x%lX cwd 0x%lX d_name '%s'",
+         dentry, dentry->d_inode,
+         dentry->d_inode ? dentry->d_inode->i_ino : -1,
+         dentry->d_parent, current->fs->pwd, dentry->d_name.name);
+
+  rc = gpfs_i_revalidate(dentry);
+
+  /* We're going to need to revalidate this according to its name.
+   * The scenario that caused us problems is:
+   *  
+   *   Node a) mkdir dir1; touch dir1/file1
+   *   Node b) mv dir1 dir2
+   *   Node a) ls -al dir1
+   *
+   * This code used to just revalidate the inode (gpfs_i_revalidate)
+   * which would succeed since the dir1 inode is indeed still valid.
+   * However its name has now changed to dir2 and thus this lookup
+   * with its last known name is performed.  We don't perform this
+   * lookup for the root inode.  We didn't have to do this before
+   * RH 2.4.18-5 (unusual fix for NFS is in that kernel) but now 
+   * we have to go thru these machinations.  Most of this is a 
+   * tradeoff and doesn't give exactly correct semantics.  
+   *
+   * For instance normally on a local node directory rename the dentry
+   * gets moved over to its new position via d_move.  However in our 
+   * case we don't know what the new name is since we've just lost 
+   * the token and have no other info.  If a process is sitting in this
+   * renamed directory structure then it has to remain valid for that
+   * process but none other.  We unhash the directory so no other 
+   * process can step into that subtree but continue to say its valid
+   * if (d_count > 1).  At that point the only process calling d_revalidate
+   * would be a process with it's current working directory in that 
+   * subtree.  However this breaks down if the process needs to back
+   * up into a parent directory, since d_revalidate starts from outside
+   * the renamed subtree and can't proceed into the unhashed directory.
+   * Thus you get an odd 
+   *   getcwd: cannot access parent directories: No such file or directory
+   * ancillary message but you can cd backwards correctly.
+   *
+   * Another idea attempted was looking at the process' cwd in the 
+   * task struct and answering whether the dentry was valid on a 
+   * per process basis.  This gave odd semantics because a process
+   * could list the parent directory and not see the renamed child
+   * but could still cd into it (because it was still hashed).  That
+   * breaks down completely if another node makes a directory of the
+   * old name in the parent.
+   *
+   * So if we can't use d_move...which it doesn't appear possible to
+   * do, at a minimum you have to unhash the directory if it no 
+   * longer has the correct name or inode.  
+   *
+   * Note that once a process steps out of the renamed dentry then
+   * the final dput will kill the dentry.
+   */
+  if (rc == 0 && dentry->d_inode->i_ino != INODENUM_ROOTDIR_FILE)
+  {
+    setCred(&eCred);
+
+    privVfsP = VP_TO_PVP(dentry->d_inode);
+    DBGASSERT(privVfsP != NULL);
+    LOGASSERT(dentry->d_parent != NULL);
+
+    diP = dentry->d_parent->d_inode;
+    dcnP = VP_TO_CNP(diP);
+
+    rc = gpfs_ops.gpfsLookup(privVfsP, (void *)diP, dcnP,
+                             NULL, (char *)dentry->d_name.name,
+                             (void **)&newInodeP, &cnP, &iNum, NULL,
+                             NULL, &eCred, (void **)&retP);
+    if (rc == 0)
+    {
+      iput(newInodeP); 
+
+      if (iNum != dentry->d_inode->i_ino)
+        rc = ESTALE;
+    }
+
+    /* The name is either no longer valid or has been renamed
+     * and recreated with a different inode.  We need to drop
+     * the dentry from the hash list so another process can't 
+     * proceed into that tree.
+     */
+    if (rc)
+    {
+      DENTRY_D_DROP(dentry);
+
+      d_prune_aliases(dentry->d_inode);
+
+      /* If the dentry still has processes sitting underneath
+       * it we'll still claim its valid.
+       */
+      if (atomic_read(&dentry->d_count) > 1)
+        rc = 0;
+    }
+  }
+ 
+xerror:
+  TRACE2(TRACE_VNODE, 4, TRCID_DIR_REVALIDATE_EX,
+         "gpfs_d_revalidate exit: dentry 0x%lX rc %d\n",
+         dentry, rc);
+  EXIT(0);
+  if (rc)
+    return false;
+  else
+    return true;
+}
+
+#ifdef CCL
+/* The d_revalidate function checks whether the directory entry
+   cached in the given dentry struct is still valid.
+   Any dentry referencing this operation is
+   a positive dentry that was created for
+   an inexact caseless file name match for a Samba client.
+   The d_revalidate returns "true" for subsequent Samba clients
+   indicating that the positive dcache entry is still valid.
+   It returns "false" for local or NFS clients indicating
+   that the dcache entry is no longer valid which forces
+   a new lookup. */
+int
+#if LINUX_KERNEL_VERSION >= 2060000
+gpfs_d_valid_if_Samba(struct dentry *dentry, struct nameidata *ni)
+#else
+gpfs_d_valid_if_Samba(struct dentry *dentry, int flags)
+#endif
+{
+  TRACE4(TRACE_VNODE, 4, TRCID_DIR_VALID_IF_SAMBA,
+         "gpfs_d_valid_if_Samba: dentry 0x%lX "
+           "d_inode 0x%lX (name '%s') returns %s\n",
+         dentry, dentry->d_inode, dentry->d_name.name,
+         (cxiIsSambaThread() ? "true" : "false"));
+  return cxiIsSambaThread();
+}
+
+/* The d_revalidate function checks whether the directory entry
+   cached in the given dentry struct is still valid.
+   Any dentry referencing this operation is
+   a negative dentry that was created for
+   an exact file name match which failed for a local or NFS client.
+   The d_revalidate returns "true" for subsequent local or NFS clients
+   indicating that the negative dcache entry is still valid.
+   It returns "false" for Samba clients indicating
+   that the dcache entry is no longer valid which forces
+   a new lookup. */
+int
+#if LINUX_KERNEL_VERSION >= 2060000
+gpfs_d_invalid_if_Samba(struct dentry *dentry, struct nameidata *ni)
+#else
+gpfs_d_invalid_if_Samba(struct dentry *dentry, int flags)
+#endif
+{
+  TRACE4(TRACE_VNODE, 4, TRCID_DIR_INVALID_IF_SAMBA,
+         "gpfs_d_invalid_if_Samba: dentry 0x%lX "
+           "d_inode 0x%lX (name '%s') returns %s\n",
+         dentry, dentry->d_inode, dentry->d_name.name,
+         (cxiIsSambaThread() ? "false" : "true"));
+  return !cxiIsSambaThread();
+}
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/dmapi.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/dmapi.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/dmapi.c	(revision 16)
@@ -0,0 +1,143 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)11       1.7  src/avs/fs/mmfs/ts/kernext/gpl-linux/dmapi.c, mmfs, avs_rgpfs24, rgpfs240610b 5/3/04 15:03:02 */
+
+#include <Shark-gpl.h>
+#include <linux/fs.h>
+#include <linux/string.h>
+#include <linux/file.h>
+#if LINUX_KERNEL_VERSION >= 2050000
+#include <linux/namei.h>
+#endif
+#include <cxiSystem.h>
+#include <cxiCred.h>
+
+/*
+#ifndef _KERNEL
+#define _KERNEL
+#include <cxi2gpfs.h>
+#undef _KERNEL
+#else
+#include <cxi2gpfs.h>
+#endif
+*/
+#include <linux2gpfs.h>
+#include <Trace.h>
+
+Boolean
+cxiIsReadOnlyMnt( void *vfsP)
+{
+  struct super_block *sbP = (struct super_block *)vfsP;
+  Boolean rc = (sbP->s_flags & MS_RDONLY);
+  return rc;  
+}
+
+int
+cxiGetFileAndVp(int fd, void **fileP, void **iPP)
+{
+  struct file *fP = NULL;
+  struct inode *iP = NULL;
+  *fileP = NULL;
+  *iPP = NULL;
+  fP = fget(fd);
+  if (fP == NULL)
+    return EBADF;
+
+  *fileP = (void *)fP;
+  iP = fP->f_dentry->d_inode;
+  *iPP = (void *)iP;
+  return 0;
+}
+
+void
+cxiReleaseFile(int fd, void *fP)
+{
+  struct file *fileP = (struct file *)fP;
+  fput(fileP);
+}
+
+Boolean
+cxiMountedOverVfsType(void *vfsP)
+{
+   struct super_block *sbP = (struct super_block *)vfsP;
+   if (strcmp(sbP->s_type->name, "gpfs") == 0)
+     return true;
+   else
+     return false;
+} 
+  
+void
+cxiGetMountedOverOSNode(void *vfsP, void **mntdovervfsP, 
+                        cxiNode_t **cnP)
+{ 
+   struct super_block *sbP = (struct super_block *)vfsP;
+   struct list_head *p;
+   struct vfsmount *tmp, *parent;
+   struct inode *mntdvverrootIP = NULL;
+   struct super_block *parentsbP; 
+   *mntdovervfsP = NULL;
+   *cnP = NULL;
+#if 0
+   spin_lock(&dcache_lock);
+   list_for_each(p, &sbP->s_mounts) 
+   {
+     tmp = list_entry(p, struct vfsmount, mnt_instances);
+     parent = tmp->mnt_parent;
+     parentsbP = parent->mnt_sb; 
+     if (parentsbP == sbP && cxiMountedOverVfsType((void *)parentsbP))
+     {
+       *mntdovervfsP = (void *)parentsbP->u.generic_sbp;
+       LOGASSERT(*mntdovervfsP != NULL);
+       mntdvverrootIP = (struct inode *)parentsbP->s_root->d_inode;
+       LOGASSERT(mntdvverrootIP != NULL);
+       *cnP = VP_TO_CNP(mntdvverrootIP); 
+       break;
+     }
+   }
+   spin_unlock(&dcache_lock);
+#endif
+}  
+   
+void
+cxiGetRootInode(void *vfsP, cxiNode_t **cnP)
+{
+  struct super_block *sbP = (struct super_block *)vfsP;
+  struct inode *rootIP; 
+  if ( sbP->s_root )
+  {
+    rootIP = (struct inode *)sbP->s_root->d_inode;
+    LOGASSERT(rootIP != NULL);
+    *cnP = VP_TO_CNP(rootIP);
+  }
+}
+    
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/dumpconv.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/dumpconv.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/dumpconv.c	(revision 16)
@@ -0,0 +1,136 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+static char sccsid[] = "@(#)00	1.1  src/avs/fs/mmfs/ts/kernext/gpl-linux/dumpconv.c, mmfs, avs_rgpfs24, rgpfs240610b 10/9/01 13:11:31";
+
+/* 
+ * A conversion program for translating output from 
+ * the lcrash internal "dump -B" command into binary format.
+ * This command expects an input file that was written via
+ *
+ *   dump -B <address> <bytecount> -w <outfile>
+ * 
+ * The "dump -B" command produces output such as this
+ *
+ * 0xc8b63000: 71 82 e9 ac fd d6 bc 3b c0 5f 0d 00 c0 0c 00 00 : q......;._.....
+ * 0xc8b63010: 00 00 0c 00 6a 3c 70 30 01 fa 00 00 58 05 38 08 : ....j<p0....X.8
+ * 0xc8b63020: 71 82 e9 ac fe d6 bc 3b ef ac 01 00 c1 0c 00 00 : q......;.......
+ *
+ * Usage:
+ *   dumpconv <lcrashDumpFile> <outBinaryFile>
+ */
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+int
+convert(FILE *fp, int fd)
+{
+  unsigned int hex;
+  unsigned char byte;
+  char string[160];
+  int i, rc, found;
+
+  while (fgets(string, sizeof(string), fp) != NULL)
+  {
+    found = 0;
+    for (i = 0; i < sizeof(string); i++)
+    {
+      if (string[i] == ':')
+      {
+        found = 1;
+        break;
+      }
+    }
+
+    if (!found)
+      goto xerror;
+    
+    found = 0;
+    for (i = i + 1; i < sizeof(string); i++)
+    {
+      if (string[i] == ' ')
+        continue;
+      if (string[i] == ':')
+      {
+        found = 1;
+        break;
+      }
+
+      rc = sscanf(&string[i], "%2x", &hex);
+      if (rc == 0)
+        goto xerror;
+      i = i + 1;  /* read two digits */
+
+      byte = (char)hex;
+      write(fd, (void *)&byte, 1);
+    }
+
+    if (!found)
+      goto xerror;
+  }
+  return 0;
+
+xerror:
+  printf("Confused by: %s\n", string);
+  return -1;
+}
+
+int
+main(int argc, char **argv)
+{
+  FILE *fp;
+  int fd;
+
+  if (argc != 3)
+  {
+    printf("dumpconv <lcrashDumpFile> <outBinaryFile>\n");
+    exit(1);
+  }
+
+  fp = fopen(argv[1], "r");
+  if (fp == NULL)
+  {
+    perror("fopen");
+    exit(1);
+  }
+
+  fd = open(argv[2], O_WRONLY | O_CREAT | O_TRUNC, 0600);
+  if (fd < 0)
+  {
+    perror("open");
+    exit(2);
+  }
+
+  convert(fp, fd);
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/file.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/file.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/file.c	(revision 16)
@@ -0,0 +1,1618 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)95       1.95.1.8  src/avs/fs/mmfs/ts/kernext/gpl-linux/file.c, mmfs, avs_rgpfs24, rgpfs24s012a 4/30/07 20:13:26 */
+/*
+ * File operations
+ *
+ * Contents:
+ *   gpfs_f_llseek
+ *   gpfs_f_readdir
+ *   gpfs_f_poll
+ *   gpfs_f_ioctl
+ *   gpfs_filemap_open
+ *   gpfs_filemap_close
+ *   gpfs_filemap_nopage       (in mmap.c)
+ *   gpfs_filemap_nopagedone   (in mmap.c)
+ *   gpfs_f_mmap
+ *   gpfs_f_open
+ *   gpfs_f_release
+ *   gpfs_f_fsync
+ *   gpfs_f_fasync
+ *   fsyncInternal
+ *   gpfs_f_lock
+ *   gpfs_f_flock
+ *   rdwrInternal
+ *   gpfs_f_read
+ *   gpfs_f_dir_read
+ *   gpfs_f_write
+ *   gpfs_f_readv
+ *   gpfs_f_writev
+ *   gpfs_f_cleanup
+ *
+ */
+
+#include <Shark-gpl.h>
+
+#include <linux/fs.h>
+#include <linux/errno.h>
+#include <linux/stat.h>
+#include <linux/fcntl.h>
+#ifdef MODULE
+#include <linux/module.h>
+#endif
+#include <linux/slab.h>
+#include <linux/smp_lock.h>
+#include <linux/mm.h>
+#include <linux/mman.h>
+#ifdef NFS4_CLUSTER
+#include <linux/nfs4.h>
+#endif /* NFS4_CLUSTER */
+#if LINUX_KERNEL_VERSION >= 2050000
+#include <linux/pagemap.h>
+#include <linux/page-flags.h>
+#endif
+
+#include <linux2gpfs.h>
+#ifdef P_NFS4
+#include <linux/sunrpc/svc.h>
+#include <linux/nfsd/nfsfh.h>
+#include <linux/nfsd/nfsd4_pnfs.h>
+#include <linux/nfsd/pnfsd.h>
+#endif
+#include <cxiTypes.h>
+#include <cxiSystem.h>
+#include <cxiMode.h>
+#include <cxi2gpfs.h>
+#include <cxiVFSStats.h>
+#include <cxiCred.h>
+#include <cxiIOBuffer.h>
+#include <cxiMmap.h>
+#include <Trace.h>
+#include <verdep.h>
+
+
+/* prototypes */
+static int fsyncInternal(struct file *fP);
+
+/* file_operations */
+
+loff_t
+gpfs_f_llseek(struct file *fP, loff_t offset, int origin)
+{
+  struct inode *iP = fP->f_dentry->d_inode;
+  loff_t rc = -EINVAL;
+
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_LLSEEK_ENTER,
+         "gpfs_f_llseek enter: fP 0x%lX offset 0x%llX origin %d\n",
+         fP, offset, origin);
+  /* BKL is held at entry */
+
+  switch (origin)
+  {
+    case 2:
+      gpfs_i_getattr_internal(iP);
+      offset += iP->i_size;
+      break;
+
+    case 1:
+      offset += fP->f_pos;
+  }
+
+  if (offset >= 0)
+  {
+    rc = offset;
+    if (offset != fP->f_pos)
+    {
+      fP->f_pos = offset;
+#if LINUX_KERNEL_VERSION < 2050000
+      fP->f_reada = 0;
+#endif
+    }
+  }
+  else
+    cxiErrorNFS(rc);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_LLSEEK_EXIT,
+         "gpfs_f_llseek exit: fP 0x%lX offset 0x%llX origin %d rc 0x%llX\n",
+         fP, offset, origin, rc);
+  EXIT(0);
+  return rc;
+}
+
+/* Save everything we need to make the OS-specific filldir call. */
+typedef struct {
+  offset_t  offset;
+  ino_t     ino;
+  int       namelen;
+  char      name[1];
+} fillDirEntry;
+
+/* gpfs_f_readdir provides a buffer for NFS_fillDir to place entries,
+ * and this structure to keep track of its use over successive calls.
+ */
+typedef struct {
+  fillDirEntry   *firstP;  /* first entry */
+  fillDirEntry   *endP;    /* buffer end  */
+  fillDirEntry   *bufferP; /* current location */
+} NFS_fillDirArgs;
+
+/* Return the location of our next filldir entry.  Allow for the size
+ * of the fillDirEntry struct plus the namelen.  Round to dblword.
+ */
+#define NEXT_FILLDIR_ENTRY(eP, len) \
+  (fillDirEntry *)((caddr_t)(eP)+(((sizeof(fillDirEntry)+(len)+3)>>2)<<2))
+
+/* Size of our NFS_fillDir buffer. */
+#define FILLDIR_BUFSIZE 700
+
+/* For NFS readdir, we provide our own filldir callback so that we can save
+ * the records until after we release our locks.  We can then make the real
+ * filldir calls without fear they will deadlock when they loopback to the 
+ * filesystem for permission checks, etc.
+ */
+int
+NFS_fillDir(void *myArgP, char *nameP, int namelen,
+            offset_t offset, const ino_t ino)
+{
+  NFS_fillDirArgs *argsP = (NFS_fillDirArgs *)myArgP;
+  fillDirEntry *entryP = argsP->bufferP;
+  fillDirEntry *nextP = NEXT_FILLDIR_ENTRY(entryP, namelen);
+
+  /* If this entry will not fit, report the full condition. */
+  if (nextP > argsP->endP)
+    return -EINVAL;
+
+  /* Save filldir information to make the real call later */
+  entryP->offset = offset;
+  entryP->ino = ino;
+  entryP->namelen = namelen;
+  cxiMemcpy(entryP->name, nameP, namelen+1);
+
+  /* Bump the entry location in arg structure for the next call */
+  argsP->bufferP = nextP;
+
+  return 0;
+}
+
+int
+gpfs_f_readdir(struct file *fP, void *direntP, filldir_t filldir)
+{
+  int rc;
+  Boolean klock = false;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP;
+  struct inode *iP;
+  cxiFillDirArg_t fillDirArg;
+  fillDirEntry *fillDirBuf = NULL;
+  NFS_fillDirArgs filldirArgs;
+
+  VFS_STAT_START(readdirCall);
+  ENTER(0);
+  DBGASSERT(fP != NULL);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_READDIR_ENTER,
+         "gpfs_f_readdir enter: fP 0x%lX direntP 0x%lX "
+         "filldir 0x%lX pos %lld\n", fP, direntP, filldir, fP->f_pos);
+  /* BKL is held at entry */
+
+  /* Quick check for EOF */
+  if (fP->f_pos == GPFS_DIR_EOF)
+  {
+    rc = 0;  // end-of-directory
+  }
+  else
+  {
+
+    iP = fP->f_dentry->d_inode;
+    DBGASSERT(iP != NULL);
+    cnP = VP_TO_CNP(iP);
+    privVfsP = VP_TO_PVP(iP);
+    DBGASSERT(privVfsP != NULL);
+
+    /* When called by NFS, wait to make the filldar calls until after
+     * we return from gpfsReaddir.  The NFS filldir implementation 
+     * includes callbacks (e.g., permission checks) into the filesystem 
+     * and these calls may result in getting locks out-of-order and 
+     * are therefore subject to deadlock.
+     */
+    if (cxiIsNFSThread())
+    {
+      /* Specify a special filldir function where we will save entry 
+       * information.  Upon our return from gpfsReaddir, we no longer 
+       * hold any locks so we will then go through these saved entries
+       * and make the real filldir calls.
+       */
+      fillDirArg.fnP = (void *)NFS_fillDir;
+      fillDirArg.argP = &filldirArgs;
+
+      fillDirBuf = (fillDirEntry *)cxiMallocPinned(FILLDIR_BUFSIZE);
+
+      filldirArgs.firstP = fillDirBuf;
+      filldirArgs.endP = (fillDirEntry *)((caddr_t)fillDirBuf + FILLDIR_BUFSIZE);
+      filldirArgs.bufferP = filldirArgs.firstP;
+    }
+    else
+    {
+      /* Unfortunately we can't use the OS version of the filldir 
+       * routine directly.  It has different signatures in varying
+       * kernel levels, so we use cxiFillDir() in the portability layer
+       * to handle the different signatures.
+       */
+      fillDirArg.fnP = (void *)filldir;
+      fillDirArg.argP = direntP;
+    }
+
+    if (kernel_locked())
+    {
+      unlock_kernel();
+      klock = true;
+    }
+    rc = gpfs_ops.gpfsReaddir(privVfsP, cnP, &fillDirArg, cxiFillDir,
+                              &fP->f_pos, vnOp, NULL);
+
+    /* Even if gpfsReaddir reports an error, we want to look
+     * to see if there were any entries previously returned.
+     */
+    if (cxiIsNFSThread() && (filldirArgs.bufferP > filldirArgs.firstP))
+    {
+      int fillrc;
+      fillDirEntry *nextP = filldirArgs.firstP;
+
+      /* Set the real filldir fcn/arg pointers */
+      fillDirArg.fnP = (void *)filldir;
+      fillDirArg.argP = direntP;
+
+      while(nextP < filldirArgs.bufferP)
+      {
+        /* Do not overlay any gpfsReadir rc. */
+        fillrc = CALL_FILLDIR(cxiFillDir,
+                              &fillDirArg, 
+                              (nextP->name), 
+                              (nextP->namelen), 
+                              (nextP->offset), 
+                              (nextP->ino));
+        if (fillrc < 0)
+        {
+          rc = 0; /* entry doesn't fit is ok (will resume at offset) */
+
+          /* Reset f_pos based on what we've been able to pass back
+           * to NFS.  This is where they will start on the next call.
+           */
+          fP->f_pos = nextP->offset; /* next offset for nfsd_readdir */
+
+          break;
+        }
+        nextP = NEXT_FILLDIR_ENTRY(nextP, nextP->namelen);
+      }
+    }
+
+    if (klock)
+      lock_kernel();
+  }
+
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_READDIR_EXIT,
+         "gpfs_f_readdir exit: fP 0x%lX pos %lld code 0 rc %d\n",
+         fP, fP->f_pos, rc);
+
+  if (fillDirBuf)
+    cxiFreePinned(fillDirBuf);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+
+uint
+gpfs_f_poll(struct file *fP, struct poll_table_struct *wait)
+{
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_POLL,
+         "gpfs_f_poll: rc bits POLLERR: fP 0x%lX\n", fP);
+  return (uint)0; // ?? which POLL* bits
+}
+
+int
+gpfs_f_ioctl(struct inode *iP, struct file *fP, uint cmd, unsigned long arg)
+{
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_IOCTL,
+         "gpfs_f_ioctl: rc -ENOTTY: iP 0x%lX fP 0x%lX cmd %d\n",
+         iP, fP, cmd);
+  return -ENOTTY; // no one can really explain why this errno, but it is common
+}
+
+
+/* called for every child process forked after mmap */
+void gpfs_filemap_open(struct vm_area_struct * vma)
+{
+  int rc = 0;
+  Boolean writeAccess = false;
+  cxiNode_t *cnP;
+  ext_cred_t eCred;
+  struct file *file = vma->vm_file;
+  struct inode *inode = file->f_dentry->d_inode;
+  struct gpfsVfsData_t *privVfsP;
+  struct mm_struct *mm = vma->vm_mm;
+  long long offset;
+  long long length;
+
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 2, TRCID_FM_OPEN,
+         "gpfs_filemap_open enter: vma 0x%lX inode %d icount %d name %s\n",
+         vma, inode->i_ino, atomic_read((atomic_t *)&inode->i_count),
+         file->f_dentry? file->f_dentry->d_name.name: (const unsigned char*)"");
+
+  TRACE2(TRACE_VNODE, 2, TRCID_FM_OPEN_1,
+         "gpfs_filemap_open : mm 0x%lX mm_users %d\n",
+         mm, atomic_read(&mm->mm_users));
+
+  cnP = VP_TO_CNP(inode);
+  privVfsP = VP_TO_PVP(inode);
+  DBGASSERT(privVfsP != NULL);
+
+  if ((vma->vm_flags & VM_SHARED) && (vma->vm_flags & VM_MAYWRITE))
+    MMAP_WRITE_ACCESS(writeAccess);
+
+  setCred(&eCred);
+  
+  offset = vma->vm_pgoff<<PAGE_SHIFT;
+  length = vma->vm_end - vma->vm_start;
+  rc = gpfs_ops.gpfsMmap(privVfsP, cnP, (void *)inode, &eCred, NULL,
+                         writeAccess,false, offset,length);
+
+  TRACE2(TRACE_VNODE, 2, TRCID_FM_OPEN_EXIT,
+         "gpfs_filemap_open exit: vma 0x%lX icount %d\n",
+         vma, atomic_read((atomic_t *)&inode->i_count));
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  EXIT(0);
+}
+
+void gpfs_filemap_close(struct vm_area_struct * vma)
+{
+  struct file *fP = vma->vm_file;
+  struct inode *inode = fP->f_dentry->d_inode;
+  int flags, rc;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP = VP_TO_CNP(inode);
+  struct mm_struct *mm = vma->vm_mm;
+
+  VFS_STAT_START(unmapCall);
+  ENTER(0);
+
+  if ((vma->vm_flags & VM_SHARED) && (vma->vm_flags & VM_MAYWRITE))
+    flags = 0;
+  else
+    flags = CXI_SHM_RDONLY;
+
+  privVfsP = VP_TO_PVP(inode);
+
+  TRACE3(TRACE_VNODE, 2, TRCID_FM_CLOSE_ENTER,
+         "gpfs_filemap_close: vma 0x%lX inode 0x%lX i_count %d\n",
+         vma, inode, (Int32)atomic_read((atomic_t *)&inode->i_count));
+  TRACE3(TRACE_VNODE, 2, TRCID_FM_CLOSE_ENTER1,
+         "gpfs_filemap_close: inode %d, name %s, nrpages %d\n",
+         inode->i_ino,
+         fP->f_dentry? fP->f_dentry->d_name.name: (const unsigned char*)"",
+         inode->i_data.nrpages);
+  TRACE2(TRACE_VNODE, 2, TRCID_FM_CLOSE_ENR,
+         "gpfs_filemap_close: mm 0x%lX mm_users %d\n",
+         mm,atomic_read(&mm->mm_users));
+  
+  rc = gpfs_ops.gpfsUnmap(privVfsP, cnP, flags);
+  cxiPutOSNode((void *)inode);
+
+  TRACE3(TRACE_VNODE, 2, TRCID_FM_CLOSE,
+         "gpfs_filemap_close: vma 0x%lX inode 0x%lX i_count %d\n",
+         vma, inode, (Int32)atomic_read((atomic_t *)&inode->i_count));
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+}
+
+int
+gpfs_f_mmap(struct file *fP, struct vm_area_struct *vma)
+{
+  int rc;
+  int code = 0;
+  Boolean heldVnode = false;
+  Boolean writeAccess = false;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  struct inode *iP = fP->f_dentry->d_inode;
+  ext_cred_t eCred;
+  cxiVattr_t vattr;
+  struct mm_struct *mm = vma->vm_mm;
+  long long offset;
+  long long length;
+
+  VFS_STAT_START(map_lloffCall);
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_MMAP_ENTER,
+         "gpfs_f_mmap enter: fP 0x%lX inum %d vma 0x%1X\n",
+         fP, iP->i_ino, vma);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_MMAP_ENTER_A,
+         "gpfs_f_mmap: vm_start 0x%lX vm_end 0x%lX, vmpgoff 0x%lX, "
+         "vmflags 0x%lX\n",
+         vma->vm_start, vma->vm_end, vma->vm_pgoff, vma->vm_flags);
+   TRACE4(TRACE_VNODE, 2, TRCID_LINUXOPS_MMAP_ENTER_A1,
+          "gpfs_f_mmap: inode %d icount %d name %s nrpages %d\n",
+          iP->i_ino, atomic_read((atomic_t *)&iP->i_count),
+          fP->f_dentry ? fP->f_dentry->d_name.name : (const unsigned char*)"",
+          iP->i_data.nrpages);
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_MMAP_ENTER_AB,
+         "gpfs_f_mmap: mm 0x%lX mm_users %d\n",
+         mm,atomic_read(&mm->mm_users));
+
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+
+  if ((vma->vm_flags & VM_SHARED) && (vma->vm_flags & VM_MAYWRITE))
+  {
+    MMAP_WRITE_ACCESS(writeAccess);
+    if (!writeAccess)
+    {
+      /* Patch must be applied at this kernel level for mmap write */
+      code = 1;
+      rc = -EINVAL;
+      goto xerror;
+    }
+  }
+
+  setCred(&eCred);
+
+  offset = vma->vm_pgoff<<PAGE_SHIFT;
+  length = vma->vm_end - vma->vm_start;
+  rc = gpfs_ops.gpfsMmap(privVfsP, cnP, (void *)iP, &eCred, NULL, 
+                         writeAccess, true,offset,length);
+  if (rc != 0)
+  {
+    code = 2;
+    rc = -rc;
+    goto xerror;
+  }
+  
+  heldVnode = true;
+
+  if ((vma->vm_flags & VM_SHARED) && (vma->vm_flags & VM_MAYWRITE) &&
+      !iP->i_mapping->a_ops->writepage)
+  {
+    code = 3;
+    rc = -EINVAL;
+    goto xerror;
+  }
+
+  if (!iP->i_sb || !S_ISREG(iP->i_mode))
+  {
+    code = 4;
+    rc = -EACCES;
+    goto xerror;
+  }
+
+  if (!iP->i_mapping->a_ops->readpage)
+  {
+    code = 5;
+    rc = -ENOEXEC;
+    goto xerror;
+  }
+
+  /* revalidate linux inode */
+  /* This has the effect of calling us back under a lock and
+   * setting the inode attributes at the OS level (since this
+   * operating system caches this info in the vfs layer)
+   */
+  rc = gpfs_ops.gpfsGetattr(privVfsP, cnP, &vattr, false);
+  if (rc != 0)
+  {
+    code = 6;
+    rc = -rc;
+    goto xerror;
+  }
+
+#ifdef UPDATE_ATIME
+  UPDATE_ATIME(iP);
+#else
+#if LINUX_KERNEL_VERSION >= 2061600
+  touch_atime(NULL, fP->f_dentry);
+#else
+  update_atime(iP);
+#endif
+#endif
+  vma->vm_ops = &gpfs_vmop;
+
+xerror:
+  if (rc != 0 && heldVnode)
+    cxiPutOSNode((void *)iP); // corresponding hold in gpfsMmap
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_MMAP_EXIT,
+         "gpfs_f_mmap exit: rc %d code %d\n", rc, code);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return rc;
+}
+
+int
+gpfs_f_open(struct inode *iP, struct file *fP)
+{
+  int rc = 0;
+  int code = 0;
+  Boolean gotBKL = false;
+  int flags = cxiOpenFlagsXlate(fP->f_flags);
+  int iflags = cxiIsSambaThread()? GPFS_OPEN_NO_SMBLOCK: 0;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+
+  VFS_STAT_START(openCall);
+  ENTER(0);
+  TRACE7(TRACE_VNODE, 1, TRCID_LINUXOPS_OPEN_ENTER,
+         "gpfs_f_open enter: iP 0x%lX fP 0x%lX f_flags 0x%X dP 0x%lX '%s' "
+         "flags 0x%X isNFS %d\n", iP, fP, fP->f_flags, fP->f_dentry,
+         fP->f_dentry? fP->f_dentry->d_name.name: (const unsigned char*)"",
+         flags, cxiIsNFSThread());
+
+  /* BKL is not held at entry, except for NFS calls */
+  TraceBKL();
+  if (current->lock_depth >= 0)  /* kernel lock is held by me */
+  {
+    gotBKL = true;
+    unlock_kernel();
+  }
+
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+
+  /* see comment in gpfs_i_create() on the reason for this code */
+  if (cnP->createRaceLoserThreadId &&
+      cnP->createRaceLoserThreadId == cxiGetThreadId())
+  {
+    int fflags = cxiOpenFlagsXlate(fP->f_flags);
+    int amode;
+
+    cnP->createRaceLoserThreadId = 0;
+    code = EEXIST;
+
+    amode = ((flags & FWRITE ? W_ACC : 0) |
+             (flags & FREAD ? R_ACC : 0)  |
+             (flags & FTRUNC ? W_ACC : 0));
+
+    TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_OPEN_01,
+           "gpfs_f_open fileExist iP 0x%lX cnP 0x%lX fflags 0x%X amode 0x%X\n",
+           iP, cnP, fflags, amode);
+
+    /* Check if FEXCL and FCREAT are on and the file exists return EEXIST
+     * could not do it at create time because the open flgas are not availble
+     * on the create call.
+     */
+    if ((flags & FEXCL) && (flags & FCREAT))
+    {
+      rc = EEXIST;
+      goto xerror;
+    }
+
+    setCred(&eCred);
+    rc = gpfs_ops.gpfsAccess(privVfsP, cnP, amode, ACC_SELF, &eCred);
+    if (rc)
+      goto xerror;
+  }
+
+  if (cxiIsNFSThread() && GNP_IS_FILE(cnP))
+  {
+    int NFSflags;
+    int code;
+
+    BEGIN_FAR_CODE;
+    /* Linux NFS will not do vget so the clone vnode cannot be created then.
+       Need to GetNFS here so the NFS structures will be available. */
+
+#ifdef NFS_CLUSTER_LOCKS //??? temp fix for NFSv4
+    fP->f_mode |= FMODE_READ;
+#endif
+
+    NFSflags = FWRITE|FREAD;
+    rc = gpfs_ops.gpfsGetNFS((void *)iP,
+                             (struct MMFSVInfo **)&fP->private_data,
+                             &NFSflags);
+    if (rc != 0)
+    {
+      code = ENOSYS; //??EGET_NFS;
+      goto xerror;
+    }
+    DBGASSERT((struct MMFSVInfo *)fP->private_data != NULL);
+
+    END_FAR_CODE;
+    goto xerror;
+  }
+
+  setCred(&eCred);   // rebuild since gpfsAccess may have remapped the ids
+  rc = gpfs_ops.gpfsOpen(privVfsP, cnP, flags, iflags, 0,
+                         (struct MMFSVInfo **)&fP->private_data, &eCred);
+
+xerror:
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_OPEN_EXIT,
+         "gpfs_f_open exit: iP 0x%lX vinfoP 0x%lX code %d rc %d\n",
+         iP, (struct MMFSVInfo *)fP->private_data, code, rc);
+
+  VFS_STAT_STOP;
+
+  if (gotBKL)        /* If held kernel lock on entry then reacquire it */
+    lock_kernel();
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  EXIT(0);
+  return (-rc);
+}
+
+int
+gpfs_f_release(struct inode *iP, struct file *fP)
+{
+  int rc = 0;
+  int code = 0;
+  int flags = cxiOpenFlagsXlate(fP->f_flags);
+  struct MMFSVInfo *vinfoP = (struct MMFSVInfo *)fP->private_data;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+
+  VFS_STAT_START(closeCall);
+  ENTER(0);
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_CLOSE_ENTER,
+         "gpfs_f_release enter: iP 0x%lX f_flags 0x%X flags 0x%X vinfoP 0x%lX\n",
+         iP, fP->f_flags, flags, vinfoP);
+  /* BKL is held if the file was open R/W, otherwise not held */
+
+  /* If nfsd is closing one of its files, schedule it for a delayed close. */
+  if (cnP && VP_TO_NFSP(iP) && cxiIsNFSThread())
+  {
+    DBGASSERT(GNP_IS_FILE(cnP));
+
+    /* On the last NFS release, a watchdog will be set to close the file
+       after a delay. */
+
+    rc = gpfs_ops.gpfsReleaseNFS(iP);
+
+    goto xerror;
+  }
+
+  rc = gpfs_ops.gpfsClose(privVfsP, cnP, flags, vinfoP, true);
+
+  fP->private_data = NULL;  // MMFSVInfo was freed
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_CLOSE_EXIT,
+         "gpfs_f_release exit: code %d rc %d\n", code, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+
+int
+gpfs_f_fsync(struct file *fP, struct dentry *direntP, int datasync)
+{
+  int rc;
+
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_FSYNC_ENTER,
+         "gpfs_f_fsync enter: fP 0x%lX dirent 0x%lX datasync %d\n",
+         fP, direntP, datasync);
+  /* Linux doc says BKL is held, but it does not seem to be */
+
+  rc = fsyncInternal(fP);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_FSYNC_EXIT,
+         "gpfs_f_fsync exit: file 0x%lX rc %d\n", fP, rc);
+
+  EXIT(0);
+  return (-rc);
+}
+
+int
+gpfs_f_fasync(int fd, struct file *fP, int on)
+{
+  int rc;
+
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_FASYNC_ENTER,
+         "gpfs_f_fasync enter: fd %d fP 0x%lX on %d\n",
+         fd, fP, on);
+  /* Linux doc says BKL is held, but it does not seem to be */
+
+  rc = fsyncInternal(fP);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_FASYNC_EXIT,
+         "gpfs_f_fasync exit: fP 0x%lX rc %d\n", fP, rc);
+
+  EXIT(0);
+  return (-rc);
+}
+
+static int
+fsyncInternal(struct file *fP)
+{
+  int rc = 0;
+  cxiNode_t *cnP;
+  struct inode *iP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  struct MMFSVInfo *vinfoP;
+
+  VFS_STAT_START(fsyncCall);
+  ENTER(0);
+  VFS_INC(fsyncCall);
+  /* Creating files via nfs can get us here with a null fP. */
+  if (!fP)
+    goto xerror;
+
+  vinfoP = (struct MMFSVInfo *)fP->private_data;
+
+  iP = fP->f_dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsFsync(privVfsP, vinfoP, cnP, FFILESYNC, &eCred);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+xerror:
+  VFS_STAT_STOP;
+  EXIT(0);
+  return rc;
+}
+
+#ifdef NFS_CLUSTER_LOCKS
+void
+gpfs_grace(int on_off)
+{
+  gpfs_ops.gpfsGrace(on_off);
+}
+
+/*
+ * arg is lock type F_RDLCK:0 F_WRLCK:1 F_UNLCK:2
+*/
+int
+gpfs_f_set_lease(struct file *fP, long arg, struct file_lock **flPP)
+{
+  int rc = EAGAIN;
+  int NFSflags;
+  int mode, oplockWant, oplockGot, flags;
+  void *cb_token, *cookie;
+  struct file_lock *flP;
+  ext_cred_t eCred;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  struct MMFSVInfo *vinfoP = (struct MMFSVInfo *)fP->private_data;
+  struct inode *iP = fP->f_dentry->d_inode;
+
+//VFS_STAT_START(lockctlCall);
+  ENTER(0);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_LEASE_ENTER,
+         "gpfs_f_set_lease: fP 0x%lX iP 0x%lX type %s by %s\n",
+          fP, iP, (arg == F_RDLCK) ? "RD" :(arg == F_WRLCK) ? "WR" : "UNLCK",
+          (cxiIsNFSThread()) ? "NFS" : "SAMBA");
+
+  privVfsP = VP_TO_PVP(fP->f_dentry->d_inode);
+  DBGASSERT(privVfsP != NULL);
+
+  flP = *flPP;
+  cookie = NULL;
+  NFSflags = FREAD;
+  mode = FMODE_WRITE;
+  flags = RESERVE_NONE;
+  oplockGot = smbOplockNone;
+  cb_token = iP;
+
+  if (arg == F_UNLCK) {
+    cb_token = NULL;
+    oplockWant = smbOplockNone;
+    flags = RESERVE_DOWNGRADE;
+  }
+  else if (arg == F_RDLCK)
+    oplockWant = smbOplockShared;
+  else if (arg == F_WRLCK) {
+    oplockWant = smbOplockExclusive;
+    NFSflags |= FWRITE;
+    mode = FMODE_READ;
+  }
+  else goto xerror;
+
+  if (cxiIsNFSThread())
+  {
+    rc = gpfs_ops.gpfsGetNFS((void *)iP, (struct MMFSVInfo **)&vinfoP,
+                                                           &NFSflags);
+    if (rc)
+      goto xerror;
+
+    cnP = VP_TO_CNP(iP);
+    setCred(&eCred);
+    rc = gpfs_ops.gpfsOpenNFS(privVfsP, cnP, NFSflags, vinfoP, &eCred);
+    if (rc)
+      goto xerror2;
+  }
+  rc = gpfs_ops.gpfsReserveDelegation(fP, vinfoP , privVfsP, oplockWant, flags,
+                                                             cb_token, cookie);
+  if (rc)
+    goto xerror2;
+
+  lock_kernel();
+  rc = setlease(fP, arg, flPP);
+  unlock_kernel();
+
+  if (rc) {  // if error release the delegation
+    gpfs_ops.gpfsReserveDelegation(fP, vinfoP , privVfsP, smbOplockNone,
+                                   RESERVE_DOWNGRADE, NULL, NULL);
+    if (rc < 0)
+      rc = -rc;  /* make it positive */
+  }
+  else {   // rc=0
+    oplockGot = gpfs_ops.SMBGetOplockStateV(vinfoP);
+    if (oplockGot == oplockWant)
+      goto xerror2;
+    else {   // already lost the delegation
+      __break_lease(iP, FMODE_WRITE);
+    }
+  }
+
+xerror2:
+  if (cxiIsNFSThread())
+    gpfs_ops.gpfsReleaseNFS(iP);
+
+xerror:
+  TRACE6(TRACE_VNODE, 1, TRCID_LINUXOPS_LEASE_EXIT,
+   "gpfs_f_set_lease: fP 0x%lX flP 0x%lX rc %d oplockWant %d oplockGot %d %s\n",
+    fP, flP, rc, oplockWant, oplockGot, (oplockGot == smbOplockShared) ? "RD" :
+    (oplockGot == smbOplockExclusive) ? "WR" : "NONE");
+
+//VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+#endif
+
+int
+gpfs_f_lock(struct file *fP, int cmd, struct file_lock *flP)
+{
+  int rc = 0;
+  int code = 0;
+  cxiNode_t *cnP;
+  ext_cred_t eCred;
+  struct gpfsVfsData_t *privVfsP;
+  eflock_t lckdat;
+  unsigned long localRetryId = 0;
+  int(* vfs_callback)(void *, void *, int) = NULL;
+
+  VFS_STAT_START(lockctlCall);
+  ENTER(0);
+
+  /* Linux converts flock64 to flock before calling GPFS lock routine,
+     but leaves "cmd" as is. Allow these to go through. */
+#if !defined(__64BIT__)
+  if (cmd == F_GETLK64) cmd = F_GETLK;
+  if (cmd == F_SETLK64) cmd = F_SETLK;
+  if (cmd == F_SETLKW64) cmd = F_SETLKW;
+#endif
+
+  if ((cmd != F_GETLK) && (cmd != F_SETLK) && (cmd != F_SETLKW))
+  {
+    code = 2;
+    rc = ENOSYS;
+    goto xerror;
+  }
+
+  setCred(&eCred);
+  TRACE6(TRACE_VNODE, 1, TRCID_LINUXOPS_LOCKCTL_ENTER,
+         "gpfs_f_lock enter: pid %d fp 0x%lX range 0x%lX:%lX cmd %s type %s\n",
+         flP->fl_pid, fP, flP->fl_start, flP->fl_end,
+         (cmd == F_GETLK) ? "GETLK" : (cmd == F_SETLK) ? "SETLK" : "SETLKW",
+         (flP->fl_type == F_RDLCK) ? "RDLCK" :
+         (flP->fl_type == F_WRLCK) ? "WRLCK" : "UNLCK");
+
+  TRACE5(TRACE_VNODE, 3, TRCID_LINUXOPS_LOCKCTL_ENTER2,
+         "gpfs_f_lock       : pos 0x%lX iP 0x%lX fl_flags 0x%X uid %d gid %d\n",
+         fP->f_pos, fP->f_dentry->d_inode, flP->fl_flags,
+         eCred.principal, eCred.group);
+  TraceBKL();
+
+  cnP = VP_TO_CNP(fP->f_dentry->d_inode);
+  privVfsP = VP_TO_PVP(fP->f_dentry->d_inode);
+  DBGASSERT(privVfsP != NULL);
+
+  /* convert file_lock to eflock */
+  cxiVFSToFlock((void *)flP, &lckdat);
+#ifdef NFS_CLUSTER_LOCKS
+#if 0
+  if (flP->fl_state == FL_CANCELED && flP->fl_type != F_UNLCK)
+  {
+    //??? just unblock queued lock
+    // use kxCleanupAcquires() which is used only for AIX now
+    rc = 0;
+    goto xerror;
+  }
+#endif
+#if 0
+  if (flP->fl_lmops) // && (flP->fl_flags & (FL_LOCKD|FL_NFSv4)))
+  {
+    if ((flP->fl_flags & FL_SLEEP) &&
+         flP->fl_lmops->fl_vfs_callback &&
+         flP->fl_type != F_UNLCK)
+    {
+      vfs_callback = flP->fl_lmops->fl_vfs_callback;
+      cmd = F_SETLKW;
+    }
+  }
+#endif
+#endif
+
+  lckdat.l_whence = SEEK_SET;
+
+  rc = gpfs_ops.gpfsFcntl(NULL,    // KernelOperation initialized in gpfsFcntl
+                          privVfsP,
+                          NULL,     // struct vnode *vP or NULL
+                                    // advObjP (advisory lock object) is inode
+                          fP->f_dentry->d_inode,
+                          flP,      // struct file_lock
+                          cnP,
+                          0,        // offset
+                          &lckdat,  // struct cxiFlock_t
+                          cmd,
+                          vfs_callback, // lockd callback
+                          &localRetryId,
+                          &eCred);
+
+xerror:
+
+  TRACE2(TRACE_VNODE, 11, TRCID_LINUXOPS_LOCKCTL_DIAG2,
+         "gpfs_f_lock: fP 0x%lX, f_dentry 0x%lX",
+         fP, fP->f_dentry);
+
+  VFS_STAT_STOP;
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_LOCKCTL_EXIT,
+         "gpfs_f_lock exit: rc %d",
+         rc);
+
+  EXIT(0);
+  return (-rc);
+}
+
+#ifdef NFS4_CLUSTER
+/*
+ * cmd: F_SETLKW or F_SETLK
+ * fl->fl_flags = FL_FLOCK; if sys_flock(), can use other flags for NFSv4
+ * fl->fl_start = 0, fl->fl_end = OFFSET_MAX;
+ * fl->fl_type =
+ *	LOCK_MAND		allow other processes read
+ *	or LOCK_MAND&LOCK_RW 	allow other processes read and write
+ *	or F_RDLCK		LOCK_SH -- a shared lock.
+ *	or F_WRLCK		LOCK_EX -- an exclusive lock.
+ *	or F_UNLCK		LOCK_UN -- remove an existing lock.
+ *
+ *	LOCK_MAND -- a `mandatory' flock. This exists to emulate Windows Share Modes.
+ */
+int
+gpfs_f_flock(struct file *fP, int cmd, struct file_lock *flP)
+{
+  int rc = 0;
+  struct gpfsVfsData_t *privVfsP;
+  int shareWant = 0;
+  int flags = 0;
+  struct MMFSVInfo *vinfoP = (struct MMFSVInfo *)fP->private_data;
+  privVfsP = VP_TO_PVP(fP->f_dentry->d_inode);
+  DBGASSERT(privVfsP != NULL);
+
+  VFS_STAT_START(flockCall);
+  ENTER(0);
+
+  TRACE5(TRACE_VNODE, 1, TRCID_LINUX_FLOCK_ENTER,
+        "gpfs_f_flock: enter fP 0x%lX flP 0x%lX cmd %d flags 0x%X type 0x%X\n",
+         fP, flP, cmd, flP->fl_flags, flP->fl_type);
+
+  if ((cmd != F_SETLK) && (cmd != F_SETLKW))
+  {
+    rc = ENOSYS;
+    goto xerror;
+  }
+
+  shareWant |= ALLOW_SHARE_DELETE;
+
+  if (flP->fl_flags & FL_FLOCK) {
+    /* Translate (and validate) the type arguments to our shareWant */
+    if (flP->fl_type & LOCK_MAND) {
+       if (flP->fl_type & LOCK_RW)
+           shareWant |= coRead|coWriteM|coWriteA;
+       else
+           shareWant |= coRead|coWriteM|coWriteA|coDenyR;
+    }
+    else {
+      switch (flP->fl_type) {
+      case F_RDLCK:               /* LOCK_SH */
+        shareWant |= coRead|coDenyWM|coDenyWA;
+        break;
+      case F_WRLCK:               /* LOCK_EX */
+        shareWant |= coRead|coWriteM|coWriteA|coDenyWM|coDenyWA|coDenyR;
+        break;
+      case F_UNLCK:               /* LOCK_UN */
+        flags |= RESERVE_DOWNGRADE;
+        shareWant |= 0;
+        break;
+      default:
+        rc = EINVAL;
+        goto xerror;
+      }
+    }
+  }
+  else {
+
+//??? add code for NFSv4 shares and delegations
+    shareWant = coNFS4Share;
+    if (!(flP->fl_flags & FL_SLEEP))
+      flags |= RESERVE_NOWAIT;
+
+  }
+  /* Call to make the reservation */
+  rc = gpfs_ops.gpfsReserveShare(fP, vinfoP, privVfsP, flags, shareWant,
+                                 NULL, NULL);
+
+xerror:
+
+ TRACE1(TRACE_VNODE, 1, TRCID_LINUX_FLOCK_EXIT,
+         "gpfs_f_flock: exit rc %d\n", rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+#endif /* NFS4_CLUSTER */
+
+static inline ssize_t
+rdwrInternal(struct file *fP, cxiRdWr_t op, const struct cxiIovec_t *iovecP,
+             unsigned long count, loff_t *offsetP)
+{
+  int i, rc;
+  Boolean gotBKL = false;
+  ssize_t total_len = 0;
+  struct cxiUio_t tmp_uio;
+  int flags = cxiOpenFlagsXlate(fP->f_flags);
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP;
+  struct MMFSVInfo *vinfoP = (struct MMFSVInfo *)fP->private_data;
+  struct inode *iP;
+  ext_cred_t eCred;
+  ssize_t tmp_len;
+
+  VFS_STAT_START((op == CXI_READ)? readCall: writeCall);
+  ENTER(0);
+  DBGASSERT(fP != NULL);
+  iP = fP->f_dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  TRACE11(TRACE_VNODE, 1, TRCID_LINUXOPS_RDWRINT_ENTER,
+          "gpfs_f_rdwr enter: fP 0x%lX f_flags 0x%X flags 0x%X op %d "
+          "iovec 0x%lX count %d offset 0x%llX "
+          "dentry 0x%lX private 0x%lX iP 0x%lX name '%s'\n",
+          fP, fP->f_flags, flags, op, iovecP, count, *offsetP, fP->f_dentry,
+          fP->private_data, fP->f_dentry->d_inode, fP->f_dentry->d_name.name);
+
+  /* BKL is not held at entry, except for NFS calls */
+  TraceBKL();
+  if (current->lock_depth >= 0)  /* kernel lock is held by me */
+  {
+    gotBKL = true;
+    unlock_kernel();
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+  cnP = VP_TO_CNP(iP);
+
+  tmp_uio.uio_iov = (struct cxiIovec_t *)iovecP; /* ptr to iovec struct array */
+  tmp_uio.uio_iovcnt = count;         /* #iovec elements left to be processed */
+  tmp_uio.uio_iovdcnt = 0;            /* #iovec elements already processed    */
+  tmp_uio.uio_offset = *offsetP;      /* byte offset in file/dev to read/write*/
+  tmp_uio.uio_segflg = UIO_USERSPACE; /* copy to user space                   */
+  tmp_uio.uio_fmode = 0;              /* file modes from open file struct     */
+
+  for (i = 0; i < count; i++)
+    total_len += iovecP[i].iov_len;
+
+  tmp_uio.uio_resid = total_len; /* #bytes left in data area */
+
+ /* We should -EINVAL if total length is not >= 0 
+  * Be careful here because uio_resid is a unsigned 
+  * long not an ssize_t 
+  */
+  tmp_len = (ssize_t)tmp_uio.uio_resid;
+  if ( tmp_len  < 0)
+  {
+    EXIT(0);
+    return (-EINVAL);
+  }
+
+  DBGASSERT(vinfoP != NULL);
+
+  setCred(&eCred);
+  if (op == CXI_READ)
+    rc = gpfs_ops.gpfsRead(privVfsP, NULL, cnP, flags, &tmp_uio,
+                           vinfoP, NULL, NULL, &eCred, false, true);
+  else
+  {
+    rc = gpfs_ops.gpfsWrite(privVfsP, NULL, cnP, flags, &tmp_uio,
+                            vinfoP, NULL, NULL, &eCred, false, true);
+    iP->i_sb->s_dirt = 1;
+  }
+
+  TRACE5(TRACE_VNODE, 1, TRCID_LINUXOPS_RDWRINT_EXIT,
+         "gpfs_f_rdwr exit: fP 0x%lX total_len %d uio_resid %ld "
+         "offset 0x%llX rc %d\n", fP, total_len, tmp_uio.uio_resid,
+         tmp_uio.uio_offset, rc);
+
+  VFS_STAT_STOP;
+
+  if (gotBKL)        /* If held kernel lock on entry then reacquire it */
+    lock_kernel();
+
+  if (rc)
+  {
+    cxiErrorNFS(rc);
+
+    EXIT(0);
+    return (-rc);
+  }
+
+  *offsetP = tmp_uio.uio_offset;
+  EXIT(0);
+  return (total_len - tmp_uio.uio_resid);
+}
+
+ssize_t
+gpfs_f_read(struct file *fP, char *bufP, size_t count,
+            loff_t *offsetP)
+{
+  ssize_t rc;
+  cxiIovec_t tmp_iovec;
+
+  ENTER(0);
+  tmp_iovec.iov_base = bufP;    /* base memory address                  */
+  tmp_iovec.iov_len = count;    /* length of transfer for this area     */
+
+  rc = rdwrInternal(fP, CXI_READ, &tmp_iovec, 1, offsetP);
+
+  EXIT(0);
+  return rc;
+}
+
+ssize_t
+gpfs_f_dir_read(struct file *fP, char *bufP, size_t count,
+                loff_t *offsetP)
+{
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_READ_DIR,
+         "gpfs_f_dir_read: fP 0x%lX EISDIR\n", fP);
+  return -EISDIR;
+}
+
+ssize_t
+gpfs_f_write(struct file *fP, const char *bufP, size_t count,
+             loff_t *offsetP)
+{
+  ssize_t rc;
+  cxiIovec_t tmp_iovec;
+
+  ENTER(0);
+  tmp_iovec.iov_base = (char *)bufP; /* base memory address              */
+  tmp_iovec.iov_len = count;         /* length of transfer for this area */
+
+  rc = rdwrInternal(fP, CXI_WRITE, &tmp_iovec, 1, offsetP);
+
+  EXIT(0);
+  return rc;
+}
+
+ssize_t
+gpfs_f_readv(struct kiocb *iocb, const struct iovec *iovecP,
+             unsigned long count, loff_t offsetP)
+{
+  int rc;
+  ENTER(0);
+  rc = rdwrInternal(iocb->ki_filp, CXI_READ, (const struct cxiIovec_t *)iovecP,
+                    count, &offsetP);
+  EXIT(0);
+  return rc;
+}
+
+ssize_t
+gpfs_f_writev(struct kiocb *iocb, const struct iovec *iovecP,
+              unsigned long count, loff_t offsetP)
+{
+  int rc;
+  ENTER(0);
+  rc = rdwrInternal(iocb->ki_filp, CXI_WRITE, (const struct cxiIovec_t *)iovecP,
+                    count, &offsetP);
+  EXIT(0);
+  return rc;
+}
+
+#ifdef NFS4_CLUSTER
+int
+gpfs_f_share(struct file *fP, unsigned int share_access, unsigned int share_deny)
+{
+  int err;
+  struct inode *iP;
+  struct dentry *dentryP;
+  int shareHave, shareWant;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  cxiNode_t *cnP;
+  int flags = RESERVE_NONE;
+ 
+  ENTER(0);
+  err = 0;
+  dentryP = fP? fP->f_dentry: NULL;
+  iP = dentryP? dentryP->d_inode: NULL;
+
+  TRACE5(TRACE_VNODE, 1, TRCID_LINUXOPS_SHARE_ENTER,
+         "gpfs_f_share enter: fP 0x%lX ino %d (%s) access 0x%X deny 0x%X\n",
+         fP, iP? iP->i_ino: -1,
+         dentryP? dentryP->d_name.name: (const unsigned char*)"",
+         share_access, share_deny);
+
+  if (fP)
+    get_file(fP);
+
+  /* Validate the file and obtain privVfsP */
+  if (!iP || !(privVfsP = VP_TO_PVP(iP))) {
+    err = EBADF;
+    goto xerror;
+  }
+
+  if ((share_access == 0) && (share_deny == 0))
+  {
+    /* This type of request can happen after the server recalls a delegation.
+     * We reject the request which we recognize since no access/deny flags 
+     * are given.  This then causes the client to open the file at the server
+     * (no delegation) and continue. */
+
+    TRACE3(TRACE_VNODE, 3, TRCID_LINUXOPS_SHARE_RESET,
+           "gpfs_f_share: RESET (fP 0x%lX iP 0x%lX privVfsP 0x%lX)\n",
+           fP, iP, iP? VP_TO_PVP(fP->f_dentry->d_inode): NULL);
+
+    goto xerror;
+  }
+
+  /* Translate (and validate) the NFS4 share/deny arguments to our shareWant */
+
+  /* setup for the XLATE_NFS4 calls */
+  err = EINVAL;
+  shareWant = coNFS4Share|ALLOW_SHARE_DELETE;
+
+  XLATE_NFS4_ACCESS(share_access, shareWant);
+  XLATE_NFS4_DENY(share_deny, shareWant);
+
+  setCred(&eCred);
+  cnP = VP_TO_CNP(iP);
+  /* Call to make the reservation */
+  err = gpfs_ops.gpfsReserveShare(fP, fP->private_data, privVfsP, flags,
+                                  shareWant, cnP, &eCred);
+
+xerror:
+  if (fP) fput(fP);
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_SHARE_EXIT, 
+         "gpfs_f_share exit: rc %d\n", err);
+  EXIT(0);
+  return err;
+}
+#endif /* NFS4_CLUSTER */
+
+extern int cleanupFD;
+
+/* gpfs_f_cleanup is a routine that runs when the last mmfsd
+   process terminates.  It allows us to do some basic cleanup
+   so that the daemon can be restarted nicely. */
+
+int gpfs_f_cleanup(struct inode *iP, struct file *fP)
+{
+  int rc = 0;
+
+  ENTER(0);
+  if (cleanupFD)
+  {
+    rc = gpfs_ops.gpfsCleanup();
+    cleanupFD = 0;
+  }
+  EXIT(0);
+  return rc;
+}
+
+#if LINUX_KERNEL_VERSION >= 2060000 || defined(SUSE_LINUX)
+/* gpfs_f_direct_IO() is never called. Open currently requires a "value" in 
+ * gpfs_aops->direct_IO to be successful when O_DIRECT is supplied on the open
+ * call. The linux "generic" file routines eventually call this op. We do not use
+ * the generic file routines so gpfs_f_direct_IO is never called.
+ */
+#if LINUX_KERNEL_VERSION >= 2060000
+ssize_t gpfs_f_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iovecP,
+                         loff_t in_offset, unsigned long count)
+#elif defined(SUSE_LINUX)
+int gpfs_f_direct_IO(int rw, struct file *file, struct kiobuf *kiobuf,
+                        unsigned long in_offset, int count)
+#endif
+{
+  LOGASSERT(!"gpfs_f_direct_IO not supported");
+}
+
+#endif
+
+#ifdef P_NFS4
+static void printfh2(char *s, int *fh)
+{
+#ifdef GPFS_PRINTK
+  printk("%s: %d: %08x %08x %08x %08x %08x %08x %08x %08x %08x\n",
+           s, fh[0],fh[1],fh[2],fh[3],fh[4],fh[5],fh[6],fh[7],fh[8],fh[9]);
+#endif
+}
+
+int gpfs_get_devicelist(struct super_block *sbP, void *p)
+{
+  int rc = 0;
+  struct gpfsVfsData_t *privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+
+//  VFS_STAT_START(gpfs_get_devicelist);
+  ENTER(0);
+  DBGASSERT(privVfsP != NULL);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_GET_DEVICELIST_ENTER,
+         "gpfs_get_devicelist: sbP 0x%lX p 0x%lX\n", sbP, p);
+
+  rc = gpfs_ops.gpfsGetDeviceList(privVfsP, p);
+#ifdef GPFS_PRINTK
+  printk("gpfs_get_devicelist: rc %d\n", rc);
+#endif
+
+xerror:
+  TRACE1(TRACE_VNODE, 1, TRCID_GET_DEVICELIST_EXIT,
+         "gpfs_get_devicelist exit: rc %d\n", rc);
+
+//  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+
+int
+gpfs_layout_get(struct inode *iP, void *p)
+{
+  int rc = 0;
+  int code = 0;
+  cxiNode_t *cnP;
+  ext_cred_t eCred;
+  struct gpfsVfsData_t *privVfsP;
+  struct nfsd4_pnfs_layoutget *lgp = (struct nfsd4_pnfs_layoutget *)p;
+
+//  VFS_STAT_START(gpfs_layout_get);
+  ENTER(0);
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_GET_LAYOUT_ENTER,
+         "gpfs_layout_get: iP 0x%lX p 0x%lX\n", iP, p);
+
+  setCred(&eCred);
+
+  rc = gpfs_ops.gpfsGetLayout(privVfsP, cnP, p, &eCred);
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_GET_LAYOUT_EXIT,
+         "gpfs_layout_get exit: code %d rc %d\n", code, rc);
+
+//  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+
+/* pNFS: return layout type */
+#define LAYOUT_NFSV4_FILES 1
+int
+gpfs_layout_type()
+{
+#ifdef GPFS_PRINTK
+  printk("xxx gpfs_layout_type LAYOUT_NFSV4_FILES=%d\n", LAYOUT_NFSV4_FILES);
+#endif
+  return LAYOUT_NFSV4_FILES;
+}
+
+gpfs_get_state(struct inode *iP, void *fh, void *p)
+{
+  int rc = 0;
+  int nodeId, len, code = 0;
+  cxiNode_t *cnP;
+  ext_cred_t eCred;
+  struct gpfsVfsData_t *privVfsP;
+  struct pnfs_get_state *osP = (struct pnfs_get_state *)p;
+  struct knfsd_fh *fhP = (struct knfsd_fh *)fh;
+
+//  VFS_STAT_START(gpfs_get_state);
+  ENTER(0);
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+
+#ifdef GPFS_PRINTK
+  printk("gpfs_get_state iP %p fh type %d fh size %d\n",
+          iP, fhP->fh_fsid_type, fhP->fh_size);
+  printfh2("gpfs_get_state:", (int *)fhP);
+#endif
+  len = sizeof(struct pnfs_get_state);
+  if (fhP->fh_fsid_type >= max_fsid_type && fhP->fh_size > 8) {
+    nodeId = fhP->fh_base.fh_pad[(fhP->fh_size >> 2) -1];
+  }
+  else {
+    rc = ENOENT;
+    goto xerror;
+  }
+  setCred(&eCred);
+  osP->devid = gpfs_ops.gpfsGetMyDevID(privVfsP);
+
+  rc = gpfs_ops.gpfsGetOpenState(privVfsP, cnP, nodeId, p, len, &eCred);
+
+  TRACE7(TRACE_VNODE, 2, TRCID_LINUXOPS_SET_STATEID_ENTER,
+      "gpfs_get_state: iP 0x%lX mds %x ds %x p 0x%lX len %d verf 0x%lX:0x%lX\n",
+       iP, nodeId, osP->devid, p, len, osP->verifier[0], osP->verifier[1]);
+#ifdef GPFS_PRINTK
+  printk("gpfs_get_state mds-id %x my-id %x verifier %x:%x\n",
+                        nodeId, osP->devid, osP->verifier[0], osP->verifier[1]);
+#endif
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_SET_STETEID_EXIT,
+         "gpfs_get_state exit: code %d rc %d\n", code, rc);
+
+//  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+
+int
+gpfs_layout_return(struct inode *iP, void *p)
+{
+  int rc = 0;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+
+//  VFS_STAT_START(gpfs_layout_return);
+  ENTER(0);
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  DBGASSERT(privVfsP != NULL);
+
+#ifdef GPFS_PRINTK
+  printk("gpfs_layout_return iP %p\n", iP);
+#endif
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_LAYOUT_RET_ENTER,
+         "gpfs_layout_return: iP 0x%lX\n", iP);
+
+  rc = gpfs_ops.gpfsLayoutRetrun(privVfsP, cnP, p, sizeof(struct layout_return));
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_LAYOUT_RET_EXIT,
+         "gpfs_layout_return exit: code %d iP 0x%lX\n", rc, iP);
+
+//  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+int
+gpfs_get_deviceinfo(struct super_block *sbP, void *p)
+{
+  int rc;
+  struct gpfsVfsData_t *privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+
+//  VFS_STAT_START(gpfs_get_deviceinfo);
+  ENTER(0);
+  DBGASSERT(privVfsP != NULL);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_GET_DEVICEINFO_ENTER,
+         "gpfs_get_deviceinfo: sbP 0x%lX p 0x%lX\n", sbP, p);
+
+#ifdef GPFS_PRINTK
+  printk("gpfs_get_deviceinfo: sbP 0x%lX p 0x%lX\n", sbP, p);
+#endif
+  rc = gpfs_ops.gpfsGetDeviceInfo(privVfsP, p);
+#ifdef GPFS_PRINTK
+  printk("gpfs_get_deviceinfo: rc %d\n", rc);
+#endif
+
+xerror:
+  TRACE1(TRACE_VNODE, 1, TRCID_GET_DEVICEINFO_EXIT,
+         "gpfs_get_deviceinfo exit: rc %d\n", rc);
+
+//  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+
+void gpfs_get_verifier(struct super_block *sbP, u32 *p)
+{
+  int rc;
+  struct gpfsVfsData_t *privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+
+//  VFS_STAT_START(gpfs_get_verifier);
+  ENTER(0);
+  DBGASSERT(privVfsP != NULL);
+
+#ifdef GPFS_PRINTK
+  printk("gpfs_get_verifier: sbP 0x%lX p 0x%lX\n", sbP, p);
+#endif
+
+  gpfs_ops.gpfsGetVerifier(privVfsP, p);
+
+#ifdef GPFS_PRINTK
+  printk("gpfs_get_verifier: sbP 0x%lX v1 0x%lX v2 0x%lX\n", sbP, *p, *(p+1));
+#endif
+
+//  VFS_STAT_STOP;
+  EXIT(0);
+  return;
+}
+
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/gpfs_gpl.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/gpfs_gpl.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/gpfs_gpl.h	(revision 16)
@@ -0,0 +1,349 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2006 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice,
+ *     this list of conditions and the following disclaimer.
+ *  2. Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *  3. The name of the author may not be used to endorse or promote products
+ *     derived from this software without specific prior written
+ *     permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)79	1.3  src/avs/fs/mmfs/ts/kernext/ibm-kxi/gpfs_gpl.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/27/06 16:48:09 */
+/*
+ *  Library calls for GPFS interfaces
+ */
+
+
+#ifndef H_GPFS_GPL
+#define H_GPFS_GPL
+#ifndef H_GPFS
+/* typedefs that are in gpfs.h as well */
+typedef unsigned int gpfs_uid_t;
+typedef long long gpfs_off64_t;
+#ifdef __cplusplus
+extern "C" {
+#endif
+#endif
+
+
+
+/* Mapping of buffer for gpfs_getacl, gpfs_putacl. */
+typedef struct gpfs_opaque_acl
+{
+  int            acl_buffer_len;  /* INPUT:  Total size of buffer (including this field).
+                                     OUTPUT: Actual size of the ACL information.  */
+  unsigned short acl_version;     /* INPUT:  Set to zero.
+                                     OUTPUT: Current version of the returned ACL. */
+  unsigned char  acl_type;        /* INPUT:  Type of ACL: access (1) or default (2). */
+  char           acl_var_data[1]; /* OUTPUT: Remainder of the ACL information. */
+} gpfs_opaque_acl_t;
+
+/* ACL types (acl_type field in gpfs_opaque_acl_t or gpfs_acl_t) */
+#define GPFS_ACL_TYPE_ACCESS  1
+#define GPFS_ACL_TYPE_DEFAULT 2
+#define GPFS_ACL_TYPE_NFS4    3
+
+/* gpfs_getacl, gpfs_putacl flag indicating structures instead of the 
+   opaque style data normally used.  */
+#define GPFS_GETACL_STRUCT 0x00000020
+#define GPFS_PUTACL_STRUCT 0x00000020
+
+/* gpfs_getacl, gpfs_putacl flag indicating smbd is the caller */
+#define GPFS_ACL_SAMBA     0x00000040
+
+/* Defined values for gpfs_aclVersion_t */
+#define GPFS_ACL_VERSION_POSIX 1
+#define GPFS_ACL_VERSION_NFS4  4
+
+/* Values for gpfs_aceType_t (ACL_VERSION_POSIX) */
+#define GPFS_ACL_USER_OBJ  1
+#define GPFS_ACL_GROUP_OBJ 2
+#define GPFS_ACL_OTHER     3
+#define GPFS_ACL_MASK      4
+#define GPFS_ACL_USER      5
+#define GPFS_ACL_GROUP     6
+
+/* Values for gpfs_acePerm_t (ACL_VERSION_POSIX) */
+#define ACL_PERM_EXECUTE 001
+#define ACL_PERM_WRITE   002
+#define ACL_PERM_READ    004
+#define ACL_PERM_CONTROL 010
+
+/* Values for gpfs_aceType_t (ACL_VERSION_NFS4) */
+#define ACE4_TYPE_ALLOW 0
+#define ACE4_TYPE_DENY  1
+
+/* Values for gpfs_aceFlags_t (ACL_VERSION_NFS4) */
+#define ACE4_FLAG_FILE_INHERIT    0x00000001
+#define ACE4_FLAG_DIR_INHERIT     0x00000002
+#define ACE4_FLAG_INHERIT_ONLY    0x00000008
+#define ACE4_FLAG_GROUP_ID        0x00000040
+
+/* GPFS-defined flags.  Placed in a seperate ACL field to avoid
+   ever running into newly defined NFSv4 flags. */
+#define ACE4_IFLAG_SPECIAL_ID     0x80000000
+
+/* Values for gpfs_aceMask_t (ACL_VERSION_NFS4) */
+#define ACE4_MASK_READ         0x00000001
+#define ACE4_MASK_LIST_DIR     0x00000001
+#define ACE4_MASK_WRITE        0x00000002
+#define ACE4_MASK_ADD_FILE     0x00000002
+#define ACE4_MASK_APPEND       0x00000004
+#define ACE4_MASK_ADD_SUBDIR   0x00000004
+#define ACE4_MASK_READ_NAMED   0x00000008
+#define ACE4_MASK_WRITE_NAMED  0x00000010
+#define ACE4_MASK_EXECUTE      0x00000020
+
+/* The rfc doesn't provide a mask equivalent to "search" ("x" on a
+ * directory in posix), but it also doesn't say that its EXECUTE
+ * is to have this dual use (even though it does so for other dual
+ * use permissions such as read/list.  Going to make the assumption
+ * here that the EXECUTE bit has this dual meaning... otherwise
+ * we're left with no control over search.
+ */
+#define ACE4_MASK_SEARCH       0x00000020
+
+#define ACE4_MASK_DELETE_CHILD 0x00000040
+#define ACE4_MASK_READ_ATTR    0x00000080
+#define ACE4_MASK_WRITE_ATTR   0x00000100
+#define ACE4_MASK_DELETE       0x00010000
+#define ACE4_MASK_READ_ACL     0x00020000
+#define ACE4_MASK_WRITE_ACL    0x00040000
+#define ACE4_MASK_WRITE_OWNER  0x00080000
+#define ACE4_MASK_SYNCHRONIZE  0x00100000
+#define ACE4_MASK_ALL          0x001f01ff
+
+/* Values for gpfs_uid_t (ACL_VERSION_NFS4) */
+#define ACE4_SPECIAL_OWNER              1
+#define ACE4_SPECIAL_GROUP              2
+#define ACE4_SPECIAL_EVERYONE           3
+
+
+/* Externalized ACL defintions */
+typedef unsigned int gpfs_aclType_t;
+typedef unsigned int gpfs_aclLen_t;
+typedef unsigned int gpfs_aclLevel_t;
+typedef unsigned int gpfs_aclVersion_t;
+typedef unsigned int gpfs_aclCount_t;
+
+typedef unsigned int gpfs_aceType_t;
+typedef unsigned int gpfs_aceFlags_t;
+typedef unsigned int gpfs_acePerm_t;
+typedef unsigned int gpfs_aceMask_t;
+
+/* A POSIX ACL Entry */
+typedef struct gpfs_ace_v1
+{
+  gpfs_aceType_t  ace_type; /* POSIX ACE type */
+  gpfs_uid_t      ace_who;  /* uid/gid */
+  gpfs_acePerm_t  ace_perm; /* POSIX permissions */
+} gpfs_ace_v1_t;
+
+/* A NFSv4 ACL Entry */
+typedef struct gpfs_ace_v4
+{
+  gpfs_aceType_t  aceType;   /* Allow or Deny */
+  gpfs_aceFlags_t aceFlags;  /* Inherit specifications, etc. */
+  gpfs_aceFlags_t aceIFlags; /* GPFS Internal flags */
+  gpfs_aceMask_t  aceMask;   /* NFSv4 mask specification */
+  gpfs_uid_t      aceWho;    /* User/Group identification */
+} gpfs_ace_v4_t;
+
+/* The GPFS ACL */
+typedef struct gpfs_acl
+{
+  gpfs_aclLen_t     acl_len;     /* Total length of this ACL in bytes */
+  gpfs_aclLevel_t   acl_level;   /* Reserved (must be zero) */
+  gpfs_aclVersion_t acl_version; /* POSIX or NFS4 ACL */
+  gpfs_aclType_t    acl_type;    /* Access, Default, or NFS4 */
+  gpfs_aclCount_t   acl_nace;    /* Number of Entries that follow */
+  union
+  {
+    gpfs_ace_v1_t  ace_v1[1]; /* when GPFS_ACL_VERSION_POSIX */
+    gpfs_ace_v4_t  ace_v4[1]; /* when GPFS_ACL_VERSION_NFS4  */
+  };
+} gpfs_acl_t;
+
+
+
+/* NAME:        gpfs_getacl()
+ *
+ * FUNCTION:    Retrieves the ACL information for a file.
+ *              This function, together with gpfs_putacl, is intended
+ *              for use by a backup program to save (gpfs_getacl) and
+ *              restore (gpfs_putacl) the ACL information for a file.
+ *              The flags parameter must be zero (reserved for future use).
+ *              The aclP parameter must point to a buffer mapped by the
+ *              gpfs_opaque_acl_t structure. The first four bytes of the 
+ *              buffer must contain its total size.
+ *
+ *              Note: The use of gpfs_fgetattrs/gpfs_fputattrs is preferred.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ *              ENOSPC  buffer too small to return the entire ACL.
+ *                      Needed size is returned in the first four
+ *                      bytes of the buffer pointed to by aclP.
+ */
+int 
+gpfs_getacl(char *pathname,
+            int   flags,
+            void *acl);
+
+
+/* NAME:        gpfs_putacl()
+ *
+ * FUNCTION:    Sets the ACL information for a file.
+ *              The buffer passed in should contain the ACL data
+ *              that was obtained by a previous call to gpfs_getacl.
+ *              The flags parameter must be zero (reserved for future use).
+ *
+ *              Note: The use of gpfs_fgetattrs/gpfs_fputattrs is preferred.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ */
+int 
+gpfs_putacl(char *pathname,
+            int   flags,
+            void *acl);
+
+
+/* NAME:        gpfs_prealloc()
+ * FUNCTION:    Preallocate disk storage for the file handle that has
+ *              already been opened for writing, starting at the specified
+ *              starting offset and covering at least the number of bytes
+ *              requested. Allocations are rounded to block boundaries
+ *              (block size can be found using fstat() in st_blksize.)
+ *              Any existing data already in the file will not be modified.
+ *              Any read of the preallocated blocks will return zeros.
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  No prealloc service available
+ *              EBADF   Bad file desc
+ *              EINVAL  Not a GPFS file
+ *              EINVAL  Not a regular file
+ *              EINVAL  StartOffset or BytesToPrealloc < 0
+ *              EACCES  File not opened for writing
+ *              EDQUOT  Quota exceeded
+ *              ENOSPC  Not enough space on disk
+ */
+int
+gpfs_prealloc(int fileDesc,
+              gpfs_off64_t startOffset,
+              gpfs_off64_t bytesToPrealloc);
+
+
+#ifndef H_GPFS
+/* NAME:        gpfs_set_share()
+ *
+ * FUNCTION:    Acquire shares for Samba
+ *
+ * Input:       fd    : file descriptor
+ *              allow : share type being requested
+ *                      GPFS_SHARE_NONE, GPFS_SHARE_READ, 
+ *                      GPFS_SHARE_WRITE, GPFS_SHARE_BOTH
+ *              deny  : share type to deny to others
+ *                      GPFS_DENY_NONE, GPFS_DENY_READ,
+ *                      GPFS_DENY_WRITE, GPFS_DENY_BOTH
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       Specific error indication
+ *              EACCES  share mode not available
+ */
+
+/* allow/deny specifications */
+#define GPFS_SHARE_NONE   0
+#define GPFS_SHARE_READ   1
+#define GPFS_SHARE_WRITE  2
+#define GPFS_SHARE_BOTH   3
+#define GPFS_DENY_NONE    0
+#define GPFS_DENY_READ    1
+#define GPFS_DENY_WRITE   2
+#define GPFS_DENY_BOTH    3
+
+int 
+gpfs_set_share(int fd,
+               unsigned int allow,
+               unsigned int deny);
+
+
+/* NAME:        gpfs_set_lease()
+ *
+ * FUNCTION:    Acquire leases for Samba
+ *
+ * Input:       fd        : file descriptor
+ *              leaseType : lease type being requested
+ *                          GPFS_LEASE_NONE GPFS_LEASE_READ, 
+ *                          GPFS_LEASE_WRITE
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       Specific error indication
+ *              EACCES  lease not available
+ */
+
+/* leaseType specifications */
+#define GPFS_LEASE_NONE    0
+#define GPFS_LEASE_READ    1
+#define GPFS_LEASE_WRITE   2
+
+int 
+gpfs_set_lease(int fd,
+               unsigned int leaseType);
+
+
+/* NAME:        gpfs_get_lease()
+ *
+ * FUNCTION:    Returns the type of lease currently held
+ *
+ * Returns:      GPFS_LEASE_READ   
+ *               GPFS_LEASE_WRITE   
+ *               GPFS_LEASE_NONE   
+ *              -1      Failure
+ *
+ * Errno:       Specific error indication
+ *              EINVAL  
+ */
+int
+gpfs_get_lease(int fd);
+#endif /* included directly (not via gpfs.h) */
+
+
+#ifndef H_GPFS
+#ifdef __cplusplus
+}
+#endif
+#endif
+#endif /* H_GPFS_GPL */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/gpl-ksyms.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/gpl-ksyms.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/gpl-ksyms.c	(revision 16)
@@ -0,0 +1,414 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)41       1.129.1.3  src/avs/fs/mmfs/ts/kernext/gpl-linux/gpl-ksyms.c, mmfs, avs_rgpfs24, rgpfs24s006a 8/16/06 18:49:16 */
+/*
+ * Export symbols for module (mmfslinux)
+ *
+ * Define new global variables with GPFS_EXPORT_SYMBOL(varname).
+ * Define new functions with GPFS_EXPORT_FUNC(varname).
+ *
+ * The latter will automatically spit out a generic function
+ * prototype. The prototype format doesn't matter here, but
+ * it is important to let the compiler know that something
+ * is really a function (or else incorrect code is spewed out
+ * on IA64 for the relocation entry which trips up insmod;
+ * the i386 platform doesn't have this feature).
+ *
+ * NOTE: C++ function names / methods are generally mangled and
+ * you need to use the managled symbol name. The mangled name can
+ * be found by scanning the appropriate object file w/
+ * "objdump --syms <file> | grep <original symbol name>", or just
+ * try to load the module and shove the undefined reference names
+ * in here.
+ * These mangled names seem to be architecture independant so far.
+ *
+ */
+
+
+#include <Shark-gpl.h>
+#include <Logger-gpl.h>
+#include <cxiTypes.h>
+#include <cxiIOBuffer.h>
+#include <cxiDmapi.h>
+#include <cxiMmap.h>
+#include <cxiSharedSeg.h>
+#include <cxiVFSStats.h>
+#include <cxiTSFattr.h>
+#include <Trace.h>
+#include <linux2gpfs.h>
+
+#include <linux/version.h>
+#include <linux/module.h>
+#if LINUX_KERNEL_VERSION > 2060300
+#include <linux/kernel.h>
+#endif
+
+/* ************************************************************* */
+/* Various kludge definitions that are are needed with C++ code. */
+/* ************************************************************* */
+
+#ifdef MODULE
+
+#if LINUX_KERNEL_VERSION < 2060000
+extern int printk(const char * fmt, ...);
+#endif
+void terminate__Fv() { printk("??? terminate() called ???\n"); };
+
+int errno = 0;
+
+#ifdef GPFS_ARCH_IA64
+void __builtin_delete() { printk("??? __builtin_delete() called ???\n"); };
+void __throw() { printk("??? __throw() called ???\n"); };
+#endif /* GPFS_ARCH_IA64 */
+
+#endif /* MODULE */
+
+#ifdef GPFS_ARCH_IA64
+int __ia64_personality_v1 = 0;
+#endif /* GPFS_ARCH_IA64 */
+
+#ifdef GPFS_ARCH_PPC64
+int __gxx_personality_v0 = 0;
+void _Unwind_Resume() { printk("??? ._Unwind_Resume called ???\n"); };
+#endif
+
+/* ********************** */
+/* Export symbols section */
+/* ********************** */
+
+#if defined(MODULE) && defined(GPFS_EXPORT_KSYMS)
+
+#if LINUX_KERNEL_VERSION > 2061000
+#define GPFS_EXPORT_SYMBOL(VAR) EXPORT_SYMBOL(VAR);
+#define EXPORT_SYMBOL_NOVERS(VAR) EXPORT_SYMBOL(VAR);
+#define GPFS_EXPORT_FUNC(FNAME) /* extern void FNAME (); */ \
+                                EXPORT_SYMBOL(FNAME);
+#else
+/* Use GPFS_EXPORT_SYMBOL for exporting a variable */
+/* Use GPFS_EXPORT_FUNC for exporting a function */
+#define GPFS_EXPORT_SYMBOL(VAR) /* extern VAR;*/ EXPORT_SYMBOL_NOVERS(VAR);
+#define GPFS_EXPORT_FUNC(FNAME) /* extern void FNAME (); */ \
+                                EXPORT_SYMBOL_NOVERS(FNAME);
+#endif
+/* Only use native EXPORT_SYMBOL_NOVERS when you need to explicitly
+ * define something or initialize it here. */
+
+/* cxiIOBuffer.C */
+GPFS_EXPORT_FUNC(cxiAttachIOBuffer);
+GPFS_EXPORT_FUNC(cxiDetachIOBuffer);
+GPFS_EXPORT_FUNC(cxiUXfer);
+GPFS_EXPORT_FUNC(cxiXmemXfer);
+GPFS_EXPORT_FUNC(cxiKXfer);
+GPFS_EXPORT_FUNC(cxiKZero);
+GPFS_EXPORT_FUNC(cxiMapDiscontiguousRW);
+GPFS_EXPORT_FUNC(cxiUnmapDiscontiguousRW);
+GPFS_EXPORT_FUNC(cxiMapContiguousRO);
+GPFS_EXPORT_FUNC(cxiUnmapContiguousRO);
+GPFS_EXPORT_FUNC(cxiKDoIO);
+GPFS_EXPORT_FUNC(cxiKibdPin);
+GPFS_EXPORT_FUNC(cxiKibdUnpin);
+GPFS_EXPORT_FUNC(cxiKibdUnpinAll);
+#ifdef MMAP_DIO
+GPFS_EXPORT_FUNC(cxiKibdPinmm);
+GPFS_EXPORT_FUNC(cxiKibdUnpinmm);
+#endif
+
+/* cxiVFSStats.C */
+GPFS_EXPORT_SYMBOL(vfsStats);
+GPFS_EXPORT_FUNC(VFSStatPoint_begin);
+GPFS_EXPORT_FUNC(VFSStatPoint_end);
+#ifdef KCSTRACE
+GPFS_EXPORT_FUNC(cxiKcsTraceInfo);
+#endif
+
+/* cxiIOBuffer.C */
+GPFS_EXPORT_FUNC(GetDiskInfoX);
+
+/* cxiSystem.C */
+/* cxiSystem.h */
+GPFS_EXPORT_FUNC(cxiFcntlUnblock);
+GPFS_EXPORT_FUNC(cxiFcntlLock);
+GPFS_EXPORT_FUNC(cxiFcntlReset);
+GPFS_EXPORT_FUNC(cxiTrace);
+GPFS_EXPORT_FUNC(cxiFlockToVFS);
+GPFS_EXPORT_FUNC(cxiVFSToFlock);
+#ifdef NFS_CLUSTER_LOCKS
+GPFS_EXPORT_FUNC(cxiVFSCallback);
+#endif
+GPFS_EXPORT_FUNC(cxiCheckTypes);
+GPFS_EXPORT_FUNC(cxiOpenNFS);
+GPFS_EXPORT_FUNC(cxiCloseNFS);
+GPFS_EXPORT_FUNC(cxiSetNFSCluster);
+GPFS_EXPORT_FUNC(cxiGetNfsP);
+GPFS_EXPORT_FUNC(cxiSetNfsP);
+GPFS_EXPORT_FUNC(cxiGetCnP);
+GPFS_EXPORT_FUNC(cxiGetPvP);
+GPFS_EXPORT_FUNC(cxiGNPtoVP);
+GPFS_EXPORT_FUNC(cxiStartKProc);
+GPFS_EXPORT_FUNC(cxiStopKProc);
+GPFS_EXPORT_FUNC(cxiSleep);
+GPFS_EXPORT_FUNC(cxiPanic);
+GPFS_EXPORT_FUNC(cxiGetKernelBoundary);
+GPFS_EXPORT_FUNC(cxiHoldsBKL);
+#ifdef SMB_LOCKS
+GPFS_EXPORT_FUNC(cxiBreakOplock);
+GPFS_EXPORT_FUNC(cxiInitBreakQ);
+GPFS_EXPORT_FUNC(cxiTermBreakQ);
+GPFS_EXPORT_FUNC(cxiSendBreakMsg);
+GPFS_EXPORT_FUNC(cxiWaitForBreak);
+#endif /* SMB_LOCKS */
+GPFS_EXPORT_FUNC(cxiClearBit);
+GPFS_EXPORT_FUNC(cxiSetBit);
+GPFS_EXPORT_FUNC(cxiTestBit);
+GPFS_EXPORT_FUNC(cxiRegisterCleanup);
+GPFS_EXPORT_FUNC(socket_aio_dequeue);
+#ifdef NFS4_ACL
+GPFS_EXPORT_FUNC(cxiAuditWrite);
+GPFS_EXPORT_FUNC(cxiAlarmWrite);
+GPFS_EXPORT_FUNC(cxiGetCred);
+GPFS_EXPORT_FUNC(cxiPutCred);
+#endif /* NFS4_ACL */
+#if defined(ENTRYEXIT_TRACE) || defined(KSTACK_CHECK)
+GPFS_EXPORT_FUNC(cxiTraceEntry);
+GPFS_EXPORT_FUNC(cxiTraceExit);
+GPFS_EXPORT_FUNC(cxiTraceExitRC);
+#endif  /* defined(ENTRYEXIT_TRACE) || defined(KSTACK_CHECK) */
+
+/* cxiSystem-plat.h */
+GPFS_EXPORT_FUNC(cxiIsGPFSThread);
+GPFS_EXPORT_FUNC(cxiIsKswapdThread);
+GPFS_EXPORT_FUNC(cxiGetThreadId);
+GPFS_EXPORT_FUNC(cxiGetFcntlOwner);
+GPFS_EXPORT_FUNC(cxiUiomove);
+GPFS_EXPORT_FUNC(cxiMallocPinned);
+GPFS_EXPORT_FUNC(cxiFreePinned);
+GPFS_EXPORT_FUNC(cxiBigMalloc);
+GPFS_EXPORT_FUNC(cxiBigFree);
+GPFS_EXPORT_FUNC(cxiCopyIn);
+GPFS_EXPORT_FUNC(cxiCopyOut);
+GPFS_EXPORT_FUNC(cxiCopyInstr);
+GPFS_EXPORT_FUNC(cxiSafeGetLong);
+GPFS_EXPORT_FUNC(cxiSafePutLong);
+GPFS_EXPORT_FUNC(cxiSafeGetInt);
+GPFS_EXPORT_FUNC(cxiSafePutInt);
+#ifdef GPFS_ARCH_X86_64
+GPFS_EXPORT_FUNC(cxiIS64U);
+#endif
+GPFS_EXPORT_FUNC(cxiStackAddrToThreadId);
+GPFS_EXPORT_FUNC(cxiThreadPtrToThreadId);
+GPFS_EXPORT_FUNC(cxiIsSuperUser);
+GPFS_EXPORT_FUNC(cxiGetMaxFileSize);
+GPFS_EXPORT_FUNC(cxiSendSigThread);
+GPFS_EXPORT_FUNC(cxiWaitEventHasWaiters);
+GPFS_EXPORT_FUNC(cxiWaitEventInit);
+GPFS_EXPORT_FUNC(cxiGetTOD);
+GPFS_EXPORT_FUNC(cxiIsNFSThread);
+GPFS_EXPORT_FUNC(cxiIsNFS4Thread);
+GPFS_EXPORT_FUNC(cxiIsLockdThread);
+GPFS_EXPORT_FUNC(cxiIsKupdateThread);
+GPFS_EXPORT_FUNC(cxiBlockingMutexInit);
+GPFS_EXPORT_FUNC(cxiBlockingMutexAcquire);
+GPFS_EXPORT_FUNC(cxiBlockingMutexRelease);
+GPFS_EXPORT_FUNC(cxiBlockingMutexTerm);
+GPFS_EXPORT_FUNC(cxiBlockingMutexHeldByCaller);
+GPFS_EXPORT_FUNC(cxiBlockingMutexHasWaiters);
+GPFS_EXPORT_FUNC(cxiYield);
+GPFS_EXPORT_FUNC(cxiSetPageoutThread);
+GPFS_EXPORT_FUNC(cxiClearPageoutThread);
+#ifdef INSTRUMENT_LOCKS
+GPFS_EXPORT_SYMBOL(BlockingMutexStatsTable);
+#endif
+GPFS_EXPORT_FUNC(cxiWaitEventWait);
+GPFS_EXPORT_FUNC(cxiWaitEventSignal);
+GPFS_EXPORT_FUNC(cxiWaitEventWakeupOne);
+GPFS_EXPORT_FUNC(cxiWaitEventBroadcast);
+GPFS_EXPORT_FUNC(cxiWaitEventBroadcastRC);
+/* misc stuff */
+GPFS_EXPORT_FUNC(getpid);
+GPFS_EXPORT_FUNC(cxiPruneDCacheEntry);
+GPFS_EXPORT_FUNC(cxiInvalidateDCacheEntry);
+GPFS_EXPORT_FUNC(cxiInvalidateNegDCacheEntry);
+GPFS_EXPORT_FUNC(cxiInvalidatePerm);
+GPFS_EXPORT_FUNC(cxiUpdateInode);
+GPFS_EXPORT_FUNC(cxiInitVFS);
+GPFS_EXPORT_FUNC(cxiGetKernelStackSize);
+
+#ifndef KTRACE
+/* misc trace stuff */
+GPFS_EXPORT_SYMBOL(TraceFlagsP);
+#endif
+
+#ifdef SMB_LOCKS
+GPFS_EXPORT_FUNC(cxiIsSambaThread);
+GPFS_EXPORT_FUNC(cxiIsSambaOrLockdThread);
+GPFS_EXPORT_FUNC(setSMBOpenLockControl);
+GPFS_EXPORT_FUNC(setSMBOplock);
+/* GPFS_EXPORT_FUNC(breakSMBOplock); */
+GPFS_EXPORT_FUNC(cxiCheckOpen);
+GPFS_EXPORT_FUNC(kxGetShare);
+GPFS_EXPORT_FUNC(kxGetDelegation);
+#endif
+
+/* ss.c */
+GPFS_EXPORT_SYMBOL(ss_ioctl_op);
+GPFS_EXPORT_FUNC(cxiCalcMaxSharedSegment);
+GPFS_EXPORT_FUNC(cxiAllocSharedMemory);
+GPFS_EXPORT_FUNC(cxiFreeSharedMemory);
+GPFS_EXPORT_FUNC(cxiAttachSharedMemory);
+GPFS_EXPORT_FUNC(cxiDetachSharedMemory);
+#ifdef SSEG_SWIZZLE_PTRS
+GPFS_EXPORT_FUNC(cxiRecordSharedMemory);
+GPFS_EXPORT_FUNC(cxiInitPtrSwizzling);
+#endif
+
+/* kx.c */
+GPFS_EXPORT_FUNC(kxGetACL);
+GPFS_EXPORT_FUNC(kxPutACL);
+GPFS_EXPORT_FUNC(tsstat);
+GPFS_EXPORT_FUNC(tsfstat);
+GPFS_EXPORT_FUNC(tsfattr);
+GPFS_EXPORT_FUNC(tsattr);
+GPFS_EXPORT_FUNC(tsfsattr);
+GPFS_EXPORT_FUNC(kxPoll);
+GPFS_EXPORT_FUNC(cxiGetPrivVfsP);
+GPFS_EXPORT_FUNC(kxMadvise);
+GPFS_EXPORT_FUNC(kxGetThreadID);
+GPFS_EXPORT_FUNC(kxUMount);
+#ifdef GPFS_QUOTACTL
+GPFS_EXPORT_FUNC(kxQuotactl);
+#endif
+
+/* super.c */
+GPFS_EXPORT_FUNC(cxiSetMountInfo);
+GPFS_EXPORT_FUNC(cxiUnmount);
+GPFS_EXPORT_FUNC(cxiReactivateOSNode);
+GPFS_EXPORT_FUNC(cxiNewOSNode);
+GPFS_EXPORT_FUNC(cxiFreeOSNode);
+GPFS_EXPORT_FUNC(cxiDeleteMmap);
+GPFS_EXPORT_FUNC(cxiReinitOSNode);
+GPFS_EXPORT_FUNC(cxiRefOSNode);
+GPFS_EXPORT_FUNC(cxiRefOsNode);
+GPFS_EXPORT_FUNC(cxiInactiveOSNode);
+GPFS_EXPORT_FUNC(cxiPutOSNode);
+GPFS_EXPORT_FUNC(cxiDestroyOSNode);
+GPFS_EXPORT_FUNC(cxiSetOSNodeType);
+GPFS_EXPORT_FUNC(cxiSetOSNode);
+GPFS_EXPORT_FUNC(cxiCanUncacheOSNode);
+GPFS_EXPORT_FUNC(cxiDumpOSNode);
+GPFS_EXPORT_FUNC(cxiAddOSNode);
+
+/* gplInit.C */
+GPFS_EXPORT_SYMBOL(gpfs_ops);
+GPFS_EXPORT_FUNC(gpfs_init);
+GPFS_EXPORT_FUNC(cxiExportModuleStruct);
+GPFS_EXPORT_FUNC(cxiIncModuleCounter);
+GPFS_EXPORT_FUNC(gpfs_clean);
+GPFS_EXPORT_FUNC(reset_gpfs_operations);
+
+/* mmap.c */
+GPFS_EXPORT_FUNC(IoDone);
+GPFS_EXPORT_FUNC(VM_Attach);
+GPFS_EXPORT_FUNC(VM_Detach);
+GPFS_EXPORT_FUNC(getFilePos);
+GPFS_EXPORT_FUNC(getVp);
+GPFS_EXPORT_FUNC(mmapKill);
+GPFS_EXPORT_FUNC(EnableMmap);
+GPFS_EXPORT_FUNC(cxiMmapRegister);
+GPFS_EXPORT_FUNC(cxiMmapUnregister);
+GPFS_EXPORT_FUNC(cxiMmapFlush);
+GPFS_EXPORT_FUNC(cxiMmapGetPage);
+GPFS_EXPORT_FUNC(cxiMmapReleasePage);
+
+#ifdef DISK_LEASE_DMS
+GPFS_EXPORT_FUNC(cxiInitDMS);
+GPFS_EXPORT_FUNC(cxiShutdownDMS);
+GPFS_EXPORT_FUNC(cxiStartDMS);
+GPFS_EXPORT_FUNC(cxiStopDMS);
+#endif
+
+
+/* ****************************************************** */
+/* Various kludges that are are needed with C++ code.     */
+/* ****************************************************** */
+
+/* General C++ kludges */
+EXPORT_SYMBOL_NOVERS(terminate__Fv);
+EXPORT_SYMBOL_NOVERS(errno);
+
+/* Misc ia64 kludges */
+#ifdef GPFS_ARCH_IA64
+EXPORT_SYMBOL_NOVERS(__ia64_personality_v1);
+EXPORT_SYMBOL_NOVERS(__builtin_delete);
+EXPORT_SYMBOL_NOVERS(__throw);
+#endif /* GPFS_ARCH_IA64 */
+
+/* PPC64 hacks */
+#ifdef GPFS_ARCH_PPC64
+EXPORT_SYMBOL_NOVERS(__gxx_personality_v0);
+EXPORT_SYMBOL_NOVERS(_Unwind_Resume);
+#endif
+
+#ifdef DMAPI
+/* dmapi.c */
+GPFS_EXPORT_FUNC(cxiPathToVfsP);
+GPFS_EXPORT_FUNC(cxiPathRel);
+GPFS_EXPORT_FUNC(cxiIsReadOnlyMnt);
+GPFS_EXPORT_FUNC(cxiGetFileAndVp);
+GPFS_EXPORT_FUNC(cxiReleaseFile);
+GPFS_EXPORT_FUNC(cxiSetCred);
+GPFS_EXPORT_FUNC(cxiGetMountedOverOSNode);
+GPFS_EXPORT_FUNC(cxiMountedOverVfsType);
+GPFS_EXPORT_FUNC(cxiGetRootInode);
+#endif
+
+#ifdef UIDREMAP
+GPFS_EXPORT_FUNC(cxiGetUserEnvironmentSize);
+GPFS_EXPORT_FUNC(cxiGetUserEnvironment);
+#endif
+
+GPFS_EXPORT_FUNC(cxiHasMountHelper);
+
+#ifdef P_NFS4
+GPFS_EXPORT_FUNC(cxiSetFH);
+GPFS_EXPORT_FUNC(cxiOpenState);
+GPFS_EXPORT_FUNC(cxiChangeState);
+GPFS_EXPORT_FUNC(cxiRecallLayout);
+GPFS_EXPORT_FUNC(cxiGetDeviceList);
+GPFS_EXPORT_FUNC(cxiGetDeviceInfo);
+GPFS_EXPORT_FUNC(cxiGetLayout);
+#endif
+
+GPFS_EXPORT_FUNC(cxiCheckThreadState);
+GPFS_EXPORT_FUNC(cxiCheckProductVersion);
+GPFS_EXPORT_FUNC(cxiCheckSiteMcrVersion);
+#endif /* MODULE && GPFS_EXPORT_KSYMS */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/gplInit.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/gplInit.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/gplInit.c	(revision 16)
@@ -0,0 +1,411 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)68       1.66.1.13  src/avs/fs/mmfs/ts/kernext/gpl-linux/gplInit.c, mmfs, avs_rgpfs24, rgpfs24s012a 4/6/07 16:11:44 */
+/*
+ * Initialize the linux module
+ *
+ */
+
+#include <Shark-gpl.h>
+
+#include <linux/types.h>
+#include <linux/string.h>
+#include <linux/version.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/init.h>
+
+#include <verdep.h>
+#include <cxiSystem.h>
+#include <cxi2gpfs.h>
+#include <linux2gpfs.h>
+#include <cxiIOBuffer.h>
+#include <cxiSharedSeg.h>
+#include <Trace.h>
+
+extern char *prog_path;
+
+struct gpfs_operations gpfs_ops;
+
+/* This string must match (in the strcmp sense) PRODUCT_VERSION defined
+   in prodname.h.  It is used to make sure that mmfslinux module matches
+   the rest of the code. */
+#define PRODUCT_VERSION "3.1.0.12 "
+
+#ifdef MODULE
+
+#if (LINUX_KERNEL_VERSION >= 2040900)
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION ("GPFS portability layer");
+MODULE_AUTHOR ("IBM <gpfs@us.ibm.com>");
+#endif
+
+/* The module pointer for the mmfs module.  Exported
+ * to the mmfs portability layer module.  Its reference
+ * counts are updated via cxiIncModuleCounter().
+ */
+static struct module *ibmModule = 0;
+static struct module *ibmModuleLoaded = 0;
+
+void 
+cxiExportModuleStruct(void *modAddr)
+{
+  ibmModule = (struct module *)modAddr;
+}
+
+void 
+cxiIncModuleCounter(int up)
+{
+  TRACE2(TRACE_VNODE, 1, TRCID_CXIINC_COUNTER,
+         "cxiIncModuleCounter: ibmModule 0x%X up %d\n",
+         ibmModule, up);
+
+  if (ibmModule)
+  {
+    if (up)
+    {
+      MODULE_INCREMENT(ibmModule);
+      ibmModuleLoaded = ibmModule;
+    }
+    else if (ibmModuleLoaded)
+      MODULE_DECREMENT(ibmModule);
+  }
+}
+
+#else /* ! MODULE */
+
+static void *ibmModule = 0;
+void cxiExportModuleStruct(void *modAddr) {};
+void cxiIncModuleCounter(int up) {};
+
+#endif /* MODULE */
+
+extern char bin_path[CXI_MAXPATHLEN+1];
+extern char mmfs_path[CXI_MAXPATHLEN+1];
+extern int mmfsd_module_active;
+
+
+/* Dummy operations for initializing gpfs_operations table.
+   Using this dummy operation instead of storing a NULL function pointer
+   avoids having to check for NULL before each call. */
+void 
+gpfs_void_op()
+{
+}
+
+int 
+gpfs_enosys_op()
+{
+  return ENOSYS;
+}
+
+int 
+gpfs_zero_op()
+{
+  return 0;
+}
+
+void *
+gpfs_nullptr_op()
+{
+  return NULL;
+}
+
+typedef void   (*VoidFnP)();
+typedef int    (*IntFnP)();
+typedef void * (*PtrFnP)();
+
+/* initialize gpfs_operations table */
+void
+reset_gpfs_operations()
+{
+  gpfs_ops.mmfs = 0;
+  * (IntFnP *) & gpfs_ops.gpfsMount = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsStatfs = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsSyncfs = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsFsync = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsSyncNFS = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsMkdir = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsLink = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsOpen = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsInodeRead = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsInodeDelete = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsInodeFindActor = (IntFnP)gpfs_zero_op;
+  * (IntFnP *) & gpfs_ops.gpfsGetSnapIdPair = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsRemove = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsRename = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsRmdir = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsSetattr = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsSymlink = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsFsyncRange = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsClose = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsUnmap = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsFattr = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsFsAttr = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsFclear = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsFtrunc = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsRead = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsWrite = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsGetattr = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsAccess = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsReaddir = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsReadlink = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsCreate = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsMknod = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsRele = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsLookup = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsFcntl = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsUncache = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsUnmount = (IntFnP)gpfs_enosys_op;
+  * (VoidFnP*) & gpfs_ops.gpfsFinishUnmount = (VoidFnP)gpfs_void_op;
+#ifdef NFS4_CLUSTER
+  * (IntFnP*) & gpfs_ops.gpfsFsLocations = (IntFnP)gpfs_enosys_op;
+#endif
+  * (IntFnP *) & gpfs_ops.gpfsFcntlReset = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsGetAcl = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsPutAcl = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsGetNFS = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsReleaseNFS = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsReady = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsMmap = (IntFnP)gpfs_enosys_op;
+#ifdef SMB_LOCKS
+  * (IntFnP *) & gpfs_ops.SMBOpenLockControl = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.SMBGetOplockState = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.SMBGetOplockStateV = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsSetSMBOplock = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsReserveShare = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsReserveDelegation = (IntFnP)gpfs_enosys_op;
+#endif
+  * (IntFnP *) & gpfs_ops.gpfsDaemonToDie = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsCleanup = (IntFnP)gpfs_enosys_op;
+#ifdef UIDREMAP
+  * (IntFnP *) & gpfs_ops.UIDremapOn = (IntFnP)gpfs_enosys_op;
+#endif
+  * (VoidFnP*) & gpfs_ops.gpfsSwapdEnqueue = (VoidFnP)gpfs_enosys_op;
+  * (VoidFnP*) & gpfs_ops.gpfsQueueBufs = (VoidFnP)gpfs_enosys_op;
+  * (VoidFnP*) & gpfs_ops.gpfsMmapFlushLock = (VoidFnP)gpfs_enosys_op;
+  * (VoidFnP*) & gpfs_ops.gpfsMmapFlushUnlock = (VoidFnP)gpfs_enosys_op;
+#ifdef DMAPI
+  * (VoidFnP*) & gpfs_ops.gpfsDmUnmountEvent = (VoidFnP)gpfs_enosys_op;
+#endif
+  * (VoidFnP*) & gpfs_ops.gpfsNFSIget = (VoidFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsOpenNFS = (IntFnP)gpfs_enosys_op;
+  * (VoidFnP*) & gpfs_ops.gpfsGrace = (VoidFnP)gpfs_enosys_op;
+#ifdef P_NFS4
+  * (IntFnP *) & gpfs_ops.gpfsGetDeviceList = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsGetLayout = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsGetOpenState = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsLayoutRetrun = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsGetDeviceInfo = (IntFnP)gpfs_enosys_op;
+  * (IntFnP *) & gpfs_ops.gpfsGetMyDevID = (IntFnP)gpfs_enosys_op;
+  * (VoidFnP *) & gpfs_ops.gpfsGetVerifier = (IntFnP)gpfs_enosys_op;
+#endif
+#ifdef GPFS_QUOTACTL
+ * (IntFnP *) & gpfs_ops.gpfsQuotactl = (IntFnP)gpfs_enosys_op;
+#endif
+};
+
+void 
+gpfs_clean()
+{
+  kill_mmfsd();
+  if (gpfs_ops.mmfs)
+  {
+    gpfs_ops.mmfs(CFG_TERM);
+  }
+  gpfs_unreg_fs();
+
+#if LINUX_KERNEL_VERSION < 2050000
+  /* GPFS on Linux 2.5 uses an anonymous mount */
+  gpfs_block_clean();
+#endif
+}
+
+int 
+gpfs_init()
+{
+  if (strlen(prog_path) > CXI_MAXPATHLEN)
+  {
+    TRACE2(TRACE_SHARED, 0, TRCID_GPFSINIT_000,
+         "gpfs_init: prog_path %s length %d too long\n",
+         prog_path, strlen(prog_path));
+    return -1;
+  }
+
+#if LINUX_KERNEL_VERSION < 2050000
+  /* GPFS on Linux 2.5 uses an anonymous mount */
+  if (gpfs_block_init())
+    return -1;
+
+  if (gpfs_reg_fs())
+  {
+    gpfs_block_clean();
+    return -1;
+  }
+#else
+  if (gpfs_reg_fs())
+    return -1;
+#endif
+  
+  if (gpfs_ops.mmfs)
+  {
+    if (gpfs_ops.mmfs(CFG_INIT))
+    {
+      gpfs_clean();
+      return -1;
+    }
+  }
+  else
+    return -1;
+
+  strcpy(bin_path, prog_path);
+  return 0;
+}
+
+int cxiCheckProductVersion(const char* mmfsProductVersion)
+{
+  if (cxiStrcmp(mmfsProductVersion, PRODUCT_VERSION) != 0)
+  {
+    TRACE2(TRACE_VNODE, 0, TRCID_PRODVER_MISMATCH,
+           "mmfslinux product version %s does not match mmfs version %s",
+           PRODUCT_VERSION, mmfsProductVersion);
+
+    /* Since getting a trace of an early startup failure is awkward,
+       we should make the issue more obvious. */
+    printk("GPFS mmfslinux product version %s does not match mmfs version %s",
+           PRODUCT_VERSION, mmfsProductVersion);
+
+    return EINVAL;
+  }
+
+  return 0;
+}
+
+int cxiCheckSiteMcrVersion(const char* siteMcrVersion)
+{
+  if (cxiStrcmp(siteMcrVersion, SITEMCRREV) != 0)
+  {
+    TRACE2(TRACE_VNODE, 0, TRCID_STEMCRVER_MISMATCH,
+           "mmfslinux was built with site.mcr rev %s which does not match "
+           "the site.mcr version %s used to build mmfs",
+           SITEMCRREV, siteMcrVersion);
+                                                                                
+    /* Since getting a trace of an early startup failure is awkward,
+       we should make the issue more obvious. */
+    printk("mmfslinux was built with site.mcr rev %s which does not match "
+           "the site.mcr version %s used to build mmfs",
+           SITEMCRREV, siteMcrVersion);
+
+    return EINVAL;
+  }
+                                                                                
+  return 0;
+}
+
+/* Module initialization */
+MY_INIT_FUNCTION()
+{
+  int i;
+
+#ifdef KSTACK_CHECK
+  shInit();
+#endif
+
+#ifdef MALLOC_DEBUG
+  MallocDebugStart();
+#endif
+
+  for (i=0 ; i<MAX_TRACE_CLASSES ; i++)
+     TraceFlagsP[i] = 9;
+
+#ifdef INSTRUMENT_LOCKS
+  InitBlockingMutexStats();
+#endif
+
+  InitSharedMemory();
+
+  reset_gpfs_operations();
+
+  TRACE1(TRACE_SHARED, 0, TRCID_PORTINIT_001,
+         "init_module: prog_path %s\n",
+         prog_path == NULL ? "NULL" : prog_path);
+
+  /* Ensure types are the correct size */
+  if (cxiCheckTypes())
+  {
+    CleanUpSharedMemory();
+    return -1;
+  }
+
+  if (ss_init())
+  {
+    CleanUpSharedMemory();
+    return -1;
+  }
+
+  gpfs_proc_export_init();
+
+  KibdModuleInit();
+   
+#ifdef API_32BIT
+  gpfs_reg_ioctl32();
+#endif 
+
+  return 0;
+}
+
+/* Module unload */
+MY_EXIT_FUNCTION()
+{
+#ifdef API_32BIT
+  gpfs_unreg_ioctl32();
+#endif
+
+  gpfs_proc_export_term();
+
+  KibdModuleTerm();
+
+  TermSharedMemory();
+
+#ifdef MALLOC_DEBUG
+  MallocDebugEnd();
+#endif
+
+#ifdef KSTACK_CHECK
+  shTerm();
+#endif
+}
+
+DEFINE_MODULE_INIT();
+DEFINE_MODULE_EXIT();
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/.depends
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/.depends	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/.depends	(revision 16)
@@ -0,0 +1,2505 @@
+
+cfiles.o: cfiles.c ss_i386.c \
+  /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+cfiles_cust.o: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  cfiles.c ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+ss_i386.o: ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+
+cfiles.ko: cfiles.c ss_i386.c \
+  /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+cfiles_cust.ko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  cfiles.c ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+ss_i386.ko: ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+
+cfiles.pko: cfiles.c ss_i386.c \
+  /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+cfiles_cust.pko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  cfiles.c ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+ss_i386.pko: ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/Imakefile	(revision 16)
@@ -0,0 +1,28 @@
+/* $Id: Imakefile,v 1.27 2006/03/26 04:24:37 eshel Exp $ */
+
+/* Only include portability and cxi headers in this layer */
+SetGplIncludePath()
+
+NormalObjectRule()
+
+#undef i386
+HEADERS =
+STD_KINCLUDES += -I$(KERNEL_HEADER_DIR)/../arch/i386/mach-generic \
+                -I$(KERNEL_HEADER_DIR)/asm-i386/mach-default
+
+#if (LINUX_KERNEL_VERSION >= 2061600)
+comma = ,
+name-fix = $(subst $(comma),_,$(subst -,_,$1))
+basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(*F)))"
+KCFLAGS += -D"KBUILD_STR(s)=\#s" $(basename_flags)
+#endif
+
+LINUX_CUSTOM = cfiles_cust.ko
+GPL_LIBS = libarch-gpl_cust.a
+
+kLibraryTarget(libarch-gpl_cust.a, $(LINUX_CUSTOM))
+InstallLibraries($(GPL_LIBS), $(GPL_LIB_DIR))
+
+TRACELIST =
+
+DependTargetPK()
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/cfiles.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/cfiles.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/cfiles.c	(revision 16)
@@ -0,0 +1,43 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)50       1.4  src/avs/fs/mmfs/ts/kernext/gpl-linux/i386/cfiles.c, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:26:25 */
+/* This file is included by cfiles_<kernopts>.c
+ * It is a list of all 'c' files that make up the libarch-gpl.a 
+ * library.  The cfiles_<kernopts>.c file includes the 
+ * <linux/config.h> that is on the local machine and redefines
+ * the kernel config options.  It then includes this file.
+ *  
+ * The reason for this is so we can build a library for an alternate
+ * kernel config.
+ */ 
+#include "ss_i386.c"
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/cfiles_cust.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/cfiles_cust.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/cfiles_cust.c	(revision 16)
@@ -0,0 +1,38 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)54       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/i386/cfiles_cust.c, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:26:32 */
+/* This file is used to generate a customized mmfslinux kernel module. */
+
+#include <linux/config.h>
+
+#include "cfiles.c"
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/makefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/makefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/makefile	(revision 16)
@@ -0,0 +1,2903 @@
+# Makefile generated by imake - do not edit!
+# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+# $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+#==================================================
+# Copyright IBM 1993
+#==================================================
+
+###################################################
+# This makefile is automatically generated by
+# imake... do not modify or you may lose your
+# changes when imake generates makefiles again.
+# Ignore this message if you are not using imake.
+###################################################
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+PATCHED_KERNEL_FLAGS =
+
+CXI_HEADER_DIR = $(DESTDIR)/include
+
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS =
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+# Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+###################################################
+# The following comes from the site.mcr
+###################################################
+
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include
+
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build
+
+LINUX_PATCH_DEFINES =
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+
+COMMON_DEFINES =   -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES =   -DDBGASSERTS   -DNEW_DELETE_DEBUG    -DTRACK_USECOUNT   -DTRIGGERS   -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES =   -DINSTRUMENT_LOCKS   -DPTHREAD_STATS   -DTRACE_IO_DATA   -DENTRYEXIT_TRACE
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX =   -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -D$(LINUX_DISTRIBUTION)   -DLINUX_DISTRIBUTION_LEVEL=90   $(LINUX_PATCH_DEFINES)
+
+EXTRASTD_LDFLAGS =
+EXTRALDFLAGS2 =
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer
+
+COMMON_26_FLAGS += -m32 -ffreestanding
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2
+OPTFLAGS  += $(COMMON_26_FLAGS)
+
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+
+DEFAULT_DEFINES =   $(COMMON_LINUX)   -DLINUX_KERNEL_VERSION=2062015   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+SITE_FAR_TRACE_OPTS =
+
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+###################################################
+# Back from site.mcr
+###################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+Headers::
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" = "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" != "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \
+	  if [ ! -f /etc/SuSE-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \
+	  echo "This is OK" > /dev/null; \
+	else \
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \
+	fi;
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+clean::
+	$(RM) #* ,* *~ *.CKP *.BAK *.bak core
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+	$(RM) install.ti install.he library.ti *.rpm
+
+makefile:: Imakefile $(IRULESRC)/imake.tmpl $(IRULESRC)/site.mcr
+		$(IMAKE_CMD); \
+		touch .depends; \
+		cat .depends >>makefile
+
+###################################################
+# The following comes from the local Imakefile
+###################################################
+
+STD_KINCLUDES = -I$(CXI_HEADER_DIR) -I$(GPL_HEADER_DIR) -I$(KERNEL_HEADER_DIR)
+
+.C.o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $*.C
+.C.32o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS32) $*.C -o $*.32o
+.C.64o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS64) $*.C -o $*.64o
+.c.o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $*.c
+.c.32o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS32) $*.c -o $*.32o
+.c.64o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS64) $*.c	-o $*.64o
+
+.c.ko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KCFLAGS) $*.c
+.C.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.C
+.S.o:
+	$(RM) $@
+	$(CC) -o $@ -c $(CFLAGS) $*.S
+.S.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.S
+.c.pko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.c
+.C.pko:
+	$(RM) $@
+	$(CC) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.C
+.rpc.h:
+	$(MKRPC) $*.rpc
+
+HEADERS =
+STD_KINCLUDES += -I$(KERNEL_HEADER_DIR)/../arch/i386/mach-generic                 -I$(KERNEL_HEADER_DIR)/asm-i386/mach-default
+
+comma = ,
+name-fix = $(subst $(comma),_,$(subst -,_,$1))
+basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(*F)))"
+KCFLAGS += -D"KBUILD_STR(s)=\#s" $(basename_flags)
+
+LINUX_CUSTOM = cfiles_cust.ko
+GPL_LIBS = libarch-gpl_cust.a
+
+libs:: libarch-gpl_cust.a
+libarch-gpl_cust.a:  $(LINUX_CUSTOM)
+	$(RM) $@
+	$(KAR) $(KARFLAGS) $@  $(LINUX_CUSTOM)
+
+library.ti:: $(GPL_LIBS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; \
+		$(INSTALL) $(INSTLIBFLAGS) $$i  $(GPL_LIB_DIR)/$$i ) done)
+
+TRACELIST =
+
+depend::
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES) -D__KERNEL__" "$(ALL_KDEFINES) -D__KERNEL__" "$(PATCHED_KERNEL_FLAGS) -D__KERNEL__"
+
+###################################################
+# Back from the local Imakefile
+###################################################
+
+Makefiles:: makefile
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+##### DEPENDENCY LINE - DO NOT DELETE #####
+
+cfiles.o: cfiles.c ss_i386.c \
+  /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+cfiles_cust.o: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  cfiles.c ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+ss_i386.o: ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+
+cfiles.ko: cfiles.c ss_i386.c \
+  /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+cfiles_cust.ko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  cfiles.c ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+ss_i386.ko: ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+
+cfiles.pko: cfiles.c ss_i386.c \
+  /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+cfiles_cust.pko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  cfiles.c ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+ss_i386.pko: ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/makefile.BAK
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/makefile.BAK	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/makefile.BAK	(revision 16)
@@ -0,0 +1,2904 @@
+# Makefile generated by imake - do not edit!
+# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+# $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+#==================================================
+# Copyright IBM 1993
+#==================================================
+
+###################################################
+# This makefile is automatically generated by
+# imake... do not modify or you may lose your
+# changes when imake generates makefiles again.
+# Ignore this message if you are not using imake.
+###################################################
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+PATCHED_KERNEL_FLAGS =
+
+CXI_HEADER_DIR = $(DESTDIR)/include
+
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS =
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+# Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+###################################################
+# The following comes from the site.mcr
+###################################################
+
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include
+
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build
+
+LINUX_PATCH_DEFINES =
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+
+COMMON_DEFINES =   -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES =   -DDBGASSERTS   -DNEW_DELETE_DEBUG    -DTRACK_USECOUNT   -DTRIGGERS   -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES =   -DINSTRUMENT_LOCKS   -DPTHREAD_STATS   -DTRACE_IO_DATA   -DENTRYEXIT_TRACE
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX =   -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -D$(LINUX_DISTRIBUTION)   -DLINUX_DISTRIBUTION_LEVEL=90   $(LINUX_PATCH_DEFINES)
+
+EXTRASTD_LDFLAGS =
+EXTRALDFLAGS2 =
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer
+
+COMMON_26_FLAGS += -m32 -ffreestanding
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2
+OPTFLAGS  += $(COMMON_26_FLAGS)
+
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+
+DEFAULT_DEFINES =   $(COMMON_LINUX)   -DLINUX_KERNEL_VERSION=2062015   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+SITE_FAR_TRACE_OPTS =
+
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+###################################################
+# Back from site.mcr
+###################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+Headers::
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" = "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" != "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \
+	  if [ ! -f /etc/SuSE-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \
+	  echo "This is OK" > /dev/null; \
+	else \
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \
+	fi;
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+clean::
+	$(RM) #* ,* *~ *.CKP *.BAK *.bak core
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+	$(RM) install.ti install.he library.ti *.rpm
+
+makefile:: Imakefile $(IRULESRC)/imake.tmpl $(IRULESRC)/site.mcr
+		$(IMAKE_CMD); \
+		touch .depends; \
+		cat .depends >>makefile
+
+###################################################
+# The following comes from the local Imakefile
+###################################################
+
+STD_KINCLUDES = -I$(CXI_HEADER_DIR) -I$(GPL_HEADER_DIR) -I$(KERNEL_HEADER_DIR)
+
+.C.o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $*.C
+.C.32o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS32) $*.C -o $*.32o
+.C.64o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS64) $*.C -o $*.64o
+.c.o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $*.c
+.c.32o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS32) $*.c -o $*.32o
+.c.64o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS64) $*.c	-o $*.64o
+
+.c.ko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KCFLAGS) $*.c
+.C.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.C
+.S.o:
+	$(RM) $@
+	$(CC) -o $@ -c $(CFLAGS) $*.S
+.S.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.S
+.c.pko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.c
+.C.pko:
+	$(RM) $@
+	$(CC) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.C
+.rpc.h:
+	$(MKRPC) $*.rpc
+
+HEADERS =
+STD_KINCLUDES += -I$(KERNEL_HEADER_DIR)/../arch/i386/mach-generic                 -I$(KERNEL_HEADER_DIR)/asm-i386/mach-default
+
+comma = ,
+name-fix = $(subst $(comma),_,$(subst -,_,$1))
+basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(*F)))"
+KCFLAGS += -D"KBUILD_STR(s)=\#s" $(basename_flags)
+
+LINUX_CUSTOM = cfiles_cust.ko
+GPL_LIBS = libarch-gpl_cust.a
+
+libs:: libarch-gpl_cust.a
+libarch-gpl_cust.a:  $(LINUX_CUSTOM)
+	$(RM) $@
+	$(KAR) $(KARFLAGS) $@  $(LINUX_CUSTOM)
+
+library.ti:: $(GPL_LIBS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; \
+		$(INSTALL) $(INSTLIBFLAGS) $$i  $(GPL_LIB_DIR)/$$i ) done)
+
+TRACELIST =
+
+depend::
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES) -D__KERNEL__" "$(ALL_KDEFINES) -D__KERNEL__" "$(PATCHED_KERNEL_FLAGS) -D__KERNEL__"
+
+###################################################
+# Back from the local Imakefile
+###################################################
+
+Makefiles:: makefile
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+##### DEPENDENCY LINE - DO NOT DELETE #####
+
+
+cfiles.o: cfiles.c ss_i386.c \
+  /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+cfiles_cust.o: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  cfiles.c ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+ss_i386.o: ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+
+cfiles.ko: cfiles.c ss_i386.c \
+  /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+cfiles_cust.ko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  cfiles.c ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+ss_i386.ko: ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+
+cfiles.pko: cfiles.c ss_i386.c \
+  /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+cfiles_cust.pko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  cfiles.c ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
+ss_i386.pko: ss_i386.c /usr/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/ss_i386.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/ss_i386.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/i386/ss_i386.c	(revision 16)
@@ -0,0 +1,164 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)85       1.24.1.1  src/avs/fs/mmfs/ts/kernext/gpl-linux/i386/ss_i386.c, mmfs, avs_rgpfs24, rgpfs24s007a 10/8/06 03:17:10 */
+/*
+ * Implementation of shared segment for GPFS daemon and GPFS kernel code.
+ *
+ */
+
+#include <Shark-gpl.h>
+#include <linux/config.h>
+#include <linux/types.h>
+#include <linux/version.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/errno.h>
+#include <linux/slab.h>
+#include <linux/smp_lock.h>
+#include <linux/proc_fs.h>
+#include <linux/mm.h>
+#include <linux/fs.h>
+#include <linux/file.h>
+#include <linux/binfmts.h>
+#include <linux/signal.h>
+#include <linux/vmalloc.h>
+
+#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
+#include <asm/io.h>
+#include <asm/uaccess.h>
+#include <asm/user.h>
+#include <asm/mman.h>
+#include <asm/atomic.h>
+#include <asm/ptrace.h>
+
+#include <verdep.h>
+#include <arch-gpl.h>
+
+/*
+ * Function spec: 
+ *
+ * Return a user_regs_struct <sys/user.h> for a particular thread
+ *
+ * For a particular task id, cycle thru each task via 
+ *   for_each_task(task_id) 
+ *
+ * Look for the requested thread
+ *   task_structP->pid
+ *
+ * A couple of the registers are found within the thread sub structure
+ * pointed to by the task structure.
+ *   task_structP->thread.fs
+ *   task_structP->thread.gs	
+ *
+ * All the other regs are found via the stack pointer thread.esp0
+ * The stack pointer points at the last element in a 
+ * struct pt_regs <linux/ptrace.h>.  The elements of the pt_regs 
+ * grow down from the stack pointer offset.
+ * 
+ *               Thus if thread.esp0 is 0xC0000000
+ *                     pt_regs.ss       0xBFFFFFFC
+ *                     pt_regs.esp      0xBFFFFFF8
+ *                     pt_regs.eflags   0xBFFFFFF4
+ *                     pt_regs.xcs      0xBFFFFFF0
+ *                     pt_regs.eip      0xBFFFFFEC
+ *                     pt_regs.orig_eax 0xBFFFFFE8
+ *                     pt_regs.xes      0xBFFFFFE4
+ *                     pt_regs.xds      0xBFFFFFE0
+ *                     pt_regs.eax      0xBFFFFFDC
+ *                     pt_regs.ebp      0xBFFFFFD8
+ *                     pt_regs.edi      0xBFFFFFD4
+ *                     pt_regs.esi      0xBFFFFFD0
+ *                     pt_regs.edx      0xBFFFFFCC
+ *                     pt_regs.ecx      0xBFFFFFC8
+ *                     pt_regs.ebx      0xBFFFFFC4
+ */
+
+int
+kxSaveThreadInfo(int tid, void* regP)
+{
+  struct task_struct *g, *t;
+  unsigned char *stackP;
+  int rc = ENOENT;
+  union
+  {
+    struct user_regs_struct userRegs;
+    unsigned long regArray[0];
+  } u;
+
+#define STACKP(A) (*(unsigned long *)(stackP - \
+                     (unsigned char *)(sizeof(struct pt_regs) - \
+                                       (long)&((struct pt_regs *)0)->A)))
+#define REGARRAY(A)  \
+          u.regArray[(long)&(((struct user_regs_struct *)0)->A) / sizeof(long)]
+
+  // read_lock(&tasklist_lock);
+  rcu_read_lock(); 
+
+  DO_EACH_THREAD(g,t)
+  {
+    if (t->pid != tid)
+      continue;
+
+    REGARRAY(fs) = t->thread.fs;
+    REGARRAY(gs) = t->thread.gs;
+
+    stackP = (char *)t->thread.esp0;
+
+    REGARRAY(ss)       = STACKP(xss);
+    REGARRAY(esp)      = STACKP(esp);
+    REGARRAY(eflags)   = STACKP(eflags);
+    REGARRAY(cs)       = STACKP(xcs);
+    REGARRAY(eip)      = STACKP(eip);
+    REGARRAY(orig_eax) = STACKP(orig_eax);
+    REGARRAY(es)       = STACKP(xes);
+    REGARRAY(ds)       = STACKP(xds);
+    REGARRAY(eax)      = STACKP(eax);
+    REGARRAY(ebp)      = STACKP(ebp);
+    REGARRAY(edi)      = STACKP(edi);
+    REGARRAY(esi)      = STACKP(esi);
+    REGARRAY(edx)      = STACKP(edx);
+    REGARRAY(ecx)      = STACKP(ecx);
+    REGARRAY(ebx)      = STACKP(ebx);
+
+    rc = 0;
+    goto found_it;
+  } WHILE_EACH_THREAD(g,t);
+found_it:
+  // read_unlock(&tasklist_lock);
+  rcu_read_unlock();
+
+  if (rc == 0)
+    rc = copy_to_user(regP, &u.userRegs, sizeof(struct user_regs_struct));
+  return rc;
+} 
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/Imakefile	(revision 16)
@@ -0,0 +1,21 @@
+/* $Id: Imakefile,v 1.28 2004/08/10 13:08:54 gjertsen Exp $ */
+
+/* Only include portability and cxi headers in this layer */
+SetGplIncludePath()
+
+NormalObjectRule()
+
+HEADERS =
+
+LINUX_CUSTOM = cfiles_cust.ko
+
+GPL_LIBS = libarch-gpl_cust.a
+
+kLibraryTarget(libarch-gpl_cust.a, $(LINUX_CUSTOM))
+InstallLibraries($(GPL_LIBS), $(GPL_LIB_DIR))
+
+TRACELIST = ss_ia64.c
+
+TraceTarget("glinux-ia64", $(TRACELIST))
+
+DependTargetPK()
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/cfiles.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/cfiles.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/cfiles.c	(revision 16)
@@ -0,0 +1,43 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)78       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/ia64/cfiles.c, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:26:47 */
+/* This file is included by cfiles_<kernopts>.c
+ * It is a list of all 'c' files that make up the libarch-gpl.a 
+ * library.  The cfiles_<kernopts>.c file includes the 
+ * <linux/config.h> that is on the local machine and redefines
+ * the kernel config options.  It then includes this file.
+ *  
+ * The reason for this is so we can build a library for an alternate
+ * kernel config.
+ */ 
+#include "ss_ia64.c"
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/cfiles_cust.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/cfiles_cust.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/cfiles_cust.c	(revision 16)
@@ -0,0 +1,38 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)81       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/ia64/cfiles_cust.c, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:26:55 */
+/* This file is used to generate a customized mmfslinux kernel module. */
+
+#include <linux/config.h>
+
+#include "cfiles.c"
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/ss_ia64.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/ss_ia64.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/ss_ia64.c	(revision 16)
@@ -0,0 +1,231 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)86       1.19.1.5  src/avs/fs/mmfs/ts/kernext/gpl-linux/ia64/ss_ia64.c, mmfs, avs_rgpfs24, rgpfs24s008a 11/17/06 10:04:58 */
+/*
+ * Implementation of shared segment for GPFS daemon and GPFS kernel code.
+ *
+ */
+
+#include <Shark-gpl.h>
+#include <Logger-gpl.h>
+#include <cxiSystem.h>
+#include <cxiIOBuffer.h>
+#include <cxiSharedSeg.h>
+#include <Trace.h>
+
+#include <linux/types.h>
+#include <linux/version.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/errno.h>
+#include <linux/slab.h>
+#include <linux/smp_lock.h>
+#include <linux/proc_fs.h>
+#include <linux/mm.h>
+#include <linux/fs.h>
+#include <linux/file.h>
+#include <linux/binfmts.h>
+#include <linux/vmalloc.h>
+#include <linux/signal.h>
+
+#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
+#include <asm/io.h>
+#include <asm/uaccess.h>
+#include <asm/user.h>
+#include <asm/mman.h>
+#include <asm/atomic.h>
+#include <asm/ptrace.h>
+
+#include <verdep.h>
+#include <arch-gpl.h>
+
+#ifdef LEVEL_1
+struct ia64_pfs {
+	__u64 reserved0 : 62;
+	__u64 ppl : 2;
+};
+# define ia64_pfs(regs) 	((struct ia64_pfs *) &(regs)->ar_pfs)
+#endif
+
+int
+set_privilege_level(unsigned long progLevel)
+{
+#ifdef LEVEL_1
+	unsigned long cpl;
+	unsigned long new_cpl;
+	unsigned long ipsr;
+	unsigned long new_ipsr;
+	unsigned long pfs;
+	unsigned long new_pfs;
+        struct pt_regs *regs;
+
+        if (progLevel < 0 || progLevel > 3 || !cxiIsSuperUser())
+          return -1;
+
+#if LINUX_KERNEL_VERSION > 2061600
+        regs = task_pt_regs(current);
+#else
+        regs = ia64_task_regs(current);
+#endif
+        cpl = ia64_psr(regs)->cpl;
+        ipsr = regs->cr_ipsr;
+        pfs = regs->ar_pfs;
+
+        ia64_psr(regs)->cpl = progLevel; // set current privilege level
+        ia64_pfs(regs)->ppl = progLevel; // set previous privilege level
+
+        new_ipsr = regs->cr_ipsr;
+        new_pfs = regs->ar_pfs;
+
+        TRACE5(TRACE_SHARED, 2, TRCID_SS_022,
+               "set_privilege_level: cpl 0x%lX ipsr 0x%lX pfs 0x%lX new_ipsr 0x%lX new_pfs 0x%lX\n",
+               cpl, ipsr, pfs, new_ipsr, new_pfs);
+
+#endif
+	return 0;
+}
+
+int
+get_privilege_level()
+{
+	unsigned long cpl;
+        struct pt_regs *regs;
+	unsigned long ipsr;
+	unsigned long pfs;
+
+#if LINUX_KERNEL_VERSION > 2061600
+        regs = task_pt_regs(current);
+#else
+        regs = ia64_task_regs(current);
+#endif
+        cpl = ia64_psr(regs)->cpl;
+        ipsr = regs->cr_ipsr;
+        pfs = regs->ar_pfs;
+
+        TRACE3(TRACE_SHARED, 2, TRCID_SS_022X,
+               "get_privilege_level: cpl 0x%lX ipsr 0x%lX pfs 0x%lX\n",
+               cpl, ipsr, pfs);
+
+	return cpl;
+}
+
+int
+kxSaveThreadInfo(int tid, void* regP)
+{
+  struct sigcontext *sc = (struct sigcontext *)regP;
+  struct task_struct *g, *p;
+  struct pt_regs *pt;
+  int rc = ENOENT;
+
+  read_lock(&tasklist_lock);
+  DO_EACH_THREAD(g,p)
+  {
+    if (PROCESS_GROUP(current) == PROCESS_GROUP(p) &&
+        current->pid != tid && p->pid == tid)
+    {
+#if LINUX_KERNEL_VERSION > 2061600
+      pt = task_pt_regs(p);
+#else
+      pt = ia64_task_regs(p);
+#endif
+      read_unlock(&tasklist_lock);
+
+      rc = __put_user(pt->cr_iip, &sc->sc_ip);
+      rc |= __put_user(pt->ar_bspstore, &sc->sc_ar_bsp);
+      rc |= __put_user(pt->ar_pfs, &sc->sc_cfm);
+
+      return rc;
+    }
+  } WHILE_EACH_THREAD(g,p);
+  read_unlock(&tasklist_lock);
+  return -1;
+} 	
+
+/* TLB flush routines for a single page or an address range.
+   These are not exported by the kernel (like flush_tlb_all)
+   and we want to do this at a finer granularity than flushing
+   the entire TLB cache.
+   The kernel serializes tlb cache flushes with the ptcg_lock,
+   but we don't have access to this. */
+
+void flush_tlb_page_ia64(unsigned long start_addr)
+{
+  unsigned long addr = start_addr & ~(PAGE_SIZE - 1);  /* page align */
+
+  /* ptc commands expect flush size starting at bit 2 of register */
+#ifdef CONFIG_SMP
+  __asm__ __volatile__ ("ptc.ga %0, %1;;"
+                        :
+                        : "r"(addr),
+                          "r"(PAGE_SHIFT << 2)
+                        : "memory");
+#else
+  __asm__ __volatile__ ("ptc.l %0, %1;;"
+                        :
+                        : "r"(addr),
+                          "r"(PAGE_SHIFT << 2)
+                        : "memory");
+#endif /* CONFIG_SMP */  
+
+  /* need to serialize */
+  __asm__ __volatile__ ("srlz.i;;" : : : "memory");
+}
+
+void flush_tlb_range_ia64(unsigned long start_addr, unsigned long end_addr)
+{
+  unsigned long addr = start_addr & ~(PAGE_SIZE - 1);  /* page align */
+
+  while (addr < end_addr)
+  {
+    /* ptc commands expect flush size starting at bit 2 of register */
+#ifdef CONFIG_SMP
+    __asm__ __volatile__ ("ptc.ga %0, %1;;"
+                          :
+                          : "r"(addr),
+                            "r"(PAGE_SHIFT << 2)
+                          : "memory");
+#else
+    __asm__ __volatile__ ("ptc.l %0, %1;;"
+                          :
+                          : "r"(addr),
+                            "r"(PAGE_SHIFT << 2)
+                          : "memory");
+#endif /* CONFIG_SMP */  
+
+  /* need to serialize */
+  __asm__ __volatile__ ("srlz.i;;" : : : "memory");
+
+    addr += PAGE_SIZE;
+  }
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/trcid.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/trcid.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ia64/trcid.h	(revision 16)
@@ -0,0 +1,76 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/*
+ * Trace id and reason code definitions.
+ *
+ * This file is generated by mktrace.
+ * ------>>> DO NOT EDIT ! <<<------
+ */
+#include <DirIds.h>
+#define LOCAL_BASE	DIR_ID_KERNEXT_GPL_LINUX_IA64
+#define LOCAL_TRCID	(LOCAL_BASE << 10)
+#define TRCID_SS_022	(LOCAL_TRCID + 1)
+#define TRCID_SS_055	(LOCAL_TRCID + 2)
+#define TRCID_SS_056	(LOCAL_TRCID + 3)
+#define TRCID_SS_057	(LOCAL_TRCID + 4)
+#define TRCID_SS_022X	(LOCAL_TRCID + 5)
+
+/* Generated trace calls */
+
+#ifdef __64BIT__
+
+#define TRACE_TRCID_SS_022_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_SS_022), (Int64)(cpl), (Int64)(ipsr), (Int64)(pfs), (Int64)(new_ipsr), (Int64)(new_pfs));
+#define TRACE_TRCID_SS_055_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_SS_055), (Int64)(file), (Int64)(addr), (Int64)(len), (Int64)(prot), (Int64)(flag), (Int64)(offset));
+#define TRACE_TRCID_SS_056_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_SS_056), (Int64)(addr), (Int64)(ret), (Int64)(testP[0]), (Int64)(cpl));
+#define TRACE_TRCID_SS_057_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_SS_057), (Int64)(file), (Int64)(addr), (Int64)(len), (Int64)(prot), (Int64)(flag), (Int64)(offset), (Int64)(ret));
+#define TRACE_TRCID_SS_022X_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_SS_022X), (Int64)(cpl), (Int64)(ipsr), (Int64)(pfs));
+
+#else /* _ILP_32 */
+
+#define TRACE_TRCID_SS_022_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_SS_022), (Int32)(cpl), (Int32)(ipsr), (Int32)(pfs), (Int32)(new_ipsr), (Int32)(new_pfs));
+#define TRACE_TRCID_SS_055_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_SS_055), (Int32)(file), (Int32)(addr), (Int32)(len), (Int32)(prot), (Int32)(flag), (Int32)(offset));
+#define TRACE_TRCID_SS_056_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_SS_056), (Int32)(addr), (Int32)(ret), (Int32)(testP[0]), (Int32)(cpl));
+#define TRACE_TRCID_SS_057_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_SS_057), (Int32)(file), (Int32)(addr), (Int32)(len), (Int32)(prot), (Int32)(flag), (Int32)(offset), (Int32)(ret));
+#define TRACE_TRCID_SS_022X_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_SS_022X), (Int32)(cpl), (Int32)(ipsr), (Int32)(pfs));
+
+#endif /* __64BIT__ */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ibmInitWrap.C
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ibmInitWrap.C	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ibmInitWrap.C	(revision 16)
@@ -0,0 +1,57 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)80       1.4  src/avs/fs/mmfs/ts/kernext/gpl-linux/ibmInitWrap.C, mmfs, avs_rgpfs24, rgpfs24s008a 11/17/06 10:14:58 */
+/* 
+ * This file is used for building the mmfs module for 2.4 kernels
+ * so that the correct kernel release information is incorporated 
+ * into the module, avoiding force loading the module.
+ */
+
+#include <linux/version.h>
+#include <cxiSystem.h>
+#include <cxiTypes.h>
+
+#ifdef MODULE
+extern "C" const char __gpfs_kernel_version[] __attribute__ \
+((section(".modinfo"))) = "kernel_version=" UTS_RELEASE;
+extern "C" const char __gpfs_license[] __attribute__ \
+((section(".modinfo"))) = "license=GPL";
+extern "C" const char __gpfs_author[] __attribute__ \
+((section(".modinfo"))) = "author=IBM <gpfs@us.ibm.com>";
+extern "C" const char __gpfs_description[] __attribute__ \
+((section(".modinfo"))) = "description=GPFS kernel module";
+#else /* ! MODULE */
+extern "C" int portability_init(void);
+extern "C" void portability_cleanup(void);
+#endif /* MODULE */
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/inode.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/inode.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/inode.c	(revision 16)
@@ -0,0 +1,2237 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)01       1.90.1.4  src/avs/fs/mmfs/ts/kernext/gpl-linux/inode.c, mmfs, avs_rgpfs24, rgpfs24s012a 4/17/07 15:54:47 */
+/*
+ * Inode operations
+ *
+ * Contents:
+ *   printInode
+ *   printDentry
+ *   cxiSetOSNode
+ *   cxiInvalidatePerm
+ *   getIattr
+ *   get_umask
+ *   setCred
+ *   gpfs_i_create
+ *   gpfs_i_lookup
+ *   gpfs_i_link
+ *   gpfs_i_unlink
+ *   gpfs_i_symlink
+ *   gpfs_i_mkdir
+ *   gpfs_i_rmdir
+ *   gpfs_i_mknod
+ *   gpfs_i_rename
+ *   gpfs_i_readlink
+ *   gpfs_i_follow_link
+ *   gpfs_i_readpage        (in mmap.c)
+ *   gpfs_i_writepage       (in mmap.c)
+ *   gpfs_i_bmap
+ *   gpfs_i_truncate
+ *   gpfs_i_permission
+ *   gpfs_i_smap
+ *   gpfs_i_updatepage
+ *   gpfs_i_revalidate
+ *   gpfs_i_setattr
+ *   gpfs_i_setattr_internal
+ *   gpfs_i_getattr
+ *   gpfs_i_getattr_internal
+ *   gpfs_i_lock
+ *   gpfs_i_getxattr
+ *   gpfs_i_setxattr
+ *   gpfs_i_listxattr
+ *   gpfs_i_removexattr
+ */
+
+#include <Shark-gpl.h>
+
+#include <linux/fs.h>
+#include <linux/sched.h>
+#include <linux/slab.h>
+#include <linux/errno.h>
+#include <linux/smp_lock.h>
+#include <linux/mm.h>
+#include <linux/highmem.h>
+#include <linux/kdev_t.h>
+
+#include <verdep.h>
+#include <cxiMode.h>
+#include <cxiSystem.h>
+#include <cxi2gpfs.h>
+#include <cxiVFSStats.h>
+#include <cxiCred.h>
+
+#include <linux2gpfs.h>
+#include <Trace.h>
+
+#if LINUX_KERNEL_VERSION > 2060000
+#include <cxiTSFattr.h>
+#endif
+
+#ifdef MODULE
+#include <linux/module.h>
+#endif /* MODULE */
+ 
+void
+printInode(struct inode *iP)
+{
+  TRACE7(TRACE_VNODE, 3, TRCID_PRINTINODE_1,
+         "printInode: iP 0x%lX inode %d (0x%X) i_count %d dev 0x%X "
+         "mode 0x%X nlink %d\n",
+         iP, iP->i_ino, iP->i_ino, atomic_read((atomic_t *)&iP->i_count),
+         KDEV_INT(iP->i_rdev), iP->i_mode, iP->i_nlink);
+
+  TRACE6(TRACE_VNODE, 3, TRCID_PRINTINODE_2,
+         "printInode: uid %d gid %d rdev 0x%X atime 0x%X mtime 0x%X "
+         "ctime 0x%X\n", iP->i_uid, iP->i_gid, KDEV_INT(iP->i_rdev), 
+         GET_INODETIME_SEC(iP->i_atime), GET_INODETIME_SEC(iP->i_mtime), 
+         GET_INODETIME_SEC(iP->i_ctime));
+
+  TRACE5(TRACE_VNODE, 3, TRCID_PRINTINODE_4,
+         "printInode: size %lld blksize 0x%X blocks %d ver 0x%X op 0x%lX\n",
+         iP->i_size, iP->i_blocks, iP->i_blocks, iP->i_version,
+         iP->i_op);
+
+  TRACE6(TRACE_VNODE, 3, TRCID_PRINTINODE_5,
+         "printInode: fop 0x%lX sb 0x%lX flags 0x%X state 0x%X gen %d "
+         "generic 0x%lX\n", iP->i_fop, iP->i_sb, iP->i_flags, iP->i_state,
+         iP->i_generation, iP->PRVINODE);
+
+  TRACE3(TRACE_VNODE, 3, TRCID_PRINTINODE_6,
+         "printInode: list 0x%lX next 0x%lX prev 0x%lX\n",
+         &(iP->i_list), iP->i_list.next, iP->i_list.prev);
+
+  TRACE3(TRACE_VNODE, 3, TRCID_PRINTINODE_7,
+         "printInode: dentry 0x%lX next 0x%lX prev 0x%lX\n",
+         &(iP->i_dentry), iP->i_dentry.next, iP->i_dentry.prev);
+
+#if LINUX_KERNEL_VERSION < 2050000
+  TRACE3(TRACE_VNODE, 3, TRCID_PRINTINODE_8,
+         "printInode: hash 0x%lX next 0x%lX prev 0x%lX\n",
+         &(iP->i_hash), iP->i_hash.next, iP->i_hash.prev);
+#else
+  TRACE3(TRACE_VNODE, 3, TRCID_PRINTINODE_9,
+         "printInode: hash 0x%lX next 0x%lX prev 0x%lX\n",
+         &(iP->i_hash), iP->i_hash.next, *iP->i_hash.pprev);
+#endif
+}
+
+void
+printDentry(struct dentry *dP)
+{
+  struct inode *iP = dP->d_inode;
+
+  if (!_TRACE_IS_ON(TRACE_VNODE, 3))
+    return;
+
+  TRACE3N(TRACE_VNODE, 3, TRCID_PRINTDENTRY_1,
+          "printDentry: dentry 0x%lX count %d name '%s'\n",
+          dP, atomic_read((atomic_t *)&dP->d_count), dP->d_name.name);
+
+  TRACE5N(TRACE_VNODE, 3, TRCID_PRINTDENTRY_2,
+          "printDentry: time 0x%X op 0x%lX flags 0x%X parent 0x%lX "
+          "inode 0x%X\n", dP->d_time, dP->d_op, dP->d_flags, 
+          dP->d_parent, iP);
+
+  if (iP)    
+  {
+    if (!list_empty(&iP->i_dentry))
+      TRACE4N(TRACE_VNODE, 3, TRCID_PRINTDENTRY_3A,
+              "printDentry: i_ino %d i_count %d "
+              "i_dentry next 0x%lX i_dentry prev 0x%lX\n",
+              iP->i_ino, atomic_read((atomic_t *)&iP->i_count), 
+              list_entry(iP->i_dentry.next, struct dentry, d_alias),
+              list_entry(iP->i_dentry.prev, struct dentry, d_alias));
+    else
+      TRACE2N(TRACE_VNODE, 3, TRCID_PRINTDENTRY_3B,
+              "printDentry: i_ino %d i_count %d\n", 
+              iP->i_ino, atomic_read((atomic_t *)&iP->i_count));
+  }
+
+  TRACE3N(TRACE_VNODE, 3, TRCID_PRINTDENTRY_3C,
+          "printDentry: &d_hash 0x%lX d_hash.next 0x%lX d_hash.prev 0x%lX\n", 
+          &dP->d_child, dP->d_child.next, dP->d_child.prev);
+
+  TRACE3N(TRACE_VNODE, 3, TRCID_PRINTDENTRY_4,
+          "printDentry: &child 0x%lX child.next 0x%lX child.prev 0x%lX\n", 
+          &dP->d_child, dP->d_child.next, dP->d_child.prev);
+
+  if (!list_empty(&dP->d_subdirs))
+    TRACE3N(TRACE_VNODE, 3, TRCID_PRINTDENTRY_5,
+            "printDentry: &subdirs 0x%lX subdir next 0x%lX "
+            "subdir prev 0x%lX\n", &dP->d_subdirs,
+            list_entry(dP->d_subdirs.next, struct dentry, d_child),
+            list_entry(dP->d_subdirs.prev, struct dentry, d_child));
+}
+
+/* Print directory entry tree up to maxPrint elements.
+ * If maxPrint is 0 then there is no upper limit.
+ */
+void
+printDentryTree(struct dentry *entryDP, int maxPrint)
+{
+  int count = 0;
+  struct list_head *lhP;
+  struct dentry *siblingDP;
+  struct dentry *parentDP;
+
+  /* Check trace level required by printDentry() */
+  if (!_TRACE_IS_ON(TRACE_VNODE, 3))
+    return;
+
+  spin_lock(&dcache_lock);
+
+  parentDP = entryDP;
+  lhP = parentDP->d_subdirs.next;
+
+  printDentry(parentDP);
+  if (maxPrint > 0 && ++count >= maxPrint)
+    goto xerror;
+
+  if (list_empty(&parentDP->d_subdirs))
+    goto xerror;
+
+  do
+  {
+    while (lhP != &parentDP->d_subdirs)
+    {
+      siblingDP = list_entry(lhP, struct dentry, d_child);
+
+      printDentry(siblingDP);
+      if (maxPrint > 0 && ++count >= maxPrint)
+        goto xerror;
+
+      if (!list_empty(&siblingDP->d_subdirs))
+      {
+        parentDP = siblingDP;
+        lhP = siblingDP->d_subdirs.next;
+        continue;
+      }
+
+      lhP = siblingDP->d_child.next;
+      parentDP = siblingDP->d_parent;
+    }
+  
+    siblingDP = siblingDP->d_parent;
+    parentDP = siblingDP->d_parent;
+    lhP = siblingDP->d_child.next;
+  } 
+  while (lhP != entryDP->d_child.next);
+
+xerror:
+  spin_unlock(&dcache_lock);
+
+  return;
+}
+
+/* Set the inode operations table for a regular file or directory.  Call
+   with xperm set to true if the file has extended permission attributes
+   (i.e. an ACL).  This routine is a no-op if the inode is not a regular
+   file or directory.
+
+   If the file does not have extended attributes, the table that is used
+   will have a null value for the permission routine pointer.  This will
+   cause Linux to perform access checks directly instead of acquiring the
+   kernel lock and calling GPFS, giving better performance. */
+void setIopTable(struct inode *iP, Boolean xperm)
+{
+  struct inode_operations *newopP, *stdopP, *xopP;
+  struct list_head *lp;
+  int count = 0;
+
+  /* Choose the correct inode operations table based on whether this is a
+     directory or a regular file.  Assume that the file has extended
+     attributes so that GPFS permission checking will be required. */
+  ENTER(0);
+  if (S_ISDIR(iP->i_mode))
+    xopP = &gpfs_dir_iops_xperm;
+  else if (S_ISREG(iP->i_mode))
+    xopP = &gpfs_iops_xperm;
+  else
+  {
+    EXIT(0);
+    return;
+  }
+
+  /* If the file really does have extended attributes (or if the token has
+     been lost so that we do not know the status), set extended permission
+     table and exit. */
+  if (xperm)
+  {
+    iP->i_op = xopP;
+    EXIT(0);
+    return;
+  }
+
+  /* Get address of an inode operations table that has a generic permission
+     routine pointer. */
+  iP->i_op = S_ISDIR(iP->i_mode) ? &gpfs_dir_iops_stdperm : &gpfs_iops_stdperm;
+  EXIT(0);
+}
+
+
+void
+cxiSetOSNode(void *osVfsP, cxiNode_t *cnP, cxiVattr_t *attrP)
+{
+  struct super_block *sbP = (struct super_block *)osVfsP;
+  struct inode *inodeP = (struct inode *)cnP->osNodeP;
+
+  ENTER(0);
+  DBGASSERT(inodeP != NULL);
+  DBGASSERT(inodeP->PRVINODE == cnP);
+  DBGASSERT(inodeP->i_sb == sbP);
+
+  inodeP->i_mode = attrP->va_mode;
+  inodeP->i_nlink = attrP->va_nlink;
+  inodeP->i_uid  = attrP->va_uid;
+  inodeP->i_gid  = attrP->va_gid;
+  inodeP->i_rdev = cxiDevToKernelDev(cxiDev32ToDev(attrP->va_rdev));
+
+  CXITIME_TO_INODETIME(attrP->va_atime, inodeP->i_atime);
+  CXITIME_TO_INODETIME(attrP->va_mtime, inodeP->i_mtime);
+  CXITIME_TO_INODETIME(attrP->va_ctime, inodeP->i_ctime);
+
+  inodeP->i_size = attrP->va_size;
+  inodeP->i_blocks = attrP->va_blocksize;
+  inodeP->i_blocks = attrP->va_blocks;
+  inodeP->i_generation = attrP->va_gen;
+  inodeP->i_flags = 0;
+
+  cnP->xinfo = attrP->va_xinfo;
+
+  switch (inodeP->i_mode & S_IFMT)
+  {
+    case S_IFREG:
+      setIopTable(inodeP, (attrP->va_xinfo & VA_XPERM) != 0);
+      if (cxiIsNFSThread())
+        inodeP->i_fop = &gpfs_fops_no_sendfile;
+      else
+        inodeP->i_fop = &gpfs_fops;
+      break;
+
+    case S_IFDIR:
+      setIopTable(inodeP, (attrP->va_xinfo & VA_XPERM) != 0);
+      inodeP->i_fop = &gpfs_dir_fops;
+      break;
+
+    case S_IFLNK:
+      inodeP->i_op = &gpfs_link_iops;
+      inodeP->i_fop = &gpfs_fops;
+      break;
+
+    case S_IFBLK:
+    case S_IFCHR:
+    case S_IFIFO:
+    case S_IFSOCK:
+      /* Set vector table for special files, gpfs will not get 
+       * these operations. 
+       */
+#if LINUX_KERNEL_VERSION >= 2060000
+      init_special_inode(inodeP, inodeP->i_mode, inodeP->i_rdev);
+#else
+      init_special_inode(inodeP, inodeP->i_mode,
+                         kdev_t_to_nr(inodeP->i_rdev));
+#endif
+      break;
+  }
+  if (inodeP->i_mapping)
+    inodeP->i_mapping->a_ops = &gpfs_aops;
+
+  cnP->icValid = CXI_IC_ALL;
+
+  TRACE7(TRACE_VNODE, 2, TRCID_LINUXOPS_SETINODE,
+         "cxiSetOSNode: inodeP 0x%lX inode %d i_count %d i_mode 0x%X "
+         "i_xinfo 0x%X i_nlink %d i_size %lld\n",
+         inodeP, inodeP->i_ino, atomic_read((atomic_t *)&inodeP->i_count),
+         inodeP->i_mode, attrP->va_xinfo, inodeP->i_nlink, inodeP->i_size);
+  EXIT(0);
+  return;
+}
+
+
+/* The following function is called from cxiInvalidateAttr when the
+   CXI_IC_PERM option was specified, which indicates that permission related
+   attributes cached in the struct inode (owner, mode, etc.) are no longer
+   known to be valid. */
+void
+cxiInvalidatePerm(cxiNode_t *cnP)
+{
+  struct inode *inodeP = (struct inode *)cnP->osNodeP;
+
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 2, TRCID_CXIINVA_PERM,
+         "cxiInvalidatePerm: cnP 0x%lX std %d dir std %d",
+         cnP, inodeP->i_op == &gpfs_iops_stdperm,
+         inodeP->i_op == &gpfs_dir_iops_stdperm);
+
+  /* Set the inode operation table to gpfs_..._xperm; the next permission
+     check will then go through our gpfs_i_permission function, which will
+     revalidate permission attributes and set the inode operation table
+     back to gpfs_..._stdperm, if appropriate. Note: since symlinks always
+     have permission iop set, setIopTable is a noop for symlinks. */
+  setIopTable(inodeP, true);
+  EXIT(0);
+}
+
+static void
+getIattr(struct inode *inodeP, struct iattr *attrP)
+{
+  ENTER(0);
+  // attrP->ia_valid = ??? ;
+  attrP->ia_mode = inodeP->i_mode;
+  attrP->ia_uid = inodeP->i_uid;
+  attrP->ia_gid = inodeP->i_gid;
+  attrP->ia_size = inodeP->i_size;
+  attrP->ia_atime = inodeP->i_atime;
+  attrP->ia_mtime = inodeP->i_mtime;
+  attrP->ia_ctime = inodeP->i_ctime;
+  EXIT(0);
+  return;
+}
+
+static inline int
+get_umask()
+{
+  return (current->fs->umask);
+}
+
+
+/* Record credentials of current thread */
+void
+setCred(ext_cred_t *credP)
+{
+  int nGroups;
+
+  ENTER(0);
+  credP->principal = current->fsuid; /* user id */
+  credP->group = current->fsgid;     /* primary group id */
+
+#if LINUX_KERNEL_VERSION > 2060300
+  nGroups = MIN(current->group_info->ngroups, MIN(ECRED_NGROUPS, NGROUPS_SMALL));
+#else
+  nGroups = MIN(current->ngroups, ECRED_NGROUPS);
+#endif
+  credP->num_groups = nGroups;
+  if (nGroups > 0)
+#if LINUX_KERNEL_VERSION > 2060300
+    memcpy(credP->eGroups, current->group_info->blocks[0], nGroups*sizeof(gid_t));
+    /* ?? This is incorrect.  Linux 2.6 supports a very large list of
+       groups by allocating a page for each bunch of groups.  Only if
+       there are <= NGROUPS_SMALL groups is the space in
+       group_info->small_block used.  GPFS will only see the prefix of
+       the group set. */
+    /* To save kernel stack space, the GPFS ext_cred_t should keep a
+       pointer to the array of groups.  The group set cannot change
+       during a GPFS system call since the caller can only make one
+       system call at a time. */
+#else
+    memcpy(credP->eGroups, current->groups, nGroups*sizeof(gid_t));
+#endif
+  EXIT(0);
+}
+
+/* inode_operations */
+
+/* Called with a negative (no inode) dir cache entry.
+ * If this call succeeds, we fill in with d_instantiate(). 
+ */
+
+int
+gpfs_i_create(struct inode *diP, struct dentry *dentryP, int mode
+#if LINUX_KERNEL_VERSION >= 2060000
+              , struct nameidata *ni
+#endif
+              )
+{
+  int rc;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *dcnP;
+  cxiNode_t *cnP = NULL;
+  cxiIno_t iNum = (cxiIno_t)-1;
+  struct inode *newInodeP = NULL;
+  int flags = FWRITE | FCREAT | FEXCL;
+  cxiMode_t umask = get_umask();
+  ext_cred_t eCred;
+  struct dentry *retP;
+
+  VFS_STAT_START(createCall);
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_CREATE_ENTER,
+         "gpfs_i_create enter: iP 0x%lX dentryP 0x%lX mode 0x%X name '%s'\n",
+         diP, dentryP, mode, dentryP->d_name.name);
+  /* BKL is held at entry */
+
+  dcnP = VP_TO_CNP(diP);
+  privVfsP = VP_TO_PVP(diP);
+  LOGASSERT(privVfsP != NULL);
+
+retry:
+
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsCreate(privVfsP, dcnP, (void **)&newInodeP, &cnP, &iNum, 0,
+                           flags, dentryP, (char *)dentryP->d_name.name,
+                           mode, umask, NULL, &eCred);
+  if (rc == 0)
+  {
+    DBGASSERT(cnP != NULL);
+    DBGASSERT(iNum != -1);
+    DBGASSERT(newInodeP != NULL);
+    DBGASSERT(newInodeP->PRVINODE == cnP);
+    DBGASSERT(cnP->osNodeP == (void *)newInodeP);
+    cnP->createRaceLoserThreadId = 0;
+  }
+
+  /* linux would normally serialize the creates on a directory (via the 
+   * parent directory semaphore) to ensure that a create didn't fail with 
+   * EEXIST.  However in a multinode environment we may perform a lookup 
+   * on one node (thinking the file doesn't exist) yet a create is 
+   * performed on a different node before linux can call the physical
+   * file systems create.  We attempt to reconcile this case by marking
+   * the fact that this happened and checking the FEXCL flag at gpfs_f_open()
+   * to see if we should have failed this with EEXIST.
+   */
+  if (rc == EEXIST)
+  {
+    /* Make sure that this create call is part of the linux open call.  NFS
+       and mknod calls create without an open, so check that this is not one
+       of those calls. On the open call the open flags are available and if
+       the FEXCL was on fail it with EEXIST. */
+    int mode1;
+
+    /* Skip if NFS create call. */
+    if (cxiIsNFSThread())
+      goto retExist;
+
+    /* ??? if (sys_mknod call) goto xerror; */
+
+    /* Do it only if trying to create a regular file. */
+    if (((mode & S_IFMT) != 0) && !(mode & S_IFREG))
+      goto retExist;
+
+    setCred(&eCred); // rebuild since gpfsCreate may remap ids
+    rc = gpfs_ops.gpfsLookup(privVfsP, (void *)diP, dcnP,
+                             dentryP, (char *)dentryP->d_name.name,
+                             (void **)&newInodeP, &cnP, &iNum, NULL,
+                             &mode1, &eCred, (void **)&retP);
+    if (rc == ENOENT)
+      goto retry;
+    if (!rc)
+    {
+      /* If the file that was found was a directory than return the
+         return code that linux would have returned. */
+      if (S_ISDIR(newInodeP->i_mode))
+      {
+        rc = EISDIR;
+        goto retExist;
+      }
+      cnP->createRaceLoserThreadId = cxiGetThreadId();
+    }
+  }
+
+retExist:
+  if (rc)
+  {
+    d_drop(dentryP);
+    goto xerror;
+  }
+  diP->i_sb->s_dirt = 1;
+
+xerror:
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_CREATE_EXIT,
+         "gpfs_i_create exit: new inode 0x%lX iNum %d (0x%X) rc %d\n",
+         newInodeP, iNum, iNum, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+/* If this routine successfully finds the file, it should
+ * add the dentry to the hash list with d_add() and return
+ * null.  If a failure occurs then return non null and the
+ * dentry will be dput() by the linux lfs layer
+ */
+struct dentry *
+gpfs_i_lookup(struct inode *diP, struct dentry *dentryP
+#if LINUX_KERNEL_VERSION >= 2060000
+              , struct nameidata *ni
+#endif
+              )
+{
+  int code = 0;
+  int rc = 0;
+  struct dentry *retP = NULL;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  cxiNode_t *dcnP;
+  cxiMode_t mode = 0;
+  cxiIno_t iNum = (cxiIno_t)-1;
+  cxiNode_t *cnP = NULL;
+  struct inode *newInodeP = NULL;
+
+  VFS_STAT_START(lookupCall);
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_LOOKUP_ENTER,
+         "gpfs_i_lookup enter: diP 0x%lX dentryP 0x%lX name '%s'\n",
+         diP, dentryP, dentryP->d_name.name);
+  /* BKL is held at entry */
+
+  dcnP = VP_TO_CNP(diP);
+  privVfsP = VP_TO_PVP(diP);
+  LOGASSERT(privVfsP != NULL);
+
+  setCred(&eCred);
+
+  if (!dcnP)
+  {
+    /* This can happen due to a bug in linux/fs/dcache.c (prune_dcache)
+       where "count" entries are to be pruned, but the last one is
+       found to be recently referenced.  When this happens, count is
+       decremented, but the loop is not terminated.  The result is that
+       it continues to prune entries past where it should (prunes
+       everything).  If our patch for this is not applied, the result
+       is a kernel failure as the cxiNode is referenced.  Checking
+       here (and revalidate) allows us to reject the call instead. */
+
+    TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_LOOKUP_STALE,
+           "cxiNode for inode 0x%lX (ino 0x%X) was FREED!\n",
+           diP, diP->i_ino);
+
+    /* Although we may like to know more about this inode, it is not
+     * ok to call PRINTINODE(iP) here.
+     */
+    rc = ESTALE;
+    code = 1;
+    retP = (struct dentry *)ERR_PTR(-rc);
+    goto xerror;
+  }
+
+  rc = gpfs_ops.gpfsLookup(privVfsP, (void *)diP, dcnP,
+                           dentryP, (char *)dentryP->d_name.name,
+                           (void **)&newInodeP, &cnP, &iNum, NULL,
+                           &mode, &eCred, (void **)&retP);
+
+  if (rc == 0)
+  {
+    DBGASSERT(cnP != NULL);
+    DBGASSERT(iNum != -1);
+    DBGASSERT(newInodeP != NULL);
+    DBGASSERT(newInodeP->PRVINODE == cnP);
+    DBGASSERT(cnP->osNodeP == (void *)newInodeP);
+  }
+  else if (rc != ENOENT) // internal failure
+  {
+    cxiErrorNFS(rc);
+    code = 2;
+    retP = (struct dentry *)ERR_PTR(-rc);
+    goto xerror;
+  }
+  else if (diP->i_nlink == 0) // ENOENT but unlinked parent
+  {
+    /* This odd code is here because this function would normally 
+     * exit with a negative dcache entry on ENOENT.  However if 
+     * we allow a negative dcache entry in a directory thats been
+     * deleted (but we're still sitting in it) then the d_count
+     * will never go to zero and we'll strand any open file that
+     * is associated with the parent directory.  If we drop the 
+     * dentry and return the ENOENT then the VFS will dput the
+     * dentry.  The scenario that gave us trouble was:
+     *
+     * NODE 1                               NODE 2
+     * `rm -rf dirA`                        `rm -rf dirA`
+     * ==========================================================
+     * gpfs_f_open("dirA", ...)
+     * gpfs_f_readdir(...)
+     * [read "fileA", "fileB"]              gpfs_f_open("dirA", ...)
+     *                                      gpfs_f_readdir(...)
+     *                                      [read "fileA", "fileB"]
+     *
+     *                                      gpfs_i_lookup("fileA")
+     *                                      gpfs_i_unlink("fileA")
+     *                                      gpfs_s_delete_inode(fileA's inode)
+     *                                      gpfs_i_lookup("fileB")
+     *                                      gpfs_i_unlink("fileB")
+     *                                      gpfs_s_delete_inode(fileB's inode)
+     *                                      ...
+     *                                      gpfs_i_rmdir("dirA", ...)
+     *                                      gpfs_s_delete_inode(dirA's inode)
+     * destroyOnLastClose=1 for dirA        <======
+     * 
+     * gpfs_i_lookup("fileA")
+     *  [creates a negative dentry for fileA,
+     *   increments dirA's reference count]
+     * gpfs_i_lookup("fileB")
+     *  [creates a negative dentry for fileB,
+     *   increments dirA's reference count]
+     */
+    DBGASSERT(dentryP->d_inode == NULL);
+    dentryP->d_op = NULL;
+    d_drop(dentryP);
+
+    code = 3;
+    retP = (struct dentry *)ERR_PTR(-rc);
+    goto xerror;
+  }
+
+  PRINTDENTRY(dentryP);
+
+xerror:
+  TRACE7(TRACE_VNODE, 1, TRCID_LINUXOPS_LOOKUP_EXIT,
+         "gpfs_i_lookup exit: new inode 0x%lX iNum %d (0x%X) cnP 0x%lX retP 0x%lX "
+         "code %d rc %d\n", newInodeP, iNum, iNum, cnP, retP, code, rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return retP;
+}
+
+int
+gpfs_i_link(struct dentry *oldDentryP, struct inode *diP,
+            struct dentry *dentryP)
+{
+  int rc = 0;
+  struct inode *iP = oldDentryP->d_inode;
+  cxiNode_t *dcnP;
+  cxiNode_t *cnP = NULL;
+  struct gpfsVfsData_t *privVfsP;
+  char *tnameP;
+  ext_cred_t eCred;
+
+  VFS_STAT_START(linkCall);
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_LINK_ENTER,
+         "gpfs_i_link enter: diP 0x%lX dentryP 0x%lX "
+         "dentryP 0x%lX name '%s'\n", diP, oldDentryP, dentryP,
+         dentryP->d_name.name);
+  /* BKL is held at entry */
+
+  cnP = VP_TO_CNP(iP);
+  dcnP = VP_TO_CNP(diP);
+  privVfsP = VP_TO_PVP(diP);
+  LOGASSERT(privVfsP != NULL);
+
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsLink(privVfsP, cnP, dcnP,
+                         dentryP, (char *)dentryP->d_name.name, &eCred);
+  if (rc)
+  {
+    d_drop(dentryP);
+    goto xerror;
+  }
+  iP->i_sb->s_dirt = 1;
+
+xerror:
+  PRINTINODE(iP);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_LINK_EXIT,
+         "gpfs_i_link exit: diP 0x%lX iP 0x%lX rc %d\n", diP, iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+gpfs_i_unlink(struct inode *diP, struct dentry *dentryP)
+{
+  int rc = 0;
+  struct gpfsVfsData_t *privVfsP;
+  struct inode *iP = dentryP->d_inode;
+  cxiNode_t *dcnP;
+  cxiNode_t *cnP;
+  ext_cred_t eCred;
+  struct dentry_operations *orig_d_opP;
+
+  VFS_STAT_START(removeCall);
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_UNLINK_ENTER,
+         "gpfs_i_unlink enter: diP 0x%lX iP 0x%lX dentryP 0x%lX name '%s'\n",
+         diP, iP, dentryP, dentryP->d_name.name);
+  /* BKL is held at entry */
+
+  cnP = VP_TO_CNP(iP);
+
+  dcnP = VP_TO_CNP(diP);
+  privVfsP = VP_TO_PVP(diP);
+  LOGASSERT(privVfsP != NULL);
+
+  /* Regarding dcache entry update: upon returning from gpfs_i_unlink, the VFS
+     layer will turn the dentry into a valid, negative dcache entry by calling
+     d_delete().  If another node then creates a new file with the same name,
+     the BR token revoke for the directory block will invalidate the negative
+     dcache entry.  However, there is a window between the gpfsRemove() and
+     the d_delete(), where a BR token revoke would not recognize that it
+     should invalidate the dcache entry, because d_delete() has not yet turned
+     it into a negative dcache entry.  To fix this, we mark the dentry as
+     "valid with d_delete pending"; the meaning of this state is "the dentry
+     is still valid, but a BR token revoke should mark it as 'needing 
+     revalidation', even if it does not (yet) look like a negative dcache 
+     entry".  Note that we don't want to mark "valid with d_delete pending"
+     entries as invalid in the BR revoke handler, because we don't know for 
+     sure that the file is in fact going to be deleted.  The unlink operation
+     may fail, for any number of reasons, and the dentry should not be marked
+     as invalid prematurely.  It's safe to mark a dentry as 'needing 
+     revalidation', however.  Ideally, we should swap d_op inside gpfsRemove 
+     while we are holding the BR lock on the directory.  However, (1) there is
+     local synchronization in the VFS (our caller is holding the i_sem 
+     semaphore on the directory) that will prevent other threads from doing a 
+     lookup or create that might change the state back to just plain "valid" 
+     before the gpfsRemove has happened, and (2) a BR revoke that happens 
+     before the gpfsRemove might unnecessarily mark the dentry as 'needing 
+     revalidation'; this is sub-optimal, but it doesn't hurt.  Also see 
+     comment in gpfs_i_rmdir. */
+  orig_d_opP = dentryP->d_op;
+  dentryP->d_op = &gpfs_dops_ddeletepending;
+
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsRemove(privVfsP, cnP, dcnP, (char *)dentryP->d_name.name,
+                           &eCred);
+  if (rc)
+  {
+    d_drop(dentryP);
+    if (dentryP->d_op == &gpfs_dops_ddeletepending)
+      dentryP->d_op = orig_d_opP;
+    goto xerror;
+  }
+  diP->i_sb->s_dirt = 1;
+
+  /* d_delete will be called at VFS layer if rc == 0 */
+
+xerror:
+  PRINTINODE(iP);
+  PRINTDENTRY(dentryP);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_UNLINK_EXIT,
+         "gpfs_i_unlink exit: diP 0x%lX iP 0x%lX rc %d\n", diP, iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+gpfs_i_symlink(struct inode *diP, struct dentry *dentryP,
+               const char *symlinkTargetP)
+{
+  int rc = 0;
+  cxiNode_t *dcnP;
+  cxiNode_t *cnP;
+  cxiIno_t iNum = (cxiIno_t)-1;
+  struct inode *newInodeP = NULL;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+
+  VFS_STAT_START(symlinkCall);
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_SYMLINK1,
+         "gpfs_i_symlink enter: iP 0x%lX dentryP 0x%lX symlinkTargetP '%s'\n",
+         diP, dentryP, symlinkTargetP);
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_SYMLINK2,
+         "gpfs_i_symlink: newLinkName '%s'\n", dentryP->d_name.name);
+  /* BKL is held at entry */
+
+  dcnP = VP_TO_CNP(diP);
+  privVfsP = VP_TO_PVP(diP);
+  LOGASSERT(privVfsP != NULL);
+
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsSymlink(privVfsP, dcnP, (void **)&newInodeP, &cnP,
+                            &iNum, dentryP, (char *)dentryP->d_name.name,
+                            (char *)symlinkTargetP, &eCred);
+  if (rc == 0)
+  {
+    DBGASSERT(cnP != NULL);
+    DBGASSERT(iNum != -1);
+    DBGASSERT(newInodeP != NULL);
+    DBGASSERT(newInodeP->PRVINODE == cnP);
+    DBGASSERT(cnP->osNodeP == (void *)newInodeP);
+  }
+  else
+  {
+    d_drop(dentryP);
+    goto xerror;
+  }
+  diP->i_sb->s_dirt = 1;
+
+xerror:
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_SYMLINK_EXIT,
+         "gpfs_i_symlink exit: new inode 0x%lX iNum %d (0x%X) rc %d\n",
+         newInodeP, iNum, iNum, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+gpfs_i_mkdir(struct inode *diP, struct dentry *dentryP, int mode)
+{
+  int rc = 0;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *dcnP;
+  cxiNode_t *cnP;
+  cxiMode_t umask;
+  ext_cred_t eCred;
+  cxiIno_t iNum = (cxiIno_t)-1;
+  struct inode *newInodeP = NULL;
+  
+  VFS_STAT_START(mkdirCall);
+  ENTER(0);
+  umask = get_umask();  /* LFS should not apply umask and we may not */
+
+  dcnP = VP_TO_CNP(diP);
+  privVfsP = VP_TO_PVP(diP);
+  LOGASSERT(privVfsP != NULL);
+
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_MKDIR_ENTER,
+         "gpfs_i_mkdir enter: diP 0x%lX mode 0x%X name '%s'\n",
+         diP, mode, dentryP->d_name.name);
+  /* BKL is held at entry */
+
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsMkdir(privVfsP, dcnP, (void **)&newInodeP, &cnP, &iNum,
+                          dentryP, (char *)dentryP->d_name.name, mode, umask,
+                          &eCred);
+
+  if (rc == 0)
+  {
+    DBGASSERT(cnP != NULL);
+    DBGASSERT(iNum != -1);
+    DBGASSERT(newInodeP != NULL);
+    DBGASSERT(newInodeP->PRVINODE == cnP);
+    DBGASSERT(cnP->osNodeP == (void *)newInodeP);
+  }
+  else
+  {
+    d_drop(dentryP);
+    goto xerror;
+  }
+  diP->i_sb->s_dirt = 1;
+
+xerror:
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_MKDIR_EXIT,
+         "gpfs_i_mkdir exit: new inode 0x%lX iNum %d (0x%X) rc %d\n",
+         newInodeP, iNum, iNum, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+gpfs_i_rmdir(struct inode *diP, struct dentry *dentryP)
+{
+  int rc;
+  struct inode *iP = dentryP->d_inode;
+  cxiNode_t *dcnP;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  struct dentry_operations *orig_d_opP;
+
+  VFS_STAT_START(rmdirCall);
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_RMDIR_ENTER,
+         "gpfs_i_rmdir enter: diP 0x%lX iP 0x%lX name '%s'\n",
+         diP, iP, dentryP->d_name.name);
+  /* BKL is held at entry */
+
+  cnP = VP_TO_CNP(iP);
+  dcnP = VP_TO_CNP(diP);
+  privVfsP = VP_TO_PVP(diP);
+  LOGASSERT(privVfsP != NULL);
+
+  /* See comment in gpfs_i_unlink.  Note that Linux kernel processes 
+     directory dentries a little differently from regular file
+     dentries.  In particular, it doesn't appear that a successful
+     rmdir call results in the removed directory dentry being turned
+     into a valid negative dentry; the dentry just gets unhashed and
+     recycled if it had no references at the time of rmdir.  If the
+     dentry did have extra references, e.g. due to a process using the
+     directory in question as cwd, the dentry is unhashed, but it
+     remains a positive dentry pointing to the deleted inode, and will
+     remain as such until the dentry ref count goes to zero, at which
+     point the dentry is recycled.  So there's no apparent need to 
+     mark directory dentries as 'needing revalidation' during BR token
+     revoke (we do know that we need to do this for regular files).
+     However, this particular aspect of Linux kernel operation is not
+     guaranteed to always work in this fashion, so we might as well 
+     try to stay on the safe side of things, and treat directories the
+     same way as regular files.  It doesn't appear that marking a
+     dentry as 'needing revalidation' has any ill effects besides extra
+     cycles required for revalidation, and BR token revoke handler 
+     racing with an unsuccessful gpfsRmdir is a rare enough event to
+     tolerate this extra performance hit. */
+  orig_d_opP = dentryP->d_op;
+  dentryP->d_op = &gpfs_dops_ddeletepending;
+
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsRmdir(privVfsP, cnP, dcnP, (char *)dentryP->d_name.name,
+                          &eCred);
+  if (rc)
+  {
+    if (rc == EEXIST)
+      rc = ENOTEMPTY;
+    if (dentryP->d_op == &gpfs_dops_ddeletepending)
+      dentryP->d_op = orig_d_opP;
+    /* d_drop(dentryP); */
+    goto xerror;
+  }
+  diP->i_sb->s_dirt = 1;
+
+  /* d_delete will be called at VFS layer if rc == 0 */
+xerror:
+  PRINTINODE(iP);
+  PRINTDENTRY(dentryP);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_RMDIR_EXIT,
+         "gpfs_i_rmdir exit: diP 0x%lX iP 0x%lX rc %d\n", diP, iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+#if LINUX_KERNEL_VERSION >= 2050000
+gpfs_i_mknod(struct inode *diP, struct dentry *dentryP, int mode, dev_t rdev)
+#else
+gpfs_i_mknod(struct inode *diP, struct dentry *dentryP, int mode, int rdev)
+#endif
+{
+  int rc = 0;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *dcnP;
+  cxiNode_t *cnP;
+  cxiIno_t iNum = (cxiIno_t)-1;
+  struct inode *newInodeP = NULL;
+  cxiMode_t umask = get_umask();
+  ext_cred_t eCred;
+  cxiDev32_t rdev32;
+
+  VFS_STAT_START(mknodCall);
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_MKNOD_ENTER,
+         "gpfs_i_mknod enter: diP 0x%lX mode 0x%X rdev 0x%X name '%s'\n",
+         diP, mode, (int)rdev, dentryP->d_name.name);
+  /* BKL is held at entry */
+
+  dcnP = VP_TO_CNP(diP);
+  privVfsP = VP_TO_PVP(diP);
+  LOGASSERT(privVfsP != NULL);
+
+  setCred(&eCred);
+  rdev32 = cxiDevToDev32(rdev);
+  rc = gpfs_ops.gpfsMknod(privVfsP, dcnP, (void **)&newInodeP, &cnP,
+                          &iNum, dentryP, (char *)dentryP->d_name.name,
+                          mode, umask, (cxiDev_t)rdev32, &eCred);
+  if (rc == 0)
+  {
+    DBGASSERT(cnP != NULL);
+    DBGASSERT(iNum != -1);
+    DBGASSERT(newInodeP != NULL);
+    DBGASSERT(newInodeP->PRVINODE == cnP);
+    DBGASSERT(cnP->osNodeP == (void *)newInodeP);
+  }
+  else
+  {
+    d_drop(dentryP);
+    goto xerror;
+  }
+  diP->i_sb->s_dirt = 1;
+
+  /* Set vector table for special files, gpfs will not get these operations.*/
+#if LINUX_KERNEL_VERSION >= 2060000
+  init_special_inode(newInodeP, newInodeP->i_mode, newInodeP->i_rdev);
+#else
+  init_special_inode(newInodeP, newInodeP->i_mode,
+                     kdev_t_to_nr(newInodeP->i_rdev));
+#endif
+
+xerror:
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_MKNOD_EXIT,
+         "gpfs_i_mknod exit: new inode 0x%lX iNum %d (0x%X) rc %d\n",
+         newInodeP, iNum, iNum, rc);
+  
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+gpfs_i_rename(struct inode *diP, struct dentry *dentryP,
+              struct inode *tdiP, struct dentry *tDentryP)
+{
+  int rc = 0;
+  struct inode *iP = dentryP->d_inode;
+  struct inode *tiP = tDentryP->d_inode;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *sourceCNP, *sourceDirCNP, *targetCNP, *targetDirCNP;
+  ext_cred_t eCred;
+  
+  VFS_STAT_START(renameCall);
+  ENTER(0);
+  TRACE6(TRACE_VNODE, 1, TRCID_LINUXOPS_RENAME_1,
+         "gpfs_i_rename enter: iP 0x%lX dvP 0x%lX name '%s'"
+         " tiP 0x%lX tdiP 0x%lX new name '%s'\n",
+         iP, diP, dentryP->d_name.name, tiP, tdiP, tDentryP->d_name.name);
+  /* BKL is held at entry */
+
+  /* Do not allow simple rename across mount points */
+  if (diP->i_sb != tdiP->i_sb)
+  {
+    rc = EXDEV;
+    goto xerror;
+  }
+
+  sourceCNP = VP_TO_CNP(iP);
+  sourceDirCNP = VP_TO_CNP(diP);
+
+  targetCNP = (tiP != NULL) ? VP_TO_CNP(tiP) : NULL;
+  targetDirCNP = VP_TO_CNP(tdiP);
+
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsRename(privVfsP, sourceCNP, sourceDirCNP,
+                           (char *)dentryP->d_name.name, targetCNP,
+                           targetDirCNP, (char *)tDentryP->d_name.name,
+                           &eCred);
+  if (rc == 0)
+  {
+    gpfs_i_getattr_internal(iP);
+    gpfs_i_getattr_internal(diP);
+
+    if (tiP)
+      gpfs_i_getattr_internal(tiP);
+
+    if (tdiP != diP)
+      gpfs_i_getattr_internal(tdiP);
+
+    diP->i_sb->s_dirt = 1;
+  }
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_RENAME_EXIT,
+         "gpfs_i_rename exit: iP 0x%lX rc %d\n", iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+gpfs_i_readlink(struct dentry *dentryP, char *bufP, int buflen)
+{
+  int rc = 0;
+  Boolean gotBKL = false;
+  struct cxiUio_t tmpUio;
+  cxiIovec_t tmpIovec;
+  struct inode *iP = dentryP->d_inode;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP;
+  
+  VFS_STAT_START(readlinkCall);
+  ENTER(0);
+  TRACE5(TRACE_VNODE, 1, TRCID_LINUXOPS_READLINK_ENTER,
+         "gpfs_i_readlink enter: dentryP 0x%lX bufP 0x%lX len %d "
+           "iP 0x%lX name '%s'\n",
+         dentryP, bufP, buflen, iP, dentryP->d_name.name);
+
+  /* BKL is not held at entry, except for NFS calls */
+  TraceBKL();
+  if (current->lock_depth >= 0)  /* kernel lock is held by me */
+  {
+    gotBKL = true;
+    unlock_kernel();
+  }
+
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+
+  tmpIovec.iov_base = bufP;          /* base memory address                   */
+  tmpIovec.iov_len = buflen;         /* length of transfer for this area      */
+
+  tmpUio.uio_iov = &tmpIovec;        /* ptr to array of iovec structs         */
+  tmpUio.uio_iovcnt = 1;             /* #iovec elements left to be processed  */
+  tmpUio.uio_iovdcnt = 0;            /* #iovec elements already processed     */
+  tmpUio.uio_offset = 0;             /* byte offset in file/dev to read/write */
+  tmpUio.uio_resid = buflen;         /* #bytes left in data area              */
+  tmpUio.uio_segflg = UIO_USERSPACE; /* copy to user space buffer             */
+  tmpUio.uio_fmode = 0;              /* file modes from open file struct      */
+
+  rc = gpfs_ops.gpfsReadlink(privVfsP, cnP, &tmpUio);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_READLINK_EXIT,
+        "gpfs_i_readlink exit: iP 0x%lX uio_resid %ld offset %d rc %d\n",
+         iP, tmpUio.uio_resid, tmpUio.uio_offset, rc);
+
+  VFS_STAT_STOP;
+
+  if (gotBKL)        /* If held kernel lock on entry then reacquire it */
+    lock_kernel();
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  EXIT(0);
+  if (rc)
+    return (-rc);
+
+  return (buflen - tmpUio.uio_resid);
+}
+
+#if LINUX_KERNEL_VERSION >= 2061600
+void* gpfs_i_follow_link(struct dentry *dentry, struct nameidata *nd)
+#else
+int gpfs_i_follow_link(struct dentry *dentry, struct nameidata *nd)
+#endif
+{
+  int rc;
+  Boolean gotBKL = false;
+  struct cxiUio_t tmpUio;
+  cxiIovec_t tmpIovec;
+  struct inode *iP = dentry->d_inode;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP;
+  char *buf = NULL;
+
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_FOLLOW_LINK_ENTER,
+         "gpfs_i_follow_link enter: inode 0x%lX name '%s'\n",
+         dentry->d_inode, dentry->d_name.name);
+
+  /* BKL is not held at entry, except for NFS calls */
+  TraceBKL();
+  if (current->lock_depth >= 0)  /* kernel lock is held by me */
+  {
+    gotBKL = true;
+    unlock_kernel();
+  }
+
+  /* Allocate a temporary buffer to hold the symlink contents */
+  buf = cxiMallocPinned(CXI_PATH_MAX+1);
+  if (buf == NULL)
+  {
+    rc = -ENOMEM;
+    goto xerror;
+  }
+
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+
+  tmpIovec.iov_base = buf;          /* base memory address                   */
+  tmpIovec.iov_len = PATH_MAX;      /* length of transfer for this area      */
+
+  tmpUio.uio_iov = &tmpIovec;       /* ptr to array of iovec structs         */
+  tmpUio.uio_iovcnt = 1;            /* #iovec elements left to be processed  */
+  tmpUio.uio_iovdcnt = 0;           /* #iovec elements already processed     */
+  tmpUio.uio_offset = 0;            /* byte offset in file/dev to read/write */
+  tmpUio.uio_resid = PATH_MAX;      /* #bytes left in data area              */
+  tmpUio.uio_segflg = UIO_SYSSPACE; /* copy to kernel space buffer           */
+  tmpUio.uio_fmode = 0;             /* file modes from open file struct      */
+
+  /* Read symlink contents */
+  rc = gpfs_ops.gpfsReadlink(privVfsP, cnP, &tmpUio);
+  if (rc)
+  {
+    cxiErrorNFS(rc);
+    rc = -rc;
+    goto xerror;
+  }
+  
+  /* set end of string */
+  buf[PATH_MAX - tmpUio.uio_resid] = 0;
+
+  TRACE2(TRACE_VNODE, 2, TRCID_LINUXOPS_FOLLOW_LINK_1,
+         "gpfs_i_follow_link readlink rc %d data '%s'\n", rc, buf);
+
+  VFS_FOLLOW_LINK(rc, nd, buf);
+
+exit:
+  if (buf)
+    cxiFreePinned(buf);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_FOLLOW_LINK_2,
+         "gpfs_i_follow_link exit: inode 0x%lX rc %d\n",
+         dentry->d_inode, rc);
+
+  if (gotBKL)        /* If held kernel lock on entry then reacquire it */
+    lock_kernel();
+
+  EXIT(0);
+
+#if LINUX_KERNEL_VERSION >= 2061600
+  return NULL;  /* no cookie */
+#else
+  return rc;
+#endif
+
+xerror:
+  path_release(nd);
+  goto exit;
+
+}
+
+#ifdef HAS_IOP_PUT_LINK
+
+#if LINUX_KERNEL_VERSION >= 2061600
+void gpfs_i_put_link(struct dentry *dentry, struct nameidata *nd, void* cookie)
+#else
+void gpfs_i_put_link(struct dentry *dentry, struct nameidata *nd)
+#endif
+{
+  char *buf = nd_get_link(nd);
+  TRACE3(TRACE_VNODE, 2, TRCID_LINUXOPS_PUTLINK,
+        "gpfs_i_put_link dentry 0x%lX nd 0x%lX buf 0x%lX\n", dentry, nd, 
+        !IS_ERR(buf)? buf : NULL);
+  if (!IS_ERR(buf))
+     cxiFreePinned(buf);
+}
+
+#endif /* HAS_IOP_PUT_LINK */
+
+int
+gpfs_i_bmap(struct inode *iP, int fragment)
+{
+  ENTER(0);
+  TRACE0(TRACE_VNODE, 1, TRCID_LINUXOPS_BMAP,
+         "gpfs_i_bmap: rc ENOSYS\n");
+  TraceBKL();
+  EXIT(0);
+  return -ENOSYS;
+}
+
+void
+gpfs_i_truncate(struct inode *iP)
+{
+  ENTER(0);
+  /* Nothing to do since the file size was updated on the notify_change
+   * call which preceeded this call
+   */
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_TRUNCATE,
+         "gpfs_i_truncate: inode 0x%lX\n", iP);
+  TraceBKL();
+  EXIT(0);
+}
+
+int
+gpfs_i_permission(struct inode *iP, int mode
+#if LINUX_KERNEL_VERSION >= 2060000
+                  , struct nameidata *ni
+#endif
+                  )
+{
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  int rc = 0;
+
+  VFS_STAT_START(accessCall);
+  ENTER(0);
+
+  /* BKL is held at entry */
+
+  cnP = VP_TO_CNP(iP);
+
+  TRACE6(TRACE_VNODE, 1, TRCID_LINUXOPS_ACCESS_ENTER,
+         "gpfs_i_permission enter: iP 0x%lX mode 0x%X uid %d gid %d "
+         "i_mode 0x%X i_xinfo 0x%X", iP, mode, current->fsuid, 
+         current->fsgid, iP->i_mode, cnP->xinfo);
+
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+
+  if (mode)        /* call permission check only if got access mode */
+  {
+    setCred(&eCred);
+    rc = gpfs_ops.gpfsAccess(privVfsP, cnP, mode, ACC_SELF, &eCred);
+  }
+
+xerror:
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_ACCESS_EXIT,
+         "gpfs_i_permission exit: iP 0x%lX std %d dir std %d rc %d",
+         iP, iP->i_op == &gpfs_iops_stdperm, iP->i_op == &gpfs_dir_iops_stdperm,
+         rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+gpfs_i_smap(struct inode *iP, int sector)
+{
+  ENTER(0);
+  TRACE0(TRACE_VNODE, 1, TRCID_LINUXOPS_SMAP,
+         "gpfs_i_smap: rc ENOSYS\n");
+  TraceBKL();
+  EXIT(0);
+  return -ENOSYS;
+}
+
+int
+gpfs_i_updatepage(struct file *fP, struct page *pageP, const char *bufP,
+                  unsigned long offset, uint count, int sync)
+{
+  ENTER(0);
+  TRACE0(TRACE_VNODE, 1, TRCID_LINUXOPS_UPDATEPAGE,
+         "gpfs_i_updatepage: rc ENOSYS\n");
+  TraceBKL();
+  EXIT(0);
+  return -ENOSYS;
+}
+
+int
+gpfs_i_revalidate(struct dentry *dentryP)
+{
+  int rc;
+  int code = 0;
+  struct inode *iP = dentryP->d_inode;
+  cxiNode_t *cnP;
+  cxiVattr_t vattr;
+  struct gpfsVfsData_t *privVfsP;
+
+  ENTER(0);
+  VFS_INC(revalidateCount);
+  TRACE4(TRACE_VNODE, 2, TRCID_LINUXOPS_REVALIDATE_ENTER,
+         "gpfs_i_revalidate enter: dentryP 0x%lX iP 0x%lX ino 0x%X name '%s'\n",
+         dentryP, dentryP->d_inode, 
+         (iP) ? iP->i_ino : -1,  dentryP->d_name.name);
+  /* BKL is usually not held, but seems to be held when coming here as
+     part of setting an ACL */
+
+  if (iP == NULL)
+  {
+    code = 1;
+    rc = ENOENT;
+    goto xerror;
+  }
+  cnP = VP_TO_CNP(iP);
+
+  if (!cnP)
+  {
+    /* This can happen due to a bug in linux/fs/dcache.c (prune_dcache)
+       where "count" entries are to be pruned, but the last one is
+       found to be recently referenced.  When this happens, count is
+       decremented, but the loop is not terminated.  The result is that
+       it continues to prune entries past where it should (prunes
+       everything).  If our patch for this is not applied, the result
+       is a kernel failure as the cxiNode is referenced.  Checking
+       here (and lookup) allows us to reject the call instead. */
+      
+    TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_REVALIDATE_STALE,
+           "gpfs_i_revalidate: cxiNode for iP 0x%lX (ino %d) was FREED!\n",
+           iP, iP->i_ino);
+
+    /* Although we may like to know more about this inode, it is not
+     * ok to call PRINTINODE(iP) here.
+     */
+
+    rc = ESTALE;
+    code = 2;
+    goto xerror;
+  }
+
+  if ((cnP->icValid & CXI_IC_STAT) == CXI_IC_STAT)
+  {
+    rc = 0;
+    code = 3;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+
+  /* This has the effect of calling us back under a lock and 
+   * setting the inode attributes at the OS level (since this 
+   * operating system caches this info in the vfs layer)
+   */
+  rc = gpfs_ops.gpfsGetattr(privVfsP, cnP, &vattr, false);
+  PRINTINODE(iP);
+
+#if 0
+  /* Delay briefly to give token revoke races a chance to happen, if there
+     are any.  Time delay is in jiffies (10ms). */
+#  define howLong 5
+  TRACE1(TRACE_VNODE, 4, TRCID_REVAL_DELAY,
+         "gpfs_i_revalidate: begin delay %d\n", howLong);
+  current->state = TASK_INTERRUPTIBLE;
+  schedule_timeout(howLong);
+  TRACE1(TRACE_VNODE, 14, TRCID_REVAL_DELAY_END,
+         "gpfs_i_revalidate: end delay %d\n", howLong);
+#endif
+
+xerror:
+  TRACE3(TRACE_VNODE, 2, TRCID_LINUXOPS_REVALIDATE_EXIT,
+         "gpfs_i_revalidate exit: dentry 0x%lX code %d rc %d\n",
+         dentryP, code, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  EXIT(0);
+  return -rc;
+}
+
+int
+gpfs_i_setattr(struct dentry *dentryP, struct iattr *iattrP)
+{
+  int rc;
+
+  VFS_STAT_START(setattrCall);
+  ENTER(0);
+  rc = gpfs_i_setattr_internal(dentryP->d_inode, iattrP);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+gpfs_i_setattr_internal(struct inode *iP, struct iattr *aP)
+{
+  int rc = 0;
+  int code = 0;
+  long arg1;      /* must be large enough on 64bit to contain */
+  long arg2;      /*   either a pointer or integer            */
+  long arg3;
+  cxiTimeStruc_t atime, mtime, ctime;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  unsigned int ia_valid;
+
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_SETATTR_ENTER,
+         "gpfs_i_setattr enter: iP 0x%lX ia_valid 0x%X\n", iP, aP->ia_valid);
+  /* ?? Callers of this are inconsistent about whether the BKL is held */
+
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+
+  ia_valid = aP->ia_valid;
+
+  /* Change file size */
+  if (ia_valid & ATTR_SIZE)
+  {
+    arg1 = (long)&aP->ia_size;
+    arg2 = 0;
+    arg3 = 0;
+
+    /* call gpfsSetattr, unless we know that new size is the same */
+    if (!(cnP->icValid & CXI_IC_ATTR) ||
+        ((struct inode *)cnP->osNodeP)->i_size != aP->ia_size)
+    {
+      setCred(&eCred); // rebuild since gpfsSetattr may remap ids
+      rc = gpfs_ops.gpfsSetattr(privVfsP, cnP, V_SIZE, arg1, arg2, arg3,
+                                &eCred);
+      if (rc != 0)
+      {
+        code = 1;
+        goto xerror;
+      }
+
+      /* gpfsSetattr(... V_SIZE ...) will have updated ctime and mtime.
+         No need to do this again. */
+      ia_valid &= ~(ATTR_MTIME | ATTR_CTIME);
+    }
+  }
+
+  /* Change file mode */
+  if (ia_valid & ATTR_MODE)
+  {
+    arg1 = (long)aP->ia_mode;
+    arg2 = 0;
+    arg3 = 0;
+
+    setCred(&eCred); // rebuild since gpfsSetattr may remap ids
+    rc = gpfs_ops.gpfsSetattr(privVfsP, cnP, V_MODE, arg1, arg2, arg3, &eCred);
+    if (rc != 0)
+    {
+      code = 2;
+      goto xerror;
+    }
+  }
+
+  /* Change uid or gid */
+  if (ia_valid & (ATTR_UID | ATTR_GID))
+  {
+    arg1 = 0;
+    arg2 = 0;
+    arg3 = 0;
+
+    if (ia_valid & ATTR_UID)
+      arg2 = (long)aP->ia_uid;
+    else
+      arg1 |= T_OWNER_AS_IS;
+
+    if (ia_valid & ATTR_GID)
+      arg3 = (long)aP->ia_gid;
+    else
+      arg1 |= T_GROUP_AS_IS;
+
+    setCred(&eCred); // rebuild since gpfsSetattr may remap ids
+    rc = gpfs_ops.gpfsSetattr(privVfsP, cnP, V_OWN, arg1, arg2, arg3, &eCred);
+    if (rc != 0)
+    {
+      code = 3;
+      goto xerror;
+    }
+  }
+
+  /* Change access, modification, or change time */
+  if (ia_valid & (ATTR_ATIME | ATTR_MTIME | ATTR_CTIME))
+  {
+    arg1 = 0;
+    arg2 = 0;
+    arg3 = 0;
+   
+    if (ia_valid & ATTR_ATIME)
+    {
+      CXITIME_FROM_INODETIME(atime, aP->ia_atime);
+      arg1 = (long)&atime;
+    }
+    if (ia_valid & ATTR_MTIME)
+    {
+      CXITIME_FROM_INODETIME(mtime, aP->ia_mtime);
+      arg2 = (long)&mtime;
+    }
+    if (ia_valid & ATTR_CTIME)
+    {
+      CXITIME_FROM_INODETIME(ctime, aP->ia_ctime);
+      arg3 = (long)&ctime;
+    }
+    setCred(&eCred); // rebuild since gpfsSetattr may remap ids
+    rc = gpfs_ops.gpfsSetattr(privVfsP, cnP, V_STIME, arg1, arg2, arg3, &eCred);
+    if (rc != 0)
+    {
+      code = 4;
+      goto xerror;
+    }
+  }
+
+xerror:
+
+  if (rc == 0)
+  {
+    /* For NFS we might need to write the inode but the check will be done 
+     * in gpfsSyncNFS(). 
+     */
+    if (cxiAllowNFSFsync())
+    {
+      setCred(&eCred); // rebuild since gpfsSetattr may remap ids
+      rc = gpfs_ops.gpfsSyncNFS(privVfsP, cnP, 0, &eCred);
+    }
+
+    iP->i_sb->s_dirt = 1;
+  }
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_SETATTR_EXIT,
+         "gpfs_i_setattr exit: iP 0x%lX code %d rc %d\n", iP, code, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  EXIT(0);
+  return rc;
+}
+
+#if LINUX_KERNEL_VERSION >= 2050000
+int
+gpfs_i_getattr(struct vfsmount *mntP, struct dentry *dentryP, 
+               struct kstat *kstatP)
+#else
+int
+gpfs_i_getattr(struct dentry *dentryP, struct iattr *iattrP)
+#endif
+{
+  int rc;
+  struct inode *iP = dentryP->d_inode;
+  cxiNode_t *cnP;
+
+  VFS_STAT_START(getattrCall);
+  ENTER(0);
+
+  cnP = VP_TO_CNP(iP);
+
+  if (cnP && ((cnP->icValid & CXI_IC_STAT) == CXI_IC_STAT)) /* attr are vaild */
+    rc = 0;
+  else
+    rc = gpfs_i_getattr_internal(iP);
+
+  if (!rc)
+#if LINUX_KERNEL_VERSION >= 2050000
+    generic_fillattr(iP, kstatP);
+#else
+    getIattr(iP, iattrP);
+#endif
+  else
+    rc = -rc;
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return rc;
+}
+
+int
+gpfs_i_getattr_internal(struct inode *iP)
+{
+  int rc = 0;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  cxiVattr_t vattr;
+
+  ENTER(0);
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_GETATTR_ENTER,
+         "gpfs_i_getattr enter: iP 0x%lX\n", iP);
+  /* BKL is held at entry */
+
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+  cnP = VP_TO_CNP(iP);
+
+  /* This has the effect of calling us back under a lock and 
+   * setting the inode attributes at the OS level (since this 
+   * operating system caches this info in the vfs layer)
+   */
+  rc = gpfs_ops.gpfsGetattr(privVfsP, cnP, &vattr, false);
+  PRINTINODE(iP);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_GETATTR_EXIT,
+         "gpfs_i_getattr exit: iP 0x%lX rc %d\n", iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  EXIT(0);
+  return rc;
+}
+
+#if LINUX_KERNEL_VERSION > 2060000
+#include <cxiAclUser.h>
+
+#define XATTR_SECURITY_PREFIX "security."
+#define XATTR_TRUSTED_PREFIX "trusted."
+#define XATTR_USER_PREFIX "user."
+#define XATTR_NAME_ACL_ACCESS	"system.posix_acl_access"
+#define XATTR_NAME_ACL_DEFAULT	"system.posix_acl_default"
+
+static const char *
+test_prefix(const char *name, const char *prefix)
+{
+  while (*prefix && *name == *prefix) {
+    name++;
+    prefix++;
+  }
+  return *prefix ? NULL : name;
+}
+
+/*
+ * Inode operation getxattr()
+ *
+ */
+ssize_t
+gpfs_i_getxattr(struct dentry *dentry, const char *name, void *buf,
+                size_t buf_size)
+{
+  int rc;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  struct tsxattr xattr;
+  struct tsxattrs xattrs;
+  ext_cred_t eCred;
+  void *argP = &xattrs;
+  int flags = 0;
+  struct inode *iP = dentry->d_inode;
+  mm_segment_t oldfs;
+  const char *n;
+
+  ENTER(0);
+  VFS_STAT_START(getxattrCall);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_GETEXTATTR_ENTER,
+         "gpfs_i_getxattr enter: iP 0x%lX name %s buf 0x%lX size %d\n",
+         iP, (name) ? name : "NULL", buf, buf_size);
+
+  if (iP == NULL)
+  {
+    rc = ENOENT;
+    goto xerror;
+  }
+
+#ifdef CONFIG_FS_POSIX_ACL
+  if (n = test_prefix(name, XATTR_NAME_ACL_ACCESS)) {
+    if (n && (strcmp(n, "") != 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    rc = gpfs_get_posix_acl(dentry, ACL_TYPE_ACCESS, buf, buf_size);
+    goto xerror2;
+  }
+  if (S_ISDIR(iP->i_mode))
+  {
+    if (n = test_prefix(name, XATTR_NAME_ACL_DEFAULT)) {
+      if (n && (strcmp(n, "") != 0)) {
+        rc = EINVAL;
+        goto xerror;
+      }
+      rc = gpfs_get_posix_acl(dentry, ACL_TYPE_DEFAULT, buf, buf_size);
+      goto xerror2;
+    }
+  }
+#endif
+  if (n = test_prefix(name, XATTR_SECURITY_PREFIX)) {
+    if (n && (strcmp(n, "") == 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    goto xattr;
+  }
+  if (n = test_prefix(name, XATTR_TRUSTED_PREFIX)) {
+    if (n && (strcmp(n, "") == 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    if (!capable(CAP_SYS_ADMIN)) {
+      rc = EPERM;
+      goto xerror;
+    }
+    goto xattr;
+  }
+  if (n = test_prefix(name, XATTR_USER_PREFIX)) {
+    if (n && (strcmp(n, "") == 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    goto xattr;
+  }
+  rc = EOPNOTSUPP;
+  goto xerror;
+
+xattr:
+  setCred(&eCred);
+  xattrs.appId = 3;       // application id GPFS_ATTR_INTERNAL_APPL_ID
+  xattrs.nattrs = 1;      // no of attributes to get or set
+  xattrs.attrs = &xattr;  // attributes to get or set
+
+  xattr.keyP = (char*) name;        // attribute key
+  xattr.keyLen = strlen(name) + 1;  // key length
+  xattr.valueP = buf;               // attribute value
+  xattr.valueLen = buf_size;        // length of attribute value
+
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+  cnP = VP_TO_CNP(iP);
+
+  oldfs = get_fs();
+  set_fs(get_ds());
+
+  rc = gpfs_ops.gpfsFattr(privVfsP, cnP, NULL, flags, GET_XATTR, argP,
+                          NULL, &eCred);
+
+  set_fs(oldfs);
+  if (!rc)
+  {
+    TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_GETEXTATTR_EXIT0,
+           "gpfs_i_getxattr exit: iP 0x%lX len %d\n", iP, xattr.valueLen);
+    VFS_STAT_STOP;
+    EXIT(0);
+    if (xattr.valueLen < 0)
+      rc = ENODATA;
+    else
+      return (xattr.valueLen);
+  }
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_GETEXTATTR_EXIT,
+         "gpfs_i_getxattr exit: iP 0x%lX rc %d\n", iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+
+xerror2:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_GETEXTATTR_EXIT2,
+         "gpfs_i_getxattr exit2: iP 0x%lX rc %d\n", iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return (rc);
+}
+
+/*
+ * Inode operation setxattr()
+ *
+ */
+int
+gpfs_i_setxattr(struct dentry *dentry, const char *name, const void *buf,
+                size_t buf_size, int ext_flags)
+{
+  int rc;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  struct tsxattr xattr;
+  struct tsxattrs xattrs;
+  ext_cred_t eCred;
+  void *argP = &xattrs;
+  int flags = 0;
+  struct inode *iP = dentry->d_inode;
+  mm_segment_t oldfs;
+  const char *n;
+
+  ENTER(0);
+  VFS_STAT_START(setxattrCall);
+
+  TRACE5(TRACE_VNODE, 1, TRCID_LINUXOPS_SETEXTATTR_ENTER,
+         "gpfs_i_setxattr enter: iP 0x%lX name %s buf 0x%lX size %d flags 0x%X\n",
+         iP, (name) ? name : "NULL", buf, buf_size, ext_flags);
+
+  if (iP == NULL)
+  {
+    rc = ENOENT;
+    goto xerror;
+  }
+
+#ifdef CONFIG_FS_POSIX_ACL
+  if (n = test_prefix(name, XATTR_NAME_ACL_ACCESS)) {
+    if (n && (strcmp(n, "") != 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    if ((current->fsuid != iP->i_uid) && !capable(CAP_FOWNER))
+      return EPERM;
+    rc = gpfs_set_posix_acl(dentry, ACL_TYPE_ACCESS, buf, buf_size);
+    goto xerror;
+  }
+  if (S_ISDIR(iP->i_mode))
+  {
+    if (n = test_prefix(name, XATTR_NAME_ACL_DEFAULT)) {
+      if (n && (strcmp(n, "") != 0)) {
+        rc = EINVAL;
+        goto xerror;
+      }
+      if ((current->fsuid != iP->i_uid) && !capable(CAP_FOWNER))
+        return EPERM;
+      rc = gpfs_set_posix_acl(dentry, ACL_TYPE_DEFAULT, buf, buf_size);
+      goto xerror;
+    }
+  }
+#endif
+  if (n = test_prefix(name, XATTR_SECURITY_PREFIX)) {
+    if (n && (strcmp(n, "") == 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    goto xattr;
+  }
+  if (n = test_prefix(name, XATTR_TRUSTED_PREFIX)) {
+    if (n && (strcmp(n, "") == 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    if (!capable(CAP_SYS_ADMIN)) {
+      rc = EPERM;
+      goto xerror;
+    }
+    goto xattr;
+  }
+  if (n = test_prefix(name, XATTR_USER_PREFIX)) {
+    if (n && (strcmp(n, "") == 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    goto xattr;
+  }
+  rc = EOPNOTSUPP;
+  goto xerror;
+
+xattr:
+  setCred(&eCred);
+  xattrs.appId = 3;       // application id GPFS_ATTR_INTERNAL_APPL_ID
+  xattrs.nattrs = 1;      // no of attributes to get or set
+  xattrs.attrs = &xattr;  // attributes to get or set
+
+  xattr.keyP = (char*) name;            // attribute key
+  xattr.keyLen = strlen(name) + 1;      // key length
+  xattr.valueP = (char *)buf;           // attribute value
+  xattr.valueLen = buf_size;            // length of attribute value
+
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+  cnP = VP_TO_CNP(iP);
+
+  oldfs = get_fs();
+  set_fs(get_ds());
+
+  rc = gpfs_ops.gpfsFattr(privVfsP, cnP, NULL, flags, SET_XATTR, argP,
+                          NULL, &eCred);
+  set_fs(oldfs);
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_SETEXTATTR_EXIT,
+         "gpfs_i_setxattr exit: iP 0x%lX rc %d\n", iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+
+/*
+ * Inode operation listxattr()
+ *
+ * Copy a list of attribute names into the buffer
+ * provided, or compute the buffer size required.
+ * Buffer is NULL to compute the size of the buffer required.
+ *
+ * Returns a negative error number on failure, or the number of bytes
+ * used / required on success.
+ */
+ssize_t
+gpfs_i_listxattr(struct dentry *dentry, char *buf, size_t buf_size)
+{
+  int rc;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  struct tsxattr xattr;
+  struct tsxattrs xattrs;
+  ext_cred_t eCred;
+  void *argP = &xattrs;
+  int flags = 0;
+  struct inode *iP = dentry->d_inode;
+  mm_segment_t oldfs;
+
+  ENTER(0);
+  VFS_STAT_START(listxattrCall);
+
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_LISTXATTR_IN,
+         "gpfs_i_listxattr enter: iP 0x%lX buf 0x%lX buf_size %d\n",
+          iP, buf, buf_size);
+
+
+  if (iP == NULL)
+  {
+    rc = ENOENT;
+    goto xerror;
+  }
+  setCred(&eCred);
+  xattrs.appId = 3;       // application id GPFS_ATTR_INTERNAL_APPL_ID
+  xattrs.nattrs = 0;      // get all attribute name
+  xattrs.attrs = &xattr;  // attributes to get or set
+
+  xattr.keyP = NULL;            // attribute key
+  xattr.keyLen = 0;             // key length
+  xattr.valueP = buf;           // attribute value
+  xattr.valueLen = buf_size;    // length of attribute value
+
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+  cnP = VP_TO_CNP(iP);
+
+  oldfs = get_fs();
+  set_fs(get_ds());
+
+  /* which names can we show ??? */
+  rc = gpfs_ops.gpfsFattr(privVfsP, cnP, NULL, flags, LIST_XATTR, argP,
+                          NULL, &eCred);
+
+  set_fs(oldfs);
+  if (!rc)
+  {
+    TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_LISTXTATTR_EXIT0,
+           "gpfs_i_listxattr exit: iP 0x%lX len %d\n", iP, xattr.valueLen);
+    VFS_STAT_STOP;
+    EXIT(0);
+    return (xattr.valueLen);
+  }
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_LISTXTATTR_EXIT,
+         "gpfs_i_listxattr exit: iP 0x%lX rc %d\n", iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+
+/*
+ * Inode operation removexattr()
+ *
+ */
+int
+gpfs_i_removexattr(struct dentry *dentry, const char *name)
+{
+  int rc;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  struct tsxattr xattr;
+  struct tsxattrs xattrs;
+  ext_cred_t eCred;
+  void *argP = &xattrs;
+  int flags = 0;
+  struct inode *iP = dentry->d_inode;
+  mm_segment_t oldfs;
+  const char *n;
+
+  ENTER(0);
+  VFS_STAT_START(removexattrCall);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_REMOVEXATTR_IN,
+         "gpfs_i_removexattr enter: iP 0x%lX name %s\n", iP, (name) ? name : "NULL");
+
+  if (iP == NULL)
+  {
+    rc = ENOENT;
+    goto xerror;
+  }
+#ifdef CONFIG_FS_POSIX_ACL
+  if (n = test_prefix(name, XATTR_NAME_ACL_ACCESS)) {
+    if (n && (strcmp(n, "") != 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    if ((current->fsuid != iP->i_uid) && !capable(CAP_FOWNER))
+      return EPERM;
+    rc = gpfs_set_posix_acl(dentry, ACL_TYPE_ACCESS, NULL, -1);
+    goto xerror;
+  }
+  if (S_ISDIR(iP->i_mode))
+  {
+    if (n = test_prefix(name, XATTR_NAME_ACL_DEFAULT)) {
+      if (n && (strcmp(n, "") != 0)) {
+        rc = EINVAL;
+        goto xerror;
+      }
+      if ((current->fsuid != iP->i_uid) && !capable(CAP_FOWNER))
+        return EPERM;
+      rc = gpfs_set_posix_acl(dentry, ACL_TYPE_DEFAULT, NULL, -1);
+      goto xerror;
+    }
+  }
+#endif
+  if (n = test_prefix(name, XATTR_SECURITY_PREFIX)) {
+    if (n && (strcmp(n, "") == 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    goto xattr;
+  }
+  if (n = test_prefix(name, XATTR_TRUSTED_PREFIX)) {
+    if (n && (strcmp(n, "") == 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    if (!capable(CAP_SYS_ADMIN)) {
+      rc = EPERM;
+      goto xerror;
+    }
+    goto xattr;
+  }
+  if (n = test_prefix(name, XATTR_USER_PREFIX)) {
+    if (n && (strcmp(n, "") == 0)) {
+      rc = EINVAL;
+      goto xerror;
+    }
+    goto xattr;
+  }
+  rc = EOPNOTSUPP;
+  goto xerror;
+
+xattr:
+  setCred(&eCred);
+  xattrs.appId = 3;       // application id GPFS_ATTR_INTERNAL_APPL_ID
+  xattrs.nattrs = 1;      // no of attributes to get or set
+  xattrs.attrs = &xattr;  // attributes to delete
+
+  xattr.keyP = (char*) name;            // attribute key
+  xattr.keyLen = strlen(name) + 1;      // key length
+  xattr.valueP = NULL;                  // attribute value
+  xattr.valueLen = -1;                  // length < zero means delete
+
+  privVfsP = VP_TO_PVP(iP);
+  LOGASSERT(privVfsP != NULL);
+  cnP = VP_TO_CNP(iP);
+
+  oldfs = get_fs();
+  set_fs(get_ds());
+
+  rc = gpfs_ops.gpfsFattr(privVfsP, cnP, NULL, flags, SET_XATTR, argP,
+                          NULL, &eCred);
+  set_fs(oldfs);
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_REMOVEXATTR_EXIT,
+         "gpfs_i_removexattr exit: iP 0x%lX rc %d\n", iP, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return (-rc);
+}
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump-kern.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump-kern.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump-kern.c	(revision 16)
@@ -0,0 +1,1142 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)62       1.41.1.3  src/avs/fs/mmfs/ts/kernext/gpl-linux/kdump-kern.c, mmfs, avs_rgpfs24, rgpfs24s011a 3/14/07 10:56:41 */
+/* Code for program to dump kernel memory that needs to include kernel
+   header files. */
+
+/*
+ * Contents:
+ *   KernInit
+ *   GenericGet
+ *   GetDentry
+ *   FreeDentry
+ *   GetInode
+ *   GetVFSMount
+ *   GetSuperBlock
+ *   GetRootSuperBlock
+ *   GetPage
+ *   GetAddressSpace
+ *   GetVMAreaStruct
+ *   GetMMStruct
+ *   GetTaskStruct
+ *   GetTaskStructByPID
+ *   P_HEADER
+ *   PrintDentry
+ *   PrintDentryTree
+ *   PrintInode
+ *   PrintSuperBlock
+ *   PrintPage
+ *   PrintAddressSpace
+ *   PrintVMAreaStruct
+ *   PrintMMStruct
+ *   PrintTaskStruct
+ *   VirtToReal
+ *
+ */
+
+
+#include <Shark-gpl.h>
+#include <linux/vfs.h>
+#include <cxiSystem.h>
+#include <verdep.h>
+
+#include <linux/config.h>
+#include <linux/slab.h>
+#include <linux/vmalloc.h>
+#include <linux/spinlock.h>
+#include <linux/smp_lock.h>
+#include <linux/dcache.h>
+#include <linux/mount.h>
+#include <linux/fs.h>
+#include <linux/mm.h>
+
+#include <linux/elf.h>
+#include <linux/elfcore.h>
+
+#include <kdump-kern.h>
+#include <kdump.h>
+
+#include <stdio.h>
+#include <assert.h>
+
+#ifdef NOSTABS
+/* Address of header of the list of all super_blocks */
+unsigned long super_blocks_addr = 0x103;
+
+/* Address of a task_struct on the list of all tasks */
+unsigned long TaskAddress = 0x104;
+
+/* Address of the struct page of the first page in memory */
+unsigned long MemMapAddr;
+
+extern unsigned long HighSymbolAddr;
+
+/* Maco for printing some number of spaces */
+static char *blanksP =
+"                                                                            ";
+#define BLANKS(n) (blanksP + strlen(blanksP) - (n))
+
+/* A structure to keep track of current position when stepping through
+   all threads. */
+struct threadIter
+{
+  unsigned long taskAddr, threadAddr;
+  struct task_struct *taskP, *threadP;
+};
+
+
+/* initialize thread iterator */
+static void tiInit(struct threadIter *ti)
+{
+  ti->taskAddr = ti->threadAddr = TaskAddress;
+  ti->taskP = ti->threadP = GetTaskStruct(ti->taskAddr);
+}
+
+unsigned long GetOffset(int fMap)
+{
+#if defined(GPFS_ARCH_X86_64) && LINUX_KERNEL_VERSION >= 2061600
+  /* rw_verify_area does not allow kernel addr range,
+     so a read() will fail with EINVAL.  We subtract the base
+     base kernel addr here and add it back in the read file op in
+     tracelin.c */
+  if (fMap)
+    return(__START_KERNEL_map);
+  else
+    return(__PAGE_OFFSET);
+#else
+  return(0);
+#endif
+}
+
+/* Free threadIter memory.  If tiNext returns false, then it isn't necessary
+   to call this. */
+static void tiDone(struct threadIter *ti)
+{
+  kFree(ti->taskP);
+  if (ti->threadP != ti->taskP)
+    kFree(ti->threadP);
+  ti->taskP = ti->threadP = NULL;  
+}
+
+
+/* Step to next thread in current task.  If no more threads, step to
+   next task.  If no more tasks, return false. */
+static Boolean tiNext(struct threadIter *ti)
+{
+#if LINUX_KERNEL_VERSION >= 2060000
+
+#if LINUX_KERNEL_VERSION < 2060900
+  unsigned long pidAddr, headAddr, nextAddr;
+  struct pid_link *linkP;
+
+  assert(ti->taskP != NULL);
+  linkP = &ti->threadP->pids[PIDTYPE_TGID];
+
+  pidAddr = (unsigned long) linkP->pidptr;
+  headAddr = pidAddr + offsetof(struct pid, task_list);
+
+  nextAddr = (unsigned long) linkP->pid_chain.next;
+
+  if (nextAddr == headAddr)
+  {
+    struct pid *pidP = GenericGet(pidAddr, sizeof(struct pid), 0);
+    nextAddr = (unsigned long) pidP->task_list.next;
+    kFree(pidP);
+  }
+#else
+  //unsigned long nextAddr;
+  //nextAddr = (unsigned long) ti->threadP->pids[PIDTYPE_TGID].pid_list.next;
+#endif
+
+  //ti->threadAddr = (unsigned long) pid_task((struct list_head *) nextAddr,
+  //                                          PIDTYPE_TGID);
+  ti->threadAddr = (unsigned long) next_thread(ti->threadP); 
+  if (ti->threadAddr != ti->taskAddr)
+  {
+    if (ti->threadP != ti->taskP)
+      kFree(ti->threadP);
+    ti->threadP = GetTaskStruct(ti->threadAddr);
+  }
+  else
+  {
+    ti->taskAddr = ti->threadAddr = (unsigned long) NEXT_TASK(ti->taskP);
+    kFree(ti->taskP);
+    if (ti->threadP != ti->taskP)
+      kFree(ti->threadP);
+    ti->taskP = ti->threadP = (ti->taskAddr == TaskAddress) ?
+      NULL : GetTaskStruct(ti->taskAddr);
+  }
+
+  return ti->threadP != NULL;
+#else
+  assert(ti->taskP != NULL);
+  ti->taskAddr = ti->threadAddr = (unsigned long) NEXT_TASK(ti->taskP);
+  kFree(ti->taskP);
+  ti->taskP = ti->threadP = (ti->taskAddr == TaskAddress) ?
+    NULL : GetTaskStruct(ti->taskAddr);
+
+  return ti->threadP != NULL;
+#endif
+}
+
+
+/* Routine to initialize stuff needing access to kernel declarations */
+void KernInit()
+{
+  struct Symbol* sP;
+  int rc;
+  struct vm_struct * vmlist;
+  struct vm_struct v;
+  struct vmStruct* aListP;
+  struct vmStruct** prevPP;
+  unsigned long highMem;
+  unsigned long endAddr;
+
+  /* Set bounds of valid kernel memory */
+  sP = LookupSymbolByName("_stext");
+  assert(sP != 0);
+  LowKernelAddr = sP->addr;
+#if defined(GPFS_ARCH_I386) || defined(GPFS_ARCH_X86_64)
+  LowKernelAddr = PAGE_OFFSET;
+#endif
+
+  rc = GetSymbolValue("high_memory", &highMem, sizeof(HighKernelAddr));
+  assert(rc == 0);
+
+  sP = LookupSymbolByName("_end");
+  assert(sP != 0);
+
+  endAddr = sP->addr;
+  if (endAddr > highMem)
+    HighKernelAddr = endAddr;
+  else
+    HighKernelAddr = highMem;
+
+  if (!isCore)
+  {
+    /* Traverse vm_struct list in kernel starting at vmlist and build
+       corresponding list of vmStructs describing valid kernel addresses */
+    rc = GetSymbolValue("vmlist", &vmlist, sizeof(vmlist));
+    assert(rc == 0);
+
+    vmListHeadP = NULL;
+    prevPP = &vmListHeadP;
+    while (vmlist != NULL)
+    {
+      rc = ReadKernel((unsigned long)vmlist, &v, sizeof(v), 0);
+      assert(rc == 0);
+      aListP = (struct vmStruct*) kMalloc(sizeof(struct vmStruct));
+      assert(aListP != NULL);
+      DBG(printf("vm_struct addr 0x%lX size %d\n", v.addr, v.size));
+      aListP->startAddr = (unsigned long) v.addr;
+      aListP->areaLen = (unsigned long) v.size - PAGE_SIZE;
+      aListP->nextAreaP = NULL;
+      *prevPP = aListP;
+      prevPP = &aListP->nextAreaP;
+      vmlist = v.next;
+    }
+  }
+
+  /* Get address of super_blocks, the head of the list of super_blocks
+     threaded through the s_list field */
+  sP = LookupSymbolByName("super_blocks");
+  if (sP != NULL)
+    super_blocks_addr = sP->addr;
+
+  /* Get address of a task_struct on the list of all tasks */
+  sP = LookupSymbolByName("init_task_union");
+  if (sP == NULL)
+    sP = LookupSymbolByName("init_task");
+  assert(sP != NULL);
+  TaskAddress = sP->addr;
+
+  /* Get address of the base of the array of struct pages */
+#ifndef CONFIG_DISCONTIGMEM
+  rc = GetSymbolValue("mem_map", &MemMapAddr, sizeof(MemMapAddr));
+  assert(rc == 0);
+#else
+  MemMapAddr = 0;
+#endif
+}
+
+
+/* Generic get routine for kernel objects.  Mallocs storage of the
+   given size, then reads into the malloc'ed storage from the
+   kernel address.  Frees the object and returns NULL if the address
+   was invalid. */
+void* GenericGet(unsigned long addr, int len, int fMap)
+{
+  int rc;
+  void* p;
+
+  DBG(printf("GenericGet: addr 0x%lX len %d\n", addr, len));
+  p = kMalloc(len);
+  assert(p != NULL);
+  rc = ReadKernel(addr, p, len, fMap);
+  if (rc != 0)
+  {
+    kFree(p);
+    return NULL;
+  }
+  return p;
+}
+
+
+/* Read a dentry from the kernel.  Space may need to be allocated for the
+   name string. */
+void* GetDentry(unsigned long addr)
+{
+  struct dentry* dP;
+  char* nameP;
+  int rc;
+
+  dP = (struct dentry*) GenericGet(addr, sizeof(struct dentry), 0);
+  if (dP != NULL)
+  {
+    if (dP->d_name.len > 1024)
+    {
+      kFree(dP);
+      return NULL;
+    }
+    else if (dname_external(dP))
+      dP->d_name.name = dP->d_iname;
+    else
+    {
+      nameP = (char*) kMalloc(dP->d_name.len+1);
+      assert(nameP != NULL);
+      rc = ReadKernel((unsigned long)dP->d_name.name, nameP, dP->d_name.len+1, 0);
+      if (rc != 0)
+      {
+        kFree(nameP);
+        kFree(dP);
+        return NULL;
+      }
+      dP->d_name.name = nameP;
+    }
+  }
+  return dP;
+}
+
+
+/* Free a dentry, including the name string */
+void FreeDentry(void* p)
+{
+  struct dentry* dP = (struct dentry*) p;
+
+  if (dP == NULL)
+    return;
+  if (dname_external(dP))
+    kFree((void*)dP->d_name.name);
+  kFree(dP);
+}
+
+
+/* Read an inode from the kernel */
+void* GetInode(unsigned long addr)
+{
+  return GenericGet(addr, sizeof(struct inode), 0);
+}
+
+/* Read an vfsmount from the kernel */
+void* GetVFSMount(unsigned long addr)
+{
+  return GenericGet(addr, sizeof(struct vfsmount), 0);
+}
+
+/* Read an fs_struct from the kernel */
+void* GetFSStruct(unsigned long addr)
+{
+  return GenericGet(addr, sizeof(struct fs_struct), 0);
+}
+
+/* Read a superblock from the kernel */
+void* GetSuperBlock(unsigned long addr)
+{
+  return GenericGet(addr, sizeof(struct super_block), 0);
+}
+
+
+/* Read first superblock on the superblock list */
+void * 
+GetRootSuperBlock(unsigned long * addrP)
+{
+  struct list_head *listP;
+
+  listP = (struct list_head *)GenericGet(super_blocks_addr, 
+                                         sizeof(struct list_head), 1);
+  if (listP == NULL)
+  {
+    *addrP = 0;
+    return NULL;
+  }
+
+  if ((unsigned long)listP->next == super_blocks_addr)
+  {
+    /* super block list is empty */
+    *addrP = 0;
+    return NULL;
+  }
+
+  *addrP = (unsigned long)list_entry(listP->next, struct super_block, s_list);
+
+  return GetSuperBlock(*addrP);
+}
+
+
+/* Read a struct page from the kernel */
+void* GetPage(unsigned long addr)
+{
+  return GenericGet(addr, sizeof(struct page), 0);
+}
+
+
+/* Read an address_space from the kernel */
+void* GetAddressSpace(unsigned long addr)
+{
+  return GenericGet(addr, sizeof(struct address_space), 0);
+}
+
+
+/* Read a vm_area_struct from the kernel */
+void* GetVMAreaStruct(unsigned long addr)
+{
+  return GenericGet(addr, sizeof(struct vm_area_struct), 0);
+}
+
+
+/* Read an mm_struct from the kernel */
+void* GetMMStruct(unsigned long addr)
+{
+  return GenericGet(addr, sizeof(struct mm_struct), 0);
+}
+
+
+/* Read a task_struct from the kernel */
+void* GetTaskStruct(unsigned long addr)
+{
+  return GenericGet(addr, sizeof(struct task_struct), addr == TaskAddress?1:0);
+}
+
+
+/* Read a task_struct from the kernel given its pid */
+void* GetTaskStructByPID(unsigned long pid, unsigned long * addrP)
+{
+  struct threadIter ti;
+  struct task_struct *taskP;
+  tiInit(&ti);
+
+  do
+  {
+    if (ti.threadP->pid == pid)
+    {
+      *addrP = ti.threadAddr;
+      taskP = ti.threadP;
+      ti.threadP = NULL;
+      if (ti.taskP == taskP)
+        ti.taskP = NULL;
+      tiDone(&ti);
+      return taskP;
+    }
+  } while (tiNext(&ti));
+
+  fprintf(stderr, "PID %ld not found\n", pid);
+  return NULL;
+}
+
+
+/* Print a dentry.  Parameter may be NULL. */
+void 
+PrintDentry(void* parm, unsigned long addr)
+{
+  struct dentry* dP = (struct dentry*) parm;
+
+  if (dP == NULL)
+  {
+    fprintf(stderr, "NULL dentry\n");
+    return;
+  }
+
+  printf("dentry 0x%lX:\n", addr);
+
+  if (DumpMemoryCast(addr, "dentry"))
+    DumpMemory((char*)dP, sizeof(struct dentry), addr, DUMPMEM_I4);
+}
+
+
+#define FIELD_ADDR(_ptr, _addr, _field) \
+  (_addr + (unsigned long)((char *)&(_ptr)->_field - (char *)(_ptr)))
+
+/* Recursively show given dentry and all its descendants */
+static void PrintDentryTreeRecur(struct dentry* dP, unsigned long addr,
+                                 unsigned long parentAddr, int level)
+{
+  char *indent = BLANKS(2*level);
+  unsigned long h;
+  unsigned long childAddr;
+  unsigned long ipAddr;
+  struct list_head *listP;
+  struct inode *iP = NULL;
+  int nMax = 50;
+
+  ipAddr = (unsigned long)dP->d_inode;
+  if (ipAddr)
+    iP = (struct inode *)GetInode(ipAddr);
+
+#if LINUX_KERNEL_VERSION < 2060000
+  printf("%sdentry 0x%lX: d_inode %d i_count %d "
+         "d_count %d h_next 0x%lX h_prev 0x%lX d_name \"%s\"\n",
+         indent, addr, (iP ? iP->i_ino : 0),  
+         (iP ? atomic_read(&iP->i_count) : 0), dP->d_count, 
+         dP->d_hash.next, dP->d_hash.prev, dP->d_name.name);
+#else
+  printf("%sdentry 0x%lX: d_inode %d i_count %d "
+         "d_count %d h_next 0x%lX h_pprev 0x%lX d_name \"%s\"\n",
+         indent, addr, (iP ? iP->i_ino : 0),
+         (iP ? atomic_read(&iP->i_count) : 0), dP->d_count, 
+         dP->d_hash.next, dP->d_hash.pprev, dP->d_name.name);
+#endif
+
+  if ((unsigned long)dP->d_parent != parentAddr)
+    fprintf(stderr, "%sbad d_parent dentry 0x%lX !!!\n",
+           indent, dP->d_parent);
+
+  /* prevent infinite recursion */
+  if (level > 100)
+  {
+    fprintf(stderr, "%srecursion too deep !!!\n");
+    return;
+  }
+
+  h = FIELD_ADDR(dP, addr, d_subdirs);
+  listP = dP->d_subdirs.next;
+  while ((unsigned long)listP != h)
+  {
+    childAddr = (unsigned long)list_entry(listP, struct dentry, d_child);
+    dP = (struct dentry*)GetDentry(childAddr);
+    if (dP == NULL)
+    {
+      fprintf(stderr, "%s  could not get dentry 0x%lX !!!\n", indent, 
+              childAddr);
+      break;
+    }
+    PrintDentryTreeRecur(dP, childAddr, addr, level + 1);
+    listP = dP->d_child.next;
+
+    /* prevent infinite loop */
+    nMax--;
+    if (nMax == 0)
+    {
+      fprintf(stderr, "%s  too many children !!!\n", indent);
+      break;
+    }
+  }
+}
+
+/* Show given dentry and all its descendants */
+void PrintDentryTree(void* parm, unsigned long addr)
+{
+  if (parm == 0)
+  {
+    fprintf(stderr, "NULL dentry\n");
+    return;
+  }
+  PrintDentryTreeRecur((struct dentry*)parm, addr, 
+                       (unsigned long)(((struct dentry*)parm)->d_parent), 0);
+}
+
+void PrintFSStruct(void *parm, unsigned long addr)
+{
+  if (parm == NULL)
+  {
+    fprintf(stderr, "NULL fs_struct\n");
+    return;
+  }
+  if (DumpMemoryCast(addr, "fs_struct"))
+    DumpMemory((char*)parm, sizeof(struct fs_struct), addr, DUMPMEM_I4);
+}
+
+void PrintVFSMount(void *parm, unsigned long addr)
+{
+  if (parm == NULL)
+  {
+    fprintf(stderr, "NULL vfsmount\n");
+    return;
+  }
+  if (DumpMemoryCast(addr, "vfsmount"))
+    DumpMemory((char*)parm, sizeof(struct vfsmount), addr, DUMPMEM_I4);
+}
+
+void 
+PrintVFSMountList(void *parm, unsigned long addr)
+{
+  struct vfsmount *vfsP = (struct vfsmount *)parm;
+  struct list_head *listP;
+  char *devnameP;
+  unsigned long h;
+  unsigned long next;
+  
+  if (vfsP == NULL)
+  {
+    fprintf(stderr, "NULL vfsmount\n");
+    return;
+  }
+
+  devnameP = (char *)GenericGet((unsigned long)vfsP->mnt_devname, 20, 0);
+  printf("vfsmount 0x%lX: mnt_count %5d mnt_devname %20s\n",
+         addr, vfsP->mnt_count, devnameP);
+
+  h = FIELD_ADDR(vfsP, addr, mnt_list);
+  listP = vfsP->mnt_list.next;
+  while ((unsigned long)listP != h)
+  {
+    next = (unsigned long)list_entry(listP, struct vfsmount, mnt_list);
+    vfsP = (struct vfsmount *)GetVFSMount(next);
+    if (vfsP == NULL)
+    {
+      fprintf(stderr, "Could not get vfsmount 0x%lX !!!\n", next);
+      return;
+    }
+
+    devnameP = (char *)GenericGet((unsigned long)vfsP->mnt_devname, 20, 0);
+    printf("vfsmount 0x%lX: mnt_count %5d mnt_devname %20s\n",
+           next, vfsP->mnt_count, devnameP);
+
+    listP = vfsP->mnt_list.next;
+  }
+}
+
+/* Print an inode.  Parameter may be NULL. */
+void PrintInode(void* parm, unsigned long addr)
+{
+  struct inode* iP = (struct inode*) parm;
+
+  if (iP == NULL)
+  {
+    fprintf(stderr, "NULL inode\n");
+    return;
+  }
+
+  printf("inode 0x%lX:\n", addr);
+
+  if (DumpMemoryCast(addr, "inode"))
+    DumpMemory((char*)iP, sizeof(struct inode), addr, DUMPMEM_I4);
+}
+
+
+/* Print a super_block.  Parameter may be NULL. */
+void PrintSuperBlock(void* parm, unsigned long addr)
+{
+  struct super_block* sP = (struct super_block*) parm;
+  if (sP == NULL)
+  {
+    fprintf(stderr, "NULL super_block\n");
+    return;
+  }
+
+  printf("super_block 0x%lX:\n", addr);
+
+  if (DumpMemoryCast(addr, "super_block"))
+    DumpMemory((char*)sP, sizeof(struct super_block), addr, DUMPMEM_I4);
+}
+
+
+/* Print a page struct.  Parameter may be NULL. */
+void PrintPage(void* parm, unsigned long addr)
+{
+  struct page* pageP = (struct page*) parm;
+
+  if (pageP == NULL)
+  {
+    fprintf(stderr, "NULL page\n");
+    return;
+  }
+  printf("page 0x%lX (frame number 0x%lX):\n",
+         addr, (addr-MemMapAddr)/sizeof(struct page));
+
+  if (DumpMemoryCast(addr, "page"))
+    DumpMemory((char*)pageP, sizeof(struct page), addr, DUMPMEM_I4);
+}
+
+
+/* Print an address_space struct.  Parameter may be NULL. */
+void PrintAddressSpace(void* parm, unsigned long addr)
+{
+  struct address_space* asP = (struct address_space*) parm;
+
+  if (asP == NULL)
+  {
+    fprintf(stderr, "NULL address_space\n");
+    return;
+  }
+
+  printf("address_space 0x%lX:\n", addr);
+
+  if (DumpMemoryCast(addr, "address_space"))
+    DumpMemory((char*)asP, sizeof(struct address_space), addr, DUMPMEM_I4);
+}
+
+
+/* Print a vm_area_struct struct.  Parameter may be NULL. */
+void PrintVMAreaStruct(void* parm, unsigned long addr)
+{
+  struct vm_area_struct* vmP = (struct vm_area_struct*) parm;
+
+  if (vmP == NULL)
+  {
+    fprintf(stderr, "NULL vm_area_struct\n");
+    return;
+  }
+
+  printf("vm_area_struct 0x%lX:\n", addr);
+
+  if (DumpMemoryCast(addr, "vm_area_struct"))
+    DumpMemory((char*)vmP, sizeof(struct vm_area_struct), addr, DUMPMEM_I4);
+}
+
+
+/* Print an mm_struct struct.  Parameter may be NULL. */
+void PrintMMStruct(void* parm, unsigned long addr)
+{
+  struct mm_struct* mmP = (struct mm_struct*) parm;
+
+  if (mmP == NULL)
+  {
+    fprintf(stderr, "NULL mm_struct\n");
+    return;
+  }
+
+  printf("mm_struct 0x%lX:\n", addr);
+
+  if (DumpMemoryCast(addr, "mm_struct"))
+    DumpMemory((char*)mmP, sizeof(struct mm_struct), addr, DUMPMEM_I4);
+}
+
+
+/* Print an task_struct struct.  Parameter may be NULL. */
+void PrintTaskStruct(void* parm, unsigned long addr)
+{
+  struct task_struct* taskP = (struct task_struct*) parm;
+
+  if (taskP == NULL)
+  {
+    fprintf(stderr, "NULL task_struct\n");
+    return;
+  }
+
+  printf("task_struct 0x%lX:\n", addr);
+
+  if (DumpMemoryCast(addr, "task_struct"))
+    DumpMemory((char*)taskP, sizeof(struct task_struct), addr, DUMPMEM_I4);
+}
+
+#ifndef GPFS_ARCH_I386
+void VirtToReal(unsigned long pgdAddr, unsigned long vaddr)
+{
+  fprintf(stderr, "Not implemented.");
+}
+#else
+/* Display page table flag bits */
+static void ShowFlagBits(unsigned long f)
+{
+  if (f & _PAGE_PRESENT)  printf(" present");
+  if (f & _PAGE_RW)       printf(" RW");
+  if (f & _PAGE_USER)     printf(" user");
+  if (f & _PAGE_PWT)      printf(" PWT");
+  if (f & _PAGE_PCD)      printf(" PCD");
+  if (f & _PAGE_ACCESSED) printf(" accessed");
+  if (f & _PAGE_DIRTY)    printf(" dirty");
+  if (f & _PAGE_PSE)      printf(" 4M");
+  if (f & _PAGE_GLOBAL)   printf(" global");
+  printf("\n");
+}
+
+
+/* Translate vaddr using pgd at addr */
+void VirtToReal(unsigned long pgdAddr, unsigned long vaddr)
+{
+  pgd_t* pgdP;
+  unsigned long pgdIndex;
+  pgd_t pgdEntry;
+  unsigned long pgdVal;
+
+  unsigned long pmdAddr;
+  pmd_t* pmdP;
+  pmd_t pmdEntry;
+  unsigned long pmdVal;
+  unsigned long pageNumber;
+
+  unsigned long pteAddr;
+  unsigned long pteIndex;
+  pte_t* pteP;
+  pte_t pteEntry;
+  unsigned long pteVal;
+
+#if defined(CONFIG_X86_PAE) 
+  fprintf(stderr, "Could not read pmd\n");
+  return;
+#else
+  pgdIndex = pgd_index(vaddr);
+  pgdAddr = (unsigned long)(((pgd_t*)pgdAddr) + pgdIndex);
+  pgdP = (pgd_t*)GenericGet(pgdAddr, sizeof(*pgdP), 0);
+  if (pgdP == NULL)
+  {
+    fprintf(stderr, "Could not read pgd\n");
+    return;
+  }
+  pgdEntry = *pgdP;
+  CondFree(pgdP);
+  pgdVal = pgd_val(pgdEntry);
+  printf("pgdAddr 0x%lX pgd entry 0x%lX", pgdAddr, pgdVal);
+  ShowFlagBits(pgdVal);
+  if (!(pgdVal & _PAGE_PRESENT))
+  {
+    fprintf(stderr, "PGD not present\n");
+    return;
+  }
+
+  pmdAddr = (unsigned long) pmd_offset((void*)pgdAddr, vaddr);
+  /* Above only works for two level page tables, because the code for
+     3-level tables actually dereferences pgdAddr, which we cannot do
+     from this user-level program. */
+  pmdP = (pmd_t*)GenericGet(pmdAddr, sizeof(*pmdP), 0);
+  if (pmdP == NULL)
+  {
+    fprintf(stderr, "Could not read pmd\n");
+    return;
+  }
+  pmdEntry = *pmdP;
+  CondFree(pmdP);
+  pmdVal = pmd_val(pmdEntry);
+  printf("pmdAddr 0x%lX pmd entry 0x%lX", pmdAddr, pmdVal);
+  ShowFlagBits(pmdVal);
+  if (!(pmdVal & _PAGE_PRESENT))
+  {
+    fprintf(stderr, "PMD not present\n");
+    return;
+  }
+
+  if (pmdVal & _PAGE_PSE)
+  {
+    pageNumber = (pgdVal>>PAGE_SHIFT) + ((vaddr & (PGDIR_SIZE-1))>>PAGE_SHIFT);
+    printf("vaddr 0x%lX pageNumber 0x%lX page 0x%lX\n",
+           vaddr, pageNumber, MemMapAddr + pageNumber*sizeof(struct page));
+    return;
+  }
+
+  pteAddr = (unsigned long) __va(pmdVal & PAGE_MASK);
+#if LINUX_KERNEL_VERSION >= 2060000
+  pteIndex = pte_index(vaddr);
+#else
+  pteIndex = __pte_offset(vaddr);
+#endif
+  pteAddr = (unsigned long)(((pte_t*)pteAddr) + pteIndex);
+  pteP = (pte_t*)GenericGet(pteAddr, sizeof(pte_t), 0);
+  pteEntry = *pteP;
+  CondFree(pteP);
+  pteVal = pte_val(pteEntry);
+  printf("pteAddr 0x%lX pte entry 0x%lX", pteAddr, pteVal);
+  ShowFlagBits(pteVal);
+  if (!pte_present(pteEntry))
+  {
+    fprintf(stderr, "PTE not present\n");
+    return;
+  }
+
+  pageNumber = pteVal >> PAGE_SHIFT;
+  printf("vaddr 0x%lX pageNumber 0x%lX page 0x%lX\n",
+         vaddr, pageNumber, MemMapAddr + pageNumber*sizeof(struct page));
+#endif
+}
+#endif  /* GPFS_ARCH_I386 */
+
+void DoPs(void)
+{
+  struct threadIter ti;
+  tiInit(&ti);
+
+  printf("task addr      PID        state    name\n");
+  do
+  {
+    printf("0x%08lX    %8d    %0lX   %s%s\n",
+           ti.threadAddr, ti.threadP->pid, ti.threadP->state,
+           (ti.threadAddr == ti.taskAddr) ? "" : "    ", ti.threadP->comm);
+  } while (tiNext(&ti));
+}
+
+void PrintTraceback(struct task_struct* taskP)
+{
+#ifdef GPFS_ARCH_I386
+  unsigned long esp, esp2, stackWord, *p, offset, count;
+  struct Symbol* sP;
+
+  esp = taskP->thread.esp;
+
+  printf("\nStack for process %d (%s):\n", taskP->pid, taskP->comm);
+  while ((esp & (THREAD_SIZE-1)))
+  {
+    /* debug kernel may have odd esp offset */
+    for (esp2=esp, count=sizeof(taskP->thread.esp); count > 0;count--, esp2++)
+      if (!(esp2 & (THREAD_SIZE-1)))
+         break;
+    if (count > 0)
+	break;
+
+    p = (unsigned long*)GenericGet(esp++, sizeof(esp), 0);
+    if (p == NULL)
+    {
+      printf(" NULL stackWord pointer\n");
+      break;
+    }
+    stackWord = *p;
+    if (stackWord >= LowKernelAddr && stackWord <= HighSymbolAddr)
+    {
+      sP = LookupSymbolByAddr(stackWord);
+      assert(sP != NULL);
+      if (sP->flags & FL_TEXT)
+      {
+        offset = stackWord - sP->addr;
+        printf(" 0x%0lX  %s + 0x%X\n", stackWord, sP->nameP, offset);
+      }
+    }
+/*
+    else 
+      printf(" [%08lX]", stackWord);
+*/
+    kFree(p);
+  }
+  printf("\n");
+#elif defined(GPFS_ARCH_PPC64)
+  struct bt_stack_frame
+  {
+    struct bt_stack_frame* next;
+    long cr;
+    void *ret_addr;
+  };
+  struct bt_stack_frame* frameP = NULL;
+  struct pt_regs *regs;
+  unsigned long ip, *p, offset, frameAddr;
+  struct Symbol* sP;
+  int rc;
+
+  frameAddr = taskP->thread.ksp;
+
+  printf("\nStack for process %d (%s):\n", taskP->pid, taskP->comm);
+  while ( frameAddr > PAGE_OFFSET )
+  {
+    frameP = (struct bt_stack_frame*)GenericGet(frameAddr,
+                                       sizeof(struct bt_stack_frame), 0);
+    if (frameP == NULL)
+    {
+      printf(" NULL stack frame pointer\n");
+      break;
+    }
+    ip = (unsigned long)frameP->ret_addr;
+    if (ip != 0)
+    {
+      sP = LookupSymbolByAddr(ip);
+      if ( (sP->flags & FL_TEXT) )
+      {
+        offset = ip - sP->addr;
+        printf("%0p 0x%016lX  %s + 0x%X\n", frameAddr, ip, sP->nameP, offset);
+      }
+    }
+    frameAddr = (unsigned long)(frameP->next);
+    kFree((unsigned long*)frameP);
+  }
+#elif defined(GPFS_ARCH_X86_64) && LINUX_KERNEL_VERSION >= 2060000
+  unsigned long rsp, stackWord, *p, offset, count;
+  struct Symbol* sP;
+
+  rsp = taskP->thread.rsp;
+
+  printf("\nStack for process %d (%s):\n", taskP->pid, taskP->comm);
+  while ((rsp & (THREAD_SIZE-1)))
+  {
+    p = (unsigned long*)GenericGet(rsp++, sizeof(rsp), 0);
+    if (p == NULL)
+    {
+      printf(" NULL stackWord pointer\n");
+      break;
+    }
+    stackWord = *p;
+    if (stackWord >= LowKernelAddr && stackWord <= HighSymbolAddr)
+    {
+      sP = LookupSymbolByAddr(stackWord);
+      assert(sP != NULL);
+      if (sP->flags & FL_TEXT)
+      {
+        offset = stackWord - sP->addr;
+        printf(" 0x%0lX  %s + 0x%X\n", stackWord, sP->nameP, offset);
+      }
+    }
+/*
+    else 
+      printf(" [%08lX]", stackWord);
+*/
+    kFree(p);
+  }
+  printf("\n");
+#endif
+}
+
+/* Print kernel traceback for a particular process.  pid == -1
+ * means all processes
+ */
+void BacktracePid(unsigned long pid)
+{
+  struct threadIter ti;
+  tiInit(&ti);
+
+  do
+  {
+    if (pid == -1 || ti.threadP->pid == pid)
+    {
+      PrintTraceback(ti.threadP);
+      if (pid != -1)
+      {
+        tiDone(&ti);
+        return;
+      }
+    }
+  } while (tiNext(&ti));
+
+  if (pid != -1)
+    fprintf(stderr, "PID %ld not found\n", pid);
+}
+
+void BacktraceAll(void)
+{
+  BacktracePid(-1);
+}
+
+static struct elf_prstatus prstatus;
+static struct elf_prpsinfo prpsinfo;
+
+struct memelfnote
+{
+  char *name;
+  int type;
+  unsigned int datasize;
+  void *data;
+};
+
+#define ROUNDUP(_addr, _align) ( (_addr + (_align - 1))/_align * _align)
+
+void ReadElfNote(struct memelfnote* memnote)
+{
+  struct elf_note note;
+  int len;
+
+  readCore(&note, sizeof(note));
+
+  memnote->type = note.n_type;
+  len = ROUNDUP(note.n_namesz, 4);
+  memnote->name = (char*)kMalloc(len);
+  assert(memnote->name != NULL);
+  readCore(memnote->name, len);
+  memnote->name[note.n_namesz] = '\0';
+
+  len = ROUNDUP(note.n_descsz, 4);
+  memnote->datasize = note.n_descsz;
+  memnote->data = kMalloc(len);
+  assert(memnote->data != NULL);
+  memset(memnote->data, 0, len);
+  readCore(memnote->data, len);
+}
+
+
+void ReadKernelCore(char* corefile)
+{
+  int i; 
+  struct elfhdr hdr;
+  struct elf_phdr phdr_note, phdr_load;
+  struct memelfnote status_note, psinfo_note, taskstruct_note;
+  struct vmStruct* aListP;
+  struct vmStruct** prevPP;
+
+  printf("Reading ELF core file %s...\n", corefile);
+  isCore = 1;
+  openCore(corefile);
+  readCore(&hdr, sizeof(hdr));
+
+  assert(hdr.e_type == ET_CORE);
+  assert(hdr.e_version == EV_CURRENT);
+  assert(elf_check_arch(&hdr));
+  assert(hdr.e_ehsize == sizeof(struct elfhdr));
+  assert(hdr.e_phentsize == sizeof(struct elf_phdr));
+
+  readCore(&phdr_note, sizeof(phdr_note));
+
+  vmListHeadP = NULL;
+  prevPP = &vmListHeadP;
+  for (i = 0; i < hdr.e_phnum - 1; i++)
+  {
+    readCore(&phdr_load, sizeof(phdr_note));
+    if (phdr_load.p_type & PT_LOAD)
+    {
+      aListP = (struct vmStruct*) kMalloc(sizeof(struct vmStruct));
+      assert(aListP != NULL);
+      aListP->startAddr = phdr_load.p_vaddr;
+      aListP->areaLen = phdr_load.p_memsz;
+      aListP->file_offset = phdr_load.p_offset;
+      aListP->nextAreaP = NULL;
+      *prevPP = aListP;
+      prevPP = &aListP->nextAreaP;
+    }
+  }
+
+  seekCore(phdr_note.p_offset);
+  ReadElfNote(&status_note);
+  assert(status_note.type == NT_PRSTATUS);
+  cxiMemcpy(&prstatus, status_note.data, sizeof(prstatus));
+
+  ReadElfNote(&psinfo_note);
+  assert(psinfo_note.type == NT_PRPSINFO);
+  cxiMemcpy(&prpsinfo, psinfo_note.data, sizeof(prpsinfo));
+
+  ReadElfNote(&taskstruct_note);
+  assert(taskstruct_note.type == NT_TASKSTRUCT);
+
+#ifdef GPFS_ARCH_I386
+#define REG(_a) prstatus.pr_reg[_a]
+  printf("Registers:\n");
+  printf("eax: %08lX ebx: %08lX ecx: %08lX edx: %08lX\n", 
+         REG(6), REG(0), REG(1), REG(2));
+  printf("esi: %08lX edi: %08lX ebp: %08lX esp: %08lX\n", 
+         REG(3), REG(4), REG(5), REG(15));
+  printf("eip: %08lX eflags: %08lX\n", 
+         REG(12), REG(14));
+#undef REG
+#endif
+}
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump-kern.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump-kern.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump-kern.h	(revision 16)
@@ -0,0 +1,78 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)63       1.8  src/avs/fs/mmfs/ts/kernext/gpl-linux/kdump-kern.h, mmfs, avs_rgpfs24, rgpfs24s011a 3/14/07 10:53:33 */
+/* Definitions for kernel piece of program to dump kernel memory */
+
+/* Routine to initialize stuff needing access to kernel declarations */
+extern void KernInit();
+
+/* Read routines for various types of kernel objects.  Read the object at the
+   given address and copy it into malloc'ed storage.  Return the address of
+   the allocated object, or NULL if the object could not be read. */
+extern void* GenericGet(unsigned long addr, int len, int fMap);
+extern void* GetDentry(unsigned long addr);
+extern void* GetInode(unsigned long addr);
+extern void* GetVFSMount(unsigned long addr);
+extern void* GetFSStruct(unsigned long addr);
+extern void* GetSuperBlock(unsigned long addr);
+extern void* GetRootSuperBlock(unsigned long * addrP);
+extern void* GetPage(unsigned long addr);
+extern void* GetAddressSpace(unsigned long addr);
+extern void* GetVMAreaStruct(unsigned long addr);
+extern void* GetMMStruct(unsigned long addr);
+extern void* GetTaskStruct(unsigned long addr);
+extern void* GetTaskStructByPID(unsigned long pid, unsigned long * addrP);
+extern void VirtToReal(unsigned long pgdAddr, unsigned long vaddr);
+
+/* Free routines for kernel objects.  Object types not listed here can
+   be freed with CondFree. */
+extern void FreeDentry(void* p);
+
+/* Print routines for various types of kernel objects.  Parameter may be NULL. */
+extern void PrintDentry(void* parm, unsigned long addr);
+extern void PrintDentryTree(void* parm, unsigned long addr);
+extern void PrintInode(void* parm, unsigned long addr);
+extern void PrintVFSMount(void* parm, unsigned long addr);
+extern void PrintVFSMountList(void* parm, unsigned long addr);
+extern void PrintFSStruct(void* parm, unsigned long addr);
+extern void PrintSuperBlock(void* parm, unsigned long addr);
+extern void PrintCxiNode_t(void* parm, unsigned long addr);
+extern void PrintPage(void* parm, unsigned long addr);
+extern void PrintAddressSpace(void* parm, unsigned long addr);
+extern void PrintVMAreaStruct(void* parm, unsigned long addr);
+extern void PrintMMStruct(void* parm, unsigned long addr);
+extern void PrintTaskStruct(void* parm, unsigned long addr);
+extern void DoPs(void);
+extern void BacktracePid(unsigned long pid);
+extern void BacktraceAll();
+extern void ReadKernelCore(char* corefile);
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump.c	(revision 16)
@@ -0,0 +1,1603 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)64       1.24  src/avs/fs/mmfs/ts/kernext/gpl-linux/kdump.c, mmfs, avs_rgpfs24, rgpfs24s011a 3/14/07 10:53:37 */
+/* Program to dump kernel memory by address or symbol on a running system.
+   Can also get formatted dumps of some kernel data structures.  Invoke
+   as 'kdump /var/mmfs/tmp/complete.map.'. */
+
+/*
+ * Contents:
+ *   Init
+ *   CopyString
+ *   SymbolHash
+ *   LookupSymbolByName
+ *   AddUniqueSymbol
+ *   AddSymbol
+ *   SymbolAddrCompare
+ *   SortSymbols
+ *   LookupSymbolByAddr
+ *   ExactAddrToSymbol
+ *   ReadKernelMap
+ *   ReadKernel
+ *   GetSymbolValue
+ *   kMalloc
+ *   kFree
+ *   CondFree
+ *   DumpMemory
+ *   GetHex
+ *   PrintCxiNode_t
+ *   Usage
+ *   DoHelp
+ *   main
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <assert.h>
+#include <ctype.h>
+#include <string.h>
+#include <fcntl.h>
+#include <termios.h>
+#include <regex.h>
+#include <stdarg.h>
+
+#include <cxiTypes.h>
+
+#include <kdump.h>
+#include <kdump-kern.h>
+
+/* String storage area.  Strings are allocated at successively higher
+ * addresses within this area, and are never deallocated. 
+ */
+char* StringAreaP = NULL;
+#define STRING_AREA_SIZE (4*1024*1024)
+int StringAreaSizeLeft;
+
+/* Symbol storage area.  Each symbol has an address, some flags, and
+ * a name.  Symbols are linked into a hash table by name.  Although the
+ * symbol array itself is not sorted, the auxiliary array SymsByAddrPP is
+ * sorted by address to allow fast binary search by address. 
+ */
+int NSymbols = 0;
+int SymbolTableSorted = 0;
+
+#define MAX_SYMBOLS (128*1024)
+struct Symbol* SymbolAreaP = NULL;
+struct Symbol** SymsByAddrPP = NULL;
+
+#define SYM_HASH_BUCKETS 4093
+struct Symbol* SymbolHashAnchor[SYM_HASH_BUCKETS];
+
+/* Stab area.  Structure sizes and member offset for 
+ * dump data formatting.
+ */
+int NStabs = 0;
+#define MAX_STABS (128*1024)
+struct Stab *StabAreaP = NULL;
+
+#define STAB_HASH_BUCKETS 4093
+struct Stab* StabHashAnchor[STAB_HASH_BUCKETS];
+
+/* Handle of /dev/kmem */
+int KmemHandle = -1;
+
+/* Bounds of the initial portion of kernel virtual memory.  These are
+   initialized to liberal values, then tightened by reading kernel
+   variables. */
+unsigned long LowKernelAddr = 4096;
+unsigned long HighKernelAddr = -1L;
+
+unsigned long HighSymbolAddr = 0;
+
+/* Head of list of vm_struct structs copied from the kernel.  These define
+   which areas of kernel virtual memory are legal to access through
+   /dev/kmem. */
+struct vmStruct* vmListHeadP = NULL;
+
+/* Are we reading a core file or /dev/kmem ? */
+int isCore = 0;
+
+/* core file descriptor */
+int coreFD = -1;
+
+int savefdout = -1;
+int savefdin  = -1;
+
+/* 2.6.5 ppc64/x86_64 /dev/kmem can't read high memory */
+
+#if LINUX_KERNEL_VERSION >= 2060900 \
+   || ( LINUX_KERNEL_VERSION > 2060000 && (defined(GPFS_ARCH_PPC64) || defined(GPFS_ARCH_X86_64)))
+#define USE_KDUMP0
+#endif
+
+void
+cmdpclose(FILE *fp)
+{
+  if (fp)
+  {
+    /* reconnect stdout/stdin */
+    if (savefdout >= 0)
+    {
+      fflush(stdout);
+      dup2(savefdout, fileno(stdout));
+
+      close(savefdout);
+      savefdout = -1;
+    }
+    if (savefdin >= 0)
+    {
+      fflush(stdin);
+      dup2(savefdin, fileno(stdin));
+
+      close(savefdin);
+      savefdin = -1;
+    }
+
+    fflush(fp);
+    pclose(fp);
+    fflush(NULL);
+  }
+} 
+  
+FILE *
+cmdpopen(char *cmd)
+{
+  FILE *fp;
+
+  fp = popen(cmd, "w");
+  if (fp)
+  {
+    /* save current connections to stdout/stdin */ 
+    savefdout = dup(fileno(stdout));
+    savefdin  = dup(fileno(stdin));
+
+    /* close stdout and redirect stdout messages to cmd */
+    if (dup2(fileno(fp), fileno(stdout)) < 0)
+    {
+      perror("cmdpopen: dup2()");
+      cmdpclose(fp);
+      return NULL;
+    }
+
+    /* close stdin and redirect stdin messages to cmd */
+    if (dup2(fileno(fp), fileno(stdin)) < 0)
+    {
+      perror("cmdpopen: dup2()");
+      cmdpclose(fp);
+      return NULL;   
+    }
+  }
+  return fp;
+} 
+    
+/* Initialize */
+void Init()
+{
+  int i;
+
+  /* Initialize string area */
+  StringAreaP = (char*) malloc(STRING_AREA_SIZE);
+  assert(StringAreaP != NULL);
+  StringAreaSizeLeft = STRING_AREA_SIZE;
+
+  /* Allocate storage for symbols and put one symbol in the 
+   * table at address 0 
+  */
+  SymbolAreaP = (struct Symbol *)malloc(MAX_SYMBOLS*sizeof(struct Symbol));
+  assert(SymbolAreaP != NULL);
+
+  for (i=0; i < SYM_HASH_BUCKETS ; i++)
+    SymbolHashAnchor[i] = NULL;
+
+  StabAreaP = (struct Stab *)malloc(MAX_STABS*sizeof(struct Stab));
+  assert(StabAreaP != NULL);
+
+  for (i=0; i < STAB_HASH_BUCKETS ; i++)
+    StabHashAnchor[i] = NULL;
+
+  AddUniqueSymbol(0, 0, "NULL");
+
+  if (!isCore)
+  {
+    /* Open /dev/kmem */
+#ifdef USE_KDUMP0
+    KmemHandle = open("/dev/kdump0", O_RDONLY, 0);
+#else
+    KmemHandle = open("/dev/kmem", O_RDONLY, 0);
+#endif
+    if (KmemHandle == -1)
+    {
+#ifdef USE_KDUMP0
+      fprintf(stderr, "Cannot open /dev/kdump0\n");
+#else
+      fprintf(stderr, "Cannot open /dev/kmem\n");
+#endif
+      perror("open");
+      exit(1);
+    }
+  }
+}
+
+/* Copy a string into the string storage area and return a 
+ * pointer to the copy of the string 
+ */
+static char * 
+CopyString(const char* p)
+{
+  char* newStrP = StringAreaP;
+  int len = strlen(p);
+
+  assert(len < StringAreaSizeLeft);
+  strcpy(newStrP, p);
+  StringAreaP += len+1;
+  StringAreaSizeLeft -= len+1;
+
+  return newStrP;
+}
+
+/* Hash function for symbol table names */
+static int 
+SymbolHash(const char* nameP)
+{
+  int i;
+  unsigned int hash = 0;
+  int len = strlen(nameP);
+
+  for (i=0 ; i<len ; i++)
+    hash = (hash << 4) ^ nameP[i];
+
+  return hash % SYM_HASH_BUCKETS;
+}
+
+/* Look up symbol by name.  Returns a pointer to the symbol table 
+ * entry if a matching name is found, otherwise NULL. 
+ */
+struct Symbol * 
+LookupSymbolByName(const char* nameP)
+{
+  struct Symbol* p;
+  int h = SymbolHash(nameP);
+
+  p = SymbolHashAnchor[h];
+  while (p != NULL)
+  {
+    if (strcmp(p->nameP, nameP) == 0)
+    {
+      DBG(printf("LookupSymbolByName: found '%s' addr 0x%lX\n", 
+                 nameP, p->addr));
+      return p;
+    }
+    p = p->hashNextP;
+  }
+  return NULL;
+}
+
+/* Add a symbol to the table.  The symbol name must not already be 
+ * present.  Returns the address of the new symbol table entry. 
+ */
+struct Symbol * 
+AddUniqueSymbol(unsigned long addr, int flags, char* nameP)
+{
+  struct Symbol* p;
+  int h = SymbolHash(nameP);
+
+  p = SymbolHashAnchor[h];
+  while (p != NULL)
+  {
+    if (strcmp(p->nameP, nameP) == 0)
+    {
+      fprintf(stderr, "Symbol %s already in table with addr 0x%lX\n"
+              "Failed to add symbol at addr 0x%lX\n", nameP, p->addr, addr);
+      assert(!"symbol not unique in AddUniqueSymbol");
+    }
+    p = p->hashNextP;
+  }
+
+  assert(NSymbols < MAX_SYMBOLS);
+  p = &SymbolAreaP[NSymbols];
+  NSymbols += 1;
+  p->addr = addr;
+  p->flags = flags;
+  p->nameP = CopyString(nameP);
+  p->hashNextP = SymbolHashAnchor[h];
+  SymbolHashAnchor[h] = p;
+  SymbolTableSorted = 0;
+
+  if (addr > HighSymbolAddr)
+    HighSymbolAddr = addr;
+
+  return p;
+}
+
+/* Add a symbol to the table.  If the symbol name is already present,
+ * append the address of the symbol to the symbol name to make it
+ * unique.  Returns the address of the new symbol table entry. 
+ */
+struct Symbol * 
+AddSymbol(unsigned long addr, int flags, char* nameP)
+{
+  struct Symbol* p = LookupSymbolByName(nameP);
+  char* uniqueNameP;
+  int i;
+
+  if (p == NULL)
+    return AddUniqueSymbol(addr, flags, nameP);
+
+  uniqueNameP = (char*) malloc(strlen(nameP) + 32);
+  assert (uniqueNameP != NULL);
+  sprintf(uniqueNameP, "%s.%lX", nameP, addr);
+  for (i=1 ; ; i++)
+  {
+    p = LookupSymbolByName(uniqueNameP);
+    if (p == NULL)
+      break;
+    sprintf(uniqueNameP, "%s.%lX.%d", nameP, addr, i);
+  }
+
+  p = AddUniqueSymbol(addr, flags, uniqueNameP);
+  free(uniqueNameP);
+  return p;
+}
+
+/* Stab processing.  Creates structure name and member 
+ * offsets for dump formatting.
+ */
+static int
+StabHash(const char *nameP)
+{
+  int i;
+  unsigned int hash = 0;
+  int len = strlen(nameP);
+
+  for (i=0 ; i<len ; i++)
+    hash = (hash << 4) ^ nameP[i];
+
+  return hash % STAB_HASH_BUCKETS;
+}
+
+/* Look up a structure definition in the stab hash table */
+struct Stab * 
+LookupStabByName(const char* nameP)
+{
+  struct Stab* p;
+  int h = StabHash(nameP);
+
+  p = StabHashAnchor[h];
+  while (p != NULL)
+  {
+    if (strcmp(p->nameP, nameP) == 0)
+    {
+      DBG(printf("LookupStabByName: found '%s'\n", nameP));
+      return p;
+    }
+    p = p->hashNextP;
+  }
+  return NULL;
+}
+
+struct Stab * 
+AllocStab(int boff, int blen, char *nameP)
+{
+  struct Stab* p;
+
+  assert(NStabs < MAX_STABS);
+  p = &StabAreaP[NStabs];
+  NStabs += 1;
+
+  p->boff = (unsigned short)boff;
+  p->blen = (unsigned short)blen;
+  p->nameP = CopyString(nameP);
+  p->memNextP = NULL;
+  p->hashNextP = NULL;
+
+  return p;
+}
+
+struct Stab *
+AddStab(struct Stab *stabP)
+{
+  struct Stab *p;
+  int h = StabHash(stabP->nameP);
+
+  DBG(printf("AddStab: name %s\n", stabP->nameP));
+
+  p = StabHashAnchor[h];
+  while (p != NULL)
+  {
+    if (strcmp(p->nameP, stabP->nameP) == 0)
+    {
+      fprintf(stderr, "Stab %s already in table.\n", p->nameP);
+      return NULL;
+    }
+    p = p->hashNextP;
+  }
+
+  stabP->hashNextP = StabHashAnchor[h];
+  StabHashAnchor[h] = stabP;
+
+  return StabHashAnchor[h];
+}
+
+/* Parse a stab string read from the output of "objdump --stabs <prog>" */
+void
+ParseStabString(char *lineP, regex_t *stabPatP, regex_t *namePatP,
+                regex_t *offPatP)
+{
+  int rc;
+  regmatch_t pmatch[8];
+  struct Stab *stabHeadP, *stabP, **tailPP;
+
+  /* Match this line against struct definition regexp */
+  rc = regexec(stabPatP, lineP, 8, pmatch, 0);
+  if (rc != 0)
+    return;
+  assert(pmatch[5].rm_so >= 0);
+
+  /* Extract struct name and length from matched patterns and use them to
+     create a Stab entry. */
+  lineP[pmatch[2].rm_eo] = '\0';
+  stabHeadP = AllocStab(0, atoi(&lineP[pmatch[4].rm_so]),
+                        &lineP[pmatch[2].rm_so]);
+  AddStab(stabHeadP);
+  tailPP = &stabHeadP->memNextP;
+
+  /* Parse structure member definitions */
+  lineP += pmatch[5].rm_so;
+  while (regexec(namePatP, lineP, 8, pmatch, 0) == 0)
+  {
+    /* Extract symbol name */
+    char *sym = &lineP[pmatch[1].rm_so];
+    lineP[pmatch[1].rm_eo] = '\0';
+    lineP += pmatch[0].rm_eo;
+    if (*lineP == '\0')
+      break;
+
+    /* Skip over embedded struct definitions.  We look for a double
+       semicolon to mark the end of the struct.  That's not correct if this
+       struct has another embedded struct, but it's good enough. */
+    if (strncmp(lineP, "=s", 2) == 0)
+    {
+      while (true)
+      {
+        char *p = strchr(lineP, ';');
+        if (p == NULL)
+          break;
+        lineP = p + 1;
+        if (*lineP == ';')
+        {
+          lineP++;
+          break;
+        }
+      }
+    }
+    
+    /* Extract offset and size */
+    rc = regexec(offPatP, lineP, 8, pmatch, 0);
+    if (rc != 0)
+      break;
+    assert(pmatch[2].rm_so >= 0);
+    lineP[pmatch[1].rm_eo] = '\0';
+
+    /* Create new stab entry for this struct member */
+    stabP = AllocStab(atoi(&lineP[pmatch[1].rm_so]),
+                      atoi(&lineP[pmatch[2].rm_so]),
+                      sym);
+    *tailPP = stabP;
+    tailPP = &stabP->memNextP;
+
+    lineP += pmatch[0].rm_eo;
+  }
+
+  DBG(printf("%s len %d\n", stabHeadP->nameP, stabHeadP->blen);
+      for (stabP = stabHeadP->memNextP; stabP != NULL; stabP = stabP->memNextP)
+        printf("%4d %4d  %s\n", stabP->boff, stabP->blen, stabP->nameP);
+     );
+}
+
+/* The kdump program is compiled with -gstabs+ and thus
+ * we run objdump against it to retrieve all the stabs info.
+ * Since kdump-kern.c also includes kernel headers we should
+ * have stabs info for all the relevent kernel structures.
+ */
+int
+GenerateStabs(char *stabProg)
+{
+  int rc;
+  FILE *fP;
+  regex_t stabPat, namePat, offPat;
+  char buff[512];
+  char *lineP;
+   
+  /* Sample struct definition line in objdump output:
+
+       523    LSYM   0      0      00000000 38929  timezone:T(94,3)=s8tz_minuteswest:(0,1),0,32;tz_dsttime:(0,1),32,32;;
+  */
+
+  /* Compile regexp for parsing a struct definition */
+  rc = regcomp(&stabPat,
+               "^[0-9]+[ \t]+"
+               "(LSYM|GSYM)[ \t]+"                // Only LSYM or GSYM lines
+               "[0-9]+[ \t]+"
+               "[0-9]+[ \t]+"
+               "[0-9a-zA-Z]+[ \t]+"
+               "[0-9]+[ \t]+"
+               "([a-zA-Z_][a-zA-Z0-9_]*)"         // Symbol name
+               ":T([0-9]+|\\([0-9]+,[0-9]+\\))=s" // Only struct definitions
+               "([0-9]+)"                         // Size of struct
+               "(.*)$",                           // Member definitions
+               REG_EXTENDED);
+  if (rc != 0)
+  {
+    regerror(rc, &stabPat, buff, sizeof(buff));
+    fprintf(stderr, "regcomp failed: %s\n", buff);
+    return -1;
+  }
+
+  /* Compile regexp for extracting symbol name from member definitions */
+  rc = regcomp(&namePat,
+               "([a-zA-Z_][a-zA-Z0-9_]*):"      // Symbol name
+               "([0-9]+|\\([0-9]+,[0-9]+\\))",  // Type number
+               REG_EXTENDED);
+  if (rc != 0)
+  {
+    regerror(rc, &namePat, buff, sizeof(buff));
+    fprintf(stderr, "regcomp failed: %s\n", buff);
+    return -1;
+  }
+
+  /* Compile regexp for extracting offset/size from member definition */
+  rc = regcomp(&offPat,
+               "([0-9]+),([0-9]+);",            // Bit offset, size
+               REG_EXTENDED);
+  if (rc != 0)
+  {
+    regerror(rc, &offPat, buff, sizeof(buff));
+    fprintf(stderr, "regcomp failed: %s\n", buff);
+    return -1;
+  }
+
+  snprintf(buff, sizeof(buff), "/usr/bin/objdump --stabs %s", stabProg);
+  DBG(printf("popen(%s)\n", buff));
+  fP = popen(buff, "r");
+  if (fP == NULL)
+  {
+    perror("popen()");
+    return -1;
+  }
+
+  lineP = malloc(1000000);
+  assert(lineP != NULL);
+
+  while (fgets(lineP, 1000000, fP) != NULL)
+    ParseStabString(lineP, &stabPat, &namePat, &offPat);
+
+  free(lineP);
+  pclose(fP);
+  regfree(&stabPat);
+  regfree(&namePat);
+  regfree(&offPat);
+  return 0;
+}
+
+/* Comparision routine used by SortSymbols.  Compares the addr fields
+ * of the Symbol objects reachable through the pointers given as arguments. 
+ */
+static int 
+SymbolAddrCompare(const void* arg1P, const void* arg2P)
+{
+  struct Symbol** s1PP = (struct Symbol**) arg1P;
+  struct Symbol** s2PP = (struct Symbol**) arg2P;
+  unsigned long addr1 = (*s1PP)->addr;
+  unsigned long addr2 = (*s2PP)->addr;
+
+  if (addr1 < addr2) return -1;
+  if (addr1 > addr2) return 1;
+
+  return 0;
+}
+
+
+/* Build an up-to-date copy of the SymsByAddrPP array and sort it in order
+   by the addr fields of the associated symbols */
+static void SortSymbols()
+{
+  int i;
+
+  if (SymbolTableSorted)
+    return;
+
+  if (SymsByAddrPP != NULL)
+    free(SymsByAddrPP);
+
+  SymsByAddrPP = (struct Symbol**) malloc(NSymbols * sizeof(struct Symbol**));
+  assert(SymsByAddrPP != NULL);
+  for (i=0 ; i<NSymbols ; i++)
+    SymsByAddrPP[i] = &SymbolAreaP[i];
+
+  qsort((void*)SymsByAddrPP, NSymbols, sizeof(struct Symbol*), 
+        SymbolAddrCompare);
+  SymbolTableSorted = 1;
+}
+
+
+/* Look up symbol by address.  Returns a pointer to the symbol table entry
+   with the largest address that is less than or equal to the given
+   address.  There will always be a symbol in the table with address 0,
+   so this can always return a pointer to some Symbol object. */
+struct Symbol* LookupSymbolByAddr(unsigned long addr)
+{
+  int low, high, mid;
+  unsigned long addrMid;
+
+  SortSymbols();
+
+  /* Binary search */
+  low = 0;
+  high = NSymbols - 1;
+  while (low < high)
+  {
+    mid = (low+high+1) / 2;
+    addrMid = SymsByAddrPP[mid]->addr;
+    if (addrMid > addr)
+      high = mid - 1;
+    else
+      low = mid;
+  }
+  return SymsByAddrPP[low];
+}
+
+
+/* Look up a symbol by address.  If an exact match for the address is
+   found, return a pointer to the symbol name, otherwise return a pointer
+   to an empty string. */
+const char* ExactAddrToSymbol(unsigned long addr)
+{
+  static const char* emptyStringP = "";
+  struct Symbol* sP;
+
+  if (addr == 0)
+    return emptyStringP;
+  sP = LookupSymbolByAddr(addr);
+  if (sP == NULL)
+    return emptyStringP;
+  else
+    return sP->nameP;
+}
+
+
+/* Read in the map file containing kernel and kernel module symbols */
+static void ReadKernelMap(const char* filenameP)
+{
+  FILE* mapFileP;
+  char lineP[4096];
+  char* p;
+  int len;
+  int n;
+  unsigned long addr;
+  char flagChar;
+  int flags;
+  char symbolName[4096];
+
+  mapFileP = fopen(filenameP, "r");
+  if (mapFileP == NULL)
+  {
+    fprintf(stderr, "Cannot open kernel map file %s\n", filenameP);
+    exit(1);
+  }
+
+  for(;;)
+  {
+    p = fgets(lineP, sizeof(lineP), mapFileP);
+    if (p != lineP)
+      break;
+    len = strlen(lineP);
+    if (lineP[len-1] != '\n')
+    {
+      fprintf(stderr, "Line overflow reading map file: '%s'\n",
+              lineP);
+      exit(1);
+    }
+    /* Examples of input lines:
+       c0100000 A _text
+       c0314030 B vmlist
+       c88cc364 T lockStateToString__5LkObjUxPc
+     */
+    n = sscanf(lineP, "%lX %c %s\n", &addr, &flagChar, symbolName);
+    if (n != 3)
+    {
+      fprintf(stderr, "Parse error in map file: '%s'\n", lineP);
+      exit(1);
+    }
+    DBG(printf("map line: 0x%lX flag '%c' symbol '%s'\n",
+               addr, flagChar, symbolName));
+    switch (flagChar)
+    {
+      case 't':
+      case 'T':
+        flags = FL_TEXT;
+        break;
+
+      case 'b':
+      case 'B':
+        flags = FL_BSS;
+        break;
+
+      case 'd':
+      case 'D':
+        flags = FL_DATA;
+        break;
+
+      case 'r':
+      case 'R':
+        flags = FL_RODATA;
+        break;
+
+      case 'A':
+        flags = FL_SECTION;
+        break;
+
+      case '?':
+        flags = FL_KSTRTAB;
+        break;
+
+      default:
+        flags = 0;
+    }
+#ifdef GPFS_ARCH_PPC64
+    if (addr < 0xC000000000000000)
+      addr |= 0xd000000000000000L;
+#endif
+    AddSymbol(addr, flags, symbolName);
+  }
+  fclose(mapFileP);
+}
+
+
+/* Read kernel memory after checking the address for validity.  If the address
+   is invalid, return -1, otherwise return 0. */
+int ReadKernel(unsigned long addr, void* bufP, int len, int fMap)
+{
+  long long desiredOffset;
+  long long actualOffset;
+  int lenRead;
+  struct vmStruct* aListP;
+  int fd;
+
+  /* Check address for validity */
+  if (addr < LowKernelAddr)
+  {
+    DBG(printf("ReadKernel: addr 0x%lX < LowKernelAddr 0x%lX\n",
+               addr, LowKernelAddr));
+    return -1;
+  }
+  if (addr > HighKernelAddr || isCore)
+  {
+    aListP = vmListHeadP;
+    while (aListP != NULL)
+    {
+      if (addr >= aListP->startAddr  &&
+          addr+len < aListP->startAddr+aListP->areaLen)
+      {
+        DBG(printf("ReadKernel: addr 0x%lX in range starting at 0x%lX\n",
+                   addr, aListP->startAddr));
+        goto addrOK;
+      }
+      aListP = aListP->nextAreaP;
+    }
+    DBG(printf("ReadKernel: addr 0x%lX out of range\n", addr));
+    return -1;
+  }
+
+addrOK:
+  if (isCore)
+  {
+    desiredOffset = aListP->file_offset + (addr - aListP->startAddr);
+    fd = coreFD;
+  }
+  else
+  {
+    desiredOffset = addr - GetOffset(fMap);
+    fd = KmemHandle;
+  }
+
+  actualOffset = lseek64(fd, desiredOffset, SEEK_SET);
+  if (actualOffset != desiredOffset
+#ifdef GPFS_ARCH_PPC64
+      && actualOffset != (desiredOffset & 0x00000000FFFFFFFFL) )
+#else
+      )
+#endif
+  {
+    fprintf(stderr, "offset set to 0x%llX instead of 0x%llX\n",
+            actualOffset, desiredOffset);
+    perror("llseek");
+    exit(1);
+  }
+  lenRead = read(fd, bufP, len);
+  if (lenRead != len)
+  {
+    fprintf(stderr, "%d bytes read at addr 0x%lX\n", lenRead, addr);
+    if (lenRead == -1)
+      perror("read");
+    return -1;
+  }
+  return 0;
+}
+
+
+/* Read the current value of a kernel symbol.  Returns 0 on success, -1
+   on failure. */
+int GetSymbolValue(const char* nameP, void* bufP, int len)
+{
+  int rc;
+  struct Symbol* sP;
+  sP = LookupSymbolByName(nameP);
+  if (sP == NULL)
+    return -1;
+  rc = ReadKernel(sP->addr, bufP, len, 1);
+  DBG(if (len == sizeof(long))
+        printf("GetSymbolValue: symbol %s has value 0x%lX\n",
+               nameP, *((long*)bufP)));
+  return rc;
+}
+
+
+/* Wrapper around malloc so it can be called from modules that include
+   kernel files */
+void* kMalloc(int len)
+{
+  return malloc(len);
+}
+
+
+/* Wrapper around free so it can be called from modules that include
+   kernel files */
+void kFree(void* p)
+{
+  free(p);
+}
+
+
+/* Conditional free.  Free storage if p is not NULL. */
+void CondFree(void* p)
+{
+  if (p != NULL)
+    free(p);
+}
+
+
+/* Dump a block of memory.  Duplicate lines are supressed. */
+void 
+DumpMemory(char* p, int nBytes, unsigned long origin, int dumpFlags)
+{
+  char* origP;
+  union
+  {
+    unsigned char i1[16];
+    unsigned short i2[8];
+    unsigned int i4[4];
+    unsigned long long int i8[2];
+  } buf;
+  int row, col, lineLen, oLen;
+  char ch;
+  Boolean showedDots;
+  int i;
+  char line[128];
+
+  origP = p;
+  if (dumpFlags & DUMPMEM_ROUND)
+  {
+    p -= origin & 0x00000003;
+    nBytes += origP - p;
+    origin -= origP - p;
+  }
+  nBytes = 16 * ((nBytes+15) / 16);
+
+  buf.i1[0] = *p + 1;
+
+  showedDots = false;
+  for (row=0 ; row<nBytes/16 ; row++)
+  {
+    if (memcmp(p, &buf, 16) != 0)
+    {
+      memcpy(&buf, p, 16);
+
+      /* Dump label of this line.  Save length to indent later lines. */
+      lineLen = sprintf(line, "%p: ", origin + row*16);
+      oLen = lineLen;
+
+      /* Dump 16 bytes in hex, in address order */
+      lineLen += sprintf(line+lineLen,
+                         "%02x%02x%02x%02x %02x%02x%02x%02x "
+                         "%02x%02x%02x%02x %02x%02x%02x%02x  *",
+                         buf.i1[0], buf.i1[1], buf.i1[2], buf.i1[3],
+                         buf.i1[4], buf.i1[5], buf.i1[6], buf.i1[7],
+                         buf.i1[8], buf.i1[9], buf.i1[10], buf.i1[11],
+                         buf.i1[12], buf.i1[13], buf.i1[14], buf.i1[15]);
+
+      /* Dump 16 bytes as chars, translating unprintable chars to . */
+      for (col=0 ; col<16 ; col++)
+      {
+        ch = buf.i1[col];
+        if (!isalnum (ch)  &&
+            !ispunct (ch))
+          line[lineLen] = '.';
+        else
+        {
+          line[lineLen] = ch;
+          if (ch == '%')
+          {
+            lineLen += 1;
+            line[lineLen] = '%';
+          }
+        }
+        lineLen += 1;
+      }
+      sprintf(line+lineLen, "*\n");
+      printf(line);
+
+      /* If requested, dump 16 bytes as 8 shorts */
+      if (dumpFlags & DUMPMEM_I2)
+      {
+        for (i=0 ; i<oLen ; i++)
+          line[i] = ' ';
+        lineLen = oLen;
+        lineLen += sprintf(line+lineLen,
+                           "%04x %04x %04x %04x %04x %04x %04x %04x",
+                           buf.i2[0], buf.i2[1], buf.i2[2], buf.i2[3],
+                           buf.i2[4], buf.i2[5], buf.i2[6], buf.i2[7]);
+        sprintf(line+lineLen, "\n");
+        printf(line);
+      }
+
+      /* If requested, dump 16 bytes as 4 ints */
+      if (dumpFlags & DUMPMEM_I4)
+      {
+        for (i=0 ; i<oLen ; i++)
+          line[i] = ' ';
+        lineLen = oLen;
+        lineLen += sprintf(line+lineLen, "%08x %08x %08x %08x",
+                           buf.i4[0], buf.i4[1], buf.i4[2], buf.i4[3]);
+        sprintf(line+lineLen, "\n");
+        printf(line);
+      }
+
+      /* If requested, dump 16 bytes as 2 long long ints */
+      if (dumpFlags & DUMPMEM_I8)
+      {
+        for (i=0 ; i<oLen ; i++)
+          line[i] = ' ';
+        lineLen = oLen;
+        lineLen += sprintf(line+lineLen, "%016llx  %016llx",
+                           buf.i8[0], buf.i8[1]);
+        sprintf(line+lineLen, "\n");
+        printf(line);
+      }
+
+      showedDots = false;
+    }
+    else
+    {
+      if (!showedDots)
+      {
+        printf(" ...\n");
+        showedDots = true;
+      }
+    }
+    p += 16;
+  }
+
+} /* end of DumpMemory */
+
+int
+DumpMemoryCast(unsigned long addr, char *symNameP)
+{
+  union
+  {
+    unsigned char  i1[4];
+    unsigned short i2[2];
+    unsigned int   i4;
+  } buf;
+
+  char *p, *kmemP;
+  struct Stab *stabHeadP, *stabP;
+  int rc, i, kmemLen, maxsym, indent, offchar, len, pos, toCopy, nwords;
+
+  stabHeadP = LookupStabByName(symNameP);
+  if (stabHeadP == NULL)
+  {
+    fprintf(stderr, "Stab: %s not found\n", symNameP);
+    return -1;
+  }
+
+  kmemLen = stabHeadP->blen;
+  kmemP = malloc(kmemLen);
+  if (kmemP == NULL)
+    return -1;
+  
+  rc = ReadKernel(addr, kmemP, kmemLen, 0);
+  if (rc != 0)
+  {
+    fprintf(stderr, "Error reading from 0x%lX for %d bytes\n", addr, kmemLen);
+    goto xerror;
+  }
+
+  maxsym = 0;
+  for (stabP = stabHeadP->memNextP; stabP != NULL; stabP = stabP->memNextP)
+    if (strlen(stabP->nameP) > maxsym)
+      maxsym = strlen(stabP->nameP);
+  if (maxsym > 30)
+    maxsym = 30;
+  indent = maxsym + 2;
+
+  for (stabP = stabHeadP->memNextP; stabP != NULL; stabP = stabP->memNextP)
+  {
+    offchar = stabP->boff / 8;
+    if (offchar >= kmemLen)
+      continue;
+
+    len = (stabP->blen + 7) / 8;
+    if (offchar + len > kmemLen)
+      len = kmemLen - offchar;
+
+    printf(" %s ", stabP->nameP);
+
+    pos = strlen(stabP->nameP) + 2;
+    i = (pos < indent) ? indent - pos
+      : (pos - indent) % 9 == 0 ? 0
+      : 9 - (pos - indent) % 9;
+    printf("%*.0s", i, "");
+    pos += i;
+    nwords = 0;
+
+    p = kmemP + offchar;
+    while (len > 0)
+    {
+      toCopy = (len > 4) ? 4 : len;
+
+      memcpy(&buf, p, toCopy);
+      p += toCopy;
+      len -= toCopy;
+   
+      if (nwords >= 6 || pos > 70)
+      {
+        printf("\n%*.0s", indent, "");
+        pos = indent;
+        nwords = 0;
+      }
+
+      if (nwords > 0)
+        printf(" ");
+
+      if (toCopy == 4)
+      {
+        printf("%08x", buf.i4);
+        pos += 9;
+        nwords++;
+      }
+      else if (toCopy == 2)
+      {
+        printf("%04x", buf.i2[0]);
+      }
+      else
+      {
+        for (i = 0; i < toCopy; i++)
+          printf("%02x ", buf.i1[i]);
+      }
+    }
+    printf("\n");
+  }
+
+xerror:
+  free(kmemP);
+  return rc;
+}
+
+/* Convert a hex string to a number.  Sets *rcP to 0 if successful, nonzero
+   otherwise */
+static unsigned long GetHex(const char* argP, int* rcP)
+{
+  char* p = NULL;
+  unsigned long result;
+
+  result = strtoul(argP, &p, 16);
+  if (*p != '\0')
+    *rcP = 1;
+  else
+    *rcP = 0;
+  DBG(printf("strtoul argP 0x%lX arg '%s' result 0x%lX p 0x%lX *rcP %d\n",
+             argP, argP, result, p, *rcP));
+  return result;
+}
+
+
+/* Print a GPFS cxiNode_t.  Parameter may be NULL. */
+void 
+PrintCxiNode_t(void* parm, unsigned long addr)
+{
+  cxiNode_t* cP = (cxiNode_t*) parm;
+
+  if (cP == NULL)
+  {
+    fprintf(stderr, "NULL cxiNode_t\n");
+    return;
+  }
+
+  printf("cxiNode_t 0x%lX:\n", addr);
+
+  printf("  osNodeP         inode 0x%lX\n", cP->osNodeP);
+  printf("  nType           %s\n",
+         cP->nType == cxiVNON  ? "cxiVNON" :
+         cP->nType == cxiVREG  ? "cxiVREG" :
+         cP->nType == cxiVDIR  ? "cxiVDIR" :
+         cP->nType == cxiVBLK  ? "cxiVBLK" :
+         cP->nType == cxiVCHR  ? "cxiVCHR" :
+         cP->nType == cxiVLNK  ? "cxiVLNK" :
+         cP->nType == cxiVSOCK ? "cxiVSOCK" :
+         cP->nType == cxiVBAD  ? "cxiVBAD" :
+         cP->nType == cxiVFIFO ? "cxiVFIFO" :
+         cP->nType == cxiVMPC  ? "cxiVMPC" :
+         "??");
+  printf("  mapReadCount      %d\n", cP->mapReadCount);
+  printf("  mapWriteCount     %d\n", cP->mapWriteCount);
+  printf("  readCount         %d\n", cP->readCount);
+  printf("  icValid           0x%X", cP->icValid);
+  if (cP->icValid & CXI_IC_PERM) printf(" CXI_IC_PERM");
+  if (cP->icValid & CXI_IC_ATTR) printf(" CXI_IC_ATTR");
+  printf("\n");
+  printf("  xinfo             0x%X\n", cP->xinfo);
+  printf("  nfsP              0x%lX\n", cP->nfsP);
+  printf("  ctFlags           %d\n", cP->ctFlags);
+}
+
+void openCore(char* corefile)
+{
+  coreFD = open(corefile, O_RDONLY, 0);
+  if (coreFD == -1)
+  {
+    fprintf(stderr, "Cannot open kernel core file %s\n", corefile);
+    perror("open");
+    exit(1);
+  }
+}
+
+void readCore(void* bufP, int len)
+{
+  int lenActual;
+
+  assert(coreFD != -1);
+  lenActual = read(coreFD, bufP, len);
+  if (len != lenActual)
+  {
+    fprintf(stderr,
+      "Error trying to read %d bytes from core, only %d bytes read\n",
+      len, lenActual);
+    perror("read");
+    exit(1);
+  }
+}
+
+void seekCore(off_t pos)
+{
+  off_t curPos; 
+  
+  assert(coreFD != -1);
+
+  curPos = lseek(coreFD, pos, SEEK_SET);
+  if (curPos != pos)
+  {
+    fprintf(stderr,
+      "Error trying to seek to pos %X in core, current pos %X\n",
+      pos, curPos);
+    perror("seek");
+    exit(1);
+  }
+}
+
+
+static void Usage()
+{
+  fprintf(stderr, "Usage: kdump map-file [corefile]\n");
+  exit(1);
+}
+
+static void DoHelp()
+{
+  printf("Commands:\n"
+    "  address_space addr  - dump address_space\n"
+    "  cxiNode_t addr      - dump cxiNode_t\n"
+    "  dentry addr         - dump dcache dentry\n"
+    "  dentry_tree addr    - show dcache dentry and all of its descendants\n"
+    "  fs addr             - dump fs_struct \n"
+    "  inode addr          - dump inode\n"
+    "  mm_struct addr      - dump mm_struct\n"
+    "  page addr           - dump struct page\n"
+    "  pgd addr vaddr      - translate vaddr using pgd at addr\n"
+    "  super_block [addr]  - dump super_block (if no addr: root superblock)\n"
+    "  task pid            - dump task_struct for pid\n"
+    "  task_struct addr    - dump task_struct\n"
+    "  vfsmount addr       - dump vfsmount struct\n"
+    "  vfsmount_list addr  - dump all vfsmount structs starting with addr\n"
+    "  vm_area_struct addr - dump vm_area_struct\n"
+    "  mem addr len        - dump memory at addr\n"
+    "  mem addr stab       - dump memory formatted to stab struct name\n"
+    "  mem symbol len      - dump memory at address of symbol\n"
+    "  ps                  - display the list of running processes\n"
+    "  btp pid             - display kernel stack traceback for process pid\n"
+    "  bta                 - display stack tracebacks for all processes\n"
+    "  q                   - quit\n");
+}
+
+main(int argc, char* argvPP[])
+{
+  struct Symbol* sP;
+  char lineP[1024];
+  char* p;
+  char* cmdP;
+  char* arg1P;
+  char* arg2P;
+  char* arg3P;
+  char* arg4P;
+  char* arg5P;
+  unsigned long addr;
+  unsigned long vaddr;
+  unsigned long pid;
+  int len;
+  void* x;
+  int rc;
+  FILE *outfp = NULL;
+
+  if (argc < 2)
+    Usage();
+
+  if (argc == 3)
+    ReadKernelCore(argvPP[2]);
+
+  Init();
+  ReadKernelMap(argvPP[1]);
+  GenerateStabs(argvPP[0]);
+  KernInit();
+
+  for (;;)
+  {
+    if (outfp)
+    {
+      cmdpclose(outfp);
+      outfp = NULL;
+    }
+
+    printf("> ");
+    p = fgets(lineP, sizeof(lineP), stdin);
+    if (p == NULL)
+      break;
+
+    p = lineP;
+    while (isspace(*p)) p += 1;
+    if (*p == '\0')
+      continue;
+
+    cmdP = strtok(lineP, " \t\n");
+    arg1P = strtok(NULL, " \t\n");
+    arg2P = strtok(NULL, " \t\n");
+    arg3P = strtok(NULL, " \t\n");
+    arg4P = strtok(NULL, " \t\n");
+    arg5P = strtok(NULL, " \t\n");
+
+    if (arg1P && *arg1P == '|' && arg2P)
+    {
+      outfp = cmdpopen(arg2P);
+      arg1P = arg2P = arg3P = arg4P = arg5P = NULL;
+    }
+    else if (arg2P && *arg2P == '|' && arg3P)
+    {
+      outfp = cmdpopen(arg3P);
+      arg2P = arg3P = arg4P = arg5P = NULL;
+    }
+    else if (arg3P && *arg3P == '|' && arg4P)
+    {
+      outfp = cmdpopen(arg4P);
+      arg3P = arg4P = arg5P = NULL;
+    }
+    else if (arg4P && *arg4P == '|' && arg5P)
+    {
+      outfp = cmdpopen(arg5P);
+      arg4P = arg5P = NULL;
+    }
+
+    if (strcmp(cmdP, "?") == 0)
+      DoHelp();
+
+    else if (strcmp(cmdP, "q") == 0)
+      break;
+
+    else if (strcmp(cmdP, "quit") == 0)
+      break;
+
+    else if (strcmp(cmdP, "address_space") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetAddressSpace(addr);
+      PrintAddressSpace(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "cxiNode_t") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GenericGet(addr, sizeof(cxiNode_t), 0);
+      PrintCxiNode_t(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "dentry") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetDentry(addr);
+      PrintDentry(x, addr);
+      FreeDentry(x);
+    }
+    else if (strcmp(cmdP, "dentry_tree") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetDentry(addr);
+      PrintDentryTree(x, addr);
+      FreeDentry(x);
+    }
+    else if (strcmp(cmdP, "inode") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetInode(addr);
+      PrintInode(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "vfsmount") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetVFSMount(addr);
+      PrintVFSMount(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "vfsmount_list") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetVFSMount(addr);
+      PrintVFSMountList(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "fs") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetFSStruct(addr);
+      PrintFSStruct(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "mem") == 0)
+    {
+      int fMap = 0;
+      if (arg1P == NULL || arg2P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      sP = LookupSymbolByName(arg1P);
+      if (sP != NULL)
+      {
+        addr = sP->addr;
+        fMap = 1;
+      }
+      else
+      {
+        addr = GetHex(arg1P, &rc);
+        if (rc != 0)
+        {
+          fprintf(stderr, "Bad address %s\n", arg1P);
+          continue;
+        }
+      }
+
+      if (isalpha(arg2P[0]))
+        DumpMemoryCast(addr, arg2P);
+      else
+      {
+        len = strtol(arg2P, NULL, 0);
+        x = malloc(len);
+        if (x != NULL)
+        {
+          rc = ReadKernel(addr, x, len, fMap);
+          if (rc != 0)
+            fprintf(stderr, "Error reading from 0x%lX for %d bytes\n", 
+                    addr, len);
+          else
+            DumpMemory((char*)x, len, addr, DUMPMEM_I4);
+          free(x);
+        }
+      }
+    }
+    else if (strcmp(cmdP, "mm_struct") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetMMStruct(addr);
+      PrintMMStruct(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "page") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetPage(addr);
+      PrintPage(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "pgd") == 0)
+    {
+      if (arg1P == NULL || arg2P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      vaddr = strtoul(arg2P, NULL, 16);
+      VirtToReal(addr, vaddr);
+    }
+    else if (strcmp(cmdP, "task") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      pid = strtoul(arg1P, NULL, 10);
+      x = GetTaskStructByPID(pid, &addr);
+      if (x != NULL)
+      {
+        PrintTaskStruct(x, addr);
+        CondFree(x);
+      }
+    }
+    else if (strcmp(cmdP, "task_struct") == 0)
+    {
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetTaskStruct(addr);
+      PrintTaskStruct(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "super_block") == 0)
+    {
+      if (arg1P != NULL)
+      {
+        addr = strtoul(arg1P, NULL, 16);
+        x = GetSuperBlock(addr);
+      }
+      else
+        x = GetRootSuperBlock(&addr);
+      PrintSuperBlock(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "vm_area_struct") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      addr = strtoul(arg1P, NULL, 16);
+      x = GetVMAreaStruct(addr);
+      PrintVMAreaStruct(x, addr);
+      CondFree(x);
+    }
+    else if (strcmp(cmdP, "ps") == 0)
+    {
+      DoPs();
+    }
+    else if (strcmp(cmdP, "btp") == 0)
+    {
+      if (arg1P == NULL)
+      {
+        DoHelp();
+        continue;
+      }
+
+      pid = atoi(arg1P);
+      BacktracePid(pid);
+    }
+    else if (strcmp(cmdP, "bta") == 0)
+    {
+      BacktraceAll();
+    }
+    else
+      fprintf(stderr, "Bad command '%s'\n", cmdP);
+  }
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump.h	(revision 16)
@@ -0,0 +1,147 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)65       1.6  src/avs/fs/mmfs/ts/kernext/gpl-linux/kdump.h, mmfs, avs_rgpfs24, rgpfs24s011a 3/14/07 10:53:41 */
+/* Definitions for program to dump kernel memory */
+
+/* Debugging printfs.  The entire body of the printf call is the macro
+   parameter. */
+#ifdef DEBUG_KDUMP
+#define DBG(_p) do { _p; } while (0)
+#else
+#define DBG(_p) do {} while (0)
+#endif
+
+/* Symbol storage area.  Each symbol has an address, some flags, and
+   a name.  Symbols are linked into a hash table by name.  Although the
+   symbol array itself is not sorted, the auxiliary array SymsByAddrPP is
+   sorted by address to allow fast binary search by address. */
+struct Symbol
+{
+  unsigned long  addr;
+  int            flags;
+  char          *nameP;
+  struct Symbol *hashNextP;
+};
+
+#define FL_TEXT     0x01
+#define FL_BSS      0x02
+#define FL_DATA     0x04
+#define FL_RODATA   0x08
+#define FL_SECTION  0x10
+#define FL_KSTRTAB  0x20
+
+struct Stab
+{
+  unsigned short boff;      /* bit offset of the member */
+  unsigned short blen;      /* bit length of the member */
+  char          *nameP;
+  struct Stab   *memNextP;  /* next stab member of this stab string */
+  struct Stab   *hashNextP; /* next stab entry hashed to same index */
+};
+
+/* Look up symbol by name.  Returns a pointer to the symbol table entry
+   if a matching name is found, otherwise NULL. */
+extern struct Symbol* LookupSymbolByName(const char* nameP);
+
+/* Add a symbol to the table.  The symbol name must not already be present.
+   Returns the address of the new symbol table entry. */
+extern struct Symbol* AddUniqueSymbol(unsigned long addr, int flags, 
+                                      char* nameP);
+
+/* Add a symbol to the table.  If the symbol name is already present,
+   append the address of the symbol to the symbol name to make it
+   unique.  Returns the address of the new symbol table entry. */
+extern struct Symbol* AddSymbol(unsigned long addr, int flags, char* nameP);
+
+/* Look up symbol by address.  Returns a pointer to the symbol table entry
+   with the largest address that is less than or equal to the given
+   address.  There will always be a symbol in the table with address 0,
+   so this can always return a pointer to some Symbol object. */
+extern struct Symbol* LookupSymbolByAddr(unsigned long addr);
+
+/* Look up a symbol by address.  If an exact match for the address is
+   found, return a pointer to the symbol name, otherwise return a pointer
+   to an empty string. */
+extern const char* ExactAddrToSymbol(unsigned long addr);
+
+
+/* Bounds of the initial portion of kernel virtual memory.  These are
+   initialized to liberal values, then tightened by reading kernel
+   variables. */
+extern unsigned long LowKernelAddr;
+extern unsigned long HighKernelAddr;
+
+/* List of valid virtual memory areas outside of [LowKernelAddr..HighKernelAddr] */
+struct vmStruct
+{
+  unsigned long startAddr;
+  int areaLen;
+  off_t file_offset;
+  struct vmStruct* nextAreaP;
+};
+extern struct vmStruct* vmListHeadP;
+
+/* Return __START_KERNEL_map or PAGE_OFFSET */
+extern unsigned long GetOffset(int fMap);
+
+/* Read kernel memory after checking the address for validity.  If the address
+   is invalid, return -1, otherwise return 0. */
+extern int ReadKernel(unsigned long addr, void* bufP, int len, int fMap);
+
+/* Read the current value of a kernel symbol.  Returns 0 on success, -1
+   on failure. */
+extern int GetSymbolValue(const char* nameP, void* bufP, int len);
+
+/* Wrappers around malloc and free so they can be called from modules that
+   include kernel files */
+extern void* kMalloc(int len);
+extern void kFree(void* p);
+
+/* Conditional free.  Free storage if p is not NULL. */
+extern void CondFree(void* p);
+
+/* Dump a block of memory.  Duplicate lines are supressed. */
+#define DUMPMEM_ROUND 0x10
+#define DUMPMEM_I1 0x01
+#define DUMPMEM_I2 0x02
+#define DUMPMEM_I4 0x04
+#define DUMPMEM_I8 0x08
+extern void DumpMemory(char* p, int nBytes, unsigned long origin, int dumpFlags);
+
+extern int DumpMemoryCast(unsigned long origin, char *stabNameP);
+
+extern void readCore(void* bufP, int len);
+extern void openCore(char* corefile);
+extern void seekCore(off_t pos);
+
+extern int isCore;
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kx.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kx.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kx.c	(revision 16)
@@ -0,0 +1,1254 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)39       1.56.1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/kx.c, mmfs, avs_rgpfs24, rgpfs24s007a 10/25/06 17:52:27 */
+
+#include <Shark-gpl.h>
+
+#ifdef MODULE
+#include <linux/module.h>
+#endif
+#include <linux/string.h>
+#include <linux/version.h>
+#include <linux/kernel.h>
+#include <linux/errno.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+#include <linux/dcache.h>
+#include <linux/file.h>
+#include <linux/stat.h>
+#include <linux/fcntl.h>
+
+
+#ifndef GPFS_ARCH_X86_64
+/* grab stuff for madvise */
+#define __KERNEL_SYSCALLS__
+#endif
+#include <linux/unistd.h>
+#include <linux/mman.h>
+
+#include <verdep.h>
+#include <cxiSystem.h>
+#include <cxi2gpfs.h>
+#include <cxiCred.h>
+
+#include <linux2gpfs.h>
+#include <Trace.h>
+#include <cxiMode.h>
+#include <cxiTSFattr.h>
+#include <cxiVFSStats.h>
+
+#ifdef API_32BIT
+
+/* Equivalent structure for stat64 at 32-bit user level (for API remapping) */
+/* gcc doesn't align double words with i386/ia32 like it does for ia64, so
+ * we need to adjust for this. */
+/* Ideally we would include a header file with this definition (ia32.h) instead
+   of defining it ourselves, but this typically breaks things
+   (such as with x86_64). */
+typedef struct stat64_user32 {
+  UInt64 st_dev;
+  UInt32 __pad1;
+  UInt32 __st_ino;
+  UInt32 st_mode;
+  UInt32 st_nlink;
+  UInt32 st_uid;
+  UInt32 st_gid;
+  UInt64 st_rdev;
+  UInt32 __pad2;
+  UInt32 st_size_lower;     /* break up st_size to avoid extra padding */
+  UInt32 st_size_upper;     /* w/ little Endian ordering */
+  UInt32 st_blksize;
+  UInt64 st_blocks;
+  UInt32 st_atime;
+  UInt32 __unused1;
+  UInt32 st_mtime;
+  UInt32 __unused2;
+  UInt32 st_ctime;
+  UInt32 __unused3;
+  UInt64 st_ino;
+} stat64_user32;
+#endif /* API_32BIT */
+
+/* check if inode belongs to GPFS */
+#define GPFS_TYPE(IP) (!(iP) ? false : \
+                        (!(iP->i_sb) ? false : \
+                          (!(iP->i_sb->s_type) ? false : \
+                            !strcmp(iP->i_sb->s_type->name, "gpfs"))))
+
+int
+kxPoll(void* fdListP, int nFDs, int timeoutMS)
+{
+  return -ENOSYS;
+}
+
+int cleanupFD = 0;
+
+extern struct super_block *shutdownSuperP;
+
+#ifdef API_32BIT
+static void
+vstat32(cxiVattr_t *vattrp, struct stat64_user32 *statbuf)
+{
+  ENTER(0);
+  memset(statbuf, 0, sizeof(struct stat64_user32));
+
+  statbuf->st_dev         = vattrp->va_dev;
+  statbuf->st_ino         = vattrp->va_serialno;
+  statbuf->st_mode        = vattrp->va_mode;
+  statbuf->st_nlink       = vattrp->va_nlink;
+  statbuf->st_uid         = vattrp->va_uid;
+  statbuf->st_gid         = vattrp->va_gid;
+  statbuf->st_rdev        = vattrp->va_rdev;
+  statbuf->st_size_upper  = High32(vattrp->va_size);
+  statbuf->st_size_lower  = Low32(vattrp->va_size);
+  statbuf->st_atime       = vattrp->va_atime.tv_sec;
+  statbuf->st_mtime       = vattrp->va_mtime.tv_sec;
+  statbuf->st_ctime       = vattrp->va_ctime.tv_sec;
+  statbuf->st_blksize     = vattrp->va_blocksize;
+  statbuf->st_blocks      = vattrp->va_blocks;
+  /* STAT64_HAS_BROKEN_ST_INO is set on i386 ... */
+  statbuf->__st_ino       = vattrp->va_serialno;
+  EXIT(0);
+}
+#endif /* API_32BIT */
+
+void static
+vstat(cxiVattr_t *vattrp, struct stat64 *statbuf)
+{
+  ENTER(0);
+  memset(statbuf, 0, sizeof(struct stat64));
+
+  statbuf->st_dev         = vattrp->va_dev;
+  statbuf->st_ino         = vattrp->va_serialno;
+  statbuf->st_mode        = vattrp->va_mode;
+  statbuf->st_nlink       = vattrp->va_nlink;
+  statbuf->st_uid         = vattrp->va_uid;
+  statbuf->st_gid         = vattrp->va_gid;
+  statbuf->st_rdev        = vattrp->va_rdev;
+  statbuf->st_size        = vattrp->va_size;
+  statbuf->st_atime       = vattrp->va_atime.tv_sec;
+  statbuf->st_mtime       = vattrp->va_mtime.tv_sec;
+  statbuf->st_ctime       = vattrp->va_ctime.tv_sec;
+  statbuf->st_blksize     = vattrp->va_blocksize;
+  statbuf->st_blocks      = vattrp->va_blocks;
+
+#ifdef STAT64_HAS_BROKEN_ST_INO
+  /* Linux has 2 struct stat64 definitions:
+      1) /usr/include/asm/stat.h
+      2) /usr/include/bits/stat.h
+     Of course, they differ
+      1) st_dev & st_rdev is 2 bytes in (1) and 8 bytes in (2),
+         but the 2 definitions overlap.
+      2) st_ino is 8 bytes in (1) and 4 bytes in (2)
+         and they are in different places!
+    Fortunately, (1) defines an ifdef telling us to assign st_ino
+    to a second variable which just happens to exactly match the
+    definition in (2). */
+  statbuf->__st_ino       = vattrp->va_serialno;
+#endif
+  EXIT(0);
+}
+
+#ifdef GPFS_ARCH_PPC64
+void static
+vstat_ppc64(cxiVattr_t *vattrp, struct stat *statbuf)
+{
+  ENTER(0);
+  memset(statbuf, 0, sizeof(struct stat));
+                                                                                
+  statbuf->st_dev         = vattrp->va_dev;
+  statbuf->st_ino         = vattrp->va_serialno;
+  statbuf->st_mode        = vattrp->va_mode;
+  statbuf->st_nlink       = vattrp->va_nlink;
+  statbuf->st_uid         = vattrp->va_uid;
+  statbuf->st_gid         = vattrp->va_gid;
+  statbuf->st_rdev        = vattrp->va_rdev;
+  statbuf->st_size        = vattrp->va_size;
+  statbuf->st_atime       = vattrp->va_atime.tv_sec;
+  statbuf->st_mtime       = vattrp->va_mtime.tv_sec;
+  statbuf->st_ctime       = vattrp->va_ctime.tv_sec;
+  statbuf->st_blksize     = vattrp->va_blocksize;
+  statbuf->st_blocks      = vattrp->va_blocks;
+  EXIT(0);
+}
+#endif /* GPFS_ARCH_PPC64 */
+
+/* a call to return exact file status information
+ * using the file's pathname;
+ */
+int
+tsstat(char *pathname, struct stat64 *statP)
+{
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP;
+  int code = 0;
+  int rc = 0;
+  struct nameidata nd;
+  struct inode *iP;
+  Boolean relePath = false;
+  cxiVattr_t vattr;
+#ifdef GPFS_ARCH_PPC64
+  struct stat statbuf;
+#else
+  struct stat64 statbuf;
+#endif
+#ifdef API_32BIT
+  stat64_user32 statbuf32;
+#endif
+
+  ENTER(0);
+  if (pathname == NULL || statP == NULL)
+  {
+    code = 1;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  rc = user_path_walk(pathname, &nd);
+  if (rc)
+  {
+    rc = -rc;
+    code = 2;
+    goto xerror;
+  }
+  relePath = true;
+
+  iP = nd.dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_TSSTAT_ENTER,
+         "tsstat enter: iP 0x%lX statP 0x%lX\n", iP, statP);
+
+  if (!GPFS_TYPE(iP))
+  {
+    code = 3;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  if (privVfsP == NULL)
+  {
+    code = 4;
+    rc = ENOENT;
+    goto xerror;
+  }
+  cnP = VP_TO_CNP(iP);
+
+  rc = gpfs_ops.gpfsGetattr(privVfsP, cnP, &vattr, true);
+  vattr.va_rdev = cxiDev32ToDev(vattr.va_rdev);
+
+  if (rc == 0)
+  {
+#ifdef API_32BIT
+    /* Need to remap? */
+    if (cxiIS64U((char *)statP))
+    {
+      vstat(&vattr, &statbuf);
+
+      rc = cxiCopyOut((char *)&statbuf, (char *)statP, sizeof(struct stat64));
+    }
+    else
+    {
+      /* Need to remap for 32-bit API call */
+      vstat32(&vattr, &statbuf32);
+
+      rc = cxiCopyOut((char *)&statbuf32, (char *)statP,
+                      sizeof(struct stat64_user32));
+    }
+#else
+
+#ifdef GPFS_ARCH_PPC64
+    /* On ppc64, struct stat64 layout is different for a 64-bit user app and
+       kernel, and we can't use it for copying data out.  However, struct stat
+       has the same layout in kernel and 64-bit userspace, and is identical
+       to struct stat64 in 64-bit userspace, so we use it for copyout. */
+    vstat_ppc64(&vattr, &statbuf);
+#else
+    vstat(&vattr, &statbuf);
+#endif
+    rc = cxiCopyOut((char *)&statbuf, (char *)statP, sizeof(statbuf));
+
+#endif /* API_32BIT */
+    if (rc != 0)
+    {
+      code = 5;
+      goto xerror;
+    }
+  }
+
+xerror:
+  if (relePath)
+    path_release(&nd);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_TSSTAT_EXIT,
+         "tsstat exit: code %d rc %d\n", code, rc);
+  EXIT(0);
+  return -rc;
+}
+
+int
+tsfstat(int fileDesc, struct stat64 *statP)
+{
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP;
+  struct file *fP;
+  struct inode *iP;
+  int code = 0;
+  int rc;
+  Boolean releFile = false;
+  cxiVattr_t vattr;
+#ifdef GPFS_ARCH_PPC64
+  struct stat statbuf;
+#else
+  struct stat64 statbuf;
+#endif
+#ifdef API_32BIT
+  struct stat64_user32 statbuf32;
+#endif /* API_32BIT */
+
+  ENTER(0);
+  if (statP == NULL)
+  {
+    code = 1;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  fP = fget(fileDesc);
+  if (!fP)
+  {
+    code = 2;
+    rc = EBADF;
+    goto xerror;
+  }
+  releFile = true;
+
+  iP = fP->f_dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_TSFSTAT_ENTER,
+         "tsfstat enter: fd %d fP 0x%lX iP 0x%lX statP 0x%lX\n",
+         fileDesc, fP, iP, statP);
+
+  if (!GPFS_TYPE(iP))
+  {
+    code = 3;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  if (privVfsP == NULL)
+  {
+    code = 4;
+    rc = ENOENT;
+    goto xerror;
+  }
+  cnP = VP_TO_CNP(iP);
+
+  rc = gpfs_ops.gpfsGetattr(privVfsP, cnP, &vattr, true);
+  vattr.va_rdev = cxiDev32ToDev(vattr.va_rdev);
+
+  if (rc == 0)
+  {
+#ifdef API_32BIT
+    /* Need to remap? */
+    if (cxiIS64U((char *)statP))
+    {
+      vstat(&vattr, &statbuf);
+
+      rc = cxiCopyOut((char *)&statbuf, (char *)statP, sizeof(struct stat64));
+    }
+    else
+    {
+      /* Need to remap for 32-bit API call */
+      vstat32(&vattr, &statbuf32);
+
+      rc = cxiCopyOut((char *)&statbuf32, (char *)statP,
+                      sizeof(struct stat64_user32));
+    }
+#else
+
+#ifdef GPFS_ARCH_PPC64
+    /* On ppc64, struct stat64 layout is different for a 64-bit user app and
+       kernel, and we can't use it for copying data out.  However, struct stat
+       has the same layout in kernel and 64-bit userspace, and is identical
+       to struct stat64 in 64-bit userspace, so we use it for copyout. */
+    vstat_ppc64(&vattr, &statbuf);
+#else
+    vstat(&vattr, &statbuf);
+#endif
+    rc = cxiCopyOut((char *)&statbuf, (char *)statP, sizeof(statbuf));
+
+#endif /* API_32BIT */
+    if (rc != 0)
+    {
+      code = 5;
+      goto xerror;
+    }
+  }
+
+xerror:
+  if (releFile)
+    fput(fP);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_TSFSTAT_EXIT,
+         "tsfstat exit: code %d rc %d\n", code, rc);
+  EXIT(0);
+  return -rc;
+}
+
+int
+tsfattr(int fileDesc, int command, void *argP,
+        tsfattrReasonCodeInfo *rCodeP)
+{
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP;
+  struct MMFSVInfo *vinfoP = NULL;
+  ext_cred_t eCred;
+  struct file *fP;
+  struct inode *iP;
+  int reason = 0;
+  int code = 0;
+  int flags;
+  int rc;
+  Boolean releFile = false;
+
+  VFS_STAT_START(tsfattrCall);
+  ENTER(0);
+
+#ifdef SMB_LOCKS_TEST
+  /* hack to test setSMBOplock via tsfattr call */
+  if (command == 999)
+  {
+    int args[2];
+    int oplockGranted;
+    struct file *fP;
+
+    rc = cxiCopyIn((char *)argP, (char *)args, sizeof(args));
+    if (rc)
+      return -rc;
+
+    /* Obtain the file pointer from the descriptor */
+    fP = fget(fileDesc);
+    if (!fP)
+      return -EBADF;
+
+    rc = setSMBOplock(fP, fP->private_data, args[0], args[1],
+                      (void *)0xdeadbeef, &oplockGranted, false);
+
+    fput(fP);
+
+    if (rc)
+      return rc;
+    return oplockGranted;
+  }
+#endif
+
+  /* if rCodeP was specified then immediately reset reason field */
+  if (rCodeP != NULL)
+  {
+    rc = cxiCopyOut((char*)&reason, (char*)&(rCodeP->reason), sizeof(reason));
+    if (rc != 0)
+    {
+      code = 1;
+      goto xerror;
+    }
+  }
+
+  fP = fget(fileDesc);
+  if (!fP)
+  {
+    code = 2;
+    rc = EBADF;
+    goto xerror;
+  }
+  releFile = true;
+
+  iP = fP->f_dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  flags = cxiOpenFlagsXlate(fP->f_flags);
+
+  TRACE8(TRACE_VNODE, 1, TRCID_LINUXOPS_TSFATTR_ENTER,
+         "tsfattr enter: fd %d fP 0x%lX f_flags 0x%X flags 0x%X "
+         "iP 0x%lX command %d argP 0x%lX rCodeP 0x%lX\n",
+         fileDesc, fP, fP->f_flags, flags, iP, 
+         command, argP, rCodeP);
+
+  switch (iP->i_mode & S_IFMT)
+  {
+    case S_IFREG:
+    case S_IFDIR:
+      vinfoP = (struct MMFSVInfo *)fP->private_data;
+      break;
+
+    case S_IFLNK:
+    case S_IFBLK:
+    case S_IFCHR:
+    case S_IFIFO:
+    case S_IFSOCK:
+      /* At the moment we do have have any file ops enabled for the
+       * special files on Linux, and thus we don't have an OpenFile object 
+       * or vinfoP stored in fP.  This means that a special file can't
+       * have e.g. ACLs associated with it.  Fixing this properly will 
+       * require a redesign of our LFS interface.  For now, just fix the 
+       * kernel panic caused by invalid vinfoP. */
+      vinfoP = NULL;
+      if ((command != REMOTE_STAT) &&   // UIDREMAP
+          (command != GET_XATTR) &&     // GPFS_LINUX
+          (command != SET_XATTR))       // GPFS_LINUX
+      {
+        code = 5;
+        rc = ENOSYS;
+        goto xerror;
+      }
+      break;
+  }
+
+  if (!GPFS_TYPE(iP))
+  {
+    code = 3;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  if (privVfsP == NULL)
+  {
+    code = 4;
+    rc = ENOENT;
+    goto xerror;
+  }
+  cnP = VP_TO_CNP(iP);
+
+  setCred(&eCred);
+
+  rc = gpfs_ops.gpfsFattr(privVfsP, cnP, vinfoP, flags, command, argP,
+                          rCodeP, &eCred);
+
+xerror:
+  if (releFile)
+    fput(fP);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_TSFATTR_EXIT,
+         "tsfattr exit: code %d rc %d\n", code, rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+tsfsattr(int command, void *argP)
+{
+  int rc;
+
+  VFS_STAT_START(tsfattrCall);
+  ENTER(0);
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_TSFSATTR_ENTER,
+        "tsfsattr enter: command %s\n",tsfsattrcmd_id2name(command));
+
+  rc = gpfs_ops.gpfsFsAttr(command, argP);
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_TSFSATTR_EXIT,
+         "tsfsattr exit: rc %d\n", rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
+
+int
+tsattr(char *pathname, int command, void *argP,
+       tsfattrReasonCodeInfo *rCodeP)
+{
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP;
+  int code = 0;
+  int rc = 0;
+  int reason = 0;       /* local reason code for resetting caller's */
+  ext_cred_t eCred;
+  struct nameidata nd;
+  struct inode *iP;
+  Boolean relePath = false;
+
+  /* if rCodeP was specified then immediately reset reason field */
+  ENTER(0);
+  if (rCodeP != NULL)
+  {
+    rc = cxiCopyOut((char*)&reason, (char*)&(rCodeP->reason), sizeof(reason));
+    if (rc != 0)
+    {
+      code = 1;
+      goto xerror;
+    }
+  }
+
+  rc = user_path_walk(pathname, &nd);
+  if (rc)
+  {
+    rc = -rc;
+    code = 2;
+    goto xerror;
+  }
+  relePath = true;
+
+  iP = nd.dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_TSATTR_ENTER,
+         "tsattr enter: iP 0x%lX command %d argP 0x%lX rCodeP 0x%lX\n",
+         iP, command, argP, rCodeP);
+
+  if (!GPFS_TYPE(iP))
+  {
+    code = 3;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  if (privVfsP == NULL)
+  {
+    code = 4;
+    rc = ENOENT;
+    goto xerror;
+  }
+  cnP = VP_TO_CNP(iP);
+
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsFattr(privVfsP, cnP, NULL, 0, command, argP, rCodeP,
+                          &eCred);
+
+xerror:
+  if (relePath)
+    path_release(&nd);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_TSATTR_EXIT,
+         "tsattr exit: code %d rc %d\n", code, rc);
+
+  EXIT(0);
+  return -rc;
+}
+
+int
+kxGetACL(char *pathname, int flags, void *aclP)
+{
+  int rc = 0;
+  int code = 0;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  struct nameidata nd;
+  struct inode *iP;
+  Boolean relePath = false;
+
+  /* Verify input exists */
+  ENTER(0);
+  if (pathname == NULL || aclP == NULL)
+  {
+    code = 1;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  rc = user_path_walk(pathname, &nd);
+  if (rc)
+  {
+    rc = -rc;
+    code = 2;
+    goto xerror;
+  }
+  relePath = true;
+
+  iP = nd.dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  if (!GPFS_TYPE(iP))
+  {
+    code = 3;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  if (privVfsP == NULL)
+  {
+    code = 4;
+    rc = ENOENT;
+    goto xerror;
+  }
+
+  cnP = VP_TO_CNP(iP);
+
+  /* Retrieve the ACL data */
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsGetAcl(privVfsP, cnP, flags, aclP, &eCred);
+
+xerror:
+  if (relePath)
+    path_release(&nd);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_KXGETACL_EXIT,
+         "kxGetACL exit: code %d rc %d\n", code, rc);
+  EXIT(0);
+  return -rc;
+}
+
+int
+kxPutACL(char *pathname, int flags, void *aclP)
+{
+  int rc = 0;
+  int code = 0;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  struct nameidata nd;
+  struct inode *iP;
+  Boolean relePath = false;
+
+  /* Verify input exists */
+  ENTER(0);
+  if (pathname == NULL || aclP == NULL)
+  {
+    code = 1;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  rc = user_path_walk(pathname, &nd);
+  if (rc)
+  {
+    rc = -rc;
+    code = 2;
+    goto xerror;
+  }
+  relePath = true;
+
+  iP = nd.dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  if (!GPFS_TYPE(iP))
+  {
+    code = 3;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  if (privVfsP == NULL)
+  {
+    code = 4;
+    rc = ENOENT;
+    goto xerror;
+  }
+
+  cnP = VP_TO_CNP(iP);
+
+  /* Put the ACL data */
+  setCred(&eCred);
+  rc = gpfs_ops.gpfsPutAcl(privVfsP, cnP, flags, aclP, &eCred);
+
+xerror:
+  if (relePath)
+    path_release(&nd);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_KXPUTACL_EXIT,
+         "kxPutACL exit: code %d rc %d\n", code, rc);
+  EXIT(0);
+  return -rc;
+}
+
+#if !defined(GPFS_ARCH_X86_64) && !defined(GPFS_ARCH_IA64)
+/* madvise is handled as a kernel extension / ioctl call until support
+   is provided by glibc */
+//static inline _syscall3(int,madvise,void*,addr,size_t,len,int,advice);
+#endif
+
+int
+kxMadvise(void* addr, size_t len, int advice)
+{
+#if defined(GPFS_ARCH_X86_64) || defined(GPFS_ARCH_IA64)
+  /* kxMadvise should never be called since glibc has madvice */
+  return -ENOSYS;
+#else
+//  return madvise(addr, len, advice);
+//    return stub_syscall2(__NR_madvise, len, advice); 
+//    return sys_madvise(addr, len, advice);
+  return -ENOSYS;
+#endif
+}
+
+/* Get the kernel thread ID. */
+cxiThreadId
+kxGetThreadID()
+{
+  return (cxiThreadId)current->pid;
+}
+
+#ifdef GPFS_QUOTACTL
+int kxQuotactl(char *pathname, int cmd, int qid, void *bufferP)
+{
+  int rc = 0;
+  int code = 0;
+  cxiNode_t *cnP;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t  eCred;
+  ext_cred_t *credP = NULL;
+  struct nameidata nd;
+  struct inode *iP;
+  Boolean relePath = false;
+  ulong len;
+
+  ENTER(0);
+
+  TRACE4(TRACE_VNODE, 2, TRCID_LINUXOPS_TSQUOTACTL_K,
+         "kxQuotactl: enter cmd 0x%x, qid %d, pathname 0x%x, euid %d\n",
+          cmd, qid, pathname, current->euid);
+
+  /* Verify input exists */
+  if (pathname == NULL)
+  {
+    code = 1; // EBUF_ERROR
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  TRACE0(TRACE_VNODE, 2, TRCID_LINUXOPS_TSQUOTACTL_K1,
+       "kxQuotactl at [1]\n");
+
+  rc = user_path_walk(pathname, &nd);
+
+  TRACE1(TRACE_VNODE, 2, TRCID_LINUXOPS_TSQUOTACTL_K2,
+        "kxQuotactl at [2] user_path_walk rc %d\n",
+         rc);
+
+  if (rc)
+  {
+    rc = -rc;
+    code = 3;
+    goto xerror;
+  }
+
+  relePath = true;
+
+  iP = nd.dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  if (!GPFS_TYPE(iP))
+  {
+    code = 3;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  if (privVfsP == NULL)
+  {
+    code = 4;
+    rc = ENOENT;
+    goto xerror;
+  }
+
+  cnP = VP_TO_CNP(iP);
+
+  setCred(&eCred);
+  credP = &eCred;
+ 
+  TRACE4(TRACE_VNODE, 2, TRCID_LINUXOPS_TSQUOTACTL_K6,
+         "kxQuotactl: gpfs_ops.gpfsQuotactl, cmd 0x%x, qid %d, credP 0x%x, bufferP 0x%x\n",
+         cmd, qid, credP, bufferP);
+
+  rc = gpfs_ops.gpfsQuotactl(privVfsP, cmd, qid, bufferP, credP);
+
+  TRACE1(TRACE_VNODE, 2, TRCID_LINUXOPS_TSQUOTACTL_K7,
+         "kxQuotactl: gpfs_ops.gpfsQuotactl rc %d\n", rc);
+xerror:
+  if (relePath)
+    path_release(&nd);
+
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_TSQUOTACTL_EXIT,
+         "kxQuotactl exit: code %d rc %d, pathname %s\n", 
+         code, rc, pathname ? pathname : "?");
+
+  EXIT(0);
+
+  return -rc;
+}
+#endif /* GPFS_QUOTACTL */
+
+#ifdef SMB_LOCKS
+/* Exchange control between Samba, GPFS */
+int
+setSMBOpenLockControl(void *vP, void *infoP, int command, int lockmode)
+{
+  struct inode *iP;
+  struct gpfsVfsData_t *privVfsP;
+  struct MMFSVInfo *vinfoP;
+  struct file *fP = (struct file *)vP;
+  int rc = EINVAL;
+
+  ENTER(0);
+
+  TRACE2(TRACE_VNODE, 9, TRCID_SMBOPENLOCKCONTROL_ENTERL,
+         "setSMBOpenLockControl entry - command %d, mode 0x%x",
+         command, lockmode);
+
+  vinfoP = (struct MMFSVInfo *)fP->private_data;
+
+  iP = fP->f_dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  if (!GPFS_TYPE(iP))
+  {
+    rc = 0;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+
+  rc = gpfs_ops.SMBOpenLockControl(command, lockmode, iP->i_ino, vinfoP,
+                                   privVfsP);
+
+xerror:
+
+  TRACE1(TRACE_VNODE, 1, TRCID_SMBOPENLOCKCONTROL_EXITL,
+         "setSMBOpLockControl exit: rc %d\n", rc);
+
+  EXIT(0);
+  return (rc);
+}
+
+#include <oplock.h>
+#include <asm/uaccess.h>
+int
+setSMBOplock(void *vP, void *infoP, int accessWant, int oplockWant,
+             void *breakArgP, int *oplockGrantedP, Boolean isAsync)
+{
+  struct file *filp = (struct file *)vP;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP;
+  struct MMFSVInfo *vinfoP;
+  struct file *fP;
+  struct inode *iP;
+  int reason = 0;
+  int code = 0;
+  int flags;
+  int rc;
+  Boolean releFile = false;
+
+  /* get file pointer and inode */
+  ENTER(0);
+  fP = filp;
+  if (!fP)
+  {
+    code = 2;
+    rc = EBADF;
+    goto xerror;
+  }
+
+  get_file(fP);
+
+  releFile = true;
+
+  vinfoP = (struct MMFSVInfo *)fP->private_data;
+
+  iP = fP->f_dentry->d_inode;
+  DBGASSERT(iP != NULL);
+
+  TRACE5(TRACE_VNODE, 1, TRCID_LINUXOPS_SETSMBOPLOCK_E,
+         "setSMBOplock enter: fP 0x%lX acc %d oplock %d argP 0x%lX async %d\n",
+         fP, accessWant, oplockWant, breakArgP, isAsync);
+
+  if (!GPFS_TYPE(iP))
+  {
+    code = 3;
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  privVfsP = VP_TO_PVP(iP);
+  if (privVfsP == NULL)
+  {
+    code = 4;
+    rc = ENOENT;
+    goto xerror;
+  }
+  cnP = VP_TO_CNP(iP);
+
+  rc = gpfs_ops.gpfsSetSMBOplock(privVfsP, cnP, vinfoP, accessWant, oplockWant,
+                                 breakArgP, oplockGrantedP, isAsync);
+
+xerror:
+  if (releFile)
+    fput(fP);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_SETSMBOPLOCK_X,
+         "setSMBOplock exit: granted %d rc %d", *oplockGrantedP, rc);
+
+  EXIT(0);
+  return -rc;
+}
+
+/* Share/Delegate interface for Samba */
+int
+kxGetShare(int fd, unsigned int share, unsigned int deny)
+{
+  int rc;
+  struct file *fP = NULL;
+  struct inode *iP;
+  struct MMFSVInfo *vinfoP;
+  struct gpfsVfsData_t *privVfsP;
+  int shareWant;
+
+  /* To be called from our Samba vfs_op library only. */
+  ENTER(0);
+  if (!cxiIsSambaThread())
+  {
+    rc = EPERM;
+    goto xerror;
+  }
+
+  fP = fget(fd);
+  if (!fP || !fP->f_dentry || !fP->f_dentry->d_inode)
+  {
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  vinfoP = (struct MMFSVInfo *)fP->private_data;
+
+  iP = fP->f_dentry->d_inode;
+  if (!iP || !(privVfsP = VP_TO_PVP(iP)))
+  {
+    rc = EBADF;
+    goto xerror;
+  }
+
+  if (!GPFS_TYPE(iP))
+  {
+    rc = 0;
+    goto xerror;
+  }
+
+  shareWant = ALLOW_SHARE_DELETE;
+
+  TRACE6(TRACE_VNODE, 1, TRCID_LINUX_SHARE_ENTER,
+         "kxGetShare: enter fd %d fP 0x%lX ino %d infoP 0x%lX access 0x%X "
+         "deny 0x%X\n", fd, fP, iP->i_ino, vinfoP, share, deny);
+
+  /* Translate (and validate) the Samba share/deny arguments to our shareWant */
+
+  rc = EINVAL; /* setup for XLATE_SAMBA_ACCESS/DENY */
+
+  XLATE_SAMBA_ACCESS(share, shareWant);
+  XLATE_SAMBA_DENY(deny, shareWant);
+
+  /* Call to make the reservation */
+  if ((share != 0) || (deny != 0))
+    rc = gpfs_ops.gpfsReserveShare(fP, vinfoP, privVfsP, 0, shareWant, NULL,NULL);
+  else
+    rc = 0;
+
+  /* give back any pre-existing rights */
+  if ((rc == 0) && (0 != (coMask & ~shareWant)))
+    rc = gpfs_ops.gpfsReserveShare(fP, vinfoP, privVfsP, RESERVE_DOWNGRADE, 
+                                   coMask & ~shareWant, NULL, NULL);
+xerror:
+  if (fP)
+    fput(fP);
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUX_SHARE_EXIT, 
+         "kxGetShare: exit rc %d\n", rc);
+
+  EXIT(0);
+  return -rc;
+}
+
+int
+kxGetDelegation(int fd, unsigned int delegate_access,
+                void *cb_token, void *cookie)
+{
+  int rc = 0;
+  int code = 0;
+  int flags = 0;
+  struct file *fP = NULL;
+  struct inode *iP;
+  struct MMFSVInfo *vinfoP;
+  struct gpfsVfsData_t *privVfsP;
+  int oplockWant;
+
+  /* To be called from our Samba vfs_op library only. */
+  ENTER(0);
+  if (!cxiIsSambaThread())
+  {
+    rc = EPERM;
+    goto xerror;
+  }
+
+#if 0
+  /* As long as Samba write leases are not as strict as NFSv4 write
+     delegations (are not required to be revoked on stat) we can
+     allow them.
+  */
+  if (delegate_access == CXI_DELEGATE_WRITE)
+  {
+    rc = EOPNOTSUPP;
+    goto xerror;
+  }
+#endif
+
+  fP = fget(fd);
+  if (!fP || !fP->f_dentry || !fP->f_dentry->d_inode)
+  {
+    rc = EINVAL;
+    goto xerror;
+  }
+
+  vinfoP = (struct MMFSVInfo *)fP->private_data;
+
+  iP = fP->f_dentry->d_inode;
+  if (!iP || !(privVfsP = VP_TO_PVP(iP)))
+  {
+    rc = EBADF;
+    goto xerror;
+  }
+
+  if (!GPFS_TYPE(iP))
+  {
+    rc = 0;
+    goto xerror;
+  }
+
+
+  TRACE5(TRACE_VNODE, 1, TRCID_DELEGATE_ENTER,
+         "kxGetDelegation: enter fd %d fP 0x%lX ino %d vinfoP 0x%lX "
+         "delegate 0x%x\n", fd, fP, iP->i_ino, vinfoP, delegate_access);
+
+  /* Translate (and validate) the Samba delegate argument to our oplock flags */
+
+  /* setup for XLATE_SAMBA_DELEGATE */
+  rc = EINVAL;
+  oplockWant = 0;
+
+  if (delegate_access == CXI_DELEGATE_NONE)
+    flags = RESERVE_DOWNGRADE;
+
+  XLATE_SAMBA_DELEGATE(delegate_access, oplockWant);
+
+  rc = gpfs_ops.gpfsReserveDelegation(fP, vinfoP, privVfsP, oplockWant, 
+                                      flags, iP, NULL);
+
+xerror:
+  if (fP)
+    fput(fP);
+
+  TRACE1(TRACE_VNODE, 1, TRCID_DELEGATE_EXIT,
+         "kxGetDelegation: exit rc %d\n", rc);
+
+  EXIT(0);
+  return -rc;
+}
+#endif
+
+/* called from umount helper before calling umount system call  */
+
+#define UMOUNT_BEGIN 0
+#define UMOUNT_END 1
+int kxUMount(int type, char *pathname, int force, int *ret_err)
+{
+    char kxnode[CXI_MAXPATHLEN+1];
+    int rc = 0;
+    int dmrc = 0;
+    int code = 0;
+    ulong len;
+    struct cxiNode_t  *cnP = NULL;
+    struct gpfsVfsData_t *privVfsP = NULL;
+    void       *ndP = NULL;
+    Boolean doDMEvents = false;
+
+    ENTER(0);
+    rc = cxiCopyInstr(pathname, kxnode, CXI_MAXPATHLEN, &len);
+    LOGASSERT(rc == 0);
+    TRACE4(TRACE_VNODE, 1, TRCID_KXUMOUNT_ENT,
+         "kxUMount: enter type %d path %s force %d  ret_err %d\n",
+          type,kxnode,force,*ret_err);
+    
+#ifdef DMAPI
+    rc = cxiPathToVfsP((void **)&privVfsP,pathname, &ndP, (void **)&cnP, true);
+    if (rc)
+    {
+      code = 1;
+      goto exit;
+    }         
+    
+    /* Generate PREUNMOUNT event for normal mounts. For force unmount
+	   it is generated from gpfs_s_umount_begin.
+	   umount helper calls with UMOUNT_BEGIN before calling umount
+	   system call.
+    */
+
+    if ( type == UMOUNT_BEGIN && !force)
+    {
+       dmrc = gpfs_ops.gpfsDmUnmountEvent(true,force,privVfsP,cnP,
+                                        &doDMEvents, NULL, NULL, NULL, 0);
+       if (doDMEvents )
+         *ret_err = 1;
+       else
+         *ret_err = 0;
+    }
+
+	/* 
+	  umount helper calls with UMOUNT_END if umount system call fails.
+    */
+
+    if ( type == UMOUNT_END )
+       dmrc = gpfs_ops.gpfsDmUnmountEvent(false,force,privVfsP,cnP,
+                                     &doDMEvents, NULL, NULL, NULL, *ret_err);
+
+#endif
+exit:
+    if (ndP)
+      cxiPathRel(ndP);
+
+    TRACE4(TRACE_VNODE, 1, TRCID_KXUMOUNT_EXT,
+         "kxUMount: exit dmrc %d  ret_err %d rc %d code %d\n",
+          dmrc,*ret_err,rc,code);
+     EXIT(0);
+     return rc;
+}
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/linux2gpfs.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/linux2gpfs.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/linux2gpfs.h	(revision 16)
@@ -0,0 +1,406 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.85.1.3  src/avs/fs/mmfs/ts/kernext/gpl-linux/linux2gpfs.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/8/06 03:17:31 */
+#ifndef _h_linux2gpfs
+#define _h_linux2gpfs
+
+#include <cxiTypes.h>
+#include <Logger-gpl.h>
+
+#ifdef __cplusplus
+#include <prelinux.h>
+#endif
+
+#include <linux/kdev_t.h>
+#include <linux/fs.h>
+
+#ifdef __cplusplus
+#include <postlinux.h>
+#endif
+#include <cxiSystem.h>
+#include <verdep.h>
+
+#ifdef NTRACE
+#define PRINTINODE(i)  ((void)0)
+#define PRINTDENTRY(d) ((void)0)
+#define PRINTSBLOCK(s) ((void)0)
+#define PRINTFILE(f)   ((void)0)
+#else
+#define PRINTINODE(i)  printInode(i)
+#define PRINTDENTRY(d) printDentry(d)
+#define PRINTSBLOCK(s) printSblock(s)
+#define PRINTFILE(f)   printFile(f)
+#endif
+
+/* check if inode belongs to GPFS */
+#define GPFS_TYPE(IP) (!(iP) ? false : \
+                        (!(iP->i_sb) ? false : \
+                          (!(iP->i_sb->s_type) ? false : \
+                            !strcmp(iP->i_sb->s_type->name, "gpfs"))))
+
+
+/* forward declarations */
+struct ext_cred_t;
+struct dentry;
+struct super_block;
+struct file;
+struct nameidata;
+struct page;
+struct iattr;
+struct inode;
+struct vm_area_struct;
+#ifdef P_NFS4
+typedef struct {
+	u32 state[4];
+} stateid_t;
+typedef struct {
+	u32             cl_boot;
+	u32             cl_id;
+} clientid_t;
+#endif
+
+/* inode.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  void setCred(struct ext_cred_t *);
+#if LINUX_KERNEL_VERSION >= 2060000
+  int gpfs_i_create(struct inode *, struct dentry *, int, struct nameidata *);
+  struct dentry *gpfs_i_lookup(struct inode *, struct dentry *, struct nameidata *);
+#else
+  int gpfs_i_create(struct inode *, struct dentry *, int);
+  struct dentry *gpfs_i_lookup(struct inode *, struct dentry *);
+#endif
+  int gpfs_i_link(struct dentry *, struct inode *, struct dentry *);
+  int gpfs_i_unlink(struct inode *, struct dentry *);
+  int gpfs_i_symlink(struct inode *, struct dentry *, const char *);
+  int gpfs_i_mkdir(struct inode *, struct dentry *, int);
+  int gpfs_i_rmdir(struct inode *, struct dentry *);
+#if LINUX_KERNEL_VERSION >= 2050000
+  int gpfs_i_mknod(struct inode *, struct dentry *, int, dev_t);
+#else
+  int gpfs_i_mknod(struct inode *, struct dentry *, int, int);
+#endif
+  int gpfs_i_rename(struct inode *, struct dentry *, struct inode *,
+                    struct dentry *);
+  int gpfs_i_readlink(struct dentry *, char *, int);
+#if LINUX_KERNEL_VERSION >= 2061600
+  void* gpfs_i_follow_link(struct dentry *dentry, struct nameidata *nd);
+#else
+  int gpfs_i_follow_link(struct dentry *dentry, struct nameidata *nd);
+#endif
+  int gpfs_i_readpage(struct file *, struct page *);
+#if LINUX_KERNEL_VERSION >= 2050000
+  int gpfs_i_writepage(struct page *pageP, struct writeback_control *wbcP);
+#else
+  int gpfs_i_writepage(struct page *pageP);
+#endif
+  int gpfs_i_bmap(struct inode *, int);
+  void gpfs_i_truncate(struct inode *);
+#if LINUX_KERNEL_VERSION >= 2060000
+  int gpfs_i_permission(struct inode *, int, struct nameidata *);
+#else
+  int gpfs_i_permission(struct inode *, int);
+#endif
+  int gpfs_i_smap(struct inode *, int);
+  int gpfs_i_updatepage(struct file *, struct page *, const char *,
+                        unsigned long, uint, int);
+  int gpfs_i_revalidate(struct dentry *);
+  int gpfs_i_setattr(struct dentry *, struct iattr *);
+#if LINUX_KERNEL_VERSION >= 2050000
+  int gpfs_i_getattr(struct vfsmount *mnt, struct dentry *, 
+                     struct kstat *);
+#else
+  int gpfs_i_getattr(struct dentry *, struct iattr *);
+#endif
+
+#if LINUX_KERNEL_VERSION > 2060000
+  int gpfs_i_setxattr(struct dentry *, const char *, const void *, size_t, int);
+  ssize_t gpfs_i_getxattr(struct dentry *, const char *, void *, size_t);
+  ssize_t gpfs_i_listxattr(struct dentry *, char *, size_t);
+  int gpfs_i_removexattr(struct dentry *, const char *);
+  int gpfs_set_posix_acl(struct dentry *, int, const void *, size_t);
+  int gpfs_get_posix_acl(struct dentry *, int, const void *, size_t);
+#endif
+
+  int gpfs_i_getattr_internal(struct inode *iP);
+  int gpfs_i_setattr_internal(struct inode *iP, struct iattr *aP);
+  void printInode(struct inode *);
+  void printDentry(struct dentry *);
+  void printDentryTree(struct dentry *, int maxPrint);
+  void setIopTable(struct inode *iP, Boolean xperm);
+  void printSuper(struct super_block *sbP);
+  void printSuperList(struct super_block *sbP);
+
+#ifdef HAS_IOP_PUT_LINK
+#if LINUX_KERNEL_VERSION >= 2061600
+void gpfs_i_put_link(struct dentry *dentry, struct nameidata *nd, void* cookie);
+#else
+void gpfs_i_put_link(struct dentry *dentry, struct nameidata *nd);
+#endif
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* file.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  loff_t gpfs_f_llseek(struct file *, loff_t, int);
+  ssize_t gpfs_f_read(struct file *, char *, size_t, loff_t *);
+  ssize_t gpfs_f_dir_read(struct file *, char *, size_t, loff_t *);
+  ssize_t gpfs_f_write(struct file *, const char *, size_t, loff_t *);
+  int gpfs_f_readdir(struct file *, void *, filldir_t);
+  uint gpfs_f_poll(struct file *, struct poll_table_struct *);
+  int gpfs_f_ioctl(struct inode *, struct file *, uint, unsigned long);
+  int gpfs_f_mmap(struct file *, struct vm_area_struct *);
+  int gpfs_f_open(struct inode *, struct file *);
+  int gpfs_f_release(struct inode *, struct file *);
+  int gpfs_f_fsync(struct file *, struct dentry *, int datasync);
+  int gpfs_f_fasync(int, struct file *, int);
+  int gpfs_f_lock(struct file *, int, struct file_lock *);
+  int gpfs_f_flock(struct file *, int, struct file_lock *);
+  ssize_t gpfs_f_readv(struct kiocb *, const struct iovec *, unsigned long,
+                   loff_t );
+  ssize_t gpfs_f_writev(struct kiocb *, const struct iovec *, unsigned long,
+                    loff_t );
+  int gpfs_f_cleanup(struct inode *iP, struct file *fP);
+#if LINUX_KERNEL_VERSION > 2060300
+  struct page *gpfs_filemap_nopage(struct vm_area_struct * area,
+                                 unsigned long address, int *no_share);
+#else
+  struct page *gpfs_filemap_nopage(struct vm_area_struct * area,
+                                 unsigned long address, int no_share);
+#endif
+  void gpfs_filemap_close(struct vm_area_struct * area);
+  void gpfs_filemap_open(struct vm_area_struct * area);
+#ifdef NFS4_CLUSTER
+  int gpfs_f_share(struct file *, unsigned int, unsigned int);
+#endif /* NFS4_CLUSTER */
+
+#if LINUX_KERNEL_VERSION >= 2060000
+  ssize_t gpfs_f_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iovecP,
+                           loff_t offset, unsigned long count);
+#elif defined(SUSE_LINUX)
+  int gpfs_f_direct_IO(int rw, struct file *file, struct kiobuf *kiobuf,
+                        unsigned long in_offset, int count);
+#endif
+
+#ifdef P_NFS4
+  int gpfs_layout_get(struct inode *inode, void *p);
+  int gpfs_get_devicelist(struct super_block *sbP, void *p);
+  int gpfs_get_deviceinfo(struct super_block *sb, void *p);
+  int gpfs_layout_return(struct inode *inode, void *p);
+  int gpfs_get_state(struct inode *inode, void *fh, void *p);
+  void gpfs_get_verifier(struct super_block *sb, u32 *p);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* super.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+#ifdef VERBOSETRACE
+  void TraceBKL();
+#else
+#define TraceBKL() ((void)0)
+#endif
+  void gpfs_s_read_inode(struct inode *);
+  void gpfs_s_read_inode2(struct inode *, void *);
+  void gpfs_s_delete_inode(struct inode *);
+  int gpfs_s_notify_change(struct dentry *, struct iattr *);
+  void gpfs_s_put_super(struct super_block *);
+#if LINUX_KERNEL_VERSION >= 2060000
+  int gpfs_s_statfs(struct dentry *, struct kstatfs *);
+  void gpfs_destory_inodecache(void);
+  int gpfs_init_inodecache(void);
+  struct inode *gpfs_alloc_inode(struct super_block *);
+  void gpfs_destroy_inode(struct inode *);
+#else
+  int gpfs_s_statfs(struct super_block *, struct statfs *);
+#endif
+#if LINUX_KERNEL_VERSION >= 2061700
+  void gpfs_s_umount_begin(struct vfsmount *, int);
+#else
+  void gpfs_s_umount_begin(struct super_block *);
+#endif
+  int gpfs_s_remount(struct super_block *, int *, char *);
+#if LINUX_KERNEL_VERSION > 2060000
+  struct dentry *gpfs_decode_fh(struct super_block *sbP, __u32 *fh,
+			           int len, int fhtype, 
+				   int (*acceptable)(void *context, struct dentry *dentry),
+                                   void *context);
+  int gpfs_encode_fh(struct dentry *dentry, __u32 *fh, int *lenp, int need_parent);
+  struct dentry *gpfs_get_dentry(struct super_block *sb, void *data);
+  struct dentry *gpfs_get_dparent(struct dentry * dentry);
+#else
+  struct dentry *gpfs_fh_to_dentry(struct super_block *sbP, __u32 *fh,
+			           int len, int fhtype, int parent);
+  int gpfs_dentry_to_fh(struct dentry *, __u32 *fh, int *lenp, int need_parent);
+#endif
+#ifdef NFS4_CLUSTER
+  int gpfs_s_fs_locations(struct super_block *, char **);
+#endif
+  void gpfs_s_write_inode(struct inode *);
+  void gpfs_s_clear_inode(struct inode *);
+  void gpfs_s_write_super(struct super_block *);
+#if LINUX_KERNEL_VERSION >= 2050000
+  int gpfs_get_sb(struct file_system_type *fsTypeP,
+                                  int flags, const char *devNameP, void *dataP,
+				  struct vfsmount *mnt);
+  int gpfs_fill_super(struct super_block *, void *, int);
+#else
+  struct super_block *gpfs_fill_super(struct super_block *, void *, int);
+#endif
+  int mmfsd_release(struct inode *, struct file *);
+  int exec_mmfs(void *);
+  void kill_mmfsd(void);
+  void gpfs_unreg_fs();
+  int gpfs_reg_fs();
+  int fork_mmfsd();
+  int fork_mount_helper(char *data);
+#ifdef __cplusplus
+}
+#endif
+
+/* Find gpfs info from a linux inode. */
+#define VP_TO_CNP(VP)  ((struct cxiNode_t *)((VP)->PRVINODE))
+#define VP_TO_GNP(VP)  ((gpfsNode_t *)((VP)->PRVINODE))
+#define VP_TO_NFSP(VP) ((VP_TO_CNP((struct inode *)(VP))->nfsP))
+
+#define VP_TO_PVP(VP)  ((struct gpfsVfsData_t *)(SBLOCK_PRIVATE((VP)->i_sb)))
+
+/* block.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  int gpfs_b_open(struct inode *inode, struct file *file);
+  int gpfs_b_release(struct inode *inode, struct file *file);
+  int gpfs_b_ioctl(struct inode *inode, struct file *file, unsigned p1,
+                   unsigned long p2);
+  int gpfs_block_init();
+  void gpfs_block_clean();
+
+  int gpfs_fb_open(struct inode *inode, struct file *file);
+  int gpfs_fb_release(struct inode *inode, struct file *file);
+  int gpfs_fb_ioctl(struct inode *inode, struct file *file, unsigned p1,
+                    unsigned long p2);
+  ssize_t gpfs_fb_read(struct file *file, char *buf, size_t nbytes, 
+                       loff_t *ppos);
+  ssize_t gpfs_fb_write(struct file *file, const char *buf, size_t nbytes,
+                        loff_t *ppos);
+#ifdef __cplusplus
+}
+#endif
+
+/* dir.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+#if LINUX_KERNEL_VERSION >= 2060000
+  int gpfs_d_invalid(struct dentry *dentry, struct nameidata *);
+  int gpfs_d_revalidate(struct dentry *dentry, struct nameidata *);
+#ifdef CCL
+  int gpfs_d_valid_if_Samba(struct dentry *dentry, struct nameidata *);
+  int gpfs_d_invalid_if_Samba(struct dentry *dentry, struct nameidata *);
+#endif
+#else
+  int gpfs_d_invalid(struct dentry *dentry, int flags);
+  int gpfs_d_revalidate(struct dentry *dentry, int flags);
+#ifdef CCL
+  int gpfs_d_valid_if_Samba(struct dentry *dentry, int flags);
+  int gpfs_d_invalid_if_Samba(struct dentry *dentry, int flags);
+#endif
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+/* gplInit.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  void reset_gpfs_operations();
+  void gpfs_clean();
+  int  gpfs_init();
+
+
+#ifdef __cplusplus
+}
+#endif
+
+/* gpfs operations tables */
+extern struct gpfs_operations   gpfs_ops;
+extern struct super_operations  gpfs_sops;
+extern struct super_operations  null_sops;
+#if LINUX_KERNEL_VERSION > 2060000
+extern struct export_operations gpfs_export_ops;
+#endif
+
+#define gpfs_dops_valid (*(struct dentry_operations*)0)  /* no ops defined */
+extern struct dentry_operations gpfs_dops_ddeletepending;
+extern struct dentry_operations gpfs_dops_invalid;
+extern struct dentry_operations gpfs_dops_revalidate;
+#ifdef CCL
+extern struct dentry_operations gpfs_dops_valid_if_Samba;
+extern struct dentry_operations gpfs_dops_invalid_if_Samba;
+#endif
+extern struct file_operations gpfs_fops;
+extern struct file_operations gpfs_fops_no_sendfile;
+extern struct file_operations gpfs_dir_fops;
+extern struct file_operations gpfs_cleanup_fops;
+#if LINUX_KERNEL_VERSION < 2050000
+extern struct file_operations gpfs_fbps;
+extern struct block_device_operations gpfs_bops;
+#endif
+extern struct inode_operations  gpfs_iops_stdperm;
+extern struct inode_operations  gpfs_iops_xperm;
+extern struct inode_operations  gpfs_dir_iops_stdperm;
+extern struct inode_operations  gpfs_dir_iops_xperm;
+extern struct inode_operations  gpfs_link_iops;
+extern struct address_space_operations gpfs_aops;
+extern struct address_space_operations gpfs_aops_after_inode_delete;
+extern struct vm_operations_struct gpfs_vmop;
+
+#endif /* _h_linux2gpfs */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/linux_config.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/linux_config.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/linux_config.h	(revision 16)
@@ -0,0 +1,2658 @@
+/*
+ * Automatically generated C config: don't edit
+ * Linux kernel version: 2.6.20-15-generic
+ * Sun Apr 15 05:33:22 2007
+ */
+#define AUTOCONF_INCLUDED
+#define CONFIG_USB_SISUSBVGA_MODULE 1
+#define CONFIG_USB_PHIDGETMOTORCONTROL_MODULE 1
+#define CONFIG_SND_WAVEFRONT_MODULE 1
+#define CONFIG_VIDEO_V4L1_COMPAT 1
+#define CONFIG_HISAX_HFCS 1
+#define CONFIG_ROADRUNNER_MODULE 1
+#define CONFIG_PCMCIA_FMVJ18X_MODULE 1
+#define CONFIG_BLK_CPQ_DA_MODULE 1
+#define CONFIG_BLK_DEV_FD_MODULE 1
+#define CONFIG_AX25_MODULE 1
+#define CONFIG_ACPI_AC_MODULE 1
+#define CONFIG_PM_STD_PARTITION ""
+#define CONFIG_SECURITY_NETWORK 1
+#define CONFIG_ULTRIX_PARTITION 1
+#define CONFIG_OSF_PARTITION 1
+#define CONFIG_USB_LEGOTOWER_MODULE 1
+#define CONFIG_FB_TRIDENT_MODULE 1
+#define CONFIG_FB_IMAC 1
+#define CONFIG_DVB_PLUTO2_MODULE 1
+#define CONFIG_GAMEPORT_NS558_MODULE 1
+#define CONFIG_JOYSTICK_GRIP_MODULE 1
+#define CONFIG_HISAX_ELSA 1
+#define CONFIG_BONDING_MODULE 1
+#define CONFIG_BLK_DEV_HPT366_MODULE 1
+#define CONFIG_MTD_ABSENT_MODULE 1
+#define CONFIG_COPS_DAYNA 1
+#define CONFIG_INET_XFRM_TUNNEL_MODULE 1
+#define CONFIG_CRYPTO_ANUBIS_MODULE 1
+#define CONFIG_P54_USB_MODULE 1
+#define CONFIG_SOUND_TRIDENT_MODULE 1
+#define CONFIG_SND_OPTI92X_CS4231_MODULE 1
+#define CONFIG_NI65_MODULE 1
+#define CONFIG_SECURITY_SELINUX_BOOTPARAM 1
+#define CONFIG_USB_SERIAL_IR_MODULE 1
+#define CONFIG_SND_AZT3328_MODULE 1
+#define CONFIG_SND_SSCAPE_MODULE 1
+#define CONFIG_X86_POWERNOW_K7_ACPI 1
+#define CONFIG_JFS_POSIX_ACL 1
+#define CONFIG_SENSORS_VT8231_MODULE 1
+#define CONFIG_ISDN_DIVAS_MODULE 1
+#define CONFIG_DLCI_COUNT 24
+#define CONFIG_BLK_DEV_TRM290_MODULE 1
+#define CONFIG_IP6_NF_TARGET_REJECT_MODULE 1
+#define CONFIG_NF_CT_ACCT 1
+#define CONFIG_CARDBUS 1
+#define CONFIG_X86_POWERNOW_K8_ACPI 1
+#define CONFIG_ACPI_EC 1
+#define CONFIG_CRYPTO_MD4_MODULE 1
+#define CONFIG_USB_SERIAL_TI_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_C4_MODULE 1
+#define CONFIG_BT_HCIUART_MODULE 1
+#define CONFIG_IP_NF_TARGET_TTL_MODULE 1
+#define CONFIG_NETFILTER_NETLINK_QUEUE_MODULE 1
+#define CONFIG_INET6_XFRM_MODE_BEET_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_ICH_MODULE 1
+#define CONFIG_ARCH_MAY_HAVE_PC_FDC 1
+#define CONFIG_PRISM2_USB_MODULE 1
+#define CONFIG_DVB_CINERGYT2_TUNING 1
+#define CONFIG_VIDEO_MEYE_MODULE 1
+#define CONFIG_IPW2200_QOS 1
+#define CONFIG_E1000_MODULE 1
+#define CONFIG_ARCNET_RAW_MODULE 1
+#define CONFIG_NF_NAT_PROTO_GRE_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_PHYSDEV_MODULE 1
+#define CONFIG_CRYPTO_MD5 1
+#define CONFIG_CRASH_DUMP 1
+#define CONFIG_FLATMEM 1
+#define CONFIG_PROC_KCORE 1
+#define CONFIG_USB_GADGET_NET2280 1
+#define CONFIG_USB_AIPTEK_MODULE 1
+#define CONFIG_DVB_TUNER_LGH06XF_MODULE 1
+#define CONFIG_VIDEO_BTCX_MODULE 1
+#define CONFIG_PCMCIA_SMC91C92_MODULE 1
+#define CONFIG_BLK_DEV_DM_MODULE 1
+#define CONFIG_BLK_DEV_MD_MODULE 1
+#define CONFIG_SCSI_FC_ATTRS_MODULE 1
+#define CONFIG_IRDA_ULTRA 1
+#define CONFIG_IP_NF_TARGET_TOS_MODULE 1
+#define CONFIG_USB_UVCCAM_MODULE 1
+#define CONFIG_SND_EMU10K1_MODULE 1
+#define CONFIG_DVB_TDA10021_MODULE 1
+#define CONFIG_I2C_SAVAGE4_MODULE 1
+#define CONFIG_SYNCLINKMP_MODULE 1
+#define CONFIG_PPP_MULTILINK 1
+#define CONFIG_TMD_HERMES_MODULE 1
+#define CONFIG_E2100_MODULE 1
+#define CONFIG_SCSI_DC390T_MODULE 1
+#define CONFIG_NET_CLS_RSVP6_MODULE 1
+#define CONFIG_CRYPTO_CBC_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_LIB_MODULE 1
+#define CONFIG_USB_ETH_RNDIS 1
+#define CONFIG_USB_SERIAL_MODULE 1
+#define CONFIG_USB_RTL8150_MODULE 1
+#define CONFIG_DVB_USB_CXUSB_MODULE 1
+#define CONFIG_USB_W9968CF_MODULE 1
+#define CONFIG_AGP_AMD_MODULE 1
+#define CONFIG_SERIAL_JSM_MODULE 1
+#define CONFIG_MTD_MTDRAM_MODULE 1
+#define CONFIG_NF_CONNTRACK_NETBIOS_NS_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_BUILTIN 1
+#define CONFIG_ACPI_POWER 1
+#define CONFIG_HIGHPTE 1
+#define CONFIG_GFS2_FS_MODULE 1
+#define CONFIG_SND_DARLA20_MODULE 1
+#define CONFIG_DVB_STV0297_MODULE 1
+#define CONFIG_RADIO_ZOLTRIX_MODULE 1
+#define CONFIG_VIDEO_ZORAN_LML33_MODULE 1
+#define CONFIG_HISAX_W6692 1
+#define CONFIG_ATM_FORE200E_DEBUG 0
+#define CONFIG_HOSTAP_PCI_MODULE 1
+#define CONFIG_CASSINI_MODULE 1
+#define CONFIG_PCMCIA_FDOMAIN_MODULE 1
+#define CONFIG_PDC202XX_BURST 1
+#define CONFIG_CRYPTO_ECB_MODULE 1
+#define CONFIG_SECCOMP 1
+#define CONFIG_TOSHIBA_MODULE 1
+#define CONFIG_USB_SERIAL_WHITEHEAT_MODULE 1
+#define CONFIG_VIDEO_W9966_MODULE 1
+#define CONFIG_SERIAL_8250_SHARE_IRQ 1
+#define CONFIG_X25_ASY_MODULE 1
+#define CONFIG_NETXEN_NIC_MODULE 1
+#define CONFIG_PATA_SIL680_MODULE 1
+#define CONFIG_BLK_DEV_VIA82CXXX_MODULE 1
+#define CONFIG_PNPACPI 1
+#define CONFIG_BT_HCIBLUECARD_MODULE 1
+#define CONFIG_OLD_BELKIN_DONGLE_MODULE 1
+#define CONFIG_IP_DCCP_CCID3_RTO 100
+#define CONFIG_IP6_NF_RAW_MODULE 1
+#define CONFIG_RTC_INTF_PROC_MODULE 1
+#define CONFIG_SND_YMFPCI_MODULE 1
+#define CONFIG_DVB_STV0299_MODULE 1
+#define CONFIG_DVB_TDA826X_MODULE 1
+#define CONFIG_SPI_BUTTERFLY_MODULE 1
+#define CONFIG_I2C_NFORCE2_MODULE 1
+#define CONFIG_ZD1211RW_MODULE 1
+#define CONFIG_NET_POCKET 1
+#define CONFIG_EEPRO100_MODULE 1
+#define CONFIG_WINBOND_840_MODULE 1
+#define CONFIG_PATA_MPIIX_MODULE 1
+#define CONFIG_BLK_DEV_CMD64X_MODULE 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_1 1
+#define CONFIG_X86_LOCAL_APIC 1
+#define CONFIG_EXT2_FS_XATTR 1
+#define CONFIG_EDAC_MODULE 1
+#define CONFIG_USB_KAWETH_MODULE 1
+#define CONFIG_AGP_ALI_MODULE 1
+#define CONFIG_ROCKETPORT_MODULE 1
+#define CONFIG_DL2K_MODULE 1
+#define CONFIG_PCMCIA_NINJA_SCSI_MODULE 1
+#define CONFIG_RAID_ATTRS_MODULE 1
+#define CONFIG_BLK_DEV_SD_MODULE 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_2 1
+#define CONFIG_LLC2_MODULE 1
+#define CONFIG_IP6_NF_MATCH_FRAG_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_DSCP_MODULE 1
+#define CONFIG_EXT3_FS_XATTR 1
+#define CONFIG_RTC_DRV_M48T86_MODULE 1
+#define CONFIG_SND_DARLA24_MODULE 1
+#define CONFIG_VIDEO_BT819_MODULE 1
+#define CONFIG_PC300_MLPPP 1
+#define CONFIG_WAVELAN_MODULE 1
+#define CONFIG_FUSION_LAN_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_MARK_MODULE 1
+#define CONFIG_ACPI_CUSTOM_DSDT_INITRD 1
+#define CONFIG_SUN_PARTITION 1
+#define CONFIG_CODA_FS_MODULE 1
+#define CONFIG_NFS_COMMON 1
+#define CONFIG_USB_CXACRU_MODULE 1
+#define CONFIG_SND_VIA82XX_MODEM_MODULE 1
+#define CONFIG_VIDEO_BT856_MODULE 1
+#define CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS 16
+#define CONFIG_SCSI_GENERIC_NCR53C400 1
+#define CONFIG_MTD_MAP_BANK_WIDTH_4 1
+#define CONFIG_NET_PKTGEN_MODULE 1
+#define CONFIG_PRISM2_PLX_MODULE 1
+#define CONFIG_VIDEO_BT848_MODULE 1
+#define CONFIG_VIDEO_BT866_MODULE 1
+#define CONFIG_SERIO_SERPORT_MODULE 1
+#define CONFIG_JOYSTICK_MAGELLAN_MODULE 1
+#define CONFIG_CPU_FREQ_STAT_MODULE 1
+#define CONFIG_USB_SERIAL_ARK3116_MODULE 1
+#define CONFIG_SND_SB8_MODULE 1
+#define CONFIG_HW_CONSOLE 1
+#define CONFIG_ATM_FORE200E_MAYBE_MODULE 1
+#define CONFIG_NATSEMI_MODULE 1
+#define CONFIG_3C515_MODULE 1
+#define CONFIG_NET_EMATCH_U32_MODULE 1
+#define CONFIG_HOTPLUG_PCI_ACPI_IBM_MODULE 1
+#define CONFIG_VM86 1
+#define CONFIG_HPET_TIMER 1
+#define CONFIG_XFS_POSIX_ACL 1
+#define CONFIG_ATL1_MODULE 1
+#define CONFIG_SENSORS_SMSC47B397_MODULE 1
+#define CONFIG_ISDN_CAPI_CAPIDRV_MODULE 1
+#define CONFIG_HDLC_FR_MODULE 1
+#define CONFIG_APRICOT_MODULE 1
+#define CONFIG_ELMC_II_MODULE 1
+#define CONFIG_SCSI_SIM710_MODULE 1
+#define CONFIG_BLK_DEV_XD_MODULE 1
+#define CONFIG_IP_DCCP_MODULE 1
+#define CONFIG_NFSD_V3 1
+#define CONFIG_EDAC_I82875P_MODULE 1
+#define CONFIG_SND_ATIIXP_MODULE 1
+#define CONFIG_DVB_TDA10086_MODULE 1
+#define CONFIG_TOUCHSCREEN_TOUCHWIN_MODULE 1
+#define CONFIG_ATM_IDT77252_USE_SUNI 1
+#define CONFIG_I2O_BUS_MODULE 1
+#define CONFIG_PARIDE_ON20_MODULE 1
+#define CONFIG_NF_NAT_IRC_MODULE 1
+#define CONFIG_NFSD_V4 1
+#define CONFIG_VIDEO_VIVI_MODULE 1
+#define CONFIG_I2C_ALGOPCA_MODULE 1
+#define CONFIG_IEEE1394_CONFIG_ROM_IP1394 1
+#define CONFIG_CHR_DEV_SG_MODULE 1
+#define CONFIG_IEEE80211_MODULE 1
+#define CONFIG_IP_NF_MATCH_ADDRTYPE_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_PKTTYPE_MODULE 1
+#define CONFIG_X86_SMP 1
+#define CONFIG_BCM43XX_MAC80211_MODULE 1
+#define CONFIG_USB_NET_PLUSB_MODULE 1
+#define CONFIG_VIDEO_ZORAN_AVS6EYES_MODULE 1
+#define CONFIG_RAW_DRIVER_MODULE 1
+#define CONFIG_AGP_ATI_MODULE 1
+#define CONFIG_PPP_FILTER 1
+#define CONFIG_PATA_IT821X_MODULE 1
+#define CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE 1
+#define CONFIG_NF_NAT_H323_MODULE 1
+#define CONFIG_ADFS_FS_MODULE 1
+#define CONFIG_SSB_SILENT 1
+#define CONFIG_FB_VESA_MODULE 1
+#define CONFIG_SENSORS_SMSC47M192_MODULE 1
+#define CONFIG_KEYBOARD_ATKBD 1
+#define CONFIG_FARSYNC_MODULE 1
+#define CONFIG_HPLAN_PLUS_MODULE 1
+#define CONFIG_FUSION_CTL_MODULE 1
+#define CONFIG_MTD_CFI_MODULE 1
+#define CONFIG_ALI_FIR_MODULE 1
+#define CONFIG_KPROBES 1
+#define CONFIG_NET_CLS_ROUTE 1
+#define CONFIG_NF_CT_PROTO_SCTP_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_BUILTIN_BANIAS 1
+#define CONFIG_SOUND_TVMIXER_MODULE 1
+#define CONFIG_MIDI_VIA82CXXX 1
+#define CONFIG_DRM_MGA_MODULE 1
+#define CONFIG_AGP_VIA_MODULE 1
+#define CONFIG_HISAX_EURO 1
+#define CONFIG_FDDI 1
+#define CONFIG_PCMCIA_XIRC2PS_MODULE 1
+#define CONFIG_BCM43XX_DMA_AND_PIO_MODE 1
+#define CONFIG_PLX_HERMES_MODULE 1
+#define CONFIG_3C359_MODULE 1
+#define CONFIG_SPI_MASTER 1
+#define CONFIG_MTD_JEDECPROBE_MODULE 1
+#define CONFIG_BRIDGE_EBT_BROUTE_MODULE 1
+#define CONFIG_X86_MSR_MODULE 1
+#define CONFIG_HAS_IOPORT 1
+#define CONFIG_NLS_KOI8_R_MODULE 1
+#define CONFIG_BEFS_FS_MODULE 1
+#define CONFIG_AFFS_FS_MODULE 1
+#define CONFIG_NET_DMA 1
+#define CONFIG_SND_USB_USX2Y_MODULE 1
+#define CONFIG_SND_SEQ_DUMMY_MODULE 1
+#define CONFIG_TOUCHSCREEN_PENMOUNT_MODULE 1
+#define CONFIG_KEYBOARD_LKKBD_MODULE 1
+#define CONFIG_MSI_LAPTOP_MODULE 1
+#define CONFIG_IBM_ASM_MODULE 1
+#define CONFIG_NF_CONNTRACK_IPV4_MODULE 1
+#define CONFIG_INET_AH_MODULE 1
+#define CONFIG_JFFS2_FS_DEBUG 0
+#define CONFIG_SPEAKUP_MODULE 1
+#define CONFIG_USB_EHCI_TT_NEWSCHED 1
+#define CONFIG_SND_MIXART_MODULE 1
+#define CONFIG_SND_LAYLA20_MODULE 1
+#define CONFIG_SND_GUSMAX_MODULE 1
+#define CONFIG_FB_RIVA_MODULE 1
+#define CONFIG_I2C_AMD756_S4882_MODULE 1
+#define CONFIG_I2C_ALGOPCF_MODULE 1
+#define CONFIG_CARDMAN_4000_MODULE 1
+#define CONFIG_QLA3XXX_MODULE 1
+#define CONFIG_PARIDE_ON26_MODULE 1
+#define CONFIG_CRYPTO_AES_MODULE 1
+#define CONFIG_BT_RFCOMM_TTY 1
+#define CONFIG_MODULES 1
+#define CONFIG_CRYPTO_TEA_MODULE 1
+#define CONFIG_SPEAKUP_TXPRT_MODULE 1
+#define CONFIG_USB_USBNET_MODULE 1
+#define CONFIG_USB_KBD_MODULE 1
+#define CONFIG_USB_ACM_MODULE 1
+#define CONFIG_USB_ARCH_HAS_EHCI 1
+#define CONFIG_DVB_USB_DIB0700_MODULE 1
+#define CONFIG_I2C_CHARDEV_MODULE 1
+#define CONFIG_BCM43XX_DMA 1
+#define CONFIG_PCMCIA_WAVELAN_MODULE 1
+#define CONFIG_BNX2_MODULE 1
+#define CONFIG_IEEE1394_OUI_DB 1
+#define CONFIG_FUSION_SAS_MODULE 1
+#define CONFIG_BLK_DEV_IDEDMA 1
+#define CONFIG_PARPORT_PC_MODULE 1
+#define CONFIG_MTD_COMPLEX_MAPPINGS 1
+#define CONFIG_BT_HIDP_MODULE 1
+#define CONFIG_BT_BNEP_MODULE 1
+#define CONFIG_NF_CONNTRACK_IPV6_MODULE 1
+#define CONFIG_SCx200HR_TIMER_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_SMI_MODULE 1
+#define CONFIG_NO_IDLE_HZ 1
+#define CONFIG_CRYPTO_AES_586_MODULE 1
+#define CONFIG_NLS_KOI8_U_MODULE 1
+#define CONFIG_EXT2_FS_MODULE 1
+#define CONFIG_IWLWIFI_MODULE 1
+#define CONFIG_SND_MIA_MODULE 1
+#define CONFIG_FB_S1D13XXX_MODULE 1
+#define CONFIG_DVB_USB_VP702X_MODULE 1
+#define CONFIG_INPUT_MISC 1
+#define CONFIG_MOUSE_VSXXXAA_MODULE 1
+#define CONFIG_HDLC_MODULE 1
+#define CONFIG_BLK_DEV_SR_MODULE 1
+#define CONFIG_PNPBIOS 1
+#define CONFIG_MTD_SCB2_FLASH_MODULE 1
+#define CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION_MODULE 1
+#define CONFIG_EXT3_FS_MODULE 1
+#define CONFIG_USB_LCD_MODULE 1
+#define CONFIG_VIDEO_CX88_DVB_MODULE 1
+#define CONFIG_I2C_PARPORT_LIGHT_MODULE 1
+#define CONFIG_VT_CONSOLE 1
+#define CONFIG_ISDN_DIVAS_BRIPCI 1
+#define CONFIG_DLCI_MODULE 1
+#define CONFIG_CRYPTO_DES_MODULE 1
+#define CONFIG_HFSPLUS_FS_MODULE 1
+#define CONFIG_DNOTIFY 1
+#define CONFIG_NET_IPG_IO 1
+#define CONFIG_USB_SERIAL_BELKIN_MODULE 1
+#define CONFIG_SND_LAYLA24_MODULE 1
+#define CONFIG_SND_MIXER_OSS_MODULE 1
+#define CONFIG_SENSORS_F71805F_MODULE 1
+#define CONFIG_CARDMAN_4040_MODULE 1
+#define CONFIG_ATM_ENI_MODULE 1
+#define CONFIG_S2IO_MODULE 1
+#define CONFIG_INET_DCCP_DIAG_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_SCTP_MODULE 1
+#define CONFIG_IP_VS_LBLC_MODULE 1
+#define CONFIG_ACPI 1
+#define CONFIG_QFMT_V1_MODULE 1
+#define CONFIG_USB_LED_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA49WLC 1
+#define CONFIG_USB_HID_MODULE 1
+#define CONFIG_SND_CS5535AUDIO_MODULE 1
+#define CONFIG_FB_CYBER2000_MODULE 1
+#define CONFIG_DVB_DIB7000M_MODULE 1
+#define CONFIG_DVB_VES1X93_MODULE 1
+#define CONFIG_SERIAL_8250_MCA_MODULE 1
+#define CONFIG_JOYSTICK_SPACEORB_MODULE 1
+#define CONFIG_NETPOLL 1
+#define CONFIG_SLIP_SMART 1
+#define CONFIG_ATM_AMBASSADOR_MODULE 1
+#define CONFIG_SCSI_U14_34F_LINKED_COMMANDS 1
+#define CONFIG_IP_DCCP_ACKVEC 1
+#define CONFIG_RELOCATABLE 1
+#define CONFIG_ARCH "i386"
+#define CONFIG_GENERIC_IRQ_PROBE 1
+#define CONFIG_QFMT_V2_MODULE 1
+#define CONFIG_KVM_AMD_MODULE 1
+#define CONFIG_RTC_LIB_MODULE 1
+#define CONFIG_DVB_NXT200X_MODULE 1
+#define CONFIG_WDT_501_PCI 1
+#define CONFIG_DE600_MODULE 1
+#define CONFIG_I2C_ALGOBIT_MODULE 1
+#define CONFIG_FUSION_SPI_MODULE 1
+#define CONFIG_LAPB_MODULE 1
+#define CONFIG_NF_NAT_FTP_MODULE 1
+#define CONFIG_NETFILTER_XTABLES_MODULE 1
+#define CONFIG_ACPI_CONTAINER_MODULE 1
+#define CONFIG_X86_TRAMPOLINE 1
+#define CONFIG_AGP_SWORKS_MODULE 1
+#define CONFIG_STALDRV 1
+#define CONFIG_AIRO_CS_MODULE 1
+#define CONFIG_BLK_DEV_NS87415_MODULE 1
+#define CONFIG_MTD_PCI_MODULE 1
+#define CONFIG_VIA_FIR_MODULE 1
+#define CONFIG_IRDA_MODULE 1
+#define CONFIG_NF_CONNTRACK_MARK 1
+#define CONFIG_DEFCONFIG_LIST "/lib/modules/$UNAME_RELEASE/.config"
+#define CONFIG_DVB_DIB7000P_MODULE 1
+#define CONFIG_TCG_NSC_MODULE 1
+#define CONFIG_PPPOATM_MODULE 1
+#define CONFIG_DE620_MODULE 1
+#define CONFIG_ELMC_MODULE 1
+#define CONFIG_GSCD_MODULE 1
+#define CONFIG_SATA_QSTOR_MODULE 1
+#define CONFIG_CHR_DEV_ST_MODULE 1
+#define CONFIG_BLK_DEV_HPT34X_MODULE 1
+#define CONFIG_MTD_DOC2001PLUS_MODULE 1
+#define CONFIG_RFD_FTL_MODULE 1
+#define CONFIG_NF_NAT_SIP_MODULE 1
+#define CONFIG_NETFILTER_NETLINK_MODULE 1
+#define CONFIG_DETECT_SOFTLOCKUP 1
+#define CONFIG_INOTIFY 1
+#define CONFIG_NET_ACX_MODULE 1
+#define CONFIG_USB_SERIAL_KOBIL_SCT_MODULE 1
+#define CONFIG_SENSORS_ADM1021_MODULE 1
+#define CONFIG_DRM_VIA_MODULE 1
+#define CONFIG_PCMCIA_3C574_MODULE 1
+#define CONFIG_HOSTAP_PLX_MODULE 1
+#define CONFIG_NET_PCI 1
+#define CONFIG_BLK_DEV_IDEFLOPPY_MODULE 1
+#define CONFIG_EISA 1
+#define CONFIG_X86_GENERIC 1
+#define CONFIG_SLAB 1
+#define CONFIG_DLM_TCP 1
+#define CONFIG_INFINIBAND_AMSO1100_MODULE 1
+#define CONFIG_DVB_PLL_MODULE 1
+#define CONFIG_SENSORS_ADM1031_MODULE 1
+#define CONFIG_NET_ISA 1
+#define CONFIG_MCS_FIR_MODULE 1
+#define CONFIG_TCIC_MODULE 1
+#define CONFIG_FLATMEM_MANUAL 1
+#define CONFIG_HOTPLUG 1
+#define CONFIG_USB_ADUTUX_MODULE 1
+#define CONFIG_USB_ARCH_HAS_OHCI 1
+#define CONFIG_SND_PCM_MODULE 1
+#define CONFIG_W1_SLAVE_DS2433_MODULE 1
+#define CONFIG_DRM_I810_MODULE 1
+#define CONFIG_PRINTER_MODULE 1
+#define CONFIG_SDLA_MODULE 1
+#define CONFIG_SJCD_MODULE 1
+#define CONFIG_BLK_DEV_IDEPCI 1
+#define CONFIG_MTD_RAM_MODULE 1
+#define CONFIG_NSC_FIR_MODULE 1
+#define CONFIG_NET_CLS_FW_MODULE 1
+#define CONFIG_BRIDGE_EBT_MARK_T_MODULE 1
+#define CONFIG_PCI_MSI 1
+#define CONFIG_CIFS_MODULE 1
+#define CONFIG_ASFS_FS_MODULE 1
+#define CONFIG_SOUND_BT878_MODULE 1
+#define CONFIG_DVB_USB_MODULE 1
+#define CONFIG_VIDEO_CPIA2_MODULE 1
+#define CONFIG_IPV6_MODULE 1
+#define CONFIG_SECURITY_SELINUX_AVC_STATS 1
+#define CONFIG_NET_IPG_MODULE 1
+#define CONFIG_WLAN_NG_MODULE 1
+#define CONFIG_INFINIBAND_SRP_MODULE 1
+#define CONFIG_USB_SERIAL_GARMIN_MODULE 1
+#define CONFIG_SENSORS_ADM1025_MODULE 1
+#define CONFIG_I2C_VOODOO3_MODULE 1
+#define CONFIG_DRM_I830_MODULE 1
+#define CONFIG_AGP_SIS_MODULE 1
+#define CONFIG_PC300_MODULE 1
+#define CONFIG_COSA_MODULE 1
+#define CONFIG_PCMCIA_NETWAVE_MODULE 1
+#define CONFIG_PARPORT_PC_PCMCIA_MODULE 1
+#define CONFIG_WAN_ROUTER_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_BUILTIN_DOTHAN 1
+#define CONFIG_X86_PPRO_FENCE 1
+#define CONFIG_SUNRPC_GSS_MODULE 1
+#define CONFIG_USB_SERIAL_MOS7720_MODULE 1
+#define CONFIG_SENSORS_PC87360_MODULE 1
+#define CONFIG_SENSORS_ADM1026_MODULE 1
+#define CONFIG_PROTEON_MODULE 1
+#define CONFIG_SCSI_AHA1740_MODULE 1
+#define CONFIG_SCSI_AHA1542_MODULE 1
+#define CONFIG_PHYSICAL_ALIGN 0x100000
+#define CONFIG_FLAT_NODE_MEM_MAP 1
+#define CONFIG_CPUSETS 1
+#define CONFIG_ASFS_DEFAULT_CODEPAGE ""
+#define CONFIG_SND_OPL3SA2_MODULE 1
+#define CONFIG_SND_GUS_SYNTH_MODULE 1
+#define CONFIG_SND_VX_LIB_MODULE 1
+#define CONFIG_RADIO_TERRATEC_MODULE 1
+#define CONFIG_R3964_MODULE 1
+#define CONFIG_ATM_TCP_MODULE 1
+#define CONFIG_PCMCIA_3C589_MODULE 1
+#define CONFIG_PARPORT_MODULE 1
+#define CONFIG_NET_CLS 1
+#define CONFIG_BRIDGE_EBT_LOG_MODULE 1
+#define CONFIG_HPFS_FS_MODULE 1
+#define CONFIG_VFAT_FS_MODULE 1
+#define CONFIG_USB_SERIAL_NAVMAN_MODULE 1
+#define CONFIG_USB_STORAGE_KARMA 1
+#define CONFIG_JOYSTICK_INTERACT_MODULE 1
+#define CONFIG_ATM_IDT77252_MODULE 1
+#define CONFIG_SKY2_MODULE 1
+#define CONFIG_HP100_MODULE 1
+#define CONFIG_PARIDE_FIT2_MODULE 1
+#define CONFIG_SERIAL_8250_PCI 1
+#define CONFIG_BT_CMTP_MODULE 1
+#define CONFIG_BRIDGE_EBT_ARP_MODULE 1
+#define CONFIG_IP6_NF_TARGET_LOG_MODULE 1
+#define CONFIG_USB_ETH_MODULE 1
+#define CONFIG_USB_SERIAL_MOS7840_MODULE 1
+#define CONFIG_FB_NEOMAGIC_MODULE 1
+#define CONFIG_VIDEO_VIDEOBUF_MODULE 1
+#define CONFIG_DRM_I915_MODULE 1
+#define CONFIG_IPMI_SI_MODULE 1
+#define CONFIG_ISDN_DIVAS_PRIPCI 1
+#define CONFIG_SLHC_MODULE 1
+#define CONFIG_IXGB_MODULE 1
+#define CONFIG_SKGE_MODULE 1
+#define CONFIG_R8169_MODULE 1
+#define CONFIG_ARCNET_COM20020_PCI_MODULE 1
+#define CONFIG_SCSI_U14_34F_MAX_TAGS 8
+#define CONFIG_PARIDE_FIT3_MODULE 1
+#define CONFIG_NFSD_MODULE 1
+#define CONFIG_UDF_NLS 1
+#define CONFIG_FUSE_FS_MODULE 1
+#define CONFIG_VBOXDRV_MODULE 1
+#define CONFIG_USB_ATM_MODULE 1
+#define CONFIG_DVB_USB_DIBUSB_MB_MODULE 1
+#define CONFIG_SENSORS_PC87427_MODULE 1
+#define CONFIG_TOUCHSCREEN_GUNZE_MODULE 1
+#define CONFIG_AIRO_MODULE 1
+#define CONFIG_ARCNET_COM20020_ISA_MODULE 1
+#define CONFIG_SATA_MV_MODULE 1
+#define CONFIG_KMOD 1
+#define CONFIG_FB_KYRO_MODULE 1
+#define CONFIG_FB_VGA16_MODULE 1
+#define CONFIG_DVB_USB_DIBUSB_MC_MODULE 1
+#define CONFIG_SBNI_MODULE 1
+#define CONFIG_MCDX_MODULE 1
+#define CONFIG_SATA_NV_MODULE 1
+#define CONFIG_PROC_FS 1
+#define CONFIG_SND_FM801_TEA575X_BOOL 1
+#define CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT 32
+#define CONFIG_SENSORS_ADM9240_MODULE 1
+#define CONFIG_I2C_PCA_ISA_MODULE 1
+#define CONFIG_TCG_TIS_MODULE 1
+#define CONFIG_KEYBOARD_XTKBD_MODULE 1
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_X 1024
+#define CONFIG_PARIDE_KBIC_MODULE 1
+#define CONFIG_IPDDP_DECAP 1
+#define CONFIG_TCG_TPM_MODULE 1
+#define CONFIG_SCx200_GPIO_MODULE 1
+#define CONFIG_IPMI_DEVICE_INTERFACE_MODULE 1
+#define CONFIG_INPUT_MOUSEDEV_SCREEN_Y 768
+#define CONFIG_ISDN_MODULE 1
+#define CONFIG_MYRI10GE_MODULE 1
+#define CONFIG_IDE_GENERIC_MODULE 1
+#define CONFIG_MTDRAM_ERASE_SIZE 128
+#define CONFIG_BT_BNEP_MC_FILTER 1
+#define CONFIG_SPEAKUP_DECTLK_MODULE 1
+#define CONFIG_USB_STORAGE_ISD200 1
+#define CONFIG_SOUND_TRIX_MODULE 1
+#define CONFIG_RADIO_CADET_MODULE 1
+#define CONFIG_DRM_R128_MODULE 1
+#define CONFIG_DTLK_MODULE 1
+#define CONFIG_KEYBOARD_STOWAWAY_MODULE 1
+#define CONFIG_TLAN_MODULE 1
+#define CONFIG_NET_KEY_MODULE 1
+#define CONFIG_X86_CMPXCHG 1
+#define CONFIG_FB_IVTV_MODULE 1
+#define CONFIG_BCM43XX_PIO 1
+#define CONFIG_DGRS_MODULE 1
+#define CONFIG_DM_ZERO_MODULE 1
+#define CONFIG_TIPC_MODULE 1
+#define CONFIG_INET 1
+#define CONFIG_ARCH_SPARSEMEM_ENABLE 1
+#define CONFIG_RT_MUTEXES 1
+#define CONFIG_NET_RTL818X_MODULE 1
+#define CONFIG_SPEAKUP_ACNTPC_MODULE 1
+#define CONFIG_DVB_TDA1004X_MODULE 1
+#define CONFIG_HPET 1
+#define CONFIG_DRM_SIS_MODULE 1
+#define CONFIG_TYPHOON_MODULE 1
+#define CONFIG_SCSI_DC395x_MODULE 1
+#define CONFIG_SCSI_GENERIC_NCR5380_MMIO_MODULE 1
+#define CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK -1
+#define CONFIG_SYSVIPC 1
+#define CONFIG_REISERFS_FS_SECURITY 1
+#define CONFIG_SPEAKUP_ACNTSA_MODULE 1
+#define CONFIG_SENSORS_W83781D_MODULE 1
+#define CONFIG_INPUT_TOUCHSCREEN 1
+#define CONFIG_PATA_PCMCIA_MODULE 1
+#define CONFIG_ATA_GENERIC_MODULE 1
+#define CONFIG_SCSI_MODULE 1
+#define CONFIG_MTD_ROM_MODULE 1
+#define CONFIG_MTD_CFI_AMDSTD_MODULE 1
+#define CONFIG_BT_BNEP_PROTO_FILTER 1
+#define CONFIG_IP_SCTP_MODULE 1
+#define CONFIG_NF_CONNTRACK_SUPPORT 1
+#define CONFIG_TCP_CONG_CUBIC 1
+#define CONFIG_X86_L1_CACHE_SHIFT 7
+#define CONFIG_NTFS_FS_MODULE 1
+#define CONFIG_INFINIBAND_ADDR_TRANS 1
+#define CONFIG_USB_MON 1
+#define CONFIG_USB_PWC_MODULE 1
+#define CONFIG_SENSORS_W83791D_MODULE 1
+#define CONFIG_SERIAL_8250_RSA 1
+#define CONFIG_ATM_FIRESTREAM_MODULE 1
+#define CONFIG_MEGARAID_MM_MODULE 1
+#define CONFIG_BLK_DEV_SIS5513_MODULE 1
+#define CONFIG_PARIDE_EPIA_MODULE 1
+#define CONFIG_LTPC_MODULE 1
+#define CONFIG_IP6_NF_MATCH_OPTS_MODULE 1
+#define CONFIG_NF_CONNTRACK_TFTP_MODULE 1
+#define CONFIG_SENSORS_W83792D_MODULE 1
+#define CONFIG_SKFP_MODULE 1
+#define CONFIG_PARIDE_BPCK_MODULE 1
+#define CONFIG_NFTL_MODULE 1
+#define CONFIG_NF_NAT_SNMP_BASIC_MODULE 1
+#define CONFIG_CRYPTO_LRW_MODULE 1
+#define CONFIG_SPEAKUP_DECEXT_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA19 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA28 1
+#define CONFIG_SND_GUSCLASSIC_MODULE 1
+#define CONFIG_HISAX_TELESPCI 1
+#define CONFIG_PLIP_MODULE 1
+#define CONFIG_TMS380TR_MODULE 1
+#define CONFIG_COPS_MODULE 1
+#define CONFIG_CRYPTO_DEFLATE_MODULE 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_BUILTIN_SONOMA 1
+#define CONFIG_USB_PHIDGETKIT_MODULE 1
+#define CONFIG_SC6600_CDROM 4
+#define CONFIG_FB_RIVA_I2C 1
+#define CONFIG_DIGIEPCA_MODULE 1
+#define CONFIG_JOYSTICK_COBRA_MODULE 1
+#define CONFIG_BLK_DEV_IDEPNP_MODULE 1
+#define CONFIG_PARPORT_AX88796_MODULE 1
+#define CONFIG_DOUBLEFAULT 1
+#define CONFIG_USB_STORAGE_JUMPSHOT 1
+#define CONFIG_VIDEO_USBVIDEO_MODULE 1
+#define CONFIG_NET_EMATCH_CMP_MODULE 1
+#define CONFIG_IPDDP_ENCAP 1
+#define CONFIG_IP_NF_TARGET_SAME_MODULE 1
+#define CONFIG_INET6_XFRM_TUNNEL_MODULE 1
+#define CONFIG_VERSION_SIGNATURE "Ubuntu 2.6.20-15.27-generic"
+#define CONFIG_ZD1211RW_MAC80211_MODULE 1
+#define CONFIG_SLIP_MODULE 1
+#define CONFIG_REED_SOLOMON_DEC16 1
+#define CONFIG_ACTISYS_DONGLE_MODULE 1
+#define CONFIG_HOTPLUG_PCI_CPCI_GENERIC_MODULE 1
+#define CONFIG_IOSCHED_CFQ 1
+#define CONFIG_SND_SONICVIBES_MODULE 1
+#define CONFIG_USB_ET61X251_MODULE 1
+#define CONFIG_HDLC_X25_MODULE 1
+#define CONFIG_SCSI_DTC3280_MODULE 1
+#define CONFIG_ROSE_MODULE 1
+#define CONFIG_NF_CONNTRACK_PPTP_MODULE 1
+#define CONFIG_X86_IO_APIC 1
+#define CONFIG_USB_SERIAL_XIRCOM_MODULE 1
+#define CONFIG_SENSORS_PCA9539_MODULE 1
+#define CONFIG_I6300ESB_WDT_MODULE 1
+#define CONFIG_ALIM7101_WDT_MODULE 1
+#define CONFIG_IPW2100_MONITOR 1
+#define CONFIG_SCSI_IBMMCA_MODULE 1
+#define CONFIG_IP6_NF_MATCH_EUI64_MODULE 1
+#define CONFIG_NR_CPUS 8
+#define CONFIG_GENERIC_BUG 1
+#define CONFIG_CRYPTO_MANAGER 1
+#define CONFIG_JFFS2_RTIME 1
+#define CONFIG_VIDEO_CQCAM_MODULE 1
+#define CONFIG_SERIAL_8250_PNP 1
+#define CONFIG_LANMEDIA_MODULE 1
+#define CONFIG_IPW2200_MONITOR 1
+#define CONFIG_BT_HCIBFUSB_MODULE 1
+#define CONFIG_SWAP 1
+#define CONFIG_KEYS 1
+#define CONFIG_EXT2_FS_POSIX_ACL 1
+#define CONFIG_BLK_DEV_DM_BBR_MODULE 1
+#define CONFIG_USB_STORAGE_USBAT 1
+#define CONFIG_VIDEO_CPIA_USB_MODULE 1
+#define CONFIG_SENSORS_PCF8591_MODULE 1
+#define CONFIG_IEEE1394_OHCI1394_MODULE 1
+#define CONFIG_IDEDMA_AUTO 1
+#define CONFIG_PARIDE_ATEN_MODULE 1
+#define CONFIG_PARIDE_PARPORT_MODULE 1
+#define CONFIG_NFTL_RW 1
+#define CONFIG_MTD_REDBOOT_PARTS_MODULE 1
+#define CONFIG_MA600_DONGLE_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_CONNMARK_MODULE 1
+#define CONFIG_CPU_FREQ_TABLE_MODULE 1
+#define CONFIG_ACPI_PROCESSOR_MODULE 1
+#define CONFIG_X86_MPPARSE 1
+#define CONFIG_EXT3_FS_POSIX_ACL 1
+#define CONFIG_USB_SPEEDTOUCH_MODULE 1
+#define CONFIG_SND_KORG1212_MODULE 1
+#define CONFIG_SENSORS_PCF8574_MODULE 1
+#define CONFIG_W83627HF_WDT_MODULE 1
+#define CONFIG_AC97_BUS_MODULE 1
+#define CONFIG_CYCLOMX_X25 1
+#define CONFIG_BLK_DEV_ALI15X3_MODULE 1
+#define CONFIG_BRIDGE_EBT_STP_MODULE 1
+#define CONFIG_XFRM 1
+#define CONFIG_CRC32 1
+#define CONFIG_USB_APPLETOUCH_MODULE 1
+#define CONFIG_SND_VIA82XX_MODULE 1
+#define CONFIG_VIDEO_KS0127_MODULE 1
+#define CONFIG_GAMEPORT_L4_MODULE 1
+#define CONFIG_AIC79XX_DEBUG_MASK 0
+#define CONFIG_BLK_DEV_3W_XXXX_RAID_MODULE 1
+#define CONFIG_BLK_DEV_RAM_COUNT 16
+#define CONFIG_PARIDE_EPAT_MODULE 1
+#define CONFIG_MTD_ESB2ROM_MODULE 1
+#define CONFIG_DEFAULT_CFQ 1
+#define CONFIG_VXFS_FS_MODULE 1
+#define CONFIG_SPEAKUP_APOLLO_MODULE 1
+#define CONFIG_USB_NET_NET1080_MODULE 1
+#define CONFIG_ALIM1535_WDT_MODULE 1
+#define CONFIG_CRC16_MODULE 1
+#define CONFIG_IP_NF_IPTABLES_MODULE 1
+#define CONFIG_FAT_DEFAULT_IOCHARSET "iso8859-1"
+#define CONFIG_SND_SB16_MODULE 1
+#define CONFIG_INPUT_KEYBOARD 1
+#define CONFIG_ISDN_DIVERSION_MODULE 1
+#define CONFIG_MD_RAID0_MODULE 1
+#define CONFIG_PARIDE_COMM_MODULE 1
+#define CONFIG_IP_NF_MATCH_AH_MODULE 1
+#define CONFIG_TEXTSEARCH_FSM_MODULE 1
+#define CONFIG_BLK_DEV_INITRD 1
+#define CONFIG_SECURITY_CAPABILITIES_MODULE 1
+#define CONFIG_USB_SERIAL_OPTION_MODULE 1
+#define CONFIG_SND_INTERWAVE_STB_MODULE 1
+#define CONFIG_DVB_USB_GP8PSK_MODULE 1
+#define CONFIG_W1_SLAVE_THERM_MODULE 1
+#define CONFIG_TOUCHSCREEN_UCB1400_MODULE 1
+#define CONFIG_ZNET_MODULE 1
+#define CONFIG_MD_RAID1_MODULE 1
+#define CONFIG_NET_CLS_U32_MODULE 1
+#define CONFIG_BRIDGE_NF_EBTABLES_MODULE 1
+#define CONFIG_RTC_DRV_PCF8563_MODULE 1
+#define CONFIG_SPI_BITBANG_MODULE 1
+#define CONFIG_MTDRAM_TOTAL_SIZE 4096
+#define CONFIG_IP_NF_MATCH_OWNER_MODULE 1
+#define CONFIG_TEXTSEARCH_KMP_MODULE 1
+#define CONFIG_PACKET_MMAP 1
+#define CONFIG_BCM43XX_MAC80211_DMA_AND_PIO_MODE 1
+#define CONFIG_SND_SEQUENCER_OSS 1
+#define CONFIG_SENSORS_MAX1619_MODULE 1
+#define CONFIG_NET_CLS_POLICE 1
+#define CONFIG_NETFILTER_XT_TARGET_SECMARK_MODULE 1
+#define CONFIG_PAGE_OFFSET 0xC0000000
+#define CONFIG_NET_IPG_JUMBO_FRAME_SIZE_4K 1
+#define CONFIG_RTC_DRV_PCF8583_MODULE 1
+#define CONFIG_USB_NET_MCS7830_MODULE 1
+#define CONFIG_SND_OPTI93X_MODULE 1
+#define CONFIG_MDA_CONSOLE_MODULE 1
+#define CONFIG_SENSORS_ABITUGURU_MODULE 1
+#define CONFIG_W83697HF_WDT_MODULE 1
+#define CONFIG_PPP_DEFLATE_MODULE 1
+#define CONFIG_ATM_FORE200E_MODULE 1
+#define CONFIG_ATM_FORE200E_TX_RETRY 16
+#define CONFIG_UNIX 1
+#define CONFIG_SENSORS_K8TEMP_MODULE 1
+#define CONFIG_I2C_PARPORT_MODULE 1
+#define CONFIG_PCMCIA_SYM53C500_MODULE 1
+#define CONFIG_BLK_DEV_ATIIXP_MODULE 1
+#define CONFIG_BAYCOM_SER_FDX_MODULE 1
+#define CONFIG_HAMRADIO 1
+#define CONFIG_NET_SCH_DSMARK_MODULE 1
+#define CONFIG_ARCH_SELECT_MEMORY_MODEL 1
+#define CONFIG_MTRR 1
+#define CONFIG_BCM43XX_MAC80211_DMA 1
+#define CONFIG_RTC_DRV_ISL1208_MODULE 1
+#define CONFIG_GIGASET_M105_MODULE 1
+#define CONFIG_SCSI_U14_34F_TAGGED_QUEUE 1
+#define CONFIG_PARIDE_FRIQ_MODULE 1
+#define CONFIG_X86_XADD 1
+#define CONFIG_CONFIGFS_FS_MODULE 1
+#define CONFIG_SENSORS_FSCHER_MODULE 1
+#define CONFIG_INPUT_MOUSEDEV_PSAUX 1
+#define CONFIG_HISAX_FRITZPCI 1
+#define CONFIG_PARPORT_SERIAL_MODULE 1
+#define CONFIG_MTD_ONENAND_MODULE 1
+#define CONFIG_BT_L2CAP_MODULE 1
+#define CONFIG_BAYCOM_SER_HDX_MODULE 1
+#define CONFIG_ISA_DMA_API 1
+#define CONFIG_RT2400PCI_MODULE 1
+#define CONFIG_SPEAKUP_AUDPTR_MODULE 1
+#define CONFIG_DVB_USB_TTUSB2_MODULE 1
+#define CONFIG_VIDEO_TVEEPROM_MODULE 1
+#define CONFIG_SERIAL_CORE 1
+#define CONFIG_CYCLADES_MODULE 1
+#define CONFIG_HISAX_S0BOX 1
+#define CONFIG_LXT_PHY_MODULE 1
+#define CONFIG_BLK_DEV_IDE 1
+#define CONFIG_MTD_SC520CDP_MODULE 1
+#define CONFIG_IP_NF_TARGET_ULOG_MODULE 1
+#define CONFIG_IVTV_MODULE 1
+#define CONFIG_RT2500PCI_MODULE 1
+#define CONFIG_SOUND_CS4232_MODULE 1
+#define CONFIG_FB_GEODE_GX_MODULE 1
+#define CONFIG_AC3200_MODULE 1
+#define CONFIG_PDC_ADMA_MODULE 1
+#define CONFIG_SCSI_QLA_ISCSI_MODULE 1
+#define CONFIG_UID16 1
+#define CONFIG_LOCK_KERNEL 1
+#define CONFIG_RTC_DRV_MAX6902_MODULE 1
+#define CONFIG_USB_EHCI_ROOT_HUB_TT 1
+#define CONFIG_ISDN_CAPI_CAPIFS_BOOL 1
+#define CONFIG_ISDN_DRV_PCBIT_MODULE 1
+#define CONFIG_DE4X5_MODULE 1
+#define CONFIG_BLK_DEV_NBD_MODULE 1
+#define CONFIG_CRYPTO_ARC4_MODULE 1
+#define CONFIG_TOSHIBA_FIR_MODULE 1
+#define CONFIG_NET_CLS_ROUTE4_MODULE 1
+#define CONFIG_X86_LONGRUN_MODULE 1
+#define CONFIG_PHYSICAL_START 0x100000
+#define CONFIG_FB_GEODE 1
+#define CONFIG_DVB_USB_DIGITV_MODULE 1
+#define CONFIG_VIDEO_BT848_DVB 1
+#define CONFIG_INPUT_TSDEV_SCREEN_X 240
+#define CONFIG_NE2K_PCI_MODULE 1
+#define CONFIG_SCSI_AHA152X_MODULE 1
+#define CONFIG_BLK_DEV_OPTI621_MODULE 1
+#define CONFIG_BINFMT_MISC_MODULE 1
+#define CONFIG_EISA_VIRTUAL_ROOT 1
+#define CONFIG_IPW3945_MONITOR 1
+#define CONFIG_RTC_DRV_RS5C372_MODULE 1
+#define CONFIG_SOUND_ES1371_MODULE 1
+#define CONFIG_SENSORS_MAX6875_MODULE 1
+#define CONFIG_INPUT_TSDEV_SCREEN_Y 320
+#define CONFIG_ISDN_X25 1
+#define CONFIG_CISS_SCSI_TAPE 1
+#define CONFIG_NF_CONNTRACK_PROC_COMPAT 1
+#define CONFIG_IP_FIB_HASH 1
+#define CONFIG_SYSV_FS_MODULE 1
+#define CONFIG_JFS_STATISTICS 1
+#define CONFIG_REISERFS_FS_XATTR 1
+#define CONFIG_SND_GUSEXTREME_MODULE 1
+#define CONFIG_CRYPTO_SHA1_MODULE 1
+#define CONFIG_QUICKCAM_MODULE 1
+#define CONFIG_USB_PHIDGET_MODULE 1
+#define CONFIG_HISAX_TELES_CS_MODULE 1
+#define CONFIG_MEGARAID_LEGACY_MODULE 1
+#define CONFIG_SCSI_CONSTANTS 1
+#define CONFIG_INET6_AH_MODULE 1
+#define CONFIG_I82092_MODULE 1
+#define CONFIG_X86_GX_SUSPMOD_MODULE 1
+#define CONFIG_X86_F00F_BUG 1
+#define CONFIG_PARTITION_ADVANCED 1
+#define CONFIG_NDISWRAPPER_MODULE 1
+#define CONFIG_RTC_DRV_RS5C348_MODULE 1
+#define CONFIG_VIDEO_OV7670_MODULE 1
+#define CONFIG_HISAX_GAZEL 1
+#define CONFIG_53C700_IO_MAPPED 1
+#define CONFIG_MTD_NAND_CS553X_MODULE 1
+#define CONFIG_MTD_BLKDEVS_MODULE 1
+#define CONFIG_BCM43XX_MAC80211_PCI 1
+#define CONFIG_USB_CYPRESS_CY7C63_MODULE 1
+#define CONFIG_VGA_CONSOLE 1
+#define CONFIG_CDROM_PKTCDVD_BUFFERS 8
+#define CONFIG_PARIDE_KTTI_MODULE 1
+#define CONFIG_IEEE80211_CRYPT_WEP_MODULE 1
+#define CONFIG_PCIEPORTBUS 1
+#define CONFIG_ACPI_HOTKEY_MODULE 1
+#define CONFIG_PREEMPT_VOLUNTARY 1
+#define CONFIG_NLS_DEFAULT "cp437"
+#define CONFIG_SC6600_CDROMBASE 0x0
+#define CONFIG_SND_RAWMIDI_MODULE 1
+#define CONFIG_SENSORS_VIA686A_MODULE 1
+#define CONFIG_TELCLOCK_MODULE 1
+#define CONFIG_WATCHDOG 1
+#define CONFIG_DSCC4_MODULE 1
+#define CONFIG_SUNDANCE_MODULE 1
+#define CONFIG_SGI_IOC4_MODULE 1
+#define CONFIG_PARIDE_DSTR_MODULE 1
+#define CONFIG_MTD_PARTITIONS 1
+#define CONFIG_WINBOND_FIR_MODULE 1
+#define CONFIG_I82365_MODULE 1
+#define CONFIG_CPU_FREQ_GOV_PERFORMANCE 1
+#define CONFIG_ACPI_FAN_MODULE 1
+#define CONFIG_SECURITY_SELINUX_DISABLE 1
+#define CONFIG_ACPI_PCC_MODULE 1
+#define CONFIG_USB_ATI_REMOTE_MODULE 1
+#define CONFIG_FB_CYBLA_MODULE 1
+#define CONFIG_HISAX_NICCY 1
+#define CONFIG_SPLIT_PTLOCK_CPUS 4
+#define CONFIG_SECURITY_ROOTPLUG_MODULE 1
+#define CONFIG_JFFS2_FS_MODULE 1
+#define CONFIG_USB_STORAGE_SDDR09 1
+#define CONFIG_SENSORS_SIS5595_MODULE 1
+#define CONFIG_TOUCHSCREEN_ADS7846_MODULE 1
+#define CONFIG_DAVICOM_PHY_MODULE 1
+#define CONFIG_PARIDE_FRPW_MODULE 1
+#define CONFIG_MTD_PHYSMAP_START 0x8000000
+#define CONFIG_YENTA_ENE_TUNE 1
+#define CONFIG_USB_STORAGE_SDDR55 1
+#define CONFIG_DVB_LGDT330X_MODULE 1
+#define CONFIG_SENSORS_EEPROM_MODULE 1
+#define CONFIG_ARCNET_COM90xx_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_REALM_MODULE 1
+#define CONFIG_X86_P4_CLOCKMOD_MODULE 1
+#define CONFIG_ACPI_IBM_MODULE 1
+#define CONFIG_OCFS2_FS_MODULE 1
+#define CONFIG_SND_RIPTIDE_MODULE 1
+#define CONFIG_FB_SAVAGE_ACCEL 1
+#define CONFIG_VIDEO_WM8739_MODULE 1
+#define CONFIG_VIDEO_WM8775_MODULE 1
+#define CONFIG_APPLICOM_MODULE 1
+#define CONFIG_HISAX_ST5481_MODULE 1
+#define CONFIG_ISDN_DRV_HISAX_MODULE 1
+#define CONFIG_ATM_NICSTAR_MODULE 1
+#define CONFIG_NE2000_MODULE 1
+#define CONFIG_BLK_DEV_IDEDMA_PCI 1
+#define CONFIG_MTD_PLATRAM_MODULE 1
+#define CONFIG_BT_HCIBPA10X_MODULE 1
+#define CONFIG_6PACK_MODULE 1
+#define CONFIG_YENTA_RICOH 1
+#define CONFIG_PREEMPT_BKL 1
+#define CONFIG_CRYPTO_GF128MUL_MODULE 1
+#define CONFIG_LOCKD_V4 1
+#define CONFIG_USB_APPLEIR_MODULE 1
+#define CONFIG_NDISWRAPPER_WQ 1
+#define CONFIG_USB_YEALINK_MODULE 1
+#define CONFIG_VIDEO_CAFE_CCIC_MODULE 1
+#define CONFIG_SENSORS_GL520SM_MODULE 1
+#define CONFIG_JOYSTICK_SPACEBALL_MODULE 1
+#define CONFIG_ISDN_I4L_MODULE 1
+#define CONFIG_NET_VENDOR_SMC 1
+#define CONFIG_BLK_DEV_RAM 1
+#define CONFIG_PARPORT_1284 1
+#define CONFIG_NETFILTER_XT_TARGET_NFQUEUE_MODULE 1
+#define CONFIG_SCHED_MC 1
+#define CONFIG_VM_EVENT_COUNTERS 1
+#define CONFIG_LIBCRC32C_MODULE 1
+#define CONFIG_RT2500USB_MODULE 1
+#define CONFIG_BACKLIGHT_LCD_SUPPORT 1
+#define CONFIG_DVB_USB_DTT200U_MODULE 1
+#define CONFIG_INPUT_MOUSEDEV 1
+#define CONFIG_PPP_BSDCOMP_MODULE 1
+#define CONFIG_FUSION_MAX_SGE 128
+#define CONFIG_SCSI_U14_34F_MODULE 1
+#define CONFIG_SCSI_QLA_FC_MODULE 1
+#define CONFIG_BLK_DEV_AEC62XX_MODULE 1
+#define CONFIG_INET_IPCOMP_MODULE 1
+#define CONFIG_USB_SERIAL_IPW_MODULE 1
+#define CONFIG_USB_NET_AX8817X_MODULE 1
+#define CONFIG_USB_USBNET_MII_MODULE 1
+#define CONFIG_SND_VIRMIDI_MODULE 1
+#define CONFIG_ACQUIRE_WDT_MODULE 1
+#define CONFIG_CHR_DEV_SCH_MODULE 1
+#define CONFIG_MTD_NETSC520_MODULE 1
+#define CONFIG_BINFMT_AOUT_MODULE 1
+#define CONFIG_ACPI_BUTTON_MODULE 1
+#define CONFIG_NE3210_MODULE 1
+#define CONFIG_ULTRAMCA_MODULE 1
+#define CONFIG_SCSI_ARCMSR_MODULE 1
+#define CONFIG_BLK_DEV_SX8_MODULE 1
+#define CONFIG_NET_SCH_CBQ_MODULE 1
+#define CONFIG_CRYPTO_HMAC 1
+#define CONFIG_MODVERSIONS 1
+#define CONFIG_SND_SEQ_RTCTIMER_DEFAULT 1
+#define CONFIG_SENSORS_FSCPOS_MODULE 1
+#define CONFIG_HISAX_NETJET_U 1
+#define CONFIG_IPV6_TUNNEL_MODULE 1
+#define CONFIG_SOLARIS_X86_PARTITION 1
+#define CONFIG_REISERFS_FS_MODULE 1
+#define CONFIG_ACPI_DEV_MODULE 1
+#define CONFIG_SPEAKUP_BNS_MODULE 1
+#define CONFIG_I2C_STUB_MODULE 1
+#define CONFIG_SERIAL_NONSTANDARD 1
+#define CONFIG_I2O_SCSI_MODULE 1
+#define CONFIG_BLK_DEV_RAM_BLOCKSIZE 1024
+#define CONFIG_BPQETHER_MODULE 1
+#define CONFIG_UNUSED_SYMBOLS 1
+#define CONFIG_BCM43XX_MAC80211_PIO 1
+#define CONFIG_RT2400PCI_LEGACY_MODULE 1
+#define CONFIG_SOUND_YM3812_MODULE 1
+#define CONFIG_DVB_DIB3000MB_MODULE 1
+#define CONFIG_HANGCHECK_TIMER_MODULE 1
+#define CONFIG_SCSI_PSI240I_MODULE 1
+#define CONFIG_SYSCTL_SYSCALL 1
+#define CONFIG_UNIXWARE_DISKLABEL 1
+#define CONFIG_NET_ACX_PCI 1
+#define CONFIG_RT2500PCI_LEGACY_MODULE 1
+#define CONFIG_SND_SGALAXY_MODULE 1
+#define CONFIG_DVB_DIB3000MC_MODULE 1
+#define CONFIG_DVB_USB_A800_MODULE 1
+#define CONFIG_SENSORS_GL518SM_MODULE 1
+#define CONFIG_DEPCA_MODULE 1
+#define CONFIG_AT1700_MODULE 1
+#define CONFIG_DM9102_MODULE 1
+#define CONFIG_I2O_PROC_MODULE 1
+#define CONFIG_SCSI_INITIO_MODULE 1
+#define CONFIG_SCSI_FD_MCS_MODULE 1
+#define CONFIG_MEGARAID_NEWGEN 1
+#define CONFIG_AIC79XX_REG_PRETTY_PRINT 1
+#define CONFIG_AIC7XXX_DEBUG_MASK 0
+#define CONFIG_SPEAKUP_SPKOUT_MODULE 1
+#define CONFIG_USB_STORAGE_MODULE 1
+#define CONFIG_SND_TRIDENT_MODULE 1
+#define CONFIG_IPPP_FILTER 1
+#define CONFIG_ES3210_MODULE 1
+#define CONFIG_MTD_ICHXROM_MODULE 1
+#define CONFIG_NET_SCH_RED_MODULE 1
+#define CONFIG_HOTPLUG_PCI_MODULE 1
+#define CONFIG_PROC_VMCORE 1
+#define CONFIG_SPEAKUP_SFTSYN_MODULE 1
+#define CONFIG_USB_IDMOUSE_MODULE 1
+#define CONFIG_DVB_USB_DIBUSB_MB_FAULTY 1
+#define CONFIG_SERIAL_8250_RUNTIME_UARTS 4
+#define CONFIG_GAMEPORT_MODULE 1
+#define CONFIG_INPUT_JOYSTICK 1
+#define CONFIG_IEEE1394_SBP2_MODULE 1
+#define CONFIG_NET_SCH_TBF_MODULE 1
+#define CONFIG_COMPAT_VDSO 1
+#define CONFIG_DEBUG_FS 1
+#define CONFIG_ELF_CORE 1
+#define CONFIG_CRYPTO_XCBC_MODULE 1
+#define CONFIG_OPROFILE_MODULE 1
+#define CONFIG_SND_EMU10K1X_MODULE 1
+#define CONFIG_VIDEO_ZORAN_MODULE 1
+#define CONFIG_SYNCLINK_CS_MODULE 1
+#define CONFIG_SERIAL_8250_CONSOLE 1
+#define CONFIG_CAPI_AVM 1
+#define CONFIG_DM_SNAPSHOT_MODULE 1
+#define CONFIG_ACPI_SLEEP_PROC_SLEEP 1
+#define CONFIG_CRYPTO_SERPENT_MODULE 1
+#define CONFIG_SSB_PCIHOST 1
+#define CONFIG_USB_PEGASUS_MODULE 1
+#define CONFIG_SOUND_VMIDI_MODULE 1
+#define CONFIG_VIDEO_CX88_ALSA_MODULE 1
+#define CONFIG_DLCI_MAX 8
+#define CONFIG_SCSI_ULTRASTOR_MODULE 1
+#define CONFIG_BLK_DEV_CY82C693_MODULE 1
+#define CONFIG_MTD_PHYSMAP_BANKWIDTH 2
+#define CONFIG_NET_SCH_HTB_MODULE 1
+#define CONFIG_ATM_LANE_MODULE 1
+#define CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM 1
+#define CONFIG_YENTA_O2 1
+#define CONFIG_ACPI_SYSTEM 1
+#define CONFIG_MAGIC_SYSRQ 1
+#define CONFIG_MMC_TIFM_SD_MODULE 1
+#define CONFIG_USB_U132_HCD_MODULE 1
+#define CONFIG_SC6600 1
+#define CONFIG_SERIAL_8250_HUB6_MODULE 1
+#define CONFIG_SERIAL_8250_BOCA_MODULE 1
+#define CONFIG_MTD_CHAR_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_LIMIT_MODULE 1
+#define CONFIG_NETFILTER_NETLINK_LOG_MODULE 1
+#define CONFIG_PM_DISABLE_CONSOLE 1
+#define CONFIG_FB_ATY_GENERIC_LCD 1
+#define CONFIG_FB_INTEL_MODULE 1
+#define CONFIG_LANCE_MODULE 1
+#define CONFIG_MARVELL_PHY_MODULE 1
+#define CONFIG_PATA_QDI_MODULE 1
+#define CONFIG_BLK_DEV_AMD74XX_MODULE 1
+#define CONFIG_IP_NF_TARGET_REDIRECT_MODULE 1
+#define CONFIG_PM_DEBUG 1
+#define CONFIG_DEFAULT_IOSCHED "cfq"
+#define CONFIG_CRYPTO_TWOFISH_MODULE 1
+#define CONFIG_CRYPTO_HASH 1
+#define CONFIG_EEPROM_93CX6_MODULE 1
+#define CONFIG_INFINIBAND_ISER_MODULE 1
+#define CONFIG_INFINIBAND_MTHCA_DEBUG 1
+#define CONFIG_USB_CATC_MODULE 1
+#define CONFIG_DVB_CORE_MODULE 1
+#define CONFIG_VIDEO_TUNER_MODULE 1
+#define CONFIG_60XX_WDT_MODULE 1
+#define CONFIG_LEGACY_PTYS 1
+#define CONFIG_UNIX98_PTYS 1
+#define CONFIG_HDLC_RAW_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_STATE_MODULE 1
+#define CONFIG_IP_PIMSM_V1 1
+#define CONFIG_ACPI_SBS_MODULE 1
+#define CONFIG_RTL_IEEE80211_MODULE 1
+#define CONFIG_USB_CYTHERM_MODULE 1
+#define CONFIG_USB_SERIAL_GENERIC 1
+#define CONFIG_USB_STORAGE_ALAUDA 1
+#define CONFIG_FB_CFB_COPYAREA 1
+#define CONFIG_SOUND_PRIME_MODULE 1
+#define CONFIG_SYNCLINK_GT_MODULE 1
+#define CONFIG_HISAX_ISURF 1
+#define CONFIG_SCSI_HPTIOP_MODULE 1
+#define CONFIG_AIC7XXX_PROBE_EISA_VL 1
+#define CONFIG_SCSI_SAS_ATTRS_MODULE 1
+#define CONFIG_BLK_DEV_IDEACPI 1
+#define CONFIG_MTD_ONENAND_VERIFY_WRITE 1
+#define CONFIG_MTD_NAND_MODULE 1
+#define CONFIG_MTD_DILNETPC_BOOTSIZE 0x80000
+#define CONFIG_NET_SCH_ATM_MODULE 1
+#define CONFIG_IP_PIMSM_V2 1
+#define CONFIG_INET_TUNNEL_MODULE 1
+#define CONFIG_CPU_FREQ_GOV_ONDEMAND_MODULE 1
+#define CONFIG_CRYPTO_TWOFISH_586_MODULE 1
+#define CONFIG_PRINTK_TIME 1
+#define CONFIG_SND_MPU401_UART_MODULE 1
+#define CONFIG_FB_CFB_FILLRECT 1
+#define CONFIG_HISAX_DIEHLDIVA 1
+#define CONFIG_MTD_PHYSMAP_MODULE 1
+#define CONFIG_SYN_COOKIES 1
+#define CONFIG_SEMAPHORE_SLEEPERS 1
+#define CONFIG_ISDN_DRV_AVMB1_AVM_CS_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_B1PCIV4 1
+#define CONFIG_IPW2200_RADIOTAP 1
+#define CONFIG_SATA_SX4_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_DSCP_MODULE 1
+#define CONFIG_FB_MATROX_G 1
+#define CONFIG_MIXCOMWD_MODULE 1
+#define CONFIG_INPUT_EVBUG_MODULE 1
+#define CONFIG_HISAX_SEDLBAUER_CS_MODULE 1
+#define CONFIG_PCI200SYN_MODULE 1
+#define CONFIG_8139CP_MODULE 1
+#define CONFIG_SATA_VIA_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_MARK_MODULE 1
+#define CONFIG_IP_VS_TAB_BITS 12
+#define CONFIG_PCI_BIOS 1
+#define CONFIG_USB_TOUCHSCREEN_DMC_TSC10 1
+#define CONFIG_INPUT_EVDEV_MODULE 1
+#define CONFIG_USB_IRDA_MODULE 1
+#define CONFIG_ATM_CLIP 1
+#define CONFIG_DELL_RBU_MODULE 1
+#define CONFIG_PARAVIRT 1
+#define CONFIG_INFINIBAND_IPOIB_DEBUG 1
+#define CONFIG_DVB_USB_UMT_010_MODULE 1
+#define CONFIG_VIDEO_ZORAN_ZR36060_MODULE 1
+#define CONFIG_ATM_HORIZON_MODULE 1
+#define CONFIG_HDLC_PPP_MODULE 1
+#define CONFIG_SCSI_SPI_ATTRS_MODULE 1
+#define CONFIG_SCSI_MULTI_LUN 1
+#define CONFIG_PARIDE_BPCK6_MODULE 1
+#define CONFIG_PARPORT_NOT_PC 1
+#define CONFIG_PCMCIA_LOAD_CIS 1
+#define CONFIG_HOTPLUG_CPU 1
+#define CONFIG_GENERIC_ISA_DMA 1
+#define CONFIG_NET_ACX_USB 1
+#define CONFIG_USB_TOUCHSCREEN_3M 1
+#define CONFIG_USB_SUSPEND 1
+#define CONFIG_CPU5_WDT_MODULE 1
+#define CONFIG_SYNCLINK_MODULE 1
+#define CONFIG_I2O_EXT_ADAPTEC 1
+#define CONFIG_CRYPTO_MICHAEL_MIC_MODULE 1
+#define CONFIG_PM_TRACE 1
+#define CONFIG_MODULE_SRCVERSION_ALL 1
+#define CONFIG_BLOCK 1
+#define CONFIG_MMC_WBSD_MODULE 1
+#define CONFIG_SND_OSSEMUL 1
+#define CONFIG_RADIO_MAXIRADIO_MODULE 1
+#define CONFIG_EWRK3_MODULE 1
+#define CONFIG_PD6729_MODULE 1
+#define CONFIG_GENERIC_HWEIGHT 1
+#define CONFIG_SECURITY_SELINUX_DEVELOP 1
+#define CONFIG_LOCKD_MODULE 1
+#define CONFIG_QUOTACTL 1
+#define CONFIG_USB_XUSBATM_MODULE 1
+#define CONFIG_USB_PRINTER_MODULE 1
+#define CONFIG_NET_SCH_SFQ_MODULE 1
+#define CONFIG_ATALK_MODULE 1
+#define CONFIG_BRIDGE_EBT_DNAT_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_QUOTA_MODULE 1
+#define CONFIG_BACKLIGHT_CLASS_DEVICE_MODULE 1
+#define CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE 3
+#define CONFIG_SQUASHFS_MODULE 1
+#define CONFIG_ISDN_DRV_SC_MODULE 1
+#define CONFIG_HOSTAP_FIRMWARE_NVRAM 1
+#define CONFIG_ARLAN_MODULE 1
+#define CONFIG_ATM_MPOA_MODULE 1
+#define CONFIG_IP_ADVANCED_ROUTER 1
+#define CONFIG_USB_TRANCEVIBRATOR_MODULE 1
+#define CONFIG_SOUND_MPU401_MODULE 1
+#define CONFIG_SND_MONA_MODULE 1
+#define CONFIG_EEXPRESS_MODULE 1
+#define CONFIG_IEEE1394_PCILYNX_MODULE 1
+#define CONFIG_ATA_PIIX_MODULE 1
+#define CONFIG_IP_VS_LBLCR_MODULE 1
+#define CONFIG_EFI_VARS 1
+#define CONFIG_RTC_INTF_SYSFS_MODULE 1
+#define CONFIG_SND_FM801_MODULE 1
+#define CONFIG_FB_ATY128_MODULE 1
+#define CONFIG_RADIO_TRUST_MODULE 1
+#define CONFIG_VIDEO_OVCAMCHIP_MODULE 1
+#define CONFIG_IB700_WDT_MODULE 1
+#define CONFIG_SATA_SIL_MODULE 1
+#define CONFIG_MTD_NETtel_MODULE 1
+#define CONFIG_IP_NF_QUEUE_MODULE 1
+#define CONFIG_KEXEC 1
+#define CONFIG_KALLSYMS 1
+#define CONFIG_NFSD_TCP 1
+#define CONFIG_VIDEO_IR_MODULE 1
+#define CONFIG_PC8736x_GPIO_MODULE 1
+#define CONFIG_NEW_LEDS 1
+#define CONFIG_MD_RAID10_MODULE 1
+#define CONFIG_IPDDP_MODULE 1
+#define CONFIG_BRIDGE_EBT_MARK_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_CONNSECMARK_MODULE 1
+#define CONFIG_SUSPEND_SMP 1
+#define CONFIG_RT2570USB_LEGACY_MODULE 1
+#define CONFIG_EDAC_MM_EDAC_MODULE 1
+#define CONFIG_FB_TILEBLITTING 1
+#define CONFIG_DVB_MT312_MODULE 1
+#define CONFIG_NSC_GPIO_MODULE 1
+#define CONFIG_TOUCHSCREEN_MTOUCH_MODULE 1
+#define CONFIG_ISDN_DRV_ACT2000_MODULE 1
+#define CONFIG_CHELSIO_T1_NAPI 1
+#define CONFIG_SATA_ULI_MODULE 1
+#define CONFIG_SCSI_PPA_MODULE 1
+#define CONFIG_BLK_DEV_IDETAPE_MODULE 1
+#define CONFIG_MTD_SBC_GXX_MODULE 1
+#define CONFIG_BRIDGE_EBT_802_3_MODULE 1
+#define CONFIG_K8_NB 1
+#define CONFIG_NLS_UTF8_MODULE 1
+#define CONFIG_SND_HDSP_MODULE 1
+#define CONFIG_HISAX_SEDLBAUER 1
+#define CONFIG_ATMEL_MODULE 1
+#define CONFIG_IBMOL_MODULE 1
+#define CONFIG_HPLAN_MODULE 1
+#define CONFIG_VITESSE_PHY_MODULE 1
+#define CONFIG_SCSI_EATA_LINKED_COMMANDS 1
+#define CONFIG_BLK_DEV_GENERIC_MODULE 1
+#define CONFIG_BLK_DEV_IDEDISK_MODULE 1
+#define CONFIG_SSFDC_MODULE 1
+#define CONFIG_NF_NAT_TFTP_MODULE 1
+#define CONFIG_AGP_AMD64_MODULE 1
+#define CONFIG_USB_TOUCHSCREEN_GUNZE 1
+#define CONFIG_USB_DSBR_MODULE 1
+#define CONFIG_VIDEO_CX25840_MODULE 1
+#define CONFIG_VIDEO_SAA7110_MODULE 1
+#define CONFIG_VT_HW_CONSOLE_BINDING 1
+#define CONFIG_PATA_SIS_MODULE 1
+#define CONFIG_SCSI_IMM_MODULE 1
+#define CONFIG_LITELINK_DONGLE_MODULE 1
+#define CONFIG_IPV6_SIT_MODULE 1
+#define CONFIG_PROC_SYSCTL 1
+#define CONFIG_USB_SERIAL_CYPRESS_M8_MODULE 1
+#define CONFIG_VIDEO_SAA7111_MODULE 1
+#define CONFIG_INPUT_TSDEV_MODULE 1
+#define CONFIG_BLK_DEV_SIIMAGE_MODULE 1
+#define CONFIG_IP6_NF_IPTABLES_MODULE 1
+#define CONFIG_CPU_FREQ_STAT_DETAILS 1
+#define CONFIG_CPU_FREQ 1
+#define CONFIG_USB_XPAD_MODULE 1
+#define CONFIG_USB_SE401_MODULE 1
+#define CONFIG_DVB_MT352_MODULE 1
+#define CONFIG_AGP_EFFICEON_MODULE 1
+#define CONFIG_I8XX_TCO_MODULE 1
+#define CONFIG_AZTCD_MODULE 1
+#define CONFIG_SCSI_AACRAID_MODULE 1
+#define CONFIG_IRLAN_MODULE 1
+#define CONFIG_IP6_NF_MATCH_AH_MODULE 1
+#define CONFIG_SSB_DRIVER_PCICORE 1
+#define CONFIG_USB_MIDI_GADGET_MODULE 1
+#define CONFIG_USB_SL811_CS_MODULE 1
+#define CONFIG_KEYBOARD_SUNKBD_MODULE 1
+#define CONFIG_ATM_FORE200E_PCA 1
+#define CONFIG_SEALEVEL_4021_MODULE 1
+#define CONFIG_IBMLS_MODULE 1
+#define CONFIG_SATA_SIS_MODULE 1
+#define CONFIG_IDEDMA_PCI_AUTO 1
+#define CONFIG_BRIDGE_EBT_VLAN_MODULE 1
+#define CONFIG_BRIDGE_EBT_PKTTYPE_MODULE 1
+#define CONFIG_INET_ESP_MODULE 1
+#define CONFIG_AUDIT 1
+#define CONFIG_AMIGA_PARTITION 1
+#define CONFIG_SND_PCM_OSS_MODULE 1
+#define CONFIG_DVB_CORE_ATTACH 1
+#define CONFIG_VIDEO_SAA7114_MODULE 1
+#define CONFIG_W1_MASTER_DS2490_MODULE 1
+#define CONFIG_DRM_TDFX_MODULE 1
+#define CONFIG_INPUT_MOUSE 1
+#define CONFIG_ISDN_DIVAS_USERIDI_MODULE 1
+#define CONFIG_PCMCIA_WL3501_MODULE 1
+#define CONFIG_IP6_NF_MATCH_OWNER_MODULE 1
+#define CONFIG_IP_NF_MATCH_RECENT_MODULE 1
+#define CONFIG_SECURITY 1
+#define CONFIG_NET_IPIP_MODULE 1
+#define CONFIG_RAMFS 1
+#define CONFIG_USB_NET_ZAURUS_MODULE 1
+#define CONFIG_W1_MASTER_DS2482_MODULE 1
+#define CONFIG_SERIAL_8250_MANY_PORTS 1
+#define CONFIG_CDU535_MODULE 1
+#define CONFIG_NF_NAT_PPTP_MODULE 1
+#define CONFIG_FB_GEODE_GX1_MODULE 1
+#define CONFIG_VIDEO_SAA7134_MODULE 1
+#define CONFIG_PHONE_MODULE 1
+#define CONFIG_ISDN_MPP 1
+#define CONFIG_HIPPI 1
+#define CONFIG_OPTCD_MODULE 1
+#define CONFIG_SCSI_QLOGIC_1280_MODULE 1
+#define CONFIG_BLK_DEV_IDESCSI_MODULE 1
+#define CONFIG_HIGHMEM4G 1
+#define CONFIG_X86_INTEL_USERCOPY 1
+#define CONFIG_SHMEM 1
+#define CONFIG_CRYPTO_NULL_MODULE 1
+#define CONFIG_EXPORTFS_MODULE 1
+#define CONFIG_SND_MIRO_MODULE 1
+#define CONFIG_SENSORS_W83627HF_MODULE 1
+#define CONFIG_SC520_WDT_MODULE 1
+#define CONFIG_SKISA_MODULE 1
+#define CONFIG_LNE390_MODULE 1
+#define CONFIG_SCSI_AIC94XX_MODULE 1
+#define CONFIG_X86_BIOS_REBOOT 1
+#define CONFIG_CRYPTO_DEV_PADLOCK_MODULE 1
+#define CONFIG_REISERFS_FS_POSIX_ACL 1
+#define CONFIG_SND_NM256_MODULE 1
+#define CONFIG_VIDEO_SAA7127_MODULE 1
+#define CONFIG_VIDEO_TEA6420_MODULE 1
+#define CONFIG_ISDN_PPP_VJ 1
+#define CONFIG_IPW2200_PROMISCUOUS 1
+#define CONFIG_SCSI_IPR_MODULE 1
+#define CONFIG_AIC7XXX_REG_PRETTY_PRINT 1
+#define CONFIG_BRIDGE_EBT_SNAT_MODULE 1
+#define CONFIG_IP_VS_PROTO_AH 1
+#define CONFIG_INET_XFRM_MODE_TRANSPORT_MODULE 1
+#define CONFIG_EPOLL 1
+#define CONFIG_MINIX_FS_MODULE 1
+#define CONFIG_SPEAKUP_DEFAULT "none"
+#define CONFIG_SOUND_SB_MODULE 1
+#define CONFIG_SOUND_VIA82CXXX_MODULE 1
+#define CONFIG_VIDEO_SAA7146_MODULE 1
+#define CONFIG_VIDEO_SAA7191_MODULE 1
+#define CONFIG_ITCO_WDT_MODULE 1
+#define CONFIG_JOYSTICK_IFORCE_232 1
+#define CONFIG_ISDN_PPP 1
+#define CONFIG_ATM_ZATM_MODULE 1
+#define CONFIG_SCSI_IPS_MODULE 1
+#define CONFIG_INFTL_MODULE 1
+#define CONFIG_BRIDGE_EBT_ULOG_MODULE 1
+#define CONFIG_YENTA_TI 1
+#define CONFIG_RELAY 1
+#define CONFIG_MSDOS_FS_MODULE 1
+#define CONFIG_FONT_8x8 1
+#define CONFIG_FB_MODE_HELPERS 1
+#define CONFIG_GIGASET_BASE_MODULE 1
+#define CONFIG_IBMTR_MODULE 1
+#define CONFIG_SCSI_AIC79XX_MODULE 1
+#define CONFIG_VLSI_FIR_MODULE 1
+#define CONFIG_NET_EMATCH_META_MODULE 1
+#define CONFIG_IP_MULTIPLE_TABLES 1
+#define CONFIG_HOTPLUG_PCI_COMPAQ_MODULE 1
+#define CONFIG_CRYPTO_WP512_MODULE 1
+#define CONFIG_RPCSEC_GSS_KRB5_MODULE 1
+#define CONFIG_ROMFS_FS_MODULE 1
+#define CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL 100
+#define CONFIG_VIDEO_SAA5249_MODULE 1
+#define CONFIG_VIDEO_TDA7432_MODULE 1
+#define CONFIG_PPDEV_MODULE 1
+#define CONFIG_DEFXX_MODULE 1
+#define CONFIG_PCMCIA_ATMEL_MODULE 1
+#define CONFIG_PCMCIA_SPECTRUM_MODULE 1
+#define CONFIG_PATA_PDC2027X_MODULE 1
+#define CONFIG_SCSI_EATA_MAX_TAGS 16
+#define CONFIG_X86_LONGHAUL_MODULE 1
+#define CONFIG_CRYPTO_TEST_MODULE 1
+#define CONFIG_NLS_CODEPAGE_850_MODULE 1
+#define CONFIG_SND_INTEL8X0_MODULE 1
+#define CONFIG_SND_DYNAMIC_MINORS 1
+#define CONFIG_FB_INTEL_I2C 1
+#define CONFIG_VIDEO_ADV7170_MODULE 1
+#define CONFIG_VIDEO_SAA7185_MODULE 1
+#define CONFIG_MWAVE_MODULE 1
+#define CONFIG_TIPAR_MODULE 1
+#define CONFIG_N2_MODULE 1
+#define CONFIG_SCSI_T128_MODULE 1
+#define CONFIG_MEGARAID_SAS_MODULE 1
+#define CONFIG_SCSI_TGT_MODULE 1
+#define CONFIG_IEEE80211_SOFTMAC_MODULE 1
+#define CONFIG_ACPI_SLEEP_PROC_FS 1
+#define CONFIG_NLS_CODEPAGE_932_MODULE 1
+#define CONFIG_NLS_CODEPAGE_950_MODULE 1
+#define CONFIG_NLS_CODEPAGE_860_MODULE 1
+#define CONFIG_NLS_CODEPAGE_437_MODULE 1
+#define CONFIG_9P_FS_MODULE 1
+#define CONFIG_UNION_FS_MODULE 1
+#define CONFIG_INFINIBAND_USER_ACCESS_MODULE 1
+#define CONFIG_JOYSTICK_GUILLEMOT_MODULE 1
+#define CONFIG_JOYSTICK_ANALOG_MODULE 1
+#define CONFIG_PPP_MPPE_MODULE 1
+#define CONFIG_IEEE1394_EXTRA_CONFIG_ROMS 1
+#define CONFIG_IP6_NF_MATCH_HL_MODULE 1
+#define CONFIG_YENTA_MODULE 1
+#define CONFIG_STACKTRACE_SUPPORT 1
+#define CONFIG_NLS_CODEPAGE_861_MODULE 1
+#define CONFIG_NLS_CODEPAGE_852_MODULE 1
+#define CONFIG_USB_SERIAL_OMNINET_MODULE 1
+#define CONFIG_FB_PM2_FIFO_DISCONNECT 1
+#define CONFIG_VIDEO_EM28XX_MODULE 1
+#define CONFIG_HW_RANDOM_GEODE_MODULE 1
+#define CONFIG_GAMEPORT_EMU10K1_MODULE 1
+#define CONFIG_TOUCHSCREEN_ELO_MODULE 1
+#define CONFIG_SERIO 1
+#define CONFIG_ABYSS_MODULE 1
+#define CONFIG_DM_CRYPT_MODULE 1
+#define CONFIG_ISP16_CDI_MODULE 1
+#define CONFIG_IRNET_MODULE 1
+#define CONFIG_NLS_CODEPAGE_862_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_MODULE 1
+#define CONFIG_SND_CS46XX_NEW_DSP 1
+#define CONFIG_SND_ES968_MODULE 1
+#define CONFIG_LP486E_MODULE 1
+#define CONFIG_SCSI_FUTURE_DOMAIN_MODULE 1
+#define CONFIG_NLS_CODEPAGE_863_MODULE 1
+#define CONFIG_NLS_CODEPAGE_737_MODULE 1
+#define CONFIG_USB_ATI_REMOTE2_MODULE 1
+#define CONFIG_VIDEO_TDA9840_MODULE 1
+#define CONFIG_NVRAM_MODULE 1
+#define CONFIG_PPPOE_MODULE 1
+#define CONFIG_MAC_EMUMOUSEBTN 1
+#define CONFIG_PCMCIA_PROBE 1
+#define CONFIG_NLS_CODEPAGE_936_MODULE 1
+#define CONFIG_NLS_CODEPAGE_864_MODULE 1
+#define CONFIG_NLS_CODEPAGE_855_MODULE 1
+#define CONFIG_KARMA_PARTITION 1
+#define CONFIG_SND_SB16_CSP 1
+#define CONFIG_VIDEO_ADV7175_MODULE 1
+#define CONFIG_ZLIB_DEFLATE_MODULE 1
+#define CONFIG_NET_VENDOR_3COM 1
+#define CONFIG_CLS_U32_MARK 1
+#define CONFIG_INET_XFRM_MODE_TUNNEL_MODULE 1
+#define CONFIG_NLS_CODEPAGE_874_MODULE 1
+#define CONFIG_NLS_CODEPAGE_865_MODULE 1
+#define CONFIG_NLS_CODEPAGE_775_MODULE 1
+#define CONFIG_SND_VERBOSE_PROCFS 1
+#define CONFIG_VIDEO_SAA6588_MODULE 1
+#define CONFIG_HISAX_AVM_A1_CS_MODULE 1
+#define CONFIG_PCMCIA_PCNET_MODULE 1
+#define CONFIG_SMSC_PHY_MODULE 1
+#define CONFIG_SCSI_SRP_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_HASHLIMIT_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_CONNTRACK_MODULE 1
+#define CONFIG_X86_POWERNOW_K6_MODULE 1
+#define CONFIG_ACPI_TOSHIBA_MODULE 1
+#define CONFIG_NLS_CODEPAGE_866_MODULE 1
+#define CONFIG_NLS_CODEPAGE_857_MODULE 1
+#define CONFIG_USB_SERIAL_SAFE_MODULE 1
+#define CONFIG_JOYSTICK_IFORCE_MODULE 1
+#define CONFIG_JOYSTICK_A3D_MODULE 1
+#define CONFIG_MTD_SCx200_DOCFLASH_MODULE 1
+#define CONFIG_IEEE80211_CRYPT_CCMP_MODULE 1
+#define CONFIG_MKISS_MODULE 1
+#define CONFIG_PCMCIA_IOCTL 1
+#define CONFIG_X86_POWERNOW_K7_MODULE 1
+#define CONFIG_DEBUG_KERNEL 1
+#define CONFIG_MINIX_SUBPARTITION 1
+#define CONFIG_SND_VX222_MODULE 1
+#define CONFIG_VIDEO_SAA7146_VV_MODULE 1
+#define CONFIG_W1_MODULE 1
+#define CONFIG_ISDN_CAPI_CAPI20_MODULE 1
+#define CONFIG_SIS900_MODULE 1
+#define CONFIG_ULTRA_MODULE 1
+#define CONFIG_FB 1
+#define CONFIG_SATA_SVW_MODULE 1
+#define CONFIG_BT_HCIBCM203X_MODULE 1
+#define CONFIG_X86_POWERNOW_K8_MODULE 1
+#define CONFIG_NLS_CODEPAGE_949_MODULE 1
+#define CONFIG_USB_ZERO_MODULE 1
+#define CONFIG_USB_TEST_MODULE 1
+#define CONFIG_SOUND_MODULE 1
+#define CONFIG_HWMON 1
+#define CONFIG_HISAX_ENTERNOW_PCI 1
+#define CONFIG_SLIP_MODE_SLIP6 1
+#define CONFIG_SMCTR_MODULE 1
+#define CONFIG_SIS190_MODULE 1
+#define CONFIG_SCSI_QLOGIC_FAS_MODULE 1
+#define CONFIG_IP_NF_ARPTABLES_MODULE 1
+#define CONFIG_X86_CPUFREQ_NFORCE2_MODULE 1
+#define CONFIG_ACPI_THERMAL_MODULE 1
+#define CONFIG_ARCH_FLATMEM_ENABLE 1
+#define CONFIG_NLS_CODEPAGE_869_MODULE 1
+#define CONFIG_ATARI_PARTITION 1
+#define CONFIG_TMPFS 1
+#define CONFIG_QUOTA 1
+#define CONFIG_LEDS_NET48XX_MODULE 1
+#define CONFIG_WANXL_MODULE 1
+#define CONFIG_PCMCIA_IBMTR_MODULE 1
+#define CONFIG_ASK_IP_FIB_HASH 1
+#define CONFIG_X86_ALIGNMENT_16 1
+#define CONFIG_X86_32 1
+#define CONFIG_RTC_INTF_DEV_UIE_EMUL 1
+#define CONFIG_DVB_CINERGYT2_QUERY_INTERVAL 250
+#define CONFIG_RADIO_GEMTEK_MODULE 1
+#define CONFIG_I2C_PIIX4_MODULE 1
+#define CONFIG_KEYBOARD_NEWTON_MODULE 1
+#define CONFIG_HOSTAP_FIRMWARE 1
+#define CONFIG_SCSI_SEAGATE_MODULE 1
+#define CONFIG_PCI_MMCONFIG 1
+#define CONFIG_GENERIC_TIME 1
+#define CONFIG_CRYPTO_TWOFISH_COMMON_MODULE 1
+#define CONFIG_ACORN_PARTITION 1
+#define CONFIG_USB_EMI26_MODULE 1
+#define CONFIG_USB_EMI62_MODULE 1
+#define CONFIG_USB_SERIAL_HP4X_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA19W 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA18X 1
+#define CONFIG_USB_TOUCHSCREEN_MODULE 1
+#define CONFIG_SND_INDIGODJ_MODULE 1
+#define CONFIG_VIDEO_HEXIUM_ORION_MODULE 1
+#define CONFIG_VIDEO_TDA9875_MODULE 1
+#define CONFIG_SENSORS_LM70_MODULE 1
+#define CONFIG_IPMI_HANDLER_MODULE 1
+#define CONFIG_SLIP_COMPRESSED 1
+#define CONFIG_PCMCIA_AXNET_MODULE 1
+#define CONFIG_DUMMY_MODULE 1
+#define CONFIG_PATA_NETCELL_MODULE 1
+#define CONFIG_SCSI_DMX3191D_MODULE 1
+#define CONFIG_BT_HCIUART_BCSP 1
+#define CONFIG_IP_VS_DH_MODULE 1
+#define CONFIG_PLIST 1
+#define CONFIG_FUTEX 1
+#define CONFIG_IPW3945_PROMISCUOUS 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA28X 1
+#define CONFIG_USB_SERIAL_FUNSOFT_MODULE 1
+#define CONFIG_SND_RME32_MODULE 1
+#define CONFIG_RADIO_AZTECH_MODULE 1
+#define CONFIG_VIDEO_MSP3400_MODULE 1
+#define CONFIG_SENSORS_LM80_MODULE 1
+#define CONFIG_SERIO_LIBPS2 1
+#define CONFIG_E1000_NAPI 1
+#define CONFIG_AIC79XX_ENABLE_RD_STRM 1
+#define CONFIG_IP_NF_MATCH_ECN_MODULE 1
+#define CONFIG_INET6_IPCOMP_MODULE 1
+#define CONFIG_USB_GADGETFS_MODULE 1
+#define CONFIG_USB_NET_CDC_SUBSET_MODULE 1
+#define CONFIG_SENSORS_LM90_MODULE 1
+#define CONFIG_SENSORS_LM63_MODULE 1
+#define CONFIG_JOYSTICK_DB9_MODULE 1
+#define CONFIG_HISAX_MAX_CARDS 8
+#define CONFIG_PCMCIA_RAYCS_MODULE 1
+#define CONFIG_TULIP_MODULE 1
+#define CONFIG_EXPERIMENTAL 1
+#define CONFIG_KTIME_SCALAR 1
+#define CONFIG_RXRPC_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA49W 1
+#define CONFIG_SND_CA0106_MODULE 1
+#define CONFIG_NETWORK_SECMARK 1
+#define CONFIG_IP_VS_LC_MODULE 1
+#define CONFIG_OCFS2_DEBUG_MASKLOG 1
+#define CONFIG_RT2X00_MODULE 1
+#define CONFIG_USB_EHCI_HCD_MODULE 1
+#define CONFIG_SENSORS_LM92_MODULE 1
+#define CONFIG_SENSORS_LM83_MODULE 1
+#define CONFIG_IEEE1394_VIDEO1394_MODULE 1
+#define CONFIG_INPUT 1
+#define CONFIG_BLK_DEV_GNBD_MODULE 1
+#define CONFIG_DVB_TUNER_MT2060_MODULE 1
+#define CONFIG_DVB_L64781_MODULE 1
+#define CONFIG_VIDEO_BWQCAM_MODULE 1
+#define CONFIG_SENSORS_LM75_MODULE 1
+#define CONFIG_I2C_AMD756_MODULE 1
+#define CONFIG_HISAX_AVM_A1 1
+#define CONFIG_ETH16I_MODULE 1
+#define CONFIG_MD 1
+#define CONFIG_BLK_DEV_CRYPTOLOOP_MODULE 1
+#define CONFIG_BLK_CPQ_CISS_DA_MODULE 1
+#define CONFIG_LOCALVERSION ""
+#define CONFIG_USB_DEVICEFS 1
+#define CONFIG_SND_MAESTRO3_MODULE 1
+#define CONFIG_SENSORS_LM85_MODULE 1
+#define CONFIG_SERIO_PCIPS2_MODULE 1
+#define CONFIG_HISAX_HSTSAPHIR 1
+#define CONFIG_STRIP_MODULE 1
+#define CONFIG_MTD_DOCPROBE_MODULE 1
+#define CONFIG_X86_POPAD_OK 1
+#define CONFIG_USB_SERIAL_IPAQ_MODULE 1
+#define CONFIG_VIDEO_CX2341X_MODULE 1
+#define CONFIG_SENSORS_LM77_MODULE 1
+#define CONFIG_TCG_INFINEON_MODULE 1
+#define CONFIG_HOSTESS_SV11_MODULE 1
+#define CONFIG_SCSI_SCAN_ASYNC 1
+#define CONFIG_IP6_NF_MATCH_RT_MODULE 1
+#define CONFIG_ZLIB_INFLATE 1
+#define CONFIG_X86_SPEEDSTEP_CENTRINO_MODULE 1
+#define CONFIG_INIT_ENV_ARG_LIMIT 32
+#define CONFIG_DVB_B2C2_FLEXCOP_MODULE 1
+#define CONFIG_SENSORS_LM87_MODULE 1
+#define CONFIG_SENSORS_LM78_MODULE 1
+#define CONFIG_HISAX_FRITZ_PCIPNP_MODULE 1
+#define CONFIG_FORCEDETH_MODULE 1
+#define CONFIG_I2O_BLOCK_MODULE 1
+#define CONFIG_IP_NF_ARPFILTER_MODULE 1
+#define CONFIG_IOSCHED_DEADLINE 1
+#define CONFIG_GFS2_FS_LOCKING_NOLOCK_MODULE 1
+#define CONFIG_RADIO_RTRACK_MODULE 1
+#define CONFIG_SERIO_PARKBD_MODULE 1
+#define CONFIG_SCSI_SAS_LIBSAS_MODULE 1
+#define CONFIG_HOTPLUG_PCI_IBM_MODULE 1
+#define CONFIG_MICROCODE_MODULE 1
+#define CONFIG_NL80211 1
+#define CONFIG_CFG80211_WEXT_COMPAT 1
+#define CONFIG_SND_INDIGOIO_MODULE 1
+#define CONFIG_VIDEO_SELECT 1
+#define CONFIG_PATA_WINBOND_MODULE 1
+#define CONFIG_BT_MODULE 1
+#define CONFIG_SIGMATEL_FIR_MODULE 1
+#define CONFIG_NET_CLS_TCINDEX_MODULE 1
+#define CONFIG_NF_CONNTRACK_MODULE 1
+#define CONFIG_USB_SERIAL_MCT_U232_MODULE 1
+#define CONFIG_USB_EHCI_SPLIT_ISO 1
+#define CONFIG_SND_RME96_MODULE 1
+#define CONFIG_FRAMEBUFFER_CONSOLE_MODULE 1
+#define CONFIG_HISAX_HFCUSB_MODULE 1
+#define CONFIG_LAPBETHER_MODULE 1
+#define CONFIG_BROADCOM_PHY_MODULE 1
+#define CONFIG_PATA_JMICRON_MODULE 1
+#define CONFIG_MTD_DILNETPC_MODULE 1
+#define CONFIG_NF_CONNTRACK_AMANDA_MODULE 1
+#define CONFIG_ACPI_BATTERY_MODULE 1
+#define CONFIG_SND_OPL3_LIB_MODULE 1
+#define CONFIG_BACKLIGHT_DEVICE 1
+#define CONFIG_FB_MATROX_MAVEN_MODULE 1
+#define CONFIG_USB_KONICAWC_MODULE 1
+#define CONFIG_VIDEO_USBVISION_MODULE 1
+#define CONFIG_SENSORS_IT87_MODULE 1
+#define CONFIG_I2O_LCT_NOTIFY_ON_CHANGES 1
+#define CONFIG_PATA_MARVELL_MODULE 1
+#define CONFIG_SCSI_LOGGING 1
+#define CONFIG_BRIDGE_EBT_REDIRECT_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_CONNBYTES_MODULE 1
+#define CONFIG_HZ_250 1
+#define CONFIG_SYSFS 1
+#define CONFIG_NFS_DIRECTIO 1
+#define CONFIG_SND_OPL4_LIB_MODULE 1
+#define CONFIG_X86_CMPXCHG64 1
+#define CONFIG_USB_OHCI_HCD_MODULE 1
+#define CONFIG_HW_RANDOM_INTEL_MODULE 1
+#define CONFIG_X86_CPUID_MODULE 1
+#define CONFIG_IOSCHED_NOOP 1
+#define CONFIG_STOP_MACHINE 1
+#define CONFIG_USB_SERIAL_KLSI_MODULE 1
+#define CONFIG_USB_SERIAL_AIRCABLE_MODULE 1
+#define CONFIG_USB_ALI_M5632 1
+#define CONFIG_DVB_AV7110_MODULE 1
+#define CONFIG_VIDEO_VPX3220_MODULE 1
+#define CONFIG_VIDEO_TVP5150_MODULE 1
+#define CONFIG_SCSI_EATA_TAGGED_QUEUE 1
+#define CONFIG_BT_HCIBTUART_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_STATISTIC_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_CLASSIFY_MODULE 1
+#define CONFIG_INET6_TUNNEL_MODULE 1
+#define CONFIG_IP_VS_SH_MODULE 1
+#define CONFIG_USB_SERIAL_SIERRAWIRELESS_MODULE 1
+#define CONFIG_VIDEO_SAA711X_MODULE 1
+#define CONFIG_NET_SB1000_MODULE 1
+#define CONFIG_SATA_INIC162X_MODULE 1
+#define CONFIG_AIC79XX_RESET_DELAY_MS 15000
+#define CONFIG_IEEE80211_CRYPT_TKIP_MODULE 1
+#define CONFIG_NET_EMATCH_TEXT_MODULE 1
+#define CONFIG_INPUT_ACERHK_MODULE 1
+#define CONFIG_USB_GADGET_SELECTED 1
+#define CONFIG_USB_TOUCHSCREEN_EGALAX 1
+#define CONFIG_JOYSTICK_ADI_MODULE 1
+#define CONFIG_HISAX_AVM_A1_PCMCIA 1
+#define CONFIG_SATA_AHCI_MODULE 1
+#define CONFIG_SCSI_AIC7XXX_MODULE 1
+#define CONFIG_PARPORT_PC_FIFO 1
+#define CONFIG_ACPI_DOCK_MODULE 1
+#define CONFIG_PM 1
+#define CONFIG_CRYPTO_BLOWFISH_MODULE 1
+#define CONFIG_ADM8211_MODULE 1
+#define CONFIG_INFINIBAND_MTHCA_MODULE 1
+#define CONFIG_SOUND_KAHLUA_MODULE 1
+#define CONFIG_SND_AD1848_MODULE 1
+#define CONFIG_FB_SAVAGE_MODULE 1
+#define CONFIG_SERIAL_8250_EXTENDED 1
+#define CONFIG_PATA_OLDPIIX_MODULE 1
+#define CONFIG_MTD_CFI_STAA_MODULE 1
+#define CONFIG_NET_SCH_INGRESS_MODULE 1
+#define CONFIG_IP_ROUTE_MULTIPATH 1
+#define CONFIG_LOCKDEP_SUPPORT 1
+#define CONFIG_MSDOS_PARTITION 1
+#define CONFIG_FB_CFB_IMAGEBLIT 1
+#define CONFIG_USB_QUICKCAM_MESSENGER_MODULE 1
+#define CONFIG_IP_NF_MANGLE_MODULE 1
+#define CONFIG_IP_VS_NQ_MODULE 1
+#define CONFIG_CRYPTO_CAST5_MODULE 1
+#define CONFIG_USB_STORAGE_DATAFAB 1
+#define CONFIG_USB_UHCI_HCD_MODULE 1
+#define CONFIG_SND_ADLIB_MODULE 1
+#define CONFIG_FB_RADEON_MODULE 1
+#define CONFIG_SCSI_GENERIC_NCR5380_MODULE 1
+#define CONFIG_SCx200_MODULE 1
+#define CONFIG_BOOT_IOREMAP 1
+#define CONFIG_CRYPTO_CAST6_MODULE 1
+#define CONFIG_INFINIBAND_USER_MAD_MODULE 1
+#define CONFIG_SND_BT87X_MODULE 1
+#define CONFIG_HAPPYMEAL_MODULE 1
+#define CONFIG_IP_VS_MODULE 1
+#define CONFIG_DCDBAS_MODULE 1
+#define CONFIG_SND_FM801_TEA575X_MODULE 1
+#define CONFIG_SND_MTS64_MODULE 1
+#define CONFIG_FB_MATROX_MYSTIQUE 1
+#define CONFIG_FB_NVIDIA_MODULE 1
+#define CONFIG_SPECIALIX_MODULE 1
+#define CONFIG_MOUSE_LOGIBM_MODULE 1
+#define CONFIG_SCSI_DPT_I2O_MODULE 1
+#define CONFIG_IPV6_PRIVACY 1
+#define CONFIG_X86_PM_TIMER 1
+#define CONFIG_HZ 250
+#define CONFIG_X86_BSWAP 1
+#define CONFIG_EDAC_POLL 1
+#define CONFIG_USB_AN2720 1
+#define CONFIG_SND_AD1889_MODULE 1
+#define CONFIG_TOUCHSCREEN_TOUCHRIGHT_MODULE 1
+#define CONFIG_ACENIC_MODULE 1
+#define CONFIG_PATA_TRIFLEX_MODULE 1
+#define CONFIG_PATA_EFAR_MODULE 1
+#define CONFIG_SCSI_NCR53C8XX_SYNC 5
+#define CONFIG_SMC_IRCC_FIR_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_HELPER_MODULE 1
+#define CONFIG_RT2X00_LEGACY 1
+#define CONFIG_INFINIBAND_IPOIB_MODULE 1
+#define CONFIG_SND_CS4231_MODULE 1
+#define CONFIG_ISDN_DIVAS_DIVACAPI_MODULE 1
+#define CONFIG_HISAX_NI1 1
+#define CONFIG_WAN_ROUTER_DRIVERS_MODULE 1
+#define CONFIG_HDLC_RAW_ETH_MODULE 1
+#define CONFIG_MTD_NAND_IDS_MODULE 1
+#define CONFIG_MTD_PHYSMAP_LEN 0x4000000
+#define CONFIG_IP_VS_RR_MODULE 1
+#define CONFIG_INET_DIAG 1
+#define CONFIG_NLS_ISO8859_1_MODULE 1
+#define CONFIG_SND_CS4232_MODULE 1
+#define CONFIG_I2C_SIS630_MODULE 1
+#define CONFIG_NET_ETHERNET 1
+#define CONFIG_SATA_ACPI 1
+#define CONFIG_MEGARAID_MAILBOX_MODULE 1
+#define CONFIG_NET_TCPPROBE_MODULE 1
+#define CONFIG_NET_SCH_GRED_MODULE 1
+#define CONFIG_COPS_TANGENT 1
+#define CONFIG_NETFILTER_XT_MATCH_LENGTH_MODULE 1
+#define CONFIG_ACPI_BLACKLIST_YEAR 2000
+#define CONFIG_NLS_ISO8859_2_MODULE 1
+#define CONFIG_HISAX_NETJET 1
+#define CONFIG_ATM_LANAI_MODULE 1
+#define CONFIG_TR 1
+#define CONFIG_NS83820_MODULE 1
+#define CONFIG_SCSI_NETLINK 1
+#define CONFIG_PNPBIOS_PROC_FS 1
+#define CONFIG_REED_SOLOMON_MODULE 1
+#define CONFIG_IP6_NF_QUEUE_MODULE 1
+#define CONFIG_NLS_ISO8859_3_MODULE 1
+#define CONFIG_SPEAKUP_DTLK_MODULE 1
+#define CONFIG_EDAC_E752X_MODULE 1
+#define CONFIG_MMC_SDHCI_MODULE 1
+#define CONFIG_MMC_BLOCK_MODULE 1
+#define CONFIG_USB_MICROTEK_MODULE 1
+#define CONFIG_USB_OHCI_LITTLE_ENDIAN 1
+#define CONFIG_SOUND_SSCAPE_MODULE 1
+#define CONFIG_VIDEO_ZORAN_DC10_MODULE 1
+#define CONFIG_SC1200_WDT_MODULE 1
+#define CONFIG_SATA_PROMISE_MODULE 1
+#define CONFIG_TIFM_7XX1_MODULE 1
+#define CONFIG_NET_SCH_HFSC_MODULE 1
+#define CONFIG_NET_SCH_FIFO 1
+#define CONFIG_NLS_ISO8859_4_MODULE 1
+#define CONFIG_USB_EPSON2888 1
+#define CONFIG_MOUSE_SERIAL_MODULE 1
+#define CONFIG_DE2104X_MODULE 1
+#define CONFIG_DM_MULTIPATH_MODULE 1
+#define CONFIG_MD_MULTIPATH_MODULE 1
+#define CONFIG_PARIDE_PD_MODULE 1
+#define CONFIG_KALLSYMS_ALL 1
+#define CONFIG_NLS_ISO8859_5_MODULE 1
+#define CONFIG_SND_CS4281_MODULE 1
+#define CONFIG_SND_CS4236_MODULE 1
+#define CONFIG_VIDEO_ZORAN_DC30_MODULE 1
+#define CONFIG_SBC_EPX_C3_WATCHDOG_MODULE 1
+#define CONFIG_ATM_BR2684_MODULE 1
+#define CONFIG_X86_FIND_SMP_CONFIG 1
+#define CONFIG_PROFILING 1
+#define CONFIG_NLS_ISO8859_6_MODULE 1
+#define CONFIG_USB_LIBUSUAL 1
+#define CONFIG_RADIO_SF16FMI_MODULE 1
+#define CONFIG_USB_ZC0301_MODULE 1
+#define CONFIG_VT 1
+#define CONFIG_B44_MODULE 1
+#define CONFIG_BLK_DEV_UMEM_MODULE 1
+#define CONFIG_PARIDE_PF_MODULE 1
+#define CONFIG_ISDN_CAPI_MODULE 1
+#define CONFIG_NLS_ISO8859_7_MODULE 1
+#define CONFIG_NLS_CODEPAGE_1250_MODULE 1
+#define CONFIG_SND_AU8810_MODULE 1
+#define CONFIG_SENSORS_SMSC47M1_MODULE 1
+#define CONFIG_SX_MODULE 1
+#define CONFIG_USB_ZD1201_MODULE 1
+#define CONFIG_MD_LINEAR_MODULE 1
+#define CONFIG_SATA_VITESSE_MODULE 1
+#define CONFIG_PARIDE_PG_MODULE 1
+#define CONFIG_CONNECTOR_MODULE 1
+#define CONFIG_IP_NF_MATCH_TTL_MODULE 1
+#define CONFIG_GENERIC_PENDING_IRQ 1
+#define CONFIG_NLS_CODEPAGE_1251_MODULE 1
+#define CONFIG_NLS_ISO8859_8_MODULE 1
+#define CONFIG_GFS2_FS_LOCKING_DLM_MODULE 1
+#define CONFIG_USB_NET_RNDIS_HOST_MODULE 1
+#define CONFIG_SND_AU8820_MODULE 1
+#define CONFIG_HISAX_IX1MICROR2 1
+#define CONFIG_ARCNET_RIM_I_MODULE 1
+#define CONFIG_MD_RAID5_RESHAPE 1
+#define CONFIG_SCSI_EATA_MODULE 1
+#define CONFIG_VLAN_8021Q_MODULE 1
+#define CONFIG_NLS_ISO8859_9_MODULE 1
+#define CONFIG_NCPFS_OS2_NS 1
+#define CONFIG_USB_KBTAB_MODULE 1
+#define CONFIG_SND_AU8830_MODULE 1
+#define CONFIG_FONT_8x16 1
+#define CONFIG_VIDEO_DPC_MODULE 1
+#define CONFIG_EUROTECH_WDT_MODULE 1
+#define CONFIG_NET_SCHED 1
+#define CONFIG_IP_NF_MATCH_TOS_MODULE 1
+#define CONFIG_BRIDGE_MODULE 1
+#define CONFIG_INET6_ESP_MODULE 1
+#define CONFIG_NETFILTER 1
+#define CONFIG_PCMCIA_MODULE 1
+#define CONFIG_PCCARD_MODULE 1
+#define CONFIG_BASE_FULL 1
+#define CONFIG_RTC_DRV_V3020_MODULE 1
+#define CONFIG_SND_RTCTIMER_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_B1PCMCIA_MODULE 1
+#define CONFIG_PCI_ATMEL_MODULE 1
+#define CONFIG_VIA_VELOCITY_MODULE 1
+#define CONFIG_WD80x3_MODULE 1
+#define CONFIG_SCSI_SYM53C8XX_MMIO 1
+#define CONFIG_SCSI_SYM53C8XX_2_MODULE 1
+#define CONFIG_SCSI_NCR_D700_MODULE 1
+#define CONFIG_CRC_CCITT_MODULE 1
+#define CONFIG_IP_MULTICAST 1
+#define CONFIG_SPEAKUP_LTLK_MODULE 1
+#define CONFIG_USB_G_SERIAL_MODULE 1
+#define CONFIG_CS89x0_MODULE 1
+#define CONFIG_MD_RAID456_MODULE 1
+#define CONFIG_MTD_BLOCK_RO_MODULE 1
+#define CONFIG_MTD_BLOCK_MODULE 1
+#define CONFIG_PREVENT_FIRMWARE_BUILD 1
+#define CONFIG_NET_IPGRE_BROADCAST 1
+#define CONFIG_NCPFS_EXTRAS 1
+#define CONFIG_USB_SL811_HCD_MODULE 1
+#define CONFIG_VIDEO_ZORAN_BUZ_MODULE 1
+#define CONFIG_TCG_ATMEL_MODULE 1
+#define CONFIG_BLK_DEV_PIIX_MODULE 1
+#define CONFIG_BLK_DEV_LOOP_MODULE 1
+#define CONFIG_MTD_NAND_DISKONCHIP_MODULE 1
+#define CONFIG_MTD_M25P80_MODULE 1
+#define CONFIG_IRDA_FAST_RR 1
+#define CONFIG_USB_TOUCHSCREEN_PANJIT 1
+#define CONFIG_SND_ES1938_MODULE 1
+#define CONFIG_ADAPTEC_STARFIRE_MODULE 1
+#define CONFIG_ATA_OVER_ETH_MODULE 1
+#define CONFIG_IP_NF_FILTER_MODULE 1
+#define CONFIG_PM_LEGACY 1
+#define CONFIG_GENERIC_CALIBRATE_DELAY 1
+#define CONFIG_HAS_IOMEM 1
+#define CONFIG_FB_DDC_MODULE 1
+#define CONFIG_VIDEO_CX88_VP3054_MODULE 1
+#define CONFIG_ISDN_DRV_ICN_MODULE 1
+#define CONFIG_HISAX_SPORTSTER 1
+#define CONFIG_EPIC100_MODULE 1
+#define CONFIG_EQUALIZER_MODULE 1
+#define CONFIG_INET6_XFRM_MODE_TRANSPORT_MODULE 1
+#define CONFIG_RTC_DRV_X1205_MODULE 1
+#define CONFIG_SC6600_JOY 1
+#define CONFIG_SND_ES1688_MODULE 1
+#define CONFIG_VIDEO_BUF_MODULE 1
+#define CONFIG_AGP_INTEL_MODULE 1
+#define CONFIG_MOXA_SMARTIO_MODULE 1
+#define CONFIG_IPW2100_MODULE 1
+#define CONFIG_IEEE1394_DV1394_MODULE 1
+#define CONFIG_MTD_CFI_UTIL_MODULE 1
+#define CONFIG_BT_HCIUSB_MODULE 1
+#define CONFIG_DECNET_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_MULTIPORT_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_POLICY_MODULE 1
+#define CONFIG_NETFILTER_XT_TARGET_NFLOG_MODULE 1
+#define CONFIG_FW_LOADER 1
+#define CONFIG_CRYPTO_DEV_PADLOCK_AES_MODULE 1
+#define CONFIG_CRYPTO_SHA512_MODULE 1
+#define CONFIG_EARLY_PRINTK 1
+#define CONFIG_SND_ES1968_MODULE 1
+#define CONFIG_NET_WIRELESS 1
+#define CONFIG_IPW2200_MODULE 1
+#define CONFIG_TIGON3_MODULE 1
+#define CONFIG_MTD_CK804XROM_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_MAC_MODULE 1
+#define CONFIG_NLS_ASCII_MODULE 1
+#define CONFIG_USB_MDC800_MODULE 1
+#define CONFIG_SND_ALS100_MODULE 1
+#define CONFIG_DVB_SP8870_MODULE 1
+#define CONFIG_VIDEO_SAA7134_DVB_MODULE 1
+#define CONFIG_VIDEO_DEV_MODULE 1
+#define CONFIG_HISAX_MIC 1
+#define CONFIG_VIA_RHINE_MODULE 1
+#define CONFIG_PARIDE_MODULE 1
+#define CONFIG_MTD_TS5500_MODULE 1
+#define CONFIG_NET_RADIO 1
+#define CONFIG_BRIDGE_EBT_ARPREPLY_MODULE 1
+#define CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE 1
+#define CONFIG_NCPFS_STRONG 1
+#define CONFIG_SND_SBAWE_MODULE 1
+#define CONFIG_FB_PM2_MODULE 1
+#define CONFIG_SCSI_LPFC_MODULE 1
+#define CONFIG_IP_DCCP_CCID2_MODULE 1
+#define CONFIG_CRYPTO_DEV_PADLOCK_SHA_MODULE 1
+#define CONFIG_USB_GSPCA_MODULE 1
+#define CONFIG_RTC_INTF_DEV_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_PDA_MODULE 1
+#define CONFIG_SND_ALS300_MODULE 1
+#define CONFIG_LCD_CLASS_DEVICE_MODULE 1
+#define CONFIG_FB_HGA_MODULE 1
+#define CONFIG_VIDEO_PVRUSB2_24XXX 1
+#define CONFIG_HISAX_HFC_SX 1
+#define CONFIG_IP_DCCP_CCID3_MODULE 1
+#define CONFIG_X86_ACPI_CPUFREQ_MODULE 1
+#define CONFIG_ISO9660_FS_MODULE 1
+#define CONFIG_SND_VXPOCKET_MODULE 1
+#define CONFIG_ATM_HE_USE_SUNI 1
+#define CONFIG_SCSI_GDTH_MODULE 1
+#define CONFIG_TIFM_CORE_MODULE 1
+#define CONFIG_PARIDE_PT_MODULE 1
+#define CONFIG_BRIDGE_EBT_AMONG_MODULE 1
+#define CONFIG_PACKET_MODULE 1
+#define CONFIG_HOTPLUG_PCI_CPCI_ZT5550_MODULE 1
+#define CONFIG_CPU_FREQ_GOV_CONSERVATIVE_MODULE 1
+#define CONFIG_ACPI_ASUS_MODULE 1
+#define CONFIG_X86_PC 1
+#define CONFIG_CRYPTO_SHA256_MODULE 1
+#define CONFIG_USB_ARMLINUX 1
+#define CONFIG_SND_SERIAL_U16550_MODULE 1
+#define CONFIG_USB_VICAM_MODULE 1
+#define CONFIG_TUNER_3036_MODULE 1
+#define CONFIG_DVB_BT8XX_MODULE 1
+#define CONFIG_YELLOWFIN_MODULE 1
+#define CONFIG_AIC79XX_DEBUG_ENABLE 1
+#define CONFIG_BT_RFCOMM_MODULE 1
+#define CONFIG_DONGLE 1
+#define CONFIG_NET_SCH_TEQL_MODULE 1
+#define CONFIG_BRIDGE_NETFILTER 1
+#define CONFIG_PCI_GOANY 1
+#define CONFIG_BSD_PROCESS_ACCT_V3 1
+#define CONFIG_GENERIC_HARDIRQS 1
+#define CONFIG_DEBUG_BUGVERBOSE 1
+#define CONFIG_NCPFS_IOCTL_LOCKING 1
+#define CONFIG_JFS_SECURITY 1
+#define CONFIG_FS_POSIX_ACL 1
+#define CONFIG_I2C_AMD8111_MODULE 1
+#define CONFIG_SERIAL_CORE_CONSOLE 1
+#define CONFIG_R8169_VLAN 1
+#define CONFIG_SMC9194_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_STRING_MODULE 1
+#define CONFIG_NF_CT_PROTO_GRE_MODULE 1
+#define CONFIG_SCHED_SMT 1
+#define CONFIG_X86_WP_WORKS_OK 1
+#define CONFIG_FB_SAVAGE_I2C 1
+#define CONFIG_HPET_MMAP 1
+#define CONFIG_INPUT_WISTRON_BTNS_MODULE 1
+#define CONFIG_DE_AOC 1
+#define CONFIG_AIC7XXX_RESET_DELAY_MS 15000
+#define CONFIG_SCSI_3W_9XXX_MODULE 1
+#define CONFIG_IP6_NF_MATCH_IPV6HEADER_MODULE 1
+#define CONFIG_INET6_XFRM_MODE_TUNNEL_MODULE 1
+#define CONFIG_FIB_RULES 1
+#define CONFIG_QNX4FS_FS_MODULE 1
+#define CONFIG_CRAMFS 1
+#define CONFIG_USB_ATMEL_MODULE 1
+#define CONFIG_USB_TOUCHSCREEN_ETURBO 1
+#define CONFIG_SOUND_AEDSP16_MODULE 1
+#define CONFIG_SOUND_ICH_MODULE 1
+#define CONFIG_SND_HWDEP_MODULE 1
+#define CONFIG_VIDEO_PVRUSB2_29XXX 1
+#define CONFIG_FUSION_FC_MODULE 1
+#define CONFIG_MTD_PHRAM_MODULE 1
+#define CONFIG_NET_SCH_CLK_JIFFIES 1
+#define CONFIG_ACORN_PARTITION_RISCIX 1
+#define CONFIG_PRISM2 1
+#define CONFIG_EDAC_I82860_MODULE 1
+#define CONFIG_FB_RADEON_I2C 1
+#define CONFIG_VIDEO_MXB_MODULE 1
+#define CONFIG_VIDEO_ZORAN_LML33R10_MODULE 1
+#define CONFIG_VIDEO_SAA5246A_MODULE 1
+#define CONFIG_SCx200_I2C_MODULE 1
+#define CONFIG_SERIO_CT82C710_MODULE 1
+#define CONFIG_JOYSTICK_SIDEWINDER_MODULE 1
+#define CONFIG_MOUSE_PS2_MODULE 1
+#define CONFIG_ARCNET_MODULE 1
+#define CONFIG_SCSI_NCR_Q720_MODULE 1
+#define CONFIG_SCSI_PROC_FS 1
+#define CONFIG_MCP2120_DONGLE_MODULE 1
+#define CONFIG_NET_SCH_PRIO_MODULE 1
+#define CONFIG_IP_NF_MATCH_IPRANGE_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_TCPMSS_MODULE 1
+#define CONFIG_NET_IPGRE_MODULE 1
+#define CONFIG_RTC_CLASS_MODULE 1
+#define CONFIG_EDAC_R82600_MODULE 1
+#define CONFIG_USB_SERIAL_EDGEPORT_TI_MODULE 1
+#define CONFIG_USB_STORAGE_FREECOM 1
+#define CONFIG_FB_MATROX_MULTIHEAD 1
+#define CONFIG_VIDEO_CX88_BLACKBIRD_MODULE 1
+#define CONFIG_VIDEO_HEXIUM_GEMINI_MODULE 1
+#define CONFIG_IBMASR_MODULE 1
+#define CONFIG_FEALNX_MODULE 1
+#define CONFIG_WIRELESS_EXT 1
+#define CONFIG_ECONET_MODULE 1
+#define CONFIG_I2C_MODULE 1
+#define CONFIG_SND_BTSCO_MODULE 1
+#define CONFIG_USB_SERIAL_CP2101_MODULE 1
+#define CONFIG_FB_NVIDIA_I2C 1
+#define CONFIG_FB_CIRRUS_MODULE 1
+#define CONFIG_ISDN_CAPI_CAPIFS_MODULE 1
+#define CONFIG_HISAX_HFC4S8S_MODULE 1
+#define CONFIG_HW_RANDOM 1
+#define CONFIG_EEXPRESS_PRO_MODULE 1
+#define CONFIG_MTD_PMC551_MODULE 1
+#define CONFIG_X25_MODULE 1
+#define CONFIG_BRIDGE_EBT_T_FILTER_MODULE 1
+#define CONFIG_PCCARD_NONSTATIC_MODULE 1
+#define CONFIG_NCPFS_NFS_NS 1
+#define CONFIG_INOTIFY_USER 1
+#define CONFIG_AVERATEC_5100P_MODULE 1
+#define CONFIG_USB_WACOM_MODULE 1
+#define CONFIG_SND_HDSPM_MODULE 1
+#define CONFIG_SENSORS_W83627EHF_MODULE 1
+#define CONFIG_MAX_RAW_DEVS 256
+#define CONFIG_PCIPCWATCHDOG_MODULE 1
+#define CONFIG_INPUT_JOYDEV_MODULE 1
+#define CONFIG_FIXED_PHY_MODULE 1
+#define CONFIG_CRYPTO_CRC32C_MODULE 1
+#define CONFIG_LEDS_WRAP_MODULE 1
+#define CONFIG_USB_SERIAL_AIRPRIME_MODULE 1
+#define CONFIG_I2C_ALI1535_MODULE 1
+#define CONFIG_MACHZ_WDT_MODULE 1
+#define CONFIG_ISCSI_TCP_MODULE 1
+#define CONFIG_X86_HT 1
+#define CONFIG_LMPCM_USB_MODULE 1
+#define CONFIG_USB_SERIAL_EDGEPORT_MODULE 1
+#define CONFIG_FB_MATROX_MODULE 1
+#define CONFIG_I2C_ALI1563_MODULE 1
+#define CONFIG_INPUT_PCSPKR_MODULE 1
+#define CONFIG_CHELSIO_T1_1G 1
+#define CONFIG_EL1_MODULE 1
+#define CONFIG_TRACE_IRQFLAGS_SUPPORT 1
+#define CONFIG_BSD_DISKLABEL 1
+#define CONFIG_VIDEO_TEA6415C_MODULE 1
+#define CONFIG_WAFER_WDT_MODULE 1
+#define CONFIG_SHAPER_MODULE 1
+#define CONFIG_EL2_MODULE 1
+#define CONFIG_CHR_DEV_OSST_MODULE 1
+#define CONFIG_MTD_SLRAM_MODULE 1
+#define CONFIG_MICROCODE_OLD_INTERFACE 1
+#define CONFIG_VIDEO_UPD64083_MODULE 1
+#define CONFIG_MOUSE_INPORT_MODULE 1
+#define CONFIG_PHONE_IXJ_MODULE 1
+#define CONFIG_HOSTAP_CS_MODULE 1
+#define CONFIG_HERMES_MODULE 1
+#define CONFIG_EL3_MODULE 1
+#define CONFIG_PM_SYSFS_DEPRECATED 1
+#define CONFIG_POSIX_MQUEUE 1
+#define CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE 1
+#define CONFIG_ACPI_SONY_MODULE 1
+#define CONFIG_IPW3945_MODULE 1
+#define CONFIG_USB_HIDINPUT_POWERBOOK 1
+#define CONFIG_SND_GINA20_MODULE 1
+#define CONFIG_SND_TIMER_MODULE 1
+#define CONFIG_DVB_BUDGET_PATCH_MODULE 1
+#define CONFIG_SCx200_ACB_MODULE 1
+#define CONFIG_I2C_PROSAVAGE_MODULE 1
+#define CONFIG_PCMCIA_NMCLAN_MODULE 1
+#define CONFIG_MD_FAULTY_MODULE 1
+#define CONFIG_IBMMCA_SCSI_ORDER_STANDARD 1
+#define CONFIG_BRIDGE_EBT_LIMIT_MODULE 1
+#define CONFIG_NCPFS_NLS 1
+#define CONFIG_RT2X00_LIB_MODULE 1
+#define CONFIG_USB_SERIAL_DIGI_ACCELEPORT_MODULE 1
+#define CONFIG_RADIO_GEMTEK_PCI_MODULE 1
+#define CONFIG_VIDEO_PMS_MODULE 1
+#define CONFIG_VIDEO_CS53L32A_MODULE 1
+#define CONFIG_PCMCIA_AHA152X_MODULE 1
+#define CONFIG_MTD_BLOCK2MTD_MODULE 1
+#define CONFIG_X86 1
+#define CONFIG_JOLIET 1
+#define CONFIG_RADIO_RTRACK2_MODULE 1
+#define CONFIG_W1_CON 1
+#define CONFIG_8139TOO_MODULE 1
+#define CONFIG_MTD_L440GX_MODULE 1
+#define CONFIG_IRCOMM_MODULE 1
+#define CONFIG_XFS_SECURITY 1
+#define CONFIG_USB_RIO500_MODULE 1
+#define CONFIG_FB_SIS_300 1
+#define CONFIG_N_HDLC_MODULE 1
+#define CONFIG_PHYLIB_MODULE 1
+#define CONFIG_AIC79XX_CMDS_PER_DEVICE 32
+#define CONFIG_SELECT_MEMORY_MODEL 1
+#define CONFIG_SYSFS_DEPRECATED 1
+#define CONFIG_CRYPTO_TGR192_MODULE 1
+#define CONFIG_KVM_INTEL_MODULE 1
+#define CONFIG_SND_PCXHR_MODULE 1
+#define CONFIG_SND_GINA24_MODULE 1
+#define CONFIG_FB_I810_MODULE 1
+#define CONFIG_JOYSTICK_GAMECON_MODULE 1
+#define CONFIG_DSCC4_PCISYNC 1
+#define CONFIG_MTD_AMD76XROM_MODULE 1
+#define CONFIG_ACORN_PARTITION_ICS 1
+#define CONFIG_AUTOFS_FS_MODULE 1
+#define CONFIG_RTL8187_MODULE 1
+#define CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE 1
+#define CONFIG_DVB_LNBP21_MODULE 1
+#define CONFIG_I2O_MODULE 1
+#define CONFIG_IEEE1394_RAWIO_MODULE 1
+#define CONFIG_NF_CONNTRACK_EVENTS 1
+#define CONFIG_CPU_FREQ_GOV_USERSPACE_MODULE 1
+#define CONFIG_SND_MPU401_MODULE 1
+#define CONFIG_FB_ATY_CT 1
+#define CONFIG_HWMON_VID_MODULE 1
+#define CONFIG_WDTPCI_MODULE 1
+#define CONFIG_SERIAL_8250_EXAR_ST16C554_MODULE 1
+#define CONFIG_SERIO_RAW_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON 1
+#define CONFIG_ATM_IA_MODULE 1
+#define CONFIG_DM_MIRROR_MODULE 1
+#define CONFIG_PCMCIA_QLOGIC_MODULE 1
+#define CONFIG_IDEPCI_SHARE_IRQ 1
+#define CONFIG_ISAPNP 1
+#define CONFIG_NETFILTER_XT_MATCH_ESP_MODULE 1
+#define CONFIG_CFG80211_MODULE 1
+#define CONFIG_NET_IPG_JUMBO_FRAME 1
+#define CONFIG_USB_SERIAL_PL2303_MODULE 1
+#define CONFIG_SOUND_PAS_MODULE 1
+#define CONFIG_SND_MTPAV_MODULE 1
+#define CONFIG_ISDN_TTY_FAX 1
+#define CONFIG_MTD_DATAFLASH_MODULE 1
+#define CONFIG_IP_NF_TARGET_CLUSTERIP_MODULE 1
+#define CONFIG_I8K_MODULE 1
+#define CONFIG_MAC80211_MODULE 1
+#define CONFIG_SND_INTEL8X0M_MODULE 1
+#define CONFIG_FB_MATROX_MILLENIUM 1
+#define CONFIG_PPP_ASYNC_MODULE 1
+#define CONFIG_NET_EMATCH_STACK 32
+#define CONFIG_USB_OV511_NEW_MODULE 1
+#define CONFIG_DAZUKO_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA28XA 1
+#define CONFIG_SND_DT019X_MODULE 1
+#define CONFIG_FB_SIS_315 1
+#define CONFIG_DVB_CX24110_MODULE 1
+#define CONFIG_VIDEO_SAA7134_OSS_MODULE 1
+#define CONFIG_USBPCWATCHDOG_MODULE 1
+#define CONFIG_SERIAL_8250_FOURPORT_MODULE 1
+#define CONFIG_ATM_HE_MODULE 1
+#define CONFIG_NET_WIRELESS_RTNETLINK 1
+#define CONFIG_MTD_NAND_NANDSIM_MODULE 1
+#define CONFIG_ACT200L_DONGLE_MODULE 1
+#define CONFIG_IP_NF_TARGET_REJECT_MODULE 1
+#define CONFIG_NFS_V3 1
+#define CONFIG_ECRYPT_FS_MODULE 1
+#define CONFIG_USB_SERIAL_DEBUG_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA19QI 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA28XB 1
+#define CONFIG_DVB_B2C2_FLEXCOP_PCI_MODULE 1
+#define CONFIG_HOSTAP_MODULE 1
+#define CONFIG_SUNGEM_MODULE 1
+#define CONFIG_QSEMI_PHY_MODULE 1
+#define CONFIG_NET_FC 1
+#define CONFIG_BLK_DEV_PDC202XX_OLD_MODULE 1
+#define CONFIG_BLK_DEV_SC1200_MODULE 1
+#define CONFIG_BLK_DEV_IDECD_MODULE 1
+#define CONFIG_INET_XFRM_MODE_BEET_MODULE 1
+#define CONFIG_X86_REBOOTFIXUPS 1
+#define CONFIG_NFS_V4 1
+#define CONFIG_JBD_MODULE 1
+#define CONFIG_USB_ARCH_HAS_HCD 1
+#define CONFIG_SND_DUMMY_MODULE 1
+#define CONFIG_JOYSTICK_IFORCE_USB 1
+#define CONFIG_PHONE_IXJ_PCMCIA_MODULE 1
+#define CONFIG_PCMCIA_HERMES_MODULE 1
+#define CONFIG_TMSPCI_MODULE 1
+#define CONFIG_SCSI_SYM53C416_MODULE 1
+#define CONFIG_USB_APPLEDISPLAY_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_MPR 1
+#define CONFIG_USB_NET_CDCETHER_MODULE 1
+#define CONFIG_DVB_CX22700_MODULE 1
+#define CONFIG_GIRBIL_DONGLE_MODULE 1
+#define CONFIG_DEFAULT_TCP_CONG "cubic"
+#define CONFIG_MCA 1
+#define CONFIG_BSD_PROCESS_ACCT 1
+#define CONFIG_AFS_FS_MODULE 1
+#define CONFIG_INFINIBAND_MODULE 1
+#define CONFIG_USB_EZUSB 1
+#define CONFIG_USB_MOUSE_MODULE 1
+#define CONFIG_FIRMWARE_EDID 1
+#define CONFIG_DVB_CINERGYT2_MODULE 1
+#define CONFIG_DVB_S5H1420_MODULE 1
+#define CONFIG_DVB_CX24123_MODULE 1
+#define CONFIG_HISAX_16_0 1
+#define CONFIG_IDE 1
+#define CONFIG_NET_CLS_RSVP_MODULE 1
+#define CONFIG_IRQBALANCE 1
+#define CONFIG_LBD 1
+#define CONFIG_GENERIC_IOMAP 1
+#define CONFIG_AUDIT_GENERIC 1
+#define CONFIG_BFS_FS_MODULE 1
+#define CONFIG_FAT_FS_MODULE 1
+#define CONFIG_RTC_DRV_TEST_MODULE 1
+#define CONFIG_SND_PDAUDIOCF_MODULE 1
+#define CONFIG_FB_ATY_GX 1
+#define CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE 512
+#define CONFIG_DVB_CX22702_MODULE 1
+#define CONFIG_I2C_SIS96X_MODULE 1
+#define CONFIG_JOYSTICK_TURBOGRAFX_MODULE 1
+#define CONFIG_MTD_NAND_CAFE_MODULE 1
+#define CONFIG_NF_CONNTRACK_IRC_MODULE 1
+#define CONFIG_CRYPTO_BLKCIPHER_MODULE 1
+#define CONFIG_SND_AD1848_LIB_MODULE 1
+#define CONFIG_INPUT_UINPUT_MODULE 1
+#define CONFIG_TOUCHSCREEN_MK712_MODULE 1
+#define CONFIG_NET_TULIP 1
+#define CONFIG_FUSION 1
+#define CONFIG_IP_MROUTE 1
+#define CONFIG_HOTPLUG_PCI_FAKE_MODULE 1
+#define CONFIG_SPARSEMEM_STATIC 1
+#define CONFIG_EFI 1
+#define CONFIG_ACPI_TC1100_MODULE 1
+#define CONFIG_USB_TOUCHSCREEN_ITM 1
+#define CONFIG_FB_ATY_MODULE 1
+#define CONFIG_VIDEO_TLV320AIC23B_MODULE 1
+#define CONFIG_HISAX_16_3 1
+#define CONFIG_C101_MODULE 1
+#define CONFIG_ELPLUS_MODULE 1
+#define CONFIG_SCSI_STEX_MODULE 1
+#define CONFIG_BT_HCIBT3C_MODULE 1
+#define CONFIG_HID_MODULE 1
+#define CONFIG_NETROM_MODULE 1
+#define CONFIG_IP_NF_RAW_MODULE 1
+#define CONFIG_IP6_NF_MANGLE_MODULE 1
+#define CONFIG_NF_CONNTRACK_H323_MODULE 1
+#define CONFIG_EFS_FS_MODULE 1
+#define CONFIG_FAT_DEFAULT_CODEPAGE 437
+#define CONFIG_ZISOFS_FS_MODULE 1
+#define CONFIG_USB_SERIAL_EMPEG_MODULE 1
+#define CONFIG_FB_SIS_MODULE 1
+#define CONFIG_DVB_OR51211_MODULE 1
+#define CONFIG_DVB_BCM3510_MODULE 1
+#define CONFIG_SMSC37B787_WDT_MODULE 1
+#define CONFIG_E100_MODULE 1
+#define CONFIG_NET_VENDOR_RACAL 1
+#define CONFIG_SATA_SIL24_MODULE 1
+#define CONFIG_ATA_MODULE 1
+#define CONFIG_IP_DCCP_TFRC_LIB_MODULE 1
+#define CONFIG_IP_NF_TARGET_NETMAP_MODULE 1
+#define CONFIG_NF_NAT_MODULE 1
+#define CONFIG_UNAME_RELEASE "2.6.15.7"
+#define CONFIG_UDF_FS_MODULE 1
+#define CONFIG_SPEAKUP_DECPC_MODULE 1
+#define CONFIG_ATM_FORE200E_PCA_DEFAULT_FW 1
+#define CONFIG_SCTP_HMAC_MD5 1
+#define CONFIG_NF_NAT_AMANDA_MODULE 1
+#define CONFIG_NLS_ISO8859_13_MODULE 1
+#define CONFIG_GFS_FS_MODULE 1
+#define CONFIG_DVB_OR51132_MODULE 1
+#define CONFIG_AGP_MODULE 1
+#define CONFIG_AIC7XXX_DEBUG_ENABLE 1
+#define CONFIG_NET_DCCPPROBE_MODULE 1
+#define CONFIG_PRINTK 1
+#define CONFIG_NLS_ISO8859_14_MODULE 1
+#define CONFIG_NCP_FS_MODULE 1
+#define CONFIG_RPCSEC_GSS_SPKM3_MODULE 1
+#define CONFIG_HFS_FS_MODULE 1
+#define CONFIG_USB_LD_MODULE 1
+#define CONFIG_USB_SERIAL_FTDI_SIO_MODULE 1
+#define CONFIG_JOYSTICK_GF2K_MODULE 1
+#define CONFIG_SCSI_7000FASST_MODULE 1
+#define CONFIG_BLK_DEV_CS5530_MODULE 1
+#define CONFIG_SCC_MODULE 1
+#define CONFIG_NET_EMATCH_NBYTE_MODULE 1
+#define CONFIG_NLS_ISO8859_15_MODULE 1
+#define CONFIG_SMB_FS_MODULE 1
+#define CONFIG_XFS_QUOTA 1
+#define CONFIG_INTEL_IOATDMA_MODULE 1
+#define CONFIG_USB_ACECAD_MODULE 1
+#define CONFIG_PSS_MIXER 1
+#define CONFIG_SND_AD1816A_MODULE 1
+#define CONFIG_SND_CS4231_LIB_MODULE 1
+#define CONFIG_SCSI_NCR53C8XX_MAX_TAGS 4
+#define CONFIG_BT_SCO_MODULE 1
+#define CONFIG_NF_NAT_NEEDED 1
+#define CONFIG_IP_VS_PROTO_TCP 1
+#define CONFIG_HOTPLUG_PCI_ACPI_MODULE 1
+#define CONFIG_EISA_VLB_PRIMING 1
+#define CONFIG_DMI 1
+#define CONFIG_SUNRPC_MODULE 1
+#define CONFIG_JFS_FS_MODULE 1
+#define CONFIG_FS_MBCACHE_MODULE 1
+#define CONFIG_SOUND_MSS_MODULE 1
+#define CONFIG_SERIAL_8250_NR_UARTS 48
+#define CONFIG_LLC 1
+#define CONFIG_IP6_NF_TARGET_HL_MODULE 1
+#define CONFIG_IP_VS_PROTO_ESP 1
+#define CONFIG_XFRM_USER_MODULE 1
+#define CONFIG_CPU_FREQ_GOV_POWERSAVE_MODULE 1
+#define CONFIG_CRC_ITU_T_MODULE 1
+#define CONFIG_NOZOMI_MODULE 1
+#define CONFIG_DVB 1
+#define CONFIG_ADVANTECH_WDT_MODULE 1
+#define CONFIG_ISDN_DIVAS_MAINT_MODULE 1
+#define CONFIG_ISDN_DRV_GIGASET_MODULE 1
+#define CONFIG_DM_MULTIPATH_EMC_MODULE 1
+#define CONFIG_SCSI_PAS16_MODULE 1
+#define CONFIG_MTD_DOC2000_MODULE 1
+#define CONFIG_TEKRAM_DONGLE_MODULE 1
+#define CONFIG_DEV_APPLETALK_MODULE 1
+#define CONFIG_BRIDGE_EBT_T_NAT_MODULE 1
+#define CONFIG_IP_VS_SED_MODULE 1
+#define CONFIG_IP_VS_PROTO_UDP 1
+#define CONFIG_HOTPLUG_PCI_CPCI 1
+#define CONFIG_PCI 1
+#define CONFIG_DLM_MODULE 1
+#define CONFIG_MMC_MODULE 1
+#define CONFIG_USB_FILE_STORAGE_MODULE 1
+#define CONFIG_USB_PHIDGETSERVO_MODULE 1
+#define CONFIG_USB_SERIAL_KEYSPAN_USA19QW 1
+#define CONFIG_USB_USS720_MODULE 1
+#define CONFIG_SOUND_OSS_MODULE 1
+#define CONFIG_SND_ECHO3G_MODULE 1
+#define CONFIG_DVB_SP887X_MODULE 1
+#define CONFIG_DVB_B2C2_FLEXCOP_USB_MODULE 1
+#define CONFIG_DVB_ZL10353_MODULE 1
+#define CONFIG_VIDEO_V4L1 1
+#define CONFIG_ISDN_DRV_AVMB1_B1PCI_MODULE 1
+#define CONFIG_AMD8111_ETH_MODULE 1
+#define CONFIG_BLK_DEV_DAC960_MODULE 1
+#define CONFIG_MTD_DOC2001_MODULE 1
+#define CONFIG_ISA 1
+#define CONFIG_INITRAMFS_SOURCE ""
+#define CONFIG_ZISOFS 1
+#define CONFIG_USB_UEAGLEATM_MODULE 1
+#define CONFIG_SOUND_PSS_MODULE 1
+#define CONFIG_VIDEO_V4L2 1
+#define CONFIG_ISDN_DRV_AVMB1_B1ISA_MODULE 1
+#define CONFIG_HISAX_BKM_A4T 1
+#define CONFIG_PCMCIA_XIRCOM_MODULE 1
+#define CONFIG_BLK_DEV_CS5535_MODULE 1
+#define CONFIG_BT_HCIDTL1_MODULE 1
+#define CONFIG_EISA_PCI_EISA 1
+#define CONFIG_HOTPLUG_PCI_PCIE_MODULE 1
+#define CONFIG_APM_MODULE 1
+#define CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG 1
+#define CONFIG_BUG 1
+#define CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE 0
+#define CONFIG_NFS_FS_MODULE 1
+#define CONFIG_FB_MATROX_I2C_MODULE 1
+#define CONFIG_IPMI_WATCHDOG_MODULE 1
+#define CONFIG_PCNET32_MODULE 1
+#define CONFIG_ULI526X_MODULE 1
+#define CONFIG_MII_MODULE 1
+#define CONFIG_I2O_CONFIG_MODULE 1
+#define CONFIG_BRIDGE_EBT_IP_MODULE 1
+#define CONFIG_NF_CONNTRACK_FTP_MODULE 1
+#define CONFIG_SND_ICE1712_MODULE 1
+#define CONFIG_DVB_AV7110_OSD 1
+#define CONFIG_NET_POLL_CONTROLLER 1
+#define CONFIG_ARCNET_1201_MODULE 1
+#define CONFIG_BT_HCIUART_H4 1
+#define CONFIG_NF_CONNTRACK_ENABLED_MODULE 1
+#define CONFIG_SENSORS_APPLESMC_MODULE 1
+#define CONFIG_P54_COMMON_MODULE 1
+#define CONFIG_USB_STORAGE_DPCM 1
+#define CONFIG_DVB_BUDGET_CI_MODULE 1
+#define CONFIG_VIDEO_PVRUSB2_SYSFS 1
+#define CONFIG_VIDEO_CX88_MODULE 1
+#define CONFIG_IP_NF_ARP_MANGLE_MODULE 1
+#define CONFIG_NF_CONNTRACK_SIP_MODULE 1
+#define CONFIG_CRYPTO 1
+#define CONFIG_CRYPTO_DEV_GEODE_MODULE 1
+#define CONFIG_LCD_DEVICE 1
+#define CONFIG_SONYPI_MODULE 1
+#define CONFIG_MOUSE_PC110PAD_MODULE 1
+#define CONFIG_MTD_CFI_INTELEXT_MODULE 1
+#define CONFIG_ATM 1
+#define CONFIG_SYSCTL 1
+#define CONFIG_SND_ICE1724_MODULE 1
+#define CONFIG_DRM_MODULE 1
+#define CONFIG_SERIAL_8250_CS_MODULE 1
+#define CONFIG_ARCNET_1051_MODULE 1
+#define CONFIG_SND_ATIIXP_MODEM_MODULE 1
+#define CONFIG_USB_STV680_MODULE 1
+#define CONFIG_I2C_SIS5595_MODULE 1
+#define CONFIG_I2C_ALI15X3_MODULE 1
+#define CONFIG_WDT_501 1
+#define CONFIG_PCWATCHDOG_MODULE 1
+#define CONFIG_ISDN_PPP_BSDCOMP_MODULE 1
+#define CONFIG_CYCLADES_SYNC_MODULE 1
+#define CONFIG_DSCC4_PCI_RST 1
+#define CONFIG_ARCNET_COM20020_CS_MODULE 1
+#define CONFIG_BLK_DEV_CMD640 1
+#define CONFIG_CDROM_PKTCDVD_MODULE 1
+#define CONFIG_ECONET_NATIVE 1
+#define CONFIG_RADIO_SF16FMR2_MODULE 1
+#define CONFIG_SND_MODULE 1
+#define CONFIG_SENSORS_W83L785TS_MODULE 1
+#define CONFIG_ATP_MODULE 1
+#define CONFIG_CICADA_PHY_MODULE 1
+#define CONFIG_MTD_DOCECC_MODULE 1
+#define CONFIG_MTD_MODULE 1
+#define CONFIG_MCA_LEGACY 1
+#define CONFIG_HPET_EMULATE_RTC 1
+#define CONFIG_UFS_FS_MODULE 1
+#define CONFIG_DVB_USB_NOVA_T_USB2_MODULE 1
+#define CONFIG_WAN 1
+#define CONFIG_CD_NO_IDESCSI 1
+#define CONFIG_FTL_MODULE 1
+#define CONFIG_IRDA_DEBUG 1
+#define CONFIG_IP_VS_WLC_MODULE 1
+#define CONFIG_ACPI_HOTPLUG_CPU 1
+#define CONFIG_RWSEM_XCHGADD_ALGORITHM 1
+#define CONFIG_DMA_ENGINE 1
+#define CONFIG_DVB_TTUSB_BUDGET_MODULE 1
+#define CONFIG_DVB_TDA8083_MODULE 1
+#define CONFIG_ISDN_CAPI_MIDDLEWARE 1
+#define CONFIG_PATA_CS5520_MODULE 1
+#define CONFIG_SCSI_NSP32_MODULE 1
+#define CONFIG_AIC7XXX_CMDS_PER_DEVICE 8
+#define CONFIG_MTD_PNC2000_MODULE 1
+#define CONFIG_YAM_MODULE 1
+#define CONFIG_IP6_NF_FILTER_MODULE 1
+#define CONFIG_IP_NF_TARGET_ECN_MODULE 1
+#define CONFIG_HT_IRQ 1
+#define CONFIG_NET 1
+#define CONFIG_KERNELVERSION "2.6.20-15-generic"
+#define CONFIG_SSB_MODULE 1
+#define CONFIG_SND_ALS4000_MODULE 1
+#define CONFIG_I2C_OCORES_MODULE 1
+#define CONFIG_PC87413_WDT_MODULE 1
+#define CONFIG_HISAX_HFC_PCI 1
+#define CONFIG_VORTEX_MODULE 1
+#define CONFIG_MODULE_UNLOAD 1
+#define CONFIG_XFS_FS_MODULE 1
+#define CONFIG_I2C_SAA717X_MODULE 1
+#define CONFIG_RT61PCI_MODULE 1
+#define CONFIG_INFINIBAND_AMSO1100_DEBUG 1
+#define CONFIG_SND_ALI5451_MODULE 1
+#define CONFIG_RADIO_MAESTRO_MODULE 1
+#define CONFIG_HISAX_1TR6 1
+#define CONFIG_BCM43XX_MODULE 1
+#define CONFIG_IEEE1394_MODULE 1
+#define CONFIG_SCSI_BUSLOGIC_MODULE 1
+#define CONFIG_IRTTY_SIR_MODULE 1
+#define CONFIG_NET_CLS_BASIC_MODULE 1
+#define CONFIG_TEXTSEARCH_BM_MODULE 1
+#define CONFIG_STANDALONE 1
+#define CONFIG_RTC 1
+#define CONFIG_MAC_PARTITION 1
+#define CONFIG_VIDEO_PVRUSB2_MODULE 1
+#define CONFIG_GAMEPORT_FM801_MODULE 1
+#define CONFIG_CAPI_EICON 1
+#define CONFIG_NETDEVICES 1
+#define CONFIG_SCSI_IN2000_MODULE 1
+#define CONFIG_USB_MODULE 1
+#define CONFIG_ECONET_AUNUDP 1
+#define CONFIG_IP_VS_FTP_MODULE 1
+#define CONFIG_INET_TCP_DIAG 1
+#define CONFIG_YENTA_TOSHIBA 1
+#define CONFIG_JFFS2_ZLIB 1
+#define CONFIG_USB_GADGET_DUALSPEED 1
+#define CONFIG_SND_CMI8330_MODULE 1
+#define CONFIG_JOYSTICK_STINGER_MODULE 1
+#define CONFIG_CAPI_TRACE 1
+#define CONFIG_HDLC_CISCO_MODULE 1
+#define CONFIG_CHELSIO_T1_MODULE 1
+#define CONFIG_HAMACHI_MODULE 1
+#define CONFIG_PARIDE_PCD_MODULE 1
+#define CONFIG_IP_NF_TARGET_TCPMSS_MODULE 1
+#define CONFIG_HOTPLUG_PCI_SHPC_MODULE 1
+#define CONFIG_SND_HDA_INTEL_MODULE 1
+#define CONFIG_DVB_TUA6100_MODULE 1
+#define CONFIG_DVB_BUDGET_AV_MODULE 1
+#define CONFIG_SPI 1
+#define CONFIG_SOFT_WATCHDOG_MODULE 1
+#define CONFIG_PPP_SYNC_TTY_MODULE 1
+#define CONFIG_ARCNET_COM90xxIO_MODULE 1
+#define CONFIG_SCSI_ACARD_MODULE 1
+#define CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS 0x0
+#define CONFIG_SOFTWARE_SUSPEND 1
+#define CONFIG_VMI 1
+#define CONFIG_EFI_PARTITION 1
+#define CONFIG_NLS 1
+#define CONFIG_SENSORS_DS1621_MODULE 1
+#define CONFIG_W1_MASTER_MATROX_MODULE 1
+#define CONFIG_ULTRA32_MODULE 1
+#define CONFIG_CRYPTO_ALGAPI 1
+#define CONFIG_PACKARDBELL_E5_MODULE 1
+#define CONFIG_KVM_MODULE 1
+#define CONFIG_FB_VOODOO1_MODULE 1
+#define CONFIG_VIDEO_BUF_DVB_MODULE 1
+#define CONFIG_I2C_VIAPRO_MODULE 1
+#define CONFIG_SCx200_WDT_MODULE 1
+#define CONFIG_SERIAL_8250 1
+#define CONFIG_MADGEMC_MODULE 1
+#define CONFIG_PNP 1
+#define CONFIG_USB_FTDI_ELAN_MODULE 1
+#define CONFIG_SND_SEQUENCER_MODULE 1
+#define CONFIG_WDT_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_T1PCI_MODULE 1
+#define CONFIG_ARCNET_COM20020_MODULE 1
+#define CONFIG_MTD_CFI_I1 1
+#define CONFIG_TCP_MD5SIG 1
+#define CONFIG_MMU 1
+#define CONFIG_EDAC_E7XXX_MODULE 1
+#define CONFIG_DVB_ISL6421_MODULE 1
+#define CONFIG_VIDEO_STRADIS_MODULE 1
+#define CONFIG_HW_RANDOM_AMD_MODULE 1
+#define CONFIG_INPUT_FF_MEMLESS_MODULE 1
+#define CONFIG_ISDN_DRV_AVMB1_T1ISA_MODULE 1
+#define CONFIG_ARCNET_CAP_MODULE 1
+#define CONFIG_PATA_IT8213_MODULE 1
+#define CONFIG_SCSI_SYM53C8XX_MAX_TAGS 64
+#define CONFIG_BLK_DEV_RAM_SIZE 65536
+#define CONFIG_MTD_CFI_I2 1
+#define CONFIG_PPP_MODULE 1
+#define CONFIG_M586 1
+#define CONFIG_SMP 1
+#define CONFIG_USB_AUERSWALD_MODULE 1
+#define CONFIG_SENSORS_W83793_MODULE 1
+#define CONFIG_SENSORS_DS1337_MODULE 1
+#define CONFIG_HISAX_SCT_QUADRO 1
+#define CONFIG_HISAX_TELEINT 1
+#define CONFIG_IPX_MODULE 1
+#define CONFIG_DEBUG_INFO 1
+#define CONFIG_EXT2_FS_SECURITY 1
+#define CONFIG_USB_IBMCAM_MODULE 1
+#define CONFIG_VIDEO_CPIA_PP_MODULE 1
+#define CONFIG_VIDEO_TVAUDIO_MODULE 1
+#define CONFIG_SENSORS_DS1374_MODULE 1
+#define CONFIG_AGP_NVIDIA_MODULE 1
+#define CONFIG_SK98LIN_MODULE 1
+#define CONFIG_PATA_SERVERWORKS_MODULE 1
+#define CONFIG_PATA_RZ1000_MODULE 1
+#define CONFIG_IOSCHED_AS 1
+#define CONFIG_CRYPTO_KHAZAD_MODULE 1
+#define CONFIG_EXT3_FS_SECURITY 1
+#define CONFIG_IPW2100_FS_AMILO_M7400_MODULE 1
+#define CONFIG_BLK_DEV_CLOOP_MODULE 1
+#define CONFIG_VIDEO_CPIA_MODULE 1
+#define CONFIG_SENSORS_ASB100_MODULE 1
+#define CONFIG_W1_SLAVE_SMEM_MODULE 1
+#define CONFIG_NET_PCMCIA 1
+#define CONFIG_BT_HCIVHCI_MODULE 1
+#define CONFIG_IP_NF_TARGET_LOG_MODULE 1
+#define CONFIG_ACPI_VIDEO_MODULE 1
+#define CONFIG_BASE_SMALL 0
+#define CONFIG_P54_PCI_MODULE 1
+#define CONFIG_SPEAKUP_KEYPC_MODULE 1
+#define CONFIG_SND_CS46XX_MODULE 1
+#define CONFIG_DVB_VES1820_MODULE 1
+#define CONFIG_SCx200_I2C_SDA 13
+#define CONFIG_IBMLANA_MODULE 1
+#define CONFIG_RTC_DRV_DS1307_MODULE 1
+#define CONFIG_USB_GADGET_MODULE 1
+#define CONFIG_SND_ENS1370_MODULE 1
+#define CONFIG_SND_ES18XX_MODULE 1
+#define CONFIG_SND_AC97_CODEC_MODULE 1
+#define CONFIG_JOYSTICK_WARRIOR_MODULE 1
+#define CONFIG_NE2_MCA_MODULE 1
+#define CONFIG_MTD_GEN_PROBE_MODULE 1
+#define CONFIG_IRDA_CACHE_LAST_LSAP 1
+#define CONFIG_EISA_NAMES 1
+#define CONFIG_ACPI_SLEEP 1
+#define CONFIG_X86_INVLPG 1
+#define CONFIG_LDM_PARTITION 1
+#define CONFIG_XFS_RT 1
+#define CONFIG_USB_SERIAL_CYBERJACK_MODULE 1
+#define CONFIG_SND_ENS1371_MODULE 1
+#define CONFIG_DVB_BUDGET_MODULE 1
+#define CONFIG_CS5535_GPIO_MODULE 1
+#define CONFIG_IPMI_POWEROFF_MODULE 1
+#define CONFIG_HISAX_ELSA_CS_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_COMMENT_MODULE 1
+#define CONFIG_BINFMT_ELF 1
+#define CONFIG_PCI_DIRECT 1
+#define CONFIG_JFFS2_FS_WRITEBUFFER 1
+#define CONFIG_SOUND_UART6850_MODULE 1
+#define CONFIG_SBC8360_WDT_MODULE 1
+#define CONFIG_JOYSTICK_JOYDUMP_MODULE 1
+#define CONFIG_JOYSTICK_TMDC_MODULE 1
+#define CONFIG_HISAX_HDLC 1
+#define CONFIG_HISAX_ASUSCOM 1
+#define CONFIG_NORTEL_HERMES_MODULE 1
+#define CONFIG_TUN_MODULE 1
+#define CONFIG_I2O_CONFIG_OLD_IOCTL 1
+#define CONFIG_MTD_DOCPROBE_ADDRESS 0x0
+#define CONFIG_BT_HCIUSB_SCO 1
+#define CONFIG_PRISM2_PCI_MODULE 1
+#define CONFIG_RTC_DRV_DS1742_MODULE 1
+#define CONFIG_RTC_DRV_DS1553_MODULE 1
+#define CONFIG_SND_SUPPORT_OLD_API 1
+#define CONFIG_DVB_TTUSB_DEC_MODULE 1
+#define CONFIG_ITCO_VENDOR_SUPPORT 1
+#define CONFIG_SERIO_I8042 1
+#define CONFIG_EL16_MODULE 1
+#define CONFIG_SCSI_DEBUG_MODULE 1
+#define CONFIG_NET_EMATCH 1
+#define CONFIG_DECNET_NF_GRABULATOR_MODULE 1
+#define CONFIG_SND_CMIPCI_MODULE 1
+#define CONFIG_SND_INTERWAVE_MODULE 1
+#define CONFIG_SND_PCM_OSS_PLUGINS 1
+#define CONFIG_USB_SN9C102_MODULE 1
+#define CONFIG_DRM_SAVAGE_MODULE 1
+#define CONFIG_LEGACY_PTY_COUNT 256
+#define CONFIG_JOYSTICK_TWIDJOY_MODULE 1
+#define CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS 8
+#define CONFIG_SCSI_ISCSI_ATTRS_MODULE 1
+#define CONFIG_ESI_DONGLE_MODULE 1
+#define CONFIG_IP_NF_TARGET_MASQUERADE_MODULE 1
+#define CONFIG_PCIEAER 1
+#define CONFIG_RT73USB_MODULE 1
+#define CONFIG_RTC_DRV_DS1672_MODULE 1
+#define CONFIG_SND_AZT2320_MODULE 1
+#define CONFIG_USB_DABUSB_MODULE 1
+#define CONFIG_DVB_USB_VP7045_MODULE 1
+#define CONFIG_VIDEO_SAA7134_ALSA_MODULE 1
+#define CONFIG_SENSORS_ATXP1_MODULE 1
+#define CONFIG_I2C_ISA_MODULE 1
+#define CONFIG_NETCONSOLE_MODULE 1
+#define CONFIG_8139TOO_8129 1
+#define CONFIG_IEEE1394_ETH1394_MODULE 1
+#define CONFIG_SCSI_NCR53C406A_MODULE 1
+#define CONFIG_SCSI_ADVANSYS_MODULE 1
+#define CONFIG_LOG_BUF_SHIFT 17
+#define CONFIG_USB_SERIAL_VISOR_MODULE 1
+#define CONFIG_USB_NET_GL620A_MODULE 1
+#define CONFIG_DVB_NXT6000_MODULE 1
+#define CONFIG_SENSORS_VT1211_MODULE 1
+#define CONFIG_DRM_RADEON_MODULE 1
+#define CONFIG_SERIAL_8250_ACCENT_MODULE 1
+#define CONFIG_SEEQ8005_MODULE 1
+#define CONFIG_BITREVERSE 1
+#define CONFIG_TEXTSEARCH 1
+#define CONFIG_NF_CONNTRACK_SECMARK 1
+#define CONFIG_IP_VS_WRR_MODULE 1
+#define CONFIG_SGI_PARTITION 1
+#define CONFIG_USB_NET2280_MODULE 1
+#define CONFIG_SND_OPTI92X_AD1848_MODULE 1
+#define CONFIG_FB_3DFX_MODULE 1
+#define CONFIG_SENSORS_HDAPS_MODULE 1
+#define CONFIG_W83877F_WDT_MODULE 1
+#define CONFIG_MOXA_SMARTIO_NEW_MODULE 1
+#define CONFIG_MTD_CONCAT_MODULE 1
+#define CONFIG_NET_SCH_NETEM_MODULE 1
+#define CONFIG_IP_ROUTE_VERBOSE 1
+#define CONFIG_ARCH_POPULATES_NODE_MAP 1
+#define CONFIG_RT61PCI_LEGACY_MODULE 1
+#define CONFIG_USB_POWERMATE_MODULE 1
+#define CONFIG_USB_HIDDEV 1
+#define CONFIG_I2C_VIA_MODULE 1
+#define CONFIG_W83977F_WDT_MODULE 1
+#define CONFIG_JOYSTICK_GRIP_MP_MODULE 1
+#define CONFIG_LEDS_CLASS_MODULE 1
+#define CONFIG_BAYCOM_PAR_MODULE 1
+#define CONFIG_NETFILTER_XT_MATCH_DCCP_MODULE 1
+#define CONFIG_AUTOFS4_FS_MODULE 1
+#define CONFIG_USB_BELKIN 1
+#define CONFIG_SND_RME9652_MODULE 1
+#define CONFIG_SND_INDIGO_MODULE 1
+#define CONFIG_DUMMY_CONSOLE 1
+#define CONFIG_VIDEO_UPD64031A_MODULE 1
+#define CONFIG_SCx200_I2C_SCL 12
+#define CONFIG_HW_RANDOM_VIA_MODULE 1
+#define CONFIG_NI52_MODULE 1
+#define CONFIG_NET_ESTIMATOR 1
+#define CONFIG_NF_CT_NETLINK_MODULE 1
+#define CONFIG_NCPFS_PACKET_SIGNING 1
+#define CONFIG_SND_USB_AUDIO_MODULE 1
+#define CONFIG_RADIO_TYPHOON_MODULE 1
+#define CONFIG_I2C_I810_MODULE 1
+#define CONFIG_I2C_I801_MODULE 1
+#define CONFIG_ISDN_AUDIO 1
+#define CONFIG_PCI_HERMES_MODULE 1
+#define CONFIG_BAYCOM_EPP_MODULE 1
+#define CONFIG_HIGHMEM 1
+#define CONFIG_SECURITY_SELINUX 1
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/lxtrace.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/lxtrace.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/lxtrace.c	(revision 16)
@@ -0,0 +1,1981 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+static char sccsid[] = "@(#)37	1.36  src/avs/fs/mmfs/ts/kernext/gpl-linux/lxtrace.c, mmfs, avs_rgpfs24, rgpfs240610b 10/31/05 10:36:03";
+/**************************************************************************
+ *
+ * lxtrace : the command.  Turns tracing on/off and formats trace files.
+ *
+ *  "lxtrace {on hw[,hw[,hw...]] [trcFile [filesize [bufsize]]]" }
+ *           {off                                               }
+ *           {format [-T] [-v] [-t formatFile] [-o outFile] [trcFile] }
+ *
+ *           on   - begins tracing
+ *           off  - stops tracing
+ *           hw   - hookword (identifies traces to be captured)
+ *                  This is a comma-separated list (up to LXTRACE_MAX_HW)
+ *           trcFile  - path to the file where output is written
+ *           filesize - maximum size (bytes) of the wrap-around file
+ *                      A filesize of 0 will cause the file NOT to wrap
+ *           bufsize  - the size of buffer to used by the device
+ *                      to record trace records
+ *
+ *   For debug/testing purposes, the following additional options
+ *   are defined:
+ *   "lxtrace dump              // returns state information in a buffer
+ *           fsync              // flush buffered records to the read buffer
+ *
+ **************************************************************************/
+
+#include <Shark-gpl.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/ioctl.h>
+
+#include <errno.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
+#include <malloc.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <ctype.h>
+
+#include <Trace.h>
+#include <lxtrace.h>
+
+/* Convenience macros for printing error and debug messages */
+#define DP(fmt,args...) fprintf(stderr, fmt, ## args)
+#ifdef LXTRACE_DEBUG
+#define DFP(fmt,args...) fprintf(stderr, fmt, ## args)
+#else
+#define DFP(fmt,args...) ((void)0)
+#endif
+
+#define ROUNDUP(_addr, _align) \
+   (((long)_addr + (long)_align - 1L) & ~((long)_align - 1L))
+
+/* Examples of formatted trace output:
+
+Default options:
+
+ Timestamp   Pid  COMPONENT_TAG: application trace record
+----------- ----- ---------------------------------------
+   0.000000 21499 TRACE_VNODE: gpfs_i_revalidate enter:
+
+-v option:
+
+ Timestamp   Pid  P Hookword COMPONENT_TAG: application trace record
+----------- ----- - -------- ---------------------------------------
+   0.000000 21499 1 307004B3 TRACE_VNODE: gpfs_i_revalidate enter:
+
+-T option:
+
+   Timestamp      Pid  COMPONENT_TAG: application trace record
+---------------- ----- ---------------------------------------
+970706704.711164 21499 TRACE_VNODE: gpfs_i_revalidate enter:
+
+-T and -v options:
+
+   Timestamp      Pid  P Hookword COMPONENT_TAG: application trace record
+---------------- ----- - -------- ---------------------------------------
+970706704.711164 21499 1 307004B3 TRACE_VNODE: gpfs_i_revalidate enter:
+
+*/
+
+/* Define fragments of header lines and the corresponding trace printf format
+   strings for each field on a trace output line */
+#define H1_TS       " Timestamp  "
+#define H2_TS       "----------- "
+#define FMT_TS      "%4d.%06d "
+#define H1_TS_T     "    Timestamp     "
+#define H2_TS_T     "----------------- "
+#define FMT_TS_T    "%10d.%06d "
+
+#define H1_PID      "  Pid  "
+#define H2_PID      "------ "
+#define FMT_PID     "%6d "
+
+#define H1_P_HW     ""
+#define H2_P_HW     ""
+#define FMT_P_HW    ""
+#define H1_P_HW_V   "P B Hookword "
+#define H2_P_HW_V   "- - -------- "
+#define FMT_P_HW_V  "%1d %1d %08X "
+
+#define H1_TAG      "COMPONENT_TAG: application trace record\n"
+#define H2_TAG      "---------------------------------------\n"
+#define FMT_TAG     "%s: "
+
+/* Bytes in an "_id2name" formatting substitution */
+#define TRC_MAX_ID2NAME 128
+
+#ifndef O_DIRECT
+#ifdef GPFS_ARCH_PPC64
+#define O_DIRECT 0400000
+#else
+#define O_DIRECT 040000
+#endif
+#endif
+
+#ifdef __64BIT__
+typedef long long argType;
+#define ARGLEN sizeof(long long)
+#define TRC_ARG(N) (((long long *)&application_data)[N])
+#else
+typedef int argType;
+#define ARGLEN sizeof(int)
+#define TRC_ARG(N) (((int *)&application_data)[N])
+#endif // __64BIT__
+
+#define TRC_ARGLIST argP[0] , argP[1] , argP[2] , argP[3] , argP[4] , argP[5], \
+                    argP[6] , argP[7] , argP[8] , argP[9] , argP[10], argP[11],\
+                    argP[12], argP[13], argP[14], argP[15], argP[16], argP[17],\
+                    argP[18], argP[19]
+
+
+/* Offsets of the various fields in the formatting file */
+#define GFR_TRCID 0
+#define GFR_HOOKID 15
+#define GFR_COMPID 20
+#define GFR_FORMAT 40
+
+/* Max length of COMPID in the formatting file */
+# define MAX_COMPID_LEN (GFR_FORMAT - GFR_COMPID - 1)
+
+/* Thread IDs greater than this are really message handlers.
+   FirstMsgHandlerThread is also defined in ThreadNames.h. */
+#define FirstMsgHandlerThread 0x120
+
+/* Size of the hash tables for in-memory format file and its hash functions.
+   HOOK_HASH is for looking up format strings by hook id.
+   I2N_HASH is for looking up id2name conversions by conversion name and id
+   value; the I2NHASH hash function uses the first 4 chars of the conversion
+   name, relying on the fact that these names are at least 4 chars long,
+   because they all end in "_id2name". */
+#define HOOK_HASH_TABLE_SIZE 0x10000
+#define HOOKHASH(H) ((H) & 0xFFFF)
+#define I2N_HASH_TABLE_SIZE 0x4000
+#ifndef ALIGNED_DATA_ACCESS
+#define I2NHASH(F,I) ((*(int*)(F) + (I)) & 0x3FFF)
+#else
+static inline int I2NHASH(char *F, int I)
+{
+  int tmp;
+
+  memcpy(&tmp, F, sizeof(int));
+  return (tmp + I) & 0x3FFF;
+}
+#endif
+
+/* combined device and application trace data headers */
+typedef struct trc_hdrs_t
+{
+  trc_header_t hdr;  /* device header */
+  trc_datahdr_t rec; /* application header */
+} trc_hdrs_t;
+
+/* id2name conversion specifier. */
+typedef struct i2nSpec_t
+{
+  int argNum;       // number of the argument to be converted
+  char *i2nNameP;   // conversion function name
+} i2nSpec_t;
+
+/* Each format record has one of these headers describing it. */
+typedef struct fmtDesc_t
+{
+  int       hookid;             // hookid or id2name value
+  char      *cidP;              // component identifier or id2name tag
+  char      *fmtP;              // format string or id2name string
+  unsigned int llmask;          // bitvector indicating %ll arguments
+  i2nSpec_t *i2nSpecP;          // array of id2name conversion specifiers
+  struct fmtDesc_t *fmtNextP;   // next in the hash chain
+} fmtDesc_t;
+
+/* Hash tables for finding format records. */
+fmtDesc_t * hookHashP[HOOK_HASH_TABLE_SIZE];
+fmtDesc_t * i2nHashP[I2N_HASH_TABLE_SIZE];
+
+/* Hash lookup statistics */
+static int nHookLookup = 0;
+static int nHookCheck = 0;
+static int nI2NLookup = 0;
+static int nI2NCheck = 0;
+static int nI2NFail = 0;
+
+/* static state information */
+static int TraceHandle = -1;// file descriptor for the trace device
+static int out_fd;        // file descriptor for the (raw trace) output file
+static int outSize;       // out_fd filesize
+static int bufSize;       // size of the trace buffers (device and daemon)
+static char *bufP;        // the daemon trace read buffer
+
+#if LINUX_KERNEL_VERSION >= 2060000
+#define LXTRACE_USE_DIO
+#endif
+
+#ifdef LXTRACE_USE_DIO
+#define MAXAIOBUFS  10
+static char *aiobufP[MAXAIOBUFS];        // the daemon 4k aligned trace write buffer
+static char *wbufP[MAXAIOBUFS];        // the daemon orginal trace write buffer
+static int wrapBytes=0;	   // bytes leftover after last DIO write
+#endif
+static int nWraps;        // number of times the output file has wrapped
+static off_t currentPos;  // position of next write to output file
+static off_t fileEnd=0;  // position of next write to output file
+
+/* The previous time is used to validate a wrap point when we
+   think we've encountered one. */
+static struct timeval prevTime;
+
+/* Keep track of start/end times in the trace file */
+static time_t startTime, stopTime;
+
+static char *formatFileP;     // malloc'ed buffer holding formatting data 
+static char *fmtDescSpaceP;   // fmtData_t space for each format record
+
+static int allowed_usec_wobble = 2; // allowed timestamp wobble before declaring a wrap.
+
+/* Convert ascii representation of a hexadecimal to int */
+int axtoi(char s[])
+{
+  int i, n;
+
+  n = 0;
+  for (i = 0; s[i] != '\0'; i++)
+  {
+    if (s[i] >= '0' && s[i] <= '9')
+      n = 16 * n + (s[i] - '0');
+    else if (s[i] >= 'A' && s[i] <= 'F')
+      n = 16 * n + (s[i] - 'A' + 10);
+    else if (s[i] >= 'a' && s[i] <= 'f')
+      n = 16 * n + (s[i] - 'a' + 10);
+    else
+      break;
+  }
+  return n;
+}
+
+/* Convert timestamp to string format. */
+extern char *ctime_r(const time_t *, char *);
+char *fmtTime(time_t time, char *timeStr)
+{
+  /* ctime_r returns a null-terminated, readable string that includes 
+   * a newline char which we remove.  When ctime_r cannot convert the
+   * supplied timestamp, it returns NULL.
+   */
+  if (!ctime_r(&time, timeStr))
+    return "unknown";
+
+  timeStr[strlen(timeStr) - 1] = '\0';
+  return timeStr;
+}
+
+#define TIMEVAL_ZERO ((struct timeval){0,0})
+static struct timeval wrap_prev = TIMEVAL_ZERO;
+static struct timeval wrap_next = TIMEVAL_ZERO;
+
+/* isWrapPoint: 
+ * See if consecutive timestamps are backwards (indicates a wrap-point).
+ */
+int isWrapPoint(struct timeval prev, struct timeval next)
+{
+  /* Detect timestamps going backwards.  This could be the wrap-point
+   * or just wobble.
+   */
+  if ((prev.tv_sec > next.tv_sec) ||
+      ((prev.tv_sec == next.tv_sec)
+       && (prev.tv_usec - next.tv_usec > allowed_usec_wobble)))
+  {
+    /* Prepare for simple subtraction (do any necessary borrowing) */
+    if (prev.tv_usec < next.tv_usec)
+      {
+	prev.tv_usec += 1000000;
+	prev.tv_sec  -= 1;
+      }
+  
+    DFP("isWrapPoint: wrap delta %d.%06d (prev %d.06d, next %d.06d)\n", 
+        (prev.tv_sec - next.tv_sec), (prev.tv_usec - next.tv_usec),
+         prev.tv_sec, prev.tv_usec, next.tv_sec, next.tv_usec);
+
+    /* Detect and warn if multiple wrap points are detected. */
+    if (((wrap_prev.tv_sec != 0) && 
+        ((wrap_prev.tv_sec != prev.tv_sec) || (wrap_prev.tv_usec != prev.tv_usec))) ||
+        ((wrap_next.tv_sec != 0) && 
+        ((wrap_next.tv_sec != next.tv_sec) || (wrap_next.tv_usec != next.tv_usec))))
+    {
+      DP("Multiple wrap-points found:\n");
+      DP("\t%d.%06d-%d.%06d (delta %d.%06d)\n",
+         wrap_prev.tv_sec, wrap_prev.tv_usec, wrap_next.tv_sec, wrap_next.tv_usec,
+        (wrap_prev.tv_sec - wrap_next.tv_sec), (wrap_prev.tv_usec - wrap_next.tv_usec));
+      DP("\t%d.%06d-%d.%06d (delta %d.%06d)\n",
+         prev.tv_sec, prev.tv_usec, next.tv_sec, next.tv_usec,
+        (prev.tv_sec - next.tv_sec), (prev.tv_usec - next.tv_usec));
+    }
+  
+    /* Keep track of what we have now declared to be a wrap point */
+    wrap_prev = prev;
+    wrap_next = next;
+  
+    return true;
+  }
+
+  return false;
+}
+
+/* Parse a quoted format string: removes enclosing quotes, removes trailing
+   white-space, and converts escape sequences \n, \r, \t, \", etc.  Also
+   examines '%' format arguments and computes a bitvector that indicates which
+   of the arguments are long longs (%ll..).  The converted string is placed in
+   outP; the i'th bit in *llmaskP is set if the i'th argument is a long long.
+   It's ok to call this function to convert a string in-place (outP == inP),
+   since the conversion only makes the string shorter (removes surrounding
+   quotes and reduces escape sequences to a single char).
+   Returns a pointer to the next character in inP following the ending quotes,
+   or NULL if there are no more characters following the quoted string. */
+char *ParseFormatString(char *inP, char *outP, unsigned int *llmaskP)
+{
+  char *initialOutP = outP;
+  int b = 1;
+
+  /* skip initial quote */
+  if (*inP == '"')
+    inP++;
+
+  /* copy string until ending quote */
+  *llmaskP = 0;
+  while (*inP && *inP != '"')
+  {
+    if (*inP == '\\' && *(inP + 1))
+    {
+      inP++;
+      switch(*inP)
+      {
+        case 'n': *outP++ = '\n'; inP++; break;
+        case 'r': *outP++ = '\r'; inP++; break;
+        case 't': *outP++ = '\t'; inP++; break;
+        default:  *outP++ = *inP++;
+      }
+    }
+    else if (*inP == '%')
+    {
+      *outP++ = *inP++;
+      if (*inP == '%')
+        *outP++ = *inP++;
+      else
+      {
+        if (*inP == '+' | *inP == '-')
+          *outP++ = *inP++;
+        while (isdigit(*inP))
+          *outP++ = *inP++;
+        if (*inP == 'l' && *(inP+1) == 'l')
+          *llmaskP |= b;
+        b <<= 1;
+      }
+    }
+    else
+      *outP++ = *inP++;
+  }
+
+  /* remove trailing white space from the string */
+  while (outP > initialOutP && isspace(outP[-1]))
+    outP--;
+  *outP = '\0';
+
+  /* Return pointer to next character after the string or NULL if no ending
+     quote was found */
+  return *inP? inP + 1: NULL;
+}
+
+
+/* Parse a string containing a list of id2name conversion specifiers of the
+   form "$n=xxx_id2name $m=yyy_id2name ...".  Returns a "null-terminted" array
+   of i2nSpec_t structures, i.e., the array contains one more entry than the
+   number of conversion specifiers found, and argNum/i2nNameP in the last
+   array entry are set to 0/NULL. */
+i2nSpec_t *ParseI2N(char *i2nP, unsigned int llmask)
+{
+  i2nSpec_t i2n[LXTRACE_MAX_FORMAT_SUBS];
+  i2nSpec_t *i2nSpecP;
+  char *p;
+  int n, argNum, a, nll;
+  unsigned int m;
+
+  for (n = 0, p = strtok(i2nP, " \t\n");
+       p && n < LXTRACE_MAX_FORMAT_SUBS;
+       n++, p = strtok(NULL, " \t\n"))
+  {
+    if (*p != '$')
+      break;
+    p++;
+    argNum = atoi(p);
+    p = strchr(p, '=');
+    if (argNum <= 0 || p == NULL)
+      break;
+
+#ifndef __64BIT__
+    /* The "n" in "$n=" signifies that the "n"th parameter needs substitution.
+       However, we need to account for any double-word ("%ll") values (will be
+       taking two positions) in the arglist and adjust accordingly.  The
+       llmask parameter indicates which arguments are of the %ll form.  Count
+       the bits in llmask before the point of the substitution and add the
+       count to the argNum value. */
+    if (llmask)
+    {
+      nll = 0;
+      for (a = 1, m = llmask;
+           a < argNum && m;
+           a++, m >>= 1)
+      {
+        if (m & 1)
+          nll++;
+      }
+      argNum += nll;
+    }
+#endif // __64BIT__
+
+    i2n[n].argNum = argNum;
+    i2n[n].i2nNameP = p + 1;
+  }
+  if (n == 0)
+    return NULL;  // ?? print msg about bad id2name specifiers
+
+  i2nSpecP = (i2nSpec_t *)malloc((n + 1)*sizeof(i2nSpec_t));
+  if (i2nSpecP != NULL)
+  {
+    memcpy(i2nSpecP, i2n, n*sizeof(i2nSpec_t));
+    i2nSpecP[n].argNum = 0;
+    i2nSpecP[n].i2nNameP = NULL;
+  }
+  return i2nSpecP;
+}
+
+
+/* The formatting records are read into memory and parsed.  A fmtDesc_t header
+   is constructed for each and is then inserted into a hash table. */
+int BuildFormatTable(FILE *fP)
+{
+  char buf[2048];
+  long fileSize;   /* size (bytes) of the formatting file */
+  int  nRecords;   /* Number of records in the formatting file */
+  int  hookid;     /* hookid of current record */
+  int  hashVal;    /* hash value */
+  struct fmtDesc_t *nextDescP; 
+  char *curFmtRecordP, *nextFmtRecordP;
+  char *trcidP;
+  char *hookP;
+  char *cidP;
+  char *fmtP;
+  int i;
+#ifdef DBGASSERTS
+  char *formatFileEndP;
+  char *fmtDescSpaceEndP;
+#endif // DBGASSERTS
+
+  /* Clear all entries in the hash table */
+  memset(hookHashP, 0, sizeof(hookHashP));
+  memset(i2nHashP,  0, sizeof(i2nHashP));
+
+  rewind(fP);
+
+  /* Count the number of formatting records */
+  nRecords = 0;
+  while (fgets(buf, sizeof(buf), fP) != NULL)
+    nRecords += 1;
+
+  /* Now that we are at the end of the file, see how big it is */
+  fileSize = ftell(fP);
+  if (fileSize < 0)
+    return errno;
+
+  /* Allocate the buffer for the file contents.
+     Add 1 for possible trailing zero. */
+  if (NULL == (formatFileP = (char *)malloc(fileSize+1)))
+    return ENOMEM;
+
+  /* Allocate space for the fmtData_t for all of the records. */
+  if (NULL == (fmtDescSpaceP = (char *)malloc(nRecords * sizeof(fmtDesc_t))))
+    return ENOMEM;
+  nextDescP = (fmtDesc_t *)fmtDescSpaceP; 
+
+#ifdef DBGASSERTS
+  formatFileEndP = formatFileP + fileSize;
+  fmtDescSpaceEndP = fmtDescSpaceP + (nRecords * sizeof(fmtDesc_t)); 
+#endif // DBGASSERTS
+
+  rewind(fP); /* back to the beginning of the file */
+
+  /* Read each record in one-at-a-time, parse the record, and insert it into
+     the right hash table. */
+  curFmtRecordP = formatFileP;
+  while (fgets(curFmtRecordP, sizeof(buf), fP) != NULL)
+  {
+    nextFmtRecordP = curFmtRecordP + strlen(curFmtRecordP);
+
+    /* The TRCID identifier, hookid, component id, and format string are at
+       fixed offsets */
+    trcidP = curFmtRecordP + GFR_TRCID;
+    hookP  = curFmtRecordP + GFR_HOOKID;
+    cidP   = curFmtRecordP + GFR_COMPID;
+    fmtP   = curFmtRecordP + GFR_FORMAT;
+
+    /* parse the format record. */
+    hookid = axtoi(hookP) & 0x0000FFFF;
+    nextDescP->hookid = hookid;
+    nextDescP->cidP = strtok(cidP, " ");
+    nextDescP->fmtP = fmtP;
+
+    /* find the end of the format string */
+    fmtP = ParseFormatString(fmtP, fmtP, &nextDescP->llmask);
+
+    /* check for id2name conversion specifiers following the format string */
+    nextDescP->i2nSpecP = NULL;
+    if (fmtP)
+    {
+      while (isspace(*fmtP))
+        fmtP++;
+      if (*fmtP)
+        nextDescP->i2nSpecP = ParseI2N(fmtP, nextDescP->llmask);
+    }
+
+    /* Place the format record descriptor into the right hash table. */
+    if (strncmp(trcidP, "TRCID_", 6) == 0)
+    {
+      /* this record contains a format string */
+      strcat(nextDescP->fmtP, "\n");
+      hashVal = HOOKHASH(hookid);
+      nextDescP->fmtNextP = hookHashP[hashVal];
+      hookHashP[hashVal] = nextDescP;
+    }
+    else
+    {
+      /* this record contains an id2name conversion value */
+      hashVal = I2NHASH(nextDescP->cidP, hookid);
+      nextDescP->fmtNextP = i2nHashP[hashVal];
+      i2nHashP[hashVal] = nextDescP;
+    }
+
+    /* Advance to the next fmtDesc and format record */
+    nextDescP++; 
+    curFmtRecordP = nextFmtRecordP;
+  }
+
+#ifdef DBGASSERTS
+  /* verify that we didn't overrun our buffers */
+  if ((char *)nextDescP > fmtDescSpaceEndP)
+  {
+    DP("lxtrace format: overwrote format descriptor memory!\n");
+    return -1;
+  }
+  if (nextFmtRecordP > formatFileEndP)
+  {
+    DP("lxtrace format: overwrote format file memory!\n");
+    return -1;
+  }
+#endif // DBGASSERTS
+
+  return 0;
+}
+
+
+/* Find a format record by hookid. */
+int GetFormatRecord(FILE *fP, int hookid, char **cidPP, char **fmtPP,
+                    unsigned int *llmaskP, i2nSpec_t **i2nPP)
+{
+  fmtDesc_t *nextP;
+
+  DFP("GetFormatRecord(0x%X, 0x%X, 0x%X, 0x%X, 0x%X)\n",
+      fP, hookid, bufSize, bufP, cidPP);
+
+  nHookLookup++;
+
+  /* search hash chain for the specified hookid */
+  for (nextP = hookHashP[HOOKHASH(hookid)];
+       nextP != NULL;
+       nextP = nextP->fmtNextP)
+  {
+    nHookCheck++;
+
+    /* Check whether hookid matches. */
+    if (nextP->hookid == hookid)
+    {
+      /* Hookid and the record type match.  Copy to work area. */
+      *cidPP = nextP->cidP;
+      *fmtPP = nextP->fmtP;
+      *llmaskP = nextP->llmask;
+      *i2nPP = nextP->i2nSpecP;
+      DFP("GetFormatRecord for id %X is: %s\n", hookid, *fmtPP);
+      return 0;
+    }
+  }
+
+  /* not found */
+  return -1;
+}
+
+
+/* Find an id2name string by conversion name ("tag") and id value */
+int GetID2NameRecord(FILE *fP, char *tagP,
+                     int id, int bufSize, char *bufP)
+{
+  fmtDesc_t *nextP;
+
+  DFP("GetID2NameRecord(0x%X, 0x%X, 0x%X, 0x%X, 0x%X)\n",
+      fP, tagP, id, bufSize, bufP);
+
+  nI2NLookup++;
+
+  /* search hash chain for the specified hookid and tag */
+  for (nextP = i2nHashP[I2NHASH(tagP, id)];
+       nextP != NULL;
+       nextP = nextP->fmtNextP)
+  {
+    nI2NCheck++;
+
+    /* Check whether hookid and tag match. */
+    if (nextP->hookid == id &&
+        strncmp(nextP->cidP, tagP, MAX_COMPID_LEN) == 0)
+    {
+      DFP("GetID2NameRecord for id %X is: %s\n", id, nextP->fmtP);
+      strncpy(bufP, nextP->fmtP, bufSize);
+      return 0;
+    }
+  }
+
+  /* not found */
+  nI2NFail++;
+  return -1;
+}
+
+
+/* Read the next trace header from the raw trace file.  Normally, this just
+   involves the read() for the specified file.  However, it also needs to
+   check for wrapping of the file and make the necessary adjustments when we
+   reach the wrap point. */
+int ReadNextTrcHeader(FILE *raw_fp, trc_hdrs_t *hdrP)
+{
+  int nRead;
+  off_t off1, off2;
+
+  if (0 < (nRead = fread(hdrP, 1, sizeof(trc_hdrs_t), raw_fp)))
+  {
+    /* Successful read.  Validate the header. */
+    if (hdrP->hdr.trMagic != LXTRACE_MAGIC)
+    {
+      /* Maybe we've reached the wrap point.  See if we can get oriented.
+         Backup and try 1 byte further until we find a valid header.  This
+         should be the wrap point.  If we can verify this, return the header.
+       */
+      fseek(raw_fp, 1-nRead, SEEK_CUR);
+      off1 = ftell(raw_fp) - 1;
+      while (0 < (nRead = fread(hdrP, 1, sizeof(trc_hdrs_t), raw_fp)))
+      {
+        /* Keep inching forward looking for a valid device header that
+         * includes timestamps that also indicate a wrap ocurred. */
+        if ((hdrP->hdr.trMagic == LXTRACE_MAGIC) &&
+            isWrapPoint(prevTime, hdrP->hdr.trTime))
+        {
+          DFP("ReadNextTrcHeader: wrap point between %d.%d and %d.%d\n", 
+                  hdrP->hdr.trTime.tv_sec, hdrP->hdr.trTime.tv_usec, 
+                  prevTime.tv_sec, prevTime.tv_usec);
+
+          /* We've found what appears to be a valid header. */
+          prevTime = hdrP->hdr.trTime; /* timestamp of the last valid record */
+          nWraps += 1;
+          DFP("ReadNextTrcHeader: wrap point at %d gap %d\n", off1, off2-off1);
+
+          /* Save the oldest timestamp that we've found */
+          if (hdrP->hdr.trTime.tv_sec < startTime)
+            startTime = hdrP->hdr.trTime.tv_sec;
+
+          return nRead;
+        }
+        else if (hdrP->hdr.trMagic == LXTRACE_MAGIC)
+        {
+          /* We've found a valid header some ways from the beginning of
+             the file, but it's not a wrap point.  This could be due to
+             some garbage in the file.  Try to skip garbage data. */
+
+          /* timestamp of the last valid record */
+          prevTime = hdrP->hdr.trTime;
+                                                                                
+          /* Save the latest timestamp we've found */
+          stopTime = hdrP->hdr.trTime.tv_sec;
+                                                                                
+          /* Save the oldest timestamp that we've found */
+          if (hdrP->hdr.trTime.tv_sec < startTime)
+            startTime = hdrP->hdr.trTime.tv_sec;
+
+          return nRead;
+        }
+        fseek(raw_fp, 1-nRead, SEEK_CUR);
+        off2 = ftell(raw_fp);
+      }
+      DP("lxtrace format: ReadNextTrcHeader failed to find a valid record!\n");
+    }
+    else
+    {
+      /* Valid header found, but this could still be a wrap-point if the
+       * alignment worked out exactly.  
+       */
+
+      if (isWrapPoint(prevTime, hdrP->hdr.trTime))
+      {
+        DFP("ReadNextTrcHeader: wrap point between %d.%d and %d.%d\n", 
+                hdrP->hdr.trTime.tv_sec, hdrP->hdr.trTime.tv_usec, 
+                prevTime.tv_sec, prevTime.tv_usec);
+
+        nWraps += 1;
+        DFP("ReadNextTrcHeader: wrap point at %d gap %d\n", off1, off2-off1);
+
+        /* timestamp of the last valid record */
+        prevTime = hdrP->hdr.trTime;
+
+        /* Save the oldest timestamp that we've found */
+        if (hdrP->hdr.trTime.tv_sec < startTime)
+          startTime = hdrP->hdr.trTime.tv_sec;
+      }
+      else
+      {
+        /* timestamp of the last valid record */
+        prevTime = hdrP->hdr.trTime; 
+
+        /* Save the latest timestamp we've found */
+        stopTime = hdrP->hdr.trTime.tv_sec;
+
+        /* Save the oldest timestamp that we've found */
+        if (hdrP->hdr.trTime.tv_sec < startTime)
+          startTime = hdrP->hdr.trTime.tv_sec;
+      }
+    }
+
+  }
+  return nRead;
+}
+
+#ifdef LXTRACE_USE_DIO
+#include <aio.h>
+static struct aiocb aiocb[MAXAIOBUFS] = {0};
+static int aioStarted[MAXAIOBUFS] = {0};
+static int numBuf = 0;
+static char wrapBuf[4096];   // bytes that didn't make the last dio write.
+
+inline void aioWait(int numBuf)
+{
+     int i,rc;
+     const struct aiocb *aioP[]={&aiocb[numBuf]};
+
+	if(aioStarted[numBuf])
+ 	{
+           rc=aio_suspend(aioP, 1, NULL);
+	   if(rc==0)
+	   {
+	    size_t lrc = aio_return(&aiocb[numBuf]);
+	    aioStarted[numBuf]=0;
+	    DFP("aioWait aio_return[%d] %d\n", numBuf, rc);
+	   }
+	}
+}
+inline void aioWrite(char* bufP, int wBytes)
+{
+      int rc;
+      bzero(&aiocb[numBuf], sizeof(struct aiocb));
+      aiocb[numBuf].aio_buf=bufP;
+      aiocb[numBuf].aio_nbytes=wBytes;
+      aiocb[numBuf].aio_offset=currentPos;
+      aiocb[numBuf].aio_fildes=out_fd;
+      aiocb[numBuf].aio_sigevent.sigev_notify=SIGEV_NONE;
+      rc=aio_write(&aiocb[numBuf]);
+      DFP("aioWrite %d bytes at offset %d numBuf %d \n", wBytes, currentPos, numBuf);
+      aioStarted[numBuf]=1;
+      numBuf = (numBuf + 1) % MAXAIOBUFS;
+}
+
+#endif
+
+/* ProcessBuffer reads from the trace device and writes to the output file.
+   This is a function used by the trace daemon when handling SIGIO from the
+   device or after fsync() as the device is being closed. */
+void ProcessBuffer()
+{
+  int rc, nBytes;
+ 
+retry:
+
+#ifdef LXTRACE_USE_DIO
+  aioWait(numBuf);
+#endif
+
+  /* Issue a read for one buffer to the trace device */
+  DFP("trace daemon about to read %d bytes\n", bufSize);
+  nBytes = read(TraceHandle, bufP, bufSize);
+  DFP("trace daemon read %d bytes\n", nBytes);
+  if (nBytes == -1)
+  {
+    DP("trace daemon read error %d\n", errno);
+    close(TraceHandle);
+    close(out_fd);
+    _exit(1);
+  }
+  if (nBytes > 0)
+  {
+    /* Check the output file wrap-size and handle if it has been reached. */
+    if ((out_fd > 2) && (outSize > 0) && ((currentPos + nBytes) > outSize))
+    {
+#ifdef LXTRACE_USE_DIO
+      /* Write any leftover bytes as a full block and setup to truncate on exit
+	 any data that may have extended past this point from the last
+         time we wrapped. */
+      memset(aiobufP[numBuf], 0, 4096);
+      memcpy(aiobufP[numBuf], wrapBuf, wrapBytes);
+      fileEnd=currentPos + wrapBytes;
+      wrapBytes = 0;
+      aioWrite(aiobufP[numBuf], 4096);
+      aioWait(numBuf);
+#else
+      /* Truncate any data that may have extended past this point from the last
+         time we wrapped.  Seek back to the top of the file and continue. */
+      DFP("trace daemon wrapping file at length %d\n", currentPos);
+      lseek(out_fd, 0, SEEK_SET);
+      ftruncate(out_fd, currentPos);
+#endif
+      currentPos = 0;
+    }
+
+    /* Every trace record starts with a header (trc_hdrs_t) that includes 
+     * a magic number.  If we ever get a buffer that doesn't start
+     * properly, write some debug information and refuse to write it
+     * to the trace file.
+     */
+    if (((trc_hdrs_t *)bufP)->hdr.trMagic != LXTRACE_MAGIC)
+    {
+      DP("lxtrace: bad trace buffer from tracedev!\n");
+      DP("lxtrace: bufP 0x%X %d bytes at offset %d data 0x%X\n", 
+          bufP, nBytes, currentPos, ((trc_hdrs_t *)bufP)->hdr.trMagic);
+    }
+    else
+    {
+
+#ifdef LXTRACE_USE_DIO
+      /* dio nees 4k aligned buffers */
+      int totalBytes = nBytes + wrapBytes;
+      int aioBytes = totalBytes & 0xfffff000;
+      int extraBytes = totalBytes - aioBytes;
+
+      DFP("trace daemon writing %d bytes at offset %d, wb %d, ab %d eb %d\n", 
+          totalBytes, currentPos, wrapBytes, aioBytes, extraBytes);
+      if (aioBytes > 0)
+      {
+        /* Write the buffer to the trace output file */
+        memcpy(aiobufP[numBuf], wrapBuf, wrapBytes);
+        memcpy((aiobufP[numBuf] + wrapBytes), bufP, aioBytes - wrapBytes);
+        aioWrite(aiobufP[numBuf], aioBytes);
+
+        if(extraBytes > 0)
+          memcpy(wrapBuf, bufP + aioBytes - wrapBytes, extraBytes);
+        wrapBytes = extraBytes;
+      }
+      else 
+      {
+        /* Add data to the existing wrapBuf.  There must be room, or
+         * we wouldn't be here.  */
+        DFP("trace daemon adding %d bytes to wrapBuf\n", nBytes);
+        memcpy(wrapBuf + wrapBytes, bufP, nBytes);
+        wrapBytes += nBytes;
+      }
+
+      currentPos += aioBytes;
+#else
+      /* Write the buffer to the trace output file */
+      DFP("trace daemon writing %d bytes at offset %d\n", nBytes, currentPos);
+      rc = write(out_fd, bufP, nBytes);
+      currentPos += nBytes;
+#endif
+
+    }
+    goto retry;
+  }
+
+}
+
+/* The daemon signal handler.  This is the main part of the daemon which (after
+   initializing) does nothing except wait for signals.  SIGIO indicates that
+   a trace buffer is ready to be processed, any other signal stops tracing and
+   terminates the daemon. */
+void SignalHandler(int signum)
+{
+  int rc;
+  struct kArgs args;
+
+  DFP("trace daemon got signal %d\n", signum);
+  switch (signum)
+  {
+    case SIGIO:
+      /* This is the main daemon function.  Handle SIGIO signals from the
+         device and transfer the data from the device to the output file
+         when received.  */
+      ProcessBuffer();
+      break;
+
+    default:
+      /* SIGTERM (or other) will terminate the daemon and end the trace. */
+      // DP("trace daemon: terminating due to signal %d\n", signum);
+      if (TraceHandle > 0)
+      {
+        /* Get any records that are buffered in the device. */
+        ProcessBuffer();
+
+#ifdef LXTRACE_USE_DIO
+        for (numBuf=0; numBuf < MAXAIOBUFS ; numBuf++)
+          aioWait(numBuf);
+        numBuf=0;
+        rc = fcntl(out_fd,F_SETFL,0);
+        rc = lseek(out_fd, currentPos, SEEK_SET);
+        rc = write(out_fd, wrapBuf, wrapBytes);
+        if(fileEnd)
+        {
+           lseek(out_fd, 0, SEEK_SET);
+           ftruncate(out_fd, fileEnd);
+	}
+        for (numBuf=0; numBuf < MAXAIOBUFS ; numBuf++)
+           if (wbufP[numBuf])
+	   {
+              free(wbufP[numBuf]);
+	      wbufP[numBuf]=NULL;
+           }
+        numBuf=0;
+#endif
+
+        if (nWraps)
+          DP("lxtrace: Trace file wrapped %d times.\n", nWraps);
+
+        /* close everything */
+        close(TraceHandle);
+        close(out_fd);
+      }
+
+      /* daemon terminates */
+      if (bufP)
+        free(bufP);
+
+      _exit(0);
+  }
+}
+
+
+/* Print command syntax and exit */
+void Usage()
+{
+  DP("\n\
+Usage: lxtrace { on on-args | off | format format-args | dump | fsync }\n\
+\n\
+  Command line format for lxtrace on:\n\
+    lxtrace on [trcFile [filesize [bufsize]]]\n\
+      trcFile    Name of raw trace file to be created.  Default is\n\
+                   /tmp/lxtrace.trc.\n\
+      filesize   Optional maximum size of wrap-around trace file.  A value\n\
+                   of 0 means that the trace file grows indefinitely.  Default\n\
+                   is 16M.\n\
+      bufsize    Optional size of each buffer.  Default is 64K.\n\
+\n\
+  Command line format for lxtrace format:\n\
+    lxtrace format [-T] [-v] [-t formatFile] [-w wobble] [-o outFile] [trcFile]\n\
+      -T         Display timestamps as seconds since 1/1/1970.  Default\n\
+                   is to display the first timestamp as 0.0 and other\n\
+                   timestamps as elapsed time since the first trace record.\n\
+      -v         Verbose mode.  Include CPU number, buffer number, and hook\n\
+                  word in trace output.  Default is to not include these.\n\
+      wobble     Number of microseconds wobble allowed in timestamps.\n\
+                 An apparent wrap within the wobble limit will be ignored.\n\
+      formatFile Name of file containing trace formats.  Default is\n\
+                   /usr/lpp/mmfs/mmfs.trcfmt.\n\
+      outFile    Name of file to receive formatted trace output.  Default\n\
+                   is standard output.\n\
+      trcFile    Name of input raw trace file.  Default is /tmp/lxtrace.trc.\n");
+  if (TraceHandle != -1)
+    close(TraceHandle);
+  exit(1);
+}
+
+
+/* The lxtrace command.  */
+int main(int argc, char *argv[])
+{
+  int rc = 0;
+  struct kArgs args; // command arguments
+  int i;
+  int nTrcHdrs;
+
+  if (argc < 2)
+    Usage();
+
+  /* A new trace is being started.  Validate the options, open the files,
+     start the daemon and configure the device. */
+  if (strcmp(argv[1], "on") == 0)
+  {
+    int hw, dpid;
+    struct sigaction action;
+    char* trcFileNameP;
+
+    /* Initialize local state fields. */
+    out_fd = -1;
+    bufP = NULL;
+    outSize = DEF_TRC_FILESIZE;
+    bufSize = DEF_TRC_BUFSIZE & 0xfffff000;
+    currentPos = 0;
+    nWraps = 0;
+
+    /* Get output file name */
+    if (argc >= 3)
+      trcFileNameP = argv[2];
+    else
+      trcFileNameP = "/tmp/lxtrace.trc";
+
+    /* Special cases of specifying stdout or stderr to receive the trace output. */
+    if (strcmp(trcFileNameP, "stdout") == 0)
+      out_fd = 1; //stdout;
+    else if (strcmp(trcFileNameP, "stderr") == 0)
+      out_fd = 2; //stderr;
+    else
+    {
+      /* Open and trunc the output file. */
+      if (0 > (out_fd = open(trcFileNameP, O_RDWR|O_CREAT|O_TRUNC, 0644)))
+      {
+        DP("lxtrace on: could not open file %s, errno %d\n", trcFileNameP, errno);
+        rc = errno;
+        goto exit_on;
+      }
+    }
+#ifdef LXTRACE_USE_DIO
+    rc=fcntl(out_fd,F_SETFL,O_DIRECT);
+#endif
+
+    /* Save the output filesize.  If the size is explicitly given as zero,
+       do not wrap. */
+    if (argc >= 4)
+    {
+      outSize = atoi(argv[3]);
+      if (((outSize < MIN_TRC_FILESIZE) || (outSize > MAX_TRC_FILESIZE)) &&
+          (outSize != 0))
+      {
+        DP("Output file size must be 0 or between %d and %d\n",
+            MIN_TRC_FILESIZE, MAX_TRC_FILESIZE);
+        Usage();
+      }
+    }
+
+    /* If specified, set the trace device buffer size (otherwise use default) */
+    if (argc >= 5)
+    {
+      bufSize = atoi(argv[4]) & 0xfffff000;
+      if ((bufSize < MIN_TRC_BUFSIZE) || (bufSize > MAX_TRC_BUFSIZE))
+      {
+        DP("Buffer size must be between %d and %d\n",
+            MIN_TRC_BUFSIZE, MAX_TRC_BUFSIZE);
+        Usage();
+      }
+    }
+
+    /* The output filesize must be at least as big as the selected buffer size. */
+    if ((outSize != 0) && (outSize < bufSize))
+    {
+      DP("lxtrace: the filesize (%d) must be at least as large as the bufsize (%d)\n",
+         outSize, bufSize);
+      Usage();
+    }
+
+    /* The trace daemon does all the work.  It is created here ("lxtrace on") and
+       lives until "trace off" sends it a SIGTERM signal. */
+    dpid = fork();
+
+    if (dpid < 0)
+    {
+      DP("lxtrace on: unable to fork trace daemon");
+      rc = EAGAIN;
+      goto exit;
+    }
+
+    else if (dpid != 0)
+    { /* Parent */
+      return(0);   /* parent's work is done. */
+    }
+
+    else
+    { /* Child/Daemon */
+
+      /* At this point, we are in the trace daemon.  Complete device
+         configuration and then wait on its signals. */
+
+      if (!(bufP = (char *)malloc(bufSize)))
+      {
+        DP("trace daemon: unable to malloc trace buffer");
+        rc = ENOMEM;
+        goto exit_on;
+      }
+      memset(bufP, 0, bufSize);     /* Force page faults to occur now */
+#ifdef LXTRACE_USE_DIO
+      for (i=0; i < MAXAIOBUFS; i++)
+      {
+        /* dio needs 4k aligned buffers */
+        wbufP[i] = malloc(bufSize + 4095);
+        if(wbufP[i] == NULL)
+        {
+           DP("trace daemon: unable to malloc trace buffer");
+           rc = ENOMEM;
+           goto exit_on;
+        }
+        aiobufP[i] = (char*)ROUNDUP(wbufP[i], 4096);
+        memset(aiobufP[i], 0, bufSize);     /* Force page faults to occur now */
+	aioStarted[i] = 0;
+      }
+#endif
+
+      /* Initialize the signal handler */
+      action.sa_handler = SignalHandler;
+      sigfillset(&action.sa_mask);  /* block all signals while the handler is running */
+      action.sa_flags = 0;
+
+      if ((sigaction(SIGIO  , &action, NULL)) ||
+          (sigaction(SIGTERM, &action, NULL)))
+      {
+        DP("trace daemon: unable to create signal handler\n");
+        rc = EINVAL;
+        goto exit_on;
+      }
+
+      /* Initialize the trace device */
+
+      TraceHandle = open(TRC_DEVICE, O_RDWR);
+      if (TraceHandle < 0)
+      {
+        /* Device does not exist, wrong type, or already open, ... */
+        DP("trace daemon: device open failed with errno %d\n", errno);
+        rc = ENODEV;
+        goto exit_on;
+      }
+
+      /* Configure trace device buffer size. */
+      args.arg1 = bufSize;
+      rc = ioctl(TraceHandle, trc_bufSize, &args);
+      if (rc < 0)
+      {
+        DP("trace daemon: device buffer request failed with errno %d\n", errno);
+        rc = ENOMEM;
+        goto exit_on;
+      }
+
+      /* Mark as ready for tracing. */
+      rc = ioctl(TraceHandle, trc_begin, NULL);
+      if (rc < 0)
+      {
+        DP("trace daemon: device begin failed with errno %d\n", errno);
+        rc = ENODEV;
+        goto exit_on;
+      }
+
+      /* wait here forever (until SIGTERM is handled and exits) */
+      while (1)
+      {
+        DFP("trace daemon about to wait\n");
+        pause();
+      }
+      _exit(-1);
+    } /* child/daemon */
+
+exit_on:
+    /* exit here for failures during daemon initialization. */
+    DFP("trace daemon exitting\n");
+    if (TraceHandle > 0)
+      close(TraceHandle);
+  }
+
+
+  /* Stopping a previously activated trace by notifying to the device. */
+  else if (strcmp(argv[1], "off") == 0)
+  {
+    int fd;
+
+    fd = open(TRC_DEVICE, O_RDONLY);
+    if (fd < 0)
+    {
+      DP("lxtrace off: device open failed rc %d errno %d\n", fd, errno);
+      rc = ENODEV;
+      goto exit;
+    }
+
+    /* trc_end terminates tracing. */
+    args.arg1 = 0;
+    rc = ioctl(fd, trc_end, &args);
+    if (rc < 0)
+    {
+      DP("lxtrace off: device end failed with errno %d\n", errno);
+      rc = EINVAL;
+      goto exit_off;
+    }
+
+exit_off:
+    /* When we close here, the daemon will be signalled to terminate. */
+    close(fd);
+  }
+
+
+  /* Format the trace file. */
+  else if (strcmp(argv[1], "format") == 0)
+  {
+    FILE *raw_fp; /* raw trace data file */
+    FILE *fmt_fp; /* the application formatting file */
+    FILE *out_fp; /* output file */
+    Boolean hasWrapped; /* the raw trace file became full and wrapped */
+    struct timeval tzero = { 0, 0 };
+    trc_hdrs_t h;
+    int useTOD = 0;    /* true if -T option given */
+    int verbose = 0;   /* true if -v option given */
+    char* formatFileNameP = "/usr/lpp/mmfs/mmfs.trcfmt";
+    char* outputFileNameP = NULL;
+    char* rawTraceFileNameP = "/tmp/lxtrace.trc";
+    char *compP, *fmtP;
+    unsigned int llmask;
+    i2nSpec_t *i2nP;
+    int nRecordsProcessed = 0;  /* useful when running under gdb */
+    int i, id;
+    Boolean msgHandler;
+    char timeBufP[26]; /* timestamp in string format */
+    FILE *version_fp;
+
+    /* work buffers */
+    char application_data[LXTRACE_MAX_DATA];   /* raw trace data */
+
+    /* Array of id2name substitutions to be made */
+    typedef struct { char s[TRC_MAX_ID2NAME]; } idname_t;
+    idname_t id2nameP[LXTRACE_MAX_FORMAT_SUBS];
+    char fmtString[256];
+
+    /* Array of pointers to the args for the fprintf that formats the output */
+    argType argP[LXTRACE_MAX_FORMAT_SUBS];
+
+    raw_fp = fmt_fp = out_fp = NULL;
+    formatFileP = NULL;
+    fmtDescSpaceP = NULL;
+
+#if defined(__64BIT__)
+    startTime = 9223372036854775807;
+#else
+    startTime = 2147483647;
+#endif
+    stopTime = 0;
+
+
+    /* Parse arguments */
+    for (i = 2; i < argc ; i++)
+    {
+      if (strcmp(argv[i], "-T") == 0)
+        useTOD = 1;
+      else if (strcmp(argv[i], "-v") == 0)
+        verbose = 1;
+      else if (strcmp(argv[i], "-w") == 0  &&  i+1<argc)
+      {
+	char *endptr;
+        i += 1;
+        allowed_usec_wobble = strtol(argv[i],&endptr,10);
+	if ((*endptr != 0) || (allowed_usec_wobble < 0))
+	{
+	  DP("lxtrace format: -w requires an integer argument greater than or equal to zero.\n");
+	  rc = 12;
+	  goto exit_format;
+	}
+      }
+      else if (strcmp(argv[i], "-t") == 0  &&  i+1<argc)
+      {
+        i += 1;
+        formatFileNameP = argv[i];
+      }
+      else if (strcmp(argv[i], "-o") == 0  &&  i+1<argc)
+      {
+        i += 1;
+        outputFileNameP = argv[i];
+      }
+      else
+        rawTraceFileNameP = argv[i];
+    }
+
+    /* Open the trace file. */
+    if (NULL == (raw_fp = fopen(rawTraceFileNameP, "r")))
+    {
+      DP("lxtrace format: could not open file %s, errno %d\n",
+         rawTraceFileNameP, errno);
+      rc = errno;
+      goto exit_format;
+    }
+
+    /* Open the formatting file. */
+    if (NULL == (fmt_fp = fopen(formatFileNameP, "r")))
+    {
+      DP("lxtrace format: could not open file %s, errno %d\n", formatFileNameP, errno);
+      rc = errno;
+      goto exit_format;
+    }
+
+    if (0 != (rc = BuildFormatTable(fmt_fp)))
+    {
+      DP("lxtrace format: could not parse file: %s errno %d\n",
+         formatFileNameP, errno);
+      rc = errno;
+      goto exit_format;
+    }
+
+    /* Open and truncate the output file. (defaults to stdout) */
+    if (outputFileNameP == NULL)
+      out_fp = stdout;
+    else
+    {
+      out_fp = fopen(outputFileNameP, "w");
+      if (out_fp == NULL)
+      {
+        DP("lxtrace format: could not open file %s, errno %d\n",
+           outputFileNameP, errno);
+        rc = errno;
+        goto exit_format;
+      }
+    }
+
+    /* The trace file (raw_fp) is a wrap-around file.  We need to read it to
+       see if it ever wrapped.  If it never wrapped, rewind and process it
+       top-to-bottom.  If the file did wrap, set the file pointer to the oldest
+       record and begin processing from there.  ReadNextTrcHeader detects the
+       wrap point.  When formatting of a wrapped file reaches end-of-file, it
+       must then go back and read starting at the beginning and stop when
+       the wrap point is again reached. */
+
+    hasWrapped = false; /* Signal format processing below we have a wrap file */
+    nWraps = 0;         /* ReadNextTrcHeader counts wrap points it encounters.*/
+
+    nTrcHdrs = 0;
+    while (0 < (rc = ReadNextTrcHeader(raw_fp, &h)))
+    {
+      nTrcHdrs++;
+
+      /* If ReadNextTrcHeader detects a wrap, leave and begin formating. */
+      if (nWraps)
+        break;
+
+      /* skip over trace data */
+      fseek(raw_fp, h.hdr.trLength - sizeof(trc_datahdr_t), SEEK_CUR);
+    }
+
+    DFP("wrap analysis: nTrcHdrs %d nWraps %d seekpos %d\n",
+        nTrcHdrs, nWraps, ftell(raw_fp) - sizeof(trc_hdrs_t));
+
+    /* Write The first and last timestamps found in the trace */
+    fprintf(out_fp, "Trace begins: %s\n", fmtTime(startTime, timeBufP));
+    fprintf(out_fp, "Trace ends  : %s%s\n", fmtTime(stopTime, timeBufP),
+            nWraps? " (file wrapped)":"");
+
+    /* Show the point we interpreted as the wrap-point */
+    if (nWraps)
+    {
+      fprintf(out_fp,"Wrap point  : %d.%06d-%d.%06d (delta %d.%06d)\n",
+           wrap_prev.tv_sec, wrap_prev.tv_usec, wrap_next.tv_sec, wrap_next.tv_usec,
+          (wrap_prev.tv_sec-wrap_next.tv_sec), (wrap_prev.tv_usec-wrap_next.tv_usec));
+    }
+
+    /* Write kernel version to the trace file.  This is the machine
+     * where the format was done, but this would normally be the
+     * same machine that generated the raw trace as well.
+     */
+    if (version_fp = fopen("/proc/version", "r"))
+    {
+      int verLen;
+      const int verStrLen = 512;
+      char version_str[verStrLen];
+
+      memset(version_str, 0, verStrLen);
+      if (0 < (verLen = fread(version_str, 1, verStrLen, version_fp)))
+      {
+        version_str[verStrLen] = '\0';
+        fprintf(out_fp, "Formatted on: %s\n\n", version_str);
+      }
+
+      fclose(version_fp);
+    }
+
+    /* Reset to avoid reporting a wrap on the first record from the next
+     * call to ReadNextTrcHeader.
+     */
+    prevTime.tv_sec = 0;
+
+    /* If a wrap point was located, back-up so the header can be read again
+       as formatting begins with this record.  If the file never wrapped,
+       reset to the top of the file and process top-to-bottom. */
+    if (nWraps)
+    {
+      fseek(raw_fp, -sizeof(trc_hdrs_t), SEEK_CUR);
+      hasWrapped = true; /* Signal format procesing below to handle the wrap */
+    }
+    else
+      rewind(raw_fp);
+
+    /* Print first line of header and build trace format string */
+    fmtString[0] = '\0';
+    if (useTOD)
+    {
+      fprintf(out_fp, H1_TS_T);
+      strcat(fmtString, FMT_TS_T);
+    }
+    else
+    {
+      fprintf(out_fp, H1_TS);
+      strcat(fmtString, FMT_TS);
+    }
+    fprintf(out_fp, H1_PID);
+    strcat(fmtString, FMT_PID);
+    if (verbose)
+    {
+      fprintf(out_fp, H1_P_HW_V);
+      strcat(fmtString, FMT_P_HW_V);
+    }
+    fprintf(out_fp, H1_TAG);
+    strcat(fmtString, FMT_TAG);
+
+    /* Print second line of header */
+    if (useTOD)
+      fprintf(out_fp, H2_TS_T);
+    else
+      fprintf(out_fp, H2_TS);
+    fprintf(out_fp, H2_PID);
+    if (verbose)
+      fprintf(out_fp, H2_P_HW_V);
+    fprintf(out_fp, H2_TAG);
+
+start_formatting:
+    nWraps = 0; /* Reset the ReadNextTrcHeader wrap-found indicator. */
+
+    /* Process raw trace records. Start by reading the device header. */
+    while (0 < (rc = ReadNextTrcHeader(raw_fp, &h)))
+    {
+      DFP("hdr.trTime %X:%X hdr.trProcess %X hdr.trCPU %X hdr.trBuf %d hdr.trLength %X\n",
+          h.hdr.trTime.tv_sec, h.hdr.trTime.tv_usec, h.hdr.trProcess,
+          h.hdr.trCPU, h.hdr.trBuf, h.hdr.trLength);
+
+      /* Since we always start AFTER the wrap point, we should only see a
+         wrap if we had reached the end of the file and then gone back to
+         the beginning to get the records from there up to the wrap point.
+         So, if we see this, we have formatted all the records and are done. */
+
+      if (nWraps) // ReadNextTrcHeader detected and processed a wrap-point
+      {
+        DFP("lxtrace format: ending after processing records 0 to wrap-point\n");
+        break;
+      }
+
+      DFP("rec.trHook 0x%X rec.trNArgs %d rec.trSPos %d rec.trSLen %d\n",
+          h.rec.trHook, h.rec.trNArgs, h.rec.trSPos, h.rec.trSLen);
+
+      if (h.hdr.trLength < sizeof(trc_datahdr_t))
+      {
+        DP("lxtrace format: bad record length in %s at offset %d, trLength %d\n",
+           rawTraceFileNameP, ftell(raw_fp), h.hdr.trLength);
+        rc = EINVAL;
+        if (hasWrapped)
+        {
+          DP("lxtrace format: restart from wrap-point\n");
+          fprintf(out_fp, "*** BAD trace record header ***\n");
+          goto do_wrap;
+        }
+        goto exit_format;
+      }
+
+      /* application_data[] holds the raw trace data that follows the headers. */
+      if (0 > (rc = fread(application_data, 1,
+                          h.hdr.trLength - sizeof(trc_datahdr_t), raw_fp)))
+      {
+        DP("lxtrace format: could not read data from %s at offset %d, rc %d errno %d\n",
+           rawTraceFileNameP, ftell(raw_fp), rc, errno);
+        rc = errno;
+        goto exit_format;
+      }
+
+      DFP("read %d bytes of application trace data\n", rc);
+
+      /* If this is the first trace record, consider this time zero,
+         unless the -T option was specified */
+      if (tzero.tv_sec == 0  &&  !useTOD)
+        tzero = h.hdr.trTime;
+
+      /* Convert trace time to time since first trace record unless
+         the -T option was specified */
+      if (!useTOD)
+      {
+        h.hdr.trTime.tv_sec -= tzero.tv_sec;
+        if (h.hdr.trTime.tv_usec >= tzero.tv_usec)
+          h.hdr.trTime.tv_usec -= tzero.tv_usec;
+        else
+        {
+          h.hdr.trTime.tv_sec--;
+          h.hdr.trTime.tv_usec += 1000000 - tzero.tv_usec;
+        }
+      }
+
+      /* Get the formatting record for the trace record with this hookid */
+      if (0 != GetFormatRecord(fmt_fp, (int)(h.rec.trHook & 0x0000FFFF),
+                               &compP, &fmtP, &llmask, &i2nP))
+      {
+        DP("lxtrace format: No formatting record found for hook %X\n",
+           h.rec.trHook);
+        fprintf(out_fp, "Unknown hook id 0x%08X\n", h.rec.trHook);
+      }
+      else
+      {
+        /* Found the formatting information for the current trace record. */
+
+        /* Write leading information before the formatted trace. */
+        if (verbose)
+          fprintf(out_fp, fmtString,
+                  h.hdr.trTime.tv_sec, h.hdr.trTime.tv_usec, h.hdr.trProcess,
+                  h.hdr.trCPU, h.hdr.trBuf, h.rec.trHook,
+                  compP);
+        else
+          fprintf(out_fp, fmtString,
+                  h.hdr.trTime.tv_sec, h.hdr.trTime.tv_usec, h.hdr.trProcess,
+                  compP);
+
+        DFP("format string: %s\n", fmtP);
+        DFP("raw data: %X %X %X %X %X\n",
+            TRC_ARG(0), TRC_ARG(1), TRC_ARG(2), TRC_ARG(3), TRC_ARG(4));
+
+        /* Format-specific processing. */
+        if (h.rec.trSPos == _TR_FORMAT_I)
+        {
+          /* Trace data consists of n integer values */
+          for (i=0; i < h.rec.trNArgs; i++)
+            argP[i] = TRC_ARG(i);
+        }
+        else if (h.rec.trSPos < LXTRACE_MAX_FORMAT_SUBS)
+        {
+          /* Trace data contains null terminated string at TRC_ARG(rec.trSPos);
+             the length of the string is given by rec.trSLen (rounded up to a
+             multiple of ARGLEN).  Get a pointer to the string, make sure it's
+             null-terminated (so we don't blow up if the trace data is trash),
+             and compute how many extra TRC_ARG words are occupied by the
+             string. */
+          // ?? should validate trSLen!
+          char *s = (char *)&TRC_ARG(h.rec.trSPos);
+          int xi = h.rec.trSLen/ARGLEN - 1;
+          s[h.rec.trSLen - 1] = '\0';
+
+          for (i = 0; i < h.rec.trSPos; i++)
+            argP[i] = TRC_ARG(i);
+          argP[i++] = (argType)s;
+          for (; i <= h.rec.trNArgs; i++)
+            argP[i] = TRC_ARG(i + xi);
+        }
+        else if (h.rec.trSPos == _TR_FORMAT_F)
+        {
+          /* First n words are integer values; a double value is stored at
+             TRC_ARG(rec.trNArgs) */
+          double *d = (double *)&TRC_ARG(h.rec.trNArgs);
+
+          for (i = 0; i < h.rec.trNArgs; i++)
+            argP[i] = TRC_ARG(i);
+          memcpy(&argP[i], d, sizeof(double));
+        }
+        else if (h.rec.trSPos == _TR_FORMAT_X)
+        {
+          /* XTrace type (preformatted) record. */
+          fputs(application_data, out_fp);
+          i = strlen(application_data);
+          if (i == 0 || application_data[i-1] != '\n')
+	    putc('\n', out_fp);
+          continue;
+        }
+        else
+        {
+          DP("lxtrace format: format %d not supported\n", h.rec.trSPos);
+          fprintf(out_fp, "Unsupported format %d\n", h.rec.trSPos);
+          goto exit_format;
+        }
+
+#if defined(GPFS_LITTLE_ENDIAN) && !defined(__64BIT__)
+        /* On a 32 bit machine, 64 bit values are stored with the high-order
+           word first, followed by the low-order word.  The problem is that
+           the reverse is expected by printf formatting.  For each "%ll" in
+           the formatting string, swap the words in the argP array so that
+           the words are swapped into the expected order.  The llmask
+           bitvector indicates which arguments are of the %ll form. */
+        if (llmask)
+        {
+          int tmp;
+          int argPos = 0;
+
+          DFP("\nlong long formatting: %s\n", fmtP);
+
+          /* Loop through the bits in llmask */
+          while (llmask)
+          {
+            if (llmask & 1)
+            {
+              DFP("switching argP[%d] and argP[%d]\n", argPos, argPos+1);
+              tmp = argP[argPos];
+              argP[argPos] = argP[argPos+1];
+              argP[argPos+1]  = tmp;
+              argPos += 1; /* account for the extra arg for this 2-word sub */
+            }
+            argPos += 1;
+            llmask >>= 1;
+          }
+        }
+#endif // GPFS_LITTLE_ENDIAN and NOT __64BIT__
+
+#ifdef DBGASSERTS
+        if (i2nP == NULL &&
+            (h.rec.trSPos==_TR_FORMAT_I || h.rec.trSPos==_TR_FORMAT_F) &&
+            strstr(fmtP, "%s"))
+        {
+          DP("lxtrace format: hook %X is %s format record containing a string specification.\n",
+             (h.rec.trHook&0x0000FFFF),
+             (h.rec.trSPos==_TR_FORMAT_I) ? (char *) "an integer" :
+               (h.rec.trSPos==_TR_FORMAT_F)? (char *) "a float":
+               (char *) "an unknown");
+          DP("               The formatting information for this record does not provide any substitutions.\n");
+          fprintf(out_fp, "%s\n", fmtP);
+          goto exit_format;
+        }
+#endif // DBGASSERTS
+
+        /* Update the argP[] array as necessary to do the substitutions */
+        if (i2nP != NULL)
+        {
+          /* This loop proceses each of the substitution strings */
+          for (i = 0; i2nP[i].i2nNameP != NULL; i++)
+          {
+            int whichSub = i2nP[i].argNum - 1;
+            char *argtP  = i2nP[i].i2nNameP;
+
+            id = argP[whichSub];
+
+            /* Thread_id2name conversion need special treatment */
+            msgHandler = false;
+            if (strcmp(argtP, "Thread_id2name") == 0)
+            {
+              /* Thread IDs >= FirstMsgHandlerThread are really message
+                 handler IDs, so look for a tscMsg_id2name entry in that case.
+                 Thread IDs < FirstMsgHandlerThread are "standard" thread IDs,
+                 so look for StdThread_id2name in that case. */
+              if (id >= FirstMsgHandlerThread)
+              {
+                /* Adjust id value and conversion function.  Set a flag to
+                   remember to insert "Msg handler" in front of the name that
+                   is found. */
+                id -= FirstMsgHandlerThread;
+                argtP = "tscMsg_id2name";
+                msgHandler = true;
+              }
+              else
+                argtP = "StdThread_id2name";
+            }
+            
+            /* Now look-up the substitution for argtP (xx_id2name) that is
+               associated with the appropriate traced value (id). */
+            if (0 != GetID2NameRecord(fmt_fp, argtP, id, TRC_MAX_ID2NAME,
+                                      id2nameP[whichSub].s))
+            {
+              /* Unable to find the formatting (substitution) information */
+
+              /* ip addresses are formatted as such */
+              if ((0 == strcmp(argtP, "nodeaddr_id2name"))  ||
+                  (0 == strcmp(argtP, "ipaddr_id2name")) )
+              {
+                union { int i; unsigned char c[4]; } a;
+
+                a.i = id;
+                sprintf(id2nameP[whichSub].s, "%u.%u.%u.%u",
+                        a.c[0], a.c[1], a.c[2], a.c[3]);
+              }
+
+              /* lockState to string conversions. */
+              else if ((0 == strcmp(argtP, "lockstateHigh_id2name")))
+              {
+                #define lsAcqPend  0x80000000
+                #define lsLxLock   0x40000000
+                #define lsXwLock   0x20000000
+                #define lsWaLock   0x10000000
+                #define lsWwLock   0x08000000
+                #define lsRvkLock  0x04000000
+                #define lsRoCount  0x003FF800
+                #define lsRoUnit   0x00000800
+                #define lsWoCount  0x000007FF
+                #define lsWoUnit   0x00000001
+                char buf1[32], buf2[32];
+                buf1[0]='\0';
+                buf2[0]='\0';
+                if (id & lsRoCount)
+                  sprintf(buf1, " ro:%d", (id & lsRoCount)/lsRoUnit);
+                if (id & lsWoCount)
+                  sprintf(buf2, " wo:%d", (id & lsWoCount)/lsWoUnit);
+                sprintf(id2nameP[whichSub].s, "[%s%s%s%s%s%s%s%s",
+                        (id & lsAcqPend) ? " acq" : "",
+                        (id & lsLxLock) ? " lx" : "",
+                        (id & lsXwLock) ? " xw" : "",
+                        (id & lsWaLock) ? " wa" : "",
+                        (id & lsWwLock) ? " ww" : "",
+                        (id & lsRvkLock) ? " rvk" : "",
+                        buf1, buf2);
+
+              }
+
+              /* lockState to string conversions. */
+              else if ((0 == strcmp(argtP, "lockstateLow_id2name")))
+              {
+                #define lsRfCount  0x7FF00000
+                #define lsRfUnit   0x00100000
+                #define lsWfCount  0x000FFE00
+                #define lsWfUnit   0x00000200
+                #define lsRsCount  0x000001FF
+                #define lsRsUnit   0x00000001
+                char buf1[32], buf2[32], buf3[32];
+                buf1[0]='\0';
+                buf2[0]='\0';
+                buf3[0]='\0';
+                if (id & lsRfCount)
+                  sprintf(buf1, " rf:%d", (id & lsRfCount)/lsRfUnit);
+                if (id & lsWfCount)
+                  sprintf(buf2, " wf:%d", (id & lsWfCount)/lsWfUnit);
+                if (id & lsRsCount)
+                  sprintf(buf3, " rs:%d", (id & lsRoCount)/lsRoUnit);
+                sprintf(id2nameP[whichSub].s, "%s%s%s ]", buf1, buf2, buf3);
+              }
+
+              /* lockFlags to string conversions. */
+              else if ((0 == strcmp(argtP, "lockflags_id2name")))
+              {
+                #define lfDaemonWriter      0x0001
+                #define lfRevokePending     0x0002
+                #define lfRevokeProcessing  0x0004
+                sprintf(id2nameP[whichSub].s, "[%s%s%s ]",
+                        (id & lfDaemonWriter) ? " dmn" : "",
+                        (id & lfRevokePending) ? " rvk" : "",
+                        (id & lfRevokeProcessing) ? " pro" : "");
+              }
+
+              /* reason is optional so handle the resulting value of zero. */
+              else if ((0 == strcmp(argtP, "reason_id2name")) &&
+                       (id == 0))
+                strcpy(id2nameP[whichSub].s, "no reason given");
+
+              /* Any other case is a lack of proper formatting information
+                 for the generated trace record.  Insert "unknown" into the
+                 formatted output and continue. */
+              else
+              {
+#ifdef DBGASSERTS
+                DP("lxtrace format: %s substitution %d (value=%d) not found (used in hook %04X).\n",
+                   argtP, whichSub+1, argP[whichSub], (h.rec.trHook&0x0000FFFF));
+                // To debug one of these, exit here.
+                // goto exit_format;
+#endif // DBGASSERTS
+                sprintf(id2nameP[whichSub].s, "unknown(%d)", argP[whichSub]);
+              }
+            }
+
+            /* If we are converting the thread ID of a message handler,
+               insert "Msg handler" in front of the name. */
+            if (msgHandler)
+            {
+              char tmpBuff[TRC_MAX_ID2NAME];
+              strncpy(tmpBuff, id2nameP[whichSub].s, sizeof(tmpBuff));
+              snprintf(id2nameP[whichSub].s, TRC_MAX_ID2NAME,
+                       "Msg handler %s", tmpBuff);
+            }
+
+            /* Alter the TRC_ARGLIST for this substituted parameter */
+            argP[whichSub] = (argType)id2nameP[whichSub].s;
+          } /* for each substitution string */
+
+        } /* End-substitutions */
+
+        /* Output the completed trace record */
+#if !defined(GPFS_ARCH_POWER) || !defined(GPFS_LINUX) || defined(__64BIT__)
+        fprintf(out_fp, fmtP, TRC_ARGLIST);
+#else
+        /* On Linux 32-bit Power architecture (and maybe others?), the
+           va_list calling convention does not allow passing a mixture of
+           longs and long longs in successive memory words.  If long longs
+           are present, break up the format string at each "%" and print
+           the arguments separately, using llmask to determine which ones
+           are long long. */
+        if (llmask == 0)
+          fprintf(out_fp, fmtP, TRC_ARGLIST);
+        else
+        {
+          int n = 0, ll = llmask;
+          unsigned long long bign;
+          char *ptr, *newptr;
+          char *newfmtP = malloc(strlen(fmtP) + 1);
+          if (newfmtP == NULL)
+          {
+            DP("lxtrace format: unable to malloc format buffer");
+            rc = ENOMEM;
+            goto exit_format;
+          }
+          ptr = fmtP;
+          newptr = newfmtP;
+          while (*ptr)
+          {
+            if (*ptr != '%')
+              *newptr++ = *ptr++;
+            else
+            {
+              do
+                *newptr++ = *ptr++;
+              while (*ptr && *ptr != '%');
+              *newptr = '\0';
+              if (ll & 1)
+              {
+                bign = ((unsigned long long) argP[n] << 32) +
+                  (unsigned long)argP[n+1];
+                fprintf(out_fp, newfmtP, bign);
+                n += 2;
+              }
+              else
+              {
+                fprintf(out_fp, newfmtP, argP[n]);
+                n++;
+              }
+              ll >>= 1;
+              newptr = newfmtP;
+            }
+          }
+          *newptr = '\0';
+          if (newptr != newfmtP)
+            fprintf(out_fp, newfmtP);
+          free(newfmtP);
+        }
+#endif
+        nRecordsProcessed += 1;
+
+      } /* end processing this trace record */
+    } /* while there are more unformatted trace records to process */
+
+    if (hasWrapped)
+    {
+do_wrap:
+      rewind(raw_fp); /* On a wrapped file, need to go back to the top. */
+      hasWrapped = false;  /* Clear this so we don't do this more than once. */
+      DFP("lxtrace format: done with wrap-point to EOF.  Going back to record 0\n");
+      goto start_formatting;
+    }
+
+    rc = 0;
+
+exit_format:
+    /* print hash lookup statistics */
+    DFP("Stats: hook lookup %6d check %7d (%.1f)\n",
+        nHookLookup, nHookCheck, (double)nHookCheck/(double)nHookLookup);
+    DFP("        i2n lookup %6d check %7d (%.1f) fail %d\n",
+        nI2NLookup, nI2NCheck, (double)nI2NCheck/(double)nI2NLookup, nI2NFail);
+
+    DFP("Wrap point: %d.%06d-%d.%06d (delta %d.%06d)\n",
+         wrap_prev.tv_sec, wrap_prev.tv_usec, wrap_next.tv_sec, wrap_next.tv_usec,
+        (wrap_prev.tv_sec-wrap_next.tv_sec), (wrap_prev.tv_usec-wrap_next.tv_usec));
+
+    /* cleanup */
+    if (formatFileP) free(formatFileP);
+    if (fmtDescSpaceP) free(fmtDescSpaceP);
+    if (raw_fp != NULL) fclose(raw_fp);
+    if (fmt_fp != NULL) fclose(fmt_fp);
+    if (out_fp != NULL) fclose(out_fp);
+  } /* "format" option */
+
+
+  /* Display the state information associated with the device. */
+  else if (strcmp(argv[1], "dump") == 0)
+  {
+    int fd;
+#define DUMP_LEN 512
+    char dumpBufP[DUMP_LEN];
+
+    fd = open(TRC_DEVICE, O_RDONLY);
+    if (fd < 0)
+    {
+      DP("lxtrace dump: device open failed errno %d\n", errno);
+      rc = ENODEV;
+      goto exit;
+    }
+
+    /* Dump the trace device information */
+    args.arg1 = DUMP_LEN;
+    args.arg2 = (long)dumpBufP;
+
+    if (0 != (rc = ioctl(fd, trc_dump, &args)))
+    {
+      DP("lxtrace dump: device dump returns rc %d errno %d \n", rc, errno);
+    }
+    else
+    {
+      printf("%s\n", dumpBufP);
+    }
+
+exit_dump:
+    close(fd);
+  }
+
+  /* Flush any data that is currently buffered in the device. */
+  else if (strcmp(argv[1], "fsync") == 0)
+  {
+    int fd;
+
+    fd = open(TRC_DEVICE, O_RDONLY);
+    if (fd < 0)
+    {
+      DP("lxtrace fsync: device open failed with errno %d\n", errno);
+      rc = ENODEV;
+      goto exit;
+    }
+
+    if (0 != (rc = fsync(fd)))
+    {
+      DP("lxtrace fsync: device fsync returns rc %d errno %d\n", rc, errno);
+    }
+
+exit_fsync:
+    close(fd);
+  }
+
+  else
+    Usage();
+
+exit:
+  return rc;
+}
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/lxtrace.sial
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/lxtrace.sial	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/lxtrace.sial	(revision 16)
@@ -0,0 +1,96 @@
+/* @(#)27       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/mmdumpfilocks.sial, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:25:23 */
+
+/* lcrash sial script to display file_lock structures.
+ * Loaded and executed from mmdumpfilock.sh to support
+ * the "mmfsadm dump fillocks" command.
+ */
+string mmdumpfilocks_help()  { return ""; }
+string mmdumpfilocks_opt()   { return ""; }
+string mmdumpfilocks_usage() { return ""; }
+
+typedef struct list_head_t {
+	struct list_head *next, *prev;
+} list_head_t;
+
+int
+mmdumpfilocks()
+{
+  char *fsP;
+  int ino, dev, nLocks;
+  int link_offset, block_offset;
+  list_head_t *lhP, *nextP;
+  list_head_t *bhP, *blockP;
+  struct file_lock *flP, *blP;
+
+  printf("\n");
+
+  /* file_lock_list is the anchor of all locks */
+  if (exists("file_lock_list"))
+  {
+    lhP = (list_head_t *)file_lock_list;
+    flP = (struct file_lock *)lhP->next;
+    link_offset = (int)&flP->fl_link - (int)flP;
+    block_offset = (int)&flP->fl_block - (int)flP;
+
+    nLocks = 0;
+
+    /* Loop through the fl_link.next chain (circular) */
+    while (flP != lhP) {
+
+      /* Back-up to top of file_lock */
+      flP = (struct file_lock *) ((int)flP - link_offset);
+
+      /* Only show GPFS locks */
+      fsP = flP->fl_file->f_dentry->d_sb->s_type->name;
+      if (fsP[0] == 'g' && fsP[1] == 'p' && fsP[2] == 'f' && fsP[3] == 's') { 
+
+        if (!nLocks++) {
+          /* Header line */
+          printf("file_lock  maj:min    inode      pid  type      start        end\n");
+          printf("---------- ------- -------- -------- ----- ---------- ----------\n");
+        }
+
+        /* collect inode and dev to easily identify the file */
+        ino = flP->fl_file->f_dentry->d_inode->i_ino;
+        dev = flP->fl_file->f_dentry->d_inode->i_dev;
+
+        /* display some of the lock fields. */
+        printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d\n", 
+                flP, dev>>8, dev & 0xFF, ino, flP->fl_pid, 
+                flP->fl_type==0? "READ": (flP->fl_type==1? "WRITE":"?"),
+                flP->fl_start, flP->fl_end);  
+
+        /* Follow fl_block so we can match up "reclockSleepers" */
+        bhP = (list_head_t *)(&flP->fl_block);
+        blP = (struct file_lock *)bhP->next;
+
+        /* Loop through the fl_block.next chain (circular) */
+        while (blP != bhP) {
+
+          /* Back-up to top of file_lock */
+          blP = (struct file_lock *) ((int)blP - block_offset);
+
+          /* display some of the lock fields.  One line per lock. */
+          printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d waiting\n", 
+                  blP, dev>>8, dev & 0xFF, ino, blP->fl_pid, 
+                  blP->fl_type==0? "READ": (blP->fl_type==1? "WRITE":"?"),
+                  blP->fl_start, blP->fl_end);  
+
+          /* Move to the next file_lock in the block list. */
+          blockP = (list_head_t *)(&blP->fl_block);
+          blP = (struct file_lock *)blockP->next;
+        } /* Done with the fl_block chain. */
+
+      }
+      /* Move to the next file_lock in the fl_link list and continue. */
+      nextP = (list_head_t *)(&flP->fl_link);
+      flP = (struct file_lock *)nextP->next;
+    }
+  }
+  else
+  {
+    printf("The \"file_lock_list\" symbol cannot be found in this memory image.\n");
+    printf("Did you give lcrash a /var/mmfs/tmp/complete.map?\n");
+  }
+  return 0;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/makefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/makefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/makefile	(revision 16)
@@ -0,0 +1,18117 @@
+# Makefile generated by imake - do not edit!
+# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+# $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+#==================================================
+# Copyright IBM 1993
+#==================================================
+
+###################################################
+# This makefile is automatically generated by
+# imake... do not modify or you may lose your
+# changes when imake generates makefiles again.
+# Ignore this message if you are not using imake.
+###################################################
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+PATCHED_KERNEL_FLAGS =
+
+CXI_HEADER_DIR = $(DESTDIR)/include
+
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS =
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+# Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+###################################################
+# The following comes from the site.mcr
+###################################################
+
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include
+
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build
+
+LINUX_PATCH_DEFINES =
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+
+COMMON_DEFINES =   -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES =   -DDBGASSERTS   -DNEW_DELETE_DEBUG    -DTRACK_USECOUNT   -DTRIGGERS   -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES =   -DINSTRUMENT_LOCKS   -DPTHREAD_STATS   -DTRACE_IO_DATA   -DENTRYEXIT_TRACE
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX =   -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -D$(LINUX_DISTRIBUTION)   -DLINUX_DISTRIBUTION_LEVEL=90   $(LINUX_PATCH_DEFINES)
+
+EXTRASTD_LDFLAGS =
+EXTRALDFLAGS2 =
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer
+
+COMMON_26_FLAGS += -m32 -ffreestanding
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2
+OPTFLAGS  += $(COMMON_26_FLAGS)
+
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+
+DEFAULT_DEFINES =   $(COMMON_LINUX)   -DLINUX_KERNEL_VERSION=2062015   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+SITE_FAR_TRACE_OPTS =
+
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+###################################################
+# Back from site.mcr
+###################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+Headers::
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" = "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" != "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \
+	  if [ ! -f /etc/SuSE-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \
+	  echo "This is OK" > /dev/null; \
+	else \
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \
+	fi;
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+clean::
+	$(RM) #* ,* *~ *.CKP *.BAK *.bak core
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+	$(RM) install.ti install.he library.ti *.rpm
+
+makefile:: Imakefile $(IRULESRC)/imake.tmpl $(IRULESRC)/site.mcr
+		$(IMAKE_CMD); \
+		touch .depends; \
+		cat .depends >>makefile
+
+###################################################
+# The following comes from the local Imakefile
+###################################################
+
+STD_KINCLUDES = -I$(CXI_HEADER_DIR) -I$(GPL_HEADER_DIR) -I$(KERNEL_HEADER_DIR)
+
+PTHREADS = -lpthread
+INSTROOTFLAGS = -c -m 0500
+
+OBJDUMP = /usr/bin/objdump
+GENKSYMS = $(KERNEL_BUILD_DIR)/scripts/genksyms/genksyms
+handle_linux_sym = @if [ ! -f $(GENKSYMS) ]; then \
+	              echo "$(GENKSYMS) not found. Check the value of KERNEL_BUILD_DIR in site.mcr";\
+		      exit 1; \
+	           fi;	\
+		   $(OBJDUMP) -h $1 | grep -q  __ksymtab; 	      \
+	           if [ $$? -eq 0 ]; then 			              \
+		      $(C_COMP) -E -D__GENKSYMS__ $(KCFLAGS) $2 | $(GENKSYMS) > $1.ver;    \
+	              mv $1 $1.tmp;					      \
+		      $(BARELD) -r -o $1 $1.tmp -T $1.ver;      \
+		      rm -f $1.tmp;				      \
+	           fi
+
+.C.o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $*.C
+.C.32o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS32) $*.C -o $*.32o
+.C.64o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS64) $*.C -o $*.64o
+.c.o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $*.c
+.c.32o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS32) $*.c -o $*.32o
+.c.64o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS64) $*.c	-o $*.64o
+
+.c.ko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KCFLAGS) $*.c
+	$(call handle_linux_sym,$@,$*.c)
+.C.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.C
+.S.o:
+	$(RM) $@
+	$(CC) -o $@ -c $(CFLAGS) $*.S
+.S.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.S
+.c.pko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.c
+.C.pko:
+	$(RM) $@
+	$(CC) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.C
+.rpc.h:
+	$(MKRPC) $*.rpc
+
+SUBDIRS = i386
+
+STD_KINCLUDES += -I$(KERNEL_HEADER_DIR)/../arch/$(SUBDIRS)/mach-generic                 -I$(KERNEL_HEADER_DIR)/asm-$(SUBDIRS)/mach-default
+
+KCFLAGS += $(shell $(DESTDIR)/bin/getupdatelevel)
+
+comma = ,
+name-fix = $(subst $(comma),_,$(subst -,_,$1))
+basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(*F)))"
+KCFLAGS += -D"KBUILD_STR(s)=\#s" $(basename_flags)
+
+STD_KINCLUDES += -include $(KERNEL_HEADER_DIR)/linux/autoconf.h
+
+HEADERS = Shark-gpl.h prelinux.h postlinux.h linux2gpfs.h verdep.h           Logger-gpl.h arch-gpl.h
+
+HEADERS += oplock.h
+
+LINUX_VFS = opsdeclare.ko gpl-ksyms.ko             gplInit.ko block.ko file.ko inode.ko dir.ko             super.ko cxiSystem.ko cxiVFSStats.ko cxiIOBuffer.ko             kx.ko mmap.ko ss.ko acl.ko
+
+LINUX_CUSTOM = cfiles_cust.ko
+
+MMLDFLAGS  += --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3
+MMFS = mmfs-i386r
+
+KDUMPCFLAGS = $(KCFLAGS) -mregparm=0
+
+KERNEL_BUILD_DIR := $(call shell, echo "$(KERNEL_BUILD_DIR)")
+
+MODPOST := $(if $(wildcard $(KERNEL_BUILD_DIR)/scripts/mod/modpost),           $(KERNEL_BUILD_DIR)/scripts/mod/modpost, 	            $(KERNEL_BUILD_DIR)/scripts/modpost)
+
+SYSVERFILE := $(KERNEL_BUILD_DIR)/Module.symvers
+
+ifeq ($(LINUX_DISTRIBUTION), REDHAT_AS_LINUX)
+        MODPOST_FLAG := -m
+else
+
+        MODPOST_FLAG := -m
+
+endif
+
+gpfs_module_name = -DKBUILD_MODNAME=\"$1\"
+
+handle_modpost = @if [ ! -f $(MODPOST) ] ; then \
+		    echo "$(MODPOST) not found. Check the value of \
+		          KERNEL_BUILD_DIR in site.mcr file."; \
+		    exit 1;  \
+                 fi; \
+                 $(MODPOST) $(MODPOST_FLAG) -i $2 -o $1.symvers $(PWD)/$1 ;	\
+		 $(C_COMP) -o $1.mod.o -c $(KCFLAGS) $(call gpfs_module_name,$1) $1.mod.c
+
+libs:: libgpfs_gpl.so
+libgpfs_gpl.so:  tscalls.o
+	$(RM) $@
+	echo "  $(BARELD) $(LDFLAGS2) -o $@  tscalls.o --shared  -lc" ;	\
+	$(BARELD) $(LDFLAGS2) -o $@  tscalls.o --shared  -lc
+
+install.ti:: libgpfs_gpl.so
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTPROGFLAGS) $$i  $(GPL_LIB_DIR)/$$i) done)
+
+tracedev: tracedev.ko tracedev-ksyms.ko
+	$(RM) $@
+	$(BARELD) -r -o $@  -Map $@.map --cref $(MMLDFLAGS) $^
+
+	@if [ ! -f $(SYSVERFILE) ]; then \
+		echo "WARNING: $(SYSVERFILE) file not found. Check the value of KERNEL_BUILD_DIR \
+			in site.mcr file"; \
+	fi
+
+	$(call handle_modpost,$@,$(SYSVERFILE))
+	mv -f $@ $@.tmp
+	$(BARELD) -r -o $@ -Map $@.map --cref $(MMLDFLAGS) $@.tmp $@.mod.o $$($(C_COMP) -print-libgcc-file-name)
+	mv -f $@.mod.c $@.mod.c.saved
+	rm -f $@.tmp
+
+MMFS_KEXTS = mmfslinux
+
+MMFS_KEXTS += mmfs26
+
+ROOT_CMDS = lxtrace dumpconv
+
+SITEMCRREV_ARG = $(filter 1.%,$(SITEMCRREV_RAW))
+KCFLAGS += -D'SITEMCRREV="$(SITEMCRREV_ARG)"'
+
+mmfslinux: $(LINUX_CUSTOM) $(GPL_LIB_DIR)/libarch-gpl_cust.a mmwrap.ko tracedev
+	$(RM) $@
+	$(BARELD) -r -o $@ $(LINUX_CUSTOM) $(GPL_LIB_DIR)/libarch-gpl_cust.a                 -Map $@.map --cref $(MMLDFLAGS)                 mmwrap.ko $$($(C_COMP) -print-libgcc-file-name)
+
+	$(call handle_modpost,$@,tracedev.symvers)
+	mv -f $@ $@.tmp
+	$(BARELD) -r -o $@ -Map $@.map --cref $(MMLDFLAGS) $@.tmp $@.mod.o $$($(C_COMP) -print-libgcc-file-name)
+	mv -f $@.mod.c $@.mod.c.saved
+	rm -f $@.tmp
+
+mmfs26: $(DESTDIR)/bin/$(MMFS) mmfsmod.ko mmwrap.ko
+	$(RM) $@
+	$(BARELD) -r -o $@ $(DESTDIR)/bin/$(MMFS) mmfsmod.ko -Map $@.map 		--cref $(MMLDFLAGS) mmwrap.ko 		$$($(C_COMP) -print-libgcc-file-name)
+
+	$(call handle_modpost,$@,mmfslinux.symvers)
+	mv -f $@ $@.tmp
+	$(BARELD) -r -o $@ -Map $@.map --cref $(MMLDFLAGS) $@.tmp $@.mod.o $$($(C_COMP) -print-libgcc-file-name)
+	mv -f $@.mod.c $@.mod.c.saved
+
+clean:: ; $(RM) $(MMFS_KEXTS) $(ROOT_CMDS) tracedev *.symvers *.mod.c
+
+install.ti:: makedirs
+	@echo '\c'
+install.he:: makedirs
+	@echo '\c'
+makedirs::
+	@echo "Checking Destination Directories...."
+	@sh -c 'for i in $(GPL_HEADER_DIR);  do  \
+		if [ -f $$i ]; then  \
+			echo "Mkdir: $$i is a FILE"; \
+			exit 1; \
+		elif [ ! -d $$i ]; then  \
+			echo "Making directory $$i"; \
+			mkdir -p $$i; \
+		fi; \
+	done; \
+	exit 0'
+
+install.he:: $(HEADERS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL) $(INSTINCFLAGS) $$i  $(GPL_HEADER_DIR)/$$i) done)
+
+install.ti:: $(MMFS_KEXTS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTROOTFLAGS) $$i   $(DESTDIR)/bin/$$i) done)
+
+kdump-kern.ko: kdump-kern.c kdump.h
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KDUMPCFLAGS) -DNOSTABS $*.c
+
+kdump-kern-stabs.ko: kdump-kern.c kdump.h
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KDUMPCFLAGS) -gstabs+ kdump-kern.c
+
+KDUMP = kdump.o kdump-kern.ko kdump-kern-stabs.ko
+
+all:: kdump
+kdump:  $(KDUMP)
+	$(RM) $@
+	$(LD) -o $@  $(KDUMP)   $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS)
+clean:: ; $(RM) kdump
+
+all:: lxtrace
+lxtrace:  lxtrace.o
+	$(RM) $@
+	$(LD) -o $@  lxtrace.o   $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS)  $(PTHREADS) -lrt
+clean:: ; $(RM) lxtrace
+
+all:: dumpconv
+dumpconv:  dumpconv.o
+	$(RM) $@
+	$(LD) -o $@  dumpconv.o   $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS)
+clean:: ; $(RM) dumpconv
+
+install.ti:: tracedev
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTSHELLFLAGS) $$i  $(DESTDIR)/bin/$$i) done)
+
+install.ti:: lxtrace.sial
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTSHELLFLAGS) $$i  $(DESTDIR)/bin/$$i) done)
+
+install.ti:: mmdumpfilocks.sial
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTSHELLFLAGS) $$i  $(DESTDIR)/bin/$$i) done)
+
+install.ti:: $(ROOT_CMDS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTROOTFLAGS) $$i   $(DESTDIR)/bin/$$i) done)
+
+BUILD_DESTDIR = /usr/lpp/mmfs/bin
+BUILD_INSTALL = $(MMFS_KEXTS) $(ROOT_CMDS) tracedev
+
+InstallImages:: $(BUILD_INSTALL)
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; 	for i in $(BUILD_INSTALL); do 	(echo $$i; $(INSTALL) $(INSTROOTFLAGS) $$i $(BUILD_DESTDIR)/$$i) done)
+
+TRACELIST = gplInit.c block.c dir.c file.c inode.c super.c             cxiVFSStats.c cxiSystem.c cxiIOBuffer.c kx.c ss.c             mmap.c acl.c
+
+trcid:  $(TRACELIST)
+	$(MKTRACE) -hm  $(TRACELIST)
+trclst:: gpl-linux.trclst
+gpl-linux.trclst:  $(TRACELIST) trcid.h
+	$(RM) gpl-linux.trclst
+	$(MKTRACE) -l gpl-linux.trclst  $(TRACELIST)
+clean:: ; $(RM) gpl-linux.trclst
+
+depend::
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES) -D__KERNEL__" "$(ALL_KDEFINES) -D__KERNEL__" "$(PATCHED_KERNEL_FLAGS) -D__KERNEL__"
+
+###################################################
+# Back from the local Imakefile
+###################################################
+
+Makefiles:: makefile
+
+ All::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "making" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  All; \
+		exit $$?) || exit 1; \
+	done)
+
+ Install::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "installing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Install; \
+		exit $$?) || exit 1; \
+	done)
+
+ Test::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Make-Testing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Test; \
+		exit $$?) || exit 1; \
+	done)
+
+ dependInstall::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "depend-Installing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  dependInstall; \
+		exit $$?) || exit 1; \
+	done)
+
+ Depend::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Depending" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Depend; \
+		exit $$?) || exit 1; \
+	done)
+
+ CleanTest::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "cleaning tests" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  CleanTest; \
+		exit $$?) || exit 1; \
+	done)
+
+ Clean::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "cleaning" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Clean; \
+		exit $$?) || exit 1; \
+	done)
+
+ Checkin::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "checking mods in" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Checkin; \
+		exit $$?) || exit 1; \
+	done)
+
+Makefiles::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+		echo "Making Makefiles (`pwd`/$$i)"; \
+		$(MAKE) subdirMakefiles \
+		MAKE_SUBDIR=$$i || exit $$?; \
+	done)
+
+subdirMakefiles:
+	cd $(MAKE_SUBDIR) || exit $$?; \
+	$(DOTDOTIMAKE_CMD); \
+	touch .depends;  \
+	cat .depends >>makefile; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) Makefiles
+
+ Headers::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "installing header files" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Headers; \
+		exit $$?) || exit 1; \
+	done)
+
+ Libs::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Make-Libraries-ing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Libs; \
+		exit $$?) || exit 1; \
+	done)
+
+ InstallLibs::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Make-Install-Libraries-ing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  InstallLibs; \
+		exit $$?) || exit 1; \
+	done)
+
+ Ship::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Shipping" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Ship; \
+		exit $$?) || exit 1; \
+	done)
+
+ Unship::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Unshipping" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Unship; \
+		exit $$?) || exit 1; \
+	done)
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+##### DEPENDENCY LINE - DO NOT DELETE #####
+
+acl.o: acl.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
+block.o: block.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+cfiles.o: cfiles.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  block.c dir.c Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cfiles_cust.o: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  cfiles.c block.c dir.c Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cxiIOBuffer.o: cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h linux2gpfs.h prelinux.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h
+cxiSystem.o: cxiSystem.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  Logger-gpl.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h
+cxiVFSStats.o: cxiVFSStats.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+dir.o: dir.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dmapi.o: dmapi.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h Logger-gpl.h \
+  prelinux.h postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dumpconv.o: dumpconv.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/types.h \
+  /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/alloca.h
+file.o: file.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+gpl-ksyms.o: gpl-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h linux2gpfs.h prelinux.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h
+gplInit.o: gplInit.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+ibmInitWrap.o: ibmInitWrap.C \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/assert.h
+inode.o: inode.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
+kdump-kern.o: kdump-kern.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  Logger-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elfcore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ptrace.h \
+  kdump-kern.h kdump.h /usr/include/stdio.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/include/bits/stdio_lim.h \
+  /usr/include/bits/sys_errlist.h
+kdump.o: kdump.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h /usr/include/ctype.h \
+  /usr/include/string.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/include/termios.h /usr/include/bits/termios.h \
+  /usr/include/sys/ttydefaults.h /usr/include/regex.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h kdump.h kdump-kern.h
+kx.o: kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h
+lxtrace.o: lxtrace.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/string.h /usr/include/stdlib.h /usr/include/alloca.h \
+  /usr/include/malloc.h /usr/include/signal.h /usr/include/bits/signum.h \
+  /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+  /usr/include/bits/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h /usr/include/aio.h
+mmap.o: mmap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h
+mmfsmod.o: mmfsmod.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vermagic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h
+mmwrap.o: mmwrap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+modpost.o: modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+opsdeclare.o: opsdeclare.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h
+ss.o: ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h \
+  Logger-gpl.h linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h arch-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+super.o: super.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h linux2gpfs.h \
+  prelinux.h postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+tracedev-ksyms.o: tracedev-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h
+tracedev.o: tracedev.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h
+tscalls.o: tscalls.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/assert.h gpfs_gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
+
+acl.ko: acl.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
+block.ko: block.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+cfiles.ko: cfiles.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cfiles_cust.ko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  cfiles.c block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cxiIOBuffer.ko: cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h
+cxiSystem.ko: cxiSystem.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  Logger-gpl.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h
+cxiVFSStats.ko: cxiVFSStats.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+dir.ko: dir.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dmapi.ko: dmapi.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h Logger-gpl.h \
+  prelinux.h postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dumpconv.ko: dumpconv.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/types.h \
+  /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/alloca.h
+file.ko: file.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+gpl-ksyms.ko: gpl-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h linux2gpfs.h prelinux.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h
+gplInit.ko: gplInit.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+ibmInitWrap.ko: ibmInitWrap.C \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h
+inode.ko: inode.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
+kdump-kern.ko: kdump-kern.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  Logger-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elfcore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ptrace.h \
+  kdump-kern.h kdump.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/assert.h
+kdump.ko: kdump.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h /usr/include/ctype.h \
+  /usr/include/string.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/include/termios.h /usr/include/bits/termios.h \
+  /usr/include/sys/ttydefaults.h /usr/include/regex.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h kdump.h kdump-kern.h
+kx.ko: kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h
+lxtrace.ko: lxtrace.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/include/sys/types.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/string.h /usr/include/stdlib.h /usr/include/alloca.h \
+  /usr/include/malloc.h /usr/include/signal.h /usr/include/bits/signum.h \
+  /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+  /usr/include/bits/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h /usr/include/aio.h
+mmap.ko: mmap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h
+mmfsmod.ko: mmfsmod.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vermagic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h
+mmwrap.ko: mmwrap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+modpost.ko: modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+opsdeclare.ko: opsdeclare.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h
+ss.ko: ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h \
+  Logger-gpl.h linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h arch-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+super.ko: super.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+tracedev-ksyms.ko: tracedev-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h
+tracedev.ko: tracedev.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h
+tscalls.ko: tscalls.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h gpfs_gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
+
+acl.pko: acl.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
+block.pko: block.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+cfiles.pko: cfiles.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cfiles_cust.pko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  cfiles.c block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cxiIOBuffer.pko: cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h
+cxiSystem.pko: cxiSystem.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  Logger-gpl.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h
+cxiVFSStats.pko: cxiVFSStats.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+dir.pko: dir.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dmapi.pko: dmapi.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h Logger-gpl.h \
+  prelinux.h postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dumpconv.pko: dumpconv.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/types.h \
+  /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/alloca.h
+file.pko: file.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+gpl-ksyms.pko: gpl-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h linux2gpfs.h prelinux.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h
+gplInit.pko: gplInit.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+ibmInitWrap.pko: ibmInitWrap.C \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h
+inode.pko: inode.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
+kdump-kern.pko: kdump-kern.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  Logger-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elfcore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ptrace.h \
+  kdump-kern.h kdump.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/assert.h
+kdump.pko: kdump.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h /usr/include/ctype.h \
+  /usr/include/string.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/include/termios.h /usr/include/bits/termios.h \
+  /usr/include/sys/ttydefaults.h /usr/include/regex.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h kdump.h kdump-kern.h
+kx.pko: kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h
+lxtrace.pko: lxtrace.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/include/sys/types.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/string.h /usr/include/stdlib.h /usr/include/alloca.h \
+  /usr/include/malloc.h /usr/include/signal.h /usr/include/bits/signum.h \
+  /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+  /usr/include/bits/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h /usr/include/aio.h
+mmap.pko: mmap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h
+mmfsmod.pko: mmfsmod.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vermagic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h
+mmwrap.pko: mmwrap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+modpost.pko: modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+opsdeclare.pko: opsdeclare.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h
+ss.pko: ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h \
+  Logger-gpl.h linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h arch-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+super.pko: super.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+tracedev-ksyms.pko: tracedev-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h
+tracedev.pko: tracedev.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h
+tscalls.pko: tscalls.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h gpfs_gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/makefile.BAK
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/makefile.BAK	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/makefile.BAK	(revision 16)
@@ -0,0 +1,18118 @@
+# Makefile generated by imake - do not edit!
+# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+# $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+#==================================================
+# Copyright IBM 1993
+#==================================================
+
+###################################################
+# This makefile is automatically generated by
+# imake... do not modify or you may lose your
+# changes when imake generates makefiles again.
+# Ignore this message if you are not using imake.
+###################################################
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+PATCHED_KERNEL_FLAGS =
+
+CXI_HEADER_DIR = $(DESTDIR)/include
+
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS =
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+# Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+###################################################
+# The following comes from the site.mcr
+###################################################
+
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include
+
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build
+
+LINUX_PATCH_DEFINES =
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+
+COMMON_DEFINES =   -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES =   -DDBGASSERTS   -DNEW_DELETE_DEBUG    -DTRACK_USECOUNT   -DTRIGGERS   -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES =   -DINSTRUMENT_LOCKS   -DPTHREAD_STATS   -DTRACE_IO_DATA   -DENTRYEXIT_TRACE
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX =   -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -D$(LINUX_DISTRIBUTION)   -DLINUX_DISTRIBUTION_LEVEL=90   $(LINUX_PATCH_DEFINES)
+
+EXTRASTD_LDFLAGS =
+EXTRALDFLAGS2 =
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer
+
+COMMON_26_FLAGS += -m32 -ffreestanding
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2
+OPTFLAGS  += $(COMMON_26_FLAGS)
+
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+
+DEFAULT_DEFINES =   $(COMMON_LINUX)   -DLINUX_KERNEL_VERSION=2062015   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+SITE_FAR_TRACE_OPTS =
+
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+###################################################
+# Back from site.mcr
+###################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+Headers::
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" = "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" != "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \
+	  if [ ! -f /etc/SuSE-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \
+	  echo "This is OK" > /dev/null; \
+	else \
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \
+	fi;
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+clean::
+	$(RM) #* ,* *~ *.CKP *.BAK *.bak core
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+	$(RM) install.ti install.he library.ti *.rpm
+
+makefile:: Imakefile $(IRULESRC)/imake.tmpl $(IRULESRC)/site.mcr
+		$(IMAKE_CMD); \
+		touch .depends; \
+		cat .depends >>makefile
+
+###################################################
+# The following comes from the local Imakefile
+###################################################
+
+STD_KINCLUDES = -I$(CXI_HEADER_DIR) -I$(GPL_HEADER_DIR) -I$(KERNEL_HEADER_DIR)
+
+PTHREADS = -lpthread
+INSTROOTFLAGS = -c -m 0500
+
+OBJDUMP = /usr/bin/objdump
+GENKSYMS = $(KERNEL_BUILD_DIR)/scripts/genksyms/genksyms
+handle_linux_sym = @if [ ! -f $(GENKSYMS) ]; then \
+	              echo "$(GENKSYMS) not found. Check the value of KERNEL_BUILD_DIR in site.mcr";\
+		      exit 1; \
+	           fi;	\
+		   $(OBJDUMP) -h $1 | grep -q  __ksymtab; 	      \
+	           if [ $$? -eq 0 ]; then 			              \
+		      $(C_COMP) -E -D__GENKSYMS__ $(KCFLAGS) $2 | $(GENKSYMS) > $1.ver;    \
+	              mv $1 $1.tmp;					      \
+		      $(BARELD) -r -o $1 $1.tmp -T $1.ver;      \
+		      rm -f $1.tmp;				      \
+	           fi
+
+.C.o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $*.C
+.C.32o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS32) $*.C -o $*.32o
+.C.64o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS64) $*.C -o $*.64o
+.c.o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $*.c
+.c.32o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS32) $*.c -o $*.32o
+.c.64o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS64) $*.c	-o $*.64o
+
+.c.ko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KCFLAGS) $*.c
+	$(call handle_linux_sym,$@,$*.c)
+.C.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.C
+.S.o:
+	$(RM) $@
+	$(CC) -o $@ -c $(CFLAGS) $*.S
+.S.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.S
+.c.pko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.c
+.C.pko:
+	$(RM) $@
+	$(CC) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.C
+.rpc.h:
+	$(MKRPC) $*.rpc
+
+SUBDIRS = i386
+
+STD_KINCLUDES += -I$(KERNEL_HEADER_DIR)/../arch/$(SUBDIRS)/mach-generic                 -I$(KERNEL_HEADER_DIR)/asm-$(SUBDIRS)/mach-default
+
+KCFLAGS += $(shell $(DESTDIR)/bin/getupdatelevel)
+
+comma = ,
+name-fix = $(subst $(comma),_,$(subst -,_,$1))
+basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(*F)))"
+KCFLAGS += -D"KBUILD_STR(s)=\#s" $(basename_flags)
+
+STD_KINCLUDES += -include $(KERNEL_HEADER_DIR)/linux/autoconf.h
+
+HEADERS = Shark-gpl.h prelinux.h postlinux.h linux2gpfs.h verdep.h           Logger-gpl.h arch-gpl.h
+
+HEADERS += oplock.h
+
+LINUX_VFS = opsdeclare.ko gpl-ksyms.ko             gplInit.ko block.ko file.ko inode.ko dir.ko             super.ko cxiSystem.ko cxiVFSStats.ko cxiIOBuffer.ko             kx.ko mmap.ko ss.ko acl.ko
+
+LINUX_CUSTOM = cfiles_cust.ko
+
+MMLDFLAGS  += --wrap __divdi3 --wrap __udivdi3 --wrap __moddi3 --wrap __umoddi3
+MMFS = mmfs-i386r
+
+KDUMPCFLAGS = $(KCFLAGS) -mregparm=0
+
+KERNEL_BUILD_DIR := $(call shell, echo "$(KERNEL_BUILD_DIR)")
+
+MODPOST := $(if $(wildcard $(KERNEL_BUILD_DIR)/scripts/mod/modpost),           $(KERNEL_BUILD_DIR)/scripts/mod/modpost, 	            $(KERNEL_BUILD_DIR)/scripts/modpost)
+
+SYSVERFILE := $(KERNEL_BUILD_DIR)/Module.symvers
+
+ifeq ($(LINUX_DISTRIBUTION), REDHAT_AS_LINUX)
+        MODPOST_FLAG := -m
+else
+
+        MODPOST_FLAG := -m
+
+endif
+
+gpfs_module_name = -DKBUILD_MODNAME=\"$1\"
+
+handle_modpost = @if [ ! -f $(MODPOST) ] ; then \
+		    echo "$(MODPOST) not found. Check the value of \
+		          KERNEL_BUILD_DIR in site.mcr file."; \
+		    exit 1;  \
+                 fi; \
+                 $(MODPOST) $(MODPOST_FLAG) -i $2 -o $1.symvers $(PWD)/$1 ;	\
+		 $(C_COMP) -o $1.mod.o -c $(KCFLAGS) $(call gpfs_module_name,$1) $1.mod.c
+
+libs:: libgpfs_gpl.so
+libgpfs_gpl.so:  tscalls.o
+	$(RM) $@
+	echo "  $(BARELD) $(LDFLAGS2) -o $@  tscalls.o --shared  -lc" ;	\
+	$(BARELD) $(LDFLAGS2) -o $@  tscalls.o --shared  -lc
+
+install.ti:: libgpfs_gpl.so
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTPROGFLAGS) $$i  $(GPL_LIB_DIR)/$$i) done)
+
+tracedev: tracedev.ko tracedev-ksyms.ko
+	$(RM) $@
+	$(BARELD) -r -o $@  -Map $@.map --cref $(MMLDFLAGS) $^
+
+	@if [ ! -f $(SYSVERFILE) ]; then \
+		echo "WARNING: $(SYSVERFILE) file not found. Check the value of KERNEL_BUILD_DIR \
+			in site.mcr file"; \
+	fi
+
+	$(call handle_modpost,$@,$(SYSVERFILE))
+	mv -f $@ $@.tmp
+	$(BARELD) -r -o $@ -Map $@.map --cref $(MMLDFLAGS) $@.tmp $@.mod.o $$($(C_COMP) -print-libgcc-file-name)
+	mv -f $@.mod.c $@.mod.c.saved
+	rm -f $@.tmp
+
+MMFS_KEXTS = mmfslinux
+
+MMFS_KEXTS += mmfs26
+
+ROOT_CMDS = lxtrace dumpconv
+
+SITEMCRREV_ARG = $(filter 1.%,$(SITEMCRREV_RAW))
+KCFLAGS += -D'SITEMCRREV="$(SITEMCRREV_ARG)"'
+
+mmfslinux: $(LINUX_CUSTOM) $(GPL_LIB_DIR)/libarch-gpl_cust.a mmwrap.ko tracedev
+	$(RM) $@
+	$(BARELD) -r -o $@ $(LINUX_CUSTOM) $(GPL_LIB_DIR)/libarch-gpl_cust.a                 -Map $@.map --cref $(MMLDFLAGS)                 mmwrap.ko $$($(C_COMP) -print-libgcc-file-name)
+
+	$(call handle_modpost,$@,tracedev.symvers)
+	mv -f $@ $@.tmp
+	$(BARELD) -r -o $@ -Map $@.map --cref $(MMLDFLAGS) $@.tmp $@.mod.o $$($(C_COMP) -print-libgcc-file-name)
+	mv -f $@.mod.c $@.mod.c.saved
+	rm -f $@.tmp
+
+mmfs26: $(DESTDIR)/bin/$(MMFS) mmfsmod.ko mmwrap.ko
+	$(RM) $@
+	$(BARELD) -r -o $@ $(DESTDIR)/bin/$(MMFS) mmfsmod.ko -Map $@.map 		--cref $(MMLDFLAGS) mmwrap.ko 		$$($(C_COMP) -print-libgcc-file-name)
+
+	$(call handle_modpost,$@,mmfslinux.symvers)
+	mv -f $@ $@.tmp
+	$(BARELD) -r -o $@ -Map $@.map --cref $(MMLDFLAGS) $@.tmp $@.mod.o $$($(C_COMP) -print-libgcc-file-name)
+	mv -f $@.mod.c $@.mod.c.saved
+
+clean:: ; $(RM) $(MMFS_KEXTS) $(ROOT_CMDS) tracedev *.symvers *.mod.c
+
+install.ti:: makedirs
+	@echo '\c'
+install.he:: makedirs
+	@echo '\c'
+makedirs::
+	@echo "Checking Destination Directories...."
+	@sh -c 'for i in $(GPL_HEADER_DIR);  do  \
+		if [ -f $$i ]; then  \
+			echo "Mkdir: $$i is a FILE"; \
+			exit 1; \
+		elif [ ! -d $$i ]; then  \
+			echo "Making directory $$i"; \
+			mkdir -p $$i; \
+		fi; \
+	done; \
+	exit 0'
+
+install.he:: $(HEADERS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL) $(INSTINCFLAGS) $$i  $(GPL_HEADER_DIR)/$$i) done)
+
+install.ti:: $(MMFS_KEXTS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTROOTFLAGS) $$i   $(DESTDIR)/bin/$$i) done)
+
+kdump-kern.ko: kdump-kern.c kdump.h
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KDUMPCFLAGS) -DNOSTABS $*.c
+
+kdump-kern-stabs.ko: kdump-kern.c kdump.h
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KDUMPCFLAGS) -gstabs+ kdump-kern.c
+
+KDUMP = kdump.o kdump-kern.ko kdump-kern-stabs.ko
+
+all:: kdump
+kdump:  $(KDUMP)
+	$(RM) $@
+	$(LD) -o $@  $(KDUMP)   $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS)
+clean:: ; $(RM) kdump
+
+all:: lxtrace
+lxtrace:  lxtrace.o
+	$(RM) $@
+	$(LD) -o $@  lxtrace.o   $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS)  $(PTHREADS) -lrt
+clean:: ; $(RM) lxtrace
+
+all:: dumpconv
+dumpconv:  dumpconv.o
+	$(RM) $@
+	$(LD) -o $@  dumpconv.o   $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS)
+clean:: ; $(RM) dumpconv
+
+install.ti:: tracedev
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTSHELLFLAGS) $$i  $(DESTDIR)/bin/$$i) done)
+
+install.ti:: lxtrace.sial
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTSHELLFLAGS) $$i  $(DESTDIR)/bin/$$i) done)
+
+install.ti:: mmdumpfilocks.sial
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTSHELLFLAGS) $$i  $(DESTDIR)/bin/$$i) done)
+
+install.ti:: $(ROOT_CMDS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTROOTFLAGS) $$i   $(DESTDIR)/bin/$$i) done)
+
+BUILD_DESTDIR = /usr/lpp/mmfs/bin
+BUILD_INSTALL = $(MMFS_KEXTS) $(ROOT_CMDS) tracedev
+
+InstallImages:: $(BUILD_INSTALL)
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; 	for i in $(BUILD_INSTALL); do 	(echo $$i; $(INSTALL) $(INSTROOTFLAGS) $$i $(BUILD_DESTDIR)/$$i) done)
+
+TRACELIST = gplInit.c block.c dir.c file.c inode.c super.c             cxiVFSStats.c cxiSystem.c cxiIOBuffer.c kx.c ss.c             mmap.c acl.c
+
+trcid:  $(TRACELIST)
+	$(MKTRACE) -hm  $(TRACELIST)
+trclst:: gpl-linux.trclst
+gpl-linux.trclst:  $(TRACELIST) trcid.h
+	$(RM) gpl-linux.trclst
+	$(MKTRACE) -l gpl-linux.trclst  $(TRACELIST)
+clean:: ; $(RM) gpl-linux.trclst
+
+depend::
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES) -D__KERNEL__" "$(ALL_KDEFINES) -D__KERNEL__" "$(PATCHED_KERNEL_FLAGS) -D__KERNEL__"
+
+###################################################
+# Back from the local Imakefile
+###################################################
+
+Makefiles:: makefile
+
+ All::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "making" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  All; \
+		exit $$?) || exit 1; \
+	done)
+
+ Install::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "installing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Install; \
+		exit $$?) || exit 1; \
+	done)
+
+ Test::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Make-Testing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Test; \
+		exit $$?) || exit 1; \
+	done)
+
+ dependInstall::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "depend-Installing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  dependInstall; \
+		exit $$?) || exit 1; \
+	done)
+
+ Depend::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Depending" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Depend; \
+		exit $$?) || exit 1; \
+	done)
+
+ CleanTest::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "cleaning tests" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  CleanTest; \
+		exit $$?) || exit 1; \
+	done)
+
+ Clean::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "cleaning" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Clean; \
+		exit $$?) || exit 1; \
+	done)
+
+ Checkin::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "checking mods in" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Checkin; \
+		exit $$?) || exit 1; \
+	done)
+
+Makefiles::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+		echo "Making Makefiles (`pwd`/$$i)"; \
+		$(MAKE) subdirMakefiles \
+		MAKE_SUBDIR=$$i || exit $$?; \
+	done)
+
+subdirMakefiles:
+	cd $(MAKE_SUBDIR) || exit $$?; \
+	$(DOTDOTIMAKE_CMD); \
+	touch .depends;  \
+	cat .depends >>makefile; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) Makefiles
+
+ Headers::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "installing header files" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Headers; \
+		exit $$?) || exit 1; \
+	done)
+
+ Libs::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Make-Libraries-ing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Libs; \
+		exit $$?) || exit 1; \
+	done)
+
+ InstallLibs::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Make-Install-Libraries-ing" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  InstallLibs; \
+		exit $$?) || exit 1; \
+	done)
+
+ Ship::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Shipping" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Ship; \
+		exit $$?) || exit 1; \
+	done)
+
+ Unship::
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	    (cd $$i || exit $$?; \
+		echo  "Unshipping" "(`pwd`)"; \
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Unship; \
+		exit $$?) || exit 1; \
+	done)
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+##### DEPENDENCY LINE - DO NOT DELETE #####
+
+
+acl.o: acl.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
+block.o: block.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+cfiles.o: cfiles.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  block.c dir.c Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cfiles_cust.o: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  cfiles.c block.c dir.c Shark-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cxiIOBuffer.o: cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h linux2gpfs.h prelinux.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h
+cxiSystem.o: cxiSystem.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  Logger-gpl.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h
+cxiVFSStats.o: cxiVFSStats.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+dir.o: dir.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dmapi.o: dmapi.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h Logger-gpl.h \
+  prelinux.h postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dumpconv.o: dumpconv.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/types.h \
+  /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/alloca.h
+file.o: file.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+gpl-ksyms.o: gpl-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h linux2gpfs.h prelinux.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h
+gplInit.o: gplInit.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+ibmInitWrap.o: ibmInitWrap.C \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/assert.h
+inode.o: inode.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
+kdump-kern.o: kdump-kern.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  Logger-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elfcore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ptrace.h \
+  kdump-kern.h kdump.h /usr/include/stdio.h /usr/include/libio.h \
+  /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+  /usr/include/gconv.h /usr/include/bits/stdio_lim.h \
+  /usr/include/bits/sys_errlist.h
+kdump.o: kdump.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h /usr/include/ctype.h \
+  /usr/include/string.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/include/termios.h /usr/include/bits/termios.h \
+  /usr/include/sys/ttydefaults.h /usr/include/regex.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h kdump.h kdump-kern.h
+kx.o: kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h
+lxtrace.o: lxtrace.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/string.h /usr/include/stdlib.h /usr/include/alloca.h \
+  /usr/include/malloc.h /usr/include/signal.h /usr/include/bits/signum.h \
+  /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+  /usr/include/bits/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h /usr/include/aio.h
+mmap.o: mmap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h
+mmfsmod.o: mmfsmod.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vermagic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h
+mmwrap.o: mmwrap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+modpost.o: modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+opsdeclare.o: opsdeclare.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h
+ss.o: ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h \
+  Logger-gpl.h linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h arch-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+super.o: super.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h linux2gpfs.h \
+  prelinux.h postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+tracedev-ksyms.o: tracedev-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h
+tracedev.o: tracedev.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h Logger-gpl.h
+tscalls.o: tscalls.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/assert.h gpfs_gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
+
+acl.ko: acl.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
+block.ko: block.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+cfiles.ko: cfiles.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cfiles_cust.ko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  cfiles.c block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cxiIOBuffer.ko: cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h
+cxiSystem.ko: cxiSystem.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  Logger-gpl.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h
+cxiVFSStats.ko: cxiVFSStats.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+dir.ko: dir.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dmapi.ko: dmapi.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h Logger-gpl.h \
+  prelinux.h postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dumpconv.ko: dumpconv.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/types.h \
+  /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/alloca.h
+file.ko: file.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+gpl-ksyms.ko: gpl-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h linux2gpfs.h prelinux.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h
+gplInit.ko: gplInit.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+ibmInitWrap.ko: ibmInitWrap.C \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h
+inode.ko: inode.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
+kdump-kern.ko: kdump-kern.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  Logger-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elfcore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ptrace.h \
+  kdump-kern.h kdump.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/assert.h
+kdump.ko: kdump.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h /usr/include/ctype.h \
+  /usr/include/string.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/include/termios.h /usr/include/bits/termios.h \
+  /usr/include/sys/ttydefaults.h /usr/include/regex.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h kdump.h kdump-kern.h
+kx.ko: kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h
+lxtrace.ko: lxtrace.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/include/sys/types.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/string.h /usr/include/stdlib.h /usr/include/alloca.h \
+  /usr/include/malloc.h /usr/include/signal.h /usr/include/bits/signum.h \
+  /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+  /usr/include/bits/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h /usr/include/aio.h
+mmap.ko: mmap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h
+mmfsmod.ko: mmfsmod.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vermagic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h
+mmwrap.ko: mmwrap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+modpost.ko: modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+opsdeclare.ko: opsdeclare.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h
+ss.ko: ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h \
+  Logger-gpl.h linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h arch-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+super.ko: super.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+tracedev-ksyms.ko: tracedev-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h
+tracedev.ko: tracedev.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h
+tscalls.ko: tscalls.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h gpfs_gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
+
+acl.pko: acl.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h
+block.pko: block.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+cfiles.pko: cfiles.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cfiles_cust.pko: cfiles_cust.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  cfiles.c block.c dir.c Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h mmap.c \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h super.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h inode.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h file.c cxiVFSStats.c \
+  cxiSystem.c /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h \
+  cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  gplInit.c dmapi.c opsdeclare.c gpl-ksyms.c \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h acl.c
+cxiIOBuffer.pko: cxiIOBuffer.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/blkdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/major.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/genhd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mempool.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioprio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/scatterlist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elevator.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h
+cxiSystem.pko: cxiSystem.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  Logger-gpl.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/swap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/writeback.h
+cxiVFSStats.pko: cxiVFSStats.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+dir.pko: dir.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dmapi.pko: dmapi.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h Logger-gpl.h \
+  prelinux.h postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+dumpconv.pko: dumpconv.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/sys/types.h \
+  /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/stdlib.h /usr/include/alloca.h
+file.pko: file.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+gpl-ksyms.pko: gpl-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  Logger-gpl.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h linux2gpfs.h prelinux.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  postlinux.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h
+gplInit.pko: gplInit.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+ibmInitWrap.pko: ibmInitWrap.C \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h /usr/include/sys/types.h \
+  /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h
+inode.pko: inode.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAclUser.h
+kdump-kern.pko: kdump-kern.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  Logger-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/config.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elfcore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ptrace.h \
+  kdump-kern.h kdump.h /usr/include/stdio.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/assert.h
+kdump.pko: kdump.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/types.h /usr/include/bits/typesizes.h \
+  /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+  /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
+  /usr/include/endian.h /usr/include/bits/endian.h \
+  /usr/include/sys/select.h /usr/include/bits/select.h \
+  /usr/include/bits/sigset.h /usr/include/bits/time.h \
+  /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+  /usr/include/alloca.h /usr/include/unistd.h \
+  /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \
+  /usr/include/getopt.h /usr/include/assert.h /usr/include/ctype.h \
+  /usr/include/string.h /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/include/termios.h /usr/include/bits/termios.h \
+  /usr/include/sys/ttydefaults.h /usr/include/regex.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h kdump.h kdump-kern.h
+kx.pko: kx.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMode-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h oplock.h
+lxtrace.pko: lxtrace.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/include/sys/types.h /usr/include/features.h \
+  /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
+  /usr/include/gnu/stubs.h /usr/include/gnu/stubs-32.h \
+  /usr/include/bits/types.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/sys/time.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+  /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h \
+  /usr/include/string.h /usr/include/stdlib.h /usr/include/alloca.h \
+  /usr/include/malloc.h /usr/include/signal.h /usr/include/bits/signum.h \
+  /usr/include/bits/siginfo.h /usr/include/bits/sigaction.h \
+  /usr/include/bits/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h /usr/include/ctype.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h /usr/include/aio.h
+mmap.pko: mmap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  arch-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/delay.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/delay.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiMmap-plat.h linux2gpfs.h prelinux.h \
+  postlinux.h /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/LockNames.h
+mmfsmod.pko: mmfsmod.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vermagic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h
+mmwrap.pko: mmwrap.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+modpost.pko: modpost.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h
+opsdeclare.pko: opsdeclare.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  linux2gpfs.h Logger-gpl.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h
+ss.pko: ss.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsrelease.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/proc_fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/magic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/file.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/iomap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/mman.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ucontext.h \
+  Logger-gpl.h linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h arch-gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h
+super.pko: super.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h \
+  linux2gpfs.h prelinux.h postlinux.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxi2gpfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiLinkList.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiCred-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
+tracedev-ksyms.pko: tracedev-ksyms.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h
+tracedev.pko: tracedev.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  Shark-gpl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stddef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc3.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/compiler-gcc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/posix_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/statfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/statfs.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopmd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable-nopud.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/memory_model.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/page.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/version.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kernel.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stdarg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/linkage.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bitops.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/alternative.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/hweight.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/fls64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/ext2-non-atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/le.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/byteorder.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/little_endian.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/swab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/byteorder/generic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bitops/minix.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/log2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/bug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/preempt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/thread_info.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/processor.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/vm86.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ptrace-abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/segment.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/math_emu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sigcontext.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cpufeature.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msr.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/paravirt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stringify.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/system.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irqflags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/threads.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/cpumask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bitmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/string.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/init.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/bottom_half.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/lockdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/spinlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/atomic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/spinlock_api_smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/list.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/poison.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prefetch.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/stat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/time.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seqlock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmod.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/auxvec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/elf-em.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/elf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/user.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/utsname.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sched.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/capability.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/current.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pda.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/timex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tsc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/jiffies.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/calc64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/div64.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rbtree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nodemask.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/numa.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/semaphore.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/wait.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/rwsem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mmu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/cputime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/smp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fixmap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/acpi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/acpi/pdc_intel.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/kmap_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/mpspec_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_mpspec.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/io_apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/apic.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/mach_apicdef.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ipc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ipcbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kref.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sembuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/signal.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/siginfo.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/securebits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs_struct.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/completion.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pid.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rcupdate.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/percpu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/gfp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mmzone.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/memory_hotplug.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/notifier.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/srcu.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/topology.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/slab_def.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kmalloc_sizes.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/seccomp.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/unistd.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/futex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/rtmutex.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/plist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/param.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/resource.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/timer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hrtimer.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ktime.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/task_io_accounting.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/workqueue.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/aio_abi.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uio.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysdev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kobject.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sysfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nsproxy.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/desc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ldt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/moduleparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/local.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/module.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/smp_lock.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmalloc.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hardirq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irqreturn.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-i386/mach-default/irq_vectors_limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/irq_regs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/hw_irq.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/profile.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/sections.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/irq_cpustat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/uaccess.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace.h trcid.h \
+  /usr/lpp/mmfs/src/include/cxi/DirIds.h \
+  /usr/lpp/mmfs/src/include/cxi/Trace-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/lxtrace.h verdep.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/buffer_head.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/limits.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/kdev_t.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dcache.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/namei.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/radix-tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/prio_tree.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/quota.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_xfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v1.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/dqblk_v2.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs_fs_i.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/nfs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/sunrpc/msg_prot.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/fcntl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/err.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/pagemap.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/debug_locks.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/backing-dev.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mm_types.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level-defs.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/pgtable-2level.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/pgtable.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/page-flags.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/vmstat.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/uaccess.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/cacheflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/highmem.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/interrupt.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/ioport.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/klist.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/device.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/tlbflush.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/mount.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/security.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/binfmts.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/shm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmparam.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/shmbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/msg.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/msgbuf.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/key.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/xfrm.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/net/flow.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/in6.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h Logger-gpl.h
+tscalls.pko: tscalls.c \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/autoconf.h \
+  /usr/include/stdlib.h /usr/include/features.h /usr/include/sys/cdefs.h \
+  /usr/include/bits/wordsize.h /usr/include/gnu/stubs.h \
+  /usr/include/gnu/stubs-32.h \
+  /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/include/stddef.h \
+  /usr/include/sys/types.h /usr/include/bits/types.h \
+  /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+  /usr/include/bits/endian.h /usr/include/sys/select.h \
+  /usr/include/bits/select.h /usr/include/bits/sigset.h \
+  /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+  /usr/include/bits/pthreadtypes.h /usr/include/alloca.h \
+  /usr/include/sys/errno.h /usr/include/errno.h /usr/include/bits/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/linux/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/errno-base.h \
+  /usr/include/sys/ioctl.h /usr/include/bits/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctls.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm/ioctl.h \
+  /usr/src/linux-headers-2.6.20-15-generic/include/asm-generic/ioctl.h \
+  /usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
+  /usr/include/fcntl.h /usr/include/bits/fcntl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTypes-plat.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiSystem-plat.h /usr/include/sys/user.h \
+  /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+  /usr/include/bits/confname.h /usr/include/getopt.h gpfs_gpl.h \
+  /usr/lpp/mmfs/src/include/cxi/cxiTSFattr.h
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmap.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmap.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmap.c	(revision 16)
@@ -0,0 +1,730 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)26       1.86  src/avs/fs/mmfs/ts/kernext/gpl-linux/mmap.c, mmfs, avs_rgpfs24, rgpfs24s003a 5/8/06 11:04:56 */
+
+#include <Shark-gpl.h>
+#include <arch-gpl.h>
+
+#include <linux/mm.h>
+#if defined(REDHAT_AS_LINUX) && LINUX_KERNEL_VERSION >= 2042101
+#include <linux/mm_inline.h>
+#endif
+
+#include <linux/pagemap.h>
+#include <linux/module.h>
+#include <asm/pgalloc.h>
+#include <linux/mman.h>
+#include <linux/file.h>
+#include <linux/sched.h>
+#include <linux/smp_lock.h>
+#include <linux/delay.h>
+
+#include <verdep.h>
+#include <cxiSystem.h>
+#include <cxi2gpfs.h>
+#include <cxiMmap.h>
+#include <linux2gpfs.h>
+#include <cxi2gpfs.h>
+#include <Trace.h>
+#include <LockNames.h>
+
+
+/* True if the paging operations are enabled.  Serialized using PQLockWord. */
+static Boolean mmapEnabled = false;
+
+/* Storage for page queue entries */
+#define MAX_PAGEQUE_ENTRIES 500
+static cxibuf_t Page_queue[MAX_PAGEQUE_ENTRIES];
+
+/* Head of list of free page queue entries, protected by PQLockWord */
+static cxibuf_t *PageQueueFreeP;
+static cxiBlockingMutex_t PQLockWord;
+
+
+/* dump page contents
+ * flag = 0 ==> after read from disk
+ *        1 ==> write
+ */
+static void dump_page(struct vm_area_struct *vma, struct page *page, int flag)
+{
+#ifdef TRACE_IO_DATA
+  int trcbuf[12];
+  char *what = (flag == 1) ? "write" : "read";
+  char *kaddr = kmap(page);
+  ENTER(0);
+  memcpy(trcbuf, kaddr, sizeof(trcbuf));
+  kunmap(page);
+
+  TRACE8(TRACE_VNODE, 6, TRCID_MMAP_DIRTY_PAGE_DUMP,
+         "dump 0 %s page 0x%lX: vma 0x%08X count %d data %08X %08X %08X %08X\n",
+         what, page, vma, page_count(page),
+         CPUToBigEnd32(trcbuf[0]),
+         CPUToBigEnd32(trcbuf[1]),
+         CPUToBigEnd32(trcbuf[2]),
+         CPUToBigEnd32(trcbuf[3]));
+  TRACE8(TRACE_VNODE, 9, TRCID_MMAP_DIRTY_PAGE_DUMP_A,
+         "dump 1 %s page 0x%lX: vma 0x%08X count %d data %08X %08X %08X %08X\n",
+         what, page, vma, page_count(page),
+         CPUToBigEnd32(trcbuf[4]),
+         CPUToBigEnd32(trcbuf[5]),
+         CPUToBigEnd32(trcbuf[6]),
+         CPUToBigEnd32(trcbuf[7]));
+  TRACE8(TRACE_VNODE, 9, TRCID_MMAP_DIRTY_PAGE_DUMP_B,
+         "dump 2 %s page 0x%lX: vma 0x%08X count %d data %08X %08X %08X %08X\n",
+         what, page, vma, page_count(page),
+         CPUToBigEnd32(trcbuf[8]),
+         CPUToBigEnd32(trcbuf[9]),
+         CPUToBigEnd32(trcbuf[10]),
+         CPUToBigEnd32(trcbuf[11]));
+  EXIT(0);
+#endif
+}
+
+
+/* Disable paging operations */
+void mmapKill()
+{
+  ENTER(0);
+  cxiBlockingMutexAcquire(&PQLockWord);
+  mmapEnabled = false;
+  cxiBlockingMutexRelease(&PQLockWord);
+  EXIT(0);
+}
+
+void EnableMmap()
+{
+  /* It is ok to change without holding PQLockWord since it is
+   * called from initialization
+   */
+  mmapEnabled = true;
+}
+
+
+int cxiMmapRegister(void *dummy)
+{
+  int i;
+
+  ENTER(0);
+  TRACE0(TRACE_VNODE, 2, TRCID_MMAP_REG_ENTER,
+         "cxiMmapRegister enter\n");
+
+  cxiBlockingMutexInit(&PQLockWord, GPFS_LOCK_MMAP_FREEQ_IDX);
+
+  TRACE2(TRACE_VNODE, 2, TRCID_MMAP_REG_5,
+        "cxiMmapRegister: Page_queue addr range [0x%lX - 0x%lX]\n",
+        &Page_queue[0], &Page_queue[MAX_PAGEQUE_ENTRIES - 1] );
+
+  /* Initialize page queue entries.  When a page arrives for read or write
+     (by readpage or writepage functions), the page information will be
+     copied to a free queue entry and that entry will be added to the end
+     of the pager kproc queue. */
+  PageQueueFreeP = NULL;
+  for (i = 0; i < MAX_PAGEQUE_ENTRIES; i++)
+  {
+    Page_queue[i].av_forw = PageQueueFreeP;
+    PageQueueFreeP = &Page_queue[i];
+    Page_queue[i].pageP = NULL;
+    Page_queue[i].b_vp = NULL;
+    Page_queue[i].vinfoP = NULL;
+    Page_queue[i].b_baddr = NULL;
+    Page_queue[i].b_flags = 0;
+    Page_queue[i].b_blkno = 0;
+  }
+
+  mmapEnabled = true;
+  EXIT(0);
+  return 0;
+}
+
+/* Module termination */
+int cxiMmapUnregister(void *dummy)
+{
+  ENTER(0);
+  TRACE0(TRACE_VNODE, 2, TRCID_MMAP_UNREG_ENTER,
+         "cxiMmapUnregister enter\n");
+  PageQueueFreeP = NULL;
+  mmapEnabled = false;
+  EXIT(0);
+  return 0;
+}
+
+Int64 getFilePos(cxibuf_t *bufP)
+{
+  Int64 pos = (Int64) bufP->b_blkno << PAGE_SHIFT;
+  ENTER(0);
+  TRACE1(TRACE_VNODE, 5, TRCID_MMAP_FILEPOS_ENTER,
+         "getFilePos: pos 0x%llX\n", pos);
+  EXIT(0);
+  return pos;
+}
+
+char *VM_Attach(cxibuf_t *bufP)
+{
+  DBGASSERT(bufP->pageP != NULL);
+  return kmap(bufP->pageP);
+}
+
+void VM_Detach(cxibuf_t *bufP, char *baddrP)
+{
+  kunmap(bufP->pageP);
+}
+
+void IoDone(cxibuf_t *bufP)
+{
+  struct page *pageP = bufP->pageP;
+
+  if (pageP != NULL)
+  {
+    TRACE5(TRACE_VNODE, 2, TRCID_MMAP_IO_ENTER,
+           "IoDone enter: b_flags 0x%lX pageP 0x%lX index %d count %d flags 0x%lX\n",
+           bufP->b_flags, pageP, pageP->index, page_count(pageP), pageP->flags);
+
+    /* error in read or write operation */
+    if ((bufP->b_flags & B_ERROR) != 0)
+      SetPageError(pageP);
+    else if ((bufP->b_flags & B_READ) != 0)
+      SetPageUptodate(pageP);
+
+    TRACE2(TRACE_VNODE, 2, TRCID_MMAP_IO_EXIT,
+           "IoDone exit: pageP 0x%lX flags 0x%lX\n",
+           pageP, pageP->flags);
+
+#if LINUX_KERNEL_VERSION >= 2050000
+    if ((bufP->b_flags & B_READ) == 0)
+      /* This was a writeback request. Signal its completion by clearing the
+	 writeback flag. */
+      end_page_writeback(pageP);
+    else
+#endif
+      PAGE_UNLOCK(pageP);
+  }
+  
+  /* If this was an asynchronous request, free the buf struct.  For
+     synchronous requests, the buf is a stack variable. */
+  if ((bufP->b_flags & B_ASYNC) != 0)
+  {
+    cxiBlockingMutexAcquire(&PQLockWord);
+    bufP->av_forw = PageQueueFreeP;
+    PageQueueFreeP = bufP;
+    cxiBlockingMutexRelease(&PQLockWord);
+  }
+  
+
+}
+
+void getVp(void *gnP, void **vP, struct gpfsVfsData_t  **privVfsP)
+{
+  cxiNode_t *cP = (cxiNode_t *)gnP;
+  struct inode *iP = (struct inode *)cP->osNodeP;
+  *privVfsP = VP_TO_PVP(iP);
+  *vP = cP->osNodeP;
+}
+
+
+/* Flush/invalidate a mapped range:
+       CmfProtect  - Remove pages from address space so that new
+                     references will cause a page fault or protection fault
+       CmfFlush    - Write dirty pages
+       CmfInval    - Prevent cached page from being re-used
+ */
+int cxiMmapFlush(cxiNode_t *cnP, UInt64 start, UInt64 end,
+                 enum CmflushOption cmopt)
+{
+  int rc = 0;
+  struct inode *inodeP = cnP->osNodeP;
+
+  ENTER(0);
+  TRACE5(TRACE_VNODE, 2, TRCID_MMAP_FLUSH_ENTER,
+         "cxiMmapFlush: cnP 0x%lX inodeNum %d opt %d range 0x%llX-0x%llX\n",
+         cnP, inodeP->i_ino, cmopt, start, end);
+
+  switch (cmopt)
+  {
+    case CmfProtect:
+
+      /* Block new modifications to page.  This clears PTEs, which will force
+         them to page fault.  It also transfers the dirty bit from the PTE to
+         the page struct.  */
+      UNMAP_MAPPING_RANGE(inodeP->i_mapping, start, 0);
+      break;
+
+    case CmfFlush:
+      FILEMAP_FDATASYNC(rc, inodeP->i_mapping);
+      if (rc == 0)
+        FILEMAP_FDATAWAIT(rc, inodeP->i_mapping);
+      break;
+
+    case CmfInval:
+      truncate_inode_pages(inodeP->i_mapping, (start & PAGE_CACHE_MASK));
+      break;
+  }
+
+  TRACE1(TRACE_VNODE, 2, TRCID_MMAP_FLUSH_EXIT,
+         "cxiMmapFlush exit: rc %d\n", rc);
+  EXIT(0);
+  return rc;
+}
+
+
+/* Lock a cache page for inode bufP->inodeP at index bufP->b_blkno,
+   creating if necessary.  Save pointer to page in bufP->pageP.  On error,
+   return with bufP->pageP NULL.  Page will be locked and a reference will
+   be added.  Return non-zero if page is already up to date. */
+int cxiMmapGetPage(cxibuf_t *bufP)
+{
+  int rc = 0;
+  struct inode *inodeP = (struct inode *)bufP->b_inodeP;
+  struct page *pageP = grab_cache_page(inodeP->i_mapping, bufP->b_blkno);
+
+  ENTER(0);
+  if (pageP != NULL)
+  {
+    if (PAGE_UP_TO_DATE(pageP))
+      rc = EEXIST;
+    else
+      ClearPageError(pageP);
+
+    TRACE6(TRACE_VNODE, 1, TRCID_CXIGETPAGE,
+           "cxiMmapGetPage: page 0x%lX index %d count %d flags 0x%lX mapping 0x%lX uptodate %d\n",
+           pageP, pageP->index, page_count(pageP), pageP->flags,
+           pageP->mapping, (rc != 0));
+  }
+  bufP->pageP = pageP;
+  EXIT(0);
+  return rc;
+}
+
+
+/* Release/unlock page */
+void cxiMmapReleasePage(struct page *pageP)
+{
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 1, TRCID_CXIRELPAGE,
+         "cxiMmapReleasePage: released page 0x%lX index %d count %d flags 0x%lX\n",
+         pageP, pageP->index, page_count(pageP), pageP->flags);
+
+  PAGE_UNLOCK(pageP);
+  page_cache_release(pageP);
+  EXIT(0);
+}
+
+
+/* Called from do_no_page() to handle page fault.  Add page to cache if not
+   already there and add a reference.  If contents are not already up to
+   date, then read new contents from disk.  Return NULL if failure. */
+struct page *
+#if LINUX_KERNEL_VERSION > 2060300
+gpfs_filemap_nopage(struct vm_area_struct *area, unsigned long address,
+                    int * noShare)
+#else
+gpfs_filemap_nopage(struct vm_area_struct *area, unsigned long address,
+                    int noShare)
+#endif
+{
+  unsigned long index;
+  struct page *pageP = NULL;
+  struct page **hashP;
+  struct file *fileP = area->vm_file;
+  struct inode *inodeP;
+  struct MMFSVInfo *vinfoP;
+  Boolean haveFlushLock = false;
+  cxiNode_t *cnP;
+  cxibuf_t buf;
+  
+  VFS_STAT_START(readpageCall);
+  ENTER(0);
+
+  TRACE6(TRACE_VNODE, 2, TRCID_LINUXOPS_NOPAGE,
+         "gpfs_filemap_nopage enter: area 0x%lX address 0x%lX vm_file 0x%lX "
+         "vm_mm 0x%lX mm_users %d noShare %d\n", area, address, fileP, 
+         area->vm_mm, atomic_read(&area->vm_mm->mm_users), noShare);
+
+  index = area->vm_pgoff + ((address - area->vm_start) >> PAGE_CACHE_SHIFT);
+
+  TRACE4(TRACE_VNODE, 3, TRCID_LINUXOPS_NOPAGE_1,
+         "gpfs_filemap_nopage: vm_start 0x%lX vm_end 0x%lX vm_flags 0x%lX "
+         "index %d\n", area->vm_start, area->vm_end, area->vm_flags, index);
+
+  /* Check that paging operations are still enabled */
+  if (!mmapEnabled)
+    goto exit;
+  
+  LOGASSERT(fileP != NULL);
+  inodeP = fileP->f_dentry->d_inode;
+  LOGASSERT(inodeP != NULL);
+  cnP = VP_TO_CNP(inodeP);
+
+  /* Remember that there were paging requests under the given instance */
+  vinfoP = (struct MMFSVInfo *)fileP->private_data;
+  if (vinfoP != NULL)
+    ((struct cxiVinfo_t*)vinfoP)->rwPageDone = true;
+
+  /* See if this page is already in the cache, and add a reference if so */
+#if LINUX_KERNEL_VERSION >= 2057200
+  pageP = find_get_page(inodeP->i_mapping, index);
+#else
+  hashP = page_hash(inodeP->i_mapping, index);
+  pageP = __find_get_page(inodeP->i_mapping, index, hashP);
+#endif
+  if (pageP)
+  {
+    /* Page is already cached.  If it is up to date, then we do not need to
+       read it.  Hold mmap flush lock until after making pte valid. */
+    gpfs_ops.gpfsMmapFlushLock(cnP);
+    haveFlushLock = true;
+
+    if (PAGE_UP_TO_DATE(pageP))
+      goto exit;
+
+    /* Not up to date.  Release page and go through processRead to fetch
+       the data. */
+    gpfs_ops.gpfsMmapFlushUnlock(cnP);
+    haveFlushLock = false;
+
+    page_cache_release(pageP);
+  }
+
+  /* Initialize buf struct for mmap read.  We don't have to fill in a
+     data address since the page won't be allocated until after all the
+     necessary locks have been obtained in kSFSRead. */
+  buf.av_forw = NULL;
+  buf.pageP = NULL;
+  buf.b_vp = cnP;
+  buf.vinfoP = vinfoP;
+  buf.privVfsP = VP_TO_PVP(inodeP);
+  buf.b_baddr = NULL;
+  buf.b_flags = B_READ | B_PFEOF;
+  buf.b_blkno = index;
+  buf.b_bcount = PAGE_SIZE;
+  buf.b_error = 0;
+  buf.b_inodeP = inodeP;
+
+  /* Read the page.  If successful, this returns with mmap flush lock held
+     and a reference added to page. */
+  gpfs_ops.gpfsQueueBufs(&buf);
+
+  pageP = buf.pageP;
+  if (pageP)
+    haveFlushLock = true;
+
+exit:
+#if defined(REDHAT_AS_LINUX) && LINUX_KERNEL_VERSION < 2042100
+  /* The noShare flag is only used on earlier kernels (of which Redhat 
+   * Advanced Server is one).  This code is pretty much common to all
+   * the nopage functions and thus was put in the common do_no_page()
+   * function.  It's present here for RHAS.
+   */
+  if (noShare && pageP)
+  {
+    struct page *newPageP = alloc_page(GFP_HIGHUSER);
+    if (newPageP)
+    {
+      copy_user_highpage(newPageP, pageP, address);
+      flush_page_to_ram(newPageP);
+    }
+    
+    page_cache_release(pageP);
+    pageP = newPageP;
+  }
+#endif
+
+  /* If we return non-NULL, then nopagedone routine will be called. */
+  if (pageP)
+  {
+    TRACE4(TRACE_VNODE, 2, TRCID_LINUXOPS_NOPAGE_2,
+           "gpfs_filemap_nopage: return page 0x%lX count %d flags 0x%lX "
+           "mm_users %d\n", pageP, page_count(pageP), pageP->flags,
+           atomic_read(&area->vm_mm->mm_users));
+
+    dump_page(area, pageP, 0);
+  }
+  else
+    TRACE0(TRACE_VNODE, 2, TRCID_LINUXOPS_NOPAGE_3,
+           "gpfs_filemap_nopage: return page NULL");
+
+#if !defined(MMAP_LINUX_PATCH) || LINUX_KERNEL_VERSION >= 2060000
+  /* If we don't have the nopagedone patch, release mmap flush lock here.
+   * If flush/invalidate runs before do_no_page can make the PTE valid,
+   *  the application might see stale data and updates could be lost. 
+   */
+  if (haveFlushLock)
+    gpfs_ops.gpfsMmapFlushUnlock(cnP);
+#endif
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return pageP;
+}
+
+
+/* Called from do_no_page() after making PTE valid */
+void
+gpfs_filemap_nopagedone(struct vm_area_struct *area, unsigned long address,
+                        int status)
+{
+  struct inode *inodeP = area->vm_file->f_dentry->d_inode;
+  cxiNode_t *cnP = VP_TO_CNP(inodeP);
+
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 2, TRCID_LINUXOPS_NOPAGEDONE,
+         "gpfs_filemap_nopagedone: cnP 0x%lX area 0x%lX address 0x%lX status %d\n",
+         cnP, area, address, status);
+
+  gpfs_ops.gpfsMmapFlushUnlock(cnP);
+  EXIT(0);
+}
+
+
+/* Address space operation to read a page from a file.  On entry, the page
+   is locked and it is in the page cache.  If this routine is successful,
+   it marks the page up to date and unlocks it.  Page faulting of a mapped
+   file will call gpfs_filemap_nopage, not this routine.  The main user of
+   this routine is the sendfile() system call. */
+int
+gpfs_i_readpage(struct file *fileP, struct page *pageP)
+{
+  int rc = 0, rc1 = 0, code = 0;
+  struct dentry *dentryP = fileP->f_dentry;
+  struct inode *inodeP = dentryP->d_inode;
+  cxiNode_t *cnP = VP_TO_CNP(inodeP);
+  struct gpfsVfsData_t *privVfsP;
+  int index = pageP->index;
+  cxibuf_t buf;
+  struct page *bufPageP;
+  char *kaddr1;
+  char *kaddr2;
+  ext_cred_t eCred;
+
+
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_READPAGE_ENTER,
+         "gpfs_i_readpage enter: fileP 0x%lX cnP 0x%lX inodeP 0x%lX inode %d\n",
+         fileP, cnP, inodeP, inodeP->i_ino);
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_READPAGE_ENTER_A,
+         "gpfs_i_readpage: page 0x%lX index %d count %d flags 0x%lX\n",
+         pageP, index, page_count(pageP), pageP->flags);
+                                                                                
+  /* Unlock the page.  In order to read the page, we will have to obtain a
+     file lock and byte range lock, and we can't do that while holding a
+     page lock.  The page is not yet marked up to date, so it won't hurt if
+     another process attempts to read this page.  We don't have to add a
+     reference to the page since our caller is expecting us to return with
+     the page unlocked, so he must already have taken care of that. */
+  PAGE_UNLOCK(pageP);
+
+  /* Make sure file is open if called from NFS */
+  if (cxiIsNFSThread())
+  {
+    int NFSflags = FREAD;
+
+    BEGIN_FAR_CODE;
+    DBGASSERT(GNP_IS_FILE(cnP));
+    rc = gpfs_ops.gpfsGetNFS((void *)inodeP,
+                             (struct MMFSVInfo **)&fileP->private_data,
+                             &NFSflags); 
+    if (rc != 0)
+    {
+      code = 1;
+      goto xerror;
+    }
+
+    DBGASSERT((struct MMFSVInfo *)fileP->private_data != NULL);
+
+    setCred(&eCred);
+    privVfsP = VP_TO_PVP(inodeP);
+    DBGASSERT(privVfsP != NULL);
+    rc = gpfs_ops.gpfsOpenNFS(privVfsP, cnP, FREAD,
+                              (struct MMFSVInfo *)fileP->private_data, &eCred);
+    if (rc != 0)
+    {
+      code = 2;
+      goto xerror;
+    }
+    END_FAR_CODE;
+  }
+
+  buf.av_forw = NULL;
+  buf.pageP = NULL;
+  buf.b_vp = cnP;
+  buf.vinfoP = (struct MMFSVInfo *)fileP->private_data;
+  buf.privVfsP = VP_TO_PVP(inodeP);
+  buf.b_baddr = NULL;
+  buf.b_flags = B_READ | B_PFEOF | B_SENDFILE;
+  buf.b_blkno = index;
+  buf.b_bcount = PAGE_SIZE;
+  buf.b_error = 0;
+  buf.b_inodeP = inodeP;
+
+  /* Read the page.  If successful, this returns with mmap flush lock held
+     and a reference added to page. */
+  gpfs_ops.gpfsQueueBufs(&buf);
+
+  if (buf.pageP != NULL)
+  {
+
+    bufPageP = buf.pageP;
+    TRACE4(TRACE_VNODE, 2, TRCID_LINUXOPS_READPAGE1,
+           "gpfs_i_readpage: return page 0x%lX index %d count %d flags 0x%lX\n",
+           bufPageP, bufPageP->index, page_count(bufPageP), bufPageP->flags);
+
+    dump_page(NULL, bufPageP, 0);
+    if (buf.pageP != pageP)
+    {
+
+      /* may be pageP has been removed from the page cache by 
+         truncate_inode_pages. Since caller has reference, when removed by
+         truncate_inode_pages from page cache, it is orphaned and will be 
+         deleted as soon as the count goes to zero.  Therefore, 
+         grab_cache_page doesn't find it and creates a new page instead.
+         Just copy the new page into pageP so that sendfile can use it and
+         decrement the count, which will delete the page   
+      */
+      kaddr1 = kmap(pageP);
+      kaddr2 = kmap(bufPageP);
+      memcpy(kaddr1,kaddr2,PAGE_SIZE);
+      kunmap(pageP);
+      kunmap(bufPageP);
+      SetPageUptodate(pageP);
+    }
+
+    /* Release reference that was added by gpfsReadpage */
+    page_cache_release(bufPageP);
+
+    /* Release mmap flush lock.  This lock is used to block invalidate until
+       after PTE is made valid, but we aren't making any PTEs valid here. */
+    gpfs_ops.gpfsMmapFlushUnlock(cnP);
+  }
+  else
+  {
+    rc = EFAULT;
+    code = 3;
+  }
+  
+  /* Perform release on file if called from NFS */
+  if (cxiIsNFSThread())
+  {
+    DBGASSERT(GNP_IS_FILE(cnP));
+
+    /* On the last NFS release, a watchdog will be set to close the file
+       after a delay. */
+    rc1 = gpfs_ops.gpfsReleaseNFS(inodeP);
+    if ((rc1 != 0) && (rc == 0))
+    {
+      code = 4;
+      rc = rc1;
+    }
+  }
+
+xerror:
+
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_READPAGE_EXIT,
+         "gpfs_i_readpage exit: inodeP 0x%lX rc %d code %d\n", inodeP, rc,
+         code);
+  EXIT(0);
+  return -rc;
+}
+
+
+/* Address space operation to asynchronously write a page to a file.  On
+   entry, the page is locked.  This routine queues a write request to a
+   pager kproc and returns.  The kproc will unlock the page when write is
+   complete, and that will wake up any waiters. */
+int
+#if LINUX_KERNEL_VERSION >= 2050000
+gpfs_i_writepage(struct page *pageP, struct writeback_control *wbcP)
+#else
+gpfs_i_writepage(struct page *pageP)
+#endif
+{
+  int rc = 0;
+  struct inode *inodeP = (struct inode *) pageP->mapping->host;
+  cxiNode_t *cnP = VP_TO_CNP(inodeP);
+  cxibuf_t *bufP, buf;
+
+  VFS_STAT_START(writepageCall);
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_WRPAGE_ENTER,
+         "gpfs_i_writepage enter: cnP 0x%lX inodeP 0x%lX inode %d\n",
+          cnP, inodeP, inodeP->i_ino);
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_WRPAGE_ENTER_A,
+         "gpfs_i_writepage: page 0x%lX index %d count %d flags 0x%lX\n",
+         pageP, pageP->index, page_count(pageP), pageP->flags);
+  dump_page(NULL, pageP, 1);
+
+  /* Get a request buffer.  If none are available, allocate one on stack
+     and do the write synchronously. */
+  cxiBlockingMutexAcquire(&PQLockWord);
+  if (PageQueueFreeP == NULL)
+  {
+    bufP = &buf;
+    bufP->b_flags = B_WRITE;
+  }
+  else
+  {
+    bufP = PageQueueFreeP;
+    PageQueueFreeP = bufP->av_forw;
+    bufP->b_flags = B_WRITE | B_ASYNC;
+  }
+  cxiBlockingMutexRelease(&PQLockWord);
+
+  /* Initialize buffer */
+  bufP->av_forw = NULL;
+  bufP->pageP = pageP;
+  bufP->b_vp = cnP;
+  bufP->vinfoP = NULL;
+  bufP->privVfsP = VP_TO_PVP(inodeP);
+  bufP->b_baddr = NULL;
+  bufP->b_blkno = pageP->index;
+  bufP->b_bcount = PAGE_SIZE;
+  bufP->b_error = 0;
+  bufP->b_inodeP = NULL;
+
+#if LINUX_KERNEL_VERSION >= 2050000
+  /* Set the page writeback flag and unlock the page. When write is complete,
+     the pager kproc will call IoDone to clear this flag and wake up any
+     threads waiting for this write to complete. */
+  set_page_writeback(pageP);
+  PAGE_UNLOCK(pageP);  
+#endif
+
+  /* Queue the buffer to a pager kproc and return. */
+  gpfs_ops.gpfsQueueBufs(bufP);
+
+exit:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_WRPAGE_EXIT,
+         "gpfs_i_writepage exit: inodeP 0x%lX rc %d\n", inodeP, rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return -rc;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmdumpfilocks.sial
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmdumpfilocks.sial	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmdumpfilocks.sial	(revision 16)
@@ -0,0 +1,96 @@
+/* @(#)27       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/mmdumpfilocks.sial, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:25:23 */
+
+/* lcrash sial script to display file_lock structures.
+ * Loaded and executed from mmdumpfilock.sh to support
+ * the "mmfsadm dump fillocks" command.
+ */
+string mmdumpfilocks_help()  { return ""; }
+string mmdumpfilocks_opt()   { return ""; }
+string mmdumpfilocks_usage() { return ""; }
+
+typedef struct list_head_t {
+	struct list_head *next, *prev;
+} list_head_t;
+
+int
+mmdumpfilocks()
+{
+  char *fsP;
+  int ino, dev, nLocks;
+  int link_offset, block_offset;
+  list_head_t *lhP, *nextP;
+  list_head_t *bhP, *blockP;
+  struct file_lock *flP, *blP;
+
+  printf("\n");
+
+  /* file_lock_list is the anchor of all locks */
+  if (exists("file_lock_list"))
+  {
+    lhP = (list_head_t *)file_lock_list;
+    flP = (struct file_lock *)lhP->next;
+    link_offset = (int)&flP->fl_link - (int)flP;
+    block_offset = (int)&flP->fl_block - (int)flP;
+
+    nLocks = 0;
+
+    /* Loop through the fl_link.next chain (circular) */
+    while (flP != lhP) {
+
+      /* Back-up to top of file_lock */
+      flP = (struct file_lock *) ((int)flP - link_offset);
+
+      /* Only show GPFS locks */
+      fsP = flP->fl_file->f_dentry->d_sb->s_type->name;
+      if (fsP[0] == 'g' && fsP[1] == 'p' && fsP[2] == 'f' && fsP[3] == 's') { 
+
+        if (!nLocks++) {
+          /* Header line */
+          printf("file_lock  maj:min    inode      pid  type      start        end\n");
+          printf("---------- ------- -------- -------- ----- ---------- ----------\n");
+        }
+
+        /* collect inode and dev to easily identify the file */
+        ino = flP->fl_file->f_dentry->d_inode->i_ino;
+        dev = flP->fl_file->f_dentry->d_inode->i_dev;
+
+        /* display some of the lock fields. */
+        printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d\n", 
+                flP, dev>>8, dev & 0xFF, ino, flP->fl_pid, 
+                flP->fl_type==0? "READ": (flP->fl_type==1? "WRITE":"?"),
+                flP->fl_start, flP->fl_end);  
+
+        /* Follow fl_block so we can match up "reclockSleepers" */
+        bhP = (list_head_t *)(&flP->fl_block);
+        blP = (struct file_lock *)bhP->next;
+
+        /* Loop through the fl_block.next chain (circular) */
+        while (blP != bhP) {
+
+          /* Back-up to top of file_lock */
+          blP = (struct file_lock *) ((int)blP - block_offset);
+
+          /* display some of the lock fields.  One line per lock. */
+          printf("0x%8X %0.3d:%0.3d %8d %8d %5s %10d %10d waiting\n", 
+                  blP, dev>>8, dev & 0xFF, ino, blP->fl_pid, 
+                  blP->fl_type==0? "READ": (blP->fl_type==1? "WRITE":"?"),
+                  blP->fl_start, blP->fl_end);  
+
+          /* Move to the next file_lock in the block list. */
+          blockP = (list_head_t *)(&blP->fl_block);
+          blP = (struct file_lock *)blockP->next;
+        } /* Done with the fl_block chain. */
+
+      }
+      /* Move to the next file_lock in the fl_link list and continue. */
+      nextP = (list_head_t *)(&flP->fl_link);
+      flP = (struct file_lock *)nextP->next;
+    }
+  }
+  else
+  {
+    printf("The \"file_lock_list\" symbol cannot be found in this memory image.\n");
+    printf("Did you give lcrash a /var/mmfs/tmp/complete.map?\n");
+  }
+  return 0;
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfs26.map
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfs26.map	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfs26.map	(revision 16)
@@ -0,0 +1,7807 @@
+
+Discarded input sections
+
+ .gnu.linkonce.this_module
+                0x0000000000000000        0x0 mmfs26.mod.o
+
+Memory Configuration
+
+Name             Origin             Length             Attributes
+*default*        0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+LOAD mmfs26.tmp
+LOAD mmfs26.mod.o
+LOAD /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/libgcc.a
+
+.interp
+ *(.interp)
+
+.hash
+ *(.hash)
+
+.gnu.hash
+ *(.gnu.hash)
+
+.dynsym
+ *(.dynsym)
+
+.dynstr
+ *(.dynstr)
+
+.gnu.version
+ *(.gnu.version)
+
+.gnu.version_d
+ *(.gnu.version_d)
+
+.gnu.version_r
+ *(.gnu.version_r)
+
+.rel.init
+ *(.rel.init)
+
+.rela.init
+ *(.rela.init)
+
+.rel.text
+ *(.rel.text)
+
+.rela.text
+ *(.rela.text)
+
+.rel.fini
+ *(.rel.fini)
+
+.rela.fini
+ *(.rela.fini)
+
+.rel.rodata
+ *(.rel.rodata)
+
+.rela.rodata
+ *(.rela.rodata)
+
+.rel.data.rel.ro
+ *(.rel.data.rel.ro)
+
+.rela.data.rel.ro
+ *(.rela.data.rel.ro)
+
+.rel.data
+ *(.rel.data)
+
+.rela.data
+ *(.rela.data)
+
+.rel.tdata
+ *(.rel.tdata)
+
+.rela.tdata
+ *(.rela.tdata)
+
+.rel.tbss
+ *(.rel.tbss)
+
+.rela.tbss
+ *(.rela.tbss)
+
+.rel.ctors
+ *(.rel.ctors)
+
+.rela.ctors
+ *(.rela.ctors)
+
+.rel.dtors
+ *(.rel.dtors)
+
+.rela.dtors
+ *(.rela.dtors)
+
+.rel.got
+ *(.rel.got)
+
+.rela.got
+ *(.rela.got)
+
+.rel.bss
+ *(.rel.bss)
+
+.rela.bss
+ *(.rela.bss)
+
+.rel.plt
+ *(.rel.plt)
+
+.rela.plt
+ *(.rela.plt)
+
+.init
+ *(.init)
+
+.plt
+ *(.plt)
+
+.text           0x0000000000000000    0x73f78
+ *(.text .stub)
+ .text          0x0000000000000000    0x73f78 mmfs26.tmp
+                0x0000000000071c40                sanSGHandle::exportHandle(void**, int*, void*) const
+                0x000000000004d530                Stack::~Stack()
+                0x000000000002be00                kSFSGetAttrs(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, int, void*, int, int*, ext_cred_t*)
+                0x000000000000e680                kSFSWrite(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, MMFSVInfo*, int, cxiUio_t*, int, FileUID, OpenFile*, ext_cred_t*, WhatLocked*, unsigned int, long long, unsigned int*, ByteRange*, unsigned int*)
+                0x0000000000013da0                FileMetadata::dmStat(dm_stat*)
+                0x0000000000036180                gpdStatusToString(int)
+                0x000000000003cf30                kxAcquireMutex
+                0x0000000000005a50                Dirblock::drelease()
+                0x000000000003b620                LkObj::expandToken(CacheObj*, LkTokenState*)
+                0x00000000000360e0                cluster_typeToString(int)
+                0x000000000005a4d0                cnvHiResTime(HiResTime*)
+                0x000000000004b530                BaseMemoryPoolAllocator::assignFromPool(int, char**, int*)
+                0x0000000000045a50                RepDiskAddr::chkBroken(StripeGroup const*) const
+                0x000000000002aa10                kSFSXAttrList(KernelOperation*, OpenFile*, gpfsNode_t*, char*, ext_cred_t*)
+                0x000000000005bf70                kxInitPtrSwizzling
+                0x0000000000041010                Direct::insert(int, DEGeneric*, int)
+                0x000000000004dfe0                HolderBitmap::hbRemoveL2(int)
+                0x0000000000051c00                kSFSdmSetFileattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_fileattr64, unsigned int)
+                0x0000000000059e60                NumberOfOneBits(unsigned int)
+                0x000000000000a550                kxGetSimpleLock
+                0x0000000000045650                FileSystem::updateTargetMaximaM()
+                0x0000000000036120                diskopToString(int)
+                0x00000000000716d0                kSFSSanSetFileSizes(KernelOperation*, sanSGHandle, sanFileHandle, ext_cred_t*, unsigned long, long long, long long, long long)
+                0x0000000000051140                kSFSdmSetRegion(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, unsigned int, dm_region*, dm_boolean_t*)
+                0x0000000000046840                DiskAddrContainer::init(IndirectBlock*, StripeGroupDesc*)
+                0x00000000000381b0                tokentypeToString(int)
+                0x000000000000bcf0                nfsWatchKproc
+                0x000000000003e450                ACE4_Matches(AclLocalEndian, ext_cred_t*, unsigned int, unsigned int)
+                0x000000000000c870                lockFile2(KernelOperation*, OperationLockMode, FileUID, LkObj::LockModeEnum, LkObj::LockModeEnum, OpenFile**, WhatLocked*, int)
+                0x0000000000052780                SGMgrData::dmGetDispForEvent(dm_eventtype_t, dmSessionLocator*)
+                0x0000000000039a70                waitReasonDesc(LkObj::LockModeEnum)
+                0x0000000000057f60                dmGenerateUserEvent(KernelOperation*, int, dmSessionLocator, void*, unsigned int, dm_scalar128*, int*)
+                0x00000000000738f0                __divdi3
+                0x000000000004d120                Buffer::~Buffer()
+                0x0000000000007d90                kxGetMapCount
+                0x000000000005a670                AIXToLinuxNlsVal(int)
+                0x00000000000398a0                tsfsattrcmdToString(int)
+                0x0000000000008250                Post(RecLockSleeper*, int, int)
+                0x0000000000051cf0                kSFSdmCloseEvent(KernelOperation*, OpenFile*, unsigned int, dmEventList*, dmFileHandle*, dmSessionLocator*, unsigned int*)
+                0x00000000000192f0                kSFSRemapStatIDs(KernelOperation*, int, unsigned int*, int, unsigned int*)
+                0x0000000000038170                stateToString(int)
+                0x000000000003dd40                StaticThCond::init(ThMutex*, CondvarName)
+                0x0000000000072940                Mmpmon_Disk_Statistics::unlock_diskHistogramOperation()
+                0x0000000000009b60                RecLocModuleReset(unsigned int)
+                0x0000000000049ce0                OpenInstance::releaseInstM()
+                0x000000000003d790                ThMutex::~ThMutex()
+                0x000000000002a810                kSFSXAttrGet(KernelOperation*, OpenFile*, gpfsNode_t*, char*, ext_cred_t*)
+                0x0000000000059ea0                PosOfIthOneBit(int, unsigned int)
+                0x0000000000051990                kSFSdmGetMountinfo(KernelOperation*, dmFileHandle, unsigned int, char*, unsigned int*, int*)
+                0x0000000000033810                MemPool::DetachBlock(MemPool::freelistNode**)
+                0x000000000003db20                ThCond::broadcast(Errno)
+                0x0000000000041110                DEGeneric::check(Direct*, int)
+                0x0000000000016be0                LOGSPECIFIC
+                0x000000000004c360                Buffer::setPrefetch(unsigned int)
+                0x0000000000049e00                OpenFile::fastCleanOpenFile(unsigned int)
+                0x000000000004dea0                HolderBitmap::hbRemoveL0(int)
+                0x000000000004de40                HolderBitmap::hbIsMemberL1(int) const
+                0x000000000000a1c0                RLlockRevoke(void*)
+                0x000000000003d110                kxGetCondWaiters
+                0x000000000000a660                kxVFSStatCtl
+                0x0000000000006d70                InodePrefetchInstance::setXattrPrefetch(LookupDetails const&, unsigned int)
+                0x0000000000053330                dmKxSessionList::ChangeRegformount(unsigned long long, unsigned int)
+                0x0000000000006d10                StripeGroup::isUidRemapNeeded() const
+                0x0000000000005530                MetaFileBlock::xaccess(KernelOperation*, OpenFile*, LocalFileId, long long, bufferReqType, BufferDesc**, gpfsNode_t*)
+                0x00000000000516c0                kSFSdmSyncByHandle(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128)
+                0x0000000000003c20                gpfsNode_t::lookup(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, void*, char*, ext_cred_t*, void**, gpfsNode_t**, unsigned int*, void**)
+                0x00000000000334c0                Disk::dioComplete()
+                0x0000000000035480                SGExceptionToString(int)
+                0x000000000003ab70                RevokeTab::disposeRevokeRequest(RevokeRequest*, RevokeRequestState)
+                0x0000000000070210                gpfs_fs_getvolbycookie
+                0x0000000000043ca0                PrefetchSpec::operator new(unsigned int)
+                0x000000000004f780                BRTree::btInsertRange(unsigned long long, unsigned long long, int, int, unsigned int*)
+                0x000000000003f020                BufferDesc::removeFromDoneOrWritebehindM()
+                0x0000000000070070                gpfs_fs_getmaxleases
+                0x000000000000c0f0                NFSWatchKprocWait()
+                0x0000000000000700                RenameFile
+                0x000000000006d9b0                mmfs_pack2_dm_write_invis
+                0x00000000000111c0                ReleaseDaemonSeg(SegMapStatus, int)
+                0x000000000003d730                ThMutex::~ThMutex()
+                0x0000000000039af0                SharedHashTab::initObjTab(unsigned short, unsigned short, int, unsigned int)
+                0x000000000003cba0                Thread::termModule()
+                0x00000000000472a0                BufferDesc::calcEOFOffset(long long, unsigned int)
+                0x0000000000007a40                KernelOperation::declarePageUsage(gpfsVfsData_t*, PudDeclType)
+                0x000000000005c7a0                kxDmApiCall
+                0x0000000000006a50                checkCredRemap(KernelOperation*, ext_cred_t*)
+                0x0000000000007b30                KernelOperationMMap::koMmapLock(gpfsNode_t*, int)
+                0x000000000004e550                HolderList::operator new(unsigned int)
+                0x0000000000024610                gpfsFinishUnmount(gpfsVfsData_t*)
+                0x000000000005a100                HiResTime::operator+=(unsigned int)
+                0x0000000000053120                dmKxSessionList::~dmKxSessionList()
+                0x0000000000032290                dioInitModule()
+                0x00000000000154e0                kSFSSyncOneFS(KernelOperation*, StripeGroup*, gpfs_rcontrol*)
+                0x00000000000118b0                kSFSFreeInodeBlock(KernelOperation*, Buffer*)
+                0x000000000000a330                RLunLockRevoke(void*)
+                0x0000000000027c60                byteSwapNFS4Acl(ACL*, ACL*, unsigned int)
+                0x000000000004d360                NotGlobalMutexClass::kAcquire()
+                0x00000000000469f0                DiskAddrContainer::copyInArray(void const*, int, StripeGroup*)
+                0x00000000000479d0                StripeGroup::getLatestSnapItem(int)
+                0x000000000000b290                kxAttachSharedMemory
+                0x0000000000059d70                MaxConsecutiveOneBits(unsigned int)
+                0x0000000000036760                prefetchStrategyToString(int)
+                0x0000000000073890                __wrap___moddi3
+                0x000000000004b630                DiscontigMemoryPoolAllocator::assignFromDiscontigPool(int, int*)
+                0x0000000000047640                StripeGroup::getSnapItemViaId(int, SGSnapStatus*, RepDiskAddr*, char const**)
+                0x000000000004fcc0                BRTree::btClassify() const
+                0x000000000003dec0                ThSXLock::releaseExclusive()
+                0x000000000004d1d0                Buffer::~Buffer()
+                0x00000000000538d0                toPrintableStr(void*, char*, int)
+                0x000000000006dc90                mmfs_pack2_dm_get_dirattrs
+                0x000000000003cd90                SynchEventWordBlock::reInitialize(int)
+                0x0000000000045b80                RepDiskAddr::getFromArray(DiskAddrContainer*, int, int)
+                0x000000000006de60                mmfs_pack2_dm_get_bulkall
+                0x000000000000bc30                kxFindCloseNFS
+                0x00000000000468d0                DiskAddrContainer::operator[](int) const
+                0x0000000000050c10                kSFSdmGetDmattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_attrname, char*, unsigned int, unsigned int*)
+                0x000000000005a1e0                HiResTime::operator-(unsigned int) const
+                0x0000000000052210                dmSessionsAtNode::GetSessInfoStringAndStatus(unsigned long long, char*, dmSessionStatus*)
+                0x000000000002a7c0                XAttrAccess::cleanup()
+                0x00000000000485c0                CachedInodeHeader::copyToInodeHeader(Inode const&, StripeGroup*)
+                0x0000000000002190                gpfsNode_t::dumpCache()
+                0x0000000000043d50                PrefetchSpec::deallocPrefetchSpecM()
+                0x000000000004fd10                IsBRConflict(int, int)
+                0x0000000000065740                mmfs_dm_path_to_handle
+                0x0000000000052430                dmCachedSessionTokensList::getRemoteSessLocAndInfo(unsigned long long, dmSessionLocatorAndInfo*)
+                0x00000000000480b0                FileMetadata::init()
+                0x000000000004db00                HolderBitmap::hbAddToL1(int)
+                0x000000000006e140                mmfs_pack_dm_getall_inherit
+                0x00000000000477f0                StripeGroup::getSnapIdFromMountId(int)
+                0x00000000000728f0                Mmpmon_Disk_Statistics::lock_diskHistogramOperation()
+                0x0000000000051230                kSFSdmGetRegion(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, unsigned int, dm_region*, unsigned int*)
+                0x000000000006d110                mmfs_pack_dm_find_eventmsg
+                0x0000000000044300                OpenInstance::getCurrentBufferUsage() const
+                0x00000000000338c0                MemPool::BlockAlloc(int)
+                0x000000000000a920                kxGetStructSize
+                0x00000000000445c0                OpenInstance::changeActiveM(HiResTime*, unsigned int, long long)
+                0x000000000004fd20                IsConflict(int, int)
+                0x00000000000428e0                TraceLabelledVal(char const*, int)
+                0x0000000000046140                RepDiskAddr::exportDA(char*, int, int) const
+                0x000000000003f3d0                BufferDesc::lookupAndAddDSBlockM(long long)
+                0x000000000003a890                LkObjSMB::SMBCloseM(OpenInstance*)
+                0x000000000003f2c0                BufferDesc::breakInstanceOwnershipM(unsigned int)
+                0x0000000000006b40                remapCredIDs(KernelOperation*, ext_cred_t*)
+                0x00000000000721d0                MmpmonRequestSizeRange::reset()
+                0x000000000003f8f0                Direct::init(int, int)
+                0x00000000000467a0                DiskAddrContainer::DiskAddrContainer()
+                0x0000000000010b80                loc_atoi(char*)
+                0x0000000000071410                kSFSSanGetVolByCookie(KernelOperation*, sanSGHandle, unsigned long, char*, unsigned long*)
+                0x0000000000010500                kxEnableIO
+                0x000000000003a120                LkObjSMB::SMBlockStateToString(char*)
+                0x000000000002f2b0                PagerKproc::processWrite(KernelOperationMMap*, gpfsNode_t*, OpenFile*, gpfsVfsData_t*, _cxibuf_t*)
+                0x00000000000022b0                gpfsNode_t::remove(KernelOperation*, gpfsVfsData_t*, void*, int, unsigned int, unsigned int)
+                0x0000000000007a90                KernelOperation::reDeclarePageUsage(int)
+                0x000000000005d2a0                ReaddirDmapi(void*, void*, cxiNode_t*, cxiUio_t*)
+                0x0000000000039c80                CacheObj::brObjP(unsigned short) const
+                0x0000000000047870                StripeGroup::getSnapBaseId(int, long long*, DiskUID*, long long*)
+                0x000000000003f130                BufferDesc::moveToDoneM()
+                0x000000000000a610                InodeTimeValue::now()
+                0x000000000005a080                HiResTime::operator+(HiResTime const&) const
+                0x0000000000020eb0                gpfsFclear(gpfsVfsData_t*, cxiNode_t*, int, long long, long long, MMFSVInfo*, ext_cred_t*)
+                0x00000000000131f0                makeExternalInodeNum(int, int)
+                0x0000000000007e80                kxSetTraceLevel
+                0x00000000000413b0                Direct::checkHeader() const
+                0x0000000000047a40                StripeGroup::getSnapDirLatestId(int*)
+                0x0000000000047ab0                StripeGroup::invalidateSnapMount(int)
+                0x000000000000b460                kxDetachSharedMemory
+                0x0000000000072950                Mmpmon_Disk_Statistics::force_set_diskHistogramOperation()
+                0x0000000000059600                VreleInternal(KernelOperation*, void*, void*)
+                0x0000000000041c50                otherDirBlockErrors(char*, DirError, int, int, unsigned int, unsigned int, unsigned int, unsigned int)
+                0x000000000006e240                mmfs_pack_dm_set_inherit
+                0x0000000000011220                ReleaseDaemonSegAndSG(SegMapStatus, int, StripeGroup*, unsigned int, int, unsigned int)
+                0x00000000000712c0                kSFSSanGetVolCookie(KernelOperation*, DiskUID*, int*)
+                0x000000000001faf0                gpfsFsAttr(int, void*)
+                0x0000000000073830                __wrap___divdi3
+                0x0000000000015c90                kSFSReleaseBRT(OpenFile*, ByteRange const&)
+                0x0000000000032bc0                FileMetadata::kRetrieveDataBlockDiskAddr(KernelOperation*, long long, fsDiskAddr*)
+                0x0000000000041bb0                invalidDirBlock(char*, FileUID, int, DirBlockHeader*, int, int)
+                0x0000000000018bd0                indBlockDesc::kCleanIndBlockDesc(unsigned int)
+                0x0000000000045d80                RepDiskAddr::putIntoArray(DiskAddrContainer*, int, int) const
+                0x000000000003d2c0                BaseMutexClass::releaseSlow()
+                0x00000000000399f0                waitReasonCode(LkObj::LockModeEnum)
+                0x0000000000033ed0                breakDelegation(void*, void*, int)
+                0x0000000000065ad0                mmfs_dm_fd_to_handle
+                0x000000000004b730                MemoryPool::shAlloc(int, MallocDuration, MallocUse, Errno*)
+                0x000000000006fa70                gpfs_fs_getlockedmap
+                0x000000000005fe60                mmfs_dm_getall_sessions
+                0x000000000002d6d0                mmIncMappers()
+                0x000000000004d3d0                cxiIsGroupmember(unsigned int, ext_id_t*, ext_cred_t*)
+                0x00000000000728d0                Mmpmon_Disk_Statistics::zapDiskHistograms(MmpmonRequestSizeRange**)
+                0x0000000000001300                kxInitKernelMailboxes
+                0x0000000000040990                Direct::hashInternal(unsigned int) const
+                0x000000000000c5b0                dmOpLockMode(KernelOperation*, OperationLockMode)
+                0x000000000006f9e0                gpfs_fs_getlockedmap_pack
+                0x0000000000019830                mmfs_lock_term()
+                0x0000000000039c90                LkObj::cacheObjP(unsigned short) const
+                0x00000000000380b0                retObjTypeToString(int)
+                0x00000000000603c0                mmfs_dm_handle_cmp
+                0x0000000000071ae0                sanFileHandle::exportHandle(void**, int*, void*) const
+                0x0000000000072160                MmpmonRequestSizeRange::~MmpmonRequestSizeRange()
+                0x000000000003c6c0                BRL::adjustRange(ByteRange, unsigned int, unsigned int)
+                0x0000000000072210                MmpmonLatencyRange::operator new(unsigned int)
+                0x0000000000072980                Mmpmon_HistogramControl::Mmpmon_HistogramControl(int)
+                0x000000000006d6c0                mmfs_pack_dm_set_region
+                0x0000000000001050                kxCatalogGetMounts
+                0x000000000005a400                HiResTime::operator>=(unsigned int) const
+                0x000000000005c4b0                gpfsSwapdDequeue(cxiNode_t*)
+                0x00000000000267f0                ACL2Ext(ACL*, gpfs_acl*, int, int*)
+                0x0000000000072390                MmpmonLatencyRange::~MmpmonLatencyRange()
+                0x000000000005a8b0                cleanup_module
+                0x000000000006e120                mmfs_pack_dm_clear_inherit
+                0x0000000000014b50                kSFSSetTSfattr(KernelOperation*, OpenInstance*, int, int, int, int, int, int, int, char*, tsfattrReasonCodeInfo*, ext_cred_t*)
+                0x000000000000a880                kxSockDequeMultiple
+                0x00000000000035a0                gpfsNode_t::invalidateVolatileOSNodes(int, int)
+                0x0000000000044360                OpenInstance::enoughBuffersForAnotherPrefetchM(FileSystem*)
+                0x000000000004c120                MemorySubpool::spFree(void*)
+                0x0000000000011970                kSFSClose(KernelOperation*, MMFSVInfo*, int)
+                0x000000000002a000                queWaiter::queWaiter(ThMutex*)
+                0x000000000006e200                mmfs_dm_obj_ref_hold
+                0x000000000000bf40                NFSWatchKprocInit()
+                0x0000000000016710                logGenIF
+                0x0000000000046240                fsDiskAddr::importDA(void*, unsigned int*, Errno (*)(void*, unsigned int*, int, void*), int*)
+                0x0000000000035510                SGStatusToString(int)
+                0x0000000000072bc0                Mmpmon_HistogramControl::~Mmpmon_HistogramControl()
+                0x000000000004efe0                BRTree::btTrace()
+                0x0000000000033670                MemPool::~MemPool()
+                0x0000000000047120                FileMetadata::setFileSizeIfBigger(long long, long long, unsigned int)
+                0x0000000000052e70                regionsOverlap(dm_region, dm_region*, unsigned int, unsigned int)
+                0x0000000000049c20                OpenInstance::holdInst()
+                0x0000000000033ec0                smbOps_id2name(int)
+                0x000000000000a950                kVfsUseTransition(gpfsVfsData_t*)
+                0x0000000000010550                kxAwaitIOCompletion
+                0x000000000003b560                OpenFile::mnodeStatusIs(int)
+                0x000000000002da90                kxMmapInfo
+                0x0000000000009a50                SharkRetry
+                0x0000000000071230                kSFSSanGetVersion(KernelOperation*, long*)
+                0x000000000004d3a0                _asm_swap64
+                0x000000000005bd10                detachAllSegments()
+                0x00000000000412f0                Direct::checkHeaderMinimal() const
+                0x000000000000c040                NFSWatchKprocTerm()
+                0x0000000000001020                incrAllMountVersions(gpfsVfsData_t*)
+                0x000000000004de80                HolderBitmap::hbIsMemberL2(int) const
+                0x000000000005bb70                terminate()
+                0x0000000000007680                KernelOperationMMap::~KernelOperationMMap()
+                0x00000000000349c0                EventsExporterToString(int)
+                0x00000000000190d0                kSFSRemapCredentials(KernelOperation*, ext_cred_t*)
+                0x00000000000322a0                dioTermModule()
+                0x00000000000198e0                mmfs_nfs_lock()
+                0x000000000004e5a0                BRTreeNode::btnAddHolder(int, int)
+                0x000000000002ff80                cancelHintsDirective(KernelOperation*, OpenInstance*)
+                0x0000000000012060                kSFSNoOp(KernelOperation*, FileUID)
+                0x000000000003cc60                SynchEventWordBlock::freeEvent(KernelSynchState*, cxiWaitEvent_t*)
+                0x0000000000070500                gpfs_fs_getvolcookie
+                0x00000000000738c0                __wrap___umoddi3
+                0x0000000000072b60                Mmpmon_HistogramControl::~Mmpmon_HistogramControl()
+                0x0000000000048990                StripeGroup::getPseudoIndirectBlockSize() const
+                0x000000000000cb70                unlockFile(OpenFile*, WhatLocked)
+                0x000000000005c060                kxPinKernelIOBuffer
+                0x000000000004ade0                SMBOpLkLkObj::oplockReadWrite(OpenInstance*, AccessMode)
+                0x00000000000342e0                BufferQueue_tToString(int)
+                0x000000000003d230                BaseMutexClass::init(MutexName)
+                0x000000000003d9c0                ThCond::kInterruptibleWait(int, char const*)
+                0x000000000003e0a0                byteSwapRealm(ext_id_t*)
+                0x0000000000009da0                lockFcntlOps(KernelOperation*, void*, unsigned int)
+                0x0000000000059f90                CNTLZ32
+                0x0000000000059630                GpfsRdwr(gpfsVfsData_t*, gpfsNode_t*, void*, cxiRdWr_t, int, cxiUio_t*, KernelOperation*)
+                0x000000000003dca0                ThCond::internalSignal(unsigned int, Errno)
+                0x00000000000408c0                foldName(char const*)
+                0x00000000000471f0                FileMetadata::isFilesetRoot() const
+                0x000000000005c170                kxGetKernelBoundary
+                0x000000000000b680                kxCheckBuildTime
+                0x00000000000459c0                RepDiskAddr::operator!=(RepDiskAddr const&) const
+                0x000000000004c1b0                PageAllocator::setRecentlyUsed(Buffer*, unsigned int, unsigned int)
+                0x000000000004ae70                SMBOpLkLkObj::oplockOpenNonBlockingM(OpenInstance*, AccessMode)
+                0x000000000005bba0                kxDefineShSeg
+                0x0000000000053290                dmKxSessionList::RemoveSession(unsigned long long)
+                0x000000000004a090                GlobalFS::getEffFileCacheLimit()
+                0x0000000000065e20                mmfs_dm_handle_free
+                0x0000000000053600                kxDmGetSessions
+                0x000000000005a650                LinuxToAIXNlsVal(int)
+                0x000000000005c2c0                kxCheckThreadState
+                0x000000000004e390                HolderBitmap::hbGetNextOneBitL0(int) const
+                0x0000000000046550                RepDiskAddr::sum() const
+                0x000000000004d380                BaseMutexClass::release()
+                0x000000000004fec0                kSFSdmDestroySession(KernelOperation*, unsigned long long)
+                0x00000000000302e0                freeRangeHint(KernelOperation*, gpfsNode_t*, gpfsFreeRange_t*)
+                0x0000000000048c10                URHashTab::hash_func(unsigned int, unsigned int, char const*)
+                0x0000000000001f80                gpfsNode_t::classHashInit()
+                0x0000000000050690                kSFSdmGetEvents(KernelOperation*, unsigned long long, char*, unsigned int, unsigned int*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int*)
+                0x000000000004b5b0                ContigMemoryPoolAllocator::assignFromContigPool(int, int*)
+                0x0000000000071110                kSFSSanInit(KernelOperation*, san_state*)
+                0x0000000000043b70                PrefetchState::setAccUserDefinedM(OpenInstance*)
+                0x000000000000cc20                lockFileHeld(KernelOperation*, OpenFile*, FileUID, LkObj::LockModeEnum, int)
+                0x000000000000bbb0                CloseNFS(NFSData*)
+                0x0000000000007e30                kxSetMultiNode
+                0x0000000000010c80                WaitMBUsageRight()
+                0x0000000000049c80                OpenInstance::releaseInst()
+                0x0000000000049fd0                IsOverFileCacheLimit()
+                0x0000000000015b90                kSFSAcquireBRT(OpenFile*, ByteRange const&, ByteRange const&, BRLock::BRLockMode)
+                0x0000000000046930                DiskAddrContainer::setDA(int, DiskAddr96)
+                0x00000000000725c0                Mmpmon_Disk_Statistics::~Mmpmon_Disk_Statistics()
+                0x000000000004f520                BRTree::btSuccessor(BRTreeNode*)
+                0x0000000000033ab0                MemPool::ExpandSizetable(int)
+                0x000000000005a050                HiResTime::HiResTime(unsigned int, unsigned int)
+                0x0000000000012360                kSFSMkdir(KernelOperation*, FileUID, char*, unsigned int, unsigned int, ext_cred_t*, OpenFile**, FileUID*)
+                0x000000000002dc40                kxMmapFlush
+                0x0000000000043f30                PrefetchSpecList::preEnqueueM(PrefetchSpec*)
+                0x0000000000001240                kxAllocEventWords
+                0x000000000004ba40                MemoryPool::shFree(void*, MallocUse)
+                0x0000000000047e50                StripeGroup::isSnapQuotaFile(int, int, int)
+                0x000000000003e0d0                byteSwapAcl(ACL*, ACL*)
+                0x000000000003f1e0                BufferDesc::moveToWritebehindM(unsigned int)
+                0x0000000000029ff0                queWaiter::queWaiter(ThMutex*)
+                0x00000000000117a0                kSFSGetInodeBlock(KernelOperation*, int, long long, long long, Buffer**, int*)
+                0x00000000000718c0                kSFSSanUnlockMap(KernelOperation*, sanSGHandle, sanFileHandle, ext_cred_t*)
+                0x0000000000016440                kSFSRetrieveDiskAddr(KernelOperation*, OpenFile*, long long, fsDiskAddr*)
+                0x0000000000008970                Retry(KernelOperation*, RecLockQueue, void*, int)
+                0x0000000000046200                fsDiskAddr::exportDA(char*, int, int) const
+                0x0000000000040a00                Direct::search(char const*, int, int*, DEGeneric**)
+                0x0000000000023bb0                gpfsRele(gpfsVfsData_t*, cxiNode_t*, void*, cxiContext_t)
+                0x00000000000244c0                gpfsUncache(gpfsVfsData_t*)
+                0x000000000005a840                init_module
+                0x0000000000046b70                FileMetadata::setCtime(HiResTime const&, KernelOperation*, dmEventList*)
+                0x0000000000039740                tsfattrcmdToString(int)
+                0x000000000004d780                ClientRangeToken::crtTestRange(CacheObj*, ByteRange, char)
+                0x00000000000240f0                gpfsStatfs(gpfsVfsData_t*, cxiStatfs_t*)
+                0x00000000000407b0                Direct::freeBlock(int, int)
+                0x000000000000a7b0                VFSStats_reset
+                0x0000000000071de0                mmpmon_sharedMalloc(unsigned int)
+                0x0000000000072960                Mmpmon_HistogramControl::operator new(unsigned int)
+                0x0000000000059860                findOrCreateDmapi(KernelOperation*, gpfsVfsData_t*, FileUID, void**, gpfsNode_t**)
+                0x000000000004bf60                MemorySubpool::newChunk()
+                0x0000000000028350                getObjectRealm(KernelOperation*, gpfsVfsData_t*, OpenFile*, ext_id_t*)
+                0x00000000000077a0                KernelOperation::releaseMBUsageRight()
+                0x0000000000072cf0                Mmpmon_HistogramControl::waitFor_histogramOperation(int, unsigned int)
+                0x0000000000015a30                kSFSAcquireFcntlBRT(KernelOperation*, OpenFile*, int, ByteRangeData const&, AcquireData const&, int, ByteRange*, char*)
+                0x0000000000008340                Post
+                0x0000000000019940                mmfs_mounts_lock()
+                0x000000000004e7e0                BRTreeNode::btnRemoveHolder(int, int)
+                0x000000000006e250                mmfs_pack2_dm_symlink_by_handle
+                0x0000000000038230                tscMsgToString(int)
+                0x00000000000077e0                KernelOperation::kBegin(gpfsVfsData_t*, int, PudDeclType, cxiContext_t)
+                0x000000000006e150                mmfs_pack_dm_mkdir_by_handle
+                0x0000000000052350                getRemoteSessLocAndInfo(unsigned long long, dmSessionLocatorAndInfo*)
+                0x000000000003cfb0                kxReleaseMutex
+                0x000000000003eb60                NFSv4_getMode(AclLocalEndian, unsigned int, unsigned int*, int)
+                0x0000000000002650                verifyReadAttrAccess(KernelOperation*, gpfsVfsData_t*, OpenFile*, int*, AclAccess*)
+                0x000000000002d880                kxMmapControl
+                0x0000000000071e40                MmpmonRequestSizeRange::operator delete(void*)
+                0x0000000000010d30                ReleaseMBUsageRight()
+                0x00000000000449c0                OpenInstance::claimBufferM(BufferDesc*)
+                0x0000000000046d70                FileMetadata::newCtime(KernelOperation*, dmEventList*)
+                0x0000000000019ca0                gpfsMkdir(gpfsVfsData_t*, cxiNode_t*, void**, cxiNode_t**, unsigned int*, void*, char*, int, unsigned int, ext_cred_t*)
+                0x000000000002c1c0                kSFSPutAttrs(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, int, void*, void*, ext_cred_t*)
+                0x000000000000c0e0                kxGetNFSWatchPid
+                0x000000000005c2a0                kxHasMountHelper
+                0x0000000000033660                MemPool::MemPool()
+                0x0000000000007930                KernelOperation::releaseSG()
+                0x0000000000045930                RepDiskAddr::operator==(RepDiskAddr const&) const
+                0x000000000006d510                mmfs_pack_dm_query_right
+                0x0000000000012a80                kSFSRemove(KernelOperation*, FileUID, char*, FileUID, ext_cred_t*, unsigned int)
+                0x000000000002d6e0                mmDecMappers()
+                0x0000000000073dc0                __umoddi3
+                0x000000000000a830                operator delete(void*)
+                0x0000000000013710                snapLinkGetattr(StripeGroup*, FileUID, cxiVattr_t*)
+                0x0000000000049220                findParentFilesetId(KernelOperation*, StripeGroup*, unsigned int, int, unsigned int*, unsigned int)
+                0x00000000000078e0                KernelOperation::restoreCallerSeg(unsigned long*)
+                0x0000000000027ab0                setTSAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, ACL*, int, ext_cred_t*, unsigned int)
+                0x00000000000127d0                kSFSRename(KernelOperation*, FileUID, char*, FileUID, FileUID, char*, FileUID, ext_cred_t*)
+                0x000000000004bb10                MemoryPool::formatRegion(char*, int, FreeBlockHeader**)
+                0x000000000000b930                GetNFS(void*, MMFSVInfo**, int*)
+                0x0000000000007750                KernelOperation::waitMBUsageRight()
+                0x000000000005d060                dmapiFilldirOne(void*, char const*, int, long long, unsigned long)
+                0x0000000000053930                dmSwapAttrValue(int, char*, int, char*)
+                0x000000000004a2b0                LLOpenFile::readLockAcquire()
+                0x000000000003b680                BRL::InitBRL(OpenFile*, TokenClass*)
+                0x000000000004b310                ValidateDirBlock(char const*, void*)
+                0x000000000005a3a0                HiResTime::operator==(unsigned int) const
+                0x0000000000043fd0                PrefetchSpecList::preDequeueM()
+                0x0000000000029fd0                queWaiter::operator delete(void*)
+                0x00000000000607d0                mmfs_dm_handle_is_valid
+                0x0000000000073c90                __udivdi3
+                0x000000000003de50                ThSXLock::releaseShared()
+                0x0000000000007c30                kxSetCommState
+                0x0000000000045de0                RepDiskAddr::putIntoArray48(DiskAddr48*, int, int) const
+                0x000000000003d870                ThCond::ThCond(ThMutex*, CondvarName)
+                0x00000000000529b0                FileMetadata::kDmGetRegion(KernelOperation*, gpfsNode_t*, dm_region*, unsigned int, unsigned int*)
+                0x000000000005d150                dmapiFilldir(void*, char const*, int, long long, unsigned long)
+                0x0000000000024dc0                gpfsGrace(int)
+                0x0000000000008020                RecLockSleeperInit(RecLockSleeper*)
+                0x000000000004cb60                PageAllocator::dequeueLeastRecent(Buffer*)
+                0x000000000002d3f0                mmFlushseg(gpfsNode_t*, MMFSVInfo*, ByteRange, MmflushOption)
+                0x00000000000597c0                fidDmapi(int, GenNum, fileid*)
+                0x0000000000007c70                markAllDaemonUnmounted()
+                0x0000000000051b30                kSFSdmGetSessLocAndInfo(KernelOperation*, unsigned long long, dmSessionLocatorAndInfo*)
+                0x0000000000007560                wakeupSimplePageDeclWaiters()
+                0x000000000006d630                mmfs_pack_dm_request_right
+                0x000000000003fe30                DEGeneric::init(char const*, FileUID, unsigned int, unsigned int, int, DirEntryType)
+                0x0000000000027d60                getOpaqueExtendedAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, char*, int, int*, ext_cred_t*)
+                0x0000000000054bc0                dmGenerateDataEvent(dm_eventtype_t, KernelOperation*, int, gpfsVfsData_t*, gpfsNode_t*, long long, unsigned long long, int*, int*, long long*, unsigned int*)
+                0x000000000004f4e0                BRTree::btMinimum(BRTreeNode*)
+                0x00000000000723b0                MmpmonLatencyRange::reset()
+                0x00000000000360a0                brmodeToString(int)
+                0x000000000005a020                HiResTime::HiResTime(unsigned int, unsigned int)
+                0x000000000006d2c0                mmfs_pack2_dm_set_dmattr
+                0x000000000000ac40                kxInvalidateOSNode
+                0x000000000002b410                getOpaqueXAttrs(KernelOperation*, OpenFile*, gpfsNode_t*, int, char*, int, int*)
+                0x00000000000714d0                kSFSSanGetLockedMap(KernelOperation*, sanSGHandle, sanFileHandle, ext_cred_t*, long long, long long, unsigned long, unsigned long, char*, unsigned long*)
+                0x0000000000034430                CondvarToString(int)
+                0x000000000004c0b0                MemorySubpool::spFreeM(int, void**)
+                0x000000000002d340                mmTermModule()
+                0x0000000000070910                gpfs_fs_setfilesizes
+                0x0000000000033480                Disk::updateStats(DiskOperation, int)
+                0x0000000000005920                Dirblock::daccess(KernelOperation*, OpenFile*, LocalFileId, long long, Direct*)
+                0x0000000000018f20                kxQuiesceOperations
+                0x000000000002a200                relinquishDSBytes(int)
+                0x000000000004e200                HolderBitmap::hbCopyFrom(HolderBitmap const*)
+                0x000000000006c9a0                mmfs_dm_handle_to_path
+                0x0000000000072220                MmpmonLatencyRange::operator delete(void*)
+                0x000000000003d890                ThCond::ThCond(ThMutex*, CondvarName)
+                0x000000000005a140                HiResTime::operator-(HiResTime const&) const
+                0x000000000003d7f0                StaticThMutex::init(MutexName)
+                0x0000000000071080                fidSanergy(int, GenNum, fileid*)
+                0x0000000000046870                DiskAddrContainer::init(IndirectBlock*, StripeGroup*)
+                0x000000000000a5a0                kxAtomvarInit
+                0x0000000000048f00                StripeGroup::getStoragePoolName(int, unsigned int)
+                0x000000000003a810                LkObjSMB::LockStateAcquire(LkObj::LockModeEnum)
+                0x000000000006dc00                mmfs_pack_dm_get_fileattr
+                0x000000000003b4a0                MNodeToken::k_set_mnode_mode_addr(unsigned int)
+                0x000000000004c2c0                PageAllocator::setPrefetch(Buffer**, unsigned int)
+                0x0000000000003b60                gpfsNode_t::getFullGeneration(KernelOperation*, gpfsVfsData_t*, unsigned int)
+                0x0000000000017090                logAssertFailed
+                0x000000000003d630                ThMutex::ThMutex(MutexName)
+                0x000000000003aa20                LkObj::lockFlagsToString(unsigned int, char*)
+                0x0000000000064b50                mmfs_dm_downgrade_right
+                0x00000000000109b0                kxGetDiskInfo
+                0x0000000000049ea0                CheckLimitsAndIncrementCacheUse(int)
+                0x000000000001aff0                gpfsUnmap(gpfsVfsData_t*, cxiNode_t*, int)
+                0x000000000006d3e0                mmfs_pack_dm_set_eventlist
+                0x000000000000b5d0                kxXmemXfer
+                0x000000000006e130                mmfs_pack_dm_create_by_handle
+                0x0000000000033c20                SMBOpenLockControl(int, int, int, MMFSVInfo*, gpfsVfsData_t*)
+                0x0000000000016090                kSFSSetXAttr(KernelOperation*, OpenFile*, int, int, unsigned int, unsigned char*, void*, int, ext_cred_t*)
+                0x000000000002de40                PagerKproc::pkinit(int)
+                0x0000000000018ee0                kxQuiesceInit
+                0x000000000004f310                BRTree::btInsertNode(BRTreeNode*, unsigned int*)
+                0x000000000003f010                DSPrefetchBufState::DSPrefetchBufState()
+                0x000000000004bf50                MemorySubpool::spAllocE(void**)
+                0x0000000000050430                kSFSdmGetAllSessions(KernelOperation*, unsigned long long*, unsigned int, unsigned int*)
+                0x0000000000047fd0                StripeGroup::isSnapXAttrFile(int, int)
+                0x0000000000059970                DmapiReaddir(gpfsVfsData_t*, cxiNode_t*, void*, int (*)(void*, char const*, int, long long, unsigned long), long long*)
+                0x0000000000046330                RepDiskAddr::importDA(void*, unsigned int*, Errno (*)(void*, unsigned int*, int, void*), int*, int)
+                0x0000000000040f60                DirLayout::readdirOffset(long long, int, int, int)
+                0x0000000000006110                IaccessAcl(KernelOperation*, gpfsVfsData_t*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned long long, int, unsigned int, unsigned int, ext_cred_t*)
+                0x0000000000049520                checkFilesetAvailability(KernelOperation*, unsigned int, int)
+                0x000000000003d1a0                kxSignalOrBroadcastCondvar
+                0x0000000000043c10                PrefetchState::resetAccToRandomM(OpenInstance*)
+                0x00000000000197d0                mmfs_lock_init()
+                0x0000000000045b40                RepDiskAddr::remove(int)
+                0x00000000000018b0                KernelMailbox::sendToDaemonWithReply()
+                0x000000000005d6d0                mmfs_dm_create_session
+                0x00000000000428f0                PrefetchState::init()
+                0x000000000000cca0                lockBuffer(KernelOperation*, LocalFileId, LkObj::LockModeEnum, int, BufferReq*, int, BufferDesc**, cxiIOBufferAttachment_t*, unsigned int*)
+                0x000000000000fb80                SharedHashTab::lookupAndHold(CacheObj**, ObjKey const&, StripeGroup*, int)
+                0x000000000000b200                kxFreeAllSharedMemory
+                0x00000000000468a0                DiskAddrContainer::init(IndirectBlock*, int)
+                0x0000000000055dd0                dmGenerateNospaceEvent(KernelOperation*, int, gpfsVfsData_t*, int*, int*)
+                0x0000000000023280                gpfsWrite(gpfsVfsData_t*, KernelOperation*, cxiNode_t*, int, cxiUio_t*, MMFSVInfo*, cxiVattr_t*, cxiVattr_t*, ext_cred_t*, int, int)
+                0x000000000004e160                HolderBitmap::hbCompareBitmap(HolderBitmap const*) const
+                0x000000000004fd40                UpgradeTest(int, int)
+                0x000000000005c300                gpfsSwapdInit()
+                0x00000000000281e0                putOpaqueDefaultAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, char*, int, ext_cred_t*, unsigned int)
+                0x00000000000336f0                MemPool::Cleanup()
+                0x0000000000059910                GetRootFileId(void*, FileUID*, gpfsNode_t**)
+                0x000000000005a7a0                CalcChecksumBs(void const*, int, int)
+                0x00000000000005f0                RemoveFile
+                0x000000000005b750                ss_set_ioctl
+                0x0000000000049ad0                OpenInstance::assertVCMObjects()
+                0x00000000000505b0                kSFSdmRespondEvent(KernelOperation*, unsigned long long, dm_scalar128, dm_response_t, int)
+                0x0000000000030050                accessRangeHint(KernelOperation*, gpfsNode_t*, OpenInstance*, gpfsAccessRange_t*)
+                0x0000000000053770                kxDmUpdateSessions
+                0x0000000000001ba0                VinfoTerm(MMFSVInfo*)
+                0x000000000003f580                BufferDesc::becomesDirty()
+                0x0000000000050f90                kSFSdmDowngradeRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128)
+                0x0000000000001c80                VinfoDiscard(MMFSVInfo*)
+                0x0000000000034c60                LogStatusToString(int)
+                0x0000000000033ea0                smbCommand_id2name(int)
+                0x000000000005c500                pruneDCacheEntries(int, unsigned int, unsigned int)
+                0x000000000002fea0                KDumpMemory(char const*, char*, int, unsigned long)
+                0x000000000002ae80                FileMetadata::getAttrs(KernelOperation*, gpfsNode_t*, int, int, ...)
+                0x000000000004c7c0                PageAllocator::enqueueMostRecent(Buffer*, Buffer::BufferQueue_t)
+                0x00000000000175e0                OpenFile::kInitOpenFile(FileUID, StripeGroup*)
+                0x0000000000045d10                RepDiskAddr::getFromArray(DiskAddr96 const*, int, int, int)
+                0x0000000000046c40                FileMetadata::setAtime(HiResTime const&)
+                0x0000000000032fb0                StripeGroup::kDirectioFSDA(RepDiskAddr const&, int, unsigned int, int, char*, cxiXmem_t*, int, long long, dioWaitBlock*)
+                0x000000000005bc00                kxRegisterMMFSSeg
+                0x0000000000046580                fsDiskAddr::extractDupReplicasInFGs(StripeGroup*, fsDiskAddr&, fsDiskAddr&) const
+                0x000000000004b4e0                Inode::getVar(StripeGroup const*) const
+                0x000000000002afb0                FileMetadata::setAttrs(KernelOperation*, int, int, int, ...)
+                0x000000000003c5c0                BRL::brUnlockM(ByteRange const&, BRLock::BRLockMode, void*)
+                0x000000000000abf0                kxCleanupStaleNFS
+                0x0000000000071e30                MmpmonRequestSizeRange::operator new(unsigned int)
+                0x00000000000396e0                tscStatusToString(int)
+                0x000000000005a8f0                ss_ioctl(unsigned int, unsigned long)
+                0x000000000003f7f0                Direct::dinitContig(DirLayout*, StripeGroup*, FileUID, int, char*, int, unsigned int, unsigned int)
+                0x00000000000148d0                kSFSGetTSfattr(KernelOperation*, FileUID, int, int*, int*, int*, int*, int*, int*, char*)
+                0x0000000000011d90                kSFSCreateMix(KernelOperation*, FileUID, char*, int, ext_cred_t*, char const*, gpfs_iattr*)
+                0x000000000002e2f0                PagerKproc::killAll()
+                0x0000000000004320                gpfsNode_t::mmapLock(int, int, unsigned int*)
+                0x0000000000024500                gpfsUnmount(gpfsVfsData_t*, unsigned int)
+                0x0000000000042270                Direct::dcombine(Direct*, int)
+                0x00000000000414c0                Direct::checkMinimal()
+                0x00000000000080f0                Wait(RecLockSleeper*, int)
+                0x0000000000053470                dmKxSessionList::UpdateSessions(dmRecoverySessInfo*, int)
+                0x000000000000a140                disableSyncRetry()
+                0x0000000000057270                dmGenerateMountEvent(KernelOperation*, int, gpfsVfsData_t*, gpfsNode_t*)
+                0x000000000000d010                kSFSRead(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, MMFSVInfo*, int, cxiUio_t*, int, FileUID, OpenFile*, ext_cred_t*, WhatLocked*, unsigned int*, unsigned int, unsigned int*)
+                0x00000000000140c0                CompactOpenFile::stat(cxiVattr_t*)
+                0x000000000006be10                mmfs_dm_handle_to_igen
+                0x0000000000019870                vinfoLock(MMFSVInfo*)
+                0x00000000000440e0                PrefetchSpecList::preRemoveAllM()
+                0x00000000000401d0                Direct::freeEntry(int, int, Direct::InsertWhere, unsigned short*, short*)
+                0x000000000004d550                Stack::~Stack()
+                0x0000000000034330                BufferTypeToString(int)
+                0x0000000000047540                StripeGroup::getFullName() const
+                0x0000000000070160                gpfs_fs_getversion
+                0x0000000000039920                whichInstListEnumToString(int)
+                0x0000000000000c00                kxClearMountInfo
+                0x000000000006db70                mmfs_pack_dm_set_fileattr
+                0x0000000000048b50                URCacheObj::isStale(unsigned int) const
+                0x00000000000327d0                OpenFile::kDoDirectio(KernelOperation*, unsigned int, long long, unsigned int, char*, cxiXmem_t*, unsigned int*)
+                0x0000000000049410                findFilesetIdByRootInodeNum(KernelOperation*, StripeGroup*, int, int, unsigned int*, unsigned int)
+                0x000000000004bdf0                MemoryPool::splitHigh(FreeBlockHeader*, int, BlockDelimiter**)
+                0x000000000005c5d0                finishDCachePruning(int)
+                0x00000000000490b0                getFilesetMDObj(KernelOperation*, int, int, FilesetMDObj**, unsigned int, unsigned int)
+                0x0000000000035440                NodeStatusToString(int)
+                0x000000000004cfb0                newUMALLOCBuffer(int, BufferType)
+                0x000000000003b6d0                BRL::brLock(ByteRange const&, BRLock::BRLockMode, void**, int, long long, ByteRange*)
+                0x00000000000199b0                dmGenTimeoutFlag(int, int*, MMFSVInfo*)
+                0x0000000000016250                kSFSDio(KernelOperation*, OpenFile*, dioOperation, long long, unsigned int, char*, cxiXmem_t*, unsigned int*, int)
+                0x0000000000040be0                Direct::dsearch(char const*, unsigned int, FileUID*, unsigned int*, long long*, KernelOperation*, int)
+                0x0000000000047f10                StripeGroup::isSnapQuotaFile(int, int)
+                0x0000000000071e50                MmpmonRequestSizeRange::MmpmonRequestSizeRange(int, unsigned long long const*, int, unsigned long long const*)
+                0x000000000003d330                BaseMutexClass::internalAcquire(unsigned int)
+                0x00000000000504d0                kSFSdmCheckAccessRights(KernelOperation*, unsigned long long, dm_scalar128, dmFileHandle, dm_right_t)
+                0x000000000004a7b0                SMBOpLkLkObj::updateOplockM(OpenInstance*, AccessMode, OplockMode, void*, OplockMode*, unsigned int)
+                0x000000000006afc0                mmfs_dm_move_event(unsigned long long, dm_scalar128, unsigned long long, dm_scalar128*)
+                0x000000000002a010                requestDSBytes(int)
+                0x000000000004f900                BRTree::btTraverse(unsigned long long, unsigned long long, void (*)(BRTreeNode*, void*, int), void*, int)
+                0x0000000000064ff0                mmfs_dm_release_right
+                0x00000000000155d0                kSFSUpdateMtime(KernelOperation*, OpenFile*)
+                0x000000000003e570                isAceApplicable(AclLocalEndian, ext_cred_t*, unsigned int, unsigned int, unsigned int)
+                0x000000000005b8d0                set_gpfs_operations
+                0x000000000005b730                ss_reset_ioctl
+                0x000000000004f680                BRTree::btRotateLeft(BRTreeNode*)
+                0x0000000000011350                UnMapDaemonSeg(SegMapStatus, int)
+                0x000000000005c290                getVCMErrno
+                0x0000000000071fa0                MmpmonRequestSizeRange::MmpmonRequestSizeRange(int, unsigned long long const*, int, unsigned long long const*)
+                0x0000000000042730                StripeGroup::readSnapLinkEntries(KernelOperation*, FileUID, FileUID, int, int, void*, int (*)(void*, char const*, int, long long, unsigned long), long long*)
+                0x0000000000045720                FileSystem::reclassifyInstsBelowTargetMaxM(unsigned int)
+                0x00000000000366e0                objtypeToString(int)
+                0x00000000000361c0                gpnStatusToString(int)
+                0x0000000000015d60                kSFSExpandLastBlock(KernelOperation*, MMFSVInfo*, long long, ext_cred_t*)
+                0x0000000000042a10                PrefetchState::updateAccessHistoryM(unsigned int, long long, long long, long long, OpenInstance*, int*)
+                0x00000000000151c0                kSFSClear(KernelOperation*, MMFSVInfo*, int, long long, long long, ext_cred_t*)
+                0x0000000000010250                LkObj::change_lock_vfs(CacheObj*, LkObj::LockModeEnum, LkObj::LockModeEnum, int)
+                0x00000000000104f0                DiskSched::termModule()
+                0x00000000000014b0                Mailbox::sendToDaemon()
+                0x00000000000440b0                PrefetchSpecList::preRemoveM(PrefetchSpec*)
+                0x0000000000036200                gpnTransToString(int)
+                0x00000000000443e0                OpenInstance::releaseOwnedBuffersM(unsigned int, long long, long long)
+                0x0000000000070cf0                gpfs_fs_unlockmap
+                0x00000000000467c0                DiskAddrContainer::init(Inode*, StripeGroupDesc*)
+                0x0000000000004450                DirSearch(KernelOperation*, OpenFile*, LkObj::LockModeEnum*, gpfsNode_t*, void*, Dirblock*, char const*, FileUID*, unsigned int*, LookupDetails*, unsigned int*, unsigned int*)
+                0x0000000000042530                StripeGroup::readSnapDirEntries(KernelOperation*, int, void*, int (*)(void*, char const*, int, long long, unsigned long), FileUID, int, long long*)
+                0x000000000000a750                VFSStats_enable
+                0x00000000000491f0                findFilesetById(KernelOperation*, unsigned int, int, Fileset**, unsigned int)
+                0x000000000003d250                BaseMutexClass::tryAcquire()
+                0x0000000000001d20                kxCleanupVinfo
+                0x000000000000a400                kxRLunLockRevoke
+                0x0000000000044080                PrefetchSpecList::preFindBlockM(long long)
+                0x000000000004b4a0                Inode::getHeaderLen(StripeGroup const*)
+                0x0000000000001450                kxFreeMailboxStorage
+                0x000000000004d410                cxiUserAuditWrite(int, ...)
+                0x0000000000045070                OpenInstance::dsBufCacheUpdateM(long long, unsigned int, unsigned int*)
+                0x000000000003b6b0                BRL::getGranul()
+                0x0000000000015430                kSFSSyncFS(KernelOperation*, unsigned int, unsigned int)
+                0x000000000004c9e0                PageAllocator::enqueueLeastRecent(Buffer*, Buffer::BufferQueue_t)
+                0x0000000000045820                LogFSError(FSError, char const*, char const*, ...)
+                0x0000000000051f00                dmFileHandle::importHandle(void*, unsigned int)
+                0x0000000000051320                kSFSdmSetReturnOnDestroy(KernelOperation*, unsigned long long, dmFileHandle, dm_attrname, dm_boolean_t)
+                0x00000000000728b0                Mmpmon_Disk_Statistics::resetDiskHistograms()
+                0x000000000004a0e0                LLCachedRecAddr::setToNULL()
+                0x00000000000333f0                DiskSched::dioComplete()
+                0x00000000000456b0                FileSystem::reclassifyInstsAboveTargetMaxM()
+                0x0000000000001b30                VinfoInit(MMFSVInfo*)
+                0x0000000000050ec0                kSFSdmUpgradeRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128)
+                0x0000000000027ee0                getOpaqueDefaultAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, char*, int, int*, ext_cred_t*)
+                0x0000000000045430                OpenInstance::dsRetirePrefetchSpecM(PrefetchSpec*)
+                0x0000000000048c70                URHashTab::find(unsigned int, int, char const*)
+                0x00000000000423f0                myFillDir(void*, char const*, int, long long, unsigned long, unsigned int, int)
+                0x000000000006d1a0                mmfs_pack2_dm_get_eventlist
+                0x000000000006df00                mmfs_pack_dm_init_attrloc
+                0x00000000000590b0                findOrphanDataEvent(dm_eventtype_t, dmFileHandle*, long long, unsigned long long, int, orphanSearchStatus*, KernelMailbox**)
+                0x000000000006d760                mmfs_pack_dm_set_return_on_destroy
+                0x0000000000005880                MetaFileBlock::release()
+                0x00000000000213b0                gpfsFtrunc(gpfsVfsData_t*, cxiNode_t*, int, long long, MMFSVInfo*, ext_cred_t*, unsigned int)
+                0x000000000004bc90                MemoryPool::addToFree(FreeBlockHeader*, FreeBlockHeader*)
+                0x0000000000050d10                kSFSdmQueryRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_right_t*)
+                0x0000000000003450                gpfsNode_t::readOSNode(gpfsVfsData_t*, gpfsNode_t*, unsigned int, void*)
+                0x000000000005c250                kxSetPageoutThread
+                0x0000000000033f20                breakSMBOplock
+                0x000000000003c540                BRL::brUnlock(ByteRange const&, BRLock::BRLockMode, void*)
+                0x0000000000023c60                gpfsMount(void*, int, char*, char*, char*, gpfsVfsData_t**, cxiNode_t**, unsigned int*, gpfsVfsData_t*, int, unsigned int, unsigned int, unsigned int)
+                0x0000000000035560                StdThreadToString(int)
+                0x0000000000051a50                kSFSdmMoveEvent(KernelOperation*, unsigned long long, dm_scalar128, unsigned long long, dm_scalar128*)
+                0x00000000000522c0                dmCachedSessionTokensList::getCachedTokensForSession(unsigned long long)
+                0x000000000000cb20                CompactOpenFile::tokensPermit(KernelOperation*, OperationLockMode, LkObj::LockModeEnum)
+                0x00000000000076c0                KernelOperation::holdDaemonSeg(gpfsVfsData_t*, unsigned int)
+                0x000000000005c1c0                kSFSMalloc(int, MallocDuration)
+                0x000000000002a390                XAttrAccess::prepare(KernelOperation*, OpenFile*)
+                0x0000000000019010                kxResumeOperations
+                0x000000000003e000                SetSysdepMutexValues(void**, void*)
+                0x000000000003e3d0                ext_id_as_string(ext_id_t*, char*)
+                0x0000000000048b90                URCacheObj::match(unsigned int, int, char const*) const
+                0x000000000004e9a0                BRTreeNode::btnNextROHolder(int*, short*)
+                0x0000000000019ad0                debug_close_event(int)
+                0x0000000000043cf0                PrefetchSpec::allocPrefetchSpecM(PrefetchSpec**)
+                0x0000000000000440                __cxa_atexit
+                0x0000000000026320                createBaseAcl(unsigned int, ACL*, ACL*, int, int, unsigned int)
+                0x000000000005bd50                kxGetMountInfoByID
+                0x000000000006df90                mmfs_pack2_dm_probe_hole
+                0x000000000003a670                LkObjSMB::LockStateRelease(LkObj::LockModeEnum)
+                0x000000000000ad60                kxInvalidateVolatileOSNodes
+                0x0000000000007d20                kxRegisterMMFSSessionId
+                0x0000000000053b60                dmGenerateNamespaceEvent(dm_eventtype_t, KernelOperation*, int, gpfsVfsData_t*, gpfsNode_t*, gpfsNode_t*, char*, char*, unsigned int, int*, int, int*, unsigned int*, int, GenNum)
+                0x00000000000520e0                dmFileHandle::exportHandle(void**, unsigned int*, void*) const
+                0x0000000000016a70                FillMailboxLogSpec(MBELogSpecParms*, char*, char*)
+                0x0000000000033b60                MemPool::ShowSizetable()
+                0x0000000000014d80                kSFSSetPolicyAttr(KernelOperation*, OpenFile*, unsigned int, unsigned int, HiResTime, HiResTime, long long, long long, unsigned int, int, char const*, int*, int*, int*)
+                0x0000000000003bd0                gpfsNode_t::dmGetFullGeneration(KernelOperation*)
+                0x0000000000003740                gpfsNode_t::updateOSNode(OpenFile*, int)
+                0x0000000000034180                SMBOpLkLkObj::acquireOplockTokenM(OpenFile*, LkObj::LockModeEnum, int, unsigned int)
+                0x0000000000029f80                queWaiter::operator new(unsigned int)
+                0x0000000000003430                gpfsGetSnapIdPair(cxiNode_t*, unsigned int*, unsigned int*)
+                0x0000000000001360                kxTerminateMailboxes
+                0x0000000000058bc0                dmGenerateCloseEvent(KernelOperation*, OpenFile*, dmEventList, dmFileHandle, dmSessionLocator)
+                0x0000000000033840                MemPool::GetBlockFromPool(int, MemPool::sizetableNode*)
+                0x000000000003dff0                InitAtomicOps()
+                0x0000000000010710                kxStartIO
+                0x000000000003df20                kxStackAddrToThreadID
+                0x000000000000a240                kxRLlockRevoke
+                0x0000000000000900                getVfsBySgUid(DiskUID, gpfsVfsData_t**, int*)
+                0x0000000000008e00                RLTrace(RecLockSleeper*, int)
+                0x0000000000010bc0                HoldDaemonSeg(SegMapStatus*, int*)
+                0x00000000000646a0                mmfs_dm_upgrade_right
+                0x00000000000476e0                StripeGroup::getSnapIdFromLocalId(int)
+                0x000000000006e220                mmfs_dm_obj_ref_rele
+                0x000000000001c630                gpfsFattr(gpfsVfsData_t*, cxiNode_t*, MMFSVInfo*, int, int, void*, void*, ext_cred_t*)
+                0x0000000000044000                PrefetchSpecList::preFindAndRemoveM(long long, int, int)
+                0x000000000004b500                Inode::getVar(StripeGroupDesc const*) const
+                0x0000000000048fe0                StripeGroup::copyStoragePoolName(int, int, char*)
+                0x000000000005a440                HiResTime::operator<=(unsigned int) const
+                0x00000000000079e0                KernelOperation::releSG()
+                0x0000000000071e10                mmpmon_sharedFree(void*)
+                0x0000000000050340                kSFSdmGetAllDisp(KernelOperation*, unsigned long long, char*, unsigned int, unsigned int*)
+                0x000000000000a5e0                kxSetMaxspin
+                0x0000000000012fc0                InodePrefetchInstance::inodeUsed(LookupDetails const&)
+                0x000000000006c170                mmfs_dm_make_fshandle
+                0x0000000000019970                mmfs_mounts_unlock()
+                0x0000000000002920                lockGetattr(KernelOperation*, gpfsVfsData_t*, FileUID&, int, LookupDetails&, WhatLocked&, OpenFile*&, cxiVattr_t*)
+                0x0000000000009ff0                unlockFcntlOps(unsigned int)
+                0x0000000000007970                KernelOperation::holdSG(gpfsVfsData_t*)
+                0x0000000000017280                kSFSCopyDataOnWrite(KernelOperation*, FileUID, long long, long long, ext_cred_t*)
+                0x00000000000021f0                gpfsNode_t::rele(KernelOperation*, gpfsVfsData_t*, void*, unsigned int)
+                0x0000000000015090                kSFSFsync(KernelOperation*, int, int, ByteRange const&, ext_cred_t*)
+                0x0000000000001590                KernelMailbox::getFree(KernelOperation*, MailboxAllocType, unsigned int, KernelMailbox**, MailboxMsgType)
+                0x000000000003d520                BaseMutexClass::releaseLockHeld(KernelSynchState*)
+                0x000000000004ded0                HolderBitmap::hbRemoveL1(int, unsigned int)
+                0x0000000000065f40                mmfs_dm_path_to_fshandle
+                0x000000000000bc60                kxFindCloseNFS1
+                0x0000000000005e90                ReleaseAcl(AclAccess*)
+                0x0000000000002090                gpfsNode_t::unCache(KernelOperation*, gpfsVfsData_t*)
+                0x000000000004d430                Stack::push(BRTreeNode*, unsigned int)
+                0x000000000004d5e0                ClientRangeToken::crtIncUseStats(TokenClass*, char)
+                0x00000000000115d0                kSFSInodeDelete(KernelOperation*, FileUID*, unsigned int, ext_cred_t*, gpfsVfsData_t*)
+                0x00000000000112e0                MapDaemonSeg(SegMapStatus*, int*)
+                0x000000000002d6a0                mmInvalidate(gpfsNode_t*)
+                0x0000000000052550                dmGenUniqueSeqNum64(unsigned long long*, parity_t)
+                0x0000000000050b30                kSFSdmRemoveDmattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_attrname, int)
+                0x0000000000013820                FileMetadata::statUpdateOSNode(OpenFile*, cxiNode_t*, int)
+                0x0000000000033fd0                SMBOpLkLkObj::breakOplockM(OpenInstance*, OplockMode, int)
+                0x0000000000028580                dsRdWr(KernelOperation*, MMFSVInfo*, OpenFile*, OpenInstance*, int, cxiUio_t*, FileUID, DiskUID, LocalFileId, LkObj::LockModeEnum*, int, unsigned int, HiResTime const*, ext_cred_t*, int*, gpfsNode_t*)
+                0x000000000002df10                PagerKproc::pkmain()
+                0x000000000004be50                MemorySubpool::spAllocM(int, void**)
+                0x000000000004a5e0                DataShipOpenFileState::init()
+                0x000000000003d590                NotGlobalMutexClass::kAcquireSlow()
+                0x00000000000688c0                mmfs_dm_get_fileattr(unsigned long long, void*, unsigned int, dm_scalar128, unsigned int, dm_stat*)
+                0x0000000000032b00                FileMetadata::kCheckDioAttr(KernelOperation*, gpfsNode_t*)
+                0x000000000005a540                GPFSToSystemErrno(Errno)
+                0x0000000000014500                kSFSSettime(KernelOperation*, gpfsVfsData_t*, FileUID, long, cxiTimeStruc_t*, cxiTimeStruc_t*, cxiTimeStruc_t*, ext_cred_t*, cxiNode_t*)
+                0x00000000000043f0                gpfsNode_t::mmapUnlock(int)
+                0x00000000000722d0                MmpmonLatencyRange::MmpmonLatencyRange(int, unsigned long long const*)
+                0x000000000002a040                dsBufferQ::bqRequestBytes(int)
+                0x0000000000050210                kSFSdmGetEventList(KernelOperation*, unsigned long long, dmFileHandle, dmEventList*, dm_scalar128, unsigned int*)
+                0x000000000004ffa0                kSFSdmSetDisp(KernelOperation*, unsigned long long, dmFileHandle*, dmEventList*, dm_scalar128, unsigned int)
+                0x000000000005bf10                kxCalcMaxSharedSegment
+                0x000000000003aec0                CachedInodeHeader::expand(CompactOpenFile*)
+                0x0000000000015310                kSFSPreAlloc(KernelOperation*, MMFSVInfo*, int, long long, long long, ext_cred_t*)
+                0x0000000000011080                HoldDaemonSegAndSGNonBlock(SegMapStatus*, int*, gpfsVfsData_t*, StripeGroup**, unsigned int*)
+                0x0000000000045ae0                RepDiskAddr::append(DiskAddr96 const&)
+                0x0000000000009700                kxRecLockReset
+                0x000000000004ea50                BRTreeNode::btnSetRangeAndCopyHoldersFrom(unsigned long long, unsigned long long, BRTreeNode const*)
+                0x000000000005a000                HiResTime::HiResTime(int)
+                0x000000000006e060                mmfs_pack2_dm_punch_hole
+                0x0000000000072230                MmpmonLatencyRange::MmpmonLatencyRange(int, unsigned long long const*)
+                0x0000000000012cc0                kSFSSymlink(KernelOperation*, FileUID, char*, char*, ext_cred_t*, OpenFile**, FileUID*)
+                0x000000000003f6b0                BufferDesc::becomesClean()
+                0x0000000000040970                hashExternal(unsigned int)
+                0x00000000000398f0                whichBufListEnumToString(int)
+                0x0000000000011aa0                kSFSCreate(KernelOperation*, FileUID, char*, int, ext_cred_t*, unsigned int, unsigned int, unsigned long long, OpenFile**, OpenInstance**, FileUID*)
+                0x0000000000003310                gpfsNode_t::findOrCreateWithAttrs(KernelOperation*, gpfsVfsData_t*, FileUID, void**, gpfsNode_t**, LookupDetails*)
+                0x0000000000015f20                kSFSPutACL(KernelOperation*, GenNum, OpenFile*, ACL*)
+                0x0000000000044dc0                OpenInstance::dequeueDSPrefetchesM(long long)
+                0x0000000000033650                MemPool::MemPool()
+                0x0000000000052b90                regionsOverlap(dm_region*, unsigned int, unsigned int)
+                0x0000000000048d90                UIDDomain::findCachedID(unsigned int, unsigned int*, char**, int)
+                0x0000000000072c20                Mmpmon_HistogramControl::installDefaultRanges(unsigned long long*, int, unsigned long long*, int)
+                0x000000000002ca90                putOpaquePolicyAttrs(KernelOperation*, OpenFile*, int, char*, int, void*, ext_cred_t*)
+                0x000000000005a3e0                HiResTime::operator>(unsigned int) const
+                0x000000000000a180                enableSyncRetry()
+                0x000000000005a6a0                CalcChecksum(void const*, int, int)
+                0x000000000003ca80                Thread::initModule()
+                0x0000000000010d50                HoldSG(SegMapStatus*, int*, gpfsVfsData_t*, StripeGroup**, unsigned int*, int*, unsigned int*)
+                0x0000000000045b20                RepDiskAddr::replace(int, DiskAddr96)
+                0x000000000002de10                PagerKproc::classInit()
+                0x0000000000031160                dataShipStopDirective(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenInstance*)
+                0x0000000000049620                OpenInstance::operator new(unsigned int)
+                0x000000000002b760                getListXAttrs(KernelOperation*, OpenFile*, gpfsNode_t*, int, char*, int, int*)
+                0x0000000000028000                putOpaqueExtendedAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, char*, int, ext_cred_t*, unsigned int)
+                0x0000000000046e00                FileMetadata::set_mtimeUpdate()
+                0x00000000000441b0                OpenInstance::unlinkInstM()
+                0x00000000000083c0                SetFlock(RecLockSleeper*, cxiFlock_t*)
+                0x000000000004bd80                MemoryPool::splitLow(FreeBlockHeader*, int, BlockDelimiter**)
+                0x000000000006bfe0                mmfs_dm_handle_to_ino
+                0x00000000000103b0                OpenFile::acquireBRT(ByteRange const&, ByteRange const&, BRLock::BRLockMode)
+                0x000000000003b690                BRL::CleanBRL()
+                0x00000000000489c0                StripeGroup::getDiskIndexForRead(RepDiskAddr const&)
+                0x0000000000001110                kxUnmount
+                0x000000000006d7f0                mmfs_pack_dm_getall_dmattr
+                0x0000000000015780                FileMetadata::IamMnode()
+                0x000000000006d230                mmfs_pack_dm_respond_event
+                0x000000000004cf60                ReaccessKey(int, GenNum, int, unsigned long long)
+                0x000000000006d350                mmfs_pack2_dm_get_dmattr
+                0x000000000005a420                HiResTime::operator<(unsigned int) const
+                0x0000000000044120                OpenInstance::enqueueInstM(FileSystem*, WhichInstListEnum)
+                0x00000000000586c0                dmGenerateAttributeEvent(KernelOperation*, FileMetadata*, dmEventList*)
+                0x0000000000006bd0                remapAttrIDs(KernelOperation*, cxiVattr_t*)
+                0x0000000000024e20                gpfsFcntl(void*, gpfsVfsData_t*, void*, void*, void*, cxiNode_t*, long long, cxiFlock_t*, int, int (*)(), unsigned long*, ext_cred_t*)
+                0x0000000000051790                kSFSdmGetDirAttrs(KernelOperation*, unsigned int, long long*, DiskUID, int, char*, int, char*, unsigned int, unsigned int*)
+                0x0000000000051880                kSFSdmGetAllocinfo(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, long long*, dm_extent*, unsigned int, unsigned int*)
+                0x000000000003ad40                FileHashTab::expandObject(BaseCacheObj*, CacheObj*)
+                0x0000000000009350                kxTrace
+                0x0000000000048cd0                UIDDomain::findCachedCred(unsigned int, ext_cred_t**)
+                0x000000000004a100                LLCachedRecAddr::attach(LLOpenFile*)
+                0x00000000000533b0                dmKxSessionList::UpdateParms(unsigned long long, unsigned int, int, dmSessionStatus, int)
+                0x0000000000045840                RepDiskAddr::operator=(RepDiskAddr const&)
+                0x0000000000007f10                kxGetLocalSGIdCounter
+                0x000000000004ef80                BRTree::BRTree(unsigned int)
+                0x0000000000046800                DiskAddrContainer::init(Inode*, StripeGroup*)
+                0x00000000000366b0                objstatusToString(int)
+                0x000000000002a6b0                XAttrAccess::getattr(int, char*, int, char const**, int*, gpfsNode_t*)
+                0x0000000000045db0                RepDiskAddr::putIntoArray(DiskAddr96*, int, int, int) const
+                0x0000000000033680                MemPool::~MemPool()
+                0x000000000004b4c0                Inode::getHeaderLen(StripeGroupDesc const*)
+                0x0000000000049d20                OpenInstance::hideAndWaitUntilIdle()
+                0x00000000000521b0                dmSessionsAtNode::GetSessionStatus(unsigned long long)
+                0x0000000000001fb0                gpfsNode_t::classHashTerm()
+                0x0000000000053430                dmKxSessionList::FillBuf(char*, unsigned int)
+                0x0000000000072d00                Mmpmon_HistogramControl::unlock_histogramOperation()
+                0x000000000000acf0                kxUpdateOSNode
+                0x0000000000001230                Mailbox::termModule()
+                0x000000000006dad0                mmfs_pack_dm_get_mountinfo
+                0x0000000000036140                dsModeToString(int)
+                0x000000000004f700                BRTree::btRotateRight(BRTreeNode*)
+                0x000000000006f5b0                gpfs_fs_getcookies
+                0x000000000004d4b0                Stack::pop(BRTreeNode**)
+                0x00000000000724d0                Mmpmon_Disk_Statistics::Mmpmon_Disk_Statistics()
+                0x0000000000043a90                PrefetchState::prefetchInPastM(long long, long long, OpenInstance*) const
+                0x000000000006d890                mmfs_pack2_dm_read_invis
+                0x0000000000014f50                kSFSChown(KernelOperation*, GenNum, OpenFile*, int, unsigned int, unsigned int, ext_cred_t*)
+                0x0000000000048560                CachedInodeHeader::importFromInode(Inode const&, StripeGroup*)
+                0x000000000004d570                ClientRangeToken::crtIncPrefetchStats(TokenClass*, char, char, int)
+                0x000000000004a6e0                OpenFile::ReleaseFlushFlag(unsigned int)
+                0x00000000000103c0                BRL::flushMappedPages(ByteRange)
+                0x0000000000039970                lockmode_tostring(int)
+                0x000000000002b9e0                putOpaqueXAttrs(KernelOperation*, OpenFile*, char*, int, ext_cred_t*, unsigned int)
+                0x0000000000019410                kSFSFindFileset(KernelOperation*, int, int, unsigned int, LkObj::LockModeEnum, unsigned long long, FilesetMDObj**)
+                0x0000000000001c20                kxAllocVinfo
+                0x0000000000060890                mmfs_dm_handle_to_fshandle
+                0x000000000004a3c0                LLOpenFile::kSetCachedRecAddr(int, int, RepDiskAddr const&, unsigned int, LLCachedRecAddr*)
+                0x0000000000007df0                kxRegisterNodeAddr
+                0x0000000000010e70                ReleSG(SegMapStatus, int, StripeGroup*, unsigned int, int, unsigned int)
+                0x0000000000016f40                logAssertData
+                0x000000000004c520                PageAllocator::requeueMostRecent(Buffer*)
+                0x000000000004e430                HolderBitmap::hbGetNextOneBitL1(int) const
+                0x000000000004e4d0                HolderBitmap::hbGetNextOneBitL2(int) const
+                0x000000000004a230                LLCachedRecAddr::isMigrating()
+                0x0000000000046e40                FileMetadata::setTimes(int, HiResTime const*, KernelOperation*, dmEventList*)
+                0x000000000003dd60                ThSXLock::acquireShared()
+                0x000000000004dc60                HolderBitmap::hbConvert0(int)
+                0x00000000000275a0                setTSAclInternal(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, ACL*, ext_cred_t*)
+                0x0000000000001800                KernelMailbox::kFree()
+                0x0000000000048070                FileMetadata::setInodeDirtyAndVerify(unsigned int)
+                0x0000000000007cd0                kxRegisterMMFSDaemon
+                0x000000000002d1e0                mmInitModule()
+                0x0000000000041df0                Direct::dread(FileUID const&, long long, int, int, int, void*, int (*)(void*, char const*, int, long long, unsigned long), long long*)
+                0x0000000000060030                mmfs_dm_getall_tokens
+                0x0000000000033790                MemPool::DoAllocation()
+                0x00000000000464d0                RepDiskAddr::incSectorAddress(long long)
+                0x000000000006e160                mmfs_pack_dm_move_event
+                0x000000000005a290                HiResTime::operator-=(HiResTime const&)
+                0x0000000000006ac0                checkRootSquash(StripeGroup*, ext_cred_t*)
+                0x0000000000010660                kxQueueCompletedIO
+                0x0000000000013230                FileMetadata::stat(cxiVattr_t*, OpenFile*)
+                0x000000000004e710                BRTreeNode::btnMergeROHolders(BRTreeNode const*)
+                0x000000000004a020                IncrementCacheUse(int)
+                0x0000000000016360                kSFSTossBuffers(KernelOperation*, OpenFile*, ByteRange const&)
+                0x0000000000051060                kSFSdmRequestRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_right_t, unsigned int)
+                0x000000000004b2d0                ValidateInodeBlock(char const*, void*)
+                0x000000000000c360                lockFileHeldM(KernelOperation*, OpenFile*, FileUID, LkObj::LockModeEnum, int)
+                0x000000000004ef20                BRTree::BRTree(unsigned int)
+                0x000000000003b5d0                BrObj::expandToken(CacheObj*, BrTokenState*)
+                0x000000000002d750                mmIsFileMapped(KernelOperation*, FileUID)
+                0x0000000000015e60                kSFSNull(KernelOperation*, int)
+                0x0000000000007c20                kxNoOp
+                0x000000000003fcc0                Direct::rehash()
+                0x0000000000041230                DEFree::check(Direct*, int)
+                0x000000000006d470                mmfs_pack_dm_get_region
+                0x0000000000053370                dmKxSessionList::ChangeStatus(unsigned long long, dmSessionStatus)
+                0x000000000004d890                ClientRangeToken::crtExpand(CacheObj*, int)
+                0x000000000006d080                mmfs_pack_dm_set_disp
+                0x000000000006dd30                mmfs_pack2_dm_get_bulkattr
+                0x0000000000039c70                CacheObj::lkObjP(unsigned short) const
+                0x000000000006bb60                mmfs_dm_handle_hash
+                0x00000000000415f0                Direct::check()
+                0x0000000000036050                accessPatternToString(int)
+                0x0000000000047930                StripeGroup::isSnapshotValid(int)
+                0x00000000000322b0                dioRdWr(KernelOperation*, OpenFile*, int, cxiUio_t*, long long, int)
+                0x000000000002a2a0                dsBufferQ::bqResetByteUsage(int)
+                0x0000000000070880                gpfs_fs_setfilesizes_pack
+                0x000000000004a170                LLCachedRecAddr::detach()
+                0x000000000004a630                OpenFile::AcquireFlushFlag(unsigned int, unsigned int)
+                0x0000000000032760                Mailbox::dioWaitForTermination()
+                0x0000000000007600                kxSetNPagesAvailable
+                0x00000000000243c0                gpfsSyncfs(gpfsVfsData_t*)
+                0x000000000004dab0                HolderBitmap::operator new(unsigned int)
+                0x0000000000052630                dmGenUniqueSeqNum32(unsigned int*, parity_t)
+                0x0000000000033e20                SMBGetOplockState(void*)
+                0x000000000000fb50                CompactOpenFile::set_vfsAccess()
+                0x000000000000c600                lockFile(KernelOperation*, OperationLockMode, FileUID, LkObj::LockModeEnum, OpenFile**, WhatLocked*, int)
+                0x0000000000018580                FileMetadata::kMakePseudoIndirect(int, GenNum, unsigned int)
+                0x0000000000072370                MmpmonLatencyRange::~MmpmonLatencyRange()
+                0x0000000000005a80                RetrieveAcl(KernelOperation*, gpfsVfsData_t*, unsigned int, AclAccess*)
+                0x000000000000a5d0                kxGetMaxspin
+                0x0000000000044b60                OpenInstance::queueDSPrefetchesM()
+                0x0000000000049690                OpenInstance::attachInstance(OpenFile*, OpenInstance**)
+                0x00000000000157e0                kSFSMount(MailboxMsgType, char*, char*, int, unsigned int, unsigned int, Errno)
+                0x000000000004cdf0                PageAllocator::enqueueMostRecentMax(Buffer*, Buffer::BufferQueue_t)
+                0x000000000002e6e0                PagerKproc::processClump(_cxibuf_t*, unsigned int)
+                0x000000000004bc10                MemoryPool::addRegion(int)
+                0x000000000004a0b0                GlobalFS::getEffFileCacheMemLimit()
+                0x000000000002a230                dsBufferQ::bqRelinquishBytes(int)
+                0x0000000000053140                dmKxSessionList::AddSession(unsigned long long, unsigned int, char*, int, dmSessionStatus, dmList*)
+                0x0000000000008350                GetFlock(RecLockSleeper*, cxiFlock_t*)
+                0x00000000000161b0                kSFSRemoteRetry(KernelOperation*, StripeGroup*, void*, int)
+                0x000000000004f890                PushIfNodeMatch(BRTreeNode*, void*, int)
+                0x0000000000045890                RepDiskAddr::compAddr(RepDiskAddr const&) const
+                0x0000000000036240                ineligibilityReasonToString(int)
+                0x000000000004ada0                SMBOpLkLkObj::oplockOpenM(OpenInstance*, AccessMode)
+                0x0000000000015960                kSFSUnmount(KernelOperation*, unsigned int, unsigned int)
+                0x0000000000056a30                dmGenerateUnmountEvent(dm_eventtype_t, KernelOperation*, int, dmEventList, StripeGroup*, dmSessionLocator, unsigned int, DiskUID, gpfsNode_t*, int*, int)
+                0x000000000004d650                ClientRangeToken::crtIncRelinquishStats(TokenClass*, char)
+                0x000000000003feb0                Direct::dmkdir(int, FileUID)
+                0x00000000000513f0                kSFSdmGetAllDmattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, unsigned int, char*, unsigned int*)
+                0x000000000002d740                mmIsRunning()
+                0x0000000000044e60                OpenInstance::doLocalDSPrefetchM(long long)
+                0x000000000000b040                kxFreeSharedMemory
+                0x0000000000000cd0                setMountInfo(gpfsVfsData_t*, unsigned long long, DiskUID, int, StripeGroup*, int, BlockSizeInfo*, int)
+                0x0000000000046780                DiskAddrContainer::DiskAddrContainer()
+                0x00000000000078f0                KernelOperation::reloadDaemonSeg(unsigned long)
+                0x000000000005c3b0                gpfsSwapdTerm()
+                0x0000000000046970                DiskAddrContainer::copyInArray(DiskAddrContainer const&, int)
+                0x000000000005a010                HiResTime::HiResTime(int)
+                0x0000000000072d10                Mmpmon_HistogramControl::force_set_histogramOperation()
+                0x000000000005a0c0                HiResTime::operator+=(HiResTime const&)
+                0x0000000000016950                kSFSQuotactl(KernelOperation*, int, int, void*, ext_cred_t*)
+                0x000000000002ea10                PagerKproc::processRead(KernelOperationMMap*, gpfsNode_t*, OpenFile*, gpfsVfsData_t*, _cxibuf_t*)
+                0x0000000000018f00                kxQuiesceCleanup
+                0x0000000000036320                lockmodeToString(int)
+                0x00000000000500f0                kSFSdmSetEventList(KernelOperation*, unsigned long long, dmFileHandle, dmEventList, dm_scalar128)
+                0x0000000000039c60                CacheObj::get_stcP() const
+                0x00000000000514f0                kSFSdmGetBulkattr(KernelOperation*, dmFileHandle, unsigned int, long long*, char*, unsigned int, unsigned int*)
+                0x000000000003d060                kxWaitCondvar
+                0x0000000000041cc0                Direct::dinitDiscontig(DirLayout*, StripeGroup*, FileUID, int, cxiIOBuffer_t*, cxiIOBufferAttachment_t const*, unsigned int, unsigned int)
+                0x000000000005bf00                kxBlockingMutexStatsCtl
+                0x000000000003dde0                ThSXLock::tryExclusive()
+                0x0000000000071360                kSFSSanGetCookies(KernelOperation*, DiskUID*, int*, sanFileHandle)
+                0x000000000005d050                is64BitApp(char*)
+                0x0000000000072930                Mmpmon_Disk_Statistics::waitFor_diskHistogramOperation(int, unsigned int)
+                0x000000000006f180                kxSanergyApiCall
+                0x000000000004c440                PageAllocator::setQueue(Buffer*, Buffer::BufferQueue_t, unsigned int)
+                0x000000000002e0c0                PagerKproc::dequeueBuf(_cxibuf_t*, unsigned long)
+                0x000000000004af90                XAttrFind(char const*, int, int, char const*, int, unsigned int, int*, int*, int*, int*)
+                0x000000000002a0f0                dsBufferQ::bqWaitForBytes(int, unsigned int*)
+                0x0000000000020710                openNFS(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, MMFSVInfo*, int, ext_cred_t*, SFS_Open_Mode)
+                0x000000000005a320                HiResTime::operator-=(unsigned int)
+                0x000000000004ee60                BRTreeNode::btnCheckClientCachedRange(BRTreeNode*, void*, int)
+                0x000000000004b200                ValidateIndirectBlock(char const*, void*)
+                0x0000000000034230                kxBreakOplockM
+                0x0000000000007900                KernelOperation::mapDaemonSeg()
+                0x000000000006e230                mmfs_dm_pending
+                0x00000000000455f0                GlobalFS::wakePrefetchWorkerM()
+                0x0000000000050780                kSFSdmFindEventmsg(KernelOperation*, unsigned long long, char*, unsigned int, unsigned int*, dm_scalar128)
+                0x000000000005a640                SharkToAIXErrno(int)
+                0x00000000000223c0                gpfsRead(gpfsVfsData_t*, KernelOperation*, cxiNode_t*, int, cxiUio_t*, MMFSVInfo*, cxiVattr_t*, cxiVattr_t*, ext_cred_t*, int, int)
+                0x0000000000050900                kSFSdmIsMountedSG(KernelOperation*, DiskUID)
+                0x0000000000031550                kSFSFcntl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenInstance*, gpfsFcntlHeader_t*, unsigned int*, ext_cred_t*)
+                0x00000000000265c0                Ext2ACL(gpfs_acl*, ACL**)
+                0x0000000000049ac0                OpenInstance::assertVCM()
+                0x0000000000016f60                logGetTag
+                0x0000000000072970                Mmpmon_HistogramControl::operator delete(void*)
+                0x0000000000049ae0                OpenInstance::detachInstance(OpenFile*)
+                0x00000000000720f0                MmpmonRequestSizeRange::~MmpmonRequestSizeRange()
+                0x0000000000044280                OpenInstance::getTargetMaxBuffersM(FileSystem*)
+                0x000000000005a730                CalcChecksumNf(void const*, int, int)
+                0x000000000003cee0                BaseMutexClass::disableMutexWaits()
+                0x00000000000468b0                DiskAddrContainer::init(void*, int, int)
+                0x000000000003e680                NFSv4_iaccess(unsigned long long, int, unsigned int, AclLocalEndian, unsigned int, unsigned int, unsigned int, int (*)(int, ...), ext_cred_t*)
+                0x000000000000aab0                kxVfsUseTransition
+                0x000000000002c650                getOpaquePolicyAttrs(KernelOperation*, OpenFile*, int, char*, int, int*)
+                0x000000000002e430                PagerKproc::terminate(gpfsNode_t*, MMFSVInfo*, unsigned int)
+                0x0000000000060d80                mmfs_dm_query_session
+                0x0000000000013080                kSFSGetattr(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, unsigned int, unsigned int, cxiVattr_t*)
+                0x00000000000343f0                CompoundKindToString(int)
+                0x0000000000010f90                HoldDaemonSegAndSG(SegMapStatus*, int*, gpfsVfsData_t*, StripeGroup**, unsigned int*, int*, unsigned int*)
+                0x000000000000a820                operator new(unsigned int)
+                0x0000000000072a70                Mmpmon_HistogramControl::Mmpmon_HistogramControl(int)
+                0x000000000004dbd0                HolderBitmap::hbAddToL2(int)
+                0x000000000003cdf0                kxThreadInitOrTerm
+                0x0000000000007ae0                KernelOperation::resetPageUsage()
+                0x0000000000034a40                LogRecTypeToString(int)
+                0x000000000004b2a0                Inode::validateInode(char const*, void*)
+                0x00000000000074c0                waitForSimplePageDecl(int)
+                0x000000000005fb30                mmfs_dm_getall_disp
+                0x000000000005a460                HiResTime::asString(char*, int) const
+                0x0000000000009180                kxDoTraceDump
+                0x0000000000020fa0                fclearInternal(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, int, long long, long long, MMFSVInfo*, ext_cred_t*)
+                0x000000000004d270                Buffer::operator delete(void*)
+                0x000000000005c150                kxUnpinAllKernelIOBuffers
+                0x0000000000071bb0                sanSGHandle::importHandle(void*, int)
+                0x000000000000c230                CloseNFSnow(void*)
+                0x000000000004f580                BRTree::btLookup(BRTreeNode*, BRTreeNode**, BRTreeNode**)
+                0x0000000000045fc0                RepDiskAddr::putIntoArray96(DiskAddr96*, int, int) const
+                0x000000000005e910                mmfs_dm_get_config
+                0x000000000001a220                gpfsLookup(gpfsVfsData_t*, void*, cxiNode_t*, void*, char*, void**, cxiNode_t**, unsigned int*, cxiVattr_t*, unsigned int*, ext_cred_t*, void**)
+                0x0000000000049820                OpenInstance::OpenInstance()
+                0x000000000000ba90                ReleaseNFS(void*)
+                0x0000000000033e60                SMBGetOplockStateV(MMFSVInfo*)
+                0x000000000003cd10                SynchEventWordBlock::getCondWaiters(int, BaseCondvarClass**)
+                0x0000000000008640                Deque(RecLockQueue, RecLockSleeper*, unsigned int)
+                0x0000000000000890                getVfsByMountid(unsigned int, gpfsVfsData_t**, int*)
+                0x00000000000113a0                kSFSOpen(KernelOperation*, FileUID*, int, OpenInstance**, ext_cred_t*, gpfsVfsData_t*, unsigned int, SFS_Open_Mode, void*)
+                0x000000000004c3d0                Buffer::setDone(unsigned int)
+                0x0000000000001bb0                allocVinfo
+                0x0000000000034ca0                MutexToString(int)
+                0x000000000003b430                MNodeToken::getMetanodeStatus()
+                0x0000000000052810                FileMetadata::kDmGetFEventList(KernelOperation*, gpfsNode_t*, dmEventList*, unsigned int*, unsigned int)
+                0x000000000006e210                mmfs_dm_obj_ref_query
+                0x0000000000049670                OpenInstance::operator delete(void*)
+                0x0000000000059ef0                reverseBits(unsigned int, int)
+                0x00000000000125e0                kSFSRmdir(KernelOperation*, FileUID, char*, FileUID, ext_cred_t*)
+                0x0000000000009ae0                kxRetryRecover
+                0x000000000003b760                BRL::brLockM(ByteRange const&, BRLock::BRLockMode, void**, int, long long, ByteRange*)
+                0x0000000000019910                mmfs_nfs_unlock()
+                0x000000000004c150                Buffer::setRecentlyUsed(unsigned int)
+                0x0000000000072cb0                Mmpmon_HistogramControl::lock_histogramOperation()
+                0x000000000005f2e0                mmfs_dm_get_events
+                0x00000000000362e0                llcStatusToString(int)
+                0x000000000002aaf0                kSFSXAttrSet(KernelOperation*, OpenFile*, char*, ext_cred_t*)
+                0x0000000000060aa0                mmfs_dm_make_handle
+                0x0000000000047cc0                StripeGroup::lookupSnapDirEntry(KernelOperation*, char const*, unsigned int, FileUID, FileUID*, unsigned int*, unsigned int*)
+                0x000000000005c410                gpfsSwapdEnqueue(cxiNode_t*)
+                0x0000000000073a80                __moddi3
+                0x000000000005c0f0                kxUnpinKernelIOBuffer
+                0x0000000000005ee0                IaccessNoAcl(KernelOperation*, unsigned int, unsigned int, unsigned int, unsigned int, ext_cred_t*)
+                0x0000000000059450                VgetInternal(KernelOperation*, gpfsVfsData_t*, void**, fileid*, void*, gpfsNode_t**)
+                0x0000000000030490                multAccessRangeHint(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenInstance*, gpfsMultipleAccessRange_t*)
+                0x0000000000033690                MemPool::Init()
+                0x00000000000526f0                dmGenTokenId(dm_scalar128*, parity_t)
+                0x00000000000726f0                Mmpmon_Disk_Statistics::~Mmpmon_Disk_Statistics()
+                0x00000000000598b0                GetMountedOverOSNode(void*, FileUID*, gpfsVfsData_t**, gpfsNode_t**)
+                0x0000000000047b20                StripeGroup::lookupSnapLinkEntry(KernelOperation*, char const*, unsigned int, FileUID, FileUID, FileUID*, unsigned int*, unsigned int*)
+                0x0000000000007650                ReclaimIfNeeded(int, unsigned int)
+                0x000000000003dad0                ThCond::signal()
+                0x000000000005c270                kxClearPageoutThread
+                0x00000000000468c0                DiskAddrContainer::seek(int)
+                0x0000000000018840                FileMetadata::kGetIndirectDescriptor(int, long long, int, indBlockDesc**, unsigned int*)
+                0x000000000004cca0                PageAllocator::dequeueLeastRecent(int, Buffer::BufferQueue_t)
+                0x0000000000001fd0                gpfsNode_t::classInit()
+                0x000000000004ebb0                BRTreeNode::btnTrace() const
+                0x000000000006b550                mmfs_dm_init_service
+                0x000000000006bc10                mmfs_dm_handle_to_fsid
+                0x0000000000017980                FileMetadata::kGetInode(GenNum, int)
+                0x0000000000038110                smbCommandToString(int)
+                0x0000000000000fc0                getMountVersion(gpfsVfsData_t*, FileUID, MMFSVInfo*)
+                0x000000000000adb0                kxAllocSharedMemory
+                0x0000000000040000                Direct::allocEntry(int, int*, short*, Direct::AllocHow, unsigned short)
+                0x000000000003db80                ThCond::internalWait(KernelSynchState*, unsigned int, void*)
+                0x00000000000339d0                MemPool::BlockFree(void*)
+                0x000000000005a0a0                HiResTime::operator+(unsigned int) const
+                0x00000000000262f0                calcBaseAclSize(ACL*, int)
+                0x0000000000007b70                KernelOperationMMap::koMmapUnlock()
+                0x00000000000168a0                kSFSReduceMemoryUse()
+                0x000000000003f000                DSPrefetchBufState::DSPrefetchBufState()
+                0x0000000000047210                AtomInodeTimeValue::now()
+                0x00000000000498a0                OpenInstance::OpenInstance()
+                0x000000000003b3e0                MNodeToken::CleanMnodeToken()
+                0x0000000000043d80                PrefetchSpec::discardPreSpecBuffer(long long, int, int, OpenInstance*, gpfsVfsData_t*, gpfsNode_t*, StripeGroup*)
+                0x000000000000ab10                kxInvalidateSnapshot
+                0x0000000000050990                kSFSdmGetAllTokens(KernelOperation*, unsigned long long, dm_scalar128*, unsigned int, unsigned int*)
+                0x0000000000039b80                SharedHashTab::makeCompactMRU(CacheObj*)
+                0x000000000002ddf0                pagerKprocMain
+                0x000000000005c6a0                Swapd
+                0x0000000000073860                __wrap___udivdi3
+                0x0000000000053100                dmKxSessionList::~dmKxSessionList()
+                0x000000000004fd60                kSFSdmCreateSession(KernelOperation*, unsigned long long, char*, unsigned int, unsigned long long*, unsigned int*)
+                0x0000000000046cd0                FileMetadata::setMtime(HiResTime const&)
+                0x000000000003d6b0                ThMutex::ThMutex(MutexName)
+                0x0000000000050850                kSFSdmCreateUserevent(KernelOperation*, unsigned long long, char*, unsigned int, dm_scalar128*)
+                0x000000000000fb40                __PureVirtualCalled()
+                0x0000000000072d20                Disk::calcPerMonStats(HiResTime const*, HiResTime const*, HiResTime const*, unsigned long long, DiskOperation)
+                0x000000000002de30                PagerKproc::classTerm()
+                0x0000000000017190                kSFSGetSnapDirMinSnapId(KernelOperation*, FileUID, int*)
+                0x00000000000599c0                ConsecutiveBitScan(unsigned int, int)
+                0x000000000006ddd0                mmfs_pack2_dm_get_allocinfo
+                0x00000000000104b0                DiskSched::initModule()
+                0x0000000000046250                RepDiskAddr::importDA(char*, int, int, int)
+                0x0000000000048e40                StripeGroup::getStoragePoolId(char const*)
+                0x0000000000066b30                dm_init_uio_struct(cxiUio_t*, int, cxiIovec_t*, long long, unsigned long long, void*)
+                0x00000000000024e0                gpfsNode_t::findButDontCreate(StripeGroup*, FileUID, void**, gpfsNode_t**, unsigned int)
+                0x0000000000017180                __uitrunc
+                0x00000000000076a0                KernelOperationMMap::~KernelOperationMMap()
+                0x000000000004dd30                HolderBitmap::hbConvert1(int)
+                0x000000000005d970                mmfs_dm_destroy_session
+                0x0000000000003400                gpfsInodeFindActor(cxiNode_t*, unsigned int, void*)
+                0x000000000001aaf0                gpfsClose(gpfsVfsData_t*, cxiNode_t*, int, MMFSVInfo*, unsigned int)
+                0x0000000000001ea0                kxInitializeNodeHashTab
+                0x000000000003cbc0                SynchEventWordBlock::allocEvent(KernelSynchState*, void*)
+                0x0000000000030b30                dataShipStartDirective(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenInstance*, int, gpfsDataShipMapVariable_t*)
+                0x000000000003b320                MNodeToken::expandToken(OpenFile*, LkTokenState*, NodeAddr)
+                0x0000000000000a60                kxSetMountInfoByID
+                0x000000000006c3d0                mmfs_dm_sync_by_handle
+                0x0000000000012100                kSFSLink(KernelOperation*, FileUID, char*, FileUID, ext_cred_t*, OpenFile**)
+                0x00000000000030f0                gpfsNode_t::findOrCreateLinux(KernelOperation*, gpfsVfsData_t*, FileUID, OpenFile*, cxiVattr_t*, void**, gpfsNode_t**)
+                0x000000000004ddf0                HolderBitmap::hbIsMemberL0(int) const
+                0x000000000004a320                LLOpenFile::readLockRelease()
+                0x000000000003d8b0                ThCond::kWait(int, char const*)
+                0x0000000000000010                mmfs
+                0x00000000000367a0                reasonToString(int)
+                0x0000000000009360                kxCommonReclock
+                0x0000000000039ca0                LkObj::lockStateToString(unsigned long long, char*)
+                0x000000000002a560                XAttrAccess::getdata(char const**, int*, gpfsNode_t*)
+                0x0000000000046b00                FileMetadata::setOwn(int, unsigned int, unsigned int, KernelOperation*)
+                0x0000000000072820                Mmpmon_Disk_Statistics::initializeDiskHistograms(Mmpmon_HistogramControl*)
+                0x0000000000019af0                gpfsFsync(gpfsVfsData_t*, MMFSVInfo*, cxiNode_t*, int, ext_cred_t*)
+                0x000000000005a3c0                HiResTime::operator!=(unsigned int) const
+                0x00000000000707d0                gpfs_fs_init
+                0x00000000000269a0                calcStructAclLength(int, unsigned int)
+                0x000000000005a510                GPFSErrno(int)
+                0x0000000000033a50                MemPool::AddPool()
+                0x0000000000000990                getVfsBySgName(char const*, gpfsVfsData_t**)
+                0x0000000000016cb0                printn(long, char, char*, char, int)
+                0x000000000003cc80                SynchEventWordBlock::wakeAllWaiters(int)
+                0x000000000000a780                VFSStats_disable
+                0x0000000000036620                mnodestatusToString(int)
+                0x00000000000492c0                FilesetHashTab::findCachedItem(DiskUID, int, LkObj::LockModeEnum, unsigned int (*)(FilesetMDObj*, void*), FilesetMDObj**, void*)
+                0x0000000000019bd0                gpfsSyncNFS(gpfsVfsData_t*, cxiNode_t*, int, ext_cred_t*)
+                0x0000000000016530                callDaemonToDie(char*, unsigned int, int, int, char*, char*)
+                0x0000000000050df0                kSFSdmReleaseRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128)
+                0x000000000004f110                BRTree::btInternalInsert(BRTreeNode*, BRTreeNode**, unsigned int, unsigned int*)
+                0x0000000000047570                StripeGroup::getSnapIdViaName(char const*)
+                0x0000000000046ac0                FileMetadata::updateFileModifiedSnapId()
+                0x0000000000003800                gpfsNode_t::gnType(KernelOperation*, unsigned int)
+                0x0000000000044da0                OpenInstance::clearDSPrefetchesM()
+                0x000000000005e140                mmfs_dm_create_userevent
+                0x0000000000036290                inodestatusToString(int)
+                0x00000000000515d0                kSFSdmGetBulkall(KernelOperation*, dmFileHandle, unsigned int, long long*, dm_attrname*, char*, unsigned int, unsigned int*)
+                0x0000000000036650                objclassToString(int)
+                0x000000000003e030                hashAcl(int, char const*)
+                0x0000000000047760                StripeGroup::getMountSnapId(int)
+                0x000000000000c160                cleanupStaleNFS()
+                0x0000000000008430                Enque(RecLockQueue, RecLockSleeper*, void*)
+                0x00000000000723e0                Mmpmon_Disk_Statistics::Mmpmon_Disk_Statistics()
+                0x000000000003df90                kxThreadPtrToThreadID
+                0x0000000000050a40                kSFSdmSetDmattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_attrname, char*, unsigned int, int)
+                0x0000000000043760                PrefetchState::nextPrefetchCursorM(int, long long*, long long*, int*, int*, int*, OpenInstance*)
+                0x0000000000017500                OpenFile::tryInitOpenFile(StripeGroup*, LkObj::LockModeEnum)
+                0x00000000000173c0                kSFSIReadX(KernelOperation*, FileUID, int, long long, long long*, void*, int, int*)
+                0x0000000000001220                Mailbox::initModule()
+                0x0000000000018ab0                FileMetadata::kDeleteIndirectBlock(indBlockDesc*)
+                0x0000000000016e10                _doprnt(char*, char*, char*)
+                0x000000000005e9f0                mmfs_dm_get_config_events
+                0x00000000000198a0                vinfoUnlock(MMFSVInfo*)
+                0x0000000000049920                OpenInstance::reinit()
+                0x000000000006d5a0                mmfs_pack_dm_remove_dmattr
+                0x000000000006b6d0                mmfs_dm_send_msg
+                0x0000000000053850                kxDmRemoveSession
+                0x0000000000071190                kSFSSanGetMaxLeases(KernelOperation*, long*, long*)
+                0x0000000000071a50                sanFileHandle::importHandle(void*, int)
+ .text          0x0000000000073f78        0x0 mmfs26.mod.o
+ *(.text.*personality*)
+ *(.gnu.warning)
+
+.text.trace     0x0000000000000000    0x26ef5
+ .text.trace    0x0000000000000000    0x26ef5 mmfs26.tmp
+                0x0000000000003270                RecLocModuleTerm()
+                0x0000000000009830                ClusterConfiguration::getNodeFailureCount(NodeAddr)
+                0x0000000000003ad0                kxStartDMS
+                0x0000000000021f50                ClientToken::ctExpand(CacheObj*, int)
+                0x0000000000012470                gpfsReaddir(gpfsVfsData_t*, cxiNode_t*, void*, int (*)(void*, char const*, int, long long, unsigned long), long long*, cxiContext_t, KernelOperation*)
+                0x0000000000008170                LkObjSMB::SMBlock_fetch_vfs_m(KernelOperation*, CacheObj*, OpenInstance*, LkObj::LockModeEnum, unsigned int)
+                0x00000000000028e0                kxSendFlock
+                0x0000000000002dd0                kxWaitForFlock
+                0x0000000000009340                kShHashLookup(StripeGroup*, unsigned short, ObjKey const&, CacheObj**)
+                0x000000000000c5f0                gpfsLink(gpfsVfsData_t*, cxiNode_t*, cxiNode_t*, void*, char*, ext_cred_t*)
+                0x000000000000f130                gpfsFsyncRange(gpfsVfsData_t*, cxiNode_t*, int, long long, long long, ext_cred_t*)
+                0x00000000000241c0                gpfsDmUnmountEvent(unsigned int, unsigned int, gpfsVfsData_t*, cxiNode_t*, unsigned int*, void**, void**, void**, int)
+                0x00000000000031c0                RecLocModuleInit()
+                0x0000000000016590                CloseEventinfo(KernelOperation*, OpenFile*, dmEventList*, dmFileHandle*, dmSessionLocator*, unsigned int*)
+                0x0000000000021ed0                ClientToken::ctIncRelinquishStats(TokenClass*, char)
+                0x000000000000aa00                kSFSFtrunc(KernelOperation*, FileUID, MMFSVInfo*, int, long long, ext_cred_t*, unsigned int, long long)
+                0x0000000000014100                gpfsMknod(gpfsVfsData_t*, cxiNode_t*, void**, cxiNode_t**, unsigned int*, void*, char*, unsigned int, unsigned int, unsigned long long, ext_cred_t*)
+                0x0000000000002630                kCleanupAcquires
+                0x0000000000003b30                kxStopDMS
+                0x00000000000095e0                kShHashFetch(KernelOperation*, CacheObj*, unsigned short, short, int, void*, int, unsigned int)
+                0x000000000001f7a0                PrefetchState::advanceWindowM()
+                0x0000000000015b00                gpfsSetSMBOplock(gpfsVfsData_t*, cxiNode_t*, MMFSVInfo*, int, int, void*, int*, unsigned int)
+                0x0000000000009320                kxRegisterObjType
+                0x000000000000cab0                gpfsInodeDelete(gpfsVfsData_t*, cxiNode_t*, unsigned int, ext_cred_t*)
+                0x0000000000013890                gpfsCreate(gpfsVfsData_t*, cxiNode_t*, void**, cxiNode_t**, unsigned int*, int, int, void*, char*, unsigned int, unsigned int, char**, ext_cred_t*)
+                0x000000000001c490                gpfsMmapFlushUnlock(cxiNode_t*)
+                0x0000000000015ea0                gpfsReserveDelegation(void*, void*, gpfsVfsData_t*, int, int, void*, void*)
+                0x0000000000014ea0                gpfsReleaseNFS(void*)
+                0x0000000000008c30                LkObj::unlock_vfs(CacheObj*, LkObj::LockModeEnum)
+                0x000000000000e3b0                gpfsSetattr(gpfsVfsData_t*, cxiNode_t*, long, long, long, long, ext_cred_t*)
+                0x0000000000021e60                ClientToken::ctIncPrefetchStats(TokenClass*, char, int)
+                0x000000000000e010                gpfsRmdir(gpfsVfsData_t*, cxiNode_t*, cxiNode_t*, char*, ext_cred_t*)
+                0x0000000000000e40                gpfsNode_t::invalidateOSNodeByUID(StripeGroup*, FileUID, int)
+                0x00000000000161a0                UIDremapOn()
+                0x0000000000020420                OpenInstance::deactivateM()
+                0x000000000000d8f0                gpfsRemove(gpfsVfsData_t*, cxiNode_t*, cxiNode_t*, char*, ext_cred_t*)
+                0x0000000000006a00                CacheObj::cacheObjHoldM()
+                0x000000000001b940                PagerKproc::adjustKprocs()
+                0x0000000000003b50                kxOplockInit
+                0x0000000000011ef0                getVattr(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, cxiVattr_t*, unsigned int, unsigned int)
+                0x00000000000152e0                gpfsQuotactl(gpfsVfsData_t*, int, int, void*, ext_cred_t*)
+                0x0000000000014e90                gpfsGetNFS(void*, MMFSVInfo**, int*)
+                0x0000000000018b10                getAclVersion(KernelOperation*, gpfsVfsData_t*, int, int*)
+                0x0000000000014ee0                gpfsGetAcl(gpfsVfsData_t*, cxiNode_t*, int, void*, ext_cred_t*)
+                0x0000000000008fa0                LkObjSMB::SMBunlock_vfs_m(CacheObj*, OpenInstance*, LkObj::LockModeEnum)
+                0x0000000000006a60                CacheObj::cacheObjReleM()
+                0x0000000000011ff0                gpfsGetattr(gpfsVfsData_t*, cxiNode_t*, cxiVattr_t*, unsigned int)
+                0x0000000000006b30                LkObj::modify_lock_vfs(CacheObj*, LkObj::LockModeEnum, LkObj::LockModeEnum, int)
+                0x0000000000019c90                kSFSRemoteStat(KernelOperation*, OpenFile*, void*, ext_cred_t*)
+                0x0000000000019260                getTSAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, ACL*, int, unsigned char, int, ext_cred_t*, unsigned int*, unsigned int)
+                0x000000000001fc60                PrefetchState::resetPrefetchCursorM(int)
+                0x00000000000204a0                OpenInstance::doneWithBufferM(BufferDesc*, long long, unsigned int)
+                0x000000000001a810                OpenInstance::kProcessDSPrefetchesM(KernelOperation*, BufferDesc*, FileUID, DiskUID)
+                0x00000000000084c0                LkObjSMB::SMBlock_vfs_m(CacheObj*, OpenInstance*, LkObj::LockModeEnum)
+                0x0000000000014b10                gpfsFcntlReset(void*, int)
+                0x000000000001f950                PrefetchState::initPrefetchStrategyM(int, int, OpenInstance*, AccessPatChange)
+                0x0000000000021e90                ClientToken::ctIncUseStats(TokenClass*, char)
+                0x0000000000021e20                TokenClass::getnodeid()
+                0x00000000000010d0                gpfsNode_t::invalidateAllOSNode(int, int)
+                0x0000000000024040                dmGetMountDispositions(KernelOperation*, dmSessionLocator**, int*)
+                0x000000000000dc10                gpfsRename(gpfsVfsData_t*, cxiNode_t*, cxiNode_t*, char*, cxiNode_t*, cxiNode_t*, char*, ext_cred_t*)
+                0x00000000000098f0                kShHashAcquireToken(CacheObj*, unsigned short, short, int, unsigned int)
+                0x000000000001c300                gpfsQueueBufs(_cxibuf_t*)
+                0x000000000001f640                PrefetchState::isLastAccessLargeWriteM(int, int) const
+                0x0000000000002840                isClientValid(RecLockSleeper*)
+                0x00000000000094a0                kShHashRelease(CacheObj*)
+                0x0000000000016490                gpfsOpenNFS(gpfsVfsData_t*, cxiNode_t*, int, MMFSVInfo*, ext_cred_t*)
+                0x0000000000016120                gpfsCleanup()
+                0x0000000000019690                verifyTSAcl(ACL*, StripeGroup*)
+                0x0000000000002780                kDupCheckAcquires
+                0x0000000000003a80                kGetNIOsInProgress(int)
+                0x00000000000047c0                upgradeFileLock(KernelOperation*, OpenFile*, FileUID, LkObj::LockModeEnum*, LkObj::LockModeEnum, int)
+                0x0000000000020760                OpenInstance::doneWithCleanBufferM(BufferDesc*, unsigned int)
+                0x0000000000015130                gpfsPutAcl(gpfsVfsData_t*, cxiNode_t*, int, void*, ext_cred_t*)
+                0x0000000000022370                BRTreeNode::btnCheckServerRange(BRTreeNode*, void*, int)
+                0x0000000000009330                kxInitializeRevokeTab
+                0x000000000000ebb0                gpfsSymlink(gpfsVfsData_t*, cxiNode_t*, void**, cxiNode_t**, unsigned int*, void*, char*, char*, ext_cred_t*)
+                0x0000000000003110                wakeSyncRecLockRetries(StripeGroup*)
+                0x0000000000022270                BRTreeNode::btnOverlaps(BRTreeNode const*) const
+                0x0000000000008e10                LkObj::unlock_vfs_m(CacheObj*, LkObj::LockModeEnum)
+                0x000000000001f800                PrefetchState::findBlocksOfNextAccess(long long*, int*, int, int, OpenInstance*) const
+                0x0000000000021ee0                ClientToken::ctSetMode(CacheObj*, char)
+                0x0000000000003b80                kxOplockTerm
+                0x00000000000161b0                gpfsNFSIget(gpfsVfsData_t*, cxiIGetArg_t*, unsigned int, void**)
+                0x00000000000195f0                insertIndex(aceIndxTable_t**, aceIndxTable_t*)
+                0x000000000001fd90                PrefetchState::computeBRLFlag() const
+                0x00000000000079c0                LkObj::lock_vfs_v(CacheObj*, LkObj::LockModeEnum, int, LkObj::LockModeEnum*)
+                0x000000000000cc60                gpfsOpen(gpfsVfsData_t*, cxiNode_t*, int, int, int, MMFSVInfo**, ext_cred_t*)
+                0x0000000000015af0                kDebugHook(int)
+                0x0000000000013430                gpfsReadlink(gpfsVfsData_t*, cxiNode_t*, cxiUio_t*)
+                0x000000000001c2d0                PagerKproc::wakeUpKproc()
+                0x000000000001d050                DiskSched::dioStart()
+                0x00000000000072a0                LkObj::lock_vfs_m(CacheObj*, LkObj::LockModeEnum, int)
+                0x0000000000009870                StripeGroup::getNodeFailurePlusSGPanicCount(NodeAddr) const
+                0x0000000000012130                gpfsAccess(gpfsVfsData_t*, cxiNode_t*, int, int, ext_cred_t*)
+                0x000000000000a8f0                kSFSSetBuffs(KernelOperation*, int, int, MMFSVInfo*)
+                0x0000000000003be0                kxUIDRemapInit
+                0x0000000000000f50                gpfsNode_t::invalidateOSNode(gpfsNode_t*, void*, int)
+                0x0000000000015550                gpfsMmap(gpfsVfsData_t*, cxiNode_t*, void*, ext_cred_t*, void*, unsigned int, unsigned int, long long, long long)
+                0x00000000000208b0                OpenInstance::rescheduleM()
+                0x000000000001bab0                PagerKproc::resetDyn()
+                0x0000000000014eb0                gpfsReady()
+                0x0000000000008a00                LkObj::downgrade_lock_vfs(CacheObj*, LkObj::LockModeEnum, LkObj::LockModeEnum, int)
+                0x0000000000015bf0                gpfsReserveShare(void*, void*, gpfsVfsData_t*, int, int, cxiNode_t*, ext_cred_t*)
+                0x000000000000ca90                gpfsInodeRead(gpfsVfsData_t*, cxiNode_t*, unsigned int, void*)
+                0x0000000000003bb0                kxOplockNotify
+                0x0000000000021e10                TokenClass::getClusterCfgP()
+                0x000000000001c470                gpfsMmapFlushLock(cxiNode_t*)
+
+.gnu.linkonce.t._ZN8NodeAddrD1Ev
+                0x0000000000000000        0x1
+ .gnu.linkonce.t._ZN8NodeAddrD1Ev
+                0x0000000000000000        0x1 mmfs26.tmp
+                0x0000000000000000                NodeAddr::~NodeAddr()
+
+.gnu.linkonce.t._ZN8NodeAddrC1EjjNS_6NAtypeE
+                0x0000000000000000       0x1a
+ .gnu.linkonce.t._ZN8NodeAddrC1EjjNS_6NAtypeE
+                0x0000000000000000       0x1a mmfs26.tmp
+                0x0000000000000000                NodeAddr::NodeAddr(unsigned int, unsigned int, NodeAddr::NAtype)
+
+.gnu.linkonce.t._ZN15dmKxSessionListC1Ev
+                0x0000000000000000       0x15
+ .gnu.linkonce.t._ZN15dmKxSessionListC1Ev
+                0x0000000000000000       0x15 mmfs26.tmp
+                0x0000000000000000                dmKxSessionList::dmKxSessionList()
+
+.gnu.linkonce.t._ZN7DbgSymsC1Ev
+                0x0000000000000000        0x9
+ .gnu.linkonce.t._ZN7DbgSymsC1Ev
+                0x0000000000000000        0x9 mmfs26.tmp
+                0x0000000000000000                DbgSyms::DbgSyms()
+
+.gnu.linkonce.t._ZN7DbgSyms4initEv
+                0x0000000000000000       0x14
+ .gnu.linkonce.t._ZN7DbgSyms4initEv
+                0x0000000000000000       0x14 mmfs26.tmp
+                0x0000000000000000                DbgSyms::init()
+
+.gnu.linkonce.t._ZN7DbgSyms3AddEPcPv
+                0x0000000000000000       0x4b
+ .gnu.linkonce.t._ZN7DbgSyms3AddEPcPv
+                0x0000000000000000       0x4b mmfs26.tmp
+                0x0000000000000000                DbgSyms::Add(char*, void*)
+
+.gnu.linkonce.t._ZNK7DiskUIDeqERKS_
+                0x0000000000000000       0x20
+ .gnu.linkonce.t._ZNK7DiskUIDeqERKS_
+                0x0000000000000000       0x20 mmfs26.tmp
+                0x0000000000000000                DiskUID::operator==(DiskUID const&) const
+
+.gnu.linkonce.t._ZN6GenNumC1Ej
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZN6GenNumC1Ej
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                GenNum::GenNum(unsigned int)
+
+.gnu.linkonce.t._ZN7FileUIDC1Ev
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN7FileUIDC1Ev
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileUID::FileUID()
+
+.gnu.linkonce.t._ZN7FileUID12setToInvalidEv
+                0x0000000000000000       0x34
+ .gnu.linkonce.t._ZN7FileUID12setToInvalidEv
+                0x0000000000000000       0x34 mmfs26.tmp
+                0x0000000000000000                FileUID::setToInvalid()
+
+.gnu.linkonce.t._ZN7FileUID10setToValueEi6GenNumij
+                0x0000000000000000       0x14
+ .gnu.linkonce.t._ZN7FileUID10setToValueEi6GenNumij
+                0x0000000000000000       0x14 mmfs26.tmp
+                0x0000000000000000                FileUID::setToValue(int, GenNum, int, unsigned int)
+
+.gnu.linkonce.t._ZNK11StripeGroup15getHomeClusterPEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup15getHomeClusterPEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getHomeClusterP() const
+
+.gnu.linkonce.t._ZNK11StripeGroup15mountRestrictedEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK11StripeGroup15mountRestrictedEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::mountRestricted() const
+
+.gnu.linkonce.t._ZNK11StripeGroup9getSGNameEv
+                0x0000000000000000        0x3
+ .gnu.linkonce.t._ZNK11StripeGroup9getSGNameEv
+                0x0000000000000000        0x3 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSGName() const
+
+.gnu.linkonce.t._ZNK11StripeGroup12getLocalNameEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK11StripeGroup12getLocalNameEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getLocalName() const
+
+.gnu.linkonce.t._ZNK11StripeGroup14dmapiIsEnabledEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup14dmapiIsEnabledEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::dmapiIsEnabled() const
+
+.gnu.linkonce.t._ZN12SMBOpLkLkObj16oplockTestHolderEP12OpenInstance
+                0x0000000000000000       0x11
+ .gnu.linkonce.t._ZN12SMBOpLkLkObj16oplockTestHolderEP12OpenInstance
+                0x0000000000000000       0x11 mmfs26.tmp
+                0x0000000000000000                SMBOpLkLkObj::oplockTestHolder(OpenInstance*)
+
+.gnu.linkonce.t._ZN15KernelOperationC1Ev
+                0x0000000000000000       0x46
+ .gnu.linkonce.t._ZN15KernelOperationC1Ev
+                0x0000000000000000       0x46 mmfs26.tmp
+                0x0000000000000000                KernelOperation::KernelOperation()
+
+.gnu.linkonce.t._ZN15KernelOperationD1Ev
+                0x0000000000000000       0x63
+ .gnu.linkonce.t._ZN15KernelOperationD1Ev
+                0x0000000000000000       0x63 mmfs26.tmp
+                0x0000000000000000                KernelOperation::~KernelOperation()
+
+.gnu.linkonce.t._ZN15KernelOperation12kBeginVnopRdEP13gpfsVfsData_t
+                0x0000000000000000       0x6b
+ .gnu.linkonce.t._ZN15KernelOperation12kBeginVnopRdEP13gpfsVfsData_t
+                0x0000000000000000       0x6b mmfs26.tmp
+                0x0000000000000000                KernelOperation::kBeginVnopRd(gpfsVfsData_t*)
+
+.gnu.linkonce.t._ZNK15KernelOperation6getSGPEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK15KernelOperation6getSGPEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                KernelOperation::getSGP() const
+
+.gnu.linkonce.t._ZN15KernelOperation9getNPagesEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN15KernelOperation9getNPagesEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                KernelOperation::getNPages()
+
+.gnu.linkonce.t._ZN15KernelOperation11getDmEventsEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN15KernelOperation11getDmEventsEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                KernelOperation::getDmEvents()
+
+.gnu.linkonce.t._ZN15KernelOperation12setOpContextE12cxiContext_t
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN15KernelOperation12setOpContextE12cxiContext_t
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                KernelOperation::setOpContext(cxiContext_t)
+
+.gnu.linkonce.t._ZNK20ClusterConfiguration12getClusterIDEv
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZNK20ClusterConfiguration12getClusterIDEv
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                ClusterConfiguration::getClusterID() const
+
+.gnu.linkonce.t._ZNK20ClusterConfiguration7isLocalEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZNK20ClusterConfiguration7isLocalEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                ClusterConfiguration::isLocal() const
+
+.gnu.linkonce.t._ZN6GenNumC1Ev
+                0x0000000000000000        0x1
+ .gnu.linkonce.t._ZN6GenNumC1Ev
+                0x0000000000000000        0x1 mmfs26.tmp
+                0x0000000000000000                GenNum::GenNum()
+
+.gnu.linkonce.t._ZN6GenNumaSEj
+                0x0000000000000000       0x26
+ .gnu.linkonce.t._ZN6GenNumaSEj
+                0x0000000000000000       0x26 mmfs26.tmp
+                0x0000000000000000                GenNum::operator=(unsigned int)
+
+.gnu.linkonce.t._ZNK9SGMgrData15mountRestrictedEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK9SGMgrData15mountRestrictedEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                SGMgrData::mountRestricted() const
+
+.gnu.linkonce.t._ZNK16BaseCondvarClass10hasWaitersEv
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZNK16BaseCondvarClass10hasWaitersEv
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                BaseCondvarClass::hasWaiters() const
+
+.gnu.linkonce.t._ZN12MailboxQueue7enqueueEP7Mailbox
+                0x0000000000000000       0x1c
+ .gnu.linkonce.t._ZN12MailboxQueue7enqueueEP7Mailbox
+                0x0000000000000000       0x1c mmfs26.tmp
+                0x0000000000000000                MailboxQueue::enqueue(Mailbox*)
+
+.gnu.linkonce.t._ZN12MailboxQueue7dequeueEv
+                0x0000000000000000       0x29
+ .gnu.linkonce.t._ZN12MailboxQueue7dequeueEv
+                0x0000000000000000       0x29 mmfs26.tmp
+                0x0000000000000000                MailboxQueue::dequeue()
+
+.gnu.linkonce.t._ZNK12MailboxQueue10getNQueuedEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12MailboxQueue10getNQueuedEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                MailboxQueue::getNQueued() const
+
+.gnu.linkonce.t._ZN15KernelOperation12getOpContextEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN15KernelOperation12getOpContextEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                KernelOperation::getOpContext()
+
+.gnu.linkonce.t._ZN12MailboxState22dmChangeEventTypeInUseE14MailboxMsgTypei
+                0x0000000000000000       0x3e
+ .gnu.linkonce.t._ZN12MailboxState22dmChangeEventTypeInUseE14MailboxMsgTypei
+                0x0000000000000000       0x3e mmfs26.tmp
+                0x0000000000000000                MailboxState::dmChangeEventTypeInUse(MailboxMsgType, int)
+
+.gnu.linkonce.t._ZN12MailboxState25dmCountReservedEventBoxesE14MailboxMsgType
+                0x0000000000000000       0x9a
+ .gnu.linkonce.t._ZN12MailboxState25dmCountReservedEventBoxesE14MailboxMsgType
+                0x0000000000000000       0x9a mmfs26.tmp
+                0x0000000000000000                MailboxState::dmCountReservedEventBoxes(MailboxMsgType)
+
+.fixup          0x0000000000000000       0xbe
+ .fixup         0x0000000000000000       0xbe mmfs26.tmp
+
+.gnu.linkonce.t._ZNK12BigEndUInt16cvtEv
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZNK12BigEndUInt16cvtEv
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                BigEndUInt16::operator unsigned short() const
+
+.gnu.linkonce.t._ZNK12BigEndUInt32cvjEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK12BigEndUInt32cvjEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                BigEndUInt32::operator unsigned int() const
+
+.gnu.linkonce.t._ZN9HiResTimeC1Ev
+                0x0000000000000000        0x1
+ .gnu.linkonce.t._ZN9HiResTimeC1Ev
+                0x0000000000000000        0x1 mmfs26.tmp
+                0x0000000000000000                HiResTime::HiResTime()
+
+.gnu.linkonce.t._ZNK9HiResTime10getSecondsEv
+                0x0000000000000000        0x3
+ .gnu.linkonce.t._ZNK9HiResTime10getSecondsEv
+                0x0000000000000000        0x3 mmfs26.tmp
+                0x0000000000000000                HiResTime::getSeconds() const
+
+.gnu.linkonce.t._ZN9HiResTime3nowEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN9HiResTime3nowEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                HiResTime::now()
+
+.gnu.linkonce.t._ZNK7DiskUID8getWord0Ev
+                0x0000000000000000        0x3
+ .gnu.linkonce.t._ZNK7DiskUID8getWord0Ev
+                0x0000000000000000        0x3 mmfs26.tmp
+                0x0000000000000000                DiskUID::getWord0() const
+
+.gnu.linkonce.t._ZNK7DiskUID8getWord1Ev
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK7DiskUID8getWord1Ev
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                DiskUID::getWord1() const
+
+.gnu.linkonce.t._ZNK6GenNumcvjEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK6GenNumcvjEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                GenNum::operator unsigned int() const
+
+.gnu.linkonce.t._ZNK6GenNumeqERKS_
+                0x0000000000000000       0x2d
+ .gnu.linkonce.t._ZNK6GenNumeqERKS_
+                0x0000000000000000       0x2d mmfs26.tmp
+                0x0000000000000000                GenNum::operator==(GenNum const&) const
+
+.gnu.linkonce.t._ZNK6GenNumneERKS_
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZNK6GenNumneERKS_
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                GenNum::operator!=(GenNum const&) const
+
+.gnu.linkonce.t._ZNK6GenNum9isUnknownEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK6GenNum9isUnknownEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                GenNum::isUnknown() const
+
+.gnu.linkonce.t._ZNK7FileUIDeqERKS_
+                0x0000000000000000       0x5e
+ .gnu.linkonce.t._ZNK7FileUIDeqERKS_
+                0x0000000000000000       0x5e mmfs26.tmp
+                0x0000000000000000                FileUID::operator==(FileUID const&) const
+
+.gnu.linkonce.t._ZN6ObjKeyC1Ev
+                0x0000000000000000        0x1
+ .gnu.linkonce.t._ZN6ObjKeyC1Ev
+                0x0000000000000000        0x1 mmfs26.tmp
+                0x0000000000000000                ObjKey::ObjKey()
+
+.gnu.linkonce.t._ZN7DLink_t4initEv
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZN7DLink_t4initEv
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                DLink_t::init()
+
+.gnu.linkonce.t._ZN9ByteRangeC1Eyy
+                0x0000000000000000       0x14
+ .gnu.linkonce.t._ZN9ByteRangeC1Eyy
+                0x0000000000000000       0x14 mmfs26.tmp
+                0x0000000000000000                ByteRange::ByteRange(unsigned long long, unsigned long long)
+
+.gnu.linkonce.t._ZN9ByteRangeC1ERK13ByteRangeData
+                0x0000000000000000       0x19
+ .gnu.linkonce.t._ZN9ByteRangeC1ERK13ByteRangeData
+                0x0000000000000000       0x19 mmfs26.tmp
+                0x0000000000000000                ByteRange::ByteRange(ByteRangeData const&)
+
+.gnu.linkonce.t._ZNK3BRL24getNXLocksOrRelinquishesEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK3BRL24getNXLocksOrRelinquishesEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                BRL::getNXLocksOrRelinquishes() const
+
+.gnu.linkonce.t._ZNK12BaseCacheObj9isCompactEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12BaseCacheObj9isCompactEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                BaseCacheObj::isCompact() const
+
+.gnu.linkonce.t._ZN8CacheObj20acquireCacheObjMutexEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN8CacheObj20acquireCacheObjMutexEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                CacheObj::acquireCacheObjMutex()
+
+.gnu.linkonce.t._ZN8CacheObj23tryAcquireCacheObjMutexEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN8CacheObj23tryAcquireCacheObjMutexEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                CacheObj::tryAcquireCacheObjMutex()
+
+.gnu.linkonce.t._ZN8CacheObj20releaseCacheObjMutexEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN8CacheObj20releaseCacheObjMutexEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                CacheObj::releaseCacheObjMutex()
+
+.gnu.linkonce.t._ZN8CacheObj12cacheObjHoldEv
+                0x0000000000000000       0x41
+ .gnu.linkonce.t._ZN8CacheObj12cacheObjHoldEv
+                0x0000000000000000       0x41 mmfs26.tmp
+                0x0000000000000000                CacheObj::cacheObjHold()
+
+.gnu.linkonce.t._ZN8CacheObj12cacheObjReleEv
+                0x0000000000000000       0x19
+ .gnu.linkonce.t._ZN8CacheObj12cacheObjReleEv
+                0x0000000000000000       0x19 mmfs26.tmp
+                0x0000000000000000                CacheObj::cacheObjRele()
+
+.gnu.linkonce.t._ZNK5LkObj14get_token_modeEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK5LkObj14get_token_modeEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                LkObj::get_token_mode() const
+
+.gnu.linkonce.t._ZNK5LkObj18get_new_token_modeEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK5LkObj18get_new_token_modeEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                LkObj::get_new_token_mode() const
+
+.gnu.linkonce.t._ZNK5LkObj14get_lock_stateEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK5LkObj14get_lock_stateEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                LkObj::get_lock_state() const
+
+.gnu.linkonce.t._ZNK11StripeGroup8getDevIdEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup8getDevIdEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getDevId() const
+
+.gnu.linkonce.t._ZN11StripeGroup6getFsPEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup6getFsPEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getFsP()
+
+.gnu.linkonce.t._ZN11StripeGroup15differentEndianEv
+                0x0000000000000000       0x10
+ .gnu.linkonce.t._ZN11StripeGroup15differentEndianEv
+                0x0000000000000000       0x10 mmfs26.tmp
+                0x0000000000000000                StripeGroup::differentEndian()
+
+.gnu.linkonce.t._ZNK11StripeGroup6getUIDEv
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZNK11StripeGroup6getUIDEv
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                StripeGroup::getUID() const
+
+.gnu.linkonce.t._ZNK11StripeGroup10getLocalIdEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK11StripeGroup10getLocalIdEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getLocalId() const
+
+.gnu.linkonce.t._ZNK11StripeGroup14isRootSquashOnEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup14isRootSquashOnEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isRootSquashOn() const
+
+.gnu.linkonce.t._ZNK11StripeGroup16getRootSquashUidEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup16getRootSquashUidEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getRootSquashUid() const
+
+.gnu.linkonce.t._ZNK11StripeGroup16getRootSquashGidEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup16getRootSquashGidEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getRootSquashGid() const
+
+.gnu.linkonce.t._ZNK11StripeGroup15getSnaplinkNameEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup15getSnaplinkNameEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSnaplinkName() const
+
+.gnu.linkonce.t._ZNK11StripeGroup18getSnaplinkAllDirsEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup18getSnaplinkAllDirsEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSnaplinkAllDirs() const
+
+.gnu.linkonce.t._ZNK11StripeGroup18getSnaplinkEnabledEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup18getSnaplinkEnabledEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSnaplinkEnabled() const
+
+.gnu.linkonce.t._ZNK11StripeGroup10exactMtimeEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZNK11StripeGroup10exactMtimeEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                StripeGroup::exactMtime() const
+
+.gnu.linkonce.t._ZNK11StripeGroup10isPanickedEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup10isPanickedEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isPanicked() const
+
+.gnu.linkonce.t._ZN11StripeGroup13getAclSupportEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup13getAclSupportEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getAclSupport()
+
+.gnu.linkonce.t._ZN11StripeGroup16isAclSupportNFS4Ev
+                0x0000000000000000       0x1e
+ .gnu.linkonce.t._ZN11StripeGroup16isAclSupportNFS4Ev
+                0x0000000000000000       0x1e mmfs26.tmp
+                0x0000000000000000                StripeGroup::isAclSupportNFS4()
+
+.gnu.linkonce.t._ZN12FileMetadata20getFragmentSubblocksEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN12FileMetadata20getFragmentSubblocksEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getFragmentSubblocks()
+
+.gnu.linkonce.t._ZNK12FileMetadata24getSubblocksPerFileBlockEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK12FileMetadata24getSubblocksPerFileBlockEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getSubblocksPerFileBlock() const
+
+.gnu.linkonce.t._ZNK12FileMetadata11getFileSizeEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZNK12FileMetadata11getFileSizeEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getFileSize() const
+
+.gnu.linkonce.t._ZNK12FileMetadata7getModeEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12FileMetadata7getModeEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getMode() const
+
+.gnu.linkonce.t._ZN12FileMetadata7getRdevEv
+                0x0000000000000000       0x2c
+ .gnu.linkonce.t._ZN12FileMetadata7getRdevEv
+                0x0000000000000000       0x2c mmfs26.tmp
+                0x0000000000000000                FileMetadata::getRdev()
+
+.gnu.linkonce.t._ZN12FileMetadata8getMtimeEv
+                0x0000000000000000       0x29
+ .gnu.linkonce.t._ZN12FileMetadata8getMtimeEv
+                0x0000000000000000       0x29 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getMtime()
+
+.gnu.linkonce.t._ZN12FileMetadata18getMtimeUpdateSecsEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN12FileMetadata18getMtimeUpdateSecsEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getMtimeUpdateSecs()
+
+.gnu.linkonce.t._ZN12FileMetadata14getMtimeUpdateEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN12FileMetadata14getMtimeUpdateEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getMtimeUpdate()
+
+.gnu.linkonce.t._ZN12FileMetadata14setMtimeUpdateEi
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN12FileMetadata14setMtimeUpdateEi
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::setMtimeUpdate(int)
+
+.gnu.linkonce.t._ZN12FileMetadata8getAtimeEv
+                0x0000000000000000       0x29
+ .gnu.linkonce.t._ZN12FileMetadata8getAtimeEv
+                0x0000000000000000       0x29 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getAtime()
+
+.gnu.linkonce.t._ZNK12FileMetadata13getGenerationEv
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZNK12FileMetadata13getGenerationEv
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getGeneration() const
+
+.gnu.linkonce.t._ZN12FileMetadata19ipsGetPrefetchIndexEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN12FileMetadata19ipsGetPrefetchIndexEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::ipsGetPrefetchIndex()
+
+.gnu.linkonce.t._ZNK12FileMetadata8getNlinkEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK12FileMetadata8getNlinkEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getNlink() const
+
+.gnu.linkonce.t._ZNK12FileMetadata16getLastDataBlockEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK12FileMetadata16getLastDataBlockEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                FileMetadata::getLastDataBlock() const
+
+.gnu.linkonce.t._ZNK12FileMetadata14getInodeStatusEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZNK12FileMetadata14getInodeStatusEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getInodeStatus() const
+
+.gnu.linkonce.t._ZNK12FileMetadata15getMaxHashLevelEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZNK12FileMetadata15getMaxHashLevelEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getMaxHashLevel() const
+
+.gnu.linkonce.t._ZN12FileMetadata21getLastBlockSubblocksEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN12FileMetadata21getLastBlockSubblocksEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getLastBlockSubblocks()
+
+.gnu.linkonce.t._ZNK12FileMetadata11getOwnerUidEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12FileMetadata11getOwnerUidEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getOwnerUid() const
+
+.gnu.linkonce.t._ZNK12FileMetadata11getOwnerGidEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12FileMetadata11getOwnerGidEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getOwnerGid() const
+
+.gnu.linkonce.t._ZN8OpenFile12isInodeValidEv
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZN8OpenFile12isInodeValidEv
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                OpenFile::isInodeValid()
+
+.gnu.linkonce.t._ZNK8OpenFile11getInodeNumEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK8OpenFile11getInodeNumEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                OpenFile::getInodeNum() const
+
+.gnu.linkonce.t._ZNK8OpenFile9getSnapIdEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK8OpenFile9getSnapIdEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                OpenFile::getSnapId() const
+
+.gnu.linkonce.t._ZNK8OpenFile9getFileIdE6GenNum
+                0x0000000000000000       0x5e
+ .gnu.linkonce.t._ZNK8OpenFile9getFileIdE6GenNum
+                0x0000000000000000       0x5e mmfs26.tmp
+                0x0000000000000000                OpenFile::getFileId(GenNum) const
+
+.gnu.linkonce.t._ZNK8OpenFile24getDataBytesPerFileBlockEv
+                0x0000000000000000       0x62
+ .gnu.linkonce.t._ZNK8OpenFile24getDataBytesPerFileBlockEv
+                0x0000000000000000       0x62 mmfs26.tmp
+                0x0000000000000000                OpenFile::getDataBytesPerFileBlock() const
+
+.gnu.linkonce.t._ZNK8OpenFile13getDirLayoutPEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK8OpenFile13getDirLayoutPEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                OpenFile::getDirLayoutP() const
+
+.gnu.linkonce.t._ZNK8OpenFile14getExtendedAclEv
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK8OpenFile14getExtendedAclEv
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                OpenFile::getExtendedAcl() const
+
+.gnu.linkonce.t._ZNK8OpenFile12getFilesetIdEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK8OpenFile12getFilesetIdEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                OpenFile::getFilesetId() const
+
+.gnu.linkonce.t._ZN8OpenFile12setFilesetIdEj
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN8OpenFile12setFilesetIdEj
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                OpenFile::setFilesetId(unsigned int)
+
+.gnu.linkonce.t._ZNK8OpenFile13isFilesetRootEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK8OpenFile13isFilesetRootEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                OpenFile::isFilesetRoot() const
+
+.gnu.linkonce.t._ZN8OpenFile15setVFSReferenceEj
+                0x0000000000000000       0x6d
+ .gnu.linkonce.t._ZN8OpenFile15setVFSReferenceEj
+                0x0000000000000000       0x6d mmfs26.tmp
+                0x0000000000000000                OpenFile::setVFSReference(unsigned int)
+
+.gnu.linkonce.t._ZNK15CompactOpenFile13getGenerationEv
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZNK15CompactOpenFile13getGenerationEv
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::getGeneration() const
+
+.gnu.linkonce.t._ZNK15CompactOpenFile14getInodeStatusEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK15CompactOpenFile14getInodeStatusEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::getInodeStatus() const
+
+.gnu.linkonce.t._ZNK15CompactOpenFile7getModeEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK15CompactOpenFile7getModeEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::getMode() const
+
+.gnu.linkonce.t._ZNK15CompactOpenFile11getOwnerUidEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK15CompactOpenFile11getOwnerUidEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::getOwnerUid() const
+
+.gnu.linkonce.t._ZNK15CompactOpenFile11getOwnerGidEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK15CompactOpenFile11getOwnerGidEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::getOwnerGid() const
+
+.gnu.linkonce.t._ZNK15CompactOpenFile14getExtendedAclEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK15CompactOpenFile14getExtendedAclEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::getExtendedAcl() const
+
+.gnu.linkonce.t._ZNK15CompactOpenFile11getInodeNumEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK15CompactOpenFile11getInodeNumEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::getInodeNum() const
+
+.gnu.linkonce.t._ZN13LookupDetails5resetEv
+                0x0000000000000000       0x4b
+ .gnu.linkonce.t._ZN13LookupDetails5resetEv
+                0x0000000000000000       0x4b mmfs26.tmp
+                0x0000000000000000                LookupDetails::reset()
+
+.gnu.linkonce.t._ZN10BufferDesc10unlock_vfsEN5LkObj12LockModeEnumE
+                0x0000000000000000       0x10
+ .gnu.linkonce.t._ZN10BufferDesc10unlock_vfsEN5LkObj12LockModeEnumE
+                0x0000000000000000       0x10 mmfs26.tmp
+                0x0000000000000000                BufferDesc::unlock_vfs(LkObj::LockModeEnum)
+
+.gnu.linkonce.t._ZNK11LocalFileId8getWord0Ev
+                0x0000000000000000        0x3
+ .gnu.linkonce.t._ZNK11LocalFileId8getWord0Ev
+                0x0000000000000000        0x3 mmfs26.tmp
+                0x0000000000000000                LocalFileId::getWord0() const
+
+.gnu.linkonce.t._ZNK11LocalFileId8getWord1Ev
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK11LocalFileId8getWord1Ev
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                LocalFileId::getWord1() const
+
+.gnu.linkonce.t._ZN11LocalFileId3setEi7FileUID
+                0x0000000000000000       0x2f
+ .gnu.linkonce.t._ZN11LocalFileId3setEi7FileUID
+                0x0000000000000000       0x2f mmfs26.tmp
+                0x0000000000000000                LocalFileId::set(int, FileUID)
+
+.gnu.linkonce.t._ZN10WhatLockedC1Ev
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN10WhatLockedC1Ev
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                WhatLocked::WhatLocked()
+
+.gnu.linkonce.t._ZN10WhatLocked5resetEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN10WhatLocked5resetEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                WhatLocked::reset()
+
+.gnu.linkonce.t._ZNK10gpfsNode_t13isSnaplinkDirEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK10gpfsNode_t13isSnaplinkDirEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::isSnaplinkDir() const
+
+.gnu.linkonce.t._ZN10gpfsNode_t5hFuncEii
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZN10gpfsNode_t5hFuncEii
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::hFunc(int, int)
+
+.gnu.linkonce.t._ZN10gpfsNode_t5hLockEi
+                0x0000000000000000       0x34
+ .gnu.linkonce.t._ZN10gpfsNode_t5hLockEi
+                0x0000000000000000       0x34 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::hLock(int)
+
+.gnu.linkonce.t._ZN10gpfsNode_t7hUnlockEi
+                0x0000000000000000       0x34
+ .gnu.linkonce.t._ZN10gpfsNode_t7hUnlockEi
+                0x0000000000000000       0x34 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::hUnlock(int)
+
+.gnu.linkonce.t._ZN10gpfsNode_t5hWaitEi
+                0x0000000000000000       0x56
+ .gnu.linkonce.t._ZN10gpfsNode_t5hWaitEi
+                0x0000000000000000       0x56 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::hWait(int)
+
+.gnu.linkonce.t._ZN10gpfsNode_t7hWakeupEi
+                0x0000000000000000       0x34
+ .gnu.linkonce.t._ZN10gpfsNode_t7hWakeupEi
+                0x0000000000000000       0x34 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::hWakeup(int)
+
+.gnu.linkonce.t._ZN10gpfsNode_t5gLockEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN10gpfsNode_t5gLockEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::gLock()
+
+.gnu.linkonce.t._ZN10gpfsNode_t7gUnlockEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN10gpfsNode_t7gUnlockEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::gUnlock()
+
+.gnu.linkonce.t._ZN10gpfsNode_t5hHeadEi
+                0x0000000000000000       0x34
+ .gnu.linkonce.t._ZN10gpfsNode_t5hHeadEi
+                0x0000000000000000       0x34 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::hHead(int)
+
+.gnu.linkonce.t._ZN10gpfsNode_t5hNextEi
+                0x0000000000000000       0x47
+ .gnu.linkonce.t._ZN10gpfsNode_t5hNextEi
+                0x0000000000000000       0x47 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::hNext(int)
+
+.gnu.linkonce.t._ZN10gpfsNode_t7hInsertEi
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZN10gpfsNode_t7hInsertEi
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::hInsert(int)
+
+.gnu.linkonce.t._ZN10gpfsNode_t7hRemoveEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN10gpfsNode_t7hRemoveEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                gpfsNode_t::hRemove()
+
+.gnu.linkonce.t._Z7IaccessP15KernelOperationP13gpfsVfsData_tP8OpenFilejjP10ext_cred_t
+                0x0000000000000000      0x10a
+ .gnu.linkonce.t._Z7IaccessP15KernelOperationP13gpfsVfsData_tP8OpenFilejjP10ext_cred_t
+                0x0000000000000000      0x10a mmfs26.tmp
+                0x0000000000000000                Iaccess(KernelOperation*, gpfsVfsData_t*, OpenFile*, unsigned int, unsigned int, ext_cred_t*)
+
+.gnu.linkonce.t._Z19cxiImportSuppGroupsP10ext_cred_tPjj
+                0x0000000000000000       0x2f
+ .gnu.linkonce.t._Z19cxiImportSuppGroupsP10ext_cred_tPjj
+                0x0000000000000000       0x2f mmfs26.tmp
+                0x0000000000000000                cxiImportSuppGroups(ext_cred_t*, unsigned int*, unsigned int)
+
+.gnu.linkonce.t._ZN15KernelOperation10kBeginVnopEP13gpfsVfsData_t
+                0x0000000000000000       0x55
+ .gnu.linkonce.t._ZN15KernelOperation10kBeginVnopEP13gpfsVfsData_t
+                0x0000000000000000       0x55 mmfs26.tmp
+                0x0000000000000000                KernelOperation::kBeginVnop(gpfsVfsData_t*)
+
+.gnu.linkonce.t._ZN6Direct14dtermDiscontigEP13cxiIOBuffer_t
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZN6Direct14dtermDiscontigEP13cxiIOBuffer_t
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                Direct::dtermDiscontig(cxiIOBuffer_t*)
+
+.gnu.linkonce.t._ZN6Direct16getHashTreeLevelEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN6Direct16getHashTreeLevelEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Direct::getHashTreeLevel()
+
+.gnu.linkonce.t._ZN14AclLocalEndianC1Ev
+                0x0000000000000000       0x15
+ .gnu.linkonce.t._ZN14AclLocalEndianC1Ev
+                0x0000000000000000       0x15 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::AclLocalEndian()
+
+.gnu.linkonce.t._ZN14AclLocalEndianD1Ev
+                0x0000000000000000       0x15
+ .gnu.linkonce.t._ZN14AclLocalEndianD1Ev
+                0x0000000000000000       0x15 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::~AclLocalEndian()
+
+.gnu.linkonce.t._ZN14AclLocalEndian10initializeEP3ACLij
+                0x0000000000000000       0x14
+ .gnu.linkonce.t._ZN14AclLocalEndian10initializeEP3ACLij
+                0x0000000000000000       0x14 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::initialize(ACL*, int, unsigned int)
+
+.gnu.linkonce.t._ZN14AclLocalEndian7isValidEv
+                0x0000000000000000       0x20
+ .gnu.linkonce.t._ZN14AclLocalEndian7isValidEv
+                0x0000000000000000       0x20 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::isValid()
+
+.gnu.linkonce.t._ZN14AclLocalEndian10aclVersionEv
+                0x0000000000000000       0x20
+ .gnu.linkonce.t._ZN14AclLocalEndian10aclVersionEv
+                0x0000000000000000       0x20 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclVersion()
+
+.gnu.linkonce.t._ZN14AclLocalEndian7aclMaskEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN14AclLocalEndian7aclMaskEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclMask()
+
+.gnu.linkonce.t._ZN14AclLocalEndian11aclGroupObjEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN14AclLocalEndian11aclGroupObjEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclGroupObj()
+
+.gnu.linkonce.t._ZN14AclLocalEndian13aclUserAceCntEv
+                0x0000000000000000       0x1c
+ .gnu.linkonce.t._ZN14AclLocalEndian13aclUserAceCntEv
+                0x0000000000000000       0x1c mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclUserAceCnt()
+
+.gnu.linkonce.t._ZN14AclLocalEndian14aclGroupAceCntEv
+                0x0000000000000000       0x1c
+ .gnu.linkonce.t._ZN14AclLocalEndian14aclGroupAceCntEv
+                0x0000000000000000       0x1c mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclGroupAceCnt()
+
+.gnu.linkonce.t._ZN14AclLocalEndian8aclFlagsEv
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZN14AclLocalEndian8aclFlagsEv
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclFlags()
+
+.gnu.linkonce.t._ZN14AclLocalEndian10v2aclFlagsEv
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZN14AclLocalEndian10v2aclFlagsEv
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::v2aclFlags()
+
+.gnu.linkonce.t._ZN14AclLocalEndian17v2defaultRealmGetEP8ext_id_t
+                0x0000000000000000       0x43
+ .gnu.linkonce.t._ZN14AclLocalEndian17v2defaultRealmGetEP8ext_id_t
+                0x0000000000000000       0x43 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::v2defaultRealmGet(ext_id_t*)
+
+.gnu.linkonce.t._ZN14AclLocalEndian13aclEntryBeginEv
+                0x0000000000000000       0x38
+ .gnu.linkonce.t._ZN14AclLocalEndian13aclEntryBeginEv
+                0x0000000000000000       0x38 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclEntryBegin()
+
+.gnu.linkonce.t._ZN14AclLocalEndian12aclEntryNextEv
+                0x0000000000000000       0x10
+ .gnu.linkonce.t._ZN14AclLocalEndian12aclEntryNextEv
+                0x0000000000000000       0x10 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclEntryNext()
+
+.gnu.linkonce.t._ZN14AclLocalEndian14acePermissionsEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN14AclLocalEndian14acePermissionsEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::acePermissions()
+
+.gnu.linkonce.t._ZN14AclLocalEndian10aceTagTypeEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN14AclLocalEndian10aceTagTypeEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aceTagType()
+
+.gnu.linkonce.t._ZN14AclLocalEndian12aceQualifierEv
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZN14AclLocalEndian12aceQualifierEv
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aceQualifier()
+
+.gnu.linkonce.t._ZN14AclLocalEndian11aceRealmGetEP8ext_id_t
+                0x0000000000000000       0x43
+ .gnu.linkonce.t._ZN14AclLocalEndian11aceRealmGetEP8ext_id_t
+                0x0000000000000000       0x43 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aceRealmGet(ext_id_t*)
+
+.gnu.linkonce.t._ZN9AclAccessC1Ev
+                0x0000000000000000       0x28
+ .gnu.linkonce.t._ZN9AclAccessC1Ev
+                0x0000000000000000       0x28 mmfs26.tmp
+                0x0000000000000000                AclAccess::AclAccess()
+
+.text.far       0x0000000000000000      0xd6a
+ .text.far      0x0000000000000000      0xd6a mmfs26.tmp
+
+.gnu.linkonce.t._ZNK20ClusterConfiguration12getUidDomainEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK20ClusterConfiguration12getUidDomainEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                ClusterConfiguration::getUidDomain() const
+
+.gnu.linkonce.t._Z18isForeignUidDomainP20ClusterConfiguration
+                0x0000000000000000       0x5e
+ .gnu.linkonce.t._Z18isForeignUidDomainP20ClusterConfiguration
+                0x0000000000000000       0x5e mmfs26.tmp
+                0x0000000000000000                isForeignUidDomain(ClusterConfiguration*)
+
+.gnu.linkonce.t._ZN7FileUIDC1Ei6GenNumij
+                0x0000000000000000       0x3e
+ .gnu.linkonce.t._ZN7FileUIDC1Ei6GenNumij
+                0x0000000000000000       0x3e mmfs26.tmp
+                0x0000000000000000                FileUID::FileUID(int, GenNum, int, unsigned int)
+
+.gnu.linkonce.t._ZN7DLink_t11enqueueHeadEPS_
+                0x0000000000000000       0x14
+ .gnu.linkonce.t._ZN7DLink_t11enqueueHeadEPS_
+                0x0000000000000000       0x14 mmfs26.tmp
+                0x0000000000000000                DLink_t::enqueueHead(DLink_t*)
+
+.gnu.linkonce.t._ZN7DLink_t7dequeueEv
+                0x0000000000000000       0x1a
+ .gnu.linkonce.t._ZN7DLink_t7dequeueEv
+                0x0000000000000000       0x1a mmfs26.tmp
+                0x0000000000000000                DLink_t::dequeue()
+
+.gnu.linkonce.t._ZN7DLink_t7isEmptyEv
+                0x0000000000000000        0x9
+ .gnu.linkonce.t._ZN7DLink_t7isEmptyEv
+                0x0000000000000000        0x9 mmfs26.tmp
+                0x0000000000000000                DLink_t::isEmpty()
+
+.gnu.linkonce.t._ZN7DLink_t4nextEv
+                0x0000000000000000        0x3
+ .gnu.linkonce.t._ZN7DLink_t4nextEv
+                0x0000000000000000        0x3 mmfs26.tmp
+                0x0000000000000000                DLink_t::next()
+
+.gnu.linkonce.t._ZN7DLink_t4headEv
+                0x0000000000000000        0x3
+ .gnu.linkonce.t._ZN7DLink_t4headEv
+                0x0000000000000000        0x3 mmfs26.tmp
+                0x0000000000000000                DLink_t::head()
+
+.gnu.linkonce.t._ZNK14DirBlockHeader19getHdrHashTreeLevelEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK14DirBlockHeader19getHdrHashTreeLevelEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                DirBlockHeader::getHdrHashTreeLevel() const
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics16inc_statCacheHitEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics16inc_statCacheHitEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_statCacheHit()
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics17inc_statCacheMissEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics17inc_statCacheMissEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_statCacheMiss()
+
+.gnu.linkonce.t._ZNK9AtomInt64cvxEv
+                0x0000000000000000       0x49
+ .gnu.linkonce.t._ZNK9AtomInt64cvxEv
+                0x0000000000000000       0x49 mmfs26.tmp
+                0x0000000000000000                AtomInt64::operator long long() const
+
+.gnu.linkonce.t._ZN11StripeGroup23inc_mmpmon_statCacheHitEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup23inc_mmpmon_statCacheHitEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_statCacheHit()
+
+.gnu.linkonce.t._ZN11StripeGroup24inc_mmpmon_statCacheMissEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup24inc_mmpmon_statCacheMissEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_statCacheMiss()
+
+.gnu.linkonce.t._ZNK18AtomInodeTimeValuecv9HiResTimeEv
+                0x0000000000000000       0x5e
+ .gnu.linkonce.t._ZNK18AtomInodeTimeValuecv9HiResTimeEv
+                0x0000000000000000       0x5e mmfs26.tmp
+                0x0000000000000000                AtomInodeTimeValue::operator HiResTime() const
+
+.gnu.linkonce.t._ZNK12FileMetadata24getDataBytesPerFileBlockEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK12FileMetadata24getDataBytesPerFileBlockEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getDataBytesPerFileBlock() const
+
+.gnu.linkonce.t._ZNK12FileMetadata13getDirLayoutPEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK12FileMetadata13getDirLayoutPEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getDirLayoutP() const
+
+.gnu.linkonce.t._ZNK12FileMetadata12getFilesetIdEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK12FileMetadata12getFilesetIdEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getFilesetId() const
+
+.gnu.linkonce.t._ZN12FileMetadata12setFilesetIdEj
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN12FileMetadata12setFilesetIdEj
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::setFilesetId(unsigned int)
+
+.gnu.linkonce.t._ZNK12FileMetadata14getExtendedAclEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12FileMetadata14getExtendedAclEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getExtendedAcl() const
+
+.gnu.linkonce.t._ZN13LookupDetailsC1Ev
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN13LookupDetailsC1Ev
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                LookupDetails::LookupDetails()
+
+.gnu.linkonce.t._ZN11OpenFileReqC1Ev
+                0x0000000000000000       0x13
+ .gnu.linkonce.t._ZN11OpenFileReqC1Ev
+                0x0000000000000000       0x13 mmfs26.tmp
+                0x0000000000000000                OpenFileReq::OpenFileReq()
+
+.gnu.linkonce.t._ZN11LocalFileIdC1Ev
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZN11LocalFileIdC1Ev
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                LocalFileId::LocalFileId()
+
+.gnu.linkonce.t._ZN8DirblockC1Ev
+                0x0000000000000000       0x11
+ .gnu.linkonce.t._ZN8DirblockC1Ev
+                0x0000000000000000       0x11 mmfs26.tmp
+                0x0000000000000000                Dirblock::Dirblock()
+
+.gnu.linkonce.t._ZN15KernelOperation13auxStackAllocEi
+                0x0000000000000000       0x3f
+ .gnu.linkonce.t._ZN15KernelOperation13auxStackAllocEi
+                0x0000000000000000       0x3f mmfs26.tmp
+                0x0000000000000000                KernelOperation::auxStackAlloc(int)
+
+.gnu.linkonce.t._ZN15KernelOperation12auxStackFreeEi
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN15KernelOperation12auxStackFreeEi
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                KernelOperation::auxStackFree(int)
+
+.gnu.linkonce.t._ZN6DirectC1Ev
+                0x0000000000000000       0x3f
+ .gnu.linkonce.t._ZN6DirectC1Ev
+                0x0000000000000000       0x3f mmfs26.tmp
+                0x0000000000000000                Direct::Direct()
+
+.gnu.linkonce.t._ZN14AclLocalEndian9aclLengthEv
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZN14AclLocalEndian9aclLengthEv
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclLength()
+
+.gnu.linkonce.t._ZN14AclLocalEndian9aceLengthEv
+                0x0000000000000000       0x1f
+ .gnu.linkonce.t._ZN14AclLocalEndian9aceLengthEv
+                0x0000000000000000       0x1f mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aceLength()
+
+.gnu.linkonce.t._ZN7Atomvar6avlockEv
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZN7Atomvar6avlockEv
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                Atomvar::avlock()
+
+.gnu.linkonce.t._ZN7Atomvar8avunlockEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN7Atomvar8avunlockEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                Atomvar::avunlock()
+
+.gnu.linkonce.t._ZN13MetaFileBlockC2Ev
+                0x0000000000000000       0x2f
+ .gnu.linkonce.t._ZN13MetaFileBlockC2Ev
+                0x0000000000000000       0x2f mmfs26.tmp
+                0x0000000000000000                MetaFileBlock::MetaFileBlock()
+
+.gnu.linkonce.t._ZN11StripeGroup15decrementVfsUseEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup15decrementVfsUseEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::decrementVfsUse()
+
+.gnu.linkonce.t._ZN15KernelOperationD2Ev
+                0x0000000000000000       0x63
+ .gnu.linkonce.t._ZN15KernelOperationD2Ev
+                0x0000000000000000       0x63 mmfs26.tmp
+                0x0000000000000000                KernelOperation::~KernelOperation()
+
+.gnu.linkonce.t._ZN12BigEndUInt32aSEj
+                0x0000000000000000       0x26
+ .gnu.linkonce.t._ZN12BigEndUInt32aSEj
+                0x0000000000000000       0x26 mmfs26.tmp
+                0x0000000000000000                BigEndUInt32::operator=(unsigned int)
+
+.gnu.linkonce.t._Z9setuerrori
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._Z9setuerrori
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                setuerror(int)
+
+.gnu.linkonce.t._ZNK9HiResTime14getNanosecondsEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK9HiResTime14getNanosecondsEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                HiResTime::getNanoseconds() const
+
+.gnu.linkonce.t._ZNK8NodeAddreqERKS_
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK8NodeAddreqERKS_
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                NodeAddr::operator==(NodeAddr const&) const
+
+.gnu.linkonce.t._ZNK8NodeAddr5tointEv
+                0x0000000000000000        0x3
+ .gnu.linkonce.t._ZNK8NodeAddr5tointEv
+                0x0000000000000000        0x3 mmfs26.tmp
+                0x0000000000000000                NodeAddr::toint() const
+
+.gnu.linkonce.t._ZNK11StripeGroup10getMountidEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK11StripeGroup10getMountidEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getMountid() const
+
+.gnu.linkonce.t._ZN11StripeGroup19setVfsUseTransitionEj
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup19setVfsUseTransitionEj
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::setVfsUseTransition(unsigned int)
+
+.gnu.linkonce.t._ZN11StripeGroup18isVfsUseTransitionEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup18isVfsUseTransitionEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isVfsUseTransition()
+
+.gnu.linkonce.t._ZN11StripeGroup18incrementNewVfsUseEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup18incrementNewVfsUseEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::incrementNewVfsUse()
+
+.gnu.linkonce.t._ZN11StripeGroup13onlyNewVfsUseEv
+                0x0000000000000000       0x13
+ .gnu.linkonce.t._ZN11StripeGroup13onlyNewVfsUseEv
+                0x0000000000000000       0x13 mmfs26.tmp
+                0x0000000000000000                StripeGroup::onlyNewVfsUse()
+
+.gnu.linkonce.t._ZN11StripeGroup28acquireVfsUseTransitionMutexEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup28acquireVfsUseTransitionMutexEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::acquireVfsUseTransitionMutex()
+
+.gnu.linkonce.t._ZN11StripeGroup24waitVfsUseTransitionCondEiPKc
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup24waitVfsUseTransitionCondEiPKc
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::waitVfsUseTransitionCond(int, char const*)
+
+.gnu.linkonce.t._ZN11StripeGroup28releaseVfsUseTransitionMutexEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup28releaseVfsUseTransitionMutexEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::releaseVfsUseTransitionMutex()
+
+.gnu.linkonce.t._ZNK11StripeGroup10isQuiescedEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup10isQuiescedEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isQuiesced() const
+
+.gnu.linkonce.t._ZNK9HiResTimeleERKS_
+                0x0000000000000000       0x37
+ .gnu.linkonce.t._ZNK9HiResTimeleERKS_
+                0x0000000000000000       0x37 mmfs26.tmp
+                0x0000000000000000                HiResTime::operator<=(HiResTime const&) const
+
+.gnu.linkonce.t._Z19isStaleMountVersionP9MMFSVInfoP13gpfsVfsData_t
+                0x0000000000000000       0x11
+ .gnu.linkonce.t._Z19isStaleMountVersionP9MMFSVInfoP13gpfsVfsData_t
+                0x0000000000000000       0x11 mmfs26.tmp
+                0x0000000000000000                isStaleMountVersion(MMFSVInfo*, gpfsVfsData_t*)
+
+.gnu.linkonce.t._ZN7NFSDataC1Ev
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN7NFSDataC1Ev
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                NFSData::NFSData()
+
+.gnu.linkonce.t._ZNK11RepDiskAddr4isOKEv
+                0x0000000000000000       0x16
+ .gnu.linkonce.t._ZNK11RepDiskAddr4isOKEv
+                0x0000000000000000       0x16 mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::isOK() const
+
+.gnu.linkonce.t._ZNK10fsDiskAddr13getNSubblocksEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK10fsDiskAddr13getNSubblocksEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                fsDiskAddr::getNSubblocks() const
+
+.gnu.linkonce.t._ZN12LkTokenState7permitsEN5LkObj12LockModeEnumE
+                0x0000000000000000       0x11
+ .gnu.linkonce.t._ZN12LkTokenState7permitsEN5LkObj12LockModeEnumE
+                0x0000000000000000       0x11 mmfs26.tmp
+                0x0000000000000000                LkTokenState::permits(LkObj::LockModeEnum)
+
+.gnu.linkonce.t._ZNK6Buffer11getDataAddrEv
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZNK6Buffer11getDataAddrEv
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                Buffer::getDataAddr() const
+
+.gnu.linkonce.t._ZNK11StripeGroup7getSTCPEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK11StripeGroup7getSTCPEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSTCP() const
+
+.gnu.linkonce.t._ZNK11StripeGroup12getMaxSnapIdEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup12getMaxSnapIdEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getMaxSnapId() const
+
+.gnu.linkonce.t._ZNK12FileMetadata19getDataCopiedSnapIdEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12FileMetadata19getDataCopiedSnapIdEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getDataCopiedSnapId() const
+
+.gnu.linkonce.t._ZNK12FileMetadata20getInodeCopiedSnapIdEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK12FileMetadata20getInodeCopiedSnapIdEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getInodeCopiedSnapId() const
+
+.gnu.linkonce.t._ZNK12FileMetadata21getFileModifiedSnapIdEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12FileMetadata21getFileModifiedSnapIdEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getFileModifiedSnapId() const
+
+.gnu.linkonce.t._ZNK8OpenFile28getLog2DataBytesPerFileBlockEv
+                0x0000000000000000       0x62
+ .gnu.linkonce.t._ZNK8OpenFile28getLog2DataBytesPerFileBlockEv
+                0x0000000000000000       0x62 mmfs26.tmp
+                0x0000000000000000                OpenFile::getLog2DataBytesPerFileBlock() const
+
+.gnu.linkonce.t._ZNK8OpenFile29copyInodeToPrevSnapshotNeededEv
+                0x0000000000000000       0x34
+ .gnu.linkonce.t._ZNK8OpenFile29copyInodeToPrevSnapshotNeededEv
+                0x0000000000000000       0x34 mmfs26.tmp
+                0x0000000000000000                OpenFile::copyInodeToPrevSnapshotNeeded() const
+
+.gnu.linkonce.t._ZN10BufferDesc10lock_vfs_mEN5LkObj12LockModeEnumEi
+                0x0000000000000000       0x2a
+ .gnu.linkonce.t._ZN10BufferDesc10lock_vfs_mEN5LkObj12LockModeEnumEi
+                0x0000000000000000       0x2a mmfs26.tmp
+                0x0000000000000000                BufferDesc::lock_vfs_m(LkObj::LockModeEnum, int)
+
+.gnu.linkonce.t._ZNK9SGMgrData7getSTCPEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK9SGMgrData7getSTCPEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                SGMgrData::getSTCP() const
+
+.gnu.linkonce.t._ZNK12FileMetadata28getLog2DataBytesPerFileBlockEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZNK12FileMetadata28getLog2DataBytesPerFileBlockEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getLog2DataBytesPerFileBlock() const
+
+.gnu.linkonce.t._ZN13PrefetchState22incrementAccessCursorMEv
+                0x0000000000000000        0x9
+ .gnu.linkonce.t._ZN13PrefetchState22incrementAccessCursorMEv
+                0x0000000000000000        0x9 mmfs26.tmp
+                0x0000000000000000                PrefetchState::incrementAccessCursorM()
+
+.gnu.linkonce.t._ZNK13PrefetchState16getAccessPatternEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK13PrefetchState16getAccessPatternEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                PrefetchState::getAccessPattern() const
+
+.gnu.linkonce.t._ZNK13PrefetchState14getWindowBeginEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK13PrefetchState14getWindowBeginEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                PrefetchState::getWindowBegin() const
+
+.gnu.linkonce.t._ZNK13PrefetchState17getOldWindowBeginEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK13PrefetchState17getOldWindowBeginEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                PrefetchState::getOldWindowBegin() const
+
+.gnu.linkonce.t._ZNK12OpenInstance9getActiveEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK12OpenInstance9getActiveEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                OpenInstance::getActive() const
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics9inc_readsEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics9inc_readsEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_reads()
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics10inc_writesEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics10inc_writesEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_writes()
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics10inc_cachesEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics10inc_cachesEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_caches()
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics13add_bytesReadEy
+                0x0000000000000000       0x23
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics13add_bytesReadEy
+                0x0000000000000000       0x23 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::add_bytesRead(unsigned long long)
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics16add_bytesWrittenEy
+                0x0000000000000000       0x25
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics16add_bytesWrittenEy
+                0x0000000000000000       0x25 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::add_bytesWritten(unsigned long long)
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics14add_bytesCacheEy
+                0x0000000000000000       0x25
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics14add_bytesCacheEy
+                0x0000000000000000       0x25 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::add_bytesCache(unsigned long long)
+
+.gnu.linkonce.t._ZN18Int32MBPerfMonItemppEi
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZN18Int32MBPerfMonItemppEi
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                Int32MBPerfMonItem::operator++(int)
+
+.gnu.linkonce.t._ZN11StripeGroup11isQuotaFileEii
+                0x0000000000000000       0x15
+ .gnu.linkonce.t._ZN11StripeGroup11isQuotaFileEii
+                0x0000000000000000       0x15 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isQuotaFile(int, int)
+
+.gnu.linkonce.t._ZN11StripeGroup18isMetadataInodenumEii
+                0x0000000000000000       0xab
+ .gnu.linkonce.t._ZN11StripeGroup18isMetadataInodenumEii
+                0x0000000000000000       0xab mmfs26.tmp
+                0x0000000000000000                StripeGroup::isMetadataInodenum(int, int)
+
+.gnu.linkonce.t._ZN11StripeGroup12getPmonReadsEv
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZN11StripeGroup12getPmonReadsEv
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getPmonReads()
+
+.gnu.linkonce.t._ZN11StripeGroup13getPmonWritesEv
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZN11StripeGroup13getPmonWritesEv
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getPmonWrites()
+
+.gnu.linkonce.t._ZN11StripeGroup16inc_mmpmon_readsEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup16inc_mmpmon_readsEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_reads()
+
+.gnu.linkonce.t._ZN11StripeGroup17inc_mmpmon_writesEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup17inc_mmpmon_writesEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_writes()
+
+.gnu.linkonce.t._ZN11StripeGroup17inc_mmpmon_cachesEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup17inc_mmpmon_cachesEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_caches()
+
+.gnu.linkonce.t._ZN11StripeGroup20add_mmpmon_bytesReadEy
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup20add_mmpmon_bytesReadEy
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::add_mmpmon_bytesRead(unsigned long long)
+
+.gnu.linkonce.t._ZN11StripeGroup23add_mmpmon_bytesWrittenEy
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup23add_mmpmon_bytesWrittenEy
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::add_mmpmon_bytesWritten(unsigned long long)
+
+.gnu.linkonce.t._ZN11StripeGroup21add_mmpmon_bytesCacheEy
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup21add_mmpmon_bytesCacheEy
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::add_mmpmon_bytesCache(unsigned long long)
+
+.gnu.linkonce.t._ZN11StripeGroup17pmonBytesCacheAddEi
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN11StripeGroup17pmonBytesCacheAddEi
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                StripeGroup::pmonBytesCacheAdd(int)
+
+.gnu.linkonce.t._ZN11StripeGroup16pmonBytesReadAddEi
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN11StripeGroup16pmonBytesReadAddEi
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                StripeGroup::pmonBytesReadAdd(int)
+
+.gnu.linkonce.t._ZN11StripeGroup19pmonBytesWrittenAddEi
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN11StripeGroup19pmonBytesWrittenAddEi
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                StripeGroup::pmonBytesWrittenAdd(int)
+
+.gnu.linkonce.t._ZN8OpenFile8setTimesEiPK9HiResTimeP15KernelOperation
+                0x0000000000000000       0x8d
+ .gnu.linkonce.t._ZN8OpenFile8setTimesEiPK9HiResTimeP15KernelOperation
+                0x0000000000000000       0x8d mmfs26.tmp
+                0x0000000000000000                OpenFile::setTimes(int, HiResTime const*, KernelOperation*)
+
+.gnu.linkonce.t._ZNK8OpenFile15getSubblockSizeEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZNK8OpenFile15getSubblockSizeEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                OpenFile::getSubblockSize() const
+
+.gnu.linkonce.t._ZNK8OpenFile11getFileSizeEv
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK8OpenFile11getFileSizeEv
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                OpenFile::getFileSize() const
+
+.gnu.linkonce.t._ZN8OpenFile19setFileSizeIfBiggerERKxS1_j
+                0x0000000000000000       0x8f
+ .gnu.linkonce.t._ZN8OpenFile19setFileSizeIfBiggerERKxS1_j
+                0x0000000000000000       0x8f mmfs26.tmp
+                0x0000000000000000                OpenFile::setFileSizeIfBigger(long long const&, long long const&, unsigned int)
+
+.gnu.linkonce.t._ZN10BufferDesc19setDataCopiedSnapIdEv
+                0x0000000000000000       0x19
+ .gnu.linkonce.t._ZN10BufferDesc19setDataCopiedSnapIdEv
+                0x0000000000000000       0x19 mmfs26.tmp
+                0x0000000000000000                BufferDesc::setDataCopiedSnapId()
+
+.gnu.linkonce.t._ZN10BufferDesc11setBufDirtyEv
+                0x0000000000000000       0x38
+ .gnu.linkonce.t._ZN10BufferDesc11setBufDirtyEv
+                0x0000000000000000       0x38 mmfs26.tmp
+                0x0000000000000000                BufferDesc::setBufDirty()
+
+.gnu.linkonce.t._ZN10BufferDesc7isValidEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZN10BufferDesc7isValidEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                BufferDesc::isValid()
+
+.gnu.linkonce.t._ZN9ByteRangeC1Ev
+                0x0000000000000000        0x1
+ .gnu.linkonce.t._ZN9ByteRangeC1Ev
+                0x0000000000000000        0x1 mmfs26.tmp
+                0x0000000000000000                ByteRange::ByteRange()
+
+.gnu.linkonce.t._ZNK15StripeGroupDesc11isQuotaFileEi
+                0x0000000000000000       0x29
+ .gnu.linkonce.t._ZNK15StripeGroupDesc11isQuotaFileEi
+                0x0000000000000000       0x29 mmfs26.tmp
+                0x0000000000000000                StripeGroupDesc::isQuotaFile(int) const
+
+.gnu.linkonce.t._ZNK15StripeGroupDesc11isXAttrFileEi
+                0x0000000000000000       0x18
+ .gnu.linkonce.t._ZNK15StripeGroupDesc11isXAttrFileEi
+                0x0000000000000000       0x18 mmfs26.tmp
+                0x0000000000000000                StripeGroupDesc::isXAttrFile(int) const
+
+.gnu.linkonce.t._ZN18Int64MBPerfMonItem3addEx
+                0x0000000000000000       0x25
+ .gnu.linkonce.t._ZN18Int64MBPerfMonItem3addEx
+                0x0000000000000000       0x25 mmfs26.tmp
+                0x0000000000000000                Int64MBPerfMonItem::add(long long)
+
+.gnu.linkonce.t._ZN11StripeGroup14isAllocSumFileEi
+                0x0000000000000000       0x88
+ .gnu.linkonce.t._ZN11StripeGroup14isAllocSumFileEi
+                0x0000000000000000       0x88 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isAllocSumFile(int)
+
+.gnu.linkonce.t._ZN11StripeGroup12isPolicyFileEi
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZN11StripeGroup12isPolicyFileEi
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                StripeGroup::isPolicyFile(int)
+
+.gnu.linkonce.t._ZNK11StripeGroup15getSubblockSizeEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup15getSubblockSizeEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSubblockSize() const
+
+.gnu.linkonce.t._ZNK11StripeGroup18isAddReservedInodeEi
+                0x0000000000000000       0x5f
+ .gnu.linkonce.t._ZNK11StripeGroup18isAddReservedInodeEi
+                0x0000000000000000       0x5f mmfs26.tmp
+                0x0000000000000000                StripeGroup::isAddReservedInode(int) const
+
+.gnu.linkonce.t._ZN12FileMetadata16incDirtyDataBufsEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN12FileMetadata16incDirtyDataBufsEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                FileMetadata::incDirtyDataBufs()
+
+.gnu.linkonce.t._ZNK11StripeGroup17getMaxSGPoolItemsEv
+                0x0000000000000000       0x20
+ .gnu.linkonce.t._ZNK11StripeGroup17getMaxSGPoolItemsEv
+                0x0000000000000000       0x20 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getMaxSGPoolItems() const
+
+.gnu.linkonce.t._ZNK11StripeGroup21getNAddReservedInodesEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup21getNAddReservedInodesEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getNAddReservedInodes() const
+
+.gnu.linkonce.t._ZNK11StripeGroup22getAddReservedInodeNumEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup22getAddReservedInodeNumEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getAddReservedInodeNum() const
+
+.gnu.linkonce.t._ZNK11StripeGroup10notEnabledEi
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZNK11StripeGroup10notEnabledEi
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                StripeGroup::notEnabled(int) const
+
+.gnu.linkonce.t._ZNK15StripeGroupDesc10notEnabledEi
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK15StripeGroupDesc10notEnabledEi
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroupDesc::notEnabled(int) const
+
+.gnu.linkonce.t._ZNK8NodeAddr10getNodeIdxEv
+                0x0000000000000000       0x19
+ .gnu.linkonce.t._ZNK8NodeAddr10getNodeIdxEv
+                0x0000000000000000       0x19 mmfs26.tmp
+                0x0000000000000000                NodeAddr::getNodeIdx() const
+
+.gnu.linkonce.t._ZNK8NodeAddr9isRegularEv
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZNK8NodeAddr9isRegularEv
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                NodeAddr::isRegular() const
+
+.gnu.linkonce.t._ZN6ObjKeyC1Ejjjj
+                0x0000000000000000       0x14
+ .gnu.linkonce.t._ZN6ObjKeyC1Ejjjj
+                0x0000000000000000       0x14 mmfs26.tmp
+                0x0000000000000000                ObjKey::ObjKey(unsigned int, unsigned int, unsigned int, unsigned int)
+
+.gnu.linkonce.t._ZNK6ObjKeyeqERKS_
+                0x0000000000000000       0x30
+ .gnu.linkonce.t._ZNK6ObjKeyeqERKS_
+                0x0000000000000000       0x30 mmfs26.tmp
+                0x0000000000000000                ObjKey::operator==(ObjKey const&) const
+
+.gnu.linkonce.t._ZN11ClientToken11ctSetSeqNumEx
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZN11ClientToken11ctSetSeqNumEx
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                ClientToken::ctSetSeqNum(long long)
+
+.gnu.linkonce.t._ZNK12BaseCacheObj11getObjClassEv
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZNK12BaseCacheObj11getObjClassEv
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                BaseCacheObj::getObjClass() const
+
+.gnu.linkonce.t._ZN12BaseCacheObj18setObjClassAndListEhh
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN12BaseCacheObj18setObjClassAndListEhh
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                BaseCacheObj::setObjClassAndList(unsigned char, unsigned char)
+
+.gnu.linkonce.t._ZNK8CacheObj7get_keyEv
+                0x0000000000000000        0x1
+ .gnu.linkonce.t._ZNK8CacheObj7get_keyEv
+                0x0000000000000000        0x1 mmfs26.tmp
+                0x0000000000000000                CacheObj::get_key() const
+
+.gnu.linkonce.t._ZNK8CacheObj24getCacheObjTraverseCountEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK8CacheObj24getCacheObjTraverseCountEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                CacheObj::getCacheObjTraverseCount() const
+
+.gnu.linkonce.t._ZNK8CacheObj12getHoldCountEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK8CacheObj12getHoldCountEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                CacheObj::getHoldCount() const
+
+.gnu.linkonce.t._ZNK5LkObj12get_obj_typeEv
+                0x0000000000000000        0x9
+ .gnu.linkonce.t._ZNK5LkObj12get_obj_typeEv
+                0x0000000000000000        0x9 mmfs26.tmp
+                0x0000000000000000                LkObj::get_obj_type() const
+
+.gnu.linkonce.t._ZN5LkObj14set_token_modeENS_12LockModeEnumE
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN5LkObj14set_token_modeENS_12LockModeEnumE
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                LkObj::set_token_mode(LkObj::LockModeEnum)
+
+.gnu.linkonce.t._ZN5LkObj14set_token_modeEi
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN5LkObj14set_token_modeEi
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                LkObj::set_token_mode(int)
+
+.gnu.linkonce.t._ZN13SharedHashTab14makeRegularMRUEP8CacheObj
+                0x0000000000000000       0x67
+ .gnu.linkonce.t._ZN13SharedHashTab14makeRegularMRUEP8CacheObj
+                0x0000000000000000       0x67 mmfs26.tmp
+                0x0000000000000000                SharedHashTab::makeRegularMRU(CacheObj*)
+
+.gnu.linkonce.t._ZN13SharedHashTab9removeLRUEP8CacheObj
+                0x0000000000000000       0x52
+ .gnu.linkonce.t._ZN13SharedHashTab9removeLRUEP8CacheObj
+                0x0000000000000000       0x52 mmfs26.tmp
+                0x0000000000000000                SharedHashTab::removeLRU(CacheObj*)
+
+.gnu.linkonce.t._ZN13SharedHashTab9appendLRUEP8CacheObjj
+                0x0000000000000000       0x3d
+ .gnu.linkonce.t._ZN13SharedHashTab9appendLRUEP8CacheObjj
+                0x0000000000000000       0x3d mmfs26.tmp
+                0x0000000000000000                SharedHashTab::appendLRU(CacheObj*, unsigned int)
+
+.gnu.linkonce.t._ZN13SharedHashTab9hash_funcERK6ObjKey
+                0x0000000000000000       0x2b
+ .gnu.linkonce.t._ZN13SharedHashTab9hash_funcERK6ObjKey
+                0x0000000000000000       0x2b mmfs26.tmp
+                0x0000000000000000                SharedHashTab::hash_func(ObjKey const&)
+
+.gnu.linkonce.t._ZN8OpenFile15reset_vfsAccessEv
+                0x0000000000000000        0x9
+ .gnu.linkonce.t._ZN8OpenFile15reset_vfsAccessEv
+                0x0000000000000000        0x9 mmfs26.tmp
+                0x0000000000000000                OpenFile::reset_vfsAccess()
+
+.gnu.linkonce.t._ZN15CompactOpenFile16freeDiskAddrBuffEv
+                0x0000000000000000       0x37
+ .gnu.linkonce.t._ZN15CompactOpenFile16freeDiskAddrBuffEv
+                0x0000000000000000       0x37 mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::freeDiskAddrBuff()
+
+.gnu.linkonce.t._ZN15CompactOpenFile15setVFSReferenceEj
+                0x0000000000000000       0x6d
+ .gnu.linkonce.t._ZN15CompactOpenFile15setVFSReferenceEj
+                0x0000000000000000       0x6d mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::setVFSReference(unsigned int)
+
+.gnu.linkonce.t._ZN20ClusterConfiguration11addr2NodeIdE8NodeAddr
+                0x0000000000000000       0x26
+ .gnu.linkonce.t._ZN20ClusterConfiguration11addr2NodeIdE8NodeAddr
+                0x0000000000000000       0x26 mmfs26.tmp
+                0x0000000000000000                ClusterConfiguration::addr2NodeId(NodeAddr)
+
+.gnu.linkonce.t._ZNK8NodeAddr10isReservedEv
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZNK8NodeAddr10isReservedEv
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                NodeAddr::isReserved() const
+
+.gnu.linkonce.t._ZNK11ClientToken12ctGetObjTypeEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK11ClientToken12ctGetObjTypeEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                ClientToken::ctGetObjType() const
+
+.gnu.linkonce.t._ZNK12BaseCacheObj10getObjListEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK12BaseCacheObj10getObjListEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                BaseCacheObj::getObjList() const
+
+.gnu.linkonce.t._ZN12BaseCacheObj10setObjListEh
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN12BaseCacheObj10setObjListEh
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                BaseCacheObj::setObjList(unsigned char)
+
+.gnu.linkonce.t._ZNK10DiskAddr969getSectorEv
+                0x0000000000000000       0x41
+ .gnu.linkonce.t._ZNK10DiskAddr969getSectorEv
+                0x0000000000000000       0x41 mmfs26.tmp
+                0x0000000000000000                DiskAddr96::getSector() const
+
+.gnu.linkonce.t._ZNK10DiskAddr9610getDiskNumEv
+                0x0000000000000000       0x18
+ .gnu.linkonce.t._ZNK10DiskAddr9610getDiskNumEv
+                0x0000000000000000       0x18 mmfs26.tmp
+                0x0000000000000000                DiskAddr96::getDiskNum() const
+
+.gnu.linkonce.t._ZN11BigEndInt32aSEi
+                0x0000000000000000       0x26
+ .gnu.linkonce.t._ZN11BigEndInt32aSEi
+                0x0000000000000000       0x26 mmfs26.tmp
+                0x0000000000000000                BigEndInt32::operator=(int)
+
+.gnu.linkonce.t._ZN11BigEndInt64aSEx
+                0x0000000000000000       0x32
+ .gnu.linkonce.t._ZN11BigEndInt64aSEx
+                0x0000000000000000       0x32 mmfs26.tmp
+                0x0000000000000000                BigEndInt64::operator=(long long)
+
+.gnu.linkonce.t._ZNK11RepDiskAddr6isNULLEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK11RepDiskAddr6isNULLEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::isNULL() const
+
+.gnu.linkonce.t._ZNK11RepDiskAddr16daStatusToStringEv
+                0x0000000000000000       0x51
+ .gnu.linkonce.t._ZNK11RepDiskAddr16daStatusToStringEv
+                0x0000000000000000       0x51 mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::daStatusToString() const
+
+.gnu.linkonce.t._ZNK11RepDiskAddr9getSectorEi
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZNK11RepDiskAddr9getSectorEi
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::getSector(int) const
+
+.gnu.linkonce.t._ZNK11RepDiskAddr17getDiskNumPhantomEi
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZNK11RepDiskAddr17getDiskNumPhantomEi
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::getDiskNumPhantom(int) const
+
+.gnu.linkonce.t._ZN10fsDiskAddr9setToNULLEv
+                0x0000000000000000        0x9
+ .gnu.linkonce.t._ZN10fsDiskAddr9setToNULLEv
+                0x0000000000000000        0x9 mmfs26.tmp
+                0x0000000000000000                fsDiskAddr::setToNULL()
+
+.gnu.linkonce.t._ZN10fsDiskAddraSERKS_
+                0x0000000000000000       0x1c
+ .gnu.linkonce.t._ZN10fsDiskAddraSERKS_
+                0x0000000000000000       0x1c mmfs26.tmp
+                0x0000000000000000                fsDiskAddr::operator=(fsDiskAddr const&)
+
+.gnu.linkonce.t._ZNK8ThSXLock8isLockedEv
+                0x0000000000000000       0x21
+ .gnu.linkonce.t._ZNK8ThSXLock8isLockedEv
+                0x0000000000000000       0x21 mmfs26.tmp
+                0x0000000000000000                ThSXLock::isLocked() const
+
+.gnu.linkonce.t._ZNK8CacheObj8isCachedEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK8CacheObj8isCachedEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                CacheObj::isCached() const
+
+.gnu.linkonce.t._ZNK8CacheObj11isNotCachedEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK8CacheObj11isNotCachedEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                CacheObj::isNotCached() const
+
+.gnu.linkonce.t._ZN9AtomInt64C1Ex
+                0x0000000000000000       0x5b
+ .gnu.linkonce.t._ZN9AtomInt64C1Ex
+                0x0000000000000000       0x5b mmfs26.tmp
+                0x0000000000000000                AtomInt64::AtomInt64(long long)
+
+.gnu.linkonce.t._ZNK10LLOpenFile18getMaxDataReplicasEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK10LLOpenFile18getMaxDataReplicasEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                LLOpenFile::getMaxDataReplicas() const
+
+.gnu.linkonce.t._ZN12FilesetMDObj6unlockEN5LkObj12LockModeEnumE
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN12FilesetMDObj6unlockEN5LkObj12LockModeEnumE
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                FilesetMDObj::unlock(LkObj::LockModeEnum)
+
+.gnu.linkonce.t._ZNK7Fileset14getFilesetNameEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK7Fileset14getFilesetNameEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                Fileset::getFilesetName() const
+
+.gnu.linkonce.t._ZNK6Buffer12isInPagePoolEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK6Buffer12isInPagePoolEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                Buffer::isInPagePool() const
+
+.gnu.linkonce.t._ZNK11StripeGroup9getMyAddrEv
+                0x0000000000000000        0x9
+ .gnu.linkonce.t._ZNK11StripeGroup9getMyAddrEv
+                0x0000000000000000        0x9 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getMyAddr() const
+
+.gnu.linkonce.t._ZN11StripeGroup15incrementVfsUseEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup15incrementVfsUseEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::incrementVfsUse()
+
+.gnu.linkonce.t._ZNK11StripeGroup11getVfsUsersEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup11getVfsUsersEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getVfsUsers() const
+
+.gnu.linkonce.t._ZNK11StripeGroup18getOpenFileMemSizeEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup18getOpenFileMemSizeEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getOpenFileMemSize() const
+
+.gnu.linkonce.t._ZNK11StripeGroup16getSubblockShiftEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup16getSubblockShiftEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSubblockShift() const
+
+.gnu.linkonce.t._ZN11StripeGroup10getSGDescPEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN11StripeGroup10getSGDescPEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSGDescP()
+
+.gnu.linkonce.t._ZNK11StripeGroup13getDirLayoutPEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup13getDirLayoutPEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getDirLayoutP() const
+
+.gnu.linkonce.t._ZNK11StripeGroup12getInodeSizeEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup12getInodeSizeEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getInodeSize() const
+
+.gnu.linkonce.t._ZNK11StripeGroup20getDiskAddrsPerInodeEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup20getDiskAddrsPerInodeEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getDiskAddrsPerInode() const
+
+.gnu.linkonce.t._ZNK11StripeGroup21getDiskAddrsPerIndBlkEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup21getDiskAddrsPerIndBlkEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getDiskAddrsPerIndBlk() const
+
+.gnu.linkonce.t._ZN11StripeGroup18getSMBCIFSSemanticEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup18getSMBCIFSSemanticEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSMBCIFSSemantic()
+
+.gnu.linkonce.t._ZNK11StripeGroup9isEnabledEi
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZNK11StripeGroup9isEnabledEi
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isEnabled(int) const
+
+.gnu.linkonce.t._ZNK11StripeGroup11updateAtimeEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZNK11StripeGroup11updateAtimeEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                StripeGroup::updateAtime() const
+
+.gnu.linkonce.t._ZNK11StripeGroup12isFilesetsFSEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK11StripeGroup12isFilesetsFSEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::isFilesetsFS() const
+
+.gnu.linkonce.t._ZN11StripeGroup18decrementNewVfsUseEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup18decrementNewVfsUseEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::decrementNewVfsUse()
+
+.gnu.linkonce.t._ZN11StripeGroup29wakeupVfsUseTransitionWaitersEv
+                0x0000000000000000       0x1e
+ .gnu.linkonce.t._ZN11StripeGroup29wakeupVfsUseTransitionWaitersEv
+                0x0000000000000000       0x1e mmfs26.tmp
+                0x0000000000000000                StripeGroup::wakeupVfsUseTransitionWaiters()
+
+.gnu.linkonce.t._ZN11StripeGroup11setQuiescedEj
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup11setQuiescedEj
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::setQuiesced(unsigned int)
+
+.gnu.linkonce.t._ZN11StripeGroup21incrementQuiesceCountEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup21incrementQuiesceCountEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::incrementQuiesceCount()
+
+.gnu.linkonce.t._ZN11StripeGroup21decrementQuiesceCountEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup21decrementQuiesceCountEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::decrementQuiesceCount()
+
+.gnu.linkonce.t._ZNK11StripeGroup15getQuiesceCountEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup15getQuiesceCountEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getQuiesceCount() const
+
+.gnu.linkonce.t._ZNK11StripeGroup18allThreadsQuiescedEv
+                0x0000000000000000       0x13
+ .gnu.linkonce.t._ZNK11StripeGroup18allThreadsQuiescedEv
+                0x0000000000000000       0x13 mmfs26.tmp
+                0x0000000000000000                StripeGroup::allThreadsQuiesced() const
+
+.gnu.linkonce.t._ZNK11StripeGroup13getNSnapItemsEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup13getNSnapItemsEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getNSnapItems() const
+
+.gnu.linkonce.t._ZN11StripeGroup16getSnapNameViaIdEiPPKc
+                0x0000000000000000       0x23
+ .gnu.linkonce.t._ZN11StripeGroup16getSnapNameViaIdEiPPKc
+                0x0000000000000000       0x23 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSnapNameViaId(int, char const**)
+
+.gnu.linkonce.t._ZNK11StripeGroup9isNFSSyncEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup9isNFSSyncEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isNFSSync() const
+
+.gnu.linkonce.t._ZN10FileSystem15kGetInode0FilePEi
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZN10FileSystem15kGetInode0FilePEi
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                FileSystem::kGetInode0FileP(int)
+
+.gnu.linkonce.t._ZN12indBlockDesc11getIndLevelEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN12indBlockDesc11getIndLevelEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                indBlockDesc::getIndLevel()
+
+.gnu.linkonce.t._ZN12indBlockDesc11getIndIndexEv
+                0x0000000000000000       0x1a
+ .gnu.linkonce.t._ZN12indBlockDesc11getIndIndexEv
+                0x0000000000000000       0x1a mmfs26.tmp
+                0x0000000000000000                indBlockDesc::getIndIndex()
+
+.gnu.linkonce.t._ZN12indBlockDesc7isValidEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZN12indBlockDesc7isValidEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                indBlockDesc::isValid()
+
+.gnu.linkonce.t._ZN12indBlockDesc8setValidEj
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN12indBlockDesc8setValidEj
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                indBlockDesc::setValid(unsigned int)
+
+.gnu.linkonce.t._ZN12indBlockDesc19kLockIndirectBlockMEi
+                0x0000000000000000       0x1a
+ .gnu.linkonce.t._ZN12indBlockDesc19kLockIndirectBlockMEi
+                0x0000000000000000       0x1a mmfs26.tmp
+                0x0000000000000000                indBlockDesc::kLockIndirectBlockM(int)
+
+.gnu.linkonce.t._ZN12indBlockDesc20kUnlockIndirectBlockEv
+                0x0000000000000000       0x13
+ .gnu.linkonce.t._ZN12indBlockDesc20kUnlockIndirectBlockEv
+                0x0000000000000000       0x13 mmfs26.tmp
+                0x0000000000000000                indBlockDesc::kUnlockIndirectBlock()
+
+.gnu.linkonce.t._ZNK18AtomInodeTimeValue6getvalEv
+                0x0000000000000000       0x11
+ .gnu.linkonce.t._ZNK18AtomInodeTimeValue6getvalEv
+                0x0000000000000000       0x11 mmfs26.tmp
+                0x0000000000000000                AtomInodeTimeValue::getval() const
+
+.gnu.linkonce.t._ZNK17CachedInodeHeader12getIllPlacedEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK17CachedInodeHeader12getIllPlacedEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                CachedInodeHeader::getIllPlaced() const
+
+.gnu.linkonce.t._ZN15InodeFetchStats5resetEv
+                0x0000000000000000       0x40
+ .gnu.linkonce.t._ZN15InodeFetchStats5resetEv
+                0x0000000000000000       0x40 mmfs26.tmp
+                0x0000000000000000                InodeFetchStats::reset()
+
+.gnu.linkonce.t._ZN12FileMetadata8getCtimeEv
+                0x0000000000000000       0x29
+ .gnu.linkonce.t._ZN12FileMetadata8getCtimeEv
+                0x0000000000000000       0x29 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getCtime()
+
+.gnu.linkonce.t._ZN12FileMetadata17incIndChangeCountEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN12FileMetadata17incIndChangeCountEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::incIndChangeCount()
+
+.gnu.linkonce.t._ZN10MNodeToken16local_mnode_viewEv
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZN10MNodeToken16local_mnode_viewEv
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                MNodeToken::local_mnode_view()
+
+.gnu.linkonce.t._ZN8OpenFile8setValidEj
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN8OpenFile8setValidEj
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                OpenFile::setValid(unsigned int)
+
+.gnu.linkonce.t._ZN8OpenFile8setAtimeERK9HiResTime
+                0x0000000000000000       0x6d
+ .gnu.linkonce.t._ZN8OpenFile8setAtimeERK9HiResTime
+                0x0000000000000000       0x6d mmfs26.tmp
+                0x0000000000000000                OpenFile::setAtime(HiResTime const&)
+
+.gnu.linkonce.t._ZN8OpenFile8setMtimeERK9HiResTime
+                0x0000000000000000       0x6d
+ .gnu.linkonce.t._ZN8OpenFile8setMtimeERK9HiResTime
+                0x0000000000000000       0x6d mmfs26.tmp
+                0x0000000000000000                OpenFile::setMtime(HiResTime const&)
+
+.gnu.linkonce.t._ZN8OpenFile8setCtimeERK9HiResTimeP15KernelOperation
+                0x0000000000000000       0x81
+ .gnu.linkonce.t._ZN8OpenFile8setCtimeERK9HiResTimeP15KernelOperation
+                0x0000000000000000       0x81 mmfs26.tmp
+                0x0000000000000000                OpenFile::setCtime(HiResTime const&, KernelOperation*)
+
+.gnu.linkonce.t._ZNK8OpenFile24getSubblocksPerFileBlockEv
+                0x0000000000000000       0x62
+ .gnu.linkonce.t._ZNK8OpenFile24getSubblocksPerFileBlockEv
+                0x0000000000000000       0x62 mmfs26.tmp
+                0x0000000000000000                OpenFile::getSubblocksPerFileBlock() const
+
+.gnu.linkonce.t._ZNK8OpenFile26getCurrentMetadataReplicasEv
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK8OpenFile26getCurrentMetadataReplicasEv
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                OpenFile::getCurrentMetadataReplicas() const
+
+.gnu.linkonce.t._ZNK8OpenFile22getMaxMetadataReplicasEv
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK8OpenFile22getMaxMetadataReplicasEv
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                OpenFile::getMaxMetadataReplicas() const
+
+.gnu.linkonce.t._ZNK8OpenFile22getCurrentDataReplicasEv
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK8OpenFile22getCurrentDataReplicasEv
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                OpenFile::getCurrentDataReplicas() const
+
+.gnu.linkonce.t._ZNK8OpenFile18getMaxDataReplicasEv
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK8OpenFile18getMaxDataReplicasEv
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                OpenFile::getMaxDataReplicas() const
+
+.gnu.linkonce.t._ZNK8OpenFile13getInodeFlagsEv
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK8OpenFile13getInodeFlagsEv
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                OpenFile::getInodeFlags() const
+
+.gnu.linkonce.t._ZN8OpenFile6isOpenEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN8OpenFile6isOpenEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                OpenFile::isOpen()
+
+.gnu.linkonce.t._ZN8OpenFile16setDoCompactFlagEj
+                0x0000000000000000       0x15
+ .gnu.linkonce.t._ZN8OpenFile16setDoCompactFlagEj
+                0x0000000000000000       0x15 mmfs26.tmp
+                0x0000000000000000                OpenFile::setDoCompactFlag(unsigned int)
+
+.gnu.linkonce.t._ZNK8OpenFile13getDataPoolIdEv
+                0x0000000000000000       0x75
+ .gnu.linkonce.t._ZNK8OpenFile13getDataPoolIdEv
+                0x0000000000000000       0x75 mmfs26.tmp
+                0x0000000000000000                OpenFile::getDataPoolId() const
+
+.gnu.linkonce.t._ZNK15CompactOpenFile9getSnapIdEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK15CompactOpenFile9getSnapIdEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                CompactOpenFile::getSnapId() const
+
+.gnu.linkonce.t._ZNK21InodePrefetchInstance20readyForNextDirBlockEv
+                0x0000000000000000       0x29
+ .gnu.linkonce.t._ZNK21InodePrefetchInstance20readyForNextDirBlockEv
+                0x0000000000000000       0x29 mmfs26.tmp
+                0x0000000000000000                InodePrefetchInstance::readyForNextDirBlock() const
+
+.gnu.linkonce.t._ZNK10DiskAddr9617getDiskNumPhantomEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK10DiskAddr9617getDiskNumPhantomEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                DiskAddr96::getDiskNumPhantom() const
+
+.gnu.linkonce.t._ZN11RepDiskAddr9setToNULLEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN11RepDiskAddr9setToNULLEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::setToNULL()
+
+.gnu.linkonce.t._ZNK11RepDiskAddr8isBrokenEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK11RepDiskAddr8isBrokenEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::isBroken() const
+
+.gnu.linkonce.t._ZNK11RepDiskAddr7isDITTOEv
+                0x0000000000000000       0x2a
+ .gnu.linkonce.t._ZNK11RepDiskAddr7isDITTOEv
+                0x0000000000000000       0x2a mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::isDITTO() const
+
+.gnu.linkonce.t._ZNK15StripeGroupDesc9isEnabledEi
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK15StripeGroupDesc9isEnabledEi
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroupDesc::isEnabled(int) const
+
+.gnu.linkonce.t._ZN12FilesetMDObj10unlock_vfsEN5LkObj12LockModeEnumE
+                0x0000000000000000       0x10
+ .gnu.linkonce.t._ZN12FilesetMDObj10unlock_vfsEN5LkObj12LockModeEnumE
+                0x0000000000000000       0x10 mmfs26.tmp
+                0x0000000000000000                FilesetMDObj::unlock_vfs(LkObj::LockModeEnum)
+
+.gnu.linkonce.t._ZN11StripeGroup23getStoragePoolIdByIndexEi
+                0x0000000000000000       0x67
+ .gnu.linkonce.t._ZN11StripeGroup23getStoragePoolIdByIndexEi
+                0x0000000000000000       0x67 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getStoragePoolIdByIndex(int)
+
+.gnu.linkonce.t._ZN12indBlockDesc10lock_vfs_vEN5LkObj12LockModeEnumEiPS1_
+                0x0000000000000000       0x32
+ .gnu.linkonce.t._ZN12indBlockDesc10lock_vfs_vEN5LkObj12LockModeEnumEiPS1_
+                0x0000000000000000       0x32 mmfs26.tmp
+                0x0000000000000000                indBlockDesc::lock_vfs_v(LkObj::LockModeEnum, int, LkObj::LockModeEnum*)
+
+.gnu.linkonce.t._ZN12indBlockDesc10unlock_vfsEN5LkObj12LockModeEnumE
+                0x0000000000000000       0x10
+ .gnu.linkonce.t._ZN12indBlockDesc10unlock_vfsEN5LkObj12LockModeEnumE
+                0x0000000000000000       0x10 mmfs26.tmp
+                0x0000000000000000                indBlockDesc::unlock_vfs(LkObj::LockModeEnum)
+
+.gnu.linkonce.t._ZNK12FileMetadata26getCurrentMetadataReplicasEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK12FileMetadata26getCurrentMetadataReplicasEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getCurrentMetadataReplicas() const
+
+.gnu.linkonce.t._ZNK12FileMetadata22getMaxMetadataReplicasEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK12FileMetadata22getMaxMetadataReplicasEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getMaxMetadataReplicas() const
+
+.gnu.linkonce.t._ZNK12FileMetadata22getCurrentDataReplicasEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK12FileMetadata22getCurrentDataReplicasEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getCurrentDataReplicas() const
+
+.gnu.linkonce.t._ZNK12FileMetadata18getMaxDataReplicasEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK12FileMetadata18getMaxDataReplicasEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getMaxDataReplicas() const
+
+.gnu.linkonce.t._ZNK12FileMetadata13getInodeFlagsEv
+                0x0000000000000000       0x79
+ .gnu.linkonce.t._ZNK12FileMetadata13getInodeFlagsEv
+                0x0000000000000000       0x79 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getInodeFlags() const
+
+.gnu.linkonce.t._ZNK12FileMetadata16getDataPoolIndexEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZNK12FileMetadata16getDataPoolIndexEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getDataPoolIndex() const
+
+.gnu.linkonce.t._ZNK10DiskAddr96eqERKS_
+                0x0000000000000000       0x27
+ .gnu.linkonce.t._ZNK10DiskAddr96eqERKS_
+                0x0000000000000000       0x27 mmfs26.tmp
+                0x0000000000000000                DiskAddr96::operator==(DiskAddr96 const&) const
+
+.gnu.linkonce.t._ZNK17CachedInodeHeader11isIllPlacedEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK17CachedInodeHeader11isIllPlacedEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                CachedInodeHeader::isIllPlaced() const
+
+.gnu.linkonce.t._ZNK17CachedInodeHeader16getDataPoolIndexEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK17CachedInodeHeader16getDataPoolIndexEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                CachedInodeHeader::getDataPoolIndex() const
+
+.gnu.linkonce.t._ZNK11BigEndInt32cviEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11BigEndInt32cviEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                BigEndInt32::operator int() const
+
+.gnu.linkonce.t._ZNK11BigEndInt64cvxEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK11BigEndInt64cvxEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                BigEndInt64::operator long long() const
+
+.gnu.linkonce.t._ZNK7DiskUIDneERKS_
+                0x0000000000000000       0x1e
+ .gnu.linkonce.t._ZNK7DiskUIDneERKS_
+                0x0000000000000000       0x1e mmfs26.tmp
+                0x0000000000000000                DiskUID::operator!=(DiskUID const&) const
+
+.gnu.linkonce.t._ZN7DiskUID3setEjj
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZN7DiskUID3setEjj
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                DiskUID::set(unsigned int, unsigned int)
+
+.gnu.linkonce.t._ZNK9HiResTimeneERKS_
+                0x0000000000000000       0x1e
+ .gnu.linkonce.t._ZNK9HiResTimeneERKS_
+                0x0000000000000000       0x1e mmfs26.tmp
+                0x0000000000000000                HiResTime::operator!=(HiResTime const&) const
+
+.gnu.linkonce.t._ZNK9HiResTimegtERKS_
+                0x0000000000000000       0x37
+ .gnu.linkonce.t._ZNK9HiResTimegtERKS_
+                0x0000000000000000       0x37 mmfs26.tmp
+                0x0000000000000000                HiResTime::operator>(HiResTime const&) const
+
+.gnu.linkonce.t._ZNK7FileUIDneERKS_
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZNK7FileUIDneERKS_
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                FileUID::operator!=(FileUID const&) const
+
+.gnu.linkonce.t._ZN11ClientToken11ctIncSeqNumEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN11ClientToken11ctIncSeqNumEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                ClientToken::ctIncSeqNum()
+
+.gnu.linkonce.t._ZN8CacheObj17getCacheObjMutexPEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN8CacheObj17getCacheObjMutexPEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                CacheObj::getCacheObjMutexP()
+
+.gnu.linkonce.t._ZNK5LkObj14get_obj_statusEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK5LkObj14get_obj_statusEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                LkObj::get_obj_status() const
+
+.gnu.linkonce.t._ZN5LkObj8lock_vfsEP8CacheObjNS_12LockModeEnumEi
+                0x0000000000000000       0x67
+ .gnu.linkonce.t._ZN5LkObj8lock_vfsEP8CacheObjNS_12LockModeEnumEi
+                0x0000000000000000       0x67 mmfs26.tmp
+                0x0000000000000000                LkObj::lock_vfs(CacheObj*, LkObj::LockModeEnum, int)
+
+.gnu.linkonce.t._ZN8LkObjSMB17SMBlock_fetch_vfsEP15KernelOperationP8CacheObjP12OpenInstanceN5LkObj12LockModeEnumE
+                0x0000000000000000       0x74
+ .gnu.linkonce.t._ZN8LkObjSMB17SMBlock_fetch_vfsEP15KernelOperationP8CacheObjP12OpenInstanceN5LkObj12LockModeEnumE
+                0x0000000000000000       0x74 mmfs26.tmp
+                0x0000000000000000                LkObjSMB::SMBlock_fetch_vfs(KernelOperation*, CacheObj*, OpenInstance*, LkObj::LockModeEnum)
+
+.gnu.linkonce.t._ZN8LkObjSMB13SMBunlock_vfsEP8CacheObjP12OpenInstanceN5LkObj12LockModeEnumE
+                0x0000000000000000       0x68
+ .gnu.linkonce.t._ZN8LkObjSMB13SMBunlock_vfsEP8CacheObjP12OpenInstanceN5LkObj12LockModeEnumE
+                0x0000000000000000       0x68 mmfs26.tmp
+                0x0000000000000000                LkObjSMB::SMBunlock_vfs(CacheObj*, OpenInstance*, LkObj::LockModeEnum)
+
+.gnu.linkonce.t._ZNK5Inode11isIllPlacedEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK5Inode11isIllPlacedEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                Inode::isIllPlaced() const
+
+.gnu.linkonce.t._ZN5Inode16getDataPoolIndexEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN5Inode16getDataPoolIndexEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                Inode::getDataPoolIndex()
+
+.gnu.linkonce.t._ZN5Inode12getFilesetIdEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN5Inode12getFilesetIdEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Inode::getFilesetId()
+
+.gnu.linkonce.t._ZN12dmFileHandleC1Ev
+                0x0000000000000000       0x3c
+ .gnu.linkonce.t._ZN12dmFileHandleC1Ev
+                0x0000000000000000       0x3c mmfs26.tmp
+                0x0000000000000000                dmFileHandle::dmFileHandle()
+
+.gnu.linkonce.t._ZN12dmFileHandle7setSgIdE7DiskUID
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZN12dmFileHandle7setSgIdE7DiskUID
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                dmFileHandle::setSgId(DiskUID)
+
+.gnu.linkonce.t._ZN12dmFileHandle11setInodeNumEi
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZN12dmFileHandle11setInodeNumEi
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                dmFileHandle::setInodeNum(int)
+
+.gnu.linkonce.t._ZN12dmFileHandle9setGenNumE6GenNum
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN12dmFileHandle9setGenNumE6GenNum
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmFileHandle::setGenNum(GenNum)
+
+.gnu.linkonce.t._ZNK12dmFileHandle11getInodeNumEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12dmFileHandle11getInodeNumEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmFileHandle::getInodeNum() const
+
+.gnu.linkonce.t._ZN11dmEventListC1Ev
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11dmEventListC1Ev
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                dmEventList::dmEventList()
+
+.gnu.linkonce.t._ZN11dmEventList7geteMapEv
+                0x0000000000000000        0x3
+ .gnu.linkonce.t._ZN11dmEventList7geteMapEv
+                0x0000000000000000        0x3 mmfs26.tmp
+                0x0000000000000000                dmEventList::geteMap()
+
+.gnu.linkonce.t._ZNK11dmEventList12isClearEventE14dm_eventtype_t
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZNK11dmEventList12isClearEventE14dm_eventtype_t
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                dmEventList::isClearEvent(dm_eventtype_t) const
+
+.gnu.linkonce.t._ZN13PrefetchState17pushAccessHistoryEjxxx
+                0x0000000000000000       0x6a
+ .gnu.linkonce.t._ZN13PrefetchState17pushAccessHistoryEjxxx
+                0x0000000000000000       0x6a mmfs26.tmp
+                0x0000000000000000                PrefetchState::pushAccessHistory(unsigned int, long long, long long, long long)
+
+.gnu.linkonce.t._ZNK12OpenInstance24getPrefetchCleanupNeededEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK12OpenInstance24getPrefetchCleanupNeededEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                OpenInstance::getPrefetchCleanupNeeded() const
+
+.gnu.linkonce.t._ZNK12OpenInstance19getUserSetBufferingEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12OpenInstance19getUserSetBufferingEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                OpenInstance::getUserSetBuffering() const
+
+.gnu.linkonce.t._ZN22MmpmonRequestSizeRange3hitEyRK9HiResTime
+                0x0000000000000000       0xb2
+ .gnu.linkonce.t._ZN22MmpmonRequestSizeRange3hitEyRK9HiResTime
+                0x0000000000000000       0xb2 mmfs26.tmp
+                0x0000000000000000                MmpmonRequestSizeRange::hit(unsigned long long, HiResTime const&)
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics13inc_openCallsEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics13inc_openCallsEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_openCalls()
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics14inc_closeCallsEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics14inc_closeCallsEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_closeCalls()
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics13inc_readCallsEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics13inc_readCallsEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_readCalls()
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics14inc_writeCallsEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics14inc_writeCallsEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_writeCalls()
+
+.gnu.linkonce.t._ZN20Mmpmon_FS_Statistics16inc_readdirCallsEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN20Mmpmon_FS_Statistics16inc_readdirCallsEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                Mmpmon_FS_Statistics::inc_readdirCalls()
+
+.gnu.linkonce.t._ZNK11StripeGroup9getAllocPEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup9getAllocPEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getAllocP() const
+
+.gnu.linkonce.t._ZN11StripeGroup11isQuotaFileEiii
+                0x0000000000000000       0x1e
+ .gnu.linkonce.t._ZN11StripeGroup11isQuotaFileEiii
+                0x0000000000000000       0x1e mmfs26.tmp
+                0x0000000000000000                StripeGroup::isQuotaFile(int, int, int)
+
+.gnu.linkonce.t._ZN11StripeGroup20inc_mmpmon_openCallsEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup20inc_mmpmon_openCallsEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_openCalls()
+
+.gnu.linkonce.t._ZN11StripeGroup21inc_mmpmon_closeCallsEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup21inc_mmpmon_closeCallsEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_closeCalls()
+
+.gnu.linkonce.t._ZN11StripeGroup20inc_mmpmon_readCallsEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup20inc_mmpmon_readCallsEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_readCalls()
+
+.gnu.linkonce.t._ZN11StripeGroup21inc_mmpmon_writeCallsEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup21inc_mmpmon_writeCallsEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_writeCalls()
+
+.gnu.linkonce.t._ZN11StripeGroup23inc_mmpmon_readdirCallsEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup23inc_mmpmon_readdirCallsEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::inc_mmpmon_readdirCalls()
+
+.gnu.linkonce.t._ZNK11StripeGroup16getStatfsFBlocksEv
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZNK11StripeGroup16getStatfsFBlocksEv
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                StripeGroup::getStatfsFBlocks() const
+
+.gnu.linkonce.t._ZN11StripeGroup22getStatfsFBlocksInPoolEi
+                0x0000000000000000       0x67
+ .gnu.linkonce.t._ZN11StripeGroup22getStatfsFBlocksInPoolEi
+                0x0000000000000000       0x67 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getStatfsFBlocksInPool(int)
+
+.gnu.linkonce.t._ZN11StripeGroup23getStatfsFMBlocksInPoolEi
+                0x0000000000000000       0x67
+ .gnu.linkonce.t._ZN11StripeGroup23getStatfsFMBlocksInPoolEi
+                0x0000000000000000       0x67 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getStatfsFMBlocksInPool(int)
+
+.gnu.linkonce.t._ZNK11StripeGroup14getDmEventListEv
+                0x0000000000000000        0x9
+ .gnu.linkonce.t._ZNK11StripeGroup14getDmEventListEv
+                0x0000000000000000        0x9 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getDmEventList() const
+
+.gnu.linkonce.t._ZN11StripeGroup17getDmDispForEventE14dm_eventtype_tP16dmSessionLocator
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN11StripeGroup17getDmDispForEventE14dm_eventtype_tP16dmSessionLocator
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::getDmDispForEvent(dm_eventtype_t, dmSessionLocator*)
+
+.gnu.linkonce.t._ZNK11StripeGroup18getNumAccessRightsEv
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZNK11StripeGroup18getNumAccessRightsEv
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                StripeGroup::getNumAccessRights() const
+
+.gnu.linkonce.t._ZNK11StripeGroup12getBlockSizeEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup12getBlockSizeEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getBlockSize() const
+
+.gnu.linkonce.t._ZNK11StripeGroup24getSubblocksPerFullBlockEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup24getSubblocksPerFullBlockEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSubblocksPerFullBlock() const
+
+.gnu.linkonce.t._ZNK11StripeGroup10getNInodesEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup10getNInodesEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getNInodes() const
+
+.gnu.linkonce.t._ZN11StripeGroup20getNextStoragePoolIdEi
+                0x0000000000000000       0x65
+ .gnu.linkonce.t._ZN11StripeGroup20getNextStoragePoolIdEi
+                0x0000000000000000       0x65 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getNextStoragePoolId(int)
+
+.gnu.linkonce.t._ZN11StripeGroup15getNSGPoolItemsEv
+                0x0000000000000000       0x65
+ .gnu.linkonce.t._ZN11StripeGroup15getNSGPoolItemsEv
+                0x0000000000000000       0x65 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getNSGPoolItems()
+
+.gnu.linkonce.t._ZN11StripeGroup22canStoragePoolHoldDataEi
+                0x0000000000000000       0x77
+ .gnu.linkonce.t._ZN11StripeGroup22canStoragePoolHoldDataEi
+                0x0000000000000000       0x77 mmfs26.tmp
+                0x0000000000000000                StripeGroup::canStoragePoolHoldData(int)
+
+.gnu.linkonce.t._ZN11StripeGroup26canStoragePoolHoldMetadataEi
+                0x0000000000000000       0x77
+ .gnu.linkonce.t._ZN11StripeGroup26canStoragePoolHoldMetadataEi
+                0x0000000000000000       0x77 mmfs26.tmp
+                0x0000000000000000                StripeGroup::canStoragePoolHoldMetadata(int)
+
+.gnu.linkonce.t._ZNK11StripeGroup15getMaxNumInodesEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup15getMaxNumInodesEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getMaxNumInodes() const
+
+.gnu.linkonce.t._ZNK11StripeGroup16getFormatVersionEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK11StripeGroup16getFormatVersionEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getFormatVersion() const
+
+.gnu.linkonce.t._ZNK11StripeGroup13isTreeQuotaOnEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup13isTreeQuotaOnEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isTreeQuotaOn() const
+
+.gnu.linkonce.t._ZNK11StripeGroup14isFilesetsV2FSEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK11StripeGroup14isFilesetsV2FSEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::isFilesetsV2FS() const
+
+.gnu.linkonce.t._ZNK11StripeGroup17getRestoreVersionEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK11StripeGroup17getRestoreVersionEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::getRestoreVersion() const
+
+.gnu.linkonce.t._ZNK11StripeGroup16getRestoreSnapIdEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK11StripeGroup16getRestoreSnapIdEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::getRestoreSnapId() const
+
+.gnu.linkonce.t._ZNK11StripeGroup18getRestoreStripeIdEv
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZNK11StripeGroup18getRestoreStripeIdEv
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getRestoreStripeId() const
+
+.gnu.linkonce.t._ZNK11StripeGroup14getRestoreTimeEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK11StripeGroup14getRestoreTimeEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                StripeGroup::getRestoreTime() const
+
+.gnu.linkonce.t._ZNK11StripeGroup17isFileSystemCleanEv
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZNK11StripeGroup17isFileSystemCleanEv
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                StripeGroup::isFileSystemClean() const
+
+.gnu.linkonce.t._ZN11StripeGroup12getSnapDirIdEv
+                0x0000000000000000       0x71
+ .gnu.linkonce.t._ZN11StripeGroup12getSnapDirIdEv
+                0x0000000000000000       0x71 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSnapDirId()
+
+.gnu.linkonce.t._ZNK11StripeGroup7isXATTREv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup7isXATTREv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isXATTR() const
+
+.gnu.linkonce.t._ZN11StripeGroup11getQuClientEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup11getQuClientEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getQuClient()
+
+.gnu.linkonce.t._ZN11StripeGroup12statfsCalledEj
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11StripeGroup12statfsCalledEj
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::statfsCalled(unsigned int)
+
+.gnu.linkonce.t._ZN16dmSessionLocatorC1Ev
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN16dmSessionLocatorC1Ev
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                dmSessionLocator::dmSessionLocator()
+
+.gnu.linkonce.t._ZN16dmSessionLocatorD1Ev
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN16dmSessionLocatorD1Ev
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                dmSessionLocator::~dmSessionLocator()
+
+.gnu.linkonce.t._ZNK12FileMetadata12isAtimeDirtyEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK12FileMetadata12isAtimeDirtyEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::isAtimeDirty() const
+
+.gnu.linkonce.t._ZNK12FileMetadata18getXAttrSummaryBitEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK12FileMetadata18getXAttrSummaryBitEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                FileMetadata::getXAttrSummaryBit() const
+
+.gnu.linkonce.t._ZN12FileMetadata7setModeEjP15KernelOperation
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZN12FileMetadata7setModeEjP15KernelOperation
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                FileMetadata::setMode(unsigned int, KernelOperation*)
+
+.gnu.linkonce.t._ZN12FileMetadata14ipsReaddirDoneE9HiResTime
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZN12FileMetadata14ipsReaddirDoneE9HiResTime
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                FileMetadata::ipsReaddirDone(HiResTime)
+
+.gnu.linkonce.t._ZN12FileMetadata17getFileSizeAndLDBERxS0_
+                0x0000000000000000       0x72
+ .gnu.linkonce.t._ZN12FileMetadata17getFileSizeAndLDBERxS0_
+                0x0000000000000000       0x72 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getFileSizeAndLDB(long long&, long long&)
+
+.gnu.linkonce.t._ZN12FileMetadata13setInodeDirtyEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN12FileMetadata13setInodeDirtyEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                FileMetadata::setInodeDirty()
+
+.gnu.linkonce.t._ZN12SMBOpLkLkObj15oplockOpenReadMEP12OpenInstance
+                0x0000000000000000       0x31
+ .gnu.linkonce.t._ZN12SMBOpLkLkObj15oplockOpenReadMEP12OpenInstance
+                0x0000000000000000       0x31 mmfs26.tmp
+                0x0000000000000000                SMBOpLkLkObj::oplockOpenReadM(OpenInstance*)
+
+.gnu.linkonce.t._ZN12SMBOpLkLkObj16oplockOpenWriteMEP12OpenInstance
+                0x0000000000000000       0x34
+ .gnu.linkonce.t._ZN12SMBOpLkLkObj16oplockOpenWriteMEP12OpenInstance
+                0x0000000000000000       0x34 mmfs26.tmp
+                0x0000000000000000                SMBOpLkLkObj::oplockOpenWriteM(OpenInstance*)
+
+.gnu.linkonce.t._ZN12SMBOpLkLkObj19isExclusiveOplockedEv
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZN12SMBOpLkLkObj19isExclusiveOplockedEv
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                SMBOpLkLkObj::isExclusiveOplocked()
+
+.gnu.linkonce.t._ZN12SMBOpLkLkObj15isShareOplockedEv
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZN12SMBOpLkLkObj15isShareOplockedEv
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                SMBOpLkLkObj::isShareOplocked()
+
+.gnu.linkonce.t._ZNK8OpenFile28copyDataToPrevSnapshotNeededEv
+                0x0000000000000000       0x34
+ .gnu.linkonce.t._ZNK8OpenFile28copyDataToPrevSnapshotNeededEv
+                0x0000000000000000       0x34 mmfs26.tmp
+                0x0000000000000000                OpenFile::copyDataToPrevSnapshotNeeded() const
+
+.gnu.linkonce.t._ZNK8OpenFile19getDataCopiedSnapIdEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK8OpenFile19getDataCopiedSnapIdEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                OpenFile::getDataCopiedSnapId() const
+
+.gnu.linkonce.t._ZN8OpenFile16kDmGetFEventListEP15KernelOperationP10gpfsNode_tP11dmEventListPjj
+                0x0000000000000000       0xa1
+ .gnu.linkonce.t._ZN8OpenFile16kDmGetFEventListEP15KernelOperationP10gpfsNode_tP11dmEventListPjj
+                0x0000000000000000       0xa1 mmfs26.tmp
+                0x0000000000000000                OpenFile::kDmGetFEventList(KernelOperation*, gpfsNode_t*, dmEventList*, unsigned int*, unsigned int)
+
+.gnu.linkonce.t._ZN8OpenFile17deleteExtendedAclEP15KernelOperation
+                0x0000000000000000       0x6d
+ .gnu.linkonce.t._ZN8OpenFile17deleteExtendedAclEP15KernelOperation
+                0x0000000000000000       0x6d mmfs26.tmp
+                0x0000000000000000                OpenFile::deleteExtendedAcl(KernelOperation*)
+
+.gnu.linkonce.t._ZN8OpenFile16deleteDefaultAclEP15KernelOperation
+                0x0000000000000000       0x6d
+ .gnu.linkonce.t._ZN8OpenFile16deleteDefaultAclEP15KernelOperation
+                0x0000000000000000       0x6d mmfs26.tmp
+                0x0000000000000000                OpenFile::deleteDefaultAcl(KernelOperation*)
+
+.gnu.linkonce.t._ZNK8OpenFile15hasVFSReferenceEv
+                0x0000000000000000       0x5f
+ .gnu.linkonce.t._ZNK8OpenFile15hasVFSReferenceEv
+                0x0000000000000000       0x5f mmfs26.tmp
+                0x0000000000000000                OpenFile::hasVFSReference() const
+
+.gnu.linkonce.t._ZN10BufferDesc28copyDataToPrevSnapshotNeededEv
+                0x0000000000000000       0x51
+ .gnu.linkonce.t._ZN10BufferDesc28copyDataToPrevSnapshotNeededEv
+                0x0000000000000000       0x51 mmfs26.tmp
+                0x0000000000000000                BufferDesc::copyDataToPrevSnapshotNeeded()
+
+.gnu.linkonce.t._ZNK10BufferDesc19getDataCopiedSnapIdEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK10BufferDesc19getDataCopiedSnapIdEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                BufferDesc::getDataCopiedSnapId() const
+
+.gnu.linkonce.t._ZN8Dirblock14getIOBufferPtrEv
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZN8Dirblock14getIOBufferPtrEv
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                Dirblock::getIOBufferPtr()
+
+.gnu.linkonce.t._ZN15KernelOperation12kBeginVnopWrEP13gpfsVfsData_t
+                0x0000000000000000       0x7a
+ .gnu.linkonce.t._ZN15KernelOperation12kBeginVnopWrEP13gpfsVfsData_t
+                0x0000000000000000       0x7a mmfs26.tmp
+                0x0000000000000000                KernelOperation::kBeginVnopWr(gpfsVfsData_t*)
+
+.gnu.linkonce.t._ZN15KernelOperation15kBeginVnopRdPudEP13gpfsVfsData_t
+                0x0000000000000000       0x6a
+ .gnu.linkonce.t._ZN15KernelOperation15kBeginVnopRdPudEP13gpfsVfsData_t
+                0x0000000000000000       0x6a mmfs26.tmp
+                0x0000000000000000                KernelOperation::kBeginVnopRdPud(gpfsVfsData_t*)
+
+.gnu.linkonce.t._ZN15KernelOperation15kBeginVnopWrPudEP13gpfsVfsData_t
+                0x0000000000000000       0x79
+ .gnu.linkonce.t._ZN15KernelOperation15kBeginVnopWrPudEP13gpfsVfsData_t
+                0x0000000000000000       0x79 mmfs26.tmp
+                0x0000000000000000                KernelOperation::kBeginVnopWrPud(gpfsVfsData_t*)
+
+.gnu.linkonce.t._ZN15KernelOperation11setDmEventsEj
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN15KernelOperation11setDmEventsEj
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                KernelOperation::setDmEvents(unsigned int)
+
+.gnu.linkonce.t._ZN15KernelOperation12getInvisRdWrEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN15KernelOperation12getInvisRdWrEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                KernelOperation::getInvisRdWr()
+
+.gnu.linkonce.t._ZN15KernelOperation12setInvisRdWrEj
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN15KernelOperation12setInvisRdWrEj
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                KernelOperation::setInvisRdWr(unsigned int)
+
+.gnu.linkonce.t._ZN19KernelOperationMMapC1Ev
+                0x0000000000000000       0x18
+ .gnu.linkonce.t._ZN19KernelOperationMMapC1Ev
+                0x0000000000000000       0x18 mmfs26.tmp
+                0x0000000000000000                KernelOperationMMap::KernelOperationMMap()
+
+.gnu.linkonce.t._ZN9DirLayout9doff2hlevExi
+                0x0000000000000000       0x68
+ .gnu.linkonce.t._ZN9DirLayout9doff2hlevExi
+                0x0000000000000000       0x68 mmfs26.tmp
+                0x0000000000000000                DirLayout::doff2hlev(long long, int)
+
+.gnu.linkonce.t._ZN9DirLayout10doff2blockExi
+                0x0000000000000000       0x89
+ .gnu.linkonce.t._ZN9DirLayout10doff2blockExi
+                0x0000000000000000       0x89 mmfs26.tmp
+                0x0000000000000000                DirLayout::doff2block(long long, int)
+
+.gnu.linkonce.t._ZN9DirLayout9doff2slotExi
+                0x0000000000000000       0x52
+ .gnu.linkonce.t._ZN9DirLayout9doff2slotExi
+                0x0000000000000000       0x52 mmfs26.tmp
+                0x0000000000000000                DirLayout::doff2slot(long long, int)
+
+.gnu.linkonce.t._ZNK9DirLayout22getMaxOverflowBlockNumEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK9DirLayout22getMaxOverflowBlockNumEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                DirLayout::getMaxOverflowBlockNum() const
+
+.gnu.linkonce.t._ZNK6Direct12getBlockSizeEv
+                0x0000000000000000       0x19
+ .gnu.linkonce.t._ZNK6Direct12getBlockSizeEv
+                0x0000000000000000       0x19 mmfs26.tmp
+                0x0000000000000000                Direct::getBlockSize() const
+
+.gnu.linkonce.t._ZN20ClusterConfiguration13resetGraceEndEv
+                0x0000000000000000       0x2d
+ .gnu.linkonce.t._ZN20ClusterConfiguration13resetGraceEndEv
+                0x0000000000000000       0x2d mmfs26.tmp
+                0x0000000000000000                ClusterConfiguration::resetGraceEnd()
+
+.gnu.linkonce.t._ZNK20ClusterConfiguration11getGraceEndEv
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZNK20ClusterConfiguration11getGraceEndEv
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                ClusterConfiguration::getGraceEnd() const
+
+.gnu.linkonce.t._ZNK10SGAllocSet20getStatFreeDataSpaceEv
+                0x0000000000000000       0x1f
+ .gnu.linkonce.t._ZNK10SGAllocSet20getStatFreeDataSpaceEv
+                0x0000000000000000       0x1f mmfs26.tmp
+                0x0000000000000000                SGAllocSet::getStatFreeDataSpace() const
+
+.gnu.linkonce.t._ZNK10SGAllocSet17getStatFreeInodesEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK10SGAllocSet17getStatFreeInodesEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                SGAllocSet::getStatFreeInodes() const
+
+.gnu.linkonce.t._ZNK10SGAllocSet16getStatDataSpaceEv
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZNK10SGAllocSet16getStatDataSpaceEv
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                SGAllocSet::getStatDataSpace() const
+
+.gnu.linkonce.t._ZNK10SGAllocSet24getStatPoolFreeDataTotalEi
+                0x0000000000000000       0x6f
+ .gnu.linkonce.t._ZNK10SGAllocSet24getStatPoolFreeDataTotalEi
+                0x0000000000000000       0x6f mmfs26.tmp
+                0x0000000000000000                SGAllocSet::getStatPoolFreeDataTotal(int) const
+
+.gnu.linkonce.t._ZNK10SGAllocSet25getStatPoolFreeDataGlobalEi
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK10SGAllocSet25getStatPoolFreeDataGlobalEi
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                SGAllocSet::getStatPoolFreeDataGlobal(int) const
+
+.gnu.linkonce.t._ZNK10SGAllocSet28getStatPoolFreeMetadataTotalEi
+                0x0000000000000000       0x6f
+ .gnu.linkonce.t._ZNK10SGAllocSet28getStatPoolFreeMetadataTotalEi
+                0x0000000000000000       0x6f mmfs26.tmp
+                0x0000000000000000                SGAllocSet::getStatPoolFreeMetadataTotal(int) const
+
+.gnu.linkonce.t._ZNK10SGAllocSet29getStatPoolFreeMetadataGlobalEi
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK10SGAllocSet29getStatPoolFreeMetadataGlobalEi
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                SGAllocSet::getStatPoolFreeMetadataGlobal(int) const
+
+.gnu.linkonce.t._ZN14AllocMgrServer24get_local_inode_activityEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN14AllocMgrServer24get_local_inode_activityEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                AllocMgrServer::get_local_inode_activity()
+
+.gnu.linkonce.t._ZN8NodeAddrC1Ev
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN8NodeAddrC1Ev
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                NodeAddr::NodeAddr()
+
+.gnu.linkonce.t._ZNK11dmEventList10isSetEventE14dm_eventtype_t
+                0x0000000000000000       0x20
+ .gnu.linkonce.t._ZNK11dmEventList10isSetEventE14dm_eventtype_t
+                0x0000000000000000       0x20 mmfs26.tmp
+                0x0000000000000000                dmEventList::isSetEvent(dm_eventtype_t) const
+
+.gnu.linkonce.t._ZNK15StripeGroupDesc11isQuotaFileEii
+                0x0000000000000000       0x38
+ .gnu.linkonce.t._ZNK15StripeGroupDesc11isQuotaFileEii
+                0x0000000000000000       0x38 mmfs26.tmp
+                0x0000000000000000                StripeGroupDesc::isQuotaFile(int, int) const
+
+.gnu.linkonce.t._ZNK9AtomInt646getvalEv
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZNK9AtomInt646getvalEv
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                AtomInt64::getval() const
+
+.gnu.linkonce.t._ZN22MmpmonRequestSizeRange17mmpmonRangeFinderEyPKyi
+                0x0000000000000000       0x69
+ .gnu.linkonce.t._ZN22MmpmonRequestSizeRange17mmpmonRangeFinderEyPKyi
+                0x0000000000000000       0x69 mmfs26.tmp
+                0x0000000000000000                MmpmonRequestSizeRange::mmpmonRangeFinder(unsigned long long, unsigned long long const*, int)
+
+.gnu.linkonce.t._ZNK11StripeGroup17getStatfsFMBlocksEv
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZNK11StripeGroup17getStatfsFMBlocksEv
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                StripeGroup::getStatfsFMBlocks() const
+
+.gnu.linkonce.t._ZN11StripeGroup20getStoragePoolStatusEi
+                0x0000000000000000       0x74
+ .gnu.linkonce.t._ZN11StripeGroup20getStoragePoolStatusEi
+                0x0000000000000000       0x74 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getStoragePoolStatus(int)
+
+.gnu.linkonce.t._ZN11StripeGroup18isStoragePoolValidEi
+                0x0000000000000000       0x87
+ .gnu.linkonce.t._ZN11StripeGroup18isStoragePoolValidEi
+                0x0000000000000000       0x87 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isStoragePoolValid(int)
+
+.gnu.linkonce.t._ZN11StripeGroup23isStoragePoolIndexValidEiPi
+                0x0000000000000000       0x81
+ .gnu.linkonce.t._ZN11StripeGroup23isStoragePoolIndexValidEiPi
+                0x0000000000000000       0x81 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isStoragePoolIndexValid(int, int*)
+
+.gnu.linkonce.t._ZN12FileMetadata17deleteExtendedAclEP15KernelOperation
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZN12FileMetadata17deleteExtendedAclEP15KernelOperation
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                FileMetadata::deleteExtendedAcl(KernelOperation*)
+
+.gnu.linkonce.t._ZN12FileMetadata16deleteDefaultAclEP15KernelOperation
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZN12FileMetadata16deleteDefaultAclEP15KernelOperation
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                FileMetadata::deleteDefaultAcl(KernelOperation*)
+
+.gnu.linkonce.t._ZN15KernelOperationC2Ev
+                0x0000000000000000       0x46
+ .gnu.linkonce.t._ZN15KernelOperationC2Ev
+                0x0000000000000000       0x46 mmfs26.tmp
+                0x0000000000000000                KernelOperation::KernelOperation()
+
+.gnu.linkonce.t._ZNK6Direct11refToOffsetEt
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZNK6Direct11refToOffsetEt
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                Direct::refToOffset(unsigned short) const
+
+.gnu.linkonce.t._ZNK11StripeGroup5isACLEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup5isACLEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::isACL() const
+
+.gnu.linkonce.t._ZN11StripeGroup17isAclSupportPosixEv
+                0x0000000000000000       0x1e
+ .gnu.linkonce.t._ZN11StripeGroup17isAclSupportPosixEv
+                0x0000000000000000       0x1e mmfs26.tmp
+                0x0000000000000000                StripeGroup::isAclSupportPosix()
+
+.gnu.linkonce.t._ZN12FileMetadata9setV4ModeEjP15KernelOperation
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZN12FileMetadata9setV4ModeEjP15KernelOperation
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                FileMetadata::setV4Mode(unsigned int, KernelOperation*)
+
+.gnu.linkonce.t._ZNK8OpenFile13getDefaultAclEv
+                0x0000000000000000       0x61
+ .gnu.linkonce.t._ZNK8OpenFile13getDefaultAclEv
+                0x0000000000000000       0x61 mmfs26.tmp
+                0x0000000000000000                OpenFile::getDefaultAcl() const
+
+.gnu.linkonce.t._ZN14AclLocalEndian7aclTypeEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN14AclLocalEndian7aclTypeEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aclType()
+
+.gnu.linkonce.t._ZN14AclLocalEndian7aceTypeEv
+                0x0000000000000000       0x20
+ .gnu.linkonce.t._ZN14AclLocalEndian7aceTypeEv
+                0x0000000000000000       0x20 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aceType()
+
+.gnu.linkonce.t._ZN14AclLocalEndian8aceFlagsEv
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZN14AclLocalEndian8aceFlagsEv
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aceFlags()
+
+.gnu.linkonce.t._ZN14AclLocalEndian9aceIFlagsEv
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZN14AclLocalEndian9aceIFlagsEv
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aceIFlags()
+
+.gnu.linkonce.t._ZN14AclLocalEndian7aceMaskEv
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZN14AclLocalEndian7aceMaskEv
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aceMask()
+
+.gnu.linkonce.t._ZN14AclLocalEndian6aceWhoEv
+                0x0000000000000000       0x1b
+ .gnu.linkonce.t._ZN14AclLocalEndian6aceWhoEv
+                0x0000000000000000       0x1b mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::aceWho()
+
+.gnu.linkonce.t._ZN14AclLocalEndian9exportAclEP3ACLj
+                0x0000000000000000       0xc5
+ .gnu.linkonce.t._ZN14AclLocalEndian9exportAclEP3ACLj
+                0x0000000000000000       0xc5 mmfs26.tmp
+                0x0000000000000000                AclLocalEndian::exportAcl(ACL*, unsigned int)
+
+.gnu.linkonce.t._ZNK12FileMetadata13getDefaultAclEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK12FileMetadata13getDefaultAclEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getDefaultAcl() const
+
+.gnu.linkonce.t._ZN11FileUID_rpcaSERK7FileUID
+                0x0000000000000000       0x21
+ .gnu.linkonce.t._ZN11FileUID_rpcaSERK7FileUID
+                0x0000000000000000       0x21 mmfs26.tmp
+                0x0000000000000000                FileUID_rpc::operator=(FileUID const&)
+
+.gnu.linkonce.t._ZN14DataShipBuffer15getOverheadSizeEv
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZN14DataShipBuffer15getOverheadSizeEv
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                DataShipBuffer::getOverheadSize()
+
+.gnu.linkonce.t._ZN13PrefetchState13dsLocalAccessEv
+                0x0000000000000000       0x42
+ .gnu.linkonce.t._ZN13PrefetchState13dsLocalAccessEv
+                0x0000000000000000       0x42 mmfs26.tmp
+                0x0000000000000000                PrefetchState::dsLocalAccess()
+
+.gnu.linkonce.t._ZN13PrefetchState14dsRemoteAccessEv
+                0x0000000000000000       0x42
+ .gnu.linkonce.t._ZN13PrefetchState14dsRemoteAccessEv
+                0x0000000000000000       0x42 mmfs26.tmp
+                0x0000000000000000                PrefetchState::dsRemoteAccess()
+
+.gnu.linkonce.t._ZN13PrefetchState20incrNBuffersCouldUseEv
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZN13PrefetchState20incrNBuffersCouldUseEv
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                PrefetchState::incrNBuffersCouldUse()
+
+.gnu.linkonce.t._ZNK9dsBufferQ14getDSQPoolSizeEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK9dsBufferQ14getDSQPoolSizeEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dsBufferQ::getDSQPoolSize() const
+
+.gnu.linkonce.t._ZN12BigEndUInt16aSEt
+                0x0000000000000000       0x29
+ .gnu.linkonce.t._ZN12BigEndUInt16aSEt
+                0x0000000000000000       0x29 mmfs26.tmp
+                0x0000000000000000                BigEndUInt16::operator=(unsigned short)
+
+.gnu.linkonce.t._ZN12BigEndUInt64aSEy
+                0x0000000000000000       0x32
+ .gnu.linkonce.t._ZN12BigEndUInt64aSEy
+                0x0000000000000000       0x32 mmfs26.tmp
+                0x0000000000000000                BigEndUInt64::operator=(unsigned long long)
+
+.gnu.linkonce.t._Z11XAttrGetLenPKcj
+                0x0000000000000000       0x41
+ .gnu.linkonce.t._Z11XAttrGetLenPKcj
+                0x0000000000000000       0x41 mmfs26.tmp
+                0x0000000000000000                XAttrGetLen(char const*, unsigned int)
+
+.gnu.linkonce.t._ZN12FileMetadata22setCurrentDataReplicasEi
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN12FileMetadata22setCurrentDataReplicasEi
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                FileMetadata::setCurrentDataReplicas(int)
+
+.gnu.linkonce.t._ZN12FileMetadata16setIllReplicatedEj
+                0x0000000000000000       0x15
+ .gnu.linkonce.t._ZN12FileMetadata16setIllReplicatedEj
+                0x0000000000000000       0x15 mmfs26.tmp
+                0x0000000000000000                FileMetadata::setIllReplicated(unsigned int)
+
+.gnu.linkonce.t._ZN12FileMetadata10setExposedEj
+                0x0000000000000000       0x15
+ .gnu.linkonce.t._ZN12FileMetadata10setExposedEj
+                0x0000000000000000       0x15 mmfs26.tmp
+                0x0000000000000000                FileMetadata::setExposed(unsigned int)
+
+.gnu.linkonce.t._ZN12FileMetadata16setDataPoolIndexEi
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN12FileMetadata16setDataPoolIndexEi
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::setDataPoolIndex(int)
+
+.gnu.linkonce.t._ZN12FileMetadata12setIllPlacedEj
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN12FileMetadata12setIllPlacedEj
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::setIllPlaced(unsigned int)
+
+.gnu.linkonce.t._ZNK12FileMetadata14isMetadataFileEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK12FileMetadata14isMetadataFileEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                FileMetadata::isMetadataFile() const
+
+.gnu.linkonce.t._ZNK12FileMetadata21dmGetEventListSummaryEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12FileMetadata21dmGetEventListSummaryEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                FileMetadata::dmGetEventListSummary() const
+
+.gnu.linkonce.t._ZNK12FileMetadata21dmGetReadEventSummaryEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12FileMetadata21dmGetReadEventSummaryEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                FileMetadata::dmGetReadEventSummary() const
+
+.gnu.linkonce.t._ZNK12FileMetadata22dmGetWriteEventSummaryEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12FileMetadata22dmGetWriteEventSummaryEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                FileMetadata::dmGetWriteEventSummary() const
+
+.gnu.linkonce.t._ZNK12FileMetadata25dmGetTruncateEventSummaryEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12FileMetadata25dmGetTruncateEventSummaryEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                FileMetadata::dmGetTruncateEventSummary() const
+
+.gnu.linkonce.t._ZNK12FileMetadata22dmGetOpaqueAttrSummaryEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12FileMetadata22dmGetOpaqueAttrSummaryEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                FileMetadata::dmGetOpaqueAttrSummary() const
+
+.gnu.linkonce.t._ZNK8OpenFile14getNDataBlocksEv
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZNK8OpenFile14getNDataBlocksEv
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                OpenFile::getNDataBlocks() const
+
+.gnu.linkonce.t._ZN8OpenFile16dmGetOpaqueAttr1Ev
+                0x0000000000000000       0x65
+ .gnu.linkonce.t._ZN8OpenFile16dmGetOpaqueAttr1Ev
+                0x0000000000000000       0x65 mmfs26.tmp
+                0x0000000000000000                OpenFile::dmGetOpaqueAttr1()
+
+.gnu.linkonce.t._ZN8OpenFile16dmGetOpaqueAttr2Ev
+                0x0000000000000000       0x65
+ .gnu.linkonce.t._ZN8OpenFile16dmGetOpaqueAttr2Ev
+                0x0000000000000000       0x65 mmfs26.tmp
+                0x0000000000000000                OpenFile::dmGetOpaqueAttr2()
+
+.gnu.linkonce.t._ZNK13MetaFileBlock6getBDPEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK13MetaFileBlock6getBDPEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                MetaFileBlock::getBDP() const
+
+.gnu.linkonce.t._ZNK13MetaFileBlock14getAttachDataPEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK13MetaFileBlock14getAttachDataPEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                MetaFileBlock::getAttachDataP() const
+
+.gnu.linkonce.t._ZN11XAttrAccessC1Ev
+                0x0000000000000000       0x32
+ .gnu.linkonce.t._ZN11XAttrAccessC1Ev
+                0x0000000000000000       0x32 mmfs26.tmp
+                0x0000000000000000                XAttrAccess::XAttrAccess()
+
+.gnu.linkonce.t._ZN11XAttrAccessD1Ev
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN11XAttrAccessD1Ev
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                XAttrAccess::~XAttrAccess()
+
+.gnu.linkonce.t._ZN17CachedInodeHeader12setIllPlacedEj
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZN17CachedInodeHeader12setIllPlacedEj
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                CachedInodeHeader::setIllPlaced(unsigned int)
+
+.gnu.linkonce.t._ZN17CachedInodeHeader16setDataPoolIndexEi
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN17CachedInodeHeader16setDataPoolIndexEi
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                CachedInodeHeader::setDataPoolIndex(int)
+
+.gnu.linkonce.t._ZNK12FileMetadata14getNDataBlocksEv
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZNK12FileMetadata14getNDataBlocksEv
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getNDataBlocks() const
+
+.gnu.linkonce.t._ZNK12FileMetadata16dmGetOpaqueAttr1Ev
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12FileMetadata16dmGetOpaqueAttr1Ev
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                FileMetadata::dmGetOpaqueAttr1() const
+
+.gnu.linkonce.t._ZNK12FileMetadata16dmGetOpaqueAttr2Ev
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12FileMetadata16dmGetOpaqueAttr2Ev
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                FileMetadata::dmGetOpaqueAttr2() const
+
+.gnu.linkonce.t._ZN13MetaFileBlockC1Ev
+                0x0000000000000000       0x2f
+ .gnu.linkonce.t._ZN13MetaFileBlockC1Ev
+                0x0000000000000000       0x2f mmfs26.tmp
+                0x0000000000000000                MetaFileBlock::MetaFileBlock()
+
+.gnu.linkonce.t._ZN15KernelOperation16kBeginFromDaemonEP13gpfsVfsData_t
+                0x0000000000000000       0x46
+ .gnu.linkonce.t._ZN15KernelOperation16kBeginFromDaemonEP13gpfsVfsData_t
+                0x0000000000000000       0x46 mmfs26.tmp
+                0x0000000000000000                KernelOperation::kBeginFromDaemon(gpfsVfsData_t*)
+
+.gnu.linkonce.t._ZN11MmFlushArgsC1Ev
+                0x0000000000000000       0x16
+ .gnu.linkonce.t._ZN11MmFlushArgsC1Ev
+                0x0000000000000000       0x16 mmfs26.tmp
+                0x0000000000000000                MmFlushArgs::MmFlushArgs()
+
+.gnu.linkonce.t._ZN10PagerKprocnwEj
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN10PagerKprocnwEj
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                PagerKproc::operator new(unsigned int)
+
+.gnu.linkonce.t._ZN10PagerKprocdlEPv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN10PagerKprocdlEPv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                PagerKproc::operator delete(void*)
+
+.gnu.linkonce.t._ZN10PagerKproc16adjustLimReadersEv
+                0x0000000000000000       0x31
+ .gnu.linkonce.t._ZN10PagerKproc16adjustLimReadersEv
+                0x0000000000000000       0x31 mmfs26.tmp
+                0x0000000000000000                PagerKproc::adjustLimReaders()
+
+.gnu.linkonce.t._ZNK13PrefetchState17onlyLocalAccessesEv
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZNK13PrefetchState17onlyLocalAccessesEv
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                PrefetchState::onlyLocalAccesses() const
+
+.gnu.linkonce.t._ZNK16PrefetchSpecList17getNPrefetchSpecsEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZNK16PrefetchSpecList17getNPrefetchSpecsEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                PrefetchSpecList::getNPrefetchSpecs() const
+
+.gnu.linkonce.t._ZN12OpenInstance24setPrefetchCleanupNeededEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZN12OpenInstance24setPrefetchCleanupNeededEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                OpenInstance::setPrefetchCleanupNeeded()
+
+.gnu.linkonce.t._ZN10WhatLocked7isCleanEv
+                0x0000000000000000       0x13
+ .gnu.linkonce.t._ZN10WhatLocked7isCleanEv
+                0x0000000000000000       0x13 mmfs26.tmp
+                0x0000000000000000                WhatLocked::isClean()
+
+.gnu.linkonce.t._ZNK11RepDiskAddr14getNValidAddrsEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK11RepDiskAddr14getNValidAddrsEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::getNValidAddrs() const
+
+.gnu.linkonce.t._ZNK11RepDiskAddr23getNextDiskIndexForReadEi
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZNK11RepDiskAddr23getNextDiskIndexForReadEi
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::getNextDiskIndexForRead(int) const
+
+.gnu.linkonce.t._ZNK11RepDiskAddr7extractEi
+                0x0000000000000000       0x30
+ .gnu.linkonce.t._ZNK11RepDiskAddr7extractEi
+                0x0000000000000000       0x30 mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::extract(int) const
+
+.gnu.linkonce.t._ZNK11RepDiskAddr10getPhantomEi
+                0x0000000000000000        0xc
+ .gnu.linkonce.t._ZNK11RepDiskAddr10getPhantomEi
+                0x0000000000000000        0xc mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::getPhantom(int) const
+
+.gnu.linkonce.t._ZN10fsDiskAddr12getFromArrayEPK10DiskAddr96iiii
+                0x0000000000000000       0x3c
+ .gnu.linkonce.t._ZN10fsDiskAddr12getFromArrayEPK10DiskAddr96iiii
+                0x0000000000000000       0x3c mmfs26.tmp
+                0x0000000000000000                fsDiskAddr::getFromArray(DiskAddr96 const*, int, int, int, int)
+
+.gnu.linkonce.t._ZN10fsDiskAddr13setNSubblocksEi
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN10fsDiskAddr13setNSubblocksEi
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                fsDiskAddr::setNSubblocks(int)
+
+.gnu.linkonce.t._ZNK4Disk8getDevIdEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK4Disk8getDevIdEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                Disk::getDevId() const
+
+.gnu.linkonce.t._ZNK4Disk13getSectorSizeEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZNK4Disk13getSectorSizeEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                Disk::getSectorSize() const
+
+.gnu.linkonce.t._ZNK11StripeGroup9getNDisksEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup9getNDisksEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getNDisks() const
+
+.gnu.linkonce.t._ZNK11StripeGroup19getDiskAvailabilityEi
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK11StripeGroup19getDiskAvailabilityEi
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                StripeGroup::getDiskAvailability(int) const
+
+.gnu.linkonce.t._ZNK11StripeGroup23getFailureConfigVersionEi
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK11StripeGroup23getFailureConfigVersionEi
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                StripeGroup::getFailureConfigVersion(int) const
+
+.gnu.linkonce.t._ZNK11StripeGroup20diskAvailableForReadEi
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZNK11StripeGroup20diskAvailableForReadEi
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                StripeGroup::diskAvailableForRead(int) const
+
+.gnu.linkonce.t._ZNK11StripeGroup21diskAvailableForWriteEi
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZNK11StripeGroup21diskAvailableForWriteEi
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                StripeGroup::diskAvailableForWrite(int) const
+
+.gnu.linkonce.t._ZNK11StripeGroup24diskAvailableForRecoveryEij
+                0x0000000000000000       0x32
+ .gnu.linkonce.t._ZNK11StripeGroup24diskAvailableForRecoveryEij
+                0x0000000000000000       0x32 mmfs26.tmp
+                0x0000000000000000                StripeGroup::diskAvailableForRecovery(int, unsigned int) const
+
+.gnu.linkonce.t._ZNK11StripeGroup13getSectorSizeEv
+                0x0000000000000000       0x12
+ .gnu.linkonce.t._ZNK11StripeGroup13getSectorSizeEv
+                0x0000000000000000       0x12 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getSectorSize() const
+
+.gnu.linkonce.t._ZNK11StripeGroup15getDiskAddrSizeEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup15getDiskAddrSizeEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getDiskAddrSize() const
+
+.gnu.linkonce.t._ZNK10DiskAddr9610getPhantomEv
+                0x0000000000000000       0x15
+ .gnu.linkonce.t._ZNK10DiskAddr9610getPhantomEv
+                0x0000000000000000       0x15 mmfs26.tmp
+                0x0000000000000000                DiskAddr96::getPhantom() const
+
+.gnu.linkonce.t._ZNK11RepDiskAddr7isALLOCEv
+                0x0000000000000000       0x2c
+ .gnu.linkonce.t._ZNK11RepDiskAddr7isALLOCEv
+                0x0000000000000000       0x2c mmfs26.tmp
+                0x0000000000000000                RepDiskAddr::isALLOC() const
+
+.gnu.linkonce.t._ZNK10DiskAddr96neERKS_
+                0x0000000000000000       0x26
+ .gnu.linkonce.t._ZNK10DiskAddr96neERKS_
+                0x0000000000000000       0x26 mmfs26.tmp
+                0x0000000000000000                DiskAddr96::operator!=(DiskAddr96 const&) const
+
+.gnu.linkonce.t._ZNK11ClientToken9ctGetModeEv
+                0x0000000000000000        0x5
+ .gnu.linkonce.t._ZNK11ClientToken9ctGetModeEv
+                0x0000000000000000        0x5 mmfs26.tmp
+                0x0000000000000000                ClientToken::ctGetMode() const
+
+.gnu.linkonce.t._ZN3BRL7stretchERK9ByteRange
+                0x0000000000000000       0xf8
+ .gnu.linkonce.t._ZN3BRL7stretchERK9ByteRange
+                0x0000000000000000       0xf8 mmfs26.tmp
+                0x0000000000000000                BRL::stretch(ByteRange const&)
+
+.gnu.linkonce.t._ZNK11DirInodeNum7getModeE12DirEntryType
+                0x0000000000000000       0x55
+ .gnu.linkonce.t._ZNK11DirInodeNum7getModeE12DirEntryType
+                0x0000000000000000       0x55 mmfs26.tmp
+                0x0000000000000000                DirInodeNum::getMode(DirEntryType) const
+
+.gnu.linkonce.t._ZN11DirInodeNum3setEij12DirEntryTypej
+                0x0000000000000000       0x7d
+ .gnu.linkonce.t._ZN11DirInodeNum3setEij12DirEntryTypej
+                0x0000000000000000       0x7d mmfs26.tmp
+                0x0000000000000000                DirInodeNum::set(int, unsigned int, DirEntryType, unsigned int)
+
+.gnu.linkonce.t._ZN10DiskAddr96aSERK10DiskAddr48
+                0x0000000000000000       0xcc
+ .gnu.linkonce.t._ZN10DiskAddr96aSERK10DiskAddr48
+                0x0000000000000000       0xcc mmfs26.tmp
+                0x0000000000000000                DiskAddr96::operator=(DiskAddr48 const&)
+
+.gnu.linkonce.t._ZN10DiskAddr48aSERK10DiskAddr96
+                0x0000000000000000       0x86
+ .gnu.linkonce.t._ZN10DiskAddr48aSERK10DiskAddr96
+                0x0000000000000000       0x86 mmfs26.tmp
+                0x0000000000000000                DiskAddr48::operator=(DiskAddr96 const&)
+
+.gnu.linkonce.t._ZN12SMBOpLkLkObj12oplockCloseMEP12OpenInstance
+                0x0000000000000000       0x5a
+ .gnu.linkonce.t._ZN12SMBOpLkLkObj12oplockCloseMEP12OpenInstance
+                0x0000000000000000       0x5a mmfs26.tmp
+                0x0000000000000000                SMBOpLkLkObj::oplockCloseM(OpenInstance*)
+
+.gnu.linkonce.t._ZN10KeyHistory4findEjjPt
+                0x0000000000000000       0xe0
+ .gnu.linkonce.t._ZN10KeyHistory4findEjjPt
+                0x0000000000000000       0xe0 mmfs26.tmp
+                0x0000000000000000                KeyHistory::find(unsigned int, unsigned int, unsigned short*)
+
+.gnu.linkonce.t._ZN6Buffer4initEj
+                0x0000000000000000       0x89
+ .gnu.linkonce.t._ZN6Buffer4initEj
+                0x0000000000000000       0x89 mmfs26.tmp
+                0x0000000000000000                Buffer::init(unsigned int)
+
+.gnu.linkonce.t._ZN10KeyHistory11getHashNextEt
+                0x0000000000000000       0x5a
+ .gnu.linkonce.t._ZN10KeyHistory11getHashNextEt
+                0x0000000000000000       0x5a mmfs26.tmp
+                0x0000000000000000                KeyHistory::getHashNext(unsigned short)
+
+.gnu.linkonce.t._ZN12HolderBitmapD1Ev
+                0x0000000000000000       0x3c
+ .gnu.linkonce.t._ZN12HolderBitmapD1Ev
+                0x0000000000000000       0x3c mmfs26.tmp
+                0x0000000000000000                HolderBitmap::~HolderBitmap()
+
+.gnu.linkonce.t._ZN12HolderBitmap5hbAddEi
+                0x0000000000000000       0xa9
+ .gnu.linkonce.t._ZN12HolderBitmap5hbAddEi
+                0x0000000000000000       0xa9 mmfs26.tmp
+                0x0000000000000000                HolderBitmap::hbAdd(int)
+
+.gnu.linkonce.t._ZN10BRTreeNodeC1Eyyiij
+                0x0000000000000000       0x97
+ .gnu.linkonce.t._ZN10BRTreeNodeC1Eyyiij
+                0x0000000000000000       0x97 mmfs26.tmp
+                0x0000000000000000                BRTreeNode::BRTreeNode(unsigned long long, unsigned long long, int, int, unsigned int)
+
+.gnu.linkonce.t._ZNK10BRTreeNode10btnGetModeEs
+                0x0000000000000000       0xa7
+ .gnu.linkonce.t._ZNK10BRTreeNode10btnGetModeEs
+                0x0000000000000000       0xa7 mmfs26.tmp
+                0x0000000000000000                BRTreeNode::btnGetMode(short) const
+
+.gnu.linkonce.t._ZNK12dmFileHandleeqERKS_
+                0x0000000000000000       0x76
+ .gnu.linkonce.t._ZNK12dmFileHandleeqERKS_
+                0x0000000000000000       0x76 mmfs26.tmp
+                0x0000000000000000                dmFileHandle::operator==(dmFileHandle const&) const
+
+.gnu.linkonce.t._ZN11dmEventList4swapEv
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZN11dmEventList4swapEv
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                dmEventList::swap()
+
+.gnu.linkonce.t._ZN11dmEventList8setEventE14dm_eventtype_t
+                0x0000000000000000       0x16
+ .gnu.linkonce.t._ZN11dmEventList8setEventE14dm_eventtype_t
+                0x0000000000000000       0x16 mmfs26.tmp
+                0x0000000000000000                dmEventList::setEvent(dm_eventtype_t)
+
+.gnu.linkonce.t._ZN11dmEventList10clearEventE14dm_eventtype_t
+                0x0000000000000000       0x16
+ .gnu.linkonce.t._ZN11dmEventList10clearEventE14dm_eventtype_t
+                0x0000000000000000       0x16 mmfs26.tmp
+                0x0000000000000000                dmEventList::clearEvent(dm_eventtype_t)
+
+.gnu.linkonce.t._ZN11dmEventList12setAllEventsEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11dmEventList12setAllEventsEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                dmEventList::setAllEvents()
+
+.gnu.linkonce.t._ZN11dmEventList14clearAllEventsEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN11dmEventList14clearAllEventsEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                dmEventList::clearAllEvents()
+
+.gnu.linkonce.t._ZN15dmKxSessionList10getNumSessEv
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN15dmKxSessionList10getNumSessEv
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmKxSessionList::getNumSess()
+
+.gnu.linkonce.t._ZN6dmDisp15getDispForEventE14dm_eventtype_t
+                0x0000000000000000       0x20
+ .gnu.linkonce.t._ZN6dmDisp15getDispForEventE14dm_eventtype_t
+                0x0000000000000000       0x20 mmfs26.tmp
+                0x0000000000000000                dmDisp::getDispForEvent(dm_eventtype_t)
+
+.gnu.linkonce.t._ZNK8NodeAddrneERKS_
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK8NodeAddrneERKS_
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                NodeAddr::operator!=(NodeAddr const&) const
+
+.gnu.linkonce.t._ZNK12dmFileHandleneERKS_
+                0x0000000000000000        0xe
+ .gnu.linkonce.t._ZNK12dmFileHandleneERKS_
+                0x0000000000000000        0xe mmfs26.tmp
+                0x0000000000000000                dmFileHandle::operator!=(dmFileHandle const&) const
+
+.gnu.linkonce.t._ZNK12dmFileHandle7getSgIdEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12dmFileHandle7getSgIdEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                dmFileHandle::getSgId() const
+
+.gnu.linkonce.t._ZN12dmFileHandle12makeSgHandleE7DiskUID
+                0x0000000000000000       0x27
+ .gnu.linkonce.t._ZN12dmFileHandle12makeSgHandleE7DiskUID
+                0x0000000000000000       0x27 mmfs26.tmp
+                0x0000000000000000                dmFileHandle::makeSgHandle(DiskUID)
+
+.gnu.linkonce.t._ZN11dmEventList15setAllEventListES_
+                0x0000000000000000        0xd
+ .gnu.linkonce.t._ZN11dmEventList15setAllEventListES_
+                0x0000000000000000        0xd mmfs26.tmp
+                0x0000000000000000                dmEventList::setAllEventList(dmEventList)
+
+.gnu.linkonce.t._ZNK11StripeGroup13getMountPointEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZNK11StripeGroup13getMountPointEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                StripeGroup::getMountPoint() const
+
+.gnu.linkonce.t._ZN14dmEventElement7setTypeE14dm_eventtype_t
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN14dmEventElement7setTypeE14dm_eventtype_t
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmEventElement::setType(dm_eventtype_t)
+
+.gnu.linkonce.t._ZN14dmEventElement13setEventTokenE12dm_scalar128
+                0x0000000000000000       0x1d
+ .gnu.linkonce.t._ZN14dmEventElement13setEventTokenE12dm_scalar128
+                0x0000000000000000       0x1d mmfs26.tmp
+                0x0000000000000000                dmEventElement::setEventToken(dm_scalar128)
+
+.gnu.linkonce.t._ZN14dmEventElement16setEventSequenceE12dm_scalar128
+                0x0000000000000000       0x1d
+ .gnu.linkonce.t._ZN14dmEventElement16setEventSequenceE12dm_scalar128
+                0x0000000000000000       0x1d mmfs26.tmp
+                0x0000000000000000                dmEventElement::setEventSequence(dm_scalar128)
+
+.gnu.linkonce.t._ZN14dmEventElement9setNodeidEv
+                0x0000000000000000       0x10
+ .gnu.linkonce.t._ZN14dmEventElement9setNodeidEv
+                0x0000000000000000       0x10 mmfs26.tmp
+                0x0000000000000000                dmEventElement::setNodeid()
+
+.gnu.linkonce.t._ZN18dmDataEventElement9setHandleE12dmFileHandle
+                0x0000000000000000       0x2b
+ .gnu.linkonce.t._ZN18dmDataEventElement9setHandleE12dmFileHandle
+                0x0000000000000000       0x2b mmfs26.tmp
+                0x0000000000000000                dmDataEventElement::setHandle(dmFileHandle)
+
+.gnu.linkonce.t._ZN18dmDataEventElement9setOffsetEx
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN18dmDataEventElement9setOffsetEx
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                dmDataEventElement::setOffset(long long)
+
+.gnu.linkonce.t._ZN18dmDataEventElement6setLenEy
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN18dmDataEventElement6setLenEy
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                dmDataEventElement::setLen(unsigned long long)
+
+.gnu.linkonce.t._ZN18dmDataEventElement9getOffsetEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN18dmDataEventElement9getOffsetEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                dmDataEventElement::getOffset()
+
+.gnu.linkonce.t._ZN21dmMBMountEventElement10setHandle1E12dmFileHandle
+                0x0000000000000000       0x2b
+ .gnu.linkonce.t._ZN21dmMBMountEventElement10setHandle1E12dmFileHandle
+                0x0000000000000000       0x2b mmfs26.tmp
+                0x0000000000000000                dmMBMountEventElement::setHandle1(dmFileHandle)
+
+.gnu.linkonce.t._ZN21dmMBMountEventElement10setHandle2E12dmFileHandle
+                0x0000000000000000       0x2b
+ .gnu.linkonce.t._ZN21dmMBMountEventElement10setHandle2E12dmFileHandle
+                0x0000000000000000       0x2b mmfs26.tmp
+                0x0000000000000000                dmMBMountEventElement::setHandle2(dmFileHandle)
+
+.gnu.linkonce.t._ZN21dmMBMountEventElement13setRootHandleE12dmFileHandle
+                0x0000000000000000       0x2b
+ .gnu.linkonce.t._ZN21dmMBMountEventElement13setRootHandleE12dmFileHandle
+                0x0000000000000000       0x2b mmfs26.tmp
+                0x0000000000000000                dmMBMountEventElement::setRootHandle(dmFileHandle)
+
+.gnu.linkonce.t._ZN21dmMBMountEventElement7setLen1Ei
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN21dmMBMountEventElement7setLen1Ei
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmMBMountEventElement::setLen1(int)
+
+.gnu.linkonce.t._ZN21dmMBMountEventElement7setLen2Ei
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN21dmMBMountEventElement7setLen2Ei
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmMBMountEventElement::setLen2(int)
+
+.gnu.linkonce.t._ZN21dmMBMountEventElement7setModeEj
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN21dmMBMountEventElement7setModeEj
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmMBMountEventElement::setMode(unsigned int)
+
+.gnu.linkonce.t._ZN22dmMBNamespEventElement10setHandle1E12dmFileHandle
+                0x0000000000000000       0x2b
+ .gnu.linkonce.t._ZN22dmMBNamespEventElement10setHandle1E12dmFileHandle
+                0x0000000000000000       0x2b mmfs26.tmp
+                0x0000000000000000                dmMBNamespEventElement::setHandle1(dmFileHandle)
+
+.gnu.linkonce.t._ZN22dmMBNamespEventElement10setHandle2E12dmFileHandle
+                0x0000000000000000       0x2b
+ .gnu.linkonce.t._ZN22dmMBNamespEventElement10setHandle2E12dmFileHandle
+                0x0000000000000000       0x2b mmfs26.tmp
+                0x0000000000000000                dmMBNamespEventElement::setHandle2(dmFileHandle)
+
+.gnu.linkonce.t._ZN22dmMBNamespEventElement10setRetcodeEi
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN22dmMBNamespEventElement10setRetcodeEi
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmMBNamespEventElement::setRetcode(int)
+
+.gnu.linkonce.t._ZN22dmMBNamespEventElement7setLen1Ei
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN22dmMBNamespEventElement7setLen1Ei
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmMBNamespEventElement::setLen1(int)
+
+.gnu.linkonce.t._ZN22dmMBNamespEventElement7setLen2Ei
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN22dmMBNamespEventElement7setLen2Ei
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmMBNamespEventElement::setLen2(int)
+
+.gnu.linkonce.t._ZN22dmMBNamespEventElement7setModeEj
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN22dmMBNamespEventElement7setModeEj
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmMBNamespEventElement::setMode(unsigned int)
+
+.gnu.linkonce.t._ZN20dmMBUserEventElement6setLenEi
+                0x0000000000000000        0x4
+ .gnu.linkonce.t._ZN20dmMBUserEventElement6setLenEi
+                0x0000000000000000        0x4 mmfs26.tmp
+                0x0000000000000000                dmMBUserEventElement::setLen(int)
+
+.gnu.linkonce.t._ZN12FileMetadata6getOfPEv
+                0x0000000000000000        0x3
+ .gnu.linkonce.t._ZN12FileMetadata6getOfPEv
+                0x0000000000000000        0x3 mmfs26.tmp
+                0x0000000000000000                FileMetadata::getOfP()
+
+.gnu.linkonce.t._ZN8OpenFile12kDmGetRegionEP15KernelOperationP10gpfsNode_tP9dm_regionjPj
+                0x0000000000000000       0xa1
+ .gnu.linkonce.t._ZN8OpenFile12kDmGetRegionEP15KernelOperationP10gpfsNode_tP9dm_regionjPj
+                0x0000000000000000       0xa1 mmfs26.tmp
+                0x0000000000000000                OpenFile::kDmGetRegion(KernelOperation*, gpfsNode_t*, dm_region*, unsigned int, unsigned int*)
+
+.gnu.linkonce.t._ZN12MailboxState18dmIncNumSyncEventsEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN12MailboxState18dmIncNumSyncEventsEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                MailboxState::dmIncNumSyncEvents()
+
+.gnu.linkonce.t._ZN12MailboxState19dmIncNumAsyncEventsEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN12MailboxState19dmIncNumAsyncEventsEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                MailboxState::dmIncNumAsyncEvents()
+
+.gnu.linkonce.t._ZN12MailboxState22dmIncCurNumAsyncEventsEi
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN12MailboxState22dmIncCurNumAsyncEventsEi
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                MailboxState::dmIncCurNumAsyncEvents(int)
+
+.gnu.linkonce.t._ZN12MailboxState20dmIncNumFailedEventsEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN12MailboxState20dmIncNumFailedEventsEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                MailboxState::dmIncNumFailedEvents()
+
+.gnu.linkonce.t._ZN12MailboxState20dmIncNumEventRetriesEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZN12MailboxState20dmIncNumEventRetriesEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                MailboxState::dmIncNumEventRetries()
+
+.gnu.linkonce.t._ZN12MailboxState22dmIncTimeoutEventCountEi
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN12MailboxState22dmIncTimeoutEventCountEi
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                MailboxState::dmIncTimeoutEventCount(int)
+
+.gnu.linkonce.t._ZN12MailboxState23dmIncTimeoutEbWaitCountEi
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN12MailboxState23dmIncTimeoutEbWaitCountEi
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                MailboxState::dmIncTimeoutEbWaitCount(int)
+
+.gnu.linkonce.t._ZN18dmDataEventElement9getHandleEv
+                0x0000000000000000       0x24
+ .gnu.linkonce.t._ZN18dmDataEventElement9getHandleEv
+                0x0000000000000000       0x24 mmfs26.tmp
+                0x0000000000000000                dmDataEventElement::getHandle()
+
+.gnu.linkonce.t._ZN18dmDataEventElement6getLenEv
+                0x0000000000000000        0x7
+ .gnu.linkonce.t._ZN18dmDataEventElement6getLenEv
+                0x0000000000000000        0x7 mmfs26.tmp
+                0x0000000000000000                dmDataEventElement::getLen()
+
+.gnu.linkonce.t._ZN12MailboxState23dmIncCurNumOrphanEventsEi
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN12MailboxState23dmIncCurNumOrphanEventsEi
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                MailboxState::dmIncCurNumOrphanEvents(int)
+
+.gnu.linkonce.t._ZN12MailboxState28dmIncOrphanTimeoutEventCountEi
+                0x0000000000000000        0xa
+ .gnu.linkonce.t._ZN12MailboxState28dmIncOrphanTimeoutEventCountEi
+                0x0000000000000000        0xa mmfs26.tmp
+                0x0000000000000000                MailboxState::dmIncOrphanTimeoutEventCount(int)
+
+.gnu.linkonce.t._ZNK12dm_scalar128eqERKS_
+                0x0000000000000000       0x69
+ .gnu.linkonce.t._ZNK12dm_scalar128eqERKS_
+                0x0000000000000000       0x69 mmfs26.tmp
+                0x0000000000000000                dm_scalar128::operator==(dm_scalar128 const&) const
+
+.gnu.linkonce.t._ZNK12dm_scalar128neERKS_
+                0x0000000000000000       0x66
+ .gnu.linkonce.t._ZNK12dm_scalar128neERKS_
+                0x0000000000000000       0x66 mmfs26.tmp
+                0x0000000000000000                dm_scalar128::operator!=(dm_scalar128 const&) const
+
+.gnu.linkonce.t._ZNK12dmFileHandle9getGenNumEv
+                0x0000000000000000        0x6
+ .gnu.linkonce.t._ZNK12dmFileHandle9getGenNumEv
+                0x0000000000000000        0x6 mmfs26.tmp
+                0x0000000000000000                dmFileHandle::getGenNum() const
+
+.gnu.linkonce.t._ZN12dmFileHandle10isSgHandleEv
+                0x0000000000000000       0x50
+ .gnu.linkonce.t._ZN12dmFileHandle10isSgHandleEv
+                0x0000000000000000       0x50 mmfs26.tmp
+                0x0000000000000000                dmFileHandle::isSgHandle()
+
+.gnu.linkonce.t._ZN11dmEventListC1Ej
+                0x0000000000000000        0x9
+ .gnu.linkonce.t._ZN11dmEventListC1Ej
+                0x0000000000000000        0x9 mmfs26.tmp
+                0x0000000000000000                dmEventList::dmEventList(unsigned int)
+
+.gnu.linkonce.t._ZNK11StripeGroup17dmapiIsNotEnabledEv
+                0x0000000000000000        0xf
+ .gnu.linkonce.t._ZNK11StripeGroup17dmapiIsNotEnabledEv
+                0x0000000000000000        0xf mmfs26.tmp
+                0x0000000000000000                StripeGroup::dmapiIsNotEnabled() const
+
+.gnu.linkonce.t._ZN23dmSessionLocatorAndInfoD1Ev
+                0x0000000000000000        0x8
+ .gnu.linkonce.t._ZN23dmSessionLocatorAndInfoD1Ev
+                0x0000000000000000        0x8 mmfs26.tmp
+                0x0000000000000000                dmSessionLocatorAndInfo::~dmSessionLocatorAndInfo()
+
+.gnu.linkonce.t._ZN23dmSessionLocatorAndInfoC1Ev
+                0x0000000000000000       0x14
+ .gnu.linkonce.t._ZN23dmSessionLocatorAndInfoC1Ev
+                0x0000000000000000       0x14 mmfs26.tmp
+                0x0000000000000000                dmSessionLocatorAndInfo::dmSessionLocatorAndInfo()
+
+.gnu.linkonce.t._ZNK12FileMetadata25dmGetOpaqueAttrSummaryBitEv
+                0x0000000000000000        0xb
+ .gnu.linkonce.t._ZNK12FileMetadata25dmGetOpaqueAttrSummaryBitEv
+                0x0000000000000000        0xb mmfs26.tmp
+                0x0000000000000000                FileMetadata::dmGetOpaqueAttrSummaryBit() const
+
+.gnu.linkonce.t._ZN12DmapiFillDirC1Ev
+                0x0000000000000000       0x23
+ .gnu.linkonce.t._ZN12DmapiFillDirC1Ev
+                0x0000000000000000       0x23 mmfs26.tmp
+                0x0000000000000000                DmapiFillDir::DmapiFillDir()
+
+.gnu.linkonce.t._ZN15dmapifillOneDirC1Ev
+                0x0000000000000000       0x23
+ .gnu.linkonce.t._ZN15dmapifillOneDirC1Ev
+                0x0000000000000000       0x23 mmfs26.tmp
+                0x0000000000000000                dmapifillOneDir::dmapifillOneDir()
+
+.fini
+ *(.fini)
+
+.rodata         0x0000000000000000    0x1319c
+ *(.rodata)
+ .rodata        0x0000000000000000    0x1318d mmfs26.tmp
+                0x0000000000010110                _dmInvalidFileHandle
+                0x0000000000010060                masterSupportedDmapiCalls
+                0x00000000000100c0                dmGetConfigRetVal
+                0x000000000000fdb8                masterSupportedEvents
+                0x000000000000dd80                ls_update_table
+                0x000000000000fe00                hasMode
+                0x0000000000013100                _sanInvalidSGHandle
+                0x000000000000fde8                numNames
+                0x0000000000011a40                StatusStrings
+                0x000000000000ff40                minAccessRight
+                0x000000000000fda0                isSyncEvent
+                0x000000000000fdd0                numHandles
+                0x0000000000010128                _dmGlobalFileHandle
+                0x000000000000df80                ConflictMask
+                0x0000000000011ae0                EbMsgtypeStrings
+                0x000000000000fe20                EventStrings
+                0x0000000000010140                _dmErrStr
+                0x0000000000011ba0                responseTypeStrings
+ .rodata        0x000000000001318d        0xf mmfs26.mod.o
+
+__ex_table      0x0000000000000000      0x130
+ __ex_table     0x0000000000000000      0x130 mmfs26.tmp
+
+.modinfo        0x0000000000000000       0xaa
+ .modinfo       0x0000000000000000       0x5c mmfs26.tmp
+ *fill*         0x000000000000005c        0x4 00
+ .modinfo       0x0000000000000060       0x4a mmfs26.mod.o
+
+__versions      0x0000000000000000     0x2d80
+ __versions     0x0000000000000000     0x2d80 mmfs26.mod.o
+
+.rodata1
+ *(.rodata1)
+
+.eh_frame_hdr
+ *(.eh_frame_hdr)
+
+.eh_frame       0x0000000000000000       0xe0
+ *(.eh_frame)
+ .eh_frame      0x0000000000000000       0xe0 mmfs26.tmp
+
+.gcc_except_table
+ *(.gcc_except_table .gcc_except_table.*)
+
+.eh_frame
+ *(.eh_frame)
+
+.gcc_except_table
+ *(.gcc_except_table .gcc_except_table.*)
+
+.tdata
+ *(.tdata)
+
+.tbss
+ *(.tbss)
+
+.preinit_array
+ *(.preinit_array)
+
+.init_array
+ *(SORT(.init_array.*))
+ *(.init_array)
+
+.fini_array
+ *(.fini_array)
+ *(SORT(.fini_array.*))
+
+.jcr
+ *(.jcr)
+
+.dynamic
+ *(.dynamic)
+
+.got
+ *(.got)
+
+.got.plt
+ *(.got.plt)
+
+.data           0x0000000000000000     0x4e50
+ *(.data)
+ .data          0x0000000000000000     0x4e50 mmfs26.tmp
+                0x0000000000000094                DaemonPID
+                0x0000000000000080                CanMapSharedSeg
+                0x00000000000032e0                OnesTable
+                0x000000000000070c                SGPoolIdList::nullPoolIdsP
+                0x00000000000007c0                reqDmLockTable
+                0x00000000000010bc                PagerKproc::numKprocs
+                0x0000000000004d20                MmpmonLatencyRange_DefaultCuts
+                0x0000000000002ba0                XAttrAppIdToClass
+                0x000000000000007c                MMFSSessionId
+                0x00000000000005f8                NumNFSDataObjects
+                0x0000000000000098                multiNode
+                0x0000000000000084                NeedToUnmapSharedSeg
+                0x0000000000004c98                MmpmonRequestRanges_Default
+                0x0000000000001070                PagerKproc::idleListP
+                0x0000000000000c6c                AssertedTh
+                0x0000000000001400                ObjTypeNameTab
+                0x00000000000010c8                PagerKproc::startedKprocs
+                0x000000000000008c                vinfoListHeadP
+                0x0000000000000b40                DiskSched::linuxIOLock
+                0x0000000000003f10                HiResTime::neverP
+                0x00000000000010e8                PagerKproc::killRequested
+                0x00000000000003c4                nPagesDeclared
+                0x0000000000001440                ObjTypeClassTab
+                0x0000000000003f08                realNever
+                0x00000000000000a4                enableUIDremap
+                0x000000000000184c                ThreadStatsP
+                0x0000000000000c20                modeToNodeType
+                0x00000000000010d4                PagerKproc::dynCount
+                0x00000000000000ac                __dso_handle
+                0x000000000000131b                buildTime
+                0x0000000000000760                DiskAddr96::dittoDiskAddrP
+                0x0000000000000b6c                DiskSched::ioEnabled
+                0x0000000000000d80                MountIdCounter
+                0x000000000000055c                kxRecLockSleepers
+                0x0000000000001080                PagerKproc::kprocLock
+                0x00000000000010c0                PagerKproc::numReaders
+                0x0000000000000738                realDittoDiskAddr48
+                0x00000000000003cc                firstPudWaiterP
+                0x0000000000000568                kxRecLockAcquiresTail
+                0x00000000000010e0                PagerKproc::lastWaitQlen
+                0x000000000000056c                kxRecLockRetries
+                0x0000000000000724                realBrknDiskAddr48
+                0x0000000000000570                kxRecLockRetriesTail
+                0x0000000000000240                HashTabSize
+                0x000000000000009c                clusterType
+                0x0000000000000558                LocalSGIdCounter
+                0x0000000000000560                kxRecLockSleepersTail
+                0x00000000000026e8                ArchInfo
+                0x0000000000000088                SegmentHoldCount
+                0x00000000000003c8                nPagesAvailable
+                0x0000000000004d80                MmpmonLatencyRange_PerDisk_DefaultCuts
+                0x0000000000000718                realInvDiskAddr96
+                0x0000000000000564                kxRecLockAcquires
+                0x0000000000000740                realDittoDiskAddr96
+                0x000000000000074c                DiskAddr48::invalidDiskAddrP
+                0x0000000000000750                DiskAddr48::brokenDiskAddrP
+                0x0000000000000704                realNullPoolIds
+                0x00000000000010cc                PagerKproc::limReaders
+                0x0000000000000578                RecLockSleepCount
+                0x0000000000000574                kxRecLockSequence
+                0x0000000000001480                RevokeWorkerThreadNameTab
+                0x00000000000010c4                PagerKproc::desiredKprocs
+                0x0000000000004d18                MmpmonRequestRanges_PerDisk_Default
+                0x0000000000000090                kxMappingCount
+                0x00000000000005fc                MaxOpenNFSFiles
+                0x000000000000130f                buildDate
+                0x0000000000000244                gpfsNodeHashP
+                0x0000000000004c20                MmpmonRequestRange_DefaultCuts
+                0x00000000000010ac                PagerKproc::kprocEventWord
+                0x0000000000001880                BaseMutexClass::kernelSynchState
+                0x00000000000010d0                PagerKproc::dynKprocs
+                0x0000000000004d60                MmpmonLatencyRanges_Default
+                0x0000000000000c60                mbUseThreads
+                0x0000000000000710                realInvDiskAddr48
+                0x0000000000000c64                firstMBUseWaiterP
+                0x0000000000002a80                AVP
+                0x0000000000002ca0                XAttrAppClassSpace
+                0x000000000000072c                realBrknDiskAddr96
+                0x0000000000000758                DiskAddr96::invalidDiskAddrP
+                0x00000000000013c0                ObjClassNameTab
+                0x00000000000000a0                aclBigEndian
+                0x00000000000003d0                lastPudWaiterP
+                0x0000000000001850                SynchEventWordBlock::overflowEvent
+                0x00000000000010d8                PagerKproc::lastRequests
+                0x0000000000004dc0                MmpmonLatencyRanges_PerDisk_Default
+                0x0000000000000c68                lastMBUseWaiterP
+                0x000000000000075c                DiskAddr96::brokenDiskAddrP
+                0x0000000000001300                searchHelper
+                0x0000000000004ca0                MmpmonRequestRange_PerDisk_DefaultCuts
+                0x00000000000010f0                PagerKproc::kprocListP
+                0x0000000000000754                DiskAddr48::dittoDiskAddrP
+                0x0000000000000780                realNullRepDA
+                0x00000000000010ec                PagerKproc::nPurges
+                0x0000000000000600                MinOpenNFSFiles
+                0x00000000000007a0                RepDiskAddr::nullRepDA
+                0x00000000000001a8                Mailbox::eventWordArrayP
+                0x0000000000001758                RevokeTab::revokeMutexP
+ .data          0x0000000000004e50        0x0 mmfs26.mod.o
+
+.ctors          0x0000000000000000       0x14
+ .ctors         0x0000000000000000       0x14 mmfs26.tmp
+
+.dtors          0x0000000000000000        0x4
+ .dtors         0x0000000000000000        0x4 mmfs26.tmp
+
+.gnu.linkonce.this_module
+                0x0000000000000000      0x600
+ .gnu.linkonce.this_module
+                0x0000000000000000      0x600 mmfs26.tmp
+                0x0000000000000000                __this_module
+
+.data1
+ *(.data1)
+
+.bss            0x0000000000000000     0x3320
+ *(.dynbss)
+ *(.bss)
+ .bss           0x0000000000000000     0x3320 mmfs26.tmp
+                0x0000000000001f00                NFSLRUHead
+                0x0000000000002c20                ObjTypeOffsetTab
+                0x0000000000001df0                SharedSegmentSwizzledSize
+                0x0000000000000e40                pool
+                0x0000000000002c60                LkObjCountTab
+                0x0000000000000e20                myNodeAddr
+                0x0000000000001d80                gpfsNodeStats
+                0x0000000000001fc0                bufxxx
+                0x0000000000000d60                SharedMemoryLock
+                0x0000000000000000                Symbol_table
+                0x0000000000002ca0                LkObjOffsetsTab
+                0x0000000000002000                quiesceSGThreadsCond
+                0x0000000000001ec0                RecLockSleepLock
+                0x0000000000001de4                SharedSegmentKernelBase
+                0x0000000000002ee0                BrObjOffsetsTab
+                0x0000000000000da0                kxMapping
+                0x0000000000000ca0                SegmentLock
+                0x0000000000001df4                SharedSegmentSwizzledBase
+                0x0000000000000d20                VinfoListLock
+                0x0000000000000ce0                MmapLockWord
+                0x0000000000002a40                shark_mounts_lock
+                0x0000000000002ea0                BrObjCountTab
+                0x0000000000001dec                SharedSegmentOffset
+                0x0000000000002be0                ObjTypeIsBRTab
+                0x00000000000032dc                kernelListMutex
+                0x0000000000002010                quiesceSGCommandCond
+                0x0000000000001df8                SharedSegmentSwizzledMax
+                0x0000000000000e24                mmfs_mount_list
+                0x0000000000003300                _sanInvalidFileHandle
+                0x0000000000000e28                dmKxSession
+                0x00000000000032d8                kernelStackSize
+                0x0000000000000c84                MMFSAddrSpace
+                0x0000000000003160                DummyThreadStats
+                0x0000000000002a00                shark_nfs_lock
+                0x0000000000001de0                SharedSegmentBase
+                0x0000000000000ea0                gpfsNodeHashLock
+                0x0000000000001de8                SharedSegmentKernelMax
+ .bss           0x0000000000003320        0x0 mmfs26.mod.o
+ *(COMMON)
+
+.stab
+ *(.stab)
+
+.stabstr
+ *(.stabstr)
+
+.stab.excl
+ *(.stab.excl)
+
+.stab.exclstr
+ *(.stab.exclstr)
+
+.stab.index
+ *(.stab.index)
+
+.stab.indexstr
+ *(.stab.indexstr)
+
+.comment        0x0000000000000000      0x59b
+ *(.comment)
+ .comment       0x0000000000000000      0x56e mmfs26.tmp
+ .comment       0x000000000000056e       0x2d mmfs26.mod.o
+
+.debug
+ *(.debug)
+
+.line
+ *(.line)
+
+.debug_srcinfo
+ *(.debug_srcinfo)
+
+.debug_sfnames
+ *(.debug_sfnames)
+
+.debug_aranges
+ *(.debug_aranges)
+
+.debug_pubnames
+ *(.debug_pubnames)
+
+.debug_info
+ *(.debug_info)
+
+.debug_abbrev
+ *(.debug_abbrev)
+
+.debug_line
+ *(.debug_line)
+
+.debug_frame
+ *(.debug_frame)
+
+.debug_str
+ *(.debug_str)
+
+.debug_loc
+ *(.debug_loc)
+
+.debug_macinfo
+ *(.debug_macinfo)
+
+.debug_weaknames
+ *(.debug_weaknames)
+
+.debug_funcnames
+ *(.debug_funcnames)
+
+.debug_typenames
+ *(.debug_typenames)
+
+.debug_varnames
+ *(.debug_varnames)
+OUTPUT(mmfs26 elf32-i386)
+
+__ksymtab       0x0000000000000000        0x0
+ __ksymtab      0x0000000000000000        0x0 mmfs26.tmp
+
+.note.GNU-stack
+                0x0000000000000000        0x0
+ .note.GNU-stack
+                0x0000000000000000        0x0 mmfs26.tmp
+ .note.GNU-stack
+                0x0000000000000000        0x0 mmfs26.mod.o
+
+Cross Reference Table
+
+Symbol                                            File
+ACE4_Matches(AclLocalEndian, ext_cred_t*, unsigned int, unsigned int) mmfs26.tmp
+ACL2Ext(ACL*, gpfs_acl*, int, int*)               mmfs26.tmp
+AIXToLinuxNlsVal(int)                             mmfs26.tmp
+AVP                                               mmfs26.tmp
+AclAccess::AclAccess()                            mmfs26.tmp
+AclLocalEndian::AclLocalEndian()                  mmfs26.tmp
+AclLocalEndian::aceFlags()                        mmfs26.tmp
+AclLocalEndian::aceIFlags()                       mmfs26.tmp
+AclLocalEndian::aceLength()                       mmfs26.tmp
+AclLocalEndian::aceMask()                         mmfs26.tmp
+AclLocalEndian::acePermissions()                  mmfs26.tmp
+AclLocalEndian::aceQualifier()                    mmfs26.tmp
+AclLocalEndian::aceRealmGet(ext_id_t*)            mmfs26.tmp
+AclLocalEndian::aceTagType()                      mmfs26.tmp
+AclLocalEndian::aceType()                         mmfs26.tmp
+AclLocalEndian::aceWho()                          mmfs26.tmp
+AclLocalEndian::aclEntryBegin()                   mmfs26.tmp
+AclLocalEndian::aclEntryNext()                    mmfs26.tmp
+AclLocalEndian::aclFlags()                        mmfs26.tmp
+AclLocalEndian::aclGroupAceCnt()                  mmfs26.tmp
+AclLocalEndian::aclGroupObj()                     mmfs26.tmp
+AclLocalEndian::aclLength()                       mmfs26.tmp
+AclLocalEndian::aclMask()                         mmfs26.tmp
+AclLocalEndian::aclType()                         mmfs26.tmp
+AclLocalEndian::aclUserAceCnt()                   mmfs26.tmp
+AclLocalEndian::aclVersion()                      mmfs26.tmp
+AclLocalEndian::exportAcl(ACL*, unsigned int)     mmfs26.tmp
+AclLocalEndian::initialize(ACL*, int, unsigned int) mmfs26.tmp
+AclLocalEndian::isValid()                         mmfs26.tmp
+AclLocalEndian::v2aclFlags()                      mmfs26.tmp
+AclLocalEndian::v2defaultRealmGet(ext_id_t*)      mmfs26.tmp
+AclLocalEndian::~AclLocalEndian()                 mmfs26.tmp
+AllocMgrServer::get_local_inode_activity()        mmfs26.tmp
+ArchInfo                                          mmfs26.tmp
+AssertedTh                                        mmfs26.tmp
+AtomInodeTimeValue::getval() const                mmfs26.tmp
+AtomInodeTimeValue::now()                         mmfs26.tmp
+AtomInodeTimeValue::operator HiResTime() const    mmfs26.tmp
+AtomInt64::AtomInt64(long long)                   mmfs26.tmp
+AtomInt64::getval() const                         mmfs26.tmp
+AtomInt64::operator long long() const             mmfs26.tmp
+Atomvar::avlock()                                 mmfs26.tmp
+Atomvar::avunlock()                               mmfs26.tmp
+BRL::CleanBRL()                                   mmfs26.tmp
+BRL::InitBRL(OpenFile*, TokenClass*)              mmfs26.tmp
+BRL::adjustRange(ByteRange, unsigned int, unsigned int) mmfs26.tmp
+BRL::brLock(ByteRange const&, BRLock::BRLockMode, void**, int, long long, ByteRange*) mmfs26.tmp
+BRL::brLockM(ByteRange const&, BRLock::BRLockMode, void**, int, long long, ByteRange*) mmfs26.tmp
+BRL::brUnlock(ByteRange const&, BRLock::BRLockMode, void*) mmfs26.tmp
+BRL::brUnlockM(ByteRange const&, BRLock::BRLockMode, void*) mmfs26.tmp
+BRL::flushMappedPages(ByteRange)                  mmfs26.tmp
+BRL::getGranul()                                  mmfs26.tmp
+BRL::getNXLocksOrRelinquishes() const             mmfs26.tmp
+BRL::stretch(ByteRange const&)                    mmfs26.tmp
+BRTree::BRTree(unsigned int)                      mmfs26.tmp
+BRTree::BRTree(unsigned int)                      mmfs26.tmp
+BRTree::btClassify() const                        mmfs26.tmp
+BRTree::btInsertNode(BRTreeNode*, unsigned int*)  mmfs26.tmp
+BRTree::btInsertRange(unsigned long long, unsigned long long, int, int, unsigned int*) mmfs26.tmp
+BRTree::btInternalInsert(BRTreeNode*, BRTreeNode**, unsigned int, unsigned int*) mmfs26.tmp
+BRTree::btLookup(BRTreeNode*, BRTreeNode**, BRTreeNode**) mmfs26.tmp
+BRTree::btMinimum(BRTreeNode*)                    mmfs26.tmp
+BRTree::btRotateLeft(BRTreeNode*)                 mmfs26.tmp
+BRTree::btRotateRight(BRTreeNode*)                mmfs26.tmp
+BRTree::btSuccessor(BRTreeNode*)                  mmfs26.tmp
+BRTree::btTrace()                                 mmfs26.tmp
+BRTree::btTraverse(unsigned long long, unsigned long long, void (*)(BRTreeNode*, void*, int), void*, int) mmfs26.tmp
+BRTreeNode::BRTreeNode(unsigned long long, unsigned long long, int, int, unsigned int) mmfs26.tmp
+BRTreeNode::btnAddHolder(int, int)                mmfs26.tmp
+BRTreeNode::btnCheckClientCachedRange(BRTreeNode*, void*, int) mmfs26.tmp
+BRTreeNode::btnCheckServerRange(BRTreeNode*, void*, int) mmfs26.tmp
+BRTreeNode::btnGetMode(short) const               mmfs26.tmp
+BRTreeNode::btnMergeROHolders(BRTreeNode const*)  mmfs26.tmp
+BRTreeNode::btnNextROHolder(int*, short*)         mmfs26.tmp
+BRTreeNode::btnOverlaps(BRTreeNode const*) const  mmfs26.tmp
+BRTreeNode::btnRemoveHolder(int, int)             mmfs26.tmp
+BRTreeNode::btnSetRangeAndCopyHoldersFrom(unsigned long long, unsigned long long, BRTreeNode const*) mmfs26.tmp
+BRTreeNode::btnTrace() const                      mmfs26.tmp
+BaseCacheObj::getObjClass() const                 mmfs26.tmp
+BaseCacheObj::getObjList() const                  mmfs26.tmp
+BaseCacheObj::isCompact() const                   mmfs26.tmp
+BaseCacheObj::setObjClassAndList(unsigned char, unsigned char) mmfs26.tmp
+BaseCacheObj::setObjList(unsigned char)           mmfs26.tmp
+BaseCondvarClass::hasWaiters() const              mmfs26.tmp
+BaseMemoryPoolAllocator::assignFromPool(int, char**, int*) mmfs26.tmp
+BaseMutexClass::disableMutexWaits()               mmfs26.tmp
+BaseMutexClass::init(MutexName)                   mmfs26.tmp
+BaseMutexClass::internalAcquire(unsigned int)     mmfs26.tmp
+BaseMutexClass::kernelSynchState                  mmfs26.tmp
+BaseMutexClass::release()                         mmfs26.tmp
+BaseMutexClass::releaseLockHeld(KernelSynchState*) mmfs26.tmp
+BaseMutexClass::releaseSlow()                     mmfs26.tmp
+BaseMutexClass::tryAcquire()                      mmfs26.tmp
+BigEndInt32::operator int() const                 mmfs26.tmp
+BigEndInt32::operator=(int)                       mmfs26.tmp
+BigEndInt64::operator long long() const           mmfs26.tmp
+BigEndInt64::operator=(long long)                 mmfs26.tmp
+BigEndUInt16::operator unsigned short() const     mmfs26.tmp
+BigEndUInt16::operator=(unsigned short)           mmfs26.tmp
+BigEndUInt32::operator unsigned int() const       mmfs26.tmp
+BigEndUInt32::operator=(unsigned int)             mmfs26.tmp
+BigEndUInt64::operator=(unsigned long long)       mmfs26.tmp
+BrObj::expandToken(CacheObj*, BrTokenState*)      mmfs26.tmp
+BrObjCountTab                                     mmfs26.tmp
+BrObjOffsetsTab                                   mmfs26.tmp
+Buffer::getDataAddr() const                       mmfs26.tmp
+Buffer::init(unsigned int)                        mmfs26.tmp
+Buffer::isInPagePool() const                      mmfs26.tmp
+Buffer::operator delete(void*)                    mmfs26.tmp
+Buffer::setDone(unsigned int)                     mmfs26.tmp
+Buffer::setPrefetch(unsigned int)                 mmfs26.tmp
+Buffer::setRecentlyUsed(unsigned int)             mmfs26.tmp
+Buffer::~Buffer()                                 mmfs26.tmp
+Buffer::~Buffer()                                 mmfs26.tmp
+BufferDesc::becomesClean()                        mmfs26.tmp
+BufferDesc::becomesDirty()                        mmfs26.tmp
+BufferDesc::breakInstanceOwnershipM(unsigned int) mmfs26.tmp
+BufferDesc::calcEOFOffset(long long, unsigned int) mmfs26.tmp
+BufferDesc::copyDataToPrevSnapshotNeeded()        mmfs26.tmp
+BufferDesc::getDataCopiedSnapId() const           mmfs26.tmp
+BufferDesc::isValid()                             mmfs26.tmp
+BufferDesc::lock_vfs_m(LkObj::LockModeEnum, int)  mmfs26.tmp
+BufferDesc::lookupAndAddDSBlockM(long long)       mmfs26.tmp
+BufferDesc::moveToDoneM()                         mmfs26.tmp
+BufferDesc::moveToWritebehindM(unsigned int)      mmfs26.tmp
+BufferDesc::removeFromDoneOrWritebehindM()        mmfs26.tmp
+BufferDesc::setBufDirty()                         mmfs26.tmp
+BufferDesc::setDataCopiedSnapId()                 mmfs26.tmp
+BufferDesc::unlock_vfs(LkObj::LockModeEnum)       mmfs26.tmp
+BufferQueue_tToString(int)                        mmfs26.tmp
+BufferTypeToString(int)                           mmfs26.tmp
+ByteRange::ByteRange()                            mmfs26.tmp
+ByteRange::ByteRange(ByteRangeData const&)        mmfs26.tmp
+ByteRange::ByteRange(unsigned long long, unsigned long long) mmfs26.tmp
+CNTLZ32                                           mmfs26.tmp
+CacheObj::acquireCacheObjMutex()                  mmfs26.tmp
+CacheObj::brObjP(unsigned short) const            mmfs26.tmp
+CacheObj::cacheObjHold()                          mmfs26.tmp
+CacheObj::cacheObjHoldM()                         mmfs26.tmp
+CacheObj::cacheObjRele()                          mmfs26.tmp
+CacheObj::cacheObjReleM()                         mmfs26.tmp
+CacheObj::getCacheObjMutexP()                     mmfs26.tmp
+CacheObj::getCacheObjTraverseCount() const        mmfs26.tmp
+CacheObj::getHoldCount() const                    mmfs26.tmp
+CacheObj::get_key() const                         mmfs26.tmp
+CacheObj::get_stcP() const                        mmfs26.tmp
+CacheObj::isCached() const                        mmfs26.tmp
+CacheObj::isNotCached() const                     mmfs26.tmp
+CacheObj::lkObjP(unsigned short) const            mmfs26.tmp
+CacheObj::releaseCacheObjMutex()                  mmfs26.tmp
+CacheObj::tryAcquireCacheObjMutex()               mmfs26.tmp
+CachedInodeHeader::copyToInodeHeader(Inode const&, StripeGroup*) mmfs26.tmp
+CachedInodeHeader::expand(CompactOpenFile*)       mmfs26.tmp
+CachedInodeHeader::getDataPoolIndex() const       mmfs26.tmp
+CachedInodeHeader::getIllPlaced() const           mmfs26.tmp
+CachedInodeHeader::importFromInode(Inode const&, StripeGroup*) mmfs26.tmp
+CachedInodeHeader::isIllPlaced() const            mmfs26.tmp
+CachedInodeHeader::setDataPoolIndex(int)          mmfs26.tmp
+CachedInodeHeader::setIllPlaced(unsigned int)     mmfs26.tmp
+CalcChecksum(void const*, int, int)               mmfs26.tmp
+CalcChecksumBs(void const*, int, int)             mmfs26.tmp
+CalcChecksumNf(void const*, int, int)             mmfs26.tmp
+CanMapSharedSeg                                   mmfs26.tmp
+CheckLimitsAndIncrementCacheUse(int)              mmfs26.tmp
+ClientRangeToken::crtExpand(CacheObj*, int)       mmfs26.tmp
+ClientRangeToken::crtIncPrefetchStats(TokenClass*, char, char, int) mmfs26.tmp
+ClientRangeToken::crtIncRelinquishStats(TokenClass*, char) mmfs26.tmp
+ClientRangeToken::crtIncUseStats(TokenClass*, char) mmfs26.tmp
+ClientRangeToken::crtTestRange(CacheObj*, ByteRange, char) mmfs26.tmp
+ClientToken::ctExpand(CacheObj*, int)             mmfs26.tmp
+ClientToken::ctGetMode() const                    mmfs26.tmp
+ClientToken::ctGetObjType() const                 mmfs26.tmp
+ClientToken::ctIncPrefetchStats(TokenClass*, char, int) mmfs26.tmp
+ClientToken::ctIncRelinquishStats(TokenClass*, char) mmfs26.tmp
+ClientToken::ctIncSeqNum()                        mmfs26.tmp
+ClientToken::ctIncUseStats(TokenClass*, char)     mmfs26.tmp
+ClientToken::ctSetMode(CacheObj*, char)           mmfs26.tmp
+ClientToken::ctSetSeqNum(long long)               mmfs26.tmp
+CloseEventinfo(KernelOperation*, OpenFile*, dmEventList*, dmFileHandle*, dmSessionLocator*, unsigned int*) mmfs26.tmp
+CloseNFS(NFSData*)                                mmfs26.tmp
+CloseNFSnow(void*)                                mmfs26.tmp
+ClusterConfiguration::addr2NodeId(NodeAddr)       mmfs26.tmp
+ClusterConfiguration::getClusterID() const        mmfs26.tmp
+ClusterConfiguration::getGraceEnd() const         mmfs26.tmp
+ClusterConfiguration::getNodeFailureCount(NodeAddr) mmfs26.tmp
+ClusterConfiguration::getUidDomain() const        mmfs26.tmp
+ClusterConfiguration::isLocal() const             mmfs26.tmp
+ClusterConfiguration::resetGraceEnd()             mmfs26.tmp
+CompactOpenFile::freeDiskAddrBuff()               mmfs26.tmp
+CompactOpenFile::getExtendedAcl() const           mmfs26.tmp
+CompactOpenFile::getGeneration() const            mmfs26.tmp
+CompactOpenFile::getInodeNum() const              mmfs26.tmp
+CompactOpenFile::getInodeStatus() const           mmfs26.tmp
+CompactOpenFile::getMode() const                  mmfs26.tmp
+CompactOpenFile::getOwnerGid() const              mmfs26.tmp
+CompactOpenFile::getOwnerUid() const              mmfs26.tmp
+CompactOpenFile::getSnapId() const                mmfs26.tmp
+CompactOpenFile::setVFSReference(unsigned int)    mmfs26.tmp
+CompactOpenFile::set_vfsAccess()                  mmfs26.tmp
+CompactOpenFile::stat(cxiVattr_t*)                mmfs26.tmp
+CompactOpenFile::tokensPermit(KernelOperation*, OperationLockMode, LkObj::LockModeEnum) mmfs26.tmp
+CompoundKindToString(int)                         mmfs26.tmp
+CondvarToString(int)                              mmfs26.tmp
+ConflictMask                                      mmfs26.tmp
+ConsecutiveBitScan(unsigned int, int)             mmfs26.tmp
+ContigMemoryPoolAllocator::assignFromContigPool(int, int*) mmfs26.tmp
+DEFree::check(Direct*, int)                       mmfs26.tmp
+DEGeneric::check(Direct*, int)                    mmfs26.tmp
+DEGeneric::init(char const*, FileUID, unsigned int, unsigned int, int, DirEntryType) mmfs26.tmp
+DLink_t::dequeue()                                mmfs26.tmp
+DLink_t::enqueueHead(DLink_t*)                    mmfs26.tmp
+DLink_t::head()                                   mmfs26.tmp
+DLink_t::init()                                   mmfs26.tmp
+DLink_t::isEmpty()                                mmfs26.tmp
+DLink_t::next()                                   mmfs26.tmp
+DSPrefetchBufState::DSPrefetchBufState()          mmfs26.tmp
+DSPrefetchBufState::DSPrefetchBufState()          mmfs26.tmp
+DaemonPID                                         mmfs26.tmp
+DataShipBuffer::getOverheadSize()                 mmfs26.tmp
+DataShipOpenFileState::init()                     mmfs26.tmp
+DbgSyms::Add(char*, void*)                        mmfs26.tmp
+DbgSyms::DbgSyms()                                mmfs26.tmp
+DbgSyms::init()                                   mmfs26.tmp
+Deque(RecLockQueue, RecLockSleeper*, unsigned int) mmfs26.tmp
+DirBlockHeader::getHdrHashTreeLevel() const       mmfs26.tmp
+DirInodeNum::getMode(DirEntryType) const          mmfs26.tmp
+DirInodeNum::set(int, unsigned int, DirEntryType, unsigned int) mmfs26.tmp
+DirLayout::doff2block(long long, int)             mmfs26.tmp
+DirLayout::doff2hlev(long long, int)              mmfs26.tmp
+DirLayout::doff2slot(long long, int)              mmfs26.tmp
+DirLayout::getMaxOverflowBlockNum() const         mmfs26.tmp
+DirLayout::readdirOffset(long long, int, int, int) mmfs26.tmp
+DirSearch(KernelOperation*, OpenFile*, LkObj::LockModeEnum*, gpfsNode_t*, void*, Dirblock*, char const*, FileUID*, unsigned int*, LookupDetails*, unsigned int*, unsigned int*) mmfs26.tmp
+Dirblock::Dirblock()                              mmfs26.tmp
+Dirblock::daccess(KernelOperation*, OpenFile*, LocalFileId, long long, Direct*) mmfs26.tmp
+Dirblock::drelease()                              mmfs26.tmp
+Dirblock::getIOBufferPtr()                        mmfs26.tmp
+Direct::Direct()                                  mmfs26.tmp
+Direct::allocEntry(int, int*, short*, Direct::AllocHow, unsigned short) mmfs26.tmp
+Direct::check()                                   mmfs26.tmp
+Direct::checkHeader() const                       mmfs26.tmp
+Direct::checkHeaderMinimal() const                mmfs26.tmp
+Direct::checkMinimal()                            mmfs26.tmp
+Direct::dcombine(Direct*, int)                    mmfs26.tmp
+Direct::dinitContig(DirLayout*, StripeGroup*, FileUID, int, char*, int, unsigned int, unsigned int) mmfs26.tmp
+Direct::dinitDiscontig(DirLayout*, StripeGroup*, FileUID, int, cxiIOBuffer_t*, cxiIOBufferAttachment_t const*, unsigned int, unsigned int) mmfs26.tmp
+Direct::dmkdir(int, FileUID)                      mmfs26.tmp
+Direct::dread(FileUID const&, long long, int, int, int, void*, int (*)(void*, char const*, int, long long, unsigned long), long long*) mmfs26.tmp
+Direct::dsearch(char const*, unsigned int, FileUID*, unsigned int*, long long*, KernelOperation*, int) mmfs26.tmp
+Direct::dtermDiscontig(cxiIOBuffer_t*)            mmfs26.tmp
+Direct::freeBlock(int, int)                       mmfs26.tmp
+Direct::freeEntry(int, int, Direct::InsertWhere, unsigned short*, short*) mmfs26.tmp
+Direct::getBlockSize() const                      mmfs26.tmp
+Direct::getHashTreeLevel()                        mmfs26.tmp
+Direct::hashInternal(unsigned int) const          mmfs26.tmp
+Direct::init(int, int)                            mmfs26.tmp
+Direct::insert(int, DEGeneric*, int)              mmfs26.tmp
+Direct::refToOffset(unsigned short) const         mmfs26.tmp
+Direct::rehash()                                  mmfs26.tmp
+Direct::search(char const*, int, int*, DEGeneric**) mmfs26.tmp
+DiscontigMemoryPoolAllocator::assignFromDiscontigPool(int, int*) mmfs26.tmp
+Disk::calcPerMonStats(HiResTime const*, HiResTime const*, HiResTime const*, unsigned long long, DiskOperation) mmfs26.tmp
+Disk::dioComplete()                               mmfs26.tmp
+Disk::getDevId() const                            mmfs26.tmp
+Disk::getSectorSize() const                       mmfs26.tmp
+Disk::updateStats(DiskOperation, int)             mmfs26.tmp
+DiskAddr48::brokenDiskAddrP                       mmfs26.tmp
+DiskAddr48::dittoDiskAddrP                        mmfs26.tmp
+DiskAddr48::invalidDiskAddrP                      mmfs26.tmp
+DiskAddr48::operator=(DiskAddr96 const&)          mmfs26.tmp
+DiskAddr96::brokenDiskAddrP                       mmfs26.tmp
+DiskAddr96::dittoDiskAddrP                        mmfs26.tmp
+DiskAddr96::getDiskNum() const                    mmfs26.tmp
+DiskAddr96::getDiskNumPhantom() const             mmfs26.tmp
+DiskAddr96::getPhantom() const                    mmfs26.tmp
+DiskAddr96::getSector() const                     mmfs26.tmp
+DiskAddr96::invalidDiskAddrP                      mmfs26.tmp
+DiskAddr96::operator!=(DiskAddr96 const&) const   mmfs26.tmp
+DiskAddr96::operator=(DiskAddr48 const&)          mmfs26.tmp
+DiskAddr96::operator==(DiskAddr96 const&) const   mmfs26.tmp
+DiskAddrContainer::DiskAddrContainer()            mmfs26.tmp
+DiskAddrContainer::DiskAddrContainer()            mmfs26.tmp
+DiskAddrContainer::copyInArray(DiskAddrContainer const&, int) mmfs26.tmp
+DiskAddrContainer::copyInArray(void const*, int, StripeGroup*) mmfs26.tmp
+DiskAddrContainer::init(IndirectBlock*, StripeGroup*) mmfs26.tmp
+DiskAddrContainer::init(IndirectBlock*, StripeGroupDesc*) mmfs26.tmp
+DiskAddrContainer::init(IndirectBlock*, int)      mmfs26.tmp
+DiskAddrContainer::init(Inode*, StripeGroup*)     mmfs26.tmp
+DiskAddrContainer::init(Inode*, StripeGroupDesc*) mmfs26.tmp
+DiskAddrContainer::init(void*, int, int)          mmfs26.tmp
+DiskAddrContainer::operator[](int) const          mmfs26.tmp
+DiskAddrContainer::seek(int)                      mmfs26.tmp
+DiskAddrContainer::setDA(int, DiskAddr96)         mmfs26.tmp
+DiskSched::dioComplete()                          mmfs26.tmp
+DiskSched::dioStart()                             mmfs26.tmp
+DiskSched::initModule()                           mmfs26.tmp
+DiskSched::ioEnabled                              mmfs26.tmp
+DiskSched::linuxIOLock                            mmfs26.tmp
+DiskSched::termModule()                           mmfs26.tmp
+DiskUID::getWord0() const                         mmfs26.tmp
+DiskUID::getWord1() const                         mmfs26.tmp
+DiskUID::operator!=(DiskUID const&) const         mmfs26.tmp
+DiskUID::operator==(DiskUID const&) const         mmfs26.tmp
+DiskUID::set(unsigned int, unsigned int)          mmfs26.tmp
+DmapiFillDir::DmapiFillDir()                      mmfs26.tmp
+DmapiReaddir(gpfsVfsData_t*, cxiNode_t*, void*, int (*)(void*, char const*, int, long long, unsigned long), long long*) mmfs26.tmp
+DummyThreadStats                                  mmfs26.tmp
+EbMsgtypeStrings                                  mmfs26.tmp
+EnableMmap                                        mmfs26.tmp
+Enque(RecLockQueue, RecLockSleeper*, void*)       mmfs26.tmp
+EventStrings                                      mmfs26.tmp
+EventsExporterToString(int)                       mmfs26.tmp
+Ext2ACL(gpfs_acl*, ACL**)                         mmfs26.tmp
+FileHashTab::expandObject(BaseCacheObj*, CacheObj*) mmfs26.tmp
+FileMetadata::IamMnode()                          mmfs26.tmp
+FileMetadata::deleteDefaultAcl(KernelOperation*)  mmfs26.tmp
+FileMetadata::deleteExtendedAcl(KernelOperation*) mmfs26.tmp
+FileMetadata::dmGetEventListSummary() const       mmfs26.tmp
+FileMetadata::dmGetOpaqueAttr1() const            mmfs26.tmp
+FileMetadata::dmGetOpaqueAttr2() const            mmfs26.tmp
+FileMetadata::dmGetOpaqueAttrSummary() const      mmfs26.tmp
+FileMetadata::dmGetOpaqueAttrSummaryBit() const   mmfs26.tmp
+FileMetadata::dmGetReadEventSummary() const       mmfs26.tmp
+FileMetadata::dmGetTruncateEventSummary() const   mmfs26.tmp
+FileMetadata::dmGetWriteEventSummary() const      mmfs26.tmp
+FileMetadata::dmStat(dm_stat*)                    mmfs26.tmp
+FileMetadata::getAtime()                          mmfs26.tmp
+FileMetadata::getAttrs(KernelOperation*, gpfsNode_t*, int, int, ...) mmfs26.tmp
+FileMetadata::getCtime()                          mmfs26.tmp
+FileMetadata::getCurrentDataReplicas() const      mmfs26.tmp
+FileMetadata::getCurrentMetadataReplicas() const  mmfs26.tmp
+FileMetadata::getDataBytesPerFileBlock() const    mmfs26.tmp
+FileMetadata::getDataCopiedSnapId() const         mmfs26.tmp
+FileMetadata::getDataPoolIndex() const            mmfs26.tmp
+FileMetadata::getDefaultAcl() const               mmfs26.tmp
+FileMetadata::getDirLayoutP() const               mmfs26.tmp
+FileMetadata::getExtendedAcl() const              mmfs26.tmp
+FileMetadata::getFileModifiedSnapId() const       mmfs26.tmp
+FileMetadata::getFileSize() const                 mmfs26.tmp
+FileMetadata::getFileSizeAndLDB(long long&, long long&) mmfs26.tmp
+FileMetadata::getFilesetId() const                mmfs26.tmp
+FileMetadata::getFragmentSubblocks()              mmfs26.tmp
+FileMetadata::getGeneration() const               mmfs26.tmp
+FileMetadata::getInodeCopiedSnapId() const        mmfs26.tmp
+FileMetadata::getInodeFlags() const               mmfs26.tmp
+FileMetadata::getInodeStatus() const              mmfs26.tmp
+FileMetadata::getLastBlockSubblocks()             mmfs26.tmp
+FileMetadata::getLastDataBlock() const            mmfs26.tmp
+FileMetadata::getLog2DataBytesPerFileBlock() const mmfs26.tmp
+FileMetadata::getMaxDataReplicas() const          mmfs26.tmp
+FileMetadata::getMaxHashLevel() const             mmfs26.tmp
+FileMetadata::getMaxMetadataReplicas() const      mmfs26.tmp
+FileMetadata::getMode() const                     mmfs26.tmp
+FileMetadata::getMtime()                          mmfs26.tmp
+FileMetadata::getMtimeUpdate()                    mmfs26.tmp
+FileMetadata::getMtimeUpdateSecs()                mmfs26.tmp
+FileMetadata::getNDataBlocks() const              mmfs26.tmp
+FileMetadata::getNlink() const                    mmfs26.tmp
+FileMetadata::getOfP()                            mmfs26.tmp
+FileMetadata::getOwnerGid() const                 mmfs26.tmp
+FileMetadata::getOwnerUid() const                 mmfs26.tmp
+FileMetadata::getRdev()                           mmfs26.tmp
+FileMetadata::getSubblocksPerFileBlock() const    mmfs26.tmp
+FileMetadata::getXAttrSummaryBit() const          mmfs26.tmp
+FileMetadata::incDirtyDataBufs()                  mmfs26.tmp
+FileMetadata::incIndChangeCount()                 mmfs26.tmp
+FileMetadata::init()                              mmfs26.tmp
+FileMetadata::ipsGetPrefetchIndex()               mmfs26.tmp
+FileMetadata::ipsReaddirDone(HiResTime)           mmfs26.tmp
+FileMetadata::isAtimeDirty() const                mmfs26.tmp
+FileMetadata::isFilesetRoot() const               mmfs26.tmp
+FileMetadata::isMetadataFile() const              mmfs26.tmp
+FileMetadata::kCheckDioAttr(KernelOperation*, gpfsNode_t*) mmfs26.tmp
+FileMetadata::kDeleteIndirectBlock(indBlockDesc*) mmfs26.tmp
+FileMetadata::kDmGetFEventList(KernelOperation*, gpfsNode_t*, dmEventList*, unsigned int*, unsigned int) mmfs26.tmp
+FileMetadata::kDmGetRegion(KernelOperation*, gpfsNode_t*, dm_region*, unsigned int, unsigned int*) mmfs26.tmp
+FileMetadata::kGetIndirectDescriptor(int, long long, int, indBlockDesc**, unsigned int*) mmfs26.tmp
+FileMetadata::kGetInode(GenNum, int)              mmfs26.tmp
+FileMetadata::kMakePseudoIndirect(int, GenNum, unsigned int) mmfs26.tmp
+FileMetadata::kRetrieveDataBlockDiskAddr(KernelOperation*, long long, fsDiskAddr*) mmfs26.tmp
+FileMetadata::newCtime(KernelOperation*, dmEventList*) mmfs26.tmp
+FileMetadata::setAtime(HiResTime const&)          mmfs26.tmp
+FileMetadata::setAttrs(KernelOperation*, int, int, int, ...) mmfs26.tmp
+FileMetadata::setCtime(HiResTime const&, KernelOperation*, dmEventList*) mmfs26.tmp
+FileMetadata::setCurrentDataReplicas(int)         mmfs26.tmp
+FileMetadata::setDataPoolIndex(int)               mmfs26.tmp
+FileMetadata::setExposed(unsigned int)            mmfs26.tmp
+FileMetadata::setFileSizeIfBigger(long long, long long, unsigned int) mmfs26.tmp
+FileMetadata::setFilesetId(unsigned int)          mmfs26.tmp
+FileMetadata::setIllPlaced(unsigned int)          mmfs26.tmp
+FileMetadata::setIllReplicated(unsigned int)      mmfs26.tmp
+FileMetadata::setInodeDirty()                     mmfs26.tmp
+FileMetadata::setInodeDirtyAndVerify(unsigned int) mmfs26.tmp
+FileMetadata::setMode(unsigned int, KernelOperation*) mmfs26.tmp
+FileMetadata::setMtime(HiResTime const&)          mmfs26.tmp
+FileMetadata::setMtimeUpdate(int)                 mmfs26.tmp
+FileMetadata::setOwn(int, unsigned int, unsigned int, KernelOperation*) mmfs26.tmp
+FileMetadata::setTimes(int, HiResTime const*, KernelOperation*, dmEventList*) mmfs26.tmp
+FileMetadata::setV4Mode(unsigned int, KernelOperation*) mmfs26.tmp
+FileMetadata::set_mtimeUpdate()                   mmfs26.tmp
+FileMetadata::stat(cxiVattr_t*, OpenFile*)        mmfs26.tmp
+FileMetadata::statUpdateOSNode(OpenFile*, cxiNode_t*, int) mmfs26.tmp
+FileMetadata::updateFileModifiedSnapId()          mmfs26.tmp
+FileSystem::kGetInode0FileP(int)                  mmfs26.tmp
+FileSystem::reclassifyInstsAboveTargetMaxM()      mmfs26.tmp
+FileSystem::reclassifyInstsBelowTargetMaxM(unsigned int) mmfs26.tmp
+FileSystem::updateTargetMaximaM()                 mmfs26.tmp
+FileUID::FileUID()                                mmfs26.tmp
+FileUID::FileUID(int, GenNum, int, unsigned int)  mmfs26.tmp
+FileUID::operator!=(FileUID const&) const         mmfs26.tmp
+FileUID::operator==(FileUID const&) const         mmfs26.tmp
+FileUID::setToInvalid()                           mmfs26.tmp
+FileUID::setToValue(int, GenNum, int, unsigned int) mmfs26.tmp
+FileUID_rpc::operator=(FileUID const&)            mmfs26.tmp
+Fileset::getFilesetName() const                   mmfs26.tmp
+FilesetHashTab::findCachedItem(DiskUID, int, LkObj::LockModeEnum, unsigned int (*)(FilesetMDObj*, void*), FilesetMDObj**, void*) mmfs26.tmp
+FilesetMDObj::unlock(LkObj::LockModeEnum)         mmfs26.tmp
+FilesetMDObj::unlock_vfs(LkObj::LockModeEnum)     mmfs26.tmp
+FillMailboxLogSpec(MBELogSpecParms*, char*, char*) mmfs26.tmp
+GPFSErrno(int)                                    mmfs26.tmp
+GPFSToSystemErrno(Errno)                          mmfs26.tmp
+GenNum::GenNum()                                  mmfs26.tmp
+GenNum::GenNum(unsigned int)                      mmfs26.tmp
+GenNum::isUnknown() const                         mmfs26.tmp
+GenNum::operator unsigned int() const             mmfs26.tmp
+GenNum::operator!=(GenNum const&) const           mmfs26.tmp
+GenNum::operator=(unsigned int)                   mmfs26.tmp
+GenNum::operator==(GenNum const&) const           mmfs26.tmp
+GetDiskInfoX                                      mmfs26.tmp
+GetFlock(RecLockSleeper*, cxiFlock_t*)            mmfs26.tmp
+GetMountedOverOSNode(void*, FileUID*, gpfsVfsData_t**, gpfsNode_t**) mmfs26.tmp
+GetNFS(void*, MMFSVInfo**, int*)                  mmfs26.tmp
+GetRootFileId(void*, FileUID*, gpfsNode_t**)      mmfs26.tmp
+GlobalFS::getEffFileCacheLimit()                  mmfs26.tmp
+GlobalFS::getEffFileCacheMemLimit()               mmfs26.tmp
+GlobalFS::wakePrefetchWorkerM()                   mmfs26.tmp
+GpfsRdwr(gpfsVfsData_t*, gpfsNode_t*, void*, cxiRdWr_t, int, cxiUio_t*, KernelOperation*) mmfs26.tmp
+HashTabSize                                       mmfs26.tmp
+HiResTime::HiResTime()                            mmfs26.tmp
+HiResTime::HiResTime(int)                         mmfs26.tmp
+HiResTime::HiResTime(int)                         mmfs26.tmp
+HiResTime::HiResTime(unsigned int, unsigned int)  mmfs26.tmp
+HiResTime::HiResTime(unsigned int, unsigned int)  mmfs26.tmp
+HiResTime::asString(char*, int) const             mmfs26.tmp
+HiResTime::getNanoseconds() const                 mmfs26.tmp
+HiResTime::getSeconds() const                     mmfs26.tmp
+HiResTime::neverP                                 mmfs26.tmp
+HiResTime::now()                                  mmfs26.tmp
+HiResTime::operator!=(HiResTime const&) const     mmfs26.tmp
+HiResTime::operator!=(unsigned int) const         mmfs26.tmp
+HiResTime::operator+(HiResTime const&) const      mmfs26.tmp
+HiResTime::operator+(unsigned int) const          mmfs26.tmp
+HiResTime::operator+=(HiResTime const&)           mmfs26.tmp
+HiResTime::operator+=(unsigned int)               mmfs26.tmp
+HiResTime::operator-(HiResTime const&) const      mmfs26.tmp
+HiResTime::operator-(unsigned int) const          mmfs26.tmp
+HiResTime::operator-=(HiResTime const&)           mmfs26.tmp
+HiResTime::operator-=(unsigned int)               mmfs26.tmp
+HiResTime::operator<(unsigned int) const          mmfs26.tmp
+HiResTime::operator<=(HiResTime const&) const     mmfs26.tmp
+HiResTime::operator<=(unsigned int) const         mmfs26.tmp
+HiResTime::operator==(unsigned int) const         mmfs26.tmp
+HiResTime::operator>(HiResTime const&) const      mmfs26.tmp
+HiResTime::operator>(unsigned int) const          mmfs26.tmp
+HiResTime::operator>=(unsigned int) const         mmfs26.tmp
+HoldDaemonSeg(SegMapStatus*, int*)                mmfs26.tmp
+HoldDaemonSegAndSG(SegMapStatus*, int*, gpfsVfsData_t*, StripeGroup**, unsigned int*, int*, unsigned int*) mmfs26.tmp
+HoldDaemonSegAndSGNonBlock(SegMapStatus*, int*, gpfsVfsData_t*, StripeGroup**, unsigned int*) mmfs26.tmp
+HoldSG(SegMapStatus*, int*, gpfsVfsData_t*, StripeGroup**, unsigned int*, int*, unsigned int*) mmfs26.tmp
+HolderBitmap::hbAdd(int)                          mmfs26.tmp
+HolderBitmap::hbAddToL1(int)                      mmfs26.tmp
+HolderBitmap::hbAddToL2(int)                      mmfs26.tmp
+HolderBitmap::hbCompareBitmap(HolderBitmap const*) const mmfs26.tmp
+HolderBitmap::hbConvert0(int)                     mmfs26.tmp
+HolderBitmap::hbConvert1(int)                     mmfs26.tmp
+HolderBitmap::hbCopyFrom(HolderBitmap const*)     mmfs26.tmp
+HolderBitmap::hbGetNextOneBitL0(int) const        mmfs26.tmp
+HolderBitmap::hbGetNextOneBitL1(int) const        mmfs26.tmp
+HolderBitmap::hbGetNextOneBitL2(int) const        mmfs26.tmp
+HolderBitmap::hbIsMemberL0(int) const             mmfs26.tmp
+HolderBitmap::hbIsMemberL1(int) const             mmfs26.tmp
+HolderBitmap::hbIsMemberL2(int) const             mmfs26.tmp
+HolderBitmap::hbRemoveL0(int)                     mmfs26.tmp
+HolderBitmap::hbRemoveL1(int, unsigned int)       mmfs26.tmp
+HolderBitmap::hbRemoveL2(int)                     mmfs26.tmp
+HolderBitmap::operator new(unsigned int)          mmfs26.tmp
+HolderBitmap::~HolderBitmap()                     mmfs26.tmp
+HolderList::operator new(unsigned int)            mmfs26.tmp
+Iaccess(KernelOperation*, gpfsVfsData_t*, OpenFile*, unsigned int, unsigned int, ext_cred_t*) mmfs26.tmp
+IaccessAcl(KernelOperation*, gpfsVfsData_t*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned long long, int, unsigned int, unsigned int, ext_cred_t*) mmfs26.tmp
+IaccessNoAcl(KernelOperation*, unsigned int, unsigned int, unsigned int, unsigned int, ext_cred_t*) mmfs26.tmp
+IncrementCacheUse(int)                            mmfs26.tmp
+InitAtomicOps()                                   mmfs26.tmp
+Inode::getDataPoolIndex()                         mmfs26.tmp
+Inode::getFilesetId()                             mmfs26.tmp
+Inode::getHeaderLen(StripeGroup const*)           mmfs26.tmp
+Inode::getHeaderLen(StripeGroupDesc const*)       mmfs26.tmp
+Inode::getVar(StripeGroup const*) const           mmfs26.tmp
+Inode::getVar(StripeGroupDesc const*) const       mmfs26.tmp
+Inode::isIllPlaced() const                        mmfs26.tmp
+Inode::validateInode(char const*, void*)          mmfs26.tmp
+InodeFetchStats::reset()                          mmfs26.tmp
+InodePrefetchInstance::inodeUsed(LookupDetails const&) mmfs26.tmp
+InodePrefetchInstance::readyForNextDirBlock() const mmfs26.tmp
+InodePrefetchInstance::setXattrPrefetch(LookupDetails const&, unsigned int) mmfs26.tmp
+InodeTimeValue::now()                             mmfs26.tmp
+Int32MBPerfMonItem::operator++(int)               mmfs26.tmp
+Int64MBPerfMonItem::add(long long)                mmfs26.tmp
+IoDone                                            mmfs26.tmp
+IsBRConflict(int, int)                            mmfs26.tmp
+IsConflict(int, int)                              mmfs26.tmp
+IsOverFileCacheLimit()                            mmfs26.tmp
+KDumpMemory(char const*, char*, int, unsigned long) mmfs26.tmp
+KernelMailbox::getFree(KernelOperation*, MailboxAllocType, unsigned int, KernelMailbox**, MailboxMsgType) mmfs26.tmp
+KernelMailbox::kFree()                            mmfs26.tmp
+KernelMailbox::sendToDaemonWithReply()            mmfs26.tmp
+KernelOperation::KernelOperation()                mmfs26.tmp
+KernelOperation::KernelOperation()                mmfs26.tmp
+KernelOperation::auxStackAlloc(int)               mmfs26.tmp
+KernelOperation::auxStackFree(int)                mmfs26.tmp
+KernelOperation::declarePageUsage(gpfsVfsData_t*, PudDeclType) mmfs26.tmp
+KernelOperation::getDmEvents()                    mmfs26.tmp
+KernelOperation::getInvisRdWr()                   mmfs26.tmp
+KernelOperation::getNPages()                      mmfs26.tmp
+KernelOperation::getOpContext()                   mmfs26.tmp
+KernelOperation::getSGP() const                   mmfs26.tmp
+KernelOperation::holdDaemonSeg(gpfsVfsData_t*, unsigned int) mmfs26.tmp
+KernelOperation::holdSG(gpfsVfsData_t*)           mmfs26.tmp
+KernelOperation::kBegin(gpfsVfsData_t*, int, PudDeclType, cxiContext_t) mmfs26.tmp
+KernelOperation::kBeginFromDaemon(gpfsVfsData_t*) mmfs26.tmp
+KernelOperation::kBeginVnop(gpfsVfsData_t*)       mmfs26.tmp
+KernelOperation::kBeginVnopRd(gpfsVfsData_t*)     mmfs26.tmp
+KernelOperation::kBeginVnopRdPud(gpfsVfsData_t*)  mmfs26.tmp
+KernelOperation::kBeginVnopWr(gpfsVfsData_t*)     mmfs26.tmp
+KernelOperation::kBeginVnopWrPud(gpfsVfsData_t*)  mmfs26.tmp
+KernelOperation::mapDaemonSeg()                   mmfs26.tmp
+KernelOperation::reDeclarePageUsage(int)          mmfs26.tmp
+KernelOperation::releSG()                         mmfs26.tmp
+KernelOperation::releaseMBUsageRight()            mmfs26.tmp
+KernelOperation::releaseSG()                      mmfs26.tmp
+KernelOperation::reloadDaemonSeg(unsigned long)   mmfs26.tmp
+KernelOperation::resetPageUsage()                 mmfs26.tmp
+KernelOperation::restoreCallerSeg(unsigned long*) mmfs26.tmp
+KernelOperation::setDmEvents(unsigned int)        mmfs26.tmp
+KernelOperation::setInvisRdWr(unsigned int)       mmfs26.tmp
+KernelOperation::setOpContext(cxiContext_t)       mmfs26.tmp
+KernelOperation::waitMBUsageRight()               mmfs26.tmp
+KernelOperation::~KernelOperation()               mmfs26.tmp
+KernelOperation::~KernelOperation()               mmfs26.tmp
+KernelOperationMMap::KernelOperationMMap()        mmfs26.tmp
+KernelOperationMMap::koMmapLock(gpfsNode_t*, int) mmfs26.tmp
+KernelOperationMMap::koMmapUnlock()               mmfs26.tmp
+KernelOperationMMap::~KernelOperationMMap()       mmfs26.tmp
+KernelOperationMMap::~KernelOperationMMap()       mmfs26.tmp
+KeyHistory::find(unsigned int, unsigned int, unsigned short*) mmfs26.tmp
+KeyHistory::getHashNext(unsigned short)           mmfs26.tmp
+LLCachedRecAddr::attach(LLOpenFile*)              mmfs26.tmp
+LLCachedRecAddr::detach()                         mmfs26.tmp
+LLCachedRecAddr::isMigrating()                    mmfs26.tmp
+LLCachedRecAddr::setToNULL()                      mmfs26.tmp
+LLOpenFile::getMaxDataReplicas() const            mmfs26.tmp
+LLOpenFile::kSetCachedRecAddr(int, int, RepDiskAddr const&, unsigned int, LLCachedRecAddr*) mmfs26.tmp
+LLOpenFile::readLockAcquire()                     mmfs26.tmp
+LLOpenFile::readLockRelease()                     mmfs26.tmp
+LOGSPECIFIC                                       mmfs26.tmp
+LinuxToAIXNlsVal(int)                             mmfs26.tmp
+LkObj::cacheObjP(unsigned short) const            mmfs26.tmp
+LkObj::change_lock_vfs(CacheObj*, LkObj::LockModeEnum, LkObj::LockModeEnum, int) mmfs26.tmp
+LkObj::downgrade_lock_vfs(CacheObj*, LkObj::LockModeEnum, LkObj::LockModeEnum, int) mmfs26.tmp
+LkObj::expandToken(CacheObj*, LkTokenState*)      mmfs26.tmp
+LkObj::get_lock_state() const                     mmfs26.tmp
+LkObj::get_new_token_mode() const                 mmfs26.tmp
+LkObj::get_obj_status() const                     mmfs26.tmp
+LkObj::get_obj_type() const                       mmfs26.tmp
+LkObj::get_token_mode() const                     mmfs26.tmp
+LkObj::lockFlagsToString(unsigned int, char*)     mmfs26.tmp
+LkObj::lockStateToString(unsigned long long, char*) mmfs26.tmp
+LkObj::lock_vfs(CacheObj*, LkObj::LockModeEnum, int) mmfs26.tmp
+LkObj::lock_vfs_m(CacheObj*, LkObj::LockModeEnum, int) mmfs26.tmp
+LkObj::lock_vfs_v(CacheObj*, LkObj::LockModeEnum, int, LkObj::LockModeEnum*) mmfs26.tmp
+LkObj::modify_lock_vfs(CacheObj*, LkObj::LockModeEnum, LkObj::LockModeEnum, int) mmfs26.tmp
+LkObj::set_token_mode(LkObj::LockModeEnum)        mmfs26.tmp
+LkObj::set_token_mode(int)                        mmfs26.tmp
+LkObj::unlock_vfs(CacheObj*, LkObj::LockModeEnum) mmfs26.tmp
+LkObj::unlock_vfs_m(CacheObj*, LkObj::LockModeEnum) mmfs26.tmp
+LkObjCountTab                                     mmfs26.tmp
+LkObjOffsetsTab                                   mmfs26.tmp
+LkObjSMB::LockStateAcquire(LkObj::LockModeEnum)   mmfs26.tmp
+LkObjSMB::LockStateRelease(LkObj::LockModeEnum)   mmfs26.tmp
+LkObjSMB::SMBCloseM(OpenInstance*)                mmfs26.tmp
+LkObjSMB::SMBlockStateToString(char*)             mmfs26.tmp
+LkObjSMB::SMBlock_fetch_vfs(KernelOperation*, CacheObj*, OpenInstance*, LkObj::LockModeEnum) mmfs26.tmp
+LkObjSMB::SMBlock_fetch_vfs_m(KernelOperation*, CacheObj*, OpenInstance*, LkObj::LockModeEnum, unsigned int) mmfs26.tmp
+LkObjSMB::SMBlock_vfs_m(CacheObj*, OpenInstance*, LkObj::LockModeEnum) mmfs26.tmp
+LkObjSMB::SMBunlock_vfs(CacheObj*, OpenInstance*, LkObj::LockModeEnum) mmfs26.tmp
+LkObjSMB::SMBunlock_vfs_m(CacheObj*, OpenInstance*, LkObj::LockModeEnum) mmfs26.tmp
+LkTokenState::permits(LkObj::LockModeEnum)        mmfs26.tmp
+LocalFileId::LocalFileId()                        mmfs26.tmp
+LocalFileId::getWord0() const                     mmfs26.tmp
+LocalFileId::getWord1() const                     mmfs26.tmp
+LocalFileId::set(int, FileUID)                    mmfs26.tmp
+LocalSGIdCounter                                  mmfs26.tmp
+LogFSError(FSError, char const*, char const*, ...) mmfs26.tmp
+LogRecTypeToString(int)                           mmfs26.tmp
+LogStatusToString(int)                            mmfs26.tmp
+LookupDetails::LookupDetails()                    mmfs26.tmp
+LookupDetails::reset()                            mmfs26.tmp
+MMFSAddrSpace                                     mmfs26.tmp
+MMFSSessionId                                     mmfs26.tmp
+MNodeToken::CleanMnodeToken()                     mmfs26.tmp
+MNodeToken::expandToken(OpenFile*, LkTokenState*, NodeAddr) mmfs26.tmp
+MNodeToken::getMetanodeStatus()                   mmfs26.tmp
+MNodeToken::k_set_mnode_mode_addr(unsigned int)   mmfs26.tmp
+MNodeToken::local_mnode_view()                    mmfs26.tmp
+Mailbox::dioWaitForTermination()                  mmfs26.tmp
+Mailbox::eventWordArrayP                          mmfs26.tmp
+Mailbox::initModule()                             mmfs26.tmp
+Mailbox::sendToDaemon()                           mmfs26.tmp
+Mailbox::termModule()                             mmfs26.tmp
+MailboxQueue::dequeue()                           mmfs26.tmp
+MailboxQueue::enqueue(Mailbox*)                   mmfs26.tmp
+MailboxQueue::getNQueued() const                  mmfs26.tmp
+MailboxState::dmChangeEventTypeInUse(MailboxMsgType, int) mmfs26.tmp
+MailboxState::dmCountReservedEventBoxes(MailboxMsgType) mmfs26.tmp
+MailboxState::dmIncCurNumAsyncEvents(int)         mmfs26.tmp
+MailboxState::dmIncCurNumOrphanEvents(int)        mmfs26.tmp
+MailboxState::dmIncNumAsyncEvents()               mmfs26.tmp
+MailboxState::dmIncNumEventRetries()              mmfs26.tmp
+MailboxState::dmIncNumFailedEvents()              mmfs26.tmp
+MailboxState::dmIncNumSyncEvents()                mmfs26.tmp
+MailboxState::dmIncOrphanTimeoutEventCount(int)   mmfs26.tmp
+MailboxState::dmIncTimeoutEbWaitCount(int)        mmfs26.tmp
+MailboxState::dmIncTimeoutEventCount(int)         mmfs26.tmp
+MapDaemonSeg(SegMapStatus*, int*)                 mmfs26.tmp
+MaxConsecutiveOneBits(unsigned int)               mmfs26.tmp
+MaxOpenNFSFiles                                   mmfs26.tmp
+MemPool::AddPool()                                mmfs26.tmp
+MemPool::BlockAlloc(int)                          mmfs26.tmp
+MemPool::BlockFree(void*)                         mmfs26.tmp
+MemPool::Cleanup()                                mmfs26.tmp
+MemPool::DetachBlock(MemPool::freelistNode**)     mmfs26.tmp
+MemPool::DoAllocation()                           mmfs26.tmp
+MemPool::ExpandSizetable(int)                     mmfs26.tmp
+MemPool::GetBlockFromPool(int, MemPool::sizetableNode*) mmfs26.tmp
+MemPool::Init()                                   mmfs26.tmp
+MemPool::MemPool()                                mmfs26.tmp
+MemPool::MemPool()                                mmfs26.tmp
+MemPool::ShowSizetable()                          mmfs26.tmp
+MemPool::~MemPool()                               mmfs26.tmp
+MemPool::~MemPool()                               mmfs26.tmp
+MemoryPool::addRegion(int)                        mmfs26.tmp
+MemoryPool::addToFree(FreeBlockHeader*, FreeBlockHeader*) mmfs26.tmp
+MemoryPool::formatRegion(char*, int, FreeBlockHeader**) mmfs26.tmp
+MemoryPool::shAlloc(int, MallocDuration, MallocUse, Errno*) mmfs26.tmp
+MemoryPool::shFree(void*, MallocUse)              mmfs26.tmp
+MemoryPool::splitHigh(FreeBlockHeader*, int, BlockDelimiter**) mmfs26.tmp
+MemoryPool::splitLow(FreeBlockHeader*, int, BlockDelimiter**) mmfs26.tmp
+MemorySubpool::newChunk()                         mmfs26.tmp
+MemorySubpool::spAllocE(void**)                   mmfs26.tmp
+MemorySubpool::spAllocM(int, void**)              mmfs26.tmp
+MemorySubpool::spFree(void*)                      mmfs26.tmp
+MemorySubpool::spFreeM(int, void**)               mmfs26.tmp
+MetaFileBlock::MetaFileBlock()                    mmfs26.tmp
+MetaFileBlock::MetaFileBlock()                    mmfs26.tmp
+MetaFileBlock::getAttachDataP() const             mmfs26.tmp
+MetaFileBlock::getBDP() const                     mmfs26.tmp
+MetaFileBlock::release()                          mmfs26.tmp
+MetaFileBlock::xaccess(KernelOperation*, OpenFile*, LocalFileId, long long, bufferReqType, BufferDesc**, gpfsNode_t*) mmfs26.tmp
+MinOpenNFSFiles                                   mmfs26.tmp
+MmFlushArgs::MmFlushArgs()                        mmfs26.tmp
+MmapLockWord                                      mmfs26.tmp
+MmpmonLatencyRange::MmpmonLatencyRange(int, unsigned long long const*) mmfs26.tmp
+MmpmonLatencyRange::MmpmonLatencyRange(int, unsigned long long const*) mmfs26.tmp
+MmpmonLatencyRange::operator delete(void*)        mmfs26.tmp
+MmpmonLatencyRange::operator new(unsigned int)    mmfs26.tmp
+MmpmonLatencyRange::reset()                       mmfs26.tmp
+MmpmonLatencyRange::~MmpmonLatencyRange()         mmfs26.tmp
+MmpmonLatencyRange::~MmpmonLatencyRange()         mmfs26.tmp
+MmpmonLatencyRange_DefaultCuts                    mmfs26.tmp
+MmpmonLatencyRange_PerDisk_DefaultCuts            mmfs26.tmp
+MmpmonLatencyRanges_Default                       mmfs26.tmp
+MmpmonLatencyRanges_PerDisk_Default               mmfs26.tmp
+MmpmonRequestRange_DefaultCuts                    mmfs26.tmp
+MmpmonRequestRange_PerDisk_DefaultCuts            mmfs26.tmp
+MmpmonRequestRanges_Default                       mmfs26.tmp
+MmpmonRequestRanges_PerDisk_Default               mmfs26.tmp
+MmpmonRequestSizeRange::MmpmonRequestSizeRange(int, unsigned long long const*, int, unsigned long long const*) mmfs26.tmp
+MmpmonRequestSizeRange::MmpmonRequestSizeRange(int, unsigned long long const*, int, unsigned long long const*) mmfs26.tmp
+MmpmonRequestSizeRange::hit(unsigned long long, HiResTime const&) mmfs26.tmp
+MmpmonRequestSizeRange::mmpmonRangeFinder(unsigned long long, unsigned long long const*, int) mmfs26.tmp
+MmpmonRequestSizeRange::operator delete(void*)    mmfs26.tmp
+MmpmonRequestSizeRange::operator new(unsigned int) mmfs26.tmp
+MmpmonRequestSizeRange::reset()                   mmfs26.tmp
+MmpmonRequestSizeRange::~MmpmonRequestSizeRange() mmfs26.tmp
+MmpmonRequestSizeRange::~MmpmonRequestSizeRange() mmfs26.tmp
+Mmpmon_Disk_Statistics::Mmpmon_Disk_Statistics()  mmfs26.tmp
+Mmpmon_Disk_Statistics::Mmpmon_Disk_Statistics()  mmfs26.tmp
+Mmpmon_Disk_Statistics::force_set_diskHistogramOperation() mmfs26.tmp
+Mmpmon_Disk_Statistics::initializeDiskHistograms(Mmpmon_HistogramControl*) mmfs26.tmp
+Mmpmon_Disk_Statistics::lock_diskHistogramOperation() mmfs26.tmp
+Mmpmon_Disk_Statistics::resetDiskHistograms()     mmfs26.tmp
+Mmpmon_Disk_Statistics::unlock_diskHistogramOperation() mmfs26.tmp
+Mmpmon_Disk_Statistics::waitFor_diskHistogramOperation(int, unsigned int) mmfs26.tmp
+Mmpmon_Disk_Statistics::zapDiskHistograms(MmpmonRequestSizeRange**) mmfs26.tmp
+Mmpmon_Disk_Statistics::~Mmpmon_Disk_Statistics() mmfs26.tmp
+Mmpmon_Disk_Statistics::~Mmpmon_Disk_Statistics() mmfs26.tmp
+Mmpmon_FS_Statistics::add_bytesCache(unsigned long long) mmfs26.tmp
+Mmpmon_FS_Statistics::add_bytesRead(unsigned long long) mmfs26.tmp
+Mmpmon_FS_Statistics::add_bytesWritten(unsigned long long) mmfs26.tmp
+Mmpmon_FS_Statistics::inc_caches()                mmfs26.tmp
+Mmpmon_FS_Statistics::inc_closeCalls()            mmfs26.tmp
+Mmpmon_FS_Statistics::inc_openCalls()             mmfs26.tmp
+Mmpmon_FS_Statistics::inc_readCalls()             mmfs26.tmp
+Mmpmon_FS_Statistics::inc_readdirCalls()          mmfs26.tmp
+Mmpmon_FS_Statistics::inc_reads()                 mmfs26.tmp
+Mmpmon_FS_Statistics::inc_statCacheHit()          mmfs26.tmp
+Mmpmon_FS_Statistics::inc_statCacheMiss()         mmfs26.tmp
+Mmpmon_FS_Statistics::inc_writeCalls()            mmfs26.tmp
+Mmpmon_FS_Statistics::inc_writes()                mmfs26.tmp
+Mmpmon_HistogramControl::Mmpmon_HistogramControl(int) mmfs26.tmp
+Mmpmon_HistogramControl::Mmpmon_HistogramControl(int) mmfs26.tmp
+Mmpmon_HistogramControl::force_set_histogramOperation() mmfs26.tmp
+Mmpmon_HistogramControl::installDefaultRanges(unsigned long long*, int, unsigned long long*, int) mmfs26.tmp
+Mmpmon_HistogramControl::lock_histogramOperation() mmfs26.tmp
+Mmpmon_HistogramControl::operator delete(void*)   mmfs26.tmp
+Mmpmon_HistogramControl::operator new(unsigned int) mmfs26.tmp
+Mmpmon_HistogramControl::unlock_histogramOperation() mmfs26.tmp
+Mmpmon_HistogramControl::waitFor_histogramOperation(int, unsigned int) mmfs26.tmp
+Mmpmon_HistogramControl::~Mmpmon_HistogramControl() mmfs26.tmp
+Mmpmon_HistogramControl::~Mmpmon_HistogramControl() mmfs26.tmp
+MountIdCounter                                    mmfs26.tmp
+MutexToString(int)                                mmfs26.tmp
+NFSData::NFSData()                                mmfs26.tmp
+NFSLRUHead                                        mmfs26.tmp
+NFSWatchKprocInit()                               mmfs26.tmp
+NFSWatchKprocTerm()                               mmfs26.tmp
+NFSWatchKprocWait()                               mmfs26.tmp
+NFSv4_getMode(AclLocalEndian, unsigned int, unsigned int*, int) mmfs26.tmp
+NFSv4_iaccess(unsigned long long, int, unsigned int, AclLocalEndian, unsigned int, unsigned int, unsigned int, int (*)(int, ...), ext_cred_t*) mmfs26.tmp
+NeedToUnmapSharedSeg                              mmfs26.tmp
+NodeAddr::NodeAddr()                              mmfs26.tmp
+NodeAddr::NodeAddr(unsigned int, unsigned int, NodeAddr::NAtype) mmfs26.tmp
+NodeAddr::getNodeIdx() const                      mmfs26.tmp
+NodeAddr::isRegular() const                       mmfs26.tmp
+NodeAddr::isReserved() const                      mmfs26.tmp
+NodeAddr::operator!=(NodeAddr const&) const       mmfs26.tmp
+NodeAddr::operator==(NodeAddr const&) const       mmfs26.tmp
+NodeAddr::toint() const                           mmfs26.tmp
+NodeAddr::~NodeAddr()                             mmfs26.tmp
+NodeStatusToString(int)                           mmfs26.tmp
+NotGlobalMutexClass::kAcquire()                   mmfs26.tmp
+NotGlobalMutexClass::kAcquireSlow()               mmfs26.tmp
+NumNFSDataObjects                                 mmfs26.tmp
+NumberOfOneBits(unsigned int)                     mmfs26.tmp
+ObjClassNameTab                                   mmfs26.tmp
+ObjKey::ObjKey()                                  mmfs26.tmp
+ObjKey::ObjKey(unsigned int, unsigned int, unsigned int, unsigned int) mmfs26.tmp
+ObjKey::operator==(ObjKey const&) const           mmfs26.tmp
+ObjTypeClassTab                                   mmfs26.tmp
+ObjTypeIsBRTab                                    mmfs26.tmp
+ObjTypeNameTab                                    mmfs26.tmp
+ObjTypeOffsetTab                                  mmfs26.tmp
+OnesTable                                         mmfs26.tmp
+OpenFile::AcquireFlushFlag(unsigned int, unsigned int) mmfs26.tmp
+OpenFile::ReleaseFlushFlag(unsigned int)          mmfs26.tmp
+OpenFile::acquireBRT(ByteRange const&, ByteRange const&, BRLock::BRLockMode) mmfs26.tmp
+OpenFile::copyDataToPrevSnapshotNeeded() const    mmfs26.tmp
+OpenFile::copyInodeToPrevSnapshotNeeded() const   mmfs26.tmp
+OpenFile::deleteDefaultAcl(KernelOperation*)      mmfs26.tmp
+OpenFile::deleteExtendedAcl(KernelOperation*)     mmfs26.tmp
+OpenFile::dmGetOpaqueAttr1()                      mmfs26.tmp
+OpenFile::dmGetOpaqueAttr2()                      mmfs26.tmp
+OpenFile::fastCleanOpenFile(unsigned int)         mmfs26.tmp
+OpenFile::getCurrentDataReplicas() const          mmfs26.tmp
+OpenFile::getCurrentMetadataReplicas() const      mmfs26.tmp
+OpenFile::getDataBytesPerFileBlock() const        mmfs26.tmp
+OpenFile::getDataCopiedSnapId() const             mmfs26.tmp
+OpenFile::getDataPoolId() const                   mmfs26.tmp
+OpenFile::getDefaultAcl() const                   mmfs26.tmp
+OpenFile::getDirLayoutP() const                   mmfs26.tmp
+OpenFile::getExtendedAcl() const                  mmfs26.tmp
+OpenFile::getFileId(GenNum) const                 mmfs26.tmp
+OpenFile::getFileSize() const                     mmfs26.tmp
+OpenFile::getFilesetId() const                    mmfs26.tmp
+OpenFile::getInodeFlags() const                   mmfs26.tmp
+OpenFile::getInodeNum() const                     mmfs26.tmp
+OpenFile::getLog2DataBytesPerFileBlock() const    mmfs26.tmp
+OpenFile::getMaxDataReplicas() const              mmfs26.tmp
+OpenFile::getMaxMetadataReplicas() const          mmfs26.tmp
+OpenFile::getNDataBlocks() const                  mmfs26.tmp
+OpenFile::getSnapId() const                       mmfs26.tmp
+OpenFile::getSubblockSize() const                 mmfs26.tmp
+OpenFile::getSubblocksPerFileBlock() const        mmfs26.tmp
+OpenFile::hasVFSReference() const                 mmfs26.tmp
+OpenFile::isFilesetRoot() const                   mmfs26.tmp
+OpenFile::isInodeValid()                          mmfs26.tmp
+OpenFile::isOpen()                                mmfs26.tmp
+OpenFile::kDmGetFEventList(KernelOperation*, gpfsNode_t*, dmEventList*, unsigned int*, unsigned int) mmfs26.tmp
+OpenFile::kDmGetRegion(KernelOperation*, gpfsNode_t*, dm_region*, unsigned int, unsigned int*) mmfs26.tmp
+OpenFile::kDoDirectio(KernelOperation*, unsigned int, long long, unsigned int, char*, cxiXmem_t*, unsigned int*) mmfs26.tmp
+OpenFile::kInitOpenFile(FileUID, StripeGroup*)    mmfs26.tmp
+OpenFile::mnodeStatusIs(int)                      mmfs26.tmp
+OpenFile::reset_vfsAccess()                       mmfs26.tmp
+OpenFile::setAtime(HiResTime const&)              mmfs26.tmp
+OpenFile::setCtime(HiResTime const&, KernelOperation*) mmfs26.tmp
+OpenFile::setDoCompactFlag(unsigned int)          mmfs26.tmp
+OpenFile::setFileSizeIfBigger(long long const&, long long const&, unsigned int) mmfs26.tmp
+OpenFile::setFilesetId(unsigned int)              mmfs26.tmp
+OpenFile::setMtime(HiResTime const&)              mmfs26.tmp
+OpenFile::setTimes(int, HiResTime const*, KernelOperation*) mmfs26.tmp
+OpenFile::setVFSReference(unsigned int)           mmfs26.tmp
+OpenFile::setValid(unsigned int)                  mmfs26.tmp
+OpenFile::tryInitOpenFile(StripeGroup*, LkObj::LockModeEnum) mmfs26.tmp
+OpenFileReq::OpenFileReq()                        mmfs26.tmp
+OpenInstance::OpenInstance()                      mmfs26.tmp
+OpenInstance::OpenInstance()                      mmfs26.tmp
+OpenInstance::assertVCM()                         mmfs26.tmp
+OpenInstance::assertVCMObjects()                  mmfs26.tmp
+OpenInstance::attachInstance(OpenFile*, OpenInstance**) mmfs26.tmp
+OpenInstance::changeActiveM(HiResTime*, unsigned int, long long) mmfs26.tmp
+OpenInstance::claimBufferM(BufferDesc*)           mmfs26.tmp
+OpenInstance::clearDSPrefetchesM()                mmfs26.tmp
+OpenInstance::deactivateM()                       mmfs26.tmp
+OpenInstance::dequeueDSPrefetchesM(long long)     mmfs26.tmp
+OpenInstance::detachInstance(OpenFile*)           mmfs26.tmp
+OpenInstance::doLocalDSPrefetchM(long long)       mmfs26.tmp
+OpenInstance::doneWithBufferM(BufferDesc*, long long, unsigned int) mmfs26.tmp
+OpenInstance::doneWithCleanBufferM(BufferDesc*, unsigned int) mmfs26.tmp
+OpenInstance::dsBufCacheUpdateM(long long, unsigned int, unsigned int*) mmfs26.tmp
+OpenInstance::dsRetirePrefetchSpecM(PrefetchSpec*) mmfs26.tmp
+OpenInstance::enoughBuffersForAnotherPrefetchM(FileSystem*) mmfs26.tmp
+OpenInstance::enqueueInstM(FileSystem*, WhichInstListEnum) mmfs26.tmp
+OpenInstance::getActive() const                   mmfs26.tmp
+OpenInstance::getCurrentBufferUsage() const       mmfs26.tmp
+OpenInstance::getPrefetchCleanupNeeded() const    mmfs26.tmp
+OpenInstance::getTargetMaxBuffersM(FileSystem*)   mmfs26.tmp
+OpenInstance::getUserSetBuffering() const         mmfs26.tmp
+OpenInstance::hideAndWaitUntilIdle()              mmfs26.tmp
+OpenInstance::holdInst()                          mmfs26.tmp
+OpenInstance::kProcessDSPrefetchesM(KernelOperation*, BufferDesc*, FileUID, DiskUID) mmfs26.tmp
+OpenInstance::operator delete(void*)              mmfs26.tmp
+OpenInstance::operator new(unsigned int)          mmfs26.tmp
+OpenInstance::queueDSPrefetchesM()                mmfs26.tmp
+OpenInstance::reinit()                            mmfs26.tmp
+OpenInstance::releaseInst()                       mmfs26.tmp
+OpenInstance::releaseInstM()                      mmfs26.tmp
+OpenInstance::releaseOwnedBuffersM(unsigned int, long long, long long) mmfs26.tmp
+OpenInstance::rescheduleM()                       mmfs26.tmp
+OpenInstance::setPrefetchCleanupNeeded()          mmfs26.tmp
+OpenInstance::unlinkInstM()                       mmfs26.tmp
+PageAllocator::dequeueLeastRecent(Buffer*)        mmfs26.tmp
+PageAllocator::dequeueLeastRecent(int, Buffer::BufferQueue_t) mmfs26.tmp
+PageAllocator::enqueueLeastRecent(Buffer*, Buffer::BufferQueue_t) mmfs26.tmp
+PageAllocator::enqueueMostRecent(Buffer*, Buffer::BufferQueue_t) mmfs26.tmp
+PageAllocator::enqueueMostRecentMax(Buffer*, Buffer::BufferQueue_t) mmfs26.tmp
+PageAllocator::requeueMostRecent(Buffer*)         mmfs26.tmp
+PageAllocator::setPrefetch(Buffer**, unsigned int) mmfs26.tmp
+PageAllocator::setQueue(Buffer*, Buffer::BufferQueue_t, unsigned int) mmfs26.tmp
+PageAllocator::setRecentlyUsed(Buffer*, unsigned int, unsigned int) mmfs26.tmp
+PagerKproc::adjustKprocs()                        mmfs26.tmp
+PagerKproc::adjustLimReaders()                    mmfs26.tmp
+PagerKproc::classInit()                           mmfs26.tmp
+PagerKproc::classTerm()                           mmfs26.tmp
+PagerKproc::dequeueBuf(_cxibuf_t*, unsigned long) mmfs26.tmp
+PagerKproc::desiredKprocs                         mmfs26.tmp
+PagerKproc::dynCount                              mmfs26.tmp
+PagerKproc::dynKprocs                             mmfs26.tmp
+PagerKproc::idleListP                             mmfs26.tmp
+PagerKproc::killAll()                             mmfs26.tmp
+PagerKproc::killRequested                         mmfs26.tmp
+PagerKproc::kprocEventWord                        mmfs26.tmp
+PagerKproc::kprocListP                            mmfs26.tmp
+PagerKproc::kprocLock                             mmfs26.tmp
+PagerKproc::lastRequests                          mmfs26.tmp
+PagerKproc::lastWaitQlen                          mmfs26.tmp
+PagerKproc::limReaders                            mmfs26.tmp
+PagerKproc::nPurges                               mmfs26.tmp
+PagerKproc::numKprocs                             mmfs26.tmp
+PagerKproc::numReaders                            mmfs26.tmp
+PagerKproc::operator delete(void*)                mmfs26.tmp
+PagerKproc::operator new(unsigned int)            mmfs26.tmp
+PagerKproc::pkinit(int)                           mmfs26.tmp
+PagerKproc::pkmain()                              mmfs26.tmp
+PagerKproc::processClump(_cxibuf_t*, unsigned int) mmfs26.tmp
+PagerKproc::processRead(KernelOperationMMap*, gpfsNode_t*, OpenFile*, gpfsVfsData_t*, _cxibuf_t*) mmfs26.tmp
+PagerKproc::processWrite(KernelOperationMMap*, gpfsNode_t*, OpenFile*, gpfsVfsData_t*, _cxibuf_t*) mmfs26.tmp
+PagerKproc::resetDyn()                            mmfs26.tmp
+PagerKproc::startedKprocs                         mmfs26.tmp
+PagerKproc::terminate(gpfsNode_t*, MMFSVInfo*, unsigned int) mmfs26.tmp
+PagerKproc::wakeUpKproc()                         mmfs26.tmp
+PosOfIthOneBit(int, unsigned int)                 mmfs26.tmp
+Post                                              mmfs26.tmp
+Post(RecLockSleeper*, int, int)                   mmfs26.tmp
+PrefetchSpec::allocPrefetchSpecM(PrefetchSpec**)  mmfs26.tmp
+PrefetchSpec::deallocPrefetchSpecM()              mmfs26.tmp
+PrefetchSpec::discardPreSpecBuffer(long long, int, int, OpenInstance*, gpfsVfsData_t*, gpfsNode_t*, StripeGroup*) mmfs26.tmp
+PrefetchSpec::operator new(unsigned int)          mmfs26.tmp
+PrefetchSpecList::getNPrefetchSpecs() const       mmfs26.tmp
+PrefetchSpecList::preDequeueM()                   mmfs26.tmp
+PrefetchSpecList::preEnqueueM(PrefetchSpec*)      mmfs26.tmp
+PrefetchSpecList::preFindAndRemoveM(long long, int, int) mmfs26.tmp
+PrefetchSpecList::preFindBlockM(long long)        mmfs26.tmp
+PrefetchSpecList::preRemoveAllM()                 mmfs26.tmp
+PrefetchSpecList::preRemoveM(PrefetchSpec*)       mmfs26.tmp
+PrefetchState::advanceWindowM()                   mmfs26.tmp
+PrefetchState::computeBRLFlag() const             mmfs26.tmp
+PrefetchState::dsLocalAccess()                    mmfs26.tmp
+PrefetchState::dsRemoteAccess()                   mmfs26.tmp
+PrefetchState::findBlocksOfNextAccess(long long*, int*, int, int, OpenInstance*) const mmfs26.tmp
+PrefetchState::getAccessPattern() const           mmfs26.tmp
+PrefetchState::getOldWindowBegin() const          mmfs26.tmp
+PrefetchState::getWindowBegin() const             mmfs26.tmp
+PrefetchState::incrNBuffersCouldUse()             mmfs26.tmp
+PrefetchState::incrementAccessCursorM()           mmfs26.tmp
+PrefetchState::init()                             mmfs26.tmp
+PrefetchState::initPrefetchStrategyM(int, int, OpenInstance*, AccessPatChange) mmfs26.tmp
+PrefetchState::isLastAccessLargeWriteM(int, int) const mmfs26.tmp
+PrefetchState::nextPrefetchCursorM(int, long long*, long long*, int*, int*, int*, OpenInstance*) mmfs26.tmp
+PrefetchState::onlyLocalAccesses() const          mmfs26.tmp
+PrefetchState::prefetchInPastM(long long, long long, OpenInstance*) const mmfs26.tmp
+PrefetchState::pushAccessHistory(unsigned int, long long, long long, long long) mmfs26.tmp
+PrefetchState::resetAccToRandomM(OpenInstance*)   mmfs26.tmp
+PrefetchState::resetPrefetchCursorM(int)          mmfs26.tmp
+PrefetchState::setAccUserDefinedM(OpenInstance*)  mmfs26.tmp
+PrefetchState::updateAccessHistoryM(unsigned int, long long, long long, long long, OpenInstance*, int*) mmfs26.tmp
+PushIfNodeMatch(BRTreeNode*, void*, int)          mmfs26.tmp
+RLTrace(RecLockSleeper*, int)                     mmfs26.tmp
+RLlockRevoke(void*)                               mmfs26.tmp
+RLunLockRevoke(void*)                             mmfs26.tmp
+ReaccessKey(int, GenNum, int, unsigned long long) mmfs26.tmp
+ReaddirDmapi(void*, void*, cxiNode_t*, cxiUio_t*) mmfs26.tmp
+RecLocModuleInit()                                mmfs26.tmp
+RecLocModuleReset(unsigned int)                   mmfs26.tmp
+RecLocModuleTerm()                                mmfs26.tmp
+RecLockSleepCount                                 mmfs26.tmp
+RecLockSleepLock                                  mmfs26.tmp
+RecLockSleeperInit(RecLockSleeper*)               mmfs26.tmp
+ReclaimIfNeeded(int, unsigned int)                mmfs26.tmp
+ReleSG(SegMapStatus, int, StripeGroup*, unsigned int, int, unsigned int) mmfs26.tmp
+ReleaseAcl(AclAccess*)                            mmfs26.tmp
+ReleaseDaemonSeg(SegMapStatus, int)               mmfs26.tmp
+ReleaseDaemonSegAndSG(SegMapStatus, int, StripeGroup*, unsigned int, int, unsigned int) mmfs26.tmp
+ReleaseMBUsageRight()                             mmfs26.tmp
+ReleaseNFS(void*)                                 mmfs26.tmp
+RemoveFile                                        mmfs26.tmp
+RenameFile                                        mmfs26.tmp
+RepDiskAddr::append(DiskAddr96 const&)            mmfs26.tmp
+RepDiskAddr::chkBroken(StripeGroup const*) const  mmfs26.tmp
+RepDiskAddr::compAddr(RepDiskAddr const&) const   mmfs26.tmp
+RepDiskAddr::daStatusToString() const             mmfs26.tmp
+RepDiskAddr::exportDA(char*, int, int) const      mmfs26.tmp
+RepDiskAddr::extract(int) const                   mmfs26.tmp
+RepDiskAddr::getDiskNumPhantom(int) const         mmfs26.tmp
+RepDiskAddr::getFromArray(DiskAddr96 const*, int, int, int) mmfs26.tmp
+RepDiskAddr::getFromArray(DiskAddrContainer*, int, int) mmfs26.tmp
+RepDiskAddr::getNValidAddrs() const               mmfs26.tmp
+RepDiskAddr::getNextDiskIndexForRead(int) const   mmfs26.tmp
+RepDiskAddr::getPhantom(int) const                mmfs26.tmp
+RepDiskAddr::getSector(int) const                 mmfs26.tmp
+RepDiskAddr::importDA(char*, int, int, int)       mmfs26.tmp
+RepDiskAddr::importDA(void*, unsigned int*, Errno (*)(void*, unsigned int*, int, void*), int*, int) mmfs26.tmp
+RepDiskAddr::incSectorAddress(long long)          mmfs26.tmp
+RepDiskAddr::isALLOC() const                      mmfs26.tmp
+RepDiskAddr::isBroken() const                     mmfs26.tmp
+RepDiskAddr::isDITTO() const                      mmfs26.tmp
+RepDiskAddr::isNULL() const                       mmfs26.tmp
+RepDiskAddr::isOK() const                         mmfs26.tmp
+RepDiskAddr::nullRepDA                            mmfs26.tmp
+RepDiskAddr::operator!=(RepDiskAddr const&) const mmfs26.tmp
+RepDiskAddr::operator=(RepDiskAddr const&)        mmfs26.tmp
+RepDiskAddr::operator==(RepDiskAddr const&) const mmfs26.tmp
+RepDiskAddr::putIntoArray(DiskAddr96*, int, int, int) const mmfs26.tmp
+RepDiskAddr::putIntoArray(DiskAddrContainer*, int, int) const mmfs26.tmp
+RepDiskAddr::putIntoArray48(DiskAddr48*, int, int) const mmfs26.tmp
+RepDiskAddr::putIntoArray96(DiskAddr96*, int, int) const mmfs26.tmp
+RepDiskAddr::remove(int)                          mmfs26.tmp
+RepDiskAddr::replace(int, DiskAddr96)             mmfs26.tmp
+RepDiskAddr::setToNULL()                          mmfs26.tmp
+RepDiskAddr::sum() const                          mmfs26.tmp
+RetrieveAcl(KernelOperation*, gpfsVfsData_t*, unsigned int, AclAccess*) mmfs26.tmp
+Retry(KernelOperation*, RecLockQueue, void*, int) mmfs26.tmp
+RevokeTab::disposeRevokeRequest(RevokeRequest*, RevokeRequestState) mmfs26.tmp
+RevokeTab::revokeMutexP                           mmfs26.tmp
+RevokeWorkerThreadNameTab                         mmfs26.tmp
+SGAllocSet::getStatDataSpace() const              mmfs26.tmp
+SGAllocSet::getStatFreeDataSpace() const          mmfs26.tmp
+SGAllocSet::getStatFreeInodes() const             mmfs26.tmp
+SGAllocSet::getStatPoolFreeDataGlobal(int) const  mmfs26.tmp
+SGAllocSet::getStatPoolFreeDataTotal(int) const   mmfs26.tmp
+SGAllocSet::getStatPoolFreeMetadataGlobal(int) const mmfs26.tmp
+SGAllocSet::getStatPoolFreeMetadataTotal(int) const mmfs26.tmp
+SGExceptionToString(int)                          mmfs26.tmp
+SGMgrData::dmGetDispForEvent(dm_eventtype_t, dmSessionLocator*) mmfs26.tmp
+SGMgrData::getSTCP() const                        mmfs26.tmp
+SGMgrData::mountRestricted() const                mmfs26.tmp
+SGPoolIdList::nullPoolIdsP                        mmfs26.tmp
+SGStatusToString(int)                             mmfs26.tmp
+SMBGetOplockState(void*)                          mmfs26.tmp
+SMBGetOplockStateV(MMFSVInfo*)                    mmfs26.tmp
+SMBOpLkLkObj::acquireOplockTokenM(OpenFile*, LkObj::LockModeEnum, int, unsigned int) mmfs26.tmp
+SMBOpLkLkObj::breakOplockM(OpenInstance*, OplockMode, int) mmfs26.tmp
+SMBOpLkLkObj::isExclusiveOplocked()               mmfs26.tmp
+SMBOpLkLkObj::isShareOplocked()                   mmfs26.tmp
+SMBOpLkLkObj::oplockCloseM(OpenInstance*)         mmfs26.tmp
+SMBOpLkLkObj::oplockOpenM(OpenInstance*, AccessMode) mmfs26.tmp
+SMBOpLkLkObj::oplockOpenNonBlockingM(OpenInstance*, AccessMode) mmfs26.tmp
+SMBOpLkLkObj::oplockOpenReadM(OpenInstance*)      mmfs26.tmp
+SMBOpLkLkObj::oplockOpenWriteM(OpenInstance*)     mmfs26.tmp
+SMBOpLkLkObj::oplockReadWrite(OpenInstance*, AccessMode) mmfs26.tmp
+SMBOpLkLkObj::oplockTestHolder(OpenInstance*)     mmfs26.tmp
+SMBOpLkLkObj::updateOplockM(OpenInstance*, AccessMode, OplockMode, void*, OplockMode*, unsigned int) mmfs26.tmp
+SMBOpenLockControl(int, int, int, MMFSVInfo*, gpfsVfsData_t*) mmfs26.tmp
+SegmentHoldCount                                  mmfs26.tmp
+SegmentLock                                       mmfs26.tmp
+SetFlock(RecLockSleeper*, cxiFlock_t*)            mmfs26.tmp
+SetSysdepMutexValues(void**, void*)               mmfs26.tmp
+SharedHashTab::appendLRU(CacheObj*, unsigned int) mmfs26.tmp
+SharedHashTab::hash_func(ObjKey const&)           mmfs26.tmp
+SharedHashTab::initObjTab(unsigned short, unsigned short, int, unsigned int) mmfs26.tmp
+SharedHashTab::lookupAndHold(CacheObj**, ObjKey const&, StripeGroup*, int) mmfs26.tmp
+SharedHashTab::makeCompactMRU(CacheObj*)          mmfs26.tmp
+SharedHashTab::makeRegularMRU(CacheObj*)          mmfs26.tmp
+SharedHashTab::removeLRU(CacheObj*)               mmfs26.tmp
+SharedMemoryLock                                  mmfs26.tmp
+SharedSegmentBase                                 mmfs26.tmp
+SharedSegmentKernelBase                           mmfs26.tmp
+SharedSegmentKernelMax                            mmfs26.tmp
+SharedSegmentOffset                               mmfs26.tmp
+SharedSegmentSwizzledBase                         mmfs26.tmp
+SharedSegmentSwizzledMax                          mmfs26.tmp
+SharedSegmentSwizzledSize                         mmfs26.tmp
+SharkRetry                                        mmfs26.tmp
+SharkToAIXErrno(int)                              mmfs26.tmp
+Stack::pop(BRTreeNode**)                          mmfs26.tmp
+Stack::push(BRTreeNode*, unsigned int)            mmfs26.tmp
+Stack::~Stack()                                   mmfs26.tmp
+Stack::~Stack()                                   mmfs26.tmp
+StaticThCond::init(ThMutex*, CondvarName)         mmfs26.tmp
+StaticThMutex::init(MutexName)                    mmfs26.tmp
+StatusStrings                                     mmfs26.tmp
+StdThreadToString(int)                            mmfs26.tmp
+StripeGroup::acquireVfsUseTransitionMutex()       mmfs26.tmp
+StripeGroup::add_mmpmon_bytesCache(unsigned long long) mmfs26.tmp
+StripeGroup::add_mmpmon_bytesRead(unsigned long long) mmfs26.tmp
+StripeGroup::add_mmpmon_bytesWritten(unsigned long long) mmfs26.tmp
+StripeGroup::allThreadsQuiesced() const           mmfs26.tmp
+StripeGroup::canStoragePoolHoldData(int)          mmfs26.tmp
+StripeGroup::canStoragePoolHoldMetadata(int)      mmfs26.tmp
+StripeGroup::copyStoragePoolName(int, int, char*) mmfs26.tmp
+StripeGroup::decrementNewVfsUse()                 mmfs26.tmp
+StripeGroup::decrementQuiesceCount()              mmfs26.tmp
+StripeGroup::decrementVfsUse()                    mmfs26.tmp
+StripeGroup::differentEndian()                    mmfs26.tmp
+StripeGroup::diskAvailableForRead(int) const      mmfs26.tmp
+StripeGroup::diskAvailableForRecovery(int, unsigned int) const mmfs26.tmp
+StripeGroup::diskAvailableForWrite(int) const     mmfs26.tmp
+StripeGroup::dmapiIsEnabled() const               mmfs26.tmp
+StripeGroup::dmapiIsNotEnabled() const            mmfs26.tmp
+StripeGroup::exactMtime() const                   mmfs26.tmp
+StripeGroup::getAclSupport()                      mmfs26.tmp
+StripeGroup::getAddReservedInodeNum() const       mmfs26.tmp
+StripeGroup::getAllocP() const                    mmfs26.tmp
+StripeGroup::getBlockSize() const                 mmfs26.tmp
+StripeGroup::getDevId() const                     mmfs26.tmp
+StripeGroup::getDirLayoutP() const                mmfs26.tmp
+StripeGroup::getDiskAddrSize() const              mmfs26.tmp
+StripeGroup::getDiskAddrsPerIndBlk() const        mmfs26.tmp
+StripeGroup::getDiskAddrsPerInode() const         mmfs26.tmp
+StripeGroup::getDiskAvailability(int) const       mmfs26.tmp
+StripeGroup::getDiskIndexForRead(RepDiskAddr const&) mmfs26.tmp
+StripeGroup::getDmDispForEvent(dm_eventtype_t, dmSessionLocator*) mmfs26.tmp
+StripeGroup::getDmEventList() const               mmfs26.tmp
+StripeGroup::getFailureConfigVersion(int) const   mmfs26.tmp
+StripeGroup::getFormatVersion() const             mmfs26.tmp
+StripeGroup::getFsP()                             mmfs26.tmp
+StripeGroup::getFullName() const                  mmfs26.tmp
+StripeGroup::getHomeClusterP() const              mmfs26.tmp
+StripeGroup::getInodeSize() const                 mmfs26.tmp
+StripeGroup::getLatestSnapItem(int)               mmfs26.tmp
+StripeGroup::getLocalId() const                   mmfs26.tmp
+StripeGroup::getLocalName() const                 mmfs26.tmp
+StripeGroup::getMaxNumInodes() const              mmfs26.tmp
+StripeGroup::getMaxSGPoolItems() const            mmfs26.tmp
+StripeGroup::getMaxSnapId() const                 mmfs26.tmp
+StripeGroup::getMountPoint() const                mmfs26.tmp
+StripeGroup::getMountSnapId(int)                  mmfs26.tmp
+StripeGroup::getMountid() const                   mmfs26.tmp
+StripeGroup::getMyAddr() const                    mmfs26.tmp
+StripeGroup::getNAddReservedInodes() const        mmfs26.tmp
+StripeGroup::getNDisks() const                    mmfs26.tmp
+StripeGroup::getNInodes() const                   mmfs26.tmp
+StripeGroup::getNSGPoolItems()                    mmfs26.tmp
+StripeGroup::getNSnapItems() const                mmfs26.tmp
+StripeGroup::getNextStoragePoolId(int)            mmfs26.tmp
+StripeGroup::getNodeFailurePlusSGPanicCount(NodeAddr) const mmfs26.tmp
+StripeGroup::getNumAccessRights() const           mmfs26.tmp
+StripeGroup::getOpenFileMemSize() const           mmfs26.tmp
+StripeGroup::getPmonReads()                       mmfs26.tmp
+StripeGroup::getPmonWrites()                      mmfs26.tmp
+StripeGroup::getPseudoIndirectBlockSize() const   mmfs26.tmp
+StripeGroup::getQuClient()                        mmfs26.tmp
+StripeGroup::getQuiesceCount() const              mmfs26.tmp
+StripeGroup::getRestoreSnapId() const             mmfs26.tmp
+StripeGroup::getRestoreStripeId() const           mmfs26.tmp
+StripeGroup::getRestoreTime() const               mmfs26.tmp
+StripeGroup::getRestoreVersion() const            mmfs26.tmp
+StripeGroup::getRootSquashGid() const             mmfs26.tmp
+StripeGroup::getRootSquashUid() const             mmfs26.tmp
+StripeGroup::getSGDescP()                         mmfs26.tmp
+StripeGroup::getSGName() const                    mmfs26.tmp
+StripeGroup::getSMBCIFSSemantic()                 mmfs26.tmp
+StripeGroup::getSTCP() const                      mmfs26.tmp
+StripeGroup::getSectorSize() const                mmfs26.tmp
+StripeGroup::getSnapBaseId(int, long long*, DiskUID*, long long*) mmfs26.tmp
+StripeGroup::getSnapDirId()                       mmfs26.tmp
+StripeGroup::getSnapDirLatestId(int*)             mmfs26.tmp
+StripeGroup::getSnapIdFromLocalId(int)            mmfs26.tmp
+StripeGroup::getSnapIdFromMountId(int)            mmfs26.tmp
+StripeGroup::getSnapIdViaName(char const*)        mmfs26.tmp
+StripeGroup::getSnapItemViaId(int, SGSnapStatus*, RepDiskAddr*, char const**) mmfs26.tmp
+StripeGroup::getSnapNameViaId(int, char const**)  mmfs26.tmp
+StripeGroup::getSnaplinkAllDirs() const           mmfs26.tmp
+StripeGroup::getSnaplinkEnabled() const           mmfs26.tmp
+StripeGroup::getSnaplinkName() const              mmfs26.tmp
+StripeGroup::getStatfsFBlocks() const             mmfs26.tmp
+StripeGroup::getStatfsFBlocksInPool(int)          mmfs26.tmp
+StripeGroup::getStatfsFMBlocks() const            mmfs26.tmp
+StripeGroup::getStatfsFMBlocksInPool(int)         mmfs26.tmp
+StripeGroup::getStoragePoolId(char const*)        mmfs26.tmp
+StripeGroup::getStoragePoolIdByIndex(int)         mmfs26.tmp
+StripeGroup::getStoragePoolName(int, unsigned int) mmfs26.tmp
+StripeGroup::getStoragePoolStatus(int)            mmfs26.tmp
+StripeGroup::getSubblockShift() const             mmfs26.tmp
+StripeGroup::getSubblockSize() const              mmfs26.tmp
+StripeGroup::getSubblocksPerFullBlock() const     mmfs26.tmp
+StripeGroup::getUID() const                       mmfs26.tmp
+StripeGroup::getVfsUsers() const                  mmfs26.tmp
+StripeGroup::inc_mmpmon_caches()                  mmfs26.tmp
+StripeGroup::inc_mmpmon_closeCalls()              mmfs26.tmp
+StripeGroup::inc_mmpmon_openCalls()               mmfs26.tmp
+StripeGroup::inc_mmpmon_readCalls()               mmfs26.tmp
+StripeGroup::inc_mmpmon_readdirCalls()            mmfs26.tmp
+StripeGroup::inc_mmpmon_reads()                   mmfs26.tmp
+StripeGroup::inc_mmpmon_statCacheHit()            mmfs26.tmp
+StripeGroup::inc_mmpmon_statCacheMiss()           mmfs26.tmp
+StripeGroup::inc_mmpmon_writeCalls()              mmfs26.tmp
+StripeGroup::inc_mmpmon_writes()                  mmfs26.tmp
+StripeGroup::incrementNewVfsUse()                 mmfs26.tmp
+StripeGroup::incrementQuiesceCount()              mmfs26.tmp
+StripeGroup::incrementVfsUse()                    mmfs26.tmp
+StripeGroup::invalidateSnapMount(int)             mmfs26.tmp
+StripeGroup::isACL() const                        mmfs26.tmp
+StripeGroup::isAclSupportNFS4()                   mmfs26.tmp
+StripeGroup::isAclSupportPosix()                  mmfs26.tmp
+StripeGroup::isAddReservedInode(int) const        mmfs26.tmp
+StripeGroup::isAllocSumFile(int)                  mmfs26.tmp
+StripeGroup::isEnabled(int) const                 mmfs26.tmp
+StripeGroup::isFileSystemClean() const            mmfs26.tmp
+StripeGroup::isFilesetsFS() const                 mmfs26.tmp
+StripeGroup::isFilesetsV2FS() const               mmfs26.tmp
+StripeGroup::isMetadataInodenum(int, int)         mmfs26.tmp
+StripeGroup::isNFSSync() const                    mmfs26.tmp
+StripeGroup::isPanicked() const                   mmfs26.tmp
+StripeGroup::isPolicyFile(int)                    mmfs26.tmp
+StripeGroup::isQuiesced() const                   mmfs26.tmp
+StripeGroup::isQuotaFile(int, int)                mmfs26.tmp
+StripeGroup::isQuotaFile(int, int, int)           mmfs26.tmp
+StripeGroup::isRootSquashOn() const               mmfs26.tmp
+StripeGroup::isSnapQuotaFile(int, int)            mmfs26.tmp
+StripeGroup::isSnapQuotaFile(int, int, int)       mmfs26.tmp
+StripeGroup::isSnapXAttrFile(int, int)            mmfs26.tmp
+StripeGroup::isSnapshotValid(int)                 mmfs26.tmp
+StripeGroup::isStoragePoolIndexValid(int, int*)   mmfs26.tmp
+StripeGroup::isStoragePoolValid(int)              mmfs26.tmp
+StripeGroup::isTreeQuotaOn() const                mmfs26.tmp
+StripeGroup::isUidRemapNeeded() const             mmfs26.tmp
+StripeGroup::isVfsUseTransition()                 mmfs26.tmp
+StripeGroup::isXATTR() const                      mmfs26.tmp
+StripeGroup::kDirectioFSDA(RepDiskAddr const&, int, unsigned int, int, char*, cxiXmem_t*, int, long long, dioWaitBlock*) mmfs26.tmp
+StripeGroup::lookupSnapDirEntry(KernelOperation*, char const*, unsigned int, FileUID, FileUID*, unsigned int*, unsigned int*) mmfs26.tmp
+StripeGroup::lookupSnapLinkEntry(KernelOperation*, char const*, unsigned int, FileUID, FileUID, FileUID*, unsigned int*, unsigned int*) mmfs26.tmp
+StripeGroup::mountRestricted() const              mmfs26.tmp
+StripeGroup::notEnabled(int) const                mmfs26.tmp
+StripeGroup::onlyNewVfsUse()                      mmfs26.tmp
+StripeGroup::pmonBytesCacheAdd(int)               mmfs26.tmp
+StripeGroup::pmonBytesReadAdd(int)                mmfs26.tmp
+StripeGroup::pmonBytesWrittenAdd(int)             mmfs26.tmp
+StripeGroup::readSnapDirEntries(KernelOperation*, int, void*, int (*)(void*, char const*, int, long long, unsigned long), FileUID, int, long long*) mmfs26.tmp
+StripeGroup::readSnapLinkEntries(KernelOperation*, FileUID, FileUID, int, int, void*, int (*)(void*, char const*, int, long long, unsigned long), long long*) mmfs26.tmp
+StripeGroup::releaseVfsUseTransitionMutex()       mmfs26.tmp
+StripeGroup::setQuiesced(unsigned int)            mmfs26.tmp
+StripeGroup::setVfsUseTransition(unsigned int)    mmfs26.tmp
+StripeGroup::statfsCalled(unsigned int)           mmfs26.tmp
+StripeGroup::updateAtime() const                  mmfs26.tmp
+StripeGroup::waitVfsUseTransitionCond(int, char const*) mmfs26.tmp
+StripeGroup::wakeupVfsUseTransitionWaiters()      mmfs26.tmp
+StripeGroupDesc::isEnabled(int) const             mmfs26.tmp
+StripeGroupDesc::isQuotaFile(int) const           mmfs26.tmp
+StripeGroupDesc::isQuotaFile(int, int) const      mmfs26.tmp
+StripeGroupDesc::isXAttrFile(int) const           mmfs26.tmp
+StripeGroupDesc::notEnabled(int) const            mmfs26.tmp
+Swapd                                             mmfs26.tmp
+Symbol_table                                      mmfs26.tmp
+SynchEventWordBlock::allocEvent(KernelSynchState*, void*) mmfs26.tmp
+SynchEventWordBlock::freeEvent(KernelSynchState*, cxiWaitEvent_t*) mmfs26.tmp
+SynchEventWordBlock::getCondWaiters(int, BaseCondvarClass**) mmfs26.tmp
+SynchEventWordBlock::overflowEvent                mmfs26.tmp
+SynchEventWordBlock::reInitialize(int)            mmfs26.tmp
+SynchEventWordBlock::wakeAllWaiters(int)          mmfs26.tmp
+ThCond::ThCond(ThMutex*, CondvarName)             mmfs26.tmp
+ThCond::ThCond(ThMutex*, CondvarName)             mmfs26.tmp
+ThCond::broadcast(Errno)                          mmfs26.tmp
+ThCond::internalSignal(unsigned int, Errno)       mmfs26.tmp
+ThCond::internalWait(KernelSynchState*, unsigned int, void*) mmfs26.tmp
+ThCond::kInterruptibleWait(int, char const*)      mmfs26.tmp
+ThCond::kWait(int, char const*)                   mmfs26.tmp
+ThCond::signal()                                  mmfs26.tmp
+ThMutex::ThMutex(MutexName)                       mmfs26.tmp
+ThMutex::ThMutex(MutexName)                       mmfs26.tmp
+ThMutex::~ThMutex()                               mmfs26.tmp
+ThMutex::~ThMutex()                               mmfs26.tmp
+ThSXLock::acquireShared()                         mmfs26.tmp
+ThSXLock::isLocked() const                        mmfs26.tmp
+ThSXLock::releaseExclusive()                      mmfs26.tmp
+ThSXLock::releaseShared()                         mmfs26.tmp
+ThSXLock::tryExclusive()                          mmfs26.tmp
+Thread::initModule()                              mmfs26.tmp
+Thread::termModule()                              mmfs26.tmp
+ThreadStatsP                                      mmfs26.tmp
+TokenClass::getClusterCfgP()                      mmfs26.tmp
+TokenClass::getnodeid()                           mmfs26.tmp
+TraceFlagsP                                       mmfs26.tmp
+TraceLabelledVal(char const*, int)                mmfs26.tmp
+UIDDomain::findCachedCred(unsigned int, ext_cred_t**) mmfs26.tmp
+UIDDomain::findCachedID(unsigned int, unsigned int*, char**, int) mmfs26.tmp
+UIDremapOn()                                      mmfs26.tmp
+URCacheObj::isStale(unsigned int) const           mmfs26.tmp
+URCacheObj::match(unsigned int, int, char const*) const mmfs26.tmp
+URHashTab::find(unsigned int, int, char const*)   mmfs26.tmp
+URHashTab::hash_func(unsigned int, unsigned int, char const*) mmfs26.tmp
+UnMapDaemonSeg(SegMapStatus, int)                 mmfs26.tmp
+UpgradeTest(int, int)                             mmfs26.tmp
+VFSStatPoint_begin                                mmfs26.tmp
+VFSStatPoint_end                                  mmfs26.tmp
+VFSStats_disable                                  mmfs26.tmp
+VFSStats_enable                                   mmfs26.tmp
+VFSStats_reset                                    mmfs26.tmp
+VM_Attach                                         mmfs26.tmp
+VM_Detach                                         mmfs26.tmp
+ValidateDirBlock(char const*, void*)              mmfs26.tmp
+ValidateIndirectBlock(char const*, void*)         mmfs26.tmp
+ValidateInodeBlock(char const*, void*)            mmfs26.tmp
+VgetInternal(KernelOperation*, gpfsVfsData_t*, void**, fileid*, void*, gpfsNode_t**) mmfs26.tmp
+VinfoDiscard(MMFSVInfo*)                          mmfs26.tmp
+VinfoInit(MMFSVInfo*)                             mmfs26.tmp
+VinfoListLock                                     mmfs26.tmp
+VinfoTerm(MMFSVInfo*)                             mmfs26.tmp
+VreleInternal(KernelOperation*, void*, void*)     mmfs26.tmp
+Wait(RecLockSleeper*, int)                        mmfs26.tmp
+WaitMBUsageRight()                                mmfs26.tmp
+WhatLocked::WhatLocked()                          mmfs26.tmp
+WhatLocked::isClean()                             mmfs26.tmp
+WhatLocked::reset()                               mmfs26.tmp
+XAttrAccess::XAttrAccess()                        mmfs26.tmp
+XAttrAccess::cleanup()                            mmfs26.tmp
+XAttrAccess::getattr(int, char*, int, char const**, int*, gpfsNode_t*) mmfs26.tmp
+XAttrAccess::getdata(char const**, int*, gpfsNode_t*) mmfs26.tmp
+XAttrAccess::prepare(KernelOperation*, OpenFile*) mmfs26.tmp
+XAttrAccess::~XAttrAccess()                       mmfs26.tmp
+XAttrAppClassSpace                                mmfs26.tmp
+XAttrAppIdToClass                                 mmfs26.tmp
+XAttrFind(char const*, int, int, char const*, int, unsigned int, int*, int*, int*, int*) mmfs26.tmp
+XAttrGetLen(char const*, unsigned int)            mmfs26.tmp
+_STrace                                           mmfs26.tmp
+_XTrace                                           mmfs26.tmp
+__PureVirtualCalled()                             mmfs26.tmp
+__cxa_atexit                                      mmfs26.tmp
+__divdi3                                          mmfs26.tmp
+__dso_handle                                      mmfs26.tmp
+__moddi3                                          mmfs26.tmp
+__this_module                                     mmfs26.tmp
+                                                  mmfs26.mod.o
+__udivdi3                                         mmfs26.tmp
+__uitrunc                                         mmfs26.tmp
+__umoddi3                                         mmfs26.tmp
+__wrap___divdi3                                   mmfs26.tmp
+__wrap___moddi3                                   mmfs26.tmp
+__wrap___udivdi3                                  mmfs26.tmp
+__wrap___umoddi3                                  mmfs26.tmp
+_asm_swap64                                       mmfs26.tmp
+_dmErrStr                                         mmfs26.tmp
+_dmGlobalFileHandle                               mmfs26.tmp
+_dmInvalidFileHandle                              mmfs26.tmp
+_doprnt(char*, char*, char*)                      mmfs26.tmp
+_sanInvalidFileHandle                             mmfs26.tmp
+_sanInvalidSGHandle                               mmfs26.tmp
+accessPatternToString(int)                        mmfs26.tmp
+accessRangeHint(KernelOperation*, gpfsNode_t*, OpenInstance*, gpfsAccessRange_t*) mmfs26.tmp
+aclBigEndian                                      mmfs26.tmp
+allocVinfo                                        mmfs26.tmp
+breakDelegation(void*, void*, int)                mmfs26.tmp
+breakSMBOplock                                    mmfs26.tmp
+brmodeToString(int)                               mmfs26.tmp
+bufxxx                                            mmfs26.tmp
+buildDate                                         mmfs26.tmp
+buildTime                                         mmfs26.tmp
+byteSwapAcl(ACL*, ACL*)                           mmfs26.tmp
+byteSwapNFS4Acl(ACL*, ACL*, unsigned int)         mmfs26.tmp
+byteSwapRealm(ext_id_t*)                          mmfs26.tmp
+calcBaseAclSize(ACL*, int)                        mmfs26.tmp
+calcStructAclLength(int, unsigned int)            mmfs26.tmp
+callDaemonToDie(char*, unsigned int, int, int, char*, char*) mmfs26.tmp
+cancelHintsDirective(KernelOperation*, OpenInstance*) mmfs26.tmp
+checkCredRemap(KernelOperation*, ext_cred_t*)     mmfs26.tmp
+checkFilesetAvailability(KernelOperation*, unsigned int, int) mmfs26.tmp
+checkRootSquash(StripeGroup*, ext_cred_t*)        mmfs26.tmp
+cleanupStaleNFS()                                 mmfs26.tmp
+cleanup_module                                    mmfs26.tmp
+                                                  mmfs26.mod.o
+clusterType                                       mmfs26.tmp
+cluster_typeToString(int)                         mmfs26.tmp
+cnvHiResTime(HiResTime*)                          mmfs26.tmp
+createBaseAcl(unsigned int, ACL*, ACL*, int, int, unsigned int) mmfs26.tmp
+cxiAddOSNode                                      mmfs26.tmp
+cxiAllocSharedMemory                              mmfs26.tmp
+cxiAttachIOBuffer                                 mmfs26.tmp
+cxiAttachSharedMemory                             mmfs26.tmp
+cxiAuditWrite                                     mmfs26.tmp
+cxiBigFree                                        mmfs26.tmp
+cxiBigMalloc                                      mmfs26.tmp
+cxiBlockingMutexAcquire                           mmfs26.tmp
+cxiBlockingMutexHeldByCaller                      mmfs26.tmp
+cxiBlockingMutexInit                              mmfs26.tmp
+cxiBlockingMutexRelease                           mmfs26.tmp
+cxiBlockingMutexTerm                              mmfs26.tmp
+cxiBreakOplock                                    mmfs26.tmp
+cxiCalcMaxSharedSegment                           mmfs26.tmp
+cxiCanUncacheOSNode                               mmfs26.tmp
+cxiCheckOpen                                      mmfs26.tmp
+cxiCheckProductVersion                            mmfs26.tmp
+cxiCheckSiteMcrVersion                            mmfs26.tmp
+cxiCheckThreadState                               mmfs26.tmp
+cxiClearBit                                       mmfs26.tmp
+cxiClearPageoutThread                             mmfs26.tmp
+cxiCloseNFS                                       mmfs26.tmp
+cxiCopyIn                                         mmfs26.tmp
+cxiCopyInstr                                      mmfs26.tmp
+cxiCopyOut                                        mmfs26.tmp
+cxiDestroyOSNode                                  mmfs26.tmp
+cxiDetachIOBuffer                                 mmfs26.tmp
+cxiDetachSharedMemory                             mmfs26.tmp
+cxiDumpOSNode                                     mmfs26.tmp
+cxiExportModuleStruct                             mmfs26.tmp
+cxiFcntlLock                                      mmfs26.tmp
+cxiFcntlReset                                     mmfs26.tmp
+cxiFcntlUnblock                                   mmfs26.tmp
+cxiFlockToVFS                                     mmfs26.tmp
+cxiFreeOSNode                                     mmfs26.tmp
+cxiFreePinned                                     mmfs26.tmp
+cxiFreeSharedMemory                               mmfs26.tmp
+cxiGetCnP                                         mmfs26.tmp
+cxiGetCred                                        mmfs26.tmp
+cxiGetFcntlOwner                                  mmfs26.tmp
+cxiGetFileAndVp                                   mmfs26.tmp
+cxiGetKernelBoundary                              mmfs26.tmp
+cxiGetKernelStackSize                             mmfs26.tmp
+cxiGetMaxFileSize                                 mmfs26.tmp
+cxiGetMountedOverOSNode                           mmfs26.tmp
+cxiGetNfsP                                        mmfs26.tmp
+cxiGetPrivVfsP                                    mmfs26.tmp
+cxiGetPvP                                         mmfs26.tmp
+cxiGetRootInode                                   mmfs26.tmp
+cxiGetTOD                                         mmfs26.tmp
+cxiGetThreadId                                    mmfs26.tmp
+cxiGetUserEnvironment                             mmfs26.tmp
+cxiGetUserEnvironmentSize                         mmfs26.tmp
+cxiHasMountHelper                                 mmfs26.tmp
+cxiImportSuppGroups(ext_cred_t*, unsigned int*, unsigned int) mmfs26.tmp
+cxiInactiveOSNode                                 mmfs26.tmp
+cxiIncModuleCounter                               mmfs26.tmp
+cxiInitBreakQ                                     mmfs26.tmp
+cxiInitDMS                                        mmfs26.tmp
+cxiInitPtrSwizzling                               mmfs26.tmp
+cxiInitVFS                                        mmfs26.tmp
+cxiInvalidateDCacheEntry                          mmfs26.tmp
+cxiInvalidateNegDCacheEntry                       mmfs26.tmp
+cxiInvalidatePerm                                 mmfs26.tmp
+cxiIsGPFSThread                                   mmfs26.tmp
+cxiIsGroupmember(unsigned int, ext_id_t*, ext_cred_t*) mmfs26.tmp
+cxiIsKswapdThread                                 mmfs26.tmp
+cxiIsKupdateThread                                mmfs26.tmp
+cxiIsNFS4Thread                                   mmfs26.tmp
+cxiIsNFSThread                                    mmfs26.tmp
+cxiIsReadOnlyMnt                                  mmfs26.tmp
+cxiIsSambaOrLockdThread                           mmfs26.tmp
+cxiIsSuperUser                                    mmfs26.tmp
+cxiKDoIO                                          mmfs26.tmp
+cxiKXfer                                          mmfs26.tmp
+cxiKZero                                          mmfs26.tmp
+cxiKibdPin                                        mmfs26.tmp
+cxiKibdPinmm                                      mmfs26.tmp
+cxiKibdUnpin                                      mmfs26.tmp
+cxiKibdUnpinAll                                   mmfs26.tmp
+cxiKibdUnpinmm                                    mmfs26.tmp
+cxiMallocPinned                                   mmfs26.tmp
+cxiMapContiguousRO                                mmfs26.tmp
+cxiMapDiscontiguousRW                             mmfs26.tmp
+cxiMmapFlush                                      mmfs26.tmp
+cxiMmapGetPage                                    mmfs26.tmp
+cxiMmapRegister                                   mmfs26.tmp
+cxiMmapReleasePage                                mmfs26.tmp
+cxiMmapUnregister                                 mmfs26.tmp
+cxiNewOSNode                                      mmfs26.tmp
+cxiOpenNFS                                        mmfs26.tmp
+cxiPanic                                          mmfs26.tmp
+cxiPathRel                                        mmfs26.tmp
+cxiPathToVfsP                                     mmfs26.tmp
+cxiPruneDCacheEntry                               mmfs26.tmp
+cxiPutCred                                        mmfs26.tmp
+cxiPutOSNode                                      mmfs26.tmp
+cxiRecordSharedMemory                             mmfs26.tmp
+cxiRefOSNode                                      mmfs26.tmp
+cxiRefOsNode                                      mmfs26.tmp
+cxiRegisterCleanup                                mmfs26.tmp
+cxiReleaseFile                                    mmfs26.tmp
+cxiSafeGetInt                                     mmfs26.tmp
+cxiSafeGetLong                                    mmfs26.tmp
+cxiSafePutLong                                    mmfs26.tmp
+cxiSendBreakMsg                                   mmfs26.tmp
+cxiSendSigThread                                  mmfs26.tmp
+cxiSetBit                                         mmfs26.tmp
+cxiSetCred                                        mmfs26.tmp
+cxiSetMountInfo                                   mmfs26.tmp
+cxiSetNFSCluster                                  mmfs26.tmp
+cxiSetNfsP                                        mmfs26.tmp
+cxiSetOSNode                                      mmfs26.tmp
+cxiSetOSNodeType                                  mmfs26.tmp
+cxiSetPageoutThread                               mmfs26.tmp
+cxiShutdownDMS                                    mmfs26.tmp
+cxiSleep                                          mmfs26.tmp
+cxiStackAddrToThreadId                            mmfs26.tmp
+cxiStartDMS                                       mmfs26.tmp
+cxiStartKProc                                     mmfs26.tmp
+cxiStopDMS                                        mmfs26.tmp
+cxiStopKProc                                      mmfs26.tmp
+cxiTermBreakQ                                     mmfs26.tmp
+cxiTestBit                                        mmfs26.tmp
+cxiTrace                                          mmfs26.tmp
+cxiUXfer                                          mmfs26.tmp
+cxiUiomove                                        mmfs26.tmp
+cxiUnmapContiguousRO                              mmfs26.tmp
+cxiUnmapDiscontiguousRW                           mmfs26.tmp
+cxiUnmount                                        mmfs26.tmp
+cxiUpdateInode                                    mmfs26.tmp
+cxiUserAuditWrite(int, ...)                       mmfs26.tmp
+cxiWaitEventBroadcast                             mmfs26.tmp
+cxiWaitEventBroadcastRC                           mmfs26.tmp
+cxiWaitEventHasWaiters                            mmfs26.tmp
+cxiWaitEventInit                                  mmfs26.tmp
+cxiWaitEventSignal                                mmfs26.tmp
+cxiWaitEventWait                                  mmfs26.tmp
+cxiWaitForBreak                                   mmfs26.tmp
+cxiXmemXfer                                       mmfs26.tmp
+cxiYield                                          mmfs26.tmp
+dataShipStartDirective(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenInstance*, int, gpfsDataShipMapVariable_t*) mmfs26.tmp
+dataShipStopDirective(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenInstance*) mmfs26.tmp
+debug_close_event(int)                            mmfs26.tmp
+detachAllSegments()                               mmfs26.tmp
+dioInitModule()                                   mmfs26.tmp
+dioRdWr(KernelOperation*, OpenFile*, int, cxiUio_t*, long long, int) mmfs26.tmp
+dioTermModule()                                   mmfs26.tmp
+disableSyncRetry()                                mmfs26.tmp
+diskopToString(int)                               mmfs26.tmp
+dmCachedSessionTokensList::getCachedTokensForSession(unsigned long long) mmfs26.tmp
+dmCachedSessionTokensList::getRemoteSessLocAndInfo(unsigned long long, dmSessionLocatorAndInfo*) mmfs26.tmp
+dmDataEventElement::getHandle()                   mmfs26.tmp
+dmDataEventElement::getLen()                      mmfs26.tmp
+dmDataEventElement::getOffset()                   mmfs26.tmp
+dmDataEventElement::setHandle(dmFileHandle)       mmfs26.tmp
+dmDataEventElement::setLen(unsigned long long)    mmfs26.tmp
+dmDataEventElement::setOffset(long long)          mmfs26.tmp
+dmDisp::getDispForEvent(dm_eventtype_t)           mmfs26.tmp
+dmEventElement::setEventSequence(dm_scalar128)    mmfs26.tmp
+dmEventElement::setEventToken(dm_scalar128)       mmfs26.tmp
+dmEventElement::setNodeid()                       mmfs26.tmp
+dmEventElement::setType(dm_eventtype_t)           mmfs26.tmp
+dmEventList::clearAllEvents()                     mmfs26.tmp
+dmEventList::clearEvent(dm_eventtype_t)           mmfs26.tmp
+dmEventList::dmEventList()                        mmfs26.tmp
+dmEventList::dmEventList(unsigned int)            mmfs26.tmp
+dmEventList::geteMap()                            mmfs26.tmp
+dmEventList::isClearEvent(dm_eventtype_t) const   mmfs26.tmp
+dmEventList::isSetEvent(dm_eventtype_t) const     mmfs26.tmp
+dmEventList::setAllEventList(dmEventList)         mmfs26.tmp
+dmEventList::setAllEvents()                       mmfs26.tmp
+dmEventList::setEvent(dm_eventtype_t)             mmfs26.tmp
+dmEventList::swap()                               mmfs26.tmp
+dmFileHandle::dmFileHandle()                      mmfs26.tmp
+dmFileHandle::exportHandle(void**, unsigned int*, void*) const mmfs26.tmp
+dmFileHandle::getGenNum() const                   mmfs26.tmp
+dmFileHandle::getInodeNum() const                 mmfs26.tmp
+dmFileHandle::getSgId() const                     mmfs26.tmp
+dmFileHandle::importHandle(void*, unsigned int)   mmfs26.tmp
+dmFileHandle::isSgHandle()                        mmfs26.tmp
+dmFileHandle::makeSgHandle(DiskUID)               mmfs26.tmp
+dmFileHandle::operator!=(dmFileHandle const&) const mmfs26.tmp
+dmFileHandle::operator==(dmFileHandle const&) const mmfs26.tmp
+dmFileHandle::setGenNum(GenNum)                   mmfs26.tmp
+dmFileHandle::setInodeNum(int)                    mmfs26.tmp
+dmFileHandle::setSgId(DiskUID)                    mmfs26.tmp
+dmGenTimeoutFlag(int, int*, MMFSVInfo*)           mmfs26.tmp
+dmGenTokenId(dm_scalar128*, parity_t)             mmfs26.tmp
+dmGenUniqueSeqNum32(unsigned int*, parity_t)      mmfs26.tmp
+dmGenUniqueSeqNum64(unsigned long long*, parity_t) mmfs26.tmp
+dmGenerateAttributeEvent(KernelOperation*, FileMetadata*, dmEventList*) mmfs26.tmp
+dmGenerateCloseEvent(KernelOperation*, OpenFile*, dmEventList, dmFileHandle, dmSessionLocator) mmfs26.tmp
+dmGenerateDataEvent(dm_eventtype_t, KernelOperation*, int, gpfsVfsData_t*, gpfsNode_t*, long long, unsigned long long, int*, int*, long long*, unsigned int*) mmfs26.tmp
+dmGenerateMountEvent(KernelOperation*, int, gpfsVfsData_t*, gpfsNode_t*) mmfs26.tmp
+dmGenerateNamespaceEvent(dm_eventtype_t, KernelOperation*, int, gpfsVfsData_t*, gpfsNode_t*, gpfsNode_t*, char*, char*, unsigned int, int*, int, int*, unsigned int*, int, GenNum) mmfs26.tmp
+dmGenerateNospaceEvent(KernelOperation*, int, gpfsVfsData_t*, int*, int*) mmfs26.tmp
+dmGenerateUnmountEvent(dm_eventtype_t, KernelOperation*, int, dmEventList, StripeGroup*, dmSessionLocator, unsigned int, DiskUID, gpfsNode_t*, int*, int) mmfs26.tmp
+dmGenerateUserEvent(KernelOperation*, int, dmSessionLocator, void*, unsigned int, dm_scalar128*, int*) mmfs26.tmp
+dmGetConfigRetVal                                 mmfs26.tmp
+dmGetMountDispositions(KernelOperation*, dmSessionLocator**, int*) mmfs26.tmp
+dmKxSession                                       mmfs26.tmp
+dmKxSessionList::AddSession(unsigned long long, unsigned int, char*, int, dmSessionStatus, dmList*) mmfs26.tmp
+dmKxSessionList::ChangeRegformount(unsigned long long, unsigned int) mmfs26.tmp
+dmKxSessionList::ChangeStatus(unsigned long long, dmSessionStatus) mmfs26.tmp
+dmKxSessionList::FillBuf(char*, unsigned int)     mmfs26.tmp
+dmKxSessionList::RemoveSession(unsigned long long) mmfs26.tmp
+dmKxSessionList::UpdateParms(unsigned long long, unsigned int, int, dmSessionStatus, int) mmfs26.tmp
+dmKxSessionList::UpdateSessions(dmRecoverySessInfo*, int) mmfs26.tmp
+dmKxSessionList::dmKxSessionList()                mmfs26.tmp
+dmKxSessionList::getNumSess()                     mmfs26.tmp
+dmKxSessionList::~dmKxSessionList()               mmfs26.tmp
+dmKxSessionList::~dmKxSessionList()               mmfs26.tmp
+dmMBMountEventElement::setHandle1(dmFileHandle)   mmfs26.tmp
+dmMBMountEventElement::setHandle2(dmFileHandle)   mmfs26.tmp
+dmMBMountEventElement::setLen1(int)               mmfs26.tmp
+dmMBMountEventElement::setLen2(int)               mmfs26.tmp
+dmMBMountEventElement::setMode(unsigned int)      mmfs26.tmp
+dmMBMountEventElement::setRootHandle(dmFileHandle) mmfs26.tmp
+dmMBNamespEventElement::setHandle1(dmFileHandle)  mmfs26.tmp
+dmMBNamespEventElement::setHandle2(dmFileHandle)  mmfs26.tmp
+dmMBNamespEventElement::setLen1(int)              mmfs26.tmp
+dmMBNamespEventElement::setLen2(int)              mmfs26.tmp
+dmMBNamespEventElement::setMode(unsigned int)     mmfs26.tmp
+dmMBNamespEventElement::setRetcode(int)           mmfs26.tmp
+dmMBUserEventElement::setLen(int)                 mmfs26.tmp
+dmOpLockMode(KernelOperation*, OperationLockMode) mmfs26.tmp
+dmSessionLocator::dmSessionLocator()              mmfs26.tmp
+dmSessionLocator::~dmSessionLocator()             mmfs26.tmp
+dmSessionLocatorAndInfo::dmSessionLocatorAndInfo() mmfs26.tmp
+dmSessionLocatorAndInfo::~dmSessionLocatorAndInfo() mmfs26.tmp
+dmSessionsAtNode::GetSessInfoStringAndStatus(unsigned long long, char*, dmSessionStatus*) mmfs26.tmp
+dmSessionsAtNode::GetSessionStatus(unsigned long long) mmfs26.tmp
+dmSwapAttrValue(int, char*, int, char*)           mmfs26.tmp
+dm_init_uio_struct(cxiUio_t*, int, cxiIovec_t*, long long, unsigned long long, void*) mmfs26.tmp
+dm_scalar128::operator!=(dm_scalar128 const&) const mmfs26.tmp
+dm_scalar128::operator==(dm_scalar128 const&) const mmfs26.tmp
+dmapiFilldir(void*, char const*, int, long long, unsigned long) mmfs26.tmp
+dmapiFilldirOne(void*, char const*, int, long long, unsigned long) mmfs26.tmp
+dmapifillOneDir::dmapifillOneDir()                mmfs26.tmp
+dsBufferQ::bqRelinquishBytes(int)                 mmfs26.tmp
+dsBufferQ::bqRequestBytes(int)                    mmfs26.tmp
+dsBufferQ::bqResetByteUsage(int)                  mmfs26.tmp
+dsBufferQ::bqWaitForBytes(int, unsigned int*)     mmfs26.tmp
+dsBufferQ::getDSQPoolSize() const                 mmfs26.tmp
+dsModeToString(int)                               mmfs26.tmp
+dsRdWr(KernelOperation*, MMFSVInfo*, OpenFile*, OpenInstance*, int, cxiUio_t*, FileUID, DiskUID, LocalFileId, LkObj::LockModeEnum*, int, unsigned int, HiResTime const*, ext_cred_t*, int*, gpfsNode_t*) mmfs26.tmp
+enableSyncRetry()                                 mmfs26.tmp
+enableUIDremap                                    mmfs26.tmp
+errno                                             mmfs26.tmp
+ext_id_as_string(ext_id_t*, char*)                mmfs26.tmp
+fclearInternal(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, int, long long, long long, MMFSVInfo*, ext_cred_t*) mmfs26.tmp
+fidDmapi(int, GenNum, fileid*)                    mmfs26.tmp
+fidSanergy(int, GenNum, fileid*)                  mmfs26.tmp
+findFilesetById(KernelOperation*, unsigned int, int, Fileset**, unsigned int) mmfs26.tmp
+findFilesetIdByRootInodeNum(KernelOperation*, StripeGroup*, int, int, unsigned int*, unsigned int) mmfs26.tmp
+findOrCreateDmapi(KernelOperation*, gpfsVfsData_t*, FileUID, void**, gpfsNode_t**) mmfs26.tmp
+findOrphanDataEvent(dm_eventtype_t, dmFileHandle*, long long, unsigned long long, int, orphanSearchStatus*, KernelMailbox**) mmfs26.tmp
+findParentFilesetId(KernelOperation*, StripeGroup*, unsigned int, int, unsigned int*, unsigned int) mmfs26.tmp
+finishDCachePruning(int)                          mmfs26.tmp
+firstMBUseWaiterP                                 mmfs26.tmp
+firstPudWaiterP                                   mmfs26.tmp
+foldName(char const*)                             mmfs26.tmp
+freeRangeHint(KernelOperation*, gpfsNode_t*, gpfsFreeRange_t*) mmfs26.tmp
+fsDiskAddr::exportDA(char*, int, int) const       mmfs26.tmp
+fsDiskAddr::extractDupReplicasInFGs(StripeGroup*, fsDiskAddr&, fsDiskAddr&) const mmfs26.tmp
+fsDiskAddr::getFromArray(DiskAddr96 const*, int, int, int, int) mmfs26.tmp
+fsDiskAddr::getNSubblocks() const                 mmfs26.tmp
+fsDiskAddr::importDA(void*, unsigned int*, Errno (*)(void*, unsigned int*, int, void*), int*) mmfs26.tmp
+fsDiskAddr::operator=(fsDiskAddr const&)          mmfs26.tmp
+fsDiskAddr::setNSubblocks(int)                    mmfs26.tmp
+fsDiskAddr::setToNULL()                           mmfs26.tmp
+getAclVersion(KernelOperation*, gpfsVfsData_t*, int, int*) mmfs26.tmp
+getFilePos                                        mmfs26.tmp
+getFilesetMDObj(KernelOperation*, int, int, FilesetMDObj**, unsigned int, unsigned int) mmfs26.tmp
+getListXAttrs(KernelOperation*, OpenFile*, gpfsNode_t*, int, char*, int, int*) mmfs26.tmp
+getMountVersion(gpfsVfsData_t*, FileUID, MMFSVInfo*) mmfs26.tmp
+getObjectRealm(KernelOperation*, gpfsVfsData_t*, OpenFile*, ext_id_t*) mmfs26.tmp
+getOpaqueDefaultAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, char*, int, int*, ext_cred_t*) mmfs26.tmp
+getOpaqueExtendedAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, char*, int, int*, ext_cred_t*) mmfs26.tmp
+getOpaquePolicyAttrs(KernelOperation*, OpenFile*, int, char*, int, int*) mmfs26.tmp
+getOpaqueXAttrs(KernelOperation*, OpenFile*, gpfsNode_t*, int, char*, int, int*) mmfs26.tmp
+getRemoteSessLocAndInfo(unsigned long long, dmSessionLocatorAndInfo*) mmfs26.tmp
+getTSAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, ACL*, int, unsigned char, int, ext_cred_t*, unsigned int*, unsigned int) mmfs26.tmp
+getVCMErrno                                       mmfs26.tmp
+getVattr(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, cxiVattr_t*, unsigned int, unsigned int) mmfs26.tmp
+getVfsByMountid(unsigned int, gpfsVfsData_t**, int*) mmfs26.tmp
+getVfsBySgName(char const*, gpfsVfsData_t**)      mmfs26.tmp
+getVfsBySgUid(DiskUID, gpfsVfsData_t**, int*)     mmfs26.tmp
+getVp                                             mmfs26.tmp
+getpid                                            mmfs26.tmp
+gpdStatusToString(int)                            mmfs26.tmp
+gpfsAccess(gpfsVfsData_t*, cxiNode_t*, int, int, ext_cred_t*) mmfs26.tmp
+gpfsCleanup()                                     mmfs26.tmp
+gpfsClose(gpfsVfsData_t*, cxiNode_t*, int, MMFSVInfo*, unsigned int) mmfs26.tmp
+gpfsCreate(gpfsVfsData_t*, cxiNode_t*, void**, cxiNode_t**, unsigned int*, int, int, void*, char*, unsigned int, unsigned int, char**, ext_cred_t*) mmfs26.tmp
+gpfsDmUnmountEvent(unsigned int, unsigned int, gpfsVfsData_t*, cxiNode_t*, unsigned int*, void**, void**, void**, int) mmfs26.tmp
+gpfsFattr(gpfsVfsData_t*, cxiNode_t*, MMFSVInfo*, int, int, void*, void*, ext_cred_t*) mmfs26.tmp
+gpfsFclear(gpfsVfsData_t*, cxiNode_t*, int, long long, long long, MMFSVInfo*, ext_cred_t*) mmfs26.tmp
+gpfsFcntl(void*, gpfsVfsData_t*, void*, void*, void*, cxiNode_t*, long long, cxiFlock_t*, int, int (*)(), unsigned long*, ext_cred_t*) mmfs26.tmp
+gpfsFcntlReset(void*, int)                        mmfs26.tmp
+gpfsFinishUnmount(gpfsVfsData_t*)                 mmfs26.tmp
+gpfsFsAttr(int, void*)                            mmfs26.tmp
+gpfsFsync(gpfsVfsData_t*, MMFSVInfo*, cxiNode_t*, int, ext_cred_t*) mmfs26.tmp
+gpfsFsyncRange(gpfsVfsData_t*, cxiNode_t*, int, long long, long long, ext_cred_t*) mmfs26.tmp
+gpfsFtrunc(gpfsVfsData_t*, cxiNode_t*, int, long long, MMFSVInfo*, ext_cred_t*, unsigned int) mmfs26.tmp
+gpfsGetAcl(gpfsVfsData_t*, cxiNode_t*, int, void*, ext_cred_t*) mmfs26.tmp
+gpfsGetNFS(void*, MMFSVInfo**, int*)              mmfs26.tmp
+gpfsGetSnapIdPair(cxiNode_t*, unsigned int*, unsigned int*) mmfs26.tmp
+gpfsGetattr(gpfsVfsData_t*, cxiNode_t*, cxiVattr_t*, unsigned int) mmfs26.tmp
+gpfsGrace(int)                                    mmfs26.tmp
+gpfsInodeDelete(gpfsVfsData_t*, cxiNode_t*, unsigned int, ext_cred_t*) mmfs26.tmp
+gpfsInodeFindActor(cxiNode_t*, unsigned int, void*) mmfs26.tmp
+gpfsInodeRead(gpfsVfsData_t*, cxiNode_t*, unsigned int, void*) mmfs26.tmp
+gpfsLink(gpfsVfsData_t*, cxiNode_t*, cxiNode_t*, void*, char*, ext_cred_t*) mmfs26.tmp
+gpfsLookup(gpfsVfsData_t*, void*, cxiNode_t*, void*, char*, void**, cxiNode_t**, unsigned int*, cxiVattr_t*, unsigned int*, ext_cred_t*, void**) mmfs26.tmp
+gpfsMkdir(gpfsVfsData_t*, cxiNode_t*, void**, cxiNode_t**, unsigned int*, void*, char*, int, unsigned int, ext_cred_t*) mmfs26.tmp
+gpfsMknod(gpfsVfsData_t*, cxiNode_t*, void**, cxiNode_t**, unsigned int*, void*, char*, unsigned int, unsigned int, unsigned long long, ext_cred_t*) mmfs26.tmp
+gpfsMmap(gpfsVfsData_t*, cxiNode_t*, void*, ext_cred_t*, void*, unsigned int, unsigned int, long long, long long) mmfs26.tmp
+gpfsMmapFlushLock(cxiNode_t*)                     mmfs26.tmp
+gpfsMmapFlushUnlock(cxiNode_t*)                   mmfs26.tmp
+gpfsMount(void*, int, char*, char*, char*, gpfsVfsData_t**, cxiNode_t**, unsigned int*, gpfsVfsData_t*, int, unsigned int, unsigned int, unsigned int) mmfs26.tmp
+gpfsNFSIget(gpfsVfsData_t*, cxiIGetArg_t*, unsigned int, void**) mmfs26.tmp
+gpfsNodeHashLock                                  mmfs26.tmp
+gpfsNodeHashP                                     mmfs26.tmp
+gpfsNodeStats                                     mmfs26.tmp
+gpfsNode_t::classHashInit()                       mmfs26.tmp
+gpfsNode_t::classHashTerm()                       mmfs26.tmp
+gpfsNode_t::classInit()                           mmfs26.tmp
+gpfsNode_t::dmGetFullGeneration(KernelOperation*) mmfs26.tmp
+gpfsNode_t::dumpCache()                           mmfs26.tmp
+gpfsNode_t::findButDontCreate(StripeGroup*, FileUID, void**, gpfsNode_t**, unsigned int) mmfs26.tmp
+gpfsNode_t::findOrCreateLinux(KernelOperation*, gpfsVfsData_t*, FileUID, OpenFile*, cxiVattr_t*, void**, gpfsNode_t**) mmfs26.tmp
+gpfsNode_t::findOrCreateWithAttrs(KernelOperation*, gpfsVfsData_t*, FileUID, void**, gpfsNode_t**, LookupDetails*) mmfs26.tmp
+gpfsNode_t::gLock()                               mmfs26.tmp
+gpfsNode_t::gUnlock()                             mmfs26.tmp
+gpfsNode_t::getFullGeneration(KernelOperation*, gpfsVfsData_t*, unsigned int) mmfs26.tmp
+gpfsNode_t::gnType(KernelOperation*, unsigned int) mmfs26.tmp
+gpfsNode_t::hFunc(int, int)                       mmfs26.tmp
+gpfsNode_t::hHead(int)                            mmfs26.tmp
+gpfsNode_t::hInsert(int)                          mmfs26.tmp
+gpfsNode_t::hLock(int)                            mmfs26.tmp
+gpfsNode_t::hNext(int)                            mmfs26.tmp
+gpfsNode_t::hRemove()                             mmfs26.tmp
+gpfsNode_t::hUnlock(int)                          mmfs26.tmp
+gpfsNode_t::hWait(int)                            mmfs26.tmp
+gpfsNode_t::hWakeup(int)                          mmfs26.tmp
+gpfsNode_t::invalidateAllOSNode(int, int)         mmfs26.tmp
+gpfsNode_t::invalidateOSNode(gpfsNode_t*, void*, int) mmfs26.tmp
+gpfsNode_t::invalidateOSNodeByUID(StripeGroup*, FileUID, int) mmfs26.tmp
+gpfsNode_t::invalidateVolatileOSNodes(int, int)   mmfs26.tmp
+gpfsNode_t::isSnaplinkDir() const                 mmfs26.tmp
+gpfsNode_t::lookup(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, void*, char*, ext_cred_t*, void**, gpfsNode_t**, unsigned int*, void**) mmfs26.tmp
+gpfsNode_t::mmapLock(int, int, unsigned int*)     mmfs26.tmp
+gpfsNode_t::mmapUnlock(int)                       mmfs26.tmp
+gpfsNode_t::readOSNode(gpfsVfsData_t*, gpfsNode_t*, unsigned int, void*) mmfs26.tmp
+gpfsNode_t::rele(KernelOperation*, gpfsVfsData_t*, void*, unsigned int) mmfs26.tmp
+gpfsNode_t::remove(KernelOperation*, gpfsVfsData_t*, void*, int, unsigned int, unsigned int) mmfs26.tmp
+gpfsNode_t::unCache(KernelOperation*, gpfsVfsData_t*) mmfs26.tmp
+gpfsNode_t::updateOSNode(OpenFile*, int)          mmfs26.tmp
+gpfsOpen(gpfsVfsData_t*, cxiNode_t*, int, int, int, MMFSVInfo**, ext_cred_t*) mmfs26.tmp
+gpfsOpenNFS(gpfsVfsData_t*, cxiNode_t*, int, MMFSVInfo*, ext_cred_t*) mmfs26.tmp
+gpfsPutAcl(gpfsVfsData_t*, cxiNode_t*, int, void*, ext_cred_t*) mmfs26.tmp
+gpfsQueueBufs(_cxibuf_t*)                         mmfs26.tmp
+gpfsQuotactl(gpfsVfsData_t*, int, int, void*, ext_cred_t*) mmfs26.tmp
+gpfsRead(gpfsVfsData_t*, KernelOperation*, cxiNode_t*, int, cxiUio_t*, MMFSVInfo*, cxiVattr_t*, cxiVattr_t*, ext_cred_t*, int, int) mmfs26.tmp
+gpfsReaddir(gpfsVfsData_t*, cxiNode_t*, void*, int (*)(void*, char const*, int, long long, unsigned long), long long*, cxiContext_t, KernelOperation*) mmfs26.tmp
+gpfsReadlink(gpfsVfsData_t*, cxiNode_t*, cxiUio_t*) mmfs26.tmp
+gpfsReady()                                       mmfs26.tmp
+gpfsRele(gpfsVfsData_t*, cxiNode_t*, void*, cxiContext_t) mmfs26.tmp
+gpfsReleaseNFS(void*)                             mmfs26.tmp
+gpfsRemove(gpfsVfsData_t*, cxiNode_t*, cxiNode_t*, char*, ext_cred_t*) mmfs26.tmp
+gpfsRename(gpfsVfsData_t*, cxiNode_t*, cxiNode_t*, char*, cxiNode_t*, cxiNode_t*, char*, ext_cred_t*) mmfs26.tmp
+gpfsReserveDelegation(void*, void*, gpfsVfsData_t*, int, int, void*, void*) mmfs26.tmp
+gpfsReserveShare(void*, void*, gpfsVfsData_t*, int, int, cxiNode_t*, ext_cred_t*) mmfs26.tmp
+gpfsRmdir(gpfsVfsData_t*, cxiNode_t*, cxiNode_t*, char*, ext_cred_t*) mmfs26.tmp
+gpfsSetSMBOplock(gpfsVfsData_t*, cxiNode_t*, MMFSVInfo*, int, int, void*, int*, unsigned int) mmfs26.tmp
+gpfsSetattr(gpfsVfsData_t*, cxiNode_t*, long, long, long, long, ext_cred_t*) mmfs26.tmp
+gpfsStatfs(gpfsVfsData_t*, cxiStatfs_t*)          mmfs26.tmp
+gpfsSwapdDequeue(cxiNode_t*)                      mmfs26.tmp
+gpfsSwapdEnqueue(cxiNode_t*)                      mmfs26.tmp
+gpfsSwapdInit()                                   mmfs26.tmp
+gpfsSwapdTerm()                                   mmfs26.tmp
+gpfsSymlink(gpfsVfsData_t*, cxiNode_t*, void**, cxiNode_t**, unsigned int*, void*, char*, char*, ext_cred_t*) mmfs26.tmp
+gpfsSyncNFS(gpfsVfsData_t*, cxiNode_t*, int, ext_cred_t*) mmfs26.tmp
+gpfsSyncfs(gpfsVfsData_t*)                        mmfs26.tmp
+gpfsUncache(gpfsVfsData_t*)                       mmfs26.tmp
+gpfsUnmap(gpfsVfsData_t*, cxiNode_t*, int)        mmfs26.tmp
+gpfsUnmount(gpfsVfsData_t*, unsigned int)         mmfs26.tmp
+gpfsWrite(gpfsVfsData_t*, KernelOperation*, cxiNode_t*, int, cxiUio_t*, MMFSVInfo*, cxiVattr_t*, cxiVattr_t*, ext_cred_t*, int, int) mmfs26.tmp
+gpfs_clean                                        mmfs26.tmp
+gpfs_fs_getcookies                                mmfs26.tmp
+gpfs_fs_getlockedmap                              mmfs26.tmp
+gpfs_fs_getlockedmap_pack                         mmfs26.tmp
+gpfs_fs_getmaxleases                              mmfs26.tmp
+gpfs_fs_getversion                                mmfs26.tmp
+gpfs_fs_getvolbycookie                            mmfs26.tmp
+gpfs_fs_getvolcookie                              mmfs26.tmp
+gpfs_fs_init                                      mmfs26.tmp
+gpfs_fs_setfilesizes                              mmfs26.tmp
+gpfs_fs_setfilesizes_pack                         mmfs26.tmp
+gpfs_fs_unlockmap                                 mmfs26.tmp
+gpfs_init                                         mmfs26.tmp
+gpfs_ops                                          mmfs26.tmp
+gpnStatusToString(int)                            mmfs26.tmp
+gpnTransToString(int)                             mmfs26.tmp
+hasMode                                           mmfs26.tmp
+hashAcl(int, char const*)                         mmfs26.tmp
+hashExternal(unsigned int)                        mmfs26.tmp
+incrAllMountVersions(gpfsVfsData_t*)              mmfs26.tmp
+indBlockDesc::getIndIndex()                       mmfs26.tmp
+indBlockDesc::getIndLevel()                       mmfs26.tmp
+indBlockDesc::isValid()                           mmfs26.tmp
+indBlockDesc::kCleanIndBlockDesc(unsigned int)    mmfs26.tmp
+indBlockDesc::kLockIndirectBlockM(int)            mmfs26.tmp
+indBlockDesc::kUnlockIndirectBlock()              mmfs26.tmp
+indBlockDesc::lock_vfs_v(LkObj::LockModeEnum, int, LkObj::LockModeEnum*) mmfs26.tmp
+indBlockDesc::setValid(unsigned int)              mmfs26.tmp
+indBlockDesc::unlock_vfs(LkObj::LockModeEnum)     mmfs26.tmp
+ineligibilityReasonToString(int)                  mmfs26.tmp
+init_module                                       mmfs26.tmp
+                                                  mmfs26.mod.o
+inodestatusToString(int)                          mmfs26.tmp
+insertIndex(aceIndxTable_t**, aceIndxTable_t*)    mmfs26.tmp
+invalidDirBlock(char*, FileUID, int, DirBlockHeader*, int, int) mmfs26.tmp
+is64BitApp(char*)                                 mmfs26.tmp
+isAceApplicable(AclLocalEndian, ext_cred_t*, unsigned int, unsigned int, unsigned int) mmfs26.tmp
+isClientValid(RecLockSleeper*)                    mmfs26.tmp
+isForeignUidDomain(ClusterConfiguration*)         mmfs26.tmp
+isStaleMountVersion(MMFSVInfo*, gpfsVfsData_t*)   mmfs26.tmp
+isSyncEvent                                       mmfs26.tmp
+kCleanupAcquires                                  mmfs26.tmp
+kDebugHook(int)                                   mmfs26.tmp
+kDupCheckAcquires                                 mmfs26.tmp
+kGetNIOsInProgress(int)                           mmfs26.tmp
+kSFSAcquireBRT(OpenFile*, ByteRange const&, ByteRange const&, BRLock::BRLockMode) mmfs26.tmp
+kSFSAcquireFcntlBRT(KernelOperation*, OpenFile*, int, ByteRangeData const&, AcquireData const&, int, ByteRange*, char*) mmfs26.tmp
+kSFSChown(KernelOperation*, GenNum, OpenFile*, int, unsigned int, unsigned int, ext_cred_t*) mmfs26.tmp
+kSFSClear(KernelOperation*, MMFSVInfo*, int, long long, long long, ext_cred_t*) mmfs26.tmp
+kSFSClose(KernelOperation*, MMFSVInfo*, int)      mmfs26.tmp
+kSFSCopyDataOnWrite(KernelOperation*, FileUID, long long, long long, ext_cred_t*) mmfs26.tmp
+kSFSCreate(KernelOperation*, FileUID, char*, int, ext_cred_t*, unsigned int, unsigned int, unsigned long long, OpenFile**, OpenInstance**, FileUID*) mmfs26.tmp
+kSFSCreateMix(KernelOperation*, FileUID, char*, int, ext_cred_t*, char const*, gpfs_iattr*) mmfs26.tmp
+kSFSDio(KernelOperation*, OpenFile*, dioOperation, long long, unsigned int, char*, cxiXmem_t*, unsigned int*, int) mmfs26.tmp
+kSFSExpandLastBlock(KernelOperation*, MMFSVInfo*, long long, ext_cred_t*) mmfs26.tmp
+kSFSFcntl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenInstance*, gpfsFcntlHeader_t*, unsigned int*, ext_cred_t*) mmfs26.tmp
+kSFSFindFileset(KernelOperation*, int, int, unsigned int, LkObj::LockModeEnum, unsigned long long, FilesetMDObj**) mmfs26.tmp
+kSFSFreeInodeBlock(KernelOperation*, Buffer*)     mmfs26.tmp
+kSFSFsync(KernelOperation*, int, int, ByteRange const&, ext_cred_t*) mmfs26.tmp
+kSFSFtrunc(KernelOperation*, FileUID, MMFSVInfo*, int, long long, ext_cred_t*, unsigned int, long long) mmfs26.tmp
+kSFSGetAttrs(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, int, void*, int, int*, ext_cred_t*) mmfs26.tmp
+kSFSGetInodeBlock(KernelOperation*, int, long long, long long, Buffer**, int*) mmfs26.tmp
+kSFSGetSnapDirMinSnapId(KernelOperation*, FileUID, int*) mmfs26.tmp
+kSFSGetTSfattr(KernelOperation*, FileUID, int, int*, int*, int*, int*, int*, int*, char*) mmfs26.tmp
+kSFSGetattr(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, unsigned int, unsigned int, cxiVattr_t*) mmfs26.tmp
+kSFSIReadX(KernelOperation*, FileUID, int, long long, long long*, void*, int, int*) mmfs26.tmp
+kSFSInodeDelete(KernelOperation*, FileUID*, unsigned int, ext_cred_t*, gpfsVfsData_t*) mmfs26.tmp
+kSFSLink(KernelOperation*, FileUID, char*, FileUID, ext_cred_t*, OpenFile**) mmfs26.tmp
+kSFSMalloc(int, MallocDuration)                   mmfs26.tmp
+kSFSMkdir(KernelOperation*, FileUID, char*, unsigned int, unsigned int, ext_cred_t*, OpenFile**, FileUID*) mmfs26.tmp
+kSFSMount(MailboxMsgType, char*, char*, int, unsigned int, unsigned int, Errno) mmfs26.tmp
+kSFSNoOp(KernelOperation*, FileUID)               mmfs26.tmp
+kSFSNull(KernelOperation*, int)                   mmfs26.tmp
+kSFSOpen(KernelOperation*, FileUID*, int, OpenInstance**, ext_cred_t*, gpfsVfsData_t*, unsigned int, SFS_Open_Mode, void*) mmfs26.tmp
+kSFSPreAlloc(KernelOperation*, MMFSVInfo*, int, long long, long long, ext_cred_t*) mmfs26.tmp
+kSFSPutACL(KernelOperation*, GenNum, OpenFile*, ACL*) mmfs26.tmp
+kSFSPutAttrs(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, int, void*, void*, ext_cred_t*) mmfs26.tmp
+kSFSQuotactl(KernelOperation*, int, int, void*, ext_cred_t*) mmfs26.tmp
+kSFSRead(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, MMFSVInfo*, int, cxiUio_t*, int, FileUID, OpenFile*, ext_cred_t*, WhatLocked*, unsigned int*, unsigned int, unsigned int*) mmfs26.tmp
+kSFSReduceMemoryUse()                             mmfs26.tmp
+kSFSReleaseBRT(OpenFile*, ByteRange const&)       mmfs26.tmp
+kSFSRemapCredentials(KernelOperation*, ext_cred_t*) mmfs26.tmp
+kSFSRemapStatIDs(KernelOperation*, int, unsigned int*, int, unsigned int*) mmfs26.tmp
+kSFSRemoteRetry(KernelOperation*, StripeGroup*, void*, int) mmfs26.tmp
+kSFSRemoteStat(KernelOperation*, OpenFile*, void*, ext_cred_t*) mmfs26.tmp
+kSFSRemove(KernelOperation*, FileUID, char*, FileUID, ext_cred_t*, unsigned int) mmfs26.tmp
+kSFSRename(KernelOperation*, FileUID, char*, FileUID, FileUID, char*, FileUID, ext_cred_t*) mmfs26.tmp
+kSFSRetrieveDiskAddr(KernelOperation*, OpenFile*, long long, fsDiskAddr*) mmfs26.tmp
+kSFSRmdir(KernelOperation*, FileUID, char*, FileUID, ext_cred_t*) mmfs26.tmp
+kSFSSanGetCookies(KernelOperation*, DiskUID*, int*, sanFileHandle) mmfs26.tmp
+kSFSSanGetLockedMap(KernelOperation*, sanSGHandle, sanFileHandle, ext_cred_t*, long long, long long, unsigned long, unsigned long, char*, unsigned long*) mmfs26.tmp
+kSFSSanGetMaxLeases(KernelOperation*, long*, long*) mmfs26.tmp
+kSFSSanGetVersion(KernelOperation*, long*)        mmfs26.tmp
+kSFSSanGetVolByCookie(KernelOperation*, sanSGHandle, unsigned long, char*, unsigned long*) mmfs26.tmp
+kSFSSanGetVolCookie(KernelOperation*, DiskUID*, int*) mmfs26.tmp
+kSFSSanInit(KernelOperation*, san_state*)         mmfs26.tmp
+kSFSSanSetFileSizes(KernelOperation*, sanSGHandle, sanFileHandle, ext_cred_t*, unsigned long, long long, long long, long long) mmfs26.tmp
+kSFSSanUnlockMap(KernelOperation*, sanSGHandle, sanFileHandle, ext_cred_t*) mmfs26.tmp
+kSFSSetBuffs(KernelOperation*, int, int, MMFSVInfo*) mmfs26.tmp
+kSFSSetPolicyAttr(KernelOperation*, OpenFile*, unsigned int, unsigned int, HiResTime, HiResTime, long long, long long, unsigned int, int, char const*, int*, int*, int*) mmfs26.tmp
+kSFSSetTSfattr(KernelOperation*, OpenInstance*, int, int, int, int, int, int, int, char*, tsfattrReasonCodeInfo*, ext_cred_t*) mmfs26.tmp
+kSFSSetXAttr(KernelOperation*, OpenFile*, int, int, unsigned int, unsigned char*, void*, int, ext_cred_t*) mmfs26.tmp
+kSFSSettime(KernelOperation*, gpfsVfsData_t*, FileUID, long, cxiTimeStruc_t*, cxiTimeStruc_t*, cxiTimeStruc_t*, ext_cred_t*, cxiNode_t*) mmfs26.tmp
+kSFSSymlink(KernelOperation*, FileUID, char*, char*, ext_cred_t*, OpenFile**, FileUID*) mmfs26.tmp
+kSFSSyncFS(KernelOperation*, unsigned int, unsigned int) mmfs26.tmp
+kSFSSyncOneFS(KernelOperation*, StripeGroup*, gpfs_rcontrol*) mmfs26.tmp
+kSFSTossBuffers(KernelOperation*, OpenFile*, ByteRange const&) mmfs26.tmp
+kSFSUnmount(KernelOperation*, unsigned int, unsigned int) mmfs26.tmp
+kSFSUpdateMtime(KernelOperation*, OpenFile*)      mmfs26.tmp
+kSFSWrite(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, MMFSVInfo*, int, cxiUio_t*, int, FileUID, OpenFile*, ext_cred_t*, WhatLocked*, unsigned int, long long, unsigned int*, ByteRange*, unsigned int*) mmfs26.tmp
+kSFSXAttrGet(KernelOperation*, OpenFile*, gpfsNode_t*, char*, ext_cred_t*) mmfs26.tmp
+kSFSXAttrList(KernelOperation*, OpenFile*, gpfsNode_t*, char*, ext_cred_t*) mmfs26.tmp
+kSFSXAttrSet(KernelOperation*, OpenFile*, char*, ext_cred_t*) mmfs26.tmp
+kSFSdmCheckAccessRights(KernelOperation*, unsigned long long, dm_scalar128, dmFileHandle, dm_right_t) mmfs26.tmp
+kSFSdmCloseEvent(KernelOperation*, OpenFile*, unsigned int, dmEventList*, dmFileHandle*, dmSessionLocator*, unsigned int*) mmfs26.tmp
+kSFSdmCreateSession(KernelOperation*, unsigned long long, char*, unsigned int, unsigned long long*, unsigned int*) mmfs26.tmp
+kSFSdmCreateUserevent(KernelOperation*, unsigned long long, char*, unsigned int, dm_scalar128*) mmfs26.tmp
+kSFSdmDestroySession(KernelOperation*, unsigned long long) mmfs26.tmp
+kSFSdmDowngradeRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128) mmfs26.tmp
+kSFSdmFindEventmsg(KernelOperation*, unsigned long long, char*, unsigned int, unsigned int*, dm_scalar128) mmfs26.tmp
+kSFSdmGetAllDisp(KernelOperation*, unsigned long long, char*, unsigned int, unsigned int*) mmfs26.tmp
+kSFSdmGetAllDmattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, unsigned int, char*, unsigned int*) mmfs26.tmp
+kSFSdmGetAllSessions(KernelOperation*, unsigned long long*, unsigned int, unsigned int*) mmfs26.tmp
+kSFSdmGetAllTokens(KernelOperation*, unsigned long long, dm_scalar128*, unsigned int, unsigned int*) mmfs26.tmp
+kSFSdmGetAllocinfo(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, long long*, dm_extent*, unsigned int, unsigned int*) mmfs26.tmp
+kSFSdmGetBulkall(KernelOperation*, dmFileHandle, unsigned int, long long*, dm_attrname*, char*, unsigned int, unsigned int*) mmfs26.tmp
+kSFSdmGetBulkattr(KernelOperation*, dmFileHandle, unsigned int, long long*, char*, unsigned int, unsigned int*) mmfs26.tmp
+kSFSdmGetDirAttrs(KernelOperation*, unsigned int, long long*, DiskUID, int, char*, int, char*, unsigned int, unsigned int*) mmfs26.tmp
+kSFSdmGetDmattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_attrname, char*, unsigned int, unsigned int*) mmfs26.tmp
+kSFSdmGetEventList(KernelOperation*, unsigned long long, dmFileHandle, dmEventList*, dm_scalar128, unsigned int*) mmfs26.tmp
+kSFSdmGetEvents(KernelOperation*, unsigned long long, char*, unsigned int, unsigned int*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int*) mmfs26.tmp
+kSFSdmGetMountinfo(KernelOperation*, dmFileHandle, unsigned int, char*, unsigned int*, int*) mmfs26.tmp
+kSFSdmGetRegion(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, unsigned int, dm_region*, unsigned int*) mmfs26.tmp
+kSFSdmGetSessLocAndInfo(KernelOperation*, unsigned long long, dmSessionLocatorAndInfo*) mmfs26.tmp
+kSFSdmIsMountedSG(KernelOperation*, DiskUID)      mmfs26.tmp
+kSFSdmMoveEvent(KernelOperation*, unsigned long long, dm_scalar128, unsigned long long, dm_scalar128*) mmfs26.tmp
+kSFSdmQueryRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_right_t*) mmfs26.tmp
+kSFSdmReleaseRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128) mmfs26.tmp
+kSFSdmRemoveDmattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_attrname, int) mmfs26.tmp
+kSFSdmRequestRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_right_t, unsigned int) mmfs26.tmp
+kSFSdmRespondEvent(KernelOperation*, unsigned long long, dm_scalar128, dm_response_t, int) mmfs26.tmp
+kSFSdmSetDisp(KernelOperation*, unsigned long long, dmFileHandle*, dmEventList*, dm_scalar128, unsigned int) mmfs26.tmp
+kSFSdmSetDmattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_attrname, char*, unsigned int, int) mmfs26.tmp
+kSFSdmSetEventList(KernelOperation*, unsigned long long, dmFileHandle, dmEventList, dm_scalar128) mmfs26.tmp
+kSFSdmSetFileattr(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, dm_fileattr64, unsigned int) mmfs26.tmp
+kSFSdmSetRegion(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128, unsigned int, dm_region*, dm_boolean_t*) mmfs26.tmp
+kSFSdmSetReturnOnDestroy(KernelOperation*, unsigned long long, dmFileHandle, dm_attrname, dm_boolean_t) mmfs26.tmp
+kSFSdmSyncByHandle(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128) mmfs26.tmp
+kSFSdmUpgradeRight(KernelOperation*, unsigned long long, dmFileHandle, dm_scalar128) mmfs26.tmp
+kShHashAcquireToken(CacheObj*, unsigned short, short, int, unsigned int) mmfs26.tmp
+kShHashFetch(KernelOperation*, CacheObj*, unsigned short, short, int, void*, int, unsigned int) mmfs26.tmp
+kShHashLookup(StripeGroup*, unsigned short, ObjKey const&, CacheObj**) mmfs26.tmp
+kShHashRelease(CacheObj*)                         mmfs26.tmp
+kVfsUseTransition(gpfsVfsData_t*)                 mmfs26.tmp
+kernelListMutex                                   mmfs26.tmp
+kernelStackSize                                   mmfs26.tmp
+kxAcquireMutex                                    mmfs26.tmp
+kxAllocEventWords                                 mmfs26.tmp
+kxAllocSharedMemory                               mmfs26.tmp
+kxAllocVinfo                                      mmfs26.tmp
+kxAtomvarInit                                     mmfs26.tmp
+kxAttachSharedMemory                              mmfs26.tmp
+kxAwaitIOCompletion                               mmfs26.tmp
+kxBlockingMutexStatsCtl                           mmfs26.tmp
+kxBreakOplockM                                    mmfs26.tmp
+kxCalcMaxSharedSegment                            mmfs26.tmp
+kxCatalogGetMounts                                mmfs26.tmp
+kxCheckBuildTime                                  mmfs26.tmp
+kxCheckThreadState                                mmfs26.tmp
+kxCleanupStaleNFS                                 mmfs26.tmp
+kxCleanupVinfo                                    mmfs26.tmp
+kxClearMountInfo                                  mmfs26.tmp
+kxClearPageoutThread                              mmfs26.tmp
+kxCommonReclock                                   mmfs26.tmp
+kxDefineShSeg                                     mmfs26.tmp
+kxDetachSharedMemory                              mmfs26.tmp
+kxDmApiCall                                       mmfs26.tmp
+kxDmGetSessions                                   mmfs26.tmp
+kxDmRemoveSession                                 mmfs26.tmp
+kxDmUpdateSessions                                mmfs26.tmp
+kxDoTraceDump                                     mmfs26.tmp
+kxEnableIO                                        mmfs26.tmp
+kxFindCloseNFS                                    mmfs26.tmp
+kxFindCloseNFS1                                   mmfs26.tmp
+kxFreeAllSharedMemory                             mmfs26.tmp
+kxFreeMailboxStorage                              mmfs26.tmp
+kxFreeSharedMemory                                mmfs26.tmp
+kxGetACL                                          mmfs26.tmp
+kxGetCondWaiters                                  mmfs26.tmp
+kxGetDelegation                                   mmfs26.tmp
+kxGetDiskInfo                                     mmfs26.tmp
+kxGetKernelBoundary                               mmfs26.tmp
+kxGetLocalSGIdCounter                             mmfs26.tmp
+kxGetMapCount                                     mmfs26.tmp
+kxGetMaxspin                                      mmfs26.tmp
+kxGetMountInfoByID                                mmfs26.tmp
+kxGetNFSWatchPid                                  mmfs26.tmp
+kxGetShare                                        mmfs26.tmp
+kxGetSimpleLock                                   mmfs26.tmp
+kxGetStructSize                                   mmfs26.tmp
+kxGetThreadID                                     mmfs26.tmp
+kxHasMountHelper                                  mmfs26.tmp
+kxInitKernelMailboxes                             mmfs26.tmp
+kxInitPtrSwizzling                                mmfs26.tmp
+kxInitializeNodeHashTab                           mmfs26.tmp
+kxInitializeRevokeTab                             mmfs26.tmp
+kxInvalidateOSNode                                mmfs26.tmp
+kxInvalidateSnapshot                              mmfs26.tmp
+kxInvalidateVolatileOSNodes                       mmfs26.tmp
+kxMadvise                                         mmfs26.tmp
+kxMapping                                         mmfs26.tmp
+kxMappingCount                                    mmfs26.tmp
+kxMmapControl                                     mmfs26.tmp
+kxMmapFlush                                       mmfs26.tmp
+kxMmapInfo                                        mmfs26.tmp
+kxNoOp                                            mmfs26.tmp
+kxOplockInit                                      mmfs26.tmp
+kxOplockNotify                                    mmfs26.tmp
+kxOplockTerm                                      mmfs26.tmp
+kxPinKernelIOBuffer                               mmfs26.tmp
+kxPoll                                            mmfs26.tmp
+kxPutACL                                          mmfs26.tmp
+kxQueueCompletedIO                                mmfs26.tmp
+kxQuiesceCleanup                                  mmfs26.tmp
+kxQuiesceInit                                     mmfs26.tmp
+kxQuiesceOperations                               mmfs26.tmp
+kxQuotactl                                        mmfs26.tmp
+kxRLlockRevoke                                    mmfs26.tmp
+kxRLunLockRevoke                                  mmfs26.tmp
+kxRecLockAcquires                                 mmfs26.tmp
+kxRecLockAcquiresTail                             mmfs26.tmp
+kxRecLockReset                                    mmfs26.tmp
+kxRecLockRetries                                  mmfs26.tmp
+kxRecLockRetriesTail                              mmfs26.tmp
+kxRecLockSequence                                 mmfs26.tmp
+kxRecLockSleepers                                 mmfs26.tmp
+kxRecLockSleepersTail                             mmfs26.tmp
+kxRegisterMMFSDaemon                              mmfs26.tmp
+kxRegisterMMFSSeg                                 mmfs26.tmp
+kxRegisterMMFSSessionId                           mmfs26.tmp
+kxRegisterNodeAddr                                mmfs26.tmp
+kxRegisterObjType                                 mmfs26.tmp
+kxReleaseMutex                                    mmfs26.tmp
+kxResumeOperations                                mmfs26.tmp
+kxRetryRecover                                    mmfs26.tmp
+kxSanergyApiCall                                  mmfs26.tmp
+kxSendFlock                                       mmfs26.tmp
+kxSetCommState                                    mmfs26.tmp
+kxSetMaxspin                                      mmfs26.tmp
+kxSetMountInfoByID                                mmfs26.tmp
+kxSetMultiNode                                    mmfs26.tmp
+kxSetNPagesAvailable                              mmfs26.tmp
+kxSetPageoutThread                                mmfs26.tmp
+kxSetTraceLevel                                   mmfs26.tmp
+kxSignalOrBroadcastCondvar                        mmfs26.tmp
+kxSockDequeMultiple                               mmfs26.tmp
+kxStackAddrToThreadID                             mmfs26.tmp
+kxStartDMS                                        mmfs26.tmp
+kxStartIO                                         mmfs26.tmp
+kxStopDMS                                         mmfs26.tmp
+kxTerminateMailboxes                              mmfs26.tmp
+kxThreadInitOrTerm                                mmfs26.tmp
+kxThreadPtrToThreadID                             mmfs26.tmp
+kxTrace                                           mmfs26.tmp
+kxUIDRemapInit                                    mmfs26.tmp
+kxUMount                                          mmfs26.tmp
+kxUnmount                                         mmfs26.tmp
+kxUnpinAllKernelIOBuffers                         mmfs26.tmp
+kxUnpinKernelIOBuffer                             mmfs26.tmp
+kxUpdateOSNode                                    mmfs26.tmp
+kxVFSStatCtl                                      mmfs26.tmp
+kxVfsUseTransition                                mmfs26.tmp
+kxWaitCondvar                                     mmfs26.tmp
+kxWaitForFlock                                    mmfs26.tmp
+kxXmemXfer                                        mmfs26.tmp
+lastMBUseWaiterP                                  mmfs26.tmp
+lastPudWaiterP                                    mmfs26.tmp
+llcStatusToString(int)                            mmfs26.tmp
+loc_atoi(char*)                                   mmfs26.tmp
+lockBuffer(KernelOperation*, LocalFileId, LkObj::LockModeEnum, int, BufferReq*, int, BufferDesc**, cxiIOBufferAttachment_t*, unsigned int*) mmfs26.tmp
+lockFcntlOps(KernelOperation*, void*, unsigned int) mmfs26.tmp
+lockFile(KernelOperation*, OperationLockMode, FileUID, LkObj::LockModeEnum, OpenFile**, WhatLocked*, int) mmfs26.tmp
+lockFile2(KernelOperation*, OperationLockMode, FileUID, LkObj::LockModeEnum, LkObj::LockModeEnum, OpenFile**, WhatLocked*, int) mmfs26.tmp
+lockFileHeld(KernelOperation*, OpenFile*, FileUID, LkObj::LockModeEnum, int) mmfs26.tmp
+lockFileHeldM(KernelOperation*, OpenFile*, FileUID, LkObj::LockModeEnum, int) mmfs26.tmp
+lockGetattr(KernelOperation*, gpfsVfsData_t*, FileUID&, int, LookupDetails&, WhatLocked&, OpenFile*&, cxiVattr_t*) mmfs26.tmp
+lockmodeToString(int)                             mmfs26.tmp
+lockmode_tostring(int)                            mmfs26.tmp
+logAssertData                                     mmfs26.tmp
+logAssertFailed                                   mmfs26.tmp
+logGenIF                                          mmfs26.tmp
+logGetTag                                         mmfs26.tmp
+ls_update_table                                   mmfs26.tmp
+makeExternalInodeNum(int, int)                    mmfs26.tmp
+markAllDaemonUnmounted()                          mmfs26.tmp
+masterSupportedDmapiCalls                         mmfs26.tmp
+masterSupportedEvents                             mmfs26.tmp
+mbUseThreads                                      mmfs26.tmp
+memcpy                                            mmfs26.tmp
+memset                                            mmfs26.tmp
+minAccessRight                                    mmfs26.tmp
+mmDecMappers()                                    mmfs26.tmp
+mmFlushseg(gpfsNode_t*, MMFSVInfo*, ByteRange, MmflushOption) mmfs26.tmp
+mmIncMappers()                                    mmfs26.tmp
+mmInitModule()                                    mmfs26.tmp
+mmInvalidate(gpfsNode_t*)                         mmfs26.tmp
+mmIsFileMapped(KernelOperation*, FileUID)         mmfs26.tmp
+mmIsRunning()                                     mmfs26.tmp
+mmTermModule()                                    mmfs26.tmp
+mmapKill                                          mmfs26.tmp
+mmfs                                              mmfs26.tmp
+mmfs_dm_create_session                            mmfs26.tmp
+mmfs_dm_create_userevent                          mmfs26.tmp
+mmfs_dm_destroy_session                           mmfs26.tmp
+mmfs_dm_downgrade_right                           mmfs26.tmp
+mmfs_dm_fd_to_handle                              mmfs26.tmp
+mmfs_dm_get_config                                mmfs26.tmp
+mmfs_dm_get_config_events                         mmfs26.tmp
+mmfs_dm_get_events                                mmfs26.tmp
+mmfs_dm_get_fileattr(unsigned long long, void*, unsigned int, dm_scalar128, unsigned int, dm_stat*) mmfs26.tmp
+mmfs_dm_getall_disp                               mmfs26.tmp
+mmfs_dm_getall_sessions                           mmfs26.tmp
+mmfs_dm_getall_tokens                             mmfs26.tmp
+mmfs_dm_handle_cmp                                mmfs26.tmp
+mmfs_dm_handle_free                               mmfs26.tmp
+mmfs_dm_handle_hash                               mmfs26.tmp
+mmfs_dm_handle_is_valid                           mmfs26.tmp
+mmfs_dm_handle_to_fshandle                        mmfs26.tmp
+mmfs_dm_handle_to_fsid                            mmfs26.tmp
+mmfs_dm_handle_to_igen                            mmfs26.tmp
+mmfs_dm_handle_to_ino                             mmfs26.tmp
+mmfs_dm_handle_to_path                            mmfs26.tmp
+mmfs_dm_init_service                              mmfs26.tmp
+mmfs_dm_make_fshandle                             mmfs26.tmp
+mmfs_dm_make_handle                               mmfs26.tmp
+mmfs_dm_move_event(unsigned long long, dm_scalar128, unsigned long long, dm_scalar128*) mmfs26.tmp
+mmfs_dm_obj_ref_hold                              mmfs26.tmp
+mmfs_dm_obj_ref_query                             mmfs26.tmp
+mmfs_dm_obj_ref_rele                              mmfs26.tmp
+mmfs_dm_path_to_fshandle                          mmfs26.tmp
+mmfs_dm_path_to_handle                            mmfs26.tmp
+mmfs_dm_pending                                   mmfs26.tmp
+mmfs_dm_query_session                             mmfs26.tmp
+mmfs_dm_release_right                             mmfs26.tmp
+mmfs_dm_send_msg                                  mmfs26.tmp
+mmfs_dm_sync_by_handle                            mmfs26.tmp
+mmfs_dm_upgrade_right                             mmfs26.tmp
+mmfs_lock_init()                                  mmfs26.tmp
+mmfs_lock_term()                                  mmfs26.tmp
+mmfs_mount_list                                   mmfs26.tmp
+mmfs_mounts_lock()                                mmfs26.tmp
+mmfs_mounts_unlock()                              mmfs26.tmp
+mmfs_nfs_lock()                                   mmfs26.tmp
+mmfs_nfs_unlock()                                 mmfs26.tmp
+mmfs_pack2_dm_get_allocinfo                       mmfs26.tmp
+mmfs_pack2_dm_get_bulkall                         mmfs26.tmp
+mmfs_pack2_dm_get_bulkattr                        mmfs26.tmp
+mmfs_pack2_dm_get_dirattrs                        mmfs26.tmp
+mmfs_pack2_dm_get_dmattr                          mmfs26.tmp
+mmfs_pack2_dm_get_eventlist                       mmfs26.tmp
+mmfs_pack2_dm_probe_hole                          mmfs26.tmp
+mmfs_pack2_dm_punch_hole                          mmfs26.tmp
+mmfs_pack2_dm_read_invis                          mmfs26.tmp
+mmfs_pack2_dm_set_dmattr                          mmfs26.tmp
+mmfs_pack2_dm_symlink_by_handle                   mmfs26.tmp
+mmfs_pack2_dm_write_invis                         mmfs26.tmp
+mmfs_pack_dm_clear_inherit                        mmfs26.tmp
+mmfs_pack_dm_create_by_handle                     mmfs26.tmp
+mmfs_pack_dm_find_eventmsg                        mmfs26.tmp
+mmfs_pack_dm_get_fileattr                         mmfs26.tmp
+mmfs_pack_dm_get_mountinfo                        mmfs26.tmp
+mmfs_pack_dm_get_region                           mmfs26.tmp
+mmfs_pack_dm_getall_dmattr                        mmfs26.tmp
+mmfs_pack_dm_getall_inherit                       mmfs26.tmp
+mmfs_pack_dm_init_attrloc                         mmfs26.tmp
+mmfs_pack_dm_mkdir_by_handle                      mmfs26.tmp
+mmfs_pack_dm_move_event                           mmfs26.tmp
+mmfs_pack_dm_query_right                          mmfs26.tmp
+mmfs_pack_dm_remove_dmattr                        mmfs26.tmp
+mmfs_pack_dm_request_right                        mmfs26.tmp
+mmfs_pack_dm_respond_event                        mmfs26.tmp
+mmfs_pack_dm_set_disp                             mmfs26.tmp
+mmfs_pack_dm_set_eventlist                        mmfs26.tmp
+mmfs_pack_dm_set_fileattr                         mmfs26.tmp
+mmfs_pack_dm_set_inherit                          mmfs26.tmp
+mmfs_pack_dm_set_region                           mmfs26.tmp
+mmfs_pack_dm_set_return_on_destroy                mmfs26.tmp
+mmpmon_sharedFree(void*)                          mmfs26.tmp
+mmpmon_sharedMalloc(unsigned int)                 mmfs26.tmp
+mnodestatusToString(int)                          mmfs26.tmp
+modeToNodeType                                    mmfs26.tmp
+multAccessRangeHint(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenInstance*, gpfsMultipleAccessRange_t*) mmfs26.tmp
+multiNode                                         mmfs26.tmp
+myFillDir(void*, char const*, int, long long, unsigned long, unsigned int, int) mmfs26.tmp
+myNodeAddr                                        mmfs26.tmp
+nPagesAvailable                                   mmfs26.tmp
+nPagesDeclared                                    mmfs26.tmp
+newUMALLOCBuffer(int, BufferType)                 mmfs26.tmp
+nfsWatchKproc                                     mmfs26.tmp
+numHandles                                        mmfs26.tmp
+numNames                                          mmfs26.tmp
+objclassToString(int)                             mmfs26.tmp
+objstatusToString(int)                            mmfs26.tmp
+objtypeToString(int)                              mmfs26.tmp
+openNFS(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, MMFSVInfo*, int, ext_cred_t*, SFS_Open_Mode) mmfs26.tmp
+operator delete(void*)                            mmfs26.tmp
+operator new(unsigned int)                        mmfs26.tmp
+otherDirBlockErrors(char*, DirError, int, int, unsigned int, unsigned int, unsigned int, unsigned int) mmfs26.tmp
+pagerKprocMain                                    mmfs26.tmp
+pool                                              mmfs26.tmp
+prefetchStrategyToString(int)                     mmfs26.tmp
+printk                                            mmfs26.tmp
+printn(long, char, char*, char, int)              mmfs26.tmp
+pruneDCacheEntries(int, unsigned int, unsigned int) mmfs26.tmp
+putOpaqueDefaultAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, char*, int, ext_cred_t*, unsigned int) mmfs26.tmp
+putOpaqueExtendedAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, char*, int, ext_cred_t*, unsigned int) mmfs26.tmp
+putOpaquePolicyAttrs(KernelOperation*, OpenFile*, int, char*, int, void*, ext_cred_t*) mmfs26.tmp
+putOpaqueXAttrs(KernelOperation*, OpenFile*, char*, int, ext_cred_t*, unsigned int) mmfs26.tmp
+queWaiter::operator delete(void*)                 mmfs26.tmp
+queWaiter::operator new(unsigned int)             mmfs26.tmp
+queWaiter::queWaiter(ThMutex*)                    mmfs26.tmp
+queWaiter::queWaiter(ThMutex*)                    mmfs26.tmp
+quiesceSGCommandCond                              mmfs26.tmp
+quiesceSGThreadsCond                              mmfs26.tmp
+realBrknDiskAddr48                                mmfs26.tmp
+realBrknDiskAddr96                                mmfs26.tmp
+realDittoDiskAddr48                               mmfs26.tmp
+realDittoDiskAddr96                               mmfs26.tmp
+realInvDiskAddr48                                 mmfs26.tmp
+realInvDiskAddr96                                 mmfs26.tmp
+realNever                                         mmfs26.tmp
+realNullPoolIds                                   mmfs26.tmp
+realNullRepDA                                     mmfs26.tmp
+reasonToString(int)                               mmfs26.tmp
+regionsOverlap(dm_region*, unsigned int, unsigned int) mmfs26.tmp
+regionsOverlap(dm_region, dm_region*, unsigned int, unsigned int) mmfs26.tmp
+relinquishDSBytes(int)                            mmfs26.tmp
+remapAttrIDs(KernelOperation*, cxiVattr_t*)       mmfs26.tmp
+remapCredIDs(KernelOperation*, ext_cred_t*)       mmfs26.tmp
+reqDmLockTable                                    mmfs26.tmp
+requestDSBytes(int)                               mmfs26.tmp
+reset_gpfs_operations                             mmfs26.tmp
+responseTypeStrings                               mmfs26.tmp
+retObjTypeToString(int)                           mmfs26.tmp
+reverseBits(unsigned int, int)                    mmfs26.tmp
+sanFileHandle::exportHandle(void**, int*, void*) const mmfs26.tmp
+sanFileHandle::importHandle(void*, int)           mmfs26.tmp
+sanSGHandle::exportHandle(void**, int*, void*) const mmfs26.tmp
+sanSGHandle::importHandle(void*, int)             mmfs26.tmp
+searchHelper                                      mmfs26.tmp
+setMountInfo(gpfsVfsData_t*, unsigned long long, DiskUID, int, StripeGroup*, int, BlockSizeInfo*, int) mmfs26.tmp
+setSMBOpenLockControl                             mmfs26.tmp
+setSMBOplock                                      mmfs26.tmp
+setTSAcl(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, ACL*, int, ext_cred_t*, unsigned int) mmfs26.tmp
+setTSAclInternal(KernelOperation*, gpfsVfsData_t*, gpfsNode_t*, OpenFile*, ACL*, ext_cred_t*) mmfs26.tmp
+set_gpfs_operations                               mmfs26.tmp
+setuerror(int)                                    mmfs26.tmp
+shark_mounts_lock                                 mmfs26.tmp
+shark_nfs_lock                                    mmfs26.tmp
+smbCommandToString(int)                           mmfs26.tmp
+smbCommand_id2name(int)                           mmfs26.tmp
+smbOps_id2name(int)                               mmfs26.tmp
+snapLinkGetattr(StripeGroup*, FileUID, cxiVattr_t*) mmfs26.tmp
+socket_aio_dequeue                                mmfs26.tmp
+sprintf                                           mmfs26.tmp
+ss_ioctl(unsigned int, unsigned long)             mmfs26.tmp
+ss_ioctl_op                                       mmfs26.tmp
+ss_reset_ioctl                                    mmfs26.tmp
+ss_set_ioctl                                      mmfs26.tmp
+stateToString(int)                                mmfs26.tmp
+terminate()                                       mmfs26.tmp
+toPrintableStr(void*, char*, int)                 mmfs26.tmp
+tokentypeToString(int)                            mmfs26.tmp
+trc_fsync                                         mmfs26.tmp
+tsattr                                            mmfs26.tmp
+tscMsgToString(int)                               mmfs26.tmp
+tscStatusToString(int)                            mmfs26.tmp
+tsfattr                                           mmfs26.tmp
+tsfattrcmdToString(int)                           mmfs26.tmp
+tsfsattr                                          mmfs26.tmp
+tsfsattrcmdToString(int)                          mmfs26.tmp
+tsfstat                                           mmfs26.tmp
+tsstat                                            mmfs26.tmp
+unlockFcntlOps(unsigned int)                      mmfs26.tmp
+unlockFile(OpenFile*, WhatLocked)                 mmfs26.tmp
+upgradeFileLock(KernelOperation*, OpenFile*, FileUID, LkObj::LockModeEnum*, LkObj::LockModeEnum, int) mmfs26.tmp
+verifyReadAttrAccess(KernelOperation*, gpfsVfsData_t*, OpenFile*, int*, AclAccess*) mmfs26.tmp
+verifyTSAcl(ACL*, StripeGroup*)                   mmfs26.tmp
+vfsStats                                          mmfs26.tmp
+vinfoListHeadP                                    mmfs26.tmp
+vinfoLock(MMFSVInfo*)                             mmfs26.tmp
+vinfoUnlock(MMFSVInfo*)                           mmfs26.tmp
+waitForSimplePageDecl(int)                        mmfs26.tmp
+waitReasonCode(LkObj::LockModeEnum)               mmfs26.tmp
+waitReasonDesc(LkObj::LockModeEnum)               mmfs26.tmp
+wakeSyncRecLockRetries(StripeGroup*)              mmfs26.tmp
+wakeupSimplePageDeclWaiters()                     mmfs26.tmp
+whichBufListEnumToString(int)                     mmfs26.tmp
+whichInstListEnumToString(int)                    mmfs26.tmp
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfs26.mod.c.saved
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfs26.mod.c.saved	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfs26.mod.c.saved	(revision 16)
@@ -0,0 +1,207 @@
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = KBUILD_MODNAME,
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+};
+
+static const struct modversion_info ____versions[]
+__attribute_used__
+__attribute__((section("__versions"))) = {
+	{ 0x89fac617, "struct_module" },
+	{ 0xe9314b1c, "getVp" },
+	{ 0x36bd2ff3, "cxiHasMountHelper" },
+	{ 0x206d8e39, "cxiWaitEventSignal" },
+	{ 0xb4a1c58d, "cxiCloseNFS" },
+	{ 0xb68428d6, "cxiInitBreakQ" },
+	{ 0xc7414d7d, "kxGetDelegation" },
+	{ 0xeb0f8676, "cxiIsReadOnlyMnt" },
+	{ 0x7f8cdc7c, "cxiCopyIn" },
+	{ 0x1c367e06, "cxiGetNfsP" },
+	{ 0xa2226052, "cxiGetKernelStackSize" },
+	{ 0xd35422f5, "cxiSetNfsP" },
+	{ 0xd7efcfa4, "tsattr" },
+	{ 0xee0dd850, "cxiPruneDCacheEntry" },
+	{ 0x94fdacfc, "kxPutACL" },
+	{ 0x3880e38c, "cxiMapDiscontiguousRW" },
+	{ 0x925b2e0c, "kxQuotactl" },
+	{ 0x9455a3cc, "cxiFreeOSNode" },
+	{ 0x92b5cbe5, "cxiSetBit" },
+	{ 0xb8129e94, "cxiKibdUnpinmm" },
+	{ 0x4e58223e, "cxiSetOSNodeType" },
+	{ 0x6defe48d, "cxiBlockingMutexInit" },
+	{ 0x59e7cf02, "cxiClearBit" },
+	{ 0xd2c6dca7, "cxiGetCred" },
+	{ 0xcbafb3, "cxiAllocSharedMemory" },
+	{ 0xffcd9a5e, "cxiGetThreadId" },
+	{ 0x50bb76ef, "_XTrace" },
+	{ 0xb9fd2495, "cxiTestBit" },
+	{ 0x2aef8d56, "cxiGetFileAndVp" },
+	{ 0x6bbe8f9b, "cxiRefOSNode" },
+	{ 0x764bf427, "cxiInvalidateDCacheEntry" },
+	{ 0xe3e61832, "cxiStackAddrToThreadId" },
+	{ 0xd7b24cd1, "cxiFcntlUnblock" },
+	{ 0x1f9e5f7, "EnableMmap" },
+	{ 0x2fa5d84b, "cxiBreakOplock" },
+	{ 0x888a7792, "cxiIsSuperUser" },
+	{ 0xe5587dd8, "cxiGetMaxFileSize" },
+	{ 0x316ff5df, "cxiNewOSNode" },
+	{ 0xc5f59512, "cxiKibdUnpinAll" },
+	{ 0xdce3cf69, "cxiUnmapContiguousRO" },
+	{ 0x1579c996, "cxiUXfer" },
+	{ 0x55e71d81, "cxiInitPtrSwizzling" },
+	{ 0x1e85c55c, "cxiCheckSiteMcrVersion" },
+	{ 0x2493ac08, "tsstat" },
+	{ 0xb72ff6cc, "cxiXmemXfer" },
+	{ 0xfedd1325, "cxiClearPageoutThread" },
+	{ 0xb1ec5460, "cxiCopyOut" },
+	{ 0xc32373d6, "cxiPutOSNode" },
+	{ 0x3f0971be, "cxiStartDMS" },
+	{ 0x4b2cd41c, "cxiKibdUnpin" },
+	{ 0x916b8d77, "cxiMmapUnregister" },
+	{ 0x74e9635b, "cxiMmapFlush" },
+	{ 0xd4cc8967, "kxGetThreadID" },
+	{ 0x560bbc23, "kxUMount" },
+	{ 0x5918b48b, "cxiIsSambaOrLockdThread" },
+	{ 0xecd4c344, "setSMBOpenLockControl" },
+	{ 0x6e256502, "cxiSafePutLong" },
+	{ 0x363a2df4, "cxiWaitEventWait" },
+	{ 0x1d26aa98, "sprintf" },
+	{ 0xf4277f1e, "tsfattr" },
+	{ 0xc37dd3dd, "cxiGetCnP" },
+	{ 0xe65923f9, "cxiOpenNFS" },
+	{ 0xac9282d0, "GetDiskInfoX" },
+	{ 0x52d7d6cd, "cxiIsKswapdThread" },
+	{ 0x4b3706cc, "kxGetShare" },
+	{ 0x2aca9a5b, "gpfs_init" },
+	{ 0x96d0e2d, "cxiInvalidateNegDCacheEntry" },
+	{ 0x46fa0731, "vfsStats" },
+	{ 0xc07e9e17, "cxiUiomove" },
+	{ 0x67cfac2b, "cxiBigMalloc" },
+	{ 0x8a933922, "cxiGetRootInode" },
+	{ 0x9aff7df4, "cxiReleaseFile" },
+	{ 0x2bc95bd4, "memset" },
+	{ 0xe30b5482, "cxiKDoIO" },
+	{ 0x925e1fce, "VM_Attach" },
+	{ 0xe3fc8699, "gpfs_ops" },
+	{ 0x7ae3b984, "cxiFreePinned" },
+	{ 0x6418ab1b, "cxiCalcMaxSharedSegment" },
+	{ 0x78ed2450, "cxiSendBreakMsg" },
+	{ 0x398c7fec, "cxiSafeGetLong" },
+	{ 0x1b7d4074, "printk" },
+	{ 0xd0b2337e, "kxGetACL" },
+	{ 0x1354e030, "cxiSetCred" },
+	{ 0xe20e9744, "cxiKXfer" },
+	{ 0x24880cac, "cxiPathRel" },
+	{ 0xcc2ae239, "cxiFlockToVFS" },
+	{ 0x5b2bf224, "cxiRefOsNode" },
+	{ 0xf1976019, "cxiPutCred" },
+	{ 0x662853cb, "cxiUpdateInode" },
+	{ 0xed623bae, "cxiBlockingMutexAcquire" },
+	{ 0xf50fc6fc, "cxiSetOSNode" },
+	{ 0x5f8da8b, "cxiKibdPin" },
+	{ 0x82ee8418, "VFSStatPoint_begin" },
+	{ 0xb74c2b8a, "cxiShutdownDMS" },
+	{ 0x55686709, "cxiDestroyOSNode" },
+	{ 0xbd16895f, "cxiStartKProc" },
+	{ 0xd114c347, "tsfsattr" },
+	{ 0x32cdc465, "cxiIncModuleCounter" },
+	{ 0x1b5550ff, "cxiWaitEventBroadcast" },
+	{ 0xce35f9da, "cxiCheckThreadState" },
+	{ 0x48a51bd2, "cxiAuditWrite" },
+	{ 0xc376b64, "cxiDetachIOBuffer" },
+	{ 0x2f24dd10, "mmapKill" },
+	{ 0xb544e3c8, "VFSStatPoint_end" },
+	{ 0xcf88853, "cxiExportModuleStruct" },
+	{ 0x9d3440d9, "cxiSetNFSCluster" },
+	{ 0xa24f32b7, "cxiMmapRegister" },
+	{ 0x446e7039, "cxiUnmount" },
+	{ 0x739af1ab, "_STrace" },
+	{ 0x3c237fb0, "cxiIsNFS4Thread" },
+	{ 0x41270aa, "TraceFlagsP" },
+	{ 0x6fa56835, "getFilePos" },
+	{ 0x9b464aac, "cxiFreeSharedMemory" },
+	{ 0xc38904b1, "cxiGetPvP" },
+	{ 0x4e16c8be, "cxiWaitEventInit" },
+	{ 0x9b21d6c3, "cxiKibdPinmm" },
+	{ 0x83af306c, "cxiTermBreakQ" },
+	{ 0xd4aa5b72, "trc_fsync" },
+	{ 0x5c02bf78, "cxiSetPageoutThread" },
+	{ 0x1159d397, "cxiBlockingMutexRelease" },
+	{ 0xed5dead8, "setSMBOplock" },
+	{ 0xfad2c04, "cxiGetFcntlOwner" },
+	{ 0x22fb45c4, "cxiBigFree" },
+	{ 0x2a67b605, "cxiMallocPinned" },
+	{ 0x37cebf20, "cxiDumpOSNode" },
+	{ 0x21c38f4b, "cxiIsGPFSThread" },
+	{ 0x5c57aa14, "cxiInitDMS" },
+	{ 0x8b342ac3, "cxiAttachSharedMemory" },
+	{ 0xb7175fa4, "cxiMmapReleasePage" },
+	{ 0x368557, "cxiWaitEventBroadcastRC" },
+	{ 0x204a7880, "cxiGetUserEnvironmentSize" },
+	{ 0x853b38fa, "cxiTrace" },
+	{ 0xd828ff14, "cxiMmapGetPage" },
+	{ 0xcbb79da8, "cxiInvalidatePerm" },
+	{ 0xe0518b35, "cxiPathToVfsP" },
+	{ 0x9a222270, "IoDone" },
+	{ 0x30560619, "cxiStopKProc" },
+	{ 0xde48e2ed, "cxiGetMountedOverOSNode" },
+	{ 0xfbec7211, "ss_ioctl_op" },
+	{ 0xfc7ec049, "reset_gpfs_operations" },
+	{ 0x391203cc, "cxiCopyInstr" },
+	{ 0xcd9929c7, "cxiBlockingMutexTerm" },
+	{ 0x4964fec5, "cxiDetachSharedMemory" },
+	{ 0xe44262fa, "cxiAttachIOBuffer" },
+	{ 0x2e60bace, "memcpy" },
+	{ 0x40a40156, "cxiAddOSNode" },
+	{ 0x7a84f84e, "cxiRecordSharedMemory" },
+	{ 0xbca66e54, "cxiUnmapDiscontiguousRW" },
+	{ 0xdfb39699, "cxiWaitEventHasWaiters" },
+	{ 0xda9c2374, "cxiGetPrivVfsP" },
+	{ 0x5c862781, "getpid" },
+	{ 0xb96b0db1, "tsfstat" },
+	{ 0x3ca9ea5e, "cxiInactiveOSNode" },
+	{ 0xc687823d, "cxiSafeGetInt" },
+	{ 0x5f09bf14, "cxiYield" },
+	{ 0x3c214fd7, "errno" },
+	{ 0x6a419c1a, "kxMadvise" },
+	{ 0x96b9a485, "VM_Detach" },
+	{ 0x2d5ea61e, "cxiCheckProductVersion" },
+	{ 0xe97d36b7, "cxiCheckOpen" },
+	{ 0x21dbd10c, "cxiRegisterCleanup" },
+	{ 0x5218cf7b, "cxiMapContiguousRO" },
+	{ 0xb6d6666, "cxiPanic" },
+	{ 0xcb980506, "cxiSleep" },
+	{ 0x4ca616a8, "socket_aio_dequeue" },
+	{ 0x283224e2, "cxiIsNFSThread" },
+	{ 0x28813834, "cxiKZero" },
+	{ 0x4e209f72, "cxiGetTOD" },
+	{ 0xfa1cedb9, "cxiStopDMS" },
+	{ 0x7c0c0195, "cxiCanUncacheOSNode" },
+	{ 0x3556c745, "cxiInitVFS" },
+	{ 0x9080590a, "cxiFcntlLock" },
+	{ 0x16a63b4e, "cxiIsKupdateThread" },
+	{ 0xbd07d6b9, "cxiGetKernelBoundary" },
+	{ 0x2d86bdd5, "kxPoll" },
+	{ 0xb0f240c0, "cxiBlockingMutexHeldByCaller" },
+	{ 0xffd04f92, "cxiGetUserEnvironment" },
+	{ 0xf105ff1b, "cxiFcntlReset" },
+	{ 0xa578173b, "gpfs_clean" },
+	{ 0x71db8323, "cxiSendSigThread" },
+	{ 0x811bf8e3, "cxiWaitForBreak" },
+	{ 0x413b34e6, "cxiSetMountInfo" },
+};
+
+static const char __module_depends[]
+__attribute_used__
+__attribute__((section(".modinfo"))) =
+"depends=mmfslinux,tracedev";
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfs26.symvers
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfs26.symvers	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfs26.symvers	(revision 16)
@@ -0,0 +1,6920 @@
+0xa3bc2e15	kmem_cache_alloc	vmlinux	EXPORT_SYMBOL
+0x87f4ced2	set_anon_super	vmlinux	EXPORT_SYMBOL
+0xe4bcd780	generic_file_splice_write	vmlinux	EXPORT_SYMBOL
+0xfbe7db15	firmware_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x6fb5ab71	mpt_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x88b73627	tipc_get_addr	net/tipc/tipc	EXPORT_SYMBOL
+0x975d814d	ieee80211_set_aid_for_sta	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x0a2487e0	unblock_all_signals	vmlinux	EXPORT_SYMBOL
+0xeef90270	request_firmware	vmlinux	EXPORT_SYMBOL
+0xdd04d58e	i2c_put_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x18269033	_csr1212_destroy_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x53109f2d	rtc_class_open	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x96cd2b04	scsi_sense_key_string	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x95ba261c	snd_cs4231_get_single	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x56230f1e	rtl_ieee80211_wx_get_encode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xb034e76e	rtl_ieee80211_wx_set_encode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x07d50a24	csum_partial	vmlinux	EXPORT_SYMBOL
+0xbac1605b	register_timer_hook	vmlinux	EXPORT_SYMBOL_GPL
+0x835c276d	mod_reg_security	vmlinux	EXPORT_SYMBOL_GPL
+0xac70eba8	hwmon_device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x39919aca	ib_destroy_cm_id	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x362b3357	ib_init_ah_from_path	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0xcf73f281	bttv_i2c_call	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x7e7d6039	cx8802_buf_queue	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x16f27683	tipc_block_bearer	net/tipc/tipc	EXPORT_SYMBOL
+0xc7645a75	kmap_atomic	vmlinux	EXPORT_SYMBOL
+0x2ba288aa	unregister_timer_hook	vmlinux	EXPORT_SYMBOL_GPL
+0x08ce54bb	__generic_unplug_device	vmlinux	EXPORT_SYMBOL
+0x06044e8c	i2o_driver_register	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x3ac62b87	o2hb_setup_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x59ab4080	cap_bset	vmlinux	EXPORT_SYMBOL
+0xebd51c5e	nf_log_register	vmlinux	EXPORT_SYMBOL
+0x67fd030f	avmcard_dma_free	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x6aefdbea	ir_codes_npgtech	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc6c5a7a1	ir_codes_em_terratec	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x00ba9dd1	videobuf_queue_cancel	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xbdd083d1	scsi_execute	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x375492a4	rpciod_up	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x61281dd1	mixer_devs	sound/oss/sound	EXPORT_SYMBOL
+0x24196ba2	init_uts_ns	vmlinux	EXPORT_SYMBOL_GPL
+0x3c942368	profile_event_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xd9091363	acpi_install_notify_handler	vmlinux	EXPORT_SYMBOL
+0x8e7c9e92	device_del	vmlinux	EXPORT_SYMBOL_GPL
+0x5df0c31b	device_add	vmlinux	EXPORT_SYMBOL_GPL
+0x0bce3753	ioread32be	vmlinux	EXPORT_SYMBOL
+0xb3af9ef3	acpi_bus_start	vmlinux	EXPORT_SYMBOL
+0x8315e0ff	sock_no_mmap	vmlinux	EXPORT_SYMBOL
+0xa29b2642	__inet6_hash	vmlinux	EXPORT_SYMBOL
+0xe747dbe4	matroxfb_read_pins	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x969bd264	krb5_decrypt	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xe090ea5e	snd_cs4231_out	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xe8bd2b4d	sound_install_audiodrv	sound/oss/sound	EXPORT_SYMBOL
+0xd872d0b0	synth_name	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x8dfba176	srcu_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0x88640159	_read_unlock_bh	vmlinux	EXPORT_SYMBOL
+0x5f792547	directly_mappable_cdev_bdi	vmlinux	EXPORT_SYMBOL
+0x04314cbd	fb_validate_mode	vmlinux	EXPORT_SYMBOL
+0x208739f6	acpi_load_table	vmlinux	EXPORT_SYMBOL
+0x028e8743	sockfd_lookup	vmlinux	EXPORT_SYMBOL
+0x54e6fcdd	net_enable_timestamp	vmlinux	EXPORT_SYMBOL
+0x50e336f4	tcp_initialize_rcv_mss	vmlinux	EXPORT_SYMBOL
+0x181ae50f	kvm_mmu_free_some_pages	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xaa6e293d	usb_serial_generic_write_bulk_callback	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x7ff10ccf	raw_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x1c806a29	sync_page_range_nolock	vmlinux	EXPORT_SYMBOL
+0x8c189ad5	tpm_gen_interrupt	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x6eb48913	hpsb_iso_stop	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x89087ef5	scsi_get_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd8fa57a6	dlm_unregister_eviction_cb	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x6ea62164	ax25_find_cb	net/ax25/ax25	EXPORT_SYMBOL
+0xb5dea7ef	g_token_size	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x4b0c43d4	tipc_register_media	net/tipc/tipc	EXPORT_SYMBOL
+0xc460b50f	transport_class_register	vmlinux	EXPORT_SYMBOL_GPL
+0x347a20b7	dvb_pll_philips_sd1878_tda8261	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xaa9fa1c9	hostap_handle_sta_tx_exc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x9f156e00	scsi_target_quiesce	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5febf284	unload_mpu401	sound/oss/mpu401	EXPORT_SYMBOL
+0x6e0ad68b	rtl_ieee80211_wx_get_name	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xa3aba07c	rtl_ieee80211_wx_get_rate	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xa60875ff	rtl_ieee80211_wx_set_rate	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x6418ab1b	cxiCalcMaxSharedSegment	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xffd5a395	default_wake_function	vmlinux	EXPORT_SYMBOL
+0x2f287f0d	copy_to_user	vmlinux	EXPORT_SYMBOL
+0xc52f5714	fb_videomode_to_var	vmlinux	EXPORT_SYMBOL
+0x7869e4d3	transport_class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x8c0ead8a	hpsb_read	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc8e1c747	dm_put_device	drivers/md/dm-mod	EXPORT_SYMBOL
+0x84fc1a57	dm_get_device	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8bbc75fa	mpt_free_fw_memory	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x8ede855b	iscsi_conn_setup	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xe0d26ca8	snd_emux_terminate_all	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x5e4a6a60	iget_locked	vmlinux	EXPORT_SYMBOL
+0xac231d62	pci_bus_read_config_byte	vmlinux	EXPORT_SYMBOL
+0xabd308fd	agp_free_page_array	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xf10e4ea0	videobuf_dma_init_overlay	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x911666ff	z8530_channel_load	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x5b5cb594	fc_remote_port_add	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x13f54343	enable_timer_nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0x0b353626	iowrite8_rep	vmlinux	EXPORT_SYMBOL
+0xbf1ad8f7	class_interface_register	vmlinux	EXPORT_SYMBOL_GPL
+0x7318d31b	hostap_info_process	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x09e7a395	snd_akm4xxx_init	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0xa9c530b8	unregister_oom_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xce676eb3	class_interface_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xb6cd4666	ir_codes_eztv	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x448696e1	pcmcia_modify_configuration	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x2b076eb9	sas_release_transport	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x775ed6bb	rpc_new_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x46c621d9	snd_ctl_new	sound/core/snd	EXPORT_SYMBOL
+0xc2e587d1	reset_devices	vmlinux	EXPORT_SYMBOL
+0x4d45b561	tty_register_device	vmlinux	EXPORT_SYMBOL
+0xf2e74040	mca_set_adapter_name	vmlinux	EXPORT_SYMBOL
+0xeb31d06d	tcp_v4_md5_lookup	vmlinux	EXPORT_SYMBOL
+0x8077e11e	tpm_write	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xb9e64115	mptscsih_scandv_complete	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xb7bde904	w1_unregister_family	drivers/w1/wire	EXPORT_SYMBOL
+0x586ec66c	nf_conntrack_expect_related	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x77e2ffc7	xdr_decode_word	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2eec63c9	xdr_encode_netobj	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x591c1c00	snd_power_wait	sound/core/snd	EXPORT_SYMBOL
+0x93304684	param_get_string	vmlinux	EXPORT_SYMBOL
+0x8235805b	memmove	vmlinux	EXPORT_SYMBOL
+0x90918dcc	pci_create_bus	vmlinux	EXPORT_SYMBOL_GPL
+0xdbaaab48	cx88_get_stereo	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xf223cf7f	usb_bus_list_lock	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x363ba2b3	ircomm_disconnect_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x8969e1e3	generic_file_direct_write	vmlinux	EXPORT_SYMBOL
+0x656d7fc2	end_page_writeback	vmlinux	EXPORT_SYMBOL
+0x76d3cd60	laptop_mode	vmlinux	EXPORT_SYMBOL
+0x434fe8d8	dquot_alloc_space	vmlinux	EXPORT_SYMBOL
+0xf4f3c5cc	dmam_declare_coherent_memory	vmlinux	EXPORT_SYMBOL
+0xce69667b	ata_check_status	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x9774a0a0	tpm_pm_resume	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x5fbc0138	dibusb_i2c_algo	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x4f75bebb	speakup_dev_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x5d730e7b	raw_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x28553892	generic_file_readonly_mmap	vmlinux	EXPORT_SYMBOL
+0x6bd770f6	skb_recv_datagram	vmlinux	EXPORT_SYMBOL
+0x6933938f	tcf_police	vmlinux	EXPORT_SYMBOL
+0xdcbcbed0	drm_agp_enable	drivers/char/drm/drm	EXPORT_SYMBOL
+0x4d05e2b3	usbnet_cdc_unbind	drivers/usb/net/cdc_ether	EXPORT_SYMBOL_GPL
+0x242852b9	ax25_uid_policy	net/ax25/ax25	EXPORT_SYMBOL
+0x7a3e2b11	snd_gus_dram_read	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x7ae3b984	cxiFreePinned	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0d47e098	scatterwalk_copychunks	vmlinux	EXPORT_SYMBOL_GPL
+0x3fc7b0d3	pci_map_rom	vmlinux	EXPORT_SYMBOL
+0xe2db3d34	unregister_qdisc	vmlinux	EXPORT_SYMBOL
+0xa14015f1	dma_region_mmap	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9b140fff	cx88_sram_channels	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x0ad69602	hostap_set_multicast_list_queue	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x1d8ca27a	pcmcia_map_mem_page	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xa9dd58a5	pcmcia_get_mem_page	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x0a3d373e	usb_autopm_get_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x0d542439	__ipv6_addr_type	net/ipv6/ipv6	EXPORT_SYMBOL
+0x5f91a8c5	nf_conntrack_expect_chain	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x29a2666c	register_console	vmlinux	EXPORT_SYMBOL
+0x4deb42ae	vm_insert_page	vmlinux	EXPORT_SYMBOL
+0x0076dcf4	ib_rate_to_mult	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x383c07f2	ieee80211_wx_get_encode	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x70457266	ieee80211_wx_set_encode	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x3d441f4e	snd_hda_get_sub_nodes	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x04c5591b	input_ff_event	vmlinux	EXPORT_SYMBOL_GPL
+0xb2640166	sock_no_socketpair	vmlinux	EXPORT_SYMBOL
+0x69967080	ata_pci_default_filter	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x997a400e	b1dma_reset_ctr	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x7b7977ab	free_orinocodev	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0xd4892e90	nf_conntrack_l4proto_tcp4	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe10f1bb0	snd_gf1_write_addr	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x363c388d	highest_possible_processor_id	vmlinux	EXPORT_SYMBOL
+0x2bfeb410	acpi_get_handle	vmlinux	EXPORT_SYMBOL
+0xc0dfc4d2	__ide_dma_timeout	vmlinux	EXPORT_SYMBOL
+0x9f56882b	gnet_stats_start_copy	vmlinux	EXPORT_SYMBOL
+0x2250c66e	mraid_mm_adapter_app_handle	drivers/scsi/megaraid/megaraid_mm	EXPORT_SYMBOL
+0xbd57444b	arpt_do_table	net/ipv4/netfilter/arp_tables	EXPORT_SYMBOL
+0xc43a5527	snd_gf1_atten_table	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x8a9a395a	synth_port_forced	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x272e7488	cond_resched_softirq	vmlinux	EXPORT_SYMBOL
+0x198128ac	task_nice	vmlinux	EXPORT_SYMBOL_GPL
+0x681f81c8	prof_on	vmlinux	EXPORT_SYMBOL_GPL
+0x3417582d	devm_free_irq	vmlinux	EXPORT_SYMBOL
+0x7012a695	platform_device_del	vmlinux	EXPORT_SYMBOL_GPL
+0x2c8dc0be	platform_device_put	vmlinux	EXPORT_SYMBOL_GPL
+0x970ea98e	tcp_tso_segment	vmlinux	EXPORT_SYMBOL
+0xbcde1142	sysctl_ms_jiffies	vmlinux	EXPORT_SYMBOL
+0x01a4aab6	set_irq_chip_data	vmlinux	EXPORT_SYMBOL
+0x04d03329	set_bdi_congested	vmlinux	EXPORT_SYMBOL
+0x6d510480	__percpu_alloc_mask	vmlinux	EXPORT_SYMBOL_GPL
+0xae70bef2	pcim_iounmap	vmlinux	EXPORT_SYMBOL
+0x05aa6f7e	kernel_accept	vmlinux	EXPORT_SYMBOL
+0x71e8d5ba	capilib_data_b3_req	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xda44bf51	hostap_check_sta_fw_version	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x8b7666ac	ccid_register	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xfb593bfb	snd_seq_iwffff_init	sound/core/seq/instr/snd-ainstr-iw	EXPORT_SYMBOL
+0x1d4a9a75	snd_vx_resume	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xe0c784ef	lock_may_read	vmlinux	EXPORT_SYMBOL
+0xf130f815	driver_find	vmlinux	EXPORT_SYMBOL_GPL
+0xc9767070	sata_scr_write_flush	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x44aa2672	xt_proto_fini	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x1e54eb28	synth_remove	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xb8129e94	cxiKibdUnpinmm	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xbd2819f8	load_nls	vmlinux	EXPORT_SYMBOL
+0xb3e86acd	fb_class	vmlinux	EXPORT_SYMBOL
+0x99e0f580	pnp_stop_dev	vmlinux	EXPORT_SYMBOL
+0x824fa796	ide_fix_driveid	vmlinux	EXPORT_SYMBOL
+0xc8cc9128	iw_create_cm_id	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x711ad62e	dm_io_async_vm	drivers/md/dm-mod	EXPORT_SYMBOL
+0x54487e46	cpci_hp_register_controller	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xa0eb30f7	nf_conntrack_expect_alloc	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xde58211c	snd_card_free	sound/core/snd	EXPORT_SYMBOL
+0xad08cfa4	ata_host_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa973b579	rdma_node_get_transport	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x737a70c8	bttv_sub_register	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x4859b8bb	rtc_year_days	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x0c65e73c	scsi_normalize_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x72b243d4	free_dma	vmlinux	EXPORT_SYMBOL
+0x82d23e94	klist_iter_exit	vmlinux	EXPORT_SYMBOL_GPL
+0x6e30ea08	register_pppox_proto	drivers/net/pppox	EXPORT_SYMBOL
+0x9281a8cf	pcmcia_unregister_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x418f5fbe	sound_close_dma	sound/oss/sound	EXPORT_SYMBOL
+0x63d14d2f	eeprom_93cx6_read	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x776a0ab4	device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xde127160	ib_sa_path_rec_get	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0xbb803965	cx24123_attach	drivers/media/dvb/frontends/cx24123	EXPORT_SYMBOL
+0xc60b5e9e	hermes_bap_pwrite	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x173f715c	scsi_is_sas_rphy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xfed11ed1	usb_mon_deregister	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xe525ca6c	o2nm_get_hb_ctl_path	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x887ece23	ieee80211_rx_any	net/ieee80211/ieee80211	EXPORT_SYMBOL_GPL
+0xc7140684	xdr_init_decode	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xcccbb7d3	iw_handler_set_thrspy	vmlinux	EXPORT_SYMBOL
+0x665d31ee	xfrm_state_add	vmlinux	EXPORT_SYMBOL
+0xff5a8cfe	cn_del_callback	drivers/connector/cn	EXPORT_SYMBOL_GPL
+0x15e20449	hpsb_write	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xa065dd33	videobuf_mmap_free	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xb91f537d	mmc_cleanup_queue	drivers/mmc/card/mmc_block	EXPORT_SYMBOL
+0x284bb50a	ezusb_set_reset	drivers/usb/serial/usbserial	EXPORT_SYMBOL
+0xde48e2ed	cxiGetMountedOverOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x74abdafa	task_handoff_register	vmlinux	EXPORT_SYMBOL_GPL
+0x226020c4	I_BDEV	vmlinux	EXPORT_SYMBOL
+0x718c9729	acpi_find_root_pointer	vmlinux	EXPORT_SYMBOL
+0x59b3af81	ata_port_offline	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa7097f5c	dvb_register_device	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x649ecbb1	scsicam_bios_param	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe9803033	nf_ct_l3proto_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x7c3c563a	nf_ct_l4proto_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x987bcf12	DMAbuf_outputintr	sound/oss/sound	EXPORT_SYMBOL
+0x121d9f8a	ide_undecoded_slave	vmlinux	EXPORT_SYMBOL_GPL
+0xef2a7138	gigaset_getunassignedcs	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x7948c222	budget_debug	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x66a4c4e6	cycx_down	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x7f2f204b	find_or_create_page	vmlinux	EXPORT_SYMBOL
+0xb51bef30	phy_stop_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xeac4d236	invalidate_bdev	vmlinux	EXPORT_SYMBOL
+0xf4216711	kblockd_flush	vmlinux	EXPORT_SYMBOL
+0x3f7891e8	gs_write_room	drivers/char/generic_serial	EXPORT_SYMBOL
+0x00bc6cd9	gigaset_start	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xa172d0a8	usbvideo_register	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xb37c86ec	scsi_reset_provider	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb1882bd8	sas_phy_add	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xd9d2dc19	usb_buffer_unmap_sg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x55ad6251	usb_sg_wait	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x1aecdfa9	usb_sg_init	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x7cfaf018	ieee80211_channel_to_index	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x20b1de49	synth_add	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x4a2e690a	cancel_rearming_delayed_workqueue	vmlinux	EXPORT_SYMBOL
+0x0d3a6420	kobject_uevent	vmlinux	EXPORT_SYMBOL_GPL
+0x6c61ce70	num_registered_fb	vmlinux	EXPORT_SYMBOL
+0x6ff63386	tcp_twsk_unique	vmlinux	EXPORT_SYMBOL_GPL
+0xae4fb61e	mpt_reset_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x11267875	scsi_extd_sense_format	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf4e5e5dd	pci_bus_write_config_dword	vmlinux	EXPORT_SYMBOL
+0x2f8aad93	class_device_initialize	vmlinux	EXPORT_SYMBOL_GPL
+0xc1cd60fa	pccard_get_first_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x63f96173	nf_conntrack_expect_list	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xef589c46	xdr_buf_from_iov	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8b1fa63b	blk_cleanup_queue	vmlinux	EXPORT_SYMBOL
+0xda268faa	acpi_get_child	vmlinux	EXPORT_SYMBOL
+0x426070f8	tty_hung_up_p	vmlinux	EXPORT_SYMBOL
+0xa73e91c5	hpsb_get_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x283e799e	z8530_interrupt	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x8fc7e88d	parport_wait_peripheral	drivers/parport/parport	EXPORT_SYMBOL
+0x3fbb980e	pcim_enable_device	vmlinux	EXPORT_SYMBOL
+0xf3efc501	acpi_walk_resources	vmlinux	EXPORT_SYMBOL
+0x9994c0ca	ps2_is_keyboard_id	vmlinux	EXPORT_SYMBOL
+0x38be48ee	mpt_GetIocState	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xfb698292	usb_ftdi_elan_edset_setup	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xd993a605	ipv6_getsockopt	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfedd1325	cxiClearPageoutThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x31fcee4c	write_one_page	vmlinux	EXPORT_SYMBOL
+0x7e500b97	mpage_writepages	vmlinux	EXPORT_SYMBOL
+0x93955a7a	ide_dma_intr	vmlinux	EXPORT_SYMBOL_GPL
+0xf3d5cc13	ata_timing_merge	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x781b0d50	usb_driver_release_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xeede9ad9	ieee80211softmac_wx_get_genie	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xee57161d	sync_blockdev	vmlinux	EXPORT_SYMBOL
+0xf52a8e38	pnp_find_dev	vmlinux	EXPORT_SYMBOL
+0x85495ba0	inet_add_protocol	vmlinux	EXPORT_SYMBOL
+0xe865d7ae	nlmsvc_ops	fs/lockd/lockd	EXPORT_SYMBOL
+0x1059f308	o2nm_node_get	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xb29a9148	unload_ms_sound	sound/oss/ad1848	EXPORT_SYMBOL
+0x4a57ad64	acpi_processor_ffh_cstate_enter	vmlinux	EXPORT_SYMBOL_GPL
+0x9c11addf	srcu_batches_completed	vmlinux	EXPORT_SYMBOL_GPL
+0x0f19d452	freeze_bdev	vmlinux	EXPORT_SYMBOL
+0x47066d5d	register_security	vmlinux	EXPORT_SYMBOL_GPL
+0x2ff92ca0	find_next_bit	vmlinux	EXPORT_SYMBOL
+0xc82663e0	kernel_recvmsg	vmlinux	EXPORT_SYMBOL
+0x4e6f96c7	sock_rfree	vmlinux	EXPORT_SYMBOL
+0x6e720ff2	rtnl_unlock	vmlinux	EXPORT_SYMBOL
+0xae79b45d	dibusb_rc_query	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x058cf4b7	cx8802_init_common	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x23cea294	atomic_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0x53a21daf	param_get_long	vmlinux	EXPORT_SYMBOL
+0x58eec133	bd_release	vmlinux	EXPORT_SYMBOL
+0xe1be5b09	kfree_skb	vmlinux	EXPORT_SYMBOL
+0x7d9afc12	skb_kill_datagram	vmlinux	EXPORT_SYMBOL
+0x5d8f319e	ip_xfrm_me_harder	vmlinux	EXPORT_SYMBOL
+0x2cc2d52d	vcc_hash	vmlinux	EXPORT_SYMBOL
+0x3c98cea8	p80211netdev_hwremoved	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xa44072fc	posix_acl_alloc	vmlinux	EXPORT_SYMBOL
+0x67e27067	inet_twsk_schedule	vmlinux	EXPORT_SYMBOL_GPL
+0xaa53a9b9	drm_mm_takedown	drivers/char/drm/drm	EXPORT_SYMBOL
+0xaa650212	ib_send_cm_mra	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xc63d3300	dm_create_dirty_log	drivers/md/dm-mirror	EXPORT_SYMBOL
+0x774d68a1	saa7146_wait_for_debi_done	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xf7f58c03	cpia_unregister_camera	drivers/media/video/cpia	EXPORT_SYMBOL
+0x0e15ff31	free_rs	lib/reed_solomon/reed_solomon	EXPORT_SYMBOL_GPL
+0xd481192b	ssb_admatch_size	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xc0512e0f	ssb_admatch_base	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x0933aae1	efi_enabled	vmlinux	EXPORT_SYMBOL
+0x6b8d3017	pci_find_parent_resource	vmlinux	EXPORT_SYMBOL
+0x694d9bbc	__kfree_skb	vmlinux	EXPORT_SYMBOL
+0x5c68e83b	skb_copy_datagram_iovec	vmlinux	EXPORT_SYMBOL
+0x98c6fb9c	xfrm_replay_notify	vmlinux	EXPORT_SYMBOL
+0x1e51cc03	get_mtd_device_nm	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x761a5c32	dccp_tx_hist_purge	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x18fad3b5	svc_set_num_threads	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3a57f235	snd_seq_autoload_unlock	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0xa6793efd	rt2x00lib_tx	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xd7e2f796	mptscsih_proc_info	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x0e18ae1a	_spin_lock_bh	vmlinux	EXPORT_SYMBOL
+0x6474aa2a	generic_file_aio_read	vmlinux	EXPORT_SYMBOL
+0xdef5c4a5	idr_destroy	vmlinux	EXPORT_SYMBOL
+0x5331e1b5	acpi_get_firmware_table	vmlinux	EXPORT_SYMBOL
+0x818c07ad	register_qdisc	vmlinux	EXPORT_SYMBOL
+0x9f591149	ip_defrag	vmlinux	EXPORT_SYMBOL
+0x62ad2a45	saa7134_pgtable_build	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x8ed9912d	scsi_flush_work	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x4381d12a	snd_i2c_device_free	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0xb994c584	per_cpu__irq_stat	vmlinux	EXPORT_SYMBOL
+0xb60b2999	register_binfmt	vmlinux	EXPORT_SYMBOL
+0x170c25ee	acpi_get_next_object	vmlinux	EXPORT_SYMBOL
+0x81c993b7	free_netdev	vmlinux	EXPORT_SYMBOL
+0x441ee5ff	onenand_scan_bbt	drivers/mtd/onenand/onenand	EXPORT_SYMBOL
+0x4d3c153f	sigprocmask	vmlinux	EXPORT_SYMBOL
+0xbca09dc7	idr_pre_get	vmlinux	EXPORT_SYMBOL
+0x6d9e4435	zlib_inflateIncomp	vmlinux	EXPORT_SYMBOL
+0x7277973d	ir_codes_pctv_sedna	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x81ffcefb	dvb_pll_env57h1xd5	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x2e37c5b6	scsi_host_get	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa3c06d23	gss_mech_get_by_pseudoflavor	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xe3cbe20e	do_mmap_pgoff	vmlinux	EXPORT_SYMBOL
+0x57cb718a	sk_stream_wait_connect	vmlinux	EXPORT_SYMBOL
+0xc691e027	gf128mul_lle	crypto/gf128mul	EXPORT_SYMBOL
+0xbdf97a04	mtd_concat_destroy	drivers/mtd/mtdconcat	EXPORT_SYMBOL
+0x9f740a61	parport_ieee1284_epp_write_addr	drivers/parport/parport	EXPORT_SYMBOL
+0x38787cb9	parport_ieee1284_ecp_write_addr	drivers/parport/parport	EXPORT_SYMBOL
+0xc9fbcb42	ax25_listen_register	net/ax25/ax25	EXPORT_SYMBOL
+0xed16bb7e	tipc_send_buf	net/tipc/tipc	EXPORT_SYMBOL
+0x00ffd3c7	init_waitqueue_head	vmlinux	EXPORT_SYMBOL
+0xc82a4495	vfs_unlink	vmlinux	EXPORT_SYMBOL
+0xe9852ea5	sock_no_sendmsg	vmlinux	EXPORT_SYMBOL
+0x8d551bef	sysctl_tcp_rmem	vmlinux	EXPORT_SYMBOL
+0xd92b2940	i2c_master_recv	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xd51d889f	flexcop_pass_dmx_packets	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x836bdb72	nand_flash_ids	drivers/mtd/nand/nand_ids	EXPORT_SYMBOL
+0x86668553	pcmcia_replace_cis	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x309939cf	key_revoke	vmlinux	EXPORT_SYMBOL
+0xed9003ef	pci_osc_support_set	vmlinux	EXPORT_SYMBOL
+0xaeff3d87	ata_acpi_stm	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf78486d7	ata_acpi_gtm	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd5168829	hermes_allocate	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xc622fb29	snd_seq_device_unregister_driver	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0xb407b205	ioport_resource	vmlinux	EXPORT_SYMBOL
+0xb91843cf	put_tty_driver	vmlinux	EXPORT_SYMBOL
+0xafab767f	bus_rescan_devices	vmlinux	EXPORT_SYMBOL_GPL
+0x0e3220ca	ioc4_register_submodule	drivers/misc/ioc4	EXPORT_SYMBOL
+0x83af306c	cxiTermBreakQ	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2288378f	system_state	vmlinux	EXPORT_SYMBOL
+0x897473df	mktime	vmlinux	EXPORT_SYMBOL
+0x4c9181fc	generic_file_splice_read	vmlinux	EXPORT_SYMBOL
+0x2f0a99ec	debugfs_create_bool	vmlinux	EXPORT_SYMBOL_GPL
+0xc7a4fbed	rtnl_lock	vmlinux	EXPORT_SYMBOL
+0x94a68723	ata_scsi_slave_destroy	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc911084b	p54_free_common	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0xd7ea771e	del_timer_sync	vmlinux	EXPORT_SYMBOL
+0x1f061267	acpi_fadt	vmlinux	EXPORT_SYMBOL
+0xc8961c09	llc_add_pack	vmlinux	EXPORT_SYMBOL
+0x98dfd6de	hidinput_connect	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x9cd013f2	xfrm6_tunnel_alloc_spi	net/ipv6/xfrm6_tunnel	EXPORT_SYMBOL
+0x925b0454	con_set_default_unimap	vmlinux	EXPORT_SYMBOL
+0x63dfe1b4	hpet_unregister	vmlinux	EXPORT_SYMBOL
+0x00e8097b	csum_partial_copy_fromiovecend	vmlinux	EXPORT_SYMBOL
+0x7889b127	hpsb_update_config_rom_image	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x31a23ce4	dccp_setsockopt	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xbabf0f35	rpciod_down	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbae4da72	ac97_read_proc	sound/oss/ac97_codec	EXPORT_SYMBOL
+0xbe6129a6	ioctl_by_bdev	vmlinux	EXPORT_SYMBOL
+0x174bb59d	dev_get_by_index	vmlinux	EXPORT_SYMBOL
+0x74ae5085	drm_core_get_reg_ofs	drivers/char/drm/drm	EXPORT_SYMBOL
+0xc368f8e6	btcx_align	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x02d89e98	mtd_do_chip_probe	drivers/mtd/chips/gen_probe	EXPORT_SYMBOL
+0x67900d2e	generic_delete_inode	vmlinux	EXPORT_SYMBOL
+0xd3aa23c2	key_unlink	vmlinux	EXPORT_SYMBOL
+0x7816e0f3	keyring_search	vmlinux	EXPORT_SYMBOL
+0x3504d51e	__crypto_alloc_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0xd18c83c6	__next_cpu	vmlinux	EXPORT_SYMBOL
+0xd99c569e	textsearch_find_continuous	vmlinux	EXPORT_SYMBOL
+0x85c2b251	class_device_add	vmlinux	EXPORT_SYMBOL_GPL
+0x3b4de6b1	configfs_unregister_subsystem	fs/configfs/configfs	EXPORT_SYMBOL
+0x47b450cc	snd_gf1_translate_freq	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x38ea236c	sk_stream_rfree	vmlinux	EXPORT_SYMBOL
+0x3f206041	ata_sg_init_one	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x13c2ce50	i2c_pca_add_bus	drivers/i2c/algos/i2c-algo-pca	EXPORT_SYMBOL
+0x06339815	sound_unload_synthdev	sound/oss/sound	EXPORT_SYMBOL
+0x10c60a35	blk_run_queue	vmlinux	EXPORT_SYMBOL
+0xd5b037e1	kref_put	vmlinux	EXPORT_SYMBOL
+0xdc7bd29f	mmc_wait_for_req	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x8cf61660	w1_add_master_device	drivers/w1/wire	EXPORT_SYMBOL
+0xf911c430	nf_nat_pptp_hook_expectfn	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x24fdac79	wake_bit_function	vmlinux	EXPORT_SYMBOL
+0xb694c524	suid_dumpable	vmlinux	EXPORT_SYMBOL
+0xcd40df56	ide_set_xfer_rate	vmlinux	EXPORT_SYMBOL_GPL
+0x9414647a	tcp_unhash	vmlinux	EXPORT_SYMBOL
+0x5d3466dd	__secpath_destroy	vmlinux	EXPORT_SYMBOL
+0x581509e4	deregister_atm_ioctl	vmlinux	EXPORT_SYMBOL
+0xb5fe4a52	gs_flush_buffer	drivers/char/generic_serial	EXPORT_SYMBOL
+0x5e448aae	i2c_smbus_write_i2c_block_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x42c8e001	v4l2_ctrl_next	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x46bc0adc	zlib_deflate	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0xc52e9c77	hci_register_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x59dbbc17	dccp_li_hist_purge	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x91815586	irda_param_pack	net/irda/irda	EXPORT_SYMBOL
+0xb39026e4	mempool_resize	vmlinux	EXPORT_SYMBOL
+0x632fbeb4	bus_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x0ccd3fb2	cfg80211_ioctl_ops	vmlinux	EXPORT_SYMBOL_GPL
+0x3adce61c	qdisc_get_rtab	vmlinux	EXPORT_SYMBOL
+0x78a6d03c	inet_csk_route_req	vmlinux	EXPORT_SYMBOL_GPL
+0x3b8ffaac	hid_set_field	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x76786327	i2o_parm_issue	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xa6afd288	init_airo_card	drivers/net/wireless/airo	EXPORT_SYMBOL
+0xdc591cc8	snd_rawmidi_drain_output	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x35286258	bio_map_user	vmlinux	EXPORT_SYMBOL
+0x9ec14312	secure_tcp_sequence_number	vmlinux	EXPORT_SYMBOL
+0xea6c308c	in_dev_finish_destroy	vmlinux	EXPORT_SYMBOL
+0xdea1fe89	xfrm_unregister_km	vmlinux	EXPORT_SYMBOL
+0x7bee3e35	drm_agp_unbind	drivers/char/drm/drm	EXPORT_SYMBOL
+0x0d118e5f	snd_ac97_pcm_open	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xc5f59512	cxiKibdUnpinAll	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9455a3cc	cxiFreeOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xfb97162c	__brelse	vmlinux	EXPORT_SYMBOL
+0x98babb34	dmam_alloc_coherent	vmlinux	EXPORT_SYMBOL
+0xc0cfc5b9	videocodec_detach	drivers/media/video/videocodec	EXPORT_SYMBOL
+0xdec76f5c	usbnet_suspend	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xc8fa9795	__nf_conntrack_confirm	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x4a9b8e84	wait_for_completion_interruptible_timeout	vmlinux	EXPORT_SYMBOL
+0x3e401ca7	reset_files_struct	vmlinux	EXPORT_SYMBOL
+0x0b245dda	mark_buffer_async_write	vmlinux	EXPORT_SYMBOL
+0xe5340509	wext_standard_ioctl_num	vmlinux	EXPORT_SYMBOL_GPL
+0xe4098bb9	ib_register_mad_agent	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x47d80441	scsi_device_set_state	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6b99b909	scsi_host_get_command	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0xd2d8569b	unregister_nls	vmlinux	EXPORT_SYMBOL
+0x3a9b6fb9	blk_unregister_region	vmlinux	EXPORT_SYMBOL
+0x3cd8581e	nf_reinject	vmlinux	EXPORT_SYMBOL
+0x1593fb83	inet_sock_destruct	vmlinux	EXPORT_SYMBOL
+0x41e710a6	ip_route_me_harder	vmlinux	EXPORT_SYMBOL
+0x28e23139	xfrm_probe_algs	vmlinux	EXPORT_SYMBOL_GPL
+0x56e26d86	mmc_add_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xaffe249a	pci_hp_register	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xadd203d0	tipc_connect2port	net/tipc/tipc	EXPORT_SYMBOL
+0xe7704aeb	__serio_register_port	vmlinux	EXPORT_SYMBOL
+0x8d469a5b	tipc_send_buf2name	net/tipc/tipc	EXPORT_SYMBOL
+0xc7552a84	malloc_sizes	vmlinux	EXPORT_SYMBOL
+0xadcf1420	skb_pull_rcsum	vmlinux	EXPORT_SYMBOL_GPL
+0x6e45dc41	parport_claim	drivers/parport/parport	EXPORT_SYMBOL
+0x3525fa62	__scsi_device_lookup_by_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe75aabfc	snd_ctl_unregister_ioctl	sound/core/snd	EXPORT_SYMBOL
+0x31e97060	rtl_ieee80211_register_crypto_ops	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xb121390a	probe_irq_on	vmlinux	EXPORT_SYMBOL
+0x0773c35a	register_nls	vmlinux	EXPORT_SYMBOL
+0x8063f83d	radix_tree_gang_lookup	vmlinux	EXPORT_SYMBOL
+0x01902adf	netpoll_trap	vmlinux	EXPORT_SYMBOL
+0xb948c93c	agp_remove_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x8048cf03	ib_dealloc_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x9edece74	saa7146_vmalloc_build_pgtable	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x4973f032	usbnet_set_msglevel	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x47b2117e	usbnet_get_msglevel	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xb504269f	dccp_insert_option_elapsed_time	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x1a59f532	nl80211msg_new	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL_GPL
+0xe5587dd8	cxiGetMaxFileSize	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7413793a	EISA_bus	vmlinux	EXPORT_SYMBOL
+0x0046ba8f	tcp_parse_options	vmlinux	EXPORT_SYMBOL
+0xebc53d64	xfrm_state_lookup	vmlinux	EXPORT_SYMBOL
+0xf954272b	i2c_smbus_write_block_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x94751b6c	btcx_riscmem_free	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x1d747ce3	o2hb_check_node_heartbeating	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xb8126ebc	nf_ct_unlink_expect	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbb2b2504	tipc_send	net/tipc/tipc	EXPORT_SYMBOL
+0xc96a06f9	module_refcount	vmlinux	EXPORT_SYMBOL
+0x7ae85ba9	inotify_inode_is_dead	vmlinux	EXPORT_SYMBOL_GPL
+0x9d33ef5e	acpi_enable	vmlinux	EXPORT_SYMBOL
+0x09298869	edac_mc_find_csrow_by_page	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xa0e59b4b	edac_mc_scrub_block	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xbe40ace9	irlmp_discovery_request	net/irda/irda	EXPORT_SYMBOL
+0x695143c9	rpc_unlink	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc4ccacce	ssb_device_is_enabled	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x058e4c95	SELECT_DRIVE	vmlinux	EXPORT_SYMBOL
+0x37d6f034	pccard_read_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x8cf91e4a	dlm_register_domain	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x2ae7d901	dlm_unregister_domain	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xdf43fad0	pci_enable_device_bars	vmlinux	EXPORT_SYMBOL
+0x2b5d6f73	acpi_get_register	vmlinux	EXPORT_SYMBOL
+0xee57295b	__netif_rx_schedule	vmlinux	EXPORT_SYMBOL
+0x8c69bb84	ttusbdecfe_dvbs_attach	drivers/media/dvb/ttusb-dec/ttusbdecfe	EXPORT_SYMBOL
+0xa7aeba4e	ttusbdecfe_dvbt_attach	drivers/media/dvb/ttusb-dec/ttusbdecfe	EXPORT_SYMBOL
+0xacd3bf1d	usb_lock_device_for_reset	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x8ff042ac	ip_vs_conn_in_get	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x7f8cdc7c	cxiCopyIn	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb2fd5ceb	__put_user_4	vmlinux	EXPORT_SYMBOL
+0xa03d6a57	__get_user_4	vmlinux	EXPORT_SYMBOL
+0x1f9cfe83	iomem_resource	vmlinux	EXPORT_SYMBOL
+0x85df9b6c	strsep	vmlinux	EXPORT_SYMBOL
+0x1606ed83	pci_setup_cardbus	vmlinux	EXPORT_SYMBOL
+0x4108e69a	fb_match_mode	vmlinux	EXPORT_SYMBOL
+0x200532b0	___pskb_trim	vmlinux	EXPORT_SYMBOL
+0x54564a87	ata_std_prereset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x3bb2a33c	usb_ftdi_elan_edset_empty	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x3f3ca12d	snd_timer_global_new	sound/core/snd-timer	EXPORT_SYMBOL
+0x39c6507f	vfs_create	vmlinux	EXPORT_SYMBOL
+0x9623668a	mnt_unpin	vmlinux	EXPORT_SYMBOL
+0x1ac6d8be	devm_kfree	vmlinux	EXPORT_SYMBOL_GPL
+0xdd471721	sata_scr_read	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2f47d8c7	cpufreq_frequency_get_table	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x86413d5c	hpsb_remove_host	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xe19c0a98	dvb_ca_en50221_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xad2b0e62	usb_serial_register	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x4ee7e490	snd_ctl_add	sound/core/snd	EXPORT_SYMBOL
+0xe056b71c	DMAbuf_start_dma	sound/oss/sound	EXPORT_SYMBOL
+0x8a933922	cxiGetRootInode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x853e2dfc	sb_min_blocksize	vmlinux	EXPORT_SYMBOL
+0xce8abc3a	dvb_pll_tded4	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x90e7cff3	RingQueue_Dequeue	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xfbbf7b45	mtd_erase_callback	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0x4ab5bc58	dccp_done	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x59d696b6	register_module_notifier	vmlinux	EXPORT_SYMBOL
+0xb4b534c9	z8530_sync_txdma_close	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xf104eb44	sas_phy_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xc7208c3a	serial8250_resume_port	vmlinux	EXPORT_SYMBOL
+0xe056fcbd	pi_schedule_claimed	drivers/block/paride/paride	EXPORT_SYMBOL
+0xde3b516c	bitmap_start_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0x77c8b001	irda_unregister_dongle	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x694aa3d6	snd_cs8427_reg_write	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x4d7b9ff9	snd_emu8000_load_chorus_fx	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x12075fb1	unregister_sysctl_table	vmlinux	EXPORT_SYMBOL
+0x396e5372	hid_input_report	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0xb659acef	i2c_control	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x87ea509a	pcmcia_request_irq	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xcc2ae239	cxiFlockToVFS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x69b4ab75	machine_id	vmlinux	EXPORT_SYMBOL
+0x0f5a92de	dcache_lock	vmlinux	EXPORT_SYMBOL
+0x7d090d33	block_write_full_page	vmlinux	EXPORT_SYMBOL
+0xe3534054	del_gendisk	vmlinux	EXPORT_SYMBOL
+0x8bb4e661	pci_find_aer_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x61e908ef	paride_register	drivers/block/paride/paride	EXPORT_SYMBOL
+0xce118b9f	ieee80211softmac_highest_supported_rate	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x8446a7af	rxrpc_call_write_data	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x43b40de7	kunmap_atomic	vmlinux	EXPORT_SYMBOL
+0x37d4196b	clear_bdi_congested	vmlinux	EXPORT_SYMBOL
+0x27fd8a0b	ide_add_setting	vmlinux	EXPORT_SYMBOL
+0x9305f8e6	cpufreq_get	vmlinux	EXPORT_SYMBOL
+0xc5e2cfc6	xfrm_register_type	vmlinux	EXPORT_SYMBOL
+0xcbf18807	fat_sync_inode	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x976e539e	lockd_up	fs/lockd/lockd	EXPORT_SYMBOL
+0x37661726	nf_ct_invert_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xa61aa028	snd_pcm_format_unsigned	sound/core/snd-pcm	EXPORT_SYMBOL
+0x272a2b91	__blockdev_direct_IO	vmlinux	EXPORT_SYMBOL
+0x3e5e135f	sock_no_setsockopt	vmlinux	EXPORT_SYMBOL
+0xc967453d	sock_no_getsockopt	vmlinux	EXPORT_SYMBOL
+0x4d18be19	sas_rphy_delete	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xb88c6261	usb_ftdi_elan_write_pcimem	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x9329fe98	ip6_route_me_harder	net/ipv6/ipv6	EXPORT_SYMBOL
+0xa94b8fcd	_write_trylock	vmlinux	EXPORT_SYMBOL
+0x868784cb	__symbol_get	vmlinux	EXPORT_SYMBOL_GPL
+0x2a4a449d	generic_block_bmap	vmlinux	EXPORT_SYMBOL
+0xc11ed2f2	km_new_mapping	vmlinux	EXPORT_SYMBOL
+0x7954b1ea	fc_get_event_number	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xb4b30422	snd_device_new	sound/core/snd	EXPORT_SYMBOL
+0xe980e5f7	kmem_cache_name	vmlinux	EXPORT_SYMBOL_GPL
+0xc2109aad	kmem_cache_free	vmlinux	EXPORT_SYMBOL
+0x39f5c893	d_materialise_unique	vmlinux	EXPORT_SYMBOL_GPL
+0xc9fd878f	acpi_ut_exception	vmlinux	EXPORT_SYMBOL
+0xbe0e5118	nla_memcmp	vmlinux	EXPORT_SYMBOL
+0xb60e34a8	nla_memcpy	vmlinux	EXPORT_SYMBOL
+0x1ec2e70d	matrox_mystique	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0x5c0d4b5c	tipc_ref_valid	net/tipc/tipc	EXPORT_SYMBOL
+0x4f42c597	snd_pcm_hw_constraint_list	sound/core/snd-pcm	EXPORT_SYMBOL
+0x852abecf	__request_region	vmlinux	EXPORT_SYMBOL
+0x7c9049bf	prepare_to_wait	vmlinux	EXPORT_SYMBOL
+0x955e9970	ipmi_request_supply_msgs	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x0a880980	DoCMil_init	drivers/mtd/devices/doc2001	EXPORT_SYMBOL_GPL
+0xf0009fee	put_pages_list	vmlinux	EXPORT_SYMBOL
+0x48f3b5ba	bdev_read_only	vmlinux	EXPORT_SYMBOL
+0x5c0f3c34	ata_host_detach	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe089cfcc	agp_memory_reserved	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x9e8ad082	save_msrs	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x22cb3a0d	dvb_frontend_reinitialise	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x72adeb24	pcmcia_find_mem_region	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x456a9662	snd_cs8427_create	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x091eb9b4	round_jiffies	vmlinux	EXPORT_SYMBOL_GPL
+0xa93c93ab	test_set_page_writeback	vmlinux	EXPORT_SYMBOL
+0xc54da62d	eisa_driver_unregister	vmlinux	EXPORT_SYMBOL
+0x501effa9	sock_wfree	vmlinux	EXPORT_SYMBOL
+0xe250cc8a	dvb_ringbuffer_pkt_next	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x08b18831	fat_date_unix2dos	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x993ad14b	irda_param_extract_all	net/irda/irda	EXPORT_SYMBOL
+0x6f878a7b	truncate_inode_pages	vmlinux	EXPORT_SYMBOL
+0x6ad2c761	dquot_commit	vmlinux	EXPORT_SYMBOL
+0x5594be03	bitmap_remap	vmlinux	EXPORT_SYMBOL
+0xace2b685	ps2_schedule_command	vmlinux	EXPORT_SYMBOL
+0xb4b8c0b1	qdisc_destroy	vmlinux	EXPORT_SYMBOL
+0x1c745171	dm_destroy_dirty_log	drivers/md/dm-mirror	EXPORT_SYMBOL
+0xac4e53b9	cx88_user_ctrls	drivers/media/video/cx88/cx8800	EXPORT_SYMBOL
+0xab6700a8	snd_ac97_pcm_assign	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x0948cde9	num_physpages	vmlinux	EXPORT_SYMBOL
+0xfb96db72	sysfs_notify	vmlinux	EXPORT_SYMBOL_GPL
+0xde7c9e59	input_flush_device	vmlinux	EXPORT_SYMBOL
+0x0422fe4a	inet_csk_timer_bug_msg	vmlinux	EXPORT_SYMBOL
+0xead76579	ata_bmdma_thaw	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0bbd5b42	dvb_frontend_detach	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x4ff75f8a	snd_util_mem_alloc	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x55686709	cxiDestroyOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1ea57e15	seq_lseek	vmlinux	EXPORT_SYMBOL
+0xc1ae733f	sysfs_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x9a1dfd65	strpbrk	vmlinux	EXPORT_SYMBOL
+0xcd46251e	class_device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x61e1a72d	cdebbuf_alloc	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x793f4ee4	matroxfb_g450_connect	drivers/video/matrox/matroxfb_g450	EXPORT_SYMBOL
+0x1551dc51	bitmap_find_free_region	vmlinux	EXPORT_SYMBOL
+0xdd5a8ccb	cdrom_get_last_written	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xcd1bff38	phy_enable_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xb213fe8b	snd_info_get_str	sound/core/snd	EXPORT_SYMBOL
+0xd85be938	midi_synth_set_instr	sound/oss/sound	EXPORT_SYMBOL
+0xf0a529b7	do_softirq	vmlinux	EXPORT_SYMBOL
+0x003160a1	set_disk_ro	vmlinux	EXPORT_SYMBOL
+0xc007a6af	leds_list_lock	vmlinux	EXPORT_SYMBOL_GPL
+0x63af3cf6	xfrm_parse_spi	vmlinux	EXPORT_SYMBOL
+0xd0bc06ce	capifs_new_ncci	drivers/isdn/capi/capifs	EXPORT_SYMBOL
+0x95aed401	isdnhdlc_decode	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0x91fea8f3	pcmcia_request_configuration	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x6caf8c0e	journal_invalidatepage	fs/jbd/jbd	EXPORT_SYMBOL
+0x71fa908a	cache_flush	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8f5bebce	relay_switch_subbuf	vmlinux	EXPORT_SYMBOL_GPL
+0x4221c797	bus_find_device	vmlinux	EXPORT_SYMBOL_GPL
+0xb60e5e5f	capi_cmsg_header	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xac1c698a	dib3000mc_pid_parse	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xa8f55626	pcmcia_request_window	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x3f686c9e	devm_request_irq	vmlinux	EXPORT_SYMBOL
+0xe3bcd72f	sk_common_release	vmlinux	EXPORT_SYMBOL
+0xa2530696	tcp_create_openreq_child	vmlinux	EXPORT_SYMBOL
+0x334ef9fb	xfrm_aalg_get_byid	vmlinux	EXPORT_SYMBOL_GPL
+0x532e66e7	dst_pio_enable	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xc3cd68ab	video_device_release	drivers/media/video/videodev	EXPORT_SYMBOL
+0x43adde09	register_ip_vs_app_inc	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x5834d502	rpc_create	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x80ca2713	_read_lock_irqsave	vmlinux	EXPORT_SYMBOL
+0xde37072e	sk_reset_timer	vmlinux	EXPORT_SYMBOL
+0xddc89718	skb_prepare_seq_read	vmlinux	EXPORT_SYMBOL
+0x7ee76fff	skb_queue_head	vmlinux	EXPORT_SYMBOL
+0x5fccf0f5	capi_ctr_resume_output	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x7037d1c7	scsi_io_completion	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x675aad50	tipc_createport	net/tipc/tipc	EXPORT_SYMBOL
+0x888a7792	cxiIsSuperUser	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x27dbb943	bio_alloc_bioset	vmlinux	EXPORT_SYMBOL
+0xdbd343f7	drm_pci_free	drivers/char/drm/drm	EXPORT_SYMBOL
+0xf5b4a948	crc_itu_t	ubuntu/misc/crc-itu-t	EXPORT_SYMBOL
+0x92b5cbe5	cxiSetBit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x48a51bd2	cxiAuditWrite	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xfdce9842	acpi_processor_power_init_bm_check	vmlinux	EXPORT_SYMBOL
+0xb5045e20	videobuf_querybuf	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xc652aa1d	mii_ethtool_sset	drivers/net/mii	EXPORT_SYMBOL
+0x5e56365d	mii_ethtool_gset	drivers/net/mii	EXPORT_SYMBOL
+0xcf8732e7	atmel_open	drivers/net/wireless/atmel	EXPORT_SYMBOL
+0xc25624ca	usb_driver_set_configuration	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x559c5315	ieee80211_get_hdrlen_from_skb	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xda9c2374	cxiGetPrivVfsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5aaa7cd3	drive_info	vmlinux	EXPORT_SYMBOL
+0xd696115d	textsearch_destroy	vmlinux	EXPORT_SYMBOL
+0xd0de299d	class_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x4acec6eb	release_sock	vmlinux	EXPORT_SYMBOL
+0x50c75999	agp_backend_acquire	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xb579b201	ib_get_cached_lmc	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbb415593	gameport_stop_polling	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xb602c57e	nf_ct_l3proto_module_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x7c0c0195	cxiCanUncacheOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x8f6b7950	set_irq_data	vmlinux	EXPORT_SYMBOL
+0x30829b67	sync_inode	vmlinux	EXPORT_SYMBOL
+0x4a195d00	unmap_underlying_metadata	vmlinux	EXPORT_SYMBOL
+0x08225101	cx8802_unregister_driver	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xc098eb24	snd_pcm_hw_constraint_msbits	sound/core/snd-pcm	EXPORT_SYMBOL
+0xecffb6f6	__invalidate_device	vmlinux	EXPORT_SYMBOL
+0x092cb00c	input_register_device	vmlinux	EXPORT_SYMBOL
+0x35e33c1e	nfs4_acl_write_who	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x0838dae5	ieee80211softmac_wx_set_mlme	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x8b342ac3	cxiAttachSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4964fec5	cxiDetachSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6a27bfce	csum_partial_copy_generic	vmlinux	EXPORT_SYMBOL
+0x323bda12	register_sysctl_table	vmlinux	EXPORT_SYMBOL
+0x2cf190e3	request_irq	vmlinux	EXPORT_SYMBOL
+0xda40d31e	simple_sync_file	vmlinux	EXPORT_SYMBOL
+0x12d5b9b0	blk_queue_free_tags	vmlinux	EXPORT_SYMBOL
+0x1163f0a7	blk_max_low_pfn	vmlinux	EXPORT_SYMBOL
+0x2ba707a8	sysctl_tcp_low_latency	vmlinux	EXPORT_SYMBOL
+0x73ac3805	gigaset_stop	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xb64c3716	led_classdev_unregister	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0xda509db0	snd_midi_event_reset_encode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x44bd6e72	tty_flip_buffer_push	vmlinux	EXPORT_SYMBOL
+0x5be89352	ohci1394_unregister_iso_tasklet	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0x951776d3	kvm_hypercall	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x7ad45e7e	cx88_ioctl_translator	drivers/media/video/cx88/cx88-blackbird	EXPORT_SYMBOL
+0x279e265f	ieee80211_crypt_deinit_handler	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xdbd5da79	irias_add_string_attrib	net/irda/irda	EXPORT_SYMBOL
+0x2c7d6c5c	cap_task_reparent_to_init	security/commoncap	EXPORT_SYMBOL
+0x78ed2450	cxiSendBreakMsg	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf9a482f9	msleep	vmlinux	EXPORT_SYMBOL
+0x89ffd5c2	inotify_init_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x232d9dbd	uart_get_divisor	vmlinux	EXPORT_SYMBOL
+0x4948a9b9	atm_dev_register	vmlinux	EXPORT_SYMBOL
+0x25cf8049	matroxfb_PLL_calcclock	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x608063cb	ieee80211softmac_wx_set_genie	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xad45df73	midi_synth_close	sound/oss/sound	EXPORT_SYMBOL
+0x31b4d9bd	__bforget	vmlinux	EXPORT_SYMBOL
+0x7dc39788	unregister_netdev	vmlinux	EXPORT_SYMBOL
+0xfa72d781	snd_opl4_read	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0xbda7965f	register_wlandev	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xab600421	probe_irq_off	vmlinux	EXPORT_SYMBOL
+0x79aa04a2	get_random_bytes	vmlinux	EXPORT_SYMBOL
+0x97fede52	sock_no_listen	vmlinux	EXPORT_SYMBOL
+0xbca0f20f	md_unregister_thread	drivers/md/md-mod	EXPORT_SYMBOL
+0xe0ff7a18	unregister_pppox_proto	drivers/net/pppox	EXPORT_SYMBOL
+0xc0ac924b	scsi_device_lookup_by_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xac9617ae	inet6_add_protocol	net/ipv6/ipv6	EXPORT_SYMBOL
+0xb015522b	lapb_disconnect_request	net/lapb/lapb	EXPORT_SYMBOL
+0xa743975a	set_h225_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x4039bb51	xt_register_table	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xd0b33346	xdr_reserve_space	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x64d59fa4	tcf_exts_destroy	vmlinux	EXPORT_SYMBOL
+0xe4e02658	ipmi_smi_add_proc_entry	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x5774e243	rpcauth_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x1b5550ff	cxiWaitEventBroadcast	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1d435266	sock_no_poll	vmlinux	EXPORT_SYMBOL
+0x0b5d232a	ata_dev_try_classify	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6a037cf1	mempool_kfree	vmlinux	EXPORT_SYMBOL
+0x3797e731	vlan_ioctl_set	vmlinux	EXPORT_SYMBOL
+0x3ec58a1f	ib_alloc_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x0477afc3	unregister_ip_vs_scheduler	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x4d9b6d35	snd_pcm_format_size	sound/core/snd-pcm	EXPORT_SYMBOL
+0x82ee8418	VFSStatPoint_begin	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa7c35c6b	getnstimeofday	vmlinux	EXPORT_SYMBOL
+0xf2ed2f6b	remap_pfn_range	vmlinux	EXPORT_SYMBOL
+0x4fffae55	remove_arg_zero	vmlinux	EXPORT_SYMBOL
+0xf22eba1b	register_quota_format	vmlinux	EXPORT_SYMBOL
+0x023019fa	scsi_scan_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x343c88ad	irlmp_data_request	net/irda/irda	EXPORT_SYMBOL
+0x12f7ec78	irttp_data_request	net/irda/irda	EXPORT_SYMBOL
+0xfe623ec0	irda_device_register_dongle	net/irda/irda	EXPORT_SYMBOL
+0x6619df67	cap_inode_setxattr	security/commoncap	EXPORT_SYMBOL
+0xb1ec5460	cxiCopyOut	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9bf0a38e	file_update_time	vmlinux	EXPORT_SYMBOL
+0xaa9738d3	device_bind_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x7da28f12	nvram_check_checksum	drivers/char/nvram	EXPORT_SYMBOL
+0x8387d1d0	i2c_attach_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x1aea7d44	write_dst	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xc5cbfadb	dccp_v4_conn_request	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0x7cfe148a	snd_opl3_create	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x2b11bdcd	snd_opl4_create	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x50f9ce02	relay_file_operations	vmlinux	EXPORT_SYMBOL_GPL
+0x717bb0f7	kobject_uevent_env	vmlinux	EXPORT_SYMBOL_GPL
+0xf49bc67a	atm_pcr_goal	vmlinux	EXPORT_SYMBOL
+0x6b87c69d	ir_codes_iodata_bctv7e	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x87406d9d	nand_correct_data	drivers/mtd/nand/nand_ecc	EXPORT_SYMBOL
+0x44c4ef6d	mb_cache_entry_alloc	fs/mbcache	EXPORT_SYMBOL
+0x4e0805e8	inet6_csk_search_req	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x2e85e391	wait_for_completion_interruptible	vmlinux	EXPORT_SYMBOL
+0xb5b8f16f	filp_close	vmlinux	EXPORT_SYMBOL
+0xb62ca3bf	skb_free_datagram	vmlinux	EXPORT_SYMBOL
+0xf39bf4d9	put_cmsg	vmlinux	EXPORT_SYMBOL
+0xdf697582	pi_read_regr	drivers/block/paride/paride	EXPORT_SYMBOL
+0x75e89cc3	ir_codes_flydvb	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x085466c6	rpc_wake_up_status	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x296b99f2	snd_seq_kernel_client_dispatch	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0xfd486b47	snd_emu10k1_voice_alloc	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0xa69c2c09	sound_class	sound/soundcore	EXPORT_SYMBOL
+0x1c2b6a0f	generic_readlink	vmlinux	EXPORT_SYMBOL
+0x67b27ec1	tty_std_termios	vmlinux	EXPORT_SYMBOL
+0x8d1a827e	svcauth_gss_register_pseudoflavor	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x0e358346	__capable	vmlinux	EXPORT_SYMBOL
+0xdc76cbcb	param_set_bool	vmlinux	EXPORT_SYMBOL
+0x9c18ef4d	__break_lease	vmlinux	EXPORT_SYMBOL
+0xec31509e	elv_dequeue_request	vmlinux	EXPORT_SYMBOL
+0x17b70d45	device_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x2b88187d	ether_setup	vmlinux	EXPORT_SYMBOL
+0x7e6f1307	capi20_get_manufacturer	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x607e1920	saa7134_ts_unregister	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x458c8ac6	usb_deregister_device_driver	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xc8d080c9	usbnet_nway_reset	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x14090044	force_sig	vmlinux	EXPORT_SYMBOL
+0x30c8cb4c	truncate_inode_pages_range	vmlinux	EXPORT_SYMBOL
+0xfa177653	ir_codes_pixelview	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x11b35c6b	i2o_find_iop	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x0b046e4e	ieee80211softmac_fragment_lost	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x50bb76ef	_XTrace	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x7163233a	d_path	vmlinux	EXPORT_SYMBOL
+0x041091a5	highlevel_host_reset	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xfb981300	ir_codes_pinnacle_color	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x584edccf	parport_ieee1284_read_nibble	drivers/parport/parport	EXPORT_SYMBOL
+0x16756dc0	snd_usbmidi_input_start	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0x5cd363d7	fs_subsys	vmlinux	EXPORT_SYMBOL_GPL
+0xee5a11eb	system_bus_clock	vmlinux	EXPORT_SYMBOL
+0xd8c9436f	b1dma_load_firmware	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x9835cc72	alloc_ieee80211softmac	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x7ecf179b	igrab	vmlinux	EXPORT_SYMBOL
+0xda864e95	ide_pci_setup_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x470483be	usbnet_resume	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x8cb99352	hci_free_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x36d7e72e	snd_gf1_pcm_new	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x7c4532a2	snd_emu8000_update_chorus_mode	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x51ccf6eb	sock_recvmsg	vmlinux	EXPORT_SYMBOL
+0xa7d12bfe	per_cpu__softnet_data	vmlinux	EXPORT_SYMBOL
+0x8d780543	rtnl_notify	vmlinux	EXPORT_SYMBOL
+0x4740e7a3	ir_codes_empty	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xdee21590	snd_pcm_open_substream	sound/core/snd-pcm	EXPORT_SYMBOL
+0x3c28dffb	ssb_device_disable	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xb5b9d827	kfifo_alloc	vmlinux	EXPORT_SYMBOL
+0x5ac376a5	acpi_install_fixed_event_handler	vmlinux	EXPORT_SYMBOL
+0x18245922	linkwatch_fire_event	vmlinux	EXPORT_SYMBOL
+0xe833901f	gameport_rescan	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x55908f33	dvb_pll_thomson_fe6600	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x254f230c	nand_calculate_ecc	drivers/mtd/nand/nand_ecc	EXPORT_SYMBOL
+0xc947a027	nf_ct_l3protos	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0f68a92f	snd_device_free	sound/core/snd	EXPORT_SYMBOL
+0xe4ecb465	snd_ac97_update	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x1598dc9d	unregister_netevent_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xac9282d0	GetDiskInfoX	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5eb23e47	set_cr4	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x1d8abedb	hiddev_hid_event	drivers/usb/input/usbhid	EXPORT_SYMBOL_GPL
+0x47f93661	ct_sip_get_info	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xc75f52ff	rpc_queue_upcall	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9f08d2fa	cxiWaitEventWakeupOne	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf61ce1aa	ixj_pcmcia_probe	drivers/telephony/ixj	EXPORT_SYMBOL
+0x60ec3831	usbatm_usb_probe	drivers/usb/atm/usbatm	EXPORT_SYMBOL_GPL
+0x43d91455	snd_pcm_period_elapsed	sound/core/snd-pcm	EXPORT_SYMBOL
+0xa578173b	gpfs_clean	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2a6c585e	pci_bus_read_config_word	vmlinux	EXPORT_SYMBOL
+0x0c2fa520	uart_write_wakeup	vmlinux	EXPORT_SYMBOL
+0x7a33596c	capi20_get_serial	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x8f699913	capilib_release	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xf07533a1	ir_codes_videomate_tv_pvr	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xe0518b35	cxiPathToVfsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x48f1fa49	schedule_delayed_work_on	vmlinux	EXPORT_SYMBOL
+0xc36d17b7	pciserial_suspend_ports	vmlinux	EXPORT_SYMBOL_GPL
+0xbaf59586	skb_append	vmlinux	EXPORT_SYMBOL
+0x2a386384	b1dma_interrupt	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x1d135981	tifm_alloc_device	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xff2699b0	snd_emu10k1_synth_copy_from_user	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x2fe4026e	rtl_ieee80211_softmac_start_protocol	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x6defe48d	cxiBlockingMutexInit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa7ff069c	audit_log_start	vmlinux	EXPORT_SYMBOL
+0x1a883f75	sk_stream_error	vmlinux	EXPORT_SYMBOL
+0x76f70d8b	hpsb_iso_recv_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x2cc8c99a	set_irq_chip	vmlinux	EXPORT_SYMBOL
+0x66355492	sget	vmlinux	EXPORT_SYMBOL
+0x2bc95bd4	memset	vmlinux	EXPORT_SYMBOL
+0xf82f48fc	acpi_os_delete_semaphore	vmlinux	EXPORT_SYMBOL
+0x876dafc3	ec_write	vmlinux	EXPORT_SYMBOL
+0xcf6737e5	ata_dummy_irq_on	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5d19925f	saa7134_boards	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x29ef10ed	blk_queue_max_hw_segments	vmlinux	EXPORT_SYMBOL
+0xac8f0bdb	cdrom_media_changed	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xfd6652c0	hci_send_sco	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xef509d51	nfattr_parse	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x4550ba8a	register_cpu_notifier	vmlinux	EXPORT_SYMBOL
+0x064db9a5	mark_mounts_for_expiry	vmlinux	EXPORT_SYMBOL_GPL
+0x95fde4e4	acpi_os_wait_semaphore	vmlinux	EXPORT_SYMBOL
+0x9857c37e	gs_init_port	drivers/char/generic_serial	EXPORT_SYMBOL
+0x6699a6de	videobuf_dma_free	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x1472b270	tipc_disconnect	net/tipc/tipc	EXPORT_SYMBOL
+0xb61e4557	snd_ak4114_build	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xf3109359	snd_ak4117_build	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x6d340f64	tty_termios_input_baud_rate	vmlinux	EXPORT_SYMBOL
+0xcec760d3	dpm_runtime_resume	vmlinux	EXPORT_SYMBOL
+0x56f9d0e2	register_chrdev	vmlinux	EXPORT_SYMBOL
+0xbdf9b3b5	ps2_drain	vmlinux	EXPORT_SYMBOL
+0xf29f3b0c	unregister_tcf_proto_ops	vmlinux	EXPORT_SYMBOL
+0x7c04d7fe	xfrm_aalg_get_byidx	vmlinux	EXPORT_SYMBOL_GPL
+0x90713d75	unregister_cdrom	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x8421fd71	tpm_show_temp_deactivated	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xe96e8b2e	spi_attach_transport	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x891adbf4	irias_add_integer_attrib	net/irda/irda	EXPORT_SYMBOL
+0x334180bf	idr_get_new_above	vmlinux	EXPORT_SYMBOL
+0x1e609856	acpi_bus_get_status	vmlinux	EXPORT_SYMBOL
+0x1d4e394c	agp3_generic_tlbflush	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x1ea78619	drm_agp_bind	drivers/char/drm/drm	EXPORT_SYMBOL
+0x0ef52aba	cap_capable	security/commoncap	EXPORT_SYMBOL
+0xb85b2bac	vm_stat	vmlinux	EXPORT_SYMBOL
+0x2190029f	__user_walk_fd	vmlinux	EXPORT_SYMBOL
+0x22013361	transport_configure_device	vmlinux	EXPORT_SYMBOL_GPL
+0x27605241	ide_unregister_subdriver	vmlinux	EXPORT_SYMBOL
+0x1cde12a0	nla_put	vmlinux	EXPORT_SYMBOL
+0xaf3dd7dc	scsi_logging_level	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa6bb414c	sound_unload_mididev	sound/oss/sound	EXPORT_SYMBOL
+0x9192c6b0	may_umount_tree	vmlinux	EXPORT_SYMBOL
+0x7bb96d25	block_invalidatepage	vmlinux	EXPORT_SYMBOL
+0x1b74901e	misc_register	vmlinux	EXPORT_SYMBOL
+0x707e31d1	hwrng_register	vmlinux	EXPORT_SYMBOL_GPL
+0x6e26d1ab	ipmi_register_smi	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xfaa0b482	hdlc_setup	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x9dabbad9	register_sound_dsp	sound/soundcore	EXPORT_SYMBOL
+0x56179c5f	mtrr_add	vmlinux	EXPORT_SYMBOL
+0x3b41aa7d	init_timer	vmlinux	EXPORT_SYMBOL
+0x02a1e1ac	devm_ioport_map	vmlinux	EXPORT_SYMBOL
+0xe8580fd9	tty_ldisc_ref	vmlinux	EXPORT_SYMBOL_GPL
+0xbf0f3f7c	dvb_usb_device_init	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x636b12c8	nf_nat_need_gre	net/ipv4/netfilter/nf_nat_proto_gre	EXPORT_SYMBOL_GPL
+0x62a681a3	tipc_portunreturnable	net/tipc/tipc	EXPORT_SYMBOL
+0x02fb5bec	synth_devs	sound/oss/sound	EXPORT_SYMBOL
+0x9f06cd39	synth_done	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xb07dfb3d	acpi_remove_gpe_handler	vmlinux	EXPORT_SYMBOL
+0x652a6e0c	ide_dma_start	vmlinux	EXPORT_SYMBOL_GPL
+0x4e39c011	clip_tbl_hook	vmlinux	EXPORT_SYMBOL
+0xbfee3ad5	loop_unregister_transfer	drivers/block/loop	EXPORT_SYMBOL
+0x420067ac	dccp_sendmsg	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x1699716a	do_generic_mapping_read	vmlinux	EXPORT_SYMBOL
+0xe7b20f8f	pci_restore_state	vmlinux	EXPORT_SYMBOL
+0xda08c0d7	pcibios_get_irq_routing_table	vmlinux	EXPORT_SYMBOL
+0xf83036d8	ethtool_op_set_tso	vmlinux	EXPORT_SYMBOL
+0xdd6f3bff	sata_set_spd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc3880471	xdr_decode_netobj	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf712df5a	inode_set_bytes	vmlinux	EXPORT_SYMBOL
+0x137de2a9	inode_sub_bytes	vmlinux	EXPORT_SYMBOL
+0x3538f810	acpi_bus_trim	vmlinux	EXPORT_SYMBOL_GPL
+0x33d9e71a	register_atm_ioctl	vmlinux	EXPORT_SYMBOL
+0xa8d6daac	iTCO_vendor_pre_start	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0xa35898f2	flexcop_device_initialize	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xf56e8ca6	flexcop_dma_config_timer	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xb41a13d0	NCR_700_detect	drivers/scsi/53c700	EXPORT_SYMBOL
+0xf6b3a2fb	midi_synth_open	sound/oss/sound	EXPORT_SYMBOL
+0xabe77484	securebits	vmlinux	EXPORT_SYMBOL
+0x465a12b0	__create_workqueue	vmlinux	EXPORT_SYMBOL_GPL
+0x722a0a0a	_read_lock	vmlinux	EXPORT_SYMBOL
+0xf679aa94	__dev_get_by_index	vmlinux	EXPORT_SYMBOL
+0x025d66e1	arp_xmit	vmlinux	EXPORT_SYMBOL
+0x928f3cac	agp_enable	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x068207f4	ib_cm_notify	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x8e32454d	videobuf_queue_init	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x481afc98	mdiobus_register	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xb886cd8b	gfs2_unregister_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x195b7d4f	dlmlock	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xd850de08	flush_tlb_page	vmlinux	EXPORT_SYMBOL
+0xe72bafee	pci_proc_attach_device	vmlinux	EXPORT_SYMBOL
+0x0a9fa8ac	__nla_put_nohdr	vmlinux	EXPORT_SYMBOL
+0xbfe2624e	__inet6_lookup_established	vmlinux	EXPORT_SYMBOL
+0x740a3694	capi_ctr_suspend_output	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xedcf6be4	qword_add	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3353c2b1	snd_timer_interrupt	sound/core/snd-timer	EXPORT_SYMBOL
+0x7faa2e10	snd_ad1848_create	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0xc687823d	cxiSafeGetInt	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe6feec6f	cxiSafePutInt	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x91eecf50	ethtool_op_set_tx_csum	vmlinux	EXPORT_SYMBOL
+0xce36ded6	sysctl_tcp_mem	vmlinux	EXPORT_SYMBOL
+0x17df17bc	sysctl_tcp_ecn	vmlinux	EXPORT_SYMBOL
+0x90bd13d6	md_register_thread	drivers/md/md-mod	EXPORT_SYMBOL
+0x2690ec0e	usbnet_probe	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x475e158a	synth_request_region	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x6bb8acd7	do_splice_direct	vmlinux	EXPORT_SYMBOL
+0x216b2b36	alloc_trdev	vmlinux	EXPORT_SYMBOL
+0x88d1da24	inet_hash_connect	vmlinux	EXPORT_SYMBOL_GPL
+0xf4973d1d	inet_csk_accept	vmlinux	EXPORT_SYMBOL
+0xa6ae80b8	ata_scsi_device_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x29d77a71	generic_mii_ioctl	drivers/net/mii	EXPORT_SYMBOL
+0x19f9baab	snd_sbmixer_suspend	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x0baf117e	kfifo_free	vmlinux	EXPORT_SYMBOL
+0xba7d0f15	bitmap_endwrite	drivers/md/md-mod	EXPORT_SYMBOL
+0x6bab04c2	usb_bulk_msg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x62c7144c	bt_accept_dequeue	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x756a3691	platform_device_add_resources	vmlinux	EXPORT_SYMBOL_GPL
+0x4e54f849	xfrm_state_delete_tunnel	vmlinux	EXPORT_SYMBOL
+0x45729c1c	videobuf_mmap_mapper	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x0c1ed672	hdlcdrv_unregister	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0x0d8e787a	acpiphp_register_attention	drivers/pci/hotplug/acpiphp	EXPORT_SYMBOL_GPL
+0x7c8b3ca6	matrox_G100	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0xfddcbfb3	midi_synth_send_sysex	sound/oss/sound	EXPORT_SYMBOL
+0xea065e01	task_handoff_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xb68aed46	user_match	vmlinux	EXPORT_SYMBOL_GPL
+0x03a99c3b	rb_prev	vmlinux	EXPORT_SYMBOL
+0xea5233b0	unregister_framebuffer	vmlinux	EXPORT_SYMBOL
+0x14db3d3c	acpi_unlock_ac_dir	vmlinux	EXPORT_SYMBOL
+0xa19af145	hpsb_register_addrspace	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x1ce29e2d	scsi_rescan_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa39d150a	sas_expander_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xcf9f3328	dlm_release_lockspace	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0x4c3905f6	in6_dev_finish_destroy	net/ipv6/ipv6	EXPORT_SYMBOL
+0xa56be9ba	capi20_register	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x5ca74608	ebt_unregister_target	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xeae3dfd6	__const_udelay	vmlinux	EXPORT_SYMBOL
+0xd0470c98	acpi_evaluate_object	vmlinux	EXPORT_SYMBOL
+0x24eb7e32	leds_list	vmlinux	EXPORT_SYMBOL_GPL
+0x4df6e6de	nf_unregister_queue_handler	vmlinux	EXPORT_SYMBOL
+0xf2a6d2bf	xfrm_policy_count	vmlinux	EXPORT_SYMBOL
+0x9a262204	_csr1212_read_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc045ad4e	timespec_trunc	vmlinux	EXPORT_SYMBOL
+0x1cc6719a	register_reboot_notifier	vmlinux	EXPORT_SYMBOL
+0x7d850612	utf8_mbstowcs	vmlinux	EXPORT_SYMBOL
+0x32e4c2e6	pcie_port_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0x4437a0bd	handle_sysrq	vmlinux	EXPORT_SYMBOL
+0x1373ba63	__ide_pci_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x2530943a	ipmi_smi_msg_received	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x482320ba	capi_ctr_handle_message	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x8c07ab60	snd_ac97_resume	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x3e2ae3a8	acpi_release_global_lock	vmlinux	EXPORT_SYMBOL
+0x2b6aac8c	tcp_sockets_allocated	vmlinux	EXPORT_SYMBOL
+0x51876f77	tpm_show_active	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xdfd28376	b1_detect	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xf5fda9e9	scsi_tgt_queue_command	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0xe7c3b892	dccp_rx_hist_delete	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xdc985bb8	dccp_send_ack	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x30dd8074	cpufreq_driver_getavg	vmlinux	EXPORT_SYMBOL_GPL
+0xbf0cb97e	csr1212_new_directory	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xcf683cf2	saa7146_devices	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xca49ad9e	cx2341x_ext_ctrls	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0x71c1b2c3	scsi_device_quiesce	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf184d189	kernel_power_off	vmlinux	EXPORT_SYMBOL_GPL
+0x454aa44f	gigaset_debuglevel	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xd171f95f	add_mtd_partitions	drivers/mtd/mtdpart	EXPORT_SYMBOL
+0x3ee6b6ef	snd_pcm_hw_param_first	sound/core/snd-pcm	EXPORT_SYMBOL
+0x104c969f	block_commit_write	vmlinux	EXPORT_SYMBOL
+0xd5e669c9	tty_ldisc_ref_wait	vmlinux	EXPORT_SYMBOL_GPL
+0x23e295ba	con_copy_unimap	vmlinux	EXPORT_SYMBOL
+0x48ba15dd	genl_register_ops	vmlinux	EXPORT_SYMBOL
+0x3f3b323a	isac_d_l2l1	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x1e7f8d13	sas_unregister_ha	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x1c6c183b	sas_read_port_mode_page	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xcff83477	ip6t_unregister_table	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0xc4e6a8a2	svc_create_pooled	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2735f819	snd_pcm_new	sound/core/snd-pcm	EXPORT_SYMBOL
+0x8c3a2050	snd_tea6330t_detect	sound/i2c/snd-tea6330t	EXPORT_SYMBOL
+0x871147c5	snd_hda_queue_unsol_event	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xf4b901c5	acpi_lock_ac_dir	vmlinux	EXPORT_SYMBOL
+0x23cf34b8	class_device_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xcd48a670	__netdev_alloc_skb	vmlinux	EXPORT_SYMBOL
+0x98383e25	xfrm_nl	vmlinux	EXPORT_SYMBOL
+0x373d8509	videobuf_dma_sync	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x13fa6069	journal_get_undo_access	fs/jbd/jbd	EXPORT_SYMBOL
+0x02b0cf39	dccp_rx_hist_find_entry	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xc5917399	ircomm_control_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x07a7641d	lapb_setparms	net/lapb/lapb	EXPORT_SYMBOL
+0x015612b7	dput	vmlinux	EXPORT_SYMBOL
+0xbcc6fcaf	fb_set_suspend	vmlinux	EXPORT_SYMBOL
+0x9f4b451d	ide_spin_wait_hwgroup	vmlinux	EXPORT_SYMBOL
+0x3766d94f	nf_ct_invert_tuplepr	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x36bd2ff3	cxiHasMountHelper	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf02de5ba	srcu_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0xf6fb6bd0	nobh_commit_write	vmlinux	EXPORT_SYMBOL
+0x4dc4a17a	screen_glyph	vmlinux	EXPORT_SYMBOL
+0x4b88e224	device_power_up	vmlinux	EXPORT_SYMBOL_GPL
+0xc137578e	tcp_v4_remember_stamp	vmlinux	EXPORT_SYMBOL
+0x58097c98	ata_pci_init_native_mode	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc428068d	sata_deb_timing_long	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5bd26000	rpc_proc_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf7111aa5	rpc_delay	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8aba5a8f	tipc_createport_raw	net/tipc/tipc	EXPORT_SYMBOL
+0x02cd3086	__down_failed_trylock	vmlinux	EXPORT_SYMBOL
+0x5b579b27	sk_free	vmlinux	EXPORT_SYMBOL
+0x5ad04cc5	class_to_transport_session	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x376f3a96	scsi_is_sdev_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4b8dee6d	sleep_on	vmlinux	EXPORT_SYMBOL
+0x3b0e8c89	flush_workqueue	vmlinux	EXPORT_SYMBOL_GPL
+0xaf271b8b	kobject_init	vmlinux	EXPORT_SYMBOL
+0x9c633114	pci_bus_max_busnr	vmlinux	EXPORT_SYMBOL_GPL
+0x0feae9a7	dm_io_put	drivers/md/dm-mod	EXPORT_SYMBOL
+0xa48ef78c	v4l2_norm_to_name	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x3e41a188	parport_set_timeout	drivers/parport/parport	EXPORT_SYMBOL
+0x56428ef1	ieee80211softmac_notify_gfp	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xbdae3fc6	snd_gf1_free_voice	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x2161d5e8	sound_timer_init	sound/oss/sound	EXPORT_SYMBOL
+0xf062b2cb	ieee80211_stop_queue	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x5c862781	getpid	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb642b5a0	simple_lookup	vmlinux	EXPORT_SYMBOL
+0x1184346b	proc_bus	vmlinux	EXPORT_SYMBOL
+0x0fe8c633	key_type_user	vmlinux	EXPORT_SYMBOL_GPL
+0xd74b4585	mpt_suspend	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x8ede9206	parport_read	drivers/parport/parport	EXPORT_SYMBOL
+0xb0faee49	dccp_ioctl	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x06a3ee58	irias_new_integer_value	net/irda/irda	EXPORT_SYMBOL
+0x3c969d4d	dma_async_client_register	vmlinux	EXPORT_SYMBOL
+0xf78d04ab	netlink_register_notifier	vmlinux	EXPORT_SYMBOL
+0x9a43af56	ib_query_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf1e25361	usb_match_id	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL_FUTURE
+0x73b1f76d	do_posix_clock_nosettime	vmlinux	EXPORT_SYMBOL_GPL
+0x8202cd17	unlock_rename	vmlinux	EXPORT_SYMBOL
+0xc280a525	__copy_from_user_ll	vmlinux	EXPORT_SYMBOL
+0x93f31e36	skb_segment	vmlinux	EXPORT_SYMBOL_GPL
+0x08b2b45a	xfrm_policy_insert	vmlinux	EXPORT_SYMBOL
+0x8d12f837	ib_ud_header_pack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe897bbe4	usb_add_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x960f1353	free_task	vmlinux	EXPORT_SYMBOL
+0x51c24f41	simple_rmdir	vmlinux	EXPORT_SYMBOL
+0x60f3ea06	device_create	vmlinux	EXPORT_SYMBOL_GPL
+0x91dee835	tcp_init_congestion_ops	vmlinux	EXPORT_SYMBOL_GPL
+0xb14ce7c8	capi20_put_message	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x0b4a901b	dib7000m_attach	drivers/media/dvb/frontends/dib7000m	EXPORT_SYMBOL
+0xfc0a3f01	dib7000p_attach	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0xfeed7430	i2o_parm_table_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x824f2a99	ip_vs_conn_put	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xfb4d5129	snd_opl3_timer_new	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0xe9381c2d	ata_port_online	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc6f51fa0	drm_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0x3238aa7c	i2c_del_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x5838f6c9	rtc_valid_tm	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x7a93cf4f	scsi_block_requests	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xfbcc22bb	usb_register_driver	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL_FUTURE
+0x8874b79e	x86_cpu_to_apicid	vmlinux	EXPORT_SYMBOL
+0xb7cb6ff3	cdev_alloc	vmlinux	EXPORT_SYMBOL
+0xcd1266e1	__getblk	vmlinux	EXPORT_SYMBOL
+0xe0e24d1c	ata_port_disable	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x87158170	mmc_release_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x233a0974	sas_end_device_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x91cc543c	fat_dir_empty	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x69dbcb1a	irlmp_disconnect_request	net/irda/irda	EXPORT_SYMBOL
+0x751cc044	irttp_disconnect_request	net/irda/irda	EXPORT_SYMBOL
+0xda7f9d3f	tipc_attach	net/tipc/tipc	EXPORT_SYMBOL
+0x99c95fa5	unregister_sound_special	sound/soundcore	EXPORT_SYMBOL
+0x0fad2c04	cxiGetFcntlOwner	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x61c25cbf	vfs_quota_sync	vmlinux	EXPORT_SYMBOL
+0xcf47e392	acpi_get_current_resources	vmlinux	EXPORT_SYMBOL
+0x9748a721	iw_cm_connect	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x4e23d76d	dvb_dmx_swfilter_packets	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x6a419c1a	kxMadvise	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x295075ba	ata_cable_sata	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd0efe320	iTCO_vendor_pre_stop	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x74cc238d	current_kernel_time	vmlinux	EXPORT_SYMBOL
+0x826b02f1	pagevec_lookup_tag	vmlinux	EXPORT_SYMBOL
+0xfdab2b9c	rtc_register	vmlinux	EXPORT_SYMBOL
+0xe726ced5	ipmi_smi_watchdog_pretimeout	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xa8c863c6	cx88_newstation	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x36e00999	z8530_txdma_sync	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xb8275e24	svc_exit_thread	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x65dde8cf	rpc_clnt_sigunmask	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa05cb6c7	locks_copy_lock	vmlinux	EXPORT_SYMBOL
+0x23d0646c	skb_truesize_bug	vmlinux	EXPORT_SYMBOL
+0x5a744b86	netlink_set_nonroot	vmlinux	EXPORT_SYMBOL
+0x12b31a9c	tcp_reno_cong_avoid	vmlinux	EXPORT_SYMBOL_GPL
+0x956e468e	ata_sas_queuecmd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x83761815	gigaset_initcs	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x651527f8	usb_reset_device	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x16526c12	iriap_getvaluebyclass_request	net/irda/irda	EXPORT_SYMBOL
+0x85d44bea	print_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x9120fedf	snd_gf1_peek	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x82afa3af	probe_sbmpu	sound/oss/sb_lib	EXPORT_SYMBOL
+0x22fb45c4	cxiBigFree	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x18158be2	gnet_stats_start_copy_compat	vmlinux	EXPORT_SYMBOL
+0x2752f649	netpoll_poll	vmlinux	EXPORT_SYMBOL
+0x93a64734	FsmChangeState	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xe8431918	transport_remove_device	vmlinux	EXPORT_SYMBOL_GPL
+0x29366614	sock_create_kern	vmlinux	EXPORT_SYMBOL
+0x5179f897	udplite_prot	vmlinux	EXPORT_SYMBOL
+0x173db97b	pcmcia_eject_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x01bcb15f	inet6_del_protocol	net/ipv6/ipv6	EXPORT_SYMBOL
+0x1cadb14b	snd_vx_irq_handler	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x81031ea3	synth_stop_timer	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x44e1f2eb	unregister_security	vmlinux	EXPORT_SYMBOL_GPL
+0xc899f5f6	acpi_evaluate_reference	vmlinux	EXPORT_SYMBOL
+0x2a678a13	__suspend_report_result	vmlinux	EXPORT_SYMBOL_GPL
+0xf152a637	eisa_bus_type	vmlinux	EXPORT_SYMBOL
+0xa51c913b	sound_unload_mixerdev	sound/oss/sound	EXPORT_SYMBOL
+0xe7bee6f8	unload_nls	vmlinux	EXPORT_SYMBOL
+0xb376d79d	radix_tree_tagged	vmlinux	EXPORT_SYMBOL
+0xbe2887af	pci_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x74a122a9	fb_set_cmap	vmlinux	EXPORT_SYMBOL
+0x895f443f	ata_hsm_move	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xee8f4b3f	stop_airo_card	drivers/net/wireless/airo	EXPORT_SYMBOL
+0x53dbeea6	zlib_deflateEnd	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0x0fa30956	snd_rawmidi_transmit_empty	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x90281259	snd_timer_open	sound/core/snd-timer	EXPORT_SYMBOL
+0x87a9b0c8	dquot_free_space	vmlinux	EXPORT_SYMBOL
+0x76bf656d	__bitmap_shift_left	vmlinux	EXPORT_SYMBOL
+0x851eb209	pnp_register_card_driver	vmlinux	EXPORT_SYMBOL
+0xe4ca5b25	serio_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x389d2bb4	kernel_listen	vmlinux	EXPORT_SYMBOL
+0x60905c6f	skb_gso_segment	vmlinux	EXPORT_SYMBOL
+0xf4a8bdaa	dvb_dmx_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x52688d48	ax25_listen_release	net/ax25/ax25	EXPORT_SYMBOL
+0x4bb7a033	sunrpc_cache_update	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2493ac08	tsstat	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xda6f2358	crypto_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x2e60bace	memcpy	vmlinux	EXPORT_SYMBOL
+0x0974546e	ide_dma_enable	vmlinux	EXPORT_SYMBOL
+0x0eecb224	ata_bmdma_stop	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc6e4520f	__scsi_device_lookup	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb3bf89e6	ebt_unregister_table	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xbe9b86a5	ieee80211softmac_clear_pending_work	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x19d2a96a	nat_rtp_rtcp_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x2fcae6c0	gss_mech_get	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x9d43755c	request_resource	vmlinux	EXPORT_SYMBOL
+0xfd8ad56a	cdev_init	vmlinux	EXPORT_SYMBOL
+0x2ce92855	generic_file_splice_write_nolock	vmlinux	EXPORT_SYMBOL
+0x11478d72	bdevname	vmlinux	EXPORT_SYMBOL
+0x478d10b2	ht_destroy_irq	vmlinux	EXPORT_SYMBOL
+0xaa0f3c7d	__ide_dma_lostirq	vmlinux	EXPORT_SYMBOL
+0x83ac0414	ata_std_postreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb57037c3	ib_sa_unregister_client	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x11dc4b6d	bttv_gpio_enable	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x27d6a8b7	spi_release_transport	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x42684a72	ip6t_do_table	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0xd97522fd	rpc_run_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8e4792d8	snd_cs4231_mce_up	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xd29b009f	crc_itu_t_table	ubuntu/misc/crc-itu-t	EXPORT_SYMBOL
+0x7a84f84e	cxiRecordSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xaa52bc27	register_latency_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xc04d7756	class_device_create_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xc47ebb12	inet_getname	vmlinux	EXPORT_SYMBOL
+0xbdf490ec	agp_generic_insert_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xaecb51ba	gameport_start_polling	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x24565047	nand_scan_bbt	drivers/mtd/nand/nand	EXPORT_SYMBOL
+0x0a487ea5	tfrc_calc_x	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x4e9bf540	snd_unregister_oss_device	sound/core/snd	EXPORT_SYMBOL
+0x71db8323	cxiSendSigThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x01d19038	acpi_enable_subsystem	vmlinux	EXPORT_SYMBOL
+0x61a4e7c4	i2c_smbus_write_quick	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x424ba41f	dm_get_mapinfo	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8f3ee646	put_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x73673506	sleep_on_timeout	vmlinux	EXPORT_SYMBOL
+0xff2643c2	iput	vmlinux	EXPORT_SYMBOL
+0x8b0fbf9f	crypto_shoot_alg	vmlinux	EXPORT_SYMBOL_GPL
+0xd26f8daf	pci_disable_pcie_error_reporting	vmlinux	EXPORT_SYMBOL_GPL
+0x896dc3b7	platform_get_resource	vmlinux	EXPORT_SYMBOL_GPL
+0xbd45abe6	dibx000_get_i2c_adapter	drivers/media/dvb/frontends/dibx000_common	EXPORT_SYMBOL
+0xda0a6b0e	acpi_map_lsapic	vmlinux	EXPORT_SYMBOL
+0x34e1b9b2	proc_doulongvec_ms_jiffies_minmax	vmlinux	EXPORT_SYMBOL
+0xdaaa58b4	create_proc_entry	vmlinux	EXPORT_SYMBOL
+0xd38e58a4	input_ff_upload	vmlinux	EXPORT_SYMBOL_GPL
+0x286243b3	hpsb_packet_sent	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd5f067bc	cx88_shutdown	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x5ec92758	iscsi_alloc_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x5a157ae4	nfs4_acl_get_whotype	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x1b9aca3f	jprobe_return	vmlinux	EXPORT_SYMBOL_GPL
+0xf1f54397	simple_set_mnt	vmlinux	EXPORT_SYMBOL
+0x71a50dbc	register_blkdev	vmlinux	EXPORT_SYMBOL
+0xeea9dbaf	bitmap_bitremap	vmlinux	EXPORT_SYMBOL
+0xc07f728e	hpsb_iso_recv_start	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc02f244d	mt352_attach	drivers/media/dvb/frontends/mt352	EXPORT_SYMBOL
+0x7c578f0e	gfs2_unmount_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x59c6d969	key_negate_and_link	vmlinux	EXPORT_SYMBOL
+0x7295bacd	fb_firmware_edid	vmlinux	EXPORT_SYMBOL
+0x811d8f24	neigh_event_ns	vmlinux	EXPORT_SYMBOL
+0x716c072b	nf_conntrack_alter_reply	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x00368557	cxiWaitEventBroadcastRC	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x97e273ff	generic_commit_write	vmlinux	EXPORT_SYMBOL
+0x09775cdc	kref_get	vmlinux	EXPORT_SYMBOL
+0xd08197fa	acpi_load_tables	vmlinux	EXPORT_SYMBOL
+0x5046705b	request_firmware_nowait	vmlinux	EXPORT_SYMBOL
+0xeb169d4b	hpsb_unregister_highlevel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xcb812834	iw_cm_init_qp_attr	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xfa8f296e	iscsi_queuecommand	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xdf3c14de	dlm_new_lockspace	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0xcd37a36f	inode_double_unlock	vmlinux	EXPORT_SYMBOL
+0xff0ee140	inotify_inode_queue_event	vmlinux	EXPORT_SYMBOL_GPL
+0xb2d6a791	ata_std_ports	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x88fc3c4d	i2c_probe	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x81a47317	set_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x0033f78a	pci_disable_msi	vmlinux	EXPORT_SYMBOL
+0xa2f5662c	ethtool_op_get_perm_addr	vmlinux	EXPORT_SYMBOL_GPL
+0x8df68bf6	dst_destroy	vmlinux	EXPORT_SYMBOL
+0x7ca0d45a	z8530_sync_txdma_open	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x5a9f3af9	usbnet_get_drvinfo	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x92bbeca4	journal_errno	fs/jbd/jbd	EXPORT_SYMBOL
+0xa46dc984	_spin_unlock_irqrestore	vmlinux	EXPORT_SYMBOL
+0xda7ca6cb	fb_mode_is_equal	vmlinux	EXPORT_SYMBOL
+0x6bf7bda4	nf_unregister_queue_handlers	vmlinux	EXPORT_SYMBOL_GPL
+0xc10d7e11	kcopyd_client_destroy	drivers/md/dm-mod	EXPORT_SYMBOL
+0xcd8bfc59	videobuf_read_stream	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xfd76507c	hostap_set_roaming	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x9e538b9e	scsi_mode_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x511ad1e9	dlm_lock	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0xca7b1bf7	journal_check_available_features	fs/jbd/jbd	EXPORT_SYMBOL
+0x2586c9e0	svc_wake_up	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2ba1598d	spk_serial_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xd6712715	xfrm_dst_lookup	vmlinux	EXPORT_SYMBOL
+0x26240d63	ib_init_ah_from_wc	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x730fea3e	xfrm4_tunnel_register	net/ipv4/tunnel4	EXPORT_SYMBOL
+0x46d93f28	xfrm6_tunnel_register	net/ipv6/tunnel6	EXPORT_SYMBOL
+0x7249df6c	nf_ct_get_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xff45429f	ssb_clockspeed	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xe15d7d1e	ircomm_open	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x6badfb13	snd_pcm_lib_ioctl	sound/core/snd-pcm	EXPORT_SYMBOL
+0xc6bcec74	get_user_pages	vmlinux	EXPORT_SYMBOL
+0xa8607be0	single_release	vmlinux	EXPORT_SYMBOL
+0x1fed43e0	blk_put_queue	vmlinux	EXPORT_SYMBOL
+0xe93e49c3	devres_free	vmlinux	EXPORT_SYMBOL_GPL
+0x3b3016d3	cpufreq_unregister_notifier	vmlinux	EXPORT_SYMBOL
+0xc3abac5c	dst_alloc	vmlinux	EXPORT_SYMBOL
+0xb8c0019e	ircomm_close	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0xa108eb4d	sysctl_optmem_max	vmlinux	EXPORT_SYMBOL
+0xd0181f4f	__bitmap_xor	vmlinux	EXPORT_SYMBOL
+0xf3341268	__clear_user	vmlinux	EXPORT_SYMBOL
+0x58e2e5c6	cfb_copyarea	vmlinux	EXPORT_SYMBOL
+0xe57878a1	in6_pton	vmlinux	EXPORT_SYMBOL
+0xaccabc6a	in4_pton	vmlinux	EXPORT_SYMBOL
+0xfc5ecebb	dvb_pll_thomson_dtt761x	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xc4fe0bb6	dvb_pll_thomson_dtt7610	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x93415583	scsi_mode_select	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x5d57518f	tipc_reject_msg	net/tipc/tipc	EXPORT_SYMBOL
+0xcd00abc7	snd_ad1848_pcm	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x942bbaac	_XTraceNB	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x2368be6d	posix_acl_to_xattr	vmlinux	EXPORT_SYMBOL
+0x2c691bb3	__dev_remove_pack	vmlinux	EXPORT_SYMBOL
+0xa4188709	video_exclusive_open	drivers/media/video/videodev	EXPORT_SYMBOL
+0xd78db67e	config_group_init	fs/configfs/configfs	EXPORT_SYMBOL
+0xd8de0261	percpu_populate	vmlinux	EXPORT_SYMBOL_GPL
+0x2b168195	iget5_locked	vmlinux	EXPORT_SYMBOL
+0x90a1004a	crypto_has_alg	vmlinux	EXPORT_SYMBOL_GPL
+0x77aed0c4	ide_raw_taskfile	vmlinux	EXPORT_SYMBOL
+0xb0f03a28	tifm_map_sg	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x37931fff	dccp_invalid_packet	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xe23c540d	auth_unix_forget_old	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xd7a9e2f5	dcache_dir_lseek	vmlinux	EXPORT_SYMBOL
+0x13cd24f3	debugfs_create_dir	vmlinux	EXPORT_SYMBOL_GPL
+0x0fbf04c6	user_revoke	vmlinux	EXPORT_SYMBOL
+0xfa703b57	platform_device_register_simple	vmlinux	EXPORT_SYMBOL_GPL
+0xda20bb96	hpsb_bus_reset	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9a7c0880	vp310_mt312_attach	drivers/media/dvb/frontends/mt312	EXPORT_SYMBOL
+0x0cb464d4	mii_check_media	drivers/net/mii	EXPORT_SYMBOL
+0xe4a545cd	z8530_describe	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x9005e685	snd_sbdsp_command	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x1070d2bc	pci_scan_bus_parented	vmlinux	EXPORT_SYMBOL
+0xfcfaa928	acpi_remove_address_space_handler	vmlinux	EXPORT_SYMBOL
+0xce045124	km_waitq	vmlinux	EXPORT_SYMBOL
+0xaa024146	sonet_copy_stats	vmlinux	EXPORT_SYMBOL
+0xe712f0b3	dvb_register_frontend	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x5fa9d608	bttv_sub_unregister	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xbdf53555	mem_map	vmlinux	EXPORT_SYMBOL
+0xc543161e	do_sync_read	vmlinux	EXPORT_SYMBOL
+0xc20f98ce	d_splice_alias	vmlinux	EXPORT_SYMBOL
+0x4ce66c84	dib3000mb_attach	drivers/media/dvb/frontends/dib3000mb	EXPORT_SYMBOL
+0xcda4da37	dib3000mc_attach	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xd38d07b3	ei_open	drivers/net/8390	EXPORT_SYMBOL
+0xba9f3062	ieee80211_is_valid_channel	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x53ff786d	xt_check_match	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x6e86b3f3	inotify_find_watch	vmlinux	EXPORT_SYMBOL_GPL
+0xf8ab06f6	mmc_wait_for_cmd	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x78f9b710	nf_ct_l3proto_try_module_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0080e137	register_sound_midi	sound/soundcore	EXPORT_SYMBOL
+0x67b9b83b	rt2x00lib_reset	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x0d20ceab	cad_pid	vmlinux	EXPORT_SYMBOL
+0xd7ba575e	dlm_errmsg	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x05fa7b9b	rpc_mkpipe	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa20113d8	call_usermodehelper_keys	vmlinux	EXPORT_SYMBOL
+0x7cc64938	agp_put_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa82a8645	o2nm_this_node	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xde7d1aba	ccid_hc_tx_new	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x4b4ff452	ccid_hc_rx_new	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x8367a81a	snd_trident_stop_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0xc868c3fe	atm_proc_root	vmlinux	EXPORT_SYMBOL
+0xe29c3801	irda_task_execute	net/irda/irda	EXPORT_SYMBOL
+0x6399c0c6	snd_component_add	sound/core/snd	EXPORT_SYMBOL
+0xfb6af58d	recalc_sigpending	vmlinux	EXPORT_SYMBOL
+0xf1a8be52	spi_new_device	vmlinux	EXPORT_SYMBOL_GPL
+0x075c5424	netif_receive_skb	vmlinux	EXPORT_SYMBOL
+0x508be74f	alloc_netdev	vmlinux	EXPORT_SYMBOL
+0x0531dcb8	ata_dev_classify	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x94c4fd90	hpsb_alloc_host	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x60285e3c	hostap_set_encryption	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xe6aaf202	journal_update_format	fs/jbd/jbd	EXPORT_SYMBOL
+0x1579c996	cxiUXfer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe20e9744	cxiKXfer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4b3706cc	kxGetShare	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x53450dd7	ip_dev_find	vmlinux	EXPORT_SYMBOL
+0xe2304303	mac_map_monitor_sense	drivers/video/macmodes	EXPORT_SYMBOL
+0xbc9b9ddb	nf_nat_mangle_udp_packet	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x39d7b629	snd_emu8000_init_fm	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x6cbe735e	ac97_set_dac_rate	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x31e76b57	recalibrate_cpu_khz	vmlinux	EXPORT_SYMBOL
+0xa12875a2	path_lookup	vmlinux	EXPORT_SYMBOL
+0x8471e4d8	anon_transport_class_register	vmlinux	EXPORT_SYMBOL_GPL
+0x792aa199	acpi_get_ec_hc	drivers/acpi/i2c_ec	EXPORT_SYMBOL
+0x1c5ba249	ib_rereg_phys_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x67733afc	capi_ctr_reseted	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xe1836073	hostap_80211_rx	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xb51587f6	do_midi_msg	sound/oss/sound	EXPORT_SYMBOL
+0x8b66db50	ip_setsockopt	vmlinux	EXPORT_SYMBOL
+0x4244f206	ip_getsockopt	vmlinux	EXPORT_SYMBOL
+0x447d0b0a	input_ff_create_memless	drivers/input/ff-memless	EXPORT_SYMBOL_GPL
+0x2e31c9b0	nxt6000_attach	drivers/media/dvb/frontends/nxt6000	EXPORT_SYMBOL
+0x3f3c2814	rpcauth_init_credcache	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x33196303	snd_iprintf	sound/core/snd	EXPORT_SYMBOL
+0xceec2705	dma_free_coherent	vmlinux	EXPORT_SYMBOL
+0x208558c6	srcu_read_unlock	vmlinux	EXPORT_SYMBOL_GPL
+0xe01883c3	dentry_open	vmlinux	EXPORT_SYMBOL
+0x5ad85fb1	pnp_request_card_device	vmlinux	EXPORT_SYMBOL
+0x35a0611b	device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x6ad53471	ib_create_cq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x8f19623c	rdma_disconnect	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x7f19a7f5	xdr_shift_buf	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9545af6d	tasklet_init	vmlinux	EXPORT_SYMBOL
+0x422c05d0	acpi_get_data	vmlinux	EXPORT_SYMBOL
+0xfa04cfbc	class_device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x9eadba58	ide_dma_setup	vmlinux	EXPORT_SYMBOL_GPL
+0xb8eef5a9	skb_checksum_help	vmlinux	EXPORT_SYMBOL
+0x355abed9	ata_irq_ack	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x463eb97b	rpc_clnt_sigmask	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x53986488	register_die_notifier	vmlinux	EXPORT_SYMBOL
+0x9241c3ee	device_power_down	vmlinux	EXPORT_SYMBOL_GPL
+0x8cae1101	ib_dealloc_fmr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbd203180	nf_nat_port_nfattr_to_range	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x00a6cecb	nf_nat_setup_info	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xdd186f56	hrtimer_cancel	vmlinux	EXPORT_SYMBOL_GPL
+0x5f9a11da	srcu_readers_active	vmlinux	EXPORT_SYMBOL_GPL
+0xce5ffa08	sock_no_recvmsg	vmlinux	EXPORT_SYMBOL
+0xe3d12696	ata_do_set_mode	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd3b81370	ip6_find_1stfragopt	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x007d5a41	p80211skb_free	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xa395a772	kfifo_init	vmlinux	EXPORT_SYMBOL
+0xef22df29	rdma_set_ib_paths	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x49f450dd	sis_free_new	drivers/video/sis/sisfb	EXPORT_SYMBOL_GPL
+0x2169c199	xt_unregister_matches	net/netfilter/x_tables	EXPORT_SYMBOL
+0xaef743b2	midi_synth_ioctl	sound/oss/sound	EXPORT_SYMBOL
+0xcbb79da8	cxiInvalidatePerm	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6ac8f62d	cxiReinitOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xbcc13e2b	complete	vmlinux	EXPORT_SYMBOL
+0x5f6454c0	downgrade_write	vmlinux	EXPORT_SYMBOL
+0xc9b27289	rtc_control	vmlinux	EXPORT_SYMBOL
+0xb4a6a543	rtnl_set_sk_err	vmlinux	EXPORT_SYMBOL
+0x06f49210	tpm_bios_log_teardown	drivers/char/tpm/tpm_bios	EXPORT_SYMBOL_GPL
+0xbb9bf542	gigaset_shutdown	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xbdf55b3f	cx88_vdev_init	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xe2bb9f6b	usb_hcd_pci_remove	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x07d3647c	irlmp_register_service	net/irda/irda	EXPORT_SYMBOL
+0xbed25c1e	svc_authenticate	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x11a937fa	ata_port_freeze	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6088cbef	ata_bmdma_start	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc915aca8	nsc_gpio_write	drivers/char/nsc_gpio	EXPORT_SYMBOL
+0xbafdf05f	__gameport_register_driver	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xfbeeb3ea	iscsi_block_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xca8dcf78	config_item_init_type_name	fs/configfs/configfs	EXPORT_SYMBOL
+0x3f36db16	snd_hda_bus_new	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x8a7d1c31	high_memory	vmlinux	EXPORT_SYMBOL
+0x8c816aae	hpsb_read_cycle_timer	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc1b6ed38	sync_page_io	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0x82753c2c	scsi_test_unit_ready	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x0291a2b3	snd_pcm_new_stream	sound/core/snd-pcm	EXPORT_SYMBOL
+0x37de740e	snd_ac97_pcm_close	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x3556c745	cxiInitVFS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5c57aa14	cxiInitDMS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x87dad9b8	simple_link	vmlinux	EXPORT_SYMBOL
+0x481cb9ab	acpi_enter_sleep_state_prep	vmlinux	EXPORT_SYMBOL
+0x118184f6	saa7146_pgtable_alloc	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x03165a85	v4l2_ctrl_get_menu	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x1adced57	usb_serial_deregister	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x8659f63b	mempool_create	vmlinux	EXPORT_SYMBOL
+0x306716d4	sysdev_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x7ae1ae8e	cpufreq_frequency_table_put_attr	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x11f752cc	hidinput_find_field	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x7aa2a474	ib_create_fmr_pool	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd89f3ee1	scsi_remove_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb1d67e2c	journal_blocks_per_page	fs/jbd/jbd	EXPORT_SYMBOL
+0xedc03953	iounmap	vmlinux	EXPORT_SYMBOL
+0xa5c5f2b8	send_sig_info	vmlinux	EXPORT_SYMBOL
+0x563952a3	kblockd_schedule_work	vmlinux	EXPORT_SYMBOL
+0xd79b5a02	allow_signal	vmlinux	EXPORT_SYMBOL
+0xd0ee38b8	schedule_timeout_uninterruptible	vmlinux	EXPORT_SYMBOL
+0x3c464f1d	sk_stream_wait_close	vmlinux	EXPORT_SYMBOL
+0xa04ee525	unregister_netdevice	vmlinux	EXPORT_SYMBOL
+0x75612c0c	__neigh_event_send	vmlinux	EXPORT_SYMBOL
+0xdd00b830	snd_gus_initialize	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xa67e4307	kill_anon_super	vmlinux	EXPORT_SYMBOL
+0x92c4dc44	platform_get_irq	vmlinux	EXPORT_SYMBOL_GPL
+0x035c15b8	videobuf_pci_dma_map	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x88a7e9dc	sas_remove_host	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x85b3ea4e	rpc_call_setup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xdc515826	snd_rawmidi_info_select	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x466fac01	snd_timer_global_register	sound/core/snd-timer	EXPORT_SYMBOL
+0x38eb528a	blk_queue_hardsect_size	vmlinux	EXPORT_SYMBOL
+0x33b1d2c0	pci_enable_pcie_error_reporting	vmlinux	EXPORT_SYMBOL_GPL
+0xc0b51566	xfrm4_rcv	vmlinux	EXPORT_SYMBOL
+0xfb56b894	ppp_output_wakeup	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x0f3ce87c	xfrm6_rcv	net/ipv6/ipv6	EXPORT_SYMBOL
+0x390006c3	irlmp_connect_response	net/irda/irda	EXPORT_SYMBOL
+0x07034c22	irttp_connect_response	net/irda/irda	EXPORT_SYMBOL
+0x3ec28949	snd_ac97_update_bits	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x0bd74868	flexcop_dma_free	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xbe8eb0da	matroxfb_g450_setpll_cond	drivers/video/matrox/g450_pll	EXPORT_SYMBOL
+0x7094f8ae	bt_err	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x468ace20	xdr_buf_subsegment	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe6ef0f35	end_that_request_first	vmlinux	EXPORT_SYMBOL
+0xa1f54c8e	driver_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xf543cacc	inet_dgram_connect	vmlinux	EXPORT_SYMBOL
+0xf7fbefa2	kcopyd_client_create	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8a266489	usbvideo_RegisterVideoDevice	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x0cfbb199	phy_connect	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x683a3221	param_set_copystring	vmlinux	EXPORT_SYMBOL
+0xd0872872	relay_open	vmlinux	EXPORT_SYMBOL_GPL
+0x74501641	kobject_put	vmlinux	EXPORT_SYMBOL
+0x82f37d55	kobject_get	vmlinux	EXPORT_SYMBOL
+0x74705cc3	ata_dummy_irq_ack	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe3cd9b5c	saa7146_debug	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x5ebefe4b	v4l_printk_ioctl	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x001b8bbf	iscsi_unblock_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xf48b0463	synth_write_msg	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x06872ff0	relay_close	vmlinux	EXPORT_SYMBOL_GPL
+0xfc39e32f	ioport_unmap	vmlinux	EXPORT_SYMBOL
+0x21d6f32a	video_exclusive_release	drivers/media/video/videodev	EXPORT_SYMBOL
+0xc20a2d91	cfi_read_pri	drivers/mtd/chips/cfi_util	EXPORT_SYMBOL
+0xd7cee05d	d_validate	vmlinux	EXPORT_SYMBOL
+0x86034cf8	dq_data_lock	vmlinux	EXPORT_SYMBOL
+0xff855922	ib_copy_path_rec_from_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0xd4d11fb3	detach_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x1d50ab22	usb_reset_configuration	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xea558f29	matroxfb_vgaHWrestore	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x44f6ded5	ircomm_data_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x7e8b27d3	nf_conntrack_chain	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xed788cd2	fasync_helper	vmlinux	EXPORT_SYMBOL
+0xc256e762	__bitmap_equal	vmlinux	EXPORT_SYMBOL
+0xd32a65e8	__init_rwsem	vmlinux	EXPORT_SYMBOL
+0x8ab7ffea	genl_register_family	vmlinux	EXPORT_SYMBOL
+0x690b2432	ib_cm_listen	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x42dc240b	i2o_msg_get_wait	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x454a3cf0	sis_free	drivers/video/sis/sisfb	EXPORT_SYMBOL
+0xc6162216	snd_ak4114_check_rate_and_errors	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xb76279ce	snd_ak4117_check_rate_and_errors	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x2fa5d84b	cxiBreakOplock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2cf2c97f	locks_mandatory_area	vmlinux	EXPORT_SYMBOL
+0x3f238101	dcookie_register	vmlinux	EXPORT_SYMBOL_GPL
+0x02d57d92	tpm_show_owned	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x7f6bcbdf	hpsb_selfid_received	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb75456ea	dvb_ringbuffer_write	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x6ce5583f	dibusb_dib3000mc_frontend_attach	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xcd2ac1c1	pccard_parse_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x2cb2574d	snd_emu8000_update_equalizer	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0xc4884969	sb_dsp_unload	sound/oss/sb_lib	EXPORT_SYMBOL
+0x3880e38c	cxiMapDiscontiguousRW	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe9314b1c	getVp	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0acb1a3c	__bitmap_shift_right	vmlinux	EXPORT_SYMBOL
+0x94e0bd1c	ethtool_op_set_ufo	vmlinux	EXPORT_SYMBOL
+0x154273eb	tcf_exts_dump_stats	vmlinux	EXPORT_SYMBOL
+0x8598a4bb	inet_twsk_deschedule	vmlinux	EXPORT_SYMBOL
+0x9266e749	amd756_smbus	drivers/i2c/busses/i2c-amd756	EXPORT_SYMBOL
+0x14f2aa5a	capi20_get_version	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xf84467b0	sas_port_add	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xd0a7299f	xt_table_unlock	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xe97d36b7	cxiCheckOpen	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x054e550b	kernel_halt	vmlinux	EXPORT_SYMBOL_GPL
+0x7b04cc91	mempool_destroy	vmlinux	EXPORT_SYMBOL
+0x23fd3028	vmalloc_node	vmlinux	EXPORT_SYMBOL
+0xb89af9bf	srandom32	vmlinux	EXPORT_SYMBOL
+0x31acf5a1	inet_register_protosw	vmlinux	EXPORT_SYMBOL
+0xec8d18cf	hpsb_disable_irm	drivers/ieee1394/ieee1394	EXPORT_SYMBOL_GPL
+0x6c9c3880	cx88_call_i2c_clients	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x20dbd7e0	nfs4_acl_new	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x792da560	irda_device_dongle_cleanup	net/irda/irda	EXPORT_SYMBOL
+0xc7414d7d	kxGetDelegation	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5301f926	set_binfmt	vmlinux	EXPORT_SYMBOL
+0xe09c4214	netpoll_cleanup	vmlinux	EXPORT_SYMBOL
+0xfc4f77e5	iw_destroy_cm_id	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x320440dd	scsi_ioctl	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xdb1b42d1	xfrm6_tunnel_spi_lookup	net/ipv6/xfrm6_tunnel	EXPORT_SYMBOL
+0x4babf1d4	snd_pcm_sgbuf_ops_page	sound/core/snd-pcm	EXPORT_SYMBOL
+0x8261ad63	do_synth_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x5d2c35bc	elv_rb_find	vmlinux	EXPORT_SYMBOL
+0x81897dbd	__first_cpu	vmlinux	EXPORT_SYMBOL
+0x3acaa0ce	spi_unregister_master	vmlinux	EXPORT_SYMBOL_GPL
+0x62988f31	km_policy_expired	vmlinux	EXPORT_SYMBOL
+0x264514a6	pi_release	drivers/block/paride/paride	EXPORT_SYMBOL
+0xc58e466e	mac_find_mode	drivers/video/macmodes	EXPORT_SYMBOL
+0xc722e5cb	reqsk_queue_destroy	vmlinux	EXPORT_SYMBOL
+0xaf0aed2d	dvb_pll_tua6034	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x13895930	dvb_pll_tda665x	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x1826da56	cap_ptrace	security/commoncap	EXPORT_SYMBOL
+0xe5867808	dlci_ioctl_set	vmlinux	EXPORT_SYMBOL
+0x2811ccf2	alloc_hippi_dev	vmlinux	EXPORT_SYMBOL
+0xe17e654a	drm_vbl_send_signals	drivers/char/drm/drm	EXPORT_SYMBOL
+0x1ee629e2	isdnhdlc_rcv_init	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0x5630960a	snd_seq_kernel_client_write_poll	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x81a2d3f2	kobject_unregister	vmlinux	EXPORT_SYMBOL
+0xbf8b39e9	isapnp_present	vmlinux	EXPORT_SYMBOL
+0x2382d3b1	ib_redirect_mad_qp	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x526aab58	rdma_init_qp_attr	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x3caa5149	scsi_print_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xed015899	scsi_report_device_reset	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf586be1c	__rpc_wait_for_completion_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc3f463f8	snd_gf1_mem_alloc	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x9558704d	register_sound_mixer	sound/soundcore	EXPORT_SYMBOL
+0x4468b438	page_symlink_inode_operations	vmlinux	EXPORT_SYMBOL
+0x6c10037a	ata_scsi_device_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x4ad04635	mptscsih_bus_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xddd21cd7	cpci_hp_unregister_controller	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x7fbbe5e3	usb_submit_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x6d1360e3	async_wrap_skb	net/irda/irda	EXPORT_SYMBOL
+0x35c2ba9e	refrigerator	vmlinux	EXPORT_SYMBOL
+0xe7ead430	vunmap	vmlinux	EXPORT_SYMBOL
+0x83b17a79	hpsb_make_streampacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x1cb231d0	mlog_not_bits	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xe5c78a99	do_blank_screen	vmlinux	EXPORT_SYMBOL
+0xa23f7d57	xfrm_policy_alloc	vmlinux	EXPORT_SYMBOL
+0x7070f426	iw_cm_disconnect	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x800e9a8c	ieee80211_crypt_deinit_entries	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xe6bf4c12	nf_conntrack_l4proto_tcp6	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xad42cca9	snd_seq_device_new	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0x00cbafb3	cxiAllocSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2d5ea61e	cxiCheckProductVersion	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb90bf86a	set_page_dirty_lock	vmlinux	EXPORT_SYMBOL
+0x9b450b80	emulate_instruction	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xb5847b28	dvb_dmx_swfilter	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x14d97760	dlm_unlock	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0x6519478d	hci_conn_change_link_key	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x31a473f0	irda_device_dongle_init	net/irda/irda	EXPORT_SYMBOL
+0x264aed06	snd_seq_create_kernel_client	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x56a7e369	tcp_v4_conn_request	vmlinux	EXPORT_SYMBOL
+0x649e5cc7	ata_port_abort	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2e9121c3	ata_sas_port_alloc	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x35de5fe5	cpufreq_frequency_table_cpuinfo	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x3cdec714	get_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x8bc54bd2	usb_get_descriptor	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xa389e51b	kmem_cache_shrink	vmlinux	EXPORT_SYMBOL
+0x52b3f172	tcp_v4_syn_recv_sock	vmlinux	EXPORT_SYMBOL
+0xe3c02d28	agp_find_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xb896aecd	hpsb_iso_recv_release_packets	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf34396f0	usb_put_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xe2675a79	sound_timer_interrupt	sound/oss/sound	EXPORT_SYMBOL
+0xcb733bf2	acpi_bus_set_power	vmlinux	EXPORT_SYMBOL
+0x7389c9a8	acpi_bus_get_power	vmlinux	EXPORT_SYMBOL
+0xc998d641	icmp_err_convert	vmlinux	EXPORT_SYMBOL
+0xde0cf0b1	gs_block_til_ready	drivers/char/generic_serial	EXPORT_SYMBOL
+0x805e6f1c	gigaset_fill_inbuf	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xec657db6	mii_check_link	drivers/net/mii	EXPORT_SYMBOL
+0x3af2e370	scsi_tgt_alloc_queue	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x03d9eb4d	synth_buff_out	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x64753327	rtl_ieee80211_wx_get_power	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x10c14268	rtl_ieee80211_wx_set_power	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x2b3c29ca	fd_install	vmlinux	EXPORT_SYMBOL
+0xe9e7fe34	dma_async_memcpy_complete	vmlinux	EXPORT_SYMBOL
+0x056fde6d	tcp_hashinfo	vmlinux	EXPORT_SYMBOL
+0xd5f4df6c	ib_alloc_mw	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x83f47a43	scsi_unregister	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x71fe752c	snd_i2c_readbytes	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0xa70fabbe	release_evntsel_nmi	vmlinux	EXPORT_SYMBOL
+0x87754115	raw_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0x3ce4ca6f	disable_irq	vmlinux	EXPORT_SYMBOL
+0x9c941146	blk_init_tags	vmlinux	EXPORT_SYMBOL
+0xcbf7b99d	__ide_dma_good_drive	vmlinux	EXPORT_SYMBOL
+0x00d3dc68	parport_release	drivers/parport/parport	EXPORT_SYMBOL
+0xa0ddd488	scsi_internal_device_unblock	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xceb98c60	nf_nat_packet	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x0d08d6d1	nf_nat_used_tuple	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x09aeaf8c	out_of_line_wait_on_bit	vmlinux	EXPORT_SYMBOL
+0x4fa7e4e6	sysfs_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x267a3359	cdrom_get_media_event	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x8337ec08	pcmcia_get_configuration_info	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x4157418a	iscsi_eh_host_reset	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x404e23e5	scsi_host_alloc	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x483606ff	usb_ftdi_elan_edset_input	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x3ee65c52	snd_midi_event_decode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0xfcae55f9	cxiVFSToFlock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x31b249ba	vfs_set_dqblk	vmlinux	EXPORT_SYMBOL
+0x1889021e	vfs_get_dqblk	vmlinux	EXPORT_SYMBOL
+0xd4abc567	invalidate_partition	vmlinux	EXPORT_SYMBOL
+0xaa2a72bf	__iowrite64_copy	vmlinux	EXPORT_SYMBOL_GPL
+0x34900e3b	drm_irq_uninstall	drivers/char/drm/drm	EXPORT_SYMBOL
+0x0779574b	video_register_device	drivers/media/video/videodev	EXPORT_SYMBOL
+0xba26c1b8	fc_remote_port_delete	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x56b86c78	register_wan_device	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0xda5faa35	pciserial_resume_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x46910e18	pciserial_remove_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x3686ea09	spi_print_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x0b1beb31	vmalloc_32_user	vmlinux	EXPORT_SYMBOL
+0xbffc8fee	com20020_found	drivers/net/arcnet/com20020	EXPORT_SYMBOL
+0x2b3dbc9b	xt_proto_init	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x9eecde16	do_brk	vmlinux	EXPORT_SYMBOL
+0x2d52b5a8	pci_get_subsys	vmlinux	EXPORT_SYMBOL
+0xc673e23e	ata_scsi_change_queue_depth	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6f8fbc23	ipmi_set_my_LUN	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xe28e5bba	generic_permission	vmlinux	EXPORT_SYMBOL
+0xf0fc9374	ir_codes_avermedia	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x25e649f2	nf_ct_log_invalid	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6a842e67	pci_test_config_bits	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xda67bd07	cx8802_get_device	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xf27ba709	hostap_set_hostapd	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xb72ff6cc	cxiXmemXfer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x573d324f	i8253_lock	vmlinux	EXPORT_SYMBOL
+0xff83b2bf	atomic_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x76430786	_spin_unlock	vmlinux	EXPORT_SYMBOL
+0x9d1097fb	pci_find_next_bus	vmlinux	EXPORT_SYMBOL
+0xf62035e0	pci_proc_detach_bus	vmlinux	EXPORT_SYMBOL
+0x39d13ddf	uart_get_baud_rate	vmlinux	EXPORT_SYMBOL
+0x4d2b1719	i2c_isa_del_driver	drivers/i2c/busses/i2c-isa	EXPORT_SYMBOL
+0x0c4d2a11	iriap_open	net/irda/irda	EXPORT_SYMBOL
+0xdbb00dc6	irlap_open	net/irda/irda	EXPORT_SYMBOL
+0x407e9bc3	snd_ctl_notify	sound/core/snd	EXPORT_SYMBOL
+0x83cbeea8	set_user_nice	vmlinux	EXPORT_SYMBOL
+0xc71c03fa	secpath_dup	vmlinux	EXPORT_SYMBOL
+0xd1dccc4e	tifm_alloc_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x523417a8	hostap_init_proc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xdcb8b98c	usbnet_disconnect	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xe9d1c59d	ieee80211_wx_get_auth	net/ieee80211/ieee80211	EXPORT_SYMBOL_GPL
+0x09c72e00	ieee80211_wx_set_auth	net/ieee80211/ieee80211	EXPORT_SYMBOL_GPL
+0x54cb15ff	iriap_close	net/irda/irda	EXPORT_SYMBOL
+0x675ede2c	irlap_close	net/irda/irda	EXPORT_SYMBOL
+0x2fdf2e43	snd_pcm_hw_constraint_step	sound/core/snd-pcm	EXPORT_SYMBOL
+0x92445aee	hrtimer_get_res	vmlinux	EXPORT_SYMBOL_GPL
+0x0e181f01	mca_device_transform_irq	vmlinux	EXPORT_SYMBOL
+0x9d699de2	ib_modify_port	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xc5bc1414	w1_register_family	drivers/w1/wire	EXPORT_SYMBOL
+0x75a9f4dd	gss_pseudoflavor_to_service	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x0db1ee4b	ieee80211_radar_status	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xe65923f9	cxiOpenNFS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xbf414779	simple_transaction_release	vmlinux	EXPORT_SYMBOL
+0x89808c96	unlock_buffer	vmlinux	EXPORT_SYMBOL
+0x69f08f70	fb_find_mode	vmlinux	EXPORT_SYMBOL
+0xbe428679	sock_setsockopt	vmlinux	EXPORT_SYMBOL
+0x37ff7855	nf_conntrack_register_cache	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe6e83698	nf_conntrack_l4proto_unregister	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x652cbc13	nf_conntrack_l3proto_unregister	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbfca56f7	nf_nat_pptp_hook_inbound	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x7ecb001b	__per_cpu_offset	vmlinux	EXPORT_SYMBOL
+0x821a0545	qdisc_put_rtab	vmlinux	EXPORT_SYMBOL
+0x7ade34bd	sas_queuecommand	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x7a0b13cd	tty_wakeup	vmlinux	EXPORT_SYMBOL_GPL
+0x429df35c	proto_register	vmlinux	EXPORT_SYMBOL
+0x1e4809ea	drm_exit	drivers/char/drm/drm	EXPORT_SYMBOL
+0x52064559	tpm_show_enabled	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x02c87454	rtc_irq_unregister	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x3d98cf73	set_sig_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0xf0c7cc95	down_read	vmlinux	EXPORT_SYMBOL
+0xa08eb2bb	flexcop_wan_set_speed	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xc5ff8494	snd_sbmixer_read	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x9b21d6c3	cxiKibdPinmm	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf46067fb	kernel_subsys	vmlinux	EXPORT_SYMBOL_GPL
+0x31acd5f2	d_lookup	vmlinux	EXPORT_SYMBOL
+0x21909f7d	posix_acl_permission	vmlinux	EXPORT_SYMBOL
+0xfb633c0f	blk_queue_softirq_done	vmlinux	EXPORT_SYMBOL
+0xd9a23b59	dmam_free_coherent	vmlinux	EXPORT_SYMBOL
+0xa750e01e	transport_setup_device	vmlinux	EXPORT_SYMBOL_GPL
+0x612f05f7	skb_copy_expand	vmlinux	EXPORT_SYMBOL
+0x981026f6	km_report	vmlinux	EXPORT_SYMBOL
+0x51a74630	v4l_compat_translate_ioctl	drivers/media/video/v4l1-compat	EXPORT_SYMBOL
+0xabd0c91c	rtc_time_to_tm	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x35aa5883	sas_phy_reset	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xce35f9da	cxiCheckThreadState	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x16bd3948	sys_read	vmlinux	EXPORT_SYMBOL_GPL
+0x14b65430	pci_iomap	vmlinux	EXPORT_SYMBOL
+0x80b07100	ib_reg_phys_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x90edffff	b1dma_reset	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x7c20763e	pcmcia_put_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xadbd87d9	pcmcia_get_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xf811e69d	scsi_eh_flush_done_q	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x372390b2	cap_task_post_setuid	security/commoncap	EXPORT_SYMBOL
+0xe9abc331	snd_cs4231_timer	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x3762cb6e	ioremap_nocache	vmlinux	EXPORT_SYMBOL
+0x6ea29b35	percpu_counter_sum	vmlinux	EXPORT_SYMBOL
+0x5bb9fc08	serio_unregister_port	vmlinux	EXPORT_SYMBOL
+0x7c46233a	cpufreq_quick_get	vmlinux	EXPORT_SYMBOL
+0x984a82cc	dm_io_sync	drivers/md/dm-mod	EXPORT_SYMBOL
+0x1bb3671e	nfs4_acl_add_ace	fs/nfsd/nfsd	EXPORT_SYMBOL
+0xea858cb5	radix_tree_gang_lookup_tag	vmlinux	EXPORT_SYMBOL
+0x8a6243e6	klist_add_head	vmlinux	EXPORT_SYMBOL_GPL
+0xc1fea0c1	ir_codes_pv951	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6538f079	dvb_ringbuffer_read	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x35fd5387	scsi_remove_host	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x68a24153	snd_pcm_format_physical_width	sound/core/snd-pcm	EXPORT_SYMBOL
+0x041b456d	sync_dirty_buffer	vmlinux	EXPORT_SYMBOL
+0x4060635b	devm_ioremap_nocache	vmlinux	EXPORT_SYMBOL
+0xc722d3cc	dvb_pll_attach	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x1b6218c4	scsi_is_host_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x9b160517	pci_remove_bus_device	vmlinux	EXPORT_SYMBOL
+0xb5ba056a	netlink_has_listeners	vmlinux	EXPORT_SYMBOL_GPL
+0xec232f48	tcp_reno_ssthresh	vmlinux	EXPORT_SYMBOL_GPL
+0x387e5da1	edac_mc_add_mc	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x4de7243d	ib_fmr_pool_map_phys	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x878ea212	matroxfb_g450_setclk	drivers/video/matrox/g450_pll	EXPORT_SYMBOL
+0x34cbaf33	ebt_register_table	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x24880cac	cxiPathRel	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x69fe8f39	inode_init_once	vmlinux	EXPORT_SYMBOL
+0x41ca806c	add_disk_randomness	vmlinux	EXPORT_SYMBOL
+0xe1df1e5f	sysctl_tcp_tso_win_divisor	vmlinux	EXPORT_SYMBOL
+0x1e5198bd	atm_init_aal5	vmlinux	EXPORT_SYMBOL
+0xdd6a3bd6	unmap_page_from_agp	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0xe58d39a0	rdma_resolve_route	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x97b64c91	usb_alloc_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x82da2ae9	__snd_util_memblk_new	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0xb26d5426	scsi_cmd_ioctl	vmlinux	EXPORT_SYMBOL
+0x4d04f160	device_move	vmlinux	EXPORT_SYMBOL_GPL
+0x716a9b6e	alloc_arcdev	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xd99c524f	pcmcia_suspend_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xa7206360	nf_ip6_checksum	net/ipv6/ipv6	EXPORT_SYMBOL
+0x9e887eaa	neigh_seq_stop	vmlinux	EXPORT_SYMBOL
+0xa0278021	drm_core_ioremapfree	drivers/char/drm/drm	EXPORT_SYMBOL
+0xbd9ca87b	async_unwrap_char	net/irda/irda	EXPORT_SYMBOL
+0x84cac4ba	blocking_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x5dbb084f	fb_prepare_logo	vmlinux	EXPORT_SYMBOL
+0x46621493	acpi_specific_hotkey_enabled	vmlinux	EXPORT_SYMBOL
+0x62049256	acpi_disable	vmlinux	EXPORT_SYMBOL
+0xd834efc3	pnp_device_attach	vmlinux	EXPORT_SYMBOL
+0xaeb7451e	ax25_defaddr	net/ax25/ax25	EXPORT_SYMBOL_GPL
+0x6cfe4465	sysfs_create_link	vmlinux	EXPORT_SYMBOL_GPL
+0xeb35eb27	blk_insert_request	vmlinux	EXPORT_SYMBOL
+0x6906244b	blk_stop_queue	vmlinux	EXPORT_SYMBOL
+0xb9fc1c25	blk_queue_segment_boundary	vmlinux	EXPORT_SYMBOL
+0x9e38be2c	attribute_container_register	vmlinux	EXPORT_SYMBOL_GPL
+0xe4b88a28	neigh_table_init	vmlinux	EXPORT_SYMBOL
+0x9d7abf7b	ata_noop_dev_select	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6a163b20	gigaset_add_event	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x918e62a0	cx88_core_irq	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x52fab0ed	mmc_register_driver	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xb34d4c2e	acpi_terminate	vmlinux	EXPORT_SYMBOL
+0x611d61a7	ide_init_drive_cmd	vmlinux	EXPORT_SYMBOL
+0x8bb2d3f8	ipmi_free_recv_msg	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x7a3383b9	add_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0xa7cfe272	svc_set_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xb4ece8a9	seq_release	vmlinux	EXPORT_SYMBOL
+0x62fdd480	pcim_iomap_table	vmlinux	EXPORT_SYMBOL
+0x682ceab9	ethtool_op_set_sg	vmlinux	EXPORT_SYMBOL
+0xf95c6870	journal_revoke	fs/jbd/jbd	EXPORT_SYMBOL
+0xe97f4ce5	qword_get	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2d48011d	snd_pcm_lib_preallocate_pages_for_all	sound/core/snd-pcm	EXPORT_SYMBOL
+0xba7dd041	midi_synth_bender	sound/oss/sound	EXPORT_SYMBOL
+0x3a07db6d	hidinput_disconnect	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0xa7c4fd6c	capi_message2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x7b291b5a	parport_register_driver	drivers/parport/parport	EXPORT_SYMBOL
+0xa9ccf3e4	ieee80211softmac_wx_get_wap	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xd6b33026	cpu_khz	vmlinux	EXPORT_SYMBOL
+0xf6e0e400	_read_trylock	vmlinux	EXPORT_SYMBOL
+0x6f29f1ce	sysfs_create_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0x2e0b68b8	elv_rb_latter_request	vmlinux	EXPORT_SYMBOL
+0x44ef527b	__blk_put_request	vmlinux	EXPORT_SYMBOL_GPL
+0xd6feefa5	agp_num_entries	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x53251df6	onenand_release	drivers/mtd/onenand/onenand	EXPORT_SYMBOL_GPL
+0xcc1fb551	baswap	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x557bfb23	rtl_ieee80211_wx_set_freq	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x50d82ea0	rtl_ieee80211_wx_get_freq	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x2db717fe	up_write	vmlinux	EXPORT_SYMBOL
+0xf12a45ea	blk_init_queue_node	vmlinux	EXPORT_SYMBOL
+0xc7148304	acpi_get_physical_device	vmlinux	EXPORT_SYMBOL
+0x6cdc5c6b	nla_strlcpy	vmlinux	EXPORT_SYMBOL
+0x561f186a	xfrm_state_unregister_afinfo	vmlinux	EXPORT_SYMBOL
+0x361f1ac9	klist_init	vmlinux	EXPORT_SYMBOL_GPL
+0xf930f094	dm_noflush_suspending	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0xcc9fb9cb	dccp_destroy_sock	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x56504ca2	midi_synth_reset	sound/oss/sound	EXPORT_SYMBOL
+0xb245cde6	fget	vmlinux	EXPORT_SYMBOL
+0xd197c06d	free_buffer_head	vmlinux	EXPORT_SYMBOL
+0xa3f9bf72	cpufreq_cpu_put	vmlinux	EXPORT_SYMBOL_GPL
+0xc2e5b6e7	cpufreq_cpu_get	vmlinux	EXPORT_SYMBOL_GPL
+0xa63d85ab	slhc_remember	drivers/net/slhc	EXPORT_SYMBOL
+0x75a61f8b	scsi_target_block	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x0076fe1f	auth_domain_put	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x828cb8cf	snd_rawmidi_kernel_open	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xbd07655e	ide_config_drive_speed	vmlinux	EXPORT_SYMBOL
+0x12a2c7cf	phy_sanitize_settings	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xfdb610fd	iscsi_complete_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x9a499576	phone_register_device	drivers/telephony/phonedev	EXPORT_SYMBOL
+0x6623214f	down_write	vmlinux	EXPORT_SYMBOL
+0x1e9fb789	vmtruncate	vmlinux	EXPORT_SYMBOL
+0x86e9acae	match_token	vmlinux	EXPORT_SYMBOL
+0x706b3a33	cpufreq_frequency_table_get_attr	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0xa99b123f	b1_free_card	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xccb9608d	rdc_8820_reset	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x0714f0c3	flush_signals	vmlinux	EXPORT_SYMBOL
+0xd84d1116	kill_block_super	vmlinux	EXPORT_SYMBOL
+0xcf00684f	posix_test_lock	vmlinux	EXPORT_SYMBOL
+0xda6704d3	pnp_resource_change	vmlinux	EXPORT_SYMBOL
+0x95c95e3f	ip_route_output_flow	vmlinux	EXPORT_SYMBOL_GPL
+0x0fbb4b63	FsmDelTimer	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x13d80488	dibusb_power_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x26c64c00	videocodec_unregister	drivers/media/video/videocodec	EXPORT_SYMBOL
+0x13a0adce	snd_gf1_i_write8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x094ffe96	kernel_sock_ioctl	vmlinux	EXPORT_SYMBOL
+0x14f7daf9	kernel_setsockopt	vmlinux	EXPORT_SYMBOL
+0x960b0214	kernel_getsockopt	vmlinux	EXPORT_SYMBOL
+0x1b540fe8	neigh_lookup_nodev	vmlinux	EXPORT_SYMBOL
+0x8a061d28	pccard_register_pcmcia	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x5beb90b6	mb_cache_entry_insert	fs/mbcache	EXPORT_SYMBOL
+0x8ffdb3b8	crc16	lib/crc16	EXPORT_SYMBOL
+0x81613af1	ccid_hc_tx_delete	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x2969f1ba	ccid_hc_rx_delete	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x1c822e02	nf_ct_remove_expectations	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0141192c	blk_put_request	vmlinux	EXPORT_SYMBOL
+0x65f6ad02	pnp_init_resource_table	vmlinux	EXPORT_SYMBOL
+0x1911af0a	nfnetlink_unicast	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xffd69112	snd_mixer_oss_ioctl_card	sound/core/oss/snd-mixer-oss	EXPORT_SYMBOL
+0x5b7eec2c	cdrom_mode_select	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xb931ae53	dibusb2_0_streaming_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xfb961b1c	snd_es1688_create	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0xbe66740d	rt2x00lib_detect_channel_time	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xac7eb84c	switch_ipi_to_APIC_timer	vmlinux	EXPORT_SYMBOL
+0x9f522caa	mapping_tagged	vmlinux	EXPORT_SYMBOL
+0xce04542a	sock_queue_rcv_skb	vmlinux	EXPORT_SYMBOL
+0x2c5015a6	ata_port_schedule_eh	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5a8ea986	mmc_claim_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xe57d5245	matroxfb_vgaHWinit	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x6aff5c35	nf_conntrack_in	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x44f759a8	snd_pcm_lib_preallocate_free_for_all	sound/core/snd-pcm	EXPORT_SYMBOL
+0x5c39a0d7	module_add_driver	vmlinux	EXPORT_SYMBOL
+0xf93f6169	put_disk	vmlinux	EXPORT_SYMBOL
+0xf6bb4729	color_table	vmlinux	EXPORT_SYMBOL
+0x3fc68ddc	serio_interrupt	vmlinux	EXPORT_SYMBOL
+0x7120da58	dma_async_client_chan_request	vmlinux	EXPORT_SYMBOL
+0x8f0ffd46	cx88_risc_stopper	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x136a6347	aarp_send_ddp	net/appletalk/appletalk	EXPORT_SYMBOL
+0x6811e546	rpc_setbufsize	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x96984530	sound_install_mixer	sound/oss/sound	EXPORT_SYMBOL
+0xf1ea8a20	midi_synth_aftertouch	sound/oss/sound	EXPORT_SYMBOL
+0x5db6aad1	p54_rx	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x9b464aac	cxiFreeSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0085a44c	spi_sync	vmlinux	EXPORT_SYMBOL_GPL
+0xcdd361c3	nf_conntrack_unexpect_related	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6d4cd3d0	auth_unix_add_addr	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3d846434	proc_root_fs	vmlinux	EXPORT_SYMBOL
+0xb37ab086	ohci1394_init_iso_tasklet	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0x4f8b81a0	flexcop_dump_reg	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x67a81cf6	sppp_detach	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x08cae787	ieee80211_wx_get_scan	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xbef43296	console_conditional_schedule	vmlinux	EXPORT_SYMBOL
+0x75cbb20e	bus_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x846b8a62	ata_pata_acpi_handle	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5235efae	dst_pio_disable	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x3abcbf80	hostap_dump_tx_header	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x27a069d6	hostap_dump_rx_header	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x28631854	ieee80211softmac_wx_get_rate	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x31a89d59	rpc_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbf95c91b	ei_poll	drivers/net/8390	EXPORT_SYMBOL
+0x5d2483a4	fat_detach	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x58c18b4b	svc_destroy	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xca6b2f26	snd_unregister_device	sound/core/snd	EXPORT_SYMBOL
+0xaf7e6801	smp_call_function_single	vmlinux	EXPORT_SYMBOL
+0xa6c2009e	drm_ioctl	drivers/char/drm/drm	EXPORT_SYMBOL
+0x8b131313	ib_modify_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe75fb0d4	ib_copy_path_rec_to_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0x2baa6586	capilib_new_ncci	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x9d6a3846	dccp_orphan_count	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x925b2e0c	kxQuotactl	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb9c315d1	disk_round_stats	vmlinux	EXPORT_SYMBOL_GPL
+0xc0580937	rb_erase	vmlinux	EXPORT_SYMBOL
+0xeddfe49d	rtc_unregister	vmlinux	EXPORT_SYMBOL
+0x50211ee3	tcp_free_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0xc2621cbf	b1_reset_ctr	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xb1fff90b	dibusb2_0_power_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xdc33fae0	hci_register_proto	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xa5c79544	switch_APIC_timer_to_ipi	vmlinux	EXPORT_SYMBOL
+0x7b8c1f01	unregister_kretprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x2adec1e0	__nvram_check_checksum	drivers/char/nvram	EXPORT_SYMBOL
+0x7c2f2afb	w1_calc_crc8	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x3421272c	efi	vmlinux	EXPORT_SYMBOL
+0x182aa3cb	set_blocksize	vmlinux	EXPORT_SYMBOL
+0x01438985	acpi_fadt_is_v1	vmlinux	EXPORT_SYMBOL
+0x371dde90	mac_hid_mouse_emulate_buttons	vmlinux	EXPORT_SYMBOL
+0xc523d4fa	video_usercopy	drivers/media/video/videodev	EXPORT_SYMBOL
+0x14817105	iscsi_destroy_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xb36a5b7f	usb_check_bandwidth	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xdbe06b56	cache_check	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x708d907f	snd_cs4231_mce_down	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xc0fc92b8	snd_gus_use_dec	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x45743c11	snd_gus_use_inc	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xcbc4c9ba	crypto_spawn_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0x0d6c963c	copy_from_user	vmlinux	EXPORT_SYMBOL
+0x272ec13f	uart_unregister_driver	vmlinux	EXPORT_SYMBOL
+0xe20abf78	md_done_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0x8305abb4	saa7146_pgtable_build_single	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x326b58d6	flexcop_i2c_request	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x6200c4c9	btcx_calc_skips	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x5d99c951	cpci_hp_unregister_bus	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xb2df392a	ieee80211softmac_scan_finished	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x877ea721	snd_gf1_write8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x8671b455	snd_sbmixer_resume	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0xd84dfa1f	blk_execute_rq	vmlinux	EXPORT_SYMBOL
+0xf5633477	dmi_check_system	vmlinux	EXPORT_SYMBOL
+0x422eea74	inet_csk_search_req	vmlinux	EXPORT_SYMBOL_GPL
+0xcccd3117	mdio_bus_type	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x30449890	usb_ftdi_elan_edset_output	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xf5f7ccc5	hashbin_insert	net/irda/irda	EXPORT_SYMBOL
+0x3ca9ea5e	cxiInactiveOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd7dd777b	reserve_perfctr_nmi	vmlinux	EXPORT_SYMBOL
+0x01075bf0	panic	vmlinux	EXPORT_SYMBOL
+0x04486e88	rcu_batches_completed	vmlinux	EXPORT_SYMBOL_GPL
+0x82d79b51	sysctl_vfs_cache_pressure	vmlinux	EXPORT_SYMBOL_GPL
+0x9fc921bb	vsscanf	vmlinux	EXPORT_SYMBOL
+0x96f929e9	acpi_get_object_info	vmlinux	EXPORT_SYMBOL
+0xa03ab86c	get_wireless_stats	vmlinux	EXPORT_SYMBOL_GPL
+0x0f4a7063	tcf_exts_dump	vmlinux	EXPORT_SYMBOL
+0x87d640c9	ata_noop_qc_prep	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x75bc6e8b	dccp_hash	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xffff2629	ip6_xmit	net/ipv6/ipv6	EXPORT_SYMBOL
+0x83803124	rpc_call_sync	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x39a90206	put_files_struct	vmlinux	EXPORT_SYMBOL
+0x8ce0d7a9	audit_log_vformat	vmlinux	EXPORT_SYMBOL_GPL
+0x12f237eb	__kzalloc	vmlinux	EXPORT_SYMBOL
+0x8e879bb7	__vmalloc	vmlinux	EXPORT_SYMBOL
+0x12da5bb2	__kmalloc	vmlinux	EXPORT_SYMBOL
+0x8eb22acb	ide_hwifs	vmlinux	EXPORT_SYMBOL
+0xcda061c0	w1_remove_master_device	drivers/w1/wire	EXPORT_SYMBOL
+0x7c9bdbda	o2nm_get_node_by_ip	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x5d986fc9	note_to_freq	sound/oss/sound	EXPORT_SYMBOL
+0x2244321f	acpi_get_irq_routing_table	vmlinux	EXPORT_SYMBOL
+0x42313966	ata_sas_port_start	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0f0dc789	hid_free_device	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x2cbd98b3	ov511_register_decomp_module	ubuntu/media/ov511/ov511	EXPORT_SYMBOL
+0x79ef6ef2	flock_lock_file_wait	vmlinux	EXPORT_SYMBOL
+0x807e471a	pci_find_ht_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x8d72c714	pci_find_next_ht_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x7de966cf	__ip_select_ident	vmlinux	EXPORT_SYMBOL
+0x1e108535	gf128mul_init_64k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0x066df505	gf128mul_init_64k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0x6f303697	ata_sg_init	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb5d82983	journal_load	fs/jbd/jbd	EXPORT_SYMBOL
+0x06175ecf	rpc_wake_up_next	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x17ba231d	seq_input_event	sound/oss/sound	EXPORT_SYMBOL
+0xdb80ba70	locks_init_lock	vmlinux	EXPORT_SYMBOL
+0x878e7973	bio_add_pc_page	vmlinux	EXPORT_SYMBOL
+0x5152e605	memcmp	vmlinux	EXPORT_SYMBOL
+0xbb167766	fb_var_to_videomode	vmlinux	EXPORT_SYMBOL
+0x2c84127c	iw_handler_get_spy	vmlinux	EXPORT_SYMBOL
+0x2352e173	dvb_usb_device_exit	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x07abcb2c	xt_find_match	net/netfilter/x_tables	EXPORT_SYMBOL
+0x348212c3	d_alloc_name	vmlinux	EXPORT_SYMBOL
+0xc1154450	ide_end_request	vmlinux	EXPORT_SYMBOL
+0x9b19f882	serio_reconnect	vmlinux	EXPORT_SYMBOL
+0x1be85365	snd_vx_create	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xb42f36d5	vfs_readdir	vmlinux	EXPORT_SYMBOL
+0xa824c502	devm_ioport_unmap	vmlinux	EXPORT_SYMBOL
+0xa671269a	dma_async_memcpy_buf_to_buf	vmlinux	EXPORT_SYMBOL
+0x8ecf4acc	bttv_write_gpio	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x1992a2ba	param_set_long	vmlinux	EXPORT_SYMBOL
+0x06b636ff	simple_statfs	vmlinux	EXPORT_SYMBOL
+0x1b211538	vfs_quota_on	vmlinux	EXPORT_SYMBOL
+0x4d8b0c5c	blk_recount_segments	vmlinux	EXPORT_SYMBOL
+0x0ead5073	vscnprintf	vmlinux	EXPORT_SYMBOL
+0x6b60eef6	zlib_inflate	vmlinux	EXPORT_SYMBOL
+0x3771b461	crc_ccitt	lib/crc-ccitt	EXPORT_SYMBOL
+0xf27e1cbd	ip_mc_join_group	vmlinux	EXPORT_SYMBOL
+0xb90c071b	km_policy_notify	vmlinux	EXPORT_SYMBOL
+0xd81dbfa8	dm_io_async	drivers/md/dm-mod	EXPORT_SYMBOL
+0x7a3fa953	usb_string	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x2a02e224	xfrm4_tunnel_deregister	net/ipv4/tunnel4	EXPORT_SYMBOL
+0x68848cc3	xfrm6_tunnel_deregister	net/ipv6/tunnel6	EXPORT_SYMBOL
+0xd6d2be88	kmap_atomic_to_page	vmlinux	EXPORT_SYMBOL
+0x94cfa4ef	lease_modify	vmlinux	EXPORT_SYMBOL
+0xd47d4e1c	debugfs_remove	vmlinux	EXPORT_SYMBOL_GPL
+0x27a72488	ioread8_rep	vmlinux	EXPORT_SYMBOL
+0xf5815114	inet_csk_reqsk_queue_hash_add	vmlinux	EXPORT_SYMBOL_GPL
+0x2fbe6b0a	agp_generic_free_gatt_table	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x061bd350	ib_alloc_pd	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf948b2b0	usb_gadget_register_driver	drivers/usb/gadget/net2280	EXPORT_SYMBOL
+0xec28cac8	journal_update_superblock	fs/jbd/jbd	EXPORT_SYMBOL
+0x502c6089	srcu_read_lock	vmlinux	EXPORT_SYMBOL_GPL
+0x3360bb18	ioread32_rep	vmlinux	EXPORT_SYMBOL
+0x81f90c47	cpu_sysdev_class	vmlinux	EXPORT_SYMBOL
+0x0184a0c4	skb_clone_fraglist	vmlinux	EXPORT_SYMBOL
+0xe8f5ebb9	neigh_seq_start	vmlinux	EXPORT_SYMBOL
+0x1aba3eac	xfrm_dst_ifdown	vmlinux	EXPORT_SYMBOL
+0xc03da375	dibx000_exit_i2c_master	drivers/media/dvb/frontends/dibx000_common	EXPORT_SYMBOL
+0x74cab76d	dibx000_init_i2c_master	drivers/media/dvb/frontends/dibx000_common	EXPORT_SYMBOL
+0xae0103c3	tipc_shutdown	net/tipc/tipc	EXPORT_SYMBOL
+0x1a45cb6c	acpi_disabled	vmlinux	EXPORT_SYMBOL
+0x3be7af02	get_max_files	vmlinux	EXPORT_SYMBOL_GPL
+0x73e20c1c	strlcpy	vmlinux	EXPORT_SYMBOL
+0xcd0e269e	get_key_pinnacle_grey	drivers/media/video/ir-kbd-i2c	EXPORT_SYMBOL_GPL
+0x3e909d7f	rpc_put_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x45773eeb	snd_pcm_hw_constraint_ratdens	sound/core/snd-pcm	EXPORT_SYMBOL
+0x52fe113d	release_and_free_resource	sound/core/snd	EXPORT_SYMBOL
+0x37cebf20	cxiDumpOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf195c682	fb_invert_cmaps	vmlinux	EXPORT_SYMBOL
+0xf98b0275	tty_ldisc_put	vmlinux	EXPORT_SYMBOL_GPL
+0xbb3a60ab	fddi_type_trans	vmlinux	EXPORT_SYMBOL
+0x65fce835	tcf_em_tree_destroy	vmlinux	EXPORT_SYMBOL
+0x6f077fcf	ib_get_mad_data_offset	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x9d321af3	pcmcia_get_socket_by_nr	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xecfdd9c9	unload_uart401	sound/oss/uart401	EXPORT_SYMBOL
+0xb9fd2495	cxiTestBit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x74001fe9	driver_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x14675959	ide_init_sg_cmd	vmlinux	EXPORT_SYMBOL_GPL
+0xec7f1697	ideprobe_init	vmlinux	EXPORT_SYMBOL_GPL
+0x8416166b	nf_net_netfilter_sysctl_path	vmlinux	EXPORT_SYMBOL_GPL
+0x276a8b42	xfrm_state_check	vmlinux	EXPORT_SYMBOL
+0xc71f4341	ib_create_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xcec8514a	tipc_set_portunreturnable	net/tipc/tipc	EXPORT_SYMBOL
+0x7e5e290a	snd_gf1_new_mixer	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xa2226052	cxiGetKernelStackSize	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x41482d8b	strndup_user	vmlinux	EXPORT_SYMBOL
+0x433aedd7	blk_requeue_request	vmlinux	EXPORT_SYMBOL
+0x098b71c6	fb_dealloc_cmap	vmlinux	EXPORT_SYMBOL
+0x8fa1391a	snd_emu8000_poke	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x9aff7df4	cxiReleaseFile	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x85c5bb56	pagevec_lookup	vmlinux	EXPORT_SYMBOL
+0xf7372970	crypto_init_spawn	vmlinux	EXPORT_SYMBOL_GPL
+0x8664f62e	cpufreq_update_policy	vmlinux	EXPORT_SYMBOL
+0x1dfaa011	agp_bind_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa6cd5138	mptscsih_target_destroy	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x5b218c98	mptscsih_remove	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xedeadd28	pccard_nonstatic_ops	drivers/pcmcia/rsrc_nonstatic	EXPORT_SYMBOL
+0xeeb6544e	snd_cs8427_iec958_pcm	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x7037d79d	k8_flush_garts	vmlinux	EXPORT_SYMBOL_GPL
+0x0359f865	sys_open	vmlinux	EXPORT_SYMBOL_GPL
+0xb869d210	xfrm_find_acq	vmlinux	EXPORT_SYMBOL
+0xea90baec	scsi_scan_host	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x89d4dbaf	usb_usual_check_type	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0x4676ff60	allocate_resource	vmlinux	EXPORT_SYMBOL
+0x4185cf4b	radix_tree_lookup_slot	vmlinux	EXPORT_SYMBOL
+0xe0b7e4b5	tcp_sendpage	vmlinux	EXPORT_SYMBOL
+0xeb4c4263	drm_sman_set_manager	drivers/char/drm/drm	EXPORT_SYMBOL
+0x7854ee14	gs_stop	drivers/char/generic_serial	EXPORT_SYMBOL
+0x07506ff9	ib_destroy_cq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb98a0185	rtc_tm_to_time	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x10d40fcd	tipc_isconnected	net/tipc/tipc	EXPORT_SYMBOL
+0xf105ff1b	cxiFcntlReset	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xef2e458d	remove_suid	vmlinux	EXPORT_SYMBOL
+0xc55d42cc	block_prepare_write	vmlinux	EXPORT_SYMBOL
+0x30560619	cxiStopKProc	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf9a054b5	__round_jiffies	vmlinux	EXPORT_SYMBOL_GPL
+0x38f29719	kill_pg	vmlinux	EXPORT_SYMBOL
+0x51dff956	spi_write_then_read	vmlinux	EXPORT_SYMBOL_GPL
+0x110d1fd7	dm_register_hw_handler	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0x84eb6543	mt2060_attach	drivers/media/dvb/frontends/mt2060	EXPORT_SYMBOL
+0x67191935	hostap_free_data	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x47a1825e	w1_reset_select_slave	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x670cd123	dccp_init_sock	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3a9bcad1	ip_vs_make_skb_writable	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x096d0e2d	cxiInvalidateNegDCacheEntry	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x37e74642	get_jiffies_64	vmlinux	EXPORT_SYMBOL
+0xdf14299f	generic_shutdown_super	vmlinux	EXPORT_SYMBOL
+0xf8d15b0c	vfs_rmdir	vmlinux	EXPORT_SYMBOL
+0x181f5257	__hpsb_register_protocol	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x4fa21708	dvb_usb_get_hexline	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x7097df05	fat_notify_change	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x1b0a8f37	init_buffer	vmlinux	EXPORT_SYMBOL
+0x1807e38b	acpi_evaluate_integer	vmlinux	EXPORT_SYMBOL
+0xe6551480	del_mtd_partitions	drivers/mtd/mtdpart	EXPORT_SYMBOL
+0xb34d898b	scsi_track_queue_full	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x592944db	sas_port_delete_phy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x02a6ce5a	crc16_table	lib/crc16	EXPORT_SYMBOL
+0x8f967852	svc_create_thread	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x1258ab6d	cap_bprm_set_security	security/commoncap	EXPORT_SYMBOL
+0xd701e6d9	____request_resource	vmlinux	EXPORT_SYMBOL
+0x92868b97	videobuf_read_one	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x0c3aca26	qlogicfas408_abort	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x5fa9565e	o2hb_unregister_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x2a63516f	snd_card_new	sound/core/snd	EXPORT_SYMBOL
+0x2c5ea9ee	ieee80211_register_hwmode	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xe3fc8699	gpfs_ops	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4ad915fb	vfs_link	vmlinux	EXPORT_SYMBOL
+0x686f1325	hpet_alloc	vmlinux	EXPORT_SYMBOL
+0x516c7440	sock_no_getname	vmlinux	EXPORT_SYMBOL
+0x0e24fbe8	drm_sman_alloc	drivers/char/drm/drm	EXPORT_SYMBOL
+0x4b5ac460	cpufreq_gov_userspace	drivers/cpufreq/cpufreq_userspace	EXPORT_SYMBOL
+0xd88bdf5f	rpcauth_create	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9e5a0ec1	snd_pcm_lib_readv	sound/core/snd-pcm	EXPORT_SYMBOL
+0x09a0b562	panic_notifier_list	vmlinux	EXPORT_SYMBOL
+0x93c1f1fa	ktime_get_real	vmlinux	EXPORT_SYMBOL_GPL
+0xf82abc1d	isa_dma_bridge_buggy	vmlinux	EXPORT_SYMBOL
+0x2200c465	phy_driver_unregister	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x84dc2892	usb_buffer_alloc	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x03df5d32	journal_flush	fs/jbd/jbd	EXPORT_SYMBOL
+0x14777d07	mod_timer	vmlinux	EXPORT_SYMBOL
+0x301a05a9	d_delete	vmlinux	EXPORT_SYMBOL
+0xfb223461	__xfrm_state_delete	vmlinux	EXPORT_SYMBOL
+0x2974ead1	DIVA_DIDD_Read	drivers/isdn/hardware/eicon/divadidd	EXPORT_SYMBOL
+0xd05594b6	unregister_mtd_chip_driver	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0x5b384ebc	param_get_invbool	vmlinux	EXPORT_SYMBOL
+0x9df0542a	idr_remove	vmlinux	EXPORT_SYMBOL
+0x99052a84	acpi_os_write_port	vmlinux	EXPORT_SYMBOL
+0x54058d52	init_mm	vmlinux	EXPORT_SYMBOL
+0x827c124c	pci_disable_device	vmlinux	EXPORT_SYMBOL
+0x33b9620c	tty_hangup	vmlinux	EXPORT_SYMBOL
+0x9e72c35d	devres_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x2766b45a	ide_dma_verbose	vmlinux	EXPORT_SYMBOL
+0x9fca848b	drm_get_resource_start	drivers/char/drm/drm	EXPORT_SYMBOL
+0x93368e6e	drm_sman_owner_cleanup	drivers/char/drm/drm	EXPORT_SYMBOL
+0x6db666dc	cx88_core_put	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xbf9d1b96	nfsd_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x42debef2	snd_ac97_set_rate	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xa3ddda18	inet_csk_ctl_sock_create	vmlinux	EXPORT_SYMBOL_GPL
+0xe3e61832	cxiStackAddrToThreadId	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5c372971	llc_station_mac_sa	vmlinux	EXPORT_SYMBOL
+0x8ec2b312	dma_region_alloc	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd18a2559	ib_query_port	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbe4aedf2	b1dma_release_appl	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x17c3bdf6	mpt_device_driver_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x6f29fd87	alloc_hdlcdev	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x9e5a3aab	read_cache_page	vmlinux	EXPORT_SYMBOL
+0xb99f1af8	key_link	vmlinux	EXPORT_SYMBOL
+0x6cd93adf	con_is_bound	vmlinux	EXPORT_SYMBOL
+0x72a6b800	com20020_check	drivers/net/arcnet/com20020	EXPORT_SYMBOL
+0x992c7d6d	snd_emu8000_peek	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x56c5486e	cpu_present_map	vmlinux	EXPORT_SYMBOL
+0x57865b44	dquot_drop	vmlinux	EXPORT_SYMBOL
+0xc003c637	__strncpy_from_user	vmlinux	EXPORT_SYMBOL
+0xc1614549	ide_use_dma	vmlinux	EXPORT_SYMBOL_GPL
+0x78dbbfff	dev_change_flags	vmlinux	EXPORT_SYMBOL
+0x14ac44fd	onenand_default_bbt	drivers/mtd/onenand/onenand	EXPORT_SYMBOL
+0x720991ef	ieee80211softmac_stop	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xe92ca9f6	blkdev_driver_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x2c9d9566	dmi_name_in_vendors	vmlinux	EXPORT_SYMBOL
+0x4166e3a0	nla_put_nohdr	vmlinux	EXPORT_SYMBOL
+0xcd2035c5	xfrm_state_walk	vmlinux	EXPORT_SYMBOL
+0xbca88449	nand_scan	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0x97fdad28	lapb_unregister	net/lapb/lapb	EXPORT_SYMBOL
+0x59178cf0	snd_opl3_new	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x871633f5	profile_pc	vmlinux	EXPORT_SYMBOL
+0x9d8eb63e	__kill_fasync	vmlinux	EXPORT_SYMBOL
+0xc40239eb	keyring_clear	vmlinux	EXPORT_SYMBOL
+0xa94188b0	lgh06xf_attach	drivers/media/dvb/frontends/lgh06xf	EXPORT_SYMBOL
+0x16f56003	pcmcia_socket_list_rwsem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x6525e5a2	scsi_set_medium_removal	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf19294db	bt_sock_unregister	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xc2cf384b	dm_io_sync_vm	drivers/md/dm-mod	EXPORT_SYMBOL
+0xd53b8ef4	ebt_unregister_match	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x1f65047e	gss_service_to_auth_domain_name	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xf5fec84d	snd_timer_resolution	sound/core/snd-timer	EXPORT_SYMBOL
+0xc4b9e92d	sound_timer_devs	sound/oss/sound	EXPORT_SYMBOL
+0x0237b57a	arch_unregister_cpu	vmlinux	EXPORT_SYMBOL
+0xa87153ef	generic_unplug_device	vmlinux	EXPORT_SYMBOL
+0xc755eba6	fb_set_var	vmlinux	EXPORT_SYMBOL
+0x572759ac	__nla_put	vmlinux	EXPORT_SYMBOL
+0x9de05239	csr1212_detach_keyval_from_directory	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xee93522c	hisax_register	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x3dcff9af	snd_gf1_write16	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x1f8ec1b3	acpi_get_pci_rootbridge_handle	vmlinux	EXPORT_SYMBOL_GPL
+0x919245a9	inet_diag_register	vmlinux	EXPORT_SYMBOL_GPL
+0xc4908510	pcmcia_adjust_io_region	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x713d88c3	sas_port_mark_backlink	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xfad0097a	svc_sock_names	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf76c846d	snd_es1688_pcm	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0xda8af7ad	fb_find_nearest_mode	vmlinux	EXPORT_SYMBOL
+0xab4f6c88	snd_pcm_hw_rule_add	sound/core/snd-pcm	EXPORT_SYMBOL
+0x2fe40cfb	synth_alive	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x5a4896a8	__put_user_2	vmlinux	EXPORT_SYMBOL
+0x4888a014	__get_user_2	vmlinux	EXPORT_SYMBOL
+0x85e5a3db	ktime_get_ts	vmlinux	EXPORT_SYMBOL_GPL
+0xbdbd9aa1	blk_free_tags	vmlinux	EXPORT_SYMBOL
+0x53d7edee	__iscsi_complete_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xc31c83b0	usb_init_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x1cddf7e6	o2nm_get_node_by_num	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x3b91f3af	snd_free_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xa5eb0d68	snd_card_file_remove	sound/core/snd	EXPORT_SYMBOL
+0x4ca616a8	socket_aio_dequeue	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3df4838d	inet_listen_wlock	vmlinux	EXPORT_SYMBOL
+0x56c29171	ata_port_queue_task	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa10740a5	ata_data_xfer_noirq	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xcccfb2fa	sata_deb_timing_hotplug	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5dd9885c	tpm_bios_log_setup	drivers/char/tpm/tpm_bios	EXPORT_SYMBOL_GPL
+0x11f0d0bf	scsi_device_put	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x201cfdb8	scsi_device_get	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf3797152	snd_interval_ratnum	sound/core/snd-pcm	EXPORT_SYMBOL
+0x9bf1cc62	ad1848_unload	sound/oss/ad1848	EXPORT_SYMBOL
+0xb55164f5	snd_ac97_read	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x322c6fc2	__check_region	vmlinux	EXPORT_SYMBOL
+0x691964ec	xfrm_policy_flush	vmlinux	EXPORT_SYMBOL
+0x5f4ff241	tpm_show_pcrs	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xbe866c16	dm_register_path_selector	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0x0e4a31ec	snd_emu8000_update_reverb_mode	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x4760222c	key_task_permission	vmlinux	EXPORT_SYMBOL
+0x74c0571d	ieee80211_unregister_crypto_ops	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xc6d4b42a	nf_nat_protocol_register	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xdcad9011	sock_sendmsg	vmlinux	EXPORT_SYMBOL
+0x5ba35091	inet_diag_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x8f03b9f8	detach_capi_ctr	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x6667927e	sas_domain_attach_transport	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x6ace70ee	ieee80211softmac_wx_set_wap	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x60b890d8	nf_nat_protocol_unregister	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xebe2dca6	irda_task_delete	net/irda/irda	EXPORT_SYMBOL
+0xade88e76	snd_malloc_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xf3c44190	snd_i2c_bus_create	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0x1638f749	ieee80211_rate_control_register	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x9083aae4	ide_register_region	vmlinux	EXPORT_SYMBOL_GPL
+0xc4c628ba	destroy_EII_client	vmlinux	EXPORT_SYMBOL
+0x09feb992	rtc_set_mmss	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x204f5fc0	usb_hcd_pci_suspend	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x80cc96d8	snd_hwdep_new	sound/core/snd-hwdep	EXPORT_SYMBOL
+0xd986dad1	kernel_fpu_begin	vmlinux	EXPORT_SYMBOL_GPL
+0x9345e2d3	lease_get_mtime	vmlinux	EXPORT_SYMBOL
+0xf023b91f	sb_set_blocksize	vmlinux	EXPORT_SYMBOL
+0x57f303a4	vfs_quota_off	vmlinux	EXPORT_SYMBOL
+0x6045cb85	class_register	vmlinux	EXPORT_SYMBOL_GPL
+0xf1b5cfa6	netif_carrier_off	vmlinux	EXPORT_SYMBOL
+0x4e2b8aca	ipmi_set_gets_events	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x96031958	mmc_request_done	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x62be23ea	cycx_setup	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0xc63d85b6	get_task_mm	vmlinux	EXPORT_SYMBOL_GPL
+0xcb51d0fd	vmalloc_to_pfn	vmlinux	EXPORT_SYMBOL
+0xbebd011c	qdisc_unlock_tree	vmlinux	EXPORT_SYMBOL
+0xc169a18f	arc_raw_proto	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x8944812f	parport_ieee1284_epp_read_addr	drivers/parport/parport	EXPORT_SYMBOL
+0xabd8e427	matroxfb_var2my	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x5060aa8d	matroxfb_DAC_in	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x071aabfd	ip6_sk_dst_lookup	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x294b5550	bttv_get_id	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x7bce2eac	ieee80211_ctstoself_duration	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x2462fd7f	dump_fpu	vmlinux	EXPORT_SYMBOL
+0xae254ca9	lock_super	vmlinux	EXPORT_SYMBOL
+0x057cacf8	crypto_unregister_alg	vmlinux	EXPORT_SYMBOL_GPL
+0x2e53361e	ide_register_hw	vmlinux	EXPORT_SYMBOL
+0xc3b177ba	register_tcf_proto_ops	vmlinux	EXPORT_SYMBOL
+0x318920b1	register_dock_notifier	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0xc0e263a7	generic_file_aio_write	vmlinux	EXPORT_SYMBOL
+0x9c52d484	filp_open	vmlinux	EXPORT_SYMBOL
+0x4124994c	get_empty_filp	vmlinux	EXPORT_SYMBOL
+0xc9ab2eef	acpi_os_wait_events_complete	vmlinux	EXPORT_SYMBOL
+0x273aace0	unregister_md_personality	drivers/md/md-mod	EXPORT_SYMBOL
+0xa9f5379a	o2net_send_message_vec	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x3287e0bc	run_scheduled_work	vmlinux	EXPORT_SYMBOL
+0x7e32f6d3	copy_io_context	vmlinux	EXPORT_SYMBOL
+0x955de0cc	xfrm_calg_get_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x3003e770	agp_allocate_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x1cb148f5	ir_extract_bits	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x955ca3c7	z8530_sync	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xb90269ad	dccp_timestamp	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x6b5c6200	ip_vs_tcp_conn_listen	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xcb324a47	rxrpc_put_call	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x88cc66cc	snd_pcm_link_rwlock	sound/core/snd-pcm	EXPORT_SYMBOL
+0x5c8c56a7	snd_rawmidi_set_ops	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x95f20aa8	__free_pages	vmlinux	EXPORT_SYMBOL
+0xe214722c	get_disk	vmlinux	EXPORT_SYMBOL
+0xb83196c7	matroxfb_DAC_out	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x830b49a9	pci_scan_child_bus	vmlinux	EXPORT_SYMBOL_GPL
+0x6fa971e2	inet_bind	vmlinux	EXPORT_SYMBOL
+0xfadcf9f1	parport_put_port	drivers/parport/parport	EXPORT_SYMBOL
+0x97f09af8	parport_get_port	drivers/parport/parport	EXPORT_SYMBOL
+0xc9909758	nf_nat_amanda_hook	net/netfilter/nf_conntrack_amanda	EXPORT_SYMBOL_GPL
+0xb949ab9f	snd_cs4231_create	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x151408ca	snd_cs4236_create	sound/isa/cs423x/snd-cs4236-lib	EXPORT_SYMBOL
+0x263ab6d1	pci_assign_resource	vmlinux	EXPORT_SYMBOL
+0xfbfd9a4d	xfrm_init_state	vmlinux	EXPORT_SYMBOL
+0xed5dead8	setSMBOplock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb74c2b8a	cxiShutdownDMS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x389e200f	ioread8	vmlinux	EXPORT_SYMBOL
+0xdd053af8	input_grab_device	vmlinux	EXPORT_SYMBOL
+0x498472ab	skb_split	vmlinux	EXPORT_SYMBOL
+0xa3c6cc5e	xfrm_user_policy	vmlinux	EXPORT_SYMBOL
+0x3cd36160	dvb_generic_open	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xeae4a871	default_mtd_writev	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x6f46a1fe	journal_try_to_free_buffers	fs/jbd/jbd	EXPORT_SYMBOL
+0xc3cf1128	in_group_p	vmlinux	EXPORT_SYMBOL
+0x3ed76b8c	netlink_broadcast	vmlinux	EXPORT_SYMBOL
+0x28dcf25c	udplite_hash	vmlinux	EXPORT_SYMBOL
+0x686c703f	xfrm_count_auth_supported	vmlinux	EXPORT_SYMBOL_GPL
+0x556fe0f5	ib_destroy_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x45813364	elv_rb_former_request	vmlinux	EXPORT_SYMBOL
+0xdabf8fbb	udp_sendmsg	vmlinux	EXPORT_SYMBOL
+0x7c32d48b	ax25_send_frame	net/ax25/ax25	EXPORT_SYMBOL
+0xf1114f27	snd_cs4231_put_double	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x3c237fb0	cxiIsNFS4Thread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0c486b72	ide_unregister	vmlinux	EXPORT_SYMBOL
+0x973cfc0d	ib_sa_mcmember_rec_query	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0xbde33c2b	usb_get_intf	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xd6524c3d	usb_kill_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xc875f3c9	ieee80211softmac_wx_set_rate	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xda0481e5	snd_timer_stop	sound/core/snd-timer	EXPORT_SYMBOL
+0xc64a34b1	rtl_ieee80211_wx_set_essid	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xb2fe45fe	rtl_ieee80211_wx_get_essid	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8ca99a04	audit_log	vmlinux	EXPORT_SYMBOL
+0x5f52ef4e	dst_error_recovery	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xf5cf7db0	tifm_add_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x97dbe407	pci_enable_wake	vmlinux	EXPORT_SYMBOL
+0xc6c588e2	sk_wait_data	vmlinux	EXPORT_SYMBOL
+0x0f28cb91	nvram_read_byte	drivers/char/nvram	EXPORT_SYMBOL
+0x248c2b2f	xdr_process_buf	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa071f119	snd_sbdsp_get_byte	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x04d008cd	mark_tsc_unstable	vmlinux	EXPORT_SYMBOL_GPL
+0x04a20170	unshare_files	vmlinux	EXPORT_SYMBOL
+0x6426a07a	acpi_lock_battery_dir	vmlinux	EXPORT_SYMBOL
+0x113c8678	hostap_get_stats	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x9cccf3ce	xt_replace_table	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x582c3df7	snd_ak4114_reinit	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xf07b0c7a	snd_ak4117_reinit	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x80101484	end_buffer_read_sync	vmlinux	EXPORT_SYMBOL
+0xd48b1226	acpi_rs_match_vendor_resource	vmlinux	EXPORT_SYMBOL
+0x08677b87	tpm_remove_hardware	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x7fe9be7c	rdma_resolve_ip	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x8685a91d	sas_task_abort	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xd4883565	snd_midi_event_encode_byte	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x5418d52a	param_get_ushort	vmlinux	EXPORT_SYMBOL
+0x27e2fa2b	unregister_jprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x28b41ed8	neigh_for_each	vmlinux	EXPORT_SYMBOL
+0xeb822224	tcf_em_tree_dump	vmlinux	EXPORT_SYMBOL
+0x934996e9	ata_eng_timeout	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6971447a	rtc_month_days	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0xa1ca4fac	sas_register_ha	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x7e64181d	usb_calc_bus_time	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xd128a602	snd_vx_setup_firmware	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x55bcc145	pci_add_new_bus	vmlinux	EXPORT_SYMBOL
+0x7ecc01c7	vcc_insert_socket	vmlinux	EXPORT_SYMBOL
+0x94dc62d2	ata_scsi_ioctl	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5f4b7215	usb_find_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x736f7c31	snd_emu10k1_ptr_read	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x34e43f9f	scatterwalk_start	vmlinux	EXPORT_SYMBOL_GPL
+0xf82e3d47	acpi_initialize_objects	vmlinux	EXPORT_SYMBOL
+0x712adc4c	register_acpi_bus_type	vmlinux	EXPORT_SYMBOL
+0xad7470a9	phy_start_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xa5c36cec	inotify_unmount_inodes	vmlinux	EXPORT_SYMBOL_GPL
+0x87634e65	sock_i_ino	vmlinux	EXPORT_SYMBOL
+0x3fe3e9fc	sock_i_uid	vmlinux	EXPORT_SYMBOL
+0x90dd9278	netdev_boot_setup_check	vmlinux	EXPORT_SYMBOL
+0xadbc8c7b	xfrm_state_check_expire	vmlinux	EXPORT_SYMBOL
+0x7620fca1	parport_register_port	drivers/parport/parport	EXPORT_SYMBOL
+0x134d0cb2	ieee80211_get_channel_flags	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xbd07d6b9	cxiGetKernelBoundary	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb2780f36	mempool_alloc	vmlinux	EXPORT_SYMBOL
+0x457594fa	crypto_alg_list	vmlinux	EXPORT_SYMBOL_GPL
+0x6b6f03eb	cpufreq_unregister_driver	vmlinux	EXPORT_SYMBOL_GPL
+0xf59339dd	register_gifconf	vmlinux	EXPORT_SYMBOL
+0x9e767733	ip_build_and_send_pkt	vmlinux	EXPORT_SYMBOL_GPL
+0x0028fca7	snd_register_device	sound/core/snd	EXPORT_SYMBOL
+0x09e3f805	snd_emux_lock_voice	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x44fb7e74	synth	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x263b54cc	acpi_resource_to_address64	vmlinux	EXPORT_SYMBOL
+0x2ca7712a	irda_register_dongle	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xeecc6fb9	inet_dccp_listen	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x141bdff0	proc_dointvec_minmax	vmlinux	EXPORT_SYMBOL
+0x73854fe0	iscsi_conn_stop	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xa1457e5f	kmap	vmlinux	EXPORT_SYMBOL
+0xdc43a9c8	daemonize	vmlinux	EXPORT_SYMBOL
+0xda7996ab	ide_setup_pci_device	vmlinux	EXPORT_SYMBOL_GPL
+0x564c06ad	atm_charge	vmlinux	EXPORT_SYMBOL
+0x7af96325	i2c_bus_type	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x3811daea	ir_codes_manli	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc3d4edf5	pccard_static_ops	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xb1cb1056	_spin_unlock_bh	vmlinux	EXPORT_SYMBOL
+0x35555c86	put_page	vmlinux	EXPORT_SYMBOL
+0x04dbca51	blk_queue_make_request	vmlinux	EXPORT_SYMBOL
+0xa9a75df4	put_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x219cbabe	dma_region_offset_to_bus	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x91d99e08	icmpv6_send	net/ipv6/ipv6	EXPORT_SYMBOL
+0x6c6feef2	vfs_getattr	vmlinux	EXPORT_SYMBOL
+0x9db8273d	tty_ldisc_deref	vmlinux	EXPORT_SYMBOL_GPL
+0x06c3c46b	led_classdev_resume	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0xa76aecc9	saa7146_vv_release	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x51be37e7	bt878	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x32506844	rtc_device_register	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xe4d4f06d	irda_task_next_state	net/irda/irda	EXPORT_SYMBOL
+0x5701686e	nf_conntrack_lock	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x560bbc23	kxUMount	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb45b24f6	k8_nb_ids	vmlinux	EXPORT_SYMBOL
+0x5e7241fa	nobh_truncate_page	vmlinux	EXPORT_SYMBOL
+0x09a47533	bd_claim_by_disk	vmlinux	EXPORT_SYMBOL_GPL
+0x536be5ce	put_io_context	vmlinux	EXPORT_SYMBOL
+0x14e607a3	mca_unregister_driver	vmlinux	EXPORT_SYMBOL
+0xdcb43a75	neigh_update	vmlinux	EXPORT_SYMBOL
+0xe028194d	inet_del_protocol	vmlinux	EXPORT_SYMBOL
+0x7ef03b65	phy_stop	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x477fb8e7	spi_bitbang_start	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0xf6484d1a	end_that_request_chunk	vmlinux	EXPORT_SYMBOL
+0x64b4d60b	ethtool_op_set_tx_hw_csum	vmlinux	EXPORT_SYMBOL
+0x4f4662a7	iscsi_conn_start	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xbaeb4700	o2hb_check_node_heartbeating_from_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xb7c8a16c	snd_seq_instr_free_use	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0xd03e3ff4	snd_vx_check_reg_bit	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xe49414e9	rtattr_parse	vmlinux	EXPORT_SYMBOL
+0x960d9427	icmp_send	vmlinux	EXPORT_SYMBOL
+0xb44d6543	dvb_ringbuffer_pkt_write	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x11fb8d8b	nand_scan_tail	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0x72202e93	hrtimer_start	vmlinux	EXPORT_SYMBOL_GPL
+0x23864ce7	cpuset_mem_spread_node	vmlinux	EXPORT_SYMBOL_GPL
+0xcb2c38ef	security_ops	vmlinux	EXPORT_SYMBOL
+0x1f17415c	xfrm_state_update	vmlinux	EXPORT_SYMBOL
+0x9726f863	ata_device_blacklisted	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xab54337d	usb_deregister_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xdce3cf69	cxiUnmapContiguousRO	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9941ccb8	free_pages	vmlinux	EXPORT_SYMBOL
+0x248ed2ab	ilookup	vmlinux	EXPORT_SYMBOL
+0x2dbc755e	iowrite32_rep	vmlinux	EXPORT_SYMBOL
+0x1eba9e49	iowrite16_rep	vmlinux	EXPORT_SYMBOL
+0x16db94a4	dev_open	vmlinux	EXPORT_SYMBOL
+0xdf3c19ec	cn_add_callback	drivers/connector/cn	EXPORT_SYMBOL_GPL
+0x0bc39aae	hashbin_delete	net/irda/irda	EXPORT_SYMBOL
+0xc3067e4c	snd_cards	sound/core/snd	EXPORT_SYMBOL
+0xf82f16b3	execute_in_process_context	vmlinux	EXPORT_SYMBOL_GPL
+0x084d7eb7	__f_setown	vmlinux	EXPORT_SYMBOL
+0x7bb3faad	unlock_new_inode	vmlinux	EXPORT_SYMBOL
+0x2c74cc93	class_device_remove_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0x6a5b6ea4	dmi_get_system_info	vmlinux	EXPORT_SYMBOL
+0xcda0ded2	btcx_screen_clips	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0xe098cd15	nat_q931_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x73c4c993	snd_mpu401_uart_interrupt_tx	sound/drivers/mpu401/snd-mpu401-uart	EXPORT_SYMBOL
+0x4cc94d77	__ieee80211_rx	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x625acc81	__down_failed_interruptible	vmlinux	EXPORT_SYMBOL
+0x4ba94a27	fput	vmlinux	EXPORT_SYMBOL
+0xe41078cf	kset_register	vmlinux	EXPORT_SYMBOL
+0x62737e1d	sock_unregister	vmlinux	EXPORT_SYMBOL
+0x518fcbfb	tms380tr_interrupt	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0xab167621	nf_nat_mangle_tcp_packet	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x0c004a73	xt_find_table_lock	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xb90eff67	posix_timer_event	vmlinux	EXPORT_SYMBOL_GPL
+0x5ca0bacd	acpi_os_map_memory	vmlinux	EXPORT_SYMBOL_GPL
+0xb9eb7229	platform_device_alloc	vmlinux	EXPORT_SYMBOL_GPL
+0x078ae196	eighty_ninty_three	vmlinux	EXPORT_SYMBOL
+0x0721b2ca	pcmcia_get_window	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xaffcfa29	sas_phy_delete	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xb9394173	irias_delete_value	net/irda/irda	EXPORT_SYMBOL
+0xb31ddfb4	get_cmos_time	vmlinux	EXPORT_SYMBOL
+0xa34cd2cd	arc_bcast_proto	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x9246356a	journal_set_features	fs/jbd/jbd	EXPORT_SYMBOL
+0xf13fc8d6	_read_lock_irq	vmlinux	EXPORT_SYMBOL
+0x76e9fa3b	add_disk	vmlinux	EXPORT_SYMBOL
+0x141dbf9b	acpi_bus_receive_event	vmlinux	EXPORT_SYMBOL
+0xbab0e579	cx88_risc_databuffer	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x7e5279c5	sas_phy_free	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x2b203c44	posix_lock_file_wait	vmlinux	EXPORT_SYMBOL
+0xe20711ad	posix_lock_file_conf	vmlinux	EXPORT_SYMBOL
+0x0b23fe58	inet_shutdown	vmlinux	EXPORT_SYMBOL
+0xc761c80a	mptscsih_info	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x3c5c5ea9	rtl_ieee80211_wx_set_rawtx	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xf32a1020	clocksource_reselect	vmlinux	EXPORT_SYMBOL
+0xf31fb9b3	vmalloc_to_page	vmlinux	EXPORT_SYMBOL
+0x4e830a3e	strnicmp	vmlinux	EXPORT_SYMBOL
+0xd66dc728	pnp_manual_config_dev	vmlinux	EXPORT_SYMBOL
+0xe3feadb9	uart_remove_one_port	vmlinux	EXPORT_SYMBOL
+0x375805c1	ide_register_subdriver	vmlinux	EXPORT_SYMBOL
+0x14ccf08d	inet_csk_clone	vmlinux	EXPORT_SYMBOL_GPL
+0x63d27f34	hpsb_iso_shutdown	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf4022438	xt_unregister_table	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x1479cb03	tipc_deleteport	net/tipc/tipc	EXPORT_SYMBOL
+0xfa5c48ba	__wake_up_bit	vmlinux	EXPORT_SYMBOL
+0x737e6531	hostap_info_init	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x2eda9b70	usb_get_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x781ca38c	fbcon_set_bitops	drivers/video/console/bitblit	EXPORT_SYMBOL
+0x302a6d50	journal_start_commit	fs/jbd/jbd	EXPORT_SYMBOL
+0x1d027e4b	snd_pcm_format_signed	sound/core/snd-pcm	EXPORT_SYMBOL
+0x2becad38	add_wait_queue_exclusive	vmlinux	EXPORT_SYMBOL
+0xdd77f84e	user_instantiate	vmlinux	EXPORT_SYMBOL_GPL
+0xbf16c1f5	pci_find_device	vmlinux	EXPORT_SYMBOL
+0xa45d08e3	sock_release	vmlinux	EXPORT_SYMBOL
+0xc7b2252d	flexcop_sram_ctrl	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x03bda3ea	dst_command	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x5cd24d29	z8530_hdlc_kilostream	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x283836f3	usb_hcd_giveback_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x08ed0b62	mac_vmode_to_var	drivers/video/macmodes	EXPORT_SYMBOL
+0xf78e8303	xdr_encode_array2	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x655cb202	snd_sf_linear_to_log	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x3f8de9d2	register_posix_clock	vmlinux	EXPORT_SYMBOL_GPL
+0xe43ad7f2	__handle_mm_fault	vmlinux	EXPORT_SYMBOL_GPL
+0x863cb91a	utf8_wcstombs	vmlinux	EXPORT_SYMBOL
+0xf02a055b	b1dmactl_read_proc	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xd8eacdaf	usb_claim_bandwidth	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x24e9991f	nlmclnt_proc	fs/lockd/lockd	EXPORT_SYMBOL
+0x75811312	crc_ccitt_table	lib/crc-ccitt	EXPORT_SYMBOL
+0xc2101e8f	nf_nat_icmp_reply_translation	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x3ddcddc0	snd_gf1_mem_xfree	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x2d4ddaae	snd_emu10k1_synth_bzero	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0xd6ee688f	vmalloc	vmlinux	EXPORT_SYMBOL
+0x58994e1c	mpage_readpage	vmlinux	EXPORT_SYMBOL
+0xca12ddc0	idr_init	vmlinux	EXPORT_SYMBOL
+0xa22fd433	netdev_set_master	vmlinux	EXPORT_SYMBOL
+0xe6f559a7	gf128mul_init_4k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0xfe882997	gf128mul_init_4k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0xdfcf23df	ir_codes_norwood	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x722613e3	__orinoco_down	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x4dc7b9d3	spi_bitbang_transfer	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0xd0748ad7	rt2x00lib_load_firmware_wait	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x170fa9df	pci_request_region	vmlinux	EXPORT_SYMBOL
+0xd2634406	ata_bmdma_error_handler	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xcc74a8fe	set_cr0	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xed47b224	hermes_struct_init	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xf90736d6	snd_trident_synth_alloc	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x25f4ad08	flexcop_sram_set_dest	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x4af46fa2	snd_emu10k1_voice_free	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x61e750f1	ib_detach_mcast	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x7a2dec00	ib_attach_mcast	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x981e0015	scsi_adjust_queue_depth	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd651ce92	mb_cache_entry_find_first	fs/mbcache	EXPORT_SYMBOL
+0x01f65f13	lock_rename	vmlinux	EXPORT_SYMBOL
+0xc18a4c25	bio_split	vmlinux	EXPORT_SYMBOL
+0x26de6813	acpi_bus_add	vmlinux	EXPORT_SYMBOL
+0xfd52c20c	tcp_unregister_congestion_control	vmlinux	EXPORT_SYMBOL_GPL
+0xb1d81e6e	agp_generic_alloc_page	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x31c24aa4	capi20_isinstalled	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x6aba7c71	ppp_unregister_compressor	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x735e9f37	gss_mech_get_by_name	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x78935f56	cap_capset_check	security/commoncap	EXPORT_SYMBOL
+0xcd9929c7	cxiBlockingMutexTerm	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xeea4d136	class_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x1e2d14e2	i2c_bit_add_bus	drivers/i2c/algos/i2c-algo-bit	EXPORT_SYMBOL
+0xd25d344d	dccp_set_state	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x842499d3	neigh_sysctl_register	vmlinux	EXPORT_SYMBOL
+0xce0ceabf	netlink_unicast	vmlinux	EXPORT_SYMBOL
+0x50b966fc	tcp_check_req	vmlinux	EXPORT_SYMBOL
+0x6b8decc5	ata_bmdma_status	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x45b08f68	ir_codes_pinnacle_grey	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc5b650b0	i2o_device_claim_release	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xe78e2f79	sppp_close	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x3703d139	usb_ftdi_elan_edset_single	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xed23741c	per_cpu__nf_conntrack_stat	net/netfilter/nf_conntrack	EXPORT_SYMBOL
+0x2c68dcd5	xdr_inline_decode	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x73803bc2	kill_pgrp	vmlinux	EXPORT_SYMBOL
+0x268cc6a2	sys_close	vmlinux	EXPORT_SYMBOL
+0x76e9df26	usb_serial_generic_read_bulk_callback	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x24d5f180	atrtr_get_dev	net/appletalk/appletalk	EXPORT_SYMBOL
+0x5f79e9a1	snd_timer_start	sound/core/snd-timer	EXPORT_SYMBOL
+0x337c243a	snd_gf1_delay	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x89b301d4	param_get_int	vmlinux	EXPORT_SYMBOL
+0x88193ce2	is_bad_inode	vmlinux	EXPORT_SYMBOL
+0x99f07c01	seq_read	vmlinux	EXPORT_SYMBOL
+0xd1472061	acpi_pci_register_driver	vmlinux	EXPORT_SYMBOL
+0xa4d4f0e6	global_cache_flush	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xc10fe128	cdebbuf_free	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x4c6c6337	bttv_gpio_inout	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x8a90d633	fat_build_inode	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x5a733fde	user_update	vmlinux	EXPORT_SYMBOL_GPL
+0x5600904f	fb_get_color_depth	vmlinux	EXPORT_SYMBOL
+0xfc3990f3	start_tty	vmlinux	EXPORT_SYMBOL
+0x05048b38	mca_is_adapter_used	vmlinux	EXPORT_SYMBOL
+0xf51431c4	dm_unregister_hw_handler	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0xa4e0c024	hdlcdrv_receiver	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xa55d3f9f	snd_cs4231_put_single	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x0b27efb7	snd_hda_codec_write	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x6483655c	param_get_short	vmlinux	EXPORT_SYMBOL
+0x023c3593	follow_up	vmlinux	EXPORT_SYMBOL
+0x6f4d2419	notify_change	vmlinux	EXPORT_SYMBOL
+0xae8aa75c	pnp_unregister_card_driver	vmlinux	EXPORT_SYMBOL
+0xbdc4f1f6	kvm_read_guest	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xbc030d33	dm_table_get_mode	drivers/md/dm-mod	EXPORT_SYMBOL
+0xe321b5e5	snd_pcm_notify	sound/core/snd-pcm	EXPORT_SYMBOL
+0xbbb98859	edid_info	vmlinux	EXPORT_SYMBOL_GPL
+0xc468f4b3	dma_alloc_coherent	vmlinux	EXPORT_SYMBOL
+0x33c903af	close_bdev_excl	vmlinux	EXPORT_SYMBOL
+0x56f675fd	sock_no_ioctl	vmlinux	EXPORT_SYMBOL
+0x0f1401bc	skb_copy_and_csum_datagram_iovec	vmlinux	EXPORT_SYMBOL
+0xaafe76ea	drm_sman_cleanup	drivers/char/drm/drm	EXPORT_SYMBOL
+0xde4c6b3c	irlmp_service_to_hint	net/irda/irda	EXPORT_SYMBOL
+0x6e796de8	snd_gf1_look8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xd4bbdc24	__read_lock_failed	vmlinux	EXPORT_SYMBOL
+0xa0639dff	simple_empty	vmlinux	EXPORT_SYMBOL
+0x79480fd3	serio_unregister_child_port	vmlinux	EXPORT_SYMBOL
+0x4521b9ea	md_write_start	drivers/md/md-mod	EXPORT_SYMBOL
+0xf7057742	mpt_verify_adapter	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x2828d1ae	pci_hp_change_slot_info	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x67300d5c	scsi_remove_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa87bc9e7	o2nm_configured_node_map	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x802a795e	nf_conntrack_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x39db8215	snd_rawmidi_transmit_ack	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x1c367e06	cxiGetNfsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd35422f5	cxiSetNfsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x32b14784	blk_start_queueing	vmlinux	EXPORT_SYMBOL
+0x88020d37	blk_queue_merge_bvec	vmlinux	EXPORT_SYMBOL
+0x4789c4d9	__pci_register_driver	vmlinux	EXPORT_SYMBOL
+0x3121e0c8	xfrm_cfg_mutex	vmlinux	EXPORT_SYMBOL
+0x935515cc	ir_input_init	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc1f7d17b	usb_hub_tt_clear_buffer	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xa994a196	journal_lock_updates	fs/jbd/jbd	EXPORT_SYMBOL
+0x801ad963	dccp_make_response	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xea9b9e67	snd_gf1_alloc_voice	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x3be4e2dc	crypto_unregister_template	vmlinux	EXPORT_SYMBOL_GPL
+0x50eed53a	dev_set_mtu	vmlinux	EXPORT_SYMBOL
+0xc2c3b966	ip_ct_attach	vmlinux	EXPORT_SYMBOL
+0x099208a1	hci_register_cb	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xb7323d35	snd_cs4231_pcm	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xf85a2e6c	snd_cs4236_pcm	sound/isa/cs423x/snd-cs4236-lib	EXPORT_SYMBOL
+0x7561ce0d	xdr_decode_string_inplace	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x6624a17c	snd_hda_codec_setup_stream	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x828f2818	should_remove_suid	vmlinux	EXPORT_SYMBOL
+0xc359ec0d	rwsem_down_write_failed	vmlinux	EXPORT_SYMBOL
+0x55d618e4	pnp_device_detach	vmlinux	EXPORT_SYMBOL
+0x5d5234d6	driver_register	vmlinux	EXPORT_SYMBOL_GPL
+0xd0fef3b2	agp_free_key	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x8f5897e9	dvb_usb_tuner_set_params_i2c	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x3b2a351b	ttpci_budget_init	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x770bbdbb	scsi_free_host_dev	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd0065e4f	svc_seq_show	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x75598bf3	srcu_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xbac98630	find_lock_page	vmlinux	EXPORT_SYMBOL
+0xa46bf9c7	acpi_unlock_battery_dir	vmlinux	EXPORT_SYMBOL
+0x9f9e7bec	input_ff_create	vmlinux	EXPORT_SYMBOL_GPL
+0xe0add7ef	device_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x00ebcb5d	ata_id_string	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6057c6f3	capi_message2cmsg	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x806d5133	param_array_get	vmlinux	EXPORT_SYMBOL
+0x89cef6fb	param_array_set	vmlinux	EXPORT_SYMBOL
+0x508ef3dd	remove_wait_queue	vmlinux	EXPORT_SYMBOL
+0x773ca080	file_permission	vmlinux	EXPORT_SYMBOL
+0x0489d9bb	input_ff_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0xbe7b3247	platform_get_irq_byname	vmlinux	EXPORT_SYMBOL_GPL
+0xa5f1784c	wiphy_register	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0x4e58223e	cxiSetOSNodeType	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x24ad926e	sk_stream_write_space	vmlinux	EXPORT_SYMBOL
+0xdfaeb648	ib_send_cm_sidr_rep	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x7f87c157	ib_send_cm_sidr_req	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xa3deee33	ata_device_add	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x8b1785ee	dvb_generic_ioctl	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xd1da36cd	add_mtd_blktrans_dev	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0x29ff3d1c	ipv6_dup_options	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xa59c0666	acpi_strict	vmlinux	EXPORT_SYMBOL
+0x8e002cda	acpi_remove_gpe_block	vmlinux	EXPORT_SYMBOL
+0x8bd76c26	drm_fasync	drivers/char/drm/drm	EXPORT_SYMBOL
+0x38da4725	cycx_intr	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0xca786ed4	pcmcia_resume_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x08389d41	usb_buffer_free	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x7f61c7be	elv_rb_del	vmlinux	EXPORT_SYMBOL
+0x0fa019be	elv_rb_add	vmlinux	EXPORT_SYMBOL
+0x1d28c8c2	tcp_sendmsg	vmlinux	EXPORT_SYMBOL
+0x801ec7bc	xfrm_policy_bysel_ctx	vmlinux	EXPORT_SYMBOL
+0x181badfb	i2c_smbus_write_word_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xa924dac6	dma_prog_region_alloc	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7e275ea8	scsi_complete_async_scans	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x2cedf0ee	dccp_feat_change_recv	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3337757e	irda_device_unregister_dongle	net/irda/irda	EXPORT_SYMBOL
+0x49a9df8a	rxrpc_create_call	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xa621e173	sock_map_fd	vmlinux	EXPORT_SYMBOL
+0xf586eceb	ata_tf_read	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x472bee93	ata_tf_load	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6fa1f481	dst_attach	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x23ae23e5	mptscsih_qcmd	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xab9ead53	mptscsih_is_phys_disk	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xb7e63fef	d_prune_aliases	vmlinux	EXPORT_SYMBOL
+0x45ea3af6	pcim_pin_device	vmlinux	EXPORT_SYMBOL
+0xe8c56761	default_hwif_mmiops	vmlinux	EXPORT_SYMBOL
+0xc0feccd0	xfrm_replay_advance	vmlinux	EXPORT_SYMBOL
+0xf5cf9a1c	release_cis_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xc9f41127	lcd_device_unregister	drivers/video/backlight/lcd	EXPORT_SYMBOL
+0x36ed4069	dccp_disconnect	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3ef76168	snd_ctl_elem_write	sound/core/snd	EXPORT_SYMBOL
+0x19c2aa80	snd_util_mem_avail	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x5148ee2a	rtc_lock	vmlinux	EXPORT_SYMBOL
+0x54352a6f	__pagevec_release	vmlinux	EXPORT_SYMBOL
+0x6e440b58	memcpy_fromiovecend	vmlinux	EXPORT_SYMBOL
+0xc97d880c	gameport_open	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x709a8744	rtl_free_ieee80211	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xe93c1454	rt2x00lib_update_rx_stats	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xc12cee38	rt2x00lib_update_tx_stats	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xa2268b59	mutex_unlock	vmlinux	EXPORT_SYMBOL
+0xfaa79f1a	ilookup5	vmlinux	EXPORT_SYMBOL
+0x9fd22af4	securityfs_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xb88ace73	nla_reserve_nohdr	vmlinux	EXPORT_SYMBOL
+0x76bc1a5c	dma_region_free	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xcf1d339d	videobuf_read_start	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x37c8e4fe	usb_autopm_put_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xf1a5611d	o2net_unregister_handler_list	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x60df86a5	ct_sip_lnlen	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0x739af1ab	_STrace	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x381a7735	per_cpu__kstat	vmlinux	EXPORT_SYMBOL
+0x83a476ce	bitmap_scnlistprintf	vmlinux	EXPORT_SYMBOL
+0xa5b7af1f	pci_block_user_cfg_access	vmlinux	EXPORT_SYMBOL_GPL
+0x4c3d2b30	journal_release_buffer	fs/jbd/jbd	EXPORT_SYMBOL
+0x7091bd96	snd_dma_reserve_buf	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xe44262fa	cxiAttachIOBuffer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0c376b64	cxiDetachIOBuffer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4f9e949e	find_trylock_page	vmlinux	EXPORT_SYMBOL
+0xb077ef32	acpi_enter_sleep_state	vmlinux	EXPORT_SYMBOL
+0xd55e6891	ir_codes_gotview7135	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6534792a	arcnet_debug	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x49ef338b	ieee80211_get_hdrlen	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x07cc4a5d	printk_timed_ratelimit	vmlinux	EXPORT_SYMBOL
+0x3c90c557	__user_walk	vmlinux	EXPORT_SYMBOL
+0x13fceff1	have_submounts	vmlinux	EXPORT_SYMBOL
+0x7564ba14	simple_fill_super	vmlinux	EXPORT_SYMBOL
+0x45a06d9d	nf_register_sysctl_table	vmlinux	EXPORT_SYMBOL_GPL
+0x5c02bf78	cxiSetPageoutThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x795340bb	__tasklet_schedule	vmlinux	EXPORT_SYMBOL
+0x48f07026	key_create_or_update	vmlinux	EXPORT_SYMBOL
+0x05f0b973	hpsb_make_phypacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x274e2c20	cx88_sram_channel_dump	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x6b043eba	irda_init_max_qos_capabilies	net/irda/irda	EXPORT_SYMBOL
+0x372fd589	snd_add_device_sysfs_file	sound/core/snd	EXPORT_SYMBOL
+0xce1b8ca5	sta_info_put	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x7e9ebb05	kernel_thread	vmlinux	EXPORT_SYMBOL
+0x4c66d1d5	bio_add_page	vmlinux	EXPORT_SYMBOL
+0xc07eb1a4	debugfs_create_u16	vmlinux	EXPORT_SYMBOL_GPL
+0xa90fd3b7	dev_load	vmlinux	EXPORT_SYMBOL
+0xf4f14de6	rtnl_trylock	vmlinux	EXPORT_SYMBOL
+0x54f72e67	ib_process_mad_wc	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x91a72814	saa7146_unregister_extension	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x86d61590	mptscsih_target_alloc	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xa54f1a1c	irias_find_object	net/irda/irda	EXPORT_SYMBOL
+0xecd4c344	setSMBOpenLockControl	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb2d522fe	contig_page_data	vmlinux	EXPORT_SYMBOL
+0x9ad9938c	namespace_sem	vmlinux	EXPORT_SYMBOL_GPL
+0x207d9f4d	open_by_devnum	vmlinux	EXPORT_SYMBOL
+0xba7921dc	zlib_inflateEnd	vmlinux	EXPORT_SYMBOL
+0xe6d5c272	agp_device_command	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xe144ceae	gs_close	drivers/char/generic_serial	EXPORT_SYMBOL
+0x40f2b10c	ipmi_alloc_smi_msg	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xe7779666	mptscsih_slave_destroy	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xa6ec8e9b	ipt_unregister_table	net/ipv4/netfilter/ip_tables	EXPORT_SYMBOL
+0xf48a2c4c	MCA_bus	vmlinux	EXPORT_SYMBOL
+0xb1675c75	pci_bus_add_device	vmlinux	EXPORT_SYMBOL_GPL
+0xb423dba1	console_blanked	vmlinux	EXPORT_SYMBOL
+0x78d89ad2	flexcop_device_kfree	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xe01f812f	hostap_add_interface	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x4613bf52	xt_unregister_target	net/netfilter/x_tables	EXPORT_SYMBOL
+0x6ea09972	snd_midi_channel_alloc_set	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0x23679939	__iowrite32_copy	vmlinux	EXPORT_SYMBOL_GPL
+0x5d079804	gigaset_freedriver	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x2ade7255	config_group_init_type_name	fs/configfs/configfs	EXPORT_SYMBOL
+0x49ab5314	ax25_findbyuid	net/ax25/ax25	EXPORT_SYMBOL
+0x8a99a016	mempool_free_slab	vmlinux	EXPORT_SYMBOL
+0x77a1a6fb	simple_transaction_read	vmlinux	EXPORT_SYMBOL
+0xfaf98462	bitrev32	vmlinux	EXPORT_SYMBOL
+0x612390ad	netpoll_set_trap	vmlinux	EXPORT_SYMBOL
+0xc441a5c6	fib_rules_register	vmlinux	EXPORT_SYMBOL_GPL
+0xdbaf6fe4	ata_do_eh	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf04e201b	iscsi_create_conn	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x1924b701	xdr_enter_page	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe6899aed	ssb_pcicore_dev_irqvecs_enable	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xe1bbf78e	audit_log_untrustedstring	vmlinux	EXPORT_SYMBOL_GPL
+0x0e9d8296	generic_setxattr	vmlinux	EXPORT_SYMBOL
+0x07d6bc0e	generic_getxattr	vmlinux	EXPORT_SYMBOL
+0x3d0e0c40	pci_scan_slot	vmlinux	EXPORT_SYMBOL
+0x27ae7d0c	ec_transaction	vmlinux	EXPORT_SYMBOL
+0x84f0b07b	xfrm_decode_session	vmlinux	EXPORT_SYMBOL
+0x0359b360	gigaset_skb_sent	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xa9ad57d9	register_isdn	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0x3d549eb2	qlogicfas408_bus_reset	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xbe3f2939	nf_conntrack_checksum	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x73bfbff6	krb5_encrypt	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x38028ee6	mpage_readpages	vmlinux	EXPORT_SYMBOL
+0xd5beee56	nf_unregister_sysctl_table	vmlinux	EXPORT_SYMBOL_GPL
+0x44faa208	gss_mech_register	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x57f9eab9	__wait_on_buffer	vmlinux	EXPORT_SYMBOL
+0x4df119fa	__bitmap_parse	vmlinux	EXPORT_SYMBOL
+0xa4074aa2	pci_request_regions	vmlinux	EXPORT_SYMBOL
+0xb758b225	acpi_disable_event	vmlinux	EXPORT_SYMBOL
+0x49c9860e	ipmi_set_maintenance_mode	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x8e7f9b47	segment_base	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xe33dbaf1	saa7146_pgtable_free	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xa7440adb	iscsi_conn_get_param	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xbfbfa84a	kill_litter_super	vmlinux	EXPORT_SYMBOL
+0xee2d147e	sock_create	vmlinux	EXPORT_SYMBOL
+0xee940eba	dm_table_event	drivers/md/dm-mod	EXPORT_SYMBOL
+0xcaa4253f	dvb_pll_philips_td1316	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xe5858fe2	tty_prepare_flip_string_flags	vmlinux	EXPORT_SYMBOL_GPL
+0x8469b4e1	tty_prepare_flip_string	vmlinux	EXPORT_SYMBOL_GPL
+0xb1961566	agp_generic_enable	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xc8e804c8	usb_free_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xdf6c96bf	ip_vs_conn_new	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x69ee7fd1	snd_seq_expand_var_event	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x6fa56835	getFilePos	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x026ea965	sysfs_remove_link	vmlinux	EXPORT_SYMBOL_GPL
+0x8dce09f8	pcim_iomap	vmlinux	EXPORT_SYMBOL
+0x7d4ab013	skb_copy_bits	vmlinux	EXPORT_SYMBOL
+0x853a7ef0	fib_rules_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x4dec8e85	cdrom_number_of_slots	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x21b47437	cx88_boards	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x8c4123d0	bit_waitqueue	vmlinux	EXPORT_SYMBOL
+0x164bf813	find_get_page	vmlinux	EXPORT_SYMBOL
+0x56856f33	proc_root	vmlinux	EXPORT_SYMBOL
+0x43800f68	acpi_os_signal_semaphore	vmlinux	EXPORT_SYMBOL
+0xd94c1770	acpi_os_read_pci_configuration	vmlinux	EXPORT_SYMBOL
+0x3950ee32	sysdev_class_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x1432c712	dma_async_device_register	vmlinux	EXPORT_SYMBOL
+0xf0b66637	tcp_make_synack	vmlinux	EXPORT_SYMBOL
+0x06daf447	ib_free_send_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x69f240e8	mii_check_gmii_support	drivers/net/mii	EXPORT_SYMBOL
+0xf044f8d9	snd_akm4xxx_build_controls	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0x48fd4b1c	invalidate_inodes	vmlinux	EXPORT_SYMBOL
+0x643ed43b	sock_common_recvmsg	vmlinux	EXPORT_SYMBOL
+0xe49ff3b0	ata_wait_register	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf762ed80	sl811h_driver	drivers/usb/host/sl811-hcd	EXPORT_SYMBOL
+0x0e69161f	snd_sbmixer_write	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x1d1373f2	p54_parse_eeprom	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x7054a3e4	request_dma	vmlinux	EXPORT_SYMBOL
+0x8251bcc3	bitmap_release_region	vmlinux	EXPORT_SYMBOL
+0x356b4df5	get_driver	vmlinux	EXPORT_SYMBOL_GPL
+0xd52c7394	dev_mc_delete	vmlinux	EXPORT_SYMBOL
+0x3f4c8df6	inet_csk_addr2sockaddr	vmlinux	EXPORT_SYMBOL_GPL
+0xb3d08854	cyber2000fb_get_fb_var	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x0fbb523e	cyber2000fb_disable_extregs	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x2bf56ce2	kick_iocb	vmlinux	EXPORT_SYMBOL
+0x5042a012	sysfs_remove_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xe11ae273	request_key_with_auxdata	vmlinux	EXPORT_SYMBOL
+0xa963f49c	tcp_orphan_count	vmlinux	EXPORT_SYMBOL_GPL
+0x46e5d002	ip_mc_inc_group	vmlinux	EXPORT_SYMBOL
+0xe5dfd740	iscsi_pool_free	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x7fac4ef1	fat_attach	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x6c302fe7	ircomm_flow_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x76f5669a	irias_add_octseq_attrib	net/irda/irda	EXPORT_SYMBOL
+0x0f5292c8	snd_mpu401_uart_new	sound/drivers/mpu401/snd-mpu401-uart	EXPORT_SYMBOL
+0xc91cf5ba	ssb_bus_may_powerdown	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x2dae0066	get_io_context	vmlinux	EXPORT_SYMBOL
+0x025da070	snprintf	vmlinux	EXPORT_SYMBOL
+0xc0a7a0f2	tcf_exts_validate	vmlinux	EXPORT_SYMBOL
+0x1c6a2dec	md_new_event	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0x38a20e5b	irda_debug	net/irda/irda	EXPORT_SYMBOL
+0xf986b633	ac97_alloc_codec	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x391203cc	cxiCopyInstr	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1a73fe4b	hrtimer_init	vmlinux	EXPORT_SYMBOL_GPL
+0x9c51ecca	__bread	vmlinux	EXPORT_SYMBOL
+0x86596c8d	devm_kzalloc	vmlinux	EXPORT_SYMBOL_GPL
+0xf86433de	ide_acpi_init	vmlinux	EXPORT_SYMBOL_GPL
+0x0adbf693	ata_scsi_simulate	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x7bf3672d	scsi_tgt_tsk_mgmt_request	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x0f4a6244	ipv6_invert_rthdr	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x18e1683f	snd_dma_program	sound/core/snd	EXPORT_SYMBOL
+0x9ceb163c	memcpy_toiovec	vmlinux	EXPORT_SYMBOL
+0x4b085dbf	agp3_generic_configure	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x6d5f2ee5	agp_alloc_page_array	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x4c0b0237	ds1337_do_command	drivers/i2c/chips/ds1337	EXPORT_SYMBOL_GPL
+0xfa4b175d	iscsi_session_teardown	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xad91f40f	snd_gf1_look16	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x4eb14bf6	ieee80211_beacon_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x5218cf7b	cxiMapContiguousRO	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3c408342	posix_unblock_lock	vmlinux	EXPORT_SYMBOL
+0x7f8723bd	pcie_mch_quirk	vmlinux	EXPORT_SYMBOL
+0x556a3636	cfb_imageblit	vmlinux	EXPORT_SYMBOL
+0xba2d8594	ec_read	vmlinux	EXPORT_SYMBOL
+0x5d4e2622	neigh_resolve_output	vmlinux	EXPORT_SYMBOL
+0x1b6314fd	in_aton	vmlinux	EXPORT_SYMBOL
+0xbee1d086	b1pciv4_detect	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x5b792a8c	journal_init_dev	fs/jbd/jbd	EXPORT_SYMBOL
+0x2329b292	crc32c_be	lib/libcrc32c	EXPORT_SYMBOL
+0x37d0b921	crc32c_le	lib/libcrc32c	EXPORT_SYMBOL
+0x3679f0e2	irttp_udata_request	net/irda/irda	EXPORT_SYMBOL
+0x36551d0f	snd_card_register	sound/core/snd	EXPORT_SYMBOL
+0x9da410b1	try_to_free_buffers	vmlinux	EXPORT_SYMBOL
+0x1433a605	pnp_register_driver	vmlinux	EXPORT_SYMBOL
+0xbe34b178	__scm_send	vmlinux	EXPORT_SYMBOL
+0x62824539	tcp_close	vmlinux	EXPORT_SYMBOL
+0x37ac8abd	usb_register_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x23583f8f	nf_nat_ftp_hook	net/netfilter/nf_conntrack_ftp	EXPORT_SYMBOL_GPL
+0x91f1ff68	nf_nat_irc_hook	net/netfilter/nf_conntrack_irc	EXPORT_SYMBOL_GPL
+0xcfbb1a5a	nf_nat_sdp_hook	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xe451bd5a	nf_nat_sip_hook	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xb56c5c7c	dquot_free_inode	vmlinux	EXPORT_SYMBOL
+0xfa7c01c1	register_framebuffer	vmlinux	EXPORT_SYMBOL
+0xb256c35b	del_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x8189da7a	nand_default_bbt	drivers/mtd/nand/nand	EXPORT_SYMBOL
+0x1d16e8a1	rpc_destroy_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3cd06035	add_input_randomness	vmlinux	EXPORT_SYMBOL_GPL
+0x119642e0	drm_sman_takedown	drivers/char/drm/drm	EXPORT_SYMBOL
+0xd6df3b3a	make_8023_client	net/802/p8023	EXPORT_SYMBOL
+0x0737ba07	snd_hda_resume	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xf51ae235	touch_nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0x09fce963	bd_claim	vmlinux	EXPORT_SYMBOL
+0x43385ad9	acpi_pci_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x9bbb9a11	device_remove_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xf47f3d40	xfrm_init_pmtu	vmlinux	EXPORT_SYMBOL
+0x82eaca73	register_cdrom	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x68ceb585	arc_proto_map	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x5a1eb54b	scsi_unblock_requests	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x3b9b7ba7	rtl_ieee80211_wx_get_wap	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x9819eb60	rtl_ieee80211_wx_set_wap	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8706fba7	call_rcu	vmlinux	EXPORT_SYMBOL_GPL
+0xb3284531	acpi_dbg_layer	vmlinux	EXPORT_SYMBOL
+0xf6e75807	nf_ct_deliver_cached_events	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xaf5bf6ef	nfs_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x7eaf1e2d	snd_gf1_poke	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x394cb088	sound_free_dma	sound/oss/sound	EXPORT_SYMBOL
+0xd205af0a	hwrng_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xe8823338	dvb_ringbuffer_empty	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x826360fd	do_posix_clock_nonanosleep	vmlinux	EXPORT_SYMBOL_GPL
+0x75e8f3c3	crypto_register_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xda8ddbdf	acpi_install_gpe_block	vmlinux	EXPORT_SYMBOL
+0xd34691a4	tcf_exts_change	vmlinux	EXPORT_SYMBOL
+0x54dbe15e	parport_remove_port	drivers/parport/parport	EXPORT_SYMBOL
+0x70de1241	dccp_reqsk_init	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x52b66929	xfrm6_rcv_spi	net/ipv6/ipv6	EXPORT_SYMBOL
+0x295c40f3	snd_pcm_release_substream	sound/core/snd-pcm	EXPORT_SYMBOL
+0xdc01a06e	find_next_zero_bit	vmlinux	EXPORT_SYMBOL
+0x3167afea	device_reprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x80130d79	pskb_put	vmlinux	EXPORT_SYMBOL_GPL
+0x7c70d736	ata_qc_complete	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x4b4497be	ata_sas_slave_configure	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xdd27cb1b	i2c_master_send	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xec051406	scsi_tgt_free_queue	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x05060a19	snd_opl3_regmap	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x6cfc4281	snd_trident_alloc_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x5e6f4c12	seq_open	vmlinux	EXPORT_SYMBOL
+0x6c4c689c	dev_kfree_skb_any	vmlinux	EXPORT_SYMBOL
+0x1e491a04	ib_unmap_fmr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x9349486f	dvb_ca_en50221_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xb95d2728	journal_abort	fs/jbd/jbd	EXPORT_SYMBOL
+0xbc02c34b	nf_conntrack_l4proto_icmpv6	net/ipv6/netfilter/nf_conntrack_ipv6	EXPORT_SYMBOL
+0x2b1e90d4	snd_ctl_new1	sound/core/snd	EXPORT_SYMBOL
+0x4ae616fd	wiphy_free	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0x1fd55181	__lock_page	vmlinux	EXPORT_SYMBOL
+0x07263649	simple_readpage	vmlinux	EXPORT_SYMBOL
+0x2427b7d4	pci_enable_bridges	vmlinux	EXPORT_SYMBOL
+0x2b239752	pci_bus_type	vmlinux	EXPORT_SYMBOL
+0x72d1f06d	hpsb_iso_packet_received	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x889d8d3c	hci_conn_encrypt	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x10fe48e9	follow_down	vmlinux	EXPORT_SYMBOL
+0xd97c67cf	ib_sa_cancel_query	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x8226c662	pcmcia_access_configuration_register	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xcff7d833	usb_altnum_to_altsetting	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x360b1afe	probe_irq_mask	vmlinux	EXPORT_SYMBOL
+0x49b77e0f	ide_error	vmlinux	EXPORT_SYMBOL_GPL
+0x3b30538a	tifm_unregister_driver	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xfe7cd576	cycx_exec	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x957c26c0	find_exported_dentry	fs/exportfs/exportfs	EXPORT_SYMBOL
+0xba5095d2	rpcauth_lookupcred	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xcea608ba	snd_sbmixer_add_ctl	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x57791a81	synth_jiffy_delta	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x8d0e7aa8	get_write_access	vmlinux	EXPORT_SYMBOL
+0x1dfb59a0	tty_unregister_driver	vmlinux	EXPORT_SYMBOL
+0xbb0f18a5	redraw_screen	vmlinux	EXPORT_SYMBOL
+0xdaddba85	dib3000mc_pid_control	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0x82a62f52	genphy_read_status	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x8b7d8caf	dccp_statistics	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x79046aa7	snd_ad1848_mixer	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0xf3bf0bce	__bitmap_complement	vmlinux	EXPORT_SYMBOL
+0x85832e5c	pci_find_present	vmlinux	EXPORT_SYMBOL
+0xd35557a6	isapnp_protocol	vmlinux	EXPORT_SYMBOL
+0x3a9e0c01	drm_poll	drivers/char/drm/drm	EXPORT_SYMBOL
+0xb2d1e17e	v4l2_prio_change	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x5e48a6d1	del_timer	vmlinux	EXPORT_SYMBOL
+0xf4ec9297	class_device_put	vmlinux	EXPORT_SYMBOL_GPL
+0xebaa0231	class_device_get	vmlinux	EXPORT_SYMBOL_GPL
+0x73962e69	dma_get_required_mask	vmlinux	EXPORT_SYMBOL_GPL
+0x5c5cb92e	bttv_get_pcidev	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x149db923	selinux_string_to_sid	vmlinux	EXPORT_SYMBOL_GPL
+0x9b05ea5c	scsi_command_size	vmlinux	EXPORT_SYMBOL
+0x7d5bba3b	mca_device_set_name	vmlinux	EXPORT_SYMBOL
+0x6d4f2374	ipmi_set_my_address	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x60c51984	gameport_set_name	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x3ac284bc	set_cr3	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x45e418a3	map_destroy	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0xa7849da5	usb_get_current_frame_number	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x60ce47de	modify_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x7e97ae6c	__mark_inode_dirty	vmlinux	EXPORT_SYMBOL
+0xf2f267b5	isa_bridge	vmlinux	EXPORT_SYMBOL
+0x6b3eadd5	dev_close	vmlinux	EXPORT_SYMBOL
+0xb9d143ec	tcp_v4_send_check	vmlinux	EXPORT_SYMBOL
+0xfb1350ed	vcc_release_async	vmlinux	EXPORT_SYMBOL
+0x4149a68a	iscsi_conn_error	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xbf6b8150	hci_suspend_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x0366cbe9	tipc_forward_buf2name	net/tipc/tipc	EXPORT_SYMBOL
+0xbd7be47a	snd_pcm_lib_free_pages	sound/core/snd-pcm	EXPORT_SYMBOL
+0xd1a5ffa9	avail_to_resrv_perfctr_nmi	vmlinux	EXPORT_SYMBOL
+0x2348984e	adjust_resource	vmlinux	EXPORT_SYMBOL
+0xb11c8cb2	unregister_filesystem	vmlinux	EXPORT_SYMBOL
+0xdcbd2728	acpi_bus_get_device	vmlinux	EXPORT_SYMBOL
+0xbd86d96f	sock_alloc_send_skb	vmlinux	EXPORT_SYMBOL
+0xb84c90b4	noop_qdisc	vmlinux	EXPORT_SYMBOL
+0x2ebd428d	zl10353_attach	drivers/media/dvb/frontends/zl10353	EXPORT_SYMBOL
+0x0af71b9b	usbvideo_Deregister	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xa021ef50	v4l2_field_names	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xd27ef9e7	snd_card_disconnect	sound/core/snd	EXPORT_SYMBOL
+0x32cdc465	cxiIncModuleCounter	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x93805374	max_cstate	vmlinux	EXPORT_SYMBOL
+0x9a67afcc	xfrm_state_insert	vmlinux	EXPORT_SYMBOL
+0x19588366	hpsb_add_host	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd54e219d	hermes_docmd_wait	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x914aa643	nobh_prepare_write	vmlinux	EXPORT_SYMBOL
+0x31766064	isa_unregister_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x89590f57	sonypi_camera_command	drivers/char/sonypi	EXPORT_SYMBOL
+0x2b9580cb	nf_conntrack_flush	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x63f05053	xt_find_revision	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x3702e06b	rpc_peeraddr2str	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x0543ec1c	snd_ak4531_resume	sound/pci/ac97/snd-ak4531-codec	EXPORT_SYMBOL
+0x6e185827	_spin_lock_irqsave	vmlinux	EXPORT_SYMBOL
+0xc9fb4757	crypto_mod_get	vmlinux	EXPORT_SYMBOL_GPL
+0x9da33d85	blk_rq_unmap_user	vmlinux	EXPORT_SYMBOL
+0x6bb1a2ce	blk_plug_device	vmlinux	EXPORT_SYMBOL
+0xf16e0fc0	pci_bus_add_devices	vmlinux	EXPORT_SYMBOL
+0x111967c4	i2c_check_addr	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x783b3288	iw_cm_listen	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x46d7a38f	mpt_event_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x68afa196	usb_mon_register	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x46a4e36d	nf_conntrack_l3proto_generic	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6c6f1a61	snd_midi_process_event	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0xf174ed48	acquire_console_sem	vmlinux	EXPORT_SYMBOL
+0xef0b7706	ata_sas_port_init	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x4a9e73b1	fc_remove_host	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xc2861a07	snd_rawmidi_drop_output	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x82384d0b	__printk_ratelimit	vmlinux	EXPORT_SYMBOL
+0x777b6d7f	cx88_print_irqbits	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x316ff5df	cxiNewOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xcc1f1c3d	inet_twdr_hangman	vmlinux	EXPORT_SYMBOL_GPL
+0x2611fbee	register_hotplug_dock_device	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0x0b9d72e3	hpsb_iso_recv_listen_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x396aef80	xdr_read_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xeda53a76	xdr_encode_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x09ca1a94	ata_irq_on	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe0f25c94	iscsi_create_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xdf5008fc	tipc_peer	net/tipc/tipc	EXPORT_SYMBOL
+0x90035333	secure_tcpv6_sequence_number	vmlinux	EXPORT_SYMBOL
+0xfba57f51	hpsb_speedto_str	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9877bead	ib_flush_fmr_pool	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbb1918b0	journal_get_create_access	fs/jbd/jbd	EXPORT_SYMBOL
+0x717770e2	request_key	vmlinux	EXPORT_SYMBOL
+0x45daf470	scatterwalk_done	vmlinux	EXPORT_SYMBOL_GPL
+0xea8e1fbf	cx8802_fini_common	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xb28ee2ab	iscsi_eh_abort	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xfb86b96f	dlm_errname	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xa0c98dc9	probe_uart401	sound/oss/uart401	EXPORT_SYMBOL
+0x36410296	vfs_llseek	vmlinux	EXPORT_SYMBOL
+0xb86e4ab9	random32	vmlinux	EXPORT_SYMBOL
+0x01180417	pcim_iomap_regions	vmlinux	EXPORT_SYMBOL
+0x1c427ecb	v4l2_ctrl_query_fill	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x38713b52	mtd_table_mutex	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x5a47c89c	usb_control_msg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x3bcd49ef	pci_do_scan_bus	vmlinux	EXPORT_SYMBOL
+0x6fc0d192	hpsb_get_tlabel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf146c201	snd_dma_free_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xaf8d375f	ieee80211_tx_status_irqsafe	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x5d9aead4	ide_register_hw_with_fixup	vmlinux	EXPORT_SYMBOL
+0xf08a9d5e	ves1x93_attach	drivers/media/dvb/frontends/ves1x93	EXPORT_SYMBOL
+0x8d69a50c	iscsi_add_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xb85f9931	bt_sock_unlink	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x1fbac5d4	synth_write	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x272d394e	mtrr_del	vmlinux	EXPORT_SYMBOL
+0xc3d8155c	ide_get_error_location	vmlinux	EXPORT_SYMBOL
+0x4bc5df23	bfifo_qdisc_ops	vmlinux	EXPORT_SYMBOL
+0x58bb290c	__xfrm_state_destroy	vmlinux	EXPORT_SYMBOL
+0x0dfb5e57	v4l2_prio_max	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x60a310d1	securityfs_remove	vmlinux	EXPORT_SYMBOL_GPL
+0x0a05b9f6	hpsb_iso_recv_unlisten_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x2de2970a	hostap_80211_header_parse	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x43c74f42	usb_hcd_resume_root_hub	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xa948751e	sound_unload_audiodev	sound/oss/sound	EXPORT_SYMBOL
+0x7128f2b4	devres_remove_group	vmlinux	EXPORT_SYMBOL_GPL
+0xa31159f6	tpm_calc_ordinal_duration	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x73b0b8ef	kvm_set_msr_common	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x9d4f1520	kvm_get_msr_common	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x6faccdd0	videobuf_mmap_setup	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x3d5105b5	hostap_set_string	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xe55f694b	iscsi_check_assign_cmdsn	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xea10655a	__bitmap_intersects	vmlinux	EXPORT_SYMBOL
+0xe27f8a4c	dev_set_allmulti	vmlinux	EXPORT_SYMBOL
+0xf313da4e	sha_transform	vmlinux	EXPORT_SYMBOL
+0xb4085448	drm_mmap	drivers/char/drm/drm	EXPORT_SYMBOL
+0xdf3d84b8	i2c_add_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x204a2a3f	bt878_stop	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0xbea46e41	snd_ctl_remove_id	sound/core/snd	EXPORT_SYMBOL
+0x26615914	ac97_set_adc_rate	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x8816c7ab	__d_path	vmlinux	EXPORT_SYMBOL
+0x23e97fbf	kobject_set_name	vmlinux	EXPORT_SYMBOL
+0xcc6d638e	pci_stop_bus_device	vmlinux	EXPORT_SYMBOL_GPL
+0x33389296	hpsb_make_writepacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x31116347	set_device_ro	vmlinux	EXPORT_SYMBOL
+0x2bb55d6e	acpi_remove_notify_handler	vmlinux	EXPORT_SYMBOL
+0x5dab0ad2	icmp_statistics	vmlinux	EXPORT_SYMBOL
+0xb953d81c	ata_bmdma_irq_clear	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe51f5092	gs_put_char	drivers/char/generic_serial	EXPORT_SYMBOL
+0xd952be77	ipmi_smi_watcher_register	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xd21eefca	mptscsih_bios_param	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xfb0cff6c	gfs2_register_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x52570f80	nf_conntrack_unregister_cache	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x99ea12ce	panic_blink	vmlinux	EXPORT_SYMBOL
+0x4dccd4a3	pci_clear_mwi	vmlinux	EXPORT_SYMBOL
+0x60b63697	ide_lock	vmlinux	EXPORT_SYMBOL
+0x359fc7da	pcibios_set_irq_routing	vmlinux	EXPORT_SYMBOL
+0x2a843bef	i2o_dump_message	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xcf97f3bd	dead_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x16a63b4e	cxiIsKupdateThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x82072614	tasklet_kill	vmlinux	EXPORT_SYMBOL
+0x9b511728	cancel_dirty_page	vmlinux	EXPORT_SYMBOL
+0x9713ada9	kmap_high	vmlinux	EXPORT_SYMBOL
+0x102e9c29	ata_sas_port_stop	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xfc7476fb	dvb_pll_microtune_4042	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x1610bd14	ppp_register_channel	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x989a8d91	bio_endio	vmlinux	EXPORT_SYMBOL
+0x84965df9	drm_agp_alloc	drivers/char/drm/drm	EXPORT_SYMBOL
+0x9d44f4fc	i2c_use_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xbc6f7e5d	__gameport_register_port	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x7e3f0b34	dvb_unregister_frontend	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x7bba7e4b	scsi_print_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4f7bf5a7	iscsi_if_destroy_session_done	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x0670b138	locks_remove_posix	vmlinux	EXPORT_SYMBOL
+0xce16f196	sk_stop_timer	vmlinux	EXPORT_SYMBOL
+0x944c5915	gf128mul_free_64k	crypto/gf128mul	EXPORT_SYMBOL
+0x651b6e40	btcx_riscmem_alloc	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0xbf43ddce	videobuf_pci_dma_unmap	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x9cfc78ac	pcmcia_register_driver	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xb4457f7e	ieee80211_stop_queues	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4a971ec7	radix_tree_delete	vmlinux	EXPORT_SYMBOL
+0x27bc8968	pcie_port_service_unregister	vmlinux	EXPORT_SYMBOL
+0x8d161d89	iscsi_unregister_transport	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x0bba1c14	on_each_cpu	vmlinux	EXPORT_SYMBOL
+0x21a288fa	devm_iounmap	vmlinux	EXPORT_SYMBOL
+0x5bd6f8e6	devm_ioremap	vmlinux	EXPORT_SYMBOL
+0x0ba9230d	proc_net_netfilter	vmlinux	EXPORT_SYMBOL
+0x1abd5eff	tcp_slow_start	vmlinux	EXPORT_SYMBOL_GPL
+0x8dd204a5	dm_table_flush_all	drivers/md/dm-mod	EXPORT_SYMBOL
+0x6d03cb85	z8530_init	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xd36c3882	bioset_create	vmlinux	EXPORT_SYMBOL
+0xbecd6157	inotify_remove_watch_locked	vmlinux	EXPORT_SYMBOL_GPL
+0x34cab621	nla_reserve	vmlinux	EXPORT_SYMBOL
+0x76ced4d6	ata_bmdma_drive_eh	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc65abeb7	agp3_generic_sizes	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x440fba34	parport_find_number	drivers/parport/parport	EXPORT_SYMBOL
+0x4457d8dd	snd_pcm_set_sync	sound/core/snd-pcm	EXPORT_SYMBOL
+0x2231e258	snd_gf1_stop_voice	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x77cff26a	invalidate_inode_pages2_range	vmlinux	EXPORT_SYMBOL_GPL
+0x3096be16	names_cachep	vmlinux	EXPORT_SYMBOL
+0xc943a6d1	__cpufreq_driver_target	vmlinux	EXPORT_SYMBOL_GPL
+0x7a174a47	rtnl_put_cacheinfo	vmlinux	EXPORT_SYMBOL_GPL
+0xb063b58d	key_instantiate_and_link	vmlinux	EXPORT_SYMBOL
+0xba9afc69	pci_unmap_rom	vmlinux	EXPORT_SYMBOL
+0xc3e417dd	xrlim_allow	vmlinux	EXPORT_SYMBOL
+0x2bec1c48	xfrm_policy_register_afinfo	vmlinux	EXPORT_SYMBOL
+0x87cc6193	ata_qc_complete_multiple	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb52e33d8	z8530_null_rx	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xc8e96dea	qword_addhex	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x51beb8ea	snd_info_create_card_entry	sound/core/snd	EXPORT_SYMBOL
+0x9ebdd3af	ivtv_reset_ir_gpio	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x69641a7b	page_follow_link_light	vmlinux	EXPORT_SYMBOL
+0x45b04d35	single_open	vmlinux	EXPORT_SYMBOL
+0x9795c0d3	crypto_register_alg	vmlinux	EXPORT_SYMBOL_GPL
+0xa1b759ce	fb_add_videomode	vmlinux	EXPORT_SYMBOL
+0x7355cdba	mpt_get_msg_frame	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x0fdb1426	ist_info	vmlinux	EXPORT_SYMBOL
+0x2f4bf15e	kthread_stop	vmlinux	EXPORT_SYMBOL
+0x9272bc53	scx200_gpio_shadow	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0x280bdc17	genphy_config_advert	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xfef96e23	__scsi_print_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xc8f94a02	xfrm6_find_1stfragopt	net/ipv6/ipv6	EXPORT_SYMBOL
+0xab14e193	xfrm6_tunnel_free_spi	net/ipv6/xfrm6_tunnel	EXPORT_SYMBOL
+0x4a3ea5c0	snd_request_card	sound/core/snd	EXPORT_SYMBOL
+0x198788b4	snd_lookup_oss_minor_data	sound/core/snd	EXPORT_SYMBOL
+0x867fb3a2	snd_ac97_suspend	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x765a9048	sysfs_update_file	vmlinux	EXPORT_SYMBOL_GPL
+0x0f65074a	gameport_unregister_driver	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x79a4cfd5	dm_register_target	drivers/md/dm-mod	EXPORT_SYMBOL
+0xa7b91a7b	lockd_down	fs/lockd/lockd	EXPORT_SYMBOL
+0x1a724fcc	snd_seq_kernel_client_ctl	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x450e62f2	help_handler	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x2e9a955d	v4l2_prio_close	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x3e69118f	rtc_set_alarm	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xf8004e0e	__scsi_put_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x3471272d	__scsi_get_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x8793a1aa	ax25_display_timer	net/ax25/ax25	EXPORT_SYMBOL
+0x2def7f76	rtc_cmos_write	vmlinux	EXPORT_SYMBOL
+0xa6814433	groups_free	vmlinux	EXPORT_SYMBOL
+0x3980aac1	unregister_reboot_notifier	vmlinux	EXPORT_SYMBOL
+0xc6ac8880	cleanup_srcu_struct	vmlinux	EXPORT_SYMBOL_GPL
+0x237effdb	inet_csk_listen_start	vmlinux	EXPORT_SYMBOL_GPL
+0x05b24047	ib_sa_register_client	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x32514d20	ezusb_writememory	drivers/usb/serial/usbserial	EXPORT_SYMBOL
+0x545c1381	__snd_util_mem_free	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x38953756	copy_fs_struct	vmlinux	EXPORT_SYMBOL_GPL
+0x560600d2	sk_clone	vmlinux	EXPORT_SYMBOL_GPL
+0x8abc0284	dev_mc_upload	vmlinux	EXPORT_SYMBOL
+0x38b9ff2a	gf128mul_64k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0x79a53629	gf128mul_64k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0xaa165d27	capilib_release_appl	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x269f1f56	mptscsih_taskmgmt_complete	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x8e146195	synth_release_region	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x2801c7f4	cxiIsSambaThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x73e2050f	_STraceNB	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x5118c382	secure_dccp_sequence_number	vmlinux	EXPORT_SYMBOL
+0xf3b4e0a4	generic_ide_ioctl	vmlinux	EXPORT_SYMBOL
+0xc3ac84c0	ipmi_unregister_smi	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xd89d6b11	i2o_iop_find_device	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xda4008e6	cond_resched	vmlinux	EXPORT_SYMBOL
+0x2afe439d	interruptible_sleep_on	vmlinux	EXPORT_SYMBOL
+0xffdf8168	subsystem_register	vmlinux	EXPORT_SYMBOL
+0x4c11782a	dma_async_client_unregister	vmlinux	EXPORT_SYMBOL
+0xc9c0f735	neigh_parms_alloc	vmlinux	EXPORT_SYMBOL
+0xf162fe2d	sysctl_xfrm_aevent_etime	vmlinux	EXPORT_SYMBOL
+0x19a304ba	usb_disabled	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xc64e058a	snd_es1688_mixer_write	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0x40a40156	cxiAddOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x93a6e0b2	io_schedule	vmlinux	EXPORT_SYMBOL
+0x145cf869	blk_queue_invalidate_tags	vmlinux	EXPORT_SYMBOL
+0xe6488b47	cpufreq_notify_transition	vmlinux	EXPORT_SYMBOL_GPL
+0x9eb09878	__ip_route_output_key	vmlinux	EXPORT_SYMBOL_GPL
+0xa7d739c1	usb_buffer_map_sg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xcd9991a9	usb_usual_set_present	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0x0159b832	rxrpc_create_transport	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x5e7f4920	snd_pcm_format_set_silence	sound/core/snd-pcm	EXPORT_SYMBOL
+0x6ff41109	snd_i2c_device_create	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0x4e209f72	cxiGetTOD	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf3cfb588	cfb_fillrect	vmlinux	EXPORT_SYMBOL
+0xe9ef70fa	ib_create_send_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x2b2fa526	gigaset_unassign	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x312020a8	usb_hcd_pci_resume	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xc96729fb	__pagevec_lru_add	vmlinux	EXPORT_SYMBOL
+0xda8fd495	isapnp_write_byte	vmlinux	EXPORT_SYMBOL
+0xa715eef5	nf_net_ipv4_netfilter_sysctl_path	vmlinux	EXPORT_SYMBOL_GPL
+0x468bacb2	register_jprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x2dace7d0	register_kprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x249cf874	bus_register_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x04c97916	tr_type_trans	vmlinux	EXPORT_SYMBOL
+0x75f7fb17	netlink_set_err	vmlinux	EXPORT_SYMBOL
+0xe2dd7ec7	agp_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xfc27303b	HiSax_closecard	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xe62bc8ce	fc_attach_transport	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x2c49f254	nf_nat_module_is_loaded	net/ipv4/netfilter/nf_conntrack_ipv4	EXPORT_SYMBOL_GPL
+0x870b6399	get_unmapped_area	vmlinux	EXPORT_SYMBOL
+0x7b61dbb2	wireless_spy_update	vmlinux	EXPORT_SYMBOL
+0x007dbd55	skb_queue_purge	vmlinux	EXPORT_SYMBOL
+0xfee7e218	register_snap_client	vmlinux	EXPORT_SYMBOL
+0xf7da8f1a	inet_listen	vmlinux	EXPORT_SYMBOL
+0x1b10328e	hpsb_make_readpacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd44731e5	tipc_ownidentity	net/tipc/tipc	EXPORT_SYMBOL
+0xdb67c54a	blk_rq_map_user	vmlinux	EXPORT_SYMBOL
+0x76a49361	subsystem_unregister	vmlinux	EXPORT_SYMBOL
+0x352830b8	platform_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0x35c1ae78	sata_print_link_status	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x310d1bc9	tipc_detach	net/tipc/tipc	EXPORT_SYMBOL
+0x16cb572e	snd_hda_codec_read	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x760a0f4f	yield	vmlinux	EXPORT_SYMBOL
+0x11fdb6bc	d_find_alias	vmlinux	EXPORT_SYMBOL
+0xe3f590bf	bt_accept_unlink	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x5fc0ac9c	nf_ct_gre_keymap_add	net/netfilter/nf_conntrack_proto_gre	EXPORT_SYMBOL_GPL
+0x235f4515	acpi_processor_ffh_cstate_probe	vmlinux	EXPORT_SYMBOL_GPL
+0xbc2081ec	fsstack_copy_attr_all	vmlinux	EXPORT_SYMBOL_GPL
+0x1dc36131	fb_destroy_modedb	vmlinux	EXPORT_SYMBOL
+0xc2d6b4d1	rdma_listen	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xc42bd037	ir_codes_budget_ci_old	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc720d2ec	i2o_device_claim	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xfc43b1b7	xt_check_target	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xa0b04675	vmalloc_32	vmlinux	EXPORT_SYMBOL
+0x2cf4b076	d_invalidate	vmlinux	EXPORT_SYMBOL
+0xdb92a427	__ide_error	vmlinux	EXPORT_SYMBOL_GPL
+0x8b180fc7	genl_unregister_ops	vmlinux	EXPORT_SYMBOL
+0xbc18d3f7	scsi_command_normalize_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xabe65cf2	textsearch_unregister	vmlinux	EXPORT_SYMBOL
+0x975c94bf	input_register_handler	vmlinux	EXPORT_SYMBOL
+0x71482514	dma_pool_free	vmlinux	EXPORT_SYMBOL
+0xfc7d4bd5	ata_acpi_setup	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc6ad2021	drm_sman_free_key	drivers/char/drm/drm	EXPORT_SYMBOL
+0x5644f658	tpm_register_hardware	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x692371b4	nf_conntrack_hash	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x05d79582	set_h245_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x3474da0b	blk_queue_issue_flush_fn	vmlinux	EXPORT_SYMBOL
+0xb0b847ac	__bitmap_full	vmlinux	EXPORT_SYMBOL
+0x43524eda	fib_rules_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0xed860dd9	netif_carrier_on	vmlinux	EXPORT_SYMBOL
+0xa35de80f	ipv4_config	vmlinux	EXPORT_SYMBOL
+0x29594c63	inet6_csk_bind_conflict	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x29b7b886	nf_ct_helper_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x945f3e8b	cxiCheckTypes	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3c214fd7	errno	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2aef8d56	cxiGetFileAndVp	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc8be7b15	_spin_lock	vmlinux	EXPORT_SYMBOL
+0x4c4078a8	__dst_free	vmlinux	EXPORT_SYMBOL
+0x4b945e55	__rta_fill	vmlinux	EXPORT_SYMBOL
+0x88ce57e1	dvb_ringbuffer_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xae808bac	o2net_register_handler	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xbfcfa90f	dccp_unhash	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x656a72db	ip6_route_output	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfb021590	__nfa_fill	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x9a25ffb0	ieee80211_rts_duration	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4de3c6c7	ide_stall_queue	vmlinux	EXPORT_SYMBOL
+0xc24c7aa9	inet_csk_destroy_sock	vmlinux	EXPORT_SYMBOL
+0x6e1a4bbb	udp_hash_lock	vmlinux	EXPORT_SYMBOL
+0xf3ed347c	init_rs	lib/reed_solomon/reed_solomon	EXPORT_SYMBOL_GPL
+0x6d820097	dccp_li_hist_interval_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xa34f1ef5	crc32_le	vmlinux	EXPORT_SYMBOL
+0x09eda07a	sock_kfree_s	vmlinux	EXPORT_SYMBOL
+0x9a277763	dccp_reqsk_send_ack	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xf9ea3567	irttp_flow_request	net/irda/irda	EXPORT_SYMBOL
+0x3796bdcc	snd_pcm_format_little_endian	sound/core/snd-pcm	EXPORT_SYMBOL
+0xef9aedfc	boot_option_idle_override	vmlinux	EXPORT_SYMBOL
+0x955d99cc	read_cache_pages	vmlinux	EXPORT_SYMBOL
+0xb62df8d1	input_unregister_device	vmlinux	EXPORT_SYMBOL
+0x3ddf3f5d	ethtool_op_get_link	vmlinux	EXPORT_SYMBOL
+0xf35d5b69	sas_port_free	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x6173b17f	export_op_default	fs/exportfs/exportfs	EXPORT_SYMBOL
+0x2321333e	dccp_rx_hist_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x496bc2ca	cap_bprm_secureexec	security/commoncap	EXPORT_SYMBOL
+0xc1fb8de8	thaw_bdev	vmlinux	EXPORT_SYMBOL
+0x27a76dec	ip_generic_getfrag	vmlinux	EXPORT_SYMBOL
+0xaeb4661b	bitmap_end_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0xe1966919	dvb_net_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x447091b5	i2o_status_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xeb2fe93e	mii_nway_restart	drivers/net/mii	EXPORT_SYMBOL
+0x9c77a20e	sas_port_alloc_num	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x09633af4	fat_add_entries	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x53445f68	nlm_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xdf262164	ac97_tune_hardware	sound/oss/ac97_codec	EXPORT_SYMBOL_GPL
+0x63343b1d	snd_usbmidi_input_stop	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0xb5571fa7	devres_release_group	vmlinux	EXPORT_SYMBOL_GPL
+0x1f684cea	netdev_rx_csum_fault	vmlinux	EXPORT_SYMBOL
+0xd9e408a5	sk_run_filter	vmlinux	EXPORT_SYMBOL
+0x91600a94	hpsb_iso_packet_sent	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x54bca293	videobuf_poll_stream	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x3b4f162e	mpt_lan_index	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x2eb2eb15	acpi_get_table	vmlinux	EXPORT_SYMBOL
+0x372a1d05	neigh_sysctl_unregister	vmlinux	EXPORT_SYMBOL
+0x0bf0fa3d	ata_pio_need_iordy	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x25c9911a	tda10021_attach	drivers/media/dvb/frontends/tda10021	EXPORT_SYMBOL
+0x9adfb132	ipt_register_table	net/ipv4/netfilter/ip_tables	EXPORT_SYMBOL
+0x0f375c5f	ipv6_push_nfrag_opts	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfa48677e	xdr_decode_array2	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe56a9336	snd_pcm_format_width	sound/core/snd-pcm	EXPORT_SYMBOL
+0xde081f05	d_move	vmlinux	EXPORT_SYMBOL
+0xa29e9c6c	__scm_destroy	vmlinux	EXPORT_SYMBOL
+0xfa5d6190	snd_mixer_oss_notify_callback	sound/core/snd	EXPORT_SYMBOL
+0x4889d846	ieee80211_get_mc_list_item	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x1a04c1d3	touch_atime	vmlinux	EXPORT_SYMBOL
+0x6b937ffb	mca_mark_as_used	vmlinux	EXPORT_SYMBOL
+0x6b058398	ata_bmdma_freeze	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe571d22e	ipmi_get_version	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x8db05493	hpsb_iso_recv_flush	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd84fb0b0	rdma_reject	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xb6b608ec	b1_loaded	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x25f3684c	ieee80211_crypt_delayed_deinit	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xf63fa656	acpi_pci_irq_enable	vmlinux	EXPORT_SYMBOL
+0x7184a94f	gf128mul_4k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0x4abfe2e1	gf128mul_4k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0xaf682923	ieee80211_unregister_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x794487ee	disable_hlt	vmlinux	EXPORT_SYMBOL
+0xf890fe7f	pm_idle	vmlinux	EXPORT_SYMBOL
+0x1e6d26a8	strstr	vmlinux	EXPORT_SYMBOL
+0x095655b4	sock_wmalloc	vmlinux	EXPORT_SYMBOL
+0x2b1c1ceb	acpi_processor_notify_smm	drivers/acpi/processor	EXPORT_SYMBOL
+0x78ab870b	ib_unregister_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x0428d23d	dibusb_read_eeprom_byte	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x2dd16564	arch_register_cpu	vmlinux	EXPORT_SYMBOL
+0xa2efbd4b	k8_northbridges	vmlinux	EXPORT_SYMBOL
+0xec41acdb	mpt_proc_root_dir	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x2d023fdf	iscsi_prep_scsi_cmd_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x19d2297a	snd_sb8dsp_midi	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0x0be3e3a6	GPFS_CONFIG_HIGHMEM4G	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1ae754fd	pnp_release_card_device	vmlinux	EXPORT_SYMBOL
+0xbc66c173	inet_csk_listen_stop	vmlinux	EXPORT_SYMBOL_GPL
+0x1f0d2138	ppp_channel_index	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x11af6d6a	ieee80211_get_buffered_bc	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x31e96a95	pci_match_device	vmlinux	EXPORT_SYMBOL
+0x4d8c196a	pskb_expand_head	vmlinux	EXPORT_SYMBOL
+0x52573815	xfrm_state_lookup_byaddr	vmlinux	EXPORT_SYMBOL
+0x0144a2f1	ata_bus_reset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x71ebc8cf	md_check_recovery	drivers/md/md-mod	EXPORT_SYMBOL
+0xd947976a	sirdev_set_dongle	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xb6586d66	hashbin_get_next	net/irda/irda	EXPORT_SYMBOL
+0xfed0505b	take_over_console	vmlinux	EXPORT_SYMBOL
+0x45e30fb2	udplite_get_port	vmlinux	EXPORT_SYMBOL
+0x176b197a	i2c_release_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xa06274da	spi_display_xfer_agreement	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0xf48290c3	dccp_rx_hist_add_packet	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x75d7cf2e	dma_mark_declared_memory_occupied	vmlinux	EXPORT_SYMBOL
+0xda928914	nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0xa996a329	lock_may_write	vmlinux	EXPORT_SYMBOL
+0x4da5ed36	sis_info133	drivers/ata/pata_sis	EXPORT_SYMBOL_GPL
+0x48ae5e92	i2c_pcf_add_bus	drivers/i2c/algos/i2c-algo-pcf	EXPORT_SYMBOL
+0xac4ca1b0	intlog2	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x1d727e9d	xdr_buf_read_netobj	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x69005013	acpi_os_stall	vmlinux	EXPORT_SYMBOL
+0x6f9771c9	sock_wake_async	vmlinux	EXPORT_SYMBOL
+0xd4d3dddc	dibusb_rc_keys	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x60dc1081	cx8802_cancel_buffers	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xbeeec0b0	qlogicfas408_info	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x403e2420	nf_conntrack_hash_insert	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x88e3e3c6	nf_nat_pptp_hook_exp_gre	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x2c56ee95	__set_page_dirty_buffers	vmlinux	EXPORT_SYMBOL
+0x662e809b	eisa_driver_register	vmlinux	EXPORT_SYMBOL
+0xdc4479ea	neigh_dump_info	vmlinux	EXPORT_SYMBOL
+0x3b2baa76	fat_free_clusters	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x95320569	mod_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x0c5ef91b	per_cpu__vm_event_states	vmlinux	EXPORT_SYMBOL
+0x28f35813	scnprintf	vmlinux	EXPORT_SYMBOL
+0xde78f6ac	usb_hcd_platform_shutdown	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xf9df724d	bt_sock_poll	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xf963a997	snd_gus_interrupt	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x9acb34c0	blk_queue_ordered	vmlinux	EXPORT_SYMBOL
+0x98b5af00	__wait_on_bit	vmlinux	EXPORT_SYMBOL
+0x78bf70b3	copy_strings_kernel	vmlinux	EXPORT_SYMBOL
+0x7308dc5d	d_alloc_anon	vmlinux	EXPORT_SYMBOL
+0x668d3597	orinoco_reinit_firmware	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0xa71ee843	lapb_connect_request	net/lapb/lapb	EXPORT_SYMBOL
+0x0c99385c	snd_seq_kernel_client_enqueue_blocking	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0xb4a1c58d	cxiCloseNFS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9da3015b	hrtimer_get_remaining	vmlinux	EXPORT_SYMBOL_GPL
+0x2c5749e6	acpi_clear_gpe	vmlinux	EXPORT_SYMBOL
+0x20645642	drm_debug	drivers/char/drm/drm	EXPORT_SYMBOL
+0x04403fcf	unregister_capi_driver	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x6dd2d19b	tmsdev_init	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0x23be3c06	iscsi_recv_pdu	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x1088bed5	acpi_root_dir	vmlinux	EXPORT_SYMBOL
+0xf3ff7ff4	tcp_enter_memory_pressure	vmlinux	EXPORT_SYMBOL
+0x0986ff11	ib_get_cached_gid	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe9587909	usb_unregister_notify	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xac3c36ee	wanrouter_encapsulate	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0xdc9faf2d	rt_mutex_timed_lock	vmlinux	EXPORT_SYMBOL_GPL
+0xd81dcab9	__percpu_populate_mask	vmlinux	EXPORT_SYMBOL_GPL
+0xfa5f0d57	no_llseek	vmlinux	EXPORT_SYMBOL
+0x32d01fec	acpi_attach_data	vmlinux	EXPORT_SYMBOL
+0xe23f9c5f	arp_create	vmlinux	EXPORT_SYMBOL
+0x11e304fc	ata_bmdma_post_internal_cmd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x3a4909c3	dst_gpio_outb	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xa6acc577	spi_schedule_dv_device	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x340ef6fe	dma_declare_coherent_memory	vmlinux	EXPORT_SYMBOL
+0x8e9a0c68	rwsem_down_read_failed	vmlinux	EXPORT_SYMBOL
+0xfcfa03ff	fb_videomode_to_modelist	vmlinux	EXPORT_SYMBOL
+0xebf1760f	tcp_statistics	vmlinux	EXPORT_SYMBOL
+0x2ac110dc	flexcop_eeprom_check_mac_addr	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x6cff9274	rtc_irq_set_freq	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xfd03f1cd	_read_unlock_irq	vmlinux	EXPORT_SYMBOL
+0xe3016e92	pm_send_all	vmlinux	EXPORT_SYMBOL
+0xd5614e73	dev_ethtool	vmlinux	EXPORT_SYMBOL
+0xa0384d51	ata_port_start	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xcb629d38	saa7134_common_ioctl	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x713aaf16	phidget_class	drivers/usb/misc/phidget	EXPORT_SYMBOL_GPL
+0x65a02a10	unlock_adapter_irq	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x6fdcc4ad	snd_hda_build_controls	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x7dceceac	capable	vmlinux	EXPORT_SYMBOL
+0x395bf7cb	proc_root_driver	vmlinux	EXPORT_SYMBOL
+0x7230704b	snd_util_memhdr_new	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x23841980	__wake_up_sync	vmlinux	EXPORT_SYMBOL_GPL
+0xc8b57c27	autoremove_wake_function	vmlinux	EXPORT_SYMBOL
+0x78c8fe76	ps2_cmd_aborted	vmlinux	EXPORT_SYMBOL
+0x7482be70	nf_afinfo	vmlinux	EXPORT_SYMBOL
+0xd0fa5adf	gs_got_break	drivers/char/generic_serial	EXPORT_SYMBOL
+0x3b03ca42	gameport_close	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x7c60d66e	getname	vmlinux	EXPORT_SYMBOL
+0xf8b38d27	give_up_console	vmlinux	EXPORT_SYMBOL
+0xdb2d4512	dvb_ringbuffer_flush	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x203f34b1	nf_ct_port_tuple_to_nfattr	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x50c600b4	rdma_resolve_addr	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xbe6f4b75	mpt_reset_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x85e50672	pcmcia_find_io_region	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x21ac552b	nf_conntrack_helper_register	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xb623b30e	snd_seq_root	sound/core/snd	EXPORT_SYMBOL
+0xc7786b29	snd_tea575x_exit	sound/i2c/other/snd-tea575x-tuner	EXPORT_SYMBOL
+0x28ca26af	snd_tea575x_init	sound/i2c/other/snd-tea575x-tuner	EXPORT_SYMBOL
+0x5b3b6af6	ivtv_vapi_result	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x9eac042a	__ioremap	vmlinux	EXPORT_SYMBOL
+0xf20dabd8	free_irq	vmlinux	EXPORT_SYMBOL
+0x3a10a57a	ide_end_drive_cmd	vmlinux	EXPORT_SYMBOL
+0xdc6176b5	uhci_check_and_reset_hc	vmlinux	EXPORT_SYMBOL_GPL
+0x1d1e307b	xfrm_calg_get_byid	vmlinux	EXPORT_SYMBOL_GPL
+0x0dea8345	scx200_gpio_ops	drivers/char/scx200_gpio	EXPORT_SYMBOL_GPL
+0x0ff2b602	slhc_compress	drivers/net/slhc	EXPORT_SYMBOL
+0x02325153	usb_hc_died	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x54f86eda	snd_akm4xxx_reset	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0xf234e436	rtl_ieee80211_wx_get_mode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xf79731b5	rtl_ieee80211_wx_set_mode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xb220ed30	filemap_fdatawait	vmlinux	EXPORT_SYMBOL
+0x6ef30137	usb_serial_probe	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0xc2066af0	batostr	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xc54ebe34	tipc_forward_buf2port	net/tipc/tipc	EXPORT_SYMBOL
+0x151ffbac	ssb_bus_unregister	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x09d44df9	in_lock_functions	vmlinux	EXPORT_SYMBOL
+0x6be3a35b	pci_restore_bars	vmlinux	EXPORT_SYMBOL_GPL
+0xd0bc0682	wext_standard_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x083a5c2a	rpcauth_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x4f816e9b	snd_pcm_format_big_endian	sound/core/snd-pcm	EXPORT_SYMBOL
+0xaa748adb	p54_fill_eeprom_readback	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x469136be	rt_mutex_lock	vmlinux	EXPORT_SYMBOL_GPL
+0xfcf6ece1	sysfs_chmod_file	vmlinux	EXPORT_SYMBOL_GPL
+0xb3664588	platform_driver_probe	vmlinux	EXPORT_SYMBOL_GPL
+0x4fb1c201	kernel_getpeername	vmlinux	EXPORT_SYMBOL
+0xe5fef8e8	netpoll_parse_options	vmlinux	EXPORT_SYMBOL
+0xcc6ab305	is_dock_device	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0x8b49a23f	timeval_usec_diff	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xe0f830ed	dvb_pll_thomson_dtt759x	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x030463a3	dvb_pll_thomson_dtt7579	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x764ddf1a	mptscsih_timer_expired	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x3f65fc1d	DoCMilPlus_init	drivers/mtd/devices/doc2001plus	EXPORT_SYMBOL_GPL
+0xc709ee72	sas_port_add_phy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x85ad40e5	rpc_wake_up	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa596d99e	schedule_delayed_work	vmlinux	EXPORT_SYMBOL
+0x74cc1cbe	unregister_cpu_notifier	vmlinux	EXPORT_SYMBOL
+0x5635a60a	vmalloc_user	vmlinux	EXPORT_SYMBOL
+0x1170a2ea	simple_pin_fs	vmlinux	EXPORT_SYMBOL
+0x31a3bfe4	input_event	vmlinux	EXPORT_SYMBOL
+0xcf26aca8	alloc_fcdev	vmlinux	EXPORT_SYMBOL
+0x9699b74d	ib_sa_service_rec_query	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0xfd3dae85	dib7000m_i2c_enumeration	drivers/media/dvb/frontends/dib7000m	EXPORT_SYMBOL
+0x9b07448e	dib7000p_i2c_enumeration	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0x2f16d20e	i2o_driver_unregister	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x8d660e70	probe_ms_sound	sound/oss/ad1848	EXPORT_SYMBOL
+0x741f1f6e	hpet_register	vmlinux	EXPORT_SYMBOL
+0xc78ff7d3	sock_no_sendpage	vmlinux	EXPORT_SYMBOL
+0x64c1608d	tc_classify	vmlinux	EXPORT_SYMBOL
+0x4c1182cb	bitmap_scnprintf	vmlinux	EXPORT_SYMBOL
+0x283c8dc4	acpi_bus_generate_event	vmlinux	EXPORT_SYMBOL
+0x0f68fa9e	get_current_tty	vmlinux	EXPORT_SYMBOL_GPL
+0xd494ee54	speedstep_get_freqs	arch/i386/kernel/cpu/cpufreq/speedstep-lib	EXPORT_SYMBOL_GPL
+0xca702d7d	snd_gf1_dram_addr	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xf7426da3	midi_synth_load_patch	sound/oss/sound	EXPORT_SYMBOL
+0x96541f0a	ivtv_udma_prepare	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xac3b3cee	__bitmap_and	vmlinux	EXPORT_SYMBOL
+0xff818632	uart_register_driver	vmlinux	EXPORT_SYMBOL
+0xa7ad6e8c	kernel_getsockname	vmlinux	EXPORT_SYMBOL
+0x3ca1608c	kernel_sendmsg	vmlinux	EXPORT_SYMBOL
+0xafd47d59	nand_wait_ready	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0x0cc3ede5	cyber2000fb_detach	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x13cf8966	cyber2000fb_attach	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x0f6a5d32	snd_midi_event_no_status	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x3971b4df	snd_ecards_limit	sound/core/snd	EXPORT_SYMBOL
+0xba4bf32d	snd_ac97_write_cache	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xc444d054	snd_hda_build_pcms	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x7c524dbd	synchronize_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x20f564d2	xfrm_alloc_spi	vmlinux	EXPORT_SYMBOL
+0xb6d3cccf	crypto_blkcipher_type	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0x812c8e77	ib_destroy_fmr_pool	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x85f09690	b1_irq_table	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x713ecaba	phy_disable_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x55c22091	nf_conntrack_destroyed	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x3fe24ab8	tipc_send_buf2port	net/tipc/tipc	EXPORT_SYMBOL
+0x798f38d2	set_page_dirty	vmlinux	EXPORT_SYMBOL
+0x07601890	posix_lock_file	vmlinux	EXPORT_SYMBOL
+0x21cb1ccf	dmam_pool_destroy	vmlinux	EXPORT_SYMBOL
+0x8c579fe4	dev_remove_pack	vmlinux	EXPORT_SYMBOL
+0x078dcda2	qdisc_tree_decrease_qlen	vmlinux	EXPORT_SYMBOL
+0x07052a11	nf_log_packet	vmlinux	EXPORT_SYMBOL
+0xca161b91	blkcipher_walk_virt	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0xbd2b620f	ata_eh_freeze_port	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xea4152ff	dma_region_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x878aec47	ib_query_gid	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x694a4b30	kvm_stat	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xb330fe9d	usb_autopm_set_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x4502c65a	asc2ax	net/ax25/ax25	EXPORT_SYMBOL
+0xde9360ba	totalram_pages	vmlinux	EXPORT_SYMBOL
+0x58425d35	video_device_alloc	drivers/media/video/videodev	EXPORT_SYMBOL
+0x8a4fafb4	nf_conntrack_expect_init	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xb92533eb	install_page	vmlinux	EXPORT_SYMBOL
+0x242fb203	udp_disconnect	vmlinux	EXPORT_SYMBOL
+0xa943489c	pcmcia_socket_dev_suspend	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xec93214b	nfs4_acl_nfsv4_to_posix	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x8e7a074c	nf_conntrack_l4proto_udp4	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x773ccceb	finish_usermodehelper_pipe	vmlinux	EXPORT_SYMBOL
+0x9042b7b3	fb_pan_display	vmlinux	EXPORT_SYMBOL
+0x7ffb61f4	fb_show_logo	vmlinux	EXPORT_SYMBOL
+0xfb0443fb	acpi_get_parent	vmlinux	EXPORT_SYMBOL
+0xf97839c5	drm_ati_pcigart_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0xaeea0069	acpi_run_oshp	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xbb883cb5	journal_get_write_access	fs/jbd/jbd	EXPORT_SYMBOL
+0x07fcf0ad	mca_device_set_claim	vmlinux	EXPORT_SYMBOL
+0x7b5d4b7a	ib_is_mad_class_rmpp	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xb3e0ba0d	rtc_class_close	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x4fa10876	iscsi_session_recovery_timedout	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xe5919cb1	xdr_encode_opaque	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x80f0c1c4	snd_cs4231_info_double	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x01b0e780	ll_back_merge_fn	vmlinux	EXPORT_SYMBOL
+0x6f892608	blk_queue_stack_limits	vmlinux	EXPORT_SYMBOL
+0xdc14eda7	pci_pci_problems	vmlinux	EXPORT_SYMBOL
+0x5232129b	sysdev_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x10ac4594	devres_alloc	vmlinux	EXPORT_SYMBOL_GPL
+0xec780df1	__sk_stream_mem_reclaim	vmlinux	EXPORT_SYMBOL
+0xdebf2ec9	ib_dereg_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x9af9ebdb	b1_parse_version	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x6036a8cf	cx88_set_stereo	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xd585d23c	parse_mtd_partitions	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0x442b46c3	svc_max_payload	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x47fd015a	lock_adapter_irq	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x580b85db	snd_rawmidi_new	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xe4118dcf	pnp_is_active	vmlinux	EXPORT_SYMBOL
+0xde3adcf7	sk_send_sigurg	vmlinux	EXPORT_SYMBOL
+0x911d88f0	udp_lib_setsockopt	vmlinux	EXPORT_SYMBOL
+0x8df31865	udp_lib_getsockopt	vmlinux	EXPORT_SYMBOL
+0x9feaf287	sonet_subtract_stats	vmlinux	EXPORT_SYMBOL
+0x946a000c	ata_eh_thaw_port	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa24a56c4	ata_exec_command	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x85bc1770	csr1212_read	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7a45eb78	usbvideo_DeinterlaceFrame	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xf2869668	nf_conntrack_free	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x1b7d4074	printk	vmlinux	EXPORT_SYMBOL
+0x2e7acf4b	drop_super	vmlinux	EXPORT_SYMBOL
+0x447fa05c	atalk_find_dev_addr	net/appletalk/appletalk	EXPORT_SYMBOL
+0x9e9d70f5	hashbin_remove	net/irda/irda	EXPORT_SYMBOL
+0xebd883c8	snd_vx_dsp_load	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x76ecda72	synchronize_srcu	vmlinux	EXPORT_SYMBOL_GPL
+0xedbe6154	try_to_release_page	vmlinux	EXPORT_SYMBOL
+0xd70272e5	remove_inode_hash	vmlinux	EXPORT_SYMBOL
+0x798faf87	bus_unregister_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xc85d67c0	sk_alloc	vmlinux	EXPORT_SYMBOL
+0xb494e82a	br_fdb_put_hook	vmlinux	EXPORT_SYMBOL
+0x650128e7	br_fdb_get_hook	vmlinux	EXPORT_SYMBOL
+0x09a3fec3	sata_std_hardreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x9c174567	kobject_add	vmlinux	EXPORT_SYMBOL
+0x621d48e3	pci_disable_msix	vmlinux	EXPORT_SYMBOL
+0xd0d1ea0e	platform_driver_register	vmlinux	EXPORT_SYMBOL_GPL
+0xa883fcc2	klist_iter_init	vmlinux	EXPORT_SYMBOL_GPL
+0x7ae24d54	i2o_driver_notify_controller_remove_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x29a3eb2f	spi_dv_device	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x0dc6f6f9	hci_conn_switch_role	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xaed981e1	rpcauth_lookup_credcache	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9009602a	acpi_bus_get_ejd	vmlinux	EXPORT_SYMBOL_GPL
+0x65593c3b	platform_driver_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x6f4fdd06	agp_generic_alloc_user	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xdbf18453	vp3054_i2c_remove	drivers/media/video/cx88/cx88-vp3054-i2c	EXPORT_SYMBOL
+0xccc3d0a3	parport_register_device	drivers/parport/parport	EXPORT_SYMBOL
+0x4b8af9ec	gfs2_mount_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x8b466008	wlan_unsetup	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x4ec9c4d5	simple_dir_operations	vmlinux	EXPORT_SYMBOL
+0xee5f1198	pci_scan_single_device	vmlinux	EXPORT_SYMBOL
+0x3516b798	iw_handler_get_thrspy	vmlinux	EXPORT_SYMBOL
+0x89103b74	gnet_stats_copy_queue	vmlinux	EXPORT_SYMBOL
+0x345f250f	tcp_v4_calc_md5_hash	vmlinux	EXPORT_SYMBOL
+0x68685a10	hpsb_packet_received	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x16f59cc0	isdn_ppp_register_compressor	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0x74a5a698	dvb_filter_pes2ts_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x405709d7	usb_get_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xcdcd8e5e	br_should_route_hook	net/bridge/bridge	EXPORT_SYMBOL
+0x6403e338	tcp_memory_pressure	vmlinux	EXPORT_SYMBOL
+0xa33847c3	agp_generic_remove_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x30031b64	scsi_alloc_sgtable	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb01ffc2c	tipc_forward2name	net/tipc/tipc	EXPORT_SYMBOL
+0x901fe65c	crypto_get_attr_alg	vmlinux	EXPORT_SYMBOL_GPL
+0xf2191383	elv_add_request	vmlinux	EXPORT_SYMBOL
+0xe8d61d47	elv_dispatch_sort	vmlinux	EXPORT_SYMBOL
+0xadaa2657	cpufreq_register_notifier	vmlinux	EXPORT_SYMBOL
+0xcb19f6d6	ip_statistics	vmlinux	EXPORT_SYMBOL
+0xc32693b8	nand_release	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0xb7da07b1	scsi_queue_work	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x24a94b26	snd_info_get_line	sound/core/snd	EXPORT_SYMBOL
+0x191e88cf	snd_dma_pointer	sound/core/snd	EXPORT_SYMBOL
+0x365385e5	snd_register_oss_device	sound/core/snd	EXPORT_SYMBOL
+0x689fa5a6	relay_flush	vmlinux	EXPORT_SYMBOL_GPL
+0x2bad64ac	simple_attr_read	vmlinux	EXPORT_SYMBOL_GPL
+0x7379cfe1	netif_device_attach	vmlinux	EXPORT_SYMBOL
+0xb9b76006	netif_device_detach	vmlinux	EXPORT_SYMBOL
+0xc81c15d9	dm_table_unplug_all	drivers/md/dm-mod	EXPORT_SYMBOL
+0xda26c445	mptscsih_TMHandler	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x775f9f81	unregister_hdlc_device	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x3b1a743a	__devm_release_region	vmlinux	EXPORT_SYMBOL
+0x15872aee	vfs_read	vmlinux	EXPORT_SYMBOL
+0x1e11bdfe	kernel_read	vmlinux	EXPORT_SYMBOL
+0x52ae4f8a	kbd	vmlinux	EXPORT_SYMBOL
+0x4e6e8ea7	fg_console	vmlinux	EXPORT_SYMBOL
+0xcc248d26	serial8250_suspend_port	vmlinux	EXPORT_SYMBOL
+0xcca90a30	serio_register_driver	vmlinux	EXPORT_SYMBOL
+0x131a98f5	kernel_bind	vmlinux	EXPORT_SYMBOL
+0x444779c4	nla_find	vmlinux	EXPORT_SYMBOL
+0x98c3d558	saa7146_vv_init	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x1842c3e6	saa7134_dmasound_exit	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x3124637f	saa7134_dmasound_init	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x71ecc67f	dccp_rx_hist_find_data_packet	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xf24c88ba	snd_sb16dsp_pcm	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0xfb5128ff	synth_release	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xfa8cdc34	blk_queue_prep_rq	vmlinux	EXPORT_SYMBOL
+0xae8e6d59	pci_bus_find_capability	vmlinux	EXPORT_SYMBOL
+0x63230950	tty_ldisc_get	vmlinux	EXPORT_SYMBOL_GPL
+0x9fb3dd30	memcpy_fromiovec	vmlinux	EXPORT_SYMBOL
+0xa8813189	__nvram_write_byte	drivers/char/nvram	EXPORT_SYMBOL
+0xf7147e66	parport_write	drivers/parport/parport	EXPORT_SYMBOL
+0x594b897e	snd_opl4_read_memory	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x74b3ccee	sysdev_class_register	vmlinux	EXPORT_SYMBOL_GPL
+0xae17d096	videobuf_dma_map	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x848a4786	pcmcia_socket_dev_resume	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x707cdbd1	journal_unlock_updates	fs/jbd/jbd	EXPORT_SYMBOL
+0xee0dd850	cxiPruneDCacheEntry	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xbb189cad	disallow_signal	vmlinux	EXPORT_SYMBOL
+0x3bcb4452	find_task_by_pid_type	vmlinux	EXPORT_SYMBOL
+0x107d6ba3	__get_free_pages	vmlinux	EXPORT_SYMBOL
+0xdecde6c6	mntput_no_expire	vmlinux	EXPORT_SYMBOL
+0xf15d311d	bio_alloc	vmlinux	EXPORT_SYMBOL
+0x245570ff	ide_map_sg	vmlinux	EXPORT_SYMBOL_GPL
+0x76b47740	agp_collect_device_status	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xb4a8ef6b	drm_ati_pcigart_cleanup	drivers/char/drm/drm	EXPORT_SYMBOL
+0x24706c4e	hpsb_iso_xmit_queue_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9bd85ce4	videobuf_streamon	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x535a2f4d	pciserial_init_ports	vmlinux	EXPORT_SYMBOL_GPL
+0xb3644006	__tcp_get_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0xdbcd416e	sysctl_ip_nonlocal_bind	vmlinux	EXPORT_SYMBOL
+0xc1bcd376	iscsi_pool_init	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x7e390b80	make_spkm3_checksum	net/sunrpc/auth_gss/rpcsec_gss_spkm3	EXPORT_SYMBOL
+0xeb315d99	DMAbuf_inputintr	sound/oss/sound	EXPORT_SYMBOL
+0xd359c491	blk_queue_resize_tags	vmlinux	EXPORT_SYMBOL
+0xe9e462da	ide_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0x6d52c8d7	stv0297_attach	drivers/media/dvb/frontends/stv0297	EXPORT_SYMBOL
+0x03c48cf3	matroxfb_g450_shutdown	drivers/video/matrox/matroxfb_g450	EXPORT_SYMBOL
+0x9f571bf8	ieee80211_start_queues	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x7ab713ab	per_cpu__cpu_gdt_descr	vmlinux	EXPORT_SYMBOL
+0x6f6ae5cd	proto_unregister	vmlinux	EXPORT_SYMBOL
+0xb43003e2	hippi_type_trans	vmlinux	EXPORT_SYMBOL
+0x23a4e864	ipv4_specific	vmlinux	EXPORT_SYMBOL
+0xe2b6e7fd	bttv_gpio_bits	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xf9a1e30c	register_mtd_chip_driver	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0xb6f383de	cycx_poke	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x47d0f625	parport_ieee1284_write_compat	drivers/parport/parport	EXPORT_SYMBOL
+0xde134c69	storage_usb_ids	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0x34e0f0c5	nf_ct_l3proto_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xeeaaebf2	nf_ct_l4proto_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xef4d98fb	lookup_instantiate_filp	vmlinux	EXPORT_SYMBOL_GPL
+0x843c9bd8	__any_online_cpu	vmlinux	EXPORT_SYMBOL
+0xb19fda8d	capi_cmd2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xb92e520c	dib3000mc_i2c_enumeration	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xb4a11b5e	deregister_mtd_parser	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0xa5881712	ipv6_get_saddr	net/ipv6/ipv6	EXPORT_SYMBOL
+0x93619db5	register_page_fault_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xa92b5a50	kunmap_high	vmlinux	EXPORT_SYMBOL
+0x7b4dc30b	dm_table_put	drivers/md/dm-mod	EXPORT_SYMBOL
+0x6cb165ff	register_ip_vs_app	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x9c45558e	tipc_enable_bearer	net/tipc/tipc	EXPORT_SYMBOL
+0xbd16895f	cxiStartKProc	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4825c93a	rt_mutex_unlock	vmlinux	EXPORT_SYMBOL_GPL
+0x472d2a9a	radix_tree_lookup	vmlinux	EXPORT_SYMBOL
+0xc1d50464	match_strdup	vmlinux	EXPORT_SYMBOL
+0x029043ed	acpi_get_vendor_resource	vmlinux	EXPORT_SYMBOL
+0xad9e6463	sata_scr_write	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb6156639	ib_send_cm_apr	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xc0eb63d0	dvb_pll_fmd1216me	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x8392666a	ieee80211_wx_get_encodeext	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x02193225	ieee80211_wx_set_encodeext	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xc55b6b62	lapb_data_request	net/lapb/lapb	EXPORT_SYMBOL
+0x51939f54	snd_util_memhdr_free	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x7a9f9fe5	generic_ro_fops	vmlinux	EXPORT_SYMBOL
+0x49791de8	vfs_rename	vmlinux	EXPORT_SYMBOL
+0x540f9040	acpi_os_sleep	vmlinux	EXPORT_SYMBOL
+0xde76a980	neigh_seq_next	vmlinux	EXPORT_SYMBOL
+0x94edcb3f	kthread_bind	vmlinux	EXPORT_SYMBOL
+0xeb1765db	hpsb_set_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x98bb62a1	iscsi_free_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x316e646e	ide_unregister_region	vmlinux	EXPORT_SYMBOL_GPL
+0xa9f01119	videobuf_alloc	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x0f3e7995	del_mtd_blktrans_dev	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0x8e3e033b	usb_serial_port_softint	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0xa5d2db49	ipv6_setsockopt	net/ipv6/ipv6	EXPORT_SYMBOL
+0x833a3e07	snd_midi_channel_set_clear	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0x6379df9d	inetdev_by_index	vmlinux	EXPORT_SYMBOL
+0x8ad5bd3e	dccp_getsockopt	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xa591de87	cache_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8354bd3c	filemap_fdatawrite	vmlinux	EXPORT_SYMBOL
+0x4c61fc21	bt_sock_wait_state	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xe78c4be8	relay_buf_empty	vmlinux	EXPORT_SYMBOL_GPL
+0xe400eba3	bio_hw_segments	vmlinux	EXPORT_SYMBOL
+0xd25d4f74	console_blank_hook	vmlinux	EXPORT_SYMBOL
+0xd1f91bcd	dev_base_lock	vmlinux	EXPORT_SYMBOL
+0x8616b11a	ipmi_request_settime	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xaa50adbd	cx22700_attach	drivers/media/dvb/frontends/cx22700	EXPORT_SYMBOL
+0x44c5cc7d	mptscsih_event_process	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x8be3869f	rtl_ieee80211_ps_tx_ack	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x0b9cdeb5	get_sb_bdev	vmlinux	EXPORT_SYMBOL
+0xc89eddde	file_fsync	vmlinux	EXPORT_SYMBOL
+0x99d4547c	sg_scsi_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x46b2a30d	proc_ide_read_capacity	vmlinux	EXPORT_SYMBOL_GPL
+0xcfbeb6ef	cx88_core_get	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xead49dff	mptscsih_resume	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xc913009c	hdlcdrv_register	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xb512aea4	xt_request_find_target	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x016a8997	opl3_init	sound/oss/opl3	EXPORT_SYMBOL
+0x4b34fbf5	block_all_signals	vmlinux	EXPORT_SYMBOL
+0x6bed092e	dma_pool_create	vmlinux	EXPORT_SYMBOL
+0xfe7bde5e	dmi_find_device	vmlinux	EXPORT_SYMBOL
+0x18ac55e0	gnet_stats_finish_copy	vmlinux	EXPORT_SYMBOL
+0x3ca87cac	register_md_personality	drivers/md/md-mod	EXPORT_SYMBOL
+0x4db00e31	dib3000mc_get_tuner_i2c_master	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xbc91f9ed	tifm_free_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x3037658e	sis_malloc	drivers/video/sis/sisfb	EXPORT_SYMBOL
+0x0d75d3ef	tty_name	vmlinux	EXPORT_SYMBOL
+0x147465ca	dma_pool_destroy	vmlinux	EXPORT_SYMBOL
+0x6776848f	ib_destroy_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd012454d	ib_destroy_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x43c89ef4	ir_decode_biphase	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc061f6db	usb_hcd_pci_probe	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x0d3fc191	call_usermodehelper_pipe	vmlinux	EXPORT_SYMBOL
+0x3e9ba3cf	destroy_workqueue	vmlinux	EXPORT_SYMBOL_GPL
+0x7eecfbed	kvm_emulator_want_group7_invlpg	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x407c3f5a	ebt_register_match	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xd0fdbf18	rtl_ieee80211_is_shortslot	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x72216fa9	param_get_uint	vmlinux	EXPORT_SYMBOL
+0xb14f94c3	check_disk_change	vmlinux	EXPORT_SYMBOL
+0xa5089a06	pci_save_state	vmlinux	EXPORT_SYMBOL
+0xf74f255a	do_SAK	vmlinux	EXPORT_SYMBOL
+0x51075278	mptscsih_host_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xcf2cf614	fat_get_dotdot_entry	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x0f842e73	inet6_csk_reqsk_queue_hash_add	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x9613ef55	rtl_ieee80211_rx	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8c1b50ee	page_put_link	vmlinux	EXPORT_SYMBOL
+0x5fd9f031	elv_register	vmlinux	EXPORT_SYMBOL_GPL
+0xe6559184	cx88_free_buffer	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x68a424a0	sas_rphy_add	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xbbd504b3	pci_enable_msi	vmlinux	EXPORT_SYMBOL
+0xb6aeb661	ata_id_c_string	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf7a05d1a	sp8870_attach	drivers/media/dvb/frontends/sp8870	EXPORT_SYMBOL
+0xbbf203c4	rpc_sleep_on	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x70196ffb	ivtv_cards_active	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xb0e10781	get_option	vmlinux	EXPORT_SYMBOL
+0xa492fe8c	km_state_expired	vmlinux	EXPORT_SYMBOL
+0x9dffd645	hid_input_field	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x6c252d29	tfrc_calc_x_reverse_lookup	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x60253ab0	up_read	vmlinux	EXPORT_SYMBOL
+0x8082ceb2	pci_set_consistent_dma_mask	vmlinux	EXPORT_SYMBOL
+0xa8b50f01	inet_accept	vmlinux	EXPORT_SYMBOL
+0xde3b9162	flexcop_dma_xfer_control	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xce19bac5	register_inet6addr_notifier	net/ipv6/ipv6	EXPORT_SYMBOL
+0x17598419	nf_ct_gre_keymap_destroy	net/netfilter/nf_conntrack_proto_gre	EXPORT_SYMBOL_GPL
+0x5ec04b29	rxrpc_put_connection	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xb32242d3	dma_spin_lock	vmlinux	EXPORT_SYMBOL
+0x99c3c0b0	vfs_fstat	vmlinux	EXPORT_SYMBOL
+0x387c0967	vfs_lstat	vmlinux	EXPORT_SYMBOL
+0xa57f0a13	bioset_free	vmlinux	EXPORT_SYMBOL
+0x89e82aef	tty_wait_until_sent	vmlinux	EXPORT_SYMBOL
+0x63fd8cd2	__pskb_pull_tail	vmlinux	EXPORT_SYMBOL
+0x27485bfe	cpufreq_frequency_table_verify	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0xeecd5cab	bttv_get_cardinfo	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x6188486a	nfnetlink_subsys_register	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xa598e29c	vesa_modes	vmlinux	EXPORT_SYMBOL
+0x772a30a2	ir_codes_nebula	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x4495d148	pcmcia_unregister_driver	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x40f794f1	param_set_invbool	vmlinux	EXPORT_SYMBOL
+0x183fa88b	mempool_alloc_slab	vmlinux	EXPORT_SYMBOL
+0x0ac72904	generic_fillattr	vmlinux	EXPORT_SYMBOL
+0x03960713	ioread16	vmlinux	EXPORT_SYMBOL
+0x63701ed1	mca_device_claimed	vmlinux	EXPORT_SYMBOL
+0x0bee3282	__netif_schedule	vmlinux	EXPORT_SYMBOL
+0xc5d9c46c	agp_try_unsupported_boot	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xd65f9e3d	rdma_accept	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x3188c3ac	ttpci_budget_irq10_handler	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0xe808680a	attach_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x3d817175	dccp_shutdown	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xe02df37d	d_instantiate_unique	vmlinux	EXPORT_SYMBOL
+0xa3ccfb6b	pci_bus_alloc_resource	vmlinux	EXPORT_SYMBOL
+0x2b30b907	ide_init_disk	vmlinux	EXPORT_SYMBOL_GPL
+0x5c78f11b	i2c_register_driver	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x3fd62b79	rdma_bind_addr	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x0dd2acb4	saa7146_setgpio	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x1dfee677	usb_reset_composite_device	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x69927dff	try_acquire_console_sem	vmlinux	EXPORT_SYMBOL
+0x83015749	mutex_lock_interruptible	vmlinux	EXPORT_SYMBOL
+0x8cd7f2ff	ide_do_reset	vmlinux	EXPORT_SYMBOL
+0x8a541d2a	sata_scr_valid	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd6f8244e	ib_free_recv_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x9da53db0	isl6421_attach	drivers/media/dvb/frontends/isl6421	EXPORT_SYMBOL
+0x213f2245	svc_drop	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x1b59df5c	setup_arg_pages	vmlinux	EXPORT_SYMBOL
+0x0487f831	fb_find_best_display	vmlinux	EXPORT_SYMBOL
+0x9951d391	__ide_abort	vmlinux	EXPORT_SYMBOL_GPL
+0x76b369c2	skb_clone	vmlinux	EXPORT_SYMBOL
+0xf7a8e0dc	edac_mc_alloc	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xa3999345	ccid_unregister	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xe8a2a9f0	cxiDeleteMmap	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xdb2ecaa3	sysctl_jiffies	vmlinux	EXPORT_SYMBOL
+0xa1b0534a	bttv_get_gpio_queue	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x1871bdb5	dccp_tx_hist_delete	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x3071754a	snd_es1688_mixer	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0xb16fc1dc	tcp_init_xmit_timers	vmlinux	EXPORT_SYMBOL
+0x0ded1ee1	net_statistics	vmlinux	EXPORT_SYMBOL
+0xee6f5e65	ib_query_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb59a4d9a	phy_ethtool_gset	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x40b72f37	phy_ethtool_sset	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x48b4b2e6	tipc_send_buf_fast	net/tipc/tipc	EXPORT_SYMBOL
+0x7b8699eb	snd_seq_event_port_detach	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x54cf08b1	ssb_device_enable	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x0cc7df1a	make_bad_inode	vmlinux	EXPORT_SYMBOL
+0x26333808	bio_uncopy_user	vmlinux	EXPORT_SYMBOL
+0x6807c24b	dm_pg_init_complete	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0xa64d9397	seq_release_private	vmlinux	EXPORT_SYMBOL
+0xf5ce9811	tcp_memory_allocated	vmlinux	EXPORT_SYMBOL
+0x355521b7	ata_data_xfer	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x32dada86	map_page_into_agp	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x96f9d2f4	b1_interrupt	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xe10ad68d	videobuf_dma_init_kernel	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4196c38b	hermes_write_ltv	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x68b727cd	gss_mech_unregister	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x91d6536d	__mutex_init	vmlinux	EXPORT_SYMBOL
+0xd1d263b5	vfs_removexattr	vmlinux	EXPORT_SYMBOL_GPL
+0x82e59756	blk_max_pfn	vmlinux	EXPORT_SYMBOL
+0xed0ce976	uart_console_write	vmlinux	EXPORT_SYMBOL_GPL
+0xa9abf7c0	ide_end_dequeued_request	vmlinux	EXPORT_SYMBOL_GPL
+0x1e4f39dc	ata_pci_remove_one	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x672c9d44	iTCO_vendor_pre_keepalive	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x23cd0963	hpsb_iso_wake	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x67136e3c	dccp_tx_hist_find_entry	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xdec8d498	snd_ctl_remove	sound/core/snd	EXPORT_SYMBOL
+0x67cfac2b	cxiBigMalloc	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf68ed4e0	rtc_set_time	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xcd58514e	vfs_readv	vmlinux	EXPORT_SYMBOL
+0x572da706	do_sync_write	vmlinux	EXPORT_SYMBOL
+0x325eb50f	fb_get_mode	vmlinux	EXPORT_SYMBOL
+0x1ad0e7f0	serial8250_register_port	vmlinux	EXPORT_SYMBOL
+0x0c5bbf83	cx2341x_update	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xb905ad82	icmpv6_err_convert	net/ipv6/ipv6	EXPORT_SYMBOL
+0x0797b831	auth_domain_lookup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xeefd49b3	tipc_get_handle	net/tipc/tipc	EXPORT_SYMBOL
+0x710a436b	synth_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x128c620b	rt_mutex_trylock	vmlinux	EXPORT_SYMBOL_GPL
+0x64733bba	search_binary_handler	vmlinux	EXPORT_SYMBOL
+0xa88bfdb2	mmc_detect_change	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x0697dce1	srp_transfer_data	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x218667a9	snd_emu10k1_synth_alloc	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x3fb18130	ssb_bus_pcibus_register	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xb8e7ce2c	__put_user_8	vmlinux	EXPORT_SYMBOL
+0xdc217d14	cpufreq_freq_attr_scaling_available_freqs	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x0d68d75a	usb_remove_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x241c1315	snd_opl4_write	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x6fcb87a1	touch_softlockup_watchdog	vmlinux	EXPORT_SYMBOL
+0xd70b4dc5	bio_pair_release	vmlinux	EXPORT_SYMBOL
+0x479cec1e	mark_info_dirty	vmlinux	EXPORT_SYMBOL
+0x7c8fbef6	put_device	vmlinux	EXPORT_SYMBOL_GPL
+0x678e1ec6	tcp_disconnect	vmlinux	EXPORT_SYMBOL
+0xe125bb74	i2c_adapter_class	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x6ba25e07	cx2341x_fill_defaults	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xed08ff6f	videobuf_streamoff	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xcca04fdf	hostap_init_data	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xba497f13	loops_per_jiffy	vmlinux	EXPORT_SYMBOL
+0x392e7c3f	register_filesystem	vmlinux	EXPORT_SYMBOL
+0xbe45dada	ppp_input	drivers/net/ppp_generic	EXPORT_SYMBOL
+0xfe28e42c	journal_start	fs/jbd/jbd	EXPORT_SYMBOL
+0x6122a73e	cpu_callout_map	vmlinux	EXPORT_SYMBOL
+0xca6c95f8	acpi_get_name	vmlinux	EXPORT_SYMBOL
+0x673f815e	agp_bridges	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x5733b5f0	sas_remove_children	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x9d845b18	num_mixers	sound/oss/sound	EXPORT_SYMBOL
+0xeeabceef	queue_delayed_work	vmlinux	EXPORT_SYMBOL_GPL
+0xe59fb3a9	generic_make_request	vmlinux	EXPORT_SYMBOL
+0x9bf0b8dd	drm_addbufs_pci	drivers/char/drm/drm	EXPORT_SYMBOL
+0x7a381ed2	drm_addbufs_agp	drivers/char/drm/drm	EXPORT_SYMBOL
+0x4bd74715	tmsdev_term	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0xfa6871be	sound_timer_syncinterval	sound/oss/sound	EXPORT_SYMBOL
+0x2df115d4	eeprom_93cx6_multiread	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x02124474	ip_send_check	vmlinux	EXPORT_SYMBOL
+0xf7a3257d	mii_phy_probe	drivers/net/sungem_phy	EXPORT_SYMBOL
+0xb05494e5	pcmcia_insert_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x7957f728	irlmp_update_client	net/irda/irda	EXPORT_SYMBOL
+0x482a7f01	filemap_flush	vmlinux	EXPORT_SYMBOL
+0x0ff45263	RingQueue_WakeUpInterruptible	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x9a6a83f9	cmos_lock	vmlinux	EXPORT_SYMBOL
+0x4a9d86e3	acpi_set_register	vmlinux	EXPORT_SYMBOL
+0x064df683	drm_core_get_map_ofs	drivers/char/drm/drm	EXPORT_SYMBOL
+0xff158606	mpt_alloc_fw_memory	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xe8794ce1	slhc_toss	drivers/net/slhc	EXPORT_SYMBOL
+0xb14b22cd	midi_synth_hw_control	sound/oss/sound	EXPORT_SYMBOL
+0x5238feb3	kunmap	vmlinux	EXPORT_SYMBOL
+0xbcc308bb	strnlen_user	vmlinux	EXPORT_SYMBOL
+0xa3424439	tty_mutex	vmlinux	EXPORT_SYMBOL
+0xcba43f6a	i2c_smbus_read_i2c_block_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x1ad3b491	acpi_root_bridge	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x7a1211f8	dlm_setup_eviction_cb	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x67ba26ea	dccp_li_hist_delete	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xf9d931d5	unix_domain_find	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x4aee1718	snd_sb8dsp_pcm	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0x12fd1b25	ieee80211_scan_completed	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xf4277f1e	tsfattr	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x972c63b4	mnt_pin	vmlinux	EXPORT_SYMBOL
+0xe485d664	ata_bmdma_setup	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb10d55bc	cn_netlink_send	drivers/connector/cn	EXPORT_SYMBOL_GPL
+0x9bd8368e	mpt_print_ioc_summary	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x74a24443	prism2_update_comms_qual	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x6dc1e698	xt_free_table_info	net/netfilter/x_tables	EXPORT_SYMBOL
+0xebfee273	snd_hda_suspend	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xa2f558b9	sched_setscheduler	vmlinux	EXPORT_SYMBOL_GPL
+0x48bf7f34	__page_symlink	vmlinux	EXPORT_SYMBOL
+0x760661d7	dev_get_by_name	vmlinux	EXPORT_SYMBOL
+0x804f922a	ipmi_addr_length	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x4fb71ee3	cpia_register_camera	drivers/media/video/cpia	EXPORT_SYMBOL
+0xd43ecbf1	null_ax25_address	net/ax25/ax25	EXPORT_SYMBOL
+0xa9ae40f1	dccp_poll	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x89ac903d	nf_ct_helper_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x20a2fa21	snd_dma_alloc_pages_fallback	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x13be5539	snd_gf1_mem_free	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xe36cd305	inode_double_lock	vmlinux	EXPORT_SYMBOL
+0x37d44856	do_sync_file_range	vmlinux	EXPORT_SYMBOL_GPL
+0x91e19d30	generic_cont_expand	vmlinux	EXPORT_SYMBOL
+0x4c859974	ib_unregister_event_handler	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xfdab6de3	unregister_sound_midi	sound/soundcore	EXPORT_SYMBOL
+0x04b45aa5	ivtv_set_irq_mask	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xd99dc434	udp_prot	vmlinux	EXPORT_SYMBOL
+0x9eafe9b3	ax25_hard_header	net/ax25/ax25	EXPORT_SYMBOL
+0xbe99f823	nat_h245_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x39a6789b	snd_ctl_register_ioctl	sound/core/snd	EXPORT_SYMBOL
+0xf1e98c74	avenrun	vmlinux	EXPORT_SYMBOL
+0x3d13da14	unregister_quota_format	vmlinux	EXPORT_SYMBOL
+0x749e02b3	dib3000mc_set_config	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0x45c71b9a	arc_proto_default	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x7f5eb07b	register_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x2934feb8	rtc_interface_register	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x77a4616c	mb_cache_shrink	fs/mbcache	EXPORT_SYMBOL
+0x4b12796e	inet6_sk_rebuild_header	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x6a11ec90	mark_page_accessed	vmlinux	EXPORT_SYMBOL
+0x43860c35	ir_input_nokey	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc7549169	dvb_ringbuffer_pkt_read	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x57b02a20	v4l2_type_names	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xa21677a0	register_mtd_parser	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0xfade4543	tms380tr_open	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0xce263e6b	__ht_create_irq	vmlinux	EXPORT_SYMBOL
+0xa05d2ce3	pnpbios_protocol	vmlinux	EXPORT_SYMBOL
+0xcc4eef8c	nf_proto_csum_replace4	vmlinux	EXPORT_SYMBOL
+0x9cb8037b	xfrm_count_enc_supported	vmlinux	EXPORT_SYMBOL_GPL
+0xee60d12d	scsi_report_bus_reset	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xca0d27a1	node_possible_map	vmlinux	EXPORT_SYMBOL
+0x9037dea1	cdev_add	vmlinux	EXPORT_SYMBOL
+0xcd77ce0d	block_sync_page	vmlinux	EXPORT_SYMBOL
+0xc730882c	hid_output_report	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0xc0ee3dd7	saa7146_i2c_adapter_prepare	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x61e8f921	saa7134_i2c_call_clients	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x731b17f3	wanrouter_type_trans	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x37aa7b87	snd_dma_get_reserved_buf	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xca65c2d0	open_exec	vmlinux	EXPORT_SYMBOL
+0x4ddc4b9f	utf8_mbtowc	vmlinux	EXPORT_SYMBOL
+0x669db4bf	fb_blank	vmlinux	EXPORT_SYMBOL
+0xad1c9dac	dev_mc_add	vmlinux	EXPORT_SYMBOL
+0xbba70620	dma_prog_region_free	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xba037ef8	ib_modify_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x34abffae	mptscsih_change_queue_depth	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x9f15880a	rtc_update_irq	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xbb21740d	ieee80211_get_channel	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xea014f45	snd_timer_new	sound/core/snd-timer	EXPORT_SYMBOL
+0x53854e7d	acpi_initialize_subsystem	vmlinux	EXPORT_SYMBOL
+0x83bdb60d	iscsi_remove_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xbe961a00	mb_cache_entry_find_next	fs/mbcache	EXPORT_SYMBOL
+0xb842be2a	rtl_ieee80211_crypt_deinit_entries	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8c968ff1	queue_delayed_work_on	vmlinux	EXPORT_SYMBOL_GPL
+0x34f29b4a	rt_mutex_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x5dfe8f1a	unlock_kernel	vmlinux	EXPORT_SYMBOL
+0xc2b1bebe	pci_find_next_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x6cd944ea	pnp_activate_dev	vmlinux	EXPORT_SYMBOL
+0x600895ed	journal_forget	fs/jbd/jbd	EXPORT_SYMBOL
+0x0fd39084	ip_vs_skb_replace	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x5918b48b	cxiIsSambaOrLockdThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2ff742b4	__set_page_dirty_nobuffers	vmlinux	EXPORT_SYMBOL
+0x9ca58756	pci_enable_msix	vmlinux	EXPORT_SYMBOL
+0xea678136	devres_open_group	vmlinux	EXPORT_SYMBOL_GPL
+0xc1073a88	netlink_run_queue	vmlinux	EXPORT_SYMBOL
+0xcf00b13c	ib_unregister_client	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x26e5dd55	bitmap_startwrite	drivers/md/md-mod	EXPORT_SYMBOL
+0x824f68b9	proc_irda	net/irda/irda	EXPORT_SYMBOL
+0xa945d988	find_get_pid	vmlinux	EXPORT_SYMBOL_GPL
+0x740c37b7	mempool_create_node	vmlinux	EXPORT_SYMBOL
+0x98f5254e	qdisc_lock_tree	vmlinux	EXPORT_SYMBOL
+0x6278ccfd	saa7146_register_extension	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xdfc5169b	slhc_init	drivers/net/slhc	EXPORT_SYMBOL
+0x18d6c9a9	usbnet_unlink_rx_urbs	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x5f1bd579	mca_find_adapter	vmlinux	EXPORT_SYMBOL
+0xfaeb8962	dev_set_promiscuity	vmlinux	EXPORT_SYMBOL
+0x3074f033	drm_order	drivers/char/drm/drm	EXPORT_SYMBOL
+0x1edb98d7	iscsi_verify_itt	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x57a58d35	scsi_bios_ptable	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x450f9aea	smw_free	sound/oss/sb_lib	EXPORT_SYMBOL
+0xc4c5509d	param_set_ushort	vmlinux	EXPORT_SYMBOL
+0xd4d484ca	neigh_connected_output	vmlinux	EXPORT_SYMBOL
+0x9421a6a6	tosh_smm	drivers/char/toshiba	EXPORT_SYMBOL
+0x3c2f0568	phy_read	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xf0caf44b	zlib_deflate_workspacesize	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0xfe618b58	snd_mpu401_uart_interrupt	sound/drivers/mpu401/snd-mpu401-uart	EXPORT_SYMBOL
+0x1d40ed44	apm_info	vmlinux	EXPORT_SYMBOL
+0x4292364c	schedule	vmlinux	EXPORT_SYMBOL
+0x86fb9b05	bitmap_parse_user	vmlinux	EXPORT_SYMBOL
+0x2d28a667	pci_find_slot	vmlinux	EXPORT_SYMBOL
+0x9dd54d7b	netlink_kernel_create	vmlinux	EXPORT_SYMBOL
+0x587fe20d	bitmap_unplug	drivers/md/md-mod	EXPORT_SYMBOL
+0xc8743fbc	l64781_attach	drivers/media/dvb/frontends/l64781	EXPORT_SYMBOL
+0xc890f85c	bt_sock_recvmsg	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x039dfade	svc_recv	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x01e61721	tipc_continue	net/tipc/tipc	EXPORT_SYMBOL
+0x2e7198da	snd_timer_notify	sound/core/snd-timer	EXPORT_SYMBOL
+0x8d823e07	init_task	vmlinux	EXPORT_SYMBOL
+0x1f8bea3d	mmput	vmlinux	EXPORT_SYMBOL_GPL
+0xf2d0fd19	nlmsg_notify	vmlinux	EXPORT_SYMBOL
+0x11d42382	ib_ud_header_unpack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x6d6511e7	ir_dump_samples	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xdaa041ad	ir_codes_cinergy_1400	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x147adf79	dvb_usb_nec_rc_key_to_event	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xd592369c	sppp_open	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0xe95a133d	snd_emux_free	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x00bc1597	sysdev_class_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xc122d4b2	udp_get_port	vmlinux	EXPORT_SYMBOL
+0xedae31b9	hpsb_make_isopacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x1563a417	video_devdata	drivers/media/video/videodev	EXPORT_SYMBOL
+0xffef0233	rpc_execute	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x973e6200	snd_rawmidi_transmit_peek	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x75def162	snd_gf1_mem_lock	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x04c87ec8	compute_finetune	sound/oss/sound	EXPORT_SYMBOL
+0x805efe68	snd_emu10k1_memblk_map	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x690380e2	synth_write_string	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xdf929370	fs_overflowgid	vmlinux	EXPORT_SYMBOL
+0xdb0b4fc3	__insert_inode_hash	vmlinux	EXPORT_SYMBOL
+0x1b015d25	bitmap_parselist	vmlinux	EXPORT_SYMBOL
+0x3d77aee6	fb_append_extra_logo	vmlinux	EXPORT_SYMBOL
+0xbbbe4a89	input_allocate_device	vmlinux	EXPORT_SYMBOL
+0xb8f68a20	gnet_stats_copy_app	vmlinux	EXPORT_SYMBOL
+0xaa76697c	neigh_table_init_no_netlink	vmlinux	EXPORT_SYMBOL
+0x586c94b6	__inet_twsk_hashdance	vmlinux	EXPORT_SYMBOL_GPL
+0x083661f9	ir_codes_avertv_303	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xa2ff7fbd	usbatm_usb_disconnect	drivers/usb/atm/usbatm	EXPORT_SYMBOL_GPL
+0x3da171f9	pci_mem_start	vmlinux	EXPORT_SYMBOL
+0xc3045ce3	bio_clone	vmlinux	EXPORT_SYMBOL
+0x246fbd69	blk_rq_bio_prep	vmlinux	EXPORT_SYMBOL
+0xe5964757	agp_generic_type_to_mask_type	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x03fa0225	edac_mc_del_mc	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x11df35d8	md_do_sync	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0xc4e69b8d	i2o_driver_notify_device_remove_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xf2cc1ca4	fb_ddc_read	drivers/video/fb_ddc	EXPORT_SYMBOL_GPL
+0x5637ed44	tipc_get_mode	net/tipc/tipc	EXPORT_SYMBOL
+0xa215263f	snd_midi_event_reset_decode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x33f99d1b	blocking_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0xba32cdfc	end_request	vmlinux	EXPORT_SYMBOL
+0xb6070cbe	proc_clear_tty	vmlinux	EXPORT_SYMBOL
+0x3c494891	xfrm_policy_walk	vmlinux	EXPORT_SYMBOL
+0x51cfd132	hdlc_close	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x2f09c818	spi_bitbang_setup_transfer	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0x4ba3cfc8	tipc_send2name	net/tipc/tipc	EXPORT_SYMBOL
+0x9073fd2f	snd_card_proc_new	sound/core/snd	EXPORT_SYMBOL
+0x594bf15b	ioport_map	vmlinux	EXPORT_SYMBOL
+0x07939f83	write_inode_now	vmlinux	EXPORT_SYMBOL
+0x0b13950a	key_alloc	vmlinux	EXPORT_SYMBOL
+0xeac1c4af	unregister_blkdev	vmlinux	EXPORT_SYMBOL
+0xa743af08	__skb_checksum_complete	vmlinux	EXPORT_SYMBOL
+0x35a3c008	scx200_gpio_configure	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0x9af37393	ata_pci_device_do_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc5ed4b1a	dvb_ringbuffer_flush_spinlock_wakeup	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x7949d79f	sp887x_attach	drivers/media/dvb/frontends/sp887x	EXPORT_SYMBOL
+0xbe99d888	saa7134_ts_register	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x7f381b17	mptscsih_shutdown	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xbaa7212d	ppp_unregister_channel	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x06686a76	free_ieee80211	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xd1f6c5f3	smp_num_siblings	vmlinux	EXPORT_SYMBOL
+0xcc5005fe	msleep_interruptible	vmlinux	EXPORT_SYMBOL
+0x86f221b4	seq_path	vmlinux	EXPORT_SYMBOL
+0x175c557f	ata_busy_sleep	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2e1e2c4e	reset_airo_card	drivers/net/wireless/airo	EXPORT_SYMBOL
+0x500708b2	destroy_cis_cache	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x68a9ac94	fat_search_long	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xaa40442b	per_cpu__nf_conntrack_ecache	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x03ac2688	default_unplug_io_fn	vmlinux	EXPORT_SYMBOL
+0x7ec55cb0	generic_file_open	vmlinux	EXPORT_SYMBOL
+0xf7623914	radix_tree_tag_clear	vmlinux	EXPORT_SYMBOL
+0xa68124fa	hweight8	vmlinux	EXPORT_SYMBOL
+0x65414e67	dev_valid_name	vmlinux	EXPORT_SYMBOL
+0xbf2bbfd3	agp_create_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa716d6e6	hpsb_update_config_rom	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x0e45284e	iscsi_session_setup	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x3be89d3c	usb_register_notify	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xf8b2ff6e	g_verify_token_header	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x8d7ea893	snd_gf1_rawmidi_new	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x167ee050	d_instantiate	vmlinux	EXPORT_SYMBOL
+0xd68d37f8	generic_cont_expand_simple	vmlinux	EXPORT_SYMBOL
+0x074f82f4	subsys_create_file	vmlinux	EXPORT_SYMBOL
+0x52fbbc14	dvb_usb_tuner_calc_regs	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xcc2a6b90	genphy_update_link	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x446e7039	cxiUnmount	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x204a7880	cxiGetUserEnvironmentSize	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x33ff7d05	agp_generic_create_gatt_table	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x6c589cd4	z8530_dma_sync	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x79a13e23	register_sound_special_device	sound/soundcore	EXPORT_SYMBOL
+0x636a5691	acpi_register_ioapic	vmlinux	EXPORT_SYMBOL
+0x5fbc3b9d	open_bdev_excl	vmlinux	EXPORT_SYMBOL
+0xb7b61546	crc32_be	vmlinux	EXPORT_SYMBOL
+0xb2ae0e8d	sysdev_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x93b695ce	flexcop_reset_block_300	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x13531a3f	s5h1420_attach	drivers/media/dvb/frontends/s5h1420	EXPORT_SYMBOL
+0x3b46a5c3	xt_alloc_table_info	net/netfilter/x_tables	EXPORT_SYMBOL
+0x283224e2	cxiIsNFSThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa8e2db45	current_fs_time	vmlinux	EXPORT_SYMBOL
+0x5bdd6edb	_spin_trylock	vmlinux	EXPORT_SYMBOL
+0xa27656aa	skb_find_text	vmlinux	EXPORT_SYMBOL
+0xfccffae6	rpc_restart_call	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x38e1d89f	ieee80211_register_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x7ea7d551	do_exit	vmlinux	EXPORT_SYMBOL_GPL
+0xe2f603db	crypto_lookup_template	vmlinux	EXPORT_SYMBOL_GPL
+0x43353382	skb_queue_tail	vmlinux	EXPORT_SYMBOL
+0x9497e7cc	dvb_ca_en50221_frda_irq	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xcf502e7c	acpi_get_hp_params_from_firmware	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x6228724d	ebt_unregister_watcher	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xd93a857d	nf_conntrack_tcp_update	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x15b5ecde	tipc_set_portunreliable	net/tipc/tipc	EXPORT_SYMBOL
+0xcc4b8797	sound_open_dma	sound/oss/sound	EXPORT_SYMBOL
+0x1264d24e	mark_buffer_dirty_inode	vmlinux	EXPORT_SYMBOL
+0x07f4f2ce	hisax_unregister	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xe81fe794	v4l_printk_ioctl_arg	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x813a35f5	probe_mpu401	sound/oss/mpu401	EXPORT_SYMBOL
+0x7db9be3c	ov511_deregister_decomp_module	ubuntu/media/ov511/ov511	EXPORT_SYMBOL
+0x434fa55c	release_console_sem	vmlinux	EXPORT_SYMBOL
+0xb1c3a01a	oops_in_progress	vmlinux	EXPORT_SYMBOL
+0xd544f721	queue_work	vmlinux	EXPORT_SYMBOL_GPL
+0x4d4cbcf9	dvb_usb_generic_write	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xe783213c	tda10086_attach	drivers/media/dvb/frontends/tda10086	EXPORT_SYMBOL
+0xc9cc6c6c	scsi_req_abort_cmd	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x73e25637	scsi_execute_req	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4acf0f9f	backlight_device_register	drivers/video/backlight/backlight	EXPORT_SYMBOL
+0x8bead2ec	snd_cs8427_iec958_active	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0xf465b72a	param_get_byte	vmlinux	EXPORT_SYMBOL
+0xef238427	kill_fasync	vmlinux	EXPORT_SYMBOL
+0xada78e56	elevator_init	vmlinux	EXPORT_SYMBOL
+0xe3da236f	blk_get_backing_dev_info	vmlinux	EXPORT_SYMBOL
+0x437c6f6a	tty_check_change	vmlinux	EXPORT_SYMBOL
+0xe7e2a9a4	tty_register_ldisc	vmlinux	EXPORT_SYMBOL
+0x6fe2ef7d	gss_encrypt_xdr_buf	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x9adc06c5	snd_emux_unlock_voice	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0xc37db1ee	debugfs_create_u8	vmlinux	EXPORT_SYMBOL_GPL
+0x5ea3210b	attribute_container_classdev_to_container	vmlinux	EXPORT_SYMBOL_GPL
+0x79adb0d6	mca_bus_type	vmlinux	EXPORT_SYMBOL
+0xfde2f9d4	dma_async_memcpy_issue_pending	vmlinux	EXPORT_SYMBOL
+0x77d122e1	gigaset_dbg_buffer	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x51bc8fc9	b1_send_message	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x06277061	get_key_pinnacle_color	drivers/media/video/ir-kbd-i2c	EXPORT_SYMBOL_GPL
+0xcdf34117	pcmcia_validate_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x14dfb94e	decode_rs16	lib/reed_solomon/reed_solomon	EXPORT_SYMBOL_GPL
+0x3fb568cf	drm_core_ioremap	drivers/char/drm/drm	EXPORT_SYMBOL
+0x4287839e	hpsb_iso_n_ready	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb0087aa8	ib_unregister_mad_agent	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x926a7679	arcnet_unregister_proto	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xd3bb9aa4	special_handler	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x3da1b07a	machine_real_restart	vmlinux	EXPORT_SYMBOL
+0x17d59d01	schedule_timeout	vmlinux	EXPORT_SYMBOL
+0x1bbb64f0	ttpci_budget_debiread	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0xc3bf664a	scsi_is_fc_rport	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xa9ec809e	aio_put_req	vmlinux	EXPORT_SYMBOL
+0x109b85a8	crypto_alloc_base	vmlinux	EXPORT_SYMBOL_GPL
+0xb2be638a	dma_chan_cleanup	vmlinux	EXPORT_SYMBOL
+0x65ccb6f0	call_netevent_notifiers	vmlinux	EXPORT_SYMBOL_GPL
+0xa586de8c	netlink_dump_start	vmlinux	EXPORT_SYMBOL
+0x91b8d2df	tifm_eject	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xf05f2ab8	mmc_start_request	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xaae6f09a	scsi_add_host	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x8f8fecc4	ieee80211_freq_to_channel	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xb35b672c	tipc_publish	net/tipc/tipc	EXPORT_SYMBOL
+0xcefcd99a	serial8250_unregister_port	vmlinux	EXPORT_SYMBOL
+0x0bf16b92	neigh_destroy	vmlinux	EXPORT_SYMBOL
+0x8e0b7743	ipv6_ext_hdr	vmlinux	EXPORT_SYMBOL
+0xcca787d6	ata_pci_device_do_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5f483195	i2c_adapter_driver	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x1623ffb2	rdma_notify	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x76101064	dvb_ringbuffer_pkt_dispose	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x81938a64	mmc_wait_for_app_cmd	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xb8bddf33	ip6t_ext_hdr	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0x0b6d6666	cxiPanic	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3342f2ec	blk_sync_queue	vmlinux	EXPORT_SYMBOL
+0x30fe9fc7	vc_lock_resize	vmlinux	EXPORT_SYMBOL
+0xaf4c227e	__xfrm_policy_check	vmlinux	EXPORT_SYMBOL
+0x9a66e97f	usbnet_get_link	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x76ffc497	ax25_rebuild_header	net/ax25/ax25	EXPORT_SYMBOL
+0x84561b99	snd_ctl_rename_id	sound/core/snd	EXPORT_SYMBOL
+0x0ba4ef1d	snd_sb16dsp_interrupt	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0xc915f64f	class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x597e787d	pskb_copy	vmlinux	EXPORT_SYMBOL
+0xa27f7ddd	b1ctl_read_proc	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x063b8e0b	scsi_schedule_eh	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xc2bc8c6c	fat_alloc_new_dir	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x0014bfd1	smp_call_function	vmlinux	EXPORT_SYMBOL
+0x4248034e	snd_sbmixer_new	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x0799aca4	local_bh_enable	vmlinux	EXPORT_SYMBOL
+0xcae17bbe	dec_zone_page_state	vmlinux	EXPORT_SYMBOL
+0xb678366f	int_sqrt	vmlinux	EXPORT_SYMBOL
+0xedb3e615	pci_find_capability	vmlinux	EXPORT_SYMBOL
+0x2fe64b34	ps2_handle_response	vmlinux	EXPORT_SYMBOL
+0x603193a6	ps2_command	vmlinux	EXPORT_SYMBOL
+0x100c48a2	unregister_dock_notifier	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0x33f86055	i2c_smbus_read_byte_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xe94b8c9c	dst_check_sum	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xc12bd133	dibusb_dib3000mc_tuner_attach	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x83479098	cx2341x_ctrl_query	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xd51988fb	scsi_host_lookup	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xca5dbc50	scsi_print_sense_hdr	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x1eb9516e	round_jiffies_relative	vmlinux	EXPORT_SYMBOL_GPL
+0xb47f3801	llc_mac_hdr_init	vmlinux	EXPORT_SYMBOL
+0x9adad583	DAC1064_global_restore	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0x7e790fdd	config_item_put	fs/configfs/configfs	EXPORT_SYMBOL
+0xadb7d49d	config_item_get	fs/configfs/configfs	EXPORT_SYMBOL
+0xa88fdd57	journal_dirty_metadata	fs/jbd/jbd	EXPORT_SYMBOL
+0xf9ae81a1	nf_conntrack_max	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x607fb03f	snd_pcm_suspend	sound/core/snd-pcm	EXPORT_SYMBOL
+0xa7e34c99	hrtimer_try_to_cancel	vmlinux	EXPORT_SYMBOL_GPL
+0x479397e4	klist_iter_init_node	vmlinux	EXPORT_SYMBOL_GPL
+0x6fb13385	rdc_reset_state	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xd591d409	dib7000m_get_i2c_master	drivers/media/dvb/frontends/dib7000m	EXPORT_SYMBOL
+0xc9955e05	dib7000p_get_i2c_master	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0xcd1ce001	v4l2_ctrl_check	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xb34bfff4	video_unregister_device	drivers/media/video/videodev	EXPORT_SYMBOL
+0xf9782473	cap_netlink_send	security/commoncap	EXPORT_SYMBOL
+0x530b1e98	pm_suspend	vmlinux	EXPORT_SYMBOL
+0x141f4802	idr_replace	vmlinux	EXPORT_SYMBOL
+0xb2e12a31	skb_copy_and_csum_dev	vmlinux	EXPORT_SYMBOL
+0xa4d9de12	__dev_get_by_name	vmlinux	EXPORT_SYMBOL
+0x05a46d3e	nf_register_hook	vmlinux	EXPORT_SYMBOL
+0xc98b1af9	saa7134_pgtable_alloc	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0xc3a79af0	register_netdev	vmlinux	EXPORT_SYMBOL
+0x36f3004a	ib_resize_cq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x7cc89cad	ebt_register_watcher	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xb3cb5da5	ieee80211_tx_frame	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x57f222fb	snd_timer_continue	sound/core/snd-timer	EXPORT_SYMBOL
+0xd9d2bb03	snd_usbmidi_disconnect	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0xb3b46296	rt2x00lib_add_interface	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x7b69467e	posix_acl_from_xattr	vmlinux	EXPORT_SYMBOL
+0xd02cc869	__bitmap_andnot	vmlinux	EXPORT_SYMBOL
+0xbf2bc863	b1dma_send_message	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x98f3b8d7	dvb_dmx_swfilter_204	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x79aa7585	dccp_rx_hist_purge	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xfcd59df1	snd_sb16dsp_configure	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0x98bd6f46	param_set_int	vmlinux	EXPORT_SYMBOL
+0x667cecc9	acpi_os_printf	vmlinux	EXPORT_SYMBOL
+0xd3ba7a14	skb_seq_read	vmlinux	EXPORT_SYMBOL
+0xcc73b207	i2c_transfer	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x781a2c74	i2o_parm_field_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xc1cbd107	scsi_device_lookup	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xefe4f32f	config_item_init	fs/configfs/configfs	EXPORT_SYMBOL
+0x22b927b4	snd_cs4231_mixer	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x3f571edc	snd_cs4236_mixer	sound/isa/cs423x/snd-cs4236-lib	EXPORT_SYMBOL
+0x00ed4422	crypto_drop_spawn	vmlinux	EXPORT_SYMBOL_GPL
+0xee08006f	sysctl_local_port_range	vmlinux	EXPORT_SYMBOL
+0x9ce3f83f	nvram_write_byte	drivers/char/nvram	EXPORT_SYMBOL
+0x1d02c21e	ttpci_eeprom_parse_mac	drivers/media/dvb/ttpci/ttpci-eeprom	EXPORT_SYMBOL
+0xaeab9aa1	cx2341x_ctrl_get_menu	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0x6e58008f	xdr_inline_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3048c09a	snd_card_file_add	sound/core/snd	EXPORT_SYMBOL
+0x40046949	param_set_short	vmlinux	EXPORT_SYMBOL
+0xf923cf04	ata_cable_80wire	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x92c1fdf3	mptbase_sas_persist_operation	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xa1c32c4f	pccard_reset_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x46c1c4a2	irlmp_unregister_service	net/irda/irda	EXPORT_SYMBOL
+0x8810440b	snd_midi_event_new	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x29833ad7	snd_pcm_lib_mmap_iomem	sound/core/snd-pcm	EXPORT_SYMBOL
+0x7912ae5d	cxiIsLockdThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4c5cc2fa	generic_file_llseek	vmlinux	EXPORT_SYMBOL
+0x63aabb6e	skb_pad	vmlinux	EXPORT_SYMBOL
+0x45dc1ac7	drm_sman_owner_clean	drivers/char/drm/drm	EXPORT_SYMBOL
+0x7118ebfb	hpsb_send_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x2bc71478	get_h225_addr	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0xed5ddba2	nf_nat_tftp_hook	net/netfilter/nf_conntrack_tftp	EXPORT_SYMBOL_GPL
+0x1682b157	rtl_ieee80211_txb_free	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x83cbc699	mutex_lock	vmlinux	EXPORT_SYMBOL
+0x46726d5b	wait_on_page_bit	vmlinux	EXPORT_SYMBOL
+0x2fd1d81c	vfree	vmlinux	EXPORT_SYMBOL
+0xe2daeb0a	ide_xfer_verbose	vmlinux	EXPORT_SYMBOL
+0x7d08a9ec	mpt_config	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x7d7e0dbc	ei_interrupt	drivers/net/8390	EXPORT_SYMBOL
+0x03b8286f	pcmcia_disable_device	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xac8e7c5f	pcmcia_adjust_resource_info	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x78e56cec	snd_info_create_module_entry	sound/core/snd	EXPORT_SYMBOL
+0x2398605d	snd_trident_synth_free	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0xce9f696a	generic_file_sendfile	vmlinux	EXPORT_SYMBOL
+0x39023031	elv_rq_merge_ok	vmlinux	EXPORT_SYMBOL
+0x22de7ebf	dma_pool_alloc	vmlinux	EXPORT_SYMBOL
+0xad4370a6	dma_async_memcpy_pg_to_pg	vmlinux	EXPORT_SYMBOL
+0xbbcb9267	ib_response_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x958b149c	scsi_get_host_dev	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x539a6274	irlmp_open_lsap	net/irda/irda	EXPORT_SYMBOL
+0xe68dbfb8	irttp_open_tsap	net/irda/irda	EXPORT_SYMBOL
+0x783e92d8	rtl_ieee80211_get_beacon	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x28a592f6	cxiMountedOverVfsType	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9a6666c8	sysfs_create_group	vmlinux	EXPORT_SYMBOL_GPL
+0x6a32179a	blk_dump_rq_flags	vmlinux	EXPORT_SYMBOL
+0x06127753	ioread16be	vmlinux	EXPORT_SYMBOL
+0x5ffcde40	get_device	vmlinux	EXPORT_SYMBOL_GPL
+0x8707568c	tcp_v4_do_rcv	vmlinux	EXPORT_SYMBOL
+0x3f44365d	gs_getserial	drivers/char/generic_serial	EXPORT_SYMBOL
+0x1292dcb6	gs_setserial	drivers/char/generic_serial	EXPORT_SYMBOL
+0x2599a6b7	pci_match_id	vmlinux	EXPORT_SYMBOL
+0xd951c88c	xfrm_unregister_mode	vmlinux	EXPORT_SYMBOL
+0x7e3b3ec7	sppp_do_ioctl	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x7bfa464d	qlogicfas408_queuecommand	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x5dcc95e7	scsi_free_sgtable	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x93056133	scsi_add_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x00c52ef5	g_make_token_header	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x552e1259	GPFS_CONFIG_SMP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf5696a7b	kobject_register	vmlinux	EXPORT_SYMBOL
+0xc71da96d	ethtool_op_get_tso	vmlinux	EXPORT_SYMBOL
+0xe0ddb8e2	matrox_cfbX_init	drivers/video/matrox/matroxfb_accel	EXPORT_SYMBOL
+0x15239b2d	rpc_alloc_iostats	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xfebd84b4	snd_opl3_hwdep_new	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0xd8c152cd	raise_softirq_irqoff	vmlinux	EXPORT_SYMBOL
+0xf92b225a	proc_dointvec_ms_jiffies	vmlinux	EXPORT_SYMBOL
+0x85aba801	textsearch_prepare	vmlinux	EXPORT_SYMBOL
+0x4186676c	ide_pio_timings	vmlinux	EXPORT_SYMBOL_GPL
+0x4af8d8cc	tcp_prot	vmlinux	EXPORT_SYMBOL
+0xab652655	csr1212_attach_keyval_to_directory	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb1a312e1	ib_unpack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x36c8ea1f	dvb_frontend_sleep_until	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x61b0321e	cxiHoldsBKL	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x06f2d5c7	mempool_free	vmlinux	EXPORT_SYMBOL
+0x8a9faee3	simple_getattr	vmlinux	EXPORT_SYMBOL
+0x2a605425	blk_queue_max_phys_segments	vmlinux	EXPORT_SYMBOL
+0x1069a1ac	pci_iounmap	vmlinux	EXPORT_SYMBOL
+0x07e8e6e2	or51211_attach	drivers/media/dvb/frontends/or51211	EXPORT_SYMBOL
+0xba9bd9dc	sas_port_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x247f6f3a	driver_for_each_device	vmlinux	EXPORT_SYMBOL_GPL
+0xfaf3c6ff	attribute_container_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xff67dd1d	llc_sap_open	vmlinux	EXPORT_SYMBOL
+0x7f88edce	tcf_em_tree_validate	vmlinux	EXPORT_SYMBOL
+0xf8cbefd0	cx88_sram_channel_setup	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x0896b227	configfs_register_subsystem	fs/configfs/configfs	EXPORT_SYMBOL
+0x6bdcea7e	journal_init_inode	fs/jbd/jbd	EXPORT_SYMBOL
+0x689ffec8	snd_tea6330t_update_mixer	sound/i2c/snd-tea6330t	EXPORT_SYMBOL
+0xb82116d9	__breadahead	vmlinux	EXPORT_SYMBOL
+0x859204af	sscanf	vmlinux	EXPORT_SYMBOL
+0x317b0be4	ethtool_op_get_tx_csum	vmlinux	EXPORT_SYMBOL
+0x4c6ca53c	tcp_rcv_state_process	vmlinux	EXPORT_SYMBOL
+0xb0ca1d75	skb_to_sgvec	vmlinux	EXPORT_SYMBOL_GPL
+0x8bf78796	agp_alloc_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x7e03907a	wait_for_completion	vmlinux	EXPORT_SYMBOL
+0xa8047957	inotify_add_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x40ad42dc	hpsb_set_packet_complete_task	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x732eda4a	led_classdev_suspend	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0x5d34474e	sirdev_raw_read	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x5cd179e6	qlogicfas408_ihandl	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x4e965a5c	journal_stop	fs/jbd/jbd	EXPORT_SYMBOL
+0x30123eb5	icmpv6_statistics	net/ipv6/ipv6	EXPORT_SYMBOL
+0xe8526444	rpc_bind_new_program	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe69e0b06	snd_pcm_hw_constraint_integer	sound/core/snd-pcm	EXPORT_SYMBOL
+0x16e59a25	snd_cs4236_ext_in	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x35ad67ec	hweight64	vmlinux	EXPORT_SYMBOL
+0xe8cd902e	hweight16	vmlinux	EXPORT_SYMBOL
+0xcb6beb40	hweight32	vmlinux	EXPORT_SYMBOL
+0xfd66c60e	mca_device_transform_memory	vmlinux	EXPORT_SYMBOL
+0xd783dfb1	mca_device_transform_ioport	vmlinux	EXPORT_SYMBOL
+0xa746bc92	tcp_v4_md5_do_del	vmlinux	EXPORT_SYMBOL
+0xbba7a737	agp_add_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0xe17bf852	i2c_smbus_write_byte_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xa960d62f	dvb_pll_unknown_1	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x5532cfb1	usb_unlink_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x0cb31ad3	platform_device_add_data	vmlinux	EXPORT_SYMBOL_GPL
+0xa37a3533	hostap_remove_proc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xa771b38f	scsi_kmap_atomic_sg	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf2859169	snd_dma_alloc_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x9a425ecb	sock_create_lite	vmlinux	EXPORT_SYMBOL
+0x1fcece42	inet_twdr_twcal_tick	vmlinux	EXPORT_SYMBOL_GPL
+0xfd0f0de8	edac_mc_handle_ce_no_info	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x54452ed4	ieee80211softmac_wx_get_essid	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xbc36ae49	lapb_getparms	net/lapb/lapb	EXPORT_SYMBOL
+0xd129afc2	put_rpccred	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xca6fe072	snd_sb_csp_new	sound/isa/sb/snd-sb16-csp	EXPORT_SYMBOL
+0x172e72d4	vdso_enabled	vmlinux	EXPORT_SYMBOL_GPL
+0xcc732b68	cpufreq_unregister_governor	vmlinux	EXPORT_SYMBOL_GPL
+0x18a9f02d	cdrom_release	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x56d708ec	tifm_free_device	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x7e479918	snd_seq_event_port_attach	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0xc2b6e161	pnp_start_dev	vmlinux	EXPORT_SYMBOL
+0x6629fef5	tcp_timewait_state_process	vmlinux	EXPORT_SYMBOL
+0x211fc3cd	ip4_datagram_connect	vmlinux	EXPORT_SYMBOL
+0xae7fa1ff	hpsb_get_hostinfo_bykey	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x46db8d67	snd_gf1_lvol_to_gvol_raw	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xd18b6eb2	acpi_unmap_lsapic	vmlinux	EXPORT_SYMBOL
+0x517675eb	arch_acpi_processor_init_pdc	vmlinux	EXPORT_SYMBOL
+0xc6144286	srcu_init_notifier_head	vmlinux	EXPORT_SYMBOL_GPL
+0x7717cded	clear_page_dirty_for_io	vmlinux	EXPORT_SYMBOL
+0x028ac8de	nobh_writepage	vmlinux	EXPORT_SYMBOL
+0x7399f45f	drm_get_resource_len	drivers/char/drm/drm	EXPORT_SYMBOL
+0xe32559ba	parport_wait_event	drivers/parport/parport	EXPORT_SYMBOL
+0x6a77d250	starget_for_each_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6169915e	irttp_dup	net/irda/irda	EXPORT_SYMBOL
+0x39e3dd23	mod_firmware_load	sound/sound_firmware	EXPORT_SYMBOL
+0xdada6638	vfs_follow_link	vmlinux	EXPORT_SYMBOL
+0xf19a666a	tty_schedule_flip	vmlinux	EXPORT_SYMBOL
+0xbec9295d	tty_get_baud_rate	vmlinux	EXPORT_SYMBOL
+0x7963df57	tcp_reno_min_cwnd	vmlinux	EXPORT_SYMBOL_GPL
+0x968bc464	spi_bitbang_stop	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0xfc3197d9	ftdi_elan_gone_away	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x87cba20a	DAC1064_global_init	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0xef50a1ef	tipc_disable_bearer	net/tipc/tipc	EXPORT_SYMBOL
+0x0f25f2e7	snd_rawmidi_kernel_write	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xec6585f3	inotify_rm_wd	vmlinux	EXPORT_SYMBOL_GPL
+0xbb7b4141	tty_devnum	vmlinux	EXPORT_SYMBOL
+0x314e903b	sysdev_class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x212db8d2	pcmcia_socket_list	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x41854f2a	snd_ac97_pcm_double_rate_rules	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x8aaf142b	nla_parse	vmlinux	EXPORT_SYMBOL
+0xae227bb0	tpm_release	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xb60afded	ib_post_send_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xedfd98d1	pcmcia_read_cis_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x83e1f005	ccid_new	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xc07e9e17	cxiUiomove	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x98adfde2	request_module	vmlinux	EXPORT_SYMBOL
+0x74f2ed6f	input_free_device	vmlinux	EXPORT_SYMBOL
+0xae4dcd4c	llc_sap_find	vmlinux	EXPORT_SYMBOL
+0x7e95113b	ata_host_init	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x41fbcae0	hpsb_reset_bus	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7d11c268	jiffies	vmlinux	EXPORT_SYMBOL
+0x3434134e	tifm_unmap_sg	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x0bb692c6	pppox_unbind_sock	drivers/net/pppox	EXPORT_SYMBOL
+0x803b96e6	alloc_ltalkdev	net/appletalk/appletalk	EXPORT_SYMBOL
+0x65b761b1	hci_conn_auth	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x53c4b881	__kfifo_get	vmlinux	EXPORT_SYMBOL
+0x847b9211	__kfifo_put	vmlinux	EXPORT_SYMBOL
+0x404e9003	proc_mkdir	vmlinux	EXPORT_SYMBOL
+0x3fbab67f	dev_queue_xmit	vmlinux	EXPORT_SYMBOL
+0xb75edc11	avmcard_dma_alloc	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xa96b8593	do_map_probe	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0x2a67b605	cxiMallocPinned	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x04489f24	proc_dointvec_jiffies	vmlinux	EXPORT_SYMBOL
+0xb56717cf	xtime	vmlinux	EXPORT_SYMBOL
+0x50afba27	blk_rq_map_sg	vmlinux	EXPORT_SYMBOL
+0x8f2ffa0e	dmam_free_noncoherent	vmlinux	EXPORT_SYMBOL
+0xc6eba5eb	gigaset_if_receive	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x99096245	parport_find_base	drivers/parport/parport	EXPORT_SYMBOL
+0x1876d25a	phone_unregister_device	drivers/telephony/phonedev	EXPORT_SYMBOL
+0xa341c70d	sis_malloc_new	drivers/video/sis/sisfb	EXPORT_SYMBOL_GPL
+0xbd8c8e1d	ivtv_api	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x764bf427	cxiInvalidateDCacheEntry	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x73ff53e3	get_dcookie	vmlinux	EXPORT_SYMBOL_GPL
+0x9f2bdaac	__bitmap_or	vmlinux	EXPORT_SYMBOL
+0x63c464e0	ide_setup_pci_devices	vmlinux	EXPORT_SYMBOL_GPL
+0xa9e305b2	sk_stream_wait_memory	vmlinux	EXPORT_SYMBOL
+0xb019a453	usb_set_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xb3887d7a	dccp_feat_confirm_recv	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x1159d397	cxiBlockingMutexRelease	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7627c335	_spin_trylock_bh	vmlinux	EXPORT_SYMBOL
+0xc7ec6c27	strspn	vmlinux	EXPORT_SYMBOL
+0x375bf494	iowrite8	vmlinux	EXPORT_SYMBOL
+0x5dd67618	register_netevent_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x5839d60f	z8530_sync_dma_open	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xf637570b	snd_ak4114_reg_write	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0x32550019	snd_ak4117_reg_write	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0xedbaee5e	nla_strcmp	vmlinux	EXPORT_SYMBOL
+0x27c92f34	cxiAlarmWrite	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x42bfe6f4	boot_cpu_data	vmlinux	EXPORT_SYMBOL
+0x9a482465	dibusb_streaming_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x2edb1824	parport_announce_port	drivers/parport/parport	EXPORT_SYMBOL
+0x6b095b68	dccp_hashinfo	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x7bdf0907	conf_printf2	sound/oss/sound	EXPORT_SYMBOL
+0x625cc539	snd_ac97_mixer	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x6faa475a	cond_resched_lock	vmlinux	EXPORT_SYMBOL
+0xdf7f9829	sysctl_string	vmlinux	EXPORT_SYMBOL
+0xdd6bfccd	radix_tree_tag_set	vmlinux	EXPORT_SYMBOL
+0x4e3567f7	match_int	vmlinux	EXPORT_SYMBOL
+0xa2e8f8fa	xfrm_policy_delete	vmlinux	EXPORT_SYMBOL
+0x90f07294	cx88_ioctl_hook	drivers/media/video/cx88/cx88-blackbird	EXPORT_SYMBOL
+0xf1cb67db	rtc_irq_register	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x8d6eca55	svc_proc_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x6bb71038	snd_seq_delete_kernel_client	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x319dbc24	snd_emu8000_poke_dw	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x04d8c750	release_perfctr_nmi	vmlinux	EXPORT_SYMBOL
+0xdbb6cbd9	unlock_cpu_hotplug	vmlinux	EXPORT_SYMBOL_GPL
+0x8f1e50dd	skb_cow_data	vmlinux	EXPORT_SYMBOL_GPL
+0xc679b61b	i2o_exec_lct_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x238653d2	snd_pcm_kernel_ioctl	sound/core/snd-pcm	EXPORT_SYMBOL
+0x868acba5	get_options	vmlinux	EXPORT_SYMBOL
+0x6249eead	i2c_get_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x3456c2a1	rdma_connect	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x896cc60a	dm_unregister_dirty_log_type	drivers/md/dm-mirror	EXPORT_SYMBOL
+0xaf9008b0	z8530_sync_dma_close	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xac4cd0b0	ieee80211softmac_set_rates	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xa63999df	snd_card_free_when_closed	sound/core/snd	EXPORT_SYMBOL
+0xda0687c5	input_unregister_handler	vmlinux	EXPORT_SYMBOL
+0xa74114ad	rtnetlink_links	vmlinux	EXPORT_SYMBOL
+0x31e1f4ff	agp_generic_alloc_by_type	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x3b51a92a	bttv_sub_bus_type	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xccb519e1	hci_connect	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x90090d7c	free_ieee80211softmac	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xed1f8ada	register_exec_domain	vmlinux	EXPORT_SYMBOL
+0x96f65e12	dquot_initialize	vmlinux	EXPORT_SYMBOL
+0x1f997a8b	pci_remove_behind_bridge	vmlinux	EXPORT_SYMBOL
+0x9bdae4a7	v4l_compat_ioctl32	drivers/media/video/compat_ioctl32	EXPORT_SYMBOL_GPL
+0x00f34788	rtc_read_alarm	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x4938ff9f	usbnet_set_settings	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x3ea0a891	usbnet_get_settings	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xcb7b97e1	fat_fill_super	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x1f395686	MIDIbuf_avail	sound/oss/sound	EXPORT_SYMBOL
+0xc1b063c6	dump_thread	vmlinux	EXPORT_SYMBOL
+0x70c66486	ptrace_notify	vmlinux	EXPORT_SYMBOL
+0xfdacb9a5	pci_bus_write_config_word	vmlinux	EXPORT_SYMBOL
+0xe98ae28c	fl6_sock_lookup	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x0835be64	proc_net	vmlinux	EXPORT_SYMBOL
+0x8b18496f	__copy_to_user_ll	vmlinux	EXPORT_SYMBOL
+0x727a4e30	pci_release_region	vmlinux	EXPORT_SYMBOL
+0x078b1fd2	nf_hooks	vmlinux	EXPORT_SYMBOL
+0xc0f35713	hpsb_iso_xmit_sync	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x8fd81f61	tifm_register_driver	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xa59d5044	pcmcia_dev_present	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xda70fff5	snd_info_free_entry	sound/core/snd	EXPORT_SYMBOL
+0xf1c8b787	snd_ak4114_create	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xc662faa3	snd_ak4117_create	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x7d278df7	_write_lock_bh	vmlinux	EXPORT_SYMBOL
+0xf38f849e	pci_find_device_reverse	vmlinux	EXPORT_SYMBOL
+0x37539b75	drm_release	drivers/char/drm/drm	EXPORT_SYMBOL
+0xe4f4665b	ipmi_validate_addr	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xe2ebb109	__ide_dma_check	vmlinux	EXPORT_SYMBOL
+0xfebc006d	km_state_notify	vmlinux	EXPORT_SYMBOL
+0xaea2f5e3	hpsb_selfid_complete	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x02783550	kvm_resched	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x33f6928a	cx8802_get_driver	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x968458a6	cycx_peek	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x6dfe026f	register_ip_vs_scheduler	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xf268b45a	nf_ct_port_nfattr_to_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xa7bf6e00	snd_pcm_set_ops	sound/core/snd-pcm	EXPORT_SYMBOL
+0xda2bf29a	seq_printf	vmlinux	EXPORT_SYMBOL
+0xca8d7fe0	inotify_init	vmlinux	EXPORT_SYMBOL_GPL
+0x258355b4	fb_find_best_mode	vmlinux	EXPORT_SYMBOL
+0x6be9c6ca	sk_stream_mem_schedule	vmlinux	EXPORT_SYMBOL
+0xfa0756dd	load_msrs	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x4a21da28	mpt_detach	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x6da24a0a	mptscsih_dev_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x9a222270	IoDone	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf1efad04	ilookup5_nowait	vmlinux	EXPORT_SYMBOL
+0x7dacc271	rwsem_downgrade_wake	vmlinux	EXPORT_SYMBOL
+0x0b742fd7	simple_strtol	vmlinux	EXPORT_SYMBOL
+0x90ecaba7	pci_dev_driver	vmlinux	EXPORT_SYMBOL
+0xa672fcac	neigh_delete	vmlinux	EXPORT_SYMBOL
+0xca16d907	mptscsih_raid_id_to_num	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x961de6a4	mmc_free_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x89faeb85	ax25_linkfail_release	net/ax25/ax25	EXPORT_SYMBOL
+0x8bf3d033	ivtv_clear_irq_mask	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xbd582e88	remote_llseek	vmlinux	EXPORT_SYMBOL
+0x9dd09eb8	unlock_super	vmlinux	EXPORT_SYMBOL
+0x6b385179	pci_set_power_state	vmlinux	EXPORT_SYMBOL
+0x02aff2f4	acpi_install_gpe_handler	vmlinux	EXPORT_SYMBOL
+0xeb37482a	gen_kill_estimator	vmlinux	EXPORT_SYMBOL
+0x715a5a77	drm_mm_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0x6c9a7890	ib_send_cm_lap	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xa8fc239b	isac_irq	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x9a4f2efd	unregister_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0xbb2abf46	fbcon_set_tileops	drivers/video/console/tileblit	EXPORT_SYMBOL
+0xd7e7ca24	wake_up_bit	vmlinux	EXPORT_SYMBOL
+0xddeef053	vfs_stat	vmlinux	EXPORT_SYMBOL
+0x1db349ea	__bio_clone	vmlinux	EXPORT_SYMBOL
+0x42d04a96	pci_bus_size_bridges	vmlinux	EXPORT_SYMBOL
+0x45bb0352	acpi_set_current_resources	vmlinux	EXPORT_SYMBOL
+0x9845e8a0	attach_capi_ctr	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xb5de3b10	dibusb_pid_filter_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x796fc5ce	scsi_get_sense_info_fld	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xaef92c4d	snd_ctl_elem_read	sound/core/snd	EXPORT_SYMBOL
+0xdd654df7	snd_i2c_sendbytes	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0xd95de3b2	cxiReactivateOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xda75ddf2	sysdev_driver_register	vmlinux	EXPORT_SYMBOL_GPL
+0xf7ece92f	sata_phy_reset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2b619e9d	zlib_deflateReset	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0x8775e9d0	cap_netlink_recv	security/commoncap	EXPORT_SYMBOL
+0x3da7dc15	snd_pcm_lib_malloc_pages	sound/core/snd-pcm	EXPORT_SYMBOL
+0xd3fe0733	f_setown	vmlinux	EXPORT_SYMBOL
+0xde9b17ed	agp3_generic_fetch_size	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa78bd894	iTCO_vendor_pre_set_heartbeat	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x2778b080	ib_cancel_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xf5dc4421	scsi_block_when_processing_errors	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x56c8799d	scsi_kunmap_atomic_sg	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x763e54a4	irlmp_unregister_client	net/irda/irda	EXPORT_SYMBOL
+0xaf39a117	rt2x00lib_passive_scan	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xa8b77dba	elv_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x6d27ef64	__bitmap_empty	vmlinux	EXPORT_SYMBOL
+0xce4904a4	acpi_leave_sleep_state	vmlinux	EXPORT_SYMBOL
+0x39bade97	dvb_generic_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xb065a54a	usb_clear_halt	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x05e807a9	xdr_encode_string	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc5efb48f	snd_seq_instr_find	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0xb714a981	console_print	vmlinux	EXPORT_SYMBOL
+0x9b1e2fa8	submit_bh	vmlinux	EXPORT_SYMBOL
+0x62addca7	snd_emu8000_peek_dw	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x83563145	__inode_dir_notify	vmlinux	EXPORT_SYMBOL
+0xa6dcc773	rb_insert_color	vmlinux	EXPORT_SYMBOL
+0xd670a3a5	unregister_8022_client	vmlinux	EXPORT_SYMBOL
+0xe9cf832e	pi_do_claimed	drivers/block/paride/paride	EXPORT_SYMBOL
+0x5622338a	videobuf_dvb_register	drivers/media/video/video-buf-dvb	EXPORT_SYMBOL
+0x3fa49f8f	hostap_set_word	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x31028d76	ac97_probe_codec	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x66d87d38	symbol_put_addr	vmlinux	EXPORT_SYMBOL_GPL
+0x28177a3f	ata_tf_to_fis	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x31f08ece	d_alloc	vmlinux	EXPORT_SYMBOL
+0x7bcad713	tty_buffer_request_room	vmlinux	EXPORT_SYMBOL_GPL
+0x5a302432	ide_pci_create_host_proc	vmlinux	EXPORT_SYMBOL_GPL
+0x6a061a36	llc_set_station_handler	vmlinux	EXPORT_SYMBOL
+0xcc3c1222	i2c_smbus_read_word_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x1fcd6507	ib_create_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe0c43429	irlmp_close_lsap	net/irda/irda	EXPORT_SYMBOL
+0x0af6596b	hashbin_remove_this	net/irda/irda	EXPORT_SYMBOL
+0xbcb296f1	irttp_close_tsap	net/irda/irda	EXPORT_SYMBOL
+0x206d8e39	cxiWaitEventSignal	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7c00fb8d	b1_load_t4file	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x378bc737	fc_host_post_event	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xf4b93bbc	journal_extend	fs/jbd/jbd	EXPORT_SYMBOL
+0xc7789e61	__percpu_depopulate_mask	vmlinux	EXPORT_SYMBOL_GPL
+0x31042533	blk_execute_rq_nowait	vmlinux	EXPORT_SYMBOL_GPL
+0xfa06820f	isdn_register_divert	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0xddd7af63	dvb_ca_en50221_camchange_irq	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x733b49cb	matroxfb_register_driver	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0x9fc56bdd	snd_emu8000_dma_chan	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0xa523a04a	wiphy_unregister	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0xa51cdfe8	__FIXADDR_TOP	vmlinux	EXPORT_SYMBOL
+0xfcfe0e66	pci_choose_state	vmlinux	EXPORT_SYMBOL
+0x9cb45341	__ide_dma_end	vmlinux	EXPORT_SYMBOL
+0xeb2a3211	kernel_sendpage	vmlinux	EXPORT_SYMBOL
+0x851552da	udp_proc_register	vmlinux	EXPORT_SYMBOL
+0xdf327cd1	ata_interrupt	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x7d9445ab	ipmi_destroy_user	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xb0baa1a5	dccp_feat_change	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x0d0da68d	nr_free_pages	vmlinux	EXPORT_SYMBOL
+0x7aec9089	clear_user	vmlinux	EXPORT_SYMBOL
+0x902a3cd2	ir_codes_hauppauge_new	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x3d3b668b	ttpci_budget_init_hooks	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0xcf8b77a4	cx2341x_mpeg_ctrls	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xe7a2620e	save_vga	drivers/video/vgastate	EXPORT_SYMBOL
+0xd8df5060	clear_inode	vmlinux	EXPORT_SYMBOL
+0xa3cc2047	ata_eh_qc_retry	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x75eb30e7	tpm_get_timeouts	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x9f823278	register_capi_driver	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x86197933	dm_device_name	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0x9b718427	_write_unlock_irqrestore	vmlinux	EXPORT_SYMBOL
+0x949229e4	device_release_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x6922ec65	dmam_release_declared_memory	vmlinux	EXPORT_SYMBOL
+0xec979878	neigh_parms_release	vmlinux	EXPORT_SYMBOL
+0x384fcfab	hpsb_register_highlevel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x86f9af36	ir_input_keydown	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x3be5f7ac	usbvideo_TestPattern	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x5333007b	scsi_register_interface	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xce3ca308	copy_from_user_toio	sound/core/snd	EXPORT_SYMBOL
+0xea305932	snd_sbdsp_reset	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x9b24b44f	snd_trident_start_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x5d4272c0	wait_for_completion_timeout	vmlinux	EXPORT_SYMBOL
+0x23ad070a	set_current_groups	vmlinux	EXPORT_SYMBOL
+0x0e23b482	usb_put_intf	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x8b2f65a8	update_region	vmlinux	EXPORT_SYMBOL
+0xb140057a	acpi_processor_unregister_performance	drivers/acpi/processor	EXPORT_SYMBOL
+0x06091f45	tda8083_attach	drivers/media/dvb/frontends/tda8083	EXPORT_SYMBOL
+0x0647d782	xfrm6_input_addr	net/ipv6/ipv6	EXPORT_SYMBOL
+0x3c43f268	__nf_conntrack_helper_find_byname	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x2d56c6fd	snd_cs8427_iec958_build	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x42424109	sb_be_quiet	sound/oss/sb_lib	EXPORT_SYMBOL
+0xd4cc8967	kxGetThreadID	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x161845ca	shrink_dcache_parent	vmlinux	EXPORT_SYMBOL
+0x713e14d2	tty_vhangup	vmlinux	EXPORT_SYMBOL
+0xf0999d8d	devres_remove	vmlinux	EXPORT_SYMBOL_GPL
+0x766469dd	scm_fp_dup	vmlinux	EXPORT_SYMBOL
+0x1f103b71	tcf_em_unregister	vmlinux	EXPORT_SYMBOL
+0x7ca5870f	capi20_release	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x84ade6a1	cx88_set_tvaudio	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x31f66843	tifm_remove_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xe880d496	hci_get_route	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x6091797f	synchronize_rcu	vmlinux	EXPORT_SYMBOL_GPL
+0xe523ad75	synchronize_irq	vmlinux	EXPORT_SYMBOL
+0xddf5008b	bus_for_each_drv	vmlinux	EXPORT_SYMBOL_GPL
+0x8cae38e4	bus_for_each_dev	vmlinux	EXPORT_SYMBOL_GPL
+0x609f1c7e	synchronize_net	vmlinux	EXPORT_SYMBOL
+0x75c8a11c	inet_twdr_twkill_work	vmlinux	EXPORT_SYMBOL_GPL
+0x80ed1580	suni_init	drivers/atm/suni	EXPORT_SYMBOL
+0xe330bce9	v4l2_prio_init	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x3609de81	nf_conntrack_count	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x27d8bb58	tipc_send2port	net/tipc/tipc	EXPORT_SYMBOL
+0x98fe07fc	ac97_bus_type	sound/ac97_bus	EXPORT_SYMBOL
+0xe062bfc9	selinux_relabel_packet_permission	vmlinux	EXPORT_SYMBOL_GPL
+0xdf8c695a	__ndelay	vmlinux	EXPORT_SYMBOL
+0x9e7d6bd0	__udelay	vmlinux	EXPORT_SYMBOL
+0x5f08fc2b	pneigh_lookup	vmlinux	EXPORT_SYMBOL
+0x028e9a86	parport_negotiate	drivers/parport/parport	EXPORT_SYMBOL
+0xbedbd5ce	nf_conntrack_expect_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x3c3db6a6	tipc_recv_msg	net/tipc/tipc	EXPORT_SYMBOL
+0xdfb39699	cxiWaitEventHasWaiters	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd8a2ab95	in_egroup_p	vmlinux	EXPORT_SYMBOL
+0xb8c1bc14	blk_queue_find_tag	vmlinux	EXPORT_SYMBOL
+0x81b2e430	fib_rules_dump	vmlinux	EXPORT_SYMBOL_GPL
+0x1211df5d	saa7134_devlist	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x84b783b3	snd_timer_close	sound/core/snd-timer	EXPORT_SYMBOL
+0x07a890c8	fb_alloc_cmap	vmlinux	EXPORT_SYMBOL
+0x409873e3	tty_termios_baud_rate	vmlinux	EXPORT_SYMBOL
+0xcd849e76	edac_mc_handle_ue_no_info	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x908aa9b2	iowrite32	vmlinux	EXPORT_SYMBOL
+0x4775eacf	iowrite16	vmlinux	EXPORT_SYMBOL
+0x33934162	release_firmware	vmlinux	EXPORT_SYMBOL
+0xd4f163b3	skb_append_datato_frags	vmlinux	EXPORT_SYMBOL
+0xeb390171	dccp_check_req	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xaa136450	param_get_charp	vmlinux	EXPORT_SYMBOL
+0xa7bbd458	tcp_child_process	vmlinux	EXPORT_SYMBOL
+0xb3815aa5	pcmcia_socket_class	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x706adf4a	rt2x00lib_remove_interface	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x31e5a331	find_pid	vmlinux	EXPORT_SYMBOL_GPL
+0xe7e6cb09	prepare_binprm	vmlinux	EXPORT_SYMBOL
+0x54aada4e	ide_wait_stat	vmlinux	EXPORT_SYMBOL
+0x60a13e90	rcu_barrier	vmlinux	EXPORT_SYMBOL_GPL
+0xdf60cc27	__print_symbol	vmlinux	EXPORT_SYMBOL
+0xa5c08f3e	inotify_rm_watch	vmlinux	EXPORT_SYMBOL_GPL
+0xf8814f73	rb_last	vmlinux	EXPORT_SYMBOL
+0xccf2f2fe	tcp_v4_destroy_sock	vmlinux	EXPORT_SYMBOL
+0x9ea70ffa	atm_dev_deregister	vmlinux	EXPORT_SYMBOL
+0xf6c58c8d	hashbin_get_first	net/irda/irda	EXPORT_SYMBOL
+0xffcd9a5e	cxiGetThreadId	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc5767ca0	kmem_cache_zalloc	vmlinux	EXPORT_SYMBOL
+0xa20070be	generic_listxattr	vmlinux	EXPORT_SYMBOL
+0x2ff8b207	simple_attr_write	vmlinux	EXPORT_SYMBOL_GPL
+0x3b38bd36	simple_unlink	vmlinux	EXPORT_SYMBOL
+0x1d26aa98	sprintf	vmlinux	EXPORT_SYMBOL
+0x19d5d20a	acpi_walk_namespace	vmlinux	EXPORT_SYMBOL
+0x4890b2f2	sysdev_register	vmlinux	EXPORT_SYMBOL_GPL
+0x2d485024	ide_dump_status	vmlinux	EXPORT_SYMBOL
+0xc35a71b1	b1_load_firmware	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xd464e760	v4l2_ctrl_query_menu	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xc68cff10	ndisc_mc_map	net/ipv6/ipv6	EXPORT_SYMBOL
+0x6451294b	posix_acl_valid	vmlinux	EXPORT_SYMBOL
+0xf6ebc03b	net_ratelimit	vmlinux	EXPORT_SYMBOL
+0xf1490f9a	csr1212_release_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9c447fba	rdma_addr_register_client	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0xa0700bc6	mptscsih_io_done	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x1b489baa	iscsi_prep_unsolicit_data_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x4750e35d	ieee80211softmac_start	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x1e85c55c	cxiCheckSiteMcrVersion	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9ae3d169	find_vma	vmlinux	EXPORT_SYMBOL
+0xb0a66aeb	raid_class_release	drivers/scsi/raid_class	EXPORT_SYMBOL
+0xdf2e00e2	scsi_register	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x94c6eed4	matroxfb_enable_irq	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0x893ec2f6	journal_dirty_data	fs/jbd/jbd	EXPORT_SYMBOL
+0xd220ec70	snd_seq_instr_list_free	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x5969b7ba	inotify_dentry_parent_queue_event	vmlinux	EXPORT_SYMBOL_GPL
+0x5aa79a07	kernel_connect	vmlinux	EXPORT_SYMBOL
+0x7c971551	hpsb_alloc_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x38bb724c	hdlcdrv_transmitter	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xe76b3b20	qlogicfas408_get_chip_type	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xe7bf7d05	screen_info	vmlinux	EXPORT_SYMBOL
+0x044fbf49	mempool_kzalloc	vmlinux	EXPORT_SYMBOL
+0xa05c03df	mempool_kmalloc	vmlinux	EXPORT_SYMBOL
+0x93d7fa70	inet_stream_connect	vmlinux	EXPORT_SYMBOL
+0xb28fdd22	nxt200x_attach	drivers/media/dvb/frontends/nxt200x	EXPORT_SYMBOL
+0xf268dea8	snd_gf1_i_look8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x1eb344b3	boot_tvec_bases	vmlinux	EXPORT_SYMBOL
+0xdd5d73ea	pci_release_regions	vmlinux	EXPORT_SYMBOL
+0xf0bcc0b3	acpi_os_create_semaphore	vmlinux	EXPORT_SYMBOL
+0x5475d5f9	ata_eh_qc_complete	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5e5183a6	gigaset_initdriver	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xcc983cae	_write_lock_irq	vmlinux	EXPORT_SYMBOL
+0xdf805952	relay_subbufs_consumed	vmlinux	EXPORT_SYMBOL_GPL
+0xe9456a5a	sysctl_xfrm_aevent_rseqth	vmlinux	EXPORT_SYMBOL
+0x63c7250c	videobuf_reqbufs	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4258f4a8	mpt_device_driver_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xfaed8c23	tms380tr_close	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0xd5791cfd	snd_seq_simple_init	sound/core/seq/instr/snd-ainstr-simple	EXPORT_SYMBOL
+0x16471586	snd_util_mem_free	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0xa213d377	crypto_hash_type	vmlinux	EXPORT_SYMBOL_GPL
+0xd49a6c69	ht_create_irq	vmlinux	EXPORT_SYMBOL
+0x148f0c99	FsmFree	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x88215518	journal_ack_err	fs/jbd/jbd	EXPORT_SYMBOL
+0x6c0e6787	ieee80211_wake_queue	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x02462292	_read_lock_bh	vmlinux	EXPORT_SYMBOL
+0xff1cf1d1	devres_close_group	vmlinux	EXPORT_SYMBOL_GPL
+0x02edbf98	inet6_csk_addr2sockaddr	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xeeadcdf1	midi_devs	sound/oss/sound	EXPORT_SYMBOL
+0x24379da7	proc_net_stat	vmlinux	EXPORT_SYMBOL
+0x20000329	simple_strtoul	vmlinux	EXPORT_SYMBOL
+0x0fd142bf	spi_alloc_master	vmlinux	EXPORT_SYMBOL_GPL
+0x02b6e655	tcp_rcv_established	vmlinux	EXPORT_SYMBOL
+0x8250af10	klist_next	vmlinux	EXPORT_SYMBOL_GPL
+0x775e0a26	dvb_pll_tdhu2	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xe94f775e	xt_unregister_targets	net/netfilter/x_tables	EXPORT_SYMBOL
+0x02e0c6d4	dump_trace	vmlinux	EXPORT_SYMBOL
+0x9981eff7	get_sb_pseudo	vmlinux	EXPORT_SYMBOL
+0xd9158ec3	proc_symlink	vmlinux	EXPORT_SYMBOL
+0x5dfac544	nf_register_afinfo	vmlinux	EXPORT_SYMBOL_GPL
+0x68f79507	drm_addmap	drivers/char/drm/drm	EXPORT_SYMBOL
+0xd415c610	ib_send_cm_drep	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x1fd09428	ib_send_cm_dreq	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xb1f4eb35	ir_codes_avermedia_dvbt	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x68b8d5d7	tda826x_attach	drivers/media/dvb/frontends/tda826x	EXPORT_SYMBOL
+0xf8129548	mraid_mm_register_adp	drivers/scsi/megaraid/megaraid_mm	EXPORT_SYMBOL
+0xd60f2c6c	o2hb_check_local_node_heartbeating	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x9c7077bd	enable_hlt	vmlinux	EXPORT_SYMBOL
+0x1e7bbcb3	kernel_restart	vmlinux	EXPORT_SYMBOL_GPL
+0xfcec0987	enable_irq	vmlinux	EXPORT_SYMBOL
+0xd985dc99	mempool_free_pages	vmlinux	EXPORT_SYMBOL
+0x26866af9	remap_vmalloc_range	vmlinux	EXPORT_SYMBOL
+0x13a89708	blk_queue_dma_alignment	vmlinux	EXPORT_SYMBOL
+0xa4824447	videobuf_qbuf	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x33ce0e9d	parport_ieee1284_epp_write_data	drivers/parport/parport	EXPORT_SYMBOL
+0x94c27845	parport_ieee1284_ecp_write_data	drivers/parport/parport	EXPORT_SYMBOL
+0xda1bd7c6	ieee80211softmac_wx_set_essid	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x6a8049a5	ssb_dma_set_mask	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x383ee711	cxiBlockingMutexHasWaiters	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe9d4ae1a	speakup_set_addresses	vmlinux	EXPORT_SYMBOL
+0xf51a9e9c	sata_phy_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x74a54545	agp_unbind_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x38b1e459	ib_query_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf2166ea9	ib_modify_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xf028cd4a	b1_getrevision	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x095abca6	bt878_device_control	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x4ae8012b	pcmcia_register_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xc96cb148	iscsi_set_param	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xd6ba471b	snd_ad1848_add_ctl_elem	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x546f0b06	_spin_lock_irq	vmlinux	EXPORT_SYMBOL
+0xd5b21ec0	i2o_event_register	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x8ae490eb	raid_class_attach	drivers/scsi/raid_class	EXPORT_SYMBOL
+0x25d9b778	snd_vx_free_firmware	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xdad4fcc0	vfs_kern_mount	vmlinux	EXPORT_SYMBOL_GPL
+0x375d8126	mpt_add_sge	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xaf547e2b	inet6_release	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfbf9be5d	register_oom_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x43b227fb	alloc_page_buffers	vmlinux	EXPORT_SYMBOL_GPL
+0xacfe0a0a	submit_bio	vmlinux	EXPORT_SYMBOL
+0x5bb1e265	anon_transport_class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xf609c4f5	spi_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0xb1c80559	b1dma_register_appl	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xdc72743b	dib7000pc_detection	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0x70a6e8d9	zlib_deflateInit2	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0x3971ee3e	neigh_lookup	vmlinux	EXPORT_SYMBOL
+0x33c7a24c	genl_sock	vmlinux	EXPORT_SYMBOL
+0xc0f9a263	ata_host_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd29c1d68	dvb_pll_samsung_tbmv	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x9bc213a1	mmc_remove_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x0392d2e3	sppp_reopen	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0xccfa8eca	usb_put_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xfae5b725	tcp_mtup_init	vmlinux	EXPORT_SYMBOL
+0x67b071ad	mpt_HardResetHandler	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xf5283172	snd_pcm_build_linear_format	sound/core/snd-pcm	EXPORT_SYMBOL
+0x522b678b	sta_info_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4e797913	rtl_ieee80211_crypt_deinit_handler	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xfa1cedb9	cxiStopDMS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa3277c3c	inode_setattr	vmlinux	EXPORT_SYMBOL
+0x29198e7a	alloc_buffer_head	vmlinux	EXPORT_SYMBOL
+0x02b3e21b	mca_device_status	vmlinux	EXPORT_SYMBOL
+0xfc6e6588	ata_pata_acpi_present	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x97a0f6c1	rdma_addr_unregister_client	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x3a7b7b7e	cx88_do_ioctl	drivers/media/video/cx88/cx8800	EXPORT_SYMBOL
+0xcfc5a54d	simple_map_init	drivers/mtd/maps/map_funcs	EXPORT_SYMBOL
+0x51991703	cache_purge	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3fac8c50	cpu_data	vmlinux	EXPORT_SYMBOL
+0x74baa70c	ip_route_input	vmlinux	EXPORT_SYMBOL
+0xc2a1346b	gameport_unregister_port	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x50679ae0	FsmRestartTimer	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x689dec4e	usbnet_get_endpoints	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x2c42ceeb	dccp_feat_clone	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x98b3095e	dccp_feat_clean	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x6ec73831	xdr_write_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x1b797389	rt2x00lib_conf_tx	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x573208cb	device_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xb1f6a4d2	iscsi_conn_teardown	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x2aca9a5b	gpfs_init	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1765880a	kill_pid	vmlinux	EXPORT_SYMBOL
+0x7ded8240	param_get_ulong	vmlinux	EXPORT_SYMBOL
+0x67030c22	aio_complete	vmlinux	EXPORT_SYMBOL
+0x20c8fc33	pci_osc_control_set	vmlinux	EXPORT_SYMBOL
+0x6a8409dc	ide_destroy_dmatable	vmlinux	EXPORT_SYMBOL_GPL
+0x3b3d3ecb	ipv6_skip_exthdr	vmlinux	EXPORT_SYMBOL
+0xc171d1c4	gs_flush_chars	drivers/char/generic_serial	EXPORT_SYMBOL
+0x3dac6f3e	hpsb_allocate_and_register_addrspace	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x519fe2d8	sysctl_intvec	vmlinux	EXPORT_SYMBOL
+0x64999478	congestion_wait	vmlinux	EXPORT_SYMBOL
+0x7d50d90f	fakekeydev	vmlinux	EXPORT_SYMBOL
+0x98ce7d3d	hpsb_make_lockpacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb5ca1c46	slhc_free	drivers/net/slhc	EXPORT_SYMBOL
+0xf8860a4c	spi_bitbang_cleanup	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0x415226c8	rt6_lookup	net/ipv6/ipv6	EXPORT_SYMBOL
+0x819cc9ba	cap_settime	security/commoncap	EXPORT_SYMBOL
+0x8a21653b	dquot_release	vmlinux	EXPORT_SYMBOL
+0x07895d39	blk_remove_plug	vmlinux	EXPORT_SYMBOL
+0x872f845c	i2c_del_driver	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xe9d8bcdc	config_item_set_name	fs/configfs/configfs	EXPORT_SYMBOL
+0x06e73b3a	dccp_v4_connect	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0x0f817b7e	file_ra_state_init	vmlinux	EXPORT_SYMBOL_GPL
+0x5dfa4696	move_addr_to_kernel	vmlinux	EXPORT_SYMBOL
+0xe619e22a	ata_altstatus	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x01232299	hpsb_iso_xmit_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x30628101	sas_slave_configure	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xa825e1f3	unregister_kprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x3d3de916	add_to_page_cache	vmlinux	EXPORT_SYMBOL
+0x5db753dd	inet_csk_get_port	vmlinux	EXPORT_SYMBOL_GPL
+0x4a9c5888	xfrm_register_mode	vmlinux	EXPORT_SYMBOL
+0x24224058	i2c_clients_command	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x027f9f76	mult_to_ib_rate	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x77d290b2	kvm_init_arch	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x5493fae1	sas_change_queue_type	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x91dc30ec	snd_rawmidi_kernel_release	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xc38904b1	cxiGetPvP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x8c6bd064	__wait_on_bit_lock	vmlinux	EXPORT_SYMBOL
+0x73eadfb8	dev_get_flags	vmlinux	EXPORT_SYMBOL
+0x8fdba8f5	ethtool_op_get_ufo	vmlinux	EXPORT_SYMBOL
+0x88d8c843	klist_remove	vmlinux	EXPORT_SYMBOL_GPL
+0xe19a11ac	capi20_get_profile	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x55abcf0e	videobuf_dma_init	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4f61d82b	mptscsih_ioc_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x05faf384	hostap_init_ap_proc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xeefe2d1a	usb_get_status	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x41a5a6e3	__devm_request_region	vmlinux	EXPORT_SYMBOL
+0x1116b920	crypto_alg_mod_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0x60c4f402	pci_set_master	vmlinux	EXPORT_SYMBOL
+0xdc06407f	input_class	vmlinux	EXPORT_SYMBOL_GPL
+0x12e71d8c	gen_new_estimator	vmlinux	EXPORT_SYMBOL
+0xe5122890	flow_cache_genid	vmlinux	EXPORT_SYMBOL
+0x8bd51b03	agp_backend_release	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x520b2638	ib_pack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb4c00dcf	i2o_controllers	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xd4f3dc23	DoC2k_init	drivers/mtd/devices/doc2000	EXPORT_SYMBOL_GPL
+0x48bd2a99	matroxfb_unregister_driver	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0xb2a993ce	svc_auth_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc304a8cb	snd_cs4231_in	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x575bbb47	rtl_ieee80211_reset_queue	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xac23b38b	vc_cons	vmlinux	EXPORT_SYMBOL
+0x7ab7bdeb	dma_async_device_unregister	vmlinux	EXPORT_SYMBOL
+0xc5a2bd5e	reqsk_queue_alloc	vmlinux	EXPORT_SYMBOL
+0x2d92a6ac	iw_cm_accept	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x444aa181	flexcop_pass_dmx_data	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x9309a95f	mmc_set_data_timeout	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x1d1f9d2a	alloc_orinocodev	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0xc6104f38	scsi_eh_finish_cmd	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd2965f6f	kthread_should_stop	vmlinux	EXPORT_SYMBOL
+0x95f638d5	posix_acl_chmod_masq	vmlinux	EXPORT_SYMBOL
+0xdd0a2ba2	strlcat	vmlinux	EXPORT_SYMBOL
+0x811bf8e3	cxiWaitForBreak	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x955f29b8	sync_mapping_buffers	vmlinux	EXPORT_SYMBOL
+0xf8394d92	blk_rq_map_kern	vmlinux	EXPORT_SYMBOL
+0x331ee076	ata_pci_device_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x4358bad7	csr1212_parse_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9a108893	snd_ad1848_get_pcm_ops	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x78f54e69	snd_ac97_bus	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xde48a8d2	inode_change_ok	vmlinux	EXPORT_SYMBOL
+0x22a73912	__tcp_put_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0x17ff2c1d	__nvram_read_byte	drivers/char/nvram	EXPORT_SYMBOL
+0x84a0e186	__scsi_add_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x31563750	fat_scan	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x60c1cc68	bt_sock_register	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x5122e9af	irias_delete_object	net/irda/irda	EXPORT_SYMBOL
+0xf86fae7e	rtl_ieee80211_unregister_crypto_ops	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x632468e7	blk_queue_end_tag	vmlinux	EXPORT_SYMBOL
+0x5c68705b	mca_read_pos	vmlinux	EXPORT_SYMBOL
+0x55982a6b	datagram_poll	vmlinux	EXPORT_SYMBOL
+0x69d38ed9	__scsi_print_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xbcd3ef13	irias_object_change_attribute	net/irda/irda	EXPORT_SYMBOL
+0x81128d35	snd_pcm_hw_constraint_minmax	sound/core/snd-pcm	EXPORT_SYMBOL
+0xc0fa04aa	_write_lock_irqsave	vmlinux	EXPORT_SYMBOL
+0xb5f41711	flush_old_exec	vmlinux	EXPORT_SYMBOL
+0xad2a0450	pci_get_bus_and_slot	vmlinux	EXPORT_SYMBOL
+0x441e831e	__tcf_em_tree_match	vmlinux	EXPORT_SYMBOL
+0x1e71ea32	bttv_gpio_read	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xe00177d7	snd_midi_event_free	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x8df9f666	cpu_online_map	vmlinux	EXPORT_SYMBOL
+0x897caeaa	llc_sap_close	vmlinux	EXPORT_SYMBOL
+0xa1dc8a62	inet_addr_type	vmlinux	EXPORT_SYMBOL
+0x41ed3058	__sata_phy_reset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe4d38a25	flexcop_dma_control_timer_irq	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x2cf68e7a	bttv_gpio_write	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x4c56001f	mdiobus_unregister	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xd6ba445f	drm_sman_set_range	drivers/char/drm/drm	EXPORT_SYMBOL
+0xd23644b9	mii_link_ok	drivers/net/mii	EXPORT_SYMBOL
+0xd71ceb2f	phy_detach	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xaf89c5c5	config_group_find_obj	fs/configfs/configfs	EXPORT_SYMBOL
+0x9736ffc8	ieee80211softmac_wx_get_scan_results	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xbb2597cd	rxrpc_call_read_data	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x4ce9efa9	kthread_create	vmlinux	EXPORT_SYMBOL
+0x0da0b382	get_sb_nodev	vmlinux	EXPORT_SYMBOL
+0xbf29b4de	lookup_create	vmlinux	EXPORT_SYMBOL_GPL
+0x6be8dcd1	stop_tty	vmlinux	EXPORT_SYMBOL
+0x21d54cb6	tcp_proc_register	vmlinux	EXPORT_SYMBOL
+0xbc4c65ce	nf_conntrack_l4proto_udp6	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x2aa31695	midi_synth_kill_note	sound/oss/sound	EXPORT_SYMBOL
+0x0d3dda14	acpi_get_type	vmlinux	EXPORT_SYMBOL
+0x50f0f0fb	loopback_dev	vmlinux	EXPORT_SYMBOL
+0x7d89ac69	gss_decrypt_xdr_buf	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xcf22ddd0	snd_sb8dsp_midi_interrupt	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0x6c1ce5ce	strcspn	vmlinux	EXPORT_SYMBOL
+0x4febb81a	neigh_ifdown	vmlinux	EXPORT_SYMBOL
+0xd34900bf	twofish_setkey	crypto/twofish_common	EXPORT_SYMBOL_GPL
+0x3fbbf941	ipmi_get_my_LUN	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xed061606	capi20_manufacturer	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x8a069f08	cfi_fixup	drivers/mtd/chips/cfi_util	EXPORT_SYMBOL
+0xcd0bd4f1	hci_unregister_proto	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xb100f1fd	snd_pcm_hw_constraint_ratnums	sound/core/snd-pcm	EXPORT_SYMBOL
+0x413b34e6	cxiSetMountInfo	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa7f4268b	pci_scan_bridge	vmlinux	EXPORT_SYMBOL
+0x28ca7395	md_allow_write	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0x935de62c	synth_port_tts	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xda118d84	hid_parse_report	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x0082e5d0	cx88_set_tvnorm	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xfe75f21b	sirdev_write_complete	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x83cabfea	nf_conntrack_l4proto_register	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xfa954ae6	nf_conntrack_l3proto_register	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xba413f87	sound_alloc_mididev	sound/oss/sound	EXPORT_SYMBOL
+0x2f538590	class_create	vmlinux	EXPORT_SYMBOL_GPL
+0x2a368669	ata_timing_compute	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe01fc6f8	drm_get_drawable_info	drivers/char/drm/drm	EXPORT_SYMBOL
+0x75c89476	nsc_gpio_read	drivers/char/nsc_gpio	EXPORT_SYMBOL
+0x89cc1189	ir_codes_winfast	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xe3c34a49	sirdev_receive	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xf2b95199	qlogicfas408_setup	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xe35c5e61	ieee80211_rx	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x7c0b90e8	ieee80211_rx_irqsafe	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x041270aa	TraceFlagsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2bab260d	inc_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x29537c9e	alloc_chrdev_region	vmlinux	EXPORT_SYMBOL
+0x69351b76	percpu_counter_mod	vmlinux	EXPORT_SYMBOL
+0x9433a106	__nla_reserve	vmlinux	EXPORT_SYMBOL
+0x5bbf600d	ata_std_softreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x94921dee	init_atmel_card	drivers/net/wireless/atmel	EXPORT_SYMBOL
+0x5954f740	parport_unregister_device	drivers/parport/parport	EXPORT_SYMBOL
+0xa8ee289c	usbnet_skb_return	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xb6b0b310	dccp_rcv_established	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x955690d0	rpc_force_rebind	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x370f0972	svc_process	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf62893dd	register_sound_special	sound/soundcore	EXPORT_SYMBOL
+0x05e1389a	finish_wait	vmlinux	EXPORT_SYMBOL
+0xfd98879a	rb_next	vmlinux	EXPORT_SYMBOL
+0xf3533c2d	skb_checksum	vmlinux	EXPORT_SYMBOL
+0xdc72db1f	dev_getbyhwaddr	vmlinux	EXPORT_SYMBOL
+0xfc04e44f	arp_find	vmlinux	EXPORT_SYMBOL
+0xb11a9f84	tpm_show_caps	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x51a333a9	deregister_mtd_blktrans	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0x6e4e3013	nf_ct_iterate_cleanup	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbd48af91	rpc_killall_tasks	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x549bf4ad	rtl_alloc_ieee80211	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x528c709d	simple_read_from_buffer	vmlinux	EXPORT_SYMBOL
+0x4cbbd171	__bitmap_weight	vmlinux	EXPORT_SYMBOL
+0x61b7b126	simple_strtoull	vmlinux	EXPORT_SYMBOL
+0x52d7b2fd	llc_sap_list	vmlinux	EXPORT_SYMBOL
+0x47891604	saa7146_set_hps_source_and_sync	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x90d68ac8	dvb_unregister_adapter	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x25dd07ec	phy_start_aneg	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xa37fb829	ct_sip_search	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xff9ca065	fb_edid_to_monspecs	vmlinux	EXPORT_SYMBOL
+0xa681fe88	generate_random_uuid	vmlinux	EXPORT_SYMBOL
+0x3147857d	default_red	vmlinux	EXPORT_SYMBOL
+0xd8972378	class_device_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x2f48c413	pccard_validate_cis	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x11bf4cb8	net2280_set_fifo_mode	drivers/usb/gadget/net2280	EXPORT_SYMBOL
+0x569a31b6	vfs_statfs	vmlinux	EXPORT_SYMBOL
+0x30738847	path_release	vmlinux	EXPORT_SYMBOL
+0xbdb7661e	__ide_dma_host_on	vmlinux	EXPORT_SYMBOL
+0x43eb8c2d	xfrm_replay_check	vmlinux	EXPORT_SYMBOL
+0xdfd423a5	saa7146_devices_lock	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x48278d13	or51132_attach	drivers/media/dvb/frontends/or51132	EXPORT_SYMBOL
+0x10123b5d	snd_gus_dram_write	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xd828ff14	cxiMmapGetPage	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa7bbaeac	br_handle_frame_hook	vmlinux	EXPORT_SYMBOL
+0xaf640518	__nla_reserve_nohdr	vmlinux	EXPORT_SYMBOL
+0x107ebcc5	udp_ioctl	vmlinux	EXPORT_SYMBOL
+0xd8d1c51d	drm_agp_free	drivers/char/drm/drm	EXPORT_SYMBOL
+0xaba6b190	cfi_cmdset_0200	drivers/mtd/chips/cfi_cmdset_0001	EXPORT_SYMBOL_GPL
+0x7bf20345	cfi_cmdset_0003	drivers/mtd/chips/cfi_cmdset_0001	EXPORT_SYMBOL_GPL
+0x12a33f2f	cfi_cmdset_0001	drivers/mtd/chips/cfi_cmdset_0001	EXPORT_SYMBOL_GPL
+0xa377b453	cfi_cmdset_0002	drivers/mtd/chips/cfi_cmdset_0002	EXPORT_SYMBOL_GPL
+0xa53cf52c	cfi_cmdset_0020	drivers/mtd/chips/cfi_cmdset_0020	EXPORT_SYMBOL_GPL
+0xbd503ccf	synth_delay	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x885ab091	may_umount	vmlinux	EXPORT_SYMBOL
+0x136d1be3	class_device_del	vmlinux	EXPORT_SYMBOL_GPL
+0x4de1643c	rtnetlink_put_metrics	vmlinux	EXPORT_SYMBOL
+0xea10212a	int_to_scsilun	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x05f8da8b	cxiKibdPin	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4a8201cc	block_read_full_page	vmlinux	EXPORT_SYMBOL
+0xc421f7cc	ib_query_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x33330947	dm_register_dirty_log_type	drivers/md/dm-mirror	EXPORT_SYMBOL
+0x90bd9714	sequencer_timer	sound/oss/sound	EXPORT_SYMBOL
+0x75271716	save_processor_state	vmlinux	EXPORT_SYMBOL
+0x19829fbe	__scsi_alloc_queue	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x3ff62317	local_bh_disable	vmlinux	EXPORT_SYMBOL
+0xd0c05159	emergency_restart	vmlinux	EXPORT_SYMBOL_GPL
+0xa5e61574	page_cache_readahead	vmlinux	EXPORT_SYMBOL_GPL
+0x8b10a71f	tcp_sync_mss	vmlinux	EXPORT_SYMBOL
+0x28a5ccdf	tcp_v4_connect	vmlinux	EXPORT_SYMBOL
+0xc25f748e	dvb_net_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x811b10c3	sas_port_delete	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xf22aa033	hashbin_find	net/irda/irda	EXPORT_SYMBOL
+0x82b68224	bio_get_nr_vecs	vmlinux	EXPORT_SYMBOL
+0x6b5d7c84	framebuffer_alloc	vmlinux	EXPORT_SYMBOL
+0xcead677b	serio_rescan	vmlinux	EXPORT_SYMBOL
+0xd905bfb1	tcp_death_row	vmlinux	EXPORT_SYMBOL_GPL
+0xfb2e1d09	md_error	drivers/md/md-mod	EXPORT_SYMBOL
+0x33bf969a	snd_rawmidi_input_params	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x10729194	kmem_cache_create	vmlinux	EXPORT_SYMBOL
+0xafb35c4c	nonseekable_open	vmlinux	EXPORT_SYMBOL
+0x87adea4f	load_nls_default	vmlinux	EXPORT_SYMBOL
+0x4d6647a0	cpufreq_driver_target	vmlinux	EXPORT_SYMBOL_GPL
+0x8a62bcac	xfrm_policy_byid	vmlinux	EXPORT_SYMBOL
+0x86be7924	dccp_packet_name	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x64357d3c	tipc_multicast	net/tipc/tipc	EXPORT_SYMBOL
+0x20cfd673	seq_escape	vmlinux	EXPORT_SYMBOL
+0xeb8f54b3	strstrip	vmlinux	EXPORT_SYMBOL
+0x1e83ad02	dm_scsi_err_handler	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0xeb0f8676	cxiIsReadOnlyMnt	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa05e3600	page_address	vmlinux	EXPORT_SYMBOL
+0x45dcfa7b	d_alloc_root	vmlinux	EXPORT_SYMBOL
+0x10ab8169	class_device_create	vmlinux	EXPORT_SYMBOL_GPL
+0x99c40393	dev_get_by_flags	vmlinux	EXPORT_SYMBOL
+0x237282e6	xfrm_ealg_get_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x548e6040	ata_qc_issue_prot	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x8d21856e	gigaset_blockdriver	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xf25ef8be	snd_i2c_probeaddr	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0x21c38f4b	cxiIsGPFSThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd7efcfa4	tsattr	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4d8586a9	skb_over_panic	vmlinux	EXPORT_SYMBOL
+0xfa2d4b57	skb_store_bits	vmlinux	EXPORT_SYMBOL
+0x45e9b7cc	xfrm_lookup	vmlinux	EXPORT_SYMBOL
+0xfd4d0bdc	eeprom_93cx6_write	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x85902f79	rtattr_strlcpy	vmlinux	EXPORT_SYMBOL
+0xb7c306ad	inet_unregister_protosw	vmlinux	EXPORT_SYMBOL
+0xd4dbec7e	i2c_smbus_read_byte	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xebaf3a8c	mb_cache_entry_free	fs/mbcache	EXPORT_SYMBOL
+0xa3620353	blkcipher_walk_phys	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0x4f95649a	ei_close	drivers/net/8390	EXPORT_SYMBOL
+0xf6c038fa	snd_sbdsp_create	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x9159b9d6	profile_event_register	vmlinux	EXPORT_SYMBOL_GPL
+0x230dee17	simple_commit_write	vmlinux	EXPORT_SYMBOL
+0x3031d946	swap_io_context	vmlinux	EXPORT_SYMBOL
+0xbb102a7d	pci_bus_assign_resources	vmlinux	EXPORT_SYMBOL
+0x1de314f3	hpet_control	vmlinux	EXPORT_SYMBOL
+0x6900dd2e	ide_wait_not_busy	vmlinux	EXPORT_SYMBOL_GPL
+0x3c7a1c57	ide_acpi_exec_tfs	vmlinux	EXPORT_SYMBOL_GPL
+0x4fd2cf63	rdma_create_qp	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xf71c4e1f	rdma_create_id	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x9924c496	__usb_get_extra_descriptor	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x0a406d5f	dccp_v4_send_check	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xfbec7211	ss_ioctl_op	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x56ce7280	unregister_latency_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x785b3476	tpm_continue_selftest	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x38cd8f03	hpsb_node_write	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd5e4b6a6	ppp_input_error	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x31e7f5bb	ppp_unit_number	drivers/net/ppp_generic	EXPORT_SYMBOL
+0xf54306d8	blkdev_put	vmlinux	EXPORT_SYMBOL
+0xc19c548d	blkdev_get	vmlinux	EXPORT_SYMBOL
+0xfa00952f	user_describe	vmlinux	EXPORT_SYMBOL_GPL
+0xdaaa759f	elv_queue_empty	vmlinux	EXPORT_SYMBOL
+0xcb66937d	ps2_init	vmlinux	EXPORT_SYMBOL
+0x8b05c44a	register_netdevice	vmlinux	EXPORT_SYMBOL
+0x61187389	netlink_queue_skip	vmlinux	EXPORT_SYMBOL
+0x80e3832d	dvb_filter_get_ac3info	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xfe31062a	dvb_pll_tuv1236d	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x4ff0b01e	scsi_finish_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x9bbaab24	usb_serial_generic_open	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0xc0e6c067	p80211_suspend	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x5940e81b	kill_pid_info_as_uid	vmlinux	EXPORT_SYMBOL_GPL
+0xc25cbcad	cx24110_attach	drivers/media/dvb/frontends/cx24110	EXPORT_SYMBOL
+0x5c7f7af9	hci_unregister_cb	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x3c89ad4d	ebt_do_table	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x5c76f2c4	p80211wext_event_associated	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xe24d3a97	jiffies_64	vmlinux	EXPORT_SYMBOL
+0x61151700	mutex_trylock	vmlinux	EXPORT_SYMBOL
+0xc588d937	generic_osync_inode	vmlinux	EXPORT_SYMBOL
+0x300acdd2	task_in_intr	vmlinux	EXPORT_SYMBOL
+0x43ef4003	__alloc_skb	vmlinux	EXPORT_SYMBOL
+0xe9ff637a	tcp_get_info	vmlinux	EXPORT_SYMBOL_GPL
+0x63a8ce55	hpsb_iso_recv_set_channel_mask	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf8899425	ieee80211softmac_wx_trigger_scan	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x92a4ef60	snd_virmidi_new	sound/core/seq/snd-seq-virmidi	EXPORT_SYMBOL
+0x2f04f84c	pi_disconnect	drivers/block/paride/paride	EXPORT_SYMBOL
+0x23bee7de	dst_ca_attach	drivers/media/dvb/bt8xx/dst_ca	EXPORT_SYMBOL
+0x36babac3	videocodec_register	drivers/media/video/videocodec	EXPORT_SYMBOL
+0xe5d88938	mptscsih_abort	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x19ef8fe9	svc_create	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x32537381	generic_file_mmap	vmlinux	EXPORT_SYMBOL
+0x4918c705	inode_add_bytes	vmlinux	EXPORT_SYMBOL
+0x0982b3fb	dcache_readdir	vmlinux	EXPORT_SYMBOL
+0x6def2db2	half_md4_transform	vmlinux	EXPORT_SYMBOL
+0x354de5df	pci_cleanup_aer_uncorrect_error_status	vmlinux	EXPORT_SYMBOL_GPL
+0x46afa010	mca_device_read_stored_pos	vmlinux	EXPORT_SYMBOL
+0x61d57e1d	saa7146_register_device	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0xf52e662f	videobuf_queue_is_busy	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4e37866b	videobuf_dma_init_user	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x46fa0731	vfsStats	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc760dcca	vfs_mknod	vmlinux	EXPORT_SYMBOL
+0xfcb8b131	idr_find	vmlinux	EXPORT_SYMBOL
+0x8dc6e564	restore_processor_state	vmlinux	EXPORT_SYMBOL
+0x972b24f0	sock_common_setsockopt	vmlinux	EXPORT_SYMBOL
+0x5845e961	sock_common_getsockopt	vmlinux	EXPORT_SYMBOL
+0x4188d439	neigh_rand_reach_time	vmlinux	EXPORT_SYMBOL
+0x38b92846	llc_remove_pack	vmlinux	EXPORT_SYMBOL
+0x0514f967	tcp_alloc_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0x60ca6564	mptscsih_slave_configure	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xe52de6a0	parport_pc_probe_port	drivers/parport/parport_pc	EXPORT_SYMBOL
+0x22821d46	ieee80211_alloc_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xba813bd6	lock_cpu_hotplug	vmlinux	EXPORT_SYMBOL_GPL
+0x27bbf221	disable_irq_nosync	vmlinux	EXPORT_SYMBOL
+0xbd45594e	filemap_write_and_wait	vmlinux	EXPORT_SYMBOL
+0xd063ddef	skb_dequeue	vmlinux	EXPORT_SYMBOL
+0x7dc47561	ethtool_op_get_sg	vmlinux	EXPORT_SYMBOL
+0xf8185380	tpm_read	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x030c9eb1	ib_get_rmpp_segment	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x3b7f956f	dvb_register_adapter	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa5c89f59	dccp_insert_option_timestamp	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x45e87ae6	add_uevent_var	vmlinux	EXPORT_SYMBOL_GPL
+0x303925f1	alloc_etherdev	vmlinux	EXPORT_SYMBOL
+0xf7584a9c	find_font	drivers/video/console/font	EXPORT_SYMBOL
+0x50f176ae	dccp_create_openreq_child	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xb106d847	irda_notify_init	net/irda/irda	EXPORT_SYMBOL
+0x8f39d67d	refresh_vm_stats	vmlinux	EXPORT_SYMBOL
+0x143388be	platform_get_resource_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x5168cd8a	netdev_features_change	vmlinux	EXPORT_SYMBOL
+0xaf818730	ipmi_smi_watcher_unregister	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x2af1a608	ir_codes_proteus_2309	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xecf6b6f5	dccp_child_process	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3c8e1f30	rxrpc_call_abort	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xd1ee114e	rpc_wake_up_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xd4feb648	ivtv_vapi	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x6063bb70	proc_dostring	vmlinux	EXPORT_SYMBOL
+0x1a0b4638	devres_find	vmlinux	EXPORT_SYMBOL_GPL
+0xdbb153e7	task_no_data_intr	vmlinux	EXPORT_SYMBOL
+0xda7f8fe3	gs_chars_in_buffer	drivers/char/generic_serial	EXPORT_SYMBOL
+0xe54cf012	mpt_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x06fa2f53	phy_start	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xffcccc43	pci_bus_write_config_byte	vmlinux	EXPORT_SYMBOL
+0x62c18f8f	ib_query_pkey	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xc34a54c6	snd_hda_calc_stream_format	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x770a0036	isapnp_cfg_begin	vmlinux	EXPORT_SYMBOL
+0x3684ae45	pre_task_out_intr	vmlinux	EXPORT_SYMBOL
+0xc0e0782e	skb_insert	vmlinux	EXPORT_SYMBOL
+0xdc211abb	dm_create_error_table	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0x6903f16c	hostap_80211_get_hdrlen	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x73e106e8	w1_reset_bus	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0xa8965a82	journal_force_commit_nested	fs/jbd/jbd	EXPORT_SYMBOL
+0xaa63d2d9	ircomm_connect_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0xaf236a7b	cap_vm_enough_memory	security/commoncap	EXPORT_SYMBOL
+0x925e1fce	VM_Attach	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x96b9a485	VM_Detach	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x292671a9	blk_queue_max_segment_size	vmlinux	EXPORT_SYMBOL
+0x7e900b65	mca_device_read_pos	vmlinux	EXPORT_SYMBOL
+0x904b8696	cx88_audio_thread	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x8532cc96	mpt_stm_index	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x43256f32	hostap_set_auth_algs	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x3edad223	usb_usual_clear_present	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0xc623eea6	rtl_ieee80211_is_54g	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x6e9dd606	__symbol_put	vmlinux	EXPORT_SYMBOL
+0x024280b2	pci_find_ext_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x600683d3	do_unblank_screen	vmlinux	EXPORT_SYMBOL
+0xb0bb9ed8	klist_add_tail	vmlinux	EXPORT_SYMBOL_GPL
+0x080489e7	hpsb_iso_xmit_start	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xcadaf9a8	dm_table_get_size	drivers/md/dm-mod	EXPORT_SYMBOL
+0x62eec57f	log_wait_commit	fs/jbd/jbd	EXPORT_SYMBOL
+0x2c2512ea	get_zeroed_page	vmlinux	EXPORT_SYMBOL
+0x89473f87	pci_claim_resource	vmlinux	EXPORT_SYMBOL_GPL
+0xa5da0abd	acpi_enter_sleep_state_s4bios	vmlinux	EXPORT_SYMBOL
+0x84129926	netpoll_send_udp	vmlinux	EXPORT_SYMBOL
+0xcba014ef	hpsb_create_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x933d0bb3	ir_codes_msi_tvanywhere	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x7d5dec2c	snd_ac97_get_short_name	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x8f04fe12	ssb_dma_translation	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xf71f39aa	key_validate	vmlinux	EXPORT_SYMBOL
+0x7c5213e7	current_io_context	vmlinux	EXPORT_SYMBOL
+0x4ff33bd8	input_close_device	vmlinux	EXPORT_SYMBOL
+0x3d6d493b	snd_pcm_lib_read	sound/core/snd-pcm	EXPORT_SYMBOL
+0xbb38a9aa	snd_cs4231_interrupt	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x04aff7a8	rtl_ieee80211_wlan_frequencies	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xf63f0c50	prepare_to_wait_exclusive	vmlinux	EXPORT_SYMBOL
+0x4d807671	tty_insert_flip_string_flags	vmlinux	EXPORT_SYMBOL
+0x50b33ca4	capi_cmsg2message	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x3fd8cd71	qlogicfas408_detect	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x650f8603	snd_pcm_format_silence_64	sound/core/snd-pcm	EXPORT_SYMBOL
+0x7f56dd41	remove_proc_entry	vmlinux	EXPORT_SYMBOL
+0x1a7896f8	platform_device_add	vmlinux	EXPORT_SYMBOL_GPL
+0xd1a4f538	b1_release_appl	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x12d75032	snd_cs4231_info_single	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x19addbf5	filemap_nopage	vmlinux	EXPORT_SYMBOL
+0x2b798e5a	bd_release_from_disk	vmlinux	EXPORT_SYMBOL_GPL
+0x647cf343	pci_walk_bus	vmlinux	EXPORT_SYMBOL_GPL
+0x69be217c	ata_host_intr	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x1c5dd511	arpt_register_table	net/ipv4/netfilter/arp_tables	EXPORT_SYMBOL
+0xefc89b23	ipv6_opt_accepted	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x5bfb25e2	ssb_bus_powerup	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x84e798fd	uart_resume_port	vmlinux	EXPORT_SYMBOL
+0xd53d323f	atm_alloc_charge	vmlinux	EXPORT_SYMBOL
+0x0cc29dea	cx88_reset	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x89a31a56	_snd_pcm_hw_param_setempty	sound/core/snd-pcm	EXPORT_SYMBOL
+0x853b38fa	cxiTrace	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2d86bdd5	kxPoll	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4ea714be	filemap_populate	vmlinux	EXPORT_SYMBOL
+0x9fe4a932	dquot_transfer	vmlinux	EXPORT_SYMBOL
+0x90b3175f	ps2_handle_ack	vmlinux	EXPORT_SYMBOL
+0xfac8865f	sysctl_wmem_max	vmlinux	EXPORT_SYMBOL
+0xb05fc310	sysctl_rmem_max	vmlinux	EXPORT_SYMBOL
+0x2b8eab1f	capilib_free_ncci	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x2fb54bb0	parport_ieee1284_epp_read_data	drivers/parport/parport	EXPORT_SYMBOL
+0xfd959e80	parport_ieee1284_ecp_read_data	drivers/parport/parport	EXPORT_SYMBOL
+0x8ede9e26	ax25_protocol_release	net/ax25/ax25	EXPORT_SYMBOL
+0x5573b7a6	snd_vx_dsp_boot	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x04be5e8a	ivtv_udma_setup	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xb544e3c8	VFSStatPoint_end	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf7d76581	__ide_dma_host_off	vmlinux	EXPORT_SYMBOL
+0xbd506a46	unregister_hotplug_dock_device	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0x2e866e54	ata_std_bios_param	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xea4241da	drm_agp_release	drivers/char/drm/drm	EXPORT_SYMBOL
+0x03de0f79	md_wakeup_thread	drivers/md/md-mod	EXPORT_SYMBOL
+0xa97b832a	dvb_pll_configure	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x193c882d	__orinoco_up	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x6730db0d	lapb_register	net/lapb/lapb	EXPORT_SYMBOL
+0xfde0b92c	crypto_larval_error	vmlinux	EXPORT_SYMBOL_GPL
+0xcc36f32e	fb_unregister_client	vmlinux	EXPORT_SYMBOL
+0xcf4f443c	spi_register_master	vmlinux	EXPORT_SYMBOL_GPL
+0x38c99093	move_addr_to_user	vmlinux	EXPORT_SYMBOL
+0x22e0abf8	irda_device_set_media_busy	net/irda/irda	EXPORT_SYMBOL
+0x9d1fed33	rpc_clone_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xed623bae	cxiBlockingMutexAcquire	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf071edd6	inet_csk_init_xmit_timers	vmlinux	EXPORT_SYMBOL
+0x6d1ced27	vcc_sklist_lock	vmlinux	EXPORT_SYMBOL
+0xfe35dc9f	ip_vs_conn_out_get	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x1385e486	__nf_ct_l4proto_find	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x4ff47e9d	midi_synth_setup_voice	sound/oss/sound	EXPORT_SYMBOL
+0x446b1a3e	complete_and_exit	vmlinux	EXPORT_SYMBOL
+0x53c2e873	vfs_readlink	vmlinux	EXPORT_SYMBOL
+0xe0c9aa9d	transport_add_device	vmlinux	EXPORT_SYMBOL_GPL
+0x663ef6d0	ide_set_handler	vmlinux	EXPORT_SYMBOL
+0x0f4604ba	ata_qc_prep	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0ce15da4	hpsb_make_lock64packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xadebf5c5	capi20_set_callback	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x8434635c	kvm_write_guest	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xc7b64a6e	dvb_ca_en50221_camready_irq	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xef9598cf	down_read_trylock	vmlinux	EXPORT_SYMBOL
+0x38afa7df	sysfs_remove_group	vmlinux	EXPORT_SYMBOL_GPL
+0xff6878cf	fb_default_cmap	vmlinux	EXPORT_SYMBOL
+0x8e1a7f25	ide_do_drive_cmd	vmlinux	EXPORT_SYMBOL
+0xc88e3f41	ide_build_sglist	vmlinux	EXPORT_SYMBOL_GPL
+0x493e25e1	udp_hash	vmlinux	EXPORT_SYMBOL
+0x11e1bc3b	inet6_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0x0fa0e278	capi_ctr_ready	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xc6c7859d	scsi_nl_sock	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x6b93b537	cpufreq_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0xb0ca906b	vp3054_i2c_probe	drivers/media/video/cx88/cx88-vp3054-i2c	EXPORT_SYMBOL
+0xc37dd3dd	cxiGetCnP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe396f303	unregister_page_fault_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x7c958db6	seq_puts	vmlinux	EXPORT_SYMBOL
+0xe2a7459f	seq_putc	vmlinux	EXPORT_SYMBOL
+0x3ea5e6ec	dquot_commit_info	vmlinux	EXPORT_SYMBOL
+0xf90344ba	blk_rq_map_user_iov	vmlinux	EXPORT_SYMBOL
+0x106e84a8	alloc_disk	vmlinux	EXPORT_SYMBOL
+0xa25b6b62	device_attach	vmlinux	EXPORT_SYMBOL_GPL
+0x3592c2d5	netif_rx_ni	vmlinux	EXPORT_SYMBOL
+0x69cde68c	nf_getsockopt	vmlinux	EXPORT_SYMBOL
+0xa86ba2f2	nf_setsockopt	vmlinux	EXPORT_SYMBOL
+0x1b01155d	i2c_smbus_xfer	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x7002dd0b	ib_register_client	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x2c54c957	capifs_free_ncci	drivers/isdn/capi/capifs	EXPORT_SYMBOL
+0x22f43507	nfs4_acl_posix_to_nfsv4	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x938e0aab	rpc_init_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe0ef17a2	rtl_ieee80211_crypt_delayed_deinit	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xf066600f	__write_lock_failed	vmlinux	EXPORT_SYMBOL
+0x4be8b24c	__module_put_and_exit	vmlinux	EXPORT_SYMBOL
+0xb225d619	d_genocide	vmlinux	EXPORT_SYMBOL
+0x971db8fb	do_add_mount	vmlinux	EXPORT_SYMBOL_GPL
+0x72f1fb5b	uart_update_timeout	vmlinux	EXPORT_SYMBOL
+0xbf3da53d	ata_dev_disable	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb90668b2	snd_seq_autoload_lock	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0x79c0ac3a	snd_pcm_hw_param_last	sound/core/snd-pcm	EXPORT_SYMBOL
+0x752314cd	videobuf_dvb_unregister	drivers/media/video/video-buf-dvb	EXPORT_SYMBOL
+0xcffa2aff	spi_populate_width_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL_GPL
+0x42dce4f0	d_rehash	vmlinux	EXPORT_SYMBOL
+0x4a94608d	end_buffer_write_sync	vmlinux	EXPORT_SYMBOL
+0x82559359	elv_dispatch_add_tail	vmlinux	EXPORT_SYMBOL
+0xb113be53	change_page_attr	vmlinux	EXPORT_SYMBOL
+0x4ba0b42b	remove_shrinker	vmlinux	EXPORT_SYMBOL
+0x7a2aad8b	vfs_write	vmlinux	EXPORT_SYMBOL
+0x57afd6e0	cont_prepare_write	vmlinux	EXPORT_SYMBOL
+0x6b1b67d3	__bdevname	vmlinux	EXPORT_SYMBOL
+0x7a6c0ce5	pci_get_class	vmlinux	EXPORT_SYMBOL
+0x31e7356e	n_tty_ioctl	vmlinux	EXPORT_SYMBOL
+0x9b9c7357	ide_build_dmatable	vmlinux	EXPORT_SYMBOL_GPL
+0x1fe16231	gs_start	drivers/char/generic_serial	EXPORT_SYMBOL
+0x34d155ab	b1_alloc_card	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xda987559	isacsx_setup	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x5517061a	__crypto_alg_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0xd7797d30	netif_rx	vmlinux	EXPORT_SYMBOL
+0x940c557d	dm_set_device_limits	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0x4ea698a2	ir_codes_purpletv	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x512c956d	mraid_mm_unregister_adp	drivers/scsi/megaraid/megaraid_mm	EXPORT_SYMBOL
+0x09f19c0c	snd_pcm_hw_refine	sound/core/snd-pcm	EXPORT_SYMBOL
+0xab663c80	iw_handler_set_spy	vmlinux	EXPORT_SYMBOL
+0x72ea7b2d	scsi_device_type	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x66830c66	usb_create_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x71945659	unregister_ip_vs_app	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xa1eae7cf	num_midis	sound/oss/sound	EXPORT_SYMBOL
+0x14f67530	ivtv_debug	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xb922ecbc	__mod_timer	vmlinux	EXPORT_SYMBOL
+0xaac686d9	unregister_binfmt	vmlinux	EXPORT_SYMBOL
+0xb0ac56e5	ib_dealloc_mw	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd8a2731c	sb_dsp_detect	sound/oss/sb_lib	EXPORT_SYMBOL
+0xf2fb62ee	disable_timer_nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0x874aea72	acpi_os_signal	vmlinux	EXPORT_SYMBOL
+0x555c53a6	sock_no_accept	vmlinux	EXPORT_SYMBOL
+0x907665bd	scx200_cb_base	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0xcbc3f957	pcmcia_request_io	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x584144d3	nf_conntrack_l4proto_icmp	net/ipv4/netfilter/nf_conntrack_ipv4	EXPORT_SYMBOL_GPL
+0xf0212db3	xdr_init_encode	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x0308573b	__lock_buffer	vmlinux	EXPORT_SYMBOL
+0x7ff8bd83	elevator_exit	vmlinux	EXPORT_SYMBOL
+0x388ad362	nf_log_unregister_logger	vmlinux	EXPORT_SYMBOL
+0xaf5d533f	klist_del	vmlinux	EXPORT_SYMBOL_GPL
+0xde6c42bc	dst_gpio_inb	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x14ad9ea3	dvb_dmxdev_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa841f003	mmc_unregister_driver	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x0fd00a68	acpi_clear_event	vmlinux	EXPORT_SYMBOL
+0x589cad50	ir_codes_apac_viewcomp	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6e3784f9	ieee80211_register_crypto_ops	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x5ccafa4c	snd_ac97_write	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x84f7659b	dma_release_declared_memory	vmlinux	EXPORT_SYMBOL
+0x2189e32b	paravirt_ops	vmlinux	EXPORT_SYMBOL
+0x7538b132	agp_off	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x043a5292	tua6100_attach	drivers/media/dvb/frontends/tua6100	EXPORT_SYMBOL
+0x157ea24f	saa7134_set_dmabits	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x0b865043	mtd_table	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0xf991e305	vfs_symlink	vmlinux	EXPORT_SYMBOL
+0x6d8bd06a	registered_fb	vmlinux	EXPORT_SYMBOL
+0x815b974c	tcp_ioctl	vmlinux	EXPORT_SYMBOL
+0x5af076a7	dm_unregister_path_selector	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0xc3f66c03	sirdev_set_dtr_rts	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xeedbefea	inet6_csk_xmit	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x6a071c36	__nf_ct_event_cache_init	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xd80e77bf	synth_buffer	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x7171121c	overflowgid	vmlinux	EXPORT_SYMBOL
+0x8b618d08	overflowuid	vmlinux	EXPORT_SYMBOL
+0x45805cee	__alloc_pages	vmlinux	EXPORT_SYMBOL
+0x7a00f517	unmap_mapping_range	vmlinux	EXPORT_SYMBOL
+0xab2c600e	create_proc_ide_interfaces	vmlinux	EXPORT_SYMBOL
+0xa0c71dac	spi_populate_sync_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL_GPL
+0xf392d748	bt_class	net/bluetooth/bluetooth	EXPORT_SYMBOL_GPL
+0x60a4a7de	pci_enable_device	vmlinux	EXPORT_SYMBOL
+0x84e677f5	inet_select_addr	vmlinux	EXPORT_SYMBOL
+0x4ecd1f84	tpm_show_caps_1_2	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xfc7ec049	reset_gpfs_operations	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x43a4938f	vm_get_page_prot	vmlinux	EXPORT_SYMBOL
+0x04f19ebe	dcache_dir_close	vmlinux	EXPORT_SYMBOL
+0x92791568	wireless_send_event	vmlinux	EXPORT_SYMBOL
+0x3163d836	relay_reset	vmlinux	EXPORT_SYMBOL_GPL
+0xab42f9c9	unregister_snap_client	vmlinux	EXPORT_SYMBOL
+0xbd34b8bc	phy_driver_register	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x9b3cd7ef	rtc_irq_set_state	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x5f09bf14	cxiYield	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf9a02b7b	_write_unlock	vmlinux	EXPORT_SYMBOL
+0x905c63f6	dquot_mark_dquot_dirty	vmlinux	EXPORT_SYMBOL
+0x6c14439f	pci_remove_bus	vmlinux	EXPORT_SYMBOL
+0x743e8e7f	pci_remove_rom	vmlinux	EXPORT_SYMBOL
+0x50fed6f7	proc_ide_read_geometry	vmlinux	EXPORT_SYMBOL
+0x09b648d3	sock_no_connect	vmlinux	EXPORT_SYMBOL
+0x2d6b2b7b	inet_put_port	vmlinux	EXPORT_SYMBOL
+0xb4ac6555	dst_wait_dst_ready	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x9a41d9d6	phy_print_status	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xc5d6ab42	snd_akm4xxx_write	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0x76f3f8a5	num_k8_northbridges	vmlinux	EXPORT_SYMBOL
+0xe8d11cf8	set_shrinker	vmlinux	EXPORT_SYMBOL
+0x00566d8f	inotify_get_cookie	vmlinux	EXPORT_SYMBOL_GPL
+0x70d8ab82	acpi_acquire_global_lock	vmlinux	EXPORT_SYMBOL
+0xb0c7b61d	pi_init	drivers/block/paride/paride	EXPORT_SYMBOL
+0x4ace7662	dvb_pll_lg_tdvs_h06xf	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x9c6906d1	videobuf_status	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xb3c62942	mpt_attach	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xc6b4e134	w1_write_block	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x39fc62db	snd_ice1712_akm4xxx_build_controls	sound/pci/ice1712/snd-ice17xx-ak4xxx	EXPORT_SYMBOL
+0xd91e74f1	p80211skb_rxmeta_attach	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x4a358252	__bitmap_subset	vmlinux	EXPORT_SYMBOL
+0xcbe50932	flexcop_device_kmalloc	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xe8eee666	o2nm_node_put	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x6e224a7a	need_conntrack	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbfd3488b	send_sig	vmlinux	EXPORT_SYMBOL
+0x06508adc	debugfs_create_blob	vmlinux	EXPORT_SYMBOL_GPL
+0x2b730736	eth_type_trans	vmlinux	EXPORT_SYMBOL
+0xf826deb0	dvb_filter_pes2ts	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa0c3a67d	mb_cache_entry_get	fs/mbcache	EXPORT_SYMBOL
+0x398c7fec	cxiSafeGetLong	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6e256502	cxiSafePutLong	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x8abac70a	param_set_uint	vmlinux	EXPORT_SYMBOL
+0x2d5c06ec	down_write_trylock	vmlinux	EXPORT_SYMBOL
+0xd18fc8cb	tcp_shutdown	vmlinux	EXPORT_SYMBOL
+0xc97a5207	scsi_nonblockable_ioctl	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x2036ad06	irda_param_insert	net/irda/irda	EXPORT_SYMBOL
+0x602c96f0	copy_to_user_fromio	sound/core/snd	EXPORT_SYMBOL
+0x506abaa2	blk_end_sync_rq	vmlinux	EXPORT_SYMBOL
+0x199ed0cd	net_disable_timestamp	vmlinux	EXPORT_SYMBOL
+0x666f9881	tcp_v4_md5_do_add	vmlinux	EXPORT_SYMBOL
+0x22606052	cdrom_open	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x22a8addb	hpsb_node_fill_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd431f85c	rpc_init_wait_queue	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa979add1	ata_pci_device_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x69e9a2cb	ata_scsi_slave_config	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6b99ca6e	mpt_put_msg_frame	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x4afe9a77	scsi_partsize	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5a3e4571	snd_seq_fm_init	sound/core/seq/instr/snd-ainstr-fm	EXPORT_SYMBOL
+0x00112f51	groups_alloc	vmlinux	EXPORT_SYMBOL
+0x11268a58	drm_pci_alloc	drivers/char/drm/drm	EXPORT_SYMBOL
+0x8404ce5f	simple_release_fs	vmlinux	EXPORT_SYMBOL
+0xf338d4c3	netlink_unregister_notifier	vmlinux	EXPORT_SYMBOL
+0x75a921ce	ib_create_cm_id	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xd4a46781	alloc_ieee80211	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x916b8d77	cxiMmapUnregister	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xfa5504f6	generic_file_aio_write_nolock	vmlinux	EXPORT_SYMBOL
+0x2db2ec29	ipmi_create_user	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x21d12bec	iscsi_change_queue_depth	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x1e70921a	kvm_exit_arch	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x5fd014d2	mtd_concat_create	drivers/mtd/mtdconcat	EXPORT_SYMBOL
+0x2dfa2c31	scsi_host_put	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4fc8f6c3	rt2x00lib_config	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x272552e6	add_wait_queue	vmlinux	EXPORT_SYMBOL
+0x62e32d43	capilib_data_b3_conf	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xa56dc16f	sas_domain_release_transport	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x5b5e2206	usb_ftdi_elan_read_pcimem	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x5adde04d	snd_ad1848_out	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x627cd556	p80211_resume	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x081dcac8	balance_dirty_pages_ratelimited_nr	vmlinux	EXPORT_SYMBOL
+0x92fb217b	dcookie_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x0a3131f6	strnchr	vmlinux	EXPORT_SYMBOL
+0x29fef3be	dev_add_pack	vmlinux	EXPORT_SYMBOL
+0xaa344ccf	tpm_open	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xcb06e71b	z8530_sync_close	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x0c7824e7	cyber2000fb_enable_extregs	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0xe50a776d	crypto_mod_put	vmlinux	EXPORT_SYMBOL_GPL
+0x44b911c3	rb_replace_node	vmlinux	EXPORT_SYMBOL
+0x6989a769	vsnprintf	vmlinux	EXPORT_SYMBOL
+0x20914d13	isacsx_irq	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x1af6c58b	journal_clear_err	fs/jbd/jbd	EXPORT_SYMBOL
+0x6339b6d0	snd_seq_device_load_drivers	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0xc32373d6	cxiPutOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf50fc6fc	cxiSetOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0b985f54	vfs_quota_on_mount	vmlinux	EXPORT_SYMBOL
+0x5b18d72e	blkdev_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x890a6ab7	ide_execute_command	vmlinux	EXPORT_SYMBOL
+0xe82eaa01	__ide_dma_bad_drive	vmlinux	EXPORT_SYMBOL
+0x99cdc86b	sysctl_tcp_reordering	vmlinux	EXPORT_SYMBOL
+0xa7b5e686	dlm_register_eviction_cb	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x82f94e40	nf_ct_gre_keymap_flush	net/netfilter/nf_conntrack_proto_gre	EXPORT_SYMBOL
+0x5e256b57	snd_pcm_hw_constraint_pow2	sound/core/snd-pcm	EXPORT_SYMBOL
+0xc7117960	ssb_set_devtypedata	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x7df4a047	crypto_alloc_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0x89455aa6	crypto_register_instance	vmlinux	EXPORT_SYMBOL_GPL
+0x69d7f647	tty_ldisc_flush	vmlinux	EXPORT_SYMBOL_GPL
+0x00801678	flush_scheduled_work	vmlinux	EXPORT_SYMBOL
+0x787fbf8a	get_super	vmlinux	EXPORT_SYMBOL
+0x3c29326d	mark_buffer_dirty	vmlinux	EXPORT_SYMBOL
+0x61fa936b	tty_set_operations	vmlinux	EXPORT_SYMBOL
+0x8a7238d7	snd_sb16dsp_get_pcm_ops	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0xfe84c23d	ll_rw_block	vmlinux	EXPORT_SYMBOL
+0xad385274	skb_copy_and_csum_bits	vmlinux	EXPORT_SYMBOL
+0x1571b9a6	ib_create_ah_from_wc	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd2328794	tms380tr_wait	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0x39226dbb	snd_cs4231_chip_id	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x1858f5f7	ps2_sendbyte	vmlinux	EXPORT_SYMBOL
+0x67741c0c	fc_release_transport	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xf5f4c1c0	sas_rphy_free	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x9a95733f	sound_alloc_dma	sound/oss/sound	EXPORT_SYMBOL
+0xbaaf6d78	nl80211hdr_put	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL_GPL
+0xe716baed	acpi_unregister_ioapic	vmlinux	EXPORT_SYMBOL
+0x51d7a776	acpi_detach_data	vmlinux	EXPORT_SYMBOL
+0xd2c6dca7	cxiGetCred	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf1976019	cxiPutCred	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1354e030	cxiSetCred	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x95cc2139	__PAGE_KERNEL	vmlinux	EXPORT_SYMBOL
+0x83800bfa	kref_init	vmlinux	EXPORT_SYMBOL
+0x98a7d3ba	pci_intx	vmlinux	EXPORT_SYMBOL_GPL
+0xc62d268f	device_create_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xc6d05cea	pi_write_block	drivers/block/paride/paride	EXPORT_SYMBOL
+0xa4bf7254	ib_fmr_pool_unmap	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbc071706	nfnetlink_send	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x12e280e3	svc_proc_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x7475b734	attach_mpu401	sound/oss/mpu401	EXPORT_SYMBOL
+0xb68744b2	audit_log_format	vmlinux	EXPORT_SYMBOL
+0xfab9699d	acpi_os_unmap_memory	vmlinux	EXPORT_SYMBOL_GPL
+0x22b325d5	kd_mksound	vmlinux	EXPORT_SYMBOL
+0xcb068832	serio_open	vmlinux	EXPORT_SYMBOL
+0xcfae6ebe	sk_receive_skb	vmlinux	EXPORT_SYMBOL
+0x7613b95d	dev_set_mac_address	vmlinux	EXPORT_SYMBOL
+0x843ddba1	agp_generic_free_by_type	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x9e23ac99	pccard_get_tuple_data	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x56ea266a	dccp_state_name	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xfff0e708	cap_bprm_apply_creds	security/commoncap	EXPORT_SYMBOL
+0xf4a5c213	avail_to_resrv_perfctr_nmi_bit	vmlinux	EXPORT_SYMBOL
+0x90a943ba	nmi_active	vmlinux	EXPORT_SYMBOL
+0x30239337	pci_find_bus	vmlinux	EXPORT_SYMBOL
+0x60ce128a	serio_close	vmlinux	EXPORT_SYMBOL
+0xd6751bc2	sock_register	vmlinux	EXPORT_SYMBOL
+0x1d64d702	loop_register_transfer	drivers/block/loop	EXPORT_SYMBOL
+0x86fe23f6	snd_usb_create_midi_interface	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0xc8b16193	__ide_dma_on	vmlinux	EXPORT_SYMBOL
+0x3254bcb5	hpsb_packet_success	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x5da74240	saa7134_pgtable_free	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x69816b85	register_mtd_blktrans	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0xbb1e2267	hdlc_open	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x612fa4e7	ieee80211_get_crypto_ops	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x34f840e8	inet6_register_protosw	net/ipv6/ipv6	EXPORT_SYMBOL
+0x538b228a	tipc_withdraw	net/tipc/tipc	EXPORT_SYMBOL
+0x4b2243c6	tipc_portimportance	net/tipc/tipc	EXPORT_SYMBOL
+0x17fd8e28	__snd_util_mem_alloc	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x7c70150b	vfs_writev	vmlinux	EXPORT_SYMBOL
+0x121705ec	mca_register_driver	vmlinux	EXPORT_SYMBOL
+0x094839a8	skb_under_panic	vmlinux	EXPORT_SYMBOL
+0xa8535525	ip_nat_decode_session	vmlinux	EXPORT_SYMBOL
+0x526987fe	ib_get_dma_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x986ed624	dccp_tx_hist_purge_older	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x78cf4783	snd_midi_event_encode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0xeaa76ace	proc_dointvec	vmlinux	EXPORT_SYMBOL
+0x3614cdac	videobuf_next_field	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xc64b0087	rxrpc_add_service	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xc04f6f67	ad1848_control	sound/oss/ad1848	EXPORT_SYMBOL
+0x36dd0e5a	hostap_set_hostapd_sta	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x776b33ca	scsi_host_put_command	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x687f6251	mlog_and_bits	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x214b3303	nf_nat_proto_put	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0xf5019917	snd_seq_instr_event	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0xee3023e8	acpi_bus_register_driver	vmlinux	EXPORT_SYMBOL
+0x1c6b049d	atm_dev_lookup	vmlinux	EXPORT_SYMBOL
+0x3de603e6	srp_target_alloc	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0xaeff19a8	rxrpc_create_connection	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x3c30f290	rpc_print_iostats	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe30b5482	cxiKDoIO	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x959b995e	sync_page_range	vmlinux	EXPORT_SYMBOL
+0xce5ac24f	zlib_inflate_workspacesize	vmlinux	EXPORT_SYMBOL
+0x826c36cc	nf_hook_slow	vmlinux	EXPORT_SYMBOL
+0xdc5c11e6	drm_open	drivers/char/drm/drm	EXPORT_SYMBOL
+0x5891b165	set_ras_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x8faaf828	match_strcpy	vmlinux	EXPORT_SYMBOL
+0x1cac4827	tcp_recvmsg	vmlinux	EXPORT_SYMBOL
+0xefbb1f7d	usb_cypress_load_firmware	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xd9b36c75	NCR_700_release	drivers/scsi/53c700	EXPORT_SYMBOL
+0xace5c0fc	usb_bus_list	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x36418553	o2net_send_message	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x28f6dc90	snd_pcm_limit_hw_rates	sound/core/snd-pcm	EXPORT_SYMBOL
+0x9080590a	cxiFcntlLock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4902fd34	console_start	vmlinux	EXPORT_SYMBOL
+0x03a1bf0f	proc_dointvec_userhz_jiffies	vmlinux	EXPORT_SYMBOL
+0x20b6a94b	ata_scsi_queuecmd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x3e0a9d2f	pi_connect	drivers/block/paride/paride	EXPORT_SYMBOL
+0x15c1c729	dvb_ringbuffer_avail	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x59e7cf02	cxiClearBit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x226ecdf0	simple_dir_inode_operations	vmlinux	EXPORT_SYMBOL
+0xce136fbc	inet_csk_bind_conflict	vmlinux	EXPORT_SYMBOL_GPL
+0x7f1c3e94	tcp_simple_retransmit	vmlinux	EXPORT_SYMBOL
+0x1fd903e0	z8530_get_stats	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x58d0e90f	parport_unregister_driver	drivers/parport/parport	EXPORT_SYMBOL
+0x6b7e96fc	xt_register_match	net/netfilter/x_tables	EXPORT_SYMBOL
+0x25d89d46	ivtv_cards	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x81ca6df6	register_kretprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x0b1c11ef	dmam_pool_create	vmlinux	EXPORT_SYMBOL
+0x63e23fc8	drive_is_ready	vmlinux	EXPORT_SYMBOL
+0xef3bd862	mca_find_unused_adapter	vmlinux	EXPORT_SYMBOL
+0x023eb25e	put_unused_fd	vmlinux	EXPORT_SYMBOL
+0x469e18e1	dcache_dir_open	vmlinux	EXPORT_SYMBOL
+0xa0800cce	__find_get_block	vmlinux	EXPORT_SYMBOL
+0x07fd83ee	mod_unreg_security	vmlinux	EXPORT_SYMBOL_GPL
+0x672ad148	dma_region_sync_for_device	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x443253e4	cpci_hp_register_bus	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x8cd9050b	snd_emu10k1_synth_free	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x7c904ded	unregister_module_notifier	vmlinux	EXPORT_SYMBOL
+0x17a76e71	rb_first	vmlinux	EXPORT_SYMBOL
+0x30d18ff2	inet6_lookup_listener	vmlinux	EXPORT_SYMBOL_GPL
+0x8a5d94be	zero_fill_bio	vmlinux	EXPORT_SYMBOL
+0xcf047c83	acpi_disable_gpe	vmlinux	EXPORT_SYMBOL
+0xc3b117a7	ata_dummy_port_ops	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2609d3ff	gs_write	drivers/char/generic_serial	EXPORT_SYMBOL
+0x86898881	sas_change_queue_depth	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xa10dc9a2	snd_seq_gf1_init	sound/core/seq/instr/snd-ainstr-gf1	EXPORT_SYMBOL
+0x082c3213	pci_root_buses	vmlinux	EXPORT_SYMBOL
+0xd77eac66	bus_register	vmlinux	EXPORT_SYMBOL_GPL
+0x8a855cf2	mmc_resume_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x1b9981cc	set_irq_wake	vmlinux	EXPORT_SYMBOL
+0xb8e23e45	generic_file_buffered_write	vmlinux	EXPORT_SYMBOL
+0x5568be43	lock_kernel	vmlinux	EXPORT_SYMBOL
+0x986e6135	fb_pad_unaligned_buffer	vmlinux	EXPORT_SYMBOL
+0xc98cadb1	ata_std_dev_select	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0417ac6a	ib_find_cached_gid	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x25e34d55	videobuf_iolock	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xf65cb0af	mmc_alloc_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x98cc9b39	ieee80211_txb_free	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xcbda5a08	_read_unlock_irqrestore	vmlinux	EXPORT_SYMBOL
+0xe62094cc	fsync_bdev	vmlinux	EXPORT_SYMBOL
+0x5ba56995	input_open_device	vmlinux	EXPORT_SYMBOL
+0xee7f55f9	ttpci_budget_set_video_port	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x3a0b0d14	dccp_death_row	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x26e04614	lapb_data_received	net/lapb/lapb	EXPORT_SYMBOL
+0x50c99123	snd_rawmidi_drain_input	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x70c15ac1	snd_dma_disable	sound/core/snd	EXPORT_SYMBOL
+0xe39d38aa	device_for_each_child	vmlinux	EXPORT_SYMBOL_GPL
+0x85280ca6	ip6_dst_lookup	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x88ae5965	cache_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x30a38043	snd_ak4114_external_rate	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xe7150c17	snd_ak4117_external_rate	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x1d85be7f	ssb_pcihost_register	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x6689b8a2	remove_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x55ac505c	unregister_key_type	vmlinux	EXPORT_SYMBOL
+0xf47d47e0	acpi_enable_gpe	vmlinux	EXPORT_SYMBOL
+0xb27005f5	device_suspend	vmlinux	EXPORT_SYMBOL_GPL
+0xe8a3605f	acpi_processor_set_thermal_limit	drivers/acpi/processor	EXPORT_SYMBOL
+0x979b3052	dma_prog_region_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x403cd8bf	hci_resume_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xb3f61744	dccp_close	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xb9948d2c	snd_midi_channel_free_set	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0x07053ad4	ieee80211_free_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xb77a9c55	bd_set_size	vmlinux	EXPORT_SYMBOL
+0xca4edb7b	blk_get_queue	vmlinux	EXPORT_SYMBOL
+0x8d3894f2	_ctype	vmlinux	EXPORT_SYMBOL
+0xa34bc437	firmware_register	vmlinux	EXPORT_SYMBOL_GPL
+0x9f8fe03b	ata_pci_init_one	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0737165e	saa7146_i2c_transfer	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x145aad58	pppox_ioctl	drivers/net/pppox	EXPORT_SYMBOL
+0xe3d80064	z8530_hdlc_kilostream_85230	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xf67ffd8c	dlmunlock	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xa526a939	rpc_shutdown_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x02a44b5e	tipc_set_msg_option	net/tipc/tipc	EXPORT_SYMBOL
+0x062bdb0e	x86_acpiid_to_apicid	vmlinux	EXPORT_SYMBOL
+0xf0d89116	pci_set_dma_mask	vmlinux	EXPORT_SYMBOL
+0xb5442b04	udp_proc_unregister	vmlinux	EXPORT_SYMBOL
+0x292cda6d	pcmcia_write_cis_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xd6035d05	do_settimeofday	vmlinux	EXPORT_SYMBOL
+0x72270e35	do_gettimeofday	vmlinux	EXPORT_SYMBOL
+0x0c5d601d	generic_write_checks	vmlinux	EXPORT_SYMBOL
+0xba4f9a36	block_truncate_page	vmlinux	EXPORT_SYMBOL
+0x23f2d36f	memparse	vmlinux	EXPORT_SYMBOL
+0xa458648c	pci_bus_read_config_dword	vmlinux	EXPORT_SYMBOL
+0x73c3f71a	input_inject_event	vmlinux	EXPORT_SYMBOL
+0x07e85e74	skb_copy	vmlinux	EXPORT_SYMBOL
+0xce2412bd	inet_sk_rebuild_header	vmlinux	EXPORT_SYMBOL
+0x1baad690	ib_alloc_fmr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb6b2ff30	__nf_conntrack_expect_find	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6402f20d	snd_pcm_stop	sound/core/snd-pcm	EXPORT_SYMBOL
+0xde65f540	snd_emu8000_load_reverb_fx	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x36d5355b	acpi_register_gsi	vmlinux	EXPORT_SYMBOL
+0xa5c0bd1e	uart_match_port	vmlinux	EXPORT_SYMBOL
+0xa879ecbe	drm_locked_tasklet	drivers/char/drm/drm	EXPORT_SYMBOL
+0x9725693f	iscsi_session_get_param	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x4866643e	pcie_port_service_register	vmlinux	EXPORT_SYMBOL
+0xe0de6b64	alloc_tty_driver	vmlinux	EXPORT_SYMBOL
+0x8c80b53d	flow_cache_lookup	vmlinux	EXPORT_SYMBOL
+0xe5ae8707	intlog10	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xd8730208	saa_dsp_writel	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0xdedf2dd6	destroy_8023_client	net/802/p8023	EXPORT_SYMBOL
+0x2258d4ab	rt2x00lib_config_interface	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xf0a8dd90	cpufreq_register_governor	vmlinux	EXPORT_SYMBOL_GPL
+0x2ac32ce7	acpi_processor_register_performance	drivers/acpi/processor	EXPORT_SYMBOL
+0x87087f33	stop_atmel_card	drivers/net/wireless/atmel	EXPORT_SYMBOL
+0xcc436e6c	pci_hotplug_slots_subsys	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xe4108960	scsi_is_sas_phy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x0cf88853	cxiExportModuleStruct	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd6875fa3	_write_unlock_bh	vmlinux	EXPORT_SYMBOL
+0xb69a41b9	bio_put	vmlinux	EXPORT_SYMBOL
+0xbc6b1841	blk_register_region	vmlinux	EXPORT_SYMBOL
+0x10ee20bb	default_blu	vmlinux	EXPORT_SYMBOL
+0x16e7b88b	gs_set_termios	drivers/char/generic_serial	EXPORT_SYMBOL
+0xea620116	b1pcmcia_addcard_m2	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0xaec3240e	b1pcmcia_addcard_m1	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0xf14bf8b1	b1pcmcia_addcard_b1	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0x991c63f3	lnbp21_attach	drivers/media/dvb/frontends/lnbp21	EXPORT_SYMBOL
+0xa57ebd16	z8530_sync_open	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x662853cb	cxiUpdateInode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf9dbfe10	sata_port_hardreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xbdd4b116	tpm_store_cancel	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xf2cce087	ohci1394_stop_context	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0xa1734662	video_ioctl2	drivers/media/video/videodev	EXPORT_SYMBOL
+0xef9f1aab	scsi_is_target_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd2b32e52	w1_read_block	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x790da802	journal_force_commit	fs/jbd/jbd	EXPORT_SYMBOL
+0x5878348c	ieee80211_rts_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x04a8927f	rt2x00lib_get_tx_stats	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xf63b8a3f	grab_cache_page_nowait	vmlinux	EXPORT_SYMBOL
+0xefb38224	inode_needs_sync	vmlinux	EXPORT_SYMBOL
+0x44d4a420	sk_dst_check	vmlinux	EXPORT_SYMBOL
+0x8640eaeb	ib_modify_qp_is_ok	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x95ed290e	phy_write	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xac93ae05	ax25_bcast	net/ax25/ax25	EXPORT_SYMBOL_GPL
+0x8e4c5880	wake_up_process	vmlinux	EXPORT_SYMBOL
+0x25820c64	fs_overflowuid	vmlinux	EXPORT_SYMBOL
+0xdbb48207	dev_getfirstbyhwtype	vmlinux	EXPORT_SYMBOL
+0xd324ba93	dev_base	vmlinux	EXPORT_SYMBOL
+0xd9c7f010	ir_codes_rc5_tv	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x42929c56	saa7134_tvaudio_setmute	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x8b6debad	scsi_internal_device_block	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x23d31fd6	irlmp_connect_request	net/irda/irda	EXPORT_SYMBOL
+0xbb9c5105	irttp_connect_request	net/irda/irda	EXPORT_SYMBOL
+0x6f9ad3ee	snd_rawmidi_receive	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x337032c5	attach_ms_sound	sound/oss/ad1848	EXPORT_SYMBOL
+0x2bbad503	_spin_unlock_irq	vmlinux	EXPORT_SYMBOL
+0xb517850e	input_ff_erase	vmlinux	EXPORT_SYMBOL_GPL
+0xd9c272aa	mca_mark_as_unused	vmlinux	EXPORT_SYMBOL
+0xa300e425	skb_dequeue_tail	vmlinux	EXPORT_SYMBOL
+0x4f476e96	init_cdrom_command	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x1658fcf3	flexcop_device_exit	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x4a4bdd65	scsi_target_resume	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5b44cc16	scsi_is_sas_port	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x53dea1ff	ax2asc	net/ax25/ax25	EXPORT_SYMBOL
+0xfa9f2458	ieee80211_rx_mgt	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x7962e78f	__nf_ct_refresh_acct	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x04306914	tipc_get_port	net/tipc/tipc	EXPORT_SYMBOL
+0x66212d85	snd_seq_kernel_client_enqueue	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x4c995259	system_latency_constraint	vmlinux	EXPORT_SYMBOL_GPL
+0xb168e96b	bio_unmap_user	vmlinux	EXPORT_SYMBOL
+0x8467fda3	end_that_request_last	vmlinux	EXPORT_SYMBOL
+0x65c92b11	blk_complete_request	vmlinux	EXPORT_SYMBOL
+0xc35e37ea	pci_get_device	vmlinux	EXPORT_SYMBOL
+0x63ecad53	register_netdevice_notifier	vmlinux	EXPORT_SYMBOL
+0xc5facbb0	qdisc_reset	vmlinux	EXPORT_SYMBOL
+0x243c4a75	inet_stream_ops	vmlinux	EXPORT_SYMBOL
+0x6cb5d68e	hpsb_free_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x47d3fc51	capi_info2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xe49740f6	gigaset_handle_modem_response	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x93d434b4	videobuf_dma_unmap	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x9fe8ce71	srp_cmd_queue	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0xe66ff0f9	fat_fs_panic	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xcc7cff43	put_inotify_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x28ff22ac	edac_mc_free	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x60a32ea9	pm_power_off	vmlinux	EXPORT_SYMBOL
+0xdc2adb35	add_taint	vmlinux	EXPORT_SYMBOL
+0x89b94e41	get_sb_single	vmlinux	EXPORT_SYMBOL
+0xdb97992d	dnotify_parent	vmlinux	EXPORT_SYMBOL_GPL
+0x466c14a7	__delay	vmlinux	EXPORT_SYMBOL
+0xd1539c67	__net_timestamp	vmlinux	EXPORT_SYMBOL
+0xf5c8131d	isdnhdlc_encode	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0x596b6523	fixed_mdio_set_link_update	drivers/net/phy/fixed	EXPORT_SYMBOL
+0x3350dc1a	dccp_connect	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x259b74f9	tipc_acknowledge	net/tipc/tipc	EXPORT_SYMBOL
+0x8f7aa66f	cap_inode_removexattr	security/commoncap	EXPORT_SYMBOL
+0x3d1393b2	fsstack_copy_inode_size	vmlinux	EXPORT_SYMBOL_GPL
+0x1421d263	bdput	vmlinux	EXPORT_SYMBOL
+0xd6dcbceb	bdget	vmlinux	EXPORT_SYMBOL
+0x116eac84	dquot_alloc_inode	vmlinux	EXPORT_SYMBOL
+0x51b874c0	user_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x7dbfaf21	blk_queue_init_tags	vmlinux	EXPORT_SYMBOL
+0xdc961da3	device_initialize	vmlinux	EXPORT_SYMBOL_GPL
+0x5fdbafa6	spi_busnum_to_master	vmlinux	EXPORT_SYMBOL_GPL
+0xaa257d34	__neigh_for_each_release	vmlinux	EXPORT_SYMBOL
+0x8691989a	ide_rate_filter	vmlinux	EXPORT_SYMBOL
+0xdb2ceff8	dm_table_get	drivers/md/dm-mod	EXPORT_SYMBOL
+0x2bab60c0	nf_conntrack_untracked	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x5cfcf0f1	percpu_free	vmlinux	EXPORT_SYMBOL_GPL
+0xdc648ef1	tcf_em_register	vmlinux	EXPORT_SYMBOL
+0xc59d99fc	arp_broken_ops	vmlinux	EXPORT_SYMBOL
+0x597d399c	scsi_tgt_cmd_to_host	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x04a19dfb	cap_capset_set	security/commoncap	EXPORT_SYMBOL
+0x7278d328	all_vm_events	vmlinux	EXPORT_SYMBOL_GPL
+0xecf3a819	bio_init	vmlinux	EXPORT_SYMBOL
+0x24428be5	strncpy_from_user	vmlinux	EXPORT_SYMBOL
+0xde55a3c9	cdrom_ioctl	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x5a5e4a96	dm_io_async_bvec	drivers/md/dm-mod	EXPORT_SYMBOL
+0xbbae7a26	init_special_inode	vmlinux	EXPORT_SYMBOL
+0x6ffe138f	create_empty_buffers	vmlinux	EXPORT_SYMBOL
+0xfe320577	gnet_stats_copy_rate_est	vmlinux	EXPORT_SYMBOL
+0x95f78194	inet6_hash_connect	vmlinux	EXPORT_SYMBOL_GPL
+0xdbfcf457	pi_write_regr	drivers/block/paride/paride	EXPORT_SYMBOL
+0x8bcf7466	cx8802_buf_prepare	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x2bedd8a6	gss_mech_put	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x1603d77f	rpc_max_payload	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x6402aaff	release_resource	vmlinux	EXPORT_SYMBOL
+0xe517297a	__dec_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x045d74c9	__inc_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x82897f45	__mod_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x911a702e	simple_attr_close	vmlinux	EXPORT_SYMBOL_GPL
+0x64ab9c1b	__ide_dma_off	vmlinux	EXPORT_SYMBOL
+0x53c0767c	sk_chk_filter	vmlinux	EXPORT_SYMBOL
+0x8a96a5a2	skb_make_writable	vmlinux	EXPORT_SYMBOL
+0xc79bcd36	dm_vcalloc	drivers/md/dm-mod	EXPORT_SYMBOL
+0xc45e0162	videobuf_read_stop	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x8f595b11	snd_major	sound/core/snd	EXPORT_SYMBOL
+0x95ee2150	rtl_ieee80211_stop_queue	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xe868af29	out_of_line_wait_on_bit_lock	vmlinux	EXPORT_SYMBOL
+0xb9603aea	vm_insert_pfn	vmlinux	EXPORT_SYMBOL
+0x4e8a4d69	brioctl_set	vmlinux	EXPORT_SYMBOL
+0x1739c81d	dvb_pll_tua6010xs	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x8e1e980b	videobuf_waiton	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x69bcfcd1	ppp_register_compressor	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x6dcf4abb	z8530_nop	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x61e0681d	cs_error	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x745ed9b2	page_symlink	vmlinux	EXPORT_SYMBOL
+0x9d8b6187	xfrm_state_alloc	vmlinux	EXPORT_SYMBOL
+0x21488ad9	fat_remove_entries	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x6ee21284	__xfrm_route_forward	vmlinux	EXPORT_SYMBOL
+0x26dcfe21	tda10046_attach	drivers/media/dvb/frontends/tda1004x	EXPORT_SYMBOL
+0xe35344d4	tda10045_attach	drivers/media/dvb/frontends/tda1004x	EXPORT_SYMBOL
+0xa5b301c8	o2hb_register_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x5611e4ec	param_get_bool	vmlinux	EXPORT_SYMBOL
+0x5ad53dbc	param_set_byte	vmlinux	EXPORT_SYMBOL
+0x9c98d879	ide_acpi_get_timing	vmlinux	EXPORT_SYMBOL_GPL
+0x227ae7d3	gen_replace_estimator	vmlinux	EXPORT_SYMBOL
+0xd1e0258a	ir_codes_flyvideo	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x0bdf8d89	scsi_target_unblock	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x1f3e2e2a	spi_bitbang_setup	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0xd1dcc2c7	sb_dsp_init	sound/oss/sb_lib	EXPORT_SYMBOL
+0x740a1b95	reserve_evntsel_nmi	vmlinux	EXPORT_SYMBOL
+0x0760c7db	init_srcu_struct	vmlinux	EXPORT_SYMBOL_GPL
+0xee46feef	acpi_get_devices	vmlinux	EXPORT_SYMBOL
+0x1b82a90e	rtc_device_unregister	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x6237f6b5	acpi_enable_event	vmlinux	EXPORT_SYMBOL
+0xd8e439bf	arp_tbl	vmlinux	EXPORT_SYMBOL
+0x9c1d2475	phy_attach	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xfe6c618e	parport_ieee1284_interrupt	drivers/parport/parport	EXPORT_SYMBOL
+0x0ae47cfd	sunrpc_cache_lookup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2466d5c1	snd_opl3_init	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x19e4cd8b	pi_read_block	drivers/block/paride/paride	EXPORT_SYMBOL
+0x0d3cfd51	rdma_translate_ip	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x4aed7682	acpiphp_unregister_attention	drivers/pci/hotplug/acpiphp	EXPORT_SYMBOL_GPL
+0x26453add	xt_unregister_match	net/netfilter/x_tables	EXPORT_SYMBOL
+0x065994f1	xdr_encode_opaque_fixed	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xad13c689	acpi_os_execute	vmlinux	EXPORT_SYMBOL
+0x4cdb4bd0	speedstep_get_processor_frequency	arch/i386/kernel/cpu/cpufreq/speedstep-lib	EXPORT_SYMBOL_GPL
+0xd81c3915	matrox_millennium	drivers/video/matrox/matroxfb_Ti3026	EXPORT_SYMBOL
+0xcd89af28	simple_transaction_get	vmlinux	EXPORT_SYMBOL
+0x28b715a6	isapnp_cfg_end	vmlinux	EXPORT_SYMBOL
+0xf94e0db2	unregister_sysrq_key	vmlinux	EXPORT_SYMBOL
+0x3ae2ea82	ide_acpi_push_timing	vmlinux	EXPORT_SYMBOL_GPL
+0xddc5fb81	drm_agp_acquire	drivers/char/drm/drm	EXPORT_SYMBOL
+0xe515c807	gigaset_freecs	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x1c932f39	RingQueue_Enqueue	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xc4064e5e	mptscsih_suspend	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xcfaf6a3e	k_handler	vmlinux	EXPORT_SYMBOL
+0xa5fa903a	platform_add_devices	vmlinux	EXPORT_SYMBOL_GPL
+0x6245f3c0	lock_sock_nested	vmlinux	EXPORT_SYMBOL
+0x274245e9	klist_node_attached	vmlinux	EXPORT_SYMBOL_GPL
+0x6e2a1870	ir_codes_adstech_dvb_t_pci	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xd3f714e5	hermes_bap_pread	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x36e1e6ae	__nf_conntrack_find	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6e4c9766	skb_icv_walk	vmlinux	EXPORT_SYMBOL_GPL
+0x1f651fb0	gf128mul_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0xabb2bd1a	hpsb_unlisten_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7e3acdfa	bitmap_close_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0x93d45caf	usb_deregister	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL_FUTURE
+0x28b8f37f	rxrpc_put_transport	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x4e16c8be	cxiWaitEventInit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x363a2df4	cxiWaitEventWait	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6b2dc060	dump_stack	vmlinux	EXPORT_SYMBOL
+0xddb12f67	vmalloc_earlyreserve	vmlinux	EXPORT_SYMBOL
+0x7240123d	mpage_writepage	vmlinux	EXPORT_SYMBOL
+0xbef56b0b	crypto_alloc_instance	vmlinux	EXPORT_SYMBOL_GPL
+0xded15bdc	acpi_bus_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x328883cd	set_cr8	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x6e456a04	hostap_master_start_xmit	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x04cda566	snd_interval_refine	sound/core/snd-pcm	EXPORT_SYMBOL
+0x0f280035	conf_printf	sound/oss/sound	EXPORT_SYMBOL
+0x037c4c15	p54_parse_firmware	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x47f7ba72	ata_dev_pair	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd5336e5d	hermes_init	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xd151918f	rtc_read_time	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x90d4b914	scsi_execute_async	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xc4cd3b6a	nfnetlink_subsys_unregister	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xe18a8509	kobject_del	vmlinux	EXPORT_SYMBOL
+0xa3bbcd80	acpi_set_gpe_type	vmlinux	EXPORT_SYMBOL
+0xafcc383f	drm_core_reclaim_buffers	drivers/char/drm/drm	EXPORT_SYMBOL
+0x2caa2389	hpsb_unregister_protocol	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x5b66be36	flexcop_dma_config	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xcd9d9b85	unregister_console	vmlinux	EXPORT_SYMBOL
+0x84c16d22	poll_initwait	vmlinux	EXPORT_SYMBOL
+0x14d9c60a	qlogicfas408_biosparam	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x5f4e078d	nat_callforwarding_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x796f5b40	rpc_exit_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa6792995	snd_ctl_find_numid	sound/core/snd	EXPORT_SYMBOL
+0xd8e484f0	register_chrdev_region	vmlinux	EXPORT_SYMBOL
+0x967fdf93	phy_disconnect	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x4900035b	o2hb_stop_all_regions	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x396c150e	ieee80211_get_geo	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x67481767	opl3_detect	sound/oss/opl3	EXPORT_SYMBOL
+0x310917fe	sort	vmlinux	EXPORT_SYMBOL
+0xa1b6439c	netdev_state_change	vmlinux	EXPORT_SYMBOL
+0xb45b1c4f	inet_csk_reqsk_queue_prune	vmlinux	EXPORT_SYMBOL_GPL
+0xf69f2fd0	cx88_risc_buffer	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xe38a6c27	snd_gf1_i_look16	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x89fac617	struct_module	vmlinux	EXPORT_SYMBOL
+0xc8ebfa34	ib_register_mad_snoop	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x18c71ef0	usb_sg_cancel	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xbce67dc0	xprt_set_timeout	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbf15a18c	snd_rawmidi_kernel_read	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xd76e891c	shrink_dcache_sb	vmlinux	EXPORT_SYMBOL
+0x7d4f42ee	nf_register_queue_handler	vmlinux	EXPORT_SYMBOL
+0x585a1935	ib_register_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x22e16cdb	pcmcia_get_status	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x78473d31	iscsi_destroy_conn	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xef56d3df	audio_devs	sound/oss/sound	EXPORT_SYMBOL
+0xc854b8fc	snd_emux_new	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0xe513afc0	cache_k8_northbridges	vmlinux	EXPORT_SYMBOL_GPL
+0x5bd01dba	default_backing_dev_info	vmlinux	EXPORT_SYMBOL_GPL
+0x968182db	blkdev_issue_flush	vmlinux	EXPORT_SYMBOL
+0xed52d96e	ipmi_unregister_for_cmd	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xf2c188ba	ib_register_event_handler	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x333bebb1	snd_seq_instr_list_free_cond	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x904936a5	ivtv_udma_alloc	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x6901ecad	find_inode_number	vmlinux	EXPORT_SYMBOL
+0x388ea4dd	generic_drop_inode	vmlinux	EXPORT_SYMBOL_GPL
+0xa5693df7	posix_acl_clone	vmlinux	EXPORT_SYMBOL
+0x344eaace	ieee80211_crypt_quiescing	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x6a390509	cap_capget	security/commoncap	EXPORT_SYMBOL
+0x56d2a9f9	vfs_permission	vmlinux	EXPORT_SYMBOL
+0x4c1423c3	unregister_con_driver	vmlinux	EXPORT_SYMBOL
+0x22659a64	get_agp_version	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xf53c2891	mpt_findImVolumes	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x23c8f257	slhc_uncompress	drivers/net/slhc	EXPORT_SYMBOL
+0x4f6cdab2	hci_unregister_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xb3038393	dccp_v4_request_recv_sock	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xbf8774c2	synth_supports_indexing	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x55e71d81	cxiInitPtrSwizzling	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe1e774bc	cpu_possible_map	vmlinux	EXPORT_SYMBOL
+0xfe5d4bb2	sys_tz	vmlinux	EXPORT_SYMBOL
+0xca65fb3b	isdn_ppp_unregister_compressor	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0x73c1b3c9	unlock_page	vmlinux	EXPORT_SYMBOL
+0xa292685b	blk_init_queue	vmlinux	EXPORT_SYMBOL
+0x21e0ea22	acpi_get_id	vmlinux	EXPORT_SYMBOL
+0x7031d97b	acpi_processor_preregister_performance	drivers/acpi/processor	EXPORT_SYMBOL
+0x61ed3b14	cx88_set_scale	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x9410c6a0	lcd_device_register	drivers/video/backlight/lcd	EXPORT_SYMBOL
+0xa9fb135f	escape_essid	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xb9fc3e6b	p80211netdev_rx	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xa13798f8	printk_ratelimit	vmlinux	EXPORT_SYMBOL
+0x74043577	nf_ip_checksum	vmlinux	EXPORT_SYMBOL
+0x5c1763a0	xfrm_unregister_type	vmlinux	EXPORT_SYMBOL
+0xc3a75e80	tpm_show_pubek	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x0f668ba9	svc_auth_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc3533517	snd_info_register	sound/core/snd	EXPORT_SYMBOL
+0x026baf42	module_put	vmlinux	EXPORT_SYMBOL
+0xc01eed33	__copy_from_user_ll_nozero	vmlinux	EXPORT_SYMBOL
+0x5ea9051a	neigh_compat_output	vmlinux	EXPORT_SYMBOL
+0x7c5cec98	_snd_pcm_hw_params_any	sound/core/snd-pcm	EXPORT_SYMBOL
+0xbaadbd11	__wake_up	vmlinux	EXPORT_SYMBOL
+0x927c2f0a	inode_get_bytes	vmlinux	EXPORT_SYMBOL
+0xff03752f	acpi_install_address_space_handler	vmlinux	EXPORT_SYMBOL
+0xd2c8554f	ipmi_register_for_cmd	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x478aaf6d	videobuf_dqbuf	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x49365696	__nf_conntrack_attach	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x52d7d6cd	cxiIsKswapdThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd7c631e8	vfs_mkdir	vmlinux	EXPORT_SYMBOL
+0x4dc3f663	dev_driver_string	vmlinux	EXPORT_SYMBOL
+0x718daf31	mpt_free_msg_frame	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x117ade16	srp_iu_put	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x8d93b43c	srp_iu_get	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x2e7b3a86	irias_new_object	net/irda/irda	EXPORT_SYMBOL
+0x1b6f7089	nf_conntrack_helper_unregister	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0cc82a6c	rxrpc_del_service	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x6bbe8f9b	cxiRefOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5b2bf224	cxiRefOsNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x01139ffc	max_mapnr	vmlinux	EXPORT_SYMBOL
+0xe028b599	ipmi_user_set_run_to_completion	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xd861cef0	usbvideo_AllocateDevice	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x9cfd56c5	scsi_print_status	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6d5bb714	usb_driver_claim_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x08acf310	tipc_available_nodes	net/tipc/tipc	EXPORT_SYMBOL
+0x3f0971be	cxiStartDMS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x865e1b56	dvb_pll_lg_z201	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xe6eb717a	iscsi_conn_failure	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x715b9e68	snd_opl3_reset	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x01a4ea6d	unregister_die_notifier	vmlinux	EXPORT_SYMBOL
+0x3a7f8b86	__local_bh_enable	vmlinux	EXPORT_SYMBOL_GPL
+0xc0e41394	iunique	vmlinux	EXPORT_SYMBOL
+0x514cdfb1	inotify_find_update_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x5985c776	securityfs_create_dir	vmlinux	EXPORT_SYMBOL_GPL
+0x77ad6075	usb_find_device	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xd7402074	usb_get_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x3e4c2827	mb_cache_create	fs/mbcache	EXPORT_SYMBOL
+0x51627dbd	dccp_insert_option	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x95147956	ieee80211_set_geo	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x75f16533	snd_pcm_mmap_data	sound/core/snd-pcm	EXPORT_SYMBOL
+0x5fbda7a0	wiphy_new	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0xd055f5ce	blk_alloc_queue	vmlinux	EXPORT_SYMBOL
+0x3c917fae	input_release_device	vmlinux	EXPORT_SYMBOL
+0xb1ce073f	inet_dgram_ops	vmlinux	EXPORT_SYMBOL
+0xeed72d56	ata_id_to_dma_mode	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x66dc48e3	dm_io_sync_bvec	drivers/md/dm-mod	EXPORT_SYMBOL
+0x387cb6d1	scsi_put_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x686de290	restore_vga	drivers/video/vgastate	EXPORT_SYMBOL
+0xb142fb5b	w1_write_8	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0xd5263820	mb_cache_destroy	fs/mbcache	EXPORT_SYMBOL
+0x35f27744	snd_ac97_tune_hardware	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xf4f6567d	proc_doulongvec_minmax	vmlinux	EXPORT_SYMBOL
+0x99bfbe39	get_unused_fd	vmlinux	EXPORT_SYMBOL
+0x0903c239	vid_from_reg	drivers/hwmon/hwmon-vid	EXPORT_SYMBOL
+0x7582a5c4	proc_net_eicon	drivers/isdn/hardware/eicon/divadidd	EXPORT_SYMBOL
+0xbae000a2	make_checksum	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x46248c57	uart401intr	sound/oss/uart401	EXPORT_SYMBOL
+0x2cbf0770	shrink_submounts	vmlinux	EXPORT_SYMBOL_GPL
+0x3cd65242	simple_attr_open	vmlinux	EXPORT_SYMBOL_GPL
+0x6dcf00dd	device_resume	vmlinux	EXPORT_SYMBOL_GPL
+0x99a3cbdc	hwmon_device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x13a3eace	tcp_proc_unregister	vmlinux	EXPORT_SYMBOL
+0xfc1883b5	gameport_cooked_read	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x83c8a328	isac_setup	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0xdb400afa	midi_synth_panning	sound/oss/sound	EXPORT_SYMBOL
+0x205673a3	ieee80211_netif_oper	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xcc7fa952	local_bh_enable_ip	vmlinux	EXPORT_SYMBOL
+0x85c10896	rcu_batches_completed_bh	vmlinux	EXPORT_SYMBOL_GPL
+0x1d27bbf0	dvb_usb_generic_rw	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xf4ca7e5c	usb_root_hub_lost_power	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xb9e1153f	sysctl_dccp_feat_sequence_window	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x57f2b9e0	ad1848_detect	sound/oss/ad1848	EXPORT_SYMBOL
+0xd7b24cd1	cxiFcntlUnblock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3167ea19	global_flush_tlb	vmlinux	EXPORT_SYMBOL
+0xd0702412	console_stop	vmlinux	EXPORT_SYMBOL
+0xb429410a	posix_acl_from_mode	vmlinux	EXPORT_SYMBOL
+0xb1e95d32	udp_poll	vmlinux	EXPORT_SYMBOL
+0x5cf6c728	dibusb_pid_filter	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x189a3964	pci_hp_deregister	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x54c9c56f	device_pm_set_parent	vmlinux	EXPORT_SYMBOL_GPL
+0xd84b253e	cpufreq_gov_performance	vmlinux	EXPORT_SYMBOL
+0x7a9fa44a	rdma_copy_addr	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x093e21ac	ib_find_cached_pkey	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x459ce8f1	b1_load_config	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x65cff2af	i2o_msg_post_wait_mem	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x6762533d	inet6_getname	net/ipv6/ipv6	EXPORT_SYMBOL
+0x03c9bc12	nf_conntrack_tuple_taken	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0ebe03d1	unregister_wan_device	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0xf1d7c406	snd_device_register	sound/core/snd	EXPORT_SYMBOL
+0x886d2747	synth_full_time	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x6484c58e	new_inode	vmlinux	EXPORT_SYMBOL
+0x33d78440	debugfs_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x4fdc945d	sata_deb_timing_normal	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd415ace6	register_mtd_user	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x498053de	xdr_encode_word	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa1d6258e	auth_domain_find	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9504ec64	idr_get_new	vmlinux	EXPORT_SYMBOL
+0xaaebe34f	mca_write_pos	vmlinux	EXPORT_SYMBOL
+0x183e19fc	snd_ctl_find_id	sound/core/snd	EXPORT_SYMBOL
+0x05025d00	tty_register_driver	vmlinux	EXPORT_SYMBOL
+0xfe769456	unregister_netdevice_notifier	vmlinux	EXPORT_SYMBOL
+0xfb80340d	genl_unregister_family	vmlinux	EXPORT_SYMBOL
+0xd1178711	ipmi_get_maintenance_mode	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x04e133fc	iTCO_vendor_check_noreboot_on	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x8b70fb0c	mmc_suspend_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x2f24dd10	mmapKill	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7f284afe	debugfs_create_u32	vmlinux	EXPORT_SYMBOL_GPL
+0x3b87f1d9	kset_unregister	vmlinux	EXPORT_SYMBOL
+0x1ef6782a	driver_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x6875005c	hpsb_unregister_addrspace	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x0d65163c	z8530_shutdown	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x6a8441be	cpci_hp_start	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xf202f537	_read_unlock	vmlinux	EXPORT_SYMBOL
+0xf8f23f6b	llc_build_and_send_ui_pkt	vmlinux	EXPORT_SYMBOL
+0x7e9b9a67	i2c_isa_add_driver	drivers/i2c/busses/i2c-isa	EXPORT_SYMBOL
+0x64288f07	hostap_remove_interface	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x0ef06974	spi_populate_ppr_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL_GPL
+0xf39b7fe0	irda_setup_dma	net/irda/irda	EXPORT_SYMBOL
+0xd36f7bb0	__tasklet_hi_schedule	vmlinux	EXPORT_SYMBOL
+0x53326531	mempool_alloc_pages	vmlinux	EXPORT_SYMBOL
+0xaf97e9cd	user_read	vmlinux	EXPORT_SYMBOL_GPL
+0x9a192f2d	inet_csk_reset_keepalive_timer	vmlinux	EXPORT_SYMBOL
+0x2f152d54	ttpci_budget_debiwrite	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x6baa0be7	videobuf_vmalloc_to_sg	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x99b6c3a8	__alloc_ei_netdev	drivers/net/8390	EXPORT_SYMBOL
+0xa94f0ee6	dccp_tx_hist_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x995cba09	rpcauth_free_credcache	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x453ff1b6	cdev_del	vmlinux	EXPORT_SYMBOL
+0xf56a3962	zlib_inflateReset	vmlinux	EXPORT_SYMBOL
+0xd84341d2	unregister_acpi_bus_type	vmlinux	EXPORT_SYMBOL
+0x5c229c77	__inet_twsk_kill	vmlinux	EXPORT_SYMBOL_GPL
+0xbfcf44ca	arp_send	vmlinux	EXPORT_SYMBOL
+0x779e3f22	matroxfb_wait_for_sync	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0x809cfde4	xt_register_matches	net/netfilter/x_tables	EXPORT_SYMBOL
+0x63bd77e4	read_bytes_from_xdr_buf	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x4b8446fa	rwsem_wake	vmlinux	EXPORT_SYMBOL
+0x1b7cc335	ide_setup_dma	vmlinux	EXPORT_SYMBOL_GPL
+0x3345315e	dev_alloc_name	vmlinux	EXPORT_SYMBOL
+0x206805ad	pneigh_enqueue	vmlinux	EXPORT_SYMBOL
+0xed93c0d6	ib_copy_qp_attr_to_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0xeb63a3f1	ib_copy_ah_attr_to_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0x65bfa15f	raid_component_add	drivers/scsi/raid_class	EXPORT_SYMBOL
+0x5a397746	soft_cursor	drivers/video/console/softcursor	EXPORT_SYMBOL
+0xb651ad7c	dccp_parse_options	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xf3c15760	ssb_driver_unregister	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x90cd23ac	pnp_find_card	vmlinux	EXPORT_SYMBOL
+0x3ae643f7	hisax_init_pcmcia	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x83a18566	pcmcia_release_window	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x21be094c	snd_ice1712_akm4xxx_free	sound/pci/ice1712/snd-ice17xx-ak4xxx	EXPORT_SYMBOL
+0x283fd973	blk_queue_bounce	vmlinux	EXPORT_SYMBOL
+0x5fe7cd20	isa_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x269999ab	dma_async_memcpy_buf_to_pg	vmlinux	EXPORT_SYMBOL
+0x29562993	b1pcmcia_delcard	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0x7a1f63ee	dm_unregister_target	drivers/md/dm-mod	EXPORT_SYMBOL
+0xb6cbb041	svc_addsock	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x8c97a7db	__vm_enough_memory	vmlinux	EXPORT_SYMBOL
+0x7df03810	read_dev_sector	vmlinux	EXPORT_SYMBOL
+0x57a20ff0	pci_dev_put	vmlinux	EXPORT_SYMBOL
+0x9b9c4d64	pci_dev_get	vmlinux	EXPORT_SYMBOL
+0x3145216f	pci_dev_present	vmlinux	EXPORT_SYMBOL
+0x547645b3	ata_sas_port_destroy	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x7a33d9bd	dvb_dmx_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x3fb9d453	snd_seq_device_register_driver	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0x4cd01bdd	num_audiodevs	sound/oss/sound	EXPORT_SYMBOL
+0x60a4461c	__up_wakeup	vmlinux	EXPORT_SYMBOL
+0x0e8512af	srp_target_free	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0xb9d414f0	usb_ifnum_to_if	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xff34b98e	journal_create	fs/jbd/jbd	EXPORT_SYMBOL
+0xffd04f92	cxiGetUserEnvironment	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf4f52f93	dqstats	vmlinux	EXPORT_SYMBOL
+0xd89c9319	paride_unregister	drivers/block/paride/paride	EXPORT_SYMBOL
+0x337f7172	cdrom_mode_sense	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x8ae216a2	RingQueue_Flush	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xd5f77db3	phy_device_create	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x10c78988	z8530_dead_port	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xc2bedd40	mb_cache_entry_release	fs/mbcache	EXPORT_SYMBOL
+0x3ac9f331	inet6_destroy_sock	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xe9d58deb	hashbin_lock_find	net/irda/irda	EXPORT_SYMBOL
+0xe463e800	svc_makesock	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x43e56d2d	snd_rawmidi_transmit	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xd6d6e3d4	ib_query_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe8ad9bd1	capi_cmsg2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x1879e88c	iscsi_conn_send_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xed1d1a68	usb_gadget_unregister_driver	drivers/usb/gadget/net2280	EXPORT_SYMBOL
+0x496e78f3	kern_mount	vmlinux	EXPORT_SYMBOL
+0xbd5dcbd5	vfs_listxattr	vmlinux	EXPORT_SYMBOL_GPL
+0xd5688a7a	radix_tree_insert	vmlinux	EXPORT_SYMBOL
+0x2a42c4de	pfifo_qdisc_ops	vmlinux	EXPORT_SYMBOL
+0x18a91df0	nf_register_hooks	vmlinux	EXPORT_SYMBOL
+0xa1dbc2d8	ip_vs_proto_name	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x25b95046	inet6_unregister_protosw	net/ipv6/ipv6	EXPORT_SYMBOL
+0x01ca1498	snd_ak4531_suspend	sound/pci/ac97/snd-ak4531-codec	EXPORT_SYMBOL
+0x60a00114	rt2x00lib_load_firmware	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x9d3440d9	cxiSetNFSCluster	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe2fae716	kmemdup	vmlinux	EXPORT_SYMBOL
+0x43828795	bmap	vmlinux	EXPORT_SYMBOL
+0x96689134	get_inotify_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x3091c376	key_put	vmlinux	EXPORT_SYMBOL
+0x8c1a4c3d	uart_add_one_port	vmlinux	EXPORT_SYMBOL
+0x09952fa7	qdisc_create_dflt	vmlinux	EXPORT_SYMBOL
+0x87cbb174	sata_phy_debounce	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xab119bfe	drm_agp_info	drivers/char/drm/drm	EXPORT_SYMBOL
+0xa9e652d9	ib_dispatch_event	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x33b3b664	v4l2_video_std_construct	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x02cea2ca	usbnet_defer_kevent	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xedd778ff	gfs2_withdraw_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0xa0b81159	dccp_v4_do_rcv	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xb8e448a0	snd_seq_set_queue_tempo	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x5ae51dd3	ieee80211_tx_status	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xd4aa5b72	trc_fsync	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x5a8f421e	node_online_map	vmlinux	EXPORT_SYMBOL
+0x46cedcde	fx_init	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x5e13d80a	hostap_get_porttype	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xe32015fd	rtc_merge_alarm	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0xa3d2068b	dccp_sync_mss	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x783bbbd6	register_sysrq_key	vmlinux	EXPORT_SYMBOL
+0x53c3152b	tcp_register_congestion_control	vmlinux	EXPORT_SYMBOL_GPL
+0xeed74952	nf_conntrack_alloc	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xc077c0fe	__ssb_driver_register	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x5d46b12f	do_munmap	vmlinux	EXPORT_SYMBOL
+0xdc27c26a	neigh_table_clear	vmlinux	EXPORT_SYMBOL
+0x89e1a26a	tcp_connect	vmlinux	EXPORT_SYMBOL
+0x23488e04	stv0299_attach	drivers/media/dvb/frontends/stv0299	EXPORT_SYMBOL
+0xc35c1165	pci_fixup_device	vmlinux	EXPORT_SYMBOL
+0x75e95f00	xfrm_state_flush	vmlinux	EXPORT_SYMBOL
+0xf8b8c12a	xfrm_aalg_get_byname	vmlinux	EXPORT_SYMBOL_GPL
+0xf6c8656a	ib_dealloc_pd	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x846b947d	fat_flush_inodes	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xd0b9b8b8	snd_interval_list	sound/core/snd-pcm	EXPORT_SYMBOL
+0x09c55cec	schedule_timeout_interruptible	vmlinux	EXPORT_SYMBOL
+0xd54b4782	setlease	vmlinux	EXPORT_SYMBOL
+0xd5c2caaf	xfrm_policy_unregister_afinfo	vmlinux	EXPORT_SYMBOL
+0x7bb93462	xfrm_find_acq_byseq	vmlinux	EXPORT_SYMBOL
+0x96470cab	ir_codes_cinergy	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xb3b1dc32	snd_vx_load_boot_image	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x50855c83	snd_trident_write_voice_regs	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0xb0f240c0	cxiBlockingMutexHeldByCaller	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1ace138d	bitmap_allocate_region	vmlinux	EXPORT_SYMBOL
+0x5fef1b4a	v4l2_ctrl_query_fill_std	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xf7c37dc2	hdlc_ioctl	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x4f159666	ebt_register_target	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x36eae629	dccp_li_hist_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xbb5d343d	xfrm_get_acqseq	vmlinux	EXPORT_SYMBOL
+0xa437df2e	ib_send_cm_rej	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x99651c80	ib_send_cm_rtu	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xd8ad13b7	ib_send_cm_rep	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x9f3c3a42	ib_send_cm_req	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xc7c736ea	hdlcdrv_arbitrate	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xe6e77eaa	__scsi_iterate_devices	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x82fd2a56	hci_alloc_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xaa4350e7	blk_queue_bounce_limit	vmlinux	EXPORT_SYMBOL
+0x4e7e3dbc	platform_bus	vmlinux	EXPORT_SYMBOL_GPL
+0x95628315	spi_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x6b9e1d00	cx88_wakeup	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xac5829d1	svc_reserve	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbd69e79b	rtl_ieee80211_softmac_stop_protocol	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x54324f95	ioread16_rep	vmlinux	EXPORT_SYMBOL
+0x06fe3b14	default_grn	vmlinux	EXPORT_SYMBOL
+0x1e3f6a7a	skb_abort_seq_read	vmlinux	EXPORT_SYMBOL
+0xd905a3bc	netpoll_setup	vmlinux	EXPORT_SYMBOL
+0xcf61f4d9	ata_port_probe	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xce9c0cda	nand_scan_ident	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0x2b0ba2b0	scsi_sense_desc_find	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x843345cf	journal_destroy	fs/jbd/jbd	EXPORT_SYMBOL
+0x2c79ba2b	journal_restart	fs/jbd/jbd	EXPORT_SYMBOL
+0x5208361d	snd_ice1712_akm4xxx_init	sound/pci/ice1712/snd-ice17xx-ak4xxx	EXPORT_SYMBOL
+0xb18ae5b6	dequeue_signal	vmlinux	EXPORT_SYMBOL_GPL
+0xf32d2678	schedule_work	vmlinux	EXPORT_SYMBOL
+0xe964ada0	alloc_disk_node	vmlinux	EXPORT_SYMBOL
+0x2da55156	rtnl_unicast	vmlinux	EXPORT_SYMBOL
+0xaecb5d2f	tcp_setsockopt	vmlinux	EXPORT_SYMBOL
+0xd6a3e999	tcp_getsockopt	vmlinux	EXPORT_SYMBOL
+0xe6a2f517	dvb_usb_tuner_init_i2c	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xa8a04fa6	ves1820_attach	drivers/media/dvb/frontends/ves1820	EXPORT_SYMBOL
+0x45937659	doc_decode_ecc	drivers/mtd/devices/docecc	EXPORT_SYMBOL_GPL
+0x1d79e4b0	hostap_setup_dev	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xe55ac15a	inet6_ioctl	net/ipv6/ipv6	EXPORT_SYMBOL
+0x6ef8fcd8	snd_pcm_format_linear	sound/core/snd-pcm	EXPORT_SYMBOL
+0x510f560c	ieee80211_rate_control_unregister	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xa73baf4a	sysdev_driver_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xbba27749	agp_generic_destroy_page	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x5785e315	ac97_release_codec	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x5514b91b	snd_trident_synth_copy_from_user	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x76e7c2ef	atomic_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x9604be9f	compute_creds	vmlinux	EXPORT_SYMBOL
+0x0a173c94	xfrm_bundle_ok	vmlinux	EXPORT_SYMBOL
+0x0067df75	ata_tf_from_fis	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x965c1dae	ib_ud_header_init	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x1febe00d	cx8800_ctrl_query	drivers/media/video/cx88/cx8800	EXPORT_SYMBOL
+0x031ba3cf	tveeprom_hauppauge_analog	drivers/media/video/tveeprom	EXPORT_SYMBOL
+0xbf60f929	ip6t_register_table	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0x9ee1484d	nsc_gpio_dump	drivers/char/nsc_gpio	EXPORT_SYMBOL
+0x18e6e68c	hpsb_listen_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xdee8c872	cx22702_attach	drivers/media/dvb/frontends/cx22702	EXPORT_SYMBOL
+0x1f9a33ed	backlight_device_unregister	drivers/video/backlight/backlight	EXPORT_SYMBOL
+0x28813834	cxiKZero	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd0b2337e	kxGetACL	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x94fdacfc	kxPutACL	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x74e9635b	cxiMmapFlush	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2d8d23c5	ide_setup_pci_noise	vmlinux	EXPORT_SYMBOL_GPL
+0x4db7d36a	nf_unregister_hook	vmlinux	EXPORT_SYMBOL
+0xfc02b7ad	sysctl_tcp_wmem	vmlinux	EXPORT_SYMBOL
+0xb04f35ef	ipmi_get_my_address	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x9df0cd27	FsmEvent	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x86d594bf	unregister_mtd_user	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x3db2744f	dccp_recvmsg	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x72991449	put_pid	vmlinux	EXPORT_SYMBOL_GPL
+0xde75b689	set_irq_type	vmlinux	EXPORT_SYMBOL
+0x20fc3d44	probe_hwif_init	vmlinux	EXPORT_SYMBOL
+0xc331ae7b	scm_detach_fds	vmlinux	EXPORT_SYMBOL
+0xae7b073f	tcp_twsk_destructor	vmlinux	EXPORT_SYMBOL_GPL
+0xf6478927	md_write_end	drivers/md/md-mod	EXPORT_SYMBOL
+0x76c1ad3a	hostap_set_antsel	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xc9ee1527	snd_seq_instr_list_new	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x96b27088	__down_failed	vmlinux	EXPORT_SYMBOL
+0x9f5f63ce	tty_insert_flip_string	vmlinux	EXPORT_SYMBOL
+0x1149901f	driver_find_device	vmlinux	EXPORT_SYMBOL_GPL
+0x4fa28c55	edac_mc_handle_ce	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xa9f9e338	blk_get_request	vmlinux	EXPORT_SYMBOL
+0xfba0c2e0	llc_sap_list_lock	vmlinux	EXPORT_SYMBOL
+0x0cc67f95	hpsb_protocol_class	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x093e3659	get_default_font	drivers/video/console/font	EXPORT_SYMBOL
+0xafc922e1	nf_nat_proto_find_get	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x74afd69c	unload_sbmpu	sound/oss/sb_lib	EXPORT_SYMBOL
+0x51e354b2	sound_alloc_timerdev	sound/oss/sound	EXPORT_SYMBOL
+0x1b3df3cf	sound_alloc_mixerdev	sound/oss/sound	EXPORT_SYMBOL
+0x1cd8c21d	unregister_wlandev	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x229a5116	cxiThreadPtrToThreadId	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2005e68a	acpi_remove_fixed_event_handler	vmlinux	EXPORT_SYMBOL
+0x6fef6afb	xfrm_ealg_get_byid	vmlinux	EXPORT_SYMBOL_GPL
+0x7679ee76	seq_copy_to_input	sound/oss/sound	EXPORT_SYMBOL
+0xf01fb863	congestion_end	vmlinux	EXPORT_SYMBOL
+0xd53e1302	cpufreq_frequency_table_target	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x3f1a4975	nf_nat_port_range_to_nfattr	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0xeca95329	nfnetlink_has_listeners	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xafff6103	_write_lock	vmlinux	EXPORT_SYMBOL
+0xea1c0eb6	relay_buf_full	vmlinux	EXPORT_SYMBOL_GPL
+0xdc08adc8	misc_deregister	vmlinux	EXPORT_SYMBOL
+0x282e21e4	ide_dma_speed	vmlinux	EXPORT_SYMBOL
+0x36cc396e	i2o_driver_notify_device_add_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x4ef35b64	snd_pcm_suspend_all	sound/core/snd-pcm	EXPORT_SYMBOL
+0x9bdaf24d	midi_synth_start_note	sound/oss/sound	EXPORT_SYMBOL
+0xbca66e54	cxiUnmapDiscontiguousRW	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9c012508	fb_parse_edid	vmlinux	EXPORT_SYMBOL
+0x3e45e9ff	register_inetaddr_notifier	vmlinux	EXPORT_SYMBOL
+0x9ec80bf7	inet6_bind	net/ipv6/ipv6	EXPORT_SYMBOL
+0x7afc9d8a	unregister_sound_mixer	sound/soundcore	EXPORT_SYMBOL
+0xe470dc95	devres_get	vmlinux	EXPORT_SYMBOL_GPL
+0x8e2ec3cb	devres_add	vmlinux	EXPORT_SYMBOL_GPL
+0x2dcacb5f	parport_pc_unregister_port	drivers/parport/parport_pc	EXPORT_SYMBOL
+0x2a145186	journal_wipe	fs/jbd/jbd	EXPORT_SYMBOL
+0x7888efc7	snd_pcm_lib_write	sound/core/snd-pcm	EXPORT_SYMBOL
+0xde40a794	generic_writepages	vmlinux	EXPORT_SYMBOL
+0x7485e15e	unregister_chrdev_region	vmlinux	EXPORT_SYMBOL
+0x00f45a97	pci_set_mwi	vmlinux	EXPORT_SYMBOL
+0xac40b1ff	lgdt330x_attach	drivers/media/dvb/frontends/lgdt330x	EXPORT_SYMBOL
+0x267c8181	onenand_scan	drivers/mtd/onenand/onenand	EXPORT_SYMBOL_GPL
+0x424cc49b	pcmcia_parse_events	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x62592d11	fc_host_post_vendor_event	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x9673235f	bt_accept_enqueue	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x25d81960	posix_acl_equiv_mode	vmlinux	EXPORT_SYMBOL
+0x82888f86	register_8022_client	vmlinux	EXPORT_SYMBOL
+0x50e1b7f5	bcm3510_attach	drivers/media/dvb/frontends/bcm3510	EXPORT_SYMBOL
+0x05447bf6	dccp_feat_init	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xef1d4072	rt2x00lib_set_multicast_list	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x2241a928	ioread32	vmlinux	EXPORT_SYMBOL
+0x386c4a61	xtime_lock	vmlinux	EXPORT_SYMBOL
+0xe6759ae8	permission	vmlinux	EXPORT_SYMBOL
+0x32018764	gnet_stats_copy_basic	vmlinux	EXPORT_SYMBOL
+0x025af62b	module_remove_driver	vmlinux	EXPORT_SYMBOL
+0x175e5db8	crypto_alg_sem	vmlinux	EXPORT_SYMBOL_GPL
+0x3eec5b45	ip_cmsg_recv	vmlinux	EXPORT_SYMBOL
+0x3be01476	inet_sendmsg	vmlinux	EXPORT_SYMBOL
+0xcbefef25	hidinput_report_event	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x0535d72f	cx2341x_log_status	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0x301d38df	tveeprom_read	drivers/media/video/tveeprom	EXPORT_SYMBOL
+0x62fddb77	videocodec_attach	drivers/media/video/videocodec	EXPORT_SYMBOL
+0xb53ae573	cpu_idle_wait	vmlinux	EXPORT_SYMBOL_GPL
+0x2cfcba0a	cpu_sibling_map	vmlinux	EXPORT_SYMBOL
+0x932da67e	kill_proc	vmlinux	EXPORT_SYMBOL
+0x349f20fe	pci_unblock_user_cfg_access	vmlinux	EXPORT_SYMBOL_GPL
+0x54935666	acpi_os_read_port	vmlinux	EXPORT_SYMBOL
+0x6cca0c5a	inverse_translate	vmlinux	EXPORT_SYMBOL
+0xba2a60d3	alloc_fddidev	vmlinux	EXPORT_SYMBOL
+0x19cf542d	t1pci_detect	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xee3263da	read_dst	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x5175c0f0	NCR_700_intr	drivers/scsi/53c700	EXPORT_SYMBOL
+0x997bdfc4	rpc_call_async	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xeb4e8499	snd_hda_codec_new	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xb19c1ad7	unregister_exec_domain	vmlinux	EXPORT_SYMBOL
+0x89d5538d	fb_pad_aligned_buffer	vmlinux	EXPORT_SYMBOL
+0x760b437a	unregister_inetaddr_notifier	vmlinux	EXPORT_SYMBOL
+0xad2fe38b	btcx_sort_clips	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0xca87b0d1	scsi_device_cancel	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x1eb922a3	IO_APIC_get_PCI_irq_vector	vmlinux	EXPORT_SYMBOL
+0x59ca69dc	interruptible_sleep_on_timeout	vmlinux	EXPORT_SYMBOL
+0xb5c24311	agp_generic_mask_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa1d5f04f	load_mixer_volumes	sound/oss/sound	EXPORT_SYMBOL
+0x2cd7da6c	param_set_charp	vmlinux	EXPORT_SYMBOL
+0x3b8be29d	zlib_inflateInit2	vmlinux	EXPORT_SYMBOL
+0xe93cc1b3	acpi_extract_package	vmlinux	EXPORT_SYMBOL
+0xdf401953	sock_no_bind	vmlinux	EXPORT_SYMBOL
+0x2830ec18	sock_get_timestamp	vmlinux	EXPORT_SYMBOL
+0x13c5428b	netlink_ack	vmlinux	EXPORT_SYMBOL
+0xddbb5dea	iscsi_register_transport	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xb70fbe06	nfs4_acl_free	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x228fed5d	snd_cs4236_ext_out	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xfe6a43ef	bio_free	vmlinux	EXPORT_SYMBOL
+0xc401094a	ata_pci_clear_simplex	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa4ccde62	snd_gf1_ctrl_stop	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xef1c781c	vid_which_vrm	drivers/hwmon/hwmon-vid	EXPORT_SYMBOL
+0xfd47ef06	dmam_alloc_noncoherent	vmlinux	EXPORT_SYMBOL
+0xc2369fd5	transport_destroy_device	vmlinux	EXPORT_SYMBOL_GPL
+0x76b45850	nf_log_unregister_pf	vmlinux	EXPORT_SYMBOL
+0x942892ab	v4l2_prio_open	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x1a9d334a	orinoco_interrupt	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x13e336ea	ircomm_connect_response	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x8df3789f	snd_oss_info_register	sound/core/snd	EXPORT_SYMBOL
+0xaec4759f	vprintk	vmlinux	EXPORT_SYMBOL
+0xb392f570	tty_unregister_device	vmlinux	EXPORT_SYMBOL
+0xc5e1077f	mca_device_write_pos	vmlinux	EXPORT_SYMBOL
+0x77c632e1	ohci1394_register_iso_tasklet	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0x4c67094d	generic_splice_sendpage	vmlinux	EXPORT_SYMBOL
+0x782b0008	vsprintf	vmlinux	EXPORT_SYMBOL
+0xe617339a	tcp_poll	vmlinux	EXPORT_SYMBOL
+0xc3aaf0a9	__put_user_1	vmlinux	EXPORT_SYMBOL
+0xd16ac615	__get_user_1	vmlinux	EXPORT_SYMBOL
+0xe81f86dd	rt_mutex_lock_interruptible	vmlinux	EXPORT_SYMBOL_GPL
+0x093e947e	posix_acl_create_masq	vmlinux	EXPORT_SYMBOL
+0x92676d5b	register_key_type	vmlinux	EXPORT_SYMBOL
+0xd0991ec4	attribute_container_find_class_device	vmlinux	EXPORT_SYMBOL_GPL
+0x4641bd7d	arcnet_interrupt	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xf82f1109	utf8_wctomb	vmlinux	EXPORT_SYMBOL
+0x101bece7	class_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xa1de1341	synth_buff_in	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x50d608d2	rtl_ieee80211_rx_mgt	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x168eae00	set_cpus_allowed	vmlinux	EXPORT_SYMBOL_GPL
+0x29a563a6	redirty_page_for_writepage	vmlinux	EXPORT_SYMBOL
+0x47aab3c3	wait_on_sync_kiocb	vmlinux	EXPORT_SYMBOL
+0xf7467191	blk_queue_max_sectors	vmlinux	EXPORT_SYMBOL
+0x92f58c48	pnp_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x9c1ed176	snd_rawmidi_output_params	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x13d9d037	wlan_setup	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x3b922624	audit_log_end	vmlinux	EXPORT_SYMBOL
+0xdc139466	vfs_set_dqinfo	vmlinux	EXPORT_SYMBOL
+0xa941907e	vfs_get_dqinfo	vmlinux	EXPORT_SYMBOL
+0xd2df01b4	sk_stream_kill_queues	vmlinux	EXPORT_SYMBOL
+0x85d37490	ir_codes_dntv_live_dvbt_pro	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x069a8547	saa7134_ts_qops	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL_GPL
+0xa336feb7	nand_manuf_ids	drivers/mtd/nand/nand_ids	EXPORT_SYMBOL
+0x8ffe7e89	nf_conntrack_htable_size	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbe686fa5	ieee80211_ctstoself_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4a63a4a0	cpu_core_map	vmlinux	EXPORT_SYMBOL
+0x2d410cf1	invalidate_inode_pages	vmlinux	EXPORT_SYMBOL
+0x475f05af	acpi_set_firmware_waking_vector	vmlinux	EXPORT_SYMBOL
+0x87b2fac7	__sk_dst_check	vmlinux	EXPORT_SYMBOL
+0x2a4852cc	ir_codes_dntv_live_dvb_t	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x9035f183	cfi_varsize_frob	drivers/mtd/chips/cfi_util	EXPORT_SYMBOL
+0x8aa7c3d9	rtl_ieee80211_wx_get_scan	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8f04165a	rtl_ieee80211_wx_set_scan	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x4188901f	set_bh_page	vmlinux	EXPORT_SYMBOL
+0xf7f13af6	__elv_add_request	vmlinux	EXPORT_SYMBOL
+0x4c759827	byte_rev_table	vmlinux	EXPORT_SYMBOL_GPL
+0x29dd457c	pci_get_device_reverse	vmlinux	EXPORT_SYMBOL
+0x149b4521	bus_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xa739803d	kcopyd_copy	drivers/md/dm-mod	EXPORT_SYMBOL
+0x041da09f	usb_interrupt_msg	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x167d6f3c	ax25_register_pid	net/ax25/ax25	EXPORT_SYMBOL_GPL
+0x855a5d1b	irias_insert_object	net/irda/irda	EXPORT_SYMBOL
+0xe90789db	snd_pcm_lib_preallocate_pages	sound/core/snd-pcm	EXPORT_SYMBOL
+0x0d91ef6b	audit_log_d_path	vmlinux	EXPORT_SYMBOL_GPL
+0xd38d8ae2	hermes_read_ltv	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xb9edf9af	iscsi_if_create_session_done	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x9e7049f0	ax25_linkfail_register	net/ax25/ax25	EXPORT_SYMBOL
+0x4b2cd41c	cxiKibdUnpin	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5230da84	blocking_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0x834a6f28	inotify_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0xa7898e73	key_payload_reserve	vmlinux	EXPORT_SYMBOL
+0x099ab9d3	fb_get_buffer_offset	vmlinux	EXPORT_SYMBOL
+0x4101a975	ide_fixstring	vmlinux	EXPORT_SYMBOL
+0xeaf8f134	isac_init	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x0abca601	parport_claim_or_block	drivers/parport/parport	EXPORT_SYMBOL
+0xcc7ee64c	parport_ieee1284_read_byte	drivers/parport/parport	EXPORT_SYMBOL
+0xc9949e2c	crypto_register_template	vmlinux	EXPORT_SYMBOL_GPL
+0xddb0b078	get_cpu_sysdev	vmlinux	EXPORT_SYMBOL_GPL
+0x4a17ee82	skb_unlink	vmlinux	EXPORT_SYMBOL
+0xe9a9b93c	snd_ak4531_mixer	sound/pci/ac97/snd-ak4531-codec	EXPORT_SYMBOL
+0x5739acfe	uts_sem	vmlinux	EXPORT_SYMBOL
+0x3477ba0d	make_EII_client	vmlinux	EXPORT_SYMBOL
+0x0bfc32c9	lmsw	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x9d8eb635	dccp_send_sync	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xb2e5ae4a	snd_lookup_minor_data	sound/core/snd	EXPORT_SYMBOL
+0x886943ca	inet_csk_delete_keepalive_timer	vmlinux	EXPORT_SYMBOL
+0x3a420bcd	ata_cable_40wire	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x88ffb1bc	saa7146_stop_preview	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x17de76ce	ttpci_budget_deinit	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x16941de1	usb_hcd_pci_shutdown	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x251ec3e1	auth_unix_lookup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe1dd5368	cap_syslog	security/commoncap	EXPORT_SYMBOL
+0x38395b99	kmem_cache_size	vmlinux	EXPORT_SYMBOL
+0xd720659e	xfrm_state_register_afinfo	vmlinux	EXPORT_SYMBOL
+0x1308611a	ata_cable_unknown	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2e030788	usb_register_device_driver	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x5723798f	clocksource_register	vmlinux	EXPORT_SYMBOL
+0xfa164145	kobject_get_path	vmlinux	EXPORT_SYMBOL_GPL
+0x26408b3a	inet_ioctl	vmlinux	EXPORT_SYMBOL
+0x6780655c	ib_cm_init_qp_attr	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xb4a29a69	our_keys	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x613a6f53	hpsb_free_tlabel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xfbae8fa7	bt_sock_link	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x0ad87d67	xt_register_target	net/netfilter/x_tables	EXPORT_SYMBOL
+0xe8c0fbaa	_cpu_pda	vmlinux	EXPORT_SYMBOL
+0x98625b50	framebuffer_release	vmlinux	EXPORT_SYMBOL
+0xc1abd7f7	pnp_disable_dev	vmlinux	EXPORT_SYMBOL
+0x96cf8b7d	nf_unregister_hooks	vmlinux	EXPORT_SYMBOL
+0xaebeb17f	ib_get_cached_pkey	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbfd30a63	xor_block	drivers/md/xor	EXPORT_SYMBOL
+0x2bfcf8e8	dvb_unregister_device	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xfbb777fc	g450_mnp2f	drivers/video/matrox/g450_pll	EXPORT_SYMBOL
+0x8001e3d7	tipc_forward2port	net/tipc/tipc	EXPORT_SYMBOL
+0x419e627e	rtl_ieee80211_wpa_supplicant_ioctl	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xd10f0b35	saa7146_start_preview	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x344d1fcc	sppp_attach	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x2aa17774	rpc_free_iostats	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9b4a6df6	dentry_unhash	vmlinux	EXPORT_SYMBOL
+0x4efd0dd0	generic_read_dir	vmlinux	EXPORT_SYMBOL
+0x0c4c2771	device_find_child	vmlinux	EXPORT_SYMBOL_GPL
+0xc334e1f9	class_device_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x07a56fd2	dm_table_get_md	drivers/md/dm-mod	EXPORT_SYMBOL
+0x73fec4bb	mpt_event_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x862b6b87	usb_hcd_poll_rh_status	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xefac9585	fat_getattr	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x6eea229d	svcauth_unix_purge	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc06c241e	tpm_pm_suspend	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xc4d56e62	gameport_set_phys	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xc1f656a4	snd_cs4231_get_double	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xee2d0fc7	_local_bh_enable	vmlinux	EXPORT_SYMBOL
+0x66eaa8a9	param_set_ulong	vmlinux	EXPORT_SYMBOL
+0x2d3c382a	vc_resize	vmlinux	EXPORT_SYMBOL
+0x896f968c	sock_no_shutdown	vmlinux	EXPORT_SYMBOL
+0x0d8ecdd4	xfrm_ealg_get_byidx	vmlinux	EXPORT_SYMBOL_GPL
+0x6d264ea4	gfn_to_memslot	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x2de2b633	v4l2_prio_check	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x54eb4f47	NS8390_init	drivers/net/8390	EXPORT_SYMBOL
+0x94ef4d05	cpci_hp_stop	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xa0ba3a3f	cancel_rearming_delayed_work	vmlinux	EXPORT_SYMBOL
+0x7042bc54	irlmp_register_client	net/irda/irda	EXPORT_SYMBOL
+0xe7aece47	tipc_ispublished	net/tipc/tipc	EXPORT_SYMBOL
+0xe944d99d	ad1848_init	sound/oss/ad1848	EXPORT_SYMBOL
+0x8de4dbdd	ib_modify_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb3576650	dm_io_get	drivers/md/dm-mod	EXPORT_SYMBOL
+0x1b89c6ee	o2hb_fill_node_map	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xc748d109	sound_alloc_synthdev	sound/oss/sound	EXPORT_SYMBOL
+0xfa8e1f6e	p54_init_common	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x377e90c7	nf_ct_attach	vmlinux	EXPORT_SYMBOL
+0xbaacdf2c	flexcop_dma_allocate	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x8231b981	usb_ftdi_elan_edset_flush	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x4e08ba3a	snd_timer_global_free	sound/core/snd-timer	EXPORT_SYMBOL
+0x57e0582c	textsearch_register	vmlinux	EXPORT_SYMBOL
+0x475f010b	acpi_purge_cached_objects	vmlinux	EXPORT_SYMBOL
+0xca8acc78	acpi_dbg_level	vmlinux	EXPORT_SYMBOL
+0x2bbb4fdf	driver_attach	vmlinux	EXPORT_SYMBOL_GPL
+0x68d4a8f8	saa7146_unregister_device	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x71d75822	snd_pcm_lib_writev	sound/core/snd-pcm	EXPORT_SYMBOL
+0x7c03d883	snd_sb8dsp_interrupt	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0xad0413d4	match_hex	vmlinux	EXPORT_SYMBOL
+0x5934392b	fb_register_client	vmlinux	EXPORT_SYMBOL
+0xae84a647	platform_device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x4dec9a38	usbnet_generic_cdc_bind	drivers/usb/net/cdc_ether	EXPORT_SYMBOL_GPL
+0x255031c6	dccp_rcv_state_process	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xedd521c2	irlmp_get_discoveries	net/irda/irda	EXPORT_SYMBOL
+0x2e7abfda	percpu_depopulate	vmlinux	EXPORT_SYMBOL_GPL
+0xb340b55b	platform_device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x9dfe7688	skb_realloc_headroom	vmlinux	EXPORT_SYMBOL
+0x1409dc51	nf_unregister_sockopt	vmlinux	EXPORT_SYMBOL
+0x94f3a06b	__inet_lookup_listener	vmlinux	EXPORT_SYMBOL_GPL
+0x2a0a5e0f	bt878_start	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x889a9d5f	snd_vx_suspend	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x6a47571d	__set_personality	vmlinux	EXPORT_SYMBOL
+0x6bb3cfbb	uhci_reset_hc	vmlinux	EXPORT_SYMBOL_GPL
+0x9f5a09c9	uPD98402_init	drivers/atm/uPD98402	EXPORT_SYMBOL
+0xb03f19b1	ipv6_find_hdr	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0xa41ead5f	sound_unload_timerdev	sound/oss/sound	EXPORT_SYMBOL
+0xec3f36d9	page_readlink	vmlinux	EXPORT_SYMBOL
+0x4849847c	register_con_driver	vmlinux	EXPORT_SYMBOL
+0x1b077ae0	blkcipher_walk_done	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0x5b2bbb85	ib_set_client_data	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xdf6ca482	ib_get_client_data	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xfac36686	flexcop_dma_control_size_irq	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xf66f6d79	dvb_dmxdev_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x8f46d6d7	dvb_ringbuffer_free	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa94dc149	ioc4_unregister_submodule	drivers/misc/ioc4	EXPORT_SYMBOL
+0x7ed4cd98	sas_bios_param	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x4d1afe51	sas_attach_transport	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x69c7294c	hashbin_new	net/irda/irda	EXPORT_SYMBOL
+0xc499ae1e	kstrdup	vmlinux	EXPORT_SYMBOL
+0xc99a76ad	pci_map_rom_copy	vmlinux	EXPORT_SYMBOL
+0x1dd571e6	fb_copy_cmap	vmlinux	EXPORT_SYMBOL
+0xb19978da	nf_unregister_afinfo	vmlinux	EXPORT_SYMBOL_GPL
+0xa2c370e8	edac_mc_handle_ue	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xbf097447	i2c_detach_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x8f9319c7	simple_prepare_write	vmlinux	EXPORT_SYMBOL
+0xea7987f1	key_update	vmlinux	EXPORT_SYMBOL
+0xe92a00e0	_atomic_dec_and_lock	vmlinux	EXPORT_SYMBOL
+0x448b8aaa	irda_qos_bits_to_value	net/irda/irda	EXPORT_SYMBOL
+0x2144fd71	snd_opl3_interrupt	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x2afab19f	vfs_getxattr	vmlinux	EXPORT_SYMBOL_GPL
+0x35f96e0e	vfs_setxattr	vmlinux	EXPORT_SYMBOL_GPL
+0x0c97cd4e	simple_rename	vmlinux	EXPORT_SYMBOL
+0x33c2322f	kasprintf	vmlinux	EXPORT_SYMBOL
+0xcb7131fb	fb_get_options	vmlinux	EXPORT_SYMBOL
+0xa06f1027	ip_mc_dec_group	vmlinux	EXPORT_SYMBOL
+0x35fe7ae7	xfrm_register_km	vmlinux	EXPORT_SYMBOL
+0x73852d8f	iscsi_conn_bind	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xc1444946	ax25cmp	net/ax25/ax25	EXPORT_SYMBOL
+0x6c67f617	rtl_ieee80211_wake_queue	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8d8d96c6	acpi_get_sleep_type_data	vmlinux	EXPORT_SYMBOL
+0x33216adc	acpi_unload_table_id	vmlinux	EXPORT_SYMBOL
+0xb5828299	sock_init_data	vmlinux	EXPORT_SYMBOL
+0x254e5667	scx200_gpio_base	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0xc2424641	agp3_generic_cleanup	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x87298ab2	iw_cm_reject	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xd5d0bdef	bt878_num	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x4717a2b9	snd_ctl_free_one	sound/core/snd	EXPORT_SYMBOL
+0xc192d491	unregister_chrdev	vmlinux	EXPORT_SYMBOL
+0x50badf87	scatterwalk_map	vmlinux	EXPORT_SYMBOL_GPL
+0xa1a6414c	iowrite32be	vmlinux	EXPORT_SYMBOL
+0x30343e46	iowrite16be	vmlinux	EXPORT_SYMBOL
+0x814051a8	pci_get_slot	vmlinux	EXPORT_SYMBOL
+0x2cae8561	ip_queue_xmit	vmlinux	EXPORT_SYMBOL
+0x14d3109e	gs_hangup	drivers/char/generic_serial	EXPORT_SYMBOL
+0x0d0a2dea	dlm_print_one_lock	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xa24f32b7	cxiMmapRegister	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9096948e	blk_queue_start_tag	vmlinux	EXPORT_SYMBOL
+0xdb029fc0	inet_release	vmlinux	EXPORT_SYMBOL
+0x909cece6	km_query	vmlinux	EXPORT_SYMBOL
+0x16d3b36c	mpt_resume	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xb0928c66	synth_delay_time	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x9fce80db	fb_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x309f357b	neigh_create	vmlinux	EXPORT_SYMBOL
+0xf7c45017	__xfrm_policy_destroy	vmlinux	EXPORT_SYMBOL
+0xc42508f2	rdma_addr_cancel	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x8f6cee77	__round_jiffies_relative	vmlinux	EXPORT_SYMBOL_GPL
+0x7c496698	elv_next_request	vmlinux	EXPORT_SYMBOL
+0x70022241	noautodma	vmlinux	EXPORT_SYMBOL
+0x180d3544	cpufreq_set_policy	vmlinux	EXPORT_SYMBOL
+0xdc20cc84	cpufreq_get_policy	vmlinux	EXPORT_SYMBOL
+0xdd805159	ioc_list	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xc9393cc4	i2o_driver_notify_controller_add_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x891c6dff	sirdev_raw_write	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x356031e7	__rt_mutex_init	vmlinux	EXPORT_SYMBOL_GPL
+0x037a0cba	kfree	vmlinux	EXPORT_SYMBOL
+0xfbb938c6	crypto_free_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0xdc3c11d5	inet_twsk_alloc	vmlinux	EXPORT_SYMBOL_GPL
+0xeabc0705	sock_kmalloc	vmlinux	EXPORT_SYMBOL
+0x8b857983	nf_register_sockopt	vmlinux	EXPORT_SYMBOL
+0x1117e95e	xfrm_state_delete	vmlinux	EXPORT_SYMBOL
+0xd2442a44	drm_sman_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0xa341ba42	ib_modify_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x3d28e620	sas_target_alloc	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xd5f8a2fb	nf_conntrack_expect_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xdb125e78	cxiGNPtoVP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x058c75d9	acpi_get_pci_id	vmlinux	EXPORT_SYMBOL
+0xb2efb6be	mca_read_stored_pos	vmlinux	EXPORT_SYMBOL
+0x41222737	ip_route_output_key	vmlinux	EXPORT_SYMBOL
+0x2f963c2c	z8530_queue_xmit	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xb68428d6	cxiInitBreakQ	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xebd387f6	pm_active	vmlinux	EXPORT_SYMBOL
+0x4f840cd6	dpm_runtime_suspend	vmlinux	EXPORT_SYMBOL
+0x538383c0	unregister_inet6addr_notifier	net/ipv6/ipv6	EXPORT_SYMBOL
+0x8f928332	rtl_ieee80211_get_crypto_ops	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xb96b0db1	tsfstat	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd61d4f2b	blk_alloc_queue_node	vmlinux	EXPORT_SYMBOL
+0xb464a657	uart_suspend_port	vmlinux	EXPORT_SYMBOL
+0xe6a48b27	ide_get_best_pio_mode	vmlinux	EXPORT_SYMBOL_GPL
+0xc1dbd3ff	ipv6_chk_addr	net/ipv6/ipv6	EXPORT_SYMBOL
+0x389458cb	path_walk	vmlinux	EXPORT_SYMBOL
+0x409ce423	bio_phys_segments	vmlinux	EXPORT_SYMBOL
+0x6e296551	hpsb_set_hostinfo_key	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x101ab89b	scsi_device_resume	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf78f6363	sequencer_init	sound/oss/sound	EXPORT_SYMBOL
+0xcb980506	cxiSleep	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x01f9e5f7	EnableMmap	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x22942f47	invalidate_inode_pages2	vmlinux	EXPORT_SYMBOL_GPL
+0x7dc5d0b6	crypto_unregister_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xa120d33c	tty_unregister_ldisc	vmlinux	EXPORT_SYMBOL
+0xe58bbd3d	neigh_changeaddr	vmlinux	EXPORT_SYMBOL
+0x9504291c	b1_register_appl	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x2456e513	ir_decode_pulsedistance	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc4b43edf	snd_emux_register	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x79e59d92	ivtv_udma_unmap	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x8acff105	eeprom_93cx6_multiwrite	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x2099274a	pm_register	vmlinux	EXPORT_SYMBOL
+0xec84e458	kmem_cache_destroy	vmlinux	EXPORT_SYMBOL
+0x8879f8f0	dma_region_sync_for_cpu	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x0279cd89	ib_create_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x252ecf40	led_classdev_register	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0x9a497436	scsi_calculate_bounce_limit	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x0928f536	ipt_do_table	net/ipv4/netfilter/ip_tables	EXPORT_SYMBOL
+0xc84df378	snd_seq_dump_var_event	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x16836e04	speedstep_detect_processor	arch/i386/kernel/cpu/cpufreq/speedstep-lib	EXPORT_SYMBOL_GPL
+0xf0a16657	FsmNew	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x27d8e8db	usb_release_bandwidth	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xceca2e92	usb_serial_disconnect	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x22f06986	xt_find_target	net/netfilter/x_tables	EXPORT_SYMBOL
+0x21298cf9	snd_opl4_write_memory	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0xfb561fcc	complete_all	vmlinux	EXPORT_SYMBOL
+0xef79ac56	__release_region	vmlinux	EXPORT_SYMBOL
+0x757a86b9	dget_locked	vmlinux	EXPORT_SYMBOL
+0x8bc970d2	rpc_proc_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3712e340	tipc_portunreliable	net/tipc/tipc	EXPORT_SYMBOL
+0x7eda20cd	snd_hda_sequence_write	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xa0350991	_write_unlock_irq	vmlinux	EXPORT_SYMBOL
+0x291f9bed	bio_split_pool	vmlinux	EXPORT_SYMBOL
+0x8ea9d2e7	sock_enable_timestamp	vmlinux	EXPORT_SYMBOL
+0x1541a7e7	nla_validate	vmlinux	EXPORT_SYMBOL
+0xbcf2d2fb	bttv_read_gpio	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x7aec0738	snd_emu10k1_ptr_write	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0xd114c347	tsfsattr	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x82bccbfe	lookup_one_len_nd	vmlinux	EXPORT_SYMBOL
+0x9b56a361	inet_csk_clear_xmit_timers	vmlinux	EXPORT_SYMBOL
+0xe9479e2b	rdma_destroy_id	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xf82c9178	rdma_destroy_qp	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x8e96ecac	dst_error_bailout	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x01a7a2b4	mptscsih_slave_alloc	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xd5531f48	pccard_get_next_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x9fdea959	snd_pcm_hw_param_value	sound/core/snd-pcm	EXPORT_SYMBOL
+0x21dbd10c	cxiRegisterCleanup	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1eadc060	exit_fs	vmlinux	EXPORT_SYMBOL_GPL
+0xa7e4b292	default_llseek	vmlinux	EXPORT_SYMBOL
+0xf8f3a0fb	ata_ratelimit	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe4938711	agp_copy_info	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x12a6fa90	agp_free_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xe6c7514e	i2c_adapter_dev_release	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x55d4af76	fc_remote_port_rolechg	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x0a4678a0	nf_nat_follow_master	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x892093e0	midi_synth_controller	sound/oss/sound	EXPORT_SYMBOL
+0xe4868d9d	tcp_read_sock	vmlinux	EXPORT_SYMBOL
+0xb236caf9	dst_comm_init	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x03c60df4	cx8802_register_driver	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x3061c52d	snd_use_lock_sync_helper	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x92897e3d	default_idle	vmlinux	EXPORT_SYMBOL
+0xa834095d	bio_map_kern	vmlinux	EXPORT_SYMBOL
+0x815b5dd4	match_octal	vmlinux	EXPORT_SYMBOL
+0x2d48f907	ip_fragment	vmlinux	EXPORT_SYMBOL
+0xd79051bc	FsmInitTimer	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xd0a3e601	sirdev_put_instance	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xb0326609	sirdev_get_instance	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xfc31fe88	l2cap_load	net/bluetooth/l2cap	EXPORT_SYMBOL
+0xffff1ec4	dccp_li_hist_calc_i_mean	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x5c4891bb	rpc_peeraddr	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x9e64fbfe	rtc_cmos_read	vmlinux	EXPORT_SYMBOL
+0xb3a307c6	si_meminfo	vmlinux	EXPORT_SYMBOL
+0x284b3f2a	poll_freewait	vmlinux	EXPORT_SYMBOL
+0xd11aa2c7	i2c_smbus_write_byte	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x40188e5f	scsi_register_driver	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe431de52	xt_register_targets	net/netfilter/x_tables	EXPORT_SYMBOL
+0xf8aae679	snd_gus_create	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x1879bc88	get_fs_type	vmlinux	EXPORT_SYMBOL
+0x7183baee	snd_timer_pause	sound/core/snd-timer	EXPORT_SYMBOL
+0x3a663e76	dquot_acquire	vmlinux	EXPORT_SYMBOL
+0xfc32cc09	qlogicfas408_disable_ints	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xf4aa135b	nf_nat_seq_adjust	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x49ef689d	nf_nat_pptp_hook_outbound	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x751d9081	snd_trident_free_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x67955ce6	profile_hits	vmlinux	EXPORT_SYMBOL_GPL
+0xc329096e	call_rcu_bh	vmlinux	EXPORT_SYMBOL_GPL
+0xd2baf45c	__ide_dma_off_quietly	vmlinux	EXPORT_SYMBOL
+0x9ffc8215	isdnhdlc_out_init	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0xc3345a61	mpt_send_handshake_request	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x2fbe645b	scsi_host_set_state	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x220e6400	bio_copy_user	vmlinux	EXPORT_SYMBOL
+0x45fa2786	blk_start_queue	vmlinux	EXPORT_SYMBOL
+0x08136438	hpsb_destroy_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9ad5e2c4	genphy_config_aneg	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x31aed23e	journal_check_used_features	fs/jbd/jbd	EXPORT_SYMBOL
+0x8e524354	nat_t120_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x3976041f	tipc_set_portimportance	net/tipc/tipc	EXPORT_SYMBOL
+0xcd083b10	unregister_sound_dsp	sound/soundcore	EXPORT_SYMBOL
+0xe7cd4558	spk_serial_release	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xb7175fa4	cxiMmapReleasePage	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1e5e42b7	terminate__Fv	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd78ad694	vmap	vmlinux	EXPORT_SYMBOL
+0x8d2aba13	deactivate_super	vmlinux	EXPORT_SYMBOL
+0x1ba9a4e5	generic_removexattr	vmlinux	EXPORT_SYMBOL
+0x89608ec4	crypto_km_types	vmlinux	EXPORT_SYMBOL_GPL
+0x7028c3a3	sas_slave_destroy	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x98edef1f	hci_send_acl	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xaa7bd9f4	arpt_unregister_table	net/ipv4/netfilter/arp_tables	EXPORT_SYMBOL
+0x01915d9e	alloc_irdadev	net/irda/irda	EXPORT_SYMBOL
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfslinux.map
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfslinux.map	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfslinux.map	(revision 16)
@@ -0,0 +1,1433 @@
+
+Memory Configuration
+
+Name             Origin             Length             Attributes
+*default*        0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+LOAD mmfslinux.tmp
+LOAD mmfslinux.mod.o
+LOAD /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/libgcc.a
+
+.interp
+ *(.interp)
+
+.hash
+ *(.hash)
+
+.gnu.hash
+ *(.gnu.hash)
+
+.dynsym
+ *(.dynsym)
+
+.dynstr
+ *(.dynstr)
+
+.gnu.version
+ *(.gnu.version)
+
+.gnu.version_d
+ *(.gnu.version_d)
+
+.gnu.version_r
+ *(.gnu.version_r)
+
+.rel.init
+ *(.rel.init)
+
+.rela.init
+ *(.rela.init)
+
+.rel.text
+ *(.rel.text)
+
+.rela.text
+ *(.rela.text)
+
+.rel.fini
+ *(.rel.fini)
+
+.rela.fini
+ *(.rela.fini)
+
+.rel.rodata
+ *(.rel.rodata)
+
+.rela.rodata
+ *(.rela.rodata)
+
+.rel.data.rel.ro
+ *(.rel.data.rel.ro)
+
+.rela.data.rel.ro
+ *(.rela.data.rel.ro)
+
+.rel.data
+ *(.rel.data)
+
+.rela.data
+ *(.rela.data)
+
+.rel.tdata
+ *(.rel.tdata)
+
+.rela.tdata
+ *(.rela.tdata)
+
+.rel.tbss
+ *(.rel.tbss)
+
+.rela.tbss
+ *(.rela.tbss)
+
+.rel.ctors
+ *(.rel.ctors)
+
+.rela.ctors
+ *(.rela.ctors)
+
+.rel.dtors
+ *(.rel.dtors)
+
+.rela.dtors
+ *(.rela.dtors)
+
+.rel.got
+ *(.rel.got)
+
+.rela.got
+ *(.rela.got)
+
+.rel.bss
+ *(.rel.bss)
+
+.rela.bss
+ *(.rela.bss)
+
+.rel.plt
+ *(.rel.plt)
+
+.rela.plt
+ *(.rela.plt)
+
+.init
+ *(.init)
+
+.plt
+ *(.plt)
+
+.text           0x0000000000000000     0xcda8
+ *(.text .stub)
+ .text          0x0000000000000000     0xcda8 mmfslinux.tmp
+                0x0000000000008470                gpfs_f_lock
+                0x0000000000005c30                gpfs_i_mknod
+                0x0000000000004440                cxiSetMountInfo
+                0x0000000000009ea0                cxiWaitForBreak
+                0x000000000000c3a0                gpfs_get_posix_acl
+                0x0000000000009100                cxiSendSigThread
+                0x0000000000006150                gpfs_i_follow_link
+                0x0000000000007ab0                gpfs_f_ioctl
+                0x0000000000009fa0                cxiHoldsBKL
+                0x0000000000006360                gpfs_i_permission
+                0x000000000000bc30                gpfs_clean
+                0x000000000000b960                gpfs_void_op
+                0x0000000000009ff0                cxiFillDir
+                0x000000000000c720                __divdi3
+                0x000000000000a520                cxiGetUserEnvironment
+                0x0000000000004b00                gpfs_get_dentry
+                0x0000000000002f50                CleanUpSharedMemory
+                0x0000000000000530                kxPoll
+                0x0000000000003260                ss_vm_close
+                0x0000000000009f90                cxiGetKernelBoundary
+                0x00000000000033c0                gpfs_init_inodecache
+                0x0000000000009160                cxiFcntlLock
+                0x000000000000a380                cxiInitVFS
+                0x000000000000c1f0                gpfs_set_posix_acl
+                0x000000000000c6c0                __wrap___moddi3
+                0x000000000000a140                cxiStopDMS
+                0x0000000000007bd0                gpfs_filemap_close
+                0x000000000000aed0                cxiKZero
+                0x0000000000009c40                socket_aio_dequeue
+                0x0000000000009570                cxiSleep
+                0x0000000000002300                gpfs_proc_export_term
+                0x0000000000009850                cxiPanic
+                0x000000000000b0e0                cxiMapContiguousRO
+                0x000000000000a1f0                cxiRegisterCleanup
+                0x000000000000bcf0                cxiCheckProductVersion
+                0x0000000000001a10                VM_Detach
+                0x0000000000002390                ss_fs_read
+                0x0000000000001040                kxMadvise
+                0x00000000000062d0                gpfs_i_put_link
+                0x0000000000009fe0                cxiYield
+                0x000000000000c660                __wrap___divdi3
+                0x0000000000009c10                cxiSafeGetInt
+                0x000000000000be80                cxiMountedOverVfsType
+                0x0000000000007ad0                gpfs_filemap_open
+                0x0000000000000780                tsfstat
+                0x0000000000009010                getpid
+                0x0000000000009350                cxiGetPrivVfsP
+                0x0000000000009a80                cxiWaitEventHasWaiters
+                0x000000000000b070                cxiUnmapDiscontiguousRW
+                0x0000000000002be0                cxiRecordSharedMemory
+                0x0000000000002810                InitSharedMemory
+                0x000000000000aaf0                cxiAttachIOBuffer
+                0x0000000000002e60                cxiDetachSharedMemory
+                0x0000000000005ac0                gpfs_i_rmdir
+                0x0000000000002110                gpfs_i_writepage
+                0x000000000000c6f0                __wrap___umoddi3
+                0x000000000000bf60                ACL_2_posix_acl
+                0x00000000000042e0                kill_mmfsd
+                0x000000000000b9a0                reset_gpfs_operations
+                0x0000000000009ba0                cxiCopyInstr
+                0x00000000000043f0                fork_mount_helper
+                0x0000000000006340                gpfs_i_truncate
+                0x000000000000bec0                cxiGetMountedOverOSNode
+                0x00000000000097f0                cxiStopKProc
+                0x0000000000001a20                IoDone
+                0x0000000000000380                gpfs_d_revalidate
+                0x000000000000a3b0                cxiPathToVfsP
+                0x0000000000005fe0                gpfs_i_readlink
+                0x00000000000022c0                gpfs_proc_export_init
+                0x0000000000008ee0                gpfs_f_direct_IO
+                0x00000000000041e0                gpfs_reg_fs
+                0x0000000000005400                gpfs_i_link
+                0x0000000000001bc0                cxiMmapGetPage
+                0x0000000000008ec0                gpfs_f_cleanup
+                0x0000000000004e00                printInode
+                0x0000000000009420                cxiTrace
+                0x000000000000a500                cxiGetUserEnvironmentSize
+                0x0000000000003590                gpfs_s_delete_inode
+                0x0000000000001c20                cxiMmapReleasePage
+                0x0000000000002db0                cxiAttachSharedMemory
+                0x000000000000a190                cxiInitDMS
+                0x0000000000007880                gpfs_f_readdir
+                0x0000000000002f60                kxCoreDump
+                0x000000000000cbf0                __umoddi3
+                0x0000000000009110                cxiMallocPinned
+                0x0000000000002360                ss_release
+                0x0000000000007810                NFS_fillDir
+                0x000000000000cac0                __udivdi3
+                0x0000000000009140                cxiGetFcntlOwner
+                0x0000000000004740                cxiReactivateOSNode
+                0x0000000000003d00                gpfs_fill_super
+                0x00000000000012b0                setSMBOplock
+                0x0000000000003410                gpfs_alloc_inode
+                0x0000000000003ad0                gpfs_s_remount
+                0x0000000000003230                ss_vm_open
+                0x000000000000b990                gpfs_nullptr_op
+                0x0000000000004da0                printSuperList
+                0x0000000000009fb0                cxiSetPageoutThread
+                0x0000000000009e50                cxiTermBreakQ
+                0x0000000000002ef0                TermSharedMemory
+                0x000000000000aa90                cxiKibdPinmm
+                0x0000000000003910                gpfs_s_umount_begin
+                0x0000000000009a70                cxiWaitEventInit
+                0x0000000000009730                cxiGetPvP
+                0x00000000000082f0                gpfs_f_fsync
+                0x00000000000099c0                logAssertFailed
+                0x0000000000004d60                printSuper
+                0x0000000000002c90                cxiFreeSharedMemory
+                0x0000000000000360                gpfs_d_invalid
+                0x00000000000019c0                getFilePos
+                0x00000000000045b0                cxiUnmount
+                0x00000000000018d0                cxiMmapRegister
+                0x00000000000030d0                kxMapPrivate
+                0x0000000000009670                cxiSetNFSCluster
+                0x0000000000003680                gpfs_s_put_super
+                0x0000000000003ca0                gpfs_get_sb
+                0x000000000000b8e0                cxiExportModuleStruct
+                0x0000000000008f60                VFSStatPoint_end
+                0x000000000000bf40                terminate(void)
+                0x000000000000a8f0                KibdModuleTerm
+                0x000000000000a830                KibdModuleInit
+                0x00000000000018a0                mmapKill
+                0x000000000000ab40                cxiDetachIOBuffer
+                0x0000000000007a90                gpfs_f_poll
+                0x00000000000069c0                gpfs_i_getattr
+                0x000000000000a370                cxiAuditWrite
+                0x000000000000a550                cxiCheckThreadState
+                0x0000000000007ce0                gpfs_f_mmap
+                0x0000000000004e80                printDentry
+                0x000000000000b8f0                cxiIncModuleCounter
+                0x0000000000000bc0                tsfsattr
+                0x00000000000097b0                cxiStartKProc
+                0x000000000000a1a0                cxiShutdownDMS
+                0x0000000000004290                gpfs_unreg_fs
+                0x0000000000008f30                VFSStatPoint_begin
+                0x000000000000a940                cxiKibdPin
+                0x0000000000008c80                gpfs_f_writev
+                0x00000000000024d0                ss_fs_ioctl
+                0x0000000000002260                exp_procfs_version
+                0x0000000000006320                gpfs_i_bmap
+                0x0000000000009060                cxiPutCred
+                0x0000000000004390                exec_mmfs
+                0x0000000000009430                cxiFlockToVFS
+                0x0000000000002450                ss_fs_write
+                0x000000000000a3a0                cxiPathRel
+                0x0000000000003b80                gpfs_s_write_super
+                0x0000000000002790                ss_init
+                0x000000000000adb0                cxiKXfer
+                0x000000000000a4f0                cxiSetCred
+                0x0000000000000dc0                kxGetACL
+                0x0000000000006ee0                gpfs_i_setxattr
+                0x0000000000009c00                cxiSafeGetLong
+                0x0000000000009e60                cxiSendBreakMsg
+                0x00000000000028c0                cxiCalcMaxSharedSegment
+                0x0000000000003740                gpfs_s_statfs
+                0x0000000000003560                gpfs_s_read_inode
+                0x0000000000009130                cxiFreePinned
+                0x000000000000b980                gpfs_zero_op
+                0x000000000000b250                cxiStartIO
+                0x00000000000049e0                gpfs_get_dparent
+                0x00000000000081c0                gpfs_f_release
+                0x0000000000001a00                VM_Attach
+                0x000000000000b880                cxiKDoIO
+                0x0000000000003440                gpfs_destroy_inode
+                0x000000000000be70                cxiReleaseFile
+                0x000000000000bed0                cxiGetRootInode
+                0x0000000000007400                gpfs_i_removexattr
+                0x00000000000051d0                gpfs_i_lookup
+                0x0000000000009c50                cxiUiomove
+                0x00000000000085e0                gpfs_f_read
+                0x000000000000c570                kxSaveThreadInfo
+                0x0000000000006600                gpfs_i_setattr
+                0x00000000000002a0                cxiInvalidateNegDCacheEntry
+                0x000000000000bc50                gpfs_init
+                0x0000000000006480                gpfs_i_smap
+                0x00000000000013a0                kxGetShare
+                0x000000000000b680                GetDiskInfoX
+                0x00000000000095c0                cxiOpenNFS
+                0x0000000000009720                cxiGetCnP
+                0x00000000000044c0                vfsUserCleanup
+                0x0000000000000910                tsfattr
+                0x00000000000001d0                cxiDropInvalidDCacheEntry
+                0x0000000000009c20                cxiSafePutLong
+                0x00000000000011f0                setSMBOpenLockControl
+                0x00000000000016e0                kxUMount
+                0x0000000000001050                kxGetThreadID
+                0x0000000000007f50                gpfs_f_open
+                0x0000000000001ae0                cxiMmapFlush
+                0x0000000000001990                cxiMmapUnregister
+                0x0000000000003af0                gpfs_s_write_inode
+                0x000000000000c120                posix_acl_2_ACL
+                0x000000000000a9d0                cxiKibdUnpin
+                0x0000000000001f30                gpfs_i_readpage
+                0x000000000000a090                cxiStartDMS
+                0x0000000000002490                kxNoOp
+                0x0000000000007750                gpfs_f_llseek
+                0x0000000000008820                gpfs_f_write
+                0x0000000000009b30                cxiCopyOut
+                0x0000000000009fd0                cxiClearPageoutThread
+                0x00000000000090a0                cxiThreadPtrToThreadId
+                0x000000000000ac90                cxiXmemXfer
+                0x00000000000005d0                tsstat
+                0x000000000000bd80                cxiCheckSiteMcrVersion
+                0x0000000000002c50                cxiInitPtrSwizzling
+                0x000000000000abb0                cxiUXfer
+                0x0000000000003b10                gpfs_s_clear_inode
+                0x000000000000aa10                cxiKibdUnpinAll
+                0x00000000000094c0                cxiVFSToFlock
+                0x0000000000004800                cxiNewOSNode
+                0x0000000000005750                gpfs_i_symlink
+                0x00000000000090d0                cxiGetMaxFileSize
+                0x0000000000005900                gpfs_i_mkdir
+                0x00000000000064a0                gpfs_i_updatepage
+                0x0000000000008a50                gpfs_f_readv
+                0x00000000000090b0                cxiIsSuperUser
+                0x00000000000031c0                ss_fs_mmap
+                0x00000000000018c0                EnableMmap
+                0x0000000000005590                gpfs_i_unlink
+                0x0000000000009080                cxiStackAddrToThreadId
+                0x0000000000007230                gpfs_i_listxattr
+                0x00000000000000e0                cxiInvalidateDCacheEntry
+                0x000000000000b970                gpfs_enosys_op
+                0x0000000000004bb0                gpfs_decode_fh
+                0x00000000000064c0                gpfs_i_revalidate
+                0x0000000000009c30                cxiSafePutInt
+                0x00000000000034a0                gpfs_s_read_inode2
+                0x000000000000be20                cxiGetFileAndVp
+                0x000000000000a1e0                cxiTestBit
+                0x0000000000009000                cxiGetThreadId
+                0x0000000000002a20                cxiAllocSharedMemory
+                0x0000000000009020                cxiGetCred
+                0x000000000000a1d0                cxiClearBit
+                0x0000000000001c60                gpfs_filemap_nopage
+                0x000000000000aae0                cxiKibdUnpinmm
+                0x0000000000002320                ss_open
+                0x000000000000c8b0                __moddi3
+                0x000000000000a1c0                cxiSetBit
+                0x0000000000009740                cxiGNPtoVP
+                0x0000000000001ee0                gpfs_filemap_nopagedone
+                0x0000000000001060                kxQuotactl
+                0x0000000000008800                gpfs_f_dir_read
+                0x0000000000005e00                gpfs_i_rename
+                0x000000000000afb0                cxiMapDiscontiguousRW
+                0x0000000000000f00                kxPutACL
+                0x0000000000004f20                gpfs_i_create
+                0x0000000000000010                cxiPruneDCacheEntry
+                0x0000000000000c50                tsattr
+                0x0000000000009710                cxiSetNfsP
+                0x000000000000c690                __wrap___udivdi3
+                0x0000000000003470                gpfs_destroy_inodecache
+                0x0000000000008340                gpfs_f_fasync
+                0x0000000000003270                ss_vm_nopage
+                0x000000000000a390                cxiGetKernelStackSize
+                0x00000000000096f0                cxiGetNfsP
+                0x0000000000006670                gpfs_i_setattr_internal
+                0x0000000000006a60                gpfs_i_getattr_internal
+                0x0000000000009ac0                cxiCopyIn
+                0x0000000000004cc0                gpfs_encode_fh
+                0x0000000000003630                gpfs_s_notify_change
+                0x000000000000be10                cxiIsReadOnlyMnt
+                0x00000000000015a0                kxGetDelegation
+                0x0000000000006b40                gpfs_i_getxattr
+                0x0000000000009e40                cxiInitBreakQ
+                0x0000000000009600                cxiCloseNFS
+                0x000000000000a540                cxiHasMountHelper
+                0x0000000000009680                cxiNFSError
+                0x0000000000001ac0                getVp
+ .text          0x000000000000cda8        0x0 mmfslinux.mod.o
+ *(.text.*personality*)
+ *(.gnu.warning)
+
+.text.trace     0x0000000000000000     0x5c71
+ .text.trace    0x0000000000000000     0x5c71 mmfslinux.tmp
+                0x0000000000004570                cxiFcntlReset
+                0x0000000000001af0                cxiDeleteMmap
+                0x0000000000004be0                cxiBlockingMutexHeldByCaller
+                0x0000000000004910                cxiIsKupdateThread
+                0x0000000000001b30                cxiReinitOSNode
+                0x0000000000002220                cxiCanUncacheOSNode
+                0x00000000000048f0                cxiIsLockdThread
+                0x0000000000004880                cxiGetTOD
+                0x00000000000048b0                cxiIsNFSThread
+                0x0000000000005150                cxiCheckOpen
+                0x0000000000001de0                cxiInactiveOSNode
+                0x0000000000004870                cxiCheckTypes
+                0x00000000000022c0                cxiAddOSNode
+                0x0000000000004b90                cxiBlockingMutexTerm
+                0x0000000000002dd0                cxiInvalidatePerm
+                0x00000000000050a0                cxiWaitEventBroadcastRC
+                0x00000000000049b0                cxiIsGPFSThread
+                0x0000000000001bb0                cxiDumpOSNode
+                0x0000000000005140                cxiBigFree
+                0x0000000000004b10                cxiBlockingMutexRelease
+                0x0000000000004900                cxiIsNFS4Thread
+                0x0000000000002ea0                setCred
+                0x0000000000005010                cxiWaitEventBroadcast
+                0x0000000000001ed0                cxiDestroyOSNode
+                0x0000000000002bc0                cxiSetOSNode
+                0x0000000000004a60                cxiBlockingMutexAcquire
+                0x0000000000002b50                setIopTable
+                0x0000000000001fb0                cxiUpdateInode
+                0x0000000000001ce0                cxiRefOsNode
+                0x0000000000005130                cxiBigMalloc
+                0x00000000000049e0                cxiIsKswapdThread
+                0x0000000000004cc0                cxiWaitEventWait
+                0x0000000000004920                cxiIsSambaOrLockdThread
+                0x0000000000004f60                cxiWaitEventWakeupOne
+                0x0000000000004980                cxiIsSambaThread
+                0x0000000000001e70                cxiPutOSNode
+                0x0000000000004c60                cxiBlockingMutexHasWaiters
+                0x0000000000005730                cxiUnmapContiguousRO
+                0x0000000000005210                cxiBreakOplock
+                0x0000000000004530                cxiFcntlUnblock
+                0x0000000000001cb0                cxiRefOSNode
+                0x0000000000002a80                printDentryTree
+                0x00000000000049f0                cxiBlockingMutexInit
+                0x0000000000001f30                cxiSetOSNodeType
+                0x0000000000001a40                cxiFreeOSNode
+                0x0000000000004ed0                cxiWaitEventSignal
+
+.text.far       0x0000000000000000       0xbf
+ .text.far      0x0000000000000000       0xbf mmfslinux.tmp
+
+.altinstr_replacement
+                0x0000000000000000       0x1e
+ .altinstr_replacement
+                0x0000000000000000       0x1e mmfslinux.tmp
+
+.fixup          0x0000000000000000       0x36
+ .fixup         0x0000000000000000       0x36 mmfslinux.tmp
+
+.init.text      0x0000000000000000       0x63
+ .init.text     0x0000000000000000       0x63 mmfslinux.tmp
+                0x0000000000000000                init_module
+
+.exit.text      0x0000000000000000        0xf
+ .exit.text     0x0000000000000000        0xf mmfslinux.tmp
+                0x0000000000000000                cleanup_module
+
+.fini
+ *(.fini)
+
+.rodata         0x0000000000000000      0x265
+ *(.rodata)
+ .rodata        0x0000000000000000      0x256 mmfslinux.tmp
+ .rodata        0x0000000000000256        0xf mmfslinux.mod.o
+
+.rodata.str1.1  0x0000000000000000      0x2a3
+ .rodata.str1.1
+                0x0000000000000000      0x2a3 mmfslinux.tmp
+
+.rodata.str1.32
+                0x0000000000000000      0x869
+ .rodata.str1.32
+                0x0000000000000000      0x869 mmfslinux.tmp
+
+.smp_locks      0x0000000000000000       0x4c
+ .smp_locks     0x0000000000000000       0x4c mmfslinux.tmp
+
+__param         0x0000000000000000       0x28
+ __param        0x0000000000000000       0x28 mmfslinux.tmp
+
+.modinfo        0x0000000000000000       0xe0
+ .modinfo       0x0000000000000000       0xa0 mmfslinux.tmp
+ .modinfo       0x00000000000000a0       0x40 mmfslinux.mod.o
+
+.altinstructions
+                0x0000000000000000       0x77
+ .altinstructions
+                0x0000000000000000       0x77 mmfslinux.tmp
+
+__bug_table     0x0000000000000000       0x24
+ __bug_table    0x0000000000000000       0x24 mmfslinux.tmp
+
+__ex_table      0x0000000000000000       0x30
+ __ex_table     0x0000000000000000       0x30 mmfslinux.tmp
+
+__kcrctab       0x0000000000000000      0x300
+ __kcrctab      0x0000000000000000      0x300 mmfslinux.tmp
+
+__ksymtab_strings
+                0x0000000000000000      0xb75
+ __ksymtab_strings
+                0x0000000000000000      0xb75 mmfslinux.tmp
+
+__ksymtab       0x0000000000000000      0x600
+ __ksymtab      0x0000000000000000      0x600 mmfslinux.tmp
+
+__versions      0x0000000000000000     0x23c0
+ __versions     0x0000000000000000     0x23c0 mmfslinux.mod.o
+
+.rodata1
+ *(.rodata1)
+
+.eh_frame_hdr
+ *(.eh_frame_hdr)
+
+.eh_frame       0x0000000000000000       0xe0
+ *(.eh_frame)
+ .eh_frame      0x0000000000000000       0xe0 mmfslinux.tmp
+
+.gcc_except_table
+ *(.gcc_except_table .gcc_except_table.*)
+
+.eh_frame
+ *(.eh_frame)
+
+.gcc_except_table
+ *(.gcc_except_table .gcc_except_table.*)
+
+.tdata
+ *(.tdata)
+
+.tbss
+ *(.tbss)
+
+.preinit_array
+ *(.preinit_array)
+
+.init_array
+ *(SORT(.init_array.*))
+ *(.init_array)
+
+.fini_array
+ *(.fini_array)
+ *(SORT(.fini_array.*))
+
+.jcr
+ *(.jcr)
+
+.dynamic
+ *(.dynamic)
+
+.got
+ *(.got)
+
+.got.plt
+ *(.got.plt)
+
+.data           0x0000000000000000      0xe5c
+ *(.data)
+ .data          0x0000000000000000      0xe5c mmfslinux.tmp
+                0x0000000000000100                mountCmd
+                0x0000000000000960                gpfs_sops
+                0x0000000000000ae0                gpfs_iops_xperm
+                0x0000000000000520                mmfs_path
+                0x00000000000009b4                gpfs_export_ops
+                0x0000000000000dcc                gpfs_dops_invalid
+                0x0000000000000004                progPath
+                0x0000000000000940                oplock_break_queue
+                0x0000000000000018                prog_path
+                0x0000000000000c00                gpfs_link_iops
+                0x0000000000000ce0                gpfs_fops_no_sendfile
+                0x0000000000000000                gpfs_banner
+                0x0000000000000c60                gpfs_fops
+                0x000000000000001c                mmfsdPath
+                0x0000000000000080                ss_fops
+                0x0000000000000e58                GPFS_CONFIG_SMP
+                0x0000000000000a00                gpfs_cleanup_fops
+                0x0000000000000e54                GPFS_CONFIG_HIGHMEM4G
+                0x0000000000000ba0                gpfs_dir_iops_xperm
+                0x0000000000000d60                gpfs_dir_fops
+                0x0000000000000030                mmfsd_path
+                0x0000000000000de4                gpfs_dops_revalidate
+                0x0000000000000a80                gpfs_iops_stdperm
+                0x0000000000000e00                gpfs_aops
+                0x0000000000000e3c                gpfs_vmop
+                0x00000000000009e0                gpfs_fs_type
+                0x0000000000000b40                gpfs_dir_iops_stdperm
+ .data          0x0000000000000e5c        0x0 mmfslinux.mod.o
+
+.gnu.linkonce.this_module
+                0x0000000000000000      0x600
+ .gnu.linkonce.this_module
+                0x0000000000000000      0x600 mmfslinux.mod.o
+                0x0000000000000000                __this_module
+
+.data1
+ *(.data1)
+
+.bss            0x0000000000000000     0x7b04
+ *(.dynbss)
+ *(.bss)
+ .bss           0x0000000000000000     0x7b04 mmfslinux.tmp
+                0x00000000000000d4                gpfs_dops_ddeletepending
+                0x0000000000000048                lm_operations
+                0x0000000000000d84                KibdLock
+                0x000000000000013c                errno
+                0x0000000000000240                ss_ioctl_op
+                0x000000000000094c                GPFSIoctlMajorNumber
+                0x0000000000000080                null_sops
+                0x0000000000000044                shutdownSuperP
+                0x0000000000000068                KibdGblHeadP
+                0x0000000000000950                ChunkListHead
+                0x0000000000000000                TraceFlagsP
+                0x0000000000000964                MaxTotalVMallocBytes
+                0x0000000000000960                FirstVMallocChunkP
+                0x000000000000096c                VMallocEnd
+                0x0000000000000968                VMallocStart
+                0x0000000000000064                KibdCacheP
+                0x0000000000000040                mmfsd_module_active
+                0x0000000000000d88                cxiWaitIONDelays
+                0x0000000000000100                gpfs_aops_after_inode_delete
+                0x0000000000000140                gpfs_ops
+                0x0000000000000440                vfsStats
+                0x000000000000095c                TotalVMallocBytes
+                0x0000000000000760                ioctl_count
+                0x0000000000000038                cleanupFD
+                0x0000000000000980                bin_path
+                0x000000000000003c                ChunkCacheP
+                0x0000000000000958                NVMallocChunks
+                0x0000000000000970                ChunkListLock
+                0x000000000000006c                BhcCacheP
+ .bss           0x0000000000007b04        0x0 mmfslinux.mod.o
+ *(COMMON)
+
+.stab
+ *(.stab)
+
+.stabstr
+ *(.stabstr)
+
+.stab.excl
+ *(.stab.excl)
+
+.stab.exclstr
+ *(.stab.exclstr)
+
+.stab.index
+ *(.stab.index)
+
+.stab.indexstr
+ *(.stab.indexstr)
+
+.comment        0x0000000000000000      0x168
+ *(.comment)
+ .comment       0x0000000000000000      0x13b mmfslinux.tmp
+ .comment       0x000000000000013b       0x2d mmfslinux.mod.o
+
+.debug
+ *(.debug)
+
+.line
+ *(.line)
+
+.debug_srcinfo
+ *(.debug_srcinfo)
+
+.debug_sfnames
+ *(.debug_sfnames)
+
+.debug_aranges
+ *(.debug_aranges)
+
+.debug_pubnames
+ *(.debug_pubnames)
+
+.debug_info
+ *(.debug_info)
+
+.debug_abbrev
+ *(.debug_abbrev)
+
+.debug_line
+ *(.debug_line)
+
+.debug_frame
+ *(.debug_frame)
+
+.debug_str
+ *(.debug_str)
+
+.debug_loc
+ *(.debug_loc)
+
+.debug_macinfo
+ *(.debug_macinfo)
+
+.debug_weaknames
+ *(.debug_weaknames)
+
+.debug_funcnames
+ *(.debug_funcnames)
+
+.debug_typenames
+ *(.debug_typenames)
+
+.debug_varnames
+ *(.debug_varnames)
+OUTPUT(mmfslinux elf32-i386)
+
+.note.GNU-stack
+                0x0000000000000000        0x0
+ .note.GNU-stack
+                0x0000000000000000        0x0 mmfslinux.tmp
+ .note.GNU-stack
+                0x0000000000000000        0x0 mmfslinux.mod.o
+
+Cross Reference Table
+
+Symbol                                            File
+ACL_2_posix_acl                                   mmfslinux.tmp
+BhcCacheP                                         mmfslinux.tmp
+ChunkCacheP                                       mmfslinux.tmp
+ChunkListHead                                     mmfslinux.tmp
+ChunkListLock                                     mmfslinux.tmp
+CleanUpSharedMemory                               mmfslinux.tmp
+EnableMmap                                        mmfslinux.tmp
+FirstVMallocChunkP                                mmfslinux.tmp
+GPFSIoctlMajorNumber                              mmfslinux.tmp
+GPFS_CONFIG_HIGHMEM4G                             mmfslinux.tmp
+GPFS_CONFIG_SMP                                   mmfslinux.tmp
+GetDiskInfoX                                      mmfslinux.tmp
+InitSharedMemory                                  mmfslinux.tmp
+IoDone                                            mmfslinux.tmp
+KibdCacheP                                        mmfslinux.tmp
+KibdGblHeadP                                      mmfslinux.tmp
+KibdLock                                          mmfslinux.tmp
+KibdModuleInit                                    mmfslinux.tmp
+KibdModuleTerm                                    mmfslinux.tmp
+MaxTotalVMallocBytes                              mmfslinux.tmp
+NFS_fillDir                                       mmfslinux.tmp
+NVMallocChunks                                    mmfslinux.tmp
+TermSharedMemory                                  mmfslinux.tmp
+TotalVMallocBytes                                 mmfslinux.tmp
+TraceFlagsP                                       mmfslinux.tmp
+VFSStatPoint_begin                                mmfslinux.tmp
+VFSStatPoint_end                                  mmfslinux.tmp
+VM_Attach                                         mmfslinux.tmp
+VM_Detach                                         mmfslinux.tmp
+VMallocEnd                                        mmfslinux.tmp
+VMallocStart                                      mmfslinux.tmp
+_STrace                                           mmfslinux.tmp
+_STraceNB                                         mmfslinux.tmp
+_XTrace                                           mmfslinux.tmp
+_XTraceNB                                         mmfslinux.tmp
+__FIXADDR_TOP                                     mmfslinux.tmp
+__break_lease                                     mmfslinux.tmp
+__copy_from_user_ll                               mmfslinux.tmp
+__copy_to_user_ll                                 mmfslinux.tmp
+__crc_EnableMmap                                  mmfslinux.tmp
+__crc_GPFS_CONFIG_HIGHMEM4G                       mmfslinux.tmp
+__crc_GPFS_CONFIG_SMP                             mmfslinux.tmp
+__crc_GetDiskInfoX                                mmfslinux.tmp
+__crc_IoDone                                      mmfslinux.tmp
+__crc_TraceFlagsP                                 mmfslinux.tmp
+__crc_VFSStatPoint_begin                          mmfslinux.tmp
+__crc_VFSStatPoint_end                            mmfslinux.tmp
+__crc_VM_Attach                                   mmfslinux.tmp
+__crc_VM_Detach                                   mmfslinux.tmp
+__crc_cxiAddOSNode                                mmfslinux.tmp
+__crc_cxiAlarmWrite                               mmfslinux.tmp
+__crc_cxiAllocSharedMemory                        mmfslinux.tmp
+__crc_cxiAttachIOBuffer                           mmfslinux.tmp
+__crc_cxiAttachSharedMemory                       mmfslinux.tmp
+__crc_cxiAuditWrite                               mmfslinux.tmp
+__crc_cxiBigFree                                  mmfslinux.tmp
+__crc_cxiBigMalloc                                mmfslinux.tmp
+__crc_cxiBlockingMutexAcquire                     mmfslinux.tmp
+__crc_cxiBlockingMutexHasWaiters                  mmfslinux.tmp
+__crc_cxiBlockingMutexHeldByCaller                mmfslinux.tmp
+__crc_cxiBlockingMutexInit                        mmfslinux.tmp
+__crc_cxiBlockingMutexRelease                     mmfslinux.tmp
+__crc_cxiBlockingMutexTerm                        mmfslinux.tmp
+__crc_cxiBreakOplock                              mmfslinux.tmp
+__crc_cxiCalcMaxSharedSegment                     mmfslinux.tmp
+__crc_cxiCanUncacheOSNode                         mmfslinux.tmp
+__crc_cxiCheckOpen                                mmfslinux.tmp
+__crc_cxiCheckProductVersion                      mmfslinux.tmp
+__crc_cxiCheckSiteMcrVersion                      mmfslinux.tmp
+__crc_cxiCheckThreadState                         mmfslinux.tmp
+__crc_cxiCheckTypes                               mmfslinux.tmp
+__crc_cxiClearBit                                 mmfslinux.tmp
+__crc_cxiClearPageoutThread                       mmfslinux.tmp
+__crc_cxiCloseNFS                                 mmfslinux.tmp
+__crc_cxiCopyIn                                   mmfslinux.tmp
+__crc_cxiCopyInstr                                mmfslinux.tmp
+__crc_cxiCopyOut                                  mmfslinux.tmp
+__crc_cxiDeleteMmap                               mmfslinux.tmp
+__crc_cxiDestroyOSNode                            mmfslinux.tmp
+__crc_cxiDetachIOBuffer                           mmfslinux.tmp
+__crc_cxiDetachSharedMemory                       mmfslinux.tmp
+__crc_cxiDumpOSNode                               mmfslinux.tmp
+__crc_cxiExportModuleStruct                       mmfslinux.tmp
+__crc_cxiFcntlLock                                mmfslinux.tmp
+__crc_cxiFcntlReset                               mmfslinux.tmp
+__crc_cxiFcntlUnblock                             mmfslinux.tmp
+__crc_cxiFlockToVFS                               mmfslinux.tmp
+__crc_cxiFreeOSNode                               mmfslinux.tmp
+__crc_cxiFreePinned                               mmfslinux.tmp
+__crc_cxiFreeSharedMemory                         mmfslinux.tmp
+__crc_cxiGNPtoVP                                  mmfslinux.tmp
+__crc_cxiGetCnP                                   mmfslinux.tmp
+__crc_cxiGetCred                                  mmfslinux.tmp
+__crc_cxiGetFcntlOwner                            mmfslinux.tmp
+__crc_cxiGetFileAndVp                             mmfslinux.tmp
+__crc_cxiGetKernelBoundary                        mmfslinux.tmp
+__crc_cxiGetKernelStackSize                       mmfslinux.tmp
+__crc_cxiGetMaxFileSize                           mmfslinux.tmp
+__crc_cxiGetMountedOverOSNode                     mmfslinux.tmp
+__crc_cxiGetNfsP                                  mmfslinux.tmp
+__crc_cxiGetPrivVfsP                              mmfslinux.tmp
+__crc_cxiGetPvP                                   mmfslinux.tmp
+__crc_cxiGetRootInode                             mmfslinux.tmp
+__crc_cxiGetTOD                                   mmfslinux.tmp
+__crc_cxiGetThreadId                              mmfslinux.tmp
+__crc_cxiGetUserEnvironment                       mmfslinux.tmp
+__crc_cxiGetUserEnvironmentSize                   mmfslinux.tmp
+__crc_cxiHasMountHelper                           mmfslinux.tmp
+__crc_cxiHoldsBKL                                 mmfslinux.tmp
+__crc_cxiInactiveOSNode                           mmfslinux.tmp
+__crc_cxiIncModuleCounter                         mmfslinux.tmp
+__crc_cxiInitBreakQ                               mmfslinux.tmp
+__crc_cxiInitDMS                                  mmfslinux.tmp
+__crc_cxiInitPtrSwizzling                         mmfslinux.tmp
+__crc_cxiInitVFS                                  mmfslinux.tmp
+__crc_cxiInvalidateDCacheEntry                    mmfslinux.tmp
+__crc_cxiInvalidateNegDCacheEntry                 mmfslinux.tmp
+__crc_cxiInvalidatePerm                           mmfslinux.tmp
+__crc_cxiIsGPFSThread                             mmfslinux.tmp
+__crc_cxiIsKswapdThread                           mmfslinux.tmp
+__crc_cxiIsKupdateThread                          mmfslinux.tmp
+__crc_cxiIsLockdThread                            mmfslinux.tmp
+__crc_cxiIsNFS4Thread                             mmfslinux.tmp
+__crc_cxiIsNFSThread                              mmfslinux.tmp
+__crc_cxiIsReadOnlyMnt                            mmfslinux.tmp
+__crc_cxiIsSambaOrLockdThread                     mmfslinux.tmp
+__crc_cxiIsSambaThread                            mmfslinux.tmp
+__crc_cxiIsSuperUser                              mmfslinux.tmp
+__crc_cxiKDoIO                                    mmfslinux.tmp
+__crc_cxiKXfer                                    mmfslinux.tmp
+__crc_cxiKZero                                    mmfslinux.tmp
+__crc_cxiKibdPin                                  mmfslinux.tmp
+__crc_cxiKibdPinmm                                mmfslinux.tmp
+__crc_cxiKibdUnpin                                mmfslinux.tmp
+__crc_cxiKibdUnpinAll                             mmfslinux.tmp
+__crc_cxiKibdUnpinmm                              mmfslinux.tmp
+__crc_cxiMallocPinned                             mmfslinux.tmp
+__crc_cxiMapContiguousRO                          mmfslinux.tmp
+__crc_cxiMapDiscontiguousRW                       mmfslinux.tmp
+__crc_cxiMmapFlush                                mmfslinux.tmp
+__crc_cxiMmapGetPage                              mmfslinux.tmp
+__crc_cxiMmapRegister                             mmfslinux.tmp
+__crc_cxiMmapReleasePage                          mmfslinux.tmp
+__crc_cxiMmapUnregister                           mmfslinux.tmp
+__crc_cxiMountedOverVfsType                       mmfslinux.tmp
+__crc_cxiNewOSNode                                mmfslinux.tmp
+__crc_cxiOpenNFS                                  mmfslinux.tmp
+__crc_cxiPanic                                    mmfslinux.tmp
+__crc_cxiPathRel                                  mmfslinux.tmp
+__crc_cxiPathToVfsP                               mmfslinux.tmp
+__crc_cxiPruneDCacheEntry                         mmfslinux.tmp
+__crc_cxiPutCred                                  mmfslinux.tmp
+__crc_cxiPutOSNode                                mmfslinux.tmp
+__crc_cxiReactivateOSNode                         mmfslinux.tmp
+__crc_cxiRecordSharedMemory                       mmfslinux.tmp
+__crc_cxiRefOSNode                                mmfslinux.tmp
+__crc_cxiRefOsNode                                mmfslinux.tmp
+__crc_cxiRegisterCleanup                          mmfslinux.tmp
+__crc_cxiReinitOSNode                             mmfslinux.tmp
+__crc_cxiReleaseFile                              mmfslinux.tmp
+__crc_cxiSafeGetInt                               mmfslinux.tmp
+__crc_cxiSafeGetLong                              mmfslinux.tmp
+__crc_cxiSafePutInt                               mmfslinux.tmp
+__crc_cxiSafePutLong                              mmfslinux.tmp
+__crc_cxiSendBreakMsg                             mmfslinux.tmp
+__crc_cxiSendSigThread                            mmfslinux.tmp
+__crc_cxiSetBit                                   mmfslinux.tmp
+__crc_cxiSetCred                                  mmfslinux.tmp
+__crc_cxiSetMountInfo                             mmfslinux.tmp
+__crc_cxiSetNFSCluster                            mmfslinux.tmp
+__crc_cxiSetNfsP                                  mmfslinux.tmp
+__crc_cxiSetOSNode                                mmfslinux.tmp
+__crc_cxiSetOSNodeType                            mmfslinux.tmp
+__crc_cxiSetPageoutThread                         mmfslinux.tmp
+__crc_cxiShutdownDMS                              mmfslinux.tmp
+__crc_cxiSleep                                    mmfslinux.tmp
+__crc_cxiStackAddrToThreadId                      mmfslinux.tmp
+__crc_cxiStartDMS                                 mmfslinux.tmp
+__crc_cxiStartKProc                               mmfslinux.tmp
+__crc_cxiStopDMS                                  mmfslinux.tmp
+__crc_cxiStopKProc                                mmfslinux.tmp
+__crc_cxiTermBreakQ                               mmfslinux.tmp
+__crc_cxiTestBit                                  mmfslinux.tmp
+__crc_cxiThreadPtrToThreadId                      mmfslinux.tmp
+__crc_cxiTrace                                    mmfslinux.tmp
+__crc_cxiUXfer                                    mmfslinux.tmp
+__crc_cxiUiomove                                  mmfslinux.tmp
+__crc_cxiUnmapContiguousRO                        mmfslinux.tmp
+__crc_cxiUnmapDiscontiguousRW                     mmfslinux.tmp
+__crc_cxiUnmount                                  mmfslinux.tmp
+__crc_cxiUpdateInode                              mmfslinux.tmp
+__crc_cxiVFSToFlock                               mmfslinux.tmp
+__crc_cxiWaitEventBroadcast                       mmfslinux.tmp
+__crc_cxiWaitEventBroadcastRC                     mmfslinux.tmp
+__crc_cxiWaitEventHasWaiters                      mmfslinux.tmp
+__crc_cxiWaitEventInit                            mmfslinux.tmp
+__crc_cxiWaitEventSignal                          mmfslinux.tmp
+__crc_cxiWaitEventWait                            mmfslinux.tmp
+__crc_cxiWaitEventWakeupOne                       mmfslinux.tmp
+__crc_cxiWaitForBreak                             mmfslinux.tmp
+__crc_cxiXmemXfer                                 mmfslinux.tmp
+__crc_cxiYield                                    mmfslinux.tmp
+__crc_errno                                       mmfslinux.tmp
+__crc_getFilePos                                  mmfslinux.tmp
+__crc_getVp                                       mmfslinux.tmp
+__crc_getpid                                      mmfslinux.tmp
+__crc_gpfs_clean                                  mmfslinux.tmp
+__crc_gpfs_init                                   mmfslinux.tmp
+__crc_gpfs_ops                                    mmfslinux.tmp
+__crc_kxGetACL                                    mmfslinux.tmp
+__crc_kxGetDelegation                             mmfslinux.tmp
+__crc_kxGetShare                                  mmfslinux.tmp
+__crc_kxGetThreadID                               mmfslinux.tmp
+__crc_kxMadvise                                   mmfslinux.tmp
+__crc_kxPoll                                      mmfslinux.tmp
+__crc_kxPutACL                                    mmfslinux.tmp
+__crc_kxQuotactl                                  mmfslinux.tmp
+__crc_kxUMount                                    mmfslinux.tmp
+__crc_mmapKill                                    mmfslinux.tmp
+__crc_reset_gpfs_operations                       mmfslinux.tmp
+__crc_setSMBOpenLockControl                       mmfslinux.tmp
+__crc_setSMBOplock                                mmfslinux.tmp
+__crc_socket_aio_dequeue                          mmfslinux.tmp
+__crc_ss_ioctl_op                                 mmfslinux.tmp
+__crc_terminate(void)                             mmfslinux.tmp
+__crc_tsattr                                      mmfslinux.tmp
+__crc_tsfattr                                     mmfslinux.tmp
+__crc_tsfsattr                                    mmfslinux.tmp
+__crc_tsfstat                                     mmfslinux.tmp
+__crc_tsstat                                      mmfslinux.tmp
+__crc_vfsStats                                    mmfslinux.tmp
+__divdi3                                          mmfslinux.tmp
+__down_failed                                     mmfslinux.tmp
+__kmalloc                                         mmfslinux.tmp
+__mod_timer                                       mmfslinux.tmp
+__moddi3                                          mmfslinux.tmp
+__this_module                                     mmfslinux.mod.o
+                                                  mmfslinux.tmp
+__udivdi3                                         mmfslinux.tmp
+__umoddi3                                         mmfslinux.tmp
+__up_wakeup                                       mmfslinux.tmp
+__user_walk_fd                                    mmfslinux.tmp
+__wait_on_buffer                                  mmfslinux.tmp
+__wake_up                                         mmfslinux.tmp
+__wrap___divdi3                                   mmfslinux.tmp
+__wrap___moddi3                                   mmfslinux.tmp
+__wrap___udivdi3                                  mmfslinux.tmp
+__wrap___umoddi3                                  mmfslinux.tmp
+_spin_lock                                        mmfslinux.tmp
+_spin_lock_irqsave                                mmfslinux.tmp
+_spin_unlock_irqrestore                           mmfslinux.tmp
+add_wait_queue                                    mmfslinux.tmp
+autoremove_wake_function                          mmfslinux.tmp
+bdevname                                          mmfslinux.tmp
+bdget                                             mmfslinux.tmp
+bin_path                                          mmfslinux.tmp
+bio_alloc                                         mmfslinux.tmp
+bio_get_nr_vecs                                   mmfslinux.tmp
+bio_put                                           mmfslinux.tmp
+block_sync_page                                   mmfslinux.tmp
+call_usermodehelper_keys                          mmfslinux.tmp
+capable                                           mmfslinux.tmp
+cleanupFD                                         mmfslinux.tmp
+cleanup_module                                    mmfslinux.tmp
+                                                  mmfslinux.mod.o
+clear_inode                                       mmfslinux.tmp
+cond_resched                                      mmfslinux.tmp
+copy_from_user                                    mmfslinux.tmp
+copy_to_user                                      mmfslinux.tmp
+create_proc_entry                                 mmfslinux.tmp
+current_kernel_time                               mmfslinux.tmp
+cxiAddOSNode                                      mmfslinux.tmp
+cxiAllocSharedMemory                              mmfslinux.tmp
+cxiAttachIOBuffer                                 mmfslinux.tmp
+cxiAttachSharedMemory                             mmfslinux.tmp
+cxiAuditWrite                                     mmfslinux.tmp
+cxiBigFree                                        mmfslinux.tmp
+cxiBigMalloc                                      mmfslinux.tmp
+cxiBlockingMutexAcquire                           mmfslinux.tmp
+cxiBlockingMutexHasWaiters                        mmfslinux.tmp
+cxiBlockingMutexHeldByCaller                      mmfslinux.tmp
+cxiBlockingMutexInit                              mmfslinux.tmp
+cxiBlockingMutexRelease                           mmfslinux.tmp
+cxiBlockingMutexTerm                              mmfslinux.tmp
+cxiBreakOplock                                    mmfslinux.tmp
+cxiCalcMaxSharedSegment                           mmfslinux.tmp
+cxiCanUncacheOSNode                               mmfslinux.tmp
+cxiCheckOpen                                      mmfslinux.tmp
+cxiCheckProductVersion                            mmfslinux.tmp
+cxiCheckSiteMcrVersion                            mmfslinux.tmp
+cxiCheckThreadState                               mmfslinux.tmp
+cxiCheckTypes                                     mmfslinux.tmp
+cxiClearBit                                       mmfslinux.tmp
+cxiClearPageoutThread                             mmfslinux.tmp
+cxiCloseNFS                                       mmfslinux.tmp
+cxiCopyIn                                         mmfslinux.tmp
+cxiCopyInstr                                      mmfslinux.tmp
+cxiCopyOut                                        mmfslinux.tmp
+cxiDeleteMmap                                     mmfslinux.tmp
+cxiDestroyOSNode                                  mmfslinux.tmp
+cxiDetachIOBuffer                                 mmfslinux.tmp
+cxiDetachSharedMemory                             mmfslinux.tmp
+cxiDropInvalidDCacheEntry                         mmfslinux.tmp
+cxiDumpOSNode                                     mmfslinux.tmp
+cxiExportModuleStruct                             mmfslinux.tmp
+cxiFcntlLock                                      mmfslinux.tmp
+cxiFcntlReset                                     mmfslinux.tmp
+cxiFcntlUnblock                                   mmfslinux.tmp
+cxiFillDir                                        mmfslinux.tmp
+cxiFlockToVFS                                     mmfslinux.tmp
+cxiFreeOSNode                                     mmfslinux.tmp
+cxiFreePinned                                     mmfslinux.tmp
+cxiFreeSharedMemory                               mmfslinux.tmp
+cxiGNPtoVP                                        mmfslinux.tmp
+cxiGetCnP                                         mmfslinux.tmp
+cxiGetCred                                        mmfslinux.tmp
+cxiGetFcntlOwner                                  mmfslinux.tmp
+cxiGetFileAndVp                                   mmfslinux.tmp
+cxiGetKernelBoundary                              mmfslinux.tmp
+cxiGetKernelStackSize                             mmfslinux.tmp
+cxiGetMaxFileSize                                 mmfslinux.tmp
+cxiGetMountedOverOSNode                           mmfslinux.tmp
+cxiGetNfsP                                        mmfslinux.tmp
+cxiGetPrivVfsP                                    mmfslinux.tmp
+cxiGetPvP                                         mmfslinux.tmp
+cxiGetRootInode                                   mmfslinux.tmp
+cxiGetTOD                                         mmfslinux.tmp
+cxiGetThreadId                                    mmfslinux.tmp
+cxiGetUserEnvironment                             mmfslinux.tmp
+cxiGetUserEnvironmentSize                         mmfslinux.tmp
+cxiHasMountHelper                                 mmfslinux.tmp
+cxiHoldsBKL                                       mmfslinux.tmp
+cxiInactiveOSNode                                 mmfslinux.tmp
+cxiIncModuleCounter                               mmfslinux.tmp
+cxiInitBreakQ                                     mmfslinux.tmp
+cxiInitDMS                                        mmfslinux.tmp
+cxiInitPtrSwizzling                               mmfslinux.tmp
+cxiInitVFS                                        mmfslinux.tmp
+cxiInvalidateDCacheEntry                          mmfslinux.tmp
+cxiInvalidateNegDCacheEntry                       mmfslinux.tmp
+cxiInvalidatePerm                                 mmfslinux.tmp
+cxiIsGPFSThread                                   mmfslinux.tmp
+cxiIsKswapdThread                                 mmfslinux.tmp
+cxiIsKupdateThread                                mmfslinux.tmp
+cxiIsLockdThread                                  mmfslinux.tmp
+cxiIsNFS4Thread                                   mmfslinux.tmp
+cxiIsNFSThread                                    mmfslinux.tmp
+cxiIsReadOnlyMnt                                  mmfslinux.tmp
+cxiIsSambaOrLockdThread                           mmfslinux.tmp
+cxiIsSambaThread                                  mmfslinux.tmp
+cxiIsSuperUser                                    mmfslinux.tmp
+cxiKDoIO                                          mmfslinux.tmp
+cxiKXfer                                          mmfslinux.tmp
+cxiKZero                                          mmfslinux.tmp
+cxiKibdPin                                        mmfslinux.tmp
+cxiKibdPinmm                                      mmfslinux.tmp
+cxiKibdUnpin                                      mmfslinux.tmp
+cxiKibdUnpinAll                                   mmfslinux.tmp
+cxiKibdUnpinmm                                    mmfslinux.tmp
+cxiMallocPinned                                   mmfslinux.tmp
+cxiMapContiguousRO                                mmfslinux.tmp
+cxiMapDiscontiguousRW                             mmfslinux.tmp
+cxiMmapFlush                                      mmfslinux.tmp
+cxiMmapGetPage                                    mmfslinux.tmp
+cxiMmapRegister                                   mmfslinux.tmp
+cxiMmapReleasePage                                mmfslinux.tmp
+cxiMmapUnregister                                 mmfslinux.tmp
+cxiMountedOverVfsType                             mmfslinux.tmp
+cxiNFSError                                       mmfslinux.tmp
+cxiNewOSNode                                      mmfslinux.tmp
+cxiOpenNFS                                        mmfslinux.tmp
+cxiPanic                                          mmfslinux.tmp
+cxiPathRel                                        mmfslinux.tmp
+cxiPathToVfsP                                     mmfslinux.tmp
+cxiPruneDCacheEntry                               mmfslinux.tmp
+cxiPutCred                                        mmfslinux.tmp
+cxiPutOSNode                                      mmfslinux.tmp
+cxiReactivateOSNode                               mmfslinux.tmp
+cxiRecordSharedMemory                             mmfslinux.tmp
+cxiRefOSNode                                      mmfslinux.tmp
+cxiRefOsNode                                      mmfslinux.tmp
+cxiRegisterCleanup                                mmfslinux.tmp
+cxiReinitOSNode                                   mmfslinux.tmp
+cxiReleaseFile                                    mmfslinux.tmp
+cxiSafeGetInt                                     mmfslinux.tmp
+cxiSafeGetLong                                    mmfslinux.tmp
+cxiSafePutInt                                     mmfslinux.tmp
+cxiSafePutLong                                    mmfslinux.tmp
+cxiSendBreakMsg                                   mmfslinux.tmp
+cxiSendSigThread                                  mmfslinux.tmp
+cxiSetBit                                         mmfslinux.tmp
+cxiSetCred                                        mmfslinux.tmp
+cxiSetMountInfo                                   mmfslinux.tmp
+cxiSetNFSCluster                                  mmfslinux.tmp
+cxiSetNfsP                                        mmfslinux.tmp
+cxiSetOSNode                                      mmfslinux.tmp
+cxiSetOSNodeType                                  mmfslinux.tmp
+cxiSetPageoutThread                               mmfslinux.tmp
+cxiShutdownDMS                                    mmfslinux.tmp
+cxiSleep                                          mmfslinux.tmp
+cxiStackAddrToThreadId                            mmfslinux.tmp
+cxiStartDMS                                       mmfslinux.tmp
+cxiStartIO                                        mmfslinux.tmp
+cxiStartKProc                                     mmfslinux.tmp
+cxiStopDMS                                        mmfslinux.tmp
+cxiStopKProc                                      mmfslinux.tmp
+cxiTermBreakQ                                     mmfslinux.tmp
+cxiTestBit                                        mmfslinux.tmp
+cxiThreadPtrToThreadId                            mmfslinux.tmp
+cxiTrace                                          mmfslinux.tmp
+cxiUXfer                                          mmfslinux.tmp
+cxiUiomove                                        mmfslinux.tmp
+cxiUnmapContiguousRO                              mmfslinux.tmp
+cxiUnmapDiscontiguousRW                           mmfslinux.tmp
+cxiUnmount                                        mmfslinux.tmp
+cxiUpdateInode                                    mmfslinux.tmp
+cxiVFSToFlock                                     mmfslinux.tmp
+cxiWaitEventBroadcast                             mmfslinux.tmp
+cxiWaitEventBroadcastRC                           mmfslinux.tmp
+cxiWaitEventHasWaiters                            mmfslinux.tmp
+cxiWaitEventInit                                  mmfslinux.tmp
+cxiWaitEventSignal                                mmfslinux.tmp
+cxiWaitEventWait                                  mmfslinux.tmp
+cxiWaitEventWakeupOne                             mmfslinux.tmp
+cxiWaitForBreak                                   mmfslinux.tmp
+cxiWaitIONDelays                                  mmfslinux.tmp
+cxiXmemXfer                                       mmfslinux.tmp
+cxiYield                                          mmfslinux.tmp
+d_alloc_anon                                      mmfslinux.tmp
+d_alloc_root                                      mmfslinux.tmp
+d_instantiate                                     mmfslinux.tmp
+d_prune_aliases                                   mmfslinux.tmp
+d_rehash                                          mmfslinux.tmp
+d_splice_alias                                    mmfslinux.tmp
+daemonize                                         mmfslinux.tmp
+dcache_lock                                       mmfslinux.tmp
+default_wake_function                             mmfslinux.tmp
+del_timer                                         mmfslinux.tmp
+dget_locked                                       mmfslinux.tmp
+do_mmap_pgoff                                     mmfslinux.tmp
+down_read                                         mmfslinux.tmp
+down_write                                        mmfslinux.tmp
+dput                                              mmfslinux.tmp
+end_page_writeback                                mmfslinux.tmp
+errno                                             mmfslinux.tmp
+exec_mmfs                                         mmfslinux.tmp
+exp_procfs_version                                mmfslinux.tmp
+fd_install                                        mmfslinux.tmp
+fget                                              mmfslinux.tmp
+filemap_fdatawait                                 mmfslinux.tmp
+filemap_fdatawrite                                mmfslinux.tmp
+filp_close                                        mmfslinux.tmp
+filp_open                                         mmfslinux.tmp
+find_get_page                                     mmfslinux.tmp
+find_or_create_page                               mmfslinux.tmp
+fork_mount_helper                                 mmfslinux.tmp
+fput                                              mmfslinux.tmp
+generic_file_sendfile                             mmfslinux.tmp
+generic_fillattr                                  mmfslinux.tmp
+generic_permission                                mmfslinux.tmp
+getFilePos                                        mmfslinux.tmp
+getVp                                             mmfslinux.tmp
+get_empty_filp                                    mmfslinux.tmp
+get_sb_nodev                                      mmfslinux.tmp
+get_unused_fd                                     mmfslinux.tmp
+get_user_pages                                    mmfslinux.tmp
+getpid                                            mmfslinux.tmp
+gpfs_alloc_inode                                  mmfslinux.tmp
+gpfs_aops                                         mmfslinux.tmp
+gpfs_aops_after_inode_delete                      mmfslinux.tmp
+gpfs_banner                                       mmfslinux.tmp
+gpfs_clean                                        mmfslinux.tmp
+gpfs_cleanup_fops                                 mmfslinux.tmp
+gpfs_d_invalid                                    mmfslinux.tmp
+gpfs_d_revalidate                                 mmfslinux.tmp
+gpfs_decode_fh                                    mmfslinux.tmp
+gpfs_destroy_inode                                mmfslinux.tmp
+gpfs_destroy_inodecache                           mmfslinux.tmp
+gpfs_dir_fops                                     mmfslinux.tmp
+gpfs_dir_iops_stdperm                             mmfslinux.tmp
+gpfs_dir_iops_xperm                               mmfslinux.tmp
+gpfs_dops_ddeletepending                          mmfslinux.tmp
+gpfs_dops_invalid                                 mmfslinux.tmp
+gpfs_dops_revalidate                              mmfslinux.tmp
+gpfs_encode_fh                                    mmfslinux.tmp
+gpfs_enosys_op                                    mmfslinux.tmp
+gpfs_export_ops                                   mmfslinux.tmp
+gpfs_f_cleanup                                    mmfslinux.tmp
+gpfs_f_dir_read                                   mmfslinux.tmp
+gpfs_f_direct_IO                                  mmfslinux.tmp
+gpfs_f_fasync                                     mmfslinux.tmp
+gpfs_f_fsync                                      mmfslinux.tmp
+gpfs_f_ioctl                                      mmfslinux.tmp
+gpfs_f_llseek                                     mmfslinux.tmp
+gpfs_f_lock                                       mmfslinux.tmp
+gpfs_f_mmap                                       mmfslinux.tmp
+gpfs_f_open                                       mmfslinux.tmp
+gpfs_f_poll                                       mmfslinux.tmp
+gpfs_f_read                                       mmfslinux.tmp
+gpfs_f_readdir                                    mmfslinux.tmp
+gpfs_f_readv                                      mmfslinux.tmp
+gpfs_f_release                                    mmfslinux.tmp
+gpfs_f_write                                      mmfslinux.tmp
+gpfs_f_writev                                     mmfslinux.tmp
+gpfs_filemap_close                                mmfslinux.tmp
+gpfs_filemap_nopage                               mmfslinux.tmp
+gpfs_filemap_nopagedone                           mmfslinux.tmp
+gpfs_filemap_open                                 mmfslinux.tmp
+gpfs_fill_super                                   mmfslinux.tmp
+gpfs_fops                                         mmfslinux.tmp
+gpfs_fops_no_sendfile                             mmfslinux.tmp
+gpfs_fs_type                                      mmfslinux.tmp
+gpfs_get_dentry                                   mmfslinux.tmp
+gpfs_get_dparent                                  mmfslinux.tmp
+gpfs_get_posix_acl                                mmfslinux.tmp
+gpfs_get_sb                                       mmfslinux.tmp
+gpfs_i_bmap                                       mmfslinux.tmp
+gpfs_i_create                                     mmfslinux.tmp
+gpfs_i_follow_link                                mmfslinux.tmp
+gpfs_i_getattr                                    mmfslinux.tmp
+gpfs_i_getattr_internal                           mmfslinux.tmp
+gpfs_i_getxattr                                   mmfslinux.tmp
+gpfs_i_link                                       mmfslinux.tmp
+gpfs_i_listxattr                                  mmfslinux.tmp
+gpfs_i_lookup                                     mmfslinux.tmp
+gpfs_i_mkdir                                      mmfslinux.tmp
+gpfs_i_mknod                                      mmfslinux.tmp
+gpfs_i_permission                                 mmfslinux.tmp
+gpfs_i_put_link                                   mmfslinux.tmp
+gpfs_i_readlink                                   mmfslinux.tmp
+gpfs_i_readpage                                   mmfslinux.tmp
+gpfs_i_removexattr                                mmfslinux.tmp
+gpfs_i_rename                                     mmfslinux.tmp
+gpfs_i_revalidate                                 mmfslinux.tmp
+gpfs_i_rmdir                                      mmfslinux.tmp
+gpfs_i_setattr                                    mmfslinux.tmp
+gpfs_i_setattr_internal                           mmfslinux.tmp
+gpfs_i_setxattr                                   mmfslinux.tmp
+gpfs_i_smap                                       mmfslinux.tmp
+gpfs_i_symlink                                    mmfslinux.tmp
+gpfs_i_truncate                                   mmfslinux.tmp
+gpfs_i_unlink                                     mmfslinux.tmp
+gpfs_i_updatepage                                 mmfslinux.tmp
+gpfs_i_writepage                                  mmfslinux.tmp
+gpfs_init                                         mmfslinux.tmp
+gpfs_init_inodecache                              mmfslinux.tmp
+gpfs_iops_stdperm                                 mmfslinux.tmp
+gpfs_iops_xperm                                   mmfslinux.tmp
+gpfs_link_iops                                    mmfslinux.tmp
+gpfs_nullptr_op                                   mmfslinux.tmp
+gpfs_ops                                          mmfslinux.tmp
+gpfs_proc_export_init                             mmfslinux.tmp
+gpfs_proc_export_term                             mmfslinux.tmp
+gpfs_reg_fs                                       mmfslinux.tmp
+gpfs_s_clear_inode                                mmfslinux.tmp
+gpfs_s_delete_inode                               mmfslinux.tmp
+gpfs_s_notify_change                              mmfslinux.tmp
+gpfs_s_put_super                                  mmfslinux.tmp
+gpfs_s_read_inode                                 mmfslinux.tmp
+gpfs_s_read_inode2                                mmfslinux.tmp
+gpfs_s_remount                                    mmfslinux.tmp
+gpfs_s_statfs                                     mmfslinux.tmp
+gpfs_s_umount_begin                               mmfslinux.tmp
+gpfs_s_write_inode                                mmfslinux.tmp
+gpfs_s_write_super                                mmfslinux.tmp
+gpfs_set_posix_acl                                mmfslinux.tmp
+gpfs_sops                                         mmfslinux.tmp
+gpfs_unreg_fs                                     mmfslinux.tmp
+gpfs_vmop                                         mmfslinux.tmp
+gpfs_void_op                                      mmfslinux.tmp
+gpfs_zero_op                                      mmfslinux.tmp
+high_memory                                       mmfslinux.tmp
+iget5_locked                                      mmfslinux.tmp
+igrab                                             mmfslinux.tmp
+ilookup5                                          mmfslinux.tmp
+init_mm                                           mmfslinux.tmp
+init_module                                       mmfslinux.tmp
+                                                  mmfslinux.mod.o
+init_special_inode                                mmfslinux.tmp
+init_task                                         mmfslinux.tmp
+init_timer                                        mmfslinux.tmp
+init_waitqueue_head                               mmfslinux.tmp
+inode_init_once                                   mmfslinux.tmp
+ioctl_count                                       mmfslinux.tmp
+iput                                              mmfslinux.tmp
+is_bad_inode                                      mmfslinux.tmp
+jiffies                                           mmfslinux.tmp
+kernel_thread                                     mmfslinux.tmp
+kfree                                             mmfslinux.tmp
+kill_anon_super                                   mmfslinux.tmp
+kill_mmfsd                                        mmfslinux.tmp
+kill_proc                                         mmfslinux.tmp
+kmap                                              mmfslinux.tmp
+kmem_cache_alloc                                  mmfslinux.tmp
+kmem_cache_create                                 mmfslinux.tmp
+kmem_cache_destroy                                mmfslinux.tmp
+kmem_cache_free                                   mmfslinux.tmp
+kmem_cache_shrink                                 mmfslinux.tmp
+kunmap                                            mmfslinux.tmp
+kxCoreDump                                        mmfslinux.tmp
+kxGetACL                                          mmfslinux.tmp
+kxGetDelegation                                   mmfslinux.tmp
+kxGetShare                                        mmfslinux.tmp
+kxGetThreadID                                     mmfslinux.tmp
+kxMadvise                                         mmfslinux.tmp
+kxMapPrivate                                      mmfslinux.tmp
+kxNoOp                                            mmfslinux.tmp
+kxPoll                                            mmfslinux.tmp
+kxPutACL                                          mmfslinux.tmp
+kxQuotactl                                        mmfslinux.tmp
+kxSaveThreadInfo                                  mmfslinux.tmp
+kxUMount                                          mmfslinux.tmp
+lm_operations                                     mmfslinux.tmp
+lock_kernel                                       mmfslinux.tmp
+locks_init_lock                                   mmfslinux.tmp
+logAssertFailed                                   mmfslinux.tmp
+make_bad_inode                                    mmfslinux.tmp
+mmapKill                                          mmfslinux.tmp
+mmfs_path                                         mmfslinux.tmp
+mmfsdPath                                         mmfslinux.tmp
+mmfsd_module_active                               mmfslinux.tmp
+mmfsd_path                                        mmfslinux.tmp
+module_put                                        mmfslinux.tmp
+mountCmd                                          mmfslinux.tmp
+new_inode                                         mmfslinux.tmp
+null_sops                                         mmfslinux.tmp
+num_physpages                                     mmfslinux.tmp
+oplock_break_queue                                mmfslinux.tmp
+panic                                             mmfslinux.tmp
+param_get_string                                  mmfslinux.tmp
+param_set_copystring                              mmfslinux.tmp
+path_release                                      mmfslinux.tmp
+posix_acl_2_ACL                                   mmfslinux.tmp
+posix_acl_from_xattr                              mmfslinux.tmp
+posix_acl_to_xattr                                mmfslinux.tmp
+posix_acl_valid                                   mmfslinux.tmp
+posix_lock_file                                   mmfslinux.tmp
+posix_test_lock                                   mmfslinux.tmp
+posix_unblock_lock                                mmfslinux.tmp
+prepare_to_wait                                   mmfslinux.tmp
+printDentry                                       mmfslinux.tmp
+printDentryTree                                   mmfslinux.tmp
+printInode                                        mmfslinux.tmp
+printSuper                                        mmfslinux.tmp
+printSuperList                                    mmfslinux.tmp
+printk                                            mmfslinux.tmp
+proc_mkdir                                        mmfslinux.tmp
+progPath                                          mmfslinux.tmp
+prog_path                                         mmfslinux.tmp
+put_page                                          mmfslinux.tmp
+put_unused_fd                                     mmfslinux.tmp
+register_chrdev                                   mmfslinux.tmp
+register_filesystem                               mmfslinux.tmp
+remove_proc_entry                                 mmfslinux.tmp
+remove_wait_queue                                 mmfslinux.tmp
+reset_gpfs_operations                             mmfslinux.tmp
+schedule                                          mmfslinux.tmp
+schedule_timeout                                  mmfslinux.tmp
+security_ops                                      mmfslinux.tmp
+send_sig                                          mmfslinux.tmp
+send_sig_info                                     mmfslinux.tmp
+setCred                                           mmfslinux.tmp
+setIopTable                                       mmfslinux.tmp
+setSMBOpenLockControl                             mmfslinux.tmp
+setSMBOplock                                      mmfslinux.tmp
+set_blocksize                                     mmfslinux.tmp
+shrink_dcache_parent                              mmfslinux.tmp
+shutdownSuperP                                    mmfslinux.tmp
+socket_aio_dequeue                                mmfslinux.tmp
+sprintf                                           mmfslinux.tmp
+ss_fops                                           mmfslinux.tmp
+ss_fs_ioctl                                       mmfslinux.tmp
+ss_fs_mmap                                        mmfslinux.tmp
+ss_fs_read                                        mmfslinux.tmp
+ss_fs_write                                       mmfslinux.tmp
+ss_init                                           mmfslinux.tmp
+ss_ioctl_op                                       mmfslinux.tmp
+ss_open                                           mmfslinux.tmp
+ss_release                                        mmfslinux.tmp
+ss_vm_close                                       mmfslinux.tmp
+ss_vm_nopage                                      mmfslinux.tmp
+ss_vm_open                                        mmfslinux.tmp
+strncpy_from_user                                 mmfslinux.tmp
+submit_bio                                        mmfslinux.tmp
+terminate(void)                                   mmfslinux.tmp
+test_set_page_writeback                           mmfslinux.tmp
+touch_atime                                       mmfslinux.tmp
+trc_fsync                                         mmfslinux.tmp
+truncate_inode_pages                              mmfslinux.tmp
+tsattr                                            mmfslinux.tmp
+tsfattr                                           mmfslinux.tmp
+tsfsattr                                          mmfslinux.tmp
+tsfstat                                           mmfslinux.tmp
+tsstat                                            mmfslinux.tmp
+unlock_buffer                                     mmfslinux.tmp
+unlock_kernel                                     mmfslinux.tmp
+unlock_new_inode                                  mmfslinux.tmp
+unlock_page                                       mmfslinux.tmp
+unmap_mapping_range                               mmfslinux.tmp
+unregister_chrdev                                 mmfslinux.tmp
+unregister_filesystem                             mmfslinux.tmp
+up_read                                           mmfslinux.tmp
+up_write                                          mmfslinux.tmp
+vfree                                             mmfslinux.tmp
+vfsStats                                          mmfslinux.tmp
+vfsUserCleanup                                    mmfslinux.tmp
+vmalloc                                           mmfslinux.tmp
+vmalloc_earlyreserve                              mmfslinux.tmp
+vmalloc_to_page                                   mmfslinux.tmp
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfslinux.mod.c.saved
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfslinux.mod.c.saved	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfslinux.mod.c.saved	(revision 16)
@@ -0,0 +1,168 @@
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = KBUILD_MODNAME,
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+};
+
+static const struct modversion_info ____versions[]
+__attribute_used__
+__attribute__((section("__versions"))) = {
+	{ 0x89fac617, "struct_module" },
+	{ 0xec84e458, "kmem_cache_destroy" },
+	{ 0x12da5bb2, "__kmalloc" },
+	{ 0xcb2c38ef, "security_ops" },
+	{ 0xb922ecbc, "__mod_timer" },
+	{ 0xda0b382, "get_sb_nodev" },
+	{ 0x60253ab0, "up_read" },
+	{ 0xcc7df1a, "make_bad_inode" },
+	{ 0xd6ee688f, "vmalloc" },
+	{ 0xf15d311d, "bio_alloc" },
+	{ 0x5e48a6d1, "del_timer" },
+	{ 0xddb12f67, "vmalloc_earlyreserve" },
+	{ 0xb220ed30, "filemap_fdatawait" },
+	{ 0x2b168195, "iget5_locked" },
+	{ 0x54058d52, "init_mm" },
+	{ 0xa67e4307, "kill_anon_super" },
+	{ 0xc8b57c27, "autoremove_wake_function" },
+	{ 0x2368be6d, "posix_acl_to_xattr" },
+	{ 0xbfd3488b, "send_sig" },
+	{ 0x74cc238d, "current_kernel_time" },
+	{ 0x50bb76ef, "_XTrace" },
+	{ 0x508ef3dd, "remove_wait_queue" },
+	{ 0x88193ce2, "is_bad_inode" },
+	{ 0x2190029f, "__user_walk_fd" },
+	{ 0xa93c93ab, "test_set_page_writeback" },
+	{ 0xc8be7b15, "_spin_lock" },
+	{ 0x1a04c1d3, "touch_atime" },
+	{ 0x15612b7, "dput" },
+	{ 0x7f56dd41, "remove_proc_entry" },
+	{ 0x757a86b9, "dget_locked" },
+	{ 0xb5b8f16f, "filp_close" },
+	{ 0x2fd1d81c, "vfree" },
+	{ 0x7ecf179b, "igrab" },
+	{ 0x6e185827, "_spin_lock_irqsave" },
+	{ 0x89808c96, "unlock_buffer" },
+	{ 0xa51cdfe8, "__FIXADDR_TOP" },
+	{ 0x1d26aa98, "sprintf" },
+	{ 0x24428be5, "strncpy_from_user" },
+	{ 0x7d11c268, "jiffies" },
+	{ 0xf0c7cc95, "down_read" },
+	{ 0x656d7fc2, "end_page_writeback" },
+	{ 0x8b18496f, "__copy_to_user_ll" },
+	{ 0xda4008e6, "cond_resched" },
+	{ 0xffd5a395, "default_wake_function" },
+	{ 0xc280a525, "__copy_from_user_ll" },
+	{ 0x404e9003, "proc_mkdir" },
+	{ 0x99bfbe39, "get_unused_fd" },
+	{ 0x1b7d4074, "printk" },
+	{ 0x42dce4f0, "d_rehash" },
+	{ 0x7f2f204b, "find_or_create_page" },
+	{ 0x45dcfa7b, "d_alloc_root" },
+	{ 0x5568be43, "lock_kernel" },
+	{ 0x1075bf0, "panic" },
+	{ 0x5238feb3, "kunmap" },
+	{ 0x2f287f0d, "copy_to_user" },
+	{ 0xc2109aad, "kmem_cache_free" },
+	{ 0x57f9eab9, "__wait_on_buffer" },
+	{ 0x948cde9, "num_physpages" },
+	{ 0x82b68224, "bio_get_nr_vecs" },
+	{ 0xf5a92de, "dcache_lock" },
+	{ 0xa46dc984, "_spin_unlock_irqrestore" },
+	{ 0x942bbaac, "_XTraceNB" },
+	{ 0x73c1b3c9, "unlock_page" },
+	{ 0x30738847, "path_release" },
+	{ 0x2db717fe, "up_write" },
+	{ 0x6623214f, "down_write" },
+	{ 0x4ba94a27, "fput" },
+	{ 0xb69a41b9, "bio_put" },
+	{ 0xfaa79f1a, "ilookup5" },
+	{ 0xe3cbe20e, "do_mmap_pgoff" },
+	{ 0x739af1ab, "_STrace" },
+	{ 0x69fe8f39, "inode_init_once" },
+	{ 0x5dfe8f1a, "unlock_kernel" },
+	{ 0x26baf42, "module_put" },
+	{ 0xacfe0a0a, "submit_bio" },
+	{ 0x7dceceac, "capable" },
+	{ 0x8d823e07, "init_task" },
+	{ 0xa3bc2e15, "kmem_cache_alloc" },
+	{ 0xdb80ba70, "locks_init_lock" },
+	{ 0xce9f696a, "generic_file_sendfile" },
+	{ 0xa389e51b, "kmem_cache_shrink" },
+	{ 0xa1457e5f, "kmap" },
+	{ 0xd4aa5b72, "trc_fsync" },
+	{ 0x11478d72, "bdevname" },
+	{ 0x6451294b, "posix_acl_valid" },
+	{ 0xc6bcec74, "get_user_pages" },
+	{ 0x17d59d01, "schedule_timeout" },
+	{ 0x4292364c, "schedule" },
+	{ 0x7b69467e, "posix_acl_from_xattr" },
+	{ 0x8a7d1c31, "high_memory" },
+	{ 0x7bb3faad, "unlock_new_inode" },
+	{ 0xa20113d8, "call_usermodehelper_keys" },
+	{ 0x56f9d0e2, "register_chrdev" },
+	{ 0xdaaa58b4, "create_proc_entry" },
+	{ 0xb7e63fef, "d_prune_aliases" },
+	{ 0x23eb25e, "put_unused_fd" },
+	{ 0x161845ca, "shrink_dcache_parent" },
+	{ 0x683a3221, "param_set_copystring" },
+	{ 0x10729194, "kmem_cache_create" },
+	{ 0x392e7c3f, "register_filesystem" },
+	{ 0xffd3c7, "init_waitqueue_head" },
+	{ 0x3b41aa7d, "init_timer" },
+	{ 0xbaadbd11, "__wake_up" },
+	{ 0x272552e6, "add_wait_queue" },
+	{ 0x3c408342, "posix_unblock_lock" },
+	{ 0xff2643c2, "iput" },
+	{ 0x7601890, "posix_lock_file" },
+	{ 0x37a0cba, "kfree" },
+	{ 0xe28e5bba, "generic_permission" },
+	{ 0x932da67e, "kill_proc" },
+	{ 0x7a00f517, "unmap_mapping_range" },
+	{ 0x2b3c29ca, "fd_install" },
+	{ 0x7c9049bf, "prepare_to_wait" },
+	{ 0xa5c5f2b8, "send_sig_info" },
+	{ 0xc20f98ce, "d_splice_alias" },
+	{ 0xc192d491, "unregister_chrdev" },
+	{ 0xb245cde6, "fget" },
+	{ 0x35555c86, "put_page" },
+	{ 0xcd77ce0d, "block_sync_page" },
+	{ 0x7e9ebb05, "kernel_thread" },
+	{ 0x60a4461c, "__up_wakeup" },
+	{ 0xb11c8cb2, "unregister_filesystem" },
+	{ 0xbbae7a26, "init_special_inode" },
+	{ 0x73e2050f, "_STraceNB" },
+	{ 0xd6dcbceb, "bdget" },
+	{ 0x164bf813, "find_get_page" },
+	{ 0x93304684, "param_get_string" },
+	{ 0x6484c58e, "new_inode" },
+	{ 0x9c18ef4d, "__break_lease" },
+	{ 0xf31fb9b3, "vmalloc_to_page" },
+	{ 0x182aa3cb, "set_blocksize" },
+	{ 0x96b27088, "__down_failed" },
+	{ 0x4124994c, "get_empty_filp" },
+	{ 0xd6c963c, "copy_from_user" },
+	{ 0x7308dc5d, "d_alloc_anon" },
+	{ 0xd8df5060, "clear_inode" },
+	{ 0x167ee050, "d_instantiate" },
+	{ 0xdc43a9c8, "daemonize" },
+	{ 0xac72904, "generic_fillattr" },
+	{ 0x8354bd3c, "filemap_fdatawrite" },
+	{ 0x9c52d484, "filp_open" },
+	{ 0x6f878a7b, "truncate_inode_pages" },
+	{ 0xcf00684f, "posix_test_lock" },
+};
+
+static const char __module_depends[]
+__attribute_used__
+__attribute__((section(".modinfo"))) =
+"depends=tracedev";
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfslinux.symvers
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfslinux.symvers	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfslinux.symvers	(revision 16)
@@ -0,0 +1,6920 @@
+0x975d814d	ieee80211_set_aid_for_sta	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x88b73627	tipc_get_addr	net/tipc/tipc	EXPORT_SYMBOL
+0x6fb5ab71	mpt_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xfbe7db15	firmware_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xe4bcd780	generic_file_splice_write	vmlinux	EXPORT_SYMBOL
+0x87f4ced2	set_anon_super	vmlinux	EXPORT_SYMBOL
+0xa3bc2e15	kmem_cache_alloc	vmlinux	EXPORT_SYMBOL
+0xb034e76e	rtl_ieee80211_wx_set_encode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x56230f1e	rtl_ieee80211_wx_get_encode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x95ba261c	snd_cs4231_get_single	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x96cd2b04	scsi_sense_key_string	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x53109f2d	rtc_class_open	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x18269033	_csr1212_destroy_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xdd04d58e	i2c_put_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xeef90270	request_firmware	vmlinux	EXPORT_SYMBOL
+0x0a2487e0	unblock_all_signals	vmlinux	EXPORT_SYMBOL
+0x16f27683	tipc_block_bearer	net/tipc/tipc	EXPORT_SYMBOL
+0x7e7d6039	cx8802_buf_queue	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xcf73f281	bttv_i2c_call	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x362b3357	ib_init_ah_from_path	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x39919aca	ib_destroy_cm_id	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xac70eba8	hwmon_device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x835c276d	mod_reg_security	vmlinux	EXPORT_SYMBOL_GPL
+0xbac1605b	register_timer_hook	vmlinux	EXPORT_SYMBOL_GPL
+0x07d50a24	csum_partial	vmlinux	EXPORT_SYMBOL
+0x3ac62b87	o2hb_setup_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x06044e8c	i2o_driver_register	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x08ce54bb	__generic_unplug_device	vmlinux	EXPORT_SYMBOL
+0x2ba288aa	unregister_timer_hook	vmlinux	EXPORT_SYMBOL_GPL
+0xc7645a75	kmap_atomic	vmlinux	EXPORT_SYMBOL
+0x61281dd1	mixer_devs	sound/oss/sound	EXPORT_SYMBOL
+0x375492a4	rpciod_up	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbdd083d1	scsi_execute	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x00ba9dd1	videobuf_queue_cancel	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xc6c5a7a1	ir_codes_em_terratec	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6aefdbea	ir_codes_npgtech	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x67fd030f	avmcard_dma_free	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xebd51c5e	nf_log_register	vmlinux	EXPORT_SYMBOL
+0x59ab4080	cap_bset	vmlinux	EXPORT_SYMBOL
+0x5df0c31b	device_add	vmlinux	EXPORT_SYMBOL_GPL
+0x8e7c9e92	device_del	vmlinux	EXPORT_SYMBOL_GPL
+0xd9091363	acpi_install_notify_handler	vmlinux	EXPORT_SYMBOL
+0x3c942368	profile_event_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x24196ba2	init_uts_ns	vmlinux	EXPORT_SYMBOL_GPL
+0xd872d0b0	synth_name	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xe8bd2b4d	sound_install_audiodrv	sound/oss/sound	EXPORT_SYMBOL
+0xe090ea5e	snd_cs4231_out	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x969bd264	krb5_decrypt	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xe747dbe4	matroxfb_read_pins	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0xa29b2642	__inet6_hash	vmlinux	EXPORT_SYMBOL
+0x8315e0ff	sock_no_mmap	vmlinux	EXPORT_SYMBOL
+0xb3af9ef3	acpi_bus_start	vmlinux	EXPORT_SYMBOL
+0x0bce3753	ioread32be	vmlinux	EXPORT_SYMBOL
+0xaa6e293d	usb_serial_generic_write_bulk_callback	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x181ae50f	kvm_mmu_free_some_pages	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x50e336f4	tcp_initialize_rcv_mss	vmlinux	EXPORT_SYMBOL
+0x54e6fcdd	net_enable_timestamp	vmlinux	EXPORT_SYMBOL
+0x028e8743	sockfd_lookup	vmlinux	EXPORT_SYMBOL
+0x208739f6	acpi_load_table	vmlinux	EXPORT_SYMBOL
+0x04314cbd	fb_validate_mode	vmlinux	EXPORT_SYMBOL
+0x5f792547	directly_mappable_cdev_bdi	vmlinux	EXPORT_SYMBOL
+0x88640159	_read_unlock_bh	vmlinux	EXPORT_SYMBOL
+0x8dfba176	srcu_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0x4b0c43d4	tipc_register_media	net/tipc/tipc	EXPORT_SYMBOL
+0xb5dea7ef	g_token_size	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x6ea62164	ax25_find_cb	net/ax25/ax25	EXPORT_SYMBOL
+0xd8fa57a6	dlm_unregister_eviction_cb	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x89087ef5	scsi_get_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6eb48913	hpsb_iso_stop	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x8c189ad5	tpm_gen_interrupt	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x1c806a29	sync_page_range_nolock	vmlinux	EXPORT_SYMBOL
+0x7ff10ccf	raw_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x6418ab1b	cxiCalcMaxSharedSegment	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa60875ff	rtl_ieee80211_wx_set_rate	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xa3aba07c	rtl_ieee80211_wx_get_rate	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x6e0ad68b	rtl_ieee80211_wx_get_name	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x5febf284	unload_mpu401	sound/oss/mpu401	EXPORT_SYMBOL
+0x9f156e00	scsi_target_quiesce	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xaa9fa1c9	hostap_handle_sta_tx_exc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x347a20b7	dvb_pll_philips_sd1878_tda8261	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xc460b50f	transport_class_register	vmlinux	EXPORT_SYMBOL_GPL
+0xe0d26ca8	snd_emux_terminate_all	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x8ede855b	iscsi_conn_setup	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x8bbc75fa	mpt_free_fw_memory	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x84fc1a57	dm_get_device	drivers/md/dm-mod	EXPORT_SYMBOL
+0xc8e1c747	dm_put_device	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8c0ead8a	hpsb_read	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7869e4d3	transport_class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xc52f5714	fb_videomode_to_var	vmlinux	EXPORT_SYMBOL
+0x2f287f0d	copy_to_user	vmlinux	EXPORT_SYMBOL
+0xffd5a395	default_wake_function	vmlinux	EXPORT_SYMBOL
+0x5b5cb594	fc_remote_port_add	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x911666ff	z8530_channel_load	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xf10e4ea0	videobuf_dma_init_overlay	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xabd308fd	agp_free_page_array	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xac231d62	pci_bus_read_config_byte	vmlinux	EXPORT_SYMBOL
+0x5e4a6a60	iget_locked	vmlinux	EXPORT_SYMBOL
+0x09e7a395	snd_akm4xxx_init	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0x7318d31b	hostap_info_process	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xbf1ad8f7	class_interface_register	vmlinux	EXPORT_SYMBOL_GPL
+0x0b353626	iowrite8_rep	vmlinux	EXPORT_SYMBOL
+0x13f54343	enable_timer_nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0x46c621d9	snd_ctl_new	sound/core/snd	EXPORT_SYMBOL
+0x775ed6bb	rpc_new_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2b076eb9	sas_release_transport	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x448696e1	pcmcia_modify_configuration	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xb6cd4666	ir_codes_eztv	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xce676eb3	class_interface_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xa9c530b8	unregister_oom_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x591c1c00	snd_power_wait	sound/core/snd	EXPORT_SYMBOL
+0x2eec63c9	xdr_encode_netobj	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x77e2ffc7	xdr_decode_word	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x586ec66c	nf_conntrack_expect_related	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xb7bde904	w1_unregister_family	drivers/w1/wire	EXPORT_SYMBOL
+0xb9e64115	mptscsih_scandv_complete	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x8077e11e	tpm_write	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xeb31d06d	tcp_v4_md5_lookup	vmlinux	EXPORT_SYMBOL
+0xf2e74040	mca_set_adapter_name	vmlinux	EXPORT_SYMBOL
+0x4d45b561	tty_register_device	vmlinux	EXPORT_SYMBOL
+0xc2e587d1	reset_devices	vmlinux	EXPORT_SYMBOL
+0x363ba2b3	ircomm_disconnect_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0xf223cf7f	usb_bus_list_lock	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xdbaaab48	cx88_get_stereo	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x90918dcc	pci_create_bus	vmlinux	EXPORT_SYMBOL_GPL
+0x8235805b	memmove	vmlinux	EXPORT_SYMBOL
+0x93304684	param_get_string	vmlinux	EXPORT_SYMBOL
+0x4f75bebb	speakup_dev_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x5fbc0138	dibusb_i2c_algo	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x9774a0a0	tpm_pm_resume	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xce69667b	ata_check_status	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf4f3c5cc	dmam_declare_coherent_memory	vmlinux	EXPORT_SYMBOL
+0x434fe8d8	dquot_alloc_space	vmlinux	EXPORT_SYMBOL
+0x76d3cd60	laptop_mode	vmlinux	EXPORT_SYMBOL
+0x656d7fc2	end_page_writeback	vmlinux	EXPORT_SYMBOL
+0x8969e1e3	generic_file_direct_write	vmlinux	EXPORT_SYMBOL
+0x7ae3b984	cxiFreePinned	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7a3e2b11	snd_gus_dram_read	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x242852b9	ax25_uid_policy	net/ax25/ax25	EXPORT_SYMBOL
+0x4d05e2b3	usbnet_cdc_unbind	drivers/usb/net/cdc_ether	EXPORT_SYMBOL_GPL
+0xdcbcbed0	drm_agp_enable	drivers/char/drm/drm	EXPORT_SYMBOL
+0x6933938f	tcf_police	vmlinux	EXPORT_SYMBOL
+0x6bd770f6	skb_recv_datagram	vmlinux	EXPORT_SYMBOL
+0x28553892	generic_file_readonly_mmap	vmlinux	EXPORT_SYMBOL
+0x5d730e7b	raw_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x5f91a8c5	nf_conntrack_expect_chain	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0d542439	__ipv6_addr_type	net/ipv6/ipv6	EXPORT_SYMBOL
+0x0a3d373e	usb_autopm_get_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xa9dd58a5	pcmcia_get_mem_page	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x1d8ca27a	pcmcia_map_mem_page	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x0ad69602	hostap_set_multicast_list_queue	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x9b140fff	cx88_sram_channels	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xa14015f1	dma_region_mmap	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xe2db3d34	unregister_qdisc	vmlinux	EXPORT_SYMBOL
+0x3fc7b0d3	pci_map_rom	vmlinux	EXPORT_SYMBOL
+0x0d47e098	scatterwalk_copychunks	vmlinux	EXPORT_SYMBOL_GPL
+0x3d441f4e	snd_hda_get_sub_nodes	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x70457266	ieee80211_wx_set_encode	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x383c07f2	ieee80211_wx_get_encode	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x0076dcf4	ib_rate_to_mult	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x4deb42ae	vm_insert_page	vmlinux	EXPORT_SYMBOL
+0x29a2666c	register_console	vmlinux	EXPORT_SYMBOL
+0xe10f1bb0	snd_gf1_write_addr	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xd4892e90	nf_conntrack_l4proto_tcp4	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x7b7977ab	free_orinocodev	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x997a400e	b1dma_reset_ctr	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x69967080	ata_pci_default_filter	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb2640166	sock_no_socketpair	vmlinux	EXPORT_SYMBOL
+0x04c5591b	input_ff_event	vmlinux	EXPORT_SYMBOL_GPL
+0x8a9a395a	synth_port_forced	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xc43a5527	snd_gf1_atten_table	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xbd57444b	arpt_do_table	net/ipv4/netfilter/arp_tables	EXPORT_SYMBOL
+0x2250c66e	mraid_mm_adapter_app_handle	drivers/scsi/megaraid/megaraid_mm	EXPORT_SYMBOL
+0x9f56882b	gnet_stats_start_copy	vmlinux	EXPORT_SYMBOL
+0xc0dfc4d2	__ide_dma_timeout	vmlinux	EXPORT_SYMBOL
+0x2bfeb410	acpi_get_handle	vmlinux	EXPORT_SYMBOL
+0x363c388d	highest_possible_processor_id	vmlinux	EXPORT_SYMBOL
+0x970ea98e	tcp_tso_segment	vmlinux	EXPORT_SYMBOL
+0x2c8dc0be	platform_device_put	vmlinux	EXPORT_SYMBOL_GPL
+0x7012a695	platform_device_del	vmlinux	EXPORT_SYMBOL_GPL
+0x3417582d	devm_free_irq	vmlinux	EXPORT_SYMBOL
+0x681f81c8	prof_on	vmlinux	EXPORT_SYMBOL_GPL
+0x198128ac	task_nice	vmlinux	EXPORT_SYMBOL_GPL
+0x272e7488	cond_resched_softirq	vmlinux	EXPORT_SYMBOL
+0x1d4a9a75	snd_vx_resume	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xfb593bfb	snd_seq_iwffff_init	sound/core/seq/instr/snd-ainstr-iw	EXPORT_SYMBOL
+0x8b7666ac	ccid_register	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xda44bf51	hostap_check_sta_fw_version	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x71e8d5ba	capilib_data_b3_req	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x05aa6f7e	kernel_accept	vmlinux	EXPORT_SYMBOL
+0xae70bef2	pcim_iounmap	vmlinux	EXPORT_SYMBOL
+0x6d510480	__percpu_alloc_mask	vmlinux	EXPORT_SYMBOL_GPL
+0x04d03329	set_bdi_congested	vmlinux	EXPORT_SYMBOL
+0x01a4aab6	set_irq_chip_data	vmlinux	EXPORT_SYMBOL
+0xbcde1142	sysctl_ms_jiffies	vmlinux	EXPORT_SYMBOL
+0xb8129e94	cxiKibdUnpinmm	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1e54eb28	synth_remove	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x44aa2672	xt_proto_fini	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xc9767070	sata_scr_write_flush	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf130f815	driver_find	vmlinux	EXPORT_SYMBOL_GPL
+0xe0c784ef	lock_may_read	vmlinux	EXPORT_SYMBOL
+0xde58211c	snd_card_free	sound/core/snd	EXPORT_SYMBOL
+0xa0eb30f7	nf_conntrack_expect_alloc	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x54487e46	cpci_hp_register_controller	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x711ad62e	dm_io_async_vm	drivers/md/dm-mod	EXPORT_SYMBOL
+0xc8cc9128	iw_create_cm_id	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x824fa796	ide_fix_driveid	vmlinux	EXPORT_SYMBOL
+0x99e0f580	pnp_stop_dev	vmlinux	EXPORT_SYMBOL
+0xb3e86acd	fb_class	vmlinux	EXPORT_SYMBOL
+0xbd2819f8	load_nls	vmlinux	EXPORT_SYMBOL
+0x0c65e73c	scsi_normalize_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4859b8bb	rtc_year_days	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x737a70c8	bttv_sub_register	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xa973b579	rdma_node_get_transport	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xad08cfa4	ata_host_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x63d14d2f	eeprom_93cx6_read	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x418f5fbe	sound_close_dma	sound/oss/sound	EXPORT_SYMBOL
+0x9281a8cf	pcmcia_unregister_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x6e30ea08	register_pppox_proto	drivers/net/pppox	EXPORT_SYMBOL
+0x82d23e94	klist_iter_exit	vmlinux	EXPORT_SYMBOL_GPL
+0x72b243d4	free_dma	vmlinux	EXPORT_SYMBOL
+0xc7140684	xdr_init_decode	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x887ece23	ieee80211_rx_any	net/ieee80211/ieee80211	EXPORT_SYMBOL_GPL
+0xe525ca6c	o2nm_get_hb_ctl_path	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xfed11ed1	usb_mon_deregister	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x173f715c	scsi_is_sas_rphy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xc60b5e9e	hermes_bap_pwrite	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xbb803965	cx24123_attach	drivers/media/dvb/frontends/cx24123	EXPORT_SYMBOL
+0xde127160	ib_sa_path_rec_get	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x776a0ab4	device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xde48e2ed	cxiGetMountedOverOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x284bb50a	ezusb_set_reset	drivers/usb/serial/usbserial	EXPORT_SYMBOL
+0xb91f537d	mmc_cleanup_queue	drivers/mmc/card/mmc_block	EXPORT_SYMBOL
+0xa065dd33	videobuf_mmap_free	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x15e20449	hpsb_write	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xff5a8cfe	cn_del_callback	drivers/connector/cn	EXPORT_SYMBOL_GPL
+0x665d31ee	xfrm_state_add	vmlinux	EXPORT_SYMBOL
+0xcccbb7d3	iw_handler_set_thrspy	vmlinux	EXPORT_SYMBOL
+0x987bcf12	DMAbuf_outputintr	sound/oss/sound	EXPORT_SYMBOL
+0x7c3c563a	nf_ct_l4proto_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe9803033	nf_ct_l3proto_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x649ecbb1	scsicam_bios_param	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa7097f5c	dvb_register_device	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x59b3af81	ata_port_offline	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x718c9729	acpi_find_root_pointer	vmlinux	EXPORT_SYMBOL
+0x226020c4	I_BDEV	vmlinux	EXPORT_SYMBOL
+0x74abdafa	task_handoff_register	vmlinux	EXPORT_SYMBOL_GPL
+0x66a4c4e6	cycx_down	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x7948c222	budget_debug	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0xef2a7138	gigaset_getunassignedcs	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x121d9f8a	ide_undecoded_slave	vmlinux	EXPORT_SYMBOL_GPL
+0xb51bef30	phy_stop_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x7f2f204b	find_or_create_page	vmlinux	EXPORT_SYMBOL
+0x20b1de49	synth_add	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x7cfaf018	ieee80211_channel_to_index	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x1aecdfa9	usb_sg_init	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x55ad6251	usb_sg_wait	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xd9d2dc19	usb_buffer_unmap_sg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xb1882bd8	sas_phy_add	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xb37c86ec	scsi_reset_provider	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa172d0a8	usbvideo_register	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x00bc6cd9	gigaset_start	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x3f7891e8	gs_write_room	drivers/char/generic_serial	EXPORT_SYMBOL
+0xf4216711	kblockd_flush	vmlinux	EXPORT_SYMBOL
+0xeac4d236	invalidate_bdev	vmlinux	EXPORT_SYMBOL
+0x11267875	scsi_extd_sense_format	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xae4fb61e	mpt_reset_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x6ff63386	tcp_twsk_unique	vmlinux	EXPORT_SYMBOL_GPL
+0x6c61ce70	num_registered_fb	vmlinux	EXPORT_SYMBOL
+0x0d3a6420	kobject_uevent	vmlinux	EXPORT_SYMBOL_GPL
+0x4a2e690a	cancel_rearming_delayed_workqueue	vmlinux	EXPORT_SYMBOL
+0xef589c46	xdr_buf_from_iov	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x63f96173	nf_conntrack_expect_list	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xc1cd60fa	pccard_get_first_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x2f8aad93	class_device_initialize	vmlinux	EXPORT_SYMBOL_GPL
+0xf4e5e5dd	pci_bus_write_config_dword	vmlinux	EXPORT_SYMBOL
+0x8fc7e88d	parport_wait_peripheral	drivers/parport/parport	EXPORT_SYMBOL
+0x283e799e	z8530_interrupt	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xa73e91c5	hpsb_get_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x426070f8	tty_hung_up_p	vmlinux	EXPORT_SYMBOL
+0xda268faa	acpi_get_child	vmlinux	EXPORT_SYMBOL
+0x8b1fa63b	blk_cleanup_queue	vmlinux	EXPORT_SYMBOL
+0xfedd1325	cxiClearPageoutThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd993a605	ipv6_getsockopt	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfb698292	usb_ftdi_elan_edset_setup	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x38be48ee	mpt_GetIocState	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x9994c0ca	ps2_is_keyboard_id	vmlinux	EXPORT_SYMBOL
+0xf3efc501	acpi_walk_resources	vmlinux	EXPORT_SYMBOL
+0x3fbb980e	pcim_enable_device	vmlinux	EXPORT_SYMBOL
+0xeede9ad9	ieee80211softmac_wx_get_genie	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x781b0d50	usb_driver_release_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xf3d5cc13	ata_timing_merge	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x93955a7a	ide_dma_intr	vmlinux	EXPORT_SYMBOL_GPL
+0x7e500b97	mpage_writepages	vmlinux	EXPORT_SYMBOL
+0x31fcee4c	write_one_page	vmlinux	EXPORT_SYMBOL
+0xb29a9148	unload_ms_sound	sound/oss/ad1848	EXPORT_SYMBOL
+0x1059f308	o2nm_node_get	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xe865d7ae	nlmsvc_ops	fs/lockd/lockd	EXPORT_SYMBOL
+0x85495ba0	inet_add_protocol	vmlinux	EXPORT_SYMBOL
+0xf52a8e38	pnp_find_dev	vmlinux	EXPORT_SYMBOL
+0xee57161d	sync_blockdev	vmlinux	EXPORT_SYMBOL
+0x058cf4b7	cx8802_init_common	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xae79b45d	dibusb_rc_query	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x6e720ff2	rtnl_unlock	vmlinux	EXPORT_SYMBOL
+0x4e6f96c7	sock_rfree	vmlinux	EXPORT_SYMBOL
+0xc82663e0	kernel_recvmsg	vmlinux	EXPORT_SYMBOL
+0x2ff92ca0	find_next_bit	vmlinux	EXPORT_SYMBOL
+0x47066d5d	register_security	vmlinux	EXPORT_SYMBOL_GPL
+0x0f19d452	freeze_bdev	vmlinux	EXPORT_SYMBOL
+0x9c11addf	srcu_batches_completed	vmlinux	EXPORT_SYMBOL_GPL
+0x4a57ad64	acpi_processor_ffh_cstate_enter	vmlinux	EXPORT_SYMBOL_GPL
+0x3c98cea8	p80211netdev_hwremoved	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x2cc2d52d	vcc_hash	vmlinux	EXPORT_SYMBOL
+0x5d8f319e	ip_xfrm_me_harder	vmlinux	EXPORT_SYMBOL
+0x7d9afc12	skb_kill_datagram	vmlinux	EXPORT_SYMBOL
+0xe1be5b09	kfree_skb	vmlinux	EXPORT_SYMBOL
+0x58eec133	bd_release	vmlinux	EXPORT_SYMBOL
+0x53a21daf	param_get_long	vmlinux	EXPORT_SYMBOL
+0x23cea294	atomic_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0xc0512e0f	ssb_admatch_base	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xd481192b	ssb_admatch_size	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x0e15ff31	free_rs	lib/reed_solomon/reed_solomon	EXPORT_SYMBOL_GPL
+0xf7f58c03	cpia_unregister_camera	drivers/media/video/cpia	EXPORT_SYMBOL
+0x774d68a1	saa7146_wait_for_debi_done	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xc63d3300	dm_create_dirty_log	drivers/md/dm-mirror	EXPORT_SYMBOL
+0xaa650212	ib_send_cm_mra	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xaa53a9b9	drm_mm_takedown	drivers/char/drm/drm	EXPORT_SYMBOL
+0x67e27067	inet_twsk_schedule	vmlinux	EXPORT_SYMBOL_GPL
+0xa44072fc	posix_acl_alloc	vmlinux	EXPORT_SYMBOL
+0xa6793efd	rt2x00lib_tx	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x3a57f235	snd_seq_autoload_unlock	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0x18fad3b5	svc_set_num_threads	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x761a5c32	dccp_tx_hist_purge	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x1e51cc03	get_mtd_device_nm	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x98c6fb9c	xfrm_replay_notify	vmlinux	EXPORT_SYMBOL
+0x5c68e83b	skb_copy_datagram_iovec	vmlinux	EXPORT_SYMBOL
+0x694d9bbc	__kfree_skb	vmlinux	EXPORT_SYMBOL
+0x6b8d3017	pci_find_parent_resource	vmlinux	EXPORT_SYMBOL
+0x0933aae1	efi_enabled	vmlinux	EXPORT_SYMBOL
+0xd7e2f796	mptscsih_proc_info	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x4381d12a	snd_i2c_device_free	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0x8ed9912d	scsi_flush_work	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x62ad2a45	saa7134_pgtable_build	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x9f591149	ip_defrag	vmlinux	EXPORT_SYMBOL
+0x818c07ad	register_qdisc	vmlinux	EXPORT_SYMBOL
+0x5331e1b5	acpi_get_firmware_table	vmlinux	EXPORT_SYMBOL
+0xdef5c4a5	idr_destroy	vmlinux	EXPORT_SYMBOL
+0x6474aa2a	generic_file_aio_read	vmlinux	EXPORT_SYMBOL
+0x0e18ae1a	_spin_lock_bh	vmlinux	EXPORT_SYMBOL
+0x441ee5ff	onenand_scan_bbt	drivers/mtd/onenand/onenand	EXPORT_SYMBOL
+0x81c993b7	free_netdev	vmlinux	EXPORT_SYMBOL
+0x170c25ee	acpi_get_next_object	vmlinux	EXPORT_SYMBOL
+0xb60b2999	register_binfmt	vmlinux	EXPORT_SYMBOL
+0xb994c584	per_cpu__irq_stat	vmlinux	EXPORT_SYMBOL
+0xa3c06d23	gss_mech_get_by_pseudoflavor	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x2e37c5b6	scsi_host_get	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x81ffcefb	dvb_pll_env57h1xd5	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x7277973d	ir_codes_pctv_sedna	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6d9e4435	zlib_inflateIncomp	vmlinux	EXPORT_SYMBOL
+0xbca09dc7	idr_pre_get	vmlinux	EXPORT_SYMBOL
+0x4d3c153f	sigprocmask	vmlinux	EXPORT_SYMBOL
+0xed16bb7e	tipc_send_buf	net/tipc/tipc	EXPORT_SYMBOL
+0xc9fbcb42	ax25_listen_register	net/ax25/ax25	EXPORT_SYMBOL
+0x38787cb9	parport_ieee1284_ecp_write_addr	drivers/parport/parport	EXPORT_SYMBOL
+0x9f740a61	parport_ieee1284_epp_write_addr	drivers/parport/parport	EXPORT_SYMBOL
+0xbdf97a04	mtd_concat_destroy	drivers/mtd/mtdconcat	EXPORT_SYMBOL
+0xc691e027	gf128mul_lle	crypto/gf128mul	EXPORT_SYMBOL
+0x57cb718a	sk_stream_wait_connect	vmlinux	EXPORT_SYMBOL
+0xe3cbe20e	do_mmap_pgoff	vmlinux	EXPORT_SYMBOL
+0x86668553	pcmcia_replace_cis	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x836bdb72	nand_flash_ids	drivers/mtd/nand/nand_ids	EXPORT_SYMBOL
+0xd51d889f	flexcop_pass_dmx_packets	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xd92b2940	i2c_master_recv	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x8d551bef	sysctl_tcp_rmem	vmlinux	EXPORT_SYMBOL
+0xe9852ea5	sock_no_sendmsg	vmlinux	EXPORT_SYMBOL
+0xc82a4495	vfs_unlink	vmlinux	EXPORT_SYMBOL
+0x00ffd3c7	init_waitqueue_head	vmlinux	EXPORT_SYMBOL
+0xc622fb29	snd_seq_device_unregister_driver	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0xd5168829	hermes_allocate	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xf78486d7	ata_acpi_gtm	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xaeff3d87	ata_acpi_stm	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xed9003ef	pci_osc_support_set	vmlinux	EXPORT_SYMBOL
+0x309939cf	key_revoke	vmlinux	EXPORT_SYMBOL
+0x83af306c	cxiTermBreakQ	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0e3220ca	ioc4_register_submodule	drivers/misc/ioc4	EXPORT_SYMBOL
+0xafab767f	bus_rescan_devices	vmlinux	EXPORT_SYMBOL_GPL
+0xb91843cf	put_tty_driver	vmlinux	EXPORT_SYMBOL
+0xb407b205	ioport_resource	vmlinux	EXPORT_SYMBOL
+0xc911084b	p54_free_common	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x94a68723	ata_scsi_slave_destroy	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc7a4fbed	rtnl_lock	vmlinux	EXPORT_SYMBOL
+0x2f0a99ec	debugfs_create_bool	vmlinux	EXPORT_SYMBOL_GPL
+0x4c9181fc	generic_file_splice_read	vmlinux	EXPORT_SYMBOL
+0x897473df	mktime	vmlinux	EXPORT_SYMBOL
+0x2288378f	system_state	vmlinux	EXPORT_SYMBOL
+0x9cd013f2	xfrm6_tunnel_alloc_spi	net/ipv6/xfrm6_tunnel	EXPORT_SYMBOL
+0x98dfd6de	hidinput_connect	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0xc8961c09	llc_add_pack	vmlinux	EXPORT_SYMBOL
+0x1f061267	acpi_fadt	vmlinux	EXPORT_SYMBOL
+0xd7ea771e	del_timer_sync	vmlinux	EXPORT_SYMBOL
+0xbae4da72	ac97_read_proc	sound/oss/ac97_codec	EXPORT_SYMBOL
+0xbabf0f35	rpciod_down	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x31a23ce4	dccp_setsockopt	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x7889b127	hpsb_update_config_rom_image	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x00e8097b	csum_partial_copy_fromiovecend	vmlinux	EXPORT_SYMBOL
+0x63dfe1b4	hpet_unregister	vmlinux	EXPORT_SYMBOL
+0x925b0454	con_set_default_unimap	vmlinux	EXPORT_SYMBOL
+0x02d89e98	mtd_do_chip_probe	drivers/mtd/chips/gen_probe	EXPORT_SYMBOL
+0xc368f8e6	btcx_align	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x74ae5085	drm_core_get_reg_ofs	drivers/char/drm/drm	EXPORT_SYMBOL
+0x174bb59d	dev_get_by_index	vmlinux	EXPORT_SYMBOL
+0xbe6129a6	ioctl_by_bdev	vmlinux	EXPORT_SYMBOL
+0x47b450cc	snd_gf1_translate_freq	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x3b4de6b1	configfs_unregister_subsystem	fs/configfs/configfs	EXPORT_SYMBOL
+0x85c2b251	class_device_add	vmlinux	EXPORT_SYMBOL_GPL
+0xd99c569e	textsearch_find_continuous	vmlinux	EXPORT_SYMBOL
+0xd18c83c6	__next_cpu	vmlinux	EXPORT_SYMBOL
+0x3504d51e	__crypto_alloc_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0x7816e0f3	keyring_search	vmlinux	EXPORT_SYMBOL
+0xd3aa23c2	key_unlink	vmlinux	EXPORT_SYMBOL
+0x67900d2e	generic_delete_inode	vmlinux	EXPORT_SYMBOL
+0x06339815	sound_unload_synthdev	sound/oss/sound	EXPORT_SYMBOL
+0x13c2ce50	i2c_pca_add_bus	drivers/i2c/algos/i2c-algo-pca	EXPORT_SYMBOL
+0x3f206041	ata_sg_init_one	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x38ea236c	sk_stream_rfree	vmlinux	EXPORT_SYMBOL
+0xf911c430	nf_nat_pptp_hook_expectfn	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x8cf61660	w1_add_master_device	drivers/w1/wire	EXPORT_SYMBOL
+0xdc7bd29f	mmc_wait_for_req	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xd5b037e1	kref_put	vmlinux	EXPORT_SYMBOL
+0x10c60a35	blk_run_queue	vmlinux	EXPORT_SYMBOL
+0x91815586	irda_param_pack	net/irda/irda	EXPORT_SYMBOL
+0x59dbbc17	dccp_li_hist_purge	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xc52e9c77	hci_register_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x46bc0adc	zlib_deflate	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0x42c8e001	v4l2_ctrl_next	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x5e448aae	i2c_smbus_write_i2c_block_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xb5fe4a52	gs_flush_buffer	drivers/char/generic_serial	EXPORT_SYMBOL
+0x581509e4	deregister_atm_ioctl	vmlinux	EXPORT_SYMBOL
+0x5d3466dd	__secpath_destroy	vmlinux	EXPORT_SYMBOL
+0x9414647a	tcp_unhash	vmlinux	EXPORT_SYMBOL
+0xcd40df56	ide_set_xfer_rate	vmlinux	EXPORT_SYMBOL_GPL
+0xb694c524	suid_dumpable	vmlinux	EXPORT_SYMBOL
+0x24fdac79	wake_bit_function	vmlinux	EXPORT_SYMBOL
+0xdc591cc8	snd_rawmidi_drain_output	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xa6afd288	init_airo_card	drivers/net/wireless/airo	EXPORT_SYMBOL
+0x76786327	i2o_parm_issue	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x3b8ffaac	hid_set_field	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x78a6d03c	inet_csk_route_req	vmlinux	EXPORT_SYMBOL_GPL
+0x3adce61c	qdisc_get_rtab	vmlinux	EXPORT_SYMBOL
+0x0ccd3fb2	cfg80211_ioctl_ops	vmlinux	EXPORT_SYMBOL_GPL
+0x632fbeb4	bus_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xb39026e4	mempool_resize	vmlinux	EXPORT_SYMBOL
+0x9455a3cc	cxiFreeOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc5f59512	cxiKibdUnpinAll	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0d118e5f	snd_ac97_pcm_open	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x7bee3e35	drm_agp_unbind	drivers/char/drm/drm	EXPORT_SYMBOL
+0xdea1fe89	xfrm_unregister_km	vmlinux	EXPORT_SYMBOL
+0xea6c308c	in_dev_finish_destroy	vmlinux	EXPORT_SYMBOL
+0x9ec14312	secure_tcp_sequence_number	vmlinux	EXPORT_SYMBOL
+0x35286258	bio_map_user	vmlinux	EXPORT_SYMBOL
+0xc8fa9795	__nf_conntrack_confirm	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xdec76f5c	usbnet_suspend	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xc0cfc5b9	videocodec_detach	drivers/media/video/videocodec	EXPORT_SYMBOL
+0x98babb34	dmam_alloc_coherent	vmlinux	EXPORT_SYMBOL
+0xfb97162c	__brelse	vmlinux	EXPORT_SYMBOL
+0x6b99b909	scsi_host_get_command	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x47d80441	scsi_device_set_state	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe4098bb9	ib_register_mad_agent	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xe5340509	wext_standard_ioctl_num	vmlinux	EXPORT_SYMBOL_GPL
+0x0b245dda	mark_buffer_async_write	vmlinux	EXPORT_SYMBOL
+0x3e401ca7	reset_files_struct	vmlinux	EXPORT_SYMBOL
+0x4a9b8e84	wait_for_completion_interruptible_timeout	vmlinux	EXPORT_SYMBOL
+0xadd203d0	tipc_connect2port	net/tipc/tipc	EXPORT_SYMBOL
+0xaffe249a	pci_hp_register	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x56e26d86	mmc_add_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x28e23139	xfrm_probe_algs	vmlinux	EXPORT_SYMBOL_GPL
+0x41e710a6	ip_route_me_harder	vmlinux	EXPORT_SYMBOL
+0x1593fb83	inet_sock_destruct	vmlinux	EXPORT_SYMBOL
+0x3cd8581e	nf_reinject	vmlinux	EXPORT_SYMBOL
+0x3a9b6fb9	blk_unregister_region	vmlinux	EXPORT_SYMBOL
+0xd2d8569b	unregister_nls	vmlinux	EXPORT_SYMBOL
+0x8d469a5b	tipc_send_buf2name	net/tipc/tipc	EXPORT_SYMBOL
+0xe7704aeb	__serio_register_port	vmlinux	EXPORT_SYMBOL
+0x31e97060	rtl_ieee80211_register_crypto_ops	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xe75aabfc	snd_ctl_unregister_ioctl	sound/core/snd	EXPORT_SYMBOL
+0x3525fa62	__scsi_device_lookup_by_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6e45dc41	parport_claim	drivers/parport/parport	EXPORT_SYMBOL
+0xadcf1420	skb_pull_rcsum	vmlinux	EXPORT_SYMBOL_GPL
+0xc7552a84	malloc_sizes	vmlinux	EXPORT_SYMBOL
+0xe5587dd8	cxiGetMaxFileSize	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1a59f532	nl80211msg_new	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL_GPL
+0xb504269f	dccp_insert_option_elapsed_time	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x47b2117e	usbnet_get_msglevel	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x4973f032	usbnet_set_msglevel	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x9edece74	saa7146_vmalloc_build_pgtable	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x8048cf03	ib_dealloc_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb948c93c	agp_remove_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x01902adf	netpoll_trap	vmlinux	EXPORT_SYMBOL
+0x8063f83d	radix_tree_gang_lookup	vmlinux	EXPORT_SYMBOL
+0x0773c35a	register_nls	vmlinux	EXPORT_SYMBOL
+0xb121390a	probe_irq_on	vmlinux	EXPORT_SYMBOL
+0xbb2b2504	tipc_send	net/tipc/tipc	EXPORT_SYMBOL
+0xb8126ebc	nf_ct_unlink_expect	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x1d747ce3	o2hb_check_node_heartbeating	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x94751b6c	btcx_riscmem_free	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0xf954272b	i2c_smbus_write_block_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xebc53d64	xfrm_state_lookup	vmlinux	EXPORT_SYMBOL
+0x0046ba8f	tcp_parse_options	vmlinux	EXPORT_SYMBOL
+0x7413793a	EISA_bus	vmlinux	EXPORT_SYMBOL
+0xc4ccacce	ssb_device_is_enabled	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x695143c9	rpc_unlink	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbe40ace9	irlmp_discovery_request	net/irda/irda	EXPORT_SYMBOL
+0xa0e59b4b	edac_mc_scrub_block	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x09298869	edac_mc_find_csrow_by_page	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x9d33ef5e	acpi_enable	vmlinux	EXPORT_SYMBOL
+0x7ae85ba9	inotify_inode_is_dead	vmlinux	EXPORT_SYMBOL_GPL
+0xc96a06f9	module_refcount	vmlinux	EXPORT_SYMBOL
+0x2ae7d901	dlm_unregister_domain	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x8cf91e4a	dlm_register_domain	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x37d6f034	pccard_read_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x058e4c95	SELECT_DRIVE	vmlinux	EXPORT_SYMBOL
+0x7f8cdc7c	cxiCopyIn	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x8ff042ac	ip_vs_conn_in_get	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xacd3bf1d	usb_lock_device_for_reset	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xa7aeba4e	ttusbdecfe_dvbt_attach	drivers/media/dvb/ttusb-dec/ttusbdecfe	EXPORT_SYMBOL
+0x8c69bb84	ttusbdecfe_dvbs_attach	drivers/media/dvb/ttusb-dec/ttusbdecfe	EXPORT_SYMBOL
+0xee57295b	__netif_rx_schedule	vmlinux	EXPORT_SYMBOL
+0x2b5d6f73	acpi_get_register	vmlinux	EXPORT_SYMBOL
+0xdf43fad0	pci_enable_device_bars	vmlinux	EXPORT_SYMBOL
+0x3f3ca12d	snd_timer_global_new	sound/core/snd-timer	EXPORT_SYMBOL
+0x3bb2a33c	usb_ftdi_elan_edset_empty	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x54564a87	ata_std_prereset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x200532b0	___pskb_trim	vmlinux	EXPORT_SYMBOL
+0x4108e69a	fb_match_mode	vmlinux	EXPORT_SYMBOL
+0x1606ed83	pci_setup_cardbus	vmlinux	EXPORT_SYMBOL
+0x85df9b6c	strsep	vmlinux	EXPORT_SYMBOL
+0x1f9cfe83	iomem_resource	vmlinux	EXPORT_SYMBOL
+0xa03d6a57	__get_user_4	vmlinux	EXPORT_SYMBOL
+0xb2fd5ceb	__put_user_4	vmlinux	EXPORT_SYMBOL
+0x8a933922	cxiGetRootInode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe056b71c	DMAbuf_start_dma	sound/oss/sound	EXPORT_SYMBOL
+0x4ee7e490	snd_ctl_add	sound/core/snd	EXPORT_SYMBOL
+0xad2b0e62	usb_serial_register	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0xe19c0a98	dvb_ca_en50221_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x86413d5c	hpsb_remove_host	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x2f47d8c7	cpufreq_frequency_get_table	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0xdd471721	sata_scr_read	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x1ac6d8be	devm_kfree	vmlinux	EXPORT_SYMBOL_GPL
+0x9623668a	mnt_unpin	vmlinux	EXPORT_SYMBOL
+0x39c6507f	vfs_create	vmlinux	EXPORT_SYMBOL
+0x4ab5bc58	dccp_done	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xfbbf7b45	mtd_erase_callback	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0x90e7cff3	RingQueue_Dequeue	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xce8abc3a	dvb_pll_tded4	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x853e2dfc	sb_min_blocksize	vmlinux	EXPORT_SYMBOL
+0xf104eb44	sas_phy_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xb4b534c9	z8530_sync_txdma_close	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x59d696b6	register_module_notifier	vmlinux	EXPORT_SYMBOL
+0x4d7b9ff9	snd_emu8000_load_chorus_fx	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x694aa3d6	snd_cs8427_reg_write	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x77c8b001	irda_unregister_dongle	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xde3b516c	bitmap_start_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0xe056fcbd	pi_schedule_claimed	drivers/block/paride/paride	EXPORT_SYMBOL
+0xc7208c3a	serial8250_resume_port	vmlinux	EXPORT_SYMBOL
+0xcc2ae239	cxiFlockToVFS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x87ea509a	pcmcia_request_irq	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xb659acef	i2c_control	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x396e5372	hid_input_report	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x12075fb1	unregister_sysctl_table	vmlinux	EXPORT_SYMBOL
+0x8446a7af	rxrpc_call_write_data	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xce118b9f	ieee80211softmac_highest_supported_rate	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x61e908ef	paride_register	drivers/block/paride/paride	EXPORT_SYMBOL
+0x8bb4e661	pci_find_aer_capability	vmlinux	EXPORT_SYMBOL_GPL
+0xe3534054	del_gendisk	vmlinux	EXPORT_SYMBOL
+0x7d090d33	block_write_full_page	vmlinux	EXPORT_SYMBOL
+0x0f5a92de	dcache_lock	vmlinux	EXPORT_SYMBOL
+0x69b4ab75	machine_id	vmlinux	EXPORT_SYMBOL
+0xa61aa028	snd_pcm_format_unsigned	sound/core/snd-pcm	EXPORT_SYMBOL
+0x37661726	nf_ct_invert_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x976e539e	lockd_up	fs/lockd/lockd	EXPORT_SYMBOL
+0xcbf18807	fat_sync_inode	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xc5e2cfc6	xfrm_register_type	vmlinux	EXPORT_SYMBOL
+0x9305f8e6	cpufreq_get	vmlinux	EXPORT_SYMBOL
+0x27fd8a0b	ide_add_setting	vmlinux	EXPORT_SYMBOL
+0x37d4196b	clear_bdi_congested	vmlinux	EXPORT_SYMBOL
+0x43b40de7	kunmap_atomic	vmlinux	EXPORT_SYMBOL
+0xc967453d	sock_no_getsockopt	vmlinux	EXPORT_SYMBOL
+0x3e5e135f	sock_no_setsockopt	vmlinux	EXPORT_SYMBOL
+0x272a2b91	__blockdev_direct_IO	vmlinux	EXPORT_SYMBOL
+0x9329fe98	ip6_route_me_harder	net/ipv6/ipv6	EXPORT_SYMBOL
+0xb88c6261	usb_ftdi_elan_write_pcimem	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x4d18be19	sas_rphy_delete	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xb4b30422	snd_device_new	sound/core/snd	EXPORT_SYMBOL
+0x7954b1ea	fc_get_event_number	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xc11ed2f2	km_new_mapping	vmlinux	EXPORT_SYMBOL
+0x2a4a449d	generic_block_bmap	vmlinux	EXPORT_SYMBOL
+0x868784cb	__symbol_get	vmlinux	EXPORT_SYMBOL_GPL
+0xa94b8fcd	_write_trylock	vmlinux	EXPORT_SYMBOL
+0x4f42c597	snd_pcm_hw_constraint_list	sound/core/snd-pcm	EXPORT_SYMBOL
+0x5c0d4b5c	tipc_ref_valid	net/tipc/tipc	EXPORT_SYMBOL
+0x1ec2e70d	matrox_mystique	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0xb60e34a8	nla_memcpy	vmlinux	EXPORT_SYMBOL
+0xbe0e5118	nla_memcmp	vmlinux	EXPORT_SYMBOL
+0xc9fd878f	acpi_ut_exception	vmlinux	EXPORT_SYMBOL
+0x39f5c893	d_materialise_unique	vmlinux	EXPORT_SYMBOL_GPL
+0xc2109aad	kmem_cache_free	vmlinux	EXPORT_SYMBOL
+0xe980e5f7	kmem_cache_name	vmlinux	EXPORT_SYMBOL_GPL
+0x0a880980	DoCMil_init	drivers/mtd/devices/doc2001	EXPORT_SYMBOL_GPL
+0x955e9970	ipmi_request_supply_msgs	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x7c9049bf	prepare_to_wait	vmlinux	EXPORT_SYMBOL
+0x852abecf	__request_region	vmlinux	EXPORT_SYMBOL
+0x456a9662	snd_cs8427_create	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x72adeb24	pcmcia_find_mem_region	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x22cb3a0d	dvb_frontend_reinitialise	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x9e8ad082	save_msrs	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xe089cfcc	agp_memory_reserved	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x5c0f3c34	ata_host_detach	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x48f3b5ba	bdev_read_only	vmlinux	EXPORT_SYMBOL
+0xf0009fee	put_pages_list	vmlinux	EXPORT_SYMBOL
+0x993ad14b	irda_param_extract_all	net/irda/irda	EXPORT_SYMBOL
+0x08b18831	fat_date_unix2dos	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xe250cc8a	dvb_ringbuffer_pkt_next	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x501effa9	sock_wfree	vmlinux	EXPORT_SYMBOL
+0xc54da62d	eisa_driver_unregister	vmlinux	EXPORT_SYMBOL
+0xa93c93ab	test_set_page_writeback	vmlinux	EXPORT_SYMBOL
+0x091eb9b4	round_jiffies	vmlinux	EXPORT_SYMBOL_GPL
+0xab6700a8	snd_ac97_pcm_assign	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xac4e53b9	cx88_user_ctrls	drivers/media/video/cx88/cx8800	EXPORT_SYMBOL
+0x1c745171	dm_destroy_dirty_log	drivers/md/dm-mirror	EXPORT_SYMBOL
+0xb4b8c0b1	qdisc_destroy	vmlinux	EXPORT_SYMBOL
+0xace2b685	ps2_schedule_command	vmlinux	EXPORT_SYMBOL
+0x5594be03	bitmap_remap	vmlinux	EXPORT_SYMBOL
+0x6ad2c761	dquot_commit	vmlinux	EXPORT_SYMBOL
+0x6f878a7b	truncate_inode_pages	vmlinux	EXPORT_SYMBOL
+0x55686709	cxiDestroyOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4ff75f8a	snd_util_mem_alloc	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x0bbd5b42	dvb_frontend_detach	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xead76579	ata_bmdma_thaw	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0422fe4a	inet_csk_timer_bug_msg	vmlinux	EXPORT_SYMBOL
+0xde7c9e59	input_flush_device	vmlinux	EXPORT_SYMBOL
+0xfb96db72	sysfs_notify	vmlinux	EXPORT_SYMBOL_GPL
+0x0948cde9	num_physpages	vmlinux	EXPORT_SYMBOL
+0x793f4ee4	matroxfb_g450_connect	drivers/video/matrox/matroxfb_g450	EXPORT_SYMBOL
+0x61e1a72d	cdebbuf_alloc	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xcd46251e	class_device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x9a1dfd65	strpbrk	vmlinux	EXPORT_SYMBOL
+0xc1ae733f	sysfs_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x1ea57e15	seq_lseek	vmlinux	EXPORT_SYMBOL
+0xd85be938	midi_synth_set_instr	sound/oss/sound	EXPORT_SYMBOL
+0xb213fe8b	snd_info_get_str	sound/core/snd	EXPORT_SYMBOL
+0xcd1bff38	phy_enable_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xdd5a8ccb	cdrom_get_last_written	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x1551dc51	bitmap_find_free_region	vmlinux	EXPORT_SYMBOL
+0x71fa908a	cache_flush	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x6caf8c0e	journal_invalidatepage	fs/jbd/jbd	EXPORT_SYMBOL
+0x91fea8f3	pcmcia_request_configuration	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x95aed401	isdnhdlc_decode	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0xd0bc06ce	capifs_new_ncci	drivers/isdn/capi/capifs	EXPORT_SYMBOL
+0x63af3cf6	xfrm_parse_spi	vmlinux	EXPORT_SYMBOL
+0xc007a6af	leds_list_lock	vmlinux	EXPORT_SYMBOL_GPL
+0x003160a1	set_disk_ro	vmlinux	EXPORT_SYMBOL
+0xf0a529b7	do_softirq	vmlinux	EXPORT_SYMBOL
+0xa8f55626	pcmcia_request_window	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xac1c698a	dib3000mc_pid_parse	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xb60e5e5f	capi_cmsg_header	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x4221c797	bus_find_device	vmlinux	EXPORT_SYMBOL_GPL
+0x8f5bebce	relay_switch_subbuf	vmlinux	EXPORT_SYMBOL_GPL
+0x5834d502	rpc_create	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x43adde09	register_ip_vs_app_inc	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xc3cd68ab	video_device_release	drivers/media/video/videodev	EXPORT_SYMBOL
+0x532e66e7	dst_pio_enable	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x334ef9fb	xfrm_aalg_get_byid	vmlinux	EXPORT_SYMBOL_GPL
+0xa2530696	tcp_create_openreq_child	vmlinux	EXPORT_SYMBOL
+0xe3bcd72f	sk_common_release	vmlinux	EXPORT_SYMBOL
+0x3f686c9e	devm_request_irq	vmlinux	EXPORT_SYMBOL
+0x888a7792	cxiIsSuperUser	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x675aad50	tipc_createport	net/tipc/tipc	EXPORT_SYMBOL
+0x7037d1c7	scsi_io_completion	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5fccf0f5	capi_ctr_resume_output	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x7ee76fff	skb_queue_head	vmlinux	EXPORT_SYMBOL
+0xddc89718	skb_prepare_seq_read	vmlinux	EXPORT_SYMBOL
+0xde37072e	sk_reset_timer	vmlinux	EXPORT_SYMBOL
+0x80ca2713	_read_lock_irqsave	vmlinux	EXPORT_SYMBOL
+0x48a51bd2	cxiAuditWrite	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x92b5cbe5	cxiSetBit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf5b4a948	crc_itu_t	ubuntu/misc/crc-itu-t	EXPORT_SYMBOL
+0xdbd343f7	drm_pci_free	drivers/char/drm/drm	EXPORT_SYMBOL
+0x27dbb943	bio_alloc_bioset	vmlinux	EXPORT_SYMBOL
+0xda9c2374	cxiGetPrivVfsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x559c5315	ieee80211_get_hdrlen_from_skb	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xc25624ca	usb_driver_set_configuration	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xcf8732e7	atmel_open	drivers/net/wireless/atmel	EXPORT_SYMBOL
+0x5e56365d	mii_ethtool_gset	drivers/net/mii	EXPORT_SYMBOL
+0xc652aa1d	mii_ethtool_sset	drivers/net/mii	EXPORT_SYMBOL
+0xb5045e20	videobuf_querybuf	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xfdce9842	acpi_processor_power_init_bm_check	vmlinux	EXPORT_SYMBOL
+0x7c0c0195	cxiCanUncacheOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb602c57e	nf_ct_l3proto_module_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbb415593	gameport_stop_polling	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xb579b201	ib_get_cached_lmc	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x50c75999	agp_backend_acquire	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x4acec6eb	release_sock	vmlinux	EXPORT_SYMBOL
+0xd0de299d	class_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xd696115d	textsearch_destroy	vmlinux	EXPORT_SYMBOL
+0x5aaa7cd3	drive_info	vmlinux	EXPORT_SYMBOL
+0xc098eb24	snd_pcm_hw_constraint_msbits	sound/core/snd-pcm	EXPORT_SYMBOL
+0x08225101	cx8802_unregister_driver	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x4a195d00	unmap_underlying_metadata	vmlinux	EXPORT_SYMBOL
+0x30829b67	sync_inode	vmlinux	EXPORT_SYMBOL
+0x8f6b7950	set_irq_data	vmlinux	EXPORT_SYMBOL
+0x4964fec5	cxiDetachSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x8b342ac3	cxiAttachSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0838dae5	ieee80211softmac_wx_set_mlme	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x35e33c1e	nfs4_acl_write_who	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x092cb00c	input_register_device	vmlinux	EXPORT_SYMBOL
+0xecffb6f6	__invalidate_device	vmlinux	EXPORT_SYMBOL
+0xda509db0	snd_midi_event_reset_encode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0xb64c3716	led_classdev_unregister	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0x73ac3805	gigaset_stop	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x2ba707a8	sysctl_tcp_low_latency	vmlinux	EXPORT_SYMBOL
+0x1163f0a7	blk_max_low_pfn	vmlinux	EXPORT_SYMBOL
+0x12d5b9b0	blk_queue_free_tags	vmlinux	EXPORT_SYMBOL
+0xda40d31e	simple_sync_file	vmlinux	EXPORT_SYMBOL
+0x2cf190e3	request_irq	vmlinux	EXPORT_SYMBOL
+0x323bda12	register_sysctl_table	vmlinux	EXPORT_SYMBOL
+0x6a27bfce	csum_partial_copy_generic	vmlinux	EXPORT_SYMBOL
+0x78ed2450	cxiSendBreakMsg	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2c7d6c5c	cap_task_reparent_to_init	security/commoncap	EXPORT_SYMBOL
+0xdbd5da79	irias_add_string_attrib	net/irda/irda	EXPORT_SYMBOL
+0x279e265f	ieee80211_crypt_deinit_handler	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x7ad45e7e	cx88_ioctl_translator	drivers/media/video/cx88/cx88-blackbird	EXPORT_SYMBOL
+0x951776d3	kvm_hypercall	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x5be89352	ohci1394_unregister_iso_tasklet	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0x44bd6e72	tty_flip_buffer_push	vmlinux	EXPORT_SYMBOL
+0xad45df73	midi_synth_close	sound/oss/sound	EXPORT_SYMBOL
+0x608063cb	ieee80211softmac_wx_set_genie	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x25cf8049	matroxfb_PLL_calcclock	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x4948a9b9	atm_dev_register	vmlinux	EXPORT_SYMBOL
+0x232d9dbd	uart_get_divisor	vmlinux	EXPORT_SYMBOL
+0x89ffd5c2	inotify_init_watch	vmlinux	EXPORT_SYMBOL_GPL
+0xf9a482f9	msleep	vmlinux	EXPORT_SYMBOL
+0xbda7965f	register_wlandev	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xfa72d781	snd_opl4_read	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x7dc39788	unregister_netdev	vmlinux	EXPORT_SYMBOL
+0x31b4d9bd	__bforget	vmlinux	EXPORT_SYMBOL
+0xd0b33346	xdr_reserve_space	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x4039bb51	xt_register_table	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xa743975a	set_h225_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0xb015522b	lapb_disconnect_request	net/lapb/lapb	EXPORT_SYMBOL
+0xac9617ae	inet6_add_protocol	net/ipv6/ipv6	EXPORT_SYMBOL
+0xc0ac924b	scsi_device_lookup_by_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe0ff7a18	unregister_pppox_proto	drivers/net/pppox	EXPORT_SYMBOL
+0xbca0f20f	md_unregister_thread	drivers/md/md-mod	EXPORT_SYMBOL
+0x97fede52	sock_no_listen	vmlinux	EXPORT_SYMBOL
+0x79aa04a2	get_random_bytes	vmlinux	EXPORT_SYMBOL
+0xab600421	probe_irq_off	vmlinux	EXPORT_SYMBOL
+0x1b5550ff	cxiWaitEventBroadcast	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5774e243	rpcauth_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe4e02658	ipmi_smi_add_proc_entry	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x64d59fa4	tcf_exts_destroy	vmlinux	EXPORT_SYMBOL
+0x0b5d232a	ata_dev_try_classify	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x1d435266	sock_no_poll	vmlinux	EXPORT_SYMBOL
+0x82ee8418	VFSStatPoint_begin	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4d9b6d35	snd_pcm_format_size	sound/core/snd-pcm	EXPORT_SYMBOL
+0x0477afc3	unregister_ip_vs_scheduler	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x3ec58a1f	ib_alloc_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x3797e731	vlan_ioctl_set	vmlinux	EXPORT_SYMBOL
+0x6a037cf1	mempool_kfree	vmlinux	EXPORT_SYMBOL
+0xb1ec5460	cxiCopyOut	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6619df67	cap_inode_setxattr	security/commoncap	EXPORT_SYMBOL
+0xfe623ec0	irda_device_register_dongle	net/irda/irda	EXPORT_SYMBOL
+0x12f7ec78	irttp_data_request	net/irda/irda	EXPORT_SYMBOL
+0x343c88ad	irlmp_data_request	net/irda/irda	EXPORT_SYMBOL
+0x023019fa	scsi_scan_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf22eba1b	register_quota_format	vmlinux	EXPORT_SYMBOL
+0x4fffae55	remove_arg_zero	vmlinux	EXPORT_SYMBOL
+0xf2ed2f6b	remap_pfn_range	vmlinux	EXPORT_SYMBOL
+0xa7c35c6b	getnstimeofday	vmlinux	EXPORT_SYMBOL
+0x2b11bdcd	snd_opl4_create	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x7cfe148a	snd_opl3_create	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0xc5cbfadb	dccp_v4_conn_request	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0x1aea7d44	write_dst	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x8387d1d0	i2c_attach_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x7da28f12	nvram_check_checksum	drivers/char/nvram	EXPORT_SYMBOL
+0xaa9738d3	device_bind_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x9bf0a38e	file_update_time	vmlinux	EXPORT_SYMBOL
+0x4e0805e8	inet6_csk_search_req	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x44c4ef6d	mb_cache_entry_alloc	fs/mbcache	EXPORT_SYMBOL
+0x87406d9d	nand_correct_data	drivers/mtd/nand/nand_ecc	EXPORT_SYMBOL
+0x6b87c69d	ir_codes_iodata_bctv7e	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xf49bc67a	atm_pcr_goal	vmlinux	EXPORT_SYMBOL
+0x717bb0f7	kobject_uevent_env	vmlinux	EXPORT_SYMBOL_GPL
+0x50f9ce02	relay_file_operations	vmlinux	EXPORT_SYMBOL_GPL
+0xa69c2c09	sound_class	sound/soundcore	EXPORT_SYMBOL
+0xfd486b47	snd_emu10k1_voice_alloc	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x296b99f2	snd_seq_kernel_client_dispatch	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x085466c6	rpc_wake_up_status	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x75e89cc3	ir_codes_flydvb	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xdf697582	pi_read_regr	drivers/block/paride/paride	EXPORT_SYMBOL
+0xf39bf4d9	put_cmsg	vmlinux	EXPORT_SYMBOL
+0xb62ca3bf	skb_free_datagram	vmlinux	EXPORT_SYMBOL
+0xb5b8f16f	filp_close	vmlinux	EXPORT_SYMBOL
+0x2e85e391	wait_for_completion_interruptible	vmlinux	EXPORT_SYMBOL
+0x8d1a827e	svcauth_gss_register_pseudoflavor	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x67b27ec1	tty_std_termios	vmlinux	EXPORT_SYMBOL
+0x1c2b6a0f	generic_readlink	vmlinux	EXPORT_SYMBOL
+0xc8d080c9	usbnet_nway_reset	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x458c8ac6	usb_deregister_device_driver	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x607e1920	saa7134_ts_unregister	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x7e6f1307	capi20_get_manufacturer	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x2b88187d	ether_setup	vmlinux	EXPORT_SYMBOL
+0x17b70d45	device_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xec31509e	elv_dequeue_request	vmlinux	EXPORT_SYMBOL
+0x9c18ef4d	__break_lease	vmlinux	EXPORT_SYMBOL
+0xdc76cbcb	param_set_bool	vmlinux	EXPORT_SYMBOL
+0x0e358346	__capable	vmlinux	EXPORT_SYMBOL
+0x0b046e4e	ieee80211softmac_fragment_lost	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x11b35c6b	i2o_find_iop	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xfa177653	ir_codes_pixelview	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x30c8cb4c	truncate_inode_pages_range	vmlinux	EXPORT_SYMBOL
+0x14090044	force_sig	vmlinux	EXPORT_SYMBOL
+0x16756dc0	snd_usbmidi_input_start	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0x584edccf	parport_ieee1284_read_nibble	drivers/parport/parport	EXPORT_SYMBOL
+0xfb981300	ir_codes_pinnacle_color	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x041091a5	highlevel_host_reset	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7163233a	d_path	vmlinux	EXPORT_SYMBOL
+0x50bb76ef	_XTrace	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x9835cc72	alloc_ieee80211softmac	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xd8c9436f	b1dma_load_firmware	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xee5a11eb	system_bus_clock	vmlinux	EXPORT_SYMBOL
+0x5cd363d7	fs_subsys	vmlinux	EXPORT_SYMBOL_GPL
+0x7c4532a2	snd_emu8000_update_chorus_mode	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x36d7e72e	snd_gf1_pcm_new	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x8cb99352	hci_free_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x470483be	usbnet_resume	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xda864e95	ide_pci_setup_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x7ecf179b	igrab	vmlinux	EXPORT_SYMBOL
+0x3c28dffb	ssb_device_disable	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xdee21590	snd_pcm_open_substream	sound/core/snd-pcm	EXPORT_SYMBOL
+0x4740e7a3	ir_codes_empty	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x8d780543	rtnl_notify	vmlinux	EXPORT_SYMBOL
+0xa7d12bfe	per_cpu__softnet_data	vmlinux	EXPORT_SYMBOL
+0x51ccf6eb	sock_recvmsg	vmlinux	EXPORT_SYMBOL
+0xe4ecb465	snd_ac97_update	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x0f68a92f	snd_device_free	sound/core/snd	EXPORT_SYMBOL
+0xc947a027	nf_ct_l3protos	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x254f230c	nand_calculate_ecc	drivers/mtd/nand/nand_ecc	EXPORT_SYMBOL
+0x55908f33	dvb_pll_thomson_fe6600	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xe833901f	gameport_rescan	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x18245922	linkwatch_fire_event	vmlinux	EXPORT_SYMBOL
+0x5ac376a5	acpi_install_fixed_event_handler	vmlinux	EXPORT_SYMBOL
+0xb5b9d827	kfifo_alloc	vmlinux	EXPORT_SYMBOL
+0xac9282d0	GetDiskInfoX	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1598dc9d	unregister_netevent_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x9f08d2fa	cxiWaitEventWakeupOne	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc75f52ff	rpc_queue_upcall	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x47f93661	ct_sip_get_info	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0x1d8abedb	hiddev_hid_event	drivers/usb/input/usbhid	EXPORT_SYMBOL_GPL
+0x5eb23e47	set_cr4	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xa578173b	gpfs_clean	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x43d91455	snd_pcm_period_elapsed	sound/core/snd-pcm	EXPORT_SYMBOL
+0x60ec3831	usbatm_usb_probe	drivers/usb/atm/usbatm	EXPORT_SYMBOL_GPL
+0xf61ce1aa	ixj_pcmcia_probe	drivers/telephony/ixj	EXPORT_SYMBOL
+0xe0518b35	cxiPathToVfsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf07533a1	ir_codes_videomate_tv_pvr	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x8f699913	capilib_release	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x7a33596c	capi20_get_serial	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x0c2fa520	uart_write_wakeup	vmlinux	EXPORT_SYMBOL
+0x2a6c585e	pci_bus_read_config_word	vmlinux	EXPORT_SYMBOL
+0x6defe48d	cxiBlockingMutexInit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2fe4026e	rtl_ieee80211_softmac_start_protocol	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xff2699b0	snd_emu10k1_synth_copy_from_user	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x1d135981	tifm_alloc_device	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x2a386384	b1dma_interrupt	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xbaf59586	skb_append	vmlinux	EXPORT_SYMBOL
+0xc36d17b7	pciserial_suspend_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x48f1fa49	schedule_delayed_work_on	vmlinux	EXPORT_SYMBOL
+0x76f70d8b	hpsb_iso_recv_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x1a883f75	sk_stream_error	vmlinux	EXPORT_SYMBOL
+0xa7ff069c	audit_log_start	vmlinux	EXPORT_SYMBOL
+0x5d19925f	saa7134_boards	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0xcf6737e5	ata_dummy_irq_on	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x876dafc3	ec_write	vmlinux	EXPORT_SYMBOL
+0xf82f48fc	acpi_os_delete_semaphore	vmlinux	EXPORT_SYMBOL
+0x2bc95bd4	memset	vmlinux	EXPORT_SYMBOL
+0x66355492	sget	vmlinux	EXPORT_SYMBOL
+0x2cc8c99a	set_irq_chip	vmlinux	EXPORT_SYMBOL
+0xef509d51	nfattr_parse	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xfd6652c0	hci_send_sco	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xac8f0bdb	cdrom_media_changed	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x29ef10ed	blk_queue_max_hw_segments	vmlinux	EXPORT_SYMBOL
+0xf3109359	snd_ak4117_build	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0xb61e4557	snd_ak4114_build	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0x1472b270	tipc_disconnect	net/tipc/tipc	EXPORT_SYMBOL
+0x6699a6de	videobuf_dma_free	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x9857c37e	gs_init_port	drivers/char/generic_serial	EXPORT_SYMBOL
+0x95fde4e4	acpi_os_wait_semaphore	vmlinux	EXPORT_SYMBOL
+0x064db9a5	mark_mounts_for_expiry	vmlinux	EXPORT_SYMBOL_GPL
+0x4550ba8a	register_cpu_notifier	vmlinux	EXPORT_SYMBOL
+0xcec760d3	dpm_runtime_resume	vmlinux	EXPORT_SYMBOL
+0x6d340f64	tty_termios_input_baud_rate	vmlinux	EXPORT_SYMBOL
+0x891adbf4	irias_add_integer_attrib	net/irda/irda	EXPORT_SYMBOL
+0xe96e8b2e	spi_attach_transport	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x8421fd71	tpm_show_temp_deactivated	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x90713d75	unregister_cdrom	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x7c04d7fe	xfrm_aalg_get_byidx	vmlinux	EXPORT_SYMBOL_GPL
+0xf29f3b0c	unregister_tcf_proto_ops	vmlinux	EXPORT_SYMBOL
+0xbdf9b3b5	ps2_drain	vmlinux	EXPORT_SYMBOL
+0x56f9d0e2	register_chrdev	vmlinux	EXPORT_SYMBOL
+0x0ef52aba	cap_capable	security/commoncap	EXPORT_SYMBOL
+0x1ea78619	drm_agp_bind	drivers/char/drm/drm	EXPORT_SYMBOL
+0x1d4e394c	agp3_generic_tlbflush	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x1e609856	acpi_bus_get_status	vmlinux	EXPORT_SYMBOL
+0x334180bf	idr_get_new_above	vmlinux	EXPORT_SYMBOL
+0xa6bb414c	sound_unload_mididev	sound/oss/sound	EXPORT_SYMBOL
+0xaf3dd7dc	scsi_logging_level	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x1cde12a0	nla_put	vmlinux	EXPORT_SYMBOL
+0x27605241	ide_unregister_subdriver	vmlinux	EXPORT_SYMBOL
+0x22013361	transport_configure_device	vmlinux	EXPORT_SYMBOL_GPL
+0x2190029f	__user_walk_fd	vmlinux	EXPORT_SYMBOL
+0xb85b2bac	vm_stat	vmlinux	EXPORT_SYMBOL
+0x9dabbad9	register_sound_dsp	sound/soundcore	EXPORT_SYMBOL
+0xfaa0b482	hdlc_setup	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x6e26d1ab	ipmi_register_smi	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x707e31d1	hwrng_register	vmlinux	EXPORT_SYMBOL_GPL
+0x1b74901e	misc_register	vmlinux	EXPORT_SYMBOL
+0x7bb96d25	block_invalidatepage	vmlinux	EXPORT_SYMBOL
+0x9192c6b0	may_umount_tree	vmlinux	EXPORT_SYMBOL
+0x9f06cd39	synth_done	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x02fb5bec	synth_devs	sound/oss/sound	EXPORT_SYMBOL
+0x62a681a3	tipc_portunreturnable	net/tipc/tipc	EXPORT_SYMBOL
+0x636b12c8	nf_nat_need_gre	net/ipv4/netfilter/nf_nat_proto_gre	EXPORT_SYMBOL_GPL
+0xbf0f3f7c	dvb_usb_device_init	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xe8580fd9	tty_ldisc_ref	vmlinux	EXPORT_SYMBOL_GPL
+0x02a1e1ac	devm_ioport_map	vmlinux	EXPORT_SYMBOL
+0x3b41aa7d	init_timer	vmlinux	EXPORT_SYMBOL
+0x56179c5f	mtrr_add	vmlinux	EXPORT_SYMBOL
+0x420067ac	dccp_sendmsg	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xbfee3ad5	loop_unregister_transfer	drivers/block/loop	EXPORT_SYMBOL
+0x4e39c011	clip_tbl_hook	vmlinux	EXPORT_SYMBOL
+0x652a6e0c	ide_dma_start	vmlinux	EXPORT_SYMBOL_GPL
+0xb07dfb3d	acpi_remove_gpe_handler	vmlinux	EXPORT_SYMBOL
+0xc3880471	xdr_decode_netobj	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xdd6f3bff	sata_set_spd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf83036d8	ethtool_op_set_tso	vmlinux	EXPORT_SYMBOL
+0xda08c0d7	pcibios_get_irq_routing_table	vmlinux	EXPORT_SYMBOL
+0xe7b20f8f	pci_restore_state	vmlinux	EXPORT_SYMBOL
+0x1699716a	do_generic_mapping_read	vmlinux	EXPORT_SYMBOL
+0xf6b3a2fb	midi_synth_open	sound/oss/sound	EXPORT_SYMBOL
+0xb41a13d0	NCR_700_detect	drivers/scsi/53c700	EXPORT_SYMBOL
+0xf56e8ca6	flexcop_dma_config_timer	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xa35898f2	flexcop_device_initialize	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xa8d6daac	iTCO_vendor_pre_start	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x33d9e71a	register_atm_ioctl	vmlinux	EXPORT_SYMBOL
+0x3538f810	acpi_bus_trim	vmlinux	EXPORT_SYMBOL_GPL
+0x137de2a9	inode_sub_bytes	vmlinux	EXPORT_SYMBOL
+0xf712df5a	inode_set_bytes	vmlinux	EXPORT_SYMBOL
+0x195b7d4f	dlmlock	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xb886cd8b	gfs2_unregister_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x481afc98	mdiobus_register	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x8e32454d	videobuf_queue_init	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x068207f4	ib_cm_notify	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x928f3cac	agp_enable	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x025d66e1	arp_xmit	vmlinux	EXPORT_SYMBOL
+0xf679aa94	__dev_get_by_index	vmlinux	EXPORT_SYMBOL
+0x722a0a0a	_read_lock	vmlinux	EXPORT_SYMBOL
+0x465a12b0	__create_workqueue	vmlinux	EXPORT_SYMBOL_GPL
+0xabe77484	securebits	vmlinux	EXPORT_SYMBOL
+0xe6feec6f	cxiSafePutInt	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc687823d	cxiSafeGetInt	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7faa2e10	snd_ad1848_create	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x3353c2b1	snd_timer_interrupt	sound/core/snd-timer	EXPORT_SYMBOL
+0xedcf6be4	qword_add	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x740a3694	capi_ctr_suspend_output	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xbfe2624e	__inet6_lookup_established	vmlinux	EXPORT_SYMBOL
+0x0a9fa8ac	__nla_put_nohdr	vmlinux	EXPORT_SYMBOL
+0xe72bafee	pci_proc_attach_device	vmlinux	EXPORT_SYMBOL
+0xd850de08	flush_tlb_page	vmlinux	EXPORT_SYMBOL
+0x475e158a	synth_request_region	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x2690ec0e	usbnet_probe	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x90bd13d6	md_register_thread	drivers/md/md-mod	EXPORT_SYMBOL
+0x17df17bc	sysctl_tcp_ecn	vmlinux	EXPORT_SYMBOL
+0xce36ded6	sysctl_tcp_mem	vmlinux	EXPORT_SYMBOL
+0x91eecf50	ethtool_op_set_tx_csum	vmlinux	EXPORT_SYMBOL
+0x19f9baab	snd_sbmixer_suspend	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x29d77a71	generic_mii_ioctl	drivers/net/mii	EXPORT_SYMBOL
+0xa6ae80b8	ata_scsi_device_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf4973d1d	inet_csk_accept	vmlinux	EXPORT_SYMBOL
+0x88d1da24	inet_hash_connect	vmlinux	EXPORT_SYMBOL_GPL
+0x216b2b36	alloc_trdev	vmlinux	EXPORT_SYMBOL
+0x6bb8acd7	do_splice_direct	vmlinux	EXPORT_SYMBOL
+0x62c7144c	bt_accept_dequeue	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x6bab04c2	usb_bulk_msg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xba7d0f15	bitmap_endwrite	drivers/md/md-mod	EXPORT_SYMBOL
+0x0baf117e	kfifo_free	vmlinux	EXPORT_SYMBOL
+0xfddcbfb3	midi_synth_send_sysex	sound/oss/sound	EXPORT_SYMBOL
+0x7c8b3ca6	matrox_G100	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0x0d8e787a	acpiphp_register_attention	drivers/pci/hotplug/acpiphp	EXPORT_SYMBOL_GPL
+0x0c1ed672	hdlcdrv_unregister	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0x45729c1c	videobuf_mmap_mapper	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4e54f849	xfrm_state_delete_tunnel	vmlinux	EXPORT_SYMBOL
+0x756a3691	platform_device_add_resources	vmlinux	EXPORT_SYMBOL_GPL
+0x4c3905f6	in6_dev_finish_destroy	net/ipv6/ipv6	EXPORT_SYMBOL
+0xcf9f3328	dlm_release_lockspace	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0xa39d150a	sas_expander_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x1ce29e2d	scsi_rescan_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa19af145	hpsb_register_addrspace	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x14db3d3c	acpi_unlock_ac_dir	vmlinux	EXPORT_SYMBOL
+0xea5233b0	unregister_framebuffer	vmlinux	EXPORT_SYMBOL
+0x03a99c3b	rb_prev	vmlinux	EXPORT_SYMBOL
+0xb68aed46	user_match	vmlinux	EXPORT_SYMBOL_GPL
+0xea065e01	task_handoff_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x5ca74608	ebt_unregister_target	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xa56be9ba	capi20_register	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x9a262204	_csr1212_read_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf2a6d2bf	xfrm_policy_count	vmlinux	EXPORT_SYMBOL
+0x4df6e6de	nf_unregister_queue_handler	vmlinux	EXPORT_SYMBOL
+0x24eb7e32	leds_list	vmlinux	EXPORT_SYMBOL_GPL
+0xd0470c98	acpi_evaluate_object	vmlinux	EXPORT_SYMBOL
+0xeae3dfd6	__const_udelay	vmlinux	EXPORT_SYMBOL
+0x8c07ab60	snd_ac97_resume	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x482320ba	capi_ctr_handle_message	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x2530943a	ipmi_smi_msg_received	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x1373ba63	__ide_pci_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x4437a0bd	handle_sysrq	vmlinux	EXPORT_SYMBOL
+0x32e4c2e6	pcie_port_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0x7d850612	utf8_mbstowcs	vmlinux	EXPORT_SYMBOL
+0x1cc6719a	register_reboot_notifier	vmlinux	EXPORT_SYMBOL
+0xc045ad4e	timespec_trunc	vmlinux	EXPORT_SYMBOL
+0xdc985bb8	dccp_send_ack	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xe7c3b892	dccp_rx_hist_delete	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xf5fda9e9	scsi_tgt_queue_command	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0xdfd28376	b1_detect	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x51876f77	tpm_show_active	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x2b6aac8c	tcp_sockets_allocated	vmlinux	EXPORT_SYMBOL
+0x3e2ae3a8	acpi_release_global_lock	vmlinux	EXPORT_SYMBOL
+0x71c1b2c3	scsi_device_quiesce	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xca49ad9e	cx2341x_ext_ctrls	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xcf683cf2	saa7146_devices	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xbf0cb97e	csr1212_new_directory	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x30dd8074	cpufreq_driver_getavg	vmlinux	EXPORT_SYMBOL_GPL
+0x3ee6b6ef	snd_pcm_hw_param_first	sound/core/snd-pcm	EXPORT_SYMBOL
+0xd171f95f	add_mtd_partitions	drivers/mtd/mtdpart	EXPORT_SYMBOL
+0x454aa44f	gigaset_debuglevel	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xf184d189	kernel_power_off	vmlinux	EXPORT_SYMBOL_GPL
+0x871147c5	snd_hda_queue_unsol_event	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x8c3a2050	snd_tea6330t_detect	sound/i2c/snd-tea6330t	EXPORT_SYMBOL
+0x2735f819	snd_pcm_new	sound/core/snd-pcm	EXPORT_SYMBOL
+0xc4e6a8a2	svc_create_pooled	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xcff83477	ip6t_unregister_table	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0x1c6c183b	sas_read_port_mode_page	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x1e7f8d13	sas_unregister_ha	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x3f3b323a	isac_d_l2l1	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x48ba15dd	genl_register_ops	vmlinux	EXPORT_SYMBOL
+0x23e295ba	con_copy_unimap	vmlinux	EXPORT_SYMBOL
+0xd5e669c9	tty_ldisc_ref_wait	vmlinux	EXPORT_SYMBOL_GPL
+0x104c969f	block_commit_write	vmlinux	EXPORT_SYMBOL
+0x07a7641d	lapb_setparms	net/lapb/lapb	EXPORT_SYMBOL
+0xc5917399	ircomm_control_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x02b0cf39	dccp_rx_hist_find_entry	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x13fa6069	journal_get_undo_access	fs/jbd/jbd	EXPORT_SYMBOL
+0x373d8509	videobuf_dma_sync	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x98383e25	xfrm_nl	vmlinux	EXPORT_SYMBOL
+0xcd48a670	__netdev_alloc_skb	vmlinux	EXPORT_SYMBOL
+0x23cf34b8	class_device_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xf4b901c5	acpi_lock_ac_dir	vmlinux	EXPORT_SYMBOL
+0x36bd2ff3	cxiHasMountHelper	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3766d94f	nf_ct_invert_tuplepr	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x9f4b451d	ide_spin_wait_hwgroup	vmlinux	EXPORT_SYMBOL
+0xbcc6fcaf	fb_set_suspend	vmlinux	EXPORT_SYMBOL
+0x015612b7	dput	vmlinux	EXPORT_SYMBOL
+0x8aba5a8f	tipc_createport_raw	net/tipc/tipc	EXPORT_SYMBOL
+0xf7111aa5	rpc_delay	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x5bd26000	rpc_proc_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc428068d	sata_deb_timing_long	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x58097c98	ata_pci_init_native_mode	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc137578e	tcp_v4_remember_stamp	vmlinux	EXPORT_SYMBOL
+0x4b88e224	device_power_up	vmlinux	EXPORT_SYMBOL_GPL
+0x4dc4a17a	screen_glyph	vmlinux	EXPORT_SYMBOL
+0xf6fb6bd0	nobh_commit_write	vmlinux	EXPORT_SYMBOL
+0xf02de5ba	srcu_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x376f3a96	scsi_is_sdev_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5ad04cc5	class_to_transport_session	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x5b579b27	sk_free	vmlinux	EXPORT_SYMBOL
+0x02cd3086	__down_failed_trylock	vmlinux	EXPORT_SYMBOL
+0x5c862781	getpid	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf062b2cb	ieee80211_stop_queue	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x2161d5e8	sound_timer_init	sound/oss/sound	EXPORT_SYMBOL
+0xbdae3fc6	snd_gf1_free_voice	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x56428ef1	ieee80211softmac_notify_gfp	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x3e41a188	parport_set_timeout	drivers/parport/parport	EXPORT_SYMBOL
+0xa48ef78c	v4l2_norm_to_name	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x0feae9a7	dm_io_put	drivers/md/dm-mod	EXPORT_SYMBOL
+0x9c633114	pci_bus_max_busnr	vmlinux	EXPORT_SYMBOL_GPL
+0xaf271b8b	kobject_init	vmlinux	EXPORT_SYMBOL
+0x3b0e8c89	flush_workqueue	vmlinux	EXPORT_SYMBOL_GPL
+0x4b8dee6d	sleep_on	vmlinux	EXPORT_SYMBOL
+0x06a3ee58	irias_new_integer_value	net/irda/irda	EXPORT_SYMBOL
+0xb0faee49	dccp_ioctl	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x8ede9206	parport_read	drivers/parport/parport	EXPORT_SYMBOL
+0xd74b4585	mpt_suspend	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x0fe8c633	key_type_user	vmlinux	EXPORT_SYMBOL_GPL
+0x1184346b	proc_bus	vmlinux	EXPORT_SYMBOL
+0xb642b5a0	simple_lookup	vmlinux	EXPORT_SYMBOL
+0xf1e25361	usb_match_id	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL_FUTURE
+0x9a43af56	ib_query_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf78d04ab	netlink_register_notifier	vmlinux	EXPORT_SYMBOL
+0x3c969d4d	dma_async_client_register	vmlinux	EXPORT_SYMBOL
+0xe897bbe4	usb_add_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x8d12f837	ib_ud_header_pack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x08b2b45a	xfrm_policy_insert	vmlinux	EXPORT_SYMBOL
+0x93f31e36	skb_segment	vmlinux	EXPORT_SYMBOL_GPL
+0xc280a525	__copy_from_user_ll	vmlinux	EXPORT_SYMBOL
+0x8202cd17	unlock_rename	vmlinux	EXPORT_SYMBOL
+0x73b1f76d	do_posix_clock_nosettime	vmlinux	EXPORT_SYMBOL_GPL
+0xfb4d5129	snd_opl3_timer_new	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x824f2a99	ip_vs_conn_put	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xfeed7430	i2o_parm_table_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xfc0a3f01	dib7000p_attach	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0x0b4a901b	dib7000m_attach	drivers/media/dvb/frontends/dib7000m	EXPORT_SYMBOL
+0xb14ce7c8	capi20_put_message	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x91dee835	tcp_init_congestion_ops	vmlinux	EXPORT_SYMBOL_GPL
+0x60f3ea06	device_create	vmlinux	EXPORT_SYMBOL_GPL
+0x51c24f41	simple_rmdir	vmlinux	EXPORT_SYMBOL
+0x960f1353	free_task	vmlinux	EXPORT_SYMBOL
+0xfbcc22bb	usb_register_driver	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL_FUTURE
+0x7a93cf4f	scsi_block_requests	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5838f6c9	rtc_valid_tm	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x3238aa7c	i2c_del_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xc6f51fa0	drm_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0xe9381c2d	ata_port_online	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0fad2c04	cxiGetFcntlOwner	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x99c95fa5	unregister_sound_special	sound/soundcore	EXPORT_SYMBOL
+0xda7f9d3f	tipc_attach	net/tipc/tipc	EXPORT_SYMBOL
+0x751cc044	irttp_disconnect_request	net/irda/irda	EXPORT_SYMBOL
+0x69dbcb1a	irlmp_disconnect_request	net/irda/irda	EXPORT_SYMBOL
+0x91cc543c	fat_dir_empty	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x233a0974	sas_end_device_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x87158170	mmc_release_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xe0e24d1c	ata_port_disable	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xcd1266e1	__getblk	vmlinux	EXPORT_SYMBOL
+0xb7cb6ff3	cdev_alloc	vmlinux	EXPORT_SYMBOL
+0x8874b79e	x86_cpu_to_apicid	vmlinux	EXPORT_SYMBOL
+0x6a419c1a	kxMadvise	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4e23d76d	dvb_dmx_swfilter_packets	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x9748a721	iw_cm_connect	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xcf47e392	acpi_get_current_resources	vmlinux	EXPORT_SYMBOL
+0x61c25cbf	vfs_quota_sync	vmlinux	EXPORT_SYMBOL
+0xd0efe320	iTCO_vendor_pre_stop	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x295075ba	ata_cable_sata	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x65dde8cf	rpc_clnt_sigunmask	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xb8275e24	svc_exit_thread	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x36e00999	z8530_txdma_sync	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xa8c863c6	cx88_newstation	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xe726ced5	ipmi_smi_watchdog_pretimeout	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xfdab2b9c	rtc_register	vmlinux	EXPORT_SYMBOL
+0x826b02f1	pagevec_lookup_tag	vmlinux	EXPORT_SYMBOL
+0x74cc238d	current_kernel_time	vmlinux	EXPORT_SYMBOL
+0x22fb45c4	cxiBigFree	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x82afa3af	probe_sbmpu	sound/oss/sb_lib	EXPORT_SYMBOL
+0x9120fedf	snd_gf1_peek	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x85d44bea	print_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x16526c12	iriap_getvaluebyclass_request	net/irda/irda	EXPORT_SYMBOL
+0x651527f8	usb_reset_device	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x83761815	gigaset_initcs	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x956e468e	ata_sas_queuecmd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x12b31a9c	tcp_reno_cong_avoid	vmlinux	EXPORT_SYMBOL_GPL
+0x5a744b86	netlink_set_nonroot	vmlinux	EXPORT_SYMBOL
+0x23d0646c	skb_truesize_bug	vmlinux	EXPORT_SYMBOL
+0xa05cb6c7	locks_copy_lock	vmlinux	EXPORT_SYMBOL
+0x93a64734	FsmChangeState	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x2752f649	netpoll_poll	vmlinux	EXPORT_SYMBOL
+0x18158be2	gnet_stats_start_copy_compat	vmlinux	EXPORT_SYMBOL
+0x81031ea3	synth_stop_timer	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x1cadb14b	snd_vx_irq_handler	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x01bcb15f	inet6_del_protocol	net/ipv6/ipv6	EXPORT_SYMBOL
+0x173db97b	pcmcia_eject_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x5179f897	udplite_prot	vmlinux	EXPORT_SYMBOL
+0x29366614	sock_create_kern	vmlinux	EXPORT_SYMBOL
+0xe8431918	transport_remove_device	vmlinux	EXPORT_SYMBOL_GPL
+0xa51c913b	sound_unload_mixerdev	sound/oss/sound	EXPORT_SYMBOL
+0xf152a637	eisa_bus_type	vmlinux	EXPORT_SYMBOL
+0x2a678a13	__suspend_report_result	vmlinux	EXPORT_SYMBOL_GPL
+0xc899f5f6	acpi_evaluate_reference	vmlinux	EXPORT_SYMBOL
+0x44e1f2eb	unregister_security	vmlinux	EXPORT_SYMBOL_GPL
+0x90281259	snd_timer_open	sound/core/snd-timer	EXPORT_SYMBOL
+0x0fa30956	snd_rawmidi_transmit_empty	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x53dbeea6	zlib_deflateEnd	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0xee8f4b3f	stop_airo_card	drivers/net/wireless/airo	EXPORT_SYMBOL
+0x895f443f	ata_hsm_move	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x74a122a9	fb_set_cmap	vmlinux	EXPORT_SYMBOL
+0xbe2887af	pci_unregister_driver	vmlinux	EXPORT_SYMBOL
+0xb376d79d	radix_tree_tagged	vmlinux	EXPORT_SYMBOL
+0xe7bee6f8	unload_nls	vmlinux	EXPORT_SYMBOL
+0x2493ac08	tsstat	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4bb7a033	sunrpc_cache_update	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x52688d48	ax25_listen_release	net/ax25/ax25	EXPORT_SYMBOL
+0xf4a8bdaa	dvb_dmx_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x60905c6f	skb_gso_segment	vmlinux	EXPORT_SYMBOL
+0x389d2bb4	kernel_listen	vmlinux	EXPORT_SYMBOL
+0xe4ca5b25	serio_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x851eb209	pnp_register_card_driver	vmlinux	EXPORT_SYMBOL
+0x76bf656d	__bitmap_shift_left	vmlinux	EXPORT_SYMBOL
+0x87a9b0c8	dquot_free_space	vmlinux	EXPORT_SYMBOL
+0x2fcae6c0	gss_mech_get	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x19d2a96a	nat_rtp_rtcp_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0xbe9b86a5	ieee80211softmac_clear_pending_work	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xb3bf89e6	ebt_unregister_table	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xc6e4520f	__scsi_device_lookup	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x0eecb224	ata_bmdma_stop	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0974546e	ide_dma_enable	vmlinux	EXPORT_SYMBOL
+0x2e60bace	memcpy	vmlinux	EXPORT_SYMBOL
+0xda6f2358	crypto_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x7a84f84e	cxiRecordSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd29b009f	crc_itu_t_table	ubuntu/misc/crc-itu-t	EXPORT_SYMBOL
+0x8e4792d8	snd_cs4231_mce_up	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xd97522fd	rpc_run_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x42684a72	ip6t_do_table	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0x27d6a8b7	spi_release_transport	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x11dc4b6d	bttv_gpio_enable	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xb57037c3	ib_sa_unregister_client	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x83ac0414	ata_std_postreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xaa0f3c7d	__ide_dma_lostirq	vmlinux	EXPORT_SYMBOL
+0x478d10b2	ht_destroy_irq	vmlinux	EXPORT_SYMBOL
+0x11478d72	bdevname	vmlinux	EXPORT_SYMBOL
+0x2ce92855	generic_file_splice_write_nolock	vmlinux	EXPORT_SYMBOL
+0xfd8ad56a	cdev_init	vmlinux	EXPORT_SYMBOL
+0x9d43755c	request_resource	vmlinux	EXPORT_SYMBOL
+0x71db8323	cxiSendSigThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4e9bf540	snd_unregister_oss_device	sound/core/snd	EXPORT_SYMBOL
+0x0a487ea5	tfrc_calc_x	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x24565047	nand_scan_bbt	drivers/mtd/nand/nand	EXPORT_SYMBOL
+0xaecb51ba	gameport_start_polling	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xbdf490ec	agp_generic_insert_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xc47ebb12	inet_getname	vmlinux	EXPORT_SYMBOL
+0xc04d7756	class_device_create_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xaa52bc27	register_latency_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x8f3ee646	put_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x424ba41f	dm_get_mapinfo	drivers/md/dm-mod	EXPORT_SYMBOL
+0x61a4e7c4	i2c_smbus_write_quick	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x01d19038	acpi_enable_subsystem	vmlinux	EXPORT_SYMBOL
+0xbd45abe6	dibx000_get_i2c_adapter	drivers/media/dvb/frontends/dibx000_common	EXPORT_SYMBOL
+0x896dc3b7	platform_get_resource	vmlinux	EXPORT_SYMBOL_GPL
+0xd26f8daf	pci_disable_pcie_error_reporting	vmlinux	EXPORT_SYMBOL_GPL
+0x8b0fbf9f	crypto_shoot_alg	vmlinux	EXPORT_SYMBOL_GPL
+0xff2643c2	iput	vmlinux	EXPORT_SYMBOL
+0x73673506	sleep_on_timeout	vmlinux	EXPORT_SYMBOL
+0x5a157ae4	nfs4_acl_get_whotype	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x5ec92758	iscsi_alloc_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xd5f067bc	cx88_shutdown	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x286243b3	hpsb_packet_sent	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd38e58a4	input_ff_upload	vmlinux	EXPORT_SYMBOL_GPL
+0xdaaa58b4	create_proc_entry	vmlinux	EXPORT_SYMBOL
+0x34e1b9b2	proc_doulongvec_ms_jiffies_minmax	vmlinux	EXPORT_SYMBOL
+0xda0a6b0e	acpi_map_lsapic	vmlinux	EXPORT_SYMBOL
+0x7c578f0e	gfs2_unmount_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0xc02f244d	mt352_attach	drivers/media/dvb/frontends/mt352	EXPORT_SYMBOL
+0xc07f728e	hpsb_iso_recv_start	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xeea9dbaf	bitmap_bitremap	vmlinux	EXPORT_SYMBOL
+0x71a50dbc	register_blkdev	vmlinux	EXPORT_SYMBOL
+0xf1f54397	simple_set_mnt	vmlinux	EXPORT_SYMBOL
+0x1b9aca3f	jprobe_return	vmlinux	EXPORT_SYMBOL_GPL
+0x00368557	cxiWaitEventBroadcastRC	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x716c072b	nf_conntrack_alter_reply	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x811d8f24	neigh_event_ns	vmlinux	EXPORT_SYMBOL
+0x7295bacd	fb_firmware_edid	vmlinux	EXPORT_SYMBOL
+0x59c6d969	key_negate_and_link	vmlinux	EXPORT_SYMBOL
+0xdf3c14de	dlm_new_lockspace	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0xfa8f296e	iscsi_queuecommand	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xcb812834	iw_cm_init_qp_attr	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xeb169d4b	hpsb_unregister_highlevel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x5046705b	request_firmware_nowait	vmlinux	EXPORT_SYMBOL
+0xd08197fa	acpi_load_tables	vmlinux	EXPORT_SYMBOL
+0x09775cdc	kref_get	vmlinux	EXPORT_SYMBOL
+0x97e273ff	generic_commit_write	vmlinux	EXPORT_SYMBOL
+0x88fc3c4d	i2c_probe	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xb2d6a791	ata_std_ports	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xff0ee140	inotify_inode_queue_event	vmlinux	EXPORT_SYMBOL_GPL
+0xcd37a36f	inode_double_unlock	vmlinux	EXPORT_SYMBOL
+0x92bbeca4	journal_errno	fs/jbd/jbd	EXPORT_SYMBOL
+0x5a9f3af9	usbnet_get_drvinfo	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x7ca0d45a	z8530_sync_txdma_open	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x8df68bf6	dst_destroy	vmlinux	EXPORT_SYMBOL
+0xa2f5662c	ethtool_op_get_perm_addr	vmlinux	EXPORT_SYMBOL_GPL
+0x0033f78a	pci_disable_msi	vmlinux	EXPORT_SYMBOL
+0x81a47317	set_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x2ba1598d	spk_serial_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x2586c9e0	svc_wake_up	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xca7b1bf7	journal_check_available_features	fs/jbd/jbd	EXPORT_SYMBOL
+0x511ad1e9	dlm_lock	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0x9e538b9e	scsi_mode_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xfd76507c	hostap_set_roaming	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xcd8bfc59	videobuf_read_stream	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xc10d7e11	kcopyd_client_destroy	drivers/md/dm-mod	EXPORT_SYMBOL
+0x6bf7bda4	nf_unregister_queue_handlers	vmlinux	EXPORT_SYMBOL_GPL
+0xda7ca6cb	fb_mode_is_equal	vmlinux	EXPORT_SYMBOL
+0xa46dc984	_spin_unlock_irqrestore	vmlinux	EXPORT_SYMBOL
+0xff45429f	ssb_clockspeed	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x7249df6c	nf_ct_get_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x46d93f28	xfrm6_tunnel_register	net/ipv6/tunnel6	EXPORT_SYMBOL
+0x730fea3e	xfrm4_tunnel_register	net/ipv4/tunnel4	EXPORT_SYMBOL
+0x26240d63	ib_init_ah_from_wc	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd6712715	xfrm_dst_lookup	vmlinux	EXPORT_SYMBOL
+0x6badfb13	snd_pcm_lib_ioctl	sound/core/snd-pcm	EXPORT_SYMBOL
+0xe15d7d1e	ircomm_open	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0xb8c0019e	ircomm_close	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0xc3abac5c	dst_alloc	vmlinux	EXPORT_SYMBOL
+0x3b3016d3	cpufreq_unregister_notifier	vmlinux	EXPORT_SYMBOL
+0xe93e49c3	devres_free	vmlinux	EXPORT_SYMBOL_GPL
+0x1fed43e0	blk_put_queue	vmlinux	EXPORT_SYMBOL
+0xa8607be0	single_release	vmlinux	EXPORT_SYMBOL
+0xc6bcec74	get_user_pages	vmlinux	EXPORT_SYMBOL
+0xa108eb4d	sysctl_optmem_max	vmlinux	EXPORT_SYMBOL
+0xcd00abc7	snd_ad1848_pcm	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x5d57518f	tipc_reject_msg	net/tipc/tipc	EXPORT_SYMBOL
+0x93415583	scsi_mode_select	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xc4fe0bb6	dvb_pll_thomson_dtt7610	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xfc5ecebb	dvb_pll_thomson_dtt761x	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xaccabc6a	in4_pton	vmlinux	EXPORT_SYMBOL
+0xe57878a1	in6_pton	vmlinux	EXPORT_SYMBOL
+0x58e2e5c6	cfb_copyarea	vmlinux	EXPORT_SYMBOL
+0xf3341268	__clear_user	vmlinux	EXPORT_SYMBOL
+0xd0181f4f	__bitmap_xor	vmlinux	EXPORT_SYMBOL
+0xd78db67e	config_group_init	fs/configfs/configfs	EXPORT_SYMBOL
+0xa4188709	video_exclusive_open	drivers/media/video/videodev	EXPORT_SYMBOL
+0x2c691bb3	__dev_remove_pack	vmlinux	EXPORT_SYMBOL
+0x2368be6d	posix_acl_to_xattr	vmlinux	EXPORT_SYMBOL
+0x942bbaac	_XTraceNB	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0xe23c540d	auth_unix_forget_old	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x37931fff	dccp_invalid_packet	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xb0f03a28	tifm_map_sg	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x77aed0c4	ide_raw_taskfile	vmlinux	EXPORT_SYMBOL
+0x90a1004a	crypto_has_alg	vmlinux	EXPORT_SYMBOL_GPL
+0x2b168195	iget5_locked	vmlinux	EXPORT_SYMBOL
+0xd8de0261	percpu_populate	vmlinux	EXPORT_SYMBOL_GPL
+0x9005e685	snd_sbdsp_command	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0xe4a545cd	z8530_describe	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x0cb464d4	mii_check_media	drivers/net/mii	EXPORT_SYMBOL
+0x9a7c0880	vp310_mt312_attach	drivers/media/dvb/frontends/mt312	EXPORT_SYMBOL
+0xda20bb96	hpsb_bus_reset	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xfa703b57	platform_device_register_simple	vmlinux	EXPORT_SYMBOL_GPL
+0x0fbf04c6	user_revoke	vmlinux	EXPORT_SYMBOL
+0x13cd24f3	debugfs_create_dir	vmlinux	EXPORT_SYMBOL_GPL
+0xd7a9e2f5	dcache_dir_lseek	vmlinux	EXPORT_SYMBOL
+0x5fa9d608	bttv_sub_unregister	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xe712f0b3	dvb_register_frontend	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xaa024146	sonet_copy_stats	vmlinux	EXPORT_SYMBOL
+0xce045124	km_waitq	vmlinux	EXPORT_SYMBOL
+0xfcfaa928	acpi_remove_address_space_handler	vmlinux	EXPORT_SYMBOL
+0x1070d2bc	pci_scan_bus_parented	vmlinux	EXPORT_SYMBOL
+0x53ff786d	xt_check_match	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xba9f3062	ieee80211_is_valid_channel	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xd38d07b3	ei_open	drivers/net/8390	EXPORT_SYMBOL
+0xcda4da37	dib3000mc_attach	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0x4ce66c84	dib3000mb_attach	drivers/media/dvb/frontends/dib3000mb	EXPORT_SYMBOL
+0xc20f98ce	d_splice_alias	vmlinux	EXPORT_SYMBOL
+0xc543161e	do_sync_read	vmlinux	EXPORT_SYMBOL
+0xbdf53555	mem_map	vmlinux	EXPORT_SYMBOL
+0x67b9b83b	rt2x00lib_reset	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x0080e137	register_sound_midi	sound/soundcore	EXPORT_SYMBOL
+0x78f9b710	nf_ct_l3proto_try_module_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xf8ab06f6	mmc_wait_for_cmd	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x6e86b3f3	inotify_find_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x05fa7b9b	rpc_mkpipe	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xd7ba575e	dlm_errmsg	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x0d20ceab	cad_pid	vmlinux	EXPORT_SYMBOL
+0x8367a81a	snd_trident_stop_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x4b4ff452	ccid_hc_rx_new	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xde7d1aba	ccid_hc_tx_new	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xa82a8645	o2nm_this_node	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x7cc64938	agp_put_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa20113d8	call_usermodehelper_keys	vmlinux	EXPORT_SYMBOL
+0x6399c0c6	snd_component_add	sound/core/snd	EXPORT_SYMBOL
+0xe29c3801	irda_task_execute	net/irda/irda	EXPORT_SYMBOL
+0xc868c3fe	atm_proc_root	vmlinux	EXPORT_SYMBOL
+0x4b3706cc	kxGetShare	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe20e9744	cxiKXfer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1579c996	cxiUXfer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe6aaf202	journal_update_format	fs/jbd/jbd	EXPORT_SYMBOL
+0x60285e3c	hostap_set_encryption	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x94c4fd90	hpsb_alloc_host	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x0531dcb8	ata_dev_classify	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x508be74f	alloc_netdev	vmlinux	EXPORT_SYMBOL
+0x075c5424	netif_receive_skb	vmlinux	EXPORT_SYMBOL
+0xf1a8be52	spi_new_device	vmlinux	EXPORT_SYMBOL_GPL
+0xfb6af58d	recalc_sigpending	vmlinux	EXPORT_SYMBOL
+0x6cbe735e	ac97_set_dac_rate	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x39d7b629	snd_emu8000_init_fm	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0xbc9b9ddb	nf_nat_mangle_udp_packet	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xe2304303	mac_map_monitor_sense	drivers/video/macmodes	EXPORT_SYMBOL
+0x53450dd7	ip_dev_find	vmlinux	EXPORT_SYMBOL
+0xb51587f6	do_midi_msg	sound/oss/sound	EXPORT_SYMBOL
+0xe1836073	hostap_80211_rx	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x67733afc	capi_ctr_reseted	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x1c5ba249	ib_rereg_phys_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x792aa199	acpi_get_ec_hc	drivers/acpi/i2c_ec	EXPORT_SYMBOL
+0x8471e4d8	anon_transport_class_register	vmlinux	EXPORT_SYMBOL_GPL
+0xa12875a2	path_lookup	vmlinux	EXPORT_SYMBOL
+0x31e76b57	recalibrate_cpu_khz	vmlinux	EXPORT_SYMBOL
+0x33196303	snd_iprintf	sound/core/snd	EXPORT_SYMBOL
+0x3f3c2814	rpcauth_init_credcache	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2e31c9b0	nxt6000_attach	drivers/media/dvb/frontends/nxt6000	EXPORT_SYMBOL
+0x447d0b0a	input_ff_create_memless	drivers/input/ff-memless	EXPORT_SYMBOL_GPL
+0x4244f206	ip_getsockopt	vmlinux	EXPORT_SYMBOL
+0x8b66db50	ip_setsockopt	vmlinux	EXPORT_SYMBOL
+0x7f19a7f5	xdr_shift_buf	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8f19623c	rdma_disconnect	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x6ad53471	ib_create_cq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x35a0611b	device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x5ad85fb1	pnp_request_card_device	vmlinux	EXPORT_SYMBOL
+0xe01883c3	dentry_open	vmlinux	EXPORT_SYMBOL
+0x208558c6	srcu_read_unlock	vmlinux	EXPORT_SYMBOL_GPL
+0xceec2705	dma_free_coherent	vmlinux	EXPORT_SYMBOL
+0x463eb97b	rpc_clnt_sigmask	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x355abed9	ata_irq_ack	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb8eef5a9	skb_checksum_help	vmlinux	EXPORT_SYMBOL
+0x9eadba58	ide_dma_setup	vmlinux	EXPORT_SYMBOL_GPL
+0xfa04cfbc	class_device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x422c05d0	acpi_get_data	vmlinux	EXPORT_SYMBOL
+0x9545af6d	tasklet_init	vmlinux	EXPORT_SYMBOL
+0x00a6cecb	nf_nat_setup_info	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xbd203180	nf_nat_port_nfattr_to_range	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x8cae1101	ib_dealloc_fmr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x9241c3ee	device_power_down	vmlinux	EXPORT_SYMBOL_GPL
+0x53986488	register_die_notifier	vmlinux	EXPORT_SYMBOL
+0x007d5a41	p80211skb_free	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xd3b81370	ip6_find_1stfragopt	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xe3d12696	ata_do_set_mode	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xce5ffa08	sock_no_recvmsg	vmlinux	EXPORT_SYMBOL
+0x5f9a11da	srcu_readers_active	vmlinux	EXPORT_SYMBOL_GPL
+0xdd186f56	hrtimer_cancel	vmlinux	EXPORT_SYMBOL_GPL
+0xaef743b2	midi_synth_ioctl	sound/oss/sound	EXPORT_SYMBOL
+0x2169c199	xt_unregister_matches	net/netfilter/x_tables	EXPORT_SYMBOL
+0x49f450dd	sis_free_new	drivers/video/sis/sisfb	EXPORT_SYMBOL_GPL
+0xef22df29	rdma_set_ib_paths	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xa395a772	kfifo_init	vmlinux	EXPORT_SYMBOL
+0x6ac8f62d	cxiReinitOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xcbb79da8	cxiInvalidatePerm	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xbed25c1e	svc_authenticate	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x07d3647c	irlmp_register_service	net/irda/irda	EXPORT_SYMBOL
+0xe2bb9f6b	usb_hcd_pci_remove	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xbdf55b3f	cx88_vdev_init	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xbb9bf542	gigaset_shutdown	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x06f49210	tpm_bios_log_teardown	drivers/char/tpm/tpm_bios	EXPORT_SYMBOL_GPL
+0xb4a6a543	rtnl_set_sk_err	vmlinux	EXPORT_SYMBOL
+0xc9b27289	rtc_control	vmlinux	EXPORT_SYMBOL
+0x5f6454c0	downgrade_write	vmlinux	EXPORT_SYMBOL
+0xbcc13e2b	complete	vmlinux	EXPORT_SYMBOL
+0x3f36db16	snd_hda_bus_new	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xca8dcf78	config_item_init_type_name	fs/configfs/configfs	EXPORT_SYMBOL
+0xfbeeb3ea	iscsi_block_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xbafdf05f	__gameport_register_driver	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xc915aca8	nsc_gpio_write	drivers/char/nsc_gpio	EXPORT_SYMBOL
+0x6088cbef	ata_bmdma_start	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x11a937fa	ata_port_freeze	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5c57aa14	cxiInitDMS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3556c745	cxiInitVFS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x37de740e	snd_ac97_pcm_close	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x0291a2b3	snd_pcm_new_stream	sound/core/snd-pcm	EXPORT_SYMBOL
+0x82753c2c	scsi_test_unit_ready	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xc1b6ed38	sync_page_io	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0x8c816aae	hpsb_read_cycle_timer	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x8a7d1c31	high_memory	vmlinux	EXPORT_SYMBOL
+0x1adced57	usb_serial_deregister	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x03165a85	v4l2_ctrl_get_menu	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x118184f6	saa7146_pgtable_alloc	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x481cb9ab	acpi_enter_sleep_state_prep	vmlinux	EXPORT_SYMBOL
+0x87dad9b8	simple_link	vmlinux	EXPORT_SYMBOL
+0xb1d67e2c	journal_blocks_per_page	fs/jbd/jbd	EXPORT_SYMBOL
+0xd89f3ee1	scsi_remove_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x7aa2a474	ib_create_fmr_pool	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x11f752cc	hidinput_find_field	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x7ae1ae8e	cpufreq_frequency_table_put_attr	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x306716d4	sysdev_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x8659f63b	mempool_create	vmlinux	EXPORT_SYMBOL
+0x563952a3	kblockd_schedule_work	vmlinux	EXPORT_SYMBOL
+0xa5c5f2b8	send_sig_info	vmlinux	EXPORT_SYMBOL
+0xedc03953	iounmap	vmlinux	EXPORT_SYMBOL
+0xdd00b830	snd_gus_initialize	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x75612c0c	__neigh_event_send	vmlinux	EXPORT_SYMBOL
+0xa04ee525	unregister_netdevice	vmlinux	EXPORT_SYMBOL
+0x3c464f1d	sk_stream_wait_close	vmlinux	EXPORT_SYMBOL
+0xd0ee38b8	schedule_timeout_uninterruptible	vmlinux	EXPORT_SYMBOL
+0xd79b5a02	allow_signal	vmlinux	EXPORT_SYMBOL
+0x466fac01	snd_timer_global_register	sound/core/snd-timer	EXPORT_SYMBOL
+0xdc515826	snd_rawmidi_info_select	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x85b3ea4e	rpc_call_setup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x88a7e9dc	sas_remove_host	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x035c15b8	videobuf_pci_dma_map	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x92c4dc44	platform_get_irq	vmlinux	EXPORT_SYMBOL_GPL
+0xa67e4307	kill_anon_super	vmlinux	EXPORT_SYMBOL
+0x3ec28949	snd_ac97_update_bits	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x07034c22	irttp_connect_response	net/irda/irda	EXPORT_SYMBOL
+0x390006c3	irlmp_connect_response	net/irda/irda	EXPORT_SYMBOL
+0x0f3ce87c	xfrm6_rcv	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfb56b894	ppp_output_wakeup	drivers/net/ppp_generic	EXPORT_SYMBOL
+0xc0b51566	xfrm4_rcv	vmlinux	EXPORT_SYMBOL
+0x33b1d2c0	pci_enable_pcie_error_reporting	vmlinux	EXPORT_SYMBOL_GPL
+0x38eb528a	blk_queue_hardsect_size	vmlinux	EXPORT_SYMBOL
+0x468ace20	xdr_buf_subsegment	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x7094f8ae	bt_err	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xbe8eb0da	matroxfb_g450_setpll_cond	drivers/video/matrox/g450_pll	EXPORT_SYMBOL
+0x0bd74868	flexcop_dma_free	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x0cfbb199	phy_connect	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x8a266489	usbvideo_RegisterVideoDevice	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xf7fbefa2	kcopyd_client_create	drivers/md/dm-mod	EXPORT_SYMBOL
+0xf543cacc	inet_dgram_connect	vmlinux	EXPORT_SYMBOL
+0xa1f54c8e	driver_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xe6ef0f35	end_that_request_first	vmlinux	EXPORT_SYMBOL
+0xf48b0463	synth_write_msg	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x001b8bbf	iscsi_unblock_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x5ebefe4b	v4l_printk_ioctl	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xe3cd9b5c	saa7146_debug	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x74705cc3	ata_dummy_irq_ack	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x82f37d55	kobject_get	vmlinux	EXPORT_SYMBOL
+0x74501641	kobject_put	vmlinux	EXPORT_SYMBOL
+0xd0872872	relay_open	vmlinux	EXPORT_SYMBOL_GPL
+0x683a3221	param_set_copystring	vmlinux	EXPORT_SYMBOL
+0xc20a2d91	cfi_read_pri	drivers/mtd/chips/cfi_util	EXPORT_SYMBOL
+0x21d6f32a	video_exclusive_release	drivers/media/video/videodev	EXPORT_SYMBOL
+0xfc39e32f	ioport_unmap	vmlinux	EXPORT_SYMBOL
+0x06872ff0	relay_close	vmlinux	EXPORT_SYMBOL_GPL
+0x7e8b27d3	nf_conntrack_chain	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x44f6ded5	ircomm_data_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0xea558f29	matroxfb_vgaHWrestore	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x1d50ab22	usb_reset_configuration	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xd4d11fb3	detach_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0xff855922	ib_copy_path_rec_from_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0x86034cf8	dq_data_lock	vmlinux	EXPORT_SYMBOL
+0xd7cee05d	d_validate	vmlinux	EXPORT_SYMBOL
+0x2fa5d84b	cxiBreakOplock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb76279ce	snd_ak4117_check_rate_and_errors	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0xc6162216	snd_ak4114_check_rate_and_errors	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0x454a3cf0	sis_free	drivers/video/sis/sisfb	EXPORT_SYMBOL
+0x42dc240b	i2o_msg_get_wait	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x690b2432	ib_cm_listen	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x8ab7ffea	genl_register_family	vmlinux	EXPORT_SYMBOL
+0xd32a65e8	__init_rwsem	vmlinux	EXPORT_SYMBOL
+0xc256e762	__bitmap_equal	vmlinux	EXPORT_SYMBOL
+0xed788cd2	fasync_helper	vmlinux	EXPORT_SYMBOL
+0xe9314b1c	getVp	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3880e38c	cxiMapDiscontiguousRW	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc4884969	sb_dsp_unload	sound/oss/sb_lib	EXPORT_SYMBOL
+0x2cb2574d	snd_emu8000_update_equalizer	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0xcd2ac1c1	pccard_parse_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x6ce5583f	dibusb_dib3000mc_frontend_attach	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xb75456ea	dvb_ringbuffer_write	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x7f6bcbdf	hpsb_selfid_received	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x02d57d92	tpm_show_owned	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x3f238101	dcookie_register	vmlinux	EXPORT_SYMBOL_GPL
+0x2cf2c97f	locks_mandatory_area	vmlinux	EXPORT_SYMBOL
+0xe97d36b7	cxiCheckOpen	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd0a7299f	xt_table_unlock	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xf84467b0	sas_port_add	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x14f2aa5a	capi20_get_version	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x9266e749	amd756_smbus	drivers/i2c/busses/i2c-amd756	EXPORT_SYMBOL
+0x8598a4bb	inet_twsk_deschedule	vmlinux	EXPORT_SYMBOL
+0x154273eb	tcf_exts_dump_stats	vmlinux	EXPORT_SYMBOL
+0x94e0bd1c	ethtool_op_set_ufo	vmlinux	EXPORT_SYMBOL
+0x0acb1a3c	__bitmap_shift_right	vmlinux	EXPORT_SYMBOL
+0xc7414d7d	kxGetDelegation	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x792da560	irda_device_dongle_cleanup	net/irda/irda	EXPORT_SYMBOL
+0x20dbd7e0	nfs4_acl_new	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x6c9c3880	cx88_call_i2c_clients	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xec8d18cf	hpsb_disable_irm	drivers/ieee1394/ieee1394	EXPORT_SYMBOL_GPL
+0x31acf5a1	inet_register_protosw	vmlinux	EXPORT_SYMBOL
+0xb89af9bf	srandom32	vmlinux	EXPORT_SYMBOL
+0x23fd3028	vmalloc_node	vmlinux	EXPORT_SYMBOL
+0x7b04cc91	mempool_destroy	vmlinux	EXPORT_SYMBOL
+0x054e550b	kernel_halt	vmlinux	EXPORT_SYMBOL_GPL
+0x8261ad63	do_synth_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x4babf1d4	snd_pcm_sgbuf_ops_page	sound/core/snd-pcm	EXPORT_SYMBOL
+0xdb1b42d1	xfrm6_tunnel_spi_lookup	net/ipv6/xfrm6_tunnel	EXPORT_SYMBOL
+0x320440dd	scsi_ioctl	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xfc4f77e5	iw_destroy_cm_id	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xe09c4214	netpoll_cleanup	vmlinux	EXPORT_SYMBOL
+0x5301f926	set_binfmt	vmlinux	EXPORT_SYMBOL
+0xc58e466e	mac_find_mode	drivers/video/macmodes	EXPORT_SYMBOL
+0x264514a6	pi_release	drivers/block/paride/paride	EXPORT_SYMBOL
+0x62988f31	km_policy_expired	vmlinux	EXPORT_SYMBOL
+0x3acaa0ce	spi_unregister_master	vmlinux	EXPORT_SYMBOL_GPL
+0x81897dbd	__first_cpu	vmlinux	EXPORT_SYMBOL
+0x5d2c35bc	elv_rb_find	vmlinux	EXPORT_SYMBOL
+0x1826da56	cap_ptrace	security/commoncap	EXPORT_SYMBOL
+0x13895930	dvb_pll_tda665x	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xaf0aed2d	dvb_pll_tua6034	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xc722e5cb	reqsk_queue_destroy	vmlinux	EXPORT_SYMBOL
+0x5630960a	snd_seq_kernel_client_write_poll	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x1ee629e2	isdnhdlc_rcv_init	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0xe17e654a	drm_vbl_send_signals	drivers/char/drm/drm	EXPORT_SYMBOL
+0x2811ccf2	alloc_hippi_dev	vmlinux	EXPORT_SYMBOL
+0xe5867808	dlci_ioctl_set	vmlinux	EXPORT_SYMBOL
+0xf586be1c	__rpc_wait_for_completion_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xed015899	scsi_report_device_reset	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x3caa5149	scsi_print_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x526aab58	rdma_init_qp_attr	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x2382d3b1	ib_redirect_mad_qp	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xbf8b39e9	isapnp_present	vmlinux	EXPORT_SYMBOL
+0x81a2d3f2	kobject_unregister	vmlinux	EXPORT_SYMBOL
+0x9558704d	register_sound_mixer	sound/soundcore	EXPORT_SYMBOL
+0xc3f463f8	snd_gf1_mem_alloc	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x6d1360e3	async_wrap_skb	net/irda/irda	EXPORT_SYMBOL
+0x7fbbe5e3	usb_submit_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xddd21cd7	cpci_hp_unregister_controller	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x4ad04635	mptscsih_bus_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x6c10037a	ata_scsi_device_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x4468b438	page_symlink_inode_operations	vmlinux	EXPORT_SYMBOL
+0x1cb231d0	mlog_not_bits	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x83b17a79	hpsb_make_streampacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xe7ead430	vunmap	vmlinux	EXPORT_SYMBOL
+0x35c2ba9e	refrigerator	vmlinux	EXPORT_SYMBOL
+0x2d5ea61e	cxiCheckProductVersion	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x00cbafb3	cxiAllocSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xad42cca9	snd_seq_device_new	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0xe6bf4c12	nf_conntrack_l4proto_tcp6	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x800e9a8c	ieee80211_crypt_deinit_entries	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x7070f426	iw_cm_disconnect	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xa23f7d57	xfrm_policy_alloc	vmlinux	EXPORT_SYMBOL
+0xe5c78a99	do_blank_screen	vmlinux	EXPORT_SYMBOL
+0x264aed06	snd_seq_create_kernel_client	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x31a473f0	irda_device_dongle_init	net/irda/irda	EXPORT_SYMBOL
+0x6519478d	hci_conn_change_link_key	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x14d97760	dlm_unlock	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0xb5847b28	dvb_dmx_swfilter	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x9b450b80	emulate_instruction	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xb90bf86a	set_page_dirty_lock	vmlinux	EXPORT_SYMBOL
+0x8bc54bd2	usb_get_descriptor	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x3cdec714	get_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x35de5fe5	cpufreq_frequency_table_cpuinfo	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x2e9121c3	ata_sas_port_alloc	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x649e5cc7	ata_port_abort	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x56a7e369	tcp_v4_conn_request	vmlinux	EXPORT_SYMBOL
+0xe2675a79	sound_timer_interrupt	sound/oss/sound	EXPORT_SYMBOL
+0xf34396f0	usb_put_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xb896aecd	hpsb_iso_recv_release_packets	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xe3c02d28	agp_find_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x52b3f172	tcp_v4_syn_recv_sock	vmlinux	EXPORT_SYMBOL
+0xa389e51b	kmem_cache_shrink	vmlinux	EXPORT_SYMBOL
+0x10c14268	rtl_ieee80211_wx_set_power	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x64753327	rtl_ieee80211_wx_get_power	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x03d9eb4d	synth_buff_out	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x3af2e370	scsi_tgt_alloc_queue	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0xec657db6	mii_check_link	drivers/net/mii	EXPORT_SYMBOL
+0x805e6f1c	gigaset_fill_inbuf	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xde0cf0b1	gs_block_til_ready	drivers/char/generic_serial	EXPORT_SYMBOL
+0xc998d641	icmp_err_convert	vmlinux	EXPORT_SYMBOL
+0x7389c9a8	acpi_bus_get_power	vmlinux	EXPORT_SYMBOL
+0xcb733bf2	acpi_bus_set_power	vmlinux	EXPORT_SYMBOL
+0x71fe752c	snd_i2c_readbytes	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0x83f47a43	scsi_unregister	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd5f4df6c	ib_alloc_mw	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x056fde6d	tcp_hashinfo	vmlinux	EXPORT_SYMBOL
+0xe9e7fe34	dma_async_memcpy_complete	vmlinux	EXPORT_SYMBOL
+0x2b3c29ca	fd_install	vmlinux	EXPORT_SYMBOL
+0x0d08d6d1	nf_nat_used_tuple	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xceb98c60	nf_nat_packet	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0xa0ddd488	scsi_internal_device_unblock	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x00d3dc68	parport_release	drivers/parport/parport	EXPORT_SYMBOL
+0xcbf7b99d	__ide_dma_good_drive	vmlinux	EXPORT_SYMBOL
+0x9c941146	blk_init_tags	vmlinux	EXPORT_SYMBOL
+0x3ce4ca6f	disable_irq	vmlinux	EXPORT_SYMBOL
+0x87754115	raw_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0xa70fabbe	release_evntsel_nmi	vmlinux	EXPORT_SYMBOL
+0xfcae55f9	cxiVFSToFlock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3ee65c52	snd_midi_event_decode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x483606ff	usb_ftdi_elan_edset_input	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x404e23e5	scsi_host_alloc	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4157418a	iscsi_eh_host_reset	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x8337ec08	pcmcia_get_configuration_info	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x267a3359	cdrom_get_media_event	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x4fa7e4e6	sysfs_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x09aeaf8c	out_of_line_wait_on_bit	vmlinux	EXPORT_SYMBOL
+0x56b86c78	register_wan_device	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0xba26c1b8	fc_remote_port_delete	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x0779574b	video_register_device	drivers/media/video/videodev	EXPORT_SYMBOL
+0x34900e3b	drm_irq_uninstall	drivers/char/drm/drm	EXPORT_SYMBOL
+0xaa2a72bf	__iowrite64_copy	vmlinux	EXPORT_SYMBOL_GPL
+0xd4abc567	invalidate_partition	vmlinux	EXPORT_SYMBOL
+0x1889021e	vfs_get_dqblk	vmlinux	EXPORT_SYMBOL
+0x31b249ba	vfs_set_dqblk	vmlinux	EXPORT_SYMBOL
+0x3686ea09	spi_print_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x46910e18	pciserial_remove_ports	vmlinux	EXPORT_SYMBOL_GPL
+0xda5faa35	pciserial_resume_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x2b3dbc9b	xt_proto_init	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xbffc8fee	com20020_found	drivers/net/arcnet/com20020	EXPORT_SYMBOL
+0x0b1beb31	vmalloc_32_user	vmlinux	EXPORT_SYMBOL
+0x6f8fbc23	ipmi_set_my_LUN	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xc673e23e	ata_scsi_change_queue_depth	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2d52b5a8	pci_get_subsys	vmlinux	EXPORT_SYMBOL
+0x9eecde16	do_brk	vmlinux	EXPORT_SYMBOL
+0x25e649f2	nf_ct_log_invalid	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xf0fc9374	ir_codes_avermedia	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xe28e5bba	generic_permission	vmlinux	EXPORT_SYMBOL
+0xb72ff6cc	cxiXmemXfer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf27ba709	hostap_set_hostapd	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xda67bd07	cx8802_get_device	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x6a842e67	pci_test_config_bits	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x407e9bc3	snd_ctl_notify	sound/core/snd	EXPORT_SYMBOL
+0xdbb00dc6	irlap_open	net/irda/irda	EXPORT_SYMBOL
+0x0c4d2a11	iriap_open	net/irda/irda	EXPORT_SYMBOL
+0x4d2b1719	i2c_isa_del_driver	drivers/i2c/busses/i2c-isa	EXPORT_SYMBOL
+0x39d13ddf	uart_get_baud_rate	vmlinux	EXPORT_SYMBOL
+0xf62035e0	pci_proc_detach_bus	vmlinux	EXPORT_SYMBOL
+0x9d1097fb	pci_find_next_bus	vmlinux	EXPORT_SYMBOL
+0x76430786	_spin_unlock	vmlinux	EXPORT_SYMBOL
+0xff83b2bf	atomic_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x573d324f	i8253_lock	vmlinux	EXPORT_SYMBOL
+0x2fdf2e43	snd_pcm_hw_constraint_step	sound/core/snd-pcm	EXPORT_SYMBOL
+0x675ede2c	irlap_close	net/irda/irda	EXPORT_SYMBOL
+0x54cb15ff	iriap_close	net/irda/irda	EXPORT_SYMBOL
+0x09c72e00	ieee80211_wx_set_auth	net/ieee80211/ieee80211	EXPORT_SYMBOL_GPL
+0xe9d1c59d	ieee80211_wx_get_auth	net/ieee80211/ieee80211	EXPORT_SYMBOL_GPL
+0xdcb8b98c	usbnet_disconnect	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x523417a8	hostap_init_proc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xd1dccc4e	tifm_alloc_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xc71c03fa	secpath_dup	vmlinux	EXPORT_SYMBOL
+0x83cbeea8	set_user_nice	vmlinux	EXPORT_SYMBOL
+0xe65923f9	cxiOpenNFS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0db1ee4b	ieee80211_radar_status	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x75a9f4dd	gss_pseudoflavor_to_service	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xc5bc1414	w1_register_family	drivers/w1/wire	EXPORT_SYMBOL
+0x9d699de2	ib_modify_port	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x0e181f01	mca_device_transform_irq	vmlinux	EXPORT_SYMBOL
+0x92445aee	hrtimer_get_res	vmlinux	EXPORT_SYMBOL_GPL
+0xbfca56f7	nf_nat_pptp_hook_inbound	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x652cbc13	nf_conntrack_l3proto_unregister	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe6e83698	nf_conntrack_l4proto_unregister	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x37ff7855	nf_conntrack_register_cache	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbe428679	sock_setsockopt	vmlinux	EXPORT_SYMBOL
+0x69f08f70	fb_find_mode	vmlinux	EXPORT_SYMBOL
+0x89808c96	unlock_buffer	vmlinux	EXPORT_SYMBOL
+0xbf414779	simple_transaction_release	vmlinux	EXPORT_SYMBOL
+0x7ade34bd	sas_queuecommand	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x821a0545	qdisc_put_rtab	vmlinux	EXPORT_SYMBOL
+0x7ecb001b	__per_cpu_offset	vmlinux	EXPORT_SYMBOL
+0x3d98cf73	set_sig_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x02c87454	rtc_irq_unregister	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x52064559	tpm_show_enabled	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x1e4809ea	drm_exit	drivers/char/drm/drm	EXPORT_SYMBOL
+0x429df35c	proto_register	vmlinux	EXPORT_SYMBOL
+0x7a0b13cd	tty_wakeup	vmlinux	EXPORT_SYMBOL_GPL
+0x9b21d6c3	cxiKibdPinmm	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc5ff8494	snd_sbmixer_read	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0xa08eb2bb	flexcop_wan_set_speed	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xf0c7cc95	down_read	vmlinux	EXPORT_SYMBOL
+0xce35f9da	cxiCheckThreadState	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x35aa5883	sas_phy_reset	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xabd0c91c	rtc_time_to_tm	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x51a74630	v4l_compat_translate_ioctl	drivers/media/video/v4l1-compat	EXPORT_SYMBOL
+0x981026f6	km_report	vmlinux	EXPORT_SYMBOL
+0x612f05f7	skb_copy_expand	vmlinux	EXPORT_SYMBOL
+0xa750e01e	transport_setup_device	vmlinux	EXPORT_SYMBOL_GPL
+0xd9a23b59	dmam_free_coherent	vmlinux	EXPORT_SYMBOL
+0xfb633c0f	blk_queue_softirq_done	vmlinux	EXPORT_SYMBOL
+0x21909f7d	posix_acl_permission	vmlinux	EXPORT_SYMBOL
+0x31acd5f2	d_lookup	vmlinux	EXPORT_SYMBOL
+0xf46067fb	kernel_subsys	vmlinux	EXPORT_SYMBOL_GPL
+0xe9abc331	snd_cs4231_timer	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x372390b2	cap_task_post_setuid	security/commoncap	EXPORT_SYMBOL
+0xf811e69d	scsi_eh_flush_done_q	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xadbd87d9	pcmcia_get_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x7c20763e	pcmcia_put_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x90edffff	b1dma_reset	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x80b07100	ib_reg_phys_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x14b65430	pci_iomap	vmlinux	EXPORT_SYMBOL
+0x16bd3948	sys_read	vmlinux	EXPORT_SYMBOL_GPL
+0x1bb3671e	nfs4_acl_add_ace	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x984a82cc	dm_io_sync	drivers/md/dm-mod	EXPORT_SYMBOL
+0x7c46233a	cpufreq_quick_get	vmlinux	EXPORT_SYMBOL
+0x5bb9fc08	serio_unregister_port	vmlinux	EXPORT_SYMBOL
+0x6ea29b35	percpu_counter_sum	vmlinux	EXPORT_SYMBOL
+0x3762cb6e	ioremap_nocache	vmlinux	EXPORT_SYMBOL
+0x68a24153	snd_pcm_format_physical_width	sound/core/snd-pcm	EXPORT_SYMBOL
+0x35fd5387	scsi_remove_host	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6538f079	dvb_ringbuffer_read	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xc1fea0c1	ir_codes_pv951	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x8a6243e6	klist_add_head	vmlinux	EXPORT_SYMBOL_GPL
+0xea858cb5	radix_tree_gang_lookup_tag	vmlinux	EXPORT_SYMBOL
+0x1b6218c4	scsi_is_host_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xc722d3cc	dvb_pll_attach	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x4060635b	devm_ioremap_nocache	vmlinux	EXPORT_SYMBOL
+0x041b456d	sync_dirty_buffer	vmlinux	EXPORT_SYMBOL
+0x24880cac	cxiPathRel	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x34cbaf33	ebt_register_table	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x878ea212	matroxfb_g450_setclk	drivers/video/matrox/g450_pll	EXPORT_SYMBOL
+0x4de7243d	ib_fmr_pool_map_phys	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x387e5da1	edac_mc_add_mc	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xec232f48	tcp_reno_ssthresh	vmlinux	EXPORT_SYMBOL_GPL
+0xb5ba056a	netlink_has_listeners	vmlinux	EXPORT_SYMBOL_GPL
+0x9b160517	pci_remove_bus_device	vmlinux	EXPORT_SYMBOL
+0x82da2ae9	__snd_util_memblk_new	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x97b64c91	usb_alloc_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xe58d39a0	rdma_resolve_route	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xdd6a3bd6	unmap_page_from_agp	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x1e5198bd	atm_init_aal5	vmlinux	EXPORT_SYMBOL
+0xe1df1e5f	sysctl_tcp_tso_win_divisor	vmlinux	EXPORT_SYMBOL
+0x41ca806c	add_disk_randomness	vmlinux	EXPORT_SYMBOL
+0x69fe8f39	inode_init_once	vmlinux	EXPORT_SYMBOL
+0xa7206360	nf_ip6_checksum	net/ipv6/ipv6	EXPORT_SYMBOL
+0xd99c524f	pcmcia_suspend_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x716a9b6e	alloc_arcdev	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x4d04f160	device_move	vmlinux	EXPORT_SYMBOL_GPL
+0xb26d5426	scsi_cmd_ioctl	vmlinux	EXPORT_SYMBOL
+0xbd9ca87b	async_unwrap_char	net/irda/irda	EXPORT_SYMBOL
+0xa0278021	drm_core_ioremapfree	drivers/char/drm/drm	EXPORT_SYMBOL
+0x9e887eaa	neigh_seq_stop	vmlinux	EXPORT_SYMBOL
+0xaeb7451e	ax25_defaddr	net/ax25/ax25	EXPORT_SYMBOL_GPL
+0xd834efc3	pnp_device_attach	vmlinux	EXPORT_SYMBOL
+0x62049256	acpi_disable	vmlinux	EXPORT_SYMBOL
+0x46621493	acpi_specific_hotkey_enabled	vmlinux	EXPORT_SYMBOL
+0x5dbb084f	fb_prepare_logo	vmlinux	EXPORT_SYMBOL
+0x84cac4ba	blocking_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x52fab0ed	mmc_register_driver	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x918e62a0	cx88_core_irq	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x6a163b20	gigaset_add_event	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x9d7abf7b	ata_noop_dev_select	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe4b88a28	neigh_table_init	vmlinux	EXPORT_SYMBOL
+0x9e38be2c	attribute_container_register	vmlinux	EXPORT_SYMBOL_GPL
+0xb9fc1c25	blk_queue_segment_boundary	vmlinux	EXPORT_SYMBOL
+0x6906244b	blk_stop_queue	vmlinux	EXPORT_SYMBOL
+0xeb35eb27	blk_insert_request	vmlinux	EXPORT_SYMBOL
+0x6cfe4465	sysfs_create_link	vmlinux	EXPORT_SYMBOL_GPL
+0xa7cfe272	svc_set_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x7a3383b9	add_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x8bb2d3f8	ipmi_free_recv_msg	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x611d61a7	ide_init_drive_cmd	vmlinux	EXPORT_SYMBOL
+0xb34d4c2e	acpi_terminate	vmlinux	EXPORT_SYMBOL
+0xba7dd041	midi_synth_bender	sound/oss/sound	EXPORT_SYMBOL
+0x2d48011d	snd_pcm_lib_preallocate_pages_for_all	sound/core/snd-pcm	EXPORT_SYMBOL
+0xe97f4ce5	qword_get	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf95c6870	journal_revoke	fs/jbd/jbd	EXPORT_SYMBOL
+0x682ceab9	ethtool_op_set_sg	vmlinux	EXPORT_SYMBOL
+0x62fdd480	pcim_iomap_table	vmlinux	EXPORT_SYMBOL
+0xb4ece8a9	seq_release	vmlinux	EXPORT_SYMBOL
+0xa9ccf3e4	ieee80211softmac_wx_get_wap	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x7b291b5a	parport_register_driver	drivers/parport/parport	EXPORT_SYMBOL
+0xa7c4fd6c	capi_message2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x3a07db6d	hidinput_disconnect	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x50d82ea0	rtl_ieee80211_wx_get_freq	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x557bfb23	rtl_ieee80211_wx_set_freq	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xcc1fb551	baswap	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x53251df6	onenand_release	drivers/mtd/onenand/onenand	EXPORT_SYMBOL_GPL
+0xd6feefa5	agp_num_entries	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x44ef527b	__blk_put_request	vmlinux	EXPORT_SYMBOL_GPL
+0x2e0b68b8	elv_rb_latter_request	vmlinux	EXPORT_SYMBOL
+0x6f29f1ce	sysfs_create_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xf6e0e400	_read_trylock	vmlinux	EXPORT_SYMBOL
+0xd6b33026	cpu_khz	vmlinux	EXPORT_SYMBOL
+0x56504ca2	midi_synth_reset	sound/oss/sound	EXPORT_SYMBOL
+0xcc9fb9cb	dccp_destroy_sock	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xf930f094	dm_noflush_suspending	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0x361f1ac9	klist_init	vmlinux	EXPORT_SYMBOL_GPL
+0x561f186a	xfrm_state_unregister_afinfo	vmlinux	EXPORT_SYMBOL
+0x6cdc5c6b	nla_strlcpy	vmlinux	EXPORT_SYMBOL
+0xc7148304	acpi_get_physical_device	vmlinux	EXPORT_SYMBOL
+0xf12a45ea	blk_init_queue_node	vmlinux	EXPORT_SYMBOL
+0x2db717fe	up_write	vmlinux	EXPORT_SYMBOL
+0x828cb8cf	snd_rawmidi_kernel_open	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x0076fe1f	auth_domain_put	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x75a61f8b	scsi_target_block	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xa63d85ab	slhc_remember	drivers/net/slhc	EXPORT_SYMBOL
+0xc2e5b6e7	cpufreq_cpu_get	vmlinux	EXPORT_SYMBOL_GPL
+0xa3f9bf72	cpufreq_cpu_put	vmlinux	EXPORT_SYMBOL_GPL
+0xd197c06d	free_buffer_head	vmlinux	EXPORT_SYMBOL
+0xb245cde6	fget	vmlinux	EXPORT_SYMBOL
+0x9a499576	phone_register_device	drivers/telephony/phonedev	EXPORT_SYMBOL
+0xfdb610fd	iscsi_complete_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x12a2c7cf	phy_sanitize_settings	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xbd07655e	ide_config_drive_speed	vmlinux	EXPORT_SYMBOL
+0xccb9608d	rdc_8820_reset	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xa99b123f	b1_free_card	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x706b3a33	cpufreq_frequency_table_get_attr	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x86e9acae	match_token	vmlinux	EXPORT_SYMBOL
+0x1e9fb789	vmtruncate	vmlinux	EXPORT_SYMBOL
+0x6623214f	down_write	vmlinux	EXPORT_SYMBOL
+0x13a0adce	snd_gf1_i_write8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x26c64c00	videocodec_unregister	drivers/media/video/videocodec	EXPORT_SYMBOL
+0x13d80488	dibusb_power_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x0fbb4b63	FsmDelTimer	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x95c95e3f	ip_route_output_flow	vmlinux	EXPORT_SYMBOL_GPL
+0xda6704d3	pnp_resource_change	vmlinux	EXPORT_SYMBOL
+0xcf00684f	posix_test_lock	vmlinux	EXPORT_SYMBOL
+0xd84d1116	kill_block_super	vmlinux	EXPORT_SYMBOL
+0x0714f0c3	flush_signals	vmlinux	EXPORT_SYMBOL
+0x1c822e02	nf_ct_remove_expectations	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x2969f1ba	ccid_hc_rx_delete	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x81613af1	ccid_hc_tx_delete	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x8ffdb3b8	crc16	lib/crc16	EXPORT_SYMBOL
+0x5beb90b6	mb_cache_entry_insert	fs/mbcache	EXPORT_SYMBOL
+0x8a061d28	pccard_register_pcmcia	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x1b540fe8	neigh_lookup_nodev	vmlinux	EXPORT_SYMBOL
+0x960b0214	kernel_getsockopt	vmlinux	EXPORT_SYMBOL
+0x14f7daf9	kernel_setsockopt	vmlinux	EXPORT_SYMBOL
+0x094ffe96	kernel_sock_ioctl	vmlinux	EXPORT_SYMBOL
+0xffd69112	snd_mixer_oss_ioctl_card	sound/core/oss/snd-mixer-oss	EXPORT_SYMBOL
+0x1911af0a	nfnetlink_unicast	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x65f6ad02	pnp_init_resource_table	vmlinux	EXPORT_SYMBOL
+0x0141192c	blk_put_request	vmlinux	EXPORT_SYMBOL
+0xbe66740d	rt2x00lib_detect_channel_time	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xfb961b1c	snd_es1688_create	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0xb931ae53	dibusb2_0_streaming_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x5b7eec2c	cdrom_mode_select	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x44f759a8	snd_pcm_lib_preallocate_free_for_all	sound/core/snd-pcm	EXPORT_SYMBOL
+0x6aff5c35	nf_conntrack_in	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe57d5245	matroxfb_vgaHWinit	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x5a8ea986	mmc_claim_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x2c5015a6	ata_port_schedule_eh	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xce04542a	sock_queue_rcv_skb	vmlinux	EXPORT_SYMBOL
+0x9f522caa	mapping_tagged	vmlinux	EXPORT_SYMBOL
+0xac7eb84c	switch_ipi_to_APIC_timer	vmlinux	EXPORT_SYMBOL
+0x9b464aac	cxiFreeSharedMemory	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5db6aad1	p54_rx	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0xf1ea8a20	midi_synth_aftertouch	sound/oss/sound	EXPORT_SYMBOL
+0x96984530	sound_install_mixer	sound/oss/sound	EXPORT_SYMBOL
+0x6811e546	rpc_setbufsize	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x136a6347	aarp_send_ddp	net/appletalk/appletalk	EXPORT_SYMBOL
+0x8f0ffd46	cx88_risc_stopper	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x7120da58	dma_async_client_chan_request	vmlinux	EXPORT_SYMBOL
+0x3fc68ddc	serio_interrupt	vmlinux	EXPORT_SYMBOL
+0xf6bb4729	color_table	vmlinux	EXPORT_SYMBOL
+0xf93f6169	put_disk	vmlinux	EXPORT_SYMBOL
+0x5c39a0d7	module_add_driver	vmlinux	EXPORT_SYMBOL
+0x6d4cd3d0	auth_unix_add_addr	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xcdd361c3	nf_conntrack_unexpect_related	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0085a44c	spi_sync	vmlinux	EXPORT_SYMBOL_GPL
+0x08cae787	ieee80211_wx_get_scan	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x67a81cf6	sppp_detach	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x4f8b81a0	flexcop_dump_reg	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xb37ab086	ohci1394_init_iso_tasklet	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0x3d846434	proc_root_fs	vmlinux	EXPORT_SYMBOL
+0x31a89d59	rpc_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x28631854	ieee80211softmac_wx_get_rate	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x27a069d6	hostap_dump_rx_header	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x3abcbf80	hostap_dump_tx_header	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x5235efae	dst_pio_disable	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x846b8a62	ata_pata_acpi_handle	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x75cbb20e	bus_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xbef43296	console_conditional_schedule	vmlinux	EXPORT_SYMBOL
+0xca6b2f26	snd_unregister_device	sound/core/snd	EXPORT_SYMBOL
+0x58c18b4b	svc_destroy	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x5d2483a4	fat_detach	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xbf95c91b	ei_poll	drivers/net/8390	EXPORT_SYMBOL
+0x925b2e0c	kxQuotactl	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9d6a3846	dccp_orphan_count	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x2baa6586	capilib_new_ncci	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xe75fb0d4	ib_copy_path_rec_to_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0x8b131313	ib_modify_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xa6c2009e	drm_ioctl	drivers/char/drm/drm	EXPORT_SYMBOL
+0xaf7e6801	smp_call_function_single	vmlinux	EXPORT_SYMBOL
+0xdc33fae0	hci_register_proto	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xb1fff90b	dibusb2_0_power_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xc2621cbf	b1_reset_ctr	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x50211ee3	tcp_free_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0xeddfe49d	rtc_unregister	vmlinux	EXPORT_SYMBOL
+0xc0580937	rb_erase	vmlinux	EXPORT_SYMBOL
+0xb9c315d1	disk_round_stats	vmlinux	EXPORT_SYMBOL_GPL
+0x7c2f2afb	w1_calc_crc8	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x2adec1e0	__nvram_check_checksum	drivers/char/nvram	EXPORT_SYMBOL
+0x7b8c1f01	unregister_kretprobe	vmlinux	EXPORT_SYMBOL_GPL
+0xa5c79544	switch_APIC_timer_to_ipi	vmlinux	EXPORT_SYMBOL
+0x45743c11	snd_gus_use_inc	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xc0fc92b8	snd_gus_use_dec	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x708d907f	snd_cs4231_mce_down	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xdbe06b56	cache_check	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xb36a5b7f	usb_check_bandwidth	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x14817105	iscsi_destroy_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xc523d4fa	video_usercopy	drivers/media/video/videodev	EXPORT_SYMBOL
+0x371dde90	mac_hid_mouse_emulate_buttons	vmlinux	EXPORT_SYMBOL
+0x01438985	acpi_fadt_is_v1	vmlinux	EXPORT_SYMBOL
+0x182aa3cb	set_blocksize	vmlinux	EXPORT_SYMBOL
+0x3421272c	efi	vmlinux	EXPORT_SYMBOL
+0x8671b455	snd_sbmixer_resume	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x877ea721	snd_gf1_write8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xb2df392a	ieee80211softmac_scan_finished	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x5d99c951	cpci_hp_unregister_bus	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x6200c4c9	btcx_calc_skips	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x326b58d6	flexcop_i2c_request	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x8305abb4	saa7146_pgtable_build_single	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xe20abf78	md_done_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0x272ec13f	uart_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x0d6c963c	copy_from_user	vmlinux	EXPORT_SYMBOL
+0xcbc4c9ba	crypto_spawn_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0x3ca9ea5e	cxiInactiveOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf5f7ccc5	hashbin_insert	net/irda/irda	EXPORT_SYMBOL
+0x30449890	usb_ftdi_elan_edset_output	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xcccd3117	mdio_bus_type	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x422eea74	inet_csk_search_req	vmlinux	EXPORT_SYMBOL_GPL
+0xf5633477	dmi_check_system	vmlinux	EXPORT_SYMBOL
+0xd84dfa1f	blk_execute_rq	vmlinux	EXPORT_SYMBOL
+0x83803124	rpc_call_sync	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xffff2629	ip6_xmit	net/ipv6/ipv6	EXPORT_SYMBOL
+0x75bc6e8b	dccp_hash	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x87d640c9	ata_noop_qc_prep	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0f4a7063	tcf_exts_dump	vmlinux	EXPORT_SYMBOL
+0xa03ab86c	get_wireless_stats	vmlinux	EXPORT_SYMBOL_GPL
+0x96f929e9	acpi_get_object_info	vmlinux	EXPORT_SYMBOL
+0x9fc921bb	vsscanf	vmlinux	EXPORT_SYMBOL
+0x82d79b51	sysctl_vfs_cache_pressure	vmlinux	EXPORT_SYMBOL_GPL
+0x04486e88	rcu_batches_completed	vmlinux	EXPORT_SYMBOL_GPL
+0x01075bf0	panic	vmlinux	EXPORT_SYMBOL
+0xd7dd777b	reserve_perfctr_nmi	vmlinux	EXPORT_SYMBOL
+0x5d986fc9	note_to_freq	sound/oss/sound	EXPORT_SYMBOL
+0x7c9bdbda	o2nm_get_node_by_ip	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xcda061c0	w1_remove_master_device	drivers/w1/wire	EXPORT_SYMBOL
+0x8eb22acb	ide_hwifs	vmlinux	EXPORT_SYMBOL
+0x12da5bb2	__kmalloc	vmlinux	EXPORT_SYMBOL
+0x8e879bb7	__vmalloc	vmlinux	EXPORT_SYMBOL
+0x12f237eb	__kzalloc	vmlinux	EXPORT_SYMBOL
+0x8ce0d7a9	audit_log_vformat	vmlinux	EXPORT_SYMBOL_GPL
+0x39a90206	put_files_struct	vmlinux	EXPORT_SYMBOL
+0x2cbd98b3	ov511_register_decomp_module	ubuntu/media/ov511/ov511	EXPORT_SYMBOL
+0x0f0dc789	hid_free_device	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x42313966	ata_sas_port_start	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2244321f	acpi_get_irq_routing_table	vmlinux	EXPORT_SYMBOL
+0x17ba231d	seq_input_event	sound/oss/sound	EXPORT_SYMBOL
+0x06175ecf	rpc_wake_up_next	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xb5d82983	journal_load	fs/jbd/jbd	EXPORT_SYMBOL
+0x6f303697	ata_sg_init	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x066df505	gf128mul_init_64k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0x1e108535	gf128mul_init_64k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0x7de966cf	__ip_select_ident	vmlinux	EXPORT_SYMBOL
+0x8d72c714	pci_find_next_ht_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x807e471a	pci_find_ht_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x79ef6ef2	flock_lock_file_wait	vmlinux	EXPORT_SYMBOL
+0x07abcb2c	xt_find_match	net/netfilter/x_tables	EXPORT_SYMBOL
+0x2352e173	dvb_usb_device_exit	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x2c84127c	iw_handler_get_spy	vmlinux	EXPORT_SYMBOL
+0xbb167766	fb_var_to_videomode	vmlinux	EXPORT_SYMBOL
+0x5152e605	memcmp	vmlinux	EXPORT_SYMBOL
+0x878e7973	bio_add_pc_page	vmlinux	EXPORT_SYMBOL
+0xdb80ba70	locks_init_lock	vmlinux	EXPORT_SYMBOL
+0x1be85365	snd_vx_create	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x9b19f882	serio_reconnect	vmlinux	EXPORT_SYMBOL
+0xc1154450	ide_end_request	vmlinux	EXPORT_SYMBOL
+0x348212c3	d_alloc_name	vmlinux	EXPORT_SYMBOL
+0x8ecf4acc	bttv_write_gpio	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xa671269a	dma_async_memcpy_buf_to_buf	vmlinux	EXPORT_SYMBOL
+0xa824c502	devm_ioport_unmap	vmlinux	EXPORT_SYMBOL
+0xb42f36d5	vfs_readdir	vmlinux	EXPORT_SYMBOL
+0x3771b461	crc_ccitt	lib/crc-ccitt	EXPORT_SYMBOL
+0x6b60eef6	zlib_inflate	vmlinux	EXPORT_SYMBOL
+0x0ead5073	vscnprintf	vmlinux	EXPORT_SYMBOL
+0x4d8b0c5c	blk_recount_segments	vmlinux	EXPORT_SYMBOL
+0x1b211538	vfs_quota_on	vmlinux	EXPORT_SYMBOL
+0x06b636ff	simple_statfs	vmlinux	EXPORT_SYMBOL
+0x1992a2ba	param_set_long	vmlinux	EXPORT_SYMBOL
+0x68848cc3	xfrm6_tunnel_deregister	net/ipv6/tunnel6	EXPORT_SYMBOL
+0x2a02e224	xfrm4_tunnel_deregister	net/ipv4/tunnel4	EXPORT_SYMBOL
+0x7a3fa953	usb_string	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xd81dbfa8	dm_io_async	drivers/md/dm-mod	EXPORT_SYMBOL
+0xb90c071b	km_policy_notify	vmlinux	EXPORT_SYMBOL
+0xf27e1cbd	ip_mc_join_group	vmlinux	EXPORT_SYMBOL
+0xec28cac8	journal_update_superblock	fs/jbd/jbd	EXPORT_SYMBOL
+0xf948b2b0	usb_gadget_register_driver	drivers/usb/gadget/net2280	EXPORT_SYMBOL
+0x061bd350	ib_alloc_pd	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x2fbe6b0a	agp_generic_free_gatt_table	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xf5815114	inet_csk_reqsk_queue_hash_add	vmlinux	EXPORT_SYMBOL_GPL
+0x27a72488	ioread8_rep	vmlinux	EXPORT_SYMBOL
+0xd47d4e1c	debugfs_remove	vmlinux	EXPORT_SYMBOL_GPL
+0x94cfa4ef	lease_modify	vmlinux	EXPORT_SYMBOL
+0xd6d2be88	kmap_atomic_to_page	vmlinux	EXPORT_SYMBOL
+0xae0103c3	tipc_shutdown	net/tipc/tipc	EXPORT_SYMBOL
+0x74cab76d	dibx000_init_i2c_master	drivers/media/dvb/frontends/dibx000_common	EXPORT_SYMBOL
+0xc03da375	dibx000_exit_i2c_master	drivers/media/dvb/frontends/dibx000_common	EXPORT_SYMBOL
+0x1aba3eac	xfrm_dst_ifdown	vmlinux	EXPORT_SYMBOL
+0xe8f5ebb9	neigh_seq_start	vmlinux	EXPORT_SYMBOL
+0x0184a0c4	skb_clone_fraglist	vmlinux	EXPORT_SYMBOL
+0x81f90c47	cpu_sysdev_class	vmlinux	EXPORT_SYMBOL
+0x3360bb18	ioread32_rep	vmlinux	EXPORT_SYMBOL
+0x502c6089	srcu_read_lock	vmlinux	EXPORT_SYMBOL_GPL
+0x37cebf20	cxiDumpOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x52fe113d	release_and_free_resource	sound/core/snd	EXPORT_SYMBOL
+0x45773eeb	snd_pcm_hw_constraint_ratdens	sound/core/snd-pcm	EXPORT_SYMBOL
+0x3e909d7f	rpc_put_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xcd0e269e	get_key_pinnacle_grey	drivers/media/video/ir-kbd-i2c	EXPORT_SYMBOL_GPL
+0x73e20c1c	strlcpy	vmlinux	EXPORT_SYMBOL
+0x3be7af02	get_max_files	vmlinux	EXPORT_SYMBOL_GPL
+0x1a45cb6c	acpi_disabled	vmlinux	EXPORT_SYMBOL
+0xb9fd2495	cxiTestBit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xecfdd9c9	unload_uart401	sound/oss/uart401	EXPORT_SYMBOL
+0x9d321af3	pcmcia_get_socket_by_nr	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x6f077fcf	ib_get_mad_data_offset	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x65fce835	tcf_em_tree_destroy	vmlinux	EXPORT_SYMBOL
+0xbb3a60ab	fddi_type_trans	vmlinux	EXPORT_SYMBOL
+0xf98b0275	tty_ldisc_put	vmlinux	EXPORT_SYMBOL_GPL
+0xf195c682	fb_invert_cmaps	vmlinux	EXPORT_SYMBOL
+0xa2226052	cxiGetKernelStackSize	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7e5e290a	snd_gf1_new_mixer	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xcec8514a	tipc_set_portunreturnable	net/tipc/tipc	EXPORT_SYMBOL
+0xc71f4341	ib_create_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x276a8b42	xfrm_state_check	vmlinux	EXPORT_SYMBOL
+0x8416166b	nf_net_netfilter_sysctl_path	vmlinux	EXPORT_SYMBOL_GPL
+0xec7f1697	ideprobe_init	vmlinux	EXPORT_SYMBOL_GPL
+0x14675959	ide_init_sg_cmd	vmlinux	EXPORT_SYMBOL_GPL
+0x74001fe9	driver_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x9aff7df4	cxiReleaseFile	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x8fa1391a	snd_emu8000_poke	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x098b71c6	fb_dealloc_cmap	vmlinux	EXPORT_SYMBOL
+0x433aedd7	blk_requeue_request	vmlinux	EXPORT_SYMBOL
+0x41482d8b	strndup_user	vmlinux	EXPORT_SYMBOL
+0xeeb6544e	snd_cs8427_iec958_pcm	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0xedeadd28	pccard_nonstatic_ops	drivers/pcmcia/rsrc_nonstatic	EXPORT_SYMBOL
+0x5b218c98	mptscsih_remove	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xa6cd5138	mptscsih_target_destroy	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x1dfaa011	agp_bind_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x8664f62e	cpufreq_update_policy	vmlinux	EXPORT_SYMBOL
+0xf7372970	crypto_init_spawn	vmlinux	EXPORT_SYMBOL_GPL
+0x85c5bb56	pagevec_lookup	vmlinux	EXPORT_SYMBOL
+0x89d4dbaf	usb_usual_check_type	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0xea90baec	scsi_scan_host	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb869d210	xfrm_find_acq	vmlinux	EXPORT_SYMBOL
+0x0359f865	sys_open	vmlinux	EXPORT_SYMBOL_GPL
+0x7037d79d	k8_flush_garts	vmlinux	EXPORT_SYMBOL_GPL
+0xf105ff1b	cxiFcntlReset	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x10d40fcd	tipc_isconnected	net/tipc/tipc	EXPORT_SYMBOL
+0xb98a0185	rtc_tm_to_time	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x07506ff9	ib_destroy_cq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x7854ee14	gs_stop	drivers/char/generic_serial	EXPORT_SYMBOL
+0xeb4c4263	drm_sman_set_manager	drivers/char/drm/drm	EXPORT_SYMBOL
+0xe0b7e4b5	tcp_sendpage	vmlinux	EXPORT_SYMBOL
+0x4185cf4b	radix_tree_lookup_slot	vmlinux	EXPORT_SYMBOL
+0x4676ff60	allocate_resource	vmlinux	EXPORT_SYMBOL
+0x30560619	cxiStopKProc	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc55d42cc	block_prepare_write	vmlinux	EXPORT_SYMBOL
+0xef2e458d	remove_suid	vmlinux	EXPORT_SYMBOL
+0x096d0e2d	cxiInvalidateNegDCacheEntry	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3a9bcad1	ip_vs_make_skb_writable	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x670cd123	dccp_init_sock	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x47a1825e	w1_reset_select_slave	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x67191935	hostap_free_data	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x84eb6543	mt2060_attach	drivers/media/dvb/frontends/mt2060	EXPORT_SYMBOL
+0x110d1fd7	dm_register_hw_handler	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0x51dff956	spi_write_then_read	vmlinux	EXPORT_SYMBOL_GPL
+0x38f29719	kill_pg	vmlinux	EXPORT_SYMBOL
+0xf9a054b5	__round_jiffies	vmlinux	EXPORT_SYMBOL_GPL
+0x7097df05	fat_notify_change	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x4fa21708	dvb_usb_get_hexline	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x181f5257	__hpsb_register_protocol	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf8d15b0c	vfs_rmdir	vmlinux	EXPORT_SYMBOL
+0xdf14299f	generic_shutdown_super	vmlinux	EXPORT_SYMBOL
+0x37e74642	get_jiffies_64	vmlinux	EXPORT_SYMBOL
+0x1258ab6d	cap_bprm_set_security	security/commoncap	EXPORT_SYMBOL
+0x8f967852	svc_create_thread	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x02a6ce5a	crc16_table	lib/crc16	EXPORT_SYMBOL
+0x592944db	sas_port_delete_phy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xb34d898b	scsi_track_queue_full	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe6551480	del_mtd_partitions	drivers/mtd/mtdpart	EXPORT_SYMBOL
+0x1807e38b	acpi_evaluate_integer	vmlinux	EXPORT_SYMBOL
+0x1b0a8f37	init_buffer	vmlinux	EXPORT_SYMBOL
+0xe3fc8699	gpfs_ops	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2c5ea9ee	ieee80211_register_hwmode	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x2a63516f	snd_card_new	sound/core/snd	EXPORT_SYMBOL
+0x5fa9565e	o2hb_unregister_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x0c3aca26	qlogicfas408_abort	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x92868b97	videobuf_read_one	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xd701e6d9	____request_resource	vmlinux	EXPORT_SYMBOL
+0x9e5a0ec1	snd_pcm_lib_readv	sound/core/snd-pcm	EXPORT_SYMBOL
+0xd88bdf5f	rpcauth_create	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x4b5ac460	cpufreq_gov_userspace	drivers/cpufreq/cpufreq_userspace	EXPORT_SYMBOL
+0x0e24fbe8	drm_sman_alloc	drivers/char/drm/drm	EXPORT_SYMBOL
+0x516c7440	sock_no_getname	vmlinux	EXPORT_SYMBOL
+0x686f1325	hpet_alloc	vmlinux	EXPORT_SYMBOL
+0x4ad915fb	vfs_link	vmlinux	EXPORT_SYMBOL
+0x03df5d32	journal_flush	fs/jbd/jbd	EXPORT_SYMBOL
+0x84dc2892	usb_buffer_alloc	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x2200c465	phy_driver_unregister	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xf82abc1d	isa_dma_bridge_buggy	vmlinux	EXPORT_SYMBOL
+0x93c1f1fa	ktime_get_real	vmlinux	EXPORT_SYMBOL_GPL
+0x09a0b562	panic_notifier_list	vmlinux	EXPORT_SYMBOL
+0xd05594b6	unregister_mtd_chip_driver	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0x2974ead1	DIVA_DIDD_Read	drivers/isdn/hardware/eicon/divadidd	EXPORT_SYMBOL
+0xfb223461	__xfrm_state_delete	vmlinux	EXPORT_SYMBOL
+0x301a05a9	d_delete	vmlinux	EXPORT_SYMBOL
+0x14777d07	mod_timer	vmlinux	EXPORT_SYMBOL
+0x99052a84	acpi_os_write_port	vmlinux	EXPORT_SYMBOL
+0x9df0542a	idr_remove	vmlinux	EXPORT_SYMBOL
+0x5b384ebc	param_get_invbool	vmlinux	EXPORT_SYMBOL
+0x42debef2	snd_ac97_set_rate	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xbf9d1b96	nfsd_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x6db666dc	cx88_core_put	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x93368e6e	drm_sman_owner_cleanup	drivers/char/drm/drm	EXPORT_SYMBOL
+0x9fca848b	drm_get_resource_start	drivers/char/drm/drm	EXPORT_SYMBOL
+0x2766b45a	ide_dma_verbose	vmlinux	EXPORT_SYMBOL
+0x9e72c35d	devres_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x33b9620c	tty_hangup	vmlinux	EXPORT_SYMBOL
+0x827c124c	pci_disable_device	vmlinux	EXPORT_SYMBOL
+0x54058d52	init_mm	vmlinux	EXPORT_SYMBOL
+0xe3e61832	cxiStackAddrToThreadId	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa3ddda18	inet_csk_ctl_sock_create	vmlinux	EXPORT_SYMBOL_GPL
+0x6f29fd87	alloc_hdlcdev	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x17c3bdf6	mpt_device_driver_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xbe4aedf2	b1dma_release_appl	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xd18a2559	ib_query_port	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x8ec2b312	dma_region_alloc	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x5c372971	llc_station_mac_sa	vmlinux	EXPORT_SYMBOL
+0x992c7d6d	snd_emu8000_peek	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x72a6b800	com20020_check	drivers/net/arcnet/com20020	EXPORT_SYMBOL
+0x6cd93adf	con_is_bound	vmlinux	EXPORT_SYMBOL
+0xb99f1af8	key_link	vmlinux	EXPORT_SYMBOL
+0x9e5a3aab	read_cache_page	vmlinux	EXPORT_SYMBOL
+0x720991ef	ieee80211softmac_stop	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x14ac44fd	onenand_default_bbt	drivers/mtd/onenand/onenand	EXPORT_SYMBOL
+0x78dbbfff	dev_change_flags	vmlinux	EXPORT_SYMBOL
+0xc1614549	ide_use_dma	vmlinux	EXPORT_SYMBOL_GPL
+0xc003c637	__strncpy_from_user	vmlinux	EXPORT_SYMBOL
+0x57865b44	dquot_drop	vmlinux	EXPORT_SYMBOL
+0x56c5486e	cpu_present_map	vmlinux	EXPORT_SYMBOL
+0x59178cf0	snd_opl3_new	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x97fdad28	lapb_unregister	net/lapb/lapb	EXPORT_SYMBOL
+0xbca88449	nand_scan	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0xcd2035c5	xfrm_state_walk	vmlinux	EXPORT_SYMBOL
+0x4166e3a0	nla_put_nohdr	vmlinux	EXPORT_SYMBOL
+0x2c9d9566	dmi_name_in_vendors	vmlinux	EXPORT_SYMBOL
+0xe92ca9f6	blkdev_driver_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0xf19294db	bt_sock_unregister	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x6525e5a2	scsi_set_medium_removal	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x16f56003	pcmcia_socket_list_rwsem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xa94188b0	lgh06xf_attach	drivers/media/dvb/frontends/lgh06xf	EXPORT_SYMBOL
+0xc40239eb	keyring_clear	vmlinux	EXPORT_SYMBOL
+0x9d8eb63e	__kill_fasync	vmlinux	EXPORT_SYMBOL
+0x871633f5	profile_pc	vmlinux	EXPORT_SYMBOL
+0xc4b9e92d	sound_timer_devs	sound/oss/sound	EXPORT_SYMBOL
+0xf5fec84d	snd_timer_resolution	sound/core/snd-timer	EXPORT_SYMBOL
+0x1f65047e	gss_service_to_auth_domain_name	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xd53b8ef4	ebt_unregister_match	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xc2cf384b	dm_io_sync_vm	drivers/md/dm-mod	EXPORT_SYMBOL
+0x3dcff9af	snd_gf1_write16	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xee93522c	hisax_register	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x9de05239	csr1212_detach_keyval_from_directory	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x572759ac	__nla_put	vmlinux	EXPORT_SYMBOL
+0xc755eba6	fb_set_var	vmlinux	EXPORT_SYMBOL
+0xa87153ef	generic_unplug_device	vmlinux	EXPORT_SYMBOL
+0x0237b57a	arch_unregister_cpu	vmlinux	EXPORT_SYMBOL
+0xf76c846d	snd_es1688_pcm	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0xfad0097a	svc_sock_names	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x713d88c3	sas_port_mark_backlink	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xc4908510	pcmcia_adjust_io_region	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x919245a9	inet_diag_register	vmlinux	EXPORT_SYMBOL_GPL
+0x1f8ec1b3	acpi_get_pci_rootbridge_handle	vmlinux	EXPORT_SYMBOL_GPL
+0x2fe40cfb	synth_alive	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xab4f6c88	snd_pcm_hw_rule_add	sound/core/snd-pcm	EXPORT_SYMBOL
+0xda8af7ad	fb_find_nearest_mode	vmlinux	EXPORT_SYMBOL
+0x4ca616a8	socket_aio_dequeue	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa5eb0d68	snd_card_file_remove	sound/core/snd	EXPORT_SYMBOL
+0x3b91f3af	snd_free_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x1cddf7e6	o2nm_get_node_by_num	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xc31c83b0	usb_init_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x53d7edee	__iscsi_complete_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xbdbd9aa1	blk_free_tags	vmlinux	EXPORT_SYMBOL
+0x85e5a3db	ktime_get_ts	vmlinux	EXPORT_SYMBOL_GPL
+0x4888a014	__get_user_2	vmlinux	EXPORT_SYMBOL
+0x5a4896a8	__put_user_2	vmlinux	EXPORT_SYMBOL
+0xb55164f5	snd_ac97_read	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x9bf1cc62	ad1848_unload	sound/oss/ad1848	EXPORT_SYMBOL
+0xf3797152	snd_interval_ratnum	sound/core/snd-pcm	EXPORT_SYMBOL
+0x201cfdb8	scsi_device_get	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x11f0d0bf	scsi_device_put	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5dd9885c	tpm_bios_log_setup	drivers/char/tpm/tpm_bios	EXPORT_SYMBOL_GPL
+0xcccfb2fa	sata_deb_timing_hotplug	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa10740a5	ata_data_xfer_noirq	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x56c29171	ata_port_queue_task	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x3df4838d	inet_listen_wlock	vmlinux	EXPORT_SYMBOL
+0x0e4a31ec	snd_emu8000_update_reverb_mode	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0xbe866c16	dm_register_path_selector	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0x5f4ff241	tpm_show_pcrs	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x691964ec	xfrm_policy_flush	vmlinux	EXPORT_SYMBOL
+0x322c6fc2	__check_region	vmlinux	EXPORT_SYMBOL
+0xc6d4b42a	nf_nat_protocol_register	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x74c0571d	ieee80211_unregister_crypto_ops	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x4760222c	key_task_permission	vmlinux	EXPORT_SYMBOL
+0x1638f749	ieee80211_rate_control_register	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xf3c44190	snd_i2c_bus_create	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0xade88e76	snd_malloc_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xebe2dca6	irda_task_delete	net/irda/irda	EXPORT_SYMBOL
+0x60b890d8	nf_nat_protocol_unregister	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x6ace70ee	ieee80211softmac_wx_set_wap	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x6667927e	sas_domain_attach_transport	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x8f03b9f8	detach_capi_ctr	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x5ba35091	inet_diag_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xdcad9011	sock_sendmsg	vmlinux	EXPORT_SYMBOL
+0x80cc96d8	snd_hwdep_new	sound/core/snd-hwdep	EXPORT_SYMBOL
+0x204f5fc0	usb_hcd_pci_suspend	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x09feb992	rtc_set_mmss	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xc4c628ba	destroy_EII_client	vmlinux	EXPORT_SYMBOL
+0x9083aae4	ide_register_region	vmlinux	EXPORT_SYMBOL_GPL
+0x62be23ea	cycx_setup	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x96031958	mmc_request_done	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x4e2b8aca	ipmi_set_gets_events	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xf1b5cfa6	netif_carrier_off	vmlinux	EXPORT_SYMBOL
+0x6045cb85	class_register	vmlinux	EXPORT_SYMBOL_GPL
+0x57f303a4	vfs_quota_off	vmlinux	EXPORT_SYMBOL
+0xf023b91f	sb_set_blocksize	vmlinux	EXPORT_SYMBOL
+0x9345e2d3	lease_get_mtime	vmlinux	EXPORT_SYMBOL
+0xd986dad1	kernel_fpu_begin	vmlinux	EXPORT_SYMBOL_GPL
+0x071aabfd	ip6_sk_dst_lookup	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x5060aa8d	matroxfb_DAC_in	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0xabd8e427	matroxfb_var2my	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x8944812f	parport_ieee1284_epp_read_addr	drivers/parport/parport	EXPORT_SYMBOL
+0xc169a18f	arc_raw_proto	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xbebd011c	qdisc_unlock_tree	vmlinux	EXPORT_SYMBOL
+0xcb51d0fd	vmalloc_to_pfn	vmlinux	EXPORT_SYMBOL
+0xc63d85b6	get_task_mm	vmlinux	EXPORT_SYMBOL_GPL
+0x7bce2eac	ieee80211_ctstoself_duration	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x294b5550	bttv_get_id	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x318920b1	register_dock_notifier	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0xc3b177ba	register_tcf_proto_ops	vmlinux	EXPORT_SYMBOL
+0x2e53361e	ide_register_hw	vmlinux	EXPORT_SYMBOL
+0x057cacf8	crypto_unregister_alg	vmlinux	EXPORT_SYMBOL_GPL
+0xae254ca9	lock_super	vmlinux	EXPORT_SYMBOL
+0x2462fd7f	dump_fpu	vmlinux	EXPORT_SYMBOL
+0xa9f5379a	o2net_send_message_vec	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x273aace0	unregister_md_personality	drivers/md/md-mod	EXPORT_SYMBOL
+0xc9ab2eef	acpi_os_wait_events_complete	vmlinux	EXPORT_SYMBOL
+0x4124994c	get_empty_filp	vmlinux	EXPORT_SYMBOL
+0x9c52d484	filp_open	vmlinux	EXPORT_SYMBOL
+0xc0e263a7	generic_file_aio_write	vmlinux	EXPORT_SYMBOL
+0x5c8c56a7	snd_rawmidi_set_ops	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x88cc66cc	snd_pcm_link_rwlock	sound/core/snd-pcm	EXPORT_SYMBOL
+0xcb324a47	rxrpc_put_call	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x6b5c6200	ip_vs_tcp_conn_listen	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xb90269ad	dccp_timestamp	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x955ca3c7	z8530_sync	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x1cb148f5	ir_extract_bits	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x3003e770	agp_allocate_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x955de0cc	xfrm_calg_get_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x7e32f6d3	copy_io_context	vmlinux	EXPORT_SYMBOL
+0x3287e0bc	run_scheduled_work	vmlinux	EXPORT_SYMBOL
+0xb83196c7	matroxfb_DAC_out	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0xe214722c	get_disk	vmlinux	EXPORT_SYMBOL
+0x95f20aa8	__free_pages	vmlinux	EXPORT_SYMBOL
+0x151408ca	snd_cs4236_create	sound/isa/cs423x/snd-cs4236-lib	EXPORT_SYMBOL
+0xb949ab9f	snd_cs4231_create	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xc9909758	nf_nat_amanda_hook	net/netfilter/nf_conntrack_amanda	EXPORT_SYMBOL_GPL
+0x97f09af8	parport_get_port	drivers/parport/parport	EXPORT_SYMBOL
+0xfadcf9f1	parport_put_port	drivers/parport/parport	EXPORT_SYMBOL
+0x6fa971e2	inet_bind	vmlinux	EXPORT_SYMBOL
+0x830b49a9	pci_scan_child_bus	vmlinux	EXPORT_SYMBOL_GPL
+0xb74c2b8a	cxiShutdownDMS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xed5dead8	setSMBOplock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xfbfd9a4d	xfrm_init_state	vmlinux	EXPORT_SYMBOL
+0x263ab6d1	pci_assign_resource	vmlinux	EXPORT_SYMBOL
+0x6f46a1fe	journal_try_to_free_buffers	fs/jbd/jbd	EXPORT_SYMBOL
+0xeae4a871	default_mtd_writev	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x3cd36160	dvb_generic_open	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa3c6cc5e	xfrm_user_policy	vmlinux	EXPORT_SYMBOL
+0x498472ab	skb_split	vmlinux	EXPORT_SYMBOL
+0xdd053af8	input_grab_device	vmlinux	EXPORT_SYMBOL
+0x389e200f	ioread8	vmlinux	EXPORT_SYMBOL
+0x556fe0f5	ib_destroy_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x686c703f	xfrm_count_auth_supported	vmlinux	EXPORT_SYMBOL_GPL
+0x28dcf25c	udplite_hash	vmlinux	EXPORT_SYMBOL
+0x3ed76b8c	netlink_broadcast	vmlinux	EXPORT_SYMBOL
+0xc3cf1128	in_group_p	vmlinux	EXPORT_SYMBOL
+0x3c237fb0	cxiIsNFS4Thread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf1114f27	snd_cs4231_put_double	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x7c32d48b	ax25_send_frame	net/ax25/ax25	EXPORT_SYMBOL
+0xdabf8fbb	udp_sendmsg	vmlinux	EXPORT_SYMBOL
+0x45813364	elv_rb_former_request	vmlinux	EXPORT_SYMBOL
+0xb2fe45fe	rtl_ieee80211_wx_get_essid	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xc64a34b1	rtl_ieee80211_wx_set_essid	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xda0481e5	snd_timer_stop	sound/core/snd-timer	EXPORT_SYMBOL
+0xc875f3c9	ieee80211softmac_wx_set_rate	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xd6524c3d	usb_kill_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xbde33c2b	usb_get_intf	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x973cfc0d	ib_sa_mcmember_rec_query	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x0c486b72	ide_unregister	vmlinux	EXPORT_SYMBOL
+0xf5cf7db0	tifm_add_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x5f52ef4e	dst_error_recovery	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x8ca99a04	audit_log	vmlinux	EXPORT_SYMBOL
+0xa071f119	snd_sbdsp_get_byte	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x248c2b2f	xdr_process_buf	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x0f28cb91	nvram_read_byte	drivers/char/nvram	EXPORT_SYMBOL
+0xc6c588e2	sk_wait_data	vmlinux	EXPORT_SYMBOL
+0x97dbe407	pci_enable_wake	vmlinux	EXPORT_SYMBOL
+0xf07b0c7a	snd_ak4117_reinit	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x582c3df7	snd_ak4114_reinit	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0x9cccf3ce	xt_replace_table	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x113c8678	hostap_get_stats	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x6426a07a	acpi_lock_battery_dir	vmlinux	EXPORT_SYMBOL
+0x04a20170	unshare_files	vmlinux	EXPORT_SYMBOL
+0x04d008cd	mark_tsc_unstable	vmlinux	EXPORT_SYMBOL_GPL
+0xd4883565	snd_midi_event_encode_byte	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x8685a91d	sas_task_abort	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x7fe9be7c	rdma_resolve_ip	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x08677b87	tpm_remove_hardware	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xd48b1226	acpi_rs_match_vendor_resource	vmlinux	EXPORT_SYMBOL
+0x80101484	end_buffer_read_sync	vmlinux	EXPORT_SYMBOL
+0xd128a602	snd_vx_setup_firmware	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x7e64181d	usb_calc_bus_time	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xa1ca4fac	sas_register_ha	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x6971447a	rtc_month_days	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x934996e9	ata_eng_timeout	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xeb822224	tcf_em_tree_dump	vmlinux	EXPORT_SYMBOL
+0x28b41ed8	neigh_for_each	vmlinux	EXPORT_SYMBOL
+0x27e2fa2b	unregister_jprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x5418d52a	param_get_ushort	vmlinux	EXPORT_SYMBOL
+0x736f7c31	snd_emu10k1_ptr_read	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x5f4b7215	usb_find_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x94dc62d2	ata_scsi_ioctl	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x7ecc01c7	vcc_insert_socket	vmlinux	EXPORT_SYMBOL
+0x55bcc145	pci_add_new_bus	vmlinux	EXPORT_SYMBOL
+0xad7470a9	phy_start_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x712adc4c	register_acpi_bus_type	vmlinux	EXPORT_SYMBOL
+0xf82e3d47	acpi_initialize_objects	vmlinux	EXPORT_SYMBOL
+0x34e43f9f	scatterwalk_start	vmlinux	EXPORT_SYMBOL_GPL
+0xbd07d6b9	cxiGetKernelBoundary	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x134d0cb2	ieee80211_get_channel_flags	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x7620fca1	parport_register_port	drivers/parport/parport	EXPORT_SYMBOL
+0xadbc8c7b	xfrm_state_check_expire	vmlinux	EXPORT_SYMBOL
+0x90dd9278	netdev_boot_setup_check	vmlinux	EXPORT_SYMBOL
+0x3fe3e9fc	sock_i_uid	vmlinux	EXPORT_SYMBOL
+0x87634e65	sock_i_ino	vmlinux	EXPORT_SYMBOL
+0xa5c36cec	inotify_unmount_inodes	vmlinux	EXPORT_SYMBOL_GPL
+0x44fb7e74	synth	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x09e3f805	snd_emux_lock_voice	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x0028fca7	snd_register_device	sound/core/snd	EXPORT_SYMBOL
+0x9e767733	ip_build_and_send_pkt	vmlinux	EXPORT_SYMBOL_GPL
+0xf59339dd	register_gifconf	vmlinux	EXPORT_SYMBOL
+0x6b6f03eb	cpufreq_unregister_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x457594fa	crypto_alg_list	vmlinux	EXPORT_SYMBOL_GPL
+0xb2780f36	mempool_alloc	vmlinux	EXPORT_SYMBOL
+0xeecc6fb9	inet_dccp_listen	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x2ca7712a	irda_register_dongle	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x263b54cc	acpi_resource_to_address64	vmlinux	EXPORT_SYMBOL
+0x73854fe0	iscsi_conn_stop	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x141bdff0	proc_dointvec_minmax	vmlinux	EXPORT_SYMBOL
+0xc3d4edf5	pccard_static_ops	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x3811daea	ir_codes_manli	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x7af96325	i2c_bus_type	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x564c06ad	atm_charge	vmlinux	EXPORT_SYMBOL
+0xda7996ab	ide_setup_pci_device	vmlinux	EXPORT_SYMBOL_GPL
+0xdc43a9c8	daemonize	vmlinux	EXPORT_SYMBOL
+0xa1457e5f	kmap	vmlinux	EXPORT_SYMBOL
+0x91d99e08	icmpv6_send	net/ipv6/ipv6	EXPORT_SYMBOL
+0x219cbabe	dma_region_offset_to_bus	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xa9a75df4	put_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x04dbca51	blk_queue_make_request	vmlinux	EXPORT_SYMBOL
+0x35555c86	put_page	vmlinux	EXPORT_SYMBOL
+0xb1cb1056	_spin_unlock_bh	vmlinux	EXPORT_SYMBOL
+0x560bbc23	kxUMount	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x5701686e	nf_conntrack_lock	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe4d4f06d	irda_task_next_state	net/irda/irda	EXPORT_SYMBOL
+0x32506844	rtc_device_register	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x51be37e7	bt878	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0xa76aecc9	saa7146_vv_release	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x06c3c46b	led_classdev_resume	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0x9db8273d	tty_ldisc_deref	vmlinux	EXPORT_SYMBOL_GPL
+0x6c6feef2	vfs_getattr	vmlinux	EXPORT_SYMBOL
+0x477fb8e7	spi_bitbang_start	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0x7ef03b65	phy_stop	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xe028194d	inet_del_protocol	vmlinux	EXPORT_SYMBOL
+0xdcb43a75	neigh_update	vmlinux	EXPORT_SYMBOL
+0x14e607a3	mca_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x536be5ce	put_io_context	vmlinux	EXPORT_SYMBOL
+0x09a47533	bd_claim_by_disk	vmlinux	EXPORT_SYMBOL_GPL
+0x5e7241fa	nobh_truncate_page	vmlinux	EXPORT_SYMBOL
+0xb45b24f6	k8_nb_ids	vmlinux	EXPORT_SYMBOL
+0xd03e3ff4	snd_vx_check_reg_bit	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xb7c8a16c	snd_seq_instr_free_use	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0xbaeb4700	o2hb_check_node_heartbeating_from_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x4f4662a7	iscsi_conn_start	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x64b4d60b	ethtool_op_set_tx_hw_csum	vmlinux	EXPORT_SYMBOL
+0xf6484d1a	end_that_request_chunk	vmlinux	EXPORT_SYMBOL
+0x11fb8d8b	nand_scan_tail	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0xb44d6543	dvb_ringbuffer_pkt_write	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x960d9427	icmp_send	vmlinux	EXPORT_SYMBOL
+0xe49414e9	rtattr_parse	vmlinux	EXPORT_SYMBOL
+0xdce3cf69	cxiUnmapContiguousRO	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xab54337d	usb_deregister_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x9726f863	ata_device_blacklisted	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x1f17415c	xfrm_state_update	vmlinux	EXPORT_SYMBOL
+0xcb2c38ef	security_ops	vmlinux	EXPORT_SYMBOL
+0x23864ce7	cpuset_mem_spread_node	vmlinux	EXPORT_SYMBOL_GPL
+0x72202e93	hrtimer_start	vmlinux	EXPORT_SYMBOL_GPL
+0xc3067e4c	snd_cards	sound/core/snd	EXPORT_SYMBOL
+0x0bc39aae	hashbin_delete	net/irda/irda	EXPORT_SYMBOL
+0xdf3c19ec	cn_add_callback	drivers/connector/cn	EXPORT_SYMBOL_GPL
+0x16db94a4	dev_open	vmlinux	EXPORT_SYMBOL
+0x1eba9e49	iowrite16_rep	vmlinux	EXPORT_SYMBOL
+0x2dbc755e	iowrite32_rep	vmlinux	EXPORT_SYMBOL
+0x248ed2ab	ilookup	vmlinux	EXPORT_SYMBOL
+0x9941ccb8	free_pages	vmlinux	EXPORT_SYMBOL
+0x4cc94d77	__ieee80211_rx	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x73c4c993	snd_mpu401_uart_interrupt_tx	sound/drivers/mpu401/snd-mpu401-uart	EXPORT_SYMBOL
+0xe098cd15	nat_q931_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0xcda0ded2	btcx_screen_clips	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x6a5b6ea4	dmi_get_system_info	vmlinux	EXPORT_SYMBOL
+0x2c74cc93	class_device_remove_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0x7bb3faad	unlock_new_inode	vmlinux	EXPORT_SYMBOL
+0x084d7eb7	__f_setown	vmlinux	EXPORT_SYMBOL
+0xf82f16b3	execute_in_process_context	vmlinux	EXPORT_SYMBOL_GPL
+0x0c004a73	xt_find_table_lock	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xab167621	nf_nat_mangle_tcp_packet	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x518fcbfb	tms380tr_interrupt	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0x62737e1d	sock_unregister	vmlinux	EXPORT_SYMBOL
+0xe41078cf	kset_register	vmlinux	EXPORT_SYMBOL
+0x4ba94a27	fput	vmlinux	EXPORT_SYMBOL
+0x625acc81	__down_failed_interruptible	vmlinux	EXPORT_SYMBOL
+0xb9394173	irias_delete_value	net/irda/irda	EXPORT_SYMBOL
+0xaffcfa29	sas_phy_delete	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x0721b2ca	pcmcia_get_window	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x078ae196	eighty_ninty_three	vmlinux	EXPORT_SYMBOL
+0xb9eb7229	platform_device_alloc	vmlinux	EXPORT_SYMBOL_GPL
+0x5ca0bacd	acpi_os_map_memory	vmlinux	EXPORT_SYMBOL_GPL
+0xb90eff67	posix_timer_event	vmlinux	EXPORT_SYMBOL_GPL
+0x9246356a	journal_set_features	fs/jbd/jbd	EXPORT_SYMBOL
+0xa34cd2cd	arc_bcast_proto	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xb31ddfb4	get_cmos_time	vmlinux	EXPORT_SYMBOL
+0x7e5279c5	sas_phy_free	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xbab0e579	cx88_risc_databuffer	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x141dbf9b	acpi_bus_receive_event	vmlinux	EXPORT_SYMBOL
+0x76e9fa3b	add_disk	vmlinux	EXPORT_SYMBOL
+0xf13fc8d6	_read_lock_irq	vmlinux	EXPORT_SYMBOL
+0x3c5c5ea9	rtl_ieee80211_wx_set_rawtx	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xc761c80a	mptscsih_info	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x0b23fe58	inet_shutdown	vmlinux	EXPORT_SYMBOL
+0xe20711ad	posix_lock_file_conf	vmlinux	EXPORT_SYMBOL
+0x2b203c44	posix_lock_file_wait	vmlinux	EXPORT_SYMBOL
+0x1479cb03	tipc_deleteport	net/tipc/tipc	EXPORT_SYMBOL
+0xf4022438	xt_unregister_table	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x63d27f34	hpsb_iso_shutdown	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x14ccf08d	inet_csk_clone	vmlinux	EXPORT_SYMBOL_GPL
+0x375805c1	ide_register_subdriver	vmlinux	EXPORT_SYMBOL
+0xe3feadb9	uart_remove_one_port	vmlinux	EXPORT_SYMBOL
+0xd66dc728	pnp_manual_config_dev	vmlinux	EXPORT_SYMBOL
+0x4e830a3e	strnicmp	vmlinux	EXPORT_SYMBOL
+0xf31fb9b3	vmalloc_to_page	vmlinux	EXPORT_SYMBOL
+0xf32a1020	clocksource_reselect	vmlinux	EXPORT_SYMBOL
+0x1d027e4b	snd_pcm_format_signed	sound/core/snd-pcm	EXPORT_SYMBOL
+0x302a6d50	journal_start_commit	fs/jbd/jbd	EXPORT_SYMBOL
+0x781ca38c	fbcon_set_bitops	drivers/video/console/bitblit	EXPORT_SYMBOL
+0x2eda9b70	usb_get_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x737e6531	hostap_info_init	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xfa5c48ba	__wake_up_bit	vmlinux	EXPORT_SYMBOL
+0x655cb202	snd_sf_linear_to_log	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0xf78e8303	xdr_encode_array2	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x08ed0b62	mac_vmode_to_var	drivers/video/macmodes	EXPORT_SYMBOL
+0x283836f3	usb_hcd_giveback_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x5cd24d29	z8530_hdlc_kilostream	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x03bda3ea	dst_command	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xc7b2252d	flexcop_sram_ctrl	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xa45d08e3	sock_release	vmlinux	EXPORT_SYMBOL
+0xbf16c1f5	pci_find_device	vmlinux	EXPORT_SYMBOL
+0xdd77f84e	user_instantiate	vmlinux	EXPORT_SYMBOL_GPL
+0x2becad38	add_wait_queue_exclusive	vmlinux	EXPORT_SYMBOL
+0x2d4ddaae	snd_emu10k1_synth_bzero	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x3ddcddc0	snd_gf1_mem_xfree	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xc2101e8f	nf_nat_icmp_reply_translation	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x75811312	crc_ccitt_table	lib/crc-ccitt	EXPORT_SYMBOL
+0x24e9991f	nlmclnt_proc	fs/lockd/lockd	EXPORT_SYMBOL
+0xd8eacdaf	usb_claim_bandwidth	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xf02a055b	b1dmactl_read_proc	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x863cb91a	utf8_wcstombs	vmlinux	EXPORT_SYMBOL
+0xe43ad7f2	__handle_mm_fault	vmlinux	EXPORT_SYMBOL_GPL
+0x3f8de9d2	register_posix_clock	vmlinux	EXPORT_SYMBOL_GPL
+0xd0748ad7	rt2x00lib_load_firmware_wait	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x4dc7b9d3	spi_bitbang_transfer	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0x722613e3	__orinoco_down	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0xdfcf23df	ir_codes_norwood	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xfe882997	gf128mul_init_4k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0xe6f559a7	gf128mul_init_4k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0xa22fd433	netdev_set_master	vmlinux	EXPORT_SYMBOL
+0xca12ddc0	idr_init	vmlinux	EXPORT_SYMBOL
+0x58994e1c	mpage_readpage	vmlinux	EXPORT_SYMBOL
+0xd6ee688f	vmalloc	vmlinux	EXPORT_SYMBOL
+0xf90736d6	snd_trident_synth_alloc	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0xed47b224	hermes_struct_init	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xcc74a8fe	set_cr0	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xd2634406	ata_bmdma_error_handler	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x170fa9df	pci_request_region	vmlinux	EXPORT_SYMBOL
+0x4af46fa2	snd_emu10k1_voice_free	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x25f4ad08	flexcop_sram_set_dest	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xd651ce92	mb_cache_entry_find_first	fs/mbcache	EXPORT_SYMBOL
+0x981e0015	scsi_adjust_queue_depth	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x7a2dec00	ib_attach_mcast	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x61e750f1	ib_detach_mcast	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xcd9929c7	cxiBlockingMutexTerm	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x78935f56	cap_capset_check	security/commoncap	EXPORT_SYMBOL
+0x735e9f37	gss_mech_get_by_name	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x6aba7c71	ppp_unregister_compressor	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x31c24aa4	capi20_isinstalled	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xb1d81e6e	agp_generic_alloc_page	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xfd52c20c	tcp_unregister_congestion_control	vmlinux	EXPORT_SYMBOL_GPL
+0x26de6813	acpi_bus_add	vmlinux	EXPORT_SYMBOL
+0xc18a4c25	bio_split	vmlinux	EXPORT_SYMBOL
+0x01f65f13	lock_rename	vmlinux	EXPORT_SYMBOL
+0xd25d344d	dccp_set_state	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x1e2d14e2	i2c_bit_add_bus	drivers/i2c/algos/i2c-algo-bit	EXPORT_SYMBOL
+0xeea4d136	class_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x2c68dcd5	xdr_inline_decode	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xed23741c	per_cpu__nf_conntrack_stat	net/netfilter/nf_conntrack	EXPORT_SYMBOL
+0x3703d139	usb_ftdi_elan_edset_single	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xe78e2f79	sppp_close	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0xc5b650b0	i2o_device_claim_release	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x45b08f68	ir_codes_pinnacle_grey	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6b8decc5	ata_bmdma_status	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x50b966fc	tcp_check_req	vmlinux	EXPORT_SYMBOL
+0xce0ceabf	netlink_unicast	vmlinux	EXPORT_SYMBOL
+0x842499d3	neigh_sysctl_register	vmlinux	EXPORT_SYMBOL
+0x337c243a	snd_gf1_delay	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x5f79e9a1	snd_timer_start	sound/core/snd-timer	EXPORT_SYMBOL
+0x24d5f180	atrtr_get_dev	net/appletalk/appletalk	EXPORT_SYMBOL
+0x76e9df26	usb_serial_generic_read_bulk_callback	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x268cc6a2	sys_close	vmlinux	EXPORT_SYMBOL
+0x73803bc2	kill_pgrp	vmlinux	EXPORT_SYMBOL
+0x8a90d633	fat_build_inode	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x4c6c6337	bttv_gpio_inout	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xc10fe128	cdebbuf_free	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xa4d4f0e6	global_cache_flush	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xd1472061	acpi_pci_register_driver	vmlinux	EXPORT_SYMBOL
+0x99f07c01	seq_read	vmlinux	EXPORT_SYMBOL
+0x88193ce2	is_bad_inode	vmlinux	EXPORT_SYMBOL
+0x89b301d4	param_get_int	vmlinux	EXPORT_SYMBOL
+0x0b27efb7	snd_hda_codec_write	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xa55d3f9f	snd_cs4231_put_single	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xa4e0c024	hdlcdrv_receiver	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xf51431c4	dm_unregister_hw_handler	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0x05048b38	mca_is_adapter_used	vmlinux	EXPORT_SYMBOL
+0xfc3990f3	start_tty	vmlinux	EXPORT_SYMBOL
+0x5600904f	fb_get_color_depth	vmlinux	EXPORT_SYMBOL
+0x5a733fde	user_update	vmlinux	EXPORT_SYMBOL_GPL
+0xe321b5e5	snd_pcm_notify	sound/core/snd-pcm	EXPORT_SYMBOL
+0xbc030d33	dm_table_get_mode	drivers/md/dm-mod	EXPORT_SYMBOL
+0xbdc4f1f6	kvm_read_guest	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xae8aa75c	pnp_unregister_card_driver	vmlinux	EXPORT_SYMBOL
+0x6f4d2419	notify_change	vmlinux	EXPORT_SYMBOL
+0x023c3593	follow_up	vmlinux	EXPORT_SYMBOL
+0x6483655c	param_get_short	vmlinux	EXPORT_SYMBOL
+0x6e796de8	snd_gf1_look8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xde4c6b3c	irlmp_service_to_hint	net/irda/irda	EXPORT_SYMBOL
+0xaafe76ea	drm_sman_cleanup	drivers/char/drm/drm	EXPORT_SYMBOL
+0x0f1401bc	skb_copy_and_csum_datagram_iovec	vmlinux	EXPORT_SYMBOL
+0x56f675fd	sock_no_ioctl	vmlinux	EXPORT_SYMBOL
+0x33c903af	close_bdev_excl	vmlinux	EXPORT_SYMBOL
+0xc468f4b3	dma_alloc_coherent	vmlinux	EXPORT_SYMBOL
+0xbbb98859	edid_info	vmlinux	EXPORT_SYMBOL_GPL
+0xd35422f5	cxiSetNfsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1c367e06	cxiGetNfsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x39db8215	snd_rawmidi_transmit_ack	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x802a795e	nf_conntrack_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xa87bc9e7	o2nm_configured_node_map	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x67300d5c	scsi_remove_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x2828d1ae	pci_hp_change_slot_info	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xf7057742	mpt_verify_adapter	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x4521b9ea	md_write_start	drivers/md/md-mod	EXPORT_SYMBOL
+0x79480fd3	serio_unregister_child_port	vmlinux	EXPORT_SYMBOL
+0xa0639dff	simple_empty	vmlinux	EXPORT_SYMBOL
+0xd4bbdc24	__read_lock_failed	vmlinux	EXPORT_SYMBOL
+0xea9b9e67	snd_gf1_alloc_voice	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x801ad963	dccp_make_response	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xa994a196	journal_lock_updates	fs/jbd/jbd	EXPORT_SYMBOL
+0xc1f7d17b	usb_hub_tt_clear_buffer	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x935515cc	ir_input_init	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x3121e0c8	xfrm_cfg_mutex	vmlinux	EXPORT_SYMBOL
+0x4789c4d9	__pci_register_driver	vmlinux	EXPORT_SYMBOL
+0x88020d37	blk_queue_merge_bvec	vmlinux	EXPORT_SYMBOL
+0x32b14784	blk_start_queueing	vmlinux	EXPORT_SYMBOL
+0xf85a2e6c	snd_cs4236_pcm	sound/isa/cs423x/snd-cs4236-lib	EXPORT_SYMBOL
+0xb7323d35	snd_cs4231_pcm	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x099208a1	hci_register_cb	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xc2c3b966	ip_ct_attach	vmlinux	EXPORT_SYMBOL
+0x50eed53a	dev_set_mtu	vmlinux	EXPORT_SYMBOL
+0x3be4e2dc	crypto_unregister_template	vmlinux	EXPORT_SYMBOL_GPL
+0x6624a17c	snd_hda_codec_setup_stream	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x7561ce0d	xdr_decode_string_inplace	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xd0065e4f	svc_seq_show	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x770bbdbb	scsi_free_host_dev	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x3b2a351b	ttpci_budget_init	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x8f5897e9	dvb_usb_tuner_set_params_i2c	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xd0fef3b2	agp_free_key	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x5d5234d6	driver_register	vmlinux	EXPORT_SYMBOL_GPL
+0x55d618e4	pnp_device_detach	vmlinux	EXPORT_SYMBOL
+0xc359ec0d	rwsem_down_write_failed	vmlinux	EXPORT_SYMBOL
+0x828f2818	should_remove_suid	vmlinux	EXPORT_SYMBOL
+0x6057c6f3	capi_message2cmsg	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x00ebcb5d	ata_id_string	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe0add7ef	device_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x9f9e7bec	input_ff_create	vmlinux	EXPORT_SYMBOL_GPL
+0xa46bf9c7	acpi_unlock_battery_dir	vmlinux	EXPORT_SYMBOL
+0xbac98630	find_lock_page	vmlinux	EXPORT_SYMBOL
+0x75598bf3	srcu_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x4e58223e	cxiSetOSNodeType	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa5f1784c	wiphy_register	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0xbe7b3247	platform_get_irq_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x0489d9bb	input_ff_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x773ca080	file_permission	vmlinux	EXPORT_SYMBOL
+0x508ef3dd	remove_wait_queue	vmlinux	EXPORT_SYMBOL
+0x89cef6fb	param_array_set	vmlinux	EXPORT_SYMBOL
+0x806d5133	param_array_get	vmlinux	EXPORT_SYMBOL
+0x7f87c157	ib_send_cm_sidr_req	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xdfaeb648	ib_send_cm_sidr_rep	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x24ad926e	sk_stream_write_space	vmlinux	EXPORT_SYMBOL
+0x29ff3d1c	ipv6_dup_options	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xd1da36cd	add_mtd_blktrans_dev	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0x8b1785ee	dvb_generic_ioctl	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa3deee33	ata_device_add	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x08389d41	usb_buffer_free	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xca786ed4	pcmcia_resume_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x38da4725	cycx_intr	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x8bd76c26	drm_fasync	drivers/char/drm/drm	EXPORT_SYMBOL
+0x8e002cda	acpi_remove_gpe_block	vmlinux	EXPORT_SYMBOL
+0xa59c0666	acpi_strict	vmlinux	EXPORT_SYMBOL
+0x49a9df8a	rxrpc_create_call	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x3337757e	irda_device_unregister_dongle	net/irda/irda	EXPORT_SYMBOL
+0x2cedf0ee	dccp_feat_change_recv	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x7e275ea8	scsi_complete_async_scans	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xa924dac6	dma_prog_region_alloc	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x181badfb	i2c_smbus_write_word_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x801ec7bc	xfrm_policy_bysel_ctx	vmlinux	EXPORT_SYMBOL
+0x1d28c8c2	tcp_sendmsg	vmlinux	EXPORT_SYMBOL
+0x0fa019be	elv_rb_add	vmlinux	EXPORT_SYMBOL
+0x7f61c7be	elv_rb_del	vmlinux	EXPORT_SYMBOL
+0xab9ead53	mptscsih_is_phys_disk	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x23ae23e5	mptscsih_qcmd	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x6fa1f481	dst_attach	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x472bee93	ata_tf_load	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf586eceb	ata_tf_read	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa621e173	sock_map_fd	vmlinux	EXPORT_SYMBOL
+0x19c2aa80	snd_util_mem_avail	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x3ef76168	snd_ctl_elem_write	sound/core/snd	EXPORT_SYMBOL
+0x36ed4069	dccp_disconnect	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xc9f41127	lcd_device_unregister	drivers/video/backlight/lcd	EXPORT_SYMBOL
+0xf5cf9a1c	release_cis_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xc0feccd0	xfrm_replay_advance	vmlinux	EXPORT_SYMBOL
+0xe8c56761	default_hwif_mmiops	vmlinux	EXPORT_SYMBOL
+0x45ea3af6	pcim_pin_device	vmlinux	EXPORT_SYMBOL
+0xb7e63fef	d_prune_aliases	vmlinux	EXPORT_SYMBOL
+0xc12cee38	rt2x00lib_update_tx_stats	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xe93c1454	rt2x00lib_update_rx_stats	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x709a8744	rtl_free_ieee80211	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xc97d880c	gameport_open	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x6e440b58	memcpy_fromiovecend	vmlinux	EXPORT_SYMBOL
+0x54352a6f	__pagevec_release	vmlinux	EXPORT_SYMBOL
+0x5148ee2a	rtc_lock	vmlinux	EXPORT_SYMBOL
+0x60df86a5	ct_sip_lnlen	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xf1a5611d	o2net_unregister_handler_list	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x37c8e4fe	usb_autopm_put_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xcf1d339d	videobuf_read_start	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x76bc1a5c	dma_region_free	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb88ace73	nla_reserve_nohdr	vmlinux	EXPORT_SYMBOL
+0x9fd22af4	securityfs_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xfaa79f1a	ilookup5	vmlinux	EXPORT_SYMBOL
+0xa2268b59	mutex_unlock	vmlinux	EXPORT_SYMBOL
+0x0c376b64	cxiDetachIOBuffer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe44262fa	cxiAttachIOBuffer	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7091bd96	snd_dma_reserve_buf	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x4c3d2b30	journal_release_buffer	fs/jbd/jbd	EXPORT_SYMBOL
+0xa5b7af1f	pci_block_user_cfg_access	vmlinux	EXPORT_SYMBOL_GPL
+0x83a476ce	bitmap_scnlistprintf	vmlinux	EXPORT_SYMBOL
+0x381a7735	per_cpu__kstat	vmlinux	EXPORT_SYMBOL
+0x739af1ab	_STrace	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x49ef338b	ieee80211_get_hdrlen	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x6534792a	arcnet_debug	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xd55e6891	ir_codes_gotview7135	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xb077ef32	acpi_enter_sleep_state	vmlinux	EXPORT_SYMBOL
+0x4f9e949e	find_trylock_page	vmlinux	EXPORT_SYMBOL
+0x5c02bf78	cxiSetPageoutThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x45a06d9d	nf_register_sysctl_table	vmlinux	EXPORT_SYMBOL_GPL
+0x7564ba14	simple_fill_super	vmlinux	EXPORT_SYMBOL
+0x13fceff1	have_submounts	vmlinux	EXPORT_SYMBOL
+0x3c90c557	__user_walk	vmlinux	EXPORT_SYMBOL
+0x07cc4a5d	printk_timed_ratelimit	vmlinux	EXPORT_SYMBOL
+0xce1b8ca5	sta_info_put	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x372fd589	snd_add_device_sysfs_file	sound/core/snd	EXPORT_SYMBOL
+0x6b043eba	irda_init_max_qos_capabilies	net/irda/irda	EXPORT_SYMBOL
+0x274e2c20	cx88_sram_channel_dump	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x05f0b973	hpsb_make_phypacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x48f07026	key_create_or_update	vmlinux	EXPORT_SYMBOL
+0x795340bb	__tasklet_schedule	vmlinux	EXPORT_SYMBOL
+0xecd4c344	setSMBOpenLockControl	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa54f1a1c	irias_find_object	net/irda/irda	EXPORT_SYMBOL
+0x86d61590	mptscsih_target_alloc	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x91a72814	saa7146_unregister_extension	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x54f72e67	ib_process_mad_wc	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xf4f14de6	rtnl_trylock	vmlinux	EXPORT_SYMBOL
+0xa90fd3b7	dev_load	vmlinux	EXPORT_SYMBOL
+0xc07eb1a4	debugfs_create_u16	vmlinux	EXPORT_SYMBOL_GPL
+0x4c66d1d5	bio_add_page	vmlinux	EXPORT_SYMBOL
+0x7e9ebb05	kernel_thread	vmlinux	EXPORT_SYMBOL
+0xa6ec8e9b	ipt_unregister_table	net/ipv4/netfilter/ip_tables	EXPORT_SYMBOL
+0xe7779666	mptscsih_slave_destroy	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x40f2b10c	ipmi_alloc_smi_msg	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xe144ceae	gs_close	drivers/char/generic_serial	EXPORT_SYMBOL
+0xe6d5c272	agp_device_command	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xba7921dc	zlib_inflateEnd	vmlinux	EXPORT_SYMBOL
+0x207d9f4d	open_by_devnum	vmlinux	EXPORT_SYMBOL
+0x9ad9938c	namespace_sem	vmlinux	EXPORT_SYMBOL_GPL
+0xb2d522fe	contig_page_data	vmlinux	EXPORT_SYMBOL
+0x6ea09972	snd_midi_channel_alloc_set	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0x4613bf52	xt_unregister_target	net/netfilter/x_tables	EXPORT_SYMBOL
+0xe01f812f	hostap_add_interface	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x78d89ad2	flexcop_device_kfree	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xb423dba1	console_blanked	vmlinux	EXPORT_SYMBOL
+0xb1675c75	pci_bus_add_device	vmlinux	EXPORT_SYMBOL_GPL
+0xf48a2c4c	MCA_bus	vmlinux	EXPORT_SYMBOL
+0x49ab5314	ax25_findbyuid	net/ax25/ax25	EXPORT_SYMBOL
+0x2ade7255	config_group_init_type_name	fs/configfs/configfs	EXPORT_SYMBOL
+0x5d079804	gigaset_freedriver	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x23679939	__iowrite32_copy	vmlinux	EXPORT_SYMBOL_GPL
+0xe6899aed	ssb_pcicore_dev_irqvecs_enable	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x1924b701	xdr_enter_page	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf04e201b	iscsi_create_conn	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xdbaf6fe4	ata_do_eh	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc441a5c6	fib_rules_register	vmlinux	EXPORT_SYMBOL_GPL
+0x612390ad	netpoll_set_trap	vmlinux	EXPORT_SYMBOL
+0xfaf98462	bitrev32	vmlinux	EXPORT_SYMBOL
+0x77a1a6fb	simple_transaction_read	vmlinux	EXPORT_SYMBOL
+0x8a99a016	mempool_free_slab	vmlinux	EXPORT_SYMBOL
+0x73bfbff6	krb5_encrypt	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xbe3f2939	nf_conntrack_checksum	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x3d549eb2	qlogicfas408_bus_reset	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xa9ad57d9	register_isdn	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0x0359b360	gigaset_skb_sent	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x84f0b07b	xfrm_decode_session	vmlinux	EXPORT_SYMBOL
+0x27ae7d0c	ec_transaction	vmlinux	EXPORT_SYMBOL
+0x3d0e0c40	pci_scan_slot	vmlinux	EXPORT_SYMBOL
+0x07d6bc0e	generic_getxattr	vmlinux	EXPORT_SYMBOL
+0x0e9d8296	generic_setxattr	vmlinux	EXPORT_SYMBOL
+0xe1bbf78e	audit_log_untrustedstring	vmlinux	EXPORT_SYMBOL_GPL
+0x44faa208	gss_mech_register	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xd5beee56	nf_unregister_sysctl_table	vmlinux	EXPORT_SYMBOL_GPL
+0x38028ee6	mpage_readpages	vmlinux	EXPORT_SYMBOL
+0xa7440adb	iscsi_conn_get_param	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xe33dbaf1	saa7146_pgtable_free	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x8e7f9b47	segment_base	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x49c9860e	ipmi_set_maintenance_mode	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xb758b225	acpi_disable_event	vmlinux	EXPORT_SYMBOL
+0xa4074aa2	pci_request_regions	vmlinux	EXPORT_SYMBOL
+0x4df119fa	__bitmap_parse	vmlinux	EXPORT_SYMBOL
+0x57f9eab9	__wait_on_buffer	vmlinux	EXPORT_SYMBOL
+0xcaa4253f	dvb_pll_philips_td1316	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xee940eba	dm_table_event	drivers/md/dm-mod	EXPORT_SYMBOL
+0xee2d147e	sock_create	vmlinux	EXPORT_SYMBOL
+0xbfbfa84a	kill_litter_super	vmlinux	EXPORT_SYMBOL
+0x6fa56835	getFilePos	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x69ee7fd1	snd_seq_expand_var_event	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0xdf6c96bf	ip_vs_conn_new	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xc8e804c8	usb_free_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xb1961566	agp_generic_enable	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x8469b4e1	tty_prepare_flip_string	vmlinux	EXPORT_SYMBOL_GPL
+0xe5858fe2	tty_prepare_flip_string_flags	vmlinux	EXPORT_SYMBOL_GPL
+0x21b47437	cx88_boards	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x4dec8e85	cdrom_number_of_slots	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x853a7ef0	fib_rules_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x7d4ab013	skb_copy_bits	vmlinux	EXPORT_SYMBOL
+0x8dce09f8	pcim_iomap	vmlinux	EXPORT_SYMBOL
+0x026ea965	sysfs_remove_link	vmlinux	EXPORT_SYMBOL_GPL
+0xf044f8d9	snd_akm4xxx_build_controls	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0x69f240e8	mii_check_gmii_support	drivers/net/mii	EXPORT_SYMBOL
+0x06daf447	ib_free_send_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xf0b66637	tcp_make_synack	vmlinux	EXPORT_SYMBOL
+0x1432c712	dma_async_device_register	vmlinux	EXPORT_SYMBOL
+0x3950ee32	sysdev_class_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xd94c1770	acpi_os_read_pci_configuration	vmlinux	EXPORT_SYMBOL
+0x43800f68	acpi_os_signal_semaphore	vmlinux	EXPORT_SYMBOL
+0x56856f33	proc_root	vmlinux	EXPORT_SYMBOL
+0x164bf813	find_get_page	vmlinux	EXPORT_SYMBOL
+0x8c4123d0	bit_waitqueue	vmlinux	EXPORT_SYMBOL
+0x1d1373f2	p54_parse_eeprom	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x0e69161f	snd_sbmixer_write	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0xf762ed80	sl811h_driver	drivers/usb/host/sl811-hcd	EXPORT_SYMBOL
+0xe49ff3b0	ata_wait_register	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x643ed43b	sock_common_recvmsg	vmlinux	EXPORT_SYMBOL
+0x48fd4b1c	invalidate_inodes	vmlinux	EXPORT_SYMBOL
+0x0fbb523e	cyber2000fb_disable_extregs	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0xb3d08854	cyber2000fb_get_fb_var	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x3f4c8df6	inet_csk_addr2sockaddr	vmlinux	EXPORT_SYMBOL_GPL
+0xd52c7394	dev_mc_delete	vmlinux	EXPORT_SYMBOL
+0x356b4df5	get_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x8251bcc3	bitmap_release_region	vmlinux	EXPORT_SYMBOL
+0x7054a3e4	request_dma	vmlinux	EXPORT_SYMBOL
+0xc91cf5ba	ssb_bus_may_powerdown	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x0f5292c8	snd_mpu401_uart_new	sound/drivers/mpu401/snd-mpu401-uart	EXPORT_SYMBOL
+0x76f5669a	irias_add_octseq_attrib	net/irda/irda	EXPORT_SYMBOL
+0x6c302fe7	ircomm_flow_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x7fac4ef1	fat_attach	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xe5dfd740	iscsi_pool_free	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x46e5d002	ip_mc_inc_group	vmlinux	EXPORT_SYMBOL
+0xa963f49c	tcp_orphan_count	vmlinux	EXPORT_SYMBOL_GPL
+0xe11ae273	request_key_with_auxdata	vmlinux	EXPORT_SYMBOL
+0x5042a012	sysfs_remove_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0x2bf56ce2	kick_iocb	vmlinux	EXPORT_SYMBOL
+0x391203cc	cxiCopyInstr	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf986b633	ac97_alloc_codec	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x38a20e5b	irda_debug	net/irda/irda	EXPORT_SYMBOL
+0x1c6a2dec	md_new_event	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0xc0a7a0f2	tcf_exts_validate	vmlinux	EXPORT_SYMBOL
+0x025da070	snprintf	vmlinux	EXPORT_SYMBOL
+0x2dae0066	get_io_context	vmlinux	EXPORT_SYMBOL
+0x18e1683f	snd_dma_program	sound/core/snd	EXPORT_SYMBOL
+0x0f4a6244	ipv6_invert_rthdr	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x7bf3672d	scsi_tgt_tsk_mgmt_request	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x0adbf693	ata_scsi_simulate	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf86433de	ide_acpi_init	vmlinux	EXPORT_SYMBOL_GPL
+0x86596c8d	devm_kzalloc	vmlinux	EXPORT_SYMBOL_GPL
+0x9c51ecca	__bread	vmlinux	EXPORT_SYMBOL
+0x1a73fe4b	hrtimer_init	vmlinux	EXPORT_SYMBOL_GPL
+0x5218cf7b	cxiMapContiguousRO	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4eb14bf6	ieee80211_beacon_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xad91f40f	snd_gf1_look16	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xfa4b175d	iscsi_session_teardown	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x4c0b0237	ds1337_do_command	drivers/i2c/chips/ds1337	EXPORT_SYMBOL_GPL
+0x6d5f2ee5	agp_alloc_page_array	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x4b085dbf	agp3_generic_configure	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x9ceb163c	memcpy_toiovec	vmlinux	EXPORT_SYMBOL
+0x36551d0f	snd_card_register	sound/core/snd	EXPORT_SYMBOL
+0x3679f0e2	irttp_udata_request	net/irda/irda	EXPORT_SYMBOL
+0x37d0b921	crc32c_le	lib/libcrc32c	EXPORT_SYMBOL
+0x2329b292	crc32c_be	lib/libcrc32c	EXPORT_SYMBOL
+0x5b792a8c	journal_init_dev	fs/jbd/jbd	EXPORT_SYMBOL
+0xbee1d086	b1pciv4_detect	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x1b6314fd	in_aton	vmlinux	EXPORT_SYMBOL
+0x5d4e2622	neigh_resolve_output	vmlinux	EXPORT_SYMBOL
+0xba2d8594	ec_read	vmlinux	EXPORT_SYMBOL
+0x556a3636	cfb_imageblit	vmlinux	EXPORT_SYMBOL
+0x7f8723bd	pcie_mch_quirk	vmlinux	EXPORT_SYMBOL
+0x3c408342	posix_unblock_lock	vmlinux	EXPORT_SYMBOL
+0xe451bd5a	nf_nat_sip_hook	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xcfbb1a5a	nf_nat_sdp_hook	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0x91f1ff68	nf_nat_irc_hook	net/netfilter/nf_conntrack_irc	EXPORT_SYMBOL_GPL
+0x23583f8f	nf_nat_ftp_hook	net/netfilter/nf_conntrack_ftp	EXPORT_SYMBOL_GPL
+0x37ac8abd	usb_register_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x62824539	tcp_close	vmlinux	EXPORT_SYMBOL
+0xbe34b178	__scm_send	vmlinux	EXPORT_SYMBOL
+0x1433a605	pnp_register_driver	vmlinux	EXPORT_SYMBOL
+0x9da410b1	try_to_free_buffers	vmlinux	EXPORT_SYMBOL
+0x1d16e8a1	rpc_destroy_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8189da7a	nand_default_bbt	drivers/mtd/nand/nand	EXPORT_SYMBOL
+0xb256c35b	del_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0xfa7c01c1	register_framebuffer	vmlinux	EXPORT_SYMBOL
+0xb56c5c7c	dquot_free_inode	vmlinux	EXPORT_SYMBOL
+0x0737ba07	snd_hda_resume	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xd6df3b3a	make_8023_client	net/802/p8023	EXPORT_SYMBOL
+0x119642e0	drm_sman_takedown	drivers/char/drm/drm	EXPORT_SYMBOL
+0x3cd06035	add_input_randomness	vmlinux	EXPORT_SYMBOL_GPL
+0x9819eb60	rtl_ieee80211_wx_set_wap	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x3b9b7ba7	rtl_ieee80211_wx_get_wap	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x5a1eb54b	scsi_unblock_requests	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x68ceb585	arc_proto_map	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x82eaca73	register_cdrom	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xf47f3d40	xfrm_init_pmtu	vmlinux	EXPORT_SYMBOL
+0x9bbb9a11	device_remove_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0x43385ad9	acpi_pci_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x09fce963	bd_claim	vmlinux	EXPORT_SYMBOL
+0xf51ae235	touch_nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0x394cb088	sound_free_dma	sound/oss/sound	EXPORT_SYMBOL
+0x7eaf1e2d	snd_gf1_poke	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xaf5bf6ef	nfs_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf6e75807	nf_ct_deliver_cached_events	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xb3284531	acpi_dbg_layer	vmlinux	EXPORT_SYMBOL
+0x8706fba7	call_rcu	vmlinux	EXPORT_SYMBOL_GPL
+0xe8823338	dvb_ringbuffer_empty	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xd205af0a	hwrng_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x295c40f3	snd_pcm_release_substream	sound/core/snd-pcm	EXPORT_SYMBOL
+0x52b66929	xfrm6_rcv_spi	net/ipv6/ipv6	EXPORT_SYMBOL
+0x70de1241	dccp_reqsk_init	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x54dbe15e	parport_remove_port	drivers/parport/parport	EXPORT_SYMBOL
+0xd34691a4	tcf_exts_change	vmlinux	EXPORT_SYMBOL
+0xda8ddbdf	acpi_install_gpe_block	vmlinux	EXPORT_SYMBOL
+0x75e8f3c3	crypto_register_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x826360fd	do_posix_clock_nonanosleep	vmlinux	EXPORT_SYMBOL_GPL
+0x6cfc4281	snd_trident_alloc_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x05060a19	snd_opl3_regmap	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0xec051406	scsi_tgt_free_queue	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0xdd27cb1b	i2c_master_send	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x4b4497be	ata_sas_slave_configure	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x7c70d736	ata_qc_complete	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x80130d79	pskb_put	vmlinux	EXPORT_SYMBOL_GPL
+0x3167afea	device_reprobe	vmlinux	EXPORT_SYMBOL_GPL
+0xdc01a06e	find_next_zero_bit	vmlinux	EXPORT_SYMBOL
+0x4ae616fd	wiphy_free	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0x2b1e90d4	snd_ctl_new1	sound/core/snd	EXPORT_SYMBOL
+0xbc02c34b	nf_conntrack_l4proto_icmpv6	net/ipv6/netfilter/nf_conntrack_ipv6	EXPORT_SYMBOL
+0xb95d2728	journal_abort	fs/jbd/jbd	EXPORT_SYMBOL
+0x9349486f	dvb_ca_en50221_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x1e491a04	ib_unmap_fmr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x6c4c689c	dev_kfree_skb_any	vmlinux	EXPORT_SYMBOL
+0x5e6f4c12	seq_open	vmlinux	EXPORT_SYMBOL
+0x889d8d3c	hci_conn_encrypt	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x72d1f06d	hpsb_iso_packet_received	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x2b239752	pci_bus_type	vmlinux	EXPORT_SYMBOL
+0x2427b7d4	pci_enable_bridges	vmlinux	EXPORT_SYMBOL
+0x07263649	simple_readpage	vmlinux	EXPORT_SYMBOL
+0x1fd55181	__lock_page	vmlinux	EXPORT_SYMBOL
+0xcff7d833	usb_altnum_to_altsetting	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x8226c662	pcmcia_access_configuration_register	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xd97c67cf	ib_sa_cancel_query	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x10fe48e9	follow_down	vmlinux	EXPORT_SYMBOL
+0x57791a81	synth_jiffy_delta	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xcea608ba	snd_sbmixer_add_ctl	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0xba5095d2	rpcauth_lookupcred	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x957c26c0	find_exported_dentry	fs/exportfs/exportfs	EXPORT_SYMBOL
+0xfe7cd576	cycx_exec	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x3b30538a	tifm_unregister_driver	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x49b77e0f	ide_error	vmlinux	EXPORT_SYMBOL_GPL
+0x360b1afe	probe_irq_mask	vmlinux	EXPORT_SYMBOL
+0x79046aa7	snd_ad1848_mixer	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x8b7d8caf	dccp_statistics	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x82a62f52	genphy_read_status	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xdaddba85	dib3000mc_pid_control	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xbb0f18a5	redraw_screen	vmlinux	EXPORT_SYMBOL
+0x1dfb59a0	tty_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x8d0e7aa8	get_write_access	vmlinux	EXPORT_SYMBOL
+0xb2d1e17e	v4l2_prio_change	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x3a9e0c01	drm_poll	drivers/char/drm/drm	EXPORT_SYMBOL
+0xd35557a6	isapnp_protocol	vmlinux	EXPORT_SYMBOL
+0x85832e5c	pci_find_present	vmlinux	EXPORT_SYMBOL
+0xf3bf0bce	__bitmap_complement	vmlinux	EXPORT_SYMBOL
+0x5c5cb92e	bttv_get_pcidev	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x73962e69	dma_get_required_mask	vmlinux	EXPORT_SYMBOL_GPL
+0xebaa0231	class_device_get	vmlinux	EXPORT_SYMBOL_GPL
+0xf4ec9297	class_device_put	vmlinux	EXPORT_SYMBOL_GPL
+0x5e48a6d1	del_timer	vmlinux	EXPORT_SYMBOL
+0xa7849da5	usb_get_current_frame_number	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x45e418a3	map_destroy	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0x3ac284bc	set_cr3	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x60c51984	gameport_set_name	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x6d4f2374	ipmi_set_my_address	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x7d5bba3b	mca_device_set_name	vmlinux	EXPORT_SYMBOL
+0x9b05ea5c	scsi_command_size	vmlinux	EXPORT_SYMBOL
+0x149db923	selinux_string_to_sid	vmlinux	EXPORT_SYMBOL_GPL
+0xbd7be47a	snd_pcm_lib_free_pages	sound/core/snd-pcm	EXPORT_SYMBOL
+0x0366cbe9	tipc_forward_buf2name	net/tipc/tipc	EXPORT_SYMBOL
+0xbf6b8150	hci_suspend_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x4149a68a	iscsi_conn_error	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xfb1350ed	vcc_release_async	vmlinux	EXPORT_SYMBOL
+0xb9d143ec	tcp_v4_send_check	vmlinux	EXPORT_SYMBOL
+0x6b3eadd5	dev_close	vmlinux	EXPORT_SYMBOL
+0xf2f267b5	isa_bridge	vmlinux	EXPORT_SYMBOL
+0x7e97ae6c	__mark_inode_dirty	vmlinux	EXPORT_SYMBOL
+0x60ce47de	modify_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x32cdc465	cxiIncModuleCounter	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd27ef9e7	snd_card_disconnect	sound/core/snd	EXPORT_SYMBOL
+0xa021ef50	v4l2_field_names	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x0af71b9b	usbvideo_Deregister	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x2ebd428d	zl10353_attach	drivers/media/dvb/frontends/zl10353	EXPORT_SYMBOL
+0xb84c90b4	noop_qdisc	vmlinux	EXPORT_SYMBOL
+0xbd86d96f	sock_alloc_send_skb	vmlinux	EXPORT_SYMBOL
+0xdcbd2728	acpi_bus_get_device	vmlinux	EXPORT_SYMBOL
+0xb11c8cb2	unregister_filesystem	vmlinux	EXPORT_SYMBOL
+0x2348984e	adjust_resource	vmlinux	EXPORT_SYMBOL
+0xd1a5ffa9	avail_to_resrv_perfctr_nmi	vmlinux	EXPORT_SYMBOL
+0xd54e219d	hermes_docmd_wait	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x19588366	hpsb_add_host	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9a67afcc	xfrm_state_insert	vmlinux	EXPORT_SYMBOL
+0x93805374	max_cstate	vmlinux	EXPORT_SYMBOL
+0x0543ec1c	snd_ak4531_resume	sound/pci/ac97/snd-ak4531-codec	EXPORT_SYMBOL
+0x3702e06b	rpc_peeraddr2str	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x63f05053	xt_find_revision	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x2b9580cb	nf_conntrack_flush	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x89590f57	sonypi_camera_command	drivers/char/sonypi	EXPORT_SYMBOL
+0x31766064	isa_unregister_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x914aa643	nobh_prepare_write	vmlinux	EXPORT_SYMBOL
+0x6c6f1a61	snd_midi_process_event	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0x46a4e36d	nf_conntrack_l3proto_generic	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x68afa196	usb_mon_register	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x46d7a38f	mpt_event_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x783b3288	iw_cm_listen	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x111967c4	i2c_check_addr	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xf16e0fc0	pci_bus_add_devices	vmlinux	EXPORT_SYMBOL
+0x6bb1a2ce	blk_plug_device	vmlinux	EXPORT_SYMBOL
+0x9da33d85	blk_rq_unmap_user	vmlinux	EXPORT_SYMBOL
+0xc9fb4757	crypto_mod_get	vmlinux	EXPORT_SYMBOL_GPL
+0x6e185827	_spin_lock_irqsave	vmlinux	EXPORT_SYMBOL
+0xc2861a07	snd_rawmidi_drop_output	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x4a9e73b1	fc_remove_host	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xef0b7706	ata_sas_port_init	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf174ed48	acquire_console_sem	vmlinux	EXPORT_SYMBOL
+0x316ff5df	cxiNewOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x777b6d7f	cx88_print_irqbits	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x82384d0b	__printk_ratelimit	vmlinux	EXPORT_SYMBOL
+0xeda53a76	xdr_encode_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x396aef80	xdr_read_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x0b9d72e3	hpsb_iso_recv_listen_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x2611fbee	register_hotplug_dock_device	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0xcc1f1c3d	inet_twdr_hangman	vmlinux	EXPORT_SYMBOL_GPL
+0xdf5008fc	tipc_peer	net/tipc/tipc	EXPORT_SYMBOL
+0xe0f25c94	iscsi_create_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x09ca1a94	ata_irq_on	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xbb1918b0	journal_get_create_access	fs/jbd/jbd	EXPORT_SYMBOL
+0x9877bead	ib_flush_fmr_pool	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xfba57f51	hpsb_speedto_str	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x90035333	secure_tcpv6_sequence_number	vmlinux	EXPORT_SYMBOL
+0xa0c98dc9	probe_uart401	sound/oss/uart401	EXPORT_SYMBOL
+0xfb86b96f	dlm_errname	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xb28ee2ab	iscsi_eh_abort	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xea8e1fbf	cx8802_fini_common	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x45daf470	scatterwalk_done	vmlinux	EXPORT_SYMBOL_GPL
+0x717770e2	request_key	vmlinux	EXPORT_SYMBOL
+0x5a47c89c	usb_control_msg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x38713b52	mtd_table_mutex	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x1c427ecb	v4l2_ctrl_query_fill	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x01180417	pcim_iomap_regions	vmlinux	EXPORT_SYMBOL
+0xb86e4ab9	random32	vmlinux	EXPORT_SYMBOL
+0x36410296	vfs_llseek	vmlinux	EXPORT_SYMBOL
+0xaf8d375f	ieee80211_tx_status_irqsafe	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xf146c201	snd_dma_free_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x6fc0d192	hpsb_get_tlabel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x3bcd49ef	pci_do_scan_bus	vmlinux	EXPORT_SYMBOL
+0x1fbac5d4	synth_write	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xb85f9931	bt_sock_unlink	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x8d69a50c	iscsi_add_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xf08a9d5e	ves1x93_attach	drivers/media/dvb/frontends/ves1x93	EXPORT_SYMBOL
+0x5d9aead4	ide_register_hw_with_fixup	vmlinux	EXPORT_SYMBOL
+0x0dfb5e57	v4l2_prio_max	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x58bb290c	__xfrm_state_destroy	vmlinux	EXPORT_SYMBOL
+0x4bc5df23	bfifo_qdisc_ops	vmlinux	EXPORT_SYMBOL
+0xc3d8155c	ide_get_error_location	vmlinux	EXPORT_SYMBOL
+0x272d394e	mtrr_del	vmlinux	EXPORT_SYMBOL
+0xa948751e	sound_unload_audiodev	sound/oss/sound	EXPORT_SYMBOL
+0x43c74f42	usb_hcd_resume_root_hub	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x2de2970a	hostap_80211_header_parse	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x0a05b9f6	hpsb_iso_recv_unlisten_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x60a310d1	securityfs_remove	vmlinux	EXPORT_SYMBOL_GPL
+0xe55f694b	iscsi_check_assign_cmdsn	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x3d5105b5	hostap_set_string	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x6faccdd0	videobuf_mmap_setup	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x9d4f1520	kvm_get_msr_common	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x73b0b8ef	kvm_set_msr_common	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xa31159f6	tpm_calc_ordinal_duration	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x7128f2b4	devres_remove_group	vmlinux	EXPORT_SYMBOL_GPL
+0x26615914	ac97_set_adc_rate	sound/oss/ac97_codec	EXPORT_SYMBOL
+0xbea46e41	snd_ctl_remove_id	sound/core/snd	EXPORT_SYMBOL
+0x204a2a3f	bt878_stop	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0xdf3d84b8	i2c_add_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xb4085448	drm_mmap	drivers/char/drm/drm	EXPORT_SYMBOL
+0xf313da4e	sha_transform	vmlinux	EXPORT_SYMBOL
+0xe27f8a4c	dev_set_allmulti	vmlinux	EXPORT_SYMBOL
+0xea10655a	__bitmap_intersects	vmlinux	EXPORT_SYMBOL
+0x33389296	hpsb_make_writepacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xcc6d638e	pci_stop_bus_device	vmlinux	EXPORT_SYMBOL_GPL
+0x23e97fbf	kobject_set_name	vmlinux	EXPORT_SYMBOL
+0x8816c7ab	__d_path	vmlinux	EXPORT_SYMBOL
+0x52570f80	nf_conntrack_unregister_cache	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xfb0cff6c	gfs2_register_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0xd21eefca	mptscsih_bios_param	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xd952be77	ipmi_smi_watcher_register	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xe51f5092	gs_put_char	drivers/char/generic_serial	EXPORT_SYMBOL
+0xb953d81c	ata_bmdma_irq_clear	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5dab0ad2	icmp_statistics	vmlinux	EXPORT_SYMBOL
+0x2bb55d6e	acpi_remove_notify_handler	vmlinux	EXPORT_SYMBOL
+0x31116347	set_device_ro	vmlinux	EXPORT_SYMBOL
+0x16a63b4e	cxiIsKupdateThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xcf97f3bd	dead_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x2a843bef	i2o_dump_message	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x359fc7da	pcibios_set_irq_routing	vmlinux	EXPORT_SYMBOL
+0x60b63697	ide_lock	vmlinux	EXPORT_SYMBOL
+0x4dccd4a3	pci_clear_mwi	vmlinux	EXPORT_SYMBOL
+0x99ea12ce	panic_blink	vmlinux	EXPORT_SYMBOL
+0x1610bd14	ppp_register_channel	drivers/net/ppp_generic	EXPORT_SYMBOL
+0xfc7476fb	dvb_pll_microtune_4042	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x102e9c29	ata_sas_port_stop	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x9713ada9	kmap_high	vmlinux	EXPORT_SYMBOL
+0x9b511728	cancel_dirty_page	vmlinux	EXPORT_SYMBOL
+0x82072614	tasklet_kill	vmlinux	EXPORT_SYMBOL
+0x4f7bf5a7	iscsi_if_destroy_session_done	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x7bba7e4b	scsi_print_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x7e3f0b34	dvb_unregister_frontend	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xbc6f7e5d	__gameport_register_port	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x9d44f4fc	i2c_use_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x84965df9	drm_agp_alloc	drivers/char/drm/drm	EXPORT_SYMBOL
+0x989a8d91	bio_endio	vmlinux	EXPORT_SYMBOL
+0xb4457f7e	ieee80211_stop_queues	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x9cfc78ac	pcmcia_register_driver	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xbf43ddce	videobuf_pci_dma_unmap	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x651b6e40	btcx_riscmem_alloc	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x944c5915	gf128mul_free_64k	crypto/gf128mul	EXPORT_SYMBOL
+0xce16f196	sk_stop_timer	vmlinux	EXPORT_SYMBOL
+0x0670b138	locks_remove_posix	vmlinux	EXPORT_SYMBOL
+0x8d161d89	iscsi_unregister_transport	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x27bc8968	pcie_port_service_unregister	vmlinux	EXPORT_SYMBOL
+0x4a971ec7	radix_tree_delete	vmlinux	EXPORT_SYMBOL
+0x6d03cb85	z8530_init	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x8dd204a5	dm_table_flush_all	drivers/md/dm-mod	EXPORT_SYMBOL
+0x1abd5eff	tcp_slow_start	vmlinux	EXPORT_SYMBOL_GPL
+0x0ba9230d	proc_net_netfilter	vmlinux	EXPORT_SYMBOL
+0x5bd6f8e6	devm_ioremap	vmlinux	EXPORT_SYMBOL
+0x21a288fa	devm_iounmap	vmlinux	EXPORT_SYMBOL
+0x0bba1c14	on_each_cpu	vmlinux	EXPORT_SYMBOL
+0x2231e258	snd_gf1_stop_voice	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x4457d8dd	snd_pcm_set_sync	sound/core/snd-pcm	EXPORT_SYMBOL
+0x440fba34	parport_find_number	drivers/parport/parport	EXPORT_SYMBOL
+0xc65abeb7	agp3_generic_sizes	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x76ced4d6	ata_bmdma_drive_eh	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x34cab621	nla_reserve	vmlinux	EXPORT_SYMBOL
+0xbecd6157	inotify_remove_watch_locked	vmlinux	EXPORT_SYMBOL_GPL
+0xd36c3882	bioset_create	vmlinux	EXPORT_SYMBOL
+0x7a174a47	rtnl_put_cacheinfo	vmlinux	EXPORT_SYMBOL_GPL
+0xc943a6d1	__cpufreq_driver_target	vmlinux	EXPORT_SYMBOL_GPL
+0x3096be16	names_cachep	vmlinux	EXPORT_SYMBOL
+0x77cff26a	invalidate_inode_pages2_range	vmlinux	EXPORT_SYMBOL_GPL
+0x9ebdd3af	ivtv_reset_ir_gpio	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x51beb8ea	snd_info_create_card_entry	sound/core/snd	EXPORT_SYMBOL
+0xc8e96dea	qword_addhex	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xb52e33d8	z8530_null_rx	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x87cc6193	ata_qc_complete_multiple	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2bec1c48	xfrm_policy_register_afinfo	vmlinux	EXPORT_SYMBOL
+0xc3e417dd	xrlim_allow	vmlinux	EXPORT_SYMBOL
+0xba9afc69	pci_unmap_rom	vmlinux	EXPORT_SYMBOL
+0xb063b58d	key_instantiate_and_link	vmlinux	EXPORT_SYMBOL
+0x7355cdba	mpt_get_msg_frame	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xa1b759ce	fb_add_videomode	vmlinux	EXPORT_SYMBOL
+0x9795c0d3	crypto_register_alg	vmlinux	EXPORT_SYMBOL_GPL
+0x45b04d35	single_open	vmlinux	EXPORT_SYMBOL
+0x69641a7b	page_follow_link_light	vmlinux	EXPORT_SYMBOL
+0x867fb3a2	snd_ac97_suspend	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x198788b4	snd_lookup_oss_minor_data	sound/core/snd	EXPORT_SYMBOL
+0x4a3ea5c0	snd_request_card	sound/core/snd	EXPORT_SYMBOL
+0xab14e193	xfrm6_tunnel_free_spi	net/ipv6/xfrm6_tunnel	EXPORT_SYMBOL
+0xc8f94a02	xfrm6_find_1stfragopt	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfef96e23	__scsi_print_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x280bdc17	genphy_config_advert	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x9272bc53	scx200_gpio_shadow	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0x2f4bf15e	kthread_stop	vmlinux	EXPORT_SYMBOL
+0x0fdb1426	ist_info	vmlinux	EXPORT_SYMBOL
+0x450e62f2	help_handler	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x1a724fcc	snd_seq_kernel_client_ctl	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0xa7b91a7b	lockd_down	fs/lockd/lockd	EXPORT_SYMBOL
+0x79a4cfd5	dm_register_target	drivers/md/dm-mod	EXPORT_SYMBOL
+0x0f65074a	gameport_unregister_driver	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x765a9048	sysfs_update_file	vmlinux	EXPORT_SYMBOL_GPL
+0x8793a1aa	ax25_display_timer	net/ax25/ax25	EXPORT_SYMBOL
+0x3471272d	__scsi_get_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xf8004e0e	__scsi_put_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x3e69118f	rtc_set_alarm	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x2e9a955d	v4l2_prio_close	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x545c1381	__snd_util_mem_free	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x32514d20	ezusb_writememory	drivers/usb/serial/usbserial	EXPORT_SYMBOL
+0x05b24047	ib_sa_register_client	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x237effdb	inet_csk_listen_start	vmlinux	EXPORT_SYMBOL_GPL
+0xc6ac8880	cleanup_srcu_struct	vmlinux	EXPORT_SYMBOL_GPL
+0x3980aac1	unregister_reboot_notifier	vmlinux	EXPORT_SYMBOL
+0xa6814433	groups_free	vmlinux	EXPORT_SYMBOL
+0x2def7f76	rtc_cmos_write	vmlinux	EXPORT_SYMBOL
+0x2801c7f4	cxiIsSambaThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x8e146195	synth_release_region	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x269f1f56	mptscsih_taskmgmt_complete	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xaa165d27	capilib_release_appl	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x79a53629	gf128mul_64k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0x38b9ff2a	gf128mul_64k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0x8abc0284	dev_mc_upload	vmlinux	EXPORT_SYMBOL
+0x560600d2	sk_clone	vmlinux	EXPORT_SYMBOL_GPL
+0x38953756	copy_fs_struct	vmlinux	EXPORT_SYMBOL_GPL
+0xd89d6b11	i2o_iop_find_device	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xc3ac84c0	ipmi_unregister_smi	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xf3b4e0a4	generic_ide_ioctl	vmlinux	EXPORT_SYMBOL
+0x5118c382	secure_dccp_sequence_number	vmlinux	EXPORT_SYMBOL
+0x73e2050f	_STraceNB	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x40a40156	cxiAddOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc64e058a	snd_es1688_mixer_write	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0x19a304ba	usb_disabled	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xf162fe2d	sysctl_xfrm_aevent_etime	vmlinux	EXPORT_SYMBOL
+0xc9c0f735	neigh_parms_alloc	vmlinux	EXPORT_SYMBOL
+0x4c11782a	dma_async_client_unregister	vmlinux	EXPORT_SYMBOL
+0xffdf8168	subsystem_register	vmlinux	EXPORT_SYMBOL
+0x2afe439d	interruptible_sleep_on	vmlinux	EXPORT_SYMBOL
+0xda4008e6	cond_resched	vmlinux	EXPORT_SYMBOL
+0x4e209f72	cxiGetTOD	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6ff41109	snd_i2c_device_create	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0x5e7f4920	snd_pcm_format_set_silence	sound/core/snd-pcm	EXPORT_SYMBOL
+0x0159b832	rxrpc_create_transport	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xcd9991a9	usb_usual_set_present	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0xa7d739c1	usb_buffer_map_sg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x9eb09878	__ip_route_output_key	vmlinux	EXPORT_SYMBOL_GPL
+0xe6488b47	cpufreq_notify_transition	vmlinux	EXPORT_SYMBOL_GPL
+0x145cf869	blk_queue_invalidate_tags	vmlinux	EXPORT_SYMBOL
+0x93a6e0b2	io_schedule	vmlinux	EXPORT_SYMBOL
+0x312020a8	usb_hcd_pci_resume	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x2b2fa526	gigaset_unassign	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xe9ef70fa	ib_create_send_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xf3cfb588	cfb_fillrect	vmlinux	EXPORT_SYMBOL
+0xa715eef5	nf_net_ipv4_netfilter_sysctl_path	vmlinux	EXPORT_SYMBOL_GPL
+0xda8fd495	isapnp_write_byte	vmlinux	EXPORT_SYMBOL
+0xc96729fb	__pagevec_lru_add	vmlinux	EXPORT_SYMBOL
+0x2c49f254	nf_nat_module_is_loaded	net/ipv4/netfilter/nf_conntrack_ipv4	EXPORT_SYMBOL_GPL
+0xe62bc8ce	fc_attach_transport	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xfc27303b	HiSax_closecard	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xe2dd7ec7	agp_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x75f7fb17	netlink_set_err	vmlinux	EXPORT_SYMBOL
+0x04c97916	tr_type_trans	vmlinux	EXPORT_SYMBOL
+0x249cf874	bus_register_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x2dace7d0	register_kprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x468bacb2	register_jprobe	vmlinux	EXPORT_SYMBOL_GPL
+0xd44731e5	tipc_ownidentity	net/tipc/tipc	EXPORT_SYMBOL
+0x1b10328e	hpsb_make_readpacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf7da8f1a	inet_listen	vmlinux	EXPORT_SYMBOL
+0xfee7e218	register_snap_client	vmlinux	EXPORT_SYMBOL
+0x007dbd55	skb_queue_purge	vmlinux	EXPORT_SYMBOL
+0x7b61dbb2	wireless_spy_update	vmlinux	EXPORT_SYMBOL
+0x870b6399	get_unmapped_area	vmlinux	EXPORT_SYMBOL
+0x16cb572e	snd_hda_codec_read	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x310d1bc9	tipc_detach	net/tipc/tipc	EXPORT_SYMBOL
+0x35c1ae78	sata_print_link_status	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x352830b8	platform_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0x76a49361	subsystem_unregister	vmlinux	EXPORT_SYMBOL
+0xdb67c54a	blk_rq_map_user	vmlinux	EXPORT_SYMBOL
+0x5fc0ac9c	nf_ct_gre_keymap_add	net/netfilter/nf_conntrack_proto_gre	EXPORT_SYMBOL_GPL
+0xe3f590bf	bt_accept_unlink	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x11fdb6bc	d_find_alias	vmlinux	EXPORT_SYMBOL
+0x760a0f4f	yield	vmlinux	EXPORT_SYMBOL
+0xfc43b1b7	xt_check_target	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xc720d2ec	i2o_device_claim	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xc42bd037	ir_codes_budget_ci_old	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc2d6b4d1	rdma_listen	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x1dc36131	fb_destroy_modedb	vmlinux	EXPORT_SYMBOL
+0xbc2081ec	fsstack_copy_attr_all	vmlinux	EXPORT_SYMBOL_GPL
+0x235f4515	acpi_processor_ffh_cstate_probe	vmlinux	EXPORT_SYMBOL_GPL
+0xbc18d3f7	scsi_command_normalize_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x8b180fc7	genl_unregister_ops	vmlinux	EXPORT_SYMBOL
+0xdb92a427	__ide_error	vmlinux	EXPORT_SYMBOL_GPL
+0x2cf4b076	d_invalidate	vmlinux	EXPORT_SYMBOL
+0xa0b04675	vmalloc_32	vmlinux	EXPORT_SYMBOL
+0x05d79582	set_h245_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x692371b4	nf_conntrack_hash	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x5644f658	tpm_register_hardware	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xc6ad2021	drm_sman_free_key	drivers/char/drm/drm	EXPORT_SYMBOL
+0xfc7d4bd5	ata_acpi_setup	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x71482514	dma_pool_free	vmlinux	EXPORT_SYMBOL
+0x975c94bf	input_register_handler	vmlinux	EXPORT_SYMBOL
+0xabe65cf2	textsearch_unregister	vmlinux	EXPORT_SYMBOL
+0x2aef8d56	cxiGetFileAndVp	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3c214fd7	errno	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x945f3e8b	cxiCheckTypes	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x29b7b886	nf_ct_helper_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x29594c63	inet6_csk_bind_conflict	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xa35de80f	ipv4_config	vmlinux	EXPORT_SYMBOL
+0xed860dd9	netif_carrier_on	vmlinux	EXPORT_SYMBOL
+0x43524eda	fib_rules_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0xb0b847ac	__bitmap_full	vmlinux	EXPORT_SYMBOL
+0x3474da0b	blk_queue_issue_flush_fn	vmlinux	EXPORT_SYMBOL
+0x9a25ffb0	ieee80211_rts_duration	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xfb021590	__nfa_fill	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x656a72db	ip6_route_output	net/ipv6/ipv6	EXPORT_SYMBOL
+0xbfcfa90f	dccp_unhash	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xae808bac	o2net_register_handler	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x88ce57e1	dvb_ringbuffer_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x4b945e55	__rta_fill	vmlinux	EXPORT_SYMBOL
+0x4c4078a8	__dst_free	vmlinux	EXPORT_SYMBOL
+0xc8be7b15	_spin_lock	vmlinux	EXPORT_SYMBOL
+0x6d820097	dccp_li_hist_interval_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xf3ed347c	init_rs	lib/reed_solomon/reed_solomon	EXPORT_SYMBOL_GPL
+0x6e1a4bbb	udp_hash_lock	vmlinux	EXPORT_SYMBOL
+0xc24c7aa9	inet_csk_destroy_sock	vmlinux	EXPORT_SYMBOL
+0x4de3c6c7	ide_stall_queue	vmlinux	EXPORT_SYMBOL
+0x3796bdcc	snd_pcm_format_little_endian	sound/core/snd-pcm	EXPORT_SYMBOL
+0xf9ea3567	irttp_flow_request	net/irda/irda	EXPORT_SYMBOL
+0x9a277763	dccp_reqsk_send_ack	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x09eda07a	sock_kfree_s	vmlinux	EXPORT_SYMBOL
+0xa34f1ef5	crc32_le	vmlinux	EXPORT_SYMBOL
+0x496bc2ca	cap_bprm_secureexec	security/commoncap	EXPORT_SYMBOL
+0x2321333e	dccp_rx_hist_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x6173b17f	export_op_default	fs/exportfs/exportfs	EXPORT_SYMBOL
+0xf35d5b69	sas_port_free	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x3ddf3f5d	ethtool_op_get_link	vmlinux	EXPORT_SYMBOL
+0xb62df8d1	input_unregister_device	vmlinux	EXPORT_SYMBOL
+0x955d99cc	read_cache_pages	vmlinux	EXPORT_SYMBOL
+0xef9aedfc	boot_option_idle_override	vmlinux	EXPORT_SYMBOL
+0x63343b1d	snd_usbmidi_input_stop	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0xdf262164	ac97_tune_hardware	sound/oss/ac97_codec	EXPORT_SYMBOL_GPL
+0x53445f68	nlm_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x09633af4	fat_add_entries	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x9c77a20e	sas_port_alloc_num	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xeb2fe93e	mii_nway_restart	drivers/net/mii	EXPORT_SYMBOL
+0x447091b5	i2o_status_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xe1966919	dvb_net_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xaeb4661b	bitmap_end_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0x27a76dec	ip_generic_getfrag	vmlinux	EXPORT_SYMBOL
+0xc1fb8de8	thaw_bdev	vmlinux	EXPORT_SYMBOL
+0x3b4f162e	mpt_lan_index	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x54bca293	videobuf_poll_stream	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x91600a94	hpsb_iso_packet_sent	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd9e408a5	sk_run_filter	vmlinux	EXPORT_SYMBOL
+0x1f684cea	netdev_rx_csum_fault	vmlinux	EXPORT_SYMBOL
+0xb5571fa7	devres_release_group	vmlinux	EXPORT_SYMBOL_GPL
+0xe56a9336	snd_pcm_format_width	sound/core/snd-pcm	EXPORT_SYMBOL
+0xfa48677e	xdr_decode_array2	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x0f375c5f	ipv6_push_nfrag_opts	net/ipv6/ipv6	EXPORT_SYMBOL
+0x9adfb132	ipt_register_table	net/ipv4/netfilter/ip_tables	EXPORT_SYMBOL
+0x25c9911a	tda10021_attach	drivers/media/dvb/frontends/tda10021	EXPORT_SYMBOL
+0x0bf0fa3d	ata_pio_need_iordy	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x372a1d05	neigh_sysctl_unregister	vmlinux	EXPORT_SYMBOL
+0x2eb2eb15	acpi_get_table	vmlinux	EXPORT_SYMBOL
+0x4889d846	ieee80211_get_mc_list_item	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xfa5d6190	snd_mixer_oss_notify_callback	sound/core/snd	EXPORT_SYMBOL
+0xa29e9c6c	__scm_destroy	vmlinux	EXPORT_SYMBOL
+0xde081f05	d_move	vmlinux	EXPORT_SYMBOL
+0x25f3684c	ieee80211_crypt_delayed_deinit	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xb6b608ec	b1_loaded	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xd84fb0b0	rdma_reject	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x8db05493	hpsb_iso_recv_flush	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xe571d22e	ipmi_get_version	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x6b058398	ata_bmdma_freeze	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6b937ffb	mca_mark_as_used	vmlinux	EXPORT_SYMBOL
+0x1a04c1d3	touch_atime	vmlinux	EXPORT_SYMBOL
+0xaf682923	ieee80211_unregister_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4abfe2e1	gf128mul_4k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0x7184a94f	gf128mul_4k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0xf63fa656	acpi_pci_irq_enable	vmlinux	EXPORT_SYMBOL
+0x0428d23d	dibusb_read_eeprom_byte	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x78ab870b	ib_unregister_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x2b1c1ceb	acpi_processor_notify_smm	drivers/acpi/processor	EXPORT_SYMBOL
+0x095655b4	sock_wmalloc	vmlinux	EXPORT_SYMBOL
+0x1e6d26a8	strstr	vmlinux	EXPORT_SYMBOL
+0xf890fe7f	pm_idle	vmlinux	EXPORT_SYMBOL
+0x794487ee	disable_hlt	vmlinux	EXPORT_SYMBOL
+0x0be3e3a6	GPFS_CONFIG_HIGHMEM4G	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x19d2297a	snd_sb8dsp_midi	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0x2d023fdf	iscsi_prep_scsi_cmd_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xec41acdb	mpt_proc_root_dir	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xa2efbd4b	k8_northbridges	vmlinux	EXPORT_SYMBOL
+0x2dd16564	arch_register_cpu	vmlinux	EXPORT_SYMBOL
+0x11af6d6a	ieee80211_get_buffered_bc	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x1f0d2138	ppp_channel_index	drivers/net/ppp_generic	EXPORT_SYMBOL
+0xbc66c173	inet_csk_listen_stop	vmlinux	EXPORT_SYMBOL_GPL
+0x1ae754fd	pnp_release_card_device	vmlinux	EXPORT_SYMBOL
+0xb6586d66	hashbin_get_next	net/irda/irda	EXPORT_SYMBOL
+0xd947976a	sirdev_set_dongle	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x71ebc8cf	md_check_recovery	drivers/md/md-mod	EXPORT_SYMBOL
+0x0144a2f1	ata_bus_reset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x52573815	xfrm_state_lookup_byaddr	vmlinux	EXPORT_SYMBOL
+0x4d8c196a	pskb_expand_head	vmlinux	EXPORT_SYMBOL
+0x31e96a95	pci_match_device	vmlinux	EXPORT_SYMBOL
+0xf48290c3	dccp_rx_hist_add_packet	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xa06274da	spi_display_xfer_agreement	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x176b197a	i2c_release_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x45e30fb2	udplite_get_port	vmlinux	EXPORT_SYMBOL
+0xfed0505b	take_over_console	vmlinux	EXPORT_SYMBOL
+0xac4ca1b0	intlog2	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x48ae5e92	i2c_pcf_add_bus	drivers/i2c/algos/i2c-algo-pcf	EXPORT_SYMBOL
+0x4da5ed36	sis_info133	drivers/ata/pata_sis	EXPORT_SYMBOL_GPL
+0xa996a329	lock_may_write	vmlinux	EXPORT_SYMBOL
+0xda928914	nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0x75d7cf2e	dma_mark_declared_memory_occupied	vmlinux	EXPORT_SYMBOL
+0x1d727e9d	xdr_buf_read_netobj	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x88e3e3c6	nf_nat_pptp_hook_exp_gre	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x403e2420	nf_conntrack_hash_insert	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbeeec0b0	qlogicfas408_info	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x60dc1081	cx8802_cancel_buffers	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xd4d3dddc	dibusb_rc_keys	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x6f9771c9	sock_wake_async	vmlinux	EXPORT_SYMBOL
+0x69005013	acpi_os_stall	vmlinux	EXPORT_SYMBOL
+0x3b2baa76	fat_free_clusters	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xdc4479ea	neigh_dump_info	vmlinux	EXPORT_SYMBOL
+0x662e809b	eisa_driver_register	vmlinux	EXPORT_SYMBOL
+0x2c56ee95	__set_page_dirty_buffers	vmlinux	EXPORT_SYMBOL
+0xf963a997	snd_gus_interrupt	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xf9df724d	bt_sock_poll	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xde78f6ac	usb_hcd_platform_shutdown	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x28f35813	scnprintf	vmlinux	EXPORT_SYMBOL
+0x0c5ef91b	per_cpu__vm_event_states	vmlinux	EXPORT_SYMBOL
+0x95320569	mod_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x9acb34c0	blk_queue_ordered	vmlinux	EXPORT_SYMBOL
+0xb4a1c58d	cxiCloseNFS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0c99385c	snd_seq_kernel_client_enqueue_blocking	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0xa71ee843	lapb_connect_request	net/lapb/lapb	EXPORT_SYMBOL
+0x668d3597	orinoco_reinit_firmware	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x7308dc5d	d_alloc_anon	vmlinux	EXPORT_SYMBOL
+0x78bf70b3	copy_strings_kernel	vmlinux	EXPORT_SYMBOL
+0x98b5af00	__wait_on_bit	vmlinux	EXPORT_SYMBOL
+0x23be3c06	iscsi_recv_pdu	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x6dd2d19b	tmsdev_init	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0x04403fcf	unregister_capi_driver	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x20645642	drm_debug	drivers/char/drm/drm	EXPORT_SYMBOL
+0x2c5749e6	acpi_clear_gpe	vmlinux	EXPORT_SYMBOL
+0x9da3015b	hrtimer_get_remaining	vmlinux	EXPORT_SYMBOL_GPL
+0xac3c36ee	wanrouter_encapsulate	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0xe9587909	usb_unregister_notify	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x0986ff11	ib_get_cached_gid	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf3ff7ff4	tcp_enter_memory_pressure	vmlinux	EXPORT_SYMBOL
+0x1088bed5	acpi_root_dir	vmlinux	EXPORT_SYMBOL
+0xa6acc577	spi_schedule_dv_device	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x3a4909c3	dst_gpio_outb	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x11e304fc	ata_bmdma_post_internal_cmd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe23f9c5f	arp_create	vmlinux	EXPORT_SYMBOL
+0x32d01fec	acpi_attach_data	vmlinux	EXPORT_SYMBOL
+0xfa5f0d57	no_llseek	vmlinux	EXPORT_SYMBOL
+0xd81dcab9	__percpu_populate_mask	vmlinux	EXPORT_SYMBOL_GPL
+0xdc9faf2d	rt_mutex_timed_lock	vmlinux	EXPORT_SYMBOL_GPL
+0x6cff9274	rtc_irq_set_freq	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x2ac110dc	flexcop_eeprom_check_mac_addr	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xebf1760f	tcp_statistics	vmlinux	EXPORT_SYMBOL
+0xfcfa03ff	fb_videomode_to_modelist	vmlinux	EXPORT_SYMBOL
+0x8e9a0c68	rwsem_down_read_failed	vmlinux	EXPORT_SYMBOL
+0x340ef6fe	dma_declare_coherent_memory	vmlinux	EXPORT_SYMBOL
+0x6fdcc4ad	snd_hda_build_controls	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x65a02a10	unlock_adapter_irq	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x713aaf16	phidget_class	drivers/usb/misc/phidget	EXPORT_SYMBOL_GPL
+0xcb629d38	saa7134_common_ioctl	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0xa0384d51	ata_port_start	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd5614e73	dev_ethtool	vmlinux	EXPORT_SYMBOL
+0xe3016e92	pm_send_all	vmlinux	EXPORT_SYMBOL
+0xfd03f1cd	_read_unlock_irq	vmlinux	EXPORT_SYMBOL
+0x7230704b	snd_util_memhdr_new	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x395bf7cb	proc_root_driver	vmlinux	EXPORT_SYMBOL
+0x7dceceac	capable	vmlinux	EXPORT_SYMBOL
+0x3b03ca42	gameport_close	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xd0fa5adf	gs_got_break	drivers/char/generic_serial	EXPORT_SYMBOL
+0x7482be70	nf_afinfo	vmlinux	EXPORT_SYMBOL
+0x78c8fe76	ps2_cmd_aborted	vmlinux	EXPORT_SYMBOL
+0xc8b57c27	autoremove_wake_function	vmlinux	EXPORT_SYMBOL
+0x23841980	__wake_up_sync	vmlinux	EXPORT_SYMBOL_GPL
+0x203f34b1	nf_ct_port_tuple_to_nfattr	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xdb2d4512	dvb_ringbuffer_flush	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xf8b38d27	give_up_console	vmlinux	EXPORT_SYMBOL
+0x7c60d66e	getname	vmlinux	EXPORT_SYMBOL
+0x5b3b6af6	ivtv_vapi_result	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x28ca26af	snd_tea575x_init	sound/i2c/other/snd-tea575x-tuner	EXPORT_SYMBOL
+0xc7786b29	snd_tea575x_exit	sound/i2c/other/snd-tea575x-tuner	EXPORT_SYMBOL
+0xb623b30e	snd_seq_root	sound/core/snd	EXPORT_SYMBOL
+0x21ac552b	nf_conntrack_helper_register	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x85e50672	pcmcia_find_io_region	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xbe6f4b75	mpt_reset_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x50c600b4	rdma_resolve_addr	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xf79731b5	rtl_ieee80211_wx_set_mode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xf234e436	rtl_ieee80211_wx_get_mode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x54f86eda	snd_akm4xxx_reset	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0x02325153	usb_hc_died	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x0ff2b602	slhc_compress	drivers/net/slhc	EXPORT_SYMBOL
+0x0dea8345	scx200_gpio_ops	drivers/char/scx200_gpio	EXPORT_SYMBOL_GPL
+0x1d1e307b	xfrm_calg_get_byid	vmlinux	EXPORT_SYMBOL_GPL
+0xdc6176b5	uhci_check_and_reset_hc	vmlinux	EXPORT_SYMBOL_GPL
+0x3a10a57a	ide_end_drive_cmd	vmlinux	EXPORT_SYMBOL
+0xf20dabd8	free_irq	vmlinux	EXPORT_SYMBOL
+0x9eac042a	__ioremap	vmlinux	EXPORT_SYMBOL
+0x151ffbac	ssb_bus_unregister	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xc54ebe34	tipc_forward_buf2port	net/tipc/tipc	EXPORT_SYMBOL
+0xc2066af0	batostr	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x6ef30137	usb_serial_probe	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0xb220ed30	filemap_fdatawait	vmlinux	EXPORT_SYMBOL
+0xaa748adb	p54_fill_eeprom_readback	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x4f816e9b	snd_pcm_format_big_endian	sound/core/snd-pcm	EXPORT_SYMBOL
+0x083a5c2a	rpcauth_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xd0bc0682	wext_standard_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x6be3a35b	pci_restore_bars	vmlinux	EXPORT_SYMBOL_GPL
+0x09d44df9	in_lock_functions	vmlinux	EXPORT_SYMBOL
+0x85ad40e5	rpc_wake_up	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc709ee72	sas_port_add_phy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x3f65fc1d	DoCMilPlus_init	drivers/mtd/devices/doc2001plus	EXPORT_SYMBOL_GPL
+0x764ddf1a	mptscsih_timer_expired	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x030463a3	dvb_pll_thomson_dtt7579	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xe0f830ed	dvb_pll_thomson_dtt759x	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x8b49a23f	timeval_usec_diff	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xcc6ab305	is_dock_device	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0xe5fef8e8	netpoll_parse_options	vmlinux	EXPORT_SYMBOL
+0x4fb1c201	kernel_getpeername	vmlinux	EXPORT_SYMBOL
+0xb3664588	platform_driver_probe	vmlinux	EXPORT_SYMBOL_GPL
+0xfcf6ece1	sysfs_chmod_file	vmlinux	EXPORT_SYMBOL_GPL
+0x469136be	rt_mutex_lock	vmlinux	EXPORT_SYMBOL_GPL
+0x8d660e70	probe_ms_sound	sound/oss/ad1848	EXPORT_SYMBOL
+0x2f16d20e	i2o_driver_unregister	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x9b07448e	dib7000p_i2c_enumeration	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0xfd3dae85	dib7000m_i2c_enumeration	drivers/media/dvb/frontends/dib7000m	EXPORT_SYMBOL
+0x9699b74d	ib_sa_service_rec_query	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0xcf26aca8	alloc_fcdev	vmlinux	EXPORT_SYMBOL
+0x31a3bfe4	input_event	vmlinux	EXPORT_SYMBOL
+0x1170a2ea	simple_pin_fs	vmlinux	EXPORT_SYMBOL
+0x5635a60a	vmalloc_user	vmlinux	EXPORT_SYMBOL
+0x74cc1cbe	unregister_cpu_notifier	vmlinux	EXPORT_SYMBOL
+0xa596d99e	schedule_delayed_work	vmlinux	EXPORT_SYMBOL
+0x64c1608d	tc_classify	vmlinux	EXPORT_SYMBOL
+0xc78ff7d3	sock_no_sendpage	vmlinux	EXPORT_SYMBOL
+0x741f1f6e	hpet_register	vmlinux	EXPORT_SYMBOL
+0x96541f0a	ivtv_udma_prepare	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xf7426da3	midi_synth_load_patch	sound/oss/sound	EXPORT_SYMBOL
+0xca702d7d	snd_gf1_dram_addr	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xd494ee54	speedstep_get_freqs	arch/i386/kernel/cpu/cpufreq/speedstep-lib	EXPORT_SYMBOL_GPL
+0x0f68fa9e	get_current_tty	vmlinux	EXPORT_SYMBOL_GPL
+0x283c8dc4	acpi_bus_generate_event	vmlinux	EXPORT_SYMBOL
+0x4c1182cb	bitmap_scnprintf	vmlinux	EXPORT_SYMBOL
+0xc444d054	snd_hda_build_pcms	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xba4bf32d	snd_ac97_write_cache	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x3971b4df	snd_ecards_limit	sound/core/snd	EXPORT_SYMBOL
+0x0f6a5d32	snd_midi_event_no_status	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x13cf8966	cyber2000fb_attach	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x0cc3ede5	cyber2000fb_detach	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0xafd47d59	nand_wait_ready	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0x3ca1608c	kernel_sendmsg	vmlinux	EXPORT_SYMBOL
+0xa7ad6e8c	kernel_getsockname	vmlinux	EXPORT_SYMBOL
+0xff818632	uart_register_driver	vmlinux	EXPORT_SYMBOL
+0xac3b3cee	__bitmap_and	vmlinux	EXPORT_SYMBOL
+0x3fe24ab8	tipc_send_buf2port	net/tipc/tipc	EXPORT_SYMBOL
+0x55c22091	nf_conntrack_destroyed	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x713ecaba	phy_disable_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x85f09690	b1_irq_table	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x812c8e77	ib_destroy_fmr_pool	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb6d3cccf	crypto_blkcipher_type	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0x20f564d2	xfrm_alloc_spi	vmlinux	EXPORT_SYMBOL
+0x7c524dbd	synchronize_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x4502c65a	asc2ax	net/ax25/ax25	EXPORT_SYMBOL
+0xb330fe9d	usb_autopm_set_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x694a4b30	kvm_stat	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x878aec47	ib_query_gid	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xea4152ff	dma_region_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xbd2b620f	ata_eh_freeze_port	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xca161b91	blkcipher_walk_virt	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0x07052a11	nf_log_packet	vmlinux	EXPORT_SYMBOL
+0x078dcda2	qdisc_tree_decrease_qlen	vmlinux	EXPORT_SYMBOL
+0x8c579fe4	dev_remove_pack	vmlinux	EXPORT_SYMBOL
+0x21cb1ccf	dmam_pool_destroy	vmlinux	EXPORT_SYMBOL
+0x07601890	posix_lock_file	vmlinux	EXPORT_SYMBOL
+0x798f38d2	set_page_dirty	vmlinux	EXPORT_SYMBOL
+0x8a4fafb4	nf_conntrack_expect_init	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x58425d35	video_device_alloc	drivers/media/video/videodev	EXPORT_SYMBOL
+0xde9360ba	totalram_pages	vmlinux	EXPORT_SYMBOL
+0x8e7a074c	nf_conntrack_l4proto_udp4	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xec93214b	nfs4_acl_nfsv4_to_posix	fs/nfsd/nfsd	EXPORT_SYMBOL
+0xa943489c	pcmcia_socket_dev_suspend	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x242fb203	udp_disconnect	vmlinux	EXPORT_SYMBOL
+0xb92533eb	install_page	vmlinux	EXPORT_SYMBOL
+0xbb883cb5	journal_get_write_access	fs/jbd/jbd	EXPORT_SYMBOL
+0xaeea0069	acpi_run_oshp	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xf97839c5	drm_ati_pcigart_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0xfb0443fb	acpi_get_parent	vmlinux	EXPORT_SYMBOL
+0x7ffb61f4	fb_show_logo	vmlinux	EXPORT_SYMBOL
+0x9042b7b3	fb_pan_display	vmlinux	EXPORT_SYMBOL
+0x773ccceb	finish_usermodehelper_pipe	vmlinux	EXPORT_SYMBOL
+0x80f0c1c4	snd_cs4231_info_double	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xe5919cb1	xdr_encode_opaque	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x4fa10876	iscsi_session_recovery_timedout	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xb3e0ba0d	rtc_class_close	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x7b5d4b7a	ib_is_mad_class_rmpp	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x07fcf0ad	mca_device_set_claim	vmlinux	EXPORT_SYMBOL
+0x580b85db	snd_rawmidi_new	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x47fd015a	lock_adapter_irq	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x442b46c3	svc_max_payload	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0xd585d23c	parse_mtd_partitions	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0x6036a8cf	cx88_set_stereo	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x9af9ebdb	b1_parse_version	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xdebf2ec9	ib_dereg_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xec780df1	__sk_stream_mem_reclaim	vmlinux	EXPORT_SYMBOL
+0x10ac4594	devres_alloc	vmlinux	EXPORT_SYMBOL_GPL
+0x5232129b	sysdev_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xdc14eda7	pci_pci_problems	vmlinux	EXPORT_SYMBOL
+0x6f892608	blk_queue_stack_limits	vmlinux	EXPORT_SYMBOL
+0x01b0e780	ll_back_merge_fn	vmlinux	EXPORT_SYMBOL
+0xf2869668	nf_conntrack_free	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x7a45eb78	usbvideo_DeinterlaceFrame	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x85bc1770	csr1212_read	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xa24a56c4	ata_exec_command	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x946a000c	ata_eh_thaw_port	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x9feaf287	sonet_subtract_stats	vmlinux	EXPORT_SYMBOL
+0x8df31865	udp_lib_getsockopt	vmlinux	EXPORT_SYMBOL
+0x911d88f0	udp_lib_setsockopt	vmlinux	EXPORT_SYMBOL
+0xde3adcf7	sk_send_sigurg	vmlinux	EXPORT_SYMBOL
+0xe4118dcf	pnp_is_active	vmlinux	EXPORT_SYMBOL
+0xebd883c8	snd_vx_dsp_load	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x9e9d70f5	hashbin_remove	net/irda/irda	EXPORT_SYMBOL
+0x447fa05c	atalk_find_dev_addr	net/appletalk/appletalk	EXPORT_SYMBOL
+0x2e7acf4b	drop_super	vmlinux	EXPORT_SYMBOL
+0x1b7d4074	printk	vmlinux	EXPORT_SYMBOL
+0x09a3fec3	sata_std_hardreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x650128e7	br_fdb_get_hook	vmlinux	EXPORT_SYMBOL
+0xb494e82a	br_fdb_put_hook	vmlinux	EXPORT_SYMBOL
+0xc85d67c0	sk_alloc	vmlinux	EXPORT_SYMBOL
+0x798faf87	bus_unregister_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xd70272e5	remove_inode_hash	vmlinux	EXPORT_SYMBOL
+0xedbe6154	try_to_release_page	vmlinux	EXPORT_SYMBOL
+0x76ecda72	synchronize_srcu	vmlinux	EXPORT_SYMBOL_GPL
+0xaed981e1	rpcauth_lookup_credcache	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x0dc6f6f9	hci_conn_switch_role	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x29a3eb2f	spi_dv_device	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x7ae24d54	i2o_driver_notify_controller_remove_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xa883fcc2	klist_iter_init	vmlinux	EXPORT_SYMBOL_GPL
+0xd0d1ea0e	platform_driver_register	vmlinux	EXPORT_SYMBOL_GPL
+0x621d48e3	pci_disable_msix	vmlinux	EXPORT_SYMBOL
+0x9c174567	kobject_add	vmlinux	EXPORT_SYMBOL
+0x8b466008	wlan_unsetup	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x4b8af9ec	gfs2_mount_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0xccc3d0a3	parport_register_device	drivers/parport/parport	EXPORT_SYMBOL
+0xdbf18453	vp3054_i2c_remove	drivers/media/video/cx88/cx88-vp3054-i2c	EXPORT_SYMBOL
+0x6f4fdd06	agp_generic_alloc_user	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x65593c3b	platform_driver_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x9009602a	acpi_bus_get_ejd	vmlinux	EXPORT_SYMBOL_GPL
+0xcdcd8e5e	br_should_route_hook	net/bridge/bridge	EXPORT_SYMBOL
+0x405709d7	usb_get_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x74a5a698	dvb_filter_pes2ts_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x16f59cc0	isdn_ppp_register_compressor	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0x68685a10	hpsb_packet_received	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x345f250f	tcp_v4_calc_md5_hash	vmlinux	EXPORT_SYMBOL
+0x89103b74	gnet_stats_copy_queue	vmlinux	EXPORT_SYMBOL
+0x3516b798	iw_handler_get_thrspy	vmlinux	EXPORT_SYMBOL
+0xee5f1198	pci_scan_single_device	vmlinux	EXPORT_SYMBOL
+0x4ec9c4d5	simple_dir_operations	vmlinux	EXPORT_SYMBOL
+0xb01ffc2c	tipc_forward2name	net/tipc/tipc	EXPORT_SYMBOL
+0x30031b64	scsi_alloc_sgtable	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa33847c3	agp_generic_remove_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x6403e338	tcp_memory_pressure	vmlinux	EXPORT_SYMBOL
+0x365385e5	snd_register_oss_device	sound/core/snd	EXPORT_SYMBOL
+0x191e88cf	snd_dma_pointer	sound/core/snd	EXPORT_SYMBOL
+0x24a94b26	snd_info_get_line	sound/core/snd	EXPORT_SYMBOL
+0xb7da07b1	scsi_queue_work	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xc32693b8	nand_release	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0xcb19f6d6	ip_statistics	vmlinux	EXPORT_SYMBOL
+0xadaa2657	cpufreq_register_notifier	vmlinux	EXPORT_SYMBOL
+0xe8d61d47	elv_dispatch_sort	vmlinux	EXPORT_SYMBOL
+0xf2191383	elv_add_request	vmlinux	EXPORT_SYMBOL
+0x901fe65c	crypto_get_attr_alg	vmlinux	EXPORT_SYMBOL_GPL
+0x775f9f81	unregister_hdlc_device	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0xda26c445	mptscsih_TMHandler	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xc81c15d9	dm_table_unplug_all	drivers/md/dm-mod	EXPORT_SYMBOL
+0xb9b76006	netif_device_detach	vmlinux	EXPORT_SYMBOL
+0x7379cfe1	netif_device_attach	vmlinux	EXPORT_SYMBOL
+0x2bad64ac	simple_attr_read	vmlinux	EXPORT_SYMBOL_GPL
+0x689fa5a6	relay_flush	vmlinux	EXPORT_SYMBOL_GPL
+0xfb5128ff	synth_release	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xf24c88ba	snd_sb16dsp_pcm	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0x71ecc67f	dccp_rx_hist_find_data_packet	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x3124637f	saa7134_dmasound_init	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x1842c3e6	saa7134_dmasound_exit	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x98c3d558	saa7146_vv_init	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x444779c4	nla_find	vmlinux	EXPORT_SYMBOL
+0x131a98f5	kernel_bind	vmlinux	EXPORT_SYMBOL
+0xcca90a30	serio_register_driver	vmlinux	EXPORT_SYMBOL
+0xcc248d26	serial8250_suspend_port	vmlinux	EXPORT_SYMBOL
+0x4e6e8ea7	fg_console	vmlinux	EXPORT_SYMBOL
+0x52ae4f8a	kbd	vmlinux	EXPORT_SYMBOL
+0x1e11bdfe	kernel_read	vmlinux	EXPORT_SYMBOL
+0x15872aee	vfs_read	vmlinux	EXPORT_SYMBOL
+0x3b1a743a	__devm_release_region	vmlinux	EXPORT_SYMBOL
+0x594b897e	snd_opl4_read_memory	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0xf7147e66	parport_write	drivers/parport/parport	EXPORT_SYMBOL
+0xa8813189	__nvram_write_byte	drivers/char/nvram	EXPORT_SYMBOL
+0x9fb3dd30	memcpy_fromiovec	vmlinux	EXPORT_SYMBOL
+0x63230950	tty_ldisc_get	vmlinux	EXPORT_SYMBOL_GPL
+0xae8e6d59	pci_bus_find_capability	vmlinux	EXPORT_SYMBOL
+0xfa8cdc34	blk_queue_prep_rq	vmlinux	EXPORT_SYMBOL
+0xee0dd850	cxiPruneDCacheEntry	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x707cdbd1	journal_unlock_updates	fs/jbd/jbd	EXPORT_SYMBOL
+0x848a4786	pcmcia_socket_dev_resume	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xae17d096	videobuf_dma_map	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x74b3ccee	sysdev_class_register	vmlinux	EXPORT_SYMBOL_GPL
+0x9bd85ce4	videobuf_streamon	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x24706c4e	hpsb_iso_xmit_queue_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb4a8ef6b	drm_ati_pcigart_cleanup	drivers/char/drm/drm	EXPORT_SYMBOL
+0x76b47740	agp_collect_device_status	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x245570ff	ide_map_sg	vmlinux	EXPORT_SYMBOL_GPL
+0xf15d311d	bio_alloc	vmlinux	EXPORT_SYMBOL
+0xdecde6c6	mntput_no_expire	vmlinux	EXPORT_SYMBOL
+0x107d6ba3	__get_free_pages	vmlinux	EXPORT_SYMBOL
+0x3bcb4452	find_task_by_pid_type	vmlinux	EXPORT_SYMBOL
+0xbb189cad	disallow_signal	vmlinux	EXPORT_SYMBOL
+0xeb315d99	DMAbuf_inputintr	sound/oss/sound	EXPORT_SYMBOL
+0x7e390b80	make_spkm3_checksum	net/sunrpc/auth_gss/rpcsec_gss_spkm3	EXPORT_SYMBOL
+0xc1bcd376	iscsi_pool_init	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xdbcd416e	sysctl_ip_nonlocal_bind	vmlinux	EXPORT_SYMBOL
+0xb3644006	__tcp_get_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0x535a2f4d	pciserial_init_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x9f571bf8	ieee80211_start_queues	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x03c48cf3	matroxfb_g450_shutdown	drivers/video/matrox/matroxfb_g450	EXPORT_SYMBOL
+0x6d52c8d7	stv0297_attach	drivers/media/dvb/frontends/stv0297	EXPORT_SYMBOL
+0xe9e462da	ide_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0xd359c491	blk_queue_resize_tags	vmlinux	EXPORT_SYMBOL
+0xeeaaebf2	nf_ct_l4proto_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x34e0f0c5	nf_ct_l3proto_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xde134c69	storage_usb_ids	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0x47d0f625	parport_ieee1284_write_compat	drivers/parport/parport	EXPORT_SYMBOL
+0xb6f383de	cycx_poke	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0xf9a1e30c	register_mtd_chip_driver	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0xe2b6e7fd	bttv_gpio_bits	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x23a4e864	ipv4_specific	vmlinux	EXPORT_SYMBOL
+0xb43003e2	hippi_type_trans	vmlinux	EXPORT_SYMBOL
+0x6f6ae5cd	proto_unregister	vmlinux	EXPORT_SYMBOL
+0x7ab713ab	per_cpu__cpu_gdt_descr	vmlinux	EXPORT_SYMBOL
+0xa5881712	ipv6_get_saddr	net/ipv6/ipv6	EXPORT_SYMBOL
+0xb4a11b5e	deregister_mtd_parser	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0xb92e520c	dib3000mc_i2c_enumeration	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xb19fda8d	capi_cmd2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x843c9bd8	__any_online_cpu	vmlinux	EXPORT_SYMBOL
+0xef4d98fb	lookup_instantiate_filp	vmlinux	EXPORT_SYMBOL_GPL
+0xbd16895f	cxiStartKProc	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9c45558e	tipc_enable_bearer	net/tipc/tipc	EXPORT_SYMBOL
+0x6cb165ff	register_ip_vs_app	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x7b4dc30b	dm_table_put	drivers/md/dm-mod	EXPORT_SYMBOL
+0xa92b5a50	kunmap_high	vmlinux	EXPORT_SYMBOL
+0x93619db5	register_page_fault_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x51939f54	snd_util_memhdr_free	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0xc55b6b62	lapb_data_request	net/lapb/lapb	EXPORT_SYMBOL
+0x02193225	ieee80211_wx_set_encodeext	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x8392666a	ieee80211_wx_get_encodeext	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xc0eb63d0	dvb_pll_fmd1216me	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xb6156639	ib_send_cm_apr	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xad9e6463	sata_scr_write	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x029043ed	acpi_get_vendor_resource	vmlinux	EXPORT_SYMBOL
+0xc1d50464	match_strdup	vmlinux	EXPORT_SYMBOL
+0x472d2a9a	radix_tree_lookup	vmlinux	EXPORT_SYMBOL
+0x4825c93a	rt_mutex_unlock	vmlinux	EXPORT_SYMBOL_GPL
+0xde76a980	neigh_seq_next	vmlinux	EXPORT_SYMBOL
+0x540f9040	acpi_os_sleep	vmlinux	EXPORT_SYMBOL
+0x49791de8	vfs_rename	vmlinux	EXPORT_SYMBOL
+0x7a9f9fe5	generic_ro_fops	vmlinux	EXPORT_SYMBOL
+0x98bb62a1	iscsi_free_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xeb1765db	hpsb_set_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x94edcb3f	kthread_bind	vmlinux	EXPORT_SYMBOL
+0x833a3e07	snd_midi_channel_set_clear	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0xa5d2db49	ipv6_setsockopt	net/ipv6/ipv6	EXPORT_SYMBOL
+0x8e3e033b	usb_serial_port_softint	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x0f3e7995	del_mtd_blktrans_dev	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0xa9f01119	videobuf_alloc	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x316e646e	ide_unregister_region	vmlinux	EXPORT_SYMBOL_GPL
+0xa591de87	cache_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8ad5bd3e	dccp_getsockopt	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x6379df9d	inetdev_by_index	vmlinux	EXPORT_SYMBOL
+0x4c61fc21	bt_sock_wait_state	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x8354bd3c	filemap_fdatawrite	vmlinux	EXPORT_SYMBOL
+0x8be3869f	rtl_ieee80211_ps_tx_ack	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x44c5cc7d	mptscsih_event_process	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xaa50adbd	cx22700_attach	drivers/media/dvb/frontends/cx22700	EXPORT_SYMBOL
+0x8616b11a	ipmi_request_settime	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xd1f91bcd	dev_base_lock	vmlinux	EXPORT_SYMBOL
+0xd25d4f74	console_blank_hook	vmlinux	EXPORT_SYMBOL
+0xe400eba3	bio_hw_segments	vmlinux	EXPORT_SYMBOL
+0xe78c4be8	relay_buf_empty	vmlinux	EXPORT_SYMBOL_GPL
+0x016a8997	opl3_init	sound/oss/opl3	EXPORT_SYMBOL
+0xb512aea4	xt_request_find_target	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xc913009c	hdlcdrv_register	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xead49dff	mptscsih_resume	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xcfbeb6ef	cx88_core_get	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x46b2a30d	proc_ide_read_capacity	vmlinux	EXPORT_SYMBOL_GPL
+0x99d4547c	sg_scsi_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0xc89eddde	file_fsync	vmlinux	EXPORT_SYMBOL
+0x0b9cdeb5	get_sb_bdev	vmlinux	EXPORT_SYMBOL
+0x3037658e	sis_malloc	drivers/video/sis/sisfb	EXPORT_SYMBOL
+0xbc91f9ed	tifm_free_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x4db00e31	dib3000mc_get_tuner_i2c_master	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0x3ca87cac	register_md_personality	drivers/md/md-mod	EXPORT_SYMBOL
+0x18ac55e0	gnet_stats_finish_copy	vmlinux	EXPORT_SYMBOL
+0xfe7bde5e	dmi_find_device	vmlinux	EXPORT_SYMBOL
+0x6bed092e	dma_pool_create	vmlinux	EXPORT_SYMBOL
+0x4b34fbf5	block_all_signals	vmlinux	EXPORT_SYMBOL
+0xc061f6db	usb_hcd_pci_probe	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x43c89ef4	ir_decode_biphase	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xd012454d	ib_destroy_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x6776848f	ib_destroy_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x147465ca	dma_pool_destroy	vmlinux	EXPORT_SYMBOL
+0x0d75d3ef	tty_name	vmlinux	EXPORT_SYMBOL
+0xd0fdbf18	rtl_ieee80211_is_shortslot	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x407c3f5a	ebt_register_match	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x7eecfbed	kvm_emulator_want_group7_invlpg	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x3e9ba3cf	destroy_workqueue	vmlinux	EXPORT_SYMBOL_GPL
+0x0d3fc191	call_usermodehelper_pipe	vmlinux	EXPORT_SYMBOL
+0x9613ef55	rtl_ieee80211_rx	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x0f842e73	inet6_csk_reqsk_queue_hash_add	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xcf2cf614	fat_get_dotdot_entry	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x51075278	mptscsih_host_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xf74f255a	do_SAK	vmlinux	EXPORT_SYMBOL
+0xa5089a06	pci_save_state	vmlinux	EXPORT_SYMBOL
+0xb14f94c3	check_disk_change	vmlinux	EXPORT_SYMBOL
+0x72216fa9	param_get_uint	vmlinux	EXPORT_SYMBOL
+0x68a424a0	sas_rphy_add	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xe6559184	cx88_free_buffer	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x5fd9f031	elv_register	vmlinux	EXPORT_SYMBOL_GPL
+0x8c1b50ee	page_put_link	vmlinux	EXPORT_SYMBOL
+0x70196ffb	ivtv_cards_active	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xbbf203c4	rpc_sleep_on	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf7a05d1a	sp8870_attach	drivers/media/dvb/frontends/sp8870	EXPORT_SYMBOL
+0xb6aeb661	ata_id_c_string	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xbbd504b3	pci_enable_msi	vmlinux	EXPORT_SYMBOL
+0x6c252d29	tfrc_calc_x_reverse_lookup	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x9dffd645	hid_input_field	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0xa492fe8c	km_state_expired	vmlinux	EXPORT_SYMBOL
+0xb0e10781	get_option	vmlinux	EXPORT_SYMBOL
+0x5ec04b29	rxrpc_put_connection	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x17598419	nf_ct_gre_keymap_destroy	net/netfilter/nf_conntrack_proto_gre	EXPORT_SYMBOL_GPL
+0xce19bac5	register_inet6addr_notifier	net/ipv6/ipv6	EXPORT_SYMBOL
+0xde3b9162	flexcop_dma_xfer_control	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xa8b50f01	inet_accept	vmlinux	EXPORT_SYMBOL
+0x8082ceb2	pci_set_consistent_dma_mask	vmlinux	EXPORT_SYMBOL
+0x60253ab0	up_read	vmlinux	EXPORT_SYMBOL
+0x6188486a	nfnetlink_subsys_register	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xeecd5cab	bttv_get_cardinfo	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x27485bfe	cpufreq_frequency_table_verify	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x63fd8cd2	__pskb_pull_tail	vmlinux	EXPORT_SYMBOL
+0x89e82aef	tty_wait_until_sent	vmlinux	EXPORT_SYMBOL
+0xa57f0a13	bioset_free	vmlinux	EXPORT_SYMBOL
+0x387c0967	vfs_lstat	vmlinux	EXPORT_SYMBOL
+0x99c3c0b0	vfs_fstat	vmlinux	EXPORT_SYMBOL
+0xb32242d3	dma_spin_lock	vmlinux	EXPORT_SYMBOL
+0x4495d148	pcmcia_unregister_driver	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x772a30a2	ir_codes_nebula	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xa598e29c	vesa_modes	vmlinux	EXPORT_SYMBOL
+0x3d817175	dccp_shutdown	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xe808680a	attach_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x3188c3ac	ttpci_budget_irq10_handler	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0xd65f9e3d	rdma_accept	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xc5d9c46c	agp_try_unsupported_boot	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x0bee3282	__netif_schedule	vmlinux	EXPORT_SYMBOL
+0x63701ed1	mca_device_claimed	vmlinux	EXPORT_SYMBOL
+0x03960713	ioread16	vmlinux	EXPORT_SYMBOL
+0x0ac72904	generic_fillattr	vmlinux	EXPORT_SYMBOL
+0x183fa88b	mempool_alloc_slab	vmlinux	EXPORT_SYMBOL
+0x40f794f1	param_set_invbool	vmlinux	EXPORT_SYMBOL
+0x1dfee677	usb_reset_composite_device	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x0dd2acb4	saa7146_setgpio	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x3fd62b79	rdma_bind_addr	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x5c78f11b	i2c_register_driver	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x2b30b907	ide_init_disk	vmlinux	EXPORT_SYMBOL_GPL
+0xa3ccfb6b	pci_bus_alloc_resource	vmlinux	EXPORT_SYMBOL
+0xe02df37d	d_instantiate_unique	vmlinux	EXPORT_SYMBOL
+0x213f2245	svc_drop	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9da53db0	isl6421_attach	drivers/media/dvb/frontends/isl6421	EXPORT_SYMBOL
+0xd6f8244e	ib_free_recv_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x8a541d2a	sata_scr_valid	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x8cd7f2ff	ide_do_reset	vmlinux	EXPORT_SYMBOL
+0x83015749	mutex_lock_interruptible	vmlinux	EXPORT_SYMBOL
+0x69927dff	try_acquire_console_sem	vmlinux	EXPORT_SYMBOL
+0xe8a2a9f0	cxiDeleteMmap	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa3999345	ccid_unregister	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xf7a8e0dc	edac_mc_alloc	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x76b369c2	skb_clone	vmlinux	EXPORT_SYMBOL
+0x9951d391	__ide_abort	vmlinux	EXPORT_SYMBOL_GPL
+0x0487f831	fb_find_best_display	vmlinux	EXPORT_SYMBOL
+0x1b59df5c	setup_arg_pages	vmlinux	EXPORT_SYMBOL
+0x3071754a	snd_es1688_mixer	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0x1871bdb5	dccp_tx_hist_delete	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xa1b0534a	bttv_get_gpio_queue	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xdb2ecaa3	sysctl_jiffies	vmlinux	EXPORT_SYMBOL
+0x54cf08b1	ssb_device_enable	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x7b8699eb	snd_seq_event_port_detach	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x48b4b2e6	tipc_send_buf_fast	net/tipc/tipc	EXPORT_SYMBOL
+0x40b72f37	phy_ethtool_sset	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xb59a4d9a	phy_ethtool_gset	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xee6f5e65	ib_query_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x0ded1ee1	net_statistics	vmlinux	EXPORT_SYMBOL
+0xb16fc1dc	tcp_init_xmit_timers	vmlinux	EXPORT_SYMBOL
+0x6807c24b	dm_pg_init_complete	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0x26333808	bio_uncopy_user	vmlinux	EXPORT_SYMBOL
+0x0cc7df1a	make_bad_inode	vmlinux	EXPORT_SYMBOL
+0x68b727cd	gss_mech_unregister	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x4196c38b	hermes_write_ltv	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xe10ad68d	videobuf_dma_init_kernel	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x96f9d2f4	b1_interrupt	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x32dada86	map_page_into_agp	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x355521b7	ata_data_xfer	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf5ce9811	tcp_memory_allocated	vmlinux	EXPORT_SYMBOL
+0xa64d9397	seq_release_private	vmlinux	EXPORT_SYMBOL
+0x67cfac2b	cxiBigMalloc	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xdec8d498	snd_ctl_remove	sound/core/snd	EXPORT_SYMBOL
+0x67136e3c	dccp_tx_hist_find_entry	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x23cd0963	hpsb_iso_wake	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x672c9d44	iTCO_vendor_pre_keepalive	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x1e4f39dc	ata_pci_remove_one	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa9abf7c0	ide_end_dequeued_request	vmlinux	EXPORT_SYMBOL_GPL
+0xed0ce976	uart_console_write	vmlinux	EXPORT_SYMBOL_GPL
+0x82e59756	blk_max_pfn	vmlinux	EXPORT_SYMBOL
+0xd1d263b5	vfs_removexattr	vmlinux	EXPORT_SYMBOL_GPL
+0x91d6536d	__mutex_init	vmlinux	EXPORT_SYMBOL
+0xf68ed4e0	rtc_set_time	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x710a436b	synth_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xeefd49b3	tipc_get_handle	net/tipc/tipc	EXPORT_SYMBOL
+0x0797b831	auth_domain_lookup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xb905ad82	icmpv6_err_convert	net/ipv6/ipv6	EXPORT_SYMBOL
+0x0c5bbf83	cx2341x_update	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0x1ad0e7f0	serial8250_register_port	vmlinux	EXPORT_SYMBOL
+0x325eb50f	fb_get_mode	vmlinux	EXPORT_SYMBOL
+0x572da706	do_sync_write	vmlinux	EXPORT_SYMBOL
+0xcd58514e	vfs_readv	vmlinux	EXPORT_SYMBOL
+0x3fb18130	ssb_bus_pcibus_register	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x218667a9	snd_emu10k1_synth_alloc	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x0697dce1	srp_transfer_data	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0xa88bfdb2	mmc_detect_change	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x64733bba	search_binary_handler	vmlinux	EXPORT_SYMBOL
+0x128c620b	rt_mutex_trylock	vmlinux	EXPORT_SYMBOL_GPL
+0x241c1315	snd_opl4_write	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x0d68d75a	usb_remove_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xdc217d14	cpufreq_freq_attr_scaling_available_freqs	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0xb8e7ce2c	__put_user_8	vmlinux	EXPORT_SYMBOL
+0xcca04fdf	hostap_init_data	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xed08ff6f	videobuf_streamoff	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x6ba25e07	cx2341x_fill_defaults	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xe125bb74	i2c_adapter_class	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x678e1ec6	tcp_disconnect	vmlinux	EXPORT_SYMBOL
+0x7c8fbef6	put_device	vmlinux	EXPORT_SYMBOL_GPL
+0x479cec1e	mark_info_dirty	vmlinux	EXPORT_SYMBOL
+0xd70b4dc5	bio_pair_release	vmlinux	EXPORT_SYMBOL
+0x6fcb87a1	touch_softlockup_watchdog	vmlinux	EXPORT_SYMBOL
+0xfe28e42c	journal_start	fs/jbd/jbd	EXPORT_SYMBOL
+0xbe45dada	ppp_input	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x392e7c3f	register_filesystem	vmlinux	EXPORT_SYMBOL
+0xba497f13	loops_per_jiffy	vmlinux	EXPORT_SYMBOL
+0x9d845b18	num_mixers	sound/oss/sound	EXPORT_SYMBOL
+0x5733b5f0	sas_remove_children	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x673f815e	agp_bridges	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xca6c95f8	acpi_get_name	vmlinux	EXPORT_SYMBOL
+0x6122a73e	cpu_callout_map	vmlinux	EXPORT_SYMBOL
+0x2df115d4	eeprom_93cx6_multiread	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0xfa6871be	sound_timer_syncinterval	sound/oss/sound	EXPORT_SYMBOL
+0x4bd74715	tmsdev_term	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0x7a381ed2	drm_addbufs_agp	drivers/char/drm/drm	EXPORT_SYMBOL
+0x9bf0b8dd	drm_addbufs_pci	drivers/char/drm/drm	EXPORT_SYMBOL
+0xe59fb3a9	generic_make_request	vmlinux	EXPORT_SYMBOL
+0xeeabceef	queue_delayed_work	vmlinux	EXPORT_SYMBOL_GPL
+0x7957f728	irlmp_update_client	net/irda/irda	EXPORT_SYMBOL
+0xb05494e5	pcmcia_insert_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xf7a3257d	mii_phy_probe	drivers/net/sungem_phy	EXPORT_SYMBOL
+0x02124474	ip_send_check	vmlinux	EXPORT_SYMBOL
+0x0ff45263	RingQueue_WakeUpInterruptible	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x482a7f01	filemap_flush	vmlinux	EXPORT_SYMBOL
+0xb14b22cd	midi_synth_hw_control	sound/oss/sound	EXPORT_SYMBOL
+0xe8794ce1	slhc_toss	drivers/net/slhc	EXPORT_SYMBOL
+0xff158606	mpt_alloc_fw_memory	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x064df683	drm_core_get_map_ofs	drivers/char/drm/drm	EXPORT_SYMBOL
+0x4a9d86e3	acpi_set_register	vmlinux	EXPORT_SYMBOL
+0x9a6a83f9	cmos_lock	vmlinux	EXPORT_SYMBOL
+0xf4277f1e	tsfattr	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x12fd1b25	ieee80211_scan_completed	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4aee1718	snd_sb8dsp_pcm	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0xf9d931d5	unix_domain_find	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x67ba26ea	dccp_li_hist_delete	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x7a1211f8	dlm_setup_eviction_cb	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x1ad3b491	acpi_root_bridge	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xcba43f6a	i2c_smbus_read_i2c_block_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xa3424439	tty_mutex	vmlinux	EXPORT_SYMBOL
+0xbcc308bb	strnlen_user	vmlinux	EXPORT_SYMBOL
+0x5238feb3	kunmap	vmlinux	EXPORT_SYMBOL
+0xebfee273	snd_hda_suspend	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x6dc1e698	xt_free_table_info	net/netfilter/x_tables	EXPORT_SYMBOL
+0x74a24443	prism2_update_comms_qual	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x9bd8368e	mpt_print_ioc_summary	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xb10d55bc	cn_netlink_send	drivers/connector/cn	EXPORT_SYMBOL_GPL
+0xe485d664	ata_bmdma_setup	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x972c63b4	mnt_pin	vmlinux	EXPORT_SYMBOL
+0x13be5539	snd_gf1_mem_free	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x20a2fa21	snd_dma_alloc_pages_fallback	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x89ac903d	nf_ct_helper_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xa9ae40f1	dccp_poll	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xd43ecbf1	null_ax25_address	net/ax25/ax25	EXPORT_SYMBOL
+0x4fb71ee3	cpia_register_camera	drivers/media/video/cpia	EXPORT_SYMBOL
+0x804f922a	ipmi_addr_length	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x760661d7	dev_get_by_name	vmlinux	EXPORT_SYMBOL
+0x48bf7f34	__page_symlink	vmlinux	EXPORT_SYMBOL
+0xa2f558b9	sched_setscheduler	vmlinux	EXPORT_SYMBOL_GPL
+0x04b45aa5	ivtv_set_irq_mask	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xfdab6de3	unregister_sound_midi	sound/soundcore	EXPORT_SYMBOL
+0x4c859974	ib_unregister_event_handler	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x91e19d30	generic_cont_expand	vmlinux	EXPORT_SYMBOL
+0x37d44856	do_sync_file_range	vmlinux	EXPORT_SYMBOL_GPL
+0xe36cd305	inode_double_lock	vmlinux	EXPORT_SYMBOL
+0x39a6789b	snd_ctl_register_ioctl	sound/core/snd	EXPORT_SYMBOL
+0xbe99f823	nat_h245_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x9eafe9b3	ax25_hard_header	net/ax25/ax25	EXPORT_SYMBOL
+0xd99dc434	udp_prot	vmlinux	EXPORT_SYMBOL
+0x4b12796e	inet6_sk_rebuild_header	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x77a4616c	mb_cache_shrink	fs/mbcache	EXPORT_SYMBOL
+0x2934feb8	rtc_interface_register	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x7f5eb07b	register_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x45c71b9a	arc_proto_default	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x749e02b3	dib3000mc_set_config	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0x3d13da14	unregister_quota_format	vmlinux	EXPORT_SYMBOL
+0xf1e98c74	avenrun	vmlinux	EXPORT_SYMBOL
+0xfade4543	tms380tr_open	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0xa21677a0	register_mtd_parser	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0x57b02a20	v4l2_type_names	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xc7549169	dvb_ringbuffer_pkt_read	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x43860c35	ir_input_nokey	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6a11ec90	mark_page_accessed	vmlinux	EXPORT_SYMBOL
+0xee60d12d	scsi_report_bus_reset	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x9cb8037b	xfrm_count_enc_supported	vmlinux	EXPORT_SYMBOL_GPL
+0xcc4eef8c	nf_proto_csum_replace4	vmlinux	EXPORT_SYMBOL
+0xa05d2ce3	pnpbios_protocol	vmlinux	EXPORT_SYMBOL
+0xce263e6b	__ht_create_irq	vmlinux	EXPORT_SYMBOL
+0x37aa7b87	snd_dma_get_reserved_buf	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x731b17f3	wanrouter_type_trans	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x61e8f921	saa7134_i2c_call_clients	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0xc0ee3dd7	saa7146_i2c_adapter_prepare	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xc730882c	hid_output_report	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0xcd77ce0d	block_sync_page	vmlinux	EXPORT_SYMBOL
+0x9037dea1	cdev_add	vmlinux	EXPORT_SYMBOL
+0xca0d27a1	node_possible_map	vmlinux	EXPORT_SYMBOL
+0xea014f45	snd_timer_new	sound/core/snd-timer	EXPORT_SYMBOL
+0xbb21740d	ieee80211_get_channel	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x9f15880a	rtc_update_irq	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x34abffae	mptscsih_change_queue_depth	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xba037ef8	ib_modify_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbba70620	dma_prog_region_free	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xad1c9dac	dev_mc_add	vmlinux	EXPORT_SYMBOL
+0x669db4bf	fb_blank	vmlinux	EXPORT_SYMBOL
+0x4ddc4b9f	utf8_mbtowc	vmlinux	EXPORT_SYMBOL
+0xca65c2d0	open_exec	vmlinux	EXPORT_SYMBOL
+0xb842be2a	rtl_ieee80211_crypt_deinit_entries	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xbe961a00	mb_cache_entry_find_next	fs/mbcache	EXPORT_SYMBOL
+0x83bdb60d	iscsi_remove_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x53854e7d	acpi_initialize_subsystem	vmlinux	EXPORT_SYMBOL
+0x5918b48b	cxiIsSambaOrLockdThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0fd39084	ip_vs_skb_replace	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x600895ed	journal_forget	fs/jbd/jbd	EXPORT_SYMBOL
+0x6cd944ea	pnp_activate_dev	vmlinux	EXPORT_SYMBOL
+0xc2b1bebe	pci_find_next_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x5dfe8f1a	unlock_kernel	vmlinux	EXPORT_SYMBOL
+0x34f29b4a	rt_mutex_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x8c968ff1	queue_delayed_work_on	vmlinux	EXPORT_SYMBOL_GPL
+0x824f68b9	proc_irda	net/irda/irda	EXPORT_SYMBOL
+0x26e5dd55	bitmap_startwrite	drivers/md/md-mod	EXPORT_SYMBOL
+0xcf00b13c	ib_unregister_client	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xc1073a88	netlink_run_queue	vmlinux	EXPORT_SYMBOL
+0xea678136	devres_open_group	vmlinux	EXPORT_SYMBOL_GPL
+0x9ca58756	pci_enable_msix	vmlinux	EXPORT_SYMBOL
+0x2ff742b4	__set_page_dirty_nobuffers	vmlinux	EXPORT_SYMBOL
+0x18d6c9a9	usbnet_unlink_rx_urbs	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xdfc5169b	slhc_init	drivers/net/slhc	EXPORT_SYMBOL
+0x6278ccfd	saa7146_register_extension	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x98f5254e	qdisc_lock_tree	vmlinux	EXPORT_SYMBOL
+0x740c37b7	mempool_create_node	vmlinux	EXPORT_SYMBOL
+0xa945d988	find_get_pid	vmlinux	EXPORT_SYMBOL_GPL
+0x450f9aea	smw_free	sound/oss/sb_lib	EXPORT_SYMBOL
+0x57a58d35	scsi_bios_ptable	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x1edb98d7	iscsi_verify_itt	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x3074f033	drm_order	drivers/char/drm/drm	EXPORT_SYMBOL
+0xfaeb8962	dev_set_promiscuity	vmlinux	EXPORT_SYMBOL
+0x5f1bd579	mca_find_adapter	vmlinux	EXPORT_SYMBOL
+0xfe618b58	snd_mpu401_uart_interrupt	sound/drivers/mpu401/snd-mpu401-uart	EXPORT_SYMBOL
+0xf0caf44b	zlib_deflate_workspacesize	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0x3c2f0568	phy_read	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x9421a6a6	tosh_smm	drivers/char/toshiba	EXPORT_SYMBOL
+0xd4d484ca	neigh_connected_output	vmlinux	EXPORT_SYMBOL
+0xc4c5509d	param_set_ushort	vmlinux	EXPORT_SYMBOL
+0x2e7198da	snd_timer_notify	sound/core/snd-timer	EXPORT_SYMBOL
+0x01e61721	tipc_continue	net/tipc/tipc	EXPORT_SYMBOL
+0x039dfade	svc_recv	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc890f85c	bt_sock_recvmsg	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xc8743fbc	l64781_attach	drivers/media/dvb/frontends/l64781	EXPORT_SYMBOL
+0x587fe20d	bitmap_unplug	drivers/md/md-mod	EXPORT_SYMBOL
+0x9dd54d7b	netlink_kernel_create	vmlinux	EXPORT_SYMBOL
+0x2d28a667	pci_find_slot	vmlinux	EXPORT_SYMBOL
+0x86fb9b05	bitmap_parse_user	vmlinux	EXPORT_SYMBOL
+0x4292364c	schedule	vmlinux	EXPORT_SYMBOL
+0x1d40ed44	apm_info	vmlinux	EXPORT_SYMBOL
+0xe95a133d	snd_emux_free	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0xd592369c	sppp_open	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x147adf79	dvb_usb_nec_rc_key_to_event	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xdaa041ad	ir_codes_cinergy_1400	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6d6511e7	ir_dump_samples	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x11d42382	ib_ud_header_unpack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf2d0fd19	nlmsg_notify	vmlinux	EXPORT_SYMBOL
+0x1f8bea3d	mmput	vmlinux	EXPORT_SYMBOL_GPL
+0x8d823e07	init_task	vmlinux	EXPORT_SYMBOL
+0x690380e2	synth_write_string	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x805efe68	snd_emu10k1_memblk_map	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x04c87ec8	compute_finetune	sound/oss/sound	EXPORT_SYMBOL
+0x75def162	snd_gf1_mem_lock	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x973e6200	snd_rawmidi_transmit_peek	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xffef0233	rpc_execute	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x1563a417	video_devdata	drivers/media/video/videodev	EXPORT_SYMBOL
+0xedae31b9	hpsb_make_isopacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc122d4b2	udp_get_port	vmlinux	EXPORT_SYMBOL
+0x00bc1597	sysdev_class_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xa2ff7fbd	usbatm_usb_disconnect	drivers/usb/atm/usbatm	EXPORT_SYMBOL_GPL
+0x083661f9	ir_codes_avertv_303	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x586c94b6	__inet_twsk_hashdance	vmlinux	EXPORT_SYMBOL_GPL
+0xaa76697c	neigh_table_init_no_netlink	vmlinux	EXPORT_SYMBOL
+0xb8f68a20	gnet_stats_copy_app	vmlinux	EXPORT_SYMBOL
+0xbbbe4a89	input_allocate_device	vmlinux	EXPORT_SYMBOL
+0x3d77aee6	fb_append_extra_logo	vmlinux	EXPORT_SYMBOL
+0x1b015d25	bitmap_parselist	vmlinux	EXPORT_SYMBOL
+0xdb0b4fc3	__insert_inode_hash	vmlinux	EXPORT_SYMBOL
+0xdf929370	fs_overflowgid	vmlinux	EXPORT_SYMBOL
+0xa215263f	snd_midi_event_reset_decode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x5637ed44	tipc_get_mode	net/tipc/tipc	EXPORT_SYMBOL
+0xf2cc1ca4	fb_ddc_read	drivers/video/fb_ddc	EXPORT_SYMBOL_GPL
+0xc4e69b8d	i2o_driver_notify_device_remove_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x11df35d8	md_do_sync	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0x03fa0225	edac_mc_del_mc	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xe5964757	agp_generic_type_to_mask_type	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x246fbd69	blk_rq_bio_prep	vmlinux	EXPORT_SYMBOL
+0xc3045ce3	bio_clone	vmlinux	EXPORT_SYMBOL
+0x3da171f9	pci_mem_start	vmlinux	EXPORT_SYMBOL
+0x9073fd2f	snd_card_proc_new	sound/core/snd	EXPORT_SYMBOL
+0x4ba3cfc8	tipc_send2name	net/tipc/tipc	EXPORT_SYMBOL
+0x2f09c818	spi_bitbang_setup_transfer	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0x51cfd132	hdlc_close	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x3c494891	xfrm_policy_walk	vmlinux	EXPORT_SYMBOL
+0xb6070cbe	proc_clear_tty	vmlinux	EXPORT_SYMBOL
+0xba32cdfc	end_request	vmlinux	EXPORT_SYMBOL
+0x33f99d1b	blocking_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x594bf15b	ioport_map	vmlinux	EXPORT_SYMBOL
+0x06686a76	free_ieee80211	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xbaa7212d	ppp_unregister_channel	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x7f381b17	mptscsih_shutdown	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xbe99d888	saa7134_ts_register	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x7949d79f	sp887x_attach	drivers/media/dvb/frontends/sp887x	EXPORT_SYMBOL
+0xc5ed4b1a	dvb_ringbuffer_flush_spinlock_wakeup	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x9af37393	ata_pci_device_do_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x35a3c008	scx200_gpio_configure	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0xa743af08	__skb_checksum_complete	vmlinux	EXPORT_SYMBOL
+0xeac1c4af	unregister_blkdev	vmlinux	EXPORT_SYMBOL
+0x0b13950a	key_alloc	vmlinux	EXPORT_SYMBOL
+0x07939f83	write_inode_now	vmlinux	EXPORT_SYMBOL
+0xaa40442b	per_cpu__nf_conntrack_ecache	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x68a9ac94	fat_search_long	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x500708b2	destroy_cis_cache	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x2e1e2c4e	reset_airo_card	drivers/net/wireless/airo	EXPORT_SYMBOL
+0x175c557f	ata_busy_sleep	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x86f221b4	seq_path	vmlinux	EXPORT_SYMBOL
+0xcc5005fe	msleep_interruptible	vmlinux	EXPORT_SYMBOL
+0xd1f6c5f3	smp_num_siblings	vmlinux	EXPORT_SYMBOL
+0x8d7ea893	snd_gf1_rawmidi_new	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xf8b2ff6e	g_verify_token_header	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x3be89d3c	usb_register_notify	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x0e45284e	iscsi_session_setup	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xa716d6e6	hpsb_update_config_rom	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xbf2bbfd3	agp_create_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x65414e67	dev_valid_name	vmlinux	EXPORT_SYMBOL
+0xa68124fa	hweight8	vmlinux	EXPORT_SYMBOL
+0xf7623914	radix_tree_tag_clear	vmlinux	EXPORT_SYMBOL
+0x7ec55cb0	generic_file_open	vmlinux	EXPORT_SYMBOL
+0x03ac2688	default_unplug_io_fn	vmlinux	EXPORT_SYMBOL
+0x204a7880	cxiGetUserEnvironmentSize	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x446e7039	cxiUnmount	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xcc2a6b90	genphy_update_link	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x52fbbc14	dvb_usb_tuner_calc_regs	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x074f82f4	subsys_create_file	vmlinux	EXPORT_SYMBOL
+0xd68d37f8	generic_cont_expand_simple	vmlinux	EXPORT_SYMBOL
+0x167ee050	d_instantiate	vmlinux	EXPORT_SYMBOL
+0x79a13e23	register_sound_special_device	sound/soundcore	EXPORT_SYMBOL
+0x6c589cd4	z8530_dma_sync	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x33ff7d05	agp_generic_create_gatt_table	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x283224e2	cxiIsNFSThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3b46a5c3	xt_alloc_table_info	net/netfilter/x_tables	EXPORT_SYMBOL
+0x13531a3f	s5h1420_attach	drivers/media/dvb/frontends/s5h1420	EXPORT_SYMBOL
+0x93b695ce	flexcop_reset_block_300	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xb2ae0e8d	sysdev_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xb7b61546	crc32_be	vmlinux	EXPORT_SYMBOL
+0x5fbc3b9d	open_bdev_excl	vmlinux	EXPORT_SYMBOL
+0x636a5691	acpi_register_ioapic	vmlinux	EXPORT_SYMBOL
+0x38e1d89f	ieee80211_register_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xfccffae6	rpc_restart_call	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa27656aa	skb_find_text	vmlinux	EXPORT_SYMBOL
+0x5bdd6edb	_spin_trylock	vmlinux	EXPORT_SYMBOL
+0xa8e2db45	current_fs_time	vmlinux	EXPORT_SYMBOL
+0xcc4b8797	sound_open_dma	sound/oss/sound	EXPORT_SYMBOL
+0x15b5ecde	tipc_set_portunreliable	net/tipc/tipc	EXPORT_SYMBOL
+0xd93a857d	nf_conntrack_tcp_update	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6228724d	ebt_unregister_watcher	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xcf502e7c	acpi_get_hp_params_from_firmware	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x9497e7cc	dvb_ca_en50221_frda_irq	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x43353382	skb_queue_tail	vmlinux	EXPORT_SYMBOL
+0xe2f603db	crypto_lookup_template	vmlinux	EXPORT_SYMBOL_GPL
+0x7ea7d551	do_exit	vmlinux	EXPORT_SYMBOL_GPL
+0x7db9be3c	ov511_deregister_decomp_module	ubuntu/media/ov511/ov511	EXPORT_SYMBOL
+0x813a35f5	probe_mpu401	sound/oss/mpu401	EXPORT_SYMBOL
+0xe81fe794	v4l_printk_ioctl_arg	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x07f4f2ce	hisax_unregister	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x1264d24e	mark_buffer_dirty_inode	vmlinux	EXPORT_SYMBOL
+0x8bead2ec	snd_cs8427_iec958_active	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x4acf0f9f	backlight_device_register	drivers/video/backlight/backlight	EXPORT_SYMBOL
+0x73e25637	scsi_execute_req	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xc9cc6c6c	scsi_req_abort_cmd	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe783213c	tda10086_attach	drivers/media/dvb/frontends/tda10086	EXPORT_SYMBOL
+0x4d4cbcf9	dvb_usb_generic_write	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xd544f721	queue_work	vmlinux	EXPORT_SYMBOL_GPL
+0xb1c3a01a	oops_in_progress	vmlinux	EXPORT_SYMBOL
+0x434fa55c	release_console_sem	vmlinux	EXPORT_SYMBOL
+0x9adc06c5	snd_emux_unlock_voice	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x6fe2ef7d	gss_encrypt_xdr_buf	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xe7e2a9a4	tty_register_ldisc	vmlinux	EXPORT_SYMBOL
+0x437c6f6a	tty_check_change	vmlinux	EXPORT_SYMBOL
+0xe3da236f	blk_get_backing_dev_info	vmlinux	EXPORT_SYMBOL
+0xada78e56	elevator_init	vmlinux	EXPORT_SYMBOL
+0xef238427	kill_fasync	vmlinux	EXPORT_SYMBOL
+0xf465b72a	param_get_byte	vmlinux	EXPORT_SYMBOL
+0x14dfb94e	decode_rs16	lib/reed_solomon/reed_solomon	EXPORT_SYMBOL_GPL
+0xcdf34117	pcmcia_validate_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x06277061	get_key_pinnacle_color	drivers/media/video/ir-kbd-i2c	EXPORT_SYMBOL_GPL
+0x51bc8fc9	b1_send_message	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x77d122e1	gigaset_dbg_buffer	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xfde2f9d4	dma_async_memcpy_issue_pending	vmlinux	EXPORT_SYMBOL
+0x79adb0d6	mca_bus_type	vmlinux	EXPORT_SYMBOL
+0x5ea3210b	attribute_container_classdev_to_container	vmlinux	EXPORT_SYMBOL_GPL
+0xc37db1ee	debugfs_create_u8	vmlinux	EXPORT_SYMBOL_GPL
+0xd3bb9aa4	special_handler	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x926a7679	arcnet_unregister_proto	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xb0087aa8	ib_unregister_mad_agent	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x4287839e	hpsb_iso_n_ready	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x3fb568cf	drm_core_ioremap	drivers/char/drm/drm	EXPORT_SYMBOL
+0xc3bf664a	scsi_is_fc_rport	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x1bbb64f0	ttpci_budget_debiread	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x17d59d01	schedule_timeout	vmlinux	EXPORT_SYMBOL
+0x3da1b07a	machine_real_restart	vmlinux	EXPORT_SYMBOL
+0xb35b672c	tipc_publish	net/tipc/tipc	EXPORT_SYMBOL
+0x8f8fecc4	ieee80211_freq_to_channel	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xaae6f09a	scsi_add_host	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf05f2ab8	mmc_start_request	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x91b8d2df	tifm_eject	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xa586de8c	netlink_dump_start	vmlinux	EXPORT_SYMBOL
+0x65ccb6f0	call_netevent_notifiers	vmlinux	EXPORT_SYMBOL_GPL
+0xb2be638a	dma_chan_cleanup	vmlinux	EXPORT_SYMBOL
+0x109b85a8	crypto_alloc_base	vmlinux	EXPORT_SYMBOL_GPL
+0xa9ec809e	aio_put_req	vmlinux	EXPORT_SYMBOL
+0x0b6d6666	cxiPanic	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb8bddf33	ip6t_ext_hdr	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0x81938a64	mmc_wait_for_app_cmd	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x76101064	dvb_ringbuffer_pkt_dispose	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x1623ffb2	rdma_notify	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x5f483195	i2c_adapter_driver	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0xcca787d6	ata_pci_device_do_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x8e0b7743	ipv6_ext_hdr	vmlinux	EXPORT_SYMBOL
+0x0bf16b92	neigh_destroy	vmlinux	EXPORT_SYMBOL
+0xcefcd99a	serial8250_unregister_port	vmlinux	EXPORT_SYMBOL
+0x0ba4ef1d	snd_sb16dsp_interrupt	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0x84561b99	snd_ctl_rename_id	sound/core/snd	EXPORT_SYMBOL
+0x76ffc497	ax25_rebuild_header	net/ax25/ax25	EXPORT_SYMBOL
+0x9a66e97f	usbnet_get_link	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xaf4c227e	__xfrm_policy_check	vmlinux	EXPORT_SYMBOL
+0x30fe9fc7	vc_lock_resize	vmlinux	EXPORT_SYMBOL
+0x3342f2ec	blk_sync_queue	vmlinux	EXPORT_SYMBOL
+0xc2bc8c6c	fat_alloc_new_dir	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x063b8e0b	scsi_schedule_eh	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xa27f7ddd	b1ctl_read_proc	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x597e787d	pskb_copy	vmlinux	EXPORT_SYMBOL
+0xc915f64f	class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x4248034e	snd_sbmixer_new	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x0014bfd1	smp_call_function	vmlinux	EXPORT_SYMBOL
+0xca5dbc50	scsi_print_sense_hdr	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd51988fb	scsi_host_lookup	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x83479098	cx2341x_ctrl_query	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xc12bd133	dibusb_dib3000mc_tuner_attach	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xe94b8c9c	dst_check_sum	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x33f86055	i2c_smbus_read_byte_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x100c48a2	unregister_dock_notifier	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0x603193a6	ps2_command	vmlinux	EXPORT_SYMBOL
+0x2fe64b34	ps2_handle_response	vmlinux	EXPORT_SYMBOL
+0xedb3e615	pci_find_capability	vmlinux	EXPORT_SYMBOL
+0xb678366f	int_sqrt	vmlinux	EXPORT_SYMBOL
+0xcae17bbe	dec_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x0799aca4	local_bh_enable	vmlinux	EXPORT_SYMBOL
+0x607fb03f	snd_pcm_suspend	sound/core/snd-pcm	EXPORT_SYMBOL
+0xf9ae81a1	nf_conntrack_max	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xa88fdd57	journal_dirty_metadata	fs/jbd/jbd	EXPORT_SYMBOL
+0xadb7d49d	config_item_get	fs/configfs/configfs	EXPORT_SYMBOL
+0x7e790fdd	config_item_put	fs/configfs/configfs	EXPORT_SYMBOL
+0x9adad583	DAC1064_global_restore	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0xb47f3801	llc_mac_hdr_init	vmlinux	EXPORT_SYMBOL
+0x1eb9516e	round_jiffies_relative	vmlinux	EXPORT_SYMBOL_GPL
+0xf9782473	cap_netlink_send	security/commoncap	EXPORT_SYMBOL
+0xb34bfff4	video_unregister_device	drivers/media/video/videodev	EXPORT_SYMBOL
+0xcd1ce001	v4l2_ctrl_check	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xc9955e05	dib7000p_get_i2c_master	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0xd591d409	dib7000m_get_i2c_master	drivers/media/dvb/frontends/dib7000m	EXPORT_SYMBOL
+0x6fb13385	rdc_reset_state	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x479397e4	klist_iter_init_node	vmlinux	EXPORT_SYMBOL_GPL
+0xa7e34c99	hrtimer_try_to_cancel	vmlinux	EXPORT_SYMBOL_GPL
+0xc98b1af9	saa7134_pgtable_alloc	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x05a46d3e	nf_register_hook	vmlinux	EXPORT_SYMBOL
+0xa4d9de12	__dev_get_by_name	vmlinux	EXPORT_SYMBOL
+0xb2e12a31	skb_copy_and_csum_dev	vmlinux	EXPORT_SYMBOL
+0x141f4802	idr_replace	vmlinux	EXPORT_SYMBOL
+0x530b1e98	pm_suspend	vmlinux	EXPORT_SYMBOL
+0xb3b46296	rt2x00lib_add_interface	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xd9d2bb03	snd_usbmidi_disconnect	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0x57f222fb	snd_timer_continue	sound/core/snd-timer	EXPORT_SYMBOL
+0xb3cb5da5	ieee80211_tx_frame	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x7cc89cad	ebt_register_watcher	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x36f3004a	ib_resize_cq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xc3a79af0	register_netdev	vmlinux	EXPORT_SYMBOL
+0xfcd59df1	snd_sb16dsp_configure	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0x79aa7585	dccp_rx_hist_purge	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x98f3b8d7	dvb_dmx_swfilter_204	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xbf2bc863	b1dma_send_message	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xd02cc869	__bitmap_andnot	vmlinux	EXPORT_SYMBOL
+0x7b69467e	posix_acl_from_xattr	vmlinux	EXPORT_SYMBOL
+0x3f571edc	snd_cs4236_mixer	sound/isa/cs423x/snd-cs4236-lib	EXPORT_SYMBOL
+0x22b927b4	snd_cs4231_mixer	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xefe4f32f	config_item_init	fs/configfs/configfs	EXPORT_SYMBOL
+0xc1cbd107	scsi_device_lookup	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x781a2c74	i2o_parm_field_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xcc73b207	i2c_transfer	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xd3ba7a14	skb_seq_read	vmlinux	EXPORT_SYMBOL
+0x667cecc9	acpi_os_printf	vmlinux	EXPORT_SYMBOL
+0x98bd6f46	param_set_int	vmlinux	EXPORT_SYMBOL
+0x3048c09a	snd_card_file_add	sound/core/snd	EXPORT_SYMBOL
+0x6e58008f	xdr_inline_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xaeab9aa1	cx2341x_ctrl_get_menu	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0x1d02c21e	ttpci_eeprom_parse_mac	drivers/media/dvb/ttpci/ttpci-eeprom	EXPORT_SYMBOL
+0x9ce3f83f	nvram_write_byte	drivers/char/nvram	EXPORT_SYMBOL
+0xee08006f	sysctl_local_port_range	vmlinux	EXPORT_SYMBOL
+0x00ed4422	crypto_drop_spawn	vmlinux	EXPORT_SYMBOL_GPL
+0x7912ae5d	cxiIsLockdThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x29833ad7	snd_pcm_lib_mmap_iomem	sound/core/snd-pcm	EXPORT_SYMBOL
+0x8810440b	snd_midi_event_new	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x46c1c4a2	irlmp_unregister_service	net/irda/irda	EXPORT_SYMBOL
+0xa1c32c4f	pccard_reset_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x92c1fdf3	mptbase_sas_persist_operation	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xf923cf04	ata_cable_80wire	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x40046949	param_set_short	vmlinux	EXPORT_SYMBOL
+0x1682b157	rtl_ieee80211_txb_free	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xed5ddba2	nf_nat_tftp_hook	net/netfilter/nf_conntrack_tftp	EXPORT_SYMBOL_GPL
+0x2bc71478	get_h225_addr	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x7118ebfb	hpsb_send_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x45dc1ac7	drm_sman_owner_clean	drivers/char/drm/drm	EXPORT_SYMBOL
+0x63aabb6e	skb_pad	vmlinux	EXPORT_SYMBOL
+0x4c5cc2fa	generic_file_llseek	vmlinux	EXPORT_SYMBOL
+0x2398605d	snd_trident_synth_free	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x78e56cec	snd_info_create_module_entry	sound/core/snd	EXPORT_SYMBOL
+0xac8e7c5f	pcmcia_adjust_resource_info	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x03b8286f	pcmcia_disable_device	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x7d7e0dbc	ei_interrupt	drivers/net/8390	EXPORT_SYMBOL
+0x7d08a9ec	mpt_config	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xe2daeb0a	ide_xfer_verbose	vmlinux	EXPORT_SYMBOL
+0x2fd1d81c	vfree	vmlinux	EXPORT_SYMBOL
+0x46726d5b	wait_on_page_bit	vmlinux	EXPORT_SYMBOL
+0x83cbc699	mutex_lock	vmlinux	EXPORT_SYMBOL
+0x28a592f6	cxiMountedOverVfsType	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x783e92d8	rtl_ieee80211_get_beacon	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xe68dbfb8	irttp_open_tsap	net/irda/irda	EXPORT_SYMBOL
+0x539a6274	irlmp_open_lsap	net/irda/irda	EXPORT_SYMBOL
+0x958b149c	scsi_get_host_dev	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xbbcb9267	ib_response_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xad4370a6	dma_async_memcpy_pg_to_pg	vmlinux	EXPORT_SYMBOL
+0x22de7ebf	dma_pool_alloc	vmlinux	EXPORT_SYMBOL
+0x39023031	elv_rq_merge_ok	vmlinux	EXPORT_SYMBOL
+0xce9f696a	generic_file_sendfile	vmlinux	EXPORT_SYMBOL
+0x1292dcb6	gs_setserial	drivers/char/generic_serial	EXPORT_SYMBOL
+0x3f44365d	gs_getserial	drivers/char/generic_serial	EXPORT_SYMBOL
+0x8707568c	tcp_v4_do_rcv	vmlinux	EXPORT_SYMBOL
+0x5ffcde40	get_device	vmlinux	EXPORT_SYMBOL_GPL
+0x06127753	ioread16be	vmlinux	EXPORT_SYMBOL
+0x6a32179a	blk_dump_rq_flags	vmlinux	EXPORT_SYMBOL
+0x9a6666c8	sysfs_create_group	vmlinux	EXPORT_SYMBOL_GPL
+0x552e1259	GPFS_CONFIG_SMP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x00c52ef5	g_make_token_header	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x93056133	scsi_add_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5dcc95e7	scsi_free_sgtable	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x7bfa464d	qlogicfas408_queuecommand	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x7e3b3ec7	sppp_do_ioctl	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0xd951c88c	xfrm_unregister_mode	vmlinux	EXPORT_SYMBOL
+0x2599a6b7	pci_match_id	vmlinux	EXPORT_SYMBOL
+0xfebd84b4	snd_opl3_hwdep_new	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x15239b2d	rpc_alloc_iostats	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe0ddb8e2	matrox_cfbX_init	drivers/video/matrox/matroxfb_accel	EXPORT_SYMBOL
+0xc71da96d	ethtool_op_get_tso	vmlinux	EXPORT_SYMBOL
+0xf5696a7b	kobject_register	vmlinux	EXPORT_SYMBOL
+0x61b0321e	cxiHoldsBKL	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x36c8ea1f	dvb_frontend_sleep_until	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xb1a312e1	ib_unpack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xab652655	csr1212_attach_keyval_to_directory	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x4af8d8cc	tcp_prot	vmlinux	EXPORT_SYMBOL
+0x4186676c	ide_pio_timings	vmlinux	EXPORT_SYMBOL_GPL
+0x85aba801	textsearch_prepare	vmlinux	EXPORT_SYMBOL
+0xf92b225a	proc_dointvec_ms_jiffies	vmlinux	EXPORT_SYMBOL
+0xd8c152cd	raise_softirq_irqoff	vmlinux	EXPORT_SYMBOL
+0xba9bd9dc	sas_port_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x07e8e6e2	or51211_attach	drivers/media/dvb/frontends/or51211	EXPORT_SYMBOL
+0x1069a1ac	pci_iounmap	vmlinux	EXPORT_SYMBOL
+0x2a605425	blk_queue_max_phys_segments	vmlinux	EXPORT_SYMBOL
+0x8a9faee3	simple_getattr	vmlinux	EXPORT_SYMBOL
+0x06f2d5c7	mempool_free	vmlinux	EXPORT_SYMBOL
+0x689ffec8	snd_tea6330t_update_mixer	sound/i2c/snd-tea6330t	EXPORT_SYMBOL
+0x6bdcea7e	journal_init_inode	fs/jbd/jbd	EXPORT_SYMBOL
+0x0896b227	configfs_register_subsystem	fs/configfs/configfs	EXPORT_SYMBOL
+0xf8cbefd0	cx88_sram_channel_setup	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x7f88edce	tcf_em_tree_validate	vmlinux	EXPORT_SYMBOL
+0xff67dd1d	llc_sap_open	vmlinux	EXPORT_SYMBOL
+0xfaf3c6ff	attribute_container_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x247f6f3a	driver_for_each_device	vmlinux	EXPORT_SYMBOL_GPL
+0x8bf78796	agp_alloc_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xb0ca1d75	skb_to_sgvec	vmlinux	EXPORT_SYMBOL_GPL
+0x4c6ca53c	tcp_rcv_state_process	vmlinux	EXPORT_SYMBOL
+0x317b0be4	ethtool_op_get_tx_csum	vmlinux	EXPORT_SYMBOL
+0x859204af	sscanf	vmlinux	EXPORT_SYMBOL
+0xb82116d9	__breadahead	vmlinux	EXPORT_SYMBOL
+0x16e59a25	snd_cs4236_ext_in	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xe69e0b06	snd_pcm_hw_constraint_integer	sound/core/snd-pcm	EXPORT_SYMBOL
+0xe8526444	rpc_bind_new_program	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x30123eb5	icmpv6_statistics	net/ipv6/ipv6	EXPORT_SYMBOL
+0x4e965a5c	journal_stop	fs/jbd/jbd	EXPORT_SYMBOL
+0x5cd179e6	qlogicfas408_ihandl	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x5d34474e	sirdev_raw_read	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x732eda4a	led_classdev_suspend	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0x40ad42dc	hpsb_set_packet_complete_task	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xa8047957	inotify_add_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x7e03907a	wait_for_completion	vmlinux	EXPORT_SYMBOL
+0x5532cfb1	usb_unlink_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xa960d62f	dvb_pll_unknown_1	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xe17bf852	i2c_smbus_write_byte_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xbba7a737	agp_add_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0xa746bc92	tcp_v4_md5_do_del	vmlinux	EXPORT_SYMBOL
+0xd783dfb1	mca_device_transform_ioport	vmlinux	EXPORT_SYMBOL
+0xfd66c60e	mca_device_transform_memory	vmlinux	EXPORT_SYMBOL
+0xcb6beb40	hweight32	vmlinux	EXPORT_SYMBOL
+0xe8cd902e	hweight16	vmlinux	EXPORT_SYMBOL
+0x35ad67ec	hweight64	vmlinux	EXPORT_SYMBOL
+0xf2859169	snd_dma_alloc_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xa771b38f	scsi_kmap_atomic_sg	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa37a3533	hostap_remove_proc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x0cb31ad3	platform_device_add_data	vmlinux	EXPORT_SYMBOL_GPL
+0xca6fe072	snd_sb_csp_new	sound/isa/sb/snd-sb16-csp	EXPORT_SYMBOL
+0xd129afc2	put_rpccred	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbc36ae49	lapb_getparms	net/lapb/lapb	EXPORT_SYMBOL
+0x54452ed4	ieee80211softmac_wx_get_essid	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xfd0f0de8	edac_mc_handle_ce_no_info	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x1fcece42	inet_twdr_twcal_tick	vmlinux	EXPORT_SYMBOL_GPL
+0x9a425ecb	sock_create_lite	vmlinux	EXPORT_SYMBOL
+0x7e479918	snd_seq_event_port_attach	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x56d708ec	tifm_free_device	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x18a9f02d	cdrom_release	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xcc732b68	cpufreq_unregister_governor	vmlinux	EXPORT_SYMBOL_GPL
+0x172e72d4	vdso_enabled	vmlinux	EXPORT_SYMBOL_GPL
+0x46db8d67	snd_gf1_lvol_to_gvol_raw	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xae7fa1ff	hpsb_get_hostinfo_bykey	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x211fc3cd	ip4_datagram_connect	vmlinux	EXPORT_SYMBOL
+0x6629fef5	tcp_timewait_state_process	vmlinux	EXPORT_SYMBOL
+0xc2b6e161	pnp_start_dev	vmlinux	EXPORT_SYMBOL
+0x39e3dd23	mod_firmware_load	sound/sound_firmware	EXPORT_SYMBOL
+0x6169915e	irttp_dup	net/irda/irda	EXPORT_SYMBOL
+0x6a77d250	starget_for_each_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe32559ba	parport_wait_event	drivers/parport/parport	EXPORT_SYMBOL
+0x7399f45f	drm_get_resource_len	drivers/char/drm/drm	EXPORT_SYMBOL
+0x028ac8de	nobh_writepage	vmlinux	EXPORT_SYMBOL
+0x7717cded	clear_page_dirty_for_io	vmlinux	EXPORT_SYMBOL
+0xc6144286	srcu_init_notifier_head	vmlinux	EXPORT_SYMBOL_GPL
+0x517675eb	arch_acpi_processor_init_pdc	vmlinux	EXPORT_SYMBOL
+0xd18b6eb2	acpi_unmap_lsapic	vmlinux	EXPORT_SYMBOL
+0x0f25f2e7	snd_rawmidi_kernel_write	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xef50a1ef	tipc_disable_bearer	net/tipc/tipc	EXPORT_SYMBOL
+0x87cba20a	DAC1064_global_init	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0xfc3197d9	ftdi_elan_gone_away	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x968bc464	spi_bitbang_stop	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0x7963df57	tcp_reno_min_cwnd	vmlinux	EXPORT_SYMBOL_GPL
+0xbec9295d	tty_get_baud_rate	vmlinux	EXPORT_SYMBOL
+0xf19a666a	tty_schedule_flip	vmlinux	EXPORT_SYMBOL
+0xdada6638	vfs_follow_link	vmlinux	EXPORT_SYMBOL
+0x41854f2a	snd_ac97_pcm_double_rate_rules	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x212db8d2	pcmcia_socket_list	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x314e903b	sysdev_class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xbb7b4141	tty_devnum	vmlinux	EXPORT_SYMBOL
+0xec6585f3	inotify_rm_wd	vmlinux	EXPORT_SYMBOL_GPL
+0xc07e9e17	cxiUiomove	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x83e1f005	ccid_new	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xedfd98d1	pcmcia_read_cis_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xb60afded	ib_post_send_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xae227bb0	tpm_release	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x8aaf142b	nla_parse	vmlinux	EXPORT_SYMBOL
+0x41fbcae0	hpsb_reset_bus	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7e95113b	ata_host_init	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xae4dcd4c	llc_sap_find	vmlinux	EXPORT_SYMBOL
+0x74f2ed6f	input_free_device	vmlinux	EXPORT_SYMBOL
+0x98adfde2	request_module	vmlinux	EXPORT_SYMBOL
+0x65b761b1	hci_conn_auth	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x803b96e6	alloc_ltalkdev	net/appletalk/appletalk	EXPORT_SYMBOL
+0x0bb692c6	pppox_unbind_sock	drivers/net/pppox	EXPORT_SYMBOL
+0x3434134e	tifm_unmap_sg	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x7d11c268	jiffies	vmlinux	EXPORT_SYMBOL
+0x2a67b605	cxiMallocPinned	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa96b8593	do_map_probe	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0xb75edc11	avmcard_dma_alloc	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x3fbab67f	dev_queue_xmit	vmlinux	EXPORT_SYMBOL
+0x404e9003	proc_mkdir	vmlinux	EXPORT_SYMBOL
+0x847b9211	__kfifo_put	vmlinux	EXPORT_SYMBOL
+0x53c4b881	__kfifo_get	vmlinux	EXPORT_SYMBOL
+0x764bf427	cxiInvalidateDCacheEntry	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xbd8c8e1d	ivtv_api	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xa341c70d	sis_malloc_new	drivers/video/sis/sisfb	EXPORT_SYMBOL_GPL
+0x1876d25a	phone_unregister_device	drivers/telephony/phonedev	EXPORT_SYMBOL
+0x99096245	parport_find_base	drivers/parport/parport	EXPORT_SYMBOL
+0xc6eba5eb	gigaset_if_receive	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x8f2ffa0e	dmam_free_noncoherent	vmlinux	EXPORT_SYMBOL
+0x50afba27	blk_rq_map_sg	vmlinux	EXPORT_SYMBOL
+0xb56717cf	xtime	vmlinux	EXPORT_SYMBOL
+0x04489f24	proc_dointvec_jiffies	vmlinux	EXPORT_SYMBOL
+0x1159d397	cxiBlockingMutexRelease	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb3887d7a	dccp_feat_confirm_recv	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xb019a453	usb_set_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xa9e305b2	sk_stream_wait_memory	vmlinux	EXPORT_SYMBOL
+0x63c464e0	ide_setup_pci_devices	vmlinux	EXPORT_SYMBOL_GPL
+0x9f2bdaac	__bitmap_or	vmlinux	EXPORT_SYMBOL
+0x73ff53e3	get_dcookie	vmlinux	EXPORT_SYMBOL_GPL
+0x32550019	snd_ak4117_reg_write	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0xf637570b	snd_ak4114_reg_write	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0x5839d60f	z8530_sync_dma_open	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x5dd67618	register_netevent_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x375bf494	iowrite8	vmlinux	EXPORT_SYMBOL
+0xc7ec6c27	strspn	vmlinux	EXPORT_SYMBOL
+0x7627c335	_spin_trylock_bh	vmlinux	EXPORT_SYMBOL
+0x27c92f34	cxiAlarmWrite	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xedbaee5e	nla_strcmp	vmlinux	EXPORT_SYMBOL
+0x625cc539	snd_ac97_mixer	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x7bdf0907	conf_printf2	sound/oss/sound	EXPORT_SYMBOL
+0x6b095b68	dccp_hashinfo	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x2edb1824	parport_announce_port	drivers/parport/parport	EXPORT_SYMBOL
+0x9a482465	dibusb_streaming_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x42bfe6f4	boot_cpu_data	vmlinux	EXPORT_SYMBOL
+0x319dbc24	snd_emu8000_poke_dw	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x6bb71038	snd_seq_delete_kernel_client	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x8d6eca55	svc_proc_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf1cb67db	rtc_irq_register	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x90f07294	cx88_ioctl_hook	drivers/media/video/cx88/cx88-blackbird	EXPORT_SYMBOL
+0xa2e8f8fa	xfrm_policy_delete	vmlinux	EXPORT_SYMBOL
+0x4e3567f7	match_int	vmlinux	EXPORT_SYMBOL
+0xdd6bfccd	radix_tree_tag_set	vmlinux	EXPORT_SYMBOL
+0xdf7f9829	sysctl_string	vmlinux	EXPORT_SYMBOL
+0x6faa475a	cond_resched_lock	vmlinux	EXPORT_SYMBOL
+0x238653d2	snd_pcm_kernel_ioctl	sound/core/snd-pcm	EXPORT_SYMBOL
+0xc679b61b	i2o_exec_lct_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x8f1e50dd	skb_cow_data	vmlinux	EXPORT_SYMBOL_GPL
+0xdbb6cbd9	unlock_cpu_hotplug	vmlinux	EXPORT_SYMBOL_GPL
+0x04d8c750	release_perfctr_nmi	vmlinux	EXPORT_SYMBOL
+0xa63999df	snd_card_free_when_closed	sound/core/snd	EXPORT_SYMBOL
+0xac4cd0b0	ieee80211softmac_set_rates	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xaf9008b0	z8530_sync_dma_close	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x896cc60a	dm_unregister_dirty_log_type	drivers/md/dm-mirror	EXPORT_SYMBOL
+0x3456c2a1	rdma_connect	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x6249eead	i2c_get_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x868acba5	get_options	vmlinux	EXPORT_SYMBOL
+0x90090d7c	free_ieee80211softmac	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xccb519e1	hci_connect	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x3b51a92a	bttv_sub_bus_type	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x31e1f4ff	agp_generic_alloc_by_type	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa74114ad	rtnetlink_links	vmlinux	EXPORT_SYMBOL
+0xda0687c5	input_unregister_handler	vmlinux	EXPORT_SYMBOL
+0x1f395686	MIDIbuf_avail	sound/oss/sound	EXPORT_SYMBOL
+0xcb7b97e1	fat_fill_super	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x3ea0a891	usbnet_get_settings	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x4938ff9f	usbnet_set_settings	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x00f34788	rtc_read_alarm	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x9bdae4a7	v4l_compat_ioctl32	drivers/media/video/compat_ioctl32	EXPORT_SYMBOL_GPL
+0x1f997a8b	pci_remove_behind_bridge	vmlinux	EXPORT_SYMBOL
+0x96f65e12	dquot_initialize	vmlinux	EXPORT_SYMBOL
+0xed1f8ada	register_exec_domain	vmlinux	EXPORT_SYMBOL
+0xe98ae28c	fl6_sock_lookup	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xfdacb9a5	pci_bus_write_config_word	vmlinux	EXPORT_SYMBOL
+0x70c66486	ptrace_notify	vmlinux	EXPORT_SYMBOL
+0xc1b063c6	dump_thread	vmlinux	EXPORT_SYMBOL
+0xc662faa3	snd_ak4117_create	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0xf1c8b787	snd_ak4114_create	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xda70fff5	snd_info_free_entry	sound/core/snd	EXPORT_SYMBOL
+0xa59d5044	pcmcia_dev_present	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x8fd81f61	tifm_register_driver	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xc0f35713	hpsb_iso_xmit_sync	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x078b1fd2	nf_hooks	vmlinux	EXPORT_SYMBOL
+0x727a4e30	pci_release_region	vmlinux	EXPORT_SYMBOL
+0x8b18496f	__copy_to_user_ll	vmlinux	EXPORT_SYMBOL
+0x0835be64	proc_net	vmlinux	EXPORT_SYMBOL
+0xe4f4665b	ipmi_validate_addr	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x37539b75	drm_release	drivers/char/drm/drm	EXPORT_SYMBOL
+0xf38f849e	pci_find_device_reverse	vmlinux	EXPORT_SYMBOL
+0x7d278df7	_write_lock_bh	vmlinux	EXPORT_SYMBOL
+0xa7bf6e00	snd_pcm_set_ops	sound/core/snd-pcm	EXPORT_SYMBOL
+0xf268b45a	nf_ct_port_nfattr_to_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6dfe026f	register_ip_vs_scheduler	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x968458a6	cycx_peek	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x33f6928a	cx8802_get_driver	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x02783550	kvm_resched	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xaea2f5e3	hpsb_selfid_complete	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xfebc006d	km_state_notify	vmlinux	EXPORT_SYMBOL
+0xe2ebb109	__ide_dma_check	vmlinux	EXPORT_SYMBOL
+0x9a222270	IoDone	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6da24a0a	mptscsih_dev_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x4a21da28	mpt_detach	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xfa0756dd	load_msrs	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x6be9c6ca	sk_stream_mem_schedule	vmlinux	EXPORT_SYMBOL
+0x258355b4	fb_find_best_mode	vmlinux	EXPORT_SYMBOL
+0xca8d7fe0	inotify_init	vmlinux	EXPORT_SYMBOL_GPL
+0xda2bf29a	seq_printf	vmlinux	EXPORT_SYMBOL
+0x8bf3d033	ivtv_clear_irq_mask	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x89faeb85	ax25_linkfail_release	net/ax25/ax25	EXPORT_SYMBOL
+0x961de6a4	mmc_free_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xca16d907	mptscsih_raid_id_to_num	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xa672fcac	neigh_delete	vmlinux	EXPORT_SYMBOL
+0x90ecaba7	pci_dev_driver	vmlinux	EXPORT_SYMBOL
+0x0b742fd7	simple_strtol	vmlinux	EXPORT_SYMBOL
+0x7dacc271	rwsem_downgrade_wake	vmlinux	EXPORT_SYMBOL
+0xf1efad04	ilookup5_nowait	vmlinux	EXPORT_SYMBOL
+0xbb2abf46	fbcon_set_tileops	drivers/video/console/tileblit	EXPORT_SYMBOL
+0x9a4f2efd	unregister_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0xa8fc239b	isac_irq	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x6c9a7890	ib_send_cm_lap	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x715a5a77	drm_mm_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0xeb37482a	gen_kill_estimator	vmlinux	EXPORT_SYMBOL
+0x02aff2f4	acpi_install_gpe_handler	vmlinux	EXPORT_SYMBOL
+0x6b385179	pci_set_power_state	vmlinux	EXPORT_SYMBOL
+0x9dd09eb8	unlock_super	vmlinux	EXPORT_SYMBOL
+0xbd582e88	remote_llseek	vmlinux	EXPORT_SYMBOL
+0xd95de3b2	cxiReactivateOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xdd654df7	snd_i2c_sendbytes	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0xaef92c4d	snd_ctl_elem_read	sound/core/snd	EXPORT_SYMBOL
+0x796fc5ce	scsi_get_sense_info_fld	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb5de3b10	dibusb_pid_filter_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x9845e8a0	attach_capi_ctr	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x45bb0352	acpi_set_current_resources	vmlinux	EXPORT_SYMBOL
+0x42d04a96	pci_bus_size_bridges	vmlinux	EXPORT_SYMBOL
+0x1db349ea	__bio_clone	vmlinux	EXPORT_SYMBOL
+0xddeef053	vfs_stat	vmlinux	EXPORT_SYMBOL
+0xd7e7ca24	wake_up_bit	vmlinux	EXPORT_SYMBOL
+0x3da7dc15	snd_pcm_lib_malloc_pages	sound/core/snd-pcm	EXPORT_SYMBOL
+0x8775e9d0	cap_netlink_recv	security/commoncap	EXPORT_SYMBOL
+0x2b619e9d	zlib_deflateReset	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0xf7ece92f	sata_phy_reset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xda75ddf2	sysdev_driver_register	vmlinux	EXPORT_SYMBOL_GPL
+0xaf39a117	rt2x00lib_passive_scan	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x763e54a4	irlmp_unregister_client	net/irda/irda	EXPORT_SYMBOL
+0x56c8799d	scsi_kunmap_atomic_sg	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf5dc4421	scsi_block_when_processing_errors	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x2778b080	ib_cancel_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xa78bd894	iTCO_vendor_pre_set_heartbeat	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0xde9b17ed	agp3_generic_fetch_size	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xd3fe0733	f_setown	vmlinux	EXPORT_SYMBOL
+0xc5efb48f	snd_seq_instr_find	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x05e807a9	xdr_encode_string	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xb065a54a	usb_clear_halt	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x39bade97	dvb_generic_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xce4904a4	acpi_leave_sleep_state	vmlinux	EXPORT_SYMBOL
+0x6d27ef64	__bitmap_empty	vmlinux	EXPORT_SYMBOL
+0xa8b77dba	elv_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x62addca7	snd_emu8000_peek_dw	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x9b1e2fa8	submit_bh	vmlinux	EXPORT_SYMBOL
+0xb714a981	console_print	vmlinux	EXPORT_SYMBOL
+0x31028d76	ac97_probe_codec	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x3fa49f8f	hostap_set_word	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x5622338a	videobuf_dvb_register	drivers/media/video/video-buf-dvb	EXPORT_SYMBOL
+0xe9cf832e	pi_do_claimed	drivers/block/paride/paride	EXPORT_SYMBOL
+0xd670a3a5	unregister_8022_client	vmlinux	EXPORT_SYMBOL
+0xa6dcc773	rb_insert_color	vmlinux	EXPORT_SYMBOL
+0x83563145	__inode_dir_notify	vmlinux	EXPORT_SYMBOL
+0x28177a3f	ata_tf_to_fis	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x66d87d38	symbol_put_addr	vmlinux	EXPORT_SYMBOL_GPL
+0x206d8e39	cxiWaitEventSignal	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xbcb296f1	irttp_close_tsap	net/irda/irda	EXPORT_SYMBOL
+0x0af6596b	hashbin_remove_this	net/irda/irda	EXPORT_SYMBOL
+0xe0c43429	irlmp_close_lsap	net/irda/irda	EXPORT_SYMBOL
+0x1fcd6507	ib_create_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xcc3c1222	i2c_smbus_read_word_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x6a061a36	llc_set_station_handler	vmlinux	EXPORT_SYMBOL
+0x5a302432	ide_pci_create_host_proc	vmlinux	EXPORT_SYMBOL_GPL
+0x7bcad713	tty_buffer_request_room	vmlinux	EXPORT_SYMBOL_GPL
+0x31f08ece	d_alloc	vmlinux	EXPORT_SYMBOL
+0xf4b93bbc	journal_extend	fs/jbd/jbd	EXPORT_SYMBOL
+0x378bc737	fc_host_post_event	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x7c00fb8d	b1_load_t4file	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xa523a04a	wiphy_unregister	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0x9fc56bdd	snd_emu8000_dma_chan	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x733b49cb	matroxfb_register_driver	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0xddd7af63	dvb_ca_en50221_camchange_irq	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xfa06820f	isdn_register_divert	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0x31042533	blk_execute_rq_nowait	vmlinux	EXPORT_SYMBOL_GPL
+0xc7789e61	__percpu_depopulate_mask	vmlinux	EXPORT_SYMBOL_GPL
+0xb0baa1a5	dccp_feat_change	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x7d9445ab	ipmi_destroy_user	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xdf327cd1	ata_interrupt	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x851552da	udp_proc_register	vmlinux	EXPORT_SYMBOL
+0xeb2a3211	kernel_sendpage	vmlinux	EXPORT_SYMBOL
+0x9cb45341	__ide_dma_end	vmlinux	EXPORT_SYMBOL
+0xfcfe0e66	pci_choose_state	vmlinux	EXPORT_SYMBOL
+0xa51cdfe8	__FIXADDR_TOP	vmlinux	EXPORT_SYMBOL
+0xe7a2620e	save_vga	drivers/video/vgastate	EXPORT_SYMBOL
+0xcf8b77a4	cx2341x_mpeg_ctrls	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0x3d3b668b	ttpci_budget_init_hooks	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x902a3cd2	ir_codes_hauppauge_new	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x7aec9089	clear_user	vmlinux	EXPORT_SYMBOL
+0x0d0da68d	nr_free_pages	vmlinux	EXPORT_SYMBOL
+0x86197933	dm_device_name	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0x9f823278	register_capi_driver	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x75eb30e7	tpm_get_timeouts	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xa3cc2047	ata_eh_qc_retry	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd8df5060	clear_inode	vmlinux	EXPORT_SYMBOL
+0x3be5f7ac	usbvideo_TestPattern	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x86f9af36	ir_input_keydown	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x384fcfab	hpsb_register_highlevel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xec979878	neigh_parms_release	vmlinux	EXPORT_SYMBOL
+0x6922ec65	dmam_release_declared_memory	vmlinux	EXPORT_SYMBOL
+0x949229e4	device_release_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x9b718427	_write_unlock_irqrestore	vmlinux	EXPORT_SYMBOL
+0x9b24b44f	snd_trident_start_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0xea305932	snd_sbdsp_reset	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0xce3ca308	copy_from_user_toio	sound/core/snd	EXPORT_SYMBOL
+0x5333007b	scsi_register_interface	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x0e23b482	usb_put_intf	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x23ad070a	set_current_groups	vmlinux	EXPORT_SYMBOL
+0x5d4272c0	wait_for_completion_timeout	vmlinux	EXPORT_SYMBOL
+0xd4cc8967	kxGetThreadID	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x42424109	sb_be_quiet	sound/oss/sb_lib	EXPORT_SYMBOL
+0x2d56c6fd	snd_cs8427_iec958_build	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x3c43f268	__nf_conntrack_helper_find_byname	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0647d782	xfrm6_input_addr	net/ipv6/ipv6	EXPORT_SYMBOL
+0x06091f45	tda8083_attach	drivers/media/dvb/frontends/tda8083	EXPORT_SYMBOL
+0xb140057a	acpi_processor_unregister_performance	drivers/acpi/processor	EXPORT_SYMBOL
+0x8b2f65a8	update_region	vmlinux	EXPORT_SYMBOL
+0xe880d496	hci_get_route	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x31f66843	tifm_remove_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x84ade6a1	cx88_set_tvaudio	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x7ca5870f	capi20_release	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x1f103b71	tcf_em_unregister	vmlinux	EXPORT_SYMBOL
+0x766469dd	scm_fp_dup	vmlinux	EXPORT_SYMBOL
+0xf0999d8d	devres_remove	vmlinux	EXPORT_SYMBOL_GPL
+0x713e14d2	tty_vhangup	vmlinux	EXPORT_SYMBOL
+0x161845ca	shrink_dcache_parent	vmlinux	EXPORT_SYMBOL
+0x98fe07fc	ac97_bus_type	sound/ac97_bus	EXPORT_SYMBOL
+0x27d8bb58	tipc_send2port	net/tipc/tipc	EXPORT_SYMBOL
+0x3609de81	nf_conntrack_count	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe330bce9	v4l2_prio_init	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x80ed1580	suni_init	drivers/atm/suni	EXPORT_SYMBOL
+0x75c8a11c	inet_twdr_twkill_work	vmlinux	EXPORT_SYMBOL_GPL
+0x609f1c7e	synchronize_net	vmlinux	EXPORT_SYMBOL
+0x8cae38e4	bus_for_each_dev	vmlinux	EXPORT_SYMBOL_GPL
+0xddf5008b	bus_for_each_drv	vmlinux	EXPORT_SYMBOL_GPL
+0xe523ad75	synchronize_irq	vmlinux	EXPORT_SYMBOL
+0x6091797f	synchronize_rcu	vmlinux	EXPORT_SYMBOL_GPL
+0xdfb39699	cxiWaitEventHasWaiters	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3c3db6a6	tipc_recv_msg	net/tipc/tipc	EXPORT_SYMBOL
+0xbedbd5ce	nf_conntrack_expect_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x028e9a86	parport_negotiate	drivers/parport/parport	EXPORT_SYMBOL
+0x5f08fc2b	pneigh_lookup	vmlinux	EXPORT_SYMBOL
+0x9e7d6bd0	__udelay	vmlinux	EXPORT_SYMBOL
+0xdf8c695a	__ndelay	vmlinux	EXPORT_SYMBOL
+0xe062bfc9	selinux_relabel_packet_permission	vmlinux	EXPORT_SYMBOL_GPL
+0x84b783b3	snd_timer_close	sound/core/snd-timer	EXPORT_SYMBOL
+0x1211df5d	saa7134_devlist	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x81b2e430	fib_rules_dump	vmlinux	EXPORT_SYMBOL_GPL
+0xb8c1bc14	blk_queue_find_tag	vmlinux	EXPORT_SYMBOL
+0xd8a2ab95	in_egroup_p	vmlinux	EXPORT_SYMBOL
+0xcd849e76	edac_mc_handle_ue_no_info	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x409873e3	tty_termios_baud_rate	vmlinux	EXPORT_SYMBOL
+0x07a890c8	fb_alloc_cmap	vmlinux	EXPORT_SYMBOL
+0xeb390171	dccp_check_req	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xd4f163b3	skb_append_datato_frags	vmlinux	EXPORT_SYMBOL
+0x33934162	release_firmware	vmlinux	EXPORT_SYMBOL
+0x4775eacf	iowrite16	vmlinux	EXPORT_SYMBOL
+0x908aa9b2	iowrite32	vmlinux	EXPORT_SYMBOL
+0x706adf4a	rt2x00lib_remove_interface	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xb3815aa5	pcmcia_socket_class	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xa7bbd458	tcp_child_process	vmlinux	EXPORT_SYMBOL
+0xaa136450	param_get_charp	vmlinux	EXPORT_SYMBOL
+0x54aada4e	ide_wait_stat	vmlinux	EXPORT_SYMBOL
+0xe7e6cb09	prepare_binprm	vmlinux	EXPORT_SYMBOL
+0x31e5a331	find_pid	vmlinux	EXPORT_SYMBOL_GPL
+0xffcd9a5e	cxiGetThreadId	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf6c58c8d	hashbin_get_first	net/irda/irda	EXPORT_SYMBOL
+0x9ea70ffa	atm_dev_deregister	vmlinux	EXPORT_SYMBOL
+0xccf2f2fe	tcp_v4_destroy_sock	vmlinux	EXPORT_SYMBOL
+0xf8814f73	rb_last	vmlinux	EXPORT_SYMBOL
+0xa5c08f3e	inotify_rm_watch	vmlinux	EXPORT_SYMBOL_GPL
+0xdf60cc27	__print_symbol	vmlinux	EXPORT_SYMBOL
+0x60a13e90	rcu_barrier	vmlinux	EXPORT_SYMBOL_GPL
+0xc68cff10	ndisc_mc_map	net/ipv6/ipv6	EXPORT_SYMBOL
+0xd464e760	v4l2_ctrl_query_menu	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xc35a71b1	b1_load_firmware	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x2d485024	ide_dump_status	vmlinux	EXPORT_SYMBOL
+0x4890b2f2	sysdev_register	vmlinux	EXPORT_SYMBOL_GPL
+0x19d5d20a	acpi_walk_namespace	vmlinux	EXPORT_SYMBOL
+0x1d26aa98	sprintf	vmlinux	EXPORT_SYMBOL
+0x3b38bd36	simple_unlink	vmlinux	EXPORT_SYMBOL
+0x2ff8b207	simple_attr_write	vmlinux	EXPORT_SYMBOL_GPL
+0xa20070be	generic_listxattr	vmlinux	EXPORT_SYMBOL
+0xc5767ca0	kmem_cache_zalloc	vmlinux	EXPORT_SYMBOL
+0x1e85c55c	cxiCheckSiteMcrVersion	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4750e35d	ieee80211softmac_start	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x1b489baa	iscsi_prep_unsolicit_data_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xa0700bc6	mptscsih_io_done	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x9c447fba	rdma_addr_register_client	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0xf1490f9a	csr1212_release_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf6ebc03b	net_ratelimit	vmlinux	EXPORT_SYMBOL
+0x6451294b	posix_acl_valid	vmlinux	EXPORT_SYMBOL
+0xd220ec70	snd_seq_instr_list_free	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x893ec2f6	journal_dirty_data	fs/jbd/jbd	EXPORT_SYMBOL
+0x94c6eed4	matroxfb_enable_irq	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0xdf2e00e2	scsi_register	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb0a66aeb	raid_class_release	drivers/scsi/raid_class	EXPORT_SYMBOL
+0x9ae3d169	find_vma	vmlinux	EXPORT_SYMBOL
+0xe76b3b20	qlogicfas408_get_chip_type	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x38bb724c	hdlcdrv_transmitter	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0x7c971551	hpsb_alloc_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x5aa79a07	kernel_connect	vmlinux	EXPORT_SYMBOL
+0x5969b7ba	inotify_dentry_parent_queue_event	vmlinux	EXPORT_SYMBOL_GPL
+0xf268dea8	snd_gf1_i_look8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xb28fdd22	nxt200x_attach	drivers/media/dvb/frontends/nxt200x	EXPORT_SYMBOL
+0x93d7fa70	inet_stream_connect	vmlinux	EXPORT_SYMBOL
+0xa05c03df	mempool_kmalloc	vmlinux	EXPORT_SYMBOL
+0x044fbf49	mempool_kzalloc	vmlinux	EXPORT_SYMBOL
+0xe7bf7d05	screen_info	vmlinux	EXPORT_SYMBOL
+0x5e5183a6	gigaset_initdriver	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x5475d5f9	ata_eh_qc_complete	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf0bcc0b3	acpi_os_create_semaphore	vmlinux	EXPORT_SYMBOL
+0xdd5d73ea	pci_release_regions	vmlinux	EXPORT_SYMBOL
+0x1eb344b3	boot_tvec_bases	vmlinux	EXPORT_SYMBOL
+0x16471586	snd_util_mem_free	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0xd5791cfd	snd_seq_simple_init	sound/core/seq/instr/snd-ainstr-simple	EXPORT_SYMBOL
+0xfaed8c23	tms380tr_close	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0x4258f4a8	mpt_device_driver_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x63c7250c	videobuf_reqbufs	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xe9456a5a	sysctl_xfrm_aevent_rseqth	vmlinux	EXPORT_SYMBOL
+0xdf805952	relay_subbufs_consumed	vmlinux	EXPORT_SYMBOL_GPL
+0xcc983cae	_write_lock_irq	vmlinux	EXPORT_SYMBOL
+0x6c0e6787	ieee80211_wake_queue	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x88215518	journal_ack_err	fs/jbd/jbd	EXPORT_SYMBOL
+0x148f0c99	FsmFree	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xd49a6c69	ht_create_irq	vmlinux	EXPORT_SYMBOL
+0xa213d377	crypto_hash_type	vmlinux	EXPORT_SYMBOL_GPL
+0xeeadcdf1	midi_devs	sound/oss/sound	EXPORT_SYMBOL
+0x02edbf98	inet6_csk_addr2sockaddr	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xff1cf1d1	devres_close_group	vmlinux	EXPORT_SYMBOL_GPL
+0x02462292	_read_lock_bh	vmlinux	EXPORT_SYMBOL
+0xe94f775e	xt_unregister_targets	net/netfilter/x_tables	EXPORT_SYMBOL
+0x775e0a26	dvb_pll_tdhu2	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x8250af10	klist_next	vmlinux	EXPORT_SYMBOL_GPL
+0x02b6e655	tcp_rcv_established	vmlinux	EXPORT_SYMBOL
+0x0fd142bf	spi_alloc_master	vmlinux	EXPORT_SYMBOL_GPL
+0x20000329	simple_strtoul	vmlinux	EXPORT_SYMBOL
+0x24379da7	proc_net_stat	vmlinux	EXPORT_SYMBOL
+0xd60f2c6c	o2hb_check_local_node_heartbeating	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xf8129548	mraid_mm_register_adp	drivers/scsi/megaraid/megaraid_mm	EXPORT_SYMBOL
+0x68b8d5d7	tda826x_attach	drivers/media/dvb/frontends/tda826x	EXPORT_SYMBOL
+0xb1f4eb35	ir_codes_avermedia_dvbt	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x1fd09428	ib_send_cm_dreq	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xd415c610	ib_send_cm_drep	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x68f79507	drm_addmap	drivers/char/drm/drm	EXPORT_SYMBOL
+0x5dfac544	nf_register_afinfo	vmlinux	EXPORT_SYMBOL_GPL
+0xd9158ec3	proc_symlink	vmlinux	EXPORT_SYMBOL
+0x9981eff7	get_sb_pseudo	vmlinux	EXPORT_SYMBOL
+0x02e0c6d4	dump_trace	vmlinux	EXPORT_SYMBOL
+0x383ee711	cxiBlockingMutexHasWaiters	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6a8049a5	ssb_dma_set_mask	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xda1bd7c6	ieee80211softmac_wx_set_essid	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x94c27845	parport_ieee1284_ecp_write_data	drivers/parport/parport	EXPORT_SYMBOL
+0x33ce0e9d	parport_ieee1284_epp_write_data	drivers/parport/parport	EXPORT_SYMBOL
+0xa4824447	videobuf_qbuf	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x13a89708	blk_queue_dma_alignment	vmlinux	EXPORT_SYMBOL
+0x26866af9	remap_vmalloc_range	vmlinux	EXPORT_SYMBOL
+0xd985dc99	mempool_free_pages	vmlinux	EXPORT_SYMBOL
+0xfcec0987	enable_irq	vmlinux	EXPORT_SYMBOL
+0x1e7bbcb3	kernel_restart	vmlinux	EXPORT_SYMBOL_GPL
+0x9c7077bd	enable_hlt	vmlinux	EXPORT_SYMBOL
+0xd6ba471b	snd_ad1848_add_ctl_elem	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0xc96cb148	iscsi_set_param	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x4ae8012b	pcmcia_register_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x095abca6	bt878_device_control	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0xf028cd4a	b1_getrevision	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xf2166ea9	ib_modify_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x38b1e459	ib_query_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x74a54545	agp_unbind_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xf51a9e9c	sata_phy_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe9d4ae1a	speakup_set_addresses	vmlinux	EXPORT_SYMBOL
+0x25d9b778	snd_vx_free_firmware	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x8ae490eb	raid_class_attach	drivers/scsi/raid_class	EXPORT_SYMBOL
+0xd5b21ec0	i2o_event_register	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x546f0b06	_spin_lock_irq	vmlinux	EXPORT_SYMBOL
+0xaf547e2b	inet6_release	net/ipv6/ipv6	EXPORT_SYMBOL
+0x375d8126	mpt_add_sge	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xdad4fcc0	vfs_kern_mount	vmlinux	EXPORT_SYMBOL_GPL
+0x70a6e8d9	zlib_deflateInit2	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0xdc72743b	dib7000pc_detection	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0xb1c80559	b1dma_register_appl	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xf609c4f5	spi_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0x5bb1e265	anon_transport_class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xacfe0a0a	submit_bio	vmlinux	EXPORT_SYMBOL
+0x43b227fb	alloc_page_buffers	vmlinux	EXPORT_SYMBOL_GPL
+0xfbf9be5d	register_oom_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xccfa8eca	usb_put_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x0392d2e3	sppp_reopen	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x9bc213a1	mmc_remove_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xd29c1d68	dvb_pll_samsung_tbmv	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xc0f9a263	ata_host_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x33c7a24c	genl_sock	vmlinux	EXPORT_SYMBOL
+0x3971ee3e	neigh_lookup	vmlinux	EXPORT_SYMBOL
+0xfa1cedb9	cxiStopDMS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4e797913	rtl_ieee80211_crypt_deinit_handler	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x522b678b	sta_info_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xf5283172	snd_pcm_build_linear_format	sound/core/snd-pcm	EXPORT_SYMBOL
+0x67b071ad	mpt_HardResetHandler	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xfae5b725	tcp_mtup_init	vmlinux	EXPORT_SYMBOL
+0x51991703	cache_purge	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xcfc5a54d	simple_map_init	drivers/mtd/maps/map_funcs	EXPORT_SYMBOL
+0x3a7b7b7e	cx88_do_ioctl	drivers/media/video/cx88/cx8800	EXPORT_SYMBOL
+0x97a0f6c1	rdma_addr_unregister_client	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0xfc6e6588	ata_pata_acpi_present	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x02b3e21b	mca_device_status	vmlinux	EXPORT_SYMBOL
+0x29198e7a	alloc_buffer_head	vmlinux	EXPORT_SYMBOL
+0xa3277c3c	inode_setattr	vmlinux	EXPORT_SYMBOL
+0x1b797389	rt2x00lib_conf_tx	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x6ec73831	xdr_write_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x98b3095e	dccp_feat_clean	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x2c42ceeb	dccp_feat_clone	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x689dec4e	usbnet_get_endpoints	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x50679ae0	FsmRestartTimer	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xc2a1346b	gameport_unregister_port	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x74baa70c	ip_route_input	vmlinux	EXPORT_SYMBOL
+0x3fac8c50	cpu_data	vmlinux	EXPORT_SYMBOL
+0x2aca9a5b	gpfs_init	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb1f6a4d2	iscsi_conn_teardown	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x573208cb	device_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x3dac6f3e	hpsb_allocate_and_register_addrspace	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc171d1c4	gs_flush_chars	drivers/char/generic_serial	EXPORT_SYMBOL
+0x3b3d3ecb	ipv6_skip_exthdr	vmlinux	EXPORT_SYMBOL
+0x6a8409dc	ide_destroy_dmatable	vmlinux	EXPORT_SYMBOL_GPL
+0x20c8fc33	pci_osc_control_set	vmlinux	EXPORT_SYMBOL
+0x67030c22	aio_complete	vmlinux	EXPORT_SYMBOL
+0x7ded8240	param_get_ulong	vmlinux	EXPORT_SYMBOL
+0x1765880a	kill_pid	vmlinux	EXPORT_SYMBOL
+0x819cc9ba	cap_settime	security/commoncap	EXPORT_SYMBOL
+0x415226c8	rt6_lookup	net/ipv6/ipv6	EXPORT_SYMBOL
+0xf8860a4c	spi_bitbang_cleanup	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0xb5ca1c46	slhc_free	drivers/net/slhc	EXPORT_SYMBOL
+0x98ce7d3d	hpsb_make_lockpacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7d50d90f	fakekeydev	vmlinux	EXPORT_SYMBOL
+0x64999478	congestion_wait	vmlinux	EXPORT_SYMBOL
+0x519fe2d8	sysctl_intvec	vmlinux	EXPORT_SYMBOL
+0x06e73b3a	dccp_v4_connect	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xe9d8bcdc	config_item_set_name	fs/configfs/configfs	EXPORT_SYMBOL
+0x872f845c	i2c_del_driver	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x07895d39	blk_remove_plug	vmlinux	EXPORT_SYMBOL
+0x8a21653b	dquot_release	vmlinux	EXPORT_SYMBOL
+0x30628101	sas_slave_configure	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x01232299	hpsb_iso_xmit_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xe619e22a	ata_altstatus	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5dfa4696	move_addr_to_kernel	vmlinux	EXPORT_SYMBOL
+0x0f817b7e	file_ra_state_init	vmlinux	EXPORT_SYMBOL_GPL
+0xc38904b1	cxiGetPvP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x91dc30ec	snd_rawmidi_kernel_release	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x5493fae1	sas_change_queue_type	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x77d290b2	kvm_init_arch	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x027f9f76	mult_to_ib_rate	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x24224058	i2c_clients_command	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x4a9c5888	xfrm_register_mode	vmlinux	EXPORT_SYMBOL
+0x5db753dd	inet_csk_get_port	vmlinux	EXPORT_SYMBOL_GPL
+0x3d3de916	add_to_page_cache	vmlinux	EXPORT_SYMBOL
+0xa825e1f3	unregister_kprobe	vmlinux	EXPORT_SYMBOL_GPL
+0xeefe2d1a	usb_get_status	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x05faf384	hostap_init_ap_proc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x4f61d82b	mptscsih_ioc_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x55abcf0e	videobuf_dma_init	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xe19a11ac	capi20_get_profile	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x88d8c843	klist_remove	vmlinux	EXPORT_SYMBOL_GPL
+0x8fdba8f5	ethtool_op_get_ufo	vmlinux	EXPORT_SYMBOL
+0x73eadfb8	dev_get_flags	vmlinux	EXPORT_SYMBOL
+0x8c6bd064	__wait_on_bit_lock	vmlinux	EXPORT_SYMBOL
+0x575bbb47	rtl_ieee80211_reset_queue	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xc304a8cb	snd_cs4231_in	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xb2a993ce	svc_auth_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x48bd2a99	matroxfb_unregister_driver	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0xd4f3dc23	DoC2k_init	drivers/mtd/devices/doc2000	EXPORT_SYMBOL_GPL
+0xb4c00dcf	i2o_controllers	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x520b2638	ib_pack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x8bd51b03	agp_backend_release	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xe5122890	flow_cache_genid	vmlinux	EXPORT_SYMBOL
+0x12e71d8c	gen_new_estimator	vmlinux	EXPORT_SYMBOL
+0xdc06407f	input_class	vmlinux	EXPORT_SYMBOL_GPL
+0x60c4f402	pci_set_master	vmlinux	EXPORT_SYMBOL
+0x1116b920	crypto_alg_mod_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0x41a5a6e3	__devm_request_region	vmlinux	EXPORT_SYMBOL
+0xc6104f38	scsi_eh_finish_cmd	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x1d1f9d2a	alloc_orinocodev	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x9309a95f	mmc_set_data_timeout	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x444aa181	flexcop_pass_dmx_data	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x2d92a6ac	iw_cm_accept	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xc5a2bd5e	reqsk_queue_alloc	vmlinux	EXPORT_SYMBOL
+0x7ab7bdeb	dma_async_device_unregister	vmlinux	EXPORT_SYMBOL
+0xac23b38b	vc_cons	vmlinux	EXPORT_SYMBOL
+0x811bf8e3	cxiWaitForBreak	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xdd0a2ba2	strlcat	vmlinux	EXPORT_SYMBOL
+0x95f638d5	posix_acl_chmod_masq	vmlinux	EXPORT_SYMBOL
+0xd2965f6f	kthread_should_stop	vmlinux	EXPORT_SYMBOL
+0x78f54e69	snd_ac97_bus	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x9a108893	snd_ad1848_get_pcm_ops	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x4358bad7	csr1212_parse_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x331ee076	ata_pci_device_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf8394d92	blk_rq_map_kern	vmlinux	EXPORT_SYMBOL
+0x955f29b8	sync_mapping_buffers	vmlinux	EXPORT_SYMBOL
+0xf86fae7e	rtl_ieee80211_unregister_crypto_ops	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x5122e9af	irias_delete_object	net/irda/irda	EXPORT_SYMBOL
+0x60c1cc68	bt_sock_register	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x31563750	fat_scan	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x84a0e186	__scsi_add_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x17ff2c1d	__nvram_read_byte	drivers/char/nvram	EXPORT_SYMBOL
+0x22a73912	__tcp_put_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0xde48a8d2	inode_change_ok	vmlinux	EXPORT_SYMBOL
+0x81128d35	snd_pcm_hw_constraint_minmax	sound/core/snd-pcm	EXPORT_SYMBOL
+0xbcd3ef13	irias_object_change_attribute	net/irda/irda	EXPORT_SYMBOL
+0x69d38ed9	__scsi_print_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x55982a6b	datagram_poll	vmlinux	EXPORT_SYMBOL
+0x5c68705b	mca_read_pos	vmlinux	EXPORT_SYMBOL
+0x632468e7	blk_queue_end_tag	vmlinux	EXPORT_SYMBOL
+0xe00177d7	snd_midi_event_free	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x1e71ea32	bttv_gpio_read	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x441e831e	__tcf_em_tree_match	vmlinux	EXPORT_SYMBOL
+0xad2a0450	pci_get_bus_and_slot	vmlinux	EXPORT_SYMBOL
+0xb5f41711	flush_old_exec	vmlinux	EXPORT_SYMBOL
+0xc0fa04aa	_write_lock_irqsave	vmlinux	EXPORT_SYMBOL
+0x4c56001f	mdiobus_unregister	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x2cf68e7a	bttv_gpio_write	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xe4d38a25	flexcop_dma_control_timer_irq	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x41ed3058	__sata_phy_reset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa1dc8a62	inet_addr_type	vmlinux	EXPORT_SYMBOL
+0x897caeaa	llc_sap_close	vmlinux	EXPORT_SYMBOL
+0x8df9f666	cpu_online_map	vmlinux	EXPORT_SYMBOL
+0xbb2597cd	rxrpc_call_read_data	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x9736ffc8	ieee80211softmac_wx_get_scan_results	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xaf89c5c5	config_group_find_obj	fs/configfs/configfs	EXPORT_SYMBOL
+0xd71ceb2f	phy_detach	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xd23644b9	mii_link_ok	drivers/net/mii	EXPORT_SYMBOL
+0xd6ba445f	drm_sman_set_range	drivers/char/drm/drm	EXPORT_SYMBOL
+0x2aa31695	midi_synth_kill_note	sound/oss/sound	EXPORT_SYMBOL
+0xbc4c65ce	nf_conntrack_l4proto_udp6	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x21d54cb6	tcp_proc_register	vmlinux	EXPORT_SYMBOL
+0x6be8dcd1	stop_tty	vmlinux	EXPORT_SYMBOL
+0xbf29b4de	lookup_create	vmlinux	EXPORT_SYMBOL_GPL
+0x0da0b382	get_sb_nodev	vmlinux	EXPORT_SYMBOL
+0x4ce9efa9	kthread_create	vmlinux	EXPORT_SYMBOL
+0xcf22ddd0	snd_sb8dsp_midi_interrupt	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0x7d89ac69	gss_decrypt_xdr_buf	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x50f0f0fb	loopback_dev	vmlinux	EXPORT_SYMBOL
+0x0d3dda14	acpi_get_type	vmlinux	EXPORT_SYMBOL
+0x413b34e6	cxiSetMountInfo	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb100f1fd	snd_pcm_hw_constraint_ratnums	sound/core/snd-pcm	EXPORT_SYMBOL
+0xcd0bd4f1	hci_unregister_proto	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x8a069f08	cfi_fixup	drivers/mtd/chips/cfi_util	EXPORT_SYMBOL
+0xed061606	capi20_manufacturer	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x3fbbf941	ipmi_get_my_LUN	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xd34900bf	twofish_setkey	crypto/twofish_common	EXPORT_SYMBOL_GPL
+0x4febb81a	neigh_ifdown	vmlinux	EXPORT_SYMBOL
+0x6c1ce5ce	strcspn	vmlinux	EXPORT_SYMBOL
+0x935de62c	synth_port_tts	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x28ca7395	md_allow_write	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0xa7f4268b	pci_scan_bridge	vmlinux	EXPORT_SYMBOL
+0xba413f87	sound_alloc_mididev	sound/oss/sound	EXPORT_SYMBOL
+0xfa954ae6	nf_conntrack_l3proto_register	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x83cabfea	nf_conntrack_l4proto_register	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xfe75f21b	sirdev_write_complete	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x0082e5d0	cx88_set_tvnorm	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xda118d84	hid_parse_report	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x041270aa	TraceFlagsP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7c0b90e8	ieee80211_rx_irqsafe	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xe35c5e61	ieee80211_rx	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xf2b95199	qlogicfas408_setup	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xe3c34a49	sirdev_receive	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x89cc1189	ir_codes_winfast	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x75c89476	nsc_gpio_read	drivers/char/nsc_gpio	EXPORT_SYMBOL
+0xe01fc6f8	drm_get_drawable_info	drivers/char/drm/drm	EXPORT_SYMBOL
+0x2a368669	ata_timing_compute	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2f538590	class_create	vmlinux	EXPORT_SYMBOL_GPL
+0xf62893dd	register_sound_special	sound/soundcore	EXPORT_SYMBOL
+0x370f0972	svc_process	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x955690d0	rpc_force_rebind	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0xb6b0b310	dccp_rcv_established	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xa8ee289c	usbnet_skb_return	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x5954f740	parport_unregister_device	drivers/parport/parport	EXPORT_SYMBOL
+0x94921dee	init_atmel_card	drivers/net/wireless/atmel	EXPORT_SYMBOL
+0x5bbf600d	ata_std_softreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x9433a106	__nla_reserve	vmlinux	EXPORT_SYMBOL
+0x69351b76	percpu_counter_mod	vmlinux	EXPORT_SYMBOL
+0x29537c9e	alloc_chrdev_region	vmlinux	EXPORT_SYMBOL
+0x2bab260d	inc_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x549bf4ad	rtl_alloc_ieee80211	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xbd48af91	rpc_killall_tasks	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x6e4e3013	nf_ct_iterate_cleanup	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x51a333a9	deregister_mtd_blktrans	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0xb11a9f84	tpm_show_caps	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xfc04e44f	arp_find	vmlinux	EXPORT_SYMBOL
+0xdc72db1f	dev_getbyhwaddr	vmlinux	EXPORT_SYMBOL
+0xf3533c2d	skb_checksum	vmlinux	EXPORT_SYMBOL
+0xfd98879a	rb_next	vmlinux	EXPORT_SYMBOL
+0x05e1389a	finish_wait	vmlinux	EXPORT_SYMBOL
+0xa37fb829	ct_sip_search	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0x25dd07ec	phy_start_aneg	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x90d68ac8	dvb_unregister_adapter	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x47891604	saa7146_set_hps_source_and_sync	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x52d7b2fd	llc_sap_list	vmlinux	EXPORT_SYMBOL
+0x61b7b126	simple_strtoull	vmlinux	EXPORT_SYMBOL
+0x4cbbd171	__bitmap_weight	vmlinux	EXPORT_SYMBOL
+0x528c709d	simple_read_from_buffer	vmlinux	EXPORT_SYMBOL
+0x11bf4cb8	net2280_set_fifo_mode	drivers/usb/gadget/net2280	EXPORT_SYMBOL
+0x2f48c413	pccard_validate_cis	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xd8972378	class_device_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x3147857d	default_red	vmlinux	EXPORT_SYMBOL
+0xa681fe88	generate_random_uuid	vmlinux	EXPORT_SYMBOL
+0xff9ca065	fb_edid_to_monspecs	vmlinux	EXPORT_SYMBOL
+0xbdb7661e	__ide_dma_host_on	vmlinux	EXPORT_SYMBOL
+0x30738847	path_release	vmlinux	EXPORT_SYMBOL
+0x569a31b6	vfs_statfs	vmlinux	EXPORT_SYMBOL
+0xd828ff14	cxiMmapGetPage	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x10123b5d	snd_gus_dram_write	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x48278d13	or51132_attach	drivers/media/dvb/frontends/or51132	EXPORT_SYMBOL
+0xdfd423a5	saa7146_devices_lock	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x43eb8c2d	xfrm_replay_check	vmlinux	EXPORT_SYMBOL
+0xbd503ccf	synth_delay	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xa53cf52c	cfi_cmdset_0020	drivers/mtd/chips/cfi_cmdset_0020	EXPORT_SYMBOL_GPL
+0xa377b453	cfi_cmdset_0002	drivers/mtd/chips/cfi_cmdset_0002	EXPORT_SYMBOL_GPL
+0x12a33f2f	cfi_cmdset_0001	drivers/mtd/chips/cfi_cmdset_0001	EXPORT_SYMBOL_GPL
+0x7bf20345	cfi_cmdset_0003	drivers/mtd/chips/cfi_cmdset_0001	EXPORT_SYMBOL_GPL
+0xaba6b190	cfi_cmdset_0200	drivers/mtd/chips/cfi_cmdset_0001	EXPORT_SYMBOL_GPL
+0xd8d1c51d	drm_agp_free	drivers/char/drm/drm	EXPORT_SYMBOL
+0x107ebcc5	udp_ioctl	vmlinux	EXPORT_SYMBOL
+0xaf640518	__nla_reserve_nohdr	vmlinux	EXPORT_SYMBOL
+0xa7bbaeac	br_handle_frame_hook	vmlinux	EXPORT_SYMBOL
+0x05f8da8b	cxiKibdPin	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xea10212a	int_to_scsilun	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4de1643c	rtnetlink_put_metrics	vmlinux	EXPORT_SYMBOL
+0x136d1be3	class_device_del	vmlinux	EXPORT_SYMBOL_GPL
+0x885ab091	may_umount	vmlinux	EXPORT_SYMBOL
+0x90bd9714	sequencer_timer	sound/oss/sound	EXPORT_SYMBOL
+0x33330947	dm_register_dirty_log_type	drivers/md/dm-mirror	EXPORT_SYMBOL
+0xc421f7cc	ib_query_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x4a8201cc	block_read_full_page	vmlinux	EXPORT_SYMBOL
+0x19829fbe	__scsi_alloc_queue	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x75271716	save_processor_state	vmlinux	EXPORT_SYMBOL
+0xf22aa033	hashbin_find	net/irda/irda	EXPORT_SYMBOL
+0x811b10c3	sas_port_delete	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xc25f748e	dvb_net_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x28a5ccdf	tcp_v4_connect	vmlinux	EXPORT_SYMBOL
+0x8b10a71f	tcp_sync_mss	vmlinux	EXPORT_SYMBOL
+0xa5e61574	page_cache_readahead	vmlinux	EXPORT_SYMBOL_GPL
+0xd0c05159	emergency_restart	vmlinux	EXPORT_SYMBOL_GPL
+0x3ff62317	local_bh_disable	vmlinux	EXPORT_SYMBOL
+0x33bf969a	snd_rawmidi_input_params	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xfb2e1d09	md_error	drivers/md/md-mod	EXPORT_SYMBOL
+0xd905bfb1	tcp_death_row	vmlinux	EXPORT_SYMBOL_GPL
+0xcead677b	serio_rescan	vmlinux	EXPORT_SYMBOL
+0x6b5d7c84	framebuffer_alloc	vmlinux	EXPORT_SYMBOL
+0x82b68224	bio_get_nr_vecs	vmlinux	EXPORT_SYMBOL
+0x64357d3c	tipc_multicast	net/tipc/tipc	EXPORT_SYMBOL
+0x86be7924	dccp_packet_name	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x8a62bcac	xfrm_policy_byid	vmlinux	EXPORT_SYMBOL
+0x4d6647a0	cpufreq_driver_target	vmlinux	EXPORT_SYMBOL_GPL
+0x87adea4f	load_nls_default	vmlinux	EXPORT_SYMBOL
+0xafb35c4c	nonseekable_open	vmlinux	EXPORT_SYMBOL
+0x10729194	kmem_cache_create	vmlinux	EXPORT_SYMBOL
+0xeb0f8676	cxiIsReadOnlyMnt	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1e83ad02	dm_scsi_err_handler	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0xeb8f54b3	strstrip	vmlinux	EXPORT_SYMBOL
+0x20cfd673	seq_escape	vmlinux	EXPORT_SYMBOL
+0xd7efcfa4	tsattr	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x21c38f4b	cxiIsGPFSThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf25ef8be	snd_i2c_probeaddr	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0x8d21856e	gigaset_blockdriver	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x548e6040	ata_qc_issue_prot	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x237282e6	xfrm_ealg_get_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x99c40393	dev_get_by_flags	vmlinux	EXPORT_SYMBOL
+0x10ab8169	class_device_create	vmlinux	EXPORT_SYMBOL_GPL
+0x45dcfa7b	d_alloc_root	vmlinux	EXPORT_SYMBOL
+0xa05e3600	page_address	vmlinux	EXPORT_SYMBOL
+0xfd4d0bdc	eeprom_93cx6_write	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x45e9b7cc	xfrm_lookup	vmlinux	EXPORT_SYMBOL
+0xfa2d4b57	skb_store_bits	vmlinux	EXPORT_SYMBOL
+0x4d8586a9	skb_over_panic	vmlinux	EXPORT_SYMBOL
+0xebaf3a8c	mb_cache_entry_free	fs/mbcache	EXPORT_SYMBOL
+0xd4dbec7e	i2c_smbus_read_byte	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xb7c306ad	inet_unregister_protosw	vmlinux	EXPORT_SYMBOL
+0x85902f79	rtattr_strlcpy	vmlinux	EXPORT_SYMBOL
+0xf6c038fa	snd_sbdsp_create	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x4f95649a	ei_close	drivers/net/8390	EXPORT_SYMBOL
+0xa3620353	blkcipher_walk_phys	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0xfbec7211	ss_ioctl_op	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0a406d5f	dccp_v4_send_check	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0x9924c496	__usb_get_extra_descriptor	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xf71c4e1f	rdma_create_id	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x4fd2cf63	rdma_create_qp	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x3c7a1c57	ide_acpi_exec_tfs	vmlinux	EXPORT_SYMBOL_GPL
+0x6900dd2e	ide_wait_not_busy	vmlinux	EXPORT_SYMBOL_GPL
+0x1de314f3	hpet_control	vmlinux	EXPORT_SYMBOL
+0xbb102a7d	pci_bus_assign_resources	vmlinux	EXPORT_SYMBOL
+0x3031d946	swap_io_context	vmlinux	EXPORT_SYMBOL
+0x230dee17	simple_commit_write	vmlinux	EXPORT_SYMBOL
+0x9159b9d6	profile_event_register	vmlinux	EXPORT_SYMBOL_GPL
+0x31e7f5bb	ppp_unit_number	drivers/net/ppp_generic	EXPORT_SYMBOL
+0xd5e4b6a6	ppp_input_error	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x38cd8f03	hpsb_node_write	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x785b3476	tpm_continue_selftest	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x56ce7280	unregister_latency_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xc0e6c067	p80211_suspend	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x9bbaab24	usb_serial_generic_open	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x4ff0b01e	scsi_finish_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xfe31062a	dvb_pll_tuv1236d	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x80e3832d	dvb_filter_get_ac3info	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x61187389	netlink_queue_skip	vmlinux	EXPORT_SYMBOL
+0x8b05c44a	register_netdevice	vmlinux	EXPORT_SYMBOL
+0xcb66937d	ps2_init	vmlinux	EXPORT_SYMBOL
+0xdaaa759f	elv_queue_empty	vmlinux	EXPORT_SYMBOL
+0xfa00952f	user_describe	vmlinux	EXPORT_SYMBOL_GPL
+0xc19c548d	blkdev_get	vmlinux	EXPORT_SYMBOL
+0xf54306d8	blkdev_put	vmlinux	EXPORT_SYMBOL
+0x5c76f2c4	p80211wext_event_associated	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x3c89ad4d	ebt_do_table	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x5c7f7af9	hci_unregister_cb	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xc25cbcad	cx24110_attach	drivers/media/dvb/frontends/cx24110	EXPORT_SYMBOL
+0x5940e81b	kill_pid_info_as_uid	vmlinux	EXPORT_SYMBOL_GPL
+0x92a4ef60	snd_virmidi_new	sound/core/seq/snd-seq-virmidi	EXPORT_SYMBOL
+0xf8899425	ieee80211softmac_wx_trigger_scan	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x63a8ce55	hpsb_iso_recv_set_channel_mask	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xe9ff637a	tcp_get_info	vmlinux	EXPORT_SYMBOL_GPL
+0x43ef4003	__alloc_skb	vmlinux	EXPORT_SYMBOL
+0x300acdd2	task_in_intr	vmlinux	EXPORT_SYMBOL
+0xc588d937	generic_osync_inode	vmlinux	EXPORT_SYMBOL
+0x61151700	mutex_trylock	vmlinux	EXPORT_SYMBOL
+0xe24d3a97	jiffies_64	vmlinux	EXPORT_SYMBOL
+0x19ef8fe9	svc_create	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe5d88938	mptscsih_abort	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x36babac3	videocodec_register	drivers/media/video/videocodec	EXPORT_SYMBOL
+0x23bee7de	dst_ca_attach	drivers/media/dvb/bt8xx/dst_ca	EXPORT_SYMBOL
+0x2f04f84c	pi_disconnect	drivers/block/paride/paride	EXPORT_SYMBOL
+0x46fa0731	vfsStats	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4e37866b	videobuf_dma_init_user	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xf52e662f	videobuf_queue_is_busy	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x61d57e1d	saa7146_register_device	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x46afa010	mca_device_read_stored_pos	vmlinux	EXPORT_SYMBOL
+0x354de5df	pci_cleanup_aer_uncorrect_error_status	vmlinux	EXPORT_SYMBOL_GPL
+0x6def2db2	half_md4_transform	vmlinux	EXPORT_SYMBOL
+0x0982b3fb	dcache_readdir	vmlinux	EXPORT_SYMBOL
+0x4918c705	inode_add_bytes	vmlinux	EXPORT_SYMBOL
+0x32537381	generic_file_mmap	vmlinux	EXPORT_SYMBOL
+0x22821d46	ieee80211_alloc_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xe52de6a0	parport_pc_probe_port	drivers/parport/parport_pc	EXPORT_SYMBOL
+0x60ca6564	mptscsih_slave_configure	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x0514f967	tcp_alloc_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0x38b92846	llc_remove_pack	vmlinux	EXPORT_SYMBOL
+0x4188d439	neigh_rand_reach_time	vmlinux	EXPORT_SYMBOL
+0x5845e961	sock_common_getsockopt	vmlinux	EXPORT_SYMBOL
+0x972b24f0	sock_common_setsockopt	vmlinux	EXPORT_SYMBOL
+0x8dc6e564	restore_processor_state	vmlinux	EXPORT_SYMBOL
+0xfcb8b131	idr_find	vmlinux	EXPORT_SYMBOL
+0xc760dcca	vfs_mknod	vmlinux	EXPORT_SYMBOL
+0xa5c89f59	dccp_insert_option_timestamp	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3b7f956f	dvb_register_adapter	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x030c9eb1	ib_get_rmpp_segment	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xf8185380	tpm_read	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x7dc47561	ethtool_op_get_sg	vmlinux	EXPORT_SYMBOL
+0xd063ddef	skb_dequeue	vmlinux	EXPORT_SYMBOL
+0xbd45594e	filemap_write_and_wait	vmlinux	EXPORT_SYMBOL
+0x27bbf221	disable_irq_nosync	vmlinux	EXPORT_SYMBOL
+0xba813bd6	lock_cpu_hotplug	vmlinux	EXPORT_SYMBOL_GPL
+0xb106d847	irda_notify_init	net/irda/irda	EXPORT_SYMBOL
+0x50f176ae	dccp_create_openreq_child	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xf7584a9c	find_font	drivers/video/console/font	EXPORT_SYMBOL
+0x303925f1	alloc_etherdev	vmlinux	EXPORT_SYMBOL
+0x45e87ae6	add_uevent_var	vmlinux	EXPORT_SYMBOL_GPL
+0xd4feb648	ivtv_vapi	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xd1ee114e	rpc_wake_up_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3c8e1f30	rxrpc_call_abort	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xecf6b6f5	dccp_child_process	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x2af1a608	ir_codes_proteus_2309	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xaf818730	ipmi_smi_watcher_unregister	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x5168cd8a	netdev_features_change	vmlinux	EXPORT_SYMBOL
+0x143388be	platform_get_resource_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x8f39d67d	refresh_vm_stats	vmlinux	EXPORT_SYMBOL
+0x06fa2f53	phy_start	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xe54cf012	mpt_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xda7f8fe3	gs_chars_in_buffer	drivers/char/generic_serial	EXPORT_SYMBOL
+0xdbb153e7	task_no_data_intr	vmlinux	EXPORT_SYMBOL
+0x1a0b4638	devres_find	vmlinux	EXPORT_SYMBOL_GPL
+0x6063bb70	proc_dostring	vmlinux	EXPORT_SYMBOL
+0xc34a54c6	snd_hda_calc_stream_format	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x62c18f8f	ib_query_pkey	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xffcccc43	pci_bus_write_config_byte	vmlinux	EXPORT_SYMBOL
+0x96b9a485	VM_Detach	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x925e1fce	VM_Attach	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xaf236a7b	cap_vm_enough_memory	security/commoncap	EXPORT_SYMBOL
+0xaa63d2d9	ircomm_connect_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0xa8965a82	journal_force_commit_nested	fs/jbd/jbd	EXPORT_SYMBOL
+0x73e106e8	w1_reset_bus	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x6903f16c	hostap_80211_get_hdrlen	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xdc211abb	dm_create_error_table	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0xc0e0782e	skb_insert	vmlinux	EXPORT_SYMBOL
+0x3684ae45	pre_task_out_intr	vmlinux	EXPORT_SYMBOL
+0x770a0036	isapnp_cfg_begin	vmlinux	EXPORT_SYMBOL
+0xc623eea6	rtl_ieee80211_is_54g	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x3edad223	usb_usual_clear_present	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0x43256f32	hostap_set_auth_algs	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x8532cc96	mpt_stm_index	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x904b8696	cx88_audio_thread	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x7e900b65	mca_device_read_pos	vmlinux	EXPORT_SYMBOL
+0x292671a9	blk_queue_max_segment_size	vmlinux	EXPORT_SYMBOL
+0x62eec57f	log_wait_commit	fs/jbd/jbd	EXPORT_SYMBOL
+0xcadaf9a8	dm_table_get_size	drivers/md/dm-mod	EXPORT_SYMBOL
+0x080489e7	hpsb_iso_xmit_start	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb0bb9ed8	klist_add_tail	vmlinux	EXPORT_SYMBOL_GPL
+0x600683d3	do_unblank_screen	vmlinux	EXPORT_SYMBOL
+0x024280b2	pci_find_ext_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x6e9dd606	__symbol_put	vmlinux	EXPORT_SYMBOL
+0x8f04fe12	ssb_dma_translation	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x7d5dec2c	snd_ac97_get_short_name	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x933d0bb3	ir_codes_msi_tvanywhere	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xcba014ef	hpsb_create_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x84129926	netpoll_send_udp	vmlinux	EXPORT_SYMBOL
+0xa5da0abd	acpi_enter_sleep_state_s4bios	vmlinux	EXPORT_SYMBOL
+0x89473f87	pci_claim_resource	vmlinux	EXPORT_SYMBOL_GPL
+0x2c2512ea	get_zeroed_page	vmlinux	EXPORT_SYMBOL
+0x04aff7a8	rtl_ieee80211_wlan_frequencies	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xbb38a9aa	snd_cs4231_interrupt	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x3d6d493b	snd_pcm_lib_read	sound/core/snd-pcm	EXPORT_SYMBOL
+0x4ff33bd8	input_close_device	vmlinux	EXPORT_SYMBOL
+0x7c5213e7	current_io_context	vmlinux	EXPORT_SYMBOL
+0xf71f39aa	key_validate	vmlinux	EXPORT_SYMBOL
+0x650f8603	snd_pcm_format_silence_64	sound/core/snd-pcm	EXPORT_SYMBOL
+0x3fd8cd71	qlogicfas408_detect	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x50b33ca4	capi_cmsg2message	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x4d807671	tty_insert_flip_string_flags	vmlinux	EXPORT_SYMBOL
+0xf63f0c50	prepare_to_wait_exclusive	vmlinux	EXPORT_SYMBOL
+0x12d75032	snd_cs4231_info_single	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xd1a4f538	b1_release_appl	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x1a7896f8	platform_device_add	vmlinux	EXPORT_SYMBOL_GPL
+0x7f56dd41	remove_proc_entry	vmlinux	EXPORT_SYMBOL
+0x5bfb25e2	ssb_bus_powerup	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xefc89b23	ipv6_opt_accepted	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x1c5dd511	arpt_register_table	net/ipv4/netfilter/arp_tables	EXPORT_SYMBOL
+0x69be217c	ata_host_intr	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x647cf343	pci_walk_bus	vmlinux	EXPORT_SYMBOL_GPL
+0x2b798e5a	bd_release_from_disk	vmlinux	EXPORT_SYMBOL_GPL
+0x19addbf5	filemap_nopage	vmlinux	EXPORT_SYMBOL
+0x2d86bdd5	kxPoll	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x853b38fa	cxiTrace	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x89a31a56	_snd_pcm_hw_param_setempty	sound/core/snd-pcm	EXPORT_SYMBOL
+0x0cc29dea	cx88_reset	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xd53d323f	atm_alloc_charge	vmlinux	EXPORT_SYMBOL
+0x84e798fd	uart_resume_port	vmlinux	EXPORT_SYMBOL
+0xb544e3c8	VFSStatPoint_end	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x04be5e8a	ivtv_udma_setup	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x5573b7a6	snd_vx_dsp_boot	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x8ede9e26	ax25_protocol_release	net/ax25/ax25	EXPORT_SYMBOL
+0xfd959e80	parport_ieee1284_ecp_read_data	drivers/parport/parport	EXPORT_SYMBOL
+0x2fb54bb0	parport_ieee1284_epp_read_data	drivers/parport/parport	EXPORT_SYMBOL
+0x2b8eab1f	capilib_free_ncci	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xb05fc310	sysctl_rmem_max	vmlinux	EXPORT_SYMBOL
+0xfac8865f	sysctl_wmem_max	vmlinux	EXPORT_SYMBOL
+0x90b3175f	ps2_handle_ack	vmlinux	EXPORT_SYMBOL
+0x9fe4a932	dquot_transfer	vmlinux	EXPORT_SYMBOL
+0x4ea714be	filemap_populate	vmlinux	EXPORT_SYMBOL
+0x6730db0d	lapb_register	net/lapb/lapb	EXPORT_SYMBOL
+0x193c882d	__orinoco_up	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0xa97b832a	dvb_pll_configure	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x03de0f79	md_wakeup_thread	drivers/md/md-mod	EXPORT_SYMBOL
+0xea4241da	drm_agp_release	drivers/char/drm/drm	EXPORT_SYMBOL
+0x2e866e54	ata_std_bios_param	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xbd506a46	unregister_hotplug_dock_device	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0xf7d76581	__ide_dma_host_off	vmlinux	EXPORT_SYMBOL
+0xed623bae	cxiBlockingMutexAcquire	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9d1fed33	rpc_clone_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x22e0abf8	irda_device_set_media_busy	net/irda/irda	EXPORT_SYMBOL
+0x38c99093	move_addr_to_user	vmlinux	EXPORT_SYMBOL
+0xcf4f443c	spi_register_master	vmlinux	EXPORT_SYMBOL_GPL
+0xcc36f32e	fb_unregister_client	vmlinux	EXPORT_SYMBOL
+0xfde0b92c	crypto_larval_error	vmlinux	EXPORT_SYMBOL_GPL
+0x4ff47e9d	midi_synth_setup_voice	sound/oss/sound	EXPORT_SYMBOL
+0x1385e486	__nf_ct_l4proto_find	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xfe35dc9f	ip_vs_conn_out_get	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x6d1ced27	vcc_sklist_lock	vmlinux	EXPORT_SYMBOL
+0xf071edd6	inet_csk_init_xmit_timers	vmlinux	EXPORT_SYMBOL
+0xc7b64a6e	dvb_ca_en50221_camready_irq	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x8434635c	kvm_write_guest	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xadebf5c5	capi20_set_callback	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x0ce15da4	hpsb_make_lock64packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x0f4604ba	ata_qc_prep	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x663ef6d0	ide_set_handler	vmlinux	EXPORT_SYMBOL
+0xe0c9aa9d	transport_add_device	vmlinux	EXPORT_SYMBOL_GPL
+0x53c2e873	vfs_readlink	vmlinux	EXPORT_SYMBOL
+0x446b1a3e	complete_and_exit	vmlinux	EXPORT_SYMBOL
+0xc6c7859d	scsi_nl_sock	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x0fa0e278	capi_ctr_ready	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x11e1bc3b	inet6_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0x493e25e1	udp_hash	vmlinux	EXPORT_SYMBOL
+0xc88e3f41	ide_build_sglist	vmlinux	EXPORT_SYMBOL_GPL
+0x8e1a7f25	ide_do_drive_cmd	vmlinux	EXPORT_SYMBOL
+0xff6878cf	fb_default_cmap	vmlinux	EXPORT_SYMBOL
+0x38afa7df	sysfs_remove_group	vmlinux	EXPORT_SYMBOL_GPL
+0xef9598cf	down_read_trylock	vmlinux	EXPORT_SYMBOL
+0xc37dd3dd	cxiGetCnP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb0ca906b	vp3054_i2c_probe	drivers/media/video/cx88/cx88-vp3054-i2c	EXPORT_SYMBOL
+0x6b93b537	cpufreq_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0xe0ef17a2	rtl_ieee80211_crypt_delayed_deinit	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x938e0aab	rpc_init_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x22f43507	nfs4_acl_posix_to_nfsv4	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x2c54c957	capifs_free_ncci	drivers/isdn/capi/capifs	EXPORT_SYMBOL
+0x7002dd0b	ib_register_client	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x1b01155d	i2c_smbus_xfer	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xa86ba2f2	nf_setsockopt	vmlinux	EXPORT_SYMBOL
+0x69cde68c	nf_getsockopt	vmlinux	EXPORT_SYMBOL
+0x3592c2d5	netif_rx_ni	vmlinux	EXPORT_SYMBOL
+0xa25b6b62	device_attach	vmlinux	EXPORT_SYMBOL_GPL
+0x106e84a8	alloc_disk	vmlinux	EXPORT_SYMBOL
+0xf90344ba	blk_rq_map_user_iov	vmlinux	EXPORT_SYMBOL
+0x3ea5e6ec	dquot_commit_info	vmlinux	EXPORT_SYMBOL
+0xe2a7459f	seq_putc	vmlinux	EXPORT_SYMBOL
+0x7c958db6	seq_puts	vmlinux	EXPORT_SYMBOL
+0xe396f303	unregister_page_fault_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x79c0ac3a	snd_pcm_hw_param_last	sound/core/snd-pcm	EXPORT_SYMBOL
+0xb90668b2	snd_seq_autoload_lock	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0xbf3da53d	ata_dev_disable	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x72f1fb5b	uart_update_timeout	vmlinux	EXPORT_SYMBOL
+0x971db8fb	do_add_mount	vmlinux	EXPORT_SYMBOL_GPL
+0xb225d619	d_genocide	vmlinux	EXPORT_SYMBOL
+0x4be8b24c	__module_put_and_exit	vmlinux	EXPORT_SYMBOL
+0xf066600f	__write_lock_failed	vmlinux	EXPORT_SYMBOL
+0xcffa2aff	spi_populate_width_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL_GPL
+0x752314cd	videobuf_dvb_unregister	drivers/media/video/video-buf-dvb	EXPORT_SYMBOL
+0x82559359	elv_dispatch_add_tail	vmlinux	EXPORT_SYMBOL
+0x4a94608d	end_buffer_write_sync	vmlinux	EXPORT_SYMBOL
+0x42dce4f0	d_rehash	vmlinux	EXPORT_SYMBOL
+0xda987559	isacsx_setup	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x34d155ab	b1_alloc_card	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x1fe16231	gs_start	drivers/char/generic_serial	EXPORT_SYMBOL
+0x9b9c7357	ide_build_dmatable	vmlinux	EXPORT_SYMBOL_GPL
+0x31e7356e	n_tty_ioctl	vmlinux	EXPORT_SYMBOL
+0x7a6c0ce5	pci_get_class	vmlinux	EXPORT_SYMBOL
+0x6b1b67d3	__bdevname	vmlinux	EXPORT_SYMBOL
+0x57afd6e0	cont_prepare_write	vmlinux	EXPORT_SYMBOL
+0x7a2aad8b	vfs_write	vmlinux	EXPORT_SYMBOL
+0x4ba0b42b	remove_shrinker	vmlinux	EXPORT_SYMBOL
+0xb113be53	change_page_attr	vmlinux	EXPORT_SYMBOL
+0x09f19c0c	snd_pcm_hw_refine	sound/core/snd-pcm	EXPORT_SYMBOL
+0x512c956d	mraid_mm_unregister_adp	drivers/scsi/megaraid/megaraid_mm	EXPORT_SYMBOL
+0x4ea698a2	ir_codes_purpletv	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x940c557d	dm_set_device_limits	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0xd7797d30	netif_rx	vmlinux	EXPORT_SYMBOL
+0x5517061a	__crypto_alg_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0x14f67530	ivtv_debug	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xa1eae7cf	num_midis	sound/oss/sound	EXPORT_SYMBOL
+0x71945659	unregister_ip_vs_app	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x66830c66	usb_create_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x72ea7b2d	scsi_device_type	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xab663c80	iw_handler_set_spy	vmlinux	EXPORT_SYMBOL
+0xd8a2731c	sb_dsp_detect	sound/oss/sb_lib	EXPORT_SYMBOL
+0xb0ac56e5	ib_dealloc_mw	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xaac686d9	unregister_binfmt	vmlinux	EXPORT_SYMBOL
+0xb922ecbc	__mod_timer	vmlinux	EXPORT_SYMBOL
+0xf0212db3	xdr_init_encode	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x584144d3	nf_conntrack_l4proto_icmp	net/ipv4/netfilter/nf_conntrack_ipv4	EXPORT_SYMBOL_GPL
+0xcbc3f957	pcmcia_request_io	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x907665bd	scx200_cb_base	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0x555c53a6	sock_no_accept	vmlinux	EXPORT_SYMBOL
+0x874aea72	acpi_os_signal	vmlinux	EXPORT_SYMBOL
+0xf2fb62ee	disable_timer_nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0xa841f003	mmc_unregister_driver	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x14ad9ea3	dvb_dmxdev_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xde6c42bc	dst_gpio_inb	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xaf5d533f	klist_del	vmlinux	EXPORT_SYMBOL_GPL
+0x388ad362	nf_log_unregister_logger	vmlinux	EXPORT_SYMBOL
+0x7ff8bd83	elevator_exit	vmlinux	EXPORT_SYMBOL
+0x0308573b	__lock_buffer	vmlinux	EXPORT_SYMBOL
+0x5ccafa4c	snd_ac97_write	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x6e3784f9	ieee80211_register_crypto_ops	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x589cad50	ir_codes_apac_viewcomp	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x0fd00a68	acpi_clear_event	vmlinux	EXPORT_SYMBOL
+0x0b865043	mtd_table	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x157ea24f	saa7134_set_dmabits	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x043a5292	tua6100_attach	drivers/media/dvb/frontends/tua6100	EXPORT_SYMBOL
+0x7538b132	agp_off	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x2189e32b	paravirt_ops	vmlinux	EXPORT_SYMBOL
+0x84f7659b	dma_release_declared_memory	vmlinux	EXPORT_SYMBOL
+0xd80e77bf	synth_buffer	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x6a071c36	__nf_ct_event_cache_init	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xeedbefea	inet6_csk_xmit	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xc3f66c03	sirdev_set_dtr_rts	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x5af076a7	dm_unregister_path_selector	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0x815b974c	tcp_ioctl	vmlinux	EXPORT_SYMBOL
+0x6d8bd06a	registered_fb	vmlinux	EXPORT_SYMBOL
+0xf991e305	vfs_symlink	vmlinux	EXPORT_SYMBOL
+0xf392d748	bt_class	net/bluetooth/bluetooth	EXPORT_SYMBOL_GPL
+0xa0c71dac	spi_populate_sync_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL_GPL
+0xab2c600e	create_proc_ide_interfaces	vmlinux	EXPORT_SYMBOL
+0x7a00f517	unmap_mapping_range	vmlinux	EXPORT_SYMBOL
+0x45805cee	__alloc_pages	vmlinux	EXPORT_SYMBOL
+0x8b618d08	overflowuid	vmlinux	EXPORT_SYMBOL
+0x7171121c	overflowgid	vmlinux	EXPORT_SYMBOL
+0xfc7ec049	reset_gpfs_operations	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4ecd1f84	tpm_show_caps_1_2	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x84e677f5	inet_select_addr	vmlinux	EXPORT_SYMBOL
+0x60a4a7de	pci_enable_device	vmlinux	EXPORT_SYMBOL
+0x92791568	wireless_send_event	vmlinux	EXPORT_SYMBOL
+0x04f19ebe	dcache_dir_close	vmlinux	EXPORT_SYMBOL
+0x43a4938f	vm_get_page_prot	vmlinux	EXPORT_SYMBOL
+0x5f09bf14	cxiYield	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9b3cd7ef	rtc_irq_set_state	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xbd34b8bc	phy_driver_register	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xab42f9c9	unregister_snap_client	vmlinux	EXPORT_SYMBOL
+0x3163d836	relay_reset	vmlinux	EXPORT_SYMBOL_GPL
+0xc5d6ab42	snd_akm4xxx_write	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0x9a41d9d6	phy_print_status	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xb4ac6555	dst_wait_dst_ready	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x2d6b2b7b	inet_put_port	vmlinux	EXPORT_SYMBOL
+0x09b648d3	sock_no_connect	vmlinux	EXPORT_SYMBOL
+0x50fed6f7	proc_ide_read_geometry	vmlinux	EXPORT_SYMBOL
+0x743e8e7f	pci_remove_rom	vmlinux	EXPORT_SYMBOL
+0x6c14439f	pci_remove_bus	vmlinux	EXPORT_SYMBOL
+0x905c63f6	dquot_mark_dquot_dirty	vmlinux	EXPORT_SYMBOL
+0xf9a02b7b	_write_unlock	vmlinux	EXPORT_SYMBOL
+0xd91e74f1	p80211skb_rxmeta_attach	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x39fc62db	snd_ice1712_akm4xxx_build_controls	sound/pci/ice1712/snd-ice17xx-ak4xxx	EXPORT_SYMBOL
+0xc6b4e134	w1_write_block	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0xb3c62942	mpt_attach	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x9c6906d1	videobuf_status	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4ace7662	dvb_pll_lg_tdvs_h06xf	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xb0c7b61d	pi_init	drivers/block/paride/paride	EXPORT_SYMBOL
+0x70d8ab82	acpi_acquire_global_lock	vmlinux	EXPORT_SYMBOL
+0x00566d8f	inotify_get_cookie	vmlinux	EXPORT_SYMBOL_GPL
+0xe8d11cf8	set_shrinker	vmlinux	EXPORT_SYMBOL
+0x76f3f8a5	num_k8_northbridges	vmlinux	EXPORT_SYMBOL
+0x6e224a7a	need_conntrack	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe8eee666	o2nm_node_put	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xcbe50932	flexcop_device_kmalloc	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x4a358252	__bitmap_subset	vmlinux	EXPORT_SYMBOL
+0x6e256502	cxiSafePutLong	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x398c7fec	cxiSafeGetLong	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa0c3a67d	mb_cache_entry_get	fs/mbcache	EXPORT_SYMBOL
+0xf826deb0	dvb_filter_pes2ts	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x2b730736	eth_type_trans	vmlinux	EXPORT_SYMBOL
+0x06508adc	debugfs_create_blob	vmlinux	EXPORT_SYMBOL_GPL
+0xbfd3488b	send_sig	vmlinux	EXPORT_SYMBOL
+0x602c96f0	copy_to_user_fromio	sound/core/snd	EXPORT_SYMBOL
+0x2036ad06	irda_param_insert	net/irda/irda	EXPORT_SYMBOL
+0xc97a5207	scsi_nonblockable_ioctl	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd18fc8cb	tcp_shutdown	vmlinux	EXPORT_SYMBOL
+0x2d5c06ec	down_write_trylock	vmlinux	EXPORT_SYMBOL
+0x8abac70a	param_set_uint	vmlinux	EXPORT_SYMBOL
+0xd431f85c	rpc_init_wait_queue	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x22a8addb	hpsb_node_fill_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x22606052	cdrom_open	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x666f9881	tcp_v4_md5_do_add	vmlinux	EXPORT_SYMBOL
+0x199ed0cd	net_disable_timestamp	vmlinux	EXPORT_SYMBOL
+0x506abaa2	blk_end_sync_rq	vmlinux	EXPORT_SYMBOL
+0x5a3e4571	snd_seq_fm_init	sound/core/seq/instr/snd-ainstr-fm	EXPORT_SYMBOL
+0x4afe9a77	scsi_partsize	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6b99ca6e	mpt_put_msg_frame	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x69e9a2cb	ata_scsi_slave_config	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa979add1	ata_pci_device_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x11268a58	drm_pci_alloc	drivers/char/drm/drm	EXPORT_SYMBOL
+0x00112f51	groups_alloc	vmlinux	EXPORT_SYMBOL
+0x916b8d77	cxiMmapUnregister	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd4a46781	alloc_ieee80211	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x75a921ce	ib_create_cm_id	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xf338d4c3	netlink_unregister_notifier	vmlinux	EXPORT_SYMBOL
+0x8404ce5f	simple_release_fs	vmlinux	EXPORT_SYMBOL
+0x21d12bec	iscsi_change_queue_depth	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x2db2ec29	ipmi_create_user	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xfa5504f6	generic_file_aio_write_nolock	vmlinux	EXPORT_SYMBOL
+0x4fc8f6c3	rt2x00lib_config	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x2dfa2c31	scsi_host_put	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5fd014d2	mtd_concat_create	drivers/mtd/mtdconcat	EXPORT_SYMBOL
+0x1e70921a	kvm_exit_arch	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x627cd556	p80211_resume	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x5adde04d	snd_ad1848_out	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x5b5e2206	usb_ftdi_elan_read_pcimem	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xa56dc16f	sas_domain_release_transport	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x62e32d43	capilib_data_b3_conf	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x272552e6	add_wait_queue	vmlinux	EXPORT_SYMBOL
+0x0c7824e7	cyber2000fb_enable_extregs	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0xcb06e71b	z8530_sync_close	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xaa344ccf	tpm_open	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x29fef3be	dev_add_pack	vmlinux	EXPORT_SYMBOL
+0x0a3131f6	strnchr	vmlinux	EXPORT_SYMBOL
+0x92fb217b	dcookie_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x081dcac8	balance_dirty_pages_ratelimited_nr	vmlinux	EXPORT_SYMBOL
+0xf50fc6fc	cxiSetOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xc32373d6	cxiPutOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6339b6d0	snd_seq_device_load_drivers	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0x1af6c58b	journal_clear_err	fs/jbd/jbd	EXPORT_SYMBOL
+0x20914d13	isacsx_irq	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x6989a769	vsnprintf	vmlinux	EXPORT_SYMBOL
+0x44b911c3	rb_replace_node	vmlinux	EXPORT_SYMBOL
+0xe50a776d	crypto_mod_put	vmlinux	EXPORT_SYMBOL_GPL
+0xc7117960	ssb_set_devtypedata	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x5e256b57	snd_pcm_hw_constraint_pow2	sound/core/snd-pcm	EXPORT_SYMBOL
+0x82f94e40	nf_ct_gre_keymap_flush	net/netfilter/nf_conntrack_proto_gre	EXPORT_SYMBOL
+0xa7b5e686	dlm_register_eviction_cb	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x99cdc86b	sysctl_tcp_reordering	vmlinux	EXPORT_SYMBOL
+0xe82eaa01	__ide_dma_bad_drive	vmlinux	EXPORT_SYMBOL
+0x890a6ab7	ide_execute_command	vmlinux	EXPORT_SYMBOL
+0x5b18d72e	blkdev_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x0b985f54	vfs_quota_on_mount	vmlinux	EXPORT_SYMBOL
+0x69d7f647	tty_ldisc_flush	vmlinux	EXPORT_SYMBOL_GPL
+0x89455aa6	crypto_register_instance	vmlinux	EXPORT_SYMBOL_GPL
+0x7df4a047	crypto_alloc_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0x8a7238d7	snd_sb16dsp_get_pcm_ops	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0x61fa936b	tty_set_operations	vmlinux	EXPORT_SYMBOL
+0x3c29326d	mark_buffer_dirty	vmlinux	EXPORT_SYMBOL
+0x787fbf8a	get_super	vmlinux	EXPORT_SYMBOL
+0x00801678	flush_scheduled_work	vmlinux	EXPORT_SYMBOL
+0x39226dbb	snd_cs4231_chip_id	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xd2328794	tms380tr_wait	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0x1571b9a6	ib_create_ah_from_wc	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xad385274	skb_copy_and_csum_bits	vmlinux	EXPORT_SYMBOL
+0xfe84c23d	ll_rw_block	vmlinux	EXPORT_SYMBOL
+0xbaaf6d78	nl80211hdr_put	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL_GPL
+0x9a95733f	sound_alloc_dma	sound/oss/sound	EXPORT_SYMBOL
+0xf5f4c1c0	sas_rphy_free	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x67741c0c	fc_release_transport	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x1858f5f7	ps2_sendbyte	vmlinux	EXPORT_SYMBOL
+0x1354e030	cxiSetCred	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf1976019	cxiPutCred	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd2c6dca7	cxiGetCred	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x51d7a776	acpi_detach_data	vmlinux	EXPORT_SYMBOL
+0xe716baed	acpi_unregister_ioapic	vmlinux	EXPORT_SYMBOL
+0x7475b734	attach_mpu401	sound/oss/mpu401	EXPORT_SYMBOL
+0x12e280e3	svc_proc_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbc071706	nfnetlink_send	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xa4bf7254	ib_fmr_pool_unmap	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xc6d05cea	pi_write_block	drivers/block/paride/paride	EXPORT_SYMBOL
+0xc62d268f	device_create_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0x98a7d3ba	pci_intx	vmlinux	EXPORT_SYMBOL_GPL
+0x83800bfa	kref_init	vmlinux	EXPORT_SYMBOL
+0x95cc2139	__PAGE_KERNEL	vmlinux	EXPORT_SYMBOL
+0xfff0e708	cap_bprm_apply_creds	security/commoncap	EXPORT_SYMBOL
+0x56ea266a	dccp_state_name	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x9e23ac99	pccard_get_tuple_data	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x843ddba1	agp_generic_free_by_type	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x7613b95d	dev_set_mac_address	vmlinux	EXPORT_SYMBOL
+0xcfae6ebe	sk_receive_skb	vmlinux	EXPORT_SYMBOL
+0xcb068832	serio_open	vmlinux	EXPORT_SYMBOL
+0x22b325d5	kd_mksound	vmlinux	EXPORT_SYMBOL
+0xfab9699d	acpi_os_unmap_memory	vmlinux	EXPORT_SYMBOL_GPL
+0xb68744b2	audit_log_format	vmlinux	EXPORT_SYMBOL
+0x86fe23f6	snd_usb_create_midi_interface	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0x1d64d702	loop_register_transfer	drivers/block/loop	EXPORT_SYMBOL
+0xd6751bc2	sock_register	vmlinux	EXPORT_SYMBOL
+0x60ce128a	serio_close	vmlinux	EXPORT_SYMBOL
+0x30239337	pci_find_bus	vmlinux	EXPORT_SYMBOL
+0x90a943ba	nmi_active	vmlinux	EXPORT_SYMBOL
+0xf4a5c213	avail_to_resrv_perfctr_nmi_bit	vmlinux	EXPORT_SYMBOL
+0x17fd8e28	__snd_util_mem_alloc	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x4b2243c6	tipc_portimportance	net/tipc/tipc	EXPORT_SYMBOL
+0x538b228a	tipc_withdraw	net/tipc/tipc	EXPORT_SYMBOL
+0x34f840e8	inet6_register_protosw	net/ipv6/ipv6	EXPORT_SYMBOL
+0x612fa4e7	ieee80211_get_crypto_ops	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xbb1e2267	hdlc_open	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x69816b85	register_mtd_blktrans	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0x5da74240	saa7134_pgtable_free	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x3254bcb5	hpsb_packet_success	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc8b16193	__ide_dma_on	vmlinux	EXPORT_SYMBOL
+0x78cf4783	snd_midi_event_encode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x986ed624	dccp_tx_hist_purge_older	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x526987fe	ib_get_dma_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xa8535525	ip_nat_decode_session	vmlinux	EXPORT_SYMBOL
+0x094839a8	skb_under_panic	vmlinux	EXPORT_SYMBOL
+0x121705ec	mca_register_driver	vmlinux	EXPORT_SYMBOL
+0x7c70150b	vfs_writev	vmlinux	EXPORT_SYMBOL
+0xc04f6f67	ad1848_control	sound/oss/ad1848	EXPORT_SYMBOL
+0xc64b0087	rxrpc_add_service	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x3614cdac	videobuf_next_field	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xeaa76ace	proc_dointvec	vmlinux	EXPORT_SYMBOL
+0xf5019917	snd_seq_instr_event	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x214b3303	nf_nat_proto_put	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x687f6251	mlog_and_bits	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x776b33ca	scsi_host_put_command	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x36dd0e5a	hostap_set_hostapd_sta	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xe30b5482	cxiKDoIO	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x3c30f290	rpc_print_iostats	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xaeff19a8	rxrpc_create_connection	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x3de603e6	srp_target_alloc	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x1c6b049d	atm_dev_lookup	vmlinux	EXPORT_SYMBOL
+0xee3023e8	acpi_bus_register_driver	vmlinux	EXPORT_SYMBOL
+0x5891b165	set_ras_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0xdc5c11e6	drm_open	drivers/char/drm/drm	EXPORT_SYMBOL
+0x826c36cc	nf_hook_slow	vmlinux	EXPORT_SYMBOL
+0xce5ac24f	zlib_inflate_workspacesize	vmlinux	EXPORT_SYMBOL
+0x959b995e	sync_page_range	vmlinux	EXPORT_SYMBOL
+0x9080590a	cxiFcntlLock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x28f6dc90	snd_pcm_limit_hw_rates	sound/core/snd-pcm	EXPORT_SYMBOL
+0x36418553	o2net_send_message	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xace5c0fc	usb_bus_list	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xd9b36c75	NCR_700_release	drivers/scsi/53c700	EXPORT_SYMBOL
+0xefbb1f7d	usb_cypress_load_firmware	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x1cac4827	tcp_recvmsg	vmlinux	EXPORT_SYMBOL
+0x8faaf828	match_strcpy	vmlinux	EXPORT_SYMBOL
+0x59e7cf02	cxiClearBit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x15c1c729	dvb_ringbuffer_avail	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x3e0a9d2f	pi_connect	drivers/block/paride/paride	EXPORT_SYMBOL
+0x20b6a94b	ata_scsi_queuecmd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x03a1bf0f	proc_dointvec_userhz_jiffies	vmlinux	EXPORT_SYMBOL
+0x4902fd34	console_start	vmlinux	EXPORT_SYMBOL
+0x25d89d46	ivtv_cards	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x6b7e96fc	xt_register_match	net/netfilter/x_tables	EXPORT_SYMBOL
+0x58d0e90f	parport_unregister_driver	drivers/parport/parport	EXPORT_SYMBOL
+0x1fd903e0	z8530_get_stats	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x7f1c3e94	tcp_simple_retransmit	vmlinux	EXPORT_SYMBOL
+0xce136fbc	inet_csk_bind_conflict	vmlinux	EXPORT_SYMBOL_GPL
+0x226ecdf0	simple_dir_inode_operations	vmlinux	EXPORT_SYMBOL
+0xef3bd862	mca_find_unused_adapter	vmlinux	EXPORT_SYMBOL
+0x63e23fc8	drive_is_ready	vmlinux	EXPORT_SYMBOL
+0x0b1c11ef	dmam_pool_create	vmlinux	EXPORT_SYMBOL
+0x81ca6df6	register_kretprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x8cd9050b	snd_emu10k1_synth_free	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x443253e4	cpci_hp_register_bus	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x672ad148	dma_region_sync_for_device	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x07fd83ee	mod_unreg_security	vmlinux	EXPORT_SYMBOL_GPL
+0xa0800cce	__find_get_block	vmlinux	EXPORT_SYMBOL
+0x469e18e1	dcache_dir_open	vmlinux	EXPORT_SYMBOL
+0x023eb25e	put_unused_fd	vmlinux	EXPORT_SYMBOL
+0x30d18ff2	inet6_lookup_listener	vmlinux	EXPORT_SYMBOL_GPL
+0x17a76e71	rb_first	vmlinux	EXPORT_SYMBOL
+0x7c904ded	unregister_module_notifier	vmlinux	EXPORT_SYMBOL
+0xa10dc9a2	snd_seq_gf1_init	sound/core/seq/instr/snd-ainstr-gf1	EXPORT_SYMBOL
+0x86898881	sas_change_queue_depth	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x2609d3ff	gs_write	drivers/char/generic_serial	EXPORT_SYMBOL
+0xc3b117a7	ata_dummy_port_ops	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xcf047c83	acpi_disable_gpe	vmlinux	EXPORT_SYMBOL
+0x8a5d94be	zero_fill_bio	vmlinux	EXPORT_SYMBOL
+0x8a855cf2	mmc_resume_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xd77eac66	bus_register	vmlinux	EXPORT_SYMBOL_GPL
+0x082c3213	pci_root_buses	vmlinux	EXPORT_SYMBOL
+0x98cc9b39	ieee80211_txb_free	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xf65cb0af	mmc_alloc_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x25e34d55	videobuf_iolock	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x0417ac6a	ib_find_cached_gid	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xc98cadb1	ata_std_dev_select	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x986e6135	fb_pad_unaligned_buffer	vmlinux	EXPORT_SYMBOL
+0x5568be43	lock_kernel	vmlinux	EXPORT_SYMBOL
+0xb8e23e45	generic_file_buffered_write	vmlinux	EXPORT_SYMBOL
+0x1b9981cc	set_irq_wake	vmlinux	EXPORT_SYMBOL
+0x70c15ac1	snd_dma_disable	sound/core/snd	EXPORT_SYMBOL
+0x50c99123	snd_rawmidi_drain_input	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x26e04614	lapb_data_received	net/lapb/lapb	EXPORT_SYMBOL
+0x3a0b0d14	dccp_death_row	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xee7f55f9	ttpci_budget_set_video_port	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x5ba56995	input_open_device	vmlinux	EXPORT_SYMBOL
+0xe62094cc	fsync_bdev	vmlinux	EXPORT_SYMBOL
+0xcbda5a08	_read_unlock_irqrestore	vmlinux	EXPORT_SYMBOL
+0x1d85be7f	ssb_pcihost_register	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xe7150c17	snd_ak4117_external_rate	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x30a38043	snd_ak4114_external_rate	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0x88ae5965	cache_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x85280ca6	ip6_dst_lookup	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xe39d38aa	device_for_each_child	vmlinux	EXPORT_SYMBOL_GPL
+0x07053ad4	ieee80211_free_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xb9948d2c	snd_midi_channel_free_set	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0xb3f61744	dccp_close	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x403cd8bf	hci_resume_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x979b3052	dma_prog_region_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xe8a3605f	acpi_processor_set_thermal_limit	drivers/acpi/processor	EXPORT_SYMBOL
+0xb27005f5	device_suspend	vmlinux	EXPORT_SYMBOL_GPL
+0xf47d47e0	acpi_enable_gpe	vmlinux	EXPORT_SYMBOL
+0x55ac505c	unregister_key_type	vmlinux	EXPORT_SYMBOL
+0x6689b8a2	remove_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x02a44b5e	tipc_set_msg_option	net/tipc/tipc	EXPORT_SYMBOL
+0xa526a939	rpc_shutdown_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf67ffd8c	dlmunlock	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xe3d80064	z8530_hdlc_kilostream_85230	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x145aad58	pppox_ioctl	drivers/net/pppox	EXPORT_SYMBOL
+0x0737165e	saa7146_i2c_transfer	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x9f8fe03b	ata_pci_init_one	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa34bc437	firmware_register	vmlinux	EXPORT_SYMBOL_GPL
+0x8d3894f2	_ctype	vmlinux	EXPORT_SYMBOL
+0xca4edb7b	blk_get_queue	vmlinux	EXPORT_SYMBOL
+0xb77a9c55	bd_set_size	vmlinux	EXPORT_SYMBOL
+0x292cda6d	pcmcia_write_cis_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xb5442b04	udp_proc_unregister	vmlinux	EXPORT_SYMBOL
+0xf0d89116	pci_set_dma_mask	vmlinux	EXPORT_SYMBOL
+0x062bdb0e	x86_acpiid_to_apicid	vmlinux	EXPORT_SYMBOL
+0xde65f540	snd_emu8000_load_reverb_fx	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x6402f20d	snd_pcm_stop	sound/core/snd-pcm	EXPORT_SYMBOL
+0xb6b2ff30	__nf_conntrack_expect_find	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x1baad690	ib_alloc_fmr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xce2412bd	inet_sk_rebuild_header	vmlinux	EXPORT_SYMBOL
+0x07e85e74	skb_copy	vmlinux	EXPORT_SYMBOL
+0x73c3f71a	input_inject_event	vmlinux	EXPORT_SYMBOL
+0xa458648c	pci_bus_read_config_dword	vmlinux	EXPORT_SYMBOL
+0x23f2d36f	memparse	vmlinux	EXPORT_SYMBOL
+0xba4f9a36	block_truncate_page	vmlinux	EXPORT_SYMBOL
+0x0c5d601d	generic_write_checks	vmlinux	EXPORT_SYMBOL
+0x72270e35	do_gettimeofday	vmlinux	EXPORT_SYMBOL
+0xd6035d05	do_settimeofday	vmlinux	EXPORT_SYMBOL
+0x9725693f	iscsi_session_get_param	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xa879ecbe	drm_locked_tasklet	drivers/char/drm/drm	EXPORT_SYMBOL
+0xa5c0bd1e	uart_match_port	vmlinux	EXPORT_SYMBOL
+0x36d5355b	acpi_register_gsi	vmlinux	EXPORT_SYMBOL
+0x2258d4ab	rt2x00lib_config_interface	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xdedf2dd6	destroy_8023_client	net/802/p8023	EXPORT_SYMBOL
+0xd8730208	saa_dsp_writel	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0xe5ae8707	intlog10	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x8c80b53d	flow_cache_lookup	vmlinux	EXPORT_SYMBOL
+0xe0de6b64	alloc_tty_driver	vmlinux	EXPORT_SYMBOL
+0x4866643e	pcie_port_service_register	vmlinux	EXPORT_SYMBOL
+0x0cf88853	cxiExportModuleStruct	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe4108960	scsi_is_sas_phy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xcc436e6c	pci_hotplug_slots_subsys	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x87087f33	stop_atmel_card	drivers/net/wireless/atmel	EXPORT_SYMBOL
+0x2ac32ce7	acpi_processor_register_performance	drivers/acpi/processor	EXPORT_SYMBOL
+0xf0a8dd90	cpufreq_register_governor	vmlinux	EXPORT_SYMBOL_GPL
+0x662853cb	cxiUpdateInode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xa57ebd16	z8530_sync_open	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x991c63f3	lnbp21_attach	drivers/media/dvb/frontends/lnbp21	EXPORT_SYMBOL
+0xf14bf8b1	b1pcmcia_addcard_b1	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0xaec3240e	b1pcmcia_addcard_m1	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0xea620116	b1pcmcia_addcard_m2	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0x16e7b88b	gs_set_termios	drivers/char/generic_serial	EXPORT_SYMBOL
+0x10ee20bb	default_blu	vmlinux	EXPORT_SYMBOL
+0xbc6b1841	blk_register_region	vmlinux	EXPORT_SYMBOL
+0xb69a41b9	bio_put	vmlinux	EXPORT_SYMBOL
+0xd6875fa3	_write_unlock_bh	vmlinux	EXPORT_SYMBOL
+0x04a8927f	rt2x00lib_get_tx_stats	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x5878348c	ieee80211_rts_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x790da802	journal_force_commit	fs/jbd/jbd	EXPORT_SYMBOL
+0xd2b32e52	w1_read_block	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0xef9f1aab	scsi_is_target_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa1734662	video_ioctl2	drivers/media/video/videodev	EXPORT_SYMBOL
+0xf2cce087	ohci1394_stop_context	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0xbdd4b116	tpm_store_cancel	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xf9dbfe10	sata_port_hardreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xac93ae05	ax25_bcast	net/ax25/ax25	EXPORT_SYMBOL_GPL
+0x95ed290e	phy_write	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x8640eaeb	ib_modify_qp_is_ok	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x44d4a420	sk_dst_check	vmlinux	EXPORT_SYMBOL
+0xefb38224	inode_needs_sync	vmlinux	EXPORT_SYMBOL
+0xf63b8a3f	grab_cache_page_nowait	vmlinux	EXPORT_SYMBOL
+0x337032c5	attach_ms_sound	sound/oss/ad1848	EXPORT_SYMBOL
+0x6f9ad3ee	snd_rawmidi_receive	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xbb9c5105	irttp_connect_request	net/irda/irda	EXPORT_SYMBOL
+0x23d31fd6	irlmp_connect_request	net/irda/irda	EXPORT_SYMBOL
+0x8b6debad	scsi_internal_device_block	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x42929c56	saa7134_tvaudio_setmute	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0xd9c7f010	ir_codes_rc5_tv	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xd324ba93	dev_base	vmlinux	EXPORT_SYMBOL
+0xdbb48207	dev_getfirstbyhwtype	vmlinux	EXPORT_SYMBOL
+0x25820c64	fs_overflowuid	vmlinux	EXPORT_SYMBOL
+0x8e4c5880	wake_up_process	vmlinux	EXPORT_SYMBOL
+0x66212d85	snd_seq_kernel_client_enqueue	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x04306914	tipc_get_port	net/tipc/tipc	EXPORT_SYMBOL
+0x7962e78f	__nf_ct_refresh_acct	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xfa9f2458	ieee80211_rx_mgt	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x53dea1ff	ax2asc	net/ax25/ax25	EXPORT_SYMBOL
+0x5b44cc16	scsi_is_sas_port	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x4a4bdd65	scsi_target_resume	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x1658fcf3	flexcop_device_exit	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x4f476e96	init_cdrom_command	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xa300e425	skb_dequeue_tail	vmlinux	EXPORT_SYMBOL
+0xd9c272aa	mca_mark_as_unused	vmlinux	EXPORT_SYMBOL
+0xb517850e	input_ff_erase	vmlinux	EXPORT_SYMBOL_GPL
+0x2bbad503	_spin_unlock_irq	vmlinux	EXPORT_SYMBOL
+0xe66ff0f9	fat_fs_panic	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x9fe8ce71	srp_cmd_queue	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x93d434b4	videobuf_dma_unmap	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xe49740f6	gigaset_handle_modem_response	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x47d3fc51	capi_info2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x6cb5d68e	hpsb_free_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x243c4a75	inet_stream_ops	vmlinux	EXPORT_SYMBOL
+0xc5facbb0	qdisc_reset	vmlinux	EXPORT_SYMBOL
+0x63ecad53	register_netdevice_notifier	vmlinux	EXPORT_SYMBOL
+0xc35e37ea	pci_get_device	vmlinux	EXPORT_SYMBOL
+0x65c92b11	blk_complete_request	vmlinux	EXPORT_SYMBOL
+0x8467fda3	end_that_request_last	vmlinux	EXPORT_SYMBOL
+0xb168e96b	bio_unmap_user	vmlinux	EXPORT_SYMBOL
+0x4c995259	system_latency_constraint	vmlinux	EXPORT_SYMBOL_GPL
+0x28ff22ac	edac_mc_free	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xcc7cff43	put_inotify_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x8f7aa66f	cap_inode_removexattr	security/commoncap	EXPORT_SYMBOL
+0x259b74f9	tipc_acknowledge	net/tipc/tipc	EXPORT_SYMBOL
+0x3350dc1a	dccp_connect	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x596b6523	fixed_mdio_set_link_update	drivers/net/phy/fixed	EXPORT_SYMBOL
+0xf5c8131d	isdnhdlc_encode	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0xd1539c67	__net_timestamp	vmlinux	EXPORT_SYMBOL
+0x466c14a7	__delay	vmlinux	EXPORT_SYMBOL
+0xdb97992d	dnotify_parent	vmlinux	EXPORT_SYMBOL_GPL
+0x89b94e41	get_sb_single	vmlinux	EXPORT_SYMBOL
+0xdc2adb35	add_taint	vmlinux	EXPORT_SYMBOL
+0x60a32ea9	pm_power_off	vmlinux	EXPORT_SYMBOL
+0xaa257d34	__neigh_for_each_release	vmlinux	EXPORT_SYMBOL
+0x5fdbafa6	spi_busnum_to_master	vmlinux	EXPORT_SYMBOL_GPL
+0xdc961da3	device_initialize	vmlinux	EXPORT_SYMBOL_GPL
+0x7dbfaf21	blk_queue_init_tags	vmlinux	EXPORT_SYMBOL
+0x51b874c0	user_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x116eac84	dquot_alloc_inode	vmlinux	EXPORT_SYMBOL
+0xd6dcbceb	bdget	vmlinux	EXPORT_SYMBOL
+0x1421d263	bdput	vmlinux	EXPORT_SYMBOL
+0x3d1393b2	fsstack_copy_inode_size	vmlinux	EXPORT_SYMBOL_GPL
+0x2bab60c0	nf_conntrack_untracked	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xdb2ceff8	dm_table_get	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8691989a	ide_rate_filter	vmlinux	EXPORT_SYMBOL
+0x04a19dfb	cap_capset_set	security/commoncap	EXPORT_SYMBOL
+0x597d399c	scsi_tgt_cmd_to_host	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0xc59d99fc	arp_broken_ops	vmlinux	EXPORT_SYMBOL
+0xdc648ef1	tcf_em_register	vmlinux	EXPORT_SYMBOL
+0x5cfcf0f1	percpu_free	vmlinux	EXPORT_SYMBOL_GPL
+0x5a5e4a96	dm_io_async_bvec	drivers/md/dm-mod	EXPORT_SYMBOL
+0xde55a3c9	cdrom_ioctl	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x24428be5	strncpy_from_user	vmlinux	EXPORT_SYMBOL
+0xecf3a819	bio_init	vmlinux	EXPORT_SYMBOL
+0x7278d328	all_vm_events	vmlinux	EXPORT_SYMBOL_GPL
+0x1603d77f	rpc_max_payload	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x2bedd8a6	gss_mech_put	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x8bcf7466	cx8802_buf_prepare	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xdbfcf457	pi_write_regr	drivers/block/paride/paride	EXPORT_SYMBOL
+0x95f78194	inet6_hash_connect	vmlinux	EXPORT_SYMBOL_GPL
+0xfe320577	gnet_stats_copy_rate_est	vmlinux	EXPORT_SYMBOL
+0x6ffe138f	create_empty_buffers	vmlinux	EXPORT_SYMBOL
+0xbbae7a26	init_special_inode	vmlinux	EXPORT_SYMBOL
+0x95ee2150	rtl_ieee80211_stop_queue	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8f595b11	snd_major	sound/core/snd	EXPORT_SYMBOL
+0xc45e0162	videobuf_read_stop	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xc79bcd36	dm_vcalloc	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8a96a5a2	skb_make_writable	vmlinux	EXPORT_SYMBOL
+0x53c0767c	sk_chk_filter	vmlinux	EXPORT_SYMBOL
+0x64ab9c1b	__ide_dma_off	vmlinux	EXPORT_SYMBOL
+0x911a702e	simple_attr_close	vmlinux	EXPORT_SYMBOL_GPL
+0x82897f45	__mod_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x045d74c9	__inc_zone_page_state	vmlinux	EXPORT_SYMBOL
+0xe517297a	__dec_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x6402aaff	release_resource	vmlinux	EXPORT_SYMBOL
+0x61e0681d	cs_error	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x6dcf4abb	z8530_nop	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x69bcfcd1	ppp_register_compressor	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x8e1e980b	videobuf_waiton	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x1739c81d	dvb_pll_tua6010xs	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x4e8a4d69	brioctl_set	vmlinux	EXPORT_SYMBOL
+0xb9603aea	vm_insert_pfn	vmlinux	EXPORT_SYMBOL
+0xe868af29	out_of_line_wait_on_bit_lock	vmlinux	EXPORT_SYMBOL
+0x21488ad9	fat_remove_entries	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x9d8b6187	xfrm_state_alloc	vmlinux	EXPORT_SYMBOL
+0x745ed9b2	page_symlink	vmlinux	EXPORT_SYMBOL
+0xa5b301c8	o2hb_register_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xe35344d4	tda10045_attach	drivers/media/dvb/frontends/tda1004x	EXPORT_SYMBOL
+0x26dcfe21	tda10046_attach	drivers/media/dvb/frontends/tda1004x	EXPORT_SYMBOL
+0x6ee21284	__xfrm_route_forward	vmlinux	EXPORT_SYMBOL
+0xd1dcc2c7	sb_dsp_init	sound/oss/sb_lib	EXPORT_SYMBOL
+0x1f3e2e2a	spi_bitbang_setup	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0x0bdf8d89	scsi_target_unblock	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xd1e0258a	ir_codes_flyvideo	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x227ae7d3	gen_replace_estimator	vmlinux	EXPORT_SYMBOL
+0x9c98d879	ide_acpi_get_timing	vmlinux	EXPORT_SYMBOL_GPL
+0x5ad53dbc	param_set_byte	vmlinux	EXPORT_SYMBOL
+0x5611e4ec	param_get_bool	vmlinux	EXPORT_SYMBOL
+0x1b82a90e	rtc_device_unregister	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xee46feef	acpi_get_devices	vmlinux	EXPORT_SYMBOL
+0x0760c7db	init_srcu_struct	vmlinux	EXPORT_SYMBOL_GPL
+0x740a1b95	reserve_evntsel_nmi	vmlinux	EXPORT_SYMBOL
+0x2466d5c1	snd_opl3_init	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x0ae47cfd	sunrpc_cache_lookup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xfe6c618e	parport_ieee1284_interrupt	drivers/parport/parport	EXPORT_SYMBOL
+0x9c1d2475	phy_attach	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xd8e439bf	arp_tbl	vmlinux	EXPORT_SYMBOL
+0x6237f6b5	acpi_enable_event	vmlinux	EXPORT_SYMBOL
+0x065994f1	xdr_encode_opaque_fixed	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x26453add	xt_unregister_match	net/netfilter/x_tables	EXPORT_SYMBOL
+0x4aed7682	acpiphp_unregister_attention	drivers/pci/hotplug/acpiphp	EXPORT_SYMBOL_GPL
+0x0d3cfd51	rdma_translate_ip	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x19e4cd8b	pi_read_block	drivers/block/paride/paride	EXPORT_SYMBOL
+0xd81c3915	matrox_millennium	drivers/video/matrox/matroxfb_Ti3026	EXPORT_SYMBOL
+0x4cdb4bd0	speedstep_get_processor_frequency	arch/i386/kernel/cpu/cpufreq/speedstep-lib	EXPORT_SYMBOL_GPL
+0xad13c689	acpi_os_execute	vmlinux	EXPORT_SYMBOL
+0xc4064e5e	mptscsih_suspend	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x1c932f39	RingQueue_Enqueue	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xe515c807	gigaset_freecs	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xddc5fb81	drm_agp_acquire	drivers/char/drm/drm	EXPORT_SYMBOL
+0x3ae2ea82	ide_acpi_push_timing	vmlinux	EXPORT_SYMBOL_GPL
+0xf94e0db2	unregister_sysrq_key	vmlinux	EXPORT_SYMBOL
+0x28b715a6	isapnp_cfg_end	vmlinux	EXPORT_SYMBOL
+0xcd89af28	simple_transaction_get	vmlinux	EXPORT_SYMBOL
+0x36e1e6ae	__nf_conntrack_find	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xd3f714e5	hermes_bap_pread	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x6e2a1870	ir_codes_adstech_dvb_t_pci	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x274245e9	klist_node_attached	vmlinux	EXPORT_SYMBOL_GPL
+0x6245f3c0	lock_sock_nested	vmlinux	EXPORT_SYMBOL
+0xa5fa903a	platform_add_devices	vmlinux	EXPORT_SYMBOL_GPL
+0xcfaf6a3e	k_handler	vmlinux	EXPORT_SYMBOL
+0x363a2df4	cxiWaitEventWait	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x4e16c8be	cxiWaitEventInit	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x28b8f37f	rxrpc_put_transport	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x93d45caf	usb_deregister	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL_FUTURE
+0x7e3acdfa	bitmap_close_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0xabb2bd1a	hpsb_unlisten_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x1f651fb0	gf128mul_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0x6e4c9766	skb_icv_walk	vmlinux	EXPORT_SYMBOL_GPL
+0x037c4c15	p54_parse_firmware	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x0f280035	conf_printf	sound/oss/sound	EXPORT_SYMBOL
+0x04cda566	snd_interval_refine	sound/core/snd-pcm	EXPORT_SYMBOL
+0x6e456a04	hostap_master_start_xmit	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x328883cd	set_cr8	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xded15bdc	acpi_bus_unregister_driver	vmlinux	EXPORT_SYMBOL
+0xbef56b0b	crypto_alloc_instance	vmlinux	EXPORT_SYMBOL_GPL
+0x7240123d	mpage_writepage	vmlinux	EXPORT_SYMBOL
+0xddb12f67	vmalloc_earlyreserve	vmlinux	EXPORT_SYMBOL
+0x6b2dc060	dump_stack	vmlinux	EXPORT_SYMBOL
+0xc4cd3b6a	nfnetlink_subsys_unregister	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x90d4b914	scsi_execute_async	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xd151918f	rtc_read_time	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xd5336e5d	hermes_init	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x47f7ba72	ata_dev_pair	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5b66be36	flexcop_dma_config	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x2caa2389	hpsb_unregister_protocol	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xafcc383f	drm_core_reclaim_buffers	drivers/char/drm/drm	EXPORT_SYMBOL
+0xa3bbcd80	acpi_set_gpe_type	vmlinux	EXPORT_SYMBOL
+0xe18a8509	kobject_del	vmlinux	EXPORT_SYMBOL
+0xa6792995	snd_ctl_find_numid	sound/core/snd	EXPORT_SYMBOL
+0x796f5b40	rpc_exit_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x5f4e078d	nat_callforwarding_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x14d9c60a	qlogicfas408_biosparam	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x84c16d22	poll_initwait	vmlinux	EXPORT_SYMBOL
+0xcd9d9b85	unregister_console	vmlinux	EXPORT_SYMBOL
+0x67481767	opl3_detect	sound/oss/opl3	EXPORT_SYMBOL
+0x396c150e	ieee80211_get_geo	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x4900035b	o2hb_stop_all_regions	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x967fdf93	phy_disconnect	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xd8e484f0	register_chrdev_region	vmlinux	EXPORT_SYMBOL
+0xe38a6c27	snd_gf1_i_look16	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xf69f2fd0	cx88_risc_buffer	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xb45b1c4f	inet_csk_reqsk_queue_prune	vmlinux	EXPORT_SYMBOL_GPL
+0xa1b6439c	netdev_state_change	vmlinux	EXPORT_SYMBOL
+0x310917fe	sort	vmlinux	EXPORT_SYMBOL
+0xbf15a18c	snd_rawmidi_kernel_read	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xbce67dc0	xprt_set_timeout	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x18c71ef0	usb_sg_cancel	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xc8ebfa34	ib_register_mad_snoop	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x89fac617	struct_module	vmlinux	EXPORT_SYMBOL
+0xc854b8fc	snd_emux_new	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0xef56d3df	audio_devs	sound/oss/sound	EXPORT_SYMBOL
+0x78473d31	iscsi_destroy_conn	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x22e16cdb	pcmcia_get_status	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x585a1935	ib_register_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x7d4f42ee	nf_register_queue_handler	vmlinux	EXPORT_SYMBOL
+0xd76e891c	shrink_dcache_sb	vmlinux	EXPORT_SYMBOL
+0x904936a5	ivtv_udma_alloc	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x333bebb1	snd_seq_instr_list_free_cond	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0xf2c188ba	ib_register_event_handler	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xed52d96e	ipmi_unregister_for_cmd	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x968182db	blkdev_issue_flush	vmlinux	EXPORT_SYMBOL
+0x5bd01dba	default_backing_dev_info	vmlinux	EXPORT_SYMBOL_GPL
+0xe513afc0	cache_k8_northbridges	vmlinux	EXPORT_SYMBOL_GPL
+0x6a390509	cap_capget	security/commoncap	EXPORT_SYMBOL
+0x344eaace	ieee80211_crypt_quiescing	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xa5693df7	posix_acl_clone	vmlinux	EXPORT_SYMBOL
+0x388ea4dd	generic_drop_inode	vmlinux	EXPORT_SYMBOL_GPL
+0x6901ecad	find_inode_number	vmlinux	EXPORT_SYMBOL
+0x55e71d81	cxiInitPtrSwizzling	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xbf8774c2	synth_supports_indexing	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xb3038393	dccp_v4_request_recv_sock	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0x4f6cdab2	hci_unregister_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x23c8f257	slhc_uncompress	drivers/net/slhc	EXPORT_SYMBOL
+0xf53c2891	mpt_findImVolumes	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x22659a64	get_agp_version	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x4c1423c3	unregister_con_driver	vmlinux	EXPORT_SYMBOL
+0x56d2a9f9	vfs_permission	vmlinux	EXPORT_SYMBOL
+0xca65fb3b	isdn_ppp_unregister_compressor	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0xfe5d4bb2	sys_tz	vmlinux	EXPORT_SYMBOL
+0xe1e774bc	cpu_possible_map	vmlinux	EXPORT_SYMBOL
+0x7031d97b	acpi_processor_preregister_performance	drivers/acpi/processor	EXPORT_SYMBOL
+0x21e0ea22	acpi_get_id	vmlinux	EXPORT_SYMBOL
+0xa292685b	blk_init_queue	vmlinux	EXPORT_SYMBOL
+0x73c1b3c9	unlock_page	vmlinux	EXPORT_SYMBOL
+0xb9fc3e6b	p80211netdev_rx	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xa9fb135f	escape_essid	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x9410c6a0	lcd_device_register	drivers/video/backlight/lcd	EXPORT_SYMBOL
+0x61ed3b14	cx88_set_scale	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xc3533517	snd_info_register	sound/core/snd	EXPORT_SYMBOL
+0x0f668ba9	svc_auth_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc3a75e80	tpm_show_pubek	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x5c1763a0	xfrm_unregister_type	vmlinux	EXPORT_SYMBOL
+0x74043577	nf_ip_checksum	vmlinux	EXPORT_SYMBOL
+0xa13798f8	printk_ratelimit	vmlinux	EXPORT_SYMBOL
+0x7c5cec98	_snd_pcm_hw_params_any	sound/core/snd-pcm	EXPORT_SYMBOL
+0x5ea9051a	neigh_compat_output	vmlinux	EXPORT_SYMBOL
+0xc01eed33	__copy_from_user_ll_nozero	vmlinux	EXPORT_SYMBOL
+0x026baf42	module_put	vmlinux	EXPORT_SYMBOL
+0x52d7d6cd	cxiIsKswapdThread	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x49365696	__nf_conntrack_attach	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x478aaf6d	videobuf_dqbuf	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xd2c8554f	ipmi_register_for_cmd	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xff03752f	acpi_install_address_space_handler	vmlinux	EXPORT_SYMBOL
+0x927c2f0a	inode_get_bytes	vmlinux	EXPORT_SYMBOL
+0xbaadbd11	__wake_up	vmlinux	EXPORT_SYMBOL
+0x5b2bf224	cxiRefOsNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x6bbe8f9b	cxiRefOSNode	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0cc82a6c	rxrpc_del_service	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x1b6f7089	nf_conntrack_helper_unregister	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x2e7b3a86	irias_new_object	net/irda/irda	EXPORT_SYMBOL
+0x8d93b43c	srp_iu_get	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x117ade16	srp_iu_put	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x718daf31	mpt_free_msg_frame	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x4dc3f663	dev_driver_string	vmlinux	EXPORT_SYMBOL
+0xd7c631e8	vfs_mkdir	vmlinux	EXPORT_SYMBOL
+0x3f0971be	cxiStartDMS	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x08acf310	tipc_available_nodes	net/tipc/tipc	EXPORT_SYMBOL
+0x6d5bb714	usb_driver_claim_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x9cfd56c5	scsi_print_status	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd861cef0	usbvideo_AllocateDevice	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xe028b599	ipmi_user_set_run_to_completion	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x01139ffc	max_mapnr	vmlinux	EXPORT_SYMBOL
+0x715b9e68	snd_opl3_reset	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0xe6eb717a	iscsi_conn_failure	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x865e1b56	dvb_pll_lg_z201	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x5fbda7a0	wiphy_new	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0x75f16533	snd_pcm_mmap_data	sound/core/snd-pcm	EXPORT_SYMBOL
+0x95147956	ieee80211_set_geo	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x51627dbd	dccp_insert_option	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3e4c2827	mb_cache_create	fs/mbcache	EXPORT_SYMBOL
+0xd7402074	usb_get_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x77ad6075	usb_find_device	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x5985c776	securityfs_create_dir	vmlinux	EXPORT_SYMBOL_GPL
+0x514cdfb1	inotify_find_update_watch	vmlinux	EXPORT_SYMBOL_GPL
+0xc0e41394	iunique	vmlinux	EXPORT_SYMBOL
+0x3a7f8b86	__local_bh_enable	vmlinux	EXPORT_SYMBOL_GPL
+0x01a4ea6d	unregister_die_notifier	vmlinux	EXPORT_SYMBOL
+0x35f27744	snd_ac97_tune_hardware	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xd5263820	mb_cache_destroy	fs/mbcache	EXPORT_SYMBOL
+0xb142fb5b	w1_write_8	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x686de290	restore_vga	drivers/video/vgastate	EXPORT_SYMBOL
+0x387cb6d1	scsi_put_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x66dc48e3	dm_io_sync_bvec	drivers/md/dm-mod	EXPORT_SYMBOL
+0xeed72d56	ata_id_to_dma_mode	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb1ce073f	inet_dgram_ops	vmlinux	EXPORT_SYMBOL
+0x3c917fae	input_release_device	vmlinux	EXPORT_SYMBOL
+0xd055f5ce	blk_alloc_queue	vmlinux	EXPORT_SYMBOL
+0x46248c57	uart401intr	sound/oss/uart401	EXPORT_SYMBOL
+0xbae000a2	make_checksum	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x7582a5c4	proc_net_eicon	drivers/isdn/hardware/eicon/divadidd	EXPORT_SYMBOL
+0x0903c239	vid_from_reg	drivers/hwmon/hwmon-vid	EXPORT_SYMBOL
+0x99bfbe39	get_unused_fd	vmlinux	EXPORT_SYMBOL
+0xf4f6567d	proc_doulongvec_minmax	vmlinux	EXPORT_SYMBOL
+0x205673a3	ieee80211_netif_oper	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xdb400afa	midi_synth_panning	sound/oss/sound	EXPORT_SYMBOL
+0x83c8a328	isac_setup	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0xfc1883b5	gameport_cooked_read	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x13a3eace	tcp_proc_unregister	vmlinux	EXPORT_SYMBOL
+0x99a3cbdc	hwmon_device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x6dcf00dd	device_resume	vmlinux	EXPORT_SYMBOL_GPL
+0x3cd65242	simple_attr_open	vmlinux	EXPORT_SYMBOL_GPL
+0x2cbf0770	shrink_submounts	vmlinux	EXPORT_SYMBOL_GPL
+0xd7b24cd1	cxiFcntlUnblock	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x57f2b9e0	ad1848_detect	sound/oss/ad1848	EXPORT_SYMBOL
+0xb9e1153f	sysctl_dccp_feat_sequence_window	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xf4ca7e5c	usb_root_hub_lost_power	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x1d27bbf0	dvb_usb_generic_rw	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x85c10896	rcu_batches_completed_bh	vmlinux	EXPORT_SYMBOL_GPL
+0xcc7fa952	local_bh_enable_ip	vmlinux	EXPORT_SYMBOL
+0x189a3964	pci_hp_deregister	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x5cf6c728	dibusb_pid_filter	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xb1e95d32	udp_poll	vmlinux	EXPORT_SYMBOL
+0xb429410a	posix_acl_from_mode	vmlinux	EXPORT_SYMBOL
+0xd0702412	console_stop	vmlinux	EXPORT_SYMBOL
+0x3167ea19	global_flush_tlb	vmlinux	EXPORT_SYMBOL
+0x886d2747	synth_full_time	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xf1d7c406	snd_device_register	sound/core/snd	EXPORT_SYMBOL
+0x0ebe03d1	unregister_wan_device	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x03c9bc12	nf_conntrack_tuple_taken	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6762533d	inet6_getname	net/ipv6/ipv6	EXPORT_SYMBOL
+0x65cff2af	i2o_msg_post_wait_mem	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x459ce8f1	b1_load_config	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x093e21ac	ib_find_cached_pkey	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x7a9fa44a	rdma_copy_addr	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0xd84b253e	cpufreq_gov_performance	vmlinux	EXPORT_SYMBOL
+0x54c9c56f	device_pm_set_parent	vmlinux	EXPORT_SYMBOL_GPL
+0xa1d6258e	auth_domain_find	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x498053de	xdr_encode_word	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xd415ace6	register_mtd_user	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x4fdc945d	sata_deb_timing_normal	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x33d78440	debugfs_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x6484c58e	new_inode	vmlinux	EXPORT_SYMBOL
+0x183e19fc	snd_ctl_find_id	sound/core/snd	EXPORT_SYMBOL
+0xaaebe34f	mca_write_pos	vmlinux	EXPORT_SYMBOL
+0x9504ec64	idr_get_new	vmlinux	EXPORT_SYMBOL
+0x2f24dd10	mmapKill	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x8b70fb0c	mmc_suspend_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x04e133fc	iTCO_vendor_check_noreboot_on	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0xd1178711	ipmi_get_maintenance_mode	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xfb80340d	genl_unregister_family	vmlinux	EXPORT_SYMBOL
+0xfe769456	unregister_netdevice_notifier	vmlinux	EXPORT_SYMBOL
+0x05025d00	tty_register_driver	vmlinux	EXPORT_SYMBOL
+0x6a8441be	cpci_hp_start	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x0d65163c	z8530_shutdown	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x6875005c	hpsb_unregister_addrspace	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x1ef6782a	driver_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x3b87f1d9	kset_unregister	vmlinux	EXPORT_SYMBOL
+0x7f284afe	debugfs_create_u32	vmlinux	EXPORT_SYMBOL_GPL
+0xf39b7fe0	irda_setup_dma	net/irda/irda	EXPORT_SYMBOL
+0x0ef06974	spi_populate_ppr_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL_GPL
+0x64288f07	hostap_remove_interface	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x7e9b9a67	i2c_isa_add_driver	drivers/i2c/busses/i2c-isa	EXPORT_SYMBOL
+0xf8f23f6b	llc_build_and_send_ui_pkt	vmlinux	EXPORT_SYMBOL
+0xf202f537	_read_unlock	vmlinux	EXPORT_SYMBOL
+0x995cba09	rpcauth_free_credcache	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa94f0ee6	dccp_tx_hist_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x99b6c3a8	__alloc_ei_netdev	drivers/net/8390	EXPORT_SYMBOL
+0x6baa0be7	videobuf_vmalloc_to_sg	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x2f152d54	ttpci_budget_debiwrite	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x9a192f2d	inet_csk_reset_keepalive_timer	vmlinux	EXPORT_SYMBOL
+0xaf97e9cd	user_read	vmlinux	EXPORT_SYMBOL_GPL
+0x53326531	mempool_alloc_pages	vmlinux	EXPORT_SYMBOL
+0xd36f7bb0	__tasklet_hi_schedule	vmlinux	EXPORT_SYMBOL
+0x63bd77e4	read_bytes_from_xdr_buf	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x809cfde4	xt_register_matches	net/netfilter/x_tables	EXPORT_SYMBOL
+0x779e3f22	matroxfb_wait_for_sync	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0xbfcf44ca	arp_send	vmlinux	EXPORT_SYMBOL
+0x5c229c77	__inet_twsk_kill	vmlinux	EXPORT_SYMBOL_GPL
+0xd84341d2	unregister_acpi_bus_type	vmlinux	EXPORT_SYMBOL
+0xf56a3962	zlib_inflateReset	vmlinux	EXPORT_SYMBOL
+0x453ff1b6	cdev_del	vmlinux	EXPORT_SYMBOL
+0xf3c15760	ssb_driver_unregister	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xb651ad7c	dccp_parse_options	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x5a397746	soft_cursor	drivers/video/console/softcursor	EXPORT_SYMBOL
+0x65bfa15f	raid_component_add	drivers/scsi/raid_class	EXPORT_SYMBOL
+0xeb63a3f1	ib_copy_ah_attr_to_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0xed93c0d6	ib_copy_qp_attr_to_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0x206805ad	pneigh_enqueue	vmlinux	EXPORT_SYMBOL
+0x3345315e	dev_alloc_name	vmlinux	EXPORT_SYMBOL
+0x1b7cc335	ide_setup_dma	vmlinux	EXPORT_SYMBOL_GPL
+0x4b8446fa	rwsem_wake	vmlinux	EXPORT_SYMBOL
+0x21be094c	snd_ice1712_akm4xxx_free	sound/pci/ice1712/snd-ice17xx-ak4xxx	EXPORT_SYMBOL
+0x83a18566	pcmcia_release_window	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x3ae643f7	hisax_init_pcmcia	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x90cd23ac	pnp_find_card	vmlinux	EXPORT_SYMBOL
+0xb6cbb041	svc_addsock	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x7a1f63ee	dm_unregister_target	drivers/md/dm-mod	EXPORT_SYMBOL
+0x29562993	b1pcmcia_delcard	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0x269999ab	dma_async_memcpy_buf_to_pg	vmlinux	EXPORT_SYMBOL
+0x5fe7cd20	isa_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x283fd973	blk_queue_bounce	vmlinux	EXPORT_SYMBOL
+0x4cd01bdd	num_audiodevs	sound/oss/sound	EXPORT_SYMBOL
+0x3fb9d453	snd_seq_device_register_driver	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0x7a33d9bd	dvb_dmx_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x547645b3	ata_sas_port_destroy	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x3145216f	pci_dev_present	vmlinux	EXPORT_SYMBOL
+0x9b9c4d64	pci_dev_get	vmlinux	EXPORT_SYMBOL
+0x57a20ff0	pci_dev_put	vmlinux	EXPORT_SYMBOL
+0x7df03810	read_dev_sector	vmlinux	EXPORT_SYMBOL
+0x8c97a7db	__vm_enough_memory	vmlinux	EXPORT_SYMBOL
+0xffd04f92	cxiGetUserEnvironment	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xff34b98e	journal_create	fs/jbd/jbd	EXPORT_SYMBOL
+0xb9d414f0	usb_ifnum_to_if	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x0e8512af	srp_target_free	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x60a4461c	__up_wakeup	vmlinux	EXPORT_SYMBOL
+0x43e56d2d	snd_rawmidi_transmit	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xe463e800	svc_makesock	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe9d58deb	hashbin_lock_find	net/irda/irda	EXPORT_SYMBOL
+0x3ac9f331	inet6_destroy_sock	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xc2bedd40	mb_cache_entry_release	fs/mbcache	EXPORT_SYMBOL
+0x10c78988	z8530_dead_port	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xd5f77db3	phy_device_create	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x8ae216a2	RingQueue_Flush	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x337f7172	cdrom_mode_sense	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xd89c9319	paride_unregister	drivers/block/paride/paride	EXPORT_SYMBOL
+0xf4f52f93	dqstats	vmlinux	EXPORT_SYMBOL
+0xed1d1a68	usb_gadget_unregister_driver	drivers/usb/gadget/net2280	EXPORT_SYMBOL
+0x1879e88c	iscsi_conn_send_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xe8ad9bd1	capi_cmsg2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xd6d6e3d4	ib_query_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x9d3440d9	cxiSetNFSCluster	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x60a00114	rt2x00lib_load_firmware	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x01ca1498	snd_ak4531_suspend	sound/pci/ac97/snd-ak4531-codec	EXPORT_SYMBOL
+0x25b95046	inet6_unregister_protosw	net/ipv6/ipv6	EXPORT_SYMBOL
+0xa1dbc2d8	ip_vs_proto_name	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x18a91df0	nf_register_hooks	vmlinux	EXPORT_SYMBOL
+0x2a42c4de	pfifo_qdisc_ops	vmlinux	EXPORT_SYMBOL
+0xd5688a7a	radix_tree_insert	vmlinux	EXPORT_SYMBOL
+0xbd5dcbd5	vfs_listxattr	vmlinux	EXPORT_SYMBOL_GPL
+0x496e78f3	kern_mount	vmlinux	EXPORT_SYMBOL
+0x5ae51dd3	ieee80211_tx_status	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xb8e448a0	snd_seq_set_queue_tempo	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0xa0b81159	dccp_v4_do_rcv	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xedd778ff	gfs2_withdraw_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x02cea2ca	usbnet_defer_kevent	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x33b3b664	v4l2_video_std_construct	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xa9e652d9	ib_dispatch_event	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xab119bfe	drm_agp_info	drivers/char/drm/drm	EXPORT_SYMBOL
+0x87cbb174	sata_phy_debounce	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x09952fa7	qdisc_create_dflt	vmlinux	EXPORT_SYMBOL
+0x8c1a4c3d	uart_add_one_port	vmlinux	EXPORT_SYMBOL
+0x3091c376	key_put	vmlinux	EXPORT_SYMBOL
+0x96689134	get_inotify_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x43828795	bmap	vmlinux	EXPORT_SYMBOL
+0xe2fae716	kmemdup	vmlinux	EXPORT_SYMBOL
+0xa3d2068b	dccp_sync_mss	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xe32015fd	rtc_merge_alarm	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x5e13d80a	hostap_get_porttype	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x46cedcde	fx_init	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x5a8f421e	node_online_map	vmlinux	EXPORT_SYMBOL
+0xd4aa5b72	trc_fsync	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0xc077c0fe	__ssb_driver_register	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xeed74952	nf_conntrack_alloc	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x53c3152b	tcp_register_congestion_control	vmlinux	EXPORT_SYMBOL_GPL
+0x783bbbd6	register_sysrq_key	vmlinux	EXPORT_SYMBOL
+0x23488e04	stv0299_attach	drivers/media/dvb/frontends/stv0299	EXPORT_SYMBOL
+0x89e1a26a	tcp_connect	vmlinux	EXPORT_SYMBOL
+0xdc27c26a	neigh_table_clear	vmlinux	EXPORT_SYMBOL
+0x5d46b12f	do_munmap	vmlinux	EXPORT_SYMBOL
+0xd0b9b8b8	snd_interval_list	sound/core/snd-pcm	EXPORT_SYMBOL
+0x846b947d	fat_flush_inodes	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xf6c8656a	ib_dealloc_pd	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf8b8c12a	xfrm_aalg_get_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x75e95f00	xfrm_state_flush	vmlinux	EXPORT_SYMBOL
+0xc35c1165	pci_fixup_device	vmlinux	EXPORT_SYMBOL
+0xb0f240c0	cxiBlockingMutexHeldByCaller	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x50855c83	snd_trident_write_voice_regs	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0xb3b1dc32	snd_vx_load_boot_image	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x96470cab	ir_codes_cinergy	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x7bb93462	xfrm_find_acq_byseq	vmlinux	EXPORT_SYMBOL
+0xd5c2caaf	xfrm_policy_unregister_afinfo	vmlinux	EXPORT_SYMBOL
+0xd54b4782	setlease	vmlinux	EXPORT_SYMBOL
+0x09c55cec	schedule_timeout_interruptible	vmlinux	EXPORT_SYMBOL
+0x36eae629	dccp_li_hist_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x4f159666	ebt_register_target	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xf7c37dc2	hdlc_ioctl	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x5fef1b4a	v4l2_ctrl_query_fill_std	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x1ace138d	bitmap_allocate_region	vmlinux	EXPORT_SYMBOL
+0x82fd2a56	hci_alloc_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xe6e77eaa	__scsi_iterate_devices	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xc7c736ea	hdlcdrv_arbitrate	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0x9f3c3a42	ib_send_cm_req	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xd8ad13b7	ib_send_cm_rep	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x99651c80	ib_send_cm_rtu	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xa437df2e	ib_send_cm_rej	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xbb5d343d	xfrm_get_acqseq	vmlinux	EXPORT_SYMBOL
+0xbd69e79b	rtl_ieee80211_softmac_stop_protocol	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xac5829d1	svc_reserve	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x6b9e1d00	cx88_wakeup	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x95628315	spi_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x4e7e3dbc	platform_bus	vmlinux	EXPORT_SYMBOL_GPL
+0xaa4350e7	blk_queue_bounce_limit	vmlinux	EXPORT_SYMBOL
+0x5208361d	snd_ice1712_akm4xxx_init	sound/pci/ice1712/snd-ice17xx-ak4xxx	EXPORT_SYMBOL
+0x2c79ba2b	journal_restart	fs/jbd/jbd	EXPORT_SYMBOL
+0x843345cf	journal_destroy	fs/jbd/jbd	EXPORT_SYMBOL
+0x2b0ba2b0	scsi_sense_desc_find	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xce9c0cda	nand_scan_ident	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0xcf61f4d9	ata_port_probe	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd905a3bc	netpoll_setup	vmlinux	EXPORT_SYMBOL
+0x1e3f6a7a	skb_abort_seq_read	vmlinux	EXPORT_SYMBOL
+0x06fe3b14	default_grn	vmlinux	EXPORT_SYMBOL
+0x54324f95	ioread16_rep	vmlinux	EXPORT_SYMBOL
+0x510f560c	ieee80211_rate_control_unregister	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x6ef8fcd8	snd_pcm_format_linear	sound/core/snd-pcm	EXPORT_SYMBOL
+0xe55ac15a	inet6_ioctl	net/ipv6/ipv6	EXPORT_SYMBOL
+0x1d79e4b0	hostap_setup_dev	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x45937659	doc_decode_ecc	drivers/mtd/devices/docecc	EXPORT_SYMBOL_GPL
+0xa8a04fa6	ves1820_attach	drivers/media/dvb/frontends/ves1820	EXPORT_SYMBOL
+0xe6a2f517	dvb_usb_tuner_init_i2c	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xd6a3e999	tcp_getsockopt	vmlinux	EXPORT_SYMBOL
+0xaecb5d2f	tcp_setsockopt	vmlinux	EXPORT_SYMBOL
+0x2da55156	rtnl_unicast	vmlinux	EXPORT_SYMBOL
+0xe964ada0	alloc_disk_node	vmlinux	EXPORT_SYMBOL
+0xf32d2678	schedule_work	vmlinux	EXPORT_SYMBOL
+0xb18ae5b6	dequeue_signal	vmlinux	EXPORT_SYMBOL_GPL
+0x5514b91b	snd_trident_synth_copy_from_user	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x5785e315	ac97_release_codec	sound/oss/ac97_codec	EXPORT_SYMBOL
+0xbba27749	agp_generic_destroy_page	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa73baf4a	sysdev_driver_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xbf60f929	ip6t_register_table	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0x031ba3cf	tveeprom_hauppauge_analog	drivers/media/video/tveeprom	EXPORT_SYMBOL
+0x1febe00d	cx8800_ctrl_query	drivers/media/video/cx88/cx8800	EXPORT_SYMBOL
+0x965c1dae	ib_ud_header_init	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x0067df75	ata_tf_from_fis	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0a173c94	xfrm_bundle_ok	vmlinux	EXPORT_SYMBOL
+0x9604be9f	compute_creds	vmlinux	EXPORT_SYMBOL
+0x76e7c2ef	atomic_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x74e9635b	cxiMmapFlush	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x94fdacfc	kxPutACL	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd0b2337e	kxGetACL	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x28813834	cxiKZero	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1f9a33ed	backlight_device_unregister	drivers/video/backlight/backlight	EXPORT_SYMBOL
+0xdee8c872	cx22702_attach	drivers/media/dvb/frontends/cx22702	EXPORT_SYMBOL
+0x18e6e68c	hpsb_listen_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9ee1484d	nsc_gpio_dump	drivers/char/nsc_gpio	EXPORT_SYMBOL
+0x3db2744f	dccp_recvmsg	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x86d594bf	unregister_mtd_user	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x9df0cd27	FsmEvent	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xb04f35ef	ipmi_get_my_address	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xfc02b7ad	sysctl_tcp_wmem	vmlinux	EXPORT_SYMBOL
+0x4db7d36a	nf_unregister_hook	vmlinux	EXPORT_SYMBOL
+0x2d8d23c5	ide_setup_pci_noise	vmlinux	EXPORT_SYMBOL_GPL
+0xc9ee1527	snd_seq_instr_list_new	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x76c1ad3a	hostap_set_antsel	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xf6478927	md_write_end	drivers/md/md-mod	EXPORT_SYMBOL
+0xae7b073f	tcp_twsk_destructor	vmlinux	EXPORT_SYMBOL_GPL
+0xc331ae7b	scm_detach_fds	vmlinux	EXPORT_SYMBOL
+0x20fc3d44	probe_hwif_init	vmlinux	EXPORT_SYMBOL
+0xde75b689	set_irq_type	vmlinux	EXPORT_SYMBOL
+0x72991449	put_pid	vmlinux	EXPORT_SYMBOL_GPL
+0x4fa28c55	edac_mc_handle_ce	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x1149901f	driver_find_device	vmlinux	EXPORT_SYMBOL_GPL
+0x9f5f63ce	tty_insert_flip_string	vmlinux	EXPORT_SYMBOL
+0x96b27088	__down_failed	vmlinux	EXPORT_SYMBOL
+0x229a5116	cxiThreadPtrToThreadId	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x1cd8c21d	unregister_wlandev	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x1b3df3cf	sound_alloc_mixerdev	sound/oss/sound	EXPORT_SYMBOL
+0x51e354b2	sound_alloc_timerdev	sound/oss/sound	EXPORT_SYMBOL
+0x74afd69c	unload_sbmpu	sound/oss/sb_lib	EXPORT_SYMBOL
+0xafc922e1	nf_nat_proto_find_get	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x093e3659	get_default_font	drivers/video/console/font	EXPORT_SYMBOL
+0x0cc67f95	hpsb_protocol_class	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xfba0c2e0	llc_sap_list_lock	vmlinux	EXPORT_SYMBOL
+0xa9f9e338	blk_get_request	vmlinux	EXPORT_SYMBOL
+0x7679ee76	seq_copy_to_input	sound/oss/sound	EXPORT_SYMBOL
+0x6fef6afb	xfrm_ealg_get_byid	vmlinux	EXPORT_SYMBOL_GPL
+0x2005e68a	acpi_remove_fixed_event_handler	vmlinux	EXPORT_SYMBOL
+0xeca95329	nfnetlink_has_listeners	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x3f1a4975	nf_nat_port_range_to_nfattr	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0xd53e1302	cpufreq_frequency_table_target	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0xf01fb863	congestion_end	vmlinux	EXPORT_SYMBOL
+0xbca66e54	cxiUnmapDiscontiguousRW	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9bdaf24d	midi_synth_start_note	sound/oss/sound	EXPORT_SYMBOL
+0x4ef35b64	snd_pcm_suspend_all	sound/core/snd-pcm	EXPORT_SYMBOL
+0x36cc396e	i2o_driver_notify_device_add_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x282e21e4	ide_dma_speed	vmlinux	EXPORT_SYMBOL
+0xdc08adc8	misc_deregister	vmlinux	EXPORT_SYMBOL
+0xea1c0eb6	relay_buf_full	vmlinux	EXPORT_SYMBOL_GPL
+0xafff6103	_write_lock	vmlinux	EXPORT_SYMBOL
+0x7afc9d8a	unregister_sound_mixer	sound/soundcore	EXPORT_SYMBOL
+0x9ec80bf7	inet6_bind	net/ipv6/ipv6	EXPORT_SYMBOL
+0x3e45e9ff	register_inetaddr_notifier	vmlinux	EXPORT_SYMBOL
+0x9c012508	fb_parse_edid	vmlinux	EXPORT_SYMBOL
+0x7888efc7	snd_pcm_lib_write	sound/core/snd-pcm	EXPORT_SYMBOL
+0x2a145186	journal_wipe	fs/jbd/jbd	EXPORT_SYMBOL
+0x2dcacb5f	parport_pc_unregister_port	drivers/parport/parport_pc	EXPORT_SYMBOL
+0x8e2ec3cb	devres_add	vmlinux	EXPORT_SYMBOL_GPL
+0xe470dc95	devres_get	vmlinux	EXPORT_SYMBOL_GPL
+0x9673235f	bt_accept_enqueue	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x62592d11	fc_host_post_vendor_event	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x424cc49b	pcmcia_parse_events	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x267c8181	onenand_scan	drivers/mtd/onenand/onenand	EXPORT_SYMBOL_GPL
+0xac40b1ff	lgdt330x_attach	drivers/media/dvb/frontends/lgdt330x	EXPORT_SYMBOL
+0x00f45a97	pci_set_mwi	vmlinux	EXPORT_SYMBOL
+0x7485e15e	unregister_chrdev_region	vmlinux	EXPORT_SYMBOL
+0xde40a794	generic_writepages	vmlinux	EXPORT_SYMBOL
+0xef1d4072	rt2x00lib_set_multicast_list	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x05447bf6	dccp_feat_init	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x50e1b7f5	bcm3510_attach	drivers/media/dvb/frontends/bcm3510	EXPORT_SYMBOL
+0x82888f86	register_8022_client	vmlinux	EXPORT_SYMBOL
+0x25d81960	posix_acl_equiv_mode	vmlinux	EXPORT_SYMBOL
+0x2241a928	ioread32	vmlinux	EXPORT_SYMBOL
+0x32018764	gnet_stats_copy_basic	vmlinux	EXPORT_SYMBOL
+0xe6759ae8	permission	vmlinux	EXPORT_SYMBOL
+0x386c4a61	xtime_lock	vmlinux	EXPORT_SYMBOL
+0x62fddb77	videocodec_attach	drivers/media/video/videocodec	EXPORT_SYMBOL
+0x301d38df	tveeprom_read	drivers/media/video/tveeprom	EXPORT_SYMBOL
+0x0535d72f	cx2341x_log_status	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xcbefef25	hidinput_report_event	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x3be01476	inet_sendmsg	vmlinux	EXPORT_SYMBOL
+0x3eec5b45	ip_cmsg_recv	vmlinux	EXPORT_SYMBOL
+0x175e5db8	crypto_alg_sem	vmlinux	EXPORT_SYMBOL_GPL
+0x025af62b	module_remove_driver	vmlinux	EXPORT_SYMBOL
+0xeb4e8499	snd_hda_codec_new	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x997bdfc4	rpc_call_async	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x5175c0f0	NCR_700_intr	drivers/scsi/53c700	EXPORT_SYMBOL
+0xee3263da	read_dst	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x19cf542d	t1pci_detect	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xba2a60d3	alloc_fddidev	vmlinux	EXPORT_SYMBOL
+0x6cca0c5a	inverse_translate	vmlinux	EXPORT_SYMBOL
+0x54935666	acpi_os_read_port	vmlinux	EXPORT_SYMBOL
+0x349f20fe	pci_unblock_user_cfg_access	vmlinux	EXPORT_SYMBOL_GPL
+0x932da67e	kill_proc	vmlinux	EXPORT_SYMBOL
+0x2cfcba0a	cpu_sibling_map	vmlinux	EXPORT_SYMBOL
+0xb53ae573	cpu_idle_wait	vmlinux	EXPORT_SYMBOL_GPL
+0xca87b0d1	scsi_device_cancel	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xad2fe38b	btcx_sort_clips	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x760b437a	unregister_inetaddr_notifier	vmlinux	EXPORT_SYMBOL
+0x89d5538d	fb_pad_aligned_buffer	vmlinux	EXPORT_SYMBOL
+0xb19c1ad7	unregister_exec_domain	vmlinux	EXPORT_SYMBOL
+0xa1d5f04f	load_mixer_volumes	sound/oss/sound	EXPORT_SYMBOL
+0xb5c24311	agp_generic_mask_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x59ca69dc	interruptible_sleep_on_timeout	vmlinux	EXPORT_SYMBOL
+0x1eb922a3	IO_APIC_get_PCI_irq_vector	vmlinux	EXPORT_SYMBOL
+0x228fed5d	snd_cs4236_ext_out	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xb70fbe06	nfs4_acl_free	fs/nfsd/nfsd	EXPORT_SYMBOL
+0xddbb5dea	iscsi_register_transport	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x13c5428b	netlink_ack	vmlinux	EXPORT_SYMBOL
+0x2830ec18	sock_get_timestamp	vmlinux	EXPORT_SYMBOL
+0xdf401953	sock_no_bind	vmlinux	EXPORT_SYMBOL
+0xe93cc1b3	acpi_extract_package	vmlinux	EXPORT_SYMBOL
+0x3b8be29d	zlib_inflateInit2	vmlinux	EXPORT_SYMBOL
+0x2cd7da6c	param_set_charp	vmlinux	EXPORT_SYMBOL
+0xa4ccde62	snd_gf1_ctrl_stop	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xc401094a	ata_pci_clear_simplex	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xfe6a43ef	bio_free	vmlinux	EXPORT_SYMBOL
+0xef1c781c	vid_which_vrm	drivers/hwmon/hwmon-vid	EXPORT_SYMBOL
+0x8df3789f	snd_oss_info_register	sound/core/snd	EXPORT_SYMBOL
+0x13e336ea	ircomm_connect_response	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x1a9d334a	orinoco_interrupt	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x942892ab	v4l2_prio_open	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x76b45850	nf_log_unregister_pf	vmlinux	EXPORT_SYMBOL
+0xc2369fd5	transport_destroy_device	vmlinux	EXPORT_SYMBOL_GPL
+0xfd47ef06	dmam_alloc_noncoherent	vmlinux	EXPORT_SYMBOL
+0x77c632e1	ohci1394_register_iso_tasklet	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0xc5e1077f	mca_device_write_pos	vmlinux	EXPORT_SYMBOL
+0xb392f570	tty_unregister_device	vmlinux	EXPORT_SYMBOL
+0xaec4759f	vprintk	vmlinux	EXPORT_SYMBOL
+0xe617339a	tcp_poll	vmlinux	EXPORT_SYMBOL
+0x782b0008	vsprintf	vmlinux	EXPORT_SYMBOL
+0x4c67094d	generic_splice_sendpage	vmlinux	EXPORT_SYMBOL
+0x4641bd7d	arcnet_interrupt	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xd0991ec4	attribute_container_find_class_device	vmlinux	EXPORT_SYMBOL_GPL
+0x92676d5b	register_key_type	vmlinux	EXPORT_SYMBOL
+0x093e947e	posix_acl_create_masq	vmlinux	EXPORT_SYMBOL
+0xe81f86dd	rt_mutex_lock_interruptible	vmlinux	EXPORT_SYMBOL_GPL
+0xd16ac615	__get_user_1	vmlinux	EXPORT_SYMBOL
+0xc3aaf0a9	__put_user_1	vmlinux	EXPORT_SYMBOL
+0x50d608d2	rtl_ieee80211_rx_mgt	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xa1de1341	synth_buff_in	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x101bece7	class_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xf82f1109	utf8_wctomb	vmlinux	EXPORT_SYMBOL
+0x13d9d037	wlan_setup	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x9c1ed176	snd_rawmidi_output_params	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x92f58c48	pnp_unregister_driver	vmlinux	EXPORT_SYMBOL
+0xf7467191	blk_queue_max_sectors	vmlinux	EXPORT_SYMBOL
+0x47aab3c3	wait_on_sync_kiocb	vmlinux	EXPORT_SYMBOL
+0x29a563a6	redirty_page_for_writepage	vmlinux	EXPORT_SYMBOL
+0x168eae00	set_cpus_allowed	vmlinux	EXPORT_SYMBOL_GPL
+0xbe686fa5	ieee80211_ctstoself_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x8ffe7e89	nf_conntrack_htable_size	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xa336feb7	nand_manuf_ids	drivers/mtd/nand/nand_ids	EXPORT_SYMBOL
+0x069a8547	saa7134_ts_qops	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL_GPL
+0x85d37490	ir_codes_dntv_live_dvbt_pro	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xd2df01b4	sk_stream_kill_queues	vmlinux	EXPORT_SYMBOL
+0xa941907e	vfs_get_dqinfo	vmlinux	EXPORT_SYMBOL
+0xdc139466	vfs_set_dqinfo	vmlinux	EXPORT_SYMBOL
+0x3b922624	audit_log_end	vmlinux	EXPORT_SYMBOL
+0x8f04165a	rtl_ieee80211_wx_set_scan	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8aa7c3d9	rtl_ieee80211_wx_get_scan	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x9035f183	cfi_varsize_frob	drivers/mtd/chips/cfi_util	EXPORT_SYMBOL
+0x2a4852cc	ir_codes_dntv_live_dvb_t	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x87b2fac7	__sk_dst_check	vmlinux	EXPORT_SYMBOL
+0x475f05af	acpi_set_firmware_waking_vector	vmlinux	EXPORT_SYMBOL
+0x2d410cf1	invalidate_inode_pages	vmlinux	EXPORT_SYMBOL
+0x4a63a4a0	cpu_core_map	vmlinux	EXPORT_SYMBOL
+0xe90789db	snd_pcm_lib_preallocate_pages	sound/core/snd-pcm	EXPORT_SYMBOL
+0x855a5d1b	irias_insert_object	net/irda/irda	EXPORT_SYMBOL
+0x167d6f3c	ax25_register_pid	net/ax25/ax25	EXPORT_SYMBOL_GPL
+0x041da09f	usb_interrupt_msg	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xa739803d	kcopyd_copy	drivers/md/dm-mod	EXPORT_SYMBOL
+0x149b4521	bus_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x29dd457c	pci_get_device_reverse	vmlinux	EXPORT_SYMBOL
+0x4c759827	byte_rev_table	vmlinux	EXPORT_SYMBOL_GPL
+0xf7f13af6	__elv_add_request	vmlinux	EXPORT_SYMBOL
+0x4188901f	set_bh_page	vmlinux	EXPORT_SYMBOL
+0x4b2cd41c	cxiKibdUnpin	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9e7049f0	ax25_linkfail_register	net/ax25/ax25	EXPORT_SYMBOL
+0xb9edf9af	iscsi_if_create_session_done	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xd38d8ae2	hermes_read_ltv	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x0d91ef6b	audit_log_d_path	vmlinux	EXPORT_SYMBOL_GPL
+0xcc7ee64c	parport_ieee1284_read_byte	drivers/parport/parport	EXPORT_SYMBOL
+0x0abca601	parport_claim_or_block	drivers/parport/parport	EXPORT_SYMBOL
+0xeaf8f134	isac_init	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x4101a975	ide_fixstring	vmlinux	EXPORT_SYMBOL
+0x099ab9d3	fb_get_buffer_offset	vmlinux	EXPORT_SYMBOL
+0xa7898e73	key_payload_reserve	vmlinux	EXPORT_SYMBOL
+0x834a6f28	inotify_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x5230da84	blocking_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0xe9a9b93c	snd_ak4531_mixer	sound/pci/ac97/snd-ak4531-codec	EXPORT_SYMBOL
+0x4a17ee82	skb_unlink	vmlinux	EXPORT_SYMBOL
+0xddb0b078	get_cpu_sysdev	vmlinux	EXPORT_SYMBOL_GPL
+0xc9949e2c	crypto_register_template	vmlinux	EXPORT_SYMBOL_GPL
+0xb2e5ae4a	snd_lookup_minor_data	sound/core/snd	EXPORT_SYMBOL
+0x9d8eb635	dccp_send_sync	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x0bfc32c9	lmsw	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x3477ba0d	make_EII_client	vmlinux	EXPORT_SYMBOL
+0x5739acfe	uts_sem	vmlinux	EXPORT_SYMBOL
+0xe1dd5368	cap_syslog	security/commoncap	EXPORT_SYMBOL
+0x251ec3e1	auth_unix_lookup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x16941de1	usb_hcd_pci_shutdown	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x17de76ce	ttpci_budget_deinit	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x88ffb1bc	saa7146_stop_preview	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x3a420bcd	ata_cable_40wire	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x886943ca	inet_csk_delete_keepalive_timer	vmlinux	EXPORT_SYMBOL
+0x2e030788	usb_register_device_driver	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x1308611a	ata_cable_unknown	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd720659e	xfrm_state_register_afinfo	vmlinux	EXPORT_SYMBOL
+0x38395b99	kmem_cache_size	vmlinux	EXPORT_SYMBOL
+0xb4a29a69	our_keys	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x6780655c	ib_cm_init_qp_attr	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x26408b3a	inet_ioctl	vmlinux	EXPORT_SYMBOL
+0xfa164145	kobject_get_path	vmlinux	EXPORT_SYMBOL_GPL
+0x5723798f	clocksource_register	vmlinux	EXPORT_SYMBOL
+0x0ad87d67	xt_register_target	net/netfilter/x_tables	EXPORT_SYMBOL
+0xfbae8fa7	bt_sock_link	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x613a6f53	hpsb_free_tlabel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x419e627e	rtl_ieee80211_wpa_supplicant_ioctl	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8001e3d7	tipc_forward2port	net/tipc/tipc	EXPORT_SYMBOL
+0xfbb777fc	g450_mnp2f	drivers/video/matrox/g450_pll	EXPORT_SYMBOL
+0x2bfcf8e8	dvb_unregister_device	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xbfd30a63	xor_block	drivers/md/xor	EXPORT_SYMBOL
+0xaebeb17f	ib_get_cached_pkey	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x96cf8b7d	nf_unregister_hooks	vmlinux	EXPORT_SYMBOL
+0xc1abd7f7	pnp_disable_dev	vmlinux	EXPORT_SYMBOL
+0x98625b50	framebuffer_release	vmlinux	EXPORT_SYMBOL
+0xe8c0fbaa	_cpu_pda	vmlinux	EXPORT_SYMBOL
+0x2aa17774	rpc_free_iostats	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x344d1fcc	sppp_attach	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0xd10f0b35	saa7146_start_preview	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x6eea229d	svcauth_unix_purge	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xefac9585	fat_getattr	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x862b6b87	usb_hcd_poll_rh_status	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x73fec4bb	mpt_event_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x07a56fd2	dm_table_get_md	drivers/md/dm-mod	EXPORT_SYMBOL
+0xc334e1f9	class_device_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x0c4c2771	device_find_child	vmlinux	EXPORT_SYMBOL_GPL
+0x4efd0dd0	generic_read_dir	vmlinux	EXPORT_SYMBOL
+0x9b4a6df6	dentry_unhash	vmlinux	EXPORT_SYMBOL
+0xc1f656a4	snd_cs4231_get_double	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xc4d56e62	gameport_set_phys	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xc06c241e	tpm_pm_suspend	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x94ef4d05	cpci_hp_stop	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x54eb4f47	NS8390_init	drivers/net/8390	EXPORT_SYMBOL
+0x2de2b633	v4l2_prio_check	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x6d264ea4	gfn_to_memslot	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x0d8ecdd4	xfrm_ealg_get_byidx	vmlinux	EXPORT_SYMBOL_GPL
+0x896f968c	sock_no_shutdown	vmlinux	EXPORT_SYMBOL
+0x2d3c382a	vc_resize	vmlinux	EXPORT_SYMBOL
+0x66eaa8a9	param_set_ulong	vmlinux	EXPORT_SYMBOL
+0xee2d0fc7	_local_bh_enable	vmlinux	EXPORT_SYMBOL
+0xe944d99d	ad1848_init	sound/oss/ad1848	EXPORT_SYMBOL
+0xe7aece47	tipc_ispublished	net/tipc/tipc	EXPORT_SYMBOL
+0x7042bc54	irlmp_register_client	net/irda/irda	EXPORT_SYMBOL
+0xa0ba3a3f	cancel_rearming_delayed_work	vmlinux	EXPORT_SYMBOL
+0xfa8e1f6e	p54_init_common	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0xc748d109	sound_alloc_synthdev	sound/oss/sound	EXPORT_SYMBOL
+0x1b89c6ee	o2hb_fill_node_map	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xb3576650	dm_io_get	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8de4dbdd	ib_modify_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x4e08ba3a	snd_timer_global_free	sound/core/snd-timer	EXPORT_SYMBOL
+0x8231b981	usb_ftdi_elan_edset_flush	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xbaacdf2c	flexcop_dma_allocate	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x377e90c7	nf_ct_attach	vmlinux	EXPORT_SYMBOL
+0x7c03d883	snd_sb8dsp_interrupt	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0x71d75822	snd_pcm_lib_writev	sound/core/snd-pcm	EXPORT_SYMBOL
+0x68d4a8f8	saa7146_unregister_device	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x2bbb4fdf	driver_attach	vmlinux	EXPORT_SYMBOL_GPL
+0xca8acc78	acpi_dbg_level	vmlinux	EXPORT_SYMBOL
+0x475f010b	acpi_purge_cached_objects	vmlinux	EXPORT_SYMBOL
+0x57e0582c	textsearch_register	vmlinux	EXPORT_SYMBOL
+0xedd521c2	irlmp_get_discoveries	net/irda/irda	EXPORT_SYMBOL
+0x255031c6	dccp_rcv_state_process	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x4dec9a38	usbnet_generic_cdc_bind	drivers/usb/net/cdc_ether	EXPORT_SYMBOL_GPL
+0xae84a647	platform_device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x5934392b	fb_register_client	vmlinux	EXPORT_SYMBOL
+0xad0413d4	match_hex	vmlinux	EXPORT_SYMBOL
+0x889a9d5f	snd_vx_suspend	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x2a0a5e0f	bt878_start	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x94f3a06b	__inet_lookup_listener	vmlinux	EXPORT_SYMBOL_GPL
+0x1409dc51	nf_unregister_sockopt	vmlinux	EXPORT_SYMBOL
+0x9dfe7688	skb_realloc_headroom	vmlinux	EXPORT_SYMBOL
+0xb340b55b	platform_device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x2e7abfda	percpu_depopulate	vmlinux	EXPORT_SYMBOL_GPL
+0xa41ead5f	sound_unload_timerdev	sound/oss/sound	EXPORT_SYMBOL
+0xb03f19b1	ipv6_find_hdr	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0x9f5a09c9	uPD98402_init	drivers/atm/uPD98402	EXPORT_SYMBOL
+0x6bb3cfbb	uhci_reset_hc	vmlinux	EXPORT_SYMBOL_GPL
+0x6a47571d	__set_personality	vmlinux	EXPORT_SYMBOL
+0x69c7294c	hashbin_new	net/irda/irda	EXPORT_SYMBOL
+0x4d1afe51	sas_attach_transport	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x7ed4cd98	sas_bios_param	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xa94dc149	ioc4_unregister_submodule	drivers/misc/ioc4	EXPORT_SYMBOL
+0x8f46d6d7	dvb_ringbuffer_free	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xf66f6d79	dvb_dmxdev_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xfac36686	flexcop_dma_control_size_irq	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xdf6ca482	ib_get_client_data	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x5b2bbb85	ib_set_client_data	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x1b077ae0	blkcipher_walk_done	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0x4849847c	register_con_driver	vmlinux	EXPORT_SYMBOL
+0xec3f36d9	page_readlink	vmlinux	EXPORT_SYMBOL
+0xbf097447	i2c_detach_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xa2c370e8	edac_mc_handle_ue	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xb19978da	nf_unregister_afinfo	vmlinux	EXPORT_SYMBOL_GPL
+0x1dd571e6	fb_copy_cmap	vmlinux	EXPORT_SYMBOL
+0xc99a76ad	pci_map_rom_copy	vmlinux	EXPORT_SYMBOL
+0xc499ae1e	kstrdup	vmlinux	EXPORT_SYMBOL
+0x2144fd71	snd_opl3_interrupt	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x448b8aaa	irda_qos_bits_to_value	net/irda/irda	EXPORT_SYMBOL
+0xe92a00e0	_atomic_dec_and_lock	vmlinux	EXPORT_SYMBOL
+0xea7987f1	key_update	vmlinux	EXPORT_SYMBOL
+0x8f9319c7	simple_prepare_write	vmlinux	EXPORT_SYMBOL
+0x6c67f617	rtl_ieee80211_wake_queue	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xc1444946	ax25cmp	net/ax25/ax25	EXPORT_SYMBOL
+0x73852d8f	iscsi_conn_bind	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x35fe7ae7	xfrm_register_km	vmlinux	EXPORT_SYMBOL
+0xa06f1027	ip_mc_dec_group	vmlinux	EXPORT_SYMBOL
+0xcb7131fb	fb_get_options	vmlinux	EXPORT_SYMBOL
+0x33c2322f	kasprintf	vmlinux	EXPORT_SYMBOL
+0x0c97cd4e	simple_rename	vmlinux	EXPORT_SYMBOL
+0x35f96e0e	vfs_setxattr	vmlinux	EXPORT_SYMBOL_GPL
+0x2afab19f	vfs_getxattr	vmlinux	EXPORT_SYMBOL_GPL
+0x4717a2b9	snd_ctl_free_one	sound/core/snd	EXPORT_SYMBOL
+0xd5d0bdef	bt878_num	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x87298ab2	iw_cm_reject	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xc2424641	agp3_generic_cleanup	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x254e5667	scx200_gpio_base	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0xb5828299	sock_init_data	vmlinux	EXPORT_SYMBOL
+0x33216adc	acpi_unload_table_id	vmlinux	EXPORT_SYMBOL
+0x8d8d96c6	acpi_get_sleep_type_data	vmlinux	EXPORT_SYMBOL
+0xa24f32b7	cxiMmapRegister	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x0d0a2dea	dlm_print_one_lock	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x14d3109e	gs_hangup	drivers/char/generic_serial	EXPORT_SYMBOL
+0x2cae8561	ip_queue_xmit	vmlinux	EXPORT_SYMBOL
+0x814051a8	pci_get_slot	vmlinux	EXPORT_SYMBOL
+0x30343e46	iowrite16be	vmlinux	EXPORT_SYMBOL
+0xa1a6414c	iowrite32be	vmlinux	EXPORT_SYMBOL
+0x50badf87	scatterwalk_map	vmlinux	EXPORT_SYMBOL_GPL
+0xc192d491	unregister_chrdev	vmlinux	EXPORT_SYMBOL
+0xb0928c66	synth_delay_time	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x16d3b36c	mpt_resume	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x909cece6	km_query	vmlinux	EXPORT_SYMBOL
+0xdb029fc0	inet_release	vmlinux	EXPORT_SYMBOL
+0x9096948e	blk_queue_start_tag	vmlinux	EXPORT_SYMBOL
+0xc42508f2	rdma_addr_cancel	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0xf7c45017	__xfrm_policy_destroy	vmlinux	EXPORT_SYMBOL
+0x309f357b	neigh_create	vmlinux	EXPORT_SYMBOL
+0x9fce80db	fb_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x891c6dff	sirdev_raw_write	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xc9393cc4	i2o_driver_notify_controller_add_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xdd805159	ioc_list	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xdc20cc84	cpufreq_get_policy	vmlinux	EXPORT_SYMBOL
+0x180d3544	cpufreq_set_policy	vmlinux	EXPORT_SYMBOL
+0x70022241	noautodma	vmlinux	EXPORT_SYMBOL
+0x7c496698	elv_next_request	vmlinux	EXPORT_SYMBOL
+0x8f6cee77	__round_jiffies_relative	vmlinux	EXPORT_SYMBOL_GPL
+0xdc3c11d5	inet_twsk_alloc	vmlinux	EXPORT_SYMBOL_GPL
+0xfbb938c6	crypto_free_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0x037a0cba	kfree	vmlinux	EXPORT_SYMBOL
+0x356031e7	__rt_mutex_init	vmlinux	EXPORT_SYMBOL_GPL
+0xdb125e78	cxiGNPtoVP	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xd5f8a2fb	nf_conntrack_expect_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x3d28e620	sas_target_alloc	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xa341ba42	ib_modify_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd2442a44	drm_sman_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0x1117e95e	xfrm_state_delete	vmlinux	EXPORT_SYMBOL
+0x8b857983	nf_register_sockopt	vmlinux	EXPORT_SYMBOL
+0xeabc0705	sock_kmalloc	vmlinux	EXPORT_SYMBOL
+0xb68428d6	cxiInitBreakQ	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x2f963c2c	z8530_queue_xmit	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x41222737	ip_route_output_key	vmlinux	EXPORT_SYMBOL
+0xb2efb6be	mca_read_stored_pos	vmlinux	EXPORT_SYMBOL
+0x058c75d9	acpi_get_pci_id	vmlinux	EXPORT_SYMBOL
+0xb96b0db1	tsfstat	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x8f928332	rtl_ieee80211_get_crypto_ops	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x538383c0	unregister_inet6addr_notifier	net/ipv6/ipv6	EXPORT_SYMBOL
+0x4f840cd6	dpm_runtime_suspend	vmlinux	EXPORT_SYMBOL
+0xebd387f6	pm_active	vmlinux	EXPORT_SYMBOL
+0xc1dbd3ff	ipv6_chk_addr	net/ipv6/ipv6	EXPORT_SYMBOL
+0xe6a48b27	ide_get_best_pio_mode	vmlinux	EXPORT_SYMBOL_GPL
+0xb464a657	uart_suspend_port	vmlinux	EXPORT_SYMBOL
+0xd61d4f2b	blk_alloc_queue_node	vmlinux	EXPORT_SYMBOL
+0x01f9e5f7	EnableMmap	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xcb980506	cxiSleep	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xf78f6363	sequencer_init	sound/oss/sound	EXPORT_SYMBOL
+0x101ab89b	scsi_device_resume	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6e296551	hpsb_set_hostinfo_key	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x409ce423	bio_phys_segments	vmlinux	EXPORT_SYMBOL
+0x389458cb	path_walk	vmlinux	EXPORT_SYMBOL
+0x8acff105	eeprom_93cx6_multiwrite	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x79e59d92	ivtv_udma_unmap	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xc4b43edf	snd_emux_register	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x2456e513	ir_decode_pulsedistance	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x9504291c	b1_register_appl	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xe58bbd3d	neigh_changeaddr	vmlinux	EXPORT_SYMBOL
+0xa120d33c	tty_unregister_ldisc	vmlinux	EXPORT_SYMBOL
+0x7dc5d0b6	crypto_unregister_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x22942f47	invalidate_inode_pages2	vmlinux	EXPORT_SYMBOL_GPL
+0xc84df378	snd_seq_dump_var_event	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x0928f536	ipt_do_table	net/ipv4/netfilter/ip_tables	EXPORT_SYMBOL
+0x9a497436	scsi_calculate_bounce_limit	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x252ecf40	led_classdev_register	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0x0279cd89	ib_create_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x8879f8f0	dma_region_sync_for_cpu	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xec84e458	kmem_cache_destroy	vmlinux	EXPORT_SYMBOL
+0x2099274a	pm_register	vmlinux	EXPORT_SYMBOL
+0x21298cf9	snd_opl4_write_memory	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x22f06986	xt_find_target	net/netfilter/x_tables	EXPORT_SYMBOL
+0xceca2e92	usb_serial_disconnect	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x27d8e8db	usb_release_bandwidth	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xf0a16657	FsmNew	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x16836e04	speedstep_detect_processor	arch/i386/kernel/cpu/cpufreq/speedstep-lib	EXPORT_SYMBOL_GPL
+0x7eda20cd	snd_hda_sequence_write	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x3712e340	tipc_portunreliable	net/tipc/tipc	EXPORT_SYMBOL
+0x8bc970d2	rpc_proc_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x757a86b9	dget_locked	vmlinux	EXPORT_SYMBOL
+0xef79ac56	__release_region	vmlinux	EXPORT_SYMBOL
+0xfb561fcc	complete_all	vmlinux	EXPORT_SYMBOL
+0xd114c347	tsfsattr	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x7aec0738	snd_emu10k1_ptr_write	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0xbcf2d2fb	bttv_read_gpio	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x1541a7e7	nla_validate	vmlinux	EXPORT_SYMBOL
+0x8ea9d2e7	sock_enable_timestamp	vmlinux	EXPORT_SYMBOL
+0x291f9bed	bio_split_pool	vmlinux	EXPORT_SYMBOL
+0xa0350991	_write_unlock_irq	vmlinux	EXPORT_SYMBOL
+0x21dbd10c	cxiRegisterCleanup	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0x9fdea959	snd_pcm_hw_param_value	sound/core/snd-pcm	EXPORT_SYMBOL
+0xd5531f48	pccard_get_next_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x01a7a2b4	mptscsih_slave_alloc	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x8e96ecac	dst_error_bailout	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xf82c9178	rdma_destroy_qp	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xe9479e2b	rdma_destroy_id	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x9b56a361	inet_csk_clear_xmit_timers	vmlinux	EXPORT_SYMBOL
+0x82bccbfe	lookup_one_len_nd	vmlinux	EXPORT_SYMBOL
+0x892093e0	midi_synth_controller	sound/oss/sound	EXPORT_SYMBOL
+0x0a4678a0	nf_nat_follow_master	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x55d4af76	fc_remote_port_rolechg	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xe6c7514e	i2c_adapter_dev_release	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x12a6fa90	agp_free_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xe4938711	agp_copy_info	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xf8f3a0fb	ata_ratelimit	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa7e4b292	default_llseek	vmlinux	EXPORT_SYMBOL
+0x1eadc060	exit_fs	vmlinux	EXPORT_SYMBOL_GPL
+0x3061c52d	snd_use_lock_sync_helper	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x03c60df4	cx8802_register_driver	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xb236caf9	dst_comm_init	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xe4868d9d	tcp_read_sock	vmlinux	EXPORT_SYMBOL
+0x5c4891bb	rpc_peeraddr	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0xffff1ec4	dccp_li_hist_calc_i_mean	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xfc31fe88	l2cap_load	net/bluetooth/l2cap	EXPORT_SYMBOL
+0xb0326609	sirdev_get_instance	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xd0a3e601	sirdev_put_instance	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xd79051bc	FsmInitTimer	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x2d48f907	ip_fragment	vmlinux	EXPORT_SYMBOL
+0x815b5dd4	match_octal	vmlinux	EXPORT_SYMBOL
+0xa834095d	bio_map_kern	vmlinux	EXPORT_SYMBOL
+0x92897e3d	default_idle	vmlinux	EXPORT_SYMBOL
+0xf8aae679	snd_gus_create	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xe431de52	xt_register_targets	net/netfilter/x_tables	EXPORT_SYMBOL
+0x40188e5f	scsi_register_driver	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd11aa2c7	i2c_smbus_write_byte	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x284b3f2a	poll_freewait	vmlinux	EXPORT_SYMBOL
+0xb3a307c6	si_meminfo	vmlinux	EXPORT_SYMBOL
+0x9e64fbfe	rtc_cmos_read	vmlinux	EXPORT_SYMBOL
+0x7183baee	snd_timer_pause	sound/core/snd-timer	EXPORT_SYMBOL
+0x1879bc88	get_fs_type	vmlinux	EXPORT_SYMBOL
+0x751d9081	snd_trident_free_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x49ef689d	nf_nat_pptp_hook_outbound	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0xf4aa135b	nf_nat_seq_adjust	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xfc32cc09	qlogicfas408_disable_ints	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x3a663e76	dquot_acquire	vmlinux	EXPORT_SYMBOL
+0x2fbe645b	scsi_host_set_state	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xc3345a61	mpt_send_handshake_request	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x9ffc8215	isdnhdlc_out_init	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0xd2baf45c	__ide_dma_off_quietly	vmlinux	EXPORT_SYMBOL
+0xc329096e	call_rcu_bh	vmlinux	EXPORT_SYMBOL_GPL
+0x67955ce6	profile_hits	vmlinux	EXPORT_SYMBOL_GPL
+0x1e5e42b7	terminate__Fv	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xb7175fa4	cxiMmapReleasePage	/usr/lpp/mmfs/src/gpl-linux/mmfslinux	EXPORT_SYMBOL
+0xe7cd4558	spk_serial_release	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xcd083b10	unregister_sound_dsp	sound/soundcore	EXPORT_SYMBOL
+0x3976041f	tipc_set_portimportance	net/tipc/tipc	EXPORT_SYMBOL
+0x8e524354	nat_t120_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x31aed23e	journal_check_used_features	fs/jbd/jbd	EXPORT_SYMBOL
+0x9ad5e2c4	genphy_config_aneg	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x08136438	hpsb_destroy_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x45fa2786	blk_start_queue	vmlinux	EXPORT_SYMBOL
+0x220e6400	bio_copy_user	vmlinux	EXPORT_SYMBOL
+0x01915d9e	alloc_irdadev	net/irda/irda	EXPORT_SYMBOL
+0xaa7bd9f4	arpt_unregister_table	net/ipv4/netfilter/arp_tables	EXPORT_SYMBOL
+0x98edef1f	hci_send_acl	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x7028c3a3	sas_slave_destroy	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x89608ec4	crypto_km_types	vmlinux	EXPORT_SYMBOL_GPL
+0x1ba9a4e5	generic_removexattr	vmlinux	EXPORT_SYMBOL
+0x8d2aba13	deactivate_super	vmlinux	EXPORT_SYMBOL
+0xd78ad694	vmap	vmlinux	EXPORT_SYMBOL
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfsmod.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfsmod.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmfsmod.c	(revision 16)
@@ -0,0 +1,57 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+static char sccsid[] = "@(#)45	1.6  src/avs/fs/mmfs/ts/kernext/gpl-linux/mmfsmod.c, mmfs, avs_rgpfs24, rgpfs24s008a 11/17/06 10:15:03";
+
+/* A file shipped with the portability layer that is
+ * compiled and linked with the mmfs module (non portability
+ * layer).   Used so that struct module can be included and 
+ * compiled according to the customer's kernel configuration.
+ * The mmfs module is not dependent on anything else in the 
+ * kernel except for this struct module silliness.
+ */
+
+#if LINUX_KERNEL_VERSION >= 2050000
+
+/* mmfs module initialization for 2.6 */
+#define KBUILD_MODNAME mmfs
+
+#include <modpost.c>
+
+#ifdef MODULE
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION ("GPFS Kernel Module");
+MODULE_AUTHOR ("IBM <gpfs@us.ibm.com>");
+/* MODULE_INFO(supported, "supported"); */
+#endif
+
+#endif /* LINUX_KERNEL_VERSION */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmwrap.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmwrap.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/mmwrap.c	(revision 16)
@@ -0,0 +1,74 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)53       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/mmwrap.c, mmfs, avs_rgpfs24, rgpfs240610b 2/27/06 03:01:20 */
+/* This file is only used to support i386 Linux 2.6 Kernels built with
+ * CONFIG_REGPARM. The libgcc functions __divdi3, __udivdi3,
+ * __moddi3, __umoddi3 are used for 64bit integer division and
+ * modulo. The compiler generates calls to these functions following the
+ * -mregparm=3 option when compiling 32bit code. To get valid divide
+ * and modulo in when compliing with -mregparm=3 we wrap these functions
+ * using the --wrap ld option and call them with args on the stack.
+ */
+
+#if defined(GPFS_ARCH_I386) && LINUX_KERNEL_VERSION > 2060500 && !defined(NOKREGPARMS)
+
+extern long long __real___divdi3(long long a, long long b) __attribute__ ((regparm(0)));
+extern long long __real___udivdi3(long long a, long long b) __attribute__ ((regparm(0)));
+extern long long __real___moddi3(long long a, long long b) __attribute__ ((regparm(0)));
+extern long long __real___umoddi3(long long a, long long b) __attribute__ ((regparm(0)));
+
+long long
+__wrap___divdi3(long long a, long long b)
+{
+        return(__real___divdi3(a,b));
+}
+
+unsigned long long
+__wrap___udivdi3(unsigned long long a, unsigned long long b)
+{
+        return(__real___udivdi3(a,b));
+}
+
+long long
+__wrap___moddi3(long long a, long long b)
+{
+	return(__real___moddi3(a,b));
+}
+
+unsigned long long
+__wrap___umoddi3(unsigned long long a, unsigned long long b)
+{
+	return(__real___umoddi3(a,b));
+}
+
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/modpost.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/modpost.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/modpost.c	(revision 16)
@@ -0,0 +1,56 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)71       1.6  src/avs/fs/mmfs/ts/kernext/gpl-linux/modpost.c, mmfs, avs_rgpfs24, rgpfs24s007a 10/24/06 10:22:26 */
+/* This file is ignored unless we are on a 2.6 version of linux
+ * where the declartion  of _this_module moved out of
+ * module.h and into modpost processing
+ */
+
+#if (LINUX_KERNEL_VERSION >= 2060600 || \
+  (defined(SUSE_LINUX) && LINUX_KERNEL_VERSION >= 2060507)) && \
+  defined(KBUILD_MODNAME) && !defined(MMFSMODPOST) && !defined(__this_module)
+#define MMFSMODPOST
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+#undef unix
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = __stringify(KBUILD_MODNAME),
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+};
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/oplock.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/oplock.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/oplock.h	(revision 16)
@@ -0,0 +1,187 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.16  src/avs/fs/mmfs/ts/kernext/gpl-linux/oplock.h, mmfs, avs_rgpfs24, rgpfs240610b 11/3/05 11:00:29 */
+
+#define TEST_LOCK_MOVE_CLAMP
+/*
+ * for kernel oplocks used by Samba
+ */
+#ifndef _OPLOCK_H
+#define _OPLOCK_H
+
+#ifdef __KERNEL__
+#include <linux/types.h>
+#include <linux/file.h>
+#else
+/* Header file is also used in user space by Samba */
+#include <sys/types.h>
+#endif
+
+/*
+ * Additional fcntl commands to support integration with Samba/NFS
+ * for oplocks, share modes and NLM locks.
+ */
+
+/* 
+ * Commands 20-26 are deprecated and may be removed anytime (once Samba
+ * moves over). Use the following instead
+ */
+#define F_OPLKREG       20  /* register exclusive oplock */
+#define F_OPLKREG_LVL2  21  /* register level 2 oplock */
+#define F_OPLKACK       22  /* action on oplock */
+#define F_OPLKSTAT      23  /* stat file for oplock */
+#define F_SET_SHMODE    24  /* Request a share mode (opening a file) */
+#define F_DEL_SHMODE    25  /* Drop a share mode (closing a file) */
+#define F_OPENMODE      26  /* register open mode only */
+
+#define F_SET_NLM_MODE  27  /* Set share mode for NLM */
+#define F_DEL_NLM_MODE  28  /* Remove NLM share mode */
+#define F_SET_NLM_MOVE  29  /* Move a lock for the NLM */
+
+#define F_SHARE_MODE    30  /* share mode without oplocks */
+#define F_EXCL_OPEN     31  /* share mode with exclusive oplock */
+#define F_SHARED_OPEN   32  /* share mode with level 2 oplock */
+
+#ifdef TEST_LOCK_MOVE_CLAMP
+#define F_TEST_MOVE_OPEN_LOCK   50
+#define F_TEST_MOVE_REC_LOCK    51
+#define F_TEST_CLAMP_LOCKS      52
+#define F_TEST_UNCLAMP_LOCKS    53
+#endif
+
+/* Deny mode values passed from CIFS */
+#define DENY_DOS   0
+#define DENY_ALL   1
+#define DENY_WRITE 2
+#define DENY_READ  3
+#define DENY_NONE  4
+#define DENY_FCB   7
+/* The following prevents duplicate definition in Samba */
+#ifndef _INCLUDES_H
+#define ALLOW_SHARE_DELETE 1<<15
+#endif
+
+/* Access / deny modes passed from NLM */
+#define NLM_READ   1
+#define NLM_WRITE  2
+#define NLM_REACQUIRE 4
+
+/* Operands for the OPLKACK function */
+#define OP_REVOKE     1
+#define OP_DOWNGRADE  2
+
+/* Values for the access parameter of the check_cifs_locks function */
+#define LOCKS_ALL     1
+#define OPLOCK_ONLY   2
+#define SHMODE_ONLY   3
+
+/* Parameter values for F_SET_SHMODE, F_DEL_SHMODE */
+/* The following constants may be "OR"ed into the standard */
+/* DENY_MODE specifications                                */
+
+#define DENY_MASK     0x000000FF   /* DENY bits */
+
+typedef struct {
+  unsigned long long os_dev;  /* Samba needs u64 for dev_t; this *cannot* be dev_t */
+  ino_t os_ino;
+  int os_state;
+} oplock_stat_t;
+
+#ifdef __KERNEL__
+
+/* Share mode counter categories */
+
+#define SM_DENYWA  0   /* Deny write advisory */
+#define SM_DENYWM  1   /* Deny write mandatory */
+#define SM_DENYR   2   /* Deny read */
+#define AM_WRITEA  3   /* Write access, check advisory locks */
+#define AM_WRITEM  4   /* Write access, check mandatory locks */
+#define AM_READ    5   /* Read access */
+#define NUM_SM     6   /* Count of the above fields */
+
+/* Lock Bits for CIFS Open locks tokens */
+/* These locks are used as follows:
+ *  coSMBOpen is always on to distinguish these lock modes from the standard ones.
+ *  coRead is turned on by Samba requesting read access to the file.  An NFS open
+ *         for read will not use these locks and is always allowed.
+ *  coWriteA requests write access and asks that advisory write locks be
+ *         checked. Samba will turn this bit on for write access.
+ *         If this bit is on, COWriteM will be defaulted on also.
+ *  coWriteM requests write access and asks that mandatory write locks be checked.
+ *         Both Samba and NFS will turn this bit on.
+ *         NOTE: One of CORead and coWriteM will always be on.
+ *  coDenyR requests that read access be denied to others (except NFS users who don't lock)
+ *  coDenyWA is advisory denial of writes.  It will block users who request COWriteA.
+ *  coDenyWM is mandatory denial of writes.  It will block users who request COWriteM.
+ */
+
+/* Initially, coNFS4Share is not set indicating that no share operation has been
+ * done by the NFS version 4 daemon (therefore any open locks held were done
+ * implicitly and can be replaced by those specified on a share operation).  
+ * This is set when gpfs_f_share is first called for a file and means that 
+ * subsequent share operations will add additional open locks (instead of 
+ * replacing the current ones). */
+#define coNFS4Share 0x80
+
+#define coSMBOpen 0x40
+#define coSMBShift 3
+#define coRead    0x20
+#define coWriteM  0x10
+#define coWriteA  0x08
+#define coDenyR   0x04
+#define coDenyWM  0x02
+#define coDenyWA  0x01
+#define coDenyAll 0x07
+#define coMask    0x3f
+
+/* Command parameter of the tkn_control() function.
+ */
+#define TOKENOP_ACQUIRE                 0x1   /* Acquire (Samba) */
+#define TOKENOP_RELEASE                 0x2   /* Release (Samba) */
+#define TOKENOP_ACQUIRE_NLM             0x3   /* Acquire (NLM) */
+#define TOKENOP_RELEASE_NLM             0x4   /* Release (NLM) */
+#define TOKENOP_MOVE_NLM                0x5   /* Move a lock for NLM */
+
+/* Flags for gpfsReserveShare and gpfsReserveDelegation */
+#define RESERVE_NONE                    0x00000000
+#define RESERVE_HAVELOCK                0x00000001 /* caller holds vinfoLock */
+#define RESERVE_DOWNGRADE               0x00000002 /* calling to return share */
+#define RESERVE_NOWAIT                  0x00000004 /* asynchronous */
+
+int setSMBOpenLockControl(void *fP, void *infoP, int command, int lockmode);
+
+#endif
+
+#endif /* _OPLOCK_H */
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/opsdeclare.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/opsdeclare.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/opsdeclare.c	(revision 16)
@@ -0,0 +1,457 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)88       1.84.1.4  src/avs/fs/mmfs/ts/kernext/gpl-linux/opsdeclare.c, mmfs, avs_rgpfs24, rgpfs24s007a 10/24/06 17:58:00 */
+
+#include <Shark-gpl.h>
+
+/* Linux headers */
+#include <linux/module.h>
+#include <linux/mm.h> /* vm operations */
+
+/* GPFS headers */
+#include <linux2gpfs.h>
+#include <verdep.h>
+
+
+struct super_operations gpfs_sops =
+{
+  read_inode:    gpfs_s_read_inode,
+#if HAS_SOP_READ_INODE2
+  read_inode2:   gpfs_s_read_inode2,
+#endif
+  write_inode:   NULL,
+  delete_inode:  gpfs_s_delete_inode,
+  put_super:     gpfs_s_put_super,        /* unmount (not force) */
+  write_super:   gpfs_s_write_super,      /* sync */
+  statfs:        gpfs_s_statfs,           /* statfs */
+  remount_fs:    NULL,
+  clear_inode:   gpfs_s_clear_inode,      /* inode completely unused */
+  umount_begin:  gpfs_s_umount_begin,     /* unmount (force) */
+#if LINUX_KERNEL_VERSION < 2060000
+  fh_to_dentry:  gpfs_fh_to_dentry,
+  dentry_to_fh:  gpfs_dentry_to_fh,
+#endif
+#if HAS_SOP_ALLOC_INODE
+  alloc_inode:	 gpfs_alloc_inode,
+  destroy_inode: gpfs_destroy_inode,
+#endif
+};
+
+#if LINUX_KERNEL_VERSION > 2060000
+struct export_operations gpfs_export_ops =
+{
+  encode_fh:  gpfs_encode_fh,
+  decode_fh:  gpfs_decode_fh,
+  get_dentry:  gpfs_get_dentry,
+  get_parent:  gpfs_get_dparent,
+#ifdef NFS_CLUSTER_LOCKS
+  lock:  gpfs_f_lock,
+#endif
+#ifdef P_NFS4
+  get_devicelist: gpfs_get_devicelist,
+  layout_get:     gpfs_layout_get,
+  get_deviceinfo: gpfs_get_deviceinfo,
+  layout_return:  gpfs_layout_return,
+  get_state:      gpfs_get_state,
+  layout_type:    gpfs_layout_type,
+  get_verifier:   gpfs_get_verifier,
+#endif
+};
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2050000
+struct file_system_type gpfs_fs_type = 
+{
+  .owner          = THIS_MODULE,
+  .name           = "gpfs",
+  .get_sb         = gpfs_get_sb,
+  .kill_sb        = kill_anon_super,
+};
+#else
+DECLARE_FSTYPE_DEV(gpfs_fs_type, "gpfs", gpfs_fill_super);
+/* DECLARE_FSTYPE(gpfs_fs_type, "gpfs", gpfs_fill_super, 0); */
+#endif
+
+struct super_operations null_sops =
+{
+};
+
+struct file_operations gpfs_cleanup_fops =
+{
+  release: gpfs_f_cleanup
+};
+
+
+/* Inode operations for non-symlinks, non-directory with standard Unix
+   permissions (no extended acls) and valid inode attributes (valid owner and
+   mode cached in the Linux inode structure). */
+struct inode_operations gpfs_iops_stdperm =
+{
+  create:      gpfs_i_create,
+  // lookup:     no lookup op for non-directory
+  link:        gpfs_i_link,
+  unlink:      gpfs_i_unlink,
+  symlink:     gpfs_i_symlink,
+  mkdir:       gpfs_i_mkdir,
+  rmdir:       gpfs_i_rmdir,
+  mknod:       gpfs_i_mknod,
+  rename:      gpfs_i_rename,
+  readlink:    gpfs_i_readlink,
+  truncate:    gpfs_i_truncate,   /* noop (done by setattr) */
+  permission:  GENERIC_PERMISSION,
+#if HAS_IOP_REVALIDATE
+  revalidate:  gpfs_i_revalidate,
+#endif
+  setattr:     gpfs_i_setattr,
+  getattr:     gpfs_i_getattr
+#if LINUX_KERNEL_VERSION > 2060000
+  ,
+  setxattr: gpfs_i_setxattr,
+  getxattr: gpfs_i_getxattr,
+  listxattr: gpfs_i_listxattr,
+  removexattr: gpfs_i_removexattr
+#endif
+};
+
+/* Inode operations for non-symlinks, non-directory that require a gpfs call
+   to do permission checking either because the file/dir has extended acls or
+   because the owner and mode cached in the Linux inode structure are not
+   known to be valid. */
+struct inode_operations gpfs_iops_xperm =
+{
+  create:      gpfs_i_create,
+  // lookup:     no lookup op for non-directory
+  link:        gpfs_i_link,
+  unlink:      gpfs_i_unlink,
+  symlink:     gpfs_i_symlink,
+  mkdir:       gpfs_i_mkdir,
+  rmdir:       gpfs_i_rmdir,
+  mknod:       gpfs_i_mknod,
+  rename:      gpfs_i_rename,
+  readlink:    gpfs_i_readlink,
+  truncate:    gpfs_i_truncate,   /* noop (done by setattr) */
+  permission:  gpfs_i_permission,
+#if HAS_IOP_REVALIDATE
+  revalidate:  gpfs_i_revalidate,
+#endif
+  setattr:     gpfs_i_setattr,
+  getattr:     gpfs_i_getattr
+#if LINUX_KERNEL_VERSION > 2060000
+  ,
+  setxattr: gpfs_i_setxattr,
+  getxattr: gpfs_i_getxattr,
+  listxattr: gpfs_i_listxattr,
+  removexattr: gpfs_i_removexattr
+#endif
+};
+
+/* Inode operations for directory with standard Unix permissions
+   (no extended acls) and valid inode attributes (valid owner and mode
+   cached in the Linux inode structure). */
+struct inode_operations gpfs_dir_iops_stdperm =
+{
+  create:      gpfs_i_create,
+  lookup:      gpfs_i_lookup,
+  link:        gpfs_i_link,
+  unlink:      gpfs_i_unlink,
+  symlink:     gpfs_i_symlink,
+  mkdir:       gpfs_i_mkdir,
+  rmdir:       gpfs_i_rmdir,
+  mknod:       gpfs_i_mknod,
+  rename:      gpfs_i_rename,
+  readlink:    gpfs_i_readlink,
+  truncate:    gpfs_i_truncate,   /* noop (done by setattr) */
+  permission:  GENERIC_PERMISSION,
+#if HAS_IOP_REVALIDATE
+  revalidate:  gpfs_i_revalidate,
+#endif
+  setattr:     gpfs_i_setattr,
+  getattr:     gpfs_i_getattr
+#if LINUX_KERNEL_VERSION > 2060000
+  ,
+  setxattr: gpfs_i_setxattr,
+  getxattr: gpfs_i_getxattr,
+  listxattr: gpfs_i_listxattr,
+  removexattr: gpfs_i_removexattr
+#endif
+};
+
+/* Inode operations for directory that require a gpfs call to do permission
+   checking either because the file/dir has extended acls or because the owner
+   and mode cached in the Linux inode structure are not known to be valid. */
+struct inode_operations gpfs_dir_iops_xperm =
+{
+  create:      gpfs_i_create,
+  lookup:      gpfs_i_lookup,
+  link:        gpfs_i_link,
+  unlink:      gpfs_i_unlink,
+  symlink:     gpfs_i_symlink,
+  mkdir:       gpfs_i_mkdir,
+  rmdir:       gpfs_i_rmdir,
+  mknod:       gpfs_i_mknod,
+  rename:      gpfs_i_rename,
+  readlink:    gpfs_i_readlink,
+  truncate:    gpfs_i_truncate,   /* noop (done by setattr) */
+  permission:  gpfs_i_permission,
+#if HAS_IOP_REVALIDATE
+  revalidate:  gpfs_i_revalidate,
+#endif
+  setattr:     gpfs_i_setattr,
+  getattr:     gpfs_i_getattr
+#if LINUX_KERNEL_VERSION > 2060000
+  ,
+  setxattr: gpfs_i_setxattr,
+  getxattr: gpfs_i_getxattr,
+  listxattr: gpfs_i_listxattr,
+  removexattr: gpfs_i_removexattr
+#endif
+};
+
+/* inode operations for symlinks */
+struct inode_operations gpfs_link_iops =
+{
+  create:       gpfs_i_create,     /* create             */
+// lookup:      no lookup op for symlink
+  link:         gpfs_i_link,       /* link               */
+  unlink:       gpfs_i_unlink,     /* remove             */
+  symlink:      gpfs_i_symlink,    /* symlink            */
+  mkdir:        gpfs_i_mkdir,      /* mkdir              */
+  rmdir:        gpfs_i_rmdir,      /* rmdir              */
+  mknod:        gpfs_i_mknod,      /* mknod              */
+  rename:       gpfs_i_rename,     /* rename             */
+  readlink:     gpfs_i_readlink,   /* readlink           */
+  follow_link:  gpfs_i_follow_link,/* readlink...      */
+#ifdef HAS_IOP_PUT_LINK
+  put_link:     gpfs_i_put_link,   /* delete link */
+#endif
+  truncate:     gpfs_i_truncate,   /* noop (done by setattr) */
+// permission:  no permission checking for symlink
+#if HAS_IOP_REVALIDATE
+  revalidate:   gpfs_i_revalidate,
+#endif
+  setattr:      gpfs_i_setattr,    /* setattr */
+  getattr:      gpfs_i_getattr     /* getattr */
+#if LINUX_KERNEL_VERSION > 2060000
+  ,
+  setxattr: gpfs_i_setxattr,
+  getxattr: gpfs_i_getxattr,
+  listxattr: gpfs_i_listxattr,
+  removexattr: gpfs_i_removexattr
+#endif
+  // no truncate_range
+};
+
+/* Default file operations, the other operations for the device
+ * come from the bare device
+ */
+struct file_operations gpfs_fops =
+{
+  llseek:     gpfs_f_llseek,
+  read:       gpfs_f_read,
+  write:      gpfs_f_write,
+  readdir:    gpfs_f_readdir,
+/*poll:       gpfs_f_poll,            let Linux handle poll by doing nothing */
+  ioctl:      gpfs_f_ioctl,              /* ENOSYS */
+  mmap:       gpfs_f_mmap,               /* ENOSYS */
+  open:       gpfs_f_open,
+  release:    gpfs_f_release,
+  fsync:      gpfs_f_fsync,
+  fasync:     gpfs_f_fasync,
+  lock:       gpfs_f_lock,
+#ifdef NFS4_CLUSTER
+  flock:      gpfs_f_flock,
+#endif
+#if LINUX_KERNEL_VERSION >= 2060000
+  sendfile:   generic_file_sendfile,
+#endif
+  aio_read:      gpfs_f_readv,
+  aio_write:     gpfs_f_writev
+};
+
+struct file_operations gpfs_fops_no_sendfile =
+{
+  llseek:     gpfs_f_llseek,
+  read:       gpfs_f_read,
+  write:      gpfs_f_write,
+  readdir:    gpfs_f_readdir,
+/*poll:       gpfs_f_poll,            let Linux handle poll by doing nothing */
+  ioctl:      gpfs_f_ioctl,              /* ENOSYS */
+  mmap:       gpfs_f_mmap,               /* ENOSYS */
+  open:       gpfs_f_open,
+  release:    gpfs_f_release,
+  fsync:      gpfs_f_fsync,
+  fasync:     gpfs_f_fasync,
+  lock:       gpfs_f_lock,
+#ifdef NFS4_CLUSTER
+  flock:      gpfs_f_flock,
+#endif
+  aio_read:      gpfs_f_readv,
+  aio_write:     gpfs_f_writev
+};
+
+/* Directory file operations are the same as regular file operations, but
+   read (as opposed to readdir) is not allowed */
+struct file_operations gpfs_dir_fops =
+{
+  llseek:     gpfs_f_llseek,
+  read:       gpfs_f_dir_read,
+  write:      gpfs_f_write,
+  readdir:    gpfs_f_readdir,
+/*poll:       gpfs_f_poll,            let Linux handle poll by doing nothing */
+  ioctl:      gpfs_f_ioctl,              /* ENOSYS */
+  mmap:       gpfs_f_mmap,               /* ENOSYS */
+  open:       gpfs_f_open,
+  release:    gpfs_f_release,
+  fsync:      gpfs_f_fsync,
+  fasync:     gpfs_f_fasync,
+  lock:       gpfs_f_lock,
+#ifdef NFS4_CLUSTER
+  flock:      gpfs_f_flock,
+#endif
+  aio_read:      gpfs_f_readv,
+  aio_write:     gpfs_f_writev
+};
+
+/* dcache operations for a valid dentry:
+   A valid dentry has no gpfs-specific operations defined;
+   linux2gpfs.h #defines gpfs_dops_valid so that the assignement
+   "d_op = &gpfs_dops_valid" will assign NULL to d_op instead of
+   assigning a pointer to a table that only contains NULL function
+   pointers.  This saves a few instructions on each potential call
+   to one of the d_op callbacks.  The declaration below is left here
+   ifdef'ed out so that a search for gpfs_dops_valid will find our
+   comment here. */
+#if 0
+struct dentry_operations gpfs_dops_valid = { };
+#endif
+
+/* dcache operations for a valid dentry for a file that has been or will
+   be unlinked shortly; a BR token revoke on the directory containing this
+   entry should invalidate this entry even if it does not look like a
+   negative dcache entry yet (call to d_delete has not yet happened);
+   see also comment in gpfs_i_unlink.  */
+struct dentry_operations gpfs_dops_ddeletepending =
+{
+  /* No operations defined.  There are explicit tests in the code for
+     "d_op == &gpfs_dops_ddeletepending", so this structure cannot be
+     removed as gpfs_dops_valid was. */
+};
+
+/* dcache operations for a dentry that has been invalidated by an inode
+   token revoke on the file that this dentry refers to, or (in case of
+   a negative dcache entry) by a BR token revoke on the directory
+   containing this entry */
+struct dentry_operations gpfs_dops_invalid =
+{
+  d_revalidate: gpfs_d_invalid,	
+};
+
+struct dentry_operations gpfs_dops_revalidate =
+{
+  d_revalidate: gpfs_d_revalidate,
+};
+
+#ifdef CCL
+/* dcache operations for a positive dentry that was created for
+   an inexact caseless file name match which succeeded for a Samba client.
+   The d_revalidate returns "true" for subsequent Samba clients
+   indicating that the dcache entry is still valid.
+   It returns "false" for local or NFS clients indicating
+   that the dcache entry is no longer valid which forces
+   a new lookup. */
+struct dentry_operations gpfs_dops_valid_if_Samba =
+{
+  d_revalidate: gpfs_d_valid_if_Samba,	
+};
+/* dcache operations for a negative dentry that was created for
+   an exact file name match which failed for a local or NFS client.
+   The d_revalidate returns "true" for subsequent local or NFS clients
+   indicating that the negative dcache entry is still valid.
+   It returns "false" for Samba clients indicating
+   that the dcache entry is no longer valid which forces
+   a new lookup. */
+struct dentry_operations gpfs_dops_invalid_if_Samba =
+{
+  d_revalidate: gpfs_d_invalid_if_Samba,	
+};
+#endif
+
+#if LINUX_KERNEL_VERSION < 2050000
+/* The other operations for the device come from the bare device */
+struct block_device_operations gpfs_bops = 
+{
+  open:       gpfs_b_open,
+  release:    gpfs_b_release,
+  ioctl:      gpfs_b_ioctl,
+};
+
+struct file_operations gpfs_fbps = 
+{
+  open:    gpfs_fb_open,
+  release: gpfs_fb_release,
+  ioctl:   gpfs_fb_ioctl,
+  read:    gpfs_fb_read,
+  write:   gpfs_fb_write,
+};
+#endif
+
+struct address_space_operations gpfs_aops =
+{
+  readpage:       gpfs_i_readpage,
+  writepage:      gpfs_i_writepage,
+#if LINUX_KERNEL_VERSION >= 2060000
+  sync_page:      block_sync_page,
+#endif 
+#if LINUX_KERNEL_VERSION >= 2060000  || defined(SUSE_LINUX)
+  direct_IO:      gpfs_f_direct_IO,
+#endif
+};
+
+/* address_space_operations after inode deletion */
+struct address_space_operations gpfs_aops_after_inode_delete =
+{
+};
+
+/*
+ * filemap nopage callback function
+ */
+struct vm_operations_struct gpfs_vmop = 
+{
+  nopage:  gpfs_filemap_nopage,
+#if defined(MMAP_LINUX_PATCH) && LINUX_KERNEL_VERSION < 2060000
+  nopagedone:  gpfs_filemap_nopagedone,
+#endif
+  open:    gpfs_filemap_open,
+  close:   gpfs_filemap_close,
+};
+                                                                                                 
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/postlinux.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/postlinux.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/postlinux.h	(revision 16)
@@ -0,0 +1,36 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+}
+#undef new
+#undef virtual
+#undef typename
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/Imakefile	(revision 16)
@@ -0,0 +1,21 @@
+/* $Id: Imakefile,v 1.5 2005/07/27 01:45:58 tee Exp $ */
+
+/* Only include portability and cxi headers in this layer */
+SetGplIncludePath()
+
+NormalObjectRule()
+
+HEADERS =
+
+LINUX_CUSTOM = cfiles_PPC.ko
+
+GPL_LIBS = libarch-gpl_cust.a
+
+STD_KINCLUDES += -I$(KERNEL_HEADER_DIR)/../arch/ppc
+
+kLibraryTarget(libarch-gpl_cust.a, $(LINUX_CUSTOM))
+InstallLibraries($(GPL_LIBS), $(GPL_LIB_DIR))
+
+TRACELIST = ss_ppc.c
+
+DependTargetK()
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/cfiles.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/cfiles.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/cfiles.c	(revision 16)
@@ -0,0 +1,12 @@
+/* @(#)71       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/power/cfiles.c, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:27:11 */
+/* This file is included by cfiles_<kernopts>.c
+ * It is a list of c files that make up the mmfslinux
+ * module.  The cfiles_<kernopts>.c file includes the
+ * <linux/config.h> that is on the local machine and redefines
+ * the kernel config options.  It then includes this file.
+ *  
+ * The reason for this is so we can build a module for an alternate
+ * kernel config.
+ */ 
+#include "ss_ppc.c"
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/cfiles_PPC.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/cfiles_PPC.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/cfiles_PPC.c	(revision 16)
@@ -0,0 +1,19 @@
+/* @(#)72       1.3  src/avs/fs/mmfs/ts/kernext/gpl-linux/power/cfiles_PPC.c, mmfs, avs_rgpfs24, rgpfs240610b 7/28/05 10:38:52 */
+#include <linux/config.h>
+
+#undef CONFIG_X86_UP_APIC
+#undef CONFIG_X86_UP_IOAPIC
+
+#undef CONFIG_HIGHMEM
+#undef CONFIG_NOHIGHMEM
+#undef CONFIG_HIGHMEM4G
+#undef CONFIG_HIGHMEM64G
+#undef CONFIG_X86_PAE
+#undef CONFIG_1GB
+#undef CONFIG_2GB
+#undef CONFIG_3GB
+
+#define CONFIG_NOHIGHMEM 1
+#define CONFIG_1GB 1
+
+#include "cfiles.c"
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/ss_ppc.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/ss_ppc.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/power/ss_ppc.c	(revision 16)
@@ -0,0 +1,58 @@
+/* @(#)73       1.5  src/avs/fs/mmfs/ts/kernext/gpl-linux/power/ss_ppc.c, mmfs, avs_rgpfs24, rgpfs240610b 7/28/05 10:38:39 */
+/*
+ * Implementation of shared segment for GPFS daemon and GPFS kernel code.
+ *
+ */
+
+#include <Shark-gpl.h>
+#include <cxiSystem.h>
+#include <cxiSharedSeg.h>
+
+#include <linux/types.h>
+#include <linux/version.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/types.h>
+#if LINUX_KERNEL_VERSION < 2060000
+#include <linux/compatmac.h>
+#endif
+
+#include <verdep.h>
+
+int
+kxSaveThreadInfo(int tid, void* regP)
+{
+  struct task_struct *g, *t;
+  int rc = ENOENT;
+  unsigned long sp;
+
+  read_lock(&tasklist_lock);
+  DO_EACH_THREAD(g,t)
+  {
+    if (t->pid != tid)
+      continue;
+
+    rc = 0;
+    goto found_it;
+  } WHILE_EACH_THREAD(g,t);
+found_it:
+  read_unlock(&tasklist_lock);
+  if (rc == 0)
+  {
+    if (t->thread.regs != NULL)
+      copy_to_user(regP, t->thread.regs, sizeof(struct pt_regs));
+    else
+    {
+#if LINUX_KERNEL_VERSION < 2060000
+      sp = (unsigned long)t + sizeof(union task_union);
+#else
+      /* ??? */
+      sp = (unsigned long)t->thread_info + THREAD_SIZE;
+#endif
+      sp -= sizeof(struct pt_regs);
+      copy_to_user(regP, (void*)sp, sizeof(struct pt_regs));
+    }
+  }
+  return rc;
+} 	
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/Imakefile	(revision 16)
@@ -0,0 +1,19 @@
+/* $Id: Imakefile,v 1.3.2.1 2006/10/06 22:33:16 yuri Exp $ */
+
+/* Only include portability and cxi headers in this layer */
+SetGplIncludePath()
+
+NormalObjectRule()
+
+HEADERS =
+
+LINUX_CUSTOM = cfiles_PPC64.ko
+
+GPL_LIBS = libarch-gpl_cust.a
+
+kLibraryTarget(libarch-gpl_cust.a, $(LINUX_CUSTOM))
+InstallLibraries($(GPL_LIBS), $(GPL_LIB_DIR))
+
+TRACELIST = ss_ppc64.c
+
+DependTargetPK()
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/cfiles.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/cfiles.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/cfiles.c	(revision 16)
@@ -0,0 +1,45 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)18       1.1  src/avs/fs/mmfs/ts/kernext/gpl-linux/ppc64/cfiles.c, mmfs, avs_rgpfs24, rgpfs240610b 10/29/02 12:09:53 */
+
+/* This file is included by cfiles_<kernopts>.c
+ * It is a list of c files that make up the mmfslinux
+ * module.  The cfiles_<kernopts>.c file includes the
+ * <linux/config.h> that is on the local machine and redefines
+ * the kernel config options.  It then includes this file.
+ *  
+ * The reason for this is so we can build a module for an alternate
+ * kernel config.
+ */ 
+#include "ss_ppc64.c"
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/cfiles_PPC64.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/cfiles_PPC64.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/cfiles_PPC64.c	(revision 16)
@@ -0,0 +1,56 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)23       1.1  src/avs/fs/mmfs/ts/kernext/gpl-linux/ppc64/cfiles_PPC64.c, mmfs, avs_rgpfs24, rgpfs240610b 10/29/02 12:09:59 */
+
+#include <linux/config.h>
+
+#undef CONFIG_SMP
+#undef CONFIG_UP
+
+#undef CONFIG_X86_UP_APIC
+#undef CONFIG_X86_UP_IOAPIC
+
+#undef CONFIG_HIGHMEM
+#undef CONFIG_NOHIGHMEM
+#undef CONFIG_HIGHMEM4G
+#undef CONFIG_HIGHMEM64G
+#undef CONFIG_X86_PAE
+#undef CONFIG_1GB
+#undef CONFIG_2GB
+#undef CONFIG_3GB
+
+#define CONFIG_SMP 1
+#define CONFIG_NOHIGHMEM 1
+#define CONFIG_1GB 1
+
+#include "cfiles.c"
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/ss_ppc64.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/ss_ppc64.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ppc64/ss_ppc64.c	(revision 16)
@@ -0,0 +1,91 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)27       1.5  src/avs/fs/mmfs/ts/kernext/gpl-linux/ppc64/ss_ppc64.c, mmfs, avs_rgpfs24, rgpfs240610b 9/15/04 23:29:27 */
+
+/*
+ * Implementation of shared segment for GPFS daemon and GPFS kernel code.
+ *
+*/
+
+#include <Shark-gpl.h>
+#include <cxiSystem.h>
+#include <cxiSharedSeg.h>
+
+#include <linux/types.h>
+#include <linux/version.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/types.h>
+#if LINUX_KERNEL_VERSION < 2060000
+#include <linux/compatmac.h>
+#endif
+
+#include <verdep.h>
+
+int
+kxSaveThreadInfo(int tid, void* regP)
+{
+  struct task_struct *g, *t;
+  int rc = ENOENT;
+  unsigned long sp;
+
+  read_lock(&tasklist_lock);
+  DO_EACH_THREAD(g,t)
+  {
+    if (t->pid != tid)
+      continue;
+
+    rc = 0;
+    goto found_it;
+  } WHILE_EACH_THREAD(g,t);
+found_it:
+  read_unlock(&tasklist_lock);
+  if (rc == 0)
+  {
+    if (t->thread.regs != NULL)
+      copy_to_user(regP, t->thread.regs, sizeof(struct pt_regs));
+    else
+    {
+#if LINUX_KERNEL_VERSION < 2060000
+      sp = (unsigned long)t + sizeof(union task_union);
+#else
+      /* ??? */
+      sp = (unsigned long)t->thread_info + THREAD_SIZE;
+#endif
+      sp -= sizeof(struct pt_regs);
+      copy_to_user(regP, (void*)sp, sizeof(struct pt_regs));
+    }
+  }
+  return rc;
+} 	
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/prelinux.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/prelinux.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/prelinux.h	(revision 16)
@@ -0,0 +1,42 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+#define __NO_VERSION__
+
+#ifndef __KERNEL__
+#define __KERNEL__
+#endif
+
+#define new      notKeywordNew
+#define virtual  notKeywordVirtual  /* override 'virtual' member in mm.h */
+#define typename notKeywordTypename /* override 'typename' member in irq.h */
+extern "C" {
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ss.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ss.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/ss.c	(revision 16)
@@ -0,0 +1,1602 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)22       1.109.1.3  src/avs/fs/mmfs/ts/kernext/gpl-linux/ss.c, mmfs, avs_rgpfs24, rgpfs24s008a 11/30/06 16:55:18 */
+/*
+ * Implementation of shared segment for GPFS daemon and GPFS kernel code.
+ *
+ * Contents:
+ *   exp_procfs_version
+ *   gpfs_proc_export_init
+ *   gpfs_proc_export_term
+ *   ss_open
+ *   ss_release
+ *   ss_fs_read
+ *   ss_fs_write
+ *   ss_fs_ioctl
+ *   ss_init
+ *   kxSaveThreadInfo
+ *
+ *   struct ShMemChunkDesc
+ *   unprotectKernelMemory
+ *   reprotectKernelMemory
+ *   InitSharedMemory
+ *   TermSharedMemory
+ *   cxiCalcMaxSharedSegment
+ *   cxiAllocSharedMemory
+ *   cxiFreeSharedMemory
+ *   cxiAttachSharedMemory
+ *   cxiFreeSharedMemory
+ *
+ */
+
+#include <Shark-gpl.h>
+
+#include <linux/types.h>
+#include <linux/version.h>
+#ifndef UTS_RELEASE
+#include <linux/utsrelease.h>
+#endif
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/errno.h>
+#include <linux/slab.h>
+#include <linux/smp_lock.h>
+#include <linux/proc_fs.h>
+#include <linux/mm.h>
+#include <linux/fs.h>
+#include <linux/file.h>
+#include <linux/binfmts.h>
+#include <linux/signal.h>
+#include <linux/vmalloc.h>
+
+#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
+#include <asm/io.h>
+#include <asm/uaccess.h>
+#include <asm/user.h>
+#include <asm/mman.h>
+#include <asm/atomic.h>
+#include <asm/ptrace.h>
+#include <asm/ucontext.h>
+#include <asm/elf.h>
+
+#include <Logger-gpl.h>
+#include <linux2gpfs.h>
+#include <verdep.h>
+#include <arch-gpl.h>
+
+#include <cxiSystem.h>
+#include <cxiIOBuffer.h>
+#include <cxiSharedSeg.h>
+#include <Trace.h>
+
+#if GPFS_ARCH_X86_64 && LINUX_KERNEL_VERSION < 2061600
+#include <asm/ioctl32.h>
+#if LINUX_KERNEL_VERSION >= 2060507
+long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg);
+#endif
+#endif
+
+int 
+cxiAttachSharedMemory(cxiMemoryMapping_t *mappingP, Boolean isSharedSegment);
+
+#ifdef GPFS_ARCH_POWER
+#define PKMAP_BASE (0xfe000000UL)
+#define VMALLOC_END ioremap_bot
+#endif
+
+const char *gpfs_banner = "GPFS Linux kernel version " UTS_RELEASE "\n";
+
+SETUP_MODULE_PATH_PARMS;
+
+#ifdef PERF_STATS
+int ioctl_count[MAX_SS_IOCTL_OPS];
+#endif
+
+
+/* Dynamically assigned major device number for the ioctl interfaces to the
+   GPFS kernel modules.  This is the /dev/ss0 device. */
+int GPFSIoctlMajorNumber;
+
+  /* Only allow the users with write access or root users */
+#define CHECK_PERM if (!(file->f_mode & FMODE_WRITE) && !cxiIsSuperUser()) \
+                   {                                                       \
+                      EXIT(0);                                             \
+                      return -EPERM;                                       \
+                   }
+
+/* Vector table for all routines that can be called with the ss_fs_ioctl. */
+int (*ss_ioctl_op[MAX_SS_IOCTL_OPS+1])();
+
+#ifdef SSEG_SWIZZLE_PTRS
+/* virtual MM handlers for vm areas */
+void ss_vm_open(struct vm_area_struct *area);
+void ss_vm_close(struct vm_area_struct *area);
+#if LINUX_KERNEL_VERSION < 2060000
+struct page *ss_vm_nopage(struct vm_area_struct *area, unsigned long address, int unused);
+#else
+struct page *ss_vm_nopage(struct vm_area_struct *area, unsigned long address, int *type);
+#endif /* LINUX_KERNEL_VERSION < 2060000 */
+
+static struct vm_operations_struct ss_vm_ops = {
+  open:   ss_vm_open,
+  close:  ss_vm_close,
+  nopage: ss_vm_nopage,
+};
+#endif /* SSEG_SWIZZLE_PTRS */
+
+/* Add GPFS information to the /proc file system. */
+int
+exp_procfs_version(char *buffer, char **start, off_t offset,
+                   int length, int *eof, void *data)
+{
+  off_t pos = 0;
+  off_t begin = 0;
+  int   len = 0;
+
+  len += sprintf(buffer+len, gpfs_banner);
+  *eof = 1;
+
+  *start = buffer + (offset - begin);
+  len -= (offset - begin);
+  if ( len > length )
+    len = length;
+
+  return len;
+}
+
+void
+gpfs_proc_export_init(void)
+{
+  if (!proc_mkdir("fs/gpfs", 0))
+    return;
+  create_proc_read_entry("fs/gpfs/version", 0, 0, exp_procfs_version, NULL);
+}
+
+void
+gpfs_proc_export_term(void)
+{
+  remove_proc_entry("fs/gpfs/version", NULL);
+  remove_proc_entry("fs/gpfs", NULL);
+
+}
+
+/* Open the character device used for the shared segment. */
+int 
+ss_open(struct inode *inode, struct file *filp)
+{
+
+  TRACE2(TRACE_SHARED, 2, TRCID_SS_019,
+         "ss_open: file 0x%lX inode 0x%lX\n",
+         filp, inode);
+
+  MY_MODULE_INCREMENT();
+
+  return 0;          /* success */
+}
+
+
+/* Release/Close the character device used for the shared segment. */
+int 
+ss_release(struct inode *inode, struct file *filp)
+{
+  TRACE1(TRACE_SHARED, 2, TRCID_SS_023,
+         "ss_release: file 0x%lX\n", filp);
+
+  MY_MODULE_DECREMENT();
+
+  return 0;          /* success */
+}
+
+/* Map the shared segment and return the address of the first chunk allocated
+   (if buffer is big enough to hold it). */
+ssize_t 
+ss_fs_read(struct file *file, char *buf, size_t nbytes, loff_t *ppos)
+{
+  struct inode *inode = file->f_dentry->d_inode;
+  unsigned int minor = MINOR(inode->i_rdev);
+  cxiMemoryMapping_t mapping;
+  int rc;
+
+  TRACE1(TRACE_SHARED, 2, TRCID_SS_059, "ss_fs_read: called 0x%lX\n", nbytes);
+  /* BKL is not held at entry */
+
+  if (minor != 0)
+    return -ENODEV;
+
+  /* Only allow the users with write access or root users */
+  if (!(file->f_mode & FMODE_WRITE) && !cxiIsSuperUser())
+    return -EPERM;
+
+  InitMemoryMapping(&mapping);
+
+  /* Map the shared memory */
+  rc = cxiAttachSharedMemory(&mapping, true);
+  if (rc)
+    return -rc;
+
+  /* If user buffer is big enough, copy base address of segment there */
+  if (nbytes >= sizeof(mapping.vaddr))
+  {
+    rc = cxiCopyOut((char *)&mapping.vaddr, buf, sizeof(mapping.vaddr));
+    if (rc)
+      return -EFAULT;
+  }
+  return 0;
+}
+
+/* Was used for debugging. */
+ssize_t 
+ss_fs_write(struct file *file, const char *buf, size_t nbytes, loff_t *ppos)
+{
+  /* Only allow the users with write access or root users */
+  if (!(file->f_mode & FMODE_WRITE) && !cxiIsSuperUser())
+    return -EPERM;
+
+  TRACE1(TRACE_SHARED, 0, TRCID_SS_065, "ss_fs_write: called 0x%lX\n", nbytes);
+  /* BKL is not held at entry */
+
+  return -EINVAL;
+}
+
+#ifdef PERF_STATS
+int kxNoOp(int op1, int op2)
+{
+  int i;
+
+  if (op1 == 1)  // reset all counters
+  {
+    for (i = 0; i < MAX_SS_IOCTL_OPS; i++)
+       ioctl_count[i] = 0;
+  }
+  if (op2 > 0 && op2 < MAX_SS_IOCTL_OPS)
+    return ioctl_count[op2];     // return the requested counter
+
+  return 0;
+}
+#endif
+
+#if GPFS_ARCH_X86_64 && LINUX_KERNEL_VERSION >= 2061600
+long ss_fs_compat_ioctl(struct file *file, unsigned int op, unsigned long kx_args)
+{
+  int rc;
+  TRACE2(TRACE_KSVFS, 9, TRCID_SS_DMAPI_COMPAT_ENTER,
+             "Entering ss_fs_compat_ioctl: called me with op = %d (%s)", op, kxOp_tostring(op));
+
+  if (ss_ioctl_op[0] != 0)
+  {
+    /*         unlock_kernel();*/
+     rc = ss_ioctl_op[0](op, kx_args);
+     /*lock_kernel();*/
+  }
+  else
+    rc = -1;
+
+  TRACE1(TRACE_KSVFS, 9, TRCID_SS_DMAPI_COMPAT_EXIT,
+         "Leaving ss_fs_compat_ioctl with rc = %d.", rc);
+ 
+  return rc; 
+
+}
+#endif
+
+/* Shared segment and other ioctl calls to the kernel code. */
+int 
+ss_fs_ioctl(struct inode *inode, struct file *file,
+            unsigned int op, unsigned long kx_args)
+{
+  int len, rc;
+  char buf[512];
+  struct kxArgs args_cp;
+  struct kxArgs *args = (struct kxArgs *)kx_args;
+
+  ENTER(0);
+  if (op == kxtraceit)
+  {
+    CHECK_PERM;
+
+    rc = cxiCopyIn((char*)args, (char*)&args_cp, sizeof(args_cp));
+    if (rc != 0)
+      goto minus1;
+
+    len = 3;
+    strncpy(buf, KERN_NOTICE, len);            // KERN_NOTICE = "<5>"
+    len += sprintf(buf+len, "dp %X:%d:", cxiGetThreadId(), args_cp.arg3);
+
+    rc = cxiCopyIn((char*)args_cp.arg2, buf+len, args_cp.arg1+1);
+    if (rc != 0)
+      goto minus1;
+
+    printk(buf);
+    EXIT(0);
+    return 0;
+  }
+
+  TRACE5(TRACE_KSVFS, 15, TRCID_SS_075,
+         "ss_fs_ioctl: op %d opAddr 0x%lX args 0x%lX inode 0x%lX file 0x%lX\n",
+         op, ss_ioctl_op[op], kx_args, inode, file);
+  /* BKL is held at entry */
+
+#ifdef PERF_STATS
+  if (op > 0 && op < MAX_SS_IOCTL_OPS)
+    ioctl_count[op]++;
+#endif
+
+  switch (op)
+  {
+#ifdef GPFS_ARCH_POWER
+    case CoreDump:
+      CHECK_PERM;
+      rc = cxiCopyIn((char*)args, (char*)&args_cp, sizeof(args_cp));
+      if (rc != 0)
+        goto minus1;
+      rc = kxCoreDump((long)args_cp.arg1, (void *)args_cp.arg2,
+                      (struct ucontext *)args_cp.arg3, (char *)args_cp.arg4);
+      break;
+#endif
+    case saveThreadInfo:
+      CHECK_PERM;
+      rc = cxiCopyIn((char*)args, (char*)&args_cp, sizeof(args_cp));
+      if (rc != 0)
+        goto minus1;
+      rc = kxSaveThreadInfo(args_cp.arg1, (void *)args_cp.arg2);
+      break;
+
+    case GetPrivLevel:
+      CHECK_PERM;
+      rc = get_privilege_level();
+      break;
+
+    case SetPrivLevel:
+      CHECK_PERM;
+      rc = set_privilege_level(kx_args);
+      break;
+
+    case MapPrivate:
+      { 
+        char *outAddr;
+
+        CHECK_PERM;
+        rc = cxiCopyIn((char*)args, (char *)&args_cp, sizeof(args_cp));
+        if (rc != 0)
+          goto minus1;
+
+        rc = kxMapPrivate((char *)args_cp.arg1, (unsigned long)args_cp.arg2,
+                          (unsigned long)args_cp.arg3, &outAddr);
+        if (rc == 0)
+          rc = cxiCopyOut((char*)&outAddr, (char*)args_cp.arg4, sizeof(char*));
+  
+        if (rc != 0)
+          rc = -EFAULT;
+        break;
+      }
+
+    case GetTimeOfDay:
+      {
+        cxiTimeStruc_t ts;
+
+        rc = cxiGetTOD(&ts);
+        if (rc == 0)
+          rc = cxiCopyOut((char*)&ts, (char*)kx_args, sizeof(cxiTimeStruc_t));
+
+        if (rc != 0)
+          rc = -EFAULT;
+        break;
+      }
+
+#ifdef PERF_STATS
+    case noOp:
+      rc = cxiCopyIn((char*)args, (char*)&args_cp, sizeof(args_cp));
+      if (rc != 0)
+        break;
+      if (args_cp.arg1 == 0 && args_cp.arg2 == 0)
+      { /* continue to the real noop kxNoOp in ssioctl.C */ }
+      else
+      {
+        rc = kxNoOp((int)args_cp.arg1, (int)args_cp.arg2);
+        break;
+      }
+#endif
+
+    default:
+      TRACE1(TRACE_KSVFS, 9, TRCID_SS_077,
+             "ss_fs_ioctl: invoking ss_ioctl_op %d\n", op);
+      if (ss_ioctl_op[0] != 0)
+      {
+        unlock_kernel();
+        rc = ss_ioctl_op[0](op, kx_args);
+        lock_kernel();
+      }
+      else
+        goto minus1;
+      break;
+  }
+  EXIT(0);
+  return rc;
+
+minus1:
+  EXIT(0);
+  return -1;
+}
+
+#ifdef SSEG_SWIZZLE_PTRS
+extern int ss_fs_mmap(struct file *file, struct vm_area_struct *vma);
+#endif
+
+/* The other operations, not in the following list, for the device come from
+   the bare device. */
+struct file_operations ss_fops =
+{
+  read:    ss_fs_read,
+  write:   ss_fs_write,
+  ioctl:   ss_fs_ioctl,
+#ifdef SSEG_SWIZZLE_PTRS
+  mmap:    ss_fs_mmap,
+#endif
+  open:    ss_open,
+  release: ss_release,
+#if GPFS_ARCH_X86_64 && LINUX_KERNEL_VERSION >= 2061600
+  compat_ioctl: ss_fs_compat_ioctl,
+#endif
+};
+
+#ifdef API_32BIT
+#ifdef GPFS_ARCH_X86_64
+
+/* Note that these 32-bit ioctl functions are not needed for ia64; these
+   routines just call the standard 64-bit ioctl. */
+static int tsstat32(unsigned fd, unsigned cmd, unsigned long ptr, struct file * filp)
+{ 
+  DBGASSERT(cmd == Stat);
+  return sys_ioctl(fd,cmd,ptr);
+}
+static int tsfstat32(unsigned fd, unsigned cmd, unsigned long ptr, struct file * filp)
+{ 
+  DBGASSERT(cmd == Fstat);
+  return sys_ioctl(fd,cmd,ptr);
+}
+static int tsfattr32(unsigned fd, unsigned cmd, unsigned long ptr, struct file * filp)
+{ 
+  DBGASSERT(cmd == Fattr);
+  return sys_ioctl(fd,cmd,ptr);
+}
+static int tsfsattr32(unsigned fd, unsigned cmd, unsigned long ptr, struct file * filp)
+{ 
+  DBGASSERT(cmd == FsAttr);
+  return sys_ioctl(fd,cmd,ptr);
+}
+static int tsattr32(unsigned fd, unsigned cmd, unsigned long ptr, struct file * filp)
+{ 
+  DBGASSERT(cmd == Attr);
+  return sys_ioctl(fd,cmd,ptr);
+}
+static int tsgetacl32(unsigned fd, unsigned cmd, unsigned long ptr, struct file * filp)
+{ 
+  DBGASSERT(cmd == GetACL);
+  return sys_ioctl(fd,cmd,ptr);
+}
+static int tsputacl32(unsigned fd, unsigned cmd, unsigned long ptr, struct file * filp)
+{ 
+  DBGASSERT(cmd == PutACL);
+  return sys_ioctl(fd,cmd,ptr);
+}
+#ifdef DMAPI
+static int kxDmApiCall32(unsigned fd, unsigned cmd, unsigned long ptr, struct file * filp)
+{
+  DBGASSERT(cmd == DmApiCall);
+  return sys_ioctl(fd,cmd,ptr);
+}
+#endif /* DMAPI */
+
+#ifdef GPFS_QUOTACTL
+static int kxQuotactl32(unsigned fd, unsigned cmd, unsigned long ptr, struct file * filp)
+{
+  DBGASSERT(cmd == Quotactl);
+  return sys_ioctl(fd,cmd,ptr);
+}
+#endif
+#endif /* GPFS_ARCH_X86_64 */
+
+/* Most 64-bit architectures have a separate interface where 32-bit ioctl
+   command numbers / routines must be registered (not necessary for ia64). 
+   At some point we may need to modify our command numbers (currently
+   use kxOps for number field) to use both the type / magic number
+   and number field (ie, _IOWR('G', ) instead of current implicit _IORW(0, ))
+   if a command number collision occurs between gpfs and a new
+   device driver. The 32-bit ioctl implementation only
+   uses a hash table (and not a driver specific function pointer like ioctl
+   from file_operations ... something like ioctl32 would be ideal or just
+   passing this to sys_ioctl like is done on ia64 platform),
+   so a collision may occur here someday. Curently not very many drivers
+   provide 32-bit ioctl calls and only the entries from 0x0 to 0x1F are used
+   with magic number 0, ie  _IOWR(0,0) to _IOWR(0,1F), while our external API
+   commands are in the range of 53-59 (0x35-0x3b) ... although the limited
+   ioctl32 hash table size actually makes collisions much more likely.
+   Note that /usr/src/linux/Documentation/ioctl-number.txt keeps track of
+   the registered blocks used by drivers. */
+void
+gpfs_reg_ioctl32()
+{
+	int rc = 0;
+/* TO DO: eventually add 32-bit API for PPC64? */
+#if GPFS_ARCH_X86_64 && LINUX_KERNEL_VERSION < 2061600
+  rc = register_ioctl32_conversion(Stat, tsstat32);
+  rc |= register_ioctl32_conversion(Fstat, tsfstat32);
+  rc |= register_ioctl32_conversion(Fattr, tsfattr32);
+  rc |= register_ioctl32_conversion(FsAttr, tsfsattr32);
+  rc |= register_ioctl32_conversion(Attr, tsattr32);
+  rc |= register_ioctl32_conversion(GetACL, tsgetacl32);
+  rc |= register_ioctl32_conversion(PutACL, tsputacl32);
+#ifdef DMAPI
+  rc |= register_ioctl32_conversion(DmApiCall, kxDmApiCall32);
+#endif /* DMAPI */
+#ifdef GPFS_QUOTACTL
+  rc  |= register_ioctl32_conversion(Quotactl, kxQuotactl32);
+#endif /* GPFS_QUOTACTL */
+  
+  if (rc)
+   printk("gpfs_reg_ioctl32: Error in registering ioctl32\n");
+
+#endif /* GPFS_ARCH_X86_64 */
+}
+
+void
+gpfs_unreg_ioctl32()
+{
+	int rc = 0;
+/* TO DO: eventually add 32-bit API for PPC64? */
+#if GPFS_ARCH_X86_64 && LINUX_KERNEL_VERSION < 2061600
+  rc = unregister_ioctl32_conversion(Stat);
+  rc |= unregister_ioctl32_conversion(Fstat);
+  rc |= unregister_ioctl32_conversion(Fattr);
+  rc |= unregister_ioctl32_conversion(FsAttr);
+  rc |= unregister_ioctl32_conversion(Attr);
+  rc |= unregister_ioctl32_conversion(GetACL);
+  rc |= unregister_ioctl32_conversion(PutACL);
+#ifdef DMAPI
+  rc |= unregister_ioctl32_conversion(DmApiCall);
+#endif /* DMAPI */
+#ifdef GPFS_QUOTACTL
+  rc |= unregister_ioctl32_conversion(Quotactl);
+#endif /* GPFS_QUOTACTL */
+
+  if (rc)
+   printk("unregister_ioctl32_conversion: Error in unregistering ioctl32\n");
+
+#endif /* GPFS_ARCH_X86_64 */
+}
+
+#endif /* API_32BIT */
+
+/* Initialization of the character device used for the shared segment
+   interfaces and other ioctl calls to the kernel code. */
+int 
+ss_init()
+{
+  int major;
+
+  GPFSIoctlMajorNumber = 0;
+  major = register_chrdev(0, "ss", &ss_fops);
+
+  if (major < 0)
+  {
+    TRACE1(TRACE_SHARED, 2, TRCID_SS_081,
+           "ss_init: unable to get ss0 major rc %d\n", major);
+    return -1;
+  }
+
+  GPFSIoctlMajorNumber = major;
+  TRACE1(TRACE_SHARED, 2, TRCID_SS_083,
+         "ss_init: module loaded ss0 major %d\n", GPFSIoctlMajorNumber);
+
+  return 0;
+}
+
+/* Management of storage shared between the GPFS daemon and the mmfslinux
+   kernel module.  Chunks of memory are allocated on demand by the
+   kxAllocSharedKernelMemory call, and are then suballocated by GPFS.  To
+   allow free use of pointers, all of this memory is addressed using the
+   same virtual addresses whether it is being accessed from the daemon
+   process or from a process in kernel mode.  Setting up this addressibility
+   requires modifying the protection bits in the Linux page table.  For
+   historical reasons dating to the implementation of GPFS on AIX, the
+   storage shared between the GPFS daemon process and the kernel is
+   frequently referred to collectively as "the shared segment".
+   Note that when pointer swizzling is utilized (via SSEG_PTR_SWIZZLE), the
+   virtual address for the daemon process and kernel is no longer common;
+   the page tables are not fiddled with in this situation and a page fault
+   handler is utilized instead. */
+
+/* Description of each allocated chunk.  Allocated chunks are linked
+   together from ChunkListHead. */
+struct ShMemChunkDesc
+{
+  struct list_head chunkList;  /* list linkage */
+  char* vaddrP;                /* virtual address of beginning of chunk */
+  int len;                     /* length of chunk */
+#ifdef SSEG_SWIZZLE_PTRS
+  char* usrvaddrP;             /* corresponding user address from mmap */
+#endif
+};
+struct list_head ChunkListHead;
+
+/* Number of chunks and total size of all chunks */
+int NVMallocChunks;
+int TotalVMallocBytes;
+
+/* Address of the first chunk allocated.  This value gets returned by
+   cxiMapAllSharedKernelMemory as the base of the GPFS shared segment. */
+char* FirstVMallocChunkP;
+
+/* Maximum total bytes to allocate, as computed by cxiCalcMaxSharedSegment */
+int MaxTotalVMallocBytes;
+
+/* Beginning and end of the area of kernel virtual memory used by
+   vmalloc/vfree */
+UIntPtr VMallocStart;
+UIntPtr VMallocEnd;
+
+/* Minimum size of an allocated chunk */
+#define MIN_VMALLOC_CHUNK PAGE_SIZE
+
+/* Lock guarding the chunk list */
+spinlock_t ChunkListLock;
+
+/* Pointer to slab allocator for ShMemChunkDesc's */
+struct kmem_cache* ChunkCacheP = NULL;
+
+/* Make a range of kernel memory addressible by the current process while
+   in user mode */
+#ifndef SSEG_SWIZZLE_PTRS
+static void 
+unprotectKernelMemory(char* vaddrP, int len, Boolean allocating)
+{
+  struct mm_struct *mm = current->mm;
+  unsigned long vaddr = (unsigned long) vaddrP;
+  unsigned long vaddr_start = vaddr;
+  pgd_t *pgdP;
+  pmd_t *pmdP;
+  pte_t *pteP;
+
+  /* Change protection for each page in the range */
+  TRACE3N(TRACE_SHARED, 9, TRCID_UNPROT_ENTER,
+         "unprotectKernelMemory: vaddr 0x%lX len %d allocating %d\n",
+         vaddr, len, allocating);
+  while (len > 0)
+  {
+    /* Access the page to make sure all levels of the page table have been
+       created.  This this is a kernel address, so page table entries will
+       persist once they have been created, since the Linux kernel is not
+       pageable. */
+    atomic_read((atomic_t*) vaddrP);
+
+    /* Find page table entries for this page */
+    pgdP = PGD_OFFSET(mm, vaddr);
+    pmdP = pmd_offset(pgdP, vaddr);
+    pteP = PTE_OFFSET(pmdP, vaddr);
+
+#ifdef GPFS_ARCH_I386
+    /* On IA32, set both the pte, and pmd/pgd to allow mmfsd process-level 
+     * access to the area.  Since each process has its own page directory
+     * (pgd), an attempt to access one of these unprotected pages will be
+     * blocked by the protection bit in that process' pgd.  If another process
+     * requires access to shared kernel pages, only its pgd need be updated. 
+     * pmd_t and pte_t are same size and definition. Thus pte_rdprotect() 
+     * (only available macro that hides differences between Suse/Redhat) 
+     * is used.
+     */
+    DBGASSERT(sizeof(pte_t) == sizeof(pmd_t));
+    set_pte((pte_t *)pmdP, pte_mkread((*(pte_t *)pmdP)));
+    if (allocating)
+      set_pte(pteP, pte_mkread(*pteP));
+
+    PTE_UNMAP(pteP);
+
+#elif defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_X86_64)
+    // XXX Not implemented
+    //      pmd_val(*pmdP) = pmd_val(*pmdP) | _PAGE_USER;
+    //      if (allocating)
+    //        set_pte(pteP, pte_mkread(*pteP));
+#elif defined(GPFS_ARCH_IA64)
+    /* On IA64, set the protection level of the page when it is created.
+     * Nothing to do when allowing access from another process except to
+     * set the privilege level of the process. 
+     */
+    if (allocating)
+      pte_val(*pteP) = pte_val(*pteP) | PRIVILEGE_FLAGS;
+#endif
+
+    /* Advance to the next page */
+    vaddr += PAGE_SIZE;
+    vaddrP += PAGE_SIZE;
+    len -= PAGE_SIZE;
+  }
+
+  /* It is necessary to flush the TLB entries for IA64 to propagate the
+   * pte privilege level change. 
+   */
+  FLUSH_TLB_RANGE(mm, vaddr_start, vaddr);
+}
+#else
+static void 
+unprotectKernelMemory(char* vaddrP, int len, Boolean allocating)
+{
+  /* do nothing when pointer swizzling */
+  return;
+}
+#endif /* !SSEG_SWIZZLE_PTRS */
+
+/* Make a range of kernel memory no longer addressible by user processes
+   while in user mode.  Called just before freeing the memory. */
+#ifndef SSEG_SWIZZLE_PTRS
+static void 
+reprotectKernelMemory(char* vaddrP, int len)
+{
+  struct mm_struct *mm = current->mm;
+  unsigned long vaddr = (unsigned long) vaddrP;
+  unsigned long vaddr_start = vaddr;
+  pgd_t *pgdP;
+  pmd_t *pmdP;
+  pte_t *pteP;
+
+  /* Change protection for each page in the range */
+  ENTER(0);
+  TRACE2(TRACE_SHARED, 4, TRCID_REPROT_ENTER,
+         "reprotectKernelMemory: vaddr 0x%lX len %d\n",
+         vaddr, len);
+  while (len > 0)
+  {
+    /* Access the page to make sure all levels of the page table have been
+       created.  This this is a kernel address, so page table entries will
+       persist once they have been created, since the Linux kernel is not
+       pageable. */
+    atomic_read((atomic_t*) vaddrP);
+
+    /* Find page table entries for this page */
+    pgdP = PGD_OFFSET(mm, vaddr);
+    pmdP = pmd_offset(pgdP, vaddr);
+    pteP = PTE_OFFSET(pmdP, vaddr);
+
+#ifdef GPFS_ARCH_I386
+    /* On IA32, reset the pte and pmd to disallow process-level access.*/
+    set_pte((pte_t *)pmdP, pte_rdprotect((*(pte_t *)pmdP))); // see unprotect
+    set_pte(pteP, pte_rdprotect(*pteP));
+
+#elif defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_X86_64)
+    // XXX??? not implemented
+
+#elif defined(GPFS_ARCH_IA64)
+    /* On IA64, reset the protection level of the page. */
+    pte_val(*pteP) = (pte_val(*pteP) & ~_PAGE_PL_MASK) | _PAGE_PL_0;
+#endif
+
+    PTE_UNMAP(pteP);
+
+    /* Advance to the next page */
+    vaddr += PAGE_SIZE;
+    vaddrP += PAGE_SIZE;
+    len -= PAGE_SIZE;
+  }
+
+  /* It is necessary to flush the TLB entries for IA64 to propagate the
+   * pte privilege level change. 
+   */
+  FLUSH_TLB_RANGE(mm, vaddr_start, vaddr);
+  EXIT(0);
+}
+#else
+static void 
+reprotectKernelMemory(char* vaddrP, int len)
+{
+  /* do nothing when pointer swizzling */
+  return;
+}
+#endif /* !SSEG_SWIZZLE_PTRS */
+
+
+/* Initialize the code that manages shared memory */
+void 
+InitSharedMemory()
+{
+  ENTER(0);
+  TRACE2(TRACE_SHARED, 1, TRCID_SHKERN_INIT,
+         "InitSharedMemory called.  VMALLOC_START 0x%lX VMALLOC_END 0x%lX\n",
+         VMALLOC_START, VMALLOC_END);
+
+  VMallocStart = (UIntPtr)VMALLOC_START;
+  VMallocEnd = (UIntPtr)VMALLOC_END;
+
+  spin_lock_init(&ChunkListLock);
+
+  /* Create a slab allocator for ShMemChunkDesc objects */
+  ChunkCacheP = kmem_cache_create("ShMemChunkDesc",
+                                  sizeof(struct ShMemChunkDesc),
+                                  0 /* offset */,
+                                  0 /* flags */,
+                                  NULL /* ctor */,
+                                  NULL /* dtor */);
+  if (ChunkCacheP == NULL)
+    cxiPanic("Cannot create ShMemChunkDesc cache\n");
+
+  /* Empty the chunk list */
+  INIT_LIST_HEAD(&ChunkListHead);
+  EXIT(0);
+}
+
+
+/* Compute how large the total size shared segment
+   is allowed to grow, based on a desired size.  A value of 0 for
+   desiredBytes means to compute the default maximum size. */
+int 
+cxiCalcMaxSharedSegment(int desiredBytes, int* actualBytesP)
+{
+  Int64 physMemSize;
+  Int64 effPhysMemSize;
+  UIntPtr minAllowedSize = 16*1024*1024;
+  UIntPtr maxAllowedSize = MAX_SSEG_MAPPINGS*1024*1024;
+  UIntPtr actualBytes;
+  char* p;
+  UIntPtr vmUsed;
+  UIntPtr vmRegionReserved;
+  UIntPtr maxBytes;
+
+  /* If an explicit number of desired bytes was given, use that value.
+     Otherwise, if no number of desired bytes was given (or a value
+     smaller than the minimum possible was specified) compute the size based
+     on the size of real memory.  The size computed is a fixed fraction of
+     real memory (only the first 2G on i386). */
+  ENTER(0);
+  physMemSize = (Int64)num_physpages * PAGE_SIZE;
+#ifdef GPFS_ARCH_I386
+  effPhysMemSize = MIN(physMemSize, (Int64)0x80000000);
+#else
+  effPhysMemSize = physMemSize;
+#endif
+
+  if (desiredBytes > 0)
+    actualBytes = desiredBytes;
+  else
+    actualBytes = effPhysMemSize/16;
+
+  actualBytes = MAX(actualBytes, minAllowedSize);
+
+  /* Compute an approximation of how many bytes are already used in the
+     vmalloc region.  The variables needed to compute this exactly are not
+     exported from the kernel.  If we vmalloc a single page area and see how
+     far the allocated area is from the beginning of the vmalloc region, we
+     have at least a lower bound on the amount of vmalloc storage already
+     used.  If there have been no vfrees, this will yield an accurate
+     answer. */
+  p = vmalloc(PAGE_SIZE);
+  if (p == NULL)
+    vmUsed = VMallocEnd - VMallocStart;
+  else
+  {
+    vmUsed = (UIntPtr)p - VMallocStart;
+    vfree(p);
+  }
+
+  /* Make sure the actual maximum fits within the vmalloc region, taking
+     into account memory already used and leaving a reserved area for other
+     vmallocs. */
+  vmRegionReserved = 16*1024*1024;
+  maxBytes = (VMallocEnd-VMallocStart) - (vmUsed+vmRegionReserved);
+  actualBytes = MIN(actualBytes, maxBytes);
+
+  /* Make sure the actual maximum does not exceed the maximum possible */
+  actualBytes = MIN(actualBytes, maxAllowedSize);
+
+  /* Make sure the actual maximum is less than half of real memory */
+  actualBytes = MIN(actualBytes, effPhysMemSize/2);
+
+  /* Round actual maximum down to a multiple of the page size */
+  actualBytes = (actualBytes/PAGE_SIZE) * PAGE_SIZE;
+
+  /* If actual maximum is less than the minimum allowed, return 0 */
+  if (actualBytes < minAllowedSize)
+    actualBytes = 0;
+
+  /* Return result */
+  TRACE5(TRACE_SHARED, 1, TRCID_CALC_MAX_SHARED,
+         "cxiCalcMaxSharedSegment: actualBytes 0x%lX desiredBytes %d "
+         "physMemSize 0x%lX vmUsed 0x%lX maxBytes 0x%lX\n",
+         actualBytes, desiredBytes, physMemSize, vmUsed, maxBytes);
+
+  *actualBytesP = (int)actualBytes;
+  MaxTotalVMallocBytes = (int)actualBytes;
+
+  EXIT(0);
+  return 0;
+}
+
+/* Acquire additional kernel memory that is mapped to user space when
+ * using SSEG_SWIZZLE_PTRS (different virtual address between kernel and
+ * daemon); otherwise allocated memory uses the same virtual address 
+ * for both kernel code and the GPFS daemon.  Will get at least minBytes.
+ * Returns the starting virtual address of the area and its actual length. 
+ */
+int 
+cxiAllocSharedMemory(cxiMemoryMapping_t *mappingP, Boolean isSharedSegment)
+{
+  int rc = 0;
+  int code = 0;
+  char *vaddrP;
+  struct ShMemChunkDesc* chunkP = NULL;
+  int minBytes = mappingP->kBytes * 1024;
+  int actualBytes;
+  pgprot_t prot;
+#if defined(GPFS_ARCH_X86_64) && !defined(SSEG_SWIZZLE_PTRS)
+  pml4_t* pml4P;
+#endif
+
+  /* On linux we only allocate the shared segment in this manner */
+  ENTER(0);
+  LOGASSERT(isSharedSegment == true);
+
+  /* Compute actual number of bytes to allocate */
+  if (minBytes <= MIN_VMALLOC_CHUNK)
+    actualBytes = MIN_VMALLOC_CHUNK;
+  else
+    actualBytes = ((minBytes + PAGE_SIZE - 1) / PAGE_SIZE) * PAGE_SIZE;
+
+  TRACE2(TRACE_SHARED, 5, TRCID_ALLOC_SHARED_VMALLOC,
+         "cxiAllocSharedMemory: vmalloc %d minBytes %d\n",
+         actualBytes, minBytes);
+
+  /* Return failure if this allocation would put us over the limit */
+  if (TotalVMallocBytes + actualBytes > MaxTotalVMallocBytes)
+  {
+    code = 1;
+    rc = -ENOMEM;
+    goto xerror;
+  }
+
+  /* Get a descriptor for the memory to be allocated */
+  chunkP = (struct ShMemChunkDesc*) kmem_cache_alloc(ChunkCacheP, GFP_KERNEL);
+  if (chunkP == NULL)
+  {
+    code = 2;
+    rc = -ENOMEM;
+    goto xerror;
+  }
+    
+  /* Allocate memory 
+   * ?? Instead of calling vmalloc here, we could also do something like:
+   *   pgprot_t prot;
+   *   prot = __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_USER);
+   *   vaddrP = __vmalloc(actualBytes, GFP_KERNEL | __GFP_HIGHMEM, prot);
+   *
+   * This is an expansion of the vmalloc inline function, with _PAGE_USER
+   * added to the protection bits so that the PTE entries will already be set
+   * correctly.  However, a call to unprotectKernelMemory would still be
+   * needed to set the protection bits in the PMD entries.
+   *
+   * There is also the possibility here of using __GFP_HIGHMEM instead of
+   * GFP_KERNEL on machines with sufficient high memory.  The storage
+   * allocated here will never be used as I/O buffers, so high memory would
+   * be a good place to put it.  This would give I/O buffers a greater chance
+   * of being allocated below 1G, reducing the need for bounce buffers to do
+   * I/O.  
+   */
+#ifndef SSEG_SWIZZLE_PTRS
+
+#if defined(GPFS_ARCH_POWER)
+  prot = __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_USER);
+  vaddrP = __vmalloc(actualBytes, GFP_KERNEL, prot);
+#elif defined(GPFS_ARCH_X86_64)
+#define __pml4(x) ((pml4_t) { (x) } )
+  pml4P = pml4_offset_k(VMALLOC_START);
+  set_pml4(pml4P, __pml4(pml4_val(*pml4P) | _PAGE_USER));
+#undef __pml4
+  prot = __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_USER | _PAGE_GLOBAL);
+  vaddrP = __vmalloc(actualBytes, GFP_KERNEL, prot);
+#elif defined(GPFS_ARCH_PPC64)
+  prot = __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_USER);
+  vaddrP = __vmalloc(actualBytes, GFP_KERNEL, prot);
+#else
+  vaddrP = vmalloc(actualBytes);
+#endif
+
+#else
+  vaddrP = vmalloc(actualBytes);
+#endif /* !SSEG_SWIZZLE_PTRS */
+  if (vaddrP == NULL)
+  {
+    code = 3;
+    rc = -ENOMEM;
+    goto xerror;
+  }
+
+#ifdef MALLOC_DEBUG
+  MallocDebugNew(vaddrP, actualBytes, 3);
+#endif
+
+  spin_lock(&ChunkListLock);
+
+  NVMallocChunks += 1;
+  TotalVMallocBytes += actualBytes;
+
+  /* Remember address of first chunk allocated */
+  if (NVMallocChunks == 1)
+    FirstVMallocChunkP = vaddrP;
+
+  /* Fill in chunk descriptor and add it to the proper list */
+  chunkP->vaddrP = vaddrP;
+  chunkP->len = actualBytes;
+#ifdef SSEG_SWIZZLE_PTRS
+  chunkP->usrvaddrP = 0;
+#endif
+  list_add(&chunkP->chunkList, &ChunkListHead);
+
+  spin_unlock(&ChunkListLock);
+
+  /* Make memory just allocated addressible by the current process */
+  unprotectKernelMemory(vaddrP, actualBytes, true);
+
+  /* Return results */
+  mappingP->vaddr = vaddrP;
+  mappingP->kBytes = actualBytes / 1024;
+#ifdef SSEG_SWIZZLE_PTRS
+  mappingP->kvaddr = vaddrP;
+  /* mappingP->vaddr is reset to proper user va in kxAllocSharedMemory */
+#endif
+
+xerror:
+  if (rc)
+  {
+    InitMemoryMapping(mappingP);
+
+    if (chunkP)
+      kmem_cache_free(ChunkCacheP, (void*)chunkP);
+  }
+
+  TRACE4(TRACE_SHARED, 1, TRCID_ALLOC_SHARED_EXIT,
+         "cxiAllocSharedMemory: vaddr 0x%lX kBytes %d rc %d code %d\n",
+         mappingP->vaddr, mappingP->kBytes, rc, code);
+  EXIT(0);
+  return rc;
+}
+
+#ifdef SSEG_SWIZZLE_PTRS
+/* Record the user address that is associated with the kernel vmalloc
+   address (vmalloc chunk for shared segment). This is needed later on
+   by the page fault handler.
+   This routine is called after allocating the chunk and determining the
+   corresponding user address (used by all user processes mmap'ing
+   this specific shared segment chunk).
+*/
+int
+cxiRecordSharedMemory(cxiMemoryMapping_t *mappingP)
+{
+  int found = 0;
+  struct ShMemChunkDesc* chunkP = NULL;
+  struct list_head* p;
+
+  ENTER(0);
+  spin_lock(&ChunkListLock);
+  list_for_each(p, &ChunkListHead)
+  {
+    chunkP = list_entry(p, struct ShMemChunkDesc, chunkList);
+    if (chunkP->vaddrP == mappingP->kvaddr)
+    {
+      chunkP->usrvaddrP = mappingP->vaddr;
+      found = 1;
+      break;
+    }
+  }
+  spin_unlock(&ChunkListLock);
+
+  EXIT(0);
+  if (!found)
+    return -1;
+  else
+    return 0;
+}
+
+/* Obtain any necessary kernel information for initializing
+   pointer swizzling; currently just grabs vmalloc range info. */
+int
+cxiInitPtrSwizzling(UIntPtr *vmallocStartP, UIntPtr *vmallocEndP)
+{
+  ENTER(0);
+
+  *vmallocStartP = (UIntPtr)VMALLOC_START;
+  *vmallocEndP = (UIntPtr)VMALLOC_END;
+
+  EXIT(0);
+  return 0;
+}
+#endif
+
+/* Unmap and deallocate all shared segment memory */
+int 
+cxiFreeSharedMemory(cxiMemoryMapping_t *mappingP, Boolean isSharedSegment)
+{
+  struct list_head* firstP;
+  struct ShMemChunkDesc* chunkP;
+
+  ENTER(0);
+  LOGASSERT(isSharedSegment == true);
+
+  /* Walk down the list of multi page chunks.  Free each one and its
+   * associated chunk descriptor.  Drop the list lock while freeing
+   * storage. 
+   */
+  spin_lock(&ChunkListLock);
+
+  while (!list_empty(&ChunkListHead))
+  {
+    firstP = ChunkListHead.next;
+    list_del(firstP);
+
+    chunkP = list_entry(firstP, struct ShMemChunkDesc, chunkList);
+    NVMallocChunks -= 1;
+    TotalVMallocBytes -= chunkP->len;
+
+    spin_unlock(&ChunkListLock);
+    reprotectKernelMemory(chunkP->vaddrP, chunkP->len);
+
+    TRACE2(TRACE_SHARED, 4, TRCID_FREEALL_VFREE,
+           "cxiFreeSharedMemory: vaddrP 0x%lX chunkP 0x%lX\n",
+           chunkP->vaddrP, chunkP);
+
+    vfree(chunkP->vaddrP);
+#ifdef MALLOC_DEBUG
+    MallocDebugDelete(chunkP->vaddrP);
+#endif
+
+    kmem_cache_free(ChunkCacheP, (void*)chunkP);
+    spin_lock(&ChunkListLock);
+  }
+  FirstVMallocChunkP = NULL;
+  spin_unlock(&ChunkListLock);
+
+  InitMemoryMapping(mappingP);
+
+  EXIT(0);
+  return 0;
+}
+
+/* Map the shared segment memory into the address 
+ * space of the calling process 
+ */
+int 
+cxiAttachSharedMemory(cxiMemoryMapping_t *mappingP, Boolean isSharedSegment)
+{
+  struct list_head* p;
+  struct ShMemChunkDesc* chunkP;
+
+  ENTER(0);
+  LOGASSERT(isSharedSegment == true);
+
+  /* Walk down the list of allocated chunks.  Map each one so that
+   * this process can access it from user space. 
+   */
+  spin_lock(&ChunkListLock);
+  list_for_each(p, &ChunkListHead)
+  {
+    chunkP = list_entry(p, struct ShMemChunkDesc, chunkList);
+    TRACE1N(TRACE_SHARED, 11, TRCID_MAPALL_MULTI,
+            "cxiAttachSharedMemory: chunkP 0x%lX\n", chunkP);
+
+    /* unprotectKernelMemory has to be called here with 'allocating'
+     * set to 'true', so that mmfsadm can map and access the shared segment
+     * even when the daemon has died and called reprotectKernelMemory
+     */
+    unprotectKernelMemory(chunkP->vaddrP, chunkP->len, true);
+  }
+  spin_unlock(&ChunkListLock);
+
+  /* Return address of first chunk allocated; this will be the 
+   * base of the GPFS shared segment 
+   */
+  mappingP->vaddr = FirstVMallocChunkP;
+#ifdef SSEG_SWIZZLE_PTRS
+  mappingP->kvaddr = FirstVMallocChunkP;
+  /* mappingP->vaddr is reset to proper user va in kxAttachSharedMemory */
+#endif
+
+  /* If there were no chunks, return ENOENT */
+  EXIT(0);
+  return (NVMallocChunks > 0) ? 0 : -ENOENT;
+}
+
+int
+cxiDetachSharedMemory(cxiMemoryMapping_t *mappingP, Boolean isSharedSegment)
+{
+  struct list_head* p;
+  struct ShMemChunkDesc* chunkP;
+
+  ENTER(0);
+  LOGASSERT(isSharedSegment == true);
+
+  /* Walk down the list of allocated chunks.  Map each one so that
+   * this process can access it from user space. 
+   */
+  spin_lock(&ChunkListLock);
+
+  list_for_each(p, &ChunkListHead)
+  {
+    chunkP = list_entry(p, struct ShMemChunkDesc, chunkList);
+    TRACE1N(TRACE_SHARED, 11, TRCID_UNMAPALL_MULTI,
+            "cxiDetachSharedMemory: chunkP 0x%lX\n", chunkP);
+
+    reprotectKernelMemory(chunkP->vaddrP, chunkP->len);
+  }
+  spin_unlock(&ChunkListLock);
+
+  EXIT(0);
+  return 0;
+}
+
+/* Clean up the code that manages shared kernel memory, 
+ * including freeing all allocated chunks. 
+ */
+void 
+TermSharedMemory()
+{
+  cxiMemoryMapping_t mapping;
+
+  ENTER(0);
+  InitMemoryMapping(&mapping);
+
+  /* Delete shared segment */
+  cxiFreeSharedMemory(&mapping, true);
+
+  /* Destroy slab allocator for ShMemChunkDesc objects */
+  (void)kmem_cache_destroy(ChunkCacheP);
+
+  /* Unregister the shared segment device driver */
+  unregister_chrdev(GPFSIoctlMajorNumber, "ss");
+
+  TRACE1(TRACE_SHARED, 2, TRCID_SSINIT_003,
+         "module unloaded major %d\n", GPFSIoctlMajorNumber);
+  GPFSIoctlMajorNumber = 0;
+  EXIT(0);
+}
+
+/* Clean up slab for ShMemChunkDesc (for early termination) */
+void 
+CleanUpSharedMemory()
+{
+  /* Destroy slab allocator for ShMemChunkDesc objects */
+  (void)kmem_cache_destroy(ChunkCacheP);
+}
+
+int
+kxCoreDump(long sig, void *info,
+           struct ucontext *sc, char *filenameP)
+{
+  struct pt_regs regs;
+  static int getDump = 0;
+  struct linux_binfmt * binfmt;
+  char *tmp = NULL;
+  int rc = -1;
+  int code = 0;
+  struct file *file = NULL;
+  Boolean klock = false;
+  struct sigcontext_struct *uc_mcontext;
+  unsigned long len;
+
+  printk("kxCoreDump sig: %d fn: %s\n", sig, filenameP);
+
+  if (getDump == 0)
+    getDump = 1;   // don't create more than one core dump at the same time
+  else
+    return 1;
+
+  memset((char *)&regs, 0, sizeof(struct pt_regs));
+
+  if (sig) /* Build pt_resgs from sigcontext struct */
+  {
+    code = 11;
+    goto xerror;
+  }
+  tmp = cxiMallocPinned(CXI_PATH_MAX+1);
+  if (!tmp)
+  {
+    code = 1;
+    tmp = NULL;
+    goto xerror;
+  }
+  if(cxiCopyInstr(filenameP, tmp, CXI_PATH_MAX, &len) != 0)
+  {
+    code = 12;
+    goto xerror;
+  }
+
+  lock_kernel();
+  klock = true;
+
+  binfmt = current->binfmt;
+  if (!binfmt || !binfmt->core_dump)
+  {
+    code = 2;
+    goto xerror;
+  }
+
+  if (MY_RLIM_CUR(RLIMIT_CORE) > 0x01000000)
+    MY_RLIM_CUR(RLIMIT_CORE) = 0x10000000;
+
+  file = filp_open(tmp, O_CREAT | 2 | O_TRUNC | O_NOFOLLOW, 0600);
+  if (IS_ERR(file))
+  {
+    code = 4;
+    file = NULL;
+    goto xerror;
+  }
+  if (!file->f_op || !file->f_op->write)
+  {
+    code = 5;
+    goto xerror;
+  }
+  rc = binfmt->core_dump(sig, &regs, file);
+  if (!rc)
+  {
+    code = 6;
+    goto xerror;
+  }
+
+xerror:
+  if (file)
+    filp_close(file, NULL);
+
+  if (klock)
+    unlock_kernel();
+
+  if (tmp)
+    cxiFreePinned(tmp);
+
+  getDump = 0;
+  return rc;
+}
+
+/* This call looks very similar to a MAP_ANONYMOUS mmap() call.  That's
+ * because we used to do mmap() for this region.  Unfortunately when we 
+ * want MAP_PRIVATE semantics we don't get the results on Linux that we
+ * expect.  The trouble starts when the pages of this memory
+ * area are marked copy-on-write.  Since this is our buffer pool, when
+ * I/O gets done, the old page goes to the child process and the new page goes 
+ * to the parent (mmfsd).  Unfortunately, the I/O gets done to the old page 
+ * since its physical address was cached in the kiobuf.  
+ *
+ * One attempt at fixing this was by making the area shared between parent 
+ * and child via MAP_SHARED. However, it opens the possibility of a child 
+ * process run from system() or popen() being able to stomp on the GPFS buffer 
+ * pool.  Additionally putting MAP_SHARED on the the region causes it 
+ * to be internally mapped to /dev/zero (apparently it needs some file mapping
+ * on this MAP_ANONYMOUS region).  Subsequent madvise() calls saying that
+ * we don't need the pages (MADV_DONTNEED) doesn't really free the
+ * pages since there is still a hold count due to the kernel /dev/zero 
+ * mapping.  Thus the free pages reported by vmstat don't go down even 
+ * though we're freeing them from the mmap'd region.
+ *
+ * This all boils down to a workaround where we MAP_PRIVATE as we 
+ * wanted but set the VM_DONTCOPY flag so these mmap pages don't
+ * get inherited by child processes.
+ *
+ * GPFS also needs to make sure that pages of its buffer pool are pinned in
+ * memory.  This is necessary because GPFS caches the pointers to the struct
+ * page objects returned by map_user_kiobuf.  Linux might steal pages in
+ * one of two ways: reclaim_page will steal pages with count <= 1, and
+ * swap_out_vma will clear the page table mapping of pages belonging to
+ * vm_area_structs that do not have the VM_LOCKED bit set.
+ * GPFS prevents the first case because map_user_kiobuf increases page
+ * reference counts to 2.  We used to turning on the VM_LOCKED bit here, 
+ * but now we mlock() the memory to ensure it isn't swapped out.
+ */
+int
+kxMapPrivate(char *inAddr, unsigned long len, unsigned long prot,
+             char **outAddr)
+{
+  struct mm_struct *mmP;
+  struct vm_area_struct *vmaP = NULL;
+
+  mmP = current->mm;
+  
+  ACQUIRE_MMAP_SEM(&mmP->mmap_sem);
+
+  *outAddr = (char *)do_mmap(NULL, (unsigned long)inAddr, len, prot, 
+                             MAP_PRIVATE | MAP_ANONYMOUS, 0);
+  /* Only look for address in vma list if do_mmap matches what we asked for;
+     otherwise it may be an unexpected address or an error code and
+     both are a problem. Any issues should be handled in the daemon
+     if possible (eg, -ENOMEM). */
+  if (*outAddr == inAddr)
+  {
+    for (vmaP = mmP->mmap; vmaP != NULL; vmaP = vmaP->vm_next)
+      if (vmaP->vm_start == (unsigned long)*outAddr)
+      {
+        /* We don't want our vm_area_structs merged since we are 
+         * about to set a flag that would cross into an area where
+         * it might not be good.  For instance if we get merged with
+         * the stack vm area then we won't be able to fork since the 
+         * stack wouldn't be copied.
+         */
+        LOGASSERT(vmaP->vm_end == vmaP->vm_start + len);
+        vmaP->vm_flags |= VM_DONTCOPY;
+        break;
+      }
+
+    DBGASSERT(vmaP != NULL);
+  }
+
+  RELEASE_MMAP_SEM(&mmP->mmap_sem);
+
+  TRACE5(TRACE_SHARED, 1, TRCID_CXI_MAP_PRIVATE,
+         "kxMapPrivate: inAddr 0x%lX len %d prot 0x%X outAddr 0x%lX vmaP 0x%lX\n",
+         inAddr, len, prot, *outAddr, vmaP);
+
+  if (*outAddr == inAddr)
+    return 0;
+  
+  return -EFAULT;
+}
+
+#ifdef SSEG_SWIZZLE_PTRS
+/* mmap handler for shared segment */
+int ss_fs_mmap(struct file *file, struct vm_area_struct *vma)
+{
+  UIntPtr offset = vma->vm_pgoff<<PAGE_SHIFT;
+  UIntPtr size = vma->vm_end - vma->vm_start;
+
+  if ((vma->vm_flags & VM_WRITE) && !(vma->vm_flags & VM_SHARED))
+  {
+    printk("ss_fs_mmap: invalid mmap flags\n");
+    return -EINVAL;
+  }
+
+  if (offset != 0)
+  {
+    printk("ss_fs_mmap: page offset should be zero (%ld)\n", offset);
+    return -EINVAL;
+  }
+
+  /* add page fault handler for vm area */
+  vma->vm_ops = &ss_vm_ops;
+
+#if LINUX_KERNEL_VERSION >= 2060000
+  /* 2.6 kernel appears to want the pages marked as unswappable,
+     otherwise gobs of messages about "Badness in do_nopage/copy_page_range"
+     occur in the system log. Still looking at this, but it appears that the
+     kernel expects these pages to be "device" reserved pages verses typical
+     anonymous pages (assumes a device intends to use the pages for DMA?)
+     and doesn't want them tracked by VMM. */
+  vma->vm_flags |= VM_RESERVED;
+#endif
+  
+  /* perform open on vm area */
+  ss_vm_open(vma);
+  
+  return 0;
+} 
+
+/* vm area handlers for shared segment */
+
+void ss_vm_open(struct vm_area_struct *vma)
+{   
+        MY_MODULE_INCREMENT();
+}
+  
+void ss_vm_close(struct vm_area_struct *vma)
+{
+        MY_MODULE_DECREMENT();
+}
+
+/* Page fault handler
+   Called by do_no_page with address of faulting page (ie, on page boundary) */
+#if LINUX_KERNEL_VERSION < 2060000
+struct page *
+ss_vm_nopage(struct vm_area_struct *vma, unsigned long address, int unused)
+#else
+struct page *
+ss_vm_nopage(struct vm_area_struct *vma, unsigned long address, int *type)
+#endif /* LINUX_KERNEL_VERSION < 2060000 */
+{
+  UIntPtr offset;
+  UIntPtr va;
+  struct page *ret_page = NOPAGE_SIGBUS;
+  int found = 0;
+  struct list_head* p;
+  struct ShMemChunkDesc* chunkP;
+
+  if ((address < vma->vm_start) || (address >= vma->vm_end))
+  {
+    printk("ss_vm_nopage: address 0x%lx out of vma range [%lx,%lx)\n",
+           address, vma->vm_start, vma->vm_end);
+    return ret_page;
+  }
+
+  /* Make sure that the user address from a page fault is backed by
+     kernel memory (find a containing memory chunk).
+     The most recently allocated block will be at the head of
+     the list, so generally we only check the first list entry. */
+  /* May want to cache last list entry where a "hit" occurs if needed
+     for performance at some point, eg, non-daemon attach. */
+  spin_lock(&ChunkListLock);
+  list_for_each(p, &ChunkListHead)
+  {
+    chunkP = list_entry(p, struct ShMemChunkDesc, chunkList);
+    if ((address >= (UIntPtr)chunkP->usrvaddrP) &&
+        (address < (UIntPtr)chunkP->usrvaddrP + chunkP->len))
+    {
+      found = 1;
+      break;
+    }
+  }
+  spin_unlock(&ChunkListLock);
+  if (!found)
+  {
+    /* We have a problem; unable to find backing kernel memory */
+    printk("ss_vm_nopage: unable to find kernel chunk backing user address 0x%lx\n", address);
+    return ret_page;
+  }
+
+  /* calculate the kernel virtual address */
+  offset = address - (IntPtr)chunkP->usrvaddrP;
+  va = (UIntPtr)(chunkP->vaddrP + offset);
+
+  /* Grab kernel page table lock before traversing kernel page table.
+     I believe this is necessary in order to avoid having another processor
+     change the page table on us while we are traversing.
+     Normally only the process page table lock is grabbed when a
+     page fault occurs (to protect against kswapd). */
+  spin_lock(&init_mm.page_table_lock);
+
+  /* traverse kernel page table */
+  ret_page = vmalloc_to_page((void *)va);
+
+  spin_unlock(&init_mm.page_table_lock);
+  if (ret_page == NULL)
+  {
+    printk("ss_vm_nopage: vmalloc_to_page returned NULL\n");
+    return ret_page;
+  }
+
+  /* bump up page use count */
+  get_page(ret_page);
+
+#ifdef SWIZ_BIG_DEBUG
+  printk("ss_vm_nopage: page fault for offset 0x%lx uva 0x%lx va 0x%lx (kva x%lx)\n",
+         offset, address, va, page_address(ret_page));
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2060000
+  if (type)
+    *type = VM_FAULT_MINOR;
+#endif
+  
+  /* return page */
+  return ret_page;
+}
+#endif /* SSEG_SWIZZLE_PTRS */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/super.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/super.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/super.c	(revision 16)
@@ -0,0 +1,2635 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)24       1.157.1.8  src/avs/fs/mmfs/ts/kernext/gpl-linux/super.c, mmfs, avs_rgpfs24, rgpfs24s011a 4/5/07 11:15:55 */
+/*
+ * Superblock operations
+ *
+ * Contents:
+ *   TraceBKL
+ *   gpfs_s_read_inode2
+ *   gpfs_s_read_inode
+ *   gpfs_s_delete_inode
+ *   gpfs_s_notify_change
+ *   gpfs_s_put_super
+ *   gpfs_s_statfs
+ *   gpfs_s_umount_begin
+ *   gpfs_s_remount
+ *   gpfs_s_write_inode
+ *   gpfs_s_clear_inode
+ *   gpfs_s_write_super
+ *   gpfs_s_fs_locations
+ *   gpfs_fill_super
+ *   gpfs_reg_fs
+ *   gpfs_unreg_fs
+ *   kill_mmfsd
+ *   get_myinode
+ *   exec_mmfs
+ *   fork_mount_helper
+ *   vfsUserCleanup
+ *   cxiSetMountInfo
+ *   cxiUnmount
+ *   cxiReactivateOSNode
+ *   cxiNewOSNode
+ *   cxiFreeOSNode
+ *   cxiDeleteMmap
+ *   cxiReinitOSNode
+ *   cxiFindOSNode
+ *   cxiDumpOSNode
+ *   cxiRefOSNode
+ *   cxiInactiveOSNode
+ *   cxiPutOSNode
+ *   cxiDestroyOSNode
+ *   cxiSetOSNodeType
+ *   cxiUpdateInode
+ *   cxiCanUncacheOSNode
+ *   cxiAddOSNode
+ *
+ */
+
+#include <Shark-gpl.h>
+
+#include <linux/string.h>
+#include <linux/module.h>
+#include <linux/errno.h>
+#include <linux/fs.h>
+#include <linux/smp_lock.h>
+
+#ifndef GPFS_ARCH_X86_64
+#define __KERNEL_SYSCALLS__
+#endif
+#include <linux/unistd.h>
+#include <asm/uaccess.h>   /* KERNEL_DS */
+
+#define FOOBAR #error Do not do this
+
+/* GPFS headers */
+#include <verdep.h>
+#include <linux2gpfs.h>
+#include <cxiSystem.h>
+#include <cxiTypes.h>
+#include <cxiAtomic.h>
+#include <cxi2gpfs.h>
+#include <cxiIOBuffer.h>
+#include <cxiSharedSeg.h>
+#include <cxiCred.h>
+#include <linux2gpfs.h>
+#include <Trace.h>
+#include <cxiVFSStats.h>
+#include <linux/kmod.h>
+#if LINUX_KERNEL_VERSION > 2060000
+#include <linux/wait.h>
+#endif
+
+/* forward declaration */
+int vfsUserCleanup(struct super_block *sbP,  
+                   struct gpfsVfsData_t *privVfsP, Boolean force);
+
+extern struct file_system_type  gpfs_fs_type;
+
+static DECLARE_WAIT_QUEUE_HEAD(pwq);
+
+int mmfsd_module_active = 0;
+static int mmfsd_id = -1;
+static int mount_id = -1;
+char mountCmd[CXI_MAXPATHLEN+1] = "M ";
+char mmfs_path[CXI_MAXPATHLEN+1] = "";
+char bin_path[CXI_MAXPATHLEN+1];
+static char mount_opt[CXI_MAXPATHLEN+1];
+
+static unsigned int unusedInodeNum = 1;
+static struct inode *unusedInodeP = NULL;
+static struct super_block *unusedSuperP = NULL;
+struct super_block *shutdownSuperP = NULL;
+
+static spinlock_t inode_lock;
+
+/* Routine to trace whether kernel lock is held */
+#ifdef VERBOSETRACE
+void TraceBKL()
+{
+  TRACE2(TRACE_VNODE, 10, TRCID_VNODE_BKL,
+         "BKL %d lock_depth %d\n", kernel_locked(), current->lock_depth);
+}
+#endif
+
+#include <linux/pagemap.h>
+
+#if HAS_SOP_ALLOC_INODE
+static struct kmem_cache * gpfsInodeCacheP;
+struct gpfs_bloated_inode 
+{
+   struct inode inode;
+   char cxiNode[CXINODE_SIZE];
+};
+
+static void 
+gpfs_init_once(void * iP, struct kmem_cache * cacheP, unsigned long flags)
+{
+  if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) == 
+      SLAB_CTOR_CONSTRUCTOR)
+     inode_init_once((struct inode *)iP);
+}
+
+int
+gpfs_init_inodecache(void)
+{
+  gpfsInodeCacheP = kmem_cache_create("gpfsInodeCache",
+                                      sizeof(struct gpfs_bloated_inode), 0,
+                                      SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT,
+                                      gpfs_init_once, NULL);
+  if (gpfsInodeCacheP == NULL)
+    return -ENOMEM;
+  return 0;
+}
+
+struct inode *
+gpfs_alloc_inode(struct super_block *sbP)
+{
+  struct inode * iP;
+
+  iP = (struct inode *)kmem_cache_alloc(gpfsInodeCacheP, GFP_KERNEL);
+  TRACE1N(TRACE_VNODE, 1, TRCID_LINUXOPS_GPFS_ALLOC_INODE_EXIT,
+         "gpfs_alloc_inode: inode 0x%lX\n", iP);
+  return iP;
+}
+
+void 
+gpfs_destroy_inode(struct inode *iP)
+{
+  TRACE1N(TRACE_VNODE, 1, TRCID_LINUXOPS_GPFS_DESTROY_INODE,
+         "gpfs_destroy_inode: inode 0x%lX\n", (void *)iP);
+  kmem_cache_free(gpfsInodeCacheP, (void *)iP);
+}
+
+void 
+gpfs_destroy_inodecache(void)
+{
+  while (kmem_cache_shrink(gpfsInodeCacheP) != 0)
+      cxiSleep(40);
+  kmem_cache_destroy(gpfsInodeCacheP);
+}
+
+#endif /* HAS_SOP_ALLOC_INODE */
+
+/* This routine is called from iget() just after allocating a new inode.
+   This is a variant of the normal read_inode operation that allows passing an
+   opaque parameter through iget4 into read_inode2.  We need the parameter to
+   know whether read_inode2 is being called from a normal lookup opration,
+   where we are already holding a distributed lock on the file, or from nfs
+   calling iget, where we need to get the lock inside of read_inode2.
+
+   Note: In the Linux source the call to read_inode2 is labelled a "reiserfs
+   specific hack" with the additional warning "We don't want this to last, and
+   are looking for VFS changes that will allow us to get rid of it." If and
+   when such a change is made, we will hopefully be able to adapt our code
+   accordingly.  Otherwise, if read_inode2 goes away without a suitable
+   replacement, we will have to use a more expensive approach, e.g., a global
+   table where lookup would leave some state before calling iget. */
+void
+gpfs_s_read_inode2(struct inode *iP, void *opaque)
+{
+  struct gpfsVfsData_t *privVfsP;
+  ino_t inum = iP->i_ino;
+  cxiNode_t *cnP;
+  int rc;
+
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_READINODE_ENTER,
+         "gpfs_s_read_inode2 enter: inode 0x%lX inode %d\n",
+         iP, inum);
+  /* BKL is sometimes held at entry */
+
+#if HAS_SOP_ALLOC_INODE
+  cnP = (cxiNode_t *)&((struct gpfs_bloated_inode *)iP)->cxiNode;
+#else
+  /* allocate cxiNode_t */
+  if (NODE_TOO_BIG_FOR_OSNODE(CXINODE_SIZE))
+  {
+    /* need to allocate separate storage for the cxiNode_t */
+    cnP = (cxiNode_t *)cxiMallocUnpinned(CXINODE_SIZE);
+    if (cnP == NULL)
+      goto exit_bad;
+  }
+  else
+  {
+    /* we can store the cxiNode_t in the part of the iP->u 
+     * union after the PRVINODE field 
+     */
+    cnP = (cxiNode_t *)(&iP->PRVINODE + 1);
+  }
+#endif
+
+  memset(cnP, 0, CXINODE_SIZE);
+
+  /*TRACE4(TRACE_VNODE, 2, TRCID_LINUXOPS_NEW_VNODE_1,
+         "gpfs_s_read_inode2: iP 0x%lX cnP 0x%lX uSize-void* %d nodeSize %d",
+         iP, cnP, sizeof(iP->PRVINODE) - sizeof(void *), CXINODE_SIZE);
+  
+  */
+  /* connect cxiNode_t to struct inode */
+  cnP->osNodeP = iP;
+  iP->PRVINODE = cnP;
+
+  /* get inode attributes */
+  privVfsP = VP_TO_PVP(iP);
+  rc = gpfs_ops.gpfsInodeRead(privVfsP, cnP, inum, opaque);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_READINODE_EXIT,
+         "gpfs_s_read_inode2 exit: inode 0x%lX rc %d",
+         iP, rc);
+
+  if (rc == 0)
+  {
+    EXIT(0);
+    return;  // success!
+  }
+
+  /* undo cxiNode_t allocation */
+  cnP->osNodeP = NULL;
+  iP->PRVINODE = NULL;
+
+#if !HAS_SOP_ALLOC_INODE
+  if (NODE_TOO_BIG_FOR_OSNODE(CXINODE_SIZE))
+    cxiFreeUnpinned(cnP);
+#endif
+
+exit_bad:
+  /* make_bad_inode will initialize iP so that all operations return EIO;
+     also set i_nlink to zero so that the bad inode will be thrown out of
+     the cache at the next opportunity */
+  make_bad_inode(iP);
+  iP->i_nlink = 0;
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_READINODE_EXIT_BAD,
+         "gpfs_s_read_inode2 exit: inode 0x%lX rc BADINODE",
+         iP);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  EXIT(0);
+}
+
+/* The following routine should never be called, since we have a read_inode2
+   operation.  However, knfsd checks the operation table and refuses to export
+   a file system if its read_inode operation ptr is NULL.  Hence, we need to
+   have one, even if it never gets called. */
+void
+gpfs_s_read_inode(struct inode *iP)
+{
+  /* only iget will use read_inode; this shouldn't happen as long as
+     gpfs_nfsd_iget is being invoked via fh_to_dentry/gpfs_fh_to_dentry */
+  ENTER(0);
+  TRACE0(TRACE_VNODE, 1, TRCID_LINUXOPS_READINODE_HUH,
+         "gpfs_s_read_inode: ? calling make_bad_inode");
+  make_bad_inode(iP);
+  EXIT(0);
+}
+
+
+/* The following routine is called from iput when the i_count goes to zero and
+   the link count in the inode is zero, which presumably means that the file
+   was deleted.  If so, we should free the disk space occupied by the file. */
+void
+gpfs_s_delete_inode(struct inode *iP)
+{
+  cxiNode_t *cnP;
+  ext_cred_t eCred;
+  Boolean isGPFS = cxiIsGPFSThread();
+  struct gpfsVfsData_t *privVfsP;
+
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_DELETE_INODE,
+        "gpfs_s_delete_inode enter: inode 0x%lX inode %d gpfsThread %d\n",
+	 iP, iP->i_ino, isGPFS);
+  TraceBKL();
+
+#if MUST_TRUNCATE_INODE_PAGES
+  truncate_inode_pages(&iP->i_data, 0);
+#endif
+
+  cnP = VP_TO_CNP(iP);
+
+  if (!cnP) 
+  {
+    /* The cxiNode_t is allocated in gpfs_s_read_inode2, so if cnP is NULL,
+       this means gpfs_s_read_inode2 failed and has marked this as a bad
+       inode.  No further actions necessary in this case. */
+    goto xerror;
+  }
+
+  if (TestCtFlag(cnP, destroyIfDelInode))
+  {
+    privVfsP = VP_TO_PVP(iP);
+    DBGASSERT(privVfsP != NULL);
+
+    /* ?? "eCred is passed all the way to the daemon, and then is ignored
+       there," FBS 5/24/01 */
+    setCred(&eCred);
+
+    gpfs_ops.gpfsInodeDelete(privVfsP, cnP, isGPFS, &eCred);
+
+    iP->PRVINODE = NULL;
+    cnP->osNodeP = NULL;
+
+#if !HAS_SOP_ALLOC_INODE
+    /* If necessary, free the cxiNode_t structure which was allocated 
+     * in gpfs_s_read_inode2. 
+     */
+    if (NODE_TOO_BIG_FOR_OSNODE(CXINODE_SIZE))
+      cxiFreeUnpinned(cnP);
+#endif
+  }
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_DELETE_INODE_1,
+         "gpfs_s_delete_inode exit: inode 0x%lX cnP 0x%lX\n",
+         iP, cnP);
+
+  clear_inode(iP);
+  EXIT(0);
+}
+
+int 
+gpfs_s_notify_change(struct dentry *dentryP, struct iattr *attrP)
+{
+  int rc;
+
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_NOTIFY_ENTER,
+         "gpfs_s_notify_change enter: inode 0x%lX attr 0x%lX\n",
+         dentryP->d_inode, attrP);
+  TraceBKL();
+
+  rc = gpfs_i_setattr_internal(dentryP->d_inode, attrP);
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_NOTIFY_EXIT,
+         "gpfs_s_notify_change exit: inode 0x%lX rc %d\n",
+         dentryP->d_inode, rc);
+  EXIT(0);
+  if (rc)
+    return (-rc);
+  return rc;
+}
+
+/* put_super is called just before the super_block is freed in do_unmount */
+void 
+gpfs_s_put_super(struct super_block *sbP)
+{
+  int rc = 0;
+  struct gpfsVfsData_t *privVfsP;
+
+  ENTER(0);
+  LOGASSERT(sbP != NULL);
+  LOGASSERT(sbP->s_magic == GPFS_SUPER_MAGIC);
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_PUTSUPER_ENTER,
+         "gpfs_s_put_super enter: sbP 0x%lX sbP->s_dev 0x%X\n",
+         sbP, sbP->s_dev);
+  TraceBKL();
+
+  rc = cxiUnmount(sbP, false, true);
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_PUTSUPER_EXIT,
+         "gpfs_s_put_super exit: rc %d\n", rc);
+
+  EXIT(0);
+}
+
+int 
+gpfs_s_statfs(struct dentry *den, struct KSTATFS *bufP)
+{
+  struct super_block *sbP = den->d_sb;
+  int rc;
+  int code = 0;
+  int len = sizeof(struct KSTATFS);
+  struct gpfsVfsData_t *privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+  cxiStatfs_t statfs; 
+
+  VFS_STAT_START(statfsCall);
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_STATFS_ENTER,
+         "gpfs_s_statfs enter: sbP 0x%lX len %d\n", sbP, len);
+  memset(bufP, 0, len);
+  /* BKL is held at entry */
+
+  LOGASSERT(sbP->s_magic == GPFS_SUPER_MAGIC);
+  LOGASSERT(privVfsP != NULL);
+  rc = gpfs_ops.gpfsStatfs(privVfsP, &statfs);
+  if (rc)
+  {
+    rc = -rc;
+    code = 1;
+    goto xerror;
+  }
+
+  bufP->f_type = GPFS_SUPER_MAGIC;
+  bufP->f_bsize = statfs.f_bsize;
+  bufP->f_blocks = statfs.f_blocks;
+  bufP->f_bfree = statfs.f_bfree;
+  bufP->f_bavail = statfs.f_bavail;
+  bufP->f_files = statfs.f_files;
+  bufP->f_ffree = statfs.f_ffree; 
+  bufP->f_namelen = statfs.f_name_max;
+  bufP->f_fsid.val[0] = statfs.f_fsid.val[0];
+  bufP->f_fsid.val[1] = statfs.f_fsid.val[1];
+
+  /* If filesystem size cannot be represented by the OS statfs structure,
+     increase the "block size" and reduce the numbers */
+  if (sizeof(bufP->f_blocks) < sizeof(statfs.f_blocks))
+  {
+    while (bufP->f_blocks != statfs.f_blocks)
+    {
+      statfs.f_bsize  <<= 1;  // double f_bsize
+      statfs.f_blocks >>= 1;  // halve the rest
+      statfs.f_bfree  >>= 1;
+      statfs.f_bavail >>= 1;
+      bufP->f_bsize = statfs.f_bsize;
+      bufP->f_blocks = statfs.f_blocks;
+      bufP->f_bfree = statfs.f_bfree;
+      bufP->f_bavail = statfs.f_bavail;
+    }
+  }
+
+xerror:
+  TRACE7(TRACE_VNODE, 1, TRCID_LINUXOPS_STATFS_EXIT,
+         "gpfs_s_statfs exit: f_blocks %lld f_bfree %lld f_files %d f_free %d "
+         "f_bsize %d code %d rc %d\n",
+         statfs.f_blocks, statfs.f_bfree, bufP->f_files, bufP->f_ffree,
+         bufP->f_bsize, code, rc);
+
+  if (rc)
+    cxiErrorNFS(rc);
+
+  VFS_STAT_STOP;
+  EXIT(0);
+  return rc;
+}
+
+/* umount_begin is called only when the force option is used */
+void 
+#if LINUX_KERNEL_VERSION >= 2061700
+gpfs_s_umount_begin(struct vfsmount *vfs, int flags)
+#else
+gpfs_s_umount_begin(struct super_block * sbP)
+#endif
+{
+  int dmrc = 0;
+  struct gpfsVfsData_t *privVfsP;
+#if LINUX_KERNEL_VERSION >= 2061700
+  struct super_block * sbP;
+  LOGASSERT(vfs != NULL);
+  LOGASSERT(vfs->mnt_sb != NULL);
+  sbP = vfs->mnt_sb;
+#endif
+
+  ENTER(0);
+  LOGASSERT(sbP != NULL);
+  LOGASSERT(sbP->s_magic == GPFS_SUPER_MAGIC);
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_UMOUNT_ENTER,
+         "gpfs_s_umount_begin enter: sbP 0x%lX sbP->s_dev 0x%X "
+         "root vfsmount 0x%X pwd vfsmount 0x%X\n", sbP, sbP->s_dev, 
+         current->fs ? current->fs->rootmnt : NULL,
+         current->fs ? current->fs->pwdmnt : NULL);
+  TraceBKL();
+
+  privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+
+  /* We may need to generate a preunmount DMAPI event, since this 
+   * is a user initiated force unmount and we need to inform any
+   * DM application before we start flushing out VFS users.
+   */
+  if (privVfsP)
+  {
+#ifdef DMAPI
+    Boolean doDMEvents = false;
+    struct dentry *dP = NULL;
+    struct inode *iP = NULL;
+    cxiNode_t *cnP = NULL;
+
+    dP = sbP->s_root;
+    if (dP != NULL)
+      iP = dP->d_inode;
+    if (iP != NULL)
+      cnP = VP_TO_CNP(iP);
+
+    /* Generate preunmount event.  We have to present this because 
+     * vfsUserCleanup() may potentially kill processes on forced unmount.
+     * Since the DM application may have an open file in this file system
+     * we have to warn him.   The DM application may not however receive
+     * the final unmount event if we can't get everything released.  If 
+     * VFS users still exist after this, then no mntput() and subsequent 
+     * gpfs_s_put_super() will occur.
+     */
+    dmrc = gpfs_ops.gpfsDmUnmountEvent(true, true, privVfsP, cnP,
+                                       &doDMEvents, NULL, NULL, NULL, 0);
+#endif
+
+    /* Force unmount */
+    vfsUserCleanup(sbP, privVfsP, true);
+
+    if (sbP->s_root)
+      printDentryTree(sbP->s_root, 10);
+  }
+
+exit:
+  TRACE6(TRACE_VNODE, 1, TRCID_LINUXOPS_UMOUNT_EXIT,
+         "gpfs_s_umount_begin exit: sbP 0x%lX privVfsP 0x%lX dmrc %d "
+         "s_active %d s_count 0x%X active files %d\n", 
+         sbP, privVfsP, dmrc, atomic_read(&sbP->s_active), 
+         sbP->s_count, !list_empty(&sbP->s_files));
+
+  /* Module count is decremented later on in do_unmount via gpfs_s_put_super */
+  EXIT(0);
+}
+
+int 
+gpfs_s_remount(struct super_block *sbP, int *flags, char *data)
+{
+  ENTER(0);
+  TRACE0(TRACE_VNODE, 1, TRCID_LINUXOPS_REMOUNT,
+         "gpfs_s_remount: called\n");
+  TraceBKL();
+  EXIT(0);
+  return 0;
+}
+
+void 
+gpfs_s_write_inode(struct inode *inode)
+{
+  ENTER(0);
+  TRACE0(TRACE_VNODE, 1, TRCID_LINUXOPS_WRITEINODE,
+         "gpfs_s_write_inode: called\n");
+  TraceBKL();
+  EXIT(0);
+}
+
+
+/* This routine is called from iput() just before the storage of the
+   Linux inode is freed */
+void
+gpfs_s_clear_inode(struct inode *iP)
+{
+  int code = 0;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnP; 
+
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_CLEARINODE,
+         "gpfs_s_clear_inode enter: inode 0x%lX inode %d generic_ip 0x%lX\n",
+         iP, iP->i_ino, iP->PRVINODE);
+  TRACE3(TRACE_VNODE, 5, TRCID_LINUXOPS_CLEARINODE_DETAILS, 
+         "gpfs_s_clear_inode: cnP 0x%lX privVfsP 0x%lX tooBig %d\n",
+         VP_TO_CNP(iP), VP_TO_PVP(iP), 
+         NODE_TOO_BIG_FOR_OSNODE(CXINODE_SIZE));
+
+  DBGASSERT(atomic_read((atomic_t *)&iP->i_count) == 0);
+
+  cnP = VP_TO_CNP(iP);
+  privVfsP = VP_TO_PVP(iP);
+
+  if (cnP)
+  {
+    if (privVfsP)
+      gpfs_ops.gpfsRele(privVfsP, cnP, (void *)iP, vnOp);
+
+    /* if necessary, free the cxiNode_t storage that we allocated in
+       gpfs_s_read_inode2 */
+    if (NODE_TOO_BIG_FOR_OSNODE(CXINODE_SIZE))
+    {
+      iP->PRVINODE = NULL;
+      cxiFreeUnpinned(cnP);
+    }
+  }
+
+xerror:
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_CLEARINODE_EXIT,
+         "gpfs_s_clear_inode exit: inode 0x%lX generic_ip 0x%lX code %d\n",
+         iP, iP->PRVINODE, code);
+  EXIT(0);
+}
+
+void 
+gpfs_s_write_super(struct super_block * sbP)
+{
+  int rc = 0;
+  struct gpfsVfsData_t *privVfsP;
+
+  ENTER(0);
+  LOGASSERT(sbP != NULL);
+  LOGASSERT(sbP->s_magic == GPFS_SUPER_MAGIC);
+  privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+  LOGASSERT(privVfsP != NULL);
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_WRITESUPER,
+         "gpfs_s_write_super enter: sbP 0x%lX\n", sbP);
+
+  /* We have to either adhere to the s_dirt semantics or
+   * ignore all syncs.  Once a file systems write_super gets 
+   * called, sync_supers() restarts the super block scan.  If 
+   * we don't turn off s_dirt then sync_supers() will be caught
+   * in a loop.  Alternatively if we only ignored kupdated then
+   *
+   * 1) a person could write to a file (which turns on s_dirt)
+   * 2) kupdated could run (and be ignored) but the s_dirt is turned off
+   * 3) the user attempts a sync from the command line sync, but that
+   *    does nothing since s_dirt was off
+   * 4) the user expected the sync to have done something before he 
+   *    halts the machine.
+   */
+  sbP->s_dirt = 0;
+
+   /*
+   * jcw: Another way to handle this would be never turn on the s_dirt flag,
+   * and not to even have a write_super callback.  Then neither kupdated nor
+   * sync would do anything.  The sync watchdog in the GPFS daemon would
+   * substitute for kupdated.  To regain the semantics of sync, we would
+   * create dummy inodes that would have I_DIRTY set, and link one such inode
+   * onto each GPFS superblock.  Then sync would notice the dirty inodes
+   * and call back through their write_inode callbacks.  This would be
+   * the only use of I_DIRTY by GPFS, so it could be reinterpreted to mean
+   * "sync this file system".  For now, s_dirt is still set and reset, but
+   * s_dirt gets reset for all file systems before they have all been synced,
+   * so the race described above can occur.  The permanently-dirty inode
+   * needs to be implemented to fix this.
+   */
+/*  goto xerror; */
+
+  /* BKL is held at entry */
+  TRACE0(TRACE_VNODE, 3, TRCID_LINUXOPS_WRITESUPER_3,
+         "gpfs_s_write_super: performing sync");
+
+  rc = gpfs_ops.gpfsSyncfs(privVfsP);
+  if (rc) {
+    cxiErrorNFS(rc);
+    rc = -rc;
+  }
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_WRITESUPER_5,
+         "gpfs_s_write_super exit: sbP 0x%lX rc %d\n", sbP, rc);
+  EXIT(0);
+}
+
+
+
+#if LINUX_KERNEL_VERSION >= 2060000
+int gpfs_get_sb(struct file_system_type *fsTypeP,
+            int flags, const char *devNameP, void *dataP, struct vfsmount *mnt)
+{
+  struct super_block *sbP;
+  int sb_ret = 0;
+
+  ENTER(0);
+  sb_ret = get_sb_nodev(fsTypeP, flags, dataP, gpfs_fill_super, mnt);
+
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_GET_SB,
+           "gpfs_get_sb: flags 0x%X dataP 0x%X sbP %d\n",
+         flags, dataP, sb_ret);
+          
+  EXIT(0);
+  return sb_ret;
+}
+
+int
+gpfs_fill_super(struct super_block *sbP, void *dataP, int silent)
+#else
+struct super_block *
+gpfs_fill_super(struct super_block *sbP, void *dataP, int silent)
+#endif
+{
+  int kernel_unlock = 0;
+  struct inode *rootIP = NULL;
+  struct dentry *rootDP = NULL;
+  char *myBufP = NULL;
+  char *sgNameP;
+  char *strP;
+  char *mountpointP;
+  char *optionsP;
+  int rc = 0;
+  int mountHelperID = -1;
+  int code = 0;
+  int namelen;
+  struct gpfsVfsData_t *privVfsP;
+  cxiNode_t *cnRootP;
+  cxiIno_t rootINum;
+  char bname[BDEVNAME_SIZE];
+  Boolean restricted = false;
+
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_READSUPER_1,
+         "gpfs_fill_super enter: sbP 0x%lX dev 0x%X silent %d data '%s'\n",
+         sbP, sbP->s_dev, silent, ((char *)dataP == NULL) ? "" : dataP);
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_READSUPER_2,
+         "gpfs_fill_super: dev name '%s'\n", 
+         (sbP->s_bdev == NULL) ? "" : SBLOCK_BDEVNAME(sbP,bname));
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_READSUPER_3,
+         "gpfs_fill_super: s_flags 0x%x\n", sbP->s_flags);
+
+  /* A mount increases reference count on module */
+#if LINUX_KERNEL_VERSION < 2060000
+  MY_MODULE_INCREMENT();
+#endif
+
+  if (dataP == NULL || *(char *)dataP == '\0')
+  {
+    rc = EINVAL;
+    code = 1;
+    goto xerror;
+  }
+   
+  if (strlen((char *)dataP) > CXI_MAXPATHLEN)
+  {
+    rc = ENAMETOOLONG;
+    code = 2;
+    goto xerror;
+  }
+
+  sbP->s_magic = GPFS_SUPER_MAGIC;
+  sbP->s_op = &gpfs_sops;
+#if LINUX_KERNEL_VERSION > 2060000
+  sbP->s_export_op = &gpfs_export_ops;
+#endif
+
+  SBLOCK_PRIVATE(sbP) = NULL;
+
+  sbP->s_root = NULL;
+  sbP->s_blocksize = 0;
+  sbP->s_blocksize_bits = 0;
+  /* maximum filesize (avoid sign bit due to use with loff_t) */
+  sbP->s_maxbytes = 0x7FFFFFFFFFFFFFFFULL;
+
+  myBufP = (char *)cxiMallocPinned(strlen((char *)dataP) + 1);
+  if (myBufP == NULL)
+  {
+    code = 3;
+    rc = ENOMEM;
+    goto xerror;
+  }
+  strcpy(myBufP, (char *)dataP);
+  optionsP = myBufP;
+
+  /* This is the syntax parser for the options field.  At
+   * least one option must be "dev=<devname>".
+   */
+  sgNameP = NULL;
+  strP = myBufP;
+
+  while(strP)
+  {
+    if (!strncmp(strP, "dev=", 4))
+    {
+      sgNameP = (char *)strchr(strP, '=') + 1;
+      strP = (char *)strchr(strP, ','); /* more options */
+      if (strP)
+        namelen = strP - sgNameP;
+      else
+        namelen = strlen(sgNameP);
+
+      /* Copy the sgName into the first part of the 
+       * buffer, null terminate it, then append the 
+       * full option list.
+       */
+      strncpy(myBufP, sgNameP, namelen);
+      sgNameP = myBufP;
+      sgNameP[namelen] = '\0';
+
+      optionsP = myBufP + namelen + 1;
+      /* Move the options next (if there are any) */
+      strcpy(optionsP, strP?(char *)strP:"");
+      break;
+    }
+    else
+    {
+      strP = (char *)strchr(strP, ',');
+      if (strP) strP++;
+    }
+  }
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_READSUPER_OPTIONS,
+         "gpfs_fill_super: optionsP \"%s\"\n",
+         strP ? (char *) strP:"");
+
+  while (strP)
+  {
+    /* look for rs option */
+    strP = (char *)strchr(strP, ',');
+    if (strP) 
+      strP++;
+    if (strP)
+    {
+      if (!strncmp(strP, "rs", 2))
+      {
+        restricted = true;
+        break;
+      }
+    }
+  }
+
+  if (sgNameP == NULL || *sgNameP == '\0')
+  {
+    code = 4;
+    rc = EINVAL;
+    goto xerror;
+  }
+  mountpointP = sgNameP;  /* ??? */
+
+  if (restricted)
+  {
+    /* restricted mount - make it readonly */
+    sbP->s_flags |= MS_RDONLY;
+  }
+
+  strcpy(mmfs_path, bin_path);
+  strcat(mmfs_path, "/mmfsmount");
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_READSUPER_STARTHELPER,
+         "gpfs_fill_super: start mount helper '%s'\n", mmfs_path);
+
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_READSUPER_STARTHELPER1,
+         "gpfs_fill_super: s_flags 0x%x (rs %d), mountpointP %s\n", 
+          sbP->s_flags, restricted, mountpointP);
+
+  if (strlen(sgNameP) > CXI_MAXPATHLEN)
+  {
+    rc = ENAMETOOLONG;
+    code = 5;
+    goto xerror;
+  }
+  rc = gpfs_ops.gpfsReady();
+  if (rc != 0)
+  {
+    rc = EAGAIN;
+    code = 6;
+    goto xerror;
+  }
+
+  /* Start a new process that will receive and forward all messages during the
+   * mount process to the mount invoker. The current process will wait for
+   * this new process (in HandleMBUnmount()) and the daemon to be connected with
+   * a socket and only than call SFSMountFS() that does the real mount work.
+   */
+  strcpy(&mountCmd[2], sgNameP);               // "M /dev/gpfs1"
+  if (cxiHasMountHelper())
+    mountHelperID = fork_mount_helper(mountCmd);
+  else
+  {
+    /* Use special pid (-1) when not using mount helper */
+    mountHelperID = -1;
+  }
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_READSUPER_HELPERRC,
+         "gpfs_fill_super: mount helper mountHelperID %d\n", mountHelperID);
+
+#if LINUX_KERNEL_VERSION < 2060000
+  /* BKL is not held during get_sb in 2.6 */
+  if (kernel_locked())
+  {
+    unlock_kernel();
+    kernel_unlock = 1;
+  }
+#else
+  /*
+   * In 2.5, a bunch of calls originating from sys_sync will try to down
+   * s_umount and block, because it's already downed in get_sb_nodev, and won't
+   * be upped until get_sb returns (in do_kern_mount).  During gpfsMount, we'll
+   * call mmcommon getEFOption, and that will at some point try to do a sync
+   * (e.g. in gpfsClusterInit, two times), and mount will deadlock.  One way
+   * to fix this is to take out relevant sync's in the shell scripts, but this
+   * is dodgy because we might end up pulling a new sdr from another node, and
+   * that's a long and compelex path, I don't think one can guarantee there 
+   * won't be any syscalls that desire s_umount along the way.  Need to think
+   * how to fix this right.  For now, up the semaphore for the duration of 
+   * the gpfsMount (possibly opening up a window for other races e.g. with
+   * unmount). 
+   */
+  up_write(&sbP->s_umount);
+#endif
+  rc = gpfs_ops.gpfsMount((void *)sbP, PAGE_SIZE, sgNameP, mountpointP,
+                 optionsP,
+                 (struct gpfsVfsData_t **)&(SBLOCK_PRIVATE(sbP)),
+                 &cnRootP,      /* returned root cxiNode_t */
+                 &rootINum,     /* returned root inode number */
+                 NULL,          /* not a soft mount */
+                 mountHelperID  /* mount helper id */,
+                 -1U,           /* no unique mount ID specified */
+                 (sbP->s_flags & MS_RDONLY), /* is it readonly */
+                 true);   /* allocate pinned memory */
+
+#if LINUX_KERNEL_VERSION < 2060000
+  /* BKL is not held during get_sb in 2.5 */
+  if (kernel_unlock)
+    lock_kernel();
+#else
+  down_write(&sbP->s_umount);
+#endif
+
+  if (rc)
+  {
+    code = 7;
+    goto xerror;
+  }
+
+  privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+  DBGASSERT(cnRootP != NULL);
+  rootIP = (struct inode *)cnRootP->osNodeP;
+
+  DBGASSERT(rootIP != NULL);
+  DBGASSERT(rootIP->PRVINODE == cnRootP);
+  DBGASSERT(cnRootP->osNodeP == rootIP);
+
+  /* Successful mount in daemon.  Allocate root directory cache entry */
+  rootDP = d_alloc_root(rootIP);
+  if (!rootDP)
+  {
+    rc = gpfs_ops.gpfsUnmount(privVfsP, true);
+    if (rc == 0 || rc == ENOSYS)
+      gpfs_ops.gpfsFinishUnmount(privVfsP);
+
+    code = 8;
+    goto xerror;
+  }
+
+  rootDP->d_op = &gpfs_dops_valid;
+  sbP->s_root = rootDP;
+
+  sbP->s_dirt = 1;            /* keep it on for sync to work */
+
+  if (myBufP != NULL)
+    cxiFreePinned(myBufP);
+
+#if (LINUX_KERNEL_VERSION < 2060000)
+  unlock_super(sbP);
+#endif
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_READSUPER_SUCCEED,
+         "gpfs_fill_super exit: success sbP 0x%lX\n", sbP);
+  EXIT(0);
+#if LINUX_KERNEL_VERSION >= 2060000
+  return 0;
+#else
+  return sbP;
+#endif
+
+xerror:
+  if (rootDP)
+    dput(rootDP);
+  if (rootIP)
+    iput(rootIP);
+
+  if (myBufP != NULL)
+    cxiFreePinned(myBufP);
+
+#if LINUX_KERNEL_VERSION < 2060000
+  unlock_super(sbP);
+
+  sbP->s_dev = 0;
+#endif
+
+  /* An unmount decrements module use count */
+#if LINUX_KERNEL_VERSION < 2060000
+  MY_MODULE_DECREMENT();
+#endif
+
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_READSUPER_FAILED,
+         "gpfs_fill_super: failed code %d rc %d\n", code, rc);
+  EXIT(0);
+#if LINUX_KERNEL_VERSION >= 2060000
+  return -rc;
+#else
+  return NULL;
+#endif
+}
+
+int
+gpfs_reg_fs()
+{
+  int rc;
+
+  ENTER(0);
+  spin_lock_init(&inode_lock);
+
+  rc = register_filesystem(&gpfs_fs_type);
+  if (rc)
+    goto xerror;
+
+  /* We create a dummy super block for purposes of instantiating
+   * a shutdown file descriptor.  When the daemon dies this file
+   * will be closed and its special ops will be called.  
+   * See cxiRegisterCleanup()
+   */
+  shutdownSuperP = cxiMallocPinned(sizeof(struct super_block));
+  if (!shutdownSuperP)
+  {
+    unregister_filesystem(&gpfs_fs_type);
+    rc = -ENOMEM;
+    goto xerror;
+  }
+  
+  SET_SUPER_BLOCK(shutdownSuperP, &null_sops);
+
+xerror:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_REGFS,
+         "gpfs_reg_fs shutdownSuperP 0x%lX rc %d\n", 
+         shutdownSuperP, rc);
+  EXIT(0);
+  return rc;
+}
+
+void
+gpfs_unreg_fs()
+{
+  int rc;
+
+  ENTER(0);
+  rc = unregister_filesystem(&gpfs_fs_type);
+
+  if (shutdownSuperP)
+  {
+    UNSET_SUPER_BLOCK(shutdownSuperP);
+    cxiFreePinned(shutdownSuperP);
+    shutdownSuperP = NULL;
+  }
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_UNREGFS,
+         "gpfs_unreg_fs rc %d\n", rc);
+  EXIT(0);
+}
+
+void
+kill_mmfsd(void)
+{
+  ENTER(0);
+  if (mmfsd_id != -1)
+  {
+    TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_KILLMMFSD,
+          "kill_mmfsd: pid %X\n", mmfsd_id);
+
+    kill_proc(mmfsd_id, SIGTERM, 1);
+    if (mmfsd_id != -1)
+#if LINUX_KERNEL_VERSION > 2060000
+      wait_event(pwq,0);
+#else
+      sleep_on(&pwq);
+#endif
+  }
+  EXIT(0);
+}
+
+/*
+ * Note: since this function is executed as kernel_thread "main" routine,
+ * it may not be safe to use stack at all, e.g. call non-inlined functions,
+ * at least in the success path.  See comments e.g. in asm-i386/unistd.h
+ */
+int
+exec_mmfs(void *nothing)
+{
+  static char *argv[] = { mmfs_path, mount_opt, NULL };
+  static char *envp[] = { "HOME=/", NULL };
+  int rc;
+
+  ENTER(0);
+  set_fs(KERNEL_DS);
+
+  rc = EXEC_HELPER(mmfs_path, argv, envp, 1 /* wait if possible */);
+
+xerror:
+  if(rc)
+    TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_EXECMMFS_EXIT,
+         "exec_mmfs: exit rc -1 errno %d path %s\n", errno, mmfs_path);
+  EXIT(0);
+  return rc;
+}
+
+int
+fork_mount_helper(char *data)
+{
+
+  ENTER(0);
+  strcpy(mount_opt, data);
+  mount_id = kernel_thread(exec_mmfs, 0, 0);
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_FORK_MOUNTHELPER,
+        "fork_mount_helper: new pid %d\n", mount_id);
+
+  EXIT(0);
+  return mount_id;
+}
+
+/* Set device id and other information for a file system being mounted */
+int
+cxiSetMountInfo(void *osVfsP, cxiDev_t sgDevID,
+                int bsize, void *osRootNodeP, cxiNode_t *cnRootP,
+                Boolean *releRootP, void *gnRootP, 
+                fsid_t fsid)/* (out) maintain hold on root */
+{
+  struct super_block *sbP = (struct super_block *)osVfsP;
+  struct inode *rootIP = (struct inode *)osRootNodeP; // root dir inode
+  int i;
+
+  ENTER(0);
+  TRACE4(TRACE_VNODE, 1, TRCID_SET_MOUNT_INFO,
+         "cxiSetMountInfo: sbP 0x%lX rootIP 0x%lX cnRootP 0x%lX "
+         "gnRootP 0x%lX\n", sbP, rootIP, cnRootP, gnRootP);
+  DBGASSERT(sbP != NULL);
+
+  /* This is the auto remount case where mmfsd died/killed and restarted. */
+  if (gnRootP == cnRootP)
+  {
+    /* Since the OS independent layer looked up and held the
+     * root vnode, we've got too many hold counts for a reconnect.
+     * Tell upper layer that we must release.
+     */
+    *releRootP = true;
+  }
+  else
+  {
+    /* Don't attempt to release the root VFS node */
+    *releRootP = false;
+    sbP->s_blocksize = bsize;
+    for (i = sbP->s_blocksize, sbP->s_blocksize_bits = 0; i != 1; i >>= 1)
+      sbP->s_blocksize_bits++;
+  }
+  if (rootIP != NULL)
+  {
+    DBGASSERT(rootIP->i_ino == INODENUM_ROOTDIR_FILE);
+    DBGASSERT(rootIP->PRVINODE == cnRootP);
+  }
+
+  EXIT(0);
+  return 0;
+}
+
+/* Attempt whatever we can to get holders of VFS elements 
+ * (dcache entries, etc) to leave.
+ */
+int
+vfsUserCleanup(struct super_block *sbP,  
+               struct gpfsVfsData_t *privVfsP, Boolean force)
+{
+  struct siginfo sinfo;
+  struct task_struct *g, *tsP;
+  Boolean killit;
+  int rc;
+
+  ENTER(0);
+
+#ifndef GPFS_ARCH_POWER
+  /* Forced unmount doesn't really work very well on Linux since
+   * the VFS layer is very stateful.  If a process is sitting in 
+   * the file system, its vmount count will not go to zero and a
+   * proper unmount can occur.  We're experimenting with the
+   * semantics (akin to umount -k on other OSes) where processes
+   * are killed if they are within a forced unmounted file system.
+   *
+   * Note that this doesn't get everyone.   If you have a file open
+   * in GPFS but don't have your current working directory in GPFS
+   * then you're not killed.   To kill those user (or close their 
+   * files) you'd have to traipse thru the file table.  There's
+   * a lot of OS specific code there that we wouldn't want to get 
+   * into.
+   */
+  if (force)
+  {
+    sinfo.si_signo = SIGKILL;
+    sinfo.si_errno = 0;
+    sinfo.si_code = SI_KERNEL;
+    sinfo.si_addr = vfsUserCleanup;
+    sinfo.si_pid = current->pid;
+    sinfo.si_uid = current->uid;
+
+    // read_lock(&tasklist_lock);
+    rcu_read_lock();
+
+    DO_EACH_THREAD(g,tsP)
+    {
+      task_lock(tsP);
+      if (tsP->fs && tsP->fs->pwdmnt && tsP->fs->pwdmnt->mnt_sb == sbP)
+        killit = true;
+      else
+        killit = false;
+      task_unlock(tsP);
+
+      if (killit)
+        send_sig_info(SIGKILL, &sinfo, tsP);
+    } WHILE_EACH_THREAD(g,tsP);
+    // read_unlock(&tasklist_lock);
+    rcu_read_unlock();
+  }
+#endif
+       
+  /* Purge cached OS VFS nodes/cxiNodes. */
+  rc = gpfs_ops.gpfsUncache(privVfsP);
+
+  EXIT(0);
+  return rc;
+}
+
+/* Called by gpfs_s_put_super() when the last holder of the superblock
+ * is gone.   We should be able to successfully clean up and become
+ * unmounted.
+ */
+int 
+cxiUnmount(void *osVfsP, Boolean force, Boolean doDMEvents)
+{
+  int rc = 0;
+  int dmrc = 0;
+  struct super_block *sbP = (struct super_block *)osVfsP;
+  struct gpfsVfsData_t *privVfsP;
+#ifdef DMAPI
+  Boolean dmDoUnmountEvent = false;
+  void *sgUidP = NULL;
+  void *eventlistP = NULL;
+  void *sessLocP = NULL;
+  struct dentry *dP = NULL;
+  struct inode *iP = NULL;
+  cxiNode_t *cnP = NULL;
+#endif
+
+  ENTER(0);
+  LOGASSERT(sbP != NULL);
+  privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+
+  TRACE4(TRACE_VNODE, 1, TRCID_LINUXOPS_CXIUNMOUNT_ENTER,
+         "cxiUnmount: enter privVfsP 0x%lX sbP 0x%lX force %d doDM %d\n", 
+         privVfsP, sbP, force, doDMEvents);
+
+  if (privVfsP == NULL)
+    goto exit;
+
+#ifdef DMAPI
+  dP = sbP->s_root;
+  if (dP != NULL)
+    iP = dP->d_inode;
+  if (iP != NULL)
+    cnP = VP_TO_CNP(iP);
+
+  /* Generate preunmount event */
+  if (doDMEvents)
+  {
+    rc = gpfs_ops.gpfsDmUnmountEvent(true, force, privVfsP, cnP,
+                                     &dmDoUnmountEvent, &sgUidP, 
+                                     &eventlistP, &sessLocP, 0);
+    /* We should continue unmount even if it fails. Otherwise, linux 
+       screwup and cannot remount unless we shutdown the daemon */
+  }
+#endif
+  
+  /* The superblock is unallocated by the kernel after gpfs_s_put_super / 
+     cxiUnmount, regardless of any errors here because it doesn't check
+     a return code from the filesystem specific put_super call, so we need to
+     proceed through these calls even if an error occurs; not cleaning up
+     things in gpfsFinishUnmount (ie, the gpfs mount list) after an error
+     with unmount causes havoc when the daemon later restarts. */
+
+  rc = vfsUserCleanup(sbP, privVfsP, force);
+  if (rc == ENOSYS)
+    rc = 0;
+
+  rc = gpfs_ops.gpfsUnmount(privVfsP, force);
+  if (rc == ENOSYS)
+    rc = 0; 
+
+  gpfs_ops.gpfsFinishUnmount(privVfsP);
+  SBLOCK_PRIVATE(sbP) = NULL;
+
+#ifdef DMAPI
+  if (dmDoUnmountEvent)
+    dmrc = gpfs_ops.gpfsDmUnmountEvent(false, force, NULL, NULL,
+                                       &dmDoUnmountEvent, &sgUidP, 
+                                       &eventlistP, &sessLocP, rc);
+#endif
+  sbP->s_dirt = 0;
+
+  printSuperList(sbP);
+
+  /* An unmount decrements module use count */
+#if LINUX_KERNEL_VERSION < 2060000
+  MY_MODULE_DECREMENT();
+#endif
+
+exit:
+  TRACE2(TRACE_VNODE, 1, TRCID_LINUXOPS_CXIUNMOUNT_EXIT,
+         "cxiUnmount: exit rc %d dmrc %d\n", rc, dmrc);
+  EXIT(0);
+  return rc;
+}
+
+int
+cxiReactivateOSNode(void *osVfsP, cxiNode_t *cnP, void **osNodePP)
+{
+  TRACE3(TRACE_VNODE, 2, TRCID_LINUXOPS_REACTIVATE_VNODE,
+         "cxiReactivateOSNode: sbP 0x%lX cxiNodeP 0x%lX osNodePP 0x%lX\n",
+         osVfsP, cnP, osNodePP);
+  LOGASSERT(0);   // not implemented on linux
+  return 0;
+}
+
+
+#if LINUX_KERNEL_VERSION >= 2060000
+static int
+inodeFindActor(struct inode *iP, void *opaqueP)
+{
+  /* iget4 can be called on one thread which goes to create a new
+   * inode (get_new_inode, gpfs_s_read_inode2, gpfsInodeRead, readOSNode)
+   * but before that thread completes initializing the cxiNode_t, another
+   * thread calls iget4 and gets here (find_inode, inodeFindActor).
+   * Similar races exist when an inode is being deleted.
+   *
+   * Ideally, we'd like to spin_unlock() on the inode_lock and call
+   * wait_on_inode() but we cannot release the inode_lock here (find_inode
+   * is depending on it to protect its list_entry() calls).  Fortunately,
+   * iget4 does exactly this wait for the inode upon return from
+   * find_inode.  Returning zero here would cause get_new_inode to be 
+   * called (which would assert when it found the first thread had 
+   * already allocated the gnode).  Return 1 and iget4 will do the 
+   * necessary wait.
+   *
+   * We can't call anything here that could sleep because we are holding
+   * the inode_lock and sleeping can result in a hang
+   * TRACE4N does not block and is ok here.
+   */
+
+   TRACE4N(TRACE_VNODE, 2, TRCID_LINUXOPS_INODEFINDACTOR,
+          "inodeFindActor: iP 0x%lX i_state 0x%x cxiNodeP 0x%lX isBad %d\n",
+          iP, iP->i_state, VP_TO_CNP(iP), is_bad_inode(iP));
+
+   if (iP->i_state & INODE_IN_CACHE)
+     return 1;
+
+   if (VP_TO_CNP(iP) == NULL)
+   {
+     if (iP->i_state == 0)
+       return 0;
+     else
+       return 1;
+   }
+
+  return gpfs_ops.gpfsInodeFindActor(VP_TO_CNP(iP), iP->i_ino, opaqueP);
+}
+
+static int
+inodeInitLocked(struct inode *iP, void *opaqueP)
+{
+  cxiIGetArg_t *argsP = (cxiIGetArg_t *)opaqueP;
+
+  iP->i_ino = argsP->extInodeNum;
+  return 0;
+}
+#else
+static int
+inodeFindActor(struct inode *iP, unsigned long inodeNum, void *opaqueP)
+{
+  /* iget4 can be called on one thread which goes to create a new
+   * inode (get_new_inode, gpfs_s_read_inode2, gpfsInodeRead, readOSNode)
+   * but before that thread completes initializing the cxiNode_t, another
+   * thread calls iget4 and gets here (find_inode, inodeFindActor).
+   * Similar races exist when an inode is being deleted.
+   *
+   * Ideally, we'd like to spin_unlock() on the inode_lock and call
+   * wait_on_inode() but we cannot release the inode_lock here (find_inode
+   * is depending on it to protect its list_entry() calls).  Fortunately,
+   * iget4 does exactly this wait for the inode upon return from
+   * find_inode.  Returning zero here would cause get_new_inode to be 
+   * called (which would assert when it found the first thread had 
+   * already allocated the gnode).  Return 1 and iget4 will do the 
+   * necessary wait.
+   *
+   * We can't call anything here that could sleep because we are holding
+   * the inode_lock and sleeping can result in a hang
+   * TRACE3N does not block and is ok here.
+   */
+
+   TRACE3N(TRACE_VNODE, 2, TRCID_LINUXOPS_INODEFINDACTOR2,
+          "inodeFindActor: iP 0x%lX i_state 0x%x cxiNodeP 0x%lX\n",
+          iP, iP->i_state, VP_TO_CNP(iP));
+
+   if (iP->i_state & INODE_IN_CACHE)
+     return 1;
+
+   if (VP_TO_CNP(iP) == NULL)
+   {
+     if (iP->i_state == 0)
+       return 0;
+     else
+       return 1;
+   }
+
+  return gpfs_ops.gpfsInodeFindActor(VP_TO_CNP(iP), inodeNum, opaqueP);
+}
+#endif
+
+
+int
+cxiNewOSNode(void *osVfsP, cxiNode_t **cnPP, void **osNodePP,
+             cxiIno_t inum, int nodeSize, void *opaqueP)
+{
+  struct super_block *sbP = (struct super_block *)osVfsP;
+  struct inode *iP;
+  int rc;
+  int loop_count = 0;
+  int sleep_count = 0;
+
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 2, TRCID_LINUXOPS_NEW_VNODE,
+         "cxiNewOSNode: sbP 0x%lX inum %d size %d",
+         sbP, inum, nodeSize);
+
+  /* The requested nodeSize must match CXINODE_SIZE */
+  if (nodeSize != CXINODE_SIZE)
+    goto bad_node_size;
+
+repeat:
+#if LINUX_KERNEL_VERSION >= 2060000
+  iP = iget5_locked(sbP, inum, inodeFindActor, inodeInitLocked, opaqueP);
+#else
+  iP = iget4(sbP, inum, inodeFindActor, opaqueP);
+#endif
+  if (iP == NULL)
+  {
+    *cnPP = NULL;
+    *osNodePP = NULL;
+    rc = ENOMEM;
+    goto xerror;
+  }
+
+#if !HAS_SOP_READ_INODE2
+  /* We fill in the inode as opposed to a read_inode
+   * operation executed with iget()
+   */
+  if (iP->i_state & I_NEW)
+  {
+    gpfs_s_read_inode2(iP, opaqueP);
+    unlock_new_inode(iP);
+  }
+#endif
+  
+  if (is_bad_inode(iP))
+  {
+    TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_NEW_BAD,
+           "cxiNewOSNode: BAD INODE 0x%X\n", iP);
+    *cnPP = NULL;
+    *osNodePP = NULL;
+    iput(iP);
+    rc = EIO;
+    goto xerror;
+  }
+
+  /* Did we get the right inode ?
+   * When inodeFindActor is called from find_inode() and the inode
+   * is in transition it might return found without checking sanpId
+   * so go check again.
+   */
+#if LINUX_KERNEL_VERSION >= 2060000
+  if (!inodeFindActor(iP, opaqueP))
+#else
+  if (!inodeFindActor(iP, iP->i_ino, opaqueP))
+#endif
+  {
+    if (sleep_count > 10)
+    {
+      TRACE5(TRACE_VNODE, 1, TRCID_LINUXOPS_NEW_VNODE_2,
+             "cxiNewOSNode: rc ESTALE inode 0x%lX ino %d i_state 0x%x "
+             "cxiNodeP 0x%lX isBad %d\n", iP, iP->i_ino, iP->i_state, 
+             VP_TO_CNP(iP), is_bad_inode(iP));
+
+      *cnPP = NULL;
+      *osNodePP = NULL;
+      iput(iP);
+      rc = EIO;
+      goto xerror;
+    }
+
+    if (loop_count > 1000)
+    {
+      cxiSleep(10);
+      sleep_count++;
+      loop_count = 0;
+    }
+
+    loop_count++;
+    iput(iP);
+    goto repeat;
+  }
+  
+  DBGASSERT(iP->PRVINODE != NULL);
+  *cnPP = (cxiNode_t *)iP->PRVINODE;
+  *osNodePP = iP;
+  rc = 0;
+
+xerror:
+  TRACE3(TRACE_VNODE, 2, TRCID_LINUXOPS_NEW_VNODE_EXIT,
+         "cxiNewOSNode: exit osNodeP 0x%lX cnP 0x%lX rc %d\n",
+         *osNodePP, *cnPP, rc);
+  EXIT(0);
+  return rc;
+
+bad_node_size:
+  /* The requested nodeSize does not match CXINODE_SIZE.
+     Whoever called us is an incompitble version of the code or was
+     somehow not compiled correctly. */
+  TRACE2(TRACE_VNODE, 2, TRCID_LINUXOPS_NEW_VNODE_BAD,
+         "cxiNewOSNode: requested nodeSize %d does not match CXINODE_SIZE %d",
+         nodeSize, CXINODE_SIZE);
+  printk("mmfs: module inconsistency detected in cxiNewOSNode:\n"
+         "      requested nodeSize %d does not match CXINODE_SIZE %d\n",
+         nodeSize, CXINODE_SIZE);
+  LOGASSERT(!"nodeSize != CXINODE_SIZE");
+  EXIT(0);
+  return ELIBBAD;
+}
+
+
+/* The linux kernel decrements the inode count and deallocates the
+ * inode after gpfs_s_put_inode() is called therefore this routine 
+ * doesn't perform a delete.
+ */
+void
+cxiFreeOSNode(void *osVfsP, struct cxiNode_t *cnP, void *osNodeP)
+{
+  struct super_block *sbP = (struct super_block *)osVfsP;
+  struct inode *iP = (struct inode *)osNodeP;
+
+  ENTER(0);
+  TRACE5(TRACE_VNODE, 2, TRCID_LINUXOPS_DELETE_VNODE,
+         "cxiFreeOSNode enter: sbP 0x%lX cxiNodeP 0x%lX "
+         "iP 0x%lX inode %d i_count %d\n",
+         sbP, cnP, iP,
+         iP ? iP->i_ino : -1,
+         iP ? atomic_read((atomic_t *)&iP->i_count) : 0);
+
+  DBGASSERT(cnP->osNodeP == iP);
+  cnP->osNodeP = NULL;
+
+  if (iP)
+  {
+    DBGASSERT(atomic_read((atomic_t *)&iP->i_count) == 0);
+    iP->i_op = NULL;
+    iP->i_fop = NULL;
+    if (iP->i_mapping)
+      iP->i_mapping->a_ops = &gpfs_aops_after_inode_delete;
+    iP->i_size = 0;
+    iP->i_nlink = 0;
+  }
+  EXIT(0);
+}
+
+void
+cxiDeleteMmap(cxiVmid_t segid)
+{
+  TRACE1(TRACE_VNODE, 2, TRCID_LINUXOPS_DELETE_MMAP,
+         "cxiDeleteMmap: segid 0x%X\n", segid);
+}
+
+void
+cxiReinitOSNode(void *osVfsP, struct cxiNode_t *cnP, void *osNodeP)
+{
+  struct super_block *sbP = (struct super_block *)osVfsP;
+  struct inode *iP = (struct inode *)osNodeP;
+
+  TRACE3(TRACE_VNODE, 2, TRCID_LINUXOPS_REINIT_VNODE,
+         "cxiReinitOSNode: sbP 0x%lX cnP 0x%lX iP 0x%lX\n",
+         sbP, cnP, iP);
+  LOGASSERT(0);   // not implemented on linux
+}
+
+void
+cxiDumpOSNode(cxiNode_t *cnP)
+{
+  struct inode *iP = (struct inode *)cnP->osNodeP;
+  struct list_head *dListP, *dHeadP;
+  struct dentry *dentry;
+
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 2, TRCID_LINUXOPS_DUMP_VNODE,
+         "cxiDumpOSNode: cxiNodeP 0x%lX iP 0x%lX\n", cnP, iP);
+  if (iP)
+  {
+    printInode(iP);
+
+    dHeadP = &iP->i_dentry;
+    spin_lock(&dcache_lock);
+    for (dListP = dHeadP->next; dListP != dHeadP; dListP = dListP->next)
+    {
+      dentry = list_entry(dListP, struct dentry, d_alias);
+      printDentry(dentry);
+    }
+    spin_unlock(&dcache_lock);
+  }
+  EXIT(0);
+}
+
+#if LINUX_KERNEL_VERSION >= 2060000
+static int
+igrabInodeFindActor(struct inode *iP, void *opaqueP)
+{
+  /* igrab can be called while another thread is doing a finial iput
+   * so instead we are call ilookup5. ilookup5 processes stuff under
+   * the inode_lock so if we are in here and find the inode then
+   * ilookup5 will increase i_count
+   *
+   * We can't call anything here that could sleep because we are holding
+   * the inode_lock and sleeping can result in a hang
+   * TRACE4N does not block and is ok here.
+   */
+
+   TRACE3N(TRACE_VNODE, 2, TRCID_LINUXOPS_IGRABINODEFINDACTOR,
+          "igrabInodeFindActor: iP 0x%lX i_state 0x%x inode 0x%lX \n",
+          iP, iP->i_state, (struct inode *) opaqueP);
+
+   if (iP->i_state & INODE_BEING_RELEASED)
+     return 0;
+
+   if (iP != (struct inode *) opaqueP)
+     return 0;
+
+   return 1;
+}
+#endif
+
+/* On linux we can't just decrement the i_count
+ * thus this routine will only accept a positive
+ * increment.  If you want to put a reference then
+ * call cxiPutOSNode() which calls back thru the VFS
+ * layer.
+ */
+int
+cxiRefOSNode(void *osVfsP, cxiNode_t *cnP, void *osNodeP, int inc)
+{
+  return cxiRefOsNode(osVfsP,cnP,osNodeP,inc,false);
+}
+
+int
+cxiRefOsNode(void *osVfsP, cxiNode_t *cnP, void *osNodeP, int inc,
+             Boolean calledFromRevoke)
+{
+  struct inode *iP = (struct inode *)osNodeP;
+  struct inode *riP = NULL;
+  int holdCount;
+  int ino;
+
+  ENTER(0);
+  DBGASSERT(iP != NULL);
+  DBGASSERT(inc == 1);
+
+#if LINUX_KERNEL_VERSION >= 2060000
+  /* The igrab() may fail if this inode is actively going
+   * thru a release.
+   */
+  if(osVfsP)
+  {
+     /* we already have a hold */
+     riP = igrab(iP);
+  }
+  /* we may not currently have a hold so use ilookup5 */
+  else if(GPFS_TYPE(iP))
+  {
+     riP = ilookup5(iP->i_sb, iP->i_ino, igrabInodeFindActor, (void*)iP);
+  }
+#else
+  /* The igrab() may fail if this inode is actively going
+   * thru a release.
+   */
+  riP = igrab(iP);
+#endif
+  if (riP)
+  {
+    DBGASSERT(!(iP->i_state & INODE_BEING_RELEASED));
+    holdCount = atomic_read((atomic_t *)&riP->i_count);
+    ino = riP->i_ino;
+  }
+  else
+  {
+    holdCount = 0;
+    ino = -1;
+    /* If this function is called from revoke handler check of this inode
+       is being released
+    */
+    if (calledFromRevoke && (iP->i_state & INODE_BEING_RELEASED) )
+      holdCount = -1;
+  }
+  TRACE5(TRACE_VNODE, 2, TRCID_LINUXOPS_REF_VNODE,
+         "cxiRefOSNode exit: sbP 0x%lX cxiNodeP 0x%lX iP 0x%lX inode %d "
+         "i_count to %d", osVfsP, cnP, iP, ino, holdCount);
+  EXIT(0);
+  return holdCount;
+}
+  
+/* Determines if OS node is inactive */
+int 
+cxiInactiveOSNode(void *osVfsP, struct cxiNode_t *cnP, void *osNodeP, 
+                 Boolean *canCacheP, Boolean *hasReferencesP)
+{
+  struct inode *iP = (struct inode *)osNodeP;
+  struct super_block *sbP = (struct super_block *)osVfsP;
+  int holdCount;
+
+  ENTER(0);
+  DBGASSERT(cnP->osNodeP == iP);
+
+  *canCacheP = false;
+  *hasReferencesP = false;
+
+  holdCount = atomic_read((atomic_t *)&iP->i_count);
+  if (holdCount > 0)
+    *hasReferencesP = true;
+
+  TRACE6(TRACE_VNODE, 2, TRCID_LINUXOPS_INACTIVE_VNODE,
+         "cxiInactiveOSNode: sbP 0x%lX cxiNodeP 0x%lX iP 0x%lX "
+         "i_count %d canCache %d hasReferences %d\n", sbP, cnP, iP, 
+         holdCount, *canCacheP, *hasReferencesP);
+
+  EXIT(0);
+  return holdCount;
+}
+
+void
+cxiPutOSNode(void *vP)
+{
+  struct inode *iP = (struct inode *)vP;
+  int holdCount;
+
+  ENTER(0);
+  DBGASSERT(iP != NULL);
+  DBGASSERT(!(iP->i_state & INODE_BEING_RELEASED));
+  holdCount = atomic_read((atomic_t *)&iP->i_count);
+  DBGASSERT(holdCount > 0);
+
+  TRACE3(TRACE_VNODE, 2, TRCID_LINUXOPS_PUT_OSNODE,
+         "cxiPutOSNode enter: iP 0x%lX inode %d i_count to %d\n",
+         iP, iP->i_ino, holdCount-1);
+
+  iput(iP);
+
+  EXIT(0);
+  return;
+}
+
+void
+cxiDestroyOSNode(void *vP)
+{
+  struct inode *iP = (struct inode *)vP;
+  int holdCount;
+
+  ENTER(0);
+  DBGASSERT(iP != NULL);
+  holdCount = atomic_read((atomic_t *)&iP->i_count);
+  DBGASSERT(holdCount > 0);
+
+  TRACE4(TRACE_VNODE, 2, TRCID_LINUXOPS_DESTROY_OSNODE,
+         "cxiDestroyOSNode enter: iP 0x%lX inode %d i_count %d i_nlink %d\n",
+         iP, iP->i_ino, holdCount, iP->i_nlink);
+
+  iP->i_nlink = 0;
+  EXIT(0);
+  return;
+}
+
+void
+cxiSetOSNodeType(struct cxiNode_t *cnP, cxiMode_t mode, cxiDev_t dev)
+{
+  ENTER(0);
+  if (S_ISDIR(mode))
+    cnP->nType = cxiVDIR;
+  else if (S_ISREG(mode))
+    cnP->nType = cxiVREG;
+  else if (S_ISLNK(mode))
+    cnP->nType = cxiVLNK;
+  else if (S_ISCHR(mode))
+    cnP->nType = cxiVCHR;
+  else if (S_ISBLK(mode))
+    cnP->nType = cxiVBLK;
+  else if (S_ISFIFO(mode))
+    cnP->nType = cxiVFIFO;
+  else if (S_ISSOCK(mode))
+    cnP->nType = cxiVSOCK;
+  else
+    DBGASSERT(0);
+  EXIT(0);
+}
+
+void
+cxiUpdateInode(cxiNode_t *cnP, cxiVattr_t *attrP, int what)
+{
+  struct inode *iP = (struct inode *)cnP->osNodeP;
+
+  ENTER(0);
+  if (iP != NULL)
+  {
+    if (what & CXIUP_ATIME)
+    {
+      CXITIME_TO_INODETIME(attrP->va_atime, iP->i_atime);
+      EXIT(0);
+      return;
+    }
+    if (what & CXIUP_MODE)
+    {
+      iP->i_mode = attrP->va_mode;
+      CXITIME_TO_INODETIME(attrP->va_ctime, iP->i_ctime);
+    }
+    if (what & CXIUP_OWN)
+    {
+      iP->i_mode = attrP->va_mode;
+      iP->i_uid  = attrP->va_uid;
+      iP->i_gid  = attrP->va_gid;
+      CXITIME_TO_INODETIME(attrP->va_ctime, iP->i_ctime);
+    }
+    if (what & CXIUP_NLINK)
+    {
+      iP->i_nlink = attrP->va_nlink;
+    }
+    if (what & CXIUP_SIZE)
+    {
+      iP->i_size = attrP->va_size;
+      iP->i_blocks = attrP->va_blocks;
+    }
+    if (what & CXIUP_SIZE_BIG)
+    {
+      spin_lock(&inode_lock);
+      if (attrP->va_size > iP->i_size)
+      {
+        iP->i_size = attrP->va_size;
+        iP->i_blocks = attrP->va_blocks;
+      }
+      spin_unlock(&inode_lock);
+    }
+    if (what & CXIUP_TIMES)
+    {
+      CXITIME_TO_INODETIME(attrP->va_atime, iP->i_atime);
+      CXITIME_TO_INODETIME(attrP->va_mtime, iP->i_mtime);
+      CXITIME_TO_INODETIME(attrP->va_ctime, iP->i_ctime);
+    }
+    if (what & CXIUP_PERM)
+    {
+      iP->i_mode = attrP->va_mode;
+      iP->i_uid  = attrP->va_uid;
+      iP->i_gid  = attrP->va_gid;
+      cnP->xinfo = attrP->va_xinfo;
+      setIopTable(iP, (attrP->va_xinfo & VA_XPERM) != 0);
+      cnP->icValid |= CXI_IC_PERM;
+    }
+    if ((what & CXIUP_NLINK) && TestCtFlag(cnP,destroyIfDelInode))
+    {
+      cxiDropInvalidDCacheEntry(cnP);
+
+      /* swapd must be notified to prune dcache entries */
+      if (TestCtFlag(cnP, pruneDCacheNeeded))
+        gpfs_ops.gpfsSwapdEnqueue(cnP);
+    }
+  }
+
+  TRACE4(TRACE_VNODE, 3, TRCID_CXIUPDATE_INODE_3,
+     "cxiUpdateInode: iP 0x%X atime 0x%X mtime 0x%X ctime 0x%X\n",
+      iP, GET_INODETIME_SEC(iP->i_atime), GET_INODETIME_SEC(iP->i_mtime), 
+      GET_INODETIME_SEC(iP->i_ctime));
+
+  TRACE7(TRACE_VNODE, 3, TRCID_CXIUPDATE_INODE_1,
+     "cxiUpdateInode: what %d mode 0x%X uid %d gid %d nlink %d size %lld"
+     " blocks %d\n",
+     what, iP->i_mode, iP->i_uid, iP->i_gid, iP->i_nlink,
+     iP->i_size, iP->i_blocks);
+  EXIT(0);
+}
+
+/* Determine if operating system specific node belongs to a particular VFS and
+   can be uncached.  Returns OS node if it exists, the determination of
+   whether it can be uncached or not. */
+Boolean
+cxiCanUncacheOSNode(void *osVfsP, struct cxiNode_t *cnP, void **vP)
+{
+  struct inode *iP = (struct inode *)cnP->osNodeP;
+  int count = 0;
+
+  ENTER(0);
+  if (iP != NULL && iP->i_sb == osVfsP)
+  {
+    count = atomic_read((atomic_t *)&iP->i_count);
+    *vP = (void *)iP;
+  }
+  else
+    *vP = NULL;
+
+  TRACE6(TRACE_VNODE, 2, TRCID_LINUXOPS_CANUNCACHE_OSNODE,
+         "cxiCanUncacheOSNode: cxiNode 0x%lx vP 0x%lX osVfsP 0x%lX "
+         "i_sb 0x%lX inode %d i_count %d\n", cnP, vP, osVfsP,
+         (iP ? iP->i_sb : 0), (iP ? iP->i_ino : 0), count);
+  EXIT(0);
+  return (count == 0);
+}
+
+
+/* Add operating system specific node to the lookup cache.
+   This routine is called with the necessary distributed lock held to
+   guarantee that the lookup cache entry is valid. */
+#ifdef CCL
+void * 
+cxiAddOSNode(void *dentryP, void *vP, DentryOpTableTypes dopTabType, int lookup)
+#else
+void *
+cxiAddOSNode(void *dentryP, void *vP, int lookup)
+#endif
+{
+  struct inode *iP = (struct inode *)vP;
+  struct dentry *dP = (struct dentry *)dentryP;
+
+  ENTER(0);
+  TRACE3(TRACE_VNODE, 2, TRCID_LINUXOPS_ADD_OSNODE,
+         "cxiAddOSNode: dentry 0x%lX vP 0x%lX unhashed %d",
+         dentryP, vP, d_unhashed(dP));
+
+  /* mark dentry valid */
+#ifdef CCL
+  switch(dopTabType)
+  {
+    /* Positive dcache entry for inexact file name match for Samba user.
+       Only valid for other Samba users.
+       Not valid for local/NFS users.  Forces lookup for local/NFS users. */
+    case DOpOnlyValidIfSamba:
+      dP->d_op = &gpfs_dops_valid_if_Samba;
+      break;
+    /* Negative dcache entry for exact file name match for local/NFS user.
+       Only valid for other local/NFS users.
+       Not valid for Samba users.  Forces lookup for Samba users. */
+    case DOpInvalidIfSamba:
+      dP->d_op = &gpfs_dops_invalid_if_Samba;
+      break;
+    default:
+      dP->d_op = &gpfs_dops_valid;
+      break;
+  }
+#else
+  dP->d_op = &gpfs_dops_valid;
+#endif
+
+  if (!d_unhashed(dP))
+  {
+    /* hook up dentry and inode */
+    d_instantiate(dP, iP);
+    dP = NULL;
+  }
+  else 
+  {
+#if LINUX_KERNEL_VERSION >= 2060000
+    if (lookup)
+    {  
+      dP = d_splice_alias(iP, dP);
+      goto exit;
+    }
+#endif
+    /* hook up dentry and inode */
+    d_instantiate(dP, iP);
+
+    /* if not yet done so, add to hash list */
+    d_rehash(dP);
+
+    dP = NULL;
+  }
+exit:
+
+  EXIT(0);
+  return dP;
+}
+
+
+#ifdef NFS4_CLUSTER
+/* get list of fs locations, return number of locations */
+int
+gpfs_s_fs_locations(struct super_block *sbP, char **bufP)
+{
+  int rc;
+  int code = 0;
+  int loc_count;
+  struct gpfsVfsData_t *privVfsP = (struct gpfsVfsData_t *)SBLOCK_PRIVATE(sbP);
+  LOGASSERT(privVfsP != NULL);
+
+  ENTER(0);
+  VFS_STAT_START(fsLocationCall);
+
+  TRACE1(TRACE_VNODE, 1, TRCID_LINUXOPS_LOCFS_ENTER,
+         "gpfs_s_fs_locations enter: sbP 0x%lX\n", sbP);
+
+  rc = gpfs_ops.gpfsFsLocations(privVfsP, bufP, &loc_count);
+  if (rc)
+  {
+    rc = -rc;
+    code = 1;
+    goto xerror;
+  }
+  rc = loc_count;
+
+xerror:
+  TRACE3(TRACE_VNODE, 1, TRCID_LINUXOPS_LOCFS_EXIT,
+         "gpfs_s_fs_locations exit: sbP 0x%lX code %d rc %d\n",
+         sbP, code, rc);
+  VFS_STAT_STOP;
+  EXIT(0);
+  return rc;
+}
+#endif
+
+
+/* Functions for converting between an NFS file handle and a dentry.
+   We define our own functions rather than using the generic ones in
+   fs/nfsd/nfsfh.c so we can revalidate the file inode, since it could have
+   been changed by another node. */
+
+static struct dentry *
+gpfs_nfsd_iget_dentry(struct inode *inode, __u32 generation)
+{
+  struct list_head *lp;
+  struct dentry *result;
+
+  ENTER(0);
+  TRACE2(TRACE_VNODE, 3, TRCID_NFSD_IGET_DENTRY_1,
+         "gpfs_nfsd_iget_dentry: inode %d generation %d",
+	 inode->i_ino,  generation);
+
+  /* Now find a dentry.  If possible, get a well-connected one. */
+  spin_lock(&dcache_lock);
+  for (lp = inode->i_dentry.next; lp != &inode->i_dentry ; lp=lp->next)
+  {
+    result = list_entry(lp, struct dentry, d_alias);
+
+    if (!(result->d_flags & DCACHE_DFLAGS_DISCONNECTED))
+    {
+      dget_locked(result);
+#if LINUX_KERNEL_VERSION >= 2060000
+      result->d_flags |= DCACHE_REFERENCED;
+#else
+      result->d_vfs_flags |= DCACHE_REFERENCED;
+#endif
+      spin_unlock(&dcache_lock);
+
+      if (result->d_inode != inode)
+      {
+        TRACE4(TRACE_VNODE, 11, TRCID_NFSD_IGET_31,
+               "gpfs_nfsd_iget_dentry:0 dentry flags 0x%x count %d inode 0x%lX "
+               "time %lu", 
+               result->d_flags, atomic_read(&result->d_count),
+               result->d_inode, result->d_time);
+
+        TRACE7(TRACE_VNODE, 11, TRCID_NFSD_IGET_41,
+               "gpfs_nfsd_iget_dentry:0 Inode %lu nlink %d count %d gen %u %u "
+               "state %lu flags 0x%x",
+               inode->i_ino, inode->i_nlink, atomic_read(&inode->i_count),
+               inode->i_generation, generation, inode->i_state, inode->i_flags);
+
+        dput(result);
+        goto build_dentry;
+      }
+      if (gpfs_i_revalidate(result))
+      {
+        TRACE4(TRACE_VNODE, 11, TRCID_NFSD_IGET_3,
+               "gpfs_nfsd_iget_dentry:1 dentry flags 0x%x count %d inode 0x%lX "
+               "time %lu", 
+               result->d_flags, atomic_read(&result->d_count),
+               result->d_inode, result->d_time);
+
+        TRACE7(TRACE_VNODE, 1, TRCID_NFSD_IGET_4,
+               "gpfs_nfsd_iget_dentry:1 Inode %lu nlink %d count %d gen %u %u "
+               "state %lu flags 0x%x",
+               inode->i_ino, inode->i_nlink, atomic_read(&inode->i_count),
+               inode->i_generation, generation, inode->i_state, inode->i_flags);
+
+        iput(inode);
+        dput(result);
+        EXIT(0);
+        return ERR_PTR(-ESTALE);
+      }
+      if (generation && 
+          generation != 0xffffffff && /* GENNUM_UNKNOWN */
+          inode->i_generation != generation)
+      {
+        /* we didn't find the right inode.. */
+        TRACE4(TRACE_VNODE, 11, TRCID_NFSD_IGET_5,
+               "gpfs_nfsd_iget_dentry:2 dentry flags 0x%x count %d inode 0x%lX "
+               "time %lu", 
+               result->d_flags, atomic_read(&result->d_count),
+               result->d_inode, result->d_time);
+
+        TRACE7(TRACE_VNODE, 11, TRCID_NFSD_IGET_6,
+               "gpfs_nfsd_iget_dentry:2 Inode %lu nlink %d count %d gen %u %u "
+               "state %lu flags 0x%x",
+               inode->i_ino, inode->i_nlink, atomic_read(&inode->i_count),
+               inode->i_generation, generation, inode->i_state, inode->i_flags);
+
+        iput(inode);
+        dput(result);
+        EXIT(0);
+        return ERR_PTR(-ESTALE);
+      }
+      iput(inode); 
+      EXIT(0);
+      return result;
+    }
+  }
+  spin_unlock(&dcache_lock);
+
+build_dentry:
+
+#if LINUX_KERNEL_VERSION < 2060000
+  result = d_alloc_root(inode);
+#else
+  result = d_alloc_anon(inode);
+#endif
+  if (result == NULL)
+  {
+    iput(inode);
+    EXIT(0);
+    return ERR_PTR(-ENOMEM);
+  }
+#if LINUX_KERNEL_VERSION < 2060000
+  result->d_flags |= DCACHE_DFLAGS_DISCONNECTED;
+#endif
+
+  if (gpfs_i_revalidate(result))
+  {
+    TRACE4(TRACE_VNODE, 11, TRCID_NFSD_IGET_7,
+           "gpfs_nfsd_iget:3 dentry flags 0x%x count %d inode 0x%lX time %lu",
+           result->d_flags, atomic_read(&result->d_count),
+           result->d_inode, result->d_time);
+
+    TRACE7(TRACE_VNODE, 11, TRCID_NFSD_IGET_8,
+           "gpfs_nfsd_iget:3 Inode %lu nlink %d count %d gen %u %u "
+           "state %lu flags 0x%x",
+           inode->i_ino, inode->i_nlink, atomic_read(&inode->i_count),
+           inode->i_generation, generation, inode->i_state, inode->i_flags);
+
+    /* The dput call here is releases the dcache entry that was 
+     * allocated by to d_alloc_root. It also results in an iput effectively
+     * removing the hold we place by our iget call above.
+     */
+    dput(result);
+    EXIT(0);
+    return ERR_PTR(-ESTALE);
+  }
+  if (generation && 
+      generation != 0xffffffff && /* GENNUM_UNKNOWN */
+      inode->i_generation != generation)
+  {
+    /* we didn't find the right inode.. */
+    TRACE4(TRACE_VNODE, 11, TRCID_NFSD_IGET_9,
+           "gpfs_nfsd_iget:4 dentry flags 0x%x count %d inode 0x%lX time %lu",
+           result->d_flags, atomic_read(&result->d_count),
+           result->d_inode, result->d_time);
+
+    TRACE7(TRACE_VNODE, 11, TRCID_NFSD_IGET_10,
+           "gpfs_nfsd_iget:4 Inode %lu nlink %d count %d gen %u %u "
+           "state %lu flags 0x%x",
+           inode->i_ino, inode->i_nlink, atomic_read(&inode->i_count),
+           inode->i_generation, generation, inode->i_state, inode->i_flags);
+
+    /* Release the dcache entry.  This also does an iput. */
+    dput(result);
+    EXIT(0);
+    return ERR_PTR(-ESTALE);
+  }
+  EXIT(0);
+  return result;
+}
+
+static struct dentry *
+gpfs_nfsd_iget(struct super_block *sbP, unsigned long ino,
+               cxiIGetArg_t *argP, __u32 generation)
+{
+  int rc;
+  struct inode *inode;
+  struct gpfsVfsData_t *privVfsP;
+
+  ENTER(0);
+  TRACE6(TRACE_VNODE, 3, TRCID_NFSD_IGET_1,
+         "gpfs_nfsd_iget: sbP 0x%lX extino %d inode %d snapid %d "
+         "fileset %d generation %d",
+         sbP, ino, argP->inodeNum, argP->snapId, argP->filesetId,
+         generation);
+
+  /* get the inode */
+  if (ino == 0)
+  {
+    EXIT(0);
+    return ERR_PTR(-ESTALE);
+  }
+
+  /* Callers have set inodeNum/snapId in argP.  vattrP is NULL and 
+   * readInodeCalled is false, but these will be set appropriately in 
+   * gpfsNFSIget after it obtains the attributes.
+   */
+
+  privVfsP = (struct gpfsVfsData_t *)cxiGetPrivVfsP(sbP);
+  rc = gpfs_ops.gpfsNFSIget(privVfsP, argP, generation, (void **)&inode);
+
+  if (rc)
+  {
+    cxiErrorNFS(rc);
+
+    EXIT(0);
+    return ERR_PTR(-rc);
+  }
+
+  if (inode == NULL)
+  {
+    EXIT(0);
+    return ERR_PTR(-ENOMEM);
+  }
+
+  if (is_bad_inode(inode))
+  {
+    EXIT(0);
+    return ERR_PTR(-ESTALE);
+  }
+
+  /* gpfsNFSIget will have called findOrCreateLinux/cxiNewOSNode which
+   * makes the iget call along with the inodeFindActor validation.
+   */
+
+  EXIT(0);
+  return(gpfs_nfsd_iget_dentry(inode,generation));
+
+}
+
+#if LINUX_KERNEL_VERSION >= 2060000
+/* export_operations for nfsd communication with our file system
+ * via gpfs_export_ops 
+ */
+
+/* 
+ * gpfs_get_dparent: (get_parent) find the parent dentry for a given dentry 
+ */
+struct dentry *gpfs_get_dparent(struct dentry * child)
+{
+  int rc = 0;
+  struct dentry *result = NULL;
+  struct gpfsVfsData_t *privVfsP;
+  ext_cred_t eCred;
+  cxiNode_t *dcnP;
+  cxiIno_t iNum = (cxiIno_t)-1;
+  cxiNode_t *cnP = NULL;
+  struct inode *newInodeP = NULL;
+  struct dentry *retP;
+
+  ENTER(0);
+  VFS_INC(get_parentCall);
+
+  TRACE2(TRACE_VNODE, 3, TRCID_GET_DPARENT_ENTER,
+         "gpfs_get_dparent: dentry 0x%lX inode 0x%d",
+	 child,  child->d_inode->i_ino);
+
+  dcnP = VP_TO_CNP(child->d_inode);
+  privVfsP = VP_TO_PVP(child->d_inode);
+  DBGASSERT(privVfsP != NULL);
+
+  setCred(&eCred);
+
+  if (!dcnP)
+  {
+    /* This can happen due to a bug in linux/fs/dcache.c (prune_dcache)
+       where "count" entries are to be pruned, but the last one is
+       found to be recently referenced.  When this happens, count is
+       decremented, but the loop is not terminated.  The result is that
+       it continues to prune entries past where it should (prunes
+       everything).  If our patch for this is not applied, the result
+       is a kernel failure as the cxiNode is referenced.  Checking
+       here (and revalidate) allows us to reject the call instead. */
+    PRINTINODE(child->d_inode);
+    result = (struct dentry *)ERR_PTR(-ESTALE);
+    goto xerror;
+  }
+
+  rc = gpfs_ops.gpfsLookup(privVfsP, (void *)child->d_inode, dcnP,
+                           NULL, (char *)"..",
+                           (void **)&newInodeP, &cnP, &iNum, NULL,
+                           NULL, &eCred, (void **)&retP);
+  if (rc == 0)
+  {
+    DBGASSERT(cnP != NULL);
+    DBGASSERT(iNum != -1);
+    DBGASSERT(newInodeP != NULL);
+    DBGASSERT(newInodeP->PRVINODE == cnP);
+    DBGASSERT(cnP->osNodeP == (void *)newInodeP);
+    result = gpfs_nfsd_iget_dentry(newInodeP, (__u32)newInodeP->i_generation);
+  }
+  else 
+  {
+    cxiErrorNFS(rc);
+    result  = (struct dentry *)ERR_PTR(-rc);
+    iNum = -1;
+  }
+
+xerror:
+
+  TRACE4(TRACE_VNODE, 3, TRCID_GET_DPARENT_EXIT,
+	"gpfs_get_dparent dentry 0x%lX inode %d result %lX err%d \n",
+	   child, iNum, result, IS_ERR(result)? PTR_ERR(result): 0);
+  EXIT(0);
+  return result;
+}
+
+/*
+ * gpfs_get_dentry: (get_dentry) find dentry for the inode given a file handle
+ */
+struct dentry *gpfs_get_dentry(struct super_block *sbP, void * vdata)
+{
+  __u32 *data=vdata;
+  unsigned long ino;
+  cxiIGetArg_t arg;
+  __u32 generation;
+  struct dentry *result;
+
+  ENTER(0);
+  VFS_INC(get_dentryCall);
+
+  ino = data[0];
+  if (IS_SNAPROOTDIR_EXT_INO(ino))
+    arg.inodeNum = SNAPROOTDIR_INT_INO;
+  else if (IS_SNAPLINKDIR_EXT_INO(ino))
+    arg.inodeNum = data[3];
+  else
+    arg.inodeNum = ino;
+  arg.snapId = data[1];
+  generation = data[2];
+  arg.extInodeNum = ino;
+  arg.filesetId = (unsigned)-1; //FIXME
+    
+  arg.vattrP = NULL;
+  arg.readInodeCalled = false;
+  result = gpfs_nfsd_iget(sbP, ino, &arg, generation);
+  EXIT(0);
+  return result;
+}
+
+/* It is acceptable to create a disconnected dentry for pNFS since it is used
+   only for read/write. The check if it was exported is not required since
+   the call to the MDS will verify that the file is open.
+*/
+static int gpfs_acceptable(void *expv, struct dentry *dentry)
+{
+  if (dentry && dentry->d_inode) {
+#ifdef GPFS_PRINTK
+    printk("gpfs_acceptable ino %d\n", dentry->d_inode->i_ino);
+#endif
+    return 1;
+  }
+  return 0;
+}
+
+/*
+ * gpfs_decode_fh: (decode_fh) decode a file handle returning ptr to it's dentry
+ */
+struct dentry *
+gpfs_decode_fh(struct super_block *sbP, __u32 *fh,
+               int len, int fhtype,
+               int (*acceptable)(void *context, struct dentry *de),
+               void *context)
+{
+#if LINUX_KERNEL_VERSION == 2060800
+  int len = *lenP;
+#endif
+  struct dentry *result;
+  __u32 parent[4]={0};
+
+  ENTER(0);
+  VFS_INC(decode_fhCall);
+
+#ifdef GPFS_PRINTK
+  printk("gpfs_decode_fh %08x %08x %08x %08x %08x %08x %08x\n",
+		fh[0],fh[1],fh[2],fh[3],fh[4],fh[5],fh[6]);
+#endif
+  TRACE4(TRACE_VNODE, 3, TRCID_DECODE_FH_1,
+         "gpfs_decode_fh: sbP 0x%lX fh 0x%lX, len %d type %d",
+         sbP, fh, len, fhtype);
+  if (fhtype > 4 && fhtype < 8 && len >= 5)
+  {
+    parent[0]=fh[3]; 	/* ino */
+    parent[1]=fh[4]; 	/* p_sid */
+    if (len>5)
+    {
+      parent[2]=fh[5]; /* generation */
+      parent[3]=fh[3]; /* ino */
+    }
+
+    if (cxiIsLockdThread()  // check for lockd thread
+#ifdef P_NFS4
+        || fhtype == 7 // it is a pNFS fh, disconnected fh is acceptable.
+#endif
+       )
+      result = sbP->s_export_op->find_exported_dentry(sbP, fh, parent,
+                                                      gpfs_acceptable, context);
+    else
+      result = sbP->s_export_op->find_exported_dentry(sbP, fh, parent,
+                                                       acceptable, context);
+    TRACE4(TRACE_VNODE, 3, TRCID_DECODE_FH_2,
+           "gpfs_decode_fh: sbP 0x%lX fh 0x%lX result %lX err %d",
+           sbP, fh, result, IS_ERR(result)? PTR_ERR(result): 0);
+#if LINUX_KERNEL_VERSION == 2060800
+    *lenP = 0;
+#endif
+    if (IS_ERR(result))
+      cxiErrorNFS(PTR_ERR(result));
+
+    EXIT(0);
+    return result;
+  }
+
+  TRACE2(TRACE_VNODE, 3, TRCID_DECODE_FH_3,
+         "gpfs_decode_fh: sbP 0x%lX fh 0x%lX -EINVAL",
+         sbP, fh);
+  EXIT(0);
+  return ERR_PTR(-EINVAL);
+}
+
+/* 
+ * gpfs_encode_fh: (encode_fh) encode a file handle from the given dentry
+ */
+int 
+gpfs_encode_fh(struct dentry *dentry, __u32 *fh, int *lenp,
+               int need_parent)
+{
+  UInt32 d_sid, p_sid;
+
+  ENTER(0);
+  VFS_INC(encode_fhCall);
+
+  if (*lenp < 5)
+  {
+    EXIT(0);
+    return 255;
+  }
+
+  if (gpfs_ops.gpfsGetSnapIdPair(VP_TO_CNP(dentry->d_inode),
+                                 &d_sid, &p_sid) != 0)
+  {
+    EXIT(0);
+    return 255;
+  }
+
+  fh[0] = (__u32) dentry->d_inode->i_ino;
+  fh[1] = d_sid;
+  fh[2] = (__u32) dentry->d_inode->i_generation;
+  fh[3] = (__u32) dentry->d_parent->d_inode->i_ino;
+  fh[4] = p_sid;
+  if (*lenp > 5)
+  {
+	/* There was enough room to compelete parent */
+  	fh[5] = (__u32) dentry->d_parent->d_inode->i_generation;
+  	*lenp = 6;
+  }
+  else
+  	*lenp = 5;
+
+  EXIT(0);
+  return *lenp;
+}
+#else
+struct dentry *gpfs_fh_to_dentry(struct super_block *sbP, __u32 *fh,
+                                 int len, int fhtype, int parent)
+{
+  unsigned long ino;
+  cxiIGetArg_t arg;
+  __u32 generation;
+  struct dentry *result;
+
+  ENTER(0);
+  TRACE5(TRACE_VNODE, 3, TRCID_FH_TO_DENTRY_1,
+         "gpfs_fh_to_dentry: sbP 0x%lX fh 0x%lX, len %d type %d parent %d",
+         sbP, fh, len, fhtype, parent);
+
+  if (fhtype == 3 && len >= 5)
+  {
+    if (parent)
+    {
+      ino = fh[3];
+      if (IS_SNAPROOTDIR_EXT_INO(ino))
+        arg.inodeNum = SNAPROOTDIR_INT_INO;
+      else if (IS_SNAPLINKDIR_EXT_INO(ino))
+        arg.inodeNum = IS_SNAPROOTDIR_EXT_INO(fh[0]) ? 
+                       SNAPROOTDIR_INT_INO : fh[0];
+      else
+        arg.inodeNum = ino;
+      arg.snapId = fh[4];
+      generation = 0xffffffff; /* GENNUM_UNKNOWN */
+    }
+    else
+    {
+      ino = fh[0];
+      if (IS_SNAPROOTDIR_EXT_INO(ino))
+        arg.inodeNum = SNAPROOTDIR_INT_INO;
+      else if (IS_SNAPLINKDIR_EXT_INO(ino))
+        arg.inodeNum = fh[3];
+      else
+        arg.inodeNum = ino;
+      arg.snapId = fh[1];
+      generation = fh[2];
+    }
+    arg.filesetId = (unsigned)-1; // FIXME
+    arg.vattrP = NULL;
+    arg.readInodeCalled = false;
+    result = gpfs_nfsd_iget(sbP, ino, &arg, generation);
+
+    TRACE4(TRACE_VNODE, 3, TRCID_FH_TO_DENTRY_2,
+           "gpfs_fh_to_dentry: sbP 0x%lX fh 0x%lX result %lX err %d",
+           sbP, fh, result, IS_ERR(result)? PTR_ERR(result): 0);
+
+    EXIT(0);
+    return result;
+  }
+
+  TRACE2(TRACE_VNODE, 3, TRCID_FH_TO_DENTRY_3,
+         "gpfs_fh_to_dentry: sbP 0x%lX fh 0x%lX -EINVAL",
+         sbP, fh);
+
+  EXIT(0);
+  return ERR_PTR(-EINVAL);
+}
+
+int gpfs_dentry_to_fh(struct dentry *dentry, __u32 *fh, int *lenp,
+                      int need_parent)
+{
+  UInt32 d_sid, p_sid;
+
+  if (*lenp < 5)
+    return 255;
+
+  ENTER(0);
+  if (gpfs_ops.gpfsGetSnapIdPair(VP_TO_CNP(dentry->d_inode),
+                                 &d_sid, &p_sid) != 0)
+  {
+    EXIT(0);
+    return 255;
+  }
+  fh[0] = (__u32) dentry->d_inode->i_ino;
+  fh[1] = d_sid;
+  fh[2] = (__u32) dentry->d_inode->i_generation;
+  fh[3] = (__u32) dentry->d_parent->d_inode->i_ino;
+  fh[4] = p_sid;
+
+  *lenp = 5;
+  EXIT(0);
+  return 3;
+}
+#endif
+
+void
+printSuper(struct super_block *sbP)
+{
+  if (!_TRACE_IS_ON(TRACE_VNODE, 3))
+    return;
+
+  /* private field won't make much sense for non-GPFS file systems */
+  TRACE4N(TRACE_VNODE, 3, TRCID_PRINTSUPER_1,
+         "printSuper: sbP 0x%lX magic 0x%lX type 0x%lX private 0x%lX\n",
+         sbP, sbP->s_magic, sbP->s_type, SBLOCK_PRIVATE(sbP));
+
+  TRACE3N(TRACE_VNODE, 3, TRCID_PRINTSUPER_3,
+         "printSuper: s_dev 0x%X count 0x%X active %d\n",
+         sbP->s_dev, sbP->s_count, atomic_read(&sbP->s_active));
+}
+
+void
+printSuperList(struct super_block *sbP)
+{
+  struct list_head *lP;
+  struct super_block *sP;
+
+  if (!_TRACE_IS_ON(TRACE_VNODE, 5))
+    return;
+
+  /* Run through all super blocks starting from provided GPFS super block. */
+  /* Ideally we would lock sb_lock, but we can't access it,
+     so small probability of this breaking, which is why it is at
+     a higher trace level (vnode 5). */
+  TRACE0N(TRACE_VNODE, 5, TRCID_PRINTALLSUPER_1,
+           "printSuperList:\n");
+  printSuper(sbP);
+  list_for_each(lP, &sbP->s_list)
+  {
+    sP = sb_entry(lP);
+    printSuper(sP);
+  }
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev-ksyms.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev-ksyms.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev-ksyms.c	(revision 16)
@@ -0,0 +1,102 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)42       1.13  src/avs/fs/mmfs/ts/kernext/gpl-linux/tracedev-ksyms.c, mmfs, avs_rgpfs24, rgpfs240610b 10/28/05 11:21:21 */
+/*
+ * Export symbols for tracing module (tracedev)
+ *
+ * Define new global variables with GPFS_EXPORT_SYMBOL(varname).
+ * Define new functions with GPFS_EXPORT_FUNC(varname).
+ *
+ * The latter will automatically spit out a generic function
+ * prototype. The prototype format doesn't matter here, but
+ * it is important to let the compiler know that something
+ * is really a function (or else incorrect code is spewed out
+ * on IA64 for the relocation entry which trips up insmod;
+ * the i386 platform doesn't have this feature).
+ *
+ *
+ */
+
+#ifndef KTRACE
+
+/* If trace is built into kernel, pick up GPFS flag definitions from a file
+   rather than requiring them to be defined on the command line. Also, put
+   trace global variables here rather than in GPFS kernel module so that
+   they can be referenced by code in kernel. */
+#ifndef MODULE
+#define DEFINE_TRACE_GBL_VARS
+/* #include <linux/ktrace.h> */
+#endif
+
+#include <linux/version.h>
+#include <linux/module.h>
+#define GPFS_GPL
+
+#ifdef GPFS_EXPORT_KSYMS
+
+/* Use GPFS_EXPORT_SYMBOL for exporting a variable */
+/* Use GPFS_EXPORT_FUNC for exporting a function */
+
+#if LINUX_KERNEL_VERSION > 2061300
+#define GPFS_EXPORT_SYMBOL(VAR) EXPORT_SYMBOL(VAR);
+#define GPFS_EXPORT_FUNC(FNAME) extern void FNAME (); \
+                                EXPORT_SYMBOL(FNAME);
+#else
+#if LINUX_KERNEL_VERSION > 2050000
+#define GPFS_EXPORT_SYMBOL(VAR) EXPORT_SYMBOL_NOVERS(VAR);
+#else
+#define GPFS_EXPORT_SYMBOL(VAR) extern VAR; EXPORT_SYMBOL_NOVERS(VAR);
+#endif
+#define GPFS_EXPORT_FUNC(FNAME) extern void FNAME (); \
+                                EXPORT_SYMBOL_NOVERS(FNAME);
+#endif
+
+/* ************** */
+/* Export section */
+/* ************** */
+#ifndef GPFS_PRINTF
+GPFS_EXPORT_FUNC(_STrace);
+GPFS_EXPORT_FUNC(_STraceNB);
+GPFS_EXPORT_FUNC(_XTrace);
+GPFS_EXPORT_FUNC(_XTraceNB);
+#if 0
+GPFS_EXPORT_SYMBOL(lxthe);
+#endif
+GPFS_EXPORT_FUNC(trc_fsync);
+#ifndef MODULE
+EXPORT_SYMBOL_NOVERS(TraceFlagsP);
+#endif
+#endif /* ! GPFS_PRINTF */
+
+#endif /* GPFS_EXPORT_KSYMS */
+#endif /* ! KTRACE */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev-ksyms.ko.ver
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev-ksyms.ko.ver	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev-ksyms.ko.ver	(revision 16)
@@ -0,0 +1,5 @@
+__crc__STrace = 0x739af1ab ;
+__crc__STraceNB = 0x73e2050f ;
+__crc__XTrace = 0x50bb76ef ;
+__crc__XTraceNB = 0x942bbaac ;
+__crc_trc_fsync = 0xd4aa5b72 ;
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.c	(revision 16)
@@ -0,0 +1,1340 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)25       1.65.1.6  src/avs/fs/mmfs/ts/kernext/gpl-linux/tracedev.c, mmfs, avs_rgpfs24, rgpfs24s011a 3/14/07 10:57:03 */
+
+/**************************************************************************
+ *
+ * Loadable kernel module that implements the trace device. 
+ *
+ **************************************************************************/
+
+#ifndef GPFS_PRINTF
+
+#ifndef __KERNEL__
+#  define __KERNEL__
+#endif
+
+#ifndef KBUILD_MODNAME
+#define KBUILD_MODNAME tracedev
+#endif
+
+/* If trace is built into kernel, pick up GPFS flag definitions from a file
+   rather than requiring them to be defined on the command line. */
+#ifndef MODULE
+/* #include <linux/ktrace.h> */
+#endif
+
+#include <Shark-gpl.h>
+
+#include <linux/version.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/errno.h>
+#include <linux/slab.h>
+#include <linux/smp_lock.h>
+#include <linux/vmalloc.h>
+#include <linux/string.h>
+
+#if LINUX_KERNEL_VERSION > 2060900
+#include <linux/hardirq.h> /* in_interrupt */
+#else
+#include <asm/hardirq.h> /* in_interrupt */
+#endif
+#include <asm/uaccess.h> /* copy_to/from_user */
+
+
+#include <stdarg.h>
+#include <Trace.h>
+#include <lxtrace.h>
+#include <verdep.h>
+
+#ifdef __64BIT__
+# define Int64 long long
+# define ARGLEN 8
+# define ARGTYPE Int64
+#else
+# define Int32 int
+# define ARGLEN 4
+# define ARGTYPE Int32
+#endif /* __64BIT__ */
+
+char stringPadding[8];
+
+#if LINUX_KERNEL_VERSION > 2060900 || \
+  (LINUX_KERNEL_VERSION > 2060000 && (defined(GPFS_ARCH_PPC64) || defined(GPFS_ARCH_X86_64)))
+#define EXPORTKDUMPDEV
+#endif
+
+#ifdef EXPORTKDUMPDEV
+static int major_kdump = -1;
+#endif
+
+#if defined(MODULE) && (LINUX_KERNEL_VERSION >= 2040900)
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION ("GPFS portability layer (tracing module)");
+MODULE_AUTHOR ("IBM <gpfs@us.ibm.com>");
+#endif /* MODULE */
+
+/* If trace is built into kernel, then this is a dummy module */
+#ifndef KTRACE
+
+/* the daemon's task structure (for signal) */
+static struct task_struct *taskP; 
+
+/* The writeLock serializes trace writers.  It should be avoided by
+ * other operations in order to allow the writers to continue unimpeded.
+ * The writeLock must be held when accessing the following fields in the
+ * trace header element:  nWaits, nBuffers, nLost, writeBuf
+ */
+static spinlock_t writeLock;
+
+/* The readLock serializes trace operations, as well as most other access
+ * to the trace header element.  Whenever both readLock and writeLock are
+ * required, readLock is always to be acquired first.
+ */
+static struct semaphore readLock;
+
+/* The readFull flag synchronizes access to readBuf by readers and writers.
+   Writers set this after filling readBuf and wait for this to be clear
+   before filling readBuf.  Readers use this flag to tell if readBuf has
+   any data and clear this after processing.  Using an atomic variable
+   allows steady-state tracing to be done without readers needing to
+   acquire a lock that would block writers.  Note that atomic operations
+   do not generally act as memory barriers, so explicit barrier calls may
+   be necessary before or after accessing readFull.  Spinlocks act as
+   partial memory barriers, so explicit barriers can be avoided in some
+   cases where spinlocks are used. */
+static atomic_t readFull;
+
+/* Trace Header Element - THE anchor for the trace state */
+static trcdev_header_t   lxthe;
+static wait_queue_head_t daemonWaitQ;
+
+/* Export pointers to internal data structures for debugging */
+struct
+{
+  trcdev_header_t   *lxtheP;
+  wait_queue_head_t *daemonWaitQP;
+  struct semaphore  *readLockP;
+  spinlock_t        *writeLockP;
+} TraceVarAddrs = { &lxthe, &daemonWaitQ, &readLock, &writeLock };
+
+/* A trcdev_buffer is dirty if there is any data in it (nextP != beginP) AND the
+ * dirtyP has not yet been advanced (by trc_read) past the data (to nextP) */
+#define IS_DIRTY(b) (b.nextP != b.beginP && b.nextP != b.dirtyP)
+
+/* A trace record passed from a user thread consists of a data header
+   followed by the marshalled arguments */
+struct trcRec
+{
+  trc_datahdr_t hdr;
+  char data[LXTRACE_MAX_DATA-sizeof(trc_datahdr_t)];
+};
+
+
+/* Updating state information requires the writeLock in addition to
+ * readLock.  The readLock is widely held where the trace header is 
+ * manipulated, but for the brief period of updating the state field, get the 
+ * writeLock as well.
+ */
+static void setTraceState(trcdev_state_t newState)
+{
+  spin_lock(&writeLock);
+  lxthe.state = newState;
+  wake_up(&daemonWaitQ);
+  spin_unlock(&writeLock);
+}
+
+
+/* Return true if the specified hookword is currently being traced. */
+static Boolean isTraced(uint hw)
+{
+  return lxthe.state == trc_active;;
+}
+
+
+/* Construct the static trace header element ("lxthe"). 
+ * trc_open will allocate buffers and set the appropriate values. */
+static void trc_init()
+{
+  spin_lock_init(&writeLock);
+  sema_init(&readLock, 1);
+
+  /* Note:  Locks are not needed here.  There better not be any other
+     threads trying to access lxthe at this point.  If there were, then
+     what would happen if a thread tried to acquire the locks a few
+     instructions earlier, before we initialized the locks? */
+
+  lxthe.major = 0; /* dynamic assignment (by register_chrdev in trc_register) */
+  lxthe.minor = 0;
+  lxthe.bufSize = 0;
+  lxthe.nOpens = 0;
+  lxthe.nWaits = 0;
+  lxthe.nBuffers = 0;
+  lxthe.nLost = 0;
+  atomic_set(&readFull, 0);
+  taskP = NULL;
+  init_waitqueue_head(&daemonWaitQ);
+
+  lxthe.writeBuf.beginP = NULL;
+  lxthe.writeBuf.endP = NULL;
+  lxthe.writeBuf.nextP = NULL;
+  lxthe.writeBuf.dirtyP = NULL;
+
+  lxthe.readBuf = lxthe.writeBuf;
+
+  lxthe.state = trc_initialized;
+}
+
+/* Destroy the static trace header element (lxthe) */
+static void trc_term()
+{
+  /* Note: Locks are not needed here.  We're about to re-initialize, so
+     if anyone is still using lxthe at this point, we would clobber them. */
+
+  /* The two buffers are allocated together.  Free them both here. */
+  if (lxthe.writeBuf.beginP)
+    vfree(MIN(lxthe.writeBuf.beginP, lxthe.readBuf.beginP));
+
+  /* (re)initialize all fields.  Rather than copy all the stuff that happens 
+   * in trc_init, we can use it here to reset all the fields. */
+  trc_init();
+}
+
+#ifdef EXPORTKDUMPDEV
+static ssize_t kdump_read(struct file *fileP, char *bufP, size_t nBytes, loff_t *ppos)
+{
+  int rc= -EINVAL;
+#if defined(GPFS_ARCH_X86_64) && LINUX_KERNEL_VERSION >= 2061600
+  /* rw_verify_area does not allow kernel addr range,
+     so a read() will fail with EINVAL.
+     We subtracted the base kernel addr is kdump.c and add back in here. */
+  unsigned long highBits = GPFS_KERNEL_OFFSET;
+#else
+  unsigned long highBits = 0;
+#endif
+
+  if (virt_addr_valid((unsigned long)*ppos + highBits))
+    if (copy_to_user(bufP, (void *)((unsigned long)*ppos + highBits), nBytes)==0)
+      rc=nBytes;
+  return((ssize_t)rc);
+}
+
+static int kdump_open(struct inode *inodeP, struct file *fileP)
+{
+   MY_MODULE_INCREMENT();
+   fileP->f_pos=0;
+   return 0;
+}
+
+static int kdump_close(struct inode *inodeP, struct file *fileP)
+{
+   MY_MODULE_DECREMENT();
+   return 0;
+}
+
+static loff_t kdump_lseek(struct file *fileP, loff_t offset, int orgin)
+{
+   loff_t rc;
+
+   if (orgin != 0)
+      return(-EAGAIN);
+
+   fileP->f_pos = offset;
+
+   return(offset);
+}
+#endif
+/* The device open operation.  The first open is initiated by the trace daemon,
+ * and comes after registration.  It results in the allocation of the trace
+ * buffers, and identifying the trace daemon (so it can be signalled when
+ * buffers are ready to be read).  */
+static int trc_open(struct inode *inodeP, struct file *fileP)
+{
+  int rc = 0;
+
+  /* Serialize multiple opens and prevent state changes */
+  down(&readLock);
+
+  /* Only the daemon opens the device O_RDWR, and only does so when turning 
+   * trace on. 
+   */
+  if ((fileP->f_flags & O_ACCMODE) == O_RDWR)
+  {
+     if (lxthe.state != trc_initialized)
+     {
+       rc = -EALREADY;
+       goto exit;
+     }
+
+    /* The first open (lxtrace on) requires initialization of the header. */
+    lxthe.minor = MINOR(inodeP->i_rdev);
+
+    /* Only supporting one such device */
+    if (lxthe.minor > 0)
+    {
+      rc = -ENODEV;
+      goto exit;
+    }
+
+    /* If not configured otherwise, use the default buffer size. */
+    if (lxthe.bufSize == 0)
+      lxthe.bufSize = DEF_TRC_BUFSIZE;
+
+    /* Allocate dual trace buffers (new records go into the write buffer,
+     * and the daemon reads (via trc_read) from the read buffer). */
+    lxthe.writeBuf.beginP = vmalloc(2*lxthe.bufSize);
+    if (!lxthe.writeBuf.beginP)
+    {
+      rc = -ENOMEM;
+      goto exit;
+    }
+    lxthe.writeBuf.endP = lxthe.writeBuf.beginP + lxthe.bufSize - 1;
+    lxthe.writeBuf.nextP = lxthe.writeBuf.beginP;
+    lxthe.writeBuf.dirtyP = lxthe.writeBuf.beginP;
+    lxthe.writeBuf.bufNum = 1;
+
+    lxthe.readBuf.beginP = lxthe.writeBuf.beginP + lxthe.bufSize; 
+    lxthe.readBuf.endP = lxthe.readBuf.beginP + lxthe.bufSize - 1;
+    lxthe.readBuf.nextP = lxthe.readBuf.beginP;
+    lxthe.readBuf.dirtyP = lxthe.readBuf.beginP;
+    lxthe.readBuf.bufNum = 2;
+
+    /* Save pointer to the daemon task information, and mark the 
+     * device open. */
+    taskP = current;
+    setTraceState(trc_opened);
+
+    /* Since threads that handle VM page-outs also do traces, set flag so
+       that we will not get blocked waiting to allocate pages.  Otherwise a
+       deadlock could occur if the page-out thread was waiting for us to
+       empty the trace buffer, and we are waiting for the page-out thread
+       to free some pages. */
+    current->flags |= PF_MEMALLOC;
+  }
+
+  /* Applications must open the trace device O_WRONLY.  These opens do not 
+   * require any processing.  If the daemon has turned tracing on, the open 
+   * is allowed and subsequent write() calls will be handled.  If the daemon 
+   * has NOT turned tracing on, the application open will be granted, but 
+   * subsequent write() calls will NOOP
+   * until the daemon turns trace on (state == trac_active). */
+
+  else if ((fileP->f_flags & O_ACCMODE) != O_WRONLY) 
+  {
+    /* After "trace on", subsequent trace control commands open O_RDONLY.  */
+    if (lxthe.state != trc_active)
+    {
+      rc = -EALREADY;
+      goto exit;
+    }
+  }
+
+  lxthe.nOpens += 1;
+
+  MY_MODULE_INCREMENT();
+
+exit:
+  up(&readLock);
+  return rc;
+}
+
+/* The device read operation.  This is to be used only by the trace daemon to
+ * retrieve trace buffers for the purposes of writing to the output file. */
+static ssize_t trc_read(struct file *fileP, char *bufP, size_t nBytes, loff_t *ppos)
+{
+  ssize_t nDone = 0;
+  ssize_t nReady;
+
+  /* All access to lxthe.readBuf is protected via the readLock.  */
+  down(&readLock);
+
+  /* Only the trace daemon is allowed to read. */
+  if (taskP && taskP->pid != current->pid)
+  {
+    nDone = -EPERM;
+    goto exit;
+  }
+
+  /* See if there is data waiting to be processed by the daemon.  Read is
+   * allowed here during normal operation (trc_active) and as trace is
+   * terminating (this to get the last group of buffered records). */
+  if ((lxthe.state == trc_active || lxthe.state == trc_stopped) && 
+      atomic_read(&readFull))
+  {
+    /* Be sure that we don't access readBuf until after readFull is set */
+    rmb();
+
+    if (IS_DIRTY(lxthe.readBuf))
+    {
+      /* Make sure that the caller's buffer is large enough to hold 
+       * what we have. */
+      nReady = lxthe.readBuf.nextP - lxthe.readBuf.beginP;
+      if (nReady > nBytes)
+      {
+        nDone = -EFBIG;
+        goto exit;
+      }
+
+      if (copy_to_user(bufP, lxthe.readBuf.dirtyP, nReady))
+      {
+        nDone = -EFAULT;
+        goto exit;
+      }
+
+      nDone = nReady;
+      lxthe.readBuf.dirtyP += nDone;
+    }
+    
+    /* Allow writers to use readBuf */
+    if (!IS_DIRTY(lxthe.readBuf))
+    {
+      wmb();
+      atomic_set(&readFull, 0);
+      wake_up(&daemonWaitQ);
+    }
+  }
+
+exit:
+  up(&readLock);
+  return nDone;
+}
+
+static void my_send_sig_info(int mySig, struct siginfo * sigData, struct task_struct *taskP)
+{
+   struct task_struct *g, *tsP;
+   // read_lock(&tasklist_lock);
+   rcu_read_lock();
+
+   DO_EACH_THREAD(g,tsP)
+   {
+     if (tsP == taskP)
+     {
+       send_sig_info(mySig, sigData, tsP);
+       break;
+     }
+   } WHILE_EACH_THREAD(g,tsP);
+   // read_unlock(&tasklist_lock);
+   rcu_read_unlock(); 
+}
+
+/* Internal routine to schedule i/o of the trace buffer.
+   NOTE that this routine is called while holding the writeLock. */
+static void trc_signal_io()
+{
+  trcdev_buffer_t tBuf;
+  struct siginfo sigData;
+
+  /* DBGASSERT(atomic_read(&readFull) == 0); */
+
+  /* Switch the buffers.  We don't have to worry about trc_read looking at
+     readBuf while we do this because it always verify that readFull is
+     non-zero before accessing readBuf. */
+  rmb();
+  tBuf = lxthe.readBuf;
+  lxthe.readBuf = lxthe.writeBuf;
+  lxthe.writeBuf= tBuf;
+  lxthe.nBuffers++;             /* Number of buffers filled */
+
+  /* Mark readBuf full so that writers won't switch to it until after the
+     daemon has processed it.  Do write memory barrier to ensure that
+     our change to readBuf makes it to memory before readFull is set. */
+  wmb();
+  atomic_set(&readFull, 1);
+
+  /* Reset the (new) writeBuf to a clean state */
+  lxthe.writeBuf.dirtyP = lxthe.writeBuf.nextP = lxthe.writeBuf.beginP;
+
+  /* Debug for 471707: Since all trace records begin with a header the 
+   * very first thing in a dirty buffer should be a valid header.  If 
+   * this is not the case, print debug information to the log file.
+   */
+  if (IS_DIRTY(tBuf) && (((trc_header_t *)tBuf.beginP)->trMagic != LXTRACE_MAGIC))
+  {
+    printk("trc_signal_io: bad trace buffer! trMagic 0x%X\n",
+          ((trc_header_t *)tBuf.beginP)->trMagic);
+    printk("trc_signal_io: begin 0x%x end 0x%X next 0x%X dirty 0x%X isDirty %d\n",
+           (trc_header_t *)tBuf.beginP, (trc_header_t *)tBuf.endP, 
+           (trc_header_t *)tBuf.nextP, (trc_header_t *)tBuf.dirtyP, 
+           IS_DIRTY(tBuf));
+  }
+
+  /* Signal daemon that there is a trace buffer to be read and processed. */
+  sigData.si_signo = SIGIO;
+  sigData.si_errno = 0;
+  sigData.si_code  = SI_KERNEL;
+  my_send_sig_info(SIGIO, &sigData, taskP);
+}
+
+
+/* Return true if trace writer will have to wait for daemon to make room
+   for a trace record of the specified length. */
+static int writeMustBlock(int len)
+{
+  return (len > lxthe.writeBuf.endP - lxthe.writeBuf.nextP + 1 &&
+          atomic_read(&readFull) && lxthe.state == trc_active);
+}
+
+
+/* Reserves space for a trace record whose data header plus arguments
+   totals nBytes.  Returns 0 if space was reserved for the trace record,
+   or non-zero if space could not be found because the buffer is full
+   and cantBlock is set, or because tracing is not enabled.  If space
+   was reserved successfully, builds a trace header, then copies the
+   trace header and the given data header into the trace device buffer.
+   After returning from this routine, trc_append_record should be called
+   0 or more times, then trc_end_record.  Returns with writeLock held iff
+   0 was returned. */
+static int
+trc_start_record(trc_datahdr_t * hdrP, size_t nBytes, int cantBlock)
+{
+  int trclen;
+  trc_header_t tHdr;
+
+  /* Construct the trace record header */
+  tHdr.trMagic = LXTRACE_MAGIC;
+
+  /* Wait to set the timestamp (tHdr.trTime) until after all serialization.
+   * When multiple threads call trace, they don't necessarily get the
+   * writeLock in FIFO order so setting the timestamp here can result
+   * in times going backwards in the trace file.
+   *   do_gettimeofday(&tHdr.trTime);
+   */
+
+  tHdr.trProcess = current->pid;
+  tHdr.trCPU = smp_processor_id();
+  tHdr.trLength = nBytes;
+  trclen = nBytes + sizeof(trc_header_t);
+
+  /* Serialize access to writeBuf */
+  spin_lock(&writeLock);
+
+  /* If this trace record will not fit in the write buffer, and the read
+     buffer is still full, and trace is active, then we must wait for the
+     daemon to empty the read buffer. */
+  if (writeMustBlock(trclen))
+  {
+    if (cantBlock)
+    {
+      lxthe.nLost++;
+      spin_unlock(&writeLock);
+      return 1;
+    }
+
+    if (lxthe.state != trc_active)
+    {
+      spin_unlock(&writeLock);
+      return 1;
+    }
+
+    lxthe.nWaits++;
+    do
+    {
+      spin_unlock(&writeLock);
+      wait_event(daemonWaitQ, !writeMustBlock(trclen));
+      spin_lock(&writeLock);
+    } while (writeMustBlock(trclen));
+  }
+  
+  if (lxthe.state != trc_active)
+  {
+    spin_unlock(&writeLock);
+    return 1;
+  }
+
+  /* Will the trace record fit into the write buffer?  If not, then we can
+     swap with the read buffer which must be empty at this point (else we
+     wouldn't have come out of previous wait loop). */
+  if (trclen > lxthe.writeBuf.endP - lxthe.writeBuf.nextP + 1)
+  {
+    /* Swap write buffer with read buffer and signal daemon to process the
+       data. */
+    trc_signal_io();
+
+    /* This could be an assert, since write buffer must be empty now. */
+    if (trclen > lxthe.writeBuf.endP - lxthe.writeBuf.nextP + 1)
+    {
+      spin_unlock(&writeLock);
+      return 1;
+    }
+  }
+
+  /* Now that there isn't anything to block the writing of this
+   * record, insert the timestamp.
+   */
+  do_gettimeofday(&tHdr.trTime);
+
+  /* Insert the header stamp into the buffer ahead of the application
+     record and remember its location. */
+  lxthe.tHdrP = (trc_header_t *)lxthe.writeBuf.nextP;
+  tHdr.trBuf = lxthe.writeBuf.bufNum;
+  memcpy(lxthe.writeBuf.nextP, &tHdr, sizeof(tHdr));
+  lxthe.writeBuf.nextP += sizeof(tHdr);
+
+  /* Move the application trace header directly into the trace buffer and
+     remember its location */
+  lxthe.hdrP = (trc_datahdr_t *)lxthe.writeBuf.nextP;
+  memcpy(lxthe.writeBuf.nextP, hdrP, sizeof(*hdrP));
+  lxthe.writeBuf.nextP += sizeof(*hdrP);
+
+  /* Return with writeLock still held */
+  return 0;
+}
+
+
+/* Append a portion of a trace record to the write buffer.  Must have
+   previously called trc_start_record. */
+static void trc_append_record(const void* bufP, size_t nBytes)
+{
+  /* Move the application trace record directly into the trace buffer */
+  memcpy(lxthe.writeBuf.nextP, bufP, nBytes);
+  lxthe.writeBuf.nextP += nBytes;
+}
+
+
+/* Finish a trace record */
+static void trc_end_record()
+{
+  spin_unlock(&writeLock);
+}
+
+
+static ssize_t
+trc_write(struct file *fileP, const char *bufP, size_t nBytes, loff_t *posP)
+{
+  struct trcRec tr;
+  int rc;
+  int dataBytes;
+
+  /* Copy trace record from user address space */
+  if (nBytes < 4 || nBytes > LXTRACE_MAX_DATA)
+    return -EINVAL;
+  if (copy_from_user(&tr, bufP, nBytes))
+    return -EFAULT;
+
+  /* The beginning of the trace record is a hookword number.  Verify that
+     the specified hookword is being traced.  If not, return as if the trace
+     was successful. */
+  if (isTraced(tr.hdr.trHook))
+  {
+    rc = trc_start_record(&tr.hdr, nBytes, false);
+    if (rc == 0)
+    {
+      dataBytes = nBytes - sizeof(tr.hdr);
+      if (dataBytes > 0)
+        trc_append_record(&tr.data[0], dataBytes);
+      trc_end_record();
+    }
+  }
+  return nBytes;
+}
+
+/* Before close, a sync of the trace device will flush the records
+ * still in the read buffer (even though it might not be full).  A
+ * close without this call could result in the loss of these records.
+ * Must not call fsync from daemon termination signal handler because
+ * that could deadlock if a SIGIO is still pending.
+ */
+static int
+trc_fsync_internal(struct file* fileP, struct dentry* dP, int datasync)
+{
+  spin_lock(&writeLock);
+
+  /* If read buffer is still full, wait for daemon to process it */
+  while (atomic_read(&readFull) &&
+         (lxthe.state == trc_active || lxthe.state == trc_stopped))
+  {
+    spin_unlock(&writeLock);
+    wait_event(daemonWaitQ,
+               !(atomic_read(&readFull) &&
+                 (lxthe.state == trc_active || lxthe.state == trc_stopped)));
+    spin_lock(&writeLock);
+  }
+  
+  /* Allow fsync during normal operation OR after ioctl(trc_end) has
+     disabled further trace writing (allows an fsync before close to
+     flush the buffered records). */
+  if (lxthe.writeBuf.nextP != lxthe.writeBuf.beginP &&
+      (lxthe.state == trc_active || lxthe.state == trc_stopped))
+    trc_signal_io();
+
+  spin_unlock(&writeLock);
+  return 0;
+}
+
+
+/* The externally visible version of trc_fsync_internal */
+int trc_fsync()
+{
+  return trc_fsync_internal(NULL, NULL, 0);
+}
+
+
+/* The device close operation. */
+static int trc_close(struct inode *inodeP, struct file *fileP)
+{
+  down(&readLock);
+
+  /* The trace daemon only closes the device upon termination. */
+  if (taskP && taskP->pid == current->pid)
+  {
+    /* The final trace daemon close.  Reset for subsequent use. */
+    setTraceState(trc_initialized);
+
+    /* We don't really need writeLock here since writers won't do anything
+       after state is set to trc_initialized, but it doesn't hurt. */
+    spin_lock(&writeLock);
+    lxthe.nWaits = 0;
+    lxthe.nBuffers = 0;
+    lxthe.nLost = 0;
+    spin_unlock(&writeLock);
+    taskP = NULL;
+    current->flags &= ~PF_MEMALLOC;
+
+    /* Free the two trace buffers. */
+    if (lxthe.writeBuf.beginP)
+    {
+      vfree(MIN(lxthe.writeBuf.beginP, lxthe.readBuf.beginP));
+
+      lxthe.writeBuf.beginP = NULL;
+      lxthe.writeBuf.endP = NULL;
+      lxthe.writeBuf.nextP = NULL;
+      lxthe.writeBuf.dirtyP = NULL;
+
+      lxthe.readBuf = lxthe.writeBuf;
+    }
+  }
+
+  lxthe.nOpens -= 1;
+
+  MY_MODULE_DECREMENT();
+
+  up(&readLock);
+  return 0;
+}
+
+
+/* ioctl op used to for low-level access to trace operation. */
+static int trc_ioctl(struct inode *inodeP, struct file *fileP,
+                     unsigned int op, unsigned long kx_args)
+{
+  int h, rc = 0;
+  Boolean readLockHeld = false;
+  struct kArgs args_cp;
+  struct kArgs *args = (struct kArgs *)kx_args;
+  char *p;
+  char *newBufP;
+  char *trc_dumpP;
+  char *trc_nextP;
+  struct siginfo sigData;
+  int waitCount = 0;
+
+  down(&readLock);
+  readLockHeld = true;
+
+  switch (op)
+  {
+    case trc_begin:
+      if (lxthe.state == trc_active)
+      {
+        rc = -EALREADY;
+        break;
+      }
+      if (lxthe.state != trc_opened)
+      {
+        rc = -EBADF;
+        break;
+      }
+      setTraceState(trc_active);
+      break;
+
+    case trc_end:
+      if (lxthe.state != trc_active)
+        rc = -EBADF;
+      else
+      {
+        setTraceState(trc_stopped);
+        up(&readLock);
+        readLockHeld = false;
+        trc_fsync();
+
+        /* Signal the daemon to terminate. */
+        sigData.si_signo = SIGTERM;
+        sigData.si_errno = 0;
+        sigData.si_code  = SI_KERNEL;
+        my_send_sig_info(SIGTERM, &sigData, taskP);
+      }
+
+      /* Wait for lxtrace to terminate, but don't wait forever.
+         At this point the signal has been delivered to lxtrace,
+         but it may take some time for the process to exit.  Since
+         lxthe.state is changed from trc_stopped to trc_initialized
+         in trc_close(), which is called when lxtrace exits, if we
+         return control to the caller right away, there'd be a window
+         when tracing has ostensibly been stopped, and it should be
+         OK to start tracing again, but trying to do so would fail
+         with EALREADY in trc_open because lxthe.state is not what
+         the code expects.  So we give lxtrace some time to terminate.
+         Something could go seriously wrong, and lxtrace may get stuck,
+         we don't wait forever. */
+      while (lxthe.state == trc_stopped && waitCount++ < 10)
+      {
+        current->state = TASK_INTERRUPTIBLE;
+        schedule_timeout(100);
+      }
+      break;
+
+    case trc_bufSize:
+
+      /* The daemon may call ioctl to change the desired buffer size.
+         On open, buffers of the default size are allocated.  This call
+         frees the current buffers (replacing them with new ones).  Any
+         trace records currently in the buffers will be lost. */
+
+      if (lxthe.state != trc_opened)
+      {
+        rc = -EPERM;
+        break;
+      }
+
+      /* get the argument array */
+      if (copy_from_user(&args_cp, args, sizeof(args_cp)))
+      {
+        rc = -EFAULT;
+        break;
+      }
+      
+      /* Allocate the new (dual) trace buffers.
+       * arg1 is the requested buffer size */
+      newBufP = vmalloc(2*args_cp.arg1);
+      if (!newBufP)
+      {
+        rc = -ENOMEM;
+        break;
+      }
+
+      /* Free the previous buffers.  Since the state is currently
+       * "trc_opened" and we are holding readLock, neither readers nor
+       * writers can be using the buffers at this time. */
+      if (lxthe.writeBuf.beginP)
+        vfree(MIN(lxthe.writeBuf.beginP, lxthe.readBuf.beginP));
+
+      lxthe.bufSize = args_cp.arg1;
+      lxthe.writeBuf.beginP = newBufP;
+
+      lxthe.writeBuf.endP = lxthe.writeBuf.beginP + lxthe.bufSize - 1;
+      lxthe.writeBuf.nextP = lxthe.writeBuf.beginP;
+      lxthe.writeBuf.dirtyP = lxthe.writeBuf.beginP;
+
+      lxthe.readBuf.beginP = lxthe.writeBuf.beginP + lxthe.bufSize;
+      lxthe.readBuf.endP = lxthe.readBuf.beginP + lxthe.bufSize - 1;
+      lxthe.readBuf.nextP = lxthe.readBuf.beginP;
+      lxthe.readBuf.dirtyP = lxthe.readBuf.beginP;
+      break;
+
+    case trc_dump:
+
+      /* format trace header information and return to daemon */
+      trc_dumpP = vmalloc(LXTRACE_DUMP_SIZE);
+      if (trc_dumpP == NULL)
+      {
+        rc = -ENOMEM;
+        break;
+      }
+
+      if (copy_from_user(&args_cp, args, sizeof(args_cp)))
+      {
+        rc = -EFAULT;
+        break;
+      }
+
+      /* Block writers so that we can look at writeBuf. */
+      spin_lock(&writeLock);
+
+      /* Format the state information suitable for displaying by 
+       * the daemon. 
+       */
+      trc_nextP = trc_dumpP;
+      sprintf(trc_nextP, "Trace Header Element: 0x%08X\n", &lxthe);
+      trc_nextP += strlen(trc_nextP);
+
+      /* Global information on device number, buffer sizes, 
+       * and lost records. 
+       */
+      sprintf(trc_nextP, "  Major %d Minor %d bufSize 0x%X nOpens %d "
+                         "nBuffers %d nLost %d nWaits %d Daemon %d\n",
+                         lxthe.major, lxthe.minor, lxthe.bufSize, lxthe.nOpens,
+                         lxthe.nBuffers, lxthe.nLost, lxthe.nWaits,
+                         taskP ? taskP->pid: 0);
+      trc_nextP += strlen(trc_nextP);
+
+      sprintf(trc_nextP, "\n");
+      trc_nextP += strlen(trc_nextP);
+
+      /* Append buffer information */
+      sprintf(trc_nextP, "  writeBuf: beginP 0x%X endP 0x%X nextP 0x%X "
+                         "dirtyP 0x%X isDirty %d\n",
+                         lxthe.writeBuf.beginP, lxthe.writeBuf.endP,
+                         lxthe.writeBuf.nextP, lxthe.writeBuf.dirtyP, 
+                         IS_DIRTY(lxthe.writeBuf));
+      trc_nextP += strlen(trc_nextP);
+
+      sprintf(trc_nextP, "  readBuf : beginP 0x%X endP 0x%X nextP 0x%X "
+                         "dirtyP 0x%X isDirty %d\n",
+                         lxthe.readBuf.beginP, lxthe.readBuf.endP,
+                         lxthe.readBuf.nextP, lxthe.readBuf.dirtyP, 
+                         IS_DIRTY(lxthe.readBuf));
+      trc_nextP += strlen(trc_nextP);
+
+#if 0
+      /* verify dumpBuf size */
+      sprintf(trc_nextP, "  dumpBuf size %d (used %d)\n",
+              LXTRACE_DUMP_SIZE, (trc_nextP-trc_dumpP));
+      trc_nextP += strlen(trc_nextP);
+#endif 
+      spin_unlock(&writeLock);
+
+      /* arg1 is the user buffer size, arg2 is the address of the buffer */
+      if (copy_to_user((char *)args_cp.arg2, trc_dumpP,
+                       MIN(strlen(trc_dumpP)+1, args_cp.arg1)))
+        rc = -EFAULT;
+
+      vfree(trc_dumpP);
+      break;
+
+    default:
+      rc = -EINVAL;
+      break;
+  }
+
+  if (readLockHeld)
+    up(&readLock);
+
+  return rc;
+}
+
+static struct file_operations trc_ops =
+{
+  llseek:     NULL,
+  read:       trc_read,  /* read op allows the daemon to retrieve records */
+  write:      trc_write, /* Trace points write to the device */
+  readdir:    NULL,
+  poll:       NULL,
+  ioctl:      trc_ioctl, /* control op to change buffering or dump state */
+  mmap:       NULL,
+  open:       trc_open,  /* Prepare the device for tracing */
+  flush:      NULL,
+  release:    trc_close, /* Terminate tracing and close the device */
+  fsync:      trc_fsync_internal, /* Sync all buffered data to the daemon */
+  fasync:     NULL,
+  lock:       NULL,
+  aio_read:   NULL,
+  aio_write:  NULL,
+};
+
+#ifdef EXPORTKDUMPDEV
+static struct file_operations kdump_ops =
+{
+  llseek:     kdump_lseek,
+  read:       kdump_read,  /* read op allows the daemon to retrieve records */
+  write:      NULL, /* Trace points write to the device */
+  readdir:    NULL,
+  poll:       NULL,
+  ioctl:      NULL, /* control op to change buffering or dump state */
+  mmap:       NULL,
+  open:       kdump_open,  /* Prepare the device for tracing */
+  flush:      NULL,
+  release:    kdump_close, /* Terminate tracing and close the device */
+  fsync:      NULL, /* Sync all buffered data to the daemon */
+  fasync:     NULL,
+  lock:       NULL,
+  aio_read:   NULL,
+  aio_write:  NULL,
+};
+#endif
+/* Register the trace device "/dev/trace" and save the major number in 
+ * the header 
+ */
+static int trc_register()
+{
+  int major = register_chrdev(0, "trace", &trc_ops);
+  if (major < 0)
+    return major;
+  lxthe.major = major;
+#ifdef EXPORTKDUMPDEV
+  major_kdump = register_chrdev(0, "kdump", &kdump_ops);
+#endif
+  return 0;
+}
+
+/* Unregister the trace device */
+static void trc_unregister()
+{
+  unregister_chrdev(lxthe.major, "trace");
+  lxthe.major = 0;
+#ifdef EXPORTKDUMPDEV
+  if (major_kdump >= 0)
+     unregister_chrdev(major_kdump, "kdump");
+  major_kdump = 0;
+#endif
+
+}
+
+
+static void
+_STraceArgs(int* trRecLenP, int* stringLenP, int nArgs, int pos, va_list listP)
+{
+  int dataLen;
+  int i;
+  ARGTYPE tmpint;
+  char *s;
+  int stringLen;
+  int stringPadLen;
+
+  dataLen = 0;
+
+  /* Handle argument lists that include a string parameter */
+  if (pos >= 0  &&  pos < LXTRACE_MAX_FORMAT_SUBS)
+  {
+    /* Items (if any) preceeding the string argument */
+    for (i = 0; i < pos; i++)
+    {
+      tmpint = va_arg(listP, ARGTYPE);
+      trc_append_record(&tmpint, ARGLEN);
+      dataLen += ARGLEN;
+    }
+
+    /* Copy the string, making sure it does not overflow the buffer */
+    s = va_arg(listP, char*);
+    if (s < (char*)4096) /* bad address */
+    {
+      printk("_STrace: bad address 0x%X hook 0x%X\n", s, lxthe.hdrP->trHook);
+      s = "<bad address>";
+    }
+    stringLen = strlen(s);
+    stringLen = MIN(stringLen,
+                    LXTRACE_MAX_DATA - sizeof(trc_datahdr_t) -
+                      (nArgs*ARGLEN) - 1 - (ARGLEN-1));
+    trc_append_record(s, stringLen);
+    stringPadLen = ARGLEN - (stringLen%ARGLEN);
+    trc_append_record(stringPadding, stringPadLen);
+    *stringLenP = stringLen + stringPadLen;
+    dataLen += stringLen + stringPadLen;
+
+    /* Append items following string argument */
+    for (i = pos; i < nArgs; i++)
+    {
+      tmpint = va_arg(listP, ARGTYPE);
+      trc_append_record(&tmpint, ARGLEN);
+      dataLen += ARGLEN;
+    }
+  }
+  else /* !IS_SFORMAT */
+  {
+    /* Place the fixed parameters in the temporary trace buffer */
+    for (i = 0; i < nArgs; i++)
+    {
+      tmpint = va_arg(listP, ARGTYPE);
+      trc_append_record(&tmpint, ARGLEN);
+      dataLen += ARGLEN;
+    }
+    *stringLenP = 0;
+  }
+
+  /* Append the float argument */
+  if (pos == _TR_FORMAT_F)
+  {
+    /* Although the argument is really a double, don't tell the compiler,
+       so that it will not generate code using floating point hardware
+       that is not supposed to be used in the kernel. */
+    /* double tmpdbl = va_arg(listP, double); */
+    unsigned long long tmpdbl = va_arg(listP, unsigned long long);
+    trc_append_record(&tmpdbl, sizeof(tmpdbl));
+    dataLen += sizeof(tmpdbl);
+  }
+
+  *trRecLenP = sizeof(trc_datahdr_t) + dataLen;
+  /* DBGASSERT(*trRecLenP <= LXTRACE_MAX_DATA); */
+}
+
+
+void _STraceNB(int hookword, int nArgs, int pos, ...)
+{
+  trc_datahdr_t hdr;
+  int recLen;
+  int rc;
+  va_list listP;
+  int trRecLen;
+  int stringLen;
+
+  /* Trace calls from interrupt level are not supported.  If anybody needs
+     them, changing writeLock to use spin_lock_irqsave should be all that
+     is needed to allow non-blocking traces to work. */
+  if (in_interrupt())
+    return;
+
+  if (!isTraced(hookword))
+    return;
+
+  /* Test for trace formats that aren't supported yet */
+  if ((pos == _TR_FORMAT_I) && (nArgs > LXTRACE_MAX_FORMAT_SUBS))
+  {
+#ifdef DBGASSERTS
+    printk("_STrace: too many arguments (hook %X)\n", hookword);
+#endif /* DBGASSERTS */
+    return;
+  }
+
+  /* Build a data header and append it to the trace file.  If there is a
+     string, the length is not yet known, so use the maximum.  It will be
+     patched to the correct value later. */
+  hdr.trHook = hookword;
+  hdr.trNArgs = nArgs;
+  hdr.trSPos = pos;
+  hdr.trSLen = 0;   /* invalid if there is a string; fix below */
+  if (pos >= 0  &&  pos < LXTRACE_MAX_FORMAT_SUBS)
+    recLen = LXTRACE_MAX_DATA;
+  else
+  {
+    recLen = sizeof(hdr) + nArgs*ARGLEN;
+    if (pos == _TR_FORMAT_F)
+      recLen += ARGLEN;
+  }
+  rc = trc_start_record(&hdr, recLen, true);
+
+  /* If the header was successfully written, collect arguments directly into
+     the trace buffer */
+  if (rc == 0)
+  {
+    va_start(listP, pos);
+    _STraceArgs(&trRecLen, &stringLen, nArgs, pos, listP);
+    va_end(listP);
+
+    /* Patch the string and record lengths now that the string has been
+       copied */
+    lxthe.hdrP->trSLen = stringLen;
+    lxthe.tHdrP->trLength = trRecLen;
+
+    /* Trace record complete */
+    trc_end_record();
+  }
+}
+
+void _STrace(int hookword, int nArgs, int pos, ...)
+{
+  trc_datahdr_t hdr;
+  int recLen;
+  int rc;
+  va_list listP;
+  int trRecLen;
+  int stringLen;
+
+  /* Trace calls from interrupt level are not supported.  If anybody needs
+     them, changing writeLock to use spin_lock_irqsave should be all that
+     is needed to allow non-blocking traces to work. */
+  if (in_interrupt())
+    return;
+
+  if (!isTraced(hookword))
+    return;
+
+  /* Test for trace formats that aren't supported yet */
+  if ((pos == _TR_FORMAT_I) && (nArgs > LXTRACE_MAX_FORMAT_SUBS))
+  {
+#ifdef DBGASSERTS
+    printk("_STrace: too many arguments (hook %X)\n", hookword);
+#endif /* DBGASSERTS */
+    return;
+  }
+
+  /* Build a data header and append it to the trace file.  If there is a
+     string, the length is not yet known, so use the maximum.  It will be
+     patched to the correct value later. */
+  hdr.trHook = hookword;
+  hdr.trNArgs = nArgs;
+  hdr.trSPos = pos;
+  hdr.trSLen = 0;   /* invalid if there is a string; fix below */
+  if (pos >= 0  &&  pos < LXTRACE_MAX_FORMAT_SUBS)
+    recLen = LXTRACE_MAX_DATA;
+  else
+  {
+    recLen = sizeof(hdr) + nArgs*ARGLEN;
+    if (pos == _TR_FORMAT_F)
+      recLen += ARGLEN;
+  }
+  rc = trc_start_record(&hdr, recLen, false);
+
+  /* If the header was successfully written, collect arguments directly into
+     the trace buffer */
+  if (rc == 0)
+  {
+    va_start(listP, pos);
+    _STraceArgs(&trRecLen, &stringLen, nArgs, pos, listP);
+    va_end(listP);
+
+    /* Patch the string and record lengths now that the string has been
+       copied */
+    lxthe.hdrP->trSLen = stringLen;
+    lxthe.tHdrP->trLength = trRecLen;
+
+    /* Trace record complete */
+    trc_end_record();
+  }
+}
+
+void _XTraceNB(int hookword, char *fmt, ...)
+{
+  trc_datahdr_t hdr;
+  int rc;
+  va_list vargs;
+  int stringLen;
+
+  /* Trace calls from interrupt level are not supported.  If anybody needs
+     them, changing writeLock to use spin_lock_irqsave should be all that
+     is needed to allow non-blocking traces to work. */
+  if (in_interrupt())
+    return;
+
+  if (!isTraced(hookword))
+    return;
+
+  /* Build a data header and append it to the trace file.  Since the length
+     is not yet known, use the maximum.  It will be patched to the correct
+     value later. */
+  hdr.trHook = hookword;
+  hdr.trNArgs = 0;
+  hdr.trSPos = _TR_FORMAT_X;
+  hdr.trSLen = -1;   /* invalid; fix below */
+  rc = trc_start_record(&hdr, LXTRACE_MAX_DATA, true);
+
+  /* If the header was successfully written, format the string directly
+     into the trace buffer */
+  if (rc == 0)
+  {
+    va_start(vargs, fmt);
+    stringLen = vsnprintf(lxthe.writeBuf.nextP,
+                          LXTRACE_MAX_DATA-sizeof(trc_datahdr_t), fmt, vargs) + 1;
+    va_end(vargs);
+    if (stringLen > LXTRACE_MAX_DATA-sizeof(trc_datahdr_t))
+    {
+      printk("_XTraceNB: argument too long.  len=%d max=%d hook=0x%X\n",
+             stringLen, LXTRACE_MAX_DATA-sizeof(trc_datahdr_t)-1, hookword);
+      stringLen = LXTRACE_MAX_DATA-sizeof(trc_datahdr_t);
+    }
+
+    /* Patch the string and record lengths now that vsnprintf has calculated
+       the length that it formatted */
+    lxthe.hdrP->trSLen = ((stringLen+ARGLEN-1)/ARGLEN)*ARGLEN;
+    lxthe.tHdrP->trLength = sizeof(hdr) + lxthe.hdrP->trSLen;
+
+    /* Advance pointer into trace buffer by the length of the string just
+       appended */
+    lxthe.writeBuf.nextP += lxthe.hdrP->trSLen;
+
+    /* Trace record complete */
+    trc_end_record();
+  }
+}
+
+void _XTrace(int hookword, char *fmt, ...)
+{
+  trc_datahdr_t hdr;
+  int rc;
+  va_list vargs;
+  int stringLen;
+
+  /* Trace calls from interrupt level are not supported.  If anybody needs
+     them, changing writeLock to use spin_lock_irqsave should be all that
+     is needed to allow non-blocking traces to work. */
+  if (in_interrupt())
+    return;
+
+  if (!isTraced(hookword))
+    return;
+
+  /* Build a data header and append it to the trace file.  Since the length
+     is not yet known, use the maximum.  It will be patched to the correct
+     value later. */
+  hdr.trHook = hookword;
+  hdr.trNArgs = 0;
+  hdr.trSPos = _TR_FORMAT_X;
+  hdr.trSLen = -1;   /* invalid; fix below */
+  rc = trc_start_record(&hdr, LXTRACE_MAX_DATA, false);
+
+  /* If the header was successfully written, format the string directly
+     into the trace buffer */
+  if (rc == 0)
+  {
+    va_start(vargs, fmt);
+    stringLen = vsnprintf(lxthe.writeBuf.nextP,
+                          LXTRACE_MAX_DATA-sizeof(trc_datahdr_t), fmt, vargs) + 1;
+    va_end(vargs);
+    if (stringLen > LXTRACE_MAX_DATA-sizeof(trc_datahdr_t))
+    {
+      printk("_XTrace: argument too long.  len=%d max=%d hook=0x%X\n",
+             stringLen, LXTRACE_MAX_DATA-sizeof(trc_datahdr_t)-1, hookword);
+      stringLen = LXTRACE_MAX_DATA-sizeof(trc_datahdr_t);
+    }
+
+    /* Patch the string and record lengths now that vsnprintf has calculated
+       the length that it formatted */
+    lxthe.hdrP->trSLen = ((stringLen+ARGLEN-1)/ARGLEN)*ARGLEN;
+    lxthe.tHdrP->trLength = sizeof(hdr) + lxthe.hdrP->trSLen;
+
+    /* Advance pointer into trace buffer by the length of the string just
+       appended */
+    lxthe.writeBuf.nextP += lxthe.hdrP->trSLen;
+
+    /* Trace record complete */
+    trc_end_record();
+  }
+}
+
+/* Module initialization */
+MY_INIT_FUNCTION()
+{
+  trc_init();
+  return trc_register();
+}
+
+MY_EXIT_FUNCTION()
+{
+  trc_unregister();
+  trc_term();
+}
+
+DEFINE_MODULE_INIT();
+DEFINE_MODULE_EXIT();
+
+#endif /* GPFS_PRINTF */
+#endif /* KTRACE */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.map
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.map	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.map	(revision 16)
@@ -0,0 +1,387 @@
+
+Memory Configuration
+
+Name             Origin             Length             Attributes
+*default*        0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+LOAD tracedev.tmp
+LOAD tracedev.mod.o
+LOAD /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/libgcc.a
+
+.interp
+ *(.interp)
+
+.hash
+ *(.hash)
+
+.gnu.hash
+ *(.gnu.hash)
+
+.dynsym
+ *(.dynsym)
+
+.dynstr
+ *(.dynstr)
+
+.gnu.version
+ *(.gnu.version)
+
+.gnu.version_d
+ *(.gnu.version_d)
+
+.gnu.version_r
+ *(.gnu.version_r)
+
+.rel.init
+ *(.rel.init)
+
+.rela.init
+ *(.rela.init)
+
+.rel.text
+ *(.rel.text)
+
+.rela.text
+ *(.rela.text)
+
+.rel.fini
+ *(.rel.fini)
+
+.rela.fini
+ *(.rela.fini)
+
+.rel.rodata
+ *(.rel.rodata)
+
+.rela.rodata
+ *(.rela.rodata)
+
+.rel.data.rel.ro
+ *(.rel.data.rel.ro)
+
+.rela.data.rel.ro
+ *(.rela.data.rel.ro)
+
+.rel.data
+ *(.rel.data)
+
+.rela.data
+ *(.rela.data)
+
+.rel.tdata
+ *(.rel.tdata)
+
+.rela.tdata
+ *(.rela.tdata)
+
+.rel.tbss
+ *(.rel.tbss)
+
+.rela.tbss
+ *(.rela.tbss)
+
+.rel.ctors
+ *(.rel.ctors)
+
+.rela.ctors
+ *(.rela.ctors)
+
+.rel.dtors
+ *(.rel.dtors)
+
+.rela.dtors
+ *(.rela.dtors)
+
+.rel.got
+ *(.rel.got)
+
+.rela.got
+ *(.rela.got)
+
+.rel.bss
+ *(.rel.bss)
+
+.rela.bss
+ *(.rela.bss)
+
+.rel.plt
+ *(.rel.plt)
+
+.rela.plt
+ *(.rela.plt)
+
+.init
+ *(.init)
+
+.plt
+ *(.plt)
+
+.text           0x0000000000000000     0x16b4
+ *(.text .stub)
+ .text          0x0000000000000000     0x16b4 tracedev.tmp
+                0x0000000000001300                _STraceNB
+                0x0000000000000b10                trc_fsync
+                0x00000000000013f0                _STrace
+                0x00000000000014e0                _XTraceNB
+                0x00000000000015d0                _XTrace
+ .text          0x00000000000016b4        0x0 tracedev.mod.o
+ *(.text.*personality*)
+ *(.gnu.warning)
+
+.altinstr_replacement
+                0x0000000000000000        0x6
+ .altinstr_replacement
+                0x0000000000000000        0x6 tracedev.tmp
+
+.init.text      0x0000000000000000        0xa
+ .init.text     0x0000000000000000        0xa tracedev.tmp
+                0x0000000000000000                init_module
+
+.exit.text      0x0000000000000000        0xa
+ .exit.text     0x0000000000000000        0xa tracedev.tmp
+                0x0000000000000000                cleanup_module
+
+.fini
+ *(.fini)
+
+.rodata         0x0000000000000000       0x2d
+ *(.rodata)
+ .rodata        0x0000000000000000       0x1e tracedev.tmp
+ .rodata        0x000000000000001e        0xf tracedev.mod.o
+
+.modinfo        0x0000000000000000       0xb8
+ .modinfo       0x0000000000000000       0x71 tracedev.tmp
+ *fill*         0x0000000000000071        0xf 00
+ .modinfo       0x0000000000000080       0x38 tracedev.mod.o
+
+.smp_locks      0x0000000000000000       0x24
+ .smp_locks     0x0000000000000000       0x24 tracedev.tmp
+
+.altinstructions
+                0x0000000000000000       0x17
+ .altinstructions
+                0x0000000000000000       0x17 tracedev.tmp
+
+.rodata.str1.32
+                0x0000000000000000      0x276
+ .rodata.str1.32
+                0x0000000000000000      0x276 tracedev.tmp
+
+.rodata.str1.1  0x0000000000000000       0x3a
+ .rodata.str1.1
+                0x0000000000000000       0x3a tracedev.tmp
+
+__kcrctab       0x0000000000000000       0x14
+ __kcrctab      0x0000000000000000       0x14 tracedev.tmp
+
+__ksymtab_strings
+                0x0000000000000000       0x2e
+ __ksymtab_strings
+                0x0000000000000000       0x2e tracedev.tmp
+
+__ksymtab       0x0000000000000000       0x28
+ __ksymtab      0x0000000000000000       0x28 tracedev.tmp
+
+__versions      0x0000000000000000      0x680
+ __versions     0x0000000000000000      0x680 tracedev.mod.o
+
+.rodata1
+ *(.rodata1)
+
+.eh_frame_hdr
+ *(.eh_frame_hdr)
+
+.eh_frame
+ *(.eh_frame)
+
+.gcc_except_table
+ *(.gcc_except_table .gcc_except_table.*)
+
+.eh_frame
+ *(.eh_frame)
+
+.gcc_except_table
+ *(.gcc_except_table .gcc_except_table.*)
+
+.tdata
+ *(.tdata)
+
+.tbss
+ *(.tbss)
+
+.preinit_array
+ *(.preinit_array)
+
+.init_array
+ *(SORT(.init_array.*))
+ *(.init_array)
+
+.fini_array
+ *(.fini_array)
+ *(SORT(.fini_array.*))
+
+.jcr
+ *(.jcr)
+
+.dynamic
+ *(.dynamic)
+
+.got
+ *(.got)
+
+.got.plt
+ *(.got.plt)
+
+.data           0x0000000000000000      0x10c
+ *(.data)
+ .data          0x0000000000000000      0x10c tracedev.tmp
+                0x0000000000000004                TraceVarAddrs
+ .data          0x000000000000010c        0x0 tracedev.mod.o
+
+.gnu.linkonce.this_module
+                0x0000000000000000      0x600
+ .gnu.linkonce.this_module
+                0x0000000000000000      0x600 tracedev.mod.o
+                0x0000000000000000                __this_module
+
+.data1
+ *(.data1)
+
+.bss            0x0000000000000000       0x9c
+ *(.dynbss)
+ *(.bss)
+ .bss           0x0000000000000000       0x9c tracedev.tmp
+                0x0000000000000000                stringPadding
+ .bss           0x000000000000009c        0x0 tracedev.mod.o
+ *(COMMON)
+
+.stab
+ *(.stab)
+
+.stabstr
+ *(.stabstr)
+
+.stab.excl
+ *(.stab.excl)
+
+.stab.exclstr
+ *(.stab.exclstr)
+
+.stab.index
+ *(.stab.index)
+
+.stab.indexstr
+ *(.stab.indexstr)
+
+.comment        0x0000000000000000       0x87
+ *(.comment)
+ .comment       0x0000000000000000       0x5a tracedev.tmp
+ .comment       0x000000000000005a       0x2d tracedev.mod.o
+
+.debug
+ *(.debug)
+
+.line
+ *(.line)
+
+.debug_srcinfo
+ *(.debug_srcinfo)
+
+.debug_sfnames
+ *(.debug_sfnames)
+
+.debug_aranges
+ *(.debug_aranges)
+
+.debug_pubnames
+ *(.debug_pubnames)
+
+.debug_info
+ *(.debug_info)
+
+.debug_abbrev
+ *(.debug_abbrev)
+
+.debug_line
+ *(.debug_line)
+
+.debug_frame
+ *(.debug_frame)
+
+.debug_str
+ *(.debug_str)
+
+.debug_loc
+ *(.debug_loc)
+
+.debug_macinfo
+ *(.debug_macinfo)
+
+.debug_weaknames
+ *(.debug_weaknames)
+
+.debug_funcnames
+ *(.debug_funcnames)
+
+.debug_typenames
+ *(.debug_typenames)
+
+.debug_varnames
+ *(.debug_varnames)
+OUTPUT(tracedev elf32-i386)
+
+.note.GNU-stack
+                0x0000000000000000        0x0
+ .note.GNU-stack
+                0x0000000000000000        0x0 tracedev.tmp
+ .note.GNU-stack
+                0x0000000000000000        0x0 tracedev.mod.o
+
+Cross Reference Table
+
+Symbol                                            File
+TraceVarAddrs                                     tracedev.tmp
+_STrace                                           tracedev.tmp
+_STraceNB                                         tracedev.tmp
+_XTrace                                           tracedev.tmp
+_XTraceNB                                         tracedev.tmp
+__crc__STrace                                     tracedev.tmp
+__crc__STraceNB                                   tracedev.tmp
+__crc__XTrace                                     tracedev.tmp
+__crc__XTraceNB                                   tracedev.tmp
+__crc_trc_fsync                                   tracedev.tmp
+__down_failed                                     tracedev.tmp
+__this_module                                     tracedev.mod.o
+                                                  tracedev.tmp
+__up_wakeup                                       tracedev.tmp
+__wake_up                                         tracedev.tmp
+_spin_lock                                        tracedev.tmp
+autoremove_wake_function                          tracedev.tmp
+cleanup_module                                    tracedev.tmp
+                                                  tracedev.mod.o
+cond_resched                                      tracedev.tmp
+copy_from_user                                    tracedev.tmp
+copy_to_user                                      tracedev.tmp
+do_gettimeofday                                   tracedev.tmp
+finish_wait                                       tracedev.tmp
+init_module                                       tracedev.tmp
+                                                  tracedev.mod.o
+init_task                                         tracedev.tmp
+init_waitqueue_head                               tracedev.tmp
+max_mapnr                                         tracedev.tmp
+module_put                                        tracedev.tmp
+prepare_to_wait                                   tracedev.tmp
+printk                                            tracedev.tmp
+register_chrdev                                   tracedev.tmp
+schedule                                          tracedev.tmp
+schedule_timeout                                  tracedev.tmp
+send_sig_info                                     tracedev.tmp
+sprintf                                           tracedev.tmp
+stringPadding                                     tracedev.tmp
+trc_fsync                                         tracedev.tmp
+unregister_chrdev                                 tracedev.tmp
+vfree                                             tracedev.tmp
+vmalloc                                           tracedev.tmp
+vsnprintf                                         tracedev.tmp
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.mod.c.saved
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.mod.c.saved	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.mod.c.saved	(revision 16)
@@ -0,0 +1,51 @@
+#include <linux/module.h>
+#include <linux/vermagic.h>
+#include <linux/compiler.h>
+
+MODULE_INFO(vermagic, VERMAGIC_STRING);
+
+struct module __this_module
+__attribute__((section(".gnu.linkonce.this_module"))) = {
+ .name = KBUILD_MODNAME,
+ .init = init_module,
+#ifdef CONFIG_MODULE_UNLOAD
+ .exit = cleanup_module,
+#endif
+};
+
+static const struct modversion_info ____versions[]
+__attribute_used__
+__attribute__((section("__versions"))) = {
+	{ 0x89fac617, "struct_module" },
+	{ 0xd6ee688f, "vmalloc" },
+	{ 0xc8b57c27, "autoremove_wake_function" },
+	{ 0xc8be7b15, "_spin_lock" },
+	{ 0x2fd1d81c, "vfree" },
+	{ 0x1139ffc, "max_mapnr" },
+	{ 0x1d26aa98, "sprintf" },
+	{ 0xda4008e6, "cond_resched" },
+	{ 0x1b7d4074, "printk" },
+	{ 0x2f287f0d, "copy_to_user" },
+	{ 0x26baf42, "module_put" },
+	{ 0x8d823e07, "init_task" },
+	{ 0x4292364c, "schedule" },
+	{ 0x17d59d01, "schedule_timeout" },
+	{ 0x56f9d0e2, "register_chrdev" },
+	{ 0xffd3c7, "init_waitqueue_head" },
+	{ 0x6989a769, "vsnprintf" },
+	{ 0xbaadbd11, "__wake_up" },
+	{ 0x72270e35, "do_gettimeofday" },
+	{ 0x7c9049bf, "prepare_to_wait" },
+	{ 0xa5c5f2b8, "send_sig_info" },
+	{ 0xc192d491, "unregister_chrdev" },
+	{ 0x5e1389a, "finish_wait" },
+	{ 0x60a4461c, "__up_wakeup" },
+	{ 0x96b27088, "__down_failed" },
+	{ 0xd6c963c, "copy_from_user" },
+};
+
+static const char __module_depends[]
+__attribute_used__
+__attribute__((section(".modinfo"))) =
+"depends=";
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.symvers
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.symvers	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tracedev.symvers	(revision 16)
@@ -0,0 +1,6728 @@
+0xa3bc2e15	kmem_cache_alloc	vmlinux	EXPORT_SYMBOL
+0x87f4ced2	set_anon_super	vmlinux	EXPORT_SYMBOL
+0xe4bcd780	generic_file_splice_write	vmlinux	EXPORT_SYMBOL
+0xfbe7db15	firmware_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x6fb5ab71	mpt_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x88b73627	tipc_get_addr	net/tipc/tipc	EXPORT_SYMBOL
+0x975d814d	ieee80211_set_aid_for_sta	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x0a2487e0	unblock_all_signals	vmlinux	EXPORT_SYMBOL
+0xeef90270	request_firmware	vmlinux	EXPORT_SYMBOL
+0xdd04d58e	i2c_put_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x18269033	_csr1212_destroy_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x53109f2d	rtc_class_open	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x96cd2b04	scsi_sense_key_string	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x95ba261c	snd_cs4231_get_single	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x56230f1e	rtl_ieee80211_wx_get_encode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xb034e76e	rtl_ieee80211_wx_set_encode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x07d50a24	csum_partial	vmlinux	EXPORT_SYMBOL
+0xbac1605b	register_timer_hook	vmlinux	EXPORT_SYMBOL_GPL
+0x835c276d	mod_reg_security	vmlinux	EXPORT_SYMBOL_GPL
+0xac70eba8	hwmon_device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x39919aca	ib_destroy_cm_id	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x362b3357	ib_init_ah_from_path	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0xcf73f281	bttv_i2c_call	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x7e7d6039	cx8802_buf_queue	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x16f27683	tipc_block_bearer	net/tipc/tipc	EXPORT_SYMBOL
+0xc7645a75	kmap_atomic	vmlinux	EXPORT_SYMBOL
+0x2ba288aa	unregister_timer_hook	vmlinux	EXPORT_SYMBOL_GPL
+0x08ce54bb	__generic_unplug_device	vmlinux	EXPORT_SYMBOL
+0x06044e8c	i2o_driver_register	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x3ac62b87	o2hb_setup_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x59ab4080	cap_bset	vmlinux	EXPORT_SYMBOL
+0xebd51c5e	nf_log_register	vmlinux	EXPORT_SYMBOL
+0x67fd030f	avmcard_dma_free	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x6aefdbea	ir_codes_npgtech	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc6c5a7a1	ir_codes_em_terratec	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x00ba9dd1	videobuf_queue_cancel	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xbdd083d1	scsi_execute	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x375492a4	rpciod_up	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x61281dd1	mixer_devs	sound/oss/sound	EXPORT_SYMBOL
+0x24196ba2	init_uts_ns	vmlinux	EXPORT_SYMBOL_GPL
+0x3c942368	profile_event_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xd9091363	acpi_install_notify_handler	vmlinux	EXPORT_SYMBOL
+0x8e7c9e92	device_del	vmlinux	EXPORT_SYMBOL_GPL
+0x5df0c31b	device_add	vmlinux	EXPORT_SYMBOL_GPL
+0x0bce3753	ioread32be	vmlinux	EXPORT_SYMBOL
+0xb3af9ef3	acpi_bus_start	vmlinux	EXPORT_SYMBOL
+0x8315e0ff	sock_no_mmap	vmlinux	EXPORT_SYMBOL
+0xa29b2642	__inet6_hash	vmlinux	EXPORT_SYMBOL
+0xe747dbe4	matroxfb_read_pins	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x969bd264	krb5_decrypt	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xe090ea5e	snd_cs4231_out	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xe8bd2b4d	sound_install_audiodrv	sound/oss/sound	EXPORT_SYMBOL
+0xd872d0b0	synth_name	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x8dfba176	srcu_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0x88640159	_read_unlock_bh	vmlinux	EXPORT_SYMBOL
+0x5f792547	directly_mappable_cdev_bdi	vmlinux	EXPORT_SYMBOL
+0x04314cbd	fb_validate_mode	vmlinux	EXPORT_SYMBOL
+0x208739f6	acpi_load_table	vmlinux	EXPORT_SYMBOL
+0x028e8743	sockfd_lookup	vmlinux	EXPORT_SYMBOL
+0x54e6fcdd	net_enable_timestamp	vmlinux	EXPORT_SYMBOL
+0x50e336f4	tcp_initialize_rcv_mss	vmlinux	EXPORT_SYMBOL
+0x181ae50f	kvm_mmu_free_some_pages	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xaa6e293d	usb_serial_generic_write_bulk_callback	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x7ff10ccf	raw_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x1c806a29	sync_page_range_nolock	vmlinux	EXPORT_SYMBOL
+0x8c189ad5	tpm_gen_interrupt	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x6eb48913	hpsb_iso_stop	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x89087ef5	scsi_get_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd8fa57a6	dlm_unregister_eviction_cb	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x6ea62164	ax25_find_cb	net/ax25/ax25	EXPORT_SYMBOL
+0xb5dea7ef	g_token_size	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x4b0c43d4	tipc_register_media	net/tipc/tipc	EXPORT_SYMBOL
+0xc460b50f	transport_class_register	vmlinux	EXPORT_SYMBOL_GPL
+0x347a20b7	dvb_pll_philips_sd1878_tda8261	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xaa9fa1c9	hostap_handle_sta_tx_exc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x9f156e00	scsi_target_quiesce	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5febf284	unload_mpu401	sound/oss/mpu401	EXPORT_SYMBOL
+0x6e0ad68b	rtl_ieee80211_wx_get_name	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xa3aba07c	rtl_ieee80211_wx_get_rate	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xa60875ff	rtl_ieee80211_wx_set_rate	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xffd5a395	default_wake_function	vmlinux	EXPORT_SYMBOL
+0x2f287f0d	copy_to_user	vmlinux	EXPORT_SYMBOL
+0xc52f5714	fb_videomode_to_var	vmlinux	EXPORT_SYMBOL
+0x7869e4d3	transport_class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x8c0ead8a	hpsb_read	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc8e1c747	dm_put_device	drivers/md/dm-mod	EXPORT_SYMBOL
+0x84fc1a57	dm_get_device	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8bbc75fa	mpt_free_fw_memory	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x8ede855b	iscsi_conn_setup	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xe0d26ca8	snd_emux_terminate_all	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x5e4a6a60	iget_locked	vmlinux	EXPORT_SYMBOL
+0xac231d62	pci_bus_read_config_byte	vmlinux	EXPORT_SYMBOL
+0xabd308fd	agp_free_page_array	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xf10e4ea0	videobuf_dma_init_overlay	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x911666ff	z8530_channel_load	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x5b5cb594	fc_remote_port_add	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x13f54343	enable_timer_nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0x0b353626	iowrite8_rep	vmlinux	EXPORT_SYMBOL
+0xbf1ad8f7	class_interface_register	vmlinux	EXPORT_SYMBOL_GPL
+0x7318d31b	hostap_info_process	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x09e7a395	snd_akm4xxx_init	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0xa9c530b8	unregister_oom_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xce676eb3	class_interface_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xb6cd4666	ir_codes_eztv	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x448696e1	pcmcia_modify_configuration	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x2b076eb9	sas_release_transport	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x775ed6bb	rpc_new_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x46c621d9	snd_ctl_new	sound/core/snd	EXPORT_SYMBOL
+0xc2e587d1	reset_devices	vmlinux	EXPORT_SYMBOL
+0x4d45b561	tty_register_device	vmlinux	EXPORT_SYMBOL
+0xf2e74040	mca_set_adapter_name	vmlinux	EXPORT_SYMBOL
+0xeb31d06d	tcp_v4_md5_lookup	vmlinux	EXPORT_SYMBOL
+0x8077e11e	tpm_write	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xb9e64115	mptscsih_scandv_complete	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xb7bde904	w1_unregister_family	drivers/w1/wire	EXPORT_SYMBOL
+0x586ec66c	nf_conntrack_expect_related	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x77e2ffc7	xdr_decode_word	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2eec63c9	xdr_encode_netobj	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x591c1c00	snd_power_wait	sound/core/snd	EXPORT_SYMBOL
+0x93304684	param_get_string	vmlinux	EXPORT_SYMBOL
+0x8235805b	memmove	vmlinux	EXPORT_SYMBOL
+0x90918dcc	pci_create_bus	vmlinux	EXPORT_SYMBOL_GPL
+0xdbaaab48	cx88_get_stereo	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xf223cf7f	usb_bus_list_lock	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x363ba2b3	ircomm_disconnect_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x8969e1e3	generic_file_direct_write	vmlinux	EXPORT_SYMBOL
+0x656d7fc2	end_page_writeback	vmlinux	EXPORT_SYMBOL
+0x76d3cd60	laptop_mode	vmlinux	EXPORT_SYMBOL
+0x434fe8d8	dquot_alloc_space	vmlinux	EXPORT_SYMBOL
+0xf4f3c5cc	dmam_declare_coherent_memory	vmlinux	EXPORT_SYMBOL
+0xce69667b	ata_check_status	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x9774a0a0	tpm_pm_resume	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x5fbc0138	dibusb_i2c_algo	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x4f75bebb	speakup_dev_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x5d730e7b	raw_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x28553892	generic_file_readonly_mmap	vmlinux	EXPORT_SYMBOL
+0x6bd770f6	skb_recv_datagram	vmlinux	EXPORT_SYMBOL
+0x6933938f	tcf_police	vmlinux	EXPORT_SYMBOL
+0xdcbcbed0	drm_agp_enable	drivers/char/drm/drm	EXPORT_SYMBOL
+0x4d05e2b3	usbnet_cdc_unbind	drivers/usb/net/cdc_ether	EXPORT_SYMBOL_GPL
+0x242852b9	ax25_uid_policy	net/ax25/ax25	EXPORT_SYMBOL
+0x7a3e2b11	snd_gus_dram_read	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x0d47e098	scatterwalk_copychunks	vmlinux	EXPORT_SYMBOL_GPL
+0x3fc7b0d3	pci_map_rom	vmlinux	EXPORT_SYMBOL
+0xe2db3d34	unregister_qdisc	vmlinux	EXPORT_SYMBOL
+0xa14015f1	dma_region_mmap	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9b140fff	cx88_sram_channels	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x0ad69602	hostap_set_multicast_list_queue	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x1d8ca27a	pcmcia_map_mem_page	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xa9dd58a5	pcmcia_get_mem_page	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x0a3d373e	usb_autopm_get_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x0d542439	__ipv6_addr_type	net/ipv6/ipv6	EXPORT_SYMBOL
+0x5f91a8c5	nf_conntrack_expect_chain	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x29a2666c	register_console	vmlinux	EXPORT_SYMBOL
+0x4deb42ae	vm_insert_page	vmlinux	EXPORT_SYMBOL
+0x0076dcf4	ib_rate_to_mult	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x383c07f2	ieee80211_wx_get_encode	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x70457266	ieee80211_wx_set_encode	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x3d441f4e	snd_hda_get_sub_nodes	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x04c5591b	input_ff_event	vmlinux	EXPORT_SYMBOL_GPL
+0xb2640166	sock_no_socketpair	vmlinux	EXPORT_SYMBOL
+0x69967080	ata_pci_default_filter	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x997a400e	b1dma_reset_ctr	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x7b7977ab	free_orinocodev	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0xd4892e90	nf_conntrack_l4proto_tcp4	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe10f1bb0	snd_gf1_write_addr	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x363c388d	highest_possible_processor_id	vmlinux	EXPORT_SYMBOL
+0x2bfeb410	acpi_get_handle	vmlinux	EXPORT_SYMBOL
+0xc0dfc4d2	__ide_dma_timeout	vmlinux	EXPORT_SYMBOL
+0x9f56882b	gnet_stats_start_copy	vmlinux	EXPORT_SYMBOL
+0x2250c66e	mraid_mm_adapter_app_handle	drivers/scsi/megaraid/megaraid_mm	EXPORT_SYMBOL
+0xbd57444b	arpt_do_table	net/ipv4/netfilter/arp_tables	EXPORT_SYMBOL
+0xc43a5527	snd_gf1_atten_table	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x8a9a395a	synth_port_forced	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x272e7488	cond_resched_softirq	vmlinux	EXPORT_SYMBOL
+0x198128ac	task_nice	vmlinux	EXPORT_SYMBOL_GPL
+0x681f81c8	prof_on	vmlinux	EXPORT_SYMBOL_GPL
+0x3417582d	devm_free_irq	vmlinux	EXPORT_SYMBOL
+0x7012a695	platform_device_del	vmlinux	EXPORT_SYMBOL_GPL
+0x2c8dc0be	platform_device_put	vmlinux	EXPORT_SYMBOL_GPL
+0x970ea98e	tcp_tso_segment	vmlinux	EXPORT_SYMBOL
+0xbcde1142	sysctl_ms_jiffies	vmlinux	EXPORT_SYMBOL
+0x01a4aab6	set_irq_chip_data	vmlinux	EXPORT_SYMBOL
+0x04d03329	set_bdi_congested	vmlinux	EXPORT_SYMBOL
+0x6d510480	__percpu_alloc_mask	vmlinux	EXPORT_SYMBOL_GPL
+0xae70bef2	pcim_iounmap	vmlinux	EXPORT_SYMBOL
+0x05aa6f7e	kernel_accept	vmlinux	EXPORT_SYMBOL
+0x71e8d5ba	capilib_data_b3_req	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xda44bf51	hostap_check_sta_fw_version	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x8b7666ac	ccid_register	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xfb593bfb	snd_seq_iwffff_init	sound/core/seq/instr/snd-ainstr-iw	EXPORT_SYMBOL
+0x1d4a9a75	snd_vx_resume	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xe0c784ef	lock_may_read	vmlinux	EXPORT_SYMBOL
+0xf130f815	driver_find	vmlinux	EXPORT_SYMBOL_GPL
+0xc9767070	sata_scr_write_flush	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x44aa2672	xt_proto_fini	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x1e54eb28	synth_remove	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xbd2819f8	load_nls	vmlinux	EXPORT_SYMBOL
+0xb3e86acd	fb_class	vmlinux	EXPORT_SYMBOL
+0x99e0f580	pnp_stop_dev	vmlinux	EXPORT_SYMBOL
+0x824fa796	ide_fix_driveid	vmlinux	EXPORT_SYMBOL
+0xc8cc9128	iw_create_cm_id	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x711ad62e	dm_io_async_vm	drivers/md/dm-mod	EXPORT_SYMBOL
+0x54487e46	cpci_hp_register_controller	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xa0eb30f7	nf_conntrack_expect_alloc	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xde58211c	snd_card_free	sound/core/snd	EXPORT_SYMBOL
+0xad08cfa4	ata_host_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa973b579	rdma_node_get_transport	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x737a70c8	bttv_sub_register	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x4859b8bb	rtc_year_days	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x0c65e73c	scsi_normalize_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x72b243d4	free_dma	vmlinux	EXPORT_SYMBOL
+0x82d23e94	klist_iter_exit	vmlinux	EXPORT_SYMBOL_GPL
+0x6e30ea08	register_pppox_proto	drivers/net/pppox	EXPORT_SYMBOL
+0x9281a8cf	pcmcia_unregister_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x418f5fbe	sound_close_dma	sound/oss/sound	EXPORT_SYMBOL
+0x63d14d2f	eeprom_93cx6_read	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x776a0ab4	device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xde127160	ib_sa_path_rec_get	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0xbb803965	cx24123_attach	drivers/media/dvb/frontends/cx24123	EXPORT_SYMBOL
+0xc60b5e9e	hermes_bap_pwrite	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x173f715c	scsi_is_sas_rphy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xfed11ed1	usb_mon_deregister	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xe525ca6c	o2nm_get_hb_ctl_path	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x887ece23	ieee80211_rx_any	net/ieee80211/ieee80211	EXPORT_SYMBOL_GPL
+0xc7140684	xdr_init_decode	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xcccbb7d3	iw_handler_set_thrspy	vmlinux	EXPORT_SYMBOL
+0x665d31ee	xfrm_state_add	vmlinux	EXPORT_SYMBOL
+0xff5a8cfe	cn_del_callback	drivers/connector/cn	EXPORT_SYMBOL_GPL
+0x15e20449	hpsb_write	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xa065dd33	videobuf_mmap_free	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xb91f537d	mmc_cleanup_queue	drivers/mmc/card/mmc_block	EXPORT_SYMBOL
+0x284bb50a	ezusb_set_reset	drivers/usb/serial/usbserial	EXPORT_SYMBOL
+0x74abdafa	task_handoff_register	vmlinux	EXPORT_SYMBOL_GPL
+0x226020c4	I_BDEV	vmlinux	EXPORT_SYMBOL
+0x718c9729	acpi_find_root_pointer	vmlinux	EXPORT_SYMBOL
+0x59b3af81	ata_port_offline	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa7097f5c	dvb_register_device	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x649ecbb1	scsicam_bios_param	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe9803033	nf_ct_l3proto_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x7c3c563a	nf_ct_l4proto_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x987bcf12	DMAbuf_outputintr	sound/oss/sound	EXPORT_SYMBOL
+0x121d9f8a	ide_undecoded_slave	vmlinux	EXPORT_SYMBOL_GPL
+0xef2a7138	gigaset_getunassignedcs	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x7948c222	budget_debug	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x66a4c4e6	cycx_down	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x7f2f204b	find_or_create_page	vmlinux	EXPORT_SYMBOL
+0xb51bef30	phy_stop_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xeac4d236	invalidate_bdev	vmlinux	EXPORT_SYMBOL
+0xf4216711	kblockd_flush	vmlinux	EXPORT_SYMBOL
+0x3f7891e8	gs_write_room	drivers/char/generic_serial	EXPORT_SYMBOL
+0x00bc6cd9	gigaset_start	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xa172d0a8	usbvideo_register	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xb37c86ec	scsi_reset_provider	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb1882bd8	sas_phy_add	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xd9d2dc19	usb_buffer_unmap_sg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x55ad6251	usb_sg_wait	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x1aecdfa9	usb_sg_init	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x7cfaf018	ieee80211_channel_to_index	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x20b1de49	synth_add	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x4a2e690a	cancel_rearming_delayed_workqueue	vmlinux	EXPORT_SYMBOL
+0x0d3a6420	kobject_uevent	vmlinux	EXPORT_SYMBOL_GPL
+0x6c61ce70	num_registered_fb	vmlinux	EXPORT_SYMBOL
+0x6ff63386	tcp_twsk_unique	vmlinux	EXPORT_SYMBOL_GPL
+0xae4fb61e	mpt_reset_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x11267875	scsi_extd_sense_format	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf4e5e5dd	pci_bus_write_config_dword	vmlinux	EXPORT_SYMBOL
+0x2f8aad93	class_device_initialize	vmlinux	EXPORT_SYMBOL_GPL
+0xc1cd60fa	pccard_get_first_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x63f96173	nf_conntrack_expect_list	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xef589c46	xdr_buf_from_iov	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8b1fa63b	blk_cleanup_queue	vmlinux	EXPORT_SYMBOL
+0xda268faa	acpi_get_child	vmlinux	EXPORT_SYMBOL
+0x426070f8	tty_hung_up_p	vmlinux	EXPORT_SYMBOL
+0xa73e91c5	hpsb_get_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x283e799e	z8530_interrupt	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x8fc7e88d	parport_wait_peripheral	drivers/parport/parport	EXPORT_SYMBOL
+0x3fbb980e	pcim_enable_device	vmlinux	EXPORT_SYMBOL
+0xf3efc501	acpi_walk_resources	vmlinux	EXPORT_SYMBOL
+0x9994c0ca	ps2_is_keyboard_id	vmlinux	EXPORT_SYMBOL
+0x38be48ee	mpt_GetIocState	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xfb698292	usb_ftdi_elan_edset_setup	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xd993a605	ipv6_getsockopt	net/ipv6/ipv6	EXPORT_SYMBOL
+0x31fcee4c	write_one_page	vmlinux	EXPORT_SYMBOL
+0x7e500b97	mpage_writepages	vmlinux	EXPORT_SYMBOL
+0x93955a7a	ide_dma_intr	vmlinux	EXPORT_SYMBOL_GPL
+0xf3d5cc13	ata_timing_merge	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x781b0d50	usb_driver_release_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xeede9ad9	ieee80211softmac_wx_get_genie	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xee57161d	sync_blockdev	vmlinux	EXPORT_SYMBOL
+0xf52a8e38	pnp_find_dev	vmlinux	EXPORT_SYMBOL
+0x85495ba0	inet_add_protocol	vmlinux	EXPORT_SYMBOL
+0xe865d7ae	nlmsvc_ops	fs/lockd/lockd	EXPORT_SYMBOL
+0x1059f308	o2nm_node_get	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xb29a9148	unload_ms_sound	sound/oss/ad1848	EXPORT_SYMBOL
+0x4a57ad64	acpi_processor_ffh_cstate_enter	vmlinux	EXPORT_SYMBOL_GPL
+0x9c11addf	srcu_batches_completed	vmlinux	EXPORT_SYMBOL_GPL
+0x0f19d452	freeze_bdev	vmlinux	EXPORT_SYMBOL
+0x47066d5d	register_security	vmlinux	EXPORT_SYMBOL_GPL
+0x2ff92ca0	find_next_bit	vmlinux	EXPORT_SYMBOL
+0xc82663e0	kernel_recvmsg	vmlinux	EXPORT_SYMBOL
+0x4e6f96c7	sock_rfree	vmlinux	EXPORT_SYMBOL
+0x6e720ff2	rtnl_unlock	vmlinux	EXPORT_SYMBOL
+0xae79b45d	dibusb_rc_query	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x058cf4b7	cx8802_init_common	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x23cea294	atomic_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0x53a21daf	param_get_long	vmlinux	EXPORT_SYMBOL
+0x58eec133	bd_release	vmlinux	EXPORT_SYMBOL
+0xe1be5b09	kfree_skb	vmlinux	EXPORT_SYMBOL
+0x7d9afc12	skb_kill_datagram	vmlinux	EXPORT_SYMBOL
+0x5d8f319e	ip_xfrm_me_harder	vmlinux	EXPORT_SYMBOL
+0x2cc2d52d	vcc_hash	vmlinux	EXPORT_SYMBOL
+0x3c98cea8	p80211netdev_hwremoved	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xa44072fc	posix_acl_alloc	vmlinux	EXPORT_SYMBOL
+0x67e27067	inet_twsk_schedule	vmlinux	EXPORT_SYMBOL_GPL
+0xaa53a9b9	drm_mm_takedown	drivers/char/drm/drm	EXPORT_SYMBOL
+0xaa650212	ib_send_cm_mra	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xc63d3300	dm_create_dirty_log	drivers/md/dm-mirror	EXPORT_SYMBOL
+0x774d68a1	saa7146_wait_for_debi_done	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xf7f58c03	cpia_unregister_camera	drivers/media/video/cpia	EXPORT_SYMBOL
+0x0e15ff31	free_rs	lib/reed_solomon/reed_solomon	EXPORT_SYMBOL_GPL
+0xd481192b	ssb_admatch_size	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xc0512e0f	ssb_admatch_base	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x0933aae1	efi_enabled	vmlinux	EXPORT_SYMBOL
+0x6b8d3017	pci_find_parent_resource	vmlinux	EXPORT_SYMBOL
+0x694d9bbc	__kfree_skb	vmlinux	EXPORT_SYMBOL
+0x5c68e83b	skb_copy_datagram_iovec	vmlinux	EXPORT_SYMBOL
+0x98c6fb9c	xfrm_replay_notify	vmlinux	EXPORT_SYMBOL
+0x1e51cc03	get_mtd_device_nm	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x761a5c32	dccp_tx_hist_purge	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x18fad3b5	svc_set_num_threads	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3a57f235	snd_seq_autoload_unlock	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0xa6793efd	rt2x00lib_tx	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xd7e2f796	mptscsih_proc_info	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x0e18ae1a	_spin_lock_bh	vmlinux	EXPORT_SYMBOL
+0x6474aa2a	generic_file_aio_read	vmlinux	EXPORT_SYMBOL
+0xdef5c4a5	idr_destroy	vmlinux	EXPORT_SYMBOL
+0x5331e1b5	acpi_get_firmware_table	vmlinux	EXPORT_SYMBOL
+0x818c07ad	register_qdisc	vmlinux	EXPORT_SYMBOL
+0x9f591149	ip_defrag	vmlinux	EXPORT_SYMBOL
+0x62ad2a45	saa7134_pgtable_build	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x8ed9912d	scsi_flush_work	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x4381d12a	snd_i2c_device_free	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0xb994c584	per_cpu__irq_stat	vmlinux	EXPORT_SYMBOL
+0xb60b2999	register_binfmt	vmlinux	EXPORT_SYMBOL
+0x170c25ee	acpi_get_next_object	vmlinux	EXPORT_SYMBOL
+0x81c993b7	free_netdev	vmlinux	EXPORT_SYMBOL
+0x441ee5ff	onenand_scan_bbt	drivers/mtd/onenand/onenand	EXPORT_SYMBOL
+0x4d3c153f	sigprocmask	vmlinux	EXPORT_SYMBOL
+0xbca09dc7	idr_pre_get	vmlinux	EXPORT_SYMBOL
+0x6d9e4435	zlib_inflateIncomp	vmlinux	EXPORT_SYMBOL
+0x7277973d	ir_codes_pctv_sedna	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x81ffcefb	dvb_pll_env57h1xd5	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x2e37c5b6	scsi_host_get	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa3c06d23	gss_mech_get_by_pseudoflavor	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xe3cbe20e	do_mmap_pgoff	vmlinux	EXPORT_SYMBOL
+0x57cb718a	sk_stream_wait_connect	vmlinux	EXPORT_SYMBOL
+0xc691e027	gf128mul_lle	crypto/gf128mul	EXPORT_SYMBOL
+0xbdf97a04	mtd_concat_destroy	drivers/mtd/mtdconcat	EXPORT_SYMBOL
+0x9f740a61	parport_ieee1284_epp_write_addr	drivers/parport/parport	EXPORT_SYMBOL
+0x38787cb9	parport_ieee1284_ecp_write_addr	drivers/parport/parport	EXPORT_SYMBOL
+0xc9fbcb42	ax25_listen_register	net/ax25/ax25	EXPORT_SYMBOL
+0xed16bb7e	tipc_send_buf	net/tipc/tipc	EXPORT_SYMBOL
+0x00ffd3c7	init_waitqueue_head	vmlinux	EXPORT_SYMBOL
+0xc82a4495	vfs_unlink	vmlinux	EXPORT_SYMBOL
+0xe9852ea5	sock_no_sendmsg	vmlinux	EXPORT_SYMBOL
+0x8d551bef	sysctl_tcp_rmem	vmlinux	EXPORT_SYMBOL
+0xd92b2940	i2c_master_recv	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xd51d889f	flexcop_pass_dmx_packets	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x836bdb72	nand_flash_ids	drivers/mtd/nand/nand_ids	EXPORT_SYMBOL
+0x86668553	pcmcia_replace_cis	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x309939cf	key_revoke	vmlinux	EXPORT_SYMBOL
+0xed9003ef	pci_osc_support_set	vmlinux	EXPORT_SYMBOL
+0xaeff3d87	ata_acpi_stm	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf78486d7	ata_acpi_gtm	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd5168829	hermes_allocate	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xc622fb29	snd_seq_device_unregister_driver	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0xb407b205	ioport_resource	vmlinux	EXPORT_SYMBOL
+0xb91843cf	put_tty_driver	vmlinux	EXPORT_SYMBOL
+0xafab767f	bus_rescan_devices	vmlinux	EXPORT_SYMBOL_GPL
+0x0e3220ca	ioc4_register_submodule	drivers/misc/ioc4	EXPORT_SYMBOL
+0x2288378f	system_state	vmlinux	EXPORT_SYMBOL
+0x897473df	mktime	vmlinux	EXPORT_SYMBOL
+0x4c9181fc	generic_file_splice_read	vmlinux	EXPORT_SYMBOL
+0x2f0a99ec	debugfs_create_bool	vmlinux	EXPORT_SYMBOL_GPL
+0xc7a4fbed	rtnl_lock	vmlinux	EXPORT_SYMBOL
+0x94a68723	ata_scsi_slave_destroy	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc911084b	p54_free_common	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0xd7ea771e	del_timer_sync	vmlinux	EXPORT_SYMBOL
+0x1f061267	acpi_fadt	vmlinux	EXPORT_SYMBOL
+0xc8961c09	llc_add_pack	vmlinux	EXPORT_SYMBOL
+0x98dfd6de	hidinput_connect	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x9cd013f2	xfrm6_tunnel_alloc_spi	net/ipv6/xfrm6_tunnel	EXPORT_SYMBOL
+0x925b0454	con_set_default_unimap	vmlinux	EXPORT_SYMBOL
+0x63dfe1b4	hpet_unregister	vmlinux	EXPORT_SYMBOL
+0x00e8097b	csum_partial_copy_fromiovecend	vmlinux	EXPORT_SYMBOL
+0x7889b127	hpsb_update_config_rom_image	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x31a23ce4	dccp_setsockopt	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xbabf0f35	rpciod_down	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbae4da72	ac97_read_proc	sound/oss/ac97_codec	EXPORT_SYMBOL
+0xbe6129a6	ioctl_by_bdev	vmlinux	EXPORT_SYMBOL
+0x174bb59d	dev_get_by_index	vmlinux	EXPORT_SYMBOL
+0x74ae5085	drm_core_get_reg_ofs	drivers/char/drm/drm	EXPORT_SYMBOL
+0xc368f8e6	btcx_align	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x02d89e98	mtd_do_chip_probe	drivers/mtd/chips/gen_probe	EXPORT_SYMBOL
+0x67900d2e	generic_delete_inode	vmlinux	EXPORT_SYMBOL
+0xd3aa23c2	key_unlink	vmlinux	EXPORT_SYMBOL
+0x7816e0f3	keyring_search	vmlinux	EXPORT_SYMBOL
+0x3504d51e	__crypto_alloc_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0xd18c83c6	__next_cpu	vmlinux	EXPORT_SYMBOL
+0xd99c569e	textsearch_find_continuous	vmlinux	EXPORT_SYMBOL
+0x85c2b251	class_device_add	vmlinux	EXPORT_SYMBOL_GPL
+0x3b4de6b1	configfs_unregister_subsystem	fs/configfs/configfs	EXPORT_SYMBOL
+0x47b450cc	snd_gf1_translate_freq	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x38ea236c	sk_stream_rfree	vmlinux	EXPORT_SYMBOL
+0x3f206041	ata_sg_init_one	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x13c2ce50	i2c_pca_add_bus	drivers/i2c/algos/i2c-algo-pca	EXPORT_SYMBOL
+0x06339815	sound_unload_synthdev	sound/oss/sound	EXPORT_SYMBOL
+0x10c60a35	blk_run_queue	vmlinux	EXPORT_SYMBOL
+0xd5b037e1	kref_put	vmlinux	EXPORT_SYMBOL
+0xdc7bd29f	mmc_wait_for_req	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x8cf61660	w1_add_master_device	drivers/w1/wire	EXPORT_SYMBOL
+0xf911c430	nf_nat_pptp_hook_expectfn	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x24fdac79	wake_bit_function	vmlinux	EXPORT_SYMBOL
+0xb694c524	suid_dumpable	vmlinux	EXPORT_SYMBOL
+0xcd40df56	ide_set_xfer_rate	vmlinux	EXPORT_SYMBOL_GPL
+0x9414647a	tcp_unhash	vmlinux	EXPORT_SYMBOL
+0x5d3466dd	__secpath_destroy	vmlinux	EXPORT_SYMBOL
+0x581509e4	deregister_atm_ioctl	vmlinux	EXPORT_SYMBOL
+0xb5fe4a52	gs_flush_buffer	drivers/char/generic_serial	EXPORT_SYMBOL
+0x5e448aae	i2c_smbus_write_i2c_block_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x42c8e001	v4l2_ctrl_next	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x46bc0adc	zlib_deflate	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0xc52e9c77	hci_register_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x59dbbc17	dccp_li_hist_purge	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x91815586	irda_param_pack	net/irda/irda	EXPORT_SYMBOL
+0xb39026e4	mempool_resize	vmlinux	EXPORT_SYMBOL
+0x632fbeb4	bus_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x0ccd3fb2	cfg80211_ioctl_ops	vmlinux	EXPORT_SYMBOL_GPL
+0x3adce61c	qdisc_get_rtab	vmlinux	EXPORT_SYMBOL
+0x78a6d03c	inet_csk_route_req	vmlinux	EXPORT_SYMBOL_GPL
+0x3b8ffaac	hid_set_field	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x76786327	i2o_parm_issue	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xa6afd288	init_airo_card	drivers/net/wireless/airo	EXPORT_SYMBOL
+0xdc591cc8	snd_rawmidi_drain_output	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x35286258	bio_map_user	vmlinux	EXPORT_SYMBOL
+0x9ec14312	secure_tcp_sequence_number	vmlinux	EXPORT_SYMBOL
+0xea6c308c	in_dev_finish_destroy	vmlinux	EXPORT_SYMBOL
+0xdea1fe89	xfrm_unregister_km	vmlinux	EXPORT_SYMBOL
+0x7bee3e35	drm_agp_unbind	drivers/char/drm/drm	EXPORT_SYMBOL
+0x0d118e5f	snd_ac97_pcm_open	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xfb97162c	__brelse	vmlinux	EXPORT_SYMBOL
+0x98babb34	dmam_alloc_coherent	vmlinux	EXPORT_SYMBOL
+0xc0cfc5b9	videocodec_detach	drivers/media/video/videocodec	EXPORT_SYMBOL
+0xdec76f5c	usbnet_suspend	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xc8fa9795	__nf_conntrack_confirm	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x4a9b8e84	wait_for_completion_interruptible_timeout	vmlinux	EXPORT_SYMBOL
+0x3e401ca7	reset_files_struct	vmlinux	EXPORT_SYMBOL
+0x0b245dda	mark_buffer_async_write	vmlinux	EXPORT_SYMBOL
+0xe5340509	wext_standard_ioctl_num	vmlinux	EXPORT_SYMBOL_GPL
+0xe4098bb9	ib_register_mad_agent	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x47d80441	scsi_device_set_state	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6b99b909	scsi_host_get_command	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0xd2d8569b	unregister_nls	vmlinux	EXPORT_SYMBOL
+0x3a9b6fb9	blk_unregister_region	vmlinux	EXPORT_SYMBOL
+0x3cd8581e	nf_reinject	vmlinux	EXPORT_SYMBOL
+0x1593fb83	inet_sock_destruct	vmlinux	EXPORT_SYMBOL
+0x41e710a6	ip_route_me_harder	vmlinux	EXPORT_SYMBOL
+0x28e23139	xfrm_probe_algs	vmlinux	EXPORT_SYMBOL_GPL
+0x56e26d86	mmc_add_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xaffe249a	pci_hp_register	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xadd203d0	tipc_connect2port	net/tipc/tipc	EXPORT_SYMBOL
+0xe7704aeb	__serio_register_port	vmlinux	EXPORT_SYMBOL
+0x8d469a5b	tipc_send_buf2name	net/tipc/tipc	EXPORT_SYMBOL
+0xc7552a84	malloc_sizes	vmlinux	EXPORT_SYMBOL
+0xadcf1420	skb_pull_rcsum	vmlinux	EXPORT_SYMBOL_GPL
+0x6e45dc41	parport_claim	drivers/parport/parport	EXPORT_SYMBOL
+0x3525fa62	__scsi_device_lookup_by_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe75aabfc	snd_ctl_unregister_ioctl	sound/core/snd	EXPORT_SYMBOL
+0x31e97060	rtl_ieee80211_register_crypto_ops	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xb121390a	probe_irq_on	vmlinux	EXPORT_SYMBOL
+0x0773c35a	register_nls	vmlinux	EXPORT_SYMBOL
+0x8063f83d	radix_tree_gang_lookup	vmlinux	EXPORT_SYMBOL
+0x01902adf	netpoll_trap	vmlinux	EXPORT_SYMBOL
+0xb948c93c	agp_remove_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x8048cf03	ib_dealloc_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x9edece74	saa7146_vmalloc_build_pgtable	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x4973f032	usbnet_set_msglevel	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x47b2117e	usbnet_get_msglevel	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xb504269f	dccp_insert_option_elapsed_time	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x1a59f532	nl80211msg_new	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL_GPL
+0x7413793a	EISA_bus	vmlinux	EXPORT_SYMBOL
+0x0046ba8f	tcp_parse_options	vmlinux	EXPORT_SYMBOL
+0xebc53d64	xfrm_state_lookup	vmlinux	EXPORT_SYMBOL
+0xf954272b	i2c_smbus_write_block_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x94751b6c	btcx_riscmem_free	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x1d747ce3	o2hb_check_node_heartbeating	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xb8126ebc	nf_ct_unlink_expect	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbb2b2504	tipc_send	net/tipc/tipc	EXPORT_SYMBOL
+0xc96a06f9	module_refcount	vmlinux	EXPORT_SYMBOL
+0x7ae85ba9	inotify_inode_is_dead	vmlinux	EXPORT_SYMBOL_GPL
+0x9d33ef5e	acpi_enable	vmlinux	EXPORT_SYMBOL
+0x09298869	edac_mc_find_csrow_by_page	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xa0e59b4b	edac_mc_scrub_block	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xbe40ace9	irlmp_discovery_request	net/irda/irda	EXPORT_SYMBOL
+0x695143c9	rpc_unlink	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc4ccacce	ssb_device_is_enabled	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x058e4c95	SELECT_DRIVE	vmlinux	EXPORT_SYMBOL
+0x37d6f034	pccard_read_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x8cf91e4a	dlm_register_domain	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x2ae7d901	dlm_unregister_domain	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xdf43fad0	pci_enable_device_bars	vmlinux	EXPORT_SYMBOL
+0x2b5d6f73	acpi_get_register	vmlinux	EXPORT_SYMBOL
+0xee57295b	__netif_rx_schedule	vmlinux	EXPORT_SYMBOL
+0x8c69bb84	ttusbdecfe_dvbs_attach	drivers/media/dvb/ttusb-dec/ttusbdecfe	EXPORT_SYMBOL
+0xa7aeba4e	ttusbdecfe_dvbt_attach	drivers/media/dvb/ttusb-dec/ttusbdecfe	EXPORT_SYMBOL
+0xacd3bf1d	usb_lock_device_for_reset	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x8ff042ac	ip_vs_conn_in_get	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xb2fd5ceb	__put_user_4	vmlinux	EXPORT_SYMBOL
+0xa03d6a57	__get_user_4	vmlinux	EXPORT_SYMBOL
+0x1f9cfe83	iomem_resource	vmlinux	EXPORT_SYMBOL
+0x85df9b6c	strsep	vmlinux	EXPORT_SYMBOL
+0x1606ed83	pci_setup_cardbus	vmlinux	EXPORT_SYMBOL
+0x4108e69a	fb_match_mode	vmlinux	EXPORT_SYMBOL
+0x200532b0	___pskb_trim	vmlinux	EXPORT_SYMBOL
+0x54564a87	ata_std_prereset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x3bb2a33c	usb_ftdi_elan_edset_empty	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x3f3ca12d	snd_timer_global_new	sound/core/snd-timer	EXPORT_SYMBOL
+0x39c6507f	vfs_create	vmlinux	EXPORT_SYMBOL
+0x9623668a	mnt_unpin	vmlinux	EXPORT_SYMBOL
+0x1ac6d8be	devm_kfree	vmlinux	EXPORT_SYMBOL_GPL
+0xdd471721	sata_scr_read	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2f47d8c7	cpufreq_frequency_get_table	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x86413d5c	hpsb_remove_host	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xe19c0a98	dvb_ca_en50221_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xad2b0e62	usb_serial_register	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x4ee7e490	snd_ctl_add	sound/core/snd	EXPORT_SYMBOL
+0xe056b71c	DMAbuf_start_dma	sound/oss/sound	EXPORT_SYMBOL
+0x853e2dfc	sb_min_blocksize	vmlinux	EXPORT_SYMBOL
+0xce8abc3a	dvb_pll_tded4	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x90e7cff3	RingQueue_Dequeue	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xfbbf7b45	mtd_erase_callback	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0x4ab5bc58	dccp_done	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x59d696b6	register_module_notifier	vmlinux	EXPORT_SYMBOL
+0xb4b534c9	z8530_sync_txdma_close	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xf104eb44	sas_phy_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xc7208c3a	serial8250_resume_port	vmlinux	EXPORT_SYMBOL
+0xe056fcbd	pi_schedule_claimed	drivers/block/paride/paride	EXPORT_SYMBOL
+0xde3b516c	bitmap_start_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0x77c8b001	irda_unregister_dongle	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x694aa3d6	snd_cs8427_reg_write	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x4d7b9ff9	snd_emu8000_load_chorus_fx	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x12075fb1	unregister_sysctl_table	vmlinux	EXPORT_SYMBOL
+0x396e5372	hid_input_report	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0xb659acef	i2c_control	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x87ea509a	pcmcia_request_irq	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x69b4ab75	machine_id	vmlinux	EXPORT_SYMBOL
+0x0f5a92de	dcache_lock	vmlinux	EXPORT_SYMBOL
+0x7d090d33	block_write_full_page	vmlinux	EXPORT_SYMBOL
+0xe3534054	del_gendisk	vmlinux	EXPORT_SYMBOL
+0x8bb4e661	pci_find_aer_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x61e908ef	paride_register	drivers/block/paride/paride	EXPORT_SYMBOL
+0xce118b9f	ieee80211softmac_highest_supported_rate	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x8446a7af	rxrpc_call_write_data	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x43b40de7	kunmap_atomic	vmlinux	EXPORT_SYMBOL
+0x37d4196b	clear_bdi_congested	vmlinux	EXPORT_SYMBOL
+0x27fd8a0b	ide_add_setting	vmlinux	EXPORT_SYMBOL
+0x9305f8e6	cpufreq_get	vmlinux	EXPORT_SYMBOL
+0xc5e2cfc6	xfrm_register_type	vmlinux	EXPORT_SYMBOL
+0xcbf18807	fat_sync_inode	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x976e539e	lockd_up	fs/lockd/lockd	EXPORT_SYMBOL
+0x37661726	nf_ct_invert_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xa61aa028	snd_pcm_format_unsigned	sound/core/snd-pcm	EXPORT_SYMBOL
+0x272a2b91	__blockdev_direct_IO	vmlinux	EXPORT_SYMBOL
+0x3e5e135f	sock_no_setsockopt	vmlinux	EXPORT_SYMBOL
+0xc967453d	sock_no_getsockopt	vmlinux	EXPORT_SYMBOL
+0x4d18be19	sas_rphy_delete	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xb88c6261	usb_ftdi_elan_write_pcimem	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x9329fe98	ip6_route_me_harder	net/ipv6/ipv6	EXPORT_SYMBOL
+0xa94b8fcd	_write_trylock	vmlinux	EXPORT_SYMBOL
+0x868784cb	__symbol_get	vmlinux	EXPORT_SYMBOL_GPL
+0x2a4a449d	generic_block_bmap	vmlinux	EXPORT_SYMBOL
+0xc11ed2f2	km_new_mapping	vmlinux	EXPORT_SYMBOL
+0x7954b1ea	fc_get_event_number	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xb4b30422	snd_device_new	sound/core/snd	EXPORT_SYMBOL
+0xe980e5f7	kmem_cache_name	vmlinux	EXPORT_SYMBOL_GPL
+0xc2109aad	kmem_cache_free	vmlinux	EXPORT_SYMBOL
+0x39f5c893	d_materialise_unique	vmlinux	EXPORT_SYMBOL_GPL
+0xc9fd878f	acpi_ut_exception	vmlinux	EXPORT_SYMBOL
+0xbe0e5118	nla_memcmp	vmlinux	EXPORT_SYMBOL
+0xb60e34a8	nla_memcpy	vmlinux	EXPORT_SYMBOL
+0x1ec2e70d	matrox_mystique	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0x5c0d4b5c	tipc_ref_valid	net/tipc/tipc	EXPORT_SYMBOL
+0x4f42c597	snd_pcm_hw_constraint_list	sound/core/snd-pcm	EXPORT_SYMBOL
+0x852abecf	__request_region	vmlinux	EXPORT_SYMBOL
+0x7c9049bf	prepare_to_wait	vmlinux	EXPORT_SYMBOL
+0x955e9970	ipmi_request_supply_msgs	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x0a880980	DoCMil_init	drivers/mtd/devices/doc2001	EXPORT_SYMBOL_GPL
+0xf0009fee	put_pages_list	vmlinux	EXPORT_SYMBOL
+0x48f3b5ba	bdev_read_only	vmlinux	EXPORT_SYMBOL
+0x5c0f3c34	ata_host_detach	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe089cfcc	agp_memory_reserved	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x9e8ad082	save_msrs	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x22cb3a0d	dvb_frontend_reinitialise	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x72adeb24	pcmcia_find_mem_region	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x456a9662	snd_cs8427_create	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x091eb9b4	round_jiffies	vmlinux	EXPORT_SYMBOL_GPL
+0xa93c93ab	test_set_page_writeback	vmlinux	EXPORT_SYMBOL
+0xc54da62d	eisa_driver_unregister	vmlinux	EXPORT_SYMBOL
+0x501effa9	sock_wfree	vmlinux	EXPORT_SYMBOL
+0xe250cc8a	dvb_ringbuffer_pkt_next	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x08b18831	fat_date_unix2dos	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x993ad14b	irda_param_extract_all	net/irda/irda	EXPORT_SYMBOL
+0x6f878a7b	truncate_inode_pages	vmlinux	EXPORT_SYMBOL
+0x6ad2c761	dquot_commit	vmlinux	EXPORT_SYMBOL
+0x5594be03	bitmap_remap	vmlinux	EXPORT_SYMBOL
+0xace2b685	ps2_schedule_command	vmlinux	EXPORT_SYMBOL
+0xb4b8c0b1	qdisc_destroy	vmlinux	EXPORT_SYMBOL
+0x1c745171	dm_destroy_dirty_log	drivers/md/dm-mirror	EXPORT_SYMBOL
+0xac4e53b9	cx88_user_ctrls	drivers/media/video/cx88/cx8800	EXPORT_SYMBOL
+0xab6700a8	snd_ac97_pcm_assign	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x0948cde9	num_physpages	vmlinux	EXPORT_SYMBOL
+0xfb96db72	sysfs_notify	vmlinux	EXPORT_SYMBOL_GPL
+0xde7c9e59	input_flush_device	vmlinux	EXPORT_SYMBOL
+0x0422fe4a	inet_csk_timer_bug_msg	vmlinux	EXPORT_SYMBOL
+0xead76579	ata_bmdma_thaw	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0bbd5b42	dvb_frontend_detach	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x4ff75f8a	snd_util_mem_alloc	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x1ea57e15	seq_lseek	vmlinux	EXPORT_SYMBOL
+0xc1ae733f	sysfs_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x9a1dfd65	strpbrk	vmlinux	EXPORT_SYMBOL
+0xcd46251e	class_device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x61e1a72d	cdebbuf_alloc	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x793f4ee4	matroxfb_g450_connect	drivers/video/matrox/matroxfb_g450	EXPORT_SYMBOL
+0x1551dc51	bitmap_find_free_region	vmlinux	EXPORT_SYMBOL
+0xdd5a8ccb	cdrom_get_last_written	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xcd1bff38	phy_enable_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xb213fe8b	snd_info_get_str	sound/core/snd	EXPORT_SYMBOL
+0xd85be938	midi_synth_set_instr	sound/oss/sound	EXPORT_SYMBOL
+0xf0a529b7	do_softirq	vmlinux	EXPORT_SYMBOL
+0x003160a1	set_disk_ro	vmlinux	EXPORT_SYMBOL
+0xc007a6af	leds_list_lock	vmlinux	EXPORT_SYMBOL_GPL
+0x63af3cf6	xfrm_parse_spi	vmlinux	EXPORT_SYMBOL
+0xd0bc06ce	capifs_new_ncci	drivers/isdn/capi/capifs	EXPORT_SYMBOL
+0x95aed401	isdnhdlc_decode	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0x91fea8f3	pcmcia_request_configuration	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x6caf8c0e	journal_invalidatepage	fs/jbd/jbd	EXPORT_SYMBOL
+0x71fa908a	cache_flush	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8f5bebce	relay_switch_subbuf	vmlinux	EXPORT_SYMBOL_GPL
+0x4221c797	bus_find_device	vmlinux	EXPORT_SYMBOL_GPL
+0xb60e5e5f	capi_cmsg_header	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xac1c698a	dib3000mc_pid_parse	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xa8f55626	pcmcia_request_window	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x3f686c9e	devm_request_irq	vmlinux	EXPORT_SYMBOL
+0xe3bcd72f	sk_common_release	vmlinux	EXPORT_SYMBOL
+0xa2530696	tcp_create_openreq_child	vmlinux	EXPORT_SYMBOL
+0x334ef9fb	xfrm_aalg_get_byid	vmlinux	EXPORT_SYMBOL_GPL
+0x532e66e7	dst_pio_enable	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xc3cd68ab	video_device_release	drivers/media/video/videodev	EXPORT_SYMBOL
+0x43adde09	register_ip_vs_app_inc	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x5834d502	rpc_create	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x80ca2713	_read_lock_irqsave	vmlinux	EXPORT_SYMBOL
+0xde37072e	sk_reset_timer	vmlinux	EXPORT_SYMBOL
+0xddc89718	skb_prepare_seq_read	vmlinux	EXPORT_SYMBOL
+0x7ee76fff	skb_queue_head	vmlinux	EXPORT_SYMBOL
+0x5fccf0f5	capi_ctr_resume_output	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x7037d1c7	scsi_io_completion	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x675aad50	tipc_createport	net/tipc/tipc	EXPORT_SYMBOL
+0x27dbb943	bio_alloc_bioset	vmlinux	EXPORT_SYMBOL
+0xdbd343f7	drm_pci_free	drivers/char/drm/drm	EXPORT_SYMBOL
+0xf5b4a948	crc_itu_t	ubuntu/misc/crc-itu-t	EXPORT_SYMBOL
+0xfdce9842	acpi_processor_power_init_bm_check	vmlinux	EXPORT_SYMBOL
+0xb5045e20	videobuf_querybuf	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xc652aa1d	mii_ethtool_sset	drivers/net/mii	EXPORT_SYMBOL
+0x5e56365d	mii_ethtool_gset	drivers/net/mii	EXPORT_SYMBOL
+0xcf8732e7	atmel_open	drivers/net/wireless/atmel	EXPORT_SYMBOL
+0xc25624ca	usb_driver_set_configuration	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x559c5315	ieee80211_get_hdrlen_from_skb	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x5aaa7cd3	drive_info	vmlinux	EXPORT_SYMBOL
+0xd696115d	textsearch_destroy	vmlinux	EXPORT_SYMBOL
+0xd0de299d	class_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x4acec6eb	release_sock	vmlinux	EXPORT_SYMBOL
+0x50c75999	agp_backend_acquire	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xb579b201	ib_get_cached_lmc	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbb415593	gameport_stop_polling	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xb602c57e	nf_ct_l3proto_module_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x8f6b7950	set_irq_data	vmlinux	EXPORT_SYMBOL
+0x30829b67	sync_inode	vmlinux	EXPORT_SYMBOL
+0x4a195d00	unmap_underlying_metadata	vmlinux	EXPORT_SYMBOL
+0x08225101	cx8802_unregister_driver	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xc098eb24	snd_pcm_hw_constraint_msbits	sound/core/snd-pcm	EXPORT_SYMBOL
+0xecffb6f6	__invalidate_device	vmlinux	EXPORT_SYMBOL
+0x092cb00c	input_register_device	vmlinux	EXPORT_SYMBOL
+0x35e33c1e	nfs4_acl_write_who	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x0838dae5	ieee80211softmac_wx_set_mlme	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x6a27bfce	csum_partial_copy_generic	vmlinux	EXPORT_SYMBOL
+0x323bda12	register_sysctl_table	vmlinux	EXPORT_SYMBOL
+0x2cf190e3	request_irq	vmlinux	EXPORT_SYMBOL
+0xda40d31e	simple_sync_file	vmlinux	EXPORT_SYMBOL
+0x12d5b9b0	blk_queue_free_tags	vmlinux	EXPORT_SYMBOL
+0x1163f0a7	blk_max_low_pfn	vmlinux	EXPORT_SYMBOL
+0x2ba707a8	sysctl_tcp_low_latency	vmlinux	EXPORT_SYMBOL
+0x73ac3805	gigaset_stop	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xb64c3716	led_classdev_unregister	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0xda509db0	snd_midi_event_reset_encode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x44bd6e72	tty_flip_buffer_push	vmlinux	EXPORT_SYMBOL
+0x5be89352	ohci1394_unregister_iso_tasklet	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0x951776d3	kvm_hypercall	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x7ad45e7e	cx88_ioctl_translator	drivers/media/video/cx88/cx88-blackbird	EXPORT_SYMBOL
+0x279e265f	ieee80211_crypt_deinit_handler	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xdbd5da79	irias_add_string_attrib	net/irda/irda	EXPORT_SYMBOL
+0x2c7d6c5c	cap_task_reparent_to_init	security/commoncap	EXPORT_SYMBOL
+0xf9a482f9	msleep	vmlinux	EXPORT_SYMBOL
+0x89ffd5c2	inotify_init_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x232d9dbd	uart_get_divisor	vmlinux	EXPORT_SYMBOL
+0x4948a9b9	atm_dev_register	vmlinux	EXPORT_SYMBOL
+0x25cf8049	matroxfb_PLL_calcclock	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x608063cb	ieee80211softmac_wx_set_genie	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xad45df73	midi_synth_close	sound/oss/sound	EXPORT_SYMBOL
+0x31b4d9bd	__bforget	vmlinux	EXPORT_SYMBOL
+0x7dc39788	unregister_netdev	vmlinux	EXPORT_SYMBOL
+0xfa72d781	snd_opl4_read	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0xbda7965f	register_wlandev	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xab600421	probe_irq_off	vmlinux	EXPORT_SYMBOL
+0x79aa04a2	get_random_bytes	vmlinux	EXPORT_SYMBOL
+0x97fede52	sock_no_listen	vmlinux	EXPORT_SYMBOL
+0xbca0f20f	md_unregister_thread	drivers/md/md-mod	EXPORT_SYMBOL
+0xe0ff7a18	unregister_pppox_proto	drivers/net/pppox	EXPORT_SYMBOL
+0xc0ac924b	scsi_device_lookup_by_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xac9617ae	inet6_add_protocol	net/ipv6/ipv6	EXPORT_SYMBOL
+0xb015522b	lapb_disconnect_request	net/lapb/lapb	EXPORT_SYMBOL
+0xa743975a	set_h225_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x4039bb51	xt_register_table	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xd0b33346	xdr_reserve_space	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x64d59fa4	tcf_exts_destroy	vmlinux	EXPORT_SYMBOL
+0xe4e02658	ipmi_smi_add_proc_entry	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x5774e243	rpcauth_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x1d435266	sock_no_poll	vmlinux	EXPORT_SYMBOL
+0x0b5d232a	ata_dev_try_classify	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6a037cf1	mempool_kfree	vmlinux	EXPORT_SYMBOL
+0x3797e731	vlan_ioctl_set	vmlinux	EXPORT_SYMBOL
+0x3ec58a1f	ib_alloc_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x0477afc3	unregister_ip_vs_scheduler	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x4d9b6d35	snd_pcm_format_size	sound/core/snd-pcm	EXPORT_SYMBOL
+0xa7c35c6b	getnstimeofday	vmlinux	EXPORT_SYMBOL
+0xf2ed2f6b	remap_pfn_range	vmlinux	EXPORT_SYMBOL
+0x4fffae55	remove_arg_zero	vmlinux	EXPORT_SYMBOL
+0xf22eba1b	register_quota_format	vmlinux	EXPORT_SYMBOL
+0x023019fa	scsi_scan_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x343c88ad	irlmp_data_request	net/irda/irda	EXPORT_SYMBOL
+0x12f7ec78	irttp_data_request	net/irda/irda	EXPORT_SYMBOL
+0xfe623ec0	irda_device_register_dongle	net/irda/irda	EXPORT_SYMBOL
+0x6619df67	cap_inode_setxattr	security/commoncap	EXPORT_SYMBOL
+0x9bf0a38e	file_update_time	vmlinux	EXPORT_SYMBOL
+0xaa9738d3	device_bind_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x7da28f12	nvram_check_checksum	drivers/char/nvram	EXPORT_SYMBOL
+0x8387d1d0	i2c_attach_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x1aea7d44	write_dst	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xc5cbfadb	dccp_v4_conn_request	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0x7cfe148a	snd_opl3_create	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x2b11bdcd	snd_opl4_create	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x50f9ce02	relay_file_operations	vmlinux	EXPORT_SYMBOL_GPL
+0x717bb0f7	kobject_uevent_env	vmlinux	EXPORT_SYMBOL_GPL
+0xf49bc67a	atm_pcr_goal	vmlinux	EXPORT_SYMBOL
+0x6b87c69d	ir_codes_iodata_bctv7e	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x87406d9d	nand_correct_data	drivers/mtd/nand/nand_ecc	EXPORT_SYMBOL
+0x44c4ef6d	mb_cache_entry_alloc	fs/mbcache	EXPORT_SYMBOL
+0x4e0805e8	inet6_csk_search_req	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x2e85e391	wait_for_completion_interruptible	vmlinux	EXPORT_SYMBOL
+0xb5b8f16f	filp_close	vmlinux	EXPORT_SYMBOL
+0xb62ca3bf	skb_free_datagram	vmlinux	EXPORT_SYMBOL
+0xf39bf4d9	put_cmsg	vmlinux	EXPORT_SYMBOL
+0xdf697582	pi_read_regr	drivers/block/paride/paride	EXPORT_SYMBOL
+0x75e89cc3	ir_codes_flydvb	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x085466c6	rpc_wake_up_status	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x296b99f2	snd_seq_kernel_client_dispatch	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0xfd486b47	snd_emu10k1_voice_alloc	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0xa69c2c09	sound_class	sound/soundcore	EXPORT_SYMBOL
+0x1c2b6a0f	generic_readlink	vmlinux	EXPORT_SYMBOL
+0x67b27ec1	tty_std_termios	vmlinux	EXPORT_SYMBOL
+0x8d1a827e	svcauth_gss_register_pseudoflavor	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x0e358346	__capable	vmlinux	EXPORT_SYMBOL
+0xdc76cbcb	param_set_bool	vmlinux	EXPORT_SYMBOL
+0x9c18ef4d	__break_lease	vmlinux	EXPORT_SYMBOL
+0xec31509e	elv_dequeue_request	vmlinux	EXPORT_SYMBOL
+0x17b70d45	device_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x2b88187d	ether_setup	vmlinux	EXPORT_SYMBOL
+0x7e6f1307	capi20_get_manufacturer	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x607e1920	saa7134_ts_unregister	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x458c8ac6	usb_deregister_device_driver	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xc8d080c9	usbnet_nway_reset	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x14090044	force_sig	vmlinux	EXPORT_SYMBOL
+0x30c8cb4c	truncate_inode_pages_range	vmlinux	EXPORT_SYMBOL
+0xfa177653	ir_codes_pixelview	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x11b35c6b	i2o_find_iop	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x0b046e4e	ieee80211softmac_fragment_lost	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x50bb76ef	_XTrace	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x7163233a	d_path	vmlinux	EXPORT_SYMBOL
+0x041091a5	highlevel_host_reset	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xfb981300	ir_codes_pinnacle_color	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x584edccf	parport_ieee1284_read_nibble	drivers/parport/parport	EXPORT_SYMBOL
+0x16756dc0	snd_usbmidi_input_start	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0x5cd363d7	fs_subsys	vmlinux	EXPORT_SYMBOL_GPL
+0xee5a11eb	system_bus_clock	vmlinux	EXPORT_SYMBOL
+0xd8c9436f	b1dma_load_firmware	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x9835cc72	alloc_ieee80211softmac	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x7ecf179b	igrab	vmlinux	EXPORT_SYMBOL
+0xda864e95	ide_pci_setup_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x470483be	usbnet_resume	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x8cb99352	hci_free_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x36d7e72e	snd_gf1_pcm_new	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x7c4532a2	snd_emu8000_update_chorus_mode	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x51ccf6eb	sock_recvmsg	vmlinux	EXPORT_SYMBOL
+0xa7d12bfe	per_cpu__softnet_data	vmlinux	EXPORT_SYMBOL
+0x8d780543	rtnl_notify	vmlinux	EXPORT_SYMBOL
+0x4740e7a3	ir_codes_empty	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xdee21590	snd_pcm_open_substream	sound/core/snd-pcm	EXPORT_SYMBOL
+0x3c28dffb	ssb_device_disable	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xb5b9d827	kfifo_alloc	vmlinux	EXPORT_SYMBOL
+0x5ac376a5	acpi_install_fixed_event_handler	vmlinux	EXPORT_SYMBOL
+0x18245922	linkwatch_fire_event	vmlinux	EXPORT_SYMBOL
+0xe833901f	gameport_rescan	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x55908f33	dvb_pll_thomson_fe6600	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x254f230c	nand_calculate_ecc	drivers/mtd/nand/nand_ecc	EXPORT_SYMBOL
+0xc947a027	nf_ct_l3protos	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0f68a92f	snd_device_free	sound/core/snd	EXPORT_SYMBOL
+0xe4ecb465	snd_ac97_update	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x1598dc9d	unregister_netevent_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x5eb23e47	set_cr4	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x1d8abedb	hiddev_hid_event	drivers/usb/input/usbhid	EXPORT_SYMBOL_GPL
+0x47f93661	ct_sip_get_info	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xc75f52ff	rpc_queue_upcall	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf61ce1aa	ixj_pcmcia_probe	drivers/telephony/ixj	EXPORT_SYMBOL
+0x60ec3831	usbatm_usb_probe	drivers/usb/atm/usbatm	EXPORT_SYMBOL_GPL
+0x43d91455	snd_pcm_period_elapsed	sound/core/snd-pcm	EXPORT_SYMBOL
+0x2a6c585e	pci_bus_read_config_word	vmlinux	EXPORT_SYMBOL
+0x0c2fa520	uart_write_wakeup	vmlinux	EXPORT_SYMBOL
+0x7a33596c	capi20_get_serial	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x8f699913	capilib_release	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xf07533a1	ir_codes_videomate_tv_pvr	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x48f1fa49	schedule_delayed_work_on	vmlinux	EXPORT_SYMBOL
+0xc36d17b7	pciserial_suspend_ports	vmlinux	EXPORT_SYMBOL_GPL
+0xbaf59586	skb_append	vmlinux	EXPORT_SYMBOL
+0x2a386384	b1dma_interrupt	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x1d135981	tifm_alloc_device	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xff2699b0	snd_emu10k1_synth_copy_from_user	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x2fe4026e	rtl_ieee80211_softmac_start_protocol	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xa7ff069c	audit_log_start	vmlinux	EXPORT_SYMBOL
+0x1a883f75	sk_stream_error	vmlinux	EXPORT_SYMBOL
+0x76f70d8b	hpsb_iso_recv_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x2cc8c99a	set_irq_chip	vmlinux	EXPORT_SYMBOL
+0x66355492	sget	vmlinux	EXPORT_SYMBOL
+0x2bc95bd4	memset	vmlinux	EXPORT_SYMBOL
+0xf82f48fc	acpi_os_delete_semaphore	vmlinux	EXPORT_SYMBOL
+0x876dafc3	ec_write	vmlinux	EXPORT_SYMBOL
+0xcf6737e5	ata_dummy_irq_on	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5d19925f	saa7134_boards	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x29ef10ed	blk_queue_max_hw_segments	vmlinux	EXPORT_SYMBOL
+0xac8f0bdb	cdrom_media_changed	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xfd6652c0	hci_send_sco	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xef509d51	nfattr_parse	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x4550ba8a	register_cpu_notifier	vmlinux	EXPORT_SYMBOL
+0x064db9a5	mark_mounts_for_expiry	vmlinux	EXPORT_SYMBOL_GPL
+0x95fde4e4	acpi_os_wait_semaphore	vmlinux	EXPORT_SYMBOL
+0x9857c37e	gs_init_port	drivers/char/generic_serial	EXPORT_SYMBOL
+0x6699a6de	videobuf_dma_free	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x1472b270	tipc_disconnect	net/tipc/tipc	EXPORT_SYMBOL
+0xb61e4557	snd_ak4114_build	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xf3109359	snd_ak4117_build	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x6d340f64	tty_termios_input_baud_rate	vmlinux	EXPORT_SYMBOL
+0xcec760d3	dpm_runtime_resume	vmlinux	EXPORT_SYMBOL
+0x56f9d0e2	register_chrdev	vmlinux	EXPORT_SYMBOL
+0xbdf9b3b5	ps2_drain	vmlinux	EXPORT_SYMBOL
+0xf29f3b0c	unregister_tcf_proto_ops	vmlinux	EXPORT_SYMBOL
+0x7c04d7fe	xfrm_aalg_get_byidx	vmlinux	EXPORT_SYMBOL_GPL
+0x90713d75	unregister_cdrom	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x8421fd71	tpm_show_temp_deactivated	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xe96e8b2e	spi_attach_transport	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x891adbf4	irias_add_integer_attrib	net/irda/irda	EXPORT_SYMBOL
+0x334180bf	idr_get_new_above	vmlinux	EXPORT_SYMBOL
+0x1e609856	acpi_bus_get_status	vmlinux	EXPORT_SYMBOL
+0x1d4e394c	agp3_generic_tlbflush	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x1ea78619	drm_agp_bind	drivers/char/drm/drm	EXPORT_SYMBOL
+0x0ef52aba	cap_capable	security/commoncap	EXPORT_SYMBOL
+0xb85b2bac	vm_stat	vmlinux	EXPORT_SYMBOL
+0x2190029f	__user_walk_fd	vmlinux	EXPORT_SYMBOL
+0x22013361	transport_configure_device	vmlinux	EXPORT_SYMBOL_GPL
+0x27605241	ide_unregister_subdriver	vmlinux	EXPORT_SYMBOL
+0x1cde12a0	nla_put	vmlinux	EXPORT_SYMBOL
+0xaf3dd7dc	scsi_logging_level	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa6bb414c	sound_unload_mididev	sound/oss/sound	EXPORT_SYMBOL
+0x9192c6b0	may_umount_tree	vmlinux	EXPORT_SYMBOL
+0x7bb96d25	block_invalidatepage	vmlinux	EXPORT_SYMBOL
+0x1b74901e	misc_register	vmlinux	EXPORT_SYMBOL
+0x707e31d1	hwrng_register	vmlinux	EXPORT_SYMBOL_GPL
+0x6e26d1ab	ipmi_register_smi	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xfaa0b482	hdlc_setup	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x9dabbad9	register_sound_dsp	sound/soundcore	EXPORT_SYMBOL
+0x56179c5f	mtrr_add	vmlinux	EXPORT_SYMBOL
+0x3b41aa7d	init_timer	vmlinux	EXPORT_SYMBOL
+0x02a1e1ac	devm_ioport_map	vmlinux	EXPORT_SYMBOL
+0xe8580fd9	tty_ldisc_ref	vmlinux	EXPORT_SYMBOL_GPL
+0xbf0f3f7c	dvb_usb_device_init	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x636b12c8	nf_nat_need_gre	net/ipv4/netfilter/nf_nat_proto_gre	EXPORT_SYMBOL_GPL
+0x62a681a3	tipc_portunreturnable	net/tipc/tipc	EXPORT_SYMBOL
+0x02fb5bec	synth_devs	sound/oss/sound	EXPORT_SYMBOL
+0x9f06cd39	synth_done	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xb07dfb3d	acpi_remove_gpe_handler	vmlinux	EXPORT_SYMBOL
+0x652a6e0c	ide_dma_start	vmlinux	EXPORT_SYMBOL_GPL
+0x4e39c011	clip_tbl_hook	vmlinux	EXPORT_SYMBOL
+0xbfee3ad5	loop_unregister_transfer	drivers/block/loop	EXPORT_SYMBOL
+0x420067ac	dccp_sendmsg	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x1699716a	do_generic_mapping_read	vmlinux	EXPORT_SYMBOL
+0xe7b20f8f	pci_restore_state	vmlinux	EXPORT_SYMBOL
+0xda08c0d7	pcibios_get_irq_routing_table	vmlinux	EXPORT_SYMBOL
+0xf83036d8	ethtool_op_set_tso	vmlinux	EXPORT_SYMBOL
+0xdd6f3bff	sata_set_spd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc3880471	xdr_decode_netobj	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf712df5a	inode_set_bytes	vmlinux	EXPORT_SYMBOL
+0x137de2a9	inode_sub_bytes	vmlinux	EXPORT_SYMBOL
+0x3538f810	acpi_bus_trim	vmlinux	EXPORT_SYMBOL_GPL
+0x33d9e71a	register_atm_ioctl	vmlinux	EXPORT_SYMBOL
+0xa8d6daac	iTCO_vendor_pre_start	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0xa35898f2	flexcop_device_initialize	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xf56e8ca6	flexcop_dma_config_timer	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xb41a13d0	NCR_700_detect	drivers/scsi/53c700	EXPORT_SYMBOL
+0xf6b3a2fb	midi_synth_open	sound/oss/sound	EXPORT_SYMBOL
+0xabe77484	securebits	vmlinux	EXPORT_SYMBOL
+0x465a12b0	__create_workqueue	vmlinux	EXPORT_SYMBOL_GPL
+0x722a0a0a	_read_lock	vmlinux	EXPORT_SYMBOL
+0xf679aa94	__dev_get_by_index	vmlinux	EXPORT_SYMBOL
+0x025d66e1	arp_xmit	vmlinux	EXPORT_SYMBOL
+0x928f3cac	agp_enable	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x068207f4	ib_cm_notify	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x8e32454d	videobuf_queue_init	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x481afc98	mdiobus_register	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xb886cd8b	gfs2_unregister_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x195b7d4f	dlmlock	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xd850de08	flush_tlb_page	vmlinux	EXPORT_SYMBOL
+0xe72bafee	pci_proc_attach_device	vmlinux	EXPORT_SYMBOL
+0x0a9fa8ac	__nla_put_nohdr	vmlinux	EXPORT_SYMBOL
+0xbfe2624e	__inet6_lookup_established	vmlinux	EXPORT_SYMBOL
+0x740a3694	capi_ctr_suspend_output	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xedcf6be4	qword_add	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3353c2b1	snd_timer_interrupt	sound/core/snd-timer	EXPORT_SYMBOL
+0x7faa2e10	snd_ad1848_create	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x91eecf50	ethtool_op_set_tx_csum	vmlinux	EXPORT_SYMBOL
+0xce36ded6	sysctl_tcp_mem	vmlinux	EXPORT_SYMBOL
+0x17df17bc	sysctl_tcp_ecn	vmlinux	EXPORT_SYMBOL
+0x90bd13d6	md_register_thread	drivers/md/md-mod	EXPORT_SYMBOL
+0x2690ec0e	usbnet_probe	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x475e158a	synth_request_region	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x6bb8acd7	do_splice_direct	vmlinux	EXPORT_SYMBOL
+0x216b2b36	alloc_trdev	vmlinux	EXPORT_SYMBOL
+0x88d1da24	inet_hash_connect	vmlinux	EXPORT_SYMBOL_GPL
+0xf4973d1d	inet_csk_accept	vmlinux	EXPORT_SYMBOL
+0xa6ae80b8	ata_scsi_device_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x29d77a71	generic_mii_ioctl	drivers/net/mii	EXPORT_SYMBOL
+0x19f9baab	snd_sbmixer_suspend	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x0baf117e	kfifo_free	vmlinux	EXPORT_SYMBOL
+0xba7d0f15	bitmap_endwrite	drivers/md/md-mod	EXPORT_SYMBOL
+0x6bab04c2	usb_bulk_msg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x62c7144c	bt_accept_dequeue	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x756a3691	platform_device_add_resources	vmlinux	EXPORT_SYMBOL_GPL
+0x4e54f849	xfrm_state_delete_tunnel	vmlinux	EXPORT_SYMBOL
+0x45729c1c	videobuf_mmap_mapper	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x0c1ed672	hdlcdrv_unregister	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0x0d8e787a	acpiphp_register_attention	drivers/pci/hotplug/acpiphp	EXPORT_SYMBOL_GPL
+0x7c8b3ca6	matrox_G100	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0xfddcbfb3	midi_synth_send_sysex	sound/oss/sound	EXPORT_SYMBOL
+0xea065e01	task_handoff_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xb68aed46	user_match	vmlinux	EXPORT_SYMBOL_GPL
+0x03a99c3b	rb_prev	vmlinux	EXPORT_SYMBOL
+0xea5233b0	unregister_framebuffer	vmlinux	EXPORT_SYMBOL
+0x14db3d3c	acpi_unlock_ac_dir	vmlinux	EXPORT_SYMBOL
+0xa19af145	hpsb_register_addrspace	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x1ce29e2d	scsi_rescan_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa39d150a	sas_expander_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xcf9f3328	dlm_release_lockspace	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0x4c3905f6	in6_dev_finish_destroy	net/ipv6/ipv6	EXPORT_SYMBOL
+0xa56be9ba	capi20_register	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x5ca74608	ebt_unregister_target	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xeae3dfd6	__const_udelay	vmlinux	EXPORT_SYMBOL
+0xd0470c98	acpi_evaluate_object	vmlinux	EXPORT_SYMBOL
+0x24eb7e32	leds_list	vmlinux	EXPORT_SYMBOL_GPL
+0x4df6e6de	nf_unregister_queue_handler	vmlinux	EXPORT_SYMBOL
+0xf2a6d2bf	xfrm_policy_count	vmlinux	EXPORT_SYMBOL
+0x9a262204	_csr1212_read_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc045ad4e	timespec_trunc	vmlinux	EXPORT_SYMBOL
+0x1cc6719a	register_reboot_notifier	vmlinux	EXPORT_SYMBOL
+0x7d850612	utf8_mbstowcs	vmlinux	EXPORT_SYMBOL
+0x32e4c2e6	pcie_port_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0x4437a0bd	handle_sysrq	vmlinux	EXPORT_SYMBOL
+0x1373ba63	__ide_pci_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x2530943a	ipmi_smi_msg_received	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x482320ba	capi_ctr_handle_message	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x8c07ab60	snd_ac97_resume	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x3e2ae3a8	acpi_release_global_lock	vmlinux	EXPORT_SYMBOL
+0x2b6aac8c	tcp_sockets_allocated	vmlinux	EXPORT_SYMBOL
+0x51876f77	tpm_show_active	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xdfd28376	b1_detect	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xf5fda9e9	scsi_tgt_queue_command	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0xe7c3b892	dccp_rx_hist_delete	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xdc985bb8	dccp_send_ack	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x30dd8074	cpufreq_driver_getavg	vmlinux	EXPORT_SYMBOL_GPL
+0xbf0cb97e	csr1212_new_directory	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xcf683cf2	saa7146_devices	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xca49ad9e	cx2341x_ext_ctrls	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0x71c1b2c3	scsi_device_quiesce	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf184d189	kernel_power_off	vmlinux	EXPORT_SYMBOL_GPL
+0x454aa44f	gigaset_debuglevel	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xd171f95f	add_mtd_partitions	drivers/mtd/mtdpart	EXPORT_SYMBOL
+0x3ee6b6ef	snd_pcm_hw_param_first	sound/core/snd-pcm	EXPORT_SYMBOL
+0x104c969f	block_commit_write	vmlinux	EXPORT_SYMBOL
+0xd5e669c9	tty_ldisc_ref_wait	vmlinux	EXPORT_SYMBOL_GPL
+0x23e295ba	con_copy_unimap	vmlinux	EXPORT_SYMBOL
+0x48ba15dd	genl_register_ops	vmlinux	EXPORT_SYMBOL
+0x3f3b323a	isac_d_l2l1	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x1e7f8d13	sas_unregister_ha	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x1c6c183b	sas_read_port_mode_page	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xcff83477	ip6t_unregister_table	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0xc4e6a8a2	svc_create_pooled	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2735f819	snd_pcm_new	sound/core/snd-pcm	EXPORT_SYMBOL
+0x8c3a2050	snd_tea6330t_detect	sound/i2c/snd-tea6330t	EXPORT_SYMBOL
+0x871147c5	snd_hda_queue_unsol_event	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xf4b901c5	acpi_lock_ac_dir	vmlinux	EXPORT_SYMBOL
+0x23cf34b8	class_device_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xcd48a670	__netdev_alloc_skb	vmlinux	EXPORT_SYMBOL
+0x98383e25	xfrm_nl	vmlinux	EXPORT_SYMBOL
+0x373d8509	videobuf_dma_sync	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x13fa6069	journal_get_undo_access	fs/jbd/jbd	EXPORT_SYMBOL
+0x02b0cf39	dccp_rx_hist_find_entry	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xc5917399	ircomm_control_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x07a7641d	lapb_setparms	net/lapb/lapb	EXPORT_SYMBOL
+0x015612b7	dput	vmlinux	EXPORT_SYMBOL
+0xbcc6fcaf	fb_set_suspend	vmlinux	EXPORT_SYMBOL
+0x9f4b451d	ide_spin_wait_hwgroup	vmlinux	EXPORT_SYMBOL
+0x3766d94f	nf_ct_invert_tuplepr	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xf02de5ba	srcu_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0xf6fb6bd0	nobh_commit_write	vmlinux	EXPORT_SYMBOL
+0x4dc4a17a	screen_glyph	vmlinux	EXPORT_SYMBOL
+0x4b88e224	device_power_up	vmlinux	EXPORT_SYMBOL_GPL
+0xc137578e	tcp_v4_remember_stamp	vmlinux	EXPORT_SYMBOL
+0x58097c98	ata_pci_init_native_mode	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc428068d	sata_deb_timing_long	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5bd26000	rpc_proc_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf7111aa5	rpc_delay	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8aba5a8f	tipc_createport_raw	net/tipc/tipc	EXPORT_SYMBOL
+0x02cd3086	__down_failed_trylock	vmlinux	EXPORT_SYMBOL
+0x5b579b27	sk_free	vmlinux	EXPORT_SYMBOL
+0x5ad04cc5	class_to_transport_session	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x376f3a96	scsi_is_sdev_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4b8dee6d	sleep_on	vmlinux	EXPORT_SYMBOL
+0x3b0e8c89	flush_workqueue	vmlinux	EXPORT_SYMBOL_GPL
+0xaf271b8b	kobject_init	vmlinux	EXPORT_SYMBOL
+0x9c633114	pci_bus_max_busnr	vmlinux	EXPORT_SYMBOL_GPL
+0x0feae9a7	dm_io_put	drivers/md/dm-mod	EXPORT_SYMBOL
+0xa48ef78c	v4l2_norm_to_name	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x3e41a188	parport_set_timeout	drivers/parport/parport	EXPORT_SYMBOL
+0x56428ef1	ieee80211softmac_notify_gfp	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xbdae3fc6	snd_gf1_free_voice	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x2161d5e8	sound_timer_init	sound/oss/sound	EXPORT_SYMBOL
+0xf062b2cb	ieee80211_stop_queue	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xb642b5a0	simple_lookup	vmlinux	EXPORT_SYMBOL
+0x1184346b	proc_bus	vmlinux	EXPORT_SYMBOL
+0x0fe8c633	key_type_user	vmlinux	EXPORT_SYMBOL_GPL
+0xd74b4585	mpt_suspend	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x8ede9206	parport_read	drivers/parport/parport	EXPORT_SYMBOL
+0xb0faee49	dccp_ioctl	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x06a3ee58	irias_new_integer_value	net/irda/irda	EXPORT_SYMBOL
+0x3c969d4d	dma_async_client_register	vmlinux	EXPORT_SYMBOL
+0xf78d04ab	netlink_register_notifier	vmlinux	EXPORT_SYMBOL
+0x9a43af56	ib_query_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf1e25361	usb_match_id	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL_FUTURE
+0x73b1f76d	do_posix_clock_nosettime	vmlinux	EXPORT_SYMBOL_GPL
+0x8202cd17	unlock_rename	vmlinux	EXPORT_SYMBOL
+0xc280a525	__copy_from_user_ll	vmlinux	EXPORT_SYMBOL
+0x93f31e36	skb_segment	vmlinux	EXPORT_SYMBOL_GPL
+0x08b2b45a	xfrm_policy_insert	vmlinux	EXPORT_SYMBOL
+0x8d12f837	ib_ud_header_pack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe897bbe4	usb_add_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x960f1353	free_task	vmlinux	EXPORT_SYMBOL
+0x51c24f41	simple_rmdir	vmlinux	EXPORT_SYMBOL
+0x60f3ea06	device_create	vmlinux	EXPORT_SYMBOL_GPL
+0x91dee835	tcp_init_congestion_ops	vmlinux	EXPORT_SYMBOL_GPL
+0xb14ce7c8	capi20_put_message	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x0b4a901b	dib7000m_attach	drivers/media/dvb/frontends/dib7000m	EXPORT_SYMBOL
+0xfc0a3f01	dib7000p_attach	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0xfeed7430	i2o_parm_table_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x824f2a99	ip_vs_conn_put	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xfb4d5129	snd_opl3_timer_new	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0xe9381c2d	ata_port_online	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc6f51fa0	drm_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0x3238aa7c	i2c_del_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x5838f6c9	rtc_valid_tm	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x7a93cf4f	scsi_block_requests	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xfbcc22bb	usb_register_driver	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL_FUTURE
+0x8874b79e	x86_cpu_to_apicid	vmlinux	EXPORT_SYMBOL
+0xb7cb6ff3	cdev_alloc	vmlinux	EXPORT_SYMBOL
+0xcd1266e1	__getblk	vmlinux	EXPORT_SYMBOL
+0xe0e24d1c	ata_port_disable	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x87158170	mmc_release_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x233a0974	sas_end_device_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x91cc543c	fat_dir_empty	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x69dbcb1a	irlmp_disconnect_request	net/irda/irda	EXPORT_SYMBOL
+0x751cc044	irttp_disconnect_request	net/irda/irda	EXPORT_SYMBOL
+0xda7f9d3f	tipc_attach	net/tipc/tipc	EXPORT_SYMBOL
+0x99c95fa5	unregister_sound_special	sound/soundcore	EXPORT_SYMBOL
+0x61c25cbf	vfs_quota_sync	vmlinux	EXPORT_SYMBOL
+0xcf47e392	acpi_get_current_resources	vmlinux	EXPORT_SYMBOL
+0x9748a721	iw_cm_connect	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x4e23d76d	dvb_dmx_swfilter_packets	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x295075ba	ata_cable_sata	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd0efe320	iTCO_vendor_pre_stop	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x74cc238d	current_kernel_time	vmlinux	EXPORT_SYMBOL
+0x826b02f1	pagevec_lookup_tag	vmlinux	EXPORT_SYMBOL
+0xfdab2b9c	rtc_register	vmlinux	EXPORT_SYMBOL
+0xe726ced5	ipmi_smi_watchdog_pretimeout	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xa8c863c6	cx88_newstation	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x36e00999	z8530_txdma_sync	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xb8275e24	svc_exit_thread	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x65dde8cf	rpc_clnt_sigunmask	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa05cb6c7	locks_copy_lock	vmlinux	EXPORT_SYMBOL
+0x23d0646c	skb_truesize_bug	vmlinux	EXPORT_SYMBOL
+0x5a744b86	netlink_set_nonroot	vmlinux	EXPORT_SYMBOL
+0x12b31a9c	tcp_reno_cong_avoid	vmlinux	EXPORT_SYMBOL_GPL
+0x956e468e	ata_sas_queuecmd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x83761815	gigaset_initcs	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x651527f8	usb_reset_device	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x16526c12	iriap_getvaluebyclass_request	net/irda/irda	EXPORT_SYMBOL
+0x85d44bea	print_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x9120fedf	snd_gf1_peek	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x82afa3af	probe_sbmpu	sound/oss/sb_lib	EXPORT_SYMBOL
+0x18158be2	gnet_stats_start_copy_compat	vmlinux	EXPORT_SYMBOL
+0x2752f649	netpoll_poll	vmlinux	EXPORT_SYMBOL
+0x93a64734	FsmChangeState	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xe8431918	transport_remove_device	vmlinux	EXPORT_SYMBOL_GPL
+0x29366614	sock_create_kern	vmlinux	EXPORT_SYMBOL
+0x5179f897	udplite_prot	vmlinux	EXPORT_SYMBOL
+0x173db97b	pcmcia_eject_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x01bcb15f	inet6_del_protocol	net/ipv6/ipv6	EXPORT_SYMBOL
+0x1cadb14b	snd_vx_irq_handler	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x81031ea3	synth_stop_timer	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x44e1f2eb	unregister_security	vmlinux	EXPORT_SYMBOL_GPL
+0xc899f5f6	acpi_evaluate_reference	vmlinux	EXPORT_SYMBOL
+0x2a678a13	__suspend_report_result	vmlinux	EXPORT_SYMBOL_GPL
+0xf152a637	eisa_bus_type	vmlinux	EXPORT_SYMBOL
+0xa51c913b	sound_unload_mixerdev	sound/oss/sound	EXPORT_SYMBOL
+0xe7bee6f8	unload_nls	vmlinux	EXPORT_SYMBOL
+0xb376d79d	radix_tree_tagged	vmlinux	EXPORT_SYMBOL
+0xbe2887af	pci_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x74a122a9	fb_set_cmap	vmlinux	EXPORT_SYMBOL
+0x895f443f	ata_hsm_move	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xee8f4b3f	stop_airo_card	drivers/net/wireless/airo	EXPORT_SYMBOL
+0x53dbeea6	zlib_deflateEnd	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0x0fa30956	snd_rawmidi_transmit_empty	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x90281259	snd_timer_open	sound/core/snd-timer	EXPORT_SYMBOL
+0x87a9b0c8	dquot_free_space	vmlinux	EXPORT_SYMBOL
+0x76bf656d	__bitmap_shift_left	vmlinux	EXPORT_SYMBOL
+0x851eb209	pnp_register_card_driver	vmlinux	EXPORT_SYMBOL
+0xe4ca5b25	serio_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x389d2bb4	kernel_listen	vmlinux	EXPORT_SYMBOL
+0x60905c6f	skb_gso_segment	vmlinux	EXPORT_SYMBOL
+0xf4a8bdaa	dvb_dmx_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x52688d48	ax25_listen_release	net/ax25/ax25	EXPORT_SYMBOL
+0x4bb7a033	sunrpc_cache_update	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xda6f2358	crypto_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x2e60bace	memcpy	vmlinux	EXPORT_SYMBOL
+0x0974546e	ide_dma_enable	vmlinux	EXPORT_SYMBOL
+0x0eecb224	ata_bmdma_stop	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc6e4520f	__scsi_device_lookup	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb3bf89e6	ebt_unregister_table	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xbe9b86a5	ieee80211softmac_clear_pending_work	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x19d2a96a	nat_rtp_rtcp_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x2fcae6c0	gss_mech_get	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x9d43755c	request_resource	vmlinux	EXPORT_SYMBOL
+0xfd8ad56a	cdev_init	vmlinux	EXPORT_SYMBOL
+0x2ce92855	generic_file_splice_write_nolock	vmlinux	EXPORT_SYMBOL
+0x11478d72	bdevname	vmlinux	EXPORT_SYMBOL
+0x478d10b2	ht_destroy_irq	vmlinux	EXPORT_SYMBOL
+0xaa0f3c7d	__ide_dma_lostirq	vmlinux	EXPORT_SYMBOL
+0x83ac0414	ata_std_postreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb57037c3	ib_sa_unregister_client	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x11dc4b6d	bttv_gpio_enable	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x27d6a8b7	spi_release_transport	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x42684a72	ip6t_do_table	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0xd97522fd	rpc_run_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8e4792d8	snd_cs4231_mce_up	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xd29b009f	crc_itu_t_table	ubuntu/misc/crc-itu-t	EXPORT_SYMBOL
+0xaa52bc27	register_latency_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xc04d7756	class_device_create_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xc47ebb12	inet_getname	vmlinux	EXPORT_SYMBOL
+0xbdf490ec	agp_generic_insert_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xaecb51ba	gameport_start_polling	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x24565047	nand_scan_bbt	drivers/mtd/nand/nand	EXPORT_SYMBOL
+0x0a487ea5	tfrc_calc_x	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x4e9bf540	snd_unregister_oss_device	sound/core/snd	EXPORT_SYMBOL
+0x01d19038	acpi_enable_subsystem	vmlinux	EXPORT_SYMBOL
+0x61a4e7c4	i2c_smbus_write_quick	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x424ba41f	dm_get_mapinfo	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8f3ee646	put_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x73673506	sleep_on_timeout	vmlinux	EXPORT_SYMBOL
+0xff2643c2	iput	vmlinux	EXPORT_SYMBOL
+0x8b0fbf9f	crypto_shoot_alg	vmlinux	EXPORT_SYMBOL_GPL
+0xd26f8daf	pci_disable_pcie_error_reporting	vmlinux	EXPORT_SYMBOL_GPL
+0x896dc3b7	platform_get_resource	vmlinux	EXPORT_SYMBOL_GPL
+0xbd45abe6	dibx000_get_i2c_adapter	drivers/media/dvb/frontends/dibx000_common	EXPORT_SYMBOL
+0xda0a6b0e	acpi_map_lsapic	vmlinux	EXPORT_SYMBOL
+0x34e1b9b2	proc_doulongvec_ms_jiffies_minmax	vmlinux	EXPORT_SYMBOL
+0xdaaa58b4	create_proc_entry	vmlinux	EXPORT_SYMBOL
+0xd38e58a4	input_ff_upload	vmlinux	EXPORT_SYMBOL_GPL
+0x286243b3	hpsb_packet_sent	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd5f067bc	cx88_shutdown	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x5ec92758	iscsi_alloc_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x5a157ae4	nfs4_acl_get_whotype	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x1b9aca3f	jprobe_return	vmlinux	EXPORT_SYMBOL_GPL
+0xf1f54397	simple_set_mnt	vmlinux	EXPORT_SYMBOL
+0x71a50dbc	register_blkdev	vmlinux	EXPORT_SYMBOL
+0xeea9dbaf	bitmap_bitremap	vmlinux	EXPORT_SYMBOL
+0xc07f728e	hpsb_iso_recv_start	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc02f244d	mt352_attach	drivers/media/dvb/frontends/mt352	EXPORT_SYMBOL
+0x7c578f0e	gfs2_unmount_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x59c6d969	key_negate_and_link	vmlinux	EXPORT_SYMBOL
+0x7295bacd	fb_firmware_edid	vmlinux	EXPORT_SYMBOL
+0x811d8f24	neigh_event_ns	vmlinux	EXPORT_SYMBOL
+0x716c072b	nf_conntrack_alter_reply	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x97e273ff	generic_commit_write	vmlinux	EXPORT_SYMBOL
+0x09775cdc	kref_get	vmlinux	EXPORT_SYMBOL
+0xd08197fa	acpi_load_tables	vmlinux	EXPORT_SYMBOL
+0x5046705b	request_firmware_nowait	vmlinux	EXPORT_SYMBOL
+0xeb169d4b	hpsb_unregister_highlevel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xcb812834	iw_cm_init_qp_attr	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xfa8f296e	iscsi_queuecommand	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xdf3c14de	dlm_new_lockspace	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0xcd37a36f	inode_double_unlock	vmlinux	EXPORT_SYMBOL
+0xff0ee140	inotify_inode_queue_event	vmlinux	EXPORT_SYMBOL_GPL
+0xb2d6a791	ata_std_ports	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x88fc3c4d	i2c_probe	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x81a47317	set_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x0033f78a	pci_disable_msi	vmlinux	EXPORT_SYMBOL
+0xa2f5662c	ethtool_op_get_perm_addr	vmlinux	EXPORT_SYMBOL_GPL
+0x8df68bf6	dst_destroy	vmlinux	EXPORT_SYMBOL
+0x7ca0d45a	z8530_sync_txdma_open	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x5a9f3af9	usbnet_get_drvinfo	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x92bbeca4	journal_errno	fs/jbd/jbd	EXPORT_SYMBOL
+0xa46dc984	_spin_unlock_irqrestore	vmlinux	EXPORT_SYMBOL
+0xda7ca6cb	fb_mode_is_equal	vmlinux	EXPORT_SYMBOL
+0x6bf7bda4	nf_unregister_queue_handlers	vmlinux	EXPORT_SYMBOL_GPL
+0xc10d7e11	kcopyd_client_destroy	drivers/md/dm-mod	EXPORT_SYMBOL
+0xcd8bfc59	videobuf_read_stream	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xfd76507c	hostap_set_roaming	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x9e538b9e	scsi_mode_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x511ad1e9	dlm_lock	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0xca7b1bf7	journal_check_available_features	fs/jbd/jbd	EXPORT_SYMBOL
+0x2586c9e0	svc_wake_up	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2ba1598d	spk_serial_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xd6712715	xfrm_dst_lookup	vmlinux	EXPORT_SYMBOL
+0x26240d63	ib_init_ah_from_wc	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x730fea3e	xfrm4_tunnel_register	net/ipv4/tunnel4	EXPORT_SYMBOL
+0x46d93f28	xfrm6_tunnel_register	net/ipv6/tunnel6	EXPORT_SYMBOL
+0x7249df6c	nf_ct_get_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xff45429f	ssb_clockspeed	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xe15d7d1e	ircomm_open	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x6badfb13	snd_pcm_lib_ioctl	sound/core/snd-pcm	EXPORT_SYMBOL
+0xc6bcec74	get_user_pages	vmlinux	EXPORT_SYMBOL
+0xa8607be0	single_release	vmlinux	EXPORT_SYMBOL
+0x1fed43e0	blk_put_queue	vmlinux	EXPORT_SYMBOL
+0xe93e49c3	devres_free	vmlinux	EXPORT_SYMBOL_GPL
+0x3b3016d3	cpufreq_unregister_notifier	vmlinux	EXPORT_SYMBOL
+0xc3abac5c	dst_alloc	vmlinux	EXPORT_SYMBOL
+0xb8c0019e	ircomm_close	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0xa108eb4d	sysctl_optmem_max	vmlinux	EXPORT_SYMBOL
+0xd0181f4f	__bitmap_xor	vmlinux	EXPORT_SYMBOL
+0xf3341268	__clear_user	vmlinux	EXPORT_SYMBOL
+0x58e2e5c6	cfb_copyarea	vmlinux	EXPORT_SYMBOL
+0xe57878a1	in6_pton	vmlinux	EXPORT_SYMBOL
+0xaccabc6a	in4_pton	vmlinux	EXPORT_SYMBOL
+0xfc5ecebb	dvb_pll_thomson_dtt761x	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xc4fe0bb6	dvb_pll_thomson_dtt7610	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x93415583	scsi_mode_select	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x5d57518f	tipc_reject_msg	net/tipc/tipc	EXPORT_SYMBOL
+0xcd00abc7	snd_ad1848_pcm	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x942bbaac	_XTraceNB	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x2368be6d	posix_acl_to_xattr	vmlinux	EXPORT_SYMBOL
+0x2c691bb3	__dev_remove_pack	vmlinux	EXPORT_SYMBOL
+0xa4188709	video_exclusive_open	drivers/media/video/videodev	EXPORT_SYMBOL
+0xd78db67e	config_group_init	fs/configfs/configfs	EXPORT_SYMBOL
+0xd8de0261	percpu_populate	vmlinux	EXPORT_SYMBOL_GPL
+0x2b168195	iget5_locked	vmlinux	EXPORT_SYMBOL
+0x90a1004a	crypto_has_alg	vmlinux	EXPORT_SYMBOL_GPL
+0x77aed0c4	ide_raw_taskfile	vmlinux	EXPORT_SYMBOL
+0xb0f03a28	tifm_map_sg	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x37931fff	dccp_invalid_packet	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xe23c540d	auth_unix_forget_old	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xd7a9e2f5	dcache_dir_lseek	vmlinux	EXPORT_SYMBOL
+0x13cd24f3	debugfs_create_dir	vmlinux	EXPORT_SYMBOL_GPL
+0x0fbf04c6	user_revoke	vmlinux	EXPORT_SYMBOL
+0xfa703b57	platform_device_register_simple	vmlinux	EXPORT_SYMBOL_GPL
+0xda20bb96	hpsb_bus_reset	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9a7c0880	vp310_mt312_attach	drivers/media/dvb/frontends/mt312	EXPORT_SYMBOL
+0x0cb464d4	mii_check_media	drivers/net/mii	EXPORT_SYMBOL
+0xe4a545cd	z8530_describe	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x9005e685	snd_sbdsp_command	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x1070d2bc	pci_scan_bus_parented	vmlinux	EXPORT_SYMBOL
+0xfcfaa928	acpi_remove_address_space_handler	vmlinux	EXPORT_SYMBOL
+0xce045124	km_waitq	vmlinux	EXPORT_SYMBOL
+0xaa024146	sonet_copy_stats	vmlinux	EXPORT_SYMBOL
+0xe712f0b3	dvb_register_frontend	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x5fa9d608	bttv_sub_unregister	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xbdf53555	mem_map	vmlinux	EXPORT_SYMBOL
+0xc543161e	do_sync_read	vmlinux	EXPORT_SYMBOL
+0xc20f98ce	d_splice_alias	vmlinux	EXPORT_SYMBOL
+0x4ce66c84	dib3000mb_attach	drivers/media/dvb/frontends/dib3000mb	EXPORT_SYMBOL
+0xcda4da37	dib3000mc_attach	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xd38d07b3	ei_open	drivers/net/8390	EXPORT_SYMBOL
+0xba9f3062	ieee80211_is_valid_channel	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x53ff786d	xt_check_match	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x6e86b3f3	inotify_find_watch	vmlinux	EXPORT_SYMBOL_GPL
+0xf8ab06f6	mmc_wait_for_cmd	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x78f9b710	nf_ct_l3proto_try_module_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0080e137	register_sound_midi	sound/soundcore	EXPORT_SYMBOL
+0x67b9b83b	rt2x00lib_reset	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x0d20ceab	cad_pid	vmlinux	EXPORT_SYMBOL
+0xd7ba575e	dlm_errmsg	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x05fa7b9b	rpc_mkpipe	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa20113d8	call_usermodehelper_keys	vmlinux	EXPORT_SYMBOL
+0x7cc64938	agp_put_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa82a8645	o2nm_this_node	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xde7d1aba	ccid_hc_tx_new	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x4b4ff452	ccid_hc_rx_new	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x8367a81a	snd_trident_stop_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0xc868c3fe	atm_proc_root	vmlinux	EXPORT_SYMBOL
+0xe29c3801	irda_task_execute	net/irda/irda	EXPORT_SYMBOL
+0x6399c0c6	snd_component_add	sound/core/snd	EXPORT_SYMBOL
+0xfb6af58d	recalc_sigpending	vmlinux	EXPORT_SYMBOL
+0xf1a8be52	spi_new_device	vmlinux	EXPORT_SYMBOL_GPL
+0x075c5424	netif_receive_skb	vmlinux	EXPORT_SYMBOL
+0x508be74f	alloc_netdev	vmlinux	EXPORT_SYMBOL
+0x0531dcb8	ata_dev_classify	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x94c4fd90	hpsb_alloc_host	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x60285e3c	hostap_set_encryption	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xe6aaf202	journal_update_format	fs/jbd/jbd	EXPORT_SYMBOL
+0x53450dd7	ip_dev_find	vmlinux	EXPORT_SYMBOL
+0xe2304303	mac_map_monitor_sense	drivers/video/macmodes	EXPORT_SYMBOL
+0xbc9b9ddb	nf_nat_mangle_udp_packet	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x39d7b629	snd_emu8000_init_fm	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x6cbe735e	ac97_set_dac_rate	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x31e76b57	recalibrate_cpu_khz	vmlinux	EXPORT_SYMBOL
+0xa12875a2	path_lookup	vmlinux	EXPORT_SYMBOL
+0x8471e4d8	anon_transport_class_register	vmlinux	EXPORT_SYMBOL_GPL
+0x792aa199	acpi_get_ec_hc	drivers/acpi/i2c_ec	EXPORT_SYMBOL
+0x1c5ba249	ib_rereg_phys_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x67733afc	capi_ctr_reseted	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xe1836073	hostap_80211_rx	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xb51587f6	do_midi_msg	sound/oss/sound	EXPORT_SYMBOL
+0x8b66db50	ip_setsockopt	vmlinux	EXPORT_SYMBOL
+0x4244f206	ip_getsockopt	vmlinux	EXPORT_SYMBOL
+0x447d0b0a	input_ff_create_memless	drivers/input/ff-memless	EXPORT_SYMBOL_GPL
+0x2e31c9b0	nxt6000_attach	drivers/media/dvb/frontends/nxt6000	EXPORT_SYMBOL
+0x3f3c2814	rpcauth_init_credcache	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x33196303	snd_iprintf	sound/core/snd	EXPORT_SYMBOL
+0xceec2705	dma_free_coherent	vmlinux	EXPORT_SYMBOL
+0x208558c6	srcu_read_unlock	vmlinux	EXPORT_SYMBOL_GPL
+0xe01883c3	dentry_open	vmlinux	EXPORT_SYMBOL
+0x5ad85fb1	pnp_request_card_device	vmlinux	EXPORT_SYMBOL
+0x35a0611b	device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x6ad53471	ib_create_cq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x8f19623c	rdma_disconnect	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x7f19a7f5	xdr_shift_buf	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9545af6d	tasklet_init	vmlinux	EXPORT_SYMBOL
+0x422c05d0	acpi_get_data	vmlinux	EXPORT_SYMBOL
+0xfa04cfbc	class_device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x9eadba58	ide_dma_setup	vmlinux	EXPORT_SYMBOL_GPL
+0xb8eef5a9	skb_checksum_help	vmlinux	EXPORT_SYMBOL
+0x355abed9	ata_irq_ack	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x463eb97b	rpc_clnt_sigmask	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x53986488	register_die_notifier	vmlinux	EXPORT_SYMBOL
+0x9241c3ee	device_power_down	vmlinux	EXPORT_SYMBOL_GPL
+0x8cae1101	ib_dealloc_fmr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbd203180	nf_nat_port_nfattr_to_range	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x00a6cecb	nf_nat_setup_info	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xdd186f56	hrtimer_cancel	vmlinux	EXPORT_SYMBOL_GPL
+0x5f9a11da	srcu_readers_active	vmlinux	EXPORT_SYMBOL_GPL
+0xce5ffa08	sock_no_recvmsg	vmlinux	EXPORT_SYMBOL
+0xe3d12696	ata_do_set_mode	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd3b81370	ip6_find_1stfragopt	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x007d5a41	p80211skb_free	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xa395a772	kfifo_init	vmlinux	EXPORT_SYMBOL
+0xef22df29	rdma_set_ib_paths	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x49f450dd	sis_free_new	drivers/video/sis/sisfb	EXPORT_SYMBOL_GPL
+0x2169c199	xt_unregister_matches	net/netfilter/x_tables	EXPORT_SYMBOL
+0xaef743b2	midi_synth_ioctl	sound/oss/sound	EXPORT_SYMBOL
+0xbcc13e2b	complete	vmlinux	EXPORT_SYMBOL
+0x5f6454c0	downgrade_write	vmlinux	EXPORT_SYMBOL
+0xc9b27289	rtc_control	vmlinux	EXPORT_SYMBOL
+0xb4a6a543	rtnl_set_sk_err	vmlinux	EXPORT_SYMBOL
+0x06f49210	tpm_bios_log_teardown	drivers/char/tpm/tpm_bios	EXPORT_SYMBOL_GPL
+0xbb9bf542	gigaset_shutdown	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xbdf55b3f	cx88_vdev_init	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xe2bb9f6b	usb_hcd_pci_remove	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x07d3647c	irlmp_register_service	net/irda/irda	EXPORT_SYMBOL
+0xbed25c1e	svc_authenticate	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x11a937fa	ata_port_freeze	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6088cbef	ata_bmdma_start	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc915aca8	nsc_gpio_write	drivers/char/nsc_gpio	EXPORT_SYMBOL
+0xbafdf05f	__gameport_register_driver	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xfbeeb3ea	iscsi_block_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xca8dcf78	config_item_init_type_name	fs/configfs/configfs	EXPORT_SYMBOL
+0x3f36db16	snd_hda_bus_new	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x8a7d1c31	high_memory	vmlinux	EXPORT_SYMBOL
+0x8c816aae	hpsb_read_cycle_timer	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xc1b6ed38	sync_page_io	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0x82753c2c	scsi_test_unit_ready	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x0291a2b3	snd_pcm_new_stream	sound/core/snd-pcm	EXPORT_SYMBOL
+0x37de740e	snd_ac97_pcm_close	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x87dad9b8	simple_link	vmlinux	EXPORT_SYMBOL
+0x481cb9ab	acpi_enter_sleep_state_prep	vmlinux	EXPORT_SYMBOL
+0x118184f6	saa7146_pgtable_alloc	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x03165a85	v4l2_ctrl_get_menu	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x1adced57	usb_serial_deregister	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x8659f63b	mempool_create	vmlinux	EXPORT_SYMBOL
+0x306716d4	sysdev_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x7ae1ae8e	cpufreq_frequency_table_put_attr	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x11f752cc	hidinput_find_field	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x7aa2a474	ib_create_fmr_pool	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd89f3ee1	scsi_remove_target	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb1d67e2c	journal_blocks_per_page	fs/jbd/jbd	EXPORT_SYMBOL
+0xedc03953	iounmap	vmlinux	EXPORT_SYMBOL
+0xa5c5f2b8	send_sig_info	vmlinux	EXPORT_SYMBOL
+0x563952a3	kblockd_schedule_work	vmlinux	EXPORT_SYMBOL
+0xd79b5a02	allow_signal	vmlinux	EXPORT_SYMBOL
+0xd0ee38b8	schedule_timeout_uninterruptible	vmlinux	EXPORT_SYMBOL
+0x3c464f1d	sk_stream_wait_close	vmlinux	EXPORT_SYMBOL
+0xa04ee525	unregister_netdevice	vmlinux	EXPORT_SYMBOL
+0x75612c0c	__neigh_event_send	vmlinux	EXPORT_SYMBOL
+0xdd00b830	snd_gus_initialize	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xa67e4307	kill_anon_super	vmlinux	EXPORT_SYMBOL
+0x92c4dc44	platform_get_irq	vmlinux	EXPORT_SYMBOL_GPL
+0x035c15b8	videobuf_pci_dma_map	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x88a7e9dc	sas_remove_host	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x85b3ea4e	rpc_call_setup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xdc515826	snd_rawmidi_info_select	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x466fac01	snd_timer_global_register	sound/core/snd-timer	EXPORT_SYMBOL
+0x38eb528a	blk_queue_hardsect_size	vmlinux	EXPORT_SYMBOL
+0x33b1d2c0	pci_enable_pcie_error_reporting	vmlinux	EXPORT_SYMBOL_GPL
+0xc0b51566	xfrm4_rcv	vmlinux	EXPORT_SYMBOL
+0xfb56b894	ppp_output_wakeup	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x0f3ce87c	xfrm6_rcv	net/ipv6/ipv6	EXPORT_SYMBOL
+0x390006c3	irlmp_connect_response	net/irda/irda	EXPORT_SYMBOL
+0x07034c22	irttp_connect_response	net/irda/irda	EXPORT_SYMBOL
+0x3ec28949	snd_ac97_update_bits	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x0bd74868	flexcop_dma_free	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xbe8eb0da	matroxfb_g450_setpll_cond	drivers/video/matrox/g450_pll	EXPORT_SYMBOL
+0x7094f8ae	bt_err	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x468ace20	xdr_buf_subsegment	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe6ef0f35	end_that_request_first	vmlinux	EXPORT_SYMBOL
+0xa1f54c8e	driver_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xf543cacc	inet_dgram_connect	vmlinux	EXPORT_SYMBOL
+0xf7fbefa2	kcopyd_client_create	drivers/md/dm-mod	EXPORT_SYMBOL
+0x8a266489	usbvideo_RegisterVideoDevice	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x0cfbb199	phy_connect	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x683a3221	param_set_copystring	vmlinux	EXPORT_SYMBOL
+0xd0872872	relay_open	vmlinux	EXPORT_SYMBOL_GPL
+0x74501641	kobject_put	vmlinux	EXPORT_SYMBOL
+0x82f37d55	kobject_get	vmlinux	EXPORT_SYMBOL
+0x74705cc3	ata_dummy_irq_ack	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe3cd9b5c	saa7146_debug	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x5ebefe4b	v4l_printk_ioctl	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x001b8bbf	iscsi_unblock_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xf48b0463	synth_write_msg	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x06872ff0	relay_close	vmlinux	EXPORT_SYMBOL_GPL
+0xfc39e32f	ioport_unmap	vmlinux	EXPORT_SYMBOL
+0x21d6f32a	video_exclusive_release	drivers/media/video/videodev	EXPORT_SYMBOL
+0xc20a2d91	cfi_read_pri	drivers/mtd/chips/cfi_util	EXPORT_SYMBOL
+0xd7cee05d	d_validate	vmlinux	EXPORT_SYMBOL
+0x86034cf8	dq_data_lock	vmlinux	EXPORT_SYMBOL
+0xff855922	ib_copy_path_rec_from_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0xd4d11fb3	detach_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x1d50ab22	usb_reset_configuration	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xea558f29	matroxfb_vgaHWrestore	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x44f6ded5	ircomm_data_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x7e8b27d3	nf_conntrack_chain	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xed788cd2	fasync_helper	vmlinux	EXPORT_SYMBOL
+0xc256e762	__bitmap_equal	vmlinux	EXPORT_SYMBOL
+0xd32a65e8	__init_rwsem	vmlinux	EXPORT_SYMBOL
+0x8ab7ffea	genl_register_family	vmlinux	EXPORT_SYMBOL
+0x690b2432	ib_cm_listen	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x42dc240b	i2o_msg_get_wait	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x454a3cf0	sis_free	drivers/video/sis/sisfb	EXPORT_SYMBOL
+0xc6162216	snd_ak4114_check_rate_and_errors	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xb76279ce	snd_ak4117_check_rate_and_errors	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x2cf2c97f	locks_mandatory_area	vmlinux	EXPORT_SYMBOL
+0x3f238101	dcookie_register	vmlinux	EXPORT_SYMBOL_GPL
+0x02d57d92	tpm_show_owned	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x7f6bcbdf	hpsb_selfid_received	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb75456ea	dvb_ringbuffer_write	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x6ce5583f	dibusb_dib3000mc_frontend_attach	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xcd2ac1c1	pccard_parse_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x2cb2574d	snd_emu8000_update_equalizer	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0xc4884969	sb_dsp_unload	sound/oss/sb_lib	EXPORT_SYMBOL
+0x0acb1a3c	__bitmap_shift_right	vmlinux	EXPORT_SYMBOL
+0x94e0bd1c	ethtool_op_set_ufo	vmlinux	EXPORT_SYMBOL
+0x154273eb	tcf_exts_dump_stats	vmlinux	EXPORT_SYMBOL
+0x8598a4bb	inet_twsk_deschedule	vmlinux	EXPORT_SYMBOL
+0x9266e749	amd756_smbus	drivers/i2c/busses/i2c-amd756	EXPORT_SYMBOL
+0x14f2aa5a	capi20_get_version	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xf84467b0	sas_port_add	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xd0a7299f	xt_table_unlock	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x054e550b	kernel_halt	vmlinux	EXPORT_SYMBOL_GPL
+0x7b04cc91	mempool_destroy	vmlinux	EXPORT_SYMBOL
+0x23fd3028	vmalloc_node	vmlinux	EXPORT_SYMBOL
+0xb89af9bf	srandom32	vmlinux	EXPORT_SYMBOL
+0x31acf5a1	inet_register_protosw	vmlinux	EXPORT_SYMBOL
+0xec8d18cf	hpsb_disable_irm	drivers/ieee1394/ieee1394	EXPORT_SYMBOL_GPL
+0x6c9c3880	cx88_call_i2c_clients	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x20dbd7e0	nfs4_acl_new	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x792da560	irda_device_dongle_cleanup	net/irda/irda	EXPORT_SYMBOL
+0x5301f926	set_binfmt	vmlinux	EXPORT_SYMBOL
+0xe09c4214	netpoll_cleanup	vmlinux	EXPORT_SYMBOL
+0xfc4f77e5	iw_destroy_cm_id	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x320440dd	scsi_ioctl	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xdb1b42d1	xfrm6_tunnel_spi_lookup	net/ipv6/xfrm6_tunnel	EXPORT_SYMBOL
+0x4babf1d4	snd_pcm_sgbuf_ops_page	sound/core/snd-pcm	EXPORT_SYMBOL
+0x8261ad63	do_synth_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x5d2c35bc	elv_rb_find	vmlinux	EXPORT_SYMBOL
+0x81897dbd	__first_cpu	vmlinux	EXPORT_SYMBOL
+0x3acaa0ce	spi_unregister_master	vmlinux	EXPORT_SYMBOL_GPL
+0x62988f31	km_policy_expired	vmlinux	EXPORT_SYMBOL
+0x264514a6	pi_release	drivers/block/paride/paride	EXPORT_SYMBOL
+0xc58e466e	mac_find_mode	drivers/video/macmodes	EXPORT_SYMBOL
+0xc722e5cb	reqsk_queue_destroy	vmlinux	EXPORT_SYMBOL
+0xaf0aed2d	dvb_pll_tua6034	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x13895930	dvb_pll_tda665x	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x1826da56	cap_ptrace	security/commoncap	EXPORT_SYMBOL
+0xe5867808	dlci_ioctl_set	vmlinux	EXPORT_SYMBOL
+0x2811ccf2	alloc_hippi_dev	vmlinux	EXPORT_SYMBOL
+0xe17e654a	drm_vbl_send_signals	drivers/char/drm/drm	EXPORT_SYMBOL
+0x1ee629e2	isdnhdlc_rcv_init	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0x5630960a	snd_seq_kernel_client_write_poll	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x81a2d3f2	kobject_unregister	vmlinux	EXPORT_SYMBOL
+0xbf8b39e9	isapnp_present	vmlinux	EXPORT_SYMBOL
+0x2382d3b1	ib_redirect_mad_qp	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x526aab58	rdma_init_qp_attr	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x3caa5149	scsi_print_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xed015899	scsi_report_device_reset	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf586be1c	__rpc_wait_for_completion_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc3f463f8	snd_gf1_mem_alloc	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x9558704d	register_sound_mixer	sound/soundcore	EXPORT_SYMBOL
+0x4468b438	page_symlink_inode_operations	vmlinux	EXPORT_SYMBOL
+0x6c10037a	ata_scsi_device_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x4ad04635	mptscsih_bus_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xddd21cd7	cpci_hp_unregister_controller	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x7fbbe5e3	usb_submit_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x6d1360e3	async_wrap_skb	net/irda/irda	EXPORT_SYMBOL
+0x35c2ba9e	refrigerator	vmlinux	EXPORT_SYMBOL
+0xe7ead430	vunmap	vmlinux	EXPORT_SYMBOL
+0x83b17a79	hpsb_make_streampacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x1cb231d0	mlog_not_bits	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xe5c78a99	do_blank_screen	vmlinux	EXPORT_SYMBOL
+0xa23f7d57	xfrm_policy_alloc	vmlinux	EXPORT_SYMBOL
+0x7070f426	iw_cm_disconnect	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x800e9a8c	ieee80211_crypt_deinit_entries	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xe6bf4c12	nf_conntrack_l4proto_tcp6	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xad42cca9	snd_seq_device_new	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0xb90bf86a	set_page_dirty_lock	vmlinux	EXPORT_SYMBOL
+0x9b450b80	emulate_instruction	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xb5847b28	dvb_dmx_swfilter	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x14d97760	dlm_unlock	fs/dlm/dlm	EXPORT_SYMBOL_GPL
+0x6519478d	hci_conn_change_link_key	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x31a473f0	irda_device_dongle_init	net/irda/irda	EXPORT_SYMBOL
+0x264aed06	snd_seq_create_kernel_client	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x56a7e369	tcp_v4_conn_request	vmlinux	EXPORT_SYMBOL
+0x649e5cc7	ata_port_abort	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2e9121c3	ata_sas_port_alloc	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x35de5fe5	cpufreq_frequency_table_cpuinfo	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x3cdec714	get_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x8bc54bd2	usb_get_descriptor	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xa389e51b	kmem_cache_shrink	vmlinux	EXPORT_SYMBOL
+0x52b3f172	tcp_v4_syn_recv_sock	vmlinux	EXPORT_SYMBOL
+0xe3c02d28	agp_find_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xb896aecd	hpsb_iso_recv_release_packets	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf34396f0	usb_put_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xe2675a79	sound_timer_interrupt	sound/oss/sound	EXPORT_SYMBOL
+0xcb733bf2	acpi_bus_set_power	vmlinux	EXPORT_SYMBOL
+0x7389c9a8	acpi_bus_get_power	vmlinux	EXPORT_SYMBOL
+0xc998d641	icmp_err_convert	vmlinux	EXPORT_SYMBOL
+0xde0cf0b1	gs_block_til_ready	drivers/char/generic_serial	EXPORT_SYMBOL
+0x805e6f1c	gigaset_fill_inbuf	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xec657db6	mii_check_link	drivers/net/mii	EXPORT_SYMBOL
+0x3af2e370	scsi_tgt_alloc_queue	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x03d9eb4d	synth_buff_out	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x64753327	rtl_ieee80211_wx_get_power	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x10c14268	rtl_ieee80211_wx_set_power	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x2b3c29ca	fd_install	vmlinux	EXPORT_SYMBOL
+0xe9e7fe34	dma_async_memcpy_complete	vmlinux	EXPORT_SYMBOL
+0x056fde6d	tcp_hashinfo	vmlinux	EXPORT_SYMBOL
+0xd5f4df6c	ib_alloc_mw	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x83f47a43	scsi_unregister	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x71fe752c	snd_i2c_readbytes	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0xa70fabbe	release_evntsel_nmi	vmlinux	EXPORT_SYMBOL
+0x87754115	raw_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0x3ce4ca6f	disable_irq	vmlinux	EXPORT_SYMBOL
+0x9c941146	blk_init_tags	vmlinux	EXPORT_SYMBOL
+0xcbf7b99d	__ide_dma_good_drive	vmlinux	EXPORT_SYMBOL
+0x00d3dc68	parport_release	drivers/parport/parport	EXPORT_SYMBOL
+0xa0ddd488	scsi_internal_device_unblock	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xceb98c60	nf_nat_packet	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x0d08d6d1	nf_nat_used_tuple	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x09aeaf8c	out_of_line_wait_on_bit	vmlinux	EXPORT_SYMBOL
+0x4fa7e4e6	sysfs_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x267a3359	cdrom_get_media_event	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x8337ec08	pcmcia_get_configuration_info	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x4157418a	iscsi_eh_host_reset	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x404e23e5	scsi_host_alloc	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x483606ff	usb_ftdi_elan_edset_input	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x3ee65c52	snd_midi_event_decode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x31b249ba	vfs_set_dqblk	vmlinux	EXPORT_SYMBOL
+0x1889021e	vfs_get_dqblk	vmlinux	EXPORT_SYMBOL
+0xd4abc567	invalidate_partition	vmlinux	EXPORT_SYMBOL
+0xaa2a72bf	__iowrite64_copy	vmlinux	EXPORT_SYMBOL_GPL
+0x34900e3b	drm_irq_uninstall	drivers/char/drm/drm	EXPORT_SYMBOL
+0x0779574b	video_register_device	drivers/media/video/videodev	EXPORT_SYMBOL
+0xba26c1b8	fc_remote_port_delete	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x56b86c78	register_wan_device	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0xda5faa35	pciserial_resume_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x46910e18	pciserial_remove_ports	vmlinux	EXPORT_SYMBOL_GPL
+0x3686ea09	spi_print_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x0b1beb31	vmalloc_32_user	vmlinux	EXPORT_SYMBOL
+0xbffc8fee	com20020_found	drivers/net/arcnet/com20020	EXPORT_SYMBOL
+0x2b3dbc9b	xt_proto_init	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x9eecde16	do_brk	vmlinux	EXPORT_SYMBOL
+0x2d52b5a8	pci_get_subsys	vmlinux	EXPORT_SYMBOL
+0xc673e23e	ata_scsi_change_queue_depth	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6f8fbc23	ipmi_set_my_LUN	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xe28e5bba	generic_permission	vmlinux	EXPORT_SYMBOL
+0xf0fc9374	ir_codes_avermedia	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x25e649f2	nf_ct_log_invalid	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6a842e67	pci_test_config_bits	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xda67bd07	cx8802_get_device	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xf27ba709	hostap_set_hostapd	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x573d324f	i8253_lock	vmlinux	EXPORT_SYMBOL
+0xff83b2bf	atomic_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x76430786	_spin_unlock	vmlinux	EXPORT_SYMBOL
+0x9d1097fb	pci_find_next_bus	vmlinux	EXPORT_SYMBOL
+0xf62035e0	pci_proc_detach_bus	vmlinux	EXPORT_SYMBOL
+0x39d13ddf	uart_get_baud_rate	vmlinux	EXPORT_SYMBOL
+0x4d2b1719	i2c_isa_del_driver	drivers/i2c/busses/i2c-isa	EXPORT_SYMBOL
+0x0c4d2a11	iriap_open	net/irda/irda	EXPORT_SYMBOL
+0xdbb00dc6	irlap_open	net/irda/irda	EXPORT_SYMBOL
+0x407e9bc3	snd_ctl_notify	sound/core/snd	EXPORT_SYMBOL
+0x83cbeea8	set_user_nice	vmlinux	EXPORT_SYMBOL
+0xc71c03fa	secpath_dup	vmlinux	EXPORT_SYMBOL
+0xd1dccc4e	tifm_alloc_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x523417a8	hostap_init_proc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xdcb8b98c	usbnet_disconnect	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xe9d1c59d	ieee80211_wx_get_auth	net/ieee80211/ieee80211	EXPORT_SYMBOL_GPL
+0x09c72e00	ieee80211_wx_set_auth	net/ieee80211/ieee80211	EXPORT_SYMBOL_GPL
+0x54cb15ff	iriap_close	net/irda/irda	EXPORT_SYMBOL
+0x675ede2c	irlap_close	net/irda/irda	EXPORT_SYMBOL
+0x2fdf2e43	snd_pcm_hw_constraint_step	sound/core/snd-pcm	EXPORT_SYMBOL
+0x92445aee	hrtimer_get_res	vmlinux	EXPORT_SYMBOL_GPL
+0x0e181f01	mca_device_transform_irq	vmlinux	EXPORT_SYMBOL
+0x9d699de2	ib_modify_port	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xc5bc1414	w1_register_family	drivers/w1/wire	EXPORT_SYMBOL
+0x75a9f4dd	gss_pseudoflavor_to_service	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x0db1ee4b	ieee80211_radar_status	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xbf414779	simple_transaction_release	vmlinux	EXPORT_SYMBOL
+0x89808c96	unlock_buffer	vmlinux	EXPORT_SYMBOL
+0x69f08f70	fb_find_mode	vmlinux	EXPORT_SYMBOL
+0xbe428679	sock_setsockopt	vmlinux	EXPORT_SYMBOL
+0x37ff7855	nf_conntrack_register_cache	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xe6e83698	nf_conntrack_l4proto_unregister	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x652cbc13	nf_conntrack_l3proto_unregister	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbfca56f7	nf_nat_pptp_hook_inbound	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x7ecb001b	__per_cpu_offset	vmlinux	EXPORT_SYMBOL
+0x821a0545	qdisc_put_rtab	vmlinux	EXPORT_SYMBOL
+0x7ade34bd	sas_queuecommand	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x7a0b13cd	tty_wakeup	vmlinux	EXPORT_SYMBOL_GPL
+0x429df35c	proto_register	vmlinux	EXPORT_SYMBOL
+0x1e4809ea	drm_exit	drivers/char/drm/drm	EXPORT_SYMBOL
+0x52064559	tpm_show_enabled	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x02c87454	rtc_irq_unregister	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x3d98cf73	set_sig_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0xf0c7cc95	down_read	vmlinux	EXPORT_SYMBOL
+0xa08eb2bb	flexcop_wan_set_speed	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xc5ff8494	snd_sbmixer_read	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0xf46067fb	kernel_subsys	vmlinux	EXPORT_SYMBOL_GPL
+0x31acd5f2	d_lookup	vmlinux	EXPORT_SYMBOL
+0x21909f7d	posix_acl_permission	vmlinux	EXPORT_SYMBOL
+0xfb633c0f	blk_queue_softirq_done	vmlinux	EXPORT_SYMBOL
+0xd9a23b59	dmam_free_coherent	vmlinux	EXPORT_SYMBOL
+0xa750e01e	transport_setup_device	vmlinux	EXPORT_SYMBOL_GPL
+0x612f05f7	skb_copy_expand	vmlinux	EXPORT_SYMBOL
+0x981026f6	km_report	vmlinux	EXPORT_SYMBOL
+0x51a74630	v4l_compat_translate_ioctl	drivers/media/video/v4l1-compat	EXPORT_SYMBOL
+0xabd0c91c	rtc_time_to_tm	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x35aa5883	sas_phy_reset	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x16bd3948	sys_read	vmlinux	EXPORT_SYMBOL_GPL
+0x14b65430	pci_iomap	vmlinux	EXPORT_SYMBOL
+0x80b07100	ib_reg_phys_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x90edffff	b1dma_reset	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x7c20763e	pcmcia_put_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xadbd87d9	pcmcia_get_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xf811e69d	scsi_eh_flush_done_q	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x372390b2	cap_task_post_setuid	security/commoncap	EXPORT_SYMBOL
+0xe9abc331	snd_cs4231_timer	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x3762cb6e	ioremap_nocache	vmlinux	EXPORT_SYMBOL
+0x6ea29b35	percpu_counter_sum	vmlinux	EXPORT_SYMBOL
+0x5bb9fc08	serio_unregister_port	vmlinux	EXPORT_SYMBOL
+0x7c46233a	cpufreq_quick_get	vmlinux	EXPORT_SYMBOL
+0x984a82cc	dm_io_sync	drivers/md/dm-mod	EXPORT_SYMBOL
+0x1bb3671e	nfs4_acl_add_ace	fs/nfsd/nfsd	EXPORT_SYMBOL
+0xea858cb5	radix_tree_gang_lookup_tag	vmlinux	EXPORT_SYMBOL
+0x8a6243e6	klist_add_head	vmlinux	EXPORT_SYMBOL_GPL
+0xc1fea0c1	ir_codes_pv951	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6538f079	dvb_ringbuffer_read	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x35fd5387	scsi_remove_host	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x68a24153	snd_pcm_format_physical_width	sound/core/snd-pcm	EXPORT_SYMBOL
+0x041b456d	sync_dirty_buffer	vmlinux	EXPORT_SYMBOL
+0x4060635b	devm_ioremap_nocache	vmlinux	EXPORT_SYMBOL
+0xc722d3cc	dvb_pll_attach	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x1b6218c4	scsi_is_host_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x9b160517	pci_remove_bus_device	vmlinux	EXPORT_SYMBOL
+0xb5ba056a	netlink_has_listeners	vmlinux	EXPORT_SYMBOL_GPL
+0xec232f48	tcp_reno_ssthresh	vmlinux	EXPORT_SYMBOL_GPL
+0x387e5da1	edac_mc_add_mc	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x4de7243d	ib_fmr_pool_map_phys	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x878ea212	matroxfb_g450_setclk	drivers/video/matrox/g450_pll	EXPORT_SYMBOL
+0x34cbaf33	ebt_register_table	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x69fe8f39	inode_init_once	vmlinux	EXPORT_SYMBOL
+0x41ca806c	add_disk_randomness	vmlinux	EXPORT_SYMBOL
+0xe1df1e5f	sysctl_tcp_tso_win_divisor	vmlinux	EXPORT_SYMBOL
+0x1e5198bd	atm_init_aal5	vmlinux	EXPORT_SYMBOL
+0xdd6a3bd6	unmap_page_from_agp	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0xe58d39a0	rdma_resolve_route	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x97b64c91	usb_alloc_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x82da2ae9	__snd_util_memblk_new	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0xb26d5426	scsi_cmd_ioctl	vmlinux	EXPORT_SYMBOL
+0x4d04f160	device_move	vmlinux	EXPORT_SYMBOL_GPL
+0x716a9b6e	alloc_arcdev	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xd99c524f	pcmcia_suspend_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xa7206360	nf_ip6_checksum	net/ipv6/ipv6	EXPORT_SYMBOL
+0x9e887eaa	neigh_seq_stop	vmlinux	EXPORT_SYMBOL
+0xa0278021	drm_core_ioremapfree	drivers/char/drm/drm	EXPORT_SYMBOL
+0xbd9ca87b	async_unwrap_char	net/irda/irda	EXPORT_SYMBOL
+0x84cac4ba	blocking_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x5dbb084f	fb_prepare_logo	vmlinux	EXPORT_SYMBOL
+0x46621493	acpi_specific_hotkey_enabled	vmlinux	EXPORT_SYMBOL
+0x62049256	acpi_disable	vmlinux	EXPORT_SYMBOL
+0xd834efc3	pnp_device_attach	vmlinux	EXPORT_SYMBOL
+0xaeb7451e	ax25_defaddr	net/ax25/ax25	EXPORT_SYMBOL_GPL
+0x6cfe4465	sysfs_create_link	vmlinux	EXPORT_SYMBOL_GPL
+0xeb35eb27	blk_insert_request	vmlinux	EXPORT_SYMBOL
+0x6906244b	blk_stop_queue	vmlinux	EXPORT_SYMBOL
+0xb9fc1c25	blk_queue_segment_boundary	vmlinux	EXPORT_SYMBOL
+0x9e38be2c	attribute_container_register	vmlinux	EXPORT_SYMBOL_GPL
+0xe4b88a28	neigh_table_init	vmlinux	EXPORT_SYMBOL
+0x9d7abf7b	ata_noop_dev_select	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6a163b20	gigaset_add_event	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x918e62a0	cx88_core_irq	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x52fab0ed	mmc_register_driver	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xb34d4c2e	acpi_terminate	vmlinux	EXPORT_SYMBOL
+0x611d61a7	ide_init_drive_cmd	vmlinux	EXPORT_SYMBOL
+0x8bb2d3f8	ipmi_free_recv_msg	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x7a3383b9	add_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0xa7cfe272	svc_set_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xb4ece8a9	seq_release	vmlinux	EXPORT_SYMBOL
+0x62fdd480	pcim_iomap_table	vmlinux	EXPORT_SYMBOL
+0x682ceab9	ethtool_op_set_sg	vmlinux	EXPORT_SYMBOL
+0xf95c6870	journal_revoke	fs/jbd/jbd	EXPORT_SYMBOL
+0xe97f4ce5	qword_get	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2d48011d	snd_pcm_lib_preallocate_pages_for_all	sound/core/snd-pcm	EXPORT_SYMBOL
+0xba7dd041	midi_synth_bender	sound/oss/sound	EXPORT_SYMBOL
+0x3a07db6d	hidinput_disconnect	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0xa7c4fd6c	capi_message2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x7b291b5a	parport_register_driver	drivers/parport/parport	EXPORT_SYMBOL
+0xa9ccf3e4	ieee80211softmac_wx_get_wap	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xd6b33026	cpu_khz	vmlinux	EXPORT_SYMBOL
+0xf6e0e400	_read_trylock	vmlinux	EXPORT_SYMBOL
+0x6f29f1ce	sysfs_create_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0x2e0b68b8	elv_rb_latter_request	vmlinux	EXPORT_SYMBOL
+0x44ef527b	__blk_put_request	vmlinux	EXPORT_SYMBOL_GPL
+0xd6feefa5	agp_num_entries	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x53251df6	onenand_release	drivers/mtd/onenand/onenand	EXPORT_SYMBOL_GPL
+0xcc1fb551	baswap	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x557bfb23	rtl_ieee80211_wx_set_freq	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x50d82ea0	rtl_ieee80211_wx_get_freq	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x2db717fe	up_write	vmlinux	EXPORT_SYMBOL
+0xf12a45ea	blk_init_queue_node	vmlinux	EXPORT_SYMBOL
+0xc7148304	acpi_get_physical_device	vmlinux	EXPORT_SYMBOL
+0x6cdc5c6b	nla_strlcpy	vmlinux	EXPORT_SYMBOL
+0x561f186a	xfrm_state_unregister_afinfo	vmlinux	EXPORT_SYMBOL
+0x361f1ac9	klist_init	vmlinux	EXPORT_SYMBOL_GPL
+0xf930f094	dm_noflush_suspending	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0xcc9fb9cb	dccp_destroy_sock	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x56504ca2	midi_synth_reset	sound/oss/sound	EXPORT_SYMBOL
+0xb245cde6	fget	vmlinux	EXPORT_SYMBOL
+0xd197c06d	free_buffer_head	vmlinux	EXPORT_SYMBOL
+0xa3f9bf72	cpufreq_cpu_put	vmlinux	EXPORT_SYMBOL_GPL
+0xc2e5b6e7	cpufreq_cpu_get	vmlinux	EXPORT_SYMBOL_GPL
+0xa63d85ab	slhc_remember	drivers/net/slhc	EXPORT_SYMBOL
+0x75a61f8b	scsi_target_block	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x0076fe1f	auth_domain_put	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x828cb8cf	snd_rawmidi_kernel_open	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xbd07655e	ide_config_drive_speed	vmlinux	EXPORT_SYMBOL
+0x12a2c7cf	phy_sanitize_settings	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xfdb610fd	iscsi_complete_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x9a499576	phone_register_device	drivers/telephony/phonedev	EXPORT_SYMBOL
+0x6623214f	down_write	vmlinux	EXPORT_SYMBOL
+0x1e9fb789	vmtruncate	vmlinux	EXPORT_SYMBOL
+0x86e9acae	match_token	vmlinux	EXPORT_SYMBOL
+0x706b3a33	cpufreq_frequency_table_get_attr	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0xa99b123f	b1_free_card	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xccb9608d	rdc_8820_reset	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x0714f0c3	flush_signals	vmlinux	EXPORT_SYMBOL
+0xd84d1116	kill_block_super	vmlinux	EXPORT_SYMBOL
+0xcf00684f	posix_test_lock	vmlinux	EXPORT_SYMBOL
+0xda6704d3	pnp_resource_change	vmlinux	EXPORT_SYMBOL
+0x95c95e3f	ip_route_output_flow	vmlinux	EXPORT_SYMBOL_GPL
+0x0fbb4b63	FsmDelTimer	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x13d80488	dibusb_power_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x26c64c00	videocodec_unregister	drivers/media/video/videocodec	EXPORT_SYMBOL
+0x13a0adce	snd_gf1_i_write8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x094ffe96	kernel_sock_ioctl	vmlinux	EXPORT_SYMBOL
+0x14f7daf9	kernel_setsockopt	vmlinux	EXPORT_SYMBOL
+0x960b0214	kernel_getsockopt	vmlinux	EXPORT_SYMBOL
+0x1b540fe8	neigh_lookup_nodev	vmlinux	EXPORT_SYMBOL
+0x8a061d28	pccard_register_pcmcia	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x5beb90b6	mb_cache_entry_insert	fs/mbcache	EXPORT_SYMBOL
+0x8ffdb3b8	crc16	lib/crc16	EXPORT_SYMBOL
+0x81613af1	ccid_hc_tx_delete	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x2969f1ba	ccid_hc_rx_delete	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x1c822e02	nf_ct_remove_expectations	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0141192c	blk_put_request	vmlinux	EXPORT_SYMBOL
+0x65f6ad02	pnp_init_resource_table	vmlinux	EXPORT_SYMBOL
+0x1911af0a	nfnetlink_unicast	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xffd69112	snd_mixer_oss_ioctl_card	sound/core/oss/snd-mixer-oss	EXPORT_SYMBOL
+0x5b7eec2c	cdrom_mode_select	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0xb931ae53	dibusb2_0_streaming_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xfb961b1c	snd_es1688_create	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0xbe66740d	rt2x00lib_detect_channel_time	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xac7eb84c	switch_ipi_to_APIC_timer	vmlinux	EXPORT_SYMBOL
+0x9f522caa	mapping_tagged	vmlinux	EXPORT_SYMBOL
+0xce04542a	sock_queue_rcv_skb	vmlinux	EXPORT_SYMBOL
+0x2c5015a6	ata_port_schedule_eh	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5a8ea986	mmc_claim_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xe57d5245	matroxfb_vgaHWinit	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x6aff5c35	nf_conntrack_in	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x44f759a8	snd_pcm_lib_preallocate_free_for_all	sound/core/snd-pcm	EXPORT_SYMBOL
+0x5c39a0d7	module_add_driver	vmlinux	EXPORT_SYMBOL
+0xf93f6169	put_disk	vmlinux	EXPORT_SYMBOL
+0xf6bb4729	color_table	vmlinux	EXPORT_SYMBOL
+0x3fc68ddc	serio_interrupt	vmlinux	EXPORT_SYMBOL
+0x7120da58	dma_async_client_chan_request	vmlinux	EXPORT_SYMBOL
+0x8f0ffd46	cx88_risc_stopper	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x136a6347	aarp_send_ddp	net/appletalk/appletalk	EXPORT_SYMBOL
+0x6811e546	rpc_setbufsize	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x96984530	sound_install_mixer	sound/oss/sound	EXPORT_SYMBOL
+0xf1ea8a20	midi_synth_aftertouch	sound/oss/sound	EXPORT_SYMBOL
+0x5db6aad1	p54_rx	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x0085a44c	spi_sync	vmlinux	EXPORT_SYMBOL_GPL
+0xcdd361c3	nf_conntrack_unexpect_related	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6d4cd3d0	auth_unix_add_addr	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3d846434	proc_root_fs	vmlinux	EXPORT_SYMBOL
+0xb37ab086	ohci1394_init_iso_tasklet	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0x4f8b81a0	flexcop_dump_reg	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x67a81cf6	sppp_detach	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x08cae787	ieee80211_wx_get_scan	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xbef43296	console_conditional_schedule	vmlinux	EXPORT_SYMBOL
+0x75cbb20e	bus_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x846b8a62	ata_pata_acpi_handle	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5235efae	dst_pio_disable	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x3abcbf80	hostap_dump_tx_header	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x27a069d6	hostap_dump_rx_header	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x28631854	ieee80211softmac_wx_get_rate	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x31a89d59	rpc_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbf95c91b	ei_poll	drivers/net/8390	EXPORT_SYMBOL
+0x5d2483a4	fat_detach	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x58c18b4b	svc_destroy	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xca6b2f26	snd_unregister_device	sound/core/snd	EXPORT_SYMBOL
+0xaf7e6801	smp_call_function_single	vmlinux	EXPORT_SYMBOL
+0xa6c2009e	drm_ioctl	drivers/char/drm/drm	EXPORT_SYMBOL
+0x8b131313	ib_modify_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe75fb0d4	ib_copy_path_rec_to_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0x2baa6586	capilib_new_ncci	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x9d6a3846	dccp_orphan_count	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xb9c315d1	disk_round_stats	vmlinux	EXPORT_SYMBOL_GPL
+0xc0580937	rb_erase	vmlinux	EXPORT_SYMBOL
+0xeddfe49d	rtc_unregister	vmlinux	EXPORT_SYMBOL
+0x50211ee3	tcp_free_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0xc2621cbf	b1_reset_ctr	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xb1fff90b	dibusb2_0_power_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0xdc33fae0	hci_register_proto	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xa5c79544	switch_APIC_timer_to_ipi	vmlinux	EXPORT_SYMBOL
+0x7b8c1f01	unregister_kretprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x2adec1e0	__nvram_check_checksum	drivers/char/nvram	EXPORT_SYMBOL
+0x7c2f2afb	w1_calc_crc8	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x3421272c	efi	vmlinux	EXPORT_SYMBOL
+0x182aa3cb	set_blocksize	vmlinux	EXPORT_SYMBOL
+0x01438985	acpi_fadt_is_v1	vmlinux	EXPORT_SYMBOL
+0x371dde90	mac_hid_mouse_emulate_buttons	vmlinux	EXPORT_SYMBOL
+0xc523d4fa	video_usercopy	drivers/media/video/videodev	EXPORT_SYMBOL
+0x14817105	iscsi_destroy_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xb36a5b7f	usb_check_bandwidth	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xdbe06b56	cache_check	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x708d907f	snd_cs4231_mce_down	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xc0fc92b8	snd_gus_use_dec	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x45743c11	snd_gus_use_inc	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xcbc4c9ba	crypto_spawn_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0x0d6c963c	copy_from_user	vmlinux	EXPORT_SYMBOL
+0x272ec13f	uart_unregister_driver	vmlinux	EXPORT_SYMBOL
+0xe20abf78	md_done_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0x8305abb4	saa7146_pgtable_build_single	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x326b58d6	flexcop_i2c_request	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x6200c4c9	btcx_calc_skips	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0x5d99c951	cpci_hp_unregister_bus	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xb2df392a	ieee80211softmac_scan_finished	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x877ea721	snd_gf1_write8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x8671b455	snd_sbmixer_resume	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0xd84dfa1f	blk_execute_rq	vmlinux	EXPORT_SYMBOL
+0xf5633477	dmi_check_system	vmlinux	EXPORT_SYMBOL
+0x422eea74	inet_csk_search_req	vmlinux	EXPORT_SYMBOL_GPL
+0xcccd3117	mdio_bus_type	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x30449890	usb_ftdi_elan_edset_output	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xf5f7ccc5	hashbin_insert	net/irda/irda	EXPORT_SYMBOL
+0xd7dd777b	reserve_perfctr_nmi	vmlinux	EXPORT_SYMBOL
+0x01075bf0	panic	vmlinux	EXPORT_SYMBOL
+0x04486e88	rcu_batches_completed	vmlinux	EXPORT_SYMBOL_GPL
+0x82d79b51	sysctl_vfs_cache_pressure	vmlinux	EXPORT_SYMBOL_GPL
+0x9fc921bb	vsscanf	vmlinux	EXPORT_SYMBOL
+0x96f929e9	acpi_get_object_info	vmlinux	EXPORT_SYMBOL
+0xa03ab86c	get_wireless_stats	vmlinux	EXPORT_SYMBOL_GPL
+0x0f4a7063	tcf_exts_dump	vmlinux	EXPORT_SYMBOL
+0x87d640c9	ata_noop_qc_prep	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x75bc6e8b	dccp_hash	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xffff2629	ip6_xmit	net/ipv6/ipv6	EXPORT_SYMBOL
+0x83803124	rpc_call_sync	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x39a90206	put_files_struct	vmlinux	EXPORT_SYMBOL
+0x8ce0d7a9	audit_log_vformat	vmlinux	EXPORT_SYMBOL_GPL
+0x12f237eb	__kzalloc	vmlinux	EXPORT_SYMBOL
+0x8e879bb7	__vmalloc	vmlinux	EXPORT_SYMBOL
+0x12da5bb2	__kmalloc	vmlinux	EXPORT_SYMBOL
+0x8eb22acb	ide_hwifs	vmlinux	EXPORT_SYMBOL
+0xcda061c0	w1_remove_master_device	drivers/w1/wire	EXPORT_SYMBOL
+0x7c9bdbda	o2nm_get_node_by_ip	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x5d986fc9	note_to_freq	sound/oss/sound	EXPORT_SYMBOL
+0x2244321f	acpi_get_irq_routing_table	vmlinux	EXPORT_SYMBOL
+0x42313966	ata_sas_port_start	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0f0dc789	hid_free_device	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x2cbd98b3	ov511_register_decomp_module	ubuntu/media/ov511/ov511	EXPORT_SYMBOL
+0x79ef6ef2	flock_lock_file_wait	vmlinux	EXPORT_SYMBOL
+0x807e471a	pci_find_ht_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x8d72c714	pci_find_next_ht_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x7de966cf	__ip_select_ident	vmlinux	EXPORT_SYMBOL
+0x1e108535	gf128mul_init_64k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0x066df505	gf128mul_init_64k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0x6f303697	ata_sg_init	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb5d82983	journal_load	fs/jbd/jbd	EXPORT_SYMBOL
+0x06175ecf	rpc_wake_up_next	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x17ba231d	seq_input_event	sound/oss/sound	EXPORT_SYMBOL
+0xdb80ba70	locks_init_lock	vmlinux	EXPORT_SYMBOL
+0x878e7973	bio_add_pc_page	vmlinux	EXPORT_SYMBOL
+0x5152e605	memcmp	vmlinux	EXPORT_SYMBOL
+0xbb167766	fb_var_to_videomode	vmlinux	EXPORT_SYMBOL
+0x2c84127c	iw_handler_get_spy	vmlinux	EXPORT_SYMBOL
+0x2352e173	dvb_usb_device_exit	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x07abcb2c	xt_find_match	net/netfilter/x_tables	EXPORT_SYMBOL
+0x348212c3	d_alloc_name	vmlinux	EXPORT_SYMBOL
+0xc1154450	ide_end_request	vmlinux	EXPORT_SYMBOL
+0x9b19f882	serio_reconnect	vmlinux	EXPORT_SYMBOL
+0x1be85365	snd_vx_create	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xb42f36d5	vfs_readdir	vmlinux	EXPORT_SYMBOL
+0xa824c502	devm_ioport_unmap	vmlinux	EXPORT_SYMBOL
+0xa671269a	dma_async_memcpy_buf_to_buf	vmlinux	EXPORT_SYMBOL
+0x8ecf4acc	bttv_write_gpio	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x1992a2ba	param_set_long	vmlinux	EXPORT_SYMBOL
+0x06b636ff	simple_statfs	vmlinux	EXPORT_SYMBOL
+0x1b211538	vfs_quota_on	vmlinux	EXPORT_SYMBOL
+0x4d8b0c5c	blk_recount_segments	vmlinux	EXPORT_SYMBOL
+0x0ead5073	vscnprintf	vmlinux	EXPORT_SYMBOL
+0x6b60eef6	zlib_inflate	vmlinux	EXPORT_SYMBOL
+0x3771b461	crc_ccitt	lib/crc-ccitt	EXPORT_SYMBOL
+0xf27e1cbd	ip_mc_join_group	vmlinux	EXPORT_SYMBOL
+0xb90c071b	km_policy_notify	vmlinux	EXPORT_SYMBOL
+0xd81dbfa8	dm_io_async	drivers/md/dm-mod	EXPORT_SYMBOL
+0x7a3fa953	usb_string	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x2a02e224	xfrm4_tunnel_deregister	net/ipv4/tunnel4	EXPORT_SYMBOL
+0x68848cc3	xfrm6_tunnel_deregister	net/ipv6/tunnel6	EXPORT_SYMBOL
+0xd6d2be88	kmap_atomic_to_page	vmlinux	EXPORT_SYMBOL
+0x94cfa4ef	lease_modify	vmlinux	EXPORT_SYMBOL
+0xd47d4e1c	debugfs_remove	vmlinux	EXPORT_SYMBOL_GPL
+0x27a72488	ioread8_rep	vmlinux	EXPORT_SYMBOL
+0xf5815114	inet_csk_reqsk_queue_hash_add	vmlinux	EXPORT_SYMBOL_GPL
+0x2fbe6b0a	agp_generic_free_gatt_table	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x061bd350	ib_alloc_pd	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf948b2b0	usb_gadget_register_driver	drivers/usb/gadget/net2280	EXPORT_SYMBOL
+0xec28cac8	journal_update_superblock	fs/jbd/jbd	EXPORT_SYMBOL
+0x502c6089	srcu_read_lock	vmlinux	EXPORT_SYMBOL_GPL
+0x3360bb18	ioread32_rep	vmlinux	EXPORT_SYMBOL
+0x81f90c47	cpu_sysdev_class	vmlinux	EXPORT_SYMBOL
+0x0184a0c4	skb_clone_fraglist	vmlinux	EXPORT_SYMBOL
+0xe8f5ebb9	neigh_seq_start	vmlinux	EXPORT_SYMBOL
+0x1aba3eac	xfrm_dst_ifdown	vmlinux	EXPORT_SYMBOL
+0xc03da375	dibx000_exit_i2c_master	drivers/media/dvb/frontends/dibx000_common	EXPORT_SYMBOL
+0x74cab76d	dibx000_init_i2c_master	drivers/media/dvb/frontends/dibx000_common	EXPORT_SYMBOL
+0xae0103c3	tipc_shutdown	net/tipc/tipc	EXPORT_SYMBOL
+0x1a45cb6c	acpi_disabled	vmlinux	EXPORT_SYMBOL
+0x3be7af02	get_max_files	vmlinux	EXPORT_SYMBOL_GPL
+0x73e20c1c	strlcpy	vmlinux	EXPORT_SYMBOL
+0xcd0e269e	get_key_pinnacle_grey	drivers/media/video/ir-kbd-i2c	EXPORT_SYMBOL_GPL
+0x3e909d7f	rpc_put_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x45773eeb	snd_pcm_hw_constraint_ratdens	sound/core/snd-pcm	EXPORT_SYMBOL
+0x52fe113d	release_and_free_resource	sound/core/snd	EXPORT_SYMBOL
+0xf195c682	fb_invert_cmaps	vmlinux	EXPORT_SYMBOL
+0xf98b0275	tty_ldisc_put	vmlinux	EXPORT_SYMBOL_GPL
+0xbb3a60ab	fddi_type_trans	vmlinux	EXPORT_SYMBOL
+0x65fce835	tcf_em_tree_destroy	vmlinux	EXPORT_SYMBOL
+0x6f077fcf	ib_get_mad_data_offset	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x9d321af3	pcmcia_get_socket_by_nr	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xecfdd9c9	unload_uart401	sound/oss/uart401	EXPORT_SYMBOL
+0x74001fe9	driver_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x14675959	ide_init_sg_cmd	vmlinux	EXPORT_SYMBOL_GPL
+0xec7f1697	ideprobe_init	vmlinux	EXPORT_SYMBOL_GPL
+0x8416166b	nf_net_netfilter_sysctl_path	vmlinux	EXPORT_SYMBOL_GPL
+0x276a8b42	xfrm_state_check	vmlinux	EXPORT_SYMBOL
+0xc71f4341	ib_create_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xcec8514a	tipc_set_portunreturnable	net/tipc/tipc	EXPORT_SYMBOL
+0x7e5e290a	snd_gf1_new_mixer	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x41482d8b	strndup_user	vmlinux	EXPORT_SYMBOL
+0x433aedd7	blk_requeue_request	vmlinux	EXPORT_SYMBOL
+0x098b71c6	fb_dealloc_cmap	vmlinux	EXPORT_SYMBOL
+0x8fa1391a	snd_emu8000_poke	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x85c5bb56	pagevec_lookup	vmlinux	EXPORT_SYMBOL
+0xf7372970	crypto_init_spawn	vmlinux	EXPORT_SYMBOL_GPL
+0x8664f62e	cpufreq_update_policy	vmlinux	EXPORT_SYMBOL
+0x1dfaa011	agp_bind_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa6cd5138	mptscsih_target_destroy	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x5b218c98	mptscsih_remove	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xedeadd28	pccard_nonstatic_ops	drivers/pcmcia/rsrc_nonstatic	EXPORT_SYMBOL
+0xeeb6544e	snd_cs8427_iec958_pcm	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x7037d79d	k8_flush_garts	vmlinux	EXPORT_SYMBOL_GPL
+0x0359f865	sys_open	vmlinux	EXPORT_SYMBOL_GPL
+0xb869d210	xfrm_find_acq	vmlinux	EXPORT_SYMBOL
+0xea90baec	scsi_scan_host	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x89d4dbaf	usb_usual_check_type	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0x4676ff60	allocate_resource	vmlinux	EXPORT_SYMBOL
+0x4185cf4b	radix_tree_lookup_slot	vmlinux	EXPORT_SYMBOL
+0xe0b7e4b5	tcp_sendpage	vmlinux	EXPORT_SYMBOL
+0xeb4c4263	drm_sman_set_manager	drivers/char/drm/drm	EXPORT_SYMBOL
+0x7854ee14	gs_stop	drivers/char/generic_serial	EXPORT_SYMBOL
+0x07506ff9	ib_destroy_cq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb98a0185	rtc_tm_to_time	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0x10d40fcd	tipc_isconnected	net/tipc/tipc	EXPORT_SYMBOL
+0xef2e458d	remove_suid	vmlinux	EXPORT_SYMBOL
+0xc55d42cc	block_prepare_write	vmlinux	EXPORT_SYMBOL
+0xf9a054b5	__round_jiffies	vmlinux	EXPORT_SYMBOL_GPL
+0x38f29719	kill_pg	vmlinux	EXPORT_SYMBOL
+0x51dff956	spi_write_then_read	vmlinux	EXPORT_SYMBOL_GPL
+0x110d1fd7	dm_register_hw_handler	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0x84eb6543	mt2060_attach	drivers/media/dvb/frontends/mt2060	EXPORT_SYMBOL
+0x67191935	hostap_free_data	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x47a1825e	w1_reset_select_slave	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x670cd123	dccp_init_sock	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3a9bcad1	ip_vs_make_skb_writable	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x37e74642	get_jiffies_64	vmlinux	EXPORT_SYMBOL
+0xdf14299f	generic_shutdown_super	vmlinux	EXPORT_SYMBOL
+0xf8d15b0c	vfs_rmdir	vmlinux	EXPORT_SYMBOL
+0x181f5257	__hpsb_register_protocol	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x4fa21708	dvb_usb_get_hexline	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x7097df05	fat_notify_change	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x1b0a8f37	init_buffer	vmlinux	EXPORT_SYMBOL
+0x1807e38b	acpi_evaluate_integer	vmlinux	EXPORT_SYMBOL
+0xe6551480	del_mtd_partitions	drivers/mtd/mtdpart	EXPORT_SYMBOL
+0xb34d898b	scsi_track_queue_full	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x592944db	sas_port_delete_phy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x02a6ce5a	crc16_table	lib/crc16	EXPORT_SYMBOL
+0x8f967852	svc_create_thread	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x1258ab6d	cap_bprm_set_security	security/commoncap	EXPORT_SYMBOL
+0xd701e6d9	____request_resource	vmlinux	EXPORT_SYMBOL
+0x92868b97	videobuf_read_one	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x0c3aca26	qlogicfas408_abort	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x5fa9565e	o2hb_unregister_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x2a63516f	snd_card_new	sound/core/snd	EXPORT_SYMBOL
+0x2c5ea9ee	ieee80211_register_hwmode	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4ad915fb	vfs_link	vmlinux	EXPORT_SYMBOL
+0x686f1325	hpet_alloc	vmlinux	EXPORT_SYMBOL
+0x516c7440	sock_no_getname	vmlinux	EXPORT_SYMBOL
+0x0e24fbe8	drm_sman_alloc	drivers/char/drm/drm	EXPORT_SYMBOL
+0x4b5ac460	cpufreq_gov_userspace	drivers/cpufreq/cpufreq_userspace	EXPORT_SYMBOL
+0xd88bdf5f	rpcauth_create	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9e5a0ec1	snd_pcm_lib_readv	sound/core/snd-pcm	EXPORT_SYMBOL
+0x09a0b562	panic_notifier_list	vmlinux	EXPORT_SYMBOL
+0x93c1f1fa	ktime_get_real	vmlinux	EXPORT_SYMBOL_GPL
+0xf82abc1d	isa_dma_bridge_buggy	vmlinux	EXPORT_SYMBOL
+0x2200c465	phy_driver_unregister	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x84dc2892	usb_buffer_alloc	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x03df5d32	journal_flush	fs/jbd/jbd	EXPORT_SYMBOL
+0x14777d07	mod_timer	vmlinux	EXPORT_SYMBOL
+0x301a05a9	d_delete	vmlinux	EXPORT_SYMBOL
+0xfb223461	__xfrm_state_delete	vmlinux	EXPORT_SYMBOL
+0x2974ead1	DIVA_DIDD_Read	drivers/isdn/hardware/eicon/divadidd	EXPORT_SYMBOL
+0xd05594b6	unregister_mtd_chip_driver	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0x5b384ebc	param_get_invbool	vmlinux	EXPORT_SYMBOL
+0x9df0542a	idr_remove	vmlinux	EXPORT_SYMBOL
+0x99052a84	acpi_os_write_port	vmlinux	EXPORT_SYMBOL
+0x54058d52	init_mm	vmlinux	EXPORT_SYMBOL
+0x827c124c	pci_disable_device	vmlinux	EXPORT_SYMBOL
+0x33b9620c	tty_hangup	vmlinux	EXPORT_SYMBOL
+0x9e72c35d	devres_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x2766b45a	ide_dma_verbose	vmlinux	EXPORT_SYMBOL
+0x9fca848b	drm_get_resource_start	drivers/char/drm/drm	EXPORT_SYMBOL
+0x93368e6e	drm_sman_owner_cleanup	drivers/char/drm/drm	EXPORT_SYMBOL
+0x6db666dc	cx88_core_put	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xbf9d1b96	nfsd_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x42debef2	snd_ac97_set_rate	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xa3ddda18	inet_csk_ctl_sock_create	vmlinux	EXPORT_SYMBOL_GPL
+0x5c372971	llc_station_mac_sa	vmlinux	EXPORT_SYMBOL
+0x8ec2b312	dma_region_alloc	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd18a2559	ib_query_port	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbe4aedf2	b1dma_release_appl	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x17c3bdf6	mpt_device_driver_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x6f29fd87	alloc_hdlcdev	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x9e5a3aab	read_cache_page	vmlinux	EXPORT_SYMBOL
+0xb99f1af8	key_link	vmlinux	EXPORT_SYMBOL
+0x6cd93adf	con_is_bound	vmlinux	EXPORT_SYMBOL
+0x72a6b800	com20020_check	drivers/net/arcnet/com20020	EXPORT_SYMBOL
+0x992c7d6d	snd_emu8000_peek	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x56c5486e	cpu_present_map	vmlinux	EXPORT_SYMBOL
+0x57865b44	dquot_drop	vmlinux	EXPORT_SYMBOL
+0xc003c637	__strncpy_from_user	vmlinux	EXPORT_SYMBOL
+0xc1614549	ide_use_dma	vmlinux	EXPORT_SYMBOL_GPL
+0x78dbbfff	dev_change_flags	vmlinux	EXPORT_SYMBOL
+0x14ac44fd	onenand_default_bbt	drivers/mtd/onenand/onenand	EXPORT_SYMBOL
+0x720991ef	ieee80211softmac_stop	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xe92ca9f6	blkdev_driver_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x2c9d9566	dmi_name_in_vendors	vmlinux	EXPORT_SYMBOL
+0x4166e3a0	nla_put_nohdr	vmlinux	EXPORT_SYMBOL
+0xcd2035c5	xfrm_state_walk	vmlinux	EXPORT_SYMBOL
+0xbca88449	nand_scan	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0x97fdad28	lapb_unregister	net/lapb/lapb	EXPORT_SYMBOL
+0x59178cf0	snd_opl3_new	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x871633f5	profile_pc	vmlinux	EXPORT_SYMBOL
+0x9d8eb63e	__kill_fasync	vmlinux	EXPORT_SYMBOL
+0xc40239eb	keyring_clear	vmlinux	EXPORT_SYMBOL
+0xa94188b0	lgh06xf_attach	drivers/media/dvb/frontends/lgh06xf	EXPORT_SYMBOL
+0x16f56003	pcmcia_socket_list_rwsem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x6525e5a2	scsi_set_medium_removal	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf19294db	bt_sock_unregister	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xc2cf384b	dm_io_sync_vm	drivers/md/dm-mod	EXPORT_SYMBOL
+0xd53b8ef4	ebt_unregister_match	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x1f65047e	gss_service_to_auth_domain_name	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xf5fec84d	snd_timer_resolution	sound/core/snd-timer	EXPORT_SYMBOL
+0xc4b9e92d	sound_timer_devs	sound/oss/sound	EXPORT_SYMBOL
+0x0237b57a	arch_unregister_cpu	vmlinux	EXPORT_SYMBOL
+0xa87153ef	generic_unplug_device	vmlinux	EXPORT_SYMBOL
+0xc755eba6	fb_set_var	vmlinux	EXPORT_SYMBOL
+0x572759ac	__nla_put	vmlinux	EXPORT_SYMBOL
+0x9de05239	csr1212_detach_keyval_from_directory	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xee93522c	hisax_register	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x3dcff9af	snd_gf1_write16	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x1f8ec1b3	acpi_get_pci_rootbridge_handle	vmlinux	EXPORT_SYMBOL_GPL
+0x919245a9	inet_diag_register	vmlinux	EXPORT_SYMBOL_GPL
+0xc4908510	pcmcia_adjust_io_region	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x713d88c3	sas_port_mark_backlink	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xfad0097a	svc_sock_names	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf76c846d	snd_es1688_pcm	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0xda8af7ad	fb_find_nearest_mode	vmlinux	EXPORT_SYMBOL
+0xab4f6c88	snd_pcm_hw_rule_add	sound/core/snd-pcm	EXPORT_SYMBOL
+0x2fe40cfb	synth_alive	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x5a4896a8	__put_user_2	vmlinux	EXPORT_SYMBOL
+0x4888a014	__get_user_2	vmlinux	EXPORT_SYMBOL
+0x85e5a3db	ktime_get_ts	vmlinux	EXPORT_SYMBOL_GPL
+0xbdbd9aa1	blk_free_tags	vmlinux	EXPORT_SYMBOL
+0x53d7edee	__iscsi_complete_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xc31c83b0	usb_init_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x1cddf7e6	o2nm_get_node_by_num	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x3b91f3af	snd_free_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xa5eb0d68	snd_card_file_remove	sound/core/snd	EXPORT_SYMBOL
+0x3df4838d	inet_listen_wlock	vmlinux	EXPORT_SYMBOL
+0x56c29171	ata_port_queue_task	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa10740a5	ata_data_xfer_noirq	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xcccfb2fa	sata_deb_timing_hotplug	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5dd9885c	tpm_bios_log_setup	drivers/char/tpm/tpm_bios	EXPORT_SYMBOL_GPL
+0x11f0d0bf	scsi_device_put	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x201cfdb8	scsi_device_get	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf3797152	snd_interval_ratnum	sound/core/snd-pcm	EXPORT_SYMBOL
+0x9bf1cc62	ad1848_unload	sound/oss/ad1848	EXPORT_SYMBOL
+0xb55164f5	snd_ac97_read	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x322c6fc2	__check_region	vmlinux	EXPORT_SYMBOL
+0x691964ec	xfrm_policy_flush	vmlinux	EXPORT_SYMBOL
+0x5f4ff241	tpm_show_pcrs	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xbe866c16	dm_register_path_selector	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0x0e4a31ec	snd_emu8000_update_reverb_mode	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x4760222c	key_task_permission	vmlinux	EXPORT_SYMBOL
+0x74c0571d	ieee80211_unregister_crypto_ops	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xc6d4b42a	nf_nat_protocol_register	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xdcad9011	sock_sendmsg	vmlinux	EXPORT_SYMBOL
+0x5ba35091	inet_diag_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x8f03b9f8	detach_capi_ctr	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x6667927e	sas_domain_attach_transport	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x6ace70ee	ieee80211softmac_wx_set_wap	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x60b890d8	nf_nat_protocol_unregister	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0xebe2dca6	irda_task_delete	net/irda/irda	EXPORT_SYMBOL
+0xade88e76	snd_malloc_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xf3c44190	snd_i2c_bus_create	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0x1638f749	ieee80211_rate_control_register	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x9083aae4	ide_register_region	vmlinux	EXPORT_SYMBOL_GPL
+0xc4c628ba	destroy_EII_client	vmlinux	EXPORT_SYMBOL
+0x09feb992	rtc_set_mmss	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x204f5fc0	usb_hcd_pci_suspend	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x80cc96d8	snd_hwdep_new	sound/core/snd-hwdep	EXPORT_SYMBOL
+0xd986dad1	kernel_fpu_begin	vmlinux	EXPORT_SYMBOL_GPL
+0x9345e2d3	lease_get_mtime	vmlinux	EXPORT_SYMBOL
+0xf023b91f	sb_set_blocksize	vmlinux	EXPORT_SYMBOL
+0x57f303a4	vfs_quota_off	vmlinux	EXPORT_SYMBOL
+0x6045cb85	class_register	vmlinux	EXPORT_SYMBOL_GPL
+0xf1b5cfa6	netif_carrier_off	vmlinux	EXPORT_SYMBOL
+0x4e2b8aca	ipmi_set_gets_events	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x96031958	mmc_request_done	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x62be23ea	cycx_setup	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0xc63d85b6	get_task_mm	vmlinux	EXPORT_SYMBOL_GPL
+0xcb51d0fd	vmalloc_to_pfn	vmlinux	EXPORT_SYMBOL
+0xbebd011c	qdisc_unlock_tree	vmlinux	EXPORT_SYMBOL
+0xc169a18f	arc_raw_proto	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x8944812f	parport_ieee1284_epp_read_addr	drivers/parport/parport	EXPORT_SYMBOL
+0xabd8e427	matroxfb_var2my	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x5060aa8d	matroxfb_DAC_in	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x071aabfd	ip6_sk_dst_lookup	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x294b5550	bttv_get_id	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x7bce2eac	ieee80211_ctstoself_duration	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x2462fd7f	dump_fpu	vmlinux	EXPORT_SYMBOL
+0xae254ca9	lock_super	vmlinux	EXPORT_SYMBOL
+0x057cacf8	crypto_unregister_alg	vmlinux	EXPORT_SYMBOL_GPL
+0x2e53361e	ide_register_hw	vmlinux	EXPORT_SYMBOL
+0xc3b177ba	register_tcf_proto_ops	vmlinux	EXPORT_SYMBOL
+0x318920b1	register_dock_notifier	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0xc0e263a7	generic_file_aio_write	vmlinux	EXPORT_SYMBOL
+0x9c52d484	filp_open	vmlinux	EXPORT_SYMBOL
+0x4124994c	get_empty_filp	vmlinux	EXPORT_SYMBOL
+0xc9ab2eef	acpi_os_wait_events_complete	vmlinux	EXPORT_SYMBOL
+0x273aace0	unregister_md_personality	drivers/md/md-mod	EXPORT_SYMBOL
+0xa9f5379a	o2net_send_message_vec	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x3287e0bc	run_scheduled_work	vmlinux	EXPORT_SYMBOL
+0x7e32f6d3	copy_io_context	vmlinux	EXPORT_SYMBOL
+0x955de0cc	xfrm_calg_get_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x3003e770	agp_allocate_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x1cb148f5	ir_extract_bits	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x955ca3c7	z8530_sync	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xb90269ad	dccp_timestamp	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x6b5c6200	ip_vs_tcp_conn_listen	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xcb324a47	rxrpc_put_call	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x88cc66cc	snd_pcm_link_rwlock	sound/core/snd-pcm	EXPORT_SYMBOL
+0x5c8c56a7	snd_rawmidi_set_ops	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x95f20aa8	__free_pages	vmlinux	EXPORT_SYMBOL
+0xe214722c	get_disk	vmlinux	EXPORT_SYMBOL
+0xb83196c7	matroxfb_DAC_out	drivers/video/matrox/matroxfb_misc	EXPORT_SYMBOL
+0x830b49a9	pci_scan_child_bus	vmlinux	EXPORT_SYMBOL_GPL
+0x6fa971e2	inet_bind	vmlinux	EXPORT_SYMBOL
+0xfadcf9f1	parport_put_port	drivers/parport/parport	EXPORT_SYMBOL
+0x97f09af8	parport_get_port	drivers/parport/parport	EXPORT_SYMBOL
+0xc9909758	nf_nat_amanda_hook	net/netfilter/nf_conntrack_amanda	EXPORT_SYMBOL_GPL
+0xb949ab9f	snd_cs4231_create	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x151408ca	snd_cs4236_create	sound/isa/cs423x/snd-cs4236-lib	EXPORT_SYMBOL
+0x263ab6d1	pci_assign_resource	vmlinux	EXPORT_SYMBOL
+0xfbfd9a4d	xfrm_init_state	vmlinux	EXPORT_SYMBOL
+0x389e200f	ioread8	vmlinux	EXPORT_SYMBOL
+0xdd053af8	input_grab_device	vmlinux	EXPORT_SYMBOL
+0x498472ab	skb_split	vmlinux	EXPORT_SYMBOL
+0xa3c6cc5e	xfrm_user_policy	vmlinux	EXPORT_SYMBOL
+0x3cd36160	dvb_generic_open	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xeae4a871	default_mtd_writev	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x6f46a1fe	journal_try_to_free_buffers	fs/jbd/jbd	EXPORT_SYMBOL
+0xc3cf1128	in_group_p	vmlinux	EXPORT_SYMBOL
+0x3ed76b8c	netlink_broadcast	vmlinux	EXPORT_SYMBOL
+0x28dcf25c	udplite_hash	vmlinux	EXPORT_SYMBOL
+0x686c703f	xfrm_count_auth_supported	vmlinux	EXPORT_SYMBOL_GPL
+0x556fe0f5	ib_destroy_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x45813364	elv_rb_former_request	vmlinux	EXPORT_SYMBOL
+0xdabf8fbb	udp_sendmsg	vmlinux	EXPORT_SYMBOL
+0x7c32d48b	ax25_send_frame	net/ax25/ax25	EXPORT_SYMBOL
+0xf1114f27	snd_cs4231_put_double	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x0c486b72	ide_unregister	vmlinux	EXPORT_SYMBOL
+0x973cfc0d	ib_sa_mcmember_rec_query	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0xbde33c2b	usb_get_intf	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xd6524c3d	usb_kill_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xc875f3c9	ieee80211softmac_wx_set_rate	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xda0481e5	snd_timer_stop	sound/core/snd-timer	EXPORT_SYMBOL
+0xc64a34b1	rtl_ieee80211_wx_set_essid	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xb2fe45fe	rtl_ieee80211_wx_get_essid	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8ca99a04	audit_log	vmlinux	EXPORT_SYMBOL
+0x5f52ef4e	dst_error_recovery	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xf5cf7db0	tifm_add_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x97dbe407	pci_enable_wake	vmlinux	EXPORT_SYMBOL
+0xc6c588e2	sk_wait_data	vmlinux	EXPORT_SYMBOL
+0x0f28cb91	nvram_read_byte	drivers/char/nvram	EXPORT_SYMBOL
+0x248c2b2f	xdr_process_buf	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa071f119	snd_sbdsp_get_byte	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x04d008cd	mark_tsc_unstable	vmlinux	EXPORT_SYMBOL_GPL
+0x04a20170	unshare_files	vmlinux	EXPORT_SYMBOL
+0x6426a07a	acpi_lock_battery_dir	vmlinux	EXPORT_SYMBOL
+0x113c8678	hostap_get_stats	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x9cccf3ce	xt_replace_table	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x582c3df7	snd_ak4114_reinit	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xf07b0c7a	snd_ak4117_reinit	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x80101484	end_buffer_read_sync	vmlinux	EXPORT_SYMBOL
+0xd48b1226	acpi_rs_match_vendor_resource	vmlinux	EXPORT_SYMBOL
+0x08677b87	tpm_remove_hardware	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x7fe9be7c	rdma_resolve_ip	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x8685a91d	sas_task_abort	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xd4883565	snd_midi_event_encode_byte	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x5418d52a	param_get_ushort	vmlinux	EXPORT_SYMBOL
+0x27e2fa2b	unregister_jprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x28b41ed8	neigh_for_each	vmlinux	EXPORT_SYMBOL
+0xeb822224	tcf_em_tree_dump	vmlinux	EXPORT_SYMBOL
+0x934996e9	ata_eng_timeout	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6971447a	rtc_month_days	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0xa1ca4fac	sas_register_ha	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x7e64181d	usb_calc_bus_time	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xd128a602	snd_vx_setup_firmware	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x55bcc145	pci_add_new_bus	vmlinux	EXPORT_SYMBOL
+0x7ecc01c7	vcc_insert_socket	vmlinux	EXPORT_SYMBOL
+0x94dc62d2	ata_scsi_ioctl	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5f4b7215	usb_find_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x736f7c31	snd_emu10k1_ptr_read	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x34e43f9f	scatterwalk_start	vmlinux	EXPORT_SYMBOL_GPL
+0xf82e3d47	acpi_initialize_objects	vmlinux	EXPORT_SYMBOL
+0x712adc4c	register_acpi_bus_type	vmlinux	EXPORT_SYMBOL
+0xad7470a9	phy_start_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xa5c36cec	inotify_unmount_inodes	vmlinux	EXPORT_SYMBOL_GPL
+0x87634e65	sock_i_ino	vmlinux	EXPORT_SYMBOL
+0x3fe3e9fc	sock_i_uid	vmlinux	EXPORT_SYMBOL
+0x90dd9278	netdev_boot_setup_check	vmlinux	EXPORT_SYMBOL
+0xadbc8c7b	xfrm_state_check_expire	vmlinux	EXPORT_SYMBOL
+0x7620fca1	parport_register_port	drivers/parport/parport	EXPORT_SYMBOL
+0x134d0cb2	ieee80211_get_channel_flags	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xb2780f36	mempool_alloc	vmlinux	EXPORT_SYMBOL
+0x457594fa	crypto_alg_list	vmlinux	EXPORT_SYMBOL_GPL
+0x6b6f03eb	cpufreq_unregister_driver	vmlinux	EXPORT_SYMBOL_GPL
+0xf59339dd	register_gifconf	vmlinux	EXPORT_SYMBOL
+0x9e767733	ip_build_and_send_pkt	vmlinux	EXPORT_SYMBOL_GPL
+0x0028fca7	snd_register_device	sound/core/snd	EXPORT_SYMBOL
+0x09e3f805	snd_emux_lock_voice	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x44fb7e74	synth	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x263b54cc	acpi_resource_to_address64	vmlinux	EXPORT_SYMBOL
+0x2ca7712a	irda_register_dongle	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xeecc6fb9	inet_dccp_listen	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x141bdff0	proc_dointvec_minmax	vmlinux	EXPORT_SYMBOL
+0x73854fe0	iscsi_conn_stop	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xa1457e5f	kmap	vmlinux	EXPORT_SYMBOL
+0xdc43a9c8	daemonize	vmlinux	EXPORT_SYMBOL
+0xda7996ab	ide_setup_pci_device	vmlinux	EXPORT_SYMBOL_GPL
+0x564c06ad	atm_charge	vmlinux	EXPORT_SYMBOL
+0x7af96325	i2c_bus_type	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x3811daea	ir_codes_manli	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc3d4edf5	pccard_static_ops	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xb1cb1056	_spin_unlock_bh	vmlinux	EXPORT_SYMBOL
+0x35555c86	put_page	vmlinux	EXPORT_SYMBOL
+0x04dbca51	blk_queue_make_request	vmlinux	EXPORT_SYMBOL
+0xa9a75df4	put_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x219cbabe	dma_region_offset_to_bus	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x91d99e08	icmpv6_send	net/ipv6/ipv6	EXPORT_SYMBOL
+0x6c6feef2	vfs_getattr	vmlinux	EXPORT_SYMBOL
+0x9db8273d	tty_ldisc_deref	vmlinux	EXPORT_SYMBOL_GPL
+0x06c3c46b	led_classdev_resume	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0xa76aecc9	saa7146_vv_release	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x51be37e7	bt878	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x32506844	rtc_device_register	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xe4d4f06d	irda_task_next_state	net/irda/irda	EXPORT_SYMBOL
+0x5701686e	nf_conntrack_lock	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xb45b24f6	k8_nb_ids	vmlinux	EXPORT_SYMBOL
+0x5e7241fa	nobh_truncate_page	vmlinux	EXPORT_SYMBOL
+0x09a47533	bd_claim_by_disk	vmlinux	EXPORT_SYMBOL_GPL
+0x536be5ce	put_io_context	vmlinux	EXPORT_SYMBOL
+0x14e607a3	mca_unregister_driver	vmlinux	EXPORT_SYMBOL
+0xdcb43a75	neigh_update	vmlinux	EXPORT_SYMBOL
+0xe028194d	inet_del_protocol	vmlinux	EXPORT_SYMBOL
+0x7ef03b65	phy_stop	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x477fb8e7	spi_bitbang_start	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0xf6484d1a	end_that_request_chunk	vmlinux	EXPORT_SYMBOL
+0x64b4d60b	ethtool_op_set_tx_hw_csum	vmlinux	EXPORT_SYMBOL
+0x4f4662a7	iscsi_conn_start	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xbaeb4700	o2hb_check_node_heartbeating_from_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xb7c8a16c	snd_seq_instr_free_use	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0xd03e3ff4	snd_vx_check_reg_bit	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xe49414e9	rtattr_parse	vmlinux	EXPORT_SYMBOL
+0x960d9427	icmp_send	vmlinux	EXPORT_SYMBOL
+0xb44d6543	dvb_ringbuffer_pkt_write	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x11fb8d8b	nand_scan_tail	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0x72202e93	hrtimer_start	vmlinux	EXPORT_SYMBOL_GPL
+0x23864ce7	cpuset_mem_spread_node	vmlinux	EXPORT_SYMBOL_GPL
+0xcb2c38ef	security_ops	vmlinux	EXPORT_SYMBOL
+0x1f17415c	xfrm_state_update	vmlinux	EXPORT_SYMBOL
+0x9726f863	ata_device_blacklisted	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xab54337d	usb_deregister_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x9941ccb8	free_pages	vmlinux	EXPORT_SYMBOL
+0x248ed2ab	ilookup	vmlinux	EXPORT_SYMBOL
+0x2dbc755e	iowrite32_rep	vmlinux	EXPORT_SYMBOL
+0x1eba9e49	iowrite16_rep	vmlinux	EXPORT_SYMBOL
+0x16db94a4	dev_open	vmlinux	EXPORT_SYMBOL
+0xdf3c19ec	cn_add_callback	drivers/connector/cn	EXPORT_SYMBOL_GPL
+0x0bc39aae	hashbin_delete	net/irda/irda	EXPORT_SYMBOL
+0xc3067e4c	snd_cards	sound/core/snd	EXPORT_SYMBOL
+0xf82f16b3	execute_in_process_context	vmlinux	EXPORT_SYMBOL_GPL
+0x084d7eb7	__f_setown	vmlinux	EXPORT_SYMBOL
+0x7bb3faad	unlock_new_inode	vmlinux	EXPORT_SYMBOL
+0x2c74cc93	class_device_remove_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0x6a5b6ea4	dmi_get_system_info	vmlinux	EXPORT_SYMBOL
+0xcda0ded2	btcx_screen_clips	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0xe098cd15	nat_q931_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x73c4c993	snd_mpu401_uart_interrupt_tx	sound/drivers/mpu401/snd-mpu401-uart	EXPORT_SYMBOL
+0x4cc94d77	__ieee80211_rx	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x625acc81	__down_failed_interruptible	vmlinux	EXPORT_SYMBOL
+0x4ba94a27	fput	vmlinux	EXPORT_SYMBOL
+0xe41078cf	kset_register	vmlinux	EXPORT_SYMBOL
+0x62737e1d	sock_unregister	vmlinux	EXPORT_SYMBOL
+0x518fcbfb	tms380tr_interrupt	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0xab167621	nf_nat_mangle_tcp_packet	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x0c004a73	xt_find_table_lock	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xb90eff67	posix_timer_event	vmlinux	EXPORT_SYMBOL_GPL
+0x5ca0bacd	acpi_os_map_memory	vmlinux	EXPORT_SYMBOL_GPL
+0xb9eb7229	platform_device_alloc	vmlinux	EXPORT_SYMBOL_GPL
+0x078ae196	eighty_ninty_three	vmlinux	EXPORT_SYMBOL
+0x0721b2ca	pcmcia_get_window	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xaffcfa29	sas_phy_delete	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xb9394173	irias_delete_value	net/irda/irda	EXPORT_SYMBOL
+0xb31ddfb4	get_cmos_time	vmlinux	EXPORT_SYMBOL
+0xa34cd2cd	arc_bcast_proto	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x9246356a	journal_set_features	fs/jbd/jbd	EXPORT_SYMBOL
+0xf13fc8d6	_read_lock_irq	vmlinux	EXPORT_SYMBOL
+0x76e9fa3b	add_disk	vmlinux	EXPORT_SYMBOL
+0x141dbf9b	acpi_bus_receive_event	vmlinux	EXPORT_SYMBOL
+0xbab0e579	cx88_risc_databuffer	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x7e5279c5	sas_phy_free	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x2b203c44	posix_lock_file_wait	vmlinux	EXPORT_SYMBOL
+0xe20711ad	posix_lock_file_conf	vmlinux	EXPORT_SYMBOL
+0x0b23fe58	inet_shutdown	vmlinux	EXPORT_SYMBOL
+0xc761c80a	mptscsih_info	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x3c5c5ea9	rtl_ieee80211_wx_set_rawtx	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xf32a1020	clocksource_reselect	vmlinux	EXPORT_SYMBOL
+0xf31fb9b3	vmalloc_to_page	vmlinux	EXPORT_SYMBOL
+0x4e830a3e	strnicmp	vmlinux	EXPORT_SYMBOL
+0xd66dc728	pnp_manual_config_dev	vmlinux	EXPORT_SYMBOL
+0xe3feadb9	uart_remove_one_port	vmlinux	EXPORT_SYMBOL
+0x375805c1	ide_register_subdriver	vmlinux	EXPORT_SYMBOL
+0x14ccf08d	inet_csk_clone	vmlinux	EXPORT_SYMBOL_GPL
+0x63d27f34	hpsb_iso_shutdown	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf4022438	xt_unregister_table	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x1479cb03	tipc_deleteport	net/tipc/tipc	EXPORT_SYMBOL
+0xfa5c48ba	__wake_up_bit	vmlinux	EXPORT_SYMBOL
+0x737e6531	hostap_info_init	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x2eda9b70	usb_get_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x781ca38c	fbcon_set_bitops	drivers/video/console/bitblit	EXPORT_SYMBOL
+0x302a6d50	journal_start_commit	fs/jbd/jbd	EXPORT_SYMBOL
+0x1d027e4b	snd_pcm_format_signed	sound/core/snd-pcm	EXPORT_SYMBOL
+0x2becad38	add_wait_queue_exclusive	vmlinux	EXPORT_SYMBOL
+0xdd77f84e	user_instantiate	vmlinux	EXPORT_SYMBOL_GPL
+0xbf16c1f5	pci_find_device	vmlinux	EXPORT_SYMBOL
+0xa45d08e3	sock_release	vmlinux	EXPORT_SYMBOL
+0xc7b2252d	flexcop_sram_ctrl	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x03bda3ea	dst_command	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x5cd24d29	z8530_hdlc_kilostream	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x283836f3	usb_hcd_giveback_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x08ed0b62	mac_vmode_to_var	drivers/video/macmodes	EXPORT_SYMBOL
+0xf78e8303	xdr_encode_array2	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x655cb202	snd_sf_linear_to_log	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x3f8de9d2	register_posix_clock	vmlinux	EXPORT_SYMBOL_GPL
+0xe43ad7f2	__handle_mm_fault	vmlinux	EXPORT_SYMBOL_GPL
+0x863cb91a	utf8_wcstombs	vmlinux	EXPORT_SYMBOL
+0xf02a055b	b1dmactl_read_proc	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xd8eacdaf	usb_claim_bandwidth	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x24e9991f	nlmclnt_proc	fs/lockd/lockd	EXPORT_SYMBOL
+0x75811312	crc_ccitt_table	lib/crc-ccitt	EXPORT_SYMBOL
+0xc2101e8f	nf_nat_icmp_reply_translation	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x3ddcddc0	snd_gf1_mem_xfree	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x2d4ddaae	snd_emu10k1_synth_bzero	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0xd6ee688f	vmalloc	vmlinux	EXPORT_SYMBOL
+0x58994e1c	mpage_readpage	vmlinux	EXPORT_SYMBOL
+0xca12ddc0	idr_init	vmlinux	EXPORT_SYMBOL
+0xa22fd433	netdev_set_master	vmlinux	EXPORT_SYMBOL
+0xe6f559a7	gf128mul_init_4k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0xfe882997	gf128mul_init_4k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0xdfcf23df	ir_codes_norwood	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x722613e3	__orinoco_down	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x4dc7b9d3	spi_bitbang_transfer	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0xd0748ad7	rt2x00lib_load_firmware_wait	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x170fa9df	pci_request_region	vmlinux	EXPORT_SYMBOL
+0xd2634406	ata_bmdma_error_handler	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xcc74a8fe	set_cr0	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xed47b224	hermes_struct_init	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xf90736d6	snd_trident_synth_alloc	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x25f4ad08	flexcop_sram_set_dest	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x4af46fa2	snd_emu10k1_voice_free	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x61e750f1	ib_detach_mcast	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x7a2dec00	ib_attach_mcast	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x981e0015	scsi_adjust_queue_depth	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd651ce92	mb_cache_entry_find_first	fs/mbcache	EXPORT_SYMBOL
+0x01f65f13	lock_rename	vmlinux	EXPORT_SYMBOL
+0xc18a4c25	bio_split	vmlinux	EXPORT_SYMBOL
+0x26de6813	acpi_bus_add	vmlinux	EXPORT_SYMBOL
+0xfd52c20c	tcp_unregister_congestion_control	vmlinux	EXPORT_SYMBOL_GPL
+0xb1d81e6e	agp_generic_alloc_page	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x31c24aa4	capi20_isinstalled	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x6aba7c71	ppp_unregister_compressor	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x735e9f37	gss_mech_get_by_name	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x78935f56	cap_capset_check	security/commoncap	EXPORT_SYMBOL
+0xeea4d136	class_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x1e2d14e2	i2c_bit_add_bus	drivers/i2c/algos/i2c-algo-bit	EXPORT_SYMBOL
+0xd25d344d	dccp_set_state	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x842499d3	neigh_sysctl_register	vmlinux	EXPORT_SYMBOL
+0xce0ceabf	netlink_unicast	vmlinux	EXPORT_SYMBOL
+0x50b966fc	tcp_check_req	vmlinux	EXPORT_SYMBOL
+0x6b8decc5	ata_bmdma_status	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x45b08f68	ir_codes_pinnacle_grey	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc5b650b0	i2o_device_claim_release	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xe78e2f79	sppp_close	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x3703d139	usb_ftdi_elan_edset_single	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0xed23741c	per_cpu__nf_conntrack_stat	net/netfilter/nf_conntrack	EXPORT_SYMBOL
+0x2c68dcd5	xdr_inline_decode	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x73803bc2	kill_pgrp	vmlinux	EXPORT_SYMBOL
+0x268cc6a2	sys_close	vmlinux	EXPORT_SYMBOL
+0x76e9df26	usb_serial_generic_read_bulk_callback	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x24d5f180	atrtr_get_dev	net/appletalk/appletalk	EXPORT_SYMBOL
+0x5f79e9a1	snd_timer_start	sound/core/snd-timer	EXPORT_SYMBOL
+0x337c243a	snd_gf1_delay	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x89b301d4	param_get_int	vmlinux	EXPORT_SYMBOL
+0x88193ce2	is_bad_inode	vmlinux	EXPORT_SYMBOL
+0x99f07c01	seq_read	vmlinux	EXPORT_SYMBOL
+0xd1472061	acpi_pci_register_driver	vmlinux	EXPORT_SYMBOL
+0xa4d4f0e6	global_cache_flush	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xc10fe128	cdebbuf_free	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x4c6c6337	bttv_gpio_inout	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x8a90d633	fat_build_inode	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x5a733fde	user_update	vmlinux	EXPORT_SYMBOL_GPL
+0x5600904f	fb_get_color_depth	vmlinux	EXPORT_SYMBOL
+0xfc3990f3	start_tty	vmlinux	EXPORT_SYMBOL
+0x05048b38	mca_is_adapter_used	vmlinux	EXPORT_SYMBOL
+0xf51431c4	dm_unregister_hw_handler	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0xa4e0c024	hdlcdrv_receiver	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xa55d3f9f	snd_cs4231_put_single	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x0b27efb7	snd_hda_codec_write	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x6483655c	param_get_short	vmlinux	EXPORT_SYMBOL
+0x023c3593	follow_up	vmlinux	EXPORT_SYMBOL
+0x6f4d2419	notify_change	vmlinux	EXPORT_SYMBOL
+0xae8aa75c	pnp_unregister_card_driver	vmlinux	EXPORT_SYMBOL
+0xbdc4f1f6	kvm_read_guest	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xbc030d33	dm_table_get_mode	drivers/md/dm-mod	EXPORT_SYMBOL
+0xe321b5e5	snd_pcm_notify	sound/core/snd-pcm	EXPORT_SYMBOL
+0xbbb98859	edid_info	vmlinux	EXPORT_SYMBOL_GPL
+0xc468f4b3	dma_alloc_coherent	vmlinux	EXPORT_SYMBOL
+0x33c903af	close_bdev_excl	vmlinux	EXPORT_SYMBOL
+0x56f675fd	sock_no_ioctl	vmlinux	EXPORT_SYMBOL
+0x0f1401bc	skb_copy_and_csum_datagram_iovec	vmlinux	EXPORT_SYMBOL
+0xaafe76ea	drm_sman_cleanup	drivers/char/drm/drm	EXPORT_SYMBOL
+0xde4c6b3c	irlmp_service_to_hint	net/irda/irda	EXPORT_SYMBOL
+0x6e796de8	snd_gf1_look8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xd4bbdc24	__read_lock_failed	vmlinux	EXPORT_SYMBOL
+0xa0639dff	simple_empty	vmlinux	EXPORT_SYMBOL
+0x79480fd3	serio_unregister_child_port	vmlinux	EXPORT_SYMBOL
+0x4521b9ea	md_write_start	drivers/md/md-mod	EXPORT_SYMBOL
+0xf7057742	mpt_verify_adapter	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x2828d1ae	pci_hp_change_slot_info	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x67300d5c	scsi_remove_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xa87bc9e7	o2nm_configured_node_map	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x802a795e	nf_conntrack_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x39db8215	snd_rawmidi_transmit_ack	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x32b14784	blk_start_queueing	vmlinux	EXPORT_SYMBOL
+0x88020d37	blk_queue_merge_bvec	vmlinux	EXPORT_SYMBOL
+0x4789c4d9	__pci_register_driver	vmlinux	EXPORT_SYMBOL
+0x3121e0c8	xfrm_cfg_mutex	vmlinux	EXPORT_SYMBOL
+0x935515cc	ir_input_init	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc1f7d17b	usb_hub_tt_clear_buffer	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xa994a196	journal_lock_updates	fs/jbd/jbd	EXPORT_SYMBOL
+0x801ad963	dccp_make_response	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xea9b9e67	snd_gf1_alloc_voice	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x3be4e2dc	crypto_unregister_template	vmlinux	EXPORT_SYMBOL_GPL
+0x50eed53a	dev_set_mtu	vmlinux	EXPORT_SYMBOL
+0xc2c3b966	ip_ct_attach	vmlinux	EXPORT_SYMBOL
+0x099208a1	hci_register_cb	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xb7323d35	snd_cs4231_pcm	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xf85a2e6c	snd_cs4236_pcm	sound/isa/cs423x/snd-cs4236-lib	EXPORT_SYMBOL
+0x7561ce0d	xdr_decode_string_inplace	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x6624a17c	snd_hda_codec_setup_stream	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x828f2818	should_remove_suid	vmlinux	EXPORT_SYMBOL
+0xc359ec0d	rwsem_down_write_failed	vmlinux	EXPORT_SYMBOL
+0x55d618e4	pnp_device_detach	vmlinux	EXPORT_SYMBOL
+0x5d5234d6	driver_register	vmlinux	EXPORT_SYMBOL_GPL
+0xd0fef3b2	agp_free_key	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x8f5897e9	dvb_usb_tuner_set_params_i2c	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0x3b2a351b	ttpci_budget_init	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x770bbdbb	scsi_free_host_dev	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd0065e4f	svc_seq_show	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x75598bf3	srcu_notifier_chain_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xbac98630	find_lock_page	vmlinux	EXPORT_SYMBOL
+0xa46bf9c7	acpi_unlock_battery_dir	vmlinux	EXPORT_SYMBOL
+0x9f9e7bec	input_ff_create	vmlinux	EXPORT_SYMBOL_GPL
+0xe0add7ef	device_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x00ebcb5d	ata_id_string	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6057c6f3	capi_message2cmsg	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x806d5133	param_array_get	vmlinux	EXPORT_SYMBOL
+0x89cef6fb	param_array_set	vmlinux	EXPORT_SYMBOL
+0x508ef3dd	remove_wait_queue	vmlinux	EXPORT_SYMBOL
+0x773ca080	file_permission	vmlinux	EXPORT_SYMBOL
+0x0489d9bb	input_ff_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0xbe7b3247	platform_get_irq_byname	vmlinux	EXPORT_SYMBOL_GPL
+0xa5f1784c	wiphy_register	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0x24ad926e	sk_stream_write_space	vmlinux	EXPORT_SYMBOL
+0xdfaeb648	ib_send_cm_sidr_rep	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x7f87c157	ib_send_cm_sidr_req	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xa3deee33	ata_device_add	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x8b1785ee	dvb_generic_ioctl	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xd1da36cd	add_mtd_blktrans_dev	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0x29ff3d1c	ipv6_dup_options	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xa59c0666	acpi_strict	vmlinux	EXPORT_SYMBOL
+0x8e002cda	acpi_remove_gpe_block	vmlinux	EXPORT_SYMBOL
+0x8bd76c26	drm_fasync	drivers/char/drm/drm	EXPORT_SYMBOL
+0x38da4725	cycx_intr	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0xca786ed4	pcmcia_resume_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x08389d41	usb_buffer_free	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x7f61c7be	elv_rb_del	vmlinux	EXPORT_SYMBOL
+0x0fa019be	elv_rb_add	vmlinux	EXPORT_SYMBOL
+0x1d28c8c2	tcp_sendmsg	vmlinux	EXPORT_SYMBOL
+0x801ec7bc	xfrm_policy_bysel_ctx	vmlinux	EXPORT_SYMBOL
+0x181badfb	i2c_smbus_write_word_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xa924dac6	dma_prog_region_alloc	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7e275ea8	scsi_complete_async_scans	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x2cedf0ee	dccp_feat_change_recv	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3337757e	irda_device_unregister_dongle	net/irda/irda	EXPORT_SYMBOL
+0x49a9df8a	rxrpc_create_call	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xa621e173	sock_map_fd	vmlinux	EXPORT_SYMBOL
+0xf586eceb	ata_tf_read	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x472bee93	ata_tf_load	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6fa1f481	dst_attach	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x23ae23e5	mptscsih_qcmd	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xab9ead53	mptscsih_is_phys_disk	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xb7e63fef	d_prune_aliases	vmlinux	EXPORT_SYMBOL
+0x45ea3af6	pcim_pin_device	vmlinux	EXPORT_SYMBOL
+0xe8c56761	default_hwif_mmiops	vmlinux	EXPORT_SYMBOL
+0xc0feccd0	xfrm_replay_advance	vmlinux	EXPORT_SYMBOL
+0xf5cf9a1c	release_cis_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xc9f41127	lcd_device_unregister	drivers/video/backlight/lcd	EXPORT_SYMBOL
+0x36ed4069	dccp_disconnect	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3ef76168	snd_ctl_elem_write	sound/core/snd	EXPORT_SYMBOL
+0x19c2aa80	snd_util_mem_avail	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x5148ee2a	rtc_lock	vmlinux	EXPORT_SYMBOL
+0x54352a6f	__pagevec_release	vmlinux	EXPORT_SYMBOL
+0x6e440b58	memcpy_fromiovecend	vmlinux	EXPORT_SYMBOL
+0xc97d880c	gameport_open	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x709a8744	rtl_free_ieee80211	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xe93c1454	rt2x00lib_update_rx_stats	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xc12cee38	rt2x00lib_update_tx_stats	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xa2268b59	mutex_unlock	vmlinux	EXPORT_SYMBOL
+0xfaa79f1a	ilookup5	vmlinux	EXPORT_SYMBOL
+0x9fd22af4	securityfs_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xb88ace73	nla_reserve_nohdr	vmlinux	EXPORT_SYMBOL
+0x76bc1a5c	dma_region_free	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xcf1d339d	videobuf_read_start	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x37c8e4fe	usb_autopm_put_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xf1a5611d	o2net_unregister_handler_list	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x60df86a5	ct_sip_lnlen	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0x739af1ab	_STrace	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x381a7735	per_cpu__kstat	vmlinux	EXPORT_SYMBOL
+0x83a476ce	bitmap_scnlistprintf	vmlinux	EXPORT_SYMBOL
+0xa5b7af1f	pci_block_user_cfg_access	vmlinux	EXPORT_SYMBOL_GPL
+0x4c3d2b30	journal_release_buffer	fs/jbd/jbd	EXPORT_SYMBOL
+0x7091bd96	snd_dma_reserve_buf	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x4f9e949e	find_trylock_page	vmlinux	EXPORT_SYMBOL
+0xb077ef32	acpi_enter_sleep_state	vmlinux	EXPORT_SYMBOL
+0xd55e6891	ir_codes_gotview7135	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6534792a	arcnet_debug	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x49ef338b	ieee80211_get_hdrlen	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x07cc4a5d	printk_timed_ratelimit	vmlinux	EXPORT_SYMBOL
+0x3c90c557	__user_walk	vmlinux	EXPORT_SYMBOL
+0x13fceff1	have_submounts	vmlinux	EXPORT_SYMBOL
+0x7564ba14	simple_fill_super	vmlinux	EXPORT_SYMBOL
+0x45a06d9d	nf_register_sysctl_table	vmlinux	EXPORT_SYMBOL_GPL
+0x795340bb	__tasklet_schedule	vmlinux	EXPORT_SYMBOL
+0x48f07026	key_create_or_update	vmlinux	EXPORT_SYMBOL
+0x05f0b973	hpsb_make_phypacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x274e2c20	cx88_sram_channel_dump	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x6b043eba	irda_init_max_qos_capabilies	net/irda/irda	EXPORT_SYMBOL
+0x372fd589	snd_add_device_sysfs_file	sound/core/snd	EXPORT_SYMBOL
+0xce1b8ca5	sta_info_put	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x7e9ebb05	kernel_thread	vmlinux	EXPORT_SYMBOL
+0x4c66d1d5	bio_add_page	vmlinux	EXPORT_SYMBOL
+0xc07eb1a4	debugfs_create_u16	vmlinux	EXPORT_SYMBOL_GPL
+0xa90fd3b7	dev_load	vmlinux	EXPORT_SYMBOL
+0xf4f14de6	rtnl_trylock	vmlinux	EXPORT_SYMBOL
+0x54f72e67	ib_process_mad_wc	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x91a72814	saa7146_unregister_extension	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x86d61590	mptscsih_target_alloc	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xa54f1a1c	irias_find_object	net/irda/irda	EXPORT_SYMBOL
+0xb2d522fe	contig_page_data	vmlinux	EXPORT_SYMBOL
+0x9ad9938c	namespace_sem	vmlinux	EXPORT_SYMBOL_GPL
+0x207d9f4d	open_by_devnum	vmlinux	EXPORT_SYMBOL
+0xba7921dc	zlib_inflateEnd	vmlinux	EXPORT_SYMBOL
+0xe6d5c272	agp_device_command	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xe144ceae	gs_close	drivers/char/generic_serial	EXPORT_SYMBOL
+0x40f2b10c	ipmi_alloc_smi_msg	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xe7779666	mptscsih_slave_destroy	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xa6ec8e9b	ipt_unregister_table	net/ipv4/netfilter/ip_tables	EXPORT_SYMBOL
+0xf48a2c4c	MCA_bus	vmlinux	EXPORT_SYMBOL
+0xb1675c75	pci_bus_add_device	vmlinux	EXPORT_SYMBOL_GPL
+0xb423dba1	console_blanked	vmlinux	EXPORT_SYMBOL
+0x78d89ad2	flexcop_device_kfree	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xe01f812f	hostap_add_interface	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x4613bf52	xt_unregister_target	net/netfilter/x_tables	EXPORT_SYMBOL
+0x6ea09972	snd_midi_channel_alloc_set	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0x23679939	__iowrite32_copy	vmlinux	EXPORT_SYMBOL_GPL
+0x5d079804	gigaset_freedriver	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x2ade7255	config_group_init_type_name	fs/configfs/configfs	EXPORT_SYMBOL
+0x49ab5314	ax25_findbyuid	net/ax25/ax25	EXPORT_SYMBOL
+0x8a99a016	mempool_free_slab	vmlinux	EXPORT_SYMBOL
+0x77a1a6fb	simple_transaction_read	vmlinux	EXPORT_SYMBOL
+0xfaf98462	bitrev32	vmlinux	EXPORT_SYMBOL
+0x612390ad	netpoll_set_trap	vmlinux	EXPORT_SYMBOL
+0xc441a5c6	fib_rules_register	vmlinux	EXPORT_SYMBOL_GPL
+0xdbaf6fe4	ata_do_eh	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf04e201b	iscsi_create_conn	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x1924b701	xdr_enter_page	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe6899aed	ssb_pcicore_dev_irqvecs_enable	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xe1bbf78e	audit_log_untrustedstring	vmlinux	EXPORT_SYMBOL_GPL
+0x0e9d8296	generic_setxattr	vmlinux	EXPORT_SYMBOL
+0x07d6bc0e	generic_getxattr	vmlinux	EXPORT_SYMBOL
+0x3d0e0c40	pci_scan_slot	vmlinux	EXPORT_SYMBOL
+0x27ae7d0c	ec_transaction	vmlinux	EXPORT_SYMBOL
+0x84f0b07b	xfrm_decode_session	vmlinux	EXPORT_SYMBOL
+0x0359b360	gigaset_skb_sent	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xa9ad57d9	register_isdn	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0x3d549eb2	qlogicfas408_bus_reset	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xbe3f2939	nf_conntrack_checksum	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x73bfbff6	krb5_encrypt	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x38028ee6	mpage_readpages	vmlinux	EXPORT_SYMBOL
+0xd5beee56	nf_unregister_sysctl_table	vmlinux	EXPORT_SYMBOL_GPL
+0x44faa208	gss_mech_register	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x57f9eab9	__wait_on_buffer	vmlinux	EXPORT_SYMBOL
+0x4df119fa	__bitmap_parse	vmlinux	EXPORT_SYMBOL
+0xa4074aa2	pci_request_regions	vmlinux	EXPORT_SYMBOL
+0xb758b225	acpi_disable_event	vmlinux	EXPORT_SYMBOL
+0x49c9860e	ipmi_set_maintenance_mode	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x8e7f9b47	segment_base	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xe33dbaf1	saa7146_pgtable_free	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xa7440adb	iscsi_conn_get_param	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xbfbfa84a	kill_litter_super	vmlinux	EXPORT_SYMBOL
+0xee2d147e	sock_create	vmlinux	EXPORT_SYMBOL
+0xee940eba	dm_table_event	drivers/md/dm-mod	EXPORT_SYMBOL
+0xcaa4253f	dvb_pll_philips_td1316	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xe5858fe2	tty_prepare_flip_string_flags	vmlinux	EXPORT_SYMBOL_GPL
+0x8469b4e1	tty_prepare_flip_string	vmlinux	EXPORT_SYMBOL_GPL
+0xb1961566	agp_generic_enable	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xc8e804c8	usb_free_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xdf6c96bf	ip_vs_conn_new	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x69ee7fd1	snd_seq_expand_var_event	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x026ea965	sysfs_remove_link	vmlinux	EXPORT_SYMBOL_GPL
+0x8dce09f8	pcim_iomap	vmlinux	EXPORT_SYMBOL
+0x7d4ab013	skb_copy_bits	vmlinux	EXPORT_SYMBOL
+0x853a7ef0	fib_rules_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x4dec8e85	cdrom_number_of_slots	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x21b47437	cx88_boards	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x8c4123d0	bit_waitqueue	vmlinux	EXPORT_SYMBOL
+0x164bf813	find_get_page	vmlinux	EXPORT_SYMBOL
+0x56856f33	proc_root	vmlinux	EXPORT_SYMBOL
+0x43800f68	acpi_os_signal_semaphore	vmlinux	EXPORT_SYMBOL
+0xd94c1770	acpi_os_read_pci_configuration	vmlinux	EXPORT_SYMBOL
+0x3950ee32	sysdev_class_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x1432c712	dma_async_device_register	vmlinux	EXPORT_SYMBOL
+0xf0b66637	tcp_make_synack	vmlinux	EXPORT_SYMBOL
+0x06daf447	ib_free_send_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x69f240e8	mii_check_gmii_support	drivers/net/mii	EXPORT_SYMBOL
+0xf044f8d9	snd_akm4xxx_build_controls	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0x48fd4b1c	invalidate_inodes	vmlinux	EXPORT_SYMBOL
+0x643ed43b	sock_common_recvmsg	vmlinux	EXPORT_SYMBOL
+0xe49ff3b0	ata_wait_register	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf762ed80	sl811h_driver	drivers/usb/host/sl811-hcd	EXPORT_SYMBOL
+0x0e69161f	snd_sbmixer_write	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x1d1373f2	p54_parse_eeprom	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x7054a3e4	request_dma	vmlinux	EXPORT_SYMBOL
+0x8251bcc3	bitmap_release_region	vmlinux	EXPORT_SYMBOL
+0x356b4df5	get_driver	vmlinux	EXPORT_SYMBOL_GPL
+0xd52c7394	dev_mc_delete	vmlinux	EXPORT_SYMBOL
+0x3f4c8df6	inet_csk_addr2sockaddr	vmlinux	EXPORT_SYMBOL_GPL
+0xb3d08854	cyber2000fb_get_fb_var	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x0fbb523e	cyber2000fb_disable_extregs	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x2bf56ce2	kick_iocb	vmlinux	EXPORT_SYMBOL
+0x5042a012	sysfs_remove_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xe11ae273	request_key_with_auxdata	vmlinux	EXPORT_SYMBOL
+0xa963f49c	tcp_orphan_count	vmlinux	EXPORT_SYMBOL_GPL
+0x46e5d002	ip_mc_inc_group	vmlinux	EXPORT_SYMBOL
+0xe5dfd740	iscsi_pool_free	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x7fac4ef1	fat_attach	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x6c302fe7	ircomm_flow_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x76f5669a	irias_add_octseq_attrib	net/irda/irda	EXPORT_SYMBOL
+0x0f5292c8	snd_mpu401_uart_new	sound/drivers/mpu401/snd-mpu401-uart	EXPORT_SYMBOL
+0xc91cf5ba	ssb_bus_may_powerdown	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x2dae0066	get_io_context	vmlinux	EXPORT_SYMBOL
+0x025da070	snprintf	vmlinux	EXPORT_SYMBOL
+0xc0a7a0f2	tcf_exts_validate	vmlinux	EXPORT_SYMBOL
+0x1c6a2dec	md_new_event	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0x38a20e5b	irda_debug	net/irda/irda	EXPORT_SYMBOL
+0xf986b633	ac97_alloc_codec	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x1a73fe4b	hrtimer_init	vmlinux	EXPORT_SYMBOL_GPL
+0x9c51ecca	__bread	vmlinux	EXPORT_SYMBOL
+0x86596c8d	devm_kzalloc	vmlinux	EXPORT_SYMBOL_GPL
+0xf86433de	ide_acpi_init	vmlinux	EXPORT_SYMBOL_GPL
+0x0adbf693	ata_scsi_simulate	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x7bf3672d	scsi_tgt_tsk_mgmt_request	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x0f4a6244	ipv6_invert_rthdr	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x18e1683f	snd_dma_program	sound/core/snd	EXPORT_SYMBOL
+0x9ceb163c	memcpy_toiovec	vmlinux	EXPORT_SYMBOL
+0x4b085dbf	agp3_generic_configure	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x6d5f2ee5	agp_alloc_page_array	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x4c0b0237	ds1337_do_command	drivers/i2c/chips/ds1337	EXPORT_SYMBOL_GPL
+0xfa4b175d	iscsi_session_teardown	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xad91f40f	snd_gf1_look16	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x4eb14bf6	ieee80211_beacon_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x3c408342	posix_unblock_lock	vmlinux	EXPORT_SYMBOL
+0x7f8723bd	pcie_mch_quirk	vmlinux	EXPORT_SYMBOL
+0x556a3636	cfb_imageblit	vmlinux	EXPORT_SYMBOL
+0xba2d8594	ec_read	vmlinux	EXPORT_SYMBOL
+0x5d4e2622	neigh_resolve_output	vmlinux	EXPORT_SYMBOL
+0x1b6314fd	in_aton	vmlinux	EXPORT_SYMBOL
+0xbee1d086	b1pciv4_detect	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x5b792a8c	journal_init_dev	fs/jbd/jbd	EXPORT_SYMBOL
+0x2329b292	crc32c_be	lib/libcrc32c	EXPORT_SYMBOL
+0x37d0b921	crc32c_le	lib/libcrc32c	EXPORT_SYMBOL
+0x3679f0e2	irttp_udata_request	net/irda/irda	EXPORT_SYMBOL
+0x36551d0f	snd_card_register	sound/core/snd	EXPORT_SYMBOL
+0x9da410b1	try_to_free_buffers	vmlinux	EXPORT_SYMBOL
+0x1433a605	pnp_register_driver	vmlinux	EXPORT_SYMBOL
+0xbe34b178	__scm_send	vmlinux	EXPORT_SYMBOL
+0x62824539	tcp_close	vmlinux	EXPORT_SYMBOL
+0x37ac8abd	usb_register_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x23583f8f	nf_nat_ftp_hook	net/netfilter/nf_conntrack_ftp	EXPORT_SYMBOL_GPL
+0x91f1ff68	nf_nat_irc_hook	net/netfilter/nf_conntrack_irc	EXPORT_SYMBOL_GPL
+0xcfbb1a5a	nf_nat_sdp_hook	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xe451bd5a	nf_nat_sip_hook	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xb56c5c7c	dquot_free_inode	vmlinux	EXPORT_SYMBOL
+0xfa7c01c1	register_framebuffer	vmlinux	EXPORT_SYMBOL
+0xb256c35b	del_mtd_device	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x8189da7a	nand_default_bbt	drivers/mtd/nand/nand	EXPORT_SYMBOL
+0x1d16e8a1	rpc_destroy_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3cd06035	add_input_randomness	vmlinux	EXPORT_SYMBOL_GPL
+0x119642e0	drm_sman_takedown	drivers/char/drm/drm	EXPORT_SYMBOL
+0xd6df3b3a	make_8023_client	net/802/p8023	EXPORT_SYMBOL
+0x0737ba07	snd_hda_resume	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xf51ae235	touch_nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0x09fce963	bd_claim	vmlinux	EXPORT_SYMBOL
+0x43385ad9	acpi_pci_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x9bbb9a11	device_remove_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xf47f3d40	xfrm_init_pmtu	vmlinux	EXPORT_SYMBOL
+0x82eaca73	register_cdrom	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x68ceb585	arc_proto_map	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x5a1eb54b	scsi_unblock_requests	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x3b9b7ba7	rtl_ieee80211_wx_get_wap	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x9819eb60	rtl_ieee80211_wx_set_wap	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8706fba7	call_rcu	vmlinux	EXPORT_SYMBOL_GPL
+0xb3284531	acpi_dbg_layer	vmlinux	EXPORT_SYMBOL
+0xf6e75807	nf_ct_deliver_cached_events	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xaf5bf6ef	nfs_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x7eaf1e2d	snd_gf1_poke	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x394cb088	sound_free_dma	sound/oss/sound	EXPORT_SYMBOL
+0xd205af0a	hwrng_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xe8823338	dvb_ringbuffer_empty	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x826360fd	do_posix_clock_nonanosleep	vmlinux	EXPORT_SYMBOL_GPL
+0x75e8f3c3	crypto_register_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xda8ddbdf	acpi_install_gpe_block	vmlinux	EXPORT_SYMBOL
+0xd34691a4	tcf_exts_change	vmlinux	EXPORT_SYMBOL
+0x54dbe15e	parport_remove_port	drivers/parport/parport	EXPORT_SYMBOL
+0x70de1241	dccp_reqsk_init	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x52b66929	xfrm6_rcv_spi	net/ipv6/ipv6	EXPORT_SYMBOL
+0x295c40f3	snd_pcm_release_substream	sound/core/snd-pcm	EXPORT_SYMBOL
+0xdc01a06e	find_next_zero_bit	vmlinux	EXPORT_SYMBOL
+0x3167afea	device_reprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x80130d79	pskb_put	vmlinux	EXPORT_SYMBOL_GPL
+0x7c70d736	ata_qc_complete	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x4b4497be	ata_sas_slave_configure	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xdd27cb1b	i2c_master_send	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xec051406	scsi_tgt_free_queue	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x05060a19	snd_opl3_regmap	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x6cfc4281	snd_trident_alloc_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x5e6f4c12	seq_open	vmlinux	EXPORT_SYMBOL
+0x6c4c689c	dev_kfree_skb_any	vmlinux	EXPORT_SYMBOL
+0x1e491a04	ib_unmap_fmr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x9349486f	dvb_ca_en50221_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xb95d2728	journal_abort	fs/jbd/jbd	EXPORT_SYMBOL
+0xbc02c34b	nf_conntrack_l4proto_icmpv6	net/ipv6/netfilter/nf_conntrack_ipv6	EXPORT_SYMBOL
+0x2b1e90d4	snd_ctl_new1	sound/core/snd	EXPORT_SYMBOL
+0x4ae616fd	wiphy_free	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0x1fd55181	__lock_page	vmlinux	EXPORT_SYMBOL
+0x07263649	simple_readpage	vmlinux	EXPORT_SYMBOL
+0x2427b7d4	pci_enable_bridges	vmlinux	EXPORT_SYMBOL
+0x2b239752	pci_bus_type	vmlinux	EXPORT_SYMBOL
+0x72d1f06d	hpsb_iso_packet_received	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x889d8d3c	hci_conn_encrypt	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x10fe48e9	follow_down	vmlinux	EXPORT_SYMBOL
+0xd97c67cf	ib_sa_cancel_query	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x8226c662	pcmcia_access_configuration_register	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xcff7d833	usb_altnum_to_altsetting	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x360b1afe	probe_irq_mask	vmlinux	EXPORT_SYMBOL
+0x49b77e0f	ide_error	vmlinux	EXPORT_SYMBOL_GPL
+0x3b30538a	tifm_unregister_driver	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xfe7cd576	cycx_exec	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x957c26c0	find_exported_dentry	fs/exportfs/exportfs	EXPORT_SYMBOL
+0xba5095d2	rpcauth_lookupcred	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xcea608ba	snd_sbmixer_add_ctl	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x57791a81	synth_jiffy_delta	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x8d0e7aa8	get_write_access	vmlinux	EXPORT_SYMBOL
+0x1dfb59a0	tty_unregister_driver	vmlinux	EXPORT_SYMBOL
+0xbb0f18a5	redraw_screen	vmlinux	EXPORT_SYMBOL
+0xdaddba85	dib3000mc_pid_control	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0x82a62f52	genphy_read_status	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x8b7d8caf	dccp_statistics	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x79046aa7	snd_ad1848_mixer	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0xf3bf0bce	__bitmap_complement	vmlinux	EXPORT_SYMBOL
+0x85832e5c	pci_find_present	vmlinux	EXPORT_SYMBOL
+0xd35557a6	isapnp_protocol	vmlinux	EXPORT_SYMBOL
+0x3a9e0c01	drm_poll	drivers/char/drm/drm	EXPORT_SYMBOL
+0xb2d1e17e	v4l2_prio_change	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x5e48a6d1	del_timer	vmlinux	EXPORT_SYMBOL
+0xf4ec9297	class_device_put	vmlinux	EXPORT_SYMBOL_GPL
+0xebaa0231	class_device_get	vmlinux	EXPORT_SYMBOL_GPL
+0x73962e69	dma_get_required_mask	vmlinux	EXPORT_SYMBOL_GPL
+0x5c5cb92e	bttv_get_pcidev	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x149db923	selinux_string_to_sid	vmlinux	EXPORT_SYMBOL_GPL
+0x9b05ea5c	scsi_command_size	vmlinux	EXPORT_SYMBOL
+0x7d5bba3b	mca_device_set_name	vmlinux	EXPORT_SYMBOL
+0x6d4f2374	ipmi_set_my_address	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x60c51984	gameport_set_name	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x3ac284bc	set_cr3	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x45e418a3	map_destroy	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0xa7849da5	usb_get_current_frame_number	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x60ce47de	modify_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x7e97ae6c	__mark_inode_dirty	vmlinux	EXPORT_SYMBOL
+0xf2f267b5	isa_bridge	vmlinux	EXPORT_SYMBOL
+0x6b3eadd5	dev_close	vmlinux	EXPORT_SYMBOL
+0xb9d143ec	tcp_v4_send_check	vmlinux	EXPORT_SYMBOL
+0xfb1350ed	vcc_release_async	vmlinux	EXPORT_SYMBOL
+0x4149a68a	iscsi_conn_error	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xbf6b8150	hci_suspend_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x0366cbe9	tipc_forward_buf2name	net/tipc/tipc	EXPORT_SYMBOL
+0xbd7be47a	snd_pcm_lib_free_pages	sound/core/snd-pcm	EXPORT_SYMBOL
+0xd1a5ffa9	avail_to_resrv_perfctr_nmi	vmlinux	EXPORT_SYMBOL
+0x2348984e	adjust_resource	vmlinux	EXPORT_SYMBOL
+0xb11c8cb2	unregister_filesystem	vmlinux	EXPORT_SYMBOL
+0xdcbd2728	acpi_bus_get_device	vmlinux	EXPORT_SYMBOL
+0xbd86d96f	sock_alloc_send_skb	vmlinux	EXPORT_SYMBOL
+0xb84c90b4	noop_qdisc	vmlinux	EXPORT_SYMBOL
+0x2ebd428d	zl10353_attach	drivers/media/dvb/frontends/zl10353	EXPORT_SYMBOL
+0x0af71b9b	usbvideo_Deregister	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xa021ef50	v4l2_field_names	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xd27ef9e7	snd_card_disconnect	sound/core/snd	EXPORT_SYMBOL
+0x93805374	max_cstate	vmlinux	EXPORT_SYMBOL
+0x9a67afcc	xfrm_state_insert	vmlinux	EXPORT_SYMBOL
+0x19588366	hpsb_add_host	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd54e219d	hermes_docmd_wait	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x914aa643	nobh_prepare_write	vmlinux	EXPORT_SYMBOL
+0x31766064	isa_unregister_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x89590f57	sonypi_camera_command	drivers/char/sonypi	EXPORT_SYMBOL
+0x2b9580cb	nf_conntrack_flush	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x63f05053	xt_find_revision	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x3702e06b	rpc_peeraddr2str	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x0543ec1c	snd_ak4531_resume	sound/pci/ac97/snd-ak4531-codec	EXPORT_SYMBOL
+0x6e185827	_spin_lock_irqsave	vmlinux	EXPORT_SYMBOL
+0xc9fb4757	crypto_mod_get	vmlinux	EXPORT_SYMBOL_GPL
+0x9da33d85	blk_rq_unmap_user	vmlinux	EXPORT_SYMBOL
+0x6bb1a2ce	blk_plug_device	vmlinux	EXPORT_SYMBOL
+0xf16e0fc0	pci_bus_add_devices	vmlinux	EXPORT_SYMBOL
+0x111967c4	i2c_check_addr	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x783b3288	iw_cm_listen	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x46d7a38f	mpt_event_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x68afa196	usb_mon_register	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x46a4e36d	nf_conntrack_l3proto_generic	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6c6f1a61	snd_midi_process_event	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0xf174ed48	acquire_console_sem	vmlinux	EXPORT_SYMBOL
+0xef0b7706	ata_sas_port_init	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x4a9e73b1	fc_remove_host	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xc2861a07	snd_rawmidi_drop_output	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x82384d0b	__printk_ratelimit	vmlinux	EXPORT_SYMBOL
+0x777b6d7f	cx88_print_irqbits	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xcc1f1c3d	inet_twdr_hangman	vmlinux	EXPORT_SYMBOL_GPL
+0x2611fbee	register_hotplug_dock_device	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0x0b9d72e3	hpsb_iso_recv_listen_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x396aef80	xdr_read_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xeda53a76	xdr_encode_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x09ca1a94	ata_irq_on	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe0f25c94	iscsi_create_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xdf5008fc	tipc_peer	net/tipc/tipc	EXPORT_SYMBOL
+0x90035333	secure_tcpv6_sequence_number	vmlinux	EXPORT_SYMBOL
+0xfba57f51	hpsb_speedto_str	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9877bead	ib_flush_fmr_pool	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbb1918b0	journal_get_create_access	fs/jbd/jbd	EXPORT_SYMBOL
+0x717770e2	request_key	vmlinux	EXPORT_SYMBOL
+0x45daf470	scatterwalk_done	vmlinux	EXPORT_SYMBOL_GPL
+0xea8e1fbf	cx8802_fini_common	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xb28ee2ab	iscsi_eh_abort	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xfb86b96f	dlm_errname	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xa0c98dc9	probe_uart401	sound/oss/uart401	EXPORT_SYMBOL
+0x36410296	vfs_llseek	vmlinux	EXPORT_SYMBOL
+0xb86e4ab9	random32	vmlinux	EXPORT_SYMBOL
+0x01180417	pcim_iomap_regions	vmlinux	EXPORT_SYMBOL
+0x1c427ecb	v4l2_ctrl_query_fill	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x38713b52	mtd_table_mutex	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x5a47c89c	usb_control_msg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x3bcd49ef	pci_do_scan_bus	vmlinux	EXPORT_SYMBOL
+0x6fc0d192	hpsb_get_tlabel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf146c201	snd_dma_free_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xaf8d375f	ieee80211_tx_status_irqsafe	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x5d9aead4	ide_register_hw_with_fixup	vmlinux	EXPORT_SYMBOL
+0xf08a9d5e	ves1x93_attach	drivers/media/dvb/frontends/ves1x93	EXPORT_SYMBOL
+0x8d69a50c	iscsi_add_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xb85f9931	bt_sock_unlink	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x1fbac5d4	synth_write	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x272d394e	mtrr_del	vmlinux	EXPORT_SYMBOL
+0xc3d8155c	ide_get_error_location	vmlinux	EXPORT_SYMBOL
+0x4bc5df23	bfifo_qdisc_ops	vmlinux	EXPORT_SYMBOL
+0x58bb290c	__xfrm_state_destroy	vmlinux	EXPORT_SYMBOL
+0x0dfb5e57	v4l2_prio_max	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x60a310d1	securityfs_remove	vmlinux	EXPORT_SYMBOL_GPL
+0x0a05b9f6	hpsb_iso_recv_unlisten_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x2de2970a	hostap_80211_header_parse	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x43c74f42	usb_hcd_resume_root_hub	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xa948751e	sound_unload_audiodev	sound/oss/sound	EXPORT_SYMBOL
+0x7128f2b4	devres_remove_group	vmlinux	EXPORT_SYMBOL_GPL
+0xa31159f6	tpm_calc_ordinal_duration	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x73b0b8ef	kvm_set_msr_common	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x9d4f1520	kvm_get_msr_common	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x6faccdd0	videobuf_mmap_setup	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x3d5105b5	hostap_set_string	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xe55f694b	iscsi_check_assign_cmdsn	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xea10655a	__bitmap_intersects	vmlinux	EXPORT_SYMBOL
+0xe27f8a4c	dev_set_allmulti	vmlinux	EXPORT_SYMBOL
+0xf313da4e	sha_transform	vmlinux	EXPORT_SYMBOL
+0xb4085448	drm_mmap	drivers/char/drm/drm	EXPORT_SYMBOL
+0xdf3d84b8	i2c_add_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x204a2a3f	bt878_stop	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0xbea46e41	snd_ctl_remove_id	sound/core/snd	EXPORT_SYMBOL
+0x26615914	ac97_set_adc_rate	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x8816c7ab	__d_path	vmlinux	EXPORT_SYMBOL
+0x23e97fbf	kobject_set_name	vmlinux	EXPORT_SYMBOL
+0xcc6d638e	pci_stop_bus_device	vmlinux	EXPORT_SYMBOL_GPL
+0x33389296	hpsb_make_writepacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x31116347	set_device_ro	vmlinux	EXPORT_SYMBOL
+0x2bb55d6e	acpi_remove_notify_handler	vmlinux	EXPORT_SYMBOL
+0x5dab0ad2	icmp_statistics	vmlinux	EXPORT_SYMBOL
+0xb953d81c	ata_bmdma_irq_clear	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe51f5092	gs_put_char	drivers/char/generic_serial	EXPORT_SYMBOL
+0xd952be77	ipmi_smi_watcher_register	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xd21eefca	mptscsih_bios_param	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xfb0cff6c	gfs2_register_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x52570f80	nf_conntrack_unregister_cache	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x99ea12ce	panic_blink	vmlinux	EXPORT_SYMBOL
+0x4dccd4a3	pci_clear_mwi	vmlinux	EXPORT_SYMBOL
+0x60b63697	ide_lock	vmlinux	EXPORT_SYMBOL
+0x359fc7da	pcibios_set_irq_routing	vmlinux	EXPORT_SYMBOL
+0x2a843bef	i2o_dump_message	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xcf97f3bd	dead_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x82072614	tasklet_kill	vmlinux	EXPORT_SYMBOL
+0x9b511728	cancel_dirty_page	vmlinux	EXPORT_SYMBOL
+0x9713ada9	kmap_high	vmlinux	EXPORT_SYMBOL
+0x102e9c29	ata_sas_port_stop	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xfc7476fb	dvb_pll_microtune_4042	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x1610bd14	ppp_register_channel	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x989a8d91	bio_endio	vmlinux	EXPORT_SYMBOL
+0x84965df9	drm_agp_alloc	drivers/char/drm/drm	EXPORT_SYMBOL
+0x9d44f4fc	i2c_use_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xbc6f7e5d	__gameport_register_port	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x7e3f0b34	dvb_unregister_frontend	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x7bba7e4b	scsi_print_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4f7bf5a7	iscsi_if_destroy_session_done	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x0670b138	locks_remove_posix	vmlinux	EXPORT_SYMBOL
+0xce16f196	sk_stop_timer	vmlinux	EXPORT_SYMBOL
+0x944c5915	gf128mul_free_64k	crypto/gf128mul	EXPORT_SYMBOL
+0x651b6e40	btcx_riscmem_alloc	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0xbf43ddce	videobuf_pci_dma_unmap	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x9cfc78ac	pcmcia_register_driver	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xb4457f7e	ieee80211_stop_queues	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4a971ec7	radix_tree_delete	vmlinux	EXPORT_SYMBOL
+0x27bc8968	pcie_port_service_unregister	vmlinux	EXPORT_SYMBOL
+0x8d161d89	iscsi_unregister_transport	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x0bba1c14	on_each_cpu	vmlinux	EXPORT_SYMBOL
+0x21a288fa	devm_iounmap	vmlinux	EXPORT_SYMBOL
+0x5bd6f8e6	devm_ioremap	vmlinux	EXPORT_SYMBOL
+0x0ba9230d	proc_net_netfilter	vmlinux	EXPORT_SYMBOL
+0x1abd5eff	tcp_slow_start	vmlinux	EXPORT_SYMBOL_GPL
+0x8dd204a5	dm_table_flush_all	drivers/md/dm-mod	EXPORT_SYMBOL
+0x6d03cb85	z8530_init	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xd36c3882	bioset_create	vmlinux	EXPORT_SYMBOL
+0xbecd6157	inotify_remove_watch_locked	vmlinux	EXPORT_SYMBOL_GPL
+0x34cab621	nla_reserve	vmlinux	EXPORT_SYMBOL
+0x76ced4d6	ata_bmdma_drive_eh	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc65abeb7	agp3_generic_sizes	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x440fba34	parport_find_number	drivers/parport/parport	EXPORT_SYMBOL
+0x4457d8dd	snd_pcm_set_sync	sound/core/snd-pcm	EXPORT_SYMBOL
+0x2231e258	snd_gf1_stop_voice	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x77cff26a	invalidate_inode_pages2_range	vmlinux	EXPORT_SYMBOL_GPL
+0x3096be16	names_cachep	vmlinux	EXPORT_SYMBOL
+0xc943a6d1	__cpufreq_driver_target	vmlinux	EXPORT_SYMBOL_GPL
+0x7a174a47	rtnl_put_cacheinfo	vmlinux	EXPORT_SYMBOL_GPL
+0xb063b58d	key_instantiate_and_link	vmlinux	EXPORT_SYMBOL
+0xba9afc69	pci_unmap_rom	vmlinux	EXPORT_SYMBOL
+0xc3e417dd	xrlim_allow	vmlinux	EXPORT_SYMBOL
+0x2bec1c48	xfrm_policy_register_afinfo	vmlinux	EXPORT_SYMBOL
+0x87cc6193	ata_qc_complete_multiple	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb52e33d8	z8530_null_rx	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xc8e96dea	qword_addhex	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x51beb8ea	snd_info_create_card_entry	sound/core/snd	EXPORT_SYMBOL
+0x9ebdd3af	ivtv_reset_ir_gpio	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x69641a7b	page_follow_link_light	vmlinux	EXPORT_SYMBOL
+0x45b04d35	single_open	vmlinux	EXPORT_SYMBOL
+0x9795c0d3	crypto_register_alg	vmlinux	EXPORT_SYMBOL_GPL
+0xa1b759ce	fb_add_videomode	vmlinux	EXPORT_SYMBOL
+0x7355cdba	mpt_get_msg_frame	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x0fdb1426	ist_info	vmlinux	EXPORT_SYMBOL
+0x2f4bf15e	kthread_stop	vmlinux	EXPORT_SYMBOL
+0x9272bc53	scx200_gpio_shadow	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0x280bdc17	genphy_config_advert	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xfef96e23	__scsi_print_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xc8f94a02	xfrm6_find_1stfragopt	net/ipv6/ipv6	EXPORT_SYMBOL
+0xab14e193	xfrm6_tunnel_free_spi	net/ipv6/xfrm6_tunnel	EXPORT_SYMBOL
+0x4a3ea5c0	snd_request_card	sound/core/snd	EXPORT_SYMBOL
+0x198788b4	snd_lookup_oss_minor_data	sound/core/snd	EXPORT_SYMBOL
+0x867fb3a2	snd_ac97_suspend	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x765a9048	sysfs_update_file	vmlinux	EXPORT_SYMBOL_GPL
+0x0f65074a	gameport_unregister_driver	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x79a4cfd5	dm_register_target	drivers/md/dm-mod	EXPORT_SYMBOL
+0xa7b91a7b	lockd_down	fs/lockd/lockd	EXPORT_SYMBOL
+0x1a724fcc	snd_seq_kernel_client_ctl	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x450e62f2	help_handler	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x2e9a955d	v4l2_prio_close	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x3e69118f	rtc_set_alarm	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xf8004e0e	__scsi_put_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x3471272d	__scsi_get_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x8793a1aa	ax25_display_timer	net/ax25/ax25	EXPORT_SYMBOL
+0x2def7f76	rtc_cmos_write	vmlinux	EXPORT_SYMBOL
+0xa6814433	groups_free	vmlinux	EXPORT_SYMBOL
+0x3980aac1	unregister_reboot_notifier	vmlinux	EXPORT_SYMBOL
+0xc6ac8880	cleanup_srcu_struct	vmlinux	EXPORT_SYMBOL_GPL
+0x237effdb	inet_csk_listen_start	vmlinux	EXPORT_SYMBOL_GPL
+0x05b24047	ib_sa_register_client	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0x32514d20	ezusb_writememory	drivers/usb/serial/usbserial	EXPORT_SYMBOL
+0x545c1381	__snd_util_mem_free	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x38953756	copy_fs_struct	vmlinux	EXPORT_SYMBOL_GPL
+0x560600d2	sk_clone	vmlinux	EXPORT_SYMBOL_GPL
+0x8abc0284	dev_mc_upload	vmlinux	EXPORT_SYMBOL
+0x38b9ff2a	gf128mul_64k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0x79a53629	gf128mul_64k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0xaa165d27	capilib_release_appl	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x269f1f56	mptscsih_taskmgmt_complete	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x8e146195	synth_release_region	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x73e2050f	_STraceNB	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x5118c382	secure_dccp_sequence_number	vmlinux	EXPORT_SYMBOL
+0xf3b4e0a4	generic_ide_ioctl	vmlinux	EXPORT_SYMBOL
+0xc3ac84c0	ipmi_unregister_smi	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xd89d6b11	i2o_iop_find_device	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xda4008e6	cond_resched	vmlinux	EXPORT_SYMBOL
+0x2afe439d	interruptible_sleep_on	vmlinux	EXPORT_SYMBOL
+0xffdf8168	subsystem_register	vmlinux	EXPORT_SYMBOL
+0x4c11782a	dma_async_client_unregister	vmlinux	EXPORT_SYMBOL
+0xc9c0f735	neigh_parms_alloc	vmlinux	EXPORT_SYMBOL
+0xf162fe2d	sysctl_xfrm_aevent_etime	vmlinux	EXPORT_SYMBOL
+0x19a304ba	usb_disabled	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xc64e058a	snd_es1688_mixer_write	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0x93a6e0b2	io_schedule	vmlinux	EXPORT_SYMBOL
+0x145cf869	blk_queue_invalidate_tags	vmlinux	EXPORT_SYMBOL
+0xe6488b47	cpufreq_notify_transition	vmlinux	EXPORT_SYMBOL_GPL
+0x9eb09878	__ip_route_output_key	vmlinux	EXPORT_SYMBOL_GPL
+0xa7d739c1	usb_buffer_map_sg	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xcd9991a9	usb_usual_set_present	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0x0159b832	rxrpc_create_transport	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x5e7f4920	snd_pcm_format_set_silence	sound/core/snd-pcm	EXPORT_SYMBOL
+0x6ff41109	snd_i2c_device_create	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0xf3cfb588	cfb_fillrect	vmlinux	EXPORT_SYMBOL
+0xe9ef70fa	ib_create_send_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x2b2fa526	gigaset_unassign	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x312020a8	usb_hcd_pci_resume	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xc96729fb	__pagevec_lru_add	vmlinux	EXPORT_SYMBOL
+0xda8fd495	isapnp_write_byte	vmlinux	EXPORT_SYMBOL
+0xa715eef5	nf_net_ipv4_netfilter_sysctl_path	vmlinux	EXPORT_SYMBOL_GPL
+0x468bacb2	register_jprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x2dace7d0	register_kprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x249cf874	bus_register_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x04c97916	tr_type_trans	vmlinux	EXPORT_SYMBOL
+0x75f7fb17	netlink_set_err	vmlinux	EXPORT_SYMBOL
+0xe2dd7ec7	agp_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xfc27303b	HiSax_closecard	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xe62bc8ce	fc_attach_transport	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x2c49f254	nf_nat_module_is_loaded	net/ipv4/netfilter/nf_conntrack_ipv4	EXPORT_SYMBOL_GPL
+0x870b6399	get_unmapped_area	vmlinux	EXPORT_SYMBOL
+0x7b61dbb2	wireless_spy_update	vmlinux	EXPORT_SYMBOL
+0x007dbd55	skb_queue_purge	vmlinux	EXPORT_SYMBOL
+0xfee7e218	register_snap_client	vmlinux	EXPORT_SYMBOL
+0xf7da8f1a	inet_listen	vmlinux	EXPORT_SYMBOL
+0x1b10328e	hpsb_make_readpacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd44731e5	tipc_ownidentity	net/tipc/tipc	EXPORT_SYMBOL
+0xdb67c54a	blk_rq_map_user	vmlinux	EXPORT_SYMBOL
+0x76a49361	subsystem_unregister	vmlinux	EXPORT_SYMBOL
+0x352830b8	platform_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0x35c1ae78	sata_print_link_status	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x310d1bc9	tipc_detach	net/tipc/tipc	EXPORT_SYMBOL
+0x16cb572e	snd_hda_codec_read	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x760a0f4f	yield	vmlinux	EXPORT_SYMBOL
+0x11fdb6bc	d_find_alias	vmlinux	EXPORT_SYMBOL
+0xe3f590bf	bt_accept_unlink	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x5fc0ac9c	nf_ct_gre_keymap_add	net/netfilter/nf_conntrack_proto_gre	EXPORT_SYMBOL_GPL
+0x235f4515	acpi_processor_ffh_cstate_probe	vmlinux	EXPORT_SYMBOL_GPL
+0xbc2081ec	fsstack_copy_attr_all	vmlinux	EXPORT_SYMBOL_GPL
+0x1dc36131	fb_destroy_modedb	vmlinux	EXPORT_SYMBOL
+0xc2d6b4d1	rdma_listen	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xc42bd037	ir_codes_budget_ci_old	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc720d2ec	i2o_device_claim	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xfc43b1b7	xt_check_target	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0xa0b04675	vmalloc_32	vmlinux	EXPORT_SYMBOL
+0x2cf4b076	d_invalidate	vmlinux	EXPORT_SYMBOL
+0xdb92a427	__ide_error	vmlinux	EXPORT_SYMBOL_GPL
+0x8b180fc7	genl_unregister_ops	vmlinux	EXPORT_SYMBOL
+0xbc18d3f7	scsi_command_normalize_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xabe65cf2	textsearch_unregister	vmlinux	EXPORT_SYMBOL
+0x975c94bf	input_register_handler	vmlinux	EXPORT_SYMBOL
+0x71482514	dma_pool_free	vmlinux	EXPORT_SYMBOL
+0xfc7d4bd5	ata_acpi_setup	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc6ad2021	drm_sman_free_key	drivers/char/drm/drm	EXPORT_SYMBOL
+0x5644f658	tpm_register_hardware	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x692371b4	nf_conntrack_hash	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x05d79582	set_h245_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x3474da0b	blk_queue_issue_flush_fn	vmlinux	EXPORT_SYMBOL
+0xb0b847ac	__bitmap_full	vmlinux	EXPORT_SYMBOL
+0x43524eda	fib_rules_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0xed860dd9	netif_carrier_on	vmlinux	EXPORT_SYMBOL
+0xa35de80f	ipv4_config	vmlinux	EXPORT_SYMBOL
+0x29594c63	inet6_csk_bind_conflict	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x29b7b886	nf_ct_helper_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xc8be7b15	_spin_lock	vmlinux	EXPORT_SYMBOL
+0x4c4078a8	__dst_free	vmlinux	EXPORT_SYMBOL
+0x4b945e55	__rta_fill	vmlinux	EXPORT_SYMBOL
+0x88ce57e1	dvb_ringbuffer_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xae808bac	o2net_register_handler	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xbfcfa90f	dccp_unhash	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x656a72db	ip6_route_output	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfb021590	__nfa_fill	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x9a25ffb0	ieee80211_rts_duration	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4de3c6c7	ide_stall_queue	vmlinux	EXPORT_SYMBOL
+0xc24c7aa9	inet_csk_destroy_sock	vmlinux	EXPORT_SYMBOL
+0x6e1a4bbb	udp_hash_lock	vmlinux	EXPORT_SYMBOL
+0xf3ed347c	init_rs	lib/reed_solomon/reed_solomon	EXPORT_SYMBOL_GPL
+0x6d820097	dccp_li_hist_interval_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xa34f1ef5	crc32_le	vmlinux	EXPORT_SYMBOL
+0x09eda07a	sock_kfree_s	vmlinux	EXPORT_SYMBOL
+0x9a277763	dccp_reqsk_send_ack	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xf9ea3567	irttp_flow_request	net/irda/irda	EXPORT_SYMBOL
+0x3796bdcc	snd_pcm_format_little_endian	sound/core/snd-pcm	EXPORT_SYMBOL
+0xef9aedfc	boot_option_idle_override	vmlinux	EXPORT_SYMBOL
+0x955d99cc	read_cache_pages	vmlinux	EXPORT_SYMBOL
+0xb62df8d1	input_unregister_device	vmlinux	EXPORT_SYMBOL
+0x3ddf3f5d	ethtool_op_get_link	vmlinux	EXPORT_SYMBOL
+0xf35d5b69	sas_port_free	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x6173b17f	export_op_default	fs/exportfs/exportfs	EXPORT_SYMBOL
+0x2321333e	dccp_rx_hist_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x496bc2ca	cap_bprm_secureexec	security/commoncap	EXPORT_SYMBOL
+0xc1fb8de8	thaw_bdev	vmlinux	EXPORT_SYMBOL
+0x27a76dec	ip_generic_getfrag	vmlinux	EXPORT_SYMBOL
+0xaeb4661b	bitmap_end_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0xe1966919	dvb_net_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x447091b5	i2o_status_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xeb2fe93e	mii_nway_restart	drivers/net/mii	EXPORT_SYMBOL
+0x9c77a20e	sas_port_alloc_num	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x09633af4	fat_add_entries	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x53445f68	nlm_debug	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xdf262164	ac97_tune_hardware	sound/oss/ac97_codec	EXPORT_SYMBOL_GPL
+0x63343b1d	snd_usbmidi_input_stop	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0xb5571fa7	devres_release_group	vmlinux	EXPORT_SYMBOL_GPL
+0x1f684cea	netdev_rx_csum_fault	vmlinux	EXPORT_SYMBOL
+0xd9e408a5	sk_run_filter	vmlinux	EXPORT_SYMBOL
+0x91600a94	hpsb_iso_packet_sent	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x54bca293	videobuf_poll_stream	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x3b4f162e	mpt_lan_index	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x2eb2eb15	acpi_get_table	vmlinux	EXPORT_SYMBOL
+0x372a1d05	neigh_sysctl_unregister	vmlinux	EXPORT_SYMBOL
+0x0bf0fa3d	ata_pio_need_iordy	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x25c9911a	tda10021_attach	drivers/media/dvb/frontends/tda10021	EXPORT_SYMBOL
+0x9adfb132	ipt_register_table	net/ipv4/netfilter/ip_tables	EXPORT_SYMBOL
+0x0f375c5f	ipv6_push_nfrag_opts	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfa48677e	xdr_decode_array2	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe56a9336	snd_pcm_format_width	sound/core/snd-pcm	EXPORT_SYMBOL
+0xde081f05	d_move	vmlinux	EXPORT_SYMBOL
+0xa29e9c6c	__scm_destroy	vmlinux	EXPORT_SYMBOL
+0xfa5d6190	snd_mixer_oss_notify_callback	sound/core/snd	EXPORT_SYMBOL
+0x4889d846	ieee80211_get_mc_list_item	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x1a04c1d3	touch_atime	vmlinux	EXPORT_SYMBOL
+0x6b937ffb	mca_mark_as_used	vmlinux	EXPORT_SYMBOL
+0x6b058398	ata_bmdma_freeze	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe571d22e	ipmi_get_version	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x8db05493	hpsb_iso_recv_flush	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd84fb0b0	rdma_reject	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xb6b608ec	b1_loaded	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x25f3684c	ieee80211_crypt_delayed_deinit	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0xf63fa656	acpi_pci_irq_enable	vmlinux	EXPORT_SYMBOL
+0x7184a94f	gf128mul_4k_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0x4abfe2e1	gf128mul_4k_lle	crypto/gf128mul	EXPORT_SYMBOL
+0xaf682923	ieee80211_unregister_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x794487ee	disable_hlt	vmlinux	EXPORT_SYMBOL
+0xf890fe7f	pm_idle	vmlinux	EXPORT_SYMBOL
+0x1e6d26a8	strstr	vmlinux	EXPORT_SYMBOL
+0x095655b4	sock_wmalloc	vmlinux	EXPORT_SYMBOL
+0x2b1c1ceb	acpi_processor_notify_smm	drivers/acpi/processor	EXPORT_SYMBOL
+0x78ab870b	ib_unregister_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x0428d23d	dibusb_read_eeprom_byte	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x2dd16564	arch_register_cpu	vmlinux	EXPORT_SYMBOL
+0xa2efbd4b	k8_northbridges	vmlinux	EXPORT_SYMBOL
+0xec41acdb	mpt_proc_root_dir	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x2d023fdf	iscsi_prep_scsi_cmd_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x19d2297a	snd_sb8dsp_midi	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0x1ae754fd	pnp_release_card_device	vmlinux	EXPORT_SYMBOL
+0xbc66c173	inet_csk_listen_stop	vmlinux	EXPORT_SYMBOL_GPL
+0x1f0d2138	ppp_channel_index	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x11af6d6a	ieee80211_get_buffered_bc	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x31e96a95	pci_match_device	vmlinux	EXPORT_SYMBOL
+0x4d8c196a	pskb_expand_head	vmlinux	EXPORT_SYMBOL
+0x52573815	xfrm_state_lookup_byaddr	vmlinux	EXPORT_SYMBOL
+0x0144a2f1	ata_bus_reset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x71ebc8cf	md_check_recovery	drivers/md/md-mod	EXPORT_SYMBOL
+0xd947976a	sirdev_set_dongle	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xb6586d66	hashbin_get_next	net/irda/irda	EXPORT_SYMBOL
+0xfed0505b	take_over_console	vmlinux	EXPORT_SYMBOL
+0x45e30fb2	udplite_get_port	vmlinux	EXPORT_SYMBOL
+0x176b197a	i2c_release_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xa06274da	spi_display_xfer_agreement	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0xf48290c3	dccp_rx_hist_add_packet	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x75d7cf2e	dma_mark_declared_memory_occupied	vmlinux	EXPORT_SYMBOL
+0xda928914	nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0xa996a329	lock_may_write	vmlinux	EXPORT_SYMBOL
+0x4da5ed36	sis_info133	drivers/ata/pata_sis	EXPORT_SYMBOL_GPL
+0x48ae5e92	i2c_pcf_add_bus	drivers/i2c/algos/i2c-algo-pcf	EXPORT_SYMBOL
+0xac4ca1b0	intlog2	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x1d727e9d	xdr_buf_read_netobj	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x69005013	acpi_os_stall	vmlinux	EXPORT_SYMBOL
+0x6f9771c9	sock_wake_async	vmlinux	EXPORT_SYMBOL
+0xd4d3dddc	dibusb_rc_keys	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x60dc1081	cx8802_cancel_buffers	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0xbeeec0b0	qlogicfas408_info	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x403e2420	nf_conntrack_hash_insert	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x88e3e3c6	nf_nat_pptp_hook_exp_gre	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x2c56ee95	__set_page_dirty_buffers	vmlinux	EXPORT_SYMBOL
+0x662e809b	eisa_driver_register	vmlinux	EXPORT_SYMBOL
+0xdc4479ea	neigh_dump_info	vmlinux	EXPORT_SYMBOL
+0x3b2baa76	fat_free_clusters	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x95320569	mod_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x0c5ef91b	per_cpu__vm_event_states	vmlinux	EXPORT_SYMBOL
+0x28f35813	scnprintf	vmlinux	EXPORT_SYMBOL
+0xde78f6ac	usb_hcd_platform_shutdown	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xf9df724d	bt_sock_poll	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xf963a997	snd_gus_interrupt	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x9acb34c0	blk_queue_ordered	vmlinux	EXPORT_SYMBOL
+0x98b5af00	__wait_on_bit	vmlinux	EXPORT_SYMBOL
+0x78bf70b3	copy_strings_kernel	vmlinux	EXPORT_SYMBOL
+0x7308dc5d	d_alloc_anon	vmlinux	EXPORT_SYMBOL
+0x668d3597	orinoco_reinit_firmware	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0xa71ee843	lapb_connect_request	net/lapb/lapb	EXPORT_SYMBOL
+0x0c99385c	snd_seq_kernel_client_enqueue_blocking	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x9da3015b	hrtimer_get_remaining	vmlinux	EXPORT_SYMBOL_GPL
+0x2c5749e6	acpi_clear_gpe	vmlinux	EXPORT_SYMBOL
+0x20645642	drm_debug	drivers/char/drm/drm	EXPORT_SYMBOL
+0x04403fcf	unregister_capi_driver	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x6dd2d19b	tmsdev_init	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0x23be3c06	iscsi_recv_pdu	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x1088bed5	acpi_root_dir	vmlinux	EXPORT_SYMBOL
+0xf3ff7ff4	tcp_enter_memory_pressure	vmlinux	EXPORT_SYMBOL
+0x0986ff11	ib_get_cached_gid	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe9587909	usb_unregister_notify	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xac3c36ee	wanrouter_encapsulate	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0xdc9faf2d	rt_mutex_timed_lock	vmlinux	EXPORT_SYMBOL_GPL
+0xd81dcab9	__percpu_populate_mask	vmlinux	EXPORT_SYMBOL_GPL
+0xfa5f0d57	no_llseek	vmlinux	EXPORT_SYMBOL
+0x32d01fec	acpi_attach_data	vmlinux	EXPORT_SYMBOL
+0xe23f9c5f	arp_create	vmlinux	EXPORT_SYMBOL
+0x11e304fc	ata_bmdma_post_internal_cmd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x3a4909c3	dst_gpio_outb	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xa6acc577	spi_schedule_dv_device	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x340ef6fe	dma_declare_coherent_memory	vmlinux	EXPORT_SYMBOL
+0x8e9a0c68	rwsem_down_read_failed	vmlinux	EXPORT_SYMBOL
+0xfcfa03ff	fb_videomode_to_modelist	vmlinux	EXPORT_SYMBOL
+0xebf1760f	tcp_statistics	vmlinux	EXPORT_SYMBOL
+0x2ac110dc	flexcop_eeprom_check_mac_addr	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x6cff9274	rtc_irq_set_freq	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xfd03f1cd	_read_unlock_irq	vmlinux	EXPORT_SYMBOL
+0xe3016e92	pm_send_all	vmlinux	EXPORT_SYMBOL
+0xd5614e73	dev_ethtool	vmlinux	EXPORT_SYMBOL
+0xa0384d51	ata_port_start	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xcb629d38	saa7134_common_ioctl	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x713aaf16	phidget_class	drivers/usb/misc/phidget	EXPORT_SYMBOL_GPL
+0x65a02a10	unlock_adapter_irq	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x6fdcc4ad	snd_hda_build_controls	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x7dceceac	capable	vmlinux	EXPORT_SYMBOL
+0x395bf7cb	proc_root_driver	vmlinux	EXPORT_SYMBOL
+0x7230704b	snd_util_memhdr_new	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x23841980	__wake_up_sync	vmlinux	EXPORT_SYMBOL_GPL
+0xc8b57c27	autoremove_wake_function	vmlinux	EXPORT_SYMBOL
+0x78c8fe76	ps2_cmd_aborted	vmlinux	EXPORT_SYMBOL
+0x7482be70	nf_afinfo	vmlinux	EXPORT_SYMBOL
+0xd0fa5adf	gs_got_break	drivers/char/generic_serial	EXPORT_SYMBOL
+0x3b03ca42	gameport_close	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x7c60d66e	getname	vmlinux	EXPORT_SYMBOL
+0xf8b38d27	give_up_console	vmlinux	EXPORT_SYMBOL
+0xdb2d4512	dvb_ringbuffer_flush	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x203f34b1	nf_ct_port_tuple_to_nfattr	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x50c600b4	rdma_resolve_addr	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xbe6f4b75	mpt_reset_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x85e50672	pcmcia_find_io_region	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x21ac552b	nf_conntrack_helper_register	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xb623b30e	snd_seq_root	sound/core/snd	EXPORT_SYMBOL
+0xc7786b29	snd_tea575x_exit	sound/i2c/other/snd-tea575x-tuner	EXPORT_SYMBOL
+0x28ca26af	snd_tea575x_init	sound/i2c/other/snd-tea575x-tuner	EXPORT_SYMBOL
+0x5b3b6af6	ivtv_vapi_result	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x9eac042a	__ioremap	vmlinux	EXPORT_SYMBOL
+0xf20dabd8	free_irq	vmlinux	EXPORT_SYMBOL
+0x3a10a57a	ide_end_drive_cmd	vmlinux	EXPORT_SYMBOL
+0xdc6176b5	uhci_check_and_reset_hc	vmlinux	EXPORT_SYMBOL_GPL
+0x1d1e307b	xfrm_calg_get_byid	vmlinux	EXPORT_SYMBOL_GPL
+0x0dea8345	scx200_gpio_ops	drivers/char/scx200_gpio	EXPORT_SYMBOL_GPL
+0x0ff2b602	slhc_compress	drivers/net/slhc	EXPORT_SYMBOL
+0x02325153	usb_hc_died	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x54f86eda	snd_akm4xxx_reset	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0xf234e436	rtl_ieee80211_wx_get_mode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xf79731b5	rtl_ieee80211_wx_set_mode	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xb220ed30	filemap_fdatawait	vmlinux	EXPORT_SYMBOL
+0x6ef30137	usb_serial_probe	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0xc2066af0	batostr	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xc54ebe34	tipc_forward_buf2port	net/tipc/tipc	EXPORT_SYMBOL
+0x151ffbac	ssb_bus_unregister	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x09d44df9	in_lock_functions	vmlinux	EXPORT_SYMBOL
+0x6be3a35b	pci_restore_bars	vmlinux	EXPORT_SYMBOL_GPL
+0xd0bc0682	wext_standard_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x083a5c2a	rpcauth_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x4f816e9b	snd_pcm_format_big_endian	sound/core/snd-pcm	EXPORT_SYMBOL
+0xaa748adb	p54_fill_eeprom_readback	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x469136be	rt_mutex_lock	vmlinux	EXPORT_SYMBOL_GPL
+0xfcf6ece1	sysfs_chmod_file	vmlinux	EXPORT_SYMBOL_GPL
+0xb3664588	platform_driver_probe	vmlinux	EXPORT_SYMBOL_GPL
+0x4fb1c201	kernel_getpeername	vmlinux	EXPORT_SYMBOL
+0xe5fef8e8	netpoll_parse_options	vmlinux	EXPORT_SYMBOL
+0xcc6ab305	is_dock_device	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0x8b49a23f	timeval_usec_diff	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xe0f830ed	dvb_pll_thomson_dtt759x	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x030463a3	dvb_pll_thomson_dtt7579	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x764ddf1a	mptscsih_timer_expired	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x3f65fc1d	DoCMilPlus_init	drivers/mtd/devices/doc2001plus	EXPORT_SYMBOL_GPL
+0xc709ee72	sas_port_add_phy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x85ad40e5	rpc_wake_up	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa596d99e	schedule_delayed_work	vmlinux	EXPORT_SYMBOL
+0x74cc1cbe	unregister_cpu_notifier	vmlinux	EXPORT_SYMBOL
+0x5635a60a	vmalloc_user	vmlinux	EXPORT_SYMBOL
+0x1170a2ea	simple_pin_fs	vmlinux	EXPORT_SYMBOL
+0x31a3bfe4	input_event	vmlinux	EXPORT_SYMBOL
+0xcf26aca8	alloc_fcdev	vmlinux	EXPORT_SYMBOL
+0x9699b74d	ib_sa_service_rec_query	drivers/infiniband/core/ib_sa	EXPORT_SYMBOL
+0xfd3dae85	dib7000m_i2c_enumeration	drivers/media/dvb/frontends/dib7000m	EXPORT_SYMBOL
+0x9b07448e	dib7000p_i2c_enumeration	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0x2f16d20e	i2o_driver_unregister	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x8d660e70	probe_ms_sound	sound/oss/ad1848	EXPORT_SYMBOL
+0x741f1f6e	hpet_register	vmlinux	EXPORT_SYMBOL
+0xc78ff7d3	sock_no_sendpage	vmlinux	EXPORT_SYMBOL
+0x64c1608d	tc_classify	vmlinux	EXPORT_SYMBOL
+0x4c1182cb	bitmap_scnprintf	vmlinux	EXPORT_SYMBOL
+0x283c8dc4	acpi_bus_generate_event	vmlinux	EXPORT_SYMBOL
+0x0f68fa9e	get_current_tty	vmlinux	EXPORT_SYMBOL_GPL
+0xd494ee54	speedstep_get_freqs	arch/i386/kernel/cpu/cpufreq/speedstep-lib	EXPORT_SYMBOL_GPL
+0xca702d7d	snd_gf1_dram_addr	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xf7426da3	midi_synth_load_patch	sound/oss/sound	EXPORT_SYMBOL
+0x96541f0a	ivtv_udma_prepare	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xac3b3cee	__bitmap_and	vmlinux	EXPORT_SYMBOL
+0xff818632	uart_register_driver	vmlinux	EXPORT_SYMBOL
+0xa7ad6e8c	kernel_getsockname	vmlinux	EXPORT_SYMBOL
+0x3ca1608c	kernel_sendmsg	vmlinux	EXPORT_SYMBOL
+0xafd47d59	nand_wait_ready	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0x0cc3ede5	cyber2000fb_detach	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x13cf8966	cyber2000fb_attach	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0x0f6a5d32	snd_midi_event_no_status	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x3971b4df	snd_ecards_limit	sound/core/snd	EXPORT_SYMBOL
+0xba4bf32d	snd_ac97_write_cache	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xc444d054	snd_hda_build_pcms	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x7c524dbd	synchronize_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x20f564d2	xfrm_alloc_spi	vmlinux	EXPORT_SYMBOL
+0xb6d3cccf	crypto_blkcipher_type	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0x812c8e77	ib_destroy_fmr_pool	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x85f09690	b1_irq_table	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x713ecaba	phy_disable_interrupts	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x55c22091	nf_conntrack_destroyed	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x3fe24ab8	tipc_send_buf2port	net/tipc/tipc	EXPORT_SYMBOL
+0x798f38d2	set_page_dirty	vmlinux	EXPORT_SYMBOL
+0x07601890	posix_lock_file	vmlinux	EXPORT_SYMBOL
+0x21cb1ccf	dmam_pool_destroy	vmlinux	EXPORT_SYMBOL
+0x8c579fe4	dev_remove_pack	vmlinux	EXPORT_SYMBOL
+0x078dcda2	qdisc_tree_decrease_qlen	vmlinux	EXPORT_SYMBOL
+0x07052a11	nf_log_packet	vmlinux	EXPORT_SYMBOL
+0xca161b91	blkcipher_walk_virt	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0xbd2b620f	ata_eh_freeze_port	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xea4152ff	dma_region_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x878aec47	ib_query_gid	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x694a4b30	kvm_stat	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xb330fe9d	usb_autopm_set_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x4502c65a	asc2ax	net/ax25/ax25	EXPORT_SYMBOL
+0xde9360ba	totalram_pages	vmlinux	EXPORT_SYMBOL
+0x58425d35	video_device_alloc	drivers/media/video/videodev	EXPORT_SYMBOL
+0x8a4fafb4	nf_conntrack_expect_init	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xb92533eb	install_page	vmlinux	EXPORT_SYMBOL
+0x242fb203	udp_disconnect	vmlinux	EXPORT_SYMBOL
+0xa943489c	pcmcia_socket_dev_suspend	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xec93214b	nfs4_acl_nfsv4_to_posix	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x8e7a074c	nf_conntrack_l4proto_udp4	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x773ccceb	finish_usermodehelper_pipe	vmlinux	EXPORT_SYMBOL
+0x9042b7b3	fb_pan_display	vmlinux	EXPORT_SYMBOL
+0x7ffb61f4	fb_show_logo	vmlinux	EXPORT_SYMBOL
+0xfb0443fb	acpi_get_parent	vmlinux	EXPORT_SYMBOL
+0xf97839c5	drm_ati_pcigart_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0xaeea0069	acpi_run_oshp	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xbb883cb5	journal_get_write_access	fs/jbd/jbd	EXPORT_SYMBOL
+0x07fcf0ad	mca_device_set_claim	vmlinux	EXPORT_SYMBOL
+0x7b5d4b7a	ib_is_mad_class_rmpp	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xb3e0ba0d	rtc_class_close	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x4fa10876	iscsi_session_recovery_timedout	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xe5919cb1	xdr_encode_opaque	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x80f0c1c4	snd_cs4231_info_double	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x01b0e780	ll_back_merge_fn	vmlinux	EXPORT_SYMBOL
+0x6f892608	blk_queue_stack_limits	vmlinux	EXPORT_SYMBOL
+0xdc14eda7	pci_pci_problems	vmlinux	EXPORT_SYMBOL
+0x5232129b	sysdev_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x10ac4594	devres_alloc	vmlinux	EXPORT_SYMBOL_GPL
+0xec780df1	__sk_stream_mem_reclaim	vmlinux	EXPORT_SYMBOL
+0xdebf2ec9	ib_dereg_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x9af9ebdb	b1_parse_version	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x6036a8cf	cx88_set_stereo	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xd585d23c	parse_mtd_partitions	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0x442b46c3	svc_max_payload	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x47fd015a	lock_adapter_irq	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x580b85db	snd_rawmidi_new	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xe4118dcf	pnp_is_active	vmlinux	EXPORT_SYMBOL
+0xde3adcf7	sk_send_sigurg	vmlinux	EXPORT_SYMBOL
+0x911d88f0	udp_lib_setsockopt	vmlinux	EXPORT_SYMBOL
+0x8df31865	udp_lib_getsockopt	vmlinux	EXPORT_SYMBOL
+0x9feaf287	sonet_subtract_stats	vmlinux	EXPORT_SYMBOL
+0x946a000c	ata_eh_thaw_port	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa24a56c4	ata_exec_command	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x85bc1770	csr1212_read	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7a45eb78	usbvideo_DeinterlaceFrame	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xf2869668	nf_conntrack_free	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x1b7d4074	printk	vmlinux	EXPORT_SYMBOL
+0x2e7acf4b	drop_super	vmlinux	EXPORT_SYMBOL
+0x447fa05c	atalk_find_dev_addr	net/appletalk/appletalk	EXPORT_SYMBOL
+0x9e9d70f5	hashbin_remove	net/irda/irda	EXPORT_SYMBOL
+0xebd883c8	snd_vx_dsp_load	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x76ecda72	synchronize_srcu	vmlinux	EXPORT_SYMBOL_GPL
+0xedbe6154	try_to_release_page	vmlinux	EXPORT_SYMBOL
+0xd70272e5	remove_inode_hash	vmlinux	EXPORT_SYMBOL
+0x798faf87	bus_unregister_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xc85d67c0	sk_alloc	vmlinux	EXPORT_SYMBOL
+0xb494e82a	br_fdb_put_hook	vmlinux	EXPORT_SYMBOL
+0x650128e7	br_fdb_get_hook	vmlinux	EXPORT_SYMBOL
+0x09a3fec3	sata_std_hardreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x9c174567	kobject_add	vmlinux	EXPORT_SYMBOL
+0x621d48e3	pci_disable_msix	vmlinux	EXPORT_SYMBOL
+0xd0d1ea0e	platform_driver_register	vmlinux	EXPORT_SYMBOL_GPL
+0xa883fcc2	klist_iter_init	vmlinux	EXPORT_SYMBOL_GPL
+0x7ae24d54	i2o_driver_notify_controller_remove_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x29a3eb2f	spi_dv_device	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL
+0x0dc6f6f9	hci_conn_switch_role	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xaed981e1	rpcauth_lookup_credcache	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9009602a	acpi_bus_get_ejd	vmlinux	EXPORT_SYMBOL_GPL
+0x65593c3b	platform_driver_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x6f4fdd06	agp_generic_alloc_user	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xdbf18453	vp3054_i2c_remove	drivers/media/video/cx88/cx88-vp3054-i2c	EXPORT_SYMBOL
+0xccc3d0a3	parport_register_device	drivers/parport/parport	EXPORT_SYMBOL
+0x4b8af9ec	gfs2_mount_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0x8b466008	wlan_unsetup	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x4ec9c4d5	simple_dir_operations	vmlinux	EXPORT_SYMBOL
+0xee5f1198	pci_scan_single_device	vmlinux	EXPORT_SYMBOL
+0x3516b798	iw_handler_get_thrspy	vmlinux	EXPORT_SYMBOL
+0x89103b74	gnet_stats_copy_queue	vmlinux	EXPORT_SYMBOL
+0x345f250f	tcp_v4_calc_md5_hash	vmlinux	EXPORT_SYMBOL
+0x68685a10	hpsb_packet_received	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x16f59cc0	isdn_ppp_register_compressor	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0x74a5a698	dvb_filter_pes2ts_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x405709d7	usb_get_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xcdcd8e5e	br_should_route_hook	net/bridge/bridge	EXPORT_SYMBOL
+0x6403e338	tcp_memory_pressure	vmlinux	EXPORT_SYMBOL
+0xa33847c3	agp_generic_remove_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x30031b64	scsi_alloc_sgtable	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xb01ffc2c	tipc_forward2name	net/tipc/tipc	EXPORT_SYMBOL
+0x901fe65c	crypto_get_attr_alg	vmlinux	EXPORT_SYMBOL_GPL
+0xf2191383	elv_add_request	vmlinux	EXPORT_SYMBOL
+0xe8d61d47	elv_dispatch_sort	vmlinux	EXPORT_SYMBOL
+0xadaa2657	cpufreq_register_notifier	vmlinux	EXPORT_SYMBOL
+0xcb19f6d6	ip_statistics	vmlinux	EXPORT_SYMBOL
+0xc32693b8	nand_release	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0xb7da07b1	scsi_queue_work	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x24a94b26	snd_info_get_line	sound/core/snd	EXPORT_SYMBOL
+0x191e88cf	snd_dma_pointer	sound/core/snd	EXPORT_SYMBOL
+0x365385e5	snd_register_oss_device	sound/core/snd	EXPORT_SYMBOL
+0x689fa5a6	relay_flush	vmlinux	EXPORT_SYMBOL_GPL
+0x2bad64ac	simple_attr_read	vmlinux	EXPORT_SYMBOL_GPL
+0x7379cfe1	netif_device_attach	vmlinux	EXPORT_SYMBOL
+0xb9b76006	netif_device_detach	vmlinux	EXPORT_SYMBOL
+0xc81c15d9	dm_table_unplug_all	drivers/md/dm-mod	EXPORT_SYMBOL
+0xda26c445	mptscsih_TMHandler	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x775f9f81	unregister_hdlc_device	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x3b1a743a	__devm_release_region	vmlinux	EXPORT_SYMBOL
+0x15872aee	vfs_read	vmlinux	EXPORT_SYMBOL
+0x1e11bdfe	kernel_read	vmlinux	EXPORT_SYMBOL
+0x52ae4f8a	kbd	vmlinux	EXPORT_SYMBOL
+0x4e6e8ea7	fg_console	vmlinux	EXPORT_SYMBOL
+0xcc248d26	serial8250_suspend_port	vmlinux	EXPORT_SYMBOL
+0xcca90a30	serio_register_driver	vmlinux	EXPORT_SYMBOL
+0x131a98f5	kernel_bind	vmlinux	EXPORT_SYMBOL
+0x444779c4	nla_find	vmlinux	EXPORT_SYMBOL
+0x98c3d558	saa7146_vv_init	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x1842c3e6	saa7134_dmasound_exit	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x3124637f	saa7134_dmasound_init	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x71ecc67f	dccp_rx_hist_find_data_packet	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xf24c88ba	snd_sb16dsp_pcm	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0xfb5128ff	synth_release	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xfa8cdc34	blk_queue_prep_rq	vmlinux	EXPORT_SYMBOL
+0xae8e6d59	pci_bus_find_capability	vmlinux	EXPORT_SYMBOL
+0x63230950	tty_ldisc_get	vmlinux	EXPORT_SYMBOL_GPL
+0x9fb3dd30	memcpy_fromiovec	vmlinux	EXPORT_SYMBOL
+0xa8813189	__nvram_write_byte	drivers/char/nvram	EXPORT_SYMBOL
+0xf7147e66	parport_write	drivers/parport/parport	EXPORT_SYMBOL
+0x594b897e	snd_opl4_read_memory	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x74b3ccee	sysdev_class_register	vmlinux	EXPORT_SYMBOL_GPL
+0xae17d096	videobuf_dma_map	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x848a4786	pcmcia_socket_dev_resume	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x707cdbd1	journal_unlock_updates	fs/jbd/jbd	EXPORT_SYMBOL
+0xbb189cad	disallow_signal	vmlinux	EXPORT_SYMBOL
+0x3bcb4452	find_task_by_pid_type	vmlinux	EXPORT_SYMBOL
+0x107d6ba3	__get_free_pages	vmlinux	EXPORT_SYMBOL
+0xdecde6c6	mntput_no_expire	vmlinux	EXPORT_SYMBOL
+0xf15d311d	bio_alloc	vmlinux	EXPORT_SYMBOL
+0x245570ff	ide_map_sg	vmlinux	EXPORT_SYMBOL_GPL
+0x76b47740	agp_collect_device_status	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xb4a8ef6b	drm_ati_pcigart_cleanup	drivers/char/drm/drm	EXPORT_SYMBOL
+0x24706c4e	hpsb_iso_xmit_queue_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9bd85ce4	videobuf_streamon	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x535a2f4d	pciserial_init_ports	vmlinux	EXPORT_SYMBOL_GPL
+0xb3644006	__tcp_get_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0xdbcd416e	sysctl_ip_nonlocal_bind	vmlinux	EXPORT_SYMBOL
+0xc1bcd376	iscsi_pool_init	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x7e390b80	make_spkm3_checksum	net/sunrpc/auth_gss/rpcsec_gss_spkm3	EXPORT_SYMBOL
+0xeb315d99	DMAbuf_inputintr	sound/oss/sound	EXPORT_SYMBOL
+0xd359c491	blk_queue_resize_tags	vmlinux	EXPORT_SYMBOL
+0xe9e462da	ide_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0x6d52c8d7	stv0297_attach	drivers/media/dvb/frontends/stv0297	EXPORT_SYMBOL
+0x03c48cf3	matroxfb_g450_shutdown	drivers/video/matrox/matroxfb_g450	EXPORT_SYMBOL
+0x9f571bf8	ieee80211_start_queues	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x7ab713ab	per_cpu__cpu_gdt_descr	vmlinux	EXPORT_SYMBOL
+0x6f6ae5cd	proto_unregister	vmlinux	EXPORT_SYMBOL
+0xb43003e2	hippi_type_trans	vmlinux	EXPORT_SYMBOL
+0x23a4e864	ipv4_specific	vmlinux	EXPORT_SYMBOL
+0xe2b6e7fd	bttv_gpio_bits	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xf9a1e30c	register_mtd_chip_driver	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0xb6f383de	cycx_poke	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x47d0f625	parport_ieee1284_write_compat	drivers/parport/parport	EXPORT_SYMBOL
+0xde134c69	storage_usb_ids	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0x34e0f0c5	nf_ct_l3proto_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xeeaaebf2	nf_ct_l4proto_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xef4d98fb	lookup_instantiate_filp	vmlinux	EXPORT_SYMBOL_GPL
+0x843c9bd8	__any_online_cpu	vmlinux	EXPORT_SYMBOL
+0xb19fda8d	capi_cmd2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xb92e520c	dib3000mc_i2c_enumeration	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xb4a11b5e	deregister_mtd_parser	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0xa5881712	ipv6_get_saddr	net/ipv6/ipv6	EXPORT_SYMBOL
+0x93619db5	register_page_fault_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xa92b5a50	kunmap_high	vmlinux	EXPORT_SYMBOL
+0x7b4dc30b	dm_table_put	drivers/md/dm-mod	EXPORT_SYMBOL
+0x6cb165ff	register_ip_vs_app	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x9c45558e	tipc_enable_bearer	net/tipc/tipc	EXPORT_SYMBOL
+0x4825c93a	rt_mutex_unlock	vmlinux	EXPORT_SYMBOL_GPL
+0x472d2a9a	radix_tree_lookup	vmlinux	EXPORT_SYMBOL
+0xc1d50464	match_strdup	vmlinux	EXPORT_SYMBOL
+0x029043ed	acpi_get_vendor_resource	vmlinux	EXPORT_SYMBOL
+0xad9e6463	sata_scr_write	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb6156639	ib_send_cm_apr	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xc0eb63d0	dvb_pll_fmd1216me	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x8392666a	ieee80211_wx_get_encodeext	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x02193225	ieee80211_wx_set_encodeext	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xc55b6b62	lapb_data_request	net/lapb/lapb	EXPORT_SYMBOL
+0x51939f54	snd_util_memhdr_free	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x7a9f9fe5	generic_ro_fops	vmlinux	EXPORT_SYMBOL
+0x49791de8	vfs_rename	vmlinux	EXPORT_SYMBOL
+0x540f9040	acpi_os_sleep	vmlinux	EXPORT_SYMBOL
+0xde76a980	neigh_seq_next	vmlinux	EXPORT_SYMBOL
+0x94edcb3f	kthread_bind	vmlinux	EXPORT_SYMBOL
+0xeb1765db	hpsb_set_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x98bb62a1	iscsi_free_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x316e646e	ide_unregister_region	vmlinux	EXPORT_SYMBOL_GPL
+0xa9f01119	videobuf_alloc	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x0f3e7995	del_mtd_blktrans_dev	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0x8e3e033b	usb_serial_port_softint	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0xa5d2db49	ipv6_setsockopt	net/ipv6/ipv6	EXPORT_SYMBOL
+0x833a3e07	snd_midi_channel_set_clear	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0x6379df9d	inetdev_by_index	vmlinux	EXPORT_SYMBOL
+0x8ad5bd3e	dccp_getsockopt	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xa591de87	cache_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x8354bd3c	filemap_fdatawrite	vmlinux	EXPORT_SYMBOL
+0x4c61fc21	bt_sock_wait_state	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xe78c4be8	relay_buf_empty	vmlinux	EXPORT_SYMBOL_GPL
+0xe400eba3	bio_hw_segments	vmlinux	EXPORT_SYMBOL
+0xd25d4f74	console_blank_hook	vmlinux	EXPORT_SYMBOL
+0xd1f91bcd	dev_base_lock	vmlinux	EXPORT_SYMBOL
+0x8616b11a	ipmi_request_settime	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xaa50adbd	cx22700_attach	drivers/media/dvb/frontends/cx22700	EXPORT_SYMBOL
+0x44c5cc7d	mptscsih_event_process	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x8be3869f	rtl_ieee80211_ps_tx_ack	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x0b9cdeb5	get_sb_bdev	vmlinux	EXPORT_SYMBOL
+0xc89eddde	file_fsync	vmlinux	EXPORT_SYMBOL
+0x99d4547c	sg_scsi_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x46b2a30d	proc_ide_read_capacity	vmlinux	EXPORT_SYMBOL_GPL
+0xcfbeb6ef	cx88_core_get	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xead49dff	mptscsih_resume	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xc913009c	hdlcdrv_register	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xb512aea4	xt_request_find_target	net/netfilter/x_tables	EXPORT_SYMBOL_GPL
+0x016a8997	opl3_init	sound/oss/opl3	EXPORT_SYMBOL
+0x4b34fbf5	block_all_signals	vmlinux	EXPORT_SYMBOL
+0x6bed092e	dma_pool_create	vmlinux	EXPORT_SYMBOL
+0xfe7bde5e	dmi_find_device	vmlinux	EXPORT_SYMBOL
+0x18ac55e0	gnet_stats_finish_copy	vmlinux	EXPORT_SYMBOL
+0x3ca87cac	register_md_personality	drivers/md/md-mod	EXPORT_SYMBOL
+0x4db00e31	dib3000mc_get_tuner_i2c_master	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0xbc91f9ed	tifm_free_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x3037658e	sis_malloc	drivers/video/sis/sisfb	EXPORT_SYMBOL
+0x0d75d3ef	tty_name	vmlinux	EXPORT_SYMBOL
+0x147465ca	dma_pool_destroy	vmlinux	EXPORT_SYMBOL
+0x6776848f	ib_destroy_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd012454d	ib_destroy_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x43c89ef4	ir_decode_biphase	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc061f6db	usb_hcd_pci_probe	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x0d3fc191	call_usermodehelper_pipe	vmlinux	EXPORT_SYMBOL
+0x3e9ba3cf	destroy_workqueue	vmlinux	EXPORT_SYMBOL_GPL
+0x7eecfbed	kvm_emulator_want_group7_invlpg	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x407c3f5a	ebt_register_match	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xd0fdbf18	rtl_ieee80211_is_shortslot	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x72216fa9	param_get_uint	vmlinux	EXPORT_SYMBOL
+0xb14f94c3	check_disk_change	vmlinux	EXPORT_SYMBOL
+0xa5089a06	pci_save_state	vmlinux	EXPORT_SYMBOL
+0xf74f255a	do_SAK	vmlinux	EXPORT_SYMBOL
+0x51075278	mptscsih_host_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xcf2cf614	fat_get_dotdot_entry	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x0f842e73	inet6_csk_reqsk_queue_hash_add	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x9613ef55	rtl_ieee80211_rx	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8c1b50ee	page_put_link	vmlinux	EXPORT_SYMBOL
+0x5fd9f031	elv_register	vmlinux	EXPORT_SYMBOL_GPL
+0xe6559184	cx88_free_buffer	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x68a424a0	sas_rphy_add	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xbbd504b3	pci_enable_msi	vmlinux	EXPORT_SYMBOL
+0xb6aeb661	ata_id_c_string	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xf7a05d1a	sp8870_attach	drivers/media/dvb/frontends/sp8870	EXPORT_SYMBOL
+0xbbf203c4	rpc_sleep_on	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x70196ffb	ivtv_cards_active	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xb0e10781	get_option	vmlinux	EXPORT_SYMBOL
+0xa492fe8c	km_state_expired	vmlinux	EXPORT_SYMBOL
+0x9dffd645	hid_input_field	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x6c252d29	tfrc_calc_x_reverse_lookup	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x60253ab0	up_read	vmlinux	EXPORT_SYMBOL
+0x8082ceb2	pci_set_consistent_dma_mask	vmlinux	EXPORT_SYMBOL
+0xa8b50f01	inet_accept	vmlinux	EXPORT_SYMBOL
+0xde3b9162	flexcop_dma_xfer_control	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xce19bac5	register_inet6addr_notifier	net/ipv6/ipv6	EXPORT_SYMBOL
+0x17598419	nf_ct_gre_keymap_destroy	net/netfilter/nf_conntrack_proto_gre	EXPORT_SYMBOL_GPL
+0x5ec04b29	rxrpc_put_connection	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xb32242d3	dma_spin_lock	vmlinux	EXPORT_SYMBOL
+0x99c3c0b0	vfs_fstat	vmlinux	EXPORT_SYMBOL
+0x387c0967	vfs_lstat	vmlinux	EXPORT_SYMBOL
+0xa57f0a13	bioset_free	vmlinux	EXPORT_SYMBOL
+0x89e82aef	tty_wait_until_sent	vmlinux	EXPORT_SYMBOL
+0x63fd8cd2	__pskb_pull_tail	vmlinux	EXPORT_SYMBOL
+0x27485bfe	cpufreq_frequency_table_verify	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0xeecd5cab	bttv_get_cardinfo	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x6188486a	nfnetlink_subsys_register	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xa598e29c	vesa_modes	vmlinux	EXPORT_SYMBOL
+0x772a30a2	ir_codes_nebula	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x4495d148	pcmcia_unregister_driver	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x40f794f1	param_set_invbool	vmlinux	EXPORT_SYMBOL
+0x183fa88b	mempool_alloc_slab	vmlinux	EXPORT_SYMBOL
+0x0ac72904	generic_fillattr	vmlinux	EXPORT_SYMBOL
+0x03960713	ioread16	vmlinux	EXPORT_SYMBOL
+0x63701ed1	mca_device_claimed	vmlinux	EXPORT_SYMBOL
+0x0bee3282	__netif_schedule	vmlinux	EXPORT_SYMBOL
+0xc5d9c46c	agp_try_unsupported_boot	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xd65f9e3d	rdma_accept	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x3188c3ac	ttpci_budget_irq10_handler	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0xe808680a	attach_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x3d817175	dccp_shutdown	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xe02df37d	d_instantiate_unique	vmlinux	EXPORT_SYMBOL
+0xa3ccfb6b	pci_bus_alloc_resource	vmlinux	EXPORT_SYMBOL
+0x2b30b907	ide_init_disk	vmlinux	EXPORT_SYMBOL_GPL
+0x5c78f11b	i2c_register_driver	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x3fd62b79	rdma_bind_addr	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x0dd2acb4	saa7146_setgpio	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x1dfee677	usb_reset_composite_device	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x69927dff	try_acquire_console_sem	vmlinux	EXPORT_SYMBOL
+0x83015749	mutex_lock_interruptible	vmlinux	EXPORT_SYMBOL
+0x8cd7f2ff	ide_do_reset	vmlinux	EXPORT_SYMBOL
+0x8a541d2a	sata_scr_valid	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd6f8244e	ib_free_recv_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x9da53db0	isl6421_attach	drivers/media/dvb/frontends/isl6421	EXPORT_SYMBOL
+0x213f2245	svc_drop	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x1b59df5c	setup_arg_pages	vmlinux	EXPORT_SYMBOL
+0x0487f831	fb_find_best_display	vmlinux	EXPORT_SYMBOL
+0x9951d391	__ide_abort	vmlinux	EXPORT_SYMBOL_GPL
+0x76b369c2	skb_clone	vmlinux	EXPORT_SYMBOL
+0xf7a8e0dc	edac_mc_alloc	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xa3999345	ccid_unregister	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xdb2ecaa3	sysctl_jiffies	vmlinux	EXPORT_SYMBOL
+0xa1b0534a	bttv_get_gpio_queue	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x1871bdb5	dccp_tx_hist_delete	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x3071754a	snd_es1688_mixer	sound/isa/es1688/snd-es1688-lib	EXPORT_SYMBOL
+0xb16fc1dc	tcp_init_xmit_timers	vmlinux	EXPORT_SYMBOL
+0x0ded1ee1	net_statistics	vmlinux	EXPORT_SYMBOL
+0xee6f5e65	ib_query_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb59a4d9a	phy_ethtool_gset	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x40b72f37	phy_ethtool_sset	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x48b4b2e6	tipc_send_buf_fast	net/tipc/tipc	EXPORT_SYMBOL
+0x7b8699eb	snd_seq_event_port_detach	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x54cf08b1	ssb_device_enable	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x0cc7df1a	make_bad_inode	vmlinux	EXPORT_SYMBOL
+0x26333808	bio_uncopy_user	vmlinux	EXPORT_SYMBOL
+0x6807c24b	dm_pg_init_complete	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0xa64d9397	seq_release_private	vmlinux	EXPORT_SYMBOL
+0xf5ce9811	tcp_memory_allocated	vmlinux	EXPORT_SYMBOL
+0x355521b7	ata_data_xfer	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x32dada86	map_page_into_agp	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0x96f9d2f4	b1_interrupt	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xe10ad68d	videobuf_dma_init_kernel	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4196c38b	hermes_write_ltv	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x68b727cd	gss_mech_unregister	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x91d6536d	__mutex_init	vmlinux	EXPORT_SYMBOL
+0xd1d263b5	vfs_removexattr	vmlinux	EXPORT_SYMBOL_GPL
+0x82e59756	blk_max_pfn	vmlinux	EXPORT_SYMBOL
+0xed0ce976	uart_console_write	vmlinux	EXPORT_SYMBOL_GPL
+0xa9abf7c0	ide_end_dequeued_request	vmlinux	EXPORT_SYMBOL_GPL
+0x1e4f39dc	ata_pci_remove_one	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x672c9d44	iTCO_vendor_pre_keepalive	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x23cd0963	hpsb_iso_wake	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x67136e3c	dccp_tx_hist_find_entry	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xdec8d498	snd_ctl_remove	sound/core/snd	EXPORT_SYMBOL
+0xf68ed4e0	rtc_set_time	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xcd58514e	vfs_readv	vmlinux	EXPORT_SYMBOL
+0x572da706	do_sync_write	vmlinux	EXPORT_SYMBOL
+0x325eb50f	fb_get_mode	vmlinux	EXPORT_SYMBOL
+0x1ad0e7f0	serial8250_register_port	vmlinux	EXPORT_SYMBOL
+0x0c5bbf83	cx2341x_update	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xb905ad82	icmpv6_err_convert	net/ipv6/ipv6	EXPORT_SYMBOL
+0x0797b831	auth_domain_lookup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xeefd49b3	tipc_get_handle	net/tipc/tipc	EXPORT_SYMBOL
+0x710a436b	synth_init	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x128c620b	rt_mutex_trylock	vmlinux	EXPORT_SYMBOL_GPL
+0x64733bba	search_binary_handler	vmlinux	EXPORT_SYMBOL
+0xa88bfdb2	mmc_detect_change	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x0697dce1	srp_transfer_data	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x218667a9	snd_emu10k1_synth_alloc	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x3fb18130	ssb_bus_pcibus_register	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xb8e7ce2c	__put_user_8	vmlinux	EXPORT_SYMBOL
+0xdc217d14	cpufreq_freq_attr_scaling_available_freqs	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x0d68d75a	usb_remove_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x241c1315	snd_opl4_write	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0x6fcb87a1	touch_softlockup_watchdog	vmlinux	EXPORT_SYMBOL
+0xd70b4dc5	bio_pair_release	vmlinux	EXPORT_SYMBOL
+0x479cec1e	mark_info_dirty	vmlinux	EXPORT_SYMBOL
+0x7c8fbef6	put_device	vmlinux	EXPORT_SYMBOL_GPL
+0x678e1ec6	tcp_disconnect	vmlinux	EXPORT_SYMBOL
+0xe125bb74	i2c_adapter_class	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x6ba25e07	cx2341x_fill_defaults	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xed08ff6f	videobuf_streamoff	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xcca04fdf	hostap_init_data	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xba497f13	loops_per_jiffy	vmlinux	EXPORT_SYMBOL
+0x392e7c3f	register_filesystem	vmlinux	EXPORT_SYMBOL
+0xbe45dada	ppp_input	drivers/net/ppp_generic	EXPORT_SYMBOL
+0xfe28e42c	journal_start	fs/jbd/jbd	EXPORT_SYMBOL
+0x6122a73e	cpu_callout_map	vmlinux	EXPORT_SYMBOL
+0xca6c95f8	acpi_get_name	vmlinux	EXPORT_SYMBOL
+0x673f815e	agp_bridges	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x5733b5f0	sas_remove_children	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x9d845b18	num_mixers	sound/oss/sound	EXPORT_SYMBOL
+0xeeabceef	queue_delayed_work	vmlinux	EXPORT_SYMBOL_GPL
+0xe59fb3a9	generic_make_request	vmlinux	EXPORT_SYMBOL
+0x9bf0b8dd	drm_addbufs_pci	drivers/char/drm/drm	EXPORT_SYMBOL
+0x7a381ed2	drm_addbufs_agp	drivers/char/drm/drm	EXPORT_SYMBOL
+0x4bd74715	tmsdev_term	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0xfa6871be	sound_timer_syncinterval	sound/oss/sound	EXPORT_SYMBOL
+0x2df115d4	eeprom_93cx6_multiread	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x02124474	ip_send_check	vmlinux	EXPORT_SYMBOL
+0xf7a3257d	mii_phy_probe	drivers/net/sungem_phy	EXPORT_SYMBOL
+0xb05494e5	pcmcia_insert_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x7957f728	irlmp_update_client	net/irda/irda	EXPORT_SYMBOL
+0x482a7f01	filemap_flush	vmlinux	EXPORT_SYMBOL
+0x0ff45263	RingQueue_WakeUpInterruptible	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x9a6a83f9	cmos_lock	vmlinux	EXPORT_SYMBOL
+0x4a9d86e3	acpi_set_register	vmlinux	EXPORT_SYMBOL
+0x064df683	drm_core_get_map_ofs	drivers/char/drm/drm	EXPORT_SYMBOL
+0xff158606	mpt_alloc_fw_memory	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xe8794ce1	slhc_toss	drivers/net/slhc	EXPORT_SYMBOL
+0xb14b22cd	midi_synth_hw_control	sound/oss/sound	EXPORT_SYMBOL
+0x5238feb3	kunmap	vmlinux	EXPORT_SYMBOL
+0xbcc308bb	strnlen_user	vmlinux	EXPORT_SYMBOL
+0xa3424439	tty_mutex	vmlinux	EXPORT_SYMBOL
+0xcba43f6a	i2c_smbus_read_i2c_block_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x1ad3b491	acpi_root_bridge	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x7a1211f8	dlm_setup_eviction_cb	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x67ba26ea	dccp_li_hist_delete	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xf9d931d5	unix_domain_find	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x4aee1718	snd_sb8dsp_pcm	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0x12fd1b25	ieee80211_scan_completed	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x972c63b4	mnt_pin	vmlinux	EXPORT_SYMBOL
+0xe485d664	ata_bmdma_setup	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb10d55bc	cn_netlink_send	drivers/connector/cn	EXPORT_SYMBOL_GPL
+0x9bd8368e	mpt_print_ioc_summary	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x74a24443	prism2_update_comms_qual	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x6dc1e698	xt_free_table_info	net/netfilter/x_tables	EXPORT_SYMBOL
+0xebfee273	snd_hda_suspend	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xa2f558b9	sched_setscheduler	vmlinux	EXPORT_SYMBOL_GPL
+0x48bf7f34	__page_symlink	vmlinux	EXPORT_SYMBOL
+0x760661d7	dev_get_by_name	vmlinux	EXPORT_SYMBOL
+0x804f922a	ipmi_addr_length	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x4fb71ee3	cpia_register_camera	drivers/media/video/cpia	EXPORT_SYMBOL
+0xd43ecbf1	null_ax25_address	net/ax25/ax25	EXPORT_SYMBOL
+0xa9ae40f1	dccp_poll	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x89ac903d	nf_ct_helper_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x20a2fa21	snd_dma_alloc_pages_fallback	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x13be5539	snd_gf1_mem_free	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xe36cd305	inode_double_lock	vmlinux	EXPORT_SYMBOL
+0x37d44856	do_sync_file_range	vmlinux	EXPORT_SYMBOL_GPL
+0x91e19d30	generic_cont_expand	vmlinux	EXPORT_SYMBOL
+0x4c859974	ib_unregister_event_handler	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xfdab6de3	unregister_sound_midi	sound/soundcore	EXPORT_SYMBOL
+0x04b45aa5	ivtv_set_irq_mask	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xd99dc434	udp_prot	vmlinux	EXPORT_SYMBOL
+0x9eafe9b3	ax25_hard_header	net/ax25/ax25	EXPORT_SYMBOL
+0xbe99f823	nat_h245_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x39a6789b	snd_ctl_register_ioctl	sound/core/snd	EXPORT_SYMBOL
+0xf1e98c74	avenrun	vmlinux	EXPORT_SYMBOL
+0x3d13da14	unregister_quota_format	vmlinux	EXPORT_SYMBOL
+0x749e02b3	dib3000mc_set_config	drivers/media/dvb/frontends/dib3000mc	EXPORT_SYMBOL
+0x45c71b9a	arc_proto_default	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0x7f5eb07b	register_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x2934feb8	rtc_interface_register	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x77a4616c	mb_cache_shrink	fs/mbcache	EXPORT_SYMBOL
+0x4b12796e	inet6_sk_rebuild_header	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x6a11ec90	mark_page_accessed	vmlinux	EXPORT_SYMBOL
+0x43860c35	ir_input_nokey	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc7549169	dvb_ringbuffer_pkt_read	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x57b02a20	v4l2_type_names	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xa21677a0	register_mtd_parser	drivers/mtd/mtdpart	EXPORT_SYMBOL_GPL
+0xfade4543	tms380tr_open	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0xce263e6b	__ht_create_irq	vmlinux	EXPORT_SYMBOL
+0xa05d2ce3	pnpbios_protocol	vmlinux	EXPORT_SYMBOL
+0xcc4eef8c	nf_proto_csum_replace4	vmlinux	EXPORT_SYMBOL
+0x9cb8037b	xfrm_count_enc_supported	vmlinux	EXPORT_SYMBOL_GPL
+0xee60d12d	scsi_report_bus_reset	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xca0d27a1	node_possible_map	vmlinux	EXPORT_SYMBOL
+0x9037dea1	cdev_add	vmlinux	EXPORT_SYMBOL
+0xcd77ce0d	block_sync_page	vmlinux	EXPORT_SYMBOL
+0xc730882c	hid_output_report	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0xc0ee3dd7	saa7146_i2c_adapter_prepare	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x61e8f921	saa7134_i2c_call_clients	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x731b17f3	wanrouter_type_trans	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0x37aa7b87	snd_dma_get_reserved_buf	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0xca65c2d0	open_exec	vmlinux	EXPORT_SYMBOL
+0x4ddc4b9f	utf8_mbtowc	vmlinux	EXPORT_SYMBOL
+0x669db4bf	fb_blank	vmlinux	EXPORT_SYMBOL
+0xad1c9dac	dev_mc_add	vmlinux	EXPORT_SYMBOL
+0xbba70620	dma_prog_region_free	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xba037ef8	ib_modify_srq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x34abffae	mptscsih_change_queue_depth	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x9f15880a	rtc_update_irq	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xbb21740d	ieee80211_get_channel	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xea014f45	snd_timer_new	sound/core/snd-timer	EXPORT_SYMBOL
+0x53854e7d	acpi_initialize_subsystem	vmlinux	EXPORT_SYMBOL
+0x83bdb60d	iscsi_remove_session	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xbe961a00	mb_cache_entry_find_next	fs/mbcache	EXPORT_SYMBOL
+0xb842be2a	rtl_ieee80211_crypt_deinit_entries	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8c968ff1	queue_delayed_work_on	vmlinux	EXPORT_SYMBOL_GPL
+0x34f29b4a	rt_mutex_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x5dfe8f1a	unlock_kernel	vmlinux	EXPORT_SYMBOL
+0xc2b1bebe	pci_find_next_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x6cd944ea	pnp_activate_dev	vmlinux	EXPORT_SYMBOL
+0x600895ed	journal_forget	fs/jbd/jbd	EXPORT_SYMBOL
+0x0fd39084	ip_vs_skb_replace	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x2ff742b4	__set_page_dirty_nobuffers	vmlinux	EXPORT_SYMBOL
+0x9ca58756	pci_enable_msix	vmlinux	EXPORT_SYMBOL
+0xea678136	devres_open_group	vmlinux	EXPORT_SYMBOL_GPL
+0xc1073a88	netlink_run_queue	vmlinux	EXPORT_SYMBOL
+0xcf00b13c	ib_unregister_client	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x26e5dd55	bitmap_startwrite	drivers/md/md-mod	EXPORT_SYMBOL
+0x824f68b9	proc_irda	net/irda/irda	EXPORT_SYMBOL
+0xa945d988	find_get_pid	vmlinux	EXPORT_SYMBOL_GPL
+0x740c37b7	mempool_create_node	vmlinux	EXPORT_SYMBOL
+0x98f5254e	qdisc_lock_tree	vmlinux	EXPORT_SYMBOL
+0x6278ccfd	saa7146_register_extension	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0xdfc5169b	slhc_init	drivers/net/slhc	EXPORT_SYMBOL
+0x18d6c9a9	usbnet_unlink_rx_urbs	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x5f1bd579	mca_find_adapter	vmlinux	EXPORT_SYMBOL
+0xfaeb8962	dev_set_promiscuity	vmlinux	EXPORT_SYMBOL
+0x3074f033	drm_order	drivers/char/drm/drm	EXPORT_SYMBOL
+0x1edb98d7	iscsi_verify_itt	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x57a58d35	scsi_bios_ptable	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x450f9aea	smw_free	sound/oss/sb_lib	EXPORT_SYMBOL
+0xc4c5509d	param_set_ushort	vmlinux	EXPORT_SYMBOL
+0xd4d484ca	neigh_connected_output	vmlinux	EXPORT_SYMBOL
+0x9421a6a6	tosh_smm	drivers/char/toshiba	EXPORT_SYMBOL
+0x3c2f0568	phy_read	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xf0caf44b	zlib_deflate_workspacesize	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0xfe618b58	snd_mpu401_uart_interrupt	sound/drivers/mpu401/snd-mpu401-uart	EXPORT_SYMBOL
+0x1d40ed44	apm_info	vmlinux	EXPORT_SYMBOL
+0x4292364c	schedule	vmlinux	EXPORT_SYMBOL
+0x86fb9b05	bitmap_parse_user	vmlinux	EXPORT_SYMBOL
+0x2d28a667	pci_find_slot	vmlinux	EXPORT_SYMBOL
+0x9dd54d7b	netlink_kernel_create	vmlinux	EXPORT_SYMBOL
+0x587fe20d	bitmap_unplug	drivers/md/md-mod	EXPORT_SYMBOL
+0xc8743fbc	l64781_attach	drivers/media/dvb/frontends/l64781	EXPORT_SYMBOL
+0xc890f85c	bt_sock_recvmsg	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x039dfade	svc_recv	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x01e61721	tipc_continue	net/tipc/tipc	EXPORT_SYMBOL
+0x2e7198da	snd_timer_notify	sound/core/snd-timer	EXPORT_SYMBOL
+0x8d823e07	init_task	vmlinux	EXPORT_SYMBOL
+0x1f8bea3d	mmput	vmlinux	EXPORT_SYMBOL_GPL
+0xf2d0fd19	nlmsg_notify	vmlinux	EXPORT_SYMBOL
+0x11d42382	ib_ud_header_unpack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x6d6511e7	ir_dump_samples	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xdaa041ad	ir_codes_cinergy_1400	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x147adf79	dvb_usb_nec_rc_key_to_event	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xd592369c	sppp_open	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0xe95a133d	snd_emux_free	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x00bc1597	sysdev_class_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xc122d4b2	udp_get_port	vmlinux	EXPORT_SYMBOL
+0xedae31b9	hpsb_make_isopacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x1563a417	video_devdata	drivers/media/video/videodev	EXPORT_SYMBOL
+0xffef0233	rpc_execute	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x973e6200	snd_rawmidi_transmit_peek	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x75def162	snd_gf1_mem_lock	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x04c87ec8	compute_finetune	sound/oss/sound	EXPORT_SYMBOL
+0x805efe68	snd_emu10k1_memblk_map	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x690380e2	synth_write_string	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xdf929370	fs_overflowgid	vmlinux	EXPORT_SYMBOL
+0xdb0b4fc3	__insert_inode_hash	vmlinux	EXPORT_SYMBOL
+0x1b015d25	bitmap_parselist	vmlinux	EXPORT_SYMBOL
+0x3d77aee6	fb_append_extra_logo	vmlinux	EXPORT_SYMBOL
+0xbbbe4a89	input_allocate_device	vmlinux	EXPORT_SYMBOL
+0xb8f68a20	gnet_stats_copy_app	vmlinux	EXPORT_SYMBOL
+0xaa76697c	neigh_table_init_no_netlink	vmlinux	EXPORT_SYMBOL
+0x586c94b6	__inet_twsk_hashdance	vmlinux	EXPORT_SYMBOL_GPL
+0x083661f9	ir_codes_avertv_303	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xa2ff7fbd	usbatm_usb_disconnect	drivers/usb/atm/usbatm	EXPORT_SYMBOL_GPL
+0x3da171f9	pci_mem_start	vmlinux	EXPORT_SYMBOL
+0xc3045ce3	bio_clone	vmlinux	EXPORT_SYMBOL
+0x246fbd69	blk_rq_bio_prep	vmlinux	EXPORT_SYMBOL
+0xe5964757	agp_generic_type_to_mask_type	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x03fa0225	edac_mc_del_mc	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x11df35d8	md_do_sync	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0xc4e69b8d	i2o_driver_notify_device_remove_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xf2cc1ca4	fb_ddc_read	drivers/video/fb_ddc	EXPORT_SYMBOL_GPL
+0x5637ed44	tipc_get_mode	net/tipc/tipc	EXPORT_SYMBOL
+0xa215263f	snd_midi_event_reset_decode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x33f99d1b	blocking_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0xba32cdfc	end_request	vmlinux	EXPORT_SYMBOL
+0xb6070cbe	proc_clear_tty	vmlinux	EXPORT_SYMBOL
+0x3c494891	xfrm_policy_walk	vmlinux	EXPORT_SYMBOL
+0x51cfd132	hdlc_close	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x2f09c818	spi_bitbang_setup_transfer	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0x4ba3cfc8	tipc_send2name	net/tipc/tipc	EXPORT_SYMBOL
+0x9073fd2f	snd_card_proc_new	sound/core/snd	EXPORT_SYMBOL
+0x594bf15b	ioport_map	vmlinux	EXPORT_SYMBOL
+0x07939f83	write_inode_now	vmlinux	EXPORT_SYMBOL
+0x0b13950a	key_alloc	vmlinux	EXPORT_SYMBOL
+0xeac1c4af	unregister_blkdev	vmlinux	EXPORT_SYMBOL
+0xa743af08	__skb_checksum_complete	vmlinux	EXPORT_SYMBOL
+0x35a3c008	scx200_gpio_configure	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0x9af37393	ata_pci_device_do_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xc5ed4b1a	dvb_ringbuffer_flush_spinlock_wakeup	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x7949d79f	sp887x_attach	drivers/media/dvb/frontends/sp887x	EXPORT_SYMBOL
+0xbe99d888	saa7134_ts_register	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x7f381b17	mptscsih_shutdown	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xbaa7212d	ppp_unregister_channel	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x06686a76	free_ieee80211	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xd1f6c5f3	smp_num_siblings	vmlinux	EXPORT_SYMBOL
+0xcc5005fe	msleep_interruptible	vmlinux	EXPORT_SYMBOL
+0x86f221b4	seq_path	vmlinux	EXPORT_SYMBOL
+0x175c557f	ata_busy_sleep	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2e1e2c4e	reset_airo_card	drivers/net/wireless/airo	EXPORT_SYMBOL
+0x500708b2	destroy_cis_cache	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x68a9ac94	fat_search_long	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xaa40442b	per_cpu__nf_conntrack_ecache	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x03ac2688	default_unplug_io_fn	vmlinux	EXPORT_SYMBOL
+0x7ec55cb0	generic_file_open	vmlinux	EXPORT_SYMBOL
+0xf7623914	radix_tree_tag_clear	vmlinux	EXPORT_SYMBOL
+0xa68124fa	hweight8	vmlinux	EXPORT_SYMBOL
+0x65414e67	dev_valid_name	vmlinux	EXPORT_SYMBOL
+0xbf2bbfd3	agp_create_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa716d6e6	hpsb_update_config_rom	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x0e45284e	iscsi_session_setup	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x3be89d3c	usb_register_notify	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xf8b2ff6e	g_verify_token_header	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x8d7ea893	snd_gf1_rawmidi_new	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x167ee050	d_instantiate	vmlinux	EXPORT_SYMBOL
+0xd68d37f8	generic_cont_expand_simple	vmlinux	EXPORT_SYMBOL
+0x074f82f4	subsys_create_file	vmlinux	EXPORT_SYMBOL
+0x52fbbc14	dvb_usb_tuner_calc_regs	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xcc2a6b90	genphy_update_link	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x33ff7d05	agp_generic_create_gatt_table	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x6c589cd4	z8530_dma_sync	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x79a13e23	register_sound_special_device	sound/soundcore	EXPORT_SYMBOL
+0x636a5691	acpi_register_ioapic	vmlinux	EXPORT_SYMBOL
+0x5fbc3b9d	open_bdev_excl	vmlinux	EXPORT_SYMBOL
+0xb7b61546	crc32_be	vmlinux	EXPORT_SYMBOL
+0xb2ae0e8d	sysdev_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x93b695ce	flexcop_reset_block_300	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x13531a3f	s5h1420_attach	drivers/media/dvb/frontends/s5h1420	EXPORT_SYMBOL
+0x3b46a5c3	xt_alloc_table_info	net/netfilter/x_tables	EXPORT_SYMBOL
+0xa8e2db45	current_fs_time	vmlinux	EXPORT_SYMBOL
+0x5bdd6edb	_spin_trylock	vmlinux	EXPORT_SYMBOL
+0xa27656aa	skb_find_text	vmlinux	EXPORT_SYMBOL
+0xfccffae6	rpc_restart_call	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x38e1d89f	ieee80211_register_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x7ea7d551	do_exit	vmlinux	EXPORT_SYMBOL_GPL
+0xe2f603db	crypto_lookup_template	vmlinux	EXPORT_SYMBOL_GPL
+0x43353382	skb_queue_tail	vmlinux	EXPORT_SYMBOL
+0x9497e7cc	dvb_ca_en50221_frda_irq	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xcf502e7c	acpi_get_hp_params_from_firmware	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x6228724d	ebt_unregister_watcher	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xd93a857d	nf_conntrack_tcp_update	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x15b5ecde	tipc_set_portunreliable	net/tipc/tipc	EXPORT_SYMBOL
+0xcc4b8797	sound_open_dma	sound/oss/sound	EXPORT_SYMBOL
+0x1264d24e	mark_buffer_dirty_inode	vmlinux	EXPORT_SYMBOL
+0x07f4f2ce	hisax_unregister	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xe81fe794	v4l_printk_ioctl_arg	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x813a35f5	probe_mpu401	sound/oss/mpu401	EXPORT_SYMBOL
+0x7db9be3c	ov511_deregister_decomp_module	ubuntu/media/ov511/ov511	EXPORT_SYMBOL
+0x434fa55c	release_console_sem	vmlinux	EXPORT_SYMBOL
+0xb1c3a01a	oops_in_progress	vmlinux	EXPORT_SYMBOL
+0xd544f721	queue_work	vmlinux	EXPORT_SYMBOL_GPL
+0x4d4cbcf9	dvb_usb_generic_write	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xe783213c	tda10086_attach	drivers/media/dvb/frontends/tda10086	EXPORT_SYMBOL
+0xc9cc6c6c	scsi_req_abort_cmd	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x73e25637	scsi_execute_req	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4acf0f9f	backlight_device_register	drivers/video/backlight/backlight	EXPORT_SYMBOL
+0x8bead2ec	snd_cs8427_iec958_active	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0xf465b72a	param_get_byte	vmlinux	EXPORT_SYMBOL
+0xef238427	kill_fasync	vmlinux	EXPORT_SYMBOL
+0xada78e56	elevator_init	vmlinux	EXPORT_SYMBOL
+0xe3da236f	blk_get_backing_dev_info	vmlinux	EXPORT_SYMBOL
+0x437c6f6a	tty_check_change	vmlinux	EXPORT_SYMBOL
+0xe7e2a9a4	tty_register_ldisc	vmlinux	EXPORT_SYMBOL
+0x6fe2ef7d	gss_encrypt_xdr_buf	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x9adc06c5	snd_emux_unlock_voice	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0xc37db1ee	debugfs_create_u8	vmlinux	EXPORT_SYMBOL_GPL
+0x5ea3210b	attribute_container_classdev_to_container	vmlinux	EXPORT_SYMBOL_GPL
+0x79adb0d6	mca_bus_type	vmlinux	EXPORT_SYMBOL
+0xfde2f9d4	dma_async_memcpy_issue_pending	vmlinux	EXPORT_SYMBOL
+0x77d122e1	gigaset_dbg_buffer	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x51bc8fc9	b1_send_message	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x06277061	get_key_pinnacle_color	drivers/media/video/ir-kbd-i2c	EXPORT_SYMBOL_GPL
+0xcdf34117	pcmcia_validate_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x14dfb94e	decode_rs16	lib/reed_solomon/reed_solomon	EXPORT_SYMBOL_GPL
+0x3fb568cf	drm_core_ioremap	drivers/char/drm/drm	EXPORT_SYMBOL
+0x4287839e	hpsb_iso_n_ready	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb0087aa8	ib_unregister_mad_agent	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x926a7679	arcnet_unregister_proto	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xd3bb9aa4	special_handler	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x3da1b07a	machine_real_restart	vmlinux	EXPORT_SYMBOL
+0x17d59d01	schedule_timeout	vmlinux	EXPORT_SYMBOL
+0x1bbb64f0	ttpci_budget_debiread	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0xc3bf664a	scsi_is_fc_rport	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xa9ec809e	aio_put_req	vmlinux	EXPORT_SYMBOL
+0x109b85a8	crypto_alloc_base	vmlinux	EXPORT_SYMBOL_GPL
+0xb2be638a	dma_chan_cleanup	vmlinux	EXPORT_SYMBOL
+0x65ccb6f0	call_netevent_notifiers	vmlinux	EXPORT_SYMBOL_GPL
+0xa586de8c	netlink_dump_start	vmlinux	EXPORT_SYMBOL
+0x91b8d2df	tifm_eject	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xf05f2ab8	mmc_start_request	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xaae6f09a	scsi_add_host	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x8f8fecc4	ieee80211_freq_to_channel	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xb35b672c	tipc_publish	net/tipc/tipc	EXPORT_SYMBOL
+0xcefcd99a	serial8250_unregister_port	vmlinux	EXPORT_SYMBOL
+0x0bf16b92	neigh_destroy	vmlinux	EXPORT_SYMBOL
+0x8e0b7743	ipv6_ext_hdr	vmlinux	EXPORT_SYMBOL
+0xcca787d6	ata_pci_device_do_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5f483195	i2c_adapter_driver	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x1623ffb2	rdma_notify	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x76101064	dvb_ringbuffer_pkt_dispose	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x81938a64	mmc_wait_for_app_cmd	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0xb8bddf33	ip6t_ext_hdr	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0x3342f2ec	blk_sync_queue	vmlinux	EXPORT_SYMBOL
+0x30fe9fc7	vc_lock_resize	vmlinux	EXPORT_SYMBOL
+0xaf4c227e	__xfrm_policy_check	vmlinux	EXPORT_SYMBOL
+0x9a66e97f	usbnet_get_link	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x76ffc497	ax25_rebuild_header	net/ax25/ax25	EXPORT_SYMBOL
+0x84561b99	snd_ctl_rename_id	sound/core/snd	EXPORT_SYMBOL
+0x0ba4ef1d	snd_sb16dsp_interrupt	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0xc915f64f	class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x597e787d	pskb_copy	vmlinux	EXPORT_SYMBOL
+0xa27f7ddd	b1ctl_read_proc	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x063b8e0b	scsi_schedule_eh	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xc2bc8c6c	fat_alloc_new_dir	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x0014bfd1	smp_call_function	vmlinux	EXPORT_SYMBOL
+0x4248034e	snd_sbmixer_new	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x0799aca4	local_bh_enable	vmlinux	EXPORT_SYMBOL
+0xcae17bbe	dec_zone_page_state	vmlinux	EXPORT_SYMBOL
+0xb678366f	int_sqrt	vmlinux	EXPORT_SYMBOL
+0xedb3e615	pci_find_capability	vmlinux	EXPORT_SYMBOL
+0x2fe64b34	ps2_handle_response	vmlinux	EXPORT_SYMBOL
+0x603193a6	ps2_command	vmlinux	EXPORT_SYMBOL
+0x100c48a2	unregister_dock_notifier	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0x33f86055	i2c_smbus_read_byte_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xe94b8c9c	dst_check_sum	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xc12bd133	dibusb_dib3000mc_tuner_attach	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x83479098	cx2341x_ctrl_query	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xd51988fb	scsi_host_lookup	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xca5dbc50	scsi_print_sense_hdr	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x1eb9516e	round_jiffies_relative	vmlinux	EXPORT_SYMBOL_GPL
+0xb47f3801	llc_mac_hdr_init	vmlinux	EXPORT_SYMBOL
+0x9adad583	DAC1064_global_restore	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0x7e790fdd	config_item_put	fs/configfs/configfs	EXPORT_SYMBOL
+0xadb7d49d	config_item_get	fs/configfs/configfs	EXPORT_SYMBOL
+0xa88fdd57	journal_dirty_metadata	fs/jbd/jbd	EXPORT_SYMBOL
+0xf9ae81a1	nf_conntrack_max	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x607fb03f	snd_pcm_suspend	sound/core/snd-pcm	EXPORT_SYMBOL
+0xa7e34c99	hrtimer_try_to_cancel	vmlinux	EXPORT_SYMBOL_GPL
+0x479397e4	klist_iter_init_node	vmlinux	EXPORT_SYMBOL_GPL
+0x6fb13385	rdc_reset_state	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0xd591d409	dib7000m_get_i2c_master	drivers/media/dvb/frontends/dib7000m	EXPORT_SYMBOL
+0xc9955e05	dib7000p_get_i2c_master	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0xcd1ce001	v4l2_ctrl_check	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xb34bfff4	video_unregister_device	drivers/media/video/videodev	EXPORT_SYMBOL
+0xf9782473	cap_netlink_send	security/commoncap	EXPORT_SYMBOL
+0x530b1e98	pm_suspend	vmlinux	EXPORT_SYMBOL
+0x141f4802	idr_replace	vmlinux	EXPORT_SYMBOL
+0xb2e12a31	skb_copy_and_csum_dev	vmlinux	EXPORT_SYMBOL
+0xa4d9de12	__dev_get_by_name	vmlinux	EXPORT_SYMBOL
+0x05a46d3e	nf_register_hook	vmlinux	EXPORT_SYMBOL
+0xc98b1af9	saa7134_pgtable_alloc	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0xc3a79af0	register_netdev	vmlinux	EXPORT_SYMBOL
+0x36f3004a	ib_resize_cq	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x7cc89cad	ebt_register_watcher	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0xb3cb5da5	ieee80211_tx_frame	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x57f222fb	snd_timer_continue	sound/core/snd-timer	EXPORT_SYMBOL
+0xd9d2bb03	snd_usbmidi_disconnect	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0xb3b46296	rt2x00lib_add_interface	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x7b69467e	posix_acl_from_xattr	vmlinux	EXPORT_SYMBOL
+0xd02cc869	__bitmap_andnot	vmlinux	EXPORT_SYMBOL
+0xbf2bc863	b1dma_send_message	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0x98f3b8d7	dvb_dmx_swfilter_204	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x79aa7585	dccp_rx_hist_purge	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xfcd59df1	snd_sb16dsp_configure	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0x98bd6f46	param_set_int	vmlinux	EXPORT_SYMBOL
+0x667cecc9	acpi_os_printf	vmlinux	EXPORT_SYMBOL
+0xd3ba7a14	skb_seq_read	vmlinux	EXPORT_SYMBOL
+0xcc73b207	i2c_transfer	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x781a2c74	i2o_parm_field_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xc1cbd107	scsi_device_lookup	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xefe4f32f	config_item_init	fs/configfs/configfs	EXPORT_SYMBOL
+0x22b927b4	snd_cs4231_mixer	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x3f571edc	snd_cs4236_mixer	sound/isa/cs423x/snd-cs4236-lib	EXPORT_SYMBOL
+0x00ed4422	crypto_drop_spawn	vmlinux	EXPORT_SYMBOL_GPL
+0xee08006f	sysctl_local_port_range	vmlinux	EXPORT_SYMBOL
+0x9ce3f83f	nvram_write_byte	drivers/char/nvram	EXPORT_SYMBOL
+0x1d02c21e	ttpci_eeprom_parse_mac	drivers/media/dvb/ttpci/ttpci-eeprom	EXPORT_SYMBOL
+0xaeab9aa1	cx2341x_ctrl_get_menu	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0x6e58008f	xdr_inline_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3048c09a	snd_card_file_add	sound/core/snd	EXPORT_SYMBOL
+0x40046949	param_set_short	vmlinux	EXPORT_SYMBOL
+0xf923cf04	ata_cable_80wire	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x92c1fdf3	mptbase_sas_persist_operation	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xa1c32c4f	pccard_reset_card	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x46c1c4a2	irlmp_unregister_service	net/irda/irda	EXPORT_SYMBOL
+0x8810440b	snd_midi_event_new	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x29833ad7	snd_pcm_lib_mmap_iomem	sound/core/snd-pcm	EXPORT_SYMBOL
+0x4c5cc2fa	generic_file_llseek	vmlinux	EXPORT_SYMBOL
+0x63aabb6e	skb_pad	vmlinux	EXPORT_SYMBOL
+0x45dc1ac7	drm_sman_owner_clean	drivers/char/drm/drm	EXPORT_SYMBOL
+0x7118ebfb	hpsb_send_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x2bc71478	get_h225_addr	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0xed5ddba2	nf_nat_tftp_hook	net/netfilter/nf_conntrack_tftp	EXPORT_SYMBOL_GPL
+0x1682b157	rtl_ieee80211_txb_free	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x83cbc699	mutex_lock	vmlinux	EXPORT_SYMBOL
+0x46726d5b	wait_on_page_bit	vmlinux	EXPORT_SYMBOL
+0x2fd1d81c	vfree	vmlinux	EXPORT_SYMBOL
+0xe2daeb0a	ide_xfer_verbose	vmlinux	EXPORT_SYMBOL
+0x7d08a9ec	mpt_config	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x7d7e0dbc	ei_interrupt	drivers/net/8390	EXPORT_SYMBOL
+0x03b8286f	pcmcia_disable_device	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xac8e7c5f	pcmcia_adjust_resource_info	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x78e56cec	snd_info_create_module_entry	sound/core/snd	EXPORT_SYMBOL
+0x2398605d	snd_trident_synth_free	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0xce9f696a	generic_file_sendfile	vmlinux	EXPORT_SYMBOL
+0x39023031	elv_rq_merge_ok	vmlinux	EXPORT_SYMBOL
+0x22de7ebf	dma_pool_alloc	vmlinux	EXPORT_SYMBOL
+0xad4370a6	dma_async_memcpy_pg_to_pg	vmlinux	EXPORT_SYMBOL
+0xbbcb9267	ib_response_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x958b149c	scsi_get_host_dev	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x539a6274	irlmp_open_lsap	net/irda/irda	EXPORT_SYMBOL
+0xe68dbfb8	irttp_open_tsap	net/irda/irda	EXPORT_SYMBOL
+0x783e92d8	rtl_ieee80211_get_beacon	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x9a6666c8	sysfs_create_group	vmlinux	EXPORT_SYMBOL_GPL
+0x6a32179a	blk_dump_rq_flags	vmlinux	EXPORT_SYMBOL
+0x06127753	ioread16be	vmlinux	EXPORT_SYMBOL
+0x5ffcde40	get_device	vmlinux	EXPORT_SYMBOL_GPL
+0x8707568c	tcp_v4_do_rcv	vmlinux	EXPORT_SYMBOL
+0x3f44365d	gs_getserial	drivers/char/generic_serial	EXPORT_SYMBOL
+0x1292dcb6	gs_setserial	drivers/char/generic_serial	EXPORT_SYMBOL
+0x2599a6b7	pci_match_id	vmlinux	EXPORT_SYMBOL
+0xd951c88c	xfrm_unregister_mode	vmlinux	EXPORT_SYMBOL
+0x7e3b3ec7	sppp_do_ioctl	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x7bfa464d	qlogicfas408_queuecommand	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x5dcc95e7	scsi_free_sgtable	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x93056133	scsi_add_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x00c52ef5	g_make_token_header	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xf5696a7b	kobject_register	vmlinux	EXPORT_SYMBOL
+0xc71da96d	ethtool_op_get_tso	vmlinux	EXPORT_SYMBOL
+0xe0ddb8e2	matrox_cfbX_init	drivers/video/matrox/matroxfb_accel	EXPORT_SYMBOL
+0x15239b2d	rpc_alloc_iostats	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xfebd84b4	snd_opl3_hwdep_new	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0xd8c152cd	raise_softirq_irqoff	vmlinux	EXPORT_SYMBOL
+0xf92b225a	proc_dointvec_ms_jiffies	vmlinux	EXPORT_SYMBOL
+0x85aba801	textsearch_prepare	vmlinux	EXPORT_SYMBOL
+0x4186676c	ide_pio_timings	vmlinux	EXPORT_SYMBOL_GPL
+0x4af8d8cc	tcp_prot	vmlinux	EXPORT_SYMBOL
+0xab652655	csr1212_attach_keyval_to_directory	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb1a312e1	ib_unpack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x36c8ea1f	dvb_frontend_sleep_until	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x06f2d5c7	mempool_free	vmlinux	EXPORT_SYMBOL
+0x8a9faee3	simple_getattr	vmlinux	EXPORT_SYMBOL
+0x2a605425	blk_queue_max_phys_segments	vmlinux	EXPORT_SYMBOL
+0x1069a1ac	pci_iounmap	vmlinux	EXPORT_SYMBOL
+0x07e8e6e2	or51211_attach	drivers/media/dvb/frontends/or51211	EXPORT_SYMBOL
+0xba9bd9dc	sas_port_alloc	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x247f6f3a	driver_for_each_device	vmlinux	EXPORT_SYMBOL_GPL
+0xfaf3c6ff	attribute_container_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xff67dd1d	llc_sap_open	vmlinux	EXPORT_SYMBOL
+0x7f88edce	tcf_em_tree_validate	vmlinux	EXPORT_SYMBOL
+0xf8cbefd0	cx88_sram_channel_setup	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x0896b227	configfs_register_subsystem	fs/configfs/configfs	EXPORT_SYMBOL
+0x6bdcea7e	journal_init_inode	fs/jbd/jbd	EXPORT_SYMBOL
+0x689ffec8	snd_tea6330t_update_mixer	sound/i2c/snd-tea6330t	EXPORT_SYMBOL
+0xb82116d9	__breadahead	vmlinux	EXPORT_SYMBOL
+0x859204af	sscanf	vmlinux	EXPORT_SYMBOL
+0x317b0be4	ethtool_op_get_tx_csum	vmlinux	EXPORT_SYMBOL
+0x4c6ca53c	tcp_rcv_state_process	vmlinux	EXPORT_SYMBOL
+0xb0ca1d75	skb_to_sgvec	vmlinux	EXPORT_SYMBOL_GPL
+0x8bf78796	agp_alloc_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x7e03907a	wait_for_completion	vmlinux	EXPORT_SYMBOL
+0xa8047957	inotify_add_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x40ad42dc	hpsb_set_packet_complete_task	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x732eda4a	led_classdev_suspend	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0x5d34474e	sirdev_raw_read	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x5cd179e6	qlogicfas408_ihandl	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x4e965a5c	journal_stop	fs/jbd/jbd	EXPORT_SYMBOL
+0x30123eb5	icmpv6_statistics	net/ipv6/ipv6	EXPORT_SYMBOL
+0xe8526444	rpc_bind_new_program	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe69e0b06	snd_pcm_hw_constraint_integer	sound/core/snd-pcm	EXPORT_SYMBOL
+0x16e59a25	snd_cs4236_ext_in	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x35ad67ec	hweight64	vmlinux	EXPORT_SYMBOL
+0xe8cd902e	hweight16	vmlinux	EXPORT_SYMBOL
+0xcb6beb40	hweight32	vmlinux	EXPORT_SYMBOL
+0xfd66c60e	mca_device_transform_memory	vmlinux	EXPORT_SYMBOL
+0xd783dfb1	mca_device_transform_ioport	vmlinux	EXPORT_SYMBOL
+0xa746bc92	tcp_v4_md5_do_del	vmlinux	EXPORT_SYMBOL
+0xbba7a737	agp_add_bridge	drivers/char/agp/agpgart	EXPORT_SYMBOL_GPL
+0xe17bf852	i2c_smbus_write_byte_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xa960d62f	dvb_pll_unknown_1	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x5532cfb1	usb_unlink_urb	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x0cb31ad3	platform_device_add_data	vmlinux	EXPORT_SYMBOL_GPL
+0xa37a3533	hostap_remove_proc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xa771b38f	scsi_kmap_atomic_sg	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf2859169	snd_dma_alloc_pages	sound/core/snd-page-alloc	EXPORT_SYMBOL
+0x9a425ecb	sock_create_lite	vmlinux	EXPORT_SYMBOL
+0x1fcece42	inet_twdr_twcal_tick	vmlinux	EXPORT_SYMBOL_GPL
+0xfd0f0de8	edac_mc_handle_ce_no_info	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x54452ed4	ieee80211softmac_wx_get_essid	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xbc36ae49	lapb_getparms	net/lapb/lapb	EXPORT_SYMBOL
+0xd129afc2	put_rpccred	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xca6fe072	snd_sb_csp_new	sound/isa/sb/snd-sb16-csp	EXPORT_SYMBOL
+0x172e72d4	vdso_enabled	vmlinux	EXPORT_SYMBOL_GPL
+0xcc732b68	cpufreq_unregister_governor	vmlinux	EXPORT_SYMBOL_GPL
+0x18a9f02d	cdrom_release	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x56d708ec	tifm_free_device	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x7e479918	snd_seq_event_port_attach	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0xc2b6e161	pnp_start_dev	vmlinux	EXPORT_SYMBOL
+0x6629fef5	tcp_timewait_state_process	vmlinux	EXPORT_SYMBOL
+0x211fc3cd	ip4_datagram_connect	vmlinux	EXPORT_SYMBOL
+0xae7fa1ff	hpsb_get_hostinfo_bykey	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x46db8d67	snd_gf1_lvol_to_gvol_raw	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xd18b6eb2	acpi_unmap_lsapic	vmlinux	EXPORT_SYMBOL
+0x517675eb	arch_acpi_processor_init_pdc	vmlinux	EXPORT_SYMBOL
+0xc6144286	srcu_init_notifier_head	vmlinux	EXPORT_SYMBOL_GPL
+0x7717cded	clear_page_dirty_for_io	vmlinux	EXPORT_SYMBOL
+0x028ac8de	nobh_writepage	vmlinux	EXPORT_SYMBOL
+0x7399f45f	drm_get_resource_len	drivers/char/drm/drm	EXPORT_SYMBOL
+0xe32559ba	parport_wait_event	drivers/parport/parport	EXPORT_SYMBOL
+0x6a77d250	starget_for_each_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6169915e	irttp_dup	net/irda/irda	EXPORT_SYMBOL
+0x39e3dd23	mod_firmware_load	sound/sound_firmware	EXPORT_SYMBOL
+0xdada6638	vfs_follow_link	vmlinux	EXPORT_SYMBOL
+0xf19a666a	tty_schedule_flip	vmlinux	EXPORT_SYMBOL
+0xbec9295d	tty_get_baud_rate	vmlinux	EXPORT_SYMBOL
+0x7963df57	tcp_reno_min_cwnd	vmlinux	EXPORT_SYMBOL_GPL
+0x968bc464	spi_bitbang_stop	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0xfc3197d9	ftdi_elan_gone_away	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x87cba20a	DAC1064_global_init	drivers/video/matrox/matroxfb_DAC1064	EXPORT_SYMBOL
+0xef50a1ef	tipc_disable_bearer	net/tipc/tipc	EXPORT_SYMBOL
+0x0f25f2e7	snd_rawmidi_kernel_write	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xec6585f3	inotify_rm_wd	vmlinux	EXPORT_SYMBOL_GPL
+0xbb7b4141	tty_devnum	vmlinux	EXPORT_SYMBOL
+0x314e903b	sysdev_class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x212db8d2	pcmcia_socket_list	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x41854f2a	snd_ac97_pcm_double_rate_rules	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x8aaf142b	nla_parse	vmlinux	EXPORT_SYMBOL
+0xae227bb0	tpm_release	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xb60afded	ib_post_send_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xedfd98d1	pcmcia_read_cis_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x83e1f005	ccid_new	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x98adfde2	request_module	vmlinux	EXPORT_SYMBOL
+0x74f2ed6f	input_free_device	vmlinux	EXPORT_SYMBOL
+0xae4dcd4c	llc_sap_find	vmlinux	EXPORT_SYMBOL
+0x7e95113b	ata_host_init	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x41fbcae0	hpsb_reset_bus	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7d11c268	jiffies	vmlinux	EXPORT_SYMBOL
+0x3434134e	tifm_unmap_sg	drivers/misc/tifm_core	EXPORT_SYMBOL
+0x0bb692c6	pppox_unbind_sock	drivers/net/pppox	EXPORT_SYMBOL
+0x803b96e6	alloc_ltalkdev	net/appletalk/appletalk	EXPORT_SYMBOL
+0x65b761b1	hci_conn_auth	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x53c4b881	__kfifo_get	vmlinux	EXPORT_SYMBOL
+0x847b9211	__kfifo_put	vmlinux	EXPORT_SYMBOL
+0x404e9003	proc_mkdir	vmlinux	EXPORT_SYMBOL
+0x3fbab67f	dev_queue_xmit	vmlinux	EXPORT_SYMBOL
+0xb75edc11	avmcard_dma_alloc	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xa96b8593	do_map_probe	drivers/mtd/chips/chipreg	EXPORT_SYMBOL
+0x04489f24	proc_dointvec_jiffies	vmlinux	EXPORT_SYMBOL
+0xb56717cf	xtime	vmlinux	EXPORT_SYMBOL
+0x50afba27	blk_rq_map_sg	vmlinux	EXPORT_SYMBOL
+0x8f2ffa0e	dmam_free_noncoherent	vmlinux	EXPORT_SYMBOL
+0xc6eba5eb	gigaset_if_receive	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x99096245	parport_find_base	drivers/parport/parport	EXPORT_SYMBOL
+0x1876d25a	phone_unregister_device	drivers/telephony/phonedev	EXPORT_SYMBOL
+0xa341c70d	sis_malloc_new	drivers/video/sis/sisfb	EXPORT_SYMBOL_GPL
+0xbd8c8e1d	ivtv_api	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x73ff53e3	get_dcookie	vmlinux	EXPORT_SYMBOL_GPL
+0x9f2bdaac	__bitmap_or	vmlinux	EXPORT_SYMBOL
+0x63c464e0	ide_setup_pci_devices	vmlinux	EXPORT_SYMBOL_GPL
+0xa9e305b2	sk_stream_wait_memory	vmlinux	EXPORT_SYMBOL
+0xb019a453	usb_set_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xb3887d7a	dccp_feat_confirm_recv	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x7627c335	_spin_trylock_bh	vmlinux	EXPORT_SYMBOL
+0xc7ec6c27	strspn	vmlinux	EXPORT_SYMBOL
+0x375bf494	iowrite8	vmlinux	EXPORT_SYMBOL
+0x5dd67618	register_netevent_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x5839d60f	z8530_sync_dma_open	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xf637570b	snd_ak4114_reg_write	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0x32550019	snd_ak4117_reg_write	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0xedbaee5e	nla_strcmp	vmlinux	EXPORT_SYMBOL
+0x42bfe6f4	boot_cpu_data	vmlinux	EXPORT_SYMBOL
+0x9a482465	dibusb_streaming_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x2edb1824	parport_announce_port	drivers/parport/parport	EXPORT_SYMBOL
+0x6b095b68	dccp_hashinfo	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x7bdf0907	conf_printf2	sound/oss/sound	EXPORT_SYMBOL
+0x625cc539	snd_ac97_mixer	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x6faa475a	cond_resched_lock	vmlinux	EXPORT_SYMBOL
+0xdf7f9829	sysctl_string	vmlinux	EXPORT_SYMBOL
+0xdd6bfccd	radix_tree_tag_set	vmlinux	EXPORT_SYMBOL
+0x4e3567f7	match_int	vmlinux	EXPORT_SYMBOL
+0xa2e8f8fa	xfrm_policy_delete	vmlinux	EXPORT_SYMBOL
+0x90f07294	cx88_ioctl_hook	drivers/media/video/cx88/cx88-blackbird	EXPORT_SYMBOL
+0xf1cb67db	rtc_irq_register	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x8d6eca55	svc_proc_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x6bb71038	snd_seq_delete_kernel_client	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x319dbc24	snd_emu8000_poke_dw	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x04d8c750	release_perfctr_nmi	vmlinux	EXPORT_SYMBOL
+0xdbb6cbd9	unlock_cpu_hotplug	vmlinux	EXPORT_SYMBOL_GPL
+0x8f1e50dd	skb_cow_data	vmlinux	EXPORT_SYMBOL_GPL
+0xc679b61b	i2o_exec_lct_get	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x238653d2	snd_pcm_kernel_ioctl	sound/core/snd-pcm	EXPORT_SYMBOL
+0x868acba5	get_options	vmlinux	EXPORT_SYMBOL
+0x6249eead	i2c_get_adapter	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x3456c2a1	rdma_connect	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x896cc60a	dm_unregister_dirty_log_type	drivers/md/dm-mirror	EXPORT_SYMBOL
+0xaf9008b0	z8530_sync_dma_close	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xac4cd0b0	ieee80211softmac_set_rates	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xa63999df	snd_card_free_when_closed	sound/core/snd	EXPORT_SYMBOL
+0xda0687c5	input_unregister_handler	vmlinux	EXPORT_SYMBOL
+0xa74114ad	rtnetlink_links	vmlinux	EXPORT_SYMBOL
+0x31e1f4ff	agp_generic_alloc_by_type	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x3b51a92a	bttv_sub_bus_type	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xccb519e1	hci_connect	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x90090d7c	free_ieee80211softmac	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xed1f8ada	register_exec_domain	vmlinux	EXPORT_SYMBOL
+0x96f65e12	dquot_initialize	vmlinux	EXPORT_SYMBOL
+0x1f997a8b	pci_remove_behind_bridge	vmlinux	EXPORT_SYMBOL
+0x9bdae4a7	v4l_compat_ioctl32	drivers/media/video/compat_ioctl32	EXPORT_SYMBOL_GPL
+0x00f34788	rtc_read_alarm	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x4938ff9f	usbnet_set_settings	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x3ea0a891	usbnet_get_settings	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xcb7b97e1	fat_fill_super	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x1f395686	MIDIbuf_avail	sound/oss/sound	EXPORT_SYMBOL
+0xc1b063c6	dump_thread	vmlinux	EXPORT_SYMBOL
+0x70c66486	ptrace_notify	vmlinux	EXPORT_SYMBOL
+0xfdacb9a5	pci_bus_write_config_word	vmlinux	EXPORT_SYMBOL
+0xe98ae28c	fl6_sock_lookup	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x0835be64	proc_net	vmlinux	EXPORT_SYMBOL
+0x8b18496f	__copy_to_user_ll	vmlinux	EXPORT_SYMBOL
+0x727a4e30	pci_release_region	vmlinux	EXPORT_SYMBOL
+0x078b1fd2	nf_hooks	vmlinux	EXPORT_SYMBOL
+0xc0f35713	hpsb_iso_xmit_sync	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x8fd81f61	tifm_register_driver	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xa59d5044	pcmcia_dev_present	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0xda70fff5	snd_info_free_entry	sound/core/snd	EXPORT_SYMBOL
+0xf1c8b787	snd_ak4114_create	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xc662faa3	snd_ak4117_create	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x7d278df7	_write_lock_bh	vmlinux	EXPORT_SYMBOL
+0xf38f849e	pci_find_device_reverse	vmlinux	EXPORT_SYMBOL
+0x37539b75	drm_release	drivers/char/drm/drm	EXPORT_SYMBOL
+0xe4f4665b	ipmi_validate_addr	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xe2ebb109	__ide_dma_check	vmlinux	EXPORT_SYMBOL
+0xfebc006d	km_state_notify	vmlinux	EXPORT_SYMBOL
+0xaea2f5e3	hpsb_selfid_complete	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x02783550	kvm_resched	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x33f6928a	cx8802_get_driver	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x968458a6	cycx_peek	drivers/net/wan/cycx_drv	EXPORT_SYMBOL
+0x6dfe026f	register_ip_vs_scheduler	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xf268b45a	nf_ct_port_nfattr_to_tuple	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xa7bf6e00	snd_pcm_set_ops	sound/core/snd-pcm	EXPORT_SYMBOL
+0xda2bf29a	seq_printf	vmlinux	EXPORT_SYMBOL
+0xca8d7fe0	inotify_init	vmlinux	EXPORT_SYMBOL_GPL
+0x258355b4	fb_find_best_mode	vmlinux	EXPORT_SYMBOL
+0x6be9c6ca	sk_stream_mem_schedule	vmlinux	EXPORT_SYMBOL
+0xfa0756dd	load_msrs	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x4a21da28	mpt_detach	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x6da24a0a	mptscsih_dev_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xf1efad04	ilookup5_nowait	vmlinux	EXPORT_SYMBOL
+0x7dacc271	rwsem_downgrade_wake	vmlinux	EXPORT_SYMBOL
+0x0b742fd7	simple_strtol	vmlinux	EXPORT_SYMBOL
+0x90ecaba7	pci_dev_driver	vmlinux	EXPORT_SYMBOL
+0xa672fcac	neigh_delete	vmlinux	EXPORT_SYMBOL
+0xca16d907	mptscsih_raid_id_to_num	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x961de6a4	mmc_free_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x89faeb85	ax25_linkfail_release	net/ax25/ax25	EXPORT_SYMBOL
+0x8bf3d033	ivtv_clear_irq_mask	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xbd582e88	remote_llseek	vmlinux	EXPORT_SYMBOL
+0x9dd09eb8	unlock_super	vmlinux	EXPORT_SYMBOL
+0x6b385179	pci_set_power_state	vmlinux	EXPORT_SYMBOL
+0x02aff2f4	acpi_install_gpe_handler	vmlinux	EXPORT_SYMBOL
+0xeb37482a	gen_kill_estimator	vmlinux	EXPORT_SYMBOL
+0x715a5a77	drm_mm_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0x6c9a7890	ib_send_cm_lap	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xa8fc239b	isac_irq	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x9a4f2efd	unregister_hdlc_protocol	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0xbb2abf46	fbcon_set_tileops	drivers/video/console/tileblit	EXPORT_SYMBOL
+0xd7e7ca24	wake_up_bit	vmlinux	EXPORT_SYMBOL
+0xddeef053	vfs_stat	vmlinux	EXPORT_SYMBOL
+0x1db349ea	__bio_clone	vmlinux	EXPORT_SYMBOL
+0x42d04a96	pci_bus_size_bridges	vmlinux	EXPORT_SYMBOL
+0x45bb0352	acpi_set_current_resources	vmlinux	EXPORT_SYMBOL
+0x9845e8a0	attach_capi_ctr	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xb5de3b10	dibusb_pid_filter_ctrl	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x796fc5ce	scsi_get_sense_info_fld	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xaef92c4d	snd_ctl_elem_read	sound/core/snd	EXPORT_SYMBOL
+0xdd654df7	snd_i2c_sendbytes	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0xda75ddf2	sysdev_driver_register	vmlinux	EXPORT_SYMBOL_GPL
+0xf7ece92f	sata_phy_reset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2b619e9d	zlib_deflateReset	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0x8775e9d0	cap_netlink_recv	security/commoncap	EXPORT_SYMBOL
+0x3da7dc15	snd_pcm_lib_malloc_pages	sound/core/snd-pcm	EXPORT_SYMBOL
+0xd3fe0733	f_setown	vmlinux	EXPORT_SYMBOL
+0xde9b17ed	agp3_generic_fetch_size	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa78bd894	iTCO_vendor_pre_set_heartbeat	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x2778b080	ib_cancel_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xf5dc4421	scsi_block_when_processing_errors	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x56c8799d	scsi_kunmap_atomic_sg	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x763e54a4	irlmp_unregister_client	net/irda/irda	EXPORT_SYMBOL
+0xaf39a117	rt2x00lib_passive_scan	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xa8b77dba	elv_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x6d27ef64	__bitmap_empty	vmlinux	EXPORT_SYMBOL
+0xce4904a4	acpi_leave_sleep_state	vmlinux	EXPORT_SYMBOL
+0x39bade97	dvb_generic_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xb065a54a	usb_clear_halt	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x05e807a9	xdr_encode_string	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc5efb48f	snd_seq_instr_find	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0xb714a981	console_print	vmlinux	EXPORT_SYMBOL
+0x9b1e2fa8	submit_bh	vmlinux	EXPORT_SYMBOL
+0x62addca7	snd_emu8000_peek_dw	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x83563145	__inode_dir_notify	vmlinux	EXPORT_SYMBOL
+0xa6dcc773	rb_insert_color	vmlinux	EXPORT_SYMBOL
+0xd670a3a5	unregister_8022_client	vmlinux	EXPORT_SYMBOL
+0xe9cf832e	pi_do_claimed	drivers/block/paride/paride	EXPORT_SYMBOL
+0x5622338a	videobuf_dvb_register	drivers/media/video/video-buf-dvb	EXPORT_SYMBOL
+0x3fa49f8f	hostap_set_word	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x31028d76	ac97_probe_codec	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x66d87d38	symbol_put_addr	vmlinux	EXPORT_SYMBOL_GPL
+0x28177a3f	ata_tf_to_fis	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x31f08ece	d_alloc	vmlinux	EXPORT_SYMBOL
+0x7bcad713	tty_buffer_request_room	vmlinux	EXPORT_SYMBOL_GPL
+0x5a302432	ide_pci_create_host_proc	vmlinux	EXPORT_SYMBOL_GPL
+0x6a061a36	llc_set_station_handler	vmlinux	EXPORT_SYMBOL
+0xcc3c1222	i2c_smbus_read_word_data	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x1fcd6507	ib_create_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe0c43429	irlmp_close_lsap	net/irda/irda	EXPORT_SYMBOL
+0x0af6596b	hashbin_remove_this	net/irda/irda	EXPORT_SYMBOL
+0xbcb296f1	irttp_close_tsap	net/irda/irda	EXPORT_SYMBOL
+0x7c00fb8d	b1_load_t4file	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x378bc737	fc_host_post_event	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xf4b93bbc	journal_extend	fs/jbd/jbd	EXPORT_SYMBOL
+0xc7789e61	__percpu_depopulate_mask	vmlinux	EXPORT_SYMBOL_GPL
+0x31042533	blk_execute_rq_nowait	vmlinux	EXPORT_SYMBOL_GPL
+0xfa06820f	isdn_register_divert	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0xddd7af63	dvb_ca_en50221_camchange_irq	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x733b49cb	matroxfb_register_driver	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0x9fc56bdd	snd_emu8000_dma_chan	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0xa523a04a	wiphy_unregister	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0xa51cdfe8	__FIXADDR_TOP	vmlinux	EXPORT_SYMBOL
+0xfcfe0e66	pci_choose_state	vmlinux	EXPORT_SYMBOL
+0x9cb45341	__ide_dma_end	vmlinux	EXPORT_SYMBOL
+0xeb2a3211	kernel_sendpage	vmlinux	EXPORT_SYMBOL
+0x851552da	udp_proc_register	vmlinux	EXPORT_SYMBOL
+0xdf327cd1	ata_interrupt	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x7d9445ab	ipmi_destroy_user	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xb0baa1a5	dccp_feat_change	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x0d0da68d	nr_free_pages	vmlinux	EXPORT_SYMBOL
+0x7aec9089	clear_user	vmlinux	EXPORT_SYMBOL
+0x902a3cd2	ir_codes_hauppauge_new	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x3d3b668b	ttpci_budget_init_hooks	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0xcf8b77a4	cx2341x_mpeg_ctrls	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0xe7a2620e	save_vga	drivers/video/vgastate	EXPORT_SYMBOL
+0xd8df5060	clear_inode	vmlinux	EXPORT_SYMBOL
+0xa3cc2047	ata_eh_qc_retry	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x75eb30e7	tpm_get_timeouts	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x9f823278	register_capi_driver	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x86197933	dm_device_name	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0x9b718427	_write_unlock_irqrestore	vmlinux	EXPORT_SYMBOL
+0x949229e4	device_release_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x6922ec65	dmam_release_declared_memory	vmlinux	EXPORT_SYMBOL
+0xec979878	neigh_parms_release	vmlinux	EXPORT_SYMBOL
+0x384fcfab	hpsb_register_highlevel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x86f9af36	ir_input_keydown	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x3be5f7ac	usbvideo_TestPattern	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x5333007b	scsi_register_interface	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xce3ca308	copy_from_user_toio	sound/core/snd	EXPORT_SYMBOL
+0xea305932	snd_sbdsp_reset	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x9b24b44f	snd_trident_start_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x5d4272c0	wait_for_completion_timeout	vmlinux	EXPORT_SYMBOL
+0x23ad070a	set_current_groups	vmlinux	EXPORT_SYMBOL
+0x0e23b482	usb_put_intf	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x8b2f65a8	update_region	vmlinux	EXPORT_SYMBOL
+0xb140057a	acpi_processor_unregister_performance	drivers/acpi/processor	EXPORT_SYMBOL
+0x06091f45	tda8083_attach	drivers/media/dvb/frontends/tda8083	EXPORT_SYMBOL
+0x0647d782	xfrm6_input_addr	net/ipv6/ipv6	EXPORT_SYMBOL
+0x3c43f268	__nf_conntrack_helper_find_byname	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x2d56c6fd	snd_cs8427_iec958_build	sound/i2c/snd-cs8427	EXPORT_SYMBOL
+0x42424109	sb_be_quiet	sound/oss/sb_lib	EXPORT_SYMBOL
+0x161845ca	shrink_dcache_parent	vmlinux	EXPORT_SYMBOL
+0x713e14d2	tty_vhangup	vmlinux	EXPORT_SYMBOL
+0xf0999d8d	devres_remove	vmlinux	EXPORT_SYMBOL_GPL
+0x766469dd	scm_fp_dup	vmlinux	EXPORT_SYMBOL
+0x1f103b71	tcf_em_unregister	vmlinux	EXPORT_SYMBOL
+0x7ca5870f	capi20_release	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x84ade6a1	cx88_set_tvaudio	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x31f66843	tifm_remove_adapter	drivers/misc/tifm_core	EXPORT_SYMBOL
+0xe880d496	hci_get_route	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x6091797f	synchronize_rcu	vmlinux	EXPORT_SYMBOL_GPL
+0xe523ad75	synchronize_irq	vmlinux	EXPORT_SYMBOL
+0xddf5008b	bus_for_each_drv	vmlinux	EXPORT_SYMBOL_GPL
+0x8cae38e4	bus_for_each_dev	vmlinux	EXPORT_SYMBOL_GPL
+0x609f1c7e	synchronize_net	vmlinux	EXPORT_SYMBOL
+0x75c8a11c	inet_twdr_twkill_work	vmlinux	EXPORT_SYMBOL_GPL
+0x80ed1580	suni_init	drivers/atm/suni	EXPORT_SYMBOL
+0xe330bce9	v4l2_prio_init	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x3609de81	nf_conntrack_count	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x27d8bb58	tipc_send2port	net/tipc/tipc	EXPORT_SYMBOL
+0x98fe07fc	ac97_bus_type	sound/ac97_bus	EXPORT_SYMBOL
+0xe062bfc9	selinux_relabel_packet_permission	vmlinux	EXPORT_SYMBOL_GPL
+0xdf8c695a	__ndelay	vmlinux	EXPORT_SYMBOL
+0x9e7d6bd0	__udelay	vmlinux	EXPORT_SYMBOL
+0x5f08fc2b	pneigh_lookup	vmlinux	EXPORT_SYMBOL
+0x028e9a86	parport_negotiate	drivers/parport/parport	EXPORT_SYMBOL
+0xbedbd5ce	nf_conntrack_expect_put	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x3c3db6a6	tipc_recv_msg	net/tipc/tipc	EXPORT_SYMBOL
+0xd8a2ab95	in_egroup_p	vmlinux	EXPORT_SYMBOL
+0xb8c1bc14	blk_queue_find_tag	vmlinux	EXPORT_SYMBOL
+0x81b2e430	fib_rules_dump	vmlinux	EXPORT_SYMBOL_GPL
+0x1211df5d	saa7134_devlist	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x84b783b3	snd_timer_close	sound/core/snd-timer	EXPORT_SYMBOL
+0x07a890c8	fb_alloc_cmap	vmlinux	EXPORT_SYMBOL
+0x409873e3	tty_termios_baud_rate	vmlinux	EXPORT_SYMBOL
+0xcd849e76	edac_mc_handle_ue_no_info	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x908aa9b2	iowrite32	vmlinux	EXPORT_SYMBOL
+0x4775eacf	iowrite16	vmlinux	EXPORT_SYMBOL
+0x33934162	release_firmware	vmlinux	EXPORT_SYMBOL
+0xd4f163b3	skb_append_datato_frags	vmlinux	EXPORT_SYMBOL
+0xeb390171	dccp_check_req	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xaa136450	param_get_charp	vmlinux	EXPORT_SYMBOL
+0xa7bbd458	tcp_child_process	vmlinux	EXPORT_SYMBOL
+0xb3815aa5	pcmcia_socket_class	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x706adf4a	rt2x00lib_remove_interface	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x31e5a331	find_pid	vmlinux	EXPORT_SYMBOL_GPL
+0xe7e6cb09	prepare_binprm	vmlinux	EXPORT_SYMBOL
+0x54aada4e	ide_wait_stat	vmlinux	EXPORT_SYMBOL
+0x60a13e90	rcu_barrier	vmlinux	EXPORT_SYMBOL_GPL
+0xdf60cc27	__print_symbol	vmlinux	EXPORT_SYMBOL
+0xa5c08f3e	inotify_rm_watch	vmlinux	EXPORT_SYMBOL_GPL
+0xf8814f73	rb_last	vmlinux	EXPORT_SYMBOL
+0xccf2f2fe	tcp_v4_destroy_sock	vmlinux	EXPORT_SYMBOL
+0x9ea70ffa	atm_dev_deregister	vmlinux	EXPORT_SYMBOL
+0xf6c58c8d	hashbin_get_first	net/irda/irda	EXPORT_SYMBOL
+0xc5767ca0	kmem_cache_zalloc	vmlinux	EXPORT_SYMBOL
+0xa20070be	generic_listxattr	vmlinux	EXPORT_SYMBOL
+0x2ff8b207	simple_attr_write	vmlinux	EXPORT_SYMBOL_GPL
+0x3b38bd36	simple_unlink	vmlinux	EXPORT_SYMBOL
+0x1d26aa98	sprintf	vmlinux	EXPORT_SYMBOL
+0x19d5d20a	acpi_walk_namespace	vmlinux	EXPORT_SYMBOL
+0x4890b2f2	sysdev_register	vmlinux	EXPORT_SYMBOL_GPL
+0x2d485024	ide_dump_status	vmlinux	EXPORT_SYMBOL
+0xc35a71b1	b1_load_firmware	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xd464e760	v4l2_ctrl_query_menu	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xc68cff10	ndisc_mc_map	net/ipv6/ipv6	EXPORT_SYMBOL
+0x6451294b	posix_acl_valid	vmlinux	EXPORT_SYMBOL
+0xf6ebc03b	net_ratelimit	vmlinux	EXPORT_SYMBOL
+0xf1490f9a	csr1212_release_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9c447fba	rdma_addr_register_client	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0xa0700bc6	mptscsih_io_done	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x1b489baa	iscsi_prep_unsolicit_data_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x4750e35d	ieee80211softmac_start	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x9ae3d169	find_vma	vmlinux	EXPORT_SYMBOL
+0xb0a66aeb	raid_class_release	drivers/scsi/raid_class	EXPORT_SYMBOL
+0xdf2e00e2	scsi_register	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x94c6eed4	matroxfb_enable_irq	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0x893ec2f6	journal_dirty_data	fs/jbd/jbd	EXPORT_SYMBOL
+0xd220ec70	snd_seq_instr_list_free	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x5969b7ba	inotify_dentry_parent_queue_event	vmlinux	EXPORT_SYMBOL_GPL
+0x5aa79a07	kernel_connect	vmlinux	EXPORT_SYMBOL
+0x7c971551	hpsb_alloc_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x38bb724c	hdlcdrv_transmitter	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xe76b3b20	qlogicfas408_get_chip_type	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xe7bf7d05	screen_info	vmlinux	EXPORT_SYMBOL
+0x044fbf49	mempool_kzalloc	vmlinux	EXPORT_SYMBOL
+0xa05c03df	mempool_kmalloc	vmlinux	EXPORT_SYMBOL
+0x93d7fa70	inet_stream_connect	vmlinux	EXPORT_SYMBOL
+0xb28fdd22	nxt200x_attach	drivers/media/dvb/frontends/nxt200x	EXPORT_SYMBOL
+0xf268dea8	snd_gf1_i_look8	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x1eb344b3	boot_tvec_bases	vmlinux	EXPORT_SYMBOL
+0xdd5d73ea	pci_release_regions	vmlinux	EXPORT_SYMBOL
+0xf0bcc0b3	acpi_os_create_semaphore	vmlinux	EXPORT_SYMBOL
+0x5475d5f9	ata_eh_qc_complete	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x5e5183a6	gigaset_initdriver	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xcc983cae	_write_lock_irq	vmlinux	EXPORT_SYMBOL
+0xdf805952	relay_subbufs_consumed	vmlinux	EXPORT_SYMBOL_GPL
+0xe9456a5a	sysctl_xfrm_aevent_rseqth	vmlinux	EXPORT_SYMBOL
+0x63c7250c	videobuf_reqbufs	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4258f4a8	mpt_device_driver_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xfaed8c23	tms380tr_close	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0xd5791cfd	snd_seq_simple_init	sound/core/seq/instr/snd-ainstr-simple	EXPORT_SYMBOL
+0x16471586	snd_util_mem_free	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0xa213d377	crypto_hash_type	vmlinux	EXPORT_SYMBOL_GPL
+0xd49a6c69	ht_create_irq	vmlinux	EXPORT_SYMBOL
+0x148f0c99	FsmFree	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x88215518	journal_ack_err	fs/jbd/jbd	EXPORT_SYMBOL
+0x6c0e6787	ieee80211_wake_queue	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x02462292	_read_lock_bh	vmlinux	EXPORT_SYMBOL
+0xff1cf1d1	devres_close_group	vmlinux	EXPORT_SYMBOL_GPL
+0x02edbf98	inet6_csk_addr2sockaddr	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xeeadcdf1	midi_devs	sound/oss/sound	EXPORT_SYMBOL
+0x24379da7	proc_net_stat	vmlinux	EXPORT_SYMBOL
+0x20000329	simple_strtoul	vmlinux	EXPORT_SYMBOL
+0x0fd142bf	spi_alloc_master	vmlinux	EXPORT_SYMBOL_GPL
+0x02b6e655	tcp_rcv_established	vmlinux	EXPORT_SYMBOL
+0x8250af10	klist_next	vmlinux	EXPORT_SYMBOL_GPL
+0x775e0a26	dvb_pll_tdhu2	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xe94f775e	xt_unregister_targets	net/netfilter/x_tables	EXPORT_SYMBOL
+0x02e0c6d4	dump_trace	vmlinux	EXPORT_SYMBOL
+0x9981eff7	get_sb_pseudo	vmlinux	EXPORT_SYMBOL
+0xd9158ec3	proc_symlink	vmlinux	EXPORT_SYMBOL
+0x5dfac544	nf_register_afinfo	vmlinux	EXPORT_SYMBOL_GPL
+0x68f79507	drm_addmap	drivers/char/drm/drm	EXPORT_SYMBOL
+0xd415c610	ib_send_cm_drep	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x1fd09428	ib_send_cm_dreq	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xb1f4eb35	ir_codes_avermedia_dvbt	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x68b8d5d7	tda826x_attach	drivers/media/dvb/frontends/tda826x	EXPORT_SYMBOL
+0xf8129548	mraid_mm_register_adp	drivers/scsi/megaraid/megaraid_mm	EXPORT_SYMBOL
+0xd60f2c6c	o2hb_check_local_node_heartbeating	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x9c7077bd	enable_hlt	vmlinux	EXPORT_SYMBOL
+0x1e7bbcb3	kernel_restart	vmlinux	EXPORT_SYMBOL_GPL
+0xfcec0987	enable_irq	vmlinux	EXPORT_SYMBOL
+0xd985dc99	mempool_free_pages	vmlinux	EXPORT_SYMBOL
+0x26866af9	remap_vmalloc_range	vmlinux	EXPORT_SYMBOL
+0x13a89708	blk_queue_dma_alignment	vmlinux	EXPORT_SYMBOL
+0xa4824447	videobuf_qbuf	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x33ce0e9d	parport_ieee1284_epp_write_data	drivers/parport/parport	EXPORT_SYMBOL
+0x94c27845	parport_ieee1284_ecp_write_data	drivers/parport/parport	EXPORT_SYMBOL
+0xda1bd7c6	ieee80211softmac_wx_set_essid	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x6a8049a5	ssb_dma_set_mask	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xe9d4ae1a	speakup_set_addresses	vmlinux	EXPORT_SYMBOL
+0xf51a9e9c	sata_phy_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x74a54545	agp_unbind_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x38b1e459	ib_query_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xf2166ea9	ib_modify_mad	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0xf028cd4a	b1_getrevision	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x095abca6	bt878_device_control	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x4ae8012b	pcmcia_register_socket	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xc96cb148	iscsi_set_param	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xd6ba471b	snd_ad1848_add_ctl_elem	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x546f0b06	_spin_lock_irq	vmlinux	EXPORT_SYMBOL
+0xd5b21ec0	i2o_event_register	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x8ae490eb	raid_class_attach	drivers/scsi/raid_class	EXPORT_SYMBOL
+0x25d9b778	snd_vx_free_firmware	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0xdad4fcc0	vfs_kern_mount	vmlinux	EXPORT_SYMBOL_GPL
+0x375d8126	mpt_add_sge	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xaf547e2b	inet6_release	net/ipv6/ipv6	EXPORT_SYMBOL
+0xfbf9be5d	register_oom_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x43b227fb	alloc_page_buffers	vmlinux	EXPORT_SYMBOL_GPL
+0xacfe0a0a	submit_bio	vmlinux	EXPORT_SYMBOL
+0x5bb1e265	anon_transport_class_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xf609c4f5	spi_bus_type	vmlinux	EXPORT_SYMBOL_GPL
+0xb1c80559	b1dma_register_appl	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xdc72743b	dib7000pc_detection	drivers/media/dvb/frontends/dib7000p	EXPORT_SYMBOL
+0x70a6e8d9	zlib_deflateInit2	lib/zlib_deflate/zlib_deflate	EXPORT_SYMBOL
+0x3971ee3e	neigh_lookup	vmlinux	EXPORT_SYMBOL
+0x33c7a24c	genl_sock	vmlinux	EXPORT_SYMBOL
+0xc0f9a263	ata_host_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd29c1d68	dvb_pll_samsung_tbmv	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x9bc213a1	mmc_remove_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x0392d2e3	sppp_reopen	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0xccfa8eca	usb_put_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xfae5b725	tcp_mtup_init	vmlinux	EXPORT_SYMBOL
+0x67b071ad	mpt_HardResetHandler	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xf5283172	snd_pcm_build_linear_format	sound/core/snd-pcm	EXPORT_SYMBOL
+0x522b678b	sta_info_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4e797913	rtl_ieee80211_crypt_deinit_handler	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xa3277c3c	inode_setattr	vmlinux	EXPORT_SYMBOL
+0x29198e7a	alloc_buffer_head	vmlinux	EXPORT_SYMBOL
+0x02b3e21b	mca_device_status	vmlinux	EXPORT_SYMBOL
+0xfc6e6588	ata_pata_acpi_present	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x97a0f6c1	rdma_addr_unregister_client	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x3a7b7b7e	cx88_do_ioctl	drivers/media/video/cx88/cx8800	EXPORT_SYMBOL
+0xcfc5a54d	simple_map_init	drivers/mtd/maps/map_funcs	EXPORT_SYMBOL
+0x51991703	cache_purge	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3fac8c50	cpu_data	vmlinux	EXPORT_SYMBOL
+0x74baa70c	ip_route_input	vmlinux	EXPORT_SYMBOL
+0xc2a1346b	gameport_unregister_port	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x50679ae0	FsmRestartTimer	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x689dec4e	usbnet_get_endpoints	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0x2c42ceeb	dccp_feat_clone	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x98b3095e	dccp_feat_clean	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x6ec73831	xdr_write_pages	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x1b797389	rt2x00lib_conf_tx	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x573208cb	device_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0xb1f6a4d2	iscsi_conn_teardown	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x1765880a	kill_pid	vmlinux	EXPORT_SYMBOL
+0x7ded8240	param_get_ulong	vmlinux	EXPORT_SYMBOL
+0x67030c22	aio_complete	vmlinux	EXPORT_SYMBOL
+0x20c8fc33	pci_osc_control_set	vmlinux	EXPORT_SYMBOL
+0x6a8409dc	ide_destroy_dmatable	vmlinux	EXPORT_SYMBOL_GPL
+0x3b3d3ecb	ipv6_skip_exthdr	vmlinux	EXPORT_SYMBOL
+0xc171d1c4	gs_flush_chars	drivers/char/generic_serial	EXPORT_SYMBOL
+0x3dac6f3e	hpsb_allocate_and_register_addrspace	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x519fe2d8	sysctl_intvec	vmlinux	EXPORT_SYMBOL
+0x64999478	congestion_wait	vmlinux	EXPORT_SYMBOL
+0x7d50d90f	fakekeydev	vmlinux	EXPORT_SYMBOL
+0x98ce7d3d	hpsb_make_lockpacket	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xb5ca1c46	slhc_free	drivers/net/slhc	EXPORT_SYMBOL
+0xf8860a4c	spi_bitbang_cleanup	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0x415226c8	rt6_lookup	net/ipv6/ipv6	EXPORT_SYMBOL
+0x819cc9ba	cap_settime	security/commoncap	EXPORT_SYMBOL
+0x8a21653b	dquot_release	vmlinux	EXPORT_SYMBOL
+0x07895d39	blk_remove_plug	vmlinux	EXPORT_SYMBOL
+0x872f845c	i2c_del_driver	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xe9d8bcdc	config_item_set_name	fs/configfs/configfs	EXPORT_SYMBOL
+0x06e73b3a	dccp_v4_connect	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0x0f817b7e	file_ra_state_init	vmlinux	EXPORT_SYMBOL_GPL
+0x5dfa4696	move_addr_to_kernel	vmlinux	EXPORT_SYMBOL
+0xe619e22a	ata_altstatus	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x01232299	hpsb_iso_xmit_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x30628101	sas_slave_configure	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xa825e1f3	unregister_kprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x3d3de916	add_to_page_cache	vmlinux	EXPORT_SYMBOL
+0x5db753dd	inet_csk_get_port	vmlinux	EXPORT_SYMBOL_GPL
+0x4a9c5888	xfrm_register_mode	vmlinux	EXPORT_SYMBOL
+0x24224058	i2c_clients_command	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x027f9f76	mult_to_ib_rate	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x77d290b2	kvm_init_arch	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x5493fae1	sas_change_queue_type	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x91dc30ec	snd_rawmidi_kernel_release	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x8c6bd064	__wait_on_bit_lock	vmlinux	EXPORT_SYMBOL
+0x73eadfb8	dev_get_flags	vmlinux	EXPORT_SYMBOL
+0x8fdba8f5	ethtool_op_get_ufo	vmlinux	EXPORT_SYMBOL
+0x88d8c843	klist_remove	vmlinux	EXPORT_SYMBOL_GPL
+0xe19a11ac	capi20_get_profile	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x55abcf0e	videobuf_dma_init	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4f61d82b	mptscsih_ioc_reset	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x05faf384	hostap_init_ap_proc	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xeefe2d1a	usb_get_status	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x41a5a6e3	__devm_request_region	vmlinux	EXPORT_SYMBOL
+0x1116b920	crypto_alg_mod_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0x60c4f402	pci_set_master	vmlinux	EXPORT_SYMBOL
+0xdc06407f	input_class	vmlinux	EXPORT_SYMBOL_GPL
+0x12e71d8c	gen_new_estimator	vmlinux	EXPORT_SYMBOL
+0xe5122890	flow_cache_genid	vmlinux	EXPORT_SYMBOL
+0x8bd51b03	agp_backend_release	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x520b2638	ib_pack	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb4c00dcf	i2o_controllers	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0xd4f3dc23	DoC2k_init	drivers/mtd/devices/doc2000	EXPORT_SYMBOL_GPL
+0x48bd2a99	matroxfb_unregister_driver	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0xb2a993ce	svc_auth_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc304a8cb	snd_cs4231_in	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x575bbb47	rtl_ieee80211_reset_queue	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xac23b38b	vc_cons	vmlinux	EXPORT_SYMBOL
+0x7ab7bdeb	dma_async_device_unregister	vmlinux	EXPORT_SYMBOL
+0xc5a2bd5e	reqsk_queue_alloc	vmlinux	EXPORT_SYMBOL
+0x2d92a6ac	iw_cm_accept	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0x444aa181	flexcop_pass_dmx_data	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x9309a95f	mmc_set_data_timeout	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x1d1f9d2a	alloc_orinocodev	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0xc6104f38	scsi_eh_finish_cmd	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd2965f6f	kthread_should_stop	vmlinux	EXPORT_SYMBOL
+0x95f638d5	posix_acl_chmod_masq	vmlinux	EXPORT_SYMBOL
+0xdd0a2ba2	strlcat	vmlinux	EXPORT_SYMBOL
+0x955f29b8	sync_mapping_buffers	vmlinux	EXPORT_SYMBOL
+0xf8394d92	blk_rq_map_kern	vmlinux	EXPORT_SYMBOL
+0x331ee076	ata_pci_device_suspend	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x4358bad7	csr1212_parse_keyval	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9a108893	snd_ad1848_get_pcm_ops	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x78f54e69	snd_ac97_bus	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xde48a8d2	inode_change_ok	vmlinux	EXPORT_SYMBOL
+0x22a73912	__tcp_put_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0x17ff2c1d	__nvram_read_byte	drivers/char/nvram	EXPORT_SYMBOL
+0x84a0e186	__scsi_add_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x31563750	fat_scan	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x60c1cc68	bt_sock_register	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x5122e9af	irias_delete_object	net/irda/irda	EXPORT_SYMBOL
+0xf86fae7e	rtl_ieee80211_unregister_crypto_ops	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x632468e7	blk_queue_end_tag	vmlinux	EXPORT_SYMBOL
+0x5c68705b	mca_read_pos	vmlinux	EXPORT_SYMBOL
+0x55982a6b	datagram_poll	vmlinux	EXPORT_SYMBOL
+0x69d38ed9	__scsi_print_sense	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xbcd3ef13	irias_object_change_attribute	net/irda/irda	EXPORT_SYMBOL
+0x81128d35	snd_pcm_hw_constraint_minmax	sound/core/snd-pcm	EXPORT_SYMBOL
+0xc0fa04aa	_write_lock_irqsave	vmlinux	EXPORT_SYMBOL
+0xb5f41711	flush_old_exec	vmlinux	EXPORT_SYMBOL
+0xad2a0450	pci_get_bus_and_slot	vmlinux	EXPORT_SYMBOL
+0x441e831e	__tcf_em_tree_match	vmlinux	EXPORT_SYMBOL
+0x1e71ea32	bttv_gpio_read	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0xe00177d7	snd_midi_event_free	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0x8df9f666	cpu_online_map	vmlinux	EXPORT_SYMBOL
+0x897caeaa	llc_sap_close	vmlinux	EXPORT_SYMBOL
+0xa1dc8a62	inet_addr_type	vmlinux	EXPORT_SYMBOL
+0x41ed3058	__sata_phy_reset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe4d38a25	flexcop_dma_control_timer_irq	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x2cf68e7a	bttv_gpio_write	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x4c56001f	mdiobus_unregister	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xd6ba445f	drm_sman_set_range	drivers/char/drm/drm	EXPORT_SYMBOL
+0xd23644b9	mii_link_ok	drivers/net/mii	EXPORT_SYMBOL
+0xd71ceb2f	phy_detach	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xaf89c5c5	config_group_find_obj	fs/configfs/configfs	EXPORT_SYMBOL
+0x9736ffc8	ieee80211softmac_wx_get_scan_results	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0xbb2597cd	rxrpc_call_read_data	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x4ce9efa9	kthread_create	vmlinux	EXPORT_SYMBOL
+0x0da0b382	get_sb_nodev	vmlinux	EXPORT_SYMBOL
+0xbf29b4de	lookup_create	vmlinux	EXPORT_SYMBOL_GPL
+0x6be8dcd1	stop_tty	vmlinux	EXPORT_SYMBOL
+0x21d54cb6	tcp_proc_register	vmlinux	EXPORT_SYMBOL
+0xbc4c65ce	nf_conntrack_l4proto_udp6	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x2aa31695	midi_synth_kill_note	sound/oss/sound	EXPORT_SYMBOL
+0x0d3dda14	acpi_get_type	vmlinux	EXPORT_SYMBOL
+0x50f0f0fb	loopback_dev	vmlinux	EXPORT_SYMBOL
+0x7d89ac69	gss_decrypt_xdr_buf	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0xcf22ddd0	snd_sb8dsp_midi_interrupt	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0x6c1ce5ce	strcspn	vmlinux	EXPORT_SYMBOL
+0x4febb81a	neigh_ifdown	vmlinux	EXPORT_SYMBOL
+0xd34900bf	twofish_setkey	crypto/twofish_common	EXPORT_SYMBOL_GPL
+0x3fbbf941	ipmi_get_my_LUN	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xed061606	capi20_manufacturer	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x8a069f08	cfi_fixup	drivers/mtd/chips/cfi_util	EXPORT_SYMBOL
+0xcd0bd4f1	hci_unregister_proto	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xb100f1fd	snd_pcm_hw_constraint_ratnums	sound/core/snd-pcm	EXPORT_SYMBOL
+0xa7f4268b	pci_scan_bridge	vmlinux	EXPORT_SYMBOL
+0x28ca7395	md_allow_write	drivers/md/md-mod	EXPORT_SYMBOL_GPL
+0x935de62c	synth_port_tts	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xda118d84	hid_parse_report	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x0082e5d0	cx88_set_tvnorm	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xfe75f21b	sirdev_write_complete	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x83cabfea	nf_conntrack_l4proto_register	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xfa954ae6	nf_conntrack_l3proto_register	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xba413f87	sound_alloc_mididev	sound/oss/sound	EXPORT_SYMBOL
+0x2f538590	class_create	vmlinux	EXPORT_SYMBOL_GPL
+0x2a368669	ata_timing_compute	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe01fc6f8	drm_get_drawable_info	drivers/char/drm/drm	EXPORT_SYMBOL
+0x75c89476	nsc_gpio_read	drivers/char/nsc_gpio	EXPORT_SYMBOL
+0x89cc1189	ir_codes_winfast	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xe3c34a49	sirdev_receive	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xf2b95199	qlogicfas408_setup	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xe35c5e61	ieee80211_rx	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x7c0b90e8	ieee80211_rx_irqsafe	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x2bab260d	inc_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x29537c9e	alloc_chrdev_region	vmlinux	EXPORT_SYMBOL
+0x69351b76	percpu_counter_mod	vmlinux	EXPORT_SYMBOL
+0x9433a106	__nla_reserve	vmlinux	EXPORT_SYMBOL
+0x5bbf600d	ata_std_softreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x94921dee	init_atmel_card	drivers/net/wireless/atmel	EXPORT_SYMBOL
+0x5954f740	parport_unregister_device	drivers/parport/parport	EXPORT_SYMBOL
+0xa8ee289c	usbnet_skb_return	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xb6b0b310	dccp_rcv_established	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x955690d0	rpc_force_rebind	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x370f0972	svc_process	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf62893dd	register_sound_special	sound/soundcore	EXPORT_SYMBOL
+0x05e1389a	finish_wait	vmlinux	EXPORT_SYMBOL
+0xfd98879a	rb_next	vmlinux	EXPORT_SYMBOL
+0xf3533c2d	skb_checksum	vmlinux	EXPORT_SYMBOL
+0xdc72db1f	dev_getbyhwaddr	vmlinux	EXPORT_SYMBOL
+0xfc04e44f	arp_find	vmlinux	EXPORT_SYMBOL
+0xb11a9f84	tpm_show_caps	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x51a333a9	deregister_mtd_blktrans	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0x6e4e3013	nf_ct_iterate_cleanup	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbd48af91	rpc_killall_tasks	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x549bf4ad	rtl_alloc_ieee80211	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x528c709d	simple_read_from_buffer	vmlinux	EXPORT_SYMBOL
+0x4cbbd171	__bitmap_weight	vmlinux	EXPORT_SYMBOL
+0x61b7b126	simple_strtoull	vmlinux	EXPORT_SYMBOL
+0x52d7b2fd	llc_sap_list	vmlinux	EXPORT_SYMBOL
+0x47891604	saa7146_set_hps_source_and_sync	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x90d68ac8	dvb_unregister_adapter	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x25dd07ec	phy_start_aneg	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xa37fb829	ct_sip_search	net/netfilter/nf_conntrack_sip	EXPORT_SYMBOL_GPL
+0xff9ca065	fb_edid_to_monspecs	vmlinux	EXPORT_SYMBOL
+0xa681fe88	generate_random_uuid	vmlinux	EXPORT_SYMBOL
+0x3147857d	default_red	vmlinux	EXPORT_SYMBOL
+0xd8972378	class_device_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x2f48c413	pccard_validate_cis	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x11bf4cb8	net2280_set_fifo_mode	drivers/usb/gadget/net2280	EXPORT_SYMBOL
+0x569a31b6	vfs_statfs	vmlinux	EXPORT_SYMBOL
+0x30738847	path_release	vmlinux	EXPORT_SYMBOL
+0xbdb7661e	__ide_dma_host_on	vmlinux	EXPORT_SYMBOL
+0x43eb8c2d	xfrm_replay_check	vmlinux	EXPORT_SYMBOL
+0xdfd423a5	saa7146_devices_lock	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x48278d13	or51132_attach	drivers/media/dvb/frontends/or51132	EXPORT_SYMBOL
+0x10123b5d	snd_gus_dram_write	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xa7bbaeac	br_handle_frame_hook	vmlinux	EXPORT_SYMBOL
+0xaf640518	__nla_reserve_nohdr	vmlinux	EXPORT_SYMBOL
+0x107ebcc5	udp_ioctl	vmlinux	EXPORT_SYMBOL
+0xd8d1c51d	drm_agp_free	drivers/char/drm/drm	EXPORT_SYMBOL
+0xaba6b190	cfi_cmdset_0200	drivers/mtd/chips/cfi_cmdset_0001	EXPORT_SYMBOL_GPL
+0x7bf20345	cfi_cmdset_0003	drivers/mtd/chips/cfi_cmdset_0001	EXPORT_SYMBOL_GPL
+0x12a33f2f	cfi_cmdset_0001	drivers/mtd/chips/cfi_cmdset_0001	EXPORT_SYMBOL_GPL
+0xa377b453	cfi_cmdset_0002	drivers/mtd/chips/cfi_cmdset_0002	EXPORT_SYMBOL_GPL
+0xa53cf52c	cfi_cmdset_0020	drivers/mtd/chips/cfi_cmdset_0020	EXPORT_SYMBOL_GPL
+0xbd503ccf	synth_delay	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x885ab091	may_umount	vmlinux	EXPORT_SYMBOL
+0x136d1be3	class_device_del	vmlinux	EXPORT_SYMBOL_GPL
+0x4de1643c	rtnetlink_put_metrics	vmlinux	EXPORT_SYMBOL
+0xea10212a	int_to_scsilun	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4a8201cc	block_read_full_page	vmlinux	EXPORT_SYMBOL
+0xc421f7cc	ib_query_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x33330947	dm_register_dirty_log_type	drivers/md/dm-mirror	EXPORT_SYMBOL
+0x90bd9714	sequencer_timer	sound/oss/sound	EXPORT_SYMBOL
+0x75271716	save_processor_state	vmlinux	EXPORT_SYMBOL
+0x19829fbe	__scsi_alloc_queue	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x3ff62317	local_bh_disable	vmlinux	EXPORT_SYMBOL
+0xd0c05159	emergency_restart	vmlinux	EXPORT_SYMBOL_GPL
+0xa5e61574	page_cache_readahead	vmlinux	EXPORT_SYMBOL_GPL
+0x8b10a71f	tcp_sync_mss	vmlinux	EXPORT_SYMBOL
+0x28a5ccdf	tcp_v4_connect	vmlinux	EXPORT_SYMBOL
+0xc25f748e	dvb_net_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x811b10c3	sas_port_delete	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xf22aa033	hashbin_find	net/irda/irda	EXPORT_SYMBOL
+0x82b68224	bio_get_nr_vecs	vmlinux	EXPORT_SYMBOL
+0x6b5d7c84	framebuffer_alloc	vmlinux	EXPORT_SYMBOL
+0xcead677b	serio_rescan	vmlinux	EXPORT_SYMBOL
+0xd905bfb1	tcp_death_row	vmlinux	EXPORT_SYMBOL_GPL
+0xfb2e1d09	md_error	drivers/md/md-mod	EXPORT_SYMBOL
+0x33bf969a	snd_rawmidi_input_params	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x10729194	kmem_cache_create	vmlinux	EXPORT_SYMBOL
+0xafb35c4c	nonseekable_open	vmlinux	EXPORT_SYMBOL
+0x87adea4f	load_nls_default	vmlinux	EXPORT_SYMBOL
+0x4d6647a0	cpufreq_driver_target	vmlinux	EXPORT_SYMBOL_GPL
+0x8a62bcac	xfrm_policy_byid	vmlinux	EXPORT_SYMBOL
+0x86be7924	dccp_packet_name	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x64357d3c	tipc_multicast	net/tipc/tipc	EXPORT_SYMBOL
+0x20cfd673	seq_escape	vmlinux	EXPORT_SYMBOL
+0xeb8f54b3	strstrip	vmlinux	EXPORT_SYMBOL
+0x1e83ad02	dm_scsi_err_handler	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0xa05e3600	page_address	vmlinux	EXPORT_SYMBOL
+0x45dcfa7b	d_alloc_root	vmlinux	EXPORT_SYMBOL
+0x10ab8169	class_device_create	vmlinux	EXPORT_SYMBOL_GPL
+0x99c40393	dev_get_by_flags	vmlinux	EXPORT_SYMBOL
+0x237282e6	xfrm_ealg_get_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x548e6040	ata_qc_issue_prot	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x8d21856e	gigaset_blockdriver	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0xf25ef8be	snd_i2c_probeaddr	sound/i2c/snd-i2c	EXPORT_SYMBOL
+0x4d8586a9	skb_over_panic	vmlinux	EXPORT_SYMBOL
+0xfa2d4b57	skb_store_bits	vmlinux	EXPORT_SYMBOL
+0x45e9b7cc	xfrm_lookup	vmlinux	EXPORT_SYMBOL
+0xfd4d0bdc	eeprom_93cx6_write	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x85902f79	rtattr_strlcpy	vmlinux	EXPORT_SYMBOL
+0xb7c306ad	inet_unregister_protosw	vmlinux	EXPORT_SYMBOL
+0xd4dbec7e	i2c_smbus_read_byte	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0xebaf3a8c	mb_cache_entry_free	fs/mbcache	EXPORT_SYMBOL
+0xa3620353	blkcipher_walk_phys	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0x4f95649a	ei_close	drivers/net/8390	EXPORT_SYMBOL
+0xf6c038fa	snd_sbdsp_create	sound/isa/sb/snd-sb-common	EXPORT_SYMBOL
+0x9159b9d6	profile_event_register	vmlinux	EXPORT_SYMBOL_GPL
+0x230dee17	simple_commit_write	vmlinux	EXPORT_SYMBOL
+0x3031d946	swap_io_context	vmlinux	EXPORT_SYMBOL
+0xbb102a7d	pci_bus_assign_resources	vmlinux	EXPORT_SYMBOL
+0x1de314f3	hpet_control	vmlinux	EXPORT_SYMBOL
+0x6900dd2e	ide_wait_not_busy	vmlinux	EXPORT_SYMBOL_GPL
+0x3c7a1c57	ide_acpi_exec_tfs	vmlinux	EXPORT_SYMBOL_GPL
+0x4fd2cf63	rdma_create_qp	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xf71c4e1f	rdma_create_id	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x9924c496	__usb_get_extra_descriptor	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x0a406d5f	dccp_v4_send_check	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0x56ce7280	unregister_latency_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x785b3476	tpm_continue_selftest	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x38cd8f03	hpsb_node_write	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd5e4b6a6	ppp_input_error	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x31e7f5bb	ppp_unit_number	drivers/net/ppp_generic	EXPORT_SYMBOL
+0xf54306d8	blkdev_put	vmlinux	EXPORT_SYMBOL
+0xc19c548d	blkdev_get	vmlinux	EXPORT_SYMBOL
+0xfa00952f	user_describe	vmlinux	EXPORT_SYMBOL_GPL
+0xdaaa759f	elv_queue_empty	vmlinux	EXPORT_SYMBOL
+0xcb66937d	ps2_init	vmlinux	EXPORT_SYMBOL
+0x8b05c44a	register_netdevice	vmlinux	EXPORT_SYMBOL
+0x61187389	netlink_queue_skip	vmlinux	EXPORT_SYMBOL
+0x80e3832d	dvb_filter_get_ac3info	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xfe31062a	dvb_pll_tuv1236d	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x4ff0b01e	scsi_finish_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x9bbaab24	usb_serial_generic_open	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0xc0e6c067	p80211_suspend	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x5940e81b	kill_pid_info_as_uid	vmlinux	EXPORT_SYMBOL_GPL
+0xc25cbcad	cx24110_attach	drivers/media/dvb/frontends/cx24110	EXPORT_SYMBOL
+0x5c7f7af9	hci_unregister_cb	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x3c89ad4d	ebt_do_table	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x5c76f2c4	p80211wext_event_associated	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xe24d3a97	jiffies_64	vmlinux	EXPORT_SYMBOL
+0x61151700	mutex_trylock	vmlinux	EXPORT_SYMBOL
+0xc588d937	generic_osync_inode	vmlinux	EXPORT_SYMBOL
+0x300acdd2	task_in_intr	vmlinux	EXPORT_SYMBOL
+0x43ef4003	__alloc_skb	vmlinux	EXPORT_SYMBOL
+0xe9ff637a	tcp_get_info	vmlinux	EXPORT_SYMBOL_GPL
+0x63a8ce55	hpsb_iso_recv_set_channel_mask	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xf8899425	ieee80211softmac_wx_trigger_scan	net/ieee80211/softmac/ieee80211softmac	EXPORT_SYMBOL_GPL
+0x92a4ef60	snd_virmidi_new	sound/core/seq/snd-seq-virmidi	EXPORT_SYMBOL
+0x2f04f84c	pi_disconnect	drivers/block/paride/paride	EXPORT_SYMBOL
+0x23bee7de	dst_ca_attach	drivers/media/dvb/bt8xx/dst_ca	EXPORT_SYMBOL
+0x36babac3	videocodec_register	drivers/media/video/videocodec	EXPORT_SYMBOL
+0xe5d88938	mptscsih_abort	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0x19ef8fe9	svc_create	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x32537381	generic_file_mmap	vmlinux	EXPORT_SYMBOL
+0x4918c705	inode_add_bytes	vmlinux	EXPORT_SYMBOL
+0x0982b3fb	dcache_readdir	vmlinux	EXPORT_SYMBOL
+0x6def2db2	half_md4_transform	vmlinux	EXPORT_SYMBOL
+0x354de5df	pci_cleanup_aer_uncorrect_error_status	vmlinux	EXPORT_SYMBOL_GPL
+0x46afa010	mca_device_read_stored_pos	vmlinux	EXPORT_SYMBOL
+0x61d57e1d	saa7146_register_device	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0xf52e662f	videobuf_queue_is_busy	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x4e37866b	videobuf_dma_init_user	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xc760dcca	vfs_mknod	vmlinux	EXPORT_SYMBOL
+0xfcb8b131	idr_find	vmlinux	EXPORT_SYMBOL
+0x8dc6e564	restore_processor_state	vmlinux	EXPORT_SYMBOL
+0x972b24f0	sock_common_setsockopt	vmlinux	EXPORT_SYMBOL
+0x5845e961	sock_common_getsockopt	vmlinux	EXPORT_SYMBOL
+0x4188d439	neigh_rand_reach_time	vmlinux	EXPORT_SYMBOL
+0x38b92846	llc_remove_pack	vmlinux	EXPORT_SYMBOL
+0x0514f967	tcp_alloc_md5sig_pool	vmlinux	EXPORT_SYMBOL
+0x60ca6564	mptscsih_slave_configure	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xe52de6a0	parport_pc_probe_port	drivers/parport/parport_pc	EXPORT_SYMBOL
+0x22821d46	ieee80211_alloc_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xba813bd6	lock_cpu_hotplug	vmlinux	EXPORT_SYMBOL_GPL
+0x27bbf221	disable_irq_nosync	vmlinux	EXPORT_SYMBOL
+0xbd45594e	filemap_write_and_wait	vmlinux	EXPORT_SYMBOL
+0xd063ddef	skb_dequeue	vmlinux	EXPORT_SYMBOL
+0x7dc47561	ethtool_op_get_sg	vmlinux	EXPORT_SYMBOL
+0xf8185380	tpm_read	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x030c9eb1	ib_get_rmpp_segment	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x3b7f956f	dvb_register_adapter	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa5c89f59	dccp_insert_option_timestamp	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x45e87ae6	add_uevent_var	vmlinux	EXPORT_SYMBOL_GPL
+0x303925f1	alloc_etherdev	vmlinux	EXPORT_SYMBOL
+0xf7584a9c	find_font	drivers/video/console/font	EXPORT_SYMBOL
+0x50f176ae	dccp_create_openreq_child	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xb106d847	irda_notify_init	net/irda/irda	EXPORT_SYMBOL
+0x8f39d67d	refresh_vm_stats	vmlinux	EXPORT_SYMBOL
+0x143388be	platform_get_resource_byname	vmlinux	EXPORT_SYMBOL_GPL
+0x5168cd8a	netdev_features_change	vmlinux	EXPORT_SYMBOL
+0xaf818730	ipmi_smi_watcher_unregister	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x2af1a608	ir_codes_proteus_2309	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xecf6b6f5	dccp_child_process	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x3c8e1f30	rxrpc_call_abort	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xd1ee114e	rpc_wake_up_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xd4feb648	ivtv_vapi	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x6063bb70	proc_dostring	vmlinux	EXPORT_SYMBOL
+0x1a0b4638	devres_find	vmlinux	EXPORT_SYMBOL_GPL
+0xdbb153e7	task_no_data_intr	vmlinux	EXPORT_SYMBOL
+0xda7f8fe3	gs_chars_in_buffer	drivers/char/generic_serial	EXPORT_SYMBOL
+0xe54cf012	mpt_register	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x06fa2f53	phy_start	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xffcccc43	pci_bus_write_config_byte	vmlinux	EXPORT_SYMBOL
+0x62c18f8f	ib_query_pkey	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xc34a54c6	snd_hda_calc_stream_format	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0x770a0036	isapnp_cfg_begin	vmlinux	EXPORT_SYMBOL
+0x3684ae45	pre_task_out_intr	vmlinux	EXPORT_SYMBOL
+0xc0e0782e	skb_insert	vmlinux	EXPORT_SYMBOL
+0xdc211abb	dm_create_error_table	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0x6903f16c	hostap_80211_get_hdrlen	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x73e106e8	w1_reset_bus	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0xa8965a82	journal_force_commit_nested	fs/jbd/jbd	EXPORT_SYMBOL
+0xaa63d2d9	ircomm_connect_request	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0xaf236a7b	cap_vm_enough_memory	security/commoncap	EXPORT_SYMBOL
+0x292671a9	blk_queue_max_segment_size	vmlinux	EXPORT_SYMBOL
+0x7e900b65	mca_device_read_pos	vmlinux	EXPORT_SYMBOL
+0x904b8696	cx88_audio_thread	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x8532cc96	mpt_stm_index	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x43256f32	hostap_set_auth_algs	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x3edad223	usb_usual_clear_present	drivers/usb/storage/libusual	EXPORT_SYMBOL_GPL
+0xc623eea6	rtl_ieee80211_is_54g	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x6e9dd606	__symbol_put	vmlinux	EXPORT_SYMBOL
+0x024280b2	pci_find_ext_capability	vmlinux	EXPORT_SYMBOL_GPL
+0x600683d3	do_unblank_screen	vmlinux	EXPORT_SYMBOL
+0xb0bb9ed8	klist_add_tail	vmlinux	EXPORT_SYMBOL_GPL
+0x080489e7	hpsb_iso_xmit_start	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xcadaf9a8	dm_table_get_size	drivers/md/dm-mod	EXPORT_SYMBOL
+0x62eec57f	log_wait_commit	fs/jbd/jbd	EXPORT_SYMBOL
+0x2c2512ea	get_zeroed_page	vmlinux	EXPORT_SYMBOL
+0x89473f87	pci_claim_resource	vmlinux	EXPORT_SYMBOL_GPL
+0xa5da0abd	acpi_enter_sleep_state_s4bios	vmlinux	EXPORT_SYMBOL
+0x84129926	netpoll_send_udp	vmlinux	EXPORT_SYMBOL
+0xcba014ef	hpsb_create_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x933d0bb3	ir_codes_msi_tvanywhere	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x7d5dec2c	snd_ac97_get_short_name	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x8f04fe12	ssb_dma_translation	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0xf71f39aa	key_validate	vmlinux	EXPORT_SYMBOL
+0x7c5213e7	current_io_context	vmlinux	EXPORT_SYMBOL
+0x4ff33bd8	input_close_device	vmlinux	EXPORT_SYMBOL
+0x3d6d493b	snd_pcm_lib_read	sound/core/snd-pcm	EXPORT_SYMBOL
+0xbb38a9aa	snd_cs4231_interrupt	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x04aff7a8	rtl_ieee80211_wlan_frequencies	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xf63f0c50	prepare_to_wait_exclusive	vmlinux	EXPORT_SYMBOL
+0x4d807671	tty_insert_flip_string_flags	vmlinux	EXPORT_SYMBOL
+0x50b33ca4	capi_cmsg2message	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x3fd8cd71	qlogicfas408_detect	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x650f8603	snd_pcm_format_silence_64	sound/core/snd-pcm	EXPORT_SYMBOL
+0x7f56dd41	remove_proc_entry	vmlinux	EXPORT_SYMBOL
+0x1a7896f8	platform_device_add	vmlinux	EXPORT_SYMBOL_GPL
+0xd1a4f538	b1_release_appl	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x12d75032	snd_cs4231_info_single	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x19addbf5	filemap_nopage	vmlinux	EXPORT_SYMBOL
+0x2b798e5a	bd_release_from_disk	vmlinux	EXPORT_SYMBOL_GPL
+0x647cf343	pci_walk_bus	vmlinux	EXPORT_SYMBOL_GPL
+0x69be217c	ata_host_intr	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x1c5dd511	arpt_register_table	net/ipv4/netfilter/arp_tables	EXPORT_SYMBOL
+0xefc89b23	ipv6_opt_accepted	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x5bfb25e2	ssb_bus_powerup	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x84e798fd	uart_resume_port	vmlinux	EXPORT_SYMBOL
+0xd53d323f	atm_alloc_charge	vmlinux	EXPORT_SYMBOL
+0x0cc29dea	cx88_reset	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x89a31a56	_snd_pcm_hw_param_setempty	sound/core/snd-pcm	EXPORT_SYMBOL
+0x4ea714be	filemap_populate	vmlinux	EXPORT_SYMBOL
+0x9fe4a932	dquot_transfer	vmlinux	EXPORT_SYMBOL
+0x90b3175f	ps2_handle_ack	vmlinux	EXPORT_SYMBOL
+0xfac8865f	sysctl_wmem_max	vmlinux	EXPORT_SYMBOL
+0xb05fc310	sysctl_rmem_max	vmlinux	EXPORT_SYMBOL
+0x2b8eab1f	capilib_free_ncci	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x2fb54bb0	parport_ieee1284_epp_read_data	drivers/parport/parport	EXPORT_SYMBOL
+0xfd959e80	parport_ieee1284_ecp_read_data	drivers/parport/parport	EXPORT_SYMBOL
+0x8ede9e26	ax25_protocol_release	net/ax25/ax25	EXPORT_SYMBOL
+0x5573b7a6	snd_vx_dsp_boot	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x04be5e8a	ivtv_udma_setup	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xf7d76581	__ide_dma_host_off	vmlinux	EXPORT_SYMBOL
+0xbd506a46	unregister_hotplug_dock_device	drivers/acpi/dock	EXPORT_SYMBOL_GPL
+0x2e866e54	ata_std_bios_param	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xea4241da	drm_agp_release	drivers/char/drm/drm	EXPORT_SYMBOL
+0x03de0f79	md_wakeup_thread	drivers/md/md-mod	EXPORT_SYMBOL
+0xa97b832a	dvb_pll_configure	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x193c882d	__orinoco_up	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x6730db0d	lapb_register	net/lapb/lapb	EXPORT_SYMBOL
+0xfde0b92c	crypto_larval_error	vmlinux	EXPORT_SYMBOL_GPL
+0xcc36f32e	fb_unregister_client	vmlinux	EXPORT_SYMBOL
+0xcf4f443c	spi_register_master	vmlinux	EXPORT_SYMBOL_GPL
+0x38c99093	move_addr_to_user	vmlinux	EXPORT_SYMBOL
+0x22e0abf8	irda_device_set_media_busy	net/irda/irda	EXPORT_SYMBOL
+0x9d1fed33	rpc_clone_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xf071edd6	inet_csk_init_xmit_timers	vmlinux	EXPORT_SYMBOL
+0x6d1ced27	vcc_sklist_lock	vmlinux	EXPORT_SYMBOL
+0xfe35dc9f	ip_vs_conn_out_get	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x1385e486	__nf_ct_l4proto_find	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x4ff47e9d	midi_synth_setup_voice	sound/oss/sound	EXPORT_SYMBOL
+0x446b1a3e	complete_and_exit	vmlinux	EXPORT_SYMBOL
+0x53c2e873	vfs_readlink	vmlinux	EXPORT_SYMBOL
+0xe0c9aa9d	transport_add_device	vmlinux	EXPORT_SYMBOL_GPL
+0x663ef6d0	ide_set_handler	vmlinux	EXPORT_SYMBOL
+0x0f4604ba	ata_qc_prep	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0ce15da4	hpsb_make_lock64packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xadebf5c5	capi20_set_callback	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x8434635c	kvm_write_guest	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0xc7b64a6e	dvb_ca_en50221_camready_irq	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xef9598cf	down_read_trylock	vmlinux	EXPORT_SYMBOL
+0x38afa7df	sysfs_remove_group	vmlinux	EXPORT_SYMBOL_GPL
+0xff6878cf	fb_default_cmap	vmlinux	EXPORT_SYMBOL
+0x8e1a7f25	ide_do_drive_cmd	vmlinux	EXPORT_SYMBOL
+0xc88e3f41	ide_build_sglist	vmlinux	EXPORT_SYMBOL_GPL
+0x493e25e1	udp_hash	vmlinux	EXPORT_SYMBOL
+0x11e1bc3b	inet6_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0x0fa0e278	capi_ctr_ready	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xc6c7859d	scsi_nl_sock	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x6b93b537	cpufreq_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0xb0ca906b	vp3054_i2c_probe	drivers/media/video/cx88/cx88-vp3054-i2c	EXPORT_SYMBOL
+0xe396f303	unregister_page_fault_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0x7c958db6	seq_puts	vmlinux	EXPORT_SYMBOL
+0xe2a7459f	seq_putc	vmlinux	EXPORT_SYMBOL
+0x3ea5e6ec	dquot_commit_info	vmlinux	EXPORT_SYMBOL
+0xf90344ba	blk_rq_map_user_iov	vmlinux	EXPORT_SYMBOL
+0x106e84a8	alloc_disk	vmlinux	EXPORT_SYMBOL
+0xa25b6b62	device_attach	vmlinux	EXPORT_SYMBOL_GPL
+0x3592c2d5	netif_rx_ni	vmlinux	EXPORT_SYMBOL
+0x69cde68c	nf_getsockopt	vmlinux	EXPORT_SYMBOL
+0xa86ba2f2	nf_setsockopt	vmlinux	EXPORT_SYMBOL
+0x1b01155d	i2c_smbus_xfer	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x7002dd0b	ib_register_client	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x2c54c957	capifs_free_ncci	drivers/isdn/capi/capifs	EXPORT_SYMBOL
+0x22f43507	nfs4_acl_posix_to_nfsv4	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x938e0aab	rpc_init_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe0ef17a2	rtl_ieee80211_crypt_delayed_deinit	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xf066600f	__write_lock_failed	vmlinux	EXPORT_SYMBOL
+0x4be8b24c	__module_put_and_exit	vmlinux	EXPORT_SYMBOL
+0xb225d619	d_genocide	vmlinux	EXPORT_SYMBOL
+0x971db8fb	do_add_mount	vmlinux	EXPORT_SYMBOL_GPL
+0x72f1fb5b	uart_update_timeout	vmlinux	EXPORT_SYMBOL
+0xbf3da53d	ata_dev_disable	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xb90668b2	snd_seq_autoload_lock	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0x79c0ac3a	snd_pcm_hw_param_last	sound/core/snd-pcm	EXPORT_SYMBOL
+0x752314cd	videobuf_dvb_unregister	drivers/media/video/video-buf-dvb	EXPORT_SYMBOL
+0xcffa2aff	spi_populate_width_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL_GPL
+0x42dce4f0	d_rehash	vmlinux	EXPORT_SYMBOL
+0x4a94608d	end_buffer_write_sync	vmlinux	EXPORT_SYMBOL
+0x82559359	elv_dispatch_add_tail	vmlinux	EXPORT_SYMBOL
+0xb113be53	change_page_attr	vmlinux	EXPORT_SYMBOL
+0x4ba0b42b	remove_shrinker	vmlinux	EXPORT_SYMBOL
+0x7a2aad8b	vfs_write	vmlinux	EXPORT_SYMBOL
+0x57afd6e0	cont_prepare_write	vmlinux	EXPORT_SYMBOL
+0x6b1b67d3	__bdevname	vmlinux	EXPORT_SYMBOL
+0x7a6c0ce5	pci_get_class	vmlinux	EXPORT_SYMBOL
+0x31e7356e	n_tty_ioctl	vmlinux	EXPORT_SYMBOL
+0x9b9c7357	ide_build_dmatable	vmlinux	EXPORT_SYMBOL_GPL
+0x1fe16231	gs_start	drivers/char/generic_serial	EXPORT_SYMBOL
+0x34d155ab	b1_alloc_card	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0xda987559	isacsx_setup	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x5517061a	__crypto_alg_lookup	vmlinux	EXPORT_SYMBOL_GPL
+0xd7797d30	netif_rx	vmlinux	EXPORT_SYMBOL
+0x940c557d	dm_set_device_limits	drivers/md/dm-mod	EXPORT_SYMBOL_GPL
+0x4ea698a2	ir_codes_purpletv	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x512c956d	mraid_mm_unregister_adp	drivers/scsi/megaraid/megaraid_mm	EXPORT_SYMBOL
+0x09f19c0c	snd_pcm_hw_refine	sound/core/snd-pcm	EXPORT_SYMBOL
+0xab663c80	iw_handler_set_spy	vmlinux	EXPORT_SYMBOL
+0x72ea7b2d	scsi_device_type	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x66830c66	usb_create_hcd	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x71945659	unregister_ip_vs_app	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0xa1eae7cf	num_midis	sound/oss/sound	EXPORT_SYMBOL
+0x14f67530	ivtv_debug	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0xb922ecbc	__mod_timer	vmlinux	EXPORT_SYMBOL
+0xaac686d9	unregister_binfmt	vmlinux	EXPORT_SYMBOL
+0xb0ac56e5	ib_dealloc_mw	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd8a2731c	sb_dsp_detect	sound/oss/sb_lib	EXPORT_SYMBOL
+0xf2fb62ee	disable_timer_nmi_watchdog	vmlinux	EXPORT_SYMBOL
+0x874aea72	acpi_os_signal	vmlinux	EXPORT_SYMBOL
+0x555c53a6	sock_no_accept	vmlinux	EXPORT_SYMBOL
+0x907665bd	scx200_cb_base	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0xcbc3f957	pcmcia_request_io	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x584144d3	nf_conntrack_l4proto_icmp	net/ipv4/netfilter/nf_conntrack_ipv4	EXPORT_SYMBOL_GPL
+0xf0212db3	xdr_init_encode	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x0308573b	__lock_buffer	vmlinux	EXPORT_SYMBOL
+0x7ff8bd83	elevator_exit	vmlinux	EXPORT_SYMBOL
+0x388ad362	nf_log_unregister_logger	vmlinux	EXPORT_SYMBOL
+0xaf5d533f	klist_del	vmlinux	EXPORT_SYMBOL_GPL
+0xde6c42bc	dst_gpio_inb	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x14ad9ea3	dvb_dmxdev_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa841f003	mmc_unregister_driver	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x0fd00a68	acpi_clear_event	vmlinux	EXPORT_SYMBOL
+0x589cad50	ir_codes_apac_viewcomp	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x6e3784f9	ieee80211_register_crypto_ops	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x5ccafa4c	snd_ac97_write	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0x84f7659b	dma_release_declared_memory	vmlinux	EXPORT_SYMBOL
+0x2189e32b	paravirt_ops	vmlinux	EXPORT_SYMBOL
+0x7538b132	agp_off	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x043a5292	tua6100_attach	drivers/media/dvb/frontends/tua6100	EXPORT_SYMBOL
+0x157ea24f	saa7134_set_dmabits	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x0b865043	mtd_table	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0xf991e305	vfs_symlink	vmlinux	EXPORT_SYMBOL
+0x6d8bd06a	registered_fb	vmlinux	EXPORT_SYMBOL
+0x815b974c	tcp_ioctl	vmlinux	EXPORT_SYMBOL
+0x5af076a7	dm_unregister_path_selector	drivers/md/dm-multipath	EXPORT_SYMBOL_GPL
+0xc3f66c03	sirdev_set_dtr_rts	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xeedbefea	inet6_csk_xmit	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x6a071c36	__nf_ct_event_cache_init	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xd80e77bf	synth_buffer	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x7171121c	overflowgid	vmlinux	EXPORT_SYMBOL
+0x8b618d08	overflowuid	vmlinux	EXPORT_SYMBOL
+0x45805cee	__alloc_pages	vmlinux	EXPORT_SYMBOL
+0x7a00f517	unmap_mapping_range	vmlinux	EXPORT_SYMBOL
+0xab2c600e	create_proc_ide_interfaces	vmlinux	EXPORT_SYMBOL
+0xa0c71dac	spi_populate_sync_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL_GPL
+0xf392d748	bt_class	net/bluetooth/bluetooth	EXPORT_SYMBOL_GPL
+0x60a4a7de	pci_enable_device	vmlinux	EXPORT_SYMBOL
+0x84e677f5	inet_select_addr	vmlinux	EXPORT_SYMBOL
+0x4ecd1f84	tpm_show_caps_1_2	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x43a4938f	vm_get_page_prot	vmlinux	EXPORT_SYMBOL
+0x04f19ebe	dcache_dir_close	vmlinux	EXPORT_SYMBOL
+0x92791568	wireless_send_event	vmlinux	EXPORT_SYMBOL
+0x3163d836	relay_reset	vmlinux	EXPORT_SYMBOL_GPL
+0xab42f9c9	unregister_snap_client	vmlinux	EXPORT_SYMBOL
+0xbd34b8bc	phy_driver_register	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x9b3cd7ef	rtc_irq_set_state	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0xf9a02b7b	_write_unlock	vmlinux	EXPORT_SYMBOL
+0x905c63f6	dquot_mark_dquot_dirty	vmlinux	EXPORT_SYMBOL
+0x6c14439f	pci_remove_bus	vmlinux	EXPORT_SYMBOL
+0x743e8e7f	pci_remove_rom	vmlinux	EXPORT_SYMBOL
+0x50fed6f7	proc_ide_read_geometry	vmlinux	EXPORT_SYMBOL
+0x09b648d3	sock_no_connect	vmlinux	EXPORT_SYMBOL
+0x2d6b2b7b	inet_put_port	vmlinux	EXPORT_SYMBOL
+0xb4ac6555	dst_wait_dst_ready	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x9a41d9d6	phy_print_status	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xc5d6ab42	snd_akm4xxx_write	sound/i2c/other/snd-ak4xxx-adda	EXPORT_SYMBOL
+0x76f3f8a5	num_k8_northbridges	vmlinux	EXPORT_SYMBOL
+0xe8d11cf8	set_shrinker	vmlinux	EXPORT_SYMBOL
+0x00566d8f	inotify_get_cookie	vmlinux	EXPORT_SYMBOL_GPL
+0x70d8ab82	acpi_acquire_global_lock	vmlinux	EXPORT_SYMBOL
+0xb0c7b61d	pi_init	drivers/block/paride/paride	EXPORT_SYMBOL
+0x4ace7662	dvb_pll_lg_tdvs_h06xf	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x9c6906d1	videobuf_status	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xb3c62942	mpt_attach	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xc6b4e134	w1_write_block	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x39fc62db	snd_ice1712_akm4xxx_build_controls	sound/pci/ice1712/snd-ice17xx-ak4xxx	EXPORT_SYMBOL
+0xd91e74f1	p80211skb_rxmeta_attach	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x4a358252	__bitmap_subset	vmlinux	EXPORT_SYMBOL
+0xcbe50932	flexcop_device_kmalloc	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xe8eee666	o2nm_node_put	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x6e224a7a	need_conntrack	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbfd3488b	send_sig	vmlinux	EXPORT_SYMBOL
+0x06508adc	debugfs_create_blob	vmlinux	EXPORT_SYMBOL_GPL
+0x2b730736	eth_type_trans	vmlinux	EXPORT_SYMBOL
+0xf826deb0	dvb_filter_pes2ts	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa0c3a67d	mb_cache_entry_get	fs/mbcache	EXPORT_SYMBOL
+0x8abac70a	param_set_uint	vmlinux	EXPORT_SYMBOL
+0x2d5c06ec	down_write_trylock	vmlinux	EXPORT_SYMBOL
+0xd18fc8cb	tcp_shutdown	vmlinux	EXPORT_SYMBOL
+0xc97a5207	scsi_nonblockable_ioctl	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x2036ad06	irda_param_insert	net/irda/irda	EXPORT_SYMBOL
+0x602c96f0	copy_to_user_fromio	sound/core/snd	EXPORT_SYMBOL
+0x506abaa2	blk_end_sync_rq	vmlinux	EXPORT_SYMBOL
+0x199ed0cd	net_disable_timestamp	vmlinux	EXPORT_SYMBOL
+0x666f9881	tcp_v4_md5_do_add	vmlinux	EXPORT_SYMBOL
+0x22606052	cdrom_open	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x22a8addb	hpsb_node_fill_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xd431f85c	rpc_init_wait_queue	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa979add1	ata_pci_device_resume	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x69e9a2cb	ata_scsi_slave_config	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x6b99ca6e	mpt_put_msg_frame	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x4afe9a77	scsi_partsize	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5a3e4571	snd_seq_fm_init	sound/core/seq/instr/snd-ainstr-fm	EXPORT_SYMBOL
+0x00112f51	groups_alloc	vmlinux	EXPORT_SYMBOL
+0x11268a58	drm_pci_alloc	drivers/char/drm/drm	EXPORT_SYMBOL
+0x8404ce5f	simple_release_fs	vmlinux	EXPORT_SYMBOL
+0xf338d4c3	netlink_unregister_notifier	vmlinux	EXPORT_SYMBOL
+0x75a921ce	ib_create_cm_id	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xd4a46781	alloc_ieee80211	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xfa5504f6	generic_file_aio_write_nolock	vmlinux	EXPORT_SYMBOL
+0x2db2ec29	ipmi_create_user	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x21d12bec	iscsi_change_queue_depth	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x1e70921a	kvm_exit_arch	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x5fd014d2	mtd_concat_create	drivers/mtd/mtdconcat	EXPORT_SYMBOL
+0x2dfa2c31	scsi_host_put	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x4fc8f6c3	rt2x00lib_config	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x272552e6	add_wait_queue	vmlinux	EXPORT_SYMBOL
+0x62e32d43	capilib_data_b3_conf	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xa56dc16f	sas_domain_release_transport	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x5b5e2206	usb_ftdi_elan_read_pcimem	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x5adde04d	snd_ad1848_out	sound/isa/ad1848/snd-ad1848-lib	EXPORT_SYMBOL
+0x627cd556	p80211_resume	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x081dcac8	balance_dirty_pages_ratelimited_nr	vmlinux	EXPORT_SYMBOL
+0x92fb217b	dcookie_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x0a3131f6	strnchr	vmlinux	EXPORT_SYMBOL
+0x29fef3be	dev_add_pack	vmlinux	EXPORT_SYMBOL
+0xaa344ccf	tpm_open	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xcb06e71b	z8530_sync_close	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x0c7824e7	cyber2000fb_enable_extregs	drivers/video/cyber2000fb	EXPORT_SYMBOL
+0xe50a776d	crypto_mod_put	vmlinux	EXPORT_SYMBOL_GPL
+0x44b911c3	rb_replace_node	vmlinux	EXPORT_SYMBOL
+0x6989a769	vsnprintf	vmlinux	EXPORT_SYMBOL
+0x20914d13	isacsx_irq	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x1af6c58b	journal_clear_err	fs/jbd/jbd	EXPORT_SYMBOL
+0x6339b6d0	snd_seq_device_load_drivers	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0x0b985f54	vfs_quota_on_mount	vmlinux	EXPORT_SYMBOL
+0x5b18d72e	blkdev_ioctl	vmlinux	EXPORT_SYMBOL_GPL
+0x890a6ab7	ide_execute_command	vmlinux	EXPORT_SYMBOL
+0xe82eaa01	__ide_dma_bad_drive	vmlinux	EXPORT_SYMBOL
+0x99cdc86b	sysctl_tcp_reordering	vmlinux	EXPORT_SYMBOL
+0xa7b5e686	dlm_register_eviction_cb	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x82f94e40	nf_ct_gre_keymap_flush	net/netfilter/nf_conntrack_proto_gre	EXPORT_SYMBOL
+0x5e256b57	snd_pcm_hw_constraint_pow2	sound/core/snd-pcm	EXPORT_SYMBOL
+0xc7117960	ssb_set_devtypedata	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x7df4a047	crypto_alloc_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0x89455aa6	crypto_register_instance	vmlinux	EXPORT_SYMBOL_GPL
+0x69d7f647	tty_ldisc_flush	vmlinux	EXPORT_SYMBOL_GPL
+0x00801678	flush_scheduled_work	vmlinux	EXPORT_SYMBOL
+0x787fbf8a	get_super	vmlinux	EXPORT_SYMBOL
+0x3c29326d	mark_buffer_dirty	vmlinux	EXPORT_SYMBOL
+0x61fa936b	tty_set_operations	vmlinux	EXPORT_SYMBOL
+0x8a7238d7	snd_sb16dsp_get_pcm_ops	sound/isa/sb/snd-sb16-dsp	EXPORT_SYMBOL
+0xfe84c23d	ll_rw_block	vmlinux	EXPORT_SYMBOL
+0xad385274	skb_copy_and_csum_bits	vmlinux	EXPORT_SYMBOL
+0x1571b9a6	ib_create_ah_from_wc	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xd2328794	tms380tr_wait	drivers/net/tokenring/tms380tr	EXPORT_SYMBOL
+0x39226dbb	snd_cs4231_chip_id	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0x1858f5f7	ps2_sendbyte	vmlinux	EXPORT_SYMBOL
+0x67741c0c	fc_release_transport	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0xf5f4c1c0	sas_rphy_free	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x9a95733f	sound_alloc_dma	sound/oss/sound	EXPORT_SYMBOL
+0xbaaf6d78	nl80211hdr_put	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL_GPL
+0xe716baed	acpi_unregister_ioapic	vmlinux	EXPORT_SYMBOL
+0x51d7a776	acpi_detach_data	vmlinux	EXPORT_SYMBOL
+0x95cc2139	__PAGE_KERNEL	vmlinux	EXPORT_SYMBOL
+0x83800bfa	kref_init	vmlinux	EXPORT_SYMBOL
+0x98a7d3ba	pci_intx	vmlinux	EXPORT_SYMBOL_GPL
+0xc62d268f	device_create_bin_file	vmlinux	EXPORT_SYMBOL_GPL
+0xc6d05cea	pi_write_block	drivers/block/paride/paride	EXPORT_SYMBOL
+0xa4bf7254	ib_fmr_pool_unmap	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbc071706	nfnetlink_send	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0x12e280e3	svc_proc_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x7475b734	attach_mpu401	sound/oss/mpu401	EXPORT_SYMBOL
+0xb68744b2	audit_log_format	vmlinux	EXPORT_SYMBOL
+0xfab9699d	acpi_os_unmap_memory	vmlinux	EXPORT_SYMBOL_GPL
+0x22b325d5	kd_mksound	vmlinux	EXPORT_SYMBOL
+0xcb068832	serio_open	vmlinux	EXPORT_SYMBOL
+0xcfae6ebe	sk_receive_skb	vmlinux	EXPORT_SYMBOL
+0x7613b95d	dev_set_mac_address	vmlinux	EXPORT_SYMBOL
+0x843ddba1	agp_generic_free_by_type	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x9e23ac99	pccard_get_tuple_data	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x56ea266a	dccp_state_name	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xfff0e708	cap_bprm_apply_creds	security/commoncap	EXPORT_SYMBOL
+0xf4a5c213	avail_to_resrv_perfctr_nmi_bit	vmlinux	EXPORT_SYMBOL
+0x90a943ba	nmi_active	vmlinux	EXPORT_SYMBOL
+0x30239337	pci_find_bus	vmlinux	EXPORT_SYMBOL
+0x60ce128a	serio_close	vmlinux	EXPORT_SYMBOL
+0xd6751bc2	sock_register	vmlinux	EXPORT_SYMBOL
+0x1d64d702	loop_register_transfer	drivers/block/loop	EXPORT_SYMBOL
+0x86fe23f6	snd_usb_create_midi_interface	sound/usb/snd-usb-lib	EXPORT_SYMBOL
+0xc8b16193	__ide_dma_on	vmlinux	EXPORT_SYMBOL
+0x3254bcb5	hpsb_packet_success	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x5da74240	saa7134_pgtable_free	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x69816b85	register_mtd_blktrans	drivers/mtd/mtd_blkdevs	EXPORT_SYMBOL_GPL
+0xbb1e2267	hdlc_open	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x612fa4e7	ieee80211_get_crypto_ops	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x34f840e8	inet6_register_protosw	net/ipv6/ipv6	EXPORT_SYMBOL
+0x538b228a	tipc_withdraw	net/tipc/tipc	EXPORT_SYMBOL
+0x4b2243c6	tipc_portimportance	net/tipc/tipc	EXPORT_SYMBOL
+0x17fd8e28	__snd_util_mem_alloc	sound/synth/snd-util-mem	EXPORT_SYMBOL
+0x7c70150b	vfs_writev	vmlinux	EXPORT_SYMBOL
+0x121705ec	mca_register_driver	vmlinux	EXPORT_SYMBOL
+0x094839a8	skb_under_panic	vmlinux	EXPORT_SYMBOL
+0xa8535525	ip_nat_decode_session	vmlinux	EXPORT_SYMBOL
+0x526987fe	ib_get_dma_mr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x986ed624	dccp_tx_hist_purge_older	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x78cf4783	snd_midi_event_encode	sound/core/seq/snd-seq-midi-event	EXPORT_SYMBOL
+0xeaa76ace	proc_dointvec	vmlinux	EXPORT_SYMBOL
+0x3614cdac	videobuf_next_field	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xc64b0087	rxrpc_add_service	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0xc04f6f67	ad1848_control	sound/oss/ad1848	EXPORT_SYMBOL
+0x36dd0e5a	hostap_set_hostapd_sta	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x776b33ca	scsi_host_put_command	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x687f6251	mlog_and_bits	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x214b3303	nf_nat_proto_put	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0xf5019917	snd_seq_instr_event	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0xee3023e8	acpi_bus_register_driver	vmlinux	EXPORT_SYMBOL
+0x1c6b049d	atm_dev_lookup	vmlinux	EXPORT_SYMBOL
+0x3de603e6	srp_target_alloc	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0xaeff19a8	rxrpc_create_connection	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x3c30f290	rpc_print_iostats	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x959b995e	sync_page_range	vmlinux	EXPORT_SYMBOL
+0xce5ac24f	zlib_inflate_workspacesize	vmlinux	EXPORT_SYMBOL
+0x826c36cc	nf_hook_slow	vmlinux	EXPORT_SYMBOL
+0xdc5c11e6	drm_open	drivers/char/drm/drm	EXPORT_SYMBOL
+0x5891b165	set_ras_addr_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x8faaf828	match_strcpy	vmlinux	EXPORT_SYMBOL
+0x1cac4827	tcp_recvmsg	vmlinux	EXPORT_SYMBOL
+0xefbb1f7d	usb_cypress_load_firmware	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xd9b36c75	NCR_700_release	drivers/scsi/53c700	EXPORT_SYMBOL
+0xace5c0fc	usb_bus_list	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x36418553	o2net_send_message	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x28f6dc90	snd_pcm_limit_hw_rates	sound/core/snd-pcm	EXPORT_SYMBOL
+0x4902fd34	console_start	vmlinux	EXPORT_SYMBOL
+0x03a1bf0f	proc_dointvec_userhz_jiffies	vmlinux	EXPORT_SYMBOL
+0x20b6a94b	ata_scsi_queuecmd	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x3e0a9d2f	pi_connect	drivers/block/paride/paride	EXPORT_SYMBOL
+0x15c1c729	dvb_ringbuffer_avail	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x226ecdf0	simple_dir_inode_operations	vmlinux	EXPORT_SYMBOL
+0xce136fbc	inet_csk_bind_conflict	vmlinux	EXPORT_SYMBOL_GPL
+0x7f1c3e94	tcp_simple_retransmit	vmlinux	EXPORT_SYMBOL
+0x1fd903e0	z8530_get_stats	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x58d0e90f	parport_unregister_driver	drivers/parport/parport	EXPORT_SYMBOL
+0x6b7e96fc	xt_register_match	net/netfilter/x_tables	EXPORT_SYMBOL
+0x25d89d46	ivtv_cards	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x81ca6df6	register_kretprobe	vmlinux	EXPORT_SYMBOL_GPL
+0x0b1c11ef	dmam_pool_create	vmlinux	EXPORT_SYMBOL
+0x63e23fc8	drive_is_ready	vmlinux	EXPORT_SYMBOL
+0xef3bd862	mca_find_unused_adapter	vmlinux	EXPORT_SYMBOL
+0x023eb25e	put_unused_fd	vmlinux	EXPORT_SYMBOL
+0x469e18e1	dcache_dir_open	vmlinux	EXPORT_SYMBOL
+0xa0800cce	__find_get_block	vmlinux	EXPORT_SYMBOL
+0x07fd83ee	mod_unreg_security	vmlinux	EXPORT_SYMBOL_GPL
+0x672ad148	dma_region_sync_for_device	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x443253e4	cpci_hp_register_bus	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x8cd9050b	snd_emu10k1_synth_free	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x7c904ded	unregister_module_notifier	vmlinux	EXPORT_SYMBOL
+0x17a76e71	rb_first	vmlinux	EXPORT_SYMBOL
+0x30d18ff2	inet6_lookup_listener	vmlinux	EXPORT_SYMBOL_GPL
+0x8a5d94be	zero_fill_bio	vmlinux	EXPORT_SYMBOL
+0xcf047c83	acpi_disable_gpe	vmlinux	EXPORT_SYMBOL
+0xc3b117a7	ata_dummy_port_ops	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2609d3ff	gs_write	drivers/char/generic_serial	EXPORT_SYMBOL
+0x86898881	sas_change_queue_depth	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xa10dc9a2	snd_seq_gf1_init	sound/core/seq/instr/snd-ainstr-gf1	EXPORT_SYMBOL
+0x082c3213	pci_root_buses	vmlinux	EXPORT_SYMBOL
+0xd77eac66	bus_register	vmlinux	EXPORT_SYMBOL_GPL
+0x8a855cf2	mmc_resume_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x1b9981cc	set_irq_wake	vmlinux	EXPORT_SYMBOL
+0xb8e23e45	generic_file_buffered_write	vmlinux	EXPORT_SYMBOL
+0x5568be43	lock_kernel	vmlinux	EXPORT_SYMBOL
+0x986e6135	fb_pad_unaligned_buffer	vmlinux	EXPORT_SYMBOL
+0xc98cadb1	ata_std_dev_select	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0417ac6a	ib_find_cached_gid	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x25e34d55	videobuf_iolock	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0xf65cb0af	mmc_alloc_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x98cc9b39	ieee80211_txb_free	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xcbda5a08	_read_unlock_irqrestore	vmlinux	EXPORT_SYMBOL
+0xe62094cc	fsync_bdev	vmlinux	EXPORT_SYMBOL
+0x5ba56995	input_open_device	vmlinux	EXPORT_SYMBOL
+0xee7f55f9	ttpci_budget_set_video_port	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x3a0b0d14	dccp_death_row	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x26e04614	lapb_data_received	net/lapb/lapb	EXPORT_SYMBOL
+0x50c99123	snd_rawmidi_drain_input	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x70c15ac1	snd_dma_disable	sound/core/snd	EXPORT_SYMBOL
+0xe39d38aa	device_for_each_child	vmlinux	EXPORT_SYMBOL_GPL
+0x85280ca6	ip6_dst_lookup	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0x88ae5965	cache_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x30a38043	snd_ak4114_external_rate	sound/i2c/other/snd-ak4114	EXPORT_SYMBOL
+0xe7150c17	snd_ak4117_external_rate	sound/i2c/other/snd-ak4117	EXPORT_SYMBOL
+0x1d85be7f	ssb_pcihost_register	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x6689b8a2	remove_acceptable_latency	vmlinux	EXPORT_SYMBOL_GPL
+0x55ac505c	unregister_key_type	vmlinux	EXPORT_SYMBOL
+0xf47d47e0	acpi_enable_gpe	vmlinux	EXPORT_SYMBOL
+0xb27005f5	device_suspend	vmlinux	EXPORT_SYMBOL_GPL
+0xe8a3605f	acpi_processor_set_thermal_limit	drivers/acpi/processor	EXPORT_SYMBOL
+0x979b3052	dma_prog_region_init	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x403cd8bf	hci_resume_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xb3f61744	dccp_close	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xb9948d2c	snd_midi_channel_free_set	sound/core/seq/snd-seq-midi-emul	EXPORT_SYMBOL
+0x07053ad4	ieee80211_free_hw	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xb77a9c55	bd_set_size	vmlinux	EXPORT_SYMBOL
+0xca4edb7b	blk_get_queue	vmlinux	EXPORT_SYMBOL
+0x8d3894f2	_ctype	vmlinux	EXPORT_SYMBOL
+0xa34bc437	firmware_register	vmlinux	EXPORT_SYMBOL_GPL
+0x9f8fe03b	ata_pci_init_one	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x0737165e	saa7146_i2c_transfer	drivers/media/common/saa7146	EXPORT_SYMBOL_GPL
+0x145aad58	pppox_ioctl	drivers/net/pppox	EXPORT_SYMBOL
+0xe3d80064	z8530_hdlc_kilostream_85230	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xf67ffd8c	dlmunlock	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0xa526a939	rpc_shutdown_client	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x02a44b5e	tipc_set_msg_option	net/tipc/tipc	EXPORT_SYMBOL
+0x062bdb0e	x86_acpiid_to_apicid	vmlinux	EXPORT_SYMBOL
+0xf0d89116	pci_set_dma_mask	vmlinux	EXPORT_SYMBOL
+0xb5442b04	udp_proc_unregister	vmlinux	EXPORT_SYMBOL
+0x292cda6d	pcmcia_write_cis_mem	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0xd6035d05	do_settimeofday	vmlinux	EXPORT_SYMBOL
+0x72270e35	do_gettimeofday	vmlinux	EXPORT_SYMBOL
+0x0c5d601d	generic_write_checks	vmlinux	EXPORT_SYMBOL
+0xba4f9a36	block_truncate_page	vmlinux	EXPORT_SYMBOL
+0x23f2d36f	memparse	vmlinux	EXPORT_SYMBOL
+0xa458648c	pci_bus_read_config_dword	vmlinux	EXPORT_SYMBOL
+0x73c3f71a	input_inject_event	vmlinux	EXPORT_SYMBOL
+0x07e85e74	skb_copy	vmlinux	EXPORT_SYMBOL
+0xce2412bd	inet_sk_rebuild_header	vmlinux	EXPORT_SYMBOL
+0x1baad690	ib_alloc_fmr	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb6b2ff30	__nf_conntrack_expect_find	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6402f20d	snd_pcm_stop	sound/core/snd-pcm	EXPORT_SYMBOL
+0xde65f540	snd_emu8000_load_reverb_fx	sound/isa/sb/snd-sbawe	EXPORT_SYMBOL
+0x36d5355b	acpi_register_gsi	vmlinux	EXPORT_SYMBOL
+0xa5c0bd1e	uart_match_port	vmlinux	EXPORT_SYMBOL
+0xa879ecbe	drm_locked_tasklet	drivers/char/drm/drm	EXPORT_SYMBOL
+0x9725693f	iscsi_session_get_param	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x4866643e	pcie_port_service_register	vmlinux	EXPORT_SYMBOL
+0xe0de6b64	alloc_tty_driver	vmlinux	EXPORT_SYMBOL
+0x8c80b53d	flow_cache_lookup	vmlinux	EXPORT_SYMBOL
+0xe5ae8707	intlog10	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xd8730208	saa_dsp_writel	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0xdedf2dd6	destroy_8023_client	net/802/p8023	EXPORT_SYMBOL
+0x2258d4ab	rt2x00lib_config_interface	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xf0a8dd90	cpufreq_register_governor	vmlinux	EXPORT_SYMBOL_GPL
+0x2ac32ce7	acpi_processor_register_performance	drivers/acpi/processor	EXPORT_SYMBOL
+0x87087f33	stop_atmel_card	drivers/net/wireless/atmel	EXPORT_SYMBOL
+0xcc436e6c	pci_hotplug_slots_subsys	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xe4108960	scsi_is_sas_phy	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0xd6875fa3	_write_unlock_bh	vmlinux	EXPORT_SYMBOL
+0xb69a41b9	bio_put	vmlinux	EXPORT_SYMBOL
+0xbc6b1841	blk_register_region	vmlinux	EXPORT_SYMBOL
+0x10ee20bb	default_blu	vmlinux	EXPORT_SYMBOL
+0x16e7b88b	gs_set_termios	drivers/char/generic_serial	EXPORT_SYMBOL
+0xea620116	b1pcmcia_addcard_m2	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0xaec3240e	b1pcmcia_addcard_m1	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0xf14bf8b1	b1pcmcia_addcard_b1	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0x991c63f3	lnbp21_attach	drivers/media/dvb/frontends/lnbp21	EXPORT_SYMBOL
+0xa57ebd16	z8530_sync_open	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xf9dbfe10	sata_port_hardreset	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xbdd4b116	tpm_store_cancel	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xf2cce087	ohci1394_stop_context	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0xa1734662	video_ioctl2	drivers/media/video/videodev	EXPORT_SYMBOL
+0xef9f1aab	scsi_is_target_device	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xd2b32e52	w1_read_block	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0x790da802	journal_force_commit	fs/jbd/jbd	EXPORT_SYMBOL
+0x5878348c	ieee80211_rts_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x04a8927f	rt2x00lib_get_tx_stats	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xf63b8a3f	grab_cache_page_nowait	vmlinux	EXPORT_SYMBOL
+0xefb38224	inode_needs_sync	vmlinux	EXPORT_SYMBOL
+0x44d4a420	sk_dst_check	vmlinux	EXPORT_SYMBOL
+0x8640eaeb	ib_modify_qp_is_ok	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x95ed290e	phy_write	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xac93ae05	ax25_bcast	net/ax25/ax25	EXPORT_SYMBOL_GPL
+0x8e4c5880	wake_up_process	vmlinux	EXPORT_SYMBOL
+0x25820c64	fs_overflowuid	vmlinux	EXPORT_SYMBOL
+0xdbb48207	dev_getfirstbyhwtype	vmlinux	EXPORT_SYMBOL
+0xd324ba93	dev_base	vmlinux	EXPORT_SYMBOL
+0xd9c7f010	ir_codes_rc5_tv	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x42929c56	saa7134_tvaudio_setmute	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL
+0x8b6debad	scsi_internal_device_block	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x23d31fd6	irlmp_connect_request	net/irda/irda	EXPORT_SYMBOL
+0xbb9c5105	irttp_connect_request	net/irda/irda	EXPORT_SYMBOL
+0x6f9ad3ee	snd_rawmidi_receive	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x337032c5	attach_ms_sound	sound/oss/ad1848	EXPORT_SYMBOL
+0x2bbad503	_spin_unlock_irq	vmlinux	EXPORT_SYMBOL
+0xb517850e	input_ff_erase	vmlinux	EXPORT_SYMBOL_GPL
+0xd9c272aa	mca_mark_as_unused	vmlinux	EXPORT_SYMBOL
+0xa300e425	skb_dequeue_tail	vmlinux	EXPORT_SYMBOL
+0x4f476e96	init_cdrom_command	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x1658fcf3	flexcop_device_exit	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x4a4bdd65	scsi_target_resume	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x5b44cc16	scsi_is_sas_port	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x53dea1ff	ax2asc	net/ax25/ax25	EXPORT_SYMBOL
+0xfa9f2458	ieee80211_rx_mgt	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x7962e78f	__nf_ct_refresh_acct	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x04306914	tipc_get_port	net/tipc/tipc	EXPORT_SYMBOL
+0x66212d85	snd_seq_kernel_client_enqueue	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x4c995259	system_latency_constraint	vmlinux	EXPORT_SYMBOL_GPL
+0xb168e96b	bio_unmap_user	vmlinux	EXPORT_SYMBOL
+0x8467fda3	end_that_request_last	vmlinux	EXPORT_SYMBOL
+0x65c92b11	blk_complete_request	vmlinux	EXPORT_SYMBOL
+0xc35e37ea	pci_get_device	vmlinux	EXPORT_SYMBOL
+0x63ecad53	register_netdevice_notifier	vmlinux	EXPORT_SYMBOL
+0xc5facbb0	qdisc_reset	vmlinux	EXPORT_SYMBOL
+0x243c4a75	inet_stream_ops	vmlinux	EXPORT_SYMBOL
+0x6cb5d68e	hpsb_free_packet	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x47d3fc51	capi_info2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0xe49740f6	gigaset_handle_modem_response	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x93d434b4	videobuf_dma_unmap	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x9fe8ce71	srp_cmd_queue	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0xe66ff0f9	fat_fs_panic	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xcc7cff43	put_inotify_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x28ff22ac	edac_mc_free	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0x60a32ea9	pm_power_off	vmlinux	EXPORT_SYMBOL
+0xdc2adb35	add_taint	vmlinux	EXPORT_SYMBOL
+0x89b94e41	get_sb_single	vmlinux	EXPORT_SYMBOL
+0xdb97992d	dnotify_parent	vmlinux	EXPORT_SYMBOL_GPL
+0x466c14a7	__delay	vmlinux	EXPORT_SYMBOL
+0xd1539c67	__net_timestamp	vmlinux	EXPORT_SYMBOL
+0xf5c8131d	isdnhdlc_encode	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0x596b6523	fixed_mdio_set_link_update	drivers/net/phy/fixed	EXPORT_SYMBOL
+0x3350dc1a	dccp_connect	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x259b74f9	tipc_acknowledge	net/tipc/tipc	EXPORT_SYMBOL
+0x8f7aa66f	cap_inode_removexattr	security/commoncap	EXPORT_SYMBOL
+0x3d1393b2	fsstack_copy_inode_size	vmlinux	EXPORT_SYMBOL_GPL
+0x1421d263	bdput	vmlinux	EXPORT_SYMBOL
+0xd6dcbceb	bdget	vmlinux	EXPORT_SYMBOL
+0x116eac84	dquot_alloc_inode	vmlinux	EXPORT_SYMBOL
+0x51b874c0	user_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0x7dbfaf21	blk_queue_init_tags	vmlinux	EXPORT_SYMBOL
+0xdc961da3	device_initialize	vmlinux	EXPORT_SYMBOL_GPL
+0x5fdbafa6	spi_busnum_to_master	vmlinux	EXPORT_SYMBOL_GPL
+0xaa257d34	__neigh_for_each_release	vmlinux	EXPORT_SYMBOL
+0x8691989a	ide_rate_filter	vmlinux	EXPORT_SYMBOL
+0xdb2ceff8	dm_table_get	drivers/md/dm-mod	EXPORT_SYMBOL
+0x2bab60c0	nf_conntrack_untracked	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x5cfcf0f1	percpu_free	vmlinux	EXPORT_SYMBOL_GPL
+0xdc648ef1	tcf_em_register	vmlinux	EXPORT_SYMBOL
+0xc59d99fc	arp_broken_ops	vmlinux	EXPORT_SYMBOL
+0x597d399c	scsi_tgt_cmd_to_host	drivers/scsi/scsi_tgt	EXPORT_SYMBOL_GPL
+0x04a19dfb	cap_capset_set	security/commoncap	EXPORT_SYMBOL
+0x7278d328	all_vm_events	vmlinux	EXPORT_SYMBOL_GPL
+0xecf3a819	bio_init	vmlinux	EXPORT_SYMBOL
+0x24428be5	strncpy_from_user	vmlinux	EXPORT_SYMBOL
+0xde55a3c9	cdrom_ioctl	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x5a5e4a96	dm_io_async_bvec	drivers/md/dm-mod	EXPORT_SYMBOL
+0xbbae7a26	init_special_inode	vmlinux	EXPORT_SYMBOL
+0x6ffe138f	create_empty_buffers	vmlinux	EXPORT_SYMBOL
+0xfe320577	gnet_stats_copy_rate_est	vmlinux	EXPORT_SYMBOL
+0x95f78194	inet6_hash_connect	vmlinux	EXPORT_SYMBOL_GPL
+0xdbfcf457	pi_write_regr	drivers/block/paride/paride	EXPORT_SYMBOL
+0x8bcf7466	cx8802_buf_prepare	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x2bedd8a6	gss_mech_put	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x1603d77f	rpc_max_payload	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x6402aaff	release_resource	vmlinux	EXPORT_SYMBOL
+0xe517297a	__dec_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x045d74c9	__inc_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x82897f45	__mod_zone_page_state	vmlinux	EXPORT_SYMBOL
+0x911a702e	simple_attr_close	vmlinux	EXPORT_SYMBOL_GPL
+0x64ab9c1b	__ide_dma_off	vmlinux	EXPORT_SYMBOL
+0x53c0767c	sk_chk_filter	vmlinux	EXPORT_SYMBOL
+0x8a96a5a2	skb_make_writable	vmlinux	EXPORT_SYMBOL
+0xc79bcd36	dm_vcalloc	drivers/md/dm-mod	EXPORT_SYMBOL
+0xc45e0162	videobuf_read_stop	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x8f595b11	snd_major	sound/core/snd	EXPORT_SYMBOL
+0x95ee2150	rtl_ieee80211_stop_queue	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xe868af29	out_of_line_wait_on_bit_lock	vmlinux	EXPORT_SYMBOL
+0xb9603aea	vm_insert_pfn	vmlinux	EXPORT_SYMBOL
+0x4e8a4d69	brioctl_set	vmlinux	EXPORT_SYMBOL
+0x1739c81d	dvb_pll_tua6010xs	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0x8e1e980b	videobuf_waiton	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x69bcfcd1	ppp_register_compressor	drivers/net/ppp_generic	EXPORT_SYMBOL
+0x6dcf4abb	z8530_nop	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x61e0681d	cs_error	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x745ed9b2	page_symlink	vmlinux	EXPORT_SYMBOL
+0x9d8b6187	xfrm_state_alloc	vmlinux	EXPORT_SYMBOL
+0x21488ad9	fat_remove_entries	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x6ee21284	__xfrm_route_forward	vmlinux	EXPORT_SYMBOL
+0x26dcfe21	tda10046_attach	drivers/media/dvb/frontends/tda1004x	EXPORT_SYMBOL
+0xe35344d4	tda10045_attach	drivers/media/dvb/frontends/tda1004x	EXPORT_SYMBOL
+0xa5b301c8	o2hb_register_callback	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x5611e4ec	param_get_bool	vmlinux	EXPORT_SYMBOL
+0x5ad53dbc	param_set_byte	vmlinux	EXPORT_SYMBOL
+0x9c98d879	ide_acpi_get_timing	vmlinux	EXPORT_SYMBOL_GPL
+0x227ae7d3	gen_replace_estimator	vmlinux	EXPORT_SYMBOL
+0xd1e0258a	ir_codes_flyvideo	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x0bdf8d89	scsi_target_unblock	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0x1f3e2e2a	spi_bitbang_setup	drivers/spi/spi_bitbang	EXPORT_SYMBOL_GPL
+0xd1dcc2c7	sb_dsp_init	sound/oss/sb_lib	EXPORT_SYMBOL
+0x740a1b95	reserve_evntsel_nmi	vmlinux	EXPORT_SYMBOL
+0x0760c7db	init_srcu_struct	vmlinux	EXPORT_SYMBOL_GPL
+0xee46feef	acpi_get_devices	vmlinux	EXPORT_SYMBOL
+0x1b82a90e	rtc_device_unregister	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x6237f6b5	acpi_enable_event	vmlinux	EXPORT_SYMBOL
+0xd8e439bf	arp_tbl	vmlinux	EXPORT_SYMBOL
+0x9c1d2475	phy_attach	drivers/net/phy/libphy	EXPORT_SYMBOL
+0xfe6c618e	parport_ieee1284_interrupt	drivers/parport/parport	EXPORT_SYMBOL
+0x0ae47cfd	sunrpc_cache_lookup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x2466d5c1	snd_opl3_init	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x19e4cd8b	pi_read_block	drivers/block/paride/paride	EXPORT_SYMBOL
+0x0d3cfd51	rdma_translate_ip	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x4aed7682	acpiphp_unregister_attention	drivers/pci/hotplug/acpiphp	EXPORT_SYMBOL_GPL
+0x26453add	xt_unregister_match	net/netfilter/x_tables	EXPORT_SYMBOL
+0x065994f1	xdr_encode_opaque_fixed	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xad13c689	acpi_os_execute	vmlinux	EXPORT_SYMBOL
+0x4cdb4bd0	speedstep_get_processor_frequency	arch/i386/kernel/cpu/cpufreq/speedstep-lib	EXPORT_SYMBOL_GPL
+0xd81c3915	matrox_millennium	drivers/video/matrox/matroxfb_Ti3026	EXPORT_SYMBOL
+0xcd89af28	simple_transaction_get	vmlinux	EXPORT_SYMBOL
+0x28b715a6	isapnp_cfg_end	vmlinux	EXPORT_SYMBOL
+0xf94e0db2	unregister_sysrq_key	vmlinux	EXPORT_SYMBOL
+0x3ae2ea82	ide_acpi_push_timing	vmlinux	EXPORT_SYMBOL_GPL
+0xddc5fb81	drm_agp_acquire	drivers/char/drm/drm	EXPORT_SYMBOL
+0xe515c807	gigaset_freecs	drivers/isdn/gigaset/gigaset	EXPORT_SYMBOL_GPL
+0x1c932f39	RingQueue_Enqueue	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xc4064e5e	mptscsih_suspend	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xcfaf6a3e	k_handler	vmlinux	EXPORT_SYMBOL
+0xa5fa903a	platform_add_devices	vmlinux	EXPORT_SYMBOL_GPL
+0x6245f3c0	lock_sock_nested	vmlinux	EXPORT_SYMBOL
+0x274245e9	klist_node_attached	vmlinux	EXPORT_SYMBOL_GPL
+0x6e2a1870	ir_codes_adstech_dvb_t_pci	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xd3f714e5	hermes_bap_pread	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0x36e1e6ae	__nf_conntrack_find	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x6e4c9766	skb_icv_walk	vmlinux	EXPORT_SYMBOL_GPL
+0x1f651fb0	gf128mul_bbe	crypto/gf128mul	EXPORT_SYMBOL
+0xabb2bd1a	hpsb_unlisten_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x7e3acdfa	bitmap_close_sync	drivers/md/md-mod	EXPORT_SYMBOL
+0x93d45caf	usb_deregister	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL_FUTURE
+0x28b8f37f	rxrpc_put_transport	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x6b2dc060	dump_stack	vmlinux	EXPORT_SYMBOL
+0xddb12f67	vmalloc_earlyreserve	vmlinux	EXPORT_SYMBOL
+0x7240123d	mpage_writepage	vmlinux	EXPORT_SYMBOL
+0xbef56b0b	crypto_alloc_instance	vmlinux	EXPORT_SYMBOL_GPL
+0xded15bdc	acpi_bus_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x328883cd	set_cr8	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x6e456a04	hostap_master_start_xmit	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x04cda566	snd_interval_refine	sound/core/snd-pcm	EXPORT_SYMBOL
+0x0f280035	conf_printf	sound/oss/sound	EXPORT_SYMBOL
+0x037c4c15	p54_parse_firmware	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x47f7ba72	ata_dev_pair	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd5336e5d	hermes_init	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xd151918f	rtc_read_time	drivers/rtc/rtc-core	EXPORT_SYMBOL_GPL
+0x90d4b914	scsi_execute_async	drivers/scsi/scsi_mod	EXPORT_SYMBOL_GPL
+0xc4cd3b6a	nfnetlink_subsys_unregister	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xe18a8509	kobject_del	vmlinux	EXPORT_SYMBOL
+0xa3bbcd80	acpi_set_gpe_type	vmlinux	EXPORT_SYMBOL
+0xafcc383f	drm_core_reclaim_buffers	drivers/char/drm/drm	EXPORT_SYMBOL
+0x2caa2389	hpsb_unregister_protocol	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x5b66be36	flexcop_dma_config	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xcd9d9b85	unregister_console	vmlinux	EXPORT_SYMBOL
+0x84c16d22	poll_initwait	vmlinux	EXPORT_SYMBOL
+0x14d9c60a	qlogicfas408_biosparam	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0x5f4e078d	nat_callforwarding_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x796f5b40	rpc_exit_task	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa6792995	snd_ctl_find_numid	sound/core/snd	EXPORT_SYMBOL
+0xd8e484f0	register_chrdev_region	vmlinux	EXPORT_SYMBOL
+0x967fdf93	phy_disconnect	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x4900035b	o2hb_stop_all_regions	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0x396c150e	ieee80211_get_geo	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x67481767	opl3_detect	sound/oss/opl3	EXPORT_SYMBOL
+0x310917fe	sort	vmlinux	EXPORT_SYMBOL
+0xa1b6439c	netdev_state_change	vmlinux	EXPORT_SYMBOL
+0xb45b1c4f	inet_csk_reqsk_queue_prune	vmlinux	EXPORT_SYMBOL_GPL
+0xf69f2fd0	cx88_risc_buffer	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xe38a6c27	snd_gf1_i_look16	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x89fac617	struct_module	vmlinux	EXPORT_SYMBOL
+0xc8ebfa34	ib_register_mad_snoop	drivers/infiniband/core/ib_mad	EXPORT_SYMBOL
+0x18c71ef0	usb_sg_cancel	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xbce67dc0	xprt_set_timeout	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbf15a18c	snd_rawmidi_kernel_read	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xd76e891c	shrink_dcache_sb	vmlinux	EXPORT_SYMBOL
+0x7d4f42ee	nf_register_queue_handler	vmlinux	EXPORT_SYMBOL
+0x585a1935	ib_register_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x22e16cdb	pcmcia_get_status	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x78473d31	iscsi_destroy_conn	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xef56d3df	audio_devs	sound/oss/sound	EXPORT_SYMBOL
+0xc854b8fc	snd_emux_new	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0xe513afc0	cache_k8_northbridges	vmlinux	EXPORT_SYMBOL_GPL
+0x5bd01dba	default_backing_dev_info	vmlinux	EXPORT_SYMBOL_GPL
+0x968182db	blkdev_issue_flush	vmlinux	EXPORT_SYMBOL
+0xed52d96e	ipmi_unregister_for_cmd	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xf2c188ba	ib_register_event_handler	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x333bebb1	snd_seq_instr_list_free_cond	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x904936a5	ivtv_udma_alloc	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x6901ecad	find_inode_number	vmlinux	EXPORT_SYMBOL
+0x388ea4dd	generic_drop_inode	vmlinux	EXPORT_SYMBOL_GPL
+0xa5693df7	posix_acl_clone	vmlinux	EXPORT_SYMBOL
+0x344eaace	ieee80211_crypt_quiescing	net/ieee80211/ieee80211_crypt	EXPORT_SYMBOL
+0x6a390509	cap_capget	security/commoncap	EXPORT_SYMBOL
+0x56d2a9f9	vfs_permission	vmlinux	EXPORT_SYMBOL
+0x4c1423c3	unregister_con_driver	vmlinux	EXPORT_SYMBOL
+0x22659a64	get_agp_version	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xf53c2891	mpt_findImVolumes	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x23c8f257	slhc_uncompress	drivers/net/slhc	EXPORT_SYMBOL
+0x4f6cdab2	hci_unregister_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xb3038393	dccp_v4_request_recv_sock	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xbf8774c2	synth_supports_indexing	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xe1e774bc	cpu_possible_map	vmlinux	EXPORT_SYMBOL
+0xfe5d4bb2	sys_tz	vmlinux	EXPORT_SYMBOL
+0xca65fb3b	isdn_ppp_unregister_compressor	drivers/isdn/i4l/isdn	EXPORT_SYMBOL
+0x73c1b3c9	unlock_page	vmlinux	EXPORT_SYMBOL
+0xa292685b	blk_init_queue	vmlinux	EXPORT_SYMBOL
+0x21e0ea22	acpi_get_id	vmlinux	EXPORT_SYMBOL
+0x7031d97b	acpi_processor_preregister_performance	drivers/acpi/processor	EXPORT_SYMBOL
+0x61ed3b14	cx88_set_scale	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0x9410c6a0	lcd_device_register	drivers/video/backlight/lcd	EXPORT_SYMBOL
+0xa9fb135f	escape_essid	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0xb9fc3e6b	p80211netdev_rx	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0xa13798f8	printk_ratelimit	vmlinux	EXPORT_SYMBOL
+0x74043577	nf_ip_checksum	vmlinux	EXPORT_SYMBOL
+0x5c1763a0	xfrm_unregister_type	vmlinux	EXPORT_SYMBOL
+0xc3a75e80	tpm_show_pubek	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0x0f668ba9	svc_auth_unregister	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc3533517	snd_info_register	sound/core/snd	EXPORT_SYMBOL
+0x026baf42	module_put	vmlinux	EXPORT_SYMBOL
+0xc01eed33	__copy_from_user_ll_nozero	vmlinux	EXPORT_SYMBOL
+0x5ea9051a	neigh_compat_output	vmlinux	EXPORT_SYMBOL
+0x7c5cec98	_snd_pcm_hw_params_any	sound/core/snd-pcm	EXPORT_SYMBOL
+0xbaadbd11	__wake_up	vmlinux	EXPORT_SYMBOL
+0x927c2f0a	inode_get_bytes	vmlinux	EXPORT_SYMBOL
+0xff03752f	acpi_install_address_space_handler	vmlinux	EXPORT_SYMBOL
+0xd2c8554f	ipmi_register_for_cmd	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x478aaf6d	videobuf_dqbuf	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x49365696	__nf_conntrack_attach	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xd7c631e8	vfs_mkdir	vmlinux	EXPORT_SYMBOL
+0x4dc3f663	dev_driver_string	vmlinux	EXPORT_SYMBOL
+0x718daf31	mpt_free_msg_frame	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x117ade16	srp_iu_put	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x8d93b43c	srp_iu_get	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0x2e7b3a86	irias_new_object	net/irda/irda	EXPORT_SYMBOL
+0x1b6f7089	nf_conntrack_helper_unregister	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0cc82a6c	rxrpc_del_service	net/rxrpc/rxrpc	EXPORT_SYMBOL
+0x01139ffc	max_mapnr	vmlinux	EXPORT_SYMBOL
+0xe028b599	ipmi_user_set_run_to_completion	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0xd861cef0	usbvideo_AllocateDevice	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0x9cfd56c5	scsi_print_status	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x6d5bb714	usb_driver_claim_interface	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x08acf310	tipc_available_nodes	net/tipc/tipc	EXPORT_SYMBOL
+0x865e1b56	dvb_pll_lg_z201	drivers/media/dvb/frontends/dvb-pll	EXPORT_SYMBOL
+0xe6eb717a	iscsi_conn_failure	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0x715b9e68	snd_opl3_reset	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x01a4ea6d	unregister_die_notifier	vmlinux	EXPORT_SYMBOL
+0x3a7f8b86	__local_bh_enable	vmlinux	EXPORT_SYMBOL_GPL
+0xc0e41394	iunique	vmlinux	EXPORT_SYMBOL
+0x514cdfb1	inotify_find_update_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x5985c776	securityfs_create_dir	vmlinux	EXPORT_SYMBOL_GPL
+0x77ad6075	usb_find_device	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xd7402074	usb_get_dev	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x3e4c2827	mb_cache_create	fs/mbcache	EXPORT_SYMBOL
+0x51627dbd	dccp_insert_option	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x95147956	ieee80211_set_geo	net/ieee80211/ieee80211	EXPORT_SYMBOL
+0x75f16533	snd_pcm_mmap_data	sound/core/snd-pcm	EXPORT_SYMBOL
+0x5fbda7a0	wiphy_new	ubuntu/net/wireless/cfg80211	EXPORT_SYMBOL
+0xd055f5ce	blk_alloc_queue	vmlinux	EXPORT_SYMBOL
+0x3c917fae	input_release_device	vmlinux	EXPORT_SYMBOL
+0xb1ce073f	inet_dgram_ops	vmlinux	EXPORT_SYMBOL
+0xeed72d56	ata_id_to_dma_mode	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x66dc48e3	dm_io_sync_bvec	drivers/md/dm-mod	EXPORT_SYMBOL
+0x387cb6d1	scsi_put_command	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x686de290	restore_vga	drivers/video/vgastate	EXPORT_SYMBOL
+0xb142fb5b	w1_write_8	drivers/w1/wire	EXPORT_SYMBOL_GPL
+0xd5263820	mb_cache_destroy	fs/mbcache	EXPORT_SYMBOL
+0x35f27744	snd_ac97_tune_hardware	sound/pci/ac97/snd-ac97-codec	EXPORT_SYMBOL
+0xf4f6567d	proc_doulongvec_minmax	vmlinux	EXPORT_SYMBOL
+0x99bfbe39	get_unused_fd	vmlinux	EXPORT_SYMBOL
+0x0903c239	vid_from_reg	drivers/hwmon/hwmon-vid	EXPORT_SYMBOL
+0x7582a5c4	proc_net_eicon	drivers/isdn/hardware/eicon/divadidd	EXPORT_SYMBOL
+0xbae000a2	make_checksum	net/sunrpc/auth_gss/auth_rpcgss	EXPORT_SYMBOL
+0x46248c57	uart401intr	sound/oss/uart401	EXPORT_SYMBOL
+0x2cbf0770	shrink_submounts	vmlinux	EXPORT_SYMBOL_GPL
+0x3cd65242	simple_attr_open	vmlinux	EXPORT_SYMBOL_GPL
+0x6dcf00dd	device_resume	vmlinux	EXPORT_SYMBOL_GPL
+0x99a3cbdc	hwmon_device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x13a3eace	tcp_proc_unregister	vmlinux	EXPORT_SYMBOL
+0xfc1883b5	gameport_cooked_read	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0x83c8a328	isac_setup	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0xdb400afa	midi_synth_panning	sound/oss/sound	EXPORT_SYMBOL
+0x205673a3	ieee80211_netif_oper	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xcc7fa952	local_bh_enable_ip	vmlinux	EXPORT_SYMBOL
+0x85c10896	rcu_batches_completed_bh	vmlinux	EXPORT_SYMBOL_GPL
+0x1d27bbf0	dvb_usb_generic_rw	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xf4ca7e5c	usb_root_hub_lost_power	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xb9e1153f	sysctl_dccp_feat_sequence_window	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x57f2b9e0	ad1848_detect	sound/oss/ad1848	EXPORT_SYMBOL
+0x3167ea19	global_flush_tlb	vmlinux	EXPORT_SYMBOL
+0xd0702412	console_stop	vmlinux	EXPORT_SYMBOL
+0xb429410a	posix_acl_from_mode	vmlinux	EXPORT_SYMBOL
+0xb1e95d32	udp_poll	vmlinux	EXPORT_SYMBOL
+0x5cf6c728	dibusb_pid_filter	drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common	EXPORT_SYMBOL
+0x189a3964	pci_hp_deregister	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0x54c9c56f	device_pm_set_parent	vmlinux	EXPORT_SYMBOL_GPL
+0xd84b253e	cpufreq_gov_performance	vmlinux	EXPORT_SYMBOL
+0x7a9fa44a	rdma_copy_addr	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x093e21ac	ib_find_cached_pkey	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x459ce8f1	b1_load_config	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x65cff2af	i2o_msg_post_wait_mem	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x6762533d	inet6_getname	net/ipv6/ipv6	EXPORT_SYMBOL
+0x03c9bc12	nf_conntrack_tuple_taken	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x0ebe03d1	unregister_wan_device	net/wanrouter/wanrouter	EXPORT_SYMBOL
+0xf1d7c406	snd_device_register	sound/core/snd	EXPORT_SYMBOL
+0x886d2747	synth_full_time	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x6484c58e	new_inode	vmlinux	EXPORT_SYMBOL
+0x33d78440	debugfs_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x4fdc945d	sata_deb_timing_normal	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xd415ace6	register_mtd_user	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x498053de	xdr_encode_word	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xa1d6258e	auth_domain_find	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9504ec64	idr_get_new	vmlinux	EXPORT_SYMBOL
+0xaaebe34f	mca_write_pos	vmlinux	EXPORT_SYMBOL
+0x183e19fc	snd_ctl_find_id	sound/core/snd	EXPORT_SYMBOL
+0x05025d00	tty_register_driver	vmlinux	EXPORT_SYMBOL
+0xfe769456	unregister_netdevice_notifier	vmlinux	EXPORT_SYMBOL
+0xfb80340d	genl_unregister_family	vmlinux	EXPORT_SYMBOL
+0xd1178711	ipmi_get_maintenance_mode	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x04e133fc	iTCO_vendor_check_noreboot_on	drivers/char/watchdog/iTCO_vendor_support	EXPORT_SYMBOL
+0x8b70fb0c	mmc_suspend_host	drivers/mmc/core/mmc_core	EXPORT_SYMBOL
+0x7f284afe	debugfs_create_u32	vmlinux	EXPORT_SYMBOL_GPL
+0x3b87f1d9	kset_unregister	vmlinux	EXPORT_SYMBOL
+0x1ef6782a	driver_remove_file	vmlinux	EXPORT_SYMBOL_GPL
+0x6875005c	hpsb_unregister_addrspace	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x0d65163c	z8530_shutdown	drivers/net/wan/z85230	EXPORT_SYMBOL
+0x6a8441be	cpci_hp_start	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xf202f537	_read_unlock	vmlinux	EXPORT_SYMBOL
+0xf8f23f6b	llc_build_and_send_ui_pkt	vmlinux	EXPORT_SYMBOL
+0x7e9b9a67	i2c_isa_add_driver	drivers/i2c/busses/i2c-isa	EXPORT_SYMBOL
+0x64288f07	hostap_remove_interface	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0x0ef06974	spi_populate_ppr_msg	drivers/scsi/scsi_transport_spi	EXPORT_SYMBOL_GPL
+0xf39b7fe0	irda_setup_dma	net/irda/irda	EXPORT_SYMBOL
+0xd36f7bb0	__tasklet_hi_schedule	vmlinux	EXPORT_SYMBOL
+0x53326531	mempool_alloc_pages	vmlinux	EXPORT_SYMBOL
+0xaf97e9cd	user_read	vmlinux	EXPORT_SYMBOL_GPL
+0x9a192f2d	inet_csk_reset_keepalive_timer	vmlinux	EXPORT_SYMBOL
+0x2f152d54	ttpci_budget_debiwrite	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x6baa0be7	videobuf_vmalloc_to_sg	drivers/media/video/video-buf	EXPORT_SYMBOL_GPL
+0x99b6c3a8	__alloc_ei_netdev	drivers/net/8390	EXPORT_SYMBOL
+0xa94f0ee6	dccp_tx_hist_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x995cba09	rpcauth_free_credcache	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x453ff1b6	cdev_del	vmlinux	EXPORT_SYMBOL
+0xf56a3962	zlib_inflateReset	vmlinux	EXPORT_SYMBOL
+0xd84341d2	unregister_acpi_bus_type	vmlinux	EXPORT_SYMBOL
+0x5c229c77	__inet_twsk_kill	vmlinux	EXPORT_SYMBOL_GPL
+0xbfcf44ca	arp_send	vmlinux	EXPORT_SYMBOL
+0x779e3f22	matroxfb_wait_for_sync	drivers/video/matrox/matroxfb_base	EXPORT_SYMBOL
+0x809cfde4	xt_register_matches	net/netfilter/x_tables	EXPORT_SYMBOL
+0x63bd77e4	read_bytes_from_xdr_buf	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x4b8446fa	rwsem_wake	vmlinux	EXPORT_SYMBOL
+0x1b7cc335	ide_setup_dma	vmlinux	EXPORT_SYMBOL_GPL
+0x3345315e	dev_alloc_name	vmlinux	EXPORT_SYMBOL
+0x206805ad	pneigh_enqueue	vmlinux	EXPORT_SYMBOL
+0xed93c0d6	ib_copy_qp_attr_to_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0xeb63a3f1	ib_copy_ah_attr_to_user	drivers/infiniband/core/ib_uverbs	EXPORT_SYMBOL
+0x65bfa15f	raid_component_add	drivers/scsi/raid_class	EXPORT_SYMBOL
+0x5a397746	soft_cursor	drivers/video/console/softcursor	EXPORT_SYMBOL
+0xb651ad7c	dccp_parse_options	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xf3c15760	ssb_driver_unregister	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x90cd23ac	pnp_find_card	vmlinux	EXPORT_SYMBOL
+0x3ae643f7	hisax_init_pcmcia	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x83a18566	pcmcia_release_window	drivers/pcmcia/pcmcia	EXPORT_SYMBOL
+0x21be094c	snd_ice1712_akm4xxx_free	sound/pci/ice1712/snd-ice17xx-ak4xxx	EXPORT_SYMBOL
+0x283fd973	blk_queue_bounce	vmlinux	EXPORT_SYMBOL
+0x5fe7cd20	isa_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x269999ab	dma_async_memcpy_buf_to_pg	vmlinux	EXPORT_SYMBOL
+0x29562993	b1pcmcia_delcard	drivers/isdn/hardware/avm/b1pcmcia	EXPORT_SYMBOL
+0x7a1f63ee	dm_unregister_target	drivers/md/dm-mod	EXPORT_SYMBOL
+0xb6cbb041	svc_addsock	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x8c97a7db	__vm_enough_memory	vmlinux	EXPORT_SYMBOL
+0x7df03810	read_dev_sector	vmlinux	EXPORT_SYMBOL
+0x57a20ff0	pci_dev_put	vmlinux	EXPORT_SYMBOL
+0x9b9c4d64	pci_dev_get	vmlinux	EXPORT_SYMBOL
+0x3145216f	pci_dev_present	vmlinux	EXPORT_SYMBOL
+0x547645b3	ata_sas_port_destroy	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x7a33d9bd	dvb_dmx_release	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x3fb9d453	snd_seq_device_register_driver	sound/core/seq/snd-seq-device	EXPORT_SYMBOL
+0x4cd01bdd	num_audiodevs	sound/oss/sound	EXPORT_SYMBOL
+0x60a4461c	__up_wakeup	vmlinux	EXPORT_SYMBOL
+0x0e8512af	srp_target_free	drivers/scsi/libsrp	EXPORT_SYMBOL_GPL
+0xb9d414f0	usb_ifnum_to_if	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xff34b98e	journal_create	fs/jbd/jbd	EXPORT_SYMBOL
+0xf4f52f93	dqstats	vmlinux	EXPORT_SYMBOL
+0xd89c9319	paride_unregister	drivers/block/paride/paride	EXPORT_SYMBOL
+0x337f7172	cdrom_mode_sense	drivers/cdrom/cdrom	EXPORT_SYMBOL
+0x8ae216a2	RingQueue_Flush	drivers/media/video/usbvideo/usbvideo	EXPORT_SYMBOL
+0xd5f77db3	phy_device_create	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x10c78988	z8530_dead_port	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xc2bedd40	mb_cache_entry_release	fs/mbcache	EXPORT_SYMBOL
+0x3ac9f331	inet6_destroy_sock	net/ipv6/ipv6	EXPORT_SYMBOL_GPL
+0xe9d58deb	hashbin_lock_find	net/irda/irda	EXPORT_SYMBOL
+0xe463e800	svc_makesock	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x43e56d2d	snd_rawmidi_transmit	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0xd6d6e3d4	ib_query_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xe8ad9bd1	capi_cmsg2str	drivers/isdn/capi/kernelcapi	EXPORT_SYMBOL
+0x1879e88c	iscsi_conn_send_pdu	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xed1d1a68	usb_gadget_unregister_driver	drivers/usb/gadget/net2280	EXPORT_SYMBOL
+0x496e78f3	kern_mount	vmlinux	EXPORT_SYMBOL
+0xbd5dcbd5	vfs_listxattr	vmlinux	EXPORT_SYMBOL_GPL
+0xd5688a7a	radix_tree_insert	vmlinux	EXPORT_SYMBOL
+0x2a42c4de	pfifo_qdisc_ops	vmlinux	EXPORT_SYMBOL
+0x18a91df0	nf_register_hooks	vmlinux	EXPORT_SYMBOL
+0xa1dbc2d8	ip_vs_proto_name	net/ipv4/ipvs/ip_vs	EXPORT_SYMBOL
+0x25b95046	inet6_unregister_protosw	net/ipv6/ipv6	EXPORT_SYMBOL
+0x01ca1498	snd_ak4531_suspend	sound/pci/ac97/snd-ak4531-codec	EXPORT_SYMBOL
+0x60a00114	rt2x00lib_load_firmware	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0xe2fae716	kmemdup	vmlinux	EXPORT_SYMBOL
+0x43828795	bmap	vmlinux	EXPORT_SYMBOL
+0x96689134	get_inotify_watch	vmlinux	EXPORT_SYMBOL_GPL
+0x3091c376	key_put	vmlinux	EXPORT_SYMBOL
+0x8c1a4c3d	uart_add_one_port	vmlinux	EXPORT_SYMBOL
+0x09952fa7	qdisc_create_dflt	vmlinux	EXPORT_SYMBOL
+0x87cbb174	sata_phy_debounce	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xab119bfe	drm_agp_info	drivers/char/drm/drm	EXPORT_SYMBOL
+0xa9e652d9	ib_dispatch_event	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x33b3b664	v4l2_video_std_construct	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x02cea2ca	usbnet_defer_kevent	drivers/usb/net/usbnet	EXPORT_SYMBOL_GPL
+0xedd778ff	gfs2_withdraw_lockproto	fs/gfs2/gfs2	EXPORT_SYMBOL_GPL
+0xa0b81159	dccp_v4_do_rcv	net/dccp/dccp_ipv4	EXPORT_SYMBOL_GPL
+0xb8e448a0	snd_seq_set_queue_tempo	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x5ae51dd3	ieee80211_tx_status	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xd4aa5b72	trc_fsync	/usr/lpp/mmfs/src/gpl-linux/tracedev	EXPORT_SYMBOL
+0x5a8f421e	node_online_map	vmlinux	EXPORT_SYMBOL
+0x46cedcde	fx_init	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x5e13d80a	hostap_get_porttype	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xe32015fd	rtc_merge_alarm	drivers/rtc/rtc-lib	EXPORT_SYMBOL
+0xa3d2068b	dccp_sync_mss	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x783bbbd6	register_sysrq_key	vmlinux	EXPORT_SYMBOL
+0x53c3152b	tcp_register_congestion_control	vmlinux	EXPORT_SYMBOL_GPL
+0xeed74952	nf_conntrack_alloc	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xc077c0fe	__ssb_driver_register	ubuntu/ssb/ssb	EXPORT_SYMBOL
+0x5d46b12f	do_munmap	vmlinux	EXPORT_SYMBOL
+0xdc27c26a	neigh_table_clear	vmlinux	EXPORT_SYMBOL
+0x89e1a26a	tcp_connect	vmlinux	EXPORT_SYMBOL
+0x23488e04	stv0299_attach	drivers/media/dvb/frontends/stv0299	EXPORT_SYMBOL
+0xc35c1165	pci_fixup_device	vmlinux	EXPORT_SYMBOL
+0x75e95f00	xfrm_state_flush	vmlinux	EXPORT_SYMBOL
+0xf8b8c12a	xfrm_aalg_get_byname	vmlinux	EXPORT_SYMBOL_GPL
+0xf6c8656a	ib_dealloc_pd	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x846b947d	fat_flush_inodes	fs/fat/fat	EXPORT_SYMBOL_GPL
+0xd0b9b8b8	snd_interval_list	sound/core/snd-pcm	EXPORT_SYMBOL
+0x09c55cec	schedule_timeout_interruptible	vmlinux	EXPORT_SYMBOL
+0xd54b4782	setlease	vmlinux	EXPORT_SYMBOL
+0xd5c2caaf	xfrm_policy_unregister_afinfo	vmlinux	EXPORT_SYMBOL
+0x7bb93462	xfrm_find_acq_byseq	vmlinux	EXPORT_SYMBOL
+0x96470cab	ir_codes_cinergy	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xb3b1dc32	snd_vx_load_boot_image	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x50855c83	snd_trident_write_voice_regs	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x1ace138d	bitmap_allocate_region	vmlinux	EXPORT_SYMBOL
+0x5fef1b4a	v4l2_ctrl_query_fill_std	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0xf7c37dc2	hdlc_ioctl	drivers/net/wan/hdlc	EXPORT_SYMBOL
+0x4f159666	ebt_register_target	net/bridge/netfilter/ebtables	EXPORT_SYMBOL
+0x36eae629	dccp_li_hist_new	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0xbb5d343d	xfrm_get_acqseq	vmlinux	EXPORT_SYMBOL
+0xa437df2e	ib_send_cm_rej	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x99651c80	ib_send_cm_rtu	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xd8ad13b7	ib_send_cm_rep	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0x9f3c3a42	ib_send_cm_req	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xc7c736ea	hdlcdrv_arbitrate	drivers/net/hamradio/hdlcdrv	EXPORT_SYMBOL
+0xe6e77eaa	__scsi_iterate_devices	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x82fd2a56	hci_alloc_dev	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xaa4350e7	blk_queue_bounce_limit	vmlinux	EXPORT_SYMBOL
+0x4e7e3dbc	platform_bus	vmlinux	EXPORT_SYMBOL_GPL
+0x95628315	spi_register_driver	vmlinux	EXPORT_SYMBOL_GPL
+0x6b9e1d00	cx88_wakeup	drivers/media/video/cx88/cx88xx	EXPORT_SYMBOL
+0xac5829d1	svc_reserve	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xbd69e79b	rtl_ieee80211_softmac_stop_protocol	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x54324f95	ioread16_rep	vmlinux	EXPORT_SYMBOL
+0x06fe3b14	default_grn	vmlinux	EXPORT_SYMBOL
+0x1e3f6a7a	skb_abort_seq_read	vmlinux	EXPORT_SYMBOL
+0xd905a3bc	netpoll_setup	vmlinux	EXPORT_SYMBOL
+0xcf61f4d9	ata_port_probe	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xce9c0cda	nand_scan_ident	drivers/mtd/nand/nand	EXPORT_SYMBOL_GPL
+0x2b0ba2b0	scsi_sense_desc_find	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x843345cf	journal_destroy	fs/jbd/jbd	EXPORT_SYMBOL
+0x2c79ba2b	journal_restart	fs/jbd/jbd	EXPORT_SYMBOL
+0x5208361d	snd_ice1712_akm4xxx_init	sound/pci/ice1712/snd-ice17xx-ak4xxx	EXPORT_SYMBOL
+0xb18ae5b6	dequeue_signal	vmlinux	EXPORT_SYMBOL_GPL
+0xf32d2678	schedule_work	vmlinux	EXPORT_SYMBOL
+0xe964ada0	alloc_disk_node	vmlinux	EXPORT_SYMBOL
+0x2da55156	rtnl_unicast	vmlinux	EXPORT_SYMBOL
+0xaecb5d2f	tcp_setsockopt	vmlinux	EXPORT_SYMBOL
+0xd6a3e999	tcp_getsockopt	vmlinux	EXPORT_SYMBOL
+0xe6a2f517	dvb_usb_tuner_init_i2c	drivers/media/dvb/dvb-usb/dvb-usb	EXPORT_SYMBOL
+0xa8a04fa6	ves1820_attach	drivers/media/dvb/frontends/ves1820	EXPORT_SYMBOL
+0x45937659	doc_decode_ecc	drivers/mtd/devices/docecc	EXPORT_SYMBOL_GPL
+0x1d79e4b0	hostap_setup_dev	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xe55ac15a	inet6_ioctl	net/ipv6/ipv6	EXPORT_SYMBOL
+0x6ef8fcd8	snd_pcm_format_linear	sound/core/snd-pcm	EXPORT_SYMBOL
+0x510f560c	ieee80211_rate_control_unregister	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0xa73baf4a	sysdev_driver_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xbba27749	agp_generic_destroy_page	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x5785e315	ac97_release_codec	sound/oss/ac97_codec	EXPORT_SYMBOL
+0x5514b91b	snd_trident_synth_copy_from_user	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x76e7c2ef	atomic_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x9604be9f	compute_creds	vmlinux	EXPORT_SYMBOL
+0x0a173c94	xfrm_bundle_ok	vmlinux	EXPORT_SYMBOL
+0x0067df75	ata_tf_from_fis	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x965c1dae	ib_ud_header_init	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x1febe00d	cx8800_ctrl_query	drivers/media/video/cx88/cx8800	EXPORT_SYMBOL
+0x031ba3cf	tveeprom_hauppauge_analog	drivers/media/video/tveeprom	EXPORT_SYMBOL
+0xbf60f929	ip6t_register_table	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0x9ee1484d	nsc_gpio_dump	drivers/char/nsc_gpio	EXPORT_SYMBOL
+0x18e6e68c	hpsb_listen_channel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xdee8c872	cx22702_attach	drivers/media/dvb/frontends/cx22702	EXPORT_SYMBOL
+0x1f9a33ed	backlight_device_unregister	drivers/video/backlight/backlight	EXPORT_SYMBOL
+0x2d8d23c5	ide_setup_pci_noise	vmlinux	EXPORT_SYMBOL_GPL
+0x4db7d36a	nf_unregister_hook	vmlinux	EXPORT_SYMBOL
+0xfc02b7ad	sysctl_tcp_wmem	vmlinux	EXPORT_SYMBOL
+0xb04f35ef	ipmi_get_my_address	drivers/char/ipmi/ipmi_msghandler	EXPORT_SYMBOL
+0x9df0cd27	FsmEvent	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x86d594bf	unregister_mtd_user	drivers/mtd/mtdcore	EXPORT_SYMBOL_GPL
+0x3db2744f	dccp_recvmsg	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0x72991449	put_pid	vmlinux	EXPORT_SYMBOL_GPL
+0xde75b689	set_irq_type	vmlinux	EXPORT_SYMBOL
+0x20fc3d44	probe_hwif_init	vmlinux	EXPORT_SYMBOL
+0xc331ae7b	scm_detach_fds	vmlinux	EXPORT_SYMBOL
+0xae7b073f	tcp_twsk_destructor	vmlinux	EXPORT_SYMBOL_GPL
+0xf6478927	md_write_end	drivers/md/md-mod	EXPORT_SYMBOL
+0x76c1ad3a	hostap_set_antsel	drivers/net/wireless/hostap/hostap	EXPORT_SYMBOL
+0xc9ee1527	snd_seq_instr_list_new	sound/core/seq/snd-seq-instr	EXPORT_SYMBOL
+0x96b27088	__down_failed	vmlinux	EXPORT_SYMBOL
+0x9f5f63ce	tty_insert_flip_string	vmlinux	EXPORT_SYMBOL
+0x1149901f	driver_find_device	vmlinux	EXPORT_SYMBOL_GPL
+0x4fa28c55	edac_mc_handle_ce	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xa9f9e338	blk_get_request	vmlinux	EXPORT_SYMBOL
+0xfba0c2e0	llc_sap_list_lock	vmlinux	EXPORT_SYMBOL
+0x0cc67f95	hpsb_protocol_class	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x093e3659	get_default_font	drivers/video/console/font	EXPORT_SYMBOL
+0xafc922e1	nf_nat_proto_find_get	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0x74afd69c	unload_sbmpu	sound/oss/sb_lib	EXPORT_SYMBOL
+0x51e354b2	sound_alloc_timerdev	sound/oss/sound	EXPORT_SYMBOL
+0x1b3df3cf	sound_alloc_mixerdev	sound/oss/sound	EXPORT_SYMBOL
+0x1cd8c21d	unregister_wlandev	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x2005e68a	acpi_remove_fixed_event_handler	vmlinux	EXPORT_SYMBOL
+0x6fef6afb	xfrm_ealg_get_byid	vmlinux	EXPORT_SYMBOL_GPL
+0x7679ee76	seq_copy_to_input	sound/oss/sound	EXPORT_SYMBOL
+0xf01fb863	congestion_end	vmlinux	EXPORT_SYMBOL
+0xd53e1302	cpufreq_frequency_table_target	drivers/cpufreq/freq_table	EXPORT_SYMBOL_GPL
+0x3f1a4975	nf_nat_port_range_to_nfattr	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL_GPL
+0xeca95329	nfnetlink_has_listeners	net/netfilter/nfnetlink	EXPORT_SYMBOL_GPL
+0xafff6103	_write_lock	vmlinux	EXPORT_SYMBOL
+0xea1c0eb6	relay_buf_full	vmlinux	EXPORT_SYMBOL_GPL
+0xdc08adc8	misc_deregister	vmlinux	EXPORT_SYMBOL
+0x282e21e4	ide_dma_speed	vmlinux	EXPORT_SYMBOL
+0x36cc396e	i2o_driver_notify_device_add_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x4ef35b64	snd_pcm_suspend_all	sound/core/snd-pcm	EXPORT_SYMBOL
+0x9bdaf24d	midi_synth_start_note	sound/oss/sound	EXPORT_SYMBOL
+0x9c012508	fb_parse_edid	vmlinux	EXPORT_SYMBOL
+0x3e45e9ff	register_inetaddr_notifier	vmlinux	EXPORT_SYMBOL
+0x9ec80bf7	inet6_bind	net/ipv6/ipv6	EXPORT_SYMBOL
+0x7afc9d8a	unregister_sound_mixer	sound/soundcore	EXPORT_SYMBOL
+0xe470dc95	devres_get	vmlinux	EXPORT_SYMBOL_GPL
+0x8e2ec3cb	devres_add	vmlinux	EXPORT_SYMBOL_GPL
+0x2dcacb5f	parport_pc_unregister_port	drivers/parport/parport_pc	EXPORT_SYMBOL
+0x2a145186	journal_wipe	fs/jbd/jbd	EXPORT_SYMBOL
+0x7888efc7	snd_pcm_lib_write	sound/core/snd-pcm	EXPORT_SYMBOL
+0xde40a794	generic_writepages	vmlinux	EXPORT_SYMBOL
+0x7485e15e	unregister_chrdev_region	vmlinux	EXPORT_SYMBOL
+0x00f45a97	pci_set_mwi	vmlinux	EXPORT_SYMBOL
+0xac40b1ff	lgdt330x_attach	drivers/media/dvb/frontends/lgdt330x	EXPORT_SYMBOL
+0x267c8181	onenand_scan	drivers/mtd/onenand/onenand	EXPORT_SYMBOL_GPL
+0x424cc49b	pcmcia_parse_events	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x62592d11	fc_host_post_vendor_event	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x9673235f	bt_accept_enqueue	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x25d81960	posix_acl_equiv_mode	vmlinux	EXPORT_SYMBOL
+0x82888f86	register_8022_client	vmlinux	EXPORT_SYMBOL
+0x50e1b7f5	bcm3510_attach	drivers/media/dvb/frontends/bcm3510	EXPORT_SYMBOL
+0x05447bf6	dccp_feat_init	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xef1d4072	rt2x00lib_set_multicast_list	ubuntu/wireless/rt2x00/rt2x00lib	EXPORT_SYMBOL_GPL
+0x2241a928	ioread32	vmlinux	EXPORT_SYMBOL
+0x386c4a61	xtime_lock	vmlinux	EXPORT_SYMBOL
+0xe6759ae8	permission	vmlinux	EXPORT_SYMBOL
+0x32018764	gnet_stats_copy_basic	vmlinux	EXPORT_SYMBOL
+0x025af62b	module_remove_driver	vmlinux	EXPORT_SYMBOL
+0x175e5db8	crypto_alg_sem	vmlinux	EXPORT_SYMBOL_GPL
+0x3eec5b45	ip_cmsg_recv	vmlinux	EXPORT_SYMBOL
+0x3be01476	inet_sendmsg	vmlinux	EXPORT_SYMBOL
+0xcbefef25	hidinput_report_event	drivers/hid/hid	EXPORT_SYMBOL_GPL
+0x0535d72f	cx2341x_log_status	drivers/media/video/cx2341x	EXPORT_SYMBOL
+0x301d38df	tveeprom_read	drivers/media/video/tveeprom	EXPORT_SYMBOL
+0x62fddb77	videocodec_attach	drivers/media/video/videocodec	EXPORT_SYMBOL
+0xb53ae573	cpu_idle_wait	vmlinux	EXPORT_SYMBOL_GPL
+0x2cfcba0a	cpu_sibling_map	vmlinux	EXPORT_SYMBOL
+0x932da67e	kill_proc	vmlinux	EXPORT_SYMBOL
+0x349f20fe	pci_unblock_user_cfg_access	vmlinux	EXPORT_SYMBOL_GPL
+0x54935666	acpi_os_read_port	vmlinux	EXPORT_SYMBOL
+0x6cca0c5a	inverse_translate	vmlinux	EXPORT_SYMBOL
+0xba2a60d3	alloc_fddidev	vmlinux	EXPORT_SYMBOL
+0x19cf542d	t1pci_detect	drivers/isdn/hardware/avm/b1dma	EXPORT_SYMBOL
+0xee3263da	read_dst	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x5175c0f0	NCR_700_intr	drivers/scsi/53c700	EXPORT_SYMBOL
+0x997bdfc4	rpc_call_async	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xeb4e8499	snd_hda_codec_new	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xb19c1ad7	unregister_exec_domain	vmlinux	EXPORT_SYMBOL
+0x89d5538d	fb_pad_aligned_buffer	vmlinux	EXPORT_SYMBOL
+0x760b437a	unregister_inetaddr_notifier	vmlinux	EXPORT_SYMBOL
+0xad2fe38b	btcx_sort_clips	drivers/media/video/btcx-risc	EXPORT_SYMBOL
+0xca87b0d1	scsi_device_cancel	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x1eb922a3	IO_APIC_get_PCI_irq_vector	vmlinux	EXPORT_SYMBOL
+0x59ca69dc	interruptible_sleep_on_timeout	vmlinux	EXPORT_SYMBOL
+0xb5c24311	agp_generic_mask_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xa1d5f04f	load_mixer_volumes	sound/oss/sound	EXPORT_SYMBOL
+0x2cd7da6c	param_set_charp	vmlinux	EXPORT_SYMBOL
+0x3b8be29d	zlib_inflateInit2	vmlinux	EXPORT_SYMBOL
+0xe93cc1b3	acpi_extract_package	vmlinux	EXPORT_SYMBOL
+0xdf401953	sock_no_bind	vmlinux	EXPORT_SYMBOL
+0x2830ec18	sock_get_timestamp	vmlinux	EXPORT_SYMBOL
+0x13c5428b	netlink_ack	vmlinux	EXPORT_SYMBOL
+0xddbb5dea	iscsi_register_transport	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0xb70fbe06	nfs4_acl_free	fs/nfsd/nfsd	EXPORT_SYMBOL
+0x228fed5d	snd_cs4236_ext_out	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xfe6a43ef	bio_free	vmlinux	EXPORT_SYMBOL
+0xc401094a	ata_pci_clear_simplex	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xa4ccde62	snd_gf1_ctrl_stop	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0xef1c781c	vid_which_vrm	drivers/hwmon/hwmon-vid	EXPORT_SYMBOL
+0xfd47ef06	dmam_alloc_noncoherent	vmlinux	EXPORT_SYMBOL
+0xc2369fd5	transport_destroy_device	vmlinux	EXPORT_SYMBOL_GPL
+0x76b45850	nf_log_unregister_pf	vmlinux	EXPORT_SYMBOL
+0x942892ab	v4l2_prio_open	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x1a9d334a	orinoco_interrupt	drivers/net/wireless/orinoco	EXPORT_SYMBOL
+0x13e336ea	ircomm_connect_response	net/irda/ircomm/ircomm	EXPORT_SYMBOL
+0x8df3789f	snd_oss_info_register	sound/core/snd	EXPORT_SYMBOL
+0xaec4759f	vprintk	vmlinux	EXPORT_SYMBOL
+0xb392f570	tty_unregister_device	vmlinux	EXPORT_SYMBOL
+0xc5e1077f	mca_device_write_pos	vmlinux	EXPORT_SYMBOL
+0x77c632e1	ohci1394_register_iso_tasklet	drivers/ieee1394/ohci1394	EXPORT_SYMBOL
+0x4c67094d	generic_splice_sendpage	vmlinux	EXPORT_SYMBOL
+0x782b0008	vsprintf	vmlinux	EXPORT_SYMBOL
+0xe617339a	tcp_poll	vmlinux	EXPORT_SYMBOL
+0xc3aaf0a9	__put_user_1	vmlinux	EXPORT_SYMBOL
+0xd16ac615	__get_user_1	vmlinux	EXPORT_SYMBOL
+0xe81f86dd	rt_mutex_lock_interruptible	vmlinux	EXPORT_SYMBOL_GPL
+0x093e947e	posix_acl_create_masq	vmlinux	EXPORT_SYMBOL
+0x92676d5b	register_key_type	vmlinux	EXPORT_SYMBOL
+0xd0991ec4	attribute_container_find_class_device	vmlinux	EXPORT_SYMBOL_GPL
+0x4641bd7d	arcnet_interrupt	drivers/net/arcnet/arcnet	EXPORT_SYMBOL
+0xf82f1109	utf8_wctomb	vmlinux	EXPORT_SYMBOL
+0x101bece7	class_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0xa1de1341	synth_buff_in	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x50d608d2	rtl_ieee80211_rx_mgt	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x168eae00	set_cpus_allowed	vmlinux	EXPORT_SYMBOL_GPL
+0x29a563a6	redirty_page_for_writepage	vmlinux	EXPORT_SYMBOL
+0x47aab3c3	wait_on_sync_kiocb	vmlinux	EXPORT_SYMBOL
+0xf7467191	blk_queue_max_sectors	vmlinux	EXPORT_SYMBOL
+0x92f58c48	pnp_unregister_driver	vmlinux	EXPORT_SYMBOL
+0x9c1ed176	snd_rawmidi_output_params	sound/core/snd-rawmidi	EXPORT_SYMBOL
+0x13d9d037	wlan_setup	ubuntu/wireless/prism2/p80211/p80211	EXPORT_SYMBOL
+0x3b922624	audit_log_end	vmlinux	EXPORT_SYMBOL
+0xdc139466	vfs_set_dqinfo	vmlinux	EXPORT_SYMBOL
+0xa941907e	vfs_get_dqinfo	vmlinux	EXPORT_SYMBOL
+0xd2df01b4	sk_stream_kill_queues	vmlinux	EXPORT_SYMBOL
+0x85d37490	ir_codes_dntv_live_dvbt_pro	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x069a8547	saa7134_ts_qops	drivers/media/video/saa7134/saa7134	EXPORT_SYMBOL_GPL
+0xa336feb7	nand_manuf_ids	drivers/mtd/nand/nand_ids	EXPORT_SYMBOL
+0x8ffe7e89	nf_conntrack_htable_size	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0xbe686fa5	ieee80211_ctstoself_get	ubuntu/net/mac80211/mac80211	EXPORT_SYMBOL
+0x4a63a4a0	cpu_core_map	vmlinux	EXPORT_SYMBOL
+0x2d410cf1	invalidate_inode_pages	vmlinux	EXPORT_SYMBOL
+0x475f05af	acpi_set_firmware_waking_vector	vmlinux	EXPORT_SYMBOL
+0x87b2fac7	__sk_dst_check	vmlinux	EXPORT_SYMBOL
+0x2a4852cc	ir_codes_dntv_live_dvb_t	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0x9035f183	cfi_varsize_frob	drivers/mtd/chips/cfi_util	EXPORT_SYMBOL
+0x8aa7c3d9	rtl_ieee80211_wx_get_scan	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8f04165a	rtl_ieee80211_wx_set_scan	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x4188901f	set_bh_page	vmlinux	EXPORT_SYMBOL
+0xf7f13af6	__elv_add_request	vmlinux	EXPORT_SYMBOL
+0x4c759827	byte_rev_table	vmlinux	EXPORT_SYMBOL_GPL
+0x29dd457c	pci_get_device_reverse	vmlinux	EXPORT_SYMBOL
+0x149b4521	bus_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0xa739803d	kcopyd_copy	drivers/md/dm-mod	EXPORT_SYMBOL
+0x041da09f	usb_interrupt_msg	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x167d6f3c	ax25_register_pid	net/ax25/ax25	EXPORT_SYMBOL_GPL
+0x855a5d1b	irias_insert_object	net/irda/irda	EXPORT_SYMBOL
+0xe90789db	snd_pcm_lib_preallocate_pages	sound/core/snd-pcm	EXPORT_SYMBOL
+0x0d91ef6b	audit_log_d_path	vmlinux	EXPORT_SYMBOL_GPL
+0xd38d8ae2	hermes_read_ltv	drivers/net/wireless/hermes	EXPORT_SYMBOL
+0xb9edf9af	iscsi_if_create_session_done	drivers/scsi/scsi_transport_iscsi	EXPORT_SYMBOL_GPL
+0x9e7049f0	ax25_linkfail_register	net/ax25/ax25	EXPORT_SYMBOL
+0x5230da84	blocking_notifier_chain_register	vmlinux	EXPORT_SYMBOL_GPL
+0x834a6f28	inotify_destroy	vmlinux	EXPORT_SYMBOL_GPL
+0xa7898e73	key_payload_reserve	vmlinux	EXPORT_SYMBOL
+0x099ab9d3	fb_get_buffer_offset	vmlinux	EXPORT_SYMBOL
+0x4101a975	ide_fixstring	vmlinux	EXPORT_SYMBOL
+0xeaf8f134	isac_init	drivers/isdn/hisax/hisax_isac	EXPORT_SYMBOL
+0x0abca601	parport_claim_or_block	drivers/parport/parport	EXPORT_SYMBOL
+0xcc7ee64c	parport_ieee1284_read_byte	drivers/parport/parport	EXPORT_SYMBOL
+0xc9949e2c	crypto_register_template	vmlinux	EXPORT_SYMBOL_GPL
+0xddb0b078	get_cpu_sysdev	vmlinux	EXPORT_SYMBOL_GPL
+0x4a17ee82	skb_unlink	vmlinux	EXPORT_SYMBOL
+0xe9a9b93c	snd_ak4531_mixer	sound/pci/ac97/snd-ak4531-codec	EXPORT_SYMBOL
+0x5739acfe	uts_sem	vmlinux	EXPORT_SYMBOL
+0x3477ba0d	make_EII_client	vmlinux	EXPORT_SYMBOL
+0x0bfc32c9	lmsw	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x9d8eb635	dccp_send_sync	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xb2e5ae4a	snd_lookup_minor_data	sound/core/snd	EXPORT_SYMBOL
+0x886943ca	inet_csk_delete_keepalive_timer	vmlinux	EXPORT_SYMBOL
+0x3a420bcd	ata_cable_40wire	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x88ffb1bc	saa7146_stop_preview	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x17de76ce	ttpci_budget_deinit	drivers/media/dvb/ttpci/budget-core	EXPORT_SYMBOL_GPL
+0x16941de1	usb_hcd_pci_shutdown	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0x251ec3e1	auth_unix_lookup	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xe1dd5368	cap_syslog	security/commoncap	EXPORT_SYMBOL
+0x38395b99	kmem_cache_size	vmlinux	EXPORT_SYMBOL
+0xd720659e	xfrm_state_register_afinfo	vmlinux	EXPORT_SYMBOL
+0x1308611a	ata_cable_unknown	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0x2e030788	usb_register_device_driver	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0x5723798f	clocksource_register	vmlinux	EXPORT_SYMBOL
+0xfa164145	kobject_get_path	vmlinux	EXPORT_SYMBOL_GPL
+0x26408b3a	inet_ioctl	vmlinux	EXPORT_SYMBOL
+0x6780655c	ib_cm_init_qp_attr	drivers/infiniband/core/ib_cm	EXPORT_SYMBOL
+0xb4a29a69	our_keys	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x613a6f53	hpsb_free_tlabel	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0xfbae8fa7	bt_sock_link	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0x0ad87d67	xt_register_target	net/netfilter/x_tables	EXPORT_SYMBOL
+0xe8c0fbaa	_cpu_pda	vmlinux	EXPORT_SYMBOL
+0x98625b50	framebuffer_release	vmlinux	EXPORT_SYMBOL
+0xc1abd7f7	pnp_disable_dev	vmlinux	EXPORT_SYMBOL
+0x96cf8b7d	nf_unregister_hooks	vmlinux	EXPORT_SYMBOL
+0xaebeb17f	ib_get_cached_pkey	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xbfd30a63	xor_block	drivers/md/xor	EXPORT_SYMBOL
+0x2bfcf8e8	dvb_unregister_device	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xfbb777fc	g450_mnp2f	drivers/video/matrox/g450_pll	EXPORT_SYMBOL
+0x8001e3d7	tipc_forward2port	net/tipc/tipc	EXPORT_SYMBOL
+0x419e627e	rtl_ieee80211_wpa_supplicant_ioctl	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xd10f0b35	saa7146_start_preview	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x344d1fcc	sppp_attach	drivers/net/wan/syncppp	EXPORT_SYMBOL
+0x2aa17774	rpc_free_iostats	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x9b4a6df6	dentry_unhash	vmlinux	EXPORT_SYMBOL
+0x4efd0dd0	generic_read_dir	vmlinux	EXPORT_SYMBOL
+0x0c4c2771	device_find_child	vmlinux	EXPORT_SYMBOL_GPL
+0xc334e1f9	class_device_create_file	vmlinux	EXPORT_SYMBOL_GPL
+0x07a56fd2	dm_table_get_md	drivers/md/dm-mod	EXPORT_SYMBOL
+0x73fec4bb	mpt_event_deregister	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x862b6b87	usb_hcd_poll_rh_status	drivers/usb/core/usbcore	EXPORT_SYMBOL_GPL
+0xefac9585	fat_getattr	fs/fat/fat	EXPORT_SYMBOL_GPL
+0x6eea229d	svcauth_unix_purge	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0xc06c241e	tpm_pm_suspend	drivers/char/tpm/tpm	EXPORT_SYMBOL_GPL
+0xc4d56e62	gameport_set_phys	drivers/input/gameport/gameport	EXPORT_SYMBOL
+0xc1f656a4	snd_cs4231_get_double	sound/isa/cs423x/snd-cs4231-lib	EXPORT_SYMBOL
+0xee2d0fc7	_local_bh_enable	vmlinux	EXPORT_SYMBOL
+0x66eaa8a9	param_set_ulong	vmlinux	EXPORT_SYMBOL
+0x2d3c382a	vc_resize	vmlinux	EXPORT_SYMBOL
+0x896f968c	sock_no_shutdown	vmlinux	EXPORT_SYMBOL
+0x0d8ecdd4	xfrm_ealg_get_byidx	vmlinux	EXPORT_SYMBOL_GPL
+0x6d264ea4	gfn_to_memslot	drivers/kvm/kvm	EXPORT_SYMBOL_GPL
+0x2de2b633	v4l2_prio_check	drivers/media/video/v4l2-common	EXPORT_SYMBOL
+0x54eb4f47	NS8390_init	drivers/net/8390	EXPORT_SYMBOL
+0x94ef4d05	cpci_hp_stop	drivers/pci/hotplug/pci_hotplug	EXPORT_SYMBOL_GPL
+0xa0ba3a3f	cancel_rearming_delayed_work	vmlinux	EXPORT_SYMBOL
+0x7042bc54	irlmp_register_client	net/irda/irda	EXPORT_SYMBOL
+0xe7aece47	tipc_ispublished	net/tipc/tipc	EXPORT_SYMBOL
+0xe944d99d	ad1848_init	sound/oss/ad1848	EXPORT_SYMBOL
+0x8de4dbdd	ib_modify_qp	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xb3576650	dm_io_get	drivers/md/dm-mod	EXPORT_SYMBOL
+0x1b89c6ee	o2hb_fill_node_map	fs/ocfs2/cluster/ocfs2_nodemanager	EXPORT_SYMBOL_GPL
+0xc748d109	sound_alloc_synthdev	sound/oss/sound	EXPORT_SYMBOL
+0xfa8e1f6e	p54_init_common	ubuntu/wireless/p54/prism54common	EXPORT_SYMBOL_GPL
+0x377e90c7	nf_ct_attach	vmlinux	EXPORT_SYMBOL
+0xbaacdf2c	flexcop_dma_allocate	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0x8231b981	usb_ftdi_elan_edset_flush	drivers/usb/misc/ftdi-elan	EXPORT_SYMBOL_GPL
+0x4e08ba3a	snd_timer_global_free	sound/core/snd-timer	EXPORT_SYMBOL
+0x57e0582c	textsearch_register	vmlinux	EXPORT_SYMBOL
+0x475f010b	acpi_purge_cached_objects	vmlinux	EXPORT_SYMBOL
+0xca8acc78	acpi_dbg_level	vmlinux	EXPORT_SYMBOL
+0x2bbb4fdf	driver_attach	vmlinux	EXPORT_SYMBOL_GPL
+0x68d4a8f8	saa7146_unregister_device	drivers/media/common/saa7146_vv	EXPORT_SYMBOL_GPL
+0x71d75822	snd_pcm_lib_writev	sound/core/snd-pcm	EXPORT_SYMBOL
+0x7c03d883	snd_sb8dsp_interrupt	sound/isa/sb/snd-sb8-dsp	EXPORT_SYMBOL
+0xad0413d4	match_hex	vmlinux	EXPORT_SYMBOL
+0x5934392b	fb_register_client	vmlinux	EXPORT_SYMBOL
+0xae84a647	platform_device_register	vmlinux	EXPORT_SYMBOL_GPL
+0x4dec9a38	usbnet_generic_cdc_bind	drivers/usb/net/cdc_ether	EXPORT_SYMBOL_GPL
+0x255031c6	dccp_rcv_state_process	net/dccp/dccp	EXPORT_SYMBOL_GPL
+0xedd521c2	irlmp_get_discoveries	net/irda/irda	EXPORT_SYMBOL
+0x2e7abfda	percpu_depopulate	vmlinux	EXPORT_SYMBOL_GPL
+0xb340b55b	platform_device_unregister	vmlinux	EXPORT_SYMBOL_GPL
+0x9dfe7688	skb_realloc_headroom	vmlinux	EXPORT_SYMBOL
+0x1409dc51	nf_unregister_sockopt	vmlinux	EXPORT_SYMBOL
+0x94f3a06b	__inet_lookup_listener	vmlinux	EXPORT_SYMBOL_GPL
+0x2a0a5e0f	bt878_start	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x889a9d5f	snd_vx_suspend	sound/drivers/vx/snd-vx-lib	EXPORT_SYMBOL
+0x6a47571d	__set_personality	vmlinux	EXPORT_SYMBOL
+0x6bb3cfbb	uhci_reset_hc	vmlinux	EXPORT_SYMBOL_GPL
+0x9f5a09c9	uPD98402_init	drivers/atm/uPD98402	EXPORT_SYMBOL
+0xb03f19b1	ipv6_find_hdr	net/ipv6/netfilter/ip6_tables	EXPORT_SYMBOL
+0xa41ead5f	sound_unload_timerdev	sound/oss/sound	EXPORT_SYMBOL
+0xec3f36d9	page_readlink	vmlinux	EXPORT_SYMBOL
+0x4849847c	register_con_driver	vmlinux	EXPORT_SYMBOL
+0x1b077ae0	blkcipher_walk_done	crypto/blkcipher	EXPORT_SYMBOL_GPL
+0x5b2bbb85	ib_set_client_data	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xdf6ca482	ib_get_client_data	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0xfac36686	flexcop_dma_control_size_irq	drivers/media/dvb/b2c2/b2c2-flexcop	EXPORT_SYMBOL
+0xf66f6d79	dvb_dmxdev_init	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0x8f46d6d7	dvb_ringbuffer_free	drivers/media/dvb/dvb-core/dvb-core	EXPORT_SYMBOL
+0xa94dc149	ioc4_unregister_submodule	drivers/misc/ioc4	EXPORT_SYMBOL
+0x7ed4cd98	sas_bios_param	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x4d1afe51	sas_attach_transport	drivers/scsi/scsi_transport_sas	EXPORT_SYMBOL
+0x69c7294c	hashbin_new	net/irda/irda	EXPORT_SYMBOL
+0xc499ae1e	kstrdup	vmlinux	EXPORT_SYMBOL
+0xc99a76ad	pci_map_rom_copy	vmlinux	EXPORT_SYMBOL
+0x1dd571e6	fb_copy_cmap	vmlinux	EXPORT_SYMBOL
+0xb19978da	nf_unregister_afinfo	vmlinux	EXPORT_SYMBOL_GPL
+0xa2c370e8	edac_mc_handle_ue	drivers/edac/edac_mc	EXPORT_SYMBOL_GPL
+0xbf097447	i2c_detach_client	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x8f9319c7	simple_prepare_write	vmlinux	EXPORT_SYMBOL
+0xea7987f1	key_update	vmlinux	EXPORT_SYMBOL
+0xe92a00e0	_atomic_dec_and_lock	vmlinux	EXPORT_SYMBOL
+0x448b8aaa	irda_qos_bits_to_value	net/irda/irda	EXPORT_SYMBOL
+0x2144fd71	snd_opl3_interrupt	sound/drivers/opl3/snd-opl3-lib	EXPORT_SYMBOL
+0x2afab19f	vfs_getxattr	vmlinux	EXPORT_SYMBOL_GPL
+0x35f96e0e	vfs_setxattr	vmlinux	EXPORT_SYMBOL_GPL
+0x0c97cd4e	simple_rename	vmlinux	EXPORT_SYMBOL
+0x33c2322f	kasprintf	vmlinux	EXPORT_SYMBOL
+0xcb7131fb	fb_get_options	vmlinux	EXPORT_SYMBOL
+0xa06f1027	ip_mc_dec_group	vmlinux	EXPORT_SYMBOL
+0x35fe7ae7	xfrm_register_km	vmlinux	EXPORT_SYMBOL
+0x73852d8f	iscsi_conn_bind	drivers/scsi/libiscsi	EXPORT_SYMBOL_GPL
+0xc1444946	ax25cmp	net/ax25/ax25	EXPORT_SYMBOL
+0x6c67f617	rtl_ieee80211_wake_queue	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0x8d8d96c6	acpi_get_sleep_type_data	vmlinux	EXPORT_SYMBOL
+0x33216adc	acpi_unload_table_id	vmlinux	EXPORT_SYMBOL
+0xb5828299	sock_init_data	vmlinux	EXPORT_SYMBOL
+0x254e5667	scx200_gpio_base	arch/i386/kernel/scx200	EXPORT_SYMBOL
+0xc2424641	agp3_generic_cleanup	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x87298ab2	iw_cm_reject	drivers/infiniband/core/iw_cm	EXPORT_SYMBOL
+0xd5d0bdef	bt878_num	drivers/media/dvb/bt8xx/bt878	EXPORT_SYMBOL
+0x4717a2b9	snd_ctl_free_one	sound/core/snd	EXPORT_SYMBOL
+0xc192d491	unregister_chrdev	vmlinux	EXPORT_SYMBOL
+0x50badf87	scatterwalk_map	vmlinux	EXPORT_SYMBOL_GPL
+0xa1a6414c	iowrite32be	vmlinux	EXPORT_SYMBOL
+0x30343e46	iowrite16be	vmlinux	EXPORT_SYMBOL
+0x814051a8	pci_get_slot	vmlinux	EXPORT_SYMBOL
+0x2cae8561	ip_queue_xmit	vmlinux	EXPORT_SYMBOL
+0x14d3109e	gs_hangup	drivers/char/generic_serial	EXPORT_SYMBOL
+0x0d0a2dea	dlm_print_one_lock	fs/ocfs2/dlm/ocfs2_dlm	EXPORT_SYMBOL_GPL
+0x9096948e	blk_queue_start_tag	vmlinux	EXPORT_SYMBOL
+0xdb029fc0	inet_release	vmlinux	EXPORT_SYMBOL
+0x909cece6	km_query	vmlinux	EXPORT_SYMBOL
+0x16d3b36c	mpt_resume	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xb0928c66	synth_delay_time	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0x9fce80db	fb_notifier_call_chain	vmlinux	EXPORT_SYMBOL_GPL
+0x309f357b	neigh_create	vmlinux	EXPORT_SYMBOL
+0xf7c45017	__xfrm_policy_destroy	vmlinux	EXPORT_SYMBOL
+0xc42508f2	rdma_addr_cancel	drivers/infiniband/core/ib_addr	EXPORT_SYMBOL
+0x8f6cee77	__round_jiffies_relative	vmlinux	EXPORT_SYMBOL_GPL
+0x7c496698	elv_next_request	vmlinux	EXPORT_SYMBOL
+0x70022241	noautodma	vmlinux	EXPORT_SYMBOL
+0x180d3544	cpufreq_set_policy	vmlinux	EXPORT_SYMBOL
+0xdc20cc84	cpufreq_get_policy	vmlinux	EXPORT_SYMBOL
+0xdd805159	ioc_list	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0xc9393cc4	i2o_driver_notify_controller_add_all	drivers/message/i2o/i2o_core	EXPORT_SYMBOL
+0x891c6dff	sirdev_raw_write	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0x356031e7	__rt_mutex_init	vmlinux	EXPORT_SYMBOL_GPL
+0x037a0cba	kfree	vmlinux	EXPORT_SYMBOL
+0xfbb938c6	crypto_free_tfm	vmlinux	EXPORT_SYMBOL_GPL
+0xdc3c11d5	inet_twsk_alloc	vmlinux	EXPORT_SYMBOL_GPL
+0xeabc0705	sock_kmalloc	vmlinux	EXPORT_SYMBOL
+0x8b857983	nf_register_sockopt	vmlinux	EXPORT_SYMBOL
+0x1117e95e	xfrm_state_delete	vmlinux	EXPORT_SYMBOL
+0xd2442a44	drm_sman_init	drivers/char/drm/drm	EXPORT_SYMBOL
+0xa341ba42	ib_modify_device	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x3d28e620	sas_target_alloc	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0xd5f8a2fb	nf_conntrack_expect_find_get	net/netfilter/nf_conntrack	EXPORT_SYMBOL_GPL
+0x058c75d9	acpi_get_pci_id	vmlinux	EXPORT_SYMBOL
+0xb2efb6be	mca_read_stored_pos	vmlinux	EXPORT_SYMBOL
+0x41222737	ip_route_output_key	vmlinux	EXPORT_SYMBOL
+0x2f963c2c	z8530_queue_xmit	drivers/net/wan/z85230	EXPORT_SYMBOL
+0xebd387f6	pm_active	vmlinux	EXPORT_SYMBOL
+0x4f840cd6	dpm_runtime_suspend	vmlinux	EXPORT_SYMBOL
+0x538383c0	unregister_inet6addr_notifier	net/ipv6/ipv6	EXPORT_SYMBOL
+0x8f928332	rtl_ieee80211_get_crypto_ops	ubuntu/net/rtl_ieee80211/ieee80211-rtl	EXPORT_SYMBOL
+0xd61d4f2b	blk_alloc_queue_node	vmlinux	EXPORT_SYMBOL
+0xb464a657	uart_suspend_port	vmlinux	EXPORT_SYMBOL
+0xe6a48b27	ide_get_best_pio_mode	vmlinux	EXPORT_SYMBOL_GPL
+0xc1dbd3ff	ipv6_chk_addr	net/ipv6/ipv6	EXPORT_SYMBOL
+0x389458cb	path_walk	vmlinux	EXPORT_SYMBOL
+0x409ce423	bio_phys_segments	vmlinux	EXPORT_SYMBOL
+0x6e296551	hpsb_set_hostinfo_key	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x101ab89b	scsi_device_resume	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xf78f6363	sequencer_init	sound/oss/sound	EXPORT_SYMBOL
+0x22942f47	invalidate_inode_pages2	vmlinux	EXPORT_SYMBOL_GPL
+0x7dc5d0b6	crypto_unregister_notifier	vmlinux	EXPORT_SYMBOL_GPL
+0xa120d33c	tty_unregister_ldisc	vmlinux	EXPORT_SYMBOL
+0xe58bbd3d	neigh_changeaddr	vmlinux	EXPORT_SYMBOL
+0x9504291c	b1_register_appl	drivers/isdn/hardware/avm/b1	EXPORT_SYMBOL
+0x2456e513	ir_decode_pulsedistance	drivers/media/common/ir-common	EXPORT_SYMBOL_GPL
+0xc4b43edf	snd_emux_register	sound/synth/emux/snd-emux-synth	EXPORT_SYMBOL
+0x79e59d92	ivtv_udma_unmap	ubuntu/media/ivtv/ivtv	EXPORT_SYMBOL
+0x8acff105	eeprom_93cx6_multiwrite	ubuntu/misc/eeprom_93cx6	EXPORT_SYMBOL_GPL
+0x2099274a	pm_register	vmlinux	EXPORT_SYMBOL
+0xec84e458	kmem_cache_destroy	vmlinux	EXPORT_SYMBOL
+0x8879f8f0	dma_region_sync_for_cpu	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x0279cd89	ib_create_ah	drivers/infiniband/core/ib_core	EXPORT_SYMBOL
+0x252ecf40	led_classdev_register	drivers/leds/led-class	EXPORT_SYMBOL_GPL
+0x9a497436	scsi_calculate_bounce_limit	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x0928f536	ipt_do_table	net/ipv4/netfilter/ip_tables	EXPORT_SYMBOL
+0xc84df378	snd_seq_dump_var_event	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x16836e04	speedstep_detect_processor	arch/i386/kernel/cpu/cpufreq/speedstep-lib	EXPORT_SYMBOL_GPL
+0xf0a16657	FsmNew	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0x27d8e8db	usb_release_bandwidth	drivers/usb/core/usbcore	EXPORT_SYMBOL
+0xceca2e92	usb_serial_disconnect	drivers/usb/serial/usbserial	EXPORT_SYMBOL_GPL
+0x22f06986	xt_find_target	net/netfilter/x_tables	EXPORT_SYMBOL
+0x21298cf9	snd_opl4_write_memory	sound/drivers/opl4/snd-opl4-lib	EXPORT_SYMBOL
+0xfb561fcc	complete_all	vmlinux	EXPORT_SYMBOL
+0xef79ac56	__release_region	vmlinux	EXPORT_SYMBOL
+0x757a86b9	dget_locked	vmlinux	EXPORT_SYMBOL
+0x8bc970d2	rpc_proc_register	net/sunrpc/sunrpc	EXPORT_SYMBOL
+0x3712e340	tipc_portunreliable	net/tipc/tipc	EXPORT_SYMBOL
+0x7eda20cd	snd_hda_sequence_write	sound/pci/hda/snd-hda-codec	EXPORT_SYMBOL
+0xa0350991	_write_unlock_irq	vmlinux	EXPORT_SYMBOL
+0x291f9bed	bio_split_pool	vmlinux	EXPORT_SYMBOL
+0x8ea9d2e7	sock_enable_timestamp	vmlinux	EXPORT_SYMBOL
+0x1541a7e7	nla_validate	vmlinux	EXPORT_SYMBOL
+0xbcf2d2fb	bttv_read_gpio	drivers/media/video/bt8xx/bttv	EXPORT_SYMBOL
+0x7aec0738	snd_emu10k1_ptr_write	sound/pci/emu10k1/snd-emu10k1	EXPORT_SYMBOL
+0x82bccbfe	lookup_one_len_nd	vmlinux	EXPORT_SYMBOL
+0x9b56a361	inet_csk_clear_xmit_timers	vmlinux	EXPORT_SYMBOL
+0xe9479e2b	rdma_destroy_id	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0xf82c9178	rdma_destroy_qp	drivers/infiniband/core/rdma_cm	EXPORT_SYMBOL
+0x8e96ecac	dst_error_bailout	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x01a7a2b4	mptscsih_slave_alloc	drivers/message/fusion/mptscsih	EXPORT_SYMBOL
+0xd5531f48	pccard_get_next_tuple	drivers/pcmcia/pcmcia_core	EXPORT_SYMBOL
+0x9fdea959	snd_pcm_hw_param_value	sound/core/snd-pcm	EXPORT_SYMBOL
+0x1eadc060	exit_fs	vmlinux	EXPORT_SYMBOL_GPL
+0xa7e4b292	default_llseek	vmlinux	EXPORT_SYMBOL
+0xf8f3a0fb	ata_ratelimit	drivers/ata/libata	EXPORT_SYMBOL_GPL
+0xe4938711	agp_copy_info	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0x12a6fa90	agp_free_memory	drivers/char/agp/agpgart	EXPORT_SYMBOL
+0xe6c7514e	i2c_adapter_dev_release	drivers/i2c/i2c-core	EXPORT_SYMBOL_GPL
+0x55d4af76	fc_remote_port_rolechg	drivers/scsi/scsi_transport_fc	EXPORT_SYMBOL
+0x0a4678a0	nf_nat_follow_master	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x892093e0	midi_synth_controller	sound/oss/sound	EXPORT_SYMBOL
+0xe4868d9d	tcp_read_sock	vmlinux	EXPORT_SYMBOL
+0xb236caf9	dst_comm_init	drivers/media/dvb/bt8xx/dst	EXPORT_SYMBOL
+0x03c60df4	cx8802_register_driver	drivers/media/video/cx88/cx8802	EXPORT_SYMBOL
+0x3061c52d	snd_use_lock_sync_helper	sound/core/seq/snd-seq	EXPORT_SYMBOL
+0x92897e3d	default_idle	vmlinux	EXPORT_SYMBOL
+0xa834095d	bio_map_kern	vmlinux	EXPORT_SYMBOL
+0x815b5dd4	match_octal	vmlinux	EXPORT_SYMBOL
+0x2d48f907	ip_fragment	vmlinux	EXPORT_SYMBOL
+0xd79051bc	FsmInitTimer	drivers/isdn/hisax/hisax	EXPORT_SYMBOL
+0xd0a3e601	sirdev_put_instance	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xb0326609	sirdev_get_instance	drivers/net/irda/sir-dev	EXPORT_SYMBOL
+0xfc31fe88	l2cap_load	net/bluetooth/l2cap	EXPORT_SYMBOL
+0xffff1ec4	dccp_li_hist_calc_i_mean	net/dccp/ccids/lib/dccp_tfrc_lib	EXPORT_SYMBOL_GPL
+0x5c4891bb	rpc_peeraddr	net/sunrpc/sunrpc	EXPORT_SYMBOL_GPL
+0x9e64fbfe	rtc_cmos_read	vmlinux	EXPORT_SYMBOL
+0xb3a307c6	si_meminfo	vmlinux	EXPORT_SYMBOL
+0x284b3f2a	poll_freewait	vmlinux	EXPORT_SYMBOL
+0xd11aa2c7	i2c_smbus_write_byte	drivers/i2c/i2c-core	EXPORT_SYMBOL
+0x40188e5f	scsi_register_driver	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0xe431de52	xt_register_targets	net/netfilter/x_tables	EXPORT_SYMBOL
+0xf8aae679	snd_gus_create	sound/isa/gus/snd-gus-lib	EXPORT_SYMBOL
+0x1879bc88	get_fs_type	vmlinux	EXPORT_SYMBOL
+0x7183baee	snd_timer_pause	sound/core/snd-timer	EXPORT_SYMBOL
+0x3a663e76	dquot_acquire	vmlinux	EXPORT_SYMBOL
+0xfc32cc09	qlogicfas408_disable_ints	drivers/scsi/qlogicfas408	EXPORT_SYMBOL
+0xf4aa135b	nf_nat_seq_adjust	net/ipv4/netfilter/nf_nat	EXPORT_SYMBOL
+0x49ef689d	nf_nat_pptp_hook_outbound	net/netfilter/nf_conntrack_pptp	EXPORT_SYMBOL_GPL
+0x751d9081	snd_trident_free_voice	sound/pci/trident/snd-trident	EXPORT_SYMBOL
+0x67955ce6	profile_hits	vmlinux	EXPORT_SYMBOL_GPL
+0xc329096e	call_rcu_bh	vmlinux	EXPORT_SYMBOL_GPL
+0xd2baf45c	__ide_dma_off_quietly	vmlinux	EXPORT_SYMBOL
+0x9ffc8215	isdnhdlc_out_init	drivers/isdn/hisax/isdnhdlc	EXPORT_SYMBOL
+0xc3345a61	mpt_send_handshake_request	drivers/message/fusion/mptbase	EXPORT_SYMBOL
+0x2fbe645b	scsi_host_set_state	drivers/scsi/scsi_mod	EXPORT_SYMBOL
+0x220e6400	bio_copy_user	vmlinux	EXPORT_SYMBOL
+0x45fa2786	blk_start_queue	vmlinux	EXPORT_SYMBOL
+0x08136438	hpsb_destroy_hostinfo	drivers/ieee1394/ieee1394	EXPORT_SYMBOL
+0x9ad5e2c4	genphy_config_aneg	drivers/net/phy/libphy	EXPORT_SYMBOL
+0x31aed23e	journal_check_used_features	fs/jbd/jbd	EXPORT_SYMBOL
+0x8e524354	nat_t120_hook	net/netfilter/nf_conntrack_h323	EXPORT_SYMBOL_GPL
+0x3976041f	tipc_set_portimportance	net/tipc/tipc	EXPORT_SYMBOL
+0xcd083b10	unregister_sound_dsp	sound/soundcore	EXPORT_SYMBOL
+0xe7cd4558	spk_serial_release	ubuntu/misc/speakup/speakupmain	EXPORT_SYMBOL
+0xd78ad694	vmap	vmlinux	EXPORT_SYMBOL
+0x8d2aba13	deactivate_super	vmlinux	EXPORT_SYMBOL
+0x1ba9a4e5	generic_removexattr	vmlinux	EXPORT_SYMBOL
+0x89608ec4	crypto_km_types	vmlinux	EXPORT_SYMBOL_GPL
+0x7028c3a3	sas_slave_destroy	drivers/scsi/libsas/libsas	EXPORT_SYMBOL_GPL
+0x98edef1f	hci_send_acl	net/bluetooth/bluetooth	EXPORT_SYMBOL
+0xaa7bd9f4	arpt_unregister_table	net/ipv4/netfilter/arp_tables	EXPORT_SYMBOL
+0x01915d9e	alloc_irdadev	net/irda/irda	EXPORT_SYMBOL
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/trcid.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/trcid.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/trcid.h	(revision 16)
@@ -0,0 +1,2266 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/*
+ * Trace id and reason code definitions.
+ *
+ * This file is generated by mktrace.
+ * ------>>> DO NOT EDIT ! <<<------
+ */
+#include <DirIds.h>
+#define LOCAL_BASE	DIR_ID_KERNEXT_GPL_LINUX
+#define LOCAL_TRCID	(LOCAL_BASE << 10)
+#define TRCID_CXIINC_COUNTER	(LOCAL_TRCID + 1)
+#define TRCID_GPFSINIT_000	(LOCAL_TRCID + 2)
+#define TRCID_PORTINIT_001	(LOCAL_TRCID + 3)
+#define TRCID_FBREAD_ENTER	(LOCAL_TRCID + 4)
+#define TRCID_FBREAD_EXIT	(LOCAL_TRCID + 5)
+#define TRCID_FBWRITE_ENTER	(LOCAL_TRCID + 6)
+#define TRCID_FBOPEN_ENTER	(LOCAL_TRCID + 7)
+#define TRCID_FBOPEN_EXIT	(LOCAL_TRCID + 8)
+#define TRCID_FBRELEASE_ENTER	(LOCAL_TRCID + 9)
+#define TRCID_FBRELEASE_EXIT	(LOCAL_TRCID + 10)
+#define TRCID_FBIOCTL_ENTER	(LOCAL_TRCID + 11)
+#define TRCID_BOPEN_ENTER	(LOCAL_TRCID + 12)
+#define TRCID_BOPEN_EXIT	(LOCAL_TRCID + 13)
+#define TRCID_BRELEASE_ENTER	(LOCAL_TRCID + 14)
+#define TRCID_BRELEASE_EXIT	(LOCAL_TRCID + 15)
+#define TRCID_BIOCTL_ENTER	(LOCAL_TRCID + 16)
+#define TRCID_BLOCK_011	(LOCAL_TRCID + 17)
+#define TRCID_BLOCK_013	(LOCAL_TRCID + 18)
+#define TRCID_BLOCK_015	(LOCAL_TRCID + 19)
+#define TRCID_PRUNE_DCACHE	(LOCAL_TRCID + 20)
+#define TRCID_PRUNE_DCACHE_ALIAS	(LOCAL_TRCID + 21)
+#define TRCID_INVAL_DCACHE	(LOCAL_TRCID + 22)
+#define TRCID_INVAL_DCACHE_ALIAS	(LOCAL_TRCID + 23)
+#define TRCID_DROP_INVAL_DCACHE	(LOCAL_TRCID + 24)
+#define TRCID_DROP_INVAL_DCACHE_ALIAS	(LOCAL_TRCID + 25)
+#define TRCID_INVAL_NEG_DCACHE	(LOCAL_TRCID + 26)
+#define TRCID_INVAL_NEG_DUNCACHE	(LOCAL_TRCID + 27)
+#define TRCID_DIR_001	(LOCAL_TRCID + 28)
+#define TRCID_DIR_REVALIDATE	(LOCAL_TRCID + 29)
+#define TRCID_DIR_REVALIDATE_EX	(LOCAL_TRCID + 30)
+#define TRCID_DIR_VALID_IF_SAMBA	(LOCAL_TRCID + 31)
+#define TRCID_DIR_INVALID_IF_SAMBA	(LOCAL_TRCID + 32)
+#define TRCID_LINUXOPS_LLSEEK_ENTER	(LOCAL_TRCID + 33)
+#define TRCID_LINUXOPS_LLSEEK_EXIT	(LOCAL_TRCID + 34)
+#define TRCID_LINUXOPS_READDIR_ENTER	(LOCAL_TRCID + 35)
+#define TRCID_LINUXOPS_READDIR_EXIT	(LOCAL_TRCID + 36)
+#define TRCID_LINUXOPS_POLL	(LOCAL_TRCID + 37)
+#define TRCID_LINUXOPS_IOCTL	(LOCAL_TRCID + 38)
+#define TRCID_FM_OPEN	(LOCAL_TRCID + 39)
+#define TRCID_FM_OPEN_1	(LOCAL_TRCID + 40)
+#define TRCID_FM_OPEN_EXIT	(LOCAL_TRCID + 41)
+#define TRCID_FM_CLOSE_ENTER	(LOCAL_TRCID + 42)
+#define TRCID_FM_CLOSE_ENTER1	(LOCAL_TRCID + 43)
+#define TRCID_FM_CLOSE_ENR	(LOCAL_TRCID + 44)
+#define TRCID_FM_CLOSE	(LOCAL_TRCID + 45)
+#define TRCID_LINUXOPS_MMAP_ENTER	(LOCAL_TRCID + 46)
+#define TRCID_LINUXOPS_MMAP_ENTER_A	(LOCAL_TRCID + 47)
+#define TRCID_LINUXOPS_MMAP_ENTER_A1	(LOCAL_TRCID + 48)
+#define TRCID_LINUXOPS_MMAP_ENTER_AB	(LOCAL_TRCID + 49)
+#define TRCID_LINUXOPS_MMAP_EXIT	(LOCAL_TRCID + 50)
+#define TRCID_LINUXOPS_OPEN_ENTER	(LOCAL_TRCID + 51)
+#define TRCID_LINUXOPS_OPEN_01	(LOCAL_TRCID + 52)
+#define TRCID_LINUXOPS_OPEN_EXIT	(LOCAL_TRCID + 53)
+#define TRCID_LINUXOPS_CLOSE_ENTER	(LOCAL_TRCID + 54)
+#define TRCID_CLOSE_EXIT	(LOCAL_TRCID + 55)
+#define TRCID_LINUXOPS_FSYNC_ENTER	(LOCAL_TRCID + 56)
+#define TRCID_LINUXOPS_FSYNC_EXIT	(LOCAL_TRCID + 57)
+#define TRCID_LINUXOPS_FASYNC_ENTER	(LOCAL_TRCID + 58)
+#define TRCID_LINUXOPS_FASYNC_EXIT	(LOCAL_TRCID + 59)
+#define TRCID_LINUXOPS_LOCKCTL_ENTER	(LOCAL_TRCID + 60)
+#define TRCID_LINUXOPS_LOCKCTL_ENTER2	(LOCAL_TRCID + 61)
+#define TRCID_LINUXOPS_LOCKCTL_DIAG2	(LOCAL_TRCID + 62)
+#define TRCID_LINUXOPS_LOCKCTL_EXIT	(LOCAL_TRCID + 63)
+#define TRCID_LINUX_FLOCK_ENTER	(LOCAL_TRCID + 64)
+#define TRCID_LINUX_FLOCK_EXIT	(LOCAL_TRCID + 65)
+#define TRCID_LINUXOPS_RDWRINT_ENTER	(LOCAL_TRCID + 66)
+#define TRCID_LINUXOPS_RDWRINT_EXIT	(LOCAL_TRCID + 67)
+#define TRCID_LINUXOPS_READ_DIR	(LOCAL_TRCID + 68)
+#define TRCID_LINUXOPS_SHARE_ENTER	(LOCAL_TRCID + 69)
+#define TRCID_LINUXOPS_SHARE_RESET	(LOCAL_TRCID + 70)
+#define TRCID_LINUXOPS_SHARE_EXIT	(LOCAL_TRCID + 71)
+#define TRCID_LINUXOPS_DELEGATE_ENTER	(LOCAL_TRCID + 72)
+#define TRCID_LINUXOPS_DELEGATE_EXIT	(LOCAL_TRCID + 73)
+#define TRCID_PRINTINODE_1	(LOCAL_TRCID + 74)
+#define TRCID_PRINTINODE_2	(LOCAL_TRCID + 75)
+#define TRCID_PRINTINODE_4	(LOCAL_TRCID + 76)
+#define TRCID_PRINTINODE_5	(LOCAL_TRCID + 77)
+#define TRCID_PRINTINODE_6	(LOCAL_TRCID + 78)
+#define TRCID_PRINTINODE_7	(LOCAL_TRCID + 79)
+#define TRCID_PRINTINODE_8	(LOCAL_TRCID + 80)
+#define TRCID_PRINTINODE_9	(LOCAL_TRCID + 81)
+#define TRCID_PRINTDENTRY_1	(LOCAL_TRCID + 82)
+#define TRCID_PRINTDENTRY_2	(LOCAL_TRCID + 83)
+#define TRCID_PRINTDENTRY_3A	(LOCAL_TRCID + 84)
+#define TRCID_PRINTDENTRY_3B	(LOCAL_TRCID + 85)
+#define TRCID_PRINTDENTRY_4	(LOCAL_TRCID + 86)
+#define TRCID_PRINTDENTRY_5	(LOCAL_TRCID + 87)
+#define TRCID_LINUXOPS_SETINODE	(LOCAL_TRCID + 88)
+#define TRCID_CXIINVA_PERM	(LOCAL_TRCID + 89)
+#define TRCID_LINUXOPS_CREATE_ENTER	(LOCAL_TRCID + 90)
+#define TRCID_LINUXOPS_CREATE_EXIT	(LOCAL_TRCID + 91)
+#define TRCID_LINUXOPS_LOOKUP_ENTER	(LOCAL_TRCID + 92)
+#define TRCID_LINUXOPS_LOOKUP_STALE	(LOCAL_TRCID + 93)
+#define TRCID_LINUXOPS_LOOKUP_EXIT	(LOCAL_TRCID + 94)
+#define TRCID_LINUXOPS_LINK_ENTER	(LOCAL_TRCID + 95)
+#define TRCID_LINUXOPS_LINK_EXIT	(LOCAL_TRCID + 96)
+#define TRCID_LINUXOPS_UNLINK_ENTER	(LOCAL_TRCID + 97)
+#define TRCID_LINUXOPS_UNLINK_EXIT	(LOCAL_TRCID + 98)
+#define TRCID_LINUXOPS_SYMLINK1	(LOCAL_TRCID + 99)
+#define TRCID_LINUXOPS_SYMLINK2	(LOCAL_TRCID + 100)
+#define TRCID_LINUXOPS_SYMLINK_EXIT	(LOCAL_TRCID + 101)
+#define TRCID_LINUXOPS_MKDIR_ENTER	(LOCAL_TRCID + 102)
+#define TRCID_LINUXOPS_MKDIR_EXIT	(LOCAL_TRCID + 103)
+#define TRCID_LINUXOPS_RMDIR_ENTER	(LOCAL_TRCID + 104)
+#define TRCID_LINUXOPS_RMDIR_EXIT	(LOCAL_TRCID + 105)
+#define TRCID_LINUXOPS_MKNOD_ENTER	(LOCAL_TRCID + 106)
+#define TRCID_LINUXOPS_MKNOD_EXIT	(LOCAL_TRCID + 107)
+#define TRCID_LINUXOPS_RENAME_1	(LOCAL_TRCID + 108)
+#define TRCID_LINUXOPS_RENAME_EXIT	(LOCAL_TRCID + 109)
+#define TRCID_LINUXOPS_READLINK_ENTER	(LOCAL_TRCID + 110)
+#define TRCID_LINUXOPS_READLINK_EXIT	(LOCAL_TRCID + 111)
+#define TRCID_LINUXOPS_FOLLOW_LINK_ENTER	(LOCAL_TRCID + 112)
+#define TRCID_LINUXOPS_FOLLOW_LINK_1	(LOCAL_TRCID + 113)
+#define TRCID_LINUXOPS_FOLLOW_LINK_2	(LOCAL_TRCID + 114)
+#define TRCID_LINUXOPS_PUTLINK	(LOCAL_TRCID + 115)
+#define TRCID_LINUXOPS_BMAP	(LOCAL_TRCID + 116)
+#define TRCID_LINUXOPS_TRUNCATE	(LOCAL_TRCID + 117)
+#define TRCID_LINUXOPS_ACCESS_ENTER	(LOCAL_TRCID + 118)
+#define TRCID_LINUXOPS_ACCESS_EXIT	(LOCAL_TRCID + 119)
+#define TRCID_LINUXOPS_SMAP	(LOCAL_TRCID + 120)
+#define TRCID_LINUXOPS_UPDATEPAGE	(LOCAL_TRCID + 121)
+#define TRCID_LINUXOPS_REVALIDATE_ENTER	(LOCAL_TRCID + 122)
+#define TRCID_LINUXOPS_REVALIDATE_STALE	(LOCAL_TRCID + 123)
+#define TRCID_REVAL_DELAY	(LOCAL_TRCID + 124)
+#define TRCID_REVAL_DELAY_END	(LOCAL_TRCID + 125)
+#define TRCID_LINUXOPS_REVALIDATE_EXIT	(LOCAL_TRCID + 126)
+#define TRCID_LINUXOPS_SETATTR_ENTER	(LOCAL_TRCID + 127)
+#define TRCID_LINUXOPS_SETATTR_EXIT	(LOCAL_TRCID + 128)
+#define TRCID_LINUXOPS_GETATTR_ENTER	(LOCAL_TRCID + 129)
+#define TRCID_LINUXOPS_GETATTR_EXIT	(LOCAL_TRCID + 130)
+#define TRCID_LINUXOPS_GETEXTATTR_ENTER	(LOCAL_TRCID + 131)
+#define TRCID_LINUXOPS_GETEXTATTR_EXIT0	(LOCAL_TRCID + 132)
+#define TRCID_LINUXOPS_GETEXTATTR_EXIT	(LOCAL_TRCID + 133)
+#define TRCID_LINUXOPS_GETEXTATTR_EXIT2	(LOCAL_TRCID + 134)
+#define TRCID_LINUXOPS_SETEXTATTR_ENTER	(LOCAL_TRCID + 135)
+#define TRCID_LINUXOPS_SETEXTATTR_EXIT	(LOCAL_TRCID + 136)
+#define TRCID_LINUXOPS_LISTXATTR_IN	(LOCAL_TRCID + 137)
+#define TRCID_LINUXOPS_LISTXTATTR_EXIT0	(LOCAL_TRCID + 138)
+#define TRCID_LINUXOPS_LISTXTATTR_EXIT	(LOCAL_TRCID + 139)
+#define TRCID_LINUXOPS_REMOVEXATTR_IN	(LOCAL_TRCID + 140)
+#define TRCID_LINUXOPS_REMOVEXATTR_EXIT	(LOCAL_TRCID + 141)
+#define TRCID_VNODE_BKL	(LOCAL_TRCID + 142)
+#define TRCID_LINUXOPS_GPFS_ALLOC_INODE_EXIT	(LOCAL_TRCID + 143)
+#define TRCID_LINUXOPS_GPFS_DESTROY_INODE	(LOCAL_TRCID + 144)
+#define TRCID_LINUXOPS_READINODE_ENTER	(LOCAL_TRCID + 145)
+#define TRCID_LINUXOPS_NEW_VNODE_1	(LOCAL_TRCID + 146)
+#define TRCID_LINUXOPS_READINODE_EXIT	(LOCAL_TRCID + 147)
+#define TRCID_LINUXOPS_READINODE_EXIT_BAD	(LOCAL_TRCID + 148)
+#define TRCID_LINUXOPS_READINODE_HUH	(LOCAL_TRCID + 149)
+#define TRCID_LINUXOPS_DELETE_INODE	(LOCAL_TRCID + 150)
+#define TRCID_LINUXOPS_DELETE_INODE_1	(LOCAL_TRCID + 151)
+#define TRCID_LINUXOPS_NOTIFY_ENTER	(LOCAL_TRCID + 152)
+#define TRCID_LINUXOPS_NOTIFY_EXIT	(LOCAL_TRCID + 153)
+#define TRCID_LINUXOPS_PUTSUPER_ENTER	(LOCAL_TRCID + 154)
+#define TRCID_LINUXOPS_PUTSUPER_EXIT	(LOCAL_TRCID + 155)
+#define TRCID_LINUXOPS_STATFS_ENTER	(LOCAL_TRCID + 156)
+#define TRCID_LINUXOPS_STATFS_EXIT	(LOCAL_TRCID + 157)
+#define TRCID_LINUXOPS_UMOUNT_ENTER	(LOCAL_TRCID + 158)
+#define TRCID_LINUXOPS_UMOUNT_EXIT	(LOCAL_TRCID + 159)
+#define TRCID_LINUXOPS_REMOUNT	(LOCAL_TRCID + 160)
+#define TRCID_LINUXOPS_WRITEINODE	(LOCAL_TRCID + 161)
+#define TRCID_LINUXOPS_CLEARINODE	(LOCAL_TRCID + 162)
+#define TRCID_LINUXOPS_CLEARINODE_DETAILS	(LOCAL_TRCID + 163)
+#define TRCID_LINUXOPS_CLEARINODE_EXIT	(LOCAL_TRCID + 164)
+#define TRCID_LINUXOPS_WRITESUPER	(LOCAL_TRCID + 165)
+#define TRCID_LINUXOPS_WRITESUPER_3	(LOCAL_TRCID + 166)
+#define TRCID_LINUXOPS_WRITESUPER_5	(LOCAL_TRCID + 167)
+#define TRCID_LINUXOPS_GET_SB	(LOCAL_TRCID + 168)
+#define TRCID_LINUXOPS_READSUPER_1	(LOCAL_TRCID + 169)
+#define TRCID_LINUXOPS_READSUPER_2	(LOCAL_TRCID + 170)
+#define TRCID_LINUXOPS_READSUPER_3	(LOCAL_TRCID + 171)
+#define TRCID_LINUXOPS_READSUPER_OPTIONS	(LOCAL_TRCID + 172)
+#define TRCID_LINUXOPS_READSUPER_STARTHELPER	(LOCAL_TRCID + 173)
+#define TRCID_LINUXOPS_READSUPER_STARTHELPER1	(LOCAL_TRCID + 174)
+#define TRCID_LINUXOPS_READSUPER_HELPERRC	(LOCAL_TRCID + 175)
+#define TRCID_LINUXOPS_READSUPER_SUCCEED	(LOCAL_TRCID + 176)
+#define TRCID_LINUXOPS_READSUPER_FAILED	(LOCAL_TRCID + 177)
+#define TRCID_LINUXOPS_REGFS	(LOCAL_TRCID + 178)
+#define TRCID_LINUXOPS_UNREGFS	(LOCAL_TRCID + 179)
+#define TRCID_LINUXOPS_KILLMMFSD	(LOCAL_TRCID + 180)
+#define TRCID_LINUXOPS_EXECMMFS_EXIT	(LOCAL_TRCID + 181)
+#define TRCID_LINUXOPS_FORK_MOUNTHELPER	(LOCAL_TRCID + 182)
+#define TRCID_SET_MOUNT_INFO	(LOCAL_TRCID + 183)
+#define TRCID_LINUXOPS_CXIUNMOUNT_ENTER	(LOCAL_TRCID + 184)
+#define TRCID_LINUXOPS_CXIUNMOUNT_EXIT	(LOCAL_TRCID + 185)
+#define TRCID_LINUXOPS_REACTIVATE_VNODE	(LOCAL_TRCID + 186)
+#define TRCID_LINUXOPS_INODEFINDACTOR	(LOCAL_TRCID + 187)
+#define TRCID_LINUXOPS_INODEFINDACTOR2	(LOCAL_TRCID + 188)
+#define TRCID_LINUXOPS_NEW_VNODE	(LOCAL_TRCID + 189)
+#define TRCID_LINUXOPS_NEW_BAD	(LOCAL_TRCID + 190)
+#define TRCID_LINUXOPS_NEW_VNODE_2	(LOCAL_TRCID + 191)
+#define TRCID_LINUXOPS_NEW_VNODE_EXIT	(LOCAL_TRCID + 192)
+#define TRCID_LINUXOPS_NEW_VNODE_BAD	(LOCAL_TRCID + 193)
+#define TRCID_LINUXOPS_DELETE_VNODE	(LOCAL_TRCID + 194)
+#define TRCID_LINUXOPS_DELETE_MMAP	(LOCAL_TRCID + 195)
+#define TRCID_LINUXOPS_REINIT_VNODE	(LOCAL_TRCID + 196)
+#define TRCID_LINUXOPS_DUMP_VNODE	(LOCAL_TRCID + 197)
+#define TRCID_LINUXOPS_IGRABINODEFINDACTOR	(LOCAL_TRCID + 198)
+#define TRCID_LINUXOPS_REF_VNODE	(LOCAL_TRCID + 199)
+#define TRCID_LINUXOPS_INACTIVE_VNODE	(LOCAL_TRCID + 200)
+#define TRCID_LINUXOPS_PUT_OSNODE	(LOCAL_TRCID + 201)
+#define TRCID_LINUXOPS_DESTROY_OSNODE	(LOCAL_TRCID + 202)
+#define TRCID_CXIUPDATE_INODE_3	(LOCAL_TRCID + 203)
+#define TRCID_CXIUPDATE_INODE_1	(LOCAL_TRCID + 204)
+#define TRCID_LINUXOPS_CANUNCACHE_OSNODE	(LOCAL_TRCID + 205)
+#define TRCID_LINUXOPS_ADD_OSNODE	(LOCAL_TRCID + 206)
+#define TRCID_LINUXOPS_LOCFS_ENTER	(LOCAL_TRCID + 207)
+#define TRCID_LINUXOPS_LOCFS_EXIT	(LOCAL_TRCID + 208)
+#define TRCID_NFSD_IGET_DENTRY_1	(LOCAL_TRCID + 209)
+#define TRCID_NFSD_IGET_31	(LOCAL_TRCID + 210)
+#define TRCID_NFSD_IGET_41	(LOCAL_TRCID + 211)
+#define TRCID_NFSD_IGET_3	(LOCAL_TRCID + 212)
+#define TRCID_NFSD_IGET_4	(LOCAL_TRCID + 213)
+#define TRCID_NFSD_IGET_5	(LOCAL_TRCID + 214)
+#define TRCID_NFSD_IGET_6	(LOCAL_TRCID + 215)
+#define TRCID_NFSD_IGET_7	(LOCAL_TRCID + 216)
+#define TRCID_NFSD_IGET_8	(LOCAL_TRCID + 217)
+#define TRCID_NFSD_IGET_9	(LOCAL_TRCID + 218)
+#define TRCID_NFSD_IGET_10	(LOCAL_TRCID + 219)
+#define TRCID_NFSD_IGET_1	(LOCAL_TRCID + 220)
+#define TRCID_NFSD_IGET_BAD	(LOCAL_TRCID + 221)
+#define TRCID_NFSD_IGET_2	(LOCAL_TRCID + 222)
+#define TRCID_GET_DPARENT_ENTER	(LOCAL_TRCID + 223)
+#define TRCID_GET_DPARENT_EXIT	(LOCAL_TRCID + 224)
+#define TRCID_DECODE_FH_1	(LOCAL_TRCID + 225)
+#define TRCID_DECODE_FH_2	(LOCAL_TRCID + 226)
+#define TRCID_DECODE_FH_3	(LOCAL_TRCID + 227)
+#define TRCID_FH_TO_DENTRY_1	(LOCAL_TRCID + 228)
+#define TRCID_FH_TO_DENTRY_2	(LOCAL_TRCID + 229)
+#define TRCID_FH_TO_DENTRY_3	(LOCAL_TRCID + 230)
+#define TRCID_FCNTLLOCK_ENTER	(LOCAL_TRCID + 231)
+#define TRCID_FCNTLLOCK_GETLK	(LOCAL_TRCID + 232)
+#define TRCID_FCNTLLOCK_EXIT	(LOCAL_TRCID + 233)
+#define TRCID_SLEEP	(LOCAL_TRCID + 234)
+#define TRCID_SLEEP_END	(LOCAL_TRCID + 235)
+#define TRCID_OPENNFS	(LOCAL_TRCID + 236)
+#define TRCID_CXISTART_KPROC_LINUX	(LOCAL_TRCID + 237)
+#define TRCID_CXISTOP_KPROC_LINUX	(LOCAL_TRCID + 238)
+#define TRCID_PANIC	(LOCAL_TRCID + 239)
+#define TRCID_MODULE_LOGASSERT_1	(LOCAL_TRCID + 240)
+#define TRCID_MODULE_LOGASSERT_2	(LOCAL_TRCID + 241)
+#define TRCID_CXISYSTEM_037	(LOCAL_TRCID + 242)
+#define TRCID_CXISYSTEM_039a	(LOCAL_TRCID + 243)
+#define TRCID_CXISYSTEM_039	(LOCAL_TRCID + 244)
+#define TRCID_CXISYSTEM_041a	(LOCAL_TRCID + 245)
+#define TRCID_CXISYSTEM_041	(LOCAL_TRCID + 246)
+#define TRCID_CXISYSTEM_CHKTYPES	(LOCAL_TRCID + 247)
+#define TRCID_BM_INIT	(LOCAL_TRCID + 248)
+#define TRCID_BM_ACQ	(LOCAL_TRCID + 249)
+#define TRCID_BM_ACQ_EXIT	(LOCAL_TRCID + 250)
+#define TRCID_BM_REL	(LOCAL_TRCID + 251)
+#define TRCID_BM_TERM	(LOCAL_TRCID + 252)
+#define TRCID_CXISYSTEM_017	(LOCAL_TRCID + 253)
+#define TRCID_CXISYSTEM_018	(LOCAL_TRCID + 254)
+#define TRCID_CXISYSTEM_EVENT_WAIT_ENTER	(LOCAL_TRCID + 255)
+#define TRCID_CXISYSTEM_EVENT_WAIT_EXIT	(LOCAL_TRCID + 256)
+#define TRCID_CXISYSTEM_SIGNAL	(LOCAL_TRCID + 257)
+#define TRCID_CXISYSTEM_WAKEUP_ONE	(LOCAL_TRCID + 258)
+#define TRCID_CXISYSTEM_BROADCAST	(LOCAL_TRCID + 259)
+#define TRCID_CXISYSTEM_BROADCAST_RC	(LOCAL_TRCID + 260)
+#define TRCID_CXICHECKOPEN_ENTRY	(LOCAL_TRCID + 261)
+#define TRCID_CXICHECKOPEN_FOUND	(LOCAL_TRCID + 262)
+#define TRCID_SEND_BREAK	(LOCAL_TRCID + 263)
+#define TRCID_BREAKWAIT	(LOCAL_TRCID + 264)
+#define TRCID_BREAKWAIT_EXIT	(LOCAL_TRCID + 265)
+#define TRCID_DMS_STARTED	(LOCAL_TRCID + 267)
+#define TRCID_DMS_STOPPED	(LOCAL_TRCID + 268)
+#define TRCID_CXIREGISTERCLEANUP_EXIT	(LOCAL_TRCID + 269)
+#define TRCID_FDDISCARD1	(LOCAL_TRCID + 270)
+#define TRCID_FDDISCARD2	(LOCAL_TRCID + 271)
+#define TRCID_FDENTRY	(LOCAL_TRCID + 272)
+#define TRCID_IMPLIED_EXIT	(LOCAL_TRCID + 273)
+#define TRCID_NEWMAX_EXTEND	(LOCAL_TRCID + 274)
+#define TRCID_NEWMAX	(LOCAL_TRCID + 275)
+#define TRCID_FDEXIT	(LOCAL_TRCID + 276)
+#define TRCID_FDEXIT_NOTFOUND	(LOCAL_TRCID + 277)
+#define TRCID_KTRACE_LINUX_ENTER	(LOCAL_TRCID + 278)
+#define TRCID_KTRACE_LINUX_EXIT	(LOCAL_TRCID + 279)
+#define TRCID_KIBD_NEW	(LOCAL_TRCID + 280)
+#define TRCID_KIBD_DELETE	(LOCAL_TRCID + 281)
+#define TRCID_DEALLOC_KIBD_1	(LOCAL_TRCID + 282)
+#define TRCID_DEALLOC_KIBD_2	(LOCAL_TRCID + 283)
+#define TRCID_ALLOC_KIBD_1	(LOCAL_TRCID + 284)
+#define TRCID_ALLOC_KIBD_2	(LOCAL_TRCID + 285)
+#define TRCID_KIBD_INIT	(LOCAL_TRCID + 286)
+#define TRCID_KIBD_TERM	(LOCAL_TRCID + 287)
+#define TRCID_BHC_CACHE_DESTROY	(LOCAL_TRCID + 288)
+#define TRCID_KIBD_CACHE_DESTROY	(LOCAL_TRCID + 289)
+#define TRCID_KIBDPIN_ENTER	(LOCAL_TRCID + 290)
+#define TRCID_KIBDPIN_EXIT	(LOCAL_TRCID + 291)
+#define TRCID_KIBD_UNPIN_ALL_ENTER	(LOCAL_TRCID + 292)
+#define TRCID_KIBD_UNPIN_ALL_EXIT	(LOCAL_TRCID + 293)
+#define TRCID_ATTACH_ENTER	(LOCAL_TRCID + 294)
+#define TRCID_ATTACH_KIBD	(LOCAL_TRCID + 295)
+#define TRCID_DETACH_KIBD	(LOCAL_TRCID + 296)
+#define TRCID_UXFER_LINUX	(LOCAL_TRCID + 297)
+#define TRCID_UXFER_UIOMOVE	(LOCAL_TRCID + 298)
+#define TRCID_XMEMXFER_LINUX	(LOCAL_TRCID + 299)
+#define TRCID_XMEMFER_COPY	(LOCAL_TRCID + 300)
+#define TRCID_KXFER_LINUX	(LOCAL_TRCID + 301)
+#define TRCID_KXFER_MEMCPY	(LOCAL_TRCID + 302)
+#define TRCID_KZERO_LINUX	(LOCAL_TRCID + 303)
+#define TRCID_KZERO_MEMSET	(LOCAL_TRCID + 304)
+#define TRCID_MAP_DISCONTIG_ENTER	(LOCAL_TRCID + 305)
+#define TRCID_MAP_DISCONTIG_KMAP	(LOCAL_TRCID + 306)
+#define TRCID_UNMAP_DISCONTIG_ENTER	(LOCAL_TRCID + 307)
+#define TRCID_UNMAP_DISCONTIG_KUNMAP	(LOCAL_TRCID + 308)
+#define TRCID_MAP_CONTIG_ENTER	(LOCAL_TRCID + 309)
+#define TRCID_MAP_CONTIG_KMAP	(LOCAL_TRCID + 310)
+#define TRCID_MAP_CONTIG_VMALLOC	(LOCAL_TRCID + 311)
+#define TRCID_UNMAP_CONTIG_VFREE	(LOCAL_TRCID + 312)
+#define TRCID_UNMAP_CONTIG_KUNMAP	(LOCAL_TRCID + 313)
+#define TRCID_KDOIO_LINUX	(LOCAL_TRCID + 314)
+#define TRCID_KDOIO_LINUX_BH_PAGENUM	(LOCAL_TRCID + 315)
+#define TRCID_KDOIO_LINUX_BH	(LOCAL_TRCID + 316)
+#define TRCID_DISKINFO	(LOCAL_TRCID + 317)
+#define TRCID_KDOIO_LINUX_BIO	(LOCAL_TRCID + 318)
+#define TRCID_KDOIO_LINUX_BIO_PAGENUM	(LOCAL_TRCID + 319)
+#define TRCID_KDOIO_LINUX_BIO_PAGE	(LOCAL_TRCID + 320)
+#define TRCID_GET_DISKINFOX	(LOCAL_TRCID + 321)
+#define TRCID_KWAITIO_BIO	(LOCAL_TRCID + 322)
+#define TRCID_KWAITIO_BH	(LOCAL_TRCID + 323)
+#define TRCID_KWAITIO_BIO_ERR	(LOCAL_TRCID + 324)
+#define TRCID_KWAITIO_BH_ERR	(LOCAL_TRCID + 325)
+#define TRCID_KWAITIO_BH_BUSY	(LOCAL_TRCID + 326)
+#define TRCID_LINUXOPS_TSSTAT_ENTER	(LOCAL_TRCID + 327)
+#define TRCID_LINUXOPS_TSSTAT_EXIT	(LOCAL_TRCID + 328)
+#define TRCID_LINUXOPS_TSFSTAT_ENTER	(LOCAL_TRCID + 329)
+#define TRCID_LINUXOPS_TSFSTAT_EXIT	(LOCAL_TRCID + 330)
+#define TRCID_LINUXOPS_TSFATTR_ENTER	(LOCAL_TRCID + 331)
+#define TRCID_LINUXOPS_TSFATTR_EXIT	(LOCAL_TRCID + 332)
+#define TRCID_LINUXOPS_TSFSATTR_ENTER	(LOCAL_TRCID + 333)
+#define TRCID_LINUXOPS_TSFSATTR_EXIT	(LOCAL_TRCID + 334)
+#define TRCID_LINUXOPS_TSATTR_ENTER	(LOCAL_TRCID + 335)
+#define TRCID_LINUXOPS_TSATTR_EXIT	(LOCAL_TRCID + 336)
+#define TRCID_LINUXOPS_KXGETACL_EXIT	(LOCAL_TRCID + 337)
+#define TRCID_LINUXOPS_KXPUTACL_EXIT	(LOCAL_TRCID + 338)
+#define TRCID_SMBOPENLOCKCONTROL_ENTERL	(LOCAL_TRCID + 339)
+#define TRCID_SMBOPENLOCKCONTROL_EXITL	(LOCAL_TRCID + 340)
+#define TRCID_LINUXOPS_SETSMBOPLOCK_E	(LOCAL_TRCID + 341)
+#define TRCID_LINUXOPS_SETSMBOPLOCK_X	(LOCAL_TRCID + 342)
+#define TRCID_LINUX_SHARE_ENTER	(LOCAL_TRCID + 343)
+#define TRCID_SHARE_RESET	(LOCAL_TRCID + 344)
+#define TRCID_LINUX_SHARE_EXIT	(LOCAL_TRCID + 345)
+#define TRCID_DELEGATE_ENTER	(LOCAL_TRCID + 346)
+#define TRCID_DELEGATE_EXIT	(LOCAL_TRCID + 347)
+#define TRCID_KXUMOUNT_ENT	(LOCAL_TRCID + 348)
+#define TRCID_KXUMOUNT_EXT	(LOCAL_TRCID + 349)
+#define TRCID_SS_019	(LOCAL_TRCID + 350)
+#define TRCID_SS_023	(LOCAL_TRCID + 351)
+#define TRCID_SS_059	(LOCAL_TRCID + 352)
+#define TRCID_SS_065	(LOCAL_TRCID + 353)
+#define TRCID_SS_075	(LOCAL_TRCID + 354)
+#define TRCID_SS_077	(LOCAL_TRCID + 355)
+#define TRCID_SS_081	(LOCAL_TRCID + 356)
+#define TRCID_SS_083	(LOCAL_TRCID + 357)
+#define TRCID_UNPROT_ENTER	(LOCAL_TRCID + 358)
+#define TRCID_REPROT_ENTER	(LOCAL_TRCID + 359)
+#define TRCID_SHKERN_INIT	(LOCAL_TRCID + 360)
+#define TRCID_CALC_MAX_SHARED	(LOCAL_TRCID + 361)
+#define TRCID_ALLOC_SHARED_VMALLOC	(LOCAL_TRCID + 362)
+#define TRCID_ALLOC_SHARED_EXIT	(LOCAL_TRCID + 363)
+#define TRCID_FREEALL_VFREE	(LOCAL_TRCID + 364)
+#define TRCID_MAPALL_MULTI	(LOCAL_TRCID + 365)
+#define TRCID_UNMAPALL_MULTI	(LOCAL_TRCID + 366)
+#define TRCID_SSINIT_003	(LOCAL_TRCID + 367)
+#define TRCID_CXI_MAP_PRIVATE	(LOCAL_TRCID + 368)
+#define TRCID_MMAP_DIRTY_PAGE_DUMP	(LOCAL_TRCID + 369)
+#define TRCID_MMAP_DIRTY_PAGE_DUMP_A	(LOCAL_TRCID + 370)
+#define TRCID_MMAP_DIRTY_PAGE_DUMP_B	(LOCAL_TRCID + 371)
+#define TRCID_MMAP_REG_ENTER	(LOCAL_TRCID + 372)
+#define TRCID_MMAP_UNREG_ENTER	(LOCAL_TRCID + 373)
+#define TRCID_MMAP_FILEPOS_ENTER	(LOCAL_TRCID + 374)
+#define TRCID_MMAP_IO_ENTER	(LOCAL_TRCID + 375)
+#define TRCID_MMAP_IO_EXIT	(LOCAL_TRCID + 376)
+#define TRCID_MMAP_FLUSH_ENTER	(LOCAL_TRCID + 377)
+#define TRCID_MMAP_FLUSH_EXIT	(LOCAL_TRCID + 378)
+#define TRCID_CXIGETPAGE	(LOCAL_TRCID + 379)
+#define TRCID_CXIRELPAGE	(LOCAL_TRCID + 380)
+#define TRCID_LINUXOPS_NOPAGE	(LOCAL_TRCID + 381)
+#define TRCID_LINUXOPS_NOPAGE_1	(LOCAL_TRCID + 382)
+#define TRCID_LINUXOPS_NOPAGE_2	(LOCAL_TRCID + 383)
+#define TRCID_LINUXOPS_NOPAGE_3	(LOCAL_TRCID + 384)
+#define TRCID_LINUXOPS_NOPAGEDONE	(LOCAL_TRCID + 385)
+#define TRCID_LINUXOPS_READPAGE_ENTER	(LOCAL_TRCID + 386)
+#define TRCID_LINUXOPS_READPAGE_ENTER_A	(LOCAL_TRCID + 387)
+#define TRCID_LINUXOPS_READPAGE1	(LOCAL_TRCID + 388)
+#define TRCID_LINUXOPS_READPAGE_EXIT	(LOCAL_TRCID + 389)
+#define TRCID_LINUXOPS_WRPAGE_ENTER	(LOCAL_TRCID + 390)
+#define TRCID_LINUXOPS_WRPAGE_ENTER_A	(LOCAL_TRCID + 391)
+#define TRCID_LINUXOPS_WRPAGE_EXIT	(LOCAL_TRCID + 392)
+#define TRCID_LINUXOPS_ACL2POSIX_ENTER	(LOCAL_TRCID + 393)
+#define TRCID_LINUXOPS_ACL2POSIX_2	(LOCAL_TRCID + 394)
+#define TRCID_LINUXOPS_ACL2POSIX	(LOCAL_TRCID + 395)
+#define TRCID_LINUXOPS_ACL2POSIX_EXIT	(LOCAL_TRCID + 396)
+#define TRCID_LINUXOPS_POSIX2ACL	(LOCAL_TRCID + 397)
+#define TRCID_LINUXOPS_SETACLATTR_ENTER	(LOCAL_TRCID + 398)
+#define TRCID_LINUXOPS_SETACLATTR_EXIT	(LOCAL_TRCID + 399)
+#define TRCID_LINUXOPS_GETACLATTR_ENTER	(LOCAL_TRCID + 400)
+#define TRCID_LINUXOPS_GETACLATTR_EXIT	(LOCAL_TRCID + 401)
+#define TRCID_KTRACE_LINUX_EXIT_RC	(LOCAL_TRCID + 402)
+#define TRCID_PRINTSUPER_1	(LOCAL_TRCID + 403)
+#define TRCID_PRINTSUPER_5	(LOCAL_TRCID + 404)
+#define TRCID_PRINTALLSUPER_1	(LOCAL_TRCID + 405)
+#define TRCID_PRINTALLSUPER_5	(LOCAL_TRCID + 406)
+#define TRCID_PRINTSUPER_3	(LOCAL_TRCID + 407)
+#define TRCID_CXISYSTEM_EVENT_WAIT_INTERRUPTED	(LOCAL_TRCID + 408)
+#define TRCID_LINUXOPS_SENDFILE_ENTER	(LOCAL_TRCID + 409)
+#define TRCID_LINUXOPS_SENDFILE_EXIT	(LOCAL_TRCID + 410)
+#define TRCID_LINUXOPS_GET_DEVICELIST_ENTER	(LOCAL_TRCID + 411)
+#define TRCID_GET_DEVICELIST_EXIT	(LOCAL_TRCID + 412)
+#define TRCID_LINUXOPS_GET_LAYOUT_ENTER	(LOCAL_TRCID + 413)
+#define TRCID_GET_LAYOUT_EXIT	(LOCAL_TRCID + 414)
+#define TRCID_LINUXOPS_SET_STATEID_ENTER	(LOCAL_TRCID + 415)
+#define TRCID_SET_STETEID_EXIT	(LOCAL_TRCID + 416)
+#define TRCID_LINUXOPS_LAYOUT_RET_ENTER	(LOCAL_TRCID + 417)
+#define TRCID_LAYOUT_RET_EXIT	(LOCAL_TRCID + 418)
+#define TRCID_LINUXOPS_GET_DEVICEINFO_ENTER	(LOCAL_TRCID + 419)
+#define TRCID_GET_DEVICEINFO_EXIT	(LOCAL_TRCID + 420)
+#define TRCID_PRINTDENTRY_3C	(LOCAL_TRCID + 421)
+#define TRCID_LINUXOPS_TSQUOTACTL_K	(LOCAL_TRCID + 422)
+#define TRCID_LINUXOPS_TSQUOTACTL_K1	(LOCAL_TRCID + 423)
+#define TRCID_LINUXOPS_TSQUOTACTL_K2	(LOCAL_TRCID + 424)
+#define TRCID_LINUXOPS_TSQUOTACTL_K6	(LOCAL_TRCID + 425)
+#define TRCID_LINUXOPS_TSQUOTACTL_K7	(LOCAL_TRCID + 426)
+#define TRCID_LINUXOPS_TSQUOTACTL_EXIT	(LOCAL_TRCID + 427)
+#define TRCID_MMAP_REG_5	(LOCAL_TRCID + 428)
+#define TRCID_CXI_GET_DEVICELIST_P1	(LOCAL_TRCID + 429)
+#define TRCID_CXI_GET_DEVICELIST_EXIT	(LOCAL_TRCID + 430)
+#define TRCID_GPFSOPS_GET_DEVICELINFO_P1	(LOCAL_TRCID + 431)
+#define TRCID_CXI_GET_DEVICELINFO_EXIT	(LOCAL_TRCID + 432)
+#define TRCID_CXI_GET_LAYOUT_ENTER	(LOCAL_TRCID + 433)
+#define TRCID_CXI_GET_LAYOUT_P1	(LOCAL_TRCID + 434)
+#define TRCID_CXI_GET_LAYOUT_EXIT	(LOCAL_TRCID + 435)
+#define TRCID_LINUXOPS_LEASE_ENTER	(LOCAL_TRCID + 436)
+#define TRCID_LINUXOPS_LEASE_EXIT	(LOCAL_TRCID + 437)
+#define TRCID_CXIBREAKOPLOCK	(LOCAL_TRCID + 438)
+#define TRCID_NFS_ERROR	(LOCAL_TRCID + 439)
+#define TRCID_NFS_ERROR_1	(LOCAL_TRCID + 440)
+#define TRCID_PRODVER_MISMATCH	(LOCAL_TRCID + 441)
+#define TRCID_STEMCRVER_MISMATCH	(LOCAL_TRCID + 442)
+#define TRCID_SS_DMAPI_COMPAT_ENTER	(LOCAL_TRCID + 443)
+#define TRCID_SS_DMAPI_COMPAT_EXIT	(LOCAL_TRCID + 444)
+
+/* Generated trace calls */
+
+#ifdef __64BIT__
+
+#define TRACE_TRCID_CXIINC_COUNTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXIINC_COUNTER), (Int64)(ibmModule), (Int64)(up));
+#define TRACE_TRCID_GPFSINIT_000_CALL \
+    _STrace(_HOOKWORD(TRCID_GPFSINIT_000), 1, 0, prog_path, (Int64)(strlen(prog_path)));
+#define TRACE_TRCID_PORTINIT_001_CALL \
+    _STrace(_HOOKWORD(TRCID_PORTINIT_001), 0, 0, prog_path == NULL ? "NULL" : prog_path);
+#define TRACE_TRCID_FBREAD_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FBREAD_ENTER), (Int64)(file), (Int64)(buf), (Int64)(nbytes));
+#define TRACE_TRCID_FBREAD_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_FBREAD_EXIT), (Int64)(written));
+#define TRACE_TRCID_FBWRITE_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FBWRITE_ENTER), (Int64)(file), (Int64)(buf), (Int64)(nbytes));
+#define TRACE_TRCID_FBOPEN_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FBOPEN_ENTER), (Int64)(inode), (Int64)(file));
+#define TRACE_TRCID_FBOPEN_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FBOPEN_EXIT), (Int64)(bdP), (Int64)(openers), (Int64)(count));
+#define TRACE_TRCID_FBRELEASE_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FBRELEASE_ENTER), (Int64)(inode), (Int64)(file));
+#define TRACE_TRCID_FBRELEASE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FBRELEASE_EXIT), (Int64)(bdP), (Int64)(openers), (Int64)(count));
+#define TRACE_TRCID_FBIOCTL_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_FBIOCTL_ENTER), (Int64)(inode), (Int64)(file), (Int64)(p1), (Int64)(p2));
+#define TRACE_TRCID_BOPEN_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BOPEN_ENTER), (Int64)(inode), (Int64)(file));
+#define TRACE_TRCID_BOPEN_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_BOPEN_EXIT), (Int64)(bdP), (Int64)(openers), (Int64)(count));
+#define TRACE_TRCID_BRELEASE_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BRELEASE_ENTER), (Int64)(inode), (Int64)(file));
+#define TRACE_TRCID_BRELEASE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_BRELEASE_EXIT), (Int64)(bdP), (Int64)(openers), (Int64)(count));
+#define TRACE_TRCID_BIOCTL_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_BIOCTL_ENTER), (Int64)(inode), (Int64)(file), (Int64)(p1), (Int64)(p2));
+#define TRACE_TRCID_BLOCK_011_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BLOCK_011), (Int64)(GPFSFileSysMajorNumber), (Int64)(rc));
+#define TRACE_TRCID_BLOCK_013_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BLOCK_013), (Int64)(GPFSFileSysMajorNumber), (Int64)(rc));
+#define TRACE_TRCID_BLOCK_015_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BLOCK_015), (Int64)(GPFSFileSysMajorNumber), (Int64)(rc));
+#define TRACE_TRCID_PRUNE_DCACHE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_PRUNE_DCACHE), (Int64)(iP), (Int64)(iP->i_ino));
+#define TRACE_TRCID_PRUNE_DCACHE_ALIAS_CALL \
+    _STraceNB(_HOOKWORD(TRCID_PRUNE_DCACHE_ALIAS), 4, 4, (Int64)(iP), (Int64)(iP->i_ino), (Int64)(dentry), (Int64)(hasSubdirs), dentry->d_name.name);
+#define TRACE_TRCID_INVAL_DCACHE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_INVAL_DCACHE), (Int64)(iP), (Int64)(iP->i_ino));
+#define TRACE_TRCID_INVAL_DCACHE_ALIAS_CALL \
+    _STraceNB(_HOOKWORD(TRCID_INVAL_DCACHE_ALIAS), 3, 3, (Int64)(iP), (Int64)(iP->i_ino), (Int64)(dentry), dentry->d_name.name);
+#define TRACE_TRCID_DROP_INVAL_DCACHE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_DROP_INVAL_DCACHE), (Int64)(iP), (Int64)(iP->i_ino));
+#define TRACE_TRCID_DROP_INVAL_DCACHE_ALIAS_CALL \
+    _STraceNB(_HOOKWORD(TRCID_DROP_INVAL_DCACHE_ALIAS), 3, 3, (Int64)(iP), (Int64)(iP->i_ino), (Int64)(dentry), dentry->d_name.name);
+#define TRACE_TRCID_INVAL_NEG_DCACHE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_INVAL_NEG_DCACHE), (Int64)(iP), (Int64)(iP->i_ino));
+#define TRACE_TRCID_INVAL_NEG_DUNCACHE_CALL \
+    _XTraceNB(_HOOKWORD(TRCID_INVAL_NEG_DUNCACHE), "cxiInvalidateNegDCacheEntry: ip 0x%lX ino %d "                 "%s dentry 0x%lX name '%s'", (Int64)(iP), (Int64)(iP->i_ino), !child->d_inode ? "inval" : "reval", (Int64)(child), child->d_name.name);
+#define TRACE_TRCID_DIR_001_CALL \
+    _STrace(_HOOKWORD(TRCID_DIR_001), 2, 2, (Int64)(dentry), (Int64)(dentry->d_inode), dentry->d_name.name);
+#define TRACE_TRCID_DIR_REVALIDATE_CALL \
+    _STrace(_HOOKWORD(TRCID_DIR_REVALIDATE), 5, 5, (Int64)(dentry), (Int64)(dentry->d_inode), (Int64)(dentry->d_inode ? dentry->d_inode->i_ino : -1), (Int64)(dentry->d_parent), (Int64)(current->fs->pwd), dentry->d_name.name);
+#define TRACE_TRCID_DIR_REVALIDATE_EX_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_DIR_REVALIDATE_EX), (Int64)(dentry), (Int64)(rc));
+#define TRACE_TRCID_DIR_VALID_IF_SAMBA_CALL \
+    _XTrace(_HOOKWORD(TRCID_DIR_VALID_IF_SAMBA), "gpfs_d_valid_if_Samba: dentry 0x%lX "            "d_inode 0x%lX (name '%s') returns %s\n", (Int64)(dentry), (Int64)(dentry->d_inode), dentry->d_name.name, (cxiIsSambaThread() ? "true" : "false"));
+#define TRACE_TRCID_DIR_INVALID_IF_SAMBA_CALL \
+    _XTrace(_HOOKWORD(TRCID_DIR_INVALID_IF_SAMBA), "gpfs_d_invalid_if_Samba: dentry 0x%lX "            "d_inode 0x%lX (name '%s') returns %s\n", (Int64)(dentry), (Int64)(dentry->d_inode), dentry->d_name.name, (cxiIsSambaThread() ? "false" : "true"));
+#define TRACE_TRCID_LINUXOPS_LLSEEK_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_LLSEEK_ENTER), (Int64)(fP), (Int64)(offset), (Int64)(origin));
+#define TRACE_TRCID_LINUXOPS_LLSEEK_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_LLSEEK_EXIT), (Int64)(fP), (Int64)(offset), (Int64)(origin), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_READDIR_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READDIR_ENTER), (Int64)(fP), (Int64)(direntP), (Int64)(filldir), (Int64)(fP->f_pos));
+#define TRACE_TRCID_LINUXOPS_READDIR_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_READDIR_EXIT), (Int64)(fP), (Int64)(fP->f_pos), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_POLL_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_POLL), (Int64)(fP));
+#define TRACE_TRCID_LINUXOPS_IOCTL_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_IOCTL), (Int64)(iP), (Int64)(fP), (Int64)(cmd));
+#define TRACE_TRCID_FM_OPEN_CALL \
+    _STrace(_HOOKWORD(TRCID_FM_OPEN), 3, 3, (Int64)(vma), (Int64)(inode->i_ino), (Int64)(atomic_read((atomic_t *)&inode->i_count)), file->f_dentry? file->f_dentry->d_name.name: (const unsigned char*)"");
+#define TRACE_TRCID_FM_OPEN_1_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FM_OPEN_1), (Int64)(mm), (Int64)(atomic_read(&mm->mm_users)));
+#define TRACE_TRCID_FM_OPEN_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FM_OPEN_EXIT), (Int64)(vma), (Int64)(atomic_read((atomic_t *)&inode->i_count)));
+#define TRACE_TRCID_FM_CLOSE_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FM_CLOSE_ENTER), (Int64)(vma), (Int64)(inode), (Int64)((Int32)atomic_read((atomic_t *)&inode->i_count)));
+#define TRACE_TRCID_FM_CLOSE_ENTER1_CALL \
+    _STrace(_HOOKWORD(TRCID_FM_CLOSE_ENTER1), 2, 1, (Int64)(inode->i_ino), fP->f_dentry? fP->f_dentry->d_name.name: (const unsigned char*)"", (Int64)(inode->i_data.nrpages));
+#define TRACE_TRCID_FM_CLOSE_ENR_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FM_CLOSE_ENR), (Int64)(mm), (Int64)(atomic_read(&mm->mm_users)));
+#define TRACE_TRCID_FM_CLOSE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FM_CLOSE), (Int64)(vma), (Int64)(inode), (Int64)((Int32)atomic_read((atomic_t *)&inode->i_count)));
+#define TRACE_TRCID_LINUXOPS_MMAP_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_MMAP_ENTER), (Int64)(fP), (Int64)(iP->i_ino), (Int64)(vma));
+#define TRACE_TRCID_LINUXOPS_MMAP_ENTER_A_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_MMAP_ENTER_A), (Int64)(vma->vm_start), (Int64)(vma->vm_end), (Int64)(vma->vm_pgoff), (Int64)(vma->vm_flags));
+#define TRACE_TRCID_LINUXOPS_MMAP_ENTER_A1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_MMAP_ENTER_A1), 3, 2, (Int64)(iP->i_ino), (Int64)(atomic_read((atomic_t *)&iP->i_count)), fP->f_dentry ? fP->f_dentry->d_name.name : (const unsigned char*)"", (Int64)(iP->i_data.nrpages));
+#define TRACE_TRCID_LINUXOPS_MMAP_ENTER_AB_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_MMAP_ENTER_AB), (Int64)(mm), (Int64)(atomic_read(&mm->mm_users)));
+#define TRACE_TRCID_LINUXOPS_MMAP_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_MMAP_EXIT), (Int64)(rc), (Int64)(code));
+#define TRACE_TRCID_LINUXOPS_OPEN_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_OPEN_ENTER), 6, 4, (Int64)(iP), (Int64)(fP), (Int64)(fP->f_flags), (Int64)(fP->f_dentry), fP->f_dentry? fP->f_dentry->d_name.name: (const unsigned char*)"", (Int64)(flags), (Int64)(cxiIsNFSThread()));
+#define TRACE_TRCID_LINUXOPS_OPEN_01_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_OPEN_01), (Int64)(iP), (Int64)(cnP), (Int64)(fflags), (Int64)(amode));
+#define TRACE_TRCID_LINUXOPS_OPEN_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_OPEN_EXIT), (Int64)(iP), (Int64)((struct MMFSVInfo *)fP->private_data), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_CLOSE_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_CLOSE_ENTER), (Int64)(iP), (Int64)(fP->f_flags), (Int64)(flags), (Int64)(vinfoP));
+#define TRACE_TRCID_CLOSE_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CLOSE_EXIT), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_FSYNC_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_FSYNC_ENTER), (Int64)(fP), (Int64)(direntP), (Int64)(datasync));
+#define TRACE_TRCID_LINUXOPS_FSYNC_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_FSYNC_EXIT), (Int64)(fP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_FASYNC_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_FASYNC_ENTER), (Int64)(fd), (Int64)(fP), (Int64)(on));
+#define TRACE_TRCID_LINUXOPS_FASYNC_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_FASYNC_EXIT), (Int64)(fP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_LOCKCTL_ENTER_CALL \
+    _XTrace(_HOOKWORD(TRCID_LINUXOPS_LOCKCTL_ENTER), "gpfs_f_lock enter: pid %d fp 0x%lX range 0x%lX:%lX cmd %s type %s\n", (Int64)(flP->fl_pid), (Int64)(fP), (Int64)(flP->fl_start), (Int64)(flP->fl_end), (cmd == F_GETLK) ? "GETLK" : (cmd == F_SETLK) ? "SETLK" : "SETLKW", (flP->fl_type == F_RDLCK) ? "RDLCK" :          (flP->fl_type == F_WRLCK) ? "WRLCK" : "UNLCK");
+#define TRACE_TRCID_LINUXOPS_LOCKCTL_ENTER2_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_LOCKCTL_ENTER2), (Int64)(fP->f_pos), (Int64)(fP->f_dentry->d_inode), (Int64)(flP->fl_flags), (Int64)(eCred.principal), (Int64)(eCred.group));
+#define TRACE_TRCID_LINUXOPS_LOCKCTL_DIAG2_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_LOCKCTL_DIAG2), (Int64)(fP), (Int64)(fP->f_dentry));
+#define TRACE_TRCID_LINUXOPS_LOCKCTL_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_LOCKCTL_EXIT), (Int64)(rc));
+#define TRACE_TRCID_LINUX_FLOCK_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUX_FLOCK_ENTER), (Int64)(fP), (Int64)(flP), (Int64)(cmd), (Int64)(flP->fl_flags), (Int64)(flP->fl_type));
+#define TRACE_TRCID_LINUX_FLOCK_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUX_FLOCK_EXIT), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_RDWRINT_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_RDWRINT_ENTER), 10, 10, (Int64)(fP), (Int64)(fP->f_flags), (Int64)(flags), (Int64)(op), (Int64)(iovecP), (Int64)(count), (Int64)(*offsetP), (Int64)(fP->f_dentry), (Int64)(fP->private_data), (Int64)(fP->f_dentry->d_inode), fP->f_dentry->d_name.name);
+#define TRACE_TRCID_LINUXOPS_RDWRINT_EXIT_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_RDWRINT_EXIT), (Int64)(fP), (Int64)(total_len), (Int64)(tmp_uio.uio_resid), (Int64)(tmp_uio.uio_offset), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_READ_DIR_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READ_DIR), (Int64)(fP));
+#define TRACE_TRCID_LINUXOPS_SHARE_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_SHARE_ENTER), 4, 2, (Int64)(fP), (Int64)(iP? iP->i_ino: -1), dentryP? dentryP->d_name.name: (const unsigned char*)"", (Int64)(share_access), (Int64)(share_deny));
+#define TRACE_TRCID_LINUXOPS_SHARE_RESET_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_SHARE_RESET), (Int64)(fP), (Int64)(iP), (Int64)(iP? VP_TO_PVP(fP->f_dentry->d_inode): NULL));
+#define TRACE_TRCID_LINUXOPS_SHARE_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_SHARE_EXIT), (Int64)(err));
+#define TRACE_TRCID_LINUXOPS_DELEGATE_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_DELEGATE_ENTER), 3, 2, (Int64)(fP), (Int64)(iP? iP->i_ino: -1), dentryP? dentryP->d_name.name: (const unsigned char*)"", (Int64)(delegate_access));
+#define TRACE_TRCID_LINUXOPS_DELEGATE_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_DELEGATE_EXIT), (Int64)(err));
+#define TRACE_TRCID_PRINTINODE_1_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_PRINTINODE_1), (Int64)(iP), (Int64)(iP->i_ino), (Int64)(iP->i_ino), (Int64)(atomic_read((atomic_t *)&iP->i_count)), (Int64)(KDEV_INT(iP->i_rdev)), (Int64)(iP->i_mode), (Int64)(iP->i_nlink));
+#define TRACE_TRCID_PRINTINODE_2_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_PRINTINODE_2), (Int64)(iP->i_uid), (Int64)(iP->i_gid), (Int64)(KDEV_INT(iP->i_rdev)), (Int64)(GET_INODETIME_SEC(iP->i_atime)), (Int64)(GET_INODETIME_SEC(iP->i_mtime)), (Int64)(GET_INODETIME_SEC(iP->i_ctime)));
+#define TRACE_TRCID_PRINTINODE_4_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_PRINTINODE_4), (Int64)(iP->i_size), (Int64)(iP->i_blocks), (Int64)(iP->i_blocks), (Int64)(iP->i_version), (Int64)(iP->i_op));
+#define TRACE_TRCID_PRINTINODE_5_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_PRINTINODE_5), (Int64)(iP->i_fop), (Int64)(iP->i_sb), (Int64)(iP->i_flags), (Int64)(iP->i_state), (Int64)(iP->i_generation), (Int64)(iP->PRVINODE));
+#define TRACE_TRCID_PRINTINODE_6_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_PRINTINODE_6), (Int64)(&(iP->i_list)), (Int64)(iP->i_list.next), (Int64)(iP->i_list.prev));
+#define TRACE_TRCID_PRINTINODE_7_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_PRINTINODE_7), (Int64)(&(iP->i_dentry)), (Int64)(iP->i_dentry.next), (Int64)(iP->i_dentry.prev));
+#define TRACE_TRCID_PRINTINODE_8_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_PRINTINODE_8), (Int64)(&(iP->i_hash)), (Int64)(iP->i_hash.next), (Int64)(iP->i_hash.prev));
+#define TRACE_TRCID_PRINTINODE_9_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_PRINTINODE_9), (Int64)(&(iP->i_hash)), (Int64)(iP->i_hash.next), (Int64)(*iP->i_hash.pprev));
+#define TRACE_TRCID_PRINTDENTRY_1_CALL \
+    _STraceNB(_HOOKWORD(TRCID_PRINTDENTRY_1), 2, 2, (Int64)(dP), (Int64)(atomic_read((atomic_t *)&dP->d_count)), dP->d_name.name);
+#define TRACE_TRCID_PRINTDENTRY_2_CALL \
+    _TRACE5D_NB(_HOOKWORD(TRCID_PRINTDENTRY_2), (Int64)(dP->d_time), (Int64)(dP->d_op), (Int64)(dP->d_flags), (Int64)(dP->d_parent), (Int64)(iP));
+#define TRACE_TRCID_PRINTDENTRY_3A_CALL \
+    _TRACE4D_NB(_HOOKWORD(TRCID_PRINTDENTRY_3A), (Int64)(iP->i_ino), (Int64)(atomic_read((atomic_t *)&iP->i_count)), (Int64)(list_entry(iP->i_dentry.next, struct dentry, d_alias)), (Int64)(list_entry(iP->i_dentry.prev, struct dentry, d_alias)));
+#define TRACE_TRCID_PRINTDENTRY_3B_CALL \
+    _TRACE2D_NB(_HOOKWORD(TRCID_PRINTDENTRY_3B), (Int64)(iP->i_ino), (Int64)(atomic_read((atomic_t *)&iP->i_count)));
+#define TRACE_TRCID_PRINTDENTRY_4_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTDENTRY_4), (Int64)(&dP->d_child), (Int64)(dP->d_child.next), (Int64)(dP->d_child.prev));
+#define TRACE_TRCID_PRINTDENTRY_5_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTDENTRY_5), (Int64)(&dP->d_subdirs), (Int64)(list_entry(dP->d_subdirs.next, struct dentry, d_child)), (Int64)(list_entry(dP->d_subdirs.prev, struct dentry, d_child)));
+#define TRACE_TRCID_LINUXOPS_SETINODE_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_LINUXOPS_SETINODE), (Int64)(inodeP), (Int64)(inodeP->i_ino), (Int64)(atomic_read((atomic_t *)&inodeP->i_count)), (Int64)(inodeP->i_mode), (Int64)(attrP->va_xinfo), (Int64)(inodeP->i_nlink), (Int64)(inodeP->i_size));
+#define TRACE_TRCID_CXIINVA_PERM_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXIINVA_PERM), (Int64)(cnP), (Int64)(inodeP->i_op == &gpfs_iops_stdperm), (Int64)(inodeP->i_op == &gpfs_dir_iops_stdperm));
+#define TRACE_TRCID_LINUXOPS_CREATE_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_CREATE_ENTER), 3, 3, (Int64)(diP), (Int64)(dentryP), (Int64)(mode), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_CREATE_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_CREATE_EXIT), (Int64)(newInodeP), (Int64)(iNum), (Int64)(iNum), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_LOOKUP_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_LOOKUP_ENTER), 2, 2, (Int64)(diP), (Int64)(dentryP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_LOOKUP_STALE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_LOOKUP_STALE), (Int64)(diP), (Int64)(diP->i_ino));
+#define TRACE_TRCID_LINUXOPS_LOOKUP_EXIT_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_LINUXOPS_LOOKUP_EXIT), (Int64)(newInodeP), (Int64)(iNum), (Int64)(iNum), (Int64)(cnP), (Int64)(retP), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_LINK_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_LINK_ENTER), 3, 3, (Int64)(diP), (Int64)(oldDentryP), (Int64)(dentryP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_LINK_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_LINK_EXIT), (Int64)(diP), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_UNLINK_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_UNLINK_ENTER), 3, 3, (Int64)(diP), (Int64)(iP), (Int64)(dentryP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_UNLINK_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_UNLINK_EXIT), (Int64)(diP), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_SYMLINK1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_SYMLINK1), 2, 2, (Int64)(diP), (Int64)(dentryP), symlinkTargetP);
+#define TRACE_TRCID_LINUXOPS_SYMLINK2_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_SYMLINK2), 0, 0, dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_SYMLINK_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_SYMLINK_EXIT), (Int64)(newInodeP), (Int64)(iNum), (Int64)(iNum), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_MKDIR_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_MKDIR_ENTER), 2, 2, (Int64)(diP), (Int64)(mode), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_MKDIR_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_MKDIR_EXIT), (Int64)(newInodeP), (Int64)(iNum), (Int64)(iNum), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_RMDIR_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_RMDIR_ENTER), 2, 2, (Int64)(diP), (Int64)(iP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_RMDIR_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_RMDIR_EXIT), (Int64)(diP), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_MKNOD_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_MKNOD_ENTER), 3, 3, (Int64)(diP), (Int64)(mode), (Int64)((int)rdev), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_MKNOD_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_MKNOD_EXIT), (Int64)(newInodeP), (Int64)(iNum), (Int64)(iNum), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_RENAME_1_CALL \
+    _XTrace(_HOOKWORD(TRCID_LINUXOPS_RENAME_1), "gpfs_i_rename enter: iP 0x%lX dvP 0x%lX name '%s'"          " tiP 0x%lX tdiP 0x%lX new name '%s'\n", (Int64)(iP), (Int64)(diP), dentryP->d_name.name, (Int64)(tiP), (Int64)(tdiP), tDentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_RENAME_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_RENAME_EXIT), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_READLINK_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READLINK_ENTER), 4, 4, (Int64)(dentryP), (Int64)(bufP), (Int64)(buflen), (Int64)(iP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_READLINK_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READLINK_EXIT), (Int64)(iP), (Int64)(tmpUio.uio_resid), (Int64)(tmpUio.uio_offset), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_FOLLOW_LINK_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_FOLLOW_LINK_ENTER), 1, 1, (Int64)(dentry->d_inode), dentry->d_name.name);
+#define TRACE_TRCID_LINUXOPS_FOLLOW_LINK_1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_FOLLOW_LINK_1), 1, 1, (Int64)(rc), buf);
+#define TRACE_TRCID_LINUXOPS_FOLLOW_LINK_2_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_FOLLOW_LINK_2), (Int64)(dentry->d_inode), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_PUTLINK_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_PUTLINK), (Int64)(dentry), (Int64)(nd), (Int64)(!IS_ERR(buf)? buf : NULL));
+#define TRACE_TRCID_LINUXOPS_BMAP_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_BMAP));
+#define TRACE_TRCID_LINUXOPS_TRUNCATE_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TRUNCATE), (Int64)(iP));
+#define TRACE_TRCID_LINUXOPS_ACCESS_ENTER_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_ACCESS_ENTER), (Int64)(iP), (Int64)(mode), (Int64)(current->fsuid), (Int64)(current->fsgid), (Int64)(iP->i_mode), (Int64)(cnP->xinfo));
+#define TRACE_TRCID_LINUXOPS_ACCESS_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_ACCESS_EXIT), (Int64)(iP), (Int64)(iP->i_op == &gpfs_iops_stdperm), (Int64)(iP->i_op == &gpfs_dir_iops_stdperm), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_SMAP_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_SMAP));
+#define TRACE_TRCID_LINUXOPS_UPDATEPAGE_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_UPDATEPAGE));
+#define TRACE_TRCID_LINUXOPS_REVALIDATE_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_REVALIDATE_ENTER), 3, 3, (Int64)(dentryP), (Int64)(dentryP->d_inode), (Int64)((iP) ? iP->i_ino : -1), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_REVALIDATE_STALE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_REVALIDATE_STALE), (Int64)(iP), (Int64)(iP->i_ino));
+#define TRACE_TRCID_REVAL_DELAY_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_REVAL_DELAY), (Int64)(howLong));
+#define TRACE_TRCID_REVAL_DELAY_END_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_REVAL_DELAY_END), (Int64)(howLong));
+#define TRACE_TRCID_LINUXOPS_REVALIDATE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_REVALIDATE_EXIT), (Int64)(dentryP), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_SETATTR_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SETATTR_ENTER), (Int64)(iP), (Int64)(aP->ia_valid));
+#define TRACE_TRCID_LINUXOPS_SETATTR_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_SETATTR_EXIT), (Int64)(iP), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_GETATTR_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_GETATTR_ENTER), (Int64)(iP));
+#define TRACE_TRCID_LINUXOPS_GETATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETATTR_EXIT), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_GETEXTATTR_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_GETEXTATTR_ENTER), 3, 1, (Int64)(iP), (name) ? name : "NULL", (Int64)(buf), (Int64)(buf_size));
+#define TRACE_TRCID_LINUXOPS_GETEXTATTR_EXIT0_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETEXTATTR_EXIT0), (Int64)(iP), (Int64)(xattr.valueLen));
+#define TRACE_TRCID_LINUXOPS_GETEXTATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETEXTATTR_EXIT), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_GETEXTATTR_EXIT2_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETEXTATTR_EXIT2), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_SETEXTATTR_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_SETEXTATTR_ENTER), 4, 1, (Int64)(iP), (name) ? name : "NULL", (Int64)(buf), (Int64)(buf_size), (Int64)(ext_flags));
+#define TRACE_TRCID_LINUXOPS_SETEXTATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SETEXTATTR_EXIT), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_LISTXATTR_IN_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_LISTXATTR_IN), (Int64)(iP), (Int64)(buf), (Int64)(buf_size));
+#define TRACE_TRCID_LINUXOPS_LISTXTATTR_EXIT0_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_LISTXTATTR_EXIT0), (Int64)(iP), (Int64)(xattr.valueLen));
+#define TRACE_TRCID_LINUXOPS_LISTXTATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_LISTXTATTR_EXIT), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_REMOVEXATTR_IN_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_REMOVEXATTR_IN), 1, 1, (Int64)(iP), (name) ? name : "NULL");
+#define TRACE_TRCID_LINUXOPS_REMOVEXATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_REMOVEXATTR_EXIT), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_VNODE_BKL_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_VNODE_BKL), (Int64)(kernel_locked()), (Int64)(current->lock_depth));
+#define TRACE_TRCID_LINUXOPS_GPFS_ALLOC_INODE_EXIT_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_LINUXOPS_GPFS_ALLOC_INODE_EXIT), (Int64)(iP));
+#define TRACE_TRCID_LINUXOPS_GPFS_DESTROY_INODE_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_LINUXOPS_GPFS_DESTROY_INODE), (Int64)((void *)iP));
+#define TRACE_TRCID_LINUXOPS_READINODE_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_READINODE_ENTER), (Int64)(iP), (Int64)(inum));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE_1), (Int64)(iP), (Int64)(cnP), (Int64)(sizeof(iP->u) - sizeof(void *)), (Int64)(CXINODE_SIZE));
+#define TRACE_TRCID_LINUXOPS_READINODE_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_READINODE_EXIT), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_READINODE_EXIT_BAD_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READINODE_EXIT_BAD), (Int64)(iP));
+#define TRACE_TRCID_LINUXOPS_READINODE_HUH_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_READINODE_HUH));
+#define TRACE_TRCID_LINUXOPS_DELETE_INODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_DELETE_INODE), (Int64)(iP), (Int64)(iP->i_ino), (Int64)(isGPFS));
+#define TRACE_TRCID_LINUXOPS_DELETE_INODE_1_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_DELETE_INODE_1), (Int64)(iP), (Int64)(cnP));
+#define TRACE_TRCID_LINUXOPS_NOTIFY_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_NOTIFY_ENTER), (Int64)(dentryP->d_inode), (Int64)(attrP));
+#define TRACE_TRCID_LINUXOPS_NOTIFY_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_NOTIFY_EXIT), (Int64)(dentryP->d_inode), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_PUTSUPER_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_PUTSUPER_ENTER), (Int64)(sbP), (Int64)(sbP->s_dev));
+#define TRACE_TRCID_LINUXOPS_PUTSUPER_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_PUTSUPER_EXIT), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_STATFS_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_STATFS_ENTER), (Int64)(sbP), (Int64)(len));
+#define TRACE_TRCID_LINUXOPS_STATFS_EXIT_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_LINUXOPS_STATFS_EXIT), (Int64)(statfs.f_blocks), (Int64)(statfs.f_bfree), (Int64)(bufP->f_files), (Int64)(bufP->f_ffree), (Int64)(bufP->f_bsize), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_UMOUNT_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_UMOUNT_ENTER), (Int64)(sbP), (Int64)(sbP->s_dev), (Int64)(current->fs ? current->fs->rootmnt : NULL), (Int64)(current->fs ? current->fs->pwdmnt : NULL));
+#define TRACE_TRCID_LINUXOPS_UMOUNT_EXIT_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_UMOUNT_EXIT), (Int64)(sbP), (Int64)(privVfsP), (Int64)(dmrc), (Int64)(atomic_read(&sbP->s_active)), (Int64)(sbP->s_count), (Int64)(!list_empty(&sbP->s_files)));
+#define TRACE_TRCID_LINUXOPS_REMOUNT_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_REMOUNT));
+#define TRACE_TRCID_LINUXOPS_WRITEINODE_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_WRITEINODE));
+#define TRACE_TRCID_LINUXOPS_CLEARINODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_CLEARINODE), (Int64)(iP), (Int64)(iP->i_ino), (Int64)(iP->PRVINODE));
+#define TRACE_TRCID_LINUXOPS_CLEARINODE_DETAILS_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_CLEARINODE_DETAILS), (Int64)(VP_TO_CNP(iP)), (Int64)(VP_TO_PVP(iP)), (Int64)(NODE_TOO_BIG_FOR_OSNODE(CXINODE_SIZE)));
+#define TRACE_TRCID_LINUXOPS_CLEARINODE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_CLEARINODE_EXIT), (Int64)(iP), (Int64)(iP->PRVINODE), (Int64)(code));
+#define TRACE_TRCID_LINUXOPS_WRITESUPER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_WRITESUPER), (Int64)(sbP));
+#define TRACE_TRCID_LINUXOPS_WRITESUPER_3_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_WRITESUPER_3));
+#define TRACE_TRCID_LINUXOPS_WRITESUPER_5_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_WRITESUPER_5), (Int64)(sbP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_GET_SB_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_GET_SB), (Int64)(flags), (Int64)(dataP), (Int64)(sbP));
+#define TRACE_TRCID_LINUXOPS_READSUPER_1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_1), 3, 3, (Int64)(sbP), (Int64)(sbP->s_dev), (Int64)(silent), ((char *)dataP == NULL) ? "" : dataP);
+#define TRACE_TRCID_LINUXOPS_READSUPER_2_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_2), 0, 0, (sbP->s_bdev == NULL) ? "" : SBLOCK_BDEVNAME(sbP,bname));
+#define TRACE_TRCID_LINUXOPS_READSUPER_3_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READSUPER_3), (Int64)(sbP->s_flags));
+#define TRACE_TRCID_LINUXOPS_READSUPER_OPTIONS_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_OPTIONS), 0, 0, strP ? (char *) strP:"");
+#define TRACE_TRCID_LINUXOPS_READSUPER_STARTHELPER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_STARTHELPER), 0, 0, mmfs_path);
+#define TRACE_TRCID_LINUXOPS_READSUPER_STARTHELPER1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_STARTHELPER1), 2, 2, (Int64)(sbP->s_flags), (Int64)(restricted), mountpointP);
+#define TRACE_TRCID_LINUXOPS_READSUPER_HELPERRC_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READSUPER_HELPERRC), (Int64)(mountHelperID));
+#define TRACE_TRCID_LINUXOPS_READSUPER_SUCCEED_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READSUPER_SUCCEED), (Int64)(sbP));
+#define TRACE_TRCID_LINUXOPS_READSUPER_FAILED_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_READSUPER_FAILED), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_REGFS_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_REGFS), (Int64)(shutdownSuperP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_UNREGFS_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_UNREGFS), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_KILLMMFSD_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_KILLMMFSD), (Int64)(mmfsd_id));
+#define TRACE_TRCID_LINUXOPS_EXECMMFS_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_EXECMMFS_EXIT), 1, 1, (Int64)(errno), mmfs_path);
+#define TRACE_TRCID_LINUXOPS_FORK_MOUNTHELPER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_FORK_MOUNTHELPER), (Int64)(mount_id));
+#define TRACE_TRCID_SET_MOUNT_INFO_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_SET_MOUNT_INFO), (Int64)(sbP), (Int64)(rootIP), (Int64)(cnRootP), (Int64)(gnRootP));
+#define TRACE_TRCID_LINUXOPS_CXIUNMOUNT_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_CXIUNMOUNT_ENTER), (Int64)(privVfsP), (Int64)(sbP), (Int64)(force), (Int64)(doDMEvents));
+#define TRACE_TRCID_LINUXOPS_CXIUNMOUNT_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_CXIUNMOUNT_EXIT), (Int64)(rc), (Int64)(dmrc));
+#define TRACE_TRCID_LINUXOPS_REACTIVATE_VNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_REACTIVATE_VNODE), (Int64)(osVfsP), (Int64)(cnP), (Int64)(osNodePP));
+#define TRACE_TRCID_LINUXOPS_INODEFINDACTOR_CALL \
+    _TRACE4D_NB(_HOOKWORD(TRCID_LINUXOPS_INODEFINDACTOR), (Int64)(iP), (Int64)(iP->i_state), (Int64)(VP_TO_CNP(iP)), (Int64)(is_bad_inode(iP)));
+#define TRACE_TRCID_LINUXOPS_INODEFINDACTOR2_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_LINUXOPS_INODEFINDACTOR2), (Int64)(iP), (Int64)(iP->i_state), (Int64)(VP_TO_CNP(iP)));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE), (Int64)(sbP), (Int64)(inum), (Int64)(nodeSize));
+#define TRACE_TRCID_LINUXOPS_NEW_BAD_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_NEW_BAD), (Int64)(iP));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_2_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE_2), (Int64)(iP), (Int64)(iP->i_ino), (Int64)(iP->i_state), (Int64)(VP_TO_CNP(iP)), (Int64)(is_bad_inode(iP)));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE_EXIT), (Int64)(*osNodePP), (Int64)(*cnPP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_BAD_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE_BAD), (Int64)(nodeSize), (Int64)(CXINODE_SIZE));
+#define TRACE_TRCID_LINUXOPS_DELETE_VNODE_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_DELETE_VNODE), (Int64)(sbP), (Int64)(cnP), (Int64)(iP), (Int64)(iP ? iP->i_ino : -1), (Int64)(iP ? atomic_read((atomic_t *)&iP->i_count) : 0));
+#define TRACE_TRCID_LINUXOPS_DELETE_MMAP_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_DELETE_MMAP), (Int64)(segid));
+#define TRACE_TRCID_LINUXOPS_REINIT_VNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_REINIT_VNODE), (Int64)(sbP), (Int64)(cnP), (Int64)(iP));
+#define TRACE_TRCID_LINUXOPS_DUMP_VNODE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_DUMP_VNODE), (Int64)(cnP), (Int64)(iP));
+#define TRACE_TRCID_LINUXOPS_IGRABINODEFINDACTOR_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_LINUXOPS_IGRABINODEFINDACTOR), (Int64)(iP), (Int64)(iP->i_state), (Int64)((struct inode *) opaqueP));
+#define TRACE_TRCID_LINUXOPS_REF_VNODE_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_REF_VNODE), (Int64)(osVfsP), (Int64)(cnP), (Int64)(iP), (Int64)(ino), (Int64)(holdCount));
+#define TRACE_TRCID_LINUXOPS_INACTIVE_VNODE_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_INACTIVE_VNODE), (Int64)(sbP), (Int64)(cnP), (Int64)(iP), (Int64)(holdCount), (Int64)(*canCacheP), (Int64)(*hasReferencesP));
+#define TRACE_TRCID_LINUXOPS_PUT_OSNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_PUT_OSNODE), (Int64)(iP), (Int64)(iP->i_ino), (Int64)(holdCount-1));
+#define TRACE_TRCID_LINUXOPS_DESTROY_OSNODE_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_DESTROY_OSNODE), (Int64)(iP), (Int64)(iP->i_ino), (Int64)(holdCount), (Int64)(iP->i_nlink));
+#define TRACE_TRCID_CXIUPDATE_INODE_3_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_CXIUPDATE_INODE_3), (Int64)(iP), (Int64)(GET_INODETIME_SEC(iP->i_atime)), (Int64)(GET_INODETIME_SEC(iP->i_mtime)), (Int64)(GET_INODETIME_SEC(iP->i_ctime)));
+#define TRACE_TRCID_CXIUPDATE_INODE_1_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_CXIUPDATE_INODE_1), (Int64)(what), (Int64)(iP->i_mode), (Int64)(iP->i_uid), (Int64)(iP->i_gid), (Int64)(iP->i_nlink), (Int64)(iP->i_size), (Int64)(iP->i_blocks));
+#define TRACE_TRCID_LINUXOPS_CANUNCACHE_OSNODE_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_CANUNCACHE_OSNODE), (Int64)(cnP), (Int64)(vP), (Int64)(osVfsP), (Int64)((iP ? iP->i_sb : 0)), (Int64)((iP ? iP->i_ino : 0)), (Int64)(count));
+#define TRACE_TRCID_LINUXOPS_ADD_OSNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_ADD_OSNODE), (Int64)(dentryP), (Int64)(vP), (Int64)(d_unhashed(dP)));
+#define TRACE_TRCID_LINUXOPS_LOCFS_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_LOCFS_ENTER), (Int64)(sbP));
+#define TRACE_TRCID_LINUXOPS_LOCFS_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_LOCFS_EXIT), (Int64)(sbP), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_NFSD_IGET_DENTRY_1_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_NFSD_IGET_DENTRY_1), (Int64)(inode->i_ino), (Int64)(generation));
+#define TRACE_TRCID_NFSD_IGET_31_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_31), (Int64)(result->d_flags), (Int64)(atomic_read(&result->d_count)), (Int64)(result->d_inode), (Int64)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_41_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_41), (Int64)(inode->i_ino), (Int64)(inode->i_nlink), (Int64)(atomic_read(&inode->i_count)), (Int64)(inode->i_generation), (Int64)(generation), (Int64)(inode->i_state), (Int64)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_3_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_3), (Int64)(result->d_flags), (Int64)(atomic_read(&result->d_count)), (Int64)(result->d_inode), (Int64)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_4_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_4), (Int64)(inode->i_ino), (Int64)(inode->i_nlink), (Int64)(atomic_read(&inode->i_count)), (Int64)(inode->i_generation), (Int64)(generation), (Int64)(inode->i_state), (Int64)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_5_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_5), (Int64)(result->d_flags), (Int64)(atomic_read(&result->d_count)), (Int64)(result->d_inode), (Int64)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_6_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_6), (Int64)(inode->i_ino), (Int64)(inode->i_nlink), (Int64)(atomic_read(&inode->i_count)), (Int64)(inode->i_generation), (Int64)(generation), (Int64)(inode->i_state), (Int64)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_7_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_7), (Int64)(result->d_flags), (Int64)(atomic_read(&result->d_count)), (Int64)(result->d_inode), (Int64)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_8_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_8), (Int64)(inode->i_ino), (Int64)(inode->i_nlink), (Int64)(atomic_read(&inode->i_count)), (Int64)(inode->i_generation), (Int64)(generation), (Int64)(inode->i_state), (Int64)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_9_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_9), (Int64)(result->d_flags), (Int64)(atomic_read(&result->d_count)), (Int64)(result->d_inode), (Int64)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_10_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_10), (Int64)(inode->i_ino), (Int64)(inode->i_nlink), (Int64)(atomic_read(&inode->i_count)), (Int64)(inode->i_generation), (Int64)(generation), (Int64)(inode->i_state), (Int64)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_1_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_NFSD_IGET_1), (Int64)(sbP), (Int64)(ino), (Int64)(argP->inodeNum), (Int64)(argP->snapId), (Int64)(argP->filesetId), (Int64)(generation));
+#define TRACE_TRCID_NFSD_IGET_BAD_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_NFSD_IGET_BAD), (Int64)(inode));
+#define TRACE_TRCID_NFSD_IGET_2_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_NFSD_IGET_2), (Int64)(inode), (Int64)(inode->i_ino), (Int64)(inode->i_state), (Int64)(VP_TO_CNP(inode)), (Int64)(is_bad_inode(inode)));
+#define TRACE_TRCID_GET_DPARENT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_GET_DPARENT_ENTER), (Int64)(child), (Int64)(child->d_inode->i_ino));
+#define TRACE_TRCID_GET_DPARENT_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_GET_DPARENT_EXIT), (Int64)(child), (Int64)(iNum), (Int64)(result), (Int64)(IS_ERR(result)? PTR_ERR(result): 0));
+#define TRACE_TRCID_DECODE_FH_1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_DECODE_FH_1), (Int64)(sbP), (Int64)(fh), (Int64)(len), (Int64)(fhtype));
+#define TRACE_TRCID_DECODE_FH_2_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_DECODE_FH_2), (Int64)(sbP), (Int64)(fh), (Int64)(result), (Int64)(IS_ERR(result)? PTR_ERR(result): 0));
+#define TRACE_TRCID_DECODE_FH_3_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_DECODE_FH_3), (Int64)(sbP), (Int64)(fh));
+#define TRACE_TRCID_FH_TO_DENTRY_1_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_FH_TO_DENTRY_1), (Int64)(sbP), (Int64)(fh), (Int64)(len), (Int64)(fhtype), (Int64)(parent));
+#define TRACE_TRCID_FH_TO_DENTRY_2_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_FH_TO_DENTRY_2), (Int64)(sbP), (Int64)(fh), (Int64)(result), (Int64)(IS_ERR(result)? PTR_ERR(result): 0));
+#define TRACE_TRCID_FH_TO_DENTRY_3_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FH_TO_DENTRY_3), (Int64)(sbP), (Int64)(fh));
+#define TRACE_TRCID_FCNTLLOCK_ENTER_CALL \
+    _XTrace(_HOOKWORD(TRCID_FCNTLLOCK_ENTER), "cxiFcntlLock posix_lock_file: pid %d owner 0x%X inodeP 0x%X "          "range 0x%lX-%lX cmd %s type %s\n", (Int64)(flP->fl_pid), (Int64)(flP->fl_owner), (Int64)(advObjP), (Int64)(flP->fl_start), (Int64)(flP->fl_end), (cmd == F_GETLK) ? "GETLK" : (cmd == F_SETLK) ? "SETLK" : "SETLKW", (flP->fl_type == F_RDLCK) ? "RDLCK" :          (flP->fl_type == F_WRLCK) ? "WRLCK" : "UNLCK");
+#define TRACE_TRCID_FCNTLLOCK_GETLK_CALL \
+    _STrace(_HOOKWORD(TRCID_FCNTLLOCK_GETLK), 5, 5, (Int64)(flP->fl_pid), (Int64)(flP->fl_owner), (Int64)(advObjP), (Int64)(flP->fl_start), (Int64)(flP->fl_end), (flP->fl_type == F_RDLCK) ? "RDLCK" :            (flP->fl_type == F_WRLCK) ? "WRLCK" : "UNLCK");
+#define TRACE_TRCID_FCNTLLOCK_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FCNTLLOCK_EXIT), (Int64)(rc), (Int64)(cflP));
+#define TRACE_TRCID_SLEEP_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SLEEP), (Int64)(ms));
+#define TRACE_TRCID_SLEEP_END_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SLEEP_END), (Int64)(ms), (Int64)(HZ));
+#define TRACE_TRCID_OPENNFS_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_OPENNFS), (Int64)(inodeP), (Int64)((inodeP) ? inodeP->i_ino : -1), (Int64)((inodeP) ? inodeP->i_ino : -1), (Int64)((inodeP) ? inodeP->i_mode : -1), (Int64)((inodeP) ? inodeP->i_nlink : -1), (Int64)((inodeP) ? inodeP->PRVINODE : NULL), (Int64)(refcount));
+#define TRACE_TRCID_CXISTART_KPROC_LINUX_CALL \
+    _STrace(_HOOKWORD(TRCID_CXISTART_KPROC_LINUX), 1, 0, kpdP->nameP, (Int64)(kpdP->pid));
+#define TRACE_TRCID_CXISTOP_KPROC_LINUX_CALL \
+    _STrace(_HOOKWORD(TRCID_CXISTOP_KPROC_LINUX), 1, 0, kpdP->nameP, (Int64)(kpdP->pid));
+#define TRACE_TRCID_PANIC_CALL \
+    _STrace(_HOOKWORD(TRCID_PANIC), 0, 0, panicStrP);
+#define TRACE_TRCID_MODULE_LOGASSERT_1_CALL \
+    _STrace(_HOOKWORD(TRCID_MODULE_LOGASSERT_1), 2, 0, failingExpr, (Int64)(retCode), (Int64)(reasonCode));
+#define TRACE_TRCID_MODULE_LOGASSERT_2_CALL \
+    _STrace(_HOOKWORD(TRCID_MODULE_LOGASSERT_2), 1, 0, srcFileName, (Int64)(srcLineNumber));
+#define TRACE_TRCID_CXISYSTEM_037_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_CXISYSTEM_037), (Int64)(kBufP), (Int64)(uioP), (Int64)(nBytes), (Int64)(toKernel));
+#define TRACE_TRCID_CXISYSTEM_039a_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_CXISYSTEM_039a), (Int64)(rc), (Int64)(trcdata[0]), (Int64)(trcdata[1]), (Int64)(trcdata[2]), (Int64)(trcdata[3]));
+#define TRACE_TRCID_CXISYSTEM_039_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_039), (Int64)(rc));
+#define TRACE_TRCID_CXISYSTEM_041a_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_CXISYSTEM_041a), (Int64)(rc), (Int64)(trcdata[0]), (Int64)(trcdata[1]), (Int64)(trcdata[2]), (Int64)(trcdata[3]));
+#define TRACE_TRCID_CXISYSTEM_041_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_041), (Int64)(rc));
+#define TRACE_TRCID_CXISYSTEM_CHKTYPES_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_CHKTYPES), (Int64)(rc));
+#define TRACE_TRCID_BM_INIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BM_INIT), (Int64)(mP), (Int64)(bmNameIdx));
+#define TRACE_TRCID_BM_ACQ_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_BM_ACQ), (Int64)(mP), (Int64)(mP->lockNameIndex), (Int64)(current), (Int64)(mP->bmOwnerP));
+#define TRACE_TRCID_BM_ACQ_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_BM_ACQ_EXIT), (Int64)(mP));
+#define TRACE_TRCID_BM_REL_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_BM_REL), (Int64)(mP), (Int64)(mP->lockNameIndex), (Int64)(current), (Int64)(mP->bmOwnerP));
+#define TRACE_TRCID_BM_TERM_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BM_TERM), (Int64)(mP), (Int64)(mP->lockNameIndex));
+#define TRACE_TRCID_CXISYSTEM_017_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXISYSTEM_017), (Int64)(ownerP), (Int64)(result));
+#define TRACE_TRCID_CXISYSTEM_018_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXISYSTEM_018), (Int64)(mP), (Int64)(result));
+#define TRACE_TRCID_CXISYSTEM_EVENT_WAIT_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXISYSTEM_EVENT_WAIT_ENTER), (Int64)(weP), (Int64)(waitFlags), (Int64)(mutexP));
+#define TRACE_TRCID_CXISYSTEM_EVENT_WAIT_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXISYSTEM_EVENT_WAIT_EXIT), (Int64)(weP), (Int64)(mutexP), (Int64)(waitElement.wakeupRC));
+#define TRACE_TRCID_CXISYSTEM_SIGNAL_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_CXISYSTEM_SIGNAL), (Int64)(weP));
+#define TRACE_TRCID_CXISYSTEM_WAKEUP_ONE_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_WAKEUP_ONE), (Int64)(weP));
+#define TRACE_TRCID_CXISYSTEM_BROADCAST_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_BROADCAST), (Int64)(weP));
+#define TRACE_TRCID_CXISYSTEM_BROADCAST_RC_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXISYSTEM_BROADCAST_RC), (Int64)(weP), (Int64)(rc));
+#define TRACE_TRCID_CXICHECKOPEN_ENTRY_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXICHECKOPEN_ENTRY), (Int64)(count), (Int64)(inodeP->i_ino), (Int64)(inodeP));
+#define TRACE_TRCID_CXICHECKOPEN_FOUND_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXICHECKOPEN_FOUND), (Int64)(fileP->private_data));
+#define TRACE_TRCID_SEND_BREAK_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SEND_BREAK), (Int64)(ofP));
+#define TRACE_TRCID_BREAKWAIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_BREAKWAIT), (Int64)(fileArgP), (Int64)(oplockCurrent), (Int64)(timeoutSeconds));
+#define TRACE_TRCID_BREAKWAIT_EXIT_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_BREAKWAIT_EXIT));
+#define TRACE_TRCID_DMS_STARTED_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_DMS_STARTED), (Int64)(idx), (Int64)(delay), (Int64)(jiffies/HZ));
+#define TRACE_TRCID_DMS_STOPPED_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_DMS_STOPPED), (Int64)(idx), (Int64)(jiffies/HZ));
+#define TRACE_TRCID_CXIREGISTERCLEANUP_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_CXIREGISTERCLEANUP_EXIT), (Int64)(cleanupFD), (Int64)(iP), (Int64)(rc), (Int64)(code));
+#define TRACE_TRCID_FDDISCARD1_CALL \
+    _STrace(_HOOKWORD(TRCID_FDDISCARD1), 2, 2, (Int64)(fdP), (Int64)(shP), fdP->fdFuncNameP);
+#define TRACE_TRCID_FDDISCARD2_CALL \
+    _STrace(_HOOKWORD(TRCID_FDDISCARD2), 2, 2, (Int64)(fdP), (Int64)(shP), fdP->fdFuncNameP);
+#define TRACE_TRCID_FDENTRY_CALL \
+    _STrace(_HOOKWORD(TRCID_FDENTRY), 4, 2, (Int64)(fdP), (Int64)(shP), fdP->fdFuncNameP, (Int64)(shP->shCurrentP), (Int64)(fdP->fdStackUsed));
+#define TRACE_TRCID_IMPLIED_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_IMPLIED_EXIT), 0, 0, popP->fdFuncNameP);
+#define TRACE_TRCID_NEWMAX_EXTEND_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_NEWMAX_EXTEND), (Int64)(fdP->fdStackUsed), (Int64)(fdP));
+#define TRACE_TRCID_NEWMAX_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_NEWMAX), (Int64)(fdP->fdStackUsed), (Int64)(fdP));
+#define TRACE_TRCID_FDEXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_FDEXIT), 3, 2, (Int64)(p), (Int64)(shP), p->fdFuncNameP, (Int64)(shP->shCurrentP));
+#define TRACE_TRCID_FDEXIT_NOTFOUND_CALL \
+    _STrace(_HOOKWORD(TRCID_FDEXIT_NOTFOUND), 0, 0, funcnameP);
+#define TRACE_TRCID_KTRACE_LINUX_ENTER_CALL \
+    _XTrace(_HOOKWORD(TRCID_KTRACE_LINUX_ENTER), "-->K %s (%s:%d) level %d stackUsed %d\n", funcnameP, filenameP, (Int64)(lineNum), (Int64)(level), (Int64)(stackUsed));
+#define TRACE_TRCID_KTRACE_LINUX_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_KTRACE_LINUX_EXIT), 0, 0, funcnameP);
+#define TRACE_TRCID_KIBD_NEW_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_KIBD_NEW), (Int64)(kibdP));
+#define TRACE_TRCID_KIBD_DELETE_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_KIBD_DELETE), (Int64)(kibdP));
+#define TRACE_TRCID_DEALLOC_KIBD_1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_DEALLOC_KIBD_1), (Int64)(kibdPrevP), (Int64)(kibdPrevP->kibdVaddr), (Int64)(kibdPrevP->kibdPages), (Int64)(kibdP));
+#define TRACE_TRCID_DEALLOC_KIBD_2_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_DEALLOC_KIBD_2), (Int64)(kibdPrevP), (Int64)(kibdPrevP->kibdVaddr), (Int64)(kibdPrevP->kibdPages), (Int64)(kibdP));
+#define TRACE_TRCID_ALLOC_KIBD_1_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_ALLOC_KIBD_1), (Int64)(kibdP), (Int64)(kibdP->kibdVaddr), (Int64)(kibdPrevP->kibdPages));
+#define TRACE_TRCID_ALLOC_KIBD_2_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_ALLOC_KIBD_2), (Int64)(vaddr), (Int64)(mapPages), (Int64)(totalPages), (Int64)(kibdHeadP), (Int64)(rc));
+#define TRACE_TRCID_KIBD_INIT_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_KIBD_INIT));
+#define TRACE_TRCID_KIBD_TERM_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_KIBD_TERM));
+#define TRACE_TRCID_BHC_CACHE_DESTROY_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_BHC_CACHE_DESTROY), (Int64)(rc));
+#define TRACE_TRCID_KIBD_CACHE_DESTROY_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_KIBD_CACHE_DESTROY), (Int64)(rc));
+#define TRACE_TRCID_KIBDPIN_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_KIBDPIN_ENTER), (Int64)(vaddr), (Int64)(len));
+#define TRACE_TRCID_KIBDPIN_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_KIBDPIN_EXIT), (Int64)(headP));
+#define TRACE_TRCID_KIBD_UNPIN_ALL_ENTER_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_KIBD_UNPIN_ALL_ENTER));
+#define TRACE_TRCID_KIBD_UNPIN_ALL_EXIT_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_KIBD_UNPIN_ALL_EXIT));
+#define TRACE_TRCID_ATTACH_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_ATTACH_ENTER), (Int64)(OffsetToDataPtr(iobP,0,0)));
+#define TRACE_TRCID_ATTACH_KIBD_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_ATTACH_KIBD), (Int64)(iobP->kernelIOBufferDescP), (Int64)(newPinCount));
+#define TRACE_TRCID_DETACH_KIBD_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_DETACH_KIBD), (Int64)(OffsetToDataPtr(iobP,0,0)), (Int64)(attachP->kDescP), (Int64)(iobP->pinCount));
+#define TRACE_TRCID_UXFER_LINUX_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_UXFER_LINUX), (Int64)(OffsetToDataPtr(iobP,0,0)), (Int64)(kibdP), (Int64)(toIOBuffer), (Int64)(bufOffset), (Int64)(len));
+#define TRACE_TRCID_UXFER_UIOMOVE_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_UXFER_UIOMOVE), (Int64)(pageIndex), (Int64)(kaddr), (Int64)(pageOffset), (Int64)(pageLen));
+#define TRACE_TRCID_XMEMXFER_LINUX_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_XMEMXFER_LINUX), (Int64)(userAddrP), (Int64)(len), (Int64)(udataP), (Int64)(kibdP), (Int64)(toXmem));
+#define TRACE_TRCID_XMEMFER_COPY_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_XMEMFER_COPY), (Int64)(pageIndex), (Int64)(kaddrP), (Int64)(pageOffset), (Int64)(pageLen));
+#define TRACE_TRCID_KXFER_LINUX_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_KXFER_LINUX), (Int64)(OffsetToDataPtr(iobP,0,0)), (Int64)(kibdP), (Int64)(toIOBuffer), (Int64)(bufOffset), (Int64)(len), (Int64)(kBufP));
+#define TRACE_TRCID_KXFER_MEMCPY_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_KXFER_MEMCPY), (Int64)(kibdP), (Int64)(pageIndex), (Int64)(kaddr), (Int64)(pageOffset), (Int64)(pageLen));
+#define TRACE_TRCID_KZERO_LINUX_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KZERO_LINUX), (Int64)(OffsetToDataPtr(iobP,0,0)), (Int64)(kibdP), (Int64)(bufOffset), (Int64)(len));
+#define TRACE_TRCID_KZERO_MEMSET_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KZERO_MEMSET), (Int64)(pageIndex), (Int64)(kaddr), (Int64)(pageOffset), (Int64)(pageLen));
+#define TRACE_TRCID_MAP_DISCONTIG_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_MAP_DISCONTIG_ENTER), (Int64)(OffsetToDataPtr(iobP,0,0)), (Int64)(kibdP), (Int64)(iobP->ioBufLen));
+#define TRACE_TRCID_MAP_DISCONTIG_KMAP_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_MAP_DISCONTIG_KMAP), (Int64)(dirIndex), (Int64)(kibdP), (Int64)(pageP), (Int64)(kaddr));
+#define TRACE_TRCID_UNMAP_DISCONTIG_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_UNMAP_DISCONTIG_ENTER), (Int64)(OffsetToDataPtr(iobP,0,0)), (Int64)(iobP->kernelIOBufferDescP), (Int64)(iobP->ioBufLen), (Int64)(discontigP->mappedLen));
+#define TRACE_TRCID_UNMAP_DISCONTIG_KUNMAP_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_UNMAP_DISCONTIG_KUNMAP), (Int64)(pageIndex), (Int64)(pageP), (Int64)(discontigP->userPagePointerArray[pageIndex]));
+#define TRACE_TRCID_MAP_CONTIG_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_MAP_CONTIG_ENTER), (Int64)(OffsetToDataPtr(iobP,0,0)), (Int64)(kibdP), (Int64)(bufOffset), (Int64)(len));
+#define TRACE_TRCID_MAP_CONTIG_KMAP_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_MAP_CONTIG_KMAP), (Int64)(pageP), (Int64)(*contigBasePP));
+#define TRACE_TRCID_MAP_CONTIG_VMALLOC_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_MAP_CONTIG_VMALLOC), (Int64)(tempBufP));
+#define TRACE_TRCID_UNMAP_CONTIG_VFREE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_UNMAP_CONTIG_VFREE), (Int64)(OffsetToDataPtr(iobP,0,0)), (Int64)(contigP->mallocedBaseP));
+#define TRACE_TRCID_UNMAP_CONTIG_KUNMAP_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_UNMAP_CONTIG_KUNMAP), (Int64)(OffsetToDataPtr(iobP,0,0)), (Int64)(contigP->pageP));
+#define TRACE_TRCID_KDOIO_LINUX_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_KDOIO_LINUX), (Int64)(kibdP), (Int64)(isWrite), (Int64)(dev), (Int64)(startSector), (Int64)(nSectors), (Int64)(bufOffset));
+#define TRACE_TRCID_KDOIO_LINUX_BH_PAGENUM_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_KDOIO_LINUX_BH_PAGENUM), (Int64)(bhP), (Int64)(startSector), (Int64)(sectorsThisBH), (Int64)(bhP->b_state), (Int64)((int)(pageP-mem_map)));
+#define TRACE_TRCID_KDOIO_LINUX_BH_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_KDOIO_LINUX_BH), (Int64)(bhcP), (Int64)(bhP), (Int64)(startSector), (Int64)(sectorsThisBH), (Int64)(bhP->b_state), (Int64)(pageP));
+#define TRACE_TRCID_DISKINFO_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_DISKINFO), (Int64)(devId), (Int64)(diskInfoP->sectorSize), (Int64)(diskInfoP->totalSectors));
+#define TRACE_TRCID_KDOIO_LINUX_BIO_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_KDOIO_LINUX_BIO), (Int64)(kibdP), (Int64)(isWrite), (Int64)(dev), (Int64)(startSector), (Int64)(nSectors), (Int64)(bufOffset));
+#define TRACE_TRCID_KDOIO_LINUX_BIO_PAGENUM_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_KDOIO_LINUX_BIO_PAGENUM), (Int64)(bioP), (Int64)(iovIndex), (Int64)(startSector), (Int64)(sectorsThisPage), (Int64)((int)(pageP-mem_map)));
+#define TRACE_TRCID_KDOIO_LINUX_BIO_PAGE_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_KDOIO_LINUX_BIO_PAGE), (Int64)(bhcP), (Int64)(bioP), (Int64)(iovIndex), (Int64)(startSector), (Int64)(sectorsThisPage), (Int64)(pageP));
+#define TRACE_TRCID_GET_DISKINFOX_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_GET_DISKINFOX), (Int64)(devId), (Int64)(diskInfoP->sectorSize), (Int64)(diskInfoP->totalSectors));
+#define TRACE_TRCID_KWAITIO_BIO_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_KWAITIO_BIO), (Int64)(bhP), (Int64)(bioP), (Int64)(bioP->bi_sector), (Int64)(bioP->bi_size), (Int64)(bioP->bi_flags));
+#define TRACE_TRCID_KWAITIO_BH_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KWAITIO_BH), (Int64)(bhP), (Int64)(bhP->b_blocknr), (Int64)(bhP->b_size), (Int64)(bhP->b_state));
+#define TRACE_TRCID_KWAITIO_BIO_ERR_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_KWAITIO_BIO_ERR), (Int64)(bhP), (Int64)(bioP), (Int64)(bioP->bi_sector), (Int64)(bioP->bi_size), (Int64)(bioP->bi_flags));
+#define TRACE_TRCID_KWAITIO_BH_ERR_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KWAITIO_BH_ERR), (Int64)(bhP), (Int64)(bhP->b_blocknr), (Int64)(bhP->b_size), (Int64)(bhP->b_state));
+#define TRACE_TRCID_KWAITIO_BH_BUSY_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_KWAITIO_BH_BUSY), (Int64)(p), (Int64)(atomic_read(&p->nBHActive)));
+#define TRACE_TRCID_LINUXOPS_TSSTAT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSSTAT_ENTER), (Int64)(iP), (Int64)(statP));
+#define TRACE_TRCID_LINUXOPS_TSSTAT_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSSTAT_EXIT), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_TSFSTAT_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_TSFSTAT_ENTER), (Int64)(fileDesc), (Int64)(fP), (Int64)(iP), (Int64)(statP));
+#define TRACE_TRCID_LINUXOPS_TSFSTAT_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSFSTAT_EXIT), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_TSFATTR_ENTER_CALL \
+    _TRACE8D(_HOOKWORD(TRCID_LINUXOPS_TSFATTR_ENTER), (Int64)(fileDesc), (Int64)(fP), (Int64)(fP->f_flags), (Int64)(flags), (Int64)(iP), (Int64)(command), (Int64)(argP), (Int64)(rCodeP));
+#define TRACE_TRCID_LINUXOPS_TSFATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSFATTR_EXIT), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_TSFSATTR_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TSFSATTR_ENTER), (Int64)(tsfsattrcmd_id2name(command)));
+#define TRACE_TRCID_LINUXOPS_TSFSATTR_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TSFSATTR_EXIT), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_TSATTR_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_TSATTR_ENTER), (Int64)(iP), (Int64)(command), (Int64)(argP), (Int64)(rCodeP));
+#define TRACE_TRCID_LINUXOPS_TSATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSATTR_EXIT), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_KXGETACL_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_KXGETACL_EXIT), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_KXPUTACL_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_KXPUTACL_EXIT), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_SMBOPENLOCKCONTROL_ENTERL_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SMBOPENLOCKCONTROL_ENTERL), (Int64)(command), (Int64)(lockmode));
+#define TRACE_TRCID_SMBOPENLOCKCONTROL_EXITL_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SMBOPENLOCKCONTROL_EXITL), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_SETSMBOPLOCK_E_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_SETSMBOPLOCK_E), (Int64)(fP), (Int64)(accessWant), (Int64)(oplockWant), (Int64)(breakArgP), (Int64)(isAsync));
+#define TRACE_TRCID_LINUXOPS_SETSMBOPLOCK_X_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SETSMBOPLOCK_X), (Int64)(*oplockGrantedP), (Int64)(rc));
+#define TRACE_TRCID_LINUX_SHARE_ENTER_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUX_SHARE_ENTER), (Int64)(fd), (Int64)(fP), (Int64)(iP->i_ino), (Int64)(vinfoP), (Int64)(share), (Int64)(deny));
+#define TRACE_TRCID_SHARE_RESET_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_SHARE_RESET), (Int64)(fd), (Int64)(fP), (Int64)(vinfoP), (Int64)(iP->i_ino));
+#define TRACE_TRCID_LINUX_SHARE_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUX_SHARE_EXIT), (Int64)(rc));
+#define TRACE_TRCID_DELEGATE_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_DELEGATE_ENTER), (Int64)(fd), (Int64)(fP), (Int64)(iP->i_ino), (Int64)(vinfoP), (Int64)(delegate_access));
+#define TRACE_TRCID_DELEGATE_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_DELEGATE_EXIT), (Int64)(rc));
+#define TRACE_TRCID_KXUMOUNT_ENT_CALL \
+    _STrace(_HOOKWORD(TRCID_KXUMOUNT_ENT), 3, 1, (Int64)(type), kxnode, (Int64)(force), (Int64)(*ret_err));
+#define TRACE_TRCID_KXUMOUNT_EXT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KXUMOUNT_EXT), (Int64)(dmrc), (Int64)(*ret_err), (Int64)(rc), (Int64)(code));
+#define TRACE_TRCID_SS_019_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SS_019), (Int64)(filp), (Int64)(inode));
+#define TRACE_TRCID_SS_023_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_023), (Int64)(filp));
+#define TRACE_TRCID_SS_059_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_059), (Int64)(nbytes));
+#define TRACE_TRCID_SS_065_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_065), (Int64)(nbytes));
+#define TRACE_TRCID_SS_075_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_SS_075), (Int64)(op), (Int64)(ss_ioctl_op[op]), (Int64)(kx_args), (Int64)(inode), (Int64)(file));
+#define TRACE_TRCID_SS_077_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_077), (Int64)(op));
+#define TRACE_TRCID_SS_081_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_081), (Int64)(major));
+#define TRACE_TRCID_SS_083_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_083), (Int64)(GPFSIoctlMajorNumber));
+#define TRACE_TRCID_UNPROT_ENTER_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_UNPROT_ENTER), (Int64)(vaddr), (Int64)(len), (Int64)(allocating));
+#define TRACE_TRCID_REPROT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_REPROT_ENTER), (Int64)(vaddr), (Int64)(len));
+#define TRACE_TRCID_SHKERN_INIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SHKERN_INIT), (Int64)(VMALLOC_START), (Int64)(VMALLOC_END));
+#define TRACE_TRCID_CALC_MAX_SHARED_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_CALC_MAX_SHARED), (Int64)(actualBytes), (Int64)(desiredBytes), (Int64)(physMemSize), (Int64)(vmUsed), (Int64)(maxBytes));
+#define TRACE_TRCID_ALLOC_SHARED_VMALLOC_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_ALLOC_SHARED_VMALLOC), (Int64)(actualBytes), (Int64)(minBytes));
+#define TRACE_TRCID_ALLOC_SHARED_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_ALLOC_SHARED_EXIT), (Int64)(mappingP->vaddr), (Int64)(mappingP->kBytes), (Int64)(rc), (Int64)(code));
+#define TRACE_TRCID_FREEALL_VFREE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FREEALL_VFREE), (Int64)(chunkP->vaddrP), (Int64)(chunkP));
+#define TRACE_TRCID_MAPALL_MULTI_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_MAPALL_MULTI), (Int64)(chunkP));
+#define TRACE_TRCID_UNMAPALL_MULTI_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_UNMAPALL_MULTI), (Int64)(chunkP));
+#define TRACE_TRCID_SSINIT_003_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SSINIT_003), (Int64)(GPFSIoctlMajorNumber));
+#define TRACE_TRCID_CXI_MAP_PRIVATE_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_CXI_MAP_PRIVATE), (Int64)(inAddr), (Int64)(len), (Int64)(prot), (Int64)(*outAddr), (Int64)(vmaP));
+#define TRACE_TRCID_MMAP_DIRTY_PAGE_DUMP_CALL \
+    _STrace(_HOOKWORD(TRCID_MMAP_DIRTY_PAGE_DUMP), 7, 0, what, (Int64)(page), (Int64)(vma), (Int64)(page_count(page)), (Int64)(CPUToBigEnd32(trcbuf[0])), (Int64)(CPUToBigEnd32(trcbuf[1])), (Int64)(CPUToBigEnd32(trcbuf[2])), (Int64)(CPUToBigEnd32(trcbuf[3])));
+#define TRACE_TRCID_MMAP_DIRTY_PAGE_DUMP_A_CALL \
+    _STrace(_HOOKWORD(TRCID_MMAP_DIRTY_PAGE_DUMP_A), 7, 0, what, (Int64)(page), (Int64)(vma), (Int64)(page_count(page)), (Int64)(CPUToBigEnd32(trcbuf[4])), (Int64)(CPUToBigEnd32(trcbuf[5])), (Int64)(CPUToBigEnd32(trcbuf[6])), (Int64)(CPUToBigEnd32(trcbuf[7])));
+#define TRACE_TRCID_MMAP_DIRTY_PAGE_DUMP_B_CALL \
+    _STrace(_HOOKWORD(TRCID_MMAP_DIRTY_PAGE_DUMP_B), 7, 0, what, (Int64)(page), (Int64)(vma), (Int64)(page_count(page)), (Int64)(CPUToBigEnd32(trcbuf[8])), (Int64)(CPUToBigEnd32(trcbuf[9])), (Int64)(CPUToBigEnd32(trcbuf[10])), (Int64)(CPUToBigEnd32(trcbuf[11])));
+#define TRACE_TRCID_MMAP_REG_ENTER_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_MMAP_REG_ENTER));
+#define TRACE_TRCID_MMAP_UNREG_ENTER_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_MMAP_UNREG_ENTER));
+#define TRACE_TRCID_MMAP_FILEPOS_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_MMAP_FILEPOS_ENTER), (Int64)(pos));
+#define TRACE_TRCID_MMAP_IO_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_MMAP_IO_ENTER), (Int64)(bufP->b_flags), (Int64)(pageP), (Int64)(pageP->index), (Int64)(page_count(pageP)), (Int64)(pageP->flags));
+#define TRACE_TRCID_MMAP_IO_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_MMAP_IO_EXIT), (Int64)(pageP), (Int64)(pageP->flags));
+#define TRACE_TRCID_MMAP_FLUSH_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_MMAP_FLUSH_ENTER), (Int64)(cnP), (Int64)(inodeP->i_ino), (Int64)(cmopt), (Int64)(start), (Int64)(end));
+#define TRACE_TRCID_MMAP_FLUSH_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_MMAP_FLUSH_EXIT), (Int64)(rc));
+#define TRACE_TRCID_CXIGETPAGE_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_CXIGETPAGE), (Int64)(pageP), (Int64)(pageP->index), (Int64)(page_count(pageP)), (Int64)(pageP->flags), (Int64)(pageP->mapping), (Int64)((rc != 0)));
+#define TRACE_TRCID_CXIRELPAGE_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_CXIRELPAGE), (Int64)(pageP), (Int64)(pageP->index), (Int64)(page_count(pageP)), (Int64)(pageP->flags));
+#define TRACE_TRCID_LINUXOPS_NOPAGE_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_NOPAGE), (Int64)(area), (Int64)(address), (Int64)(fileP), (Int64)(area->vm_mm), (Int64)(atomic_read(&area->vm_mm->mm_users)), (Int64)(noShare));
+#define TRACE_TRCID_LINUXOPS_NOPAGE_1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_NOPAGE_1), (Int64)(area->vm_start), (Int64)(area->vm_end), (Int64)(area->vm_flags), (Int64)(index));
+#define TRACE_TRCID_LINUXOPS_NOPAGE_2_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_NOPAGE_2), (Int64)(pageP), (Int64)(page_count(pageP)), (Int64)(pageP->flags), (Int64)(atomic_read(&area->vm_mm->mm_users)));
+#define TRACE_TRCID_LINUXOPS_NOPAGE_3_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_NOPAGE_3));
+#define TRACE_TRCID_LINUXOPS_NOPAGEDONE_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_NOPAGEDONE), (Int64)(cnP), (Int64)(area), (Int64)(address), (Int64)(status));
+#define TRACE_TRCID_LINUXOPS_READPAGE_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READPAGE_ENTER), (Int64)(fileP), (Int64)(cnP), (Int64)(inodeP), (Int64)(inodeP->i_ino));
+#define TRACE_TRCID_LINUXOPS_READPAGE_ENTER_A_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READPAGE_ENTER_A), (Int64)(pageP), (Int64)(index), (Int64)(page_count(pageP)), (Int64)(pageP->flags));
+#define TRACE_TRCID_LINUXOPS_READPAGE1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READPAGE1), (Int64)(bufPageP), (Int64)(bufPageP->index), (Int64)(page_count(bufPageP)), (Int64)(bufPageP->flags));
+#define TRACE_TRCID_LINUXOPS_READPAGE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_READPAGE_EXIT), (Int64)(inodeP), (Int64)(rc), (Int64)(code));
+#define TRACE_TRCID_LINUXOPS_WRPAGE_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_WRPAGE_ENTER), (Int64)(cnP), (Int64)(inodeP), (Int64)(inodeP->i_ino));
+#define TRACE_TRCID_LINUXOPS_WRPAGE_ENTER_A_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_WRPAGE_ENTER_A), (Int64)(pageP), (Int64)(pageP->index), (Int64)(page_count(pageP)), (Int64)(pageP->flags));
+#define TRACE_TRCID_LINUXOPS_WRPAGE_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_WRPAGE_EXIT), (Int64)(inodeP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_ACL2POSIX_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_ACL2POSIX_ENTER), (Int64)(tmpaclP->aclLength), (Int64)(buf_size));
+#define TRACE_TRCID_LINUXOPS_ACL2POSIX_2_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_ACL2POSIX_2), (Int64)(i), (Int64)(len), (Int64)(buf_size));
+#define TRACE_TRCID_LINUXOPS_ACL2POSIX_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_LINUXOPS_ACL2POSIX), (Int64)(i), (Int64)(aclP->a_entries[i].e_tag), (Int64)(aceP->aceTagType), (Int64)(aclP->a_entries[i].e_id), (Int64)(aceP->aceQualifier), (Int64)(aclP->a_entries[i].e_perm), (Int64)(aceP->acePermissions));
+#define TRACE_TRCID_LINUXOPS_ACL2POSIX_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_ACL2POSIX_EXIT), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_POSIX2ACL_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_POSIX2ACL), (Int64)(i), (Int64)(aclP->a_entries[i].e_tag), (Int64)(aceP->aceTagType), (Int64)(aceP->aceQualifier), (Int64)(aclP->a_entries[i].e_perm), (Int64)(aceP->acePermissions));
+#define TRACE_TRCID_LINUXOPS_SETACLATTR_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_SETACLATTR_ENTER), (Int64)(iP), (Int64)(iP->i_ino), (Int64)(type), (Int64)(buf), (Int64)(buf_size));
+#define TRACE_TRCID_LINUXOPS_SETACLATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SETACLATTR_EXIT), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_GETACLATTR_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_GETACLATTR_ENTER), (Int64)(iP), (Int64)(type), (Int64)(buf_size));
+#define TRACE_TRCID_LINUXOPS_GETACLATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETACLATTR_EXIT), (Int64)(iP), (Int64)(rc));
+#define TRACE_TRCID_KTRACE_LINUX_EXIT_RC_CALL \
+    _STrace(_HOOKWORD(TRCID_KTRACE_LINUX_EXIT_RC), 1, 0, funcnameP, (Int64)(rc));
+#define TRACE_TRCID_PRINTSUPER_1_CALL \
+    _TRACE4D_NB(_HOOKWORD(TRCID_PRINTSUPER_1), (Int64)(sbP), (Int64)(sbP->s_magic), (Int64)(sbP->s_type), (Int64)(SBLOCK_PRIVATE(sbP)));
+#define TRACE_TRCID_PRINTSUPER_5_CALL \
+    _TRACE4D_NB(_HOOKWORD(TRCID_PRINTSUPER_5), (Int64)(sbP->s_dev), (Int64)(sbP->s_count), (Int64)(atomic_read(&sbP->s_active)), (Int64)(sbP->s_umount.count));
+#define TRACE_TRCID_PRINTALLSUPER_1_CALL \
+    _TRACE0D_NB(_HOOKWORD(TRCID_PRINTALLSUPER_1));
+#define TRACE_TRCID_PRINTALLSUPER_5_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTALLSUPER_5), (Int64)(sP->s_count), (Int64)(atomic_read(&sP->s_active)), (Int64)(sP->s_umount.count));
+#define TRACE_TRCID_PRINTSUPER_3_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTSUPER_3), (Int64)(sbP->s_dev), (Int64)(sbP->s_count), (Int64)(atomic_read(&sbP->s_active)));
+#define TRACE_TRCID_CXISYSTEM_EVENT_WAIT_INTERRUPTED_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_CXISYSTEM_EVENT_WAIT_INTERRUPTED), (Int64)(weP), (Int64)(mutexP), (Int64)(waitElement.wakeupRC));
+#define TRACE_TRCID_LINUXOPS_SENDFILE_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_SENDFILE_ENTER), (Int64)(fP), (Int64)(*offsetP), (Int64)(count), (Int64)(targetP));
+#define TRACE_TRCID_LINUXOPS_SENDFILE_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SENDFILE_EXIT), (Int64)(rc), (Int64)(code));
+#define TRACE_TRCID_LINUXOPS_GET_DEVICELIST_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GET_DEVICELIST_ENTER), (Int64)(sbP), (Int64)(p));
+#define TRACE_TRCID_GET_DEVICELIST_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_GET_DEVICELIST_EXIT), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_GET_LAYOUT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GET_LAYOUT_ENTER), (Int64)(iP), (Int64)(p));
+#define TRACE_TRCID_GET_LAYOUT_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_GET_LAYOUT_EXIT), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_SET_STATEID_ENTER_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_LINUXOPS_SET_STATEID_ENTER), (Int64)(iP), (Int64)(nodeId), (Int64)(osP->devid), (Int64)(p), (Int64)(len), (Int64)(osP->verifier[0]), (Int64)(osP->verifier[1]));
+#define TRACE_TRCID_SET_STETEID_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SET_STETEID_EXIT), (Int64)(code), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_LAYOUT_RET_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_LAYOUT_RET_ENTER), (Int64)(iP));
+#define TRACE_TRCID_LAYOUT_RET_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LAYOUT_RET_EXIT), (Int64)(rc), (Int64)(iP));
+#define TRACE_TRCID_LINUXOPS_GET_DEVICEINFO_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GET_DEVICEINFO_ENTER), (Int64)(sbP), (Int64)(p));
+#define TRACE_TRCID_GET_DEVICEINFO_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_GET_DEVICEINFO_EXIT), (Int64)(rc));
+#define TRACE_TRCID_PRINTDENTRY_3C_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTDENTRY_3C), (Int64)(&dP->d_child), (Int64)(dP->d_child.next), (Int64)(dP->d_child.prev));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K), (Int64)(cmd), (Int64)(qid), (Int64)(pathname), (Int64)(current->euid));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K1_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K1));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K2_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K2), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K6_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K6), (Int64)(cmd), (Int64)(qid), (Int64)(credP), (Int64)(bufferP));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K7_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K7), (Int64)(rc));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_EXIT), 2, 2, (Int64)(code), (Int64)(rc), pathname ? pathname : "?");
+#define TRACE_TRCID_MMAP_REG_5_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_MMAP_REG_5), (Int64)(&Page_queue[0]), (Int64)(&Page_queue[MAX_PAGEQUE_ENTRIES - 1]));
+#define TRACE_TRCID_CXI_GET_DEVICELIST_P1_CALL \
+    _STrace(_HOOKWORD(TRCID_CXI_GET_DEVICELIST_P1), 3, 2, (Int64)(i), (Int64)(dev->r_addr.len), dev->r_addr.data, (Int64)(left));
+#define TRACE_TRCID_CXI_GET_DEVICELIST_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXI_GET_DEVICELIST_EXIT), (Int64)(rc), (Int64)(len));
+#define TRACE_TRCID_GPFSOPS_GET_DEVICELINFO_P1_CALL \
+    _STrace(_HOOKWORD(TRCID_GPFSOPS_GET_DEVICELINFO_P1), 1, 1, (Int64)(dev->r_addr.len), dev->r_addr.data);
+#define TRACE_TRCID_CXI_GET_DEVICELINFO_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXI_GET_DEVICELINFO_EXIT), (Int64)(rc));
+#define TRACE_TRCID_CXI_GET_LAYOUT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXI_GET_LAYOUT_ENTER), (Int64)(nDests), (Int64)(myAddr));
+#define TRACE_TRCID_CXI_GET_LAYOUT_P1_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXI_GET_LAYOUT_P1), (Int64)(i), (Int64)(idList[i]), (Int64)(len));
+#define TRACE_TRCID_CXI_GET_LAYOUT_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXI_GET_LAYOUT_EXIT), (Int64)(rc), (Int64)(len), (Int64)(p));
+#define TRACE_TRCID_LINUXOPS_LEASE_ENTER_CALL \
+    _XTrace(_HOOKWORD(TRCID_LINUXOPS_LEASE_ENTER), "gpfs_f_set_lease: fP 0x%lX iP 0x%lX type %s by %s\n", (Int64)(fP), (Int64)(iP), (arg == F_RDLCK) ? "RD" :(arg == F_WRLCK) ? "WR" : "UNLCK", (cxiIsNFSThread()) ? "NFS" : "SAMBA");
+#define TRACE_TRCID_LINUXOPS_LEASE_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_LEASE_EXIT), 5, 5, (Int64)(fP), (Int64)(flP), (Int64)(rc), (Int64)(oplockWant), (Int64)(oplockGot), (oplockGot == smbOplockShared) ? "RD" :     (oplockGot == smbOplockExclusive) ? "WR" : "NONE");
+#define TRACE_TRCID_CXIBREAKOPLOCK_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXIBREAKOPLOCK), (Int64)(rc), (Int64)(breakArgP), (Int64)(oplockNew));
+#define TRACE_TRCID_NFS_ERROR_CALL \
+    _STrace(_HOOKWORD(TRCID_NFS_ERROR), 1, 0, str, (Int64)(rc));
+#define TRACE_TRCID_NFS_ERROR_1_CALL \
+    _STrace(_HOOKWORD(TRCID_NFS_ERROR_1), 1, 1, (Int64)(rc), str);
+#define TRACE_TRCID_PRODVER_MISMATCH_CALL \
+    _XTrace(_HOOKWORD(TRCID_PRODVER_MISMATCH), "mmfslinux product version %s does not match mmfs version %s", PRODUCT_VERSION, mmfsProductVersion);
+#define TRACE_TRCID_STEMCRVER_MISMATCH_CALL \
+    _XTrace(_HOOKWORD(TRCID_STEMCRVER_MISMATCH), "mmfslinux was built with site.mcr rev %s which does not match "            "the site.mcr version %s used to build mmfs", SITEMCRREV, siteMcrVersion);
+#define TRACE_TRCID_SS_DMAPI_COMPAT_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_SS_DMAPI_COMPAT_ENTER), 1, 1, (Int64)(op), kxOp_tostring(op));
+#define TRACE_TRCID_SS_DMAPI_COMPAT_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_DMAPI_COMPAT_EXIT), (Int64)(rc));
+
+#else /* _ILP_32 */
+
+#define TRACE_TRCID_CXIINC_COUNTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXIINC_COUNTER), (Int32)(ibmModule), (Int32)(up));
+#define TRACE_TRCID_GPFSINIT_000_CALL \
+    _STrace(_HOOKWORD(TRCID_GPFSINIT_000), 1, 0, prog_path, (Int32)(strlen(prog_path)));
+#define TRACE_TRCID_PORTINIT_001_CALL \
+    _STrace(_HOOKWORD(TRCID_PORTINIT_001), 0, 0, prog_path == NULL ? "NULL" : prog_path);
+#define TRACE_TRCID_FBREAD_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FBREAD_ENTER), (Int32)(file), (Int32)(buf), (Int32)(nbytes));
+#define TRACE_TRCID_FBREAD_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_FBREAD_EXIT), (Int32)(written));
+#define TRACE_TRCID_FBWRITE_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FBWRITE_ENTER), (Int32)(file), (Int32)(buf), (Int32)(nbytes));
+#define TRACE_TRCID_FBOPEN_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FBOPEN_ENTER), (Int32)(inode), (Int32)(file));
+#define TRACE_TRCID_FBOPEN_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FBOPEN_EXIT), (Int32)(bdP), (Int32)(openers), (Int32)(count));
+#define TRACE_TRCID_FBRELEASE_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FBRELEASE_ENTER), (Int32)(inode), (Int32)(file));
+#define TRACE_TRCID_FBRELEASE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FBRELEASE_EXIT), (Int32)(bdP), (Int32)(openers), (Int32)(count));
+#define TRACE_TRCID_FBIOCTL_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_FBIOCTL_ENTER), (Int32)(inode), (Int32)(file), (Int32)(p1), (Int32)(p2));
+#define TRACE_TRCID_BOPEN_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BOPEN_ENTER), (Int32)(inode), (Int32)(file));
+#define TRACE_TRCID_BOPEN_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_BOPEN_EXIT), (Int32)(bdP), (Int32)(openers), (Int32)(count));
+#define TRACE_TRCID_BRELEASE_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BRELEASE_ENTER), (Int32)(inode), (Int32)(file));
+#define TRACE_TRCID_BRELEASE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_BRELEASE_EXIT), (Int32)(bdP), (Int32)(openers), (Int32)(count));
+#define TRACE_TRCID_BIOCTL_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_BIOCTL_ENTER), (Int32)(inode), (Int32)(file), (Int32)(p1), (Int32)(p2));
+#define TRACE_TRCID_BLOCK_011_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BLOCK_011), (Int32)(GPFSFileSysMajorNumber), (Int32)(rc));
+#define TRACE_TRCID_BLOCK_013_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BLOCK_013), (Int32)(GPFSFileSysMajorNumber), (Int32)(rc));
+#define TRACE_TRCID_BLOCK_015_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BLOCK_015), (Int32)(GPFSFileSysMajorNumber), (Int32)(rc));
+#define TRACE_TRCID_PRUNE_DCACHE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_PRUNE_DCACHE), (Int32)(iP), (Int32)(iP->i_ino));
+#define TRACE_TRCID_PRUNE_DCACHE_ALIAS_CALL \
+    _STraceNB(_HOOKWORD(TRCID_PRUNE_DCACHE_ALIAS), 4, 4, (Int32)(iP), (Int32)(iP->i_ino), (Int32)(dentry), (Int32)(hasSubdirs), dentry->d_name.name);
+#define TRACE_TRCID_INVAL_DCACHE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_INVAL_DCACHE), (Int32)(iP), (Int32)(iP->i_ino));
+#define TRACE_TRCID_INVAL_DCACHE_ALIAS_CALL \
+    _STraceNB(_HOOKWORD(TRCID_INVAL_DCACHE_ALIAS), 3, 3, (Int32)(iP), (Int32)(iP->i_ino), (Int32)(dentry), dentry->d_name.name);
+#define TRACE_TRCID_DROP_INVAL_DCACHE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_DROP_INVAL_DCACHE), (Int32)(iP), (Int32)(iP->i_ino));
+#define TRACE_TRCID_DROP_INVAL_DCACHE_ALIAS_CALL \
+    _STraceNB(_HOOKWORD(TRCID_DROP_INVAL_DCACHE_ALIAS), 3, 3, (Int32)(iP), (Int32)(iP->i_ino), (Int32)(dentry), dentry->d_name.name);
+#define TRACE_TRCID_INVAL_NEG_DCACHE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_INVAL_NEG_DCACHE), (Int32)(iP), (Int32)(iP->i_ino));
+#define TRACE_TRCID_INVAL_NEG_DUNCACHE_CALL \
+    _XTraceNB(_HOOKWORD(TRCID_INVAL_NEG_DUNCACHE), "cxiInvalidateNegDCacheEntry: ip 0x%lX ino %d "                 "%s dentry 0x%lX name '%s'", (Int32)(iP), (Int32)(iP->i_ino), !child->d_inode ? "inval" : "reval", (Int32)(child), child->d_name.name);
+#define TRACE_TRCID_DIR_001_CALL \
+    _STrace(_HOOKWORD(TRCID_DIR_001), 2, 2, (Int32)(dentry), (Int32)(dentry->d_inode), dentry->d_name.name);
+#define TRACE_TRCID_DIR_REVALIDATE_CALL \
+    _STrace(_HOOKWORD(TRCID_DIR_REVALIDATE), 5, 5, (Int32)(dentry), (Int32)(dentry->d_inode), (Int32)(dentry->d_inode ? dentry->d_inode->i_ino : -1), (Int32)(dentry->d_parent), (Int32)(current->fs->pwd), dentry->d_name.name);
+#define TRACE_TRCID_DIR_REVALIDATE_EX_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_DIR_REVALIDATE_EX), (Int32)(dentry), (Int32)(rc));
+#define TRACE_TRCID_DIR_VALID_IF_SAMBA_CALL \
+    _XTrace(_HOOKWORD(TRCID_DIR_VALID_IF_SAMBA), "gpfs_d_valid_if_Samba: dentry 0x%lX "            "d_inode 0x%lX (name '%s') returns %s\n", (Int32)(dentry), (Int32)(dentry->d_inode), dentry->d_name.name, (cxiIsSambaThread() ? "true" : "false"));
+#define TRACE_TRCID_DIR_INVALID_IF_SAMBA_CALL \
+    _XTrace(_HOOKWORD(TRCID_DIR_INVALID_IF_SAMBA), "gpfs_d_invalid_if_Samba: dentry 0x%lX "            "d_inode 0x%lX (name '%s') returns %s\n", (Int32)(dentry), (Int32)(dentry->d_inode), dentry->d_name.name, (cxiIsSambaThread() ? "false" : "true"));
+#define TRACE_TRCID_LINUXOPS_LLSEEK_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_LLSEEK_ENTER), (Int32)(fP), High32(offset), Low32(offset), (Int32)(origin));
+#define TRACE_TRCID_LINUXOPS_LLSEEK_EXIT_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_LLSEEK_EXIT), (Int32)(fP), High32(offset), Low32(offset), (Int32)(origin), High32(rc), Low32(rc));
+#define TRACE_TRCID_LINUXOPS_READDIR_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_READDIR_ENTER), (Int32)(fP), (Int32)(direntP), (Int32)(filldir), High32(fP->f_pos), Low32(fP->f_pos));
+#define TRACE_TRCID_LINUXOPS_READDIR_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READDIR_EXIT), (Int32)(fP), High32(fP->f_pos), Low32(fP->f_pos), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_POLL_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_POLL), (Int32)(fP));
+#define TRACE_TRCID_LINUXOPS_IOCTL_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_IOCTL), (Int32)(iP), (Int32)(fP), (Int32)(cmd));
+#define TRACE_TRCID_FM_OPEN_CALL \
+    _STrace(_HOOKWORD(TRCID_FM_OPEN), 3, 3, (Int32)(vma), (Int32)(inode->i_ino), (Int32)(atomic_read((atomic_t *)&inode->i_count)), file->f_dentry? file->f_dentry->d_name.name: (const unsigned char*)"");
+#define TRACE_TRCID_FM_OPEN_1_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FM_OPEN_1), (Int32)(mm), (Int32)(atomic_read(&mm->mm_users)));
+#define TRACE_TRCID_FM_OPEN_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FM_OPEN_EXIT), (Int32)(vma), (Int32)(atomic_read((atomic_t *)&inode->i_count)));
+#define TRACE_TRCID_FM_CLOSE_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FM_CLOSE_ENTER), (Int32)(vma), (Int32)(inode), (Int32)((Int32)atomic_read((atomic_t *)&inode->i_count)));
+#define TRACE_TRCID_FM_CLOSE_ENTER1_CALL \
+    _STrace(_HOOKWORD(TRCID_FM_CLOSE_ENTER1), 2, 1, (Int32)(inode->i_ino), fP->f_dentry? fP->f_dentry->d_name.name: (const unsigned char*)"", (Int32)(inode->i_data.nrpages));
+#define TRACE_TRCID_FM_CLOSE_ENR_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FM_CLOSE_ENR), (Int32)(mm), (Int32)(atomic_read(&mm->mm_users)));
+#define TRACE_TRCID_FM_CLOSE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_FM_CLOSE), (Int32)(vma), (Int32)(inode), (Int32)((Int32)atomic_read((atomic_t *)&inode->i_count)));
+#define TRACE_TRCID_LINUXOPS_MMAP_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_MMAP_ENTER), (Int32)(fP), (Int32)(iP->i_ino), (Int32)(vma));
+#define TRACE_TRCID_LINUXOPS_MMAP_ENTER_A_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_MMAP_ENTER_A), (Int32)(vma->vm_start), (Int32)(vma->vm_end), (Int32)(vma->vm_pgoff), (Int32)(vma->vm_flags));
+#define TRACE_TRCID_LINUXOPS_MMAP_ENTER_A1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_MMAP_ENTER_A1), 3, 2, (Int32)(iP->i_ino), (Int32)(atomic_read((atomic_t *)&iP->i_count)), fP->f_dentry ? fP->f_dentry->d_name.name : (const unsigned char*)"", (Int32)(iP->i_data.nrpages));
+#define TRACE_TRCID_LINUXOPS_MMAP_ENTER_AB_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_MMAP_ENTER_AB), (Int32)(mm), (Int32)(atomic_read(&mm->mm_users)));
+#define TRACE_TRCID_LINUXOPS_MMAP_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_MMAP_EXIT), (Int32)(rc), (Int32)(code));
+#define TRACE_TRCID_LINUXOPS_OPEN_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_OPEN_ENTER), 6, 4, (Int32)(iP), (Int32)(fP), (Int32)(fP->f_flags), (Int32)(fP->f_dentry), fP->f_dentry? fP->f_dentry->d_name.name: (const unsigned char*)"", (Int32)(flags), (Int32)(cxiIsNFSThread()));
+#define TRACE_TRCID_LINUXOPS_OPEN_01_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_OPEN_01), (Int32)(iP), (Int32)(cnP), (Int32)(fflags), (Int32)(amode));
+#define TRACE_TRCID_LINUXOPS_OPEN_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_OPEN_EXIT), (Int32)(iP), (Int32)((struct MMFSVInfo *)fP->private_data), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_CLOSE_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_CLOSE_ENTER), (Int32)(iP), (Int32)(fP->f_flags), (Int32)(flags), (Int32)(vinfoP));
+#define TRACE_TRCID_CLOSE_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CLOSE_EXIT), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_FSYNC_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_FSYNC_ENTER), (Int32)(fP), (Int32)(direntP), (Int32)(datasync));
+#define TRACE_TRCID_LINUXOPS_FSYNC_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_FSYNC_EXIT), (Int32)(fP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_FASYNC_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_FASYNC_ENTER), (Int32)(fd), (Int32)(fP), (Int32)(on));
+#define TRACE_TRCID_LINUXOPS_FASYNC_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_FASYNC_EXIT), (Int32)(fP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_LOCKCTL_ENTER_CALL \
+    _XTrace(_HOOKWORD(TRCID_LINUXOPS_LOCKCTL_ENTER), "gpfs_f_lock enter: pid %d fp 0x%lX range 0x%lX:%lX cmd %s type %s\n", (Int32)(flP->fl_pid), (Int32)(fP), (Int32)(flP->fl_start), (Int32)(flP->fl_end), (cmd == F_GETLK) ? "GETLK" : (cmd == F_SETLK) ? "SETLK" : "SETLKW", (flP->fl_type == F_RDLCK) ? "RDLCK" :          (flP->fl_type == F_WRLCK) ? "WRLCK" : "UNLCK");
+#define TRACE_TRCID_LINUXOPS_LOCKCTL_ENTER2_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_LOCKCTL_ENTER2), (Int32)(fP->f_pos), (Int32)(fP->f_dentry->d_inode), (Int32)(flP->fl_flags), (Int32)(eCred.principal), (Int32)(eCred.group));
+#define TRACE_TRCID_LINUXOPS_LOCKCTL_DIAG2_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_LOCKCTL_DIAG2), (Int32)(fP), (Int32)(fP->f_dentry));
+#define TRACE_TRCID_LINUXOPS_LOCKCTL_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_LOCKCTL_EXIT), (Int32)(rc));
+#define TRACE_TRCID_LINUX_FLOCK_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUX_FLOCK_ENTER), (Int32)(fP), (Int32)(flP), (Int32)(cmd), (Int32)(flP->fl_flags), (Int32)(flP->fl_type));
+#define TRACE_TRCID_LINUX_FLOCK_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUX_FLOCK_EXIT), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_RDWRINT_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_RDWRINT_ENTER), 11, 11, (Int32)(fP), (Int32)(fP->f_flags), (Int32)(flags), (Int32)(op), (Int32)(iovecP), (Int32)(count), High32(*offsetP), Low32(*offsetP), (Int32)(fP->f_dentry), (Int32)(fP->private_data), (Int32)(fP->f_dentry->d_inode), fP->f_dentry->d_name.name);
+#define TRACE_TRCID_LINUXOPS_RDWRINT_EXIT_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_RDWRINT_EXIT), (Int32)(fP), (Int32)(total_len), (Int32)(tmp_uio.uio_resid), High32(tmp_uio.uio_offset), Low32(tmp_uio.uio_offset), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_READ_DIR_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READ_DIR), (Int32)(fP));
+#define TRACE_TRCID_LINUXOPS_SHARE_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_SHARE_ENTER), 4, 2, (Int32)(fP), (Int32)(iP? iP->i_ino: -1), dentryP? dentryP->d_name.name: (const unsigned char*)"", (Int32)(share_access), (Int32)(share_deny));
+#define TRACE_TRCID_LINUXOPS_SHARE_RESET_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_SHARE_RESET), (Int32)(fP), (Int32)(iP), (Int32)(iP? VP_TO_PVP(fP->f_dentry->d_inode): NULL));
+#define TRACE_TRCID_LINUXOPS_SHARE_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_SHARE_EXIT), (Int32)(err));
+#define TRACE_TRCID_LINUXOPS_DELEGATE_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_DELEGATE_ENTER), 3, 2, (Int32)(fP), (Int32)(iP? iP->i_ino: -1), dentryP? dentryP->d_name.name: (const unsigned char*)"", (Int32)(delegate_access));
+#define TRACE_TRCID_LINUXOPS_DELEGATE_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_DELEGATE_EXIT), (Int32)(err));
+#define TRACE_TRCID_PRINTINODE_1_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_PRINTINODE_1), (Int32)(iP), (Int32)(iP->i_ino), (Int32)(iP->i_ino), (Int32)(atomic_read((atomic_t *)&iP->i_count)), (Int32)(KDEV_INT(iP->i_rdev)), (Int32)(iP->i_mode), (Int32)(iP->i_nlink));
+#define TRACE_TRCID_PRINTINODE_2_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_PRINTINODE_2), (Int32)(iP->i_uid), (Int32)(iP->i_gid), (Int32)(KDEV_INT(iP->i_rdev)), (Int32)(GET_INODETIME_SEC(iP->i_atime)), (Int32)(GET_INODETIME_SEC(iP->i_mtime)), (Int32)(GET_INODETIME_SEC(iP->i_ctime)));
+#define TRACE_TRCID_PRINTINODE_4_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_PRINTINODE_4), High32(iP->i_size), Low32(iP->i_size), (Int32)(iP->i_blocks), (Int32)(iP->i_blocks), (Int32)(iP->i_version), (Int32)(iP->i_op));
+#define TRACE_TRCID_PRINTINODE_5_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_PRINTINODE_5), (Int32)(iP->i_fop), (Int32)(iP->i_sb), (Int32)(iP->i_flags), (Int32)(iP->i_state), (Int32)(iP->i_generation), (Int32)(iP->PRVINODE));
+#define TRACE_TRCID_PRINTINODE_6_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_PRINTINODE_6), (Int32)(&(iP->i_list)), (Int32)(iP->i_list.next), (Int32)(iP->i_list.prev));
+#define TRACE_TRCID_PRINTINODE_7_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_PRINTINODE_7), (Int32)(&(iP->i_dentry)), (Int32)(iP->i_dentry.next), (Int32)(iP->i_dentry.prev));
+#define TRACE_TRCID_PRINTINODE_8_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_PRINTINODE_8), (Int32)(&(iP->i_hash)), (Int32)(iP->i_hash.next), (Int32)(iP->i_hash.prev));
+#define TRACE_TRCID_PRINTINODE_9_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_PRINTINODE_9), (Int32)(&(iP->i_hash)), (Int32)(iP->i_hash.next), (Int32)(*iP->i_hash.pprev));
+#define TRACE_TRCID_PRINTDENTRY_1_CALL \
+    _STraceNB(_HOOKWORD(TRCID_PRINTDENTRY_1), 2, 2, (Int32)(dP), (Int32)(atomic_read((atomic_t *)&dP->d_count)), dP->d_name.name);
+#define TRACE_TRCID_PRINTDENTRY_2_CALL \
+    _TRACE5D_NB(_HOOKWORD(TRCID_PRINTDENTRY_2), (Int32)(dP->d_time), (Int32)(dP->d_op), (Int32)(dP->d_flags), (Int32)(dP->d_parent), (Int32)(iP));
+#define TRACE_TRCID_PRINTDENTRY_3A_CALL \
+    _TRACE4D_NB(_HOOKWORD(TRCID_PRINTDENTRY_3A), (Int32)(iP->i_ino), (Int32)(atomic_read((atomic_t *)&iP->i_count)), (Int32)(list_entry(iP->i_dentry.next, struct dentry, d_alias)), (Int32)(list_entry(iP->i_dentry.prev, struct dentry, d_alias)));
+#define TRACE_TRCID_PRINTDENTRY_3B_CALL \
+    _TRACE2D_NB(_HOOKWORD(TRCID_PRINTDENTRY_3B), (Int32)(iP->i_ino), (Int32)(atomic_read((atomic_t *)&iP->i_count)));
+#define TRACE_TRCID_PRINTDENTRY_4_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTDENTRY_4), (Int32)(&dP->d_child), (Int32)(dP->d_child.next), (Int32)(dP->d_child.prev));
+#define TRACE_TRCID_PRINTDENTRY_5_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTDENTRY_5), (Int32)(&dP->d_subdirs), (Int32)(list_entry(dP->d_subdirs.next, struct dentry, d_child)), (Int32)(list_entry(dP->d_subdirs.prev, struct dentry, d_child)));
+#define TRACE_TRCID_LINUXOPS_SETINODE_CALL \
+    _TRACE8D(_HOOKWORD(TRCID_LINUXOPS_SETINODE), (Int32)(inodeP), (Int32)(inodeP->i_ino), (Int32)(atomic_read((atomic_t *)&inodeP->i_count)), (Int32)(inodeP->i_mode), (Int32)(attrP->va_xinfo), (Int32)(inodeP->i_nlink), High32(inodeP->i_size), Low32(inodeP->i_size));
+#define TRACE_TRCID_CXIINVA_PERM_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXIINVA_PERM), (Int32)(cnP), (Int32)(inodeP->i_op == &gpfs_iops_stdperm), (Int32)(inodeP->i_op == &gpfs_dir_iops_stdperm));
+#define TRACE_TRCID_LINUXOPS_CREATE_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_CREATE_ENTER), 3, 3, (Int32)(diP), (Int32)(dentryP), (Int32)(mode), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_CREATE_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_CREATE_EXIT), (Int32)(newInodeP), (Int32)(iNum), (Int32)(iNum), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_LOOKUP_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_LOOKUP_ENTER), 2, 2, (Int32)(diP), (Int32)(dentryP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_LOOKUP_STALE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_LOOKUP_STALE), (Int32)(diP), (Int32)(diP->i_ino));
+#define TRACE_TRCID_LINUXOPS_LOOKUP_EXIT_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_LINUXOPS_LOOKUP_EXIT), (Int32)(newInodeP), (Int32)(iNum), (Int32)(iNum), (Int32)(cnP), (Int32)(retP), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_LINK_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_LINK_ENTER), 3, 3, (Int32)(diP), (Int32)(oldDentryP), (Int32)(dentryP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_LINK_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_LINK_EXIT), (Int32)(diP), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_UNLINK_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_UNLINK_ENTER), 3, 3, (Int32)(diP), (Int32)(iP), (Int32)(dentryP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_UNLINK_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_UNLINK_EXIT), (Int32)(diP), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_SYMLINK1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_SYMLINK1), 2, 2, (Int32)(diP), (Int32)(dentryP), symlinkTargetP);
+#define TRACE_TRCID_LINUXOPS_SYMLINK2_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_SYMLINK2), 0, 0, dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_SYMLINK_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_SYMLINK_EXIT), (Int32)(newInodeP), (Int32)(iNum), (Int32)(iNum), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_MKDIR_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_MKDIR_ENTER), 2, 2, (Int32)(diP), (Int32)(mode), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_MKDIR_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_MKDIR_EXIT), (Int32)(newInodeP), (Int32)(iNum), (Int32)(iNum), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_RMDIR_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_RMDIR_ENTER), 2, 2, (Int32)(diP), (Int32)(iP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_RMDIR_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_RMDIR_EXIT), (Int32)(diP), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_MKNOD_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_MKNOD_ENTER), 3, 3, (Int32)(diP), (Int32)(mode), (Int32)((int)rdev), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_MKNOD_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_MKNOD_EXIT), (Int32)(newInodeP), (Int32)(iNum), (Int32)(iNum), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_RENAME_1_CALL \
+    _XTrace(_HOOKWORD(TRCID_LINUXOPS_RENAME_1), "gpfs_i_rename enter: iP 0x%lX dvP 0x%lX name '%s'"          " tiP 0x%lX tdiP 0x%lX new name '%s'\n", (Int32)(iP), (Int32)(diP), dentryP->d_name.name, (Int32)(tiP), (Int32)(tdiP), tDentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_RENAME_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_RENAME_EXIT), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_READLINK_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READLINK_ENTER), 4, 4, (Int32)(dentryP), (Int32)(bufP), (Int32)(buflen), (Int32)(iP), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_READLINK_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READLINK_EXIT), (Int32)(iP), (Int32)(tmpUio.uio_resid), (Int32)(tmpUio.uio_offset), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_FOLLOW_LINK_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_FOLLOW_LINK_ENTER), 1, 1, (Int32)(dentry->d_inode), dentry->d_name.name);
+#define TRACE_TRCID_LINUXOPS_FOLLOW_LINK_1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_FOLLOW_LINK_1), 1, 1, (Int32)(rc), buf);
+#define TRACE_TRCID_LINUXOPS_FOLLOW_LINK_2_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_FOLLOW_LINK_2), (Int32)(dentry->d_inode), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_PUTLINK_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_PUTLINK), (Int32)(dentry), (Int32)(nd), (Int32)(!IS_ERR(buf)? buf : NULL));
+#define TRACE_TRCID_LINUXOPS_BMAP_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_BMAP));
+#define TRACE_TRCID_LINUXOPS_TRUNCATE_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TRUNCATE), (Int32)(iP));
+#define TRACE_TRCID_LINUXOPS_ACCESS_ENTER_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_ACCESS_ENTER), (Int32)(iP), (Int32)(mode), (Int32)(current->fsuid), (Int32)(current->fsgid), (Int32)(iP->i_mode), (Int32)(cnP->xinfo));
+#define TRACE_TRCID_LINUXOPS_ACCESS_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_ACCESS_EXIT), (Int32)(iP), (Int32)(iP->i_op == &gpfs_iops_stdperm), (Int32)(iP->i_op == &gpfs_dir_iops_stdperm), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_SMAP_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_SMAP));
+#define TRACE_TRCID_LINUXOPS_UPDATEPAGE_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_UPDATEPAGE));
+#define TRACE_TRCID_LINUXOPS_REVALIDATE_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_REVALIDATE_ENTER), 3, 3, (Int32)(dentryP), (Int32)(dentryP->d_inode), (Int32)((iP) ? iP->i_ino : -1), dentryP->d_name.name);
+#define TRACE_TRCID_LINUXOPS_REVALIDATE_STALE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_REVALIDATE_STALE), (Int32)(iP), (Int32)(iP->i_ino));
+#define TRACE_TRCID_REVAL_DELAY_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_REVAL_DELAY), (Int32)(howLong));
+#define TRACE_TRCID_REVAL_DELAY_END_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_REVAL_DELAY_END), (Int32)(howLong));
+#define TRACE_TRCID_LINUXOPS_REVALIDATE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_REVALIDATE_EXIT), (Int32)(dentryP), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_SETATTR_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SETATTR_ENTER), (Int32)(iP), (Int32)(aP->ia_valid));
+#define TRACE_TRCID_LINUXOPS_SETATTR_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_SETATTR_EXIT), (Int32)(iP), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_GETATTR_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_GETATTR_ENTER), (Int32)(iP));
+#define TRACE_TRCID_LINUXOPS_GETATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETATTR_EXIT), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_GETEXTATTR_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_GETEXTATTR_ENTER), 3, 1, (Int32)(iP), (name) ? name : "NULL", (Int32)(buf), (Int32)(buf_size));
+#define TRACE_TRCID_LINUXOPS_GETEXTATTR_EXIT0_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETEXTATTR_EXIT0), (Int32)(iP), (Int32)(xattr.valueLen));
+#define TRACE_TRCID_LINUXOPS_GETEXTATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETEXTATTR_EXIT), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_GETEXTATTR_EXIT2_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETEXTATTR_EXIT2), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_SETEXTATTR_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_SETEXTATTR_ENTER), 4, 1, (Int32)(iP), (name) ? name : "NULL", (Int32)(buf), (Int32)(buf_size), (Int32)(ext_flags));
+#define TRACE_TRCID_LINUXOPS_SETEXTATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SETEXTATTR_EXIT), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_LISTXATTR_IN_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_LISTXATTR_IN), (Int32)(iP), (Int32)(buf), (Int32)(buf_size));
+#define TRACE_TRCID_LINUXOPS_LISTXTATTR_EXIT0_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_LISTXTATTR_EXIT0), (Int32)(iP), (Int32)(xattr.valueLen));
+#define TRACE_TRCID_LINUXOPS_LISTXTATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_LISTXTATTR_EXIT), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_REMOVEXATTR_IN_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_REMOVEXATTR_IN), 1, 1, (Int32)(iP), (name) ? name : "NULL");
+#define TRACE_TRCID_LINUXOPS_REMOVEXATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_REMOVEXATTR_EXIT), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_VNODE_BKL_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_VNODE_BKL), (Int32)(kernel_locked()), (Int32)(current->lock_depth));
+#define TRACE_TRCID_LINUXOPS_GPFS_ALLOC_INODE_EXIT_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_LINUXOPS_GPFS_ALLOC_INODE_EXIT), (Int32)(iP));
+#define TRACE_TRCID_LINUXOPS_GPFS_DESTROY_INODE_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_LINUXOPS_GPFS_DESTROY_INODE), (Int32)((void *)iP));
+#define TRACE_TRCID_LINUXOPS_READINODE_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_READINODE_ENTER), (Int32)(iP), (Int32)(inum));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE_1), (Int32)(iP), (Int32)(cnP), (Int32)(sizeof(iP->u) - sizeof(void *)), (Int32)(CXINODE_SIZE));
+#define TRACE_TRCID_LINUXOPS_READINODE_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_READINODE_EXIT), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_READINODE_EXIT_BAD_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READINODE_EXIT_BAD), (Int32)(iP));
+#define TRACE_TRCID_LINUXOPS_READINODE_HUH_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_READINODE_HUH));
+#define TRACE_TRCID_LINUXOPS_DELETE_INODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_DELETE_INODE), (Int32)(iP), (Int32)(iP->i_ino), (Int32)(isGPFS));
+#define TRACE_TRCID_LINUXOPS_DELETE_INODE_1_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_DELETE_INODE_1), (Int32)(iP), (Int32)(cnP));
+#define TRACE_TRCID_LINUXOPS_NOTIFY_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_NOTIFY_ENTER), (Int32)(dentryP->d_inode), (Int32)(attrP));
+#define TRACE_TRCID_LINUXOPS_NOTIFY_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_NOTIFY_EXIT), (Int32)(dentryP->d_inode), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_PUTSUPER_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_PUTSUPER_ENTER), (Int32)(sbP), (Int32)(sbP->s_dev));
+#define TRACE_TRCID_LINUXOPS_PUTSUPER_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_PUTSUPER_EXIT), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_STATFS_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_STATFS_ENTER), (Int32)(sbP), (Int32)(len));
+#define TRACE_TRCID_LINUXOPS_STATFS_EXIT_CALL \
+    _TRACE9D(_HOOKWORD(TRCID_LINUXOPS_STATFS_EXIT), High32(statfs.f_blocks), Low32(statfs.f_blocks), High32(statfs.f_bfree), Low32(statfs.f_bfree), (Int32)(bufP->f_files), (Int32)(bufP->f_ffree), (Int32)(bufP->f_bsize), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_UMOUNT_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_UMOUNT_ENTER), (Int32)(sbP), (Int32)(sbP->s_dev), (Int32)(current->fs ? current->fs->rootmnt : NULL), (Int32)(current->fs ? current->fs->pwdmnt : NULL));
+#define TRACE_TRCID_LINUXOPS_UMOUNT_EXIT_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_UMOUNT_EXIT), (Int32)(sbP), (Int32)(privVfsP), (Int32)(dmrc), (Int32)(atomic_read(&sbP->s_active)), (Int32)(sbP->s_count), (Int32)(!list_empty(&sbP->s_files)));
+#define TRACE_TRCID_LINUXOPS_REMOUNT_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_REMOUNT));
+#define TRACE_TRCID_LINUXOPS_WRITEINODE_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_WRITEINODE));
+#define TRACE_TRCID_LINUXOPS_CLEARINODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_CLEARINODE), (Int32)(iP), (Int32)(iP->i_ino), (Int32)(iP->PRVINODE));
+#define TRACE_TRCID_LINUXOPS_CLEARINODE_DETAILS_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_CLEARINODE_DETAILS), (Int32)(VP_TO_CNP(iP)), (Int32)(VP_TO_PVP(iP)), (Int32)(NODE_TOO_BIG_FOR_OSNODE(CXINODE_SIZE)));
+#define TRACE_TRCID_LINUXOPS_CLEARINODE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_CLEARINODE_EXIT), (Int32)(iP), (Int32)(iP->PRVINODE), (Int32)(code));
+#define TRACE_TRCID_LINUXOPS_WRITESUPER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_WRITESUPER), (Int32)(sbP));
+#define TRACE_TRCID_LINUXOPS_WRITESUPER_3_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_WRITESUPER_3));
+#define TRACE_TRCID_LINUXOPS_WRITESUPER_5_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_WRITESUPER_5), (Int32)(sbP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_GET_SB_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_GET_SB), (Int32)(flags), (Int32)(dataP), (Int32)(sbP));
+#define TRACE_TRCID_LINUXOPS_READSUPER_1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_1), 3, 3, (Int32)(sbP), (Int32)(sbP->s_dev), (Int32)(silent), ((char *)dataP == NULL) ? "" : dataP);
+#define TRACE_TRCID_LINUXOPS_READSUPER_2_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_2), 0, 0, (sbP->s_bdev == NULL) ? "" : SBLOCK_BDEVNAME(sbP,bname));
+#define TRACE_TRCID_LINUXOPS_READSUPER_3_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READSUPER_3), (Int32)(sbP->s_flags));
+#define TRACE_TRCID_LINUXOPS_READSUPER_OPTIONS_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_OPTIONS), 0, 0, strP ? (char *) strP:"");
+#define TRACE_TRCID_LINUXOPS_READSUPER_STARTHELPER_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_STARTHELPER), 0, 0, mmfs_path);
+#define TRACE_TRCID_LINUXOPS_READSUPER_STARTHELPER1_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_READSUPER_STARTHELPER1), 2, 2, (Int32)(sbP->s_flags), (Int32)(restricted), mountpointP);
+#define TRACE_TRCID_LINUXOPS_READSUPER_HELPERRC_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READSUPER_HELPERRC), (Int32)(mountHelperID));
+#define TRACE_TRCID_LINUXOPS_READSUPER_SUCCEED_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_READSUPER_SUCCEED), (Int32)(sbP));
+#define TRACE_TRCID_LINUXOPS_READSUPER_FAILED_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_READSUPER_FAILED), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_REGFS_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_REGFS), (Int32)(shutdownSuperP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_UNREGFS_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_UNREGFS), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_KILLMMFSD_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_KILLMMFSD), (Int32)(mmfsd_id));
+#define TRACE_TRCID_LINUXOPS_EXECMMFS_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_EXECMMFS_EXIT), 1, 1, (Int32)(errno), mmfs_path);
+#define TRACE_TRCID_LINUXOPS_FORK_MOUNTHELPER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_FORK_MOUNTHELPER), (Int32)(mount_id));
+#define TRACE_TRCID_SET_MOUNT_INFO_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_SET_MOUNT_INFO), (Int32)(sbP), (Int32)(rootIP), (Int32)(cnRootP), (Int32)(gnRootP));
+#define TRACE_TRCID_LINUXOPS_CXIUNMOUNT_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_CXIUNMOUNT_ENTER), (Int32)(privVfsP), (Int32)(sbP), (Int32)(force), (Int32)(doDMEvents));
+#define TRACE_TRCID_LINUXOPS_CXIUNMOUNT_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_CXIUNMOUNT_EXIT), (Int32)(rc), (Int32)(dmrc));
+#define TRACE_TRCID_LINUXOPS_REACTIVATE_VNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_REACTIVATE_VNODE), (Int32)(osVfsP), (Int32)(cnP), (Int32)(osNodePP));
+#define TRACE_TRCID_LINUXOPS_INODEFINDACTOR_CALL \
+    _TRACE4D_NB(_HOOKWORD(TRCID_LINUXOPS_INODEFINDACTOR), (Int32)(iP), (Int32)(iP->i_state), (Int32)(VP_TO_CNP(iP)), (Int32)(is_bad_inode(iP)));
+#define TRACE_TRCID_LINUXOPS_INODEFINDACTOR2_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_LINUXOPS_INODEFINDACTOR2), (Int32)(iP), (Int32)(iP->i_state), (Int32)(VP_TO_CNP(iP)));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE), (Int32)(sbP), (Int32)(inum), (Int32)(nodeSize));
+#define TRACE_TRCID_LINUXOPS_NEW_BAD_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_NEW_BAD), (Int32)(iP));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_2_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE_2), (Int32)(iP), (Int32)(iP->i_ino), (Int32)(iP->i_state), (Int32)(VP_TO_CNP(iP)), (Int32)(is_bad_inode(iP)));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE_EXIT), (Int32)(*osNodePP), (Int32)(*cnPP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_NEW_VNODE_BAD_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_NEW_VNODE_BAD), (Int32)(nodeSize), (Int32)(CXINODE_SIZE));
+#define TRACE_TRCID_LINUXOPS_DELETE_VNODE_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_DELETE_VNODE), (Int32)(sbP), (Int32)(cnP), (Int32)(iP), (Int32)(iP ? iP->i_ino : -1), (Int32)(iP ? atomic_read((atomic_t *)&iP->i_count) : 0));
+#define TRACE_TRCID_LINUXOPS_DELETE_MMAP_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_DELETE_MMAP), (Int32)(segid));
+#define TRACE_TRCID_LINUXOPS_REINIT_VNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_REINIT_VNODE), (Int32)(sbP), (Int32)(cnP), (Int32)(iP));
+#define TRACE_TRCID_LINUXOPS_DUMP_VNODE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_DUMP_VNODE), (Int32)(cnP), (Int32)(iP));
+#define TRACE_TRCID_LINUXOPS_IGRABINODEFINDACTOR_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_LINUXOPS_IGRABINODEFINDACTOR), (Int32)(iP), (Int32)(iP->i_state), (Int32)((struct inode *) opaqueP));
+#define TRACE_TRCID_LINUXOPS_REF_VNODE_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_REF_VNODE), (Int32)(osVfsP), (Int32)(cnP), (Int32)(iP), (Int32)(ino), (Int32)(holdCount));
+#define TRACE_TRCID_LINUXOPS_INACTIVE_VNODE_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_INACTIVE_VNODE), (Int32)(sbP), (Int32)(cnP), (Int32)(iP), (Int32)(holdCount), (Int32)(*canCacheP), (Int32)(*hasReferencesP));
+#define TRACE_TRCID_LINUXOPS_PUT_OSNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_PUT_OSNODE), (Int32)(iP), (Int32)(iP->i_ino), (Int32)(holdCount-1));
+#define TRACE_TRCID_LINUXOPS_DESTROY_OSNODE_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_DESTROY_OSNODE), (Int32)(iP), (Int32)(iP->i_ino), (Int32)(holdCount), (Int32)(iP->i_nlink));
+#define TRACE_TRCID_CXIUPDATE_INODE_3_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_CXIUPDATE_INODE_3), (Int32)(iP), (Int32)(GET_INODETIME_SEC(iP->i_atime)), (Int32)(GET_INODETIME_SEC(iP->i_mtime)), (Int32)(GET_INODETIME_SEC(iP->i_ctime)));
+#define TRACE_TRCID_CXIUPDATE_INODE_1_CALL \
+    _TRACE8D(_HOOKWORD(TRCID_CXIUPDATE_INODE_1), (Int32)(what), (Int32)(iP->i_mode), (Int32)(iP->i_uid), (Int32)(iP->i_gid), (Int32)(iP->i_nlink), High32(iP->i_size), Low32(iP->i_size), (Int32)(iP->i_blocks));
+#define TRACE_TRCID_LINUXOPS_CANUNCACHE_OSNODE_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_CANUNCACHE_OSNODE), (Int32)(cnP), (Int32)(vP), (Int32)(osVfsP), (Int32)((iP ? iP->i_sb : 0)), (Int32)((iP ? iP->i_ino : 0)), (Int32)(count));
+#define TRACE_TRCID_LINUXOPS_ADD_OSNODE_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_ADD_OSNODE), (Int32)(dentryP), (Int32)(vP), (Int32)(d_unhashed(dP)));
+#define TRACE_TRCID_LINUXOPS_LOCFS_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_LOCFS_ENTER), (Int32)(sbP));
+#define TRACE_TRCID_LINUXOPS_LOCFS_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_LOCFS_EXIT), (Int32)(sbP), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_NFSD_IGET_DENTRY_1_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_NFSD_IGET_DENTRY_1), (Int32)(inode->i_ino), (Int32)(generation));
+#define TRACE_TRCID_NFSD_IGET_31_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_31), (Int32)(result->d_flags), (Int32)(atomic_read(&result->d_count)), (Int32)(result->d_inode), (Int32)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_41_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_41), (Int32)(inode->i_ino), (Int32)(inode->i_nlink), (Int32)(atomic_read(&inode->i_count)), (Int32)(inode->i_generation), (Int32)(generation), (Int32)(inode->i_state), (Int32)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_3_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_3), (Int32)(result->d_flags), (Int32)(atomic_read(&result->d_count)), (Int32)(result->d_inode), (Int32)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_4_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_4), (Int32)(inode->i_ino), (Int32)(inode->i_nlink), (Int32)(atomic_read(&inode->i_count)), (Int32)(inode->i_generation), (Int32)(generation), (Int32)(inode->i_state), (Int32)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_5_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_5), (Int32)(result->d_flags), (Int32)(atomic_read(&result->d_count)), (Int32)(result->d_inode), (Int32)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_6_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_6), (Int32)(inode->i_ino), (Int32)(inode->i_nlink), (Int32)(atomic_read(&inode->i_count)), (Int32)(inode->i_generation), (Int32)(generation), (Int32)(inode->i_state), (Int32)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_7_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_7), (Int32)(result->d_flags), (Int32)(atomic_read(&result->d_count)), (Int32)(result->d_inode), (Int32)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_8_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_8), (Int32)(inode->i_ino), (Int32)(inode->i_nlink), (Int32)(atomic_read(&inode->i_count)), (Int32)(inode->i_generation), (Int32)(generation), (Int32)(inode->i_state), (Int32)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_9_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_NFSD_IGET_9), (Int32)(result->d_flags), (Int32)(atomic_read(&result->d_count)), (Int32)(result->d_inode), (Int32)(result->d_time));
+#define TRACE_TRCID_NFSD_IGET_10_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_NFSD_IGET_10), (Int32)(inode->i_ino), (Int32)(inode->i_nlink), (Int32)(atomic_read(&inode->i_count)), (Int32)(inode->i_generation), (Int32)(generation), (Int32)(inode->i_state), (Int32)(inode->i_flags));
+#define TRACE_TRCID_NFSD_IGET_1_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_NFSD_IGET_1), (Int32)(sbP), (Int32)(ino), (Int32)(argP->inodeNum), (Int32)(argP->snapId), (Int32)(argP->filesetId), (Int32)(generation));
+#define TRACE_TRCID_NFSD_IGET_BAD_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_NFSD_IGET_BAD), (Int32)(inode));
+#define TRACE_TRCID_NFSD_IGET_2_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_NFSD_IGET_2), (Int32)(inode), (Int32)(inode->i_ino), (Int32)(inode->i_state), (Int32)(VP_TO_CNP(inode)), (Int32)(is_bad_inode(inode)));
+#define TRACE_TRCID_GET_DPARENT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_GET_DPARENT_ENTER), (Int32)(child), (Int32)(child->d_inode->i_ino));
+#define TRACE_TRCID_GET_DPARENT_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_GET_DPARENT_EXIT), (Int32)(child), (Int32)(iNum), (Int32)(result), (Int32)(IS_ERR(result)? PTR_ERR(result): 0));
+#define TRACE_TRCID_DECODE_FH_1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_DECODE_FH_1), (Int32)(sbP), (Int32)(fh), (Int32)(len), (Int32)(fhtype));
+#define TRACE_TRCID_DECODE_FH_2_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_DECODE_FH_2), (Int32)(sbP), (Int32)(fh), (Int32)(result), (Int32)(IS_ERR(result)? PTR_ERR(result): 0));
+#define TRACE_TRCID_DECODE_FH_3_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_DECODE_FH_3), (Int32)(sbP), (Int32)(fh));
+#define TRACE_TRCID_FH_TO_DENTRY_1_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_FH_TO_DENTRY_1), (Int32)(sbP), (Int32)(fh), (Int32)(len), (Int32)(fhtype), (Int32)(parent));
+#define TRACE_TRCID_FH_TO_DENTRY_2_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_FH_TO_DENTRY_2), (Int32)(sbP), (Int32)(fh), (Int32)(result), (Int32)(IS_ERR(result)? PTR_ERR(result): 0));
+#define TRACE_TRCID_FH_TO_DENTRY_3_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FH_TO_DENTRY_3), (Int32)(sbP), (Int32)(fh));
+#define TRACE_TRCID_FCNTLLOCK_ENTER_CALL \
+    _XTrace(_HOOKWORD(TRCID_FCNTLLOCK_ENTER), "cxiFcntlLock posix_lock_file: pid %d owner 0x%X inodeP 0x%X "          "range 0x%lX-%lX cmd %s type %s\n", (Int32)(flP->fl_pid), (Int32)(flP->fl_owner), (Int32)(advObjP), (Int32)(flP->fl_start), (Int32)(flP->fl_end), (cmd == F_GETLK) ? "GETLK" : (cmd == F_SETLK) ? "SETLK" : "SETLKW", (flP->fl_type == F_RDLCK) ? "RDLCK" :          (flP->fl_type == F_WRLCK) ? "WRLCK" : "UNLCK");
+#define TRACE_TRCID_FCNTLLOCK_GETLK_CALL \
+    _STrace(_HOOKWORD(TRCID_FCNTLLOCK_GETLK), 5, 5, (Int32)(flP->fl_pid), (Int32)(flP->fl_owner), (Int32)(advObjP), (Int32)(flP->fl_start), (Int32)(flP->fl_end), (flP->fl_type == F_RDLCK) ? "RDLCK" :            (flP->fl_type == F_WRLCK) ? "WRLCK" : "UNLCK");
+#define TRACE_TRCID_FCNTLLOCK_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FCNTLLOCK_EXIT), (Int32)(rc), (Int32)(cflP));
+#define TRACE_TRCID_SLEEP_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SLEEP), (Int32)(ms));
+#define TRACE_TRCID_SLEEP_END_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SLEEP_END), (Int32)(ms), (Int32)(HZ));
+#define TRACE_TRCID_OPENNFS_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_OPENNFS), (Int32)(inodeP), (Int32)((inodeP) ? inodeP->i_ino : -1), (Int32)((inodeP) ? inodeP->i_ino : -1), (Int32)((inodeP) ? inodeP->i_mode : -1), (Int32)((inodeP) ? inodeP->i_nlink : -1), (Int32)((inodeP) ? inodeP->PRVINODE : NULL), (Int32)(refcount));
+#define TRACE_TRCID_CXISTART_KPROC_LINUX_CALL \
+    _STrace(_HOOKWORD(TRCID_CXISTART_KPROC_LINUX), 1, 0, kpdP->nameP, (Int32)(kpdP->pid));
+#define TRACE_TRCID_CXISTOP_KPROC_LINUX_CALL \
+    _STrace(_HOOKWORD(TRCID_CXISTOP_KPROC_LINUX), 1, 0, kpdP->nameP, (Int32)(kpdP->pid));
+#define TRACE_TRCID_PANIC_CALL \
+    _STrace(_HOOKWORD(TRCID_PANIC), 0, 0, panicStrP);
+#define TRACE_TRCID_MODULE_LOGASSERT_1_CALL \
+    _STrace(_HOOKWORD(TRCID_MODULE_LOGASSERT_1), 2, 0, failingExpr, (Int32)(retCode), (Int32)(reasonCode));
+#define TRACE_TRCID_MODULE_LOGASSERT_2_CALL \
+    _STrace(_HOOKWORD(TRCID_MODULE_LOGASSERT_2), 1, 0, srcFileName, (Int32)(srcLineNumber));
+#define TRACE_TRCID_CXISYSTEM_037_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_CXISYSTEM_037), (Int32)(kBufP), (Int32)(uioP), (Int32)(nBytes), (Int32)(toKernel));
+#define TRACE_TRCID_CXISYSTEM_039a_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_CXISYSTEM_039a), (Int32)(rc), (Int32)(trcdata[0]), (Int32)(trcdata[1]), (Int32)(trcdata[2]), (Int32)(trcdata[3]));
+#define TRACE_TRCID_CXISYSTEM_039_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_039), (Int32)(rc));
+#define TRACE_TRCID_CXISYSTEM_041a_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_CXISYSTEM_041a), (Int32)(rc), (Int32)(trcdata[0]), (Int32)(trcdata[1]), (Int32)(trcdata[2]), (Int32)(trcdata[3]));
+#define TRACE_TRCID_CXISYSTEM_041_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_041), (Int32)(rc));
+#define TRACE_TRCID_CXISYSTEM_CHKTYPES_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_CHKTYPES), (Int32)(rc));
+#define TRACE_TRCID_BM_INIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BM_INIT), (Int32)(mP), (Int32)(bmNameIdx));
+#define TRACE_TRCID_BM_ACQ_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_BM_ACQ), (Int32)(mP), (Int32)(mP->lockNameIndex), (Int32)(current), (Int32)(mP->bmOwnerP));
+#define TRACE_TRCID_BM_ACQ_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_BM_ACQ_EXIT), (Int32)(mP));
+#define TRACE_TRCID_BM_REL_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_BM_REL), (Int32)(mP), (Int32)(mP->lockNameIndex), (Int32)(current), (Int32)(mP->bmOwnerP));
+#define TRACE_TRCID_BM_TERM_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_BM_TERM), (Int32)(mP), (Int32)(mP->lockNameIndex));
+#define TRACE_TRCID_CXISYSTEM_017_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXISYSTEM_017), (Int32)(ownerP), (Int32)(result));
+#define TRACE_TRCID_CXISYSTEM_018_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXISYSTEM_018), (Int32)(mP), (Int32)(result));
+#define TRACE_TRCID_CXISYSTEM_EVENT_WAIT_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXISYSTEM_EVENT_WAIT_ENTER), (Int32)(weP), (Int32)(waitFlags), (Int32)(mutexP));
+#define TRACE_TRCID_CXISYSTEM_EVENT_WAIT_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXISYSTEM_EVENT_WAIT_EXIT), (Int32)(weP), (Int32)(mutexP), (Int32)(waitElement.wakeupRC));
+#define TRACE_TRCID_CXISYSTEM_SIGNAL_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_CXISYSTEM_SIGNAL), (Int32)(weP));
+#define TRACE_TRCID_CXISYSTEM_WAKEUP_ONE_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_WAKEUP_ONE), (Int32)(weP));
+#define TRACE_TRCID_CXISYSTEM_BROADCAST_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXISYSTEM_BROADCAST), (Int32)(weP));
+#define TRACE_TRCID_CXISYSTEM_BROADCAST_RC_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXISYSTEM_BROADCAST_RC), (Int32)(weP), (Int32)(rc));
+#define TRACE_TRCID_CXICHECKOPEN_ENTRY_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXICHECKOPEN_ENTRY), (Int32)(count), (Int32)(inodeP->i_ino), (Int32)(inodeP));
+#define TRACE_TRCID_CXICHECKOPEN_FOUND_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXICHECKOPEN_FOUND), (Int32)(fileP->private_data));
+#define TRACE_TRCID_SEND_BREAK_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SEND_BREAK), (Int32)(ofP));
+#define TRACE_TRCID_BREAKWAIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_BREAKWAIT), (Int32)(fileArgP), (Int32)(oplockCurrent), (Int32)(timeoutSeconds));
+#define TRACE_TRCID_BREAKWAIT_EXIT_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_BREAKWAIT_EXIT));
+#define TRACE_TRCID_DMS_STARTED_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_DMS_STARTED), (Int32)(idx), (Int32)(delay), (Int32)(jiffies/HZ));
+#define TRACE_TRCID_DMS_STOPPED_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_DMS_STOPPED), (Int32)(idx), (Int32)(jiffies/HZ));
+#define TRACE_TRCID_CXIREGISTERCLEANUP_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_CXIREGISTERCLEANUP_EXIT), (Int32)(cleanupFD), (Int32)(iP), (Int32)(rc), (Int32)(code));
+#define TRACE_TRCID_FDDISCARD1_CALL \
+    _STrace(_HOOKWORD(TRCID_FDDISCARD1), 2, 2, (Int32)(fdP), (Int32)(shP), fdP->fdFuncNameP);
+#define TRACE_TRCID_FDDISCARD2_CALL \
+    _STrace(_HOOKWORD(TRCID_FDDISCARD2), 2, 2, (Int32)(fdP), (Int32)(shP), fdP->fdFuncNameP);
+#define TRACE_TRCID_FDENTRY_CALL \
+    _STrace(_HOOKWORD(TRCID_FDENTRY), 4, 2, (Int32)(fdP), (Int32)(shP), fdP->fdFuncNameP, (Int32)(shP->shCurrentP), (Int32)(fdP->fdStackUsed));
+#define TRACE_TRCID_IMPLIED_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_IMPLIED_EXIT), 0, 0, popP->fdFuncNameP);
+#define TRACE_TRCID_NEWMAX_EXTEND_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_NEWMAX_EXTEND), (Int32)(fdP->fdStackUsed), (Int32)(fdP));
+#define TRACE_TRCID_NEWMAX_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_NEWMAX), (Int32)(fdP->fdStackUsed), (Int32)(fdP));
+#define TRACE_TRCID_FDEXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_FDEXIT), 3, 2, (Int32)(p), (Int32)(shP), p->fdFuncNameP, (Int32)(shP->shCurrentP));
+#define TRACE_TRCID_FDEXIT_NOTFOUND_CALL \
+    _STrace(_HOOKWORD(TRCID_FDEXIT_NOTFOUND), 0, 0, funcnameP);
+#define TRACE_TRCID_KTRACE_LINUX_ENTER_CALL \
+    _XTrace(_HOOKWORD(TRCID_KTRACE_LINUX_ENTER), "-->K %s (%s:%d) level %d stackUsed %d\n", funcnameP, filenameP, (Int32)(lineNum), (Int32)(level), (Int32)(stackUsed));
+#define TRACE_TRCID_KTRACE_LINUX_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_KTRACE_LINUX_EXIT), 0, 0, funcnameP);
+#define TRACE_TRCID_KIBD_NEW_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_KIBD_NEW), (Int32)(kibdP));
+#define TRACE_TRCID_KIBD_DELETE_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_KIBD_DELETE), (Int32)(kibdP));
+#define TRACE_TRCID_DEALLOC_KIBD_1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_DEALLOC_KIBD_1), (Int32)(kibdPrevP), (Int32)(kibdPrevP->kibdVaddr), (Int32)(kibdPrevP->kibdPages), (Int32)(kibdP));
+#define TRACE_TRCID_DEALLOC_KIBD_2_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_DEALLOC_KIBD_2), (Int32)(kibdPrevP), (Int32)(kibdPrevP->kibdVaddr), (Int32)(kibdPrevP->kibdPages), (Int32)(kibdP));
+#define TRACE_TRCID_ALLOC_KIBD_1_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_ALLOC_KIBD_1), (Int32)(kibdP), (Int32)(kibdP->kibdVaddr), (Int32)(kibdPrevP->kibdPages));
+#define TRACE_TRCID_ALLOC_KIBD_2_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_ALLOC_KIBD_2), (Int32)(vaddr), (Int32)(mapPages), (Int32)(totalPages), (Int32)(kibdHeadP), (Int32)(rc));
+#define TRACE_TRCID_KIBD_INIT_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_KIBD_INIT));
+#define TRACE_TRCID_KIBD_TERM_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_KIBD_TERM));
+#define TRACE_TRCID_BHC_CACHE_DESTROY_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_BHC_CACHE_DESTROY), (Int32)(rc));
+#define TRACE_TRCID_KIBD_CACHE_DESTROY_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_KIBD_CACHE_DESTROY), (Int32)(rc));
+#define TRACE_TRCID_KIBDPIN_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_KIBDPIN_ENTER), (Int32)(vaddr), (Int32)(len));
+#define TRACE_TRCID_KIBDPIN_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_KIBDPIN_EXIT), (Int32)(headP));
+#define TRACE_TRCID_KIBD_UNPIN_ALL_ENTER_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_KIBD_UNPIN_ALL_ENTER));
+#define TRACE_TRCID_KIBD_UNPIN_ALL_EXIT_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_KIBD_UNPIN_ALL_EXIT));
+#define TRACE_TRCID_ATTACH_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_ATTACH_ENTER), (Int32)(OffsetToDataPtr(iobP,0,0)));
+#define TRACE_TRCID_ATTACH_KIBD_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_ATTACH_KIBD), (Int32)(iobP->kernelIOBufferDescP), (Int32)(newPinCount));
+#define TRACE_TRCID_DETACH_KIBD_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_DETACH_KIBD), (Int32)(OffsetToDataPtr(iobP,0,0)), (Int32)(attachP->kDescP), (Int32)(iobP->pinCount));
+#define TRACE_TRCID_UXFER_LINUX_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_UXFER_LINUX), (Int32)(OffsetToDataPtr(iobP,0,0)), (Int32)(kibdP), (Int32)(toIOBuffer), (Int32)(bufOffset), (Int32)(len));
+#define TRACE_TRCID_UXFER_UIOMOVE_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_UXFER_UIOMOVE), (Int32)(pageIndex), (Int32)(kaddr), (Int32)(pageOffset), (Int32)(pageLen));
+#define TRACE_TRCID_XMEMXFER_LINUX_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_XMEMXFER_LINUX), (Int32)(userAddrP), (Int32)(len), (Int32)(udataP), (Int32)(kibdP), (Int32)(toXmem));
+#define TRACE_TRCID_XMEMFER_COPY_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_XMEMFER_COPY), (Int32)(pageIndex), (Int32)(kaddrP), (Int32)(pageOffset), (Int32)(pageLen));
+#define TRACE_TRCID_KXFER_LINUX_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_KXFER_LINUX), (Int32)(OffsetToDataPtr(iobP,0,0)), (Int32)(kibdP), (Int32)(toIOBuffer), (Int32)(bufOffset), (Int32)(len), (Int32)(kBufP));
+#define TRACE_TRCID_KXFER_MEMCPY_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_KXFER_MEMCPY), (Int32)(kibdP), (Int32)(pageIndex), (Int32)(kaddr), (Int32)(pageOffset), (Int32)(pageLen));
+#define TRACE_TRCID_KZERO_LINUX_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KZERO_LINUX), (Int32)(OffsetToDataPtr(iobP,0,0)), (Int32)(kibdP), (Int32)(bufOffset), (Int32)(len));
+#define TRACE_TRCID_KZERO_MEMSET_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KZERO_MEMSET), (Int32)(pageIndex), (Int32)(kaddr), (Int32)(pageOffset), (Int32)(pageLen));
+#define TRACE_TRCID_MAP_DISCONTIG_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_MAP_DISCONTIG_ENTER), (Int32)(OffsetToDataPtr(iobP,0,0)), (Int32)(kibdP), (Int32)(iobP->ioBufLen));
+#define TRACE_TRCID_MAP_DISCONTIG_KMAP_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_MAP_DISCONTIG_KMAP), (Int32)(dirIndex), (Int32)(kibdP), (Int32)(pageP), (Int32)(kaddr));
+#define TRACE_TRCID_UNMAP_DISCONTIG_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_UNMAP_DISCONTIG_ENTER), (Int32)(OffsetToDataPtr(iobP,0,0)), (Int32)(iobP->kernelIOBufferDescP), (Int32)(iobP->ioBufLen), (Int32)(discontigP->mappedLen));
+#define TRACE_TRCID_UNMAP_DISCONTIG_KUNMAP_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_UNMAP_DISCONTIG_KUNMAP), (Int32)(pageIndex), (Int32)(pageP), (Int32)(discontigP->userPagePointerArray[pageIndex]));
+#define TRACE_TRCID_MAP_CONTIG_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_MAP_CONTIG_ENTER), (Int32)(OffsetToDataPtr(iobP,0,0)), (Int32)(kibdP), (Int32)(bufOffset), (Int32)(len));
+#define TRACE_TRCID_MAP_CONTIG_KMAP_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_MAP_CONTIG_KMAP), (Int32)(pageP), (Int32)(*contigBasePP));
+#define TRACE_TRCID_MAP_CONTIG_VMALLOC_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_MAP_CONTIG_VMALLOC), (Int32)(tempBufP));
+#define TRACE_TRCID_UNMAP_CONTIG_VFREE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_UNMAP_CONTIG_VFREE), (Int32)(OffsetToDataPtr(iobP,0,0)), (Int32)(contigP->mallocedBaseP));
+#define TRACE_TRCID_UNMAP_CONTIG_KUNMAP_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_UNMAP_CONTIG_KUNMAP), (Int32)(OffsetToDataPtr(iobP,0,0)), (Int32)(contigP->pageP));
+#define TRACE_TRCID_KDOIO_LINUX_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_KDOIO_LINUX), (Int32)(kibdP), (Int32)(isWrite), (Int32)(dev), High32(startSector), Low32(startSector), (Int32)(nSectors), (Int32)(bufOffset));
+#define TRACE_TRCID_KDOIO_LINUX_BH_PAGENUM_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_KDOIO_LINUX_BH_PAGENUM), (Int32)(bhP), High32(startSector), Low32(startSector), (Int32)(sectorsThisBH), (Int32)(bhP->b_state), (Int32)((int)(pageP-mem_map)));
+#define TRACE_TRCID_KDOIO_LINUX_BH_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_KDOIO_LINUX_BH), (Int32)(bhcP), (Int32)(bhP), High32(startSector), Low32(startSector), (Int32)(sectorsThisBH), (Int32)(bhP->b_state), (Int32)(pageP));
+#define TRACE_TRCID_DISKINFO_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_DISKINFO), (Int32)(devId), (Int32)(diskInfoP->sectorSize), High32(diskInfoP->totalSectors), Low32(diskInfoP->totalSectors));
+#define TRACE_TRCID_KDOIO_LINUX_BIO_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_KDOIO_LINUX_BIO), (Int32)(kibdP), (Int32)(isWrite), (Int32)(dev), High32(startSector), Low32(startSector), (Int32)(nSectors), (Int32)(bufOffset));
+#define TRACE_TRCID_KDOIO_LINUX_BIO_PAGENUM_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_KDOIO_LINUX_BIO_PAGENUM), (Int32)(bioP), (Int32)(iovIndex), High32(startSector), Low32(startSector), (Int32)(sectorsThisPage), (Int32)((int)(pageP-mem_map)));
+#define TRACE_TRCID_KDOIO_LINUX_BIO_PAGE_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_KDOIO_LINUX_BIO_PAGE), (Int32)(bhcP), (Int32)(bioP), (Int32)(iovIndex), High32(startSector), Low32(startSector), (Int32)(sectorsThisPage), (Int32)(pageP));
+#define TRACE_TRCID_GET_DISKINFOX_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_GET_DISKINFOX), (Int32)(devId), (Int32)(diskInfoP->sectorSize), High32(diskInfoP->totalSectors), Low32(diskInfoP->totalSectors));
+#define TRACE_TRCID_KWAITIO_BIO_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_KWAITIO_BIO), (Int32)(bhP), (Int32)(bioP), (Int32)(bioP->bi_sector), (Int32)(bioP->bi_size), (Int32)(bioP->bi_flags));
+#define TRACE_TRCID_KWAITIO_BH_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KWAITIO_BH), (Int32)(bhP), (Int32)(bhP->b_blocknr), (Int32)(bhP->b_size), (Int32)(bhP->b_state));
+#define TRACE_TRCID_KWAITIO_BIO_ERR_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_KWAITIO_BIO_ERR), (Int32)(bhP), (Int32)(bioP), (Int32)(bioP->bi_sector), (Int32)(bioP->bi_size), (Int32)(bioP->bi_flags));
+#define TRACE_TRCID_KWAITIO_BH_ERR_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KWAITIO_BH_ERR), (Int32)(bhP), (Int32)(bhP->b_blocknr), (Int32)(bhP->b_size), (Int32)(bhP->b_state));
+#define TRACE_TRCID_KWAITIO_BH_BUSY_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_KWAITIO_BH_BUSY), (Int32)(p), (Int32)(atomic_read(&p->nBHActive)));
+#define TRACE_TRCID_LINUXOPS_TSSTAT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSSTAT_ENTER), (Int32)(iP), (Int32)(statP));
+#define TRACE_TRCID_LINUXOPS_TSSTAT_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSSTAT_EXIT), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_TSFSTAT_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_TSFSTAT_ENTER), (Int32)(fileDesc), (Int32)(fP), (Int32)(iP), (Int32)(statP));
+#define TRACE_TRCID_LINUXOPS_TSFSTAT_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSFSTAT_EXIT), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_TSFATTR_ENTER_CALL \
+    _TRACE8D(_HOOKWORD(TRCID_LINUXOPS_TSFATTR_ENTER), (Int32)(fileDesc), (Int32)(fP), (Int32)(fP->f_flags), (Int32)(flags), (Int32)(iP), (Int32)(command), (Int32)(argP), (Int32)(rCodeP));
+#define TRACE_TRCID_LINUXOPS_TSFATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSFATTR_EXIT), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_TSFSATTR_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TSFSATTR_ENTER), (Int32)(tsfsattrcmd_id2name(command)));
+#define TRACE_TRCID_LINUXOPS_TSFSATTR_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TSFSATTR_EXIT), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_TSATTR_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_TSATTR_ENTER), (Int32)(iP), (Int32)(command), (Int32)(argP), (Int32)(rCodeP));
+#define TRACE_TRCID_LINUXOPS_TSATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_TSATTR_EXIT), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_KXGETACL_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_KXGETACL_EXIT), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_KXPUTACL_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_KXPUTACL_EXIT), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_SMBOPENLOCKCONTROL_ENTERL_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SMBOPENLOCKCONTROL_ENTERL), (Int32)(command), (Int32)(lockmode));
+#define TRACE_TRCID_SMBOPENLOCKCONTROL_EXITL_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SMBOPENLOCKCONTROL_EXITL), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_SETSMBOPLOCK_E_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_SETSMBOPLOCK_E), (Int32)(fP), (Int32)(accessWant), (Int32)(oplockWant), (Int32)(breakArgP), (Int32)(isAsync));
+#define TRACE_TRCID_LINUXOPS_SETSMBOPLOCK_X_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SETSMBOPLOCK_X), (Int32)(*oplockGrantedP), (Int32)(rc));
+#define TRACE_TRCID_LINUX_SHARE_ENTER_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUX_SHARE_ENTER), (Int32)(fd), (Int32)(fP), (Int32)(iP->i_ino), (Int32)(vinfoP), (Int32)(share), (Int32)(deny));
+#define TRACE_TRCID_SHARE_RESET_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_SHARE_RESET), (Int32)(fd), (Int32)(fP), (Int32)(vinfoP), (Int32)(iP->i_ino));
+#define TRACE_TRCID_LINUX_SHARE_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUX_SHARE_EXIT), (Int32)(rc));
+#define TRACE_TRCID_DELEGATE_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_DELEGATE_ENTER), (Int32)(fd), (Int32)(fP), (Int32)(iP->i_ino), (Int32)(vinfoP), (Int32)(delegate_access));
+#define TRACE_TRCID_DELEGATE_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_DELEGATE_EXIT), (Int32)(rc));
+#define TRACE_TRCID_KXUMOUNT_ENT_CALL \
+    _STrace(_HOOKWORD(TRCID_KXUMOUNT_ENT), 3, 1, (Int32)(type), kxnode, (Int32)(force), (Int32)(*ret_err));
+#define TRACE_TRCID_KXUMOUNT_EXT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_KXUMOUNT_EXT), (Int32)(dmrc), (Int32)(*ret_err), (Int32)(rc), (Int32)(code));
+#define TRACE_TRCID_SS_019_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SS_019), (Int32)(filp), (Int32)(inode));
+#define TRACE_TRCID_SS_023_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_023), (Int32)(filp));
+#define TRACE_TRCID_SS_059_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_059), (Int32)(nbytes));
+#define TRACE_TRCID_SS_065_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_065), (Int32)(nbytes));
+#define TRACE_TRCID_SS_075_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_SS_075), (Int32)(op), (Int32)(ss_ioctl_op[op]), (Int32)(kx_args), (Int32)(inode), (Int32)(file));
+#define TRACE_TRCID_SS_077_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_077), (Int32)(op));
+#define TRACE_TRCID_SS_081_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_081), (Int32)(major));
+#define TRACE_TRCID_SS_083_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_083), (Int32)(GPFSIoctlMajorNumber));
+#define TRACE_TRCID_UNPROT_ENTER_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_UNPROT_ENTER), (Int32)(vaddr), (Int32)(len), (Int32)(allocating));
+#define TRACE_TRCID_REPROT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_REPROT_ENTER), (Int32)(vaddr), (Int32)(len));
+#define TRACE_TRCID_SHKERN_INIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SHKERN_INIT), (Int32)(VMALLOC_START), (Int32)(VMALLOC_END));
+#define TRACE_TRCID_CALC_MAX_SHARED_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_CALC_MAX_SHARED), (Int32)(actualBytes), (Int32)(desiredBytes), (Int32)(physMemSize), (Int32)(vmUsed), (Int32)(maxBytes));
+#define TRACE_TRCID_ALLOC_SHARED_VMALLOC_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_ALLOC_SHARED_VMALLOC), (Int32)(actualBytes), (Int32)(minBytes));
+#define TRACE_TRCID_ALLOC_SHARED_EXIT_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_ALLOC_SHARED_EXIT), (Int32)(mappingP->vaddr), (Int32)(mappingP->kBytes), (Int32)(rc), (Int32)(code));
+#define TRACE_TRCID_FREEALL_VFREE_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_FREEALL_VFREE), (Int32)(chunkP->vaddrP), (Int32)(chunkP));
+#define TRACE_TRCID_MAPALL_MULTI_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_MAPALL_MULTI), (Int32)(chunkP));
+#define TRACE_TRCID_UNMAPALL_MULTI_CALL \
+    _TRACE1D_NB(_HOOKWORD(TRCID_UNMAPALL_MULTI), (Int32)(chunkP));
+#define TRACE_TRCID_SSINIT_003_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SSINIT_003), (Int32)(GPFSIoctlMajorNumber));
+#define TRACE_TRCID_CXI_MAP_PRIVATE_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_CXI_MAP_PRIVATE), (Int32)(inAddr), (Int32)(len), (Int32)(prot), (Int32)(*outAddr), (Int32)(vmaP));
+#define TRACE_TRCID_MMAP_DIRTY_PAGE_DUMP_CALL \
+    _STrace(_HOOKWORD(TRCID_MMAP_DIRTY_PAGE_DUMP), 7, 0, what, (Int32)(page), (Int32)(vma), (Int32)(page_count(page)), (Int32)(CPUToBigEnd32(trcbuf[0])), (Int32)(CPUToBigEnd32(trcbuf[1])), (Int32)(CPUToBigEnd32(trcbuf[2])), (Int32)(CPUToBigEnd32(trcbuf[3])));
+#define TRACE_TRCID_MMAP_DIRTY_PAGE_DUMP_A_CALL \
+    _STrace(_HOOKWORD(TRCID_MMAP_DIRTY_PAGE_DUMP_A), 7, 0, what, (Int32)(page), (Int32)(vma), (Int32)(page_count(page)), (Int32)(CPUToBigEnd32(trcbuf[4])), (Int32)(CPUToBigEnd32(trcbuf[5])), (Int32)(CPUToBigEnd32(trcbuf[6])), (Int32)(CPUToBigEnd32(trcbuf[7])));
+#define TRACE_TRCID_MMAP_DIRTY_PAGE_DUMP_B_CALL \
+    _STrace(_HOOKWORD(TRCID_MMAP_DIRTY_PAGE_DUMP_B), 7, 0, what, (Int32)(page), (Int32)(vma), (Int32)(page_count(page)), (Int32)(CPUToBigEnd32(trcbuf[8])), (Int32)(CPUToBigEnd32(trcbuf[9])), (Int32)(CPUToBigEnd32(trcbuf[10])), (Int32)(CPUToBigEnd32(trcbuf[11])));
+#define TRACE_TRCID_MMAP_REG_ENTER_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_MMAP_REG_ENTER));
+#define TRACE_TRCID_MMAP_UNREG_ENTER_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_MMAP_UNREG_ENTER));
+#define TRACE_TRCID_MMAP_FILEPOS_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_MMAP_FILEPOS_ENTER), High32(pos), Low32(pos));
+#define TRACE_TRCID_MMAP_IO_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_MMAP_IO_ENTER), (Int32)(bufP->b_flags), (Int32)(pageP), (Int32)(pageP->index), (Int32)(page_count(pageP)), (Int32)(pageP->flags));
+#define TRACE_TRCID_MMAP_IO_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_MMAP_IO_EXIT), (Int32)(pageP), (Int32)(pageP->flags));
+#define TRACE_TRCID_MMAP_FLUSH_ENTER_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_MMAP_FLUSH_ENTER), (Int32)(cnP), (Int32)(inodeP->i_ino), (Int32)(cmopt), High32(start), Low32(start), High32(end), Low32(end));
+#define TRACE_TRCID_MMAP_FLUSH_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_MMAP_FLUSH_EXIT), (Int32)(rc));
+#define TRACE_TRCID_CXIGETPAGE_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_CXIGETPAGE), (Int32)(pageP), (Int32)(pageP->index), (Int32)(page_count(pageP)), (Int32)(pageP->flags), (Int32)(pageP->mapping), (Int32)((rc != 0)));
+#define TRACE_TRCID_CXIRELPAGE_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_CXIRELPAGE), (Int32)(pageP), (Int32)(pageP->index), (Int32)(page_count(pageP)), (Int32)(pageP->flags));
+#define TRACE_TRCID_LINUXOPS_NOPAGE_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_NOPAGE), (Int32)(area), (Int32)(address), (Int32)(fileP), (Int32)(area->vm_mm), (Int32)(atomic_read(&area->vm_mm->mm_users)), (Int32)(noShare));
+#define TRACE_TRCID_LINUXOPS_NOPAGE_1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_NOPAGE_1), (Int32)(area->vm_start), (Int32)(area->vm_end), (Int32)(area->vm_flags), (Int32)(index));
+#define TRACE_TRCID_LINUXOPS_NOPAGE_2_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_NOPAGE_2), (Int32)(pageP), (Int32)(page_count(pageP)), (Int32)(pageP->flags), (Int32)(atomic_read(&area->vm_mm->mm_users)));
+#define TRACE_TRCID_LINUXOPS_NOPAGE_3_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_NOPAGE_3));
+#define TRACE_TRCID_LINUXOPS_NOPAGEDONE_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_NOPAGEDONE), (Int32)(cnP), (Int32)(area), (Int32)(address), (Int32)(status));
+#define TRACE_TRCID_LINUXOPS_READPAGE_ENTER_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READPAGE_ENTER), (Int32)(fileP), (Int32)(cnP), (Int32)(inodeP), (Int32)(inodeP->i_ino));
+#define TRACE_TRCID_LINUXOPS_READPAGE_ENTER_A_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READPAGE_ENTER_A), (Int32)(pageP), (Int32)(index), (Int32)(page_count(pageP)), (Int32)(pageP->flags));
+#define TRACE_TRCID_LINUXOPS_READPAGE1_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_READPAGE1), (Int32)(bufPageP), (Int32)(bufPageP->index), (Int32)(page_count(bufPageP)), (Int32)(bufPageP->flags));
+#define TRACE_TRCID_LINUXOPS_READPAGE_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_READPAGE_EXIT), (Int32)(inodeP), (Int32)(rc), (Int32)(code));
+#define TRACE_TRCID_LINUXOPS_WRPAGE_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_WRPAGE_ENTER), (Int32)(cnP), (Int32)(inodeP), (Int32)(inodeP->i_ino));
+#define TRACE_TRCID_LINUXOPS_WRPAGE_ENTER_A_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_WRPAGE_ENTER_A), (Int32)(pageP), (Int32)(pageP->index), (Int32)(page_count(pageP)), (Int32)(pageP->flags));
+#define TRACE_TRCID_LINUXOPS_WRPAGE_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_WRPAGE_EXIT), (Int32)(inodeP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_ACL2POSIX_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_ACL2POSIX_ENTER), (Int32)(tmpaclP->aclLength), (Int32)(buf_size));
+#define TRACE_TRCID_LINUXOPS_ACL2POSIX_2_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_ACL2POSIX_2), (Int32)(i), (Int32)(len), (Int32)(buf_size));
+#define TRACE_TRCID_LINUXOPS_ACL2POSIX_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_LINUXOPS_ACL2POSIX), (Int32)(i), (Int32)(aclP->a_entries[i].e_tag), (Int32)(aceP->aceTagType), (Int32)(aclP->a_entries[i].e_id), (Int32)(aceP->aceQualifier), (Int32)(aclP->a_entries[i].e_perm), (Int32)(aceP->acePermissions));
+#define TRACE_TRCID_LINUXOPS_ACL2POSIX_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_ACL2POSIX_EXIT), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_POSIX2ACL_CALL \
+    _TRACE6D(_HOOKWORD(TRCID_LINUXOPS_POSIX2ACL), (Int32)(i), (Int32)(aclP->a_entries[i].e_tag), (Int32)(aceP->aceTagType), (Int32)(aceP->aceQualifier), (Int32)(aclP->a_entries[i].e_perm), (Int32)(aceP->acePermissions));
+#define TRACE_TRCID_LINUXOPS_SETACLATTR_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_SETACLATTR_ENTER), (Int32)(iP), (Int32)(iP->i_ino), (Int32)(type), (Int32)(buf), (Int32)(buf_size));
+#define TRACE_TRCID_LINUXOPS_SETACLATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SETACLATTR_EXIT), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_GETACLATTR_ENTER_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_LINUXOPS_GETACLATTR_ENTER), (Int32)(iP), (Int32)(type), (Int32)(buf_size));
+#define TRACE_TRCID_LINUXOPS_GETACLATTR_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GETACLATTR_EXIT), (Int32)(iP), (Int32)(rc));
+#define TRACE_TRCID_KTRACE_LINUX_EXIT_RC_CALL \
+    _STrace(_HOOKWORD(TRCID_KTRACE_LINUX_EXIT_RC), 1, 0, funcnameP, (Int32)(rc));
+#define TRACE_TRCID_PRINTSUPER_1_CALL \
+    _TRACE4D_NB(_HOOKWORD(TRCID_PRINTSUPER_1), (Int32)(sbP), (Int32)(sbP->s_magic), (Int32)(sbP->s_type), (Int32)(SBLOCK_PRIVATE(sbP)));
+#define TRACE_TRCID_PRINTSUPER_5_CALL \
+    _TRACE4D_NB(_HOOKWORD(TRCID_PRINTSUPER_5), (Int32)(sbP->s_dev), (Int32)(sbP->s_count), (Int32)(atomic_read(&sbP->s_active)), (Int32)(sbP->s_umount.count));
+#define TRACE_TRCID_PRINTALLSUPER_1_CALL \
+    _TRACE0D_NB(_HOOKWORD(TRCID_PRINTALLSUPER_1));
+#define TRACE_TRCID_PRINTALLSUPER_5_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTALLSUPER_5), (Int32)(sP->s_count), (Int32)(atomic_read(&sP->s_active)), (Int32)(sP->s_umount.count));
+#define TRACE_TRCID_PRINTSUPER_3_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTSUPER_3), (Int32)(sbP->s_dev), (Int32)(sbP->s_count), (Int32)(atomic_read(&sbP->s_active)));
+#define TRACE_TRCID_CXISYSTEM_EVENT_WAIT_INTERRUPTED_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_CXISYSTEM_EVENT_WAIT_INTERRUPTED), (Int32)(weP), (Int32)(mutexP), (Int32)(waitElement.wakeupRC));
+#define TRACE_TRCID_LINUXOPS_SENDFILE_ENTER_CALL \
+    _TRACE5D(_HOOKWORD(TRCID_LINUXOPS_SENDFILE_ENTER), (Int32)(fP), High32(*offsetP), Low32(*offsetP), (Int32)(count), (Int32)(targetP));
+#define TRACE_TRCID_LINUXOPS_SENDFILE_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_SENDFILE_EXIT), (Int32)(rc), (Int32)(code));
+#define TRACE_TRCID_LINUXOPS_GET_DEVICELIST_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GET_DEVICELIST_ENTER), (Int32)(sbP), (Int32)(p));
+#define TRACE_TRCID_GET_DEVICELIST_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_GET_DEVICELIST_EXIT), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_GET_LAYOUT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GET_LAYOUT_ENTER), (Int32)(iP), (Int32)(p));
+#define TRACE_TRCID_GET_LAYOUT_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_GET_LAYOUT_EXIT), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_SET_STATEID_ENTER_CALL \
+    _TRACE7D(_HOOKWORD(TRCID_LINUXOPS_SET_STATEID_ENTER), (Int32)(iP), (Int32)(nodeId), (Int32)(osP->devid), (Int32)(p), (Int32)(len), (Int32)(osP->verifier[0]), (Int32)(osP->verifier[1]));
+#define TRACE_TRCID_SET_STETEID_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_SET_STETEID_EXIT), (Int32)(code), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_LAYOUT_RET_ENTER_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_LAYOUT_RET_ENTER), (Int32)(iP));
+#define TRACE_TRCID_LAYOUT_RET_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LAYOUT_RET_EXIT), (Int32)(rc), (Int32)(iP));
+#define TRACE_TRCID_LINUXOPS_GET_DEVICEINFO_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_LINUXOPS_GET_DEVICEINFO_ENTER), (Int32)(sbP), (Int32)(p));
+#define TRACE_TRCID_GET_DEVICEINFO_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_GET_DEVICEINFO_EXIT), (Int32)(rc));
+#define TRACE_TRCID_PRINTDENTRY_3C_CALL \
+    _TRACE3D_NB(_HOOKWORD(TRCID_PRINTDENTRY_3C), (Int32)(&dP->d_child), (Int32)(dP->d_child.next), (Int32)(dP->d_child.prev));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K), (Int32)(cmd), (Int32)(qid), (Int32)(pathname), (Int32)(current->euid));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K1_CALL \
+    _TRACE0D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K1));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K2_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K2), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K6_CALL \
+    _TRACE4D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K6), (Int32)(cmd), (Int32)(qid), (Int32)(credP), (Int32)(bufferP));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_K7_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_K7), (Int32)(rc));
+#define TRACE_TRCID_LINUXOPS_TSQUOTACTL_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_TSQUOTACTL_EXIT), 2, 2, (Int32)(code), (Int32)(rc), pathname ? pathname : "?");
+#define TRACE_TRCID_MMAP_REG_5_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_MMAP_REG_5), (Int32)(&Page_queue[0]), (Int32)(&Page_queue[MAX_PAGEQUE_ENTRIES - 1]));
+#define TRACE_TRCID_CXI_GET_DEVICELIST_P1_CALL \
+    _STrace(_HOOKWORD(TRCID_CXI_GET_DEVICELIST_P1), 3, 2, (Int32)(i), (Int32)(dev->r_addr.len), dev->r_addr.data, (Int32)(left));
+#define TRACE_TRCID_CXI_GET_DEVICELIST_EXIT_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXI_GET_DEVICELIST_EXIT), (Int32)(rc), (Int32)(len));
+#define TRACE_TRCID_GPFSOPS_GET_DEVICELINFO_P1_CALL \
+    _STrace(_HOOKWORD(TRCID_GPFSOPS_GET_DEVICELINFO_P1), 1, 1, (Int32)(dev->r_addr.len), dev->r_addr.data);
+#define TRACE_TRCID_CXI_GET_DEVICELINFO_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_CXI_GET_DEVICELINFO_EXIT), (Int32)(rc));
+#define TRACE_TRCID_CXI_GET_LAYOUT_ENTER_CALL \
+    _TRACE2D(_HOOKWORD(TRCID_CXI_GET_LAYOUT_ENTER), (Int32)(nDests), (Int32)(myAddr));
+#define TRACE_TRCID_CXI_GET_LAYOUT_P1_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXI_GET_LAYOUT_P1), (Int32)(i), (Int32)(idList[i]), (Int32)(len));
+#define TRACE_TRCID_CXI_GET_LAYOUT_EXIT_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXI_GET_LAYOUT_EXIT), (Int32)(rc), (Int32)(len), (Int32)(p));
+#define TRACE_TRCID_LINUXOPS_LEASE_ENTER_CALL \
+    _XTrace(_HOOKWORD(TRCID_LINUXOPS_LEASE_ENTER), "gpfs_f_set_lease: fP 0x%lX iP 0x%lX type %s by %s\n", (Int32)(fP), (Int32)(iP), (arg == F_RDLCK) ? "RD" :(arg == F_WRLCK) ? "WR" : "UNLCK", (cxiIsNFSThread()) ? "NFS" : "SAMBA");
+#define TRACE_TRCID_LINUXOPS_LEASE_EXIT_CALL \
+    _STrace(_HOOKWORD(TRCID_LINUXOPS_LEASE_EXIT), 5, 5, (Int32)(fP), (Int32)(flP), (Int32)(rc), (Int32)(oplockWant), (Int32)(oplockGot), (oplockGot == smbOplockShared) ? "RD" :     (oplockGot == smbOplockExclusive) ? "WR" : "NONE");
+#define TRACE_TRCID_CXIBREAKOPLOCK_CALL \
+    _TRACE3D(_HOOKWORD(TRCID_CXIBREAKOPLOCK), (Int32)(rc), (Int32)(breakArgP), (Int32)(oplockNew));
+#define TRACE_TRCID_NFS_ERROR_CALL \
+    _STrace(_HOOKWORD(TRCID_NFS_ERROR), 1, 0, str, (Int32)(rc));
+#define TRACE_TRCID_NFS_ERROR_1_CALL \
+    _STrace(_HOOKWORD(TRCID_NFS_ERROR_1), 1, 1, (Int32)(rc), str);
+#define TRACE_TRCID_PRODVER_MISMATCH_CALL \
+    _XTrace(_HOOKWORD(TRCID_PRODVER_MISMATCH), "mmfslinux product version %s does not match mmfs version %s", PRODUCT_VERSION, mmfsProductVersion);
+#define TRACE_TRCID_STEMCRVER_MISMATCH_CALL \
+    _XTrace(_HOOKWORD(TRCID_STEMCRVER_MISMATCH), "mmfslinux was built with site.mcr rev %s which does not match "            "the site.mcr version %s used to build mmfs", SITEMCRREV, siteMcrVersion);
+#define TRACE_TRCID_SS_DMAPI_COMPAT_ENTER_CALL \
+    _STrace(_HOOKWORD(TRCID_SS_DMAPI_COMPAT_ENTER), 1, 1, (Int32)(op), kxOp_tostring(op));
+#define TRACE_TRCID_SS_DMAPI_COMPAT_EXIT_CALL \
+    _TRACE1D(_HOOKWORD(TRCID_SS_DMAPI_COMPAT_EXIT), (Int32)(rc));
+
+#endif /* __64BIT__ */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tscalls.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tscalls.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/tscalls.c	(revision 16)
@@ -0,0 +1,357 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)78       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/tscalls.c, mmfs, avs_rgpfs24, rgpfs24s007a 10/27/06 16:48:13 */
+/*
+ * Portability layer equivalent of ts/util/tscalls.c
+ * Includes a subset of the libgpfs interfaces that GPFS has provided
+ * in open-source form.
+ *
+ * Contents:
+ *   gpfs_getacl
+ *   gpfs_putacl
+ *   gpfs_set_share
+ *   gpfs_set_lease
+ *   gpfs_get_lease
+ */
+
+#include <stdlib.h>
+#include <sys/errno.h>
+#include <sys/ioctl.h>
+
+#include <fcntl.h>
+#define F_SETLEASE 1024
+#define F_GETLEASE 1025
+
+#include <cxiSystem.h>
+#include <gpfs_gpl.h> /* open-source segment of gpfs.h */
+#include <cxiTSFattr.h>
+
+#define  IOCTL_FATTR   53
+#define  IOCTL_GETACL  56
+#define  IOCTL_PUTACL  57
+#define  IOCTL_SHARE  112
+#define  IOCTL_LEASE  113
+
+struct ioArgs
+{
+  long arg1;
+  long arg2;
+  long arg3;
+  long arg4;
+  long arg5;
+};
+
+/*-------------------------------------------------------------------------
+ * NAME:        gpfs_getacl
+ *
+ * FUNCTION:    Interface to read GPFS ACLs
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ *-------------------------------------------------------------------------*/
+int
+gpfs_getacl(char *pathname,
+            int   flags,
+            void *aclP)
+{
+  int rc;
+  int fd;
+  struct ioArgs io;
+
+  fd = open(GPFS_DEVNAME, O_RDONLY);
+  if (fd < 0)
+  {
+    rc = -1;
+    errno = ENOSYS;
+    goto xerror;
+  }
+
+  /* Retrieve the ACL from GPFS */
+  io.arg1 = (long)pathname;
+  io.arg2 = (long)flags;
+  io.arg3 = (long)aclP;
+
+  rc = ioctl(fd, IOCTL_GETACL, &io);
+
+xerror:
+  if (fd >= 0)
+    close(fd);
+
+  return rc;
+}
+
+
+/*-------------------------------------------------------------------------
+ * NAME:        gpfs_putacl
+ *
+ * FUNCTION:    Interface to store GPFS ACLs
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  function not available
+ *-------------------------------------------------------------------------*/
+int
+gpfs_putacl(char *pathname,
+            int   flags,
+            void *aclP)
+{
+  int rc;
+  int fd;
+  struct ioArgs io;
+
+  fd = open(GPFS_DEVNAME, O_RDONLY);
+  if (fd < 0)
+  {
+    rc = -1;
+    errno = ENOSYS;
+    goto xerror;
+  }
+
+  /* Store the ACL into GPFS */
+  io.arg1 = (long)pathname;
+  io.arg2 = (long)flags;
+  io.arg3 = (long)aclP;
+
+  rc = ioctl(fd, IOCTL_PUTACL, &io);
+
+xerror:
+  if (fd >= 0)
+    close(fd);
+
+  return rc;
+}
+
+
+/*-------------------------------------------------------------------------
+ * NAME:        gpfs_set_share
+ *
+ * FUNCTION:    Samba interface to GPFS OpenLks
+ *              Called from the Samba daemon to reserve a share
+ *
+ * INPUT:       object_fd : file descriptor of the object to share
+ *              share: modes being requested
+ *              deny : modes to deny
+ * OUTPUT:      None
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ * Errno:       ENOENT  File not found
+ *              EACCES  Share mode not granted
+ *-------------------------------------------------------------------------*/
+int gpfs_set_share(int object_fd,
+                   unsigned int share,
+                   unsigned int deny)
+{
+  int rc;
+  int fd;
+  struct ioArgs io;
+
+  fd = open(GPFS_DEVNAME, O_RDONLY);
+  if (fd < 0)
+  {
+    rc = -1;
+    errno = ENOSYS;
+    goto xerror;
+  }
+
+  /* Request the share from GPFS */
+  io.arg1 = (long)object_fd;
+  io.arg2 = (long)share;
+  io.arg3 = (long)deny;
+
+  rc = ioctl(fd, IOCTL_SHARE, &io);
+
+xerror:
+  if (fd >= 0)
+    close(fd);
+
+  return rc;
+}
+
+/*-------------------------------------------------------------------------
+ * NAME:        gpfs_set_lease
+ *
+ * FUNCTION:    Samba interface to GPFS OpLks
+ *              Called from the Samba daemon to obtain a lease
+ *
+ * INPUT:       object_fd : file descriptor of the object to lease
+ *              leaseType: mode being requested
+ * OUTPUT:      None
+ *
+ * Returns:      0      Successful
+ *              -1      Failure
+ * Errno:       EACCES  Lease not granted
+ *              ENOENT  File not found
+ *-------------------------------------------------------------------------*/
+int gpfs_set_lease(int object_fd,
+                   unsigned int leaseType)
+{
+  int rc = 0;
+  int fd;
+  int lrc, serrno;
+  struct ioArgs io;
+
+  fd = open(GPFS_DEVNAME, O_RDONLY);
+  if (fd < 0)
+  {
+    rc = -1;
+    errno = ENOSYS;
+    goto xerror;
+  }
+
+  /* Queue Linux structures required for break notification */
+  rc = CXI_REGISTER_LEASE(object_fd, leaseType);
+  if (rc)
+    return rc;
+
+  /* Request the lease from GPFS */
+  io.arg1 = (long)object_fd;
+  io.arg2 = (long)leaseType;
+  io.arg3 = (long)NULL;
+  io.arg4 = (long)NULL;
+
+  rc = ioctl(fd, IOCTL_LEASE, &io);
+
+  if (rc && (leaseType != GPFS_LEASE_NONE))
+  {
+    serrno = errno;
+
+    /* Dequeue Linux structures */
+    lrc = CXI_REGISTER_LEASE(object_fd, GPFS_LEASE_NONE);
+
+    errno = serrno;
+  }
+
+xerror:
+  if (fd >= 0)
+    close(fd);
+
+  return rc;
+}
+
+
+/*-------------------------------------------------------------------------
+ * NAME:        gpfs_get_lease
+ *
+ * FUNCTION:    Samba interface to GPFS OpLks
+ *              Called from the Samba daemon to query leases held
+ *
+ * INPUT:       object_fd : file descriptor of the leased object
+ * OUTPUT:      None
+ *
+ * Returns:     GPFS_LEASE_READ
+ *              GPFS_LEASE_WRITE
+ *              GPFS_LEASE_NONE
+ *              -1      Failure
+ *
+ * Errno:       ENOENT  File not found
+ *              EINVAL
+ *-------------------------------------------------------------------------*/
+int gpfs_get_lease(int object_fd)
+{
+  int rc = 0;
+
+  CXI_GET_LEASE_HELD(object_fd, rc);
+
+  if (rc<0)
+  {
+    errno = -rc;
+    rc = -1;
+  }
+  return rc;
+}
+
+/*-------------------------------------------------------------------------
+ * NAME:        gpfs_prealloc()
+ *              Preallocate disk storage for the file handle that has
+ *              already been opened for writing, starting at the specified
+ *              starting offset and covering at least the number of bytes
+ *              requested. Allocations are rounded to block boundaries
+ *              (block size can be found using fstat() in st_blksize.)
+ *              Any existing data already in the file will not be modified.
+ *              Any read of the preallocated blocks will return zeros.
+ *
+ * FUNCTION:
+ * Returns:      0      Successful
+ *              -1      Failure
+ *
+ * Errno:       ENOSYS  No prealloc service available
+ *              EBADF   Bad file handle
+ *              EINVAL  Not a GPFS file
+ *              EINVAL  Not a regular file
+ *              EINVAL  StartOffset or BytesToPrealloc < 0
+ *              EACCES  File not opened for writing
+ *              EDQUOT  Quota exceeded
+ *              ENOSPC  Not enough space on disk
+ *-------------------------------------------------------------------------*/
+int
+gpfs_prealloc(int FileHandle, gpfs_off64_t StartOffset,
+                              gpfs_off64_t BytesToTransfer)
+{
+  int rc;
+  int fd;
+  struct ioArgs io;
+  struct filePreallocation preAlloc = {0,0,0};
+
+  fd = open(GPFS_DEVNAME, O_RDONLY);
+  if (fd < 0)
+  {
+    rc = -1;
+    errno = ENOSYS;
+    goto xerror;
+  }
+
+  /* Construct the filePreallocation structure */
+  preAlloc.size = BytesToTransfer;
+  preAlloc.offset = StartOffset;
+  preAlloc.flags = 0;
+
+  /* Store the ACL into GPFS */
+  io.arg1 = (long)FileHandle;
+  io.arg2 = (long)PREALLOCATE_FILE;
+  io.arg3 = (long)&preAlloc;
+  io.arg4 = (long)NULL;
+
+  rc = ioctl(fd, IOCTL_FATTR, &io);
+
+xerror:
+  if (fd >= 0)
+    close(fd);
+
+  return rc;
+}   /* --------- end of gpfs_prealloc() -------------- */
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/verdep.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/verdep.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/verdep.h	(revision 16)
@@ -0,0 +1,526 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)41       1.57.1.5  src/avs/fs/mmfs/ts/kernext/gpl-linux/verdep.h, mmfs, avs_rgpfs24, rgpfs24s008a 11/10/06 11:47:24 */
+#ifndef _h_verdep
+#define _h_verdep
+
+#if (LINUX_KERNEL_VERSION >= 2060000)
+/************************************
+ * Linux 2.6 functional differences *
+ ************************************/
+# include <linux/buffer_head.h>
+# include <linux/kdev_t.h>
+# include <linux/namei.h>
+# include <linux/mount.h>
+# include <linux/page-flags.h>
+# include <linux/security.h>
+# include <linux/sched.h>
+# include <linux/init.h>
+# include <linux/fs.h>
+
+# include <cxiTypes.h>
+# include <cxiSystem.h>
+# include <Logger-gpl.h>
+# include <linux/moduleparam.h>
+
+
+  /* Inode state indicators.
+     SLES9 2.6.5-7.244+ kernels and SLES10 kernels require truncate_inode_pages
+     to be called from the delete_inode sop and check for I_WILL_FREE flag, 
+     RHEL4 kernels do not (thus far).  */
+# if defined(SUSE_LINUX) && \
+     ((LINUX_KERNEL_VERSION == 2060507 && \
+       SUSE_LINUX_UPDATE_SUBLEVEL >= 24400000000) || \
+      LINUX_KERNEL_VERSION > 2060507)
+#   define INODE_BEING_RELEASED (I_FREEING|I_CLEAR|I_WILL_FREE)
+#   define INODE_IN_CACHE (I_FREEING|I_CLEAR|I_LOCK|I_NEW|I_WILL_FREE)
+    /* required if file system defines delete_inode */
+#   define MUST_TRUNCATE_INODE_PAGES 1
+# else
+#   define INODE_BEING_RELEASED (I_FREEING|I_CLEAR)
+#   define INODE_IN_CACHE (I_FREEING|I_CLEAR|I_LOCK|I_NEW)
+#   define MUST_TRUNCATE_INODE_PAGES 0
+# endif
+
+  /* Retrieve a new empty inode from the vfs */
+# define NEW_INODE(SUPER)            new_inode(SUPER)
+ 
+  /* Uncache a directory entry.  Must hold dcache lock. */
+# define DENTRY_DROP(DP)  \
+  {  \
+    spin_lock(&(DP)->d_lock); \
+    __d_drop(DP); \
+    spin_unlock(&(DP)->d_lock); \
+  }
+
+  /* Uncache a directory entry.  Must hold *NO* locks. */
+  /* __d_drop checks state of DCACHE_UNHASHED prior to drop. */
+# define DENTRY_D_DROP(DP)  \
+  {  \
+    spin_lock(&dcache_lock); \
+    spin_lock(&(DP)->d_lock); \
+    __d_drop(DP); \
+    spin_unlock(&(DP)->d_lock); \
+    spin_unlock(&dcache_lock); \
+  }
+
+  /* Check if directory is already uncached.  Must hold dcache lock. */
+# define DENTRY_UNHASHED(DP)         d_unhashed(DP)
+
+  /* Mark buffer in error and call iodone routine */
+# define BUFHEAD_ERROR_IODONE(BH)  \
+  {                                \
+    clear_buffer_uptodate(BH);     \
+    (BHP)->b_end_io((BH), 0);      \
+  }
+
+
+#if LINUX_KERNEL_VERSION >= 2061300 || \
+   (LINUX_KERNEL_VERSION == 2060507 && defined(SUSE_LINUX) && SUSE_LINUX_UPDATE_SUBLEVEL >= 13900000000)
+#define MY_INIT_LIST_HEAD(SINODES) INIT_LIST_HEAD(SINODES)
+#else
+#define MY_INIT_LIST_HEAD(SINODES) 
+#endif
+
+# define SET_SUPER_BLOCK(SBP,SOPS)                \
+  {                                               \
+    memset((SBP), 0, sizeof(struct super_block)); \
+    (SBP)->s_op = SOPS;                           \
+    (SBP)->s_flags |= MS_ACTIVE;                  \
+    security_sb_alloc(SBP);			  \
+    MY_INIT_LIST_HEAD(&((SBP)->s_inodes));        \
+  }
+
+# define UNSET_SUPER_BLOCK(SBP)              \
+  {						  \
+    security_sb_free(SBP);			  \
+  }
+
+# define KSTATFS                     kstatfs
+# define HAS_SOP_ALLOC_INODE         1
+# define NODE_TOO_BIG_FOR_OSNODE(SZ) 0  /* false if HAS_SOP_ALLOC_INODE */
+
+# define DAEMONIZE(A)                daemonize(A);
+# define FOR_EACH_TASK(T)            for_each_process(T)
+# define DO_EACH_THREAD(G,T)         do_each_thread(G,T)
+# define WHILE_EACH_THREAD(G,T)      while_each_thread(G,T)
+# define NEXT_TASK(T)                list_entry((T)->tasks.next, \
+                                                 struct task_struct, tasks)
+# define PROCESS_GROUP(T)            process_group(T)
+# define REVOKE_LEASE(INODE,MODE)    break_lease(INODE,MODE)
+# define KDEV_INT(KDEV)              ((unsigned int)(KDEV))
+# define PAGE_UP_TO_DATE(PAGE)       PageUptodate(PAGE)
+# define PAGE_UNLOCK(PAGE)           unlock_page(PAGE)
+# define HAS_IOP_REVALIDATE          0  /* uses getattr inode op instead */
+# define HAS_SOP_READ_INODE2         0  
+# define SBLOCK_PRIVATE(SBP)         (SBP)->s_fs_info
+# define SBLOCK_BDEVNAME(SBP,BNAME)  bdevname((SBP)->s_bdev,(BNAME))
+
+# define DCACHE_DFLAGS_DISCONNECTED  DCACHE_DISCONNECTED
+# define POSIX_UNBLOCK_LOCK(FLP)     posix_unblock_lock((FLP)->fl_file,(FLP))
+# define POSIX_LOCK_FILE(FLP1,FLP2)  posix_lock_file((FLP1),(FLP2))
+# define SPIN_LOCK_IRQ(LOCK,FLAGS)   spin_lock_irqsave(LOCK,FLAGS)
+# define SPIN_UNLOCK_IRQ(LOCK,FLAGS) spin_unlock_irqrestore(LOCK,FLAGS)
+
+# define GET_INODETIME_SEC(ITIME)  (ITIME).tv_sec
+# define CXITIME_TO_INODETIME(CXITIME, ITIME)   \
+  {                                             \
+    (ITIME).tv_sec = (CXITIME).tv_sec;          \
+    (ITIME).tv_nsec = (CXITIME).tv_nsec;        \
+  }
+# define CXITIME_FROM_INODETIME(CXITIME, ITIME) \
+  {                                             \
+    (CXITIME).tv_sec = (ITIME).tv_sec;          \
+    (CXITIME).tv_nsec = (ITIME).tv_nsec;        \
+  }
+
+#ifdef MODULE
+  /* Module function interfaces for 2.6 kernel */
+# define MY_INIT_FUNCTION()           static int __init myModuleInit(void)
+# define MY_EXIT_FUNCTION()           static void __exit myModuleExit(void)
+# define MY_MODULE_INCREMENT()        try_module_get(THIS_MODULE)
+# define MY_MODULE_DECREMENT()        module_put(THIS_MODULE) 
+
+# define MODULE_INCREMENT(MOD)        try_module_get(MOD)
+# define MODULE_DECREMENT(MOD)        module_put(MOD)
+
+# define DEFINE_MODULE_INIT()         module_init(myModuleInit)
+# define DEFINE_MODULE_EXIT()         module_exit(myModuleExit)
+#endif /* MODULE */
+
+#define SETUP_MODULE_PATH_PARMS \
+  char progPath[20] = "/usr/lpp/mmfs/bin/"; \
+  char *prog_path = progPath; \
+  char mmfsdPath[20] = "/usr/lpp/mmfs/bin/"; \
+  char *mmfsd_path = mmfsdPath; \ 
+  module_param_string(mmfsd_path, mmfsdPath, 0666, sizeof(mmfsdPath)); \ 
+  module_param_string(prog_path, progPath, 0666, sizeof(progPath));
+
+  /* pte functions */
+# define PTE_OFFSET(PMDP,VADDR)       pte_offset_map((PMDP),(VADDR))
+# define PTE_UNMAP(PTEP)              pte_unmap(PTEP);
+
+  /* mmap functions */
+# define ACQUIRE_MMAP_SEM(SEM)        down_write(SEM)
+# define RELEASE_MMAP_SEM(SEM)        up_write(SEM)
+
+# define FILEMAP_FDATASYNC(RC, M)     RC = filemap_fdatawrite(M)
+# define FILEMAP_FDATAWAIT(RC, M)     RC = filemap_fdatawait(M)
+
+# define MOD_PGPGIN(amount)           add_page_state(pgpgin, (amount))
+# define MOD_PGPGOUT(amount)          add_page_state(pgpgout, (amount))
+
+#if (LINUX_KERNEL_VERSION >= 2060700)
+#define PUTNAME __putname
+#else
+#define PUTNAME putname
+#endif
+
+#ifdef GPFS_ARCH_IA64
+   /* user addresses are below region 5 (while PAGE_OFFSET is at region 7) */
+#define GPFS_KERNEL_OFFSET 0xa000000000000000UL
+#elif GPFS_ARCH_I386
+#if LINUX_KERNEL_VERSION >= 2060900
+#define GPFS_KERNEL_OFFSET  (UIntPtr) PAGE_OFFSET - (0x8000000 + 0x100000)
+#else
+#define GPFS_KERNEL_OFFSET (UIntPtr) PAGE_OFFSET 
+#endif /* LINUX_KERNEL_VERSION >= 2060900 */
+#else
+#define GPFS_KERNEL_OFFSET (UIntPtr) PAGE_OFFSET
+#endif /* GPFS_ARCH_IA64 */
+
+#define EXEC_HELPER(PATH,AV,EV,WAIT) call_usermodehelper(PATH,AV,EV,WAIT)
+#define USING_MOUNT_HELPER() false
+
+#if LINUX_KERNEL_VERSION >= 2060600 || \
+   (LINUX_KERNEL_VERSION == 2060507 && defined(SUSE_LINUX) && SUSE_LINUX_UPDATE_SUBLEVEL >= 13900000000)
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) unmap_shared_mapping_range(MAPPING, START, STOP);
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = true;
+#elif defined(MMAP_LINUX_PATCH)
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) invalidate_mappings(MAPPING, START);
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = true;
+#else
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) 
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = false;
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2060900
+#define VFS_FOLLOW_LINK(RC, ND, BUF) nd_set_link(ND, BUF); BUF = NULL
+#else
+#define VFS_FOLLOW_LINK(RC, ND, BUF) RC = vfs_follow_link(ND, BUF)
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2061000
+#define MY_RLIM_CUR(WHAT) current->signal->rlim[WHAT].rlim_cur
+#else
+#define MY_RLIM_CUR(WHAT) current->rlim[WHAT].rlim_cur
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2061000
+/* generic_permission does not have a definition that is expected in 
+   struct inode_operations, but it is safe to call it because the
+   only difference is in the last argument, which should not come into
+   play for a GPFS inode.  Cast the definition to eliminate compiler
+   warnings. */
+#define GENERIC_PERMISSION ((int (*) (struct inode *, int, struct nameidata *))generic_permission)
+#else
+#define GENERIC_PERMISSION vfs_permission
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2061600
+#define d_child d_u.d_child
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2060900
+#define HAS_IOP_PUT_LINK
+#endif
+
+#define cxiDevMajor(D)       ((UInt32)((D) >> 20))
+#define cxiDevMinor(D)       ((UInt32)((D) & 0xfffff))
+#define cxiDevToKernelDev(D) new_decode_dev(D)
+#define cxiDev32ToDev(D) \
+  (cxiDev_t)((cxiDev32Major(D) << 8) | \
+             (cxiDev32Minor(D) & 0xFF) | \
+             ((cxiDev32Minor(D) & ~0xFF) << 12))
+
+#if LINUX_KERNEL_VERSION >= 2061900
+#define PRVINODE i_private
+#else
+#define PRVINODE u.generic_ip
+#endif
+
+#else /* < 2060000 */
+/************************************
+ * Linux 2.4 functional differences *
+ ********************************** */
+# include <linux/locks.h>
+# include <linux/kernel_stat.h>
+
+# include <cxiTypes.h>
+# include <cxiSystem.h>
+# include <Logger-gpl.h>
+
+/* Inode state indicators */
+#define INODE_BEING_RELEASED (I_FREEING|I_CLEAR)
+#define INODE_IN_CACHE (I_FREEING|I_CLEAR|I_LOCK)
+#define MUST_TRUNCATE_INODE_PAGES 0
+
+#define PRVINODE u.generic_ip
+
+#define GENERIC_PERMISSION vfs_permission
+
+#if defined(REDHAT_AS_LINUX) || defined(SUSE_LINUX) ||\
+    (defined(REDHAT_LINUX) && LINUX_KERNEL_VERSION >= 2041814)
+  /* Retrieve a new empty inode from the vfs */
+# define NEW_INODE(SUPER)            new_inode(SUPER)
+#else
+# define NEW_INODE(SUPER)            get_empty_inode()
+#endif
+
+  /* Check if directory is already uncached.  Must hold dcache lock. */
+# define DENTRY_UNHASHED(DP)         list_empty(&(DP)->d_hash)
+
+  /* Uncache a directory entry.  Assumes dcache lock is held */
+# define DENTRY_DROP(DP) \
+  { \
+    if (!DENTRY_UNHASHED((DP))) \
+      list_del_init(&(DP)->d_hash); \
+  }
+
+  /* Uncache a directory entry.  Must hold *NO* locks. */
+# define DENTRY_D_DROP(DP) \
+  { \
+    spin_lock(&dcache_lock); \
+    list_del_init(&(DP)->d_hash); \
+    spin_unlock(&dcache_lock); \
+  }
+
+  /* Mark buffer in error and call iodone routine */
+# define BUFHEAD_ERROR_IODONE(BH)    buffer_IO_error(BH)
+
+#if LINUX_KERNEL_VERSION >= 2041800
+# define SET_SUPER_BLOCK(SBP,SOPS)                \
+  {                                               \
+    memset((SBP), 0, sizeof(struct super_block)); \
+    (SBP)->s_op = SOPS;                           \
+    (SBP)->s_flags |= MS_ACTIVE;                  \
+  }
+#else
+# define SET_SUPER_BLOCK(SBP,SOPS)                \
+  {                                               \
+    memset((SBP), 0, sizeof(struct super_block)); \
+    (SBP)->s_op = SOPS;                           \
+  }
+#endif
+# define UNSET_SUPER_BLOCK(SBP)              
+
+#if ((defined(REDHAT_LINUX) && (LINUX_DISTRIBUTION_LEVEL >= 90)) || \
+     (defined(REDHAT_AS_LINUX) && (LINUX_KERNEL_VERSION >= 2042000)))
+# define HAS_01_SCHED_THREADING
+#endif
+
+#ifdef HAS_01_SCHED_THREADING
+# define NEXT_TASK(T)                list_entry((T)->tasks.next, \
+                                                struct task_struct, tasks)
+# define FOR_EACH_TASK(T)            for ((T) = &init_task;        \
+                                          ((T) = NEXT_TASK(T)) != &init_task; )
+#else
+# define FOR_EACH_TASK(T)            for_each_task(T)
+# define NEXT_TASK(T)                (T)->next_task
+#endif
+# define DO_EACH_THREAD(G,T)         FOR_EACH_TASK(T)
+# define WHILE_EACH_THREAD(G,T)      
+# define PROCESS_GROUP(T)            (T)->pgrp
+
+# define KSTATFS                     statfs
+# define HAS_SOP_ALLOC_INODE         0
+# define NODE_TOO_BIG_FOR_OSNODE(SZ) \
+    ((sizeof(((struct inode *)0)->u) - sizeof(void *)) < (SZ))
+
+# define DAEMONIZE(A)                do { daemonize(); reparent_to_init(); } \
+                                     while (0)
+# define REVOKE_LEASE(INODE,MODE)    get_lease(INODE,MODE)
+# define KDEV_INT(KDEV)              (KDEV)
+# define PAGE_UP_TO_DATE(PAGE)       Page_Uptodate(PAGE)
+# define PAGE_UNLOCK(PAGE)           UnlockPage(PAGE)
+# define HAS_SOP_READ_INODE2         1 /* read_inode2 super block op present */
+# define HAS_IOP_REVALIDATE          1 /* revalidate inode op present */
+# define SBLOCK_PRIVATE(SBP)         (SBP)->u.generic_sbp
+# define SBLOCK_BDEVNAME(SBP,BNAME)  bdevname((SBP)->s_dev)
+# define BDEVNAME_SIZE               0 /* char array unneeded on 2.4 */
+
+# define DCACHE_DFLAGS_DISCONNECTED  DCACHE_NFSD_DISCONNECTED
+# define POSIX_UNBLOCK_LOCK(FLP)     posix_unblock_lock(FLP)
+# define POSIX_LOCK_FILE(FLP1,FLP2)  posix_lock_file((FLP1),(FLP2),0)
+# define SPIN_LOCK_IRQ(LOCK,FLAGS)   spin_lock_irqsave(LOCK,FLAGS)
+# define SPIN_UNLOCK_IRQ(LOCK,FLAGS) spin_unlock_irqrestore(LOCK,FLAGS)
+
+# define GET_INODETIME_SEC(ITIME)  (ITIME)
+# define CXITIME_TO_INODETIME(CXITIME, ITIME)   \
+  {                                             \
+    (ITIME) = (CXITIME).tv_sec;                 \
+  }
+# define CXITIME_FROM_INODETIME(CXITIME, ITIME) \
+  {                                             \
+    (CXITIME).tv_sec = (ITIME);                 \
+    (CXITIME).tv_nsec = 0;                      \
+  }
+
+#ifdef MODULE
+  /* Module function interfaces for 2.4 kernel */
+# define MY_INIT_FUNCTION()           int init_module(void)
+# define MY_EXIT_FUNCTION()           void cleanup_module(void)
+# define MY_MODULE_INCREMENT()        MOD_INC_USE_COUNT
+# define MY_MODULE_DECREMENT()        if (MOD_IN_USE) \
+                                        MOD_DEC_USE_COUNT
+
+# define MODULE_INCREMENT(MOD)        __MOD_INC_USE_COUNT(MOD)
+# define MODULE_DECREMENT(MOD)        if (__MOD_IN_USE(MOD)) \
+                                        __MOD_DEC_USE_COUNT(MOD)
+# define DEFINE_MODULE_INIT()
+# define DEFINE_MODULE_EXIT()
+# define SETUP_MODULE_PATH_PARMS \
+  char *prog_path = NULL; \
+  char *mmfsd_path = NULL; \
+  MODULE_PARM(prog_path,"s"); \
+  MODULE_PARM(mmfsd_path,"s");
+
+#else
+   /* No ops if not building a module */
+# define MY_INIT_FUNCTION()          int myInit(void)
+# define MY_EXIT_FUNCTION()          void myExit(void)
+# define MY_MODULE_INCREMENT()
+# define MY_MODULE_DECREMENT()
+
+# define MODULE_INCREMENT(MOD)
+# define MODULE_DECREMENT(MOD)
+
+# define DEFINE_MODULE_INIT()        module_init(myInit)
+# define DEFINE_MODULE_EXIT()        module_exit(myExit)
+# define SETUP_MODULE_PATH_PARMS \
+  char *prog_path = NULL; \
+  char *mmfsd_path = NULL; 
+#endif /* !MODULE */
+
+
+  /* pte functions */
+#if defined(REDHAT_AS_LINUX) || \
+    (defined(REDHAT_LINUX) && (LINUX_KERNEL_VERSION >= 2042006))
+# define PTE_OFFSET(PMDP,VADDR)  pte_offset_map((PMDP),(VADDR))
+# define PTE_UNMAP(PTEP)         pte_unmap(PTEP);
+#else
+# define PTE_OFFSET(PMDP,VADDR)  pte_offset(PMDP, VADDR)
+# if defined(SUSE_LINUX) && defined(GPFS_ARCH_I386)
+#   define PTE_UNMAP(PTEP)       pte_kunmap(PTEP);
+# else
+#   define PTE_UNMAP(PTEP)       /* nothing */
+# endif
+#endif /* pte functions */
+
+#if LINUX_KERNEL_VERSION >= 2040312 || GPFS_ARCH_POWER
+# define ACQUIRE_MMAP_SEM(SEM)   down_write(SEM)
+# define RELEASE_MMAP_SEM(SEM)   up_write(SEM)
+
+#else
+# define ACQUIRE_MMAP_SEM(SEM)   down(SEM)
+# define RELEASE_MMAP_SEM(SEM)   up(SEM)
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2041800
+  /* Earlier kernels do not have a return code */
+# define FILEMAP_FDATASYNC(RC, M) RC = filemap_fdatasync(M)
+# define FILEMAP_FDATAWAIT(RC, M) RC = filemap_fdatawait(M)
+#else
+# define FILEMAP_FDATASYNC(RC, M) do { filemap_fdatasync(M); RC = 0; } while (0)
+# define FILEMAP_FDATAWAIT(RC, M) do { filemap_fdatawait(M); RC = 0; } while (0)
+#endif
+
+#if (defined(REDHAT_AS_LINUX)) && \
+    (LINUX_KERNEL_VERSION >= 2042100)
+# define MOD_PGPGIN(amount)  kstat_percpu[smp_processor_id()].pgpgin += amount
+# define MOD_PGPGOUT(amount) kstat_percpu[smp_processor_id()].pgpgout+= amount
+#else
+# define MOD_PGPGIN(amount)  kstat.pgpgin += amount
+# define MOD_PGPGOUT(amount) kstat.pgpgout += amount
+#endif
+
+#define PUTNAME putname
+
+#ifdef GPFS_ARCH_IA64
+ /* user addresses are below region 5 (while PAGE_OFFSET is at region 7) */
+#define GPFS_KERNEL_OFFSET 0xa000000000000000UL
+#elif GPFS_ARCH_I386
+#define GPFS_KERNEL_OFFSET (UIntPtr) PAGE_OFFSET 
+#else
+#define GPFS_KERNEL_OFFSET (UIntPtr) PAGE_OFFSET
+#endif /* GPFS_ARCH_IA64 */
+
+#if defined(GPFS_ARCH_X86_64) 
+#   define EXEC_HELPER(PATH,AV,EV,WAIT) exec_usermodehelper(PATH,AV,EV)
+#   define USING_MOUNT_HELPER() false
+#else
+#   define EXEC_HELPER(PATH,AV,EV,WAIT) execve(PATH,AV,EV)
+#   define USING_MOUNT_HELPER() true
+#endif
+
+#ifdef MMAP_LINUX_PATCH
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) invalidate_mappings(MAPPING, START);
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = true;
+#else
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) 
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = false;
+#endif
+
+#define VFS_FOLLOW_LINK(RC, ND, BUF) RC = vfs_follow_link(ND, BUF)
+
+#define MY_RLIM_CUR(WHAT) current->rlim[WHAT].rlim_cur
+
+#define cxiDevMajor(D)       ((Int32)(((UInt32)(D) >> 8) & 0xFF))
+#define cxiDevMinor(D)       ((Int32)((D) & 0xFF))
+
+/* Extra defines not on other platforms to massage it back down
+ * to a linux kernel specific 16 bits.
+ */
+#define cxiDevToKernelDev(D) ((cxiDevMajor(D) << 8) | (cxiDevMinor(D) & 0xFF))
+#define cxiDev32ToDev(D) \
+  (cxiDev_t)((cxiDev32Major(D) << 8) | (cxiDev32Minor(D) & 0xFF))
+
+#endif /* 2.4 kernel */
+
+/* Translate to GPFS native disk format which used high and low 16 bits
+ * for major/minor
+ */
+#define cxiDevToDev32(D) \
+  (cxiDev32_t)((cxiDevMajor(D) << 16) | (cxiDevMinor(D) & 0xFFFF))
+
+#endif /* _h_verdep */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/x86_64/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/x86_64/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/x86_64/Imakefile	(revision 16)
@@ -0,0 +1,28 @@
+/* $Id: Imakefile,v 1.3 2006/08/15 23:05:41 rohit Exp $ */
+
+/* Only include portability and cxi headers in this layer */
+SetGplIncludePath()
+
+NormalObjectRule()
+
+#if (LINUX_KERNEL_VERSION >= 2061600)
+comma = ,
+name-fix = $(subst $(comma),_,$(subst -,_,$1))
+basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(*F)))"
+KCFLAGS += -D"KBUILD_STR(s)=\#s" $(basename_flags)
+#endif
+
+HEADERS =
+STD_INCLUDES += -I$(KERNEL_HEADER_DIR)/../arch/x86_64/mach-generic \
+                -I$(KERNEL_HEADER_DIR)/asm-x86_64/mach-default
+
+
+LINUX_CUSTOM = ss_x86_64.ko
+GPL_LIBS = libarch-gpl_cust.a
+
+kLibraryTarget(libarch-gpl_cust.a, $(LINUX_CUSTOM))
+InstallLibraries($(GPL_LIBS), $(GPL_LIB_DIR))
+
+TRACELIST =
+
+DependTargetPK()
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/x86_64/ss_x86_64.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/x86_64/ss_x86_64.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/x86_64/ss_x86_64.c	(revision 16)
@@ -0,0 +1,132 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)39       1.2  src/avs/fs/mmfs/ts/kernext/gpl-linux/x86_64/ss_x86_64.c, mmfs, avs_rgpfs24, rgpfs240610b 9/15/04 23:29:31 */
+/*
+ * Implementation of shared segment for GPFS daemon and GPFS kernel code.
+ *
+ */
+
+#include <Shark-gpl.h>
+#include <linux/types.h>
+#include <linux/version.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/errno.h>
+#include <linux/slab.h>
+#include <linux/smp_lock.h>
+#include <linux/proc_fs.h>
+#include <linux/mm.h>
+#include <linux/fs.h>
+#include <linux/file.h>
+#include <linux/binfmts.h>
+#include <linux/signal.h>
+#include <linux/vmalloc.h>
+
+#include <asm/pgtable.h>
+#include <asm/pgalloc.h>
+#include <asm/io.h>
+#include <asm/uaccess.h>
+#include <asm/user.h>
+#include <asm/mman.h>
+#include <asm/atomic.h>
+#include <asm/ptrace.h>
+
+#include <verdep.h>
+#include <arch-gpl.h>
+
+/*
+ * Function spec: 
+ *
+ * Return a user_regs_struct <sys/user.h> for a particular thread
+ *
+ * For a particular task id, cycle thru each task via 
+ *   for_each_task(task_id) 
+ *
+ * Look for the requested thread
+ *   task_structP->pid
+ *
+ * Some of the registers are found within the thread_struct sub structure
+ * pointed to by the task structure, see include/asm-x86_64/processor.h
+ *
+ * All the other regs are found via the stack pointer thread.rsp0
+ */
+
+int
+kxSaveThreadInfo(int tid, void* regP)
+{
+  struct task_struct *g,*t;
+  int rc = ENOENT;
+  struct pt_regs *kregsP;
+  struct user_regs_struct userRegs;
+  long data, i;
+
+  read_lock(&tasklist_lock);
+  DO_EACH_THREAD(g,t)
+  {
+    if (t->pid != tid)
+      continue;
+
+    userRegs.fs = t->thread.fs;
+    userRegs.gs = t->thread.gs;
+    userRegs.es = t->thread.es;
+    userRegs.ds = t->thread.ds;
+    userRegs.fs_base = t->thread.fsindex; /* ??? */
+    userRegs.gs_base = t->thread.gsindex; /* ??? */
+
+    /* Not really sure if this is always true, can't find any docs for this,
+     * but it appears to work */
+    kregsP = (struct pt_regs*)(t->thread.rsp0 - sizeof(struct pt_regs));
+
+    /* user_regs_struct is identical to pt_regs up to the size of pt_regs */
+    memcpy(&userRegs, kregsP, sizeof(struct pt_regs));
+
+    /* I'm not proud of this code.  I don't know why it works, 
+     * but it does.  I'll have to figure out why one of these days */
+    userRegs.rsp = t->thread.userrsp;
+    userRegs.r15 = kregsP->rbx;
+    userRegs.r14 = kregsP->rbp;
+    userRegs.r13 = kregsP->r12;
+    userRegs.r12 = kregsP->r13;
+    userRegs.rbp = kregsP->r14;
+    userRegs.rbx = kregsP->r15;
+
+    rc = 0;
+    goto found_it;
+  } WHILE_EACH_THREAD(g,t);
+found_it:
+  read_unlock(&tasklist_lock);
+
+  if (rc == 0)
+    copy_to_user(regP, &userRegs, sizeof(struct user_regs_struct));
+  return rc;
+} 	
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/Imakefile	(revision 16)
@@ -0,0 +1,9 @@
+/* $Id: Imakefile,v 1.25 2006/08/04 14:44:34 mcnabb Exp $ */
+
+NormalObjectRule()
+
+HEADERS = cxiTypes.h cxiSystem.h cxi2gpfs.h cxiVFSStats.h cxiCred.h \
+          cxiIOBuffer.h cxiSharedSeg.h cxiMode.h Trace.h cxiMmap.h \
+          cxiAtomic.h cxiTSFattr.h cxiAclUser.h cxiLinkList.h cxiDmapi.h \
+	  LockNames.h
+InstallHeaders($(HEADERS), $(CXI_HEADER_DIR))
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/LockNames.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/LockNames.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/LockNames.h	(revision 16)
@@ -0,0 +1,329 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.4.1.1  src/avs/fs/mmfs/ts/kernext/ibm-kxi/LockNames.h, mmfs, avs_rgpfs24, rgpfs24s005a 7/13/06 18:22:26 */
+
+/*
+ * Lock classes for simple locks.  Many of these are defined in
+ * /usr/include/sys/lockname.h on AIX, but are defined here in case the
+ * latest version isn't installed.
+ *
+ * $Id: LockNames.h,v 1.6.4.1 2006/07/13 23:07:31 mcnabb Exp $
+ *
+ * $Log: LockNames.h,v $
+ * Revision 1.6.4.1  2006/07/13 23:07:31  mcnabb
+ * Fcntl fairness (Montrada DCR 2): fcntlMutex lockname.
+ *
+ * Revision 1.6  2006/03/10 06:30:22  schmuck
+ * Prune check-in history.  No code change.
+ *
+ * [ 14 log messages deleted ]
+ *
+ * Revision 1.1  2000/10/25  16:52:27  wyllie
+ * Trace include reorganization: split old tasking/Trace.h into five new
+ * files, and move most of them into directories that will be shipped with
+ * GPFS on Linux.  Also change the code in trcid.h files generated by
+ * mktrace to not include AIX specific stuff like direct use of AIX trace
+ * macros.  Change names of all macros in generated code to have a leading
+ * underscore.  As a result of these changes, all trcid.h files had to
+ * be rebuilt.
+ *
+ */
+
+#ifndef _h_LockNames
+#define _h_LockNames
+
+#ifdef GPFS_AIX
+#include <sys/lockname.h>
+#endif
+
+/* The AIX names for these locks need to be the discontiguous numbers
+   assigned in sys/lockname.h.  To keep statistics for each lock class,
+   each lock class must have an index that is a small integer from a
+   contiguous range.  Thus, there are two defines for each lock class:
+   the AIX lock name (GPFS_LOCK_xxx) and the table index
+   (GPFS_LOCK_xxx_IDX).  To add a new lock class, add both defines and
+   add the string name of the lock to the KernelLockNamePP table below. */
+
+//#ifndef GPFS_LOCK_BRL
+//#define GPFS_LOCK_BRL             607     /* GPFS */
+//#endif
+
+//#ifndef GPFS_LOCK_LKOBJWAIT
+//#define GPFS_LOCK_LKOBJWAIT       608     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_PUD
+#define GPFS_LOCK_PUD               609     /* GPFS */
+#endif
+#define GPFS_LOCK_PUD_IDX             0
+
+#ifndef GPFS_LOCK_RL
+#define GPFS_LOCK_RL                610     /* GPFS */
+#endif
+#define GPFS_LOCK_RL_IDX              1
+
+#ifndef GPFS_LOCK_RLSLEEPER
+#define GPFS_LOCK_RLSLEEPER         611     /* GPFS */
+#endif
+#define GPFS_LOCK_RLSLEEPER_IDX       2
+
+#ifndef GPFS_LOCK_PINTABLE
+#define GPFS_LOCK_PINTABLE          612     /* GPFS */
+#endif
+#define GPFS_LOCK_PINTABLE_IDX        3
+
+//#ifndef GPFS_LOCK_MB
+//#define GPFS_LOCK_MB              613     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_VINFOACC
+#define GPFS_LOCK_VINFOACC          614     /* GPFS */
+#endif
+#define GPFS_LOCK_VINFOACC_IDX        4
+
+//#ifndef GPFS_LOCK_VINFOINT
+//#define GPFS_LOCK_VINFOINT        615     /* GPFS */
+//#endif
+
+//#ifndef GPFS_LOCK_MMFSNODE
+//#define GPFS_LOCK_MMFSNODE        616     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_GPFSNODE
+#define GPFS_LOCK_GPFSNODE          616     /* GPFS */
+#endif
+#define GPFS_LOCK_GPFSNODE_IDX        5
+
+//#ifndef GPFS_LOCK_COMMONRL
+//#define GPFS_LOCK_COMMONRL        617     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_TSBUF
+#define GPFS_LOCK_TSBUF             618     /* GPFS */
+#endif
+#define GPFS_LOCK_TSBUF_IDX           6
+
+//#ifndef GPFS_LOCK_LOOKUP
+//#define GPFS_LOCK_LOOKUP          619     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_NFS
+#define GPFS_LOCK_NFS               620     /* GPFS */
+#endif
+#define GPFS_LOCK_NFS_IDX             7
+
+#ifndef GPFS_LOCK_MOUNTS
+#define GPFS_LOCK_MOUNTS            621     /* GPFS */
+#endif
+#define GPFS_LOCK_MOUNTS_IDX          8
+
+//#ifndef GPFS_LOCK_NEEDRESV
+//#define GPFS_LOCK_NEEDRESV        622     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_SHSEG
+#define GPFS_LOCK_SHSEG             623     /* GPFS */
+#endif
+#define GPFS_LOCK_SHSEG_IDX           9
+
+#ifndef GPFS_LOCK_KSYNCH
+#define GPFS_LOCK_KSYNCH            624     /* GPFS */
+#endif
+#define GPFS_LOCK_KSYNCH_IDX         10
+
+
+/* These haven't yet been added to /usr/include/sys/lockname.h */
+
+#ifndef GPFS_LOCK_PAGER
+#define GPFS_LOCK_PAGER            1019    /* GPFS */
+#endif
+#define GPFS_LOCK_PAGER_IDX          11
+
+#ifndef GPFS_LOCK_SHMEM
+#define GPFS_LOCK_SHMEM            1020    /* GPFS */
+#endif
+#define GPFS_LOCK_SHMEM_IDX          12
+
+#ifndef GPFS_LOCK_GPFSNODEHASH
+#define GPFS_LOCK_GPFSNODEHASH     1021    /* GPFS */
+#endif
+#define GPFS_LOCK_GPFSNODEHASH_IDX   13
+
+#ifndef GPFS_LOCK_MMAP
+#define GPFS_LOCK_MMAP             1022    /* GPFS */
+#endif
+#define GPFS_LOCK_MMAP_IDX           14
+
+#ifndef GPFS_LOCK_DIO
+#define GPFS_LOCK_DIO              1023    /* GPFS */
+#endif
+#define GPFS_LOCK_DIO_IDX            15
+
+#ifndef GPFS_LOCK_STRATIO
+#define GPFS_LOCK_STRATIO          1024    /* GPFS */
+#endif
+#define GPFS_LOCK_STRATIO_IDX        16
+
+#ifndef GPFS_LOCK_KPROC
+#define GPFS_LOCK_KPROC            1025    /* GPFS */
+#endif
+#define GPFS_LOCK_KPROC_IDX          17
+
+#ifndef GPFS_LOCK_MEMPOOL
+#define GPFS_LOCK_MEMPOOL          1026    /* GPFS */
+#endif
+#define GPFS_LOCK_MEMPOOL_IDX        18
+
+//#ifndef GPFS_LOCK_DFS_INTEROP
+//#define GPFS_LOCK_DFS_INTEROP    1027    /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_RL_SLEEP
+#define GPFS_LOCK_RL_SLEEP         1028    /* GPFS */
+#endif
+#define GPFS_LOCK_RL_SLEEP_IDX       19 
+
+#ifndef GPFS_LOCK_VINFO
+#define GPFS_LOCK_VINFO            1029    /* GPFS */
+#endif
+#define GPFS_LOCK_VINFO_IDX          20
+
+#ifndef GPFS_LOCK_MMAP_FLUSH
+#define GPFS_LOCK_MMAP_FLUSH       1030    /* GPFS */
+#endif
+#define GPFS_LOCK_MMAP_FLUSH_IDX     21
+
+//#ifndef GPFS_LOCK_SMBINTEROP
+//#define GPFS_LOCK_SMBINTEROP     1031    /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_NFSKPROC_DONE
+#define GPFS_LOCK_NFSKPROC_DONE    1032    /* GPFS */
+#endif
+#define GPFS_LOCK_NFSKPROC_DONE_IDX  22
+
+#ifndef GPFS_LOCK_SWAPD
+#define GPFS_LOCK_SWAPD            1033    /* GPFS */
+#endif
+#define GPFS_LOCK_SWAPD_IDX          23
+
+#ifndef GPFS_LOCK_MMAP_FREEQ
+#define GPFS_LOCK_MMAP_FREEQ       1034    /* GPFS */
+#endif
+#define GPFS_LOCK_MMAP_FREEQ_IDX     24
+
+#ifndef GPFS_LOCK_FCNTL_OPS
+#define GPFS_LOCK_FCNTL_OPS        1035    /* GPFS */
+#endif
+#define GPFS_LOCK_FCNTL_OPS_IDX      25 
+
+/* Update MAX_GPFS_LOCK_NAMES if add too many more locks */
+
+
+#ifdef GPFS_AIX
+#ifdef _KERNEL
+/* Array that maps lock name indeces to AIX lock names */
+EXTERNC int LockIndexToAIXName[];
+
+#ifdef DEFINE_LOCK_INDEX_TO_AIX_NAME_TABLE
+int LockIndexToAIXName[] =
+{
+  GPFS_LOCK_PUD,
+  GPFS_LOCK_RL,
+  GPFS_LOCK_RLSLEEPER,
+  GPFS_LOCK_PINTABLE,
+  GPFS_LOCK_VINFOACC,
+  GPFS_LOCK_GPFSNODE,
+  GPFS_LOCK_TSBUF,
+  GPFS_LOCK_NFS,
+  GPFS_LOCK_MOUNTS,
+  GPFS_LOCK_SHSEG,
+  GPFS_LOCK_KSYNCH,
+  GPFS_LOCK_PAGER,
+  GPFS_LOCK_SHMEM,
+  GPFS_LOCK_GPFSNODEHASH,
+  GPFS_LOCK_MMAP,
+  GPFS_LOCK_DIO,
+  GPFS_LOCK_STRATIO,
+  GPFS_LOCK_KPROC,
+  GPFS_LOCK_MEMPOOL,
+  GPFS_LOCK_RL_SLEEP,
+  GPFS_LOCK_VINFO,
+  GPFS_LOCK_MMAP_FLUSH,
+  GPFS_LOCK_NFSKPROC_DONE,
+  GPFS_LOCK_SWAPD,
+  GPFS_LOCK_MMAP_FREEQ,
+  GPFS_LOCK_FCNTL_OPS
+};
+#endif  /* DEFINE_LOCK_INDEX_TO_NAME_TABLE */
+#endif  /* _KERNEL */
+#endif  /* GPFS_AIX */
+
+
+#ifdef INSTRUMENT_LOCKS
+#ifdef DEFINE_KERNEL_LOCK_NAMES
+/* Lock name table.  Must be kept in synch with the lock name indices above. */
+char* KernelLockNamePP[] =
+{
+  "Page usage decl",                    // GPFS_LOCK_PUD_IDX             0
+  "Rec lock",                           // GPFS_LOCK_RL_IDX              1
+  "Rec lock sleeper",                   // GPFS_LOCK_RLSLEEPER_IDX       2
+  "Pin table",                          // GPFS_LOCK_PINTABLE_IDX        3
+  "Vinfo access",                       // GPFS_LOCK_VINFOACC_IDX        4
+  "gpfsNode",                           // GPFS_LOCK_GPFSNODE_IDX        5
+  "tsBufLock",                          // GPFS_LOCK_TSBUF_IDX           6
+  "NFS",                                // GPFS_LOCK_NFS_IDX             7
+  "Mount list",                         // GPFS_LOCK_MOUNTS_IDX          8
+  "Shared segment",                     // GPFS_LOCK_SHSEG_IDX           9
+  "Kernel synch state",                 // GPFS_LOCK_KSYNCH_IDX         10
+  "pagerLock",                          // GPFS_LOCK_PAGER_IDX          11
+  "Shared Memory Alloc/Delete",         // GPFS_LOCK_SHMEM_IDX          12
+  "gpfsNode hash",                      // GPFS_LOCK_GPFSNODEHASH_IDX   13
+  "MMAP",                               // GPFS_LOCK_MMAP_IDX           14
+  "Direct I/O",                         // GPFS_LOCK_DIO_IDX            15
+  "I/O",                                // GPFS_LOCK_STRATIO_IDX        16
+  "MMAP kproc",                         // GPFS_LOCK_KPROC_IDX          17
+  "MemPool",                            // GPFS_LOCK_MEMPOOL_IDX        18
+  "Rec lock sleep",                     // GPFS_LOCK_RL_SLEEP_IDX       19
+  "Vinfo list",                         // GPFS_LOCK_VINFO_IDX          20
+  "MMAP flush",                         // GPFS_LOCK_MMAP_FLUSH_IDX     21
+  "NFS kproc done",                     // GPFS_LOCK_NFSKPROC_DONE_IDX  22
+  "Swapd",                              // GPFS_LOCK_SWAPD_IDX          23
+  "MMAP free queue",                    // GPFS_LOCK_MMAP_FREEQ_IDX     24
+  "fcntl operation",                    // GPFS_LOCK_FCNTL_OPS_IDX      25
+  ""
+};
+#endif  /* DEFINE_KERNEL_LOCK_NAMES */
+#endif  /* INSTRUMENT_LOCKS */
+
+#endif  /* h_LockNames */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/Trace.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/Trace.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/Trace.h	(revision 16)
@@ -0,0 +1,467 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.23.1.1  src/avs/fs/mmfs/ts/kernext/ibm-kxi/Trace.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/8/06 03:17:47 */
+/*
+ * Definition of macros and symbols to control trace generation.  Define
+ * the symbol NTRACE at compile time to remove all trace code.
+ *
+ * Conventions for assigning trace levels:
+ *   - Trace levels are always non-negative.
+ *   - Larger trace levels produce more trace output
+ *   - Trace level == 0 produces no output.
+ *   - Trace level == 1 produces one line of output for the operation
+ *     being traced, usually just a description of what is being called
+ *     and its arguments.
+ *   - Trace level >= 10 are for testing only; they are disabled
+ *     in the product code (controlled by VERBOSETRACE define).
+ *
+ */
+#ifndef _h_Trace
+#define _h_Trace
+
+/* Include the code generated by the mktrace utility to marshall trace
+   arguments for all traces in this source directory */
+#include <trcid.h>
+
+/* Include the platform-specific trace macros */
+#include <Trace-plat.h>
+
+
+/* Define macros to build xxx_ToString calls.  Used within xxx_id2name
+   macros. */
+#ifdef GPFS_PRINTF
+# define I2N(n,i) n##ToString((int)i)
+# define E2N(n,i) n##ToString(i)
+#else
+# define I2N(n,i) ((int)(i))
+# define E2N(n,i) ((int)(i))
+#endif
+
+
+/* Trace categories */
+#define TRACE_ALLOC      0   /* Disk space allocation */
+#define TRACE_ALLOCMGR   1   /* Allocation manager trace */
+#define TRACE_BASIC      2   /* "basic" classes */
+#define TRACE_BRL        3   /* byte range locks */
+#define TRACE_CLEANUP    4   /* cleanup routines */
+#define TRACE_CMD        5   /* TS commands */
+#define TRACE_DEFRAG     6   /* defragmentation */
+#define TRACE_DFS        7   /* DFS Export interaction */
+#define TRACE_DISK       8   /* physical disk I/O */
+#define TRACE_DMAPI      9   /* Data Management */
+#define TRACE_DS         10  /* data shipping */
+#define TRACE_ERRLOG     11  /* error logging */
+#define TRACE_FS         12  /* file system */
+#define TRACE_FSCK       13  /* online multinode fsck */
+#define TRACE_ENTRYEXIT  14  /* routine entry/exit tracing */
+#define TRACE_IO         15  /* physical I/O (formerly TRACE_RTPERF) */
+#define TRACE_KLOCKL     16  /* low-level locks in VFS code */
+#define TRACE_KSVFS      17  /* generic VFS kernel stuff */
+#define TRACE_LOCK       18  /* interprocess locking */
+#define TRACE_LOG        19  /* recovery log */
+#define TRACE_MALLOC     20  /* MemoryPool alloc and dealloc */
+#define TRACE_MB         21  /* mailbox message handling */
+#define TRACE_MEMMGR     22  /* memory manager traces */
+#define TRACE_MNODE      23  /* metanode operations */
+#define TRACE_MSG        24  /* calls to routines in SharkMsg.h */
+#define TRACE_MUTEX      25  /* mutexes and condition variables */
+#define TRACE_PERFMON    26  /* trace performance monitor code */
+#define TRACE_PGALLOC    27  /* page allocator tracing */
+#define TRACE_PIN        28  /* pinning to real memory */
+#define TRACE_PIT        29  /* Parallel Inode Traversal */
+#define TRACE_QUOTA      30  /* quota management */
+#define TRACE_SP         31  /* SP message handling */
+#define TRACE_TASKING    32  /* tasking system but not Thread operations */
+#define TRACE_THREAD     33  /* operations in Thread class */
+#define TRACE_TSTM       34  /* token manager (formerly TRACE_CETM) */
+#define TRACE_TS         35  /* Tiger Shark specific code. */
+#define TRACE_USER1      36  /* Used for miscellaneous tracing and */
+#define TRACE_USER2      37  /* debugging purposes. */
+#define TRACE_VNODE      38  /* vnode layer of VFS kernel support */
+#define TRACE_VNOP       39  /* one line per VNOP with all important info */
+#define TRACE_BOPS       40  /* block_operations */
+#define TRACE_DOPS       41  /* dentry_operations */
+#define TRACE_IALLOC     42  /* inode allocation */
+#define TRACE_FOPS       43  /* file_operations */
+#define TRACE_SOPS       44  /* super_operations */
+#define TRACE_SHARED     45  /* shared memory */
+#define TRACE_NSD        46  /* network shared disk */
+#define TRACE_DLEASE     47  /* disk lease */
+#define TRACE_SMB        48  /* SMB Open and Op Locks */
+#define TRACE_EEXP       49  /* events exporter. */
+#define TRACE_SEC        50  /* Cluster Security Specific Trace */
+#define TRACE_SANERGY    51  /* SANergy */
+#define TRACE_KERNEL     52  /* kernel */
+#define TRACE_MMPMON     53  /* mmpmon. */
+
+/* Add new trace classes above here.  When adding new trace classes, be
+   sure to update the table below containing character string names for the
+   trace classes.  The maximum number of trace classes is given by
+   MAX_TRACE_CLASSES. */
+
+
+/* Table of trace class names, indexed by TRACE_... constants above.
+   The generation of this table is controlled by the #define variable
+   DEFINE_TRACE_CLASS_NAME_TABLE, which is generally only set in the module
+   that parses commands to change trace settings. */
+struct TraceNameTableEntry
+{
+  char *name;
+  char *desc;
+};
+
+
+#ifndef _KERNEL
+  extern const struct TraceNameTableEntry TraceNamesP[MAX_TRACE_CLASSES + 1];
+
+# ifdef DEFINE_TRACE_CLASS_NAME_TABLE
+    const TraceNameTableEntry TraceNamesP[MAX_TRACE_CLASSES + 1] =
+    {
+      /*  0 */  { "alloc",      "disk space allocation" },
+      /*  1 */  { "allocmgr",   "allocation manager" },
+      /*  2 */  { "basic",      "'basic' classes" },
+      /*  3 */  { "brl",        "byte range locks" },
+      /*  4 */  { "cleanup",    "cleanup routines" },
+      /*  5 */  { "cmd",        "TS commands" },
+      /*  6 */  { "defrag",     "defragmentation" },
+      /*  7 */  { "dfs",        "DFS export" },
+      /*  8 */  { "disk",       "physical disk I/O" },
+      /*  9 */  { "dmapi",      "data management" },
+      /* 10 */  { "ds",         "data shipping" },
+      /* 11 */  { "errlog",     "error logging" },
+      /* 12 */  { "fs",         "file system" },
+      /* 13 */  { "fsck",       "online multinode fsck" },
+      /* 14 */  { "entryexit",   "routine entry/exit" },
+      /* 15 */  { "io",         "physical I/O" },
+      /* 16 */  { "klockl",     "low-level VFS locking" },
+      /* 17 */  { "ksvfs",      "generic kernel VFS stuff" },
+      /* 18 */  { "lock",       "interprocess locking" },
+      /* 19 */  { "log",        "recovery log" },
+      /* 20 */  { "malloc",     "malloc/free in shared segment" },
+      /* 21 */  { "mb",         "mailbox message handling" },
+      /* 22 */  { "memmgr",     "memory manager" },
+      /* 23 */  { "mnode",      "mnode operations" },
+      /* 24 */  { "msg",        "calls to routines in SharkMsg.h" },
+      /* 25 */  { "mutex",      "mutexes and condition variables" },
+      /* 26 */  { "perfmon",    "performance monitors" },
+      /* 27 */  { "pgalloc",    "page allocator tracing" },
+      /* 28 */  { "pin",        "pinning to real memory" },
+      /* 29 */  { "pit",        "parallel inode traversal" },
+      /* 30 */  { "quota",      "quota management" },
+      /* 31 */  { "sp",         "SP message handling" },
+      /* 32 */  { "tasking",    "tasking system but not Thread operations" },
+      /* 33 */  { "thread",     "operations in Thread class" },
+      /* 34 */  { "tm",         "token manager" },
+      /* 35 */  { "ts",         "Tiger Shark specific code" },
+      /* 36 */  { "user1",      "Used for miscellaneous tracing and" },
+      /* 37 */  { "user2",      "debugging purposes" },
+      /* 38 */  { "vnode",      "vnode layer of VFS kernel support" },
+      /* 39 */  { "vnop",       "concise vnop description" },
+      /* 40 */  { "block",      "block_operations" },
+      /* 41 */  { "dentry",     "dentry_operations" },
+      /* 42 */  { "ialloc",     "inode allocation" },
+      /* 43 */  { "file",       "file_operations" },
+      /* 44 */  { "super",      "super_operations" },
+      /* 45 */  { "shared",     "shared memory" },
+      /* 46 */  { "nsd",        "network shared disk"},
+      /* 47 */  { "disklease",  "disk lease"},
+      /* 48 */  { "smb",        "SMB Locks"},
+      /* 49 */  { "eventsExporter", "Events Exporter"},
+      /* 50 */  { "sec",        "Cluster Security Specific Trace"},
+      /* 51 */  { "sanergy",    "SANergy"},
+      /* 52 */  { "kernel",     "kernel"},
+      /* 53 */  { "mmpmon",     "mmpmon"},
+      /* Add new trace class names above here. */
+      /* DO NOT ifdef TRACE CLASS DEFINITIONS! */
+      { 0, 0 }
+    };
+# endif /* of ifdef DEFINE_TRACE_CLASS_NAME_TABLE */
+#endif /* not _KERNEL */
+
+
+/* Define the TRCOPTCODE and/or KTRCOPTCODE macro here to temporarily insert
+   debugging code into each enabled TRACE macro expansion.  TRCOPTCODE is
+   inserted into code that is compiled with _KERNEL *not* defined, while
+   KTRCOPTCODE is inserted into code compiled with -D_KERNEL */
+#define TRCOPTCODE
+#define KTRCOPTCODE
+
+
+/* Define a macro that does nothing.  Used for dummy else clauses. */
+#ifndef NOOP
+# define NOOP ((void)0)
+#endif
+
+
+/* Define SHARKHOOKID word.  GPFS default hookid is 307, but we use a
+   different hookid in certain directories, as defined in DirIds.h. */
+#if LOCAL_BASE == DIR_ID_TM
+#  define SHARKHOOKID 0x30600000
+#elif LOCAL_BASE == DIR_ID_TASKING
+#  define SHARKHOOKID 0x30800000
+#elif LOCAL_BASE == DIR_ID_KERNEXT
+#  define SHARKHOOKID 0x30900000
+#else
+#  define SHARKHOOKID 0x30700000
+#endif
+
+/* Convert the id of a particular trace to the hookword stored in the
+   trace buffer */
+#define _HOOKWORD(_id) ((_id) | SHARKHOOKID)
+
+/* Define the routines that handle traces that include strings (_STrace)
+   and arbitrary traces (_XTrace) */
+#ifdef __cplusplus
+  extern "C"
+  {
+#endif
+void _STrace(int hookword, int nArgs, int pos, ...);
+void _XTrace(int hookword, char *fmt, ...);
+#ifdef GPFS_AIX  /* AIX doesn't have nor need non blocking trace calls */
+#define _STraceNB _STrace
+#define _XTraceNB _XTrace
+#else
+void _STraceNB(int hookword, int nArgs, int pos, ...);
+void _XTraceNB(int hookword, char *fmt, ...);
+#endif
+#ifdef __cplusplus
+  }
+#endif
+
+
+#ifdef NTRACE
+  /* disable all traces */
+# define _TRACE_MACRO(_c, _l, _ktrc) NOOP
+# define _TRACE_IS_ON(_c, _l) (0)
+#else /* not NTRACE */
+
+  /* Define the test to check whether tracing for given level is enabled.
+     Unless VERBOSETRACE is defined, tracing is always disabled for trace
+     calls with trace level 10 or higher. */
+# ifdef VERBOSETRACE
+#   define _TRACE_IS_ON(_c,_l) (_GBL_TRC_IS_ON && (signed char)TraceFlagsP[_c] >= (_l))
+# else
+#   define _TRACE_IS_ON(_c,_l) (_GBL_TRC_IS_ON && (_l)<10 && \
+      (signed char) TraceFlagsP[_c] >= (_l))
+# endif
+
+
+  /* Define _TRACE_MACRO(_c, _l, _ktrc) macro.  Used to define the actual
+     TRACExx macros.  Macro parameters:
+        _c       trace class
+        _l       trace level
+        _ktrc    code to execute if kernel tracing is selected */
+# ifndef _KERNEL
+#   define _TRACE_MACRO(_c, _l, _ktrc) \
+      if (_TRACE_IS_ON(_c, _l))        \
+        { _TR_BEFORE; _ktrc; TRCOPTCODE; _TR_AFTER; } else NOOP
+# else /* _KERNEL */
+#   define _TRACE_MACRO(_c, _l, _ktrc) \
+      if (_TRACE_IS_ON(_c, _l))        \
+        { _TR_BEFORE; _ktrc; KTRCOPTCODE; _TR_AFTER; } else NOOP
+# endif /* KERNEL */
+
+#endif /* not NTRACE */
+
+
+/* Non blocking versions of trace calls.  The succeeding 'N' is 
+ * significant to mktrcid only and thus these versions are merely
+ * redefined to be the real macro.
+ */
+#define TRACE0N  TRACE0
+#define TRACE1N  TRACE1
+#define TRACE2N  TRACE2
+#define TRACE3N  TRACE3
+#define TRACE4N  TRACE4
+#define TRACE5N  TRACE5
+#define TRACE6N  TRACE6
+#define TRACE7N  TRACE7
+#define TRACE8N  TRACE8
+#define TRACE9N  TRACE9
+#define TRACE10N TRACE10
+#define TRACE11N TRACE11
+#define TRACE12N TRACE12
+
+/* General trace macros */
+#ifndef GPFS_PRINTF
+
+#define TRACE0(_c, _l, id, fmt) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE1(_c, _l, id, fmt, a1) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE2(_c, _l, id, fmt, a1, a2) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE3(_c, _l, id, fmt, a1, a2, a3) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE4(_c, _l, id, fmt, a1, a2, a3, a4) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE5(_c, _l, id, fmt, a1, a2, a3, a4, a5) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE6(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE7(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE8(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE9(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE10(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE11(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE12(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+
+#else /* GPFS_PRINTF */
+
+#define TRACE0(_c,_l,_id,_fmt) \
+  PDEBUG((_c),(_l),_fmt,1)
+#define TRACE1(_c,_l,_id,_fmt,a1) \
+  PDEBUG((_c),(_l),_fmt,a1)
+#define TRACE2(_c,_l,_id,_fmt,a1,a2) \
+  PDEBUG((_c),(_l),_fmt,a1,a2)
+#define TRACE3(_c,_l,_id,_fmt,a1,a2,a3) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3)
+#define TRACE4(_c,_l,_id,_fmt,a1,a2,a3,a4) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4)
+#define TRACE5(_c,_l,_id,_fmt,a1,a2,a3,a4,a5) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5)
+#define TRACE6(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6)
+#define TRACE7(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7)
+#define TRACE8(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8)
+#define TRACE9(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9)
+#define TRACE10(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
+#define TRACE11(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
+#define TRACE12(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
+
+
+#endif /* GPFS_PRINTF */
+
+
+/* Subroutine for setting traces given a string of trace names and values */
+extern int traceCommand(char *args);
+
+
+/* Routine entry/exit tracing:
+
+   In C code, place the macro ENTER(level) at the point of the first
+   executable statement of the routine.  This will generate a call to
+   cxiTraceEntry that will trace the call by function name and source line
+   if TRACE_ENTEREXIT is set high enough.  Optionally, place the macro
+   EXIT(level) at exits from the routine.
+
+   In C++ code, place the macro ENTER(level) as the first declaration in
+   the routine.  This will create an object of type EntryExitTracer,
+   whose constructor will call cxiTraceEntry to trace routine entry, and
+   whose destructor will call cxiTraceExit to trace routine exit.  The
+   EXIT macro may appear, but will be ignored.
+
+   The trace levels that appear in the ENTER and EXIT macros are interpreted
+   relative to a base trace level.  Setting the TRACE_ENTEREXIT level <
+   BASE_ENTEREXIT_LEVEL disables all enter/exit tracing.  To see enter/exit
+   traces from daemon code, set the TRACE_ENTEREXIT level to at least
+   BASE_ENTEREXIT_LEVEL+DAEMON_ENTEREXIT_TRACING.
+
+   Kernel stack depth checking is only supported on Linux, since we do
+   not know how to compute the current stack usage on AIX.
+*/
+#ifdef KSTACK_CHECK
+# ifndef GPFS_LINUX
+#   error "KSTACK_CHECK is only supported on Linux"
+# endif
+#endif
+
+#if defined(ENTRYEXIT_TRACE) || defined(KSTACK_CHECK)
+# define BASE_ENTEREXIT_LEVEL     6
+# define DAEMON_ENTEREXIT_TRACING 2
+# ifdef __cplusplus
+    extern "C" void cxiTraceEntry(int level, const char * funcnameP,
+                                  const char * filenameP, int lineNum);
+    extern "C" void cxiTraceExit(int level, const char * funcnameP);
+    extern "C" void cxiTraceExitRC(int level, const char * funcnameP, int rc);
+    class EntryExitTracer
+    {
+    private:
+      /* Trace level */
+      int level;
+
+      /* Pointer to routine name */
+      const char * funcnameP;
+
+    public:
+      /* Constructor: trace routine entry and remember trace level and
+         routine name */
+      inline EntryExitTracer(int level, const char * funcnameP,
+                             const char * filenameP, int lineNum)
+      {
+        cxiTraceEntry(level, funcnameP, filenameP, lineNum);
+        this->level = level;
+        this->funcnameP = funcnameP;
+      }
+
+      /* Destructor: trace routine exit */
+      inline ~EntryExitTracer()
+      {
+        cxiTraceExit(level, funcnameP);
+      }
+    };
+
+#   define ENTER(_level) \
+      EntryExitTracer _eet(_level, __FUNCTION__, __FILE__, __LINE__)
+#   define EXIT(_level)
+#   define EXIT_RC(_level, rc)
+# else
+    extern void cxiTraceEntry(int level, const char * funcnameP,
+                              const char * filenameP, int lineNum);
+    extern void cxiTraceExit(int level, const char * funcnameP);
+    extern void cxiTraceExitRC(int level, const char * funcnameP, int rc);
+#   define ENTER(_level) cxiTraceEntry(_level, __FUNCTION__, __FILE__, __LINE__)
+#   define EXIT(_level) cxiTraceExit(_level, __FUNCTION__)
+#   define EXIT_RC(_level, rc) cxiTraceExitRC(_level, __FUNCTION__, rc)
+# endif  /* __cplusplus */
+
+#else  /* ENTRYEXIT_TRACE and KSTACK_CHECK disabled */
+# define ENTER(_level)
+# define EXIT(_level)
+# define EXIT_RC(_level, rc)
+#endif  /* defined(ENTRYEXIT_TRACE) || defined(KSTACK_CHECK) */
+
+
+#endif  /* _h_Trace */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxi2gpfs.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxi2gpfs.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxi2gpfs.h	(revision 16)
@@ -0,0 +1,411 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)67       1.90.1.4  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxi2gpfs.h, mmfs, avs_rgpfs24, rgpfs24s012a 5/1/07 08:31:35 */
+/*
+ * Interface definitions for gpfs kernel services, platform independent version
+ *
+ * Contents:
+ *   vfs services:
+ */
+
+#ifndef _h_cxi2gpfs
+#define _h_cxi2gpfs
+
+#ifdef _KERNEL
+
+/* Describes the entry points into the OS independent portion of
+ * GPFS from the dependent virtual file system layer.
+ */
+struct gpfsVfsData_t;
+struct ext_cred_t;
+struct MMFSVInfo;
+struct cxiUio_t;
+struct cxiIOBufferAttachment_t;
+#ifdef SMB_LOCKS
+struct SMBTokenDescription;
+#endif
+struct KernelOperation;
+
+/* GPFS OS independent entry point prototypes */
+IntRC gpfsFsync(struct gpfsVfsData_t *, struct MMFSVInfo *, cxiNode_t *, int, struct ext_cred_t *);
+IntRC gpfsSyncNFS(struct gpfsVfsData_t *, cxiNode_t *, int, struct ext_cred_t *);
+IntRC gpfsMkdir(struct gpfsVfsData_t *, cxiNode_t *cnDirP,
+                void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                void *dentryP, caddr_t nameP, int, cxiMode_t mode,
+                struct ext_cred_t *);
+IntRC gpfsLink(struct gpfsVfsData_t *, cxiNode_t *, cxiNode_t *,
+               void *, char *, struct ext_cred_t *);
+IntRC gpfsOpen(struct gpfsVfsData_t *, cxiNode_t *, int, int, int,
+               struct MMFSVInfo **, struct ext_cred_t *);
+IntRC gpfsInodeRead(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    cxiIno_t ino, void *opaque);
+IntRC gpfsInodeDelete(struct gpfsVfsData_t *, cxiNode_t *, Boolean isGPFS,
+                      struct ext_cred_t *);
+int gpfsInodeFindActor(cxiNode_t *, cxiIno_t, void *);
+int gpfsGetSnapIdPair(cxiNode_t *, UInt32 *, UInt32 *);
+IntRC gpfsRemove(struct gpfsVfsData_t *, cxiNode_t *, cxiNode_t *,
+                 char *, struct ext_cred_t *);
+IntRC gpfsRename(struct gpfsVfsData_t *, cxiNode_t *, cxiNode_t *,
+                 caddr_t, cxiNode_t *, cxiNode_t *, caddr_t,
+                 struct ext_cred_t *);
+IntRC gpfsRmdir(struct gpfsVfsData_t *, cxiNode_t *, cxiNode_t *,
+                char *, struct ext_cred_t *);
+IntRC gpfsSetattr(struct gpfsVfsData_t *, cxiNode_t *, long, long, long,
+                  long, struct ext_cred_t *);
+IntRC gpfsSymlink(struct gpfsVfsData_t *, cxiNode_t *dcnP, void **vPP,
+                  cxiNode_t **cnPP, cxiIno_t *iNumP, void *dentryP, caddr_t nameP,
+                  char *symlinkTargetP, struct ext_cred_t *);
+IntRC gpfsFsyncRange(struct gpfsVfsData_t *, cxiNode_t *, int, offset_t,
+                     offset_t, struct ext_cred_t *);
+IntRC gpfsClose(struct gpfsVfsData_t *, cxiNode_t *, int,
+                struct MMFSVInfo *, Boolean dmEvents);
+IntRC gpfsUnmap(struct gpfsVfsData_t *, cxiNode_t *, int);
+IntRC gpfsFattr(struct gpfsVfsData_t *, cxiNode_t *, struct MMFSVInfo *,
+                int, int, void *, void *, struct ext_cred_t *);
+IntRC gpfsFsAttr(int, void *);
+IntRC gpfsFclear(struct gpfsVfsData_t *, cxiNode_t *,
+                 int, offset_t, offset_t, struct MMFSVInfo *, struct ext_cred_t *);
+IntRC gpfsFtrunc(struct gpfsVfsData_t *, cxiNode_t *, int, offset_t,
+                 struct MMFSVInfo *, struct ext_cred_t *, Boolean dmEvents);
+IntRC gpfsRead(struct gpfsVfsData_t *, struct KernelOperation *, cxiNode_t *, int,
+               struct cxiUio_t *, struct MMFSVInfo *, cxiVattr_t *, cxiVattr_t *,
+               struct ext_cred_t *, int, int);
+IntRC gpfsWrite(struct gpfsVfsData_t *, struct KernelOperation *, cxiNode_t *, int,
+                struct cxiUio_t *, struct MMFSVInfo *, cxiVattr_t *, cxiVattr_t *,
+                struct ext_cred_t *, int, int);
+IntRC gpfsGetattr(struct gpfsVfsData_t *, cxiNode_t *, cxiVattr_t *, Boolean exactStat);
+IntRC gpfsAccess(struct gpfsVfsData_t *, cxiNode_t *, int, int,
+                 struct ext_cred_t *);
+IntRC gpfsReaddir(struct gpfsVfsData_t *, cxiNode_t *, void *, cxiFillDir_t,
+                  offset_t *, cxiContext_t, struct KernelOperation *kopP);
+IntRC gpfsReadlink(struct gpfsVfsData_t *, cxiNode_t *, struct cxiUio_t *);
+IntRC gpfsCreate(struct gpfsVfsData_t *privVfsP, cxiNode_t *dcnP,
+                 void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP, int gen,
+                 int flags, void *dentryP, caddr_t nameP, cxiMode_t mode,
+                 cxiMode_t umask, caddr_t *infoPP, struct ext_cred_t *);
+IntRC gpfsMknod(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnDirP,
+                void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                void *dentryP, caddr_t nameP, cxiMode_t mode, cxiMode_t umask,
+                cxiDev_t dev, struct ext_cred_t *credP);
+IntRC gpfsRele(struct gpfsVfsData_t *, cxiNode_t *,
+               void *, cxiContext_t);
+IntRC gpfsLookup(struct gpfsVfsData_t *, void *dvP, cxiNode_t *cnDirP,
+                 void *dentryP, char *nameP,
+                 void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP, cxiVattr_t *,
+                 cxiMode_t *, struct ext_cred_t *, void **dentryPP);
+IntRC gpfsMount(void *, int, char *, char *, char *, struct gpfsVfsData_t **,
+                cxiNode_t **, cxiIno_t *iNumP, struct gpfsVfsData_t *, pid_t,
+                unsigned int mountId, Boolean, Boolean);
+IntRC gpfsStatfs(struct gpfsVfsData_t *, cxiStatfs_t *);
+IntRC gpfsSyncfs(struct gpfsVfsData_t *);
+void gpfsQueueBufs(cxibuf_t *bufP);
+void gpfsMmapFlushLock(cxiNode_t *cnP);
+void gpfsMmapFlushUnlock(cxiNode_t *cnP);
+
+IntRC gpfsUncache(struct gpfsVfsData_t *privVfsP);
+
+IntRC gpfsUnmount(struct gpfsVfsData_t *privVfsP, Boolean forced);
+void gpfsFinishUnmount(struct gpfsVfsData_t *privVfsP);
+#ifdef NFS4_CLUSTER
+IntRC gpfsFsLocations(struct gpfsVfsData_t *privVfsP, char **bufP, int *buf_size);
+#endif
+IntRC gpfsFcntl(void *vkopP,
+                struct gpfsVfsData_t *privVfsP,
+                void *vP,               // struct vnode* or NULL
+                void *advObjP,          // struct gnode* or struct file*
+                void *flP,              // NULL or struct file_lock*
+                cxiNode_t *cnP,
+                offset_t offset,
+                eflock_t *lckdatP,
+                int cmd,                // F_SETLK, F_SETLKW, F_GETLK
+                int(*retry_fcn)(),
+                ulong *retry_idP,
+                struct ext_cred_t *credP);
+IntRC gpfsFcntlReset(void *advObjP, cxiPid_t mmfsd);
+
+IntRC gpfsGetAcl(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                 void *aclP, struct ext_cred_t *credP);
+IntRC gpfsPutAcl(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                 void *aclP, struct ext_cred_t *credP);
+
+#ifdef GPFS_QUOTACTL
+IntRC gpfsQuotactl(struct gpfsVfsData_t *privVfsP, int cmd, int qid, 
+                   void *bufferP, struct ext_cred_t *credP);
+#endif
+
+IntRC gpfsGetNFS(void *, struct MMFSVInfo **, int *);
+IntRC gpfsReleaseNFS(void *);
+int gpfsReady();
+IntRC gpfsMmap(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, void *vP,
+               struct ext_cred_t *credP, void *kopP, Boolean writeAccess,
+               Boolean explicit_mmap,long long offset, long long length);
+
+#ifdef SMB_LOCKS
+IntRC SMBOpenLockControl(int command, int lockmode,
+                         int inode_n, struct MMFSVInfo * vinfoP,
+                         struct gpfsVfsData_t *privVfsP);
+int SMBGetOplockState(void *fileArgP);
+int SMBGetOplockStateV(struct MMFSVInfo * vinfoP);
+IntRC gpfsSetSMBOplock(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       struct MMFSVInfo *vinfoP, int accessWant,
+                       int oplockWant, void *breakArgP,
+                       int *oplockGrantedP, Boolean isAsync);
+IntRC gpfsReserveShare(void *vP, void *infoP, 
+                       struct gpfsVfsData_t *privVfsP, int flags, int share,
+                       cxiNode_t *cnP, ext_cred_t *credP);
+IntRC gpfsReserveDelegation(void *vp, void *infoP, 
+                            struct gpfsVfsData_t *privVfsP, int oplockWant,
+                            int flags, void *cb_token, void *cookie);
+#endif  //SMB_LOCKS
+IntRC callDaemonToDie(char  *srcFileName, UInt32 srcLineNumber,
+                      Int32 retCode, Int32 reasonCode, char  *dataStr,
+                      char  *failingExpr);
+IntRC gpfsCleanup();
+#ifdef UIDREMAP
+int UIDremapOn();
+#endif
+void gpfsSwapdEnqueue(cxiNode_t *cnP);
+void gpfsSwapdDequeue(cxiNode_t *cnP);
+void gpfsGrace(int on_off);
+#ifdef P_NFS4
+IntRC gpfsGetOpenState(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       int nodeId, void *p, int len, struct ext_cred_t *credP);
+IntRC gpfsLayoutRetrun(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       void *p, int len);
+IntRC gpfsGetDeviceInfo(struct gpfsVfsData_t *privVfsP, void *p);
+IntRC gpfsGetLayout(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    void *p, struct ext_cred_t *credP);
+IntRC gpfsGetDeviceList(struct gpfsVfsData_t *privVfsP, void *p);
+int gpfsGetMyDevID(struct gpfsVfsData_t *privVfsP);
+void gpfsGetVerifier(struct gpfsVfsData_t *privVfsP, UInt32 *p);
+#endif
+
+#ifdef DMAPI
+IntRC gpfsDmUnmountEvent(Boolean preunmount, Boolean force,
+                         struct gpfsVfsData_t *privVfsP, cxiNode_t *rootCNP,
+                         Boolean *dmDoUnmountEventP, void **sgUidP,
+                         void **eventlistP, void **sessLocP, int vnoprc);
+#endif
+
+IntRC gpfsNFSIget(struct gpfsVfsData_t *privVfsP, struct cxiIGetArg_t *argP,
+                  UInt32 generation, void **vPP);
+IntRC gpfsOpenNFS(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                  struct MMFSVInfo *vinfoP, struct ext_cred_t *credP);
+
+struct gpfs_operations
+{
+  IntRC (*mmfs)(int cmd);
+  IntRC (*gpfsMount)(void *, int, char *, char *, char *, struct gpfsVfsData_t **,
+                     cxiNode_t **, cxiIno_t *iNumP, struct gpfsVfsData_t *, pid_t,
+                     unsigned int, Boolean, Boolean);
+  IntRC (*gpfsStatfs)(struct gpfsVfsData_t *, cxiStatfs_t *);
+  IntRC (*gpfsSyncfs)(struct gpfsVfsData_t *);
+  void (*gpfsQueueBufs)(cxibuf_t *bufP);
+  void (*gpfsMmapFlushLock)(cxiNode_t *cnP);
+  void (*gpfsMmapFlushUnlock)(cxiNode_t *cnP);
+  IntRC (*gpfsFsync)(struct gpfsVfsData_t *, struct MMFSVInfo *, cxiNode_t *, int,
+                     struct ext_cred_t *credP);
+  IntRC (*gpfsSyncNFS)(struct gpfsVfsData_t *, cxiNode_t *, int,
+                       struct ext_cred_t *credP);
+  IntRC (*gpfsMkdir)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnDirP,
+                     void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                     void *dentryP, char *dirNameP, int mode, cxiMode_t umask,
+                     struct ext_cred_t *credP);
+  IntRC (*gpfsLink)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    cxiNode_t *dcnP, void *dentryP, char *name,
+                    struct ext_cred_t *credP);
+  IntRC (*gpfsOpen)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    int flags, int iflags, int ext, struct MMFSVInfo **infoPP,
+                    struct ext_cred_t *credP);
+  IntRC (*gpfsInodeRead)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                         cxiIno_t ino, void *opaque);
+  IntRC (*gpfsInodeDelete)(struct gpfsVfsData_t *, cxiNode_t *, Boolean isGPFS,
+                           struct ext_cred_t *);
+  int (*gpfsInodeFindActor)(cxiNode_t *, cxiIno_t, void *);
+  int (*gpfsGetSnapIdPair)(cxiNode_t *, UInt32 *, UInt32 *);
+  IntRC (*gpfsRemove)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                      cxiNode_t *dcnP, char *nameP, struct ext_cred_t *credP);
+  IntRC (*gpfsRename)(struct gpfsVfsData_t *privVfsP, cxiNode_t *sourceCNP,
+                      cxiNode_t *sourceDirCNP, caddr_t oldNameP,
+                      cxiNode_t *targetCNP, cxiNode_t *targetDirCNP,
+                      caddr_t newNameP, struct ext_cred_t *credP);
+  IntRC (*gpfsRmdir)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                     cxiNode_t *dcnP, char *nameP, struct ext_cred_t *credP);
+  IntRC (*gpfsSetattr)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       long cmd, long arg1, long arg2, long arg3,
+                       struct ext_cred_t *credP);
+  IntRC (*gpfsSymlink)(struct gpfsVfsData_t *privVfsP, cxiNode_t *dcnP, void **vPP,
+                       cxiNode_t **cnPP, cxiIno_t *iNumP,
+                       void *dentryP, caddr_t nameP,
+                       char *symlinkTargetP, struct ext_cred_t *credP);
+  IntRC (*gpfsFsyncRange)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                          int flags, offset_t offset, offset_t length,
+                          struct ext_cred_t *credP);
+  IntRC (*gpfsClose)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                     int flags, struct MMFSVInfo *vinfoP,
+                     Boolean dmEvents);
+  IntRC (*gpfsUnmap)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                     int flag);
+  IntRC (*gpfsFattr)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                     struct MMFSVInfo *vinfoP, int rwflag, int command,
+                     void *argP, void *rCodeP, struct ext_cred_t *credP);
+  IntRC (*gpfsFsAttr)(int command, void *argP);
+  IntRC (*gpfsFclear)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                      int flags, offset_t offset, offset_t len,
+                      struct MMFSVInfo *vinfoP, struct ext_cred_t *credP);
+  IntRC (*gpfsFtrunc)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                      int flags, offset_t offset, struct MMFSVInfo *vinfoP,
+                      struct ext_cred_t *credP, Boolean dmEvents);
+  IntRC (*gpfsRead)(struct gpfsVfsData_t *privVfsP, struct KernelOperation *,
+                    cxiNode_t *cnP, int flags, struct cxiUio_t* uioP, 
+                    struct MMFSVInfo *vinfoP, cxiVattr_t *vpreP, 
+                    cxiVattr_t *vattrP, struct ext_cred_t *credP, int, int);
+  IntRC (*gpfsWrite)(struct gpfsVfsData_t *privVfsP, struct KernelOperation *,
+                     cxiNode_t *cnP, int flags, struct cxiUio_t* uioP, 
+                     struct MMFSVInfo *vinfoP, cxiVattr_t *vpreP, 
+                     cxiVattr_t *vattrP, struct ext_cred_t *credP, int, int);
+  IntRC (*gpfsGetattr)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       cxiVattr_t *vattrP, Boolean exactStat);
+  IntRC (*gpfsAccess)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                      int mode, int who, struct ext_cred_t *credP);
+  IntRC (*gpfsReaddir)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       void *fillDirArgP, cxiFillDir_t fillDirP,
+                       offset_t *offsetP, cxiContext_t opcontext,
+                       struct KernelOperation *kopP);
+  IntRC (*gpfsReadlink)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                        struct cxiUio_t* uioP);
+  IntRC (*gpfsCreate)(struct gpfsVfsData_t *privVfsP, cxiNode_t *dcnP,
+                      void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP, int gen,
+                      int flags, void *dentryP, caddr_t nameP, cxiMode_t mode,
+                      cxiMode_t umask, caddr_t *infoPP, struct ext_cred_t *credP);
+  IntRC (*gpfsMknod)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnDirP,
+                     void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                     void *dentryP, caddr_t nameP, cxiMode_t mode, cxiMode_t umask,
+                     cxiDev_t dev, struct ext_cred_t *credP);
+  IntRC (*gpfsRele)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    void *vP, cxiContext_t opContext);
+  IntRC (*gpfsLookup)(struct gpfsVfsData_t *privVfsP, void *dvP, cxiNode_t *dcnP,
+                      void *dentryP, char *nameP,
+                      void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                      cxiVattr_t *vattrP, cxiMode_t *modeP,
+                      struct ext_cred_t *credP, void **dentryPP);
+  IntRC (*gpfsFcntl)(void *vkopP,
+                     struct gpfsVfsData_t *privVfsP,
+                     void *vP,                  // struct vnode* or NULL
+                     void *advObjP,             // struct gnode* or struct file*
+                     void *flP,                 // NULL or struct file_lock*
+                     cxiNode_t *cnP,
+                     offset_t offset,
+                     eflock_t *lckdatP,
+                     int cmd,                   // F_SETLK, F_SETLKW, F_GETLK
+                     int(*retry_fcn)(),
+                     ulong *retry_idP,
+                     struct ext_cred_t *credP);
+  IntRC (*gpfsFcntlReset)(void *advObjP, cxiPid_t mmfsd);
+  IntRC (*gpfsUncache)(struct gpfsVfsData_t *privVfsP);
+  IntRC (*gpfsUnmount)(struct gpfsVfsData_t *privVfsP, Boolean forced);
+  void (*gpfsFinishUnmount)(struct gpfsVfsData_t *privVfsP);
+#ifdef NFS4_CLUSTER
+  IntRC (*gpfsFsLocations) (struct gpfsVfsData_t *privVfsP, char **bufP, int *buf_size);
+#endif
+  
+  IntRC (*gpfsGetAcl)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                      void *aclP, struct ext_cred_t *credP);
+  IntRC (*gpfsPutAcl)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                      void *aclP, struct ext_cred_t *credP);
+  
+  IntRC (*gpfsGetNFS)(void *vP, struct MMFSVInfo **vinfoPP, int *flagsP);
+  IntRC (*gpfsReleaseNFS)(void *vP);
+  int (*gpfsReady)();
+  IntRC (*gpfsMmap)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, void * vP,
+                    struct ext_cred_t *credP, void *koP, Boolean writeAccess,
+                    Boolean explicit_mmap,long long offset,long long length);
+#ifdef SMB_LOCKS
+  IntRC (*SMBOpenLockControl)(int command, int lockmode,
+                              int inode_n, struct MMFSVInfo * vinfoP,
+                              struct gpfsVfsData_t *privVfsP);
+  int (*SMBGetOplockState)(void *fileArgP);
+  int (*SMBGetOplockStateV)(struct MMFSVInfo * vinfoP);
+  IntRC (*gpfsSetSMBOplock)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                            struct MMFSVInfo *vinfoP, int accessWant,
+                            int oplockWant, void *breakArgP,
+                            int *oplockGrantedP, Boolean isAsync);
+  IntRC (*gpfsReserveShare)(void *, void *, struct gpfsVfsData_t *, int, int,
+                            cxiNode_t *cnP, ext_cred_t *credP);
+  IntRC (*gpfsReserveDelegation)(void *vp, void *infoP, 
+                                 struct gpfsVfsData_t *privVfsP, int oplockWant,
+                                 int, void *cb_token, void *cookie);
+#endif
+  IntRC (*gpfsDaemonToDie)(char  *srcFileName, UInt32 srcLineNumber,
+                           Int32 retCode, Int32 reasonCode, char  *dataStr,
+                           char  *failingExpr);
+  IntRC (*gpfsCleanup)();
+#ifdef UIDREMAP
+  int (*UIDremapOn)();
+#endif
+  void (*gpfsSwapdEnqueue)(cxiNode_t *cnP);
+#ifdef DMAPI
+  IntRC (*gpfsDmUnmountEvent)(Boolean preunmount, Boolean force,
+                              struct gpfsVfsData_t *privVfsP, cxiNode_t *rootCNP,
+                              Boolean *dmDoUnmountEventP, void **sgUidPP, 
+                              void **eventlistPP, void **sessLocPP, int vnoprc);
+#endif
+  IntRC (*gpfsNFSIget)(struct gpfsVfsData_t *privVfsP, struct cxiIGetArg_t *argP,
+                       UInt32 generation, void **vPP);
+  IntRC (*gpfsOpenNFS)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       int flags, struct MMFSVInfo *vinfoP, struct ext_cred_t *credP);
+  void (*gpfsGrace)(int on_off);
+#ifdef P_NFS4
+  IntRC (*gpfsGetOpenState)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                            int nodeId, void *p, int len, struct ext_cred_t *credP);
+  IntRC (*gpfsLayoutRetrun)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                            void *p, int len);
+  IntRC (*gpfsGetDeviceInfo)(struct gpfsVfsData_t *privVfsP, void *p);
+  IntRC (*gpfsGetLayout)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                         void *buf, struct ext_cred_t *credP);
+  IntRC (*gpfsGetDeviceList)(struct gpfsVfsData_t *privVfsP, void *buf);
+  int (*gpfsGetMyDevID)(struct gpfsVfsData_t *privVfsP);
+  void (*gpfsGetVerifier)(struct gpfsVfsData_t *privVfsP, UInt32 *p);
+#endif
+#ifdef GPFS_QUOTACTL
+  IntRC (*gpfsQuotactl)(struct gpfsVfsData_t *privVfsP, 
+                        int cmd, int qid, void *bufferP, 
+                        struct ext_cred_t *credP);
+#endif /* GPFS_QUOTACTL */
+};
+extern struct gpfs_operations gpfs_ops;
+
+#endif  /* _KERNEL */
+
+#endif  /* _h_cxi2gpfs */
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiAclUser.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiAclUser.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiAclUser.h	(revision 16)
@@ -0,0 +1,534 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+#ifndef _h_cxiAclUser
+#define _h_cxiAclUser
+/* @(#)02       1.21  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiAclUser.h, mmfs, avs_rgpfs24, rgpfs240610b 10/10/05 15:44:03 */
+/****************************************************************************
+ *
+ * Acl User data
+ *
+ * Contains Tiger Shark Access Control List definitions.
+ * Some of the definitions in this file are exportable data items,
+ * if POSIX compliance is claimed.
+ *
+ ***************************************************************************/
+
+#include <cxiCred.h>
+
+/* An ACL entry's permission set is defined as a set of 8 bits.
+   Bits seven and eight are currently unused.
+   Bits six, five, and four are delete, insert, and control access.
+   Bits three, two, and one are read, write, and execute/search access.
+   If any of these bits are set, the corresponding access is granted.
+   Otherwise, access is denied.
+   Note: This data type is non-exportable data. */
+typedef unsigned char acl_permset_t;
+
+/* This data type is used to distinguish different types of ACLs.
+   Note: This data type is exportable data. */
+typedef unsigned char  internal_acl_type_t;
+#define ACL_TYPE_ACCESS            1
+#define ACL_TYPE_DEFAULT           2
+
+#ifdef NFS4_ACL_TEST
+// For testing NFS4 ACLS only
+#define ACL_TYPE_NFS4_ACL_TEST   250
+#define ACL_TYPE_NFS4_ACL_TEST_SIZE 14
+#endif /* NFS4_ACL_TEST */
+
+// The following are for internal use only
+#define ACL_TYPE_NFS4            251 /* an NFSv4 ACL */
+#define ACL_TYPE_ACCESS_DELETE   252
+#define ACL_TYPE_DEFAULT_DELETE  253
+#define EXTENDED_ACCESS_ONLY     254
+#define INTERNAL_FORMAT          255
+
+/* acl_permset_t bits
+ */
+#define ACL_PERM_EXECUTE  001
+#define ACL_PERM_WRITE    002
+#define ACL_PERM_READ     004
+#define ACL_PERM_CONTROL  010
+#define ACL_PERM_INSERT   020   /* Version 2 ACL permission only     */
+#define ACL_PERM_DELETE   040   /* Version 2 ACL permission only     */
+
+#define ACL_PERM_LOOKUP(credP) ACL_PERM_EXECUTE
+#define ACL_PERM_MASK     077   /* Mask includes all permissions     */
+
+#define ACL_PERM_UMODE    007   /* Mask includes only UNIX mode bits */
+
+/* VNOP extended access modes that can be checked (gpfs_v_access()).
+ */
+#define C_ACC   ACL_PERM_CONTROL
+#define I_ACC   ACL_PERM_INSERT
+#define D_ACC   ACL_PERM_DELETE
+
+/* An ACL entry's tag type is defined as a one byte value.
+   It is used to distinguish different types of ACL entries.
+   Note: This data type is exportable data. */
+typedef unsigned char  acl_tag_t;
+#define ACL_USER_OBJ        1   /* aceShort ACL entry */
+#define ACL_GROUP_OBJ       2   /* aceShort ACL entry */
+#define ACL_OTHER           3   /* aceShort ACL entry */
+#define ACL_MASK            4   /* aceShort ACL entry */
+#define ACL_USER            5   /* aceShort ACL entry */
+#define ACL_GROUP           6   /* aceShort ACL entry */
+#define ACL_FOREIGN_OTHER   7   /* Version 2 ACL entry type (use aceLong)  */
+#define ACL_ANY_OTHER       8   /* Version 2 ACL entry type (use aceShort) */
+#define ACL_FOREIGN_USER    9   /* Version 2 ACL entry type (use aceLong)  */
+#define ACL_FOREIGN_GROUP  10   /* Version 2 ACL entry type (use aceLong)  */
+#define ACL_UDEFINED_TAG  255
+
+struct acenodce
+ {
+  char        aceComments[1];  /* Short ACL entry                  */
+ };
+struct acedce
+ {
+  ext_id_t    aceRealm;        /* DCE cell specification           */
+  char        aceComments[1];  /* Version 2 ACL foreign ACL entry  */
+ };
+
+/* An ACL entry consists of a fixed part - ACL entry length, permission set,
+   entry tag type, entry qualifier (uid or gid), and followed by an optional
+   character string.
+   Note: This data type is non-exportable data. */
+typedef struct
+{
+  UInt16          aceLength;
+  acl_permset_t   acePermissions;
+  acl_tag_t       aceTagType;
+  cxiUid_t        aceQualifier;
+  union
+  {
+    struct acenodce  aceShort;
+    struct acedce aceLong;
+  };
+} acl_entry_t;
+
+#define SHORT_ACE_SIZE PTR_TO_INT32(&(((acl_entry_t *) 0)->aceShort.aceComments[0]))
+#define LONG_ACE_SIZE  PTR_TO_INT32(&(((acl_entry_t *) 0)->aceLong.aceComments[0]))
+
+struct aclv1
+{
+  acl_entry_t   aclEntry[1];
+};
+
+struct aclv2
+{
+  UInt32    aclFlags;
+
+#define ACLV2_RESERVED_MASK   0xfe000000
+#define ACLV2_ACLEXTMODE_MASK 0x01ff0000
+#define ACLV2_UNUSED_MASK     0x0000ffff
+#define ACLV2_ACLEXTMODE_GET(flags) (((flags) & ACLV2_ACLEXTMODE_MASK) >> 16)
+#define ACLV2_ACLEXTMODE_PUT(flags, mode) \
+  (flags = ((flags) & ~ACLV2_ACLEXTMODE_MASK) | ((mode) << 16))
+
+  UInt16        aclOtherAceCnt;    // number of any_other & foreign_other
+  ext_id_t      defaultRealm;      // Default ACL cell
+  acl_entry_t   aclEntry[1];       // zero or more ACL entries
+};
+
+/* NFSv4 ACL structures:
+ * Internally, GPFS stores all ACLs in its "ACL" structure which includes a
+ * variable-length area where aclVersion-specific information is stored.
+ * For NFSv4 ACLs, this variable area contains a list of acl4_entry_t structures.
+ * The following types and defines are used in the acl4_entry_t structure.
+ */
+
+/* Allowing for the NFSv4 ACE to be variable length. */
+typedef UInt16 ace4_length_t; /* Length of an individual ACE */
+
+typedef UInt16 ace4_type_t; /* The type of mask in the ACE */
+/* See gpfs.h for defintions for this field.
+   The following are not yet supported but in code under ifdef */
+#define ACE4_TYPE_AUDIT 2
+#define ACE4_TYPE_ALARM 3
+
+typedef unsigned int ace4_flag_t;
+/* See gpfs.h for defintions for this field.
+   The following ACE FLAG values are not externalized. */
+#define ACE4_FLAG_NO_PROPAGATE    0x00000004
+#define ACE4_FLAG_SUCCESSFUL      0x00000010
+#define ACE4_FLAG_FAILED          0x00000020
+#define ACE4_FLAG_EXTERNAL        0x0000004B
+
+/* The following ACE IFLAG values are not externalized. */
+#define ACE4_IFLAG_EXCLUDE_FILES  0x40000000
+#define ACE4_IFLAG_EXCLUDE_DIRS   0x20000000
+#define ACE4_IFLAG_EXTERNAL       0x80000000
+
+
+/* Variations to permit/deny/audit/alarm. */
+typedef unsigned int ace4_mask_t; 
+/* See gpfs.h for defintions for this field. */
+
+/* NFSv4 "who" strings are translated by nfsd4 to locally-defined ids.
+ * These can be a uid, a gid (if ACE4_FLAG_GROUP_ID is specified), or one 
+ * of the "special identifiers" (if ACE4_IFLAG_SPECIAL_ID is specified).
+ */
+typedef cxiUid_t ace4_who_t;
+/* See gpfs.h for SPECIAL_ID defintions for this field.
+   The following ACE special who values are not supported (AIX does not
+   provide the required information in the cred. */
+#define ACE4_SPECIAL_INTERACTIVE        4
+#define ACE4_SPECIAL_NETWORK            5
+#define ACE4_SPECIAL_DIALUP             6
+#define ACE4_SPECIAL_BATCH              7
+#define ACE4_SPECIAL_ANONYMOUS          8
+#define ACE4_SPECIAL_AUTHENTICATED      9
+#define ACE4_SPECIAL_SERVICE           10
+
+/* ACEs can be chained together (for speed of processing reasons) by
+ * including the offset to the next ACE in the chain. */
+typedef Int32 ace4_link_t;
+
+
+
+#ifdef NFS4_ACL_DEBUG
+#define ACE4_IFLAG_USER_OBJ       0x10000000
+#define ACE4_IFLAG_GROUP_OBJ      0x08000000
+#define ACE4_IFLAG_OTHER          0x04000000
+#define ACE4_IFLAG_MASK           0x02000000
+#define ACE4_IFLAG_USER           0x01000000
+#define ACE4_IFLAG_GROUP          0x00800000
+#else
+#define ACE4_IFLAG_USER_OBJ       0x00000000
+#define ACE4_IFLAG_GROUP_OBJ      0x00000000
+#define ACE4_IFLAG_OTHER          0x00000000
+#define ACE4_IFLAG_MASK           0x00000000
+#define ACE4_IFLAG_USER           0x00000000
+#define ACE4_IFLAG_GROUP          0x00000000
+#endif /* NFS4_ACL_DEBUG */
+
+/* These are the supported iherit flags.  aceFlags can be OR'ed against
+ * this combination to see if any of the inherit flags are specified.
+ */
+#define ACE4_FLAG_INHERIT (ACE4_FLAG_FILE_INHERIT | ACE4_FLAG_DIR_INHERIT |\
+                           ACE4_FLAG_INHERIT_ONLY)
+
+#define ACE4_SUPPORTED_FLAGS (ACE4_FLAG_INHERIT | ACE4_FLAG_GROUP_ID |\
+                              ACE4_FLAG_SUCCESSFUL | ACE4_FLAG_FAILED)
+
+/* Other IFlags are internal-only */
+#ifdef NFS4_ACL_DEBUG
+#define ACE4_SUPPORTED_IFLAGS (ACE4_IFLAG_SPECIAL_ID | ACE4_IFLAG_EXCLUDE_FILES |\
+                               ACE4_IFLAG_EXCLUDE_DIRS | ACE4_IFLAG_USER_OBJ |\
+                               ACE4_IFLAG_GROUP_OBJ | ACE4_IFLAG_OTHER |\
+                               ACE4_IFLAG_MASK | ACE4_IFLAG_USER |\
+                               ACE4_IFLAG_GROUP)
+#else
+#define ACE4_SUPPORTED_IFLAGS (ACE4_IFLAG_SPECIAL_ID | ACE4_IFLAG_EXCLUDE_FILES |\
+                               ACE4_IFLAG_EXCLUDE_DIRS)
+#endif
+
+
+/* GPFS commonly used mask combinations */
+/* READ/WRITE of NAMED ATTRIBUTES are not covered yet */
+#define ACE4_POSIX_READ        (ACE4_MASK_READ)
+#define ACE4_POSIX_WRITE       (ACE4_MASK_WRITE | ACE4_MASK_APPEND)
+#define ACE4_POSIX_EXECUTE     (ACE4_MASK_EXECUTE)
+#define ACE4_POSIX_CONTROL     (ACE4_MASK_WRITE_ACL)
+#define ACE4_POSIX_READ_DIR    (ACE4_MASK_LIST_DIR)
+#define ACE4_POSIX_WRITE_DIR   (ACE4_MASK_ADD_FILE | ACE4_MASK_ADD_SUBDIR |\
+                                ACE4_MASK_DELETE_CHILD)
+#define ACE4_POSIX_EXECUTE_DIR (ACE4_MASK_SEARCH)
+#define ACE4_POSIX_CONTROL_DIR (ACE4_MASK_WRITE_ACL)
+#define ACE4_POSIX_OWNER       (ACE4_MASK_WRITE_ACL | ACE4_MASK_WRITE_ATTR)
+#define ACE4_POSIX_EVERYONE    (ACE4_MASK_READ_ACL | ACE4_MASK_SYNCHRONIZE)
+
+/* Some mask values are represented in posix by permissions on the parent. */
+#define ACE4_POSIX_PARENT      (ACE4_MASK_DELETE | ACE4_MASK_READ_ATTR)
+
+/* Convenience macros for testing the NFSv4 flags, masks, and special who values.
+ * Note that these macros are bilingual.  If a local-endian ACL is available, an
+ * ACEP can be provided.  Reading of an ACL directly from the disk buffer is also
+ * possible given the AclLocalEndian (ALE) object.  While most use of the ACL 
+ * (such as iaccess checks) is done via the ALE, user read/write of the ACL is
+ * done via the AclLocalEndian::exportAcl method with subsequent interpretation
+ * of the ACL then done using the byteSwapped ACL.
+ */
+
+#define USE_ALE ((acl4_entry_t *)NULL)    /* Dummy ACEP */
+
+#define getV4Who(ACEP,ALE)    (ACEP)? ((ACEP)->aceWho)   : ((ALE).aceWho())
+#define getV4Type(ACEP,ALE)   (ACEP)? ((ACEP)->aceType)  : ((ALE).aceType())
+#define getV4Flags(ACEP,ALE)  (ACEP)? ((ACEP)->aceFlags) : ((ALE).aceFlags())
+#define getV4IFlags(ACEP,ALE) (ACEP)? ((ACEP)->aceIFlags): ((ALE).aceIFlags())
+#define getV4Mask(ACEP,ALE)   (ACEP)? ((ACEP)->aceMask)  : ((ALE).aceMask())
+
+#define isV4Bit(WORD, BIT)      (0 != ((WORD) & (BIT)))
+#define isV4AllBits(WORD, BITS) (BITS == ((WORD) & (BITS)))
+
+#define isV4Type(ACEP, ALE, VALUE) ((getV4Type(ACEP, ALE)) == (VALUE))
+#define isV4Who(ACEP, ALE, VALUE)  ((getV4Who(ACEP, ALE)) == (VALUE))
+
+#define isV4Allow(ACEP,ALE)        isV4Type(ACEP, ALE, ACE4_TYPE_ALLOW)
+#define isV4Deny(ACEP,ALE)         isV4Type(ACEP, ALE, ACE4_TYPE_DENY)
+#define isV4Audit(ACEP,ALE)        isV4Type(ACEP, ALE, ACE4_TYPE_AUDIT)
+#define isV4Alarm(ACEP,ALE)        isV4Type(ACEP, ALE, ACE4_TYPE_ALARM)
+
+#define isV4FileInherit(ACEP,ALE)  isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_FILE_INHERIT)
+#define isV4DirInherit(ACEP,ALE)   isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_DIR_INHERIT)
+#define isV4NoPropagate(ACEP,ALE)  isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_NO_PROPAGATE)
+#define isV4InheritOnly(ACEP,ALE)  isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_INHERIT_ONLY)
+#define isV4AuditSuccess(ACEP,ALE) isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_SUCCESSFUL)
+#define isV4AuditFailure(ACEP,ALE) isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_FAILED)
+#define isV4GroupId(ACEP,ALE)      isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_GROUP_ID)
+#define isV4Inherit(ACEP,ALE)      isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_INHERIT)
+
+#define isV4SpecialId(ACEP,ALE)    isV4Bit(getV4IFlags(ACEP,ALE),ACE4_IFLAG_SPECIAL_ID)
+#define isV4FileApplicable(ACEP, ALE) \
+        (!isV4Bit(getV4IFlags(ACEP,ALE),ACE4_IFLAG_EXCLUDE_FILES))
+#define isV4DirApplicable(ACEP, ALE)  \
+        (!isV4Bit(getV4IFlags(ACEP,ALE),ACE4_IFLAG_EXCLUDE_DIRS))
+
+/* Inherit entries may have originally been identified as FILE_INHERIT or
+ * DIR_INHERIT.  When such an ACL becomes a default, the entries become
+ * applicable to the object in addition to being inherittable.  Such entries
+ * may then need to be marked as not being applicable for files or dirs.
+ * When returning such an ACL, non-applicable entries are removed (they are
+ * here only so there can be a single, common, default ACL).
+ *
+ * The ACE is applicable if
+ * 1) The object is a directory and the entry is either directly applicable
+ *    to directories, OR it is inherittable by files.
+ * 2) The object is a file and the entry is directly applicable to files AND
+ *    it is not an InheritOnly entry.
+ */
+
+#define isV4Applicable(ACEP, ALE, ISDIR) \
+        (( ISDIR && (isV4DirApplicable(ACEP,ALE) || isV4FileInherit(ACEP,ALE))) || \
+         (!ISDIR && (isV4FileApplicable(ACEP,ALE) && !isV4InheritOnly(ACEP,ALE))))
+
+#define isV4Read(ACEP,ALE)        isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_READ)
+#define isV4List(ACEP,ALE)        isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_LIST_DIR)
+#define isV4Write(ACEP,ALE)       isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE)
+#define isV4AddFile(ACEP,ALE)     isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_ADD_FILE)
+#define isV4Append(ACEP,ALE)      isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_APPEND)
+#define isV4AddSubdir(ACEP,ALE)   isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_ADD_SUBDIR)
+#define isV4ReadNamed(ACEP,ALE)   isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_READ_NAMED)
+#define isV4WriteNamed(ACEP,ALE)  isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE_NAMED)
+#define isV4Execute(ACEP,ALE)     isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_EXECUTE)
+#define isV4Search(ACEP,ALE)      isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_SEARCH)
+#define isV4DeleteChild(ACEP,ALE) isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_DELETE_CHILD)
+#define isV4ReadAttr(ACEP,ALE)    isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_READ_ATTR)
+#define isV4WriteAttr(ACEP,ALE)   isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE_ATTR)
+#define isV4Delete(ACEP,ALE)      isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_DELETE)
+#define isV4ReadAcl(ACEP,ALE)     isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_READ_ACL)
+#define isV4WriteAcl(ACEP,ALE)    isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE_ACL)
+#define isV4WriteOwner(ACEP,ALE)  isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE_OWNER)
+#define isV4Synchronize(ACEP,ALE) isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_SYNCHRONIZE)
+
+#define isV4Owner(ACEP,ALE)       isV4Who(ACEP,ALE,ACE4_SPECIAL_OWNER)
+#define isV4Group(ACEP,ALE)       isV4Who(ACEP,ALE,ACE4_SPECIAL_GROUP)
+#define isV4Everyone(ACEP,ALE)    isV4Who(ACEP,ALE,ACE4_SPECIAL_EVERYONE)
+#define isV4Interactive(ACEP,ALE) isV4Who(ACEP,ALE,ACE4_SPECIAL_INTERACTIVE)
+#define isV4Network(ACEP,ALE)     isV4Who(ACEP,ALE,ACE4_SPECIAL_NETWORK)
+#define isV4Dialup(ACEP,ALE)      isV4Who(ACEP,ALE,ACE4_SPECIAL_DIALUP)
+#define isV4Batch(ACEP,ALE)       isV4Who(ACEP,ALE,ACE4_SPECIAL_BATCH)
+#define isV4Anonymous(ACEP,ALE)   isV4Who(ACEP,ALE,ACE4_SPECIAL_ANONYMOUS)
+#define isV4Authentic(ACEP,ALE)   isV4Who(ACEP,ALE,ACE4_SPECIAL_AUTHENTICATED)
+#define isV4Service(ACEP,ALE)     isV4Who(ACEP,ALE,ACE4_SPECIAL_SERVICE)
+
+/* Flag values for gpfs_getacl/NFSv4_getMode */
+#define GETACL_NFSV4          0x00000001
+#define GETACL_POSIX          0x00000002
+#define GETACL_NATIVE         0x00000004
+#define GETACL_OWNER_IN_GROUP 0x00000008
+#define GETACL_DONOT_BLD_ACL  0x00000010
+
+/* The non-opaque/external ACL struct should be used in the
+ * gpfs_getacl and gpfs_putacl calls.  While these are defined
+ * in gpfs.h along with the interfaces, we are reserving the
+ * bits here as well in this list of internal-only flags just
+ * to make sure they don't get reused.
+ */
+#define GETACL_STRUCT_RESERVED 0X00000020
+#define PUTACL_STRUCT_RESERVED 0X00000020
+
+typedef struct
+{
+  ace4_length_t   aceLength;
+  ace4_type_t     aceType;   /* allow, deny, audit, alarm */
+  ace4_flag_t     aceFlags;  /* V4 flags */
+  ace4_flag_t     aceIFlags; /* Internal (GPFS flags) */
+  ace4_mask_t     aceMask;   /* extended "mode" bits */
+  ace4_who_t      aceWho;    /* uid, gid, or special identifier */
+  ace4_link_t     aceNextAA; /* Next Audit or Alarm ACE */
+} acl4_entry_t;
+
+struct aclv4
+{
+  Int32         aceCount;          // Total number of ACEs
+  ace4_link_t   aaListOffset;      // Offset to first Audit/Alarm ACE
+  acl4_entry_t  aclEntry[1];       // zero or more ACL entries
+};
+
+
+/* An ACL consists of header information (length, type, etc.).
+   followed by at least three, but may be more, ACL entries.
+   The three required entries must be ACL_USER_OBJ, ACL_GROUP_OBJ,
+   and ACL_OTHER. The first four bytes of the ACL header must always
+   be the length of the entire ACL.
+   Note: This data type is non-exportable data. */
+typedef struct
+{
+  UInt32            aclLength;          // total length (hdr + acl entries)
+  UInt16            aclVersion;         // version number
+  internal_acl_type_t aclType;          // type of ACL: default or access
+ 
+  /* NT format ACLs (aclVersion == ACL_NT_VERSION) are opaque strings
+   * starting here (&aclBuf[0]).  The version-unique portions of the other
+   * ACL versions are at the end of this struct (v1 and v2 below).
+   */
+  union
+  {
+    char            aclBuf[1];          // Opaque NT ACL used by NSS
+    acl_permset_t   aclMask;            // ACL_MASK entry
+    acl_permset_t   aclGroupObj;        // ACL_GROUP_OBJ entry
+  };
+  cxiMode_t         aclMode;            // file mode (at acl create time)
+  UInt32            aclUserAceCnt;      // number of ACL_USER entries
+  UInt32            aclGroupAceCnt;     // number of ACL_GROUP entries
+  UInt32            aclFlags;
+
+#define ACL_NEW_MODE_ATTR_BIT 0x00000001 // if set, replace the current mode
+#define ACL_GROUP_CONTROL_BIT 0x00000002 // ACL_GROUP_OBJ control bit
+#define ACL_OTHER_CONTROL_BIT 0x00000004 // ACL_OTHER     control bit
+#define ACL_MASK_CONTROL_BIT  0X00000008 // ACL_MASK      control bit
+#define RESERVED_MASK         0xfffffff0 // guaranteed to be zero
+
+  union
+  {
+    struct aclv1  v1;
+    struct aclv2  v2;
+#ifdef NFS4_ACL
+    struct aclv4  v4;
+#endif /* NFS4_ACL */
+  };
+} ACL;
+
+/* The following is used as a pointer to an ACL in working storage.
+   Note: This data type is non-exportable data. */
+typedef ACL *acl_t;
+
+#define ACL_HEADER_SIZE_V1   PTR_TO_INT32(&(((acl_t) 0)->v1.aclEntry[0]))
+#define ACL_HEADER_SIZE_V2   PTR_TO_INT32(&(((acl_t) 0)->v2.aclEntry[0]))
+
+#ifdef NFS4_ACL
+/* Offset to gpfs_ace4_t structs in the NFSv4 ACL we externalize */
+#define ACL_EXT_HEADER_SIZE_V4 PTR_TO_INT32(&(((acl_t) 0)->aclBuf[0])) 
+
+/* Offset to acl4_entry_t structs in our internal ACL format. */
+#define ACL_HEADER_SIZE_V4 PTR_TO_INT32(&(((acl_t) 0)->v4.aclEntry[0]))
+
+/* Next ACE in an NFSv4 ACL (internal, local-endian format only) */
+#define ACL4_ENTRY_NEXT(ACEP) (acl4_entry_t *)((caddr_t)ACEP + ACEP->aceLength) 
+
+#define ACL_ENTRY_START(ACLP,VER) \
+          (acl_entry_t *)((VER == GPFS_ACL_VERSION_NFS4) ? \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V4 :  \
+                         ((VER == ACL_FIRST_VERSION) ? \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V1 :  \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V2));
+#else
+#define ACL_ENTRY_START(ACLP,VER) \
+          (acl_entry_t *)((VER == ACL_FIRST_VERSION) ? \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V1 :  \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V2);
+#endif /* NFS4_ACL */
+
+/* Upper bound on the size of a base acl (header + 4 entries for base
+   permissions and mask).  The correct value would be
+     ACL_HEADER_SIZE + 4*SHORT_ACE_SIZE
+   However, ACL_BASE_SIZE_MAX needs to be a compile-time constant, because
+   it is used to declare a char array on the stack as temporary buffer for
+   assembling a base acl.  Unfortunately, the compiler does not accept the
+   offset calculations in the ACL_HEADER_SIZE and SHORT_ACE_SIZE macros as
+   constants.  The definition below slightly over-estimates the base acl size,
+   but is sufficient for our purpose, since we only need an upper bound. */
+#define ACL_BASE_SIZE_MAX (sizeof(ACL) + 3*sizeof(acl_entry_t))
+
+/* acl format versions */
+#define ACL_FIRST_VERSION     1
+#define ACL_SECOND_VERSION    2
+
+#ifdef NFS4_ACL
+#define ACL_VERSION           4
+#else
+#define ACL_VERSION           2
+#endif /* NFS4_ACL */
+
+#ifdef NFS4_ACL
+#define GPFS_ACL_VERSION_NFS4 4
+#endif /* NFS4_ACL */
+
+#define DEFAULT_ACLMASK_V2    077       // rwxcid
+#define DEFAULT_ACLMASK_V1    017       // rwxc
+
+#define ACLMASK(_VERSION) \
+          (((_VERSION) == ACL_FIRST_VERSION) ? DEFAULT_ACLMASK_V1 :  \
+                                               DEFAULT_ACLMASK_V2);
+#define MASK_SET           0x80
+
+/* Mapping for the index tables used by the verifyTSAcl routine.
+   Note: This data type is non-exportable data. */
+typedef struct
+{
+  acl_entry_t     *aceP;
+  cxiUid_t         key;
+  ext_id_t         extKey; /* cell */
+  caddr_t          nxt;
+} aceIndxTable_t;
+
+/* Macro to test whether the ACL_MASK is explicitly set */
+#define ACLMASK_SET(_aclMask) (((_aclMask) & MASK_SET) != 0)
+
+#define REM_STAT_REMOTE_FS 1
+
+typedef struct
+{
+  UInt32 flags;
+  UInt32 sgUIDHigh;
+  UInt32 sgUIDLow;
+  UInt32 inum;
+  UInt32 mode;
+  UInt32 uid;
+  UInt32 gid;
+} rem_stat_t;
+  
+
+#endif /* _h_cxiAclUser */
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiAtomic.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiAtomic.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiAtomic.h	(revision 16)
@@ -0,0 +1,104 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)97	1.6  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiAtomic.h, mmfs, avs_rgpfs24, rgpfs240610b 7/28/05 22:51:53 */
+
+/*
+ * Support for platform independant SMP synchronization operations
+ *
+ */
+
+#ifndef _h_cxiAtomic
+#define _h_cxiAtomic
+
+/* Include platform specific interfaces */
+#include <cxiAtomic-plat.h>
+
+/* Platform independant interface */
+
+/* 32-bit invariant atomic operations */
+#define ATOMIC_ADD(_v,_i) fetch_and_add((atomic_p)(_v), (int)(_i))
+#define ATOMIC_AND(_v,_i) fetch_and_and((atomic_p)(_v), (uint)(_i))
+#define ATOMIC_OR(_v,_i) fetch_and_or((atomic_p)(_v), (uint)(_i))
+#define ATOMIC_SWAP(_v, _p, _i) compare_and_swap((atomic_p)(_v), (int *)(_p), (int)(_i))
+#ifdef _KERNEL
+#define ATOMIC_SET(_v,_i) test_and_set((atomic_p)(_v), (int)(_i))
+#endif /* _KERNEL */
+
+/* 32-bit invariant macros with "no addresses" required for args */
+#define ATOMIC_ADD_NA(_v, _i) fetch_and_add((atomic_p)&(_v), (int)(_i))
+
+/* Variable size atomic operations (32/64-bit) */
+/* These should be used with longs and pointers, ie, the natural word width */
+#ifdef __64BIT__
+#define ATOMIC_ADDLP(_v,_i) fetch_and_addlp((atomic_l)(_v), (long)(_i))
+#define ATOMIC_ANDLP(_v,_i) fetch_and_andlp((atomic_l)(_v), (ulong)(_i))
+#define ATOMIC_ORLP(_v,_i) fetch_and_orlp((atomic_l)(_v), (ulong)(_i))
+#define ATOMIC_SWAPLP(_v, _p, _i) compare_and_swaplp((atomic_l)(_v), (long *)(_p), (long)(_i))
+#ifdef _KERNEL
+#define ATOMIC_SETLP(_v,_i) test_and_setlp((atomic_l)(_v), (long)(_i))
+#endif /* _KERNEL */
+#else /* _ILP32 */
+#define ATOMIC_ADDLP(_v,_i) ATOMIC_ADD(_v, _i)
+#define ATOMIC_ANDLP(_v,_i) ATOMIC_AND(_v, _i)
+#define ATOMIC_ORLP(_v,_i) ATOMIC_OR(_v, _i)
+#define ATOMIC_SWAPLP(_v, _p, _i) ATOMIC_SWAP(_v, _p, _i)
+#ifdef _KERNEL
+#define ATOMIC_SETLP(_v,_i) ATOMIC_SET(_v, _i)
+#endif
+#endif /* __64BIT__ */
+
+/* 64-bit invariant atomic operations */
+#ifdef __64BIT__
+#define ATOMIC_ADD64(_v,_i) ATOMIC_ADDLP(_v, _i)
+#define ATOMIC_AND64(_v,_i) ATOMIC_ANDLP(_v,_i)
+#define ATOMIC_OR64(_v,_i) ATOMIC_ORLP(_v,_i)
+#define ATOMIC_SWAP64(_v, _p, _i) ATOMIC_SWAPLP(_v, _p, _i)
+#ifdef _KERNEL
+#define ATOMIC_SET64(_v,_i) ATOMIC_SETLP(_v, _i) 
+#endif /* _KERNEL */
+#endif /* __64BIT__ */
+
+/* Mutex lockword operations */
+#ifdef __64BIT__
+#define GPFS_CHECK_LOCK(_v, _i1, _i2) _check_locklp((atomic_l)(_v), (long)(_i1), (long)(_i2))
+#define LOCKWORD_SWAP  ATOMIC_SWAP64
+#define LOCKWORD_OR    ATOMIC_OR64
+#define LOCKWORD_AND   ATOMIC_AND64
+#else
+#define GPFS_CHECK_LOCK(_v, _i1, _i2) _check_lock((atomic_p)(_v), (int)(_i1), (int)(_i2))
+#define LOCKWORD_SWAP  ATOMIC_SWAP
+#define LOCKWORD_OR    ATOMIC_OR
+#define LOCKWORD_AND   ATOMIC_AND
+#endif /* 64b */
+
+#endif /* _h_cxiAtomic */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiCred.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiCred.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiCred.h	(revision 16)
@@ -0,0 +1,115 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)38       1.10  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiCred.h, mmfs, avs_rgpfs24, rgpfs240610b 11/10/03 08:36:38 */
+
+#ifndef _h_CXICRED
+#define _h_CXICRED
+
+#include <cxiSystem.h>
+#include <cxiTypes.h>
+
+/* Structures dealing with ext_id_t and ext_cred_t
+ * Equivalent to DCE uuid_t
+ */
+struct ext_id_t
+{
+  unsigned int            time_low;
+  unsigned short          time_mid;
+  unsigned short          time_hi_and_version;
+  unsigned char           clock_seq_hi_and_reserved;
+  unsigned char           clock_seq_low;
+  unsigned char           node[6];
+};
+typedef struct ext_id_t ext_id_t;
+
+
+/* Include platform-specific credential definitions */
+#include <cxiCred-plat.h>
+
+
+/* Compare a UUID to our (shortened) principal identifier
+ */
+#define PRINCIPAL_ID_COMPARE(idBlob1P, idBlob2P) \
+  (cxiMemcmp((char *)(idBlob1P), (char *)(idBlob2P), sizeof(cxiGid_t)))
+
+/* Compare as full length (128 bit) identifiers
+ */
+#define EXT_ID_COMPARE(idBlob1P, idBlob2P) \
+  (cxiMemcmp((char *)(idBlob1P), (char *)(idBlob2P), sizeof(ext_id_t)))
+
+
+/* We often compare the realm against a NIL identifier since
+ * the local realm has the well known identity of NIL.  We need
+ * a well known identity since a file may be accessed from a DFS
+ * client and a GPFS node.  The DFS server node can correctly
+ * tell us what a local realm identity is, but a normal GPFS
+ * node has no idea how to interpret a 128 bit DCE realm.  Hence
+ * we always store local realms as the well known NIL identity.
+ */
+#define NIL_EXT_ID(_IDP) \
+  ((_IDP)->time_low == 0 && \
+   (_IDP)->time_mid == 0 && \
+   (_IDP)->time_hi_and_version == 0 && \
+   (_IDP)->clock_seq_hi_and_reserved == 0 && \
+   (_IDP)->clock_seq_low == 0 && \
+   (_IDP)->node[0] == 0 && \
+   (_IDP)->node[1] == 0 && \
+   (_IDP)->node[2] == 0 && \
+   (_IDP)->node[3] == 0 && \
+   (_IDP)->node[4] == 0 && \
+   (_IDP)->node[5] == 0)
+
+/* Maximum character buffer size needed to represent a
+ * extended identifier as a string.  (See EXT_ID_SPRINTF)
+ */
+#define EXT_ID_STRING_SIZE 37
+
+#define EXT_ID_SPRINTF(_STRINGP, _IDP)                        \
+  sprintf((_STRINGP),                                         \
+          "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X", \
+          (unsigned int)(_IDP)->time_low,                     \
+          (unsigned short)(_IDP)->time_mid,                   \
+          (unsigned short)(_IDP)->time_hi_and_version,        \
+          (unsigned char)(_IDP)->clock_seq_hi_and_reserved,   \
+          (unsigned char)(_IDP)->clock_seq_low,               \
+          (unsigned char)(_IDP)->node[0],                     \
+          (unsigned char)(_IDP)->node[1],                     \
+          (unsigned char)(_IDP)->node[2],                     \
+          (unsigned char)(_IDP)->node[3],                     \
+          (unsigned char)(_IDP)->node[4],                     \
+          (unsigned char)(_IDP)->node[5]);
+
+/* prototypes */
+char *ext_id_as_string(ext_id_t *, char *);
+
+#endif /* _h_CXICRED */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiDmapi.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiDmapi.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiDmapi.h	(revision 16)
@@ -0,0 +1,35 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)14       1.2  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiDmapi.h, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:19:31 */
+
+#include <cxiDmapi-plat.h>
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiIOBuffer.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiIOBuffer.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiIOBuffer.h	(revision 16)
@@ -0,0 +1,391 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)12       1.27  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiIOBuffer.h, mmfs, avs_rgpfs24, rgpfs240610b 5/4/04 10:12:05 */
+/*
+ * Abstraction of an I/O buffer
+ *   struct cxiIOBuffer_t
+ *   InitIOBuffer
+ *   GetDaemonIOBufferEndAddr
+ *
+ * Support for buffers that are not contiguous in memory
+ *   struct cxiDiscontiguousDirectoryBuffer_t
+ *   InitDiscontiguousBuffer
+ *   OffsetToPtr
+ *   MapContiguousBuffer
+ */
+
+#ifndef _h_cxiIOBuffer
+#define _h_cxiIOBuffer
+
+#include <cxiTypes.h>
+/* Use logging definitions for non portability layer */
+#if !defined(GPFS_GPL)
+#include <Logger.h>
+#endif /* !GPFS_GPL */
+
+
+/* Abstraction of an I/O buffer.  I/O buffers are contiguous in virtual
+   memory from the point of view of the GPFS daemon.  The view of the buffer
+   from kernel code is platform-dependent.
+
+   The first operation that must be performed on an I/O buffer must be to
+   attach it to kernel memory.  Once this is done, the buffer may be
+   accessed indirectly by transferring data between it and buffers in user
+   or kernel space.  The buffer may also be mapped so that normal loads and
+   stores from the kernel may access the data in the buffer.  In general,
+   such a mapping will not be contiguous in the address space of the kernel,
+   so the code that accesses the contents of the buffer must be aware of
+   page boundaries.  Once all direct and indirect accesses to the buffer are
+   complete, it must be detached from kernel memory. */
+
+/* Forward declarations */
+
+/* Kernel data structure associated with an I/O buffer */
+struct cxiKernelIOBufferDesc_t;
+
+/* Result of making a read-only copy of a portion of an I/O buffer */
+struct cxiContiguousBuffer_t;
+
+/* Result of mapping a buffer too large to be mapped contiguously */
+struct cxiDiscontiguousDirectoryBuffer_t;
+
+/* Handle that describes a cxiIOBuffer_t that has been attached */
+struct cxiIOBufferAttachment_t;
+
+struct cxiIOBuffer_t;
+
+/* Include platform-specific definitions and possibly define
+ * __CXI_BUFFERS_ARE_CONTIGUOUS to affect the definition of
+ * cxiDiscontiguousDirectoryBuffer_t below. 
+ */
+#include <cxiIOBuffer-plat.h>
+
+#include <cxiLinkList.h>
+
+#define BUDDY_NONE  0
+#define BUDDY_FIRST 1
+#define BUDDY_LAST  255  /* unsigned char max */
+
+#ifndef __cplusplus
+/* forward declaration in C for Linux portability layer */
+typedef struct Buffer Buffer;
+typedef Buffer *BufferXPtr;
+#endif
+
+struct cxiMemoryDesc_t
+{
+  unsigned char  vindex;    /* index in shared seg memMapping array */
+  unsigned char  buddyNum;  /* buddies that can be rejoined share a number */
+  unsigned short klength;   /* length of area in kilobytes */
+  unsigned int   offset;    /* offset within the segment */
+
+  /* If C++ would allow me to make a union between inactive and bufP
+   * these could be coalesced to make the structure smaller.
+   * (something on the inactive list shouldn't have a buffer)
+   */
+  BufferXPtr bufP;          /* pointer to owning buffer */
+
+  /* list of descriptors on inactive list */
+  DLink_t inactive;       
+
+  /* circular doubly linked list of memory siblings */
+  DLink_t sibling;
+};
+
+typedef struct cxiMemoryDesc_t cxiMemoryDesc_t;
+
+#ifdef GPFS_GPL
+/* handle a few shared cxi structures (for swizzling) */
+typedef cxiMemoryDesc_t *cxiMemoryDesc_tXPtr;
+#endif
+
+static inline void 
+InitMemoryDesc(struct cxiMemoryDesc_t *mdP)
+{
+  mdP->vindex = 0;
+  mdP->buddyNum = BUDDY_NONE;
+  mdP->klength = 0;
+  mdP->offset = 0;
+  mdP->bufP = NULL;
+  DLinkInit(&mdP->inactive);
+  DLinkInit(&mdP->sibling);
+}
+
+/* I/O buffer description
+
+   On AIX, an I/O buffer in the virtual address space of the daemon must
+   be pinned before it can be used for I/O, and must be mapped before
+   accessing its contents.  On AIX, the kernel mapping will be contiguous,
+   although not necessarily at the same addresses as used by the daemon.
+
+   On Linux, an I/O buffer in the virtual address space of the daemon must
+   be pinned before it can be used for I/O, and must be mapped before
+   accessing its contents.  On Linux, pages of the buffer will in general
+   not be contiguous in kernel virtual memory.  The cxiK... routines
+   just call into the kernel (kx...), which then calls the corresponding
+   routines on cxiKernelIOBufferDesc_t's (Kibd...). */
+struct cxiIOBuffer_t
+{
+  /* Length of buffer in bytes */
+  int ioBufLen;
+
+  /* Number of users that are currently using this buffer and require it
+     to be pinned in memory.  A value of 0 means the buffer is not pinned. */
+  int pinCount;
+
+  /* Pointer to beginning of contiguous buffer in daemon virtual address
+     space */
+  char* daemonBufP;  
+
+  /* Pointer to kernel data structure associated with this I/O buffer */
+  struct cxiKernelIOBufferDesc_t* kernelIOBufferDescP;
+
+  /* A chain of possibly multiple memory descriptors */
+  cxiMemoryDesc_tXPtr descP;
+};
+
+static inline char *
+OffsetToDataPtr(const struct cxiIOBuffer_t *iobP, int offset, int length)
+{
+  return iobP->daemonBufP + offset;
+}
+
+/* Clear all fields of an cxiIOBuffer_t to default values */
+static inline void InitIOBuffer(struct cxiIOBuffer_t* iobP)
+{ 
+  iobP->ioBufLen = -1; 
+  iobP->pinCount = 0;
+  iobP->daemonBufP = NULL; 
+  iobP->kernelIOBufferDescP = NULL; 
+  iobP->descP = NULL;
+}
+
+/* Return true if the fields describing the IOBuffer are self-consistent. */
+static inline Boolean IOBufferIsConsistent(struct cxiIOBuffer_t* iobP)
+  { return IOBUFFER_IS_CONSISTENT(iobP); };
+
+/* Return the daemon address of the first byte beyond the end of the
+   I/O buffer */
+static inline char* GetDaemonIOBufferEndAddr(struct cxiIOBuffer_t* iobP)
+  { return iobP->daemonBufP + iobP->ioBufLen; };
+
+#if 0
+  /* Pin all the pages of a buffer.  If the buffer is already pinned, just
+     increment its pin count.  Returns EOK if successful, other error codes
+     if unsuccessful. */
+  int pin();
+
+  /* Decrement the pin count on the buffer.  If the count reaches zero,
+     unpin the pages of the buffer. */
+  void unpin();
+#endif
+
+/* Attach an I/O buffer to the kernel's virtual address space.  The
+   cxiIOBufferAttachment_t returned in *attachP must be used as a parameter
+   of most of the other operations on cxiIOBuffer_t's. */
+EXTERNC void cxiAttachIOBuffer(struct cxiIOBuffer_t* iobP,
+                               struct cxiIOBufferAttachment_t* attachP);
+
+/* Detach a buffer from the kernel's virtual address space. */
+EXTERNC void cxiDetachIOBuffer(struct cxiIOBuffer_t* iobP,
+                               struct cxiIOBufferAttachment_t* attachP);
+
+/* Transfer len bytes beginning at offset bufOffset within I/O buffer *iobP
+   to or from a user buffer.  The direction of the transfer is given with
+   respect to the I/O buffer.  Returns EOK if successful, other error
+   codes if unsuccessful. */
+EXTERNC int cxiUXfer(struct cxiIOBuffer_t* iobP, Boolean toIOBuffer,
+                     const struct cxiIOBufferAttachment_t* attachP,
+                     void* vkopP, int bufOffset, int len,
+                     struct cxiUio_t* uioP);
+#define CXI_XFER_TO_IOBUFFER true
+#define CXI_XFER_FROM_IOBUFFER false
+
+/* Perform cross-memory transfer of len bytes from user memory in current
+   task to memory in specified address space.  If toXmem is true then
+   copy is from userAddrP to udataP/xmemP, otherwise the opposite. */
+EXTERNC int cxiXmemXfer(char *userAddrP, int len, char *udataP,
+                        cxiXmem_t *xmemP, Boolean toXmem);
+
+/* Transfer len bytes beginning at offset bufOffset within I/O buffer *iobP
+   to or from a contiguous kernel buffer.  The direction of the transfer
+   is given with respect to the I/O buffer.  Returns EOK if successful,
+   other error codes if unsuccessful. */
+EXTERNC int cxiKXfer(struct cxiIOBuffer_t* iobP, Boolean toIOBuffer,
+                     const struct cxiIOBufferAttachment_t* attachP,
+                     int bufOffset, int len, char* kBufP);
+
+/* Set len bytes beginning at offset bufOffset within I/O buffer *iobP
+   to zero.  Returns EOK if successful, other error codes if unsuccessful. */
+EXTERNC int cxiKZero(struct cxiIOBuffer_t* iobP,
+                     const struct cxiIOBufferAttachment_t* attachP,
+                     int bufOffset, int len);
+
+/* Map an I/O buffer so it can be read and written from kernel code
+   running in the context of a user thread.  Depending on the platform,
+   the addresses at which the I/O buffer gets mapped may not be
+   contiguous.  The details of how the buffer got mapped are handled by
+   the cxiDiscontiguousDirectoryBuffer_t object that is filled in by this
+   call.  On some platforms, mapping buffers using this call consumes
+   scarce resources, so all cxiMapDiscontiguousRW calls should be promptly
+   matched by unmapDiscontiguousRW calls as soon as the operation that
+   required access to the I/O buffer completes.  Returns EOK if
+   successful, other error codes if unsuccessful. */
+EXTERNC int cxiMapDiscontiguousRW(struct cxiIOBuffer_t* iobP,
+                                  const struct cxiIOBufferAttachment_t* attachP,
+                                  struct cxiDiscontiguousDirectoryBuffer_t* discontigP);
+
+/* Unmap an I/O buffer previously mapped */
+EXTERNC void cxiUnmapDiscontiguousRW(struct cxiIOBuffer_t* iobP,
+                                     struct cxiDiscontiguousDirectoryBuffer_t* discontigP);
+
+/* Return an address in kernel memory that holds a contigous read-only
+   copy of a portion of an I/O buffer.  If possible, this will be a
+   mapping of the I/O buffer.  If necessary, this routine will allocate a
+   new block of kernel memory and copy the requested data to it.  The
+   returned cxiContiguousBuffer_t encapsulates what method was used, so
+   that unmapContiguousRO can release whatever resources were obtained by
+   this call.  Returns EOK if successful, other error codes if
+   unsuccessful. */
+EXTERNC int cxiMapContiguousRO(struct cxiIOBuffer_t* iobP,
+                               const struct cxiIOBufferAttachment_t* attachP,
+                               int bufOffset, int len,
+                               const char** contigBasePP,
+                               struct cxiContiguousBuffer_t* contigP);
+
+/* Release a mapping or copy obtained with cxiMapContiguousRO */
+EXTERNC void cxiUnmapContiguousRO(struct cxiIOBuffer_t* iobP,
+                                  struct cxiContiguousBuffer_t* contigP);
+
+
+/* Maximum size of a directory block.  Must be a multiple of PAGE_SIZE. */
+#define MAX_DIRBLOCK_SIZE (32*1024)
+
+
+/* The size of the cxiDiscontiguousDirectoryBuffer_t object may be different
+   depending on whether or not _KERNEL is defined, so do not define
+   cxiDiscontiguousDirectoryBuffer_t if this code will be compiled once and
+   used in both places. */
+#ifndef USED_IN_DAEMON_AND_KERNEL
+
+
+/* Page size controlling alignment and unit of relocation for discontiguous
+   buffers (must be equal to operating system page size) */
+#define DISCONTIG_PAGE_SIZE PAGE_SIZE
+
+/* Description of a buffer that is not necessarily contiguous in memory.
+   All buffers managed through this type must begin on page boundaries. */
+struct cxiDiscontiguousDirectoryBuffer_t
+{
+  /* Number of valid bytes in the buffer.  A value of -1 indicates that the
+     buffer is not mapped and should not be accessed. */
+  int mappedLen;
+
+#ifdef __CXI_BUFFERS_ARE_CONTIGUOUS
+  /* Pointer to the contiguous buffer */
+  char* dataP;
+#else
+  /* Number of paes in a maximum size directory block */
+#define MAX_PAGES_PER_DIRBLOCK (MAX_DIRBLOCK_SIZE/DISCONTIG_PAGE_SIZE)
+
+  /* Array of pointers to the pages that contain the buffer.  This array
+     contains the addresses at which the pages of the buffer can be accessed
+     by the thread that called cxiMapDiscontiguousRW. */
+  char* userPagePointerArray[MAX_PAGES_PER_DIRBLOCK];
+
+  /* Array of pointers to OS-specific data structures needed to unmap each
+     of the pages given by the array of pointers above. */
+  void* osPagePointerArray[MAX_PAGES_PER_DIRBLOCK];
+#endif  /* __CXI_BUFFERS_ARE_CONTIGUOUS */
+};
+
+
+/* Initialize a cxiDiscontiguousDirectoryBuffer_t */
+static inline void 
+InitDiscontiguousBuffer(struct cxiDiscontiguousDirectoryBuffer_t* ddbP)
+{
+  /* Indicate buffer is invalid */
+  ddbP->mappedLen = -1;
+};
+
+
+/* Convert an offset into a logical buffer into a pointer to the byte
+   at that offset.  The caller is assumed to know the length of the
+   object beginning at the returned pointer, and is not supposed to access
+   beyond the end of the page in which the pointer points */
+static inline char* 
+OffsetToPtr(const struct cxiDiscontiguousDirectoryBuffer_t* ddbP, int offset)
+{
+  char* pageStartP;
+
+  DBGASSERT(offset >= 0);
+  DBGASSERT(offset < ddbP->mappedLen);
+#ifdef __CXI_BUFFERS_ARE_CONTIGUOUS
+  return ddbP->dataP+offset;
+#else
+  pageStartP = ddbP->userPagePointerArray[offset/DISCONTIG_PAGE_SIZE];
+  return pageStartP + offset%DISCONTIG_PAGE_SIZE;
+#endif  /* __CXI_BUFFERS_ARE_CONTIGUOUS */
+};
+
+
+/* Given a contiguous buffer, set up a mapping as if it was discontiguous */
+static inline void 
+MapContiguousBuffer(char* bufP, int len,
+                    struct cxiDiscontiguousDirectoryBuffer_t* ddbP)
+{
+  int i;
+
+
+  ddbP->mappedLen = len;
+#ifdef __CXI_BUFFERS_ARE_CONTIGUOUS
+  ddbP->dataP = bufP;
+#else
+  /* Either we should start on a page boundary or our total buffer
+   * should fit within the same page.
+   */
+  DBGASSERT(((UIntPtr)bufP & (DISCONTIG_PAGE_SIZE-1)) == 0 ||
+            ((UIntPtr)bufP & ~(DISCONTIG_PAGE_SIZE-1)) ==
+            ((UIntPtr)(bufP + len - 1) & ~(DISCONTIG_PAGE_SIZE-1)));
+  DBGASSERT(len <= MAX_PAGES_PER_DIRBLOCK*DISCONTIG_PAGE_SIZE);
+  for (i=0 ; len>0 ; i++, bufP+=DISCONTIG_PAGE_SIZE, len-=DISCONTIG_PAGE_SIZE)
+  {
+    ddbP->userPagePointerArray[i] = bufP;
+    ddbP->osPagePointerArray[i] = NULL;
+  }
+#endif  /* __CXI_BUFFERS_ARE_CONTIGUOUS */
+};
+
+#endif  /* USED_IN_DAEMON_AND_KERNEL */
+
+#endif  /* _h_cxiIOBuffer */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiLinkList.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiLinkList.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiLinkList.h	(revision 16)
@@ -0,0 +1,239 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.9  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiLinkList.h, mmfs, avs_rgpfs24, rgpfs240610b 8/4/04 11:54:21 */
+
+#ifndef _h_CXILINKLIST
+#define _h_CXILINKLIST
+
+#include <cxiSystem.h>
+#include <cxiTypes.h>
+
+#ifdef __cplusplus
+
+/* A double linked list element class. */
+class DLink_t
+{
+public:
+  DLink_tSXPtr nextP;
+  DLink_tSXPtr prevP;
+
+  /* The head element of the list is initialized to point to itself,
+   * signifying no elements on the list.
+   */
+  inline void init()
+  {
+    nextP = this;
+    prevP = this;
+  }
+
+  DLink_t()
+  {
+    init();
+  }
+
+  /* Add an element or circular linked list of elements, immediately
+   * after this (head of the list)
+   */
+  inline void enqueueHead(DLink_t *elementP)
+  {
+    DLink_t *saveP = elementP->prevP;
+ 
+    saveP->nextP = nextP;
+    nextP->prevP = saveP;
+    elementP->prevP = this;
+    nextP = elementP;
+  }
+ 
+  /* Add an element or circular linked list of elements, immediately 
+   * preceding this (tail of the list) 
+   */
+  inline void enqueueTail(DLink_t *elementP)
+  {
+    DLink_t *saveP = elementP->prevP;
+
+    prevP->nextP = elementP;
+    elementP->prevP = prevP;
+    prevP = saveP;
+    saveP->nextP = this;
+  }
+
+  /* Remove a single element from the linked list and 
+   * initialize it as a linked list pointing to itself
+   */
+  inline DLink_t *dequeue()
+  {
+    prevP->nextP = nextP;
+    nextP->prevP = prevP;
+    init();
+
+    return this;
+  }
+
+  /* Remove the element immediately after this (head of the list)
+   * and initialize it as a linked list pointing to itself.
+   */
+  inline DLink_t *dequeueHead()
+  {
+    return nextP->dequeue();
+  }
+
+  /* Remove the element immediately preceeding this (tail of the list)
+   * and initialize it as a linked list pointing to itself.
+   */
+  inline DLink_t *dequeueTail()
+  {
+    return prevP->dequeue();
+  }
+
+  inline Boolean isEmpty()
+  {
+    return (nextP == this);
+  }
+
+  inline DLink_t *next()
+  {
+    return nextP;
+  }
+
+  inline DLink_t *prev()
+  {
+    return prevP;
+  }
+
+  inline DLink_t *head()
+  {
+    return nextP;
+  }
+
+  inline DLink_t *tail()
+  {
+    return prevP;
+  }
+};
+
+#else
+
+/* The same class as above, declared as a structure for C code */
+struct DLink_t
+{
+  /* Use standard pointers here for the portability layer / kernel. */
+  struct DLink_t *nextP;
+  struct DLink_t *prevP;
+};
+
+typedef struct DLink_t DLink_t;
+#endif /* __cplusplus */
+
+
+/* Inline functions mimic'ing the class members of the DLink class.
+ * Can be used in either C or C++ code.
+ */
+static inline void
+DLinkInit(DLink_t *thisP)
+{
+  thisP->nextP = thisP;
+  thisP->prevP = thisP;
+}
+
+/* Add an element or circular linked list of elements, immediately
+ * after this (head of the list)
+ */
+static inline void 
+DLinkEnqueueHead(DLink_t *thisP, DLink_t *elementP)
+{
+  DLink_t *saveP = elementP->prevP;
+ 
+  saveP->nextP = thisP->nextP;
+  thisP->nextP->prevP = saveP;
+  elementP->prevP = thisP;
+  thisP->nextP = elementP;
+}
+ 
+/* Add an element or circular linked list of elements, immediately 
+ * preceding this (tail of the list) 
+ */
+static inline void
+DLinkEnqueueTail(DLink_t *thisP, DLink_t *elementP)
+{
+  DLink_t *saveP = elementP->prevP;
+
+  thisP->prevP->nextP = elementP;
+  elementP->prevP = thisP->prevP;
+  thisP->prevP = saveP;
+  saveP->nextP = thisP;
+}
+
+/* Remove a single element from the linked list and 
+ * initialize it as a linked list pointing to itself
+ */
+static inline DLink_t *
+DLinkDequeue(DLink_t *thisP)
+{
+  thisP->prevP->nextP = thisP->nextP;
+  thisP->nextP->prevP = thisP->prevP;
+  DLinkInit(thisP);
+
+  return thisP;
+}
+
+/* Remove the element immediately after this (head of the list)
+ * and initialize it as a linked list pointing to itself.
+ */
+static inline DLink_t *
+DLinkDequeueHead(DLink_t *thisP)
+{
+  return DLinkDequeue(thisP->nextP);
+}
+
+/* Remove the element immediately preceeding this (tail of the list)
+ * and initialize it as a linked list pointing to itself.
+ */
+static inline DLink_t *
+DLinkDequeueTail(DLink_t *thisP)
+{
+  return DLinkDequeue(thisP->prevP);
+}
+
+static inline Boolean
+DLinkIsEmpty(DLink_t *thisP)
+{
+  return (thisP->nextP == thisP);
+}
+
+/* Given a class type, a pointer to the class member, and the 
+ * member name, return a pointer to the base class.
+ */
+#define MemberToClass(CLASSTYPE, PTRMEMBER, MEMBERNAME) \
+  (CLASSTYPE *)(((char *)PTRMEMBER) - OFFSET_OF(MEMBERNAME, CLASSTYPE))
+
+#endif /* _h_CXILINKLIST */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiMmap.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiMmap.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiMmap.h	(revision 16)
@@ -0,0 +1,49 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)96       1.9  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiMmap.h, mmfs, avs_rgpfs24, rgpfs240610b 6/2/03 13:02:28 */
+
+#ifndef _h_cxiMmap
+#define _h_cxiMmap
+
+/* Options for cxiMmapFlush */
+enum CmflushOption
+{
+  CmfProtect,  /* Remove pages from address space so that new references
+                  will cause a page fault or protection fault */
+  CmfFlush,    /* Write dirty pages */
+  CmfInval     /*  Prevent cached page from being re-used */
+};
+
+#include <cxiMmap-plat.h>
+
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiMode.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiMode.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiMode.h	(revision 16)
@@ -0,0 +1,43 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)76	1.4  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiMode.h, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:19:53 */
+
+#ifndef _h_cxiMode
+#define _h_cxiMode
+
+#define PERM_BITS 12            /* number of permission bits */
+
+/* Include platform specifics */
+#include <cxiMode-plat.h>
+
+#endif  /* _h_cxiMode */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiSharedSeg.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiSharedSeg.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiSharedSeg.h	(revision 16)
@@ -0,0 +1,54 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)63       1.8  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiSharedSeg.h, mmfs, avs_rgpfs24, rgpfs240610b 5/9/05 10:47:23 */
+
+#ifndef _h_cxiSharedSeg
+#define _h_cxiSharedSeg
+
+/* Arrange to allocate storage for external variables defined in this file
+ * and in sharkSeg.h if the symbol _INIT_SHAREDBASEP is defined
+ */
+#ifdef _INIT_SHAREDBASEP
+#define EXTERN
+#else
+#define EXTERN extern
+#endif
+
+/* Shared segment is limited to 2GB for now since a signed int is used to keep
+ * track of it. It should either change to a long or save it as KB or even MB
+ */
+#define MAX_SSEG_MAPPINGS 2047
+
+#include <cxiSharedSeg-plat.h>
+
+#endif /* _h_cxiSharedSeg */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiSystem.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiSystem.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiSystem.h	(revision 16)
@@ -0,0 +1,226 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)92       1.77.1.1  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiSystem.h, mmfs, avs_rgpfs24, rgpfs24s005a 7/25/06 19:21:11 */
+/*
+ * Interface definitions for basic common services, platform independent
+ * version. Interfaces in the first section of this file may be used by code
+ * running either in a process or in the kernel, while interfaces defined
+ * in the second section of this file may only be used by code running in the
+ * kernel.
+ *
+ * Process and kernel interfaces:
+ *   cxiGetThreadId - get thread identifier
+ *
+ * Kernel-only memory allocation services:
+ *   void* cxiMallocPinned(int nBytes)
+ *   void* cxiMallocUnpinned(int nBytes)
+ *   void cxiFreePinned(void* p)
+ *   void cxiFreeUnpinned(void* p)
+ *
+ * Kernel-only interfaces:
+ *   cxiIsSuperUser - return true if caller has maximum authorization
+ *   cxiGetMaxFileSize - return the maximum file size the calling process
+ *     is allowed to create.  A value of cxiUnlimitedFileSize means file
+ *     sizes are not limited.
+ *   cxiUiomove - transfer data from buffer(s) in user space to or from
+ *     a buffer in the kernel.
+ *
+ */
+
+#ifndef _h_cxiSystem
+#define _h_cxiSystem
+
+#include <cxiTypes.h>
+
+#ifdef NFS4_CLUSTER
+#if LINUX_KERNEL_VERSION >= 2061500
+# define NFS_CLUSTER_LOCKS
+#endif
+#endif
+
+/* Prototypes for OS dependent entry points called by GPFS.
+ * If any of these should become macros for certain OSes then
+ * this definition will have to move into the platform specific
+ * system file.
+ */
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+int cxiFindOSNode(void *osVfsP, struct cxiNode_t *, void **osNodePP,
+                  Boolean);
+int cxiNewOSNode(void *osVfsP, struct cxiNode_t **, void **osNodePP,
+                 cxiIno_t, int, void *opaqueP);
+int cxiReactivateOSNode(void *osVfsP, struct cxiNode_t *, void **osNodePP);
+
+int cxiRefOSNode(void *osVfsP, struct cxiNode_t *, void *osNodeP, int);
+int cxiRefOsNode(void *osVfsP, struct cxiNode_t *, void *osNodeP, int,
+                 Boolean calledFromRevoke);
+int cxiInactiveOSNode(void *osVfsP, struct cxiNode_t *, void *osNodeP,
+                      Boolean *, Boolean *);
+
+int  cxiRegisterCleanup();
+
+void cxiPutOSNode(void *vP);
+void cxiDestroyOSNode(void *vP);
+void cxiDumpOSNode(struct cxiNode_t *);
+void cxiFreeOSNode(void *osVfsP, struct cxiNode_t *, void *osNodeP);
+void cxiReinitOSNode(void *osVfsP, struct cxiNode_t *, void *osNodeP);
+int  cxiPruneDCacheEntry(cxiNode_t *cnP);
+int  cxiInvalidateDCacheEntry(cxiNode_t *cnP);
+void cxiDropInvalidDCacheEntry(cxiNode_t *cnP);
+int  cxiInvalidateNegDCacheEntry(cxiNode_t *cnP);
+void cxiInvalidatePerm(cxiNode_t *cnP);
+void cxiUpdateInode(cxiNode_t *cnP, cxiVattr_t *attrP, int what);
+
+void cxiSetOSNodeType(cxiNode_t *cnP, cxiMode_t mode, cxiDev_t dev);
+void cxiSetOSNode(void *osVfsP, cxiNode_t *cnP, cxiVattr_t *vattrP);
+
+int cxiSetMountInfo(void *osVfsP, cxiDev_t, int bsize, void *osRootNodeP,
+                    struct cxiNode_t *cnRootP, Boolean *releRootP,
+                    void *gnRootP, fsid_t fsid);
+int cxiUnmount(void *osVfsP, Boolean force, Boolean doDMEvents);
+int cxiIsVfsMounted(void *osVfsP);
+
+int cxiFcntlLock(void *fP, int cmd, void *flP,
+                 cxiFlock_t *flockP, int (*retryCB)(),
+                 cxiOff64_t size, cxiOff64_t offset,
+                 unsigned long *retry_idP);
+int cxiFcntlReset(void *vfsP, cxiPid_t mmfsd_pid);
+void cxiFcntlUnblock(void *retry_idP);
+int cxiTrace(cxiTrace_t trace);
+void cxiFlockToVFS(eflock_t* lckdatP, void* vP);
+void cxiVFSToFlock(void *vP, eflock_t* lckdatP);
+int cxiVFSCallback(eflock_t* lckreqP, eflock_t* lckdatP,
+			int(* callback)(void *, void *, int), int result);
+
+void cxiOpenNFS(void *vP);
+int cxiCloseNFS(void *vP, void *viP);
+void cxiSetNFSCluster(int set);
+void cxiNFSError(int rc, const char *str);
+#define cxiErrorNFS(rc) cxiNFSError(rc, __FUNCTION__)
+
+void *cxiGetNfsP(void *vP);
+void  cxiSetNfsP(void *vP, void *newP);
+void *cxiGetCnP(void *vP);
+void *cxiGetPvP(void *vP);
+void *cxiGNPtoVP(void *vP);
+void *cxiGetPrivVfsP(void *vP);
+
+#ifdef _KERNEL
+cxiPid_t cxiStartKProc(struct cxiKProcData_t *);
+void cxiStopKProc(struct cxiKProcData_t *);
+#endif
+void cxiSleep(int ms);
+
+#ifdef SMB_LOCKS
+void *cxiCheckOpen(struct cxiNode_t* cnP);
+int setSMBOpenLockControl(void *vP, void *infoP, int command, int lockmode);
+int setSMBOplock(void *vP, void *infoP, int accessWant, int oplockWant,
+                 void *breakArgP, int *oplockGrantedP, Boolean isAsync);
+int breakSMBOplock(cxiDev_t dev, cxiIno_t ino, int oplockCurrent, int oplockNew,
+                   void *breakArgP, void *fileArgP, void *nfs4_cookie,
+                   int timeoutSeconds);
+int cxiInitBreakQ();
+int cxiTermBreakQ();
+int cxiBreakOplock(void *breakArgP, int oplockNew);
+int cxiWaitForBreak(void *fileArgP, int oplockCurrent, int timeoutSeconds);
+int cxiSendBreakMsg(void *ofP);
+#endif
+
+int cxiGetCred(void *bufP, void **uCredPP, void **eCredPP);
+int cxiPutCred(void *userCredP, void *extCredP);
+
+/* Insure that our type definitions match any OS definitions */
+int cxiCheckTypes();
+
+#ifdef DISK_LEASE_DMS
+#define MAX_DMS_INDEX 32
+EXTERNC void cxiStartDMS(int idx, int delay, int (*funcP)(int));
+EXTERNC void cxiStopDMS(int idx);
+EXTERNC int cxiInitDMS();
+EXTERNC void cxiShutdownDMS();
+#else
+#define MAX_DMS_INDEX 1
+#endif
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+/* Values for 'what' parameter to cxiUpdateInode and statUpdateOSNode:
+   Selectively updated the OS node attributes. */
+#define CXIUP_NLINK    0x00000001   /* update nlink */
+#define CXIUP_MODE     0x00000002   /* update mode and ctime */
+#define CXIUP_OWN      0x00000004   /* update mode,uid,gid and ctime */
+#define CXIUP_SIZE     0x00000008   /* update fsize */
+#define CXIUP_SIZE_BIG 0x00000010   /* update fsize if bigger */
+#define CXIUP_TIMES    0x00000020   /* update all times */
+#define CXIUP_ATIME    0x00000040   /* update atime only, other flags are not
+                                         checked */
+#define CXIUP_PERM     0x00000080   /* update fields needed for permission
+                                         checking */
+
+#define cxiDev32Major(x) (Int32)((unsigned)(x)>>16)
+#define cxiDev32Minor(x) (Int32)((x)&0xFFFF)
+
+/* Maximum number of simultaneous threads (must be a power of 2) */
+#ifdef __64BIT__
+#define MAX_GPFS_THREADS 1024
+#define MAX_RCVWORKER_POOL 256
+#else
+#define MAX_GPFS_THREADS 512
+#define MAX_RCVWORKER_POOL 128
+#endif
+
+/* Include platform-specific versions of interfaces to common exported
+   services */
+#include <cxiSystem-plat.h>
+
+#define MAX_READDIR_BUF_SIZE 65536
+
+#ifdef NFS4_ACL
+/* Kernel routine to be called for NFSv4 audit ACL entries */
+EXTERNC int cxiAuditWrite(int numargs, ...);
+
+/* Kernel routine to be called for NFSv4 alarm ACL entries */
+static int cxiAlarmWrite(int numargs, ...) { return -1; }
+
+/* Values for gpfsOpen internal flags (iflags) argument  */
+#define GPFS_OPEN_NO_SMBLOCK 0x00000001 /* Don't obtain OpenLk */
+#define GPFS_OPEN_VCM_OBJECT 0x00000002 /* No SMB locking      */
+#endif /* NFS4_ACL */
+
+#endif  /* _h_cxiSystem */
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiTSFattr.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiTSFattr.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiTSFattr.h	(revision 16)
@@ -0,0 +1,370 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)68       1.51  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiTSFattr.h, mmfs, avs_rgpfs24, rgpfs24s003a 5/8/06 15:23:39 */
+
+#ifndef _h_cxitsfattr
+#define _h_cxitsfattr
+
+#include <cxiTypes.h>
+
+/* defines for command parameter in tsfattr() */
+#define SET_BUFFERING          10
+#define GET_BUFFERING          11
+#define LIST_XATTR             12
+#define GET_XATTR              13
+#define SET_XATTR              14
+#define GPFS_STATFSPOOL        15 
+#define GPFS_GETPOOLNAME       16
+/* #define GET_REPL_FACTORS       20  deprecated -- use gpfs_fcntl */
+/* #define SET_REPL_FACTORS       21  deprecated -- use gpfs_fcntl */
+#define REMOTE_STAT            22
+#define IO_HINTS               24
+#define PREALLOCATE_FILE       25
+#define GET_ALL_ATTRS          27
+#define PUT_ALL_ATTRS          28
+#define PUT_ALL_ATTRS_WITH_NAME 29
+
+#define PRIVILEGED_OPERATIONS  31   /* must be privileged user for operations
+                                       bigger than PRIVILEGED_OPERATIONS */
+
+#define GET_INODE_BLOCK        32
+#define GET_DIR_BLOCK          33
+#define SET_DIR_ENTRY          34
+#define GPFS_IOPEN             35
+#define GPFS_ICLOSE            36
+#define GPFS_IREAD             37
+#define GPFS_IWRITE            38
+#define GPFS_IREAD_SYMLINK     39
+#define GPFS_IGET_ATTRS        40
+#define GPFS_IPUT_ATTRS        41
+/* #define UNUSED                 42 */
+#define GPFS_SYNC_FS           43
+#define GPFS_START_RESTORE     44
+#define GPFS_END_RESTORE       45
+#define GPFS_FS_RESTORABLE     46
+#define GPFS_IGET_FILESET      47
+#define GPFS_IGET_STORAGEPOOL  48
+#define GPFS_IREADX            49
+#define GPFS_IWRITEX           50
+#define GPFS_OPEN_FSSNAPHANDLE 51
+
+/* define KERNEL_LOGGENERIC    97  Defined in tsfattrx.h */
+/* define KERNEL_LOGSPECIFIC   98  Defined in tsfattrx.h */
+/* define TEST_LOCK_PERF       99  Defined in tsfattrx.h */
+
+
+/* If you add a new tsfattr command, also update trcfmt.common */
+#define tsfattrcmd_id2name(s) ((int)(s))
+
+
+/* defines for command parameter in tsfsattr() */
+/*define PRIVILEGED_OPERATIONS  30    must be privileged user for operations
+                                      bigger than PRIVILEGED_OPERATIONS */
+#define GPFS_FSATTR_HANDLE_VIA_NAME     30
+#define GPFS_FSATTR_HANDLE_VIA_ID       31
+#define GPFS_FSATTR_PATH_VIA_HANDLE     32
+#define GPFS_FSATTR_FSNAME_VIA_HANDLE   33
+#define GPFS_FSATTR_SNAPNAME_VIA_HANDLE 34
+#define GPFS_FSATTR_RESTORE_FSSNAPID_VIA_HANDLE 35
+#define GPFS_FSATTR_GET_SNAPDIRNAME     36
+
+/* If you add a new tsfsattr command, also update trcfmt.common */
+#define tsfsattrcmd_id2name(s) ((int)(s))
+
+
+
+/* Structure used to receive additional information regarding
+   operation failures. */
+typedef struct
+{
+  int reason;               /* reason request failed */
+  int value1;               /* optional value depending upon reason */
+  int value2;               /* optional value depending upon reason */
+} tsfattrReasonCodeInfo;
+
+
+
+/* Structure used to pass FILE_PREALLOCATION information */
+struct filePreallocation
+{
+  long long offset;        /* in  - offset to start preallocation from */
+  long long size;          /* in  - size of preallocation */
+  int       flags;         /* in  - write flags */
+};
+
+/* Structure used to pass parameters for GET_ALL_ATTRS and PUT_ALL_ATTRS
+   functions. For PUT_ALL_ATTRS_WITH_NAME, the attrSizeP points to the 
+   pathName or NULL. */
+struct xattrsparms
+{
+  int flags;       /* in - flags (must be zero, reserved for future use) */
+  void *bufferP;   /* in - address of buffer containing or receiving
+                           attribute data */
+  int bufferSize;  /* in - size of the buffer (not used by PUT_ALL_ATTRS) */
+  int *attrSizeP;  /* in - address where to return actual size of the data
+                           (not used by PUT_ALL_ATTRS) */
+};
+
+/* Interface structures for gpfsStatFsPool() */
+typedef struct
+{
+  UInt64    f_blocks;     /* total data blocks in pool */
+  UInt64    f_bfree;      /* free blocks in pool */
+  UInt64    f_bavail;     /* free blocks avail to non-superuser */
+  UInt64    f_mblocks;    /* total metadata blocks in pool */
+  UInt64    f_mfree;      /* free blocks avail for system metadata */
+  int       f_bsize;      /* optimal storage pool block size */
+  int       f_files;      /* total file nodes assigned to pool */
+  UInt32    f_poolid;     /* storage pool id */
+  int       f_fsize;      /* fundamental file system block size */
+  unsigned int f_usage;   /* data and/or metadata stored in pool */
+  int       f_reserved[7];/* currently unused and set to zero */
+} cxiStatFsPool_t;
+
+typedef struct 
+{
+  UInt32 poolId;
+  UInt32 options;
+  int    nPools;
+  int    bufferSize;
+  char  *bufferP;
+} cxiStatFsPoolArgs_t;
+
+
+
+
+/* Definitions for GPFS file attribute function */
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+  extern int tsfattr(int fileDesc,  /* Open file descriptor */
+                     int command,   /* Control function to be performed */
+                     void *argP,    /* Additional info required by function */
+                     tsfattrReasonCodeInfo *rCodeP); /* More returned info*/
+
+  extern int tsfsattr(int command,  /* Control function to be performed */
+                      void *argP);  /* Additional info required by function */
+
+  /* The tsattr call only supports the following commands:
+       GET_REPL_FACTORS
+   */
+  extern int tsattr(char *pathname, /* File pathname */
+                    int command,    /* Control function to be performed */
+                    void *argP,     /* Additional info required by function */
+                    tsfattrReasonCodeInfo *rCodeP); /* More returned info*/
+
+/* Define type used to identify a file system. Internally, this is
+   actually a DiskUID. Assignments to and from this id must be cast 
+   as DiskUIDs to generate the correct byte-swapping code. */
+typedef struct _gpfs_fs_id
+{
+  BigEndUInt32 word0;
+  BigEndUInt32 word1;
+} _gpfs_fs_id_t;
+
+/* Structure used to hold snapshot id max size is 48 see gpfs_snap_id_t in
+   gpfs.h. Note that the "_gpfs" prefix is used for an internal definition 
+   of an externally defined structure. */
+#define FSSNAPID_MAGIC 0xD00FF009
+#define ISCAN_VERSION 1
+
+typedef struct _gpfs_fssnap_id
+{
+  BigEndInt32 magic;           /* magic number                  */
+  BigEndInt32 fmtVersion;      /* version from curFmtVersion    */
+  BigEndInt64 snapId;          /* snapshot id                   */
+  BigEndInt64 baseSnapId;      /* base id for snapshot          */
+  _gpfs_fs_id_t stripeId;      /* FS id assigned at format time */
+  _gpfs_fs_id_t baseStripeId;  /* base FS id for snapshot       */
+  BigEndInt64 time;            /* time stamp (just second)      */
+} _gpfs_fssnap_id_t;
+
+ 
+/* Structure used to identify file system and snapshot 
+   Note "_gpfs" is used for the internal version of an externally
+   defined type. */
+#define FSSNAPHANDLE_MAGIC 0xD00FF013
+typedef struct _gpfs_fssnap_handle
+{
+  int  magic;                  /* magic number               */
+  int fd;                      /* file descriptor            */
+  _gpfs_fssnap_id_t fssnapId;  /* unique fs/snapshot id      */
+  cxiIno_t maxIno;             /* maximum inode number       */
+  int blockSize;               /* block size used by fs      */
+  int pathNameSize;            /* size of path buffer        */
+  char *pathNameP;             /* path buffer                */
+  int fsNameSize;              /* size of fsName buffer      */
+  char *fsNameP;               /* fsName buffer              */
+  int snapNameSize;            /* size of snapName buffer    */
+  char *snapNameP;             /* snapName buffer            */
+} _gpfs_fssnap_handle_t;
+
+/* Structure used to keep restore session information. */
+#define RESTORE_MAGIC 0xD00FF015
+typedef struct _gpfs_restore
+{
+  int  magic;                  /* magic number               */
+  int  fd;                     /* file descriptor            */
+  _gpfs_fssnap_id_t old_fssnapId;  /* id for last snapshot   */
+  _gpfs_fssnap_id_t new_fssnapId;  /* id for new snapshot    */
+} _gpfs_restore_t;
+
+/* Define a structure used to pass control information
+   for the restore start/end code. This structure is 
+   internal to gpfs and not returned to the users. */
+typedef struct gpfs_rcontrol
+{
+  int  flags;            /* restore flags              */
+#define RESTORE_START       0x00000001
+#define RESTORE_END         0x00000002
+#define RESTORE_ENABLE      0x00000010
+#define RESTORE_DISABLE     0x10000000
+
+  Int32 fmtVersion;      /* version from curFmtVersion    */
+  Int64 snapId;          /* snapshot id                   */
+  _gpfs_fs_id_t stripeId;/* FS id assigned at format time */
+  Int64 time;            /* time stamp (just second)      */
+} gpfs_rcontrol_t;
+
+/* Structure used to read a block of gpfs_iattr_t with the tsfattr commmand
+   GET_INODE_BLOCK */
+#define ISCAN_MAGIC 0xD00FF005
+typedef struct _gpfs_iscan
+{
+  int  magic;                  /* magic number               */
+  int  fd;                     /* file descriptor            */
+  Int64 instanceID;            /* instance identifier        */
+  long nextInode;              /* next Inode to read         */
+  long termInode;              /* terminate before this ino  */
+  long bufferSize;             /* size of buffer             */
+  char *bufferP;               /* block of gpfs_iattr_t      */
+  long lastOffset;             /* offset of last item        */
+  long offset;                 /* used by caller only        */
+  _gpfs_fssnap_id_t old_fssnapId;  /* snapId for last snapshot   */
+  _gpfs_fssnap_id_t new_fssnapId;  /* snapId for new snapshot    */
+  UInt32 cachedFilesetId;      /* id of cached fileset name           */
+  int    cachedFilesetNameLen; /* length of cached fileset name       */
+  char  *cachedFilesetNameP;   /* pointer to cached fileset name      */
+  UInt32 cachedDataPoolId;     /* id of cached storage pool name      */
+  int    cachedDataPoolNameLen; /* length of cached storage pool name */
+  char  *cachedDataPoolNameP;  /* pointer to cached storage pool name */
+} _gpfs_iscan_t;
+
+#define CXI_INVALID_FILESET_ID     ((UInt32) -1) /* cached value */
+#define CXI_INVALID_STORAGEPOOL_ID ((UInt32) -1) /*    is invalid */
+
+
+/* Define internal structure used for block level incremental reads.
+   Each call to gpfs_ireadx() returns an array of changes between
+   the scanned file and its previous snapshot version. */
+typedef struct gpfs_idelta
+{
+  int   hole;                   /* =0 if data changed in the following range
+                                   =1 if a hole was created in that range */
+  Int64 startOffset;            /* byte offset to start of change         */
+  Int64 endOffset;              /* offset at end of changed region        */
+} gpfs_idelta_t;
+
+/* Structure used to pass extended attribute information
+   for GET_XATTR and SET_XATTR */
+struct tsxattrs
+{
+  int appId;              /* application id                   */
+  int nattrs;             /* no of attributes to get or set   */
+  struct tsxattr *attrs;  /* attributes to get or set         */
+};
+
+/* If this is modified, also make corresponding changes to
+   tsxattrMB, which is used in mailbox communication */
+struct tsxattr
+{
+  char *keyP;      /* attribute key              */
+  int keyLen;      /* key length                 */
+  char *valueP;    /* attribute value            */
+  int valueLen;    /* length of attribute value  */
+};
+
+/* Structure used to read/write by inode number. */
+#define IFILE_MAGIC 0xD00FF011
+#define DIRX_BUFFER_SIZE (16*1024)
+#define DELTA_BUFFER_SIZE (sizeof(gpfs_idelta_t) * 128)
+#define MAX_FILE_OFFSET MAX_INT64
+
+typedef struct _gpfs_ifile
+{
+  int  magic;                  /* magic number               */
+  int  fd;                     /* file descriptor for root   */
+  long ino;                    /* inode number               */
+  int genNo;                   /* inode generation number    */
+  Int64 snapId;                /* snapshot ID                */
+  int open_flags;              /* open flags                 */
+  cxiMode_t mode;              /* mode of file being read    */
+  const char *symlinkP;        /* optional symlink           */
+  char *bufferP;               /* buffer for read/write      */
+  long bufferSize;             /* size of buffer             */
+  Int64 offset;                /* offset to read/write from  */
+  Int64 count;                 /* length to read/write       */
+  int dirCount;                /* number of directory entries*/
+  char *dirBufferP;            /* buffer for directory read  */
+  long dirBufferSize;          /* size of dir buffer         */
+  offset_t dirOffset;          /* offset in directory buffer */
+  offset_t lastOffset;         /* offset of last item        */
+  struct gpfs_iattr *statxP;   /* optional for open/create   */
+  void *vP;                    /* inode/vnode (OS dependent)
+                                  NOTE: This value cannot be trusted
+                                  between calls to the kernel. */
+  int *attrSizeP;              /* ptr to rtnd value for iget_attrs */
+
+  /* Define fields for block-level incremental read/write */
+  Int64 prevSnapId;            /* prev snapId                */
+  _gpfs_fs_id_t prevStripeId;  /* prev stripeId              */
+  int hole;                    /* read/write a hole          */
+  int callBlockLevel;          /* if >=0 then call ireadx 
+                                  if < 0 then call iread     */
+  Int64 fileSize;              /* size of file when reading deltas */
+  Int64 firstOffset;           /* start of range covered by deltas */
+  Int64 nextOffset;            /* in: limit on single ireadx
+                                  out: next offset to read   */ 
+} _gpfs_ifile_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+int myFillDir(void *fillDirArgP, const char *nameP, int namlen,
+              offset_t offset, ino_t ino, cxiMode_t mode, int generation);
+
+#endif /* _h_cxitsfattr */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiTypes.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiTypes.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiTypes.h	(revision 16)
@@ -0,0 +1,734 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)93       1.85  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiTypes.h, mmfs, avs_rgpfs24, rgpfs24s001a 3/27/06 10:57:53 */
+/*
+ * Basic types used throughout GPFS.  Since GPFS shares data between its
+ * daemon and its kernel pieces, types must be defined consistently, rather
+ * than relying on platform-specific include files.  This file may be
+ * included in either C or C++ code.
+ *
+ */
+
+#ifndef _h_cxiTypes
+#define _h_cxiTypes
+
+/* Types to use when the number of bits in a word is important.  Use these
+   instead of long, short, int, etc. for portability */
+typedef short                  Int16;
+typedef int                    Int32;
+typedef long long              Int64;
+typedef unsigned short         UInt16;
+typedef unsigned int           UInt32;
+typedef unsigned long long     UInt64;
+
+typedef unsigned char          UChar;
+typedef unsigned short         UShort;
+typedef long                   Ptrdiff;
+
+/* Use these instead of Int or UInt for padding in structures that are sent
+   in RPCs.  These types will not be byte-swapped when sent between nodes
+   having different endian value. */
+typedef short                  Pad16;
+typedef int                    Pad32;
+
+/* Use these for fields send in RPCs that should not be byte-swapped */
+typedef int                    Opaque32;
+typedef unsigned long long     Opaque64;
+
+/* Use this as the return value type for functions that return a local
+   system errno value, to make it clear that the function is called from
+   outside of GPFS and does not return a GPFS Errno. */
+typedef int                    IntRC;
+
+#define MAX_UINT64 ((UInt64)(0xFFFFFFFFFFFFFFFFuLL))
+#define MAX_INT64  ((Int64)(0x7FFFFFFFFFFFFFFFuLL))
+#define MAX_UINT32 ((UInt32)0xFFFFFFFF)
+#define MAX_INT32  ((Int32)0x7FFFFFFF)
+#define MIN_INT32  ((Int32)0x80000000)
+#define MAX_UINT16 ((UInt16)0xFFFF)
+#define MAX_INT16  ((Int16)0x7FFF)
+#define MIN_INT16  ((Int16)0x8000)
+
+/* Macros to fetch the high and low 32 bits of an Int64 */
+#define High32(_i) ((Int32) (((UInt64)(_i))>>32))
+#define Low32(_i) ((UInt32) ((_i)&0xFFFFFFFF))
+
+/* Use types to safely allow integer to ptr assignment and vice-versa;
+   defined for maximum portability (instead of using intptr_t/uintptr_t) */
+typedef signed long            IntPtr;
+typedef unsigned long          UIntPtr;
+
+/* Define macros to typecast a pointer in a failsafe manner */
+#define INTPTR(_p)             ((IntPtr)(_p))
+#define UINTPTR(_p)            ((UIntPtr)(_p))
+
+/* Conversion macros for pointers and 32-bit integers */
+/* Use when intentionally converting to/from 32-bit integers
+   and pointers so that useless compiler warnings are suppressed. */
+#define PTR_TO_INT32(_p)         ((Int32)(IntPtr)(_p))
+#define PTR_TO_UINT32(_p)        ((UInt32)(UIntPtr)(_p))
+#define INT32_TO_PTR(_i)         ((void *)(IntPtr)(_i))
+#define UINT32_TO_PTR(_i)        ((void *)(UIntPtr)(_i))
+#define PTR_TO_INT64(_p)         ((Int64)(IntPtr)(_p))
+#define PTR_TO_UINT64(_p)        ((UInt64)(UIntPtr)(_p))
+#define UINT64_TO_PTR(_i)        ((void *)(UIntPtr)(_i))
+
+/* Lockword type for mutexes */
+#ifdef __64BIT__
+typedef unsigned long          lockWord_t;
+#else
+typedef unsigned int           lockWord_t;
+#endif /* 64b */
+
+/* Boolean type */
+typedef unsigned int Boolean;
+typedef char cBoolean;
+#define false 0
+#define FALSE 0
+#define true  1
+#define TRUE  1
+
+#ifndef EXTERNC
+#ifdef __cplusplus
+#define EXTERNC extern "C"
+#else
+#define EXTERNC extern
+#endif
+#endif /* EXTERNC */
+
+/* Command parameters given to gpfsSetattr() */
+#ifndef V_MODE         /* set mode */
+#define	V_MODE	0x01
+#endif
+#ifndef V_OWN          /* set owner */
+#define	V_OWN	0x02
+#endif
+#ifndef V_UTIME        /* set atime and mtime */
+#define	V_UTIME	0x04
+#endif
+#ifndef V_STIME        /* set atime, mtime, and ctime */
+#define V_STIME	0x08
+#endif
+#ifndef V_NTIME        /* set atime, mtime, and ctime to now */
+#define V_NTIME 0x10
+#endif
+#ifndef V_SIZE         /* set file size */
+#define V_SIZE  0x20
+#endif
+
+#define CXIDEVNONE (cxiDev_t)(-1U)
+
+/* AIX SHM_RDONLY sys/shm.h */
+#define CXI_SHM_RDONLY 010000
+
+/* Macros to compute minimum and maximum of two numbers */
+#ifndef MIN
+#define MIN(a,b) (((a)<(b))?(a):(b))
+#endif
+#ifndef MAX
+#define MAX(a,b) (((a)>(b))?(a):(b))
+#endif
+
+/* Make sure null pointer definition is always available */
+#ifndef NULL
+#define NULL 0
+#endif
+
+/* Macro to compute the offset of a field within a structure */
+#if defined(__GNUC__) && (__GNUC__ >= 3)
+/* gcc 3.x: avoid warning msg "invalid offsetof from non-POD type: ..."  */
+#define OFFSET_OF(_field, _struct) \
+  (Int32) ( (char*)&((_struct *)16)->_field - (char*)16 )
+#else
+#define OFFSET_OF(_field, _struct) ( (long) ( &((_struct *)0)->_field ) )
+#endif
+
+/* Identifier of a thread.  Always 32 bits, even if native thread IDs are
+   longer on some platforms.  The value cxiNoThread denotes an invalid
+   thread ID. */
+typedef Int32                  cxiThreadId;
+#define cxiNoThread            0
+
+#if !defined(GPFS_LINUX) && defined(__64BIT__)
+typedef Int64                  cxiPid_t;
+#else
+typedef Int32                  cxiPid_t;
+#endif
+typedef Int64                  cxiPid64_t;
+typedef Int32                  cxiPid32_t;
+typedef Int32                  cxiKey_t;
+
+/* Needed since mode_t is short in linux kernel */
+typedef UInt32                 cxiMode_t;
+typedef UInt32                 cxiUid_t;
+typedef UInt32                 cxiGid_t;
+typedef UInt32                 cxiIno_t;    /* gpfs inode number */
+
+/* Original AIX sizes for dev_t.  Special device files continue to
+ * record their major/minor numbers as 32 bits on disk.
+ */
+typedef UInt32                 cxiDev32_t;
+
+typedef UInt32                 cxiTime32_t; /* seconds time type */
+typedef UInt32                 cxiNSec32_t; /* nanoseconds time type */
+typedef unsigned long          cxiSize_t;
+
+/* File system type within cxiStatfs_t */
+typedef struct cxiFsid_t
+{
+  unsigned long val[2];
+} cxiFsid_t;
+
+/* Interface structure for gpfsStatfs() */
+typedef struct cxiStatfs_t
+{
+  UInt64    f_blocks;     /* total data blocks in file system */
+  UInt64    f_bfree;      /* free block in fs */
+  UInt64    f_bavail;     /* free blocks avail to non-superuser */
+  int       f_bsize;      /* optimal file system block size */
+  int       f_files;      /* total file nodes in file system */
+  int       f_ffree;      /* free file nodes in fs */
+  cxiFsid_t f_fsid;       /* file system id */
+  int       f_fsize;      /* fundamental file system block size */
+  char      f_fname[32];  /* file system name (usually mount pt.) */
+  char      f_fpack[32];  /* file system pack name */
+  int       f_name_max;   /* maximum component name length for posix */
+} cxiStatfs_t;
+
+
+
+
+/* l_caller values */
+#define L_CALLER_NULL 0
+#define L_CALLER_LOCKD 1
+
+/* Advisory record locking interface structure */
+typedef long long cxiOff64_t;
+typedef struct cxiFlock_t
+{
+  short           l_type;
+  short           l_whence;
+  unsigned int    l_sysid;
+  cxiPid_t        l_pid;
+#ifndef GPFS_LINUX
+  int             l_vfs;
+#else
+  int             l_caller;
+#endif
+  cxiOff64_t      l_start;
+  cxiOff64_t      l_len;
+  void *          l_owner;
+  void *          l_file;
+  void *          l_lmops;
+  unsigned char   l_flags;
+/* defines for l_flags */
+#define FL_RECLAIM	64	/* lock reclaim */
+} cxiFlock_t;
+
+/* flock l_type constants are OS dependent.  When sending F_GETLK
+ * results between nodes, they must be mapped to generic constants
+ * and then back to OS-specific values by the receiving node.
+ */
+#define GENERIC_F_RDLCK 1
+#define GENERIC_F_WRLCK 2
+#define GENERIC_F_UNLCK 3
+
+#define L_TYPE_OUT(lt) \
+  ((lt) == F_RDLCK)? GENERIC_F_RDLCK: \
+  ((lt) == F_WRLCK)? GENERIC_F_WRLCK: \
+  ((lt) == F_UNLCK)? GENERIC_F_UNLCK: lt; \
+
+#define L_TYPE_IN(lt) \
+  ((lt) == GENERIC_F_RDLCK)? F_RDLCK: \
+  ((lt) == GENERIC_F_WRLCK)? F_WRLCK: \
+  ((lt) == GENERIC_F_UNLCK)? F_UNLCK: lt; \
+
+#ifndef GPFS_LINUX
+#define cxiFlock2Common( cxiCommonP, cxiP )           \
+{                                                     \
+  (cxiCommonP)->l_type = L_TYPE_OUT((cxiP)->l_type);  \
+  (cxiCommonP)->l_whence = (cxiP)->l_whence;          \
+  (cxiCommonP)->l_sysid = (cxiP)->l_sysid;            \
+  (cxiCommonP)->l_pid = (cxiPid64_t)(cxiP)->l_pid;    \
+  (cxiCommonP)->l_vfs = (cxiP)->l_vfs;                \
+  (cxiCommonP)->l_start = (cxiP)->l_start;            \
+  (cxiCommonP)->l_len = (cxiP)->l_len;                \
+  (cxiCommonP)->l_owner = (UInt64)(cxiP)->l_owner;    \
+};
+#define cxiCommon2Flock( cxiP, cxiCommonP )           \
+{                                                     \
+  (cxiP)->l_type = L_TYPE_IN((cxiCommonP)->l_type);   \
+  (cxiP)->l_whence = (cxiCommonP)->l_whence;          \
+  (cxiP)->l_sysid = (cxiCommonP)->l_sysid;            \
+  (cxiP)->l_pid = (cxiPid_t)(cxiCommonP)->l_pid;      \
+  (cxiP)->l_vfs = (cxiCommonP)->l_vfs;                \
+  (cxiP)->l_start = (cxiCommonP)->l_start;            \
+  (cxiP)->l_len = (cxiCommonP)->l_len;                \
+  (cxiP)->l_owner = (void *)(cxiCommonP)->l_owner;    \
+};
+#else
+#define cxiFlock2Common( cxiCommonP, cxiP )           \
+{                                                     \
+  (cxiCommonP)->l_type = L_TYPE_OUT((cxiP)->l_type);  \
+  (cxiCommonP)->l_whence = (cxiP)->l_whence;          \
+  (cxiCommonP)->l_sysid = (cxiP)->l_sysid;            \
+  (cxiCommonP)->l_pid = (cxiPid64_t)(cxiP)->l_pid;    \
+  (cxiCommonP)->l_caller = (cxiP)->l_caller;          \
+  (cxiCommonP)->l_start = (cxiP)->l_start;            \
+  (cxiCommonP)->l_len = (cxiP)->l_len;                \
+  (cxiCommonP)->l_owner = PTR_TO_UINT64((cxiP)->l_owner);    \
+};
+#define cxiCommon2Flock( cxiP, cxiCommonP )           \
+{                                                     \
+  (cxiP)->l_type = L_TYPE_IN((cxiCommonP)->l_type);   \
+  (cxiP)->l_whence = (cxiCommonP)->l_whence;          \
+  (cxiP)->l_sysid = (cxiCommonP)->l_sysid;            \
+  (cxiP)->l_pid = (cxiPid_t)(cxiCommonP)->l_pid;      \
+  (cxiP)->l_caller = (cxiCommonP)->l_caller;          \
+  (cxiP)->l_start = (cxiCommonP)->l_start;            \
+  (cxiP)->l_len = (cxiCommonP)->l_len;                \
+  (cxiP)->l_owner = (void *)(UIntPtr)(cxiCommonP)->l_owner;    \
+};
+#endif        /* !GPFS_LINUX */
+
+typedef enum cxiTrace_t
+{
+  cxiTraceNFS = 0,     /* trace linux nfs activity via printk */
+  cxiTraceNFSoff = 1   /* stop  tracing of linux nfs activity */
+} cxiTrace_t;
+
+
+/* DMAPI operation context */
+typedef enum cxiContext_t
+{
+  unknownOp = 0,        /* invalid or unknown operation type */
+  vnOp = 1,             /* vnode operation */
+  reservedFileOp = 2,   /* quota operation (quota check, asyncRecovery) */
+  generalOp = 3,        /* general (not vnop) operation */
+
+  /* must place all non-dm contexts above this line */
+  /* must place dmOp context on next line, and all other dm contexts after it */
+  dmOp = 4,             /* non-file-related DM operation */
+  dmOpWithToken = 5,    /* File-related DM operation with a DM token */
+  dmOpWithoutToken = 6, /* File-related DM operation without a token */
+  dmOpInvalidToken = 7, /* File-related DM operation with an invalid token */
+  dmOpAccessControl = 8 /* DM operation that acquires/releases access rights */
+} cxiContext_t;
+
+#define CXI_D_NAME_MAX 255     /* _D_NAME_MAX sys/dir.h */
+#define CXI_DEV_BSIZE  512     /* DEV_BSIZE AIX sys/dir.h */
+#define CXI_MAXNAMLEN  255     /* MAXNAMLEN AIX sys/dir.h */
+#define CXI_MAXPATHLEN 1024    /* MAXPATHLEN AIX sys/param.h */
+#define CXI_PATH_MAX   1023    /* PATH_MAX AIX sys/limits.h */
+
+/* This macro verifies if a given operation context is one of DMAPI contexts */
+#define IS_DM_CONTEXT(opContext) ((opContext < dmOp) ? false : true)
+
+/* Operations supported by gpfsReadWrite */
+typedef enum cxiRdWr_t { CXI_READ, CXI_WRITE, CXI_READ_NO_MOVE,
+                         CXI_WRITE_NO_MOVE } cxiRdWr_t;
+
+/* Forward declarations */
+struct gpfsVfsData_t;
+struct ext_cred_t;
+
+/* Macros to convert integers of various sizes from big endian to little
+   endian or vice versa.  Do not use these directly; use either the ByteSwapxx
+   routines defined in cxiTypes-plat.h or the BigEndToCPUxx/CPUToBigEndxx
+   macros instead. */
+#define _ByteSwap16(d) \
+        ((UInt16)((((UInt16)(d) >> 8) & 0x00FFU) | \
+                  (((UInt16)(d) << 8) & 0xFF00U)))
+
+#define _ByteSwap32(d) \
+        ((UInt32)((((UInt32)(d) >> 24) & 0x000000FFU) | \
+                  (((UInt32)(d) >>  8) & 0x0000FF00U) | \
+                  (((UInt32)(d) <<  8) & 0x00FF0000U) | \
+                  (((UInt32)(d) << 24) & 0xFF000000U)))
+
+#define _ByteSwap64(d) \
+	((UInt64)((((UInt64)(d) >> 56) & 0x00000000000000FFULL) | \
+		  (((UInt64)(d) >> 40) & 0x000000000000FF00ULL) | \
+		  (((UInt64)(d) >> 24) & 0x0000000000FF0000ULL) | \
+		  (((UInt64)(d) >>  8) & 0x00000000FF000000ULL) | \
+		  (((UInt64)(d) <<  8) & 0x000000FF00000000ULL) | \
+		  (((UInt64)(d) << 24) & 0x0000FF0000000000ULL) | \
+		  (((UInt64)(d) << 40) & 0x00FF000000000000ULL) | \
+		  (((UInt64)(d) << 56) & 0xFF00000000000000ULL)))		
+
+
+/* Include platform specific types */
+#include <cxiTypes-plat.h>
+
+/* Macros to be used when switching data from big endian to
+ * the endian-ness of the CPU
+ */
+#ifdef GPFS_LITTLE_ENDIAN
+#define BigEndToCPU16(d)  ByteSwap16(d)
+#define BigEndToCPU32(d)  ByteSwap32(d)
+#define BigEndToCPU64(d)  ByteSwap64(d)
+#define CPUToBigEnd16(d)  ByteSwap16(d)
+#define CPUToBigEnd32(d)  ByteSwap32(d)
+#define CPUToBigEnd64(d)  ByteSwap64(d)
+#else
+#define BigEndToCPU16(d)  (d)
+#define BigEndToCPU32(d)  (d)
+#define BigEndToCPU64(d)  (d)
+#define CPUToBigEnd16(d)  (d)
+#define CPUToBigEnd32(d)  (d)
+#define CPUToBigEnd64(d)  (d)
+#endif
+
+/* Macros to get the endian-ness and word size of this CPU */
+#ifdef GPFS_LITTLE_ENDIAN
+#define NodeBigEndian false
+#else
+#define NodeBigEndian true
+#endif
+
+typedef enum {
+  OSTYPE_AIX,
+  OSTYPE_LINUX
+} OSType;
+
+#define ostypeToStr(T) \
+  (((T) == OSTYPE_AIX)    ? "AIX"    : \
+   ((T) == OSTYPE_LINUX ) ? "Linux"  : \
+                            "unknown")
+
+#ifdef GPFS_LINUX
+#define NodeOperatingSystem OSTYPE_LINUX
+#else
+#define NodeOperatingSystem OSTYPE_AIX
+#endif
+
+#ifdef __64BIT__
+#define NodeWordSize 64
+#else
+#define NodeWordSize 32
+#endif
+
+/* Retrieve the file type from the mode and translate it to cxiNodeType_t */
+#define CXIMODE_TO_NODETYPE(M) (modeToNodeType[((M) & S_IFMT) >> 12])
+
+/* Invariant size time structure. */
+typedef struct cxiTimeStruc32_t
+{
+  cxiTime32_t tv_sec;   /* seconds */
+  cxiNSec32_t tv_nsec;  /* nanoseconds */
+} cxiTimeStruc32_t;
+
+/* May be 32/64 bit specific depending on how OS defines
+ * cxiTime_t (cxiTypes-plat.h).  On AIX cxiTime_t (time_t) is
+ * an int32long64 and cxiNSec_t (suseconds_t) is a signed int.
+ * Nanoseconds can always be represented within 32 bits, however
+ * on linux it's a long int, which would change size for 64bits.
+ */
+typedef struct cxiTimeStruc_t
+{
+  cxiTime_t tv_sec;    /* seconds */
+  cxiNSec_t tv_nsec;   /* nanoseconds */
+} cxiTimeStruc_t;
+
+/* Must match struct vattr on AIX */
+typedef struct cxiVattr_t
+{
+  int            va_type;       /* vnode type */
+  cxiMode_t      va_mode;       /* access mode */
+  cxiUid_t       va_uid;        /* owner uid */
+  cxiGid_t       va_gid;        /* owner gid */
+  union
+  {
+    cxiDev_t    _va_dev;        /* id of device containing file	*/
+    long        _va_fsid;       /* fs id (dev for now) */
+  } _vattr_union;
+  cxiInoSys_t    va_serialno;   /* file serial (inode) number */
+  short          va_nlink;      /* number of links */
+  short          va_flags;      /* Flags, see below for define */
+  long           va_mask;       /* Initial attribute mask */
+  cxiOff64_t     va_size;       /* file size in bytes */
+  long           va_blocksize;  /* preferred blocksize for io */
+  long	         va_blocks;     /* kbytes of disk held by file */
+
+  /* The following three fields use the 32/64 bit dependent
+   * cxiTimeStruc_t since the AIX vattr structure defines these
+   * with timestruc_t which has time_t field.
+   */
+  cxiTimeStruc_t va_atime;      /* time of last access */
+  cxiTimeStruc_t va_mtime;      /* time of last data modification */
+  cxiTimeStruc_t va_ctime;      /* time of last status change */
+  cxiDev_t       va_rdev;	/* id of device */
+
+  /* Fields added for compatability with the fullstat structure */
+  long           va_nid;        /* unused (node id on AIX) */
+  int            va_chan;       /* unused (channel on AIX) */
+  char          *va_acl;        /* unused (Access Control List on AIX) */
+  cxiSize_t      va_xinfo;      /* Extended info field (defined below)
+                                   (AIX: cxiSize_t va_aclsiz (size of ACL)) */
+  int            va_gen;        /* inode generation number */
+} cxiVattr_t;
+
+/* Define bit flags for the extended information field */
+#define VA_XPERM 0x0001         // file has extended ACL 
+#define VA_XVOL  0x0002         // dir entry was generated and is volatile
+ 
+/* Macros to recognize artificial, unique inode numbers for snapshot link
+   direcories and snapshot root directories. */
+#define SNAPROOTDIR_EXT_INO_BASE 0xFFFF0000
+#define IS_SNAPROOTDIR_EXT_INO(ino) ((UInt32)(ino) >  SNAPROOTDIR_EXT_INO_BASE)
+#define IS_SNAPLINKDIR_EXT_INO(ino) ((UInt32)(ino) == SNAPROOTDIR_EXT_INO_BASE)
+#define SNAPROOTDIR_INT_INO (3)
+
+#ifdef va_dev
+#undef va_dev
+#endif
+#ifdef va_fsid
+#undef va_fsid
+#endif
+#define	va_dev   _vattr_union._va_dev
+#define	va_fsid  _vattr_union._va_fsid
+
+/* Based on the AIX definition */
+typedef struct cxiIovec_t
+{
+  char     *iov_base;
+  cxiSize_t iov_len;
+} cxiIovec_t;
+
+typedef struct cxiErrorLogEntry_t
+{
+  short logErrorType;       /* One of the values #defined below */
+
+  /*   Fields common for all types of errors   */
+  UInt32 logRecTag;         /* Tag to associate related log entries */
+  char *componentName;      /* Name of the malfunctioning component */
+  char *componentID;
+  char *buildBranch;
+
+  /*  Fields used by logMoreInfo, logGenIF, logShutdownIF    */
+  char *strFileName;        /* File in which the error occurred */
+  UInt32 srcLineNumber;     /* Line on which the error occurred */
+  Int32 retCode;            /* return code value */
+  Int32 reasonCode;         /* reason code value */
+  char *dataStr;            /* Data dump string */
+  char *failingExpr;        /* Expression that evaluates to false */
+
+  /*   Fields used by LOGSPECIFIC   */
+  UInt32 logTemplID;        /* Error log template ID (used in AIX only) */
+  char *formatStr;          /* printf-style format string */
+  void *varargPtrPtr;       /* Pointer to the variable argument list
+			       (will be casted to va_list *)           */
+
+  char *kernData;           /* Used for copying the logRecData field of the logging
+                               kernel mailbox   */
+  int kernDataLength;       /* = logRecDataLen */
+
+  char *moduleVersion;      /* Used only for logging from external progsams */
+} cxiErrorLogEntry_t;
+
+#ifdef SMB_LOCKS
+/* Enumeration used to specify whether a file will be read or written. */
+enum AccessMode
+{
+  opAccessNone  = 0,
+  opAccessRead  = 1,
+  opAccessWrite = 2
+};
+
+/* types of oplocks granted to Samba */
+enum OplockMode
+{
+  smbOplockNone  = 0,
+  smbOplockShared  = 1,
+  smbOplockExclusive = 2
+};
+
+/* Check whether oplock olm is in conflict with lock access am:
+   A conflict exists if one of the two is for write/exlucisve and the
+   other one is at least for read/shared. */
+#define oplockAccessConflict(olm, am) ((int)(olm) + (int)(am) > 2)
+#endif
+
+#ifdef CCL
+/* Types of dentry operations tables that can be requested. */
+typedef enum DentryOpTableTypes
+{
+  DOpNormal,
+  DOpOnlyValidIfSamba,
+  DOpInvalidIfSamba
+} DentryOpTableTypes;
+#endif
+
+#define LOG_ERR_SPECIFIC    0x1
+#define LOG_ERR_GENERIC     0x2
+#define LOG_ERR_MOREINFO    0x3
+#define LOG_ERR_SHUTDOWN    0x4
+#define LOG_ERR_TRACEBACK   0x5
+#define LOG_ERR_SPECIFIC_KERN  0x6
+
+
+/* Common part of information about an open file */
+typedef struct cxiVinfo_t
+{
+  cBoolean viInUse;      /* True if VInfo is in use by an open file */
+  cBoolean disconnected; /* True if the daemon died or a forced unmount or
+                            SG panic occurred since the file was opened */
+  cBoolean viIsNFS;      /* True if this cxiVinfo_t is embedded inside a
+                            struct NFSData */
+  cBoolean rwPageDone;   /* True if paging requests received */
+} cxiVinfo_t;
+
+
+#ifdef _KERNEL
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* Function pointer for main routine of a kernel process */
+typedef void (*cxiKProcFunc_t)(void *argP);
+#ifdef __cplusplus
+}
+#endif
+
+/* Interface structure to cxiStartKProc() and cxiStopKProc() */
+typedef struct cxiKProcData_t
+{
+  cxiPid_t pid;        /* proc pid (returned) */
+
+  /* protects startStopEvent and kprocEvent transitions */
+  cxiBlockingMutex_t lock;
+
+  /* kproc can sleep here */
+  cxiWaitEvent_t kprocEvent;
+
+  /* start or stop request should sleep here waiting on pid transition */
+  cxiWaitEvent_t startStopEvent; 
+
+  int priority;        /* process priority of kproc */
+  int kprocFlags;      /* flags to pass to kernel thread creation routine */
+  Boolean terminate;   /* terminate proc when true */
+  cxiKProcFunc_t func; /* proc function */
+  void *fargP;         /* proc function arguments */
+  char *nameP;         /* proc name */
+  char *systemP;       /* any system data structure associated with process */
+} cxiKProcData_t;
+
+#define KPROC_FAILED_PID      -1
+#define KPROC_UNASSIGNED_PID  -2
+#define KPROC_RUNNING(KP)     ((KP)->pid > 0)
+#endif /* _KERNEL */
+
+/* Macros to do multiplication, division, and modulo by numbers that
+   are probably powers of two.  Depending on which define is set, the
+   operations can be performed using the built-in operators /, *, and %,
+   or using shifts and masks.  The _shift parameter of the macros should
+   be log base 2 of _divisor or _multiplier, or 0 if _divisor or
+   _multiplier is not a power of 2.  If POW2_COND_SHIFT is defined, the
+   generated code will test _shift for 0, then do either a shift or the
+   general operation.  If POW2_FORCE_SHIFT is defined, the generated
+   code will always use shifts.  This requires that the subblock size of
+   the file system actually be a power of 2.  If neither POW2_COND_SHIFT
+   nor POW2_FORCE_SHIFT are defined, the generated code will use the
+   general operations (/, *, or %). */
+#if defined(POW2_FORCE_SHIFT)
+# define MULT_OR_SHIFT(_multiplicand, _multiplier, _shift)   \
+     ((_multiplicand)<<(_shift))
+# define DIV_OR_SHIFT(_dividend, _divisor, _shift)           \
+     ((_dividend)>>(_shift))
+# define MOD_OR_MASK(_dividend, _divisor, _shift)            \
+     ((_dividend) & ((1<<(_shift)) - 1))
+#elif defined(POW2_COND_SHIFT)
+# define MULT_OR_SHIFT(_multiplicand, _multiplier, _shift)   \
+   ( ((_shift)!=0) ?                                         \
+       (_multiplicand) << (_shift) :                         \
+       ((_multiplicand)*(_multiplier)) )
+# define DIV_OR_SHIFT(_dividend, _divisor, _shift)           \
+   ( ((_shift)!=0) ?                                         \
+       (_dividend) >> (_shift) :                             \
+       ((_dividend)/(_divisor)) )
+# define MOD_OR_MASK(_dividend, _divisor, _shift)            \
+   ( ((_shift)!=0) ?                                         \
+       (_dividend) & ((1<<(_shift)) - 1) :                   \
+       ((_dividend)%(_divisor)) )
+#else
+# define MULT_OR_SHIFT(_multiplicand, _multiplier, _shift)   \
+     ((_multiplicand)*(_multiplier))
+# define DIV_OR_SHIFT(_dividend, _divisor, _shift)           \
+     ((_dividend)/(_divisor))
+# define MOD_OR_MASK(_dividend, _divisor, _shift)            \
+     ((_dividend)%(_divisor))
+#endif
+
+/* Memory copy macros that use memcpy when aligned data accesses
+   are necessary, and standard pointer typecast copying otherwise. */
+#ifdef ALIGNED_DATA_ACCESS
+#define MCPY(DEST, SRC, TYPE)  memcpy((void*) DEST, (void*) SRC, sizeof(TYPE));
+#define MCPY_SRCVAR(DEST, SRCVAR, TYPE)  memcpy((void*) DEST, (void*) &SRCVAR, sizeof(TYPE));
+#define MCPY_DESTVAR(DESTVAR, SRC, TYPE)  memcpy((void*) &DESTVAR, (void*) SRC, sizeof(TYPE));
+#define MCPY_VAR(DEST, SRC, TYPE)  memcpy((void*) &DEST, (void*) &SRC, sizeof(TYPE));
+#else
+#define MCPY(DEST, SRC, TYPE)  *((TYPE *)DEST) = *((TYPE *)SRC);
+#define MCPY_SRCVAR(DEST, SRCVAR, TYPE)  *((TYPE *)DEST) = SRCVAR;
+#define MCPY_DESTVAR(DESTVAR, SRC, TYPE) DESTVAR = *((TYPE *)SRC);
+#define MCPY_VAR(DEST, SRC, TYPE) DEST = SRC;
+#endif /* ALIGNED_DATA_ACCESS */
+
+/* Flag values for cxiNode_t::icValid:
+   Indicates whether inode attributes cached in the osNode (struct inode
+   in Linux) are known to be valid. */
+#define CXI_IC_PERM   0x00000001  /* permission related inode fields (owner,
+                                     mode, acl, etc) are valid */
+#define CXI_IC_ATTR   0x00000002  /* other inode fields are valid */
+
+/* combinations of bits defined above: */
+#define CXI_IC_STAT   0x00000003  /* what needs to be valid for stat() */
+#define CXI_IC_ALL    0x00000003  /* OR of all flags above */
+
+typedef Int32 DiskNum_t;
+typedef Int64 SectorNum_t;
+typedef Int32 SectorNumHigh_t;
+typedef UInt32 SectorNumLow_t;
+typedef Int64 BlkNum_t;
+#define DiskSizeInit MAX_INT64
+
+#ifndef INODENUM_ROOTDIR_FILE
+/* Definition needed in portability layer */
+#define INODENUM_ROOTDIR_FILE 3
+#endif
+
+#ifdef GPFS_LINUX
+#define THROWEMPTY throw()
+#else
+#define THROWEMPTY 
+#endif
+
+#endif  /* _h_cxiTypes */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiVFSStats.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiVFSStats.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/cxiVFSStats.h	(revision 16)
@@ -0,0 +1,327 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)47       1.12  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiVFSStats.h, mmfs, avs_rgpfs24, rgpfs240610b 1/12/05 11:14:56 */
+#ifndef _h_cxiVFSStats
+#define _h_cxiVFSStats
+
+/*
+ * Gather statistics for VFS operations:
+ *
+ * Usage:
+ *  - Placing an instance of the VFS_STAT_START macro at the begining
+ *    of a function and VFS_STAT_STOP macro at the end of a function
+ *    will keep a count of how many times the function is called as well
+ *    as the total amount of time spent in the function (elapsed time
+ *    between entering and leaving the function).
+ *  - Placing an instance of the VFS_INC macro inside a function will
+ *    update a call count, but not keep any time statistics.
+ *  - Use the command "mmfsadm vfsstats ..." to control and display
+ *    vfs statistics:
+ *       mmfsadm vfsstats enable    - turn on statistics gathering
+ *       mmfsadm vfsstats disable   - turn off statistics gathering
+ *       mmfsadm vfsstats reset     - reset all statistics counters
+ *       mmfsadm vfsstats show      - display statistics
+ *
+ */
+
+#include <cxiVFSStats-plat.h>
+
+/* Enumeration of all calls for which we keep vfs statistics.  Except as
+   noted, the enum value named xxxCall represents calls to the vnode or
+   vfs operation named xxx. */
+enum VFSStatItem
+{
+  // special value indicating statistics disabled
+  nullCall             = -1,
+
+  // vnode ops
+  accessCall           = 0,
+  closeCall            = 1,
+  createCall           = 2,
+  fclearCall           = 3,
+  fsyncCall            = 4,
+  fsync_rangeCall      = 5,
+  ftruncCall           = 6,
+  getattrCall          = 7,
+  linkCall             = 8,
+  lockctlCall          = 9,
+  lookupCall           = 10,
+  map_lloffCall        = 11,
+  mkdirCall            = 12,
+  mknodCall            = 13,
+  openCall             = 14,
+  readCall             = 15, // mmfs_rdwr with op == UIO_READ
+  writeCall            = 16, // mmfs_rdwr with op != UIO_READ
+  mmapReadCall         = 17, // mmap kproc read
+  mmapWriteCall        = 18, // mmap kproc write
+  readdirCall          = 19,
+  readlinkCall         = 20,
+  readpageCall         = 21,
+  removeCall           = 22,
+  renameCall           = 23,
+  rmdirCall            = 24,
+  setaclCall           = 25,
+  setattrCall          = 26,
+  symlinkCall          = 27,
+  unmapCall            = 28,
+  writepageCall        = 29,
+  tsfattrCall          = 30,
+  tsfsattrCall         = 31,
+  flockCall            = 32,
+  setxattrCall         = 33,
+  getxattrCall         = 34,
+  listxattrCall        = 35,
+  removexattrCall      = 36,
+  fsLocationCall       = 37,
+
+  //export ops
+  encode_fhCall        = 38,
+  decode_fhCall        = 39,
+  get_dentryCall       = 40,
+  get_parentCall       = 41,
+
+  // vfs ops
+  mountCall            = 42,
+  statfsCall           = 43,
+  syncCall             = 44,
+  vgetCall             = 45,
+
+  // other counters
+  startIOCall          = 46, // number of I/Os started
+  fastOpenCount        = 47, // no of mmfs_open calls that use fast open
+  fastCloseCount       = 48, // no of mmfs_close calls that use fast close
+  fastLookupCount      = 49, // no of mmfs_lookup calls that use fast lookup
+  fastReadCount        = 50, // no of mmfs_rdwr calls that use fast read
+  fastWriteCount       = 51, // no of mmfs_rdwr calls that use fast write
+  revalidateCount      = 52, // number of revalidate calls
+  nSyncWrites          = 53, // total number of synchronous write calls
+  nAvoidedFsyncs       = 54, // number of syncs avoided due to fsync coalescing
+  nYieldSyncWriters    = 55, // number of times yield in fsync coalescing worked
+
+  // histogram of numbers of coalesced fsyncs
+  nFSync_1             = 56, // These must be contiguous
+  nFSync_2             = 57,
+  nFSync_3             = 58,
+  nFSync_4             = 59,
+  nFSync_5             = 60,
+  nFSync_6             = 61,
+  nFSync_7             = 62,
+  nFSync_8             = 63,
+
+  // total number of stat items; add new items above!
+  nVFSStatItems = 64
+};
+
+#ifdef INCLUDE_VFSSTATITEMNAMESPP
+/* printable names for VFSStatItem enum values */
+const char *VFSStatItemNamesPP[] =
+{
+  "access",               // 0
+  "close",                // 1
+  "create",               // 2
+  "fclear",               // 3
+  "fsync",                // 4
+  "fsync_range",          // 5
+  "ftrunc",               // 6
+  "getattr",              // 7
+  "link",                 // 8
+  "lockctl",              // 9
+  "lookup",               // 10
+  "map_lloff",            // 11
+  "mkdir",                // 12
+  "mknod",                // 13
+  "open",                 // 14
+  "read",                 // 15
+  "write",                // 16
+  "mmapRead",             // 17
+  "mmapWrite",            // 18
+  "readdir",              // 19
+  "readlink",             // 20
+  "readpage",             // 21
+  "remove",               // 22
+  "rename",               // 23
+  "rmdir",                // 24
+  "setacl",               // 25
+  "setattr",              // 26
+  "symlink",              // 27
+  "unmap",                // 28
+  "writepage",            // 29
+  "tsfattr",              // 30
+  "tsfsattr",             // 31
+  "flock",                // 32
+  "setxattr",             // 33
+  "getxattr",             // 34
+  "listxattr",            // 35
+  "removexattr",          // 36
+  "NOT_USED",             // 37
+
+  //export ops
+  "encode_fh",            // 38
+  "decode_fh",            // 39
+  "get_dentry",           // 40
+  "get_parent",           // 41
+
+  // vfs ops
+  "mount",                // 42
+  "statfs",               // 43
+  "sync",                 // 44
+  "vget",                 // 45
+
+  // other counters
+  "startIO",              // 46
+  "fastOpen",             // 47
+  "fastClose",            // 48
+  "fastLookup",           // 49
+  "fastRead",             // 40
+  "fastWrite",            // 51
+  "revalidate",           // 52
+  "nSyncWrites",          // 53
+  "nAvoidedFsyncs",       // 54
+  "nYieldSyncWriters",    // 55
+
+  // histogram of number of coalesced fsyncs
+  "coalesce fsync 1",     // 56
+  "coalesce fsync 2",     // 57
+  "coalesce fsync 3",     // 58
+  "coalesce fsync 4",     // 69
+  "coalesce fsync 5",     // 60
+  "coalesce fsync 6",     // 61
+  "coalesce fsync 7",     // 62
+  "coalesce fsync >= 8",  // 63
+};
+#else
+extern const char *VFSStatItemNamesPP[];
+#endif
+
+/* Statistics about a vfs call */
+typedef struct VFSStatData
+{
+  UInt32 cnt;                // total no of calls
+  cxiTimeStruc_t totalTime;  // total amount of time in call
+} VFSStatData_t;
+
+
+typedef struct VFSStats
+{
+  /* Statistics updated by kernel operations.  These are always updated by
+     using the VFS_STAT_START(xxxCall) and VFS_STAT_STOP macro pair, where
+     xxxCall is one of the enum VFSStatItem values.  If NO_VFS_STATS is
+     defined, the VFS_STAT macro will not generate any code. */
+  VFSStatData_t data[nVFSStatItems];
+
+  /* Flag indicating whether statistic gathering is currently enabled.
+     Use enable/disable methods to set or clear this flag. */
+  Boolean enabled;
+
+  /* Time period over which statistics were gathered:
+     startTime is the absolute time at which statistic gathering were last
+     started or reset by a call to enable() or reset(), and endTime is the
+     absolute time at which statistic gathering was last disabled.  If still
+     enabled, endTime will be zero. */
+  cxiTimeStruc_t startTime;  // absolute time in nanoseconds
+  cxiTimeStruc_t endTime;    // absolute time in nanoseconds
+
+} VFSStats_t;
+
+/* Enable/disable statistic gathering.  Set or clears the enabled flag and
+   updates startTime/endTime values accordingly.  The reset() method resets
+   all statistics data but leaves the enabled flag unchanged. */
+EXTERNC void VFSStats_enable(VFSStats_t *objPtr);
+EXTERNC void VFSStats_disable(VFSStats_t *objPtr);
+EXTERNC void VFSStats_reset(VFSStats_t *objPtr);
+
+/* Kernel extension interface to enable, disable, reset, and/or retrieve vfs
+   statistics, as indicated by the 'cmd' parameter (see #define's below).
+   The 'bufP' parameter is used to return statistics to the caller. */
+
+EXTERNC int kxVFSStatCtl(int cmd, void *bufP, int bufSize);
+
+#define VSTAT_ENABLE  0x01  // enable statistics gathering
+#define VSTAT_DISABLE 0x02  // disable statistics gathering
+#define VSTAT_RESET   0x04  // reset statistics
+#define VSTAT_GET     0x08  // copy statistics from kernel to bufP in user
+                            //   space; bufSize must be >= sizeof(VFSStats)
+
+#ifdef _KERNEL
+
+/* Instance of VFSStats class in the kernel */
+#ifdef DEFINE_VFSSTATS_GBL_VARS
+VFSStats_t vfsStats;
+#else
+extern VFSStats_t vfsStats;
+#endif
+
+/* Class to update vfs statistics on entering and exiting a vfs or vnode op.
+   If statistic gathering is enabled, the VFSStatPoint constructor will record
+   the current time; the destructor will calculate how much time has elapsed
+   since the constructor was called and update VFSStats accordingly.  The
+   intended use is that each function for which statistics are to be gathered
+   will have a variable of type VFSStatPoint declared at the very top of
+   the function (using the VFS_STAT_START macro defined below).  This way the
+   VFSStatPoint constructor will be called when the function is entered and
+   the destructor will be called before returning from the function
+   using the VFS_STAT_STOP macro. */
+typedef struct VFSStatPoint
+{
+  enum VFSStatItem statItem;
+  cxiTimeStruc_t beginTime;
+} VFSStatPoint_t;
+
+/* OS dependent functions in implementation layer */
+EXTERNC void VFSStatPoint_begin(VFSStatPoint_t *objPtr, enum VFSStatItem i);
+EXTERNC void VFSStatPoint_end(VFSStatPoint_t *objPtr);
+
+/* Psuedo constructor and destructor.  */
+static inline void VFSStatPoint_create(VFSStatPoint_t *objPtr, enum VFSStatItem i)
+{ if (vfsStats.enabled)
+    VFSStatPoint_begin(objPtr, i);
+  else objPtr->statItem = nullCall;
+}
+static inline void VFSStatPoint_destroy(VFSStatPoint_t *objPtr)
+{ if (vfsStats.enabled)
+    VFSStatPoint_end(objPtr);
+}
+
+#ifdef NO_VFS_STATS
+#define VFS_STAT_START(i) NOOP
+#define VFS_STAT_STOP NOOP
+#define VFS_INC(i)  NOOP
+#else
+#define VFS_STAT_START(i) VFSStatPoint_t vsp; VFSStatPoint_create(&vsp,i);
+#define VFS_STAT_STOP VFSStatPoint_destroy(&vsp);
+#define VFS_INC(i)  if (vfsStats.enabled) vfsStats.data[i].cnt++; else NOOP
+#endif
+
+#endif // _KERNEL
+
+#endif // _h_cxiVFSStats
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/makefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/makefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-kxi/makefile	(revision 16)
@@ -0,0 +1,376 @@
+# Makefile generated by imake - do not edit!
+# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+# $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+#==================================================
+# Copyright IBM 1993
+#==================================================
+
+###################################################
+# This makefile is automatically generated by
+# imake... do not modify or you may lose your
+# changes when imake generates makefiles again.
+# Ignore this message if you are not using imake.
+###################################################
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+PATCHED_KERNEL_FLAGS =
+
+CXI_HEADER_DIR = $(DESTDIR)/include
+
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS =
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+# Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+###################################################
+# The following comes from the site.mcr
+###################################################
+
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include
+
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build
+
+LINUX_PATCH_DEFINES =
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+
+COMMON_DEFINES =   -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES =   -DDBGASSERTS   -DNEW_DELETE_DEBUG    -DTRACK_USECOUNT   -DTRIGGERS   -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES =   -DINSTRUMENT_LOCKS   -DPTHREAD_STATS   -DTRACE_IO_DATA   -DENTRYEXIT_TRACE
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX =   -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -D$(LINUX_DISTRIBUTION)   -DLINUX_DISTRIBUTION_LEVEL=90   $(LINUX_PATCH_DEFINES)
+
+EXTRASTD_LDFLAGS =
+EXTRALDFLAGS2 =
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer
+
+COMMON_26_FLAGS += -m32 -ffreestanding
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2
+OPTFLAGS  += $(COMMON_26_FLAGS)
+
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+
+DEFAULT_DEFINES =   $(COMMON_LINUX)   -DLINUX_KERNEL_VERSION=2062015   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+SITE_FAR_TRACE_OPTS =
+
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+###################################################
+# Back from site.mcr
+###################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+Headers::
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" = "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" != "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \
+	  if [ ! -f /etc/SuSE-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \
+	  echo "This is OK" > /dev/null; \
+	else \
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \
+	fi;
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+clean::
+	$(RM) #* ,* *~ *.CKP *.BAK *.bak core
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+	$(RM) install.ti install.he library.ti *.rpm
+
+makefile:: Imakefile $(IRULESRC)/imake.tmpl $(IRULESRC)/site.mcr
+		$(IMAKE_CMD); \
+		touch .depends; \
+		cat .depends >>makefile
+
+###################################################
+# The following comes from the local Imakefile
+###################################################
+
+.C.o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $*.C
+.C.32o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS32) $*.C -o $*.32o
+.C.64o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS64) $*.C -o $*.64o
+.c.o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $*.c
+.c.32o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS32) $*.c -o $*.32o
+.c.64o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS64) $*.c	-o $*.64o
+
+.c.ko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KCFLAGS) $*.c
+.C.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.C
+.S.o:
+	$(RM) $@
+	$(CC) -o $@ -c $(CFLAGS) $*.S
+.S.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.S
+.c.pko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.c
+.C.pko:
+	$(RM) $@
+	$(CC) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.C
+.rpc.h:
+	$(MKRPC) $*.rpc
+
+HEADERS = cxiTypes.h cxiSystem.h cxi2gpfs.h cxiVFSStats.h cxiCred.h           cxiIOBuffer.h cxiSharedSeg.h cxiMode.h Trace.h cxiMmap.h           cxiAtomic.h cxiTSFattr.h cxiAclUser.h cxiLinkList.h cxiDmapi.h 	  LockNames.h
+
+install.he:: $(HEADERS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL) $(INSTINCFLAGS) $$i  $(CXI_HEADER_DIR)/$$i) done)
+
+###################################################
+# Back from the local Imakefile
+###################################################
+
+Makefiles:: makefile
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+##### DEPENDENCY LINE - DO NOT DELETE #####
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/Imakefile	(revision 16)
@@ -0,0 +1,10 @@
+/* $Id: Imakefile,v 1.15 2004/08/10 13:08:55 gjertsen Exp $ */
+
+NormalObjectRule()
+
+HEADERS = cxiTypes-plat.h cxiSystem-plat.h cxiIOBuffer-plat.h \
+          cxiSharedSeg-plat.h cxiMode-plat.h Trace-plat.h lxtrace.h \
+          cxiAtomic-plat.h cxiMmap-plat.h cxiVFSStats-plat.h \
+          cxiCred-plat.h cxiDmapi-plat.h
+
+InstallHeaders($(HEADERS), $(CXI_HEADER_DIR)) 
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/Trace-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/Trace-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/Trace-plat.h	(revision 16)
@@ -0,0 +1,255 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)03       1.21  src/avs/fs/mmfs/ts/kernext/ibm-linux/Trace-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 7/1/04 11:13:25 */
+/*
+ * Linux-specific trace definitions
+ *
+ */
+
+#ifndef _h_Trace_plat
+#define _h_Trace_plat
+
+#ifndef _h_Trace
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+#ifdef GPFS_PRINTF
+#  ifdef __KERNEL__
+#    ifdef __cplusplus
+       extern "C"
+       {
+         int printk(const char * fmt, ...)
+                    __attribute__ ((format (printf, 1, 2)));
+       }
+#    else  /* !__cplusplus */
+       extern int printk(const char * fmt, ...)
+                         __attribute__ ((format (printf, 1, 2)));
+#    endif  /* __cplusplus */
+#  endif  /* __KERNEL__ */
+#endif  /* GPFS_PRINTF */
+
+
+/* Maximum number of trace classes */
+#define MAX_TRACE_CLASSES 54
+
+
+#ifdef _KERNEL
+#  define GPFS_NOTICE "<5>"
+#endif
+
+/* Define a global test for whether or not tracing is on.  On Linux, there
+   is no way to efficiently test this, so assume tracing is always on. */
+# define _GBL_TRC_IS_ON 1
+
+
+/* In the daemon, trace macros always reference the trace flags through
+   the pointer TraceFlagsP.  There is a copy of this pointer in the GPFS
+   daemon, that initially points to PrivateTraceFlagsArray.  After the
+   shared segment has been initialized, the contents of this array are
+   copied into Shared.traceFlags and TraceFlagsP is changed to point to
+   this shared copy.  In the kernel, TraceFlagsP is an array of trace
+   levels.  This is kept in sync with Shared.traceFlags by the
+   kxSetTraceLevel kernel call whenever 'mmfsadm trace foo n' changes
+   any trace flags.  */
+#ifdef DEFINE_TRACE_GBL_VARS
+# ifdef _KERNEL
+    char TraceFlagsP[MAX_TRACE_CLASSES] = { 0 };
+# else
+    char PrivateTraceFlagsArray[MAX_TRACE_CLASSES] = { 0 };
+    char* TraceFlagsP = PrivateTraceFlagsArray;
+# endif
+#else
+# ifdef _KERNEL
+    extern char TraceFlagsP[MAX_TRACE_CLASSES];
+# else
+    extern char PrivateTraceFlagsArray[MAX_TRACE_CLASSES];
+    extern char* TraceFlagsP;
+# endif
+#endif  /* DEFINE_TRACE_GBL_VARS */
+
+
+/* Define macros for code that is generated before and after the actual
+   trace call.  If FAR_TRACE is #defined, the actual call to the trace
+   subroutine will be placed far away from the test of whether or not
+   tracing is turned on.  When tracing is turned off, this technique
+   reduces the number of I-cache misses, thereby improving performance
+   significantly (5-10%).  Use of the FAR_TRACE option is not compatible
+   with -g, and requires compiler options -fno-exceptions and
+   -fno-defer-pop to insure that correct code is generated. */
+#ifdef FAR_TRACE
+# if defined(GPFS_ARCH_I386)
+#   define _TR_BEFORE __asm__(                                \
+                        " jmp 2f\n"                           \
+                        ".section .text.trace,\"ax\"\n"       \
+                        "2:\n"                                \
+                      );
+#   define _TR_AFTER  __asm__(                                \
+                        " jmp 1f\n"                           \
+                        ".previous\n"                         \
+                        "1:\n"                                \
+                      );
+# elif defined(GPFS_ARCH_IA64)
+/* Changing sections in the middle of a function is apparently a
+   fairly bad thing to do for IA64 (screws up unwinding information,
+   probably the debugging information, and also insn binding) and causes
+   the gnu assembler to spew when optimizations are turned on.
+   The gcc __buildin_expect(x,0) directive may be an alternative
+   in the future, but this currently doesn't provide any performance
+   enhancements with gcc 3.2, so we'll do nothing for now. */
+#if 0
+#   define _TR_BEFORE __asm__(                                \
+                        " (p0) br.cond.sptk.few 2f\n"         \
+                        ".section .text.trace,\"ax\"\n"       \
+                        "2:\n"                                \
+                      );
+#   define _TR_AFTER  __asm__(                                \
+                        " (p0) br.cond.sptk.many 1f\n"        \
+                        ".previous\n"                         \
+                        "1:\n"                                \
+                      );
+#endif
+#   define _TR_BEFORE
+#   define _TR_AFTER
+# else
+#   define _TR_BEFORE
+#   define _TR_AFTER
+# endif  /* GPFS_ARCH_I386 */
+#else
+# define _TR_BEFORE
+# define _TR_AFTER
+#endif  /* FAR_TRACE */
+
+
+#ifdef _KERNEL
+# define PDEBUG(_c, _l, _fmt, args...) \
+    if (_TRACE_IS_ON(_c, _l)) printk( GPFS_NOTICE "kp %X:" _fmt, cxiGetThreadId() ,## args); else NOOP
+#else
+#     ifdef __cplusplus
+  extern "C" int ktrace(const char *fmt, ...);
+#     else  /* !__cplusplus */
+  extern  int ktrace(const char *fmt, ...);
+#     endif
+# define PDEBUG(_c, _l, _fmt, args...) \
+    if (_TRACE_IS_ON(_c, _l)) ktrace(_fmt, args); else NOOP
+#endif  /* _KERNEL */
+
+
+/* Special values for pos field in _STrace calls */
+#define _TR_FORMAT_I 250   /* all integer arguments */
+#define _TR_FORMAT_F 251   /* all integer arguments, plus the last argument
+                              is a float */
+#define _TR_FORMAT_X 252   /* preformatted string from TRACEnX */
+
+
+#ifndef GPFS_PRINTF
+
+/* NOTE: following _TRACExxx macros are used by the tracing facility but
+   should NOT be explicitly used in the gpfs source code. These are
+   intended to keep trcid.h from getting too large. */
+
+/* Define the trace hook macros used by the generated code in trcid.h for
+   all-integer calls */
+#define _TRACE0D(hw)           _STrace(hw, 0, _TR_FORMAT_I, 1)
+#define _TRACE1D(hw, args...)  _STrace(hw, 1, _TR_FORMAT_I,##args)
+#define _TRACE2D(hw, args...)  _STrace(hw, 2, _TR_FORMAT_I,##args)
+#define _TRACE3D(hw, args...)  _STrace(hw, 3, _TR_FORMAT_I,##args)
+#define _TRACE4D(hw, args...)  _STrace(hw, 4, _TR_FORMAT_I,##args)
+#define _TRACE5D(hw, args...)  _STrace(hw, 5, _TR_FORMAT_I,##args)
+#define _TRACE6D(hw, args...)  _STrace(hw, 6, _TR_FORMAT_I,##args)
+#define _TRACE7D(hw, args...)  _STrace(hw, 7, _TR_FORMAT_I,##args)
+#define _TRACE8D(hw, args...)  _STrace(hw, 8, _TR_FORMAT_I,##args)
+#define _TRACE9D(hw, args...)  _STrace(hw, 9, _TR_FORMAT_I,##args)
+#define _TRACE10D(hw, args...) _STrace(hw, 10, _TR_FORMAT_I,##args)
+#define _TRACE11D(hw, args...) _STrace(hw, 11, _TR_FORMAT_I,##args)
+#define _TRACE12D(hw, args...) _STrace(hw, 12, _TR_FORMAT_I,##args)
+
+#define _TRACE13D(hw, args...) _STrace(hw, 13, _TR_FORMAT_I,##args)
+#define _TRACE14D(hw, args...) _STrace(hw, 14, _TR_FORMAT_I,##args)
+#define _TRACE15D(hw, args...) _STrace(hw, 15, _TR_FORMAT_I,##args)
+#define _TRACE16D(hw, args...) _STrace(hw, 16, _TR_FORMAT_I,##args)
+#define _TRACE17D(hw, args...) _STrace(hw, 17, _TR_FORMAT_I,##args)
+#define _TRACE18D(hw, args...) _STrace(hw, 18, _TR_FORMAT_I,##args)
+#define _TRACE19D(hw, args...) _STrace(hw, 19, _TR_FORMAT_I,##args)
+#define _TRACE20D(hw, args...) _STrace(hw, 20, _TR_FORMAT_I,##args)
+
+#ifdef LTRACE_FUTURE
+#define TRCGENT(0, hookid, trcid, len, trcTemp) (void)0
+#endif
+
+/* non blocking versions */
+#define _TRACE0D_NB(hw)           _STraceNB(hw, 0, _TR_FORMAT_I, 1)
+#define _TRACE1D_NB(hw, args...)  _STraceNB(hw, 1, _TR_FORMAT_I,##args)
+#define _TRACE2D_NB(hw, args...)  _STraceNB(hw, 2, _TR_FORMAT_I,##args)
+#define _TRACE3D_NB(hw, args...)  _STraceNB(hw, 3, _TR_FORMAT_I,##args)
+#define _TRACE4D_NB(hw, args...)  _STraceNB(hw, 4, _TR_FORMAT_I,##args)
+#define _TRACE5D_NB(hw, args...)  _STraceNB(hw, 5, _TR_FORMAT_I,##args)
+#define _TRACE6D_NB(hw, args...)  _STraceNB(hw, 6, _TR_FORMAT_I,##args)
+#define _TRACE7D_NB(hw, args...)  _STraceNB(hw, 7, _TR_FORMAT_I,##args)
+#define _TRACE8D_NB(hw, args...)  _STraceNB(hw, 8, _TR_FORMAT_I,##args)
+#define _TRACE9D_NB(hw, args...)  _STraceNB(hw, 9, _TR_FORMAT_I,##args)
+#define _TRACE10D_NB(hw, args...) _STraceNB(hw, 10, _TR_FORMAT_I,##args)
+#define _TRACE11D_NB(hw, args...) _STraceNB(hw, 11, _TR_FORMAT_I,##args)
+#define _TRACE12D_NB(hw, args...) _STraceNB(hw, 12, _TR_FORMAT_I,##args)
+
+#define _TRACE13D_NB(hw, args...) _STraceNB(hw, 13, _TR_FORMAT_I,##args)
+#define _TRACE14D_NB(hw, args...) _STraceNB(hw, 14, _TR_FORMAT_I,##args)
+#define _TRACE15D_NB(hw, args...) _STraceNB(hw, 15, _TR_FORMAT_I,##args)
+#define _TRACE16D_NB(hw, args...) _STraceNB(hw, 16, _TR_FORMAT_I,##args)
+#define _TRACE17D_NB(hw, args...) _STraceNB(hw, 17, _TR_FORMAT_I,##args)
+#define _TRACE18D_NB(hw, args...) _STraceNB(hw, 18, _TR_FORMAT_I,##args)
+#define _TRACE19D_NB(hw, args...) _STraceNB(hw, 19, _TR_FORMAT_I,##args)
+#define _TRACE20D_NB(hw, args...) _STraceNB(hw, 20, _TR_FORMAT_I,##args)
+
+#define _TRACE1F(hw, args...) _STrace(hw, 0, _TR_FORMAT_F,##args)
+#define _TRACE2F(hw, args...) _STrace(hw, 1, _TR_FORMAT_F,##args)
+#define _TRACE3F(hw, args...) _STrace(hw, 2, _TR_FORMAT_F,##args)
+#define _TRACE4F(hw, args...) _STrace(hw, 3, _TR_FORMAT_F,##args)
+#define _TRACE5F(hw, args...) _STrace(hw, 4, _TR_FORMAT_F,##args)
+#define _TRACE6F(hw, args...) _STrace(hw, 5, _TR_FORMAT_F,##args)
+#define _TRACE7F(hw, args...) _STrace(hw, 6, _TR_FORMAT_F,##args)
+#define _TRACE8F(hw, args...) _STrace(hw, 7, _TR_FORMAT_F,##args)
+#define _TRACE9F(hw, args...) _STrace(hw, 8, _TR_FORMAT_F,##args)
+
+#define _TRACE1F_NB(hw, args...) _STraceNB(hw, 0, _TR_FORMAT_F,##args)
+#define _TRACE2F_NB(hw, args...) _STraceNB(hw, 1, _TR_FORMAT_F,##args)
+#define _TRACE3F_NB(hw, args...) _STraceNB(hw, 2, _TR_FORMAT_F,##args)
+#define _TRACE4F_NB(hw, args...) _STraceNB(hw, 3, _TR_FORMAT_F,##args)
+#define _TRACE5F_NB(hw, args...) _STraceNB(hw, 4, _TR_FORMAT_F,##args)
+#define _TRACE6F_NB(hw, args...) _STraceNB(hw, 5, _TR_FORMAT_F,##args)
+#define _TRACE7F_NB(hw, args...) _STraceNB(hw, 6, _TR_FORMAT_F,##args)
+#define _TRACE8F_NB(hw, args...) _STraceNB(hw, 7, _TR_FORMAT_F,##args)
+#define _TRACE9F_NB(hw, args...) _STraceNB(hw, 8, _TR_FORMAT_F,##args)
+
+#endif /* GPFS_PRINTF */
+
+#endif  /* _h_Trace_plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiAtomic-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiAtomic-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiAtomic-plat.h	(revision 16)
@@ -0,0 +1,603 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)98       1.20  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiAtomic-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 6/24/05 15:57:45 */
+/*
+ * Platform specific synchronization/atomic operations for Linux
+ *
+ * Note that these should not be directly invoked; instead use the
+ * ATOMIC_XXX and ATOMIC_XXXLP macros from <cxiAtomic.h>.
+ *
+ * Definitions for baseline atomic operations (long/pointer variants)
+ *     comp_and_swap(lp)
+ *
+ * Definitions for atomic operations
+ *     fetch_and_add(lp)
+ *     fetch_and_and(lp)
+ *     fetch_and_or(lp)
+ *     compare_and_swap(lp)
+ *     _check_lock
+ *
+ */
+
+#ifndef _h_cxiAtomic_plat
+#define _h_cxiAtomic_plat
+
+#ifndef _h_cxiAtomic
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* NOTE: need to further split this file into architecture specific headers. */
+
+#include <cxiTypes.h>
+
+
+/* Memory fencing operations for various architectures */
+
+#if defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_PPC64)
+#ifndef CONFIG_UP
+#define IMPORT_FENCE __asm__ __volatile__ ("isync" : : )
+#define EXPORT_FENCE __asm__ __volatile__ ("sync" : : )
+#else
+#define IMPORT_FENCE ((void)0)
+#define EXPORT_FENCE ((void)0)
+#endif
+/* A complete fence is defined as insuring that the most recently preceding
+   store is visible to all processors before any subsequent access completes
+   in storage.  For PowerPC MP, the implementations of COMPLETE_FENCE and
+   EXPORT_FENCE are the same. */
+#define COMPLETE_FENCE EXPORT_FENCE
+#endif /* GPFS_ARCH_POWER */
+
+#ifdef GPFS_ARCH_I386
+/* Memory in the I386 architecture is always consistent from all processors,
+   so explicit fence instructions are not needed. */
+#define IMPORT_FENCE ((void)0)
+#define EXPORT_FENCE ((void)0)
+#define COMPLETE_FENCE ((void)0)
+#endif  /* GPFS_ARCH_I386 */
+
+#ifdef GPFS_ARCH_IA64
+/* Only full/complete memory fence available */
+#define IMPORT_FENCE __asm__ __volatile__ ("mf" : : )
+#define EXPORT_FENCE __asm__ __volatile__ ("mf" : : )
+#define COMPLETE_FENCE __asm__ __volatile__ ("mf" : : )
+#endif
+
+#ifdef GPFS_ARCH_X86_64
+#define IMPORT_FENCE __asm__ __volatile__ ("sfence":::"memory")
+#define EXPORT_FENCE __asm__ __volatile__ ("mfence":::"memory")
+#define COMPLETE_FENCE EXPORT_FENCE
+#endif
+
+
+/* Baseline atomic operation for i386: comp_and_swap */
+
+#if defined(GPFS_ARCH_I386)
+
+/* Compare the contents of word_addr with the contents of old_val_addr.
+   If the values are equal, store new_val in word_addr and return 1.
+   Otherwise, set old_val_addr to the current value of word_addr and
+   return 0. See ppc64 comp_and_swaplp for details on exception table
+   code . */
+static inline int
+comp_and_swap(volatile int *word_addr, int *old_val_addr, int new_val)
+{
+   unsigned char result;
+
+   __asm__  __volatile__(
+            "1: lock; cmpxchg %3,%0           \n\
+             2: setz %2                       \n\
+             .section .fixup, \"ax\"          \n\
+             3: jmp 2b                        \n\
+             .previous                        \n\
+             .section __ex_table, \"a\"       \n\
+             .align 4                         \n\
+             .long 1b, 3b                     \n\
+             .previous"
+
+	    :"=m" (*word_addr),
+	     "=a" (*old_val_addr),
+	     "=&b" (result)
+
+	    :"r" (new_val),
+	     "a" (*old_val_addr)
+
+	    :"cc",
+	     "memory");
+    return result;
+}
+
+#endif /* GPFS_ARCH_I386 */
+
+/* Baseline atomic operations for x86_64: comp_and_swap and comp_and_swaplp .
+   See ppc64 comp_and_swaplp for details on exception table code. */
+
+#ifdef GPFS_ARCH_X86_64
+
+/* Compare the contents of word_addr with the contents of old_val_addr.
+   If the values are equal, store new_val in word_addr and return 1.
+   Otherwise, set old_val_addr to the current value of word_addr and
+   return 0. See ppc64 comp_and_swaplp for details on exception table
+   code . */
+static inline int
+comp_and_swap(volatile int *word_addr, int *old_val_addr, int new_val)
+{
+   unsigned char result;
+
+   __asm__  __volatile__(
+            "lock; cmpxchg %3,%0           \n\
+             setz %2"
+
+	    :"=m" (*word_addr),
+	     "=a" (*old_val_addr),
+	     "=&b" (result)
+
+	    :"r" (new_val),
+	     "a" (*old_val_addr)
+
+	    :"cc",
+	     "memory");
+    return result;
+}
+
+static inline int
+comp_and_swaplp(volatile long *word_addr, long *old_val_addr, long new_val)
+{
+   char result;
+
+   __asm__  __volatile__(
+            "1: lock; cmpxchgq %3,%0          \n\
+             2: setz %2                       \n\
+             .section .fixup, \"ax\"          \n\
+             3: jmp 2b                        \n\
+             .previous                        \n\
+             .section __ex_table, \"a\"       \n\
+             .align 8                         \n\
+             .quad 1b, 3b                     \n\
+             .previous"
+
+            :"=m" (*word_addr),
+             "=a" (*old_val_addr),
+             "=q" (result)
+
+            :"r" (new_val),
+             "a" (*old_val_addr)
+
+            :"cc",
+             "memory");
+    return result;
+}
+#endif /* GPFS_ARCH_X86_64 */
+
+
+/* Baseline atomic operation for power: comp_and_swap */
+
+#if defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_PPC64)
+
+/* Compare the contents of word_addr with the contents of old_val_addr.
+   If the values are equal, store new_val in word_addr and return 1.
+   Otherwise, set old_val_addr to the current value of word_addr and
+   return 0. */
+static inline int
+comp_and_swap(volatile int *word_addr, int *old_val_addr, int new_val)
+{
+        int result;
+
+        __asm__ __volatile__(
+"1:     lwarx   %0,0,%4        # result = *word_addr                    \n\
+        cmplw   cr0,%0,%3      # compare result to *old_val_addr        \n\
+        bne-    2f             # skip to 2: if mismatch                 \n\
+        stwcx.  %2,0,%4        # *word_addr = new_val                   \n\
+        bne-    1b             # repeat if reservation lost             \n\
+        li      %0,1           # result = 1                             \n\
+        b       3f                                                      \n\
+2:      stw     %0,%1          # *old_val_addr = result                 \n\
+        li      %0,0           # result = 0                             \n\
+3:"
+        // output values
+        : "=&r" (result),       // %0 return value + temp variable
+          "=m" (*old_val_addr)  // %1 changed if mismatch
+
+        // input values
+        : "r" (new_val),        // %2
+          "r" (*old_val_addr),  // %3
+          "r" (word_addr)       // %4
+        : "cr0", "memory");     // "memory" because we modify *word_addr
+
+	return result;
+}
+#endif /* GPFS_ARCH_POWER */
+
+#ifdef GPFS_ARCH_PPC64
+/* This is a regular comp_and_swap function, but with an added twist.
+ * In SLES9 SP1 ppc64, a patch has been added that modifies the page
+ * fault handler to search the exceptions table _before_ an actual 
+ * exception happens, in the course of handling a minor page fault
+ * triggered by a store to a userspace address.  If the offending 
+ * instruction is not found in the module exception table, the page 
+ * fault will result in an Oops, even though the dereferenced address 
+ * is actually OK, and would have resulted in a successful store had
+ * it been given a chance to proceed.  This problems occurs in 
+ * internalAcquire, where we have to do some atomic store operations on
+ * the lockWord that may be located in the userspace.  To work around
+ * this check, we add exception handling code to all ppc64 atomic ops.
+ * This exception code does absolutely nothing (it transfers control
+ * back to the instruction following the one that triggered the fault),
+ * but that doesn't really matter, as we do not expect the exception
+ * handling code to ever be invoked, we only want search_exception_tables()
+ * not to return false.  If a bad address is passed to internalAcquire,
+ * we'll get an Oops or assert before getting a chance to run any atomic
+ * ops.  See LTC bugzilla 14533 for more details. */
+static inline int
+comp_and_swaplp(volatile long *word_addr, long *old_val_addr, long new_val)
+{ 
+        long result;
+
+        __asm__ __volatile__(
+"1:     ldarx   %0,0,%4        # result = *word_addr                    \n\
+8:      cmpld   cr0,%0,%3      # compare result to *old_val_addr        \n\
+        bne-    2f             # skip to 2: if mismatch                 \n\
+4:      stdcx.  %2,0,%4        # *word_addr = new_val                   \n\
+        .section .fixup, \"ax\"                                         \n\
+5:      b       6f                                                      \n\
+7:      b       8b                                                      \n\
+        .previous                                                       \n\
+        .section __ex_table, \"a\"                                      \n\
+        .align 3                                                        \n\
+        .llong 4b, 5b                                                   \n\
+        .llong 1b, 7b                                                   \n\
+        .previous                                                       \n\
+6:      bne-    1b             # repeat if reservation lost             \n\
+        li      %0,1           # result = 1                             \n\
+        b       3f                                                      \n\
+2:      std     %0,%1          # *old_val_addr = result                 \n\
+        li      %0,0           # result = 0                             \n\
+3:"
+        // output values
+        : "=&r" (result),       // %0 return value + temp variable
+          "=m" (*old_val_addr)  // %1 changed if mismatch 
+
+        // input values
+        : "r" (new_val),        // %2
+          "r" (*old_val_addr),  // %3
+          "r" (word_addr)       // %4
+        : "cr0", "memory");     // "memory" because we modify *word_addr
+
+        return (int)result;
+}
+#endif
+
+
+/* Baseline atomic operations for ia64: comp_and_swap and comp_and_swaplp */
+
+/* Found the HP IA64 ISA guide very useful here:
+   http://devresource.hp.com/devresource/Docs/Refs/IA64ISA/ */
+
+#ifdef GPFS_ARCH_IA64
+
+#define MASK_LOWER32 0x00000000FFFFFFFFULL
+
+/* Compare the contents of word_addr with the contents of old_val_addr.
+   If the values are equal, store new_val in word_addr and return 1.
+   Otherwise, set old_val_addr to the current value of word_addr and
+   return 0. */
+
+/* compare and swap 4-byte halfword */
+static inline int
+comp_and_swap(volatile int *word_addr, int *old_val_addr, int new_val)
+{
+  UInt64 old_val = ((UInt64)*old_val_addr) & MASK_LOWER32;
+  UInt64 ret_val;
+
+  /* Ensure mov-to-AR[CCV] in separate instruction group/bundle from cmpxchg
+     to handle RAW dependency */
+  __asm__ __volatile__ ("mov ar.ccv=%0\n\
+                         ;;"
+                         :
+                         : "rO"(old_val));
+  /* Use acquire consistancy sem with cmpxchg
+     (memory write visible to all subsequent data memory accesses) */
+  __asm__ __volatile__ ("cmpxchg4.acq %0=[%1],%2,ar.ccv"
+
+                        : "=r"(ret_val)
+
+                        : "r"(word_addr),
+                          "r"(new_val)
+
+                        : "memory");
+
+  if (ret_val == old_val)
+    return 1;
+  else
+  {
+    *old_val_addr = (int)ret_val;
+    return 0;
+  }
+}
+
+/* compare and swap natural 8-byte word */
+static inline int
+comp_and_swaplp(volatile long *word_addr, long *old_val_addr, long new_val)
+{
+  long ret;
+
+  /* Ensure mov-to-AR[CCV] in separate instruction group/bundle from cmpxchg
+     to handle RAW dependency */
+  __asm__ __volatile__ ("mov ar.ccv=%0\n\
+                        ;;"
+                        :
+                        : "rO"(*old_val_addr));
+
+  /* Use acquire consistancy sem with cmpxchg
+     (memory write visible to all subsequent data memory accesses) */
+  __asm__ __volatile__ ("cmpxchg8.acq %0=[%1],%2,ar.ccv"
+
+                        : "=r"(ret)
+
+                        : "r"(word_addr),
+                          "r"(new_val)
+
+                        : "memory");
+
+  if (ret == *old_val_addr)
+    return 1;
+  else
+  {
+    *old_val_addr = ret;
+    return 0;
+  }
+}
+
+#endif /* GPFS_ARCH_IA64 */
+
+
+/* fetch_and_XXX and fetch_and_XXXlp operations */
+
+/* With inlined functions we cannot use the standard trace statements, so
+   for the atomic operations the USE_LOCK_TRACE must be toggled on to
+   debug these operations (which fortunately shouldn't happen often). */
+#undef USE_LOCK_TRACE
+
+#ifdef USE_LOCK_TRACE
+#ifdef _KERNEL
+#define LOCK_TRACE printk
+#else
+#define LOCK_TRACE printf
+#endif /* _KERNEL */
+#else
+#define LOCK_TRACE(X1,X2,X3,X4,X5,X6)
+#endif /* USE_LOCK_TRACE */
+
+static inline int 
+fetch_and_add(atomic_p wd, int i)
+{
+  int ret, oldVal, newVal;
+  oldVal = cxiSafeGetInt(wd);
+
+  do
+  {
+    newVal = oldVal + i;
+    ret = comp_and_swap((volatile int *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_add: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+
+#ifdef __64BIT__
+static inline long
+fetch_and_addlp(atomic_l wd, long i)
+{
+  long oldVal, newVal;
+  int  ret;
+
+  oldVal = cxiSafeGetLong(wd);
+
+  do
+  {
+    newVal = oldVal + i;
+    ret = comp_and_swaplp((volatile long *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_addlp: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+#endif /* __64BIT__ */
+
+static inline int 
+fetch_and_and(atomic_p wd, uint mask)
+{
+  int ret, oldVal,newVal;
+  oldVal = cxiSafeGetInt(wd);
+
+  do
+  {
+    newVal = oldVal & mask;
+    ret = comp_and_swap((volatile int *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_and: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+
+#ifdef __64BIT__
+static inline long
+fetch_and_andlp(atomic_l wd, ulong  mask)
+{
+  long oldVal,newVal;
+  int ret;
+  oldVal = cxiSafeGetLong(wd);
+
+  do
+  {
+    newVal = oldVal & mask;
+    ret = comp_and_swaplp((volatile long *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_andlp: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+#endif /* __64BIT__ */
+
+static inline int 
+fetch_and_or(atomic_p wd, uint mask)
+{
+  int ret, oldVal,newVal;
+  oldVal = cxiSafeGetInt(wd);
+
+  do
+  {
+    newVal = oldVal | mask;
+    ret = comp_and_swap((volatile int *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_or: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+
+#ifdef __64BIT__
+static inline long
+fetch_and_orlp(atomic_l wd, ulong  mask)
+{
+  long oldVal,newVal;
+  int ret;
+  oldVal = cxiSafeGetLong(wd);
+
+  do
+  {
+    newVal = oldVal | mask;
+    ret = comp_and_swaplp((volatile long *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_orlp: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+#endif /* __64BIT__ */
+
+static inline Boolean 
+compare_and_swap(atomic_p wd, int *oldVal, int newVal)
+{
+  Boolean ret;
+
+  ret = comp_and_swap((volatile int *)wd, oldVal, newVal);
+
+  LOCK_TRACE(
+         "compare_and_swap out: wd 0x%lX *wd 0x%lX old 0x%lX "
+         "new 0x%lX ret %d\n", wd, *wd, *oldVal, newVal, ret);
+  return ret;
+}
+
+#ifdef __64BIT__
+static inline Boolean
+compare_and_swaplp(atomic_l wd, long *oldVal, long newVal)
+{
+  Boolean ret;
+
+  ret = comp_and_swaplp((volatile long *)wd, oldVal, newVal);
+
+  LOCK_TRACE(
+         "compare_and_swaplp out: wd 0x%lX *wd 0x%lX old 0x%lX "
+         "new 0x%lX ret %d\n", wd, *wd, *oldVal, newVal, ret);
+  return ret;
+}
+#endif /* __64BIT__ */
+
+static inline Boolean
+_check_lock(atomic_p wd, int oldVal, int newVal)
+{
+    int old_val_addr = oldVal;
+    Boolean  ret;
+
+    ret = comp_and_swap((volatile int *) wd, &old_val_addr, newVal);
+
+    LOCK_TRACE(
+         "_check_lock: wd 0x%X *wd 0x%X old 0x%X new 0x%X ret %d\n",
+          wd, *wd, old_val_addr, newVal, ret);
+
+    if (ret)
+    {
+      IMPORT_FENCE;
+      return 0;
+    }
+    else
+      return 1;
+}
+
+#ifdef __64BIT__
+static inline Boolean
+_check_locklp(atomic_l wd, long oldVal, long newVal)
+{
+    long old_val_addr = oldVal;
+    Boolean  ret;
+
+    ret = comp_and_swaplp((volatile long *) wd, &old_val_addr, newVal);
+
+    LOCK_TRACE(
+         "_check_locklp: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+          wd, *wd, old_val_addr, newVal, ret);
+
+    if (ret)
+    {
+      IMPORT_FENCE;
+      return 0;
+    }
+    else
+      return 1;
+}
+#endif /* __64BIT__ */
+
+#endif /* _h_cxiAtomic_plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiCred-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiCred-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiCred-plat.h	(revision 16)
@@ -0,0 +1,54 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)87       1.5  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiCred-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 9/3/03 15:23:59 */
+#ifndef _h_CXICRED_PLAT
+#define _h_CXICRED_PLAT
+
+#ifndef _h_CXICRED
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Internal extended credential. */
+struct ext_cred_t
+{
+  cxiUid_t principal;          /* user id */
+  cxiGid_t group;              /* primary group id */
+
+  UInt16   num_groups;         /* number secondary groups for this user */
+#define ECRED_NGROUPS 32
+  gid_t eGroups[ECRED_NGROUPS];/* array of secondary groups */
+};
+
+typedef struct ext_cred_t ext_cred_t;
+
+#endif /* _h_CXICRED_PLAT */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiDmapi-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiDmapi-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiDmapi-plat.h	(revision 16)
@@ -0,0 +1,45 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)18       1.4  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiDmapi-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 7/17/03 01:38:00 */
+
+#ifdef DMAPI
+   // LINUX: gpl-linux/dmapi.c
+EXTERNC int cxiGetFileAndVp(int fd, void **fileP, void **vP);
+EXTERNC void cxiReleaseFile(int fd,void *fileP);
+EXTERNC Boolean cxiIsReadOnlyMnt(void *vfsP);
+EXTERNC void cxiGetMountedOverOSNode(void *vfsP, void **mntdovervfsP,
+                                     cxiNode_t **cnP);
+EXTERNC Boolean cxiMountedOverVfsType(void *vfsP);
+EXTERNC void cxiGetRootInode(void *vfsP,  cxiNode_t **cnP);
+#endif
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiIOBuffer-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiIOBuffer-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiIOBuffer-plat.h	(revision 16)
@@ -0,0 +1,319 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)13       1.45.1.2  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiIOBuffer-plat.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/25/06 17:16:36 */
+/*
+ * Abstraction of an I/O buffer, Linux implementation
+ *
+ * Contents:
+ *   struct cxiKernelIOBufferDesc_t
+ *   struct cxiIOBufferAttachment_t
+ *   InitBufferAttachment
+ *   struct cxiContiguousBuffer_t
+ *   InitContiguousBuffer
+ *   EXTERNC int kxPinKernelIOBuffer
+ *   Methods for manipulating cxiIOBuffer_t's
+ *   #define __CXI_BUFFERS_ARE_CONTIGUOUS
+ *   GetDiskInfoX
+ */
+
+#ifndef _h_cxiIOBuffer_plat
+#define _h_cxiIOBuffer_plat
+
+#ifndef _h_cxiIOBuffer
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Address of the first byte past the end of memory addressible by
+   processes (PAGE_OFFSET), and routine to get this value from the kernel.
+   Stacks are below this address. */
+EXTERNC UIntPtr KernelBoundary;
+EXTERNC int kxGetKernelBoundary(UIntPtr* kBoundP);
+
+/* forward declarations */
+struct page;
+
+/* User address space range used for page pool. */
+#ifdef GPFS_ARCH_I386
+#define LINUX_PAGE_POOL_BASE  0x44000000
+#endif
+#ifdef GPFS_ARCH_POWER
+#define LINUX_PAGE_POOL_BASE  0x54000000
+#endif
+#ifdef GPFS_ARCH_IA64
+/* Use shared memory region after TM pool */
+/* TM pool address + 4GB */
+#define LINUX_PAGE_POOL_BASE  0x6000010100000000
+#endif
+#ifdef GPFS_ARCH_PPC64
+  /* TM pool address + 2GB */
+  #define LINUX_PAGE_POOL_BASE  0x0000002080000000UL
+#endif
+#ifdef GPFS_ARCH_X86_64
+  /* TM pool address + 4GB */
+  #define LINUX_PAGE_POOL_BASE  0x0000005100000000UL
+#endif
+
+
+#define POOL_MMAP_CHUNK_SIZE  0x04000000
+
+/* Address where token manager malloc pool begins */
+#ifdef GPFS_ARCH_I386
+# define TM_POOL_START 0x30000000
+#endif
+#ifdef GPFS_ARCH_POWER
+# define TM_POOL_START 0x40000000
+#endif
+#ifdef GPFS_ARCH_IA64
+# define TM_POOL_START 0x6000010000000000
+#endif
+#ifdef GPFS_ARCH_PPC64
+    /* this is the top portion of the brk area.  We count on the
+       daemon never growing big enough to get here.  There's only
+       2TB of address space available in userspace on ppc64, so a
+       completely safe spot is hard to find */
+#   define TM_POOL_START 0x0000002000000000UL
+#endif
+#ifdef GPFS_ARCH_X86_64
+#   define TM_POOL_START 0x0000005000000000UL
+#endif
+
+/* Buffers in user address space must be aligned to a boundary of this size
+   in order to perform an I/O request. */
+#define IOBUF_ALIGN_SIZE 512
+
+/* Kernel data structure associated with an I/O buffer.  I/O buffers that
+   are pinned (or attached) point to one of these structures from their
+   kernelIOBufferDescP field.  It describes the physical pages occupied by
+   the I/O buffer using Linux kiobufs.  These are linked together in a
+   global list anchored in the kernel so that pinned storage can be released
+   when the GPFS daemon terminates abnormally.  Each I/O buffer has one
+   cxiKernelIOBufferDesc_t on this global list.  However, since one
+   cxiKernelIOBufferDesc_t can map at most PAGES_PER_KIBD pages, large I/O
+   buffers require multiple cxiKernelIOBufferDesc_t's.  */
+struct cxiKernelIOBufferDesc_t
+{
+  /* Daemon address for beginning of I/O buffer.  This address must be
+     aligned on a page boundary. */
+  char* kibdVaddr;
+
+  /* Number of pages described by this cxiKernelIOBufferDesc_t. */
+  int kibdPages;
+
+  /* Number of pages described by this chain of cxiKernelIOBufferDesc_t 
+   * Only valid for the first cxiKernelIOBufferDesc_t in the chain.
+   */
+  int kibdTotalPages;
+
+  /* List pointer.  Used for a chain of cxiKernelIOBufferDesc_t's. */
+  struct cxiKernelIOBufferDesc_t* kibdNextP;
+
+  /* An I/O buffer is described by a chain of cxiKernelIOBufferDesc_t,
+   * of which the head descriptor is placed on a global list.   Thus these
+   * fields are only valid for the first cxiKernelIOBufferDesc_t in the 
+   * chain of descriptors.
+   */
+  struct cxiKernelIOBufferDesc_t* gblNextP;
+  struct cxiKernelIOBufferDesc_t* gblPrevP;
+
+#define PAGES_PER_KIBD (64*1024/PAGE_SIZE)  /* 64K */
+  char* maplist[PAGES_PER_KIBD];
+};
+
+/* Struct that records the mapping within
+ * the daemon address space.  A group of these are allocated
+ * as an array in the shared seg and the memory descriptor
+ * vindex points to the appropriate element.
+ */
+struct cxiMemoryMapping_t
+{
+  char *vaddr;        /* daemon address mapping */
+#ifdef SSEG_SWIZZLE_PTRS
+  char *kvaddr;
+#endif
+  int kBytes;         /* size of the area in kilobytes */
+  short vindex;       /* index in shared segment mapping array */
+};
+
+static inline void
+InitMemoryMapping(struct cxiMemoryMapping_t *mmP)
+{
+  mmP->vaddr = NULL;
+  mmP->kBytes = 0;
+  mmP->vindex = -1;
+#ifdef SSEG_SWIZZLE_PTRS
+  mmP->kvaddr = NULL;
+#endif
+}
+
+static inline Boolean
+IsMemoryMappingFree(struct cxiMemoryMapping_t *mmP)
+{
+  if (mmP->kBytes == 0)
+    return true;
+
+  return false;
+}
+
+typedef struct cxiMemoryMapping_t cxiMemoryMapping_t;
+
+/* Initialization and termination routines.  Called at module load
+   and unload, respectively. */
+EXTERNC void KibdModuleInit();
+EXTERNC void KibdModuleTerm();
+
+/* Create a cxiKernelIOBufferDesc_t object (or list of cxiKernelIOBufferDesc_t
+   objects) describing an I/O buffer in the user address space of the
+   calling process and link it onto the list of all such objects.  Pins
+   the user-level buffer.  The buffer virtual address must be on a page
+   boundary.  The length can be arbitrarily large, but must be a multiple
+   of the page size.  Returns 0 if successful, non-zero if unsuccessful.
+   */
+EXTERNC int cxiKibdPin(char* vaddr, int len,
+                       struct cxiKernelIOBufferDesc_t** kibdPP);
+
+/* Remove a cxiKernelIOBufferDesc_t object from the list of all
+   such objects, destroy it and all chained cxiKernelIOBufferDesc_t objects
+   associated with it, and unpin the associated user-level buffer. */
+EXTERNC void cxiKibdUnpin(struct cxiKernelIOBufferDesc_t* kibdP);
+
+/* Free all cxiKernelIOBufferDesc_t's, and unpin their underlying storage. */
+EXTERNC void cxiKibdUnpinAll();
+
+#ifdef MMAP_DIO
+
+/* Create a cxiKernelIOBufferDesc_t object for a page in user address space
+   that is already pinned.  The page will be mapped into kernel address
+   space.  This is used by mmap routines that want to do direct I/O from
+   user page to disk.  The cxiKernelIOBufferDesc_t that this routine
+   creates can be passed to cxiKDoIO just like one that was created by
+   cxiKibdPin. */
+EXTERNC int cxiKibdPinmm(struct page *pageP,
+                         struct cxiKernelIOBufferDesc_t** kibdPP);
+
+/* Free a cxiKernelIOBufferDesc_t that was created by cxiKibdPinmm. */
+EXTERNC void cxiKibdUnpinmm(struct page *pageP,
+                            struct cxiKernelIOBufferDesc_t* kibdP);
+#endif /* MMAP_DIO */
+
+
+/* Handle that describes a particular cxiIOBuffer_t that has been attached.
+   On Linux, this is a pointer to a cxiLinuxKernelIOBufferDesc_t. */
+struct cxiIOBufferAttachment_t
+{
+  struct cxiKernelIOBufferDesc_t* kDescP;
+};
+
+
+/* Initialize a cxiIOBufferAttachment_t */
+static inline void InitBufferAttachment(struct cxiIOBufferAttachment_t* baP)
+{
+  baP->kDescP = NULL;
+};
+
+
+
+/* Result of making a read-only copy of a portion of an I/O buffer.  On
+   Linux, this must record the base address of the copy buffer, if one was
+   required.  If data was mapped in place, the cxiContiguousBuffer_t records
+   which page was kmapped. */
+struct cxiContiguousBuffer_t
+{
+  /* Base of storage allocated with vmalloc / kmalloc, or NULL if data is
+     referenced in place. */
+  char* mallocedBaseP;
+
+  /* True if storage pointed to be mallocedBaseP was allocated using
+     kmalloc.  If false, then vmalloc was used. */
+  Boolean usedKmalloc;
+
+  /* Pointer used to remember which page to unmap, or NULL if data was copied
+     to mallocedBaseP by mapContiguousRO. */
+  void* pageP;
+};
+
+
+/* Initialize a cxiContiguousBuffer_t */
+static inline void InitContiguousBuffer(struct cxiContiguousBuffer_t* cbP)
+{
+  cbP->mallocedBaseP = NULL;
+  cbP->usedKmalloc = false;
+  cbP->pageP = NULL;
+}
+
+
+/* Kernel calls used by cxiK... routines to call the Kibd... routines */
+EXTERNC int kxPinKernelIOBuffer(char* vaddr, int len,
+                                struct cxiKernelIOBufferDesc_t** pinnedPP);
+EXTERNC int kxUnpinKernelIOBuffer(struct cxiKernelIOBufferDesc_t* pinnedP);
+EXTERNC int kxUnpinAllKernelIOBuffers();
+
+/* Methods for manipulating cxiIOBuffer_t's */
+
+/* Return true if the fields describing the IOBuffer are self-consistent */
+#define IOBUFFER_IS_CONSISTENT(IOBP) (true)
+
+/* Pin the pages belonging to this I/O buffer */
+EXTERNC void KPinIOBuffer(struct cxiIOBuffer_t* iobP);
+
+/* Unpin the pages belonging to this I/O buffer */
+EXTERNC void KUnpinIOBuffer(struct cxiIOBuffer_t* iobP);
+
+/* Split the kernel buffer descriptor into two adjacent I/O buffers */
+EXTERNC void KSplitIOBuffer(struct cxiIOBuffer_t* iobP, int frontPages,
+                            struct cxiIOBuffer_t* rearBufP);
+
+/* Merge the kernel buffer descriptors of two adjacent I/O buffers.  The
+   I/O buffer p should be destroyed after this call, since its pages will
+   be merged into the buffer *iobP. */
+EXTERNC void KMergeIOBuffer(struct cxiIOBuffer_t* iobP, struct cxiIOBuffer_t* p);
+
+/* Read or write the given sectors from dev.  Data should be placed into
+   the I/O buffer beginning at byte offset bufOffset.  Returns EOK
+   on success, negative values on error.  All of the data to be
+   transferred will be in the first cxiKernelIOBufferDesc_t. */
+EXTERNC int cxiKDoIO(struct cxiKernelIOBufferDesc_t* kibdP,
+                     Boolean isWrite, cxiDev_t dev, UInt64 startSector,
+                     int nSectors, int sectorSize, int bufOffset);
+
+
+/* On Linux, I/O buffers can be accessed at contiguous virtual addresses
+   from the daemon process, but not from kernel code */
+#ifndef _KERNEL
+#define __CXI_BUFFERS_ARE_CONTIGUOUS
+#endif
+
+/* Routine to set up the disk block size and get disk parameters */
+EXTERNC int GetDiskInfoX(cxiDev_t devId, struct cxiDiskInfo_t* diskInfoP);
+
+#endif  /* _h_cxiIOBuffer_plat */
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiMmap-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiMmap-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiMmap-plat.h	(revision 16)
@@ -0,0 +1,70 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.22  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiMmap-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 6/2/03 13:01:17 */
+/*
+ * Platform specific definitions for memory mapped files, Linux version
+ *
+ */
+
+#ifndef _h_cxiMmap_plat
+#define _h_cxiMmap_plat
+
+#ifndef _h_cxiMmap
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+#include <cxiTypes.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /*__cplusplus */
+Int64 getFilePos(cxibuf_t *bufP);
+char *VM_Attach(cxibuf_t *bufP);
+void VM_Detach(cxibuf_t *bufP, char *baddrP);
+void getVp(void * gnP,void **vP, struct gpfsVfsData_t **privVfsP);
+void IoDone(cxibuf_t *bufP);
+void mmapKill();
+void EnableMmap();
+#define mmStrategy NULL
+int cxiMmapRegister(void *dummy);
+int cxiMmapUnregister(void *dummy);
+int cxiMmapFlush(cxiNode_t *cnP, UInt64 start, UInt64 end,
+                 enum CmflushOption cmopt);
+int cxiMmapGetPage(cxibuf_t *bufP);
+void cxiMmapReleasePage(struct page *pageP);
+#ifdef __cplusplus
+}
+#endif /*__cplusplus */
+
+#endif  /* _h_cxiMmap_plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiMode-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiMode-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiMode-plat.h	(revision 16)
@@ -0,0 +1,164 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)77	1.10  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiMode-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 11/2/04 17:49:45 */
+
+
+#ifndef _h_cxiMode_plat
+#define _h_cxiMode_plat
+
+#ifndef _h_cxiMode
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Linux portability portion of GPFS will have to include its own version of 
+ * these linux header files before inclusion of cxiMode.h
+ */
+#ifndef GPFS_GPL
+#include <fcntl.h>
+#include <sys/stat.h>
+#endif
+
+/* These came from aix <sys/mode.h> and currently have equivalent 
+ * definitions in linux <sys/stat.h>.  
+ */
+#ifndef S_IFMT
+#define S_IFMT          0170000 /* type of file */
+#define   S_IFREG       0100000 /*   regular */
+#define   S_IFDIR       0040000 /*   directory */
+#define   S_IFBLK       0060000 /*   block special */
+#define   S_IFCHR       0020000 /*   character special */
+#define   S_IFIFO       0010000 /*   fifo */
+#define   S_IFLNK       0120000 /*   symbolic link */
+#define   S_IFSOCK      0140000 /*   socket */
+
+#define S_ISUID	        0004000 /* set user id on execution */
+#define S_ISGID	        0002000 /* set group id on execution */
+#define S_ISVTX         0001000 /* save text */
+
+                                /* ->>> /usr/group definitions <<<- */
+#define S_IRWXU	        0000700 /* read,write,execute perm: owner */
+#define S_IRUSR	        0000400 /* read permission: owner */
+#define S_IWUSR	        0000200 /* write permission: owner */
+#define S_IXUSR	        0000100 /* execute/search permission: owner */
+#define S_IRWXG	        0000070 /* read,write,execute perm: group */
+#define S_IRGRP	        0000040 /* read permission: group */
+#define S_IWGRP         0000020 /* write permission: group */
+#define S_IXGRP	        0000010 /* execute/search permission: group */
+#define S_IRWXO	        0000007 /* read,write,execute perm: other */
+#define S_IROTH         0000004 /* read permission: other */
+#define S_IWOTH	        0000002 /* write permission: other */
+#define S_IXOTH	        0000001 /* execute/search permission: other */
+#endif /* S_IFMT */
+
+/* This mode bit is needed for compatibility with the JFS ACL API 
+   and has no effect on Shark file system operations.*/
+#define S_IXACL      0x02000000 /* extended ACL */
+
+
+/* gpfsAccess() mode parameter */
+#define	E_ACC                00 /* E_ACC does file exist */
+#define	X_ACC           S_IXOTH	/* X_ACC is it executable by caller */
+#define	W_ACC           S_IWOTH	/* W_ACC writable by caller */
+#define	R_ACC           S_IROTH	/* R_ACC readable by caller */
+
+/* File type macros */
+#ifndef S_ISFIFO
+#define S_ISFIFO(m)     (((m)&(S_IFMT)) == (S_IFIFO))
+#define S_ISDIR(m)      (((m)&(S_IFMT)) == (S_IFDIR))
+#define S_ISCHR(m)      (((m)&(S_IFMT)) == (S_IFCHR))
+#define S_ISBLK(m)      (((m)&(S_IFMT)) == (S_IFBLK))
+#define S_ISREG(m)      (((m)&(S_IFMT)) == (S_IFREG))
+#define S_ISLNK(m)      (((m)&(S_IFMT)) == (S_IFLNK))
+#define S_ISSOCK(m)     (((m)&(S_IFMT)) == (S_IFSOCK))
+#endif
+
+#ifndef O_DIRECT
+#ifdef GPFS_ARCH_PPC64
+#define O_DIRECT 0400000 /* Direct disk access.  */
+#else
+#define O_DIRECT 040000 /* Direct disk access.  */
+#endif
+#endif
+
+#define FOPEN          (-1)
+#define FWRITE         (O_WRONLY-FOPEN)
+#define FREAD          (O_RDONLY-FOPEN)
+#define FNDELAY        O_NDELAY
+#define FTRUNC         O_TRUNC
+#define FCREAT         O_CREAT
+#define FEXCL          O_EXCL
+#define FAPPEND        O_APPEND
+#define FSYNC          O_SYNC
+#define O_DSYNC        O_SYNC
+#define FDIRECT        O_DIRECT
+
+/* Translate open flags in linux filp->f_flag to appropriate
+ * flag for gpfs.  Since O_RDONLY is zero, this part of the
+ * test must appear after the others and not be a bit 
+ * comparison operator.
+ */
+#define cxiOpenFlagsXlate(flags)                  \
+          (((flags) & ~O_ACCMODE) |                \
+           (((flags) & O_RDWR) ? (FREAD | FWRITE) : \
+            (((flags) & O_WRONLY) ? FWRITE :         \
+             ((((flags) & O_ACCMODE) == O_RDONLY) ? FREAD : 0))))
+
+#define ACL_MODE (S_ISUID|S_ISGID|S_ISVTX)
+
+#define FFILESYNC FSYNC      /* another name for FSYNC (AIX fattr.h) */
+#define FDATASYNC 0x00400000 /* fsync data only (AIX fattr.h)        */
+
+/* gpfsSetattr() flags (originally from aix sys/chownx.h)
+ * Specifies how the uid and gid values are to be set.
+ */
+#define	T_OWNER_AS_IS 004 /* the owner id in the inode is unaltered */
+#define	T_GROUP_AS_IS 040 /* the group id in the inode is unaltered */
+#define	T_SYNC_IF_NFS 400 /* might need to sync chown for nfs */
+
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#endif
+#ifndef SEEK_CUR
+#define SEEK_CUR 1
+#endif
+#ifndef SEEK_END
+#define SEEK_END 2
+#endif
+
+/* gpfsAccess() who parameter */
+#define ACC_SELF        0x00
+#define ACC_OTHERS      0x08
+#define ACC_ANY	        0x10
+#define ACC_ALL	        0x20
+
+#endif /* _h_cxiMode-plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiSharedSeg-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiSharedSeg-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiSharedSeg-plat.h	(revision 16)
@@ -0,0 +1,449 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)61	1.97.1.1  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiSharedSeg-plat.h, mmfs, avs_rgpfs24, rgpfs24s003a 5/25/06 02:08:17 */
+
+#ifndef _h_cxiSharedSeg_plat
+#define _h_cxiSharedSeg_plat
+
+#ifndef _h_cxiSharedSeg
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+#define SHARED_SEGMENT_BASE (UIntPtr(SharedSegmentBase))
+EXTERN char* SharedSegmentBase;
+
+/* Globals for daemon using swizzled pointers with the shared segment */
+#ifdef SSEG_SWIZZLE_PTRS
+EXTERNC int initPtrSwizzling(Boolean initKernel);
+
+EXTERN char * SharedSegmentKernelBase;
+EXTERN char * SharedSegmentKernelMax;
+EXTERN Ptrdiff SharedSegmentOffset;
+EXTERN IntPtr SharedSegmentSwizzledSize;
+EXTERN char * SharedSegmentSwizzledBase;
+EXTERN char * SharedSegmentSwizzledMax;
+#endif
+
+#define SEGMENT_MAX_VMALLOC_PERCENT 50/100
+
+/* ioctl ops */
+enum kxOps
+{
+  RegisterMMFSDaemon                  = 1,
+  WaitCondvar                         = 2,
+  ThreadInitOrTerm                    = 3,
+  SignalOrBroadcastCondvar            = 4,
+  GetCondWaiters                      = 5,
+  AllocEventWords                     = 6,
+  InitKernelMailboxes                 = 7,
+  EnableIO                            = 8,
+  TerminateMailboxes                  = 9,
+  StackAddrToThreadID                 = 10,
+  kernelTrace                         = 11,
+  GetDiskInfo                         = 12,
+  RegisterMMFSSessionId               = 13,
+  kernelRecLockReset                  = 14,
+  SetCommState                        = 15,
+  AcquireMutex                        = 16,
+  ReleaseMutex                        = 17,
+  RegisterNodeAddr                    = 18,
+  InitializeRevokeTab                 = 19,
+  RegisterObjType                     = 20,
+  SetTraceLevel                       = 21,
+  kxtraceit                           = 22,
+  kPoll                               = 23,
+  GetLocalSGIdCounter                 = 24,
+  QueueCompletedIO                    = 25,
+  AwaitIOCompletion                   = 26,
+  StartIO                             = 27,
+  GetSimpleLock                       = 28,
+  MapPrivate                          = 29,
+  SetMountInfoByID                    = 30,
+  FreeMailboxStorage                  = 31,
+  RegisterMMFSSeg                     = 32,
+#ifdef SMB_LOCKS
+  BreakOplock                         = 33,
+#endif
+  GetStructSize                       = 34,
+  GetMapCount                         = 35,
+  DefineShSeg                         = 36,
+  SetPrivLevel                        = 37,
+  kernelSendFlock                     = 38,
+  kernelWaitForFlock                  = 39,
+  kernelCommonReclock                 = 40,
+  kernelDoTraceDump                   = 41,
+  SetNPagesAvailable                  = 42,
+  CoreDump                            = 43,
+  PinKernelIOBuffer                   = 44,
+  UnpinKernelIOBuffer                 = 45,
+  ClearMountInfo                      = 46,
+  RetryRecover                        = 47,
+  UnpinAllKernelIOBuffers             = 48,
+  kernelRLRevokeLock                  = 49,
+  kernelRLRevokeUnLock                = 50,
+  SetPageoutThread                    = 51,
+  ClearPageoutThread                  = 52,
+  Fattr                               = 53,
+  FsAttr                              = 54,
+  Attr                                = 55,
+  GetACL                              = 56,
+  PutACL                              = 57,
+  Fstat                               = 58,
+  Stat                                = 59,
+  AtomvarInit                         = 60,
+  VFSStatCtl                          = 61,
+  kernelMmapControl                   = 62,
+  kernelMmapInfo                      = 63,
+  CatalogGetMounts                    = 64,
+  GetMountInfoByID                    = 65,
+  uvmount                             = 66,
+  saveThreadInfo                      = 67,
+  kernelMmapFlush                     = 68,
+  InvalidateOSNode                    = 69,
+  HasMountHelper                      = 70,
+#ifdef P_NFS4
+  PnfsCtl                             = 71,
+#endif
+  AllocVinfo                          = 72,
+  CleanupVinfo                        = 73,
+  kernelMadvise                       = 74,
+  updateOSNode                        = 75,
+  Quotactl                            = 76,
+  CheckThreadStateCtl                 = 77,
+  // unused 78-80
+#ifdef SSEG_SWIZZLE_PTRS
+  InitPtrSwizzling                    = 81,
+#endif
+  CalcMaxSharedSegment                = 82,
+  AllocSharedMemory                   = 83,
+  FreeSharedMemory                    = 84,
+  FreeAllSharedMemory                 = 85,
+  SetTakeOwnership                    = 86,
+  InitializeNodeHashTab               = 87,
+  ClampLocks                          = 88,
+  UnClampLocks                        = 89,
+  CheckNTAccess                       = 90,
+  noOp                                = 91,
+  InvalidateSnapshot                  = 92,
+  CleanupStaleNFS                     = 93,
+  GetKernelBoundary                   = 94,
+  SetMultiNode                        = 95,
+  BlockingMutexStatsCtl               = 96,
+  FindCloseNFS                        = 97,
+  SetMachineSID                       = 98,
+  GetPrivLevel                        = 99,
+  InvalidateVolatileOSNodes           = 100,
+  ThreadPtrToThreadID                 = 101,
+  DmApiCall                           = 102,
+  DmRemoveSession                     = 103,
+  DmGetSessions                       = 104,
+  DmUpdateSessions                    = 105,
+  AttachSharedMemory                  = 106,
+  DetachSharedMemory                  = 107,
+  XmemXfer                            = 108,
+  ctlDMS                              = 109,
+  QuiesceOperations                   = 110,
+  ResumeOperations                    = 111,
+#ifdef SMB_LOCKS
+  GetShare                            = 112,
+  GetDelegation                       = 113,
+  // unused                           = 114,
+  OplockInit                          = 115,
+  OplockTerm                          = 116,
+  OplockNotify                        = 117,
+#endif
+  SanApiCall                          = 118,
+  GetThreadID                         = 119,
+  GetTimeOfDay 			      = 120,
+  kernelLockCallback		      = 121,
+  CheckBuildTime		      = 122,
+  UMount			      = 123
+};
+
+#define kxOp_tostring(ent) \
+  (((ent) == 0)? "UNUSED 0"                           : \
+   ((ent) == 1)? "RegisterMMFSDaemon"                 : \
+   ((ent) == 2)? "WaitCondvar"                        : \
+   ((ent) == 3)? "ThreadInitOrTerm"                   : \
+   ((ent) == 4)? "SignalOrBroadcastCondvar"           : \
+   ((ent) == 5)? "GetCondWaiters"                     : \
+   ((ent) == 6)? "AllocEventWords"                    : \
+   ((ent) == 7)? "InitKernelMailboxes"                : \
+   ((ent) == 8)? "EnableIO"                           : \
+   ((ent) == 9)? "TerminateMailboxes"                 : \
+   ((ent) == 10)? "StackAddrToThreadID"               : \
+   ((ent) == 11)? "kernelTrace"                       : \
+  ((ent) == 12)? "GetDiskInfo"                        : \
+  ((ent) == 13)? "RegisterMMFSSessionId "             : \
+  ((ent) == 14)? "kernelRecLockReset"                 : \
+  ((ent) == 15)? "SetCommState"                       : \
+  ((ent) == 16)? "AcquireMutex"                       : \
+  ((ent) == 17)? "ReleaseMutex"                       : \
+  ((ent) == 18)? "RegisterNodeAddr"                   : \
+  ((ent) == 19)? "InitializeRevokeTab"                : \
+  ((ent) == 20)? "RegisterObjType"                    : \
+  ((ent) == 21)? "SetTraceLevel"                      : \
+  ((ent) == 22)? "kxtraceit"                          : \
+  ((ent) == 23)? "kPoll"                              : \
+  ((ent) == 24)? "GetLocalSGIdCounter"                : \
+  ((ent) == 25)? "QueueCompletedIO"                   : \
+  ((ent) == 26)? "AwaitIOCompletion"                  : \
+  ((ent) == 27)? "StartIO"                            : \
+  ((ent) == 28)? "GetSimpleLock"                      : \
+  ((ent) == 29)? "MapPrivate"                         : \
+  ((ent) == 30)? "SetMountInfoByID"                   : \
+  ((ent) == 31)? "FreeMailboxStorage"                 : \
+  ((ent) == 32)? "RegisterMMFSSeg"                    : \
+  ((ent) == 33)? "BreakOplock"                        : \
+  ((ent) == 34)? "GetStructSize"                      : \
+  ((ent) == 35)? "GetMapCount"                        : \
+  ((ent) == 36)? "DefineShSeg"                        : \
+  ((ent) == 37)? "SetPrivLevel"                       : \
+  ((ent) == 38)? "kernelSendFlock"                    : \
+  ((ent) == 39)? "kernelWaitForFlock"                 : \
+  ((ent) == 40)? "kernelCommonReclock"                : \
+  ((ent) == 41)? "kernelDoTraceDump"                  : \
+  ((ent) == 42)? "SetNPagesAvailable"                 : \
+  ((ent) == 43)? "CoreDump"                           : \
+  ((ent) == 44)? "PinKernelIOBuffer"                  : \
+  ((ent) == 45)? "UnpinKernelIOBuffer"                : \
+  ((ent) == 46)? "ClearMountInfo"                     : \
+  ((ent) == 47)? "unused"                             : \
+  ((ent) == 48)? "UnpinAllKernelIOBuffers"            : \
+  ((ent) == 49)? "kernelRLRevokeLock"                 : \
+  ((ent) == 50)? "kernelRLRevokeUnLock"               : \
+  ((ent) == 51)? "SetPageoutThread"                   : \
+  ((ent) == 52)? "ClearPageoutThread"                 : \
+  ((ent) == 53)? "Fattr"                              : \
+  ((ent) == 54)? "FsAttr"                             : \
+  ((ent) == 55)? "Attr"                               : \
+  ((ent) == 56)? "GetACL"                             : \
+  ((ent) == 57)? "PutACL"                             : \
+  ((ent) == 58)? "Fstat"                              : \
+  ((ent) == 59)? "Stat"                               : \
+  ((ent) == 60)? "AtomvarInit"                        : \
+  ((ent) == 61)? "VFSStatCtl"                         : \
+  ((ent) == 62)? "kernelMmapControl"                  : \
+  ((ent) == 63)? "kernelMmapInfo"                     : \
+  ((ent) == 64)? "CatalogGetMounts"                   : \
+  ((ent) == 65)? "GetMountInfoByID"                   : \
+  ((ent) == 66)? "uvmount"                            : \
+  ((ent) == 67)? "saveThreadInfo"                     : \
+  ((ent) == 68)? "kernelMmapFlush"                    : \
+  ((ent) == 69)? "InvalidateOSNode"                   : \
+  ((ent) == 70)? "IsInheritedFD"                      : \
+  ((ent) == 71)? "pNFS"                               : \
+  ((ent) == 72)? "AllocVinfo"                         : \
+  ((ent) == 73)? "CleanupVinfo"                       : \
+  ((ent) == 74)? "kernelMadvise"                      : \
+  ((ent) == 75)? "updateOSNode"                       : \
+  ((ent) == 76)? "Quotactl"                           : \
+  ((ent) == 77)? "SetPAG"                             : \
+  ((ent) == 78)? "GetUserMap"                         : \
+  ((ent) == 79)? "SetUserMap"                         : \
+  ((ent) == 80)? "GetDosAttr"                         : \
+  ((ent) == 81)? "SetDosAttr"                         : \
+  ((ent) == 82)? "CalcMaxSharedSegment"               : \
+  ((ent) == 83)? "AllocSharedMemory"                  : \
+  ((ent) == 84)? "FreeSharedMemory"                   : \
+  ((ent) == 85)? "FreeAllSharedMemory"                : \
+  ((ent) == 86)? "SetTakeOwnership"                   : \
+  ((ent) == 87)? "InitializeNodeHashTab"              : \
+  ((ent) == 88)? "unused"                             : \
+  ((ent) == 89)? "unused"                             : \
+  ((ent) == 90)? "CheckNTAccess"                      : \
+  ((ent) == 91)? "noOp"                               : \
+  ((ent) == 92)? "InvalidateSnapshot"                 : \
+  ((ent) == 93)? "CleanupStaleNFS"                    : \
+  ((ent) == 94)? "GetKernelBoundary"                  : \
+  ((ent) == 95)? "SetMultiNode"                       : \
+  ((ent) == 96)? "BlockingMutexStatsCtl"              : \
+  ((ent) == 97)? "FindCloseNFS"                       : \
+  ((ent) == 98)? "SetMachineSID"                      : \
+  ((ent) == 99)? "GetPrivLevel"                       : \
+  ((ent) == 100)? "InvalidateVolatileOSNodes"         : \
+  ((ent) == 101)? "ThreadPtrToThreadID"               : \
+  ((ent) == 102)? "DmApiCall"                         : \
+  ((ent) == 103)? "DmRemoveSession"                   : \
+  ((ent) == 104)? "DmGetSessions"                     : \
+  ((ent) == 105)? "DmUpdateSessions"                  : \
+  ((ent) == 106)? "AttachSharedMemory"                : \
+  ((ent) == 107)? "DetachSharedMemory"                : \
+  ((ent) == 108)? "XmemXfer"                          : \
+  ((ent) == 109)? "startDMS"			      : \
+  ((ent) == 110)? "QuiesceOperations"                 : \
+  ((ent) == 111)? "ResumeOperations"                  : \
+  ((ent) == 112)? "GetShare"                          : \
+  ((ent) == 113)? "GetDelegation"                     : \
+  ((ent) == 114)? "unused"                            : \
+  ((ent) == 115)? "OplockInit"                        : \
+  ((ent) == 116)? "OplockTerm"                        : \
+  ((ent) == 117)? "OplockNotify"                      : \
+  ((ent) == 118)? "SanApiCall"                        : \
+  ((ent) == 119)? "GetThreadID"                       : \
+  ((ent) == 120)? "GetTimeOfDay"                      : \
+  ((ent) == 121)? "kernelLockCallback"                : \
+  ((ent) == 122)? "CheckBuildTime"                    : \
+  ((ent) == 123)? "UMount"                           : \
+   "??")
+
+#define MAX_SS_IOCTL_OPS 123
+
+struct kxArgs
+{
+  long arg1;
+  long arg2;
+  long arg3;
+  long arg4;
+  long arg5;
+};
+
+/* Remapping structure for handling 32-bit API calls in 64-bit GPFS */
+struct kxArgs32
+{
+  UInt32 arg1;
+  UInt32 arg2;
+  UInt32 arg3;
+  UInt32 arg4;
+  UInt32 arg5;
+};
+
+#ifndef GPFS_SUPER_MAGIC
+/* ASCII code for "GPFS" in the struct statfs f_type field */
+/* This value must match same define in gpfs.h */
+#define GPFS_SUPER_MAGIC     0x47504653
+#endif
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  int  ss_init();
+  void gpfs_proc_export_init(void);
+  void gpfs_proc_export_term(void);
+  void InitSharedMemory();
+  void TermSharedMemory();
+  void CleanUpSharedMemory();
+#ifdef API_32BIT
+  void gpfs_reg_ioctl32();
+  void gpfs_unreg_ioctl32();
+#endif /* API_32BIT */
+#ifdef __cplusplus
+}
+#endif
+
+#define ASSERTBASESEG(ADDR, REA, TAG)
+
+#ifdef GPFS_ARCH_IA64
+#define SET_PRIVILEGE_LEVEL()                \
+  int fd_x;                                  \
+  fd_x = open(GPFS_DEVNAME, O_RDWR);         \
+  if (fd_x > 0)                              \
+  {                                          \
+    ioctl(fd_x, SetPrivLevel, 1);            \
+    close(fd_x);                             \
+  }
+#else
+#define SET_PRIVILEGE_LEVEL() (NOOP)
+#endif
+
+#ifdef __cplusplus
+EXTERNC int (*ss_ioctl_op[MAX_SS_IOCTL_OPS+1])(...);
+#else
+EXTERNC int (*ss_ioctl_op[MAX_SS_IOCTL_OPS+1])();
+#endif /* __cplusplus */
+
+struct cxiMemoryMapping_t;
+
+/* Compute how large the total size shared segment
+ * is allowed to grow, based on a desired size.  A value of 0 for
+ * desiredBytes means to compute the default maximum size. 
+ */
+EXTERNC int cxiCalcMaxSharedSegment(int desiredBytes, int* actualBytesP);
+
+EXTERNC int cxiAllocSharedMemory(struct cxiMemoryMapping_t *mappingP, 
+                                  Boolean isSharedSegment);
+EXTERNC int cxiFreeSharedMemory(struct cxiMemoryMapping_t *mappingP, 
+                                 Boolean isSharedSegment);
+EXTERNC int cxiAttachSharedMemory(struct cxiMemoryMapping_t *mappingP, 
+                                  Boolean isSharedSegment);
+EXTERNC int cxiDetachSharedMemory(struct cxiMemoryMapping_t *mappingP, 
+                                  Boolean isSharedSegment);
+#ifdef SSEG_SWIZZLE_PTRS
+EXTERNC int cxiRecordSharedMemory(struct cxiMemoryMapping_t *mappingP);
+#endif
+
+/* get a core dump */
+EXTERNC int kxCoreDump(long sig, void *info, struct ucontext *sc,
+                       char *filenameP);
+
+/* Map a section of memory MAP_PRIVATE */
+EXTERNC int kxMapPrivate(char *inAddr, unsigned long len, unsigned long prot,
+                         char **outAddr);
+
+/* Kernel calls implemented in portability layer */
+EXTERNC int kxPoll(void* fdListP, int nFDs, int timeoutMS);
+EXTERNC int kxGetACL(char *pathname, int flags, void *aclP);
+EXTERNC int kxPutACL(char *pathname, int flags, void *aclP);
+EXTERNC int kxMadvise(void* addr, size_t len, int advice);
+#ifdef SMB_LOCKS
+EXTERNC int setSMBOpenLockControl(void *vP, void *infoP, int command, 
+                                  int lockmode);
+EXTERNC int setSMBOplock(void *vP, void *infoP, int accessWant, int oplockWant,
+                         void *breakArgP, int *oplockGrantedP, Boolean isAsync);
+EXTERNC int kxGetShare(int fd, unsigned int share, unsigned int deny);
+EXTERNC int kxGetDelegation(int fd, unsigned int delegate_access,
+                            void *cb_token, void *cookie);
+#endif
+#ifdef GPFS_QUOTACTL
+EXTERNC int kxQuotactl(char *pathname, int cmd, int qid, void *bufferP);
+#endif
+EXTERNC int kxGetTimeOfDay(cxiTimeStruc_t *tP);
+EXTERNC cxiThreadId kxGetThreadID();
+EXTERNC int kxUMount(int flag, char *pathname, int force, int *ret_err);
+
+#if defined(GPFS_GPL)
+#if defined(GPFS_ARCH_IA64) || defined(GPFS_ARCH_X86_64)
+/* stat64 isn't defined in IA64 kernel source */
+/* stat64 only relevant to 32-bit binaries with x86-64 (asm/ia32.h) */
+#define stat64 stat
+#endif /* GPFS_ARCH_IA64 || GPFS_ARCH_X86_64 */
+#endif /* GPFS_GPL*/
+
+struct stat64;
+EXTERNC int tsstat(char *pathname, struct stat64 *statP);
+EXTERNC int tsfstat(int fileDesc, struct stat64 *statP);
+
+#endif /* _h_cxiSharedSeg_plat */
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiSystem-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiSystem-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiSystem-plat.h	(revision 16)
@@ -0,0 +1,846 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)65       1.116.1.3  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiSystem-plat.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/25/06 17:52:33 */
+/*
+ * Interface definitions for basic common services, Linux version
+ *
+ * Contents:
+ *   cxiGetThreadId - get thread identifier
+ *   cxiUiomove - transfer data between kernel buffer and user buffer(s)
+ *   cxiCopyIn - copy data from user to kernel buffer (kernel service)
+ *   cxiCopyOut - copy data from kernel to user buffer (kernel service)
+ *   cxiCopyInstr - copy string from user to kernel space (kernel service)
+ *
+ */
+
+#ifndef _h_cxiSystem_plat
+#define _h_cxiSystem_plat
+
+#ifndef _h_cxiSystem
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Size of stack to allocate for GPFS threads */
+#ifdef GPFS_ARCH_I386
+#define GPFS_STACK_SIZE (256*1024UL)
+#endif /* GPFS_ARCH_I386 */
+#ifdef GPFS_ARCH_POWER
+#define GPFS_STACK_SIZE (256*1024UL)
+#endif /* GPFS_ARCH_POWER */
+#ifdef GPFS_ARCH_IA64
+#define GPFS_STACK_SIZE (512*1024UL)
+#endif /* GPFS_ARCH_IA64 */
+#ifdef GPFS_ARCH_PPC64
+#define GPFS_STACK_SIZE (512*1024UL)
+#endif /* GPFS_ARCH_POWER */
+#ifdef GPFS_ARCH_X86_64
+#define GPFS_STACK_SIZE (512*1024UL)
+#endif /* GPFS_ARCH_POWER */
+
+/* -------------------------------------------------------------- */
+/* Interfaces usable from both kernel code and process-level code */
+/* -------------------------------------------------------------- */
+
+/* Main module device name */
+#define GPFS_DEVNAME "/dev/ss0"
+
+/* Virtual memory page size.  Used for aligning I/O buffers. */
+/* NOTE: Shark-gpl.h grabs PAGE_SIZE for the portability layer */
+#if !defined(GPFS_GPL)
+
+#ifdef GPFS_LINUX
+#if defined(GPFS_ARCH_IA64)
+/* Note that the page size can be adjusted in the IA64 Linux kernel */
+/* Newer tool chain uses getpagesize() for PAGE_SIZE, which is a problem */
+#define PAGE_SIZE 16384UL
+#else
+#include <sys/user.h>     /* PAGE_SIZE */
+#endif
+
+#if defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_PPC64)
+#ifndef PAGE_SIZE
+#define PAGE_SIZE 4096UL
+#endif
+#endif
+#endif /* GPFS_LINUX */
+
+#endif /* !GPFS_GPL */
+
+/* Process operations */
+#if !defined(GPFS_GPL)
+EXTERNC pid_t getpid() __THROW;
+#else
+/* use of THROW causes conflicts in portability kernel code */
+EXTERNC pid_t getpid();
+#endif /* !GPFS_GPL */
+
+/* Get the kernel thread ID, which is guaranteed to be non-zero.  In a
+ * process, this just calls getpid.  Within the kernel, this calls a routine
+ * that extracts the process ID from the current process block.
+ */
+#define MAX_GPFS_KERNEL_TID 32767      /* max kernel thread id (2^15 - 1) */
+
+#ifdef _KERNEL
+
+EXTERNC cxiThreadId cxiGetThreadId();
+
+EXTERNC UIntPtr cxiGetKernelStackSize();
+
+EXTERNC int cxiInitVFS(int vfsType);
+#define cxiTermVFS()
+
+#else   /* not _KERNEL */
+
+#include <unistd.h>
+
+#ifndef NPTL
+
+#define cxiGetTid() ((cxiThreadId)getpid())
+/* Ensure that user cxiGetThreadId generates an id that is disjoint from
+ * the kernel thread ids (current->pid) which range up to MAX_GPFS_KERNEL_TID.
+ * A mask is applied to the thread id to remove it from this range; the
+ * mask is chosen so that it is compatible with THREAD_OWNER_METHOD_THREADID
+ * and the use of the upper 2 bits for mutex operations.
+ */
+#define GPFS_PTID_MASK 0x20000000               /* pthread id/handle mask */
+#define cxiGetThreadId() ((cxiThreadId)(pthread_self() | GPFS_PTID_MASK))
+
+#else
+
+EXTERNC cxiThreadId kxGetThreadID();
+EXTERNC int kxGetTimeOfDay(cxiTimeStruc_t *tP);
+/* sys_gettid is defined in kernel, but sys call not implemented in glibc,
+   so use our own ioctl with kxGetThreadID */
+#define cxiGetTid() (kxGetThreadID())
+
+/* cxiGetThreadId returns kernel thread id */
+extern pthread_key_t pid_key;
+#define cxiGetThreadId() ((cxiThreadId)(PTR_TO_INT32(pthread_getspecific(pid_key))))
+#endif /* !NPTL */
+#endif  /* _KERNEL */
+
+#ifdef _KERNEL
+/* Convert a kernel stack address to the thread ID of the thread that uses
+   that stack */
+EXTERNC int cxiStackAddrToThreadId(char* stackP, cxiThreadId* tidP);
+/* Convert a kernel thread pointer to the corresponding thread ID */
+EXTERNC int cxiThreadPtrToThreadId(char* threadP, cxiThreadId* tidP);
+#endif  /* _KERNEL */
+
+#ifdef _KERNEL
+/* Transfer data from buffer(s) in user space to or from a buffer in the
+ *  kernel.
+ */
+EXTERNC int cxiUiomove(char* kBufP, unsigned long nBytes, Boolean toKernel,
+                       struct cxiUio_t* uioP);
+
+EXTERNC void * cxiGetFcntlOwner(eflock_t *flP);
+#define cxiSetEflockOwner(eflockP, flP) (eflockP->l_owner = cxiGetFcntlOwner(flP))
+#define FL_OFFSET_MAX (loff_t)(~0ULL>>1)
+#endif  /* _KERNEL */
+
+
+/* System priority operations */
+
+/* Define priority constants inherited from AIX;  priority can only be
+ * relatively adjusted in Linux and not set directly.
+ * AIX setpri priority numbers 0-99 (as recorded in the mmfs.cfg file)
+ * will be decremented by 60 (PUSER+20) to get to the setpriority range
+ * of -20 to 20. Linux setpriority will then bound anything outside that
+ * range to the edges of the range.
+ */
+#define PRI_SCHED    16
+#define PUSER        40
+
+#define cxiSetPri(pid, newpri) (setpriority(PRIO_PGRP, (int)pid, \
+                                            (int)newpri-(PUSER+20)))
+#define cxiGetPri(pid) ((PUSER+20) + getpriority(PRIO_PGRP, (int)pid))
+
+/* Threads are actually a cloned process with separate signal masks */
+#define cxiSigThreadMask(a,b,c)  sigprocmask((a),(b),(c));
+
+#ifndef _KERNEL
+/* Assertion functions */
+#include <assert.h>
+#define cxiAssertFailed(STRING,FILE,LINE) \
+          __assert_fail((STRING),(FILE),(LINE),__ASSERT_FUNCTION)
+#endif
+
+void dump_trace_back(char *failingExpr, char *srcFileName, int srcLineNumber);
+
+#ifdef INSTRUMENT_LOCKS
+/* Statistics kept per lock class: number of lock acquisitions and the
+   number of times the lock appeared to be held before it was requested */
+struct BlockingMutexStats
+{
+  UInt32 bmsAcquires;                   /* number of times lock obtained */
+  UInt32 bmsConflicts;                  /* number of lock conflicts */
+};
+
+#define MAX_GPFS_LOCK_NAMES 48
+
+#ifdef _KERNEL
+EXTERNC struct BlockingMutexStats BlockingMutexStatsTable[MAX_GPFS_LOCK_NAMES];
+EXTERNC void InitBlockingMutexStats();
+#endif
+#endif  /* INSTRUMENT_LOCKS */
+
+
+
+#ifdef _KERNEL
+/* String functions for the kernel */
+static inline size_t cxiStrlen(const char *str1)
+{
+  const char *beg1;
+
+  if (str1 == NULL)
+    return 0;
+
+  for (beg1 = str1; *str1; str1++);
+
+  return str1 - beg1;
+}
+
+static inline char *cxiStrcpy(char *str1, const char *str2)
+{
+  char *beg1 = str1;
+
+  while (*str1++ = *str2++);
+
+  return beg1;
+}
+
+static inline char *cxiStrcat(char *str1, const char *str2)
+{
+  char *beg1;
+
+  for (beg1 = str1; *str1; str1++);
+
+  while (*str1++ = *str2++);
+
+  return beg1;
+}
+
+static inline int cxiStrcmp(const char *str1, const char *str2)
+{
+  /* This cannot have an ENTER macro because it is used to implement ENTER
+     processing */
+  for (; *str1 == *str2; str1++, str2++)
+    if (*str1 == '\0')
+      return 0;
+
+  return *str1 - *str2;
+}
+
+static inline char *cxiStrncpy(char *str1, const char *str2, size_t num)
+{
+  char *beg1 = str1;
+
+  while (num)
+  {
+    num--;
+    if ((*str1++ = *str2++) == '\0')
+      break;
+  }
+
+  /* strncpy is defined to null out the total length */
+  while (num)
+  {
+    num--;
+    *str1++ = '\0';
+  }
+
+  return beg1;
+}
+
+static inline char *cxiStrncat(char *str1, const char *str2, size_t num)
+{
+  char *beg1;
+
+  for (beg1 = str1; *str1; str1++);
+
+  while (num-- && (*str1 = *str2++))
+   str1++;
+
+  *str1 = '\0';
+
+  return beg1;
+}
+
+static inline char *cxiStrrchr(const char *str1, int ch)
+{
+  char *ret = NULL;
+
+  do
+  {
+    if (*str1 == (char)ch)
+      ret = (char *)str1;
+  }
+  while (*str1++);
+
+  return ret;
+}
+
+static inline char *cxiStrchr(const char *str1, int ch)
+{
+  char *ret = NULL;
+
+  do
+  {
+    if (*str1 == (char)ch)
+    {
+      ret = (char *)str1;
+      break;
+    }
+  }
+  while (*str1++);
+
+  return ret;
+}
+
+static inline int cxiMemcmp(const void *v1, const void *v2, size_t num)
+{
+  char *str1 = (char *)v1;
+  char *str2 = (char *)v2;
+
+  for (; num && (*str1 == *str2); str1++, str2++, num--);
+
+  if (num)
+    return *str1 - *str2;
+  else
+    return 0;
+}
+
+static inline void *cxiMemcpy(void *v1, const void *v2, size_t num)
+{
+  char *str1 = (char *)v1;
+  char *str2 = (char *)v2;
+
+  while (num--)
+    *str1++ = *str2++;
+
+  return v1;
+}
+
+static inline void *cxiMemset(void *v1, int c, size_t num)
+{
+  char *str1 = (char *)v1;
+
+  while (num--)
+    *str1++ = c;
+
+  return v1;
+}
+#endif  /* _KERNEL */
+
+/* Local file system list */
+#define FILESYSTEM_FILE "/etc/fstab"
+#define VI_FILE         "/bin/vi"
+#define ROOT_GROUP      "root"
+#define ROOT_USER       "root"
+
+/* AIX inherited constants from device.h */
+#define CFG_INIT 0x1
+#define CFG_TERM 0x2
+
+#ifdef _KERNEL
+/* AIX inherited constants from sleep.h */
+/* flags for e_thread_sleep */
+#define INTERRUPTIBLE           (1)     /* sleep is interruptible */
+#define LOCK_HANDLER            (2)     /* lock used by interrupt handlers */
+//#define LOCK_READ             (4)     /* complex lock read mode specified */
+#define LOCK_SIMPLE             (8)     /* simple lock specified */
+//#define LOCK_WRITE            (16)    /* complex lock write mode specified */
+/* return values from e_thread_block */
+#define THREAD_AWAKENED         (1)     /* normal wakeup value */
+#define THREAD_TIMED_OUT        (2)     /* sleep timed out */
+#define THREAD_INTERRUPTED      (4)     /* sleep interrupted by signal */
+#define THREAD_OTHER            (4096)  /* Beginning of subsystem values */
+#endif /* _KERNEL */
+
+
+/* --------------------------------------- */
+/* Interfaces usable only from kernel code */
+/* --------------------------------------- */
+
+#ifdef _KERNEL
+
+/* Macros to convert Linux kernel version to a decimal integer that can
+   be compared to the symbol LINUX_KERNEL_VERSION.
+   See the description of LINUX_KERNEL_VERSION in site.mcr.proto. */
+#define GPFS_KERNEL_VERSION(_major,_minor,_sub,_mod) \
+   ( (_major)*1000000 + (_minor)*10000 + (_sub)*100 + (_mod))
+
+/*
+ * Kernel memory allocation services:
+ *
+ * These are implemented as subroutines in gpl-linux/kxiSystem.C.  All
+ * allocations use storage class GFP_KERNEL.  There is no distinction
+ * between pinned and unpinned kernel memory in Linux, so the unpinned
+ * interfaces are defined in terms of the pinned interfaces as macros.
+ */
+EXTERNC void* cxiMallocPinned(int nBytes);
+#define cxiMallocUnpinned(nBytes)  cxiMallocPinned(nBytes)
+EXTERNC void cxiFreePinned(void* p);
+#define cxiFreeUnpinned(p)         cxiFreePinned(p)
+
+EXTERNC void *cxiBigMalloc(int size);
+EXTERNC void cxiBigFree(char *ptr);
+
+
+/* cxiIsSuperUser - return true if caller has maximum authorization (is root) */
+EXTERNC Boolean cxiIsSuperUser();
+
+/* cxiGetMaxFileSize - return the maximum file size the calling process
+ * is allowed to create.
+ */
+EXTERNC Int64 cxiGetMaxFileSize();
+
+/* NFS services for Linux */
+/* nfsd calls open and release for every file read/write.  Provide a way
+   to detect that nfsd is the caller and avoid the extra overhead. */
+EXTERNC Boolean cxiIsNFSThread();
+
+/* nfsd4 opens should not block waiting for conflicting oplocks to be 
+ * broken.  They can accept EAGAIN and translate to NFS4ERR_DELAY as
+ * it does if it initiates a delegation recall.
+ */
+EXTERNC Boolean cxiIsNFS4Thread();
+
+EXTERNC Boolean cxiIsGPFSThread();
+
+EXTERNC Boolean cxiIsKswapdThread();
+
+EXTERNC Boolean cxiIsLockdThread();
+
+/* See if a cxiFlock_t belongs to NFS (lockd) */
+#define cxiGetLockCaller(lockP) ((lockP)->l_caller)
+#define cxiIsNFSLock(lockP)     ((lockP)->l_caller == L_CALLER_LOCKD)
+
+/* No-op services on linux */
+EXTERNC int socket_aio_dequeue();
+
+/* kupdate services for Linux */
+/* Use to identify syncs from kupdate that are generated way
+   too often by Linux (every 5 seconds). */
+EXTERNC Boolean cxiIsKupdateThread();
+
+#ifdef SMB_LOCKS
+/* Samba services for Linux */
+/* smbd calls open and subsequently makes calls to set open deny modes and
+   op locks.  Provide a way to distinguish these Samba calls from calls
+   from other users for which default actions on open and op locks must
+   be taken */
+EXTERNC Boolean cxiIsSambaOrLockdThread();
+
+/* Samba services for Linux */
+/* Provide a way to distinguish Samba calls from calls
+   from other users */
+EXTERNC Boolean cxiIsSambaThread();
+#endif
+
+/* The nfsd threads are allowed to FSYNC their writes. */
+#define cxiAllowNFSFsync() cxiIsNFSThread()
+
+/* OS dependent VFS calls */
+#define cxiDisconnectVfs(PVP)   /* nothing ??? */
+
+EXTERNC void cxiDeleteMmap(cxiVmid_t);  /* delete memory map */
+
+/* Set OS dependent virtual node type and device */
+EXTERNC void cxiSetOSNodeType(struct cxiNode_t *cnP, cxiMode_t mode,
+                              cxiDev_t rdev);
+#define cxiOSNodeTypeIs(CNP,VTYPE) (((CNP)->nType) == (VTYPE))
+
+EXTERNC Boolean cxiCanUncacheOSNode(void *osVfsP, struct cxiNode_t *cnP, void **vPP);
+
+#ifdef __cplusplus
+#ifdef CCL
+EXTERNC void *cxiAddOSNode(void *dentryP, void *vP, DentryOpTableTypes dopTabType, int lookup = 0);
+#else
+EXTERNC void *cxiAddOSNode(void *dentryP, void *vP, int lookup = 0);
+#endif
+#endif
+
+/* Kernel operations to copy data between user and kernel space */
+EXTERNC int cxiCopyIn(char *from, char *to, unsigned long size);
+EXTERNC int cxiCopyOut(char *from, char *to, unsigned long size);
+EXTERNC int cxiCopyInstr(char *from, char *to, unsigned long size,
+                         unsigned long *len);
+
+EXTERNC long cxiSafeGetLong(long* from);
+EXTERNC void cxiSafePutLong(long val, long* to);
+EXTERNC int cxiSafeGetInt(int* from);
+EXTERNC void cxiSafePutInt(int val, int* to);
+
+/* Adhere to XPG 1170 behaviour */
+#define cxiIsXPG()	1
+
+/* Routine to send a signal to the current thread/process */
+EXTERNC void cxiSendSigThread(int sig);
+
+/* Routines to manipulate cxiWaitEvent_t objects. */
+EXTERNC void cxiWaitEventInit(cxiWaitEvent_t* weP);
+EXTERNC Boolean cxiWaitEventHasWaiters(cxiWaitEvent_t* weP);
+
+/* Kernel-only synchronization primitives.  A cxiBlockingMutex_t can be used
+   to protect a critical section.  Requests to acquire a cxiBlockingMutex
+   that is already held by another thread will block the caller.  Must
+   initialize the mutex before acquiring it, and must terminate it before
+   deallocating the storage it occupies.  Implemented using semaphores on
+   Linux. */
+EXTERNC void cxiBlockingMutexInit(cxiBlockingMutex_t* mP, int bmNameIdx);
+EXTERNC void cxiBlockingMutexAcquire(cxiBlockingMutex_t* mP) REGPARMS;
+EXTERNC void cxiBlockingMutexRelease(cxiBlockingMutex_t* mP) REGPARMS;
+EXTERNC void cxiBlockingMutexTerm(cxiBlockingMutex_t* mP);
+EXTERNC Boolean cxiBlockingMutexHeldByCaller(cxiBlockingMutex_t* mP);
+EXTERNC Boolean cxiBlockingMutexHasWaiters(cxiBlockingMutex_t* mP);
+
+/* Yield the CPU to allow other processes to run */
+EXTERNC void cxiYield();
+
+/* Well defined portability interface calling changing (depending on kernel
+ * level) linux interface
+ */
+EXTERNC int cxiFillDir(void *argP, const char *nameP, 
+                       int namelen, offset_t offset, ino_t ino);
+
+/* A cxiWaitEvent_t can be used like a condition variable using the calls
+   below.  There must be an associated cxiBlockingMutex_t held when calling
+   cxiWaitEventWait that will be reacquired before returning.  The routine
+   cxiWaitEventSignal wakes up one thread waiting in cxiWaitEventWait,
+   while cxiWaitEventBroadcast wakes all such waiting threads.  The
+   cxiWaitEventWakeupOne routine is the same as cxiWaitEventSignal except
+   that multiple calls will each pick a different thread.  The flags
+   parameter to cxiWaitEventWait indicates whether or not the wait can be
+   interrupted by a signal.  It should be set to INTERRUPTIBLE if
+   interrupts due to signals are desired, otherwise set to 0. */
+EXTERNC int cxiWaitEventWait(cxiWaitEvent_t* weP, cxiBlockingMutex_t* mutexP,
+                             int waitFlags);
+EXTERNC void cxiWaitEventSignal(cxiWaitEvent_t* weP);
+EXTERNC void cxiWaitEventWakeupOne(cxiWaitEvent_t* weP);
+EXTERNC void cxiWaitEventBroadcast(cxiWaitEvent_t* weP);
+EXTERNC void cxiWaitEventBroadcastRC(cxiWaitEvent_t* weP, int rc);
+
+/* Kill the system due to a fatal error */
+EXTERNC void cxiPanic(const char* panicStrP);
+
+/* Get the address of the first byte not addressible by processes */
+EXTERNC UIntPtr cxiGetKernelBoundary();
+
+/* Return true if this process holds the big kernel lock (BKL) */
+EXTERNC Boolean cxiHoldsBKL();
+
+EXTERNC void cxiExportModuleStruct(void *modAddr);
+EXTERNC void cxiIncModuleCounter(int up);
+
+EXTERNC void cxiSetBit(unsigned long *flagP, int flag_bit);
+EXTERNC void cxiClearBit(unsigned long *flagP, int flag_bit);
+EXTERNC Boolean cxiTestBit(unsigned long *flagP, int  flag_bit);
+
+/* Tell OS if a thread is involved in handling VM page-out requests */
+EXTERNC Boolean cxiSetPageoutThread();
+EXTERNC void cxiClearPageoutThread();
+
+#ifdef API_32BIT
+#ifdef GPFS_ARCH_IA64
+/* Macros for 32-bit API support. 32-bit addresses are in region 0,
+   so the upper 32-bits of 32-bit proc addresses are just zero extended. */
+#define MASK_UPPER32 0xFFFFFFFF00000000UL
+#define cxiIS64U(addr) ((((UIntPtr)addr) & MASK_UPPER32) != 0)
+#endif /* GPFS_ARCH_IA64 */
+#ifdef GPFS_ARCH_X86_64
+/* Need to define cxiIS64U in portability layer for Opteron. */
+EXTERNC int cxiIS64U(char *addr);
+#endif /* GPFS_ARCH_X86_64 */
+#endif /* API_32BIT */
+
+#endif  /* _KERNEL */
+
+/* Return current time of day in seconds and nanoseconds. */
+#ifdef _KERNEL
+EXTERNC int cxiGetTOD(cxiTimeStruc_t *tP);
+
+static inline void cxiInvalidateAttr(cxiNode_t *cnP, int what)
+{
+  cnP->icValid &= ~what;
+  if (what & CXI_IC_PERM)
+    cxiInvalidatePerm(cnP);
+}
+
+#else /* !_KERNEL */
+
+struct timezone;
+EXTERNC int gettimeofday __P ((struct timeval *__tv, struct timezone *__tz));
+/* cxiTimeStruc_t should have same size as linux struct timeval.
+ * Call LGPL library function and translate microseconds from call
+ * to nanoseconds.
+ */
+
+EXTERNC inline int cxiGetTOD(cxiTimeStruc_t *tP)
+{
+#ifdef STANDALONE_PROGRAM
+   int rc = gettimeofday((struct timeval *)tP, NULL);
+   tP->tv_nsec = tP->tv_nsec * 1000;
+   return rc;
+#else
+  return kxGetTimeOfDay(tP);
+#endif
+
+#define cxiSafeGetLong(_ptr) (*_ptr)
+#define cxiSafeGetInt(_ptr) (*_ptr)
+}
+
+/* String functions in user space */
+#define cxiStrcpy  strcpy
+#define cxiStrncpy strncpy
+#define cxiStrcat  strcat
+#define cxiStrncat strncat
+#define cxiStrrchr strrchr
+#define cxiStrchr  strchr
+#define cxiStrcmp  strcmp
+#define cxiMemcpy  memcpy
+#define cxiStrlen  strlen
+#define cxiMemcmp  memcmp
+#define cxiMemset  memset
+
+#endif /* _KERNEL */
+
+/* Samba share/delegate flags.  Unlike NFSV4, the interface here is
+ * just between our Samba vfs library and ourselves so we can define
+ * these to be any values we choose.  */
+#define CXI_ACCESS_READ   1
+#define CXI_ACCESS_WRITE  2
+#define CXI_ACCESS_BOTH   3
+#define CXI_DENY_NONE     0
+#define CXI_DENY_READ     1
+#define CXI_DENY_WRITE    2
+#define CXI_DENY_BOTH     3
+#define CXI_DELEGATE_NONE  0
+#define CXI_DELEGATE_READ  1
+#define CXI_DELEGATE_WRITE 2
+
+/* Whatever the values specified in Samba for share, deny, and oplock flags,
+ * we have to translate them to our SMB open and oplock flags.
+ * Define macros to translate and error check.
+ */
+#define XLATE_SAMBA_ACCESS(SAMBA_SHARE, SHARE) \
+  if (SAMBA_SHARE == CXI_ACCESS_READ) SHARE |= coRead; \
+  else if (SAMBA_SHARE == CXI_ACCESS_WRITE) SHARE |= coWriteM|coWriteA; \
+  else if (SAMBA_SHARE == CXI_ACCESS_BOTH) SHARE |= coRead|coWriteM|coWriteA; \
+  else if (SAMBA_SHARE != 0) goto xerror;
+
+#define XLATE_SAMBA_DENY(SAMBA_DENY, SHARE) \
+  if (SAMBA_DENY == CXI_DENY_NONE) SHARE &= ~coDenyAll; \
+  else if (SAMBA_DENY == CXI_DENY_READ) SHARE |= coDenyR; \
+  else if (SAMBA_DENY == CXI_DENY_WRITE) SHARE |= coDenyWM|coDenyWA; \
+  else if (SAMBA_DENY == CXI_DENY_BOTH) SHARE |= coDenyR|coDenyWM|coDenyWA; \
+  else goto xerror;
+
+#define XLATE_SAMBA_DELEGATE(SAMBA_DELEGATE, OPLOCK) \
+  if (SAMBA_DELEGATE == CXI_DELEGATE_NONE) OPLOCK |= smbOplockNone; \
+  else if (SAMBA_DELEGATE == CXI_DELEGATE_READ) OPLOCK |= smbOplockShared; \
+  else if (SAMBA_DELEGATE == CXI_DELEGATE_WRITE) OPLOCK |= smbOplockExclusive; \
+  else goto xerror;
+
+/* Call Linux-specific F_SETLEASE operation.
+   This will register the caller so that it will be notified via SIGIO
+   when an OpLock break is required (REVOKE_LEASE is called).
+*/
+#define CXI_REGISTER_LEASE(FD, LTYPE) \
+  fcntl(FD, F_SETLEASE, (LTYPE == CXI_DELEGATE_READ )? F_RDLCK: \
+                        (LTYPE == CXI_DELEGATE_WRITE)? F_WRLCK: F_UNLCK)
+
+/* Call Linux-specific F_GETLEASE */
+#define CXI_GET_LEASE_HELD(FD, LEASE) \
+  LEASE = fcntl(FD, F_GETLEASE, 0); \
+  LEASE = (LEASE == F_RDLCK)? CXI_DELEGATE_READ: \
+          (LEASE == F_WRLCK)? CXI_DELEGATE_WRITE: \
+          (LEASE == F_UNLCK)? CXI_DELEGATE_NONE: LEASE
+
+#if defined(NFS4_CLUSTER) || defined(NFS4_VCM)
+
+#define OPEN4_SHARE_ACCESS_READ  0x00000001
+#define OPEN4_SHARE_ACCESS_WRITE 0x00000002
+#define OPEN4_SHARE_ACCESS_BOTH  0x00000003
+#define OPEN4_SHARE_DENY_NONE    0x00000000
+#define OPEN4_SHARE_DENY_READ    0x00000010
+#define OPEN4_SHARE_DENY_WRITE   0x00000020
+#define OPEN4_SHARE_DENY_BOTH    0x00000030
+#define OPEN_DELEGATE_NONE       0x00000000
+#define OPEN_DELEGATE_READ       0x00000100
+#define OPEN_DELEGATE_WRITE      0x00000200
+
+#define CXI_SHARE_ACCESS_READ   OPEN4_SHARE_ACCESS_READ
+#define CXI_SHARE_ACCESS_WRITE  OPEN4_SHARE_ACCESS_WRITE
+#define CXI_SHARE_ACCESS_BOTH   OPEN4_SHARE_ACCESS_BOTH
+#define CXI_SHARE_DENY_NONE     OPEN4_SHARE_DENY_NONE
+#define CXI_SHARE_DENY_READ     OPEN4_SHARE_DENY_READ
+#define CXI_SHARE_DENY_WRITE    OPEN4_SHARE_DENY_WRITE
+#define CXI_SHARE_DENY_BOTH     OPEN4_SHARE_DENY_BOTH
+#define CXI_OPEN_DELEGATE_NONE  OPEN_DELEGATE_NONE
+#define CXI_OPEN_DELEGATE_READ  OPEN_DELEGATE_READ
+#define CXI_OPEN_DELEGATE_WRITE OPEN_DELEGATE_WRITE
+
+/* Whatever the values specified in the NFS4 interface for share, deny, and
+ * delegate flags, we have to translate them to our SMB open and oplock flags.
+ * Define macros to translate and error check.
+ */
+#define XLATE_NFS4_ACCESS(NFS4_SHARE, SHARE) \
+  if (NFS4_SHARE == CXI_SHARE_ACCESS_READ) SHARE |= coRead; \
+  else if (NFS4_SHARE == CXI_SHARE_ACCESS_WRITE) SHARE |= coWriteM|coWriteA; \
+  else if (NFS4_SHARE == CXI_SHARE_ACCESS_BOTH) SHARE |= coRead|coWriteM|coWriteA; \
+  else if (NFS4_SHARE != 0) goto xerror;
+
+#define XLATE_NFS4_DENY(NFS4_DENY, SHARE) \
+  if (NFS4_DENY == CXI_SHARE_DENY_NONE) SHARE &= ~coDenyAll; \
+  else if (NFS4_DENY == CXI_SHARE_DENY_READ) SHARE |= coDenyR; \
+  else if (NFS4_DENY == CXI_SHARE_DENY_WRITE) SHARE |= coDenyWM|coDenyWA; \
+  else if (NFS4_DENY == CXI_SHARE_DENY_BOTH) SHARE |= coDenyR|coDenyWM|coDenyWA; \
+  else goto xerror;
+
+#define XLATE_NFS4_DELEGATE(NFS4_DELEGATE, OPLOCK) \
+  if (NFS4_DELEGATE == CXI_OPEN_DELEGATE_NONE) OPLOCK |= smbOplockNone; \
+  else if (NFS4_DELEGATE == CXI_OPEN_DELEGATE_READ) OPLOCK |= smbOplockShared; \
+  else if (NFS4_DELEGATE == CXI_OPEN_DELEGATE_WRITE) OPLOCK |= smbOplockExclusive; \
+  else goto xerror;
+
+#endif /* NFS4_CLUSTER */
+
+#ifdef NFS4_VCM
+/* VCM definitions */
+#define boolean_t Boolean
+#define uint16_t UInt16
+
+typedef void * vcm_peerHandle_t;
+typedef uint16_t vcm_opRights_t;
+typedef UInt64 vcm_revokeTag_t;
+
+/* VCM flags */
+
+/* Flags for vcm_peerRegister() */
+#define VCM_PRGY_RTN_OPENS    0x00000001
+#define VCM_PRGY_ENF_VREG     0x00000002
+#define VCM_PRGY_ENF_VDIR     0x00000004
+#define VCM_PRGY_ENF_VLNK     0x00000008
+
+/* Flags for vcm_peerRevoke() */
+#define VCM_P_RVK_NOWAIT      0x00000001
+#define VCM_P_RVK_FORCE       0x00000002
+
+/* Flags for getOpRights */
+#define VCM_P_GR_NOWAIT       0x00000001
+
+/* Flags for returnOpRights */
+#define VCM_P_RR_REL_OBJ      0x00000001
+
+/* Flags for vcm_peerCreateReq_t */
+#define VCM_P_CREQ_F_CREATE   0x00000001
+
+
+/* GPFS peer-side utilities */
+#define cxiPeerUnregister() (NOOP);
+#define cxiGetPeerTag() ((uint64_t)NULL)
+#define cxiGetPeerHandle() ((vcm_peerHandle_t)NULL)
+#define cxiWatchVCM(nfsP, doClose) (0);
+#define cxiCleanupVCM(nfsP) (0);
+#define cxiFSCleanupVCM(privVfsP) (0);
+
+#define cxiInitVCM(nfsP) \
+{ \
+  nfsP->vcmRights = 0; \
+  nfsP->vcmRevokeRights = 0; \
+  nfsP->vcmRevokeTag = 0; \
+}
+
+/* GPFS peer-side interfaces */
+#define gpfs_vcm_releaseObjHandle(peerTag, objHandleP) (0)
+#define delegateInternal(vP, vinfoP, acc, flags, cb_rtn, cookie) (0)
+
+/* VCM-side interfaces */
+#define vcm_peerRegister(peerInfoP, peerHandleP) (0)
+#define vcm_peerUnregister(peerHandle) (0)
+#define vcm_peerRevoke(peerHandle, objHandle, peerOpHandle, peerTag, \
+                       rights, flags, releObjHandleP) (0) 
+#define vcm_peerTest(tc, fid, vfsP, opInfoP) (0)
+
+/* The CXI_OPEN/SHARE values will be set to the VCM Rights 
+ * Here some useful comparison macros based on these defines are included. */
+#define CXI_DELEGATE          (CXI_OPEN_DELEGATE_READ | CXI_OPEN_DELEGATE_WRITE)
+#define CXI_SHARE_ALLOW       (CXI_SHARE_ACCESS_READ | CXI_SHARE_ACCESS_WRITE)
+#define CXI_SHARE_DENY        (CXI_SHARE_DENY_READ | CXI_SHARE_DENY_WRITE)
+#define CXI_SHARE             (CXI_SHARE_ALLOW | CXI_SHARE_DENY)
+
+#define CXI_IS_DELEGATE_READ(R)  (0 != (R & CXI_OPEN_DELEGATE_READ))
+#define CXI_IS_DELEGATE_WRITE(R) (0 != (R & CXI_OPEN_DELEGATE_WRITE))
+#define CXI_IS_SHARE_READ(R)     (0 != (R & CXI_SHARE_ACCESS_READ))
+#define CXI_IS_SHARE_WRITE(R)    (0 != (R & CXI_SHARE_ACCESS_WRITE))
+#define CXI_IS_DENY_READ(R)      (0 != (R & CXI_SHARE_DENY_READ))
+#define CXI_IS_DENY_WRITE(R)     (0 != (R & CXI_SHARE_DENY_WRITE))
+#define CXI_IS_DELEGATE(R)       (0 != (R & CXI_DELEGATE))
+#define CXI_IS_SHARE_ALLOW(R)    (0 != (R & CXI_SHARE_ALLOW))
+#define CXI_IS_SHARE_DENY(R)     (0 != (R & CXI_SHARE_DENY))
+#define CXI_IS_SHARE(R)          (0 != (R & CXI_SHARE))
+
+#endif /* NFS4_VCM */
+
+#if defined(DMAPI) || defined(SANERGY)
+
+EXTERNC int cxiPathToVfsP(void **privVfsPP, char *pathname, void **ndPP, void **gP, Boolean traverseLink);
+EXTERNC void cxiPathRel(void * ndP);
+EXTERNC void cxiSetCred(void *eCredP);
+
+#endif /* DMAPI or SANERGY */
+
+#ifdef UIDREMAP
+EXTERNC size_t cxiGetUserEnvironmentSize(void);
+EXTERNC int cxiGetUserEnvironment(char* buf, size_t len);
+#endif
+
+EXTERNC Boolean cxiHasMountHelper();
+
+EXTERNC int cxiCheckThreadState(cxiThreadId tid);
+
+#ifdef P_NFS4
+EXTERNC int cxiSetFH(int *fhP, int sid);
+EXTERNC int cxiOpenState(void *vfsP, void *p);
+EXTERNC int cxiChangeState(void *vfsP, void *p);
+EXTERNC int cxiRecallLayout(void *vfsP, void *vP, void *p);
+EXTERNC int cxiGetDeviceList(int nDests, int *dests, void *p);
+EXTERNC int cxiGetDeviceInfo(void *p);
+EXTERNC int cxiGetLayout(int nDests, int *dests, cxiVattr_t *vattr,
+                         int myAddr, void *p);
+#endif
+#endif  /* _h_cxiSystem_plat */
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiTypes-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiTypes-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiTypes-plat.h	(revision 16)
@@ -0,0 +1,769 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)09       1.126  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiTypes-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 11/15/05 13:25:02 */
+/*
+ * Definitions for system dependent types, Linux version
+ *
+ * Contents:
+ *   system dependent types
+ *
+ */
+
+
+#ifndef _h_cxiTypes_plat
+#define _h_cxiTypes_plat
+
+#ifndef _h_cxiTypes
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Use system types.h except in portability kernel code */
+#if !defined(GPFS_GPL) || !defined(_KERNEL)
+#include <sys/types.h>
+#endif
+
+/* Suffix of a routine declaration to tell GCC to pass parameters in
+   registers */
+#ifdef GPFS_ARCH_I386
+#define REGPARMS __attribute__((regparm(3)))
+#else
+#define REGPARMS
+#endif
+
+/* Inline functions to byte-swap integers of various sizes.  These use
+   assembler helpers on some architectures.  If the input parameter is
+   a constant, the GCC compiler will generate better code by compile-time
+   optimization of a (complicated) expression involving shifts and masks
+   rather than calling the inline asm code. */
+#ifdef GPFS_ARCH_I386
+  static inline const UInt16 _asm_swap16(UInt16 val)
+  { /* "q" means any of regs AX-DX, which are the only ones that can be
+       addressed as bytes */
+    __asm__("xchgb %b0,%h0  # _asm_swap16" \
+            : "=q" (val)                   \
+            :  "0" (val));
+    return val;
+  }
+  static inline UInt16 ByteSwap16(UInt16 val)
+  {
+    return __builtin_constant_p(val)
+      ? _ByteSwap16(val)
+      : _asm_swap16(val);
+  }
+#else
+  static inline UInt16 ByteSwap16(UInt16 val)
+  {
+    return _ByteSwap16(val);
+  }
+#endif
+
+
+#if defined(GPFS_ARCH_I386) || defined(GPFS_ARCH_X86_64)
+  static inline const UInt32 _asm_swap32(UInt32 val)
+  {
+    __asm__("bswap %0  # _asm_swap32"   \
+            : "=r" (val)                \
+            : "0" (val));
+    return val;
+  }
+  static inline UInt32 ByteSwap32(UInt32 val)
+  {
+    return __builtin_constant_p(val)
+      ? _ByteSwap32(val)
+      : _asm_swap32(val);
+  }
+#elif defined(GPFS_ARCH_IA64)
+  static inline UInt32 ByteSwap32(UInt32 val)
+  {
+    UInt64 swapval1 = (UInt64)val, swapval2;
+    __asm__("shl %0=%1,32;;"
+            : "=r"(swapval2)
+            : "r"(swapval1) );
+    __asm__("mux1 %0=%1,@rev"
+            : "=r"(swapval1)
+            : "r"(swapval2) );
+    return (UInt32)swapval1;
+  }
+#else
+  static inline UInt32 ByteSwap32(UInt32 val)
+  {
+    return _ByteSwap32(val);
+  }
+#endif
+
+
+#ifdef GPFS_ARCH_I386
+  /* Use an external assembler routine to do the swap, since inline
+     assembler either generates poor code or incorrect code in some cases.
+     The inline asembler is preserved in tasking/i386/swap.S. */
+  EXTERNC const UInt64 _asm_swap64(UInt64 val) REGPARMS;
+  static inline UInt64 ByteSwap64(UInt64 val)
+  {
+    return __builtin_constant_p(val)
+      ? _ByteSwap64(val)
+      : _asm_swap64(val);
+  }
+#elif defined(GPFS_ARCH_IA64)
+  static inline UInt64 ByteSwap64(UInt64 val)
+  {
+    UInt64 swapval;
+    __asm__("mux1 %0=%1,@rev"
+            : "=r"(swapval)
+            : "r"(val) );
+    return swapval;
+  }
+#elif defined(GPFS_ARCH_X86_64)
+  static inline UInt64 ByteSwap64(UInt64 val)
+  {
+    UInt64 swapval = val;
+    __asm__("bswap %0"
+            : "=r"(swapval)
+            : "0"(swapval) );
+    return swapval;
+  }
+#else
+  static inline UInt64 ByteSwap64(UInt64 val)
+  {
+    return  _ByteSwap64(val);
+  }
+#endif  /* GPFS_ARCH_I386 */
+
+
+/* On little-endian machines, declare classes for big-endian integers
+   of various sizes.  Each class provides operator= and integer cast
+   operators, so the compiler will insert code to do conversions
+   automatically when evaluating expressions involving big-endian
+   integers.  When passing a BigEndIntxx as a value parameter to a
+   function without a prototype for its arguments, be sure to explicitly
+   cast to the corresponding native arithmetic type.  Otherwise, passing
+   the class instance by value will result in the wrong byte order in
+   the called routine.  This most often occurs with printf and related
+   functions.  Notice that the code generated by TRACEn macros already
+   contains such an explicit cast, so no case is needed in the source
+   code. */
+#ifdef __cplusplus
+# ifdef GPFS_LITTLE_ENDIAN
+
+    class BigEndInt16
+    {
+    private:
+      Int16 val16;
+
+    public:
+      operator Int16() const
+        { return ByteSwap16(val16); }
+      BigEndInt16 operator=(Int16 newVal16)
+        { val16 = ByteSwap16(newVal16); return *this; }
+      int operator==(BigEndInt16 rhs) const
+        { return val16 == rhs.val16; }
+      int operator!=(BigEndInt16 rhs) const
+        { return val16 != rhs.val16; }
+      BigEndInt16 operator+=(Int16 inc)
+        { val16 = ByteSwap16(ByteSwap16(val16)+inc); return *this; }
+      BigEndInt16 operator-=(Int16 inc)
+        { val16 = ByteSwap16(ByteSwap16(val16)-inc); return *this; }
+      BigEndInt16 operator&=(Int16 mask)
+        { val16 &= ByteSwap16(mask); return *this; }
+      BigEndInt16 operator|=(Int16 mask)
+        { val16 |= ByteSwap16(mask); return *this; }
+    };
+
+    class BigEndUInt16
+    {
+    private:
+      UInt16 uval16;
+
+    public:
+      operator UInt16() const
+        { return ByteSwap16(uval16); }
+      BigEndUInt16 operator=(UInt16 newVal16)
+        { uval16 = ByteSwap16(newVal16); return *this; }
+      int operator==(BigEndUInt16 rhs) const
+        { return uval16 == rhs.uval16; }
+      int operator!=(BigEndUInt16 rhs) const
+        { return uval16 != rhs.uval16; }
+      BigEndUInt16 operator+=(UInt16 inc)
+        { uval16 = ByteSwap16(ByteSwap16(uval16)+inc); return *this; }
+      BigEndUInt16 operator-=(UInt16 inc)
+        { uval16 = ByteSwap16(ByteSwap16(uval16)-inc); return *this; }
+      BigEndUInt16 operator&=(UInt16 mask)
+        { uval16 &= ByteSwap16(mask); return *this; }
+      BigEndUInt16 operator|=(UInt16 mask)
+        { uval16 |= ByteSwap16(mask); return *this; }
+    };
+
+    class BigEndInt32
+    {
+    private:
+      Int32 val32;
+
+    public:
+      operator Int32() const
+        { return ByteSwap32(val32); }
+      BigEndInt32 operator=(Int32 newVal32)
+        { val32 = ByteSwap32(newVal32); return *this; }
+      int operator==(BigEndInt32 rhs) const
+        { return val32 == rhs.val32; }
+      int operator!=(BigEndInt32 rhs) const
+        { return val32 != rhs.val32; }
+      BigEndInt32 operator+=(Int32 inc)
+        { val32 = ByteSwap32(ByteSwap32(val32)+inc); return *this; }
+      BigEndInt32 operator-=(Int32 inc)
+      { val32 = ByteSwap32(ByteSwap32(val32)-inc); return *this; }
+    };
+
+    class BigEndUInt32
+    {
+    private:
+      UInt32 uval32;
+
+    public:
+      operator UInt32() const
+        { return ByteSwap32(uval32); }
+      BigEndUInt32 operator=(UInt32 newVal32)
+        { uval32 = ByteSwap32(newVal32); return *this; }
+      int operator==(BigEndUInt32 rhs) const
+        { return uval32 == rhs.uval32; }
+      int operator!=(BigEndUInt32 rhs) const
+        { return uval32 != rhs.uval32; }
+      BigEndUInt32 operator+=(UInt32 inc)
+        { uval32 = ByteSwap32(ByteSwap32(uval32)+inc); return *this; }
+      BigEndUInt32 operator-=(UInt32 inc)
+        { uval32 = ByteSwap32(ByteSwap32(uval32)-inc); return *this; }
+      BigEndUInt32 operator&=(UInt32 mask)
+        { uval32 &= ByteSwap32(mask); return *this; }
+      BigEndUInt32 operator|=(UInt32 mask)
+        { uval32 |= ByteSwap32(mask); return *this; }
+      BigEndUInt32 operator^=(UInt32 mask)
+        { uval32 ^= ByteSwap32(mask); return *this; }
+    };
+
+    class BigEndInt64
+    {
+    private:
+      Int64 val64;
+
+    public:
+      operator Int64() const
+        { return ByteSwap64(val64); }
+      BigEndInt64 operator=(Int64 newVal64)
+        { val64 = ByteSwap64(newVal64); return *this; }
+      int operator==(BigEndInt64 rhs) const
+        { return val64 == rhs.val64; }
+      int operator!=(BigEndInt64 rhs) const
+        { return val64 != rhs.val64; }
+      BigEndInt64 operator+=(Int64 inc)
+        { val64 = ByteSwap64(ByteSwap64(val64)+inc); return *this; }
+      BigEndInt64 operator-=(Int64 inc)
+        { val64 = ByteSwap64(ByteSwap64(val64)-inc); return *this; }
+    };
+
+    class BigEndUInt64
+    {
+    private:
+      UInt64 uval64;
+
+    public:
+      operator UInt64() const
+        { return ByteSwap64(uval64); }
+      BigEndUInt64 operator=(UInt64 newVal64)
+        { uval64 = ByteSwap64(newVal64); return *this; }
+      int operator==(BigEndUInt64 rhs) const
+        { return uval64 == rhs.uval64; }
+      int operator!=(BigEndUInt64 rhs) const
+        { return uval64 != rhs.uval64; }
+      BigEndUInt64 operator+=(UInt64 inc)
+        { uval64 = ByteSwap64(ByteSwap64(uval64)+inc); return *this; }
+      BigEndUInt64 operator-=(UInt64 inc)
+        { uval64 = ByteSwap64(ByteSwap64(uval64)-inc); return *this; }
+    };
+# else /* GPFS_LITTLE_ENDIAN */
+    typedef Int16  BigEndInt16;
+    typedef UInt16 BigEndUInt16;
+    typedef Int32  BigEndInt32;
+    typedef UInt32 BigEndUInt32;
+    typedef Int64  BigEndInt64;
+    typedef UInt64 BigEndUInt64;
+# endif /* GPFS_LITTLE_ENDIAN */
+# else /* not __cplusplus */
+    typedef Int16  BigEndInt16;
+    typedef UInt16 BigEndUInt16;
+    typedef Int32  BigEndInt32;
+    typedef UInt32 BigEndUInt32;
+    typedef Int64  BigEndInt64;
+    typedef UInt64 BigEndUInt64;
+#endif /* __cplusplus */
+
+/* GPFS stores special file device numbers as 32 bit values
+ * (the original AIX dev_t size).  The cxiDev_t type is 64 bits
+ * since this is the size of the user space dev_t and the prevalent
+ * type that we're always presented with from the stat structure.
+ */
+typedef UInt64  cxiDev_t;        /* user space dev_t definition */
+
+typedef int cxiVmid_t;          // dummy on Linux
+typedef UIntPtr cxiVmhandle_t;  // try this for now
+
+/* Time types equivalent to linux definitions of time_t 
+ * and suseconds_t.
+ */
+typedef long int cxiNSec_t;
+typedef long int cxiTime_t;
+
+/* Type used as parameter of ATOMIC_ADD, etc.  */
+typedef int    *atomic_p;
+/* Type used as parameter of ATOMIC_ADDLP, etc.  */
+typedef long   *atomic_l;
+
+/* File offset */
+typedef long long offset_t;
+
+/* Complex system types */
+struct xmem
+{
+  int x;
+};
+
+/* Cross-memory descriptor */
+typedef struct
+{
+  /* Pointer to buffer descriptor object in kernel address space */
+  struct cxiKernelIOBufferDesc_t *kibdP;
+} cxiXmem_t;
+
+#ifdef _KERNEL
+#define CXIXMEM_TO_XMEM(_XMEM, _CXIXMEM) \
+{ \
+  memcpy(_XMEM, _CXIXMEM, sizeof(cxiXmem_t)); \
+};
+#endif
+
+/* Describes address space of a cxiUio_t buffer.
+ * User address space buffers get extra validity 
+ * checking to ensure they are indeed in user space.
+ */
+#define UIO_SYSSPACE  1
+#define UIO_USERSPACE 0
+
+/* Structure representing a buffer in user space that needs to be accessed
+   from kernel code. */
+struct cxiUio_t
+{
+  struct cxiIovec_t *uio_iov;    /* ptr to array of iovec structs */
+  unsigned long      uio_iovcnt; /* #iovec elements remaining to be processed */
+  unsigned long      uio_iovdcnt;/* #iovec elements already processed */
+  offset_t           uio_offset; /* byte offset in file/dev to read/write */
+  long               uio_resid;  /* #bytes left in data area */
+  short              uio_segflg; /* description of which address space in use */
+  long               uio_fmode;  /* copy of file modes from open file struct */
+  cxiXmem_t         *uio_xmem;   /* dummy field for AIX compatibility */
+};
+
+#define UIO_XMEM 0
+
+
+/* First parameter on return call to cxiFillDir().  This structure
+ * describes the operating systems' filldir() routine and any uninterpreted
+ * arguments that need to be passed back to it.   The cxiFillDir() routine
+ * has a static set of parameters that are passed to it, whereas the 
+ * Linux filldir() routine has changed signatures for different kernel
+ * levels.  We thus use cxiFillDir() in the portability layer to map
+ * the arguments correctly to the Linux filldir().
+ */
+typedef struct cxiFillDirArg_t 
+{
+  void *fnP;
+  void *argP;
+} cxiFillDirArg_t;
+
+/* Callback function to return directory entries.
+ * Called by readddir for each directory entry to be returned to the user.
+ * Should return zero if the entry still fits in the user's buffer;
+ * otherwise a negative value should be returned.  The 'offset' parameter
+ * is the logical offset of the current entry, i.e., a seekdir to that
+ * offset followed by a readdir will return the same directory entry again. 
+ */
+typedef int (*cxiFillDir_t)(void *, const char *, int, offset_t, ino_t);
+#define CALL_FILLDIR(fnP, argP, nameP, namelen, offset, ino) \
+  (*fnP)(argP, nameP, namelen, offset, ino)
+
+#define GPFS_DIR_EOF 0x7FFFFFFF
+
+/* Advisory locking types and defines */
+typedef cxiFlock_t eflock_t;
+#define MNT_NFS 2
+#define MNT_NFS3 18
+#define MNT_RFS4 36
+
+/* Define analagous kernel types here for now */
+/* These should ONLY be used for typecasting kernel service call parms */
+typedef cxiPid_t gpfs_Kpid_t;
+
+/* GPFS file types.  These match the AIX vtype definitions from vnode.h */
+enum cxiVtype { cxiVNON, cxiVREG, cxiVDIR, cxiVBLK, cxiVCHR, cxiVLNK,
+                cxiVSOCK, cxiVBAD, cxiVFIFO, cxiVMPC };
+#define cxiVUNDEF cxiVNON   /* undefined is same as nothing */
+typedef enum cxiVtype cxiVtype_t;
+
+/* Maximum size defined within Linux kernel for spinlock_t
+ * We abstract this class to just a hunk of storage and let the OS
+ * specific piece handle the implementation.
+ */
+#ifdef DEBUG_SPINLOCK
+#  if defined (GPFS_ARCH_I386)
+#    define SPINLOCK_T_SIZE 8
+#  elif defined(GPFS_ARCH_POWER)
+#    define SPINLOCK_T_SIZE 12
+#  elif defined(GPFS_ARCH_IA64)
+#    define SPINLOCK_T_SIZE 4
+#  elif defined(GPFS_ARCH_PPC64)
+#    define SPINLOCK_T_SIZE 16
+#  elif defined(GPFS_ARCH_X86_64)
+#    define SPINLOCK_T_SIZE 8
+#  endif
+#else
+   #if defined(GPFS_ARCH_PPC64) && (LINUX_KERNEL_VERSION >= 2042100)
+     #define SPINLOCK_T_SIZE 8
+   #elif defined(GPFS_ARCH_X86_64) 
+     /* Same size as DEBUG_SPINLOCK 
+      * Changing this size requires an adjustment of CXINODE_SIZE
+      */
+     #define SPINLOCK_T_SIZE 8
+   #elif defined(GPFS_ARCH_I386) 
+     /* Same size as DEBUG_SPINLOCK  */
+     #define SPINLOCK_T_SIZE 8
+   #else
+     #define SPINLOCK_T_SIZE 4
+   #endif
+#endif
+
+/* Base VFS node class portion that is OS specific.  
+ * Consult gpfsNode_t for full definition 
+ */
+typedef struct cxiNode_t
+{
+  void *osNodeP;         /* pointer to operating system specific inode */
+  enum cxiVtype nType;   /* directory, link, file, dev */
+  int mapReadCount;      /* count of map for read  */
+  int mapWriteCount;     /* count of map for write */
+  int readCount;         /* total opens for read   */
+  int icValid;           /* CXI_IC_XXX flags (see definitions below) */
+  int xinfo;             /* Extended info bits (see va_xinfo definition) */
+  void *nfsP;            /* nfs information */
+  unsigned long ctFlags; 
+  cxiThreadId createRaceLoserThreadId; /* Set if file exist */
+} cxiNode_t;
+
+/* various ctFlags */
+#define mmapFlush         1    /* True if nopage/mmFlush in progress */
+#define destroyIfDelInode 2    /* True if file should be destroyed
+                                  in gpfs_s_delete_inode */
+#define invalidateCalled  4    /* True if OSNode on hash chain has
+                                  been invalidated on this pass. */
+#define pruneDCacheNeeded 8
+
+#define SetCtFlag(cnP,flag_bit)   cxiSetBit(&(cnP)->ctFlags,flag_bit)
+#define ClearCtFlag(cnP,flag_bit) cxiClearBit(&(cnP)->ctFlags,flag_bit)
+#define TestCtFlag(cnP,flag_bit)  cxiTestBit(&(cnP)->ctFlags,flag_bit)
+
+/* Size of a full gpfsNode_t */
+#ifdef GPFS_ARCH_I386
+#  define CXINODE_SIZE (176 + SPINLOCK_T_SIZE)
+#endif
+
+#ifdef GPFS_ARCH_POWER
+#  define CXINODE_SIZE (176 + SPINLOCK_T_SIZE)
+#endif
+
+#ifdef GPFS_ARCH_IA64
+#  define CXINODE_SIZE (260 + SPINLOCK_T_SIZE)
+#endif
+
+#ifdef GPFS_ARCH_PPC64
+#  if LINUX_KERNEL_VERSION < 2042100
+#    define CXINODE_SIZE (236 + SPINLOCK_T_SIZE)
+#  else
+#    define CXINODE_SIZE (232 + SPINLOCK_T_SIZE)
+#  endif
+#endif
+#ifdef GPFS_ARCH_X86_64
+   /* Changing the non-debug size of SPINLOCK_T_SIZE
+    * requires an adjustment of CXINODE_SIZE in order
+    * to account for padding due to single or double word 
+    * alignment requirements of the architecture.
+    */
+#  define CXINODE_SIZE (232 + SPINLOCK_T_SIZE)
+#endif
+
+/* Access OS dependent portion of cxiNode */
+#define GNP_IS_DIR(GNP)       ((GNP)->nType == cxiVDIR)
+#define GNP_IS_FILE(GNP)      ((GNP)->nType == cxiVREG)
+#define GNP_IS_LINK(GNP)      ((GNP)->nType == cxiVLNK)
+
+#define GNP_IS_STEALABLE(GNP)  ((GNP)->osNodeP == NULL)
+#define GNP_RDCOUNT(GNP)       ((GNP)->readCount)
+#define GNP_EXCOUNT(GNP)       0
+#define GNP_MAP_RDCOUNT(GNP)   ((GNP)->mapReadCount)
+#define GNP_MAP_WRCOUNT(GNP)   ((GNP)->mapWriteCount)
+#define GNP_MAP_SEG(GNP)       0
+#define GNP_CHANNEL(GNP)       0
+#define GNP_TO_VP(GNP)         ((struct inode *)((GNP)->osNodeP))
+#define GP_TO_GNP(x) ((gpfsNode_t *)((x)))
+
+/* d_off and name length of Linux struct dirent */
+#define CXI_DIR_D_OFFSET(deP)             deP->d_off 
+#define CXI_DIR_D_NAMLEN(deP)             strlen(deP->d_name)
+
+/* Parameter passed to find_actor and read_inode2 through iget4 */
+typedef struct cxiIGetArg_t
+{
+  cxiIno_t extInodeNum;
+  UInt32 inodeNum;
+  UInt32 snapId;
+  UInt32 filesetId;
+  struct cxiVattr_t *vattrP;
+  Boolean readInodeCalled;
+} cxiIGetArg_t;
+
+typedef struct cxiWaitList_t
+{
+  struct cxiWaitList_t *nextP;
+  struct cxiWaitList_t *prevP; 
+} cxiWaitList_t;
+
+typedef struct cxiWaitEvent_t 
+{
+  /* List of wait elements. Wakeup is FIFO ordered with entries
+   * entering the list at prevP and the first to be awaken at 
+   * nextP.
+   */
+  cxiWaitList_t waitList;
+
+  char lword[SPINLOCK_T_SIZE];
+
+} cxiWaitEvent_t;
+
+#define LOCK_ALLOC_PIN   0 /* not used */
+#define LOCK_ALLOC_PAGED 1 /* not used */
+
+/* Needs to be changed to cxi name XXX */
+typedef struct Simple_lock 
+{
+  int slCount;	
+  volatile unsigned int slState;
+
+  /* Pointer into stack of owning thread.  This is 
+   * sufficient to compute which thread owns the mutex. 
+   */
+  char* slOwnerP;
+
+  cxiWaitEvent_t slEvent;
+} Simple_lock;
+
+
+/* Kernel-only mutexes.  Largest possible size (including debug) */
+#ifdef GPFS_ARCH_I386
+#define GPFS_LINUX_SEM_SIZE 36
+#endif
+#ifdef GPFS_ARCH_POWER
+#define GPFS_LINUX_SEM_SIZE 36
+#endif
+#ifdef GPFS_ARCH_IA64
+#define GPFS_LINUX_SEM_SIZE 56
+#endif
+#ifdef GPFS_ARCH_PPC64
+#define GPFS_LINUX_SEM_SIZE 32
+#endif
+#ifdef GPFS_ARCH_X86_64
+#define GPFS_LINUX_SEM_SIZE 32
+#endif
+
+typedef struct cxiBlockingMutex_t
+{
+  /* Space to store a Linux struct semaphore.  If a semaphore does not fit
+     in the space provided, the implementation should use this space as a
+     pointer to a dynamically-allocated semaphore. */
+  char bmSem[GPFS_LINUX_SEM_SIZE];
+
+  /* Pointer into stack of owning thread.  This is sufficient to compute
+     which thread owns the mutex. */
+  char* bmOwnerP;
+
+  /* Index of the name of this mutex */
+  int lockNameIndex;
+} cxiBlockingMutex_t;
+
+
+/* Structure encapsulating information about a particular physical disk */
+struct cxiDiskInfo_t
+{
+  Int64 totalSectors;      /* number of sectors on disk */
+  int sectorSize;          /* size of each physical sector in bytes */
+};
+
+typedef struct ucontext cxiSigContext_t;
+typedef struct siginfo cxiSigInfo_t;
+
+/* Type that should always correspond to the system ino_t */
+typedef Int32 cxiInoSys_t;
+
+/* type to store disable_lock result.  On Linux this is a machine 
+   state word, and should be unsigned long */
+typedef unsigned long cxiIntrState_t;
+
+/* Work request for mmap pager kproc */
+typedef struct _cxibuf_t
+{
+  struct  _cxibuf_t *av_forw;   /* forward pointer */
+  struct  _cxibuf_t *av_back;   /* backward pointer */
+  struct page *pageP;           /* pointer to the page being processed */
+  struct cxiNode_t *b_vp;
+  struct MMFSVInfo *vinfoP;     /* used by sendfile */
+  struct gpfsVfsData_t *privVfsP;
+  caddr_t b_baddr;              /* not used */
+  unsigned long b_flags;        /* operation flag: see definitions below */
+  unsigned long b_blkno;        /* file offset in PAGE_SIZE units */
+  int     b_bcount;
+  int     b_error;
+  void    *b_inodeP;
+} cxibuf_t;
+
+/*  b_flags flags. */
+#define B_WRITE     (long)0x0000    /* non-read pseudo-flag */
+#define B_READ      (long)0x0001    /* read when I/O occurs */
+#define B_ERROR     (long)0x0004    /* error detected */
+#define B_ASYNC     (long)0x0100    /* don't wait for I/O completion */
+#define B_PFSTORE   (long)0x2000    /* store operation */
+#define B_PFPROT    (long)0x4000    /* protection violation */
+#define B_PFEOF     (long)0x10000   /* check for ref. beyond end-of-file */
+#define B_SENDFILE  (long)0x20000   /* read from sendfile */
+
+
+/* Define macros to cause code to be placed far away from the spot
+   where it normally would be generated.  This is typically used on
+   whichever branch of an if is expected not to be executed in the common
+   case.  Moving rarely executed code away from the mainline code can help
+   reduce I-cache misses, and therefore improve performance.  Every
+   BEGIN_FAR_CODE directive must be matched by an END_FAR_CODE directive,
+   and they may not be nested.  If FAR_CODE is not #defined, these macros
+   are NOOPs.  Use of the FAR_CODE option is not compatible with -g, and
+   requires compiler options -fno-exceptions and -fno-defer-pop to insure
+   that correct code is generated. */
+#ifdef FAR_CODE
+# if defined(GPFS_ARCH_I386)
+#   ifndef FAR_TRACE
+#     error "-DFAR_CODE requires -DFAR_TRACE"
+#   endif
+#   define BEGIN_FAR_CODE __asm__(                                \
+                                  " jmp 9f\n"                     \
+                                  ".section .text.far,\"ax\"\n"   \
+                                  "9:\n"                          \
+                                 );
+#   define END_FAR_CODE  __asm__(                                 \
+                                 " jmp 8f\n"                      \
+                                  ".section .text,\"ax\"\n"   \
+                                  "8:\n"                          \
+                                );
+# elif defined(GPFS_ARCH_IA64)
+#   ifndef FAR_TRACE
+#     error "-DFAR_CODE requires -DFAR_TRACE"
+#   endif
+/* Changing sections in the middle of a function is apparently a
+   fairly bad thing to do for IA64 (screws up unwinding information,
+   probably the debugging information, and also insn binding) and causes
+   the gnu assembler to spew when optimizations are turned on.
+   The gcc __buildin_expect(x,0) directive may be an alternative
+   in the future, but this currently doesn't provide any performance
+   enhancements with gcc 3.2, so we'll do nothing for now. */
+#if 0
+#   define BEGIN_FAR_CODE __asm__(                                \
+                                  " (p0) br.cond.sptk.few 9f\n"   \
+                                  ".section .text.far,\"ax\"\n"   \
+                                  "9:\n"                          \
+                                 );
+#   define END_FAR_CODE  __asm__(                                 \
+                                 " (p0) br.cond.sptk.many 8f\n"   \
+                                  ".section .text,\"ax\"\n"       \
+                                  "8:\n"                          \
+                                );
+#endif
+#   define BEGIN_FAR_CODE
+#   define END_FAR_CODE
+# else
+#   define BEGIN_FAR_CODE
+#   define END_FAR_CODE
+# endif  /* GPFS_ARCH_I386 */
+#else
+# define BEGIN_FAR_CODE
+# define END_FAR_CODE
+#endif  /* FAR_TRACE */
+
+#ifndef EXTERNC
+#ifdef __cplusplus
+#define EXTERNC extern "C"
+#else
+#define EXTERNC extern
+#endif
+#endif /* EXTERNC */
+
+/*
+   Some macros to help catching certain problems at compile time vs at
+   run time, to save time on unnecessary recompiles and reboots.  This
+   can be accomplished when operating on static data that has known (to
+   the compiler) values at compile time, notably complex structure sizes.
+ */
+
+/*
+   This macro asserts that both arguments have the same value.  If the
+   assertion is false, a compiler error about conflicting function
+   declarations will be produced.
+ */
+
+#define STATIC_DBGASSERT(_a, _b)  \
+  EXTERNC void __static_assert_dummy_func(int __FoO[][2]); \
+  EXTERNC void __static_assert_dummy_func(int __FoO[][_a/_b+_b/_a]);
+
+/*
+   This macro could be used to trick g++ into telling you what is the
+   size of a particular data type at compile time.  It takes one argument
+   that should be a valid argument for a sizeof operation, and produces
+   a compiler error that will have size of the object included in the
+   message.  Only to be used during development, has to be disabled for
+   the build to work.
+*/
+
+#define TELLSIZEOF(_a) \
+  EXTERNC void __static_tellsizeof_dummy_func(int __FoO[][1]); \
+  EXTERNC void __static_tellsizeof_dummy_func(int __FoO[][sizeof(_a)]);
+
+#endif /* _h_cxiTypes_plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiVFSStats-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiVFSStats-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/cxiVFSStats-plat.h	(revision 16)
@@ -0,0 +1,76 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)03       1.9  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiVFSStats-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:21:48 */
+
+#ifndef _h_cxiVFSStats_plat
+#define _h_cxiVFSStats_plat
+
+#ifndef _h_cxiVFSStats
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/*
+ * Gather statistics for VFS operations:
+ *
+ * Usage:
+ *  - Placing an instance of the VFS_STAT_START macro at the begining
+ *    of a function and VFS_STAT_STOP macro at the end of a function
+ *    will keep a count of how many times the function is called as well
+ *    as the total amount of time spent in the function (elapsed time
+ *    between entering and leaving the function).
+ *  - Placing an instance of the VFS_INC macro inside a function will
+ *    update a call count, but not keep any time statistics.
+ *  - Use the command "mmfsadm vfsstats ..." to control and display
+ *    vfs statistics:
+ *       mmfsadm vfsstats enable    - turn on statistics gathering
+ *       mmfsadm vfsstats disable   - turn off statistics gathering
+ *       mmfsadm vfsstats reset     - reset all statistics counters
+ *       mmfsadm vfsstats show      - display statistics
+ *
+ */
+
+#ifndef _h_cxiVFSStats
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+#ifdef KCSTRACE
+#ifdef __cplusplus
+extern "C" {
+#endif
+void cxiKcsTraceInfo(int index, int value);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+#endif // _h_cxiVFSStats_plat
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/lxtrace.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/lxtrace.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/lxtrace.h	(revision 16)
@@ -0,0 +1,182 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)99	1.10  src/avs/fs/mmfs/ts/kernext/ibm-linux/lxtrace.h, mmfs, avs_rgpfs24, rgpfs240610b 1/13/05 19:11:45 */
+
+#ifndef _h_lxtrace
+#define _h_lxtrace
+
+/*
+ * Interfaces to the Linux kernel trace device
+ *
+ */
+
+#ifndef _LINUX_TIME_H
+#include <sys/time.h>
+#endif
+
+/* Size of the ioctl trc_dump output buffer */
+#define LXTRACE_DUMP_SIZE 512
+
+#define LXTRACE_MAX_DATA 512
+#define LXTRACE_MAGIC 0xACE98271
+
+/* Number of "$n" substitutions supported in a single trace record */
+#define LXTRACE_MAX_FORMAT_SUBS 20
+
+
+/* Definitions of the trace record format */
+typedef struct
+{
+  uint trMagic;         /* Magic number to allow resynch after trace
+                           wraparound */
+  struct timeval trTime;/* Timestamp of trace record */
+  pid_t trProcess;      /* ID of process making the trace */
+  unsigned char trBuf;  /* bufNum of buffer used for trace */
+  unsigned char trCPU;  /* CPU number of process making the trace */
+  short trLength;       /* Number of bytes that follow, consisting of a
+                           trc_datahdr_t followed by the application
+                           data */
+} trc_header_t;
+/* Followed by the application trace data "char data[Length]" */
+
+/* The following device operations are supported for the trace device:
+    trc_open     Prepare the device for tracing 
+    trc_ioctl    Device control operation (see the trace_op definition)
+    trc_read     Allows the daemon to retrieve the trace records 
+    trc_write    Trace records are writen to the device 
+    trc_fsync    Sync all buffered data to the daemon 
+    trc_close    Terminate tracing and close the device 
+*/
+
+/* Device ioctl operations */
+enum trace_op
+{
+  trc_begin,    /* Enable tracing for the specified trace types */
+  trc_end,      /* Fence new writes in preparation for close */
+  trc_bufSize,  /* Change the device buffer size */
+  trc_dump      /* Dump trace state information */
+};
+
+/* Structure for passing parameters to the trace device through ioctls */
+struct kArgs
+{
+  long arg1;
+  long arg2;
+  long arg3;
+  long arg4;
+  long arg5;
+};
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+int trc_fsync();
+#ifdef __cplusplus
+}
+#endif
+
+
+/* Allowable file sizes for the lxtrace command */
+#define MIN_TRC_FILESIZE 1*1024*1024
+#define DEF_TRC_FILESIZE 16*1024*1024
+#define MAX_TRC_FILESIZE 1024*1024*1024
+
+/* Allowable buffer sizes for the lxtrace command.  Two buffers of this
+   size will be allocated. */
+#define MIN_TRC_BUFSIZE 4096
+#define DEF_TRC_BUFSIZE 64*1024
+#define MAX_TRC_BUFSIZE 1024*1024
+
+/* Trace device name */
+#define TRC_DEVICE "/dev/trace0"
+
+/* Header of a trace record to be passed to the trace device */
+typedef struct
+{
+  uint trHook;          /* Trace hook word that uniquely identifies the
+                           format of this trace record */
+  char trNArgs;         /* Number of integer arguments.  Each argument is as
+                           long as the word width of the machine.  Does not
+                           count string, generic, or float arguments. */
+  unsigned char trSPos; /* Position of string argument within argument list.
+                           May also take on special values to indicate all
+                           integers or all integers followed by a float. */
+  short trSLen;         /* If format is string or generic, contains the length
+                           of the variable part, rounded up to a multiple
+                           of the word size */
+} trc_datahdr_t;
+/* followed by char arg[LXTRACE_MAX_DATA-sizeof(trc_datahdr_t)] */
+
+
+#ifdef __KERNEL__
+/* Trace device structures */
+
+/* Possible states of the trace device */
+typedef enum trcdev_state_t
+{
+  trc_initialized,  /* header constructed */
+  trc_opened,       /* device opened      */
+  trc_active,       /* ready for tracing  */
+  trc_stopped       /* tracing disabled   */
+} trcdev_state_t;
+
+typedef struct trcdev_buffer_t
+{
+  char * beginP; /* first byte of the buffer */
+  char * endP;   /* last byte of the buffer */
+  char * nextP;  /* offset of next record to be read/written */
+  char * dirtyP; /* offset of next byte to be read */
+  int bufNum;    /* buffer number */
+} trcdev_buffer_t;
+
+typedef struct trcdev_header_t
+{
+  int major;                /* major number of the trace device */
+  int minor;                /* minor number of the trace device */
+  int bufSize;              /* number of bytes in the trace buffers */
+  int nOpens;               /* number of times the device is open */
+  int nWaits;               /* number of times we had to wait for the daemon */
+  int nBuffers;             /* number of buffers filled with trace data */
+  int nLost;                /* number of traces lost due to full buffer */
+  trcdev_state_t state;     /* status of the trace device */
+  trcdev_buffer_t writeBuf; /* The trace buffer being written */
+  trcdev_buffer_t readBuf;  /* The buffer being read by the daemon */
+  trc_header_t * tHdrP;     /* address of trc_header_t for the record
+                               currently being appended */
+  trc_datahdr_t * hdrP;     /* address of trc_datahdr_t for the record
+                               currently being appended */
+} trcdev_header_t;
+#endif /* __KERNEL __ */
+#endif /* _h_lxtrace */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/makefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/makefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/ibm-linux/makefile	(revision 16)
@@ -0,0 +1,376 @@
+# Makefile generated by imake - do not edit!
+# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+# $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+#==================================================
+# Copyright IBM 1993
+#==================================================
+
+###################################################
+# This makefile is automatically generated by
+# imake... do not modify or you may lose your
+# changes when imake generates makefiles again.
+# Ignore this message if you are not using imake.
+###################################################
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+PATCHED_KERNEL_FLAGS =
+
+CXI_HEADER_DIR = $(DESTDIR)/include
+
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS =
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+# Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+###################################################
+# The following comes from the site.mcr
+###################################################
+
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include
+
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build
+
+LINUX_PATCH_DEFINES =
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+
+COMMON_DEFINES =   -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES =   -DDBGASSERTS   -DNEW_DELETE_DEBUG    -DTRACK_USECOUNT   -DTRIGGERS   -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES =   -DINSTRUMENT_LOCKS   -DPTHREAD_STATS   -DTRACE_IO_DATA   -DENTRYEXIT_TRACE
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX =   -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -D$(LINUX_DISTRIBUTION)   -DLINUX_DISTRIBUTION_LEVEL=90   $(LINUX_PATCH_DEFINES)
+
+EXTRASTD_LDFLAGS =
+EXTRALDFLAGS2 =
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer
+
+COMMON_26_FLAGS += -m32 -ffreestanding
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2
+OPTFLAGS  += $(COMMON_26_FLAGS)
+
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+
+DEFAULT_DEFINES =   $(COMMON_LINUX)   -DLINUX_KERNEL_VERSION=2062015   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+SITE_FAR_TRACE_OPTS =
+
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+###################################################
+# Back from site.mcr
+###################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+Headers::
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" = "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" != "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \
+	  if [ ! -f /etc/SuSE-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \
+	  echo "This is OK" > /dev/null; \
+	else \
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \
+	fi;
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+clean::
+	$(RM) #* ,* *~ *.CKP *.BAK *.bak core
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+	$(RM) install.ti install.he library.ti *.rpm
+
+makefile:: Imakefile $(IRULESRC)/imake.tmpl $(IRULESRC)/site.mcr
+		$(IMAKE_CMD); \
+		touch .depends; \
+		cat .depends >>makefile
+
+###################################################
+# The following comes from the local Imakefile
+###################################################
+
+.C.o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $*.C
+.C.32o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS32) $*.C -o $*.32o
+.C.64o:
+	$(RM) $@
+	$(CC) -c $(CFLAGS) $(CFLAGS64) $*.C -o $*.64o
+.c.o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $*.c
+.c.32o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS32) $*.c -o $*.32o
+.c.64o:
+	$(RM) $@
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS64) $*.c	-o $*.64o
+
+.c.ko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(KCFLAGS) $*.c
+.C.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.C
+.S.o:
+	$(RM) $@
+	$(CC) -o $@ -c $(CFLAGS) $*.S
+.S.ko:
+	$(RM) $@
+	$(CC) -o $@ -c $(KCFLAGS) $*.S
+.c.pko:
+	$(RM) $@
+	$(C_COMP) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.c
+.C.pko:
+	$(RM) $@
+	$(CC) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.C
+.rpc.h:
+	$(MKRPC) $*.rpc
+
+HEADERS = cxiTypes-plat.h cxiSystem-plat.h cxiIOBuffer-plat.h           cxiSharedSeg-plat.h cxiMode-plat.h Trace-plat.h lxtrace.h           cxiAtomic-plat.h cxiMmap-plat.h cxiVFSStats-plat.h           cxiCred-plat.h cxiDmapi-plat.h
+
+install.he:: $(HEADERS)
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL) $(INSTINCFLAGS) $$i  $(CXI_HEADER_DIR)/$$i) done)
+
+###################################################
+# Back from the local Imakefile
+###################################################
+
+Makefiles:: makefile
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+##### DEPENDENCY LINE - DO NOT DELETE #####
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/DirIds.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/DirIds.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/DirIds.h	(revision 16)
@@ -0,0 +1,212 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)69       1.61  src/avs/fs/mmfs/ts/DirIds.h, mmfs, avs_rgpfs24, rgpfs24s001a 4/3/06 18:25:52 */
+#ifndef _h_DirIds
+#define _h_DirIds
+
+/*
+ * Define unique numeric IDs for each source directory in Shark that contains
+ * code.  These directory IDs are used for several purposes:
+ *   1. Generating unique labels ("hookids") for kernel trace points
+ *   2. Identifying message set numbers for the message catalog code
+ * The symbols defined in this file are formed by appending the relative
+ * directory name to the string "DIR_ID_", then translating slashes to
+ * underscores.
+ *   The values of the directory IDs must be in the range 1...63:
+ * zero is not allowed because 0 is not valid as a message set number;
+ * values larger than 63 cannot be used because only 6 bits of the ID are
+ * used in generating kernel trace hookids.
+ *
+ * ==========================================================================
+ *
+ * DO NOT renumber these IDs, or reuse an ID for a directory that
+ * has been deleted, as numbers derived from these IDs appear in the
+ * message catalog and trace format file.
+ *
+ * The message files are listed here with their message number ranges.
+ * The range of numbers of MMFS messages 3-digit codes
+ * reserved for each existing message catalog file (.msg file)
+ *
+ * The messages displayed have the format "GPFS: 6027-xxx <message text>"
+ * where xxx is the unique 3-digit or 4-digit code for the particular error.
+ *
+ *
+ * SUBDIRECTORY            CATALOG FILE NAME                RANGE OF CODES
+ * ------------            -----------------                --------------
+ *                                                    unused    000-299
+ *  mmfsd                     mmfsd.msg                         300-309
+ *  tasking (1)                task.msg                         310-339
+ *  classes/tscomm           tscomm.msg                         340-359
+ *  disk (1)                   disk.msg                         360-379
+ *  classes/basic              base.msg                         380-399
+ *  stripe                   stripe.msg                         400-499
+ *  vfs                        svfs.msg                         500-529
+ *  fs                           fs.msg                         530-599
+ *  cfgmgr (1)                 cfgm.msg                         600-649
+ *  logger                   logger.msg                         650-659
+ *  cfgmgr (2)                 cfgm.msg                         660-799
+ *  phoenix (1)             phoenix.msg                         800-849
+ *  util                       util.msg                         850-999
+ *  admin                     admin.msg                        1000-1399
+ *  log                         log.msg                        1400-1449
+ *  defrag                   defrag.msg                        1450-1499
+ *  disk (2)                   disk.msg                        1500-1529
+ *  tasking (2)                task.msg                        1530-1549
+ *  admin (2)                 admin.msg                        1550-1699
+ *  classes/tscomm (2)       tscomm.msg                        1700-1799
+ *  nsd                         nsd.msg                        1800-1849
+ *  phoenix (2)             phoenix.msg                        1850-1899
+ *  admin (3)                 admin.msg                        1900-2049
+ *  bufmgr                   bufmgr.msg                        2049-2099
+ *  admin (4)                 admin.msg                        2100-2499
+ *  sanergy                 sanergy.msg                        2500-2549
+ *  bufmgr/linux            bufmgr_linux.msg                   2550-2575
+ *  tasking/linux           tasking_linux.msg                  2576-2599
+ *  fs (2)                       fs.msg                        2600-2699
+ *  cfgmgr (3)                 cfgm.msg                        2700-2799
+ *  pc                           pc.msg                        2800-2899
+ *
+ * ==========================================================================
+ *
+ * $Id: DirIds.h,v 1.85 2006/04/03 19:25:58 makaplan Exp $
+ *
+ * $Log: DirIds.h,v $
+ * Revision 1.85  2006/04/03 19:25:58  makaplan
+ * Claim message numbers 2800-2899 for policy, ts/pc/pc.msg
+ *
+ * Revision 1.84  2006/03/10 06:29:58  schmuck
+ * Prune check-in history.  No code change.
+ *
+ * Revision 1.83  2006/03/02 03:25:16  hempel
+ * message numbering:  add new message ranges for the fs and cfgmgr directories
+ *
+ * Revision 1.82  2005/11/15 16:26:42  gjertsen
+ * Provide a helpful message when daemon encounters an out of memory
+ * situation along with more graceful shutdown (defect 518290).
+ *
+ * Revision 1.81  2005/08/12 19:39:41  gjertsen
+ * Fix for 515602. Provide useful error message and shutdown if allocation
+ * fails. Create msg catalog file for bufmgr/linux but reuse MSG_E_NOMEM.
+ *
+ * Revision 1.80  2005/05/03 16:48:44  makaplan
+ * POLICY - integration tweaks
+ *
+ * Revision 1.79  2005/01/15 00:58:41  mcnabb
+ * Remove reference to smit messages
+ *
+ * [ 74 log messages deleted ]
+ *
+ * Revision 1.1  1993/07/16  18:09:11  wyllie
+ * Add file with unique IDs for each Shark source code directory.
+ *
+ */
+
+/*
+ * IMPORTANT (see also comments at the top of this file):
+ *  - names must be of the form DIR_ID_XXX, where XXX = relative dir name
+ *  - values must be in the range 1 ... 63
+ */
+#define DIR_ID_CFGMGR                   1
+#define DIR_ID_CLASSES_BASIC            2
+#define DIR_ID_CLASSES_MALLOC           3
+#define DIR_ID_LOCKMGR                  4
+#define DIR_ID_CLASSES_TSCOMM           5
+#define DIR_ID_DEBUG                    6
+#define DIR_ID_DISK                     7
+#define DIR_ID_FS                       8
+/*#define DIR_ID_FS_OVERFLOW do not reuse 9*/
+/* unused                               10 */
+#define DIR_ID_INSTALL                  11
+#define DIR_ID_LOGGER                   12
+#define DIR_ID_MMFSD                    13
+#define DIR_ID_ADMIN                    14
+#define DIR_ID_PAGEMGR                  15
+/*#define DIR_ID_PIPELINE                 16 */
+/*#define DIR_ID_RPC                      17 */
+#define DIR_ID_TASKING                  18
+#define DIR_ID_VFS                      19
+#define DIR_ID_KERNEXT                  20
+/*#define DIR_ID_TESTAPPS_MPEG            21 */
+/*#define DIR_ID_TESTAPPS_SHPLAYER        22 */
+/*#define DIR_ID_TESTAPPS_TEST            23 */
+/*#define DIR_ID_TESTAPPS_TESTPP          24 */
+#define DIR_ID_LOG                      25
+#define DIR_ID_CLASSES_PERFMON          26
+#define DIR_ID_UTIL                     27
+#define DIR_ID_STRIPE                   28
+/*#define DIR_ID_CATMNT                         29 */
+#define DIR_ID_PHOENIX                  30
+#define DIR_ID_UTIL_SCRIPT              31
+#define DIR_ID_ADMIN_SCRIPT             32
+#define DIR_ID_TM                       33
+#define DIR_ID_DM                       34
+#define DIR_ID_DM_KX                    35
+#define DIR_ID_DEFRAG                   36
+#define DIR_ID_CLASSES_MBPERFMON        37
+#define DIR_ID_PFSCK                    38
+#define DIR_ID_DIRLINUX                 39
+#define DIR_ID_KERNEXT_GPL_LINUX        40
+#define DIR_ID_KERNEXT_AIX              41
+#define DIR_ID_FS_AIX                   42
+#define DIR_ID_FS_LINUX                 43
+#define DIR_ID_KERNEXT_GPL_LINUX_I386   44
+#define DIR_ID_KERNEXT_GPL_LINUX_IA64   45
+#define DIR_ID_NSD                      46
+#define DIR_ID_LOGGER_AIX               47
+#define DIR_ID_LOGGER_LINUX             48
+#define DIR_ID_KERNEXT_LINUX            49
+#define DIR_ID_TASKING_AIX              50
+#define DIR_ID_TASKING_LINUX            51
+#define DIR_ID_PC                       52
+#define DIR_ID_SANERGY                  53
+#define DIR_ID_SANERGY_KX               54
+#define DIR_ID_BUFMGR                   55
+#define DIR_ID_BUFMGR_LINUX             56
+#define DIR_ID_BUFMGR_AIX               57
+#define DIR_ID_DM_KX_LINUX              58
+#define DIR_ID_DM_KX_AIX                59
+#define DIR_ID_FENCING                  60
+#define DIR_ID_KERNEL                   61
+
+
+
+/* Add new directory IDs above here */
+
+/* 91 is being used for SMIT help */
+
+/* overrides for default hookid (307) in certain directories */
+#define SHARKHOOKID_TM      0x30600000
+#define SHARKHOOKID_TASKING 0x30800000
+#define SHARKHOOKID_KERNEXT 0x30900000
+
+#endif  /* _h_DirIds */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/LockNames.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/LockNames.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/LockNames.h	(revision 16)
@@ -0,0 +1,329 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.4.1.1  src/avs/fs/mmfs/ts/kernext/ibm-kxi/LockNames.h, mmfs, avs_rgpfs24, rgpfs24s005a 7/13/06 18:22:26 */
+
+/*
+ * Lock classes for simple locks.  Many of these are defined in
+ * /usr/include/sys/lockname.h on AIX, but are defined here in case the
+ * latest version isn't installed.
+ *
+ * $Id: LockNames.h,v 1.6.4.1 2006/07/13 23:07:31 mcnabb Exp $
+ *
+ * $Log: LockNames.h,v $
+ * Revision 1.6.4.1  2006/07/13 23:07:31  mcnabb
+ * Fcntl fairness (Montrada DCR 2): fcntlMutex lockname.
+ *
+ * Revision 1.6  2006/03/10 06:30:22  schmuck
+ * Prune check-in history.  No code change.
+ *
+ * [ 14 log messages deleted ]
+ *
+ * Revision 1.1  2000/10/25  16:52:27  wyllie
+ * Trace include reorganization: split old tasking/Trace.h into five new
+ * files, and move most of them into directories that will be shipped with
+ * GPFS on Linux.  Also change the code in trcid.h files generated by
+ * mktrace to not include AIX specific stuff like direct use of AIX trace
+ * macros.  Change names of all macros in generated code to have a leading
+ * underscore.  As a result of these changes, all trcid.h files had to
+ * be rebuilt.
+ *
+ */
+
+#ifndef _h_LockNames
+#define _h_LockNames
+
+#ifdef GPFS_AIX
+#include <sys/lockname.h>
+#endif
+
+/* The AIX names for these locks need to be the discontiguous numbers
+   assigned in sys/lockname.h.  To keep statistics for each lock class,
+   each lock class must have an index that is a small integer from a
+   contiguous range.  Thus, there are two defines for each lock class:
+   the AIX lock name (GPFS_LOCK_xxx) and the table index
+   (GPFS_LOCK_xxx_IDX).  To add a new lock class, add both defines and
+   add the string name of the lock to the KernelLockNamePP table below. */
+
+//#ifndef GPFS_LOCK_BRL
+//#define GPFS_LOCK_BRL             607     /* GPFS */
+//#endif
+
+//#ifndef GPFS_LOCK_LKOBJWAIT
+//#define GPFS_LOCK_LKOBJWAIT       608     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_PUD
+#define GPFS_LOCK_PUD               609     /* GPFS */
+#endif
+#define GPFS_LOCK_PUD_IDX             0
+
+#ifndef GPFS_LOCK_RL
+#define GPFS_LOCK_RL                610     /* GPFS */
+#endif
+#define GPFS_LOCK_RL_IDX              1
+
+#ifndef GPFS_LOCK_RLSLEEPER
+#define GPFS_LOCK_RLSLEEPER         611     /* GPFS */
+#endif
+#define GPFS_LOCK_RLSLEEPER_IDX       2
+
+#ifndef GPFS_LOCK_PINTABLE
+#define GPFS_LOCK_PINTABLE          612     /* GPFS */
+#endif
+#define GPFS_LOCK_PINTABLE_IDX        3
+
+//#ifndef GPFS_LOCK_MB
+//#define GPFS_LOCK_MB              613     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_VINFOACC
+#define GPFS_LOCK_VINFOACC          614     /* GPFS */
+#endif
+#define GPFS_LOCK_VINFOACC_IDX        4
+
+//#ifndef GPFS_LOCK_VINFOINT
+//#define GPFS_LOCK_VINFOINT        615     /* GPFS */
+//#endif
+
+//#ifndef GPFS_LOCK_MMFSNODE
+//#define GPFS_LOCK_MMFSNODE        616     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_GPFSNODE
+#define GPFS_LOCK_GPFSNODE          616     /* GPFS */
+#endif
+#define GPFS_LOCK_GPFSNODE_IDX        5
+
+//#ifndef GPFS_LOCK_COMMONRL
+//#define GPFS_LOCK_COMMONRL        617     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_TSBUF
+#define GPFS_LOCK_TSBUF             618     /* GPFS */
+#endif
+#define GPFS_LOCK_TSBUF_IDX           6
+
+//#ifndef GPFS_LOCK_LOOKUP
+//#define GPFS_LOCK_LOOKUP          619     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_NFS
+#define GPFS_LOCK_NFS               620     /* GPFS */
+#endif
+#define GPFS_LOCK_NFS_IDX             7
+
+#ifndef GPFS_LOCK_MOUNTS
+#define GPFS_LOCK_MOUNTS            621     /* GPFS */
+#endif
+#define GPFS_LOCK_MOUNTS_IDX          8
+
+//#ifndef GPFS_LOCK_NEEDRESV
+//#define GPFS_LOCK_NEEDRESV        622     /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_SHSEG
+#define GPFS_LOCK_SHSEG             623     /* GPFS */
+#endif
+#define GPFS_LOCK_SHSEG_IDX           9
+
+#ifndef GPFS_LOCK_KSYNCH
+#define GPFS_LOCK_KSYNCH            624     /* GPFS */
+#endif
+#define GPFS_LOCK_KSYNCH_IDX         10
+
+
+/* These haven't yet been added to /usr/include/sys/lockname.h */
+
+#ifndef GPFS_LOCK_PAGER
+#define GPFS_LOCK_PAGER            1019    /* GPFS */
+#endif
+#define GPFS_LOCK_PAGER_IDX          11
+
+#ifndef GPFS_LOCK_SHMEM
+#define GPFS_LOCK_SHMEM            1020    /* GPFS */
+#endif
+#define GPFS_LOCK_SHMEM_IDX          12
+
+#ifndef GPFS_LOCK_GPFSNODEHASH
+#define GPFS_LOCK_GPFSNODEHASH     1021    /* GPFS */
+#endif
+#define GPFS_LOCK_GPFSNODEHASH_IDX   13
+
+#ifndef GPFS_LOCK_MMAP
+#define GPFS_LOCK_MMAP             1022    /* GPFS */
+#endif
+#define GPFS_LOCK_MMAP_IDX           14
+
+#ifndef GPFS_LOCK_DIO
+#define GPFS_LOCK_DIO              1023    /* GPFS */
+#endif
+#define GPFS_LOCK_DIO_IDX            15
+
+#ifndef GPFS_LOCK_STRATIO
+#define GPFS_LOCK_STRATIO          1024    /* GPFS */
+#endif
+#define GPFS_LOCK_STRATIO_IDX        16
+
+#ifndef GPFS_LOCK_KPROC
+#define GPFS_LOCK_KPROC            1025    /* GPFS */
+#endif
+#define GPFS_LOCK_KPROC_IDX          17
+
+#ifndef GPFS_LOCK_MEMPOOL
+#define GPFS_LOCK_MEMPOOL          1026    /* GPFS */
+#endif
+#define GPFS_LOCK_MEMPOOL_IDX        18
+
+//#ifndef GPFS_LOCK_DFS_INTEROP
+//#define GPFS_LOCK_DFS_INTEROP    1027    /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_RL_SLEEP
+#define GPFS_LOCK_RL_SLEEP         1028    /* GPFS */
+#endif
+#define GPFS_LOCK_RL_SLEEP_IDX       19 
+
+#ifndef GPFS_LOCK_VINFO
+#define GPFS_LOCK_VINFO            1029    /* GPFS */
+#endif
+#define GPFS_LOCK_VINFO_IDX          20
+
+#ifndef GPFS_LOCK_MMAP_FLUSH
+#define GPFS_LOCK_MMAP_FLUSH       1030    /* GPFS */
+#endif
+#define GPFS_LOCK_MMAP_FLUSH_IDX     21
+
+//#ifndef GPFS_LOCK_SMBINTEROP
+//#define GPFS_LOCK_SMBINTEROP     1031    /* GPFS */
+//#endif
+
+#ifndef GPFS_LOCK_NFSKPROC_DONE
+#define GPFS_LOCK_NFSKPROC_DONE    1032    /* GPFS */
+#endif
+#define GPFS_LOCK_NFSKPROC_DONE_IDX  22
+
+#ifndef GPFS_LOCK_SWAPD
+#define GPFS_LOCK_SWAPD            1033    /* GPFS */
+#endif
+#define GPFS_LOCK_SWAPD_IDX          23
+
+#ifndef GPFS_LOCK_MMAP_FREEQ
+#define GPFS_LOCK_MMAP_FREEQ       1034    /* GPFS */
+#endif
+#define GPFS_LOCK_MMAP_FREEQ_IDX     24
+
+#ifndef GPFS_LOCK_FCNTL_OPS
+#define GPFS_LOCK_FCNTL_OPS        1035    /* GPFS */
+#endif
+#define GPFS_LOCK_FCNTL_OPS_IDX      25 
+
+/* Update MAX_GPFS_LOCK_NAMES if add too many more locks */
+
+
+#ifdef GPFS_AIX
+#ifdef _KERNEL
+/* Array that maps lock name indeces to AIX lock names */
+EXTERNC int LockIndexToAIXName[];
+
+#ifdef DEFINE_LOCK_INDEX_TO_AIX_NAME_TABLE
+int LockIndexToAIXName[] =
+{
+  GPFS_LOCK_PUD,
+  GPFS_LOCK_RL,
+  GPFS_LOCK_RLSLEEPER,
+  GPFS_LOCK_PINTABLE,
+  GPFS_LOCK_VINFOACC,
+  GPFS_LOCK_GPFSNODE,
+  GPFS_LOCK_TSBUF,
+  GPFS_LOCK_NFS,
+  GPFS_LOCK_MOUNTS,
+  GPFS_LOCK_SHSEG,
+  GPFS_LOCK_KSYNCH,
+  GPFS_LOCK_PAGER,
+  GPFS_LOCK_SHMEM,
+  GPFS_LOCK_GPFSNODEHASH,
+  GPFS_LOCK_MMAP,
+  GPFS_LOCK_DIO,
+  GPFS_LOCK_STRATIO,
+  GPFS_LOCK_KPROC,
+  GPFS_LOCK_MEMPOOL,
+  GPFS_LOCK_RL_SLEEP,
+  GPFS_LOCK_VINFO,
+  GPFS_LOCK_MMAP_FLUSH,
+  GPFS_LOCK_NFSKPROC_DONE,
+  GPFS_LOCK_SWAPD,
+  GPFS_LOCK_MMAP_FREEQ,
+  GPFS_LOCK_FCNTL_OPS
+};
+#endif  /* DEFINE_LOCK_INDEX_TO_NAME_TABLE */
+#endif  /* _KERNEL */
+#endif  /* GPFS_AIX */
+
+
+#ifdef INSTRUMENT_LOCKS
+#ifdef DEFINE_KERNEL_LOCK_NAMES
+/* Lock name table.  Must be kept in synch with the lock name indices above. */
+char* KernelLockNamePP[] =
+{
+  "Page usage decl",                    // GPFS_LOCK_PUD_IDX             0
+  "Rec lock",                           // GPFS_LOCK_RL_IDX              1
+  "Rec lock sleeper",                   // GPFS_LOCK_RLSLEEPER_IDX       2
+  "Pin table",                          // GPFS_LOCK_PINTABLE_IDX        3
+  "Vinfo access",                       // GPFS_LOCK_VINFOACC_IDX        4
+  "gpfsNode",                           // GPFS_LOCK_GPFSNODE_IDX        5
+  "tsBufLock",                          // GPFS_LOCK_TSBUF_IDX           6
+  "NFS",                                // GPFS_LOCK_NFS_IDX             7
+  "Mount list",                         // GPFS_LOCK_MOUNTS_IDX          8
+  "Shared segment",                     // GPFS_LOCK_SHSEG_IDX           9
+  "Kernel synch state",                 // GPFS_LOCK_KSYNCH_IDX         10
+  "pagerLock",                          // GPFS_LOCK_PAGER_IDX          11
+  "Shared Memory Alloc/Delete",         // GPFS_LOCK_SHMEM_IDX          12
+  "gpfsNode hash",                      // GPFS_LOCK_GPFSNODEHASH_IDX   13
+  "MMAP",                               // GPFS_LOCK_MMAP_IDX           14
+  "Direct I/O",                         // GPFS_LOCK_DIO_IDX            15
+  "I/O",                                // GPFS_LOCK_STRATIO_IDX        16
+  "MMAP kproc",                         // GPFS_LOCK_KPROC_IDX          17
+  "MemPool",                            // GPFS_LOCK_MEMPOOL_IDX        18
+  "Rec lock sleep",                     // GPFS_LOCK_RL_SLEEP_IDX       19
+  "Vinfo list",                         // GPFS_LOCK_VINFO_IDX          20
+  "MMAP flush",                         // GPFS_LOCK_MMAP_FLUSH_IDX     21
+  "NFS kproc done",                     // GPFS_LOCK_NFSKPROC_DONE_IDX  22
+  "Swapd",                              // GPFS_LOCK_SWAPD_IDX          23
+  "MMAP free queue",                    // GPFS_LOCK_MMAP_FREEQ_IDX     24
+  "fcntl operation",                    // GPFS_LOCK_FCNTL_OPS_IDX      25
+  ""
+};
+#endif  /* DEFINE_KERNEL_LOCK_NAMES */
+#endif  /* INSTRUMENT_LOCKS */
+
+#endif  /* h_LockNames */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/Trace-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/Trace-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/Trace-plat.h	(revision 16)
@@ -0,0 +1,255 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)03       1.21  src/avs/fs/mmfs/ts/kernext/ibm-linux/Trace-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 7/1/04 11:13:25 */
+/*
+ * Linux-specific trace definitions
+ *
+ */
+
+#ifndef _h_Trace_plat
+#define _h_Trace_plat
+
+#ifndef _h_Trace
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+#ifdef GPFS_PRINTF
+#  ifdef __KERNEL__
+#    ifdef __cplusplus
+       extern "C"
+       {
+         int printk(const char * fmt, ...)
+                    __attribute__ ((format (printf, 1, 2)));
+       }
+#    else  /* !__cplusplus */
+       extern int printk(const char * fmt, ...)
+                         __attribute__ ((format (printf, 1, 2)));
+#    endif  /* __cplusplus */
+#  endif  /* __KERNEL__ */
+#endif  /* GPFS_PRINTF */
+
+
+/* Maximum number of trace classes */
+#define MAX_TRACE_CLASSES 54
+
+
+#ifdef _KERNEL
+#  define GPFS_NOTICE "<5>"
+#endif
+
+/* Define a global test for whether or not tracing is on.  On Linux, there
+   is no way to efficiently test this, so assume tracing is always on. */
+# define _GBL_TRC_IS_ON 1
+
+
+/* In the daemon, trace macros always reference the trace flags through
+   the pointer TraceFlagsP.  There is a copy of this pointer in the GPFS
+   daemon, that initially points to PrivateTraceFlagsArray.  After the
+   shared segment has been initialized, the contents of this array are
+   copied into Shared.traceFlags and TraceFlagsP is changed to point to
+   this shared copy.  In the kernel, TraceFlagsP is an array of trace
+   levels.  This is kept in sync with Shared.traceFlags by the
+   kxSetTraceLevel kernel call whenever 'mmfsadm trace foo n' changes
+   any trace flags.  */
+#ifdef DEFINE_TRACE_GBL_VARS
+# ifdef _KERNEL
+    char TraceFlagsP[MAX_TRACE_CLASSES] = { 0 };
+# else
+    char PrivateTraceFlagsArray[MAX_TRACE_CLASSES] = { 0 };
+    char* TraceFlagsP = PrivateTraceFlagsArray;
+# endif
+#else
+# ifdef _KERNEL
+    extern char TraceFlagsP[MAX_TRACE_CLASSES];
+# else
+    extern char PrivateTraceFlagsArray[MAX_TRACE_CLASSES];
+    extern char* TraceFlagsP;
+# endif
+#endif  /* DEFINE_TRACE_GBL_VARS */
+
+
+/* Define macros for code that is generated before and after the actual
+   trace call.  If FAR_TRACE is #defined, the actual call to the trace
+   subroutine will be placed far away from the test of whether or not
+   tracing is turned on.  When tracing is turned off, this technique
+   reduces the number of I-cache misses, thereby improving performance
+   significantly (5-10%).  Use of the FAR_TRACE option is not compatible
+   with -g, and requires compiler options -fno-exceptions and
+   -fno-defer-pop to insure that correct code is generated. */
+#ifdef FAR_TRACE
+# if defined(GPFS_ARCH_I386)
+#   define _TR_BEFORE __asm__(                                \
+                        " jmp 2f\n"                           \
+                        ".section .text.trace,\"ax\"\n"       \
+                        "2:\n"                                \
+                      );
+#   define _TR_AFTER  __asm__(                                \
+                        " jmp 1f\n"                           \
+                        ".previous\n"                         \
+                        "1:\n"                                \
+                      );
+# elif defined(GPFS_ARCH_IA64)
+/* Changing sections in the middle of a function is apparently a
+   fairly bad thing to do for IA64 (screws up unwinding information,
+   probably the debugging information, and also insn binding) and causes
+   the gnu assembler to spew when optimizations are turned on.
+   The gcc __buildin_expect(x,0) directive may be an alternative
+   in the future, but this currently doesn't provide any performance
+   enhancements with gcc 3.2, so we'll do nothing for now. */
+#if 0
+#   define _TR_BEFORE __asm__(                                \
+                        " (p0) br.cond.sptk.few 2f\n"         \
+                        ".section .text.trace,\"ax\"\n"       \
+                        "2:\n"                                \
+                      );
+#   define _TR_AFTER  __asm__(                                \
+                        " (p0) br.cond.sptk.many 1f\n"        \
+                        ".previous\n"                         \
+                        "1:\n"                                \
+                      );
+#endif
+#   define _TR_BEFORE
+#   define _TR_AFTER
+# else
+#   define _TR_BEFORE
+#   define _TR_AFTER
+# endif  /* GPFS_ARCH_I386 */
+#else
+# define _TR_BEFORE
+# define _TR_AFTER
+#endif  /* FAR_TRACE */
+
+
+#ifdef _KERNEL
+# define PDEBUG(_c, _l, _fmt, args...) \
+    if (_TRACE_IS_ON(_c, _l)) printk( GPFS_NOTICE "kp %X:" _fmt, cxiGetThreadId() ,## args); else NOOP
+#else
+#     ifdef __cplusplus
+  extern "C" int ktrace(const char *fmt, ...);
+#     else  /* !__cplusplus */
+  extern  int ktrace(const char *fmt, ...);
+#     endif
+# define PDEBUG(_c, _l, _fmt, args...) \
+    if (_TRACE_IS_ON(_c, _l)) ktrace(_fmt, args); else NOOP
+#endif  /* _KERNEL */
+
+
+/* Special values for pos field in _STrace calls */
+#define _TR_FORMAT_I 250   /* all integer arguments */
+#define _TR_FORMAT_F 251   /* all integer arguments, plus the last argument
+                              is a float */
+#define _TR_FORMAT_X 252   /* preformatted string from TRACEnX */
+
+
+#ifndef GPFS_PRINTF
+
+/* NOTE: following _TRACExxx macros are used by the tracing facility but
+   should NOT be explicitly used in the gpfs source code. These are
+   intended to keep trcid.h from getting too large. */
+
+/* Define the trace hook macros used by the generated code in trcid.h for
+   all-integer calls */
+#define _TRACE0D(hw)           _STrace(hw, 0, _TR_FORMAT_I, 1)
+#define _TRACE1D(hw, args...)  _STrace(hw, 1, _TR_FORMAT_I,##args)
+#define _TRACE2D(hw, args...)  _STrace(hw, 2, _TR_FORMAT_I,##args)
+#define _TRACE3D(hw, args...)  _STrace(hw, 3, _TR_FORMAT_I,##args)
+#define _TRACE4D(hw, args...)  _STrace(hw, 4, _TR_FORMAT_I,##args)
+#define _TRACE5D(hw, args...)  _STrace(hw, 5, _TR_FORMAT_I,##args)
+#define _TRACE6D(hw, args...)  _STrace(hw, 6, _TR_FORMAT_I,##args)
+#define _TRACE7D(hw, args...)  _STrace(hw, 7, _TR_FORMAT_I,##args)
+#define _TRACE8D(hw, args...)  _STrace(hw, 8, _TR_FORMAT_I,##args)
+#define _TRACE9D(hw, args...)  _STrace(hw, 9, _TR_FORMAT_I,##args)
+#define _TRACE10D(hw, args...) _STrace(hw, 10, _TR_FORMAT_I,##args)
+#define _TRACE11D(hw, args...) _STrace(hw, 11, _TR_FORMAT_I,##args)
+#define _TRACE12D(hw, args...) _STrace(hw, 12, _TR_FORMAT_I,##args)
+
+#define _TRACE13D(hw, args...) _STrace(hw, 13, _TR_FORMAT_I,##args)
+#define _TRACE14D(hw, args...) _STrace(hw, 14, _TR_FORMAT_I,##args)
+#define _TRACE15D(hw, args...) _STrace(hw, 15, _TR_FORMAT_I,##args)
+#define _TRACE16D(hw, args...) _STrace(hw, 16, _TR_FORMAT_I,##args)
+#define _TRACE17D(hw, args...) _STrace(hw, 17, _TR_FORMAT_I,##args)
+#define _TRACE18D(hw, args...) _STrace(hw, 18, _TR_FORMAT_I,##args)
+#define _TRACE19D(hw, args...) _STrace(hw, 19, _TR_FORMAT_I,##args)
+#define _TRACE20D(hw, args...) _STrace(hw, 20, _TR_FORMAT_I,##args)
+
+#ifdef LTRACE_FUTURE
+#define TRCGENT(0, hookid, trcid, len, trcTemp) (void)0
+#endif
+
+/* non blocking versions */
+#define _TRACE0D_NB(hw)           _STraceNB(hw, 0, _TR_FORMAT_I, 1)
+#define _TRACE1D_NB(hw, args...)  _STraceNB(hw, 1, _TR_FORMAT_I,##args)
+#define _TRACE2D_NB(hw, args...)  _STraceNB(hw, 2, _TR_FORMAT_I,##args)
+#define _TRACE3D_NB(hw, args...)  _STraceNB(hw, 3, _TR_FORMAT_I,##args)
+#define _TRACE4D_NB(hw, args...)  _STraceNB(hw, 4, _TR_FORMAT_I,##args)
+#define _TRACE5D_NB(hw, args...)  _STraceNB(hw, 5, _TR_FORMAT_I,##args)
+#define _TRACE6D_NB(hw, args...)  _STraceNB(hw, 6, _TR_FORMAT_I,##args)
+#define _TRACE7D_NB(hw, args...)  _STraceNB(hw, 7, _TR_FORMAT_I,##args)
+#define _TRACE8D_NB(hw, args...)  _STraceNB(hw, 8, _TR_FORMAT_I,##args)
+#define _TRACE9D_NB(hw, args...)  _STraceNB(hw, 9, _TR_FORMAT_I,##args)
+#define _TRACE10D_NB(hw, args...) _STraceNB(hw, 10, _TR_FORMAT_I,##args)
+#define _TRACE11D_NB(hw, args...) _STraceNB(hw, 11, _TR_FORMAT_I,##args)
+#define _TRACE12D_NB(hw, args...) _STraceNB(hw, 12, _TR_FORMAT_I,##args)
+
+#define _TRACE13D_NB(hw, args...) _STraceNB(hw, 13, _TR_FORMAT_I,##args)
+#define _TRACE14D_NB(hw, args...) _STraceNB(hw, 14, _TR_FORMAT_I,##args)
+#define _TRACE15D_NB(hw, args...) _STraceNB(hw, 15, _TR_FORMAT_I,##args)
+#define _TRACE16D_NB(hw, args...) _STraceNB(hw, 16, _TR_FORMAT_I,##args)
+#define _TRACE17D_NB(hw, args...) _STraceNB(hw, 17, _TR_FORMAT_I,##args)
+#define _TRACE18D_NB(hw, args...) _STraceNB(hw, 18, _TR_FORMAT_I,##args)
+#define _TRACE19D_NB(hw, args...) _STraceNB(hw, 19, _TR_FORMAT_I,##args)
+#define _TRACE20D_NB(hw, args...) _STraceNB(hw, 20, _TR_FORMAT_I,##args)
+
+#define _TRACE1F(hw, args...) _STrace(hw, 0, _TR_FORMAT_F,##args)
+#define _TRACE2F(hw, args...) _STrace(hw, 1, _TR_FORMAT_F,##args)
+#define _TRACE3F(hw, args...) _STrace(hw, 2, _TR_FORMAT_F,##args)
+#define _TRACE4F(hw, args...) _STrace(hw, 3, _TR_FORMAT_F,##args)
+#define _TRACE5F(hw, args...) _STrace(hw, 4, _TR_FORMAT_F,##args)
+#define _TRACE6F(hw, args...) _STrace(hw, 5, _TR_FORMAT_F,##args)
+#define _TRACE7F(hw, args...) _STrace(hw, 6, _TR_FORMAT_F,##args)
+#define _TRACE8F(hw, args...) _STrace(hw, 7, _TR_FORMAT_F,##args)
+#define _TRACE9F(hw, args...) _STrace(hw, 8, _TR_FORMAT_F,##args)
+
+#define _TRACE1F_NB(hw, args...) _STraceNB(hw, 0, _TR_FORMAT_F,##args)
+#define _TRACE2F_NB(hw, args...) _STraceNB(hw, 1, _TR_FORMAT_F,##args)
+#define _TRACE3F_NB(hw, args...) _STraceNB(hw, 2, _TR_FORMAT_F,##args)
+#define _TRACE4F_NB(hw, args...) _STraceNB(hw, 3, _TR_FORMAT_F,##args)
+#define _TRACE5F_NB(hw, args...) _STraceNB(hw, 4, _TR_FORMAT_F,##args)
+#define _TRACE6F_NB(hw, args...) _STraceNB(hw, 5, _TR_FORMAT_F,##args)
+#define _TRACE7F_NB(hw, args...) _STraceNB(hw, 6, _TR_FORMAT_F,##args)
+#define _TRACE8F_NB(hw, args...) _STraceNB(hw, 7, _TR_FORMAT_F,##args)
+#define _TRACE9F_NB(hw, args...) _STraceNB(hw, 8, _TR_FORMAT_F,##args)
+
+#endif /* GPFS_PRINTF */
+
+#endif  /* _h_Trace_plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/Trace.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/Trace.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/Trace.h	(revision 16)
@@ -0,0 +1,467 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.23.1.1  src/avs/fs/mmfs/ts/kernext/ibm-kxi/Trace.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/8/06 03:17:47 */
+/*
+ * Definition of macros and symbols to control trace generation.  Define
+ * the symbol NTRACE at compile time to remove all trace code.
+ *
+ * Conventions for assigning trace levels:
+ *   - Trace levels are always non-negative.
+ *   - Larger trace levels produce more trace output
+ *   - Trace level == 0 produces no output.
+ *   - Trace level == 1 produces one line of output for the operation
+ *     being traced, usually just a description of what is being called
+ *     and its arguments.
+ *   - Trace level >= 10 are for testing only; they are disabled
+ *     in the product code (controlled by VERBOSETRACE define).
+ *
+ */
+#ifndef _h_Trace
+#define _h_Trace
+
+/* Include the code generated by the mktrace utility to marshall trace
+   arguments for all traces in this source directory */
+#include <trcid.h>
+
+/* Include the platform-specific trace macros */
+#include <Trace-plat.h>
+
+
+/* Define macros to build xxx_ToString calls.  Used within xxx_id2name
+   macros. */
+#ifdef GPFS_PRINTF
+# define I2N(n,i) n##ToString((int)i)
+# define E2N(n,i) n##ToString(i)
+#else
+# define I2N(n,i) ((int)(i))
+# define E2N(n,i) ((int)(i))
+#endif
+
+
+/* Trace categories */
+#define TRACE_ALLOC      0   /* Disk space allocation */
+#define TRACE_ALLOCMGR   1   /* Allocation manager trace */
+#define TRACE_BASIC      2   /* "basic" classes */
+#define TRACE_BRL        3   /* byte range locks */
+#define TRACE_CLEANUP    4   /* cleanup routines */
+#define TRACE_CMD        5   /* TS commands */
+#define TRACE_DEFRAG     6   /* defragmentation */
+#define TRACE_DFS        7   /* DFS Export interaction */
+#define TRACE_DISK       8   /* physical disk I/O */
+#define TRACE_DMAPI      9   /* Data Management */
+#define TRACE_DS         10  /* data shipping */
+#define TRACE_ERRLOG     11  /* error logging */
+#define TRACE_FS         12  /* file system */
+#define TRACE_FSCK       13  /* online multinode fsck */
+#define TRACE_ENTRYEXIT  14  /* routine entry/exit tracing */
+#define TRACE_IO         15  /* physical I/O (formerly TRACE_RTPERF) */
+#define TRACE_KLOCKL     16  /* low-level locks in VFS code */
+#define TRACE_KSVFS      17  /* generic VFS kernel stuff */
+#define TRACE_LOCK       18  /* interprocess locking */
+#define TRACE_LOG        19  /* recovery log */
+#define TRACE_MALLOC     20  /* MemoryPool alloc and dealloc */
+#define TRACE_MB         21  /* mailbox message handling */
+#define TRACE_MEMMGR     22  /* memory manager traces */
+#define TRACE_MNODE      23  /* metanode operations */
+#define TRACE_MSG        24  /* calls to routines in SharkMsg.h */
+#define TRACE_MUTEX      25  /* mutexes and condition variables */
+#define TRACE_PERFMON    26  /* trace performance monitor code */
+#define TRACE_PGALLOC    27  /* page allocator tracing */
+#define TRACE_PIN        28  /* pinning to real memory */
+#define TRACE_PIT        29  /* Parallel Inode Traversal */
+#define TRACE_QUOTA      30  /* quota management */
+#define TRACE_SP         31  /* SP message handling */
+#define TRACE_TASKING    32  /* tasking system but not Thread operations */
+#define TRACE_THREAD     33  /* operations in Thread class */
+#define TRACE_TSTM       34  /* token manager (formerly TRACE_CETM) */
+#define TRACE_TS         35  /* Tiger Shark specific code. */
+#define TRACE_USER1      36  /* Used for miscellaneous tracing and */
+#define TRACE_USER2      37  /* debugging purposes. */
+#define TRACE_VNODE      38  /* vnode layer of VFS kernel support */
+#define TRACE_VNOP       39  /* one line per VNOP with all important info */
+#define TRACE_BOPS       40  /* block_operations */
+#define TRACE_DOPS       41  /* dentry_operations */
+#define TRACE_IALLOC     42  /* inode allocation */
+#define TRACE_FOPS       43  /* file_operations */
+#define TRACE_SOPS       44  /* super_operations */
+#define TRACE_SHARED     45  /* shared memory */
+#define TRACE_NSD        46  /* network shared disk */
+#define TRACE_DLEASE     47  /* disk lease */
+#define TRACE_SMB        48  /* SMB Open and Op Locks */
+#define TRACE_EEXP       49  /* events exporter. */
+#define TRACE_SEC        50  /* Cluster Security Specific Trace */
+#define TRACE_SANERGY    51  /* SANergy */
+#define TRACE_KERNEL     52  /* kernel */
+#define TRACE_MMPMON     53  /* mmpmon. */
+
+/* Add new trace classes above here.  When adding new trace classes, be
+   sure to update the table below containing character string names for the
+   trace classes.  The maximum number of trace classes is given by
+   MAX_TRACE_CLASSES. */
+
+
+/* Table of trace class names, indexed by TRACE_... constants above.
+   The generation of this table is controlled by the #define variable
+   DEFINE_TRACE_CLASS_NAME_TABLE, which is generally only set in the module
+   that parses commands to change trace settings. */
+struct TraceNameTableEntry
+{
+  char *name;
+  char *desc;
+};
+
+
+#ifndef _KERNEL
+  extern const struct TraceNameTableEntry TraceNamesP[MAX_TRACE_CLASSES + 1];
+
+# ifdef DEFINE_TRACE_CLASS_NAME_TABLE
+    const TraceNameTableEntry TraceNamesP[MAX_TRACE_CLASSES + 1] =
+    {
+      /*  0 */  { "alloc",      "disk space allocation" },
+      /*  1 */  { "allocmgr",   "allocation manager" },
+      /*  2 */  { "basic",      "'basic' classes" },
+      /*  3 */  { "brl",        "byte range locks" },
+      /*  4 */  { "cleanup",    "cleanup routines" },
+      /*  5 */  { "cmd",        "TS commands" },
+      /*  6 */  { "defrag",     "defragmentation" },
+      /*  7 */  { "dfs",        "DFS export" },
+      /*  8 */  { "disk",       "physical disk I/O" },
+      /*  9 */  { "dmapi",      "data management" },
+      /* 10 */  { "ds",         "data shipping" },
+      /* 11 */  { "errlog",     "error logging" },
+      /* 12 */  { "fs",         "file system" },
+      /* 13 */  { "fsck",       "online multinode fsck" },
+      /* 14 */  { "entryexit",   "routine entry/exit" },
+      /* 15 */  { "io",         "physical I/O" },
+      /* 16 */  { "klockl",     "low-level VFS locking" },
+      /* 17 */  { "ksvfs",      "generic kernel VFS stuff" },
+      /* 18 */  { "lock",       "interprocess locking" },
+      /* 19 */  { "log",        "recovery log" },
+      /* 20 */  { "malloc",     "malloc/free in shared segment" },
+      /* 21 */  { "mb",         "mailbox message handling" },
+      /* 22 */  { "memmgr",     "memory manager" },
+      /* 23 */  { "mnode",      "mnode operations" },
+      /* 24 */  { "msg",        "calls to routines in SharkMsg.h" },
+      /* 25 */  { "mutex",      "mutexes and condition variables" },
+      /* 26 */  { "perfmon",    "performance monitors" },
+      /* 27 */  { "pgalloc",    "page allocator tracing" },
+      /* 28 */  { "pin",        "pinning to real memory" },
+      /* 29 */  { "pit",        "parallel inode traversal" },
+      /* 30 */  { "quota",      "quota management" },
+      /* 31 */  { "sp",         "SP message handling" },
+      /* 32 */  { "tasking",    "tasking system but not Thread operations" },
+      /* 33 */  { "thread",     "operations in Thread class" },
+      /* 34 */  { "tm",         "token manager" },
+      /* 35 */  { "ts",         "Tiger Shark specific code" },
+      /* 36 */  { "user1",      "Used for miscellaneous tracing and" },
+      /* 37 */  { "user2",      "debugging purposes" },
+      /* 38 */  { "vnode",      "vnode layer of VFS kernel support" },
+      /* 39 */  { "vnop",       "concise vnop description" },
+      /* 40 */  { "block",      "block_operations" },
+      /* 41 */  { "dentry",     "dentry_operations" },
+      /* 42 */  { "ialloc",     "inode allocation" },
+      /* 43 */  { "file",       "file_operations" },
+      /* 44 */  { "super",      "super_operations" },
+      /* 45 */  { "shared",     "shared memory" },
+      /* 46 */  { "nsd",        "network shared disk"},
+      /* 47 */  { "disklease",  "disk lease"},
+      /* 48 */  { "smb",        "SMB Locks"},
+      /* 49 */  { "eventsExporter", "Events Exporter"},
+      /* 50 */  { "sec",        "Cluster Security Specific Trace"},
+      /* 51 */  { "sanergy",    "SANergy"},
+      /* 52 */  { "kernel",     "kernel"},
+      /* 53 */  { "mmpmon",     "mmpmon"},
+      /* Add new trace class names above here. */
+      /* DO NOT ifdef TRACE CLASS DEFINITIONS! */
+      { 0, 0 }
+    };
+# endif /* of ifdef DEFINE_TRACE_CLASS_NAME_TABLE */
+#endif /* not _KERNEL */
+
+
+/* Define the TRCOPTCODE and/or KTRCOPTCODE macro here to temporarily insert
+   debugging code into each enabled TRACE macro expansion.  TRCOPTCODE is
+   inserted into code that is compiled with _KERNEL *not* defined, while
+   KTRCOPTCODE is inserted into code compiled with -D_KERNEL */
+#define TRCOPTCODE
+#define KTRCOPTCODE
+
+
+/* Define a macro that does nothing.  Used for dummy else clauses. */
+#ifndef NOOP
+# define NOOP ((void)0)
+#endif
+
+
+/* Define SHARKHOOKID word.  GPFS default hookid is 307, but we use a
+   different hookid in certain directories, as defined in DirIds.h. */
+#if LOCAL_BASE == DIR_ID_TM
+#  define SHARKHOOKID 0x30600000
+#elif LOCAL_BASE == DIR_ID_TASKING
+#  define SHARKHOOKID 0x30800000
+#elif LOCAL_BASE == DIR_ID_KERNEXT
+#  define SHARKHOOKID 0x30900000
+#else
+#  define SHARKHOOKID 0x30700000
+#endif
+
+/* Convert the id of a particular trace to the hookword stored in the
+   trace buffer */
+#define _HOOKWORD(_id) ((_id) | SHARKHOOKID)
+
+/* Define the routines that handle traces that include strings (_STrace)
+   and arbitrary traces (_XTrace) */
+#ifdef __cplusplus
+  extern "C"
+  {
+#endif
+void _STrace(int hookword, int nArgs, int pos, ...);
+void _XTrace(int hookword, char *fmt, ...);
+#ifdef GPFS_AIX  /* AIX doesn't have nor need non blocking trace calls */
+#define _STraceNB _STrace
+#define _XTraceNB _XTrace
+#else
+void _STraceNB(int hookword, int nArgs, int pos, ...);
+void _XTraceNB(int hookword, char *fmt, ...);
+#endif
+#ifdef __cplusplus
+  }
+#endif
+
+
+#ifdef NTRACE
+  /* disable all traces */
+# define _TRACE_MACRO(_c, _l, _ktrc) NOOP
+# define _TRACE_IS_ON(_c, _l) (0)
+#else /* not NTRACE */
+
+  /* Define the test to check whether tracing for given level is enabled.
+     Unless VERBOSETRACE is defined, tracing is always disabled for trace
+     calls with trace level 10 or higher. */
+# ifdef VERBOSETRACE
+#   define _TRACE_IS_ON(_c,_l) (_GBL_TRC_IS_ON && (signed char)TraceFlagsP[_c] >= (_l))
+# else
+#   define _TRACE_IS_ON(_c,_l) (_GBL_TRC_IS_ON && (_l)<10 && \
+      (signed char) TraceFlagsP[_c] >= (_l))
+# endif
+
+
+  /* Define _TRACE_MACRO(_c, _l, _ktrc) macro.  Used to define the actual
+     TRACExx macros.  Macro parameters:
+        _c       trace class
+        _l       trace level
+        _ktrc    code to execute if kernel tracing is selected */
+# ifndef _KERNEL
+#   define _TRACE_MACRO(_c, _l, _ktrc) \
+      if (_TRACE_IS_ON(_c, _l))        \
+        { _TR_BEFORE; _ktrc; TRCOPTCODE; _TR_AFTER; } else NOOP
+# else /* _KERNEL */
+#   define _TRACE_MACRO(_c, _l, _ktrc) \
+      if (_TRACE_IS_ON(_c, _l))        \
+        { _TR_BEFORE; _ktrc; KTRCOPTCODE; _TR_AFTER; } else NOOP
+# endif /* KERNEL */
+
+#endif /* not NTRACE */
+
+
+/* Non blocking versions of trace calls.  The succeeding 'N' is 
+ * significant to mktrcid only and thus these versions are merely
+ * redefined to be the real macro.
+ */
+#define TRACE0N  TRACE0
+#define TRACE1N  TRACE1
+#define TRACE2N  TRACE2
+#define TRACE3N  TRACE3
+#define TRACE4N  TRACE4
+#define TRACE5N  TRACE5
+#define TRACE6N  TRACE6
+#define TRACE7N  TRACE7
+#define TRACE8N  TRACE8
+#define TRACE9N  TRACE9
+#define TRACE10N TRACE10
+#define TRACE11N TRACE11
+#define TRACE12N TRACE12
+
+/* General trace macros */
+#ifndef GPFS_PRINTF
+
+#define TRACE0(_c, _l, id, fmt) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE1(_c, _l, id, fmt, a1) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE2(_c, _l, id, fmt, a1, a2) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE3(_c, _l, id, fmt, a1, a2, a3) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE4(_c, _l, id, fmt, a1, a2, a3, a4) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE5(_c, _l, id, fmt, a1, a2, a3, a4, a5) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE6(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE7(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE8(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE9(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE10(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE11(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+#define TRACE12(_c, _l, id, fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) \
+  _TRACE_MACRO(_c, _l, TRACE_##id##_CALL)
+
+#else /* GPFS_PRINTF */
+
+#define TRACE0(_c,_l,_id,_fmt) \
+  PDEBUG((_c),(_l),_fmt,1)
+#define TRACE1(_c,_l,_id,_fmt,a1) \
+  PDEBUG((_c),(_l),_fmt,a1)
+#define TRACE2(_c,_l,_id,_fmt,a1,a2) \
+  PDEBUG((_c),(_l),_fmt,a1,a2)
+#define TRACE3(_c,_l,_id,_fmt,a1,a2,a3) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3)
+#define TRACE4(_c,_l,_id,_fmt,a1,a2,a3,a4) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4)
+#define TRACE5(_c,_l,_id,_fmt,a1,a2,a3,a4,a5) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5)
+#define TRACE6(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6)
+#define TRACE7(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7)
+#define TRACE8(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8)
+#define TRACE9(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9)
+#define TRACE10(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
+#define TRACE11(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
+#define TRACE12(_c,_l,_id,_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) \
+  PDEBUG((_c),(_l),_fmt,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
+
+
+#endif /* GPFS_PRINTF */
+
+
+/* Subroutine for setting traces given a string of trace names and values */
+extern int traceCommand(char *args);
+
+
+/* Routine entry/exit tracing:
+
+   In C code, place the macro ENTER(level) at the point of the first
+   executable statement of the routine.  This will generate a call to
+   cxiTraceEntry that will trace the call by function name and source line
+   if TRACE_ENTEREXIT is set high enough.  Optionally, place the macro
+   EXIT(level) at exits from the routine.
+
+   In C++ code, place the macro ENTER(level) as the first declaration in
+   the routine.  This will create an object of type EntryExitTracer,
+   whose constructor will call cxiTraceEntry to trace routine entry, and
+   whose destructor will call cxiTraceExit to trace routine exit.  The
+   EXIT macro may appear, but will be ignored.
+
+   The trace levels that appear in the ENTER and EXIT macros are interpreted
+   relative to a base trace level.  Setting the TRACE_ENTEREXIT level <
+   BASE_ENTEREXIT_LEVEL disables all enter/exit tracing.  To see enter/exit
+   traces from daemon code, set the TRACE_ENTEREXIT level to at least
+   BASE_ENTEREXIT_LEVEL+DAEMON_ENTEREXIT_TRACING.
+
+   Kernel stack depth checking is only supported on Linux, since we do
+   not know how to compute the current stack usage on AIX.
+*/
+#ifdef KSTACK_CHECK
+# ifndef GPFS_LINUX
+#   error "KSTACK_CHECK is only supported on Linux"
+# endif
+#endif
+
+#if defined(ENTRYEXIT_TRACE) || defined(KSTACK_CHECK)
+# define BASE_ENTEREXIT_LEVEL     6
+# define DAEMON_ENTEREXIT_TRACING 2
+# ifdef __cplusplus
+    extern "C" void cxiTraceEntry(int level, const char * funcnameP,
+                                  const char * filenameP, int lineNum);
+    extern "C" void cxiTraceExit(int level, const char * funcnameP);
+    extern "C" void cxiTraceExitRC(int level, const char * funcnameP, int rc);
+    class EntryExitTracer
+    {
+    private:
+      /* Trace level */
+      int level;
+
+      /* Pointer to routine name */
+      const char * funcnameP;
+
+    public:
+      /* Constructor: trace routine entry and remember trace level and
+         routine name */
+      inline EntryExitTracer(int level, const char * funcnameP,
+                             const char * filenameP, int lineNum)
+      {
+        cxiTraceEntry(level, funcnameP, filenameP, lineNum);
+        this->level = level;
+        this->funcnameP = funcnameP;
+      }
+
+      /* Destructor: trace routine exit */
+      inline ~EntryExitTracer()
+      {
+        cxiTraceExit(level, funcnameP);
+      }
+    };
+
+#   define ENTER(_level) \
+      EntryExitTracer _eet(_level, __FUNCTION__, __FILE__, __LINE__)
+#   define EXIT(_level)
+#   define EXIT_RC(_level, rc)
+# else
+    extern void cxiTraceEntry(int level, const char * funcnameP,
+                              const char * filenameP, int lineNum);
+    extern void cxiTraceExit(int level, const char * funcnameP);
+    extern void cxiTraceExitRC(int level, const char * funcnameP, int rc);
+#   define ENTER(_level) cxiTraceEntry(_level, __FUNCTION__, __FILE__, __LINE__)
+#   define EXIT(_level) cxiTraceExit(_level, __FUNCTION__)
+#   define EXIT_RC(_level, rc) cxiTraceExitRC(_level, __FUNCTION__, rc)
+# endif  /* __cplusplus */
+
+#else  /* ENTRYEXIT_TRACE and KSTACK_CHECK disabled */
+# define ENTER(_level)
+# define EXIT(_level)
+# define EXIT_RC(_level, rc)
+#endif  /* defined(ENTRYEXIT_TRACE) || defined(KSTACK_CHECK) */
+
+
+#endif  /* _h_Trace */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxi2gpfs.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxi2gpfs.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxi2gpfs.h	(revision 16)
@@ -0,0 +1,411 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)67       1.90.1.4  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxi2gpfs.h, mmfs, avs_rgpfs24, rgpfs24s012a 5/1/07 08:31:35 */
+/*
+ * Interface definitions for gpfs kernel services, platform independent version
+ *
+ * Contents:
+ *   vfs services:
+ */
+
+#ifndef _h_cxi2gpfs
+#define _h_cxi2gpfs
+
+#ifdef _KERNEL
+
+/* Describes the entry points into the OS independent portion of
+ * GPFS from the dependent virtual file system layer.
+ */
+struct gpfsVfsData_t;
+struct ext_cred_t;
+struct MMFSVInfo;
+struct cxiUio_t;
+struct cxiIOBufferAttachment_t;
+#ifdef SMB_LOCKS
+struct SMBTokenDescription;
+#endif
+struct KernelOperation;
+
+/* GPFS OS independent entry point prototypes */
+IntRC gpfsFsync(struct gpfsVfsData_t *, struct MMFSVInfo *, cxiNode_t *, int, struct ext_cred_t *);
+IntRC gpfsSyncNFS(struct gpfsVfsData_t *, cxiNode_t *, int, struct ext_cred_t *);
+IntRC gpfsMkdir(struct gpfsVfsData_t *, cxiNode_t *cnDirP,
+                void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                void *dentryP, caddr_t nameP, int, cxiMode_t mode,
+                struct ext_cred_t *);
+IntRC gpfsLink(struct gpfsVfsData_t *, cxiNode_t *, cxiNode_t *,
+               void *, char *, struct ext_cred_t *);
+IntRC gpfsOpen(struct gpfsVfsData_t *, cxiNode_t *, int, int, int,
+               struct MMFSVInfo **, struct ext_cred_t *);
+IntRC gpfsInodeRead(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    cxiIno_t ino, void *opaque);
+IntRC gpfsInodeDelete(struct gpfsVfsData_t *, cxiNode_t *, Boolean isGPFS,
+                      struct ext_cred_t *);
+int gpfsInodeFindActor(cxiNode_t *, cxiIno_t, void *);
+int gpfsGetSnapIdPair(cxiNode_t *, UInt32 *, UInt32 *);
+IntRC gpfsRemove(struct gpfsVfsData_t *, cxiNode_t *, cxiNode_t *,
+                 char *, struct ext_cred_t *);
+IntRC gpfsRename(struct gpfsVfsData_t *, cxiNode_t *, cxiNode_t *,
+                 caddr_t, cxiNode_t *, cxiNode_t *, caddr_t,
+                 struct ext_cred_t *);
+IntRC gpfsRmdir(struct gpfsVfsData_t *, cxiNode_t *, cxiNode_t *,
+                char *, struct ext_cred_t *);
+IntRC gpfsSetattr(struct gpfsVfsData_t *, cxiNode_t *, long, long, long,
+                  long, struct ext_cred_t *);
+IntRC gpfsSymlink(struct gpfsVfsData_t *, cxiNode_t *dcnP, void **vPP,
+                  cxiNode_t **cnPP, cxiIno_t *iNumP, void *dentryP, caddr_t nameP,
+                  char *symlinkTargetP, struct ext_cred_t *);
+IntRC gpfsFsyncRange(struct gpfsVfsData_t *, cxiNode_t *, int, offset_t,
+                     offset_t, struct ext_cred_t *);
+IntRC gpfsClose(struct gpfsVfsData_t *, cxiNode_t *, int,
+                struct MMFSVInfo *, Boolean dmEvents);
+IntRC gpfsUnmap(struct gpfsVfsData_t *, cxiNode_t *, int);
+IntRC gpfsFattr(struct gpfsVfsData_t *, cxiNode_t *, struct MMFSVInfo *,
+                int, int, void *, void *, struct ext_cred_t *);
+IntRC gpfsFsAttr(int, void *);
+IntRC gpfsFclear(struct gpfsVfsData_t *, cxiNode_t *,
+                 int, offset_t, offset_t, struct MMFSVInfo *, struct ext_cred_t *);
+IntRC gpfsFtrunc(struct gpfsVfsData_t *, cxiNode_t *, int, offset_t,
+                 struct MMFSVInfo *, struct ext_cred_t *, Boolean dmEvents);
+IntRC gpfsRead(struct gpfsVfsData_t *, struct KernelOperation *, cxiNode_t *, int,
+               struct cxiUio_t *, struct MMFSVInfo *, cxiVattr_t *, cxiVattr_t *,
+               struct ext_cred_t *, int, int);
+IntRC gpfsWrite(struct gpfsVfsData_t *, struct KernelOperation *, cxiNode_t *, int,
+                struct cxiUio_t *, struct MMFSVInfo *, cxiVattr_t *, cxiVattr_t *,
+                struct ext_cred_t *, int, int);
+IntRC gpfsGetattr(struct gpfsVfsData_t *, cxiNode_t *, cxiVattr_t *, Boolean exactStat);
+IntRC gpfsAccess(struct gpfsVfsData_t *, cxiNode_t *, int, int,
+                 struct ext_cred_t *);
+IntRC gpfsReaddir(struct gpfsVfsData_t *, cxiNode_t *, void *, cxiFillDir_t,
+                  offset_t *, cxiContext_t, struct KernelOperation *kopP);
+IntRC gpfsReadlink(struct gpfsVfsData_t *, cxiNode_t *, struct cxiUio_t *);
+IntRC gpfsCreate(struct gpfsVfsData_t *privVfsP, cxiNode_t *dcnP,
+                 void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP, int gen,
+                 int flags, void *dentryP, caddr_t nameP, cxiMode_t mode,
+                 cxiMode_t umask, caddr_t *infoPP, struct ext_cred_t *);
+IntRC gpfsMknod(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnDirP,
+                void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                void *dentryP, caddr_t nameP, cxiMode_t mode, cxiMode_t umask,
+                cxiDev_t dev, struct ext_cred_t *credP);
+IntRC gpfsRele(struct gpfsVfsData_t *, cxiNode_t *,
+               void *, cxiContext_t);
+IntRC gpfsLookup(struct gpfsVfsData_t *, void *dvP, cxiNode_t *cnDirP,
+                 void *dentryP, char *nameP,
+                 void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP, cxiVattr_t *,
+                 cxiMode_t *, struct ext_cred_t *, void **dentryPP);
+IntRC gpfsMount(void *, int, char *, char *, char *, struct gpfsVfsData_t **,
+                cxiNode_t **, cxiIno_t *iNumP, struct gpfsVfsData_t *, pid_t,
+                unsigned int mountId, Boolean, Boolean);
+IntRC gpfsStatfs(struct gpfsVfsData_t *, cxiStatfs_t *);
+IntRC gpfsSyncfs(struct gpfsVfsData_t *);
+void gpfsQueueBufs(cxibuf_t *bufP);
+void gpfsMmapFlushLock(cxiNode_t *cnP);
+void gpfsMmapFlushUnlock(cxiNode_t *cnP);
+
+IntRC gpfsUncache(struct gpfsVfsData_t *privVfsP);
+
+IntRC gpfsUnmount(struct gpfsVfsData_t *privVfsP, Boolean forced);
+void gpfsFinishUnmount(struct gpfsVfsData_t *privVfsP);
+#ifdef NFS4_CLUSTER
+IntRC gpfsFsLocations(struct gpfsVfsData_t *privVfsP, char **bufP, int *buf_size);
+#endif
+IntRC gpfsFcntl(void *vkopP,
+                struct gpfsVfsData_t *privVfsP,
+                void *vP,               // struct vnode* or NULL
+                void *advObjP,          // struct gnode* or struct file*
+                void *flP,              // NULL or struct file_lock*
+                cxiNode_t *cnP,
+                offset_t offset,
+                eflock_t *lckdatP,
+                int cmd,                // F_SETLK, F_SETLKW, F_GETLK
+                int(*retry_fcn)(),
+                ulong *retry_idP,
+                struct ext_cred_t *credP);
+IntRC gpfsFcntlReset(void *advObjP, cxiPid_t mmfsd);
+
+IntRC gpfsGetAcl(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                 void *aclP, struct ext_cred_t *credP);
+IntRC gpfsPutAcl(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                 void *aclP, struct ext_cred_t *credP);
+
+#ifdef GPFS_QUOTACTL
+IntRC gpfsQuotactl(struct gpfsVfsData_t *privVfsP, int cmd, int qid, 
+                   void *bufferP, struct ext_cred_t *credP);
+#endif
+
+IntRC gpfsGetNFS(void *, struct MMFSVInfo **, int *);
+IntRC gpfsReleaseNFS(void *);
+int gpfsReady();
+IntRC gpfsMmap(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, void *vP,
+               struct ext_cred_t *credP, void *kopP, Boolean writeAccess,
+               Boolean explicit_mmap,long long offset, long long length);
+
+#ifdef SMB_LOCKS
+IntRC SMBOpenLockControl(int command, int lockmode,
+                         int inode_n, struct MMFSVInfo * vinfoP,
+                         struct gpfsVfsData_t *privVfsP);
+int SMBGetOplockState(void *fileArgP);
+int SMBGetOplockStateV(struct MMFSVInfo * vinfoP);
+IntRC gpfsSetSMBOplock(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       struct MMFSVInfo *vinfoP, int accessWant,
+                       int oplockWant, void *breakArgP,
+                       int *oplockGrantedP, Boolean isAsync);
+IntRC gpfsReserveShare(void *vP, void *infoP, 
+                       struct gpfsVfsData_t *privVfsP, int flags, int share,
+                       cxiNode_t *cnP, ext_cred_t *credP);
+IntRC gpfsReserveDelegation(void *vp, void *infoP, 
+                            struct gpfsVfsData_t *privVfsP, int oplockWant,
+                            int flags, void *cb_token, void *cookie);
+#endif  //SMB_LOCKS
+IntRC callDaemonToDie(char  *srcFileName, UInt32 srcLineNumber,
+                      Int32 retCode, Int32 reasonCode, char  *dataStr,
+                      char  *failingExpr);
+IntRC gpfsCleanup();
+#ifdef UIDREMAP
+int UIDremapOn();
+#endif
+void gpfsSwapdEnqueue(cxiNode_t *cnP);
+void gpfsSwapdDequeue(cxiNode_t *cnP);
+void gpfsGrace(int on_off);
+#ifdef P_NFS4
+IntRC gpfsGetOpenState(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       int nodeId, void *p, int len, struct ext_cred_t *credP);
+IntRC gpfsLayoutRetrun(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       void *p, int len);
+IntRC gpfsGetDeviceInfo(struct gpfsVfsData_t *privVfsP, void *p);
+IntRC gpfsGetLayout(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    void *p, struct ext_cred_t *credP);
+IntRC gpfsGetDeviceList(struct gpfsVfsData_t *privVfsP, void *p);
+int gpfsGetMyDevID(struct gpfsVfsData_t *privVfsP);
+void gpfsGetVerifier(struct gpfsVfsData_t *privVfsP, UInt32 *p);
+#endif
+
+#ifdef DMAPI
+IntRC gpfsDmUnmountEvent(Boolean preunmount, Boolean force,
+                         struct gpfsVfsData_t *privVfsP, cxiNode_t *rootCNP,
+                         Boolean *dmDoUnmountEventP, void **sgUidP,
+                         void **eventlistP, void **sessLocP, int vnoprc);
+#endif
+
+IntRC gpfsNFSIget(struct gpfsVfsData_t *privVfsP, struct cxiIGetArg_t *argP,
+                  UInt32 generation, void **vPP);
+IntRC gpfsOpenNFS(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                  struct MMFSVInfo *vinfoP, struct ext_cred_t *credP);
+
+struct gpfs_operations
+{
+  IntRC (*mmfs)(int cmd);
+  IntRC (*gpfsMount)(void *, int, char *, char *, char *, struct gpfsVfsData_t **,
+                     cxiNode_t **, cxiIno_t *iNumP, struct gpfsVfsData_t *, pid_t,
+                     unsigned int, Boolean, Boolean);
+  IntRC (*gpfsStatfs)(struct gpfsVfsData_t *, cxiStatfs_t *);
+  IntRC (*gpfsSyncfs)(struct gpfsVfsData_t *);
+  void (*gpfsQueueBufs)(cxibuf_t *bufP);
+  void (*gpfsMmapFlushLock)(cxiNode_t *cnP);
+  void (*gpfsMmapFlushUnlock)(cxiNode_t *cnP);
+  IntRC (*gpfsFsync)(struct gpfsVfsData_t *, struct MMFSVInfo *, cxiNode_t *, int,
+                     struct ext_cred_t *credP);
+  IntRC (*gpfsSyncNFS)(struct gpfsVfsData_t *, cxiNode_t *, int,
+                       struct ext_cred_t *credP);
+  IntRC (*gpfsMkdir)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnDirP,
+                     void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                     void *dentryP, char *dirNameP, int mode, cxiMode_t umask,
+                     struct ext_cred_t *credP);
+  IntRC (*gpfsLink)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    cxiNode_t *dcnP, void *dentryP, char *name,
+                    struct ext_cred_t *credP);
+  IntRC (*gpfsOpen)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    int flags, int iflags, int ext, struct MMFSVInfo **infoPP,
+                    struct ext_cred_t *credP);
+  IntRC (*gpfsInodeRead)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                         cxiIno_t ino, void *opaque);
+  IntRC (*gpfsInodeDelete)(struct gpfsVfsData_t *, cxiNode_t *, Boolean isGPFS,
+                           struct ext_cred_t *);
+  int (*gpfsInodeFindActor)(cxiNode_t *, cxiIno_t, void *);
+  int (*gpfsGetSnapIdPair)(cxiNode_t *, UInt32 *, UInt32 *);
+  IntRC (*gpfsRemove)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                      cxiNode_t *dcnP, char *nameP, struct ext_cred_t *credP);
+  IntRC (*gpfsRename)(struct gpfsVfsData_t *privVfsP, cxiNode_t *sourceCNP,
+                      cxiNode_t *sourceDirCNP, caddr_t oldNameP,
+                      cxiNode_t *targetCNP, cxiNode_t *targetDirCNP,
+                      caddr_t newNameP, struct ext_cred_t *credP);
+  IntRC (*gpfsRmdir)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                     cxiNode_t *dcnP, char *nameP, struct ext_cred_t *credP);
+  IntRC (*gpfsSetattr)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       long cmd, long arg1, long arg2, long arg3,
+                       struct ext_cred_t *credP);
+  IntRC (*gpfsSymlink)(struct gpfsVfsData_t *privVfsP, cxiNode_t *dcnP, void **vPP,
+                       cxiNode_t **cnPP, cxiIno_t *iNumP,
+                       void *dentryP, caddr_t nameP,
+                       char *symlinkTargetP, struct ext_cred_t *credP);
+  IntRC (*gpfsFsyncRange)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                          int flags, offset_t offset, offset_t length,
+                          struct ext_cred_t *credP);
+  IntRC (*gpfsClose)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                     int flags, struct MMFSVInfo *vinfoP,
+                     Boolean dmEvents);
+  IntRC (*gpfsUnmap)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                     int flag);
+  IntRC (*gpfsFattr)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                     struct MMFSVInfo *vinfoP, int rwflag, int command,
+                     void *argP, void *rCodeP, struct ext_cred_t *credP);
+  IntRC (*gpfsFsAttr)(int command, void *argP);
+  IntRC (*gpfsFclear)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                      int flags, offset_t offset, offset_t len,
+                      struct MMFSVInfo *vinfoP, struct ext_cred_t *credP);
+  IntRC (*gpfsFtrunc)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                      int flags, offset_t offset, struct MMFSVInfo *vinfoP,
+                      struct ext_cred_t *credP, Boolean dmEvents);
+  IntRC (*gpfsRead)(struct gpfsVfsData_t *privVfsP, struct KernelOperation *,
+                    cxiNode_t *cnP, int flags, struct cxiUio_t* uioP, 
+                    struct MMFSVInfo *vinfoP, cxiVattr_t *vpreP, 
+                    cxiVattr_t *vattrP, struct ext_cred_t *credP, int, int);
+  IntRC (*gpfsWrite)(struct gpfsVfsData_t *privVfsP, struct KernelOperation *,
+                     cxiNode_t *cnP, int flags, struct cxiUio_t* uioP, 
+                     struct MMFSVInfo *vinfoP, cxiVattr_t *vpreP, 
+                     cxiVattr_t *vattrP, struct ext_cred_t *credP, int, int);
+  IntRC (*gpfsGetattr)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       cxiVattr_t *vattrP, Boolean exactStat);
+  IntRC (*gpfsAccess)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                      int mode, int who, struct ext_cred_t *credP);
+  IntRC (*gpfsReaddir)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       void *fillDirArgP, cxiFillDir_t fillDirP,
+                       offset_t *offsetP, cxiContext_t opcontext,
+                       struct KernelOperation *kopP);
+  IntRC (*gpfsReadlink)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                        struct cxiUio_t* uioP);
+  IntRC (*gpfsCreate)(struct gpfsVfsData_t *privVfsP, cxiNode_t *dcnP,
+                      void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP, int gen,
+                      int flags, void *dentryP, caddr_t nameP, cxiMode_t mode,
+                      cxiMode_t umask, caddr_t *infoPP, struct ext_cred_t *credP);
+  IntRC (*gpfsMknod)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnDirP,
+                     void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                     void *dentryP, caddr_t nameP, cxiMode_t mode, cxiMode_t umask,
+                     cxiDev_t dev, struct ext_cred_t *credP);
+  IntRC (*gpfsRele)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                    void *vP, cxiContext_t opContext);
+  IntRC (*gpfsLookup)(struct gpfsVfsData_t *privVfsP, void *dvP, cxiNode_t *dcnP,
+                      void *dentryP, char *nameP,
+                      void **vPP, cxiNode_t **cnPP, cxiIno_t *iNumP,
+                      cxiVattr_t *vattrP, cxiMode_t *modeP,
+                      struct ext_cred_t *credP, void **dentryPP);
+  IntRC (*gpfsFcntl)(void *vkopP,
+                     struct gpfsVfsData_t *privVfsP,
+                     void *vP,                  // struct vnode* or NULL
+                     void *advObjP,             // struct gnode* or struct file*
+                     void *flP,                 // NULL or struct file_lock*
+                     cxiNode_t *cnP,
+                     offset_t offset,
+                     eflock_t *lckdatP,
+                     int cmd,                   // F_SETLK, F_SETLKW, F_GETLK
+                     int(*retry_fcn)(),
+                     ulong *retry_idP,
+                     struct ext_cred_t *credP);
+  IntRC (*gpfsFcntlReset)(void *advObjP, cxiPid_t mmfsd);
+  IntRC (*gpfsUncache)(struct gpfsVfsData_t *privVfsP);
+  IntRC (*gpfsUnmount)(struct gpfsVfsData_t *privVfsP, Boolean forced);
+  void (*gpfsFinishUnmount)(struct gpfsVfsData_t *privVfsP);
+#ifdef NFS4_CLUSTER
+  IntRC (*gpfsFsLocations) (struct gpfsVfsData_t *privVfsP, char **bufP, int *buf_size);
+#endif
+  
+  IntRC (*gpfsGetAcl)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                      void *aclP, struct ext_cred_t *credP);
+  IntRC (*gpfsPutAcl)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, int flags,
+                      void *aclP, struct ext_cred_t *credP);
+  
+  IntRC (*gpfsGetNFS)(void *vP, struct MMFSVInfo **vinfoPP, int *flagsP);
+  IntRC (*gpfsReleaseNFS)(void *vP);
+  int (*gpfsReady)();
+  IntRC (*gpfsMmap)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP, void * vP,
+                    struct ext_cred_t *credP, void *koP, Boolean writeAccess,
+                    Boolean explicit_mmap,long long offset,long long length);
+#ifdef SMB_LOCKS
+  IntRC (*SMBOpenLockControl)(int command, int lockmode,
+                              int inode_n, struct MMFSVInfo * vinfoP,
+                              struct gpfsVfsData_t *privVfsP);
+  int (*SMBGetOplockState)(void *fileArgP);
+  int (*SMBGetOplockStateV)(struct MMFSVInfo * vinfoP);
+  IntRC (*gpfsSetSMBOplock)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                            struct MMFSVInfo *vinfoP, int accessWant,
+                            int oplockWant, void *breakArgP,
+                            int *oplockGrantedP, Boolean isAsync);
+  IntRC (*gpfsReserveShare)(void *, void *, struct gpfsVfsData_t *, int, int,
+                            cxiNode_t *cnP, ext_cred_t *credP);
+  IntRC (*gpfsReserveDelegation)(void *vp, void *infoP, 
+                                 struct gpfsVfsData_t *privVfsP, int oplockWant,
+                                 int, void *cb_token, void *cookie);
+#endif
+  IntRC (*gpfsDaemonToDie)(char  *srcFileName, UInt32 srcLineNumber,
+                           Int32 retCode, Int32 reasonCode, char  *dataStr,
+                           char  *failingExpr);
+  IntRC (*gpfsCleanup)();
+#ifdef UIDREMAP
+  int (*UIDremapOn)();
+#endif
+  void (*gpfsSwapdEnqueue)(cxiNode_t *cnP);
+#ifdef DMAPI
+  IntRC (*gpfsDmUnmountEvent)(Boolean preunmount, Boolean force,
+                              struct gpfsVfsData_t *privVfsP, cxiNode_t *rootCNP,
+                              Boolean *dmDoUnmountEventP, void **sgUidPP, 
+                              void **eventlistPP, void **sessLocPP, int vnoprc);
+#endif
+  IntRC (*gpfsNFSIget)(struct gpfsVfsData_t *privVfsP, struct cxiIGetArg_t *argP,
+                       UInt32 generation, void **vPP);
+  IntRC (*gpfsOpenNFS)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                       int flags, struct MMFSVInfo *vinfoP, struct ext_cred_t *credP);
+  void (*gpfsGrace)(int on_off);
+#ifdef P_NFS4
+  IntRC (*gpfsGetOpenState)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                            int nodeId, void *p, int len, struct ext_cred_t *credP);
+  IntRC (*gpfsLayoutRetrun)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                            void *p, int len);
+  IntRC (*gpfsGetDeviceInfo)(struct gpfsVfsData_t *privVfsP, void *p);
+  IntRC (*gpfsGetLayout)(struct gpfsVfsData_t *privVfsP, cxiNode_t *cnP,
+                         void *buf, struct ext_cred_t *credP);
+  IntRC (*gpfsGetDeviceList)(struct gpfsVfsData_t *privVfsP, void *buf);
+  int (*gpfsGetMyDevID)(struct gpfsVfsData_t *privVfsP);
+  void (*gpfsGetVerifier)(struct gpfsVfsData_t *privVfsP, UInt32 *p);
+#endif
+#ifdef GPFS_QUOTACTL
+  IntRC (*gpfsQuotactl)(struct gpfsVfsData_t *privVfsP, 
+                        int cmd, int qid, void *bufferP, 
+                        struct ext_cred_t *credP);
+#endif /* GPFS_QUOTACTL */
+};
+extern struct gpfs_operations gpfs_ops;
+
+#endif  /* _KERNEL */
+
+#endif  /* _h_cxi2gpfs */
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiAclUser.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiAclUser.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiAclUser.h	(revision 16)
@@ -0,0 +1,534 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+#ifndef _h_cxiAclUser
+#define _h_cxiAclUser
+/* @(#)02       1.21  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiAclUser.h, mmfs, avs_rgpfs24, rgpfs240610b 10/10/05 15:44:03 */
+/****************************************************************************
+ *
+ * Acl User data
+ *
+ * Contains Tiger Shark Access Control List definitions.
+ * Some of the definitions in this file are exportable data items,
+ * if POSIX compliance is claimed.
+ *
+ ***************************************************************************/
+
+#include <cxiCred.h>
+
+/* An ACL entry's permission set is defined as a set of 8 bits.
+   Bits seven and eight are currently unused.
+   Bits six, five, and four are delete, insert, and control access.
+   Bits three, two, and one are read, write, and execute/search access.
+   If any of these bits are set, the corresponding access is granted.
+   Otherwise, access is denied.
+   Note: This data type is non-exportable data. */
+typedef unsigned char acl_permset_t;
+
+/* This data type is used to distinguish different types of ACLs.
+   Note: This data type is exportable data. */
+typedef unsigned char  internal_acl_type_t;
+#define ACL_TYPE_ACCESS            1
+#define ACL_TYPE_DEFAULT           2
+
+#ifdef NFS4_ACL_TEST
+// For testing NFS4 ACLS only
+#define ACL_TYPE_NFS4_ACL_TEST   250
+#define ACL_TYPE_NFS4_ACL_TEST_SIZE 14
+#endif /* NFS4_ACL_TEST */
+
+// The following are for internal use only
+#define ACL_TYPE_NFS4            251 /* an NFSv4 ACL */
+#define ACL_TYPE_ACCESS_DELETE   252
+#define ACL_TYPE_DEFAULT_DELETE  253
+#define EXTENDED_ACCESS_ONLY     254
+#define INTERNAL_FORMAT          255
+
+/* acl_permset_t bits
+ */
+#define ACL_PERM_EXECUTE  001
+#define ACL_PERM_WRITE    002
+#define ACL_PERM_READ     004
+#define ACL_PERM_CONTROL  010
+#define ACL_PERM_INSERT   020   /* Version 2 ACL permission only     */
+#define ACL_PERM_DELETE   040   /* Version 2 ACL permission only     */
+
+#define ACL_PERM_LOOKUP(credP) ACL_PERM_EXECUTE
+#define ACL_PERM_MASK     077   /* Mask includes all permissions     */
+
+#define ACL_PERM_UMODE    007   /* Mask includes only UNIX mode bits */
+
+/* VNOP extended access modes that can be checked (gpfs_v_access()).
+ */
+#define C_ACC   ACL_PERM_CONTROL
+#define I_ACC   ACL_PERM_INSERT
+#define D_ACC   ACL_PERM_DELETE
+
+/* An ACL entry's tag type is defined as a one byte value.
+   It is used to distinguish different types of ACL entries.
+   Note: This data type is exportable data. */
+typedef unsigned char  acl_tag_t;
+#define ACL_USER_OBJ        1   /* aceShort ACL entry */
+#define ACL_GROUP_OBJ       2   /* aceShort ACL entry */
+#define ACL_OTHER           3   /* aceShort ACL entry */
+#define ACL_MASK            4   /* aceShort ACL entry */
+#define ACL_USER            5   /* aceShort ACL entry */
+#define ACL_GROUP           6   /* aceShort ACL entry */
+#define ACL_FOREIGN_OTHER   7   /* Version 2 ACL entry type (use aceLong)  */
+#define ACL_ANY_OTHER       8   /* Version 2 ACL entry type (use aceShort) */
+#define ACL_FOREIGN_USER    9   /* Version 2 ACL entry type (use aceLong)  */
+#define ACL_FOREIGN_GROUP  10   /* Version 2 ACL entry type (use aceLong)  */
+#define ACL_UDEFINED_TAG  255
+
+struct acenodce
+ {
+  char        aceComments[1];  /* Short ACL entry                  */
+ };
+struct acedce
+ {
+  ext_id_t    aceRealm;        /* DCE cell specification           */
+  char        aceComments[1];  /* Version 2 ACL foreign ACL entry  */
+ };
+
+/* An ACL entry consists of a fixed part - ACL entry length, permission set,
+   entry tag type, entry qualifier (uid or gid), and followed by an optional
+   character string.
+   Note: This data type is non-exportable data. */
+typedef struct
+{
+  UInt16          aceLength;
+  acl_permset_t   acePermissions;
+  acl_tag_t       aceTagType;
+  cxiUid_t        aceQualifier;
+  union
+  {
+    struct acenodce  aceShort;
+    struct acedce aceLong;
+  };
+} acl_entry_t;
+
+#define SHORT_ACE_SIZE PTR_TO_INT32(&(((acl_entry_t *) 0)->aceShort.aceComments[0]))
+#define LONG_ACE_SIZE  PTR_TO_INT32(&(((acl_entry_t *) 0)->aceLong.aceComments[0]))
+
+struct aclv1
+{
+  acl_entry_t   aclEntry[1];
+};
+
+struct aclv2
+{
+  UInt32    aclFlags;
+
+#define ACLV2_RESERVED_MASK   0xfe000000
+#define ACLV2_ACLEXTMODE_MASK 0x01ff0000
+#define ACLV2_UNUSED_MASK     0x0000ffff
+#define ACLV2_ACLEXTMODE_GET(flags) (((flags) & ACLV2_ACLEXTMODE_MASK) >> 16)
+#define ACLV2_ACLEXTMODE_PUT(flags, mode) \
+  (flags = ((flags) & ~ACLV2_ACLEXTMODE_MASK) | ((mode) << 16))
+
+  UInt16        aclOtherAceCnt;    // number of any_other & foreign_other
+  ext_id_t      defaultRealm;      // Default ACL cell
+  acl_entry_t   aclEntry[1];       // zero or more ACL entries
+};
+
+/* NFSv4 ACL structures:
+ * Internally, GPFS stores all ACLs in its "ACL" structure which includes a
+ * variable-length area where aclVersion-specific information is stored.
+ * For NFSv4 ACLs, this variable area contains a list of acl4_entry_t structures.
+ * The following types and defines are used in the acl4_entry_t structure.
+ */
+
+/* Allowing for the NFSv4 ACE to be variable length. */
+typedef UInt16 ace4_length_t; /* Length of an individual ACE */
+
+typedef UInt16 ace4_type_t; /* The type of mask in the ACE */
+/* See gpfs.h for defintions for this field.
+   The following are not yet supported but in code under ifdef */
+#define ACE4_TYPE_AUDIT 2
+#define ACE4_TYPE_ALARM 3
+
+typedef unsigned int ace4_flag_t;
+/* See gpfs.h for defintions for this field.
+   The following ACE FLAG values are not externalized. */
+#define ACE4_FLAG_NO_PROPAGATE    0x00000004
+#define ACE4_FLAG_SUCCESSFUL      0x00000010
+#define ACE4_FLAG_FAILED          0x00000020
+#define ACE4_FLAG_EXTERNAL        0x0000004B
+
+/* The following ACE IFLAG values are not externalized. */
+#define ACE4_IFLAG_EXCLUDE_FILES  0x40000000
+#define ACE4_IFLAG_EXCLUDE_DIRS   0x20000000
+#define ACE4_IFLAG_EXTERNAL       0x80000000
+
+
+/* Variations to permit/deny/audit/alarm. */
+typedef unsigned int ace4_mask_t; 
+/* See gpfs.h for defintions for this field. */
+
+/* NFSv4 "who" strings are translated by nfsd4 to locally-defined ids.
+ * These can be a uid, a gid (if ACE4_FLAG_GROUP_ID is specified), or one 
+ * of the "special identifiers" (if ACE4_IFLAG_SPECIAL_ID is specified).
+ */
+typedef cxiUid_t ace4_who_t;
+/* See gpfs.h for SPECIAL_ID defintions for this field.
+   The following ACE special who values are not supported (AIX does not
+   provide the required information in the cred. */
+#define ACE4_SPECIAL_INTERACTIVE        4
+#define ACE4_SPECIAL_NETWORK            5
+#define ACE4_SPECIAL_DIALUP             6
+#define ACE4_SPECIAL_BATCH              7
+#define ACE4_SPECIAL_ANONYMOUS          8
+#define ACE4_SPECIAL_AUTHENTICATED      9
+#define ACE4_SPECIAL_SERVICE           10
+
+/* ACEs can be chained together (for speed of processing reasons) by
+ * including the offset to the next ACE in the chain. */
+typedef Int32 ace4_link_t;
+
+
+
+#ifdef NFS4_ACL_DEBUG
+#define ACE4_IFLAG_USER_OBJ       0x10000000
+#define ACE4_IFLAG_GROUP_OBJ      0x08000000
+#define ACE4_IFLAG_OTHER          0x04000000
+#define ACE4_IFLAG_MASK           0x02000000
+#define ACE4_IFLAG_USER           0x01000000
+#define ACE4_IFLAG_GROUP          0x00800000
+#else
+#define ACE4_IFLAG_USER_OBJ       0x00000000
+#define ACE4_IFLAG_GROUP_OBJ      0x00000000
+#define ACE4_IFLAG_OTHER          0x00000000
+#define ACE4_IFLAG_MASK           0x00000000
+#define ACE4_IFLAG_USER           0x00000000
+#define ACE4_IFLAG_GROUP          0x00000000
+#endif /* NFS4_ACL_DEBUG */
+
+/* These are the supported iherit flags.  aceFlags can be OR'ed against
+ * this combination to see if any of the inherit flags are specified.
+ */
+#define ACE4_FLAG_INHERIT (ACE4_FLAG_FILE_INHERIT | ACE4_FLAG_DIR_INHERIT |\
+                           ACE4_FLAG_INHERIT_ONLY)
+
+#define ACE4_SUPPORTED_FLAGS (ACE4_FLAG_INHERIT | ACE4_FLAG_GROUP_ID |\
+                              ACE4_FLAG_SUCCESSFUL | ACE4_FLAG_FAILED)
+
+/* Other IFlags are internal-only */
+#ifdef NFS4_ACL_DEBUG
+#define ACE4_SUPPORTED_IFLAGS (ACE4_IFLAG_SPECIAL_ID | ACE4_IFLAG_EXCLUDE_FILES |\
+                               ACE4_IFLAG_EXCLUDE_DIRS | ACE4_IFLAG_USER_OBJ |\
+                               ACE4_IFLAG_GROUP_OBJ | ACE4_IFLAG_OTHER |\
+                               ACE4_IFLAG_MASK | ACE4_IFLAG_USER |\
+                               ACE4_IFLAG_GROUP)
+#else
+#define ACE4_SUPPORTED_IFLAGS (ACE4_IFLAG_SPECIAL_ID | ACE4_IFLAG_EXCLUDE_FILES |\
+                               ACE4_IFLAG_EXCLUDE_DIRS)
+#endif
+
+
+/* GPFS commonly used mask combinations */
+/* READ/WRITE of NAMED ATTRIBUTES are not covered yet */
+#define ACE4_POSIX_READ        (ACE4_MASK_READ)
+#define ACE4_POSIX_WRITE       (ACE4_MASK_WRITE | ACE4_MASK_APPEND)
+#define ACE4_POSIX_EXECUTE     (ACE4_MASK_EXECUTE)
+#define ACE4_POSIX_CONTROL     (ACE4_MASK_WRITE_ACL)
+#define ACE4_POSIX_READ_DIR    (ACE4_MASK_LIST_DIR)
+#define ACE4_POSIX_WRITE_DIR   (ACE4_MASK_ADD_FILE | ACE4_MASK_ADD_SUBDIR |\
+                                ACE4_MASK_DELETE_CHILD)
+#define ACE4_POSIX_EXECUTE_DIR (ACE4_MASK_SEARCH)
+#define ACE4_POSIX_CONTROL_DIR (ACE4_MASK_WRITE_ACL)
+#define ACE4_POSIX_OWNER       (ACE4_MASK_WRITE_ACL | ACE4_MASK_WRITE_ATTR)
+#define ACE4_POSIX_EVERYONE    (ACE4_MASK_READ_ACL | ACE4_MASK_SYNCHRONIZE)
+
+/* Some mask values are represented in posix by permissions on the parent. */
+#define ACE4_POSIX_PARENT      (ACE4_MASK_DELETE | ACE4_MASK_READ_ATTR)
+
+/* Convenience macros for testing the NFSv4 flags, masks, and special who values.
+ * Note that these macros are bilingual.  If a local-endian ACL is available, an
+ * ACEP can be provided.  Reading of an ACL directly from the disk buffer is also
+ * possible given the AclLocalEndian (ALE) object.  While most use of the ACL 
+ * (such as iaccess checks) is done via the ALE, user read/write of the ACL is
+ * done via the AclLocalEndian::exportAcl method with subsequent interpretation
+ * of the ACL then done using the byteSwapped ACL.
+ */
+
+#define USE_ALE ((acl4_entry_t *)NULL)    /* Dummy ACEP */
+
+#define getV4Who(ACEP,ALE)    (ACEP)? ((ACEP)->aceWho)   : ((ALE).aceWho())
+#define getV4Type(ACEP,ALE)   (ACEP)? ((ACEP)->aceType)  : ((ALE).aceType())
+#define getV4Flags(ACEP,ALE)  (ACEP)? ((ACEP)->aceFlags) : ((ALE).aceFlags())
+#define getV4IFlags(ACEP,ALE) (ACEP)? ((ACEP)->aceIFlags): ((ALE).aceIFlags())
+#define getV4Mask(ACEP,ALE)   (ACEP)? ((ACEP)->aceMask)  : ((ALE).aceMask())
+
+#define isV4Bit(WORD, BIT)      (0 != ((WORD) & (BIT)))
+#define isV4AllBits(WORD, BITS) (BITS == ((WORD) & (BITS)))
+
+#define isV4Type(ACEP, ALE, VALUE) ((getV4Type(ACEP, ALE)) == (VALUE))
+#define isV4Who(ACEP, ALE, VALUE)  ((getV4Who(ACEP, ALE)) == (VALUE))
+
+#define isV4Allow(ACEP,ALE)        isV4Type(ACEP, ALE, ACE4_TYPE_ALLOW)
+#define isV4Deny(ACEP,ALE)         isV4Type(ACEP, ALE, ACE4_TYPE_DENY)
+#define isV4Audit(ACEP,ALE)        isV4Type(ACEP, ALE, ACE4_TYPE_AUDIT)
+#define isV4Alarm(ACEP,ALE)        isV4Type(ACEP, ALE, ACE4_TYPE_ALARM)
+
+#define isV4FileInherit(ACEP,ALE)  isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_FILE_INHERIT)
+#define isV4DirInherit(ACEP,ALE)   isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_DIR_INHERIT)
+#define isV4NoPropagate(ACEP,ALE)  isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_NO_PROPAGATE)
+#define isV4InheritOnly(ACEP,ALE)  isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_INHERIT_ONLY)
+#define isV4AuditSuccess(ACEP,ALE) isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_SUCCESSFUL)
+#define isV4AuditFailure(ACEP,ALE) isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_FAILED)
+#define isV4GroupId(ACEP,ALE)      isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_GROUP_ID)
+#define isV4Inherit(ACEP,ALE)      isV4Bit(getV4Flags(ACEP,ALE),ACE4_FLAG_INHERIT)
+
+#define isV4SpecialId(ACEP,ALE)    isV4Bit(getV4IFlags(ACEP,ALE),ACE4_IFLAG_SPECIAL_ID)
+#define isV4FileApplicable(ACEP, ALE) \
+        (!isV4Bit(getV4IFlags(ACEP,ALE),ACE4_IFLAG_EXCLUDE_FILES))
+#define isV4DirApplicable(ACEP, ALE)  \
+        (!isV4Bit(getV4IFlags(ACEP,ALE),ACE4_IFLAG_EXCLUDE_DIRS))
+
+/* Inherit entries may have originally been identified as FILE_INHERIT or
+ * DIR_INHERIT.  When such an ACL becomes a default, the entries become
+ * applicable to the object in addition to being inherittable.  Such entries
+ * may then need to be marked as not being applicable for files or dirs.
+ * When returning such an ACL, non-applicable entries are removed (they are
+ * here only so there can be a single, common, default ACL).
+ *
+ * The ACE is applicable if
+ * 1) The object is a directory and the entry is either directly applicable
+ *    to directories, OR it is inherittable by files.
+ * 2) The object is a file and the entry is directly applicable to files AND
+ *    it is not an InheritOnly entry.
+ */
+
+#define isV4Applicable(ACEP, ALE, ISDIR) \
+        (( ISDIR && (isV4DirApplicable(ACEP,ALE) || isV4FileInherit(ACEP,ALE))) || \
+         (!ISDIR && (isV4FileApplicable(ACEP,ALE) && !isV4InheritOnly(ACEP,ALE))))
+
+#define isV4Read(ACEP,ALE)        isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_READ)
+#define isV4List(ACEP,ALE)        isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_LIST_DIR)
+#define isV4Write(ACEP,ALE)       isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE)
+#define isV4AddFile(ACEP,ALE)     isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_ADD_FILE)
+#define isV4Append(ACEP,ALE)      isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_APPEND)
+#define isV4AddSubdir(ACEP,ALE)   isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_ADD_SUBDIR)
+#define isV4ReadNamed(ACEP,ALE)   isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_READ_NAMED)
+#define isV4WriteNamed(ACEP,ALE)  isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE_NAMED)
+#define isV4Execute(ACEP,ALE)     isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_EXECUTE)
+#define isV4Search(ACEP,ALE)      isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_SEARCH)
+#define isV4DeleteChild(ACEP,ALE) isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_DELETE_CHILD)
+#define isV4ReadAttr(ACEP,ALE)    isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_READ_ATTR)
+#define isV4WriteAttr(ACEP,ALE)   isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE_ATTR)
+#define isV4Delete(ACEP,ALE)      isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_DELETE)
+#define isV4ReadAcl(ACEP,ALE)     isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_READ_ACL)
+#define isV4WriteAcl(ACEP,ALE)    isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE_ACL)
+#define isV4WriteOwner(ACEP,ALE)  isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_WRITE_OWNER)
+#define isV4Synchronize(ACEP,ALE) isV4Bit(getV4Mask(ACEP,ALE),ACE4_MASK_SYNCHRONIZE)
+
+#define isV4Owner(ACEP,ALE)       isV4Who(ACEP,ALE,ACE4_SPECIAL_OWNER)
+#define isV4Group(ACEP,ALE)       isV4Who(ACEP,ALE,ACE4_SPECIAL_GROUP)
+#define isV4Everyone(ACEP,ALE)    isV4Who(ACEP,ALE,ACE4_SPECIAL_EVERYONE)
+#define isV4Interactive(ACEP,ALE) isV4Who(ACEP,ALE,ACE4_SPECIAL_INTERACTIVE)
+#define isV4Network(ACEP,ALE)     isV4Who(ACEP,ALE,ACE4_SPECIAL_NETWORK)
+#define isV4Dialup(ACEP,ALE)      isV4Who(ACEP,ALE,ACE4_SPECIAL_DIALUP)
+#define isV4Batch(ACEP,ALE)       isV4Who(ACEP,ALE,ACE4_SPECIAL_BATCH)
+#define isV4Anonymous(ACEP,ALE)   isV4Who(ACEP,ALE,ACE4_SPECIAL_ANONYMOUS)
+#define isV4Authentic(ACEP,ALE)   isV4Who(ACEP,ALE,ACE4_SPECIAL_AUTHENTICATED)
+#define isV4Service(ACEP,ALE)     isV4Who(ACEP,ALE,ACE4_SPECIAL_SERVICE)
+
+/* Flag values for gpfs_getacl/NFSv4_getMode */
+#define GETACL_NFSV4          0x00000001
+#define GETACL_POSIX          0x00000002
+#define GETACL_NATIVE         0x00000004
+#define GETACL_OWNER_IN_GROUP 0x00000008
+#define GETACL_DONOT_BLD_ACL  0x00000010
+
+/* The non-opaque/external ACL struct should be used in the
+ * gpfs_getacl and gpfs_putacl calls.  While these are defined
+ * in gpfs.h along with the interfaces, we are reserving the
+ * bits here as well in this list of internal-only flags just
+ * to make sure they don't get reused.
+ */
+#define GETACL_STRUCT_RESERVED 0X00000020
+#define PUTACL_STRUCT_RESERVED 0X00000020
+
+typedef struct
+{
+  ace4_length_t   aceLength;
+  ace4_type_t     aceType;   /* allow, deny, audit, alarm */
+  ace4_flag_t     aceFlags;  /* V4 flags */
+  ace4_flag_t     aceIFlags; /* Internal (GPFS flags) */
+  ace4_mask_t     aceMask;   /* extended "mode" bits */
+  ace4_who_t      aceWho;    /* uid, gid, or special identifier */
+  ace4_link_t     aceNextAA; /* Next Audit or Alarm ACE */
+} acl4_entry_t;
+
+struct aclv4
+{
+  Int32         aceCount;          // Total number of ACEs
+  ace4_link_t   aaListOffset;      // Offset to first Audit/Alarm ACE
+  acl4_entry_t  aclEntry[1];       // zero or more ACL entries
+};
+
+
+/* An ACL consists of header information (length, type, etc.).
+   followed by at least three, but may be more, ACL entries.
+   The three required entries must be ACL_USER_OBJ, ACL_GROUP_OBJ,
+   and ACL_OTHER. The first four bytes of the ACL header must always
+   be the length of the entire ACL.
+   Note: This data type is non-exportable data. */
+typedef struct
+{
+  UInt32            aclLength;          // total length (hdr + acl entries)
+  UInt16            aclVersion;         // version number
+  internal_acl_type_t aclType;          // type of ACL: default or access
+ 
+  /* NT format ACLs (aclVersion == ACL_NT_VERSION) are opaque strings
+   * starting here (&aclBuf[0]).  The version-unique portions of the other
+   * ACL versions are at the end of this struct (v1 and v2 below).
+   */
+  union
+  {
+    char            aclBuf[1];          // Opaque NT ACL used by NSS
+    acl_permset_t   aclMask;            // ACL_MASK entry
+    acl_permset_t   aclGroupObj;        // ACL_GROUP_OBJ entry
+  };
+  cxiMode_t         aclMode;            // file mode (at acl create time)
+  UInt32            aclUserAceCnt;      // number of ACL_USER entries
+  UInt32            aclGroupAceCnt;     // number of ACL_GROUP entries
+  UInt32            aclFlags;
+
+#define ACL_NEW_MODE_ATTR_BIT 0x00000001 // if set, replace the current mode
+#define ACL_GROUP_CONTROL_BIT 0x00000002 // ACL_GROUP_OBJ control bit
+#define ACL_OTHER_CONTROL_BIT 0x00000004 // ACL_OTHER     control bit
+#define ACL_MASK_CONTROL_BIT  0X00000008 // ACL_MASK      control bit
+#define RESERVED_MASK         0xfffffff0 // guaranteed to be zero
+
+  union
+  {
+    struct aclv1  v1;
+    struct aclv2  v2;
+#ifdef NFS4_ACL
+    struct aclv4  v4;
+#endif /* NFS4_ACL */
+  };
+} ACL;
+
+/* The following is used as a pointer to an ACL in working storage.
+   Note: This data type is non-exportable data. */
+typedef ACL *acl_t;
+
+#define ACL_HEADER_SIZE_V1   PTR_TO_INT32(&(((acl_t) 0)->v1.aclEntry[0]))
+#define ACL_HEADER_SIZE_V2   PTR_TO_INT32(&(((acl_t) 0)->v2.aclEntry[0]))
+
+#ifdef NFS4_ACL
+/* Offset to gpfs_ace4_t structs in the NFSv4 ACL we externalize */
+#define ACL_EXT_HEADER_SIZE_V4 PTR_TO_INT32(&(((acl_t) 0)->aclBuf[0])) 
+
+/* Offset to acl4_entry_t structs in our internal ACL format. */
+#define ACL_HEADER_SIZE_V4 PTR_TO_INT32(&(((acl_t) 0)->v4.aclEntry[0]))
+
+/* Next ACE in an NFSv4 ACL (internal, local-endian format only) */
+#define ACL4_ENTRY_NEXT(ACEP) (acl4_entry_t *)((caddr_t)ACEP + ACEP->aceLength) 
+
+#define ACL_ENTRY_START(ACLP,VER) \
+          (acl_entry_t *)((VER == GPFS_ACL_VERSION_NFS4) ? \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V4 :  \
+                         ((VER == ACL_FIRST_VERSION) ? \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V1 :  \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V2));
+#else
+#define ACL_ENTRY_START(ACLP,VER) \
+          (acl_entry_t *)((VER == ACL_FIRST_VERSION) ? \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V1 :  \
+            (caddr_t)ACLP + ACL_HEADER_SIZE_V2);
+#endif /* NFS4_ACL */
+
+/* Upper bound on the size of a base acl (header + 4 entries for base
+   permissions and mask).  The correct value would be
+     ACL_HEADER_SIZE + 4*SHORT_ACE_SIZE
+   However, ACL_BASE_SIZE_MAX needs to be a compile-time constant, because
+   it is used to declare a char array on the stack as temporary buffer for
+   assembling a base acl.  Unfortunately, the compiler does not accept the
+   offset calculations in the ACL_HEADER_SIZE and SHORT_ACE_SIZE macros as
+   constants.  The definition below slightly over-estimates the base acl size,
+   but is sufficient for our purpose, since we only need an upper bound. */
+#define ACL_BASE_SIZE_MAX (sizeof(ACL) + 3*sizeof(acl_entry_t))
+
+/* acl format versions */
+#define ACL_FIRST_VERSION     1
+#define ACL_SECOND_VERSION    2
+
+#ifdef NFS4_ACL
+#define ACL_VERSION           4
+#else
+#define ACL_VERSION           2
+#endif /* NFS4_ACL */
+
+#ifdef NFS4_ACL
+#define GPFS_ACL_VERSION_NFS4 4
+#endif /* NFS4_ACL */
+
+#define DEFAULT_ACLMASK_V2    077       // rwxcid
+#define DEFAULT_ACLMASK_V1    017       // rwxc
+
+#define ACLMASK(_VERSION) \
+          (((_VERSION) == ACL_FIRST_VERSION) ? DEFAULT_ACLMASK_V1 :  \
+                                               DEFAULT_ACLMASK_V2);
+#define MASK_SET           0x80
+
+/* Mapping for the index tables used by the verifyTSAcl routine.
+   Note: This data type is non-exportable data. */
+typedef struct
+{
+  acl_entry_t     *aceP;
+  cxiUid_t         key;
+  ext_id_t         extKey; /* cell */
+  caddr_t          nxt;
+} aceIndxTable_t;
+
+/* Macro to test whether the ACL_MASK is explicitly set */
+#define ACLMASK_SET(_aclMask) (((_aclMask) & MASK_SET) != 0)
+
+#define REM_STAT_REMOTE_FS 1
+
+typedef struct
+{
+  UInt32 flags;
+  UInt32 sgUIDHigh;
+  UInt32 sgUIDLow;
+  UInt32 inum;
+  UInt32 mode;
+  UInt32 uid;
+  UInt32 gid;
+} rem_stat_t;
+  
+
+#endif /* _h_cxiAclUser */
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiAtomic-plat.h	(revision 16)
@@ -0,0 +1,603 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)98       1.20  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiAtomic-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 6/24/05 15:57:45 */
+/*
+ * Platform specific synchronization/atomic operations for Linux
+ *
+ * Note that these should not be directly invoked; instead use the
+ * ATOMIC_XXX and ATOMIC_XXXLP macros from <cxiAtomic.h>.
+ *
+ * Definitions for baseline atomic operations (long/pointer variants)
+ *     comp_and_swap(lp)
+ *
+ * Definitions for atomic operations
+ *     fetch_and_add(lp)
+ *     fetch_and_and(lp)
+ *     fetch_and_or(lp)
+ *     compare_and_swap(lp)
+ *     _check_lock
+ *
+ */
+
+#ifndef _h_cxiAtomic_plat
+#define _h_cxiAtomic_plat
+
+#ifndef _h_cxiAtomic
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* NOTE: need to further split this file into architecture specific headers. */
+
+#include <cxiTypes.h>
+
+
+/* Memory fencing operations for various architectures */
+
+#if defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_PPC64)
+#ifndef CONFIG_UP
+#define IMPORT_FENCE __asm__ __volatile__ ("isync" : : )
+#define EXPORT_FENCE __asm__ __volatile__ ("sync" : : )
+#else
+#define IMPORT_FENCE ((void)0)
+#define EXPORT_FENCE ((void)0)
+#endif
+/* A complete fence is defined as insuring that the most recently preceding
+   store is visible to all processors before any subsequent access completes
+   in storage.  For PowerPC MP, the implementations of COMPLETE_FENCE and
+   EXPORT_FENCE are the same. */
+#define COMPLETE_FENCE EXPORT_FENCE
+#endif /* GPFS_ARCH_POWER */
+
+#ifdef GPFS_ARCH_I386
+/* Memory in the I386 architecture is always consistent from all processors,
+   so explicit fence instructions are not needed. */
+#define IMPORT_FENCE ((void)0)
+#define EXPORT_FENCE ((void)0)
+#define COMPLETE_FENCE ((void)0)
+#endif  /* GPFS_ARCH_I386 */
+
+#ifdef GPFS_ARCH_IA64
+/* Only full/complete memory fence available */
+#define IMPORT_FENCE __asm__ __volatile__ ("mf" : : )
+#define EXPORT_FENCE __asm__ __volatile__ ("mf" : : )
+#define COMPLETE_FENCE __asm__ __volatile__ ("mf" : : )
+#endif
+
+#ifdef GPFS_ARCH_X86_64
+#define IMPORT_FENCE __asm__ __volatile__ ("sfence":::"memory")
+#define EXPORT_FENCE __asm__ __volatile__ ("mfence":::"memory")
+#define COMPLETE_FENCE EXPORT_FENCE
+#endif
+
+
+/* Baseline atomic operation for i386: comp_and_swap */
+
+#if defined(GPFS_ARCH_I386)
+
+/* Compare the contents of word_addr with the contents of old_val_addr.
+   If the values are equal, store new_val in word_addr and return 1.
+   Otherwise, set old_val_addr to the current value of word_addr and
+   return 0. See ppc64 comp_and_swaplp for details on exception table
+   code . */
+static inline int
+comp_and_swap(volatile int *word_addr, int *old_val_addr, int new_val)
+{
+   unsigned char result;
+
+   __asm__  __volatile__(
+            "1: lock; cmpxchg %3,%0           \n\
+             2: setz %2                       \n\
+             .section .fixup, \"ax\"          \n\
+             3: jmp 2b                        \n\
+             .previous                        \n\
+             .section __ex_table, \"a\"       \n\
+             .align 4                         \n\
+             .long 1b, 3b                     \n\
+             .previous"
+
+	    :"=m" (*word_addr),
+	     "=a" (*old_val_addr),
+	     "=&b" (result)
+
+	    :"r" (new_val),
+	     "a" (*old_val_addr)
+
+	    :"cc",
+	     "memory");
+    return result;
+}
+
+#endif /* GPFS_ARCH_I386 */
+
+/* Baseline atomic operations for x86_64: comp_and_swap and comp_and_swaplp .
+   See ppc64 comp_and_swaplp for details on exception table code. */
+
+#ifdef GPFS_ARCH_X86_64
+
+/* Compare the contents of word_addr with the contents of old_val_addr.
+   If the values are equal, store new_val in word_addr and return 1.
+   Otherwise, set old_val_addr to the current value of word_addr and
+   return 0. See ppc64 comp_and_swaplp for details on exception table
+   code . */
+static inline int
+comp_and_swap(volatile int *word_addr, int *old_val_addr, int new_val)
+{
+   unsigned char result;
+
+   __asm__  __volatile__(
+            "lock; cmpxchg %3,%0           \n\
+             setz %2"
+
+	    :"=m" (*word_addr),
+	     "=a" (*old_val_addr),
+	     "=&b" (result)
+
+	    :"r" (new_val),
+	     "a" (*old_val_addr)
+
+	    :"cc",
+	     "memory");
+    return result;
+}
+
+static inline int
+comp_and_swaplp(volatile long *word_addr, long *old_val_addr, long new_val)
+{
+   char result;
+
+   __asm__  __volatile__(
+            "1: lock; cmpxchgq %3,%0          \n\
+             2: setz %2                       \n\
+             .section .fixup, \"ax\"          \n\
+             3: jmp 2b                        \n\
+             .previous                        \n\
+             .section __ex_table, \"a\"       \n\
+             .align 8                         \n\
+             .quad 1b, 3b                     \n\
+             .previous"
+
+            :"=m" (*word_addr),
+             "=a" (*old_val_addr),
+             "=q" (result)
+
+            :"r" (new_val),
+             "a" (*old_val_addr)
+
+            :"cc",
+             "memory");
+    return result;
+}
+#endif /* GPFS_ARCH_X86_64 */
+
+
+/* Baseline atomic operation for power: comp_and_swap */
+
+#if defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_PPC64)
+
+/* Compare the contents of word_addr with the contents of old_val_addr.
+   If the values are equal, store new_val in word_addr and return 1.
+   Otherwise, set old_val_addr to the current value of word_addr and
+   return 0. */
+static inline int
+comp_and_swap(volatile int *word_addr, int *old_val_addr, int new_val)
+{
+        int result;
+
+        __asm__ __volatile__(
+"1:     lwarx   %0,0,%4        # result = *word_addr                    \n\
+        cmplw   cr0,%0,%3      # compare result to *old_val_addr        \n\
+        bne-    2f             # skip to 2: if mismatch                 \n\
+        stwcx.  %2,0,%4        # *word_addr = new_val                   \n\
+        bne-    1b             # repeat if reservation lost             \n\
+        li      %0,1           # result = 1                             \n\
+        b       3f                                                      \n\
+2:      stw     %0,%1          # *old_val_addr = result                 \n\
+        li      %0,0           # result = 0                             \n\
+3:"
+        // output values
+        : "=&r" (result),       // %0 return value + temp variable
+          "=m" (*old_val_addr)  // %1 changed if mismatch
+
+        // input values
+        : "r" (new_val),        // %2
+          "r" (*old_val_addr),  // %3
+          "r" (word_addr)       // %4
+        : "cr0", "memory");     // "memory" because we modify *word_addr
+
+	return result;
+}
+#endif /* GPFS_ARCH_POWER */
+
+#ifdef GPFS_ARCH_PPC64
+/* This is a regular comp_and_swap function, but with an added twist.
+ * In SLES9 SP1 ppc64, a patch has been added that modifies the page
+ * fault handler to search the exceptions table _before_ an actual 
+ * exception happens, in the course of handling a minor page fault
+ * triggered by a store to a userspace address.  If the offending 
+ * instruction is not found in the module exception table, the page 
+ * fault will result in an Oops, even though the dereferenced address 
+ * is actually OK, and would have resulted in a successful store had
+ * it been given a chance to proceed.  This problems occurs in 
+ * internalAcquire, where we have to do some atomic store operations on
+ * the lockWord that may be located in the userspace.  To work around
+ * this check, we add exception handling code to all ppc64 atomic ops.
+ * This exception code does absolutely nothing (it transfers control
+ * back to the instruction following the one that triggered the fault),
+ * but that doesn't really matter, as we do not expect the exception
+ * handling code to ever be invoked, we only want search_exception_tables()
+ * not to return false.  If a bad address is passed to internalAcquire,
+ * we'll get an Oops or assert before getting a chance to run any atomic
+ * ops.  See LTC bugzilla 14533 for more details. */
+static inline int
+comp_and_swaplp(volatile long *word_addr, long *old_val_addr, long new_val)
+{ 
+        long result;
+
+        __asm__ __volatile__(
+"1:     ldarx   %0,0,%4        # result = *word_addr                    \n\
+8:      cmpld   cr0,%0,%3      # compare result to *old_val_addr        \n\
+        bne-    2f             # skip to 2: if mismatch                 \n\
+4:      stdcx.  %2,0,%4        # *word_addr = new_val                   \n\
+        .section .fixup, \"ax\"                                         \n\
+5:      b       6f                                                      \n\
+7:      b       8b                                                      \n\
+        .previous                                                       \n\
+        .section __ex_table, \"a\"                                      \n\
+        .align 3                                                        \n\
+        .llong 4b, 5b                                                   \n\
+        .llong 1b, 7b                                                   \n\
+        .previous                                                       \n\
+6:      bne-    1b             # repeat if reservation lost             \n\
+        li      %0,1           # result = 1                             \n\
+        b       3f                                                      \n\
+2:      std     %0,%1          # *old_val_addr = result                 \n\
+        li      %0,0           # result = 0                             \n\
+3:"
+        // output values
+        : "=&r" (result),       // %0 return value + temp variable
+          "=m" (*old_val_addr)  // %1 changed if mismatch 
+
+        // input values
+        : "r" (new_val),        // %2
+          "r" (*old_val_addr),  // %3
+          "r" (word_addr)       // %4
+        : "cr0", "memory");     // "memory" because we modify *word_addr
+
+        return (int)result;
+}
+#endif
+
+
+/* Baseline atomic operations for ia64: comp_and_swap and comp_and_swaplp */
+
+/* Found the HP IA64 ISA guide very useful here:
+   http://devresource.hp.com/devresource/Docs/Refs/IA64ISA/ */
+
+#ifdef GPFS_ARCH_IA64
+
+#define MASK_LOWER32 0x00000000FFFFFFFFULL
+
+/* Compare the contents of word_addr with the contents of old_val_addr.
+   If the values are equal, store new_val in word_addr and return 1.
+   Otherwise, set old_val_addr to the current value of word_addr and
+   return 0. */
+
+/* compare and swap 4-byte halfword */
+static inline int
+comp_and_swap(volatile int *word_addr, int *old_val_addr, int new_val)
+{
+  UInt64 old_val = ((UInt64)*old_val_addr) & MASK_LOWER32;
+  UInt64 ret_val;
+
+  /* Ensure mov-to-AR[CCV] in separate instruction group/bundle from cmpxchg
+     to handle RAW dependency */
+  __asm__ __volatile__ ("mov ar.ccv=%0\n\
+                         ;;"
+                         :
+                         : "rO"(old_val));
+  /* Use acquire consistancy sem with cmpxchg
+     (memory write visible to all subsequent data memory accesses) */
+  __asm__ __volatile__ ("cmpxchg4.acq %0=[%1],%2,ar.ccv"
+
+                        : "=r"(ret_val)
+
+                        : "r"(word_addr),
+                          "r"(new_val)
+
+                        : "memory");
+
+  if (ret_val == old_val)
+    return 1;
+  else
+  {
+    *old_val_addr = (int)ret_val;
+    return 0;
+  }
+}
+
+/* compare and swap natural 8-byte word */
+static inline int
+comp_and_swaplp(volatile long *word_addr, long *old_val_addr, long new_val)
+{
+  long ret;
+
+  /* Ensure mov-to-AR[CCV] in separate instruction group/bundle from cmpxchg
+     to handle RAW dependency */
+  __asm__ __volatile__ ("mov ar.ccv=%0\n\
+                        ;;"
+                        :
+                        : "rO"(*old_val_addr));
+
+  /* Use acquire consistancy sem with cmpxchg
+     (memory write visible to all subsequent data memory accesses) */
+  __asm__ __volatile__ ("cmpxchg8.acq %0=[%1],%2,ar.ccv"
+
+                        : "=r"(ret)
+
+                        : "r"(word_addr),
+                          "r"(new_val)
+
+                        : "memory");
+
+  if (ret == *old_val_addr)
+    return 1;
+  else
+  {
+    *old_val_addr = ret;
+    return 0;
+  }
+}
+
+#endif /* GPFS_ARCH_IA64 */
+
+
+/* fetch_and_XXX and fetch_and_XXXlp operations */
+
+/* With inlined functions we cannot use the standard trace statements, so
+   for the atomic operations the USE_LOCK_TRACE must be toggled on to
+   debug these operations (which fortunately shouldn't happen often). */
+#undef USE_LOCK_TRACE
+
+#ifdef USE_LOCK_TRACE
+#ifdef _KERNEL
+#define LOCK_TRACE printk
+#else
+#define LOCK_TRACE printf
+#endif /* _KERNEL */
+#else
+#define LOCK_TRACE(X1,X2,X3,X4,X5,X6)
+#endif /* USE_LOCK_TRACE */
+
+static inline int 
+fetch_and_add(atomic_p wd, int i)
+{
+  int ret, oldVal, newVal;
+  oldVal = cxiSafeGetInt(wd);
+
+  do
+  {
+    newVal = oldVal + i;
+    ret = comp_and_swap((volatile int *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_add: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+
+#ifdef __64BIT__
+static inline long
+fetch_and_addlp(atomic_l wd, long i)
+{
+  long oldVal, newVal;
+  int  ret;
+
+  oldVal = cxiSafeGetLong(wd);
+
+  do
+  {
+    newVal = oldVal + i;
+    ret = comp_and_swaplp((volatile long *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_addlp: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+#endif /* __64BIT__ */
+
+static inline int 
+fetch_and_and(atomic_p wd, uint mask)
+{
+  int ret, oldVal,newVal;
+  oldVal = cxiSafeGetInt(wd);
+
+  do
+  {
+    newVal = oldVal & mask;
+    ret = comp_and_swap((volatile int *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_and: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+
+#ifdef __64BIT__
+static inline long
+fetch_and_andlp(atomic_l wd, ulong  mask)
+{
+  long oldVal,newVal;
+  int ret;
+  oldVal = cxiSafeGetLong(wd);
+
+  do
+  {
+    newVal = oldVal & mask;
+    ret = comp_and_swaplp((volatile long *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_andlp: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+#endif /* __64BIT__ */
+
+static inline int 
+fetch_and_or(atomic_p wd, uint mask)
+{
+  int ret, oldVal,newVal;
+  oldVal = cxiSafeGetInt(wd);
+
+  do
+  {
+    newVal = oldVal | mask;
+    ret = comp_and_swap((volatile int *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_or: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+
+#ifdef __64BIT__
+static inline long
+fetch_and_orlp(atomic_l wd, ulong  mask)
+{
+  long oldVal,newVal;
+  int ret;
+  oldVal = cxiSafeGetLong(wd);
+
+  do
+  {
+    newVal = oldVal | mask;
+    ret = comp_and_swaplp((volatile long *)wd, &oldVal, newVal);
+
+    LOCK_TRACE(
+           "fetch_and_orlp: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+           wd, *wd, oldVal, newVal, ret);
+
+  } while (ret == 0);
+
+  return oldVal;
+}
+#endif /* __64BIT__ */
+
+static inline Boolean 
+compare_and_swap(atomic_p wd, int *oldVal, int newVal)
+{
+  Boolean ret;
+
+  ret = comp_and_swap((volatile int *)wd, oldVal, newVal);
+
+  LOCK_TRACE(
+         "compare_and_swap out: wd 0x%lX *wd 0x%lX old 0x%lX "
+         "new 0x%lX ret %d\n", wd, *wd, *oldVal, newVal, ret);
+  return ret;
+}
+
+#ifdef __64BIT__
+static inline Boolean
+compare_and_swaplp(atomic_l wd, long *oldVal, long newVal)
+{
+  Boolean ret;
+
+  ret = comp_and_swaplp((volatile long *)wd, oldVal, newVal);
+
+  LOCK_TRACE(
+         "compare_and_swaplp out: wd 0x%lX *wd 0x%lX old 0x%lX "
+         "new 0x%lX ret %d\n", wd, *wd, *oldVal, newVal, ret);
+  return ret;
+}
+#endif /* __64BIT__ */
+
+static inline Boolean
+_check_lock(atomic_p wd, int oldVal, int newVal)
+{
+    int old_val_addr = oldVal;
+    Boolean  ret;
+
+    ret = comp_and_swap((volatile int *) wd, &old_val_addr, newVal);
+
+    LOCK_TRACE(
+         "_check_lock: wd 0x%X *wd 0x%X old 0x%X new 0x%X ret %d\n",
+          wd, *wd, old_val_addr, newVal, ret);
+
+    if (ret)
+    {
+      IMPORT_FENCE;
+      return 0;
+    }
+    else
+      return 1;
+}
+
+#ifdef __64BIT__
+static inline Boolean
+_check_locklp(atomic_l wd, long oldVal, long newVal)
+{
+    long old_val_addr = oldVal;
+    Boolean  ret;
+
+    ret = comp_and_swaplp((volatile long *) wd, &old_val_addr, newVal);
+
+    LOCK_TRACE(
+         "_check_locklp: wd 0x%lX *wd 0x%lX old 0x%lX new 0x%lX ret %d\n",
+          wd, *wd, old_val_addr, newVal, ret);
+
+    if (ret)
+    {
+      IMPORT_FENCE;
+      return 0;
+    }
+    else
+      return 1;
+}
+#endif /* __64BIT__ */
+
+#endif /* _h_cxiAtomic_plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiAtomic.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiAtomic.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiAtomic.h	(revision 16)
@@ -0,0 +1,104 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)97	1.6  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiAtomic.h, mmfs, avs_rgpfs24, rgpfs240610b 7/28/05 22:51:53 */
+
+/*
+ * Support for platform independant SMP synchronization operations
+ *
+ */
+
+#ifndef _h_cxiAtomic
+#define _h_cxiAtomic
+
+/* Include platform specific interfaces */
+#include <cxiAtomic-plat.h>
+
+/* Platform independant interface */
+
+/* 32-bit invariant atomic operations */
+#define ATOMIC_ADD(_v,_i) fetch_and_add((atomic_p)(_v), (int)(_i))
+#define ATOMIC_AND(_v,_i) fetch_and_and((atomic_p)(_v), (uint)(_i))
+#define ATOMIC_OR(_v,_i) fetch_and_or((atomic_p)(_v), (uint)(_i))
+#define ATOMIC_SWAP(_v, _p, _i) compare_and_swap((atomic_p)(_v), (int *)(_p), (int)(_i))
+#ifdef _KERNEL
+#define ATOMIC_SET(_v,_i) test_and_set((atomic_p)(_v), (int)(_i))
+#endif /* _KERNEL */
+
+/* 32-bit invariant macros with "no addresses" required for args */
+#define ATOMIC_ADD_NA(_v, _i) fetch_and_add((atomic_p)&(_v), (int)(_i))
+
+/* Variable size atomic operations (32/64-bit) */
+/* These should be used with longs and pointers, ie, the natural word width */
+#ifdef __64BIT__
+#define ATOMIC_ADDLP(_v,_i) fetch_and_addlp((atomic_l)(_v), (long)(_i))
+#define ATOMIC_ANDLP(_v,_i) fetch_and_andlp((atomic_l)(_v), (ulong)(_i))
+#define ATOMIC_ORLP(_v,_i) fetch_and_orlp((atomic_l)(_v), (ulong)(_i))
+#define ATOMIC_SWAPLP(_v, _p, _i) compare_and_swaplp((atomic_l)(_v), (long *)(_p), (long)(_i))
+#ifdef _KERNEL
+#define ATOMIC_SETLP(_v,_i) test_and_setlp((atomic_l)(_v), (long)(_i))
+#endif /* _KERNEL */
+#else /* _ILP32 */
+#define ATOMIC_ADDLP(_v,_i) ATOMIC_ADD(_v, _i)
+#define ATOMIC_ANDLP(_v,_i) ATOMIC_AND(_v, _i)
+#define ATOMIC_ORLP(_v,_i) ATOMIC_OR(_v, _i)
+#define ATOMIC_SWAPLP(_v, _p, _i) ATOMIC_SWAP(_v, _p, _i)
+#ifdef _KERNEL
+#define ATOMIC_SETLP(_v,_i) ATOMIC_SET(_v, _i)
+#endif
+#endif /* __64BIT__ */
+
+/* 64-bit invariant atomic operations */
+#ifdef __64BIT__
+#define ATOMIC_ADD64(_v,_i) ATOMIC_ADDLP(_v, _i)
+#define ATOMIC_AND64(_v,_i) ATOMIC_ANDLP(_v,_i)
+#define ATOMIC_OR64(_v,_i) ATOMIC_ORLP(_v,_i)
+#define ATOMIC_SWAP64(_v, _p, _i) ATOMIC_SWAPLP(_v, _p, _i)
+#ifdef _KERNEL
+#define ATOMIC_SET64(_v,_i) ATOMIC_SETLP(_v, _i) 
+#endif /* _KERNEL */
+#endif /* __64BIT__ */
+
+/* Mutex lockword operations */
+#ifdef __64BIT__
+#define GPFS_CHECK_LOCK(_v, _i1, _i2) _check_locklp((atomic_l)(_v), (long)(_i1), (long)(_i2))
+#define LOCKWORD_SWAP  ATOMIC_SWAP64
+#define LOCKWORD_OR    ATOMIC_OR64
+#define LOCKWORD_AND   ATOMIC_AND64
+#else
+#define GPFS_CHECK_LOCK(_v, _i1, _i2) _check_lock((atomic_p)(_v), (int)(_i1), (int)(_i2))
+#define LOCKWORD_SWAP  ATOMIC_SWAP
+#define LOCKWORD_OR    ATOMIC_OR
+#define LOCKWORD_AND   ATOMIC_AND
+#endif /* 64b */
+
+#endif /* _h_cxiAtomic */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiCred-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiCred-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiCred-plat.h	(revision 16)
@@ -0,0 +1,54 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)87       1.5  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiCred-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 9/3/03 15:23:59 */
+#ifndef _h_CXICRED_PLAT
+#define _h_CXICRED_PLAT
+
+#ifndef _h_CXICRED
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Internal extended credential. */
+struct ext_cred_t
+{
+  cxiUid_t principal;          /* user id */
+  cxiGid_t group;              /* primary group id */
+
+  UInt16   num_groups;         /* number secondary groups for this user */
+#define ECRED_NGROUPS 32
+  gid_t eGroups[ECRED_NGROUPS];/* array of secondary groups */
+};
+
+typedef struct ext_cred_t ext_cred_t;
+
+#endif /* _h_CXICRED_PLAT */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiCred.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiCred.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiCred.h	(revision 16)
@@ -0,0 +1,115 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)38       1.10  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiCred.h, mmfs, avs_rgpfs24, rgpfs240610b 11/10/03 08:36:38 */
+
+#ifndef _h_CXICRED
+#define _h_CXICRED
+
+#include <cxiSystem.h>
+#include <cxiTypes.h>
+
+/* Structures dealing with ext_id_t and ext_cred_t
+ * Equivalent to DCE uuid_t
+ */
+struct ext_id_t
+{
+  unsigned int            time_low;
+  unsigned short          time_mid;
+  unsigned short          time_hi_and_version;
+  unsigned char           clock_seq_hi_and_reserved;
+  unsigned char           clock_seq_low;
+  unsigned char           node[6];
+};
+typedef struct ext_id_t ext_id_t;
+
+
+/* Include platform-specific credential definitions */
+#include <cxiCred-plat.h>
+
+
+/* Compare a UUID to our (shortened) principal identifier
+ */
+#define PRINCIPAL_ID_COMPARE(idBlob1P, idBlob2P) \
+  (cxiMemcmp((char *)(idBlob1P), (char *)(idBlob2P), sizeof(cxiGid_t)))
+
+/* Compare as full length (128 bit) identifiers
+ */
+#define EXT_ID_COMPARE(idBlob1P, idBlob2P) \
+  (cxiMemcmp((char *)(idBlob1P), (char *)(idBlob2P), sizeof(ext_id_t)))
+
+
+/* We often compare the realm against a NIL identifier since
+ * the local realm has the well known identity of NIL.  We need
+ * a well known identity since a file may be accessed from a DFS
+ * client and a GPFS node.  The DFS server node can correctly
+ * tell us what a local realm identity is, but a normal GPFS
+ * node has no idea how to interpret a 128 bit DCE realm.  Hence
+ * we always store local realms as the well known NIL identity.
+ */
+#define NIL_EXT_ID(_IDP) \
+  ((_IDP)->time_low == 0 && \
+   (_IDP)->time_mid == 0 && \
+   (_IDP)->time_hi_and_version == 0 && \
+   (_IDP)->clock_seq_hi_and_reserved == 0 && \
+   (_IDP)->clock_seq_low == 0 && \
+   (_IDP)->node[0] == 0 && \
+   (_IDP)->node[1] == 0 && \
+   (_IDP)->node[2] == 0 && \
+   (_IDP)->node[3] == 0 && \
+   (_IDP)->node[4] == 0 && \
+   (_IDP)->node[5] == 0)
+
+/* Maximum character buffer size needed to represent a
+ * extended identifier as a string.  (See EXT_ID_SPRINTF)
+ */
+#define EXT_ID_STRING_SIZE 37
+
+#define EXT_ID_SPRINTF(_STRINGP, _IDP)                        \
+  sprintf((_STRINGP),                                         \
+          "%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X", \
+          (unsigned int)(_IDP)->time_low,                     \
+          (unsigned short)(_IDP)->time_mid,                   \
+          (unsigned short)(_IDP)->time_hi_and_version,        \
+          (unsigned char)(_IDP)->clock_seq_hi_and_reserved,   \
+          (unsigned char)(_IDP)->clock_seq_low,               \
+          (unsigned char)(_IDP)->node[0],                     \
+          (unsigned char)(_IDP)->node[1],                     \
+          (unsigned char)(_IDP)->node[2],                     \
+          (unsigned char)(_IDP)->node[3],                     \
+          (unsigned char)(_IDP)->node[4],                     \
+          (unsigned char)(_IDP)->node[5]);
+
+/* prototypes */
+char *ext_id_as_string(ext_id_t *, char *);
+
+#endif /* _h_CXICRED */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiDmapi-plat.h	(revision 16)
@@ -0,0 +1,45 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)18       1.4  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiDmapi-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 7/17/03 01:38:00 */
+
+#ifdef DMAPI
+   // LINUX: gpl-linux/dmapi.c
+EXTERNC int cxiGetFileAndVp(int fd, void **fileP, void **vP);
+EXTERNC void cxiReleaseFile(int fd,void *fileP);
+EXTERNC Boolean cxiIsReadOnlyMnt(void *vfsP);
+EXTERNC void cxiGetMountedOverOSNode(void *vfsP, void **mntdovervfsP,
+                                     cxiNode_t **cnP);
+EXTERNC Boolean cxiMountedOverVfsType(void *vfsP);
+EXTERNC void cxiGetRootInode(void *vfsP,  cxiNode_t **cnP);
+#endif
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiDmapi.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiDmapi.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiDmapi.h	(revision 16)
@@ -0,0 +1,35 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)14       1.2  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiDmapi.h, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:19:31 */
+
+#include <cxiDmapi-plat.h>
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiIOBuffer-plat.h	(revision 16)
@@ -0,0 +1,319 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)13       1.45.1.2  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiIOBuffer-plat.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/25/06 17:16:36 */
+/*
+ * Abstraction of an I/O buffer, Linux implementation
+ *
+ * Contents:
+ *   struct cxiKernelIOBufferDesc_t
+ *   struct cxiIOBufferAttachment_t
+ *   InitBufferAttachment
+ *   struct cxiContiguousBuffer_t
+ *   InitContiguousBuffer
+ *   EXTERNC int kxPinKernelIOBuffer
+ *   Methods for manipulating cxiIOBuffer_t's
+ *   #define __CXI_BUFFERS_ARE_CONTIGUOUS
+ *   GetDiskInfoX
+ */
+
+#ifndef _h_cxiIOBuffer_plat
+#define _h_cxiIOBuffer_plat
+
+#ifndef _h_cxiIOBuffer
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Address of the first byte past the end of memory addressible by
+   processes (PAGE_OFFSET), and routine to get this value from the kernel.
+   Stacks are below this address. */
+EXTERNC UIntPtr KernelBoundary;
+EXTERNC int kxGetKernelBoundary(UIntPtr* kBoundP);
+
+/* forward declarations */
+struct page;
+
+/* User address space range used for page pool. */
+#ifdef GPFS_ARCH_I386
+#define LINUX_PAGE_POOL_BASE  0x44000000
+#endif
+#ifdef GPFS_ARCH_POWER
+#define LINUX_PAGE_POOL_BASE  0x54000000
+#endif
+#ifdef GPFS_ARCH_IA64
+/* Use shared memory region after TM pool */
+/* TM pool address + 4GB */
+#define LINUX_PAGE_POOL_BASE  0x6000010100000000
+#endif
+#ifdef GPFS_ARCH_PPC64
+  /* TM pool address + 2GB */
+  #define LINUX_PAGE_POOL_BASE  0x0000002080000000UL
+#endif
+#ifdef GPFS_ARCH_X86_64
+  /* TM pool address + 4GB */
+  #define LINUX_PAGE_POOL_BASE  0x0000005100000000UL
+#endif
+
+
+#define POOL_MMAP_CHUNK_SIZE  0x04000000
+
+/* Address where token manager malloc pool begins */
+#ifdef GPFS_ARCH_I386
+# define TM_POOL_START 0x30000000
+#endif
+#ifdef GPFS_ARCH_POWER
+# define TM_POOL_START 0x40000000
+#endif
+#ifdef GPFS_ARCH_IA64
+# define TM_POOL_START 0x6000010000000000
+#endif
+#ifdef GPFS_ARCH_PPC64
+    /* this is the top portion of the brk area.  We count on the
+       daemon never growing big enough to get here.  There's only
+       2TB of address space available in userspace on ppc64, so a
+       completely safe spot is hard to find */
+#   define TM_POOL_START 0x0000002000000000UL
+#endif
+#ifdef GPFS_ARCH_X86_64
+#   define TM_POOL_START 0x0000005000000000UL
+#endif
+
+/* Buffers in user address space must be aligned to a boundary of this size
+   in order to perform an I/O request. */
+#define IOBUF_ALIGN_SIZE 512
+
+/* Kernel data structure associated with an I/O buffer.  I/O buffers that
+   are pinned (or attached) point to one of these structures from their
+   kernelIOBufferDescP field.  It describes the physical pages occupied by
+   the I/O buffer using Linux kiobufs.  These are linked together in a
+   global list anchored in the kernel so that pinned storage can be released
+   when the GPFS daemon terminates abnormally.  Each I/O buffer has one
+   cxiKernelIOBufferDesc_t on this global list.  However, since one
+   cxiKernelIOBufferDesc_t can map at most PAGES_PER_KIBD pages, large I/O
+   buffers require multiple cxiKernelIOBufferDesc_t's.  */
+struct cxiKernelIOBufferDesc_t
+{
+  /* Daemon address for beginning of I/O buffer.  This address must be
+     aligned on a page boundary. */
+  char* kibdVaddr;
+
+  /* Number of pages described by this cxiKernelIOBufferDesc_t. */
+  int kibdPages;
+
+  /* Number of pages described by this chain of cxiKernelIOBufferDesc_t 
+   * Only valid for the first cxiKernelIOBufferDesc_t in the chain.
+   */
+  int kibdTotalPages;
+
+  /* List pointer.  Used for a chain of cxiKernelIOBufferDesc_t's. */
+  struct cxiKernelIOBufferDesc_t* kibdNextP;
+
+  /* An I/O buffer is described by a chain of cxiKernelIOBufferDesc_t,
+   * of which the head descriptor is placed on a global list.   Thus these
+   * fields are only valid for the first cxiKernelIOBufferDesc_t in the 
+   * chain of descriptors.
+   */
+  struct cxiKernelIOBufferDesc_t* gblNextP;
+  struct cxiKernelIOBufferDesc_t* gblPrevP;
+
+#define PAGES_PER_KIBD (64*1024/PAGE_SIZE)  /* 64K */
+  char* maplist[PAGES_PER_KIBD];
+};
+
+/* Struct that records the mapping within
+ * the daemon address space.  A group of these are allocated
+ * as an array in the shared seg and the memory descriptor
+ * vindex points to the appropriate element.
+ */
+struct cxiMemoryMapping_t
+{
+  char *vaddr;        /* daemon address mapping */
+#ifdef SSEG_SWIZZLE_PTRS
+  char *kvaddr;
+#endif
+  int kBytes;         /* size of the area in kilobytes */
+  short vindex;       /* index in shared segment mapping array */
+};
+
+static inline void
+InitMemoryMapping(struct cxiMemoryMapping_t *mmP)
+{
+  mmP->vaddr = NULL;
+  mmP->kBytes = 0;
+  mmP->vindex = -1;
+#ifdef SSEG_SWIZZLE_PTRS
+  mmP->kvaddr = NULL;
+#endif
+}
+
+static inline Boolean
+IsMemoryMappingFree(struct cxiMemoryMapping_t *mmP)
+{
+  if (mmP->kBytes == 0)
+    return true;
+
+  return false;
+}
+
+typedef struct cxiMemoryMapping_t cxiMemoryMapping_t;
+
+/* Initialization and termination routines.  Called at module load
+   and unload, respectively. */
+EXTERNC void KibdModuleInit();
+EXTERNC void KibdModuleTerm();
+
+/* Create a cxiKernelIOBufferDesc_t object (or list of cxiKernelIOBufferDesc_t
+   objects) describing an I/O buffer in the user address space of the
+   calling process and link it onto the list of all such objects.  Pins
+   the user-level buffer.  The buffer virtual address must be on a page
+   boundary.  The length can be arbitrarily large, but must be a multiple
+   of the page size.  Returns 0 if successful, non-zero if unsuccessful.
+   */
+EXTERNC int cxiKibdPin(char* vaddr, int len,
+                       struct cxiKernelIOBufferDesc_t** kibdPP);
+
+/* Remove a cxiKernelIOBufferDesc_t object from the list of all
+   such objects, destroy it and all chained cxiKernelIOBufferDesc_t objects
+   associated with it, and unpin the associated user-level buffer. */
+EXTERNC void cxiKibdUnpin(struct cxiKernelIOBufferDesc_t* kibdP);
+
+/* Free all cxiKernelIOBufferDesc_t's, and unpin their underlying storage. */
+EXTERNC void cxiKibdUnpinAll();
+
+#ifdef MMAP_DIO
+
+/* Create a cxiKernelIOBufferDesc_t object for a page in user address space
+   that is already pinned.  The page will be mapped into kernel address
+   space.  This is used by mmap routines that want to do direct I/O from
+   user page to disk.  The cxiKernelIOBufferDesc_t that this routine
+   creates can be passed to cxiKDoIO just like one that was created by
+   cxiKibdPin. */
+EXTERNC int cxiKibdPinmm(struct page *pageP,
+                         struct cxiKernelIOBufferDesc_t** kibdPP);
+
+/* Free a cxiKernelIOBufferDesc_t that was created by cxiKibdPinmm. */
+EXTERNC void cxiKibdUnpinmm(struct page *pageP,
+                            struct cxiKernelIOBufferDesc_t* kibdP);
+#endif /* MMAP_DIO */
+
+
+/* Handle that describes a particular cxiIOBuffer_t that has been attached.
+   On Linux, this is a pointer to a cxiLinuxKernelIOBufferDesc_t. */
+struct cxiIOBufferAttachment_t
+{
+  struct cxiKernelIOBufferDesc_t* kDescP;
+};
+
+
+/* Initialize a cxiIOBufferAttachment_t */
+static inline void InitBufferAttachment(struct cxiIOBufferAttachment_t* baP)
+{
+  baP->kDescP = NULL;
+};
+
+
+
+/* Result of making a read-only copy of a portion of an I/O buffer.  On
+   Linux, this must record the base address of the copy buffer, if one was
+   required.  If data was mapped in place, the cxiContiguousBuffer_t records
+   which page was kmapped. */
+struct cxiContiguousBuffer_t
+{
+  /* Base of storage allocated with vmalloc / kmalloc, or NULL if data is
+     referenced in place. */
+  char* mallocedBaseP;
+
+  /* True if storage pointed to be mallocedBaseP was allocated using
+     kmalloc.  If false, then vmalloc was used. */
+  Boolean usedKmalloc;
+
+  /* Pointer used to remember which page to unmap, or NULL if data was copied
+     to mallocedBaseP by mapContiguousRO. */
+  void* pageP;
+};
+
+
+/* Initialize a cxiContiguousBuffer_t */
+static inline void InitContiguousBuffer(struct cxiContiguousBuffer_t* cbP)
+{
+  cbP->mallocedBaseP = NULL;
+  cbP->usedKmalloc = false;
+  cbP->pageP = NULL;
+}
+
+
+/* Kernel calls used by cxiK... routines to call the Kibd... routines */
+EXTERNC int kxPinKernelIOBuffer(char* vaddr, int len,
+                                struct cxiKernelIOBufferDesc_t** pinnedPP);
+EXTERNC int kxUnpinKernelIOBuffer(struct cxiKernelIOBufferDesc_t* pinnedP);
+EXTERNC int kxUnpinAllKernelIOBuffers();
+
+/* Methods for manipulating cxiIOBuffer_t's */
+
+/* Return true if the fields describing the IOBuffer are self-consistent */
+#define IOBUFFER_IS_CONSISTENT(IOBP) (true)
+
+/* Pin the pages belonging to this I/O buffer */
+EXTERNC void KPinIOBuffer(struct cxiIOBuffer_t* iobP);
+
+/* Unpin the pages belonging to this I/O buffer */
+EXTERNC void KUnpinIOBuffer(struct cxiIOBuffer_t* iobP);
+
+/* Split the kernel buffer descriptor into two adjacent I/O buffers */
+EXTERNC void KSplitIOBuffer(struct cxiIOBuffer_t* iobP, int frontPages,
+                            struct cxiIOBuffer_t* rearBufP);
+
+/* Merge the kernel buffer descriptors of two adjacent I/O buffers.  The
+   I/O buffer p should be destroyed after this call, since its pages will
+   be merged into the buffer *iobP. */
+EXTERNC void KMergeIOBuffer(struct cxiIOBuffer_t* iobP, struct cxiIOBuffer_t* p);
+
+/* Read or write the given sectors from dev.  Data should be placed into
+   the I/O buffer beginning at byte offset bufOffset.  Returns EOK
+   on success, negative values on error.  All of the data to be
+   transferred will be in the first cxiKernelIOBufferDesc_t. */
+EXTERNC int cxiKDoIO(struct cxiKernelIOBufferDesc_t* kibdP,
+                     Boolean isWrite, cxiDev_t dev, UInt64 startSector,
+                     int nSectors, int sectorSize, int bufOffset);
+
+
+/* On Linux, I/O buffers can be accessed at contiguous virtual addresses
+   from the daemon process, but not from kernel code */
+#ifndef _KERNEL
+#define __CXI_BUFFERS_ARE_CONTIGUOUS
+#endif
+
+/* Routine to set up the disk block size and get disk parameters */
+EXTERNC int GetDiskInfoX(cxiDev_t devId, struct cxiDiskInfo_t* diskInfoP);
+
+#endif  /* _h_cxiIOBuffer_plat */
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiIOBuffer.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiIOBuffer.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiIOBuffer.h	(revision 16)
@@ -0,0 +1,391 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)12       1.27  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiIOBuffer.h, mmfs, avs_rgpfs24, rgpfs240610b 5/4/04 10:12:05 */
+/*
+ * Abstraction of an I/O buffer
+ *   struct cxiIOBuffer_t
+ *   InitIOBuffer
+ *   GetDaemonIOBufferEndAddr
+ *
+ * Support for buffers that are not contiguous in memory
+ *   struct cxiDiscontiguousDirectoryBuffer_t
+ *   InitDiscontiguousBuffer
+ *   OffsetToPtr
+ *   MapContiguousBuffer
+ */
+
+#ifndef _h_cxiIOBuffer
+#define _h_cxiIOBuffer
+
+#include <cxiTypes.h>
+/* Use logging definitions for non portability layer */
+#if !defined(GPFS_GPL)
+#include <Logger.h>
+#endif /* !GPFS_GPL */
+
+
+/* Abstraction of an I/O buffer.  I/O buffers are contiguous in virtual
+   memory from the point of view of the GPFS daemon.  The view of the buffer
+   from kernel code is platform-dependent.
+
+   The first operation that must be performed on an I/O buffer must be to
+   attach it to kernel memory.  Once this is done, the buffer may be
+   accessed indirectly by transferring data between it and buffers in user
+   or kernel space.  The buffer may also be mapped so that normal loads and
+   stores from the kernel may access the data in the buffer.  In general,
+   such a mapping will not be contiguous in the address space of the kernel,
+   so the code that accesses the contents of the buffer must be aware of
+   page boundaries.  Once all direct and indirect accesses to the buffer are
+   complete, it must be detached from kernel memory. */
+
+/* Forward declarations */
+
+/* Kernel data structure associated with an I/O buffer */
+struct cxiKernelIOBufferDesc_t;
+
+/* Result of making a read-only copy of a portion of an I/O buffer */
+struct cxiContiguousBuffer_t;
+
+/* Result of mapping a buffer too large to be mapped contiguously */
+struct cxiDiscontiguousDirectoryBuffer_t;
+
+/* Handle that describes a cxiIOBuffer_t that has been attached */
+struct cxiIOBufferAttachment_t;
+
+struct cxiIOBuffer_t;
+
+/* Include platform-specific definitions and possibly define
+ * __CXI_BUFFERS_ARE_CONTIGUOUS to affect the definition of
+ * cxiDiscontiguousDirectoryBuffer_t below. 
+ */
+#include <cxiIOBuffer-plat.h>
+
+#include <cxiLinkList.h>
+
+#define BUDDY_NONE  0
+#define BUDDY_FIRST 1
+#define BUDDY_LAST  255  /* unsigned char max */
+
+#ifndef __cplusplus
+/* forward declaration in C for Linux portability layer */
+typedef struct Buffer Buffer;
+typedef Buffer *BufferXPtr;
+#endif
+
+struct cxiMemoryDesc_t
+{
+  unsigned char  vindex;    /* index in shared seg memMapping array */
+  unsigned char  buddyNum;  /* buddies that can be rejoined share a number */
+  unsigned short klength;   /* length of area in kilobytes */
+  unsigned int   offset;    /* offset within the segment */
+
+  /* If C++ would allow me to make a union between inactive and bufP
+   * these could be coalesced to make the structure smaller.
+   * (something on the inactive list shouldn't have a buffer)
+   */
+  BufferXPtr bufP;          /* pointer to owning buffer */
+
+  /* list of descriptors on inactive list */
+  DLink_t inactive;       
+
+  /* circular doubly linked list of memory siblings */
+  DLink_t sibling;
+};
+
+typedef struct cxiMemoryDesc_t cxiMemoryDesc_t;
+
+#ifdef GPFS_GPL
+/* handle a few shared cxi structures (for swizzling) */
+typedef cxiMemoryDesc_t *cxiMemoryDesc_tXPtr;
+#endif
+
+static inline void 
+InitMemoryDesc(struct cxiMemoryDesc_t *mdP)
+{
+  mdP->vindex = 0;
+  mdP->buddyNum = BUDDY_NONE;
+  mdP->klength = 0;
+  mdP->offset = 0;
+  mdP->bufP = NULL;
+  DLinkInit(&mdP->inactive);
+  DLinkInit(&mdP->sibling);
+}
+
+/* I/O buffer description
+
+   On AIX, an I/O buffer in the virtual address space of the daemon must
+   be pinned before it can be used for I/O, and must be mapped before
+   accessing its contents.  On AIX, the kernel mapping will be contiguous,
+   although not necessarily at the same addresses as used by the daemon.
+
+   On Linux, an I/O buffer in the virtual address space of the daemon must
+   be pinned before it can be used for I/O, and must be mapped before
+   accessing its contents.  On Linux, pages of the buffer will in general
+   not be contiguous in kernel virtual memory.  The cxiK... routines
+   just call into the kernel (kx...), which then calls the corresponding
+   routines on cxiKernelIOBufferDesc_t's (Kibd...). */
+struct cxiIOBuffer_t
+{
+  /* Length of buffer in bytes */
+  int ioBufLen;
+
+  /* Number of users that are currently using this buffer and require it
+     to be pinned in memory.  A value of 0 means the buffer is not pinned. */
+  int pinCount;
+
+  /* Pointer to beginning of contiguous buffer in daemon virtual address
+     space */
+  char* daemonBufP;  
+
+  /* Pointer to kernel data structure associated with this I/O buffer */
+  struct cxiKernelIOBufferDesc_t* kernelIOBufferDescP;
+
+  /* A chain of possibly multiple memory descriptors */
+  cxiMemoryDesc_tXPtr descP;
+};
+
+static inline char *
+OffsetToDataPtr(const struct cxiIOBuffer_t *iobP, int offset, int length)
+{
+  return iobP->daemonBufP + offset;
+}
+
+/* Clear all fields of an cxiIOBuffer_t to default values */
+static inline void InitIOBuffer(struct cxiIOBuffer_t* iobP)
+{ 
+  iobP->ioBufLen = -1; 
+  iobP->pinCount = 0;
+  iobP->daemonBufP = NULL; 
+  iobP->kernelIOBufferDescP = NULL; 
+  iobP->descP = NULL;
+}
+
+/* Return true if the fields describing the IOBuffer are self-consistent. */
+static inline Boolean IOBufferIsConsistent(struct cxiIOBuffer_t* iobP)
+  { return IOBUFFER_IS_CONSISTENT(iobP); };
+
+/* Return the daemon address of the first byte beyond the end of the
+   I/O buffer */
+static inline char* GetDaemonIOBufferEndAddr(struct cxiIOBuffer_t* iobP)
+  { return iobP->daemonBufP + iobP->ioBufLen; };
+
+#if 0
+  /* Pin all the pages of a buffer.  If the buffer is already pinned, just
+     increment its pin count.  Returns EOK if successful, other error codes
+     if unsuccessful. */
+  int pin();
+
+  /* Decrement the pin count on the buffer.  If the count reaches zero,
+     unpin the pages of the buffer. */
+  void unpin();
+#endif
+
+/* Attach an I/O buffer to the kernel's virtual address space.  The
+   cxiIOBufferAttachment_t returned in *attachP must be used as a parameter
+   of most of the other operations on cxiIOBuffer_t's. */
+EXTERNC void cxiAttachIOBuffer(struct cxiIOBuffer_t* iobP,
+                               struct cxiIOBufferAttachment_t* attachP);
+
+/* Detach a buffer from the kernel's virtual address space. */
+EXTERNC void cxiDetachIOBuffer(struct cxiIOBuffer_t* iobP,
+                               struct cxiIOBufferAttachment_t* attachP);
+
+/* Transfer len bytes beginning at offset bufOffset within I/O buffer *iobP
+   to or from a user buffer.  The direction of the transfer is given with
+   respect to the I/O buffer.  Returns EOK if successful, other error
+   codes if unsuccessful. */
+EXTERNC int cxiUXfer(struct cxiIOBuffer_t* iobP, Boolean toIOBuffer,
+                     const struct cxiIOBufferAttachment_t* attachP,
+                     void* vkopP, int bufOffset, int len,
+                     struct cxiUio_t* uioP);
+#define CXI_XFER_TO_IOBUFFER true
+#define CXI_XFER_FROM_IOBUFFER false
+
+/* Perform cross-memory transfer of len bytes from user memory in current
+   task to memory in specified address space.  If toXmem is true then
+   copy is from userAddrP to udataP/xmemP, otherwise the opposite. */
+EXTERNC int cxiXmemXfer(char *userAddrP, int len, char *udataP,
+                        cxiXmem_t *xmemP, Boolean toXmem);
+
+/* Transfer len bytes beginning at offset bufOffset within I/O buffer *iobP
+   to or from a contiguous kernel buffer.  The direction of the transfer
+   is given with respect to the I/O buffer.  Returns EOK if successful,
+   other error codes if unsuccessful. */
+EXTERNC int cxiKXfer(struct cxiIOBuffer_t* iobP, Boolean toIOBuffer,
+                     const struct cxiIOBufferAttachment_t* attachP,
+                     int bufOffset, int len, char* kBufP);
+
+/* Set len bytes beginning at offset bufOffset within I/O buffer *iobP
+   to zero.  Returns EOK if successful, other error codes if unsuccessful. */
+EXTERNC int cxiKZero(struct cxiIOBuffer_t* iobP,
+                     const struct cxiIOBufferAttachment_t* attachP,
+                     int bufOffset, int len);
+
+/* Map an I/O buffer so it can be read and written from kernel code
+   running in the context of a user thread.  Depending on the platform,
+   the addresses at which the I/O buffer gets mapped may not be
+   contiguous.  The details of how the buffer got mapped are handled by
+   the cxiDiscontiguousDirectoryBuffer_t object that is filled in by this
+   call.  On some platforms, mapping buffers using this call consumes
+   scarce resources, so all cxiMapDiscontiguousRW calls should be promptly
+   matched by unmapDiscontiguousRW calls as soon as the operation that
+   required access to the I/O buffer completes.  Returns EOK if
+   successful, other error codes if unsuccessful. */
+EXTERNC int cxiMapDiscontiguousRW(struct cxiIOBuffer_t* iobP,
+                                  const struct cxiIOBufferAttachment_t* attachP,
+                                  struct cxiDiscontiguousDirectoryBuffer_t* discontigP);
+
+/* Unmap an I/O buffer previously mapped */
+EXTERNC void cxiUnmapDiscontiguousRW(struct cxiIOBuffer_t* iobP,
+                                     struct cxiDiscontiguousDirectoryBuffer_t* discontigP);
+
+/* Return an address in kernel memory that holds a contigous read-only
+   copy of a portion of an I/O buffer.  If possible, this will be a
+   mapping of the I/O buffer.  If necessary, this routine will allocate a
+   new block of kernel memory and copy the requested data to it.  The
+   returned cxiContiguousBuffer_t encapsulates what method was used, so
+   that unmapContiguousRO can release whatever resources were obtained by
+   this call.  Returns EOK if successful, other error codes if
+   unsuccessful. */
+EXTERNC int cxiMapContiguousRO(struct cxiIOBuffer_t* iobP,
+                               const struct cxiIOBufferAttachment_t* attachP,
+                               int bufOffset, int len,
+                               const char** contigBasePP,
+                               struct cxiContiguousBuffer_t* contigP);
+
+/* Release a mapping or copy obtained with cxiMapContiguousRO */
+EXTERNC void cxiUnmapContiguousRO(struct cxiIOBuffer_t* iobP,
+                                  struct cxiContiguousBuffer_t* contigP);
+
+
+/* Maximum size of a directory block.  Must be a multiple of PAGE_SIZE. */
+#define MAX_DIRBLOCK_SIZE (32*1024)
+
+
+/* The size of the cxiDiscontiguousDirectoryBuffer_t object may be different
+   depending on whether or not _KERNEL is defined, so do not define
+   cxiDiscontiguousDirectoryBuffer_t if this code will be compiled once and
+   used in both places. */
+#ifndef USED_IN_DAEMON_AND_KERNEL
+
+
+/* Page size controlling alignment and unit of relocation for discontiguous
+   buffers (must be equal to operating system page size) */
+#define DISCONTIG_PAGE_SIZE PAGE_SIZE
+
+/* Description of a buffer that is not necessarily contiguous in memory.
+   All buffers managed through this type must begin on page boundaries. */
+struct cxiDiscontiguousDirectoryBuffer_t
+{
+  /* Number of valid bytes in the buffer.  A value of -1 indicates that the
+     buffer is not mapped and should not be accessed. */
+  int mappedLen;
+
+#ifdef __CXI_BUFFERS_ARE_CONTIGUOUS
+  /* Pointer to the contiguous buffer */
+  char* dataP;
+#else
+  /* Number of paes in a maximum size directory block */
+#define MAX_PAGES_PER_DIRBLOCK (MAX_DIRBLOCK_SIZE/DISCONTIG_PAGE_SIZE)
+
+  /* Array of pointers to the pages that contain the buffer.  This array
+     contains the addresses at which the pages of the buffer can be accessed
+     by the thread that called cxiMapDiscontiguousRW. */
+  char* userPagePointerArray[MAX_PAGES_PER_DIRBLOCK];
+
+  /* Array of pointers to OS-specific data structures needed to unmap each
+     of the pages given by the array of pointers above. */
+  void* osPagePointerArray[MAX_PAGES_PER_DIRBLOCK];
+#endif  /* __CXI_BUFFERS_ARE_CONTIGUOUS */
+};
+
+
+/* Initialize a cxiDiscontiguousDirectoryBuffer_t */
+static inline void 
+InitDiscontiguousBuffer(struct cxiDiscontiguousDirectoryBuffer_t* ddbP)
+{
+  /* Indicate buffer is invalid */
+  ddbP->mappedLen = -1;
+};
+
+
+/* Convert an offset into a logical buffer into a pointer to the byte
+   at that offset.  The caller is assumed to know the length of the
+   object beginning at the returned pointer, and is not supposed to access
+   beyond the end of the page in which the pointer points */
+static inline char* 
+OffsetToPtr(const struct cxiDiscontiguousDirectoryBuffer_t* ddbP, int offset)
+{
+  char* pageStartP;
+
+  DBGASSERT(offset >= 0);
+  DBGASSERT(offset < ddbP->mappedLen);
+#ifdef __CXI_BUFFERS_ARE_CONTIGUOUS
+  return ddbP->dataP+offset;
+#else
+  pageStartP = ddbP->userPagePointerArray[offset/DISCONTIG_PAGE_SIZE];
+  return pageStartP + offset%DISCONTIG_PAGE_SIZE;
+#endif  /* __CXI_BUFFERS_ARE_CONTIGUOUS */
+};
+
+
+/* Given a contiguous buffer, set up a mapping as if it was discontiguous */
+static inline void 
+MapContiguousBuffer(char* bufP, int len,
+                    struct cxiDiscontiguousDirectoryBuffer_t* ddbP)
+{
+  int i;
+
+
+  ddbP->mappedLen = len;
+#ifdef __CXI_BUFFERS_ARE_CONTIGUOUS
+  ddbP->dataP = bufP;
+#else
+  /* Either we should start on a page boundary or our total buffer
+   * should fit within the same page.
+   */
+  DBGASSERT(((UIntPtr)bufP & (DISCONTIG_PAGE_SIZE-1)) == 0 ||
+            ((UIntPtr)bufP & ~(DISCONTIG_PAGE_SIZE-1)) ==
+            ((UIntPtr)(bufP + len - 1) & ~(DISCONTIG_PAGE_SIZE-1)));
+  DBGASSERT(len <= MAX_PAGES_PER_DIRBLOCK*DISCONTIG_PAGE_SIZE);
+  for (i=0 ; len>0 ; i++, bufP+=DISCONTIG_PAGE_SIZE, len-=DISCONTIG_PAGE_SIZE)
+  {
+    ddbP->userPagePointerArray[i] = bufP;
+    ddbP->osPagePointerArray[i] = NULL;
+  }
+#endif  /* __CXI_BUFFERS_ARE_CONTIGUOUS */
+};
+
+#endif  /* USED_IN_DAEMON_AND_KERNEL */
+
+#endif  /* _h_cxiIOBuffer */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiLinkList.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiLinkList.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiLinkList.h	(revision 16)
@@ -0,0 +1,239 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.9  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiLinkList.h, mmfs, avs_rgpfs24, rgpfs240610b 8/4/04 11:54:21 */
+
+#ifndef _h_CXILINKLIST
+#define _h_CXILINKLIST
+
+#include <cxiSystem.h>
+#include <cxiTypes.h>
+
+#ifdef __cplusplus
+
+/* A double linked list element class. */
+class DLink_t
+{
+public:
+  DLink_tSXPtr nextP;
+  DLink_tSXPtr prevP;
+
+  /* The head element of the list is initialized to point to itself,
+   * signifying no elements on the list.
+   */
+  inline void init()
+  {
+    nextP = this;
+    prevP = this;
+  }
+
+  DLink_t()
+  {
+    init();
+  }
+
+  /* Add an element or circular linked list of elements, immediately
+   * after this (head of the list)
+   */
+  inline void enqueueHead(DLink_t *elementP)
+  {
+    DLink_t *saveP = elementP->prevP;
+ 
+    saveP->nextP = nextP;
+    nextP->prevP = saveP;
+    elementP->prevP = this;
+    nextP = elementP;
+  }
+ 
+  /* Add an element or circular linked list of elements, immediately 
+   * preceding this (tail of the list) 
+   */
+  inline void enqueueTail(DLink_t *elementP)
+  {
+    DLink_t *saveP = elementP->prevP;
+
+    prevP->nextP = elementP;
+    elementP->prevP = prevP;
+    prevP = saveP;
+    saveP->nextP = this;
+  }
+
+  /* Remove a single element from the linked list and 
+   * initialize it as a linked list pointing to itself
+   */
+  inline DLink_t *dequeue()
+  {
+    prevP->nextP = nextP;
+    nextP->prevP = prevP;
+    init();
+
+    return this;
+  }
+
+  /* Remove the element immediately after this (head of the list)
+   * and initialize it as a linked list pointing to itself.
+   */
+  inline DLink_t *dequeueHead()
+  {
+    return nextP->dequeue();
+  }
+
+  /* Remove the element immediately preceeding this (tail of the list)
+   * and initialize it as a linked list pointing to itself.
+   */
+  inline DLink_t *dequeueTail()
+  {
+    return prevP->dequeue();
+  }
+
+  inline Boolean isEmpty()
+  {
+    return (nextP == this);
+  }
+
+  inline DLink_t *next()
+  {
+    return nextP;
+  }
+
+  inline DLink_t *prev()
+  {
+    return prevP;
+  }
+
+  inline DLink_t *head()
+  {
+    return nextP;
+  }
+
+  inline DLink_t *tail()
+  {
+    return prevP;
+  }
+};
+
+#else
+
+/* The same class as above, declared as a structure for C code */
+struct DLink_t
+{
+  /* Use standard pointers here for the portability layer / kernel. */
+  struct DLink_t *nextP;
+  struct DLink_t *prevP;
+};
+
+typedef struct DLink_t DLink_t;
+#endif /* __cplusplus */
+
+
+/* Inline functions mimic'ing the class members of the DLink class.
+ * Can be used in either C or C++ code.
+ */
+static inline void
+DLinkInit(DLink_t *thisP)
+{
+  thisP->nextP = thisP;
+  thisP->prevP = thisP;
+}
+
+/* Add an element or circular linked list of elements, immediately
+ * after this (head of the list)
+ */
+static inline void 
+DLinkEnqueueHead(DLink_t *thisP, DLink_t *elementP)
+{
+  DLink_t *saveP = elementP->prevP;
+ 
+  saveP->nextP = thisP->nextP;
+  thisP->nextP->prevP = saveP;
+  elementP->prevP = thisP;
+  thisP->nextP = elementP;
+}
+ 
+/* Add an element or circular linked list of elements, immediately 
+ * preceding this (tail of the list) 
+ */
+static inline void
+DLinkEnqueueTail(DLink_t *thisP, DLink_t *elementP)
+{
+  DLink_t *saveP = elementP->prevP;
+
+  thisP->prevP->nextP = elementP;
+  elementP->prevP = thisP->prevP;
+  thisP->prevP = saveP;
+  saveP->nextP = thisP;
+}
+
+/* Remove a single element from the linked list and 
+ * initialize it as a linked list pointing to itself
+ */
+static inline DLink_t *
+DLinkDequeue(DLink_t *thisP)
+{
+  thisP->prevP->nextP = thisP->nextP;
+  thisP->nextP->prevP = thisP->prevP;
+  DLinkInit(thisP);
+
+  return thisP;
+}
+
+/* Remove the element immediately after this (head of the list)
+ * and initialize it as a linked list pointing to itself.
+ */
+static inline DLink_t *
+DLinkDequeueHead(DLink_t *thisP)
+{
+  return DLinkDequeue(thisP->nextP);
+}
+
+/* Remove the element immediately preceeding this (tail of the list)
+ * and initialize it as a linked list pointing to itself.
+ */
+static inline DLink_t *
+DLinkDequeueTail(DLink_t *thisP)
+{
+  return DLinkDequeue(thisP->prevP);
+}
+
+static inline Boolean
+DLinkIsEmpty(DLink_t *thisP)
+{
+  return (thisP->nextP == thisP);
+}
+
+/* Given a class type, a pointer to the class member, and the 
+ * member name, return a pointer to the base class.
+ */
+#define MemberToClass(CLASSTYPE, PTRMEMBER, MEMBERNAME) \
+  (CLASSTYPE *)(((char *)PTRMEMBER) - OFFSET_OF(MEMBERNAME, CLASSTYPE))
+
+#endif /* _h_CXILINKLIST */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMmap-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMmap-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMmap-plat.h	(revision 16)
@@ -0,0 +1,70 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.22  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiMmap-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 6/2/03 13:01:17 */
+/*
+ * Platform specific definitions for memory mapped files, Linux version
+ *
+ */
+
+#ifndef _h_cxiMmap_plat
+#define _h_cxiMmap_plat
+
+#ifndef _h_cxiMmap
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+#include <cxiTypes.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /*__cplusplus */
+Int64 getFilePos(cxibuf_t *bufP);
+char *VM_Attach(cxibuf_t *bufP);
+void VM_Detach(cxibuf_t *bufP, char *baddrP);
+void getVp(void * gnP,void **vP, struct gpfsVfsData_t **privVfsP);
+void IoDone(cxibuf_t *bufP);
+void mmapKill();
+void EnableMmap();
+#define mmStrategy NULL
+int cxiMmapRegister(void *dummy);
+int cxiMmapUnregister(void *dummy);
+int cxiMmapFlush(cxiNode_t *cnP, UInt64 start, UInt64 end,
+                 enum CmflushOption cmopt);
+int cxiMmapGetPage(cxibuf_t *bufP);
+void cxiMmapReleasePage(struct page *pageP);
+#ifdef __cplusplus
+}
+#endif /*__cplusplus */
+
+#endif  /* _h_cxiMmap_plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMmap.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMmap.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMmap.h	(revision 16)
@@ -0,0 +1,49 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)96       1.9  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiMmap.h, mmfs, avs_rgpfs24, rgpfs240610b 6/2/03 13:02:28 */
+
+#ifndef _h_cxiMmap
+#define _h_cxiMmap
+
+/* Options for cxiMmapFlush */
+enum CmflushOption
+{
+  CmfProtect,  /* Remove pages from address space so that new references
+                  will cause a page fault or protection fault */
+  CmfFlush,    /* Write dirty pages */
+  CmfInval     /*  Prevent cached page from being re-used */
+};
+
+#include <cxiMmap-plat.h>
+
+#endif
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMode-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMode-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMode-plat.h	(revision 16)
@@ -0,0 +1,164 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)77	1.10  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiMode-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 11/2/04 17:49:45 */
+
+
+#ifndef _h_cxiMode_plat
+#define _h_cxiMode_plat
+
+#ifndef _h_cxiMode
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Linux portability portion of GPFS will have to include its own version of 
+ * these linux header files before inclusion of cxiMode.h
+ */
+#ifndef GPFS_GPL
+#include <fcntl.h>
+#include <sys/stat.h>
+#endif
+
+/* These came from aix <sys/mode.h> and currently have equivalent 
+ * definitions in linux <sys/stat.h>.  
+ */
+#ifndef S_IFMT
+#define S_IFMT          0170000 /* type of file */
+#define   S_IFREG       0100000 /*   regular */
+#define   S_IFDIR       0040000 /*   directory */
+#define   S_IFBLK       0060000 /*   block special */
+#define   S_IFCHR       0020000 /*   character special */
+#define   S_IFIFO       0010000 /*   fifo */
+#define   S_IFLNK       0120000 /*   symbolic link */
+#define   S_IFSOCK      0140000 /*   socket */
+
+#define S_ISUID	        0004000 /* set user id on execution */
+#define S_ISGID	        0002000 /* set group id on execution */
+#define S_ISVTX         0001000 /* save text */
+
+                                /* ->>> /usr/group definitions <<<- */
+#define S_IRWXU	        0000700 /* read,write,execute perm: owner */
+#define S_IRUSR	        0000400 /* read permission: owner */
+#define S_IWUSR	        0000200 /* write permission: owner */
+#define S_IXUSR	        0000100 /* execute/search permission: owner */
+#define S_IRWXG	        0000070 /* read,write,execute perm: group */
+#define S_IRGRP	        0000040 /* read permission: group */
+#define S_IWGRP         0000020 /* write permission: group */
+#define S_IXGRP	        0000010 /* execute/search permission: group */
+#define S_IRWXO	        0000007 /* read,write,execute perm: other */
+#define S_IROTH         0000004 /* read permission: other */
+#define S_IWOTH	        0000002 /* write permission: other */
+#define S_IXOTH	        0000001 /* execute/search permission: other */
+#endif /* S_IFMT */
+
+/* This mode bit is needed for compatibility with the JFS ACL API 
+   and has no effect on Shark file system operations.*/
+#define S_IXACL      0x02000000 /* extended ACL */
+
+
+/* gpfsAccess() mode parameter */
+#define	E_ACC                00 /* E_ACC does file exist */
+#define	X_ACC           S_IXOTH	/* X_ACC is it executable by caller */
+#define	W_ACC           S_IWOTH	/* W_ACC writable by caller */
+#define	R_ACC           S_IROTH	/* R_ACC readable by caller */
+
+/* File type macros */
+#ifndef S_ISFIFO
+#define S_ISFIFO(m)     (((m)&(S_IFMT)) == (S_IFIFO))
+#define S_ISDIR(m)      (((m)&(S_IFMT)) == (S_IFDIR))
+#define S_ISCHR(m)      (((m)&(S_IFMT)) == (S_IFCHR))
+#define S_ISBLK(m)      (((m)&(S_IFMT)) == (S_IFBLK))
+#define S_ISREG(m)      (((m)&(S_IFMT)) == (S_IFREG))
+#define S_ISLNK(m)      (((m)&(S_IFMT)) == (S_IFLNK))
+#define S_ISSOCK(m)     (((m)&(S_IFMT)) == (S_IFSOCK))
+#endif
+
+#ifndef O_DIRECT
+#ifdef GPFS_ARCH_PPC64
+#define O_DIRECT 0400000 /* Direct disk access.  */
+#else
+#define O_DIRECT 040000 /* Direct disk access.  */
+#endif
+#endif
+
+#define FOPEN          (-1)
+#define FWRITE         (O_WRONLY-FOPEN)
+#define FREAD          (O_RDONLY-FOPEN)
+#define FNDELAY        O_NDELAY
+#define FTRUNC         O_TRUNC
+#define FCREAT         O_CREAT
+#define FEXCL          O_EXCL
+#define FAPPEND        O_APPEND
+#define FSYNC          O_SYNC
+#define O_DSYNC        O_SYNC
+#define FDIRECT        O_DIRECT
+
+/* Translate open flags in linux filp->f_flag to appropriate
+ * flag for gpfs.  Since O_RDONLY is zero, this part of the
+ * test must appear after the others and not be a bit 
+ * comparison operator.
+ */
+#define cxiOpenFlagsXlate(flags)                  \
+          (((flags) & ~O_ACCMODE) |                \
+           (((flags) & O_RDWR) ? (FREAD | FWRITE) : \
+            (((flags) & O_WRONLY) ? FWRITE :         \
+             ((((flags) & O_ACCMODE) == O_RDONLY) ? FREAD : 0))))
+
+#define ACL_MODE (S_ISUID|S_ISGID|S_ISVTX)
+
+#define FFILESYNC FSYNC      /* another name for FSYNC (AIX fattr.h) */
+#define FDATASYNC 0x00400000 /* fsync data only (AIX fattr.h)        */
+
+/* gpfsSetattr() flags (originally from aix sys/chownx.h)
+ * Specifies how the uid and gid values are to be set.
+ */
+#define	T_OWNER_AS_IS 004 /* the owner id in the inode is unaltered */
+#define	T_GROUP_AS_IS 040 /* the group id in the inode is unaltered */
+#define	T_SYNC_IF_NFS 400 /* might need to sync chown for nfs */
+
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#endif
+#ifndef SEEK_CUR
+#define SEEK_CUR 1
+#endif
+#ifndef SEEK_END
+#define SEEK_END 2
+#endif
+
+/* gpfsAccess() who parameter */
+#define ACC_SELF        0x00
+#define ACC_OTHERS      0x08
+#define ACC_ANY	        0x10
+#define ACC_ALL	        0x20
+
+#endif /* _h_cxiMode-plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMode.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMode.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiMode.h	(revision 16)
@@ -0,0 +1,43 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)76	1.4  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiMode.h, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:19:53 */
+
+#ifndef _h_cxiMode
+#define _h_cxiMode
+
+#define PERM_BITS 12            /* number of permission bits */
+
+/* Include platform specifics */
+#include <cxiMode-plat.h>
+
+#endif  /* _h_cxiMode */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSharedSeg-plat.h	(revision 16)
@@ -0,0 +1,449 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)61	1.97.1.1  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiSharedSeg-plat.h, mmfs, avs_rgpfs24, rgpfs24s003a 5/25/06 02:08:17 */
+
+#ifndef _h_cxiSharedSeg_plat
+#define _h_cxiSharedSeg_plat
+
+#ifndef _h_cxiSharedSeg
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+#define SHARED_SEGMENT_BASE (UIntPtr(SharedSegmentBase))
+EXTERN char* SharedSegmentBase;
+
+/* Globals for daemon using swizzled pointers with the shared segment */
+#ifdef SSEG_SWIZZLE_PTRS
+EXTERNC int initPtrSwizzling(Boolean initKernel);
+
+EXTERN char * SharedSegmentKernelBase;
+EXTERN char * SharedSegmentKernelMax;
+EXTERN Ptrdiff SharedSegmentOffset;
+EXTERN IntPtr SharedSegmentSwizzledSize;
+EXTERN char * SharedSegmentSwizzledBase;
+EXTERN char * SharedSegmentSwizzledMax;
+#endif
+
+#define SEGMENT_MAX_VMALLOC_PERCENT 50/100
+
+/* ioctl ops */
+enum kxOps
+{
+  RegisterMMFSDaemon                  = 1,
+  WaitCondvar                         = 2,
+  ThreadInitOrTerm                    = 3,
+  SignalOrBroadcastCondvar            = 4,
+  GetCondWaiters                      = 5,
+  AllocEventWords                     = 6,
+  InitKernelMailboxes                 = 7,
+  EnableIO                            = 8,
+  TerminateMailboxes                  = 9,
+  StackAddrToThreadID                 = 10,
+  kernelTrace                         = 11,
+  GetDiskInfo                         = 12,
+  RegisterMMFSSessionId               = 13,
+  kernelRecLockReset                  = 14,
+  SetCommState                        = 15,
+  AcquireMutex                        = 16,
+  ReleaseMutex                        = 17,
+  RegisterNodeAddr                    = 18,
+  InitializeRevokeTab                 = 19,
+  RegisterObjType                     = 20,
+  SetTraceLevel                       = 21,
+  kxtraceit                           = 22,
+  kPoll                               = 23,
+  GetLocalSGIdCounter                 = 24,
+  QueueCompletedIO                    = 25,
+  AwaitIOCompletion                   = 26,
+  StartIO                             = 27,
+  GetSimpleLock                       = 28,
+  MapPrivate                          = 29,
+  SetMountInfoByID                    = 30,
+  FreeMailboxStorage                  = 31,
+  RegisterMMFSSeg                     = 32,
+#ifdef SMB_LOCKS
+  BreakOplock                         = 33,
+#endif
+  GetStructSize                       = 34,
+  GetMapCount                         = 35,
+  DefineShSeg                         = 36,
+  SetPrivLevel                        = 37,
+  kernelSendFlock                     = 38,
+  kernelWaitForFlock                  = 39,
+  kernelCommonReclock                 = 40,
+  kernelDoTraceDump                   = 41,
+  SetNPagesAvailable                  = 42,
+  CoreDump                            = 43,
+  PinKernelIOBuffer                   = 44,
+  UnpinKernelIOBuffer                 = 45,
+  ClearMountInfo                      = 46,
+  RetryRecover                        = 47,
+  UnpinAllKernelIOBuffers             = 48,
+  kernelRLRevokeLock                  = 49,
+  kernelRLRevokeUnLock                = 50,
+  SetPageoutThread                    = 51,
+  ClearPageoutThread                  = 52,
+  Fattr                               = 53,
+  FsAttr                              = 54,
+  Attr                                = 55,
+  GetACL                              = 56,
+  PutACL                              = 57,
+  Fstat                               = 58,
+  Stat                                = 59,
+  AtomvarInit                         = 60,
+  VFSStatCtl                          = 61,
+  kernelMmapControl                   = 62,
+  kernelMmapInfo                      = 63,
+  CatalogGetMounts                    = 64,
+  GetMountInfoByID                    = 65,
+  uvmount                             = 66,
+  saveThreadInfo                      = 67,
+  kernelMmapFlush                     = 68,
+  InvalidateOSNode                    = 69,
+  HasMountHelper                      = 70,
+#ifdef P_NFS4
+  PnfsCtl                             = 71,
+#endif
+  AllocVinfo                          = 72,
+  CleanupVinfo                        = 73,
+  kernelMadvise                       = 74,
+  updateOSNode                        = 75,
+  Quotactl                            = 76,
+  CheckThreadStateCtl                 = 77,
+  // unused 78-80
+#ifdef SSEG_SWIZZLE_PTRS
+  InitPtrSwizzling                    = 81,
+#endif
+  CalcMaxSharedSegment                = 82,
+  AllocSharedMemory                   = 83,
+  FreeSharedMemory                    = 84,
+  FreeAllSharedMemory                 = 85,
+  SetTakeOwnership                    = 86,
+  InitializeNodeHashTab               = 87,
+  ClampLocks                          = 88,
+  UnClampLocks                        = 89,
+  CheckNTAccess                       = 90,
+  noOp                                = 91,
+  InvalidateSnapshot                  = 92,
+  CleanupStaleNFS                     = 93,
+  GetKernelBoundary                   = 94,
+  SetMultiNode                        = 95,
+  BlockingMutexStatsCtl               = 96,
+  FindCloseNFS                        = 97,
+  SetMachineSID                       = 98,
+  GetPrivLevel                        = 99,
+  InvalidateVolatileOSNodes           = 100,
+  ThreadPtrToThreadID                 = 101,
+  DmApiCall                           = 102,
+  DmRemoveSession                     = 103,
+  DmGetSessions                       = 104,
+  DmUpdateSessions                    = 105,
+  AttachSharedMemory                  = 106,
+  DetachSharedMemory                  = 107,
+  XmemXfer                            = 108,
+  ctlDMS                              = 109,
+  QuiesceOperations                   = 110,
+  ResumeOperations                    = 111,
+#ifdef SMB_LOCKS
+  GetShare                            = 112,
+  GetDelegation                       = 113,
+  // unused                           = 114,
+  OplockInit                          = 115,
+  OplockTerm                          = 116,
+  OplockNotify                        = 117,
+#endif
+  SanApiCall                          = 118,
+  GetThreadID                         = 119,
+  GetTimeOfDay 			      = 120,
+  kernelLockCallback		      = 121,
+  CheckBuildTime		      = 122,
+  UMount			      = 123
+};
+
+#define kxOp_tostring(ent) \
+  (((ent) == 0)? "UNUSED 0"                           : \
+   ((ent) == 1)? "RegisterMMFSDaemon"                 : \
+   ((ent) == 2)? "WaitCondvar"                        : \
+   ((ent) == 3)? "ThreadInitOrTerm"                   : \
+   ((ent) == 4)? "SignalOrBroadcastCondvar"           : \
+   ((ent) == 5)? "GetCondWaiters"                     : \
+   ((ent) == 6)? "AllocEventWords"                    : \
+   ((ent) == 7)? "InitKernelMailboxes"                : \
+   ((ent) == 8)? "EnableIO"                           : \
+   ((ent) == 9)? "TerminateMailboxes"                 : \
+   ((ent) == 10)? "StackAddrToThreadID"               : \
+   ((ent) == 11)? "kernelTrace"                       : \
+  ((ent) == 12)? "GetDiskInfo"                        : \
+  ((ent) == 13)? "RegisterMMFSSessionId "             : \
+  ((ent) == 14)? "kernelRecLockReset"                 : \
+  ((ent) == 15)? "SetCommState"                       : \
+  ((ent) == 16)? "AcquireMutex"                       : \
+  ((ent) == 17)? "ReleaseMutex"                       : \
+  ((ent) == 18)? "RegisterNodeAddr"                   : \
+  ((ent) == 19)? "InitializeRevokeTab"                : \
+  ((ent) == 20)? "RegisterObjType"                    : \
+  ((ent) == 21)? "SetTraceLevel"                      : \
+  ((ent) == 22)? "kxtraceit"                          : \
+  ((ent) == 23)? "kPoll"                              : \
+  ((ent) == 24)? "GetLocalSGIdCounter"                : \
+  ((ent) == 25)? "QueueCompletedIO"                   : \
+  ((ent) == 26)? "AwaitIOCompletion"                  : \
+  ((ent) == 27)? "StartIO"                            : \
+  ((ent) == 28)? "GetSimpleLock"                      : \
+  ((ent) == 29)? "MapPrivate"                         : \
+  ((ent) == 30)? "SetMountInfoByID"                   : \
+  ((ent) == 31)? "FreeMailboxStorage"                 : \
+  ((ent) == 32)? "RegisterMMFSSeg"                    : \
+  ((ent) == 33)? "BreakOplock"                        : \
+  ((ent) == 34)? "GetStructSize"                      : \
+  ((ent) == 35)? "GetMapCount"                        : \
+  ((ent) == 36)? "DefineShSeg"                        : \
+  ((ent) == 37)? "SetPrivLevel"                       : \
+  ((ent) == 38)? "kernelSendFlock"                    : \
+  ((ent) == 39)? "kernelWaitForFlock"                 : \
+  ((ent) == 40)? "kernelCommonReclock"                : \
+  ((ent) == 41)? "kernelDoTraceDump"                  : \
+  ((ent) == 42)? "SetNPagesAvailable"                 : \
+  ((ent) == 43)? "CoreDump"                           : \
+  ((ent) == 44)? "PinKernelIOBuffer"                  : \
+  ((ent) == 45)? "UnpinKernelIOBuffer"                : \
+  ((ent) == 46)? "ClearMountInfo"                     : \
+  ((ent) == 47)? "unused"                             : \
+  ((ent) == 48)? "UnpinAllKernelIOBuffers"            : \
+  ((ent) == 49)? "kernelRLRevokeLock"                 : \
+  ((ent) == 50)? "kernelRLRevokeUnLock"               : \
+  ((ent) == 51)? "SetPageoutThread"                   : \
+  ((ent) == 52)? "ClearPageoutThread"                 : \
+  ((ent) == 53)? "Fattr"                              : \
+  ((ent) == 54)? "FsAttr"                             : \
+  ((ent) == 55)? "Attr"                               : \
+  ((ent) == 56)? "GetACL"                             : \
+  ((ent) == 57)? "PutACL"                             : \
+  ((ent) == 58)? "Fstat"                              : \
+  ((ent) == 59)? "Stat"                               : \
+  ((ent) == 60)? "AtomvarInit"                        : \
+  ((ent) == 61)? "VFSStatCtl"                         : \
+  ((ent) == 62)? "kernelMmapControl"                  : \
+  ((ent) == 63)? "kernelMmapInfo"                     : \
+  ((ent) == 64)? "CatalogGetMounts"                   : \
+  ((ent) == 65)? "GetMountInfoByID"                   : \
+  ((ent) == 66)? "uvmount"                            : \
+  ((ent) == 67)? "saveThreadInfo"                     : \
+  ((ent) == 68)? "kernelMmapFlush"                    : \
+  ((ent) == 69)? "InvalidateOSNode"                   : \
+  ((ent) == 70)? "IsInheritedFD"                      : \
+  ((ent) == 71)? "pNFS"                               : \
+  ((ent) == 72)? "AllocVinfo"                         : \
+  ((ent) == 73)? "CleanupVinfo"                       : \
+  ((ent) == 74)? "kernelMadvise"                      : \
+  ((ent) == 75)? "updateOSNode"                       : \
+  ((ent) == 76)? "Quotactl"                           : \
+  ((ent) == 77)? "SetPAG"                             : \
+  ((ent) == 78)? "GetUserMap"                         : \
+  ((ent) == 79)? "SetUserMap"                         : \
+  ((ent) == 80)? "GetDosAttr"                         : \
+  ((ent) == 81)? "SetDosAttr"                         : \
+  ((ent) == 82)? "CalcMaxSharedSegment"               : \
+  ((ent) == 83)? "AllocSharedMemory"                  : \
+  ((ent) == 84)? "FreeSharedMemory"                   : \
+  ((ent) == 85)? "FreeAllSharedMemory"                : \
+  ((ent) == 86)? "SetTakeOwnership"                   : \
+  ((ent) == 87)? "InitializeNodeHashTab"              : \
+  ((ent) == 88)? "unused"                             : \
+  ((ent) == 89)? "unused"                             : \
+  ((ent) == 90)? "CheckNTAccess"                      : \
+  ((ent) == 91)? "noOp"                               : \
+  ((ent) == 92)? "InvalidateSnapshot"                 : \
+  ((ent) == 93)? "CleanupStaleNFS"                    : \
+  ((ent) == 94)? "GetKernelBoundary"                  : \
+  ((ent) == 95)? "SetMultiNode"                       : \
+  ((ent) == 96)? "BlockingMutexStatsCtl"              : \
+  ((ent) == 97)? "FindCloseNFS"                       : \
+  ((ent) == 98)? "SetMachineSID"                      : \
+  ((ent) == 99)? "GetPrivLevel"                       : \
+  ((ent) == 100)? "InvalidateVolatileOSNodes"         : \
+  ((ent) == 101)? "ThreadPtrToThreadID"               : \
+  ((ent) == 102)? "DmApiCall"                         : \
+  ((ent) == 103)? "DmRemoveSession"                   : \
+  ((ent) == 104)? "DmGetSessions"                     : \
+  ((ent) == 105)? "DmUpdateSessions"                  : \
+  ((ent) == 106)? "AttachSharedMemory"                : \
+  ((ent) == 107)? "DetachSharedMemory"                : \
+  ((ent) == 108)? "XmemXfer"                          : \
+  ((ent) == 109)? "startDMS"			      : \
+  ((ent) == 110)? "QuiesceOperations"                 : \
+  ((ent) == 111)? "ResumeOperations"                  : \
+  ((ent) == 112)? "GetShare"                          : \
+  ((ent) == 113)? "GetDelegation"                     : \
+  ((ent) == 114)? "unused"                            : \
+  ((ent) == 115)? "OplockInit"                        : \
+  ((ent) == 116)? "OplockTerm"                        : \
+  ((ent) == 117)? "OplockNotify"                      : \
+  ((ent) == 118)? "SanApiCall"                        : \
+  ((ent) == 119)? "GetThreadID"                       : \
+  ((ent) == 120)? "GetTimeOfDay"                      : \
+  ((ent) == 121)? "kernelLockCallback"                : \
+  ((ent) == 122)? "CheckBuildTime"                    : \
+  ((ent) == 123)? "UMount"                           : \
+   "??")
+
+#define MAX_SS_IOCTL_OPS 123
+
+struct kxArgs
+{
+  long arg1;
+  long arg2;
+  long arg3;
+  long arg4;
+  long arg5;
+};
+
+/* Remapping structure for handling 32-bit API calls in 64-bit GPFS */
+struct kxArgs32
+{
+  UInt32 arg1;
+  UInt32 arg2;
+  UInt32 arg3;
+  UInt32 arg4;
+  UInt32 arg5;
+};
+
+#ifndef GPFS_SUPER_MAGIC
+/* ASCII code for "GPFS" in the struct statfs f_type field */
+/* This value must match same define in gpfs.h */
+#define GPFS_SUPER_MAGIC     0x47504653
+#endif
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  int  ss_init();
+  void gpfs_proc_export_init(void);
+  void gpfs_proc_export_term(void);
+  void InitSharedMemory();
+  void TermSharedMemory();
+  void CleanUpSharedMemory();
+#ifdef API_32BIT
+  void gpfs_reg_ioctl32();
+  void gpfs_unreg_ioctl32();
+#endif /* API_32BIT */
+#ifdef __cplusplus
+}
+#endif
+
+#define ASSERTBASESEG(ADDR, REA, TAG)
+
+#ifdef GPFS_ARCH_IA64
+#define SET_PRIVILEGE_LEVEL()                \
+  int fd_x;                                  \
+  fd_x = open(GPFS_DEVNAME, O_RDWR);         \
+  if (fd_x > 0)                              \
+  {                                          \
+    ioctl(fd_x, SetPrivLevel, 1);            \
+    close(fd_x);                             \
+  }
+#else
+#define SET_PRIVILEGE_LEVEL() (NOOP)
+#endif
+
+#ifdef __cplusplus
+EXTERNC int (*ss_ioctl_op[MAX_SS_IOCTL_OPS+1])(...);
+#else
+EXTERNC int (*ss_ioctl_op[MAX_SS_IOCTL_OPS+1])();
+#endif /* __cplusplus */
+
+struct cxiMemoryMapping_t;
+
+/* Compute how large the total size shared segment
+ * is allowed to grow, based on a desired size.  A value of 0 for
+ * desiredBytes means to compute the default maximum size. 
+ */
+EXTERNC int cxiCalcMaxSharedSegment(int desiredBytes, int* actualBytesP);
+
+EXTERNC int cxiAllocSharedMemory(struct cxiMemoryMapping_t *mappingP, 
+                                  Boolean isSharedSegment);
+EXTERNC int cxiFreeSharedMemory(struct cxiMemoryMapping_t *mappingP, 
+                                 Boolean isSharedSegment);
+EXTERNC int cxiAttachSharedMemory(struct cxiMemoryMapping_t *mappingP, 
+                                  Boolean isSharedSegment);
+EXTERNC int cxiDetachSharedMemory(struct cxiMemoryMapping_t *mappingP, 
+                                  Boolean isSharedSegment);
+#ifdef SSEG_SWIZZLE_PTRS
+EXTERNC int cxiRecordSharedMemory(struct cxiMemoryMapping_t *mappingP);
+#endif
+
+/* get a core dump */
+EXTERNC int kxCoreDump(long sig, void *info, struct ucontext *sc,
+                       char *filenameP);
+
+/* Map a section of memory MAP_PRIVATE */
+EXTERNC int kxMapPrivate(char *inAddr, unsigned long len, unsigned long prot,
+                         char **outAddr);
+
+/* Kernel calls implemented in portability layer */
+EXTERNC int kxPoll(void* fdListP, int nFDs, int timeoutMS);
+EXTERNC int kxGetACL(char *pathname, int flags, void *aclP);
+EXTERNC int kxPutACL(char *pathname, int flags, void *aclP);
+EXTERNC int kxMadvise(void* addr, size_t len, int advice);
+#ifdef SMB_LOCKS
+EXTERNC int setSMBOpenLockControl(void *vP, void *infoP, int command, 
+                                  int lockmode);
+EXTERNC int setSMBOplock(void *vP, void *infoP, int accessWant, int oplockWant,
+                         void *breakArgP, int *oplockGrantedP, Boolean isAsync);
+EXTERNC int kxGetShare(int fd, unsigned int share, unsigned int deny);
+EXTERNC int kxGetDelegation(int fd, unsigned int delegate_access,
+                            void *cb_token, void *cookie);
+#endif
+#ifdef GPFS_QUOTACTL
+EXTERNC int kxQuotactl(char *pathname, int cmd, int qid, void *bufferP);
+#endif
+EXTERNC int kxGetTimeOfDay(cxiTimeStruc_t *tP);
+EXTERNC cxiThreadId kxGetThreadID();
+EXTERNC int kxUMount(int flag, char *pathname, int force, int *ret_err);
+
+#if defined(GPFS_GPL)
+#if defined(GPFS_ARCH_IA64) || defined(GPFS_ARCH_X86_64)
+/* stat64 isn't defined in IA64 kernel source */
+/* stat64 only relevant to 32-bit binaries with x86-64 (asm/ia32.h) */
+#define stat64 stat
+#endif /* GPFS_ARCH_IA64 || GPFS_ARCH_X86_64 */
+#endif /* GPFS_GPL*/
+
+struct stat64;
+EXTERNC int tsstat(char *pathname, struct stat64 *statP);
+EXTERNC int tsfstat(int fileDesc, struct stat64 *statP);
+
+#endif /* _h_cxiSharedSeg_plat */
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSharedSeg.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSharedSeg.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSharedSeg.h	(revision 16)
@@ -0,0 +1,54 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)63       1.8  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiSharedSeg.h, mmfs, avs_rgpfs24, rgpfs240610b 5/9/05 10:47:23 */
+
+#ifndef _h_cxiSharedSeg
+#define _h_cxiSharedSeg
+
+/* Arrange to allocate storage for external variables defined in this file
+ * and in sharkSeg.h if the symbol _INIT_SHAREDBASEP is defined
+ */
+#ifdef _INIT_SHAREDBASEP
+#define EXTERN
+#else
+#define EXTERN extern
+#endif
+
+/* Shared segment is limited to 2GB for now since a signed int is used to keep
+ * track of it. It should either change to a long or save it as KB or even MB
+ */
+#define MAX_SSEG_MAPPINGS 2047
+
+#include <cxiSharedSeg-plat.h>
+
+#endif /* _h_cxiSharedSeg */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSystem-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSystem-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSystem-plat.h	(revision 16)
@@ -0,0 +1,846 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)65       1.116.1.3  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiSystem-plat.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/25/06 17:52:33 */
+/*
+ * Interface definitions for basic common services, Linux version
+ *
+ * Contents:
+ *   cxiGetThreadId - get thread identifier
+ *   cxiUiomove - transfer data between kernel buffer and user buffer(s)
+ *   cxiCopyIn - copy data from user to kernel buffer (kernel service)
+ *   cxiCopyOut - copy data from kernel to user buffer (kernel service)
+ *   cxiCopyInstr - copy string from user to kernel space (kernel service)
+ *
+ */
+
+#ifndef _h_cxiSystem_plat
+#define _h_cxiSystem_plat
+
+#ifndef _h_cxiSystem
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Size of stack to allocate for GPFS threads */
+#ifdef GPFS_ARCH_I386
+#define GPFS_STACK_SIZE (256*1024UL)
+#endif /* GPFS_ARCH_I386 */
+#ifdef GPFS_ARCH_POWER
+#define GPFS_STACK_SIZE (256*1024UL)
+#endif /* GPFS_ARCH_POWER */
+#ifdef GPFS_ARCH_IA64
+#define GPFS_STACK_SIZE (512*1024UL)
+#endif /* GPFS_ARCH_IA64 */
+#ifdef GPFS_ARCH_PPC64
+#define GPFS_STACK_SIZE (512*1024UL)
+#endif /* GPFS_ARCH_POWER */
+#ifdef GPFS_ARCH_X86_64
+#define GPFS_STACK_SIZE (512*1024UL)
+#endif /* GPFS_ARCH_POWER */
+
+/* -------------------------------------------------------------- */
+/* Interfaces usable from both kernel code and process-level code */
+/* -------------------------------------------------------------- */
+
+/* Main module device name */
+#define GPFS_DEVNAME "/dev/ss0"
+
+/* Virtual memory page size.  Used for aligning I/O buffers. */
+/* NOTE: Shark-gpl.h grabs PAGE_SIZE for the portability layer */
+#if !defined(GPFS_GPL)
+
+#ifdef GPFS_LINUX
+#if defined(GPFS_ARCH_IA64)
+/* Note that the page size can be adjusted in the IA64 Linux kernel */
+/* Newer tool chain uses getpagesize() for PAGE_SIZE, which is a problem */
+#define PAGE_SIZE 16384UL
+#else
+#include <sys/user.h>     /* PAGE_SIZE */
+#endif
+
+#if defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_PPC64)
+#ifndef PAGE_SIZE
+#define PAGE_SIZE 4096UL
+#endif
+#endif
+#endif /* GPFS_LINUX */
+
+#endif /* !GPFS_GPL */
+
+/* Process operations */
+#if !defined(GPFS_GPL)
+EXTERNC pid_t getpid() __THROW;
+#else
+/* use of THROW causes conflicts in portability kernel code */
+EXTERNC pid_t getpid();
+#endif /* !GPFS_GPL */
+
+/* Get the kernel thread ID, which is guaranteed to be non-zero.  In a
+ * process, this just calls getpid.  Within the kernel, this calls a routine
+ * that extracts the process ID from the current process block.
+ */
+#define MAX_GPFS_KERNEL_TID 32767      /* max kernel thread id (2^15 - 1) */
+
+#ifdef _KERNEL
+
+EXTERNC cxiThreadId cxiGetThreadId();
+
+EXTERNC UIntPtr cxiGetKernelStackSize();
+
+EXTERNC int cxiInitVFS(int vfsType);
+#define cxiTermVFS()
+
+#else   /* not _KERNEL */
+
+#include <unistd.h>
+
+#ifndef NPTL
+
+#define cxiGetTid() ((cxiThreadId)getpid())
+/* Ensure that user cxiGetThreadId generates an id that is disjoint from
+ * the kernel thread ids (current->pid) which range up to MAX_GPFS_KERNEL_TID.
+ * A mask is applied to the thread id to remove it from this range; the
+ * mask is chosen so that it is compatible with THREAD_OWNER_METHOD_THREADID
+ * and the use of the upper 2 bits for mutex operations.
+ */
+#define GPFS_PTID_MASK 0x20000000               /* pthread id/handle mask */
+#define cxiGetThreadId() ((cxiThreadId)(pthread_self() | GPFS_PTID_MASK))
+
+#else
+
+EXTERNC cxiThreadId kxGetThreadID();
+EXTERNC int kxGetTimeOfDay(cxiTimeStruc_t *tP);
+/* sys_gettid is defined in kernel, but sys call not implemented in glibc,
+   so use our own ioctl with kxGetThreadID */
+#define cxiGetTid() (kxGetThreadID())
+
+/* cxiGetThreadId returns kernel thread id */
+extern pthread_key_t pid_key;
+#define cxiGetThreadId() ((cxiThreadId)(PTR_TO_INT32(pthread_getspecific(pid_key))))
+#endif /* !NPTL */
+#endif  /* _KERNEL */
+
+#ifdef _KERNEL
+/* Convert a kernel stack address to the thread ID of the thread that uses
+   that stack */
+EXTERNC int cxiStackAddrToThreadId(char* stackP, cxiThreadId* tidP);
+/* Convert a kernel thread pointer to the corresponding thread ID */
+EXTERNC int cxiThreadPtrToThreadId(char* threadP, cxiThreadId* tidP);
+#endif  /* _KERNEL */
+
+#ifdef _KERNEL
+/* Transfer data from buffer(s) in user space to or from a buffer in the
+ *  kernel.
+ */
+EXTERNC int cxiUiomove(char* kBufP, unsigned long nBytes, Boolean toKernel,
+                       struct cxiUio_t* uioP);
+
+EXTERNC void * cxiGetFcntlOwner(eflock_t *flP);
+#define cxiSetEflockOwner(eflockP, flP) (eflockP->l_owner = cxiGetFcntlOwner(flP))
+#define FL_OFFSET_MAX (loff_t)(~0ULL>>1)
+#endif  /* _KERNEL */
+
+
+/* System priority operations */
+
+/* Define priority constants inherited from AIX;  priority can only be
+ * relatively adjusted in Linux and not set directly.
+ * AIX setpri priority numbers 0-99 (as recorded in the mmfs.cfg file)
+ * will be decremented by 60 (PUSER+20) to get to the setpriority range
+ * of -20 to 20. Linux setpriority will then bound anything outside that
+ * range to the edges of the range.
+ */
+#define PRI_SCHED    16
+#define PUSER        40
+
+#define cxiSetPri(pid, newpri) (setpriority(PRIO_PGRP, (int)pid, \
+                                            (int)newpri-(PUSER+20)))
+#define cxiGetPri(pid) ((PUSER+20) + getpriority(PRIO_PGRP, (int)pid))
+
+/* Threads are actually a cloned process with separate signal masks */
+#define cxiSigThreadMask(a,b,c)  sigprocmask((a),(b),(c));
+
+#ifndef _KERNEL
+/* Assertion functions */
+#include <assert.h>
+#define cxiAssertFailed(STRING,FILE,LINE) \
+          __assert_fail((STRING),(FILE),(LINE),__ASSERT_FUNCTION)
+#endif
+
+void dump_trace_back(char *failingExpr, char *srcFileName, int srcLineNumber);
+
+#ifdef INSTRUMENT_LOCKS
+/* Statistics kept per lock class: number of lock acquisitions and the
+   number of times the lock appeared to be held before it was requested */
+struct BlockingMutexStats
+{
+  UInt32 bmsAcquires;                   /* number of times lock obtained */
+  UInt32 bmsConflicts;                  /* number of lock conflicts */
+};
+
+#define MAX_GPFS_LOCK_NAMES 48
+
+#ifdef _KERNEL
+EXTERNC struct BlockingMutexStats BlockingMutexStatsTable[MAX_GPFS_LOCK_NAMES];
+EXTERNC void InitBlockingMutexStats();
+#endif
+#endif  /* INSTRUMENT_LOCKS */
+
+
+
+#ifdef _KERNEL
+/* String functions for the kernel */
+static inline size_t cxiStrlen(const char *str1)
+{
+  const char *beg1;
+
+  if (str1 == NULL)
+    return 0;
+
+  for (beg1 = str1; *str1; str1++);
+
+  return str1 - beg1;
+}
+
+static inline char *cxiStrcpy(char *str1, const char *str2)
+{
+  char *beg1 = str1;
+
+  while (*str1++ = *str2++);
+
+  return beg1;
+}
+
+static inline char *cxiStrcat(char *str1, const char *str2)
+{
+  char *beg1;
+
+  for (beg1 = str1; *str1; str1++);
+
+  while (*str1++ = *str2++);
+
+  return beg1;
+}
+
+static inline int cxiStrcmp(const char *str1, const char *str2)
+{
+  /* This cannot have an ENTER macro because it is used to implement ENTER
+     processing */
+  for (; *str1 == *str2; str1++, str2++)
+    if (*str1 == '\0')
+      return 0;
+
+  return *str1 - *str2;
+}
+
+static inline char *cxiStrncpy(char *str1, const char *str2, size_t num)
+{
+  char *beg1 = str1;
+
+  while (num)
+  {
+    num--;
+    if ((*str1++ = *str2++) == '\0')
+      break;
+  }
+
+  /* strncpy is defined to null out the total length */
+  while (num)
+  {
+    num--;
+    *str1++ = '\0';
+  }
+
+  return beg1;
+}
+
+static inline char *cxiStrncat(char *str1, const char *str2, size_t num)
+{
+  char *beg1;
+
+  for (beg1 = str1; *str1; str1++);
+
+  while (num-- && (*str1 = *str2++))
+   str1++;
+
+  *str1 = '\0';
+
+  return beg1;
+}
+
+static inline char *cxiStrrchr(const char *str1, int ch)
+{
+  char *ret = NULL;
+
+  do
+  {
+    if (*str1 == (char)ch)
+      ret = (char *)str1;
+  }
+  while (*str1++);
+
+  return ret;
+}
+
+static inline char *cxiStrchr(const char *str1, int ch)
+{
+  char *ret = NULL;
+
+  do
+  {
+    if (*str1 == (char)ch)
+    {
+      ret = (char *)str1;
+      break;
+    }
+  }
+  while (*str1++);
+
+  return ret;
+}
+
+static inline int cxiMemcmp(const void *v1, const void *v2, size_t num)
+{
+  char *str1 = (char *)v1;
+  char *str2 = (char *)v2;
+
+  for (; num && (*str1 == *str2); str1++, str2++, num--);
+
+  if (num)
+    return *str1 - *str2;
+  else
+    return 0;
+}
+
+static inline void *cxiMemcpy(void *v1, const void *v2, size_t num)
+{
+  char *str1 = (char *)v1;
+  char *str2 = (char *)v2;
+
+  while (num--)
+    *str1++ = *str2++;
+
+  return v1;
+}
+
+static inline void *cxiMemset(void *v1, int c, size_t num)
+{
+  char *str1 = (char *)v1;
+
+  while (num--)
+    *str1++ = c;
+
+  return v1;
+}
+#endif  /* _KERNEL */
+
+/* Local file system list */
+#define FILESYSTEM_FILE "/etc/fstab"
+#define VI_FILE         "/bin/vi"
+#define ROOT_GROUP      "root"
+#define ROOT_USER       "root"
+
+/* AIX inherited constants from device.h */
+#define CFG_INIT 0x1
+#define CFG_TERM 0x2
+
+#ifdef _KERNEL
+/* AIX inherited constants from sleep.h */
+/* flags for e_thread_sleep */
+#define INTERRUPTIBLE           (1)     /* sleep is interruptible */
+#define LOCK_HANDLER            (2)     /* lock used by interrupt handlers */
+//#define LOCK_READ             (4)     /* complex lock read mode specified */
+#define LOCK_SIMPLE             (8)     /* simple lock specified */
+//#define LOCK_WRITE            (16)    /* complex lock write mode specified */
+/* return values from e_thread_block */
+#define THREAD_AWAKENED         (1)     /* normal wakeup value */
+#define THREAD_TIMED_OUT        (2)     /* sleep timed out */
+#define THREAD_INTERRUPTED      (4)     /* sleep interrupted by signal */
+#define THREAD_OTHER            (4096)  /* Beginning of subsystem values */
+#endif /* _KERNEL */
+
+
+/* --------------------------------------- */
+/* Interfaces usable only from kernel code */
+/* --------------------------------------- */
+
+#ifdef _KERNEL
+
+/* Macros to convert Linux kernel version to a decimal integer that can
+   be compared to the symbol LINUX_KERNEL_VERSION.
+   See the description of LINUX_KERNEL_VERSION in site.mcr.proto. */
+#define GPFS_KERNEL_VERSION(_major,_minor,_sub,_mod) \
+   ( (_major)*1000000 + (_minor)*10000 + (_sub)*100 + (_mod))
+
+/*
+ * Kernel memory allocation services:
+ *
+ * These are implemented as subroutines in gpl-linux/kxiSystem.C.  All
+ * allocations use storage class GFP_KERNEL.  There is no distinction
+ * between pinned and unpinned kernel memory in Linux, so the unpinned
+ * interfaces are defined in terms of the pinned interfaces as macros.
+ */
+EXTERNC void* cxiMallocPinned(int nBytes);
+#define cxiMallocUnpinned(nBytes)  cxiMallocPinned(nBytes)
+EXTERNC void cxiFreePinned(void* p);
+#define cxiFreeUnpinned(p)         cxiFreePinned(p)
+
+EXTERNC void *cxiBigMalloc(int size);
+EXTERNC void cxiBigFree(char *ptr);
+
+
+/* cxiIsSuperUser - return true if caller has maximum authorization (is root) */
+EXTERNC Boolean cxiIsSuperUser();
+
+/* cxiGetMaxFileSize - return the maximum file size the calling process
+ * is allowed to create.
+ */
+EXTERNC Int64 cxiGetMaxFileSize();
+
+/* NFS services for Linux */
+/* nfsd calls open and release for every file read/write.  Provide a way
+   to detect that nfsd is the caller and avoid the extra overhead. */
+EXTERNC Boolean cxiIsNFSThread();
+
+/* nfsd4 opens should not block waiting for conflicting oplocks to be 
+ * broken.  They can accept EAGAIN and translate to NFS4ERR_DELAY as
+ * it does if it initiates a delegation recall.
+ */
+EXTERNC Boolean cxiIsNFS4Thread();
+
+EXTERNC Boolean cxiIsGPFSThread();
+
+EXTERNC Boolean cxiIsKswapdThread();
+
+EXTERNC Boolean cxiIsLockdThread();
+
+/* See if a cxiFlock_t belongs to NFS (lockd) */
+#define cxiGetLockCaller(lockP) ((lockP)->l_caller)
+#define cxiIsNFSLock(lockP)     ((lockP)->l_caller == L_CALLER_LOCKD)
+
+/* No-op services on linux */
+EXTERNC int socket_aio_dequeue();
+
+/* kupdate services for Linux */
+/* Use to identify syncs from kupdate that are generated way
+   too often by Linux (every 5 seconds). */
+EXTERNC Boolean cxiIsKupdateThread();
+
+#ifdef SMB_LOCKS
+/* Samba services for Linux */
+/* smbd calls open and subsequently makes calls to set open deny modes and
+   op locks.  Provide a way to distinguish these Samba calls from calls
+   from other users for which default actions on open and op locks must
+   be taken */
+EXTERNC Boolean cxiIsSambaOrLockdThread();
+
+/* Samba services for Linux */
+/* Provide a way to distinguish Samba calls from calls
+   from other users */
+EXTERNC Boolean cxiIsSambaThread();
+#endif
+
+/* The nfsd threads are allowed to FSYNC their writes. */
+#define cxiAllowNFSFsync() cxiIsNFSThread()
+
+/* OS dependent VFS calls */
+#define cxiDisconnectVfs(PVP)   /* nothing ??? */
+
+EXTERNC void cxiDeleteMmap(cxiVmid_t);  /* delete memory map */
+
+/* Set OS dependent virtual node type and device */
+EXTERNC void cxiSetOSNodeType(struct cxiNode_t *cnP, cxiMode_t mode,
+                              cxiDev_t rdev);
+#define cxiOSNodeTypeIs(CNP,VTYPE) (((CNP)->nType) == (VTYPE))
+
+EXTERNC Boolean cxiCanUncacheOSNode(void *osVfsP, struct cxiNode_t *cnP, void **vPP);
+
+#ifdef __cplusplus
+#ifdef CCL
+EXTERNC void *cxiAddOSNode(void *dentryP, void *vP, DentryOpTableTypes dopTabType, int lookup = 0);
+#else
+EXTERNC void *cxiAddOSNode(void *dentryP, void *vP, int lookup = 0);
+#endif
+#endif
+
+/* Kernel operations to copy data between user and kernel space */
+EXTERNC int cxiCopyIn(char *from, char *to, unsigned long size);
+EXTERNC int cxiCopyOut(char *from, char *to, unsigned long size);
+EXTERNC int cxiCopyInstr(char *from, char *to, unsigned long size,
+                         unsigned long *len);
+
+EXTERNC long cxiSafeGetLong(long* from);
+EXTERNC void cxiSafePutLong(long val, long* to);
+EXTERNC int cxiSafeGetInt(int* from);
+EXTERNC void cxiSafePutInt(int val, int* to);
+
+/* Adhere to XPG 1170 behaviour */
+#define cxiIsXPG()	1
+
+/* Routine to send a signal to the current thread/process */
+EXTERNC void cxiSendSigThread(int sig);
+
+/* Routines to manipulate cxiWaitEvent_t objects. */
+EXTERNC void cxiWaitEventInit(cxiWaitEvent_t* weP);
+EXTERNC Boolean cxiWaitEventHasWaiters(cxiWaitEvent_t* weP);
+
+/* Kernel-only synchronization primitives.  A cxiBlockingMutex_t can be used
+   to protect a critical section.  Requests to acquire a cxiBlockingMutex
+   that is already held by another thread will block the caller.  Must
+   initialize the mutex before acquiring it, and must terminate it before
+   deallocating the storage it occupies.  Implemented using semaphores on
+   Linux. */
+EXTERNC void cxiBlockingMutexInit(cxiBlockingMutex_t* mP, int bmNameIdx);
+EXTERNC void cxiBlockingMutexAcquire(cxiBlockingMutex_t* mP) REGPARMS;
+EXTERNC void cxiBlockingMutexRelease(cxiBlockingMutex_t* mP) REGPARMS;
+EXTERNC void cxiBlockingMutexTerm(cxiBlockingMutex_t* mP);
+EXTERNC Boolean cxiBlockingMutexHeldByCaller(cxiBlockingMutex_t* mP);
+EXTERNC Boolean cxiBlockingMutexHasWaiters(cxiBlockingMutex_t* mP);
+
+/* Yield the CPU to allow other processes to run */
+EXTERNC void cxiYield();
+
+/* Well defined portability interface calling changing (depending on kernel
+ * level) linux interface
+ */
+EXTERNC int cxiFillDir(void *argP, const char *nameP, 
+                       int namelen, offset_t offset, ino_t ino);
+
+/* A cxiWaitEvent_t can be used like a condition variable using the calls
+   below.  There must be an associated cxiBlockingMutex_t held when calling
+   cxiWaitEventWait that will be reacquired before returning.  The routine
+   cxiWaitEventSignal wakes up one thread waiting in cxiWaitEventWait,
+   while cxiWaitEventBroadcast wakes all such waiting threads.  The
+   cxiWaitEventWakeupOne routine is the same as cxiWaitEventSignal except
+   that multiple calls will each pick a different thread.  The flags
+   parameter to cxiWaitEventWait indicates whether or not the wait can be
+   interrupted by a signal.  It should be set to INTERRUPTIBLE if
+   interrupts due to signals are desired, otherwise set to 0. */
+EXTERNC int cxiWaitEventWait(cxiWaitEvent_t* weP, cxiBlockingMutex_t* mutexP,
+                             int waitFlags);
+EXTERNC void cxiWaitEventSignal(cxiWaitEvent_t* weP);
+EXTERNC void cxiWaitEventWakeupOne(cxiWaitEvent_t* weP);
+EXTERNC void cxiWaitEventBroadcast(cxiWaitEvent_t* weP);
+EXTERNC void cxiWaitEventBroadcastRC(cxiWaitEvent_t* weP, int rc);
+
+/* Kill the system due to a fatal error */
+EXTERNC void cxiPanic(const char* panicStrP);
+
+/* Get the address of the first byte not addressible by processes */
+EXTERNC UIntPtr cxiGetKernelBoundary();
+
+/* Return true if this process holds the big kernel lock (BKL) */
+EXTERNC Boolean cxiHoldsBKL();
+
+EXTERNC void cxiExportModuleStruct(void *modAddr);
+EXTERNC void cxiIncModuleCounter(int up);
+
+EXTERNC void cxiSetBit(unsigned long *flagP, int flag_bit);
+EXTERNC void cxiClearBit(unsigned long *flagP, int flag_bit);
+EXTERNC Boolean cxiTestBit(unsigned long *flagP, int  flag_bit);
+
+/* Tell OS if a thread is involved in handling VM page-out requests */
+EXTERNC Boolean cxiSetPageoutThread();
+EXTERNC void cxiClearPageoutThread();
+
+#ifdef API_32BIT
+#ifdef GPFS_ARCH_IA64
+/* Macros for 32-bit API support. 32-bit addresses are in region 0,
+   so the upper 32-bits of 32-bit proc addresses are just zero extended. */
+#define MASK_UPPER32 0xFFFFFFFF00000000UL
+#define cxiIS64U(addr) ((((UIntPtr)addr) & MASK_UPPER32) != 0)
+#endif /* GPFS_ARCH_IA64 */
+#ifdef GPFS_ARCH_X86_64
+/* Need to define cxiIS64U in portability layer for Opteron. */
+EXTERNC int cxiIS64U(char *addr);
+#endif /* GPFS_ARCH_X86_64 */
+#endif /* API_32BIT */
+
+#endif  /* _KERNEL */
+
+/* Return current time of day in seconds and nanoseconds. */
+#ifdef _KERNEL
+EXTERNC int cxiGetTOD(cxiTimeStruc_t *tP);
+
+static inline void cxiInvalidateAttr(cxiNode_t *cnP, int what)
+{
+  cnP->icValid &= ~what;
+  if (what & CXI_IC_PERM)
+    cxiInvalidatePerm(cnP);
+}
+
+#else /* !_KERNEL */
+
+struct timezone;
+EXTERNC int gettimeofday __P ((struct timeval *__tv, struct timezone *__tz));
+/* cxiTimeStruc_t should have same size as linux struct timeval.
+ * Call LGPL library function and translate microseconds from call
+ * to nanoseconds.
+ */
+
+EXTERNC inline int cxiGetTOD(cxiTimeStruc_t *tP)
+{
+#ifdef STANDALONE_PROGRAM
+   int rc = gettimeofday((struct timeval *)tP, NULL);
+   tP->tv_nsec = tP->tv_nsec * 1000;
+   return rc;
+#else
+  return kxGetTimeOfDay(tP);
+#endif
+
+#define cxiSafeGetLong(_ptr) (*_ptr)
+#define cxiSafeGetInt(_ptr) (*_ptr)
+}
+
+/* String functions in user space */
+#define cxiStrcpy  strcpy
+#define cxiStrncpy strncpy
+#define cxiStrcat  strcat
+#define cxiStrncat strncat
+#define cxiStrrchr strrchr
+#define cxiStrchr  strchr
+#define cxiStrcmp  strcmp
+#define cxiMemcpy  memcpy
+#define cxiStrlen  strlen
+#define cxiMemcmp  memcmp
+#define cxiMemset  memset
+
+#endif /* _KERNEL */
+
+/* Samba share/delegate flags.  Unlike NFSV4, the interface here is
+ * just between our Samba vfs library and ourselves so we can define
+ * these to be any values we choose.  */
+#define CXI_ACCESS_READ   1
+#define CXI_ACCESS_WRITE  2
+#define CXI_ACCESS_BOTH   3
+#define CXI_DENY_NONE     0
+#define CXI_DENY_READ     1
+#define CXI_DENY_WRITE    2
+#define CXI_DENY_BOTH     3
+#define CXI_DELEGATE_NONE  0
+#define CXI_DELEGATE_READ  1
+#define CXI_DELEGATE_WRITE 2
+
+/* Whatever the values specified in Samba for share, deny, and oplock flags,
+ * we have to translate them to our SMB open and oplock flags.
+ * Define macros to translate and error check.
+ */
+#define XLATE_SAMBA_ACCESS(SAMBA_SHARE, SHARE) \
+  if (SAMBA_SHARE == CXI_ACCESS_READ) SHARE |= coRead; \
+  else if (SAMBA_SHARE == CXI_ACCESS_WRITE) SHARE |= coWriteM|coWriteA; \
+  else if (SAMBA_SHARE == CXI_ACCESS_BOTH) SHARE |= coRead|coWriteM|coWriteA; \
+  else if (SAMBA_SHARE != 0) goto xerror;
+
+#define XLATE_SAMBA_DENY(SAMBA_DENY, SHARE) \
+  if (SAMBA_DENY == CXI_DENY_NONE) SHARE &= ~coDenyAll; \
+  else if (SAMBA_DENY == CXI_DENY_READ) SHARE |= coDenyR; \
+  else if (SAMBA_DENY == CXI_DENY_WRITE) SHARE |= coDenyWM|coDenyWA; \
+  else if (SAMBA_DENY == CXI_DENY_BOTH) SHARE |= coDenyR|coDenyWM|coDenyWA; \
+  else goto xerror;
+
+#define XLATE_SAMBA_DELEGATE(SAMBA_DELEGATE, OPLOCK) \
+  if (SAMBA_DELEGATE == CXI_DELEGATE_NONE) OPLOCK |= smbOplockNone; \
+  else if (SAMBA_DELEGATE == CXI_DELEGATE_READ) OPLOCK |= smbOplockShared; \
+  else if (SAMBA_DELEGATE == CXI_DELEGATE_WRITE) OPLOCK |= smbOplockExclusive; \
+  else goto xerror;
+
+/* Call Linux-specific F_SETLEASE operation.
+   This will register the caller so that it will be notified via SIGIO
+   when an OpLock break is required (REVOKE_LEASE is called).
+*/
+#define CXI_REGISTER_LEASE(FD, LTYPE) \
+  fcntl(FD, F_SETLEASE, (LTYPE == CXI_DELEGATE_READ )? F_RDLCK: \
+                        (LTYPE == CXI_DELEGATE_WRITE)? F_WRLCK: F_UNLCK)
+
+/* Call Linux-specific F_GETLEASE */
+#define CXI_GET_LEASE_HELD(FD, LEASE) \
+  LEASE = fcntl(FD, F_GETLEASE, 0); \
+  LEASE = (LEASE == F_RDLCK)? CXI_DELEGATE_READ: \
+          (LEASE == F_WRLCK)? CXI_DELEGATE_WRITE: \
+          (LEASE == F_UNLCK)? CXI_DELEGATE_NONE: LEASE
+
+#if defined(NFS4_CLUSTER) || defined(NFS4_VCM)
+
+#define OPEN4_SHARE_ACCESS_READ  0x00000001
+#define OPEN4_SHARE_ACCESS_WRITE 0x00000002
+#define OPEN4_SHARE_ACCESS_BOTH  0x00000003
+#define OPEN4_SHARE_DENY_NONE    0x00000000
+#define OPEN4_SHARE_DENY_READ    0x00000010
+#define OPEN4_SHARE_DENY_WRITE   0x00000020
+#define OPEN4_SHARE_DENY_BOTH    0x00000030
+#define OPEN_DELEGATE_NONE       0x00000000
+#define OPEN_DELEGATE_READ       0x00000100
+#define OPEN_DELEGATE_WRITE      0x00000200
+
+#define CXI_SHARE_ACCESS_READ   OPEN4_SHARE_ACCESS_READ
+#define CXI_SHARE_ACCESS_WRITE  OPEN4_SHARE_ACCESS_WRITE
+#define CXI_SHARE_ACCESS_BOTH   OPEN4_SHARE_ACCESS_BOTH
+#define CXI_SHARE_DENY_NONE     OPEN4_SHARE_DENY_NONE
+#define CXI_SHARE_DENY_READ     OPEN4_SHARE_DENY_READ
+#define CXI_SHARE_DENY_WRITE    OPEN4_SHARE_DENY_WRITE
+#define CXI_SHARE_DENY_BOTH     OPEN4_SHARE_DENY_BOTH
+#define CXI_OPEN_DELEGATE_NONE  OPEN_DELEGATE_NONE
+#define CXI_OPEN_DELEGATE_READ  OPEN_DELEGATE_READ
+#define CXI_OPEN_DELEGATE_WRITE OPEN_DELEGATE_WRITE
+
+/* Whatever the values specified in the NFS4 interface for share, deny, and
+ * delegate flags, we have to translate them to our SMB open and oplock flags.
+ * Define macros to translate and error check.
+ */
+#define XLATE_NFS4_ACCESS(NFS4_SHARE, SHARE) \
+  if (NFS4_SHARE == CXI_SHARE_ACCESS_READ) SHARE |= coRead; \
+  else if (NFS4_SHARE == CXI_SHARE_ACCESS_WRITE) SHARE |= coWriteM|coWriteA; \
+  else if (NFS4_SHARE == CXI_SHARE_ACCESS_BOTH) SHARE |= coRead|coWriteM|coWriteA; \
+  else if (NFS4_SHARE != 0) goto xerror;
+
+#define XLATE_NFS4_DENY(NFS4_DENY, SHARE) \
+  if (NFS4_DENY == CXI_SHARE_DENY_NONE) SHARE &= ~coDenyAll; \
+  else if (NFS4_DENY == CXI_SHARE_DENY_READ) SHARE |= coDenyR; \
+  else if (NFS4_DENY == CXI_SHARE_DENY_WRITE) SHARE |= coDenyWM|coDenyWA; \
+  else if (NFS4_DENY == CXI_SHARE_DENY_BOTH) SHARE |= coDenyR|coDenyWM|coDenyWA; \
+  else goto xerror;
+
+#define XLATE_NFS4_DELEGATE(NFS4_DELEGATE, OPLOCK) \
+  if (NFS4_DELEGATE == CXI_OPEN_DELEGATE_NONE) OPLOCK |= smbOplockNone; \
+  else if (NFS4_DELEGATE == CXI_OPEN_DELEGATE_READ) OPLOCK |= smbOplockShared; \
+  else if (NFS4_DELEGATE == CXI_OPEN_DELEGATE_WRITE) OPLOCK |= smbOplockExclusive; \
+  else goto xerror;
+
+#endif /* NFS4_CLUSTER */
+
+#ifdef NFS4_VCM
+/* VCM definitions */
+#define boolean_t Boolean
+#define uint16_t UInt16
+
+typedef void * vcm_peerHandle_t;
+typedef uint16_t vcm_opRights_t;
+typedef UInt64 vcm_revokeTag_t;
+
+/* VCM flags */
+
+/* Flags for vcm_peerRegister() */
+#define VCM_PRGY_RTN_OPENS    0x00000001
+#define VCM_PRGY_ENF_VREG     0x00000002
+#define VCM_PRGY_ENF_VDIR     0x00000004
+#define VCM_PRGY_ENF_VLNK     0x00000008
+
+/* Flags for vcm_peerRevoke() */
+#define VCM_P_RVK_NOWAIT      0x00000001
+#define VCM_P_RVK_FORCE       0x00000002
+
+/* Flags for getOpRights */
+#define VCM_P_GR_NOWAIT       0x00000001
+
+/* Flags for returnOpRights */
+#define VCM_P_RR_REL_OBJ      0x00000001
+
+/* Flags for vcm_peerCreateReq_t */
+#define VCM_P_CREQ_F_CREATE   0x00000001
+
+
+/* GPFS peer-side utilities */
+#define cxiPeerUnregister() (NOOP);
+#define cxiGetPeerTag() ((uint64_t)NULL)
+#define cxiGetPeerHandle() ((vcm_peerHandle_t)NULL)
+#define cxiWatchVCM(nfsP, doClose) (0);
+#define cxiCleanupVCM(nfsP) (0);
+#define cxiFSCleanupVCM(privVfsP) (0);
+
+#define cxiInitVCM(nfsP) \
+{ \
+  nfsP->vcmRights = 0; \
+  nfsP->vcmRevokeRights = 0; \
+  nfsP->vcmRevokeTag = 0; \
+}
+
+/* GPFS peer-side interfaces */
+#define gpfs_vcm_releaseObjHandle(peerTag, objHandleP) (0)
+#define delegateInternal(vP, vinfoP, acc, flags, cb_rtn, cookie) (0)
+
+/* VCM-side interfaces */
+#define vcm_peerRegister(peerInfoP, peerHandleP) (0)
+#define vcm_peerUnregister(peerHandle) (0)
+#define vcm_peerRevoke(peerHandle, objHandle, peerOpHandle, peerTag, \
+                       rights, flags, releObjHandleP) (0) 
+#define vcm_peerTest(tc, fid, vfsP, opInfoP) (0)
+
+/* The CXI_OPEN/SHARE values will be set to the VCM Rights 
+ * Here some useful comparison macros based on these defines are included. */
+#define CXI_DELEGATE          (CXI_OPEN_DELEGATE_READ | CXI_OPEN_DELEGATE_WRITE)
+#define CXI_SHARE_ALLOW       (CXI_SHARE_ACCESS_READ | CXI_SHARE_ACCESS_WRITE)
+#define CXI_SHARE_DENY        (CXI_SHARE_DENY_READ | CXI_SHARE_DENY_WRITE)
+#define CXI_SHARE             (CXI_SHARE_ALLOW | CXI_SHARE_DENY)
+
+#define CXI_IS_DELEGATE_READ(R)  (0 != (R & CXI_OPEN_DELEGATE_READ))
+#define CXI_IS_DELEGATE_WRITE(R) (0 != (R & CXI_OPEN_DELEGATE_WRITE))
+#define CXI_IS_SHARE_READ(R)     (0 != (R & CXI_SHARE_ACCESS_READ))
+#define CXI_IS_SHARE_WRITE(R)    (0 != (R & CXI_SHARE_ACCESS_WRITE))
+#define CXI_IS_DENY_READ(R)      (0 != (R & CXI_SHARE_DENY_READ))
+#define CXI_IS_DENY_WRITE(R)     (0 != (R & CXI_SHARE_DENY_WRITE))
+#define CXI_IS_DELEGATE(R)       (0 != (R & CXI_DELEGATE))
+#define CXI_IS_SHARE_ALLOW(R)    (0 != (R & CXI_SHARE_ALLOW))
+#define CXI_IS_SHARE_DENY(R)     (0 != (R & CXI_SHARE_DENY))
+#define CXI_IS_SHARE(R)          (0 != (R & CXI_SHARE))
+
+#endif /* NFS4_VCM */
+
+#if defined(DMAPI) || defined(SANERGY)
+
+EXTERNC int cxiPathToVfsP(void **privVfsPP, char *pathname, void **ndPP, void **gP, Boolean traverseLink);
+EXTERNC void cxiPathRel(void * ndP);
+EXTERNC void cxiSetCred(void *eCredP);
+
+#endif /* DMAPI or SANERGY */
+
+#ifdef UIDREMAP
+EXTERNC size_t cxiGetUserEnvironmentSize(void);
+EXTERNC int cxiGetUserEnvironment(char* buf, size_t len);
+#endif
+
+EXTERNC Boolean cxiHasMountHelper();
+
+EXTERNC int cxiCheckThreadState(cxiThreadId tid);
+
+#ifdef P_NFS4
+EXTERNC int cxiSetFH(int *fhP, int sid);
+EXTERNC int cxiOpenState(void *vfsP, void *p);
+EXTERNC int cxiChangeState(void *vfsP, void *p);
+EXTERNC int cxiRecallLayout(void *vfsP, void *vP, void *p);
+EXTERNC int cxiGetDeviceList(int nDests, int *dests, void *p);
+EXTERNC int cxiGetDeviceInfo(void *p);
+EXTERNC int cxiGetLayout(int nDests, int *dests, cxiVattr_t *vattr,
+                         int myAddr, void *p);
+#endif
+#endif  /* _h_cxiSystem_plat */
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSystem.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSystem.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiSystem.h	(revision 16)
@@ -0,0 +1,226 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)92       1.77.1.1  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiSystem.h, mmfs, avs_rgpfs24, rgpfs24s005a 7/25/06 19:21:11 */
+/*
+ * Interface definitions for basic common services, platform independent
+ * version. Interfaces in the first section of this file may be used by code
+ * running either in a process or in the kernel, while interfaces defined
+ * in the second section of this file may only be used by code running in the
+ * kernel.
+ *
+ * Process and kernel interfaces:
+ *   cxiGetThreadId - get thread identifier
+ *
+ * Kernel-only memory allocation services:
+ *   void* cxiMallocPinned(int nBytes)
+ *   void* cxiMallocUnpinned(int nBytes)
+ *   void cxiFreePinned(void* p)
+ *   void cxiFreeUnpinned(void* p)
+ *
+ * Kernel-only interfaces:
+ *   cxiIsSuperUser - return true if caller has maximum authorization
+ *   cxiGetMaxFileSize - return the maximum file size the calling process
+ *     is allowed to create.  A value of cxiUnlimitedFileSize means file
+ *     sizes are not limited.
+ *   cxiUiomove - transfer data from buffer(s) in user space to or from
+ *     a buffer in the kernel.
+ *
+ */
+
+#ifndef _h_cxiSystem
+#define _h_cxiSystem
+
+#include <cxiTypes.h>
+
+#ifdef NFS4_CLUSTER
+#if LINUX_KERNEL_VERSION >= 2061500
+# define NFS_CLUSTER_LOCKS
+#endif
+#endif
+
+/* Prototypes for OS dependent entry points called by GPFS.
+ * If any of these should become macros for certain OSes then
+ * this definition will have to move into the platform specific
+ * system file.
+ */
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+int cxiFindOSNode(void *osVfsP, struct cxiNode_t *, void **osNodePP,
+                  Boolean);
+int cxiNewOSNode(void *osVfsP, struct cxiNode_t **, void **osNodePP,
+                 cxiIno_t, int, void *opaqueP);
+int cxiReactivateOSNode(void *osVfsP, struct cxiNode_t *, void **osNodePP);
+
+int cxiRefOSNode(void *osVfsP, struct cxiNode_t *, void *osNodeP, int);
+int cxiRefOsNode(void *osVfsP, struct cxiNode_t *, void *osNodeP, int,
+                 Boolean calledFromRevoke);
+int cxiInactiveOSNode(void *osVfsP, struct cxiNode_t *, void *osNodeP,
+                      Boolean *, Boolean *);
+
+int  cxiRegisterCleanup();
+
+void cxiPutOSNode(void *vP);
+void cxiDestroyOSNode(void *vP);
+void cxiDumpOSNode(struct cxiNode_t *);
+void cxiFreeOSNode(void *osVfsP, struct cxiNode_t *, void *osNodeP);
+void cxiReinitOSNode(void *osVfsP, struct cxiNode_t *, void *osNodeP);
+int  cxiPruneDCacheEntry(cxiNode_t *cnP);
+int  cxiInvalidateDCacheEntry(cxiNode_t *cnP);
+void cxiDropInvalidDCacheEntry(cxiNode_t *cnP);
+int  cxiInvalidateNegDCacheEntry(cxiNode_t *cnP);
+void cxiInvalidatePerm(cxiNode_t *cnP);
+void cxiUpdateInode(cxiNode_t *cnP, cxiVattr_t *attrP, int what);
+
+void cxiSetOSNodeType(cxiNode_t *cnP, cxiMode_t mode, cxiDev_t dev);
+void cxiSetOSNode(void *osVfsP, cxiNode_t *cnP, cxiVattr_t *vattrP);
+
+int cxiSetMountInfo(void *osVfsP, cxiDev_t, int bsize, void *osRootNodeP,
+                    struct cxiNode_t *cnRootP, Boolean *releRootP,
+                    void *gnRootP, fsid_t fsid);
+int cxiUnmount(void *osVfsP, Boolean force, Boolean doDMEvents);
+int cxiIsVfsMounted(void *osVfsP);
+
+int cxiFcntlLock(void *fP, int cmd, void *flP,
+                 cxiFlock_t *flockP, int (*retryCB)(),
+                 cxiOff64_t size, cxiOff64_t offset,
+                 unsigned long *retry_idP);
+int cxiFcntlReset(void *vfsP, cxiPid_t mmfsd_pid);
+void cxiFcntlUnblock(void *retry_idP);
+int cxiTrace(cxiTrace_t trace);
+void cxiFlockToVFS(eflock_t* lckdatP, void* vP);
+void cxiVFSToFlock(void *vP, eflock_t* lckdatP);
+int cxiVFSCallback(eflock_t* lckreqP, eflock_t* lckdatP,
+			int(* callback)(void *, void *, int), int result);
+
+void cxiOpenNFS(void *vP);
+int cxiCloseNFS(void *vP, void *viP);
+void cxiSetNFSCluster(int set);
+void cxiNFSError(int rc, const char *str);
+#define cxiErrorNFS(rc) cxiNFSError(rc, __FUNCTION__)
+
+void *cxiGetNfsP(void *vP);
+void  cxiSetNfsP(void *vP, void *newP);
+void *cxiGetCnP(void *vP);
+void *cxiGetPvP(void *vP);
+void *cxiGNPtoVP(void *vP);
+void *cxiGetPrivVfsP(void *vP);
+
+#ifdef _KERNEL
+cxiPid_t cxiStartKProc(struct cxiKProcData_t *);
+void cxiStopKProc(struct cxiKProcData_t *);
+#endif
+void cxiSleep(int ms);
+
+#ifdef SMB_LOCKS
+void *cxiCheckOpen(struct cxiNode_t* cnP);
+int setSMBOpenLockControl(void *vP, void *infoP, int command, int lockmode);
+int setSMBOplock(void *vP, void *infoP, int accessWant, int oplockWant,
+                 void *breakArgP, int *oplockGrantedP, Boolean isAsync);
+int breakSMBOplock(cxiDev_t dev, cxiIno_t ino, int oplockCurrent, int oplockNew,
+                   void *breakArgP, void *fileArgP, void *nfs4_cookie,
+                   int timeoutSeconds);
+int cxiInitBreakQ();
+int cxiTermBreakQ();
+int cxiBreakOplock(void *breakArgP, int oplockNew);
+int cxiWaitForBreak(void *fileArgP, int oplockCurrent, int timeoutSeconds);
+int cxiSendBreakMsg(void *ofP);
+#endif
+
+int cxiGetCred(void *bufP, void **uCredPP, void **eCredPP);
+int cxiPutCred(void *userCredP, void *extCredP);
+
+/* Insure that our type definitions match any OS definitions */
+int cxiCheckTypes();
+
+#ifdef DISK_LEASE_DMS
+#define MAX_DMS_INDEX 32
+EXTERNC void cxiStartDMS(int idx, int delay, int (*funcP)(int));
+EXTERNC void cxiStopDMS(int idx);
+EXTERNC int cxiInitDMS();
+EXTERNC void cxiShutdownDMS();
+#else
+#define MAX_DMS_INDEX 1
+#endif
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+/* Values for 'what' parameter to cxiUpdateInode and statUpdateOSNode:
+   Selectively updated the OS node attributes. */
+#define CXIUP_NLINK    0x00000001   /* update nlink */
+#define CXIUP_MODE     0x00000002   /* update mode and ctime */
+#define CXIUP_OWN      0x00000004   /* update mode,uid,gid and ctime */
+#define CXIUP_SIZE     0x00000008   /* update fsize */
+#define CXIUP_SIZE_BIG 0x00000010   /* update fsize if bigger */
+#define CXIUP_TIMES    0x00000020   /* update all times */
+#define CXIUP_ATIME    0x00000040   /* update atime only, other flags are not
+                                         checked */
+#define CXIUP_PERM     0x00000080   /* update fields needed for permission
+                                         checking */
+
+#define cxiDev32Major(x) (Int32)((unsigned)(x)>>16)
+#define cxiDev32Minor(x) (Int32)((x)&0xFFFF)
+
+/* Maximum number of simultaneous threads (must be a power of 2) */
+#ifdef __64BIT__
+#define MAX_GPFS_THREADS 1024
+#define MAX_RCVWORKER_POOL 256
+#else
+#define MAX_GPFS_THREADS 512
+#define MAX_RCVWORKER_POOL 128
+#endif
+
+/* Include platform-specific versions of interfaces to common exported
+   services */
+#include <cxiSystem-plat.h>
+
+#define MAX_READDIR_BUF_SIZE 65536
+
+#ifdef NFS4_ACL
+/* Kernel routine to be called for NFSv4 audit ACL entries */
+EXTERNC int cxiAuditWrite(int numargs, ...);
+
+/* Kernel routine to be called for NFSv4 alarm ACL entries */
+static int cxiAlarmWrite(int numargs, ...) { return -1; }
+
+/* Values for gpfsOpen internal flags (iflags) argument  */
+#define GPFS_OPEN_NO_SMBLOCK 0x00000001 /* Don't obtain OpenLk */
+#define GPFS_OPEN_VCM_OBJECT 0x00000002 /* No SMB locking      */
+#endif /* NFS4_ACL */
+
+#endif  /* _h_cxiSystem */
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiTSFattr.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiTSFattr.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiTSFattr.h	(revision 16)
@@ -0,0 +1,370 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)68       1.51  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiTSFattr.h, mmfs, avs_rgpfs24, rgpfs24s003a 5/8/06 15:23:39 */
+
+#ifndef _h_cxitsfattr
+#define _h_cxitsfattr
+
+#include <cxiTypes.h>
+
+/* defines for command parameter in tsfattr() */
+#define SET_BUFFERING          10
+#define GET_BUFFERING          11
+#define LIST_XATTR             12
+#define GET_XATTR              13
+#define SET_XATTR              14
+#define GPFS_STATFSPOOL        15 
+#define GPFS_GETPOOLNAME       16
+/* #define GET_REPL_FACTORS       20  deprecated -- use gpfs_fcntl */
+/* #define SET_REPL_FACTORS       21  deprecated -- use gpfs_fcntl */
+#define REMOTE_STAT            22
+#define IO_HINTS               24
+#define PREALLOCATE_FILE       25
+#define GET_ALL_ATTRS          27
+#define PUT_ALL_ATTRS          28
+#define PUT_ALL_ATTRS_WITH_NAME 29
+
+#define PRIVILEGED_OPERATIONS  31   /* must be privileged user for operations
+                                       bigger than PRIVILEGED_OPERATIONS */
+
+#define GET_INODE_BLOCK        32
+#define GET_DIR_BLOCK          33
+#define SET_DIR_ENTRY          34
+#define GPFS_IOPEN             35
+#define GPFS_ICLOSE            36
+#define GPFS_IREAD             37
+#define GPFS_IWRITE            38
+#define GPFS_IREAD_SYMLINK     39
+#define GPFS_IGET_ATTRS        40
+#define GPFS_IPUT_ATTRS        41
+/* #define UNUSED                 42 */
+#define GPFS_SYNC_FS           43
+#define GPFS_START_RESTORE     44
+#define GPFS_END_RESTORE       45
+#define GPFS_FS_RESTORABLE     46
+#define GPFS_IGET_FILESET      47
+#define GPFS_IGET_STORAGEPOOL  48
+#define GPFS_IREADX            49
+#define GPFS_IWRITEX           50
+#define GPFS_OPEN_FSSNAPHANDLE 51
+
+/* define KERNEL_LOGGENERIC    97  Defined in tsfattrx.h */
+/* define KERNEL_LOGSPECIFIC   98  Defined in tsfattrx.h */
+/* define TEST_LOCK_PERF       99  Defined in tsfattrx.h */
+
+
+/* If you add a new tsfattr command, also update trcfmt.common */
+#define tsfattrcmd_id2name(s) ((int)(s))
+
+
+/* defines for command parameter in tsfsattr() */
+/*define PRIVILEGED_OPERATIONS  30    must be privileged user for operations
+                                      bigger than PRIVILEGED_OPERATIONS */
+#define GPFS_FSATTR_HANDLE_VIA_NAME     30
+#define GPFS_FSATTR_HANDLE_VIA_ID       31
+#define GPFS_FSATTR_PATH_VIA_HANDLE     32
+#define GPFS_FSATTR_FSNAME_VIA_HANDLE   33
+#define GPFS_FSATTR_SNAPNAME_VIA_HANDLE 34
+#define GPFS_FSATTR_RESTORE_FSSNAPID_VIA_HANDLE 35
+#define GPFS_FSATTR_GET_SNAPDIRNAME     36
+
+/* If you add a new tsfsattr command, also update trcfmt.common */
+#define tsfsattrcmd_id2name(s) ((int)(s))
+
+
+
+/* Structure used to receive additional information regarding
+   operation failures. */
+typedef struct
+{
+  int reason;               /* reason request failed */
+  int value1;               /* optional value depending upon reason */
+  int value2;               /* optional value depending upon reason */
+} tsfattrReasonCodeInfo;
+
+
+
+/* Structure used to pass FILE_PREALLOCATION information */
+struct filePreallocation
+{
+  long long offset;        /* in  - offset to start preallocation from */
+  long long size;          /* in  - size of preallocation */
+  int       flags;         /* in  - write flags */
+};
+
+/* Structure used to pass parameters for GET_ALL_ATTRS and PUT_ALL_ATTRS
+   functions. For PUT_ALL_ATTRS_WITH_NAME, the attrSizeP points to the 
+   pathName or NULL. */
+struct xattrsparms
+{
+  int flags;       /* in - flags (must be zero, reserved for future use) */
+  void *bufferP;   /* in - address of buffer containing or receiving
+                           attribute data */
+  int bufferSize;  /* in - size of the buffer (not used by PUT_ALL_ATTRS) */
+  int *attrSizeP;  /* in - address where to return actual size of the data
+                           (not used by PUT_ALL_ATTRS) */
+};
+
+/* Interface structures for gpfsStatFsPool() */
+typedef struct
+{
+  UInt64    f_blocks;     /* total data blocks in pool */
+  UInt64    f_bfree;      /* free blocks in pool */
+  UInt64    f_bavail;     /* free blocks avail to non-superuser */
+  UInt64    f_mblocks;    /* total metadata blocks in pool */
+  UInt64    f_mfree;      /* free blocks avail for system metadata */
+  int       f_bsize;      /* optimal storage pool block size */
+  int       f_files;      /* total file nodes assigned to pool */
+  UInt32    f_poolid;     /* storage pool id */
+  int       f_fsize;      /* fundamental file system block size */
+  unsigned int f_usage;   /* data and/or metadata stored in pool */
+  int       f_reserved[7];/* currently unused and set to zero */
+} cxiStatFsPool_t;
+
+typedef struct 
+{
+  UInt32 poolId;
+  UInt32 options;
+  int    nPools;
+  int    bufferSize;
+  char  *bufferP;
+} cxiStatFsPoolArgs_t;
+
+
+
+
+/* Definitions for GPFS file attribute function */
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+  extern int tsfattr(int fileDesc,  /* Open file descriptor */
+                     int command,   /* Control function to be performed */
+                     void *argP,    /* Additional info required by function */
+                     tsfattrReasonCodeInfo *rCodeP); /* More returned info*/
+
+  extern int tsfsattr(int command,  /* Control function to be performed */
+                      void *argP);  /* Additional info required by function */
+
+  /* The tsattr call only supports the following commands:
+       GET_REPL_FACTORS
+   */
+  extern int tsattr(char *pathname, /* File pathname */
+                    int command,    /* Control function to be performed */
+                    void *argP,     /* Additional info required by function */
+                    tsfattrReasonCodeInfo *rCodeP); /* More returned info*/
+
+/* Define type used to identify a file system. Internally, this is
+   actually a DiskUID. Assignments to and from this id must be cast 
+   as DiskUIDs to generate the correct byte-swapping code. */
+typedef struct _gpfs_fs_id
+{
+  BigEndUInt32 word0;
+  BigEndUInt32 word1;
+} _gpfs_fs_id_t;
+
+/* Structure used to hold snapshot id max size is 48 see gpfs_snap_id_t in
+   gpfs.h. Note that the "_gpfs" prefix is used for an internal definition 
+   of an externally defined structure. */
+#define FSSNAPID_MAGIC 0xD00FF009
+#define ISCAN_VERSION 1
+
+typedef struct _gpfs_fssnap_id
+{
+  BigEndInt32 magic;           /* magic number                  */
+  BigEndInt32 fmtVersion;      /* version from curFmtVersion    */
+  BigEndInt64 snapId;          /* snapshot id                   */
+  BigEndInt64 baseSnapId;      /* base id for snapshot          */
+  _gpfs_fs_id_t stripeId;      /* FS id assigned at format time */
+  _gpfs_fs_id_t baseStripeId;  /* base FS id for snapshot       */
+  BigEndInt64 time;            /* time stamp (just second)      */
+} _gpfs_fssnap_id_t;
+
+ 
+/* Structure used to identify file system and snapshot 
+   Note "_gpfs" is used for the internal version of an externally
+   defined type. */
+#define FSSNAPHANDLE_MAGIC 0xD00FF013
+typedef struct _gpfs_fssnap_handle
+{
+  int  magic;                  /* magic number               */
+  int fd;                      /* file descriptor            */
+  _gpfs_fssnap_id_t fssnapId;  /* unique fs/snapshot id      */
+  cxiIno_t maxIno;             /* maximum inode number       */
+  int blockSize;               /* block size used by fs      */
+  int pathNameSize;            /* size of path buffer        */
+  char *pathNameP;             /* path buffer                */
+  int fsNameSize;              /* size of fsName buffer      */
+  char *fsNameP;               /* fsName buffer              */
+  int snapNameSize;            /* size of snapName buffer    */
+  char *snapNameP;             /* snapName buffer            */
+} _gpfs_fssnap_handle_t;
+
+/* Structure used to keep restore session information. */
+#define RESTORE_MAGIC 0xD00FF015
+typedef struct _gpfs_restore
+{
+  int  magic;                  /* magic number               */
+  int  fd;                     /* file descriptor            */
+  _gpfs_fssnap_id_t old_fssnapId;  /* id for last snapshot   */
+  _gpfs_fssnap_id_t new_fssnapId;  /* id for new snapshot    */
+} _gpfs_restore_t;
+
+/* Define a structure used to pass control information
+   for the restore start/end code. This structure is 
+   internal to gpfs and not returned to the users. */
+typedef struct gpfs_rcontrol
+{
+  int  flags;            /* restore flags              */
+#define RESTORE_START       0x00000001
+#define RESTORE_END         0x00000002
+#define RESTORE_ENABLE      0x00000010
+#define RESTORE_DISABLE     0x10000000
+
+  Int32 fmtVersion;      /* version from curFmtVersion    */
+  Int64 snapId;          /* snapshot id                   */
+  _gpfs_fs_id_t stripeId;/* FS id assigned at format time */
+  Int64 time;            /* time stamp (just second)      */
+} gpfs_rcontrol_t;
+
+/* Structure used to read a block of gpfs_iattr_t with the tsfattr commmand
+   GET_INODE_BLOCK */
+#define ISCAN_MAGIC 0xD00FF005
+typedef struct _gpfs_iscan
+{
+  int  magic;                  /* magic number               */
+  int  fd;                     /* file descriptor            */
+  Int64 instanceID;            /* instance identifier        */
+  long nextInode;              /* next Inode to read         */
+  long termInode;              /* terminate before this ino  */
+  long bufferSize;             /* size of buffer             */
+  char *bufferP;               /* block of gpfs_iattr_t      */
+  long lastOffset;             /* offset of last item        */
+  long offset;                 /* used by caller only        */
+  _gpfs_fssnap_id_t old_fssnapId;  /* snapId for last snapshot   */
+  _gpfs_fssnap_id_t new_fssnapId;  /* snapId for new snapshot    */
+  UInt32 cachedFilesetId;      /* id of cached fileset name           */
+  int    cachedFilesetNameLen; /* length of cached fileset name       */
+  char  *cachedFilesetNameP;   /* pointer to cached fileset name      */
+  UInt32 cachedDataPoolId;     /* id of cached storage pool name      */
+  int    cachedDataPoolNameLen; /* length of cached storage pool name */
+  char  *cachedDataPoolNameP;  /* pointer to cached storage pool name */
+} _gpfs_iscan_t;
+
+#define CXI_INVALID_FILESET_ID     ((UInt32) -1) /* cached value */
+#define CXI_INVALID_STORAGEPOOL_ID ((UInt32) -1) /*    is invalid */
+
+
+/* Define internal structure used for block level incremental reads.
+   Each call to gpfs_ireadx() returns an array of changes between
+   the scanned file and its previous snapshot version. */
+typedef struct gpfs_idelta
+{
+  int   hole;                   /* =0 if data changed in the following range
+                                   =1 if a hole was created in that range */
+  Int64 startOffset;            /* byte offset to start of change         */
+  Int64 endOffset;              /* offset at end of changed region        */
+} gpfs_idelta_t;
+
+/* Structure used to pass extended attribute information
+   for GET_XATTR and SET_XATTR */
+struct tsxattrs
+{
+  int appId;              /* application id                   */
+  int nattrs;             /* no of attributes to get or set   */
+  struct tsxattr *attrs;  /* attributes to get or set         */
+};
+
+/* If this is modified, also make corresponding changes to
+   tsxattrMB, which is used in mailbox communication */
+struct tsxattr
+{
+  char *keyP;      /* attribute key              */
+  int keyLen;      /* key length                 */
+  char *valueP;    /* attribute value            */
+  int valueLen;    /* length of attribute value  */
+};
+
+/* Structure used to read/write by inode number. */
+#define IFILE_MAGIC 0xD00FF011
+#define DIRX_BUFFER_SIZE (16*1024)
+#define DELTA_BUFFER_SIZE (sizeof(gpfs_idelta_t) * 128)
+#define MAX_FILE_OFFSET MAX_INT64
+
+typedef struct _gpfs_ifile
+{
+  int  magic;                  /* magic number               */
+  int  fd;                     /* file descriptor for root   */
+  long ino;                    /* inode number               */
+  int genNo;                   /* inode generation number    */
+  Int64 snapId;                /* snapshot ID                */
+  int open_flags;              /* open flags                 */
+  cxiMode_t mode;              /* mode of file being read    */
+  const char *symlinkP;        /* optional symlink           */
+  char *bufferP;               /* buffer for read/write      */
+  long bufferSize;             /* size of buffer             */
+  Int64 offset;                /* offset to read/write from  */
+  Int64 count;                 /* length to read/write       */
+  int dirCount;                /* number of directory entries*/
+  char *dirBufferP;            /* buffer for directory read  */
+  long dirBufferSize;          /* size of dir buffer         */
+  offset_t dirOffset;          /* offset in directory buffer */
+  offset_t lastOffset;         /* offset of last item        */
+  struct gpfs_iattr *statxP;   /* optional for open/create   */
+  void *vP;                    /* inode/vnode (OS dependent)
+                                  NOTE: This value cannot be trusted
+                                  between calls to the kernel. */
+  int *attrSizeP;              /* ptr to rtnd value for iget_attrs */
+
+  /* Define fields for block-level incremental read/write */
+  Int64 prevSnapId;            /* prev snapId                */
+  _gpfs_fs_id_t prevStripeId;  /* prev stripeId              */
+  int hole;                    /* read/write a hole          */
+  int callBlockLevel;          /* if >=0 then call ireadx 
+                                  if < 0 then call iread     */
+  Int64 fileSize;              /* size of file when reading deltas */
+  Int64 firstOffset;           /* start of range covered by deltas */
+  Int64 nextOffset;            /* in: limit on single ireadx
+                                  out: next offset to read   */ 
+} _gpfs_ifile_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+int myFillDir(void *fillDirArgP, const char *nameP, int namlen,
+              offset_t offset, ino_t ino, cxiMode_t mode, int generation);
+
+#endif /* _h_cxitsfattr */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiTypes-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiTypes-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiTypes-plat.h	(revision 16)
@@ -0,0 +1,769 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)09       1.126  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiTypes-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 11/15/05 13:25:02 */
+/*
+ * Definitions for system dependent types, Linux version
+ *
+ * Contents:
+ *   system dependent types
+ *
+ */
+
+
+#ifndef _h_cxiTypes_plat
+#define _h_cxiTypes_plat
+
+#ifndef _h_cxiTypes
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/* Use system types.h except in portability kernel code */
+#if !defined(GPFS_GPL) || !defined(_KERNEL)
+#include <sys/types.h>
+#endif
+
+/* Suffix of a routine declaration to tell GCC to pass parameters in
+   registers */
+#ifdef GPFS_ARCH_I386
+#define REGPARMS __attribute__((regparm(3)))
+#else
+#define REGPARMS
+#endif
+
+/* Inline functions to byte-swap integers of various sizes.  These use
+   assembler helpers on some architectures.  If the input parameter is
+   a constant, the GCC compiler will generate better code by compile-time
+   optimization of a (complicated) expression involving shifts and masks
+   rather than calling the inline asm code. */
+#ifdef GPFS_ARCH_I386
+  static inline const UInt16 _asm_swap16(UInt16 val)
+  { /* "q" means any of regs AX-DX, which are the only ones that can be
+       addressed as bytes */
+    __asm__("xchgb %b0,%h0  # _asm_swap16" \
+            : "=q" (val)                   \
+            :  "0" (val));
+    return val;
+  }
+  static inline UInt16 ByteSwap16(UInt16 val)
+  {
+    return __builtin_constant_p(val)
+      ? _ByteSwap16(val)
+      : _asm_swap16(val);
+  }
+#else
+  static inline UInt16 ByteSwap16(UInt16 val)
+  {
+    return _ByteSwap16(val);
+  }
+#endif
+
+
+#if defined(GPFS_ARCH_I386) || defined(GPFS_ARCH_X86_64)
+  static inline const UInt32 _asm_swap32(UInt32 val)
+  {
+    __asm__("bswap %0  # _asm_swap32"   \
+            : "=r" (val)                \
+            : "0" (val));
+    return val;
+  }
+  static inline UInt32 ByteSwap32(UInt32 val)
+  {
+    return __builtin_constant_p(val)
+      ? _ByteSwap32(val)
+      : _asm_swap32(val);
+  }
+#elif defined(GPFS_ARCH_IA64)
+  static inline UInt32 ByteSwap32(UInt32 val)
+  {
+    UInt64 swapval1 = (UInt64)val, swapval2;
+    __asm__("shl %0=%1,32;;"
+            : "=r"(swapval2)
+            : "r"(swapval1) );
+    __asm__("mux1 %0=%1,@rev"
+            : "=r"(swapval1)
+            : "r"(swapval2) );
+    return (UInt32)swapval1;
+  }
+#else
+  static inline UInt32 ByteSwap32(UInt32 val)
+  {
+    return _ByteSwap32(val);
+  }
+#endif
+
+
+#ifdef GPFS_ARCH_I386
+  /* Use an external assembler routine to do the swap, since inline
+     assembler either generates poor code or incorrect code in some cases.
+     The inline asembler is preserved in tasking/i386/swap.S. */
+  EXTERNC const UInt64 _asm_swap64(UInt64 val) REGPARMS;
+  static inline UInt64 ByteSwap64(UInt64 val)
+  {
+    return __builtin_constant_p(val)
+      ? _ByteSwap64(val)
+      : _asm_swap64(val);
+  }
+#elif defined(GPFS_ARCH_IA64)
+  static inline UInt64 ByteSwap64(UInt64 val)
+  {
+    UInt64 swapval;
+    __asm__("mux1 %0=%1,@rev"
+            : "=r"(swapval)
+            : "r"(val) );
+    return swapval;
+  }
+#elif defined(GPFS_ARCH_X86_64)
+  static inline UInt64 ByteSwap64(UInt64 val)
+  {
+    UInt64 swapval = val;
+    __asm__("bswap %0"
+            : "=r"(swapval)
+            : "0"(swapval) );
+    return swapval;
+  }
+#else
+  static inline UInt64 ByteSwap64(UInt64 val)
+  {
+    return  _ByteSwap64(val);
+  }
+#endif  /* GPFS_ARCH_I386 */
+
+
+/* On little-endian machines, declare classes for big-endian integers
+   of various sizes.  Each class provides operator= and integer cast
+   operators, so the compiler will insert code to do conversions
+   automatically when evaluating expressions involving big-endian
+   integers.  When passing a BigEndIntxx as a value parameter to a
+   function without a prototype for its arguments, be sure to explicitly
+   cast to the corresponding native arithmetic type.  Otherwise, passing
+   the class instance by value will result in the wrong byte order in
+   the called routine.  This most often occurs with printf and related
+   functions.  Notice that the code generated by TRACEn macros already
+   contains such an explicit cast, so no case is needed in the source
+   code. */
+#ifdef __cplusplus
+# ifdef GPFS_LITTLE_ENDIAN
+
+    class BigEndInt16
+    {
+    private:
+      Int16 val16;
+
+    public:
+      operator Int16() const
+        { return ByteSwap16(val16); }
+      BigEndInt16 operator=(Int16 newVal16)
+        { val16 = ByteSwap16(newVal16); return *this; }
+      int operator==(BigEndInt16 rhs) const
+        { return val16 == rhs.val16; }
+      int operator!=(BigEndInt16 rhs) const
+        { return val16 != rhs.val16; }
+      BigEndInt16 operator+=(Int16 inc)
+        { val16 = ByteSwap16(ByteSwap16(val16)+inc); return *this; }
+      BigEndInt16 operator-=(Int16 inc)
+        { val16 = ByteSwap16(ByteSwap16(val16)-inc); return *this; }
+      BigEndInt16 operator&=(Int16 mask)
+        { val16 &= ByteSwap16(mask); return *this; }
+      BigEndInt16 operator|=(Int16 mask)
+        { val16 |= ByteSwap16(mask); return *this; }
+    };
+
+    class BigEndUInt16
+    {
+    private:
+      UInt16 uval16;
+
+    public:
+      operator UInt16() const
+        { return ByteSwap16(uval16); }
+      BigEndUInt16 operator=(UInt16 newVal16)
+        { uval16 = ByteSwap16(newVal16); return *this; }
+      int operator==(BigEndUInt16 rhs) const
+        { return uval16 == rhs.uval16; }
+      int operator!=(BigEndUInt16 rhs) const
+        { return uval16 != rhs.uval16; }
+      BigEndUInt16 operator+=(UInt16 inc)
+        { uval16 = ByteSwap16(ByteSwap16(uval16)+inc); return *this; }
+      BigEndUInt16 operator-=(UInt16 inc)
+        { uval16 = ByteSwap16(ByteSwap16(uval16)-inc); return *this; }
+      BigEndUInt16 operator&=(UInt16 mask)
+        { uval16 &= ByteSwap16(mask); return *this; }
+      BigEndUInt16 operator|=(UInt16 mask)
+        { uval16 |= ByteSwap16(mask); return *this; }
+    };
+
+    class BigEndInt32
+    {
+    private:
+      Int32 val32;
+
+    public:
+      operator Int32() const
+        { return ByteSwap32(val32); }
+      BigEndInt32 operator=(Int32 newVal32)
+        { val32 = ByteSwap32(newVal32); return *this; }
+      int operator==(BigEndInt32 rhs) const
+        { return val32 == rhs.val32; }
+      int operator!=(BigEndInt32 rhs) const
+        { return val32 != rhs.val32; }
+      BigEndInt32 operator+=(Int32 inc)
+        { val32 = ByteSwap32(ByteSwap32(val32)+inc); return *this; }
+      BigEndInt32 operator-=(Int32 inc)
+      { val32 = ByteSwap32(ByteSwap32(val32)-inc); return *this; }
+    };
+
+    class BigEndUInt32
+    {
+    private:
+      UInt32 uval32;
+
+    public:
+      operator UInt32() const
+        { return ByteSwap32(uval32); }
+      BigEndUInt32 operator=(UInt32 newVal32)
+        { uval32 = ByteSwap32(newVal32); return *this; }
+      int operator==(BigEndUInt32 rhs) const
+        { return uval32 == rhs.uval32; }
+      int operator!=(BigEndUInt32 rhs) const
+        { return uval32 != rhs.uval32; }
+      BigEndUInt32 operator+=(UInt32 inc)
+        { uval32 = ByteSwap32(ByteSwap32(uval32)+inc); return *this; }
+      BigEndUInt32 operator-=(UInt32 inc)
+        { uval32 = ByteSwap32(ByteSwap32(uval32)-inc); return *this; }
+      BigEndUInt32 operator&=(UInt32 mask)
+        { uval32 &= ByteSwap32(mask); return *this; }
+      BigEndUInt32 operator|=(UInt32 mask)
+        { uval32 |= ByteSwap32(mask); return *this; }
+      BigEndUInt32 operator^=(UInt32 mask)
+        { uval32 ^= ByteSwap32(mask); return *this; }
+    };
+
+    class BigEndInt64
+    {
+    private:
+      Int64 val64;
+
+    public:
+      operator Int64() const
+        { return ByteSwap64(val64); }
+      BigEndInt64 operator=(Int64 newVal64)
+        { val64 = ByteSwap64(newVal64); return *this; }
+      int operator==(BigEndInt64 rhs) const
+        { return val64 == rhs.val64; }
+      int operator!=(BigEndInt64 rhs) const
+        { return val64 != rhs.val64; }
+      BigEndInt64 operator+=(Int64 inc)
+        { val64 = ByteSwap64(ByteSwap64(val64)+inc); return *this; }
+      BigEndInt64 operator-=(Int64 inc)
+        { val64 = ByteSwap64(ByteSwap64(val64)-inc); return *this; }
+    };
+
+    class BigEndUInt64
+    {
+    private:
+      UInt64 uval64;
+
+    public:
+      operator UInt64() const
+        { return ByteSwap64(uval64); }
+      BigEndUInt64 operator=(UInt64 newVal64)
+        { uval64 = ByteSwap64(newVal64); return *this; }
+      int operator==(BigEndUInt64 rhs) const
+        { return uval64 == rhs.uval64; }
+      int operator!=(BigEndUInt64 rhs) const
+        { return uval64 != rhs.uval64; }
+      BigEndUInt64 operator+=(UInt64 inc)
+        { uval64 = ByteSwap64(ByteSwap64(uval64)+inc); return *this; }
+      BigEndUInt64 operator-=(UInt64 inc)
+        { uval64 = ByteSwap64(ByteSwap64(uval64)-inc); return *this; }
+    };
+# else /* GPFS_LITTLE_ENDIAN */
+    typedef Int16  BigEndInt16;
+    typedef UInt16 BigEndUInt16;
+    typedef Int32  BigEndInt32;
+    typedef UInt32 BigEndUInt32;
+    typedef Int64  BigEndInt64;
+    typedef UInt64 BigEndUInt64;
+# endif /* GPFS_LITTLE_ENDIAN */
+# else /* not __cplusplus */
+    typedef Int16  BigEndInt16;
+    typedef UInt16 BigEndUInt16;
+    typedef Int32  BigEndInt32;
+    typedef UInt32 BigEndUInt32;
+    typedef Int64  BigEndInt64;
+    typedef UInt64 BigEndUInt64;
+#endif /* __cplusplus */
+
+/* GPFS stores special file device numbers as 32 bit values
+ * (the original AIX dev_t size).  The cxiDev_t type is 64 bits
+ * since this is the size of the user space dev_t and the prevalent
+ * type that we're always presented with from the stat structure.
+ */
+typedef UInt64  cxiDev_t;        /* user space dev_t definition */
+
+typedef int cxiVmid_t;          // dummy on Linux
+typedef UIntPtr cxiVmhandle_t;  // try this for now
+
+/* Time types equivalent to linux definitions of time_t 
+ * and suseconds_t.
+ */
+typedef long int cxiNSec_t;
+typedef long int cxiTime_t;
+
+/* Type used as parameter of ATOMIC_ADD, etc.  */
+typedef int    *atomic_p;
+/* Type used as parameter of ATOMIC_ADDLP, etc.  */
+typedef long   *atomic_l;
+
+/* File offset */
+typedef long long offset_t;
+
+/* Complex system types */
+struct xmem
+{
+  int x;
+};
+
+/* Cross-memory descriptor */
+typedef struct
+{
+  /* Pointer to buffer descriptor object in kernel address space */
+  struct cxiKernelIOBufferDesc_t *kibdP;
+} cxiXmem_t;
+
+#ifdef _KERNEL
+#define CXIXMEM_TO_XMEM(_XMEM, _CXIXMEM) \
+{ \
+  memcpy(_XMEM, _CXIXMEM, sizeof(cxiXmem_t)); \
+};
+#endif
+
+/* Describes address space of a cxiUio_t buffer.
+ * User address space buffers get extra validity 
+ * checking to ensure they are indeed in user space.
+ */
+#define UIO_SYSSPACE  1
+#define UIO_USERSPACE 0
+
+/* Structure representing a buffer in user space that needs to be accessed
+   from kernel code. */
+struct cxiUio_t
+{
+  struct cxiIovec_t *uio_iov;    /* ptr to array of iovec structs */
+  unsigned long      uio_iovcnt; /* #iovec elements remaining to be processed */
+  unsigned long      uio_iovdcnt;/* #iovec elements already processed */
+  offset_t           uio_offset; /* byte offset in file/dev to read/write */
+  long               uio_resid;  /* #bytes left in data area */
+  short              uio_segflg; /* description of which address space in use */
+  long               uio_fmode;  /* copy of file modes from open file struct */
+  cxiXmem_t         *uio_xmem;   /* dummy field for AIX compatibility */
+};
+
+#define UIO_XMEM 0
+
+
+/* First parameter on return call to cxiFillDir().  This structure
+ * describes the operating systems' filldir() routine and any uninterpreted
+ * arguments that need to be passed back to it.   The cxiFillDir() routine
+ * has a static set of parameters that are passed to it, whereas the 
+ * Linux filldir() routine has changed signatures for different kernel
+ * levels.  We thus use cxiFillDir() in the portability layer to map
+ * the arguments correctly to the Linux filldir().
+ */
+typedef struct cxiFillDirArg_t 
+{
+  void *fnP;
+  void *argP;
+} cxiFillDirArg_t;
+
+/* Callback function to return directory entries.
+ * Called by readddir for each directory entry to be returned to the user.
+ * Should return zero if the entry still fits in the user's buffer;
+ * otherwise a negative value should be returned.  The 'offset' parameter
+ * is the logical offset of the current entry, i.e., a seekdir to that
+ * offset followed by a readdir will return the same directory entry again. 
+ */
+typedef int (*cxiFillDir_t)(void *, const char *, int, offset_t, ino_t);
+#define CALL_FILLDIR(fnP, argP, nameP, namelen, offset, ino) \
+  (*fnP)(argP, nameP, namelen, offset, ino)
+
+#define GPFS_DIR_EOF 0x7FFFFFFF
+
+/* Advisory locking types and defines */
+typedef cxiFlock_t eflock_t;
+#define MNT_NFS 2
+#define MNT_NFS3 18
+#define MNT_RFS4 36
+
+/* Define analagous kernel types here for now */
+/* These should ONLY be used for typecasting kernel service call parms */
+typedef cxiPid_t gpfs_Kpid_t;
+
+/* GPFS file types.  These match the AIX vtype definitions from vnode.h */
+enum cxiVtype { cxiVNON, cxiVREG, cxiVDIR, cxiVBLK, cxiVCHR, cxiVLNK,
+                cxiVSOCK, cxiVBAD, cxiVFIFO, cxiVMPC };
+#define cxiVUNDEF cxiVNON   /* undefined is same as nothing */
+typedef enum cxiVtype cxiVtype_t;
+
+/* Maximum size defined within Linux kernel for spinlock_t
+ * We abstract this class to just a hunk of storage and let the OS
+ * specific piece handle the implementation.
+ */
+#ifdef DEBUG_SPINLOCK
+#  if defined (GPFS_ARCH_I386)
+#    define SPINLOCK_T_SIZE 8
+#  elif defined(GPFS_ARCH_POWER)
+#    define SPINLOCK_T_SIZE 12
+#  elif defined(GPFS_ARCH_IA64)
+#    define SPINLOCK_T_SIZE 4
+#  elif defined(GPFS_ARCH_PPC64)
+#    define SPINLOCK_T_SIZE 16
+#  elif defined(GPFS_ARCH_X86_64)
+#    define SPINLOCK_T_SIZE 8
+#  endif
+#else
+   #if defined(GPFS_ARCH_PPC64) && (LINUX_KERNEL_VERSION >= 2042100)
+     #define SPINLOCK_T_SIZE 8
+   #elif defined(GPFS_ARCH_X86_64) 
+     /* Same size as DEBUG_SPINLOCK 
+      * Changing this size requires an adjustment of CXINODE_SIZE
+      */
+     #define SPINLOCK_T_SIZE 8
+   #elif defined(GPFS_ARCH_I386) 
+     /* Same size as DEBUG_SPINLOCK  */
+     #define SPINLOCK_T_SIZE 8
+   #else
+     #define SPINLOCK_T_SIZE 4
+   #endif
+#endif
+
+/* Base VFS node class portion that is OS specific.  
+ * Consult gpfsNode_t for full definition 
+ */
+typedef struct cxiNode_t
+{
+  void *osNodeP;         /* pointer to operating system specific inode */
+  enum cxiVtype nType;   /* directory, link, file, dev */
+  int mapReadCount;      /* count of map for read  */
+  int mapWriteCount;     /* count of map for write */
+  int readCount;         /* total opens for read   */
+  int icValid;           /* CXI_IC_XXX flags (see definitions below) */
+  int xinfo;             /* Extended info bits (see va_xinfo definition) */
+  void *nfsP;            /* nfs information */
+  unsigned long ctFlags; 
+  cxiThreadId createRaceLoserThreadId; /* Set if file exist */
+} cxiNode_t;
+
+/* various ctFlags */
+#define mmapFlush         1    /* True if nopage/mmFlush in progress */
+#define destroyIfDelInode 2    /* True if file should be destroyed
+                                  in gpfs_s_delete_inode */
+#define invalidateCalled  4    /* True if OSNode on hash chain has
+                                  been invalidated on this pass. */
+#define pruneDCacheNeeded 8
+
+#define SetCtFlag(cnP,flag_bit)   cxiSetBit(&(cnP)->ctFlags,flag_bit)
+#define ClearCtFlag(cnP,flag_bit) cxiClearBit(&(cnP)->ctFlags,flag_bit)
+#define TestCtFlag(cnP,flag_bit)  cxiTestBit(&(cnP)->ctFlags,flag_bit)
+
+/* Size of a full gpfsNode_t */
+#ifdef GPFS_ARCH_I386
+#  define CXINODE_SIZE (176 + SPINLOCK_T_SIZE)
+#endif
+
+#ifdef GPFS_ARCH_POWER
+#  define CXINODE_SIZE (176 + SPINLOCK_T_SIZE)
+#endif
+
+#ifdef GPFS_ARCH_IA64
+#  define CXINODE_SIZE (260 + SPINLOCK_T_SIZE)
+#endif
+
+#ifdef GPFS_ARCH_PPC64
+#  if LINUX_KERNEL_VERSION < 2042100
+#    define CXINODE_SIZE (236 + SPINLOCK_T_SIZE)
+#  else
+#    define CXINODE_SIZE (232 + SPINLOCK_T_SIZE)
+#  endif
+#endif
+#ifdef GPFS_ARCH_X86_64
+   /* Changing the non-debug size of SPINLOCK_T_SIZE
+    * requires an adjustment of CXINODE_SIZE in order
+    * to account for padding due to single or double word 
+    * alignment requirements of the architecture.
+    */
+#  define CXINODE_SIZE (232 + SPINLOCK_T_SIZE)
+#endif
+
+/* Access OS dependent portion of cxiNode */
+#define GNP_IS_DIR(GNP)       ((GNP)->nType == cxiVDIR)
+#define GNP_IS_FILE(GNP)      ((GNP)->nType == cxiVREG)
+#define GNP_IS_LINK(GNP)      ((GNP)->nType == cxiVLNK)
+
+#define GNP_IS_STEALABLE(GNP)  ((GNP)->osNodeP == NULL)
+#define GNP_RDCOUNT(GNP)       ((GNP)->readCount)
+#define GNP_EXCOUNT(GNP)       0
+#define GNP_MAP_RDCOUNT(GNP)   ((GNP)->mapReadCount)
+#define GNP_MAP_WRCOUNT(GNP)   ((GNP)->mapWriteCount)
+#define GNP_MAP_SEG(GNP)       0
+#define GNP_CHANNEL(GNP)       0
+#define GNP_TO_VP(GNP)         ((struct inode *)((GNP)->osNodeP))
+#define GP_TO_GNP(x) ((gpfsNode_t *)((x)))
+
+/* d_off and name length of Linux struct dirent */
+#define CXI_DIR_D_OFFSET(deP)             deP->d_off 
+#define CXI_DIR_D_NAMLEN(deP)             strlen(deP->d_name)
+
+/* Parameter passed to find_actor and read_inode2 through iget4 */
+typedef struct cxiIGetArg_t
+{
+  cxiIno_t extInodeNum;
+  UInt32 inodeNum;
+  UInt32 snapId;
+  UInt32 filesetId;
+  struct cxiVattr_t *vattrP;
+  Boolean readInodeCalled;
+} cxiIGetArg_t;
+
+typedef struct cxiWaitList_t
+{
+  struct cxiWaitList_t *nextP;
+  struct cxiWaitList_t *prevP; 
+} cxiWaitList_t;
+
+typedef struct cxiWaitEvent_t 
+{
+  /* List of wait elements. Wakeup is FIFO ordered with entries
+   * entering the list at prevP and the first to be awaken at 
+   * nextP.
+   */
+  cxiWaitList_t waitList;
+
+  char lword[SPINLOCK_T_SIZE];
+
+} cxiWaitEvent_t;
+
+#define LOCK_ALLOC_PIN   0 /* not used */
+#define LOCK_ALLOC_PAGED 1 /* not used */
+
+/* Needs to be changed to cxi name XXX */
+typedef struct Simple_lock 
+{
+  int slCount;	
+  volatile unsigned int slState;
+
+  /* Pointer into stack of owning thread.  This is 
+   * sufficient to compute which thread owns the mutex. 
+   */
+  char* slOwnerP;
+
+  cxiWaitEvent_t slEvent;
+} Simple_lock;
+
+
+/* Kernel-only mutexes.  Largest possible size (including debug) */
+#ifdef GPFS_ARCH_I386
+#define GPFS_LINUX_SEM_SIZE 36
+#endif
+#ifdef GPFS_ARCH_POWER
+#define GPFS_LINUX_SEM_SIZE 36
+#endif
+#ifdef GPFS_ARCH_IA64
+#define GPFS_LINUX_SEM_SIZE 56
+#endif
+#ifdef GPFS_ARCH_PPC64
+#define GPFS_LINUX_SEM_SIZE 32
+#endif
+#ifdef GPFS_ARCH_X86_64
+#define GPFS_LINUX_SEM_SIZE 32
+#endif
+
+typedef struct cxiBlockingMutex_t
+{
+  /* Space to store a Linux struct semaphore.  If a semaphore does not fit
+     in the space provided, the implementation should use this space as a
+     pointer to a dynamically-allocated semaphore. */
+  char bmSem[GPFS_LINUX_SEM_SIZE];
+
+  /* Pointer into stack of owning thread.  This is sufficient to compute
+     which thread owns the mutex. */
+  char* bmOwnerP;
+
+  /* Index of the name of this mutex */
+  int lockNameIndex;
+} cxiBlockingMutex_t;
+
+
+/* Structure encapsulating information about a particular physical disk */
+struct cxiDiskInfo_t
+{
+  Int64 totalSectors;      /* number of sectors on disk */
+  int sectorSize;          /* size of each physical sector in bytes */
+};
+
+typedef struct ucontext cxiSigContext_t;
+typedef struct siginfo cxiSigInfo_t;
+
+/* Type that should always correspond to the system ino_t */
+typedef Int32 cxiInoSys_t;
+
+/* type to store disable_lock result.  On Linux this is a machine 
+   state word, and should be unsigned long */
+typedef unsigned long cxiIntrState_t;
+
+/* Work request for mmap pager kproc */
+typedef struct _cxibuf_t
+{
+  struct  _cxibuf_t *av_forw;   /* forward pointer */
+  struct  _cxibuf_t *av_back;   /* backward pointer */
+  struct page *pageP;           /* pointer to the page being processed */
+  struct cxiNode_t *b_vp;
+  struct MMFSVInfo *vinfoP;     /* used by sendfile */
+  struct gpfsVfsData_t *privVfsP;
+  caddr_t b_baddr;              /* not used */
+  unsigned long b_flags;        /* operation flag: see definitions below */
+  unsigned long b_blkno;        /* file offset in PAGE_SIZE units */
+  int     b_bcount;
+  int     b_error;
+  void    *b_inodeP;
+} cxibuf_t;
+
+/*  b_flags flags. */
+#define B_WRITE     (long)0x0000    /* non-read pseudo-flag */
+#define B_READ      (long)0x0001    /* read when I/O occurs */
+#define B_ERROR     (long)0x0004    /* error detected */
+#define B_ASYNC     (long)0x0100    /* don't wait for I/O completion */
+#define B_PFSTORE   (long)0x2000    /* store operation */
+#define B_PFPROT    (long)0x4000    /* protection violation */
+#define B_PFEOF     (long)0x10000   /* check for ref. beyond end-of-file */
+#define B_SENDFILE  (long)0x20000   /* read from sendfile */
+
+
+/* Define macros to cause code to be placed far away from the spot
+   where it normally would be generated.  This is typically used on
+   whichever branch of an if is expected not to be executed in the common
+   case.  Moving rarely executed code away from the mainline code can help
+   reduce I-cache misses, and therefore improve performance.  Every
+   BEGIN_FAR_CODE directive must be matched by an END_FAR_CODE directive,
+   and they may not be nested.  If FAR_CODE is not #defined, these macros
+   are NOOPs.  Use of the FAR_CODE option is not compatible with -g, and
+   requires compiler options -fno-exceptions and -fno-defer-pop to insure
+   that correct code is generated. */
+#ifdef FAR_CODE
+# if defined(GPFS_ARCH_I386)
+#   ifndef FAR_TRACE
+#     error "-DFAR_CODE requires -DFAR_TRACE"
+#   endif
+#   define BEGIN_FAR_CODE __asm__(                                \
+                                  " jmp 9f\n"                     \
+                                  ".section .text.far,\"ax\"\n"   \
+                                  "9:\n"                          \
+                                 );
+#   define END_FAR_CODE  __asm__(                                 \
+                                 " jmp 8f\n"                      \
+                                  ".section .text,\"ax\"\n"   \
+                                  "8:\n"                          \
+                                );
+# elif defined(GPFS_ARCH_IA64)
+#   ifndef FAR_TRACE
+#     error "-DFAR_CODE requires -DFAR_TRACE"
+#   endif
+/* Changing sections in the middle of a function is apparently a
+   fairly bad thing to do for IA64 (screws up unwinding information,
+   probably the debugging information, and also insn binding) and causes
+   the gnu assembler to spew when optimizations are turned on.
+   The gcc __buildin_expect(x,0) directive may be an alternative
+   in the future, but this currently doesn't provide any performance
+   enhancements with gcc 3.2, so we'll do nothing for now. */
+#if 0
+#   define BEGIN_FAR_CODE __asm__(                                \
+                                  " (p0) br.cond.sptk.few 9f\n"   \
+                                  ".section .text.far,\"ax\"\n"   \
+                                  "9:\n"                          \
+                                 );
+#   define END_FAR_CODE  __asm__(                                 \
+                                 " (p0) br.cond.sptk.many 8f\n"   \
+                                  ".section .text,\"ax\"\n"       \
+                                  "8:\n"                          \
+                                );
+#endif
+#   define BEGIN_FAR_CODE
+#   define END_FAR_CODE
+# else
+#   define BEGIN_FAR_CODE
+#   define END_FAR_CODE
+# endif  /* GPFS_ARCH_I386 */
+#else
+# define BEGIN_FAR_CODE
+# define END_FAR_CODE
+#endif  /* FAR_TRACE */
+
+#ifndef EXTERNC
+#ifdef __cplusplus
+#define EXTERNC extern "C"
+#else
+#define EXTERNC extern
+#endif
+#endif /* EXTERNC */
+
+/*
+   Some macros to help catching certain problems at compile time vs at
+   run time, to save time on unnecessary recompiles and reboots.  This
+   can be accomplished when operating on static data that has known (to
+   the compiler) values at compile time, notably complex structure sizes.
+ */
+
+/*
+   This macro asserts that both arguments have the same value.  If the
+   assertion is false, a compiler error about conflicting function
+   declarations will be produced.
+ */
+
+#define STATIC_DBGASSERT(_a, _b)  \
+  EXTERNC void __static_assert_dummy_func(int __FoO[][2]); \
+  EXTERNC void __static_assert_dummy_func(int __FoO[][_a/_b+_b/_a]);
+
+/*
+   This macro could be used to trick g++ into telling you what is the
+   size of a particular data type at compile time.  It takes one argument
+   that should be a valid argument for a sizeof operation, and produces
+   a compiler error that will have size of the object included in the
+   message.  Only to be used during development, has to be disabled for
+   the build to work.
+*/
+
+#define TELLSIZEOF(_a) \
+  EXTERNC void __static_tellsizeof_dummy_func(int __FoO[][1]); \
+  EXTERNC void __static_tellsizeof_dummy_func(int __FoO[][sizeof(_a)]);
+
+#endif /* _h_cxiTypes_plat */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiTypes.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiTypes.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiTypes.h	(revision 16)
@@ -0,0 +1,734 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)93       1.85  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiTypes.h, mmfs, avs_rgpfs24, rgpfs24s001a 3/27/06 10:57:53 */
+/*
+ * Basic types used throughout GPFS.  Since GPFS shares data between its
+ * daemon and its kernel pieces, types must be defined consistently, rather
+ * than relying on platform-specific include files.  This file may be
+ * included in either C or C++ code.
+ *
+ */
+
+#ifndef _h_cxiTypes
+#define _h_cxiTypes
+
+/* Types to use when the number of bits in a word is important.  Use these
+   instead of long, short, int, etc. for portability */
+typedef short                  Int16;
+typedef int                    Int32;
+typedef long long              Int64;
+typedef unsigned short         UInt16;
+typedef unsigned int           UInt32;
+typedef unsigned long long     UInt64;
+
+typedef unsigned char          UChar;
+typedef unsigned short         UShort;
+typedef long                   Ptrdiff;
+
+/* Use these instead of Int or UInt for padding in structures that are sent
+   in RPCs.  These types will not be byte-swapped when sent between nodes
+   having different endian value. */
+typedef short                  Pad16;
+typedef int                    Pad32;
+
+/* Use these for fields send in RPCs that should not be byte-swapped */
+typedef int                    Opaque32;
+typedef unsigned long long     Opaque64;
+
+/* Use this as the return value type for functions that return a local
+   system errno value, to make it clear that the function is called from
+   outside of GPFS and does not return a GPFS Errno. */
+typedef int                    IntRC;
+
+#define MAX_UINT64 ((UInt64)(0xFFFFFFFFFFFFFFFFuLL))
+#define MAX_INT64  ((Int64)(0x7FFFFFFFFFFFFFFFuLL))
+#define MAX_UINT32 ((UInt32)0xFFFFFFFF)
+#define MAX_INT32  ((Int32)0x7FFFFFFF)
+#define MIN_INT32  ((Int32)0x80000000)
+#define MAX_UINT16 ((UInt16)0xFFFF)
+#define MAX_INT16  ((Int16)0x7FFF)
+#define MIN_INT16  ((Int16)0x8000)
+
+/* Macros to fetch the high and low 32 bits of an Int64 */
+#define High32(_i) ((Int32) (((UInt64)(_i))>>32))
+#define Low32(_i) ((UInt32) ((_i)&0xFFFFFFFF))
+
+/* Use types to safely allow integer to ptr assignment and vice-versa;
+   defined for maximum portability (instead of using intptr_t/uintptr_t) */
+typedef signed long            IntPtr;
+typedef unsigned long          UIntPtr;
+
+/* Define macros to typecast a pointer in a failsafe manner */
+#define INTPTR(_p)             ((IntPtr)(_p))
+#define UINTPTR(_p)            ((UIntPtr)(_p))
+
+/* Conversion macros for pointers and 32-bit integers */
+/* Use when intentionally converting to/from 32-bit integers
+   and pointers so that useless compiler warnings are suppressed. */
+#define PTR_TO_INT32(_p)         ((Int32)(IntPtr)(_p))
+#define PTR_TO_UINT32(_p)        ((UInt32)(UIntPtr)(_p))
+#define INT32_TO_PTR(_i)         ((void *)(IntPtr)(_i))
+#define UINT32_TO_PTR(_i)        ((void *)(UIntPtr)(_i))
+#define PTR_TO_INT64(_p)         ((Int64)(IntPtr)(_p))
+#define PTR_TO_UINT64(_p)        ((UInt64)(UIntPtr)(_p))
+#define UINT64_TO_PTR(_i)        ((void *)(UIntPtr)(_i))
+
+/* Lockword type for mutexes */
+#ifdef __64BIT__
+typedef unsigned long          lockWord_t;
+#else
+typedef unsigned int           lockWord_t;
+#endif /* 64b */
+
+/* Boolean type */
+typedef unsigned int Boolean;
+typedef char cBoolean;
+#define false 0
+#define FALSE 0
+#define true  1
+#define TRUE  1
+
+#ifndef EXTERNC
+#ifdef __cplusplus
+#define EXTERNC extern "C"
+#else
+#define EXTERNC extern
+#endif
+#endif /* EXTERNC */
+
+/* Command parameters given to gpfsSetattr() */
+#ifndef V_MODE         /* set mode */
+#define	V_MODE	0x01
+#endif
+#ifndef V_OWN          /* set owner */
+#define	V_OWN	0x02
+#endif
+#ifndef V_UTIME        /* set atime and mtime */
+#define	V_UTIME	0x04
+#endif
+#ifndef V_STIME        /* set atime, mtime, and ctime */
+#define V_STIME	0x08
+#endif
+#ifndef V_NTIME        /* set atime, mtime, and ctime to now */
+#define V_NTIME 0x10
+#endif
+#ifndef V_SIZE         /* set file size */
+#define V_SIZE  0x20
+#endif
+
+#define CXIDEVNONE (cxiDev_t)(-1U)
+
+/* AIX SHM_RDONLY sys/shm.h */
+#define CXI_SHM_RDONLY 010000
+
+/* Macros to compute minimum and maximum of two numbers */
+#ifndef MIN
+#define MIN(a,b) (((a)<(b))?(a):(b))
+#endif
+#ifndef MAX
+#define MAX(a,b) (((a)>(b))?(a):(b))
+#endif
+
+/* Make sure null pointer definition is always available */
+#ifndef NULL
+#define NULL 0
+#endif
+
+/* Macro to compute the offset of a field within a structure */
+#if defined(__GNUC__) && (__GNUC__ >= 3)
+/* gcc 3.x: avoid warning msg "invalid offsetof from non-POD type: ..."  */
+#define OFFSET_OF(_field, _struct) \
+  (Int32) ( (char*)&((_struct *)16)->_field - (char*)16 )
+#else
+#define OFFSET_OF(_field, _struct) ( (long) ( &((_struct *)0)->_field ) )
+#endif
+
+/* Identifier of a thread.  Always 32 bits, even if native thread IDs are
+   longer on some platforms.  The value cxiNoThread denotes an invalid
+   thread ID. */
+typedef Int32                  cxiThreadId;
+#define cxiNoThread            0
+
+#if !defined(GPFS_LINUX) && defined(__64BIT__)
+typedef Int64                  cxiPid_t;
+#else
+typedef Int32                  cxiPid_t;
+#endif
+typedef Int64                  cxiPid64_t;
+typedef Int32                  cxiPid32_t;
+typedef Int32                  cxiKey_t;
+
+/* Needed since mode_t is short in linux kernel */
+typedef UInt32                 cxiMode_t;
+typedef UInt32                 cxiUid_t;
+typedef UInt32                 cxiGid_t;
+typedef UInt32                 cxiIno_t;    /* gpfs inode number */
+
+/* Original AIX sizes for dev_t.  Special device files continue to
+ * record their major/minor numbers as 32 bits on disk.
+ */
+typedef UInt32                 cxiDev32_t;
+
+typedef UInt32                 cxiTime32_t; /* seconds time type */
+typedef UInt32                 cxiNSec32_t; /* nanoseconds time type */
+typedef unsigned long          cxiSize_t;
+
+/* File system type within cxiStatfs_t */
+typedef struct cxiFsid_t
+{
+  unsigned long val[2];
+} cxiFsid_t;
+
+/* Interface structure for gpfsStatfs() */
+typedef struct cxiStatfs_t
+{
+  UInt64    f_blocks;     /* total data blocks in file system */
+  UInt64    f_bfree;      /* free block in fs */
+  UInt64    f_bavail;     /* free blocks avail to non-superuser */
+  int       f_bsize;      /* optimal file system block size */
+  int       f_files;      /* total file nodes in file system */
+  int       f_ffree;      /* free file nodes in fs */
+  cxiFsid_t f_fsid;       /* file system id */
+  int       f_fsize;      /* fundamental file system block size */
+  char      f_fname[32];  /* file system name (usually mount pt.) */
+  char      f_fpack[32];  /* file system pack name */
+  int       f_name_max;   /* maximum component name length for posix */
+} cxiStatfs_t;
+
+
+
+
+/* l_caller values */
+#define L_CALLER_NULL 0
+#define L_CALLER_LOCKD 1
+
+/* Advisory record locking interface structure */
+typedef long long cxiOff64_t;
+typedef struct cxiFlock_t
+{
+  short           l_type;
+  short           l_whence;
+  unsigned int    l_sysid;
+  cxiPid_t        l_pid;
+#ifndef GPFS_LINUX
+  int             l_vfs;
+#else
+  int             l_caller;
+#endif
+  cxiOff64_t      l_start;
+  cxiOff64_t      l_len;
+  void *          l_owner;
+  void *          l_file;
+  void *          l_lmops;
+  unsigned char   l_flags;
+/* defines for l_flags */
+#define FL_RECLAIM	64	/* lock reclaim */
+} cxiFlock_t;
+
+/* flock l_type constants are OS dependent.  When sending F_GETLK
+ * results between nodes, they must be mapped to generic constants
+ * and then back to OS-specific values by the receiving node.
+ */
+#define GENERIC_F_RDLCK 1
+#define GENERIC_F_WRLCK 2
+#define GENERIC_F_UNLCK 3
+
+#define L_TYPE_OUT(lt) \
+  ((lt) == F_RDLCK)? GENERIC_F_RDLCK: \
+  ((lt) == F_WRLCK)? GENERIC_F_WRLCK: \
+  ((lt) == F_UNLCK)? GENERIC_F_UNLCK: lt; \
+
+#define L_TYPE_IN(lt) \
+  ((lt) == GENERIC_F_RDLCK)? F_RDLCK: \
+  ((lt) == GENERIC_F_WRLCK)? F_WRLCK: \
+  ((lt) == GENERIC_F_UNLCK)? F_UNLCK: lt; \
+
+#ifndef GPFS_LINUX
+#define cxiFlock2Common( cxiCommonP, cxiP )           \
+{                                                     \
+  (cxiCommonP)->l_type = L_TYPE_OUT((cxiP)->l_type);  \
+  (cxiCommonP)->l_whence = (cxiP)->l_whence;          \
+  (cxiCommonP)->l_sysid = (cxiP)->l_sysid;            \
+  (cxiCommonP)->l_pid = (cxiPid64_t)(cxiP)->l_pid;    \
+  (cxiCommonP)->l_vfs = (cxiP)->l_vfs;                \
+  (cxiCommonP)->l_start = (cxiP)->l_start;            \
+  (cxiCommonP)->l_len = (cxiP)->l_len;                \
+  (cxiCommonP)->l_owner = (UInt64)(cxiP)->l_owner;    \
+};
+#define cxiCommon2Flock( cxiP, cxiCommonP )           \
+{                                                     \
+  (cxiP)->l_type = L_TYPE_IN((cxiCommonP)->l_type);   \
+  (cxiP)->l_whence = (cxiCommonP)->l_whence;          \
+  (cxiP)->l_sysid = (cxiCommonP)->l_sysid;            \
+  (cxiP)->l_pid = (cxiPid_t)(cxiCommonP)->l_pid;      \
+  (cxiP)->l_vfs = (cxiCommonP)->l_vfs;                \
+  (cxiP)->l_start = (cxiCommonP)->l_start;            \
+  (cxiP)->l_len = (cxiCommonP)->l_len;                \
+  (cxiP)->l_owner = (void *)(cxiCommonP)->l_owner;    \
+};
+#else
+#define cxiFlock2Common( cxiCommonP, cxiP )           \
+{                                                     \
+  (cxiCommonP)->l_type = L_TYPE_OUT((cxiP)->l_type);  \
+  (cxiCommonP)->l_whence = (cxiP)->l_whence;          \
+  (cxiCommonP)->l_sysid = (cxiP)->l_sysid;            \
+  (cxiCommonP)->l_pid = (cxiPid64_t)(cxiP)->l_pid;    \
+  (cxiCommonP)->l_caller = (cxiP)->l_caller;          \
+  (cxiCommonP)->l_start = (cxiP)->l_start;            \
+  (cxiCommonP)->l_len = (cxiP)->l_len;                \
+  (cxiCommonP)->l_owner = PTR_TO_UINT64((cxiP)->l_owner);    \
+};
+#define cxiCommon2Flock( cxiP, cxiCommonP )           \
+{                                                     \
+  (cxiP)->l_type = L_TYPE_IN((cxiCommonP)->l_type);   \
+  (cxiP)->l_whence = (cxiCommonP)->l_whence;          \
+  (cxiP)->l_sysid = (cxiCommonP)->l_sysid;            \
+  (cxiP)->l_pid = (cxiPid_t)(cxiCommonP)->l_pid;      \
+  (cxiP)->l_caller = (cxiCommonP)->l_caller;          \
+  (cxiP)->l_start = (cxiCommonP)->l_start;            \
+  (cxiP)->l_len = (cxiCommonP)->l_len;                \
+  (cxiP)->l_owner = (void *)(UIntPtr)(cxiCommonP)->l_owner;    \
+};
+#endif        /* !GPFS_LINUX */
+
+typedef enum cxiTrace_t
+{
+  cxiTraceNFS = 0,     /* trace linux nfs activity via printk */
+  cxiTraceNFSoff = 1   /* stop  tracing of linux nfs activity */
+} cxiTrace_t;
+
+
+/* DMAPI operation context */
+typedef enum cxiContext_t
+{
+  unknownOp = 0,        /* invalid or unknown operation type */
+  vnOp = 1,             /* vnode operation */
+  reservedFileOp = 2,   /* quota operation (quota check, asyncRecovery) */
+  generalOp = 3,        /* general (not vnop) operation */
+
+  /* must place all non-dm contexts above this line */
+  /* must place dmOp context on next line, and all other dm contexts after it */
+  dmOp = 4,             /* non-file-related DM operation */
+  dmOpWithToken = 5,    /* File-related DM operation with a DM token */
+  dmOpWithoutToken = 6, /* File-related DM operation without a token */
+  dmOpInvalidToken = 7, /* File-related DM operation with an invalid token */
+  dmOpAccessControl = 8 /* DM operation that acquires/releases access rights */
+} cxiContext_t;
+
+#define CXI_D_NAME_MAX 255     /* _D_NAME_MAX sys/dir.h */
+#define CXI_DEV_BSIZE  512     /* DEV_BSIZE AIX sys/dir.h */
+#define CXI_MAXNAMLEN  255     /* MAXNAMLEN AIX sys/dir.h */
+#define CXI_MAXPATHLEN 1024    /* MAXPATHLEN AIX sys/param.h */
+#define CXI_PATH_MAX   1023    /* PATH_MAX AIX sys/limits.h */
+
+/* This macro verifies if a given operation context is one of DMAPI contexts */
+#define IS_DM_CONTEXT(opContext) ((opContext < dmOp) ? false : true)
+
+/* Operations supported by gpfsReadWrite */
+typedef enum cxiRdWr_t { CXI_READ, CXI_WRITE, CXI_READ_NO_MOVE,
+                         CXI_WRITE_NO_MOVE } cxiRdWr_t;
+
+/* Forward declarations */
+struct gpfsVfsData_t;
+struct ext_cred_t;
+
+/* Macros to convert integers of various sizes from big endian to little
+   endian or vice versa.  Do not use these directly; use either the ByteSwapxx
+   routines defined in cxiTypes-plat.h or the BigEndToCPUxx/CPUToBigEndxx
+   macros instead. */
+#define _ByteSwap16(d) \
+        ((UInt16)((((UInt16)(d) >> 8) & 0x00FFU) | \
+                  (((UInt16)(d) << 8) & 0xFF00U)))
+
+#define _ByteSwap32(d) \
+        ((UInt32)((((UInt32)(d) >> 24) & 0x000000FFU) | \
+                  (((UInt32)(d) >>  8) & 0x0000FF00U) | \
+                  (((UInt32)(d) <<  8) & 0x00FF0000U) | \
+                  (((UInt32)(d) << 24) & 0xFF000000U)))
+
+#define _ByteSwap64(d) \
+	((UInt64)((((UInt64)(d) >> 56) & 0x00000000000000FFULL) | \
+		  (((UInt64)(d) >> 40) & 0x000000000000FF00ULL) | \
+		  (((UInt64)(d) >> 24) & 0x0000000000FF0000ULL) | \
+		  (((UInt64)(d) >>  8) & 0x00000000FF000000ULL) | \
+		  (((UInt64)(d) <<  8) & 0x000000FF00000000ULL) | \
+		  (((UInt64)(d) << 24) & 0x0000FF0000000000ULL) | \
+		  (((UInt64)(d) << 40) & 0x00FF000000000000ULL) | \
+		  (((UInt64)(d) << 56) & 0xFF00000000000000ULL)))		
+
+
+/* Include platform specific types */
+#include <cxiTypes-plat.h>
+
+/* Macros to be used when switching data from big endian to
+ * the endian-ness of the CPU
+ */
+#ifdef GPFS_LITTLE_ENDIAN
+#define BigEndToCPU16(d)  ByteSwap16(d)
+#define BigEndToCPU32(d)  ByteSwap32(d)
+#define BigEndToCPU64(d)  ByteSwap64(d)
+#define CPUToBigEnd16(d)  ByteSwap16(d)
+#define CPUToBigEnd32(d)  ByteSwap32(d)
+#define CPUToBigEnd64(d)  ByteSwap64(d)
+#else
+#define BigEndToCPU16(d)  (d)
+#define BigEndToCPU32(d)  (d)
+#define BigEndToCPU64(d)  (d)
+#define CPUToBigEnd16(d)  (d)
+#define CPUToBigEnd32(d)  (d)
+#define CPUToBigEnd64(d)  (d)
+#endif
+
+/* Macros to get the endian-ness and word size of this CPU */
+#ifdef GPFS_LITTLE_ENDIAN
+#define NodeBigEndian false
+#else
+#define NodeBigEndian true
+#endif
+
+typedef enum {
+  OSTYPE_AIX,
+  OSTYPE_LINUX
+} OSType;
+
+#define ostypeToStr(T) \
+  (((T) == OSTYPE_AIX)    ? "AIX"    : \
+   ((T) == OSTYPE_LINUX ) ? "Linux"  : \
+                            "unknown")
+
+#ifdef GPFS_LINUX
+#define NodeOperatingSystem OSTYPE_LINUX
+#else
+#define NodeOperatingSystem OSTYPE_AIX
+#endif
+
+#ifdef __64BIT__
+#define NodeWordSize 64
+#else
+#define NodeWordSize 32
+#endif
+
+/* Retrieve the file type from the mode and translate it to cxiNodeType_t */
+#define CXIMODE_TO_NODETYPE(M) (modeToNodeType[((M) & S_IFMT) >> 12])
+
+/* Invariant size time structure. */
+typedef struct cxiTimeStruc32_t
+{
+  cxiTime32_t tv_sec;   /* seconds */
+  cxiNSec32_t tv_nsec;  /* nanoseconds */
+} cxiTimeStruc32_t;
+
+/* May be 32/64 bit specific depending on how OS defines
+ * cxiTime_t (cxiTypes-plat.h).  On AIX cxiTime_t (time_t) is
+ * an int32long64 and cxiNSec_t (suseconds_t) is a signed int.
+ * Nanoseconds can always be represented within 32 bits, however
+ * on linux it's a long int, which would change size for 64bits.
+ */
+typedef struct cxiTimeStruc_t
+{
+  cxiTime_t tv_sec;    /* seconds */
+  cxiNSec_t tv_nsec;   /* nanoseconds */
+} cxiTimeStruc_t;
+
+/* Must match struct vattr on AIX */
+typedef struct cxiVattr_t
+{
+  int            va_type;       /* vnode type */
+  cxiMode_t      va_mode;       /* access mode */
+  cxiUid_t       va_uid;        /* owner uid */
+  cxiGid_t       va_gid;        /* owner gid */
+  union
+  {
+    cxiDev_t    _va_dev;        /* id of device containing file	*/
+    long        _va_fsid;       /* fs id (dev for now) */
+  } _vattr_union;
+  cxiInoSys_t    va_serialno;   /* file serial (inode) number */
+  short          va_nlink;      /* number of links */
+  short          va_flags;      /* Flags, see below for define */
+  long           va_mask;       /* Initial attribute mask */
+  cxiOff64_t     va_size;       /* file size in bytes */
+  long           va_blocksize;  /* preferred blocksize for io */
+  long	         va_blocks;     /* kbytes of disk held by file */
+
+  /* The following three fields use the 32/64 bit dependent
+   * cxiTimeStruc_t since the AIX vattr structure defines these
+   * with timestruc_t which has time_t field.
+   */
+  cxiTimeStruc_t va_atime;      /* time of last access */
+  cxiTimeStruc_t va_mtime;      /* time of last data modification */
+  cxiTimeStruc_t va_ctime;      /* time of last status change */
+  cxiDev_t       va_rdev;	/* id of device */
+
+  /* Fields added for compatability with the fullstat structure */
+  long           va_nid;        /* unused (node id on AIX) */
+  int            va_chan;       /* unused (channel on AIX) */
+  char          *va_acl;        /* unused (Access Control List on AIX) */
+  cxiSize_t      va_xinfo;      /* Extended info field (defined below)
+                                   (AIX: cxiSize_t va_aclsiz (size of ACL)) */
+  int            va_gen;        /* inode generation number */
+} cxiVattr_t;
+
+/* Define bit flags for the extended information field */
+#define VA_XPERM 0x0001         // file has extended ACL 
+#define VA_XVOL  0x0002         // dir entry was generated and is volatile
+ 
+/* Macros to recognize artificial, unique inode numbers for snapshot link
+   direcories and snapshot root directories. */
+#define SNAPROOTDIR_EXT_INO_BASE 0xFFFF0000
+#define IS_SNAPROOTDIR_EXT_INO(ino) ((UInt32)(ino) >  SNAPROOTDIR_EXT_INO_BASE)
+#define IS_SNAPLINKDIR_EXT_INO(ino) ((UInt32)(ino) == SNAPROOTDIR_EXT_INO_BASE)
+#define SNAPROOTDIR_INT_INO (3)
+
+#ifdef va_dev
+#undef va_dev
+#endif
+#ifdef va_fsid
+#undef va_fsid
+#endif
+#define	va_dev   _vattr_union._va_dev
+#define	va_fsid  _vattr_union._va_fsid
+
+/* Based on the AIX definition */
+typedef struct cxiIovec_t
+{
+  char     *iov_base;
+  cxiSize_t iov_len;
+} cxiIovec_t;
+
+typedef struct cxiErrorLogEntry_t
+{
+  short logErrorType;       /* One of the values #defined below */
+
+  /*   Fields common for all types of errors   */
+  UInt32 logRecTag;         /* Tag to associate related log entries */
+  char *componentName;      /* Name of the malfunctioning component */
+  char *componentID;
+  char *buildBranch;
+
+  /*  Fields used by logMoreInfo, logGenIF, logShutdownIF    */
+  char *strFileName;        /* File in which the error occurred */
+  UInt32 srcLineNumber;     /* Line on which the error occurred */
+  Int32 retCode;            /* return code value */
+  Int32 reasonCode;         /* reason code value */
+  char *dataStr;            /* Data dump string */
+  char *failingExpr;        /* Expression that evaluates to false */
+
+  /*   Fields used by LOGSPECIFIC   */
+  UInt32 logTemplID;        /* Error log template ID (used in AIX only) */
+  char *formatStr;          /* printf-style format string */
+  void *varargPtrPtr;       /* Pointer to the variable argument list
+			       (will be casted to va_list *)           */
+
+  char *kernData;           /* Used for copying the logRecData field of the logging
+                               kernel mailbox   */
+  int kernDataLength;       /* = logRecDataLen */
+
+  char *moduleVersion;      /* Used only for logging from external progsams */
+} cxiErrorLogEntry_t;
+
+#ifdef SMB_LOCKS
+/* Enumeration used to specify whether a file will be read or written. */
+enum AccessMode
+{
+  opAccessNone  = 0,
+  opAccessRead  = 1,
+  opAccessWrite = 2
+};
+
+/* types of oplocks granted to Samba */
+enum OplockMode
+{
+  smbOplockNone  = 0,
+  smbOplockShared  = 1,
+  smbOplockExclusive = 2
+};
+
+/* Check whether oplock olm is in conflict with lock access am:
+   A conflict exists if one of the two is for write/exlucisve and the
+   other one is at least for read/shared. */
+#define oplockAccessConflict(olm, am) ((int)(olm) + (int)(am) > 2)
+#endif
+
+#ifdef CCL
+/* Types of dentry operations tables that can be requested. */
+typedef enum DentryOpTableTypes
+{
+  DOpNormal,
+  DOpOnlyValidIfSamba,
+  DOpInvalidIfSamba
+} DentryOpTableTypes;
+#endif
+
+#define LOG_ERR_SPECIFIC    0x1
+#define LOG_ERR_GENERIC     0x2
+#define LOG_ERR_MOREINFO    0x3
+#define LOG_ERR_SHUTDOWN    0x4
+#define LOG_ERR_TRACEBACK   0x5
+#define LOG_ERR_SPECIFIC_KERN  0x6
+
+
+/* Common part of information about an open file */
+typedef struct cxiVinfo_t
+{
+  cBoolean viInUse;      /* True if VInfo is in use by an open file */
+  cBoolean disconnected; /* True if the daemon died or a forced unmount or
+                            SG panic occurred since the file was opened */
+  cBoolean viIsNFS;      /* True if this cxiVinfo_t is embedded inside a
+                            struct NFSData */
+  cBoolean rwPageDone;   /* True if paging requests received */
+} cxiVinfo_t;
+
+
+#ifdef _KERNEL
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* Function pointer for main routine of a kernel process */
+typedef void (*cxiKProcFunc_t)(void *argP);
+#ifdef __cplusplus
+}
+#endif
+
+/* Interface structure to cxiStartKProc() and cxiStopKProc() */
+typedef struct cxiKProcData_t
+{
+  cxiPid_t pid;        /* proc pid (returned) */
+
+  /* protects startStopEvent and kprocEvent transitions */
+  cxiBlockingMutex_t lock;
+
+  /* kproc can sleep here */
+  cxiWaitEvent_t kprocEvent;
+
+  /* start or stop request should sleep here waiting on pid transition */
+  cxiWaitEvent_t startStopEvent; 
+
+  int priority;        /* process priority of kproc */
+  int kprocFlags;      /* flags to pass to kernel thread creation routine */
+  Boolean terminate;   /* terminate proc when true */
+  cxiKProcFunc_t func; /* proc function */
+  void *fargP;         /* proc function arguments */
+  char *nameP;         /* proc name */
+  char *systemP;       /* any system data structure associated with process */
+} cxiKProcData_t;
+
+#define KPROC_FAILED_PID      -1
+#define KPROC_UNASSIGNED_PID  -2
+#define KPROC_RUNNING(KP)     ((KP)->pid > 0)
+#endif /* _KERNEL */
+
+/* Macros to do multiplication, division, and modulo by numbers that
+   are probably powers of two.  Depending on which define is set, the
+   operations can be performed using the built-in operators /, *, and %,
+   or using shifts and masks.  The _shift parameter of the macros should
+   be log base 2 of _divisor or _multiplier, or 0 if _divisor or
+   _multiplier is not a power of 2.  If POW2_COND_SHIFT is defined, the
+   generated code will test _shift for 0, then do either a shift or the
+   general operation.  If POW2_FORCE_SHIFT is defined, the generated
+   code will always use shifts.  This requires that the subblock size of
+   the file system actually be a power of 2.  If neither POW2_COND_SHIFT
+   nor POW2_FORCE_SHIFT are defined, the generated code will use the
+   general operations (/, *, or %). */
+#if defined(POW2_FORCE_SHIFT)
+# define MULT_OR_SHIFT(_multiplicand, _multiplier, _shift)   \
+     ((_multiplicand)<<(_shift))
+# define DIV_OR_SHIFT(_dividend, _divisor, _shift)           \
+     ((_dividend)>>(_shift))
+# define MOD_OR_MASK(_dividend, _divisor, _shift)            \
+     ((_dividend) & ((1<<(_shift)) - 1))
+#elif defined(POW2_COND_SHIFT)
+# define MULT_OR_SHIFT(_multiplicand, _multiplier, _shift)   \
+   ( ((_shift)!=0) ?                                         \
+       (_multiplicand) << (_shift) :                         \
+       ((_multiplicand)*(_multiplier)) )
+# define DIV_OR_SHIFT(_dividend, _divisor, _shift)           \
+   ( ((_shift)!=0) ?                                         \
+       (_dividend) >> (_shift) :                             \
+       ((_dividend)/(_divisor)) )
+# define MOD_OR_MASK(_dividend, _divisor, _shift)            \
+   ( ((_shift)!=0) ?                                         \
+       (_dividend) & ((1<<(_shift)) - 1) :                   \
+       ((_dividend)%(_divisor)) )
+#else
+# define MULT_OR_SHIFT(_multiplicand, _multiplier, _shift)   \
+     ((_multiplicand)*(_multiplier))
+# define DIV_OR_SHIFT(_dividend, _divisor, _shift)           \
+     ((_dividend)/(_divisor))
+# define MOD_OR_MASK(_dividend, _divisor, _shift)            \
+     ((_dividend)%(_divisor))
+#endif
+
+/* Memory copy macros that use memcpy when aligned data accesses
+   are necessary, and standard pointer typecast copying otherwise. */
+#ifdef ALIGNED_DATA_ACCESS
+#define MCPY(DEST, SRC, TYPE)  memcpy((void*) DEST, (void*) SRC, sizeof(TYPE));
+#define MCPY_SRCVAR(DEST, SRCVAR, TYPE)  memcpy((void*) DEST, (void*) &SRCVAR, sizeof(TYPE));
+#define MCPY_DESTVAR(DESTVAR, SRC, TYPE)  memcpy((void*) &DESTVAR, (void*) SRC, sizeof(TYPE));
+#define MCPY_VAR(DEST, SRC, TYPE)  memcpy((void*) &DEST, (void*) &SRC, sizeof(TYPE));
+#else
+#define MCPY(DEST, SRC, TYPE)  *((TYPE *)DEST) = *((TYPE *)SRC);
+#define MCPY_SRCVAR(DEST, SRCVAR, TYPE)  *((TYPE *)DEST) = SRCVAR;
+#define MCPY_DESTVAR(DESTVAR, SRC, TYPE) DESTVAR = *((TYPE *)SRC);
+#define MCPY_VAR(DEST, SRC, TYPE) DEST = SRC;
+#endif /* ALIGNED_DATA_ACCESS */
+
+/* Flag values for cxiNode_t::icValid:
+   Indicates whether inode attributes cached in the osNode (struct inode
+   in Linux) are known to be valid. */
+#define CXI_IC_PERM   0x00000001  /* permission related inode fields (owner,
+                                     mode, acl, etc) are valid */
+#define CXI_IC_ATTR   0x00000002  /* other inode fields are valid */
+
+/* combinations of bits defined above: */
+#define CXI_IC_STAT   0x00000003  /* what needs to be valid for stat() */
+#define CXI_IC_ALL    0x00000003  /* OR of all flags above */
+
+typedef Int32 DiskNum_t;
+typedef Int64 SectorNum_t;
+typedef Int32 SectorNumHigh_t;
+typedef UInt32 SectorNumLow_t;
+typedef Int64 BlkNum_t;
+#define DiskSizeInit MAX_INT64
+
+#ifndef INODENUM_ROOTDIR_FILE
+/* Definition needed in portability layer */
+#define INODENUM_ROOTDIR_FILE 3
+#endif
+
+#ifdef GPFS_LINUX
+#define THROWEMPTY throw()
+#else
+#define THROWEMPTY 
+#endif
+
+#endif  /* _h_cxiTypes */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiVFSStats-plat.h	(revision 16)
@@ -0,0 +1,76 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)03       1.9  src/avs/fs/mmfs/ts/kernext/ibm-linux/cxiVFSStats-plat.h, mmfs, avs_rgpfs24, rgpfs240610b 10/17/02 21:21:48 */
+
+#ifndef _h_cxiVFSStats_plat
+#define _h_cxiVFSStats_plat
+
+#ifndef _h_cxiVFSStats
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+/*
+ * Gather statistics for VFS operations:
+ *
+ * Usage:
+ *  - Placing an instance of the VFS_STAT_START macro at the begining
+ *    of a function and VFS_STAT_STOP macro at the end of a function
+ *    will keep a count of how many times the function is called as well
+ *    as the total amount of time spent in the function (elapsed time
+ *    between entering and leaving the function).
+ *  - Placing an instance of the VFS_INC macro inside a function will
+ *    update a call count, but not keep any time statistics.
+ *  - Use the command "mmfsadm vfsstats ..." to control and display
+ *    vfs statistics:
+ *       mmfsadm vfsstats enable    - turn on statistics gathering
+ *       mmfsadm vfsstats disable   - turn off statistics gathering
+ *       mmfsadm vfsstats reset     - reset all statistics counters
+ *       mmfsadm vfsstats show      - display statistics
+ *
+ */
+
+#ifndef _h_cxiVFSStats
+#error Platform header (XXX-plat.h) should not be included directly
+#endif
+
+#ifdef KCSTRACE
+#ifdef __cplusplus
+extern "C" {
+#endif
+void cxiKcsTraceInfo(int index, int value);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+#endif // _h_cxiVFSStats_plat
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiVFSStats.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiVFSStats.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/cxiVFSStats.h	(revision 16)
@@ -0,0 +1,327 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)47       1.12  src/avs/fs/mmfs/ts/kernext/ibm-kxi/cxiVFSStats.h, mmfs, avs_rgpfs24, rgpfs240610b 1/12/05 11:14:56 */
+#ifndef _h_cxiVFSStats
+#define _h_cxiVFSStats
+
+/*
+ * Gather statistics for VFS operations:
+ *
+ * Usage:
+ *  - Placing an instance of the VFS_STAT_START macro at the begining
+ *    of a function and VFS_STAT_STOP macro at the end of a function
+ *    will keep a count of how many times the function is called as well
+ *    as the total amount of time spent in the function (elapsed time
+ *    between entering and leaving the function).
+ *  - Placing an instance of the VFS_INC macro inside a function will
+ *    update a call count, but not keep any time statistics.
+ *  - Use the command "mmfsadm vfsstats ..." to control and display
+ *    vfs statistics:
+ *       mmfsadm vfsstats enable    - turn on statistics gathering
+ *       mmfsadm vfsstats disable   - turn off statistics gathering
+ *       mmfsadm vfsstats reset     - reset all statistics counters
+ *       mmfsadm vfsstats show      - display statistics
+ *
+ */
+
+#include <cxiVFSStats-plat.h>
+
+/* Enumeration of all calls for which we keep vfs statistics.  Except as
+   noted, the enum value named xxxCall represents calls to the vnode or
+   vfs operation named xxx. */
+enum VFSStatItem
+{
+  // special value indicating statistics disabled
+  nullCall             = -1,
+
+  // vnode ops
+  accessCall           = 0,
+  closeCall            = 1,
+  createCall           = 2,
+  fclearCall           = 3,
+  fsyncCall            = 4,
+  fsync_rangeCall      = 5,
+  ftruncCall           = 6,
+  getattrCall          = 7,
+  linkCall             = 8,
+  lockctlCall          = 9,
+  lookupCall           = 10,
+  map_lloffCall        = 11,
+  mkdirCall            = 12,
+  mknodCall            = 13,
+  openCall             = 14,
+  readCall             = 15, // mmfs_rdwr with op == UIO_READ
+  writeCall            = 16, // mmfs_rdwr with op != UIO_READ
+  mmapReadCall         = 17, // mmap kproc read
+  mmapWriteCall        = 18, // mmap kproc write
+  readdirCall          = 19,
+  readlinkCall         = 20,
+  readpageCall         = 21,
+  removeCall           = 22,
+  renameCall           = 23,
+  rmdirCall            = 24,
+  setaclCall           = 25,
+  setattrCall          = 26,
+  symlinkCall          = 27,
+  unmapCall            = 28,
+  writepageCall        = 29,
+  tsfattrCall          = 30,
+  tsfsattrCall         = 31,
+  flockCall            = 32,
+  setxattrCall         = 33,
+  getxattrCall         = 34,
+  listxattrCall        = 35,
+  removexattrCall      = 36,
+  fsLocationCall       = 37,
+
+  //export ops
+  encode_fhCall        = 38,
+  decode_fhCall        = 39,
+  get_dentryCall       = 40,
+  get_parentCall       = 41,
+
+  // vfs ops
+  mountCall            = 42,
+  statfsCall           = 43,
+  syncCall             = 44,
+  vgetCall             = 45,
+
+  // other counters
+  startIOCall          = 46, // number of I/Os started
+  fastOpenCount        = 47, // no of mmfs_open calls that use fast open
+  fastCloseCount       = 48, // no of mmfs_close calls that use fast close
+  fastLookupCount      = 49, // no of mmfs_lookup calls that use fast lookup
+  fastReadCount        = 50, // no of mmfs_rdwr calls that use fast read
+  fastWriteCount       = 51, // no of mmfs_rdwr calls that use fast write
+  revalidateCount      = 52, // number of revalidate calls
+  nSyncWrites          = 53, // total number of synchronous write calls
+  nAvoidedFsyncs       = 54, // number of syncs avoided due to fsync coalescing
+  nYieldSyncWriters    = 55, // number of times yield in fsync coalescing worked
+
+  // histogram of numbers of coalesced fsyncs
+  nFSync_1             = 56, // These must be contiguous
+  nFSync_2             = 57,
+  nFSync_3             = 58,
+  nFSync_4             = 59,
+  nFSync_5             = 60,
+  nFSync_6             = 61,
+  nFSync_7             = 62,
+  nFSync_8             = 63,
+
+  // total number of stat items; add new items above!
+  nVFSStatItems = 64
+};
+
+#ifdef INCLUDE_VFSSTATITEMNAMESPP
+/* printable names for VFSStatItem enum values */
+const char *VFSStatItemNamesPP[] =
+{
+  "access",               // 0
+  "close",                // 1
+  "create",               // 2
+  "fclear",               // 3
+  "fsync",                // 4
+  "fsync_range",          // 5
+  "ftrunc",               // 6
+  "getattr",              // 7
+  "link",                 // 8
+  "lockctl",              // 9
+  "lookup",               // 10
+  "map_lloff",            // 11
+  "mkdir",                // 12
+  "mknod",                // 13
+  "open",                 // 14
+  "read",                 // 15
+  "write",                // 16
+  "mmapRead",             // 17
+  "mmapWrite",            // 18
+  "readdir",              // 19
+  "readlink",             // 20
+  "readpage",             // 21
+  "remove",               // 22
+  "rename",               // 23
+  "rmdir",                // 24
+  "setacl",               // 25
+  "setattr",              // 26
+  "symlink",              // 27
+  "unmap",                // 28
+  "writepage",            // 29
+  "tsfattr",              // 30
+  "tsfsattr",             // 31
+  "flock",                // 32
+  "setxattr",             // 33
+  "getxattr",             // 34
+  "listxattr",            // 35
+  "removexattr",          // 36
+  "NOT_USED",             // 37
+
+  //export ops
+  "encode_fh",            // 38
+  "decode_fh",            // 39
+  "get_dentry",           // 40
+  "get_parent",           // 41
+
+  // vfs ops
+  "mount",                // 42
+  "statfs",               // 43
+  "sync",                 // 44
+  "vget",                 // 45
+
+  // other counters
+  "startIO",              // 46
+  "fastOpen",             // 47
+  "fastClose",            // 48
+  "fastLookup",           // 49
+  "fastRead",             // 40
+  "fastWrite",            // 51
+  "revalidate",           // 52
+  "nSyncWrites",          // 53
+  "nAvoidedFsyncs",       // 54
+  "nYieldSyncWriters",    // 55
+
+  // histogram of number of coalesced fsyncs
+  "coalesce fsync 1",     // 56
+  "coalesce fsync 2",     // 57
+  "coalesce fsync 3",     // 58
+  "coalesce fsync 4",     // 69
+  "coalesce fsync 5",     // 60
+  "coalesce fsync 6",     // 61
+  "coalesce fsync 7",     // 62
+  "coalesce fsync >= 8",  // 63
+};
+#else
+extern const char *VFSStatItemNamesPP[];
+#endif
+
+/* Statistics about a vfs call */
+typedef struct VFSStatData
+{
+  UInt32 cnt;                // total no of calls
+  cxiTimeStruc_t totalTime;  // total amount of time in call
+} VFSStatData_t;
+
+
+typedef struct VFSStats
+{
+  /* Statistics updated by kernel operations.  These are always updated by
+     using the VFS_STAT_START(xxxCall) and VFS_STAT_STOP macro pair, where
+     xxxCall is one of the enum VFSStatItem values.  If NO_VFS_STATS is
+     defined, the VFS_STAT macro will not generate any code. */
+  VFSStatData_t data[nVFSStatItems];
+
+  /* Flag indicating whether statistic gathering is currently enabled.
+     Use enable/disable methods to set or clear this flag. */
+  Boolean enabled;
+
+  /* Time period over which statistics were gathered:
+     startTime is the absolute time at which statistic gathering were last
+     started or reset by a call to enable() or reset(), and endTime is the
+     absolute time at which statistic gathering was last disabled.  If still
+     enabled, endTime will be zero. */
+  cxiTimeStruc_t startTime;  // absolute time in nanoseconds
+  cxiTimeStruc_t endTime;    // absolute time in nanoseconds
+
+} VFSStats_t;
+
+/* Enable/disable statistic gathering.  Set or clears the enabled flag and
+   updates startTime/endTime values accordingly.  The reset() method resets
+   all statistics data but leaves the enabled flag unchanged. */
+EXTERNC void VFSStats_enable(VFSStats_t *objPtr);
+EXTERNC void VFSStats_disable(VFSStats_t *objPtr);
+EXTERNC void VFSStats_reset(VFSStats_t *objPtr);
+
+/* Kernel extension interface to enable, disable, reset, and/or retrieve vfs
+   statistics, as indicated by the 'cmd' parameter (see #define's below).
+   The 'bufP' parameter is used to return statistics to the caller. */
+
+EXTERNC int kxVFSStatCtl(int cmd, void *bufP, int bufSize);
+
+#define VSTAT_ENABLE  0x01  // enable statistics gathering
+#define VSTAT_DISABLE 0x02  // disable statistics gathering
+#define VSTAT_RESET   0x04  // reset statistics
+#define VSTAT_GET     0x08  // copy statistics from kernel to bufP in user
+                            //   space; bufSize must be >= sizeof(VFSStats)
+
+#ifdef _KERNEL
+
+/* Instance of VFSStats class in the kernel */
+#ifdef DEFINE_VFSSTATS_GBL_VARS
+VFSStats_t vfsStats;
+#else
+extern VFSStats_t vfsStats;
+#endif
+
+/* Class to update vfs statistics on entering and exiting a vfs or vnode op.
+   If statistic gathering is enabled, the VFSStatPoint constructor will record
+   the current time; the destructor will calculate how much time has elapsed
+   since the constructor was called and update VFSStats accordingly.  The
+   intended use is that each function for which statistics are to be gathered
+   will have a variable of type VFSStatPoint declared at the very top of
+   the function (using the VFS_STAT_START macro defined below).  This way the
+   VFSStatPoint constructor will be called when the function is entered and
+   the destructor will be called before returning from the function
+   using the VFS_STAT_STOP macro. */
+typedef struct VFSStatPoint
+{
+  enum VFSStatItem statItem;
+  cxiTimeStruc_t beginTime;
+} VFSStatPoint_t;
+
+/* OS dependent functions in implementation layer */
+EXTERNC void VFSStatPoint_begin(VFSStatPoint_t *objPtr, enum VFSStatItem i);
+EXTERNC void VFSStatPoint_end(VFSStatPoint_t *objPtr);
+
+/* Psuedo constructor and destructor.  */
+static inline void VFSStatPoint_create(VFSStatPoint_t *objPtr, enum VFSStatItem i)
+{ if (vfsStats.enabled)
+    VFSStatPoint_begin(objPtr, i);
+  else objPtr->statItem = nullCall;
+}
+static inline void VFSStatPoint_destroy(VFSStatPoint_t *objPtr)
+{ if (vfsStats.enabled)
+    VFSStatPoint_end(objPtr);
+}
+
+#ifdef NO_VFS_STATS
+#define VFS_STAT_START(i) NOOP
+#define VFS_STAT_STOP NOOP
+#define VFS_INC(i)  NOOP
+#else
+#define VFS_STAT_START(i) VFSStatPoint_t vsp; VFSStatPoint_create(&vsp,i);
+#define VFS_STAT_STOP VFSStatPoint_destroy(&vsp);
+#define VFS_INC(i)  if (vfsStats.enabled) vfsStats.data[i].cnt++; else NOOP
+#endif
+
+#endif // _KERNEL
+
+#endif // _h_cxiVFSStats
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/lxtrace.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/lxtrace.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/cxi/lxtrace.h	(revision 16)
@@ -0,0 +1,182 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)99	1.10  src/avs/fs/mmfs/ts/kernext/ibm-linux/lxtrace.h, mmfs, avs_rgpfs24, rgpfs240610b 1/13/05 19:11:45 */
+
+#ifndef _h_lxtrace
+#define _h_lxtrace
+
+/*
+ * Interfaces to the Linux kernel trace device
+ *
+ */
+
+#ifndef _LINUX_TIME_H
+#include <sys/time.h>
+#endif
+
+/* Size of the ioctl trc_dump output buffer */
+#define LXTRACE_DUMP_SIZE 512
+
+#define LXTRACE_MAX_DATA 512
+#define LXTRACE_MAGIC 0xACE98271
+
+/* Number of "$n" substitutions supported in a single trace record */
+#define LXTRACE_MAX_FORMAT_SUBS 20
+
+
+/* Definitions of the trace record format */
+typedef struct
+{
+  uint trMagic;         /* Magic number to allow resynch after trace
+                           wraparound */
+  struct timeval trTime;/* Timestamp of trace record */
+  pid_t trProcess;      /* ID of process making the trace */
+  unsigned char trBuf;  /* bufNum of buffer used for trace */
+  unsigned char trCPU;  /* CPU number of process making the trace */
+  short trLength;       /* Number of bytes that follow, consisting of a
+                           trc_datahdr_t followed by the application
+                           data */
+} trc_header_t;
+/* Followed by the application trace data "char data[Length]" */
+
+/* The following device operations are supported for the trace device:
+    trc_open     Prepare the device for tracing 
+    trc_ioctl    Device control operation (see the trace_op definition)
+    trc_read     Allows the daemon to retrieve the trace records 
+    trc_write    Trace records are writen to the device 
+    trc_fsync    Sync all buffered data to the daemon 
+    trc_close    Terminate tracing and close the device 
+*/
+
+/* Device ioctl operations */
+enum trace_op
+{
+  trc_begin,    /* Enable tracing for the specified trace types */
+  trc_end,      /* Fence new writes in preparation for close */
+  trc_bufSize,  /* Change the device buffer size */
+  trc_dump      /* Dump trace state information */
+};
+
+/* Structure for passing parameters to the trace device through ioctls */
+struct kArgs
+{
+  long arg1;
+  long arg2;
+  long arg3;
+  long arg4;
+  long arg5;
+};
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+int trc_fsync();
+#ifdef __cplusplus
+}
+#endif
+
+
+/* Allowable file sizes for the lxtrace command */
+#define MIN_TRC_FILESIZE 1*1024*1024
+#define DEF_TRC_FILESIZE 16*1024*1024
+#define MAX_TRC_FILESIZE 1024*1024*1024
+
+/* Allowable buffer sizes for the lxtrace command.  Two buffers of this
+   size will be allocated. */
+#define MIN_TRC_BUFSIZE 4096
+#define DEF_TRC_BUFSIZE 64*1024
+#define MAX_TRC_BUFSIZE 1024*1024
+
+/* Trace device name */
+#define TRC_DEVICE "/dev/trace0"
+
+/* Header of a trace record to be passed to the trace device */
+typedef struct
+{
+  uint trHook;          /* Trace hook word that uniquely identifies the
+                           format of this trace record */
+  char trNArgs;         /* Number of integer arguments.  Each argument is as
+                           long as the word width of the machine.  Does not
+                           count string, generic, or float arguments. */
+  unsigned char trSPos; /* Position of string argument within argument list.
+                           May also take on special values to indicate all
+                           integers or all integers followed by a float. */
+  short trSLen;         /* If format is string or generic, contains the length
+                           of the variable part, rounded up to a multiple
+                           of the word size */
+} trc_datahdr_t;
+/* followed by char arg[LXTRACE_MAX_DATA-sizeof(trc_datahdr_t)] */
+
+
+#ifdef __KERNEL__
+/* Trace device structures */
+
+/* Possible states of the trace device */
+typedef enum trcdev_state_t
+{
+  trc_initialized,  /* header constructed */
+  trc_opened,       /* device opened      */
+  trc_active,       /* ready for tracing  */
+  trc_stopped       /* tracing disabled   */
+} trcdev_state_t;
+
+typedef struct trcdev_buffer_t
+{
+  char * beginP; /* first byte of the buffer */
+  char * endP;   /* last byte of the buffer */
+  char * nextP;  /* offset of next record to be read/written */
+  char * dirtyP; /* offset of next byte to be read */
+  int bufNum;    /* buffer number */
+} trcdev_buffer_t;
+
+typedef struct trcdev_header_t
+{
+  int major;                /* major number of the trace device */
+  int minor;                /* minor number of the trace device */
+  int bufSize;              /* number of bytes in the trace buffers */
+  int nOpens;               /* number of times the device is open */
+  int nWaits;               /* number of times we had to wait for the daemon */
+  int nBuffers;             /* number of buffers filled with trace data */
+  int nLost;                /* number of traces lost due to full buffer */
+  trcdev_state_t state;     /* status of the trace device */
+  trcdev_buffer_t writeBuf; /* The trace buffer being written */
+  trcdev_buffer_t readBuf;  /* The buffer being read by the daemon */
+  trc_header_t * tHdrP;     /* address of trc_header_t for the record
+                               currently being appended */
+  trc_datahdr_t * hdrP;     /* address of trc_datahdr_t for the record
+                               currently being appended */
+} trcdev_header_t;
+#endif /* __KERNEL __ */
+#endif /* _h_lxtrace */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/Logger-gpl.h	(revision 16)
@@ -0,0 +1,86 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)67       1.7  src/avs/fs/mmfs/ts/kernext/gpl-linux/Logger-gpl.h, mmfs, avs_rgpfs24, rgpfs240610b 2/14/05 16:16:27 */
+/*
+ * Subset of logging stuff in Linux layer
+ *
+ */
+
+#ifndef _h_logger_gpl
+#define _h_logger_gpl
+
+
+#include <Shark-gpl.h>
+
+#ifdef NDEBUG
+#define LOGASSERT(_ex)  NOOP
+#define LOGASSERTRC(_ex, _rc, _rea, _tag)  NOOP
+#else
+#define LOGASSERT(_ex)                                           \
+  if (!(_ex)) {                                                  \
+    logAssertFailed (2, __FILE__, __LINE__, 0, 0, 0, 0, # _ex);  \
+  } else NOOP
+#define LOGASSERTRC(_ex, _rc, _rea, _tag)                        \
+  if (!(_ex)) {                                                  \
+    logAssertFailed (2, __FILE__, __LINE__,                      \
+                     _rc, _rea, _tag, 0, # _ex);                 \
+  } else NOOP
+#endif
+
+#ifdef DBGASSERTS
+#define DBGASSERT(_ex)  LOGASSERT(_ex)
+#define DBGASSERTRC(_ex, _rc, _rea, _tag)  LOGASSERTRC(_ex, _rc, _rea, _tag)
+#else  /* not DBGASSERTS */
+#define DBGASSERT(_ex)  NOOP
+#define DBGASSERTRC(_ex, _rc, _rea, _tag)  NOOP
+#endif  /* DBGASSERTS */
+
+/* predeclare logAssertFailed; instantiated in cxiSystem.C */
+EXTERNC void logAssertFailed(
+               UInt32 flags,         /* LOG_FATAL_ERROR or LOG_NONFATAL_ERROR */
+               char  *srcFileName,   /* __FILE__ */
+               UInt32 srcLineNumber, /* __LINE__ */
+               Int32  retCode,       /* return code value */
+               Int32  reasonCode,    /* normally errno */
+               UInt32 logRecTag,     /* tag if have associated error log rec */
+               char  *dataStr,       /* assert data string */
+               char  *failingExpr);  /* expression that evaluated to false */
+
+#ifdef MALLOC_DEBUG
+void MallocDebugStart();
+void MallocDebugEnd();
+
+void MallocDebugNew(void *ptr, unsigned short size, unsigned short type);
+void MallocDebugDelete(void *ptr);
+#endif /* MALLOC_DEBUG */
+#endif /* _h_logger_gpl */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/Shark-gpl.h	(revision 16)
@@ -0,0 +1,92 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)07       1.16  src/avs/fs/mmfs/ts/kernext/gpl-linux/Shark-gpl.h, mmfs, avs_rgpfs24, rgpfs240610b 9/9/04 10:19:51 */
+/*
+ * Portability layer equivalent of <Shark.h>.
+ *
+ */
+
+#ifndef _h_shark_gpl
+#define _h_shark_gpl
+
+/* Indicate portability source code */
+#define GPFS_GPL
+//#include "linux_config.h"
+
+/* Try to ensure that this is the first file included in source code */
+#ifdef _KERNEL
+#if defined(_LINUX_TYPES_H) || defined(_LINUX_KERNEL_H) || defined(_LINUX_MODULE_H)
+#error Shark-gpl.h must be included first; kernel file already seen
+#endif
+#else  /* !_KERNEL */
+#ifdef _FEATURES_H
+#error Shark-gpl.h must be included first; features.h already seen
+#endif
+#endif /* _KERNEL */
+
+#ifdef _KERNEL
+/* errno needs to be predeclared for kernel code */
+extern int errno;
+
+/* Include <linux/types.h> in kernel code for cxiTypes.h */
+#include <linux/types.h>
+/* need statfs stuff (fsid_t) */
+#include <linux/vfs.h>
+#endif /* _KERNEL */
+#include <cxiTypes.h>
+
+/* Avoid various AIX specific header includes */
+#define _H_BUF
+#define _H_XMEM
+#define _H_SLEEP
+#define _H_LOCKL
+#define _H_LOCK_DEFINE
+
+#ifdef _KERNEL
+/* Virtual memory page size.  Used for aligning I/O buffers. */
+#include <asm/page.h>     /* PAGE_SIZE */
+
+/* Note that the page size can be adjusted for the IA64 Linux kernel,
+ * but we can't allow folks to do this with GPFS. */
+#ifdef GPFS_ARCH_IA64
+#ifndef CONFIG_IA64_PAGE_SIZE_16KB
+#error Linux kernel must use CONFIG_IA64_PAGE_SIZE_16KB with GPFS
+#endif
+#endif /* GPFS_ARCH_IA64 */
+#endif /* _KERNEL */
+
+
+#ifndef NOOP
+#define NOOP ((void)0)
+#endif
+#endif /* _h_shark_gpl */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/arch-gpl.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/arch-gpl.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/arch-gpl.h	(revision 16)
@@ -0,0 +1,108 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)87       1.26  src/avs/fs/mmfs/ts/kernext/gpl-linux/arch-gpl.h, mmfs, avs_rgpfs24, rgpfs240610b 5/10/05 16:55:12 */
+#ifndef _h_arch_gpl
+#define _h_arch_gpl
+
+#define LEVEL_1 // uncomment to get privilege level 1 where the storage is
+                // NOT accessible by all users ???
+
+#if defined(GPFS_ARCH_IA64) || defined(GPFS_ARCH_PPC64) \
+      || defined(GPFS_ARCH_X86_64)
+#define PGD_OFFSET(mm, page) pgd_offset_k(page)
+#else
+#define PGD_OFFSET(mm, page) pgd_offset(mm, page)
+#endif
+
+#ifdef GPFS_ARCH_IA64
+/* In the kernel's mapped region we have a full 43 bit space available and
+   completely ignore the region number (since we know its in region number 5).*/
+#ifdef LEVEL_1
+#define PRIVILEGE_FLAGS _PAGE_PL_1           // privilege level 1
+#else
+#define PRIVILEGE_FLAGS _PAGE_PL_3           // privilege level 3(user)
+#endif
+#else   //GPFS_ARCH_I386
+#define PRIVILEGE_FLAGS _PAGE_USER
+#endif
+
+int kxSaveThreadInfo(int pid, void* reg);
+#ifdef GPFS_ARCH_IA64
+int set_privilege_level(unsigned long progLevel);
+int get_privilege_level();
+#else
+#define set_privilege_level(_a) 0
+#define get_privilege_level(_a) 0
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2050000
+#include <asm/tlbflush.h>
+#endif
+
+/* General macros for flushing tlb entries */
+#if defined(GPFS_ARCH_POWER) || defined(GPFS_ARCH_PPC64) \
+      || defined(GPFS_ARCH_X86_64)
+#define FLUSH_TLB_PAGE(V,A)            NOOP //???
+#define FLUSH_TLB_RANGE(M,S,E)         NOOP //???
+#endif
+#ifdef GPFS_ARCH_I386
+#define FLUSH_TLB_PAGE(V,A)            flush_tlb_page(V,A)
+/* Temporary workaround for running i386 Linux distros on EM64T or x86-64
+   architecture; we need to flush the tlb on all cpus in this case
+   in a rather convoluted manner (vfree) after changing the protection bits.
+   This will go away with the use of pointer swizzling on ia32
+   in the near future. */
+#define FLUSH_TLB_RANGE(M,S,E) \
+        {   void *_tptr; \
+            _tptr = vmalloc(PAGE_SIZE); \
+            vfree(_tptr); \
+        }
+#define FLUSH_TLB_ALL()
+#endif /* GPFS_ARCH_I386 */
+
+#if defined(GPFS_ARCH_IA64)
+#define FLUSH_TLB_PAGE(V,A)            flush_tlb_page(V,A)
+#if LINUX_KERNEL_VERSION >= 2060500
+/* flush_tlb_range now uses vma struct instead of mm struct. */
+#define FLUSH_TLB_RANGE(M,S,E) \
+        { struct vm_area_struct vma; \
+          vma.vm_mm = M; \
+          flush_tlb_range(&vma,S,E); \
+        }
+#else
+#define FLUSH_TLB_RANGE(M,S,E)         flush_tlb_range(M,S,E)
+#endif /* LINUX_KERNEL_VERSION >= 2060500 */
+#define FLUSH_TLB_ALL()                flush_tlb_all()
+#endif /* GPFS_ARCH_IA64 */
+
+#endif /* _h_arch_gpl */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/linux2gpfs.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/linux2gpfs.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/linux2gpfs.h	(revision 16)
@@ -0,0 +1,406 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.85.1.3  src/avs/fs/mmfs/ts/kernext/gpl-linux/linux2gpfs.h, mmfs, avs_rgpfs24, rgpfs24s007a 10/8/06 03:17:31 */
+#ifndef _h_linux2gpfs
+#define _h_linux2gpfs
+
+#include <cxiTypes.h>
+#include <Logger-gpl.h>
+
+#ifdef __cplusplus
+#include <prelinux.h>
+#endif
+
+#include <linux/kdev_t.h>
+#include <linux/fs.h>
+
+#ifdef __cplusplus
+#include <postlinux.h>
+#endif
+#include <cxiSystem.h>
+#include <verdep.h>
+
+#ifdef NTRACE
+#define PRINTINODE(i)  ((void)0)
+#define PRINTDENTRY(d) ((void)0)
+#define PRINTSBLOCK(s) ((void)0)
+#define PRINTFILE(f)   ((void)0)
+#else
+#define PRINTINODE(i)  printInode(i)
+#define PRINTDENTRY(d) printDentry(d)
+#define PRINTSBLOCK(s) printSblock(s)
+#define PRINTFILE(f)   printFile(f)
+#endif
+
+/* check if inode belongs to GPFS */
+#define GPFS_TYPE(IP) (!(iP) ? false : \
+                        (!(iP->i_sb) ? false : \
+                          (!(iP->i_sb->s_type) ? false : \
+                            !strcmp(iP->i_sb->s_type->name, "gpfs"))))
+
+
+/* forward declarations */
+struct ext_cred_t;
+struct dentry;
+struct super_block;
+struct file;
+struct nameidata;
+struct page;
+struct iattr;
+struct inode;
+struct vm_area_struct;
+#ifdef P_NFS4
+typedef struct {
+	u32 state[4];
+} stateid_t;
+typedef struct {
+	u32             cl_boot;
+	u32             cl_id;
+} clientid_t;
+#endif
+
+/* inode.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  void setCred(struct ext_cred_t *);
+#if LINUX_KERNEL_VERSION >= 2060000
+  int gpfs_i_create(struct inode *, struct dentry *, int, struct nameidata *);
+  struct dentry *gpfs_i_lookup(struct inode *, struct dentry *, struct nameidata *);
+#else
+  int gpfs_i_create(struct inode *, struct dentry *, int);
+  struct dentry *gpfs_i_lookup(struct inode *, struct dentry *);
+#endif
+  int gpfs_i_link(struct dentry *, struct inode *, struct dentry *);
+  int gpfs_i_unlink(struct inode *, struct dentry *);
+  int gpfs_i_symlink(struct inode *, struct dentry *, const char *);
+  int gpfs_i_mkdir(struct inode *, struct dentry *, int);
+  int gpfs_i_rmdir(struct inode *, struct dentry *);
+#if LINUX_KERNEL_VERSION >= 2050000
+  int gpfs_i_mknod(struct inode *, struct dentry *, int, dev_t);
+#else
+  int gpfs_i_mknod(struct inode *, struct dentry *, int, int);
+#endif
+  int gpfs_i_rename(struct inode *, struct dentry *, struct inode *,
+                    struct dentry *);
+  int gpfs_i_readlink(struct dentry *, char *, int);
+#if LINUX_KERNEL_VERSION >= 2061600
+  void* gpfs_i_follow_link(struct dentry *dentry, struct nameidata *nd);
+#else
+  int gpfs_i_follow_link(struct dentry *dentry, struct nameidata *nd);
+#endif
+  int gpfs_i_readpage(struct file *, struct page *);
+#if LINUX_KERNEL_VERSION >= 2050000
+  int gpfs_i_writepage(struct page *pageP, struct writeback_control *wbcP);
+#else
+  int gpfs_i_writepage(struct page *pageP);
+#endif
+  int gpfs_i_bmap(struct inode *, int);
+  void gpfs_i_truncate(struct inode *);
+#if LINUX_KERNEL_VERSION >= 2060000
+  int gpfs_i_permission(struct inode *, int, struct nameidata *);
+#else
+  int gpfs_i_permission(struct inode *, int);
+#endif
+  int gpfs_i_smap(struct inode *, int);
+  int gpfs_i_updatepage(struct file *, struct page *, const char *,
+                        unsigned long, uint, int);
+  int gpfs_i_revalidate(struct dentry *);
+  int gpfs_i_setattr(struct dentry *, struct iattr *);
+#if LINUX_KERNEL_VERSION >= 2050000
+  int gpfs_i_getattr(struct vfsmount *mnt, struct dentry *, 
+                     struct kstat *);
+#else
+  int gpfs_i_getattr(struct dentry *, struct iattr *);
+#endif
+
+#if LINUX_KERNEL_VERSION > 2060000
+  int gpfs_i_setxattr(struct dentry *, const char *, const void *, size_t, int);
+  ssize_t gpfs_i_getxattr(struct dentry *, const char *, void *, size_t);
+  ssize_t gpfs_i_listxattr(struct dentry *, char *, size_t);
+  int gpfs_i_removexattr(struct dentry *, const char *);
+  int gpfs_set_posix_acl(struct dentry *, int, const void *, size_t);
+  int gpfs_get_posix_acl(struct dentry *, int, const void *, size_t);
+#endif
+
+  int gpfs_i_getattr_internal(struct inode *iP);
+  int gpfs_i_setattr_internal(struct inode *iP, struct iattr *aP);
+  void printInode(struct inode *);
+  void printDentry(struct dentry *);
+  void printDentryTree(struct dentry *, int maxPrint);
+  void setIopTable(struct inode *iP, Boolean xperm);
+  void printSuper(struct super_block *sbP);
+  void printSuperList(struct super_block *sbP);
+
+#ifdef HAS_IOP_PUT_LINK
+#if LINUX_KERNEL_VERSION >= 2061600
+void gpfs_i_put_link(struct dentry *dentry, struct nameidata *nd, void* cookie);
+#else
+void gpfs_i_put_link(struct dentry *dentry, struct nameidata *nd);
+#endif
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* file.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  loff_t gpfs_f_llseek(struct file *, loff_t, int);
+  ssize_t gpfs_f_read(struct file *, char *, size_t, loff_t *);
+  ssize_t gpfs_f_dir_read(struct file *, char *, size_t, loff_t *);
+  ssize_t gpfs_f_write(struct file *, const char *, size_t, loff_t *);
+  int gpfs_f_readdir(struct file *, void *, filldir_t);
+  uint gpfs_f_poll(struct file *, struct poll_table_struct *);
+  int gpfs_f_ioctl(struct inode *, struct file *, uint, unsigned long);
+  int gpfs_f_mmap(struct file *, struct vm_area_struct *);
+  int gpfs_f_open(struct inode *, struct file *);
+  int gpfs_f_release(struct inode *, struct file *);
+  int gpfs_f_fsync(struct file *, struct dentry *, int datasync);
+  int gpfs_f_fasync(int, struct file *, int);
+  int gpfs_f_lock(struct file *, int, struct file_lock *);
+  int gpfs_f_flock(struct file *, int, struct file_lock *);
+  ssize_t gpfs_f_readv(struct kiocb *, const struct iovec *, unsigned long,
+                   loff_t );
+  ssize_t gpfs_f_writev(struct kiocb *, const struct iovec *, unsigned long,
+                    loff_t );
+  int gpfs_f_cleanup(struct inode *iP, struct file *fP);
+#if LINUX_KERNEL_VERSION > 2060300
+  struct page *gpfs_filemap_nopage(struct vm_area_struct * area,
+                                 unsigned long address, int *no_share);
+#else
+  struct page *gpfs_filemap_nopage(struct vm_area_struct * area,
+                                 unsigned long address, int no_share);
+#endif
+  void gpfs_filemap_close(struct vm_area_struct * area);
+  void gpfs_filemap_open(struct vm_area_struct * area);
+#ifdef NFS4_CLUSTER
+  int gpfs_f_share(struct file *, unsigned int, unsigned int);
+#endif /* NFS4_CLUSTER */
+
+#if LINUX_KERNEL_VERSION >= 2060000
+  ssize_t gpfs_f_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iovecP,
+                           loff_t offset, unsigned long count);
+#elif defined(SUSE_LINUX)
+  int gpfs_f_direct_IO(int rw, struct file *file, struct kiobuf *kiobuf,
+                        unsigned long in_offset, int count);
+#endif
+
+#ifdef P_NFS4
+  int gpfs_layout_get(struct inode *inode, void *p);
+  int gpfs_get_devicelist(struct super_block *sbP, void *p);
+  int gpfs_get_deviceinfo(struct super_block *sb, void *p);
+  int gpfs_layout_return(struct inode *inode, void *p);
+  int gpfs_get_state(struct inode *inode, void *fh, void *p);
+  void gpfs_get_verifier(struct super_block *sb, u32 *p);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+/* super.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+#ifdef VERBOSETRACE
+  void TraceBKL();
+#else
+#define TraceBKL() ((void)0)
+#endif
+  void gpfs_s_read_inode(struct inode *);
+  void gpfs_s_read_inode2(struct inode *, void *);
+  void gpfs_s_delete_inode(struct inode *);
+  int gpfs_s_notify_change(struct dentry *, struct iattr *);
+  void gpfs_s_put_super(struct super_block *);
+#if LINUX_KERNEL_VERSION >= 2060000
+  int gpfs_s_statfs(struct dentry *, struct kstatfs *);
+  void gpfs_destory_inodecache(void);
+  int gpfs_init_inodecache(void);
+  struct inode *gpfs_alloc_inode(struct super_block *);
+  void gpfs_destroy_inode(struct inode *);
+#else
+  int gpfs_s_statfs(struct super_block *, struct statfs *);
+#endif
+#if LINUX_KERNEL_VERSION >= 2061700
+  void gpfs_s_umount_begin(struct vfsmount *, int);
+#else
+  void gpfs_s_umount_begin(struct super_block *);
+#endif
+  int gpfs_s_remount(struct super_block *, int *, char *);
+#if LINUX_KERNEL_VERSION > 2060000
+  struct dentry *gpfs_decode_fh(struct super_block *sbP, __u32 *fh,
+			           int len, int fhtype, 
+				   int (*acceptable)(void *context, struct dentry *dentry),
+                                   void *context);
+  int gpfs_encode_fh(struct dentry *dentry, __u32 *fh, int *lenp, int need_parent);
+  struct dentry *gpfs_get_dentry(struct super_block *sb, void *data);
+  struct dentry *gpfs_get_dparent(struct dentry * dentry);
+#else
+  struct dentry *gpfs_fh_to_dentry(struct super_block *sbP, __u32 *fh,
+			           int len, int fhtype, int parent);
+  int gpfs_dentry_to_fh(struct dentry *, __u32 *fh, int *lenp, int need_parent);
+#endif
+#ifdef NFS4_CLUSTER
+  int gpfs_s_fs_locations(struct super_block *, char **);
+#endif
+  void gpfs_s_write_inode(struct inode *);
+  void gpfs_s_clear_inode(struct inode *);
+  void gpfs_s_write_super(struct super_block *);
+#if LINUX_KERNEL_VERSION >= 2050000
+  int gpfs_get_sb(struct file_system_type *fsTypeP,
+                                  int flags, const char *devNameP, void *dataP,
+				  struct vfsmount *mnt);
+  int gpfs_fill_super(struct super_block *, void *, int);
+#else
+  struct super_block *gpfs_fill_super(struct super_block *, void *, int);
+#endif
+  int mmfsd_release(struct inode *, struct file *);
+  int exec_mmfs(void *);
+  void kill_mmfsd(void);
+  void gpfs_unreg_fs();
+  int gpfs_reg_fs();
+  int fork_mmfsd();
+  int fork_mount_helper(char *data);
+#ifdef __cplusplus
+}
+#endif
+
+/* Find gpfs info from a linux inode. */
+#define VP_TO_CNP(VP)  ((struct cxiNode_t *)((VP)->PRVINODE))
+#define VP_TO_GNP(VP)  ((gpfsNode_t *)((VP)->PRVINODE))
+#define VP_TO_NFSP(VP) ((VP_TO_CNP((struct inode *)(VP))->nfsP))
+
+#define VP_TO_PVP(VP)  ((struct gpfsVfsData_t *)(SBLOCK_PRIVATE((VP)->i_sb)))
+
+/* block.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  int gpfs_b_open(struct inode *inode, struct file *file);
+  int gpfs_b_release(struct inode *inode, struct file *file);
+  int gpfs_b_ioctl(struct inode *inode, struct file *file, unsigned p1,
+                   unsigned long p2);
+  int gpfs_block_init();
+  void gpfs_block_clean();
+
+  int gpfs_fb_open(struct inode *inode, struct file *file);
+  int gpfs_fb_release(struct inode *inode, struct file *file);
+  int gpfs_fb_ioctl(struct inode *inode, struct file *file, unsigned p1,
+                    unsigned long p2);
+  ssize_t gpfs_fb_read(struct file *file, char *buf, size_t nbytes, 
+                       loff_t *ppos);
+  ssize_t gpfs_fb_write(struct file *file, const char *buf, size_t nbytes,
+                        loff_t *ppos);
+#ifdef __cplusplus
+}
+#endif
+
+/* dir.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+#if LINUX_KERNEL_VERSION >= 2060000
+  int gpfs_d_invalid(struct dentry *dentry, struct nameidata *);
+  int gpfs_d_revalidate(struct dentry *dentry, struct nameidata *);
+#ifdef CCL
+  int gpfs_d_valid_if_Samba(struct dentry *dentry, struct nameidata *);
+  int gpfs_d_invalid_if_Samba(struct dentry *dentry, struct nameidata *);
+#endif
+#else
+  int gpfs_d_invalid(struct dentry *dentry, int flags);
+  int gpfs_d_revalidate(struct dentry *dentry, int flags);
+#ifdef CCL
+  int gpfs_d_valid_if_Samba(struct dentry *dentry, int flags);
+  int gpfs_d_invalid_if_Samba(struct dentry *dentry, int flags);
+#endif
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+/* gplInit.C */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+  void reset_gpfs_operations();
+  void gpfs_clean();
+  int  gpfs_init();
+
+
+#ifdef __cplusplus
+}
+#endif
+
+/* gpfs operations tables */
+extern struct gpfs_operations   gpfs_ops;
+extern struct super_operations  gpfs_sops;
+extern struct super_operations  null_sops;
+#if LINUX_KERNEL_VERSION > 2060000
+extern struct export_operations gpfs_export_ops;
+#endif
+
+#define gpfs_dops_valid (*(struct dentry_operations*)0)  /* no ops defined */
+extern struct dentry_operations gpfs_dops_ddeletepending;
+extern struct dentry_operations gpfs_dops_invalid;
+extern struct dentry_operations gpfs_dops_revalidate;
+#ifdef CCL
+extern struct dentry_operations gpfs_dops_valid_if_Samba;
+extern struct dentry_operations gpfs_dops_invalid_if_Samba;
+#endif
+extern struct file_operations gpfs_fops;
+extern struct file_operations gpfs_fops_no_sendfile;
+extern struct file_operations gpfs_dir_fops;
+extern struct file_operations gpfs_cleanup_fops;
+#if LINUX_KERNEL_VERSION < 2050000
+extern struct file_operations gpfs_fbps;
+extern struct block_device_operations gpfs_bops;
+#endif
+extern struct inode_operations  gpfs_iops_stdperm;
+extern struct inode_operations  gpfs_iops_xperm;
+extern struct inode_operations  gpfs_dir_iops_stdperm;
+extern struct inode_operations  gpfs_dir_iops_xperm;
+extern struct inode_operations  gpfs_link_iops;
+extern struct address_space_operations gpfs_aops;
+extern struct address_space_operations gpfs_aops_after_inode_delete;
+extern struct vm_operations_struct gpfs_vmop;
+
+#endif /* _h_linux2gpfs */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/oplock.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/oplock.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/oplock.h	(revision 16)
@@ -0,0 +1,187 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)02       1.16  src/avs/fs/mmfs/ts/kernext/gpl-linux/oplock.h, mmfs, avs_rgpfs24, rgpfs240610b 11/3/05 11:00:29 */
+
+#define TEST_LOCK_MOVE_CLAMP
+/*
+ * for kernel oplocks used by Samba
+ */
+#ifndef _OPLOCK_H
+#define _OPLOCK_H
+
+#ifdef __KERNEL__
+#include <linux/types.h>
+#include <linux/file.h>
+#else
+/* Header file is also used in user space by Samba */
+#include <sys/types.h>
+#endif
+
+/*
+ * Additional fcntl commands to support integration with Samba/NFS
+ * for oplocks, share modes and NLM locks.
+ */
+
+/* 
+ * Commands 20-26 are deprecated and may be removed anytime (once Samba
+ * moves over). Use the following instead
+ */
+#define F_OPLKREG       20  /* register exclusive oplock */
+#define F_OPLKREG_LVL2  21  /* register level 2 oplock */
+#define F_OPLKACK       22  /* action on oplock */
+#define F_OPLKSTAT      23  /* stat file for oplock */
+#define F_SET_SHMODE    24  /* Request a share mode (opening a file) */
+#define F_DEL_SHMODE    25  /* Drop a share mode (closing a file) */
+#define F_OPENMODE      26  /* register open mode only */
+
+#define F_SET_NLM_MODE  27  /* Set share mode for NLM */
+#define F_DEL_NLM_MODE  28  /* Remove NLM share mode */
+#define F_SET_NLM_MOVE  29  /* Move a lock for the NLM */
+
+#define F_SHARE_MODE    30  /* share mode without oplocks */
+#define F_EXCL_OPEN     31  /* share mode with exclusive oplock */
+#define F_SHARED_OPEN   32  /* share mode with level 2 oplock */
+
+#ifdef TEST_LOCK_MOVE_CLAMP
+#define F_TEST_MOVE_OPEN_LOCK   50
+#define F_TEST_MOVE_REC_LOCK    51
+#define F_TEST_CLAMP_LOCKS      52
+#define F_TEST_UNCLAMP_LOCKS    53
+#endif
+
+/* Deny mode values passed from CIFS */
+#define DENY_DOS   0
+#define DENY_ALL   1
+#define DENY_WRITE 2
+#define DENY_READ  3
+#define DENY_NONE  4
+#define DENY_FCB   7
+/* The following prevents duplicate definition in Samba */
+#ifndef _INCLUDES_H
+#define ALLOW_SHARE_DELETE 1<<15
+#endif
+
+/* Access / deny modes passed from NLM */
+#define NLM_READ   1
+#define NLM_WRITE  2
+#define NLM_REACQUIRE 4
+
+/* Operands for the OPLKACK function */
+#define OP_REVOKE     1
+#define OP_DOWNGRADE  2
+
+/* Values for the access parameter of the check_cifs_locks function */
+#define LOCKS_ALL     1
+#define OPLOCK_ONLY   2
+#define SHMODE_ONLY   3
+
+/* Parameter values for F_SET_SHMODE, F_DEL_SHMODE */
+/* The following constants may be "OR"ed into the standard */
+/* DENY_MODE specifications                                */
+
+#define DENY_MASK     0x000000FF   /* DENY bits */
+
+typedef struct {
+  unsigned long long os_dev;  /* Samba needs u64 for dev_t; this *cannot* be dev_t */
+  ino_t os_ino;
+  int os_state;
+} oplock_stat_t;
+
+#ifdef __KERNEL__
+
+/* Share mode counter categories */
+
+#define SM_DENYWA  0   /* Deny write advisory */
+#define SM_DENYWM  1   /* Deny write mandatory */
+#define SM_DENYR   2   /* Deny read */
+#define AM_WRITEA  3   /* Write access, check advisory locks */
+#define AM_WRITEM  4   /* Write access, check mandatory locks */
+#define AM_READ    5   /* Read access */
+#define NUM_SM     6   /* Count of the above fields */
+
+/* Lock Bits for CIFS Open locks tokens */
+/* These locks are used as follows:
+ *  coSMBOpen is always on to distinguish these lock modes from the standard ones.
+ *  coRead is turned on by Samba requesting read access to the file.  An NFS open
+ *         for read will not use these locks and is always allowed.
+ *  coWriteA requests write access and asks that advisory write locks be
+ *         checked. Samba will turn this bit on for write access.
+ *         If this bit is on, COWriteM will be defaulted on also.
+ *  coWriteM requests write access and asks that mandatory write locks be checked.
+ *         Both Samba and NFS will turn this bit on.
+ *         NOTE: One of CORead and coWriteM will always be on.
+ *  coDenyR requests that read access be denied to others (except NFS users who don't lock)
+ *  coDenyWA is advisory denial of writes.  It will block users who request COWriteA.
+ *  coDenyWM is mandatory denial of writes.  It will block users who request COWriteM.
+ */
+
+/* Initially, coNFS4Share is not set indicating that no share operation has been
+ * done by the NFS version 4 daemon (therefore any open locks held were done
+ * implicitly and can be replaced by those specified on a share operation).  
+ * This is set when gpfs_f_share is first called for a file and means that 
+ * subsequent share operations will add additional open locks (instead of 
+ * replacing the current ones). */
+#define coNFS4Share 0x80
+
+#define coSMBOpen 0x40
+#define coSMBShift 3
+#define coRead    0x20
+#define coWriteM  0x10
+#define coWriteA  0x08
+#define coDenyR   0x04
+#define coDenyWM  0x02
+#define coDenyWA  0x01
+#define coDenyAll 0x07
+#define coMask    0x3f
+
+/* Command parameter of the tkn_control() function.
+ */
+#define TOKENOP_ACQUIRE                 0x1   /* Acquire (Samba) */
+#define TOKENOP_RELEASE                 0x2   /* Release (Samba) */
+#define TOKENOP_ACQUIRE_NLM             0x3   /* Acquire (NLM) */
+#define TOKENOP_RELEASE_NLM             0x4   /* Release (NLM) */
+#define TOKENOP_MOVE_NLM                0x5   /* Move a lock for NLM */
+
+/* Flags for gpfsReserveShare and gpfsReserveDelegation */
+#define RESERVE_NONE                    0x00000000
+#define RESERVE_HAVELOCK                0x00000001 /* caller holds vinfoLock */
+#define RESERVE_DOWNGRADE               0x00000002 /* calling to return share */
+#define RESERVE_NOWAIT                  0x00000004 /* asynchronous */
+
+int setSMBOpenLockControl(void *fP, void *infoP, int command, int lockmode);
+
+#endif
+
+#endif /* _OPLOCK_H */
+
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/postlinux.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/postlinux.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/postlinux.h	(revision 16)
@@ -0,0 +1,36 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+}
+#undef new
+#undef virtual
+#undef typename
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/prelinux.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/prelinux.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/prelinux.h	(revision 16)
@@ -0,0 +1,42 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+#define __NO_VERSION__
+
+#ifndef __KERNEL__
+#define __KERNEL__
+#endif
+
+#define new      notKeywordNew
+#define virtual  notKeywordVirtual  /* override 'virtual' member in mm.h */
+#define typename notKeywordTypename /* override 'typename' member in irq.h */
+extern "C" {
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/verdep.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/verdep.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/include/gpl-linux/verdep.h	(revision 16)
@@ -0,0 +1,526 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)41       1.57.1.5  src/avs/fs/mmfs/ts/kernext/gpl-linux/verdep.h, mmfs, avs_rgpfs24, rgpfs24s008a 11/10/06 11:47:24 */
+#ifndef _h_verdep
+#define _h_verdep
+
+#if (LINUX_KERNEL_VERSION >= 2060000)
+/************************************
+ * Linux 2.6 functional differences *
+ ************************************/
+# include <linux/buffer_head.h>
+# include <linux/kdev_t.h>
+# include <linux/namei.h>
+# include <linux/mount.h>
+# include <linux/page-flags.h>
+# include <linux/security.h>
+# include <linux/sched.h>
+# include <linux/init.h>
+# include <linux/fs.h>
+
+# include <cxiTypes.h>
+# include <cxiSystem.h>
+# include <Logger-gpl.h>
+# include <linux/moduleparam.h>
+
+
+  /* Inode state indicators.
+     SLES9 2.6.5-7.244+ kernels and SLES10 kernels require truncate_inode_pages
+     to be called from the delete_inode sop and check for I_WILL_FREE flag, 
+     RHEL4 kernels do not (thus far).  */
+# if defined(SUSE_LINUX) && \
+     ((LINUX_KERNEL_VERSION == 2060507 && \
+       SUSE_LINUX_UPDATE_SUBLEVEL >= 24400000000) || \
+      LINUX_KERNEL_VERSION > 2060507)
+#   define INODE_BEING_RELEASED (I_FREEING|I_CLEAR|I_WILL_FREE)
+#   define INODE_IN_CACHE (I_FREEING|I_CLEAR|I_LOCK|I_NEW|I_WILL_FREE)
+    /* required if file system defines delete_inode */
+#   define MUST_TRUNCATE_INODE_PAGES 1
+# else
+#   define INODE_BEING_RELEASED (I_FREEING|I_CLEAR)
+#   define INODE_IN_CACHE (I_FREEING|I_CLEAR|I_LOCK|I_NEW)
+#   define MUST_TRUNCATE_INODE_PAGES 0
+# endif
+
+  /* Retrieve a new empty inode from the vfs */
+# define NEW_INODE(SUPER)            new_inode(SUPER)
+ 
+  /* Uncache a directory entry.  Must hold dcache lock. */
+# define DENTRY_DROP(DP)  \
+  {  \
+    spin_lock(&(DP)->d_lock); \
+    __d_drop(DP); \
+    spin_unlock(&(DP)->d_lock); \
+  }
+
+  /* Uncache a directory entry.  Must hold *NO* locks. */
+  /* __d_drop checks state of DCACHE_UNHASHED prior to drop. */
+# define DENTRY_D_DROP(DP)  \
+  {  \
+    spin_lock(&dcache_lock); \
+    spin_lock(&(DP)->d_lock); \
+    __d_drop(DP); \
+    spin_unlock(&(DP)->d_lock); \
+    spin_unlock(&dcache_lock); \
+  }
+
+  /* Check if directory is already uncached.  Must hold dcache lock. */
+# define DENTRY_UNHASHED(DP)         d_unhashed(DP)
+
+  /* Mark buffer in error and call iodone routine */
+# define BUFHEAD_ERROR_IODONE(BH)  \
+  {                                \
+    clear_buffer_uptodate(BH);     \
+    (BHP)->b_end_io((BH), 0);      \
+  }
+
+
+#if LINUX_KERNEL_VERSION >= 2061300 || \
+   (LINUX_KERNEL_VERSION == 2060507 && defined(SUSE_LINUX) && SUSE_LINUX_UPDATE_SUBLEVEL >= 13900000000)
+#define MY_INIT_LIST_HEAD(SINODES) INIT_LIST_HEAD(SINODES)
+#else
+#define MY_INIT_LIST_HEAD(SINODES) 
+#endif
+
+# define SET_SUPER_BLOCK(SBP,SOPS)                \
+  {                                               \
+    memset((SBP), 0, sizeof(struct super_block)); \
+    (SBP)->s_op = SOPS;                           \
+    (SBP)->s_flags |= MS_ACTIVE;                  \
+    security_sb_alloc(SBP);			  \
+    MY_INIT_LIST_HEAD(&((SBP)->s_inodes));        \
+  }
+
+# define UNSET_SUPER_BLOCK(SBP)              \
+  {						  \
+    security_sb_free(SBP);			  \
+  }
+
+# define KSTATFS                     kstatfs
+# define HAS_SOP_ALLOC_INODE         1
+# define NODE_TOO_BIG_FOR_OSNODE(SZ) 0  /* false if HAS_SOP_ALLOC_INODE */
+
+# define DAEMONIZE(A)                daemonize(A);
+# define FOR_EACH_TASK(T)            for_each_process(T)
+# define DO_EACH_THREAD(G,T)         do_each_thread(G,T)
+# define WHILE_EACH_THREAD(G,T)      while_each_thread(G,T)
+# define NEXT_TASK(T)                list_entry((T)->tasks.next, \
+                                                 struct task_struct, tasks)
+# define PROCESS_GROUP(T)            process_group(T)
+# define REVOKE_LEASE(INODE,MODE)    break_lease(INODE,MODE)
+# define KDEV_INT(KDEV)              ((unsigned int)(KDEV))
+# define PAGE_UP_TO_DATE(PAGE)       PageUptodate(PAGE)
+# define PAGE_UNLOCK(PAGE)           unlock_page(PAGE)
+# define HAS_IOP_REVALIDATE          0  /* uses getattr inode op instead */
+# define HAS_SOP_READ_INODE2         0  
+# define SBLOCK_PRIVATE(SBP)         (SBP)->s_fs_info
+# define SBLOCK_BDEVNAME(SBP,BNAME)  bdevname((SBP)->s_bdev,(BNAME))
+
+# define DCACHE_DFLAGS_DISCONNECTED  DCACHE_DISCONNECTED
+# define POSIX_UNBLOCK_LOCK(FLP)     posix_unblock_lock((FLP)->fl_file,(FLP))
+# define POSIX_LOCK_FILE(FLP1,FLP2)  posix_lock_file((FLP1),(FLP2))
+# define SPIN_LOCK_IRQ(LOCK,FLAGS)   spin_lock_irqsave(LOCK,FLAGS)
+# define SPIN_UNLOCK_IRQ(LOCK,FLAGS) spin_unlock_irqrestore(LOCK,FLAGS)
+
+# define GET_INODETIME_SEC(ITIME)  (ITIME).tv_sec
+# define CXITIME_TO_INODETIME(CXITIME, ITIME)   \
+  {                                             \
+    (ITIME).tv_sec = (CXITIME).tv_sec;          \
+    (ITIME).tv_nsec = (CXITIME).tv_nsec;        \
+  }
+# define CXITIME_FROM_INODETIME(CXITIME, ITIME) \
+  {                                             \
+    (CXITIME).tv_sec = (ITIME).tv_sec;          \
+    (CXITIME).tv_nsec = (ITIME).tv_nsec;        \
+  }
+
+#ifdef MODULE
+  /* Module function interfaces for 2.6 kernel */
+# define MY_INIT_FUNCTION()           static int __init myModuleInit(void)
+# define MY_EXIT_FUNCTION()           static void __exit myModuleExit(void)
+# define MY_MODULE_INCREMENT()        try_module_get(THIS_MODULE)
+# define MY_MODULE_DECREMENT()        module_put(THIS_MODULE) 
+
+# define MODULE_INCREMENT(MOD)        try_module_get(MOD)
+# define MODULE_DECREMENT(MOD)        module_put(MOD)
+
+# define DEFINE_MODULE_INIT()         module_init(myModuleInit)
+# define DEFINE_MODULE_EXIT()         module_exit(myModuleExit)
+#endif /* MODULE */
+
+#define SETUP_MODULE_PATH_PARMS \
+  char progPath[20] = "/usr/lpp/mmfs/bin/"; \
+  char *prog_path = progPath; \
+  char mmfsdPath[20] = "/usr/lpp/mmfs/bin/"; \
+  char *mmfsd_path = mmfsdPath; \ 
+  module_param_string(mmfsd_path, mmfsdPath, 0666, sizeof(mmfsdPath)); \ 
+  module_param_string(prog_path, progPath, 0666, sizeof(progPath));
+
+  /* pte functions */
+# define PTE_OFFSET(PMDP,VADDR)       pte_offset_map((PMDP),(VADDR))
+# define PTE_UNMAP(PTEP)              pte_unmap(PTEP);
+
+  /* mmap functions */
+# define ACQUIRE_MMAP_SEM(SEM)        down_write(SEM)
+# define RELEASE_MMAP_SEM(SEM)        up_write(SEM)
+
+# define FILEMAP_FDATASYNC(RC, M)     RC = filemap_fdatawrite(M)
+# define FILEMAP_FDATAWAIT(RC, M)     RC = filemap_fdatawait(M)
+
+# define MOD_PGPGIN(amount)           add_page_state(pgpgin, (amount))
+# define MOD_PGPGOUT(amount)          add_page_state(pgpgout, (amount))
+
+#if (LINUX_KERNEL_VERSION >= 2060700)
+#define PUTNAME __putname
+#else
+#define PUTNAME putname
+#endif
+
+#ifdef GPFS_ARCH_IA64
+   /* user addresses are below region 5 (while PAGE_OFFSET is at region 7) */
+#define GPFS_KERNEL_OFFSET 0xa000000000000000UL
+#elif GPFS_ARCH_I386
+#if LINUX_KERNEL_VERSION >= 2060900
+#define GPFS_KERNEL_OFFSET  (UIntPtr) PAGE_OFFSET - (0x8000000 + 0x100000)
+#else
+#define GPFS_KERNEL_OFFSET (UIntPtr) PAGE_OFFSET 
+#endif /* LINUX_KERNEL_VERSION >= 2060900 */
+#else
+#define GPFS_KERNEL_OFFSET (UIntPtr) PAGE_OFFSET
+#endif /* GPFS_ARCH_IA64 */
+
+#define EXEC_HELPER(PATH,AV,EV,WAIT) call_usermodehelper(PATH,AV,EV,WAIT)
+#define USING_MOUNT_HELPER() false
+
+#if LINUX_KERNEL_VERSION >= 2060600 || \
+   (LINUX_KERNEL_VERSION == 2060507 && defined(SUSE_LINUX) && SUSE_LINUX_UPDATE_SUBLEVEL >= 13900000000)
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) unmap_shared_mapping_range(MAPPING, START, STOP);
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = true;
+#elif defined(MMAP_LINUX_PATCH)
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) invalidate_mappings(MAPPING, START);
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = true;
+#else
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) 
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = false;
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2060900
+#define VFS_FOLLOW_LINK(RC, ND, BUF) nd_set_link(ND, BUF); BUF = NULL
+#else
+#define VFS_FOLLOW_LINK(RC, ND, BUF) RC = vfs_follow_link(ND, BUF)
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2061000
+#define MY_RLIM_CUR(WHAT) current->signal->rlim[WHAT].rlim_cur
+#else
+#define MY_RLIM_CUR(WHAT) current->rlim[WHAT].rlim_cur
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2061000
+/* generic_permission does not have a definition that is expected in 
+   struct inode_operations, but it is safe to call it because the
+   only difference is in the last argument, which should not come into
+   play for a GPFS inode.  Cast the definition to eliminate compiler
+   warnings. */
+#define GENERIC_PERMISSION ((int (*) (struct inode *, int, struct nameidata *))generic_permission)
+#else
+#define GENERIC_PERMISSION vfs_permission
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2061600
+#define d_child d_u.d_child
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2060900
+#define HAS_IOP_PUT_LINK
+#endif
+
+#define cxiDevMajor(D)       ((UInt32)((D) >> 20))
+#define cxiDevMinor(D)       ((UInt32)((D) & 0xfffff))
+#define cxiDevToKernelDev(D) new_decode_dev(D)
+#define cxiDev32ToDev(D) \
+  (cxiDev_t)((cxiDev32Major(D) << 8) | \
+             (cxiDev32Minor(D) & 0xFF) | \
+             ((cxiDev32Minor(D) & ~0xFF) << 12))
+
+#if LINUX_KERNEL_VERSION >= 2061900
+#define PRVINODE i_private
+#else
+#define PRVINODE u.generic_ip
+#endif
+
+#else /* < 2060000 */
+/************************************
+ * Linux 2.4 functional differences *
+ ********************************** */
+# include <linux/locks.h>
+# include <linux/kernel_stat.h>
+
+# include <cxiTypes.h>
+# include <cxiSystem.h>
+# include <Logger-gpl.h>
+
+/* Inode state indicators */
+#define INODE_BEING_RELEASED (I_FREEING|I_CLEAR)
+#define INODE_IN_CACHE (I_FREEING|I_CLEAR|I_LOCK)
+#define MUST_TRUNCATE_INODE_PAGES 0
+
+#define PRVINODE u.generic_ip
+
+#define GENERIC_PERMISSION vfs_permission
+
+#if defined(REDHAT_AS_LINUX) || defined(SUSE_LINUX) ||\
+    (defined(REDHAT_LINUX) && LINUX_KERNEL_VERSION >= 2041814)
+  /* Retrieve a new empty inode from the vfs */
+# define NEW_INODE(SUPER)            new_inode(SUPER)
+#else
+# define NEW_INODE(SUPER)            get_empty_inode()
+#endif
+
+  /* Check if directory is already uncached.  Must hold dcache lock. */
+# define DENTRY_UNHASHED(DP)         list_empty(&(DP)->d_hash)
+
+  /* Uncache a directory entry.  Assumes dcache lock is held */
+# define DENTRY_DROP(DP) \
+  { \
+    if (!DENTRY_UNHASHED((DP))) \
+      list_del_init(&(DP)->d_hash); \
+  }
+
+  /* Uncache a directory entry.  Must hold *NO* locks. */
+# define DENTRY_D_DROP(DP) \
+  { \
+    spin_lock(&dcache_lock); \
+    list_del_init(&(DP)->d_hash); \
+    spin_unlock(&dcache_lock); \
+  }
+
+  /* Mark buffer in error and call iodone routine */
+# define BUFHEAD_ERROR_IODONE(BH)    buffer_IO_error(BH)
+
+#if LINUX_KERNEL_VERSION >= 2041800
+# define SET_SUPER_BLOCK(SBP,SOPS)                \
+  {                                               \
+    memset((SBP), 0, sizeof(struct super_block)); \
+    (SBP)->s_op = SOPS;                           \
+    (SBP)->s_flags |= MS_ACTIVE;                  \
+  }
+#else
+# define SET_SUPER_BLOCK(SBP,SOPS)                \
+  {                                               \
+    memset((SBP), 0, sizeof(struct super_block)); \
+    (SBP)->s_op = SOPS;                           \
+  }
+#endif
+# define UNSET_SUPER_BLOCK(SBP)              
+
+#if ((defined(REDHAT_LINUX) && (LINUX_DISTRIBUTION_LEVEL >= 90)) || \
+     (defined(REDHAT_AS_LINUX) && (LINUX_KERNEL_VERSION >= 2042000)))
+# define HAS_01_SCHED_THREADING
+#endif
+
+#ifdef HAS_01_SCHED_THREADING
+# define NEXT_TASK(T)                list_entry((T)->tasks.next, \
+                                                struct task_struct, tasks)
+# define FOR_EACH_TASK(T)            for ((T) = &init_task;        \
+                                          ((T) = NEXT_TASK(T)) != &init_task; )
+#else
+# define FOR_EACH_TASK(T)            for_each_task(T)
+# define NEXT_TASK(T)                (T)->next_task
+#endif
+# define DO_EACH_THREAD(G,T)         FOR_EACH_TASK(T)
+# define WHILE_EACH_THREAD(G,T)      
+# define PROCESS_GROUP(T)            (T)->pgrp
+
+# define KSTATFS                     statfs
+# define HAS_SOP_ALLOC_INODE         0
+# define NODE_TOO_BIG_FOR_OSNODE(SZ) \
+    ((sizeof(((struct inode *)0)->u) - sizeof(void *)) < (SZ))
+
+# define DAEMONIZE(A)                do { daemonize(); reparent_to_init(); } \
+                                     while (0)
+# define REVOKE_LEASE(INODE,MODE)    get_lease(INODE,MODE)
+# define KDEV_INT(KDEV)              (KDEV)
+# define PAGE_UP_TO_DATE(PAGE)       Page_Uptodate(PAGE)
+# define PAGE_UNLOCK(PAGE)           UnlockPage(PAGE)
+# define HAS_SOP_READ_INODE2         1 /* read_inode2 super block op present */
+# define HAS_IOP_REVALIDATE          1 /* revalidate inode op present */
+# define SBLOCK_PRIVATE(SBP)         (SBP)->u.generic_sbp
+# define SBLOCK_BDEVNAME(SBP,BNAME)  bdevname((SBP)->s_dev)
+# define BDEVNAME_SIZE               0 /* char array unneeded on 2.4 */
+
+# define DCACHE_DFLAGS_DISCONNECTED  DCACHE_NFSD_DISCONNECTED
+# define POSIX_UNBLOCK_LOCK(FLP)     posix_unblock_lock(FLP)
+# define POSIX_LOCK_FILE(FLP1,FLP2)  posix_lock_file((FLP1),(FLP2),0)
+# define SPIN_LOCK_IRQ(LOCK,FLAGS)   spin_lock_irqsave(LOCK,FLAGS)
+# define SPIN_UNLOCK_IRQ(LOCK,FLAGS) spin_unlock_irqrestore(LOCK,FLAGS)
+
+# define GET_INODETIME_SEC(ITIME)  (ITIME)
+# define CXITIME_TO_INODETIME(CXITIME, ITIME)   \
+  {                                             \
+    (ITIME) = (CXITIME).tv_sec;                 \
+  }
+# define CXITIME_FROM_INODETIME(CXITIME, ITIME) \
+  {                                             \
+    (CXITIME).tv_sec = (ITIME);                 \
+    (CXITIME).tv_nsec = 0;                      \
+  }
+
+#ifdef MODULE
+  /* Module function interfaces for 2.4 kernel */
+# define MY_INIT_FUNCTION()           int init_module(void)
+# define MY_EXIT_FUNCTION()           void cleanup_module(void)
+# define MY_MODULE_INCREMENT()        MOD_INC_USE_COUNT
+# define MY_MODULE_DECREMENT()        if (MOD_IN_USE) \
+                                        MOD_DEC_USE_COUNT
+
+# define MODULE_INCREMENT(MOD)        __MOD_INC_USE_COUNT(MOD)
+# define MODULE_DECREMENT(MOD)        if (__MOD_IN_USE(MOD)) \
+                                        __MOD_DEC_USE_COUNT(MOD)
+# define DEFINE_MODULE_INIT()
+# define DEFINE_MODULE_EXIT()
+# define SETUP_MODULE_PATH_PARMS \
+  char *prog_path = NULL; \
+  char *mmfsd_path = NULL; \
+  MODULE_PARM(prog_path,"s"); \
+  MODULE_PARM(mmfsd_path,"s");
+
+#else
+   /* No ops if not building a module */
+# define MY_INIT_FUNCTION()          int myInit(void)
+# define MY_EXIT_FUNCTION()          void myExit(void)
+# define MY_MODULE_INCREMENT()
+# define MY_MODULE_DECREMENT()
+
+# define MODULE_INCREMENT(MOD)
+# define MODULE_DECREMENT(MOD)
+
+# define DEFINE_MODULE_INIT()        module_init(myInit)
+# define DEFINE_MODULE_EXIT()        module_exit(myExit)
+# define SETUP_MODULE_PATH_PARMS \
+  char *prog_path = NULL; \
+  char *mmfsd_path = NULL; 
+#endif /* !MODULE */
+
+
+  /* pte functions */
+#if defined(REDHAT_AS_LINUX) || \
+    (defined(REDHAT_LINUX) && (LINUX_KERNEL_VERSION >= 2042006))
+# define PTE_OFFSET(PMDP,VADDR)  pte_offset_map((PMDP),(VADDR))
+# define PTE_UNMAP(PTEP)         pte_unmap(PTEP);
+#else
+# define PTE_OFFSET(PMDP,VADDR)  pte_offset(PMDP, VADDR)
+# if defined(SUSE_LINUX) && defined(GPFS_ARCH_I386)
+#   define PTE_UNMAP(PTEP)       pte_kunmap(PTEP);
+# else
+#   define PTE_UNMAP(PTEP)       /* nothing */
+# endif
+#endif /* pte functions */
+
+#if LINUX_KERNEL_VERSION >= 2040312 || GPFS_ARCH_POWER
+# define ACQUIRE_MMAP_SEM(SEM)   down_write(SEM)
+# define RELEASE_MMAP_SEM(SEM)   up_write(SEM)
+
+#else
+# define ACQUIRE_MMAP_SEM(SEM)   down(SEM)
+# define RELEASE_MMAP_SEM(SEM)   up(SEM)
+#endif
+
+#if LINUX_KERNEL_VERSION >= 2041800
+  /* Earlier kernels do not have a return code */
+# define FILEMAP_FDATASYNC(RC, M) RC = filemap_fdatasync(M)
+# define FILEMAP_FDATAWAIT(RC, M) RC = filemap_fdatawait(M)
+#else
+# define FILEMAP_FDATASYNC(RC, M) do { filemap_fdatasync(M); RC = 0; } while (0)
+# define FILEMAP_FDATAWAIT(RC, M) do { filemap_fdatawait(M); RC = 0; } while (0)
+#endif
+
+#if (defined(REDHAT_AS_LINUX)) && \
+    (LINUX_KERNEL_VERSION >= 2042100)
+# define MOD_PGPGIN(amount)  kstat_percpu[smp_processor_id()].pgpgin += amount
+# define MOD_PGPGOUT(amount) kstat_percpu[smp_processor_id()].pgpgout+= amount
+#else
+# define MOD_PGPGIN(amount)  kstat.pgpgin += amount
+# define MOD_PGPGOUT(amount) kstat.pgpgout += amount
+#endif
+
+#define PUTNAME putname
+
+#ifdef GPFS_ARCH_IA64
+ /* user addresses are below region 5 (while PAGE_OFFSET is at region 7) */
+#define GPFS_KERNEL_OFFSET 0xa000000000000000UL
+#elif GPFS_ARCH_I386
+#define GPFS_KERNEL_OFFSET (UIntPtr) PAGE_OFFSET 
+#else
+#define GPFS_KERNEL_OFFSET (UIntPtr) PAGE_OFFSET
+#endif /* GPFS_ARCH_IA64 */
+
+#if defined(GPFS_ARCH_X86_64) 
+#   define EXEC_HELPER(PATH,AV,EV,WAIT) exec_usermodehelper(PATH,AV,EV)
+#   define USING_MOUNT_HELPER() false
+#else
+#   define EXEC_HELPER(PATH,AV,EV,WAIT) execve(PATH,AV,EV)
+#   define USING_MOUNT_HELPER() true
+#endif
+
+#ifdef MMAP_LINUX_PATCH
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) invalidate_mappings(MAPPING, START);
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = true;
+#else
+#define UNMAP_MAPPING_RANGE(MAPPING, START, STOP) 
+#define MMAP_WRITE_ACCESS(WRITEACCESS) WRITEACCESS = false;
+#endif
+
+#define VFS_FOLLOW_LINK(RC, ND, BUF) RC = vfs_follow_link(ND, BUF)
+
+#define MY_RLIM_CUR(WHAT) current->rlim[WHAT].rlim_cur
+
+#define cxiDevMajor(D)       ((Int32)(((UInt32)(D) >> 8) & 0xFF))
+#define cxiDevMinor(D)       ((Int32)((D) & 0xFF))
+
+/* Extra defines not on other platforms to massage it back down
+ * to a linux kernel specific 16 bits.
+ */
+#define cxiDevToKernelDev(D) ((cxiDevMajor(D) << 8) | (cxiDevMinor(D) & 0xFF))
+#define cxiDev32ToDev(D) \
+  (cxiDev_t)((cxiDev32Major(D) << 8) | (cxiDev32Minor(D) & 0xFF))
+
+#endif /* 2.4 kernel */
+
+/* Translate to GPFS native disk format which used high and low 16 bits
+ * for major/minor
+ */
+#define cxiDevToDev32(D) \
+  (cxiDev32_t)((cxiDevMajor(D) << 16) | (cxiDevMinor(D) & 0xFFFF))
+
+#endif /* _h_verdep */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/makefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/makefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/makefile	(revision 16)
@@ -0,0 +1,242 @@
+#==================================================
+# Copyright IBM 2000
+#==================================================
+
+# makefile for stand-alone build of Linux interface for GPFS.
+# $Id: makefile.toship,v 1.27 2006/02/28 17:25:21 yuri Exp $
+
+# Build instructions
+#  0) export SHARKCLONEROOT=/usr/lpp/mmfs/src
+#  1) Create the build configuration file. This may be done manually or
+#     by autoconfig.
+#     - Manual Method:
+#        cd config
+#        cp site.mcr.proto site.mcr
+#        (edit site.mcr file as desired, eg, architecture and compiler flags)
+#        cd ..
+#     - Autoconfig Method:
+#        make Autoconfig
+#  2) make World
+#
+# If you want to recreate the site.mcr configuration file (e.g. build for new
+# kernel), you may either edit manually or remove it prior to invoking auto-
+# configuration via the 'make Autoconfig' rule. The site.mcr file may be
+# manually removed from $SHARKCLONEROOT/shark/config or by invoking the
+# 'make CleanConfig' rule.
+#
+
+
+LPPBIN  = /usr/lpp/mmfs/bin
+DESTDIR = /usr/lpp/mmfs/src
+TOOLDIR = /usr/X11R6/bin
+
+IMAKE = $(TOOLDIR)/imake
+IRULESRC = $(DESTDIR)/shark/config
+
+MAKE = /usr/bin/make
+MAKEDASH = -
+
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+all: World
+
+World::
+	@if [ "$(SHARKCLONEROOT)" = "" ]; then \
+	echo "Error: SHARKCLONEROOT is not set!"; exit 1; fi
+World:: VerifyBuildTools
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: Modules
+World:: InstallLibs
+World:: Install
+World:: finish
+
+InstLibs:: InstallLibs
+
+###################################################
+
+SUBDIRS = ibm-kxi ibm-linux gpl-linux misc
+# old directories from previous releases (used for clean up)
+OLDSUBDIRS = patches
+
+Clean::
+	@if [ "$(SHARKCLONEROOT)" = "" ]; then \
+	echo "Error: SHARKCLONEROOT is not set!"; exit 1; fi
+Clean:: clean
+UninstallClean:: clean
+clean::
+	rm -rf $(DESTDIR)/include $(DESTDIR)/bin $(DESTDIR)/lib
+	mkdir $(DESTDIR)/include $(DESTDIR)/bin $(DESTDIR)/lib
+	rm -f config/install.ti
+
+VerifyBuildTools::
+	@echo "Verifying that tools to build the portability layer exist....";
+	@which $(TOOLDIR)/imake > /dev/null 2>&1; if [ $$? -eq 0 ]; then \
+	echo "imake present"; \
+	else \
+	echo "imake missing! Verify that it is installed."; \
+        echo "imake is normally installed with X11 development packages."; \
+        exit 1; \
+	fi;
+	@which cpp > /dev/null 2>&1; if [ $$? -eq 0 ]; then \
+	echo "cpp present"; \
+	else \
+	echo "cpp missing! Verify that it is installed."; exit 1; \
+	fi
+	@which gcc > /dev/null 2>&1; if [ $$? -eq 0 ]; then \
+	echo "gcc present"; \
+	else \
+	echo "gcc missing! Verify that it is installed."; exit 1; \
+	fi
+	@which g++ > /dev/null 2>&1; if [ $$? -eq 0 ]; then \
+	echo "g++ present"; \
+	else \
+	echo "g++ missing! Verify that it is installed."; exit 1; \
+	fi
+	@which ld > /dev/null 2>&1; if [ $$? -eq 0 ]; then \
+	echo "ld present"; \
+	else \
+	echo "ld missing! Verify that it is installed."; exit 1; \
+	fi
+
+Autoconfig: config/site.mcr
+
+config/site.mcr: config/site.mcr.proto
+	cd config; ./configure; exit $$? || exit 1;
+
+config1::
+	cd config; ./bootstrap; $(MAKE) clean; $(MAKE) install
+
+config2::
+	cd config; $(MAKE) config2;
+	cd misc; $(DOTDOTIMAKE_CMD)
+	cd misc; $(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) stubs
+	cd misc; $(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) install
+
+finish::
+
+###################################################
+
+Install::
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	(cd $$i; echo  "installing" "(`pwd`)"; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Install; \
+	exit $$?) || exit 1; \
+	done)
+
+Depend::
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
+	for i in $(SUBDIRS); do \
+	(cd $$i; echo  "Depending" "(`pwd`)"; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Depend; \
+	exit $$?) || exit 1; \
+	done)
+
+Clean::
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	(cd $$i; echo  "cleaning" "(`pwd`)"; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Clean; \
+	exit $$?) || exit 1; \
+	done)
+
+CleanConfig::
+	rm -f shark/config/site.mcr config/site.mcr; exit $$? || exit 1;
+
+# Ensures old directories (from previous release) are cleaned out
+UninstallClean::
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS) $(OLDSUBDIRS); do \
+	if [ -f $$i/makefile ]; then \
+	(cd $$i; echo  "cleaning" "(`pwd`)"; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Clean; \
+	exit $$?) || exit 1; \
+	fi; \
+	done)
+
+Makefiles::
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	echo "Making Makefiles (`pwd`/$$i)"; \
+	$(MAKE) subdirMakefiles \
+	MAKE_SUBDIR=$$i; \
+	done)
+
+subdirMakefiles:
+	cd $(MAKE_SUBDIR); \
+	$(DOTDOTIMAKE_CMD); \
+	touch .depends; \
+	cat .depends >>makefile; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) Makefiles
+
+Headers::
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	(cd $$i; echo  "installing header files" "(`pwd`)"; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Headers; \
+	exit $$?) || exit 1; \
+	done)
+
+Libs::
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	(cd $$i; echo  "Make-Libraries-ing" "(`pwd`)"; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  Libs; \
+	exit $$?) || exit 1; \
+	done)
+
+# Set up symlink for binding machine dependent module code 
+# with machine independent mmfs object
+Modules::
+	ln -fs $(LPPBIN)/mmfs $(DESTDIR)/bin ; \
+	if [ -e $(LPPBIN)/mmfs-i386r ]; then ln -fs $(LPPBIN)/mmfs-i386r $(DESTDIR)/bin; fi ; \
+	if [ -e $(LPPBIN)/mmfs-ppc64-rh4 ]; then ln -fs $(LPPBIN)/mmfs-ppc64-rh4 $(DESTDIR)/bin; fi
+
+InstallLibs::
+	@(case '$(MAKEFLAGS)' in *[ik]*) set +e;; esac; \
+	for i in $(SUBDIRS) $(EXTRASUBDIRS); do \
+	(cd $$i; echo  "Make-Install-Libraries-ing" "(`pwd`)"; \
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR)  InstallLibs; \
+	exit $$?) || exit 1; \
+	done)
+
+# RPM source build option to install images for gpl kernel modules
+InstallImages::
+	cd gpl-linux; $(MAKE) InstallImages;
+
+# Use screwy method to clean up residual stuff left over
+# from a gpl source build (if neccessary) and avoid
+# various gripes from rpm uninstall
+SrcBuildClean::
+	@if [ -f gpl-linux/makefile ]; then make UninstallClean; fi; \
+	rm -f config/site.mcr; \
+	rm -f shark/config/site.mcr; \
+	rm -f shark/config/imake.tmpl; \
+	rm -f /usr/lpp/mmfs/bin/mmfslinux; \
+	rm -f /usr/lpp/mmfs/bin/tracedev; \
+	rm -f /usr/lpp/mmfs/bin/lxtrace; \
+	rm -f /usr/lpp/mmfs/bin/dumpconv; \
+	rm -f /usr/lpp/mmfs/bin/tracedev.BAK; \
+	if [ -d shark/config ]; then rmdir shark/config; fi; \
+	if [ -d shark ]; then rmdir shark; fi; \
+	if [ -d lib ]; then rmdir lib; fi; \
+	if [ -d bin ]; then rmdir bin; fi; \
+	if [ -d include ]; then rmdir include; fi; \
+	sh -c 'flist=$$(find ./ -name .depends); rm -f $$flist'; \
+	sh -c 'flist=$$(find ./ -name install.he); rm -f $$flist'; \
+	sh -c 'flist=$$(find ./ -name makefile.BAK); rm -f $$flist'; \
+	for i in $(OLDSUBDIRS); do \
+	  if [ -d $$i ]; then rm -f $$i/makefile; fi; \
+	done; \
+	rm -f config/makefile gpl-linux/makefile gpl-linux/i386/makefile \
+	      ibm-kxi/makefile ibm-linux/makefile misc/makefile \
+	      gpl-linux/ia64/makefile gpl-linux/ppc64/makefile \
+	      gpl-linux/x86_64/makefile;
+
+##### DEPENDENCY LINE - DO NOT DELETE #####
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/DirIds.h
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/DirIds.h	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/DirIds.h	(revision 16)
@@ -0,0 +1,212 @@
+/***************************************************************************
+ *
+ * Copyright (C) 2001 International Business Machines
+ * All rights reserved.
+ *
+ * This file is part of the GPFS mmfslinux kernel module.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice, 
+ *     this list of conditions and the following disclaimer. 
+ *  2. Redistributions in binary form must reproduce the above copyright 
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution. 
+ *  3. The name of the author may not be used to endorse or promote products 
+ *     derived from this software without specific prior written
+ *     permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *************************************************************************** */
+/* @(#)69       1.61  src/avs/fs/mmfs/ts/DirIds.h, mmfs, avs_rgpfs24, rgpfs24s001a 4/3/06 18:25:52 */
+#ifndef _h_DirIds
+#define _h_DirIds
+
+/*
+ * Define unique numeric IDs for each source directory in Shark that contains
+ * code.  These directory IDs are used for several purposes:
+ *   1. Generating unique labels ("hookids") for kernel trace points
+ *   2. Identifying message set numbers for the message catalog code
+ * The symbols defined in this file are formed by appending the relative
+ * directory name to the string "DIR_ID_", then translating slashes to
+ * underscores.
+ *   The values of the directory IDs must be in the range 1...63:
+ * zero is not allowed because 0 is not valid as a message set number;
+ * values larger than 63 cannot be used because only 6 bits of the ID are
+ * used in generating kernel trace hookids.
+ *
+ * ==========================================================================
+ *
+ * DO NOT renumber these IDs, or reuse an ID for a directory that
+ * has been deleted, as numbers derived from these IDs appear in the
+ * message catalog and trace format file.
+ *
+ * The message files are listed here with their message number ranges.
+ * The range of numbers of MMFS messages 3-digit codes
+ * reserved for each existing message catalog file (.msg file)
+ *
+ * The messages displayed have the format "GPFS: 6027-xxx <message text>"
+ * where xxx is the unique 3-digit or 4-digit code for the particular error.
+ *
+ *
+ * SUBDIRECTORY            CATALOG FILE NAME                RANGE OF CODES
+ * ------------            -----------------                --------------
+ *                                                    unused    000-299
+ *  mmfsd                     mmfsd.msg                         300-309
+ *  tasking (1)                task.msg                         310-339
+ *  classes/tscomm           tscomm.msg                         340-359
+ *  disk (1)                   disk.msg                         360-379
+ *  classes/basic              base.msg                         380-399
+ *  stripe                   stripe.msg                         400-499
+ *  vfs                        svfs.msg                         500-529
+ *  fs                           fs.msg                         530-599
+ *  cfgmgr (1)                 cfgm.msg                         600-649
+ *  logger                   logger.msg                         650-659
+ *  cfgmgr (2)                 cfgm.msg                         660-799
+ *  phoenix (1)             phoenix.msg                         800-849
+ *  util                       util.msg                         850-999
+ *  admin                     admin.msg                        1000-1399
+ *  log                         log.msg                        1400-1449
+ *  defrag                   defrag.msg                        1450-1499
+ *  disk (2)                   disk.msg                        1500-1529
+ *  tasking (2)                task.msg                        1530-1549
+ *  admin (2)                 admin.msg                        1550-1699
+ *  classes/tscomm (2)       tscomm.msg                        1700-1799
+ *  nsd                         nsd.msg                        1800-1849
+ *  phoenix (2)             phoenix.msg                        1850-1899
+ *  admin (3)                 admin.msg                        1900-2049
+ *  bufmgr                   bufmgr.msg                        2049-2099
+ *  admin (4)                 admin.msg                        2100-2499
+ *  sanergy                 sanergy.msg                        2500-2549
+ *  bufmgr/linux            bufmgr_linux.msg                   2550-2575
+ *  tasking/linux           tasking_linux.msg                  2576-2599
+ *  fs (2)                       fs.msg                        2600-2699
+ *  cfgmgr (3)                 cfgm.msg                        2700-2799
+ *  pc                           pc.msg                        2800-2899
+ *
+ * ==========================================================================
+ *
+ * $Id: DirIds.h,v 1.85 2006/04/03 19:25:58 makaplan Exp $
+ *
+ * $Log: DirIds.h,v $
+ * Revision 1.85  2006/04/03 19:25:58  makaplan
+ * Claim message numbers 2800-2899 for policy, ts/pc/pc.msg
+ *
+ * Revision 1.84  2006/03/10 06:29:58  schmuck
+ * Prune check-in history.  No code change.
+ *
+ * Revision 1.83  2006/03/02 03:25:16  hempel
+ * message numbering:  add new message ranges for the fs and cfgmgr directories
+ *
+ * Revision 1.82  2005/11/15 16:26:42  gjertsen
+ * Provide a helpful message when daemon encounters an out of memory
+ * situation along with more graceful shutdown (defect 518290).
+ *
+ * Revision 1.81  2005/08/12 19:39:41  gjertsen
+ * Fix for 515602. Provide useful error message and shutdown if allocation
+ * fails. Create msg catalog file for bufmgr/linux but reuse MSG_E_NOMEM.
+ *
+ * Revision 1.80  2005/05/03 16:48:44  makaplan
+ * POLICY - integration tweaks
+ *
+ * Revision 1.79  2005/01/15 00:58:41  mcnabb
+ * Remove reference to smit messages
+ *
+ * [ 74 log messages deleted ]
+ *
+ * Revision 1.1  1993/07/16  18:09:11  wyllie
+ * Add file with unique IDs for each Shark source code directory.
+ *
+ */
+
+/*
+ * IMPORTANT (see also comments at the top of this file):
+ *  - names must be of the form DIR_ID_XXX, where XXX = relative dir name
+ *  - values must be in the range 1 ... 63
+ */
+#define DIR_ID_CFGMGR                   1
+#define DIR_ID_CLASSES_BASIC            2
+#define DIR_ID_CLASSES_MALLOC           3
+#define DIR_ID_LOCKMGR                  4
+#define DIR_ID_CLASSES_TSCOMM           5
+#define DIR_ID_DEBUG                    6
+#define DIR_ID_DISK                     7
+#define DIR_ID_FS                       8
+/*#define DIR_ID_FS_OVERFLOW do not reuse 9*/
+/* unused                               10 */
+#define DIR_ID_INSTALL                  11
+#define DIR_ID_LOGGER                   12
+#define DIR_ID_MMFSD                    13
+#define DIR_ID_ADMIN                    14
+#define DIR_ID_PAGEMGR                  15
+/*#define DIR_ID_PIPELINE                 16 */
+/*#define DIR_ID_RPC                      17 */
+#define DIR_ID_TASKING                  18
+#define DIR_ID_VFS                      19
+#define DIR_ID_KERNEXT                  20
+/*#define DIR_ID_TESTAPPS_MPEG            21 */
+/*#define DIR_ID_TESTAPPS_SHPLAYER        22 */
+/*#define DIR_ID_TESTAPPS_TEST            23 */
+/*#define DIR_ID_TESTAPPS_TESTPP          24 */
+#define DIR_ID_LOG                      25
+#define DIR_ID_CLASSES_PERFMON          26
+#define DIR_ID_UTIL                     27
+#define DIR_ID_STRIPE                   28
+/*#define DIR_ID_CATMNT                         29 */
+#define DIR_ID_PHOENIX                  30
+#define DIR_ID_UTIL_SCRIPT              31
+#define DIR_ID_ADMIN_SCRIPT             32
+#define DIR_ID_TM                       33
+#define DIR_ID_DM                       34
+#define DIR_ID_DM_KX                    35
+#define DIR_ID_DEFRAG                   36
+#define DIR_ID_CLASSES_MBPERFMON        37
+#define DIR_ID_PFSCK                    38
+#define DIR_ID_DIRLINUX                 39
+#define DIR_ID_KERNEXT_GPL_LINUX        40
+#define DIR_ID_KERNEXT_AIX              41
+#define DIR_ID_FS_AIX                   42
+#define DIR_ID_FS_LINUX                 43
+#define DIR_ID_KERNEXT_GPL_LINUX_I386   44
+#define DIR_ID_KERNEXT_GPL_LINUX_IA64   45
+#define DIR_ID_NSD                      46
+#define DIR_ID_LOGGER_AIX               47
+#define DIR_ID_LOGGER_LINUX             48
+#define DIR_ID_KERNEXT_LINUX            49
+#define DIR_ID_TASKING_AIX              50
+#define DIR_ID_TASKING_LINUX            51
+#define DIR_ID_PC                       52
+#define DIR_ID_SANERGY                  53
+#define DIR_ID_SANERGY_KX               54
+#define DIR_ID_BUFMGR                   55
+#define DIR_ID_BUFMGR_LINUX             56
+#define DIR_ID_BUFMGR_AIX               57
+#define DIR_ID_DM_KX_LINUX              58
+#define DIR_ID_DM_KX_AIX                59
+#define DIR_ID_FENCING                  60
+#define DIR_ID_KERNEL                   61
+
+
+
+/* Add new directory IDs above here */
+
+/* 91 is being used for SMIT help */
+
+/* overrides for default hookid (307) in certain directories */
+#define SHARKHOOKID_TM      0x30600000
+#define SHARKHOOKID_TASKING 0x30800000
+#define SHARKHOOKID_KERNEXT 0x30900000
+
+#endif  /* _h_DirIds */
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/Imakefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/Imakefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/Imakefile	(revision 16)
@@ -0,0 +1,39 @@
+/* $Id: Imakefile,v 1.9 2006/10/12 00:53:43 kywang Exp $ */
+/* Misc items to correctly perform stand-alone build for GPL Linux layer */
+/* with standard GPFS development build framework; this avoids keeping */
+/* yet another set of makefiles in synch. */
+
+
+MkdirTarget($(CXI_HEADER_DIR))
+MkdirTarget($(GPL_LIB_DIR))
+
+#ifndef SRC_BUILD
+InstallHeaders(DirIds.h, $(CXI_HEADER_DIR))
+#endif
+
+#ifdef SRC_BUILD
+HEADERS = gpfs.h errids.h defragQueue.h
+InstallHeaders($(HEADERS), $(DESTDIR)/include)
+#endif
+
+# stub for mktrace
+InstallFiles(mktrace, $(INSTSHELLFLAGS), $(DESTDIR)/bin)
+
+/* Install patch scripts */
+InstallFileToFile(createpatch.sh, $(INSTSHELLFLAGS), $(DESTDIR)/bin)
+InstallFileToFile(applypatch.sh, $(INSTSHELLFLAGS), $(DESTDIR)/bin)
+
+stubs::
+	echo "#!/bin/ksh" > mktrace
+	echo "# mktrace stub" >> mktrace
+	echo "exit 0" >> mktrace
+
+getupdatelevel.o:       getupdatelevel.c
+	$(RM) $@
+	$(CC) -c $(CFLAGS)  -I$(KERNEL_HEADER_DIR) -D__KERNEL__ $*.c
+
+ProgramTarget(getupdatelevel, getupdatelevel.o,  ,  )
+InstallFileToFile(getupdatelevel, , $(DESTDIR)/bin)
+
+clean::
+	rm -f mktrace
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/applypatch.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/applypatch.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/applypatch.sh	(revision 16)
@@ -0,0 +1,77 @@
+#!/bin/ksh
+#
+# $Id: applypatch.sh,v 1.1 2001/01/31 17:18:07 gjertsen Exp $
+# $Log: applypatch.sh,v $
+# Revision 1.1  2001/01/31 17:18:07  gjertsen
+# Move patch scripts to tools directory.
+#
+# Revision 1.3  2000/06/29 23:08:50  schmuck
+# Fix problem where script got confused when patch command created a
+# backup copy of its input file, because it did not exactly match the
+# input from which the diff was produced.
+# Avoid file name collisions by using a tmp file for patch output.
+#
+# Revision 1.2  2000/06/23  22:07:31  eshel
+# minor changes to messages
+#
+# Revision 1.1  2000/06/22  23:02:03  eshel
+# add createpatch.sh and applypatch.sh to patch linux source .h files
+#
+#
+## ###################################################################### ##
+##        Copyright IBM 2000                                              ##
+## ###################################################################### ##
+
+#set nonomatch
+#set -x;
+
+# Verify correct number of parameters
+if [ $# != 3 ]; then
+  echo 'usage: applypatch.sh $SRC $DEST $FILENAME'
+  exit 1
+fi
+
+# Get parameter values
+PGM=${0##*/}
+SRC="$1"
+DEST="$2"
+DIFF_FILE="$3"
+
+# Construct name of the .h file to be patched and tmp file for patch output
+H_FILE=${DIFF_FILE%.diff}.h
+TMP_FILE=/tmp/$$.$H_FILE
+
+# Compare checksums to verify that the source file to be patched matches
+# the file that was used to produce the .diff file
+CKSUM1=$(head -1 $DIFF_FILE)
+CKSUM2=$(cksum $SRC/$H_FILE)
+if [ "$CKSUM1" != "$CKSUM2" ]; then
+  echo "$PGM: *** Warning: source file $SRC/$H_FILE has changed"
+fi
+
+# Run the patch command; output goes into /tmp
+patch --no-backup-if-mismatch --output $TMP_FILE $SRC/$H_FILE $DIFF_FILE
+if [ $? != 0 ]; then
+  echo "$PGM: *** Error: patch command failed"
+  exit 1
+fi
+
+# If a file with the same name as the source file exists in the current
+# directory, verify that its content matches the result of applying the patch
+if [ -f $H_FILE ]; then
+  diff -q $H_FILE  $TMP_FILE > /dev/null
+  if [ $? != 0 ]; then
+    echo "$PGM: *** Error: result of applying $DIFF_FILE does not match ./$H_FILE"
+    echo "$PGM: run createpatch.sh before running applypatch.sh again"
+    rm $TMP_FILE
+    exit 1
+  fi
+fi
+
+# Install the patched .h file in the destination directory
+/usr/bin/install -c -m 0444 $TMP_FILE $DEST/$H_FILE
+rc=$?
+
+# Clean up and return the result of the install command
+rm $TMP_FILE
+exit $rc
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/createpatch.sh
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/createpatch.sh	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/createpatch.sh	(revision 16)
@@ -0,0 +1,38 @@
+#!/bin/ksh
+#
+# $Id: createpatch.sh,v 1.1 2001/01/31 17:18:12 gjertsen Exp $
+# $Log: createpatch.sh,v $
+# Revision 1.1  2001/01/31 17:18:12  gjertsen
+# Move patch scripts to tools directory.
+#
+# Revision 1.3  2000/06/23 22:07:31  eshel
+# minor changes to messages
+#
+# Revision 1.2  2000/06/23  02:44:15  eshel
+# use the -u option when creating diff files
+#
+# Revision 1.1  2000/06/22  23:02:04  eshel
+# add createpatch.sh and applypatch.sh to patch linux source .h files
+#
+#
+## ###################################################################### ##
+##        Copyright IBM 1993                                              ##
+## ###################################################################### ##
+
+#set nonomatch
+#set -x;
+################################################
+if [ $# -lt 2 ] || [ $# -gt 2 ]; then
+	echo 'usage: createpatch $SRC $FILENAME'
+	exit 1
+fi
+################################################
+
+SRC="$1"
+FILENAME="$2"
+
+################################################
+
+cksum $SRC/$FILENAME > ${FILENAME%.h}.diff
+diff -u $SRC/$FILENAME $FILENAME >> ${FILENAME%.h}.diff
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/getupdatelevel.c
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/getupdatelevel.c	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/getupdatelevel.c	(revision 16)
@@ -0,0 +1,25 @@
+static char sccsid[] = "@(#)69	1.2  src/avs/fs/tools/getupdatelevel.c, mmfs, avs_rgpfs24, rgpfs240610b 2/27/06 02:45:28";
+
+#include <stdio.h>
+#include <linux/config.h>
+#include <linux/version.h>
+
+main()
+{
+#if defined(SUSE_LINUX) && LINUX_KERNEL_VERSION >= 2060507 \
+     && (CONFIG_SUSE_KERNEL == 1) && defined(CONFIG_RELEASE) && defined(KERNEL_VERSION)
+  int level, fix_level;
+  int kernel_level = KERNEL_VERSION(2,6,5);
+
+  if ( kernel_level == LINUX_VERSION_CODE || level >= 7 )
+  {
+    sscanf(CONFIG_RELEASE,"%d.%d",&level,&fix_level);
+    if (level == 7 && fix_level >= 97)
+    {
+       printf("-DSUSE_LINUX_UPDATE_SUBLEVEL=%d00000000\n",fix_level);
+    }
+  }
+
+#endif
+
+}
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/makefile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/makefile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/makefile	(revision 16)
@@ -0,0 +1,403 @@
+# Makefile generated by imake - do not edit!
+# $Xorg: imake.c,v 1.6 2001/02/09 02:03:15 xorgcvs Exp $
+
+# $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+#==================================================
+# Copyright IBM 1993
+#==================================================
+
+###################################################
+# This makefile is automatically generated by
+# imake... do not modify or you may lose your
+# changes when imake generates makefiles again.
+# Ignore this message if you are not using imake.
+###################################################
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+PATCHED_KERNEL_FLAGS =
+
+CXI_HEADER_DIR = $(DESTDIR)/include
+
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS =
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+# Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+###################################################
+# The following comes from the site.mcr
+###################################################
+
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include
+
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build
+
+LINUX_PATCH_DEFINES =
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+
+COMMON_DEFINES =   -DALLOC_SUM_FILE   -DBLOCK_RESTORE   -DDESCQUORUM_OVERRIDE   -DDIO   -DDIO_XW   -DDISK_LEASE_DMS   -DDMAPI   -DDMAPI_MOVERS   -DDMAPI_PREFETCH_DIRATTRS   -DEXPORTER_EVENTS   -DFILESETS   -DFILESET_QUOTAS   -DGPFS_ERRNO_MAPPING   -DGPFS_QUOTACTL   -DLC_FENCING   -DMMAP_DIO   -DMMPMON   -DMMPMON_CUMULATIVE   -DMMPMON_DAEMON_PORT   -DMMPMON_HISTOGRAMS   -DMMPMON_NAMED_SOCKET   -DMMPMON_RPC   -DNFS_SKIP_SHRINK_TO_FIT   -DNFS4_ACL   -DNFS4_VCM   -DNO_XCLUST   -DPERF_STATS   -DPOLICY   -DPOLICY_RESTORE   -DPOOLS   -DPOW2_COND_SHIFT   -DSANERGY   -DSFS_PERF_SKIP_SYNC   -DSFS_PERF_USE_SMALL_BUFFER   -DSINGLE_PORT   -DSMB_LOCKS   -DTHREADED_RECEIVER   -DTSCOMM_SECURITY   -DUIDREMAP   -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES =   -DDBGASSERTS   -DNEW_DELETE_DEBUG    -DTRACK_USECOUNT   -DTRIGGERS   -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES =   -DINSTRUMENT_LOCKS   -DPTHREAD_STATS   -DTRACE_IO_DATA   -DENTRYEXIT_TRACE
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE                       -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX =   -U_GNU_SOURCE   -D__USE_BSD   -D_LARGEFILE64_SOURCE   -DGPFS_LINUX   -DYESSTR=__YESSTR   -DNOSTR=__NOSTR   -DLUM   -DNPTL   -DSSEG_SWIZZLE_PTRS   -D$(LINUX_DISTRIBUTION)   -DLINUX_DISTRIBUTION_LEVEL=90   $(LINUX_PATCH_DEFINES)
+
+EXTRASTD_LDFLAGS =
+EXTRALDFLAGS2 =
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions             -fno-common -fomit-frame-pointer
+
+COMMON_26_FLAGS += -m32 -ffreestanding
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2
+OPTFLAGS  += $(COMMON_26_FLAGS)
+
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+
+DEFAULT_DEFINES =   $(COMMON_LINUX)   -DLINUX_KERNEL_VERSION=2062015   -DLIMIT_KSTACKS   -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+SITE_FAR_TRACE_OPTS =
+
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+###################################################
+# Back from site.mcr
+###################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+Headers::
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" = "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \
+	  if [ ! -f /etc/redhat-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  else \
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \
+	    if [ "$$rhreltype" != "Enterprise" ]; then \
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \
+	    fi; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \
+	  if [ ! -f /etc/SuSE-release ]; then \
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \
+	  fi; \
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \
+	  echo "This is OK" > /dev/null; \
+	else \
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \
+	fi;
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+clean::
+	$(RM) #* ,* *~ *.CKP *.BAK *.bak core
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so
+	$(RM) install.ti install.he library.ti *.rpm
+
+makefile:: Imakefile $(IRULESRC)/imake.tmpl $(IRULESRC)/site.mcr
+		$(IMAKE_CMD); \
+		touch .depends; \
+		cat .depends >>makefile
+
+###################################################
+# The following comes from the local Imakefile
+###################################################
+
+install.ti:: makedirs
+	@echo '\c'
+install.he:: makedirs
+	@echo '\c'
+makedirs::
+	@echo "Checking Destination Directories...."
+	@sh -c 'for i in $(CXI_HEADER_DIR);  do  \
+		if [ -f $$i ]; then  \
+			echo "Mkdir: $$i is a FILE"; \
+			exit 1; \
+		elif [ ! -d $$i ]; then  \
+			echo "Making directory $$i"; \
+			mkdir -p $$i; \
+		fi; \
+	done; \
+	exit 0'
+
+install.ti:: makedirs
+	@echo '\c'
+install.he:: makedirs
+	@echo '\c'
+makedirs::
+	@echo "Checking Destination Directories...."
+	@sh -c 'for i in $(GPL_LIB_DIR);  do  \
+		if [ -f $$i ]; then  \
+			echo "Mkdir: $$i is a FILE"; \
+			exit 1; \
+		elif [ ! -d $$i ]; then  \
+			echo "Making directory $$i"; \
+			mkdir -p $$i; \
+		fi; \
+	done; \
+	exit 0'
+
+install.he:: DirIds.h
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL) $(INSTINCFLAGS) $$i  $(CXI_HEADER_DIR)/$$i) done)
+
+# stub for mktrace
+
+install.ti:: mktrace
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \
+        changed="$?"; \
+	for i in $$changed; do \
+		(set -x; $(INSTALL)  $(INSTSHELLFLAGS) $$i  $(DESTDIR)/bin/$$i) done)
+
+install.ti:: createpatch.sh
+	$(INSTALL)  $(INSTSHELLFLAGS) createpatch.sh  $(DESTDIR)/bin
+
+install.ti:: applypatch.sh
+	$(INSTALL)  $(INSTSHELLFLAGS) applypatch.sh  $(DESTDIR)/bin
+
+stubs::
+	echo "#!/bin/ksh" > mktrace
+	echo "# mktrace stub" >> mktrace
+	echo "exit 0" >> mktrace
+
+getupdatelevel.o:       getupdatelevel.c
+	$(RM) $@
+	$(CC) -c $(CFLAGS)  -I$(KERNEL_HEADER_DIR) -D__KERNEL__ $*.c
+
+all:: getupdatelevel
+getupdatelevel:  getupdatelevel.o
+	$(RM) $@
+	$(LD) -o $@  getupdatelevel.o    $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS)
+clean:: ; $(RM) getupdatelevel
+
+install.ti:: getupdatelevel
+	$(INSTALL)   getupdatelevel  $(DESTDIR)/bin
+
+clean::
+	rm -f mktrace
+
+###################################################
+# Back from the local Imakefile
+###################################################
+
+Makefiles:: makefile
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+##### DEPENDENCY LINE - DO NOT DELETE #####
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/mktrace
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/mktrace	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/misc/mktrace	(revision 16)
@@ -0,0 +1,3 @@
+#!/bin/ksh
+# mktrace stub
+exit 0
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/shark/config/imake.tmpl
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/shark/config/imake.tmpl	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/shark/config/imake.tmpl	(revision 16)
@@ -0,0 +1,914 @@
+#define XCOMM #
+#define _POUND_ #
+_POUND_ $Id: imake.tmpl,v 1.113.2.2 2006/10/06 22:33:17 yuri Exp $
+_POUND_==================================================
+_POUND_ Copyright IBM 1993
+_POUND_==================================================
+
+_POUND_##################################################
+_POUND_ This makefile is automatically generated by
+_POUND_ imake... do not modify or you may lose your
+_POUND_ changes when imake generates makefiles again.
+_POUND_ Ignore this message if you are not using imake.
+_POUND_##################################################
+
+/* On Linux, the imake that comes with X11 defines "linux" to be "1".
+   This causes problems because the word "linux" appears in several
+   directory names (e.g., /usr/include/linux, ts/kernext/gpl-linux).
+   If "linux" is defined, undefine it and define "LINUX_IMAKE" instead. */
+#ifdef linux
+#undef linux
+#define LINUX_IMAKE 1
+#endif
+
+RESOLVLIB =
+
+DESTDIR = $(SHARKCLONEROOT)
+TOOLDIR = /local/bin
+SHELL = /bin/sh
+CSHELL = /bin/csh
+
+#ifdef LINUX_IMAKE
+IMAKE = /usr/X11R6/bin/imake
+CC=g++
+C_COMP=gcc
+/* CC = egcs */
+/* C_COMP = egcs */
+INSTALL = /usr/bin/install
+AR = ar clq
+BARELD = ld
+KAR = ld $(LDFLAGS2) -r -o
+ARDEL = ar d
+MAKEDEPEND = g++
+CPLUSINC =
+#else /* LINUX_IMAKE */
+IMAKE = $(TOOLDIR)/imake
+CC = xlC_r
+C_COMP = cc_r
+INSTALL = /usr/ucb/install
+AR = ar -clq
+KAR = $(AR)
+ARDEL = ar -d
+MAKEDEPEND = xlC_r
+CPLUSINC = -I/usr/lpp/xlC/include
+#endif
+
+LD = $(CC)
+CDEBUGFLAGS =
+
+NATIVE_CC=$(CC)
+NATIVE_C_COMP=$(C_COMP)
+NATIVE_LD=$(NATIVE_CC)
+
+/* Default flags for supplemental patches that must be applied to select
+   portions of the code, which are not part of the standard kernel patching.
+   These flags can be modified in individual Imakefiles if multiple
+   supplemental patches are required (by setting flags *before* ObjectRule). */
+PATCHED_KERNEL_FLAGS = 
+
+/* Default location for cxi header files */
+CXI_HEADER_DIR = $(DESTDIR)/include
+#ifdef LINUX_IMAKE
+/* For Linux we want cxi headers separated from proprietary headers */
+CXI_HEADER_DIR = $(DESTDIR)/include/cxi
+#endif /* LINUX_IMAKE */
+
+SOURCE_CONTROL = cvs
+SRC_UPDATE_CMD = $(SOURCE_CONTROL) update -d
+SRC_CHECKIN_CMD = $(SOURCE_CONTROL) ci -a
+
+DEPENDSCRIPT = $(DESTDIR)/bin/depend.sh
+PATCHSCRIPT = $(DESTDIR)/bin/applypatch.sh
+IMAKE_DEFINES =
+
+
+IRULESRC = $(DESTDIR)/shark/config
+
+NIDLFLAGS = -exts C.c,S.c,W.c
+NIDLINCLUDES = $(LOCALNIDLINCLUDES)
+
+LINTOPTS = -axz
+LINTLIBFLAG = -C
+
+#ifdef LINUX_IMAKE
+STD_CFLAGS =
+STD_LDFLAGS =
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+ARFLAGS =
+KARFLAGS = 
+STD_LDFLAGS = $(EXTRASTD_LDFLAGS)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+#else
+STD_CFLAGS = -qtbtable=full -qinfo=gen:ret:uni:ini $(EXTRASTD_CFLAGS)
+STD_LDFLAGS = -qtwolink $(EXTRASTD_LDFLAGS)
+STD_INCLUDES = -I$(DESTDIR)/include -I$(CXI_HEADER_DIR)
+LDFLAGS2 = $(EXTRALDFLAGS2)
+ARFLAGS = $(EXTRAARFLAGS)
+KARFLAGS = $(EXTRAARFLAGS)
+M4FLAGS = $(EXTRAM4FLAGS)
+ASFLAGS = $(EXTRAASFLAGS)
+CFLAGS32 = -q32 
+CFLAGS64 = -q64 -qlargetype
+#endif
+STD_KINCLUDES = $(STD_INCLUDES)
+
+AS = as
+CPP = /lib/cpp
+LINT = lint
+RM = rm -f
+MV = mv
+CP = cp
+LN = ln -s
+RANLIB = ranlib
+RPM = rpm
+RPMBUILD = /usr/bin/rpmbuild
+
+LS = ls
+AWK = awk
+SORT = sort
+TR = tr
+MAKE = /usr/bin/make
+MAKEDASH = -
+/* Override above to empty for gnumake */
+SED = sed
+LEX = lex
+YACC = yacc
+BISON = bison
+NIDL = /etc/ncs/nidl $(NIDLFLAGS)
+
+MKTRACE  = $(DESTDIR)/bin/mktrace
+MERGETRC = $(DESTDIR)/bin/mergetrc
+MKTRCFMT = $(DESTDIR)/bin/mktrcfmt
+MKRPC = $(DESTDIR)/bin/mkrpc
+CHKSYSTYPES = $(SHARKCLONEROOT)/../tools/chksystypes
+
+_POUND_ Ship values
+
+LPP_NAME=mmfs
+LOCAL_PROD_NAME = mmfs
+SHIP_TYPE = FILE
+SHIP_OWNER = bin
+SHIP_GROUP = system
+SHIP_CLASS = apply
+SHIP_ROOT = $(SHARKCLONEROOT)/ship
+SHIPDIR = $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)
+SHIP_CMD = /usr/ucb/install -c
+
+_POUND_##################################################
+_POUND_ The following comes from the site.mcr
+_POUND_##################################################
+#include <site.mcr>
+_POUND_##################################################
+_POUND_ Back from site.mcr
+_POUND_##################################################
+
+.SUFFIXES: .o .32o .64o .C .c .s .spp .y .l .idl .sh .ko .spec .po .pko .rpc
+ALL_INCLUDES = -I. $(IMAKE_INCLUDES) $(STD_INCLUDES)
+ALL_KINCLUDES = -I. $(IMAKE_INCLUDES) $(STD_KINCLUDES)
+ALL_LIBPATHS = -L. $(IMAKE_LIBS)
+IMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+DOTDOTIMAKE_CMD = $(IMAKE) -Timake.tmpl -I. -I$(IRULESRC) -s makefile
+
+ALL_DEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_FAR_TRACE_OPTS) $(IMAKE_DEFINES_LAST)
+ALL_KDEFINES = $(IMAKE_DEFINES) $(SITE_DEFINES) $(SITE_OTHER_KDEFINES) $(SITE_KFAR_TRACE_OPTS)
+CFLAGS = $(OPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+NATIVECFLAGS = -O $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_INCLUDES) $(ALL_DEFINES)
+KCFLAGS = $(KOPTFLAGS) $(STD_CFLAGS) $(IMAKE_CFLAGS) $(CDEBUGFLAGS) $(ALL_KINCLUDES) $(ALL_KDEFINES)
+TESTING_CFLAGS = -DTESTINGONLYTESTING $(CFLAGS)
+
+/* ***************************************************************** *\
+ * shark.rls - macro (rules) for Imakefiles
+\* ***************************************************************** */
+
+/* ***************************************************************** *\
+ * Standard Compilation Rules
+\* ***************************************************************** */
+
+/***************************************************
+ * 	Export:
+ *		AppendFiles()
+ *		CleanTarget()
+ *		CppAndFilter()
+ *		DependTarget()
+ *		SharedObjectTarget()
+ *		LibraryTarget()
+ *		MkdirTarget()
+ *		NormalAsmPPRule()
+ *		NormalAsmRule()
+ *		NormalLexRule()
+ *		NativeObjectRule()
+ *		NormalObjectRule()
+ *		SharedObjectRule(shflags)
+ *		NormalYaccRule()
+ *		NidlTarget()
+ *		NativeProgramTarget()
+ *		ProgramTarget()
+ *		CProgramTarget()
+ *		TestProgramTarget()
+ *		TestingOnlyTestingRule()
+ *              MsgTarget()
+ ***************************************************/
+
+/* Linux hack to reset header include search paths for portability layer so
+   that we only try to include portability and cxi header files from GPFS */
+#ifdef GPFS_LINUX
+GPL_HEADER_DIR = $(DESTDIR)/include/gpl-linux
+GPL_LIB_DIR = $(DESTDIR)/lib/gpl-linux
+
+#define SetGplIncludePath()                             @@\
+STD_KINCLUDES = -I$(CXI_HEADER_DIR) -I$(GPL_HEADER_DIR) -I$(KERNEL_HEADER_DIR)
+
+/* Try to catch dumb mistakes in building portability layer.  Skip the check
+   if LINUX_SKIP_DIST_CHECK is defined. */
+#define CheckLinuxDistribution()
+#ifndef LINUX_SKIP_DIST_CHECK
+Headers:: @@\
+	@if [ "$(LINUX_DISTRIBUTION)" = "REDHAT_LINUX" ]; then \ @@\
+	  if [ ! -f /etc/redhat-release ]; then \ @@\
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \ @@\
+	  else \ @@\
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \ @@\
+	    if [ "$$rhreltype" = "Enterprise" ]; then \ @@\
+	      echo "Error: the current Linux environment appears to be RedHat Enterprise Linux, which requires setting LINUX_DISTRIBUTION = REDHAT_AS_LINUX in site.mcr!"; exit 1; \ @@\
+	    fi; \ @@\
+	  fi; \ @@\
+	elif [ "$(LINUX_DISTRIBUTION)" = "REDHAT_AS_LINUX" ]; then \ @@\
+	  if [ ! -f /etc/redhat-release ]; then \ @@\
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \ @@\
+	  else \ @@\
+	    rhreltype=`awk '/Enterprise/ {print "Enterprise"}' /etc/redhat-release`; \ @@\
+	    if [ "$$rhreltype" != "Enterprise" ]; then \ @@\
+	      echo "Error: the current Linux environment appears to be RedHat Linux (not Enterprise Linux [AS|ES|WS] version), which requires setting LINUX_DISTRIBUTION = REDHAT_LINUX in site.mcr!"; exit 1; \ @@\
+	    fi; \ @@\
+	  fi; \ @@\
+	elif [ "$(LINUX_DISTRIBUTION)" = "SUSE_LINUX" ]; then \ @@\
+	  if [ ! -f /etc/SuSE-release ]; then \ @@\
+	    echo "Error: the current Linux environment does not agree with the setting, LINUX_DISTRIBUTION = $(LINUX_DISTRIBUTION), specified in site.mcr!"; exit 1; \ @@\
+	  fi; \ @@\
+	elif [ "$(LINUX_DISTRIBUTION)" = "KERNEL_ORG_LINUX" ]; then \ @@\
+	  echo "This is OK" > /dev/null; \ @@\
+	else \ @@\
+	  echo "Error: LINUX_DISTRIBUTION = '$(LINUX_DISTRIBUTION)' is not a valid choice in site.mcr!"; exit 1; \ @@\
+	fi;
+#endif /* LINUX_SKIP_DIST_CHECK */
+#endif /* GPFS_LINUX */
+
+#define NativeObjectRule()                              @@\
+.C.o:                                                   @@\
+	$(RM) $@                                        @@\
+	$(NATIVE_CC) -c $(NATIVECFLAGS) $*.C            @@\
+.c.o:                                                   @@\
+	$(RM) $@                                        @@\
+	$(NATIVE_C_COMP) -c $(NATIVECFLAGS) $*.c
+
+#define LinuxKernelObjectRule()				@@\
+.c.ko:                                                  @@\
+	$(RM) $@                                        @@\
+	$(C_COMP) -o $@ -c $(KCFLAGS) $*.c            
+
+#define NormalObjectRule()				@@\
+.C.o:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -c $(CFLAGS) $*.C				@@\
+.C.32o:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -c $(CFLAGS) $(CFLAGS32) $*.C -o $*.32o	@@\
+.C.64o:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -c $(CFLAGS) $(CFLAGS64) $*.C -o $*.64o   @@\
+.c.o:							@@\
+	$(RM) $@ 					@@\
+	$(C_COMP) -c $(CFLAGS) $*.c			@@\
+.c.32o:							@@\
+	$(RM) $@ 					@@\
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS32) $*.c -o $*.32o	@@\
+.c.64o:							@@\
+	$(RM) $@ 					@@\
+	$(C_COMP) -c $(CFLAGS) $(CFLAGS64) $*.c	-o $*.64o	@@\
+LinuxKernelObjectRule()				@@\
+.C.ko:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -o $@ -c $(KCFLAGS) $*.C        		@@\
+.S.o:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -o $@ -c $(CFLAGS) $*.S                   @@\
+.S.ko:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -o $@ -c $(KCFLAGS) $*.S            	@@\
+.c.pko:							@@\
+	$(RM) $@ 					@@\
+	$(C_COMP) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.c	@@\
+.C.pko:							@@\
+	$(RM) $@ 					@@\
+	$(CC) -o $@ -c $(PATCHED_KERNEL_FLAGS) $(KCFLAGS) $*.C	@@\
+.rpc.h:							@@\
+	$(MKRPC) $*.rpc
+
+
+#define SharedObjectRule(shflags)				@@\
+.C.o:								@@\
+	$(RM) $@ 						@@\
+	$(CC) -c $(CFLAGS) shflags $*.C				@@\
+.c.o:								@@\
+	$(RM) $@ 						@@\
+	$(C_COMP) -c $(CFLAGS) shflags $*.c			@@\
+.c.ko:								@@\
+	$(RM) $@ 						@@\
+	$(C_COMP) -o $@ -c $(KCFLAGS) shflags $*.c		@@\
+.C.ko:								@@\
+	$(RM) $@ 						@@\
+	$(CC) -o $@ -c $(KCFLAGS) shflags $*.C        		@@\
+.S.o:								@@\
+	$(RM) $@ 						@@\
+	$(CC) -o $@ -c $(CFLAGS) shflags $*.S                   @@\
+.S.ko:								@@\
+	$(RM) $@ 						@@\
+	$(CC) -o $@ -c $(KCFLAGS) shflags $*.S
+
+#define	NormalYaccRule()				@@\
+.y.o:							@@\
+	$(YACC) $(YFLAGS) $<				@@\
+	$(MV) y.tab.c $*.c				@@\
+	$(NATIVE_C_COMP) -c ${NATIVECFLAGS} $*.c	@@\
+	$(RM) $*.c					@@\
+	[ -f y.tab.h ] && $(MV) -f y.tab.h $*.h
+
+
+#define	NormalAsmPPRule()				@@\
+.spp.o:							@@\
+	$(RM) $@ ,$*.s ,$*.c				@@\
+	$(CP) $*.spp ,$*.c				@@\
+	$(C_COMP) -E $(CFLAGS)  ,$*.c > ,$*.s		@@\
+	$(AS) -o $*.o ,$*.s				@@\
+	$(RM) ,$*.c ,$*.s
+
+
+#define	NormalLexRule()					@@\
+.l.o:							@@\
+	$(LEX) $*.l					@@\
+	$(RM) $*.c					@@\
+	$(MV) lex.yy.c $*.c				@@\
+	$(C_COMP) -c $(CFLAGS) $*.c			@@\
+	$(RM) $*.c
+
+
+#define	NormalAsmRule()					@@\
+.s.o:							@@\
+	$(RM) $@					@@\
+	$(AS) -o $*.o $*.s
+
+#define SharkAsmRule()					@@\
+.s.o:							@@\
+	$(RM) $@					@@\
+	m4 $(M4FLAGS) $(ALL_DEFINES) -I/usr/include /usr/include/sys/asdef.s $*.s | as $(ASFLAGS) -o $*.o
+
+#define	ShellScriptRule(File)				@@\
+.sh:							@@\
+	cp $< $@; chmod 0777 $@
+
+#define RpmRule(rpmfile, specfile, imagetree, rpmflags)		@@\
+rpm:: rpmfile						@@\
+rpmfile: specfile					@@\
+	$(RM) rpmfile					@@\
+	if [ -e imagetree ]; then \			@@\
+		$(RM) -r imagetree; \			@@\
+	fi;						@@\
+	[ -e $(RPMBUILD) ] && rpmbuild=$(RPMBUILD) || rpmbuild=rpm; \@@\
+	$$rpmbuild -ba rpmflags --buildroot imagetree specfile
+
+#define CppAndFilter(file, lyfile, incfiles, filter)	@@\
+file: lyfile incfiles					@@\
+	$(RM) file					@@\
+	$(CPP) lyfile | filter > file
+
+#define AppendFiles(target, sources)			@@\
+target: sources						@@\
+	$(RM) target					@@\
+	cat sources > target
+
+#define TestingOnlyTestingRule(libs, syslibs)			@@\
+.SUFFIXES: .test						@@\
+.c.test:							@@\
+	$(RM) $@						@@\
+	$(C_COMP) $(TESTING_CFLAGS) -o $*.test $*.c libs syslibs	@@\
+	$(RM) $*.o						@@\
+clean:: ; $(RM) *.test
+
+#define	LibraryTarget(library, objs)			@@\
+libs:: library						@@\
+library: objs						@@\
+	$(RM) $@					@@\
+	$(AR) $(ARFLAGS) $@ objs
+
+#define	kLibraryTarget(library, objs)			@@\
+libs:: library						@@\
+library: objs						@@\
+	$(RM) $@					@@\
+	$(KAR) $(KARFLAGS) $@ objs
+
+#ifndef GPFS_LINUX
+#define SharedObjectTarget(shared, objs, imps, exps, other)	@@\
+shared: objs imps exps					@@\
+	$(RM) $@					@@\
+	@ IMPS= ; EXPS= ; COL=\: ; \			@@\
+	  for i in imps ; \				@@\
+	    do IMPS="$${IMPS} -bI$${COL}$${i}" ; \	@@\
+	  done; \					@@\
+	  for i in exps ; \				@@\
+	    do EXPS="$${EXPS} -bE$${COL}$${i}" ; \	@@\
+	  done; \					@@\
+	echo "	ld -o $@ objs $(LDFLAGS2) -bnoentry -bM\:SRE $${IMPS} $${EXPS} other" ; \ @@\
+	ld -o $@ objs $(LDFLAGS2) -bnoentry -bM\:SRE $${IMPS} $${EXPS} other
+#else   /* GPFS_LINUX */
+#define SharedObjectTarget(shared_obj, objs, other)	@@\
+libs:: shared_obj					@@\
+shared_obj: objs					@@\
+	$(RM) $@					@@\
+	echo "  $(BARELD) $(LDFLAGS2) -o $@ objs --shared other" ;	\	@@\
+	$(BARELD) $(LDFLAGS2) -o $@ objs --shared other
+#endif  /* GPFS_LINUX */
+
+
+#define	TestProgramTarget(program, objs, libs, syslibs)	@@\
+test:: program						@@\
+program: objs libs					@@\
+	$(RM) $@					@@\
+	$(LD) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs	@@\
+cleanTest:: ; $(RM) program objs			@@\
+clean:: ; $(RM) program
+
+#ifndef GPFS_LINUX
+#define	MsgTarget(basename)                             @@\
+headers:: basename/**/_msg.h 				@@\
+basename/**/_msg.h: basename.msg          		@@\
+	$(RM) basename/**/_msg.h			@@\
+	mkcatdefs basename basename.msg | gencat $(DESTDIR)/mmfs.cat	@@\
+clean:: ; $(RM) basename/**/_msg.h
+#else
+#define	MsgTarget(basename)                             @@\
+headers:: basename/**/_msg.h 				@@\
+basename/**/_msg.h: basename.msg          		@@\
+	$(RM) basename/**/_msg.h			@@\
+	gencat -H basename/**/_tmp.h -o $(DESTDIR)/mmfs.cat basename/**/.msg @@\
+	sed "s/AutomaticSet[0-9]*/ /" basename/**/_tmp.h > basename/**/_msg.h @@\
+	$(RM) basename/**/_tmp.h			@@\
+clean:: ; $(RM) basename/**/_msg.h
+#endif
+
+#define	ShellMsgTarget(basename)			@@\
+headers:: basename/**/_msg.h 				@@\
+basename/**/_msg.h:: basename.msg          		@@\
+	$(RM) basename/**/_msg.h			@@\
+	mkcatdefs basename basename.msg -h | gencat $(DESTDIR)/mmfs.cat	@@\
+basename/**/_msg.h:: basename.msg          		@@\
+	touch basename/**/_msg.h			@@\
+clean:: ; $(RM) basename/**/_msg.h
+
+#define TraceTarget(basename,files)                     @@\
+trcid: files                                            @@\
+	$(MKTRACE) -hm files                            @@\
+trclst:: basename.trclst                                @@\
+basename.trclst: files trcid.h                          @@\
+	$(RM) basename.trclst                           @@\
+	$(MKTRACE) -l basename.trclst files             @@\
+clean:: ; $(RM) basename.trclst
+
+#define RpcTarget(target)                               @@\
+target.h: target.rpc
+
+#define NidlTarget(basename)				@@\
+libs:: basename.h					@@\
+depend:: basename.h					@@\
+basename.h: basename.idl				@@\
+	$(NIDL) basename.idl $(NIDLINCLUDES) -no_cpp	@@\
+clean::							@@\
+	$(RM) basename.h				@@\
+	@(for i in basename; do \			@@\
+	echo "	"$(RM) $${i}C.c $${i}S.c $${i}W.c; \	@@\
+	$(RM) $${i}C.c $${i}S.c $${i}W.c; \		@@\
+	done)
+
+
+#define NativeProgramTarget(program, objs, libs, syslibs)     @@\
+all:: program                                           @@\
+program: objs libs                                      @@\
+	$(RM) $@                                        @@\
+	$(NATIVE_LD) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs    @@\
+clean:: ; $(RM) program
+ 
+#define	ProgramTarget(program, objs, libs, syslibs)	@@\
+all:: program						@@\
+program: objs libs					@@\
+	$(RM) $@					@@\
+	$(LD) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs	 @@\
+clean:: ; $(RM) program
+
+#define	CProgramTarget(program, objs, libs, syslibs)	@@\
+all:: program						@@\
+program: objs libs					@@\
+	$(RM) $@					@@\
+	$(C_COMP) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs	@@\
+clean:: ; $(RM) program
+
+#define	CTestProgramTarget(program, objs, libs, syslibs)	@@\
+test:: program						@@\
+program: objs libs					@@\
+	$(RM) $@					@@\
+	$(C_COMP) -o $@ objs libs $(STD_LDFLAGS) $(IMAKE_LDFLAGS) $(ALL_LIBPATHS) syslibs	@@\
+clean:: ; $(RM) program
+
+#define	CleanTarget(files)				@@\
+clean:: ; $(RM) files
+
+#define MkdirTarget(dirs)				@@\
+install.ti:: makedirs					@@\
+	@echo '\c'					@@\
+install.he:: makedirs					@@\
+	@echo '\c'					@@\
+makedirs::						@@\
+	@echo "Checking Destination Directories...."	@@\
+	@sh -c 'for i in dirs;  do  \			@@\
+		if [ -f $$i ]; then  \			@@\
+			echo "Mkdir: $$i is a FILE"; \	@@\
+			exit 1; \			@@\
+		elif [ ! -d $$i ]; then  \		@@\
+			echo "Making directory $$i"; \	@@\
+			mkdir -p $$i; \			@@\
+		fi; \					@@\
+	done; \						@@\
+	exit 0'
+
+#define	DependTarget(dependencies)			@@\
+depend:: dependencies					@@\
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \			@@\
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES)"
+/* -I/ added to circumvent grossness of makedepend */
+
+#define	DependTargetK(dependencies)			@@\
+depend:: dependencies					@@\
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \			@@\
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES)" "$(ALL_KDEFINES)"
+/* -I/ added to circumvent grossness of makedepend */
+
+#define	DependTargetPK(dependencies)			@@\
+depend:: dependencies					@@\
+	$(DEPENDSCRIPT) "$(MAKEDEPEND)" \			@@\
+	"$(ALL_KINCLUDES) $(CPLUSINC) -I/" "$(ALL_DEFINES) -D__KERNEL__" "$(ALL_KDEFINES) -D__KERNEL__" "$(PATCHED_KERNEL_FLAGS) -D__KERNEL__"
+
+/*
+ *==================================================
+ * Installation rules
+ *==================================================
+ * Exported rules:
+ *	InstallDocs()
+ *	InstallFileToFile()
+ *	InstallFiles()
+ *	InstallHeaders()
+ *	InstallPatchedHeaders()
+ *	InstallHardLink()
+ *	InstallLibraries()
+ *	InstallLink()
+ *	InstallPrograms()
+ *==================================================
+ */
+
+INSTUIDFLAGS = -c -m 4555
+INSTLIBFLAGS = -c -m 0664
+INSTINCFLAGS = -c -m 0444
+INSTDOCFLAGS = -c -m 0444
+INSTROOTFLAGS = -c $(EXTRAINSTROOTFLAGS) -m 0500
+INSTROOTFLAGS2 = -c -m 0500
+INSTPROGFLAGS = -c $(EXTRAINSTPROGFLAGS) -m 0555
+INSTSHELLFLAGS = -c -m 0755
+
+DASH_I  = *-[^=\ ][i]*
+DASH_IK = *-[^=\ ][ik]*
+
+#define InstallFiles(files, mode, dest)				@@\
+install.ti:: files						@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \	@@\
+        changed="$?"; \	  					@@\
+	for i in $$changed; do \				@@\
+		(set -x; $(INSTALL) mode $$i dest/$$i) done)
+
+#define InstallHeaders(files, dest)				@@\
+install.he:: files						@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \	@@\
+        changed="$?"; \						@@\
+	for i in $$changed; do \				@@\
+		(set -x; $(INSTALL) $(INSTINCFLAGS) $$i dest/$$i) done)
+
+#define InstallPatchedHeaders(files, src, dest)				@@\
+install.he:: files							@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \		@@\
+	changed="$?"; \							@@\
+	for i in $$changed; do \					@@\
+		($(PATCHSCRIPT) src dest $$i) done)
+
+#define InstallLibraries(libs, dest)				@@\
+library.ti:: libs						@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \	@@\
+        changed="$?"; \						@@\
+	for i in $$changed; do \				@@\
+		(set -x; \					@@\
+		$(INSTALL) $(INSTLIBFLAGS) $$i dest/$$i ) done)
+
+#define InstallFileToFile(file, mode, destfile)			@@\
+install.ti:: file						@@\
+	$(INSTALL) mode file destfile
+
+#define ShipSupport(Destination)				@@\
+shipSupport:: $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)/Destination	@@\
+$(SHIP_ROOT)/usr/lpp/$(LPP_NAME)/Destination: $(@F)		@@\
+	[ -d $(@D) ] || mkdir -p $(@D)				@@\
+	cp $(@F) $@						@@\
+								@@\
+unshipSupport::							@@\
+	rm -f $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)/Destination
+
+#define ShipFile(Destination,SourceFile,ProdName,Type,Owner,Group,Mode,Class,Size,CheckSum,Links,SymLinks,Program,Source,Acl,Xacl)	@@\
+shipFile:: $(SHIP_ROOT)/Destination			@@\
+$(SHIP_ROOT)/Destination:: SourceFile			@@\
+	@[ -d $(@D) ] || mkdir -p $(@D)			@@\
+	@([ -z "ProdName" ] && prodname=$(LOCAL_PROD_NAME) ||\ @@\
+		prodname=ProdName ;\			@@\
+	[ -n "Type" ] && type=Type || type="$(SHIP_TYPE)" ;\ @@\
+	[ -n "Owner" ] && owner=Owner || owner="$(SHIP_OWNER)";\ @@\
+	[ -n "Group" ] && group=Group || group="$(SHIP_GROUP)" ;\ @@\
+	[ -n "Mode" ] && mode=Mode || mode=555 ;\	@@\
+        [ -n "Class" ] && class_inv="Class" || class_inv="$(SHIP_CLASS)" ;\ @@\
+	[ "Type" = "DIRECTORY" ] && mkdir -p $(SHIP_ROOT)/Destination ; \ @@\
+	[ -z "SourceFile" ] || $(SHIP_CMD) -o $$owner -g $$group -m $$mode SourceFile $@ ;\ @@\
+        echo "\tShipping Destination ($$prodname)" ; \	@@\
+	[ -d $(SHIPDIR) ] || mkdir -p $(SHIPDIR) ; \	@@\
+	touch $(SHIPDIR)/$$prodname.il ||\		@@\
+        (echo "\nERROR: Failed to create file SHIPDIR/usr/lpp/$(LPP_NAME)/$$prodname.il" && exit 1) ;\					@@\
+        echo "Destination:" >> $(SHIPDIR)/$$prodname.il ;\ @@\
+        echo "\ttype = $$type" >> $(SHIPDIR)/$$prodname.il ;\ @@\
+        echo "\towner = $$owner" >> $(SHIPDIR)/$$prodname.il ;\ @@\
+        echo "\tgroup = $$group" >> $(SHIPDIR)/$$prodname.il ;\ @@\
+	if [ $$mode -gt 999 ] ; then \			@@\
+		if [ $$mode -ge 4000 -a $$mode -le 4999 ] ; then \ @@\
+			echo "\tmode = SUID,`expr $$mode - 4000`" >> \	@@\
+				$(SHIPDIR)/$$prodname.il ;\ @@\
+		elif [ $$mode -ge 2000 -a $$mode -le 2999 ] ; then \ @@\
+			echo "\tmode = SGID,`expr $$mode - 2000`" >> \	@@\
+				$(SHIPDIR)/$$prodname.il ;\ @@\
+		else \					@@\
+			( echo "\nERROR: Unrecognized mode value $$mode" && exit 1 ); \			@@\
+		fi \					@@\
+	else \						@@\
+		echo "\tmode = $$mode" >> $(SHIPDIR)/$$prodname.il ;\	@@\
+	fi ; \						@@\
+	if [ "Type" != "DIRECTORY" ] ; then \		@@\
+		echo "\tclass = inventory,$$class_inv,$${prodname}" >> \ @@\
+			$(SHIPDIR)/$$prodname.il ;\		@@\
+		[ -z "Size" ] && echo "\tsize = `cksum < $@ | \	@@\
+		   /bin/awk '{print $$2}'`" >> $(SHIPDIR)/$$prodname.il || \ @@\
+		   echo "\tsize = Size" >> $(SHIPDIR)/$$prodname.il ; \ @@\
+	else \							@@\
+        	echo "\tclass = $$class_inv,$${prodname}" >> \ @@\
+			$(SHIPDIR)/$$prodname.il ;\		@@\
+	fi ;\					@@\
+        [ -n "CheckSum" ] && echo "\tchecksum = CheckSum" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -z "CheckSum" -a \( "Size" = "VOLATILE" \) ] && echo "\tchecksum = VOLATILE" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Links" ] && echo "\tlinks = Links" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "SymLinks" ] && echo "\tsymlinks = SymLinks" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Program" ] && echo "\tprogram = Program" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Source" ] && echo "\tsource = Source\n" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Acl" ] && echo "\tacl = Acl\n" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        [ -n "Xacl" ] && echo "\txacl = Xacl\n" >> $(SHIPDIR)/$$prodname.il || true ;\ @@\
+        ) 	@@\
+		@@\
+unshipFile::	@@\
+	-if [ -n "Destination" ] ; then \				@@\
+		[ ! -f $(SHIP_ROOT)/Destination ] || rm -f $(SHIP_ROOT)/Destination ;\ @@\
+		[ ! -d $(SHIP_ROOT)/Destination ] || rmdir $(SHIP_ROOT)/Destination ;\ @@\
+	fi 								@@\
+	@([ -z "ProdName" ] && prodname=$(LOCAL_PROD_NAME) || \		@@\
+		prodname=ProdName ;\					@@\
+	rm -f $(SHIP_ROOT)/usr/lpp/$(LPP_NAME)/$${prodname}.il )
+
+#define InstallDocs(docs, mode, dest)					@@\
+install.ti:: docs							@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_I)) set +e;; esac; \		@@\
+        changed="$?"; \							@@\
+	for i in $$changed; do \					@@\
+		(set -x; $(INSTALL) $(INSTDOCFLAGS) $$i dest/$$i); \	@@\
+	done)
+
+
+#define InstallPrograms(files, dest)			@@\
+InstallFiles(files, $(INSTPROGFLAGS), dest)
+
+#define InstallRootPrograms(files, dest)		@@\
+InstallFiles(files, $(INSTROOTFLAGS), dest)
+
+#define InstallUidPrograms(files, dest)			@@\
+InstallFiles(files, $(INSTUIDFLAGS), dest)
+
+#define	InstallHardLink(file, link)			@@\
+install.ti:: file					@@\
+	$(RM) link					@@\
+	ln file link
+
+#define	InstallLink(file, link)				@@\
+install.ti::						@@\
+	$(RM) link					@@\
+	$(LN) file link
+
+/* ***************************************************************** *\
+ * Internal (to template) rules
+\* ***************************************************************** */
+#define	GenericCleanTarget()					@@\
+clean::						  		@@\
+	$(RM) _POUND_* ,* *~ *.CKP *.BAK *.bak core		@@\
+	$(RM) *.ln *.o *.32o *.64o *.po *.ko *.pko make.log *.a *.lst *.map *.so @@\
+	$(RM) install.ti install.he library.ti *.rpm
+
+#define	MakefileTarget()						@@\
+makefile:: Imakefile $(IRULESRC)/imake.tmpl $(IRULESRC)/site.mcr 	@@\
+		$(IMAKE_CMD); \						@@\
+		touch .depends; \					@@\
+		cat .depends >>makefile
+
+#define SubdirTarget(dirs, mktag, string)				@@\
+mktag::									@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \		@@\
+	for i in dirs; do \						@@\
+	    (cd $$i || exit $$?; \				@@\
+		echo string "(`pwd`)"; \				@@\
+		$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) DESTDIR=$(DESTDIR) mktag; \	@@\
+		exit $$?) || exit 1; \					@@\
+	done)
+
+#define MakeSubdirs(dirs)				@@\
+SubdirTarget(dirs, All, "making")
+
+#define InstallSubdirs(dirs)				@@\
+SubdirTarget(dirs, Install, "installing")
+
+#define InstLibSubdirs(dirs)				@@\
+SubdirTarget(dirs, InstallLibs, "Make-Install-Libraries-ing")
+
+#define LibSubdirs(dirs)				@@\
+SubdirTarget(dirs, Libs, "Make-Libraries-ing")
+
+#define MakeTestSubdirs(dirs)				@@\
+SubdirTarget(dirs, Test, "Make-Testing")
+
+#define dependInstallSubdirs(dirs)			@@\
+SubdirTarget(dirs, dependInstall, "depend-Installing")
+
+#define DependSubdirs(dirs)				@@\
+SubdirTarget(dirs, Depend, "Depending")
+
+#define CleanTestSubdirs(dirs)				@@\
+SubdirTarget(dirs, CleanTest, "cleaning tests")
+
+#define CleanSubdirs(dirs)				@@\
+SubdirTarget(dirs, Clean, "cleaning")
+
+#define CheckinSubdirs(dirs)				@@\
+SubdirTarget(dirs, Checkin, "checking mods in")
+
+#define ShipSubdirs(dirs)				@@\
+SubdirTarget(dirs, Ship, "Shipping")
+
+#define UnshipSubdirs(dirs)				@@\
+SubdirTarget(dirs, Unship, "Unshipping")
+
+#define HeaderSubdirs(dirs)				@@\
+SubdirTarget(dirs, Headers, "installing header files")
+
+#define MakeMakeSubdirs(dirs)					@@\
+Makefiles::							@@\
+	@(case '$(MAKEFLAGS)' in $(DASH_IK)) set +e;; esac; \	@@\
+	for i in dirs; do \					@@\
+		echo "Making Makefiles (`pwd`/$$i)"; \		@@\
+		$(MAKE) subdirMakefiles \			@@\
+		MAKE_SUBDIR=$$i || exit $$?; \			@@\
+	done)
+
+#define MakefileSubdirs(dirs)				@@\
+MakeMakeSubdirs(dirs)					@@\
+							@@\
+subdirMakefiles:					@@\
+	cd $(MAKE_SUBDIR) || exit $$?; \		@@\
+	$(DOTDOTIMAKE_CMD); \				@@\
+	touch .depends;  \				@@\
+	cat .depends >>makefile; \			@@\
+	$(MAKE) $(MAKEDASH)$(MAKEFLAGS) $(MAKEEXTRA) Makefiles
+
+all:: libs
+All:: all
+test::
+Test:: test
+libs:: headers
+Libs:: libs
+installLibs:: trclst
+trclst::
+installLibs:: libs
+installLibs:: library.ti
+InstallLibs:: installLibs
+instLibs:: installLibs
+InstLibs:: InstallLibs
+rpm::
+
+depend:: headers
+depend:: makefile
+Depend:: depend
+install.he::
+library.ti::
+headers:: install.he
+Headers:: headers
+install.ti::
+install:: headers
+install:: libs
+install:: all
+install:: install.ti
+Install:: install
+dependInstall:: depend
+dependInstall:: install
+clean::
+Clean:: clean
+cleanTest::
+CleanTest:: cleanTest
+update:: ; $(SRC_UPDATE_CMD)
+checkin:: ; $(SRC_CHECKIN_CMD)
+Checkin:: checkin
+config1::
+config2::
+finish::
+World:: config1
+World:: Makefiles
+World:: Clean
+World:: config2
+World:: Headers
+World:: Depend
+World:: InstallLibs
+World:: Install
+World:: finish
+Ship:: shipReset
+Ship:: shipSupport
+Ship:: shipFile
+Unship:: unshipSupport
+Unship:: unshipFile
+
+shipReset::
+
+GenericCleanTarget()
+#ifndef BOOTSTRAP
+MakefileTarget()
+#endif
+
+_POUND_##################################################
+_POUND_ The following comes from the local Imakefile
+_POUND_##################################################
+#include INCLUDE_IMAKEFILE
+_POUND_##################################################
+_POUND_ Back from the local Imakefile
+_POUND_##################################################
+
+Makefiles:: makefile
+
+#ifdef IHaveSubdirs
+
+MakeSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+InstallSubdirs($(SUBDIRS))
+MakeTestSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+dependInstallSubdirs($(SUBDIRS))
+DependSubdirs($(SUBDIRS))
+CleanTestSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+CleanSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+CheckinSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+MakefileSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+HeaderSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+LibSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+InstLibSubdirs($(SUBDIRS) $(EXTRASUBDIRS))
+ShipSubdirs($(SUBDIRS))
+UnshipSubdirs($(SUBDIRS))
+
+#endif
+
+installLibs::afterInstallLibs
+
+afterInstallLibs::
+
+shipFile shipSupport::
+
+unshipFile unshipSupport::
+
+library.ti::
+	touch library.ti
+
+install.he::
+	touch install.he
+
+install.ti::
+	touch install.ti
+
+listdirs:
+	@echo ${SUBDIRS}
+
+_POUND_#### DEPENDENCY LINE - DO NOT DELETE #####
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/src/shark/config/site.mcr
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/src/shark/config/site.mcr	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/src/shark/config/site.mcr	(revision 16)
@@ -0,0 +1,891 @@
+/* Copyright IBM 1995,2003 */
+/* $Id: site.mcr.proto,v 1.535.2.13 2006/10/26 05:44:16 mcnabb Exp $ */
+
+/******************************************************************************/
+/* Platform and Architecture Defines:                                         */
+/*                                                                            */
+/* Define the platform (operating system) and architecture (instruction set)  */
+/* settings. Only one platform and one architecture may be defined. Not all   */
+/* combinations are supported.                                                */
+/*                                                                            */
+/* Supported platform settings:                                               */
+/*                                                                            */
+/*    GPFS_AIX                                                                */
+/*    GPFS_LINUX                                                              */
+/*                                                                            */
+/* Supported architecture settings:                                           */
+/*                                                                            */
+/*    GPFS_ARCH_I386                                                          */
+/*    GPFS_ARCH_IA64                                                          */
+/*    GPFS_ARCH_POWER                                                         */
+/*    GPFS_ARCH_PPC64                                                         */
+/*    GPFS_ARCH_X86_64                                                        */
+/*                                                                            */
+/******************************************************************************/
+#define GPFS_LINUX
+#define GPFS_ARCH_I386
+
+
+#ifdef GPFS_LINUX
+/*****************************************************/
+/* Linux portability layer defines begin.            */
+/* Customer editable portion of config file.         */
+/*****************************************************/
+
+/* use #define SRC_BUILD to build the open source kernel module */
+#define SRC_BUILD_PLACEHOLDER
+
+/******************************************************************************/
+/* Linux Distribution Defines:                                                */
+/*                                                                            */
+/* Define the Linux distribution setting. Only one Linux distribution may be  */
+/* defined.                                                                   */
+/*                                                                            */
+/* Supported Distribution settings:                                           */
+/*                                                                            */
+/*    REDHAT_LINUX                                                            */
+/*    REDHAT_AS_LINUX                                                         */
+/*    SUSE_LINUX                                                              */
+/*    KERNEL_ORG_LINUX                                                        */
+/*                                                                            */
+/* Select REDHAT_AS_LINUX for:                                                */
+/*    - RedHat Advanced Server                                                */
+/*    - RedHat Enterprise Linux (AS|ES|WS).                                   */
+/*                                                                            */
+/* Select REDHAT_LINUX for RedHat professional                                */
+/*                                                                            */
+/* Select SUSE_LINUX for SuSE Enterprise Server                               */
+/*                                                                            */
+/******************************************************************************/
+LINUX_DISTRIBUTION = KERNEL_ORG_LINUX
+
+
+/******************************************************************************/
+/* Linux Distribution Level Defines:                                          */
+/*                                                                            */
+/* Define the Linux distribution level setting. Only one Linux distribution   */
+/* level may be defined.                                                      */
+/*                                                                            */
+/* NOTE:                                                                      */
+/*                                                                            */
+/* The DISTRIBUTION_LEVEL may be required if the patches for a common         */
+/* LINUX_KERNEL_VERSION diverge across a LINUX_DISTRIBUTION. For instance,    */
+/* RedHat 8 and RedHat 9 have different kernel patches for a similar version  */
+/* number kernel. For this example, LINUX_DISTRIBUTION_LEVEL would be set to  */
+/* "80" for RedHat 8 and "90" for RedHat 9.
+/*                                                                            */
+/******************************************************************************/
+#define LINUX_DISTRIBUTION_LEVEL 90
+
+
+/******************************************************************************/
+/* Linux Kernel Version Defines:                                              */
+/*                                                                            */
+/* Define the Linux kernel version and kernel includes directory settings.    */
+/* Only one Linux kernel version and one kernel includes directory may be     */
+/* defined.                                                                   */
+/*                                                                            */
+/* The Linux kernel version is determined from the first four components of   */
+/* the kernel string. It is important to note that the second, third and      */
+/* fourth components are specified with two digits. Any component less than   */
+/* 10 must be preceded by a '0', while any component greater than or equal to */
+/* 100 should specify '99'.                                                   */
+/*                                                                            */
+/* Examples:                                                                  */
+/*                                                                            */
+/*    2.4.18-21   would be 2041821                                            */
+/*    2.4.21-111  would be 2042199                                            */
+/*    2.6.5-7.139 would be 2060507                                            */
+/*                                                                            */
+/* The kernel includes directory is where GPFS will find the kernel headers   */
+/* for the kernel specified by the LINUX_KERNEL_VERSION define. The kernel    */
+/* includes location varies by Linux distribution.                            */
+/*                                                                            */
+/* Examples:                                                                  */
+/*                                                                            */
+/*    /lib/modules/`uname -r`/build/include                                   */
+/*    /lib/modules/`uname -r`/source/include                                  */
+/*    /usr/src/linux/include                                                  */
+/*                                                                            */
+/******************************************************************************/
+#define LINUX_KERNEL_VERSION 2062015
+KERNEL_HEADER_DIR = /usr/src/linux-headers-2.6.20-15-generic/include 
+
+/******************************************************************************/
+/* Linux Build Directory (Needed for Linux 2.6 kernel only)                   */
+/*                                                                            */
+/* For Linux kernel version 2.6, kernel build directory needs to be specified */
+/* as well.                                                                   */
+/* If you are running a vanilla kernel, where in the headers and the build    */
+/* directories are in the standard place (i.e. under /lib/modules) then       */
+/* running "make Autoconfig" will set the correct values for                  */
+/* KERNEL_BUILD_DIR variable.                                                 */
+/*                                                                            */
+/* The kernel build directory is where the kernel build tools reside.         */
+/* These tools are required to build the GPFS modules for Linux.              */
+/* Examples:                                                                  */
+/*    /lib/modules/`uname -r`/build                                           */
+/*                                                                            */
+/******************************************************************************/
+KERNEL_BUILD_DIR = /lib/modules/2.6.20-15-generic/build 
+
+/* Flags for building with desired Linux kernel patches.
+ * These are patches for specific problems we've discovered
+ * with the linux kernel and are providing interim patches
+ * for.  Each patch is described below and the desired patches 
+ * should be uncommented under LINUX_PATCH_DEFINES. 
+ *
+ * -DMMAP_LINUX_PATCH  Required for use of mmapped writes.
+ *
+ * Descriptions and downloads for these patches may be found at 
+ * http://sourceforge.net/tracker/index.php?func=detail&aid=1153778&group_id=130828&atid=719124
+ */
+LINUX_PATCH_DEFINES = \
+/*  -DMMAP_LINUX_PATCH  */
+
+/*****************************************************/
+/* Linux portability layer defines end.              */
+/* Everything below here is irrelevent to customer   */
+/* compiles of the portability layer.                */
+/*****************************************************/
+#endif /* GPFS_LINUX */
+
+/* Descriptions of variables used by the build process:
+
+   The following variables are lists available to all makefiles:
+     DESTDIR              Root of the ts directory in the build tree.
+     CDEBUGFLAGS          Passed to all compiles of code that goes in mmfsd
+                            or other process-level code.  Empty by default;
+                            intended to be used temporarily within the
+                            Imakefile in a directory to turn on generation of
+                            assembly listings, say.
+     KCDEBUGFLAGS         Passed to all compiles of code that goes in kernel
+                            extensions.  Empty by default.
+     OPTFLAGS             Compiler optimization flags for daemon code and
+                            code that is compiled once and bound into both
+                            the daemon and the kernel.  Typical values are -g
+                            or -O.
+     KOPTFLAGS            Compiler optimization flags for code used exclusively
+                            in kernel modules.
+     ARCH_DEFINES         -D defines describing the machine architecture
+     DEFAULT_DEFINES      List of -D defines used for shipped product code.
+                            The complete list of possible -D values is given
+                            below.
+     TEMPSHIP_DEFINES     List of -D defines used for debuging, not shipped
+                            in product code after first few PTFs of new release.
+     NEVERSHIP_DEFINES    List of -D defines used for testing, never shipped
+                            in product code.
+     SITE_DEFINES         List of the complete set of -D defines used by each
+                            compilation in the build.  For testing, this will
+                            be the concatenation of DEFAULT_DEFINES,
+                            ARCH_DEFINES, TEMPSHIP_DEFINES, and
+                            NEVERSHIP_DEFINES.  For the shipped product,
+                            this will just contain DEFAULT_DEFINES and
+                            ARCH_DEFINES (and TEMPSHIP_DEFINES for a
+                            little while).
+
+     KERNEL_HEADER_DIR    Directory where Linux kernel header files are kept
+
+   The following variables are either defined or undefined by this file.
+   Tests of these are used in Imakefiles to conditionally control which
+   lines are processed.  For almost all of these there is a
+   corresponding -Dxxx that must be specified in SITE_DEFINES.
+
+     DMAPI                #define this to cause code implementing the DMAPI
+                            interface to GPFS to be built.  Requires -DDMAPI
+                            in SITE_DEFINES.
+     FAR_TRACE            #define this to cause calls to the routine that
+                            actually does TRACEn to be placed far away from
+                            the tests of whether tracing is enabled.  When
+                            tracing is off, this results in fewer I-cache
+                            misses, and therefore better performance.  Also
+                            controls several compiler options that are needed
+                            to get the correct code generated.  Cannot be
+                            used with -g.
+     LINUX_KERNEL_VERSION  #define this to match the version of the Linux
+                            include files being used for the applicable
+                            architecture type.  This is always an eight
+                            digit decimal number.  The first four
+                            digits give the major and minor kernel version
+                            numbers.  For Linux 2.4 these will always be
+                            0204, with the leading zero omitted.  The next
+                            two digits give the kernel subversion.  The last
+                            two digits give the patch level.  Thus the 
+                            LINUX_KERNEL_VERSION of 
+                              linux-2.4.18-14 is 2041814
+                            while
+                              linux-2.4.19    is 2041900
+
+                            The compile-time symbol LINUX_KERNEL_VERSION 
+                            will be set to the same value as the make-time 
+                            symbol LINUX_KERNEL_VERSION.  
+                            The GPFS_KERNEL_VERSION macro uses the same 
+                            encoding of kernel version as does 
+                            LINUX_KERNEL_VERSION, and can be used to 
+                            conditionally compile version dependent code.
+     GPROF_DAEMON         #define this to compile and link the daemon for
+                            gprof.  Use 'mmfsadm test gprof on|off' to control
+                            when profiling is enabled.  (Not tested in years,
+                            may not work.)
+     TRY_AND_BUY          #define this to build a "try and buy" version of
+                            GPFS with a timeout license key
+     MMPMON               #define this to build support for MMPMON remote
+                            performance monitoring services.  Requires -DMMPMON
+                            in SITE_DEFINES.
+     MMPMON_CUMULATIVE    #define this to build support for MMPMON remote
+                            performance monitoring cumulative all-time stats.
+			    Requires -DMMPMON in SITE_DEFINES.
+     MMPMON_HISTOGRAMS    #define this to build support for MMPMON remote
+                            performance monitoring latency histogram data.
+			    Requires -DMMPMON *and* -DMMPMON_HISTOGRAMS
+                            in SITE_DEFINES.
+     EXPORTER_EVENTS      #define this to enable the APPEND_EXPORTER_EVENT code
+			    originally used by the Java GUI
+     SMB_LOCKS            #define this to add SMB share mode and oplock support
+                            Requires -DSMB_LOCKS in SITE_DEFINES
+     CCL                  #define this to add support for CIFS Compatibility 
+                           Layer.  Requires -DCCL in SITE_DEFINES
+     KTRACE               #define this to build trace device into Linux
+                            kernel and allow trace statements in kernel.
+                            Requires -DKTRACE in SITE_DEFINES
+     NO_ASM_UTIL          #define this to prevent the use of assembler versions
+                            of utility routines in classes/basic directory
+     CROSS_COMPILE        #define this when cross-compiling to avoid running
+                            tools that must be built for the target system but
+                            run on the build system (e.g. chksystypes program)
+     POLICY               #define this to compile the policy library. Use with 
+	                    -DPOOLS and -DPOLICY
+     NOKREGPARMS          #define this to build gpfs compatable for a
+			    custom built 2.6 kernel with CONFIG_REGPARMS
+			    turned off.
+
+   Descriptions of all -Dxxx values that control building GPFS features.
+   To generate optional code add one or more of the following to
+   SITE_DEFINES:
+
+   Standard system features
+     -D__FULL_PROTO       Used by AIX header files to ensure that prototypes
+                          of functions include full parameter list.  Needed
+                          since these functions have a C calling convention and
+                          thus must always be defined with their full proto.
+     -DBLOCK_RESTORE      Add support for block level incremental
+	                    backup & restore.
+     -DDIO                Direct I/O support
+     -DDIO_XW             Define this to allow direct I/O writes to
+                            allocate new data blocks rather than falling
+                            back to normal I/O, provided that write request
+                            is block-aligned block multiple.  DIO will use
+                            xw byte-range lock rather than whole-file sx
+                            lock for block-sized I/O.
+     -DDISK_LEASE_DMS     Add support for a deadman switch.  When disk leasing
+                            is on, a kernel timer will be turned on, to be
+                            restarted whenever a new lease is obtained.  If
+                            the lease cannot be renewed, and timer expires,
+                            and there's still some outstanding I/O requests,
+                            the node is paniced.
+     -DDMAPI              Activate DMAPI code (also define DMAPI).
+     -DDMAPI_MOVERS       Activate DMAPI parallel movers code.
+     -DDMAPI_PREFETCH_DIRATTRS Active parallel dm_get_dirattr and dm_get_dmattr
+     -DLC_FENCING         Enable LC fencing of VSD disks
+     -DMMAP_DIO           Change mmap page-out to use direct I/O to write
+                            the page if a GPFS data buffer is not available.
+                            This removes the requirement that read/write
+                            mapped pages always have a GPFS data buffer to
+                            back them.  Requires -DDIO.
+     -DNFS_SKIP_SHRINK_TO_FIT Don't do shrink to fit for NFS when the open
+                            file is not empty.
+     -DPOW2_COND_SHIFT    Enable code that implements multiplies and divides
+                            by shifts when possible.
+     -DSANERGY            Enable SANergy interfaces.
+     -DSFS_PERF_SKIP_SYNC Performance improvement to skip multiple sync calls	
+                            for the same file.
+     -DSFS_PERF_USE_SMALL_BUFFER try to use small buffers to avoid reading
+                            data that might not be referenced.
+     -DSMB_LOCKS          Add support for SMB open locks and oplocks.
+     -DSPAIXLVL=432       AIX level. Must use this option when compiling on
+                            AIX 4.3.2 (with new compiler).
+     -DSPAIXLVL=433       Must use this option when compiling on AIX 4.3.3
+     -DSPAIXLVL=516       Must use this option when compiling on AIX 5.1.6+
+     -DMMPMON             Enable MMPMON performance monitoring
+			 (also enable -DMMPMON.)
+     -DMMPMON_CUMULATIVE  Enable MMPMON performance monitoring cumulative
+			  all time stats (also enable -DMMPMON and
+			  define MMPMON)
+     -DMMPMON_DAEMON_PORT Enable code that allows mmpmon/EE connections via
+                           the standard daemon port.  Authentication done by
+                           llcomm.  Compatible with MMPMON_NAMED_SOCKET.
+     -DMMPMON_HISTOGRAMS  Enable MMPMON performance monitoring latency
+			  histograms (also enable -DMMPMON and
+			  define MMPMON + MMPMON_HISTOGRAMS.)
+     -DMMPMON_NAMED_SOCKET Enable MMPMON named socket instead of the
+                           independent EE network port.  Mutually exclusive.
+     -DMMPMON_RPC         Enable MMPMON rpc interface
+     -DEXPORTER_EVENTS    Enable the APPEND_EXPORTER_EVENT code
+			    originally used by the Java GUI
+     -DFAR_TRACE          LINUX: Generate calls to the TRACE subroutine
+                            out-of-line with respect to the tests of whether
+                            tracing is enabled.  Do not explicitly include
+                            this in the list of -D options; it will be
+                            provided automatically if FAR_TRACE or
+                            KFAR_TRACE is #defined.
+     -DFAR_CODE           LINUX: Enable the BEGIN_FAR_CODE/END_FAR_CODE macros
+                            to place arbitrary uncommonly executed code
+                            out-of-line.  Requires -DFAR_TRACE.  Do not
+                            explicitly include this in the list of -D
+                            options; it will be provided automatically
+                            if FAR_TRACE or KFAR_TRACE is #defined.
+     -DUSE51BREGS         AIX: Use AIX 5.1.B register semantics in assembler
+                          code.  Must be turned on for code that will
+                          run on AIX 5.x.
+     -DTSCOMM_SECURITY    Enable support for secure network communication.
+     -DLIMIT_KSTACKS      Generate code that is less efficient in the GPFS
+                            kernel module, but that uses less kernel stack
+                            space.  Needed on i386 for Linux kernel versions
+                            at or beyond 2.6.6.
+     -DPERF_STATS         Additional performance statistics for benchmark runs
+
+   Defines for new upcoming features:
+     -DCCL                Add support for CIFS Compatibility Layer.
+     -DEE_WATCHDOG_START  Start the EE watchdog thread (checks for anomolies)
+                          This feature used to be enabled, but since there
+                          is currently no consumer for its data, it is now
+                          disabled by default.
+     -DNFS4_CLUSTER       Add support for NFS Version 4.
+                            Requires the 2.4.18 nfsv4 kernel.
+     -DNFS4_ACL           Add support for NFSv4 ACLs.
+     -DNFS4_VCM           Add support for the AIX VCM (NFSv4 locking)
+
+     -DDESCQUORUM_OVERRIDE Add support for manual overrides of the stripe
+                             group descriptor quorum.
+     -DUIDREMAP           Enable support for UID remapping in multicluster
+                          environment.
+     -DALLOC_SUM_FILE     Enable support allocation summary file 
+
+     -DCHECK_KXTIMESTAMP  Enable code that a) links both mmfsd and mmfs with
+                          an object that contains a timestamp b) checks very
+                          early during daemon startup that kernel and userspace
+                          code have the same timestamp, i.e. the kernel
+                          extension loaded in memory is from the same build as 
+                          the currently starting daemon.  The intent is to 
+                          prevent hard-to-diagnose problems arising (on AIX,
+                          most often) from having a stale kernel extension 
+                          loaded after installing a new build.  Will only be
+                          enabled in ADE/ODE builds, although CVS builders 
+                          can enable it as well.
+     -DPOOLS              Add support for multiple disk storage pools.
+     -DFILESETS           Add support for filesets.
+     -DFILESET_QUOTAS     Add support for fileset quotas. Must be used with
+                          FILESETS.
+     -DPOLICY             Policy language and commands - used with POOLS and FILESETS, prereq
+     -DPOLICY_RESTORE       Initial support for new RESTORE policy attributes
+     -DPOLICY_RESTORE_RULES Add support for new RESTORE policy rules
+     -DSINGLE_PORT        Enable support for use of a single port number.
+     -DTHREADED_RECEIVER  Enables multi-threaded receiver code.
+     -DNO_XCLUST          Avoid sending cross-cluster RPCs between different
+                          remote clusters
+     -DWAIT_FOR_NSD_SERVERS Enables the feature to wait for NSD servers to 
+                          come up on mounts, when cluster is first formed,
+                          and other select situations (see doc for details.)
+
+   Defines for non GA versions of the code but turned on for our web
+   based "try and buy" version of GPFS.
+     -DTRY_AND_BUY        Build a "try and buy" version of 
+                            GPFS with a timeout license key
+
+   Defines for Normal testing, not for shipped systems:
+     -DDBGASSERTS         Generate code for DBGASSERT macros
+     -DTRIGGERS           Respond to 'test trigger xxx' commands
+     -DTRACK_USECOUNT     Code to track contributing threads to a stripe
+                            group's use count.
+     -DDIRCHECKASSERTS    Check validity of directory disk data structures
+                            frequently, and assert when an inconsistency is
+                            found.  Expensive, so separated from DBGASSERTS.
+     -DPTHREAD_STATS      Generate code to count how many times various
+                            paths are taken through thread, mutex, and
+                            condition variable code.
+     -DNO_ASM_SYNCH       Disable implementation of fast versions of mutex
+                            acquire/release in assembler.  Enables trace
+                            calls and some debugging code under -DDBGASSERTS
+                            that is not supported by the assembler
+                            implementation.  Required if -DTRACK_RESOURCE_USAGE
+                            is used.
+     -DINSTRUMENT_LOCKS   Enable summary lock instrumentation for mutexes
+                            and lock objects.  Requires -DPTHREAD_STATS.
+     -DINSTRUMENT_DETAIL_LOCKS
+                          Also enable per-mutex lock instrumentation.
+                            Requires -DINSTRUMENT_LOCKS.
+     -DTM_DETAIL_STATS    Extra counters to track which token prefetches
+                            are useful and which are not.
+     -DVERBOSETRACE       Generate code to produce traces for trace levels > 10
+     -DGPFS_FRAME_POINTER Tell GPFS code that -fomit-frame-pointer was not
+                           specified, so frame pointer is available. Use
+                           either -fomit-frame-pointer or -DGPFS_FRAME_POINTER
+                           when defining OPTFLAGS
+     -DENTRYEXIT_TRACE    Enable routine entry/exit tracing that is controlled
+                           by mmfsadm trace entryexit <n>
+     -DKSTACK_CHECK       Keep track of how much kernel stack space is used
+                           within GPFS kernel modules.  Print tracebacks of
+                           the point of maximum stack usage if it exceeds a
+                           threshhold.  Can only be used on Linux.
+
+   Defines for weird test conditions, not normally used:
+     -DPOW2_FORCE_SHIFT   Do only shifts for some math. Requires that all
+                          GPFS block sizes be power of 2.
+                          Since VTS uses 384K blocksize, this is not a
+                          shipable option.
+     -DTIME_MUTEXES       Time how long mutexes are held.  Summary produced
+                            by 'mmfsadm dump lstat'.  
+                            Requires -DINSTRUMENT_LOCKS.
+     -DGPFS_PRINTF        On Linux, send trace output to the console via printk
+                            instead of collecting trace output using ltrace.
+                            (requires GPFS_LINUX).
+     -DTSCAN              Enable trace points used by the tscan utility to
+                            measure CPU usage by system call.
+     -DTRACK_RESOURCE_USAGE
+                          Keep track of resources (locks, mutexes, buffers,
+                            threads, etc.) held by a thread and verify that
+                            resources are acquired in a consistent order.
+                            Requires -DNO_ASM_SYNCH.
+     -DSUPPORT_FOR_DOS_STATFS  Hack for DOS client fsstat
+     -DDACSPY             Counts the number of times objects of each of
+                            the dynamic array classes are created.
+                            The classes are defined via the DECL_ARRAY_CLASS
+                            macro in DAC.h.  This optional instrumentation
+                            allows for determining which objects being
+                            allocated on the heap may require allocation
+                            optimization such as via a linked list of
+                            preallocated objects.
+     -DMALLOC_DEBUG       Generate code to track the file and line number from
+                            which each block of MALLOCed storage was allocated
+     -DTRACE_IO_DATA      If RTPERF trace level is >= 3, dump the first few
+                            words of data read or written by any disk I/O
+                            operation.  This is a security exposure, and should
+                            not be turned on in production.
+     -DNEW_DELETE_DEBUG   Override global operators new and delete, to assist
+                            in finding uninitialized dynamic storage, writing
+                            beyond the end of an allocated object, reference to
+                            deleted objects, and storage leaks.  The 'mmfsadm
+                            test newdebug' command enables some of these
+                            features.
+     -DNEW_DELETE_TRACEBACKS
+                          Save the call stack on memory allocations tracked
+                            by -DNEW_DELETE_DEBUG.  Not supported on Linux.
+     -DDIR_VERSION_NUMBERS
+                          Increment one of the reserved words in directory
+                            block headers each time the block is written to
+                            disk.  Helps to sequence directory updates in time
+                            across multiple nodes.  Should never be turned on
+                            except on file systems that will be reformatted.
+     -DTEST_SMALL_DISKS=x When creating a file system or adding disks,
+                            artificially limit the disk size to x megabytes.
+                            Useful for testing ENOSPC conditions without having
+                            to fill up large disks or creating new, smaller
+                            logical volumes.
+     -DTEST_DELDISK       Ignore all but the first disk listed in mount
+                            options.  This is useful when testing so that
+                            the tsdeldisk and tsrpldisk commands can be used
+                            without the "mm" commands.
+     -DNO_VFS_STATS       Do not generate any code to generate statistics for
+                            the 'mmfsadm vfsstats {enable|disable|reset|show}'
+                            family of commands.
+     -DSTOP_TRACE_ON_FAILURE Set all trace flags to 0 as soon as LOGASSERT
+                            is triggered or deamon cleanup begins.
+     -DDEBUG_SPINLOCK     Define this if Linux kernel is built with
+                            CONFIG_DEBUG_SPINLOCK.
+     -DFILEIDCMD_PERF     Define this to enable perf measurements for mmfileid
+                            command
+     -DKTRACE             Define this to build trace device into Linux
+                            kernel and allow trace statements in kernel
+                            (also define KTRACE).
+     -DENABLE_SKIP_DATA_MOVE Enable the 'mmfsadm test disableDataXfer 0/1'
+                            command to skip moving data between user buffers
+                            and GPFS buffers and to skip data I/O.  Allows
+                            simulating a higher metadata load than the actual
+                            data I/O configuration would support.
+*/
+
+CDEBUGFLAGS =
+KCDEBUGFLAGS =
+
+#ifdef GPFS_ARCH_POWER
+ARCH_DEFINES = -DGPFS_ARCH_POWER
+#endif
+
+#ifdef  GPFS_ARCH_I386
+ARCH_DEFINES = -DGPFS_ARCH_I386 -DGPFS_LITTLE_ENDIAN
+#endif
+
+#ifdef  GPFS_ARCH_IA64
+ARCH_DEFINES = \
+  -D__64BIT__ \
+  -DALIGNED_DATA_ACCESS \
+  -DGPFS_ARCH_IA64 \
+  -DGPFS_LITTLE_ENDIAN \
+  -DAPI_32BIT
+#endif
+
+#ifdef  GPFS_ARCH_PPC64
+ARCH_DEFINES = -DGPFS_ARCH_PPC64 -D__64BIT__ -DALIGNED_DATA_ACCESS
+#endif
+
+#ifdef  GPFS_ARCH_X86_64
+ARCH_DEFINES = -DGPFS_ARCH_X86_64 -D__64BIT__ -DGPFS_LITTLE_ENDIAN \
+               -DAPI_32BIT
+#endif
+
+/***********************************/
+/* Defines common to all platforms */
+/***********************************/
+COMMON_DEFINES = \
+  -DALLOC_SUM_FILE \
+  -DBLOCK_RESTORE \
+  -DDESCQUORUM_OVERRIDE \
+  -DDIO \
+  -DDIO_XW \
+  -DDISK_LEASE_DMS \
+  -DDMAPI \
+  -DDMAPI_MOVERS \
+  -DDMAPI_PREFETCH_DIRATTRS \
+  -DEXPORTER_EVENTS \
+  -DFILESETS \
+  -DFILESET_QUOTAS \
+  -DGPFS_ERRNO_MAPPING \
+  -DGPFS_QUOTACTL \
+  -DLC_FENCING \
+  -DMMAP_DIO \
+  -DMMPMON \
+  -DMMPMON_CUMULATIVE \
+  -DMMPMON_DAEMON_PORT \
+  -DMMPMON_HISTOGRAMS \
+  -DMMPMON_NAMED_SOCKET \
+  -DMMPMON_RPC \
+  -DNFS_SKIP_SHRINK_TO_FIT \
+  -DNFS4_ACL \
+  -DNFS4_VCM \
+  -DNO_XCLUST \
+  -DPERF_STATS \
+  -DPOLICY \
+  -DPOLICY_RESTORE \
+  -DPOOLS \
+  -DPOW2_COND_SHIFT \
+  -DSANERGY \
+  -DSFS_PERF_SKIP_SYNC \
+  -DSFS_PERF_USE_SMALL_BUFFER \
+  -DSINGLE_PORT \
+  -DSMB_LOCKS \
+  -DTHREADED_RECEIVER \
+  -DTSCOMM_SECURITY \
+  -DUIDREMAP \
+  -DWAIT_FOR_NSD_SERVERS
+
+COMMON_TEMPSHIP_DEFINES = \
+  -DDBGASSERTS \
+  -DNEW_DELETE_DEBUG  \
+  -DTRACK_USECOUNT \
+  -DTRIGGERS \
+  -DVERBOSETRACE
+
+COMMON_NEVERSHIP_DEFINES = \
+  -DINSTRUMENT_LOCKS \
+  -DPTHREAD_STATS \
+  -DTRACE_IO_DATA \
+  -DENTRYEXIT_TRACE
+
+#define DMAPI
+#define EXPORTER_EVENTS
+#define FILESETS
+#define MMPMON
+#define MMPMON_CUMULATIVE
+#define MMPMON_HISTOGRAMS
+#define PERF_STATS
+#define POLICY
+#define SANERGY
+#define SMB_LOCKS
+#define THREADED_RECEIVER
+/* #define TRY_AND_BUY */
+#define TSCOMM_SECURITY
+
+/*********************/
+/* AIX configuration */
+/*********************/
+#ifdef GPFS_AIX
+#define AIX5
+
+/* 64-bit AIX build (on HACMP) */
+/* #define GPFSBLD64 */
+
+#ifdef GPFSBLD64
+  OPTFLAGS = -g
+  KOPTFLAGS = -g
+  EXTRASTD_CFLAGS = -q64 -qlargetype -qsuppress=1540-0053
+  EXTRASTD_LDFLAGS = -q64 -g
+  EXTRALDFLAGS2 = -b64
+  EXTRAARFLAGS = -X64
+  EXTRAM4FLAGS = -D__64BIT__
+  EXTRAASFLAGS = -a64
+  MKTRCFMT_FLAGS = -q64
+#else
+  OPTFLAGS =
+  KOPTFLAGS =
+#endif
+
+/* Build for AIX4 or AIX5
+ * To build on AIX 5.x, you'll need these ifdefs
+ *   -DSPAIXLVL=516 -DUSE51BREGS
+ */
+#ifndef AIX5
+#define AIX4
+#endif
+
+#ifdef AIX4
+  AIX_VERSION_DEPS = -DSPAIXLVL=432
+#else
+  AIX_VERSION_DEPS = -DSPAIXLVL=516 -DUSE51BREGS
+#endif
+
+SITE_OTHER_KINCLUDES =
+SITE_OTHER_KDEFINES = -D_KERNEL
+
+SITE_FAR_TRACE_OPTS =
+SITE_KFAR_TRACE_OPTS =
+
+DEFAULT_DEFINES = \
+  $(AIX_VERSION_DEPS) \
+  -D__FULL_PROTO \
+  -DGPFS_AIX
+
+TEMPSHIP_DEFINES = \
+  -DNEW_DELETE_TRACEBACKS
+
+EXTRAINSTROOTFLAGS = -s
+EXTRAINSTPROGFLAGS = -s
+
+#endif /* end of AIX */
+
+/***********************/
+/* Linux configuration */
+/***********************/
+#ifdef GPFS_LINUX
+
+SITE_OTHER_KDEFINES = -D_KERNEL -D__KERNEL__ -DMODULE \
+                      -DGPFS_EXPORT_KSYMS -DEXPORT_SYMTAB
+
+COMMON_LINUX = \
+  -U_GNU_SOURCE \
+  -D__USE_BSD \
+  -D_LARGEFILE64_SOURCE \
+  -DGPFS_LINUX \
+  -DYESSTR=__YESSTR \
+  -DNOSTR=__NOSTR \
+  -DLUM \
+  -DNPTL \
+  -DSSEG_SWIZZLE_PTRS \
+  -D$(LINUX_DISTRIBUTION) \
+  -DLINUX_DISTRIBUTION_LEVEL=LINUX_DISTRIBUTION_LEVEL \
+  $(LINUX_PATCH_DEFINES)
+
+#define LUM
+#define SSEG_SWIZZLE_PTRS
+
+EXTRASTD_LDFLAGS = 
+EXTRALDFLAGS2 =  
+
+SITEMCRREV_RAW = "$Revision: 1.535.2.13 $ "
+
+/* If you add -g to OPTFLAGS, you must also comment out the define of
+ * FAR_TRACE.  It is recommended to remove the -fomit-frame-pointer 
+ * option for better debugging information.  If you add -g to KOPTFLAGS, you 
+ * must comment out the define of KFAR_TRACE. 
+ */
+
+/**********************/
+/* Linux i386 defines */
+/**********************/
+#ifdef GPFS_ARCH_I386
+
+OPTFLAGS  = -g0 -O2 -march=i686 -fno-strict-aliasing -fno-exceptions \
+            -DGPFS_FRAME_POINTER
+
+KOPTFLAGS = -O2 -march=i686 -fno-strict-aliasing -fno-exceptions \
+            -fno-common -fomit-frame-pointer
+
+#if LINUX_KERNEL_VERSION > 2060500
+
+#if LINUX_KERNEL_VERSION >= 2061600
+COMMON_26_FLAGS += -m32 -ffreestanding                                                                                     
+KOPTFLAGS += $(COMMON_26_FLAGS) -mpreferred-stack-boundary=2                                                               
+OPTFLAGS  += $(COMMON_26_FLAGS)                                                                                            
+#endif /* LINUX_KERNEL_VERSION >= 2061600 */
+                                                                                  
+#ifdef PCE_26_PCE
+#define NOKREGPARMS
+KOPTFLAGS += -mpreferred-stack-boundary=2 -DPCE_26_PCE
+OPTFLAGS  += -DPCE_26_PCE            
+#endif /* PCE_26_PCE */
+
+#ifndef NOKREGPARMS
+KOPTFLAGS += -mregparm=3 -mpreferred-stack-boundary=2
+#else
+SITE_OTHER_KDEFINES += -DNOKREGPARMS
+#endif
+#endif /* LINUX_KERNEL_VERSION > 2060500 */
+
+#define KFAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION \
+  -DLIMIT_KSTACKS \
+  -DSSEG_RESERVE_MEM
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux i386 defines */
+
+
+/***********************/
+/* Linux Power defines */
+/***********************/
+#ifdef GPFS_ARCH_POWER
+
+OPTFLAGS = -g0 -O2 -fno-exceptions
+KOPTFLAGS = -O2 -msoft-float -fno-exceptions -fno-common
+
+#undef KFAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DCONFIG_UP \
+  -DNO_ASM_SYNCH \
+  -DSSEG_RESERVE_MEM \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION
+
+TEMPSHIP_DEFINES = -DDISABLE_KERNEL_PANIC
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#define NO_ASM_UTIL
+
+#endif /* end of Linux power defines */
+
+
+/**********************/
+/* Linux ia64 defines */
+/**********************/
+#ifdef GPFS_ARCH_IA64
+
+OPTFLAGS = -g0 -O2 -fno-strict-aliasing -fno-exceptions
+KOPTFLAGS = -O2 -fno-strict-aliasing -fno-exceptions -fno-common
+
+#undef KFAR_TRACE
+#undef FAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION 
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux ia64 defines */
+
+/***************************/
+/* Linux PowerPC64 defines */
+/***************************/
+#ifdef GPFS_ARCH_PPC64
+
+#if LINUX_KERNEL_VERSION < 2060000
+CC = powerpc64-linux-g++
+C_COMP = powerpc64-linux-gcc
+CPP = powerpc64-linux-cpp
+BARELD = powerpc64-linux-ld
+AR = powerpc64-linux-ar clq
+AS = powerpc64-linux-as
+KAR = powerpc64-linux-ld $(LDFLAGS2) -r -o
+RANLIB = powerpc64-linux-ranlib
+ARDEL = $(AR) d
+MAKEDEPEND = $(CC)
+CPLUSINC = -I/opt/cross/include
+#endif
+
+OPTFLAGS = -g0 -O2 -mminimal-toc -fno-exceptions
+KOPTFLAGS = -O -msoft-float -fno-exceptions
+
+#if LINUX_KERNEL_VERSION > 2060000
+OPTFLAGS += -m64 -mpowerpc64
+MAKEDEPEND = $(CC) -m64
+#if (LINUX_KERNEL_VERSION >= 2061600)
+KOPTFLAGS += -m64 -mcall-aixdesc -mno-altivec -fno-common -ffreestanding -mtune=power4 -funit-at-a-time -mstring -fno-ivopts -Wa,-maltivec
+#else
+KOPTFLAGS += -m64 -mpowerpc64 -fno-common
+#endif
+
+EXTRASTD_LDFLAGS = -melf64ppc -m64
+EXTRALDFLAGS2 =  -melf64ppc
+BARELD += -melf64ppc
+
+ifeq ("$(LINUX_DISTRIBUTION)","REDHAT_AS_LINUX")
+#if LINUX_KERNEL_VERSION >= 2060905
+KOPTFLAGS += -mcall-aixdesc
+#endif
+endif
+
+#endif
+
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION
+
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux PowerPC64 defines */
+
+/**************************************/
+/* Linux Opteron (aka x86_64) defines */
+/**************************************/
+#ifdef GPFS_ARCH_X86_64
+
+OPTFLAGS = -g0 -O2 -fno-strict-aliasing -fno-exceptions -fPIC
+KOPTFLAGS = -O2 -fno-strict-aliasing -fno-exceptions -fno-common \
+            -mcmodel=kernel -mno-red-zone
+
+#undef KFAR_TRACE
+#undef FAR_TRACE
+
+DEFAULT_DEFINES = \
+  $(COMMON_LINUX) \
+  -DLINUX_KERNEL_VERSION=LINUX_KERNEL_VERSION \
+  -DLIMIT_KSTACKS
+
+/* SMART_PTR_DEBUG turned off in ODE build due to large performance hit */
+NEVERSHIP_DEFINES = -DKSTACK_CHECK -DSMART_PTR_DEBUG
+
+#endif /* end of Linux x86_64 defines */
+
+#ifdef FAR_TRACE
+SITE_FAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+#else
+SITE_FAR_TRACE_OPTS =
+#endif
+
+#ifdef KFAR_TRACE
+SITE_KFAR_TRACE_OPTS = -DFAR_TRACE -DFAR_CODE -fno-defer-pop
+#else
+SITE_KFAR_TRACE_OPTS =
+#endif
+
+#endif /* end of Linux defines */
+
+/* Build complete list of -D compile flags */
+SITE_DEFINES = $(ARCH_DEFINES) $(DEFAULT_DEFINES) $(COMMON_DEFINES)
+
+/* kernel source build */
+#ifdef SRC_BUILD
+SITE_DEFINES += -DSRC_BUILD
+#endif
+
+
+/* Force compiler options needed for gprof if necessary */
+#ifdef GPROF_DAEMON
+CDEBUGFLAGS = -g -pg
+#endif
+
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/test/descfile
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/test/descfile	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/test/descfile	(revision 16)
@@ -0,0 +1,2 @@
+/dev/sda:localhost::dataAndMetadata::
+/dev/sdb:localhost::dataAndMetadata::
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/test/descfile.bk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/test/descfile.bk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/test/descfile.bk	(revision 16)
@@ -0,0 +1,6 @@
+/dev/sda:gpfs201::dataAndMetadata::
+/dev/sdb:gpfs201::dataAndMetadata::
+/dev/sda:gpfs211::dataAndMetadata::
+/dev/sdb:gpfs211::dataAndMetadata::
+/dev/sda:gpfs212::dataAndMetadata::
+/dev/sdb:gpfs212::dataAndMetadata::
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/test/nodes
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/test/nodes	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/test/nodes	(revision 16)
@@ -0,0 +1,1 @@
+localhost:quorum
Index: /gpfs_3.1_ker2.6.20/lpp/mmfs/test/nodes.bk
===================================================================
--- /gpfs_3.1_ker2.6.20/lpp/mmfs/test/nodes.bk	(revision 16)
+++ /gpfs_3.1_ker2.6.20/lpp/mmfs/test/nodes.bk	(revision 16)
@@ -0,0 +1,4 @@
+gpfs201:quorum
+gpfs210:
+gpfs211:
+gpfs212:
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmadddisk.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmadddisk.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmadddisk.8	(revision 16)
@@ -0,0 +1,366 @@
+.TH mmadddisk 02/16/06
+mmadddisk Command
+.SH "Name"
+.PP
+\fBmmadddisk\fR - Adds disks to a GPFS file system.
+.SH "Synopsis"
+.PP
+\fBmmadddisk\fR \fIDevice\fR
+{"\fIDiskDesc\fR[;\fIDiskDesc\fR...]"
+| \fB-F\fR \fIDescFile\fR} [\fB-a\fR]
+[\fB-r\fR] [\fB-v\fR {\fB\fIyes\fR\fR |
+\fBno\fR}] [\fB-N\fR
+{\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}]
+.SH "Description"
+.PP
+Use the \fBmmadddisk\fR command to add disks to a GPFS file
+system. This command optionally rebalances an existing file system
+after adding disks when the \fB-r\fR flag is specified. The
+\fBmmadddisk\fR command does not require the file system to be unmounted
+before issuing the command. The file system can be in use while the
+command is run.
+.PP
+\fIDevice\fR must be the first parameter.
+.PP
+The \fB-N\fR parameter can be used only in conjunction with the
+\fB-r\fR option.
+.PP
+To add disks to a GPFS file system, you first must decide if you will:
+.RS +3
+.HP 3
+1. Create new disks using the
+\fBmmcrnsd\fR
+command. 
+.sp
+You should also decide whether to use the rewritten disk descriptor file
+produced by the
+\fBmmcrnsd\fR command, or create a
+new list of disk descriptors. When using the rewritten file, the
+\fIDisk Usage\fR and \fIFailure Group\fR specifications will remain the
+same as specified on the
+\fBmmcrnsd\fR
+command.
+.HP 3
+2. Select disks no longer in use in any file system. Issue the \fBmmlsnsd -F\fR command to display the available
+disks.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to which the disks are added.
+File system names need not be fully-qualified. \fBfs0\fR is as
+acceptable as \fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB\fIDiskDesc\fR
+\fR
+.RE
+.RS +9
+A descriptor for each disk to be added. Each descriptor is
+delimited by a semicolon (;) and the entire list must be enclosed in
+quotation marks (' or "). 
+.PP
+The current maximum number of disk descriptors that can be defined
+for any single file system is 268 million. 
+However, to achieve this maximum limit, you must recompile GPFS.
+The actual number of disks in your file system may be 
+constrained by products other than GPFS that you have
+installed. Refer to the individual product documentation.
+.PP
+A disk descriptor is defined as (second, third and sixth fields
+reserved):
+.sp
+.nf
+DiskName:::DiskUsage:FailureGroup::StoragePool:
+.fi
+.sp
+.PP
+.RS +3
+\fB\fIDiskName\fR
+\fR
+.RE
+.RS +9
+.PP
+You must specify the name of the NSD previously created by the \fBmmcrnsd\fR command. For a list of available
+disks, issue the
+\fBmmlsnsd -F\fR command.
+.RE
+.PP
+.RS +3
+\fB\fIDiskUsage\fR
+\fR
+.RE
+.RS +9
+Specify a disk usage or accept the default: 
+.PP
+.RS +3
+\fBdataAndMetadata
+\fR
+.RE
+.RS +9
+Indicates that the disk contains both data and metadata. This is
+the default.
+.RE
+.PP
+.RS +3
+\fBdataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains data and does not contain
+metadata.
+.RE
+.PP
+.RS +3
+\fBmetadataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains metadata and does not contain
+data.
+.RE
+.PP
+.RS +3
+\fBdescOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains no data and no file metadata. Such
+a disk is used solely to keep a copy of the file system descriptor, and can be
+used as a third failure group in certain disaster recovery
+configurations. For more information, see
+\fIGeneral Parallel File System: Advanced
+Administration\fR and search on \fISynchronous mirroring utilizing
+GPFS replication\fR.
+.RE
+.RE
+.PP
+.RS +3
+\fB\fIFailureGroup\fR
+\fR
+.RE
+.RS +9
+A number identifying the failure group to which this disk belongs.
+You can specify any value from -1 (where -1 indicates that the disk has no
+point of failure in common with any other disk) to 4000. If you do not
+specify a failure group, the value defaults to the NSD primary server node
+number plus 4000. If an NSD server node is not specified, the value
+defaults to -1. GPFS uses this information during data and metadata
+placement to assure that no two replicas of the same block are written in such
+a way as to become unavailable due to a single failure. All disks that
+are attached to the same NSD server or adapter should be placed in the same
+failure group.
+.PP
+If replication of \fB-m\fR or \fB-r\fR is set to
+2 for the file system, storage pools must have two failure groups for the
+commands to work properly.
+.RE
+.PP
+.RS +3
+\fB\fIStoragePool\fR
+\fR
+.RE
+.RS +9
+Specifies the storage pool to which the disk is to be assigned. If
+this name is not provided, the default is \fBsystem\fR.
+.PP
+Only the \fBsystem\fR pool may contain \fBmetadataOnly\fR,
+\fBdataAndMetadata\fR, or \fBdescOnly\fR disks.
+.RE
+.RE
+.PP
+.RS +3
+\fB-F \fIDescFile\fR
+\fR
+.RE
+.RS +9
+Specifies a file containing a list of disk descriptors, one per
+line. You may use the rewritten \fIDiskDesc\fR file created by the
+\fBmmcrnsd\fR command or create your own file.
+When using the \fIDiskDesc\fR file created by the \fBmmcrnsd\fR command, the values supplied on input to
+the command for \fIDisk Usage\fR and \fIFailureGroup \fR are
+used. When creating your own file, you must specify these values or
+accept the system defaults. A sample file can be found in
+\fB/usr/lpp/mmfs/samples/diskdesc\fR.
+.RE
+.PP
+.RS +3
+\fB-N { \fINode\fR[,\fINode\fR...]
+| \fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Specifies the nodes that are to participate in the restripe of the file
+system after the specified disks have been made available for use by
+GPFS. This parameter can be used only in conjunction with the \fB-r
+\fR option. This command supports all defined node classes.
+The default is \fBall\fR (all nodes in the GPFS cluster will participate in
+the restripe of the file system).
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Specifies asynchronous processing. If this flag is specified, the
+\fBmmadddisk\fR command returns after the file system descriptor is updated
+and the rebalancing scan is started; it does not wait for rebalancing to
+finish. If no rebalancing is requested (the \fB-r\fR flag not
+specified), this option has no effect.
+.RE
+.PP
+.RS +3
+\fB-r
+\fR
+.RE
+.RS +9
+Rebalance all existing files in the file system to make use of new
+disks.
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+Rebalancing of files is an I/O intensive and time consuming operation, and is
+important only for file systems with large files that are mostly
+invariant. In many cases, normal file update and creation will
+rebalance your file system over time, without the cost of the
+rebalancing.
+.RE
+.RE
+.PP
+.RS +3
+\fB-v {\fB\fIyes\fR\fR | no}
+\fR
+.RE
+.RS +9
+Verify that specified disks do not belong to an existing file
+system. The default is \fB-v yes\fR. Specify \fB-v no\fR
+only when you want to reuse disks that are no longer needed for an existing
+file system. If the command is interrupted for any reason, you must use
+the \fB-v no\fR option on the next invocation of the command.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmadddisk\fR command.
+.PP
+You may issue the \fBmmadddisk\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on the
+\fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To add the disks whose descriptors are located in \fB./disk_pools\fR
+to the file system \fBfs1\fR, and rebalance the existing
+files after it is added, issue this command:
+.sp
+.nf
+mmadddisk fs1 -F ./disk_pools -r
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+GPFS: 6027-531 The following disks of fs1 will be formatted on node
+k148n07.kgn.ibm.com:
+     gpfs10nsd: size 2202180 KB
+Extending Allocation
+Map Creating Allocation Map for storage pool 'pool2'
+   75 % complete on Thu Feb 16 13:57:52 2006  
+  100 % complete on Thu Feb 16 13:57:54 2006 
+Flushing Allocation Map for storage pool 'pool2'
+GPFS: 6027-535 Disks up to size 24 GB can be added to
+storage pool pool2.
+Checking allocation map for storagepool system   
+  62 % complete on Thu Feb 16 13:58:03 2006  
+ 100 % complete on Thu Feb 16 13:58:06 2006 
+Checking allocation map for storage pool pool1  
+  62 % complete on Thu Feb 16 13:58:11 2006  
+ 100 % complete on Thu Feb 16 13:58:14 2006 
+Checking allocation map for storage pool pool2  
+  63 % complete on Thu Feb 16 13:58:19 2006  
+ 100 % complete on Thu Feb 16 13:58:22 2006 
+GPFS: 6027-1503 Completed adding disks to file system fs1. m
+madddisk: 6027-1371 Propagating the cluster configuration
+data to all affected nodes.  This is an asynchronous
+process. 
+Restriping fs1 ... 
+Thu Feb 16 13:58:48 est 2006: mmcommon pushSdr_async:
+mmsdrfs propagation started 
+Thu Feb 16 13:58:52 est 2006: mmcommon pushSdr_async:
+mmsdrfs propagation completed; 
+mmdsh rc = 0 
+GPFS: 6027-589 Scanning file system metadata, phase 1 ...  
+GPFS: 6027-552 Scan completed successfully. 
+GPFS: 6027-589 Scanning file system metadata, phase 2 ...  
+GPFS: 6027-552 Scan completed successfully. 
+GPFS: 6027-589 Scanning file system metadata, phase 3 ...  
+GPFS: 6027-552 Scan completed successfully. 
+GPFS: 6027-589 Scanning file system metadata, phase 4 ...  
+GPFS: 6027-552 Scan completed successfully. GPFS: 6027-565
+Scanning user file metadata ...   
+  68 %  complete on Thu Feb 16 13:59:06 2006
+ 100 %  complete on Thu Feb 16 13:59:07 2006 
+GPFS: 6027-552 Scan completed successfully. 
+Done
+.fi
+.sp
+.SH "See also"
+.PP
+mmchdisk Command
+.PP
+mmcrnsd Command
+.PP
+mmdeldisk Command
+.PP
+mmlsdisk Command
+.PP
+mmlsnsd Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmaddnode.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmaddnode.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmaddnode.8	(revision 16)
@@ -0,0 +1,214 @@
+.TH mmaddnode 03/31/06
+mmaddnode Command
+.SH "Name"
+.PP
+\fBmmaddnode\fR Adds nodes to a GPFS cluster.
+.SH "Synopsis"
+.PP
+\fBmmaddnode\fR \fB-N\fR
+{\fINodeDesc\fR[,\fINodeDesc\fR...] |
+\fINodeFile\fR}
+.SH "Description"
+.PP
+Use the \fBmmaddnode\fR command to add nodes to an existing GPFS
+cluster. On each new node, a mount point directory and character mode
+device is created for each GPFS file system.
+.PP
+You must follow these rules when adding nodes to a GPFS cluster:
+.RS +3
+.HP 3
+\(bu You may issue the command only from a node that already belongs to the
+GPFS cluster.
+.HP 3
+\(bu While a node may mount file systems from multiple clusters, the node
+itself may only be added to a single cluster using the \fBmmcrcluster\fR or \fBmmaddnode\fR command.
+.HP 3
+\(bu The nodes must be available for the command to be successful. If
+any of the nodes listed are not available when the command is issued, a
+message listing those nodes is displayed. You must correct the problem
+on each node and reissue the command to add those nodes.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB-N \fINodeDesc\fR[,\fINodeDesc\fR...] |
+\fINodeFile\fR
+\fR
+.RE
+.RS +9
+Specifies node descriptors, which provide information about nodes to be
+added to the cluster.
+.PP
+.RS +3
+\fB\fINodeFile\fR
+\fR
+.RE
+.RS +9
+Specifies a file containing a list of node descriptors (see below), one
+per line, to be added to the cluster.
+.RE
+.PP
+.RS +3
+\fB\fINodeDesc\fR[,\fINodeDesc\fR...]
+\fR
+.RE
+.RS +9
+Specifies the list of nodes and node designations to be added to the GPFS
+cluster. Node descriptors are defined as:
+.sp
+.nf
+NodeName:NodeDesignations:AdminNodeName
+.fi
+.sp
+.PP
+where:
+.RS +3
+.HP 3
+1. \fBNodeName\fR is the hostname or IP address to be used by the GPFS
+daemons for node to node communication. 
+.sp
+The hostname or IP address must refer to the communications adapter over
+which the GPFS daemons communicate. Alias interfaces are not
+allowed. Use the original address or a name that is resolved by the
+\fBhost\fR command to that original address. You may specify a node
+using any of these forms:
+.br
+.sp
+.RS +0.1i
+.nf
+.TS
+tab(~);
+ l l.
+Format~Example
+\fBShort hostname\fR~k145n01
+\fBLong hostname\fR~k145n01.kgn.ibm.com
+\fBIP address\fR~9.119.19.102
+.TE
+.sp
+.fi
+.RE
+.HP 3
+2. \fBNodeDesignations\fR is an optional, '-' separated list of
+node roles.
+.RS +3
+.HP 3
+\(bu \fBmanager\fR | \fB\fIclient\fR\fR Indicates whether a node is
+part of the pool of nodes from which configuration mangers, file system
+managers, and token managers are selected. The default is
+\fBclient\fR.
+.HP 3
+\(bu \fBquorum\fR | \fB\fInonquorum\fR\fR Indicates whether a node is
+counted as a quorum node. The default is \fBnonquorum\fR.
+.RE
+.HP 3
+3. \fBAdminNodeName\fR is an optional field that consists of a node name
+to be used by the administration commands to communicate between nodes.
+.sp
+.sp
+If \fBAdminNodeName\fR is not specified, the \fBNodeName\fR value is
+used.
+.RE
+.PP
+You must provide a \fINodeDesc\fR for each node to be added to the GPFS
+cluster.
+.RE
+.RE
+.SH "Options"
+.PP
+NONE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmaddnode\fR command.
+.PP
+You may issue the \fBmmaddnode\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.PP
+\fBExamples\fR
+.PP
+To add nodes \fBk164n06\fR and \fBk164n07\fR as quorum nodes,
+and further designating \fBk164n06\fR to be available as a
+\fBmanager\fR node, issue this command: 
+.sp
+.nf
+mmaddnode -N k164n06:quorum-manager,k164n07:quorum
+.fi
+.sp
+.PP
+To confirm the addition, issue this command:
+.sp
+.nf
+mmlscluster
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+GPFS cluster information
+========================
+  GPFS cluster name:       cluster1.kgn.ibm.com
+  GPFS cluster id:         680681562214606028
+  GPFS UID domain:         cluster1.kgn.ibm.com
+  Remote shell command:      /usr/bin/rsh
+  Remote file copy command:  /usr/bin/rcp
+GPFS cluster configuration servers:
+-----------------------------------
+  Primary server:    k164n07.kgn.ibm.com
+  Secondary server:  k164n04.kgn.ibm.com
+Node  Daemon node name   IP address    Admin node name  Designation
+-------------------------------------------------------------------
+ 1  k164n04.kgn.ibm.com  198.117.68.68  k164n04.kgn.ibm.com  quorum
+ 2  k164n07.kgn.ibm.com  198.117.68.71  k164n07.kgn.ibm.com  quorum
+ 3  k164n06.kgn.ibm.com  198.117.68.70  k164n06.kgn.ibm.com quorum-manager
+.fi
+.sp
+.SH "See also"
+.PP
+mmchconfig Command
+.PP
+mmcrcluster Command
+.PP
+mmchcluster Command
+.PP
+mmdelnode Command
+.PP
+mmlscluster Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmapplypolicy.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmapplypolicy.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmapplypolicy.8	(revision 16)
@@ -0,0 +1,380 @@
+.TH mmapplypolicy 03/23/06
+mmapplypolicy Command
+.SH "Name"
+.PP
+\fBmmapplypolicy\fR - Deletes files or migrates file data between
+storage pools in accordance with policy rules.
+.SH "Synopsis"
+.PP
+\fBmmapplypolicy\fR {\fIDevice\fR | \fIDirectory\fR} \fB[-P\fR
+\fIPolicyFile\fR\fB] [-I {\fR\fB\fIyes\fR\fR \fB| defer | test}]\fR
+\fB[-L\fR \fIn\fR \fB] [-D\fR
+\fIyyyy-mm-dd\fR\fB[\fR\fI@hh:mm\fR\fB[:\fR\fIss\fR\fB]]]
+[-s\fR \fIWorkDirectory\fR\fB]\fR
+.SH "Description"
+.PP
+Use the \fBmmapplypolicy\fR command to manage the placement and
+replication of data within GPFS storage pools. It can also be used to
+delete files from GPFS. You may issue the \fBmmapplypolicy\fR
+command from any node in the GPFS cluster that has the file system
+mounted.
+.PP
+Any given file is a potential candidate for at most one \fBMIGRATE\fR or
+\fBDELETE\fR operation during one invocation of the \fBmmapplypolicy\fR
+command.
+.PP
+A file that matches an \fBEXCLUDE\fR rule is not subject to any
+subsequent \fBMIGRATE\fR or \fBDELETE\fR rules. You should
+carefully consider the order of rules within a policy to avoid unintended
+consequences.
+.PP
+For detailed information on GPFS policies, see the chapter
+\fIPolicy-based data management for
+GPFS\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+Specifies the device name of the file system from which files are to be
+deleted or migrated. File system names need not be
+fully-qualified. \fBfs0\fR is just as acceptable as
+\fB/dev/fs0\fR. If specified, this must be the first
+parameter.
+.RE
+.PP
+.RS +3
+\fB\fIDirectory\fR
+\fR
+.RE
+.RS +9
+Specifies the fully-qualified path name of a GPFS file system
+subtree from which files are to be deleted or migrated. If specified,
+this must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB-I {\fB\fIyes\fR\fR | defer | test}
+\fR
+.RE
+.RS +9
+Specifies what actions the \fBmmapplypolicy\fR command performs on
+files:
+.PP
+.RS +3
+\fByes
+\fR
+.RE
+.RS +9
+Indicates that all applicable \fBMIGRATE\fR and \fBDELETE\fR policy
+rules are run, and the data movement between pools is done during the
+processing of the \fBmmapplypolicy\fR command. This is the default
+action.
+.RE
+.PP
+.RS +3
+\fBdefer
+\fR
+.RE
+.RS +9
+Indicates that all applicable \fBMIGRATE\fR and \fBDELETE\fR policy
+rules are run, but actual data movement between pools is deferred until the
+next
+\fBmmrestripefs\fR or \fBmmrestripefile\fR command.
+.RE
+.PP
+.RS +3
+\fBtest
+\fR
+.RE
+.RS +9
+Indicates that all policy rules are evaluated, but the
+\fBmmapplypolicy\fR command only displays the actions that would be
+performed had \fB-I defer\fR or \fB-I yes\fR been specified.
+There is no actual deletion of files or data movement between pools.
+This option is intended for testing the effects of particular policy
+rules.
+.RE
+.RE
+.PP
+.RS +3
+\fB-P \fIPolicyFile\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the file containing the policy rules to be
+applied. If not specified, the policy rules currently in effect for the
+file system are used.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-D
+\fIyyyy-mm-dd\fR\fB[\fR\fI@hh:mm\fR\fB[:\fR\fIss\fR]]
+\fR
+.RE
+.RS +9
+Specifies a date and optionally a (UTC) time as \fIyear-month-day\fR at
+\fIhour:minute:second\fR.
+.PP
+The \fBmmapplypolicy\fR command evaluates policy rules as if it were
+running on the date and time specified by the \fB-D\fR flag.
+This can be useful for planning or testing policies, to see how the
+\fBmmapplypolicy\fR command would act in the future. If this flag is
+omitted, the \fBmmapplypolicy\fR command uses the current date and (UTC)
+time. If a date is specified but not a time, the time is assumed to be
+00:00:00.
+.RE
+.PP
+.RS +3
+\fB-L \fIn\fR
+\fR
+.RE
+.RS +9
+Controls the level of information displayed by the \fBmmapplypolicy\fR
+command. Larger values indicate the display of more detailed
+information. These terms are used:
+.PP
+.RS +3
+\fBcandidate file
+\fR
+.RE
+.RS +9
+A file that matches a \fBMIGRATE\fR or \fBDELETE\fR policy
+rule.
+.RE
+.PP
+.RS +3
+\fBchosen file
+\fR
+.RE
+.RS +9
+A candidate file that has been scheduled for migration or deletion.
+.RE
+.PP
+These are the valid values for \fIn\fR:
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Displays only serious errors.
+.RE
+.PP
+.RS +3
+\fB1
+\fR
+.RE
+.RS +9
+Displays some information as the command runs, but not for each
+file. This is the default.
+.RE
+.PP
+.RS +3
+\fB2
+\fR
+.RE
+.RS +9
+Displays each chosen file and the scheduled migration or deletion
+action.
+.RE
+.PP
+.RS +3
+\fB3
+\fR
+.RE
+.RS +9
+All of the above, plus displays each candidate file and the applicable
+rule.
+.RE
+.PP
+.RS +3
+\fB4
+\fR
+.RE
+.RS +9
+All of the above, plus displays each explicitly \fBEXCLUDE\fR'ed
+file, and the applicable rule.
+.RE
+.PP
+.RS +3
+\fB5
+\fR
+.RE
+.RS +9
+All of the above, plus displays the attributes of candidate and
+\fBEXCLUDE\fR'ed files.
+.RE
+.PP
+.RS +3
+\fB6
+\fR
+.RE
+.RS +9
+All of the above, plus displays files that are not candidate files, and
+their attributes.
+.RE
+.PP
+For examples and more information on this flag, see the
+section: \fIThe mmapplypolicy -L command\fR in
+\fIGeneral Parallel File System: Problem
+Determination Guide\fR.
+.RE
+.PP
+.RS +3
+\fB-s \fIWorkDirectory\fR
+\fR
+.RE
+.RS +9
+Specifies the directory to be used for temporary storage during
+\fBmmapplypolicy\fR command processing. 
+.PP
+The default directory is \fB/tmp\fR. The \fBmmapplypolicy\fR
+command stores lists of candidate and chosen files in temporary files within
+this directory.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmapplypolicy\fR
+command.
+.PP
+You may issue the \fBmmapplypolicy\fR command from any node in the GPFS
+cluster that has the file systems mounted.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. This command displays the actions that would occur if a policy were
+applied, but does not apply the policy at this time:
+.sp
+.nf
+mmapplypolicy fs1 -I test
+.fi
+.sp
+The system displays output similar to:
+.sp
+.nf
+GPFS Current Data Pool Utilization in KB and %
+sp1     2196992 140095488       1.568210%
+system  444672  140095488       0.317406%
+Loaded policy rules from /var/mmfs/tmp/polFile.mmapplypolicy.18754.
+Evaluating MIGRATE/DELETE/EXCLUDE rules with\ 
+CURRENT_TIMESTAMP = 2006-03-16@19:58:49 UTC
+parsed 2 Placement Rules, 2 Migrate/Delete/Exclude Rules
+Directories scan: 7 files, 2 directories, 0 other objects,
+0 'skipped' files and/or errors.
+Inodes scan: 7 files, 0 'skipped' files and/or errors.
+Summary of Rule Applicability and File Choices:
+ Rule#  Hit_Cnt Chosen  KB_Chosen  KB_Ill  Rule
+  0     3       3       2097160    0\ 
+RULE 'migrate to system' MIGRATE FROM POOL 'sp1' TO POOL 'system'
+  1     4       4       32         0\ 
+RULE 'migrate to sp1' MIGRATE FROM POOL 'system' TO POOL 'sp1'
+GPFS Policy Decisions and File Choice Totals:
+ Chose to migrate 2097192KB: 7 of 7 candidates;
+ Chose to delete 0KB: 0 of 0 candidates;
+ 0KB of chosen data is illplaced or illreplicated;
+Predicted Data Pool Utilization in KB and %:
+sp1     99864   140095488       0.071283%
+system  2541800 140095488       1.814334%
+.fi
+.sp
+.HP 3
+2. This command applies a policy immediately:
+.sp
+.nf
+mmapplypolicy fs1 -L 2
+.fi
+.sp
+The system displays output similar to:
+.sp
+.nf
+GPFS Current Data Pool Utilization in KB and %
+sp1     2196992 140095488       1.568210%
+system  444928  140095488       0.317589%
+Loaded policy rules from /var/mmfs/tmp/polFile.mmapplypolicy.19118.
+Evaluating MIGRATE/DELETE/EXCLUDE rules with\ 
+CURRENT_TIMESTAMP = 2006-03-16@20:06:25 UTC
+parsed 2 Placement Rules, 2 Migrate/Delete/Exclude Rules
+Directories scan: 7 files, 2 directories, 0 other objects,\ 
+0 'skipped' files and/or errors.
+Inodes scan: 7 files, 0 'skipped' files and/or errors.
+Summary of Rule Applicability and File Choices:
+ Rule#  Hit_Cnt Chosen  KB_Chosen  KB_Ill  Rule
+  0     3       3       2097160    0\ 
+RULE 'migrate to system' MIGRATE FROM POOL 'sp1' TO POOL 'system'
+  1     4       4       32         0\ 
+RULE 'migrate to sp1' MIGRATE FROM POOL 'system' TO POOL 'sp1'
+GPFS Policy Decisions and File Choice Totals:
+ Chose to migrate 2097192KB: 7 of 7 candidates;
+ Chose to delete 0KB: 0 of 0 candidates;
+ 0KB of chosen data is illplaced or illreplicated;
+Predicted Data Pool Utilization in KB and %:
+sp1     99864   140095488       0.071283%
+system  2542056 140095488       1.814517%
+MIGRATED /fs1/file.2 TO POOL sp1
+MIGRATED /fs1/file.1 TO POOL sp1
+MIGRATED /fs1/mydir/tmp.0 TO POOL system
+MIGRATED /fs1/mydir/file.0 TO POOL sp1
+MIGRATED /fs1/file.0 TO POOL sp1
+MIGRATED /fs1/tmp.2 TO POOL system
+MIGRATED /fs1/tmp.1 TO POOL system
+A total of 7 files have been migrated and/or deleted;\ 
+0 'skipped' files and/or errors.
+.fi
+.sp
+.HP 3
+3. Additional examples of GPFS policies and using the \fBmmapplypolicy\fR
+command are in the chapter
+\fIPolicy-based data management for
+GPFS\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.RE
+.SH "See also"
+.PP
+mmchpolicy Command
+.PP
+mmlspolicy Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmauth.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmauth.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmauth.8	(revision 16)
@@ -0,0 +1,455 @@
+.TH mmauth 02/16/06
+mmauth Command
+.SH "Name"
+.PP
+\fBmmauth\fR - Manages secure access to GPFS file systems.
+.SH "Synopsis"
+.PP
+\fBmmauth\fR \fBgenkey {new | commit}\fR
+.PP
+Or,
+.PP
+\fBmmauth\fR \fBadd\fR \fIRemoteClusterName\fR \fB-k\fR
+\fIKeyFile\fR \fB-l\fR \fICipherList\fR
+.PP
+Or,
+.PP
+\fBmmauth\fR \fBupdate\fR \fIRemoteClusterName\fR \fB-C\fR
+\fINewClusterName\fR \fB-k\fR \fIKeyFile\fR [\fB-l\fR
+\fICipherList\fR]
+.PP
+Or,
+.PP
+\fBmmauth\fR \fBdelete\fR \fB{\fR\fIRemoteClusterName\fR \fB|
+all }\fR
+.PP
+Or,
+.PP
+\fBmmauth\fR \fBgrant \fR \fB{\fR\fIRemoteClusterName\fR
+\fB| all }\fR \fB-f {\fR \fIDevice\fR \fB| all }\fR \fB[-a {\fB\fIrw\fR\fR | ro}\fR \fB] [-r
+{\fR\fIuid\fR\fB:\fR\fIgid\fR | \fB\fIno\fR\fR\fB}]\fR
+.PP
+Or,
+.PP
+\fBmmauth\fR \fBdeny\fR \fB{\fR\fIRemoteClusterName\fR
+\fB| all }\fR \fB-f {\fR \fIDevice\fR \fB| all }\fR
+.PP
+Or,
+.PP
+\fBmmauth\fR \fBshow\fR [\fIRemoteClusterName\fR \fB|
+all\fR]
+.SH "Description"
+.PP
+The \fBmmauth\fR command prepares a cluster to grant secure access to file
+systems owned locally. The \fBmmauth\fR command also prepares a
+cluster to receive secure access to file systems owned by another
+cluster. Use the \fBmmauth\fR command to generate a public/private
+key pair for the local cluster. A public/private key pair must be
+generated on both the cluster owning the file system and the cluster desiring
+access to the file system. The administrators of the clusters are
+responsible for exchanging the public portion of the public/private key
+pair. Use the \fBmmauth\fR command to add or delete permission for a
+cluster to mount file systems owned by the local cluster.
+.PP
+When a cluster generates a new public/private key pair,
+administrators of clusters participating in remote file system mounts are
+responsible for exchanging their respective public key file
+\fB/var/mmfs/ssl/id_rsa.pub\fR generated by this
+command.
+.PP
+The administrator of a cluster desiring to mount a file system from another
+cluster must provide the received key file as input to the \fBmmremotecluster\fR command. The administrator
+of a cluster allowing another cluster to mount a file system must provide the
+received key file to the \fBmmauth\fR command.
+.PP
+The keyword appearing after \fBmmauth\fR determines which action is
+performed:
+.PP
+.RS +3
+\fBadd
+\fR
+.RE
+.RS +9
+Adds a cluster and its associated public key to the list of clusters
+authorized to connect to this cluster for the purpose of mounting file systems
+owned by this cluster.
+.RE
+.PP
+.RS +3
+\fBdelete
+\fR
+.RE
+.RS +9
+Deletes a cluster and its associated public key from the list of clusters
+authorized to mount file systems owned by this cluster.
+.RE
+.PP
+.RS +3
+\fBdeny
+\fR
+.RE
+.RS +9
+Denies a cluster the authority to mount a specific file system owned by
+this cluster.
+.RE
+.PP
+.RS +3
+\fBgenkey {new | commit}
+\fR
+.RE
+.RS +9
+.PP
+.RS +3
+\fBnew
+\fR
+.RE
+.RS +9
+Generates a new public/private key pair for this cluster. The key
+pair is placed in \fB/var/mmfs/ssl\fR. This must be done at least
+once before \fBcipherList\fR, the GPFS configuration parameter that enables
+GPFS with OpenSSL, is set. 
+.PP
+The new key is in addition to the currently in effect committed
+key. Both keys are accepted until the administrator runs \fBmmauth
+genkey commit\fR.
+.RE
+.PP
+.RS +3
+\fBcommit
+\fR
+.RE
+.RS +9
+Commits the new public/private key pair for this cluster. Once
+\fBmmauth genkey commit\fR is run, the old key pair will no longer be
+accepted, and remote clusters that have not updated their keys (by running
+\fBmmauth update\fR or
+\fBmmremotecluster
+update\fR) will be disconnected.
+.RE
+.RE
+.PP
+.RS +3
+\fBgrant
+\fR
+.RE
+.RS +9
+Allows a cluster to mount a specific file system owned by this
+cluster.
+.RE
+.PP
+.RS +3
+\fBshow
+\fR
+.RE
+.RS +9
+Shows the list of clusters authorized to mount file system owned by this
+cluster.
+.RE
+.PP
+.RS +3
+\fBupdate
+\fR
+.RE
+.RS +9
+Updates the public key and other information associated with a cluster
+authorized to mount file systems owned by this cluster.
+.PP
+When the local cluster name (or ".") is specified, \fBmmauth update
+-l\fR can be used to set the \fIcipherList\fR value for the local
+cluster. Note that you cannot use this command to change the name of
+the local cluster. Use the
+\fBmmchcluster\fR
+command for this purpose.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIRemoteClusterName\fR
+\fR
+.RE
+.RS +9
+Specifies the remote cluster name requesting access to local GPFS file
+systems. The value \fBall\fR indicates all remote clusters defined
+to the local cluster.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a {\fB\fIrw\fR\fR | ro}
+\fR
+.RE
+.RS +9
+The type of access allowed:
+.PP
+.RS +3
+\fBro
+\fR
+.RE
+.RS +9
+Specifies read-only access.
+.RE
+.PP
+.RS +3
+\fBrw
+\fR
+.RE
+.RS +9
+Specifies read/write access. This is the default.
+.RE
+.RE
+.PP
+.RS +3
+\fB-C \fINewClusterName\fR
+\fR
+.RE
+.RS +9
+Specifies a new, fully-qualified cluster name for the already-defined
+cluster \fIremoteClusterName\fR.
+.RE
+.PP
+.RS +3
+\fB-f \fIDevice \fR
+\fR
+.RE
+.RS +9
+The device name for a file system owned by this cluster. The
+\fIDevice \fR argument is required. If \fBall\fR is specified,
+the command applies to all file systems owned by this cluster at the time that
+the command is issued.
+.RE
+.PP
+.RS +3
+\fB-k \fIKeyFile\fR
+\fR
+.RE
+.RS +9
+Specifies the public key file generated by the \fBmmauth\fR
+command in the cluster requesting to remotely mount the local GPFS file
+system.
+.RE
+.PP
+.RS +3
+\fB-l \fICipherList\fR
+\fR
+.RE
+.RS +9
+Specifies the cipher list to be associated with the cluster specified by
+\fIremoteClusterName\fR, when connecting to this cluster for the purpose of
+mounting file systems owned by this cluster.
+.PP
+See the Frequently Asked Questions at: publib.boulder.ibm.com/infocenter/
+clresctr/topic/com.ibm.cluster.gpfs.doc/gpfs_faqs/
+gpfsclustersfaq.html for a list of the ciphers supported by GPFS.
+.RE
+.PP
+.RS +3
+\fB-r {\fIuid\fR:\fIgid\fR | \fB\fIno\fR\fR}
+\fR
+.RE
+.RS +9
+Specifies a root credentials remapping (\fIroot squash\fR)
+option. The UID and GID of all processes with root credentials from the
+remote cluster will be remapped to the specified values. 
+.PP
+The default is not to remap the root UID and GID. The \fIuid\fR
+and \fIgid\fR must be specified as unsigned integers or as symbolic names
+that can be resolved by the operating system to a valid UID and GID.
+Specifying \fBno\fR, \fBoff\fR, or \fBDEFAULT\fR turns off the
+remapping.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion. After a successful completion of the
+\fBmmauth\fR command, the configuration change request will have been
+propagated to all nodes in the cluster.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmauth\fR command.
+.PP
+You may issue the \fBmmauth\fR command from any node in the GPFS
+cluster.
+.SH "Examples"
+.RS +3
+.HP 3
+1. This is an example of an \fB mmauth genkey new\fR command:
+.sp
+.nf
+ mmauth genkey new
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+Generating RSA private key, 512 bit long modulus
+\&.\&.\&..........++++++++++++.++++++++++++
+e is 65537 (0x10001)
+mmauth: Command successfully completed
+mmauth: Propagating the cluster configuration data to all 
+affected nodes. This is an asynchronous process.
+.fi
+.sp
+.HP 3
+2. This is an example of an \fB mmauth genkey commit\fR
+command:
+.sp
+.nf
+ mmauth genkey commit
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmauth: Command successfully completed
+mmauth: Propagating the cluster configuration data to all 
+affected nodes. This is an asynchronous process.
+.fi
+.sp
+.HP 3
+3. This is an example of an \fB mmauth add\fR command:
+.sp
+.nf
+mmauth add clustA.kgn.ibm.com -k /u/admin/keys/clustA.pub\ 
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmauth: Propagating the changes to all affected nodes.
+This is an asynchronous process.
+.fi
+.sp
+.HP 3
+4. This is an example of an \fB mmauth update\fR command:
+.sp
+.nf
+mmauth update clustA.kgn.ibm.com -k /u/admin/keys/clustA_new.pub\ 
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmauth: Propagating the changes to all affected nodes.
+This is an asynchronous process.
+.fi
+.sp
+.HP 3
+5. This is an example of an \fBmmauth grant\fR command:
+.sp
+.nf
+mmauth grant clustA.kgn.ibm.com -f /dev/gpfs1 -a ro
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmauth:Propagating the changes to all affected nodes.
+This is an asynchronous process.
+.fi
+.sp
+.HP 3
+6. This is an example on how to set or change the cipher list for the
+local cluster:
+.sp
+.nf
+mmauth update . -l NULL-SHA
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmauth: Command successfully completed
+mmauth: Propagating the changes to all affected nodes.
+This is an asynchronous process.
+.fi
+.sp
+.HP 3
+7. This is an example of an \fBmmauth show\fR command:
+.sp
+.nf
+mmauth show all
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+Cluster name:        clustA.kgn.ibm.com
+Cipher list:         NULL-SHA
+SHA digest:          a3917c8282fca7a27d951566940768dcd241902b
+File system access:  gpfs1 (ro)\ 
+.fi
+.sp
+.sp
+.nf
+Cluster name:        clustB.kgn.ibm.com (this cluster)
+Cipher list:         NULL-SHA
+SHA digest:          6ba5e3c1038246fe30f3fc8c1181fbb2130d7a8a
+SHA digest (new):    3c1038246fe30f3fc8c1181fbb2130d7a8a9ab4d
+File system access:  (all rw)
+.fi
+.sp
+.sp
+For \fBclustB.kgn.ibm.com\fR, the \fBmmauth
+genkey new\fR command has been issued, but the \fBmmauth genkey commit\fR
+command has not yet been issued.
+.sp
+For more information on the SHA digest, see
+\fIGeneral Parallel File System: Problem
+Determination Guide\fR and search on \fISHA digest\fR.
+.HP 3
+8. This is an example of an \fBmmauth deny\fR command: 
+.sp
+.nf
+mmauth deny clustA.kgn.ibm.com -f all
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmauth:Propagating the changes to all affected nodes.
+This is an asynchronous process.
+.fi
+.sp
+.HP 3
+9. This is an example of an \fBmmauth delete\fR command:
+.sp
+.nf
+mmauth delete all
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmauth: Propagating the changes to all affected nodes.
+This is an asynchronous process.
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmremotefs Command
+.PP
+mmremotecluster Command
+.PP
+\fIAccessing GPFS file systems from other
+GPFS clusters\fR in
+\fIGeneral Parallel
+File System: Advanced Administration Guide\fR.
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmbackup.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmbackup.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmbackup.8	(revision 16)
@@ -0,0 +1,270 @@
+.TH mmbackup 03/02/06
+mmbackup Command
+.SH "Name"
+.PP
+\fBmmbackup\fR - Backs up a GPFS file system to a backup
+server.
+.SH "Synopsis"
+.PP
+\fBmmbackup\fR \fIDevice\fR \fB-n\fR \fIControlFile\fR
+[\fB-t\fR {\fBfull\fR | \fB\fIincremental\fR\fR}] \fB[-s
+\fR\fISortDir\fR\fB]\fR
+.PP
+Or,
+.PP
+\fBmmbackup\fR \fIDevice\fR \fB-R\fR \fB[-s
+\fR\fISortDir\fR\fB]\fR
+.SH "Description"
+.PP
+Use the \fBmmbackup\fR command to backup a GPFS file system to a backup 
+server. mmbackup takes a temporary snapshot named \fB.mmbuSnapshot\fR of 
+the specified file system, and backs up this snapshot to a back end  
+data store.
+Accordingly, the files backed up by the command will be stored in the directory
+\fB/<Device>/.snapshots/.mmbuSnapshot\fR in the remote data store.
+The command may be issued from any GPFS node in the cluster to
+which the file system being backed up belongs, and on which the file system is
+mounted.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name for the file system to be backed up. This must be
+the first parameter and must be fully-qualified, such as
+\fB/dev/fs0\fR. The device name must be specified; there is no
+default value.
+.RE
+.PP
+.RS +3
+\fB-n \fIControlFile\fR
+\fR
+.RE
+.RS +9
+Specifies the file containing the backup control information. The
+file must be in the present working directory or the path must be fully
+qualified. Each piece of control information must be on a separate line
+and correctly qualified. Comment lines are allowed and must begin with
+a \fB#\fR in column 1. Empty lines may not contain any blank
+characters. Valid lines either contain a \fB#\fR in column 1
+indicating a comment, an \fB=\fR indicating a value is being set, or no
+characters at all.
+.PP
+This option may be specified only if the backup type is \fBfull\fR or
+\fBincremental\fR. If the \fB-R\fR option has been specified,
+this information is obtained from the control information specified on the
+earlier full or incremental \fBmmbackup\fR command that completed with
+partial success.
+.PP
+The allowable qualifiers in the control file are:
+.PP
+.RS +3
+\fB\fIserverName\fR
+\fR
+.RE
+.RS +9
+The name of the node specified as the backup server qualified with
+\fBserverName=\fR. The backup server node may or may not be a GPFS
+node, although performance may be improved if it is also a backup client
+node. You may specify only one backup server.
+.RE
+.PP
+.RS +3
+\fB\fIclientName\fR
+\fR
+.RE
+.RS +9
+The backup clients, one per line, qualified with
+\fBclientName=\fR. The backup client nodes must be a member of the
+GPFS cluster where the file system is mounted. For improved performance
+it is suggested that multiple backup client nodes be specified. The
+maximum number of backup clients supported is 32.
+.RE
+.PP
+.RS +3
+\fB\fInumberOfProcessesPerClient\fR
+\fR
+.RE
+.RS +9
+The number of processes per client qualified with
+\fBnumberOfProcessesPerClient=\fR. The number of processes per
+client may be specified only once.
+.RE
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-R
+\fR
+.RE
+.RS +9
+Indicates to resume the previous backup that failed with a return code of
+1 (partial success). If the previous backup failed with a return code
+of 2 or succeeded with a return code of 0, this option does not succeed and a
+new full or incremental backup must be initiated.
+.RE
+.PP
+.RS +3
+\fB-s \fISortDir\fR
+\fR
+.RE
+.RS +9
+Specifies the directory to be used by the \fBsort\fR command for
+temporary data. The default is \fB/tmp\fR.
+.RE
+.PP
+.RS +3
+\fB-t {\fBfull\fR | \fB\fIincremental\fR\fR}
+\fR
+.RE
+.RS +9
+Specifies whether to perform a full backup of all of the files in the file
+system, or an incremental backup of only those files that have changed since
+the last backup was performed. The default is to perform an incremental
+backup. The default is \fB-t incremental\fR.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fB1
+\fR
+.RE
+.RS +9
+Partially successful completion. Not all of the eligible files were
+successfully backed up. The command may be resumed by specifying the
+\fB-R\fR option.
+.RE
+.PP
+.RS +3
+\fB2
+\fR
+.RE
+.RS +9
+A failure occurred that cannot be corrected by resuming the backup.
+A new backup must be initiated.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmbackup\fR command.
+.PP
+You may issue the \fBmmbackup\fR command from any node in the cluster
+where the file system being backed up is mounted.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly-configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+These examples use a control file named \fBinputctrl32\fR, which
+specifies a backup server, three backup clients, and two processes per client
+as shown here:
+.sp
+.nf
+# backup server
+serverName=k145n06.kgn.ibm.com
+# backup clients
+clientName=k14n04.kgn.ibm.com
+clientName=k14n05.kgn.ibm.com
+clientName=k14n06.kgn.ibm.com
+# number of processes per client
+numberOfProcessesPerClient=2
+.fi
+.sp
+.RS +3
+.HP 3
+1. To perform a full backup of the file system \fB/dev/fs0\fR from node
+\fBk145n04\fR, issue this command:
+.sp
+.nf
+mmbackup /dev/fs0 -n inputctrl32 -t full
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Tue Mar 18 14:03:25 est 2003 mmbackup is still running ...
+Tue Mar 18 14:05:55 est 2003 mmbackup is still running ...
+tsbackup: full backup finished with complete successs, rc = 0
+mmbackup: Command successfully completed
+.fi
+.sp
+.HP 3
+2. To perform an incremental backup of the file system \fB/dev/fs0\fR from
+node \fBk145n04\fR, issue this command:
+.sp
+.nf
+mmbackup /dev/fs0 -n inputctrl32 -t incremental
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Tue Mar 18 14:16:15 est 2003 mmbackup is still running ...
+tsbackup: incremental backup finished with complete success,
+          rc = 0
+mmbackup: Command successfully completed
+.fi
+.sp
+.HP 3
+3. In an unsuccessful attempt to perform a full backup of the file system
+\fB/dev/fs0\fR from node \fBk145n04\fR, where the user had issued this
+command:
+.sp
+.nf
+mmbackup /dev/fs0 -n inputctrl32 -t full
+.fi
+.sp
+the system displays information similar to:
+.sp
+.nf
+k145n04.kgn.ibm.com: Cannot open /fs0/.mmbuTrans2.
+Process 2 on client k145n06 failed in processing its list of
+         files.
+k145n04.kgn.ibm.com: Cannot open /fs0/.mmbuTrans5.
+Process 5 on client k145n06 failed in processing its list of
+         files.
+tsbackup: full backup finished with partial success, rc = 1
+mmbackup: 6027-1639 Command failed. Examine previous error
+           messages to determine the cause.
+.fi
+.sp
+.HP 3
+4. To resume the job unsuccessfully completed in example 3, issue this
+command:
+.sp
+.nf
+mmbackup /dev/fs0 -R
+tsbackup: resume of full backup finished with complete success,
+          rc=0
+mmbackup: Command successfully completed
+.fi
+.sp
+.RE
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmchcluster.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmchcluster.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmchcluster.8	(revision 16)
@@ -0,0 +1,281 @@
+.TH mmchcluster 02/16/06
+mmchcluster Command
+.SH "Name"
+.PP
+\fBmmchcluster\fR - Changes GPFS cluster configuration data.
+.SH "Synopsis"
+.PP
+\fBmmchcluster\fR {[\fB-p\fR \fIPrimaryServer\fR]
+[\fB-s\fR \fISecondaryServer\fR]}
+.PP
+Or,
+.PP
+\fBmmchcluster\fR \fB-p\fR \fBLATEST\fR
+.PP
+Or,
+.PP
+\fBmmchcluster\fR {[\fB-r\fR \fIRemoteShellCommand\fR]
+[\fB-R\fR \fIRemoteFileCopyCommand\fR]}
+.PP
+Or,
+.PP
+\fBmmchcluster\fR \fB-C\fR \fIClusterName\fR
+.PP
+Or,
+.PP
+\fBmmchcluster\fR \fB-N
+{\fR\fINodeDesc\fR[,\fINodeDesc\fR...] |
+\fINodeFile\fR\fB}\fR
+.SH "Description"
+.PP
+The \fBmmchcluster\fR command serves several purposes: 
+.RS +3
+.HP 3
+1. Change the primary or secondary GPFS cluster configuration server.
+.HP 3
+2. Synchronize the primary GPFS cluster configuration server.
+.HP 3
+3. Change the remote shell and remote file copy programs to be used by the
+nodes in the cluster.
+.HP 3
+4. Change the cluster name.
+.HP 3
+5. Specify node interfaces to be used by the GPFS administration
+commands.
+.RE
+.PP
+To display current system information for the cluster, issue the \fBmmlscluster\fR command.
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.PP
+When issuing the \fBmmchcluster\fR command with the \fB-p\fR
+or \fB-s\fR flags, the nodes specified for these parameters must be
+available in order for the command to succeed. If any of the nodes
+listed are not available when the command is issued, a message listing those
+nodes is displayed. You must correct the problem on each node and
+reissue the command.
+.PP
+\fBAttention:\fR The \fBmmchcluster\fR command, when issued with
+either the \fB-p\fR or \fB-s\fR option, is designed to operate in an
+environment where the current primary and secondary cluster configuration
+servers are \fInot\fR available. As a result, the command can run
+without obtaining its regular serialization locks. To assure smooth
+transition to a new cluster configuration server, no other GPFS commands
+(\fBmm\fR commands) should be running when the command is issued, nor
+should any other command be issued until the \fBmmchcluster\fR command has
+successfully completed.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fB-C\fR \fIClusterName\fR
+\fR
+.RE
+.RS +9
+Specifies a new name for the cluster. If the user-provided name
+contains dots, it is assumed to be a fully qualified domain name.
+Otherwise, to make the cluster name unique, the domain of the primary
+configuration server will be appended to the user-provided name. 
+.PP
+Since each cluster is managed independently, there is no automatic
+coordination and propagation of changes between clusters like there is between
+the nodes within a cluster. This means that if you change the name of
+the cluster, you should notify the administrators of all other GPFS clusters
+that can mount your file systems so that they can update their own
+environments. See the
+\fBmmauth\fR, \fBmmremotecluster\fR, and \fBmmremotefs\fR commands.
+.RE
+.PP
+.RS +3
+\fB\fB-N {\fR\fINodeDesc\fR[,\fINodeDesc\fR...]
+| \fINodeFile\fR\fB}\fR
+\fR
+.RE
+.RS +9
+Specifies a list or file of node descriptors specifying node names for use
+by the GPFS administration commands.
+.PP
+Each node descriptor has the following format:
+.sp
+.nf
+daemonNodeName::adminNodeName:
+.fi
+.sp
+.PP
+.RS +3
+\fB\fIDaemonNodeName\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the node to be used by GPFS daemon to daemon
+communication. The daemon node name may be specified as a short or long
+node name, an IP address, or a node number.
+.RE
+.PP
+.RS +3
+\fB\fIAdminNodeName\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the node to be used by GPFS administration commands
+when communicating between nodes. The admin node name must be specified
+as an IP address or a short or long node name that is resolved by the
+\fBhost\fR command to the desired IP address.
+.RE
+.RE
+.PP
+.RS +3
+\fB-p \fIPrimaryServer\fR
+\fR
+.RE
+.RS +9
+Change the primary server node for the GPFS cluster data. This may
+be specified as a short or long node name, an IP address, or a node
+number. 
+.PP
+\fBLATEST\fR - Synchronize all of the nodes in the GPFS cluster
+ensuring they are using the most recently specified primary GPFS cluster
+configuration server. If an invocation of the \fBmmchcluster\fR
+command fails, you are prompted to reissue the command and specify
+\fBLATEST\fR on the \fB-p\fR option to synchronize all of the nodes in
+the GPFS cluster. Synchronization provides for all nodes in the GPFS
+cluster to use the most recently specified primary GPFS cluster configuration
+server.
+.RE
+.PP
+.RS +3
+\fB-s \fISecondaryServer\fR
+\fR
+.RE
+.RS +9
+Change the secondary server node for the GPFS cluster data. To
+remove the secondary GPFS server and continue operating without it, specify a
+null string, \fB"\fR\fB"\fR, as the parameter. This may
+be specified as a short or long nodename, an IP address, or a node
+number.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-R \fIRemoteFileCopy\fR
+\fR
+.RE
+.RS +9
+Specifies the fully-qualified path name for the remote file copy program
+to be used by GPFS.
+.PP
+The remote copy command must adhere to the same syntax format as the
+\fBrcp\fR command, but may implement an alternate authentication
+mechanism.
+.RE
+.PP
+.RS +3
+\fB-r \fIRemoteShellCommand\fR
+\fR
+.RE
+.RS +9
+Specifies the fully-qualified path name for the remote shell program to be
+used by GPFS.
+.PP
+The remote shell command must adhere to the same syntax format as the
+\fBrsh\fR command, but may implement an alternate authentication
+mechanism.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmchcluster\fR
+command.
+.PP
+You may issue the \fBmmchcluster\fR command from any node in the GPFS
+cluster.
+.PP
+A properly configured \fB.rhosts\fR file must exist in the root
+user's home directory on each node in the GPFS cluster. If you
+have designated the use of a different remote communication program on either
+the
+\fBmmcrcluster\fR or the \fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To change the primary GPFS server for the cluster, issue this
+command:
+.sp
+.nf
+mmchcluster -p k164n06
+.fi
+.sp
+.PP
+The system displays output similar to:
+.sp
+.nf
+mmchcluster: Command successfully completed
+.fi
+.sp
+.PP
+To confirm the change, issue this command:
+.sp
+.nf
+mmlscluster
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+GPFS cluster information
+========================
+  GPFS cluster name:       cluster1.kgn.ibm.com
+  GPFS cluster id:         680681562214606028
+  GPFS UID domain:         cluster1.kgn.ibm.com
+  Remote shell command:      /usr/bin/rsh
+  Remote file copy command:  /usr/bin/rcp
+GPFS cluster configuration servers:
+-----------------------------------
+  Primary server:    k164n06.kgn.ibm.com
+  Secondary server:  k164n05.kgn.ibm.com
+Node  Daemon node name   IP address   Admin node name    Designation
+--------------------------------------------------------------------
+ 1  k164n04.kgn.ibm.com  198.117.68.68   k164n04.kgn.ibm.com  quorum
+ 2  k164n05.kgn.ibm.com  198.117.68.71   k164n05.kgn.ibm.com  quorum
+ 3  k164n06.kgn.ibm.com  198.117.68.70   k164sn06.kgn.ibm.com
+.fi
+.sp
+.SH "See also"
+.PP
+mmaddnode Command
+.PP
+mmcrcluster Command
+.PP
+mmdelnode Command
+.PP
+mmlscluster Command
+.PP
+mmremotecluster Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmchconfig.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmchconfig.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmchconfig.8	(revision 16)
@@ -0,0 +1,633 @@
+.TH mmchconfig 12/01/06
+mmchconfig Command
+.SH "Name"
+.PP
+\fBmmchconfig\fR - Changes GPFS configuration parameters.
+.SH "Synopsis"
+.PP
+\fBmmchconfig\fR
+\fIAttribute\fR=\fIvalue\fR[,\fIAttribute\fR=\fIvalue\fR...]
+[\fB-i\fR | \fB-I\fR]  [\fB-N
+{\fR\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}]
+.SH "Description"
+.PP
+Use the \fBmmchconfig\fR command to change the GPFS configuration
+attributes on a single node, a set of nodes, or globally for the entire
+cluster.
+.PP
+The \fIAttribute\fR=\fIvalue\fR flags must come before any
+operand.
+.PP
+When changing both \fBmaxblocksize\fR and \fBpagepool\fR, the command
+fails unless these conventions are followed:
+.RS +3
+.HP 3
+\(bu When increasing the values, \fBpagepool\fR must be specified
+first.
+.HP 3
+\(bu When decreasing the values, \fBmaxblocksize\fR must be specified
+first.
+.RE
+.PP
+\fBResults\fR
+.PP
+The configuration is updated on each node in the GPFS cluster.
+.SH "Parameters"
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Specifies the set of nodes to which the configuration changes
+apply. 
+.PP
+The \fB-N\fR flag is valid only for the \fBautomountDir\fR,
+\fBdataStructureDump\fR, \fBdesignation\fR, \fBdmapiEventTimeout\fR,
+\fBdmapiMountTimeout\fR, \fBdmapiSessionFailureTimeout\fR,
+\fBmaxblocksize\fR, \fBmaxFilesToCache\fR, \fBmaxStatCache\fR,
+\fBnsdServerWaitTimeWindowOnMount\fR, \fBnsdServerWaitTimeForMount\fR,
+\fBpagepool\fR, \fBprefetchThreads\fR, \fBunmountOnDiskFail\fR, and
+\fBworker1Threads\fR attributes.
+.PP
+This command does not support a \fINodeClass\fR of
+\fBmount\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB\fIAttribute\fR 
+\fR
+.RE
+.RS +9
+The name of the attribute to be changed to the specified
+\fIvalue\fR. More than one attribute and value pair, in a
+comma-separated list, can be changed with one invocation of the
+command.
+.PP
+To restore the GPFS default setting for any given attribute, specify
+\fBDEFAULT\fR as its \fIvalue\fR.
+.RE
+.PP
+.RS +3
+\fBautoload
+\fR
+.RE
+.RS +9
+Starts GPFS automatically whenever the nodes are rebooted. Valid
+values are \fByes\fR or \fBno\fR.
+.RE
+.PP
+.RS +3
+\fBautomountdir
+\fR
+.RE
+.RS +9
+Specifies the directory to be used by the Linux automounter for
+GPFS file systems that are being automatically mounted. The default
+directory is \fB/gpfs/myautomountdir\fR. This parameter does not
+apply to AIX environments.
+.RE
+.PP
+.RS +3
+\fBcipherList
+\fR
+.RE
+.RS +9
+Controls whether GPFS network communications are secured. If
+\fBcipherList\fR is not specified, or if the value \fBDEFAULT\fR is
+specified, GPFS does not authenticate or check authorization for network
+connections. If the value \fBAUTHONLY\fR is specified, GPFS does
+authenticate and check authorization for network connections, but data sent
+over the connection is not protected. Before setting
+\fBcipherList\fR for the first time, you must establish a public/private
+key pair for the cluster by using the \fBmmauth genkey new\fR
+command.
+.PP
+See the Frequently Asked Questions at:
+publib.boulder.ibm.com/infocenter/
+clresctr/topic/com.ibm.cluster.gpfs.doc/gpfs_faqs/gpfsclustersfaq.html
+for a list of the ciphers supported by GPFS.
+.RE
+.PP
+.RS +3
+\fBdataStructureDump
+\fR
+.RE
+.RS +9
+Specifies a path for the storage of dumps. The default is to store
+dumps in \fB/tmp/mmfs\fR. Specify \fBno\fR to not store
+dumps. 
+.PP
+It is suggested that you create a directory for the placement of certain
+problem determination information. This can be a symbolic link to
+another location if more space can be found there. Do not place it in a
+GPFS file system, because it might not be available if GPFS fails. If a
+problem occurs, GPFS may write 200 MB or more of problem determination data
+into the directory. These files must be manually removed when problem
+determination is complete. This should be done promptly so that a
+\fBNOSPACE\fR condition is not encountered if another failure
+occurs.
+.RE
+.PP
+.RS +3
+\fBdesignation
+\fR
+.RE
+.RS +9
+Specifies a '-' separated list of node roles.
+.RS +3
+.HP 3
+\(bu \fBmanager\fR or \fBclient\fR - Indicates whether a node is
+part of the pool of nodes from which configuration managers, file system
+managers, and token managers are selected.
+.HP 3
+\(bu \fBquorum\fR or \fBnonquorum\fR - Indicates whether a node is to be
+counted as a quorum node.
+.RE
+.PP
+GPFS must be stopped on any quorum node that is being changed to
+nonquorum. GPFS does not have to stopped when the designation changes
+from nonquorum to quorum.
+.PP
+For more information on the roles of a node as the file system manager, see
+the \fIGeneral Parallel File System: Concepts, Planning, and
+Installation Guide\fR and search for \fIfile system manager\fR.
+.PP
+For more information on explicit quorum node designation, see the
+\fIGeneral Parallel File System: Concepts, Planning, and Installation
+Guide\fR and search for \fIdesignating quorum nodes\fR.
+.RE
+.PP
+.RS +3
+\fBdistributedTokenServer
+\fR
+.RE
+.RS +9
+Specifies whether the token server role for a file system should be
+limited to only the file system manager node (\fBno\fR), or distributed to
+other nodes for better file system performance (\fByes\fR). The
+default is \fByes\fR.
+.PP
+Using multiple token servers requires designating the nodes that should
+serve tokens as manager nodes (\fBmanager\fR keyword in the
+\fBmmcrcluster\fR node list or \fBmmchconfig
+designation=...\fR commands). If no manager
+nodes are designated, the node chosen as file system manager will act as the
+only token server, regardless of the setting of the
+\fBdistributedTokenServer\fR parameter.
+.PP
+The \fBmaxFilesToCache\fR and \fBmaxStatCache\fR parameters are
+indirectly affected by the \fBdistributedTokenServer\fR parameter, because
+distributing the tokens across multiple nodes may allow keeping more tokens
+than without this feature. See \fIGeneral Parallel File System:
+Concepts, Planning, and Installation Guide\fR and search on \fIThe GPFS
+token system's affect on cache settings\fR.
+.RE
+.PP
+.RS +3
+\fBdmapiEventTimeout
+\fR
+.RE
+.RS +9
+Controls the blocking of file operation threads of NFS, while in the
+kernel waiting for the handling of a DMAPI synchronous event. The
+parameter value is the maximum time, in milliseconds, the thread will
+block. When this time expires, the file operation returns
+\fBENOTREADY\fR, and the event continues asynchronously. The NFS
+server is expected to repeatedly retry the operation, which eventually will
+find the response of the original event and continue. This mechanism
+applies only to read, write, and truncate event types, and only when such
+events come from NFS server threads. The timeout value is given in
+milliseconds. The value 0 indicates immediate timeout (fully
+asynchronous event). A value greater than or equal to 86400000 (which
+is 24 hours) is considered \fIinfinity\fR (no timeout, fully synchronous
+event). The default value is 86400000.
+.PP
+For further information regarding DMAPI for GPFS, see \fIGeneral Parallel
+File System: Data Management API Guide\fR.
+.RE
+.PP
+.RS +3
+\fBdmapiMountTimeout
+\fR
+.RE
+.RS +9
+Controls the blocking of \fBmount\fR operations, waiting for a
+disposition for the mount event to be set. This timeout is activated,
+at most once on each node, by the first external mount of a file system that
+has DMAPI enabled, and only if there has never before been a mount
+disposition. Any \fBmount\fR operation on this node that starts
+while the timeout period is active will wait for the mount disposition.
+The parameter value is the maximum time, in seconds, that the \fBmount\fR
+operation will wait for a disposition. When this time expires and there
+is still no disposition for the mount event, the \fBmount\fR operation
+fails, returning the \fBEIO\fR error. The timeout value is given in
+full seconds. The value 0 indicates immediate timeout (immediate
+failure of the mount operation). A value greater than or equal to 86400
+(which is 24 hours) is considered \fIinfinity\fR (no timeout, indefinite
+blocking until the there is a disposition). The default value is
+60.
+.PP
+For further information regarding DMAPI for GPFS, see \fIGeneral Parallel
+File System: Data Management API Guide\fR.
+.RE
+.PP
+.RS +3
+\fBdmapiSessionFailureTimeout
+\fR
+.RE
+.RS +9
+Controls the blocking of file operation threads, while in the kernel,
+waiting for the handling of a DMAPI synchronous event that is enqueued on a
+session that has experienced a failure. The parameter value is the
+maximum time, in seconds, the thread will wait for the recovery of the failed
+session. When this time expires and the session has not yet recovered,
+the event is cancelled and the file operation fails, returning the
+\fBEIO\fR error. The timeout value is given in full seconds.
+The value 0 indicates immediate timeout (immediate failure of the file
+operation). A value greater than or equal to 86400 (which is 24 hours)
+is considered \fIinfinity\fR (no timeout, indefinite blocking until the
+session recovers). The default value is 0.
+.PP
+For further information regarding DMAPI for GPFS, see \fIGeneral Parallel
+File System: Data Management API Guide\fR.
+.RE
+.PP
+.RS +3
+\fBmaxblocksize
+\fR
+.RE
+.RS +9
+Changes the maximum file system block size. Valid values include 64
+KB, 256 KB, 512 KB, and 1024 KB. The default value is 1024 KB.
+Specify this value with the character \fBK\fR or \fBM\fR, for example
+512K.
+.PP
+File systems with block sizes larger than the specified value cannot be
+created or mounted unless the block size is increased.
+.RE
+.PP
+.RS +3
+\fBmaxFilesToCache
+\fR
+.RE
+.RS +9
+Specifies the number of inodes to cache for recently used files that have
+been closed. 
+.PP
+Storing a file's inode in cache permits faster re-access to the
+file. The default is 1000, but increasing this number may improve
+throughput for workloads with high file reuse. However, increasing this
+number excessively may cause paging at the file system manager node.
+The value should be large enough to handle the number of concurrently open
+files plus allow caching of recently used files.
+.RE
+.PP
+.RS +3
+\fBmaxMBpS
+\fR
+.RE
+.RS +9
+Specifies an estimate of how many megabytes of data can be transferred per
+second into or out of a single node. The default is 150 MB per
+second. The value is used in calculating the amount of I/O that can be
+done to effectively prefetch data for readers and write-behind data from
+writers. By lowering this value, you can artificially limit how much
+I/O one node can put on all of the disk servers. 
+.PP
+This is useful in environments in which a large number of nodes can overrun
+a few virtual shared disk servers. Setting this value too high usually
+does not cause problems because of other limiting factors, such as the size of
+the pagepool, the number of prefetch threads, and so forth.
+.RE
+.PP
+.RS +3
+\fBmaxStatCache
+\fR
+.RE
+.RS +9
+Specifies the number of inodes to keep in the stat cache. The stat
+cache maintains only enough inode information to perform a query on the file
+system. The default value is: 
+.PP
+\fB4 x maxFilesToCache\fR
+.RE
+.PP
+.RS +3
+\fBnsdServerWaitTimeForMount
+\fR
+.RE
+.RS +9
+When mounting a file system whose disks depend on NSD servers, this option
+specifies the number of seconds to wait for those servers to come up.
+The decision to wait is controlled by the criteria managed by the
+\fBnsdServerWaitTimeWindowOnMount\fR option.
+.PP
+Valid values are between 0 and 1200 seconds. The default is
+300. A value of zero indicates that no waiting is done. The
+interval for checking is 10 seconds. If
+\fBnsdServerWaitTimeForMount\fR is 0,
+\fBnsdServerWaitTimeWindowOnMount\fR has no effect.
+.PP
+The mount thread waits when the daemon delays for safe recovery. The
+mount wait for NSD servers to come up, which is covered by this option, occurs
+after expiration of the recovery wait allows the mount thread to
+proceed.
+.RE
+.PP
+.RS +3
+\fBnsdServerWaitTimeWindowOnMount
+\fR
+.RE
+.RS +9
+Specifies a window of time (in seconds) during which a mount can wait for
+NSD servers as described for the \fBnsdServerWaitTimeForMount\fR
+option. The window begins when quorum is established (at cluster
+startup or subsequently), or at the last known failure times of the NSD
+servers required to perform the mount. 
+.PP
+Valid values are between 1 and 1200 seconds. The default is
+600. If \fBnsdServerWaitTimeForMount\fR is 0,
+\fBnsdServerWaitTimeWindowOnMount\fR has no effect.
+.PP
+When a node rejoins the cluster after having been removed for any reason,
+the node resets all the failure time values that it knows about.
+Therefore, when a node rejoins the cluster it believes that the NSD servers
+have not failed. From the node's perspective, old failures are no
+longer relevant.
+.PP
+GPFS checks the cluster formation criteria first. If that check
+falls outside the window, GPFS then checks for NSD server fail times being
+within the window.
+.RE
+.PP
+.RS +3
+\fBpagepool
+\fR
+.RE
+.RS +9
+Changes the size of the cache on each node. The default value is 64
+M. The minimum allowed value is 4 M. The maximum allowed value
+depends on amount of the available physical memory and your operating
+system. Specify this value with the character \fBM\fR, for example,
+60M.
+.RE
+.PP
+.RS +3
+\fBprefetchThreads
+\fR
+.RE
+.RS +9
+Controls the maximum possible number of threads dedicated to prefetching
+data for files that are read sequentially, or to handle sequential
+write-behind. 
+.PP
+Functions in the GPFS daemon dynamically determine the actual degree of
+parallelism for prefetching data. The minimum value is 2. The
+default value is 72. The maximum value of \fBprefetchThreads\fR plus
+\fBworker1Threads\fR is: 
+.RS +3
+.HP 3
+\(bu On 32-bit kernels, 164
+.HP 3
+\(bu On 64-bit kernels, 550
+.RE
+.RE
+.PP
+.RS +3
+\fBsubnets
+\fR
+.RE
+.RS +9
+Specifies subnets used to communicate between nodes in a GPFS
+cluster.
+.PP
+Enclose the subnets in quotes and separate them by spaces. The order
+in which they are specified determines the order that GPFS uses these subnets
+to establish connections to the nodes within the cluster. For example,
+\fBsubnets="192.168.2.0"\fR refers to IP addresses
+192.168.2.0 through 192.168.2.255
+inclusive.
+.PP
+An optional list of cluster names may also be specified, separated by
+commas. The names may contain wild cards similar to those accepted by
+shell commands. If specified, these names override the list of private
+IP addresses. For example,
+\fBsubnets="10.10.10.0/remote.cluster;192.168.2.0"\fR.
+.PP
+This feature cannot be used to establish fault tolerance or automatic
+failover. If the interface corresponding to an IP address in the list
+is down, GPFS does not use the next one on the list. For more
+information about subnets, see \fIGeneral Parallel File System:
+Advanced Administration Guide\fR and search on \fIUsing remote access with
+public and private IP addresses\fR.
+.RE
+.PP
+.RS +3
+\fBtiebreakerDisks
+\fR
+.RE
+.RS +9
+Controls whether GPFS will use the node quorum with tiebreaker algorithm
+in place of the regular node based quorum algorithm. See \fIGeneral
+Parallel File System: Concepts, Planning, and Installation Guide\fR
+and search for \fInode quorum with tiebreaker\fR. To enable this
+feature, specify the names of one or three disks. Separate the NSD
+names with semicolon (;) and enclose the list in quotes. The disks
+do not have to belong to any particular file system, but must be directly
+accessible from the quorum nodes. For example:
+.sp
+.nf
+tiebreakerDisks="gpfs1nsd;gpfs2nsd;gpfs3nsd"\ 
+.fi
+.sp
+.PP
+To disable this feature, use: 
+.sp
+.nf
+tiebreakerDisks=no
+.fi
+.sp
+.PP
+When changing the \fBtiebreakerDisks\fR, GPFS must be down on all nodes
+in the cluster.
+.RE
+.PP
+.RS +3
+\fBuidDomain
+\fR
+.RE
+.RS +9
+Specifies the UID domain name for the cluster.
+.PP
+A detailed description of the GPFS user ID remapping convention is
+contained in \fI\fIUID Mapping for GPFS in a Multi-Cluster
+Environment\fR\fR at
+www.ibm.com/servers/eserver/clusters/library/wp_aix_lit.html.
+.RE
+.PP
+.RS +3
+\fBunmountOnDiskFail
+\fR
+.RE
+.RS +9
+Controls how the GPFS daemon will respond when a disk failure is
+detected. Valid values are \fByes\fR or \fBno\fR. 
+.PP
+When \fBunmountOnDiskFail\fR is set to \fBno\fR, the daemon marks the
+disk as failed and continues as long as it can without using the disk.
+All nodes that are using this disk are notified of the disk failure.
+The disk can be made active again by using the \fBmmchdisk\fR
+command. This is the suggested setting when metadata and data
+replication are used because the replica can be used until the disk is brought
+online again.
+.PP
+When \fBunmountOnDiskFail\fR is set to \fByes\fR, any disk failure
+will cause only the local node to force-unmount the file system that contains
+that disk. Other file systems on this node and other nodes continue to
+function normally, if they can. The local node can try and remount the
+file system when the disk problem has been resolved. This is the
+suggested setting when using SAN-attached disks in large multinode
+configurations, and when replication is not being used. This setting
+should also be used on a node that hosts \fBdescOnly\fR disks. See
+\fIEstablishing disaster recovery for your GPFS cluster\fR in
+\fIGeneral Parallel File System: Advanced Administration
+Guide\fR.
+.RE
+.PP
+.RS +3
+\fBworker1Threads
+\fR
+.RE
+.RS +9
+Controls the maximum number of concurrent file operations at any one
+instant. If there are more requests than that, the excess will wait
+until a previous request has finished.
+.PP
+The primary use is for: random read or write requests that cannot be
+prefetched, random I/O requests, or small file activity. The minimum
+value is 1. The default value is 48. The maximum value of
+\fBprefetchThreads\fR plus \fBworker1Threads\fR is: 
+.RS +3
+.HP 3
+\(bu On 32-bit kernels, 164
+.HP 3
+\(bu On 64-bit kernels, 550
+.RE
+.RE
+.PP
+.RS +3
+\fB-I
+\fR
+.RE
+.RS +9
+Specifies that the changes take effect immediately but do not persist when
+GPFS is restarted. This option is valid only for the
+\fBdataStructureDump\fR, \fBdmapiEventTimeout\fR,
+\fBdmapiSessionFailureTimeout\fR, \fBdmapiMountTimeoout\fR,
+\fBmaxMBpS\fR, \fBunmountOnDiskFail\fR, and \fBpagepool\fR
+attributes.
+.RE
+.PP
+.RS +3
+\fB-i
+\fR
+.RE
+.RS +9
+Specifies that the changes take effect immediately and are
+permanent. This option is valid only for the
+\fBdataStructureDump\fR, \fBdmapiEventTimeout\fR,
+\fBdmapiSessionFailureTimeout\fR, \fBdmapiMountTimeoout\fR,
+\fBmaxMBpS\fR, \fBunmountOnDiskFail\fR, and \fBpagepool\fR
+attributes.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmchconfig\fR command.
+.PP
+You may issue the \fBmmchconfig\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the \fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To change the maximum file system block size allowed to 512 KB, issue this
+command:
+.sp
+.nf
+mmchconfig maxblocksize=512K
+.fi
+.sp
+.PP
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsconfig
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+Configuration data for cluster cluster.kgn.ibm.com:
+-----------------------------------------------------------
+clusterName cluster.kgn.ibm.com
+clusterId 680681562216850737
+clusterType lc
+multinode yes
+autoload no
+useDiskLease yes
+maxFeatureLevelAllowed 901
+maxblocksize 512K
+File systems in cluster cluster.kgn.ibm.com:
+----------------------------------------------------
+/dev/fs1
+.fi
+.sp
+.SH "See also"
+.PP
+mmaddnode Command
+.PP
+mmcrcluster Command
+.PP
+mmdelnode Command
+.PP
+mmlsconfig Command
+.PP
+mmlscluster Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmchdisk.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmchdisk.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmchdisk.8	(revision 16)
@@ -0,0 +1,410 @@
+.TH mmchdisk 03/31/06
+mmchdisk Command
+.SH "Name"
+.PP
+\fBmmchdisk\fR - Changes state or parameters of one or more disks in
+a GPFS file system.
+.SH "Synopsis"
+.PP
+\fBmmchdisk\fR \fIDevice\fR {\fBsuspend\fR | \fBresume\fR |
+\fBstop\fR | \fBstart\fR | \fBchange\fR} \fB-d\fR
+"\fIDiskDesc\fR[;\fIDiskDesc\fR...]"
+[\fB-N\fR
+{\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}]
+.PP
+Or,
+.PP
+\fBmmchdisk\fR \fIDevice\fR {\fBresume\fR | \fBstart\fR}
+\fB-a\fR [\fB-N\fR
+{\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}]
+.SH "Description"
+.PP
+Use the \fBmmchdisk\fR command to change the state or the parameters of
+one or more disks in a GPFS file system.
+.PP
+The state of a disk is a combination of its status and availability, displayed
+with the
+\fBmmlsdisk\fR command. Disk status
+is normally either \fBready\fR or \fBsuspended\fR. A transitional
+status such as \fBreplacing\fR, \fBreplacement\fR, or \fBbeing
+emptied\fR might also appear if a disk is being deleted or replaced.
+A suspended disk is one that the user has decided not to place any new data
+on. Existing data on a suspended disk may still be read or
+updated. Typically, a disk is suspended prior to restriping a file
+system. Suspending a disk tells the \fBmmrestripefs\fR command that data is to be migrated
+off that disk. Disk availability is either \fBup\fR or
+\fBdown\fR.
+.PP
+Be sure to use \fBstop\fR before you take a disk offline for
+maintenance. You should also use \fBstop\fR when a disk has become
+temporarily inaccessible due to a disk failure that is repairable without loss
+of data on that disk (for example, an adapter failure or a failure of the disk
+electronics).
+.PP
+The \fIDisk Usage\fR (\fBdataAndMetadata\fR, \fBdataOnly\fR,
+\fBmetadataOnly\fR, or \fBdescOnly\fR) and \fIFailure Group\fR
+parameters of a disk are adjusted with the \fBchange\fR option. See
+the
+\fIGeneral Parallel File System:
+Concepts, Planning, and Installation Guide\fR and search for
+\fIrecoverability considerations\fR. The \fBmmchdisk change\fR
+command does not move data or metadata that resides on the disk. After
+changing disk parameters, in particular, \fIDisk Usage\fR, you may have to
+issue the
+\fBmmrestripefs\fR command with the
+\fB-r\fR option to relocate data so that it conforms to the new disk
+parameters.
+.PP
+The \fBmmchdisk\fR command can be issued for a mounted or unmounted file system.
+When maintenance is complete or the failure has been repaired, use the \fBmmchdisk\fR command with the start option.
+If the failure cannot be repaired without loss of data, you can use the \fBmmdeldisk\fR command. 
+.PP
+Note: 
+The \fBmmchdisk\fR command cannot be used to change the NSD servers associated with the disk.
+Use the \fBmmchnsd\fR command for this purpose.
+Similarly, the \fBmmchdisk\fR command cannot be used to change the storage pool for the disk.
+Use the \fBmmdeldisk\fR and \fBmmadddisk\fR commands to move a disk from one storage pool to another.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to which the disks belong. File
+system names need not be fully-qualified. \fBfs0\fR is as acceptable
+as \fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB-d "\fIDiskDesc\fR[;\fIDiskDesc\fR...
+]"
+\fR
+.RE
+.RS +9
+A descriptor for each disk to be changed. 
+.PP
+Specify only disk names when using the \fBsuspend\fR, \fBresume\fR,
+\fBstop\fR, or \fBstart\fR options. Delimit multiple disk names
+with semicolons and enclose the list in quotation marks. For example,
+"gpfs1nsd;gpfs2nsd"
+.PP
+When using the \fBchange\fR option, include the disk name and any new
+\fIDisk Usage\fR and \fIFailure Group\fR positional parameter values in
+the descriptor. Delimit descriptors with semicolons and enclose the
+list in quotation marks, for example,
+"gpfs1nsd:::dataOnly;gpfs2nsd:::metadataOnly:12"
+.PP
+A disk descriptor is defined as (second, third, sixth and sevents
+fields reserved):
+.sp
+.nf
+DiskName:::DiskUsage:FailureGroup:::
+.fi
+.sp
+.PP
+.RS +3
+\fB\fIDiskName\fR
+\fR
+.RE
+.RS +9
+.PP
+For a list of disks that belong to a particular file system, issue the \fBmmlsnsd -f\fR, the
+\fBmmlsfs
+-d\fR, or the
+\fBmmlsdisk\fR command.
+The
+\fBmmlsdisk\fR command will also show the current
+disk usage and failure group values for each of the disks.
+.RE
+.PP
+.RS +3
+\fB\fIDiskUsage\fR
+\fR
+.RE
+.RS +9
+If a value is not specified, the disk usage remains unchanged: 
+.PP
+.RS +3
+\fBdataAndMetadata
+\fR
+.RE
+.RS +9
+Indicates that the disk contains both data and metadata. This is
+the default.
+.RE
+.PP
+.RS +3
+\fBdataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains data and does not contain
+metadata.
+.RE
+.PP
+.RS +3
+\fBmetadataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains metadata and does not contain
+data.
+.RE
+.PP
+.RS +3
+\fBdescOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains no data and no file metadata. Such
+a disk is used solely to keep a copy of the file system descriptor, and can be
+used as a third failure group in certain disaster recovery
+configurations. For more information, see
+\fIGeneral Parallel File System: Advanced
+Administration\fR and search on \fISynchronous mirroring utilizing
+GPFS replication\fR.
+.RE
+.RE
+.PP
+.RS +3
+\fB\fIFailureGroup\fR
+\fR
+.RE
+.RS +9
+A number identifying the failure group to which this disk belongs.
+You can specify any value from -1 (where -1 indicates that the disk has no
+point of failure in common with any other disk) to 4000. If you do not
+specify a failure group, the value remains unchanged. GPFS uses this
+information during data and metadata placement to assure that no two replicas
+of the same block are written in such a way as to become unavailable due to a
+single disk failure. All disks that are attached to the same NSD server
+or adapter should be placed in the same failure group.
+.RE
+.RE
+.PP
+.RS +3
+\fB-a 
+\fR
+.RE
+.RS +9
+Specifies to change the state of all of the disks belonging to the file
+system, \fIDevice\fR. This operand is valid only on the
+\fBresume\fR and \fBstart\fR options.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] | \fINodeFile\fR | \fINodeClass\fR }
+\fR
+.RE
+.RS +9
+Specify the nodes to participate in the restripe of the file system after
+the state or parameters of the disks have been changed. This command
+supports all defined node classes. The default is \fBall\fR (all
+nodes in the GPFS cluster will participate in the restripe of the file
+system).
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fBchange
+\fR
+.RE
+.RS +9
+Instructs GPFS to change the \fIDisk Usage\fR parameter, the
+\fIFailure Group\fR parameter, or both, according to the values specified
+in the \fIDisk Desc\fR.
+.RE
+.PP
+.RS +3
+\fBresume
+\fR
+.RE
+.RS +9
+Informs GPFS that a disk previously suspended is now available for
+allocating new space. If the disk is currently in a stopped state, it
+remains stopped until you specify the \fBstart\fR option. Otherwise,
+normal read and write access to the disk resumes.
+.RE
+.PP
+.RS +3
+\fBstart
+\fR
+.RE
+.RS +9
+Informs GPFS that disks previously stopped are now accessible. This
+is accomplished by first changing the disk availability from \fBdown\fR to
+\fBrecovering\fR. The file system metadata is then scanned and any
+missing updates (replicated data that was changed while the disk was
+\fBdown\fR) are repaired. If this operation is successful, the
+availability is then changed to \fBup\fR. If the metadata scan
+fails, availability is set to \fBunrecovered\fR. This could occur if
+too many other disks are \fBdown\fR. The metadata scan can be
+re-initiated at a later time by issuing the \fBmmchdisk start\fR command
+again. 
+.PP
+If more than one disk in the file system is down, they must all be started
+at the same time by issuing the \fBmmchdisk \fIDevice\fR start -a\fR
+command. If you start them separately and metadata is stored on any
+disk that remains down, the \fBmmchdisk start\fR command fails.
+.RE
+.PP
+.RS +3
+\fBstop
+\fR
+.RE
+.RS +9
+Instructs GPFS to stop any attempts to access the specified disks.
+Use this option to tell the file system manager that a disk has failed or is
+currently inaccessible because of maintenance. 
+.PP
+A disk remains stopped until it is explicitly started by the
+\fBmmchdisk\fR command with the \fBstart\fR option. Restarting
+the GPFS Server daemon or rebooting does not restore normal access to a
+stopped disk.
+.RE
+.PP
+.RS +3
+\fBsuspend
+\fR
+.RE
+.RS +9
+Instructs GPFS to stop allocating space on the specified disk.
+Place a disk in this state when you are preparing to restripe the file system
+off this disk because of faulty performance. This is a user-initiated
+state that GPFS never uses without an explicit command to change disk
+state. Existing data on a suspended disk may still be read or
+updated.
+.PP
+A disk remains suspended until it is explicitly resumed. Restarting
+GPFS or rebooting nodes does not restore normal access to a suspended
+disk.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmchdisk\fR command.
+.PP
+You may issue the \fBmmchdisk\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. To \fBsuspend\fR active disk \fBgpfs2nsd\fR, issue this
+command:
+.sp
+.nf
+mmchdisk fs0 suspend -d gpfs2nsd
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsdisk fs0
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+disk      driver  sector failure holds   holds status         storage
+name      type     size   group  metadata data      availability pool
+--------- ------- ------ ------- ------- ---- ----- --------- -------
+gpfs2nsd   nsd       512      2   yes   yes   suspended  up   system
+hd3vsdn01  nsd       512      2   yes   yes   ready      up   system
+hd27n01    nsd       512      8   yes   yes   ready      up   system
+hd28n01    nsd       512      8   yes   yes   ready      up   system
+hd29n01    nsd       512      8   yes   yes   ready      up   system
+hd10vsdn09 nsd       512   4003   no    yes   ready      up   sp1\ 
+hd11vsdn10 nsd       512   4003   no    yes   ready      up   sp1\ 
+.fi
+.sp
+.HP 3
+2. To specify that metadata should no longer be stored on disk
+\fBgpfs1nsd\fR, issue this command:
+.sp
+.nf
+mmchdisk fs0 change -d "gpfs1nsd:::dataOnly"
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsdisk fs0
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+disk      driver  sector failure holds   holds status         storage
+name      type     size   group  metadata data      availability pool
+--------- ------ ------ ------- ------   ---- ----- --------- -------
+hd2vsdn01  nsd     512      2    yes     yes   ready    up    system
+hd3vsdn01  nsd     512      2    yes     yes   ready    up    system
+hd27n01    nsd     512      8    yes     yes   ready    up    system
+gpfs1nsd   nsd     512      8    no      yes   ready    up    system
+hd29n01    nsd     512      8    yes     yes   ready    up    system
+hd10vsdn09 nsd     512   4003    no      yes   ready    up       sp1
+hd11vsdn10 nsd     512   4003    no      yes   ready    up       sp1
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+Displaying GPFS disk states
+.PP
+mmadddisk Command
+.PP
+mmchnsd Command
+.PP
+mmdeldisk Command
+.PP
+mmlsdisk Command
+.PP
+mmlsnsd Command
+.PP
+mmrpldisk Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmcheckquota.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmcheckquota.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmcheckquota.8	(revision 16)
@@ -0,0 +1,248 @@
+.TH mmcheckquota 02/16/06
+mmcheckquota Command
+.SH "Name"
+.PP
+\fBmmcheckquota\fR - Checks file system user, group and fileset
+quotas.
+.SH "Synopsis"
+.PP
+\fBmmcheckquota\fR [\fB-v\fR] {\fIDevice\fR
+[\fIDevice\fR...] | \fB-a\fR}
+.PP
+Or,
+.PP
+\fBmmcheckquota\fR {[\fB-u \fR \fIUserQuotaFilename\fR]
+| [\fB-g\fR \fIGroupQuotaFileName\fR] | [\fB-j\fR
+\fIFilesetQuotaFilename\fR]} \fIDevice\fR
+.PP
+\fBDescription\fR
+.PP
+The \fBmmcheckquota\fR command serves two purposes:
+.RS +3
+.HP 3
+1. Count inode and space usage in a file system by user, group and
+fileset, and write the collected data into quota files.
+.HP 3
+2. Replace either the user, group, or fileset quota files, for the file
+system designated by \fIDevice\fR, thereby restoring the quota files for
+the file system. These files must be contained in the root directory of
+\fIDevice\fR. If a backup copy does not exist, an empty file is
+created when the \fBmmcheckquota\fR command is issued.
+.RE
+.PP
+The \fBmmcheckquota\fR command counts inode and space usage for a file
+system and writes the collected data into quota files. Indications
+leading you to the conclusion you should run the \fBmmcheckquota\fR command
+include:
+.RS +3
+.HP 3
+1. \fBMMFS_QUOTA\fR error log entries. This error log entry is
+created when the quota manager has a problem reading or writing the quota
+file.
+.HP 3
+2. Quota information is lost due to a node failure. A node failure
+could leave users unable to open files or deny them disk space that their
+quotas should allow.
+.HP 3
+3. 
+The in-doubt value is approaching the quota limit. 
+.sp
+The sum of the in-doubt value and the current usage may not exceed the hard
+limit. Consequently, the actual block space and number of files
+available to the user of the group may be constrained by the in-doubt
+value. Should the in-doubt value approach a significant percentage of
+the quota, use the \fBmmcheckquota\fR command to account for the lost space
+and files.
+.HP 3
+4. User, group, or fileset quota files are corrupted.
+.RE
+.PP
+The result of an online quota check may be incomplete when files are being
+accessed through SANergy at the time of the file system quota check.
+See
+\fISANergy export considerations\fR in
+\fIGeneral Parallel File System: Advanced
+Administration Guide\fR. To get an accurate online quota check
+result, rerun \fBmmcheckquota\fR when SANergy is not active.
+.PP
+The \fBmmcheckquota\fR command is I/O intensive and should be run when
+the system load is light. When issuing the \fBmmcheckquota\fR
+command on a mounted file system, negative in-doubt values may be reported if
+the quota server processes a combination of up-to-date and back-level
+information. This is a transient situation and may be ignored.
+.SH "Parameters"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Checks all GPFS file systems in the cluster from which the command is
+issued.
+.RE
+.PP
+.RS +3
+\fB\fI\fR\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system. File system names need not be
+fully-qualified. \fBfs0\fR is as acceptable as
+\fB/dev/fs0\fR.
+.RE
+.PP
+.RS +3
+\fB-g \fIGroupQuotaFileName\fR
+\fR
+.RE
+.RS +9
+Replace the current group quota file with the file indicated.
+.PP
+When replacing quota files with the \fB-g\fR option:
+.RS +3
+.HP 3
+\(bu The quota file must be in the root directory of the file system.
+.HP 3
+\(bu The file system must be unmounted.
+.RE
+.RE
+.PP
+.RS +3
+\fB-j \fIFilesetQuotaFilename\fR
+\fR
+.RE
+.RS +9
+Replace the current fileset quota file with the file indicated.
+.PP
+When replacing quota files with the \fB-j\fR option:
+.RS +3
+.HP 3
+\(bu The quota file must be in the root directory of the file system.
+.HP 3
+\(bu The file system must be unmounted.
+.RE
+.RE
+.PP
+.RS +3
+\fB-u \fIUserQuotaFilename\fR
+\fR
+.RE
+.RS +9
+Replace the current user quota file with the file indicated.
+.PP
+When replacing quota files with the \fB-u\fR option:
+.RS +3
+.HP 3
+\(bu The quota file must be in the root directory of the file system.
+.HP 3
+\(bu The file system must be unmounted.
+.RE
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-v 
+\fR
+.RE
+.RS +9
+Reports discrepancies between calculated and recorded disk quotas.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmcheckquota\fR
+command.
+.PP
+GPFS must be running on the node from which the \fBmmcheckquota\fR
+command is issued.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To check quotas for file system \fBfs0\fR, issue this command:
+.sp
+.nf
+mmcheckquota fs0
+.fi
+.sp
+The system displays information only if a problem is found.
+.HP 3
+2. To check quotas for all file systems, issue this command:
+.sp
+.nf
+mmcheckquota -a
+.fi
+.sp
+The system displays information only if a problem is found or if quota
+management is not enabled for a file system:
+.sp
+.nf
+fs2: no quota management installed
+fs3: no quota management installed
+.fi
+.sp
+.HP 3
+3. To report discrepancies between calculated and recorded disk quotas,
+issue this command:
+.sp
+.nf
+mmcheckquota -v fs1
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+fs1: Start quota check
+19 % complete on Mon Feb 6 17:39:55 2006
+34 % complete on Mon Feb 6 17:40:26 2006
+55 % complete on Mon Feb 6 17:40:57 2006
+64 % complete on Mon Feb 6 17:41:29 2006
+85 % complete on Mon Feb 6 17:42:00 2006
+99 % complete on Mon Feb 6 17:42:33 2006
+fs1: quota check found the following differences:
+USR 0: 98463 subblocks counted (was 3601); 17404 inodes counted (was 15999)
+USR 60001: 4766 subblocks counted (was -4499); 644 inodes counted (was 639)
+USR 60008: 4162 subblocks counted (was -5654); 534 inodes counted (was 532)
+USR 60012: 7248 subblocks counted (was -1619); 2013 inodes counted (was 2217)
+USR 60013: 6915 subblocks counted (was -616); 1773 inodes counted (was 2297)
+USR 60014: 6553 subblocks counted (was -1124); 1885 inodes counted (was 2533)
+USR 60020: 7045 subblocks counted (was -2486); 2050 inodes counted (was 1986)
+GRP 0: 98529 subblocks counted (was 6406); 17437 inodes counted (was 15910)
+GRP 100: 116038 subblocks counted (was -65884); 26277 inodes counted (was 30656)
+FILESET 0: 214567 subblocks counted (was -60842); 43714 inodes counted (was 46661)
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmedquota Command
+.PP
+mmfsck Command
+.PP
+mmlsquota Command
+.PP
+mmquotaon Command
+.PP
+mmquotaoff Command
+.PP
+mmrepquota Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmchfileset.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmchfileset.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmchfileset.8	(revision 16)
@@ -0,0 +1,163 @@
+.TH mmchfileset 03/31/06
+mmchfileset Command
+.SH "Name"
+.PP
+\fBmmchfileset\fR - Changes the attributes of a GPFS
+fileset.
+.SH "Synopsis"
+.PP
+\fBmmchfileset\fR \fIDevice\fR {\fIFilesetName\fR |
+\fB-J\fR \fIJunctionPath\fR} {[\fB-j\fR
+\fINewFilesetName\fR] | [\fB-t\fR
+\fINewComment\fR]}
+.SH "Description"
+.PP
+The \fBmmchfileset\fR command changes the name or comment for an
+existing GPFS fileset.
+.PP
+For information on GPFS filesets, see the chapter
+\fIPolicy-based data management for
+GPFS\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system that contains the fileset.
+.PP
+File system names need not be fully-qualified. \fBfs0\fR is as
+acceptable as \fB/dev/fs0\fR.
+.RE
+.PP
+.RS +3
+\fB\fIFilesetName\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the fileset.
+.RE
+.PP
+.RS +3
+\fB-J \fIJunctionPath\fR
+\fR
+.RE
+.RS +9
+Specifies the junction path name for the fileset.
+.PP
+A junction is a special directory entry that connects a name in a directory
+of one fileset to the root directory of another fileset.
+.RE
+.PP
+.RS +3
+\fB-j \fINewFilesetName\fR
+\fR
+.RE
+.RS +9
+Specifies the new name that is to be given to the fileset. This
+name must be less than 256 characters in length. This flag may be
+specified along with the \fB-t\fR flag.
+.RE
+.PP
+.RS +3
+\fB-t \fINewComment\fR
+\fR
+.RE
+.RS +9
+Specifies an optional comment that appears in the output of the
+\fBmmlsfileset\fR command.
+This comment must be less than 256 characters in length. This flag may
+be specified along with the \fB-j\fR flag.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmchfileset\fR
+command.
+.PP
+You may issue the \fBmmchfileset\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+This command renames fileset \fBfset1\fR to \fBfset2\fR, and gives it
+the comment "the first fileset":
+.sp
+.nf
+mmchfileset gpfs1 fset1 -j fset2 -t 'the first fileset'
+.fi
+.sp
+.PP
+The system displays a message similar to:
+.sp
+.nf
+Fileset 'fset1' changed.
+.fi
+.sp
+.PP
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfileset gpfs1 -L
+.fi
+.sp
+.PP
+The system displays information similar to: 
+.sp
+.nf
+Name    Id RootInode  ParentId Created                  Comment
+root     0         3        -- Thu Dec 12 15:59:18 2005 root fileset
+fset2    1    261633         0 Mon Dec 13 13:55:28 2005 the first fileset
+.fi
+.sp
+.SH "See also"
+.PP
+mmdelfileset Command
+.PP
+mmcrfileset Command
+.PP
+mmlinkfileset Command
+.PP
+mmlsfileset Command
+.PP
+mmunlinkfileset Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmchfs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmchfs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmchfs.8	(revision 16)
@@ -0,0 +1,440 @@
+.TH mmchfs 12/01/06
+mmchfs Command
+.SH "Name"
+.PP
+\fBmmchfs\fR - Changes the attributes of a GPFS file system.
+.SH "Synopsis"
+.PP
+\fBmmchfs\fR \fIDevice\fR [\fB-A {\fR\fByes\fR | \fBno |
+automount}\fR] [\fB-E {\fR\fByes |
+\fR\fBno\fR\fB}\fR] [\fB-D {\fR\fBnfs4\fR |
+\fBposix\fR\fB}\fR] [\fB-F\fR
+\fIMaxNumInodes\fR[:\fINumInodesToPreallocate\fR]]
+[\fB-k {\fR\fBposix\fR\fB | nfs4 | all}\fR] [\fB-K
+{no | \fR\fBwhenpossible\fR\fB | always}\fR] [\fB-m\fR
+\fIDefaultMetadataReplicas\fR] [\fB-o\fR
+\fIMountOptions\fR] [\fB-Q {yes | \fR\fBno}\fR]
+[\fB-r\fR \fIDefaultDataReplicas\fR] [\fB-S\fR
+\fB{yes\fR\fB | no} ]\fR [\fB-T\fR
+\fIMountpoint\fR] [\fB-V\fR] [\fB-z
+{\fR\fByes\fR \fB| no}\fR]
+.PP
+Or,
+.PP
+\fBmmchfs\fR \fIDevice\fR [\fB-W \fR
+\fINewDeviceName\fR]
+.SH "Description"
+.PP
+Use the \fBmmchfs\fR command to change the attributes of a GPFS file
+system.
+.PP
+All files created after issuing the \fBmmchfs\fR command take on the new
+attributes. Existing files are not affected. Use the
+\fBmmchattr\fR command to change the replication factor of existing
+files.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to be changed. 
+.PP
+File system names need not be fully-qualified. \fBfs0\fR is as
+acceptable as \fB/dev/fs0\fR. However, file system names must be
+unique across GPFS clusters.
+.PP
+This must be the first parameter.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-A {yes | \fBno\fR | automount}
+\fR
+.RE
+.RS +9
+Indicates when the file system is to be mounted:
+.PP
+.RS +3
+\fByes
+\fR
+.RE
+.RS +9
+When the GPFS daemon starts.
+.RE
+.PP
+.RS +3
+\fBno
+\fR
+.RE
+.RS +9
+Manual mount.
+.RE
+.PP
+.RS +3
+\fBautomount
+\fR
+.RE
+.RS +9
+When the file system is first accessed.
+.RE
+.RE
+.PP
+.RS +3
+\fB-D {nfs4 | \fBposix\fR}
+\fR
+.RE
+.RS +9
+Specifies whether a 'deny-write open lock' will block writes,
+which is expected and required by NFS V4. File systems supporting NFS
+V4 must have \fB-D nfs4\fR set. The option \fB-D posix\fR allows
+NFS writes even in the presence of a deny-write open lock. If you
+intend to export the file system using NFS V4 or Samba, you must use \fB-D
+nfs4\fR. For NFS V3 (or if the file system is not NFS exported at
+all) use \fB-D posix\fR.
+.RE
+.PP
+.RS +3
+\fB-E {yes | \fBno\fR}
+\fR
+.RE
+.RS +9
+Specifies whether to report exact \fBmtime\fR values. If \fB-E
+no\fR is specified, the \fBmtime\fR value is periodically updated.
+If you desire to always display exact modification times, specify the \fB-E
+yes\fR option.
+.RE
+.PP
+.RS +3
+\fB-F \fIMaxNumInodes\fR[:\fINumInodesToPreallocate\fR]
+\fR
+.RE
+.RS +9
+\fIMaxNumInodes\fR specifies the maximum number of files that can be
+created. Allowable values range from the current number of created
+inodes (determined by issuing the \fBmmdf\fR command with the \fB-F\fR
+option), through the maximum number of files possibly supported as constrained
+by the formula:
+.PP
+\fBmaximum number of files = (total file system space/2) / (inode size +
+subblock size)\fR
+.PP
+If your file system has additional disks added or the number of inodes was
+insufficiently sized at file system creation, you may change the number of
+inodes and hence the maximum number of files that can be created.
+.PP
+For file systems that will be doing parallel file creates, if the total
+number of free inodes is not greater than 5% of the total number of inodes,
+there is the potential for slowdown in file system access. Take this
+into consideration when changing your file system.
+.PP
+\fINumInodesToPreallocate\fR specifies the number of inodes that will be
+preallocated by the system right away. If this number is not specified,
+GPFS allocates inodes dynamically as needed.
+.PP
+The \fIMaxNumInodes\fR and \fINumInodesToPreallocate\fR values can be
+specified with a suffix, for example 100K or 2M.
+.RE
+.PP
+.RS +3
+\fB\fB-k {\fR\fBposix\fR\fB | nfs4 | all}\fR
+\fR
+.RE
+.RS +9
+Specifies the type of authorization supported by the file system:
+.PP
+.RS +3
+\fBposix
+\fR
+.RE
+.RS +9
+Traditional GPFS ACLs only (NFS V4 ACLs are not allowed).
+Authorization controls are unchanged from earlier releases.
+.RE
+.PP
+.RS +3
+\fBnfs4
+\fR
+.RE
+.RS +9
+Support for NFS V4 ACLs only. Users are not allowed to assign
+traditional GPFS ACLs to any file system objects (directories and individual
+files).
+.RE
+.PP
+.RS +3
+\fBall
+\fR
+.RE
+.RS +9
+Any supported ACL type is permitted. This includes traditional GPFS
+(\fBposix\fR) and NFS V4 ACLs (\fBnfs4\fR).
+.PP
+The administrator is allowing a mixture of ACL types. For example,
+\fBfileA\fR may have a \fBposix\fR ACL, while \fBfileB\fR in the same
+file system may have an NFS V4 ACL, implying different access characteristics
+for each file depending on the ACL type that is currently assigned.
+.RE
+.PP
+Neither \fBnfs4\fR nor \fBall\fR should be specified here unless the
+file system is going to be exported to NFS V4 clients. NFS V4 ACLs
+affect file attributes (mode) and have access and authorization
+characteristics that are different from traditional GPFS ACLs.
+.RE
+.PP
+.RS +3
+\fB\fB-K {no | \fR\fBwhenpossible\fR\fB | always}\fR
+\fR
+.RE
+.RS +9
+Specifies whether strict replication is to be enforced:
+.PP
+.RS +3
+\fBno
+\fR
+.RE
+.RS +9
+Strict replication is not enforced. GPFS will try to create the
+needed number of replicas, but will still return EOK as long as it can
+allocate at least one replica.
+.RE
+.PP
+.RS +3
+\fBwhenpossible
+\fR
+.RE
+.RS +9
+Strict replication is enforced provided the disk configuration allows
+it. If there is only one failure group, strict replication will not be
+enforced.
+.RE
+.PP
+.RS +3
+\fBalways
+\fR
+.RE
+.RS +9
+Strict replication is enforced.
+.RE
+.RE
+.PP
+.RS +3
+\fB-m \fIDefaultMetaDataReplicas\fR
+\fR
+.RE
+.RS +9
+Changes the default number of metadata replicas. Valid values are 1
+and 2 but cannot exceed the values of \fIMaxMetaDataReplicas\fR set when
+the file system was created.
+.RE
+.PP
+.RS +3
+\fB-o \fIMountOptions\fR
+\fR
+.RE
+.RS +9
+Specifies the mount options to pass to the mount command when mounting the
+file system. For a detailed description of the available mount options,
+see GPFS-specific mount options.
+.RE
+.PP
+.RS +3
+\fB-Q {yes | no}
+\fR
+.RE
+.RS +9
+If \fByes\fR is specified, quotas are activated automatically when the
+file system is mounted. If \fBno\fR is specified, the quota files
+remain in the file system, but are not used.
+.PP
+To activate quota management:
+.RS +3
+.HP 3
+1. Unmount the file system everywhere
+.HP 3
+2. Run the command \fBmmchfs -Q yes\fR
+.HP 3
+3. Remount the file system, activating the new quota files
+.HP 3
+4. Compile inode and disk block statistics using the \fBmmcheckquota\fR
+command. Use these values as a reference to establish realistic quota
+values when issuing the \fBmmedquota\fR and \fBmmdefedquota\fR
+commands.
+.HP 3
+5. For default quotas:
+.RS +3
+.HP 3
+a. Issue the \fBmmdefedquota\fR command to establish default quota values
+.HP 3
+b. Issue the \fBmmdefquotaon -d\fR command to activate default quotas
+.RE
+.HP 3
+6. For explicit quotas:
+.RS +3
+.HP 3
+a. Issue the \fBmmedquota\fR command to establish quota values
+.RE
+.RE
+.PP
+To deactivate quota management:
+.RS +3
+.HP 3
+1. Unmount the file system everywhere
+.HP 3
+2. Run the command \fBmmchfs -Q no\fR
+.HP 3
+3. Remount the file system, deactivating the quota files
+.RE
+.RE
+.PP
+.RS +3
+\fB-r \fIDefaultDataReplicas\fR
+\fR
+.RE
+.RS +9
+Changes the default number of data replicas. Valid values are 1 and
+2 but cannot exceed the values of \fIMaxDataReplicas\fR set when the file
+system was created.
+.RE
+.PP
+.RS +3
+\fB-S {yes | no}
+\fR
+.RE
+.RS +9
+Suppress the periodic updating of the value of \fBatime\fR as reported
+by the \fBgpfs_stat()\fR, \fBgpfs_fstat()\fR, \fBstat()\fR, and
+\fBfstat()\fR calls. If \fByes\fR is specified these calls report
+the last time the file was accessed when the file system was mounted with the
+\fB-S no\fR option.
+.RE
+.PP
+.RS +3
+\fB-T \fIMountpoint\fR
+\fR
+.RE
+.RS +9
+Change the mount point of the file system starting at the next mount of
+the file system.
+.PP
+The file system must be unmounted on all nodes prior to issuing the
+command.
+.RE
+.PP
+.RS +3
+\fB-V
+\fR
+.RE
+.RS +9
+After migration, change the file system format to the latest format
+supported by the currently installed level of GPFS. This causes the
+file system to become permanently incompatible with earlier releases of
+GPFS.
+.PP
+Before issuing the \fB-V\fR option, see the \fIGeneral Parallel File
+System: Concepts, Planning, and Installation Guide\fR and search for
+\fIMigration, coexistence and compatibility\fR.
+.RE
+.PP
+.RS +3
+\fB-W \fINewDeviceName\fR
+\fR
+.RE
+.RS +9
+Assign \fINewDeviceName\fR to be the device name for the file
+system.
+.RE
+.PP
+.RS +3
+\fB-z {yes | no}
+\fR
+.RE
+.RS +9
+Enable or disable DMAPI on the file system. For further information
+on DMAPI for GPFS, see the \fIGeneral Parallel File System: Data
+Management API Guide\fR.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmchfs\fR command.
+.PP
+You may issue the \fBmmchfs\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the \fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.PP
+When considering data replication for files accessible to SANergy, see
+\fISANergy export considerations\fR in \fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.SH "Examples"
+.PP
+To change the default replicas for metadata to 2 and the default replicas
+for data to 2 for new files created in the \fBfs0\fR file system, issue
+this command:
+.sp
+.nf
+mmchfs fs0 -m 2 -r 2
+.fi
+.sp
+.PP
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfs fs0 -m -r
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+flag value          description
+---- -------------- -----------------------------------
+ -m  2              Default number of metadata replicas
+ -r  2              Default number of data replicas
+.fi
+.sp
+.SH "See also"
+.PP
+mmcrfs Command
+.PP
+mmdelfs Command
+.PP
+mmdf Command
+.PP
+mmfsck Command
+.PP
+mmlsfs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmchmgr.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmchmgr.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmchmgr.8	(revision 16)
@@ -0,0 +1,108 @@
+.TH mmchmgr 02/16/06
+mmchmgr Command
+.SH "Name"
+.PP
+\fBmmchmgr\fR - Assigns a file system manager node.
+.SH "Synopsis"
+.PP
+\fBmmchmgr\fR \fIDevice\fR [\fINode\fR]
+.SH "Description"
+.PP
+The \fBmmchmgr\fR command assigns a file system manager node.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system for which the file system manager node
+is to be changed. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB\fINode\fR
+\fR
+.RE
+.RS +9
+The target node to be appointed as the new file system manager. If
+no \fINode\fR is specified, the configuration manager selects the new file
+system manager node. 
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.SH "Options"
+.PP
+NONE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmchmgr\fR command.
+.PP
+You may issue the \fBmmchmgr\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+Assume the file system manager for the file system \fBgpfs1\fR is
+currently \fBk164n05\fR. To migrate the file system manager
+responsibilities to \fBk164n06\fR, issue this command:
+.sp
+.nf
+mmchmgr gpfs1 k164n06
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+GPFS: 6027-628 Sending migrate request to current manager node
+      9.114.68.69 (k164n05).
+GPFS: 6027-629 Node 9.14.68.69 (k164n05) resigned as manager for gpfs1
+GPFS: 6027-630 Node 9.14.68.70 (k164n06) appointed as manager for gpfs1
+.fi
+.sp
+.SH "See also"
+.PP
+mmlsmgr Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmchnsd.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmchnsd.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmchnsd.8	(revision 16)
@@ -0,0 +1,226 @@
+.TH mmchnsd 02/16/06
+mmchnsd Command
+.SH "Name"
+.PP
+\fBmmchnsd\fR - Changes Network Shared Disk (NSD) configuration
+parameters.
+.SH "Synopsis"
+.PP
+\fBmmchnsd\fR
+{"\fIDiskDesc\fR[;\fIDiskDesc\fR...]"
+| \fB-F\fR \fIDescFile\fR}
+.SH "Description"
+.PP
+The \fBmmchnsd\fR command serves several purposes:
+.RS +3
+.HP 3
+1. Change either or both the primary and backup NSD server nodes.
+.HP 3
+2. Define a backup server node for an NSD that currently does not have
+one.
+.HP 3
+3. Delete a backup server node for an NSD.
+.HP 3
+4. Delete both the primary and backup NSD server nodes. The disk must
+now be SAN-attached to all nodes in the cluster.
+.HP 3
+5. Assign a primary and, if specified, a backup NSD server node. Nodes
+that are not SAN-attached to the disk, or nodes that experience a local device
+driver failure, will now have access to the data over the network from these
+servers.
+.RE
+.PP
+You must follow these rules when changing NSDs:
+.RS +3
+.HP 3
+\(bu You must identify the disks by the NSD names that were given to them by
+the
+\fBmmcrnsd\fR command.
+.HP 3
+\(bu You must explicitly specify values for both the primary and backup NSD
+server nodes even if you are only changing one of them.
+.HP 3
+\(bu The file system that contains the NSD being changed must be unmounted
+prior to issuing the \fBmmchnsd\fR command.
+.HP 3
+\(bu The NSD must be properly connected to the new nodes prior to issuing the
+\fBmmchnsd\fR command.
+.HP 3
+\(bu This command cannot be used to change the \fIDiskUsage\fR or
+\fIFailureGroup\fR for an NSD. You must issue the \fBmmchdisk\fR command to change these.
+.HP 3
+\(bu To move a disk from one storage pool to another, use the \fBmmdeldisk\fR and \fBmmadddisk\fR commands.
+.HP 3
+\(bu You cannot change the name of the NSD.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDiskDesc\fR
+\fR
+.RE
+.RS +9
+A descriptor for each NSD to be changed. Each descriptor is
+separated by a semicolon (;). The entire list must be enclosed in
+single or double quotation marks.
+.RE
+.PP
+.RS +3
+\fB\fIDescFile\fR
+\fR
+.RE
+.RS +9
+Specifies a file containing a list of disk descriptors, one per
+line.
+.PP
+Each disk descriptor must be specified in the form:
+.sp
+.nf
+DiskName:PrimaryServer:BackupServer
+.fi
+.sp
+.PP
+.RS +3
+\fB\fIDiskName\fR
+\fR
+.RE
+.RS +9
+The NSD name that was given to the disk by the \fBmmcrnsd\fR command.
+.RE
+.PP
+.RS +3
+\fB\fIPrimaryServer\fR
+\fR
+.RE
+.RS +9
+The name of the primary NSD server node. 
+.PP
+If this field is omitted, the disk is assumed to be SAN-attached to all
+nodes in the cluster.
+.PP
+To change only the primary NSD server, ensure that if a backup NSD server
+exists that you specify it, or the backup NSD server will be deleted.
+Any parameter that is not specified defaults to null.
+.sp
+.nf
+DiskName:PrimaryServer:BackupServer
+.fi
+.sp
+.PP
+To remove the primary GPFS server, explicitly skip the parameter:
+.sp
+.nf
+DiskName
+.fi
+.sp
+.RE
+.PP
+.RS +3
+\fB\fIBackupServer\fR
+\fR
+.RE
+.RS +9
+The name of the backup NSD server node. 
+.PP
+If the \fIPrimaryServer\fR has not been specified and this field is
+omitted, the disk is assumed to be SAN-attached to all nodes in the
+cluster.
+.PP
+To remove the backup NSD server, explicitly skip the parameter, but ensure
+you have specified the \fIPrimaryServer\fR or it will be removed
+also:
+.sp
+.nf
+DiskName:PrimaryServer
+.fi
+.sp
+.RE
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.SH "Options"
+.PP
+NONE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmchnsd\fR command.
+.PP
+You may issue the \fBmmchnsd\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+If the disk \fBgpfs1nsd\fR is currently defined with
+\fBk145n05\fR as its primary server and \fBk145n07\fR as its backup
+NSD server, and you want to change the primary NSD server to
+\fBk145n09\fR, issue this command:
+.sp
+.nf
+mmchnsd "gpfs1nsd:k145n09:k145n07:::"
+.fi
+.sp
+.PP
+To confirm the changes, issue this command:
+.sp
+.nf
+mmlsnsd -d "gpfs1nsd"
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+ File system   Disk name    Primary node             Backup node
+ ---------------------------------------------------------------
+ fs1           gpfs1nsd     k145n09                  k145n07
+\ 
+.fi
+.sp
+.SH "See also"
+.PP
+mmchdisk Command
+.PP
+mmcrcluster Command
+.PP
+mmcrnsd Command
+.PP
+mmlsnsd Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmchpolicy.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmchpolicy.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmchpolicy.8	(revision 16)
@@ -0,0 +1,179 @@
+.TH mmchpolicy 12/01/06
+mmchpolicy Command
+.SH "Name"
+.PP
+\fBmmchpolicy\fR - Establish policy rules for a GPFS file
+system.
+.SH "Synopsis"
+.PP
+\fBmmchpolicy\fR \fIDevice\fR \fIPolicyFileName\fR \fB[-t \fR
+\fIDescriptiveName\fR \fB] [-I {\fR\fB\fIyes\fR\fR\fB | test} ]\fR
+.SH "Description"
+.PP
+Use the \fBmmchpolicy\fR command to establish the rules for policy-based
+lifecycle management of the files in a given GPFS file system. Some of
+the things that can be controlled with the help of policy rules are:
+.RS +3
+.HP 3
+\(bu File placement at creation time
+.HP 3
+\(bu Replication factors
+.HP 3
+\(bu Movement of data between storage pools
+.HP 3
+\(bu File deletion
+.RE
+.PP
+The \fBmmapplypolicy\fR command must be run to move data between
+storage pools or delete files.
+.PP
+Policy changes take effect immediately on all nodes that have the affected
+file system mounted. For nodes that do not have the file system
+mounted, policy changes take effect upon the next mount of the file
+system.
+.PP
+For information on GPFS policies, see the chapter \fIPolicy-based
+data management for GPFS\fR in \fIGeneral Parallel File System:
+Advanced Administration Guide\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system for which policy information is to be
+established or changed. File system names need not be
+fully-qualified. \fBfs0\fR is just as acceptable as
+\fB/dev/fs0\fR. This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB\fIPolicyFileName\fR
+\fR
+.RE
+.RS +9
+The name of the file containing the policy rules. If you specify
+\fBDEFAULT\fR, GPFS replaces the current policy file with a single policy
+rule that assigns all newly created files to the system storage pool.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-I {\fB\fIyes\fR\fR | test}
+\fR
+.RE
+.RS +9
+Specifies whether to activate the rules in the policy file
+\fIPolicyFileName\fR.
+.PP
+.RS +3
+\fByes
+\fR
+.RE
+.RS +9
+The policy rules are validated and immediately activated. This is
+the default.
+.RE
+.PP
+.RS +3
+\fBtest
+\fR
+.RE
+.RS +9
+The policy rules are validated, but not installed.
+.RE
+.RE
+.PP
+.RS +3
+\fB-t \fIDescriptiveName\fR
+\fR
+.RE
+.RS +9
+Specifies an optional descriptive name to be associated with the policy
+rules. The string must be less than 256 characters in length. If
+not specified, the descriptive name defaults to the base name portion of the
+\fIPolicyFileName\fR parameter.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmchpolicy\fR command.
+.PP
+You may issue the \fBmmchpolicy\fR command from any node in the GPFS
+cluster.
+.SH "Examples"
+.RS +3
+.HP 3
+1. This command validates a policy before it is installed:
+.sp
+.nf
+mmchpolicy fs2 policyfile -I test
+.fi
+.sp
+The system displays output similar to:
+.sp
+.nf
+Validated policy 'policyfile': parsed 3 StgPoolRules,
+3 MigratRules
+.fi
+.sp
+.HP 3
+2. This command installs a policy:
+.sp
+.nf
+mmchpolicy fs2 policyfile
+.fi
+.sp
+The system displays output similar to:
+.sp
+.nf
+Policy 'policyfile' installed and broadcast to all nodes.
+Validated policy 'policyfile': parsed 3 StgPoolRules,
+3 MigratRules
+.fi
+.sp
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlspolicy fs2
+.fi
+.sp
+.sp
+The system displays output similar to:
+.sp
+.nf
+Policy file for file system '/dev/fs2':
+  Installed by root@k155n11.kgn.ibm.com on Mon Dec 12
+   16:56:31 2005.
+  First line from original file 'policyfile' was:
+/* This is the policy for the fs2 GPFS file system. */
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmapplypolicy Command
+.PP
+mmlspolicy Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmcrcluster.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmcrcluster.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmcrcluster.8	(revision 16)
@@ -0,0 +1,359 @@
+.TH mmcrcluster 02/16/06
+mmcrcluster Command
+.SH "Name"
+.PP
+\fBmmcrcluster\fR - Creates a GPFS cluster from a set of
+nodes.
+.SH "Synopsis"
+.PP
+\fBmmcrcluster\fR \fB-N\fR
+{\fINodeDesc\fR[,\fINodeDesc\fR...] |
+\fINodeFile\fR} \fB-p\fR \fIPrimaryServer\fR [\fB-s\fR
+\fISecondaryServer\fR] [\fB-r\fR
+\fIRemoteShellCommand\fR] [\fB-R\fR
+\fIRemoteFileCopyCommand\fR] [\fB-C\fR
+\fIClusterName\fR] [\fB-U\fR \fIDomainName\fR]
+[\fB-A\fR] [\fB-c\fR \fIConfigFile\fR]
+.SH "Description"
+.PP
+Use the \fBmmcrcluster\fR command to create a GPFS cluster.
+.PP
+Upon successful completion of the \fBmmcrcluster\fR command, the
+\fB/var/mmfs/gen/mmsdrfs\fR and the \fB/var/mmfs/gen/mmfsNodeData\fR
+files are created on each of the nodes in the cluster. Do not delete
+these files under any circumstances. For further information, see the
+\fIGeneral Parallel File System:
+Concepts, Planning, and Installation Guide\fR.
+.PP
+You must follow these rules when creating your GPFS cluster:
+.RS +3
+.HP 3
+\(bu While a node may mount file systems from multiple clusters, the node
+itself may only be added to a single cluster using the \fBmmcrcluster\fR or
+\fBmmaddnode\fR command.
+.HP 3
+\(bu The nodes must be available for the command to be successful. If
+any of the nodes listed are not available when the command is issued, a
+message listing those nodes is displayed. You must correct the problem
+on each node and issue the
+\fBmmaddnode\fR command to
+add those nodes.
+.HP 3
+\(bu 
+You must designate at least one node as a quorum node. You are strongly
+advised to designate the cluster configuration servers as quorum nodes.
+How many quorum nodes altogether you will have depends on whether you intend
+to use the node quorum with tiebreaker algorithm. or the regular node
+based quorum algorithm. For more details, see the
+\fIGeneral Parallel File System: Concepts,
+Planning, and Installation Guide\fR and search for \fIdesignating
+quorum nodes\fR.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fB-A\fR
+\fR
+.RE
+.RS +9
+Specifies that GPFS daemons are to be automatically started when nodes
+come up. The default is not to start daemons automatically.
+.RE
+.PP
+.RS +3
+\fB\fB-C\fR \fIClusterName\fR
+\fR
+.RE
+.RS +9
+Specifies a name for the cluster. If the user-provided name
+contains dots, it is assumed to be a fully qualified domain name.
+Otherwise, to make the cluster name unique, the domain of the primary
+configuration server will be appended to the user-provided name. 
+.PP
+If the \fB-C\fR flag is omitted, the cluster name defaults to the name
+of the primary GPFS cluster configuration server.
+.RE
+.PP
+.RS +3
+\fB\fB-c\fR \fIConfigFile\fR
+\fR
+.RE
+.RS +9
+Specifies a file containing GPFS configuration parameters with values
+different than the documented defaults. A sample file can be found in
+\fB/usr/lpp/mmfs/samples/mmfs.cfg.sample\fR. See the
+\fBmmchconfig\fR command for a detailed description
+of the different configuration parameters.
+.PP
+The \fB-c\fR \fB\fIConfigFile\fR\fR parameter should be
+used only by experienced administrators. Use this file to set up only
+those parameters that appear in the \fBmmfs.cfg.sample\fR
+file. Changes to any other values may be ignored by GFPS. When
+in doubt, use the
+\fBmmchconfig\fR command
+instead.
+.RE
+.PP
+.RS +3
+\fB-N \fINodeDesc\fR[,\fINodeDesc\fR...] |
+\fINodeFile\fR
+\fR
+.RE
+.RS +9
+\fINodeFile\fR specifies the file containing the list of node
+descriptors (see below), one per line, to be included in the GPFS
+cluster.
+.RE
+.PP
+.RS +3
+\fB\fINodeDesc\fR[,\fINodeDesc\fR...]
+\fR
+.RE
+.RS +9
+Specifies the list of nodes and node designations to be included in the
+GPFS cluster. Node descriptors are defined as:
+.sp
+.nf
+NodeName:NodeDesignations:AdminNodeName
+.fi
+.sp
+.PP
+where:
+.RS +3
+.HP 3
+1. \fBNodeName\fR is the hostname or IP address to be used by the GPFS
+daemon for node to node communication.
+.sp
+The hostname or IP address must refer to the communications adapter over
+which the GPFS daemons communicate. Alias interfaces are not
+allowed. Use the original address or a name that is resolved by the
+\fBhost\fR command to that original address. You may specify a node
+using any of these forms:
+.br
+.sp
+.RS +0.1i
+.nf
+.TS
+tab(~);
+ l l.
+Format~Example
+\fBShort hostname\fR~k145n01
+\fBLong hostname\fR~k145n01.kgn.ibm.com
+\fBIP address\fR~9.119.19.102
+.TE
+.sp
+.fi
+.RE
+.HP 3
+2. \fBNodeDesignations\fR is an optional, '-' separated list of
+node roles.
+.RS +3
+.HP 3
+\(bu \fBmanager\fR | \fB\fIclient\fR\fR Indicates whether a node is
+part of the pool of nodes from which configuration managers, file system
+managers, and token managers are selected. The default is
+\fBclient\fR.
+.HP 3
+\(bu \fBquorum\fR | \fB\fInonquorum\fR\fR Indicates whether a node is
+counted as a quorum node. The default is \fBnonquorum\fR.
+.RE
+.HP 3
+3. \fBAdminNodeName\fR is an optional field that consists of a node name
+to be used by the administration commands to communicate between nodes.
+.sp
+.sp
+If \fBAdminNodeName\fR is not specified, the \fBNodeName\fR value is
+used.
+.RE
+.PP
+You must provide a descriptor for each node to be added to the GPFS
+cluster.
+.RE
+.PP
+.RS +3
+\fB-p \fIPrimaryServer\fR
+\fR
+.RE
+.RS +9
+Specifies the primary GPFS cluster configuration server node used to store
+the GPFS configuration data. This node must be a member of the GPFS
+cluster.
+.RE
+.PP
+.RS +3
+\fB-R \fIRemoteFileCopy\fR
+\fR
+.RE
+.RS +9
+Specifies the fully-qualified path name for the remote file copy program
+to be used by GPFS. The default value is
+\fB/usr/bin/rcp\fR.
+.PP
+The remote copy command must adhere to the same syntax format as the
+\fBrcp\fR command, but may implement an alternate authentication
+mechanism.
+.RE
+.PP
+.RS +3
+\fB-r \fIRemoteShellCommand\fR
+\fR
+.RE
+.RS +9
+Specifies the fully-qualified path name for the remote shell program to be
+used by GPFS. The default value is \fB/usr/bin/rsh\fR.
+.PP
+The remote shell command must adhere to the same syntax format as the
+\fBrsh\fR command, but may implement an alternate authentication
+mechanism.
+.RE
+.PP
+.RS +3
+\fB-s \fISecondaryServer\fR
+\fR
+.RE
+.RS +9
+Specifies the secondary GPFS cluster configuration server node used to
+store the GPFS cluster data. This node must be a member of the GPFS
+cluster. 
+.PP
+It is suggested that you specify a secondary GPFS cluster configuration
+server to prevent the loss of configuration data in the event your primary
+GPFS cluster configuration server goes down. When the GPFS daemon
+starts up, at least one of the two GPFS cluster configuration servers must be
+accessible.
+.PP
+If your primary GPFS cluster configuration server fails and you have not
+designated a secondary server, the GPFS cluster configuration files are
+inaccessible, and any GPFS administration commands that are issued
+fail. File system mounts or daemon startups also fail if no GPFS
+cluster configuration server is available.
+.RE
+.PP
+.RS +3
+\fB-U \fIDomainName\fR
+\fR
+.RE
+.RS +9
+Specifies the UID domain name for the cluster.
+.PP
+A detailed description of the GPFS user ID remapping convention is
+contained in \fI\fIUID Mapping for GPFS In a Multi-Cluster
+Environment\fR\fR at www.ibm.com/servers/eserver/clusters/library/wp_aix_lit.html.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmcrcluster\fR
+command.
+.PP
+You may issue the \fBmmcrcluster\fR command from any node in the GPFS
+cluster.
+.PP
+A properly configured \fB.rhosts\fR file must exist in the root
+user's home directory on each node in the GPFS cluster. If you
+have designated the use of a different remote communication program on either
+the \fBmmcrcluster\fR or the
+\fBmmchcluster\fR
+command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To create a GPFS cluster made of all of the nodes listed in the file
+\fB/u/admin/nodelist\fR, using node \fBk164n05\fR as the primary
+server, and node \fBk164n04\fR as the secondary server, issue:
+.sp
+.nf
+mmcrcluster  -N /u/admin/nodelist -p k164n05 -s k164n04
+.fi
+.sp
+.PP
+where \fB/u/admin/nodelist\fR has the these contents:
+.sp
+.nf
+k164n04.kgn.ibm.com:quorum
+k164n05.kgn.ibm.com:quorum
+k164n06.kgn.ibm.com
+.fi
+.sp
+.PP
+The output of the command is similar to:
+.sp
+.nf
+Mon Aug  9 22:14:34 EDT 2004: 6027-1664 mmcrcluster: Processing node
+                              k164n04.kgn.ibm.com
+Mon Aug  9 22:14:38 EDT 2004: 6027-1664 mmcrcluster: Processing node\ 
+                              k164n05.kgn.ibm.com
+Mon Aug  9 22:14:42 EDT 2004: 6027-1664 mmcrcluster: Processing node\ 
+                              k164n06.kgn.ibm.com
+mmcrcluster: Command successfully completed
+mmcrcluster: 6027-1371 Propagating the changes to all affected.
+                       nodes. This is an asynchronous process.
+.fi
+.sp
+.PP
+To confirm the creation, issue this command: 
+.sp
+.nf
+mmlscluster
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+GPFS cluster information
+========================
+  GPFS cluster name:         k164n05.kgn.ibm.com
+  GPFS cluster id:           680681562214606028
+  GPFS UID domain:           k164n05.kgn.ibm.com
+  Remote shell command:      /usr/bin/rsh
+  Remote file copy command:  /usr/bin/rcp
+GPFS cluster configuration servers:
+-----------------------------------
+  Primary server:    k164n05.kgn.ibm.com
+  Secondary server:  k164n04.kgn.ibm.com
+Node Daemon node name     IP address     Admin node name  Designation
+---------------------------------------------------------------------
+ 1   k164n04.kgn.ibm.com  198.117.68.68  k164n04.kgn.ibm.com  quorum
+ 2   k164n05.kgn.ibm.com  198.117.68.71  k164n05.kgn.ibm.com  quorum
+ 3   k164n06.kgn.ibm.com  198.117.68.70  k164n06.kgn.ibm.com
+.fi
+.sp
+.SH "See also"
+.PP
+mmaddnode Command
+.PP
+mmchconfig Command
+.PP
+mmdelnode Command
+.PP
+mmlscluster Command
+.PP
+mmlsconfig Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmcrfileset.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmcrfileset.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmcrfileset.8	(revision 16)
@@ -0,0 +1,158 @@
+.TH mmcrfileset 04/06/06
+mmcrfileset Command
+.SH "Name"
+.PP
+\fBmmcrfileset\fR - Creates a GPFS fileset.
+.SH "Synopsis"
+.PP
+\fBmmcrfileset\fR \fIDevice\fR \fIFilesetName\fR
+\fB[-t\fR \fIComment\fR\fB]\fR
+.SH "Description"
+.PP
+The \fBmmcrfileset\fR command constructs a new fileset with the
+specified name. The new fileset is empty except for a root directory,
+and does not appear in the directory name space until the
+\fBmmlinkfileset\fR command is
+issued. The \fBmmcrfileset\fR command is separate from the
+\fBmmlinkfileset\fR command to allow
+the administrator to establish policies and quotas on the fileset before it is
+linked into the name space.
+.PP
+For information on GPFS filesets, see the chapter
+\fIPolicy-based data management for
+GPFS\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.PP
+The maximum number of filesets that GPFS supports is 1000 filesets
+per file system.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to contain the new fileset.
+.PP
+File system names need not be fully-qualified. \fBfs0\fR is as
+acceptable as \fB/dev/fs0\fR.
+.RE
+.PP
+.RS +3
+\fB\fIFilesetName\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the newly created fileset.
+.RE
+.PP
+.RS +3
+\fB-t \fIComment\fR
+\fR
+.RE
+.RS +9
+Specifies an optional comment that appears in the output of the
+\fBmmlsfileset\fR command.
+This comment must be less than 256 characters in length.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmcrfileset\fR
+command.
+.PP
+You may issue the \fBmmcrfileset\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+This example creates two filesets in file system \fBgpfs1\fR:
+.sp
+.nf
+mmcrfileset gpfs1 fset1
+.fi
+.sp
+.PP
+The system displays output similar to:
+.sp
+.nf
+Fileset 'fset1' created.
+.fi
+.sp
+.sp
+.nf
+mmcrfileset gpfs1 fset2 -t "another fileset"
+.fi
+.sp
+.PP
+The system displays output similar to:
+.sp
+.nf
+Fileset 'fset2' created.
+.fi
+.sp
+.PP
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfileset gpfs1 -L
+.fi
+.sp
+.PP
+The system displays output similar to:
+.sp
+.nf
+Name     Id RootInode  ParentId Created                  Comment
+root      0         3        -- Thu Dec 12 15:59:18 2005 root fileset
+fset1     1    261633         0 Mon Dec 13 13:55:28 2005\ 
+fset2     2    261634         1 Mon Dec 13 13:56:12 2005 another fileset
+.fi
+.sp
+.SH "See also"
+.PP
+mmchfileset Command
+.PP
+mmdelfileset Command
+.PP
+mmlinkfileset Command
+.PP
+mmlsfileset Command
+.PP
+mmunlinkfileset Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmcrfs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmcrfs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmcrfs.8	(revision 16)
@@ -0,0 +1,696 @@
+.TH mmcrfs 12/04/06
+mmcrfs Command
+.SH "Name"
+.PP
+\fBmmcrfs\fR - Creates a GPFS file system.
+.SH "Synopsis"
+.PP
+\fBmmcrfs\fR \fIMountpoint \fR \fIDevice\fR
+{"\fIDiskDesc\fR[;\fIDiskDesc\fR...]"
+| \fB-F\fR \fIDescFile\fR} [\fB-A\fR {\fB\fIyes\fR\fR | \fBno
+| automount\fR}] [\fB-D {\fR\fBnfs4\fR | \fB\fIposix\fR\fR\fB}\fR] [\fB-B\fR \fIBlockSize\fR]
+[\fB-E\fR {\fB\fIyes\fR\fR | \fBno\fR}] [\fB-j
+{\fR\fBcluster | scatter}\fR] [\fB-k {\fR\fB\fIposix\fR\fR\fB | nfs4 | all}\fR] [\fB-K {\fR\fBno\fR |
+\fB\fIwhenpossible\fR\fR | \fBalways}\fR] [\fB-m\fR
+\fIDefaultMetadataReplicas\fR] [\fB-M \fR
+\fIMaxMetadataReplicas\fR] [\fB-n\fR \fINumNodes\fR]
+[\fB-N\fR
+\fINumInodes\fR[:\fINumInodesToPreallocate\fR]]
+[\fB-Q\fR {\fByes\fR | \fB\fIno\fR\fR}] [\fB-r \fR
+\fIDefaultDataReplicas\fR] [\fB-R\fR
+\fIMaxDataReplicas\fR] [\fB-S\fR {\fByes\fR | \fB\fIno\fR\fR}] [\fB-v\fR {\fB\fIyes\fR\fR | \fBno\fR}]
+[\fB-z\fR {\fByes\fR | \fB\fIno\fR\fR}]
+.SH "Description"
+.PP
+Use the \fBmmcrfs\fR command to create a GPFS file system. The first
+three options \fImust\fR be \fIMountpoint\fR, \fIDevice\fR, and
+either \fIDiskDescList\fR or \fIDescFile\fR and they \fImust\fR be
+in that order. The block size and replication factors chosen affect
+file system performance. There is a maximum of 32 file systems that may
+be mounted in a GPFS cluster at one time, including remote file
+systems.
+.PP
+When deciding on the maximum number of
+files (number of inodes) in a file system, consider that for file systems that
+will be doing parallel file creates, if the total number of free inodes is not
+greater than 5% of the total number of inodes, there is the potential for
+slowdown in file system access. The total number of inodes can be
+increased using the \fBmmchfs\fR command.
+.PP
+When deciding on a block size for a file system, consider these points:
+.RS +3
+.HP 3
+1. Supported block sizes are 16 KB, 64 KB 256 KB, 512 KB, 1 MB, 2 MB, 4
+MB.
+.HP 3
+2. The GPFS block size determines:
+.RS +3
+.HP 3
+\(bu The minimum disk space allocation unit. The minimum amount of space
+that file data can occupy is a subblock. A subblock is 1/32 of the
+block size.
+.HP 3
+\(bu The maximum size of a read or write request that GPFS sends to the
+underlying disk driver.
+.RE
+.HP 3
+3. 
+From a performance perspective, you are advised to set the GPFS block size to
+match either the application buffer size, the RAID stripe size, or a multiple
+of the RAID stripe size. If the GPFS block size does not match the RAID
+stripe size, performance may be severely degraded, especially for write
+operations.
+.HP 3
+4. In file systems with a high degree of variance in the size of files within
+the file system, using a small block size would have a large impact on
+performance when accessing large files. In this kind of system it is
+suggested that you use a block size of 256 KB (8 KB subblock). Even if
+only 1% of the files are large, the amount of space taken by the large files
+usually dominates the amount of space used on disk, and the waste in the
+subblock used for small files is usually insignificant. For further
+performance information, see the GPFS white papers at
+www.ibm.com/servers/eserver/clusters/library/wp_aix_lit.html.
+.HP 3
+5. The effect of block size on file system performance largely depends on the
+application I/O pattern. 
+.RS +3
+.HP 3
+\(bu A larger block size is often beneficial for large sequential read and
+write workloads.
+.HP 3
+\(bu A smaller block size is likely to offer better performance for small file,
+small random read and write, and metadata-intensive workloads.
+.RE
+.HP 3
+6. The efficiency of many algorithms that rely on caching file data in a GPFS
+page pool depends more on the number of blocks cached rather than the absolute
+amount of data. For a page pool of a given size, a larger file system
+block size would mean fewer blocks cached. Therefore, when you create
+file systems with a block size larger than the default 256 KB, it is
+recommended that you increase the page pool size in proportion to the block
+size.
+.HP 3
+7. The file system block size may not exceed the value of the GPFS
+\fBmaxBlockSize\fR configuration parameter. The
+\fBmaxBlockSize\fR parameter is set to 1 MB by default. If a larger
+block size is desired, use the \fBmmchconfig\fR command to increase the
+\fBmaxBlockSize\fR prior to starting GPFS.
+.RE
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmcrfs\fR command, these tasks are
+completed on all GPFS nodes:
+.RS +3
+.HP 3
+\(bu 
+Mount point directory is created.
+.HP 3
+\(bu 
+File system is formatted.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIMountpoint\fR
+\fR
+.RE
+.RS +9
+The mount point directory of the GPFS file system.
+.RE
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to be created.
+.PP
+File system names need not be fully-qualified. \fBfs0\fR is as
+acceptable as \fB/dev/fs0\fR. However, file system names must be
+unique within a GPFS cluster. Do not specify an existing entry in
+\fB/dev\fR.
+.RE
+.PP
+.RS +3
+\fB-D {nfs4 | \fB\fIposix\fR\fR}
+\fR
+.RE
+.RS +9
+Specifies whether a 'deny-write open lock' will block writes,
+which is expected and required by NFS V4. File systems supporting NFS
+V4 must have \fB-D nfs4\fR set. The option \fB-D posix\fR allows
+NFS writes even in the presence of a deny-write open lock. If you
+intend to export the file system using NFS V4 or Samba, you must use \fB-D
+nfs4\fR. For NFS V3 (or if the file system is not NFS exported at
+all) use \fB-D posix\fR. The default is \fB-D posix\fR.
+.RE
+.PP
+.RS +3
+\fB-F \fIDescFile\fR
+\fR
+.RE
+.RS +9
+Specifies a file containing a list of disk descriptors, one per
+line. You may use the rewritten \fIDiskDesc\fR file created by the
+\fBmmcrnsd\fR command, create your own file, or enter the disk descriptors
+on the command line. When using the \fIDiskDesc\fR file created by
+the \fBmmcrnsd\fR command, the values supplied on input to the command for
+\fIDisk Usage\fR and \fIFailureGroup \fR are used. When creating
+your own file or entering the descriptors on the command line, you must
+specify these values or accept the system defaults. A sample file can
+be found in \fB/usr/lpp/mmfs/samples/diskdesc\fR.
+.RE
+.PP
+.RS +3
+\fB"\fIDiskDesc\fR[;\fIDiskDesc\fR...]"
+\fR
+.RE
+.RS +9
+A descriptor for each disk to be included. Each descriptor is
+separated by a semicolon (;). The entire list must be enclosed in
+quotation marks (' or "). 
+.PP
+The current maximum number of disk descriptors that can be defined for any
+single file system is 268 million. However, to achieve this maximum
+limit, you must recompile GPFS. The actual number of disks in your file
+system may be constrained by products other than GPFS that you have
+installed. Refer to the individual product documentation.
+.PP
+A disk descriptor is defined as (second, third and sixth fields
+reserved):
+.sp
+.nf
+DiskName:::DiskUsage:FailureGroup::StoragePool:
+.fi
+.sp
+.PP
+.RS +3
+\fB\fIDiskName\fR
+\fR
+.RE
+.RS +9
+.PP
+You must specify the name of the NSD previously created by the
+\fBmmcrnsd\fR command. For a list of available disks, issue the
+\fBmmlsnsd -F\fR command.
+.RE
+.PP
+.RS +3
+\fB\fIDiskUsage\fR
+\fR
+.RE
+.RS +9
+Specify a disk usage or accept the default:
+.PP
+.RS +3
+\fBdataAndMetadata
+\fR
+.RE
+.RS +9
+Indicates that the disk contains both data and metadata. This is
+the default.
+.RE
+.PP
+.RS +3
+\fBdataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains data and does not contain
+metadata.
+.RE
+.PP
+.RS +3
+\fBmetadataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains metadata and does not contain
+data.
+.RE
+.PP
+.RS +3
+\fBdescOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains no data and no file metadata. Such
+a disk is used solely to keep a copy of the file system descriptor, and can be
+used as a third failure group in certain disaster recovery
+configurations. For more information, see \fIGeneral Parallel File
+System: Advanced Administration\fR and search on \fISynchronous
+mirroring utilizing GPFS replication\fR.
+.RE
+.RE
+.PP
+.RS +3
+\fB\fIFailureGroup\fR
+\fR
+.RE
+.RS +9
+A number identifying the failure group to which this disk belongs.
+You can specify any value from -1 (where -1 indicates that the disk has no
+point of failure in common with any other disk) to 4000. If you do not
+specify a failure group, the value defaults to the primary server node number
+plus 4000. If an NSD server node is not specified, the value defaults
+to -1. GPFS uses this information during data and metadata placement to
+assure that no two replicas of the same block are written in such a way as to
+become unavailable due to a single failure. All disks that are attached
+to the same NSD server or adapter should be placed in the same failure
+group.
+.PP
+If replication of \fB-m\fR or \fB-r\fR is set to 2,
+storage pools must have two failure groups for the commands to work
+properly.
+.RE
+.PP
+.RS +3
+\fB\fIStoragePool\fR
+\fR
+.RE
+.RS +9
+Specifies the storage pool to which the disk is to be assigned. If
+this name is not provided, the default is \fBsystem\fR.
+.PP
+Only the \fBsystem\fR pool may contain \fBdescOnly\fR,
+\fBmetadataOnly\fR or \fBdataAndMetadata\fR disks.
+.RE
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-A {\fB\fIyes\fR\fR | no | automount}
+\fR
+.RE
+.RS +9
+Indicates when the file system is to be mounted:
+.PP
+.RS +3
+\fByes
+\fR
+.RE
+.RS +9
+When the GPFS daemon starts. This is the default.
+.RE
+.PP
+.RS +3
+\fBno
+\fR
+.RE
+.RS +9
+Manual mount.
+.RE
+.PP
+.RS +3
+\fBautomount
+\fR
+.RE
+.RS +9
+When the file system is first accessed.
+.RE
+.RE
+.PP
+.RS +3
+\fB-B \fIBlockSize\fR
+\fR
+.RE
+.RS +9
+Size of data blocks. Must be 16 KB, 64 KB, 256 KB (the default),
+512 KB, 1 MB, 2 MB, or 4 MB. Specify this value with the character
+\fBK\fR or \fBM\fR, for example 512K.
+.RE
+.PP
+.RS +3
+\fB-E {\fB\fIyes\fR\fR | no}
+\fR
+.RE
+.RS +9
+Specifies whether to report \fIexact\fR \fBmtime\fR values (\fB-E
+yes\fR), or to periodically update the \fBmtime\fR value for a file
+system (\fB-E no\fR). If it is more desirable to display exact
+modification times for a file system, specify or use the default \fB-E
+yes\fR option.
+.RE
+.PP
+.RS +3
+\fB-j {cluster | scatter}
+\fR
+.RE
+.RS +9
+Specifies the block allocation map type. When allocating blocks for
+a given file, GPFS first utilizes a round-robin algorithm to spread the
+data across all disks in the file system. After a disk is selected, the
+location of the data block on the disk is determined by the block allocation
+map type. If \fBcluster\fR is specified, GPFS attempts to allocate
+blocks in clusters. Blocks that belong to a given file are kept
+adjacent to each other within each cluster. If \fBscatter\fR is
+specified, the location of the block is chosen randomly.
+.PP
+The \fBcluster\fR allocation method may provide better disk performance
+for some disk subsystems in relatively small installations. The
+benefits of clustered block allocation diminish when the number of nodes in
+the cluster or the number of disks in a file system increases, or when the
+file system free space becomes fragmented. The \fBcluster\fR
+allocation method is the default for GPFS clusters with eight or fewer nodes
+or files systems with eight or fewer disks.
+.PP
+The \fBscatter\fR allocation method provides more consistent file system
+performance by averaging out performance variations due to block location (for
+many disk subsystems, the location of the data relative to the disk edge has a
+substantial effect on performance). This allocation method is
+appropriate in most cases and is the default for GPFS clusters with more than
+eight nodes or file systems with more than eight disks.
+.PP
+The block allocation map type cannot be changed after the file system has
+been created.
+.RE
+.PP
+.RS +3
+\fB\fB-k {\fR\fB\fIposix\fR\fR\fB | nfs4 | all}\fR
+\fR
+.RE
+.RS +9
+Specifies the type of authorization supported by the file system:
+.PP
+.RS +3
+\fBposix
+\fR
+.RE
+.RS +9
+Traditional GPFS ACLs only (NFS V4 ACLs are not allowed).
+Authorization controls are unchanged from earlier releases. The default
+is \fB-k posix\fR.
+.RE
+.PP
+.RS +3
+\fBnfs4
+\fR
+.RE
+.RS +9
+Support for NFS V4 ACLs only. Users are not allowed to assign
+traditional GPFS ACLs to any file system objects (directories and individual
+files).
+.RE
+.PP
+.RS +3
+\fBall
+\fR
+.RE
+.RS +9
+Any supported ACL type is permitted. This includes traditional GPFS
+(\fBposix\fR) and NFS V4 ACLs (\fBnfs4\fR).
+.PP
+The administrator is allowing a mixture of ACL types. For example,
+\fBfileA\fR may have a \fBposix\fR ACL, while \fBfileB\fR in the same
+file system may have an NFS V4 ACL, implying different access characteristics
+for each file depending on the ACL type that is currently assigned.
+.RE
+.PP
+Neither \fBnfs4\fR nor \fBall\fR should be specified here unless the
+file system is going to be exported to NFS V4 clients. NFS V4 ACLs
+affect file attributes (mode) and have access and authorization
+characteristics that are different from traditional GPFS ACLs.
+.RE
+.PP
+.RS +3
+\fB-K {no | \fB\fIwhenpossible\fR\fR | always}
+\fR
+.RE
+.RS +9
+Specifies whether strict replication is to be enforced:
+.PP
+.RS +3
+\fBno
+\fR
+.RE
+.RS +9
+Strict replication is not enforced. GPFS will try to create the
+needed number of replicas, but will still return EOK as long as it can
+allocate at least one replica.
+.RE
+.PP
+.RS +3
+\fBwhenpossible
+\fR
+.RE
+.RS +9
+Strict replication is enforced provided the disk configuration allows
+it. If the number of failure groups is insufficient, strict replication
+will not be enforced. This is the default value.
+.RE
+.PP
+.RS +3
+\fBalways
+\fR
+.RE
+.RS +9
+Strict replication is enforced.
+.RE
+.RE
+.PP
+.RS +3
+\fB-m \fIDefaultMetadataReplicas\fR
+\fR
+.RE
+.RS +9
+Default number of copies of inodes, directories, and indirect blocks for a
+file. Valid values are 1 and 2 but cannot be greater than the value of
+\fIMaxMetadataReplicas\fR. The default is 1.
+.RE
+.PP
+.RS +3
+\fB -M \fIMaxMetadataReplicas\fR
+\fR
+.RE
+.RS +9
+Default maximum number of copies of inodes, directories, and indirect
+blocks for a file. Valid values are 1 and 2 but cannot be less than
+\fIDefaultMetadataReplicas\fR. The default is 1.
+.RE
+.PP
+.RS +3
+\fB-n \fINumNodes\fR
+\fR
+.RE
+.RS +9
+The estimated number of nodes that will mount the file system. This
+is used as a best guess for the initial size of some file system data
+structures. The default is 32. This value cannot be changed
+after the file system has been created.
+.PP
+When you create a GPFS file system, you might want to overestimate the
+number of nodes that will mount the file system. GPFS uses this
+information for creating data structures that are essential for achieving
+maximum parallelism in file system operations (see \fIAppendix A: GPFS
+architecture\fR in \fIGeneral Parallel File System: Concepts,
+Planning, and Installation Guide\fR). Although a large estimate
+consumes additional memory, underestimating the data structure allocation can
+reduce the efficiency of a node when it processes some parallel requests such
+as the allotment of disk space to a file. If you cannot predict the
+number of nodes that will mount the file system, allow the default value to be
+applied. If you are planning to add nodes to your system, you should
+specify a number larger than the default. However, do not make
+estimates that are not realistic. Specifying an excessive number of
+nodes may have an adverse affect on buffer operations.
+.RE
+.PP
+.RS +3
+\fB-N \fINumInodes\fR[:\fINumInodesToPreallocate\fR]
+\fR
+.RE
+.RS +9
+The \fINumInodes\fR parameter specifies the maximum number of files in
+the file system. This value defaults to the size of the file system at
+creation, divided by 1M and is also constrained by the formula:
+.PP
+\fBmaximum number of files = (total file system space/2) / (inode size +
+subblock size)\fR
+.PP
+For file systems that will be doing parallel file creates, if the total
+number of free inodes is not greater than 5% of the total number of inodes
+there is the potential for slowdown in file system access. Take this
+into consideration when creating your file system.
+.PP
+The parameter \fINumInodesToPreallocate\fR specifies the number of
+inodes that the system will immediately preallocate. If you do not
+specify a value for \fINumInodesToPreallocate\fR, GPFS will dynamically
+allocate inodes as needed
+.PP
+You can specify the \fINumInodes\fR and \fINumInodesToPreallocate\fR
+values with a suffix, for example 100K or 2M.
+.RE
+.PP
+.RS +3
+\fB-Q {yes | \fB\fIno}\fR\fR
+\fR
+.RE
+.RS +9
+Activates quotas automatically when the file system is mounted. The
+default is \fB-Q no\fR.
+.PP
+To activate GPFS quota management after the file system has been
+created: 
+.RS +3
+.HP 3
+1. Mount the file system.
+.HP 3
+2. To establish default quotas:
+.RS +3
+.HP 3
+a. Issue the \fBmmdefedquota\fR command to establish default quota
+values.
+.HP 3
+b. Issue the \fBmmdefquotaon\fR command to activate default quotas.
+.RE
+.HP 3
+3. To activate explicit quotas:
+.RS +3
+.HP 3
+a. Issue the \fBmmedquota\fR command to activate quota values.
+.HP 3
+b. Issue the \fBmmquotaon\fR command to activate quota enforcement.
+.RE
+.RE
+.RE
+.PP
+.RS +3
+\fB-r \fIDefaultDataReplicas\fR
+\fR
+.RE
+.RS +9
+Default number of copies of each data block for a file. Valid
+values are 1 and 2, but cannot be greater than
+\fIMaxDataReplicas\fR. The default is 1.
+.RE
+.PP
+.RS +3
+\fB-R \fIMaxDataReplicas\fR
+\fR
+.RE
+.RS +9
+Default maximum number of copies of data blocks for a file. Valid
+values are 1 and 2 but cannot be less than
+\fIDefaultDataReplicas\fR. The default is 1.
+.RE
+.PP
+.RS +3
+\fB-S {yes | \fB\fIno\fR\fR}
+\fR
+.RE
+.RS +9
+Suppress the periodic updating of the value of \fBatime\fR as reported
+by the \fBgpfs_stat()\fR, \fBgpfs_fstat()\fR, \fBstat()\fR, and
+\fBfstat()\fR calls. The default value is \fB-S no\fR.
+Specifying \fB-S yes\fR for a new file system results in reporting the time
+the file system was created.
+.RE
+.PP
+.RS +3
+\fB-v {\fB\fIyes\fR\fR | no}
+\fR
+.RE
+.RS +9
+Verify that specified disks do not belong to an existing file
+system. The default is \fB-v yes\fR. Specify \fB-v no\fR
+only when you want to reuse disks that are no longer needed for an existing
+file system. If the command is interrupted for any reason, you must use
+the \fB-v no\fR option on the next invocation of the command.
+.RE
+.PP
+.RS +3
+\fB-z {\fByes\fR | \fB\fIno\fR\fR}
+\fR
+.RE
+.RS +9
+Enable or disable DMAPI on the file system. The default is \fB-z
+no\fR. For further information on DMAPI for GPFS, see \fIGeneral
+Parallel File System: Data Management API Guide\fR.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmcrfs\fR command.
+.PP
+You may issue the \fBmmcrfs\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the \fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.PP
+When considering data replication for files accessible to SANergy, see
+\fISANergy export considerations\fR in \fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.SH "Examples"
+.PP
+This example creates a file system named \fBgpfs1\fR, using three disks,
+with a block size of 512 KB, allowing metadata and data replication to be 2
+and turning quotas on:
+.sp
+.nf
+mmcrfs /gpfs1 gpfs1 "hd3vsdn100;sdbnsd;sdensd" -B 512K -M 2 -R 2 -Q yes
+.fi
+.sp
+.PP
+The system displays output similar to:
+.sp
+.nf
+The following disks of gpfs1 will be formatted on node k5n95.kgn.ibm.com:
+hd3vsdn100: size 17760256 KB
+sdbnsd: size 70968320 KB
+sdensd: size 70968320 KB
+Formatting file system ...
+Disks up to size 208 GB can be added to storage pool system.
+Creating Inode File
+Creating Allocation Maps
+Clearing Inode Allocation Map
+Clearing Block Allocation Map
+Completed creation of file system /dev/gpfs1.mmcrfs:\ 
+Propagating the cluster configuration data to allaffected nodes.\ 
+This is an asynchronous process.
+.fi
+.sp
+.SH "See also"
+.PP
+mmchfs Command
+.PP
+mmdelfs Command
+.PP
+mmdf Command
+.PP
+mmedquota Command
+.PP
+mmfsck Command
+.PP
+mmlsfs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmcrnsd.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmcrnsd.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmcrnsd.8	(revision 16)
@@ -0,0 +1,488 @@
+.TH mmcrnsd 02/16/06
+mmcrnsd Command
+.SH "Name"
+.PP
+\fBmmcrnsd\fR - Creates cluster-wide names for Network Shared Disks
+(NSDs) used by GPFS.
+.SH "Synopsis"
+.PP
+\fBmmcrnsd\fR \fB-F\fR \fIDescFile\fR [\fB-v\fR {\fB\fIyes\fR\fR |\fBno\fR}]
+.SH "Description"
+.PP
+The \fBmmcrnsd\fR command is used to create cluster-wide names for NSDs
+used by GPFS.
+.PP
+This is the first GPFS step in preparing a disk for use by a GPFS
+file system. A disk descriptor file supplied to this command is
+rewritten with the new NSD names and that rewritten disk descriptor file can
+then be supplied as input to the
+\fBmmcrfs\fR, \fBmmadddisk\fR or \fBmmrpldisk\fR commands.
+.PP
+The name created by the \fBmmcrnsd\fR command is necessary since disks
+connected at multiple nodes may have differing disk device names in
+\fB/dev\fR on each node. The name uniquely identifies the
+disk. This command must be run for all disks that are to be used in
+GPFS file systems. The \fBmmcrnsd\fR command is also used to assign
+a primary and backup NSD server that can be used for I/O operations on behalf
+of nodes that do not have direct access to the disk.
+.PP
+To identify that the disk has been processed by the \fBmmcrnsd\fR command,
+a unique NSD volume ID is written on sector 2 of the disk. All of the
+NSD commands (\fBmmcrnsd\fR,
+\fBmmlsnsd\fR, and \fBmmdelnsd\fR) use this unique NSD volume ID to
+identify and process NSDs.
+.PP
+After the NSDs are created, the GPFS cluster data is updated and they are
+available for use by GPFS.
+.PP
+When using an IBM  pSeries High Performance Switch
+(pSeries HPS) in your configuration, it is suggested you process your disks in
+two steps:
+.RS +3
+.HP 3
+1. 
+Create virtual shared disks on each physical disk through the \fBmmcrvsd\fR command.
+.HP 3
+2. 
+Using the rewritten disk descriptors from the \fBmmcrvsd\fR command, create NSDs through the
+\fBmmcrnsd\fR command.
+.RE
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmcrnsd\fR command, these tasks are
+completed:
+.RS +3
+.HP 3
+\(bu NSDs are created.
+.HP 3
+\(bu The \fIDescFile\fR contains NSD names to be used as input to the \fBmmcrfs\fR,
+\fBmmadddisk\fR,
+or the
+\fBmmrpldisk\fR commands.
+.HP 3
+\(bu 
+A unique NSD volume ID to identify the disk as an NSD has been written on
+sector 2.
+.HP 3
+\(bu 
+An entry for each new disk is created in the GPFS cluster data.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB-F \fIDescFile\fR
+\fR
+.RE
+.RS +9
+The file containing the list of disk descriptors, one per line.
+Disk descriptors have this format:
+.sp
+.nf
+DiskName:PrimaryServer:BackupServer:DiskUsage:FailureGroup:
+DesiredName:StoragePool
+.fi
+.sp
+.PP
+.RS +3
+\fB\fIDiskName\fR
+\fR
+.RE
+.RS +9
+.PP
+The block device name appearing in \fB/dev\fR for the disk you want to
+define as an NSD. Examples of disks accessible through a block device
+are SAN-attached disks or virtual shared disks. If a
+\fIPrimaryServer\fR node is specified, \fIDiskName\fR must be the
+\fB/dev\fR name for the disk device on the primary NSD server node.
+See the Frequently Asked Questions at publib.boulder.ibm.com/infocenter/clresctr/
+topic/com.ibm.cluster.gpfs.doc/
+gpfs_faqs/gpfsclustersfaq.html for the latest supported disk
+types.
+.PP
+GPFS provides the
+\fBmmcrvsd\fR helper
+command. In an AIX environment, this command can be used to configure
+virtual shared disks and make them accessible to nodes connected over a high
+performance switch. The output disk descriptor file from an \fBmmcrvsd\fR command can be used as input to the
+\fBmmcrnsd\fR command
+.RE
+.PP
+.RS +3
+\fB\fIPrimaryServer\fR
+\fR
+.RE
+.RS +9
+The name of the primary NSD server node. 
+.PP
+If this field is omitted, the disk is assumed to be SAN-attached to all
+nodes in the cluster. If not all nodes in the cluster have access to
+the disk, or if the file system to which the disk belongs is to be accessed by
+other GPFS clusters, \fIPrimaryServer\fR must be specified.
+.RE
+.PP
+.RS +3
+\fB\fIBackupServer\fR
+\fR
+.RE
+.RS +9
+The name of the backup NSD server node. 
+.PP
+If the \fIPrimaryServer\fR has been specified and this field is omitted,
+it is assumed you do not want failover in the event that the
+\fIPrimaryServer\fR fails. If \fIBackupServer\fR is specified and
+the \fIPrimaryServer\fR has not been specified, the command fails.
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.PP
+.RS +3
+\fB\fIDiskUsage\fR
+\fR
+.RE
+.RS +9
+Specify a disk usage or accept the default. This field is ignored
+by the \fBmmcrnsd\fR command, and is passed unchanged to the output
+descriptor file produced by the \fBmmcrnsd\fR command. Possible
+values are: 
+.PP
+.RS +3
+\fBdataAndMetadata
+\fR
+.RE
+.RS +9
+Indicates that the disk contains both data and metadata. This is
+the default.
+.RE
+.PP
+.RS +3
+\fBdataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains data and does not contain
+metadata.
+.RE
+.PP
+.RS +3
+\fBmetadataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains metadata and does not contain
+data.
+.RE
+.PP
+.RS +3
+\fBdescOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains no data and no file metadata. Such
+a disk is used solely to keep a copy of the file system descriptor, and can be
+used as a third failure group in certain disaster recovery
+configurations. For more information, see
+\fIGeneral Parallel File System: Advanced
+Administration\fR and search on \fISynchronous mirroring utilizing
+GPFS replication\fR.
+.RE
+.RE
+.PP
+.RS +3
+\fB\fIFailureGroup\fR
+\fR
+.RE
+.RS +9
+A number identifying the failure group to which this disk belongs.
+You can specify any value from -1 (where -1 indicates that the disk has no
+point of failure in common with any other disk) to 4000. If you do not
+specify a failure group, the value defaults to the NSD primary server node
+number plus 4000. If an NSD server node is not specified, the value
+defaults to -1. 
+.PP
+GPFS uses this information during data and metadata placement to assure
+that no two replicas of the same block are written in such a way as to become
+unavailable due to a single failure. All disks that are attached to the
+same NSD server or adapter should be placed in the same failure group.
+.RE
+.PP
+.RS +3
+\fB\fIDesiredName\fR
+\fR
+.RE
+.RS +9
+Specify the name you desire for the NSD to be created. This name
+must not already be used as another GPFS disk name, and it must not begin with
+the reserved string 'gpfs'. 
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+This name can contain only the following characters: 'A'
+through 'Z', 'a' through 'z', '0'
+through '9', or '_' (the underscore). All other
+characters are not valid.
+.RE
+.PP
+If a desired name is not specified, the NSD is assigned a name according to
+the convention:
+.PP
+.RS +3
+\fBgpfs\fINN\fRnsd
+\fR
+.RE
+.RS +9
+where \fINN\fR is a unique nonnegative integer not used in any prior
+NSD.
+.RE
+.RE
+.PP
+.RS +3
+\fB\fIStoragePool\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the storage pool that the NSD is assigned to.
+This field is ignored by the \fBmmcrnsd\fR command, and is passed unchanged
+to the output descriptor file produced by the \fBmmcrnsd\fR
+command.
+.RE
+.RE
+.PP
+Upon successful completion of the \fBmmcrnsd\fR command, the
+\fIDescFile\fR file is rewritten to contain the created NSD names in place
+of the device name. Primary and backup NSD servers and
+\fIdesiredName\fR are omitted from the rewritten disk descriptor and all
+other fields, if specified, are copied without modification. The
+original lines, as well as descriptor lines in error, are commented out and
+preserved for reference. The rewritten disk descriptor file can then be
+used as input to the
+\fBmmcrfs\fR, \fBmmadddisk\fR, or the \fBmmrpldisk\fR commands. You must have
+\fBwrite\fR access to the directory where the \fIDescFile\fR file is
+located in order to rewrite the created NSD information.
+.PP
+The \fIDisk Usage\fR and \fIFailure Group\fR specifications in the
+disk descriptor are preserved only if you use the rewritten file produced by
+the \fBmmcrnsd\fR command. If you do not use this file, you must
+either accept the default values or specify new values when creating disk
+descriptors for other commands.
+.SH "Options"
+.PP
+.RS +3
+\fB -v {\fB\fIyes\fR\fR |\fBno\fR}
+\fR
+.RE
+.RS +9
+Verify the disk is not already formatted as an NSD.
+.PP
+A value of \fB-v yes\fR specifies that the NSD are to be created only
+if the disk has not been formatted by a previous invocation of the
+\fBmmcrnsd\fR command, as indicated by the NSD volume ID on sector 2 of the
+disk. A value of \fB-v no\fR specifies that the disk is to be
+formatted irrespective of its previous state. The default is \fB-v
+yes\fR.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmcrnsd\fR command.
+.PP
+You may issue the \fBmmcrnsd\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory, on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To create your NSDs from the descriptor file \fBnsdesc\fR
+containing: 
+.sp
+.nf
+ sdav1:k145n05:k145n06:dataOnly:4::poolA\ 
+ sdav2:k145n04::dataAndMetadata:5:ABC
+.fi
+.sp
+.PP
+Issue this command:
+.sp
+.nf
+mmcrnsd -F nsdesc\ 
+.fi
+.sp
+.PP
+These descriptors translate as:
+.PP
+.RS +3
+\fBDisk Name
+\fR
+.RE
+.RS +9
+sdav1
+.RE
+.PP
+.RS +3
+\fBPrimaryServer Name
+\fR
+.RE
+.RS +9
+k145n05
+.RE
+.PP
+.RS +3
+\fBBackupServer Name
+\fR
+.RE
+.RS +9
+k145n06
+.RE
+.PP
+.RS +3
+\fBDisk Usage
+\fR
+.RE
+.RS +9
+\fBdataOnly\fR
+.RE
+.PP
+.RS +3
+\fBFailure Group
+\fR
+.RE
+.RS +9
+4
+.RE
+.PP
+.RS +3
+\fBStorage Pool
+\fR
+.RE
+.RS +9
+poolA
+.RE
+.PP
+and 
+.PP
+.RS +3
+\fBDisk Name
+\fR
+.RE
+.RS +9
+sdav2
+.RE
+.PP
+.RS +3
+\fBServer Name
+\fR
+.RE
+.RS +9
+k145n04
+.RE
+.PP
+.RS +3
+\fBBackup Server Name
+\fR
+.RE
+.RS +9
+none
+.RE
+.PP
+.RS +3
+\fBDisk Usage
+\fR
+.RE
+.RS +9
+\fBdataAndMetadata,\fR allowing both
+.RE
+.PP
+.RS +3
+\fBFailure Group
+\fR
+.RE
+.RS +9
+5
+.RE
+.PP
+.RS +3
+\fBDesired Name
+\fR
+.RE
+.RS +9
+ABC
+.RE
+.PP
+.RS +3
+\fBStorage Pool
+\fR
+.RE
+.RS +9
+system
+.RE
+.PP
+\fBnsdesc\fR is rewritten as 
+.sp
+.nf
+#sdav1:k145n05:k145n06:dataOnly:4::poolA
+gpfs20nsd:::dataOnly:4::poolA
+#sdav2:k145n04::dataAndMetadata:5:ABC
+ABC:::dataAndMetadata:5
+.fi
+.sp
+.PP
+The output is similar to this:
+.sp
+.nf
+mmcrnsd: Processing disk sdav1
+mmcrnsd: Processing disk sdav2
+mmcrnsd: 6027-1371 Propagating the changes to all affected
+                   nodes. This is an asynchronous process.
+.fi
+.sp
+.SH "See also"
+.PP
+mmadddisk Command
+.PP
+mmcrfs Command
+.PP
+mmdeldisk Command
+.PP
+mmdelnsd Command
+.PP
+mmlsnsd Command
+.PP
+mmrpldisk Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmcrsnapshot.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmcrsnapshot.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmcrsnapshot.8	(revision 16)
@@ -0,0 +1,219 @@
+.TH mmcrsnapshot 02/16/06
+mmcrsnapshot Command
+.SH "Name"
+.PP
+\fBmmcrsnapshot\fR - Creates a snapshot of an entire GPFS file system
+at a single point in time.
+.SH "Synopsis"
+.PP
+\fBmmcrsnapshot\fR \fIDevice\fR \fIDirectory\fR
+.SH "Description"
+.PP
+Use the \fBmmcrsnapshot\fR command to create a snapshot of an entire
+GPFS file system at a single point in time.
+.PP
+A snapshot is a copy of the changed user data in the file system.
+System data and existing snapshots are not copied. The snapshot
+function allows a backup or mirror program to run concurrently with user
+updates and still obtain a consistent copy of the file system as of the time
+the copy was created. Snapshots are exact copies of changed data in the
+active files and directories of a file system. Snapshots of a file
+system are read-only and are stored in a \fB.snapshots\fR
+directory. The files and attributes of the file system may be changed
+only in the active copy.
+.PP
+There is a maximum limit of 31 snapshots per file system. Snapshots may
+be deleted only by issuing the
+\fBmmdelsnapshot\fR
+command. The \fB.snapshots\fR directory cannot be
+deleted.
+.PP
+If the \fBmmcrsnapshot\fR command is issued while a conflicting command
+is running, the \fBmmcrsnapshot\fR command waits for that command to
+complete. If the \fBmmcrsnapshot\fR command is running while a
+conflicting command is issued, the conflicting command waits for the
+\fBmmcrsnapshot\fR command to complete. Conflicting operations
+include: 
+.RS +3
+.HP 3
+1. Other snapshot commands
+.HP 3
+2. Adding, deleting, replacing disks in the file system
+.HP 3
+3. Rebalancing, repairing, reducing disk fragmentation in a file system
+.RE
+.PP
+If quorum is lost before the \fBmmcrsnapshot\fR command completes, the
+snapshot is considered partial and will be deleted when quorum is achieved
+again.
+.PP
+Because snapshots are not copies of the entire file system, they should not
+be used as protection against media failures. For protection against
+media failures, see
+\fIGeneral Parallel File
+System: Concepts, Planning, and Installation Guide\fR and search
+on \fIrecoverability considerations\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system for which the snapshot is to be
+created. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB\fIDirectory\fR
+\fR
+.RE
+.RS +9
+The subdirectory name where the snapshots are stored.
+.PP
+This is a subdirectory of the root directory and must be a unique name
+within the root directory. If you do not want to traverse the root to
+access the snapshot you can create a symbolic link to the snapshot by issuing
+the
+\fBmmsnapdir\fR command.
+.RE
+.SH "Options"
+.PP
+NONE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmcrsnapshot\fR
+command.
+.PP
+You may issue the \fBmmcrsnapshot\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To create a snapshot \fBsnap1\fR, for the file system \fBfs1\fR,
+issue this command:
+.sp
+.nf
+mmcrsnapshot fs1 snap1
+.fi
+.sp
+.PP
+The output is similar to this:
+.sp
+.nf
+Writing dirty data to disk
+Quiescing all file system operations
+Writing dirty data to disk again
+Creating snapshot.
+Resuming operations.
+.fi
+.sp
+.PP
+Before issuing the command, the directory structure would appear similar
+to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+.fi
+.sp
+.PP
+After the command has been issued, the directory structure would appear
+similar to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+/fs1/.snapshots/snap1/file1
+/fs1/.snapshots/snap1/userA/file2
+/fs1/.snapshots/snap1/userA/file3
+.fi
+.sp
+.PP
+If a second snapshot were to be created at a later time, the first snapshot
+would remain as is. Snapshots are made only of active file systems, not
+existing snapshots. For example:
+.sp
+.nf
+mmcrsnapshot fs1 snap2
+.fi
+.sp
+.PP
+The output is similar to this:
+.sp
+.nf
+Writing dirty data to disk
+Quiescing all file system operations
+Writing dirty data to disk again
+Creating snapshot.
+Resuming operations.
+.fi
+.sp
+.PP
+After the command has been issued, the directory structure would appear
+similar to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+/fs1/.snapshots/snap1/file1
+/fs1/.snapshots/snap1/userA/file2
+/fs1/.snapshots/snap1/userA/file3
+/fs1/.snapshots/snap2/file1
+/fs1/.snapshots/snap2/userA/file2
+/fs1/.snapshots/snap2/userA/file3
+.fi
+.sp
+.SH "See also"
+.PP
+mmdelsnapshot Command
+.PP
+mmlssnapshot Command
+.PP
+mmrestorefs Command
+.PP
+mmsnapdir Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmcrvsd.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmcrvsd.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmcrvsd.8	(revision 16)
@@ -0,0 +1,577 @@
+.TH mmcrvsd 03/16/06
+mmcrvsd Command
+.SH "Name"
+.PP
+\fBmmcrvsd\fR - Creates virtual shared disks for use by GPFS.
+.SH "Synopsis"
+.PP
+\fBmmcrvsd\fR [\fB-f\fR \fIFanoutNumber\fR]
+[\fB-y\fR] [\fB-c\fR] \fB-F\fR \fIDescFile\fR
+.SH "Description"
+.PP
+The \fBmmcrvsd\fR command can be used to create virtual shared
+disks for subsequent use by the
+\fBmmcrnsd\fR
+command. IBM Virtual shared disk is a subsystem that permits
+application programs that are running on different nodes of an RSCT peer
+domain access a raw logical volume as if it were local at each of the
+nodes. Virtual shared disks created with \fBmmcrvsd\fR follow the
+convention of one local volume group, one local logical volume, one global
+volume group, and one virtual shared disk per physical volume. After
+the virtual shared disk is created, it is configured and started on each node
+with a defined virtual shared disk adapter. See the
+\fBupdatevsdnode\fR command in the correct manual for your environment
+at: publib.boulder.ibm.com/clresctr/windows/public/rsctbooks.html.
+.PP
+The \fBmmcrvsd\fR command can be used only in the AIX
+environment.
+.PP
+Where possible, the \fBmmcrvsd\fR command creates and starts virtual
+shared disk components in parallel. For instance, when multiple
+physical disk servers are specified in the disk descriptor file, their LVM
+components are created in parallel. Starting of all virtual shared
+disks, on all nodes, always occurs in parallel.
+.PP
+The \fBmmcrvsd\fR command may also be restarted should one of the steps
+fail.
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmcrvsd\fR command:
+.RS +3
+.HP 3
+\(bu Virtual shared disks are created.
+.sp
+If a desired name \fBvsdname\fR is specified on the disk descriptor,
+\fBmmcrvsd\fR uses that name for the name of the virtual shared
+disk. If a desired name is not specified, the virtual shared disk is
+assigned a name according to the convention:
+.sp
+.RS +3
+\fBgpfs\fINN\fRvsd
+\fR
+.RE
+.RS +9
+where \fINN\fR is a unique nonnegative integer not used in any prior
+virtual shared disk named with this convention.
+.RE
+.HP 3
+\(bu Virtual shared disks are synchronously started on all nodes.
+.HP 3
+\(bu If a desired name \fBvsdname\fR is specified on the disk
+descriptor, \fBmmcrvsd\fR uses that name as the basis for the names of the
+global volume group, local logical volume, and local volume group according to
+the convention:
+.sp
+.RS +3
+\fBvsdnamegvg
+\fR
+.RE
+.RS +9
+the global volume group
+.RE
+.sp
+.RS +3
+\fBvsdnamelv
+\fR
+.RE
+.RS +9
+the local logical volume
+.RE
+.sp
+.RS +3
+\fBvsdnamevg
+\fR
+.RE
+.RS +9
+the local volume group
+.RE
+.HP 3
+\(bu If a desired name is not specified, the global volume group, local logical
+volume, and local volume group for the virtual shared disk are named according
+to the convention:
+.sp
+.RS +3
+\fBgpfs\fINN\fRgvg
+\fR
+.RE
+.RS +9
+the global volume group
+.RE
+.sp
+.RS +3
+\fBgpfs\fINN\fRlv
+\fR
+.RE
+.RS +9
+the local logical volume
+.RE
+.sp
+.RS +3
+\fBgpfs\fINN\fRvg
+\fR
+.RE
+.RS +9
+the local volume group
+.RE
+.sp
+where gpfs\fINN\fRvsd was the name chosen for the virtual shared
+disk.
+.HP 3
+\(bu The primary server is configured and the volume group is varied
+online there.
+.HP 3
+\(bu The backup server is configured and the volume group is imported there,
+but varied off.
+.HP 3
+\(bu The \fIDescFile\fR file is rewritten to contain the created virtual
+shared disk names in place of any disk descriptors containing physical disk or
+vpath names. Primary and backup servers are omitted from the rewritten
+disk descriptor and all other fields, if specified, are copied without
+modification. The rewritten disk descriptor file can then be used as
+input to the
+\fBmmcrnsd\fR command.
+.RE
+.PP
+\fBError recovery\fR
+.PP
+Each step of the \fBmmcrvsd\fR process is enumerated during
+command execution. For example at step 0, the \fBmmcrvsd\fR command
+prints:
+.sp
+.nf
+Step \fI0\fR: Setting up environment
+.fi
+.sp
+.PP
+As each step is started, its corresponding number is recorded in the
+\fIDescFile\fR file as a comment at the end. This comment serves as
+restart information to subsequent invocations of the \fBmmcrvsd\fR
+command. For example at step one, the recorded comment would be:
+.sp
+.nf
+#MMCRVSD_STEP=\fI0\fR
+.fi
+.sp
+.PP
+Upon failure, appropriate error messages from the failing system component
+are displayed along with \fBmmcrvsd\fR error messages.
+.PP
+After correcting the failing condition and restarting the \fBmmcrvsd\fR
+command with the same descriptor file, the command prompts you to restart at
+the last failing step. For example, if a prior invocation of
+\fBmmcrvsd\fR failed at step one, the prompt would be:
+.sp
+.nf
+A prior invocation of this command has recorded a partial
+completion in the file (/tmp/\fIDescFile\fR).
+Should we restart at prior failing step(\fI1\fR)?[y]/n=>
+.fi
+.sp
+.PP
+The default response is \fBy\fR; yes restart at the prior failing
+step.
+.SH "Parameters"
+.PP
+.RS +3
+\fB-F \fIDescFile\fR
+\fR
+.RE
+.RS +9
+The file containing the list of disk descriptors, one per line, in the
+form:
+.sp
+.nf
+DiskName:PrimaryServer:BackupServer:DiskUsage:FailureGroup:DesiredName:StoragePool
+.fi
+.sp
+.PP
+.RS +3
+\fB\fIDiskName\fR
+\fR
+.RE
+.RS +9
+The device name of the disk you want to use to create a virtual shared
+disk. This can be either an hdisk name or a vpath name for an SDD
+device. GPFS performance and recovery processes function best with one
+disk per virtual shared disk. If you want to create virtual shared
+disks with more than one disk, refer to the correct manual for your
+environment at: publib.boulder.ibm.com/clresctr/windows/public/rsctbooks.html
+.RE
+.PP
+.RS +3
+\fBPrimaryServer
+\fR
+.RE
+.RS +9
+The name of the virtual shared disk server node. This can be in any
+recognizable form.
+.RE
+.PP
+.RS +3
+\fBBackupServer
+\fR
+.RE
+.RS +9
+The backup server name. This can be specified in any recognizable
+form or allowed to default to none.
+.RE
+.PP
+.RS +3
+\fB\fIDisk Usage\fR
+\fR
+.RE
+.RS +9
+Specify a disk usage or accept the default (see
+\fIGeneral Parallel File System: Concepts,
+Planning, and Installation Guide\fR and search on \fIrecoverability
+considerations\fR). This field is ignored by the \fBmmcrvsd\fR
+command and is passed unchanged to the output descriptor file produced by the
+\fBmmcrvsd\fR command. 
+.PP
+.RS +3
+\fBdataAndMetadata
+\fR
+.RE
+.RS +9
+Indicates that the disk contains both data and metadata. This is
+the default.
+.RE
+.PP
+.RS +3
+\fBdataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains data and does not contain
+metadata.
+.RE
+.PP
+.RS +3
+\fBmetadataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains metadata and does not contain
+data.
+.RE
+.PP
+.RS +3
+\fBdescOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains no data and no file metadata. Such
+a disk is used solely to keep a copy of the file system descriptor, and can be
+used as a third failure group in certain disaster recovery
+configurations. For more information, see
+\fIGeneral Parallel File System: Advanced
+Administration\fR and search on \fISynchronous mirroring utilizing
+GPFS replication\fR.
+.RE
+.PP
+.PP
+\fBDisk usage considerations: \fR
+.RS +3
+.sp
+.HP 3
+1. The \fIDiskUsage\fR parameter is not utilized by the \fBmmcrvsd\fR
+command but is copied intact to the output file that the command
+produces. The output file may then be used as input to the
+\fBmmcrnsd\fR command.
+.sp
+.HP 3
+2. RAID devices are not well-suited for performing small block writes.
+Since GPFS metadata writes are often smaller than a full block, you may find
+using non-RAID devices for GPFS metadata better for performance.
+.RE
+.RE
+.PP
+.RS +3
+\fB\fIFailure Group\fR
+\fR
+.RE
+.RS +9
+A number identifying the failure group to which this disk belongs.
+You can specify any value from -1 (where -1 indicates that the disk has no
+point of failure in common with any other disk) to 4000. All disks that
+have a common point of failure, such as all disks that are attached to the
+same virtual shared disk server node, should be placed in the same failure
+group. The value is passed unchanged to the output descriptor file
+produced by the \fBmmcrvsd\fR command. If you do not specify a
+failure group, a failure group will be assigned later by the
+\fBmmcrnsd\fR command.
+.RE
+.PP
+.RS +3
+\fB\fIDesiredName\fR
+\fR
+.RE
+.RS +9
+Specify the name you desire for the virtual shared disk to be
+created. This name must not already be used as another GPFS or AIX disk
+name, and it must not begin with the reserved string 'gpfs'.
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+This name can contain only the following characters: 'A'
+through 'Z', 'a' through 'z', '0'
+through '9', or '_' (the underscore). All other
+characters are not valid. The maximum size of this name is 13
+characters.
+.RE
+.RE
+.PP
+.RS +3
+\fB\fIStoragePool\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the storage pool that the NSD is assigned to.
+This field is ignored by the \fBmmcrvsd\fR command, and is passed unchanged
+to the output descriptor file produced by the \fBmmcrvsd\fR
+command.
+.RE
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-f \fIFanoutNumber\fR
+\fR
+.RE
+.RS +9
+The maximum number of concurrent nodes to communicate with during parallel
+operations. The default value is 10.
+.RE
+.PP
+.RS +3
+\fB-y
+\fR
+.RE
+.RS +9
+Specifies no prompting for any queries the command may produce. All
+default values are accepted.
+.RE
+.PP
+.RS +3
+\fB-c
+\fR
+.RE
+.RS +9
+Specifies to create Concurrent Virtual Shared Disks. This option is
+valid only for disk descriptors that specify both a primary and a backup
+virtual shared disk server.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmcrvsd\fR command.
+.PP
+You may issue the \fBmmcrvsd\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory, on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To create a virtual shared disk with the descriptor file \fBvsdesc\fR
+containing: 
+.sp
+.nf
+ hdisk2:k145n01:k145n02:dataOnly:4
+ hdisk3:k145n06::dataAndMetadata:5:ABC
+.fi
+.sp
+.PP
+These descriptors translate as:
+.PP
+.RS +3
+\fBDisk Name
+\fR
+.RE
+.RS +9
+hdisk2
+.RE
+.PP
+.RS +3
+\fBServer Name
+\fR
+.RE
+.RS +9
+k145n01
+.RE
+.PP
+.RS +3
+\fBBackup Server Name
+\fR
+.RE
+.RS +9
+k145n02
+.RE
+.PP
+.RS +3
+\fBDisk Usage
+\fR
+.RE
+.RS +9
+\fBdataOnly\fR
+.RE
+.PP
+.RS +3
+\fBFailure Group
+\fR
+.RE
+.RS +9
+4
+.RE
+.PP
+.RS +3
+\fBDesired Name
+\fR
+.RE
+.RS +9
+Name defaults to gpfs20vsd
+.RE
+.PP
+and 
+.PP
+.RS +3
+\fBDisk Name
+\fR
+.RE
+.RS +9
+hdisk3
+.RE
+.PP
+.RS +3
+\fBServer Name
+\fR
+.RE
+.RS +9
+k145n06
+.RE
+.PP
+.RS +3
+\fBBackup Server Name
+\fR
+.RE
+.RS +9
+none
+.RE
+.PP
+.RS +3
+\fBDisk Usage
+\fR
+.RE
+.RS +9
+\fBdataAndMetadata\fR
+.RE
+.PP
+.RS +3
+\fBFailure Group
+\fR
+.RE
+.RS +9
+5
+.RE
+.PP
+.RS +3
+\fBDesired Name
+\fR
+.RE
+.RS +9
+ABC
+.RE
+.PP
+The low level components of the virtual shared disk \fBgpfs20vsd\fR are
+created:
+.PP
+.RS +3
+\fBgpfs20gvg
+\fR
+.RE
+.RS +9
+global volume group
+.RE
+.PP
+.RS +3
+\fBgpfs20lv
+\fR
+.RE
+.RS +9
+local logical volume
+.RE
+.PP
+.RS +3
+\fBgpfs20vg
+\fR
+.RE
+.RS +9
+local volume group
+.RE
+.PP
+The low level components of the virtual shared disk \fBABC\fR are
+created:
+.PP
+.RS +3
+\fBABCgvg
+\fR
+.RE
+.RS +9
+global volume group
+.RE
+.PP
+.RS +3
+\fBABClv
+\fR
+.RE
+.RS +9
+local logical volume
+.RE
+.PP
+.RS +3
+\fBABCvg
+\fR
+.RE
+.RS +9
+local volume group
+.RE
+.SH "See also"
+.PP
+mmcrnsd Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdefedquota.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdefedquota.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdefedquota.8	(revision 16)
@@ -0,0 +1,199 @@
+.TH mmdefedquota 03/02/06
+mmdefedquota Command
+.SH "Name"
+.PP
+\fBmmdefedquota\fR - Sets default quota limits to a file
+system.
+.SH "Synopsis"
+.PP
+\fBmmdefedquota\fR {\fB-u\fR | \fB-g\fR | \fB-j\fR}
+\fIDevice\fR
+.SH "Description"
+.PP
+Use the \fBmmdefedquota\fR command to set or change default quota
+limits for new users, group and filesets for a file system. Default quota limits
+for a file system may be set or changed only if the file system was created
+with the \fB-Q yes\fR option on the
+\fBmmcrfs\fR
+command or changed with the
+\fBmmchfs\fR
+command.
+.PP
+The \fBmmdefedquota\fR command displays the current values for these
+limits, if any, and prompts you to enter new values using your default
+editor:
+.RS +3
+.HP 3
+\(bu Current block usage (display only)
+.HP 3
+\(bu Current inode usage (display only)
+.HP 3
+\(bu Inode soft limit
+.HP 3
+\(bu Inode hard limit
+.HP 3
+\(bu Block soft limit
+.sp
+Displayed in \fBKB\fR, but may be specified using \fBk\fR,
+\fBK\fR, \fBm\fR, \fBM\fR, \fBg\fR, or \fBG\fR . If no
+suffix is provided, the number is assumed to be in \fBbytes\fR.
+.HP 3
+\(bu Block hard limit
+.sp
+Displayed in \fBKB\fR, but may be specified using \fBk\fR,
+\fBK\fR, \fBm\fR, \fBM\fR, \fBg\fR, or \fBG\fR. If no
+suffix is provided, the number is assumed to be in \fBbytes\fR.
+.RE
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+A block or inode limit of 0 indicates no limit.
+.RE
+.PP
+The \fBmmdefedquota\fR command waits for the edit window to be closed
+before checking and applying new values. If an incorrect entry is made,
+you must reissue the command and enter the correct values.
+.PP
+When setting quota limits for a file system, replication within the file
+system should be considered. GPFS quota management takes replication
+into account when reporting on and determining if quota limits have been
+exceeded for both block and file usage. In a file system that has
+either type of replication set to a value of two, the values reported on by
+both the
+\fBmmlsquota\fR command and the \fBmmrepquota\fR command are double the value reported
+by the \fBls\fR command.
+.PP
+The EDITOR environment variable must contain a complete path name, for
+example:
+.sp
+.nf
+export EDITOR=/bin/vi
+.fi
+.sp
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to have default quota values set
+for.
+.PP
+File system names need not be fully-qualified. \fBfs0\fR is
+just as acceptable as \fB/dev/fs0\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-g 
+\fR
+.RE
+.RS +9
+Specifies that the default quota value is to be applied for new groups
+accessing the specified file system.
+.RE
+.PP
+.RS +3
+\fB-j
+\fR
+.RE
+.RS +9
+Specifies that the default quota value is to be applied for new filesets
+in the specified file system.
+.RE
+.PP
+.RS +3
+\fB-u 
+\fR
+.RE
+.RS +9
+Specifies that the default quota value is to be applied for new users
+accessing the specified file system.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdefedquota\fR
+command.
+.PP
+You must specify either the \fB-u\fR or the \fB-g\fR option.
+.PP
+GPFS must be running on the node from which the \fBmmdefedquota\fR
+command is issued.
+.SH "Examples"
+.PP
+To set default quotas for new users of the file system \fBfs1\fR,
+issue this command:
+.sp
+.nf
+mmdefedquota -u fs1
+.fi
+.sp
+.PP
+The system displays information in your default editor similar to:
+.sp
+.nf
+*** Edit quota limits for USR DEFAULT entry
+NOTE: block limits will be rounded up to the next multiple
+         of the block size.
+block units may be: K, M, or G.
+fs1: blocks in use: 0K, limits (soft = 0K, hard = 0K)
+inodes in use: 0, limits (soft = 0, hard = 0)
+.fi
+.sp
+.PP
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsquota -d -u
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+                    Block Limits              |         File Limits
+Filesystem type KB quota limit in_doubt grace |files quota limit in_doubt grace
+fs0        USR  0K 2500  10M    0        none |  0     100  1000    0     none
+fs1        USR  no default limits
+fs2        USR  no default limits
+.fi
+.sp
+.SH "See also"
+.PP
+mmcheckquota Command
+.PP
+mmdefquotaoff Command
+.PP
+mmdefquotaon Command
+.PP
+mmedquota Command
+.PP
+mmlsquota Command
+.PP
+mmquotaoff Command
+.PP
+mmrepquota Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdefquotaoff.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdefquotaoff.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdefquotaoff.8	(revision 16)
@@ -0,0 +1,180 @@
+.TH mmdefquotaoff 02/16/06
+mmdefquotaoff Command
+.SH "Name"
+.PP
+\fBmmdefquotaoff\fR - Deactivates default quota limit usage for a
+file system.
+.SH "Synopsis"
+.PP
+\fBmmdefquotaoff\fR [\fB-u\fR]
+[\fB-g\fR] [\fB-j\fR] [\fB-v\fR] ]
+{\fIDevice\fR [\fIDevice\fR...] |
+\fB-a\fR}
+.SH "Description"
+.PP
+The \fBmmdefquotaoff\fR command deactivates default quota limits for
+file systems. If default quota limits are deactivated, new users or
+groups for that file system will then have a default quota limit of 0,
+indicating no limit.
+.PP
+If neither the \fB-u\fR, \fB-j\fR or the \fB-g\fR option is
+specified, the \fBmmdefquotaoff\fR command deactivates all default
+quotas.
+.PP
+If the \fB-a\fR option is not used, \fIDevice\fR must be the last
+parameter specified.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to have default quota values
+deactivated.
+.PP
+If more than one file system is listed, the names must be delimited by a
+space. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Deactivates default quotas for all GPFS file systems in the
+cluster. When used in combination with the \fB-g \fR option, only
+group quotas are deactivated. When used in combination with the
+\fB-u\fR option, only user quotas are deactivated. When used in
+combination with the \fB-j\fR option, only fileset quotas are
+deactivated.
+.RE
+.PP
+.RS +3
+\fB-g 
+\fR
+.RE
+.RS +9
+Specifies that default quotas for groups are to be deactivated.
+.RE
+.PP
+.RS +3
+\fB-j
+\fR
+.RE
+.RS +9
+Specifies that default quotas for filesets are to be
+deactivated.
+.RE
+.PP
+.RS +3
+\fB-u 
+\fR
+.RE
+.RS +9
+Specifies that default quotas for users are to be deactivated.
+.RE
+.PP
+.RS +3
+\fB-v
+\fR
+.RE
+.RS +9
+Prints a message for each file system in which default quotas are
+deactivated.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdefquotaoff\fR
+command.
+.PP
+GPFS must be running on the node from which the \fBmmdefquotaoff\fR
+command is issued.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To deactivate default user quotas on file system \fBfs0\fR, issue this
+command:
+.sp
+.nf
+mmdefquotaoff -u fs0
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsquota -d -u
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+                          Block Limits        |         File Limits
+Filesystem type KB quota limit in_doubt grace | files quota limit in_doubt grace
+fs0        USR  no default limits
+.fi
+.sp
+.HP 3
+2. To deactivate default group quotas on all file systems, issue this
+command:
+.sp
+.nf
+mmdefquotaoff -g -a
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsquota  -d -g
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Default Block Limits        | Default File Limits
+Filesystem type quota limit | quota limit\ 
+fs0:       GRP no default limits
+fs1:       GRP no default limits
+fs2:       GRP no default limits\ 
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmcheckquota Command
+.PP
+mmdefedquota Command
+.PP
+mmdefquotaon Command
+.PP
+mmedquota Command
+.PP
+mmlsquota Command
+.PP
+mmquotaoff Command
+.PP
+mmrepquota Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdefquotaon.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdefquotaon.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdefquotaon.8	(revision 16)
@@ -0,0 +1,232 @@
+.TH mmdefquotaon 02/16/06
+mmdefquotaon Command
+.SH "Name"
+.PP
+\fBmmdefquotaon\fR - Activates default quota limit usage for a file
+system.
+.SH "Synopsis"
+.PP
+\fBmmdefquotaon\fR [\fB-u\fR]
+[\fB-g\fR] [\fB-j\fR] [\fB-v\fR]
+[\fB-d\fR] {\fIDevice\fR
+[\fIDevice\fR... ] | \fB-a\fR}
+.SH "Description"
+.PP
+The \fBmmdefquotaon\fR command activates default quota limits for
+a file system. If default quota limits are not applied, new users,
+groups, or filesets for that file system will have a quota limit of 0,
+indicating no limit.
+.PP
+To use default quotas, the file system must have been created or changed
+with the \fB-Q yes\fR option. See the \fBmmcrfs\fR and
+\fBmmchfs\fR
+commands.
+.PP
+If neither the \fB-u\fR, \fB-j\fR or the \fB-g\fR option is
+specified, the \fBmmdefquotaon\fR command activates all default quota
+limits.
+.PP
+If the \fB-a\fR option is not used, \fIDevice\fR must be the last
+parameter specified.
+.PP
+Default quotas are established for new users, groups of users or
+filesets by issuing the
+\fBmmdefedquota\fR
+command. Under the \fB-d\fR option, all users without an explicitly
+set quota limit will have a default quota limit assigned.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to have default quota values
+activated.
+.PP
+If more than one file system is listed, the names must be delimited by a
+space. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Activates default quotas for all GPFS file systems in the cluster.
+When used in combination with the \fB-g \fR option, only group quotas are
+activated. When used in combination with the \fB-u\fR option, only
+user quotas are activated. When used in combination with the
+\fB-j\fR option, only fileset quotas are activated.
+.RE
+.PP
+.RS +3
+\fB-d 
+\fR
+.RE
+.RS +9
+Specifies that existing users, groups of users, or filesets with no
+established quota limits will have default quota values assigned when the \fBmmdefedquota\fR command is issued.
+.PP
+If this option is not chosen, existing quota entries remain in effect and
+are not governed by the default quota rules.
+.RE
+.PP
+.RS +3
+\fB-g 
+\fR
+.RE
+.RS +9
+Specifies that only a default quota value for group quotas are to be
+activated.
+.RE
+.PP
+.RS +3
+\fB-j
+\fR
+.RE
+.RS +9
+Specifies that default quotas for filesets are to be
+activated.
+.RE
+.PP
+.RS +3
+\fB-u 
+\fR
+.RE
+.RS +9
+Specifies that only a default quota value for users are to be
+activated.
+.RE
+.PP
+.RS +3
+\fB-v
+\fR
+.RE
+.RS +9
+Prints a message for each file system in which default quotas are
+activated.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdefquotaon\fR
+command.
+.PP
+GPFS must be running on the node from which the \fBmmdefquotaon\fR
+command is issued.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To activate default user quotas on file system \fBfs0\fR, issue this
+command:
+.sp
+.nf
+mmdefquotaon -u fs0
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfs fs0 -Q
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+flag value          description
+---- -------------- ----------------------------------------
+ -Q  user           Quotas enforced
+     user           Default quotas enabled\ 
+.fi
+.sp
+.HP 3
+2. To activate default group quotas on all file systems in the cluster, issue
+this command:
+.sp
+.nf
+mmdefquotaon -g -a
+.fi
+.sp
+To confirm the change, individually for each file system, issue this
+command:
+.sp
+.nf
+mmlsfs  fs1 -Q
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+flag value          description
+---- -------------- -----------------------------
+ -Q  group          Quotas enforced
+     group          Default quotas enabled
+.fi
+.sp
+.HP 3
+3. To activate user, group and fileset default quotas on file system
+\fBfs2\fR, issue this command:
+.sp
+.nf
+mmdefquotaon fs2
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfs  fs2 -Q
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+flag value                description
+---- --------------       --------------------------
+ -Q  user;group;fileset   Quotas enforced
+     user;group;fileset   Default quotas enabled\ 
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmcheckquota Command
+.PP
+mmchfs Command
+.PP
+mmcrfs Command
+.PP
+mmdefedquota Command
+.PP
+mmdefquotaoff Command
+.PP
+mmedquota Command
+.PP
+mmlsquota Command
+.PP
+mmquotaoff Command
+.PP
+mmrepquota Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdefragfs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdefragfs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdefragfs.8	(revision 16)
@@ -0,0 +1,201 @@
+.TH mmdefragfs 02/16/06
+mmdefragfs Command
+.SH "Name"
+.PP
+\fBmmdefragfs\fR - Reduces disk fragmentation by increasing the
+number of full free blocks available to the file system.
+.SH "Synopsis"
+.PP
+\fBmmdefragfs\fR \fIDevice\fR [\fB-i\fR]
+[\fB-v\fR] [\fB-u\fR \fIBlkUtilPct\fR]
+.SH "Description"
+.PP
+Use the \fBmmdefragfs\fR command to reduce fragmentation of a file
+system. The \fBmmdefragfs\fR command moves existing file system data
+within a disk to make more efficient use of disk blocks. The data is
+migrated to unused subblocks in partially allocated blocks, thereby increasing
+the number of free full blocks.
+.PP
+The \fBmmdefragfs\fR command can be run against a mounted or unmounted
+file system. However, best results are achieved when the file system is
+unmounted. When a file system is mounted, allocation status may change
+causing retries to find a suitable unused subblock.
+.PP
+If \fBmmdefragfs\fR is issued on a file that is locked by SANergy, the file
+is not de-fragmented.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to have fragmentation reduced.
+File system names need not be fully-qualified. \fBfs0\fR is as
+acceptable as \fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-i
+\fR
+.RE
+.RS +9
+Specifies to query the current disk fragmentation state of the file
+system. Does not perform the actual defragmentation of the disks in the
+file system.
+.RE
+.PP
+.RS +3
+\fB-u \fIBlkUtilPct\fR
+\fR
+.RE
+.RS +9
+The average block utilization goal for the disks in the file
+system. The \fBmmdefragfs\fR command reduces the number of allocated
+blocks by increasing the percent utilization of the remaining blocks.
+The command automatically goes through multiple iterations until
+\fIBlkUtilPct\fR is achieved on all of the disks in the file system or
+until no progress is made in achieving \fIBlkUtilPct\fR from one iteration
+to the next, at which point it exits.
+.RE
+.PP
+.RS +3
+\fB-v
+\fR
+.RE
+.RS +9
+Specifies that the output is verbose.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdefragfs\fR command.
+.PP
+You may issue the \fBmmdefragfs\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on the
+\fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. To query the fragmentation state of file system \fBfs0\fR, issue this
+command:
+.sp
+.nf
+mmdefragfs fs0 -i
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+                         free subblk    free\ 
+disk            disk size  in full  subblk in      %       %
+name          in nSubblk   blocks   fragments free blk blk util
+--------------- --------- --------- --------- --------  -------
+gpfs68nsd         4390912   4270112       551   97.249   99.544
+gpfs69nsd         4390912   4271360       490   97.277   99.590
+                --------- --------- ---------           -------
+(total)           8781824   8541472      1041            99.567
+.fi
+.sp
+.HP 3
+2. To reduce fragmentation of the file system \fBfs0\fR on all defined,
+accessible disks that are not stopped or suspended, issue this command:
+.sp
+.nf
+mmdefragfs fs0\ 
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+                     free subblk           free
+  disk                in full            subblk in       %            %
+  name               blocks    blk       framents     free blk     blk util
+              before     after freed   before after before after before after
+ ----------  ------------------------ ------------- ------------ ------------
+  gpfs57nsd    28896     29888     31    1462   463  50.39 52.12  94.86 98.31
+  gpfs60nsd    41728     43200     46    1834   362  59.49 61.59  93.55 98.66
+             ---------------------  --------------               -----------
+ (total)      70624     73088    77     3296      825             93.63 98.84
+.fi
+.sp
+.HP 3
+3. To reduce fragmentation of all files in the file system \fBfs1\fR
+until the disks have an average block utilization percentage higher then 99%,
+issue this command:
+.sp
+.nf
+mmdefragfs fs1 -u 99\ 
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+WARNING: "fs1" is mounted on 1 nodes(s) and in use on 1 node(s)
+       Start processing: iteration 1 Processing Pass 1 of 1
+       Disk Name gpfs57nsd gpfs60nsd
+   6 % complete
+  12 % complete
+  32 % complete
+  38 % complete
+  43 % complete
+  75 % complete
+  81 % complete
+  92 % complete
+  98 % complete
+                   free subblk              free
+  disk               in full              subblk in        %           %
+  name               blocks     blk       fragments      free blk   blk util
+              before     after freed   before  after before after before after\ 
+  ----------  ------------------------ -------------- ------------ ------------
+  gpfs57nsd     39424     40064    20     1347    589  68.75 69.87  92.48 96.59
+  gpfs60nsd     50688     51456    24     1555    593  72.26 73.36  92.01 96.83\ 
+               ---------------------  --------------               ------------
+  (total)      90112     91520    44     2902    1182             93.63 98.84
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmdf Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdeldisk.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdeldisk.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdeldisk.8	(revision 16)
@@ -0,0 +1,264 @@
+.TH mmdeldisk 03/31/06
+mmdeldisk Command
+.SH "Name"
+.PP
+\fBmmdeldisk\fR - Deletes disks from a GPFS file system.
+.SH "Synopsis"
+.PP
+\fBmmdeldisk\fR \fIDevice\fR
+{"\fIDiskDesc\fR[;\fIDiskDesc\fR...]"
+| \fB-F\fR \fIDescFile\fR} [\fB-a\fR]
+[\fB-c\fR] [\fB-r\fR] [\fB-N\fR
+{\fINode\fR[,\fINode\fR...] | \fINodeFile\fR | \fINodeClass\fR}]
+.SH "Description"
+.PP
+The \fBmmdeldisk\fR command migrates all data that would otherwise be
+lost to the remaining disks in the file system. It then removes the
+disks from the file system descriptor and optionally rebalances the file
+system after removing the disks.
+.PP
+Run the \fBmmdeldisk\fR command when system demand is low.
+.PP
+I/O operations from SANergy clients must terminate before using the
+\fBmmdeldisk\fR command. If not, the client applications receive an
+error.
+.PP
+If a replacement for a failing disk is available, use the \fBmmrpldisk\fR command in order to keep the file system
+balanced. Otherwise, use one of these procedures to delete a
+disk:
+.RS +3
+.HP 3
+\(bu If the disk is not failing and GPFS can still read from it:
+.RS +3
+.HP 3
+1. Suspend the disk
+.HP 3
+2. Restripe to rebalance all data onto other disks
+.HP 3
+3. Delete the disk
+.RE
+.HP 3
+\(bu If the disk is permanently damaged and the file system is
+replicated:
+.RS +3
+.HP 3
+1. Suspend and stop the disk.
+.HP 3
+2. restripe and restore replication for the file system, if possible.
+.HP 3
+3. Delete the disk from the file system.
+.RE
+.HP 3
+\(bu If the disk is permanently damaged and the file system is not replicated,
+or if the \fBmmdeldisk\fR command repeatedly fails, see the
+\fIGeneral Parallel File System: Problem
+Determination Guide\fR and search for \fIDisk media
+failure\fR.
+.RE
+.PP
+If the last disk in a storage pool is deleted, the storage pool is
+deleted. The \fBmmdeldisk\fR command is not permitted to delete the
+\fBsystem\fR storage pool. A storage pool must be empty in order for
+it to be deleted.
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmdeldisk\fR command, these tasks
+are completed:
+.RS +3
+.HP 3
+\(bu Data that has not been replicated from the target disks is migrated to
+other disks in the file system.
+.HP 3
+\(bu Remaining disks are rebalanced, if specified.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to delete the disks from. File
+system names need not be fully-qualified. \fBfs0\fR is as acceptable
+as \fB/dev/fs0\fR. This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB"\fIDiskDesc\fR[;\fIDiskDesc\fR...]"
+.PP
+\fR
+.RE
+.RS +9
+The disk descriptors of the disks to be deleted from the file
+system. If there is more than one disk to be deleted, delimit each
+descriptor with a semicolon (;) and enclose the list of disk descriptors
+in quotation marks.
+.RE
+.PP
+.RS +3
+\fB-F \fIDescFile\fR
+\fR
+.RE
+.RS +9
+A file that contains a list of disk descriptors, one per line representing
+disks, to be deleted.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR }
+\fR
+.RE
+.RS +9
+Specify the nodes that participate in the restripe of the file system
+after the specified disks have been removed. This command supports all
+defined node classes. The default is \fBall\fR (all nodes in the
+GPFS cluster will participate in the restripe of the file system).
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a 
+\fR
+.RE
+.RS +9
+Specifies that the \fBmmdeldisk\fR command \fInot\fR wait for
+rebalancing to complete before returning. When this flag is specified,
+the \fBmmdeldisk\fR command runs asynchronously and returns after the file
+system descriptor is updated and the rebalancing scan is started, but it does
+not wait for rebalancing to finish. If no rebalancing is requested
+(\fB-r \fR option is not specified), this option has no effect.
+.RE
+.PP
+.RS +3
+\fB-c
+\fR
+.RE
+.RS +9
+Specifies that processing continues even in the event that unreadable data
+exists on the disks being deleted. Data that has not been replicated is
+lost. Replicated data is not lost as long as the disks containing the
+replication are accessible.
+.RE
+.PP
+.RS +3
+\fB-r 
+\fR
+.RE
+.RS +9
+Rebalance all existing files in the file system to make more efficient use
+of the remaining disks.
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+Rebalancing of files is an I/O intensive and time consuming operation, and is
+important only for file systems with large files that are mostly
+invariant. In many cases, normal file update and creation will
+rebalance your file system over time, without the cost of the
+rebalancing.
+.RE
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdeldisk\fR command.
+.PP
+You may issue the \fBmmdeldisk\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To delete \fBgpfs2nsd\fR and \fBgpfs3nsd\fR from file system
+\fBfs0\fR and rebalance the files across the remaining disks, issue this
+command:
+.sp
+.nf
+mmdeldisk fs0 "gpfs2nsd;gpfs3nsd" -r
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+Dleting disks ...
+Scanning 'system' storage pool
+Scanning file system metadata, phase 1 ...\ 
+Scan completed successfully.
+Scanning file system metadata, phase 2 ...\ 
+Scan completed successfully.
+Scanning file system metadata, phase 3 ...\ 
+Scan completed successfully.
+Scanning file system metadata, phase 4 ...\ 
+Scan completed successfully.
+Scanning user file metadata ...
+   2 %  complete on Tue Feb 14 14:45:18 2006
+   3 %  complete on Tue Feb 14 14:45:21 2006
+   9 %  complete on Tue Feb 14 14:45:24 2006
+  18 %  complete on Tue Feb 14 14:45:27 2006
+  27 %  complete on Tue Feb 14 14:45:35 2006
+  28 %  complete on Tue Feb 14 14:45:39 2006
+  29 %  complete on Tue Feb 14 14:45:43 2006
+  30 %  complete on Tue Feb 14 14:45:52 2006
+  34 %  complete on Tue Feb 14 14:46:04 2006
+  37 %  complete on Tue Feb 14 14:46:18 2006
+  45 %  complete on Tue Feb 14 14:46:22 2006
+  51 %  complete on Tue Feb 14 14:46:26 2006
+  94 %  complete on Tue Feb 14 14:46:29 2006
+ 100 %  complete on Tue Feb 14 14:46:32 2006
+Scan completed successfully.
+tsdeldisk64 completed.
+mmdeldisk: Propagating the cluster configuration data to all
+  affected nodes.  This is an asynchronous process.
+.fi
+.sp
+.SH "See also"
+.PP
+mmadddisk Command
+.PP
+mmchdisk Command
+.PP
+mmlsdisk Command
+.PP
+mmrpldisk Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdelfileset.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdelfileset.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdelfileset.8	(revision 16)
@@ -0,0 +1,248 @@
+.TH mmdelfileset 04/06/06
+mmdelfileset Command
+.SH "Name"
+.PP
+\fBmmdelfileset\fR - Deletes a GPFS fileset.
+.SH "Synopsis"
+.PP
+\fBmmdelfileset\fR \fIDevice\fR \fIFilesetName\fR \fB[-f]\fR
+.SH "Description"
+.PP
+The \fBmmdelfileset\fR command deletes a GPFS fileset. The
+\fBmmdelfileset\fR command fails if the fileset is currently linked into
+the name space. By default, the \fBmmdelfileset\fR command fails if
+the fileset contains any contents except for an empty root
+directory.
+.PP
+The root fileset cannot be deleted.
+.PP
+If the deleted fileset is included in a snapshot, the fileset is
+deleted from the active file system, but remains part of the file system in a
+deleted state. Filesets in the deleted state are displayed by the
+\fBmmlsfileset\fR command with their
+names in parenthesis. If the \fB-L\fR flag is specified, the latest
+including snapshot is also displayed. A deleted fileset's contents
+are still available in the snapshot (that is, through some path name
+containing a \fB.snapshots\fR component), since it was saved when
+the snapshot was created.
+\fBmmlsfileset\fR command illustrates
+the display of a deleted fileset. When the last snapshot that includes
+the fileset has been deleted, the fileset is fully removed from the file
+system.
+.PP
+The delete operation fails if fileset being deleted is not
+empty. You need to specify \fB-f\fR option to delete a non-empty
+fileset. When \fB-f\fR is specified, all of a fileset's child
+filesets are unlinked, but their content is unaffected.
+.PP
+For information on GPFS filesets, see the chapter
+\fIPolicy-based data management for
+GPFS\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system that contains the fileset.
+.PP
+File system names need not be fully-qualified. \fBfs0\fR is as
+acceptable as \fB/dev/fs0\fR.
+.RE
+.PP
+.RS +3
+\fB\fIFilesetName\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the fileset to be deleted.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-f
+\fR
+.RE
+.RS +9
+Forces the deletion of the fileset. All fileset contents are
+deleted. Any child filesets are first unlinked.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdelfileset\fR
+command.
+.PP
+You may issue the \fBmmdelfileset\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. This sequence of commands illustrates what happens when attempting to
+delete a fileset that is linked. 
+.RS +3
+.HP 3
+a. mmlsfileset gpfs1
+.sp
+The system displays output similar to:
+.sp
+.nf
+Filesets in file system 'gpfs1':
+Name                     Status    Path\ 
+fset1                    Linked    /gpfs1/fset1\ 
+fset2                    Unlinked  --\ 
+\ 
+.fi
+.sp
+.HP 3
+b. mmdelfileset gpfs1 fset1
+.sp
+The system displays output similar to:
+.sp
+.nf
+Fileset fset1 must be unlinked to be deleted.
+.fi
+.sp
+.HP 3
+c. mmdelfileset gpfs1 fset2
+.sp
+The system displays output similar to:
+.sp
+.nf
+Fileset 'fset2' deleted.
+.fi
+.sp
+.HP 3
+d. To confirm the change, issue this command:
+.sp
+.nf
+mmlsfileset gpfs1
+.fi
+.sp
+.sp
+The system displays output similar to:
+.sp
+.nf
+Filesets in file system 'gpfs1':
+Name                     Status    Path\ 
+fset1                    Linked    /gpfs1/fset1
+\ 
+.fi
+.sp
+.RE
+.HP 3
+2. This sequence of commands illustrates what happens when attempting to
+delete a fileset that contains user files. 
+.RS +3
+.HP 3
+a. mmlsfileset gpfs1
+.sp
+The system displays output similar to:
+.sp
+.nf
+Filesets in file system 'gpfs1':
+Name                     Status    Path\ 
+fset1                    Linked    /gpfs1/fset1\ 
+fset2                    Unlinked  --\ 
+\ 
+.fi
+.sp
+.HP 3
+b. mmdelfileset gpfs1 fset2
+.sp
+The system displays output similar to:
+.sp
+.nf
+Fileset 'fset2' contains user files,
+but can be deleted with the "-f" option.
+\ 
+.fi
+.sp
+.HP 3
+c. mmdelfileset gpfs1 fset2 -f
+.sp
+The system displays output similar to:
+.sp
+.nf
+Deleting user files ...
+  83 %  complete on Tue Dec 17 11:38:25 2005
+  86 %  complete on Tue Dec 17 11:42:47 2005
+  88 %  complete on Tue Dec 17 11:43:13 2005
+  91 %  complete on Tue Dec 17 11:44:15 2005
+  94 %  complete on Tue Dec 17 11:45:20 2005
+  97 %  complete on Tue Dec 17 11:50:14 2005
+ 100 %  complete on Tue Dec 17 11:50:47 2005
+Fileset 'fset2' deleted.
+\ 
+.fi
+.sp
+.HP 3
+d. To confirm the change, issue this command:
+.sp
+.nf
+mmlsfileset gpfs1
+.fi
+.sp
+.sp
+The system displays output similar to:
+.sp
+.nf
+Filesets in file system 'gpfs1':
+Name                     Status    Path\ 
+fset1                    Linked    /gpfs1/fset1\ 
+\ 
+.fi
+.sp
+.RE
+.RE
+.SH "See also"
+.PP
+mmchfileset Command
+.PP
+mmcrfileset Command
+.PP
+mmlinkfileset Command
+.PP
+mmlsfileset Command
+.PP
+mmunlinkfileset Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdelfs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdelfs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdelfs.8	(revision 16)
@@ -0,0 +1,126 @@
+.TH mmdelfs 02/16/06
+mmdelfs Command
+.SH "Name"
+.PP
+\fBmmdelfs\fR - Removes a GPFS file system.
+.SH "Synopsis"
+.PP
+\fBmmdelfs\fR \fIDevice\fR [\fB-p\fR]
+.SH "Description"
+.PP
+The \fBmmdelfs\fR command removes all the structures for the specified
+file system from the nodes in the cluster.
+.PP
+Before you can delete a file system using the \fBmmdelfs\fR command, you
+must unmount it on all nodes.
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmdelfs\fR command, these tasks are
+completed on all nodes:
+.RS +3
+.HP 3
+\(bu Deletes the character device entry from \fB/dev\fR.
+.HP 3
+\(bu Removes the mount point directory where the file system had been
+mounted.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to be removed. File system names
+need not be fully-qualified. \fBfs0\fR is as acceptable as
+\fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-p 
+\fR
+.RE
+.RS +9
+Indicates that the disks are permanently damaged and the file system
+information should be removed from the GPFS cluster data even if the disks
+cannot be marked as \fBavailable\fR.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdelfs\fR command.
+.PP
+You may issue the \fBmmdelfs\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To delete file system \fBfs0\fR, issue this command:
+.sp
+.nf
+mmdelfs fs0
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+mmdelfs: 6027-1366 Marking the disks as available
+GPFS: 6027-573 All data on following disks of fs0 will be destroyed:
+    gpfs9nsd
+    gpfs10nsd
+    gpfs15nsd
+    gpfs17nsd
+GPFS: 6027-574 Completed deletion of file system fs0.
+mmdelfs: 6027-1371 Propagating the changes to all affected
+                   nodes. This is an asynchronous process.
+.fi
+.sp
+.SH "See also"
+.PP
+mmcrfs Command
+.PP
+mmchfs Command
+.PP
+mmlsfs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdelnode.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdelnode.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdelnode.8	(revision 16)
@@ -0,0 +1,185 @@
+.TH mmdelnode 03/02/06
+mmdelnode Command
+.SH "Name"
+.PP
+\fBmmdelnode\fR Removes one or more nodes from a GPFS cluster.
+.SH "Synopsis"
+.PP
+\fBmmdelnode\fR {\fB-a\fR | \fB-N\fR
+\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR]}
+.SH "Description"
+.PP
+Use the \fBmmdelnode\fR command to delete one or more nodes from the
+GPFS cluster. You may issue the \fBmmdelnode\fR command on any GPFS
+node.
+.PP
+You must follow these rules when deleting nodes:
+.RS +3
+.HP 3
+1. 
+The node being deleted cannot be the primary or secondary GPFS cluster
+configuration server unless you intend to delete the entire cluster.
+Verify this by issuing the
+\fBmmlscluster\fR
+command. If a node to be deleted is one of the servers and you intend
+to keep the cluster, issue the
+\fBmmchcluster\fR
+command to assign another node as the server before deleting the node.
+.HP 3
+2. 
+A node being deleted cannot be the primary or backup NSD server for any disk
+unless you intend to delete the entire cluster. Verify this by issuing
+the
+\fBmmlsnsd\fR command. If a node to be
+deleted is an NSD server for one or more disks, use the \fBmmchnsd\fR command to assign another node as an NSD
+server for the affected disks.
+.HP 3
+3. Unless all nodes in the cluster are being deleted, run the
+\fBmmdelnode\fR command from a node that will remain in the cluster.
+.HP 3
+4. Before you can delete a node, you must unmount all of the GPFS file
+systems and stop GPFS on the node to be deleted.
+.HP 3
+5. 
+Exercise caution when shutting down GPFS on quorum nodes. If the number
+of remaining quorum nodes falls below the requirement for a quorum, you will
+be unable to perform file system operations. See the
+\fIGeneral Parallel File System: Concepts,
+Planning, and Installation Guide\fR and search for
+\fIquorum\fR.
+.RE
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+Since each cluster is managed independently, there is no automatic
+coordination and propagation of changes between clusters like there is between
+the nodes within a cluster. This means that if you permanently delete
+nodes that are being used as contact nodes by other GPFS clusters that can
+mount your file systems, you should notify the administrators of those GPFS
+clusters so that they can update their own environments.
+.RE
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmdelnode\fR command, the specified
+nodes are deleted from the GPFS cluster.
+.SH "Parameters"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Delete all nodes in the cluster.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Specifies the set of nodes to be deleted from the cluster. For
+information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.PP
+This command does not support a \fINodeClass\fR of
+\fBmount\fR.
+.RE
+.SH "Options"
+.PP
+None.
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdelnode\fR command.
+.PP
+You may issue the \fBmmdelnode\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. To delete all of the nodes in the cluster, issue this command:
+.sp
+.nf
+mmdelnode -a
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Verifying GPFS is stopped on all affected nodes ...
+mmdelnode: Command successfully completed
+mmdelnode: 6027-1371 Propagating the cluster configuration data to
+all affected nodes. This is an asynchronous process.
+.fi
+.sp
+.HP 3
+2. To delete nodes \fBk145n12\fR, \fBk145n13\fR, and \fBk145n14\fR,
+issue this command:
+.sp
+.nf
+mmdelnode -N k145n12,k145n13,k145n14
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Verifying GPFS is stopped on all affected nodes ...
+mmdelnode: Command successfully completed
+mmdelnode: 6027-1371 Propagating the cluster configuration data to
+all affected nodes. This is an asynchronous process.
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmaddnode Command
+.PP
+mmcrcluster Command
+.PP
+mmchconfig Command
+.PP
+mmlsfs Command
+.PP
+mmlscluster Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdelnsd.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdelnsd.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdelnsd.8	(revision 16)
@@ -0,0 +1,189 @@
+.TH mmdelnsd 02/16/06
+mmdelnsd Command
+.SH "Name"
+.PP
+\fBmmdelnsd\fR - Deletes Network Shared Disks (NSDs) from the GPFS
+cluster.
+.SH "Synopsis"
+.PP
+\fBmmdelnsd\fR
+{"\fIDiskName\fR[;\fIDiskName\fR...]"
+| \fB-F\fR \fIDiskFile\fR}
+.PP
+Or,
+.PP
+\fBmmdelnsd\fR \fB-p\fR \fINSDId\fR [\fB-N\fR
+{\fINode\fR[,\fINode\fR] }]
+.SH "Description"
+.PP
+The \fBmmdelnsd\fR command serves two purposes:
+.RS +3
+.HP 3
+1. Delete NSDs from the GPFS cluster.
+.HP 3
+2. 
+Remove the unique NSD volume ID left on the disk after the failure of a
+previous invocation of the \fBmmdelnsd\fR command. The NSD had been
+successfully deleted from the GPFS cluster but there was a failure to clear
+sector 2 of the disk.
+.RE
+.PP
+The NSD being deleted cannot be part of any file system. Either the
+\fBmmdeldisk\fR or \fBmmdelfs\fR command must be issued prior to deleting
+the NSD from the GPFS cluster.
+.PP
+The NSD being deleted cannot be a tiebreaker disk. Use the \fBmmchconfig\fR command to assign new tiebreaker disks
+prior to deleting the NSD from the cluster.
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmdelnsd\fR command, these tasks
+are completed:
+.RS +3
+.HP 3
+\(bu All references to the disk are removed from the GPFS cluster data.
+.HP 3
+\(bu Sector 2 of the disk is cleared of the unique NSD volume ID.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDiskName\fR[;\fIDiskName\fR...]
+\fR
+.RE
+.RS +9
+Specifies the names of the NSDs to be deleted from the GPFS
+cluster. Specify the names generated when the NSDs were created.
+Use the
+\fBmmlsnsd -F\fR command to display disk
+names. If there is more than one disk to be deleted, delimit each name
+with a semicolon (;) and enclose the list of disk names in quotation
+marks.
+.RE
+.PP
+.RS +3
+\fB-F \fIDiskFile\fR
+\fR
+.RE
+.RS +9
+Specifies a file containing the names of the NSDs, one per line, to be
+deleted from the GPFS cluster.
+.RE
+.PP
+.RS +3
+\fB-N \fINode\fR[,\fINode\fR]
+\fR
+.RE
+.RS +9
+Specifies the nodes to which the disk is attached. If no nodes are
+listed, the disk is assumed to be directly attached to the local node.
+Only one or two nodes may be specified with the \fB-N\fR flag.
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.PP
+.RS +3
+\fB-p \fINSDId\fR
+\fR
+.RE
+.RS +9
+Specifies the NSD volume ID of an NSD that needs to be cleared from the
+disk as indicated by the failure of a previous invocation of the
+\fBmmdelnsd\fR command.
+.RE
+.SH "Options"
+.PP
+NONE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdelnsd\fR command.
+.PP
+You may issue the \fBmmdelnsd\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To delete \fBgpfs2nsd\fR and \fBgpfs3nsd\fR from the GPFS cluster,
+issue this command:
+.sp
+.nf
+mmdelnsd "gpfs2nsd;gpfs3nsd"
+.fi
+.sp
+.PP
+The system displays output similar to:
+.sp
+.nf
+mmdelnsd: Processing disk gpfs2nsd
+mmdelnsd: Processing disk gpfs3nsd
+mmdelnsd: 6027-1371 Propagating the changes to all affected
+                    nodes. This is an asynchronous process.
+.fi
+.sp
+.PP
+To confirm the deletion, issue this command:
+.sp
+.nf
+mmlsnsd
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+ File system   Disk name    Primary node      Backup node
+ --------------------------------------------------------
+ fs0           gpfs16nsd    k145n06              k145n07
+ fs0           gpfs17nsd    k145n06              k145n07
+ fs0           gpfs18nsd    k145n06              k145n07
+ fs0           gpfs19nsd    k145n06              k145n07
+ fs0           gpfs20nsd    k145n06              k145n07
+ fs1           gpfs1nsd    (directly attached)
+ fs1           gpfs4nsd    (directly attached)\ 
+\ 
+.fi
+.sp
+.SH "See also"
+.PP
+mmcrnsd Command
+.PP
+mmlsnsd Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdelsnapshot.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdelsnapshot.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdelsnapshot.8	(revision 16)
@@ -0,0 +1,161 @@
+.TH mmdelsnapshot 02/16/06
+mmdelsnapshot Command
+.SH "Name"
+.PP
+\fBmmdelsnapshot\fR - Deletes a GPFS snapshot.
+.SH "Synopsis"
+.PP
+\fBmmdelsnapshot\fR \fIDevice\fR \fIDirectory\fR
+.SH "Description"
+.PP
+Use the \fBmmdelsnapshot\fR command to delete a GPFS snapshot.
+.PP
+Once the \fBmmdelsnapshot\fR command has been issued, the snapshot is
+marked for deletion and cannot be recovered.
+.PP
+If the node from which the \fBmmdelsnapshot\fR command is issued fails,
+you must reissue the command from another node in the cluster to complete the
+deletion. Prior to reissuing a subsequent \fBmmdelsnapshot\fR
+command, the file system may be recovered, mounted, and updates may continue
+to be made and the
+\fBmmcrsnapshot\fR command may be
+issued. However, the
+\fBmmrestorefs\fR and
+\fBmmdelsnapshot\fR commands may not be issued on other snapshots until the
+present snapshot is successfully deleted.
+.PP
+If the \fBmmdelsnapshot\fR command is issued while a conflicting command
+is running, the \fBmmdelsnapshot\fR command waits for that command to
+complete. Conflicting operations include: 
+.RS +3
+.HP 3
+1. Other snapshot commands on the same snapshot
+.HP 3
+2. Adding, deleting, replacing disks in the file system
+.HP 3
+3. Rebalancing, repairing, reducing disk fragmentation in a file system
+.RE
+.PP
+Any files open in the snapshot will be forcibly closed. The
+user will receive an \fBerrno\fR of \fBESTALE\fR on the next file
+access.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system for which the snapshot is to be
+deleted. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB\fIDirectory\fR
+\fR
+.RE
+.RS +9
+The snapshot subdirectory to be deleted.
+.RE
+.SH "Options"
+.PP
+NONE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmdelsnapshot\fR
+command.
+.PP
+You may issue the \fBmmdelsnapshot\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To delete the snapshot \fBsnap1\fR, for the file system \fBfs1\fR,
+issue this command:
+.sp
+.nf
+mmdelsnapshot fs1 snap1
+.fi
+.sp
+.PP
+The output is similar to this:
+.sp
+.nf
+Deleting snapshot files...
+Delete snapshot snap1 complete, err = 0
+.fi
+.sp
+.PP
+Before issuing the command, the directory structure would appear similar
+to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+/fs1/.snapshots/snap1/file1
+/fs1/.snapshots/snap1/userA/file2
+/fs1/.snapshots/snap1/userA/file3
+.fi
+.sp
+.PP
+After the command has been issued, the directory structure would appear
+similar to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+/fs1/.snapshots
+.fi
+.sp
+.SH "See also"
+.PP
+mmcrsnapshot Command
+.PP
+mmlssnapshot Command
+.PP
+mmrestorefs Command
+.PP
+mmsnapdir Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmdf.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmdf.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmdf.8	(revision 16)
@@ -0,0 +1,247 @@
+.TH mmdf 02/16/06
+mmdf Command
+.SH "Name"
+.PP
+\fBmmdf\fR - Queries available file space on a GPFS file
+system.
+.SH "Synopsis"
+.PP
+\fBmmdf\fR \fIDevice\fR [\fB-d\fR | \fB-F\fR |
+\fB-m\fR] [\fB-P\fR \fIPoolName\fR] [\fB-q\fR]
+.SH "Description"
+.PP
+Use the \fBmmdf\fR command to display available file space on a
+GPFS file system. For each disk in the GPFS file system, the
+\fBmmdf\fR command displays this information, by failure group and storage
+pool:
+.RS +3
+.HP 3
+\(bu The size of the disk.
+.HP 3
+\(bu The failure group of the disk.
+.HP 3
+\(bu Whether the disk is used to hold data, metadata, or both.
+.HP 3
+\(bu Available space in full blocks.
+.HP 3
+\(bu Available space in fragments.
+.RE
+.PP
+Displayed values are rounded down to a multiple of 1024 bytes. If
+the fragment size used by the file system is not a multiple of 1024 bytes,
+then the displayed values may be lower than the actual values. This can
+result in the display of a total value that exceeds the sum of the rounded
+values displayed for individual disks. The individual values are
+accurate if the fragment size is a multiple of 1024 bytes.
+.PP
+For the file system, the \fBmmdf\fR command displays:
+.RS +3
+.HP 3
+\(bu The total number of inodes and the number available.
+.RE
+.PP
+The \fBmmdf\fR command may be run against a mounted or unmounted file
+system. 
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+The command is I/O intensive and should be run when the system load is
+light.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to be queried for available file
+space. File system names need not be fully-qualified.
+\fBfs0\fR is as acceptable as \fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-d
+\fR
+.RE
+.RS +9
+List only disks that can hold data.
+.RE
+.PP
+.RS +3
+\fB-F
+\fR
+.RE
+.RS +9
+List the number of inodes and how many of them are free.
+.RE
+.PP
+.RS +3
+\fB-m
+\fR
+.RE
+.RS +9
+List only disks that can hold metadata.
+.RE
+.PP
+.RS +3
+\fB-P \fIPoolName\fR
+\fR
+.RE
+.RS +9
+Lists only disks that belong to the requested storage pool.
+.RE
+.PP
+.RS +3
+\fB-q
+\fR
+.RE
+.RS +9
+For quick access to the file space information, list the data collected
+from the most recent synchronization period.
+.PP
+With this flag, the values recorded by the \fBmmdf\fR command are
+synchronized only at the last invocation of the \fBsyncd\fR daemon on the
+node where the command is issued.
+.RE
+.PP
+The default is to list all disks.
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+If you are a root user:
+.RS +3
+.HP 3
+1. You may issue the \fBmmdf \fR command from any node in the GPFS
+cluster.
+.HP 3
+2. 
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+a. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+b. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.RE
+.PP
+If you are a non-root user, you may specify only file systems that belong
+to the same cluster as the node on which the \fBmmdf \fR command was
+issued.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To query all disks in the \fBfs1\fR file system that can hold data,
+issue this command:
+.sp
+.nf
+mmdf fs1 -d
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+disk    disk size failure holds   holds  free KB in     free KB
+name      in KB   group  metadata data  full blocks in fragments
+------- --------- ------ -------- ----- ------------- ----------
+gpfs1nsd  8886720    4003 yes     yes   8733184 (98%)   632 (0%)
+gpfs2nsd  8886720    4003 yes     yes   8879360 (100%)  440 (0%)
+gpfs3nsd  8886720    4003 yes     yes   8884224 (100%)  440 (0%)
+gpfs4nsd  8886720    4003 yes     yes   8884224 (100%)  440 (0%)
+gpfs5nsd  8886720    4003 yes     yes   8884224 (100%)  440 (0%)
+         --------                       -------------- ---------
+(total)  44433600                     44265216 (100%)  2392 (0%)
+.fi
+.sp
+.HP 3
+2. To query all disks in the \fBfs1\fR file system that can hold
+metadata, issue this command:
+.sp
+.nf
+mmdf fs1 -m
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+disk   disk size failure holds  holds   free KB in   free KB
+name    in KB    group metadata data  full blocks in fragments
+--------  ------- ----- ------- -----  -------------  -----------
+Disks in storage pool: system
+hd2vsdn01  8880128  2   yes     yes   8610304 (97%)  13640 (0%)
+hd3vsdn01  8880128  2   yes     yes   8610816 (97%)  13072 (0%)
+hd4vsdn01  8880128  2   yes     yes   8611840 (97%)  11784 (0%)
+hd5vsdn01  8880128  2   yes     yes   8613120 (97%)  13560 (0%)
+hd18vsdn02 8880128 4005 yes     yes   8657408 (97%)  13816 (0%)
+hd17vsdn02 8880128 4005 yes     yes   8658176 (98%)  12968 (0%)
+          -------------              -------------- -----------
+(pool total) 631430168              619939328 (98%) 629872 (0%)
+Disks in storage pool: sp1
+          -------------            --------------- ------------
+(pool total)         0                      0 (0%)       0 (0%)
+          =============            =============== =============
+(total)       631430168           619939328 (98%)   629872 (0%)
+.fi
+.sp
+.HP 3
+3. To query \fBfs1\fR for inode information, issue this command:
+.sp
+.nf
+mmdf fs1 -F
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+Inode Information
+------------------
+Total number of inodes: 33792
+Total number of free inodes: 33752
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmchfs Command
+.PP
+mmcrfs Command
+.PP
+mmdelfs Command
+.PP
+mmlsfs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmedquota.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmedquota.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmedquota.8	(revision 16)
@@ -0,0 +1,280 @@
+.TH mmedquota 03/02/06
+mmedquota Command
+.SH "Name"
+.PP
+\fBmmedquota\fR - Sets quota limits.
+.SH "Synopsis"
+.PP
+\fBmmedquota\fR {\fB-u\fR [\fB-p\fR
+\fIProtoUser\fR] \fIUser\fR...| \fB-g\fR
+[\fB-p\fR \fIProtoGroup\fR]
+\fIGroup\fR... | \fB-j\fR [\fB-p\fR
+\fIProtoFileset\fR ] \fIFileset\fR... |
+\fB-d\fR {\fB-u\fR \fIUser\fR...| \fB-g\fR
+\fIGroup\fR... | \fB-j\fR \fIFileset\fR...} |
+\fB-t\fR {\fB-u\fR | \fB-g\fR | \fB-j\fR}}
+.SH "Description"
+.PP
+The \fBmmedquota\fR command serves two purposes:
+.RS +3
+.HP 3
+1. Sets or changes quota limits or grace periods for users, groups, and filesets  in the
+cluster from which the command is issued.
+.HP 3
+2. Reestablishes user, group, or fileset default quotas for all file systems with
+default quotas enabled in the cluster.
+.RE
+.PP
+The \fBmmedquota\fR command displays the current values for these
+limits, if any, and prompts you to enter new values using your default
+editor:
+.RS +3
+.HP 3
+\(bu Current block usage (display only)
+.HP 3
+\(bu Current inode usage (display only)
+.HP 3
+\(bu Inode soft limit
+.HP 3
+\(bu Inode hard limit
+.HP 3
+\(bu Block soft limit
+.sp
+Displayed in \fBKB\fR, but may be specified using \fBg\fR,
+\fBG\fR, \fBk\fR, \fBK\fR, \fBm\fR, or \fBM\fR. If no
+suffix is provided, the number is assumed to be in \fBbytes\fR.
+.HP 3
+\(bu Block hard limit 
+.sp
+Displayed in \fBKB\fR, but may be specified using \fBg\fR,
+\fBG\fR, \fBk\fR, \fBK\fR, \fBm\fR, or \fBM\fR. If no
+suffix is provided, the number is assumed to be in \fBbytes\fR.
+.RE
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+A block or inode limit of 0 indicates no limit.
+.RE
+.PP
+The \fBmmedquota\fR command waits for the edit window to be closed
+before checking and applying new values. If an incorrect entry is made,
+you must reissue the command and enter the correct values.
+.PP
+You can also use the \fBmmedquota\fR command to change the file
+system-specific grace periods for block and file usage if the default of one
+week is unsatisfactory. The grace period is the time during which users
+can exceed the soft limit. If the user, group, or fileset does not show reduced usage
+below the soft limit before the grace period expires, the soft limit becomes
+the new hard limit.
+.PP
+When setting quota limits for a file system, replication within the file
+system should be considered. GPFS quota management takes replication
+into account when reporting on and determining if quota limits have been
+exceeded for both block and file usage. In a file system that has
+either type of replication set to a value of two, the values reported by both
+the
+\fBmmlsquota\fR command and the \fBmmrepquota\fR command are double the value reported
+by the \fBls\fR command.
+.PP
+The EDITOR environment variable must contain a complete path name, for
+example:
+.sp
+.nf
+export EDITOR=/bin/vi
+.fi
+.sp
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIUser\fR
+\fR
+.RE
+.RS +9
+Name or user ID of target user for quota editing.
+.RE
+.PP
+.RS +3
+\fB\fIGroup\fR
+\fR
+.RE
+.RS +9
+Name or group ID of target group for quota editing.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-d
+\fR
+.RE
+.RS +9
+Reestablish default quota limits for a specific user, group, or
+fileset that has had an explicit quota limit set by a previous invocation of
+the \fBmmedquota\fR command.
+.RE
+.PP
+.RS +3
+\fB-g
+\fR
+.RE
+.RS +9
+Sets quota limits or grace times for groups.
+.RE
+.PP
+.RS +3
+\fB-j
+\fR
+.RE
+.RS +9
+Sets quota limits or grace times for filesets.
+.RE
+.PP
+.RS +3
+\fB-p
+\fR
+.RE
+.RS +9
+Applies already-established limits to a particular user, group or
+fileset. 
+.PP
+When invoked with the \fB-u\fR option, \fIProtoUser\fR limits are
+automatically applied to the specified \fIUser\fR or space-delimited list
+of users.
+.PP
+When invoked with the \fB-g\fR option, \fIProtoGroup\fR limits are
+automatically applied to the specified \fIGroup\fR or space-delimited list
+of groups.
+.PP
+When invoked with the \fB-j\fR option, \fIProtoFileset\fR limits are
+automatically applied to the specified fileset or space-delimited list of
+fileset names.
+.PP
+You can specify any user as a \fIProtoUser\fR for another \fIUser\fR,
+or any group as a \fIProtoGroup\fR for another \fIGroup\fR, or any
+fileset as a \fIProtoFileset\fR for another \fIFileset\fR.
+.RE
+.PP
+.RS +3
+\fB-t
+\fR
+.RE
+.RS +9
+Sets grace period during which quotas can exceed the soft limit before it
+is imposed as a hard limit. The default grace period is one
+week.
+.PP
+This flag is followed by one of the following flags: \fB-u\fR,
+\fB-g\fR or \fB-j\fR, to specify whether the changes apply to users,
+groups, or filesets respectively.
+.RE
+.PP
+.RS +3
+\fB-u 
+\fR
+.RE
+.RS +9
+Sets quota limits or grace times for users.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmedquota\fR command.
+.PP
+GPFS must be running on the node from which the \fBmmedquota\fR command
+is issued.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To set user quotas for userid \fBpaul\fR, issue this command:
+.sp
+.nf
+mmedquota -u paul
+.fi
+.sp
+The system displays information in your default editor similar to:
+.sp
+.nf
+*** Edit quota limits for USR paul:
+NOTE: block limits will be rounded up to the next multiple of
+the block size.  block units may be: K, M, or G
+gpfs0: blocks in use: 864K, limits (soft = 2500K , hard = 10M)
+inodes in use: 9, limits (soft = 100, hard = 1000)
+.fi
+.sp
+.HP 3
+2. To reset default group quota values for the group
+blueteam, issue this command:
+.sp
+.nf
+mmedquota -d -g blueteam
+.fi
+.sp
+To verify the change, issue this command:
+.sp
+.nf
+mmrepquota -q fs1
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+fs1: USR quota is on; default quota is on
+fs1: GRP quota is on; default quota is on
+fs1: FILESET quota is on; default quota is off
+.fi
+.sp
+.HP 3
+3. To change the grace periods for all users, issue this command:
+.sp
+.nf
+mmedquota -t -u
+.fi
+.sp
+The system displays information in your default editor similar to:
+.sp
+.nf
+*** Edit grace times:
+Time units may be : days, hours, minutes, or seconds
+Grace period before enforcing soft limits for USRs:
+gpfs0: block grace period: 7 days, file grace period: 7 days
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmcheckquota Command
+.PP
+mmdefedquota Command
+.PP
+mmdefquotaoff Command
+.PP
+mmdefquotaon Command
+.PP
+mmlsquota Command
+.PP
+mmquotaon Command
+.PP
+mmquotaoff Command
+.PP
+mmrepquota Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmexportfs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmexportfs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmexportfs.8	(revision 16)
@@ -0,0 +1,123 @@
+.TH mmexportfs 02/16/06
+mmexportfs Command
+.SH "Name"
+.PP
+\fBmmexportfs\fR - Retrieves the information needed to move a file system
+to a different cluster.
+.SH "Synopsis"
+.PP
+\fBmmexportfs\fR {\fIDevice\fR | \fBall\fR} \fB-o\fR
+\fIExportFilesysData\fR
+.SH "Description"
+.PP
+The \fBmmexportfs\fR command, in conjunction with the \fBmmimportfs\fR command, can be used to move one or more
+GPFS file systems from one GPFS cluster to another GPFS cluster, or to
+temporarily remove file systems from the cluster and restore them at a later
+time. The \fBmmexportfs\fR command retrieves all relevant file
+system and disk information and stores it in the file specified with the
+\fB-o\fR parameter. This file must later be provided as input to the
+\fBmmimportfs\fR command. When running the
+\fBmmexportfs\fR command, the file system must be unmounted on all
+nodes.
+.PP
+When \fBall\fR is specified in place of a file system name, any disks
+that are not associated with a file system will be exported as well.
+.PP
+Exported file systems remain unusable until they are imported back with the
+\fBmmimportfs\fR command to the same or a different
+GPFS cluster.
+.SH "Results"
+.PP
+Upon successful completion of the \fBmmexportfs\fR command, all
+configuration information pertaining to the exported file system and its disks
+is removed from the configuration data of the current GPFS cluster and is
+stored in the user specified file \fIExportFilesysData\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR | all
+\fR
+.RE
+.RS +9
+The device name of the file system to be exported. File system
+names need not be fully-qualified. \fBfs0\fR is as acceptable as
+\fB/dev/fs0\fR. Specify \fBall\fR to export all GPFS file
+systems, as well as all disks that do not belong to a file system yet.
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB-o \fIExportFilesysData\fR
+\fR
+.RE
+.RS +9
+The path name of a file to which the file system information is to be
+written. This file must be provided as input to the subsequent \fBmmimportfs\fR command.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmexportfs\fR command.
+.PP
+You may issue the \fBmmexportfs\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To export all file systems in the current cluster, issue this
+command:
+.sp
+.nf
+mmexportfs all -o /u/admin/exportfile
+.fi
+.sp
+.PP
+The output is similar to this:
+.sp
+.nf
+mmexportfs: Processing file system fs1 ...
+mmexportfs: Processing file system fs2 ...
+mmexportfs: Processing disks that do not belong to any file system ...
+mmexportfs: 6027-1371 Propagating the changes to all affected
+                      nodes. This is an asynchronous process.
+.fi
+.sp
+.SH "See also"
+.PP
+mmimportfs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmfileid.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmfileid.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmfileid.8	(revision 16)
@@ -0,0 +1,257 @@
+.TH  mmfileid 03/02/06
+mmfileid Command
+.SH "Name"
+.PP
+\fBmmfileid\fR - Determines which files are located on areas of a disk
+that are damaged or considered to be suspect.
+.PP
+\fBAttention:\fR Use
+this command only when directed by the IBM Support Center.
+.PP
+\fB
+Synopsis\fR
+.PP
+\fBmmfileid\fR \fIDevice\fR {\fB
+-d\fR [\fINodeName\fR]:{\fIDiskName\fR|\fIDiskNum\fR|\fB
+BROKEN\fR}:[\fIPhysAddr1\fR[-\fIPhysAddr2\fR]] | \fB
+-F\fR \fIDescFile\fR} [\fB-o\fR \fIOutputFile\fR]
+[\fB-f\fR \fINumThreads\fR] [\fB-t\fR \fIDirectory
+\fR]
+.PP
+\fBDescription\fR
+.PP
+Use the \fBmmfileid\fR command to determine which files are located on areas of a disk
+that are damaged or considered to be suspect. 
+Before running \fBmmfileid\fR, the user must run a disk analysis utility
+and obtain the disk sector numbers that are suspect or known to be damaged.
+These sectors are input to the \fBmmfileid\fR command.
+To run the \fBmmfileid\fR command, you must specify the physical volume name of the disk,
+the GPFS disk ID number, or the keyword \fBBROKEN\fR to find all
+files with broken addresses resulting in the loss of data.
+The output of the command is a list of inodes and names of files that are located on the input
+disk sectors.
+.PP
+The output can be redirected to
+a file (using the \fB-o\fR flag) and sorted on the inode number, using the \fBsort\fR command. 
+The \fBmmfileid\fR command output contains one line for each inode found to be located
+on the corrupt disk sector. The file name is relative to the root of the file system in which
+it resides. The command output has this format:
+.sp
+.nf
+inode_number   Logical_Disk_Address    snapshotid    filename
+.fi
+.sp
+.PP
+Only one instance of \fBmmfileid\fR may be active on
+a GPFS cluster at any given time. The \fBmmfileid\fR command will
+not work for a file system owned and controlled by another GPFS cluster.
+.PP
+\fB
+Parameters\fR
+.PP
+.RS +3
+\fB\fIDevice\fR\fR
+.RE
+.RS +9
+The device name for the file system on which this utility is to be run.  
+This must be the first parameter and is required.
+.RE
+.PP
+.RS +3
+\fB\fB-d\fR [\fINodeName\fR]:{\fIDiskName\fR|\fI
+DiskNum\fR|\fBBROKEN\fR}:[\fIPhysAddr1\fR[-\fIPhysAddr2
+\fR]] 
+.PP
+\fR
+.RE
+.RS +9
+.PP
+.RS +3
+\fB\fINodeName\fR\fR
+.RE
+.RS +9
+Specifies a node in the GPFS cluster that has access to the disk in question.
+.RE
+.PP
+.RS +3
+\fB\fIDiskName\fR\fR
+.RE
+.RS +9
+Specifies the physical volume name of the disk.
+.RE
+.PP
+.RS +3
+\fB\fIDiskNum\fR\fR
+.RE
+.RS +9
+Specifies the GPFS disk ID number of the disk as currently displayed by
+the \fBmmlsdisk -L\fR command.
+.RE
+.PP
+.RS +3
+\fBBROKEN\fR
+.RE
+.RS +9
+Specifies to find all files that have broken addresses resulting in lost
+data.
+.RE
+.PP
+.RS +3
+\fB\fIPhysAddr1\fR[-\fIPhysAddr2\fR]\fR
+.RE
+.RS +9
+Specified the range of physical disk addresses, as reported by the error
+logging utility, for the disk that has encountered a failure.
+The default value for \fIPhysAddr1\fR is zero.
+The default value for \fIPhysAddr2\fR is the value for \fIPhysAddr1\fR. 
+.PP
+If both \fIPhysAddr1\fR and \fI
+PhysAddr2\fR are zero, the entire disk is searched.
+.RE
+.RE
+.PP
+.RS +3
+\fB-F \fIDescFile\fR\fR
+.RE
+.RS +9
+Specifies a file containing a list of disks and corresponding disk addresses,
+for the file system on which the \fBmmfileid\fR command is to be
+run. The file uses the same conventions as the \fB-d\fR option.
+.PP
+The format of the file is:
+.sp
+.nf
+#optional comment line
+nodename1:hdisk1:PhysAddr1-PhysAddr2
+nodename1:hdisk1:PhysAddr3-PhysAddr4
+nodename3:hdisk2:PhysAddr1-PhysAddr2
+nodename1:hdiskn:PhysAddr1-PhysAddr2
+.fi
+.sp
+.PP
+For example:
+.sp
+.nf
+:gpfs1nsd
+:10:27645856
+:BROKEN
+.fi
+.sp
+.RE
+.PP
+.RS +3
+\fB-f \fINumThreads\fR\fR
+.RE
+.RS +9
+Specifies the number of worker threads that are to be created by the \fB
+mmfileid\fR command. 
+.PP
+The default is value 16. The minimum value is
+1. If \fInumThreads\fR is less than 2, only the main process performs
+work. The maximum value can be as large as is allowed by the operating system \fB
+pthread_create\fR function for a single process. A suggested value is
+twice the number of disks in the file system. If an error occurs creating
+a worker thread, \fBmmfileid\fR exits with an error.
+.RE
+.PP
+.RS +3
+\fB-o \fIOutputFile\fR\fR
+.RE
+.RS +9
+Specifies the name of a file for the \fBmmfileid\fR command
+to write its output. If not specified, output is sent to standard output.
+.RE
+.PP
+.RS +3
+\fB-t \fIDirectory\fR\fR
+.RE
+.RS +9
+Specifies the directory to use for the \fBmmfileid\fR temporary
+files and the sort program intermediate files. The default directory is \fB
+/tmp\fR.
+.RE
+.PP
+\fBExit status\fR
+.PP
+.PP
+.RS +3
+\fB0\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.PP
+\fBSecurity\fR
+.PP
+You must have root authority to run
+the \fBmmfileid\fR command.
+.PP
+This command must be invoked
+on a file system that is not running an excessive number of reads and writes.
+Excessive file system activity will produce incorrect results.
+.PP
+\fB
+Examples\fR
+.PP
+Assume that a disk analysis tool reported that \fB
+hdisk6\fR, \fBhdisk7\fR, \fBhdisk8\fR, and \fB
+hdisk9\fR contained bad sectors. This command:
+.sp
+.nf
+mmfileid /dev/gpfsB -F addr.in
+.fi
+.sp
+.PP
+where \fBaddr.in\fR contains this:
+.sp
+.nf
+k148n07:hdisk9:2206310-2206810 
+k148n07:hdisk8:2211038-2211042 
+k148n07:hdisk8:2201800-2202800
+k148n01:hdisk6:2921879-2926880 
+k148n09:hdisk7:1076208-1076610
+.fi
+.sp
+.PP
+produces output similar to this:
+.sp
+.nf
+Address 2201958 is contained in the Block allocation map (inode 1)
+Address 2206688 is contained in the ACL Data file (inode 4, snapId 0)
+Address 2211038 is contained in the Log File (inode 7, snapId 0)
+14336 1076256 0 /gpfsB/tesDir/testFile.out
+14344 2922528 1 /gpfsB/x.img
+.fi
+.sp
+.PP
+The lines starting with Address are special GPFS files. If your
+output contains any of these lines, \fBdo not\fR attempt to replace or
+repair the indicated files. 
+Call the IBM Support Center for assistance.
+This output indicates that files \fB/gpfsB/tesDir/testFile.out\fR and \fB
+/gpfsB/x.img\fR are located on bad sector areas.
+.PP
+The format for
+each line of output is as follows: 
+.sp
+.nf
+inode_number   Logical_Disk_Address    snapshotid    filename
+.fi
+.sp
+.PP
+\fBSee also\fR
+.PP
+The section on \fIDisk media
+failure\fR in \fIGeneral Parallel File System: Problem
+Determination Guide\fR.
+.PP
+\fBLocation\fR
+.PP
+\fB
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmfsck.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmfsck.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmfsck.8	(revision 16)
@@ -0,0 +1,402 @@
+.TH mmfsck 02/16/06
+mmfsck Command
+.SH "Name"
+.PP
+\fBmmfsck\fR - Checks and repairs a GPFS file system.
+.SH "Synopsis"
+.PP
+\fBmmfsck\fR \fIDevice\fR [\fB-n\fR |
+\fB-y\fR] [\fB-c\fR | \fB-o\fR] [\fB-t\fR
+\fIDirectory\fR] [\fB-v\fR | \fB-V\fR]
+[\fB-N\fR
+{\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}]
+.PP
+The file system must be unmounted before you can run the \fBmmfsck\fR
+command with any option other than \fB-o\fR.
+.PP
+\fBDescription\fR
+.PP
+The \fBmmfsck\fR command in offline mode is intended to be used only in
+situations where there have been disk or communications failures that have
+caused \fBMMFS_FSSTRUCT\fR error log entries to be issued, or where it is
+known that disks have been forcibly removed or otherwise permanently
+unavailable for use in the file system, and other unexpected symptoms are seen
+by users. In general it is unnecessary to run \fBmmfsck\fR in
+offline mode unless under the direction of the IBM Support Center.
+.PP
+If neither the \fB-n\fR nor \fB-y\fR flag is specified, the
+\fBmmfsck\fR command runs interactively prompting you for permission to
+repair each consistency error as reported. It is suggested that in all
+but the most severely damaged file systems, you run the \fBmmfsck\fR
+command interactively (the default).
+.PP
+The occurrence of I/O errors, or the appearance of a message telling you to
+run the \fBmmfsck\fR command, may indicate file system
+inconsistencies. If either situation occurs, use the \fBmmfsck\fR
+command to check file system consistency and interactively repair the file
+system.
+.PP
+The \fBmmfsck\fR command checks for these inconsistencies:
+.RS +3
+.HP 3
+\(bu Blocks marked allocated that do not belong to any file. The
+corrective action is to mark the block free in the allocation map.
+.HP 3
+\(bu 
+Files for which an inode is allocated and no directory entry exists (orphaned
+files). The corrective action is to create directory entries for these
+files in a \fBlost+found\fR subdirectory at the root of this file
+system. The index number of the inode is assigned as the name.
+If you do not allow the \fBmmfsck\fR command to reattach an orphaned file,
+it asks for permission to delete the file.
+.HP 3
+\(bu Directory entries pointing to an inode that is not allocated. The
+corrective action is to remove the directory entry.
+.HP 3
+\(bu Incorrectly formed directory entries. A directory file contains the
+inode number and the generation number of the file to which it refers.
+When the generation number in the directory does not match the generation
+number stored in the file's inode, the corrective action is to remove the
+directory entry.
+.HP 3
+\(bu Incorrect link counts on files and directories. The corrective
+action is to update them with accurate counts.
+.HP 3
+\(bu Cycles in the directory structure. The corrective action is to
+break any detected cycles. If the cycle was a disconnected cycle, the
+new top level directory is moved to the \fBlost+found\fR directory.
+.HP 3
+\(bu Invalid policy files. The corrective action is to delete the
+file.
+.HP 3
+\(bu The \fBmmfsck\fR command checks that each fileset has a root
+directory, that each linked fileset has exactly one valid junction pointing to
+it, and that no junctions point to unlinked filesets. In addition, the
+metadata file of the filesets are checked for consistency with respect to the
+inode of the file system.
+.RE
+.PP
+If you are repairing a file system due to node failure and the file system
+has quotas enabled, it is suggested that you run the \fBmmcheckquota\fR command to recreate the quota
+files.
+.PP
+Indications leading you to the conclusion that you should run the
+\fBmmfsck\fR command include:
+.RS +3
+.HP 3
+1. 
+An \fBMMFS_FSSTRUCT\fR along with an \fBMMFS_SYSTEM_UNMOUNT\fR error log
+entry on any node indicating some critical piece of the file system is
+inconsistent.
+.HP 3
+2. Disk media failures
+.HP 3
+3. Partial disk failure
+.HP 3
+4. \fBEVALIDATE=214\fR, Invalid checksum or other consistency check
+failure on a disk data structure, reported in error logs or returned to an
+application.
+.RE
+.PP
+For further information on recovery actions and how to contact the IBM
+Support Center, see the
+\fIGeneral Parallel File
+System: Problem Determination Guide\fR.
+.PP
+If you are running the online \fBmmfsck\fR command to free allocated
+blocks that do not belong to any files, plan to make file system repairs when
+system demand is low. This is an I/O intensive activity and it can
+affect system performance.
+.PP
+\fBResults\fR
+.PP
+If the file system is inconsistent, the \fBmmfsck\fR command displays
+information about the inconsistencies and (depending on the option entered)
+may prompt you for permission to repair them. The \fBmmfsck\fR
+command tries to avoid actions that may result in loss of data. In some
+cases, however, it may indicate the destruction of a damaged file.
+.PP
+If there are no file system inconsistencies to detect, the \fBmmfsck\fR
+command reports this information for the file system:
+.RS +3
+.HP 3
+\(bu Number of files
+.HP 3
+\(bu Used blocks
+.HP 3
+\(bu Free blocks
+.RE
+.PP
+All corrective actions, with the exception of recovering lost disk blocks
+(blocks that are marked as allocated but do not belong to any file), require
+that the file system be unmounted on all nodes. If the \fBmmfsck\fR
+command is run on a mounted file system, lost blocks are recovered but any
+other inconsistencies are only reported, not repaired.
+.PP
+If a bad disk is detected, the \fBmmfsck\fR command stops the disk and
+writes an entry to the error log. The operator must manually start and
+resume the disk when the problem is fixed.
+.PP
+The file system must be unmounted on all nodes before the \fBmmfsck\fR
+command can repair file system inconsistencies.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to be checked and repaired. File
+system names need not be fully-qualified. \fBfs0\fR is as acceptable
+as \fB/dev/fs0\fR. 
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Specify the nodes to participate in the check and repair of the file
+system. This command supports all defined node classes. The
+default is \fBall\fR (all nodes in the GPFS cluster will participate in the
+check and repair of the file system).
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-c
+\fR
+.RE
+.RS +9
+When the file system log has been lost and the file system is
+replicated, this option specifies that the \fBmmfsck\fR command attempt
+corrective action by comparing the replicas of metadata and data. If
+this error condition occurs, it is indicated by an error log entry. The
+\fB-c\fR and \fB-o\fR flags are mutually exclusive.
+.RE
+.PP
+.RS +3
+\fB-n
+\fR
+.RE
+.RS +9
+Specifies a \fBno\fR response to all prompts from the \fBmmfsck\fR
+command. The option reports inconsistencies but it does not change the
+file system. To save this information, redirect it to an output file
+when you issue the \fBmmfsck\fR command.
+.RE
+.PP
+.RS +3
+\fB-o
+\fR
+.RE
+.RS +9
+Specifies that the file system can be mounted during the operation
+of the \fBmmfsck\fR command. Online mode does not perform a full
+file system consistency check, but blocks marked as allocated that do not
+belong to a file are recovered. The \fB-c\fR and \fB-o\fR flags
+are mutually exclusive.
+.RE
+.PP
+.RS +3
+\fB-y
+\fR
+.RE
+.RS +9
+Specifies a \fByes\fR response to all prompts from the \fBmmfsck\fR
+command. Use this option only on severely damaged file systems.
+It allows the \fBmmfsck\fR command to take any action necessary for
+repairs.
+.RE
+.PP
+.RS +3
+\fB-t \fIDirectory\fR
+\fR
+.RE
+.RS +9
+Specifies the directory to be used for temporary storage during
+\fBmmfsck\fR command processing. The default directory is
+\fB/tmp\fR. The minimum space required (in byes) is equal to the
+maximum number of inodes in the file system multiplied by 8.
+.RE
+.PP
+.RS +3
+\fB-v
+\fR
+.RE
+.RS +9
+Specifies the output is verbose.
+.RE
+.PP
+.RS +3
+\fB-V
+\fR
+.RE
+.RS +9
+Specifies the output is verbose and contain information for debugging
+purposes.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fB2
+\fR
+.RE
+.RS +9
+The command was interrupted before it completed checks or repairs.
+.RE
+.PP
+.RS +3
+\fB4
+\fR
+.RE
+.RS +9
+The command changed the file system and it must now be restarted.
+.RE
+.PP
+.RS +3
+\fB8
+\fR
+.RE
+.RS +9
+The file system contains damage that has not been repaired.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmfsck\fR command.
+.PP
+You may issue the \fBmmfsck\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. To run the \fBmmfsck\fR command on the \fBfs1\fR file system,
+receive a report, but not fix inconsistencies, issue this command:
+.sp
+.nf
+mmfsck fs1 -n
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Checking "fs1"
+Checking inodes
+Checking inode map file
+Checking directories and files
+Checking log files
+Checking extended attributes file
+Checking allocation summary file
+Checking policy file
+Validated policy 'for stripe group fs1': parsed 3 Placement 
+Rules, 0 Migrate/Delete/Exclude Rules
+Checking filesets metadata
+Checking file reference counts
+Checking file system replication status
+       1212416 inodes
+         87560 allocated
+             0 repairable
+             0 repaired
+             0 damaged
+             0 deallocated
+             0 orphaned
+             0 attached
+       7211746 subblocks
+        227650 allocated
+             0 unreferenced
+             0 deletable
+             0 deallocated
+         44504 addresses
+             0 suspended
+File system is clean.
+.fi
+.sp
+\fBmmfsck\fR found no inconsistencies in this file system.
+.HP 3
+2. To run the \fBmmfsck\fR command on the \fB/dev/fs2\fR file system,
+receive a report, and fix inconsistencies, issue this command:
+.sp
+.nf
+mmfsck /dev/fs2 -y\ 
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Checking "/dev/fs2"
+Checking inodes
+Checking inode map file
+Checking directories and files
+Checking log files
+Checking extended attributes file
+Checking file reference counts
+File inode 6912 is not referenced by any directory.
+Reattach inode to lost+found? yes
+Checking file system replication status
+       33792 inodes
+          46   allocated
+           0   repairable
+           0   repaired
+           0   damaged
+           0   deallocated
+           1   orphaned
+           1   attached
+     3332520 subblocks
+       19762   allocated
+           0   unreferenced
+           0   deletable
+           0   deallocated
+         728 addresses
+           0   suspended
+File system is clean.
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmcheckquota Command
+.PP
+mmcrfs Command
+.PP
+mmdelfs Command
+.PP
+mmdf Command
+.PP
+mmlsfs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmfsctl.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmfsctl.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmfsctl.8	(revision 16)
@@ -0,0 +1,400 @@
+.TH mmfsctl 02/16/06
+mmfsctl Command
+.SH "Name"
+.PP
+\fBmmfsctl\fR - Issues a file system control request.
+.SH "Synopsis"
+.PP
+\fBmmfsctl\fR \fIDevice\fR \fB{suspend | resume}\fR
+.PP
+Or,
+.PP
+\fBmmfsctl\fR \fIDevice\fR \fB{exclude | include}\fR
+\fB{\fR\fB-d
+"\fR\fIDiskName\fR\fB[;\fR\fIDiskName\fR\fB...]"
+|\fR \fB-F\fR \fIDiskFile\fR | \fB-G\fR
+\fIFailureGroup\fR\fB}\fR
+.PP
+Or,
+.PP
+\fBmmfsctl\fR \fIDevice\fR \fBsyncFSconfig\fR
+\fB{\fR\fB-n\fR \fIRemoteNodesFile\fR | \fB-C\fR
+\fIremoteClusterName\fR\fB}\fR [\fB-S\fR \fISpecFile\fR]
+.SH "Description"
+.PP
+Use the \fBmmfsctl\fR command to issue control requests to a
+particular GPFS file system. The command is used to temporarily suspend
+the processing of all application I/O requests, and later resume them, as well
+as to synchronize the file system's configuration state between peer
+clusters in disaster recovery environments.
+.PP
+See
+\fIEstablishing disaster recovery for your GPFS
+cluster\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.PP
+Before creating a FlashCopy image of the file system, the user must run
+\fBmmfsctl suspend\fR to temporarily quiesce all file system activity and
+flush the internal buffers on all nodes that mount this file system.
+The on-disk metadata will be brought to a consistent state, which provides for
+the integrity of the FlashCopy snapshot. If a request to the file
+system is issued by the application after the invocation of this command, GPFS
+suspends this request indefinitely, or until the user issues \fBmmfsctl
+resume\fR.
+.PP
+Once the FlashCopy image has been taken, the \fBmmfsctl resume\fR
+command can be issued to resume the normal operation and complete any pending
+I/O requests.
+.PP
+The \fBmmfsctl syncFSconfig\fR command extracts the file system's
+related information from the local GPFS configuration data, transfers this
+data to one of the nodes in the peer cluster, and attempts to import it
+there.
+.PP
+Once the GPFS file system has been defined in the primary cluster, users run
+this command to import the configuration of this file system into the peer
+recovery cluster. After producing a FlashCopy image of the file system
+and propagating it to the peer cluster using Peer-to-Peer Remote Copy (PPRC),
+users similarly run this command to propagate any relevant configuration
+changes made in the cluster after the previous snapshot.
+.PP
+The primary cluster configuration server of the peer cluster must be
+available and accessible using remote shell and remote copy at the time of the
+invocation of the \fBmmfsctl syncFSconfig\fR command. Also, the peer
+GPFS clusters should be defined to use the same remote shell and remote copy
+mechanism, and they must be set up to allow nodes in peer clusters to
+communicate without the use of a password.
+.PP
+Not all administrative actions performed on the file system necessitate this
+type of resynchronization. It is required only for those actions that
+modify the file system information maintained in the local GPFS configuration
+data, which includes:
+.RS +3
+.HP 3
+\(bu Additions, removals, and replacements of disks (commands \fBmmadddisk\fR, \fBmmdeldisk\fR, \fBmmrpldisk\fR)
+.HP 3
+\(bu Modifications to disk attributes (command \fBmmchdisk\fR)
+.HP 3
+\(bu Changes to the file system's mount point (command \fBmmchfs -T\fR)
+.HP 3
+\(bu Changing the file system device name (command
+\fBmmchfs
+-W\fR)
+.RE
+.PP
+The process of synchronizing the file system configuration data can
+be automated by utilizing the \fBsyncfsconfig\fR user exit.
+.PP
+The \fBmmfsctl exclude\fR command is to be used only in a disaster recovery
+environment, only after a disaster has occurred, and only after ensuring that
+the disks in question have been physically disconnected. Otherwise,
+unexpected results may occur.
+.PP
+The \fBmmfsctl exclude\fR command can be used to manually
+override the file system descriptor quorum after a site-wide disaster.
+See
+\fIEstablishing disaster recovery for your GPFS
+cluster\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR. This command
+enables users to restore normal access to the file system with less than a
+quorum of available file system descriptor replica disks, by effectively
+excluding the specified disks from all subsequent operations on the file
+system descriptor. After repairing the disks, the \fBmmfsctl
+include\fR command can be issued to restore the initial quorum
+configuration.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system. File system names need not be
+fully-qualified. \fBfs0\fR is just as acceptable as
+\fB/dev/fs0\fR. If \fBall\fR is specified with the
+\fBsyncFSconfig\fR option, this command is performed on all GPFS file
+systems defined in the cluster.
+.RE
+.PP
+.RS +3
+\fBexclude
+\fR
+.RE
+.RS +9
+Instructs GPFS to exclude the specified group of disks from all
+subsequent operations on the file system descriptor, and change their
+availability state to \fBdown\fR, if the conditions in the Note below are
+met. 
+.PP
+If necessary, this command assigns additional disks to serve as the disk
+descriptor replica holders, and migrate the disk descriptor to the new replica
+set. The excluded disks are not deleted from the file system, and still
+appear in the output of the
+\fBmmlsdisk\fR
+command.
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+The \fBmmfsctl exclude\fR command is to be used only in a disaster
+recovery environment, only after a disaster has occurred, and only after
+ensuring that the disks in question have been physically disconnected.
+Otherwise, unexpected results may occur.
+.RE
+.RE
+.PP
+.RS +3
+\fBinclude
+\fR
+.RE
+.RS +9
+Informs GPFS that the previously excluded disks have become operational
+again. This command writes the up-to-date version of the disk
+descriptor to each of the specified disks, and clears the \fBexcl\fR
+tag.
+.RE
+.PP
+.RS +3
+\fBresume
+\fR
+.RE
+.RS +9
+Instructs GPFS to resume the normal processing of I/O requests on all
+nodes.
+.RE
+.PP
+.RS +3
+\fBsuspend
+\fR
+.RE
+.RS +9
+Instructs GPFS to flush the internal buffers on all nodes, bring the file
+system to a consistent state on disk, and suspend the processing of all
+subsequent application I/O requests.
+.RE
+.PP
+.RS +3
+\fBsyncFSconfig
+\fR
+.RE
+.RS +9
+Synchronizes the configuration state of a GPFS file system between the
+local cluster and its peer in two-cluster disaster recovery
+configurations.
+.RE
+.PP
+.RS +3
+\fB-C \fIremoteClusterName\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the GPFS cluster that owns the remote GPFS file
+system.
+.RE
+.PP
+.RS +3
+\fB-d
+"\fIDiskName\fR\fB[;\fR\fIDiskName\fR\fB...]"\fR
+\fR
+.RE
+.RS +9
+Specifies the names of the NSDs to be included or excluded by the
+\fBmmfsctl\fR command. Separate the names with semicolons (;)
+and enclose the list of disk names in quotation marks.
+.RE
+.PP
+.RS +3
+\fB-F \fIDiskFile\fR
+\fR
+.RE
+.RS +9
+Specifies a file containing the names of the NSDs, one per line, to be
+included or excluded by the \fBmmfsctl\fR command.
+.RE
+.PP
+.RS +3
+\fB-G \fIFailureGroup\fR
+\fR
+.RE
+.RS +9
+A number identifying the failure group for disks to be included or
+excluded by the \fBmmfsctl\fR command.
+.RE
+.PP
+.RS +3
+\fB-n \fIRemoteNodesFile\fR
+\fR
+.RE
+.RS +9
+Specifies a list of contact nodes in the peer recovery cluster that GPFS
+uses when importing the configuration data into that cluster. Although
+any node in the peer cluster can be specified here, users are advised to
+specify the identities of the peer cluster's primary and secondary
+cluster configuration servers, for efficiency reasons.
+.RE
+.PP
+.RS +3
+\fB-S \fISpecFile\fR
+\fR
+.RE
+.RS +9
+Specifies the description of changes to be made to the file system, in the
+peer cluster during the import step. The format of this file is
+identical to that of the \fIChangeSpecFile\fR used as input to the \fBmmimportfs\fR command. This option can be used,
+for example, to define the assignment of the NSD servers for use in the peer
+cluster.
+.RE
+.SH "Options"
+.PP
+None.
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Results"
+.PP
+The \fBmmfsctl\fR command returns 0 if successful.
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmfsctl\fR command.
+.PP
+You may issue the \fBmmfsctl\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+This sequence of commands creates a FlashCopy image of the file system and
+propagates this image to the recovery cluster using the Peer-to-Peer Remote
+Copy technology. The following configuration is assumed:
+.br
+.sp
+.RS +0.1i
+.nf
+.TS
+tab(~);
+ l l.
+Site~LUNs
+Primary cluster (site A)~lunA1, lunA2
+Recovery cluster (site B)~lunB1
+.TE
+.sp
+.fi
+.RE
+.PP
+.RS +3
+\fBlunA1
+\fR
+.RE
+.RS +9
+FlashCopy source
+.RE
+.PP
+.RS +3
+\fBlunA2
+\fR
+.RE
+.RS +9
+FlashCopy target, PPRC source
+.RE
+.PP
+.RS +3
+\fBlunB1
+\fR
+.RE
+.RS +9
+PPRC target
+.RE
+.PP
+A single GPFS file system named \fBfs0\fR has been defined in the
+primary cluster over lunA1.
+.RS +3
+.HP 3
+1. In the primary cluster, suspend all file system I/O activity and flush the
+GPFS buffers
+.sp
+.nf
+mmfsctl fs0 suspend
+.fi
+.sp
+.sp
+The output is similar to this:
+.sp
+.nf
+Writing dirty data to disk
+Quiescing all file system operations
+Writing dirty data to disk again
+.fi
+.sp
+.HP 3
+2. Establish a FlashCopy pair using lunA1 as the source and lunA2 as the
+target.
+.HP 3
+3. Resume the file system I/O activity: 
+.sp
+.nf
+mmfsctl fs0 resume
+.fi
+.sp
+.sp
+The output is similar to this:
+.sp
+.nf
+Resuming operations.
+.fi
+.sp
+.HP 3
+4. Establish a Peer-to-Peer Remote Copy (PPRC) path and a synchronous PPRC
+volume pair lunA2-lunB1 (primary-secondary). Use the 'copy entire
+volume' option and leave the 'permit read from secondary'
+option disabled.
+.HP 3
+5. Wait for the completion of the FlashCopy background task. Wait for
+the PPRC pair to reach the duplex (fully synchronized) state.
+.HP 3
+6. Terminate the PPRC volume pair lunA2-lunB1.
+.HP 3
+7. If this is the first time the snapshot is taken, or if the configuration
+state of \fBfs0\fR changed since the previous FlashCopy snapshot, propagate
+the most recent configuration to site B: 
+.sp
+.nf
+mmfsctl fs0 syncFSconfig -n recovery_clust_nodelist
+.fi
+.sp
+.RE
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmgetstate.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmgetstate.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmgetstate.8	(revision 16)
@@ -0,0 +1,228 @@
+.TH mmgetstate 02/16/06
+mmgetstate Command
+.SH "Name"
+.PP
+The \fBmmgetstate\fR command displays the state of the GPFS daemon on one
+or more nodes.
+.SH "Synopsis"
+.PP
+\fBmmgetstate\fR [\fB-L\fR] [\fB-s\fR]
+[\fB-v\fR] [\fB-a\fR | \fB-N\fR
+{\fINode\fR[,\fINode\fR...] | \fINodeFile\fR |
+\fINodeClass\fR}]
+.SH "Description"
+.PP
+Use the \fBmmgetstate\fR command to show the state of the GPFS daemon on
+one or more nodes.
+.SH "Parameters"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+List all nodes in the GPFS cluster. The option does not display
+information for nodes that cannot be reached. You may obtain more
+information if you specify the \fB-v\fR option.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Directs the \fBmmgetstate\fR command to return GPFS daemon information
+for a set of nodes. For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.PP
+This command does not support a \fINodeClass\fR of
+\fBmount\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-L
+\fR
+.RE
+.RS +9
+Display quorum, number of nodes up, total number of nodes, and other
+extended node information.
+.RE
+.PP
+.RS +3
+\fB-s
+\fR
+.RE
+.RS +9
+Display summary information such as: number of local and remote
+nodes that have joined in the cluster, number of quorum nodes.
+.RE
+.PP
+.RS +3
+\fB-v
+\fR
+.RE
+.RS +9
+Display intermediate error messages.
+.RE
+.PP
+The GPFS states recognized and displayed by this command are:
+.PP
+.RS +3
+\fBactive
+\fR
+.RE
+.RS +9
+GPFS is ready for operations.
+.RE
+.PP
+.RS +3
+\fBarbitrating
+\fR
+.RE
+.RS +9
+A node is trying to form a quorum with the other available nodes.
+.RE
+.PP
+.RS +3
+\fBdown
+\fR
+.RE
+.RS +9
+GPFS daemon is not running on the node.
+.RE
+.PP
+.RS +3
+\fBunknown
+\fR
+.RE
+.RS +9
+Unknown value. Node cannot be reached or some other error
+occurred.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmgetstate\fR command.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on the
+\fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. To display the quorum, the number of nodes up, and the total number of
+nodes for the GPFS cluster, issue:
+.sp
+.nf
+mmgetstate -a -L
+.fi
+.sp
+.sp
+The system displays output similar to:
+.sp
+.nf
+Node number  Node name  Quorum  Nodes up Total nodes  GPFS state
+----------------------------------------------------------------
+       1      k154gn01      3        5        8       active
+       2      k154gn02      3        5        8       active
+       3      k154gn09      3        5        8       active
+       4      k154gn10      3        5        8       active
+       5      k155gn01      3        5        8       active
+       6      k154gn02      3        5        8       down
+       7      k154gn09      3        5        8       down
+       8      k154gn10      3        5        8       down
+.fi
+.sp
+.sp
+The 3 under the Quorum column means that you must have three quorum nodes
+up to achieve quorum.
+.HP 3
+2. This is an example of a cluster using node quorum with tiebreaker
+disks. Note the * in the Quorum field, which indicates that tiebreaker
+disks are being used:
+.sp
+.nf
+mmgetstate -a -L
+.fi
+.sp
+The system displays output similar to:
+.sp
+.nf
+Node    Node       Nodes Total GPFS
+number  name Quorum  up  nodes state   Remarks
+----------------------------------------------
+ 1      k5n91   5*   8    21   active
+ 2      k5n92   5*   8    21   active  quorum node
+ 3      k5n94   5*   8    21   active
+ 5      k5n96   5*   8    21   active
+ 6      k5n97   5*   8    21   active  quorum node
+ 7      k5n98   5*   8    21   active
+ 8      k5n99   5*   8    21   active  quorum node                                                            
+.fi
+.sp
+.HP 3
+3. To displays summary information, issue this command: 
+.sp
+.nf
+mmgetstate -s
+.fi
+.sp
+The system displays output similar to:
+.sp
+.nf
+Node number Node name GPFS state
+------------------------------------------
+1 k154n05 active
+Summary information
+---------------------
+Number of nodes defined in the cluster: 8
+Number of local nodes active in the cluster: 8
+Number of remote nodes joined in this cluster: 0
+Number of quorum nodes defined in the cluster: 2
+Number of quorum nodes active in the cluster: 2
+Quorum = 1*, Quorum achieved
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmchconfig Command
+.PP
+mmcrcluster Command
+.PP
+mmshutdown Command
+.PP
+mmstartup Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmimportfs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmimportfs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmimportfs.8	(revision 16)
@@ -0,0 +1,223 @@
+.TH mmimportfs 02/16/06
+mmimportfs Command
+.SH "Name"
+.PP
+\fBmmimportfs\fR - Imports into the cluster one or more file systems that
+were created in another GPFS cluster.
+.SH "Synopsis"
+.PP
+\fBmmimportfs\fR {\fIDevice\fR | \fBall\fR} \fB-i\fR
+\fIImportfsFile\fR [\fB-S\fR \fIChangeSpecFile\fR]
+.SH "Description"
+.PP
+The \fBmmimportfs\fR command, in conjunction with the \fBmmexportfs\fR command, can be used to move into the
+current GPFS cluster one or more file systems that were created in another
+GPFS cluster. The \fBmmimportfs\fR command extracts all relevant
+file system and disk information from the \fIExportFilesysData\fR file
+specified with the \fB-i\fR parameter. This file must have been
+created by the
+\fBmmexportfs\fR command.
+.PP
+When \fBall\fR is specified in place of a file system name, any disks
+that are not associated with a file system will be imported as well.
+.PP
+If the file systems being imported were created on nodes that do not
+belong to the current GPFS cluster, the \fBmmimportfs\fR command assumes
+that all disks have been properly moved, and are online and available to the
+appropriate nodes in the current cluster.
+.PP
+If any node in the cluster, including the node on which you are running the
+\fBmmimportfs\fR command, does not have access to one or more disks, use
+the \fB-S\fR option to assign NSD servers to those disks.
+.PP
+The \fBmmimportfs\fR command attempts to preserve any NSD server
+assignments that were in effect when the file system was exported.
+.PP
+If the file system was exported from a cluster created with a version of GPFS
+prior to 2.3, it is possible that the disks of the file system are not
+NSDs. Such disks will be automatically converted into NSDs by the
+\fBmmimportfs\fR command.
+.PP
+After the \fBmmimportfs\fR command completes, use \fBmmlsnsd\fR to display the NSD server names that are
+assigned to each of the disks in the imported file system. Use \fBmmchnsd\fR to change the current NSD server
+assignments as needed.
+.PP
+After the \fBmmimportfs\fR command completes, use \fBmmlsdisk\fR to display the failure groups to which
+each disk belongs. Use
+\fBmmchdisk\fR to make
+adjustments if necessary.
+.PP
+If you are importing file systems into a cluster that already contains GPFS
+file systems, it is possible to encounter name conflicts. You must
+resolve such conflicts before the \fBmmimportfs\fR command can
+succeed. You can use the
+\fBmmchfs\fR command
+to change the device name and mount point of an existing file system.
+If there are disk name conflicts, use the \fBmmcrnsd\fR command to define new disks and specify
+unique names (rather than let the command generate names). Then replace
+the conflicting disks using
+\fBmmrpldisk\fR and
+remove them from the cluster using \fBmmdelnsd\fR.
+.SH "Results"
+.PP
+Upon successful completion of the \fBmmimportfs\fR command, all
+configuration information pertaining to the file systems being imported is
+added to configuration data of the current GPFS cluster.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR | all
+\fR
+.RE
+.RS +9
+The device name of the file system to be imported. File system
+names need not be fully-qualified. \fBfs0\fR is as acceptable as
+\fB/dev/fs0\fR. Specify \fBall\fR to import all GPFS file
+systems, as well as all disks that do not belong to a file system yet.
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB-i \fIImportfsFile\fR
+\fR
+.RE
+.RS +9
+The path name of the file containing the file system information.
+This file must have previously been created with the \fBmmexportfs\fR command.
+.RE
+.PP
+.RS +3
+\fB-S \fIChangeSpecFile\fR
+\fR
+.RE
+.RS +9
+The path name of an optional file containing disk descriptors, one per
+line, in the format: 
+.sp
+.nf
+DiskName:PrimaryServer:BackupServer:
+.fi
+.sp
+.PP
+.RS +3
+\fBDiskName
+\fR
+.RE
+.RS +9
+The name of a disk from the file system being imported.
+.RE
+.PP
+.RS +3
+\fBPrimaryServer
+\fR
+.RE
+.RS +9
+The name of the primary NSD server node you want to assign to the
+disk.
+.RE
+.PP
+.RS +3
+\fBBackupServer
+\fR
+.RE
+.RS +9
+The name of the backup NSD server node you want to assign to the
+disk.
+.RE
+.PP
+\fBNotes: \fR
+.RS +3
+.sp
+.HP 3
+1. You cannot change the name of a disk. You cannot change the disk
+usage or failure group assignment with the \fBmmimportfs\fR command.
+Use the
+\fBmmchdisk\fR command for this
+purpose.
+.sp
+.HP 3
+2. All disks that do not have descriptors in \fIChangeSpecFile\fR are
+assigned the NSD servers that they had at the time the file system was
+exported. All disks with NSD servers that are not valid are assumed to
+be SAN-attached to all nodes in the cluster. Use the \fBmmchnsd\fR command to assign new or change existing
+NSD server nodes.
+.RE
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmimportfs\fR command.
+.PP
+You may issue the \fBmmimportfs\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To import all file systems in the current cluster, issue this
+command:
+.sp
+.nf
+mmimportfs all -i /u/admin/exportfile
+.fi
+.sp
+.PP
+The output is similar to this:
+.sp
+.nf
+mmimportfs: Processing file system fs1 ...
+mmimportfs: Processing disk gpfs2nsd
+mmimportfs: Processing disk gpfs3nsd
+mmimportfs: Processing disk gpfs4nsd
+mmimportfs: Processing file system fs2 ...
+mmimportfs: Processing disk gpfs1nsd1
+mmimportfs: Processing disk gpfs5nsd
+mmimportfs: Processing disks that do not belong to any file system ...
+mmimportfs: Processing disk gpfs6nsd
+mmimportfs: Processing disk gpfs1001nsd
+mmimportfs: Committing the changes ...
+mmimportfs: The following file systems were successfully imported:
+        fs1
+        fs2
+mmimportfs: 6027-1371 Propagating the changes to all affected
+                      nodes. This is an asynchronous process.
+.fi
+.sp
+.SH "See also"
+.PP
+mmexportfs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmlinkfileset.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmlinkfileset.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmlinkfileset.8	(revision 16)
@@ -0,0 +1,158 @@
+.TH mmlinkfileset 02/16/06
+mmlinkfileset Command
+.SH "Name"
+.PP
+\fBmmlinkfileset\fR - Creates a junction that references the root
+directory of a GPFS fileset.
+.SH "Synopsis"
+.PP
+\fBmmlinkfileset\fR \fIDevice\fR \fIFilesetName\fR
+\fB[-J\fR \fIJunctionPath\fR\fB]\fR
+.SH "Description"
+.PP
+The \fBmmlinkfileset\fR command creates a junction at
+\fIJunctionPath\fR that references the root directory of
+\fIFilesetName\fR. The junction is a special directory entry, much
+like a POSIX hard link, that connects a name in a directory of one fileset,
+the parent, to the root directory of a child fileset. From the
+user's viewpoint, a junction always appears as if it were a directory,
+but the user is not allowed to issue the \fBunlink\fR or \fBrmdir\fR
+commands on a junction. Instead, the
+\fBmmunlinkfileset\fR command must
+be used to remove a junction.
+.PP
+If \fIJunctionPath\fR is not specified, the junction is created in the
+current directory with the name \fIFilesetName\fR. The user may use
+the \fBmv\fR command on the directory to move to a new location in the
+parent fileset, but the \fBmv\fR command is not allowed to move the
+junction to a different fileset.
+.PP
+For information on GPFS filesets, see the chapter
+\fIPolicy-based data management for
+GPFS\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system that contains the fileset.
+.PP
+File system names need not be fully-qualified. \fBfs0\fR is as
+acceptable as \fB/dev/fs0\fR.
+.RE
+.PP
+.RS +3
+\fB\fIFilesetName\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the fileset to be linked. It must not already
+be linked into the namespace.
+.RE
+.PP
+.RS +3
+\fB-J \fIJunctionPath\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the junction. The name must not already
+exist, and must not already be linked into the namespace. The name must
+not already exist, and must not already be linked into the namespace. 
+.PP
+A junction is a special directory entry that connects a name in a directory
+of one fileset to the root directory of another fileset.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmlinkfileset\fR
+command.
+.PP
+You may issue the \fBmmlinkfileset\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+This command links fileset \fBfset1\fR in file system \fBgpfs1\fR to
+junction path \fB/gpfs1/fset1\fR:
+.sp
+.nf
+mmlinkfileset gpfs1 fset1 -J /gpfs1/fset1
+.fi
+.sp
+.PP
+The system displays output similar to: 
+.sp
+.nf
+Fileset 'fset1' linked at '/gpfs1/fset1'.
+.fi
+.sp
+.PP
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfileset gpfs1
+.fi
+.sp
+.PP
+The system displays output similar to: 
+.sp
+.nf
+Filesets in file system 'gpfs1':
+Name                     Status    Path\ 
+root                     Linked    /gpfs1\ 
+fset1                    Linked    /gpfs1/fset1
+.fi
+.sp
+.SH "See also"
+.PP
+mmchfileset Command
+.PP
+mmcrfileset Command
+.PP
+mmdelfileset Command
+.PP
+mmlsfileset Command
+.PP
+mmunlinkfileset Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmlscluster.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmlscluster.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmlscluster.8	(revision 16)
@@ -0,0 +1,139 @@
+.TH mmlscluster 02/16/06
+mmlscluster Command
+.SH "Name"
+.PP
+\fBmmlscluster\fR - Displays the current configuration information
+for a GPFS cluster.
+.SH "Synopsis"
+.PP
+\fBmmlscluster\fR
+.SH "Description"
+.PP
+Use the \fBmmlscluster\fR command to display the current configuration
+information for a GPFS cluster.
+.PP
+For the GPFS cluster, the \fBmmlscluster\fR command displays:
+.RS +3
+.HP 3
+\(bu The cluster name
+.HP 3
+\(bu The cluster ID
+.HP 3
+\(bu GPFS UID domain
+.HP 3
+\(bu The remote shell command being used
+.HP 3
+\(bu The remote file copy command being used
+.HP 3
+\(bu The primary GPFS cluster configuration server
+.HP 3
+\(bu The secondary GPFS cluster configuration server
+.HP 3
+\(bu A list of nodes belonging the GPFS cluster
+.RE
+.PP
+For each node, the command displays:
+.RS +3
+.HP 3
+\(bu The node number assigned to the node by GPFS
+.HP 3
+\(bu GPFS daemon node interface name
+.HP 3
+\(bu Primary network IP address
+.HP 3
+\(bu GPFS administration node interface name
+.HP 3
+\(bu Remarks, such as whether the node is a quorum node or not
+.RE
+.SH "Parameters"
+.PP
+NONE
+.SH "Options"
+.PP
+NONE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmlscluster\fR
+command.
+.PP
+You may issue the \fBmmlscluster\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To display the current configuration information for the GPFS cluster,
+issue this command:
+.sp
+.nf
+mmlscluster\ 
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+GPFS cluster information
+========================
+  GPFS cluster name:         cluster1.kgn.ibm.com
+  GPFS cluster id:           680681562214606028
+  GPFS UID domain:           cluster1.kgn.ibm.com
+  Remote shell command:      /usr/bin/rsh
+  Remote file copy command:  /usr/bin/rcp
+GPFS cluster configuration servers:
+-----------------------------------
+  Primary server:    k164sn06.kgn.ibm.com
+  Secondary server:  k164n04.kgn.ibm.com
+Node  Daemon node name    IP address    Admin node name    Designation
+----------------------------------------------------------------------
+ 1   k164n04.kgn.ibm.com  89.116.68.68  k164n04.kgn.ibm.com  quorum
+ 2   k164n05.kgn.ibm.com  89.116.68.69  k164n05.kgn.ibm.com  quorum
+ 3   k164n06.kgn.ibm.com  89.116.68.70  k164sn06.kgn.ibm.com quorum-manager
+.fi
+.sp
+.SH "See also"
+.PP
+mmaddnode Command
+.PP
+mmchcluster Command
+.PP
+mmcrcluster Command
+.PP
+mmdelnode Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmlsconfig.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmlsconfig.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmlsconfig.8	(revision 16)
@@ -0,0 +1,109 @@
+.TH mmlsconfig 02/16/06
+mmlsconfig Command
+.SH "Name"
+.PP
+\fBmmlsconfig\fR - Displays the current configuration data for a GPFS
+cluster.
+.SH "Synopsis"
+.PP
+\fBmmlsconfig\fR
+.SH "Description"
+.PP
+Use the \fBmmlsconfig\fR command to display the current configuration
+data for a GPFS cluster.
+.PP
+Depending on your configuration, additional information that is set by GPFS
+may be displayed to assist in problem determination when contacting the
+IBM Support Center. If a configuration
+parameter is not shown in the output of this command, the default value for
+that parameter, as documented in the
+\fBmmchconfig\fR
+command, is in effect.
+.SH "Parameters"
+.PP
+NONE
+.SH "Options"
+.PP
+NONE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmlsconfig\fR command.
+.PP
+You may issue the \fBmmlsconfig\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To display the current configuration data for the GPFS cluster that you are
+running on, issue this command:
+.sp
+.nf
+mmlsconfig
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+Configuration data for cluster cluster1.kgn.ibm.com:
+------------------------------------------------------------
+clusterName cluster1.kgn.ibm.com
+clusterId 680681562214606028
+clusterType lc
+multinode yes
+autoload no
+useDiskLease yes
+cipherList AUTHONLY
+maxFeatureLevelAllowed 901
+subnets=192.168.2.0
+File systems in cluster cluster1.kgn.ibm.com:
+-----------------------------------------------------
+/dev/fs1
+/dev/fs2
+.fi
+.sp
+.SH "See also"
+.PP
+mmchcluster Command
+.PP
+mmchconfig Command
+.PP
+mmcrcluster Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmlsdisk.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmlsdisk.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmlsdisk.8	(revision 16)
@@ -0,0 +1,357 @@
+.TH mmlsdisk 03/31/06
+mmlsdisk Command
+.SH "Name"
+.PP
+\fBmmlsdisk\fR - Displays the current configuration and state of the
+disks in a file system.
+.SH "Synopsis"
+.PP
+\fBmmlsdisk\fR \fIDevice\fR [\fB-d\fR
+\fB"\fR\fIDiskName\fR[;\fIDiskName\fR...\fB]"]\fR
+[\fB-e\fR] [\fB-L\fR]
+.PP
+Or,
+.PP
+\fBmmlsdisk\fR \fIDevice\fR [\fB-d\fR
+\fB"\fR\fIDiskName\fR[;\fIDiskName\fR...\fB]"]\fR
+{\fB-m\fR | \fB-M\fR}
+.SH "Description"
+.PP
+Use the \fBmmlsdisk\fR command to display the current state of the disks
+in the file system.
+.PP
+The \fBmmlsdisk\fR command may be run against a mounted or unmounted
+file system.
+.PP
+For each disk in the list, the \fBmmlsdisk\fR command displays:
+.RS +3
+.HP 3
+\(bu disk name
+.HP 3
+\(bu driver type
+.HP 3
+\(bu sector size
+.HP 3
+\(bu failure group
+.HP 3
+\(bu whether it holds metadata
+.HP 3
+\(bu whether it holds data
+.HP 3
+\(bu current
+status:
+.sp
+.RS +3
+\fBready
+\fR
+.RE
+.RS +9
+Normal status
+.RE
+.sp
+.RS +3
+\fBsuspended
+\fR
+.RE
+.RS +9
+Indicates that data is to be migrated off this disk
+.RE
+.sp
+.RS +3
+\fBbeing emptied
+\fR
+.RE
+.RS +9
+Transitional status in effect while a disk deletion is pending
+.RE
+.sp
+.RS +3
+\fBreplacing
+\fR
+.RE
+.RS +9
+Transitional status in effect for old disk while replacement is pending
+.RE
+.sp
+.RS +3
+\fBreplacement
+\fR
+.RE
+.RS +9
+Transitional status in effect for new disk while replacement is pending
+.RE
+.HP 3
+\(bu availability:
+.sp
+.RS +3
+\fBup
+\fR
+.RE
+.RS +9
+Disk is available to GPFS for normal \fBread\fR and \fBwrite\fR
+operations
+.RE
+.sp
+.RS +3
+\fBdown
+\fR
+.RE
+.RS +9
+No \fBread\fR and \fBwrite\fR operations can be performed on
+this disk
+.RE
+.sp
+.RS +3
+\fBrecovering
+\fR
+.RE
+.RS +9
+An intermediate state for disks coming up, during which GPFS verifies and
+corrects data. \fBread\fR operations can be performed while a disk
+is in this state but \fBwrite\fR operations cannot.
+.RE
+.sp
+.RS +3
+\fBunrecovered
+\fR
+.RE
+.RS +9
+The disks was not successfully brought up.
+.RE
+.HP 3
+\(bu disk ID
+.HP 3
+\(bu storage pool that the disk is assigned to
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to which the disks belong. File
+system names need not be fully-qualified. \fBfs0\fR is as acceptable
+as \fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB-d "\fIDiskName\fR[;\fIDiskName\fR...]"
+\fR
+.RE
+.RS +9
+The name of the disks for which you want to display current configuration
+and state information. When you enter multiple values for
+\fIDiskName\fR, you must separate them with semicolons and enclose the list
+in quotation marks.
+.sp
+.nf
+"gpfs3nsd;gpfs4nsd;gpfs5nsd"
+.fi
+.sp
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-e
+\fR
+.RE
+.RS +9
+Display all of the disks in the file system that do not have an
+availability of \fBup\fR and a status of \fBready\fR. If all
+disks in the file system are \fBup\fR and \fBready\fR, the message
+displayed is:
+.sp
+.nf
+6027-623 All disks up and ready\ 
+.fi
+.sp
+.RE
+.PP
+.RS +3
+\fB-L
+\fR
+.RE
+.RS +9
+Displays an extended list of the disk parameters, including the disk ID
+field and the \fBremarks\fR field. The \fBremarks\fR column shows
+the current file system descriptor quorum assignments, and displays the
+excluded disks. The \fBremarks\fR field contains \fBdesc\fR for
+all disks assigned as the file system descriptor holders and \fBexcl\fR for
+all excluded disks.
+.RE
+.PP
+.RS +3
+\fB-M
+\fR
+.RE
+.RS +9
+Displays whether I/O requests to the disk are satisfied on the local node,
+or using an NSD server. If the I/O is done using an NSD server, shows
+the NSD server name and the underlying disk name on that server
+node.
+.RE
+.PP
+.RS +3
+\fB-m
+\fR
+.RE
+.RS +9
+Displays whether I/O requests to the disk are satisfied on the local node,
+or using an NSD server. This scope of this options is the node on which
+the \fBmmlsdisk\fR command is issued.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+If you are a root user:
+.RS +3
+.HP 3
+1. You may issue the \fBmmlsdisk\fR command from any node in the GPFS
+cluster.
+.HP 3
+2. 
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+a. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+b. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.HP 3
+3. As root, the command can also do an \fBmmlsdisk\fR on remote file
+systems.
+.RE
+.PP
+If you are a non-root user, you may specify only file systems that belong
+to the same cluster as the node on which the \fBmmlsdisk\fR command was
+issued.
+.PP
+The \fBmmlsdisk\fR command does not work if GPFS is
+down.
+.SH "Examples"
+.PP
+.RS +3
+.HP 3
+1. To display the current state of \fBgpfs2nsd\fR, issue this
+command:
+.sp
+.nf
+mmlsdisk /dev/fs0 -d gpfs2nsd
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+disk      driver  sector failure holds    holds                     storage
+name      type      size   group metadata data  status  availability pool
+--------  ------- ------ ------- -------- ----- ------- ------------ -------
+gpfs2nsd  nsd        512    4002 yes      yes   ready   up           system
+.fi
+.sp
+.HP 3
+2. To display the current states of \fBgpfs2nsd\fR,
+\fBgpfs3nsd\fR, and \fBgpfs4nsd\fR, and display their respective disk
+ids and the descriptor quorum assignment, issue this command:
+.sp
+.nf
+mmlsdisk /dev/fs0 -d "gpfs2nsd;gpfs3nsd;gpfs4nsd" -L
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+disk      driver sector failure holds    holds                             storage
+name      type     size   group metadata data  status availability disk id pool     remarks
+--------- ------ ------ ------- -------- ----- ------ ------------ ------- -------- -------
+gpfs2nsd  nsd      512    4002  yes      yes   ready  up           2       system    desc
+gpfs3nsd  nsd      512    4002  yes      yes   ready  up           3       system
+gpfs4nsd  nsd      512    4002  yes      yes   ready  up           4       system
+Number of quorum disks: 3
+Read quorum value:      2
+Write quorum value:     2
+.fi
+.sp
+.HP 3
+3. To display the whether the I/O is performed locally or using an NSD
+server, the NSD server name, and the underlying disk name for the file system
+named \fBtest\fR, issue this command:
+.sp
+.nf
+mmlsdisk test -M
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+Disk name     IO performed on node     Device             Availability
+------------  -----------------------  -----------------  ------------
+gpfs7nsd      localhost                /dev/gpfs2vsd      up
+gpfs10nsd     k5n88.kgn.ibm.com        /dev/gpfs3vsd      up
+gpfs4nsd      localhost                /dev/hdisk10       up
+.fi
+.sp
+.HP 3
+4. To display the same information as in Example 3, but limited to the node on which the command is
+issued, issue this command:
+.sp
+.nf
+mmlsdisk test -m
+.fi
+.sp
+.sp
+The system displays information similar to:
+.sp
+.nf
+Disk name     IO performed on node     Device             Availability
+------------  -----------------------  -----------------  ------------
+gpfs7nsd      localhost                /dev/gpfs2vsd      up
+gpfs10nsd     k5n88.kgn.ibm.com             -             up
+gpfs4nsd      localhost                /dev/hdisk10       up
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmadddisk Command
+.PP
+mmchdisk Command
+.PP
+mmdeldisk Command
+.PP
+mmrpldisk Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmlsfs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmlsfs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmlsfs.8	(revision 16)
@@ -0,0 +1,373 @@
+.TH mmlsfs 12/04/06
+mmlsfs Command
+.SH "Name"
+.PP
+\fBmmlsfs\fR - Displays file system attributes.
+.SH "Synopsis"
+.PP
+\fBmmlsfs\fR {\fIDevice\fR\fB | all\fR} [\fB-A\fR]
+[\fB-a\fR] [\fB-B\fR] [\fB-D\fR]
+[\fB-d\fR] [\fB-E\fR] [\fB-F\fR]
+[\fB-f\fR] [\fB-I\fR] [\fB-i\fR]
+[\fB-j\fR] [\fB-k\fR] [\fB-K\fR]
+[\fB-M\fR] [\fB-m\fR] [\fB-n\fR]
+[\fB-o\fR] [\fB-P\fR] [\fB-Q\fR]
+[\fB-R\fR] [\fB-r\fR] [\fB-S\fR]
+[\fB-s\fR] [\fB-T\fR] [\fB-u\fR]
+[\fB-V\fR] [\fB-z\fR]
+.SH "Description"
+.PP
+Use the \fBmmlsfs\fR command to list the attributes of a file
+system.
+.PP
+Depending on your configuration, additional information that is set by GPFS
+may be displayed to assist in problem determination when contacting the
+IBM Support Center.
+.PP
+\fBResults\fR
+.PP
+If you do not specify any options, all attributes of the file system are
+displayed. When you specify options, only those attributes specified
+are listed, in the order issued in the command. Some parameters are
+preset for optimum performance and, although they display in the
+\fBmmlsfs\fR command output, you cannot change them.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR | all
+\fR
+.RE
+.RS +9
+The device name of the file system to be listed. File system names
+need not be fully-qualified. \fBfs0\fR is as acceptable as
+\fB/dev/fs0\fR. Specify \fBall\fR to list the attributes of all
+GPFS file systems that are owned by this cluster, as well as all remote file
+systems to which this cluster has access.
+.PP
+This must be the first parameter.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-A
+\fR
+.RE
+.RS +9
+Automatically mount the file system when the GPFS daemon starts
+.RE
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Estimated average file size, in bytes
+.RE
+.PP
+.RS +3
+\fB-B
+\fR
+.RE
+.RS +9
+Size of data block, in bytes
+.RE
+.PP
+.RS +3
+\fB-D
+\fR
+.RE
+.RS +9
+The type of file locking semantics that are in effect (\fBnfs4\fR or
+\fBposix\fR)
+.RE
+.PP
+.RS +3
+\fB-d
+\fR
+.RE
+.RS +9
+Names of all of the disks in the file system
+.RE
+.PP
+.RS +3
+\fB-E
+\fR
+.RE
+.RS +9
+Exact \fBmtime\fR values reported
+.RE
+.PP
+.RS +3
+\fB-F
+\fR
+.RE
+.RS +9
+Maximum number of files currently supported
+.RE
+.PP
+.RS +3
+\fB-f
+\fR
+.RE
+.RS +9
+Minimum fragment size, in bytes
+.RE
+.PP
+.RS +3
+\fB-I
+\fR
+.RE
+.RS +9
+Indirect block size, in bytes
+.RE
+.PP
+.RS +3
+\fB-i
+\fR
+.RE
+.RS +9
+Inode size, in bytes
+.RE
+.PP
+.RS +3
+\fB-j
+\fR
+.RE
+.RS +9
+Block allocation map type
+.RE
+.PP
+.RS +3
+\fB-k
+\fR
+.RE
+.RS +9
+Type of authorization supported by the file system
+.RE
+.PP
+.RS +3
+\fB-K
+\fR
+.RE
+.RS +9
+Strict replication enforcement
+.RE
+.PP
+.RS +3
+\fB-M
+\fR
+.RE
+.RS +9
+Maximum number of metadata replicas
+.RE
+.PP
+.RS +3
+\fB-m
+\fR
+.RE
+.RS +9
+Default number of metadata replicas
+.RE
+.PP
+.RS +3
+\fB-n
+\fR
+.RE
+.RS +9
+Estimated number of nodes for mounting the file system
+.RE
+.PP
+.RS +3
+\fB-o
+\fR
+.RE
+.RS +9
+Additional mount options
+.RE
+.PP
+.RS +3
+\fB-P
+\fR
+.RE
+.RS +9
+Storage pools defined within the file system.
+.RE
+.PP
+.RS +3
+\fB-Q
+\fR
+.RE
+.RS +9
+Which quotas are currently enforced on the file system
+.RE
+.PP
+.RS +3
+\fB-R
+\fR
+.RE
+.RS +9
+Maximum number of data replicas
+.RE
+.PP
+.RS +3
+\fB-r
+\fR
+.RE
+.RS +9
+Default number of data replicas
+.RE
+.PP
+.RS +3
+\fB-s
+\fR
+.RE
+.RS +9
+Stripe method
+.RE
+.PP
+.RS +3
+\fB-S
+\fR
+.RE
+.RS +9
+Whether the updating of \fBatime\fR is suppressed for the
+\fBgpfs_stat()\fR, \fBgpfs_fstat()\fR, \fBstat()\fR, and
+\fBfstat()\fR calls
+.RE
+.PP
+.RS +3
+\fB-T
+\fR
+.RE
+.RS +9
+Default mount point
+.RE
+.PP
+.RS +3
+\fB-u
+\fR
+.RE
+.RS +9
+Whether support for large LUNs is enabled
+.RE
+.PP
+.RS +3
+\fB-V
+\fR
+.RE
+.RS +9
+Current format version of the file system
+.RE
+.PP
+.RS +3
+\fB-z
+\fR
+.RE
+.RS +9
+DMAPI is enabled for this file system
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+If you are a root user:
+.RS +3
+.HP 3
+1. You may issue the \fBmmlsfs\fR command from any node in the GPFS
+cluster.
+.HP 3
+2. 
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the \fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+a. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+b. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.HP 3
+3. As root, a user can also issue the \fBmmlsfs\fR on remote file
+systems.
+.RE
+.PP
+If you are a non-root user, you may specify only file systems that belong
+to the same cluster as the node on which the \fBmmlsfs\fR command was
+issued.
+.SH "Examples"
+.PP
+If you issue the \fBmmlsfs\fR command with no options for the file
+system \fBgpfs1\fR:
+.sp
+.nf
+mmlsfs gpfs1
+.fi
+.sp
+.PP
+The system displays information similar to this. Output appears in
+the order the option were specified in the command.
+.sp
+.nf
+flag value          description
+---- -------------- ------------------------------------------------
+ -s  roundRobin     Stripe method
+ -f  8192           Minimum fragment size in bytes
+ -i  512            Inode size in bytes
+ -I  16384          Indirect block size in bytes
+ -m  1              Default number of metadata replicas
+ -M  1              Maximum number of metadata replicas
+ -r  1              Default number of data replicas
+ -R  1              Maximum number of data replicas
+ -j  cluster        Block allocation type
+ -D  posix          File locking semantics in effect
+ -k  posix          ACL semantics in effect
+ -a  1048576        Estimated average file size
+ -n  32             Estimated number of nodes that will mount file
+                    system
+ -B  262144         Block size
+ -Q  none           Quotas enforced
+     none           Default quotas enabled
+ -F  33792          Maximum number of inodes
+ -V  9.03           File system version. Highest supported version:
+                    9.03
+ -u  yes            Support for large LUNs?
+ -z  no             Is DMAPI enabled?
+ -E  yes            Exact mtime mount option
+ -S  no             Suppress atime mount option
+ -P  system         Disk storage pools in file system
+ -d  gpfs2nsd;gpfs3nsd;gpfs4nsd;gpfs5nsd  Disks in file system
+ -A  yes            Automatic mount option
+ -o  none           Additional mount options
+ -T  /gpfs1         Default mount point
+.fi
+.sp
+.SH "See also"
+.PP
+mmcrfs Command
+.PP
+mmchfs Command
+.PP
+mmdelfs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmlsmgr.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmlsmgr.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmlsmgr.8	(revision 16)
@@ -0,0 +1,138 @@
+.TH mmlsmgr 02/16/06
+mmlsmgr Command
+.SH "Name"
+.PP
+\fBmmlsmgr\fR - Displays which node is the file system manager for
+the specified file systems.
+.SH "Synopsis"
+.PP
+\fBmmlsmgr\fR [\fIDevice\fR
+[\fIDevice\fR...]]
+.SH "Description"
+.PP
+Use the \fBmmlsmgr\fR command to display which node is the file system
+manager for the file system.
+.PP
+If you do not provide a \fIDevice\fR operand, file system managers for
+all file systems within the current cluster for which a file system manager
+has been appointed are displayed.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device names of the file systems for which the file system manager
+information is displayed. 
+.PP
+If more than one file system is listed, the names must be delimited by a
+space. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.PP
+If no file system is specified, information about all file systems is
+displayed.
+.RE
+.SH "Options"
+.PP
+NONE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+If you are a root user:
+.RS +3
+.HP 3
+1. You may issue the \fBmmlsmgr\fR command from any node in the GPFS
+cluster.
+.HP 3
+2. 
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+a. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+b. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.HP 3
+3. As root, a user can also issue the \fBmmlsmgr\fR on remote file
+systems.
+.RE
+.PP
+If you are a non-root user, you may specify only file systems that belong
+to the same cluster as the node on which the \fBmmlsmgr\fR command was
+issued.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To display the file system manager node information for all the file
+systems, issue this command:
+.sp
+.nf
+mmlsmgr\ 
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+file system      manager node [from 199.114.68.69 (k156gn02)]
+---------------- ------------------
+fs1              199.114.68.70 (k154gn01)\ 
+fs2              199.114.68.71 (k154gn02)\ 
+fs3              199.114.68.72 (kolt2g_r1b42)
+.fi
+.sp
+.sp
+The output shows the device name of the file system and the file system
+manager's node number and name, in parenthesis, as they are recorded in
+the GPFS cluster data.
+.HP 3
+2. To display the file system manager information for file systems
+\fBgpfs2\fR and \fBgpfs3\fR, issue this command:
+.sp
+.nf
+mmlsmgr gpfs2 gpfs3
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+file system      manager node [from 199.114.68.69 (k156gn02)]
+---------------- ------------------
+gpfs2              199.114.68.70 (k154gn02)\ 
+gpfs3              199.114.68.72 (kolt2g_r1b42)
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmchmgr Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmlsnsd.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmlsnsd.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmlsnsd.8	(revision 16)
@@ -0,0 +1,277 @@
+.TH mmlsnsd 02/16/06
+mmlsnsd Command
+.SH "Name"
+.PP
+\fBmmlsnsd\fR - Displays the current Network Shared Disk (NSD)
+information in the GPFS cluster.
+.SH "Synopsis"
+.PP
+\fBmmlsnsd\fR [\fB\fI-a\fR\fR | \fB-F\fR | \fB-f\fR
+\fIDevice\fR | \fB-d\fR
+"\fIDiskName\fR[;\fIDiskName\fR...]" ]
+[\fB-L\fR | \fB-m\fR | \fB-M\fR | \fB-X\fR]
+[\fB-v\fR]
+.SH "Description"
+.PP
+Use the \fBmmlsnsd\fR command to display the current information for the
+NSDs belonging to the GPFS cluster. The default is to display
+information for all NSDs defined to the cluster (\fB-a\fR).
+Otherwise, you may choose to display the information for a particular file
+system (\fB-f\fR) or for all disks that do not belong to any file system
+(\fB-F\fR).
+.SH "Parameters"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Display information for all of the NSDs belonging to the GPFS
+cluster. This is the default.
+.RE
+.PP
+.RS +3
+\fB-f \fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system for which you want NSD information
+displayed. File system names need not be fully-qualified.
+\fBfs0\fR is as acceptable as \fB/dev/fs0\fR.
+.RE
+.PP
+.RS +3
+\fB-F
+\fR
+.RE
+.RS +9
+Display the NSDs that do not belong to any file system in the GPFS
+cluster.
+.RE
+.PP
+.RS +3
+\fB-d \fIDiskName\fR[;\fIDiskName\fR...]
+\fR
+.RE
+.RS +9
+.PP
+The name of the NSDs for which you want information displayed. When
+you enter multiple \fIDiskName\fRs, you must separate them with semicolons
+and enclose the entire string of disk names in quotation marks:
+.sp
+.nf
+"gpfs3nsd;gpfs4nsd;gpfs5nsd"
+.fi
+.sp
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-L
+\fR
+.RE
+.RS +9
+Display the information in a long format that shows the NSD
+identifier.
+.RE
+.PP
+.RS +3
+\fB-m
+\fR
+.RE
+.RS +9
+Map the NSD name to its disk device name in \fB/dev\fR on the local
+node and, if applicable, on the primary and backup NSD server nodes.
+.RE
+.PP
+.RS +3
+\fB-M
+\fR
+.RE
+.RS +9
+Map the NSD names to its disk device name in \fB/dev\fR on all
+nodes.
+.PP
+This is a slow operation and its usage is suggested for problem
+determination only.
+.RE
+.PP
+.RS +3
+\fB-v
+\fR
+.RE
+.RS +9
+Specifies that the output should contain error information, where
+available.
+.RE
+.PP
+.RS +3
+\fB-X
+\fR
+.RE
+.RS +9
+Map the NSD name to its disk device name in \fB/dev\fR on the local
+node and, if applicable, on the primary and backup NSD server nodes, showing
+the information with extended information in the NSD volume id and the remarks
+fields. This is a slow operation and is suggested only for problem
+determination.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to issue the \fBmmlsnsd\fR command.
+.PP
+You may issue the \fBmmlsnsd\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. To display the default information for all of the NSDs belonging to the
+cluster, issue this command:
+.sp
+.nf
+mmlsnsd
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+File system  Disk name  Primary node       Backup node
+--------------------------------------------------------
+gpfsa        gpfs16nsd  k145n06            k145n07
+gpfsa        gpfs17nsd  k145n06            k145n07
+gpfsa        gpfs18nsd  k145n06            k145n07
+gpfsa        gpfs19nsd  k145n06            k145n07
+gpfsa        gpfs20nsd  k145n06            k145n07
+gpfs1        gpfs1nsd   (directly attached)
+gpfs1        gpfs2nsd   (directly attached)
+gpfs1        gpfs3nsd   (directly attached)
+gpfs1        gpfs4nsd   (directly attached)
+\ 
+.fi
+.sp
+.HP 3
+2. To display all of the NSDs attached to the node from which the command is
+issued, issue this command:
+.sp
+.nf
+mmlsnsd -m
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Disk name NSD volume ID     Device    Node name Remarks
+------------------------------------------------------------
+gpfs16nsd 097284213AA842EC  /dev/sdb  k145n06   primary node\ 
+gpfs16nsd 097284213AA842EC  /dev/sdb  k145n07   backup node\ 
+gpfs17nsd 097284213AA842EF  /dev/sdc  k145n06   primary node
+gpfs17nsd 097284213AA842EF  /dev/sdc  k145n07   backup node\ 
+gpfs18nsd 097284213AA842F2  /dev/sdd  k145n06   primary node
+gpfs18nsd 097284213AA842F2  /dev/sdd  k145n07   backup node\ 
+gpfs19nsd 097284213AA842F5  /dev/sde  k145n06   primary node
+gpfs19nsd 097284213AA842F5  /dev/sde  k145n07   backup node\ 
+gpfs20nsd 097284213AA842F7  /dev/sdf  k145n06   primary node
+gpfs20nsd 097284213AA842F7  /dev/sdf  k145n07   backup node\ 
+gpfs1nsd  0972841D3AA8420A  -         k145n06 (not found) directly attached
+gpfs2nsd  0972841D3AA8420B  -         k145n06 (not found) directly attached\ 
+gpfs3nsd  0972841D3AA8420C  -         k145n06 (not found) directly attached
+gpfs4nsd  0972841D3AA8420D  -         k145n06 (not found) directly attached
+\ 
+.fi
+.sp
+.HP 3
+3. To display all of the NSDs in the GPFS cluster in extended format, issue
+this command:
+.sp
+.nf
+mmlsnsd -L
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+File system Disk name NSD volume ID   Primary node  Backup node
+---------------------------------------------------------------
+gpfsa      gpfs16nsd  097284213AA842EC  k145n06        k145n07
+gpfsa      gpfs17nsd  097284213AA842EF  k145n06        k145n07
+gpfsa      gpfs18nsd  097284213AA842F2  k145n06        k145n07
+gpfsa      gpfs19nsd  097284213AA842F5  k145n06        k145n07
+gpfsa      gpfs20nsd  097284213AA842F7  k145n06        k145n07
+gpfs1      gpfs1nsd   0972841D3AA8420A  (directly attached)
+gpfs1      gpfs2nsd   0972841D3AA8420B  (directly attached)
+gpfs1      gpfs3nsd   0972841D3AA8420C  (directly attached)
+gpfs1      gpfs4nsd   0972841D3AA8420D  (directly attached)
+.fi
+.sp
+.HP 3
+4. To display extended disk information about disks \fBgpfs10nsd\fR,
+\fBgpfs11nsd\fR, \fBsdbnsd\fR, and \fBvp10vsdn06\fR, issue this
+command:
+.sp
+.nf
+mmlsnsd -X -d "gpfs10nsd;gpfs11nsd;sdbnsd;vp10vsdn06"
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Disk name   NSD volume ID     Device          Devtype  Node name             Remarks
+------------------------------------------------------------------------------------------------
+gpfs10nsd   09725E5E43035A99  /dev/hdisk6     hdisk    k155n14.kgn.ibm.com   primary
+gpfs10nsd   09725E5E43035A99  /dev/hdisk8     hdisk    k155n16.kgn.ibm.com   backup
+gpfs11nsd   09725E5E43035AA6  /dev/vpath12    vpath    k155n14.kgn.ibm.com   primary
+gpfs11nsd   09725E5E43035AA6  /dev/vpath12    vpath    k155n16.kgn.ibm.com   backup
+sdbnsd      09725E024328783A  /dev/sdb        generic  k156gn02.kgn.ibm.com  primary
+sdbnsd      09725E024328783A  -               generic  k156gn03.kgn.ibm.com  (not found) backup
+vsdn06   09725E46432877ED     /dev/vsdn06     vsd      k154gn05.kgn.ibm.com  backup;state=ACT;
+lv=vsdn06lv;vg=vsdn06vg
+vsdn06  09725E46432877ED      /dev/vsdn06     vsd      k154gn06.kgn.ibm.com  primary;state=ACT;
+lv=vsdn06lv;vg=vsdn06vg
+\ 
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmcrnsd Command
+.PP
+mmdelnsd Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmmount.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmmount.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmmount.8	(revision 16)
@@ -0,0 +1,186 @@
+.TH mmmount 12/04/06
+mmmount Command
+.SH "Name"
+.PP
+\fBmmmount\fR - Mounts GPFS file systems on one or more nodes in the
+cluster.
+.SH "Synopsis"
+.PP
+\fBmmmount\fR \fB{\fR\fIDevice\fR \fB | \fR
+\fIDefaultMountPoint\fR \fB | \fR \fBall | all_local | all_remote}\fR
+\fB[-o \fR\fIMountOptions\fR\fB] [-a | -N
+\fR\fB{\fR\fINode\fR\fB[,\fR\fINode\fR\fB...]
+| \fR\fINodeFile\fR\fB | \fR\fINodeClass\fR\fB}]\fR
+.PP
+Or,
+.PP
+\fBmmmount\fR \fIDevice\fR \fIMountPoint\fR \fB[-o
+\fR\fIMountOptions\fR\fB]\fR\fB [-a | -N
+\fR\fB{\fR\fINode\fR\fB[,\fR\fINode\fR\fB...]
+| \fR\fINodeFile\fR\fB | \fR\fINodeClass\fR\fB}]\fR
+.SH "Description"
+.PP
+The \fBmmmount\fR command mounts the specified GPFS file system on one
+or more nodes in the cluster. If no nodes are specified, the file
+systems are mounted only on the node from which the command was issued.
+A file system can be specified using its device name or its default mount
+point, as established by the \fBmmcrfs\fR, \fBmmchfs\fR or
+\fBmmremotefs\fR commands.
+.PP
+When \fBall\fR is specified in place of a file system name, all GPFS
+file systems will be mounted. This also includes remote GPFS file
+systems to which this cluster has access.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR | all | all_local | all_remote
+\fR
+.RE
+.RS +9
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to be mounted. File system names
+do not need to be fully-qualified. \fBfs0\fR is just as acceptable
+as \fB/dev/fs0\fR.
+.RE
+.PP
+.RS +3
+\fBall
+\fR
+.RE
+.RS +9
+Indicates all file systems known to this cluster
+.RE
+.PP
+.RS +3
+\fBall_local
+\fR
+.RE
+.RS +9
+Indicates all file systems owned by this cluster
+.RE
+.PP
+.RS +3
+\fBall_remote
+\fR
+.RE
+.RS +9
+Indicates all files systems owned by another cluster to which this cluster
+has access
+.RE
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB\fIDefaultMountPoint\fR
+\fR
+.RE
+.RS +9
+The mount point associated with the file system as a result of the
+\fBmmcrfs\fR, \fBmmchfs\fR, or \fBmmremotefs\fR commands.
+.RE
+.PP
+.RS +3
+\fB\fIMountPoint\fR
+\fR
+.RE
+.RS +9
+The location where the file system is to be mounted. If not
+specified, the file system is mounted at its default mount point. This
+option can be used to mount a file system at a mount point other than its
+default mount point.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Mount the file system on all nodes in the GPFS cluster.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Specifies the nodes on which the file system is to be mounted. 
+.PP
+This command does not support a \fINodeClass\fR of
+\fBmount\fR.
+.RE
+.PP
+.RS +3
+\fB-o \fIMountOptions\fR
+\fR
+.RE
+.RS +9
+Specifies the mount options to pass to the mount command when mounting the
+file system.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmmount\fR command.
+.PP
+You may issue the \fBmmmount\fR command from any node in the GPFS
+cluster.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To mount all GPFS file systems on all of the nodes in the cluster, issue
+this command: 
+.sp
+.nf
+mmmount all -a
+.fi
+.sp
+.HP 3
+2. To mount file system \fBfs2\fR read-only on the local node, issue this
+command: 
+.sp
+.nf
+mmmount fs2 -o ro
+.fi
+.sp
+.HP 3
+3. To mount file system \fBfs1\fR on all NSD server nodes, issue this
+command:
+.sp
+.nf
+mmmount fs1 -N nsdsnodes
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmumount Command
+.PP
+mmlsmount Command,
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmpmon.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmpmon.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmpmon.8	(revision 16)
@@ -0,0 +1,426 @@
+.TH mmpmon 02/16/06
+mmpmon Command
+.SH "Name"
+.PP
+\fBmmpmon\fR - Manages performance monitoring and displays
+performance information.
+.SH "Synopsis"
+.PP
+\fBmmpmon\fR [\fB-i\fR \fICommandFile\fR]
+[\fB-d\fR \fIIntegerDelayValue\fR] [\fB-p\fR]
+[\fB-r\fR \fIIntegerRepeatValue\fR] [\fB-s\fR]
+[\fB-t\fR \fIIntegerTimeoutValue\fR]
+.SH "Description"
+.PP
+Before attempting to use \fBmmpmon\fR, IBM suggests that you
+review this command entry, then read the entire chapter,
+\fIMonitoring GPFS I/O performance with the mmpmon
+command\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.PP
+Use the \fBmmpmon\fR command to manage GPFS performance monitoring
+functions and display performance monitoring data. The \fBmmpmon\fR
+command reads requests from an input file or standard input (stdin), and
+writes responses to standard output (stdout). Error messages go to
+standard error (stderr). Prompts, if not suppressed, go to
+stderr.
+.PP
+When running \fBmmpmon\fR in such a way that it continually reads input
+from a pipe (the driving script or application never intends to send an
+end-of-file to \fBmmpmon\fR), set the \fB-r\fR option value to 1 (or use
+the default value of 1) to prevent \fBmmpmon\fR from caching the input
+records. This avoids unnecessary memory consumption.
+.PP
+\fBResults\fR
+.PP
+The performance monitoring request is sent to the GPFS daemon running on
+the same node that is running the \fBmmpmon\fR command.
+.PP
+All results from the request are written to stdout.
+.PP
+There are two output formats:
+.RS +3
+.HP 3
+\(bu Human readable, intended for direct viewing.
+.sp
+In this format, the results are keywords that describe the value presented,
+followed by the value. For example: 
+.sp
+.nf
+disks: 2
+.fi
+.sp
+.HP 3
+\(bu Machine readable, an easily parsed format intended for further analysis by
+scripts or applications.
+.sp
+In this format, the results are strings with values presented as
+keyword/value pairs. The keywords are delimited by underscores (_) and
+blanks to make them easier to locate.
+.RE
+.PP
+For details on how to interpret the \fBmmpmon\fR command results,
+see
+\fIMonitoring GPFS I/O performance with the
+mmpmon command\fR in
+\fIGeneral
+Parallel File System: Advanced Administration
+Guide\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB-i \fICommandFile\fR
+\fR
+.RE
+.RS +9
+The input file contains \fBmmpmon\fR command requests, one per
+line. Use of the \fB-i\fR flag implies use of the \fB-s\fR
+flag. For interactive use, just omit the \fB-i\fR flag. In
+this case, the input is then read from stdin, allowing \fBmmpmon\fR to take
+keyboard input or output piped from a user script or application
+program. 
+.PP
+Leading blanks in the input file are ignored. A line beginning with
+a pound sign (#) is treated as a comment. Leading blanks in a line
+whose first non-blank character is a pound sign (#) are ignored.
+.PP
+This table describes the \fBmmpmon\fR requests.
+.br
+.PP
+\fBTable 7. Input requests to the mmpmon command\fR
+.br
+.sp
+.RS +0.1i
+.nf
+.TS
+tab(~);
+ l l.
+Request                             Description
+--------------------------------------------------------
+fs_io_s                 Display I/O statistics
+                        per mounted file system
+io_s                    Display I/O statistics
+                        for the entire node
+nlist add \fIname\fR[\fIname\fR...] Add node names to a list 
+                        of nodes for processing
+nlist del               Delete a node list
+nlist new \fIname\fR[\fIname\fR...] Create a new node list
+nlist s                 Show the contents of the
+                        current node list
+nlist sub \fIname\fR[\fIname\fR...] Delete node names from a
+                        list of nodes for processing 
+once \fIrequest\fR            Indicates that the request 
+                        is to be performed only once
+reset                   Reset statistics to zero
+rhist nr                Change the request histogram
+                        facility request size and 
+                        latency ranges
+rhist off               Disable the request histogram
+                        facility. This is the default.
+rhist on                Enable the request histogram
+                        facility
+rhist p                 Display the request histogram
+                        facility pattern
+rhist reset             Reset the request histogram
+                        facility data to zero
+rhist s                 Display the request histogram
+                        facility statistics values
+source \fIfilename\fR         Read \fBmmpmon\fR requests from
+                        a file
+ver                     Display \fBmmpmon\fR version
+.TE
+.sp
+.fi
+.RE
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-d \fIIntegerDelayValue\fR
+\fR
+.RE
+.RS +9
+Specifies a number of milliseconds to sleep after one invocation of all
+the requests in the input file. The default value is 1000. This
+value must be an integer greater than or equal to 500 and less than or equal
+to 8000000.
+.PP
+The input file is processed as follows: The first request is
+processed, it is sent to the GPFS daemon, the responses for this request are
+received and processed, the results for this request are displayed, and then
+the next request is processed and so forth. When all requests from the
+input file have been processed once, the \fBmmpmon\fR command sleeps for
+the specified number of milliseconds. When this time elapses,
+\fBmmpmon\fR wakes up and processes the input file again, depending on the
+value of the \fB-r\fR flag.
+.RE
+.PP
+.RS +3
+\fB-p
+\fR
+.RE
+.RS +9
+Indicates to generate output that can be parsed by a script or
+program. If this option is not specified, human readable output is
+produced.
+.RE
+.PP
+.RS +3
+\fB-r \fIIntegerRepeatValue\fR
+\fR
+.RE
+.RS +9
+Specifies the number of times to run all the requests in the input
+file. 
+.PP
+The default value is one. Specify an integer between zero and
+8000000. Zero means to run forever, in which case processing continues
+until it is interrupted. This feature is used, for example, by a
+driving script or application program that repeatedly reads the result from a
+pipe.
+.PP
+The \fBonce\fR prefix directive can be used to override the
+\fB-r\fR flag. See the description of \fBonce\fR in
+\fIMonitoring GPFS I/O performance with the mmpmon
+command\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.RE
+.PP
+.RS +3
+\fB-s
+\fR
+.RE
+.RS +9
+Indicates to suppress the prompt on input. 
+.PP
+Use of the \fB-i\fR flag implies use of the \fB-s\fR flag. For
+use in a pipe or with redirected input (<), the \fB-s\fR flag is
+preferred. If not suppressed, the prompts go to standard error
+(stderr).
+.RE
+.PP
+.RS +3
+\fB-t \fIIntegerTimeoutValue\fR
+\fR
+.RE
+.RS +9
+Specifies a number of seconds to wait for responses from the GPFS daemon
+before considering the connection to have failed. 
+.PP
+The default value is 60. This value must be an integer greater than
+or equal to 1 and less than or equal to 8000000.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fB1
+\fR
+.RE
+.RS +9
+Various errors (insufficient memory, input file not found, incorrect
+option, and so forth).
+.RE
+.PP
+.RS +3
+\fB3
+\fR
+.RE
+.RS +9
+Either no commands were entered interactively, or there were no
+\fBmmpmon\fR commands in the input file. The input file was empty,
+or consisted of all blanks or comments.
+.RE
+.PP
+.RS +3
+\fB4
+\fR
+.RE
+.RS +9
+\fBmmpmon\fR terminated due to a request that was not valid.
+.RE
+.PP
+.RS +3
+\fB5
+\fR
+.RE
+.RS +9
+An internal error has occurred.
+.RE
+.PP
+.RS +3
+\fB111
+\fR
+.RE
+.RS +9
+An internal error has occurred. A message will follow.
+.RE
+.PP
+\fBRestrictions\fR
+.RS +3
+.HP 3
+1. Up to five instances of \fBmmpmon\fR may be run on a given node
+concurrently. However, concurrent users may interfere with each
+other. See
+\fIMonitoring GPFS I/O
+performance with the mmpmon command\fR in
+\fIGeneral Parallel File System: Advanced
+Administration Guide\fR.
+.HP 3
+2. Do not alter the input file while \fBmmpmon\fR is running.
+.HP 3
+3. The input file must contain valid input requests, one per line.
+When an incorrect request is detected by \fBmmpmon\fR, it issues an error
+message and terminates. Input requests that appear in the input file
+before the first incorrect request are processed by \fBmmpmon\fR.
+.RE
+.SH "Security"
+.PP
+The \fBmmpmon\fR command must be run by a user with root authority, on
+the node for which statistics are desired.
+.SH "Examples"
+.RS +3
+.HP 3
+1. Assume that \fBinfile\fR contains these requests:
+.sp
+.nf
+ver
+io_s
+fs_io_s
+rhist off
+.fi
+.sp
+and this command is issued:
+.sp
+.nf
+mmpmon -i infile -r 10 -d 5000
+.fi
+.sp
+The output (sent to stdout) is similar to this:
+.sp
+.nf
+mmpmon node 192.168.1.8 name node1 version 3.1.0
+mmpmon node 192.168.1.8 name node1 io_s OK
+timestamp:      1083350358/935524
+bytes read:              0
+bytes written:           0
+opens:                   0
+closes:                  0
+reads:                   0
+writes:                  0
+readdir:                 0
+inode updates:           0
+mmpmon node 192.168.1.8 name node1 fs_io_s status 1
+no file systems mounted
+mmpmon node 192.168.1.8 name node1 rhist off OK
+.fi
+.sp
+.sp
+The requests in the input file are run 10 times, with a delay of 5000
+milliseconds (5 seconds) between invocations.
+.HP 3
+2. Here is the previous example with the \fB-p\fR flag:
+.sp
+.nf
+mmpmon -i infile -p -r 10 -d 5000
+.fi
+.sp
+The output (sent to stdout) is similar to this:
+.sp
+.nf
+_ver_ _n_ 192.168.1.8 _nn_ node1 _v_ 2 _lv_ 3 _vt_ 0
+_io_s_ _n_ 192.168.1.8 _nn_ node1 _rc_ 0 _t_ 1084195701 _tu_ 350714 _br_ 0 _bw_ 0 _oc_ 0
+     _cc_ 0 _rdc_ 0 _wc_ 0 _dir_ 0 _iu_ 0
+_fs_io_s_ _n_ 192.168.1.8 _nn_ node1 _rc_ 1 _t_ 1084195701 _tu_ 364489 _cl_ - _fs_ -_rhist_\ 
+     _n_ 192.168.1.8 _nn_ node1 _req_ off _rc_ 0 _t_ 1084195701 _tu_ 378217
+.fi
+.sp
+.HP 3
+3. This is an example of \fBfs_io_s\fR with a mounted file system:
+.sp
+.nf
+mmpmon node 198.168.1.8 name node1 fs_io_s OK
+cluster: node1.localdomain
+filesystem: gpfs1
+disks: 1
+timestamp: 1093352136/799285
+bytes read: 52428800
+bytes written: 87031808
+opens: 6
+closes: 4
+reads: 51
+writes: 83
+readdir: 0
+inode updates: 11
+mmpmon node 198.168.1.8 name node1 fs_io_s OK
+cluster: node1.localdomain
+filesystem: gpfs2
+disks: 2
+timestamp: 1093352136/799285
+bytes read: 87031808
+bytes written: 52428800
+opens: 4
+closes: 3
+reads: 12834
+writes: 50
+readdir: 0
+inode updates: 9
+.fi
+.sp
+.HP 3
+4. Here is the previous example with the \fB-p\fR flag:
+.sp
+.nf
+_fs_io_s_ _n_ 198.168.1.8 _nn_ node1 _rc_ 0 _t_ 1093352061 _tu_ 93867 _cl_ node1.localdomain
+ _fs_ gpfs1 _d_ 1 _br_ 52428800 _bw_ 87031808 _oc_ 6 _cc_ 4 _rdc_ 51 _wc_ 83 _dir_ 0 _iu_ 10
+_fs_io_s_ _n_ 198.168.1.8 _nn_ node1 _rc_ 0 _t_ 1093352061 _tu_ 93867 _cl_ node1.localdomain
+  _fs_ gpfs2 _d_ 2 _br_ 87031808 _bw_ 52428800 _oc_ 4 _cc_ 3 _rdc_ 12834 _wc_ 50 _dir_ 0 _iu_ 8
+.fi
+.sp
+This output consists of two strings.
+.HP 3
+5. This is an example of \fBio_s\fR with a mounted file system:
+.sp
+.nf
+mmpmon node 198.168.1.8 name node1 io_s OK
+timestamp: 1093351951/587570
+bytes read: 139460608
+bytes written: 139460608
+opens: 10
+closes: 7
+reads: 12885
+writes: 133
+readdir: 0
+inode updates: 14
+.fi
+.sp
+.HP 3
+6. Here is the previous example with the \fB-p\fR flag:
+.sp
+.nf
+_io_s_ _n_ 198.168.1.8 _nn_ node1 _rc_ 0 _t_ 1093351982 _tu_ 356420 _br_ 139460608\ 
+ _bw_ 139460608 _oc_ 10 _cc_ 7 _rdc_ 0 _wc_ 133 _dir_ 0 _iu_ 14
+.fi
+.sp
+This output consists of one string.
+.RE
+.PP
+For several more examples, see
+\fIMonitoring GPFS I/O performance with the mmpmon
+command\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmquotaoff.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmquotaoff.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmquotaoff.8	(revision 16)
@@ -0,0 +1,199 @@
+.TH mmquotaoff 02/16/06
+mmquotaoff Command
+.SH "Name"
+.PP
+\fBmmquotaoff\fR - Deactivates quota limit checking.
+.SH "Synopsis"
+.PP
+\fBmmquotaoff\fR [\fB-u\fR] [\fB-g\fR]
+[\fB-j\fR] [\fB-v\fR] {\fIDevice\fR
+[\fIDevice\fR ...] | \fB-a\fR}
+.SH "Description"
+.PP
+The \fBmmquotaoff\fR command disables quota limit checking by
+GPFS.
+.PP
+If neither the \fB-u\fR, \fB-j\fR nor \fB-g\fR option is
+specified, the \fBmmquotaoff\fR command deactivates quota limit checking
+for users, groups, and filesets.
+.PP
+If the \fB-a\fR option is not specified, \fIDevice\fR must be the
+last parameter entered.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR[ \fIDevice\fR ... ]
+\fR
+.RE
+.RS +9
+The device name of the file system to have quota limit checking
+deactivated.
+.PP
+If more than one file system is listed, the names must be delimited by a
+space. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Deactivates quota limit checking for all GPFS file systems in the
+cluster. When used in combination with the \fB-g\fR option, only
+group quota limit checking is deactivated. When used in combination
+with the \fB-u\fR option, only user quota limit checking is
+deactivated. When used in combination with the \fB-j\fR option, only
+fileset quota limit checking is deactivated.
+.RE
+.PP
+.RS +3
+\fB-g
+\fR
+.RE
+.RS +9
+Specifies that only group quota limit checking is to be
+deactivated.
+.RE
+.PP
+.RS +3
+\fB-j
+\fR
+.RE
+.RS +9
+Specifies that only quota checking for filesets is to be
+deactivated.
+.RE
+.PP
+.RS +3
+\fB-u
+\fR
+.RE
+.RS +9
+Specifies that only user quota limit checking is to be deactivated.
+.RE
+.PP
+.RS +3
+\fB-v
+\fR
+.RE
+.RS +9
+Prints a message for each file system in which quotas are
+deactivated.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmquotaoff\fR command.
+.PP
+GPFS must be running on the node from which the \fBmmquotaoff\fR command
+is issued.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To deactivate user quota limit checking on file system \fBfs0\fR, issue
+this command:
+.sp
+.nf
+mmquotaoff -u fs0
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfs fs0 -Q
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+flag value          description
+---- -------------- ---------------
+ -Q  group          Quotas enforced
+.fi
+.sp
+.HP 3
+2. To deactivate group quota limit checking on all file systems, issue this
+command:
+.sp
+.nf
+mmquotaoff -g -a
+.fi
+.sp
+To confirm the change, individually for each file system, issue this
+command:
+.sp
+.nf
+mmlsfs fs2 -Q
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+flag value          description
+---- -------------- -----------------
+ -Q  user           Quotas enforced
+.fi
+.sp
+.HP 3
+3. To deactivate all quota limit checking on file system \fBfs0\fR, issue
+this command:
+.sp
+.nf
+mmquotaoff fs0
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfs fs0 -Q
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+flag value          description
+---- -------------- ----------------
+ -Q  none           Quotas enforced
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmcheckquota Command
+.PP
+mmdefedquota Command
+.PP
+mmdefquotaoff Command
+.PP
+mmdefquotaon Command
+.PP
+mmedquota Command
+.PP
+mmlsquota Command
+.PP
+mmquotaon Command
+.PP
+mmrepquota Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmquotaon.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmquotaon.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmquotaon.8	(revision 16)
@@ -0,0 +1,200 @@
+.TH mmquotaon 03/02/06
+mmquotaon Command
+.SH "Name"
+.PP
+\fBmmquotaon\fR - Activates quota limit checking.
+.SH "Synopsis"
+.PP
+\fBmmquotaon\fR [\fB-u\fR] [\fB-g\fR]
+[\fB-j\fR] [\fB-v\fR] {\fIDevice\fR
+[\fIDevice\fR...] | \fB-a\fR}
+.SH "Description"
+.PP
+The \fBmmquotaon\fR command enables quota limit checking by GPFS.
+.PP
+If neither the \fB-u\fR, \fB-j\fR nor \fB-g\fR option is specified,
+the \fBmmquotaon\fR command activates quota limit checking for users,
+groups, and filesets.
+.PP
+If the \fB-a\fR option is not used, \fIDevice\fR must be the last
+parameter specified.
+.PP
+After quota limit checking has been activated by issuing the
+\fBmmquotaon\fR command, issue the \fBmmcheckquota\fR command to count inode and space
+usage.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR[ \fIDevice\fR ... ]
+\fR
+.RE
+.RS +9
+The device name of the file system to have quota limit checking
+activated.
+.PP
+If more than one file system is listed, the names must be delimited by a
+space. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Activates quota limit checking for all of the GPFS file systems in the
+cluster. When used in combination with the \fB-g\fR option, only
+group quota limit checking is activated. When used in combination with
+the \fB-u\fR option, only user quota limit checking is activated.
+When used in combination with the \fB-j\fR option, only fileset quota limit
+checking is activated.
+.RE
+.PP
+.RS +3
+\fB-g
+\fR
+.RE
+.RS +9
+Specifies that only group quota limit checking is to be activated.
+.RE
+.PP
+.RS +3
+\fB-j
+\fR
+.RE
+.RS +9
+Specifies that only fileset quota checking is to be activated.
+.RE
+.PP
+.RS +3
+\fB-u
+\fR
+.RE
+.RS +9
+Specifies that only user quota limit checking is to be activated.
+.RE
+.PP
+.RS +3
+\fB-v
+\fR
+.RE
+.RS +9
+Prints a message for each file system in which quota limit checking is
+activated.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmquotaon\fR command.
+.PP
+GPFS must be running on the node from which the \fBmmquotaon\fR command
+is issued.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To activate user quotas on file system \fBfs0\fR, issue this
+command:
+.sp
+.nf
+mmquotaon -u fs0
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfs fs0 -Q
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+flag value          description
+---- -------------- ----------------
+ -Q  user           Quotas enforced
+.fi
+.sp
+.HP 3
+2. To activate group quota limit checking on all file systems, issue this
+command:
+.sp
+.nf
+mmquotaon -g -a
+.fi
+.sp
+To confirm the change, individually for each file system, issue this
+command:
+.sp
+.nf
+mmlsfs  fs1 -Q
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+flag value          description
+---- -------------- ----------------
+ -Q  group          Quotas enforced
+.fi
+.sp
+.HP 3
+3. To activate user, group, and fileset quota limit checking on file system
+\fBfs2\fR, issue this command:
+.sp
+.nf
+mmquotaon fs2
+.fi
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfs  fs2 -Q
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+flag value               description
+---- --------------      ---------------
+ -Q  user;group;fileset  Quotas enforced
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmcheckquota Command
+.PP
+mmdefedquota Command
+.PP
+mmdefquotaoff Command
+.PP
+mmdefquotaon Command
+.PP
+mmedquota Command
+.PP
+mmlsquota Command
+.PP
+mmquotaoff Command
+.PP
+mmrepquota Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmremotecluster.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmremotecluster.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmremotecluster.8	(revision 16)
@@ -0,0 +1,300 @@
+.TH mmremotecluster 02/16/06
+mmremotecluster Command
+.SH "Name"
+.PP
+\fBmmremotecluster\fR - Manages the information about other GPFS
+clusters that this cluster can access when mounting remote GPFS file
+systems.
+.SH "Synopsis"
+.PP
+\fBmmremotecluster\fR \fBadd \fR \fIRemoteClusterName\fR
+[\fB-n\fR \fIContactNodes\fR] [\fB-k\fR
+\fIKeyFile\fR]
+.PP
+Or,
+.PP
+\fBmmremotecluster\fR \fBupdate\fR \fIRemoteClusterName\fR
+[\fB-C\fR \fINewClusterName\fR] [\fB-n\fR
+\fIContactNodes\fR] [\fB-k\fR \fIKeyFile\fR]
+.PP
+Or,
+.PP
+\fBmmremotecluster\fR \fBdelete {\fR\fIRemoteClusterName\fR\fB |
+all}\fR
+.PP
+Or,
+.PP
+\fBmmremotecluster\fR \fBshow\fR [\fIRemoteClusterName\fR\fB
+| all\fR]
+.SH "Description"
+.PP
+The \fBmmremotecluster\fR command is used to make remote GPFS clusters
+known to the local cluster, and to maintain the attributes associated with
+those remote clusters. The keyword appearing after
+\fBmmremotecluster\fR determines which action is performed:
+.PP
+.RS +3
+\fBadd
+\fR
+.RE
+.RS +9
+Adds a remote GPFS cluster to the set of remote clusters known to the
+local cluster.
+.RE
+.PP
+.RS +3
+\fBdelete
+\fR
+.RE
+.RS +9
+Deletes the information for a remote GPFS cluster.
+.RE
+.PP
+.RS +3
+\fBshow
+\fR
+.RE
+.RS +9
+Displays information about a remote GPFS cluster.
+.RE
+.PP
+.RS +3
+\fBupdate
+\fR
+.RE
+.RS +9
+Updates the attributes of a remote GPFS cluster.
+.RE
+.PP
+To be able to mount file systems that belong to some other GPFS cluster,
+you must first make the nodes in this cluster aware of the GPFS cluster that
+owns those file systems. This is accomplished with the
+\fBmmremotecluster add\fR command. The information that the command
+requires must be provided to you by the administrator of the remote GPFS
+cluster. You will need this information:
+.RS +3
+.HP 3
+\(bu The name of the remote cluster.
+.HP 3
+\(bu The names or IP addresses of a few nodes that belong to the remote GPFS
+cluster.
+.HP 3
+\(bu The public key file generated by the administrator of the remote cluster
+by running the
+\fBmmauth genkey\fR command for the
+remote cluster.
+.RE
+.PP
+Since each cluster is managed independently, there is no automatic
+coordination and propagation of changes between clusters like there is between
+the nodes within a cluster. This means that once a remote cluster is
+defined with the \fBmmremotecluster\fR command, the information about that
+cluster is automatically propagated across all nodes that belong to this
+cluster. But if the administrator of the remote cluster decides to
+rename it, or deletes some or all of the contact nodes, or change the public
+key file, the information in this cluster becomes obsolete. It is the
+responsibility of the administrator of the remote GPFS cluster to notify you
+of such changes so that you can update your information using the appropriate
+options of the \fBmmremotecluster update\fR command.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIRemoteClusterName\fR
+\fR
+.RE
+.RS +9
+Specifies the cluster name associated with the remote cluster that owns
+the remote GPFS file system. The value \fBall\fR indicates all
+remote clusters defined to this cluster, when using the \fBmmremotecluster
+delete\fR or \fBmmremotecluster show \fR commands.
+.RE
+.PP
+.RS +3
+\fB-C \fINewClusterName\fR
+\fR
+.RE
+.RS +9
+Specifies the new cluster name to be associated with the remote
+cluster.
+.RE
+.PP
+.RS +3
+\fB-k \fIKeyFile\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the public key file provided to you by the
+administrator of the remote GPFS cluster. This could be relative path
+(therefore just a need to name the file) or an absolute path (need full path
+name, but just file name).
+.RE
+.PP
+.RS +3
+\fB-n \fIContactNodes\fR
+\fR
+.RE
+.RS +9
+A comma separated list of nodes that belong to the remote GPFS cluster, in
+this format:
+.sp
+.nf
+[tcpPort=NNNN,]node1[,node2 ...]
+.fi
+.sp
+.PP
+where: 
+.RS +3
+.HP 3
+\(bu tcpPort=NNNN is the TCP port number to be used by the local
+GPFS daemon when contacting the remote cluster. If not specified, GPFS
+will use the default TCP port number 1191.
+.HP 3
+\(bu node1[,node2 ...] is a list of nodes that
+belong to the remote cluster. The nodes can be identified through their
+host names or IP addresses.
+.RE
+.RE
+.SH "Options"
+.PP
+None.
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion. After successful completion of the
+\fBmmremotecluster\fR command, the new configuration information is
+propagated to all nodes in the cluster.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmremotecluster\fR
+command.
+.PP
+You may issue the \fBmmremotecluster\fR command from any node in the
+GPFS cluster.
+.SH "Examples"
+.RS +3
+.HP 3
+1. This command adds remote cluster
+\fBk164.kgn.ibm.com\fR to the set of remote clusters
+known to the local cluster, specifying \fBk164n02\fR and \fBk164n03\fR
+as remote contact nodes. File \fBk164.id_rsa.pub\fR is
+the name of the public key file provided to you by the administrator of the
+remote cluster.
+.sp
+.nf
+mmremotecluster add k164.kgn.ibm.com -n k164n02,k164n03\\
+ -k k164.id_rsa.pub
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmremotecluster: 6027-1371 Propagating the changes to all\ 
+affected nodes. This is an asynchronous process.
+.fi
+.sp
+.HP 3
+2. This command displays information for the remote cluster
+\fBk164.kgn.ibm.com\fR.
+.sp
+.nf
+mmremotecluster show k164.kgn.ibm.com
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+Cluster name:    k164.kgn.ibm.com
+Contact nodes:   k164n02,k164n03
+SHA digest:      a3917c8282fca7a27d951566940768dcd241902b
+File systems:    (none defined)
+.fi
+.sp
+.sp
+For more information on the SHA digest, see
+\fIGeneral Parallel File System: Problem
+Determination Guide\fR and search on \fISHA digest\fR.
+.HP 3
+3. This command updates information for the remote cluster
+\fBk164.kgn.ibm.com\fR, changing the remote contact
+nodes to \fBk164n02\fR and \fBk164n01\fR. The TCP port to be used
+when contacting cluster \fBk164.kgn.ibm.com\fR is
+defined to be 6667..
+.sp
+.nf
+mmremotecluster update k164.kgn.ibm.com 
+-n tcpPort=6667,k164n02,k164n01
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmremotecluster: 6027-1371 Propagating the changes to all\ 
+affected nodes. This is an asynchronous process.
+.fi
+.sp
+.sp
+The \fBmmremotecluster show\fR command can then be used to see
+the changes.
+.sp
+.nf
+mmremotecluster show k164.kgn.ibm.com
+.fi
+.sp
+.sp
+The output is similar to this:
+.sp
+.nf
+Cluster name:    k164.kgn.ibm.com
+Contact nodes: tcpPort=6667,k164n02,k164n01
+SHA digest:      a3917c8282fca7a27d951566940768dcd241902b
+File systems:    (none defined)
+.fi
+.sp
+.sp
+For more information on the SHA digest, see
+\fIGeneral Parallel File System: Problem
+Determination Guide\fR and search on \fISHA digest\fR.
+.HP 3
+4. This command deletes information for remote cluster
+\fBk164.kgn.ibm.com\fR from the local cluster.
+.sp
+.nf
+mmremotecluster delete k164.kgn.ibm.com
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+mmremotecluster: 6027-1371 Propagating the changes to all\ 
+affected nodes. This is an asynchronous process.
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmauth Command
+.PP
+mmremotefs Command
+.PP
+\fIAccessing GPFS file systems from other
+GPFS clusters\fR in
+\fIGeneral Parallel
+File System: Advanced Administration Guide\fR.
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmremotefs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmremotefs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmremotefs.8	(revision 16)
@@ -0,0 +1,235 @@
+.TH mmremotefs 02/16/06
+mmremotefs Command
+.SH "Name"
+.PP
+\fBmmremotefs\fR - Manages the information about GPFS file systems
+from other clusters that this cluster can mount.
+.SH "Synopsis"
+.PP
+\fBmmremotefs\fR \fBadd\fR \fIDevice\fR \fB-f\fR
+\fIRemoteDevice\fR \fB-C\fR \fIRemoteClusterName\fR \fB-T\fR
+\fIMountPoint\fR [\fB-A {yes | \fR\fB\fIno\fR\fR\fB |
+automount}\fR] [\fB-o\fR \fIMountOptions\fR]
+.PP
+Or,
+.PP
+\fBmmremotefs\fR \fBdelete {\fR\fIDevice\fR\fB | all | \fR
+\fB-C\fR \fIRemoteClusterName\fR\fB}\fR
+.PP
+Or,
+.PP
+\fBmmremotefs\fR \fBshow\fR [\fIDevice\fR\fB | all |
+\fR\fB-C\fR \fIRemoteClusterName\fR]
+.PP
+Or,
+.PP
+\fBmmremotefs\fR \fBupdate\fR \fIDevice\fR [\fB-f\fR
+\fIRemoteDevice\fR] [\fB-C\fR \fIRemoteClusterName\fR]
+[\fB-T\fR \fIMountPoint\fR] [\fB-A {yes | \fR\fB\fIno\fR\fR\fB | automount}\fR] [\fB-o\fR
+\fIMountOptions\fR]
+.SH "Description"
+.PP
+The \fBmmremotefs\fR command is used to make GPFS file systems that
+belong to other GPFS clusters known to the nodes in this cluster, and to
+maintain the attributes associated with these file systems. The keyword
+appearing after \fBmmremotefs\fR determines which action is
+performed:
+.PP
+.RS +3
+\fBadd
+\fR
+.RE
+.RS +9
+Define a new remote GPFS file system.
+.RE
+.PP
+.RS +3
+\fBdelete
+\fR
+.RE
+.RS +9
+Delete the information for a remote GPFS file system.
+.RE
+.PP
+.RS +3
+\fBshow
+\fR
+.RE
+.RS +9
+Display the information associated with a remote GPFS file system.
+.RE
+.PP
+.RS +3
+\fBupdate
+\fR
+.RE
+.RS +9
+Update the information associated with a remote GPFS file system.
+.RE
+.PP
+Use the \fBmmremotefs\fR command to make the nodes in this cluster aware
+of file systems that belong to other GPFS clusters. The cluster that
+owns the given file system must have already been defined with the \fBmmremotecluster\fR command. The
+\fBmmremotefs\fR command is used to assign a local name under which the
+remote file system will be known in this cluster, the mount point where the
+file system is to be mounted in this cluster, and any local mount options that
+you may want.
+.PP
+Once a remote file system has been successfully defined and a local device
+name associated with it, you can issue normal commands using that local name,
+the same way you would issue them for file systems that are owned by this
+cluster.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+Specifies the name by which the remote GPFS file system will be known in
+the cluster.
+.RE
+.PP
+.RS +3
+\fB-C \fIRemoteClusterName\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the GPFS cluster that owns the remote GPFS file
+system.
+.RE
+.PP
+.RS +3
+\fB-f \fIRemoteDevice\fR
+\fR
+.RE
+.RS +9
+Specifies the actual name of the remote GPFS file system. This is
+the device name of the file system as known to the remote cluster that owns
+the file system.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-A {yes | \fB\fIno\fR\fR | automount}
+\fR
+.RE
+.RS +9
+Indicates when the file system is to be mounted:
+.PP
+.RS +3
+\fByes
+\fR
+.RE
+.RS +9
+When the GPFS daemon starts.
+.RE
+.PP
+.RS +3
+\fBno
+\fR
+.RE
+.RS +9
+Manual mount. This is the default.
+.RE
+.PP
+.RS +3
+\fBautomount
+\fR
+.RE
+.RS +9
+When the file system is first accessed.
+.RE
+.RE
+.PP
+.RS +3
+\fB-o \fIMountOptions\fR
+\fR
+.RE
+.RS +9
+Specifies the mount options to pass to the mount command when mounting the
+file system. For a detailed description of the available mount options,
+see \fIGPFS-specific mount options\fR in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.PP
+.RS +3
+\fB-T \fIMountPoint\fR
+\fR
+.RE
+.RS +9
+Indicates the local mount point for the remote GPFS file system.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion. After successful completion of the
+\fBmmremotefs\fR command, the new configuration information is propagated
+to all nodes in the cluster.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmremotefs\fR command.
+.PP
+You may issue the \fBmmremotefs\fR command from any node in the GPFS
+cluster.
+.SH "Examples"
+.PP
+This command adds remote file system \fBgpfsn\fR, owned by remote
+cluster \fBk164.kgn.ibm.com\fR, to the local cluster,
+assigning \fBrgpfsn\fR as the local name for the file system, and
+\fB/gpfs/rgpfsn\fR as the local mount point. 
+.sp
+.nf
+mmremotefs add rgpfsn -f gpfsn -C k164.kgn.ibm.com -T /gpfs/rgpfsn
+.fi
+.sp
+.PP
+The output is similar to this:
+.sp
+.nf
+mmremotefs: 6027-1371 Propagating the changes to all affected
+                      nodes. This is an asynchronous process.
+.fi
+.sp
+.PP
+The \fBmmremotefs show\fR command can be used to see the changes.
+.sp
+.nf
+mmremotefs show rgpfsn
+.fi
+.sp
+.PP
+The output is similar to this:
+.sp
+.nf
+Local Name  Remote Name Cluster name  Mount Point Mount Options Automount
+rgpfsn      gpfsn      k164n.kgn.ibm.com   /gpfs/rgpfsn rw,mtime,noatime no
+.fi
+.sp
+.SH "See also"
+.PP
+mmauth Command
+.PP
+mmremotecluster Command
+.PP
+\fIAccessing GPFS file systems from other
+GPFS clusters\fR in
+\fIGeneral Parallel
+File System: Advanced Administration Guide\fR.
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmrepquota.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmrepquota.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmrepquota.8	(revision 16)
@@ -0,0 +1,302 @@
+.TH mmrepquota 03/02/06
+mmrepquota Command
+.SH "Name"
+.PP
+\fBmmrepquota\fR - Reports file system user, group, and fileset quotas.
+.SH "Synopsis"
+.PP
+\fBmmrepquota\fR [\fB-e\fR] [\fB-g\fR]
+[\fB-q\fR] [\fB-u\fR] [\fB-n\fR]
+[\fB-v\fR] [\fB-j\fR] {\fIDevice\fR
+[\fIDevice\fR...] | \fB-a\fR}
+.SH "Description"
+.PP
+The \fBmmrepquota\fR command reports file system usage and quota
+information for a user, group, and fileset.
+.PP
+If neither the \fB-g\fR, \fB-j\fR nor \fB-u\fR option is
+specified, then user, group and fileset quotas are listed.
+.PP
+If the \fB-a\fR option is not specified, \fIDevice\fR must be the
+last parameter entered.
+.PP
+For each file system in the cluster, the \fBmmrepquota\fR command
+displays:
+.RS +3
+.HP 3
+1. Block limits:
+.RS +3
+.HP 3
+\(bu quota type (USR, GRP or FILESET)
+.HP 3
+\(bu current usage in KB
+.HP 3
+\(bu soft limit in KB
+.HP 3
+\(bu hard limit in KB
+.HP 3
+\(bu space in doubt
+.HP 3
+\(bu grace period
+.RE
+.HP 3
+2. File limits:
+.RS +3
+.HP 3
+\(bu current number of files
+.HP 3
+\(bu soft limit
+.HP 3
+\(bu hard limit
+.HP 3
+\(bu files in doubt
+.HP 3
+\(bu grace period
+.RE
+.HP 3
+3. Entry Type
+.sp
+.RS +3
+\fBdefault on
+\fR
+.RE
+.RS +9
+Default quotas are enabled for this file system
+.RE
+.sp
+.RS +3
+\fBdefault off
+\fR
+.RE
+.RS +9
+Default quotas are not enabled for this file system
+.RE
+.sp
+.RS +3
+\fBe
+\fR
+.RE
+.RS +9
+Explicit quotas - the quota limits have been explicitly set using
+the
+\fBmmedquota\fR command
+.RE
+.sp
+.RS +3
+\fBd
+\fR
+.RE
+.RS +9
+Default quotas - the quota limits are the default values set using
+the
+\fBmmdefedquota\fR command
+.RE
+.sp
+.RS +3
+\fBi
+\fR
+.RE
+.RS +9
+Initial quotas - default quotas were not enabled when this initial
+entry was established. Initial quota limits have a value of zero
+indicating no limit.
+.RE
+.RE
+.PP
+Because the sum of the in-doubt value and the current usage may not exceed the
+hard limit, the actual block space and number of files available to the user,  
+group, or fileset may be constrained by the \fIin-doubt\fR value. If the
+\fIin-doubt\fR value approach a significant percentage of the quota, run
+the
+\fBmmcheckquota\fR command to account for the
+lost space and files.
+.PP
+GPFS quota management takes replication into account when reporting on and
+determining if quota limits have been exceeded for both block and file
+usage. In a file system that has either type of replication set to a
+value of two, the values reported on by both the \fBmmlsquota\fR command and the \fBmmrepquota\fR
+command are double the value reported by the \fBls\fR command.
+.PP
+When issuing the \fBmmrepquota\fR command on a mounted file system,
+negative in-doubt values may be reported if the quota server processes a
+combination of up-to-date and back-level information. This is a
+transient situation and may be ignored.
+.PP
+When a quota management enabled file system is SANergy exported, the block
+usage accounting of a file accessed through SANergy include the blocks
+actually used by the file and the extra blocks temporarily allocated (hyper
+allocation) by SANergy. Hyper allocation is a SANergy performance
+feature and can be tuned using SANergy configuration tools. For more
+information, see \fITivoli SANergy: Administrator's Guide\fR at
+publib.boulder.ibm.com/tividd/td/SANergy2.2.4.html.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR[ \fIDevice\fR...]
+\fR
+.RE
+.RS +9
+The device name of the file system to be listed.
+.PP
+If more than one file system is listed, the names must be delimited by a
+space. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Lists quotas for all file systems in the cluster. A header line is
+printed automatically with this option.
+.RE
+.PP
+.RS +3
+\fB-e
+\fR
+.RE
+.RS +9
+Specifies that the \fBmmrepquota\fR command is to collect updated quota
+usage data from all nodes before displaying results. If this option is
+not specified, there is the potential to display negative usage values as the
+quota server may process a combination of up-to-date and back-level
+information.
+.RE
+.PP
+.RS +3
+\fB-g
+\fR
+.RE
+.RS +9
+List only group quotas.
+.RE
+.PP
+.RS +3
+\fB-j
+\fR
+.RE
+.RS +9
+List only fileset quotas.
+.RE
+.PP
+.RS +3
+\fB-n
+\fR
+.RE
+.RS +9
+Displays a numerical user ID.
+.RE
+.PP
+.RS +3
+\fB-q
+\fR
+.RE
+.RS +9
+Show whether quota enforcement is active.
+.RE
+.PP
+.RS +3
+\fB-u
+\fR
+.RE
+.RS +9
+List only user quotas.
+.RE
+.PP
+.RS +3
+\fB-v
+\fR
+.RE
+.RS +9
+Print a header line.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmrepquota\fR command.
+.PP
+GPFS must be running on the node from which the \fBmmrepquota\fR command
+is issued.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To report on user quotas for file system \fBfs2\fR and display a header
+line, issue this command:
+.sp
+.nf
+mmrepquota -u -v fs2
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+*** Report for USR quotas on fs2
+                Block Limits        |        File Limits
+                           in                            in       entry
+Name type KB quota limit doubt grace|files quota limit doubt grace Type
+root  USR    8   0    0    0   none |  1     0   0   0  none default
+                                                                on
+user2 USR 2016 256  512    0  6days |  7    10  20   0   none d
+user3 USR  104 256  512    0   none |  1    10  20   0   none d
+user4 USR    0 256  512    0   none |  0    10  20   0   none d
+user5 USR  368 256  512    0 23hours|  5     4  10   0 23hours d
+user6 USR    0 256  512    0   none |  0    10  20   0   none d
+user7 USR 1024 1024 5120 4096  none |  1     0   0  19   none e
+.fi
+.sp
+.HP 3
+2. To report on quota enforcement for \fBfs2\fR, issue this command:
+.sp
+.nf
+mmrepquota -q fs2
+.fi
+.sp
+ The system displays information similar to:
+.sp
+.nf
+fs2: USR quota is on; default quota is on
+fs2: GRP quota is on; default quota is on
+fs2: FILESET quota is on; default quota is off\ 
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmcheckquota Command
+.PP
+mmdefedquota Command
+.PP
+mmdefquotaoff Command
+.PP
+mmdefquotaon Command
+.PP
+mmedquota Command
+.PP
+mmlsquota Command
+.PP
+mmquotaoff Command
+.PP
+mmquotaon Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmrestorefs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmrestorefs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmrestorefs.8	(revision 16)
@@ -0,0 +1,225 @@
+.TH mmrestorefs 03/23/06
+mmrestorefs Command
+.SH "Name"
+.PP
+\fBmmrestorefs\fR - Restores a file system from a GPFS
+snapshot.
+.SH "Synopsis"
+.PP
+\fBmmrestorefs\fR \fIDevice\fR \fIDirectory\fR
+[\fB-c\fR]
+.SH "Description"
+.PP
+Use the \fBmmrestorefs\fR command to restore user data and attribute
+files to a file system using those of the specified snapshot.
+.PP
+Prior to issuing the \fBmmrestorefs\fR command, you must unmount the file
+system from all nodes in the cluster. The file system may not be
+remounted until the \fBmmrestorefs\fR command has successfully completed,
+unless you have specified the \fB-c\fR option to force the restore to
+continue even in the event errors are encountered. Automatic quota
+activation upon mounting the file system is \fInot\fR restored by the
+\fBmmrestorefs\fR command. You must issue the \fBmmchfs -Q yes\fR command to restore automatic quota
+activation.
+.PP
+Snapshots are not affected by the \fBmmrestorefs\fR
+command. Consequently, a failure while restoring one snapshot may
+possibly be recovered by restoring a different snapshot.
+.PP
+When the
+\fBmmsnapdir -a\fR (add a
+snapshots subdirectory to all subdirectories in the file system) option is in
+effect, the snapshots subdirectories may no longer show the complete list of
+snapshots containing the parent directory, if the file system was restored
+from a snapshot that was not the latest. Since the root directory is
+contained in all snapshots, its snapshots subdirectory will always show the
+complete list of snapshots.
+.PP
+For information on how GPFS policies and snapshots interact, see
+\fIPolicy-based data management for
+GPFS\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.PP
+Because snapshots are not copies of the entire file system, they should not
+be used as protection against media failures. For protection against
+media failures, see
+\fIGeneral Parallel File
+System: Concepts, Planning, and Installation Guide\fR and search
+on \fIrecoverability considerations\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system for which the snapshot is to be
+created. File system names need not be fully-qualified.
+\fBfs0\fR is just as acceptable as \fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB\fIDirectory\fR
+\fR
+.RE
+.RS +9
+The snapshot with which to restore the file system.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-c
+\fR
+.RE
+.RS +9
+Continue to restore the file system in the event errors occur.
+.PP
+Upon completion of the \fBmmrestorefs -c\fR command, the file system is
+inconsistent, but can be mounted to recover data from the snapshot. If
+necessary, the command may be issued to recover as much data as
+possible. The
+\fBmmfsck\fR command may
+be run on an inconsistent file system.
+.PP
+After the \fBmmrestorefs -c\fR command has been issued, use the
+\fBmmfsck\fR command to clean up the files or
+directories that could not be restored.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmrestorefs\fR
+command.
+.PP
+You may issue the \fBmmrestorefs\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+We have a directory structure similar to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+/fs1/.snapshots/snap1/file1
+/fs1/.snapshots/snap1/userA/file2
+/fs1/.snapshots/snap1/userA/file3
+.fi
+.sp
+.PP
+If the directory \fBuserA\fR is then deleted, we would have:
+.sp
+.nf
+/fs1/file1
+/fs1/.snapshots/snap1/file1
+/fs1/.snapshots/snap1/userA/file2
+/fs1/.snapshots/snap1/userA/file3
+.fi
+.sp
+.PP
+The directory \fBuserB\fR is then created using the inode originally
+assigned to \fBuserA\fR. We take another snapshot:
+.sp
+.nf
+mmcrsnapshot fs1 snap2
+.fi
+.sp
+.PP
+The output is similar to this:
+.sp
+.nf
+Writing dirty data to disk
+Quiescing all file system operations
+Writing dirty data to disk again
+Creating snapshot.
+Resuming operations.
+.fi
+.sp
+.PP
+After the command is issued, the directory structure would appear similar
+to:
+.sp
+.nf
+/fs1/file1
+/fs1/userB/file2b
+/fs1/userB/file3b
+/fs1/.snapshots/snap1/file1
+/fs1/.snapshots/snap1/userA/file2
+/fs1/.snapshots/snap1/userA/file3
+/fs1/.snapshots/snap2/file1
+/fs1/.snapshots/snap2/userB/file2b
+/fs1/.snapshots/snap2/userB/file3b
+.fi
+.sp
+.PP
+If the file system is then to be restored from \fBsnap1\fR:
+.sp
+.nf
+mmrestorefs fs1 snap1
+.fi
+.sp
+.PP
+After the command has been issued, the directory structure would appear
+similar to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+/fs1/.snapshots/snap1/file1
+/fs1/.snapshots/snap1/userA/file2
+/fs1/.snapshots/snap1/userA/file3
+/fs1/.snapshots/snap2/file1
+/fs1/.snapshots/snap2/userB/file2b
+/fs1/.snapshots/snap2/userB/file3b
+.fi
+.sp
+.SH "See also"
+.PP
+mmcrsnapshot Command
+.PP
+mmdelsnapshot Command
+.PP
+mmlssnapshot Command
+.PP
+mmsnapdir Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmrestripefile.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmrestripefile.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmrestripefile.8	(revision 16)
@@ -0,0 +1,228 @@
+.TH mmrestripefile 02/16/06
+mmrestripefile Command
+.SH "Name"
+.PP
+\fBmmrestripefile\fR - Performs a repair operation over the specified list
+of files.
+.SH "Synopsis"
+.PP
+\fBmmrestripefile\fR {\fB-m\fR | \fB-r\fR | \fB-b\fR |
+\fB-p\fR} {[\fB-F\fR \fIFilenameFile\fR] | \fIFilename\fR
+[\fIFilename\fR...]}
+.SH "Description"
+.PP
+The \fBmmrestripefile\fR command performs a repair operation over the
+specified list of files. The \fB-F\fR flag allows the user to
+specify a file containing the list of file names to be restriped, with one
+file name per line.
+.PP
+The \fBmmrestripefile\fR command attempts to restore the metadata or
+data replication factor of the file.
+.PP
+You must specify one of the four options (\fB-b\fR, \fB-m\fR,
+\fB-p\fR, or \fB-r\fR) to indicate how much file data to move.
+.PP
+If you do not use replication, the \fB-m\fR and \fB-r\fR options are
+equivalent. Their behavior differs only on replicated files.
+After a successful replicate (\fB-r\fR option), all suspended disks are
+empty. A migrate operation, using the \fB-m\fR option, leaves data
+on a suspended disk as long as at least one other replica of the data remains
+on a disk that is not suspended. Restriping a file system includes
+replicating it. The \fB-b\fR option performs all the operations of
+the \fB-m\fR and \fB-r\fR options.
+.PP
+When using SANergy, consider these points:
+.RS +3
+.HP 3
+\(bu If the \fBmmrestripefile\fR command is issued on a file that is locked
+by SANergy, the command waits until it is unlocked before proceeding.
+.HP 3
+\(bu I/O operations from SANergy clients must terminate before using the
+\fBmmrestripefile\fR command. If not, the client applications
+receive an error.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fB-F\fR \fIFilenameFile\fR
+\fR
+.RE
+.RS +9
+Specifies a file containing a list of names of files to be restriped, one
+name per line.
+.RE
+.PP
+.RS +3
+\fB\fIFilename\fR
+\fR
+.RE
+.RS +9
+Specifies the names of one or more files to be restriped.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-b
+\fR
+.RE
+.RS +9
+Rebalances all files across all disks that are not suspended, even if they
+are stopped. Although blocks are allocated on a stopped disk, they are
+not written to a stopped disk, nor are reads allowed from a stopped disk,
+until that disk is started and replicated data is copied onto it. The
+\fBmmrestripefile\fR command rebalances and restripes the file.
+.RE
+.PP
+.RS +3
+\fB-m
+\fR
+.RE
+.RS +9
+Migrates all critical data off any suspended disk in this file
+system. Critical data is all data that would be lost if currently
+suspended disks were removed.
+.RE
+.PP
+.RS +3
+\fB-p
+\fR
+.RE
+.RS +9
+Directs \fBmmrestripefile\fR to repair the file placement within the
+storage pool.
+.PP
+Files assigned to one storage pool, but with data in a different pool, will
+have their data migrated to the correct pool. These files are called
+ill-placed. Utilities, such as the \fBmmchattr\fR command, may change a file's storage
+pool assignment, but not move the data. The \fBmmrestripefile\fR
+command may then be invoked to migrate all of the data at once, rather than
+migrating each file individually. Note that the rebalance operation,
+specified by the \fB-b\fR option, also performs data placement on all
+files, whereas the placement option, specified by \fB-p\fR, rebalances only
+the files that it moves.
+.RE
+.PP
+.RS +3
+\fB-r
+\fR
+.RE
+.RS +9
+Migrates all data off suspended disks. It also restores all
+replicated files in the file system to their designated degree of replication
+when a previous disk failure or removal of a disk has made some replica data
+inaccessible. Use this parameter either immediately after a disk
+failure to protect replicated data against a subsequent failure, or before
+taking a disk offline for maintenance to protect replicated data against
+failure of another disk during the maintenance process.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmrestripefile\fR
+command.
+.PP
+You may issue the \fBmmrestripefile\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+This example illustrates restriping a file named \fBtestfile0\fR.
+This command confirms that \fBtestfile0\fR is illplaced.
+.sp
+.nf
+mmlsattr -L testfile0
+.fi
+.sp
+.PP
+The system displays output similar to:
+.sp
+.nf
+file name:            testfile0
+metadata replication: 1 max 2
+data replication:     1 max 2
+flags:                illplaced
+storage pool name:    sp5
+fileset name:         root
+snapshot name:
+.fi
+.sp
+.PP
+To correct the problem, issue this command:
+.sp
+.nf
+mmrestripefile -p testfile0
+.fi
+.sp
+.PP
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsattr -L testfile0
+.fi
+.sp
+.PP
+The system displays output similar to:
+.sp
+.nf
+file name:            testfile0
+metadata replication: 1 max 2
+data replication:     1 max 2
+flags:
+storage pool name:    sp5
+fileset name:         root
+snapshot name:
+.fi
+.sp
+.SH "See also"
+.PP
+mmadddisk Command
+.PP
+mmapplypolicy Command
+.PP
+mmchattr Command
+.PP
+mmchdisk Command
+.PP
+mmdeldisk Command
+.PP
+mmrpldisk Command
+.PP
+mmrestripefs Command
+.PP
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmrestripefs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmrestripefs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmrestripefs.8	(revision 16)
@@ -0,0 +1,328 @@
+.TH mmrestripefs 02/16/06
+mmrestripefs Command
+.SH "Name"
+.PP
+\fBmmrestripefs\fR - Rebalances or restores the replication factor of all
+files in a file system.
+.SH "Synopsis"
+.PP
+\fBmmrestripefs\fR \fIDevice\fR {\fB-m\fR | \fB-r\fR |
+\fB-b\fR | \fB-p\fR} [\fB-N\fR
+{\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}] [\fB-P\fR \fIPoolName\fR]
+.SH "Description"
+.PP
+Use the \fBmmrestripefs\fR command to rebalance or restore the
+replication factor of all files in a file system. The
+\fBmmrestripefs\fR command moves existing file system data between
+different disks in the file system based on changes to the disk state made by
+the
+\fBmmchdisk\fR, \fBmmadddisk\fR, and \fBmmdeldisk\fR commands.
+.PP
+The \fBmmrestripefs\fR command attempts to restore the metadata or data
+replication factor of any file in the file system.
+.PP
+You must specify one of the four options (\fB-b\fR, \fB-m\fR,
+\fB-r\fR, or \fB-p\fR) to indicate how much file system data to
+move. You can issue this command against a mounted or unmounted file
+system.
+.PP
+If you do not use replication, the \fB-m\fR and \fB-r\fR options are
+equivalent. Their behavior differs only on replicated files.
+After a successful replicate (\fB-r\fR option), all suspended disks are
+empty. A migrate operation, using the \fB-m\fR option, leaves data
+on a suspended disk as long as at least one other replica of the data remains
+on a disk that is not suspended. Restriping a file system includes
+replicating it. The \fB-b\fR option performs all the operations of
+the \fB-m\fR and \fB-r\fR options.
+.PP
+Consider the necessity of restriping and the current demands on the
+system. New data that is added to the file system is correctly
+striped. Restriping a large file system requires a large number of
+insert and delete operations and may affect system performance. Plan to
+perform this task when system demand is low.
+.PP
+When using SANergy, consider these points:
+.RS +3
+.HP 3
+\(bu If the \fBmmrestripefs\fR command is issued on a file that is locked by
+SANergy, the command waits until it is unlocked before proceeding.
+.HP 3
+\(bu I/O operations from SANergy clients must terminate before using the
+\fBmmrestripefs\fR command. If not, the client applications receive
+an error.
+.RE
+.PP
+\fBDetermining how long mmrestripefs takes to complete\fR
+.PP
+To determine how long the \fBmmrestripefs\fR command will take to complete,
+consider these points:
+.RS +3
+.HP 3
+1. How much data is to be moved by issuing the \fBdf -k\fR command.
+.HP 3
+2. How many GPFS client nodes there are to do the work.
+.HP 3
+3. How much virtual shared disk server or Network Shared Disk (NSD)
+server bandwidth is available for I/O.
+.HP 3
+4. If you have added new disks to a file system, after the disks have been
+added determine how much free space is on each of the new disks by issuing the
+\fBmmdf\fR \fIDevice\fR \fB- q\fR
+command.
+.RE
+.PP
+The restriping of a file system is done by having one thread on each node in
+the cluster work on a subset of files. Consequently, the more GPFS
+client nodes performing work for the restripe, the faster the
+\fBmmrestripefs\fR command will complete. The nodes that should
+participate in the restripe are specified on the command using the \fB-N\fR
+parameter. Based on raw I/O rates, you should be able to estimate the
+length of time for the restripe. However, to account for the overhead
+of scanning all metadata, that value should be doubled.
+.PP
+Assuming that you have enough nodes to saturate the disk servers, and have
+to move all of the data, the time to read and write every block of data is
+roughly:
+.sp
+.nf
+  2 * fileSystemSize / averageDiskserverDataRate
+.fi
+.sp
+.PP
+As an upper bound, due to overhead of scanning all of the metadata, this
+time should be doubled. If other jobs are heavily loading the virtual
+shared disk servers, this time may increase even more.
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+There is no particular reason to stop all other jobs while the
+\fBmmrestripefs\fR command is running. The CPU load of the command
+is minimal on each node and only the files that are being restriped at any
+moment are locked to maintain data integrity.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to be restriped. File system
+names need not be fully-qualified. \fBfs0\fR is as acceptable as
+\fB/dev/fs0\fR. 
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Specify the nodes that participate in the restripe of the file
+system. This command supports all defined node classes. The
+default is \fBall\fR (all nodes in the GPFS cluster will participate in the
+restripe of the file system).
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-b
+\fR
+.RE
+.RS +9
+Rebalances all files across all disks that are not suspended, even if they
+are stopped. Although blocks are allocated on a stopped disk, they are
+not written to a stopped disk, nor are reads allowed from a stopped disk,
+until that disk is started and replicated data is copied onto it. The
+\fBmmrestripefs\fR command rebalances and restripes the file system.
+Use this option to rebalance the file system after adding, changing, or
+deleting disks in a file system.
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+Rebalancing of files is an I/O intensive and time consuming operation, and is
+important only for file systems with large files that are mostly
+invariant. In many cases, normal file update and creation will
+rebalance your file system over time, without the cost of the
+rebalancing.
+.RE
+.RE
+.PP
+.RS +3
+\fB-m
+\fR
+.RE
+.RS +9
+Migrates all critical data off any suspended disk in this file
+system. Critical data is all data that would be lost if currently
+suspended disks were removed.
+.RE
+.PP
+.RS +3
+\fB-P \fIPoolName\fR
+\fR
+.RE
+.RS +9
+Directs \fBmmrestripefs\fR to repair only files assigned to the
+specified storage pool.
+.RE
+.PP
+.RS +3
+\fB-p
+\fR
+.RE
+.RS +9
+Directs \fBmmrestripefs\fR to repair the file placement within the
+storage pool.
+.PP
+Files assigned to one storage pool, but with data in a different pool, will
+have their data migrated to the correct pool. Such files are referred
+to as ill-placed. Utilities, such as the \fBmmchattr\fR command, may change a file's storage
+pool assignment, but not move the data. The \fBmmrestripefs\fR
+command may then be invoked to migrate all of the data at once, rather than
+migrating each file individually. Note that the rebalance operation,
+specified by the \fB-b\fR option, also performs data placement on all
+files, whereas the placement option, specified by \fB-p\fR, rebalances only
+the files that it moves.
+.RE
+.PP
+.RS +3
+\fB-r
+\fR
+.RE
+.RS +9
+Migrates all data off suspended disks. It also restores all
+replicated files in the file system to their designated degree of replication
+when a previous disk failure or removal of a disk has made some replica data
+inaccessible. Use this parameter either immediately after a disk
+failure to protect replicated data against a subsequent failure, or before
+taking a disk offline for maintenance to protect replicated data against
+failure of another disk during the maintenance process.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmrestripefs\fR
+command.
+.PP
+You may issue the \fBmmrestripefs\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. To move all critical data from any suspended disk in file system
+\fBfs0\fR, issue this command:
+.sp
+.nf
+mmrestripefs fs0 -m
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Scanning file system metadata, phase 1 ...
+Scan completed successfully.
+Scanning file system metadata, phase 2 ...
+Scan completed successfully.
+Scanning file system metadata, phase 3 ...
+Scan completed successfully.
+Scanning file system metadata, phase 4 ...
+Scan completed successfully.
+Scanning user file metadata ...
+6 % complete on Fri Feb 10 15:45:07 2006
+45 % complete on Fri Feb 10 15:48:03 2006
+78 % complete on Fri Feb 10 15:49:28 2006
+85 % complete on Fri Feb 10 15:49:53 2006
+100 % complete on Fri Feb 10 15:53:21 2006
+Scan completed successfully.
+.fi
+.sp
+.HP 3
+2. To rebalance all files in file system \fBfs1\fR across all defined,
+accessible disks that are not stopped or suspended, issue this command:
+.sp
+.nf
+mmrestripefs fs1 -b
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+GPFS: 6027-589 Scanning file system metadata, phase 1 ...\ 
+  48 % complete on Wed Aug 16 16:47:53 2000
+  96 % complete on Wed Aug 16 16:47:56 2000
+ 100 % complete on Wed Aug 16 16:47:56 2000
+GPFS: 6027-552 Scan completed successfully.
+GPFS: 6027-589 Scanning file system metadata, phase 2 ...\ 
+GPFS: 6027-552 Scan completed successfully.
+GPFS: 6027-589 Scanning file system metadata, phase 3 ...\ 
+  98 % complete on Wed Aug 16 16:48:02 2000
+ 100 % complete on Wed Aug 16 16:48:02 2000
+GPFS: 6027-552 Scan completed successfully.
+GPFS: 6027-565 Scanning user file metadata ...
+GPFS: 6027-552 Scan completed successfully.
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+.PP
+mmadddisk Command
+.PP
+mmapplypolicy Command
+.PP
+mmchattr Command
+.PP
+mmchdisk Command
+.PP
+mmdeldisk Command
+.PP
+mmrpldisk Command
+.PP
+mmrestripefile Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmrpldisk.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmrpldisk.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmrpldisk.8	(revision 16)
@@ -0,0 +1,339 @@
+.TH mmrpldisk 02/16/06
+mmrpldisk Command
+.SH "Name"
+.PP
+\fBmmrpldisk\fR - Replaces the specified disk.
+.SH "Synopsis"
+.PP
+\fBmmrpldisk\fR \fIDevice DiskName\fR {\fIDiskDesc\fR |
+\fB-F\fR \fIDescFile\fR} [\fB-v\fR \fB\fIyes\fR\fR |
+\fBno\fR] [\fB-N\fR
+{\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}]
+.SH "Description"
+.PP
+Use the \fBmmrpldisk\fR command to replace an existing disk in the GPFS
+file system with a new one. All data on the old disk is migrated to the
+new one.
+.PP
+To replace disks in a GPFS file system, you must first decide if you
+will:
+.RS +3
+.HP 3
+1. 
+Create new disks using the
+\fBmmcrnsd\fR
+command. 
+.sp
+Use the rewritten disk descriptor file produced by the \fBmmcrnsd\fR command or create a new disk
+descriptor. When using the rewritten file, the \fIDisk Usage\fR and
+\fIFailure Group\fR specifications remain the same as specified on the \fBmmcrnsd\fR command.
+.HP 3
+2. Select disks no longer in use in any file system. Issue the \fBmmlsnsd -F\fR command to display the available
+disks.
+.RE
+.PP
+The disk may then be used to replace a disk in the file system using the \fBmmrpldisk\fR command.
+.PP
+\fBNotes: \fR
+.RS +3
+.sp
+.HP 3
+1. You cannot replace a disk when it is the only remaining disk in the file
+system.
+.sp
+.HP 3
+2. Under no circumstances should you replace a stopped disk. You need
+to start a stopped disk before replacing it. If a disk cannot be
+started, you must delete it using the
+\fBmmdeldisk\fR
+command. See the
+\fIGeneral Parallel File
+System: Problem Determination Guide\fR and search for \fIDisk
+media failure\fR.
+.sp
+.HP 3
+3. The file system need not be unmounted before the \fBmmrpldisk\fR
+command can be run.
+.sp
+.HP 3
+4. 
+I/O operations from SANergy clients must terminate before using the
+\fBmmrpldisk\fR command. If not, the client applications receive an
+error.
+.RE
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmrpldisk\fR command, the disk is
+replaced in the file system and data is copied to the new disk without
+restriping.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system where the disk is to be
+replaced. File system names need not be fully-qualified.
+\fBfs0\fR is as acceptable as \fB/dev/fs0\fR. 
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB\fIDisk Name\fR
+\fR
+.RE
+.RS +9
+The name of the disk to be replaced, which was previously passed to the \fBmmcrfs\fR,
+\fBmmadddisk\fR,
+or \fBmmrpldisk\fR commands. You can display the entire list of disk
+names by issuing the
+\fBmmlsdisk\fR command.
+.RE
+.PP
+.RS +3
+\fB\fIDiskDesc\fR
+\fR
+.RE
+.RS +9
+A descriptor for the replacement disk.
+.RE
+.PP
+.RS +3
+\fB-F \fIDescFile\fR
+\fR
+.RE
+.RS +9
+Specifies a file containing the disk descriptor for the replacement
+disk.
+.PP
+The disk descriptor must be specified in the form (second, third,
+and sixth fields reserved):
+.sp
+.nf
+DiskName:::DiskUsage:FailureGroup:::
+.fi
+.sp
+.PP
+.RS +3
+\fB\fIDiskName\fR
+\fR
+.RE
+.RS +9
+.PP
+You must specify the name of the NSD previously created by the \fBmmcrnsd\fR command. For a list of available
+disks, issue the
+\fBmmlsnsd -F\fR command.
+.RE
+.PP
+.RS +3
+\fB\fIDisk Usage\fR
+\fR
+.RE
+.RS +9
+Specify a disk usage or inherit the disk usage of the disk being
+replaced: 
+.PP
+.RS +3
+\fBdataAndMetadata
+\fR
+.RE
+.RS +9
+Indicates that the disk contains both data and metadata. This is
+the default.
+.RE
+.PP
+.RS +3
+\fBdataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains data and does not contain
+metadata.
+.RE
+.PP
+.RS +3
+\fBmetadataOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains metadata and does not contain
+data.
+.RE
+.PP
+.RS +3
+\fBdescOnly
+\fR
+.RE
+.RS +9
+Indicates that the disk contains no data and no file metadata. Such
+a disk is used solely to keep a copy of the file system descriptor, and can be
+used as a third failure group in certain disaster recovery
+configurations. For more information, see
+\fIGeneral Parallel File System: Advanced
+Administration\fR and search on \fISynchronous mirroring utilizing
+GPFS replication\fR.
+.RE
+.RE
+.PP
+.RS +3
+\fB\fIFailure Group\fR
+\fR
+.RE
+.RS +9
+A number identifying the failure group to which this disk belongs.
+You can specify any value from -1 (where -1 indicates that the disk has no
+point of failure in common with any other disk) to 4000. If you do not
+specify a failure group, the new disk inherits the failure group of the disk
+being replaced.
+.RE
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+While it is not absolutely necessary to specify the same disk descriptor
+parameters for the new disk as the old disk, it is suggested you do so.
+If the new disk is equivalent in size as the old disk, and if the
+\fIDiskUsage\fR and \fIFailureGroup\fR parameters are the same, the data
+and metadata can be completely migrated from the old disk to the new
+disk. A disk replacement in this manner allows the file system to
+maintain its current data and metadata balance.
+.PP
+If the new disk has a different size, \fIDiskUsage\fR parameter, or
+\fIFailureGroup\fR parameter, the operation may leave the file system
+unbalanced and require a restripe. Additionally, a change in size or
+the \fIDiskUsage\fR parameter may cause the operation to fail since other
+disks in the file system may not have sufficient space to absorb more data or
+metadata. In this case you must first use the \fBmmadddisk\fR command to add the new disk, the \fBmmdeldisk\fR command to delete the old disk, and
+finally the
+\fBmmrestripefs\fR command to rebalance
+the file system.
+.RE
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Specify the nodes that participate in the migration of data from the old
+to the new disk. This command supports all defined node classes.
+The default is \fBall\fR (all nodes in the GPFS cluster will participate in
+the restripe of the file system).
+.PP
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-v {\fB\fIyes\fR\fR | no}
+\fR
+.RE
+.RS +9
+Verify that specified disks do not belong to an existing file
+system. The default is \fB-v yes\fR. Specify \fB-v no\fR
+only when you want to reuse disks that are no longer needed for an existing
+file system. If the command is interrupted for any reason, you must use
+the \fB-v no\fR option on the next invocation of the command.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmrpldisk\fR command.
+.PP
+You may issue the \fBmmrpldisk\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To replace disk \fBgpfs10nsd\fR in \fBfs3\fR with a new disk,
+\fBgpfs12nsd\fR allowing the disk usage and failure group parameters to
+default to the corresponding values of \fBgpfs10nsd\fR, and have only nodes
+\fBk145n01, k145n03, and k145n05\fR participate in the migration of the
+data, issue this command:
+.sp
+.nf
+mmrpldisk fs3 gpfs10nsd gpfs12nsd -N k145n01,k145n03,k145n05
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+Replacing  ...
+GPFS: 6027-531 The following disks of fs3 will be formatted on\ 
+node k145n03  gpfs12nsd: size 4390912 KB
+Extending Allocation Map
+GPFS: 6027-1503 Completed adding disks to file system fs3.
+GPFS: 6027-589 Scanning file system metadata, phase 1 ...\ 
+  77 % complete on Wed Jul 12 17:33:58 2000
+ 100 % complete on Wed Jul 12 17:33:59 2000
+GPFS: 6027-552 Scan completed successfully.
+GPFS: 6027-589 Scanning file system metadata, phase 2 ...\ 
+GPFS: 6027-552 Scan completed successfully.
+GPFS: 6027-589 Scanning file system metadata, phase 3 ...\ 
+GPFS: 6027-552 Scan completed successfully.
+GPFS: 6027-565 Scanning user file metadata ...
+   1 % complete on Wed Jul 12 17:34:12 2000
+ 100 % complete on Wed Jul 12 17:34:15 2000
+GPFS: 6027-552 Scan completed successfully.
+Done
+mmrpldisk: 6027-1371 Propagating the changes to all affected
+                     nodes. This is an asynchronous process.
+.fi
+.sp
+.SH "See also"
+.PP
+mmadddisk Command
+.PP
+mmchdisk Command
+.PP
+mmcrnsd Command
+.PP
+mmlsdisk Command
+.PP
+mmlsnsd Command
+.PP
+mmrestripefs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmsanrepairfs.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmsanrepairfs.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmsanrepairfs.8	(revision 16)
@@ -0,0 +1,141 @@
+.TH mmsanrepairfs 02/16/06
+mmsanrepairfs Command
+.SH "Name"
+.PP
+\fBmmsanrepairfs\fR - Repair a file system under the control of
+SANergy.
+.SH "Synopsis"
+.PP
+\fBmmsanrepairfs\fR \fIDevice\fR [\fB-n\fR |
+\fB-f\fR]
+.SH "Description"
+.PP
+Use the \fBmmsanrepairfs\fR command to remove leftover hyper-allocated
+blocks caused by SANergy client failure or SANergy protocol application
+failure. This command can be run on a mounted or unmounted file
+system.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system. File system names need not be
+fully-qualified. \fBfs0\fR is as acceptable as
+\fB/dev/fs0\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB\fB-f\fR
+\fR
+.RE
+.RS +9
+Specifies to force unlock SANergy locked files after an existing SANergy
+lease has expired for those files.
+.RE
+.PP
+.RS +3
+\fB\fB-n\fR
+\fR
+.RE
+.RS +9
+Specifies to query the current SANergy hyper-allocated blocks state on the
+file system. Does not perform the actual removal of the data
+blocks.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmsanrepairfs\fR
+command.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on the
+\fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. Issue this command to remove the hyper-allocated blocks from the file
+system named \fBgpfsfc\fR:
+.sp
+.nf
+mmsanrepairfs gpfsfc\ 
+.fi
+.sp
+Output is similar to:
+.sp
+.nf
+"gpfsfc" number of disks: 6, number of inodes: 25920,
+      blockSize 16384
+Warning: "gpfsfc" is mounted on 1 node(s) and in use on 2 nodes
+Scanning user file metadata...
+  Repairing hyper allocated inode 21888...repaired
+  Repairing hyper allocated inode 21891...repaired
+  Repairing hyper allocated inode 21893...repaired
+  Repairing hyper allocated inode 21897...repaired
+  Repairing hyper allocated inode 21900...repaired
+  Total number of sanergy hyper allocated files 35,
+     inconsistent 0, repaired 35
+.fi
+.sp
+.HP 3
+2. Issue this command to unlock SANergy-locked files in the file system named
+\fBgpfsfc\fR:
+.sp
+.nf
+mmsanrepairfs gpfsfc -f
+.fi
+.sp
+Output is similar to:
+.sp
+.nf
+"gpfsfc" number of disks: 6, number of inodes: 25920,
+         blockSize 16384
+Warning: "gpfsfc" is mounted on 1 node(s) and in use on 2 nodes
+Scanning user file metadata...
+  18432: sanergy unlocked
+    71 % complete on Thu Jul 10 16:52:01 2003
+Total number of sanergy hyper allocated files 0, inconsistent 0,\ 
+           repaired 0
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+\fISANergy export considerations\fR in
+\fIGeneral Parallel File System: Advanced
+Administration Guide\fR.
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmshutdown.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmshutdown.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmshutdown.8	(revision 16)
@@ -0,0 +1,176 @@
+.TH mmshutdown 02/16/06
+mmshutdown Command
+.SH "Name"
+.PP
+\fBmmshutdown\fR - Unmounts all GPFS file systems and stops GPFS on
+one or more nodes.
+.SH "Synopsis"
+.PP
+\fBmmshutdown\fR [\fB-t\fR \fIUnmountTimeout\fR ]
+[\fB-a\fR | \fB-N\fR
+{\fINode\fR[,\fINode\fR...] | \fINodeFile\fR |
+\fINodeClass\fR}]
+.SH "Description"
+.PP
+Use the \fBmmshutdown\fR command to stop the GPFS daemons on one or more
+nodes. If no operand is specified, GPFS is stopped only on the node
+from which the command was issued.
+.PP
+The \fBmmshutdown\fR command first attempts to unmount all GPFS file
+systems. If the unmount does not complete within the specified
+\fItimeout\fR period, the GPFS daemons shut down anyway.
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmshutdown\fR command, these tasks
+are completed: 
+.RS +3
+.HP 3
+\(bu GPFS file systems are unmounted.
+.HP 3
+\(bu GPFS daemons are stopped.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fB-a\fR
+\fR
+.RE
+.RS +9
+Stop GPFS on all nodes in a GPFS cluster.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Directs the \fBmmshutdown\fR command to process a set of nodes.
+For information on how to specify node names, see \fISpecifying nodes as input to GPFS commands\fR
+in \fIGPFS: Administration and Programming Reference\fR.
+.PP
+This command does not support a \fINodeClass\fR of
+\fBmount\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-t \fIUnmountTimeout\fR
+\fR
+.RE
+.RS +9
+The maximum amount of time, in seconds, that the unmount command is given
+to complete. The default timeout period is equal to: 
+.PP
+\fB60 + 3 * \fInumber of nodes\fR\fR
+.PP
+If the unmount does not complete within the specified amount of time, the
+command times out and the GPFS daemons shut down.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmshutdown\fR command.
+.PP
+You may issue the \fBmmshutdown\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. To \fBstop\fR GPFS on all nodes in the GPFS cluster, issue this
+command:
+.sp
+.nf
+mmshutdown -a
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+Thu Aug 12 13:10:40 EDT 2004: 6027-1341 mmshutdown: Starting
+force unmount of GPFS file systems.
+k164n05.kgn.com:  forced unmount of /fs1
+k164n04.kgn.ibm.com:  forced unmount of /fs1
+k164n06.kgn.ibm.com:  forced unmount of /fs1
+Thu Aug 12 13:10:45 EDT 2004: 6027-1344 mmshutdown: Shutting 
+down GPFS daemons
+k164n04.kgn.ibm.com:  Shutting down!
+k164n06.kgn.ibm.com:  Shutting down!
+k164n05.kgn.ibm.com:  Shutting down!
+k164n04.kgn.ibm.com:  'shutdown' command about to kill process
+49682
+k164n05.kgn.ibm.com:  'shutdown' command about to kill process
+28194
+k164n06.kgn.ibm.com:  'shutdown' command about to kill process
+\ 
+Thu Aug 12 13:10:54 EDT 2004: 6027-1345 mmshutdown: Finished
+.fi
+.sp
+.HP 3
+2. To stop GPFS on only node \fBk164n04\fR, issue this command:
+.sp
+.nf
+mmshutdown -N k164n04
+.fi
+.sp
+The system displays information similar to:
+.sp
+.nf
+mmshutdown -N k164n04
+Thu Aug 12 13:12:06 EDT 2004: 6027-1341 mmshutdown: Starting
+force unmount of GPFS file systems
+k164n04:  forced unmount of /fs1
+Thu Aug 12 13:12:11 EDT 2004: 6027-1344 mmshutdown: Shutting
+down GPFS daemons
+k164n04:  Shutting down!
+k164n04:  'shutdown' command about to kill process 65036
+Thu Aug 12 13:12:20 EDT 2004: 6027-1345 mmshutdown: Finished
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmgetstate Command
+.PP
+mmlscluster Command
+.PP
+mmstartup Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
+.PP
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmsnapdir.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmsnapdir.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmsnapdir.8	(revision 16)
@@ -0,0 +1,232 @@
+.TH mmsnapdir 12/04/06
+mmsnapdir Command
+.SH "Name"
+.PP
+\fBmmsnapdir\fR - Creates and deletes invisible directories that connect to
+the snapshots of a GPFS file system, and changes the name of the snapshots
+subdirectory.
+.SH "Synopsis"
+.PP
+\fBmmsnapdir\fR \fIDevice\fR {[\fB-r\fR | \fB-a\fR]
+[\fB-s\fR \fISnapDirName\fR]}
+.PP
+Or,
+.PP
+\fBmmsnapdir\fR \fIDevice\fR [\fB-q\fR]
+.SH "Description"
+.PP
+Use the \fBmmsnapdir\fR command to create or delete invisible
+directories that connect to the snapshots of a GPFS file system, and change
+the name of the snapshots subdirectory.
+.PP
+Snapshots appear in a subdirectory in the root directory of the file
+system. If you prefer to access the snapshots from each file system
+directory rather than traversing through the root directory, you may create an
+invisible directory to make the connection by issuing the \fBmmsnapdir\fR
+command with the \fB-a\fR flag (see Example 1). The \fB-a\fR flag of the \fBmmsnapdir\fR
+command creates an invisible directory in each normal directory in the active
+file system (they do not appear in directories in snapshots) that contains a
+subdirectory for each existing snapshot of the file system. These
+subdirectories correspond to the copy of the that directory in the snapshot
+with the same name.
+.PP
+If the \fBmmsnapdir\fR command is issued while another snapshot command
+is running, the \fBmmsnapdir\fR command waits for that command to
+complete.
+.PP
+For more information about GPFS snapshots, see \fICreating and maintaining
+snapshots of GPFS file systems\fR in \fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system. File system names need not be
+fully-qualified. \fBfs0\fR is just as acceptable as
+\fB/dev/fs0\fR.
+.PP
+This must be the first parameter.
+.RE
+.SH "Options"
+.PP
+.PP
+.RS +3
+\fB-a 
+\fR
+.RE
+.RS +9
+Adds a snapshots subdirectory to all subdirectories in the file
+system.
+.RE
+.PP
+.RS +3
+\fB-q
+\fR
+.RE
+.RS +9
+Displays current settings, if issued without any other flags.
+.RE
+.PP
+.RS +3
+\fB-r
+\fR
+.RE
+.RS +9
+Reverses the effect of the \fB-a\fR option. All invisible
+snapshot directories are removed. The snapshot directory under the file
+system root directory is not affected.
+.RE
+.PP
+.RS +3
+\fB-s \fISnapDirName\fR
+\fR
+.RE
+.RS +9
+Changes the name of the snapshots subdirectory to
+\fISnapDirName\fR. This affects both the directory in the file
+system root as well as the invisible directory in the other file system
+directories if the \fBmmsnapdir -a\fR command has been issued.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+If you are a root user, you may issue the \fBmmsnapdir\fR command from
+any node in the GPFS cluster.
+.PP
+You must be a root user to use the \fB-a\fR, \fB-r\fR,
+and \fB-s\fR options.
+.PP
+If you are a non-root user, you may only specify file systems that
+belong to the same cluster as the node on which the \fBmmsnapdir\fR command
+was issued.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the \fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. To rename the \fB.snapshots\fR directory (the
+default snapshots directory name) to \fB.link\fR for file system
+\fBfs1\fR, issue the command: 
+.sp
+.nf
+mmsnapdir  fs1 -s .link
+.fi
+.sp
+.sp
+After the command has been issued, the directory structure would appear
+similar to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+/fs1/.link/snap1/file1
+/fs1/.link/snap1/userA/file2
+/fs1/.link/snap1/userA/file3
+.fi
+.sp
+.HP 3
+2. Issuing:
+.sp
+.nf
+mmsnapdir fs1 -a
+.fi
+.sp
+After the command has been issued, the directory structure would appear
+similar to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+/fs1/userA/.link/snap1/file2
+/fs1/userA/.link/snap1/file3
+/fs1/.link/snap1/file1
+/fs1/.link/snap1/userA/file2
+/fs1/.link/snap1/userA/file3
+.fi
+.sp
+.sp
+The \fB.link\fR subdirectory under the root directory and under
+each subdirectory of the tree provides two different paths to each snapshot
+copy of a file. For example,
+\fB/fs1/userA/.link/snap1/file2\fR and
+\fB/fs1/.link/snap1/userA/file2\fR are two different paths that
+access the same snapshot copy of \fB/fs1/userA/file2\fR.
+.HP 3
+3. Issuing:
+.sp
+.nf
+mmsnapdir fs1 -r
+.fi
+.sp
+After the command has been issued, the directory structure would appear
+similar to:
+.sp
+.nf
+/fs1/file1
+/fs1/userA/file2
+/fs1/userA/file3
+/fs1/.link/snap1/file1
+/fs1/.link/snap1/userA/file2
+/fs1/.link/snap1/userA/file3
+.fi
+.sp
+.HP 3
+4. Issuing:
+.sp
+.nf
+mmsnapdir fs1 -q
+.fi
+.sp
+The output is similar to this:
+.sp
+.nf
+Snapshot directory for "fs1" is ".link" (root directory only)
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmcrsnapshot Command
+.PP
+mmdelsnapshot Command
+.PP
+mmlssnapshot Command
+.PP
+mmrestorefs Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmstartup.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmstartup.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmstartup.8	(revision 16)
@@ -0,0 +1,135 @@
+.TH mmstartup 12/04/06
+mmstartup Command
+.SH "Name"
+.PP
+\fBmmstartup\fR - Starts the GPFS subsystem on one or more
+nodes.
+.SH "Synopsis"
+.PP
+\fBmmstartup\fR [\fB-a\fR | \fB-N\fR
+{\fINode\fR[,\fINode\fR...] | \fINodeFile\fR |
+\fINodeClass\fR}] [\fB-E\fR \fIEnvVar\fR=\fIvalue\fR
+\&.\&.\&.]
+.SH "Description"
+.PP
+Use the \fBmmstartup\fR command to start the GPFS daemons on one or more
+nodes. If no operand is specified, GPFS is started only on the node
+from which the command was issued.
+.PP
+\fBResults\fR
+.PP
+Upon successful completion of the \fBmmstartup\fR command, the GPFS
+subsystem is started on the specified nodes. 
+.RS +3
+\fBNote:\fR
+.RE
+.RS +9
+The actual start of the GPFS daemons on the nodes also depends on:
+.RS +3
+.HP 3
+\(bu The availability of all required software for your environment
+.HP 3
+\(bu The availability of required hardware for your environment
+.HP 3
+\(bu Quorum requirements
+.RE
+.PP
+For the actual requirements for your operating environment, see the
+\fIGeneral Parallel File System: Concepts, Planning, and Installation
+Guide\fR and search for \fIinstalling GPFS\fR.
+.RE
+.SH "Parameters"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Start GPFS on all nodes in a GPFS cluster.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Directs the \fBmmstartup\fR command to process a set of nodes. 
+.PP
+This command does not support a \fINodeClass\fR of
+\fBmount\fR.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB\fB-E\fR \fIEnvVar\fR=\fIvalue\fR
+\fR
+.RE
+.RS +9
+Specifies the name and value for an environment variable to be passed to
+the GPFS daemon. You can specify multiple \fB-E\fR
+options.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmstartup\fR command.
+.PP
+You may issue the \fBmmstartup\fR command from any node in the GPFS
+cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the \fBmmcrcluster\fR or the
+\fBmmchcluster\fR command, you must ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.PP
+To start GPFS on all nodes in the GPFS cluster, issue this command:
+.sp
+.nf
+mmstartup -a
+.fi
+.sp
+.PP
+The system displays information similar to:
+.sp
+.nf
+Thu Aug 12 13:22:40 EDT 2004: 6027-1642 mmstartup: Starting GPFS ...
+.fi
+.sp
+.SH "See also"
+.PP
+mmgetstate Command
+.PP
+mmlscluster Command
+.PP
+mmshutdown Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmumount.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmumount.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmumount.8	(revision 16)
@@ -0,0 +1,213 @@
+.TH mmumount 12/04/06
+mmumount Command
+.SH "Name"
+.PP
+\fBmmumount\fR - Unmounts GPFS file systems on one or more nodes in
+the cluster.
+.SH "Synopsis"
+.PP
+\fBmmumount\fR \fB{\fR\fIDevice\fR\fB |
+\fR\fIMountPoint\fR\fB | all | all_local | all_remote}\fR \fB[-f
+]\fR \fB[-a | -N
+\fR\fB{\fR\fINode\fR\fB[,\fR\fINode\fR\fB...]
+| \fR\fINodeFile\fR\fB | \fR\fINodeClass\fR\fB}]\fR
+.PP
+Or,
+.PP
+\fBmmumount \fR\fIDevice\fR\fB -f -C {all_remote |
+\fR\fIClusterName\fR\fB} [-N
+\fR\fINode\fR\fB[,\fR\fINode\fR\fB...]]\fR
+.SH "Description"
+.PP
+Another name for the \fBmmumount\fR command is the \fBmmunmount\fR
+command. Either name can be used.
+.PP
+The \fBmmumount\fR command unmounts a previously mounted GPFS file
+system on one or more nodes in the cluster. If no nodes are specified,
+the file systems are unmounted only on the node from which the command was
+issued. The file system can be specified using its device name or the
+mount point where it is currently mounted.
+.PP
+The first form of the command should be used to unmount file systems on
+nodes that belong to the local cluster.
+.PP
+The second form of the command (-C option) should be used when it is
+necessary to internally force unmount file systems that are owned by this
+cluster but are mounted on nodes that belong to another cluster.
+.PP
+When a file system is internally force unmounted with the second form of
+the \fBmmumount\fR command, the affected nodes may still show the file
+system as mounted but the data will not be accessible. It is the
+responsibility of the system administrator to clear the mount state by issuing
+the \fBumount\fR command.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR | all | all_local | all_remote
+\fR
+.RE
+.RS +9
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system to be unmounted. File system
+names do not need to be fully-qualified. \fBfs0\fR is just as
+acceptable as \fB/dev/fs0\fR.
+.RE
+.PP
+.RS +3
+\fBall
+\fR
+.RE
+.RS +9
+Indicates all file systems known to this cluster
+.RE
+.PP
+.RS +3
+\fBall_local
+\fR
+.RE
+.RS +9
+Indicates all file systems owned by this cluster
+.RE
+.PP
+.RS +3
+\fBall_remote
+\fR
+.RE
+.RS +9
+Indicates all files systems owned by another cluster to which this cluster
+has access
+.RE
+.PP
+This must be the first parameter.
+.RE
+.PP
+.RS +3
+\fB\fIMountPoint\fR
+\fR
+.RE
+.RS +9
+The location where the GPFS file system to be unmounted is currently
+mounted.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-a
+\fR
+.RE
+.RS +9
+Unmount the file system on all nodes in the GPFS cluster.
+.RE
+.PP
+.RS +3
+\fB-f
+\fR
+.RE
+.RS +9
+Forces the unmount to take place even though the file system may be still
+in use.
+.PP
+Use this flag with \fIextreme caution\fR. Using this flag may
+cause outstanding write operations to be lost. Because of this, forcing
+an unmount can cause data integrity failures and should be used with
+caution.
+.RE
+.PP
+.RS +3
+\fB-C {all_remote | \fIClusterName\fR}
+\fR
+.RE
+.RS +9
+Specifies the cluster on which the file system is to be
+force-unmounted. all_remote denotes all clusters other than the one
+from which the command was issued.
+.RE
+.PP
+.RS +3
+\fB-N {\fINode\fR[,\fINode\fR...] |
+\fINodeFile\fR | \fINodeClass\fR}
+\fR
+.RE
+.RS +9
+Specifies the nodes on which the file system is to be unmounted.
+.PP
+This command does not support a \fINodeClass\fR of
+\fBmount\fR.
+.PP
+When the \fB-N\fR parameter is specified in conjunction with
+\fB-C\fR \fIClusterName\fR, the specified node names are assumed
+to refer to nodes that belong to the specified remote cluster (as identified
+by the \fBmmlsmount\fR command). The \fBmmumount\fR command
+cannot verify the accuracy of this information. \fINodeClass\fR and
+\fINodeFile\fR are not supported in conjunction with the \fB-C\fR
+option.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmumount\fR command.
+.PP
+You may issue the \fBmmumount\fR command from any node in the GPFS
+cluster.
+.SH "Examples"
+.RS +3
+.HP 3
+1. To unmount file system \fBfs1\fR on all nodes in the cluster, issue
+this command: 
+.sp
+.nf
+mmumount fs1 -a
+.fi
+.sp
+The system displays output similar to: 
+.sp
+.nf
+Fri Feb 10 15:51:25 EST 2006: mmumount: Unmounting file systems ...
+.fi
+.sp
+.HP 3
+2. To force unmount file system \fBfs2\fR on the local node, issue this
+command: 
+.sp
+.nf
+mmumount fs2 -f
+.fi
+.sp
+The system displays output similar to:
+.sp
+.nf
+Fri Feb 10 15:52:20 EST 2006: mmumount: Unmounting file systems ...
+forced unmount of /fs2
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmmount Command
+.PP
+mmlsmount Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
Index: /gpfs_3.1_ker2.6.20/share/man/man8/mmunlinkfileset.8
===================================================================
--- /gpfs_3.1_ker2.6.20/share/man/man8/mmunlinkfileset.8	(revision 16)
+++ /gpfs_3.1_ker2.6.20/share/man/man8/mmunlinkfileset.8	(revision 16)
@@ -0,0 +1,230 @@
+.TH mmunlinkfileset 04/06/06
+mmunlinkfileset Command
+.SH "Name"
+.PP
+\fBmmunlinkfileset\fR - Removes the junction to the a GPFS
+fileset.
+.SH "Synopsis"
+.PP
+\fBmmunlinkfileset\fR \fIDevice\fR {\fIFilesetName\fR |
+\fB-J\fR \fIJunctionPath\fR} \fB[-f]\fR
+.SH "Description"
+.PP
+The \fBmmunlinkfileset\fR command removes the junction to the
+fileset. The junction can be specified by path or by naming the fileset
+that is its target. The unlink fails if there are files open in the
+fileset, unless the \fB-f \fR flag is specified. The root fileset
+may not be unlinked.
+.PP
+\fBAttention:\fR If you are using the TSM Backup Archive client you
+must use caution when you unlink filesets that contain data backed up by
+TSM. TSM tracks files by pathname and does not track filesets.
+As a result, when you unlink a fileset, it appears to TSM that you deleted the
+contents of the fileset. Therefore, the TSM Backup Archive client
+inactivates the data on the TSM server which may result in the loss of backup
+data during the expiration process.
+.PP
+For information on GPFS filesets, see the chapter
+\fIPolicy-based data management for
+GPFS\fR in
+\fIGeneral Parallel File
+System: Advanced Administration Guide\fR.
+.SH "Parameters"
+.PP
+.RS +3
+\fB\fIDevice\fR
+\fR
+.RE
+.RS +9
+The device name of the file system that contains the fileset.
+.PP
+File system names need not be fully-qualified. \fBfs0\fR is as
+acceptable as \fB/dev/fs0\fR.
+.RE
+.PP
+.RS +3
+\fB\fIFilesetName\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the fileset to be removed.
+.RE
+.PP
+.RS +3
+\fB-J \fIJunctionPath\fR
+\fR
+.RE
+.RS +9
+Specifies the name of the junction to be removed. 
+.PP
+A junction is a special directory entry that connects a name in a directory
+of one fileset to the root directory of another fileset.
+.RE
+.SH "Options"
+.PP
+.RS +3
+\fB-f
+\fR
+.RE
+.RS +9
+Forces the unlink to take place even though there may be open
+files. This option forcibly closes any open files, causing an
+\fBerrno\fR of \fBESTALE\fR on their next use of the file.
+.RE
+.SH "Exit status"
+.PP
+.PP
+.RS +3
+\fB0
+\fR
+.RE
+.RS +9
+Successful completion.
+.RE
+.PP
+.RS +3
+\fBnonzero
+\fR
+.RE
+.RS +9
+A failure has occurred.
+.RE
+.SH "Security"
+.PP
+You must have root authority to run the \fBmmunlinkfileset\fR
+command.
+.PP
+You may issue the \fBmmunlinkfileset\fR command from any node in the
+GPFS cluster.
+.PP
+When using the \fBrcp\fR and \fBrsh\fR commands for remote
+communication, a properly configured \fB.rhosts\fR file must exist
+in the root user's home directory on each node in the GPFS
+cluster. If you have designated the use of a different remote
+communication program on either the
+\fBmmcrcluster\fR
+or the
+\fBmmchcluster\fR command, you must
+ensure:
+.RS +3
+.HP 3
+1. Proper authorization is granted to all nodes in the GPFS cluster.
+.HP 3
+2. The nodes in the GPFS cluster can communicate without the use of a
+password, and without any extraneous messages.
+.RE
+.SH "Examples"
+.RS +3
+.HP 3
+1. This command indicates the current configuration of filesets for file
+system \fBgpfs1\fR:
+.sp
+.nf
+mmlsfileset gpfs1
+.fi
+.sp
+The system displays output similar to:
+.sp
+.nf
+Filesets in file system 'gpfs1':
+Name                     Status    Path\ 
+root                     Linked    /gpfs1\ 
+fset1                    Linked    /gpfs1/fset
+.fi
+.sp
+.sp
+This command unlinks fileset \fBfset1\fR from file system
+\fBgpfs1\fR:
+.sp
+.nf
+mmunlinkfileset gpfs1 fset1
+.fi
+.sp
+.sp
+The system displays output similar to:
+.sp
+.nf
+Fileset 'fset1' unlinked.
+.fi
+.sp
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfileset gpfs1
+.fi
+.sp
+.sp
+The system displays output similar to:
+.sp
+.nf
+Filesets in file system 'gpfs1':
+Name                     Status    Path\ 
+root                     Linked    /gpfs1\ 
+fset1                    Unlinked  --
+.fi
+.sp
+.HP 3
+2. This command indicates the current configuration of filesets for file
+system \fBgpfs1\fR:
+.sp
+.nf
+mmlsfileset gpfs1
+.fi
+.sp
+The system displays output similar to:
+.sp
+.nf
+Filesets in file system 'gpfs1':
+Name                     Status    Path\ 
+root                     Linked    /gpfs1\ 
+fset1                    Linked    /gpfs1/fset1
+.fi
+.sp
+.sp
+This command unlinks junction path \fB/gpfs1/fset1\fR from file system
+\fBgpfs1\fR:
+.sp
+.nf
+mmunlinkfileset gpfs1 -J /gpfs1/fset1
+.fi
+.sp
+.sp
+The system displays output similar to:
+.sp
+.nf
+Fileset 'fset1' unlinked.
+.fi
+.sp
+.sp
+To confirm the change, issue this command:
+.sp
+.nf
+mmlsfileset gpfs1
+.fi
+.sp
+.sp
+The system displays output similar to:
+.sp
+.nf
+Filesets in file system 'gpfs1':
+Name                     Status    Path\ 
+root                     Linked    /gpfs1\ 
+fset1                    Unlinked  --
+.fi
+.sp
+.RE
+.SH "See also"
+.PP
+mmchfileset Command
+.PP
+mmcrfileset Command
+.PP
+mmdelfileset Command
+.PP
+mmlinkfileset Command
+.PP
+mmlsfileset Command
+.SH "Location"
+.PP
+\fB/usr/lpp/mmfs/bin\fR
